@egovernments/digit-ui-module-core 2.0.0-dev-37 → 2.0.0-dev-impl-02

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","mappings":"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","sources":["webpack://@egovernments/digit-ui-module-core/webpack/universalModuleDefinition","webpack://@egovernments/digit-ui-module-core/./src/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\n// Visually hidden but exposed to assistive technology (same recipe as the common .sr-only utility)\nconst srOnlyStyle = {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: 0,\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n border: 0,\n};\n\nconst EmployeeHome = ({ modules, additionalComponent }) => {\n const { t } = useTranslation();\n return (\n <>\n <div className=\"employee-app-container digit-home-employee-app\">\n {/* Every page needs one h1 (axe page-has-heading-one); the landing page has no visible title,\n so expose one to screen readers only */}\n <h1 style={srOnlyStyle}>{t(\"CORE_COMMON_HOME\")}</h1>\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 \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst UserProfile = ({ stateCode, userType, cityDetails }) => {\n\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualUserProfile stateCode={stateCode} userType={userType} cityDetails={cityDetails} />;\n }\n \n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n \n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n usersResponse && usersResponse.user && usersResponse.user.length && setUserDetails(usersResponse.user[0]);\n }\n };\n\n React.useEffect(() => {\n const handleResize = () => setWindowWidth(window.innerWidth);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (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 &lt;\n </button>\n\n <div className=\"carousel-indicators\">\n {carouselItems.map((_, index) => (\n <button\n key={index}\n className={`indicator ${index === currentSlide ? 'active' : ''}`}\n onClick={() => goToSlide(index)}\n />\n ))}\n </div>\n\n <button className=\"carousel-nav\" onClick={nextSlide}>\n &gt;\n </button>\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default Carousel;","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_LOGIN\",\n secondaryButtonLabel: \"CORE_COMMON_FORGOT_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n key: \"username\",\n isMandatory: true,\n populators: {\n name: \"username\",\n validation: {\n required: true,\n },\n error: \"ERR_USERNAME_REQUIRED\",\n },\n },\n {\n label: \"CORE_LOGIN_PASSWORD\",\n type: \"password\",\n key: \"password\",\n isMandatory: true,\n populators: {\n name: \"password\",\n validation: {\n required: true,\n },\n error: \"ERR_PASSWORD_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n type: \"dropdown\",\n key: \"city\",\n label: \"CORE_COMMON_CITY\",\n disable: false,\n populators: {\n name: \"city\",\n optionsKey: \"name\",\n error: \"ERR_HRMS_INVALID_CITY\",\n mdmsConfig: {\n masterName: \"tenants\",\n moduleName: \"tenant\",\n localePrefix: \"TENANT_TENANTS\",\n select:\n \"(data)=>{ return Array.isArray(data['tenant'].tenants) && Digit.Utils.getUnique(data['tenant'].tenants).map(ele=>({code:ele.code,name:Digit.Utils.locale.getTransformedLocale('TENANT_TENANTS_'+ele.code)}))}\",\n },\n },\n },\n {\n key: \"check\",\n type: \"component\",\n disable: false,\n component: \"PrivacyComponent\",\n populators: {\n name: \"check\"\n },\n customProps: {\n module: \"HCM\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n {\n 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 {/* <footer> = contentinfo landmark, so the \"Powered by DIGIT\" strip no longer sits\n outside every landmark (axe region) */}\n <footer 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 </footer>\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' }}>&#8226;</span>\n )}\n {description.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' }}>{subIndex + 1}. </span>\n )}\n {t(description.text)}\n </div>\n {description?.subDescriptions && description?.subDescriptions.length > 0 && (\n <div className=\"policy-subdescription\">\n {description.subDescriptions.map((subDesc, subSubIndex) => (\n <div key={subSubIndex} className=\"policy-subdescription-points\">\n {subDesc.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' , paddingLeft: '1rem'}}>&#8226;</span>\n )}\n {subDesc.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' , paddingLeft: '1rem'}}>{subSubIndex + 1}. </span>\n )}\n {subDesc.type === null && (\n <span style={{ marginRight: '0.5rem', paddingLeft: '1rem'}}> </span>\n )}\n {t(subDesc.text)}\n </div>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n ))}\n </PopUp>\n )}\n </React.Fragment>\n );\n};\n\nexport default PrivacyComponent;\n","import 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","srOnlyStyle","position","overflow","clip","whiteSpace","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","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","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/./src/utils/idpToken.js","webpack://@egovernments/digit-ui-module-core/./src/utils/ssoTenants.js","webpack://@egovernments/digit-ui-module-core/../node_modules/css-mediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/matchmediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@egovernments/digit-ui-module-core/../node_modules/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/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(\"React\"), require(\"react-i18next\"), require(\"@tanstack/react-query\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"react/jsx-runtime\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@egovernments/digit-ui-components\", \"React\", \"react-i18next\", \"@tanstack/react-query\", \"react-redux\", \"react-router-dom\", , \"@egovernments/digit-ui-svg-components\", \"@egovernments/digit-ui-react-components\", \"redux\", \"redux-thunk\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@egovernments/digit-ui-module-core\"] = factory(require(\"@egovernments/digit-ui-components\"), require(\"React\"), require(\"react-i18next\"), require(\"@tanstack/react-query\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"react/jsx-runtime\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse\n\t\troot[\"@egovernments/digit-ui-module-core\"] = factory(root[\"@egovernments/digit-ui-components\"], root[\"React\"], root[\"react-i18next\"], root[\"@tanstack/react-query\"], root[\"react-redux\"], root[\"react-router-dom\"], root[undefined], root[\"@egovernments/digit-ui-svg-components\"], root[\"@egovernments/digit-ui-react-components\"], root[\"redux\"], root[\"redux-thunk\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__6243__, __WEBPACK_EXTERNAL_MODULE__4883__, __WEBPACK_EXTERNAL_MODULE__5953__, __WEBPACK_EXTERNAL_MODULE__4456__, __WEBPACK_EXTERNAL_MODULE__2148__, __WEBPACK_EXTERNAL_MODULE__4442__, __WEBPACK_EXTERNAL_MODULE__7122__, __WEBPACK_EXTERNAL_MODULE__338__, __WEBPACK_EXTERNAL_MODULE__5053__, __WEBPACK_EXTERNAL_MODULE__1954__, __WEBPACK_EXTERNAL_MODULE__2247__) => {\nreturn ","import React from \"react\";\n\nconst Background = ({ children }) => {\n return <div className=\"banner banner-container\">{children}</div>;\n};\n\nexport default Background;\n","import { CardText, Dropdown, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { getIdpToken } from \"../utils/idpToken\";\nimport { getSwitchableTenantIds, switchTenant } from \"../utils/ssoTenants\";\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 const [switchError, setSwitchError] = useState(null);\n\n /* SSO tenant switching, when the session came from an IdP and the subject is mapped to more\n than one deployable tenant. Everything else - citizen sidebars, password logins, single\n tenant users - keeps the original role-filter-and-reload behaviour below.\n The tenant list comes from /user/oauth/tenants (stored at login) rather than from the\n user's roles, because that endpoint is authoritative about what the subject may log in to\n whereas roles only describe the tenant currently exchanged for. */\n const currentTenantId = Digit.SessionStorage.get(\"Employee.tenantId\");\n const ssoTenantIds = getSwitchableTenantIds(currentTenantId);\n const ssoMode = Digit?.UserService?.getType?.() === \"employee\" && Boolean(getIdpToken()) && ssoTenantIds.length > 1;\n\n const handleSwitchTenant = async (city) => {\n if (!city?.value || city.value === currentTenantId) return;\n try {\n /* Navigates on success, so nothing after this runs. */\n await switchTenant(city.value);\n } catch (error) {\n console.error(\"[sso] tenant switch failed\", error);\n setSwitchError(error?.code || \"SSO_TENANT_SWITCH_FAILED\");\n if (error?.code === \"SSO_SESSION_EXPIRED\") {\n /* The ID token is gone or rejected, so there is no way to re-exchange. Let the toast\n be read, then send the user back through login. */\n setTimeout(() => Digit.UserService.logout(), 4000);\n }\n }\n };\n\n const handleChangeCity = (city) => {\n if (ssoMode) return handleSwitchTenant(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 if (ssoMode) {\n setSelectCityData(\n ssoTenantIds.map((tenantId) => ({\n label: `TENANT_TENANTS_${stringReplaceAll(tenantId, \".\", \"_\")?.toUpperCase()}`,\n value: tenantId,\n }))\n );\n return;\n }\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 {switchError && <Toast type=\"error\" label={prop?.t(switchError)} onClose={() => setSwitchError(null)} />}\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\n// Visually hidden but exposed to assistive technology (same recipe as the common .sr-only utility)\nconst srOnlyStyle = {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: 0,\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n border: 0,\n};\n\nconst EmployeeHome = ({ modules, additionalComponent }) => {\n const { t } = useTranslation();\n return (\n <>\n <div className=\"employee-app-container digit-home-employee-app\">\n {/* Every page needs one h1 (axe page-has-heading-one); the landing page has no visible title,\n so expose one to screen readers only */}\n <h1 style={srOnlyStyle}>{t(\"CORE_COMMON_HOME\")}</h1>\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\";\nimport { clearIdpToken } from \"../../utils/idpToken\";\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 /* Deployment the user logged in through, recorded at login. Must be read before\n UserService.logout(), which clears all of localStorage. */\n const getLoginSource = () => localStorage.getItem(\"login.source\") || window?.contextPath || \"\";\n\n const getSSOPostLogoutRedirectUri = (source) => `${window.location.origin}/${source}/employee`;\n\n const handleSSOLogout = async (source) => {\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(source);\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 source = getLoginSource();\n /* UserService.logout() clears localStorage and sessionStorage but not cookies, so the\n IdP token has to be dropped explicitly - on both the SSO and password paths. */\n clearIdpToken();\n const handledBySSO = await handleSSOLogout(source);\n if (!handledBySSO) {\n await Digit.UserService.logout();\n /* UserService.logout() redirects to the CURRENT contextPath. Send the user back to\n the deployment they logged in through instead - same override the SSO branch above\n already relies on. */\n window.location.replace(`/${source}/employee/user/language-selection`);//TODO check\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 \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst UserProfile = ({ stateCode, userType, cityDetails }) => {\n\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualUserProfile stateCode={stateCode} userType={userType} cityDetails={cityDetails} />;\n }\n \n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n \n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n usersResponse && usersResponse.user && usersResponse.user.length && setUserDetails(usersResponse.user[0]);\n }\n };\n\n React.useEffect(() => {\n const handleResize = () => setWindowWidth(window.innerWidth);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (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 const hasMultipleLanguages = languages?.length > 1;\n\n const handleSubmit = (event) => {\n if (isChangingLanguage) return;\n navigate(`/${window?.contextPath}/employee/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 &lt;\n </button>\n\n <div className=\"carousel-indicators\">\n {carouselItems.map((_, index) => (\n <button\n key={index}\n className={`indicator ${index === currentSlide ? 'active' : ''}`}\n onClick={() => goToSlide(index)}\n />\n ))}\n </div>\n\n <button className=\"carousel-nav\" onClick={nextSlide}>\n &gt;\n </button>\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default Carousel;","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_LOGIN\",\n secondaryButtonLabel: \"CORE_COMMON_FORGOT_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n key: \"username\",\n isMandatory: true,\n populators: {\n name: \"username\",\n validation: {\n required: true,\n },\n error: \"ERR_USERNAME_REQUIRED\",\n },\n },\n {\n label: \"CORE_LOGIN_PASSWORD\",\n type: \"password\",\n key: \"password\",\n isMandatory: true,\n populators: {\n name: \"password\",\n validation: {\n required: true,\n },\n error: \"ERR_PASSWORD_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n type: \"dropdown\",\n key: \"city\",\n label: \"CORE_COMMON_CITY\",\n disable: false,\n populators: {\n name: \"city\",\n optionsKey: \"name\",\n error: \"ERR_HRMS_INVALID_CITY\",\n mdmsConfig: {\n masterName: \"tenants\",\n moduleName: \"tenant\",\n localePrefix: \"TENANT_TENANTS\",\n select:\n \"(data)=>{ return Array.isArray(data['tenant'].tenants) && Digit.Utils.getUnique(data['tenant'].tenants).map(ele=>({code:ele.code,name:Digit.Utils.locale.getTransformedLocale('TENANT_TENANTS_'+ele.code)}))}\",\n },\n },\n },\n {\n key: \"check\",\n type: \"component\",\n disable: false,\n component: \"PrivacyComponent\",\n populators: {\n name: \"check\"\n },\n customProps: {\n module: \"HCM\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n {\n 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\";\nimport { clearIdpToken, setIdpToken } from \"../../../utils/idpToken\";\nimport { filterDeployable, isSharedLoginDeployment, lookupTenants, sortByTenantId, storeSSOTenants } from \"../../../utils/ssoTenants\";\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 /* Keep the IdP token past this exchange: the tenant lookup\n (/user/oauth/tenants) and later tenant switching both re-use it. */\n setIdpToken(idToken);\n handleSSOCallback(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 /* Remember which deployment the user logged in through (the shared/common login, or a\n tenant-specific one) so logout can return them there. This has to be captured here:\n after the cross-deployment redirect window.contextPath is the TARGET tenant, not the\n deployment the login actually happened on. */\n localStorage.setItem(\"login.source\", window?.contextPath || \"\");\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 /* Surface a terminal SSO failure. Clearing the token out of the URL stops the callback\n effect re-firing with the same id_token, and the stored token is dropped because it is\n valid but unusable here. */\n const failSSOLogin = (messageCode) => {\n clearIdpToken();\n setShowToast(messageCode);\n setTimeout(closeToast, 5000);\n try {\n window.history.replaceState({}, document.title, window.location.pathname);\n } catch (e) {\n // no-op\n }\n };\n\n /* Decide which tenantId to exchange against.\n - shared login : auto-select the first mapped tenant\n - tenant deploy : confirm the subject is mapped to THIS tenant\n Returns null when login cannot continue (a toast has already been shown). */\n const resolveTenantForLogin = async (idToken) => {\n const deploymentTenant = Digit.ULBService.getStateId();\n\n let tenants;\n try {\n tenants = await lookupTenants(idToken);\n storeSSOTenants(tenants);\n } catch (error) {\n /* The endpoint is only registered when auth.oidc.enabled=true, so a failure here must\n not block login - fall back to the pre-lookup behaviour of exchanging against this\n deployment's own tenant. */\n console.warn(\"[sso] tenant lookup unavailable, falling back to\", deploymentTenant, error);\n return deploymentTenant;\n }\n\n /* Sort explicitly: response order is not guaranteed, and \"the first tenant\" has to be the\n same one on every login. */\n const sorted = sortByTenantId(tenants);\n\n if (isSharedLoginDeployment()) {\n if (!sorted.length) {\n failSSOLogin(\"SSO_NO_TENANTS_MAPPED\");\n return null;\n }\n /* No keepTenantId: the shared-login tenant is not somewhere we can leave the user. */\n const deployable = filterDeployable(sorted);\n if (!deployable.length) {\n failSSOLogin(\"SSO_NO_DEPLOYABLE_TENANT\");\n return null;\n }\n return deployable[0]?.tenantId;\n }\n\n if (!sorted.some((tenant) => tenant?.tenantId === deploymentTenant)) {\n failSSOLogin(\"SSO_NO_ACCESS_TO_THIS_TENANT\");\n return null;\n }\n return deploymentTenant;\n };\n\n /* Resolve the tenant, then exchange. disable/loader are set here rather than only in\n handleDigitLogin so the callback effect cannot re-enter while the lookup is in flight. */\n const handleSSOCallback = async (idToken, accessToken = null) => {\n setDisable(true);\n setLoginLoader(true);\n\n const tenantId = await resolveTenantForLogin(idToken);\n if (!tenantId) {\n setDisable(false);\n setLoginLoader(false);\n return;\n }\n\n await handleDigitLogin(idToken, accessToken, tenantId);\n };\n\n /* Generic Token Exchange with DIGIT Backend */\n const handleDigitLogin = async (idToken, accessToken = null, tenantId = stateInfo?.code) => {\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,\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 /* See Login/login.js: remember the deployment the login happened on, for logout. */\n localStorage.setItem(\"login.source\", window?.contextPath || \"\");\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 {/* <footer> = contentinfo landmark, so the \"Powered by DIGIT\" strip no longer sits\n outside every landmark (axe region) */}\n <footer 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 </footer>\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 * Storage for the IdP (SSO) ID token.\n *\n * The token arrives in the SSO callback URL fragment and is currently used once, as the\n * `assertion` on /user/oauth/token, then discarded. It has to outlive that exchange so it\n * can be reused for the tenant lookup (/user/oauth/tenants) and, later, to re-exchange a\n * DIGIT token when the user switches tenant.\n *\n * Kept in a cookie at `path=/` deliberately. Every tenant is a separate deployment under\n * its own base path on one shared origin, and the token is written on whichever deployment\n * handled the callback (often the shared login) but read on the tenant deployment the user\n * is redirected into - so it must be readable across all of them.\n *\n * Note this cookie is sent on every same-origin request, including all DIGIT API calls.\n * ID tokens frequently approach the ~4KB per-cookie browser limit, so oversized tokens\n * fall back to sessionStorage rather than being silently dropped.\n *\n * Not HttpOnly - it cannot be, since it is set from JS. Treat it as no more protected than\n * localStorage; if that matters, the backend has to set the cookie instead.\n */\n\nconst COOKIE_NAME = \"sso-id-token\";\nconst FALLBACK_KEY = \"sso-id-token\";\n/* Browsers drop cookies above ~4096 bytes, counting name, value and attributes. */\nconst MAX_COOKIE_BYTES = 4000;\n\n/* Read `exp` out of the JWT payload so the cookie can expire with the token itself, and a\n missing cookie can be treated as \"needs re-authentication\". No verification here - that\n is the backend's job on /user/oauth/token. */\nconst readExpiry = (token) => {\n try {\n const payload = token.split(\".\")[1];\n if (!payload) return null;\n const b64 = payload.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = b64 + \"=\".repeat(b64.length % 4 ? 4 - (b64.length % 4) : 0);\n const exp = JSON.parse(atob(padded))?.exp;\n return typeof exp === \"number\" ? exp : null;\n } catch (e) {\n return null;\n }\n};\n\nexport const getIdpToken = () => {\n try {\n const match = document.cookie.match(new RegExp(`(?:^|;\\\\s*)${COOKIE_NAME}=([^;]*)`));\n if (match) return decodeURIComponent(match[1]);\n } catch (e) {\n /* fall through to sessionStorage */\n }\n try {\n return window.sessionStorage.getItem(FALLBACK_KEY);\n } catch (e) {\n return null;\n }\n};\n\nconst storeFallback = (token) => {\n try {\n window.sessionStorage.setItem(FALLBACK_KEY, token);\n } catch (e) {\n console.warn(\"[idp] could not store the ID token anywhere\");\n }\n};\n\nexport const setIdpToken = (token) => {\n if (!token) return;\n\n const exp = readExpiry(token);\n const maxAge = exp ? Math.max(0, exp - Math.floor(Date.now() / 1000)) : null;\n\n const attributes = [\n \"path=/\",\n \"SameSite=Strict\",\n ...(window.location.protocol === \"https:\" ? [\"Secure\"] : []),\n /* No Max-Age when the token carries no exp: a session cookie is the safer default. */\n ...(maxAge ? [`Max-Age=${maxAge}`] : []),\n ];\n const cookie = `${COOKIE_NAME}=${encodeURIComponent(token)}; ${attributes.join(\"; \")}`;\n\n if (cookie.length > MAX_COOKIE_BYTES) {\n console.warn(`[idp] ID token too large for a cookie (${cookie.length}B), using sessionStorage`);\n storeFallback(token);\n return;\n }\n\n try {\n document.cookie = cookie;\n } catch (e) {\n /* handled by the read-back below */\n }\n /* The browser can reject the cookie without throwing, so confirm it landed. */\n if (getIdpToken() !== token) {\n console.warn(\"[idp] cookie was rejected, using sessionStorage\");\n storeFallback(token);\n }\n};\n\nexport const clearIdpToken = () => {\n try {\n /* Path must match the one it was set with, or the delete is a no-op. */\n document.cookie = `${COOKIE_NAME}=; path=/; Max-Age=0; SameSite=Strict`;\n } catch (e) {\n /* ignore */\n }\n try {\n window.sessionStorage.removeItem(FALLBACK_KEY);\n } catch (e) {\n /* ignore */\n }\n};\n","/**\n * SSO tenant discovery and switching.\n *\n * `/user/oauth/tenants` answers \"which tenants is this IdP subject mapped to\", and is posted\n * with the raw ID token BEFORE the token exchange so a tenantId can be chosen for\n * grant_type=jwt_exchange. The resulting list is kept for the session so the tenant switcher\n * does not have to ask again.\n */\n\nimport { getIdpToken } from \"./idpToken\";\n\n/* Digit.SessionStorage prefixes keys with \"Digit.\" */\nconst TENANTS_KEY = \"sso.tenants\";\n\nconst basicAuthHeader = () => `Basic ${window?.globalConfigs?.getConfig(\"JWT_TOKEN\") || \"ZWdvdi11c2VyLWNsaWVudDo=\"}`;\n\n/* Tenant the shared-login mapping is keyed on. The backend falls back to its own\n auth.oidc.shared-login.tenant-id when omitted; we send it explicitly so the value is\n visible and configurable per deployment. */\nexport const getSSOLookupTenantId = () => window?.globalConfigs?.getConfig(\"SSO_LOOKUP_TENANT_ID\") || \"public\";\n\n/* True on the shared/common login deployment, false on a tenant-specific one. Derived rather\n than configured, so there is no extra flag to keep in sync. */\nexport const isSharedLoginDeployment = () => Digit.ULBService.getStateId() === getSSOLookupTenantId();\n\nconst parseError = async (response, fallbackMessage) => {\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 error = new Error(parsed?.error_description || parsed?.error || raw || fallbackMessage);\n error.code = parsed?.error;\n error.status = response.status;\n return error;\n};\n\nexport const lookupTenants = async (idToken) => {\n const response = await fetch(\"/user/oauth/tenants\", {\n method: \"POST\",\n headers: {\n Authorization: basicAuthHeader(),\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n body: new URLSearchParams({\n assertion: idToken,\n tenantId: getSSOLookupTenantId(),\n }),\n });\n\n if (!response.ok) throw await parseError(response, \"Tenant lookup failed\");\n\n const data = await response.json();\n return Array.isArray(data?.tenants) ? data.tenants : [];\n};\n\nexport const storeSSOTenants = (tenants) => Digit.SessionStorage.set(TENANTS_KEY, tenants || []);\nexport const getStoredSSOTenants = () => Digit.SessionStorage.get(TENANTS_KEY) || [];\nexport const clearSSOTenants = () => Digit.SessionStorage.del(TENANTS_KEY);\n\nexport const sortByTenantId = (tenants = []) =>\n [...tenants].sort((a, b) => String(a?.tenantId || \"\").localeCompare(String(b?.tenantId || \"\")));\n\nconst deploymentMap = () => window?.globalConfigs?.getConfig(\"TENANT_DEPLOYMENT_MAP\") || {};\n\n/**\n * Drop tenants we cannot actually put the user on.\n *\n * Landing on a tenant with no TENANT_DEPLOYMENT_MAP entry means no redirect happens, so the\n * user ends up authenticated as tenant X while the page still runs tenant Y's globalConfigs\n * (wrong hierarchy, wrong locale, wrong service paths) with nothing shown to explain it.\n *\n * `keepTenantId` is the currently-active tenant, which the switcher needs to keep in the list\n * so it stays visible as the selected option even if it has no mapping. Omit it when choosing\n * a tenant to log in to, where there is nothing to preserve.\n *\n * An empty map means single-deployment mode, so no filtering applies.\n */\nexport const filterDeployable = (tenants = [], keepTenantId = null) => {\n const keys = Object.keys(deploymentMap());\n if (!keys.length) return tenants;\n return tenants.filter((tenant) => {\n const id = tenant?.tenantId;\n if (!id) return false;\n return keys.includes(String(id).toLowerCase()) || id === keepTenantId;\n });\n};\n\n/* Tenant ids the switcher should offer: mapped to a deployment, plus the current one, sorted,\n deduped. Fewer than two means there is nothing to switch between. */\nexport const getSwitchableTenantIds = (currentTenantId) => {\n const ids = filterDeployable(sortByTenantId(getStoredSSOTenants()), currentTenantId)\n .map((tenant) => tenant?.tenantId)\n .filter(Boolean);\n return [...new Set(ids)];\n};\n\n/* Where a given tenant is served from, e.g. chaduat -> /chaduat/hcm-digit-ui */\nexport const getTenantBasePath = (tenantId) => {\n const target = deploymentMap()[String(tenantId || \"\").toLowerCase()];\n return target ? target.replace(/^\\/|\\/$/g, \"\") : null;\n};\n\n/**\n * Persist a freshly exchanged employee session.\n *\n * Deliberately a separate copy of the writes in Login/login.js rather than a shared\n * extraction: that file and pages/employee/Otp/index.js already carry two copies which differ\n * (login.js additionally exempts development builds from the multi-root guard), so unifying\n * them would quietly change the OTP path. Worth consolidating, but not as a side effect of\n * tenant switching.\n */\nconst persistEmployeeSession = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant() && process.env.NODE_ENV !== \"development\") return;\n\n const 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\n/**\n * Switch the logged-in tenant: end the DIGIT session for the current one, re-exchange the\n * stored ID token for the target, persist it, and send the browser to that tenant's\n * deployment.\n *\n * Throws with `code` set to a localisation key so the caller can surface it:\n * SSO_SESSION_EXPIRED - no usable ID token, the user has to log in again\n * SSO_TENANT_SWITCH_FAILED - the exchange failed for some other reason\n */\nexport const switchTenant = async (tenantId) => {\n const idToken = getIdpToken();\n if (!idToken) {\n const error = new Error(\"No IdP token available\");\n error.code = \"SSO_SESSION_EXPIRED\";\n throw error;\n }\n\n /* Revoke the DIGIT token for the tenant being left. Best effort: a failure here should not\n block the switch, and we deliberately do NOT call UserService.logout(), which would\n navigate away and wipe the storage the switch still needs. */\n try {\n await Digit.UserService.logoutUser();\n } catch (e) {\n console.warn(\"[sso] could not revoke the previous DIGIT session\", e);\n }\n\n const response = await fetch(\"/user/oauth/token\", {\n method: \"POST\",\n headers: {\n Authorization: basicAuthHeader(),\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 tenantId,\n }),\n });\n\n if (!response.ok) {\n const error = await parseError(response, \"Tenant switch failed\");\n /* 400/401 here means the assertion was rejected - almost always an expired ID token. */\n error.code = response.status === 400 || response.status === 401 ? \"SSO_SESSION_EXPIRED\" : \"SSO_TENANT_SWITCH_FAILED\";\n throw error;\n }\n\n const { UserRequest: info, ...tokens } = await response.json();\n\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n Digit.SessionStorage.set(\"citizen.userRequestObject\", { info, ...tokens });\n Digit.UserService.setUser({ info, ...tokens });\n persistEmployeeSession(info, tokens?.access_token);\n\n /* Full page load so initData, localisation and the module configs are rebuilt for the new\n tenant. Going straight to the target deployment avoids bouncing through this one and\n relying on the entry file's redirect interceptor. */\n const basePath = getTenantBasePath(info?.tenantId) || window?.contextPath;\n window.location.replace(`/${basePath}/employee`);\n};\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","/**\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","/* 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};","// 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\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\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\tif(Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React from \"react\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { Navigate } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst CitizenApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-app\" */ \"./pages/citizen\"),\n () => require(\"./pages/citizen\").default,\n { loaderText: \"CORE_LOADING_CITIZEN_APP\" }\n);\n\nconst EmployeeApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-app\" */ \"./pages/employee\"),\n () => require(\"./pages/employee\").default,\n { loaderText: \"CORE_LOADING_EMPLOYEE_APP\" }\n);\n\nconst SignUp = lazyWithFallback(\n () => import(/* webpackChunkName: \"sign-up\" */ \"./pages/employee/SignUp\"),\n () => require(\"./pages/employee/SignUp\").default,\n { loaderText: \"CORE_LOADING_SIGN_UP\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"otp\" */ \"./pages/employee/Otp\"),\n () => require(\"./pages/employee/Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst ViewUrl = lazyWithFallback(\n () => import(/* webpackChunkName: \"view-url\" */ \"./pages/employee/ViewUrl\"),\n () => require(\"./pages/employee/ViewUrl\").default,\n { loaderText: \"CORE_LOADING_VIEW_URL\" }\n);\n\nconst CustomErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"custom-error\" */ \"./components/CustomErrorComponent\"),\n () => require(\"./components/CustomErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst DummyLoaderScreen = lazyWithFallback(\n () => import(/* webpackChunkName: \"dummy-loader\" */ \"./components/DummyLoader\"),\n () => require(\"./components/DummyLoader\").default,\n { loaderText: \"CORE_LOADING\" }\n);\n\nexport const DigitApp = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\", allowedUserTypes = [\"citizen\", \"employee\"] }) => {\n const navigate = useNavigate();\n const { pathname } = useLocation();\n const innerWidth = window.innerWidth;\n const cityDetails = Digit.ULBService.getCurrentUlb();\n const userDetails = Digit.UserService.getUser();\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n\n if (window.location.pathname.split(\"/\").includes(\"employee\")) CITIZEN = false;\n\n const handleUserDropdownSelection = (option) => {\n option.func();\n };\n\n const mobileView = innerWidth <= 640;\n let sourceUrl = `${window.location.origin}/citizen`;\n const commonProps = {\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname,\n initData,\n };\n\n return (\n <Routes>\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/employee/*`} element={<EmployeeApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"citizen\") && (\n <Route path={`/${window?.contextPath}/citizen/*`} element={<CitizenApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/no-top-bar/employee`} element={<EmployeeApp {...commonProps} noTopBar />} />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.contextPath}/${defaultLanding}`} />} />\n </Routes>\n );\n};\n\nexport const DigitAppWrapper = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\" ,allowedUserTypes}) => {\n // const globalPath = window?.globalConfigs?.getConfig(\"CONTEXT_PATH\") || \"digit-ui\";\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const userScreensExempted = [\"user/error\"];\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n const userDetails = Digit.UserService.getUser();\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n const innerWidth = window.innerWidth;\n const mobileView = innerWidth <= 640;\n\n return (\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile ? { padding: 0, paddingTop: CITIZEN ? \"0\" : mobileView && !CITIZEN ? \"3rem\" : \"80px\", marginLeft: CITIZEN || mobileView ? \"0\" : \"40px\" } : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path={`/${window?.globalPath}/user/invalid-url`} element={<CustomErrorComponent />} />\n <Route path={`/${window?.globalPath}/user/sign-up`} element={<SignUp stateCode={stateCode} />} />\n <Route path={`/${window?.globalPath}/user/otp`} element={<Otp />} />\n <Route path={`/${window?.globalPath}/user/setup`} element={<DummyLoaderScreen />} />\n <Route path={`/${window?.globalPath}/user/url`} element={<ViewUrl />} />\n {window?.globalPath !== window?.contextPath && (\n <Route\n path={`/${window?.contextPath}/*`}\n element={\n <DigitApp\n stateCode={stateCode}\n modules={modules}\n appTenants={appTenants}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n initData={initData}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n }\n />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.globalPath}/user/sign-up`} />} />\n </Routes>\n </div>\n );\n};","import { applyMiddleware, combineReducers, compose, createStore } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport { commonReducer } from \"./reducers\";\n\nconst getRootReducer = (defaultStore, moduleReducers) =>\n combineReducers({\n common: commonReducer(defaultStore),\n ...moduleReducers,\n });\n\nconst middleware = [thunk];\n\nconst composeEnhancers =\n process.env.NODE_ENV === 'development' && typeof window === \"object\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ \n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) \n : compose;\n\nconst enhancer = composeEnhancers(\n applyMiddleware(...middleware)\n // other store enhancers if any\n);\n\nconst getStore = (defaultStore, moduleReducers = {}) => {\n return createStore(getRootReducer(defaultStore, moduleReducers), enhancer);\n};\nexport default getStore;\n","export const commonReducer = (defaultData) => (state = defaultData, action) => {\n switch (action.type) {\n case \"LANGUAGE_SELECT\":\n return { ...state, selectedLanguage: action.payload };\n default:\n return state;\n }\n};\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nimport { LinkButton } from \"@egovernments/digit-ui-react-components\";\n\nconst PrivacyComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const [isChecked, setIsChecked] = useState(false);\n const [showPopUp, setShowPopUp] = useState(false);\n const moduleName=Digit.Utils.getConfigModuleName();\n \n const { data: privacy } = Digit.Hooks.useCustomMDMS(tenantId, moduleName, [{ name: \"PrivacyPolicy\" }], {\n select: (data) => {\n const filteredPrivacyPolicy = data?.[moduleName]?.PrivacyPolicy?.find(policy => policy.module === props?.props?.module);\n return filteredPrivacyPolicy;\n },\n });\n const handleCheckboxChange = (event) => {\n setIsChecked(event.target.checked);\n };\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClick = () => {\n setShowPopUp(true);\n };\n\n const handleScrollToElement = (id) => {\n const element = document.getElementById(id);\n if (element) {\n element.scrollIntoView({ behavior: \"smooth\" });\n }\n };\n\n return (\n <React.Fragment>\n <div className=\"digit-privacy-checkbox digit-privacy-checkbox-align\">\n <CheckBox label={t(\"ES_BY_CLICKING\")} checked={isChecked} onChange={handleCheckboxChange} id={\"privacy-component-check\"}></CheckBox>\n <Button\n label={t(`ES_PRIVACY_POLICY`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClick}\n // isSuffix={true}\n style={{ marginBottom: \"1rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n </div>\n {showPopUp && (\n <PopUp\n type={\"default\"}\n className={\"privacy-popUpClass\"}\n footerclassName={\"popUpFooter\"}\n heading={t(privacy?.header)}\n onOverlayClick={() => {\n setShowPopUp(false);\n }}\n footerChildren={[\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"DIGIT_I_DO_NOT_ACCEPT\")}\n onClick={() => {\n setIsChecked(false), setShowPopUp(false);\n }}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"DIGIT_I_ACCEPT\")}\n className={\"accept-class\"}\n onClick={() => {\n setIsChecked(true), setShowPopUp(false);\n }}\n />,\n ]}\n sortFooterChildren={true}\n onClose={() => {\n setShowPopUp(false);\n }}\n >\n <div>\n <div className=\"privacy-table\">{t(\"DIGIT_TABLE_OF_CONTENTS\")}</div>\n <ul>\n {privacy?.contents.map((content, index) => (\n <li key={index} style={{ display: \"flex\", alignItems: \"center\" }}>\n <span style={{ marginRight: \"0.5rem\" }}>{index + 1}. </span>\n <Button\n label={t(content.header)}\n variation={\"link\"}\n size={\"medium\"}\n onClick={(e) => {\n e.preventDefault();\n handleScrollToElement(content?.header);\n }}\n style={{justifyContent: \"flex-start\"}}\n ></Button>\n </li>\n ))}\n </ul>\n </div>\n {privacy?.contents.map((content, index) => (\n <div key={index} id={content?.header}>\n <div\n style={{\n fontWeight: 'bold',\n paddingLeft: content?.isSpaceRequired ? \"1rem\" : \"0\",\n }}\n >\n {t(content.header)}\n </div>\n {content.descriptions.map((description, subIndex) => (\n <div key={subIndex} style={{ paddingLeft: description.isSpaceRequired ? \"1rem\" : \"0\" , marginBottom: '0.5rem'}}>\n <div\n style={{\n fontWeight: description?.isBold ? 700 : 400,\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n {description.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' }}>&#8226;</span>\n )}\n {description.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' }}>{subIndex + 1}. </span>\n )}\n {t(description.text)}\n </div>\n {description?.subDescriptions && description?.subDescriptions.length > 0 && (\n <div className=\"policy-subdescription\">\n {description.subDescriptions.map((subDesc, subSubIndex) => (\n <div key={subSubIndex} className=\"policy-subdescription-points\">\n {subDesc.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' , paddingLeft: '1rem'}}>&#8226;</span>\n )}\n {subDesc.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' , paddingLeft: '1rem'}}>{subSubIndex + 1}. </span>\n )}\n {subDesc.type === null && (\n <span style={{ marginRight: '0.5rem', paddingLeft: '1rem'}}> </span>\n )}\n {t(subDesc.text)}\n </div>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n ))}\n </PopUp>\n )}\n </React.Fragment>\n );\n};\n\nexport default PrivacyComponent;\n","import 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__4883__","__WEBPACK_EXTERNAL_MODULE__5953__","__WEBPACK_EXTERNAL_MODULE__4456__","__WEBPACK_EXTERNAL_MODULE__2148__","__WEBPACK_EXTERNAL_MODULE__4442__","__WEBPACK_EXTERNAL_MODULE__7122__","__WEBPACK_EXTERNAL_MODULE__338__","__WEBPACK_EXTERNAL_MODULE__5053__","__WEBPACK_EXTERNAL_MODULE__1954__","__WEBPACK_EXTERNAL_MODULE__2247__","_ref","children","_jsx","className","stringReplaceAll","str","arguments","length","searcher","replaceWith","_str","includes","_str2","replace","prop","_Digit","_Digit$getType","_selectCityData$","_stringReplaceAll3","_useState2","_slicedToArray","useState","dropDownData","setDropDownData","_useState4","selectCityData","setSelectCityData","_useState6","navigate","useNavigate","isMultiRootTenant","dropdown","Digit","Utils","getMultiRootTenant","_useState8","switchError","setSwitchError","currentTenantId","SessionStorage","get","ssoTenantIds","getSwitchableTenantIds","ssoMode","UserService","getType","call","Boolean","getIdpToken","handleSwitchTenant","city","value","switchTenant","error","console","code","setTimeout","logout","_x","apply","useEffect","_userloggedValues$inf","map","tenantId","_stringReplaceAll","label","concat","toUpperCase","userloggedValues","teantsArray","filteredArray","info","roles","forEach","role","push","unique","filter","item","i","ar","indexOf","uniCode","_stringReplaceAll2","select","_jsxs","style","mobileView","color","CardText","Dropdown","t","option","selected","find","cityValue","optionKey","showArrow","_Digit$SessionStorage","_window$location","_window","loggedInData","filteredRoles","set","setUser","window","location","href","contextPath","_location$state","_window2","redirectPath","state","from","reload","warn","freeze","customSelector","Toast","type","onClose","_languages$find","isDropdown","_Digit$Hooks$useStore","Hooks","useStore","getInitData","storeData","data","isLoading","languages","stateInfo","useTranslation","selectedLanguage","StoreData","getCurrentLanguage","setselected","handleChangeLanguage","language","LocalizationService","changeLanguage","React","marginBottom","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","size","formId","footerWithoutSubmit","PopUp","heading","footerChildren","sortFooterButtons","onOverlayClick","equalWidthButtons","DummyLoaderScreen","currentStep","setCurrentStep","tenant","steps","stepInterval","setInterval","prev","clearInterval","navigateTimeout","_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","loadingText","defaultValue","Loader","variant","loaderText","textAlign","marginTop","Navigate","to","encodeURIComponent","Redircter","path","currentHref","navigationError","replaceError","ErrorBoundary","constructor","super","errorStack","hasError","getDerivedStateFromError","stack","componentDidCatch","errorInfo","setState","render","ErrorComponent","initData","errorData","goToHome","__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","BackLink","history","back","_mdmsDataObj$links3","_mdmsDataObj$links4","handleLinkClick","srOnlyStyle","position","overflow","clip","whiteSpace","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","CitizenSideBar","_menuItems2","_menuItems3","_user$info2","_user$info3","_user$info4","_ref3$isMobile","_ref3$isEmployee","userProfile","isDigitStudio","search","_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","source","provider","localStorage","getItem","normalizedProvider","logoutUrlFromConfig","redirectParamName","token","_window$google","google","accounts","disableAutoSelect","fetch","method","headers","removeItem","postLogoutRedirectUri","getSSOPostLogoutRedirectUri","URL","searchParams","toString","clearIdpToken","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","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","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","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","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","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","setIdpToken","handleSSOCallback","microsoftAuthenticate","catch","_user$info5","_user$info6","setEmployeeDetail","decodeURIComponent","failSSOLogin","messageCode","replaceState","resolveTenantForLogin","deploymentTenant","lookupTenants","storeSSOTenants","sorted","sortByTenantId","isSharedLoginDeployment","_deployable$","deployable","filterDeployable","handleDigitLogin","Authorization","grant_type","scope","assertion","ok","_parsed","_parsed2","_parsed3","_parsed4","parsed","raw","json","onSSOLogin","_ref8","ssoConfig","ui","hasOidcConfig","authorizeUrl","clientId","authStrategy","onOIDCLogin","_x4","_ref9","resource","logoutUrl","logoutRedirectParam","authority","uiConfig","_ref7$scopes","scopes","_ref7$responseType","responseType","_ref7$responseMode","responseMode","_ref7$nonceRequired","nonceRequired","_ref7$redirectPath","prompt","nonce","random","redirectUri","forcePromptLogin","buildOIDCAuthorizeUrl","_x5","onLogin","_ref0","_requestData$city","_excluded3","_x6","reqCreate","enable","mutation","useCustomAPIMutationHook","onOtpLogin","_ref1","_Digit3","_onSuccess","inputEmail","mutate","onError","variables","onSuccess","_window0","_Digit4","_x8","_x7","_window1","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","_window10","_window10$getConfig","_window11","_window11$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","_window2$getConfig","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","COOKIE_NAME","FALLBACK_KEY","cookie","storeFallback","exp","b64","padded","repeat","atob","readExpiry","maxAge","floor","protocol","TENANTS_KEY","basicAuthHeader","getSSOLookupTenantId","parseError","fallbackMessage","String","deploymentMap","keepTenantId","logoutUser","_yield$response$json","persistEmployeeSession","basePath","getTenantBasePath","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","staticMatch","dynamicMatch","matchMedia","Mql","forceStatic","mql","self","update","evt","matches","media","addListener","listener","removeListener","dispose","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","uppercasePattern","msPattern","cache","toHyphenLower","hyphenate_style_name","hName","stringOrNumber","prop_types_default","grid","aural","braille","handheld","print","projection","screen","tty","tv","embossed","matchers","orientation","scan","aspectRatio","deviceAspectRatio","deviceHeight","deviceWidth","colorIndex","monochrome","featureMatchers","features","minAspectRatio","maxAspectRatio","minDeviceAspectRatio","maxDeviceAspectRatio","minHeight","maxHeight","minDeviceHeight","maxDeviceHeight","minDeviceWidth","maxDeviceWidth","minColor","maxColor","minColorIndex","maxColorIndex","minMonochrome","maxMonochrome","minResolution","maxResolution","mq","Context","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","definition","binding","r","Symbol","toStringTag","CitizenApp","EmployeeApp","SignUp","CustomErrorComponent","DigitApp","_ref$defaultLanding","defaultLanding","_ref$allowedUserTypes","allowedUserTypes","getCurrentUlb","commonProps","DigitAppWrapper","_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","wordBreak","LoginSignupSelector","isSignupPage","onButtonClickLogin","onButtonClickSignUP","initCoreComponents"],"sourceRoot":""}