@egovernments/digit-ui-module-core 2.0.0-dev-19 → 2.0.0-dev-20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +1 -1
- package/dist/main.js.br +0 -0
- package/dist/main.js.map +1 -1
- package/package.json +1 -1
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","mappings":"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bC,OAAQ,CACN,CACExT,MAAO,4BACP+Q,KAAK,gBACLyD,YAAa,mCAEf,CACExU,MAAO,4BACP+Q,KAAM,sBACNyD,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,yBAEX,CACEH,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,qCAInB,CACElB,SAAU,sBACVG,QAAS,yBACTD,OAAQ,CACN,CACExT,MAAO,6BACPwU,YAAa,oCAEf,CACExU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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/pages/employee/Login/login.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Otp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/signUp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ViewUrl/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/AppModules.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/css-mediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/matchmediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@egovernments/digit-ui-module-core/../node_modules/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/javascript/node_modules/react-responsive/node_modules/shallow-equal/dist/index.modern.mjs","webpack://@egovernments/digit-ui-module-core/../node_modules/react/cjs/react-jsx-runtime.production.js","webpack://@egovernments/digit-ui-module-core/../node_modules/react/jsx-runtime.js","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-react-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-svg-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@tanstack/react-query\"","webpack://@egovernments/digit-ui-module-core/external umd \"React\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-i18next\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-router-dom\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux-thunk\"","webpack://@egovernments/digit-ui-module-core/webpack/bootstrap","webpack://@egovernments/digit-ui-module-core/webpack/runtime/compat get default export","webpack://@egovernments/digit-ui-module-core/webpack/runtime/define property getters","webpack://@egovernments/digit-ui-module-core/webpack/runtime/hasOwnProperty shorthand","webpack://@egovernments/digit-ui-module-core/webpack/runtime/make namespace object","webpack://@egovernments/digit-ui-module-core/./src/App.js","webpack://@egovernments/digit-ui-module-core/./src/redux/store.js","webpack://@egovernments/digit-ui-module-core/./src/redux/reducers/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/PrivacyComponent.js","webpack://@egovernments/digit-ui-module-core/./src/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(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@egovernments/digit-ui-components\", \"React\", \"react-i18next\", \"@tanstack/react-query\", \"react-redux\", \"react-router-dom\", \"@egovernments/digit-ui-svg-components\", \"@egovernments/digit-ui-react-components\", \"redux\", \"redux-thunk\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@egovernments/digit-ui-module-core\"] = factory(require(\"@egovernments/digit-ui-components\"), require(\"React\"), require(\"react-i18next\"), require(\"@tanstack/react-query\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse\n\t\troot[\"@egovernments/digit-ui-module-core\"] = factory(root[\"@egovernments/digit-ui-components\"], root[\"React\"], root[\"react-i18next\"], root[\"@tanstack/react-query\"], root[\"react-redux\"], root[\"react-router-dom\"], root[\"@egovernments/digit-ui-svg-components\"], root[\"@egovernments/digit-ui-react-components\"], root[\"redux\"], root[\"redux-thunk\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__6243__, __WEBPACK_EXTERNAL_MODULE__4883__, __WEBPACK_EXTERNAL_MODULE__5953__, __WEBPACK_EXTERNAL_MODULE__4456__, __WEBPACK_EXTERNAL_MODULE__2148__, __WEBPACK_EXTERNAL_MODULE__4442__, __WEBPACK_EXTERNAL_MODULE__338__, __WEBPACK_EXTERNAL_MODULE__5053__, __WEBPACK_EXTERNAL_MODULE__1954__, __WEBPACK_EXTERNAL_MODULE__2247__) => {\nreturn ","import React from \"react\";\n\nconst Background = ({ children }) => {\n return <div className=\"banner banner-container\">{children}</div>;\n};\n\nexport default Background;\n","import { CardText, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n};\n\nconst ChangeCity = (prop) => {\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); \n const navigate = useNavigate();\n const isDropdown = prop.dropdown || false;\n let selectedCities = [];\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: `TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`,\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n // if (isDropdown) {\n return (\n <div style={prop?.mobileView ? { color: \"#767676\" } : {}}>\n {\n (isMultiRootTenant && selectCityData.length==1) ? \n <CardText style={{color:\"#363636\"}}>{selectCityData?.[0]?.value}</CardText>\n :\n <Dropdown\n t={prop?.t}\n option={selectCityData}\n selected={selectCityData.find((cityValue) => cityValue.value === dropDownData?.value)}\n optionKey={\"label\"}\n select={handleChangeCity}\n freeze={true}\n customSelector={\n <label className=\"cp\">\n {prop?.t(`TENANT_TENANTS_${stringReplaceAll(Digit.SessionStorage.get(\"Employee.tenantId\"), \".\", \"_\")?.toUpperCase()}`)}\n </label>\n }\n />\n}\n </div>\n );\n // } else {\n // return (\n // <React.Fragment>\n // <div style={{ marginBottom: \"5px\" }}>City</div>\n // <div className=\"language-selector\" style={{display: \"flex\", flexWrap: \"wrap\"}}>\n // {selectCityData?.map((city, index) => (\n // <div className=\"language-button-container\" key={index}>\n // <CustomButton\n // selected={city.value === Digit.SessionStorage.get(\"Employee.tenantId\")}\n // text={city.label}\n // onClick={() => handleChangeCity(city)}\n // ></CustomButton>\n // </div>\n // ))}\n // </div>\n // </React.Fragment>\n // );\n // }\n};\n\nexport default ChangeCity;\n","import { Button, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguage = (prop) => {\n const isDropdown = prop.dropdown || false;\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { languages, stateInfo } = storeData || {};\n const { t } = useTranslation();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n if (isLoading) return null;\n\n if (isDropdown) {\n return (\n <div>\n <Dropdown\n className={\"language-dropdown\"}\n option={languages}\n selected={languages?.find((language) => language?.value === selectedLanguage)}\n optionKey={\"label\"}\n select={handleChangeLanguage}\n freeze={true}\n customSelector={<label className=\"cp\">{t(languages?.find((language) => language?.value === selected)?.label)}</label>}\n />\n </div>\n );\n } else {\n return (\n <React.Fragment>\n <div style={{ marginBottom: \"5px\" }}>Language</div>\n <div className=\"language-selector\">\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <Button\n label={language.label}\n onClick={() => handleChangeLanguage(language)}\n variation={language.value === selected ? \"primary\" : \"\"}\n />\n </div>\n ))}\n </div>\n </React.Fragment>\n );\n }\n};\n\nexport default ChangeLanguage;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Background from \"./Background\";\nimport { Button, Card, CardHeader, CardText } from \"@egovernments/digit-ui-components\";\nimport Header from \"./Header\";\n\nconst CustomErrorComponent = (props) => {\n const { state = {} } = useLocation();\n // const module = state?.module;\n const { t } = useTranslation();\n const stateInfo = props.stateInfo;\n\n const navigate = useNavigate();\n const ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://s3.ap-south-1.amazonaws.com/egov-qa-assets/error-image.png`,\n infoHeader: \"WRONG_TENANT_SIGN_UP\",\n infoMessage: \"WRONG_TENANT_SIGN_UP_MESSAGE\",\n buttonInfo: \"WRONG_TENANT_SIGN_UP_BUTTON\",\n action: () => {\n navigate(`/${window.globalPath}/`);\n },\n },\n };\n const config = ModuleBasedErrorConfig[\"sandbox\"];\n\n return (\n <Background>\n <Card className={`digit-employee-card customError`}>\n <Header showTenant={false} />\n <CardHeader className={\"center\"}>{t(config.infoHeader)}</CardHeader>\n <CardText className={\"center\"}>{t(config.infoMessage)}</CardText>\n <Button\n className=\"customErrorButton\"\n label={t(config?.buttonInfo)}\n variation={\"primary\"}\n isSuffix={true}\n onClick={(e) => {\n e.preventDefault();\n config?.action();\n }}\n />\n </Card>\n </Background>\n );\n};\n\nexport default CustomErrorComponent;\n","import { CardText, PopUp, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst LogoutDialog = ({ onSelect, onCancel, onDismiss, PopupStyles, isDisabled, hideSubmit }) => {\n const { t } = useTranslation();\n\n const children = [\n <div>\n <CardText>\n {t(\"CORE_LOGOUT_WEB_CONFIRMATION_MESSAGE\") + \" \"}\n <strong>{t(\"CORE_LOGOUT_MESSAGE\")}</strong>\n </CardText>\n </div>,\n ];\n\n const footer = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"CORE_LOGOUT_WEB_YES\")}\n formId={\"modal-action\"}\n onClick={onSelect}\n isDisabled={isDisabled}\n />\n ];\n\n const footerWithoutSubmit = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"digit-action-cancel\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n ];\n\n return (\n <PopUp\n type=\"default\"\n children={children}\n heading={t(\"CORE_LOGOUT_WEB_HEADER\")}\n footerChildren={hideSubmit ? footerWithoutSubmit : footer}\n sortFooterButtons={true}\n onClose={onDismiss}\n className={\"digit-logout-popup-wrapper\"}\n onOverlayClick={onDismiss}\n equalWidthButtons={true}\n style={PopupStyles}\n ></PopUp>\n );\n};\nexport default LogoutDialog;","import React, {useRef, useEffect, useState } from \"react\";\nimport { CheckCircle } from \"@egovernments/digit-ui-svg-components\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DummyLoaderScreen = () => {\n const [currentStep, setCurrentStep] = useState(0);\n const navigate = useNavigate();\n const location = useLocation();\n const { t } = useTranslation();\n const { tenant } = location.state || {};\n const steps = [\n \"SANDBOX_GUIDE_SETUP_ACCOUNT\",\n \"SANDBOX_GUIDE_DEFAULT_MASTER_DATA\",\n \"SANDBOX_GUIDE_CONFIGURING_COMPLAINTS\",\n \"SANDBOX_GUIDE_CONFIGURING_EMPLOYEE_MANAGEMENT\",\n \"SANDBOX_GUIDE_SETTING_UP_CITIZEN_PORTAL\",\n \"SANDBOX_GUIDE_SETTING_UP_EMPLOYEE_PORTAL\",\n \"SANDBOX_GUIDE_LOADING_CONFIGURATION_INTERFACE\",\n \"SANDBOX_GUIDE_CREATING_DASHBOARD\",\n \"SANDBOX_GUIDE_ALL_SETUP_DONE\",\n ];\n useEffect(() => {\n const stepInterval = setInterval(() => {\n if (currentStep < steps.length) {\n setCurrentStep((prev) => prev + 1);\n }\n }, 2000); // 1 second delay for each step\n\n if (currentStep === steps.length) {\n clearInterval(stepInterval); // Clear the interval to stop further updates\n const globalPath = typeof window !== 'undefined' ? window?.globalPath : '';\n\n const navigateTimeout = setTimeout(() => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}${RoleLandingUrl}`,\n state: { tenant: tenant },\n });\n\n } else {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}/employee`,\n state: { tenant: tenant },\n });\n }\n }, 1000);\n\n return () => clearTimeout(navigateTimeout); // Cleanup timeout\n }\n\n return () => {\n clearInterval(stepInterval);\n };\n }, [currentStep]);\n\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n return (\n <div className=\"sandbox-loader-screen\">\n <div className=\"sandbox-loader\"></div>\n <ul className=\"sandbox-installation-steps\">\n {steps.map((step, index) => (\n <li key={index} className={`sandbox-step ${index < currentStep ? \"sandbox-visible\" : \"\"}`}>\n <span className=\"sandbox-step-text\">{t(step)}</span>\n {index < currentStep && <CheckCircle fill=\"#00703C\" />}\n </li>\n ))}\n </ul>\n </div>\n );\n};\n\nexport default DummyLoaderScreen;\n","import React, { useState, useEffect } from \"react\";\nimport { Navigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * DynamicModuleLoader handles loading of modules from the ComponentRegistryService\n * with loading states, retries, and graceful error handling\n */\nconst DynamicModuleLoader = ({ \n moduleCode, \n stateCode, \n userType, \n tenants, \n maxRetries = 5, \n retryDelay = 1500,\n initialDelay = 100 // Initial delay before first check to allow modules to register\n}) => {\n const [moduleState, setModuleState] = useState({\n module: null,\n loading: true,\n error: null,\n retryCount: 0,\n initialDelayComplete: false\n });\n const { t } = useTranslation();\n\n useEffect(() => {\n let retryTimeout;\n let initialTimeout;\n\n const loadModule = async () => {\n try {\n // Check if module is available in ComponentRegistryService\n const Module = Digit.ComponentRegistryService.getComponent(`${moduleCode}Module`);\n \n if (Module) {\n setModuleState({\n module: Module,\n loading: false,\n error: null,\n retryCount: 0,\n initialDelayComplete: true\n });\n } else {\n // Module not found, check if we should retry\n if (moduleState.retryCount < maxRetries) {\n setModuleState(prev => ({\n ...prev,\n retryCount: prev.retryCount + 1\n }));\n \n // Retry after delay (exponential backoff)\n const delay = retryDelay * Math.pow(1.5, moduleState.retryCount);\n retryTimeout = setTimeout(() => {\n loadModule();\n }, delay);\n } else {\n // Max retries reached\n setModuleState({\n module: null,\n loading: false,\n error: `Module \"${moduleCode}\" not found after ${maxRetries} attempts`,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n }\n } catch (error) {\n console.error(`Error loading module ${moduleCode}:`, error);\n setModuleState({\n module: null,\n loading: false,\n error: error.message,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n };\n\n // Start with initial delay to allow modules to register\n if (!moduleState.initialDelayComplete) {\n initialTimeout = setTimeout(() => {\n setModuleState(prev => ({ ...prev, initialDelayComplete: true }));\n loadModule();\n }, initialDelay);\n } else {\n loadModule();\n }\n\n // Cleanup timeouts on unmount\n return () => {\n if (retryTimeout) {\n clearTimeout(retryTimeout);\n }\n if (initialTimeout) {\n clearTimeout(initialTimeout);\n }\n };\n }, [moduleCode, moduleState.retryCount, moduleState.initialDelayComplete, maxRetries, retryDelay, initialDelay]);\n\n // Show loading state\n if (moduleState.loading) {\n const loadingText = !moduleState.initialDelayComplete\n ? t(\"CORE_INITIALIZING_MODULE\", { moduleCode, defaultValue: \"Initializing {{moduleCode}} module...\" })\n : t(\"CORE_LOADING_MODULE\", { moduleCode, defaultValue: \"Loading {{moduleCode}} module...\" });\n\n return (\n <div className=\"module-loading-container\">\n <Loader \n page={true} \n variant=\"PageLoader\" \n loaderText={loadingText}\n />\n {moduleState.retryCount > 0 && moduleState.initialDelayComplete && (\n <div className=\"retry-info\" style={{ textAlign: 'center', marginTop: '1rem', color: '#666' }}>\n {t(\"CORE_MODULE_RETRY_ATTEMPT\", { retryCount: moduleState.retryCount, maxRetries, defaultValue: \"Retry attempt {{retryCount}}/{{maxRetries}}\" })}\n </div>\n )}\n </div>\n );\n }\n\n // Show error state and redirect\n if (moduleState.error || !moduleState.module) {\n console.warn(`Module loading failed for ${moduleCode}:`, moduleState.error);\n return (\n <Navigate\n to={`/${window?.contextPath}/employee/user/error?type=notfound&module=${moduleCode}&reason=${encodeURIComponent(moduleState.error || 'Module not found')}`}\n replace\n />\n );\n }\n\n // Render the loaded module\n const Module = moduleState.module;\n return (\n <Module \n stateCode={stateCode} \n moduleCode={moduleCode} \n userType={userType} \n tenants={tenants} \n />\n );\n};\n\nexport default DynamicModuleLoader;","import React from \"react\";\nimport ErrorComponent from \"./ErrorComponent\";\n\nconst Redircter = () => {\n // Add safety checks for window object\n if (typeof window === 'undefined') {\n return <span></span>;\n }\n\n try {\n const contextPath = window?.contextPath || '';\n const userType = Digit.UserService.getType();\n const path = userType === \"employee\" \n ? `/${contextPath}/employee/user/error` \n : `/${contextPath}/citizen/error`;\n \n const currentHref = window.location.href;\n \n // Check if we're already on an error page or in development\n if (\n currentHref.includes(\"employee/user/error\") ||\n currentHref.includes(\"citizen/error\") ||\n process.env.NODE_ENV === \"development\"\n ) {\n // Do nothing - already on error page or in development\n return <span></span>;\n }\n \n // Safe navigation with error handling\n try {\n window.location.href = path;\n } catch (navigationError) {\n console.warn('Navigation failed in error boundary:', navigationError);\n // Fallback: try using replace instead\n try {\n window.location.replace(path);\n } catch (replaceError) {\n console.error('Both href and replace failed:', replaceError);\n }\n }\n } catch (error) {\n console.error('Error in Redircter component:', error);\n }\n\n return <span></span>;\n};\n\nclass ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { error: null, errorStack: null, hasError: false, module: null, action: null, info: null };\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return { error: error?.message, hasError: true, errorStack: error?.stack, module: error?.module, action: error?.action, info: error?.info };\n }\n\n componentDidCatch(error, errorInfo) {\n // Catch errors in any components below and re-render with error message\n this.setState({ \n error: error?.message, \n hasError: true, \n errorStack: error?.stack,\n module: error?.module,\n action: error?.action,\n info: errorInfo\n });\n \n // Enhanced error logging with safety checks\n try {\n // Log to console in development\n if (process.env.NODE_ENV === 'development') {\n console.group('🚨 Error Boundary Caught Error');\n console.error('Error:', error);\n console.error('Error Info:', errorInfo);\n console.error('Component Stack:', errorInfo?.componentStack);\n console.groupEnd();\n }\n \n // You can also log error messages to an error reporting service here\n // Example: errorReportingService.captureException(error, { extra: errorInfo });\n \n } catch (loggingError) {\n console.warn('Failed to log error in ErrorBoundary:', loggingError);\n }\n }\n\n render() {\n if (this.state.hasError) {\n // (\"UI-errorInfo\", this.state?.errorStack);\n // (\"UI-component-details\", this.props);\n // You can render any custom fallback UI\n return (\n <div className=\"error-boundary\">\n <Redircter />\n <ErrorComponent initData={this.props.initData} errorData={this.state} goToHome={() => {\n window.location.href = `/${window?.contextPath}/${Digit?.UserService?.getType?.()}`; // Use navigate\n }}/>\n\n {/* <summary>Something went wrong</summary>\n <details style={{ whiteSpace: \"pre-wrap\" }}>\n {this.state?.errorStack && this.state.errorStack.toString().substring(0, 600)}\n {this.state?.error}\n </details> */}\n </div>\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst ErrorConfig = {\n error: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"CORE_SOMETHING_WENT_WRONG\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n maintenance: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/maintainence-image.png`,\n infoMessage: \"CORE_UNDER_MAINTENANCE\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n notfound: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/PageNotFound.png`,\n infoMessage: \"MODULE_NOT_FOUND\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n};\n\nconst ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"WRONG_TENANT_SIGN_UP\",\n buttonInfo: \"CREATE_TENANT_ERROR_BUTTON\",\n },\n};\n\nconst ErrorComponent = (props) => {\n const { type = \"error\" } = Digit.Hooks.useQueryParams();\n const module = props?.errorData?.module;\n const { t } = useTranslation();\n const config = module ? ModuleBasedErrorConfig[module] : ErrorConfig[type];\n const stateInfo = props.stateInfo;\n\n return (\n <div className=\"error-boundary\">\n <div className=\"error-container\">\n <ImageComponent src={config.imgUrl} alt=\"error\" />\n <h1>{t(config.infoMessage)}</h1>\n <button\n onClick={() => {\n module ? props?.errorData?.action() : props?.goToHome?.();\n }}\n >\n {t(config.buttonInfo)}\n </button>\n </div>\n </div>\n );\n};\n\nexport default ErrorComponent;\n","import { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst Header = ({ showTenant = true }) => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const { t } = useTranslation();\n\n if (isLoading) return <Loader />;\n\n //If HEADER_SVG config exists, return the custom block\n const headerSvgSecondaryUrl = window?.globalConfigs?.getConfig(\"SVG_HEADER_SECONDARY_LOGO_URL\");\n if (headerSvgSecondaryUrl) {\n return (\n <div className=\"bannerHeader secondaryBannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n <span style={{fontSize: \"xx-large\"}}>|</span>\n <ImageComponent\n className=\"svgHeaderLogo\"\n src={headerSvgSecondaryUrl}\n alt=\"DIGIT Logo\"\n />\n </div>\n );\n }\n\n // Default logic\n return (\n <div className=\"bannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n {showTenant && stateInfo?.code && (\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n )}\n </div>\n );\n};\n\nexport default Header;","import React, { Fragment, useState, useEffect } from \"react\";\nimport { Button, LandingPageCard, LandingPageWrapper } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\n\nimport { CustomSVG } from \"@egovernments/digit-ui-components\";\nconst Components = require(\"@egovernments/digit-ui-svg-components\");\n\nexport const RoleBasedEmployeeHome = ({ modules, additionalComponent }) => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate= useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n let sortedConfigEmployeesSidebar = null;\n const [mdmsOrderData, setMdmsOrderData] = useState([{}]);\n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"HomeScreenOrder\",\n [\n {\n name: \"CardsAndLinksOrder\",\n },\n ],\n {\n select: (data) => {\n return data?.[\"HomeScreenOrder\"]?.[\"CardsAndLinksOrder\"];\n },\n }\n );\n\n\n\n const { data: moduleConfigData, isLoading: isModuleConfigLoading } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"SandBoxLanding\",\n [\n {\n name: \"AdditionalModuleLinks\",\n },\n ],\n {\n \n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"AdditionalModuleLinks\"];\n },\n }\n );\n \n useEffect(() => {\n setMdmsOrderData(MdmsRes);\n }, [MdmsRes]);\n\n const transformURL = (url = \"\") => {\n if (url == \"/\") {\n return;\n }\n if (url?.indexOf(`/${window?.contextPath}`) === -1) {\n let updatedUrl = null;\n if (isMultiRootTenant) {\n url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n updatedUrl = url;\n } else {\n updatedUrl = url;\n }\n return updatedUrl;\n } else {\n return url;\n }\n };\n\n const getLinkByType = (moduleData, type) => {\n if (!moduleData || !type) return null;\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n const linkKey = moduleConfig?.[type];\n const links = moduleData?.links;\n return links?.find((item) => item?.displayName === linkKey) || null;\n };\n\n // Function to filter links dynamically based on module config\n const getFilteredLinks = (moduleData) => {\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n return moduleData?.links?.filter((item) => {\n const displayName = item.displayName;\n const isNotConfigureMaster = displayName !== \"Configure_master\";\n const isNotHowItWorks = displayName !== moduleConfig?.howItWorksLink;\n const isNotUserManual = displayName !== moduleConfig?.userManualLink;\n\n return isNotConfigureMaster && isNotHowItWorks && isNotUserManual;\n });\n };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n kpis: [],\n icon: item.leftIcon ? Digit.Utils.iconRender({iconName: item.leftIcon, iconFill: \"white\",CustomSVG,Components}) : \"\",\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = transformURL(item.navigationURL);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: linkUrl,\n icon: item.leftIcon,\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n displayName: item.displayName,\n });\n return acc;\n }, {});\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n\n const sortCardAndLink = (configEmployeeSideBar) => {\n const sortedModules = Object.keys(configEmployeeSideBar)\n .sort((a, b) => {\n const cardOrderA = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === a)?.order || null;\n const cardOrderB = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === b)?.order || null;\n return cardOrderA - cardOrderB;\n })\n .reduce((acc, module) => {\n const sortedLinks = configEmployeeSideBar?.[module]?.links?.sort((linkA, linkB) => {\n const labelA = linkA?.displayName;\n const labelB = linkB?.displayName;\n const orderA =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelA.replace(/\\s+/g, \"_\")}`)?.order || null;\n const orderB =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelB.replace(/\\s+/g, \"_\")}`)?.order || null;\n\n return orderA - orderB;\n });\n\n acc[module] = {\n ...configEmployeeSideBar[module],\n links: sortedLinks,\n };\n\n return acc;\n }, {});\n\n return sortedModules;\n };\n\n if (isMultiRootTenant) {\n sortedConfigEmployeesSidebar = sortCardAndLink(configEmployeeSideBar);\n } else {\n sortedConfigEmployeesSidebar = configEmployeeSideBar;\n }\n\n const children = Object.keys(sortedConfigEmployeesSidebar)?.map((current, index) => {\n const moduleData = sortedConfigEmployeesSidebar?.[current];\n const configureData = moduleData?.links?.find((item) => item?.displayName === \"Configure_master\");\n const howItWorks = getLinkByType(moduleData, \"howItWorksLink\");\n const userManual = getLinkByType(moduleData, \"userManualLink\");\n\n const propsForModuleCard = {\n icon: \"SupervisorAccount\",\n moduleName: t(moduleData?.label),\n metrics: [],\n links: Digit.Utils.getMultiRootTenant() ? getFilteredLinks(moduleData) : moduleData?.links,\n centreChildren: [\n <div>{t(Digit.Utils.locale.getTransformedLocale(`MODULE_CARD_DESC_${current}`))}</div>,\n howItWorks && (\n <Button\n variation=\"teritiary\"\n label={howItWorks?.label}\n icon={howItWorks?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(howItWorks?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ],\n endChildren: Digit.Utils.getMultiRootTenant()\n ? [\n configureData && (\n <Button\n variation=\"teritiary\"\n label={configureData?.label}\n icon={configureData?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => navigate(configureData?.link)}\n style={{ padding: \"0px\" }}\n />\n ),\n userManual && (\n <Button\n variation=\"teritiary\"\n label={userManual?.label}\n icon={userManual?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(userManual?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ]\n : null,\n };\n\n return <LandingPageCard buttonSize={\"medium\"} {...propsForModuleCard} />;\n });\n\n return (\n <>\n <LandingPageWrapper>{React.Children.map(children, (child) => React.cloneElement(child))}</LandingPageWrapper>\n </>\n );\n};","import React from \"react\";\nimport{ useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardHeader, LinkLabel, Card, Button } from \"@egovernments/digit-ui-components\";\nimport { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport { CardSubHeader, CardSectionHeader, BreakLine, CardSectionSubText } from \"@egovernments/digit-ui-react-components\";\n\nconst FaqComponent = (props) => {\n const { question,isLabelLink, answer,type,actions,content, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getStateId();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {isLabelLink ? (\n action?.label ? (\n <Button\n variation=\"teritiary\"\n label={t(action?.label)} \n type=\"button\"\n size={\"medium\"}\n onClick={() => {\n if (action?.fulllink) {\n window.open(action?.link, \"_blank\");\n } else {\n const baseURL = `https://${window.location.hostname}/${window?.globalPath}/${tenantId}`;\n window.open(`${baseURL}/${action?.link}`, \"_blank\");\n }\n }}\n style={{ padding: \"0px\" }}\n />\n ) : null\n ) : (\n action?.label ? <strong>{t(action?.label)}:</strong> : null\n )} \n {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nconst CardC = ({ type, title, content, actions, style }) => {\n const { t } = useTranslation();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div>\n {/* <div style={{ border: \"1px solid #ccc\", borderRadius: \"8px\", padding: \"16px\", margin: \"16px\", ...style }}> */}\n <CardSectionHeader>{t(title)}</CardSectionHeader>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {action?.label ? <strong>{t(action?.label)}:</strong> : null} {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n );\n};\n\nconst FAQ = ({ key, title, content, faqs ,type}) => {\n const { t } = useTranslation();\n return (\n <div style={{ width: \"100%\" }}>\n <div style={{ width: \"100%\" }}>\n {faqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} isLabelLink={faq.isLabelLink} type ={type} actions={faq.answer} content ={faq.content}lastIndex={i === faqs?.length - 1} />\n ))}\n </div>\n </div>\n );\n};\nconst QuickSetup = ({ cardConfig }) => {\n const { t } = useTranslation();\n\n const moduleFaqs = [\n {\n question: \"SANDBOX_FAQ_QUES_ONE\",\n answer: \"SANDBOX_FAQ_ANS_ONE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_TWO\",\n answer: \"SANDBOX_FAQ_ANS_TWO\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_THREE\",\n answer: \"SANDBOX_FAQ_ANS_THREE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_FOUR\",\n answer: \"SANDBOX_FAQ_ANS_FOUR\",\n },\n ];\n return (\n <Card className={\"sandbox-guide\"} style={{ width: \"25rem\", height: \"47rem\", overflowY: \"scroll\" }}>\n {/* <Card style={{ height: \"47rem\", overflowY: \"scroll\" }}> */}\n <CardHeader>{t(\"GUIDE_TO_SETUP\")}</CardHeader>\n <div style={{ display: \"flex\", flexWrap: \"wrap\" }}>\n {cardConfig.map((config, index) => {\n return config?.type === \"faqs\" ? (\n <FAQ key={config.id} title={config.title} type = {config?.type} content={config.content} faqs={config.actions} />\n ) : (\n <React.Fragment>\n <CardC\n type={config?.type}\n key={config.id}\n title={config.title}\n content={config.content}\n actions={config.actions}\n style={config.style}\n />\n {index !== cardConfig?.length - 1 && <BreakLine style={{ width: \"100%\", border: \"1px solid #d6d5d4\" }} />}\n </React.Fragment>\n );\n })}\n </div>\n </Card>\n );\n};\n\nexport default QuickSetup;","import React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardLabelError, Toast, CardLabel, Card, CardHeader, LinkLabel, Loader } from \"@egovernments/digit-ui-components\";\nimport QuickSetupComponent from \".\";\nimport QuickSetup from \"./QuickSetup\";\n\nconst QuickSetupConfigComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit.ULBService.getStateId();\n\n // const transformURL = (url = \"\") => {\n // if (url == \"/\") {\n // return;\n // }\n // if (Digit.Utils.isContextPathMissing(url)) {\n // let updatedUrl = null;\n // if (isMultiRootTenant) {\n // url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n // updatedUrl = url;\n // } else {\n // updatedUrl = DIGIT_UI_CONTEXTS?.every((e) => url?.indexOf(`/${e}`) === -1) ? \"/employee/\" + url : url;\n // }\n // return updatedUrl;\n // } else {\n // return url;\n // }\n // };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = Digit.Utils.transformURL(item.navigationURL, tenantId);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: queryParamIndex === -1 ? linkUrl : linkUrl.substring(0, queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n description: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}_DESCRIPTION`)),\n });\n return acc;\n }, {});\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n const QuickSetupConfig = [\n {\n sectionHeader: \"WELCOME_TO_SANDBOX\",\n sections: [\n {\n label: \"SANDBOX_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_3\",\n },\n ],\n },\n {\n sectionHeader: \"QUICK_SETUP\",\n links: configEmployeeSideBar,\n },\n ];\n\n const cardConfig = [\n {\n id: 1,\n type: \"faqs\",\n actions: [\n {\n question: \"SANDBOX_FAQ_QUES_14\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_14_LABEL_1\",\n fulllink:true,\n link:\"https://egov-digit.gitbook.io/digit-sandbox/specifications/user-manual/walkthrough-videos\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_1\",\n content: \"SANDBOX_FAQ_CONTENT_1\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_1\",\n link:\"citizen/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_2\",\n link: \"employee/user/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_2\",\n content: \"SANDBOX_FAQ_CONTENT_2\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_3\",\n content: \"SANDBOX_FAQ_CONTENT_3\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_4\",\n content: \"SANDBOX_FAQ_CONTENT_4\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_5\",\n content: \"SANDBOX_FAQ_CONTENT_5\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_4\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_5\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_5\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_6\",\n content: \"SANDBOX_FAQ_CONTENT_6\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_7\",\n content: \"SANDBOX_FAQ_CONTENT_7\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_8\",\n content: \"SANDBOX_FAQ_CONTENT_8\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_4\",\n },\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_9\",\n content: \"SANDBOX_FAQ_CONTENT_9\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_10\",\n content: \"SANDBOX_FAQ_CONTENT_10\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_11\",\n content: \"SANDBOX_FAQ_CONTENT_11\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_12\",\n content: \"SANDBOX_FAQ_CONTENT_12\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_13\",\n content: \"SANDBOX_FAQ_CONTENT_13\",\n } \n ],\n },\n ];\n\n // return <QuickSetupComponent config={QuickSetupConfig}></QuickSetupComponent>;\n return <QuickSetup cardConfig={cardConfig}></QuickSetup>;\n};\n\nexport default QuickSetupConfigComponent;\n","import {\n CitizenHomeCard,\n CitizenInfoLabel,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\n\nimport { BackLink, CustomSVG, SVG, LandingPageWrapper, Card, Divider } from \"@egovernments/digit-ui-components\";\n\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { RoleBasedEmployeeHome } from \"./RoleBasedEmployeeHome\";\nimport QuickSetupConfigComponent from \"../pages/employee/QuickStart/Config\";\n\n/* \nFeature :: Citizen All service screen cards\n*/\nexport const processLinkData = (newData, code, t) => {\n const obj = newData?.[`${code}`];\n if (obj) {\n obj.map((link) => {\n if (Digit.Utils.getMultiRootTenant()) {\n link[\"navigationURL\"] = link[\"navigationURL\"].replace(\"/sandbox-ui/citizen\", `/sandbox-ui/${Digit.ULBService.getStateId()}/citizen`);\n }\n link.link = link[\"navigationURL\"];\n link.i18nKey = t(link[\"name\"]);\n\n });\n }\n const newObj = {\n links: obj?.reverse(),\n header: Digit.Utils.locale.getTransformedLocale(`ACTION_TEST_${code}`),\n iconName: `CITIZEN_${code}_ICON`,\n };\n if (code === \"FSM\") {\n const roleBasedLoginRoutes = [\n {\n role: \"FSM_DSO\",\n from: `/${window?.contextPath}/citizen/fsm/dso-dashboard`,\n dashoardLink: \"CS_LINK_DSO_DASHBOARD\",\n loginLink: \"CS_LINK_LOGIN_DSO\",\n },\n ];\n //RAIN-7297\n roleBasedLoginRoutes.map(({ role, from, loginLink, dashoardLink }) => {\n if (Digit.UserService.hasAccess(role))\n newObj?.links?.push({\n link: from,\n i18nKey: t(dashoardLink),\n });\n else\n newObj?.links?.push({\n link: `/${window?.contextPath}/citizen/login`,\n state: { role: \"FSM_DSO\", from },\n i18nKey: t(loginLink),\n });\n });\n }\n\n return newObj;\n};\nconst iconSelector = (code) => {\n switch (code) {\n case \"PT\":\n return <CustomSVG.PTIcon className=\"fill-path-primary-main\" />;\n case \"WS\":\n return <CustomSVG.WSICon className=\"fill-path-primary-main\" />;\n case \"FSM\":\n return <CustomSVG.FSMIcon className=\"fill-path-primary-main\" />;\n case \"MCollect\":\n return <CustomSVG.MCollectIcon className=\"fill-path-primary-main\" />;\n case \"PGR\":\n return <CustomSVG.PGRIcon className=\"fill-path-primary-main\" />;\n case \"TL\":\n return <CustomSVG.TLIcon className=\"fill-path-primary-main\" />;\n case \"OBPS\":\n return <CustomSVG.OBPSIcon className=\"fill-path-primary-main\" />;\n case \"Bills\":\n return <CustomSVG.BillsIcon className=\"fill-path-primary-main\" />;\n default:\n return <CustomSVG.PTIcon className=\"fill-path-primary-main\" />;\n }\n};\nimport { useNavigate } from \"react-router-dom\";\n\n// Inside CitizenHome component\nconst CitizenHome = ({ getCitizenMenu, fetchedCitizen, isLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n if (isLoading || !fetchedCitizen || !getCitizenMenu) {\n return <Loader />;\n }\n\n const parentModules = Object.keys(getCitizenMenu);\n\n const handleLinkClick = (e, link) => {\n e.preventDefault();\n navigate(link);\n };\n\n \n\n const handleNavigate = (link) => {\n if (!link) return;\n link?.includes(`${window?.contextPath}/`) ? navigate(link) : (window.location.href = link);\n };\n\n const renderApplyIcon = () => (\n <SVG.AddExpense fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" />\n );\n\n const renderMyAppIcon = () => (\n <SVG.ListAlt fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" />\n );\n\n const isApplyLink = (link) => {\n const name = (link.name || link.displayName || \"\").toLowerCase();\n return name.includes(\"apply\") || name.includes(\"_apply\");\n };\n \n\n // Desktop: LandingPageWrapper + custom cards with icons (same grid as employee)\n if (!isMobile) {\n const children = parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (!mdmsDataObj?.links?.length) return null;\n\n const seenLinks = new Set();\n const dedupedLinks = mdmsDataObj.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .filter((link) => {\n const key = link.link;\n if (seenLinks.has(key)) return false;\n seenLinks.add(key);\n return true;\n });\n\n return (\n <Card key={code} className=\"digit-landing-page-card\" style={{ borderRadius: \"1rem\" }}>\n <div className=\"icon-module-header\">\n <div className=\"digit-landingpagecard-icon\">\n <CustomSVG.Devices fill=\"#C84C0E\" width=\"1rem\" height=\"1rem\" />\n </div>\n <div className=\"ladingcard-moduleName\" role=\"heading\" aria-level=\"2\">\n {t(mdmsDataObj?.header)}\n </div>\n </div>\n <Divider className=\"digit-landingpage-divider\" variant=\"small\" />\n {dedupedLinks.map((link, i) => {\n const LinkIcon = link.leftIcon && link.leftIcon !== \"TLIcon\" && CustomSVG[link.leftIcon] ? CustomSVG[link.leftIcon] : null;\n return (\n <button\n key={i}\n className=\"digit-button-teritiary medium\"\n type=\"button\"\n style={{ padding: \"0px\" }}\n onClick={() => handleNavigate(link.link)}\n >\n <div className=\"icon-label-container teritiary medium\">\n {LinkIcon ? <LinkIcon fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" /> : (isApplyLink(link) ? renderApplyIcon() : renderMyAppIcon())}\n <h2 className=\"digit-button-label\">{link.i18nKey}</h2>\n </div>\n </button>\n );\n })}\n </Card>\n );\n }).filter(Boolean);\n\n return (\n <div className=\"citizen-all-services-wrapper\">\n <div className=\"employee-app-container digit-home-employee-app\">\n <LandingPageWrapper>{children}</LandingPageWrapper>\n </div>\n </div>\n );\n }\n\n // Mobile: Original vertical card layout\n return (\n <div className=\"citizen-all-services-wrapper\">\n {location.pathname.includes(\n \"sanitation-ui/citizen/all-services\"\n ) || (location.pathname.includes(\"sandbox-ui\") && location.pathname.includes(\"all-services\")) ? null : (\n <BackLink onClick={() => window.history.back()}/>\n )}\n <div className=\"citizenAllServiceGrid\">\n {parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (mdmsDataObj?.links?.length > 0) {\n return (\n <div className=\"CitizenHomeCard\" key={code}>\n <div className=\"header\">\n <h2>{t(mdmsDataObj?.header)}</h2>\n {iconSelector(code)}\n </div>\n <div className=\"links\">\n {mdmsDataObj?.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .map((link, i) => (\n <div className=\"linksWrapper\" key={i}>\n <a\n href={link.link}\n onClick={(e) => handleLinkClick(e, link.link)}\n >\n {link.i18nKey}\n </a>\n </div>\n ))}\n </div>\n </div>\n );\n }\n return null;\n })}\n </div>\n </div>\n );\n};\n\nconst EmployeeHome = ({ modules, additionalComponent }) => {\n return (\n <>\n <div className=\"employee-app-container digit-home-employee-app\">\n {/* <div className=\"ground-container moduleCardWrapper gridModuleWrapper digit-home-moduleCardWrapper\"> */}\n <LandingPageWrapper>\n {modules?.map(({ code }, index) => {\n const Card =\n Digit.ComponentRegistryService.getComponent(`${code}Card`) ||\n (() => <React.Fragment />);\n return <Card key={index} />;\n })}\n </LandingPageWrapper>\n {/* </div> */}\n </div>\n\n {additionalComponent &&\n additionalComponent?.length > 0 &&\n additionalComponent.map((i) => {\n const Component =\n typeof i === \"string\"\n ? Digit.ComponentRegistryService.getComponent(i)\n : null;\n return Component ? (\n <div className=\"additional-component-wrapper\">\n <Component />\n </div>\n ) : null;\n })}\n </>\n );\n};\n\nexport const AppHome = ({\n userType,\n modules,\n getCitizenMenu,\n fetchedCitizen,\n isLoading,\n additionalComponent,\n}) => {\n if (userType === \"citizen\") {\n return (\n <CitizenHome\n modules={modules}\n getCitizenMenu={getCitizenMenu}\n fetchedCitizen={fetchedCitizen}\n isLoading={isLoading}\n />\n );\n }\n const isSuperUserWithMultipleRootTenant = Digit.UserService.hasAccess(\"SUPERUSER\") && Digit.Utils.getMultiRootTenant()\n return Digit.Utils.getRoleBasedHomeCard() ? (\n <div className={isSuperUserWithMultipleRootTenant ? \"homeWrapper\" : \"\"}>\n <RoleBasedEmployeeHome modules={modules} additionalComponent={additionalComponent} />\n {isSuperUserWithMultipleRootTenant && !window.Digit.Utils.browser.isMobile() ? <QuickSetupConfigComponent /> : null}\n </div>\n ) : (\n <EmployeeHome modules={modules} additionalComponent={additionalComponent} />\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst ImageComponent = ({\n src,\n alt = \"Image not found\",\n decorative = false,\n ariaLabel = \"No Image description set\",\n ariaLabelledby = \"no-image-description\",\n ...props\n}) => {\n // Determine the appropriate attributes based on the props\n const accessibilityProps = {};\n\n if (decorative) {\n // For decorative images\n accessibilityProps.alt = \"\";\n } else if (alt) {\n // Provide meaningful alt text if available\n accessibilityProps.alt = alt;\n } else if (ariaLabel) {\n // Use aria-label if alt is not provided\n accessibilityProps[\"aria-label\"] = ariaLabel;\n } else if (ariaLabelledby) {\n // Use aria-labelledby for descriptive associations\n accessibilityProps[\"aria-labelledby\"] = ariaLabelledby;\n } else {\n console.warn(\"AccessibleImage: Missing alt, aria-label, or aria-labelledby for non-decorative image.\");\n }\n\n return (\n <img\n src={src}\n {...accessibilityProps}\n {...props}\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }\n }}\n />\n );\n};\n\nImageComponent.propTypes = {\n src: PropTypes.string.isRequired, // The source URL for the image\n alt: PropTypes.string, // Alternative text for the image\n decorative: PropTypes.bool, // If true, image is decorative\n ariaLabel: PropTypes.string, // Custom label for screen readers\n ariaLabelledby: PropTypes.string, // Association with another descriptive element\n};\n\nexport default ImageComponent;\n","import { Hamburger, TopBar as TopBarComponent } from \"@egovernments/digit-ui-react-components\";\nimport { Dropdown } from \"@egovernments/digit-ui-components\";\nimport React,{Fragment} from \"react\";\nimport {useNavigate, useLocation } from \"react-router-dom\";\nimport ChangeCity from \"../ChangeCity\";\nimport ChangeLanguage from \"../ChangeLanguage\";\nimport { Header as TopBarComponentMain } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../ImageComponent\";\n\nconst DEFAULT_EGOV_LOGO =\"https://egov-dev-assets.s3.ap-south-1.amazonaws.com/egov-logo-2025.png\";\n\n\nconst TopBar = ({\n t,\n stateInfo,\n toggleSidebar,\n isSidebarOpen,\n handleLogout,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n userOptions,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n showLanguageChange = true,\n}) => {\n const [profilePic, setProfilePic] = React.useState(null);\n\n React.useEffect( () => {\n const app=async ()=>{\n const tenant = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCurrentTenantId();\n const uuid = userDetails?.info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n if (usersResponse && usersResponse.user && usersResponse.user.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n }\n app()\n }, [profilePic !== null, userDetails?.info?.uuid]);\n\n const CitizenHomePageTenantId = Digit.ULBService.getCitizenCurrentTenant(true);\n\n let navigate = useNavigate();\n const { pathname } = useLocation();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (Digit.UserService?.getUser()?.info?.type === \"CITIZEN\") {\n if (!CitizenHomePageTenantId) return false;\n else return true;\n }\n return false;\n };\n\n const { data: { unreadCount: unreadNotificationCount } = {}, isSuccess: notificationCountLoaded } = Digit.Hooks.useNotificationCount({\n tenantId: CitizenHomePageTenantId,\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n const updateSidebar = () => {\n if (!Digit.clikOusideFired) {\n toggleSidebar(true);\n } else {\n Digit.clikOusideFired = false;\n }\n };\n\n function onNotificationIconClick() {\n navigate(`/${window?.contextPath}/citizen/engagement/notifications`);\n }\n\n const urlsToDisableNotificationIcon = (pathname) =>\n !!Digit.UserService?.getUser()?.access_token\n ? false\n : [`/${window?.contextPath}/citizen/select-language`, `/${window?.contextPath}/citizen/select-location`].includes(pathname);\n\n if (CITIZEN) {\n return (\n <div>\n <TopBarComponent\n img={stateInfo?.logoUrlWhite}\n isMobile={true}\n toggleSidebar={updateSidebar}\n logoUrl={stateInfo?.logoUrlWhite}\n onLogout={handleLogout}\n userDetails={userDetails}\n notificationCount={unreadNotificationCount < 99 ? unreadNotificationCount : 99}\n notificationCountLoaded={notificationCountLoaded}\n cityOfCitizenShownBesideLogo={t(CitizenHomePageTenantId)}\n onNotificationIconClick={onNotificationIconClick}\n hideNotificationIconOnSomeUrlsWhenNotLoggedIn={urlsToDisableNotificationIcon(pathname)}\n changeLanguage={!mobileView ? <ChangeLanguage dropdown={true} /> : null}\n />\n </div>\n );\n }\n const loggedin = userDetails?.access_token ? true : false;\n\n //checking for custom topbar components\n const CustomEmployeeTopBar = Digit.ComponentRegistryService?.getComponent(\"CustomEmployeeTopBar\");\n\n if (CustomEmployeeTopBar) {\n return (\n <CustomEmployeeTopBar\n {...{\n t,\n stateInfo,\n toggleSidebar,\n isSidebarOpen,\n handleLogout,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n userOptions,\n handleUserDropdownSelection,\n logoUrl,\n showLanguageChange,\n loggedin,\n }}\n />\n );\n }\n return (\n <TopBarComponentMain\n actionFields={[\n <ChangeCity dropdown={true} t={t} />,\n showLanguageChange && <ChangeLanguage dropdown={true} />,\n userDetails?.access_token && (\n <Dropdown\n option={userOptions}\n optionKey=\"name\"\n profilePic={profilePic ? profilePic : userDetails?.info?.name || userDetails?.info?.userInfo?.name || \"Employee\"}\n select={handleUserDropdownSelection}\n showArrow={true}\n menuStyles={{ marginTop: \"1rem\" }}\n theme=\"light\"\n />\n ),\n ]}\n onHamburgerClick={() => {\n toggleSidebar();\n }}\n className=\"digit-employee-header\"\n img={logoUrl}\n logoWidth={\"64px\"}\n logoHeight={\"48px\"}\n logo={(loggedin ? cityDetails?.logoId : stateInfo?.statelogo)||DEFAULT_EGOV_LOGO}\n onImageClick={() => {}}\n onLogoClick={() => {}}\n props={{}}\n showDeafultImg\n style={{}}\n theme={window?.globalConfigs?.getConfig(\"HEADER_THEME\") || \"light\"}\n ulb={\n loggedin ? (\n cityDetails?.city?.ulbGrade ? (\n <>\n {t(cityDetails?.i18nKey).toUpperCase()}{\" \"}\n {t(`ULBGRADE_${cityDetails?.city?.ulbGrade.toUpperCase().replace(\" \", \"_\").replace(\".\", \"_\")}`).toUpperCase()}\n </>\n ) : (\n <ImageComponent className=\"state\" src={logoUrlWhite} alt=\"State Logo\" />\n )\n ) : (\n <>\n {t(`MYCITY_${stateInfo?.code?.toUpperCase()}_LABEL`)} {t(`MYCITY_STATECODE_LABEL`)}\n </>\n )\n }\n />\n );\n};\n\nexport default TopBar;\n","export const defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"/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\";","import React from \"react\";\nimport { LanguageIcon, LogoutIcon, AddressBookIcon, LocationIcon } from \"@egovernments/digit-ui-react-components\";\nimport ChangeLanguage from \"../components/ChangeLanguage\";\n\nconst SideBarMenu = (t, closeSidebar, redirectToLoginPage, isEmployee) => [\n {\n type: \"component\",\n element: \"LANGUAGE\",\n action: <ChangeLanguage />,\n icon: \"LanguageIcon\",\n },\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n];\n\nexport default SideBarMenu;\n","import React, { useEffect, useState } from \"react\";\nimport {\n HomeIcon,\n EditPencilIcon,\n LogoutIcon,\n AddressBookIcon,\n PropertyHouse,\n CaseIcon,\n CollectionIcon,\n PTIcon,\n OBPSIcon,\n PGRIcon,\n FSMIcon,\n WSICon,\n MCollectIcon,\n Phone,\n BirthIcon,\n DeathIcon,\n FirenocIcon,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport SideBarMenu from \"../../../config/sidebar-menu\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport ImageComponent from \"../../ImageComponent\";\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nconst Profile = ({ info, stateName, t }) => (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent className=\"img-responsive img-circle img-Profile\" src={defaultImage} alt=\"Profile Logo\" />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") && <ChangeCity t={t} mobileView={true} />}\n </div>\n);\nconst IconsObject = {\n CommonPTIcon: <PTIcon className=\"icon\" />,\n OBPSIcon: <OBPSIcon className=\"icon\" />,\n propertyIcon: <PropertyHouse className=\"icon\" />,\n TLIcon: <CaseIcon className=\"icon\" />,\n PGRIcon: <PGRIcon className=\"icon\" />,\n FSMIcon: <FSMIcon className=\"icon\" />,\n WSIcon: <WSICon className=\"icon\" />,\n MCollectIcon: <MCollectIcon className=\"icon\" />,\n BillsIcon: <CollectionIcon className=\"icon\" />,\n BirthIcon: <BirthIcon className=\"icon\" />,\n DeathIcon: <DeathIcon className=\"icon\" />,\n FirenocIcon: <FirenocIcon className=\"icon\" />,\n HomeIcon: <HomeIcon className=\"icon\" />,\n EditPencilIcon: <EditPencilIcon className=\"icon\" />,\n LogoutIcon: <LogoutIcon className=\"icon\" />,\n Phone: <Phone className=\"icon\" />,\n};\nconst StaticCitizenSideBar = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n const { pathname } = location;\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const [isEmployee, setisEmployee] = useState(false);\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n const handleOnSubmit = () => {\n if (Digit.Utils.getMultiRootTenant()) {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n } else {\n Digit.UserService.logout();\n setShowDialog(false);\n }\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const redirectToLoginPage = () => {\n \n navigate(`/${window?.contextPath}/citizen/login`);\n };\n const showProfilePage = () => {\n navigate(`/${window?.contextPath}/citizen/user/profile`);\n };\n\n const closeSidebar = () => {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n };\n\n let menuItems = [...SideBarMenu(t, showProfilePage, redirectToLoginPage, isEmployee)];\n\n menuItems = menuItems.filter((item) => item.element !== \"LANGUAGE\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const MenuItem = ({ item }) => {\n const leftIconArray = item?.icon || item.icon?.type?.name;\n const leftIcon = leftIconArray ? IconsObject[leftIconArray] : IconsObject.BillsIcon;\n let itemComponent;\n if (item.type === \"component\") {\n itemComponent = item.action;\n } else {\n itemComponent = item.text;\n }\n const Item = () => (\n <span className=\"menu-item\" {...item.populators}>\n {leftIcon}\n <div className=\"menu-label\">{itemComponent}</div>\n </span>\n );\n if (item.type === \"external-link\") {\n return (\n <a href={item.link}>\n <Item />\n </a>\n );\n }\n if (item.type === \"link\") {\n return (\n <Link to={item?.link}>\n <Item />\n </Link>\n );\n }\n\n return <Item />;\n };\n let profileItem;\n\n if (isFetched && user && user.access_token && user?.info?.type === \"CITIZEN\") {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n menuItems = [\n ...menuItems,\n {\n type: \"link\",\n icon: \"HomeIcon\",\n element: \"HOME\",\n text: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n link: isEmployee ? `/${window?.contextPath}/employee` : `/${window?.contextPath}/citizen`,\n populators: {\n onClick: closeSidebar,\n },\n },\n {\n text: t(\"EDIT_PROFILE\"),\n element: \"PROFILE\",\n icon: \"EditPencilIcon\",\n populators: {\n onClick: showProfilePage,\n },\n },\n {\n text: t(\"CORE_COMMON_LOGOUT\"),\n element: \"LOGOUT\",\n icon: \"LogoutIcon\",\n populators: { onClick: handleLogout },\n },\n {\n text: (\n <React.Fragment>\n {t(\"CS_COMMON_HELPLINE\")}\n <div className=\"telephone\" style={{ marginTop: \"-10%\" }}>\n {storeData?.tenants?.length > 0 && (\n <div className=\"link\">\n <a href={`tel:${\n storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || ''\n }`}>\n {storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || t(\"CS_NA\")}\n </a>\n </div>\n )}\n </div>\n </React.Fragment>\n ),\n element: \"Helpline\",\n icon: \"Phone\",\n}\n ];\n }\n Object.keys(linkData || {})\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === `${window.contextPath}-links`) {\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n }\n });\n\n return (\n <React.Fragment>\n <div>\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n top: \"0px\",\n backgroundColor: \"rgba(0, 0, 0, 0.54)\",\n pointerzevents: \"auto\",\n }}\n ></div>\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n height: isMobile ? \"calc(100vh - 56px)\" : \"auto\",\n zIndex: \"99\",\n }}\n >\n {profileItem}\n <div className=\"drawer-desktop\">\n {menuItems?.map((item, index) => (\n <div className={`sidebar-list ${pathname === item?.link || pathname === item?.sidebarURL ? \"active\" : \"\"}`} key={index}>\n <MenuItem item={item} />\n </div>\n ))}\n </div>\n </div>\n <div>{showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}</div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default StaticCitizenSideBar;\n","// import { NavBar } from \"@egovernments/digit-ui-react-components\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport React, { useState, Fragment, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport StaticCitizenSideBar from \"./StaticCitizenSideBar\";\nimport { Hamburger } from \"@egovernments/digit-ui-components\";\nimport { LogoutIcon } from \"@egovernments/digit-ui-react-components\";\nimport ImageComponent from \"../../ImageComponent\";\n\nconst Profile = ({ info, stateName, t }) => {\n const [profilePic, setProfilePic] = React.useState(null);\n React.useEffect(async () => {\n const tenant = Digit.ULBService.getCurrentTenantId();\n const uuid = info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n if (usersResponse && usersResponse.user && usersResponse?.user?.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n }, [profilePic !== null]);\n\n const CustomEmployeeTopBar = Digit.ComponentRegistryService?.getComponent(\"CustomEmployeeTopBar\");\n\n return (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent\n className=\"img-responsive img-circle img-Profile\"\n src={profilePic ? profilePic : defaultImage}\n style={{ objectFit: \"cover\", objectPosition: \"center\" }}\n alt=\"Profile Image\"\n />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") &&\n !CustomEmployeeTopBar && <ChangeCity t={t} mobileView={true} />}\n </div>\n );\n};\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nexport const CitizenSideBar = ({\n isOpen,\n isMobile = false,\n toggleSidebar,\n onLogout,\n isEmployee = false,\n linkData,\n islinkDataLoading,\n userProfile,\n}) => {\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [profilePic, setProfilePic] = useState(null);\n const { languages, stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n const [search, setSearch] = useState(\"\");\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); //selectedCities?.[0]?.value\n const [selected, setselected] = useState(selectedLanguage);\n let selectedCities = [];\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n \n // React Router v6: useNavigate replaces useHistory\n const navigate = useNavigate();\n // React Router v6: useLocation for accessing location object\n const location = useLocation();\n\n const stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: t(`TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`),\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n const closeSidebar = () => {\n Digit.clikOusideFired = true;\n toggleSidebar(false);\n };\n\n useEffect(() => {\n const fetchUserProfile = async () => {\n const tenant = Digit.ULBService.getCurrentTenantId();\n const uuid = user?.info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n const userData = usersResponse?.user?.[0];\n if (userData) {\n const currentUser = Digit.UserService.getUser();\n Digit.UserService.setUser({\n ...currentUser,\n info: userData\n });\n }\n if (usersResponse && usersResponse.user && usersResponse?.user?.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n };\n if (!profilePic) {\n fetchUserProfile();\n }\n }, [profilePic]);\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n\n // React Router v6: navigate with { replace: true } instead of history.replace()\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n const handleModuleClick = (url) => {\n let updatedUrl = null;\n if (Digit.Utils.getMultiRootTenant()) {\n updatedUrl = isEmployee\n ? url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`)\n : url.replace(\"/sandbox-ui/citizen\", `/sandbox-ui/${tenantId}/citizen`);\n // React Router v6: navigate() instead of history.push()\n navigate(updatedUrl);\n toggleSidebar();\n } else {\n url[0] === \"/\"\n ? navigate(`/${window?.contextPath}/${isEmployee ? \"employee\" : \"citizen\"}${url}`)\n : navigate(`/${window?.contextPath}/${isEmployee ? \"employee\" : \"citizen\"}/${url}`);\n toggleSidebar();\n }\n };\n\n const redirectToLoginPage = () => {\n if (isEmployee) {\n // React Router v6: navigate() instead of history.push()\n navigate(`/${window?.contextPath}/employee/user/language-selection`);\n } else {\n navigate(`/${window?.contextPath}/citizen/login`);\n }\n closeSidebar();\n };\n\n if (islinkDataLoading || isLoading) {\n return <Loader />;\n }\n\n let menuItems = [\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n ];\n\n let profileItem;\n if (isFetched && user && user.access_token) {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n }\n\n let configEmployeeSideBar = {};\n\n if (!isEmployee) {\n Object.keys(linkData)\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === \"digit-ui-links\")\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n });\n } else {\n data?.actions\n .filter((e) => e.url === \"url\" && e.displayName !== \"Home\")\n .forEach((item) => {\n if (search == \"\" && item.path !== \"\") {\n let index = item.path.split(\".\")[0];\n if (index === \"TradeLicense\") index = \"Trade License\";\n if (!configEmployeeSideBar[index]) {\n configEmployeeSideBar[index] = [item];\n } else {\n configEmployeeSideBar[index].push(item);\n }\n } else if (item.path !== \"\" && item?.displayName?.toLowerCase().includes(search.toLowerCase())) {\n let index = item.path.split(\".\")[0];\n if (index === \"TradeLicense\") index = \"Trade License\";\n if (!configEmployeeSideBar[index]) {\n configEmployeeSideBar[index] = [item];\n } else {\n configEmployeeSideBar[index].push(item);\n }\n }\n });\n const keys = Object.keys(configEmployeeSideBar);\n for (let i = 0; i < keys?.length; i++) {\n const getSingleDisplayName = configEmployeeSideBar[keys[i]][0]?.displayName?.toUpperCase()?.replace(/[ -]/g, \"_\");\n const getParentDisplayName = keys[i]?.toUpperCase()?.replace(/[ -]/g, \"_\");\n\n if (configEmployeeSideBar[keys[i]][0].path.indexOf(\".\") === -1) {\n menuItems.splice(1, 0, {\n type: \"link\",\n text: t(`ACTION_TEST_${getSingleDisplayName}`),\n link: configEmployeeSideBar[keys[i]][0]?.navigationURL,\n icon: configEmployeeSideBar[keys[i]][0]?.leftIcon,\n populators: {\n onClick: () => {\n // React Router v6: navigate() instead of history.push()\n navigate(configEmployeeSideBar[keys[i]][0]?.navigationURL);\n closeSidebar();\n },\n },\n });\n } else {\n menuItems.splice(1, 0, {\n type: \"dynamic\",\n moduleName: t(`ACTION_TEST_${getParentDisplayName}`),\n links: configEmployeeSideBar[keys[i]]?.map((ob) => {\n return {\n ...ob,\n displayName: t(`ACTION_TEST_${ob?.displayName?.toUpperCase()?.replace(/[ -]/g, \"_\")}`),\n };\n }),\n icon: configEmployeeSideBar[keys[i]][1]?.leftIcon,\n });\n }\n }\n const indx = menuItems.findIndex((a) => a.element === \"HOME\");\n const home = menuItems.splice(indx, 1);\n const comp = menuItems.findIndex((a) => a.element === \"LANGUAGE\");\n const part = menuItems.splice(comp, menuItems?.length - comp);\n menuItems.sort((a, b) => {\n let c1 = a?.type === \"dynamic\" ? a?.moduleName : a?.text;\n let c2 = b?.type === \"dynamic\" ? b?.moduleName : b?.text;\n return c1.localeCompare(c2);\n });\n home?.[0] && menuItems.splice(0, 0, home[0]);\n menuItems = part?.length > 0 ? menuItems.concat(part) : menuItems;\n }\n\n /* URL with openlink wont have sidebar and actions */\n // React Router v6: location.pathname instead of history.location.pathname\n if (location.pathname.includes(\"/openlink\")) {\n profileItem = <span></span>;\n menuItems = menuItems.filter((ele) => ele.element === \"LANGUAGE\");\n }\n\n menuItems = menuItems?.map((item) => ({\n ...item,\n label: item?.text || item?.moduleName || \"\",\n icon: item?.icon ? item?.icon : undefined,\n }));\n\n let city = \"\";\n if (Digit.Utils.getMultiRootTenant()) {\n city = t(`TENANT_TENANTS_${tenantId}`);\n } else {\n city = t(`TENANT_TENANTS_${stringReplaceAll(Digit.ULBService.getCurrentTenantId(), \".\", \"_\")?.toUpperCase()}`);\n // city = \"TEST\";\n }\n const goToHome = () => {\n if (isEmployee) {\n // React Router v6: navigate() instead of history.push()\n navigate(`/${window?.contextPath}/employee`);\n } else {\n navigate(`/${window?.contextPath}/citizen`);\n }\n };\n const onItemSelect = ({ item, index, parentIndex }) => {\n if (item?.navigationURL) {\n handleModuleClick(item?.navigationURL);\n } else if (item?.link) {\n handleModuleClick(item?.link);\n } else if (item?.type === \"custom\") {\n switch (item?.key) {\n case \"home\":\n goToHome();\n toggleSidebar();\n break;\n case \"editProfile\":\n userProfile();\n toggleSidebar();\n break;\n case \"language\":\n handleChangeLanguage(item);\n toggleSidebar();\n break;\n case \"city\":\n handleChangeCity(item);\n toggleSidebar();\n break;\n }\n } else {\n return;\n }\n };\n\n const transformedMenuItems = menuItems?.map((item) => {\n if (item?.type === \"dynamic\") {\n return {\n ...item,\n children: item?.links?.map((link) => ({\n ...link,\n label: link?.displayName,\n icon: link?.leftIcon,\n })),\n };\n } else {\n return item;\n }\n });\n\n const transformedSelectedCityData = selectCityData?.map((city) => ({\n ...city,\n type: \"custom\",\n key: \"city\",\n }));\n\n const transformedLanguageData = languages?.map((language) => ({\n ...language,\n type: \"custom\",\n key: \"language\",\n icon: \"Language\",\n }));\n\n const hamburgerItems = [\n {\n label: \"HOME\",\n value: \"HOME\",\n icon: \"Home\",\n // children: transformedSelectedCityData?.length>0 ? transformedSelectedCityData : undefined,\n type: \"custom\",\n key: \"home\",\n },\n {\n label: city,\n value: city,\n children: transformedSelectedCityData?.length > 0 ? transformedSelectedCityData : undefined,\n type: \"custom\",\n icon: \"LocationCity\",\n key: \"city\",\n },\n {\n label: t(\"Language\"),\n children: transformedLanguageData?.length > 0 ? transformedLanguageData : undefined,\n type: \"custom\",\n icon: \"Language\",\n key: \"language\",\n },\n ...(user && user.access_token\n ? [\n {\n label: t(\"EDIT_PROFILE\"),\n type: \"custom\",\n icon: \"Edit\",\n key: \"editProfile\",\n },\n ]\n : []),\n {\n label: t(\"Modules\"),\n icon: \"DriveFileMove\",\n children: transformedMenuItems,\n },\n ];\n return isMobile ? (\n <Hamburger\n items={hamburgerItems}\n profileName={user?.info?.name}\n profileNumber={user?.info?.mobileNumber || user?.info?.emailId}\n theme=\"dark\"\n transitionDuration={0.3}\n styles={{ marginTop: \"64px\", height: \"93%\" }}\n onLogout={onLogout}\n hideUserManuals={true}\n profile={profilePic ? profilePic : undefined}\n isSearchable={true}\n onSelect={({ item, index, parentIndex }) => onItemSelect({ item, index, parentIndex })}\n />\n ) : (\n <StaticCitizenSideBar logout={onLogout} />\n );\n};","import React, { useRef, useEffect, useState } from \"react\";\nimport { SideNav, Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport MediaQuery from 'react-responsive';\n\n\n\n\nconst EmployeeSideBar = () => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n\n function extractLeftIcon(data = {}) {\n for (const key in data) {\n const item = data[key];\n if (key === \"item\" && item?.leftIcon !== \"\") {\n return item?.leftIcon;\n }\n if (typeof data[key] === \"object\" && !Array.isArray(data[key])) {\n const subResult = extractLeftIcon(data[key]);\n if (subResult) {\n return subResult;\n }\n }\n }\n return null;\n }\n\n function mergeObjects(obj1, obj2) {\n for (const key in obj2) {\n if (obj2.hasOwnProperty(key)) {\n if (typeof obj2[key] === \"object\" && !Array.isArray(obj2[key])) {\n if (!obj1[key]) {\n obj1[key] = {};\n }\n mergeObjects(obj1[key], obj2[key]);\n } else {\n if (!obj1[key]) {\n obj1[key] = obj2[key];\n }\n }\n }\n }\n }\n\n const configEmployeeSideBar = {};\n data?.actions\n .filter((e) => e.url === \"url\")\n .forEach((item) => {\n let index = item?.path?.split(\".\")?.[0] || \"\";\n if (item?.path !== \"\") {\n const keys = item?.path?.split(\".\");\n let hierarchicalMap = {};\n\n keys.reduce((acc, key, index) => {\n if (index === keys.length - 1) {\n acc[key] = { item };\n } else {\n acc[key] = {};\n return acc[key];\n }\n }, hierarchicalMap);\n mergeObjects(configEmployeeSideBar, hierarchicalMap);\n }\n });\n\n const splitKeyValue = (configEmployeeSideBar) => {\n const objectArray = Object.entries(configEmployeeSideBar);\n objectArray.sort((a, b) => {\n if (a[0] < b[0]) {\n return -1;\n }\n if (a[0] > b[0]) {\n return 1;\n }\n return 0;\n });\n const sortedObject = Object.fromEntries(objectArray);\n configEmployeeSideBar = sortedObject;\n return configEmployeeSideBar;\n };\n\n const navigateToRespectiveURL = (navigate = {}, url = \"\") => {\n if (!url || url === \"/\") return;\n\n //Detect if it's an external link (starts with http or https)\n const isExternal = /^https?:\\/\\//i.test(url);\n\n if (isExternal) {\n //Open external links in a new tab\n window.open(url, \"_blank\", \"noopener,noreferrer\");\n return;\n }\n\n //Internal navigation logic\n if (!url.includes(`/${window?.contextPath}`)) {\n const hostUrl = window.location.origin;\n let updatedUrl;\n\n if (isMultiRootTenant) {\n const contextPath = window?.contextPath || \"sandbox-ui\";\n url = url.replace(`/${contextPath}/employee`, `/${contextPath}/${tenantId}/employee`);\n updatedUrl = url;\n navigate(updatedUrl);\n }\n else{\n updatedUrl = hostUrl + url;\n try {\n if (typeof window !== 'undefined') {\n window.location.href = updatedUrl;\n }\n } catch (error) {\n console.warn('Navigation failed, attempting fallback:', error);\n try {\n window.location.replace(updatedUrl);\n } catch (fallbackError) {\n console.error('All navigation methods failed:', fallbackError);\n }\n }\n }\n } else {\n navigate(url);\n }\n};\n\n const onItemSelect = ({ item, index, parentIndex }) => {\n if (item?.navigationUrl) {\n navigateToRespectiveURL(navigate, item?.navigationUrl);\n } else {\n return;\n } \n };\n\n function transformData(data) {\n const transformItem = (key, value) => {\n if (value.item) {\n return {\n label: t(value.item.displayName),\n icon: { icon: value.item.leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: value.item.navigationURL,\n orderNumber:value.item.orderNumber,\n };\n }\n const children = Object.keys(value).map((childKey) => transformItem(childKey, value[childKey]));\n const iconKey = extractLeftIcon(value);\n return {\n label: t(key),\n icon: { icon: iconKey, width: \"1.5rem\", height: \"1.5rem\" },\n children: children,\n };\n };\n return Object.keys(data).map((key) => transformItem(key, data[key]));\n }\n\n const sortDataByOrderNumber = (data) => {\n // Sort the current level of data by orderNumber, handling cases where orderNumber might be missing\n data.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity; // Use Infinity if orderNumber is missing\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity; // Use Infinity if orderNumber is missing\n return aOrder - bOrder;\n });\n \n // Recursively sort the children if they exist\n data.forEach((item) => {\n if (item.children && item.children.length > 0) {\n sortDataByOrderNumber(item.children);\n }\n });\n \n return data;\n };\n\n const transformedData = transformData(splitKeyValue(configEmployeeSideBar));\n const sortedTransformedData= sortDataByOrderNumber(transformedData);\n if (isLoading) {\n return <Loader />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n \n return (\n <MediaQuery minWidth={768}>\n <SideNav\n items={sortedTransformedData}\n hideAccessbilityTools={true}\n onSelect={({ item, index, parentIndex }) => onItemSelect({ item, index, parentIndex })}\n theme={window?.globalConfigs?.getConfig(\"SIDENAV_THEME\") || \"dark\"}\n variant={window?.globalConfigs?.getConfig(\"SIDENAV_VARIANT\") || \"primary\"}\n transitionDuration={\"\"}\n className=\"\"\n styles={{}}\n expandedWidth=\"\"\n collapsedWidth=\"\"\n onBottomItemClick={() => { }}\n />\n </MediaQuery>\n );\n};\n\nexport default EmployeeSideBar;\n\n\n\n\n\n","import React from \"react\";\nimport { CitizenSideBar } from \"./CitizenSideBar\";\nimport EmployeeSideBar from \"./EmployeeSideBar\";\n\nconst SideBar = ({ t, CITIZEN, isSidebarOpen, toggleSidebar, handleLogout, mobileView, userDetails, modules, linkData, islinkDataLoading,userProfile}) => {\n if (CITIZEN)\n return (\n <CitizenSideBar\n isOpen={isSidebarOpen}\n isMobile={true}\n toggleSidebar={toggleSidebar}\n onLogout={handleLogout}\n linkData={linkData}\n islinkDataLoading={islinkDataLoading}\n userProfile={userProfile}\n isEmployee={false}\n />\n );\n else {\n return !isSidebarOpen && userDetails?.access_token ? (\n <div className=\"digit-employeeSidebar\">\n <EmployeeSideBar {...{ mobileView, userDetails, modules }} />\n </div>\n ) : (\n <div className=\"digit-citizenSidebar\">\n <CitizenSideBar\n isOpen={isSidebarOpen}\n isMobile={true}\n toggleSidebar={toggleSidebar}\n onLogout={handleLogout}\n isEmployee={true}\n userProfile={userProfile}\n />\n </div>\n );\n }\n};\n\nexport default SideBar;\n","import React, { useState } from \"react\";\nimport TopBar from \"./TopBar\";\nimport { useNavigate } from \"react-router-dom\";\nimport SideBar from \"./SideBar\";\nimport LogoutDialog from \"../Dialog/LogoutDialog\";\nconst TopBarSideBar = ({\n t,\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n showSidebar = true,\n showLanguageChange,\n linkData,\n islinkDataLoading,\n}) => {\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const navigate = useNavigate()\n const [showDialog, setShowDialog] = useState(false);\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n\n const clearSSOLogoutMarkers = () => {\n localStorage.removeItem(\"sso-provider\");\n localStorage.removeItem(\"sso-client-id\");\n localStorage.removeItem(\"sso-tenant-id\");\n localStorage.removeItem(\"sso-authority\");\n localStorage.removeItem(\"sso-logout-url\");\n localStorage.removeItem(\"sso-logout-redirect-param\");\n };\n\n const getSSOPostLogoutRedirectUri = () => `${window.location.origin}/${window?.contextPath || \"\"}/employee`;\n\n const handleSSOLogout = async () => {\n const provider = localStorage.getItem(\"sso-provider\");\n const normalizedProvider = provider?.toUpperCase();\n const logoutUrlFromConfig = localStorage.getItem(\"sso-logout-url\");\n const redirectParamName = localStorage.getItem(\"sso-logout-redirect-param\") || \"post_logout_redirect_uri\";\n\n // Perform provider-specific cleanup before logout\n if (normalizedProvider === \"GOOGLE\") {\n const token = localStorage.getItem(\"google_access_token\");\n\n try {\n if (window.google?.accounts?.id) {\n window.google.accounts.id.disableAutoSelect();\n }\n\n if (token) {\n await fetch(`https://oauth2.googleapis.com/revoke?token=${encodeURIComponent(token)}`, {\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/x-www-form-urlencoded\",\n },\n });\n localStorage.removeItem(\"google_access_token\");\n }\n } catch (error) {\n console.error(\"Provider cleanup error\", error);\n }\n }\n\n // Generic SSO logout handler\n if (logoutUrlFromConfig) {\n const postLogoutRedirectUri = getSSOPostLogoutRedirectUri();\n clearSSOLogoutMarkers();\n\n try {\n await Digit.UserService.logout();\n } finally {\n try {\n const url = new URL(logoutUrlFromConfig);\n url.searchParams.set(redirectParamName, postLogoutRedirectUri);\n window.location.href = url.toString();\n } catch (error) {\n window.location.href = `${logoutUrlFromConfig}?${redirectParamName}=${encodeURIComponent(postLogoutRedirectUri)}`;\n }\n }\n\n return true;\n }\n\n return false;\n };\n\n const handleOnSubmit = async () => {\n const handledBySSO = await handleSSOLogout();\n if (!handledBySSO) {\n Digit.UserService.logout();\n }\n setShowDialog(false);\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n const handleSidebar = () => {\n toggleSidebar(!isSidebarOpen);\n };\n const userProfile = () => {\n CITIZEN ? navigate(`/${window?.contextPath}/citizen/user/profile`) : navigate(`/${window?.contextPath}/employee/user/profile`);\n };\n const userOptions = [\n { name: t(\"EDIT_PROFILE\"), icon: \"Edit\", func: userProfile },\n { name: t(\"CORE_COMMON_LOGOUT\"), icon: \"Logout\", func: handleLogout },\n ];\n\n return (\n <React.Fragment>\n <TopBar\n t={t}\n stateInfo={stateInfo}\n toggleSidebar={handleSidebar}\n isSidebarOpen={isSidebarOpen}\n handleLogout={handleLogout}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n userOptions={userOptions}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showLanguageChange={showLanguageChange}\n />\n {showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}\n {!CITIZEN\n ? showSidebar && (\n <SideBar\n t={t}\n CITIZEN={CITIZEN}\n isSidebarOpen={isSidebarOpen}\n toggleSidebar={handleSidebar}\n handleLogout={handleLogout}\n mobileView={mobileView}\n userDetails={userDetails}\n linkData={linkData}\n userProfile={userProfile}\n islinkDataLoading={islinkDataLoading}\n />\n )\n : CITIZEN\n ? showSidebar && isSidebarOpen && (\n <SideBar\n t={t}\n CITIZEN={CITIZEN}\n isSidebarOpen={isSidebarOpen}\n toggleSidebar={handleSidebar}\n handleLogout={handleLogout}\n mobileView={mobileView}\n userDetails={userDetails}\n linkData={linkData}\n userProfile={userProfile}\n islinkDataLoading={islinkDataLoading}\n />\n )\n : null}\n </React.Fragment>\n );\n};\nexport default TopBarSideBar;\n","import React, { useEffect } from 'react';\n\nconst withAutoFocusMain = (WrappedComponent, mainSelector = '.digit-home-main') => {\n return function WithAutoFocusWrapper(props) {\n useEffect(() => {\n const handleFirstTab = (e) => {\n if (e.key === 'Tab') {\n const main = document.querySelector(mainSelector);\n if (main) {\n main.setAttribute('tabindex', '-1');\n main.style.outline = 'none';\n main.focus();\n }\n window.removeEventListener('keydown', handleFirstTab);\n }\n };\n\n window.addEventListener('keydown', handleFirstTab);\n return () => window.removeEventListener('keydown', handleFirstTab);\n }, []);\n\n return <WrappedComponent {...props} />;\n };\n};\n\nexport default withAutoFocusMain;","import React, { useEffect, useRef } from \"react\";\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const timer = setInterval(tick, delay);\n return () => clearInterval(timer);\n }\n }, [delay]);\n}\n\nexport default useInterval;\n","export const useLoginConfig = (stateCode) => {\n const moduleName = Digit.Utils.getConfigModuleName();\n\n return Digit.Hooks.useCommonMDMS(\n stateCode,\n moduleName,\n [\"LoginConfig\"],\n {\n select: (data) => ({\n config: data?.[moduleName]?.LoginConfig,\n }),\n retry: false,\n }\n );\n};\n","import { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst FaqComponent = (props) => {\n const { question, answer, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <span>{t(answer)}</span>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nexport default FaqComponent;\n","import { BackButton, HeaderComponent, Loader ,SearchIconSvg} from \"@egovernments/digit-ui-components\";\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport FaqComponent from \"./FaqComponent\";\n\nconst FAQsSection = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId = user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n\n const SearchImg = () => {\n return <SearchIconSvg className=\"signature-img\" />;\n };\n\n const { isLoading, data } = Digit.Hooks.useGetFAQsJSON(Digit.ULBService.getStateId());\n\n const moduleFaqs = data?.MdmsRes[\"common-masters\"]?.faqs[0]?.[`${module}`].faqs;\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"faq-page\">\n <BackButton style={{ marginLeft: \"unset\" }}></BackButton>\n <div style={{ marginBottom: \"15px\" }}>\n <HeaderComponent styles={{ marginLeft: \"0px\", paddingTop: \"10px\", fontSize: \"32px\" }}>{t(\"FAQ_S\")}</HeaderComponent>\n </div>\n <div className=\"faq-list\">\n {moduleFaqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} lastIndex={i === moduleFaqs?.length - 1} />\n ))}\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default FAQsSection;\n","import { PageBasedInput, Loader, RadioButtons, CardHeader } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst LanguageSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n\n const { data: { languages, stateInfo } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LANGUAGE\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n const RadioButtonProps = useMemo(\n () => ({\n options: languages,\n optionsKey: \"label\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: (language) => Digit.LocalizationService.changeLanguage(language.value, stateInfo.code),\n selectedOption: languages?.filter((i) => i.value === selectedLanguage)[0],\n }),\n [selectedLanguage, languages]\n );\n\n function onSubmit() {\n navigate(`/${window?.contextPath}/citizen/select-location`);\n }\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"selection-card-wrapper\">\n <PageBasedInput texts={texts} onSubmit={onSubmit}>\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LANGUAGE\")}</CardHeader>\n <RadioButtons {...RadioButtonProps} />\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LanguageSelection;\n","import { BackLink } from \"@egovernments/digit-ui-components\";\nimport { CardHeader, CardLabelError, PageBasedInput, SearchOnRadioButtons } from \"@egovernments/digit-ui-react-components\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\n\nconst LocationSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\nconst {\n data: { stateInfo, uiHomePage } = {},\n isLoading: initisLoading,\n} = Digit.Hooks.useStore.getInitData();\n\nconst redirectURL = uiHomePage?.redirectURL;\n\nconst { data: cities, isLoading } = Digit.Hooks.useTenants();\n\n\n const [selectedCity, setSelectedCity] = useState(() => ({ code: Digit.ULBService.getCitizenCurrentTenant(true) }));\n const [showError, setShowError] = useState(false);\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LOCATION\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n function selectCity(city) {\n setSelectedCity(city);\n setShowError(false);\n }\n\n const RadioButtonProps = useMemo(() => {\n return {\n options: cities,\n optionsKey:\"i18nKey\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: selectCity,\n selectedOption: selectedCity,\n };\n }, [cities, t, selectedCity]);\n\n function onSubmit() {\n if (selectedCity) {\n Digit.SessionStorage.set(\"CITIZEN.COMMON.HOME.CITY\", selectedCity);\n const redirectBackTo = location.state?.redirectBackTo;\n if(redirectURL){\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n else{\n if (redirectBackTo) {\n navigate(redirectBackTo, {replace:true});\n } else navigate(`/${window?.contextPath}/citizen`);\n }\n } else {\n setShowError(true);\n }\n }\n\n return isLoading ? (\n <loader />\n ) : (\n <div>\n <BackLink onClick={() => window.history.back()}/>\n <PageBasedInput texts={texts} onSubmit={onSubmit} className=\"location-selection-container\">\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LOCATION\")}</CardHeader>\n <SearchOnRadioButtons {...RadioButtonProps} placeholder={t(\"COMMON_TABLE_SEARCH\")} />\n {showError ? <CardLabelError>{t(\"CS_COMMON_LOCATION_SELECTION_ERROR\")}</CardLabelError> : null}\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LocationSelection;\n","import React, { useState, useEffect } from \"react\";\nimport { GalleryIcon, RemoveIcon } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction UploadDrawer({ setProfilePic, closeDrawer, userType, removeProfilePic ,showToast}) {\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(\"\");\n const [error, setError] = useState(null);\n const { t } = useTranslation();\n const selectfile = (e) => setFile(e.target.files[0]);\n const removeimg = () => {removeProfilePic(); closeDrawer()};\n const onOverlayBodyClick = () => closeDrawer();\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 1000000) {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"))\n setError(t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(`${userType}-profile`, file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n const fileStoreId = response?.data?.files[0]?.fileStoreId;\n setUploadedFile(fileStoreId);\n setProfilePic(fileStoreId);\n } else {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"))\n setError(t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n showToast(\"error\",t(\"CORE_COMMON_PROFILE_INVALID_FILE_INPUT\"))\n // setError(t(\"PT_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n return (\n <React.Fragment>\n <div\n style={{\n position: \"fixed\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n width: \"100%\",\n height: \"100vh\",\n backgroundColor: \"rgba(0,0,0,.5)\",\n // zIndex: \"9998\",\n }}\n onClick={onOverlayBodyClick}\n ></div>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n display: \"flex\",\n backgroundColor: \"white\",\n alignItems: \"center\",\n position: \"fixed\",\n left: \"0\",\n right: \"0\",\n height: \"20%\",\n bottom: userType === \"citizen\" ? \"2.5rem\" : \"0\",\n zIndex: \"1000\",\n }}\n >\n <div\n style={{ display: \"flex\", flex: \"1\", flexDirection: \"column\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", gap: \"8px 0\" }}\n >\n <label for=\"file\" style={{ cursor: \"pointer\" }}>\n {\" \"}\n <GalleryIcon />\n </label>\n <label style={{ cursor: \"pointer\" }}> Gallery</label>\n <input type=\"file\" id=\"file\" accept=\"image/*, .png, .jpeg, .jpg\" onChange={selectfile} style={{ display: \"none\" }} />\n </div>\n\n <div\n style={{ display: \"flex\", flex: \"1\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", flexDirection: \"column\", gap: \"8px 0\" }}\n >\n <button onClick={removeimg}>\n <RemoveIcon />\n </button>\n <label style={{ cursor: \"pointer\" }}>Remove</label>\n </div>\n </div>\n </React.Fragment>\n );\n}\n\nexport default UploadDrawer;\n","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_TENANT = Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst IndividualUserProfile = ({ stateCode, userType, cityDetails }) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n // const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\"); // Handled in parent\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n\n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n\n if (uuid) {\n // New API using health-individual\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_search`,\n useCache: false,\n method: \"POST\",\n userService: true,\n params: {\n limit: 1000,\n offset: 0,\n tenantId: tenant,\n },\n body: {\n Individual: {\n userUuid: [uuid],\n tenantId: tenant,\n },\n },\n });\n\n if (response?.Individual?.length) {\n setUserDetails(response.Individual[0]);\n }\n }\n };\n\n React.useEffect(() => {\n window.addEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n return () => {\n window.removeEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n };\n });\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n if (name) {\n setName((prev) => prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n let responseInfo;\n\n // Build Individual object dynamically\n const individualPayload = {\n ...userDetails,\n tenantId: tenant,\n name: {\n givenName: name.trim(),\n familyName: userDetails?.name?.familyName,\n otherNames: userDetails?.name?.otherNames,\n },\n mobileNumber: mobileNumber,\n isDeleted: false,\n isSystemUser: true,\n isSystemUserActive: true,\n };\n\n // Only add optional fields if they have values\n if (gender?.value) {\n individualPayload.gender = gender.value;\n }\n\n if (email) {\n individualPayload.email = email;\n }\n\n if (profilePic) {\n individualPayload.photo = profilePic;\n }\n\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_update`,\n useCache: false,\n method: \"POST\",\n userService: true,\n body: {\n Individual: individualPayload,\n },\n });\n responseInfo = response?.responseInfo;\n \n\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n let errorObj;\n try {\n errorObj = JSON.parse(error);\n } catch (e) {\n errorObj = {\n type: \"error\",\n message: error?.response?.data?.Errors?.[0]?.description || \"CORE_COMMON_PROFILE_UPDATE_ERROR\",\n };\n }\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n // ... (RENDER JSX FROM NEW FILE) ...\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(-1)} />\n ) : (\n <BreadCrumb\n style={{ marginTop: \"0rem\", marginBottom: \"1.5rem\" }}\n crumbs={[\n {\n internalLink: isMultiRootTenant ? `/${window?.contextPath}/employee/sandbox/landing` : `/${window?.contextPath}/employee`,\n content: t(\"ES_COMMON_HOME\"),\n show: true,\n },\n {\n internalLink: `/${window?.contextPath}/employee/user/profile`,\n content: t(\"ES_COMMON_PAGE_1\"),\n show: url.includes(\"/user/profile\"),\n },\n ]}\n />\n )}\n </section>\n <div\n style={{\n display: \"flex\",\n flex: 1,\n flexDirection: windowWidth < 768 || userType === \"citizen\" ? \"column\" : \"row\",\n margin: userType === \"citizen\" ? \"8px\" : \"0px\",\n gap: userType === \"citizen\" ? \"\" : \"0 24px\",\n boxShadow: userType === \"citizen\" ? \"1px 1px 4px 0px rgba(0,0,0,0.2)\" : \"\",\n background: userType === \"citizen\" ? \"white\" : \"\",\n borderRadius: userType === \"citizen\" ? \"4px\" : \"\",\n maxWidth: userType === \"citizen\" ? \"960px\" : \"\",\n }}\n >\n <section\n style={{\n position: \"relative\",\n display: \"flex\",\n flex: userType === \"citizen\" ? 1 : 2.5,\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n // height: \"376px\",\n borderRadius: \"4px\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n border: `${userType === \"citizen\" ? \"8px\" : \"24px\"} solid #fff`,\n background: \"#EEEEEE\",\n padding: userType === \"citizen\" ? \"8px\" : \"16px\",\n }}\n >\n <div\n style={{\n position: \"relative\",\n height: userType === \"citizen\" ? \"114px\" : \"150px\",\n width: userType === \"citizen\" ? \"114px\" : \"150px\",\n margin: \"16px\",\n }}\n >\n <ImageComponent\n style={{\n margin: \"auto\",\n borderRadius: \"300px\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n src={!profileImg || profileImg === \"\" ? defaultImage : profileImg}\n alt=\"Profile Image\"\n />\n\n <button\n style={{\n position: \"absolute\",\n left: \"50%\",\n bottom: \"-24px\",\n transform: \"translateX(-50%)\",\n }}\n onClick={onClickAddPic}\n >\n <CameraIcon />\n </button>\n </div>\n </section>\n <section\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n flex: userType === \"citizen\" ? 1 : 7.5,\n width: \"100%\",\n borderRadius: \"4px\",\n height: \"fit-content\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n background: \"white\",\n padding: userType === \"citizen\" ? \"8px\" : \"24px\",\n paddingBottom: \"20px\",\n }}\n >\n {userType === \"citizen\" ? (\n <React.Fragment>\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\", maxWidth: \"960px\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disable={editScreen}\n />\n {/* {errors?.userName && (\n <CardLabelError>\n {\" \"}\n {t(errors?.userName?.message)}{\" \"}\n </CardLabelError>\n )} */}\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_GENDER\")}`}</CardLabel>\n <Dropdown\n style={{ width: \"100%\", fontSize: \"1rem\" }}\n className=\"form-field profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_EMAIL\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"email\"}\n isMandatory={false}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n placeholder=\"Enter Your Name\"\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disabled={editScreen}\n />\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_GENDER\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <Dropdown\n className=\"profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_CITY\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"city\"\n value={t(Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${tenant}`))}\n onChange={(e) => setCity(e.target.value)}\n placeholder=\"Enter Your City Name\"\n {...(validation = {\n isRequired: true,\n // pattern: \"^[a-zA-Z-.`' ]*$\",\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_CITY_ERROR_MESSAGE\"),\n })}\n disabled={true}\n />\n <ErrorMessage />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={{ width: \"300px\" }}>{`${t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER\")}*`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <MobileNumber\n value={mobileNumber}\n style={{ width: \"100%\" }}\n name=\"mobileNumber\"\n placeholder=\"Enter a valid Mobile No.\"\n onChange={(value) => setUserMobileNumber(value)}\n disable={Digit.Utils.getMultiRootTenant() ? false : true}\n {...{\n required: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.mobileNumber ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.mobileNumber,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n }}\n />\n {errors?.mobileNumber && (\n <ErrorMessage\n message={t(errors?.mobileNumber?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_EMAIL\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"email\"}\n isMandatory={false}\n placeholder={t(\"EMAIL_VALIDATION\")}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={Digit.Utils.getMultiRootTenant() ? true : editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <div style={{ width: \"100%\" }}>\n {changepassword == false && !Digit.Utils.getOTPBasedLogin() ? (\n <Button\n label={t(\"CORE_COMMON_CHANGE_PASSWORD\")}\n variation={\"teritiary\"}\n onClick={TogleforPassword}\n style={{ paddingLeft: \"20rem\" }}\n ></Button>\n ) : null}\n {changepassword ? (\n <div style={{ marginTop: \"10px\" }}>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CURRENT_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserCurrentPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.currentPassword && (\n <ErrorMessage\n message={t(errors?.currentPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_NEW_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserNewPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.newPassword && (\n <ErrorMessage\n message={t(errors?.newPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CONFIRM_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserConfirmPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.confirmPassword && (\n <ErrorMessage\n message={t(errors?.confirmPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </LabelFieldPair>\n {userType === \"employee\" && isMobile ? (\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default IndividualUserProfile;","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport IndividualUserProfile from \"./IndividualUserProfile\";\n\nconst DEFAULT_TENANT=Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst UserProfile = ({ stateCode, userType, cityDetails }) => {\n\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualUserProfile stateCode={stateCode} userType={userType} cityDetails={cityDetails} />;\n }\n \n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n \n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n usersResponse && usersResponse.user && usersResponse.user.length && setUserDetails(usersResponse.user[0]);\n }\n };\n\n React.useEffect(() => {\n const handleResize = () => setWindowWidth(window.innerWidth);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n const requestData = {\n ...userInfo,\n name,\n gender: gender?.value,\n emailId: email,\n photo: profilePic,\n };\n\n if(name){\n setName((prev)=>prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n // Updating state with trimmed values\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n \n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n const { responseInfo, user } = await Digit.UserService.updateUser(requestData, stateCode);\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n const errorObj = JSON.parse(error);\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(\"/\")} />\n ) : (\n <BreadCrumb\n style={{ marginTop: \"0rem\", marginBottom: \"1.5rem\" }}\n crumbs={[\n {\n internalLink: isMultiRootTenant ? `/${window?.contextPath}/employee/sandbox/landing` : `/${window?.contextPath}/employee`,\n content: t(\"ES_COMMON_HOME\"),\n show: true,\n },\n {\n internalLink: `/${window?.contextPath}/employee/user/profile`,\n content: t(\"ES_COMMON_PAGE_1\"),\n show: url.includes(\"/user/profile\"),\n },\n ]}\n />\n )}\n </section>\n <div\n style={{\n display: \"flex\",\n flex: 1,\n flexDirection: windowWidth < 768 || userType === \"citizen\" ? \"column\" : \"row\",\n margin: userType === \"citizen\" ? \"8px\" : \"0px\",\n gap: userType === \"citizen\" ? \"\" : \"0 24px\",\n boxShadow: userType === \"citizen\" ? \"1px 1px 4px 0px rgba(0,0,0,0.2)\" : \"\",\n background: userType === \"citizen\" ? \"white\" : \"\",\n borderRadius: userType === \"citizen\" ? \"4px\" : \"\",\n maxWidth: userType === \"citizen\" ? \"960px\" : \"\",\n }}\n >\n <section\n style={{\n position: \"relative\",\n display: \"flex\",\n flex: userType === \"citizen\" ? 1 : 2.5,\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n // height: \"376px\",\n borderRadius: \"4px\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n border: `${userType === \"citizen\" ? \"8px\" : \"24px\"} solid #fff`,\n background: \"#EEEEEE\",\n padding: userType === \"citizen\" ? \"8px\" : \"16px\",\n }}\n >\n <div\n style={{\n position: \"relative\",\n height: userType === \"citizen\" ? \"114px\" : \"150px\",\n width: userType === \"citizen\" ? \"114px\" : \"150px\",\n margin: \"16px\",\n }}\n >\n <ImageComponent\n style={{\n margin: \"auto\",\n borderRadius: \"300px\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n src={!profileImg || profileImg === \"\" ? defaultImage : profileImg}\n alt=\"Profile Image\"\n />\n\n <button\n style={{\n position: \"absolute\",\n left: \"50%\",\n bottom: \"-24px\",\n transform: \"translateX(-50%)\",\n }}\n onClick={onClickAddPic}\n >\n <CameraIcon />\n </button>\n </div>\n </section>\n <section\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n flex: userType === \"citizen\" ? 1 : 7.5,\n width: \"100%\",\n borderRadius: \"4px\",\n height: \"fit-content\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n background: \"white\",\n padding: userType === \"citizen\" ? \"8px\" : \"24px\",\n paddingBottom: \"20px\",\n }}\n >\n {userType === \"citizen\" ? (\n <React.Fragment>\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"40rem\", maxWidth: \"960px\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disable={editScreen}\n />\n {/* {errors?.userName && (\n <CardLabelError>\n {\" \"}\n {t(errors?.userName?.message)}{\" \"}\n </CardLabelError>\n )} */}\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_GENDER\")}`}</CardLabel>\n <Dropdown\n style={{ width: \"40rem\", fontSize: \"1rem\" }}\n className=\"form-field profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_EMAIL\")}`}</CardLabel>\n <div style={{ width: \"40rem\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"email\"}\n isMandatory={false}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n placeholder=\"Enter Your Name\"\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disabled={editScreen}\n />\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_GENDER\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <Dropdown\n className=\"profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_CITY\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"city\"\n value={t(Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${tenant}`))}\n onChange={(e) => setCity(e.target.value)}\n placeholder=\"Enter Your City Name\"\n {...(validation = {\n isRequired: true,\n // pattern: \"^[a-zA-Z-.`' ]*$\",\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_CITY_ERROR_MESSAGE\"),\n })}\n disabled={true}\n />\n <ErrorMessage />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={{ width: \"300px\" }}>{`${t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER\")}*`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <MobileNumber\n value={mobileNumber}\n style={{ width: \"100%\" }}\n name=\"mobileNumber\"\n placeholder=\"Enter a valid Mobile No.\"\n onChange={(value) => setUserMobileNumber(value)}\n disable={Digit.Utils.getMultiRootTenant() ? false : true}\n {...{\n required: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.mobileNumber ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.mobileNumber,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n }}\n />\n {errors?.mobileNumber && (\n <ErrorMessage\n message={t(errors?.mobileNumber?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_EMAIL\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"email\"}\n isMandatory={false}\n placeholder={t(\"EMAIL_VALIDATION\")}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={Digit.Utils.getMultiRootTenant() ? true : editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <div style={{ width: \"100%\" }}>\n {changepassword == false && !Digit.Utils.getOTPBasedLogin() ? (\n <Button\n label={t(\"CORE_COMMON_CHANGE_PASSWORD\")}\n variation={\"teritiary\"}\n onClick={TogleforPassword}\n style={{ paddingLeft: \"0rem\" }}\n ></Button>\n ) : null}\n {changepassword ? (\n <div style={{ marginTop: \"10px\" }}>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CURRENT_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserCurrentPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.currentPassword && (\n <ErrorMessage\n message={t(errors?.currentPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_NEW_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserNewPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.newPassword && (\n <ErrorMessage\n message={t(errors?.newPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CONFIRM_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserConfirmPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.confirmPassword && (\n <ErrorMessage\n message={t(errors?.confirmPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </LabelFieldPair>\n {userType === \"employee\" && isMobile ? (\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default UserProfile;","import {\n Calender,\n CardBasedOptions,\n CaseIcon,\n ComplaintIcon,\n DocumentIcon,\n HomeIcon,\n OBPSIcon,\n PTIcon,\n Loader,\n WhatsNewCard,\n} from \"@egovernments/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCitizenCurrentTenant(true);\n const { data: { stateInfo, uiHomePage } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (!Digit.UserService?.getUser()?.access_token) return false;\n return true;\n };\n\n const { data: EventsData, isLoading: EventsDataLoading } = Digit.Hooks.useEvents({\n tenantId,\n variant: \"whats-new\",\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n if (!tenantId) {\n navigate(`/${window?.contextPath}/citizen/select-language`);\n }\n\n const appBannerWebObj = uiHomePage?.appBannerDesktop;\n const appBannerMobObj = uiHomePage?.appBannerMobile;\n const citizenServicesObj = uiHomePage?.citizenServicesCard;\n const infoAndUpdatesObj = uiHomePage?.informationAndUpdatesCard;\n const whatsAppBannerWebObj = uiHomePage?.whatsAppBannerDesktop;\n const whatsAppBannerMobObj = uiHomePage?.whatsAppBannerMobile;\n const whatsNewSectionObj = uiHomePage?.whatsNewSection;\n const redirectURL = uiHomePage?.redirectURL;\n /* configure redirect URL only if it is required to overide the default citizen home screen */\n if (redirectURL) {\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n /* fix for sanitation ui & sandbox*/\n if (window?.location?.href?.includes?.(\"sanitation-ui\") || window?.location?.href?.includes?.(\"sandbox-ui\")) {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n }\n\n const handleClickOnWhatsAppBanner = (obj) => {\n window.open(obj?.navigationUrl);\n };\n\n const allCitizenServicesProps = {\n header: t(citizenServicesObj?.headerLabel),\n sideOption: {\n name: t(citizenServicesObj?.sideOption?.name),\n onClick: () =>\n navigate(citizenServicesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(citizenServicesObj?.props?.[0]?.label),\n Icon: <ComplaintIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[1]?.label),\n Icon: <PTIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[2]?.label),\n Icon: <CaseIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[2]?.navigationUrl),\n },\n // {\n // name: t(\"ACTION_TEST_WATER_AND_SEWERAGE\"),\n // Icon: <DropIcon/>,\n // onClick: () => history.push(`/${window?.contextPath}/citizen`)\n // },\n {\n name: t(citizenServicesObj?.props?.[3]?.label),\n Icon: <OBPSIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[3]?.navigationUrl),\n },\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n const allInfoAndUpdatesProps = {\n header: t(infoAndUpdatesObj?.headerLabel),\n sideOption: {\n name: t(infoAndUpdatesObj?.sideOption?.name),\n onClick: () => navigate(infoAndUpdatesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(infoAndUpdatesObj?.props?.[0]?.label),\n Icon: <HomeIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[1]?.label),\n Icon: <Calender />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[2]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[2]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[3]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[3]?.navigationUrl),\n },\n // {\n // name: t(\"CS_COMMON_HELP\"),\n // Icon: <HelpIcon/>\n // }\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"HomePageContainer\">\n {/* <div className=\"SideBarStatic\">\n <StaticCitizenSideBar />\n </div> */}\n <div className=\"HomePageWrapper\">\n {\n <div className=\"BannerWithSearch\">\n {isMobile ? (\n <ImageComponent src={appBannerMobObj?.bannerUrl} alt=\"Banner Image\" />\n ) : (\n <ImageComponent src={appBannerWebObj?.bannerUrl} alt=\"Banner Image\" />\n )}\n {/* <div className=\"Search\">\n <StandaloneSearchBar placeholder={t(\"CS_COMMON_SEARCH_PLACEHOLDER\")} />\n </div> */}\n <div className=\"ServicesSection\">\n <CardBasedOptions style={{ marginTop: \"-30px\" }} {...allCitizenServicesProps} />\n <CardBasedOptions style={isMobile ? {} : { marginTop: \"-30px\" }} {...allInfoAndUpdatesProps} />\n </div>\n </div>\n }\n\n {(whatsAppBannerMobObj || whatsAppBannerWebObj) && (\n <div className=\"WhatsAppBanner\">\n {isMobile ? (\n <ImageComponent\n src={whatsAppBannerMobObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerMobObj)}\n alt=\"Whatsapp Banner\"\n />\n ) : (\n <ImageComponent\n src={whatsAppBannerWebObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerWebObj)}\n alt=\"Whatsapp Banner\"\n />\n )}\n </div>\n )}\n\n {conditionsToDisableNotificationCountTrigger() ? (\n EventsDataLoading ? (\n <Loader />\n ) : (\n <div className=\"WhatsNewSection\">\n <div className=\"headSection\">\n <h2>{t(whatsNewSectionObj?.headerLabel)}</h2>\n <p onClick={() => navigate(whatsNewSectionObj?.sideOption?.navigationUrl)}>{t(whatsNewSectionObj?.sideOption?.name)}</p>\n </div>\n <WhatsNewCard {...EventsData?.[0]} />\n </div>\n )\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default Home;\n","import {\n BackButton,\n HeaderComponent,\n Loader,\n CloseSvg,\n DownloadImgIcon,\n PDFSvg,\n} from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst HowItWorks = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId =\n user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const storeData = Digit.SessionStorage.get(\"initData\");\n const stateInfo = storeData.stateInfo;\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n const [videoPlay, setVideoPlay] = useState(false);\n const [vidSrc, setVidSrc] = useState(\"\");\n\n const ViDSvg = () => (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 24C5.38053 24 0 18.6143 0 12C0 5.38054 5.38053 1.90735e-06 12 1.90735e-06C18.6143 1.90735e-06 24 5.38054 24 12C24 18.6143 18.6143 24 12 24ZM16.3488 10.7852L11.3855 7.25251C11.1263 7.0701 10.8238 6.97889 10.5214 6.97889C10.291 6.97889 10.0557 7.03172 9.83976 7.14202C9.34054 7.40118 9.02857 7.91006 9.02857 8.46694L9.02877 15.5323C9.02877 16.0892 9.34076 16.5979 9.83996 16.8572C10.3344 17.1116 10.9296 17.0732 11.3857 16.7467L16.349 13.214C16.7426 12.9356 16.9778 12.4795 16.9778 11.9996C16.9776 11.5197 16.7426 11.0636 16.3489 10.7852L16.3488 10.7852Z\"\n fill=\"white\"\n />\n </svg>\n );\n const onClickVideo = (vidObj) => {\n if (selected === \"hi_IN\") {\n setVidSrc(vidObj[\"hi_IN\"]);\n } else {\n setVidSrc(vidObj[\"en_IN\"]);\n }\n setVideoPlay(true);\n };\n const onClose = () => {\n setVideoPlay(false);\n };\n\n const { isLoading, data } = Digit.Hooks.useGetHowItWorksJSON(\n Digit.ULBService.getStateId()\n );\n\n const mdmsConfigResult =\n data?.MdmsRes[\"common-masters\"]?.howItWorks[0]?.[`${module}`];\n const languages = [\n {\n label: \"ENGLISH\",\n value: \"en_IN\",\n },\n {\n label: \"हिंदी\",\n value: \"hi_IN\",\n },\n ];\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"how-it-works-page\">\n <BackButton></BackButton>\n <div className=\"how-it-works-page-header\">\n <HeaderComponent>\n {t(\n mdmsConfigResult.screenHeader\n ? mdmsConfigResult.screenHeader\n : \"HOW_IT_WORKS\"\n )}\n </HeaderComponent>\n </div>\n <div className=\"language-selector\" style={{ margin: \"10px\" }}>\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={language.label}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n {mdmsConfigResult.videosJson.map((videos, index) => (\n <div>\n <div\n className=\"WhatsNewCard\"\n style={{\n float: \"left\",\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n }}\n >\n <div className=\"video-icon\" onClick={() => onClickVideo(videos)}>\n <div className=\"vid-svg\">\n <ViDSvg></ViDSvg>\n </div>\n </div>\n <div className=\"how-it-works-header-description\">\n <h2>{t(videos.headerLabel)}</h2>\n <p>{t(videos.description)}</p>\n </div>\n </div>\n </div>\n ))}\n {mdmsConfigResult.pdfHeader && mdmsConfigResult.pdfDesc && (\n <div\n className=\"WhatsNewCard\"\n style={{\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n display: \"inline-block\",\n }}\n >\n <div className=\"how-it-works-pdf-section\">\n <div className=\"pdf-icon-header-desc\">\n <div className=\"pdf-icon\">\n <PDFSvg></PDFSvg>\n </div>\n <div className=\"pdf-header-desc\">\n <h2>{t(mdmsConfigResult.pdfHeader)}</h2>\n <p>{t(mdmsConfigResult.pdfDesc)}</p>\n </div>\n </div>\n <div className=\"download-icon\">\n <DownloadImgIcon />\n </div>\n </div>\n </div>\n )}\n {videoPlay && (\n <div className=\"how-it-works-video-play\">\n <div className=\"close-button\">\n <CloseSvg onClick={onClose}></CloseSvg>\n </div>\n <video width={500} height={500} controls autoPlay>\n <source src={vidSrc} type=\"video/mp4\"></source>\n </video>\n </div>\n )}\n </div>\n </Fragment>\n );\n};\n\nexport default HowItWorks;\n","import { CardText, CardLabelError, FormStep } from \"@egovernments/digit-ui-components\";\nimport React, { Fragment, useState } from \"react\";\nimport useInterval from \"../../../hooks/useInterval\";\nimport { OTPInput } from \"@egovernments/digit-ui-react-components\";\n\nconst SelectOtp = ({ config, otp, onOtpChange, onResend, onSelect, t, error, userType = \"citizen\", canSubmit }) => {\n const [timeLeft, setTimeLeft] = useState(30);\n\n useInterval(\n () => {\n setTimeLeft(timeLeft - 1);\n },\n timeLeft > 0 ? 1000 : null\n );\n\n const handleResendOtp = () => {\n onResend();\n setTimeLeft(2);\n };\n\n if (userType === \"employee\") {\n return (\n <Fragment>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button resend-otp\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </Fragment>\n );\n }\n\n return (\n <FormStep onSelect={onSelect} config={config} t={t} isDisabled={!(otp?.length === 6 && canSubmit)}>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </FormStep>\n );\n};\n\nexport default SelectOtp;\n","export const loginSteps = [\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_MOBILE_NUMBER\",\n cardText: \"CS_LOGIN_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"text\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOB_NO\",\n validation: {\n required: true,\n minlength: 10,\n maxlength: 10,\n },\n },\n ],\n },\n {\n texts: {\n header: \"CS_LOGIN_OTP\",\n cardText: \"CS_LOGIN_OTP_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n },\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_NAME\",\n cardText: \"CS_LOGIN_NAME_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_NAME\",\n type: \"text\",\n name: \"name\",\n error: \"CORE_COMMON_NAME_VALIDMSG\",\n validation: {\n required: true,\n minlength: 1,\n maxlength: 50,\n // pattern: /^[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}$/i,\n // pattern: /^(?!\\s)[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}(?!\\s)$/i\n pattern: \"^[A-Za-z]+( [A-Za-z]+)*$\",\n },\n },\n ],\n },\n];\n","import { InputCard, TextBlock, FieldV1, LinkLabel } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo, useState } from \"react\";\n\nconst SelectMobileNumber = ({ t, onSelect, mobileNumber,emailId, onMobileChange,onEmailChange, config, canSubmit }) => {\n const [isEmail, setIsEmail] = useState(emailId? true : false);\n const [error, setError] = useState(\"\");\n\n const core_mobile_config = window?.globalConfigs?.getConfig(\"CORE_MOBILE_CONFIGS\") || {};\n const EMAIL_REGEX = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const rawPattern = core_mobile_config?.mobileNumberPattern || \"^\\\\d+$\";\n const mobileNumberPattern = new RegExp(rawPattern);\n\n const isEmailValid = useMemo(() => EMAIL_REGEX.test(emailId), [emailId]);\n const isMobileValid = useMemo(() => mobileNumberPattern.test(mobileNumber || \"\"), [mobileNumber, mobileNumberPattern]);\n\n const handleSubmit = () => {\n if (isEmail) {\n if (!isEmailValid) {\n setError(t(\"ERR_INVALID_EMAIL\"));\n return;\n }\n onSelect({ userName: emailId });\n } else {\n if (!isMobileValid) {\n setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n return;\n }\n onSelect({ mobileNumber });\n }\n };\n\n const handleChange = (e) => {\n const value = e.target.value;\n setError(\"\");\n if (isEmail) {\n onEmailChange(e)\n if (value && !EMAIL_REGEX.test(value)) setError(t(\"ERR_INVALID_EMAIL\"));\n } else {\n onMobileChange(e);\n if (value && !mobileNumberPattern.test(value)) setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n }\n };\n\n const switchMode = () => {\n setIsEmail(!isEmail);\n setError(\"\");\n if(isEmail)\n onEmailChange({ target: { value: \"\" } });\n else\n onMobileChange({ target: { value: \"\" } }); // clear mobile input\n };\n\n const isDisabled = useMemo(() => {\n return isEmail ? !(isEmailValid && canSubmit) : !(isMobileValid && canSubmit);\n }, [isEmail, isEmailValid, isMobileValid, canSubmit]);\n\n const mobileViewStyles = {\n marginLeft:\"0px\",\n userSelect: \"none\",\n color: \"inherit\", \n cursor: \"pointer\", // keeps it clickable\n textDecoration: \"underline\",\n };\n\n // Responsive label\n const linkLabel = useMemo(() => {\n if (window.innerWidth <= 768) {\n return isEmail ? t(\"LOGIN_WITH_MOBILE\") : t(\"LOGIN_WITH_EMAIL\");\n }\n return isEmail ? t(\"CS_USE_MOBILE_INSTEAD\") : t(\"CS_LOGIN_REGISTER_WITH_EMAIL\");\n }, [isEmail, t]);\n\n return (\n <InputCard\n t={t}\n texts={config?.texts}\n submit\n onNext={handleSubmit}\n isDisable={isDisabled}\n >\n <div>\n <FieldV1\n key={isEmail ? \"email\" : \"mobile\"}\n withoutLabel\n charCount\n error={error}\n onChange={handleChange}\n placeholder={isEmail ? t(\"ENTER_EMAIL_PLACEHOLDER\") : t(\"ENTER_MOBILE_PLACEHOLDER\")}\n populators={{\n name: isEmail ? \"userName\" : \"mobileNumber\",\n prefix: isEmail ? \"\" : core_mobile_config?.mobilePrefix,\n validation: {\n maxlength: isEmail ? 256 : (core_mobile_config?.mobileNumberLength || 10),\n pattern: isEmail ? EMAIL_REGEX : mobileNumberPattern,\n },\n }}\n props={{ fieldStyle: { width: \"100%\" } }}\n type=\"text\"\n value={isEmail ? emailId : mobileNumber}\n />\n </div>\n\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"1rem\", marginBottom: \"1.5rem\", marginTop: \"-24px\" }}>\n <LinkLabel style={{ display: \"inline\", ...mobileViewStyles }} onClick={switchMode}>\n {linkLabel}\n </LinkLabel>\n </div>\n </InputCard>\n );\n};\n\nexport default SelectMobileNumber;","import { FormStep } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\n\nconst SelectName = ({ config, onSelect, t, isDisabled }) => {\n return <FormStep config={config} onSelect={onSelect} t={t} isDisabled={isDisabled}></FormStep>;\n};\n\nexport default SelectName;\n","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nlet DEFAULT_REDIRECT_URL = `/${window?.contextPath || window?.globalConfigs?.getConfig(\"CONTEXT_PATH\")}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst IndividualLogin = ({ stateCode, isUserRegistered = false }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate();\n const [user, setUser] = useState(null);\n const [error, setError] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [params, setParams] = useState(isUserRegistered ? {} : location?.state?.data);\n const [errorTO, setErrorTO] = useState(null);\n const searchParams = Digit.Hooks.useQueryParams();\n const [canSubmitName, setCanSubmitName] = useState(false);\n const [canSubmitOtp, setCanSubmitOtp] = useState(true);\n const [canSubmitNo, setCanSubmitNo] = useState(true);\n\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n useEffect(() => {\n let errorTimeout;\n if (error) {\n if (errorTO) {\n clearTimeout(errorTO);\n setErrorTO(null);\n }\n errorTimeout = setTimeout(() => {\n setError(\"\");\n }, 5000);\n setErrorTO(errorTimeout);\n }\n return () => {\n errorTimeout && clearTimeout(errorTimeout);\n };\n }, [error]);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n Digit.UserService.setUser(user);\n setCitizenDetail(user?.info, user?.access_token, stateCode);\n const redirectPath = location.state?.from || DEFAULT_REDIRECT_URL;\n if (!Digit.ULBService.getCitizenCurrentTenant(true)) {\n navigate(\n `/${window?.contextPath}/citizen/select-location`,\n { state: { redirectBackTo: redirectPath }, replace: true }\n );\n } else {\n navigate(redirectPath, { replace: true });\n }\n }, [user]);\n\n const stepItems = useMemo(() =>\n loginSteps.map(\n (step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n \n ), [loginSteps]\n );\n\n const getUserType = () => \"citizen\" || Digit.UserService.getType();\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n const handleMobileChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, mobileNumber: value });\n };\n\n const handleEmailChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, userName: value });\n };\n\n const selectMobileNumber = async (mobileNumber) => {\n setCanSubmitNo(false);\n setParams({ ...params, ...mobileNumber });\n const data = {\n ...mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (!err) {\n setCanSubmitNo(true);\n navigate(`otp`, { \n state: { \n from: getFromLocation(location.state, searchParams) \n }, \n replace: true \n });\n return;\n } else {\n setCanSubmitNo(true);\n navigate(`name`, {\n state: {\n from: getFromLocation(location.state, searchParams),\n data: data\n },\n replace: true\n });\n }\n };\n\n const selectName = async (name) => {\n setCanSubmitName(true);\n\n const userData = {\n ...params,\n ...name,\n };\n\n setParams(userData);\n\n // Call the Individual service registration API\n const registerURL = `${individualServicePath}/v1/_register`;\n\n const requestData = {\n IndividualRegister: {\n tenantId: stateCode,\n name: userData.name,\n emailId: userData.userName || \"\",\n mobileNumber: userData.mobileNumber || \"\",\n requestType: \"Register\"\n }\n };\n\n try {\n const registerResponse = await Digit.CustomService.getResponse({\n url: registerURL,\n body: requestData,\n useCache: false,\n method: \"POST\",\n userService: false,\n auth: false,\n params: {}\n });\n\n if (!registerResponse) {\n throw new Error(\"Registration API failed\");\n }\n\n setCanSubmitName(false);\n // After registration, go to OTP screen\n navigate(`otp`, {\n state: {\n from: getFromLocation(location.state, searchParams)\n },\n replace: true\n });\n\n } catch (err) {\n console.error(\"Registration error:\", err);\n setCanSubmitName(false);\n setError(t(\"REGISTRATION_FAILED\") || \"Registration failed. Please try again.\");\n }\n };\n\n const selectOtp = async () => {\n try {\n setIsOtpValid(true);\n setCanSubmitOtp(false);\n const { mobileNumber, otp, userName } = params;\n\n // Authenticate with OTP\n const requestData = {\n username: mobileNumber || userName,\n password: otp,\n tenantId: stateCode,\n userType: getUserType(),\n };\n\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n\n } catch (err) {\n setCanSubmitOtp(true);\n setIsOtpValid(false);\n setError(t(\"INVALID_OTP\") || \"Invalid OTP\");\n }\n };\n\n const resendOtp = async () => {\n if (!isUserRegistered) {\n // For registration flow, user needs to complete registration first\n setError(t(\"PLEASE_COMPLETE_REGISTRATION\") || \"Please enter the OTP sent during registration.\");\n } else {\n // For login flow, resend OTP\n const { mobileNumber, userName } = params;\n const data = {\n mobileNumber,\n userName,\n tenantId: stateCode,\n userType: getUserType(),\n };\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (err) {\n setError(t(\"OTP_RESEND_ERROR\") || \"Failed to resend OTP\");\n }\n }\n };\n\n const sendOtp = async (data) => {\n try {\n const res = await Digit.UserService.sendOtp(data, stateCode);\n return [res, null];\n } catch (err) {\n return [null, err];\n }\n };\n\n return (\n <div className=\"citizen-form-wrapper citizen-form-center\">\n <AppContainer>\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => window.history.back()} />}\n <Routes>\n <Route\n path=\"/\" \n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n emailId={params.userName || \"\"}\n onMobileChange={handleMobileChange}\n onEmailChange={handleEmailChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered}\n t={t}\n />\n } \n />\n <Route \n path=\"otp\" \n element={\n <SelectOtp\n config={{ \n ...stepItems[1], \n texts: { \n ...stepItems[1].texts, \n cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || params.userName || \"\"}` \n } \n }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n } \n />\n <Route \n path=\"name\" \n element={\n <SelectName \n config={stepItems[2]} \n onSelect={selectName} \n t={t} \n isDisabled={canSubmitName} \n />\n } \n />\n </Routes>\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </AppContainer>\n </div>\n );\n};\n\nexport default IndividualLogin;","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\nimport IndividualLogin from \"./IndividualLogin\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nconst DEFAULT_REDIRECT_URL = `/${window?.contextPath}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst Login = ({ stateCode, isUserRegistered = true }) => {\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualLogin stateCode={stateCode} isUserRegistered={isUserRegistered} />;\n }\n\n // Otherwise, continue with standard login flow\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n // useRouteMatch is removed in v6. Path matching is handled by Routes/Route.\n // `path` and `url` were used for constructing sub-routes. In v6, paths are often relative.\n const [user, setUser] = useState(null);\n const [error, setError] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [params, setParams] = useState(isUserRegistered ? {} : location?.state?.data);\n const [errorTO, setErrorTO] = useState(null);\n const searchParams = Digit.Hooks.useQueryParams();\n const [canSubmitName, setCanSubmitName] = useState(false);\n const [canSubmitOtp, setCanSubmitOtp] = useState(true);\n const [canSubmitNo, setCanSubmitNo] = useState(true);\n\n useEffect(() => {\n let errorTimeout;\n if (error) {\n if (errorTO) {\n clearTimeout(errorTO);\n setErrorTO(null);\n }\n errorTimeout = setTimeout(() => {\n setError(\"\");\n }, 5000);\n setErrorTO(errorTimeout);\n }\n return () => {\n errorTimeout && clearTimeout(errorTimeout);\n };\n }, [error]);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n Digit.UserService.setUser(user);\n setCitizenDetail(user?.info, user?.access_token, stateCode);\n const redirectPath = location.state?.from || DEFAULT_REDIRECT_URL;\n if (!Digit.ULBService.getCitizenCurrentTenant(true)) {\n navigate(\n `/${window?.contextPath}/citizen/select-location`,\n { state: { redirectBackTo: redirectPath }, replace: true }\n );\n } else {\n navigate(redirectPath, { replace: true });\n }\n }, [user]);\n\n const stepItems = useMemo(\n () =>\n loginSteps.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginSteps]\n );\n\n const getUserType = () => \"citizen\" || Digit.UserService.getType();\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n const handleMobileChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, mobileNumber: value });\n };\n\n const selectMobileNumber = async (mobileNumber) => {\n setCanSubmitNo(false);\n setParams({ ...params, ...mobileNumber });\n const data = {\n ...mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n if (isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (!err) {\n setCanSubmitNo(true);\n // Use relative path for navigation, `.` means current base path\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams), role: location.state?.role }, replace: true });\n return;\n } else {\n setCanSubmitNo(true);\n if (!(location.state && location.state.role === \"FSM_DSO\")) {\n // Use absolute path if navigating outside the current route's scope, or relative if it's a sibling route\n navigate(`/${window?.contextPath}/citizen/register/name`, { state: { from: getFromLocation(location.state, searchParams), data: data } });\n }\n }\n if (location.state?.role) {\n setCanSubmitNo(true);\n setError(location.state?.role === \"FSM_DSO\" ? t(\"ES_ERROR_DSO_LOGIN\") : \"User not registered.\");\n }\n } else {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n if (!err) {\n setCanSubmitNo(true);\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams) }, replace: true });\n return;\n }\n setCanSubmitNo(true);\n }\n };\n\n const selectName = async (name) => {\n const data = {\n ...params,\n tenantId: stateCode,\n userType: getUserType(),\n ...name,\n };\n setParams({ ...params, ...name });\n setCanSubmitName(true);\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n if (res) {\n setCanSubmitName(false);\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams) }, replace: true });\n } else {\n setCanSubmitName(false);\n }\n };\n\n const selectOtp = async () => {\n try {\n setIsOtpValid(true);\n setCanSubmitOtp(false);\n const { mobileNumber, otp, name } = params;\n if (isUserRegistered) {\n const requestData = {\n username: mobileNumber,\n password: otp,\n tenantId: stateCode,\n userType: getUserType(),\n };\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n\n if (location.state?.role) {\n const roleInfo = info.roles.find((userRole) => userRole.code === location.state.role);\n if (!roleInfo || !roleInfo.code) {\n setError(t(\"ES_ERROR_USER_NOT_PERMITTED\"));\n // navigate also handles timeouts for redirects\n setTimeout(() => navigate(DEFAULT_REDIRECT_URL, { replace: true }), 5000);\n return;\n }\n }\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n } else if (!isUserRegistered) {\n const requestData = {\n name,\n username: mobileNumber,\n otpReference: otp,\n tenantId: stateCode,\n };\n\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.registerUser(requestData, stateCode);\n\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n }\n } catch (err) {\n setCanSubmitOtp(true);\n setIsOtpValid(false);\n }\n };\n\n const resendOtp = async () => {\n const { mobileNumber } = params;\n const data = {\n mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n if (!isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n } else if (isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n }\n };\n\n const sendOtp = async (data) => {\n try {\n const res = await Digit.UserService.sendOtp(data, stateCode);\n return [res, null];\n } catch (err) {\n return [null, err];\n }\n };\n\n const isCitizenDesktop = window.location.href.includes(\"citizen\") && !window.Digit.Utils.browser.isMobile();\n\n return (\n <div className={`citizen-form-wrapper${isCitizenDesktop ? ' citizen-form-center' : ''}`}>\n <AppContainer>\n {/* BackLink now uses navigate(-1) for going back */}\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => navigate(-1)} />}\n <Routes> {/* Replaced Switch with Routes */}\n {/* Route path is now relative to the parent <Routes> */}\n <Route\n path=\"/\" // This will match the base path where this component is rendered (e.g., /citizen/login if mounted there)\n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n onMobileChange={handleMobileChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered && !location.state?.role}\n t={t}\n />\n }\n />\n <Route\n path=\"otp\" // This will match /path/to/current/route/otp\n element={\n <SelectOtp\n config={{ ...stepItems[1], texts: { ...stepItems[1].texts, cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || \"\"}` } }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n }\n />\n <Route\n path=\"name\" // This will match /path/to/current/route/name\n element={<SelectName config={stepItems[2]} onSelect={selectName} t={t} isDisabled={canSubmitName} />}\n />\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </Routes>\n </AppContainer>\n </div>\n );\n};\n\nexport default Login;","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n exact: true,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n if (get(control._fields, name)) {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n value: get(control._fields, name)._f.value,\n });\n }\n }, [disabled, name, control]);\n return {\n field: {\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: React.useCallback((event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }), [name]),\n onBlur: React.useCallback(() => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }), [name, control]),\n ref: React.useCallback((elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n }, [control._fields, name]),\n },\n formState,\n fieldState: Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }),\n };\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n * <Form action=\"/api\" control={control}>\n * <input {...register(\"name\")} />\n * <p>{errors?.root?.server && 'Server error'}</p>\n * <button>Submit</button>\n * </Form>\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n for (const name of control._names.mount) {\n formData.append(name, get(data, name));\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(action, {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n break;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n break;\n }\n else {\n iterateFieldsByAction(currentField, action);\n }\n }\n else if (isObject(currentField)) {\n iterateFieldsByAction(currentField, action);\n }\n }\n }\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n props.rules &&\n control.register(name, props.rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (_proxyFormState.isValidating || _proxyFormState.validatingFields) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n _updateIsValidating([name], true);\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n _updateIsValidating([name]);\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, value, }) => {\n if ((isBoolean(disabled) && _state.mount) || !!disabled) {\n const inputValue = disabled\n ? undefined\n : isUndefined(value)\n ? getFieldValue(field ? field._f : get(fields, name)._f)\n : value;\n set(_formValues, name, inputValue);\n updateTouchAndDirty(name, inputValue, false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: options.disabled,\n name,\n value: options.value,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!props.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef();\n const _values = React.useRef();\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import { DatePicker, SearchField, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { Controller } from \"react-hook-form\";\nconst SearchFields = ({ register, control, reset, tenantId, t, previousPage, formState, isLoading }) => {\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_FROM_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"fromDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_TO_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"toDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-search-action-submit\">\n <Button\n style={{ marginTop: isMobile ? \"510px\" : \"25px\", marginLeft: isMobile ? \"0\" : \"-30px\", maxWidth: isMobile ? \"100%\" : \"240px\" }}\n label={t(\"ES_COMMON_APPLY\")}\n submit\n />\n </SearchField>\n </>\n );\n};\nexport default SearchFields;\n","import {\n BackButton,\n DetailsCard,\n HeaderComponent,\n Loader,\n PopUp,\n SearchAction,\n SearchForm,\n CloseSvg,\n DownloadBtnCommon,\n} from \"@egovernments/digit-ui-components\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useState,\n} from \"react\";\nimport SearchFormFields from \"./SearchFields\";\n// import { convertEpochToDateDMY } from \"../../utils\";\n\nconst MobileSearchApplication = ({\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n isLoading,\n}) => {\n function activateModal(state, action) {\n switch (action.type) {\n case \"set\":\n return action.payload;\n case \"remove\":\n return false;\n default:\n break;\n }\n }\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [currentlyActiveMobileModal, setActiveMobileModal] = useReducer(\n activateModal,\n false\n );\n\n const closeMobilePopupModal = () => {\n setActiveMobileModal({ type: \"remove\" });\n };\n\n const MobilePopUpCloseButton = () => (\n <div\n className=\"InboxMobilePopupCloseButtonWrapper\"\n onClick={closeMobilePopupModal}\n >\n <CloseSvg />\n </div>\n );\n const searchFormFieldsComponentProps = {\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n };\n\n const MobileComponentDirectory = ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) => {\n const { closeMobilePopupModal } = props;\n switch (currentlyActiveMobileModal) {\n case \"SearchFormComponent\":\n return (\n <SearchForm {...props}>\n <MobilePopUpCloseButton />\n <div className=\"MobilePopupHeadingWrapper\">\n <h2>{t(\"PRIVACY_AUDIT_REPORT\")}:</h2>\n </div>\n <SearchFormFields\n {...searchFormFieldsComponentProps}\n {...{ closeMobilePopupModal, tenantId, t }}\n />\n {/* <SearchField className=\"submit\">\n <SubmitBar label={t(\"ES_COMMON_SEARCH\")} submit form=\"search-form\"/>\n <p onClick={onResetSearchForm}>{t(`ES_COMMON_CLEAR_ALL`)}</p>\n </SearchField> */}\n </SearchForm>\n );\n default:\n return <span></span>;\n }\n };\n const CurrentMobileModalComponent = useCallback(\n ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) =>\n MobileComponentDirectory({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props,\n }),\n [currentlyActiveMobileModal]\n );\n let roles = [];\n data?.roles?.forEach((item) => {\n roles.push(item?.name);\n });\n const propsMobileInboxCards = useMemo(() => {\n if (data?.display) {\n return [];\n }\n if (data === \"\") {\n return [];\n }\n return data?.map((data) => ({\n [t(\"AUDIT_DATE_LABEL\")]: convertEpochToDate(data.timestamp),\n [t(\"AUDIT_TIME_LABEL\")]: convertEpochToTimeInHours(data.timestamp),\n [t(\"AUDIT_DATAVIEWED_LABEL\")]: data.dataView[0] + \",\" + data.dataView[1],\n [t(\"AUDIT_DATAVIEWED_BY_LABEL\")]: data.dataViewedBy,\n [t(\"AUDIT_ROLE_LABEL\")]: data.roles\n .slice(0, 3)\n ?.map((e) => e.name)\n .join(\",\"),\n }));\n }, [data]);\n\n return (\n <React.Fragment>\n <BackButton />\n <div\n className=\"sideContent\"\n style={{ marginLeft: \"70%\", marginTop: \"-12%\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}:</HeaderComponent>\n <div className=\"digit-search-box\">\n <SearchAction\n text={t(\"ES_COMMON_SEARCH\")}\n handleActionClick={() =>\n setActiveMobileModal({\n type: \"set\",\n payload: \"SearchFormComponent\",\n })\n }\n {...{ tenantId, t }}\n />\n </div>\n {currentlyActiveMobileModal ? (\n <PopUp>\n <CurrentMobileModalComponent\n onSubmit={(data) => {\n setActiveMobileModal({ type: \"remove\" });\n onSubmit(data);\n }}\n handleSubmit={handleSubmit}\n id=\"search-form\"\n className=\"rm-mb form-field-flex-one inboxPopupMobileWrapper\"\n {...{\n searchFormFieldsComponentProps,\n currentlyActiveMobileModal,\n closeMobilePopupModal,\n tenantId,\n }}\n />\n </PopUp>\n ) : null}\n {isLoading && <Loader />}\n <DetailsCard\n {...{\n data: propsMobileInboxCards,\n }}\n />\n </React.Fragment>\n );\n};\n\nexport default MobileSearchApplication;\n","import {\n DownloadBtnCommon,\n Table,\n} from \"@egovernments/digit-ui-react-components\";\nimport {\n BackButton,\n Loader,\n SearchForm,\n HeaderComponent\n} from \"@egovernments/digit-ui-components\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport MobileSearchApplication from \"./MobileSearchApplication\";\nimport SearchFields from \"./SearchFields\";\n\nconst SearchApplication = ({ tenantId, t, onSubmit, data, count }) => {\n const initialValues = Digit.SessionStorage.get(\n \"AUDIT_APPLICATION_DETAIL\"\n ) || {\n offset: 0,\n limit: 5,\n sortOrder: \"DESC\",\n };\n const {\n register,\n control,\n handleSubmit,\n setValue,\n getValues,\n reset,\n } = useForm({\n defaultValues: initialValues,\n });\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n register(\"offset\", 0);\n register(\"limit\", 5);\n register(\"sortOrder\", \"DESC\");\n }, [register]);\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const onSort = useCallback((args) => {\n if (args.length === 0) return;\n setValue(\"sortBy\", args.id);\n setValue(\"sortOrder\", args.desc ? \"DESC\" : \"ASC\");\n }, []);\n\n function onPageSizeChange(e) {\n setValue(\"limit\", Number(e.target.value));\n handleSubmit(onSubmit)();\n }\n\n function nextPage() {\n setValue(\"offset\", getValues(\"offset\") + getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n function previousPage() {\n setValue(\"offset\", getValues(\"offset\") - getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n if (isMobile) {\n return (\n <MobileSearchApplication\n {...{\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n }}\n />\n );\n }\n\n //need to get from workflow\n const GetCell = (value) => <span className=\"cell-text\">{value}</span>;\n const columns = useMemo(\n () => [\n {\n Header: t(\"AUDIT_DATE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToDate(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: t(\"AUDIT_TIME_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToTimeInHours(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_LABEL\")\n : t(\"AUDIT_DATAVIEWED_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataView}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_BY_LABEL\")\n : t(\"AUDIT_DATAVIEWED_BY_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataViewedBy}`);\n },\n },\n {\n Header: t(\"AUDIT_ROLE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.roles.slice(0, 3)?.map((e) => e.name)}`);\n },\n },\n ],\n []\n );\n\n return (\n <React.Fragment>\n <div style={{ marginRight: \"-70px\" }}>\n {\" \"}\n <BackButton />{\" \"}\n </div>\n <div style={{ marginTop: \"30px\", marginLeft: \"30px\" }}>\n {\" \"}\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}</HeaderComponent>{\" \"}\n </div>\n <SearchForm\n className=\"audit-card\"\n onSubmit={onSubmit}\n handleSubmit={handleSubmit}\n >\n <SearchFields\n {...{ register, control, reset, tenantId, t, previousPage }}\n />\n </SearchForm>\n <div\n style={{\n marginTop: \"240px\",\n marginLeft: \"-55%\",\n maxWidth: \"80%\",\n marginRight: \"52px\",\n }}\n >\n {data?.display ? (\n <div\n style={{\n marginTop: \"20x\",\n width: \"1025px\",\n marginLeft: \"25px\",\n backgroundColor: \"white\",\n height: \"60px\",\n }}\n >\n {t(data.display)\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </div>\n ) : data !== \"\" ? (\n <div\n style={{\n backgroundColor: \"white\",\n marginRight: \"-30px\",\n marginLeft: \"30px\",\n }}\n >\n <div\n className=\"sideContent\"\n style={{ float: \"right\", padding: \"10px 30px\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <Table\n t={t}\n data={data}\n totalRecords={count}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n minWidth:\n cellInfo.column.Header === t(\"ES_INBOX_APPLICATION_NO\")\n ? \"240px\"\n : \"\",\n padding: \"20px 18px\",\n fontSize: \"16px\",\n },\n };\n }}\n onPageSizeChange={onPageSizeChange}\n currentPage={getValues(\"offset\") / getValues(\"limit\")}\n onNextPage={nextPage}\n onPrevPage={previousPage}\n manualPagination={false}\n pageSizeLimit={getValues(\"limit\")}\n onSort={onSort}\n disableSort={false}\n sortParams={[\n {\n id: getValues(\"sortBy\"),\n desc: getValues(\"sortOrder\") === \"DESC\" ? true : false,\n },\n ]}\n />\n </div>\n ) : (\n <Loader />\n )}\n </div>\n </React.Fragment>\n );\n};\n\nexport default SearchApplication;\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport AuditSearchApplication from \"../../components/Search\";\nconst Search = ({ path }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant()\n const [payload, setPayload] = useState({});\n const convertDateToEpoch = (dateString, dayStartOrEnd = \"dayend\") => {\n //example input format : \"2018-10-02\"\n try {\n const parts = dateString.match(/(\\d{4})-(\\d{1,2})-(\\d{1,2})/);\n const DateObj = new Date(Date.UTC(parts[1], parts[2] - 1, parts[3]));\n DateObj.setMinutes(DateObj.getMinutes() + DateObj.getTimezoneOffset());\n if (dayStartOrEnd === \"dayend\") {\n DateObj.setHours(DateObj.getHours() + 24);\n DateObj.setSeconds(DateObj.getSeconds() - 1);\n }\n return DateObj.getTime();\n } catch (e) {\n return dateString;\n }\n };\n function onSubmit(_data) {\n Digit.SessionStorage.set(\"AUDIT_APPLICATION_DETAIL\", {\n offset: 0,\n limit: 5,\n sortBy: \"commencementDate\",\n sortOrder: \"DESC\",\n });\n const data = {\n ..._data,\n fromDate: convertDateToEpoch(_data?.fromDate),\n toDate: convertDateToEpoch(_data?.toDate),\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key] : data[key] }), {})\n );\n }\n useEffect(() => {\n const storedPayload = Digit.SessionStorage.get(\"AUDIT_APPLICATION_DETAIL\") || {};\n if (storedPayload) {\n const data = {\n ...storedPayload,\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key].code : data[key] }), {})\n );\n }\n }, []);\n const config = {\n enabled: !!(payload && Object.keys(payload).length > 0),\n };\n const newObj = { ...payload };\n \n const {\n isLoading,\n data,\n} = Digit.Hooks.useAudit({\n tenantId,\n filters: {\n ...newObj,\n },\n config,\n });\n\n return (\n <AuditSearchApplication\n t={t}\n tenantId={tenantId}\n onSubmit={onSubmit}\n data={\n !isLoading\n ? data?.ElasticSearchData?.length > 0\n ? data?.ElasticSearchData\n : { display: \"ES_COMMON_NO_DATA\" }\n : \"\"\n }\n count={data?.ElasticSearchData?.length}\n />\n );\n };\n export default Search;","import {\n Card,\n Loader,\n CaseIcon,\n ComplaintIcon,\n HelpLineIcon,\n MCollectIcon,\n PTIcon,\n RupeeSymbol,\n ServiceCenterIcon,\n TimerIcon,\n ValidityTimeIcon,\n WhatsappIconGreen,\n} from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst StaticDynamicCard = ({ moduleCode }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant();\n const {\n isLoading: isMdmsLoading,\n data: mdmsData,\n } = Digit.Hooks.useStaticData(Digit.ULBService.getStateId());\n const {\n isLoading: isSearchLoading,\n error,\n data: dynamicData,\n isSuccess,\n } = Digit.Hooks.useDynamicData({\n moduleCode,\n tenantId: tenantId,\n filters: {},\n t,\n });\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const IconComponent = ({ module, styles }) => {\n switch (module) {\n case \"TL\":\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"PT\":\n return <PTIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"MCOLLECT\":\n return (\n <MCollectIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n case \"PGR\":\n return (\n <ComplaintIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n default:\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n }\n };\n const mdmsConfigResult =\n mdmsData?.MdmsRes[\"common-masters\"]?.StaticData[0]?.[`${moduleCode}`];\n\n const StaticDataIconComponentOne = ({ module }) => {\n switch (module) {\n case \"PT\":\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const StaticDataIconComponentTwo = ({ module }) => {\n switch (module) {\n case \"PT\":\n return (\n <span className=\"rupeeSymbol\">\n <RupeeSymbol />\n </span>\n );\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const staticContent = (module) => {\n switch (module) {\n case \"TL\":\n case \"PT\":\n case \"MCOLLECT\":\n return {\n staticCommonContent: t(\"COMMON_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n case \"PGR\":\n return {\n staticCommonContent: t(\"ACTION_TEST_COMPLAINT_TYPES\"),\n };\n case \"OBPS\":\n return {\n staticCommonContent: t(\"BUILDING_PLAN_PERMIT_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n \" \" +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n default:\n return {\n staticCommonContent: \"\",\n };\n }\n };\n\n const staticData = (module) => {\n switch (module) {\n case \"PT\":\n return {\n staticDataOne:\n mdmsConfigResult?.staticDataOne + \" \" + t(\"COMMON_DAYS\"),\n staticDataOneHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n staticDataTwo: mdmsConfigResult?.staticDataTwo,\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_FEE\"),\n };\n case \"WS\":\n return {\n staticDataOne: \"\",\n staticDataOneHeader:\n t(\"PAY_WATER_CHARGES_BY\") +\n \" \" +\n mdmsConfigResult?.staticDataOne +\n \" \" +\n t(\"COMMON_DAYS\") +\n \" \" +\n t(\"OF_BILL_GEN_TO_AVOID_LATE_FEE\"),\n staticDataTwo:\n mdmsConfigResult?.staticDataTwo + \" \" + t(\"COMMON_DAYS\"),\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n };\n default:\n return {};\n }\n };\n\n if (isMdmsLoading || isSearchLoading) {\n return <Loader />;\n }\n return mdmsConfigResult ? (\n <React.Fragment>\n {mdmsConfigResult && mdmsConfigResult?.payViaWhatsApp ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div\n className=\"pay-whatsapp-card\"\n onClick={() =>\n handleClickOnWhatsApp(mdmsConfigResult?.payViaWhatsApp)\n }\n >\n <div className=\"pay-whatsapp-text\">{t(\"PAY_VIA_WHATSAPP\")}</div>\n <div className=\"whatsAppIconG\">\n <WhatsappIconGreen />\n </div>\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.helpline ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CALL_CENTER_HELPLINE\")}\n </div>\n <div className=\"helplineIcon\">\n <HelpLineIcon />\n </div>\n </div>\n <div className=\"call-center-card-text\">\n {mdmsConfigResult?.helpline?.contactOne ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactOne}`}>\n {mdmsConfigResult?.helpline?.contactOne}\n </a>\n </div>\n ) : null}\n {mdmsConfigResult?.helpline?.contactTwo ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactTwo}`}>\n {mdmsConfigResult?.helpline?.contactTwo}\n </a>\n </div>\n ) : null}\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.serviceCenter ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CITIZEN_SERVICE_CENTER\")}\n </div>\n <div className=\"serviceCentrIcon\">\n <ServiceCenterIcon />\n </div>\n </div>\n <div className=\"service-center-details-card\">\n <div className=\"service-center-details-text\">\n {mdmsConfigResult?.serviceCenter}\n </div>\n </div>\n {mdmsConfigResult?.viewMapLocation ? (\n <div className=\"link\">\n <a href={mdmsConfigResult?.viewMapLocation}>{t(\"VIEW_ON_MAP\")}</a>\n </div>\n ) : null}\n </Card>\n ) : (\n <div />\n )}\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataOne === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataOne}\n </span>\n </div>\n </div>\n )}\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataTwo === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataTwo}\n </span>\n </div>\n </div>\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataOne ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentOne module={moduleCode} />\n <span className=\"static-data-content\">\n <span\n className=\"static-data-content-first\"\n style={{\n marginTop:\n staticData(moduleCode)?.staticDataOne === \"\"\n ? \"8px\"\n : \"unset\",\n }}\n >\n {staticData(moduleCode)?.staticDataOneHeader}\n </span>\n <span className=\"static-data-content-second\">{`${\n staticData(moduleCode)?.staticDataOne\n }`}</span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataTwo ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentTwo module={moduleCode} />\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticData(moduleCode)?.staticDataTwoHeader}\n </span>\n <span className=\"static-data-content-second\">\n {staticData(moduleCode)?.staticDataTwo}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.validity ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {staticContent(moduleCode)?.validity}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {error ||\n dynamicData == null ||\n !dynamicData?.staticData ||\n dynamicData?.staticData === null ? (\n <div />\n ) : (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n {moduleCode === \"PGR\" ? (\n <IconComponent\n module={moduleCode}\n styles={{\n width: \"24px\",\n height: \"24px\",\n marginLeft: \"13px\",\n marginTop: \"12px\",\n }}\n />\n ) : (\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n )}\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {dynamicData?.staticData}\n </span>\n </span>\n </div>\n </div>\n )}\n </Card>\n </React.Fragment>\n ) : (\n <React.Fragment />\n );\n};\n\nexport default StaticDynamicCard;\n","import React, { useState } from \"react\";\nimport { SideNav, Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport MediaQuery from \"react-responsive\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\n\nconst CitizenSideNav = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit?.ULBService?.getStateId();\n const user = Digit.UserService.getUser();\n const isLoggedIn = user && user.access_token && user?.info?.type === \"CITIZEN\";\n\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogoutSubmit = () => {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n };\n\n const handleLogoutCancel = () => {\n setShowDialog(false);\n };\n\n const navigateToUrl = (url) => {\n if (!url || url === \"/\") return;\n\n const isExternal = /^https?:\\/\\//i.test(url);\n if (isExternal) {\n window.open(url, \"_blank\", \"noopener,noreferrer\");\n return;\n }\n\n if (!url.includes(`/${window?.contextPath}`)) {\n const hostUrl = window.location.origin;\n if (isMultiRootTenant) {\n const contextPath = window?.contextPath || \"sandbox-ui\";\n url = url.replace(`/${contextPath}/citizen`, `/${contextPath}/${tenantId}/citizen`);\n navigate(url);\n } else {\n const updatedUrl = hostUrl + url;\n try {\n window.location.href = updatedUrl;\n } catch (error) {\n console.warn(\"Navigation failed, attempting fallback:\", error);\n window.location.replace(updatedUrl);\n }\n }\n } else {\n navigate(url);\n }\n };\n\n const onItemSelect = ({ item }) => {\n if (item?.navigationUrl) {\n navigateToUrl(item.navigationUrl);\n }\n };\n\n const onBottomItemClick = (item) => {\n if (item === \"Logout\") {\n setShowDialog(true);\n }\n };\n\n const buildItems = () => {\n const isDigitStudio = window.location.href.includes(\"digit-studio\");\n const items = [];\n let orderCounter = 1;\n\n if (isLoggedIn) {\n items.push({\n label: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n icon: { icon: \"Home\", width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: `/${window?.contextPath}/citizen`,\n orderNumber: orderCounter++,\n });\n\n items.push({\n label: t(\"EDIT_PROFILE\"),\n icon: { icon: \"Edit\", width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: `/${window?.contextPath}/citizen/user/profile`,\n orderNumber: orderCounter++,\n });\n }\n\n Object.keys(linkData || {})\n ?.sort((x, y) => x.localeCompare(y))\n ?.forEach((key) => {\n const moduleEntries = linkData[key];\n if (!moduleEntries || moduleEntries.length === 0) return;\n\n // Check if any entry in this module has a sidebar value ending with \"-links\"\n const hasSidebarLink = moduleEntries.some((entry) => entry.sidebar?.endsWith(\"-links\"));\n if (!hasSidebarLink) return;\n\n const rawIcon = moduleEntries[0]?.leftIcon;\n const leftIcon = isDigitStudio && (!rawIcon || rawIcon === \"TLIcon\") ? \"Devices\" : (rawIcon || \"ViewModule\");\n\n // Deduplicate entries by name to avoid duplicate children\n const seen = new Set();\n const uniqueEntries = moduleEntries.filter((entry) => {\n if (seen.has(entry.name)) return false;\n seen.add(entry.name);\n return true;\n });\n\n // Build children from all entries (Apply, My Applications, etc.)\n const children = uniqueEntries.map((entry) => ({\n label: t(entry.displayName || entry.i18nKey),\n icon: { icon: isDigitStudio && (!entry.leftIcon || entry.leftIcon === \"TLIcon\") ? \"Devices\" : (entry.leftIcon || \"ViewModule\"), width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: entry.navigationURL || entry.link,\n orderNumber: entry.orderNumber,\n }));\n\n // Sort children by orderNumber\n children.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity;\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity;\n return aOrder - bOrder;\n });\n\n if (children.length === 1) {\n // Single entry — render as flat item (no parent/child nesting)\n items.push({\n label: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n icon: { icon: leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: children[0].navigationUrl,\n orderNumber: orderCounter++,\n });\n } else {\n // Multiple entries — render as parent with children\n items.push({\n label: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n icon: { icon: leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n children: children,\n orderNumber: orderCounter++,\n });\n }\n });\n\n items.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity;\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity;\n return aOrder - bOrder;\n });\n\n return items;\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const items = buildItems();\n\n return (\n <React.Fragment>\n <MediaQuery minWidth={768}>\n <SideNav\n items={items}\n hideAccessbilityTools={!isLoggedIn}\n onSelect={onItemSelect}\n theme={window?.globalConfigs?.getConfig(\"SIDENAV_THEME\") || \"light\"}\n enableSearch={true}\n variant={window?.globalConfigs?.getConfig(\"SIDENAV_VARIANT\") || \"primary\"}\n transitionDuration={\"\"}\n className=\"\"\n styles={{ position : \"unset\"}}\n expandedWidth=\"\"\n collapsedWidth=\"\"\n onBottomItemClick={onBottomItemClick}\n />\n </MediaQuery>\n {showDialog && (\n <LogoutDialog\n onSelect={handleLogoutSubmit}\n onCancel={handleLogoutCancel}\n onDismiss={handleLogoutCancel}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default CitizenSideNav;\n","import { BackLink, CitizenHomeCard, CitizenInfoLabel } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useNavigate, useLocation } from \"react-router-dom\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport { AppHome, processLinkData } from \"../../components/Home\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport CitizenSideNav from \"../../components/TopBarSideBar/SideBar/CitizenSideNav\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"../../components/DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst FAQsSection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-faqs\" */ \"./FAQs/FAQs\"),\n () => require(\"./FAQs/FAQs\").default,\n { loaderText: \"CORE_LOADING_FAQS\" }\n);\n\nconst CitizenHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-home\" */ \"./Home\"),\n () => require(\"./Home\").default,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-language-selection\" */ \"./Home/LanguageSelection\"),\n () => require(\"./Home/LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst LocationSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-location-selection\" */ \"./Home/LocationSelection\"),\n () => require(\"./Home/LocationSelection\").default,\n { loaderText: \"CORE_LOADING_LOCATION_SELECTION\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-user-profile\" */ \"./Home/UserProfile\"),\n () => require(\"./Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst HowItWorks = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-how-it-works\" */ \"./HowItWorks/howItWorks\"),\n () => require(\"./HowItWorks/howItWorks\").default,\n { loaderText: \"CORE_LOADING_HOW_IT_WORKS\" }\n);\n\nconst Login = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Search = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-search\" */ \"./SearchApp\"),\n () => require(\"./SearchApp\").default,\n { loaderText: \"CORE_LOADING_SEARCH\" }\n);\n\nconst StaticDynamicCard = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-static-dynamic-card\" */ \"./StaticDynamicComponent/StaticDynamicCard\"),\n () => require(\"./StaticDynamicComponent/StaticDynamicCard\").default,\n { loaderText: \"CORE_LOADING_DYNAMIC_CONTENT\" }\n);\n\nconst sidebarHiddenFor = [\n `${window?.contextPath}/citizen/register/name`,\n `/${window?.contextPath}/citizen/select-language`,\n `/${window?.contextPath}/citizen/select-location`,\n `/${window?.contextPath}/citizen/login`,\n `/${window?.contextPath}/citizen/register/otp`,\n];\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes.map((item) => item.code).includes(tenant.code));\n};\n\nconst Home = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl, // This prop seems unused, consider removing\n pathname, // This prop seems unused, `useLocation().pathname` is used directly\n initData,\n}) => {\n const { isLoading: islinkDataLoading, data: linkData, isFetched: isLinkDataFetched } = Digit.Hooks.useCustomMDMS(\n Digit.ULBService.getStateId(),\n \"ACCESSCONTROL-ACTIONS-TEST\",\n [\n {\n name: \"actions-test\",\n filter: `[?(@.url == '${Digit.Utils.getMultiRootTenant() ? window.globalPath : window.contextPath}-card')]`,\n },\n ],\n {\n select: (data) => {\n const formattedData = data?.[\"ACCESSCONTROL-ACTIONS-TEST\"]?.[\"actions-test\"]\n ?.filter((el) => el.enabled === true)\n .reduce((a, b) => {\n a[b.parentModule] = a[b.parentModule]?.length > 0 ? [b, ...a[b.parentModule]] : [b];\n return a;\n }, {});\n return formattedData;\n },\n }\n );\n const classname = Digit.Hooks.useRouteSubscription(pathname);\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const hideSidebar = sidebarHiddenFor.some((e) => window.location.href.includes(e));\n\n // 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 <Route path=\"login/*\" element={<Login stateCode={stateCode} />} />\n\n <Route path=\"register/*\" element={<Login stateCode={stateCode} isUserRegistered={false} />} />\n\n <Route path=\"user/profile\" element={\n <div className=\"citizen-user-profile-wrapper\">\n <UserProfile stateCode={stateCode} userType={\"citizen\"} cityDetails={cityDetails} />\n </div>\n } />\n\n <Route path=\"Audit\" element={<Search />} />\n\n {/* Dynamic App Routes and Module Level Link Home Pages */}\n {appRoutes}\n {ModuleLevelLinkHomePages}\n </Routes>\n </div>\n <div className=\"citizen-home-footer\" style={window.location.href.includes(\"citizen/obps\") ? { zIndex: \"-1\" } : {}}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.2em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Home;","import { CardSubHeader, FormComposer,CardText} from \"@egovernments/digit-ui-react-components\";\nimport { BackLink,Toast} from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport SelectOtp from \"../../citizen/Login/SelectOtp\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ChangePasswordComponent = ({ config: propsConfig, t }) => {\n const [user, setUser] = useState(null);\n const { mobile_number: mobileNumber, tenantId } = Digit.Hooks.useQueryParams();\n const navigate = useNavigate();\n const [otp, setOtp] = useState(\"\");\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onResendOTP = async () => {\n const requestData = {\n otp: {\n mobileNumber,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId,\n },\n };\n\n try {\n await Digit.UserService.sendOtp(requestData, tenantId);\n setShowToast(t(\"ES_OTP_RESEND\"));\n } catch (err) {\n setShowToast(err?.response?.data?.error_description || t(\"ES_INVALID_LOGIN_CREDENTIALS\"));\n }\n setTimeout(closeToast, 5000);\n };\n\n const onChangePassword = async (data) => {\n try {\n if (data.newPassword !== data.confirmPassword) {\n return setShowToast(t(\"ERR_PASSWORD_DO_NOT_MATCH\"));\n }\n const requestData = {\n ...data,\n otpReference: otp,\n tenantId,\n type: getUserType().toUpperCase(),\n };\n\n const response = await Digit.UserService.changePassword(requestData, tenantId);\n navigateToLogin();\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || t(\"ES_SOMETHING_WRONG\"));\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/user/login`, {replace:true});\n };\n\n const [username, password, confirmPassword] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(username.label),\n type: username.type,\n populators: {\n name: username.name,\n },\n isMandatory: true,\n },\n {\n label: t(password.label),\n type: password.type,\n populators: {\n name: password.name,\n },\n isMandatory: true,\n },\n {\n label: t(confirmPassword.label),\n type: confirmPassword.type,\n populators: {\n name: confirmPassword.name,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink variant=\"primary\" style={{ borderBottom: \"none\" }} />\n </div>\n <FormComposer\n onSubmit={onChangePassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeChangePassword\"\n >\n <Header />\n <CardSubHeader style={{ textAlign: \"center\" }}> {propsConfig.texts.header} </CardSubHeader>\n <CardText>\n {`${t(`CS_LOGIN_OTP_TEXT`)} `}\n <b>\n {\" \"}\n {`${t(`+ 91 - `)}`} {mobileNumber}\n </b>\n </CardText>\n <SelectOtp t={t} userType=\"employee\" otp={otp} onOtpChange={setOtp} error={isOtpValid} onResend={onResendOTP} />\n {/* <div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_SENT_MESSAGE\")}</CardLabel>\n <CardLabelDesc style={{ marginBottom: \"0px\" }}> {mobileNumber} </CardLabelDesc>\n <CardLabelDesc style={{ marginBottom: \"8px\" }}> {t(\"CORE_EMPLOYEE_OTP_CHECK_MESSAGE\")}</CardLabelDesc>\n </div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_OTP\")} *</CardLabel>\n <TextInput className=\"field\" name={otpReference} isRequired={true} onChange={updateOtp} type={\"text\"} style={{ marginBottom: \"10px\" }} />\n <div className=\"flex-right\">\n <div className=\"primary-label-btn\" onClick={onResendOTP}>\n {t(\"CORE_OTP_RESEND\")}\n </div>\n </div> */}\n </FormComposer>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nChangePasswordComponent.propTypes = {\n loginParams: PropTypes.any,\n};\n\nChangePasswordComponent.defaultProps = {\n loginParams: null,\n};\n\nexport default ChangePasswordComponent;\n","export const config = [\n {\n texts: {\n header: \"CORE_COMMON_RESET_PASSWORD_LABEL\",\n submitButtonLabel: \"CORE_COMMON_CHANGE_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n name: \"userName\",\n error: \"ERR_HRMS_INVALID_USERNAME\",\n },\n {\n label: \"CORE_LOGIN_NEW_PASSWORD\",\n type: \"password\",\n name: \"newPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n {\n label: \"CORE_LOGIN_CONFIRM_NEW_PASSWORD\",\n type: \"password\",\n name: \"confirmPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n ],\n },\n];\n","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport ChangePasswordComponent from \"./changePassword\";\nimport { config } from \"./config\";\n\nconst EmployeeChangePassword = () => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n config.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [config]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ChangePasswordComponent config={params[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeChangePassword;\n","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n description: \"ES_FORGOT_PASSWORD_DESC\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"mobileNumber\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOBILE_NUMBER\",\n },\n {\n label: \"CORE_COMMON_CITY\",\n type: \"dropdown\",\n name: \"city\",\n error: \"ERR_HRMS_INVALID_CITY\",\n },\n ]\n },\n];\n","// import { FormComposer } from \"@egovernments/digit-ui-react-components\";\nimport { BackLink, Dropdown, Loader, Toast, FormComposerV2 } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport Carousel from \"../Login/Carousel/Carousel\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\n\nconst ForgotPassword = ({ config: propsConfig, t, stateCode }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const [user, setUser] = useState(null);\n const navigate = useNavigate();\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n \n const { data : mdmsData } = useLoginConfig(stateCode);\n \n if(mdmsData?.config){\n const bannerImages = mdmsData?.config[0]?.bannerImages;\n propsConfig.bannerImages = bannerImages;\n }\n\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = async (data) => {\n if (!data.city) {\n alert(\"Please Select City!\");\n return;\n }\n const requestData = {\n otp: {\n userName: data.username,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId: data.city.code,\n },\n };\n try {\n await Digit.UserService.sendOtp(requestData, data.city.code);\n navigate(`/${window?.contextPath}/employee/user/change-password?USERNAME=${data.username}&tenantId=${data.city.code}`);\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || \"Invalid login credentials!\");\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/login`);\n };\n\n const [userId, city] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(\"USERNAME\"),\n type: \"text\",\n populators: {\n name: \"username\",\n },\n isMandatory: true,\n },\n {\n label: t(city.label),\n type: city.type,\n populators: {\n name: city.name,\n optionsKey: \"name\",\n required: true,\n options: cities,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n if (isLoading) {\n return <Loader page={true} variant=\"PageLoader\" />\n }\n\n return (\n propsConfig?.bannerImages ? (\n <React.Fragment>\n <div className=\"login-container\">\n <Carousel bannerImages={propsConfig?.bannerImages} />\n <div className=\"login-form-container\">\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </div>\n </div>\n </React.Fragment>\n ) :\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nForgotPassword.propTypes = {\n loginParams: PropTypes.any,\n};\n\nForgotPassword.defaultProps = {\n loginParams: null,\n};\n\nexport default ForgotPassword;","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport { loginConfig } from \"./config\";\nimport ForgotPasswordComponent from \"./forgotPassword\";\n\nconst EmployeeForgotPassword = ({ stateCode }) => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ForgotPasswordComponent config={params[0]} t={t} stateCode={stateCode} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeForgotPassword;\n","import { Button, Card, SubmitBar, Loader } from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_LOCALE=Digit?.Utils?.getDefaultLanguage?.();\n\nconst defaultLanguage = { label: \"English\", value: DEFAULT_LOCALE};\n\nconst LanguageSelection = () => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { languages, stateInfo } = storeData || {};\n let defaultLanguages = languages;\n if (!defaultLanguages || defaultLanguages?.length == 0) {\n defaultLanguages = [defaultLanguage];\n }\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n function getContextPath(contextPath) {\n if (!contextPath || typeof contextPath !== \"string\") return \"\";\n return contextPath.split(\"/\")[0];\n }\n \n const hasMultipleLanguages = languages?.length > 1;\n\n const handleSubmit = (event) => {\n navigate(`/${getContextPath(window.contextPath)}/user/login?ts=${Date.now()}`);\n };\n\n if (isLoading) return <Loader />;\n\n if (!hasMultipleLanguages) {\n return <Navigate to={`/${window?.contextPath}/employee/user/login`} replace />;\n }\n\n return (\n <Background>\n <Card className={\"bannerCard removeBottomMargin languageSelection\"}>\n <div className=\"bannerHeader\">\n <ImageComponent className=\"bannerLogo\" src={stateInfo?.logoUrl} alt=\"Digit Banner Image\" />\n\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n </div>\n <div className=\"language-selector\" style={{ justifyContent: \"space-around\", marginBottom: \"24px\", padding: \"0 5%\" }}>\n {defaultLanguages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={t(language.label)}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n <SubmitBar style={{ width: \"100%\" }} label={t(`CORE_COMMON_CONTINUE`)} onSubmit={handleSubmit} />\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default LanguageSelection;\n","import React, { useState, useEffect, Fragment } from 'react';\nimport { loginConfig } from '../config';\nimport { useTranslation } from \"react-i18next\";\n\nconst Carousel = ({bannerImages=[]}) => {\n const [currentSlide, setCurrentSlide] = useState(0);\n const { t } = useTranslation();\n\n const carouselItems = bannerImages|| loginConfig[0]?.bannerImages || [];\n\n const nextSlide = () => {\n setCurrentSlide(prev => (prev === carouselItems.length - 1 ? 0 : prev + 1));\n };\n\n const prevSlide = () => {\n setCurrentSlide(prev => (prev === 0 ? carouselItems.length - 1 : prev - 1));\n };\n\n const goToSlide = (index) => {\n setCurrentSlide(index);\n };\n\n // Auto-rotate carousel every 5 seconds\n useEffect(() => {\n const interval = setInterval(() => {\n nextSlide();\n }, 5000);\n return () => clearInterval(interval);\n }, [carouselItems.length]);\n\n return (\n <Fragment>\n\n {/* Carousel Background (70% width) */}\n\n <div className=\"carousel-container\">\n {carouselItems.sort((x,y)=>x?.id-y?.id).map((item, index) => (\n <div\n key={item.id}\n className={`carousel-slide ${index === currentSlide ? 'active' : ''}`}\n style={{ backgroundImage: `url(${item.image})` }}\n >\n <div className=\"carousel-content\">\n <h2>{t(item.title)}</h2>\n <p>{t(item.description)}</p>\n </div>\n </div>\n ))}\n\n {/* Combined Navigation and Indicators (Bottom Center) */}\n <div className=\"carousel-controls\">\n <button className=\"carousel-nav\" onClick={prevSlide}>\n <\n </button>\n\n <div className=\"carousel-indicators\">\n {carouselItems.map((_, index) => (\n <button\n key={index}\n className={`indicator ${index === currentSlide ? 'active' : ''}`}\n onClick={() => goToSlide(index)}\n />\n ))}\n </div>\n\n <button className=\"carousel-nav\" onClick={nextSlide}>\n >\n </button>\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default Carousel;","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_LOGIN\",\n secondaryButtonLabel: \"CORE_COMMON_FORGOT_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n key: \"username\",\n isMandatory: true,\n populators: {\n name: \"username\",\n validation: {\n required: true,\n },\n error: \"ERR_USERNAME_REQUIRED\",\n },\n },\n {\n label: \"CORE_LOGIN_PASSWORD\",\n type: \"password\",\n key: \"password\",\n isMandatory: true,\n populators: {\n name: \"password\",\n validation: {\n required: true,\n },\n error: \"ERR_PASSWORD_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n type: \"dropdown\",\n key: \"city\",\n label: \"CORE_COMMON_CITY\",\n disable: false,\n populators: {\n name: \"city\",\n optionsKey: \"name\",\n error: \"ERR_HRMS_INVALID_CITY\",\n mdmsConfig: {\n masterName: \"tenants\",\n moduleName: \"tenant\",\n localePrefix: \"TENANT_TENANTS\",\n select:\n \"(data)=>{ return Array.isArray(data['tenant'].tenants) && Digit.Utils.getUnique(data['tenant'].tenants).map(ele=>({code:ele.code,name:Digit.Utils.locale.getTransformedLocale('TENANT_TENANTS_'+ele.code)}))}\",\n },\n },\n },\n {\n key: \"check\",\n type: \"component\",\n disable: false,\n component: \"PrivacyComponent\",\n populators: {\n name: \"check\"\n },\n customProps: {\n module: \"HCM\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n {\n key: \"employeeSsoLoginOptions\",\n type: \"component\",\n disable: false,\n component: \"EmployeeSSOLoginOptions\",\n populators: {\n name: \"employeeSsoLoginOptions\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n ],\n },\n];\n","export const LoginOtpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"Sandbox\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport Carousel from \"./Carousel/Carousel\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n// import SkipToMainContent from \"../SkipToMainContent/SkipToMainContent\";\nimport withAutoFocusMain from \"../../../hoc/withAutoFocusMain\";\n\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant() && process.env.NODE_ENV !== \"development\") {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Login = ({ config: propsConfig, t, isDisabled, loginOTPBased }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const {\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 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 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 className={`${wrapperClass}`}\n cardSubHeaderClassName=\"loginCardSubHeaderClassName\"\n cardClassName={cardClassName}\n buttonClassName=\"buttonClassName\"\n defaultValues={defaultValues}\n >\n {stateInfo?.code ? <Header /> : <Header showTenant={false} />}\n </FormComposerV2>\n );\n \n const renderFooter = (footerClassName) => (\n <div className={footerClassName} style={{ backgroundColor: \"unset\" }}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n );\n\n if (isLoading || isStoreLoading) {\n return <Loader page={true} variant=\"PageLoader\" />;\n }\n return propsConfig?.bannerImages ? (\n <div className=\"login-container\">\n {/* <SkipToMainContent class_name={\".login-form-container\"}/> */}\n <Carousel bannerImages={propsConfig?.bannerImages} />\n <div className=\"login-form-container\">\n {renderLoginForm(\"login-form-container\", \"\", loginOTPBased ? \"sandbox-onboarding-wrapper\" : \"\")}\n {DynamicLoginComponent && <DynamicLoginComponent />} \n {showToast && <Toast type=\"error\" label={t(showToast)} onClose={closeToast} />}\n {renderFooter(\"EmployeeLoginFooter\")}\n </div>\n </div>\n ) : (\n <Background>\n {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 {renderFooter(\"employee-login-home-footer\")}\n </Background>\n );\n \n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default withAutoFocusMain(Login, \".login-form-container\");\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\"; // Updated imports for v6\nimport { loginConfig as defaultLoginConfig } from \"./config\";\nimport { LoginOtpConfig as defaultLoginOtpConfig } from \"./ConfigOtp\";\nimport LoginComponent from \"./login\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeLogin = ({ stateCode }) => {\n const { t } = useTranslation();\n const [loginConfig, setloginConfig] = useState(defaultLoginConfig);\n const [loginOtpConfig, setloginOtpConfig] = useState(defaultLoginOtpConfig);\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n const loginType = window?.globalConfigs?.getConfig(\"OTP_BASED_LOGIN\") || false;\n const { data: mdmsData, isLoading } = useLoginConfig(stateCode);\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix,\n });\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) { \n setloginConfig(mdmsData?.config);\n } else {\n setloginConfig(defaultLoginConfig);\n }\n }, [mdmsData, isLoading]); \n\n const loginParams = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginConfig]\n )\n );\n\n const loginOtpParams = useMemo(\n () =>\n loginOtpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginOtpConfig]\n )\n );\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n return (\n <Routes> {/* Replaced Switch with Routes */}\n <Route\n path=\"/\" \n element={ \n loginType ? (\n <LoginComponent config={loginOtpParams[0]} t={t} loginOTPBased={loginType} />\n ) : (\n <LoginComponent config={loginParams[0]} t={t} />\n )\n }\n />\n </Routes>\n );\n};\n\nexport default EmployeeLogin;","import React, { useState, useEffect } from \"react\";\nimport { BackLink, CardLabel, Loader, Toast } from \"@egovernments/digit-ui-components\";\nimport { FormComposerV2 } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\"; // Updated imports for v6\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\n/* set employee details to enable backward compatible */\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Otp = ({ isLogin = false }) => {\n const { t } = useTranslation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n const location = useLocation();\n const [showToast, setShowToast] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(false);\n const [user, setUser] = useState(null);\n const [params, setParams] = useState(location?.state?.data || {});\n const [ifSuperUserExists, setIfSuperUserExist] = useState(false);\n // In v6, location.state is directly available, no need for destructuring within another object\n const { email, tenant } = location.state || {}; \n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const config = [\n {\n body: [\n {\n type: \"component\",\n component: \"OtpComponent\",\n key: \"OtpComponent\",\n withoutLabel: true,\n isMandatory: false,\n customProps: {\n email: email,\n tenant: tenant,\n },\n populators: {\n required: true,\n },\n },\n ],\n },\n ];\n\n const OtpConfig = [\n {\n texts: {\n // header: t(\"CORE_COMMON_OTP_LABEL\"),\n header: t(\"SANDBOX_OTP_VERIFICATION\"),\n submitButtonLabel: \"CORE_COMMON_SUBMIT\",\n },\n },\n ];\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n const filteredRoles = user?.info?.roles?.filter((role) => role.tenantId === Digit.SessionStorage.get(\"Employee.tenantId\"));\n if (user?.info?.roles?.length > 0) user.info.roles = filteredRoles;\n Digit.UserService.setUser(user);\n setEmployeeDetail(user?.info, user?.access_token);\n let redirectPath = `/${window?.globalPath}/user/setup`;\n\n const getRedirectPathOtpLogin = (locationPathname, user, MdmsRes, RoleLandingUrl) => {\n const userRole = user?.info?.roles?.[0]?.code;\n const isSuperUser = userRole === \"SUPERUSER\";\n const contextPath = window?.contextPath;\n\n switch (true) {\n case locationPathname === \"/sandbox-ui/user/otp\" && isSuperUser:\n return `/${contextPath}/employee/sandbox/landing`;\n\n case isSuperUser && MdmsRes?.[0]?.rolesForLandingPage?.includes(\"SUPERUSER\"):\n return `/${contextPath}${RoleLandingUrl}`;\n\n default:\n return `/${contextPath}/employee`;\n }\n };\n\n // Usage\n const redirectPathOtpLogin = getRedirectPathOtpLogin(location.pathname, user, MdmsRes, RoleLandingUrl);\n\n if (isLogin) {\n navigate(redirectPathOtpLogin); // Replaced history.push with navigate\n return;\n } else {\n navigate(\n {\n pathname: redirectPath,\n },\n { state: { tenant: tenant } } // Pass state as a separate options object\n );\n return;\n }\n }, [user]);\n\n const onSubmit = async (formData) => {\n const requestData = {\n username: email,\n password: formData?.OtpComponent?.otp,\n tenantId: tenant,\n userType: \"EMPLOYEE\",\n };\n try {\n const { UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (err) {\n setShowToast(\n err?.response?.data?.error_description ||\n (err?.message == \"ES_ERROR_USER_NOT_PERMITTED\" && t(\"ES_ERROR_USER_NOT_PERMITTED\")) ||\n t(\"INVALID_LOGIN_CREDENTIALS\")\n );\n setTimeout(closeToast, 5000);\n }\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => navigate(-1)} /> {/* navigate(-1) for going back */}\n </div>\n <FormComposerV2\n onSubmit={onSubmit}\n noBoxShadow\n inline\n submitInForm\n onFormValueChange={(setValue, formValue) => {\n const otpValue = formValue[\"OtpComponent\"];\n if (otpValue?.otp?.length === 6) {\n setIsOtpValid(true);\n } else {\n setIsOtpValid(false);\n }\n }}\n isDisabled={!isOtpValid}\n config={config}\n label={OtpConfig[0].texts.submitButtonLabel}\n heading={OtpConfig[0].texts.header}\n headingStyle={{ textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"sandbox-onboarding-wrapper\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default Otp;","export const SignUpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_SIGN_UP\",\n submitButtonLabel: \"CORE_COMMON_SIGN_UP_BUTTON\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n maxLength: 64,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n label: \"CORE_SIGNUP_ACCOUNT_NAME\",\n type: \"text\",\n key: \"accountName\",\n isMandatory: true,\n populators: {\n name: \"accountName\",\n validation: {\n required: true,\n pattern: /^[A-Za-z]+( [A-Za-z]+)*$/,\n maxLength: 50,\n },\n error: \"ERR_ACCOUNT_NAME_REQUIRED\",\n },\n infoMessage:\"SANDBOX_SIGNUP_ACCOUNT_NAME_TOOLTIP\"\n },\n {\n isMandatory: false,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"SandboxSignUp\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n bannerImages: [{\n id: 1,\n image: 'https://images.unsplash.com/photo-1746277121508-f44615ff09bb',\n title: 'A digital partner for frontline workers',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Distinctio nobis temporibus provident expedita consequuntur, repudiandae pariatur! Deleniti molestias vero, cumque vel error labore ipsam totam?\"\n },\n {\n id: 2,\n image: 'https://images.unsplash.com/photo-1581094271901-8022df4466f9',\n title: 'Feature 2 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 3,\n image: 'https://images.unsplash.com/photo-1624555130581-1d9cca783bc0',\n title: 'Feature 3 Title',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Cupiditate aut autem aperiam et modi saepe obcaecati doloremque voluptatem iusto quidem!\"\n },\n {\n id: 4,\n image: 'https://images.unsplash.com/photo-1547481887-a26e2cacb5b2',\n title: 'Feature 4 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 5,\n image: 'https://images.unsplash.com/photo-1536782376847-5c9d14d97cc0',\n title: 'Feature 5 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 6,\n image: 'https://images.unsplash.com/photo-1490730141103-6cac27aaab94',\n title: 'Feature 6 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast, useCustomAPIMutationHook } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Login = ({ config: propsConfig, t, isDisabled }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const { data: storeData, isLoading: isStoreLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n\n const navigate = useNavigate();\n\n const reqCreate = {\n url: `/tenant-management/tenant/_create`,\n params: {},\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const onLogin = async (data) => {\n await mutation.mutate(\n {\n body: {\n tenant: {\n name: data.accountName,\n email: data.email,\n },\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast({\n key: \"error\",\n label: error?.response?.data?.Errors?.[0]?.code ? `SANDBOX_SIGNUP_${error?.response?.data?.Errors?.[0]?.code}` : `SANDBOX_SIGNUP_ERROR`,\n });\n },\n onSuccess: async (data) => {\n navigate({\n pathname: `/${window?.globalPath}/user/otp`,\n state: { email: data?.Tenants[0]?.email, tenant: data?.Tenants[0]?.code },\n });\n },\n }\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n let config = [{ body: propsConfig?.inputs }];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (mode === \"admin\" && config?.[0]?.body?.[2]?.disable == false && config?.[0]?.body?.[2]?.populators?.defaultValue == undefined) {\n config[0].body[2].disable = true;\n config[0].body[2].isMandatory = false;\n config[0].body[2].populators.defaultValue = defaultValue;\n }\n\n const onFormValueChange = (setValue, formData, formState) => {\n // Extract keys from the config\n const keys = config[0].body.map((field) => field.key);\n\n const hasEmptyFields = keys.some((key) => {\n const value = formData[key];\n return value == null || value === \"\" || (key === \"check\" && value === false) || (key === \"captcha\" && value === false);\n });\n\n // Set disable based on the check\n setDisable(hasEmptyFields);\n };\n\n return isLoading || isStoreLoading ? (\n <Loader />\n ) : (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onLogin}\n isDisabled={isDisabled || disable}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig?.texts?.submitButtonLabel}\n secondaryActionLabel={propsConfig?.texts?.secondaryButtonLabel}\n onFormValueChange={onFormValueChange}\n heading={propsConfig?.texts?.header}\n className=\"sandbox-signup-form\"\n cardSubHeaderClassName=\"signupCardSubHeaderClassName\"\n cardClassName=\"signupCardClassName sandbox-onboarding-wrapper\"\n buttonClassName=\"buttonClassName\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast?.label)} onClose={closeToast} />}\n <div className=\"employee-login-home-footer\" style={{ backgroundColor: \"unset\" }}>\n <img\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default Login;\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation } from \"react-router-dom\";\nimport { SignUpConfig as defaultSignUpConfig } from \"./config\";\nimport Login from \"./signUp\";\n\nconst SignUp = ({ stateCode }) => {\n const { t } = useTranslation();\n const [SignUpConfig, setSignUpConfig] = useState(defaultSignUpConfig);\n\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix\n });\n\n const { data: mdmsData, isLoading } = Digit.Hooks.useCommonMDMS(\n stateCode,\n \"commonUiConfig\",\n [\"SignUpConfig\"],\n {\n select: (data) => ({\n config: data?.commonUiConfig?.SignUpConfig\n }),\n retry: false\n }\n );\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) {\n setSignUpConfig(mdmsData.config);\n } else {\n setSignUpConfig(defaultSignUpConfig);\n }\n }, [mdmsData, isLoading]);\n\n const SignUpParams = useMemo(\n () =>\n SignUpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [SignUpConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<Login config={SignUpParams[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default SignUp;\n","import React, { useRef, useState, useEffect } from \"react\";\nimport { BackLink, Button, Card, CardHeader, CardLabel, CardText, FieldV1, SVG, TextInput } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ViewUrl = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { tenant } = location.state || {};\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime:0,\n gcTime:0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n const handleCopyUrl = () => {\n navigator.clipboard.writeText(ref.current.value);\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <Card className=\"card-sandbox\">\n <Header showTenant={false} />\n <div className=\"sandbox-success-signup\">\n <SVG.TickMark fill={\"#fff\"} height={30} width={70} />\n </div>\n <CardHeader className=\"cardHeader-sandbox\" styles={{ color: \"#00703c\" }}>\n {t(\"SANDBOX_HEADER\")}\n </CardHeader>\n <CardText className=\"cardText-sandbox\">{t(\"SAMDBOX_URL_SUB\")}</CardText>\n <CardLabel> {t(\"SANDBOX_URL\")} </CardLabel>\n <div className=\"sandbox-url-wrapper\">\n <TextInput\n inputRef={ref}\n className={\"urlInputText\"}\n onChange={() => {}}\n nonEditable={true}\n value={`${window.location.host}/${window?.globalPath}/${tenant}/employee`}\n />\n <Button className=\"copyButton\" variation={\"secondary\"} onClick={() => handleCopyUrl()} label={t(\"COPY_URL\")}></Button>\n </div>\n <div className=\"sandbox-url-footer\">{t(\"SANDBOX_URL_FOOT\")}</div>\n <Button isDisabled={buttonDisabled} onClick={onButtonClick} label={t(\"SIGN_IN\")}></Button>\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nexport default ViewUrl;\n","import React from \"react\";\nimport { Routes, Route, Navigate, useLocation } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"./DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-change-password\" */ \"../pages/employee/ChangePassword/index\"),\n () => require(\"../pages/employee/ChangePassword/index\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-forgot-password\" */ \"../pages/employee/ForgotPassword/index\"),\n () => require(\"../pages/employee/ForgotPassword/index\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst AppHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-home\" */ \"./Home\").then(module => ({ default: module.AppHome })),\n () => require(\"./Home\").AppHome,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes?.map?.((item) => item.code).includes(tenant.code));\n};\n\nexport const AppModules = ({ stateCode, userType, modules, appTenants, additionalComponent }) => {\n const location = useLocation();\n const user = Digit.UserService.getUser();\n\n if (!user || !user?.access_token || !user?.info) {\n return <Navigate to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }} replace />;\n }\n\n // Create app routes with dynamic module loading and loading states\n const appRoutes = modules?.map(({ code, tenants }, index) => {\n return (\n <Route\n key={index}\n path={`${code.toLowerCase()}/*`}\n element={\n <DynamicModuleLoader\n moduleCode={code}\n stateCode={stateCode}\n userType={userType}\n tenants={getTenants(tenants, appTenants)}\n maxRetries={3}\n retryDelay={1000}\n initialDelay={800}\n />\n }\n />\n );\n });\n\n return (\n <div className=\"ground-container digit-home-ground\">\n <Routes>\n {appRoutes}\n <Route\n path=\"login\"\n element={\n <Navigate\n to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }}\n replace\n />\n }\n />\n <Route path=\"forgot-password\" element={<ForgotPassword />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"*\"\n element={\n <AppHome\n userType={userType}\n modules={modules}\n additionalComponent={additionalComponent}\n />\n }\n />\n </Routes>\n </div>\n );\n};","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate, Navigate } from \"react-router-dom\";\nimport { AppModules } from \"../../components/AppModules\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport { PrivateRoute } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport withAutoFocusMain from \"../../hoc/withAutoFocusMain\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-change-password\" */ \"./ChangePassword\"),\n () => require(\"./ChangePassword\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-forgot-password\" */ \"./ForgotPassword\"),\n () => require(\"./ForgotPassword\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-language-selection\" */ \"./LanguageSelection\"),\n () => require(\"./LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst EmployeeLogin = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-otp\" */ \"./Otp\"),\n () => require(\"./Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"user-profile\" */ \"../citizen/Home/UserProfile\"),\n () => require(\"../citizen/Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst userScreensExempted = [\"user/landing\", \"user/profile\", \"user/error\", \"user/productPage\"];\n\nconst EmployeeApp = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname, // This prop seems unused, consider removing\n initData,\n noTopBar = false,\n}) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const showLanguageChange = location?.pathname?.includes(\"language-selection\");\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n\n useEffect(() => {\n Digit.UserService.setType(\"employee\");\n }, []);\n\n const additionalComponent = initData?.modules?.filter((i) => i?.additionalComponent)?.map((i) => i?.additionalComponent);\n\n return (\n <div className=\"employee\">\n <Routes>\n <Route path=\"user/*\" element={\n <>\n {isUserProfile && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showSidebar={isUserProfile ? true : false}\n showLanguageChange={!showLanguageChange}\n />\n )}\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile\n ? { padding: 0, paddingTop: \"0\", marginLeft: mobileView ? \"0\" : \"0\" }\n : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path=\"login\" element={<EmployeeLogin stateCode={stateCode} />} />\n <Route path=\"login/otp\" element={<Otp isLogin={true} />} />\n <Route path=\"forgot-password\" element={<ForgotPassword stateCode={stateCode} />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"profile\"\n element={ <UserProfile stateCode={stateCode} userType={\"employee\"} cityDetails={cityDetails} />}\n />\n <Route\n path=\"error\"\n element={\n <ErrorComponent\n initData={initData}\n goToHome={() => {\n navigate(`/${window?.contextPath}/${Digit?.UserService?.getType?.()}`);\n }}\n />\n }\n />\n <Route path=\"language-selection\" element={<LanguageSelection />} />\n <Route path=\"*\" element={<Navigate to=\"language-selection\" replace />} />\n </Routes>\n </div>\n </>}\n />\n\n <Route path=\"*\" element={\n <>\n {!noTopBar && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n modules={modules}\n />\n )}\n <div className={!noTopBar ? `main digit-home-main` : \"\"}>\n <div className=\"employee-app-wrapper digit-home-app-wrapper\">\n <ErrorBoundary initData={initData}>\n <AppModules\n stateCode={stateCode}\n userType=\"employee\"\n modules={modules}\n appTenants={appTenants}\n additionalComponent={additionalComponent}\n />\n </ErrorBoundary>\n </div>\n <div className=\"employee-home-footer\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.1em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n </>\n }/>\n\n <Route path=\"*\" element={<Navigate to={`user/language-selection`} replace />} />\n </Routes>\n </div>\n );\n};\n\nexport default withAutoFocusMain(EmployeeApp, \".digit-home-main\");","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n'use strict';\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n","'use strict';\n\nvar staticMatch = require('css-mediaquery').match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values, forceStatic){\n var self = this;\n var mql;\n\n // matchMedia will return null in FF when it's called in a hidden iframe\n // ref: https://stackoverflow.com/a/12330568\n if(dynamicMatch && !forceStatic) mql = dynamicMatch.call(window, query);\n\n if (mql) {\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values, forceStatic){\n return new Mql(query, values, forceStatic);\n}\n\nmodule.exports = matchMedia;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/* 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","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6243__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5053__;","module.exports = __WEBPACK_EXTERNAL_MODULE__338__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4456__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4883__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5953__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2148__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4442__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1954__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2247__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React from \"react\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { Navigate } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst CitizenApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-app\" */ \"./pages/citizen\"),\n () => require(\"./pages/citizen\").default,\n { loaderText: \"CORE_LOADING_CITIZEN_APP\" }\n);\n\nconst EmployeeApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-app\" */ \"./pages/employee\"),\n () => require(\"./pages/employee\").default,\n { loaderText: \"CORE_LOADING_EMPLOYEE_APP\" }\n);\n\nconst SignUp = lazyWithFallback(\n () => import(/* webpackChunkName: \"sign-up\" */ \"./pages/employee/SignUp\"),\n () => require(\"./pages/employee/SignUp\").default,\n { loaderText: \"CORE_LOADING_SIGN_UP\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"otp\" */ \"./pages/employee/Otp\"),\n () => require(\"./pages/employee/Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst ViewUrl = lazyWithFallback(\n () => import(/* webpackChunkName: \"view-url\" */ \"./pages/employee/ViewUrl\"),\n () => require(\"./pages/employee/ViewUrl\").default,\n { loaderText: \"CORE_LOADING_VIEW_URL\" }\n);\n\nconst CustomErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"custom-error\" */ \"./components/CustomErrorComponent\"),\n () => require(\"./components/CustomErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst DummyLoaderScreen = lazyWithFallback(\n () => import(/* webpackChunkName: \"dummy-loader\" */ \"./components/DummyLoader\"),\n () => require(\"./components/DummyLoader\").default,\n { loaderText: \"CORE_LOADING\" }\n);\n\nexport const DigitApp = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\", allowedUserTypes = [\"citizen\", \"employee\"] }) => {\n const navigate = useNavigate();\n const { pathname } = useLocation();\n const innerWidth = window.innerWidth;\n const cityDetails = Digit.ULBService.getCurrentUlb();\n const userDetails = Digit.UserService.getUser();\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n\n if (window.location.pathname.split(\"/\").includes(\"employee\")) CITIZEN = false;\n\n const handleUserDropdownSelection = (option) => {\n option.func();\n };\n\n const mobileView = innerWidth <= 640;\n let sourceUrl = `${window.location.origin}/citizen`;\n const commonProps = {\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname,\n initData,\n };\n\n return (\n <Routes>\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/employee/*`} element={<EmployeeApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"citizen\") && (\n <Route path={`/${window?.contextPath}/citizen/*`} element={<CitizenApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/no-top-bar/employee`} element={<EmployeeApp {...commonProps} noTopBar />} />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.contextPath}/${defaultLanding}`} />} />\n </Routes>\n );\n};\n\nexport const DigitAppWrapper = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\" ,allowedUserTypes}) => {\n // const globalPath = window?.globalConfigs?.getConfig(\"CONTEXT_PATH\") || \"digit-ui\";\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const userScreensExempted = [\"user/error\"];\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n const userDetails = Digit.UserService.getUser();\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n const innerWidth = window.innerWidth;\n const mobileView = innerWidth <= 640;\n\n return (\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile ? { padding: 0, paddingTop: CITIZEN ? \"0\" : mobileView && !CITIZEN ? \"3rem\" : \"80px\", marginLeft: CITIZEN || mobileView ? \"0\" : \"40px\" } : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path={`/${window?.globalPath}/user/invalid-url`} element={<CustomErrorComponent />} />\n <Route path={`/${window?.globalPath}/user/sign-up`} element={<SignUp stateCode={stateCode} />} />\n <Route path={`/${window?.globalPath}/user/otp`} element={<Otp />} />\n <Route path={`/${window?.globalPath}/user/setup`} element={<DummyLoaderScreen />} />\n <Route path={`/${window?.globalPath}/user/url`} element={<ViewUrl />} />\n {window?.globalPath !== window?.contextPath && (\n <Route\n path={`/${window?.contextPath}/*`}\n element={\n <DigitApp\n stateCode={stateCode}\n modules={modules}\n appTenants={appTenants}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n initData={initData}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n }\n />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.globalPath}/user/sign-up`} />} />\n </Routes>\n </div>\n );\n};","import { applyMiddleware, combineReducers, compose, createStore } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport { commonReducer } from \"./reducers\";\n\nconst getRootReducer = (defaultStore, moduleReducers) =>\n combineReducers({\n common: commonReducer(defaultStore),\n ...moduleReducers,\n });\n\nconst middleware = [thunk];\n\nconst composeEnhancers =\n process.env.NODE_ENV === 'development' && typeof window === \"object\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ \n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) \n : compose;\n\nconst enhancer = composeEnhancers(\n applyMiddleware(...middleware)\n // other store enhancers if any\n);\n\nconst getStore = (defaultStore, moduleReducers = {}) => {\n return createStore(getRootReducer(defaultStore, moduleReducers), enhancer);\n};\nexport default getStore;\n","export const commonReducer = (defaultData) => (state = defaultData, action) => {\n switch (action.type) {\n case \"LANGUAGE_SELECT\":\n return { ...state, selectedLanguage: action.payload };\n default:\n return state;\n }\n};\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nimport { LinkButton } from \"@egovernments/digit-ui-react-components\";\n\nconst PrivacyComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const [isChecked, setIsChecked] = useState(false);\n const [showPopUp, setShowPopUp] = useState(false);\n const moduleName=Digit.Utils.getConfigModuleName();\n \n const { data: privacy } = Digit.Hooks.useCustomMDMS(tenantId, moduleName, [{ name: \"PrivacyPolicy\" }], {\n select: (data) => {\n const filteredPrivacyPolicy = data?.[moduleName]?.PrivacyPolicy?.find(policy => policy.module === props?.props?.module);\n return filteredPrivacyPolicy;\n },\n });\n const handleCheckboxChange = (event) => {\n setIsChecked(event.target.checked);\n };\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClick = () => {\n setShowPopUp(true);\n };\n\n const handleScrollToElement = (id) => {\n const element = document.getElementById(id);\n if (element) {\n element.scrollIntoView({ behavior: \"smooth\" });\n }\n };\n\n return (\n <React.Fragment>\n <div className=\"digit-privacy-checkbox digit-privacy-checkbox-align\">\n <CheckBox label={t(\"ES_BY_CLICKING\")} checked={isChecked} onChange={handleCheckboxChange} id={\"privacy-component-check\"}></CheckBox>\n <Button\n label={t(`ES_PRIVACY_POLICY`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClick}\n // isSuffix={true}\n style={{ marginBottom: \"1rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n </div>\n {showPopUp && (\n <PopUp\n type={\"default\"}\n className={\"privacy-popUpClass\"}\n footerclassName={\"popUpFooter\"}\n heading={t(privacy?.header)}\n onOverlayClick={() => {\n setShowPopUp(false);\n }}\n footerChildren={[\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"DIGIT_I_DO_NOT_ACCEPT\")}\n onClick={() => {\n setIsChecked(false), setShowPopUp(false);\n }}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"DIGIT_I_ACCEPT\")}\n className={\"accept-class\"}\n onClick={() => {\n setIsChecked(true), setShowPopUp(false);\n }}\n />,\n ]}\n sortFooterChildren={true}\n onClose={() => {\n setShowPopUp(false);\n }}\n >\n <div>\n <div className=\"privacy-table\">{t(\"DIGIT_TABLE_OF_CONTENTS\")}</div>\n <ul>\n {privacy?.contents.map((content, index) => (\n <li key={index} style={{ display: \"flex\", alignItems: \"center\" }}>\n <span style={{ marginRight: \"0.5rem\" }}>{index + 1}. </span>\n <Button\n label={t(content.header)}\n variation={\"link\"}\n size={\"medium\"}\n onClick={(e) => {\n e.preventDefault();\n handleScrollToElement(content?.header);\n }}\n style={{justifyContent: \"flex-start\"}}\n ></Button>\n </li>\n ))}\n </ul>\n </div>\n {privacy?.contents.map((content, index) => (\n <div key={index} id={content?.header}>\n <div\n style={{\n fontWeight: 'bold',\n paddingLeft: content?.isSpaceRequired ? \"1rem\" : \"0\",\n }}\n >\n {t(content.header)}\n </div>\n {content.descriptions.map((description, subIndex) => (\n <div key={subIndex} style={{ paddingLeft: description.isSpaceRequired ? \"1rem\" : \"0\" , marginBottom: '0.5rem'}}>\n <div\n style={{\n fontWeight: description?.isBold ? 700 : 400,\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n {description.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' }}>•</span>\n )}\n {description.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' }}>{subIndex + 1}. </span>\n )}\n {t(description.text)}\n </div>\n {description?.subDescriptions && description?.subDescriptions.length > 0 && (\n <div className=\"policy-subdescription\">\n {description.subDescriptions.map((subDesc, subSubIndex) => (\n <div key={subSubIndex} className=\"policy-subdescription-points\">\n {subDesc.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' , paddingLeft: '1rem'}}>•</span>\n )}\n {subDesc.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' , paddingLeft: '1rem'}}>{subSubIndex + 1}. </span>\n )}\n {subDesc.type === null && (\n <span style={{ marginRight: '0.5rem', paddingLeft: '1rem'}}> </span>\n )}\n {t(subDesc.text)}\n </div>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n ))}\n </PopUp>\n )}\n </React.Fragment>\n );\n};\n\nexport default PrivacyComponent;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Button } from \"@egovernments/digit-ui-components\";\n\nconst ForgotOrganizationTooltip = ({ onSelect }) => {\n const { t } = useTranslation();\n const [showTip, setShowTip] = useState(false);\n const wrapperRef = useRef(null);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {\n setShowTip(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, []);\n return (\n <div ref={wrapperRef} className=\"loginSignUpSelector\" style={{ position: \"relative\", marginTop: \"-2rem\" }}>\n <Button\n label={t(`SB_FORGOTORGANIZATION_TOOLTIP`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={() => setShowTip((prev) => !prev)}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n {showTip && (\n <div\n style={{\n position: \"absolute\",\n bottom: \"100%\",\n left: \"50%\",\n transform: \"translateY(-4px)\",\n backgroundColor: \"#0b4b66\",\n color: \"white\",\n padding: \"6px 10px\",\n borderRadius: \"4px\",\n whiteSpace: \"normal\",\n wordBreak: \"break-word\",\n maxWidth: \"20rem\",\n zIndex: 1000,\n fontSize: \"0.875rem\"\n }}\n >\n {t(\"SB_FORGOTORGANIZATION_TOOLTIP_TEXT\")}\n </div>\n )}\n </div>\n );\n};\n\nexport default ForgotOrganizationTooltip;\n","import React from \"react\";\nimport { Button } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeSSOLoginOptions = ({ t, props }) => {\n const { ssoConfigs = [] } = props || {};\n\n if (!ssoConfigs?.length) {\n return null;\n }\n\n const hasMultipleOptions = ssoConfigs.length > 1;\n\n return (\n <div className=\"employee-login-sso\">\n <div className=\"employee-login-sso-divider\">\n <span>{hasMultipleOptions ? t(\"CORE_COMMON_OR_SIGN_IN_WITH\") : t(\"CORE_COMMON_OR\")}</span>\n </div>\n {hasMultipleOptions ? (\n <div className=\"employee-login-sso-icons\">\n {ssoConfigs.map((sso, index) => (\n <Button\n key={sso.id || sso.provider || index}\n label=\"\"\n variation=\"secondary\"\n size=\"large\"\n icon={sso.icon}\n className={`employee-login-sso-icon ${sso.provider?.toLowerCase() || \"provider\"}-login-icon`}\n onClick={() => sso.onLogin?.(sso)}\n title={t(sso.label)}\n ariaLabel={t(sso.label)}\n style={{width:\"100%\"}}\n />\n ))}\n </div>\n ) : (\n ssoConfigs.map((sso, index) => (\n <Button\n key={sso.id || sso.provider || index}\n label={t(sso.label)}\n variation=\"primary\"\n size=\"large\"\n icon={sso.icon}\n className={`employee-login-sso-button ${sso.provider?.toLowerCase() || \"provider\"}-login-btn`}\n onClick={() => sso.onLogin?.(sso)}\n style={{width:\"100%\"}}\n />\n ))\n )}\n </div>\n );\n};\n\nexport default EmployeeSSOLoginOptions;\n","import { BodyContainer } from \"@egovernments/digit-ui-components\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { getI18n } from \"react-i18next\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { Provider } from \"react-redux\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport { DigitApp, DigitAppWrapper } from \"./App\";\nimport SelectOtp from \"./pages/citizen/Login/SelectOtp\";\nimport ChangeCity from \"./components/ChangeCity\";\nimport ChangeLanguage from \"./components/ChangeLanguage\";\nimport { useState, useMemo, useCallback } from \"react\";\nimport ErrorBoundary from \"./components/ErrorBoundaries\";\nimport getStore from \"./redux/store\";\nimport PrivacyComponent from \"./components/PrivacyComponent\";\nimport OtpComponent from \"./pages/employee/Otp/OtpCustomComponent\";\nimport LoginSignupSelector from \"./components/LoginSignupSelector\";\nimport ForgotOrganizationTooltip from \"./components/ForgotOrganizationTooltip\";\nimport EmployeeSSOLoginOptions from \"./components/EmployeeSSOLoginOptions\";\n\n// Create QueryClient instance outside component to prevent recreation\nconst createQueryClient = () => new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 15 * 60 * 1000,\n gcTime: 50 * 60 * 1000,\n retry: false,\n retryDelay: (attemptIndex) => Infinity,\n /*\n enable this to have auto retry incase of failure\n retryDelay: attemptIndex => Math.min(1000 * 3 ** attemptIndex, 60000)\n */\n },\n },\n});\n\nconst DigitUIWrapper = ({ stateCode, enabledModules, defaultLanding,allowedUserTypes }) => {\n const { isLoading, data: initData={} } = Digit.Hooks.useInitStore(stateCode, enabledModules);\n if (isLoading) {\n return <Loader page={true} variant={\"PageLoader\"} />;\n }\n const data=getStore(initData) || {};\n const i18n = getI18n();\n if(!Digit.ComponentRegistryService.getComponent(\"PrivacyComponent\")){\n Digit.ComponentRegistryService.setComponent(\"PrivacyComponent\", PrivacyComponent);\n }\n if(!Digit.ComponentRegistryService.getComponent(\"EmployeeSSOLoginOptions\")){\n Digit.ComponentRegistryService.setComponent(\"EmployeeSSOLoginOptions\", EmployeeSSOLoginOptions);\n }\n return (\n <Provider store={data}>\n <Router>\n <BodyContainer>\n {Digit.Utils.getMultiRootTenant() ? (\n <DigitAppWrapper\n initData={initData}\n stateCode={stateCode}\n modules={initData?.modules}\n appTenants={initData.tenants}\n logoUrl={initData?.stateInfo?.logoUrl}\n logoUrlWhite={initData?.stateInfo?.logoUrlWhite}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n ) : (\n <DigitApp\n initData={initData}\n stateCode={stateCode}\n modules={initData?.modules}\n appTenants={initData.tenants}\n logoUrl={initData?.stateInfo?.logoUrl}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n )}\n </BodyContainer>\n </Router>\n </Provider>\n );\n};\n\n/**\n * DigitUI Component - The main entry point for the UI.\n *\n * @param {Object} props - The properties passed to the component.\n * @param {string} props.stateCode - The state code for the application.\n * @param {Object} props.registry - The registry object containing components registrations.\n * @param {Array<string>} props.enabledModules - A list of enabled modules, if any modules to be disabled due to some condition.\n * @param {Object} props.moduleReducers - Reducers associated with enabled modules.\n * @param {string} props.defaultLanding - The default landing page (e.g., \"employee\", \"citizen\"), default is citizen.\n * @param {Array<string>} props.allowedUserTypes - A list of allowed user types (e.g., [\"employee\", \"citizen\"]) if any restriction to be applied, and default is both employee & citizen.\n * \n * @author jagankumar-egov\n *\n * @example\n * <DigitUI\n * stateCode=\"pg\"\n * registry={registry}\n * enabledModules={[\"Workbench\", \"PGR\"]}\n * defaultLanding=\"employee\"\n * allowedUserTypes={[\"employee\", \"citizen\"]}\n * moduleReducers={moduleReducers}\n * />\n */\nexport const DigitUI = ({ stateCode, registry, enabledModules, defaultLanding,allowedUserTypes }) => {\n // Memoize initial privacy state to prevent unnecessary re-renders\n const initialPrivacy = useMemo(() => Digit.Utils.getPrivacyObject() || {}, []);\n const [privacy, setPrivacy] = useState(initialPrivacy);\n \n const userType = Digit.UserService.getType();\n \n // Use memoized QueryClient to prevent recreation on every render\n const queryClient = useMemo(() => createQueryClient(), []);\n\n const ComponentProvider = Digit.Contexts.ComponentProvider;\n const PrivacyProvider = Digit.Contexts.PrivacyProvider;\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n\n // Memoize privacy context methods to prevent unnecessary re-renders\n const resetPrivacy = useCallback((_data) => {\n Digit.Utils.setPrivacyObject({});\n setPrivacy({});\n }, []);\n\n const getPrivacy = useCallback(() => {\n const privacyObj = Digit.Utils.getPrivacyObject();\n setPrivacy(privacyObj);\n return privacyObj;\n }, []);\n\n const updatePrivacyDescoped = useCallback((_data) => {\n const privacyObj = Digit.Utils.getAllPrivacyObject();\n // Safely access pathname with fallback\n const pathname = typeof window !== 'undefined' ? window.location.pathname : '';\n const newObj = { ...privacyObj, [pathname]: _data };\n Digit.Utils.setPrivacyObject({ ...newObj });\n setPrivacy(privacyObj?.[pathname] || {});\n }, []);\n\n const updatePrivacy = useCallback((uuid, fieldName) => {\n setPrivacy(Digit.Utils.updatePrivacy(uuid, fieldName) || {});\n }, []);\n\n // Memoize privacy context value to prevent unnecessary re-renders\n const privacyContextValue = useMemo(() => ({\n privacy: typeof window !== 'undefined' ? privacy?.[window.location.pathname] : privacy,\n resetPrivacy,\n getPrivacy,\n updatePrivacyDescoped,\n updatePrivacy,\n }), [privacy, resetPrivacy, getPrivacy, updatePrivacyDescoped, updatePrivacy]);\n\n return (\n <div>\n <ErrorBoundary>\n <QueryClientProvider client={queryClient}>\n <ComponentProvider.Provider value={registry}>\n <PrivacyProvider.Provider value={privacyContextValue}>\n <DigitUIWrapper stateCode={stateCode} enabledModules={enabledModules} defaultLanding={defaultLanding} allowedUserTypes={allowedUserTypes} />\n </PrivacyProvider.Provider>\n </ComponentProvider.Provider>\n </QueryClientProvider>\n </ErrorBoundary>\n </div>\n );\n};\n\nconst componentsToRegister = {\n SelectOtp,\n ChangeCity,\n ChangeLanguage,\n PrivacyComponent,\n OtpComponent,\n ForgotOrganizationTooltip,\n LoginSignupSelector,\n EmployeeSSOLoginOptions\n};\n\nexport const initCoreComponents = () => {\n 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","this","__WEBPACK_EXTERNAL_MODULE__6243__","__WEBPACK_EXTERNAL_MODULE__4883__","__WEBPACK_EXTERNAL_MODULE__5953__","__WEBPACK_EXTERNAL_MODULE__4456__","__WEBPACK_EXTERNAL_MODULE__2148__","__WEBPACK_EXTERNAL_MODULE__4442__","__WEBPACK_EXTERNAL_MODULE__338__","__WEBPACK_EXTERNAL_MODULE__5053__","__WEBPACK_EXTERNAL_MODULE__1954__","__WEBPACK_EXTERNAL_MODULE__2247__","__WEBPACK_DEFAULT_EXPORT__","_ref","children","_jsx","className","stringReplaceAll","str","arguments","length","undefined","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","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","ErrorConfig","maintenance","notfound","ModuleBasedErrorConfig","sandbox","_props$errorData","_Digit$Hooks$useQuery2","useQueryParams","ImageComponent","src","alt","_props$errorData2","_props$goToHome","_stateInfo$code","_ref$showTenant","headerSvgSecondaryUrl","globalConfigs","getConfig","logoUrl","borderRight","fontSize","Components","RoleBasedEmployeeHome","modules","additionalComponent","_Object$keys","sortedConfigEmployeesSidebar","_Digit$Hooks$useAcces","useAccessControl","ULBService","getStateId","mdmsOrderData","setMdmsOrderData","_Digit$Hooks$useCusto","_data$HomeScreenOrder","_Digit$Hooks$useCusto2","moduleConfigData","getLinkByType","moduleData","moduleConfig","moduleName","linkKey","links","displayName","getFilteredLinks","_moduleData$links","isNotConfigureMaster","isNotHowItWorks","howItWorksLink","isNotUserManual","userManualLink","configEmployeeSideBar","actions","parentModule","reduce","acc","kpis","icon","leftIcon","iconRender","iconName","iconFill","CustomSVG","digit_ui_components_","locale","getTransformedLocale","linkUrl","_url","transformURL","navigationURL","queryParamIndex","link","queryParams","substring","Object","keys","sort","a","b","_mdmsOrderData$find","_mdmsOrderData$find2","moduleType","order","_configEmployeeSideBa","sortedLinks","linkA","linkB","_mdmsOrderData$find3","_mdmsOrderData$find4","labelA","labelB","sortCardAndLink","current","_sortedConfigEmployee","_moduleData$links2","configureData","howItWorks","userManual","propsForModuleCard","metrics","centreChildren","open","padding","endChildren","LandingPageCard","buttonSize","_Fragment","LandingPageWrapper","child","FaqComponent","question","isLabelLink","answer","content","lastIndex","isOpen","toggleOpen","ListTag","justifyContent","display","float","ArrowForward","CardSectionSubText","listStyleType","margin","fulllink","baseURL","hostname","description","CardC","title","CardSectionHeader","FAQ","key","faqs","width","faq","QuickStart_QuickSetup","_ref3","cardConfig","height","overflowY","flexWrap","id","BreakLine","border","Config","formData","control","formState","_objectWithoutProperties","_excluded","QuickSetup","processLinkData","newData","obj","i18nKey","newObj","reverse","header","dashoardLink","loginLink","_newObj$links","_newObj$links2","hasAccess","iconSelector","PTIcon","WSICon","FSMIcon","MCollectIcon","PGRIcon","TLIcon","OBPSIcon","BillsIcon","CitizenHome","getCitizenMenu","fetchedCitizen","isMobile","browser","parentModules","isApplyLink","toLowerCase","_mdmsDataObj$links","_mdmsDataObj$links2","mdmsDataObj","seenLinks","Set","dedupedLinks","ele","x","y","orderNumber","has","add","borderRadius","Devices","Divider","LinkIcon","handleNavigate","SVG","AddExpense","ListAlt","Boolean","BackLink","history","back","_mdmsDataObj$links3","_mdmsDataObj$links4","handleLinkClick","EmployeeHome","_ref4","Component","AppHome","_ref5","isSuperUserWithMultipleRootTenant","getRoleBasedHomeCard","QuickSetupConfigComponent","_ref$alt","_ref$decorative","decorative","_ref$ariaLabel","ariaLabel","_ref$ariaLabelledby","ariaLabelledby","accessibilityProps","tabIndex","onKeyDown","_window$getConfig","focus","propTypes","PropTypes","isRequired","TopBarSideBar_TopBar","_userDetails$info2","_Digit$ComponentRegis","_userDetails$info3","_userDetails$info4","_window4","_cityDetails$city","_cityDetails$city2","toggleSidebar","isSidebarOpen","handleLogout","userDetails","CITIZEN","cityDetails","userOptions","handleUserDropdownSelection","logoUrlWhite","_ref$showLanguageChan","showLanguageChange","_React$useState2","profilePic","setProfilePic","app","_userDetails$info","getCurrentTenantId","uuid","usersResponse","userSearch","user","_userDetails$photo","thumbs","photo","split","at","_Digit$UserService","_Digit$UserService2","CitizenHomePageTenantId","getCitizenCurrentTenant","_Digit$Hooks$useNotif","useNotificationCount","getUser","_Digit$Hooks$useNotif2","unreadNotificationCount","unreadCount","notificationCountLoaded","isSuccess","TopBarComponent","img","updateSidebar","clikOusideFired","onLogout","notificationCount","cityOfCitizenShownBesideLogo","onNotificationIconClick","hideNotificationIconOnSomeUrlsWhenNotLoggedIn","_Digit$UserService3","access_token","urlsToDisableNotificationIcon","ChangeLanguage","loggedin","CustomEmployeeTopBar","TopBarComponentMain","actionFields","ChangeCity","userInfo","showArrow","menuStyles","theme","onHamburgerClick","logoWidth","logoHeight","logo","logoId","statelogo","onImageClick","onLogoClick","showDeafultImg","ulb","ulbGrade","defaultImage","sidebar_menu","SideBarMenu","closeSidebar","redirectToLoginPage","isEmployee","element","text","LogoutIcon","populators","Profile","stateName","mobileNumber","emailId","IconsObject","CommonPTIcon","propertyIcon","PropertyHouse","CaseIcon","WSIcon","CollectionIcon","BirthIcon","DeathIcon","FirenocIcon","HomeIcon","EditPencilIcon","Phone","SideBar_StaticCitizenSideBar","_user$info","_menuItems","linkData","islinkDataLoading","isFetched","showDialog","setShowDialog","handleOnCancel","showProfilePage","menuItems","profileItem","_window5","_window6","_storeData$tenants","_storeData$tenants$fi","_storeData$tenants$","_storeData$tenants$fi2","_storeData$tenants$2","MenuItem","_item$icon","itemComponent","leftIconArray","Item","Link","contactNumber","localeCompare","_linkData$key$","_linkData$key$2","_window7","_linkData$key$3","_linkData$key$4","sidebar","splice","sidebarURL","top","backgroundColor","pointerzevents","flexDirection","zIndex","LogoutDialog","handleOnSubmit","logout","CitizenSideBar","_menuItems2","_menuItems3","_user$info2","_user$info3","_user$info4","_ref3$isMobile","_ref3$isEmployee","userProfile","search","_useState8","_useState0","_useState10","fetchUserProfile","_asyncToGenerator","_usersResponse$user2","_usersResponse$user3","userData","currentUser","_userDetails$photo2","handleModuleClick","updatedUrl","_item$displayName","_loop","_keys$i","_configEmployeeSideBa2","_configEmployeeSideBa3","_configEmployeeSideBa5","_configEmployeeSideBa6","getSingleDisplayName","getParentDisplayName","_configEmployeeSideBa4","ob","_ob$displayName","indx","findIndex","home","comp","part","c1","c2","transformedMenuItems","_item$links","transformedSelectedCityData","transformedLanguageData","hamburgerItems","Hamburger","items","profileName","profileNumber","transitionDuration","styles","hideUserManuals","profile","isSearchable","_ref7","_ref6","_window8","_window9","parentIndex","handleChangeCity","onItemSelect","StaticCitizenSideBar","SideBar_EmployeeSideBar","EmployeeSideBar","extractLeftIcon","Array","isArray","subResult","mergeObjects","obj1","obj2","hasOwnProperty","_item$path","_item$path2","hierarchicalMap","sortDataByOrderNumber","Infinity","transformedData","transformItem","navigationUrl","childKey","iconKey","transformData","objectArray","entries","fromEntries","splitKeyValue","sortedTransformedData","MediaQuery","minWidth","SideNav","hideAccessbilityTools","test","hostUrl","origin","fallbackError","navigateToRespectiveURL","expandedWidth","collapsedWidth","onBottomItemClick","TopBarSideBar_SideBar","components_TopBarSideBar","_ref$showSidebar","showSidebar","handleSSOLogout","provider","localStorage","getItem","normalizedProvider","logoutUrlFromConfig","redirectParamName","token","_window$google","google","accounts","disableAutoSelect","fetch","method","headers","removeItem","postLogoutRedirectUri","URL","searchParams","toString","handleSidebar","func","TopBar","SideBar","WrappedComponent","mainSelector","handleFirstTab","main","document","querySelector","setAttribute","outline","removeEventListener","addEventListener","callback","savedCallback","timer","useLoginConfig","getConfigModuleName","useCommonMDMS","_data$moduleName","LoginConfig","retry","FAQs_FaqComponent","FAQs","_data$MdmsRes$common","_Digit$Hooks$useGetFA","useGetFAQsJSON","moduleFaqs","Fragment","BackButton","marginLeft","HeaderComponent","paddingTop","LanguageSelection","_Digit$Hooks$useStore2","_Digit$Hooks$useStore3","texts","useMemo","submitBarLabel","RadioButtonProps","options","optionsKey","additionalWrapperClass","selectedOption","PageBasedInput","onSubmit","RadioButtons","LocationSelection","uiHomePage","redirectURL","_Digit$Hooks$useTenan","useTenants","cities","selectedCity","setSelectedCity","showError","setShowError","selectCity","redirectBackTo","SearchOnRadioButtons","placeholder","CardLabelError","ImageUpload_UploadDrawer","closeDrawer","removeProfilePic","showToast","setUploadedFile","file","setFile","setError","_response$data","response","UploadServices","Filestorage","files","_response$data2","fileStoreId","err","position","left","right","bottom","onOverlayBodyClick","alignItems","flex","gap","for","cursor","GalleryIcon","accept","onChange","target","removeimg","RemoveIcon","DEFAULT_TENANT","_Digit$getStateId","defaultValidationConfig","UserProfileValidationConfig","password","Home_IndividualUserProfile","_Digit$UserService$ge","_mdmsValidationData$U2","_defaultValidationCon","_errors$userName","_errors$emailAddress","_mdmsValidationData$U3","_defaultValidationCon2","_errors$userName2","_mdmsValidationData$U4","_defaultValidationCon3","_errors$mobileNumber","_errors$emailAddress2","_mdmsValidationData$U5","_defaultValidationCon4","_errors$currentPasswo","_mdmsValidationData$U6","_defaultValidationCon5","_errors$newPassword","_mdmsValidationData$U7","_defaultValidationCon6","_errors$confirmPasswo","stateId","setUserDetails","setName","email","setEmail","gender","setGender","permanentCity","setCity","setMobileNo","_useState12","_useState14","profileImg","setProfileImg","_useState16","openUploadSlide","setOpenUploadSide","_useState18","changepassword","setChangepassword","_useState20","currentPassword","setCurrentPassword","_useState22","newPassword","setNewPassword","_useState24","confirmPassword","setConfirmPassword","_useState26","toast","setToast","_useState28","setLoading","innerWidth","windowWidth","setWindowWidth","_React$useState4","errors","setErrors","individualServicePath","mapConfigToRegExp","_config$UserProfileVa","startsWith","lastIndexOf","lastSlashIndex","pattern","slice","flags","RegExp","_useState30","validationConfig","setValidationConfig","commonUiConfig","mdmsValidationData","isValidationConfigLoading","_mdmsValidationData$U","updatedValidationConfig","getUserInfo","_response$Individual","CustomService","getResponse","useCache","userService","params","limit","offset","body","Individual","userUuid","editScreen","setGenderName","closeFileUploadDrawer","setUserName","_validationConfig$nam","userName","setUserEmailAddress","emailAddress","duration","updateProfile","_userDetails$name","_userDetails$name2","_responseInfo","trim","JSON","stringify","responseInfo","trimmedCurrentPassword","trimmedNewPassword","trimmedConfirmPassword","individualPayload","givenName","familyName","otherNames","isDeleted","isSystemUser","isSystemUserActive","status","requestData","existingPassword","username","changePasswordResponseInfo","changePassword","_error$Errors","Errors","errorObj","parse","_error$response","menu","Menu","useGenderMDMS","genderDetails","setFileStoreId","thumbnails","getThumbnails","_x","ids","res","Filefetch","fileStoreIds","o","images","getFileUrl","_x2","_x3","BreadCrumb","crumbs","internalLink","show","boxShadow","background","maxWidth","transform","onClickAddPic","CameraIcon","paddingBottom","LabelFieldPair","CardLabel","TextInput","isMandatory","disable","ErrorMessage","truncateMessage","maxLength","wrapperClassName","showIcon","disabled","borderBottom","MobileNumber","_validationConfig$mob","setUserMobileNumber","required","getOTPBasedLogin","TogleforPassword","paddingLeft","_e$target","_e$target2","_e$target3","fontWeight","Footer","SubmitBar","setactionFieldsToRight","Toast","UploadDrawer","Home_UserProfile","useAnIndividual","IndividualUserProfile","handleResize","_yield$Digit$UserServ","updateUser","Home","_window3$includes","_window4$includes","_citizenServicesObj$s","_citizenServicesObj$p","_citizenServicesObj$p3","_citizenServicesObj$p5","_citizenServicesObj$p7","_infoAndUpdatesObj$si","_infoAndUpdatesObj$pr","_infoAndUpdatesObj$pr3","_infoAndUpdatesObj$pr5","_infoAndUpdatesObj$pr7","_whatsNewSectionObj$s2","conditionsToDisableNotificationCountTrigger","_Digit$Hooks$useEvent","useEvents","EventsData","EventsDataLoading","appBannerWebObj","appBannerDesktop","appBannerMobObj","appBannerMobile","citizenServicesObj","citizenServicesCard","infoAndUpdatesObj","informationAndUpdatesCard","whatsAppBannerWebObj","whatsAppBannerDesktop","whatsAppBannerMobObj","whatsAppBannerMobile","whatsNewSectionObj","whatsNewSection","handleClickOnWhatsAppBanner","allCitizenServicesProps","headerLabel","sideOption","_citizenServicesObj$s2","Icon","ComplaintIcon","_citizenServicesObj$p2","_citizenServicesObj$p4","_citizenServicesObj$p6","_citizenServicesObj$p8","allInfoAndUpdatesProps","_infoAndUpdatesObj$si2","_infoAndUpdatesObj$pr2","Calender","_infoAndUpdatesObj$pr4","DocumentIcon","_infoAndUpdatesObj$pr6","_infoAndUpdatesObj$pr8","bannerUrl","CardBasedOptions","_whatsNewSectionObj$s","WhatsNewCard","videoPlay","setVideoPlay","vidSrc","setVidSrc","ViDSvg","viewBox","xmlns","d","_Digit$Hooks$useGetHo","useGetHowItWorksJSON","mdmsConfigResult","screenHeader","CustomButton","videosJson","videos","onClickVideo","vidObj","pdfHeader","pdfDesc","PDFSvg","DownloadImgIcon","CloseSvg","controls","autoPlay","otp","onOtpChange","onResend","_ref$userType","canSubmit","timeLeft","setTimeLeft","useInterval","handleResendOtp","OTPInput","FormStep","loginSteps","cardText","nextText","inputs","validation","minlength","maxlength","Login_SelectMobileNumber","onMobileChange","onEmailChange","isEmail","setIsEmail","core_mobile_config","EMAIL_REGEX","rawPattern","mobileNumberPattern","isEmailValid","isMobileValid","linkLabel","InputCard","submit","onNext","handleSubmit","isDisable","FieldV1","withoutLabel","charCount","prefix","mobilePrefix","mobileNumberLength","fieldStyle","LinkLabel","userSelect","textDecoration","switchMode","Login_SelectName","TYPE_LOGIN","DEFAULT_REDIRECT_URL","getFromLocation","Login_IndividualLogin","_ref$isUserRegistered","isUserRegistered","isOtpValid","setIsOtpValid","setParams","errorTO","setErrorTO","canSubmitName","setCanSubmitName","canSubmitOtp","setCanSubmitOtp","canSubmitNo","setCanSubmitNo","errorTimeout","_location$state2","setCitizenDetail","userObject","_JSON$parse","sessionStorage","setItem","stepItems","selectMobileNumber","_yield$sendOtp2","sendOtp","selectName","registerURL","IndividualRegister","requestType","auth","Error","selectOtp","authenticate","ResponseInfo","UserRequest","tokens","resendOtp","_yield$sendOtp4","AppContainer","Routes","Route","SelectMobileNumber","event","showRegisterLink","SelectOtp","SelectName","TYPE_REGISTER","citizen_Login","_location$state7","IndividualLogin","_location$state4","_location$state3","_location$state5","_yield$sendOtp6","_location$state6","roleInfo","userRole","otpReference","_yield$Digit$UserServ2","registerUser","_excluded2","_yield$sendOtp0","_yield$sendOtp8","isCitizenDesktop","isCheckBoxInput","isDateObject","Date","isNullOrUndefined","isObjectType","isObject","getEventValue","checked","isNameInFieldArray","names","getNodeParentName","isWeb","HTMLElement","cloneObject","copy","Blob","FileList","tempObject","prototypeCopy","prototype","isPlainObject","compact","isUndefined","val","object","result","isBoolean","isKey","stringToPath","input","tempPath","newValue","objValue","isNaN","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","external_React_","createContext","useFormContext","useContext","getProxyFormState","localProxyFormState","isRoot","defaultValues","_defaultValues","defineProperty","_key","_proxyFormState","isEmptyObject","shouldRenderFormState","formStateData","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","exact","currentName","useSubscribe","_props","subscription","subject","subscribe","next","unsubscribe","isString","generateWatchOutput","_names","formValues","isGlobal","watch","fieldName","watchAll","Controller","methods","shouldUnregister","isArrayField","array","_name","_subjects","values","updateValue","_formValues","_getWatch","_removeUnmounted","useWatch","_formState","_mounted","_localProxyFormState","isDirty","dirtyFields","touchedFields","validatingFields","isValidating","isValid","_updateFormState","_updateValid","useFormState","_registerProps","register","rules","_shouldUnregisterField","_options","updateMounted","field","_fields","_f","mount","_state","unregister","_updateDisabledField","fields","useCallback","onBlur","ref","elm","setCustomValidity","reportValidity","fieldState","defineProperties","invalid","enumerable","isTouched","useController","appendErrors","validateAllFieldCriteria","types","getValidationModes","mode","isOnSubmit","isOnBlur","isOnChange","isOnAll","isOnTouch","isWatched","isBlurEvent","watchName","iterateFieldsByAction","fieldsNames","abortEarly","currentField","refs","updateFieldArrayRootError","fieldArrayErrors","isFileInput","isFunction","isHTMLElement","owner","ownerDocument","defaultView","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","attributes","defaultReturn","getRadioValue","previous","getValidateError","every","getValueAndMessage","validationData","validateField","async","shouldUseNativeValidation","isFieldArray","minLength","min","max","validate","valueAsNumber","inputValue","inputRef","isRadio","isCheckBox","isRadioOrCheckbox","isEmpty","appendErrorsCurry","bind","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueDate","valueAsDate","convertTimeToDate","time","toDateString","isTime","isWeek","valueNumber","maxLengthOutput","minLengthOutput","patternValue","match","validateError","validationResult","unset","paths","childObject","updatePath","baseGet","isEmptyArray","createSubject","_observers","observers","observer","isPrimitive","deepEqual","object1","object2","getTime","keys1","keys2","val1","val2","isMultipleSelect","live","isConnected","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","getFieldValueAs","setValueAs","NaN","getFieldValue","selectedOptions","getRuleValue","rule","source","schemaErrorLookup","join","foundError","pop","defaultOptions","reValidateMode","shouldFocusError","createFormControl","delayErrorCallback","submitCount","isSubmitted","isSubmitting","isSubmitSuccessful","unMount","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","criteriaMode","shouldUpdateValid","resolver","_executeSchema","executeBuiltInValidation","_updateIsValidating","updateValidAndValue","shouldSkipSetValueAs","defaultChecked","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","disabledField","_getDirty","isCurrentFieldPristine","isPreviousFieldTouched","context","getResolverOptions","shouldOnlyCheckValid","valid","isFieldArrayRoot","fieldError","getValues","fieldReference","optionRef","checkboxRef","radioRef","shouldTouch","shouldValidate","trigger","setValues","fieldKey","setValue","cloneValue","isFieldValueUpdated","_updateIsFieldValueUpdated","Number","shouldSkipValidation","deps","skipValidation","watched","previousErrorLookupResult","errorLookupResult","previousFieldError","delayError","updateErrors","wait","updatedFormState","shouldRenderByError","_focusInput","fieldNames","executeSchemaAndUpdateState","Promise","all","shouldFocus","getFieldState","currentError","currentRef","restOfErrorTree","delete","keepValue","keepError","keepDirty","keepTouched","keepIsValidating","keepDefaultValue","keepIsValid","disabledIsDefined","progressive","fieldRef","querySelectorAll","radioOrCheckbox","_focusError","onValid","onInvalid","onValidError","persist","fieldValues","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","keepDefaultValues","keepValues","keepDirtyValues","form","closest","reset","keepSubmitCount","keepIsSubmitted","keepErrors","keepIsSubmitSuccessful","_updateFieldArray","args","shouldSetValues","shouldUpdateFieldsAndState","argA","argB","unsetEmptyArray","_getFieldArray","_resetDefaultValues","then","resetOptions","_disableForm","_setErrors","payload","resetField","clearErrors","inputName","setFocus","shouldSelect","Search_SearchFields","previousPage","SearchField","DatePicker","date","Search_MobileSearchApplication","_data$roles","tabledata","settabledata","DownloadBtn","DownloadBtnCommon","returnObject","convertEpochToDate","timestamp","convertEpochToTimeInHours","dataView","dataViewedBy","dateEpoch","dateFromApi","month","getMonth","day","getDate","year","getFullYear","hour","getHours","getMinutes","period","_useReducer2","useReducer","currentlyActiveMobileModal","setActiveMobileModal","closeMobilePopupModal","MobilePopUpCloseButton","searchFormFieldsComponentProps","CurrentMobileModalComponent","SearchForm","SearchFormFields","MobileComponentDirectory","propsMobileInboxCards","_data$roles$slice","tabData","Download","Excel","handleExcelDownload","SearchAction","handleActionClick","DetailsCard","Search","count","_useForm","_formControl","_values","useForm","sortOrder","onSort","desc","MobileSearchApplication","GetCell","columns","disableSortBy","accessor","row","_row$roles$slice","marginRight","SearchFields","Table","totalRecords","getCellProps","cellInfo","column","onPageSizeChange","currentPage","onNextPage","onPrevPage","manualPagination","pageSizeLimit","disableSort","sortParams","SearchApp","_data$ElasticSearchDa","_data$ElasticSearchDa2","setPayload","convertDateToEpoch","dateString","dayStartOrEnd","parts","DateObj","UTC","setMinutes","getTimezoneOffset","setHours","setSeconds","getSeconds","storedPayload","k","_Digit$Hooks$useAudit","useAudit","filters","AuditSearchApplication","_data","sortBy","fromDate","toDate","ElasticSearchData","_mdmsData$MdmsRes$com","_mdmsConfigResult$hel","_mdmsConfigResult$hel2","_mdmsConfigResult$hel3","_mdmsConfigResult$hel4","_mdmsConfigResult$hel5","_mdmsConfigResult$hel6","_staticData","_staticData2","_staticData3","_staticData4","_staticData5","_staticContent","_staticContent2","_staticContent3","_Digit$Hooks$useStati","useStaticData","isMdmsLoading","mdmsData","_Digit$Hooks$useDynam","useDynamicData","isSearchLoading","dynamicData","IconComponent","StaticData","StaticDataIconComponentOne","TimerIcon","StaticDataIconComponentTwo","RupeeSymbol","staticContent","staticCommonContent","validity","staticData","staticDataOne","staticDataOneHeader","staticDataTwo","staticDataTwoHeader","payViaWhatsApp","handleClickOnWhatsApp","WhatsappIconGreen","helpline","HelpLineIcon","contactOne","contactTwo","serviceCenter","ServiceCenterIcon","viewMapLocation","dynamicDataOne","dynamicDataTwo","ValidityTimeIcon","SideBar_CitizenSideNav","isLoggedIn","handleLogoutCancel","buildItems","isDigitStudio","orderCounter","_moduleEntries$","moduleEntries","entry","_entry$sidebar","endsWith","rawIcon","seen","navigateToUrl","enableSearch","handleLogoutSubmit","lazyWithFallback","resolve","__webpack_require__","FAQsSection","UserProfile","HowItWorks","Login","StaticDynamicCard","sidebarHiddenFor","getTenants","codes","citizen","_window7$getConfig","DSO","appTenants","sourceUrl","_data$ACCESSCONTROLA","el","_a$b$parentModule","isLinkDataFetched","classname","useRouteSubscription","hideSidebar","appRoutes","DynamicModuleLoader","ModuleLevelLinkHomePages","bannerImage","CitizenHomeCard","Info","CitizenInfoLabel","isInfo","TopBarSideBar","CitizenSideNav","_window8$getConfig","ChangePasswordComponent","_window3$getConfig","propsConfig","_Digit$Hooks$useQuery","mobile_number","setOtp","setShowToast","getUserType","setType","closeToast","onResendOTP","_err$response","error_description","onChangePassword","navigateToLogin","_err$response2","_propsConfig$inputs","FormComposer","noBoxShadow","inline","submitInForm","submitButtonLabel","cardStyle","CardSubHeader","_window4$getConfig","loginParams","defaultProps","ChangePassword","EmployeeChangePassword","loginConfig","ForgotPassword","_window6$getConfig","_mdmsData$config$","bannerImages","onForgotPassword","alert","Carousel","FormComposerV2","secondaryActionLabel","secondaryButtonLabel","onSecondayActionClick","headingStyle","descriptionStyles","secondaryActionId","_window5$getConfig","forgotPassword","employee_ForgotPassword","ForgotPasswordComponent","defaultLanguage","_Digit$getDefaultLang","getDefaultLanguage","_defaultLanguages","_window2$getConfig","defaultLanguages","hasMultipleLanguages","now","_loginConfig$","_ref$bannerImages","currentSlide","setCurrentSlide","carouselItems","nextSlide","interval","backgroundImage","image","prevSlide","_","goToSlide","mdmsConfig","masterName","localePrefix","component","customProps","LoginOtpConfig","_Digit2","_config$","_config$2","loginOTPBased","isStoreLoading","_Digit$Hooks$useSSOCo","useSSOConfig","_data$MdmsRes","_data$SSO","IdentityProviders","ssoMDMSData","setDisable","loginLoader","setLoginLoader","DynamicLoginComponent","hashParams","URLSearchParams","hash","idToken","accessToken","errorDescription","handleDigitLogin","microsoftAuthenticate","catch","_user$info5","_user$info6","setEmployeeDetail","decodeURIComponent","Authorization","grant_type","scope","assertion","ok","_parsed","_parsed2","_parsed3","_parsed4","parsed","raw","json","replaceState","onSSOLogin","ssoConfig","ui","hasOidcConfig","authorizeUrl","clientId","authStrategy","onOIDCLogin","resource","logoutUrl","logoutRedirectParam","authority","uiConfig","_ref5$scopes","scopes","_ref5$responseType","responseType","_ref5$responseMode","responseMode","_ref5$nonceRequired","nonceRequired","_ref5$redirectPath","prompt","nonce","random","redirectUri","forcePromptLogin","buildOIDCAuthorizeUrl","onLogin","_ref8","_requestData$city","_excluded3","_x4","reqCreate","enable","mutation","useCustomAPIMutationHook","onOtpLogin","_ref9","_Digit3","_onSuccess","inputEmail","mutate","onError","variables","_error$response2","onSuccess","_Digit4","_x6","_x5","_window0","defaultTenant","ssoConfigs","sso","_sso$ui","_sso$ui2","_sso$ui3","_sso$ui4","_sso$ui5","_sso$ui6","_field$populators","_field$populators2","onFormValueChange","hasEmptyFields","renderLoginForm","_propsConfig$texts","_propsConfig$texts2","_propsConfig$texts3","extraClasses","cardClassName","wrapperClass","cardSubHeaderClassName","buttonClassName","renderFooter","footerClassName","_window1","_window1$getConfig","_window10","_window10$getConfig","login","withAutoFocusMain","employee_Login","defaultLoginConfig","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","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","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","REACT_ELEMENT_TYPE","Symbol","REACT_FRAGMENT_TYPE","jsxProd","maybeKey","$$typeof","jsx","jsxs","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","definition","r","toStringTag","CitizenApp","EmployeeApp","SignUp","CustomErrorComponent","DigitApp","_ref$defaultLanding","defaultLanding","_ref$allowedUserTypes","allowedUserTypes","getCurrentUlb","commonProps","DigitAppWrapper","_window11","_ref3$defaultLanding","_location","middleware","thunk","enhancer","composeEnhancers","compose","applyMiddleware","store","defaultStore","moduleReducers","createStore","getRootReducer","combineReducers","common","defaultData","components_PrivacyComponent","isChecked","setIsChecked","showPopUp","setShowPopUp","privacy","PrivacyPolicy","policy","_props$props","CheckBox","footerclassName","sortFooterChildren","contents","getElementById","scrollIntoView","behavior","isSpaceRequired","descriptions","subIndex","isBold","subDescriptions","subDesc","subSubIndex","components_EmployeeSSOLoginOptions","_ref2$ssoConfigs","hasMultipleOptions","_sso$provider","_sso$onLogin","_sso$provider2","_sso$onLogin2","DigitUIWrapper","_initData$stateInfo","_initData$stateInfo2","_initData$stateInfo3","enabledModules","_Digit$Hooks$useInitS","useInitStore","_Digit$Hooks$useInitS2","getStore","getI18n","setComponent","PrivacyComponent","EmployeeSSOLoginOptions","Provider","Router","BodyContainer","DigitUI","registry","initialPrivacy","getPrivacyObject","setPrivacy","queryClient","QueryClient","queries","attemptIndex","ComponentProvider","Contexts","PrivacyProvider","resetPrivacy","setPrivacyObject","getPrivacy","privacyObj","updatePrivacyDescoped","getAllPrivacyObject","updatePrivacy","privacyContextValue","QueryClientProvider","client","componentsToRegister","A","_props$props4","_props$props2","_props$props3","ForgotOrganizationTooltip","showTip","setShowTip","wrapperRef","handleClickOutside","contains","whiteSpace","wordBreak","LoginSignupSelector","isSignupPage","onButtonClickLogin","onButtonClickSignUP","initCoreComponents"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"main.js","mappings":"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bC,OAAQ,CACN,CACExT,MAAO,4BACP+Q,KAAK,gBACLyD,YAAa,mCAEf,CACExU,MAAO,4BACP+Q,KAAM,sBACNyD,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,yBAEX,CACEH,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,mCAEf,CACExU,MAAO,KACPwU,YAAa,qCAInB,CACElB,SAAU,qBACVG,QAAS,wBACTD,OAAQ,CACN,CACExT,MAAO,4BACPwU,YAAa,mCAEf,CACExU,MAAO,4BACPwU,YAAa,qCAInB,CACElB,SAAU,sBACVG,QAAS,yBACTD,OAAQ,CACN,CACExT,MAAO,6BACPwU,YAAa,oCAEf,CACExU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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/pages/employee/Login/login.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Login/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/Otp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/config.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/signUp.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/SignUp/index.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/ViewUrl/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/AppModules.js","webpack://@egovernments/digit-ui-module-core/./src/pages/employee/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/css-mediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/matchmediaquery/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/factoryWithThrowingShims.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/index.js","webpack://@egovernments/digit-ui-module-core/../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://@egovernments/digit-ui-module-core/../node_modules/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/javascript/node_modules/react-responsive/node_modules/shallow-equal/dist/index.modern.mjs","webpack://@egovernments/digit-ui-module-core/../node_modules/react/cjs/react-jsx-runtime.production.js","webpack://@egovernments/digit-ui-module-core/../node_modules/react/jsx-runtime.js","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-react-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@egovernments/digit-ui-svg-components\"","webpack://@egovernments/digit-ui-module-core/external umd \"@tanstack/react-query\"","webpack://@egovernments/digit-ui-module-core/external umd \"React\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-i18next\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"react-router-dom\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux\"","webpack://@egovernments/digit-ui-module-core/external umd \"redux-thunk\"","webpack://@egovernments/digit-ui-module-core/webpack/bootstrap","webpack://@egovernments/digit-ui-module-core/webpack/runtime/compat get default export","webpack://@egovernments/digit-ui-module-core/webpack/runtime/define property getters","webpack://@egovernments/digit-ui-module-core/webpack/runtime/hasOwnProperty shorthand","webpack://@egovernments/digit-ui-module-core/webpack/runtime/make namespace object","webpack://@egovernments/digit-ui-module-core/./src/App.js","webpack://@egovernments/digit-ui-module-core/./src/redux/store.js","webpack://@egovernments/digit-ui-module-core/./src/redux/reducers/index.js","webpack://@egovernments/digit-ui-module-core/./src/components/PrivacyComponent.js","webpack://@egovernments/digit-ui-module-core/./src/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(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@egovernments/digit-ui-components\", \"React\", \"react-i18next\", \"@tanstack/react-query\", \"react-redux\", \"react-router-dom\", \"@egovernments/digit-ui-svg-components\", \"@egovernments/digit-ui-react-components\", \"redux\", \"redux-thunk\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@egovernments/digit-ui-module-core\"] = factory(require(\"@egovernments/digit-ui-components\"), require(\"React\"), require(\"react-i18next\"), require(\"@tanstack/react-query\"), require(\"react-redux\"), require(\"react-router-dom\"), require(\"@egovernments/digit-ui-svg-components\"), require(\"@egovernments/digit-ui-react-components\"), require(\"redux\"), require(\"redux-thunk\"));\n\telse\n\t\troot[\"@egovernments/digit-ui-module-core\"] = factory(root[\"@egovernments/digit-ui-components\"], root[\"React\"], root[\"react-i18next\"], root[\"@tanstack/react-query\"], root[\"react-redux\"], root[\"react-router-dom\"], root[\"@egovernments/digit-ui-svg-components\"], root[\"@egovernments/digit-ui-react-components\"], root[\"redux\"], root[\"redux-thunk\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__6243__, __WEBPACK_EXTERNAL_MODULE__4883__, __WEBPACK_EXTERNAL_MODULE__5953__, __WEBPACK_EXTERNAL_MODULE__4456__, __WEBPACK_EXTERNAL_MODULE__2148__, __WEBPACK_EXTERNAL_MODULE__4442__, __WEBPACK_EXTERNAL_MODULE__338__, __WEBPACK_EXTERNAL_MODULE__5053__, __WEBPACK_EXTERNAL_MODULE__1954__, __WEBPACK_EXTERNAL_MODULE__2247__) => {\nreturn ","import React from \"react\";\n\nconst Background = ({ children }) => {\n return <div className=\"banner banner-container\">{children}</div>;\n};\n\nexport default Background;\n","import { CardText, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n};\n\nconst ChangeCity = (prop) => {\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); \n const navigate = useNavigate();\n const isDropdown = prop.dropdown || false;\n let selectedCities = [];\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: `TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`,\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n // if (isDropdown) {\n return (\n <div style={prop?.mobileView ? { color: \"#767676\" } : {}}>\n {\n (isMultiRootTenant && selectCityData.length==1) ? \n <CardText style={{color:\"#363636\"}}>{selectCityData?.[0]?.value}</CardText>\n :\n <Dropdown\n t={prop?.t}\n option={selectCityData}\n selected={selectCityData.find((cityValue) => cityValue.value === dropDownData?.value)}\n optionKey={\"label\"}\n select={handleChangeCity}\n freeze={true}\n customSelector={\n <label className=\"cp\">\n {prop?.t(`TENANT_TENANTS_${stringReplaceAll(Digit.SessionStorage.get(\"Employee.tenantId\"), \".\", \"_\")?.toUpperCase()}`)}\n </label>\n }\n />\n}\n </div>\n );\n // } else {\n // return (\n // <React.Fragment>\n // <div style={{ marginBottom: \"5px\" }}>City</div>\n // <div className=\"language-selector\" style={{display: \"flex\", flexWrap: \"wrap\"}}>\n // {selectCityData?.map((city, index) => (\n // <div className=\"language-button-container\" key={index}>\n // <CustomButton\n // selected={city.value === Digit.SessionStorage.get(\"Employee.tenantId\")}\n // text={city.label}\n // onClick={() => handleChangeCity(city)}\n // ></CustomButton>\n // </div>\n // ))}\n // </div>\n // </React.Fragment>\n // );\n // }\n};\n\nexport default ChangeCity;\n","import { Button, Dropdown } from \"@egovernments/digit-ui-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ChangeLanguage = (prop) => {\n const isDropdown = prop.dropdown || false;\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { languages, stateInfo } = storeData || {};\n const { t } = useTranslation();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n if (isLoading) return null;\n\n if (isDropdown) {\n return (\n <div>\n <Dropdown\n className={\"language-dropdown\"}\n option={languages}\n selected={languages?.find((language) => language?.value === selectedLanguage)}\n optionKey={\"label\"}\n select={handleChangeLanguage}\n freeze={true}\n customSelector={<label className=\"cp\">{t(languages?.find((language) => language?.value === selected)?.label)}</label>}\n />\n </div>\n );\n } else {\n return (\n <React.Fragment>\n <div style={{ marginBottom: \"5px\" }}>Language</div>\n <div className=\"language-selector\">\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <Button\n label={language.label}\n onClick={() => handleChangeLanguage(language)}\n variation={language.value === selected ? \"primary\" : \"\"}\n />\n </div>\n ))}\n </div>\n </React.Fragment>\n );\n }\n};\n\nexport default ChangeLanguage;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport Background from \"./Background\";\nimport { Button, Card, CardHeader, CardText } from \"@egovernments/digit-ui-components\";\nimport Header from \"./Header\";\n\nconst CustomErrorComponent = (props) => {\n const { state = {} } = useLocation();\n // const module = state?.module;\n const { t } = useTranslation();\n const stateInfo = props.stateInfo;\n\n const navigate = useNavigate();\n const ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://s3.ap-south-1.amazonaws.com/egov-qa-assets/error-image.png`,\n infoHeader: \"WRONG_TENANT_SIGN_UP\",\n infoMessage: \"WRONG_TENANT_SIGN_UP_MESSAGE\",\n buttonInfo: \"WRONG_TENANT_SIGN_UP_BUTTON\",\n action: () => {\n navigate(`/${window.globalPath}/`);\n },\n },\n };\n const config = ModuleBasedErrorConfig[\"sandbox\"];\n\n return (\n <Background>\n <Card className={`digit-employee-card customError`}>\n <Header showTenant={false} />\n <CardHeader className={\"center\"}>{t(config.infoHeader)}</CardHeader>\n <CardText className={\"center\"}>{t(config.infoMessage)}</CardText>\n <Button\n className=\"customErrorButton\"\n label={t(config?.buttonInfo)}\n variation={\"primary\"}\n isSuffix={true}\n onClick={(e) => {\n e.preventDefault();\n config?.action();\n }}\n />\n </Card>\n </Background>\n );\n};\n\nexport default CustomErrorComponent;\n","import { CardText, PopUp, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst LogoutDialog = ({ onSelect, onCancel, onDismiss, PopupStyles, isDisabled, hideSubmit }) => {\n const { t } = useTranslation();\n\n const children = [\n <div>\n <CardText>\n {t(\"CORE_LOGOUT_WEB_CONFIRMATION_MESSAGE\") + \" \"}\n <strong>{t(\"CORE_LOGOUT_MESSAGE\")}</strong>\n </CardText>\n </div>,\n ];\n\n const footer = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"CORE_LOGOUT_WEB_YES\")}\n formId={\"modal-action\"}\n onClick={onSelect}\n isDisabled={isDisabled}\n />\n ];\n\n const footerWithoutSubmit = [\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"digit-action-cancel\"}\n label={t(\"CORE_LOGOUT_CANCEL\")}\n className={\"logout-cancel-button\"}\n onClick={onCancel}\n />,\n ];\n\n return (\n <PopUp\n type=\"default\"\n children={children}\n heading={t(\"CORE_LOGOUT_WEB_HEADER\")}\n footerChildren={hideSubmit ? footerWithoutSubmit : footer}\n sortFooterButtons={true}\n onClose={onDismiss}\n className={\"digit-logout-popup-wrapper\"}\n onOverlayClick={onDismiss}\n equalWidthButtons={true}\n style={PopupStyles}\n ></PopUp>\n );\n};\nexport default LogoutDialog;","import React, {useRef, useEffect, useState } from \"react\";\nimport { CheckCircle } from \"@egovernments/digit-ui-svg-components\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DummyLoaderScreen = () => {\n const [currentStep, setCurrentStep] = useState(0);\n const navigate = useNavigate();\n const location = useLocation();\n const { t } = useTranslation();\n const { tenant } = location.state || {};\n const steps = [\n \"SANDBOX_GUIDE_SETUP_ACCOUNT\",\n \"SANDBOX_GUIDE_DEFAULT_MASTER_DATA\",\n \"SANDBOX_GUIDE_CONFIGURING_COMPLAINTS\",\n \"SANDBOX_GUIDE_CONFIGURING_EMPLOYEE_MANAGEMENT\",\n \"SANDBOX_GUIDE_SETTING_UP_CITIZEN_PORTAL\",\n \"SANDBOX_GUIDE_SETTING_UP_EMPLOYEE_PORTAL\",\n \"SANDBOX_GUIDE_LOADING_CONFIGURATION_INTERFACE\",\n \"SANDBOX_GUIDE_CREATING_DASHBOARD\",\n \"SANDBOX_GUIDE_ALL_SETUP_DONE\",\n ];\n useEffect(() => {\n const stepInterval = setInterval(() => {\n if (currentStep < steps.length) {\n setCurrentStep((prev) => prev + 1);\n }\n }, 2000); // 1 second delay for each step\n\n if (currentStep === steps.length) {\n clearInterval(stepInterval); // Clear the interval to stop further updates\n const globalPath = typeof window !== 'undefined' ? window?.globalPath : '';\n\n const navigateTimeout = setTimeout(() => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}${RoleLandingUrl}`,\n state: { tenant: tenant },\n });\n\n } else {\n navigate({\n pathname: `/${window?.globalPath}/${tenant}/employee`,\n state: { tenant: tenant },\n });\n }\n }, 1000);\n\n return () => clearTimeout(navigateTimeout); // Cleanup timeout\n }\n\n return () => {\n clearInterval(stepInterval);\n };\n }, [currentStep]);\n\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n return (\n <div className=\"sandbox-loader-screen\">\n <div className=\"sandbox-loader\"></div>\n <ul className=\"sandbox-installation-steps\">\n {steps.map((step, index) => (\n <li key={index} className={`sandbox-step ${index < currentStep ? \"sandbox-visible\" : \"\"}`}>\n <span className=\"sandbox-step-text\">{t(step)}</span>\n {index < currentStep && <CheckCircle fill=\"#00703C\" />}\n </li>\n ))}\n </ul>\n </div>\n );\n};\n\nexport default DummyLoaderScreen;\n","import React, { useState, useEffect } from \"react\";\nimport { Navigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\n\n/**\n * DynamicModuleLoader handles loading of modules from the ComponentRegistryService\n * with loading states, retries, and graceful error handling\n */\nconst DynamicModuleLoader = ({ \n moduleCode, \n stateCode, \n userType, \n tenants, \n maxRetries = 5, \n retryDelay = 1500,\n initialDelay = 100 // Initial delay before first check to allow modules to register\n}) => {\n const [moduleState, setModuleState] = useState({\n module: null,\n loading: true,\n error: null,\n retryCount: 0,\n initialDelayComplete: false\n });\n const { t } = useTranslation();\n\n useEffect(() => {\n let retryTimeout;\n let initialTimeout;\n\n const loadModule = async () => {\n try {\n // Check if module is available in ComponentRegistryService\n const Module = Digit.ComponentRegistryService.getComponent(`${moduleCode}Module`);\n \n if (Module) {\n setModuleState({\n module: Module,\n loading: false,\n error: null,\n retryCount: 0,\n initialDelayComplete: true\n });\n } else {\n // Module not found, check if we should retry\n if (moduleState.retryCount < maxRetries) {\n setModuleState(prev => ({\n ...prev,\n retryCount: prev.retryCount + 1\n }));\n \n // Retry after delay (exponential backoff)\n const delay = retryDelay * Math.pow(1.5, moduleState.retryCount);\n retryTimeout = setTimeout(() => {\n loadModule();\n }, delay);\n } else {\n // Max retries reached\n setModuleState({\n module: null,\n loading: false,\n error: `Module \"${moduleCode}\" not found after ${maxRetries} attempts`,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n }\n } catch (error) {\n console.error(`Error loading module ${moduleCode}:`, error);\n setModuleState({\n module: null,\n loading: false,\n error: error.message,\n retryCount: moduleState.retryCount,\n initialDelayComplete: true\n });\n }\n };\n\n // Start with initial delay to allow modules to register\n if (!moduleState.initialDelayComplete) {\n initialTimeout = setTimeout(() => {\n setModuleState(prev => ({ ...prev, initialDelayComplete: true }));\n loadModule();\n }, initialDelay);\n } else {\n loadModule();\n }\n\n // Cleanup timeouts on unmount\n return () => {\n if (retryTimeout) {\n clearTimeout(retryTimeout);\n }\n if (initialTimeout) {\n clearTimeout(initialTimeout);\n }\n };\n }, [moduleCode, moduleState.retryCount, moduleState.initialDelayComplete, maxRetries, retryDelay, initialDelay]);\n\n // Show loading state\n if (moduleState.loading) {\n const loadingText = !moduleState.initialDelayComplete\n ? t(\"CORE_INITIALIZING_MODULE\", { moduleCode, defaultValue: \"Initializing {{moduleCode}} module...\" })\n : t(\"CORE_LOADING_MODULE\", { moduleCode, defaultValue: \"Loading {{moduleCode}} module...\" });\n\n return (\n <div className=\"module-loading-container\">\n <Loader \n page={true} \n variant=\"PageLoader\" \n loaderText={loadingText}\n />\n {moduleState.retryCount > 0 && moduleState.initialDelayComplete && (\n <div className=\"retry-info\" style={{ textAlign: 'center', marginTop: '1rem', color: '#666' }}>\n {t(\"CORE_MODULE_RETRY_ATTEMPT\", { retryCount: moduleState.retryCount, maxRetries, defaultValue: \"Retry attempt {{retryCount}}/{{maxRetries}}\" })}\n </div>\n )}\n </div>\n );\n }\n\n // Show error state and redirect\n if (moduleState.error || !moduleState.module) {\n console.warn(`Module loading failed for ${moduleCode}:`, moduleState.error);\n return (\n <Navigate\n to={`/${window?.contextPath}/employee/user/error?type=notfound&module=${moduleCode}&reason=${encodeURIComponent(moduleState.error || 'Module not found')}`}\n replace\n />\n );\n }\n\n // Render the loaded module\n const Module = moduleState.module;\n return (\n <Module \n stateCode={stateCode} \n moduleCode={moduleCode} \n userType={userType} \n tenants={tenants} \n />\n );\n};\n\nexport default DynamicModuleLoader;","import React from \"react\";\nimport ErrorComponent from \"./ErrorComponent\";\n\nconst Redircter = () => {\n // Add safety checks for window object\n if (typeof window === 'undefined') {\n return <span></span>;\n }\n\n try {\n const contextPath = window?.contextPath || '';\n const userType = Digit.UserService.getType();\n const path = userType === \"employee\" \n ? `/${contextPath}/employee/user/error` \n : `/${contextPath}/citizen/error`;\n \n const currentHref = window.location.href;\n \n // Check if we're already on an error page or in development\n if (\n currentHref.includes(\"employee/user/error\") ||\n currentHref.includes(\"citizen/error\") ||\n process.env.NODE_ENV === \"development\"\n ) {\n // Do nothing - already on error page or in development\n return <span></span>;\n }\n \n // Safe navigation with error handling\n try {\n window.location.href = path;\n } catch (navigationError) {\n console.warn('Navigation failed in error boundary:', navigationError);\n // Fallback: try using replace instead\n try {\n window.location.replace(path);\n } catch (replaceError) {\n console.error('Both href and replace failed:', replaceError);\n }\n }\n } catch (error) {\n console.error('Error in Redircter component:', error);\n }\n\n return <span></span>;\n};\n\nclass ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { error: null, errorStack: null, hasError: false, module: null, action: null, info: null };\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return { error: error?.message, hasError: true, errorStack: error?.stack, module: error?.module, action: error?.action, info: error?.info };\n }\n\n componentDidCatch(error, errorInfo) {\n // Catch errors in any components below and re-render with error message\n this.setState({ \n error: error?.message, \n hasError: true, \n errorStack: error?.stack,\n module: error?.module,\n action: error?.action,\n info: errorInfo\n });\n \n // Enhanced error logging with safety checks\n try {\n // Log to console in development\n if (process.env.NODE_ENV === 'development') {\n console.group('🚨 Error Boundary Caught Error');\n console.error('Error:', error);\n console.error('Error Info:', errorInfo);\n console.error('Component Stack:', errorInfo?.componentStack);\n console.groupEnd();\n }\n \n // You can also log error messages to an error reporting service here\n // Example: errorReportingService.captureException(error, { extra: errorInfo });\n \n } catch (loggingError) {\n console.warn('Failed to log error in ErrorBoundary:', loggingError);\n }\n }\n\n render() {\n if (this.state.hasError) {\n // (\"UI-errorInfo\", this.state?.errorStack);\n // (\"UI-component-details\", this.props);\n // You can render any custom fallback UI\n return (\n <div className=\"error-boundary\">\n <Redircter />\n <ErrorComponent initData={this.props.initData} errorData={this.state} goToHome={() => {\n window.location.href = `/${window?.contextPath}/${Digit?.UserService?.getType?.()}`; // Use navigate\n }}/>\n\n {/* <summary>Something went wrong</summary>\n <details style={{ whiteSpace: \"pre-wrap\" }}>\n {this.state?.errorStack && this.state.errorStack.toString().substring(0, 600)}\n {this.state?.error}\n </details> */}\n </div>\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst ErrorConfig = {\n error: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"CORE_SOMETHING_WENT_WRONG\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n maintenance: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/maintainence-image.png`,\n infoMessage: \"CORE_UNDER_MAINTENANCE\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n notfound: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/PageNotFound.png`,\n infoMessage: \"MODULE_NOT_FOUND\",\n buttonInfo: \"ACTION_TEST_HOME\",\n },\n};\n\nconst ModuleBasedErrorConfig = {\n sandbox: {\n imgUrl: `https://digit-ui-assets.s3.ap-south-1.amazonaws.com/error-image.png`,\n infoMessage: \"WRONG_TENANT_SIGN_UP\",\n buttonInfo: \"CREATE_TENANT_ERROR_BUTTON\",\n },\n};\n\nconst ErrorComponent = (props) => {\n const { type = \"error\" } = Digit.Hooks.useQueryParams();\n const module = props?.errorData?.module;\n const { t } = useTranslation();\n const config = module ? ModuleBasedErrorConfig[module] : ErrorConfig[type];\n const stateInfo = props.stateInfo;\n\n return (\n <div className=\"error-boundary\">\n <div className=\"error-container\">\n <ImageComponent src={config.imgUrl} alt=\"error\" />\n <h1>{t(config.infoMessage)}</h1>\n <button\n onClick={() => {\n module ? props?.errorData?.action() : props?.goToHome?.();\n }}\n >\n {t(config.buttonInfo)}\n </button>\n </div>\n </div>\n );\n};\n\nexport default ErrorComponent;\n","import { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageComponent from \"./ImageComponent\";\n\nconst Header = ({ showTenant = true }) => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const { t } = useTranslation();\n\n if (isLoading) return <Loader />;\n\n //If HEADER_SVG config exists, return the custom block\n const headerSvgSecondaryUrl = window?.globalConfigs?.getConfig(\"SVG_HEADER_SECONDARY_LOGO_URL\");\n if (headerSvgSecondaryUrl) {\n return (\n <div className=\"bannerHeader secondaryBannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n <span style={{fontSize: \"xx-large\"}}>|</span>\n <ImageComponent\n className=\"svgHeaderLogo\"\n src={headerSvgSecondaryUrl}\n alt=\"DIGIT Logo\"\n />\n </div>\n );\n }\n\n // Default logic\n return (\n <div className=\"bannerHeader\">\n <ImageComponent\n className=\"bannerLogo\"\n src={stateInfo?.logoUrl}\n style={!showTenant ? { borderRight: \"unset\" } : {}}\n alt=\"Digit Banner\"\n />\n {showTenant && stateInfo?.code && (\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n )}\n </div>\n );\n};\n\nexport default Header;","import React, { Fragment, useState, useEffect } from \"react\";\nimport { Button, LandingPageCard, LandingPageWrapper } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\n\nimport { CustomSVG } from \"@egovernments/digit-ui-components\";\nconst Components = require(\"@egovernments/digit-ui-svg-components\");\n\nexport const RoleBasedEmployeeHome = ({ modules, additionalComponent }) => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate= useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n let sortedConfigEmployeesSidebar = null;\n const [mdmsOrderData, setMdmsOrderData] = useState([{}]);\n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"HomeScreenOrder\",\n [\n {\n name: \"CardsAndLinksOrder\",\n },\n ],\n {\n select: (data) => {\n return data?.[\"HomeScreenOrder\"]?.[\"CardsAndLinksOrder\"];\n },\n }\n );\n\n\n\n const { data: moduleConfigData, isLoading: isModuleConfigLoading } = Digit.Hooks.useCustomMDMS(\n tenantId,\n \"SandBoxLanding\",\n [\n {\n name: \"AdditionalModuleLinks\",\n },\n ],\n {\n \n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"AdditionalModuleLinks\"];\n },\n }\n );\n \n useEffect(() => {\n setMdmsOrderData(MdmsRes);\n }, [MdmsRes]);\n\n const transformURL = (url = \"\") => {\n if (url == \"/\") {\n return;\n }\n if (url?.indexOf(`/${window?.contextPath}`) === -1) {\n let updatedUrl = null;\n if (isMultiRootTenant) {\n url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n updatedUrl = url;\n } else {\n updatedUrl = url;\n }\n return updatedUrl;\n } else {\n return url;\n }\n };\n\n const getLinkByType = (moduleData, type) => {\n if (!moduleData || !type) return null;\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n const linkKey = moduleConfig?.[type];\n const links = moduleData?.links;\n return links?.find((item) => item?.displayName === linkKey) || null;\n };\n\n // Function to filter links dynamically based on module config\n const getFilteredLinks = (moduleData) => {\n const moduleConfig = moduleConfigData?.find((config) => config.moduleName === moduleData.module);\n return moduleData?.links?.filter((item) => {\n const displayName = item.displayName;\n const isNotConfigureMaster = displayName !== \"Configure_master\";\n const isNotHowItWorks = displayName !== moduleConfig?.howItWorksLink;\n const isNotUserManual = displayName !== moduleConfig?.userManualLink;\n\n return isNotConfigureMaster && isNotHowItWorks && isNotUserManual;\n });\n };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n kpis: [],\n icon: item.leftIcon ? Digit.Utils.iconRender({iconName: item.leftIcon, iconFill: \"white\",CustomSVG,Components}) : \"\",\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = transformURL(item.navigationURL);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: linkUrl,\n icon: item.leftIcon,\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n displayName: item.displayName,\n });\n return acc;\n }, {});\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n\n const sortCardAndLink = (configEmployeeSideBar) => {\n const sortedModules = Object.keys(configEmployeeSideBar)\n .sort((a, b) => {\n const cardOrderA = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === a)?.order || null;\n const cardOrderB = mdmsOrderData?.find((item) => item.moduleType === \"card\" && item.name === b)?.order || null;\n return cardOrderA - cardOrderB;\n })\n .reduce((acc, module) => {\n const sortedLinks = configEmployeeSideBar?.[module]?.links?.sort((linkA, linkB) => {\n const labelA = linkA?.displayName;\n const labelB = linkB?.displayName;\n const orderA =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelA.replace(/\\s+/g, \"_\")}`)?.order || null;\n const orderB =\n mdmsOrderData?.find((item) => item.moduleType === \"link\" && item.name === `${module}.${labelB.replace(/\\s+/g, \"_\")}`)?.order || null;\n\n return orderA - orderB;\n });\n\n acc[module] = {\n ...configEmployeeSideBar[module],\n links: sortedLinks,\n };\n\n return acc;\n }, {});\n\n return sortedModules;\n };\n\n if (isMultiRootTenant) {\n sortedConfigEmployeesSidebar = sortCardAndLink(configEmployeeSideBar);\n } else {\n sortedConfigEmployeesSidebar = configEmployeeSideBar;\n }\n\n const children = Object.keys(sortedConfigEmployeesSidebar)?.map((current, index) => {\n const moduleData = sortedConfigEmployeesSidebar?.[current];\n const configureData = moduleData?.links?.find((item) => item?.displayName === \"Configure_master\");\n const howItWorks = getLinkByType(moduleData, \"howItWorksLink\");\n const userManual = getLinkByType(moduleData, \"userManualLink\");\n\n const propsForModuleCard = {\n icon: \"SupervisorAccount\",\n moduleName: t(moduleData?.label),\n metrics: [],\n links: Digit.Utils.getMultiRootTenant() ? getFilteredLinks(moduleData) : moduleData?.links,\n centreChildren: [\n <div>{t(Digit.Utils.locale.getTransformedLocale(`MODULE_CARD_DESC_${current}`))}</div>,\n howItWorks && (\n <Button\n variation=\"teritiary\"\n label={howItWorks?.label}\n icon={howItWorks?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(howItWorks?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ],\n endChildren: Digit.Utils.getMultiRootTenant()\n ? [\n configureData && (\n <Button\n variation=\"teritiary\"\n label={configureData?.label}\n icon={configureData?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => navigate(configureData?.link)}\n style={{ padding: \"0px\" }}\n />\n ),\n userManual && (\n <Button\n variation=\"teritiary\"\n label={userManual?.label}\n icon={userManual?.icon}\n type=\"button\"\n size={\"medium\"}\n onClick={() => window.open(userManual?.link, \"_blank\")}\n style={{ padding: \"0px\" }}\n />\n ),\n ]\n : null,\n };\n\n return <LandingPageCard buttonSize={\"medium\"} {...propsForModuleCard} />;\n });\n\n return (\n <>\n <LandingPageWrapper>{React.Children.map(children, (child) => React.cloneElement(child))}</LandingPageWrapper>\n </>\n );\n};","import React from \"react\";\nimport{ useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardHeader, LinkLabel, Card, Button } from \"@egovernments/digit-ui-components\";\nimport { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport { CardSubHeader, CardSectionHeader, BreakLine, CardSectionSubText } from \"@egovernments/digit-ui-react-components\";\n\nconst FaqComponent = (props) => {\n const { question,isLabelLink, answer,type,actions,content, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getStateId();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {isLabelLink ? (\n action?.label ? (\n <Button\n variation=\"teritiary\"\n label={t(action?.label)} \n type=\"button\"\n size={\"medium\"}\n onClick={() => {\n if (action?.fulllink) {\n window.open(action?.link, \"_blank\");\n } else {\n const baseURL = `https://${window.location.hostname}/${window?.globalPath}/${tenantId}`;\n window.open(`${baseURL}/${action?.link}`, \"_blank\");\n }\n }}\n style={{ padding: \"0px\" }}\n />\n ) : null\n ) : (\n action?.label ? <strong>{t(action?.label)}:</strong> : null\n )} \n {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nconst CardC = ({ type, title, content, actions, style }) => {\n const { t } = useTranslation();\n const ListTag = type === \"number\" ? \"ol\" : \"ul\";\n return (\n <div>\n {/* <div style={{ border: \"1px solid #ccc\", borderRadius: \"8px\", padding: \"16px\", margin: \"16px\", ...style }}> */}\n <CardSectionHeader>{t(title)}</CardSectionHeader>\n <CardSectionSubText style={{ marginTop: \"1rem\" }}>{t(content)}</CardSectionSubText>\n <div style={{ marginTop: \"1rem\" }}>\n {actions && (\n <ListTag>\n {actions.map((action, index) => (\n <li key={index} style={{ listStyleType: ListTag === \"ul\" ? \"disc\" : \"auto\", margin: \"8px 0\" }}>\n {action?.label ? <strong>{t(action?.label)}:</strong> : null} {t(action?.description)}\n </li>\n ))}\n </ListTag>\n )}\n </div>\n </div>\n );\n};\n\nconst FAQ = ({ key, title, content, faqs ,type}) => {\n const { t } = useTranslation();\n return (\n <div style={{ width: \"100%\" }}>\n <div style={{ width: \"100%\" }}>\n {faqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} isLabelLink={faq.isLabelLink} type ={type} actions={faq.answer} content ={faq.content}lastIndex={i === faqs?.length - 1} />\n ))}\n </div>\n </div>\n );\n};\nconst QuickSetup = ({ cardConfig }) => {\n const { t } = useTranslation();\n\n const moduleFaqs = [\n {\n question: \"SANDBOX_FAQ_QUES_ONE\",\n answer: \"SANDBOX_FAQ_ANS_ONE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_TWO\",\n answer: \"SANDBOX_FAQ_ANS_TWO\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_THREE\",\n answer: \"SANDBOX_FAQ_ANS_THREE\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_FOUR\",\n answer: \"SANDBOX_FAQ_ANS_FOUR\",\n },\n ];\n return (\n <Card className={\"sandbox-guide\"} style={{ width: \"25rem\", height: \"47rem\", overflowY: \"scroll\" }}>\n {/* <Card style={{ height: \"47rem\", overflowY: \"scroll\" }}> */}\n <CardHeader>{t(\"GUIDE_TO_SETUP\")}</CardHeader>\n <div style={{ display: \"flex\", flexWrap: \"wrap\" }}>\n {cardConfig.map((config, index) => {\n return config?.type === \"faqs\" ? (\n <FAQ key={config.id} title={config.title} type = {config?.type} content={config.content} faqs={config.actions} />\n ) : (\n <React.Fragment>\n <CardC\n type={config?.type}\n key={config.id}\n title={config.title}\n content={config.content}\n actions={config.actions}\n style={config.style}\n />\n {index !== cardConfig?.length - 1 && <BreakLine style={{ width: \"100%\", border: \"1px solid #d6d5d4\" }} />}\n </React.Fragment>\n );\n })}\n </div>\n </Card>\n );\n};\n\nexport default QuickSetup;","import React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CardText, CardLabelError, Toast, CardLabel, Card, CardHeader, LinkLabel, Loader } from \"@egovernments/digit-ui-components\";\nimport QuickSetupComponent from \".\";\nimport QuickSetup from \"./QuickSetup\";\n\nconst QuickSetupConfigComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit.ULBService.getStateId();\n\n // const transformURL = (url = \"\") => {\n // if (url == \"/\") {\n // return;\n // }\n // if (Digit.Utils.isContextPathMissing(url)) {\n // let updatedUrl = null;\n // if (isMultiRootTenant) {\n // url = url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`);\n // updatedUrl = url;\n // } else {\n // updatedUrl = DIGIT_UI_CONTEXTS?.every((e) => url?.indexOf(`/${e}`) === -1) ? \"/employee/\" + url : url;\n // }\n // return updatedUrl;\n // } else {\n // return url;\n // }\n // };\n\n const configEmployeeSideBar = data?.actions\n .filter((e) => e.url === \"card\" && e.parentModule)\n .reduce((acc, item) => {\n const module = item.parentModule;\n if (!acc[module]) {\n acc[module] = {\n module: module,\n label: Digit.Utils.locale.getTransformedLocale(`${module}_CARD_HEADER`),\n links: [],\n };\n }\n const linkUrl = Digit.Utils.transformURL(item.navigationURL, tenantId);\n const queryParamIndex = linkUrl.indexOf(\"?\");\n acc[module].links.push({\n link: queryParamIndex === -1 ? linkUrl : linkUrl.substring(0, queryParamIndex),\n label: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}`)),\n queryParams: queryParamIndex === -1 ? null : linkUrl.substring(queryParamIndex),\n description: t(Digit.Utils.locale.getTransformedLocale(`${module}_LINK_${item.displayName}_DESCRIPTION`)),\n });\n return acc;\n }, {});\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n const QuickSetupConfig = [\n {\n sectionHeader: \"WELCOME_TO_SANDBOX\",\n sections: [\n {\n label: \"SANDBOX_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_DESCRIPTION_3\",\n },\n ],\n },\n {\n sectionHeader: \"QUICK_SETUP\",\n links: configEmployeeSideBar,\n },\n ];\n\n const cardConfig = [\n {\n id: 1,\n type: \"faqs\",\n actions: [\n {\n question: \"SANDBOX_FAQ_QUES_14\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_14_LABEL_1\",\n fulllink:true,\n link:\"https://egov-digit.gitbook.io/digit-sandbox/specifications/user-manual/walkthrough-videos\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_1\",\n content: \"SANDBOX_FAQ_CONTENT_1\",\n isLabelLink: true,\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_1\",\n link:\"citizen/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_1_LABEL_2\",\n link: \"employee/user/login\",\n description: \"SANDBOX_FAQ_ANS_1_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_2\",\n content: \"SANDBOX_FAQ_CONTENT_2\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_2_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_3\",\n content: \"SANDBOX_FAQ_CONTENT_3\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_3_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_4\",\n content: \"SANDBOX_FAQ_CONTENT_4\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_4_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_5\",\n content: \"SANDBOX_FAQ_CONTENT_5\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_4\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_5_LABEL_5\",\n description: \"SANDBOX_FAQ_ANS_5_DESCRIPTION_5\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_6\",\n content: \"SANDBOX_FAQ_CONTENT_6\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_7\",\n content: \"SANDBOX_FAQ_CONTENT_7\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_7_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_8\",\n content: \"SANDBOX_FAQ_CONTENT_8\",\n answer: [\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_1\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_2\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_3\",\n },\n {\n label: null,\n description: \"SANDBOX_FAQ_ANS_8_DESCRIPTION_4\",\n },\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_9\",\n content: \"SANDBOX_FAQ_CONTENT_9\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_9_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_9_DESCRIPTION_2\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_10\",\n content: \"SANDBOX_FAQ_CONTENT_10\",\n answer: [\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_1\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_1\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_2\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_2\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_3\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_3\",\n },\n {\n label: \"SANDBOX_FAQ_ANS_10_LABEL_4\",\n description: \"SANDBOX_FAQ_ANS_10_DESCRIPTION_4\",\n }\n ]\n },\n {\n question: \"SANDBOX_FAQ_QUES_11\",\n content: \"SANDBOX_FAQ_CONTENT_11\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_12\",\n content: \"SANDBOX_FAQ_CONTENT_12\",\n },\n {\n question: \"SANDBOX_FAQ_QUES_13\",\n content: \"SANDBOX_FAQ_CONTENT_13\",\n } \n ],\n },\n ];\n\n // return <QuickSetupComponent config={QuickSetupConfig}></QuickSetupComponent>;\n return <QuickSetup cardConfig={cardConfig}></QuickSetup>;\n};\n\nexport default QuickSetupConfigComponent;\n","import {\n CitizenHomeCard,\n CitizenInfoLabel,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\n\nimport { BackLink, CustomSVG, SVG, LandingPageWrapper, Card, Divider } from \"@egovernments/digit-ui-components\";\n\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { RoleBasedEmployeeHome } from \"./RoleBasedEmployeeHome\";\nimport QuickSetupConfigComponent from \"../pages/employee/QuickStart/Config\";\n\n/* \nFeature :: Citizen All service screen cards\n*/\nexport const processLinkData = (newData, code, t) => {\n const obj = newData?.[`${code}`];\n if (obj) {\n obj.map((link) => {\n if (Digit.Utils.getMultiRootTenant()) {\n link[\"navigationURL\"] = link[\"navigationURL\"].replace(\"/sandbox-ui/citizen\", `/sandbox-ui/${Digit.ULBService.getStateId()}/citizen`);\n }\n link.link = link[\"navigationURL\"];\n link.i18nKey = t(link[\"name\"]);\n\n });\n }\n const newObj = {\n links: obj?.reverse(),\n header: Digit.Utils.locale.getTransformedLocale(`ACTION_TEST_${code}`),\n iconName: `CITIZEN_${code}_ICON`,\n };\n if (code === \"FSM\") {\n const roleBasedLoginRoutes = [\n {\n role: \"FSM_DSO\",\n from: `/${window?.contextPath}/citizen/fsm/dso-dashboard`,\n dashoardLink: \"CS_LINK_DSO_DASHBOARD\",\n loginLink: \"CS_LINK_LOGIN_DSO\",\n },\n ];\n //RAIN-7297\n roleBasedLoginRoutes.map(({ role, from, loginLink, dashoardLink }) => {\n if (Digit.UserService.hasAccess(role))\n newObj?.links?.push({\n link: from,\n i18nKey: t(dashoardLink),\n });\n else\n newObj?.links?.push({\n link: `/${window?.contextPath}/citizen/login`,\n state: { role: \"FSM_DSO\", from },\n i18nKey: t(loginLink),\n });\n });\n }\n\n return newObj;\n};\nconst iconSelector = (code) => {\n switch (code) {\n case \"PT\":\n return <CustomSVG.PTIcon className=\"fill-path-primary-main\" />;\n case \"WS\":\n return <CustomSVG.WSICon className=\"fill-path-primary-main\" />;\n case \"FSM\":\n return <CustomSVG.FSMIcon className=\"fill-path-primary-main\" />;\n case \"MCollect\":\n return <CustomSVG.MCollectIcon className=\"fill-path-primary-main\" />;\n case \"PGR\":\n return <CustomSVG.PGRIcon className=\"fill-path-primary-main\" />;\n case \"TL\":\n return <CustomSVG.TLIcon className=\"fill-path-primary-main\" />;\n case \"OBPS\":\n return <CustomSVG.OBPSIcon className=\"fill-path-primary-main\" />;\n case \"Bills\":\n return <CustomSVG.BillsIcon className=\"fill-path-primary-main\" />;\n default:\n return <CustomSVG.PTIcon className=\"fill-path-primary-main\" />;\n }\n};\nimport { useNavigate } from \"react-router-dom\";\n\n// Inside CitizenHome component\nconst CitizenHome = ({ getCitizenMenu, fetchedCitizen, isLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n if (isLoading || !fetchedCitizen || !getCitizenMenu) {\n return <Loader />;\n }\n\n const parentModules = Object.keys(getCitizenMenu);\n\n const handleLinkClick = (e, link) => {\n e.preventDefault();\n navigate(link);\n };\n\n \n\n const handleNavigate = (link) => {\n if (!link) return;\n link?.includes(`${window?.contextPath}/`) ? navigate(link) : (window.location.href = link);\n };\n\n const renderApplyIcon = () => (\n <SVG.AddExpense fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" />\n );\n\n const renderMyAppIcon = () => (\n <SVG.ListAlt fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" />\n );\n\n const isApplyLink = (link) => {\n const name = (link.name || link.displayName || \"\").toLowerCase();\n return name.includes(\"apply\") || name.includes(\"_apply\");\n };\n \n\n // Desktop: LandingPageWrapper + custom cards with icons (same grid as employee)\n if (!isMobile) {\n const children = parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (!mdmsDataObj?.links?.length) return null;\n\n const seenLinks = new Set();\n const dedupedLinks = mdmsDataObj.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .filter((link) => {\n const key = link.link;\n if (seenLinks.has(key)) return false;\n seenLinks.add(key);\n return true;\n });\n\n return (\n <Card key={code} className=\"digit-landing-page-card\" style={{ borderRadius: \"1rem\" }}>\n <div className=\"icon-module-header\">\n <div className=\"digit-landingpagecard-icon\">\n <CustomSVG.Devices fill=\"#C84C0E\" width=\"1rem\" height=\"1rem\" />\n </div>\n <div className=\"ladingcard-moduleName\" role=\"heading\" aria-level=\"2\">\n {t(mdmsDataObj?.header)}\n </div>\n </div>\n <Divider className=\"digit-landingpage-divider\" variant=\"small\" />\n {dedupedLinks.map((link, i) => {\n const LinkIcon = link.leftIcon && link.leftIcon !== \"TLIcon\" && CustomSVG[link.leftIcon] ? CustomSVG[link.leftIcon] : null;\n return (\n <button\n key={i}\n className=\"digit-button-teritiary medium\"\n type=\"button\"\n style={{ padding: \"0px\" }}\n onClick={() => handleNavigate(link.link)}\n >\n <div className=\"icon-label-container teritiary medium\">\n {LinkIcon ? <LinkIcon fill=\"#C84C0E\" width=\"1.25rem\" height=\"1.25rem\" className=\"digit-button-customIcon medium teritiary\" /> : (isApplyLink(link) ? renderApplyIcon() : renderMyAppIcon())}\n <h2 className=\"digit-button-label\">{link.i18nKey}</h2>\n </div>\n </button>\n );\n })}\n </Card>\n );\n }).filter(Boolean);\n\n return (\n <div className=\"citizen-all-services-wrapper\">\n <div className=\"employee-app-container digit-home-employee-app\">\n <LandingPageWrapper>{children}</LandingPageWrapper>\n </div>\n </div>\n );\n }\n\n // Mobile: Original vertical card layout\n return (\n <div className=\"citizen-all-services-wrapper\">\n {location.pathname.includes(\n \"sanitation-ui/citizen/all-services\"\n ) || (location.pathname.includes(\"sandbox-ui\") && location.pathname.includes(\"all-services\")) ? null : (\n <BackLink onClick={() => window.history.back()}/>\n )}\n <div className=\"citizenAllServiceGrid\">\n {parentModules.map((code) => {\n const mdmsDataObj = processLinkData(getCitizenMenu, code, t);\n\n if (mdmsDataObj?.links?.length > 0) {\n return (\n <div className=\"CitizenHomeCard\" key={code}>\n <div className=\"header\">\n <h2>{t(mdmsDataObj?.header)}</h2>\n {iconSelector(code)}\n </div>\n <div className=\"links\">\n {mdmsDataObj?.links\n ?.filter((ele) => ele?.link)\n ?.sort((x, y) => x?.orderNumber - y?.orderNumber)\n .map((link, i) => (\n <div className=\"linksWrapper\" key={i}>\n <a\n href={link.link}\n onClick={(e) => handleLinkClick(e, link.link)}\n >\n {link.i18nKey}\n </a>\n </div>\n ))}\n </div>\n </div>\n );\n }\n return null;\n })}\n </div>\n </div>\n );\n};\n\nconst EmployeeHome = ({ modules, additionalComponent }) => {\n return (\n <>\n <div className=\"employee-app-container digit-home-employee-app\">\n {/* <div className=\"ground-container moduleCardWrapper gridModuleWrapper digit-home-moduleCardWrapper\"> */}\n <LandingPageWrapper>\n {modules?.map(({ code }, index) => {\n const Card =\n Digit.ComponentRegistryService.getComponent(`${code}Card`) ||\n (() => <React.Fragment />);\n return <Card key={index} />;\n })}\n </LandingPageWrapper>\n {/* </div> */}\n </div>\n\n {additionalComponent &&\n additionalComponent?.length > 0 &&\n additionalComponent.map((i) => {\n const Component =\n typeof i === \"string\"\n ? Digit.ComponentRegistryService.getComponent(i)\n : null;\n return Component ? (\n <div className=\"additional-component-wrapper\">\n <Component />\n </div>\n ) : null;\n })}\n </>\n );\n};\n\nexport const AppHome = ({\n userType,\n modules,\n getCitizenMenu,\n fetchedCitizen,\n isLoading,\n additionalComponent,\n}) => {\n if (userType === \"citizen\") {\n return (\n <CitizenHome\n modules={modules}\n getCitizenMenu={getCitizenMenu}\n fetchedCitizen={fetchedCitizen}\n isLoading={isLoading}\n />\n );\n }\n const isSuperUserWithMultipleRootTenant = Digit.UserService.hasAccess(\"SUPERUSER\") && Digit.Utils.getMultiRootTenant()\n return Digit.Utils.getRoleBasedHomeCard() ? (\n <div className={isSuperUserWithMultipleRootTenant ? \"homeWrapper\" : \"\"}>\n <RoleBasedEmployeeHome modules={modules} additionalComponent={additionalComponent} />\n {isSuperUserWithMultipleRootTenant && !window.Digit.Utils.browser.isMobile() ? <QuickSetupConfigComponent /> : null}\n </div>\n ) : (\n <EmployeeHome modules={modules} additionalComponent={additionalComponent} />\n );\n};\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst ImageComponent = ({\n src,\n alt = \"Image not found\",\n decorative = false,\n ariaLabel = \"No Image description set\",\n ariaLabelledby = \"no-image-description\",\n ...props\n}) => {\n // Determine the appropriate attributes based on the props\n const accessibilityProps = {};\n\n if (decorative) {\n // For decorative images\n accessibilityProps.alt = \"\";\n } else if (alt) {\n // Provide meaningful alt text if available\n accessibilityProps.alt = alt;\n } else if (ariaLabel) {\n // Use aria-label if alt is not provided\n accessibilityProps[\"aria-label\"] = ariaLabel;\n } else if (ariaLabelledby) {\n // Use aria-labelledby for descriptive associations\n accessibilityProps[\"aria-labelledby\"] = ariaLabelledby;\n } else {\n console.warn(\"AccessibleImage: Missing alt, aria-label, or aria-labelledby for non-decorative image.\");\n }\n\n return (\n <img\n src={src}\n {...accessibilityProps}\n {...props}\n tabIndex={0}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }\n }}\n />\n );\n};\n\nImageComponent.propTypes = {\n src: PropTypes.string.isRequired, // The source URL for the image\n alt: PropTypes.string, // Alternative text for the image\n decorative: PropTypes.bool, // If true, image is decorative\n ariaLabel: PropTypes.string, // Custom label for screen readers\n ariaLabelledby: PropTypes.string, // Association with another descriptive element\n};\n\nexport default ImageComponent;\n","import { Hamburger, TopBar as TopBarComponent } from \"@egovernments/digit-ui-react-components\";\nimport { Dropdown } from \"@egovernments/digit-ui-components\";\nimport React,{Fragment} from \"react\";\nimport {useNavigate, useLocation } from \"react-router-dom\";\nimport ChangeCity from \"../ChangeCity\";\nimport ChangeLanguage from \"../ChangeLanguage\";\nimport { Header as TopBarComponentMain } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../ImageComponent\";\n\nconst DEFAULT_EGOV_LOGO =\"https://egov-dev-assets.s3.ap-south-1.amazonaws.com/egov-logo-2025.png\";\n\n\nconst TopBar = ({\n t,\n stateInfo,\n toggleSidebar,\n isSidebarOpen,\n handleLogout,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n userOptions,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n showLanguageChange = true,\n}) => {\n const [profilePic, setProfilePic] = React.useState(null);\n\n React.useEffect( () => {\n const app=async ()=>{\n const tenant = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCurrentTenantId();\n const uuid = userDetails?.info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n if (usersResponse && usersResponse.user && usersResponse.user.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n }\n app()\n }, [profilePic !== null, userDetails?.info?.uuid]);\n\n const CitizenHomePageTenantId = Digit.ULBService.getCitizenCurrentTenant(true);\n\n let navigate = useNavigate();\n const { pathname } = useLocation();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (Digit.UserService?.getUser()?.info?.type === \"CITIZEN\") {\n if (!CitizenHomePageTenantId) return false;\n else return true;\n }\n return false;\n };\n\n const { data: { unreadCount: unreadNotificationCount } = {}, isSuccess: notificationCountLoaded } = Digit.Hooks.useNotificationCount({\n tenantId: CitizenHomePageTenantId,\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n const updateSidebar = () => {\n if (!Digit.clikOusideFired) {\n toggleSidebar(true);\n } else {\n Digit.clikOusideFired = false;\n }\n };\n\n function onNotificationIconClick() {\n navigate(`/${window?.contextPath}/citizen/engagement/notifications`);\n }\n\n const urlsToDisableNotificationIcon = (pathname) =>\n !!Digit.UserService?.getUser()?.access_token\n ? false\n : [`/${window?.contextPath}/citizen/select-language`, `/${window?.contextPath}/citizen/select-location`].includes(pathname);\n\n if (CITIZEN) {\n return (\n <div>\n <TopBarComponent\n img={stateInfo?.logoUrlWhite}\n isMobile={true}\n toggleSidebar={updateSidebar}\n logoUrl={stateInfo?.logoUrlWhite}\n onLogout={handleLogout}\n userDetails={userDetails}\n notificationCount={unreadNotificationCount < 99 ? unreadNotificationCount : 99}\n notificationCountLoaded={notificationCountLoaded}\n cityOfCitizenShownBesideLogo={t(CitizenHomePageTenantId)}\n onNotificationIconClick={onNotificationIconClick}\n hideNotificationIconOnSomeUrlsWhenNotLoggedIn={urlsToDisableNotificationIcon(pathname)}\n changeLanguage={!mobileView ? <ChangeLanguage dropdown={true} /> : null}\n />\n </div>\n );\n }\n const loggedin = userDetails?.access_token ? true : false;\n\n //checking for custom topbar components\n const CustomEmployeeTopBar = Digit.ComponentRegistryService?.getComponent(\"CustomEmployeeTopBar\");\n\n if (CustomEmployeeTopBar) {\n return (\n <CustomEmployeeTopBar\n {...{\n t,\n stateInfo,\n toggleSidebar,\n isSidebarOpen,\n handleLogout,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n userOptions,\n handleUserDropdownSelection,\n logoUrl,\n showLanguageChange,\n loggedin,\n }}\n />\n );\n }\n return (\n <TopBarComponentMain\n actionFields={[\n <ChangeCity dropdown={true} t={t} />,\n showLanguageChange && <ChangeLanguage dropdown={true} />,\n userDetails?.access_token && (\n <Dropdown\n option={userOptions}\n optionKey=\"name\"\n profilePic={profilePic ? profilePic : userDetails?.info?.name || userDetails?.info?.userInfo?.name || \"Employee\"}\n select={handleUserDropdownSelection}\n showArrow={true}\n menuStyles={{ marginTop: \"1rem\" }}\n theme=\"light\"\n />\n ),\n ]}\n onHamburgerClick={() => {\n toggleSidebar();\n }}\n className=\"digit-employee-header\"\n img={logoUrl}\n logoWidth={\"64px\"}\n logoHeight={\"48px\"}\n logo={(loggedin ? cityDetails?.logoId : stateInfo?.statelogo)||DEFAULT_EGOV_LOGO}\n onImageClick={() => {}}\n onLogoClick={() => {}}\n props={{}}\n showDeafultImg\n style={{}}\n theme={window?.globalConfigs?.getConfig(\"HEADER_THEME\") || \"light\"}\n ulb={\n loggedin ? (\n cityDetails?.city?.ulbGrade ? (\n <>\n {t(cityDetails?.i18nKey).toUpperCase()}{\" \"}\n {t(`ULBGRADE_${cityDetails?.city?.ulbGrade.toUpperCase().replace(\" \", \"_\").replace(\".\", \"_\")}`).toUpperCase()}\n </>\n ) : (\n <ImageComponent className=\"state\" src={logoUrlWhite} alt=\"State Logo\" />\n )\n ) : (\n <>\n {t(`MYCITY_${stateInfo?.code?.toUpperCase()}_LABEL`)} {t(`MYCITY_STATECODE_LABEL`)}\n </>\n )\n }\n />\n );\n};\n\nexport default TopBar;\n","export const defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";","import React from \"react\";\nimport { LanguageIcon, LogoutIcon, AddressBookIcon, LocationIcon } from \"@egovernments/digit-ui-react-components\";\nimport ChangeLanguage from \"../components/ChangeLanguage\";\n\nconst SideBarMenu = (t, closeSidebar, redirectToLoginPage, isEmployee) => [\n {\n type: \"component\",\n element: \"LANGUAGE\",\n action: <ChangeLanguage />,\n icon: \"LanguageIcon\",\n },\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n];\n\nexport default SideBarMenu;\n","import React, { useEffect, useState } from \"react\";\nimport {\n HomeIcon,\n EditPencilIcon,\n LogoutIcon,\n AddressBookIcon,\n PropertyHouse,\n CaseIcon,\n CollectionIcon,\n PTIcon,\n OBPSIcon,\n PGRIcon,\n FSMIcon,\n WSICon,\n MCollectIcon,\n Phone,\n BirthIcon,\n DeathIcon,\n FirenocIcon,\n Loader,\n} from \"@egovernments/digit-ui-react-components\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport SideBarMenu from \"../../../config/sidebar-menu\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport ImageComponent from \"../../ImageComponent\";\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nconst Profile = ({ info, stateName, t }) => (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent className=\"img-responsive img-circle img-Profile\" src={defaultImage} alt=\"Profile Logo\" />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") && <ChangeCity t={t} mobileView={true} />}\n </div>\n);\nconst IconsObject = {\n CommonPTIcon: <PTIcon className=\"icon\" />,\n OBPSIcon: <OBPSIcon className=\"icon\" />,\n propertyIcon: <PropertyHouse className=\"icon\" />,\n TLIcon: <CaseIcon className=\"icon\" />,\n PGRIcon: <PGRIcon className=\"icon\" />,\n FSMIcon: <FSMIcon className=\"icon\" />,\n WSIcon: <WSICon className=\"icon\" />,\n MCollectIcon: <MCollectIcon className=\"icon\" />,\n BillsIcon: <CollectionIcon className=\"icon\" />,\n BirthIcon: <BirthIcon className=\"icon\" />,\n DeathIcon: <DeathIcon className=\"icon\" />,\n FirenocIcon: <FirenocIcon className=\"icon\" />,\n HomeIcon: <HomeIcon className=\"icon\" />,\n EditPencilIcon: <EditPencilIcon className=\"icon\" />,\n LogoutIcon: <LogoutIcon className=\"icon\" />,\n Phone: <Phone className=\"icon\" />,\n};\nconst StaticCitizenSideBar = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n const { pathname } = location;\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const [isEmployee, setisEmployee] = useState(false);\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n const handleOnSubmit = () => {\n if (Digit.Utils.getMultiRootTenant()) {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n } else {\n Digit.UserService.logout();\n setShowDialog(false);\n }\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const redirectToLoginPage = () => {\n \n navigate(`/${window?.contextPath}/citizen/login`);\n };\n const showProfilePage = () => {\n navigate(`/${window?.contextPath}/citizen/user/profile`);\n };\n\n const closeSidebar = () => {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n };\n\n let menuItems = [...SideBarMenu(t, showProfilePage, redirectToLoginPage, isEmployee)];\n\n menuItems = menuItems.filter((item) => item.element !== \"LANGUAGE\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const MenuItem = ({ item }) => {\n const leftIconArray = item?.icon || item.icon?.type?.name;\n const leftIcon = leftIconArray ? IconsObject[leftIconArray] : IconsObject.BillsIcon;\n let itemComponent;\n if (item.type === \"component\") {\n itemComponent = item.action;\n } else {\n itemComponent = item.text;\n }\n const Item = () => (\n <span className=\"menu-item\" {...item.populators}>\n {leftIcon}\n <div className=\"menu-label\">{itemComponent}</div>\n </span>\n );\n if (item.type === \"external-link\") {\n return (\n <a href={item.link}>\n <Item />\n </a>\n );\n }\n if (item.type === \"link\") {\n return (\n <Link to={item?.link}>\n <Item />\n </Link>\n );\n }\n\n return <Item />;\n };\n let profileItem;\n\n if (isFetched && user && user.access_token && user?.info?.type === \"CITIZEN\") {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n menuItems = [\n ...menuItems,\n {\n type: \"link\",\n icon: \"HomeIcon\",\n element: \"HOME\",\n text: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n link: isEmployee ? `/${window?.contextPath}/employee` : `/${window?.contextPath}/citizen`,\n populators: {\n onClick: closeSidebar,\n },\n },\n {\n text: t(\"EDIT_PROFILE\"),\n element: \"PROFILE\",\n icon: \"EditPencilIcon\",\n populators: {\n onClick: showProfilePage,\n },\n },\n {\n text: t(\"CORE_COMMON_LOGOUT\"),\n element: \"LOGOUT\",\n icon: \"LogoutIcon\",\n populators: { onClick: handleLogout },\n },\n {\n text: (\n <React.Fragment>\n {t(\"CS_COMMON_HELPLINE\")}\n <div className=\"telephone\" style={{ marginTop: \"-10%\" }}>\n {storeData?.tenants?.length > 0 && (\n <div className=\"link\">\n <a href={`tel:${\n storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || ''\n }`}>\n {storeData.tenants.find((tenant) => tenant.code === tenantId)?.contactNumber \n || storeData.tenants[0]?.contactNumber \n || t(\"CS_NA\")}\n </a>\n </div>\n )}\n </div>\n </React.Fragment>\n ),\n element: \"Helpline\",\n icon: \"Phone\",\n}\n ];\n }\n Object.keys(linkData || {})\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === `${window.contextPath}-links`) {\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n }\n });\n\n return (\n <React.Fragment>\n <div>\n <div\n style={{\n height: \"100%\",\n width: \"100%\",\n top: \"0px\",\n backgroundColor: \"rgba(0, 0, 0, 0.54)\",\n pointerzevents: \"auto\",\n }}\n ></div>\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n height: isMobile ? \"calc(100vh - 56px)\" : \"auto\",\n zIndex: \"99\",\n }}\n >\n {profileItem}\n <div className=\"drawer-desktop\">\n {menuItems?.map((item, index) => (\n <div className={`sidebar-list ${pathname === item?.link || pathname === item?.sidebarURL ? \"active\" : \"\"}`} key={index}>\n <MenuItem item={item} />\n </div>\n ))}\n </div>\n </div>\n <div>{showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}</div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default StaticCitizenSideBar;\n","// import { NavBar } from \"@egovernments/digit-ui-react-components\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport React, { useState, Fragment, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\nimport ChangeCity from \"../../ChangeCity\";\nimport { defaultImage } from \"../../utils\";\nimport StaticCitizenSideBar from \"./StaticCitizenSideBar\";\nimport { Hamburger } from \"@egovernments/digit-ui-components\";\nimport { LogoutIcon } from \"@egovernments/digit-ui-react-components\";\nimport ImageComponent from \"../../ImageComponent\";\n\nconst Profile = ({ info, stateName, t }) => {\n const [profilePic, setProfilePic] = React.useState(null);\n React.useEffect(async () => {\n const tenant = Digit.ULBService.getCurrentTenantId();\n const uuid = info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n if (usersResponse && usersResponse.user && usersResponse?.user?.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n }, [profilePic !== null]);\n\n const CustomEmployeeTopBar = Digit.ComponentRegistryService?.getComponent(\"CustomEmployeeTopBar\");\n\n return (\n <div className=\"profile-section\">\n <div className=\"imageloader imageloader-loaded\">\n <ImageComponent\n className=\"img-responsive img-circle img-Profile\"\n src={profilePic ? profilePic : defaultImage}\n style={{ objectFit: \"cover\", objectPosition: \"center\" }}\n alt=\"Profile Image\"\n />\n </div>\n <div id=\"profile-name\" className=\"label-container name-Profile\">\n <div className=\"label-text\"> {info?.name} </div>\n </div>\n <div id=\"profile-location\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info?.mobileNumber} </div>\n </div>\n {info?.emailId && (\n <div id=\"profile-emailid\" className=\"label-container loc-Profile\">\n <div className=\"label-text\"> {info.emailId} </div>\n </div>\n )}\n <div className=\"profile-divider\"></div>\n {window.location.href.includes(\"/employee\") &&\n !window.location.href.includes(\"/employee/user/login\") &&\n !window.location.href.includes(\"employee/user/language-selection\") &&\n !CustomEmployeeTopBar && <ChangeCity t={t} mobileView={true} />}\n </div>\n );\n};\n\n/* \nFeature :: Citizen Webview sidebar\n*/\nexport const CitizenSideBar = ({\n isOpen,\n isMobile = false,\n toggleSidebar,\n onLogout,\n isEmployee = false,\n linkData,\n islinkDataLoading,\n userProfile,\n}) => {\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { data: storeData, isFetched } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [profilePic, setProfilePic] = useState(null);\n const { languages, stateInfo } = storeData || {};\n const user = Digit.UserService.getUser();\n const [search, setSearch] = useState(\"\");\n const [dropDownData, setDropDownData] = useState(null);\n const [selectCityData, setSelectCityData] = useState([]);\n const [selectedCity, setSelectedCity] = useState([]); //selectedCities?.[0]?.value\n const [selected, setselected] = useState(selectedLanguage);\n let selectedCities = [];\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n \n // React Router v6: useNavigate replaces useHistory\n const navigate = useNavigate();\n // React Router v6: useLocation for accessing location object\n const location = useLocation();\n\n const stringReplaceAll = (str = \"\", searcher = \"\", replaceWith = \"\") => {\n if (searcher == \"\") return str;\n while (str?.includes(searcher)) {\n str = str?.replace(searcher, replaceWith);\n }\n return str;\n };\n\n useEffect(() => {\n const userloggedValues = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n let teantsArray = [],\n filteredArray = [];\n userloggedValues?.info?.roles?.forEach((role) => teantsArray.push(role.tenantId));\n let unique = teantsArray.filter((item, i, ar) => ar.indexOf(item) === i);\n unique?.forEach((uniCode) => {\n filteredArray.push({\n label: t(`TENANT_TENANTS_${stringReplaceAll(uniCode, \".\", \"_\")?.toUpperCase()}`),\n value: uniCode,\n });\n });\n selectedCities = filteredArray?.filter((select) => select.value == Digit.SessionStorage.get(\"Employee.tenantId\"));\n setSelectCityData(filteredArray);\n }, [dropDownData]);\n\n const closeSidebar = () => {\n Digit.clikOusideFired = true;\n toggleSidebar(false);\n };\n\n useEffect(() => {\n const fetchUserProfile = async () => {\n const tenant = Digit.ULBService.getCurrentTenantId();\n const uuid = user?.info?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n const userData = usersResponse?.user?.[0];\n if (userData) {\n const currentUser = Digit.UserService.getUser();\n Digit.UserService.setUser({\n ...currentUser,\n info: userData\n });\n }\n if (usersResponse && usersResponse.user && usersResponse?.user?.length) {\n const userDetails = usersResponse.user[0];\n const thumbs = userDetails?.photo?.split(\",\");\n setProfilePic(thumbs?.at(0));\n }\n }\n };\n if (!profilePic) {\n fetchUserProfile();\n }\n }, [profilePic]);\n\n const handleChangeCity = (city) => {\n const loggedInData = Digit.SessionStorage.get(\"citizen.userRequestObject\");\n const filteredRoles = Digit.SessionStorage.get(\"citizen.userRequestObject\")?.info?.roles?.filter((role) => role.tenantId === city.value);\n if (filteredRoles?.length > 0) {\n loggedInData.info.roles = filteredRoles;\n loggedInData.info.tenantId = city?.value;\n }\n Digit.SessionStorage.set(\"Employee.tenantId\", city?.value);\n Digit.UserService.setUser(loggedInData);\n setDropDownData(city);\n if (typeof window !== 'undefined' && window.location?.href?.includes(`/${window?.contextPath}/employee/`)) {\n\n // React Router v6: navigate with { replace: true } instead of history.replace()\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, { replace: true });\n }\n // Safe reload with error handling\n try {\n if (typeof window !== 'undefined') {\n window.location.reload();\n }\n } catch (error) {\n console.warn('Failed to reload page:', error);\n }\n };\n\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n\n const handleModuleClick = (url) => {\n let updatedUrl = null;\n if (Digit.Utils.getMultiRootTenant()) {\n updatedUrl = isEmployee\n ? url.replace(\"/sandbox-ui/employee\", `/sandbox-ui/${tenantId}/employee`)\n : url.replace(\"/sandbox-ui/citizen\", `/sandbox-ui/${tenantId}/citizen`);\n // React Router v6: navigate() instead of history.push()\n navigate(updatedUrl);\n toggleSidebar();\n } else {\n url[0] === \"/\"\n ? navigate(`/${window?.contextPath}/${isEmployee ? \"employee\" : \"citizen\"}${url}`)\n : navigate(`/${window?.contextPath}/${isEmployee ? \"employee\" : \"citizen\"}/${url}`);\n toggleSidebar();\n }\n };\n\n const redirectToLoginPage = () => {\n if (isEmployee) {\n // React Router v6: navigate() instead of history.push()\n navigate(`/${window?.contextPath}/employee/user/language-selection`);\n } else {\n navigate(`/${window?.contextPath}/citizen/login`);\n }\n closeSidebar();\n };\n\n if (islinkDataLoading || isLoading) {\n return <Loader />;\n }\n\n let menuItems = [\n {\n id: \"login-btn\",\n element: \"LOGIN\",\n text: t(\"CORE_COMMON_LOGIN\"),\n icon: <LogoutIcon className=\"icon\" />,\n populators: {\n onClick: redirectToLoginPage,\n },\n },\n ];\n\n let profileItem;\n if (isFetched && user && user.access_token) {\n profileItem = <Profile info={user?.info} stateName={stateInfo?.name} t={t} />;\n menuItems = menuItems.filter((item) => item?.id !== \"login-btn\");\n }\n\n let configEmployeeSideBar = {};\n\n if (!isEmployee) {\n Object.keys(linkData)\n ?.sort((x, y) => y.localeCompare(x))\n ?.map((key) => {\n if (linkData[key][0]?.sidebar === \"digit-ui-links\")\n menuItems.splice(1, 0, {\n type: linkData[key][0]?.sidebarURL?.includes(window?.contextPath) ? \"link\" : \"external-link\",\n text: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n links: linkData[key],\n icon: linkData[key][0]?.leftIcon,\n link: linkData[key][0]?.sidebarURL,\n });\n });\n } else {\n data?.actions\n .filter((e) => e.url === \"url\" && e.displayName !== \"Home\")\n .forEach((item) => {\n if (search == \"\" && item.path !== \"\") {\n let index = item.path.split(\".\")[0];\n if (index === \"TradeLicense\") index = \"Trade License\";\n if (!configEmployeeSideBar[index]) {\n configEmployeeSideBar[index] = [item];\n } else {\n configEmployeeSideBar[index].push(item);\n }\n } else if (item.path !== \"\" && item?.displayName?.toLowerCase().includes(search.toLowerCase())) {\n let index = item.path.split(\".\")[0];\n if (index === \"TradeLicense\") index = \"Trade License\";\n if (!configEmployeeSideBar[index]) {\n configEmployeeSideBar[index] = [item];\n } else {\n configEmployeeSideBar[index].push(item);\n }\n }\n });\n const keys = Object.keys(configEmployeeSideBar);\n for (let i = 0; i < keys?.length; i++) {\n const getSingleDisplayName = configEmployeeSideBar[keys[i]][0]?.displayName?.toUpperCase()?.replace(/[ -]/g, \"_\");\n const getParentDisplayName = keys[i]?.toUpperCase()?.replace(/[ -]/g, \"_\");\n\n if (configEmployeeSideBar[keys[i]][0].path.indexOf(\".\") === -1) {\n menuItems.splice(1, 0, {\n type: \"link\",\n text: t(`ACTION_TEST_${getSingleDisplayName}`),\n link: configEmployeeSideBar[keys[i]][0]?.navigationURL,\n icon: configEmployeeSideBar[keys[i]][0]?.leftIcon,\n populators: {\n onClick: () => {\n // React Router v6: navigate() instead of history.push()\n navigate(configEmployeeSideBar[keys[i]][0]?.navigationURL);\n closeSidebar();\n },\n },\n });\n } else {\n menuItems.splice(1, 0, {\n type: \"dynamic\",\n moduleName: t(`ACTION_TEST_${getParentDisplayName}`),\n links: configEmployeeSideBar[keys[i]]?.map((ob) => {\n return {\n ...ob,\n displayName: t(`ACTION_TEST_${ob?.displayName?.toUpperCase()?.replace(/[ -]/g, \"_\")}`),\n };\n }),\n icon: configEmployeeSideBar[keys[i]][1]?.leftIcon,\n });\n }\n }\n const indx = menuItems.findIndex((a) => a.element === \"HOME\");\n const home = menuItems.splice(indx, 1);\n const comp = menuItems.findIndex((a) => a.element === \"LANGUAGE\");\n const part = menuItems.splice(comp, menuItems?.length - comp);\n menuItems.sort((a, b) => {\n let c1 = a?.type === \"dynamic\" ? a?.moduleName : a?.text;\n let c2 = b?.type === \"dynamic\" ? b?.moduleName : b?.text;\n return c1.localeCompare(c2);\n });\n home?.[0] && menuItems.splice(0, 0, home[0]);\n menuItems = part?.length > 0 ? menuItems.concat(part) : menuItems;\n }\n\n /* URL with openlink wont have sidebar and actions */\n // React Router v6: location.pathname instead of history.location.pathname\n if (location.pathname.includes(\"/openlink\")) {\n profileItem = <span></span>;\n menuItems = menuItems.filter((ele) => ele.element === \"LANGUAGE\");\n }\n\n menuItems = menuItems?.map((item) => ({\n ...item,\n label: item?.text || item?.moduleName || \"\",\n icon: item?.icon ? item?.icon : undefined,\n }));\n\n let city = \"\";\n if (Digit.Utils.getMultiRootTenant()) {\n city = t(`TENANT_TENANTS_${tenantId}`);\n } else {\n city = t(`TENANT_TENANTS_${stringReplaceAll(Digit.ULBService.getCurrentTenantId(), \".\", \"_\")?.toUpperCase()}`);\n // city = \"TEST\";\n }\n const goToHome = () => {\n if (isEmployee) {\n // React Router v6: navigate() instead of history.push()\n navigate(`/${window?.contextPath}/employee`);\n } else {\n navigate(`/${window?.contextPath}/citizen`);\n }\n };\n const onItemSelect = ({ item, index, parentIndex }) => {\n if (item?.navigationURL) {\n handleModuleClick(item?.navigationURL);\n } else if (item?.link) {\n handleModuleClick(item?.link);\n } else if (item?.type === \"custom\") {\n switch (item?.key) {\n case \"home\":\n goToHome();\n toggleSidebar();\n break;\n case \"editProfile\":\n userProfile();\n toggleSidebar();\n break;\n case \"language\":\n handleChangeLanguage(item);\n toggleSidebar();\n break;\n case \"city\":\n handleChangeCity(item);\n toggleSidebar();\n break;\n }\n } else {\n return;\n }\n };\n\n const transformedMenuItems = menuItems?.map((item) => {\n if (item?.type === \"dynamic\") {\n return {\n ...item,\n children: item?.links?.map((link) => ({\n ...link,\n label: link?.displayName,\n icon: link?.leftIcon,\n })),\n };\n } else {\n return item;\n }\n });\n\n const transformedSelectedCityData = selectCityData?.map((city) => ({\n ...city,\n type: \"custom\",\n key: \"city\",\n }));\n\n const transformedLanguageData = languages?.map((language) => ({\n ...language,\n type: \"custom\",\n key: \"language\",\n icon: \"Language\",\n }));\n\n const hamburgerItems = [\n {\n label: \"HOME\",\n value: \"HOME\",\n icon: \"Home\",\n // children: transformedSelectedCityData?.length>0 ? transformedSelectedCityData : undefined,\n type: \"custom\",\n key: \"home\",\n },\n {\n label: city,\n value: city,\n children: transformedSelectedCityData?.length > 0 ? transformedSelectedCityData : undefined,\n type: \"custom\",\n icon: \"LocationCity\",\n key: \"city\",\n },\n {\n label: t(\"Language\"),\n children: transformedLanguageData?.length > 0 ? transformedLanguageData : undefined,\n type: \"custom\",\n icon: \"Language\",\n key: \"language\",\n },\n ...(user && user.access_token\n ? [\n {\n label: t(\"EDIT_PROFILE\"),\n type: \"custom\",\n icon: \"Edit\",\n key: \"editProfile\",\n },\n ]\n : []),\n {\n label: t(\"Modules\"),\n icon: \"DriveFileMove\",\n children: transformedMenuItems,\n },\n ];\n return isMobile ? (\n <Hamburger\n items={hamburgerItems}\n profileName={user?.info?.name}\n profileNumber={user?.info?.mobileNumber || user?.info?.emailId}\n theme=\"dark\"\n transitionDuration={0.3}\n styles={{ marginTop: \"64px\", height: \"93%\" }}\n onLogout={onLogout}\n hideUserManuals={true}\n profile={profilePic ? profilePic : undefined}\n isSearchable={true}\n onSelect={({ item, index, parentIndex }) => onItemSelect({ item, index, parentIndex })}\n />\n ) : (\n <StaticCitizenSideBar logout={onLogout} />\n );\n};","import React, { useRef, useEffect, useState } from \"react\";\nimport { SideNav, Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport MediaQuery from 'react-responsive';\n\n\n\n\nconst EmployeeSideBar = () => {\n const { isLoading, data } = Digit.Hooks.useAccessControl();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit?.ULBService?.getStateId();\n\n function extractLeftIcon(data = {}) {\n for (const key in data) {\n const item = data[key];\n if (key === \"item\" && item?.leftIcon !== \"\") {\n return item?.leftIcon;\n }\n if (typeof data[key] === \"object\" && !Array.isArray(data[key])) {\n const subResult = extractLeftIcon(data[key]);\n if (subResult) {\n return subResult;\n }\n }\n }\n return null;\n }\n\n function mergeObjects(obj1, obj2) {\n for (const key in obj2) {\n if (obj2.hasOwnProperty(key)) {\n if (typeof obj2[key] === \"object\" && !Array.isArray(obj2[key])) {\n if (!obj1[key]) {\n obj1[key] = {};\n }\n mergeObjects(obj1[key], obj2[key]);\n } else {\n if (!obj1[key]) {\n obj1[key] = obj2[key];\n }\n }\n }\n }\n }\n\n const configEmployeeSideBar = {};\n data?.actions\n .filter((e) => e.url === \"url\")\n .forEach((item) => {\n let index = item?.path?.split(\".\")?.[0] || \"\";\n if (item?.path !== \"\") {\n const keys = item?.path?.split(\".\");\n let hierarchicalMap = {};\n\n keys.reduce((acc, key, index) => {\n if (index === keys.length - 1) {\n acc[key] = { item };\n } else {\n acc[key] = {};\n return acc[key];\n }\n }, hierarchicalMap);\n mergeObjects(configEmployeeSideBar, hierarchicalMap);\n }\n });\n\n const splitKeyValue = (configEmployeeSideBar) => {\n const objectArray = Object.entries(configEmployeeSideBar);\n objectArray.sort((a, b) => {\n if (a[0] < b[0]) {\n return -1;\n }\n if (a[0] > b[0]) {\n return 1;\n }\n return 0;\n });\n const sortedObject = Object.fromEntries(objectArray);\n configEmployeeSideBar = sortedObject;\n return configEmployeeSideBar;\n };\n\n const navigateToRespectiveURL = (navigate = {}, url = \"\") => {\n if (!url || url === \"/\") return;\n\n //Detect if it's an external link (starts with http or https)\n const isExternal = /^https?:\\/\\//i.test(url);\n\n if (isExternal) {\n //Open external links in a new tab\n window.open(url, \"_blank\", \"noopener,noreferrer\");\n return;\n }\n\n //Internal navigation logic\n if (!url.includes(`/${window?.contextPath}`)) {\n const hostUrl = window.location.origin;\n let updatedUrl;\n\n if (isMultiRootTenant) {\n const contextPath = window?.contextPath || \"sandbox-ui\";\n url = url.replace(`/${contextPath}/employee`, `/${contextPath}/${tenantId}/employee`);\n updatedUrl = url;\n navigate(updatedUrl);\n }\n else{\n updatedUrl = hostUrl + url;\n try {\n if (typeof window !== 'undefined') {\n window.location.href = updatedUrl;\n }\n } catch (error) {\n console.warn('Navigation failed, attempting fallback:', error);\n try {\n window.location.replace(updatedUrl);\n } catch (fallbackError) {\n console.error('All navigation methods failed:', fallbackError);\n }\n }\n }\n } else {\n navigate(url);\n }\n};\n\n const onItemSelect = ({ item, index, parentIndex }) => {\n if (item?.navigationUrl) {\n navigateToRespectiveURL(navigate, item?.navigationUrl);\n } else {\n return;\n } \n };\n\n function transformData(data) {\n const transformItem = (key, value) => {\n if (value.item) {\n return {\n label: t(value.item.displayName),\n icon: { icon: value.item.leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: value.item.navigationURL,\n orderNumber:value.item.orderNumber,\n };\n }\n const children = Object.keys(value).map((childKey) => transformItem(childKey, value[childKey]));\n const iconKey = extractLeftIcon(value);\n return {\n label: t(key),\n icon: { icon: iconKey, width: \"1.5rem\", height: \"1.5rem\" },\n children: children,\n };\n };\n return Object.keys(data).map((key) => transformItem(key, data[key]));\n }\n\n const sortDataByOrderNumber = (data) => {\n // Sort the current level of data by orderNumber, handling cases where orderNumber might be missing\n data.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity; // Use Infinity if orderNumber is missing\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity; // Use Infinity if orderNumber is missing\n return aOrder - bOrder;\n });\n \n // Recursively sort the children if they exist\n data.forEach((item) => {\n if (item.children && item.children.length > 0) {\n sortDataByOrderNumber(item.children);\n }\n });\n \n return data;\n };\n\n const transformedData = transformData(splitKeyValue(configEmployeeSideBar));\n const sortedTransformedData= sortDataByOrderNumber(transformedData);\n if (isLoading) {\n return <Loader />;\n }\n\n if (!configEmployeeSideBar) {\n return \"\";\n }\n \n return (\n <MediaQuery minWidth={768}>\n <SideNav\n items={sortedTransformedData}\n hideAccessbilityTools={true}\n onSelect={({ item, index, parentIndex }) => onItemSelect({ item, index, parentIndex })}\n theme={window?.globalConfigs?.getConfig(\"SIDENAV_THEME\") || \"dark\"}\n variant={window?.globalConfigs?.getConfig(\"SIDENAV_VARIANT\") || \"primary\"}\n transitionDuration={\"\"}\n className=\"\"\n styles={{}}\n expandedWidth=\"\"\n collapsedWidth=\"\"\n onBottomItemClick={() => { }}\n />\n </MediaQuery>\n );\n};\n\nexport default EmployeeSideBar;\n\n\n\n\n\n","import React from \"react\";\nimport { CitizenSideBar } from \"./CitizenSideBar\";\nimport EmployeeSideBar from \"./EmployeeSideBar\";\n\nconst SideBar = ({ t, CITIZEN, isSidebarOpen, toggleSidebar, handleLogout, mobileView, userDetails, modules, linkData, islinkDataLoading,userProfile}) => {\n if (CITIZEN)\n return (\n <CitizenSideBar\n isOpen={isSidebarOpen}\n isMobile={true}\n toggleSidebar={toggleSidebar}\n onLogout={handleLogout}\n linkData={linkData}\n islinkDataLoading={islinkDataLoading}\n userProfile={userProfile}\n isEmployee={false}\n />\n );\n else {\n return !isSidebarOpen && userDetails?.access_token ? (\n <div className=\"digit-employeeSidebar\">\n <EmployeeSideBar {...{ mobileView, userDetails, modules }} />\n </div>\n ) : (\n <div className=\"digit-citizenSidebar\">\n <CitizenSideBar\n isOpen={isSidebarOpen}\n isMobile={true}\n toggleSidebar={toggleSidebar}\n onLogout={handleLogout}\n isEmployee={true}\n userProfile={userProfile}\n />\n </div>\n );\n }\n};\n\nexport default SideBar;\n","import React, { useState } from \"react\";\nimport TopBar from \"./TopBar\";\nimport { useNavigate } from \"react-router-dom\";\nimport SideBar from \"./SideBar\";\nimport LogoutDialog from \"../Dialog/LogoutDialog\";\nconst TopBarSideBar = ({\n t,\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n showSidebar = true,\n showLanguageChange,\n linkData,\n islinkDataLoading,\n}) => {\n const [isSidebarOpen, toggleSidebar] = useState(false);\n const navigate = useNavigate()\n const [showDialog, setShowDialog] = useState(false);\n const handleLogout = () => {\n toggleSidebar(false);\n setShowDialog(true);\n };\n\n const clearSSOLogoutMarkers = () => {\n localStorage.removeItem(\"sso-provider\");\n localStorage.removeItem(\"sso-client-id\");\n localStorage.removeItem(\"sso-tenant-id\");\n localStorage.removeItem(\"sso-authority\");\n localStorage.removeItem(\"sso-logout-url\");\n localStorage.removeItem(\"sso-logout-redirect-param\");\n };\n\n const getSSOPostLogoutRedirectUri = () => `${window.location.origin}/${window?.contextPath || \"\"}/employee`;\n\n const handleSSOLogout = async () => {\n const provider = localStorage.getItem(\"sso-provider\");\n const normalizedProvider = provider?.toUpperCase();\n const logoutUrlFromConfig = localStorage.getItem(\"sso-logout-url\");\n const redirectParamName = localStorage.getItem(\"sso-logout-redirect-param\") || \"post_logout_redirect_uri\";\n\n // Perform provider-specific cleanup before logout\n if (normalizedProvider === \"GOOGLE\") {\n const token = localStorage.getItem(\"google_access_token\");\n\n try {\n if (window.google?.accounts?.id) {\n window.google.accounts.id.disableAutoSelect();\n }\n\n if (token) {\n await fetch(`https://oauth2.googleapis.com/revoke?token=${encodeURIComponent(token)}`, {\n method: \"POST\",\n headers: {\n \"Content-type\": \"application/x-www-form-urlencoded\",\n },\n });\n localStorage.removeItem(\"google_access_token\");\n }\n } catch (error) {\n console.error(\"Provider cleanup error\", error);\n }\n }\n\n // Generic SSO logout handler\n if (logoutUrlFromConfig) {\n const postLogoutRedirectUri = getSSOPostLogoutRedirectUri();\n clearSSOLogoutMarkers();\n\n try {\n await Digit.UserService.logout();\n } finally {\n try {\n const url = new URL(logoutUrlFromConfig);\n url.searchParams.set(redirectParamName, postLogoutRedirectUri);\n window.location.href = url.toString();\n } catch (error) {\n window.location.href = `${logoutUrlFromConfig}?${redirectParamName}=${encodeURIComponent(postLogoutRedirectUri)}`;\n }\n }\n\n return true;\n }\n\n return false;\n };\n\n const handleOnSubmit = async () => {\n const handledBySSO = await handleSSOLogout();\n if (!handledBySSO) {\n Digit.UserService.logout();\n }\n setShowDialog(false);\n };\n const handleOnCancel = () => {\n setShowDialog(false);\n };\n\n const handleSidebar = () => {\n toggleSidebar(!isSidebarOpen);\n };\n const userProfile = () => {\n CITIZEN ? navigate(`/${window?.contextPath}/citizen/user/profile`) : navigate(`/${window?.contextPath}/employee/user/profile`);\n };\n const userOptions = [\n { name: t(\"EDIT_PROFILE\"), icon: \"Edit\", func: userProfile },\n { name: t(\"CORE_COMMON_LOGOUT\"), icon: \"Logout\", func: handleLogout },\n ];\n\n return (\n <React.Fragment>\n <TopBar\n t={t}\n stateInfo={stateInfo}\n toggleSidebar={handleSidebar}\n isSidebarOpen={isSidebarOpen}\n handleLogout={handleLogout}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n userOptions={userOptions}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showLanguageChange={showLanguageChange}\n />\n {showDialog && <LogoutDialog onSelect={handleOnSubmit} onCancel={handleOnCancel} onDismiss={handleOnCancel}></LogoutDialog>}\n {!CITIZEN\n ? showSidebar && (\n <SideBar\n t={t}\n CITIZEN={CITIZEN}\n isSidebarOpen={isSidebarOpen}\n toggleSidebar={handleSidebar}\n handleLogout={handleLogout}\n mobileView={mobileView}\n userDetails={userDetails}\n linkData={linkData}\n userProfile={userProfile}\n islinkDataLoading={islinkDataLoading}\n />\n )\n : CITIZEN\n ? showSidebar && isSidebarOpen && (\n <SideBar\n t={t}\n CITIZEN={CITIZEN}\n isSidebarOpen={isSidebarOpen}\n toggleSidebar={handleSidebar}\n handleLogout={handleLogout}\n mobileView={mobileView}\n userDetails={userDetails}\n linkData={linkData}\n userProfile={userProfile}\n islinkDataLoading={islinkDataLoading}\n />\n )\n : null}\n </React.Fragment>\n );\n};\nexport default TopBarSideBar;\n","import React, { useEffect } from 'react';\n\nconst withAutoFocusMain = (WrappedComponent, mainSelector = '.digit-home-main') => {\n return function WithAutoFocusWrapper(props) {\n useEffect(() => {\n const handleFirstTab = (e) => {\n if (e.key === 'Tab') {\n const main = document.querySelector(mainSelector);\n if (main) {\n main.setAttribute('tabindex', '-1');\n main.style.outline = 'none';\n main.focus();\n }\n window.removeEventListener('keydown', handleFirstTab);\n }\n };\n\n window.addEventListener('keydown', handleFirstTab);\n return () => window.removeEventListener('keydown', handleFirstTab);\n }, []);\n\n return <WrappedComponent {...props} />;\n };\n};\n\nexport default withAutoFocusMain;","import React, { useEffect, useRef } from \"react\";\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef();\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n const timer = setInterval(tick, delay);\n return () => clearInterval(timer);\n }\n }, [delay]);\n}\n\nexport default useInterval;\n","export const useLoginConfig = (stateCode) => {\n const moduleName = Digit.Utils.getConfigModuleName();\n\n return Digit.Hooks.useCommonMDMS(\n stateCode,\n moduleName,\n [\"LoginConfig\"],\n {\n select: (data) => ({\n config: data?.[moduleName]?.LoginConfig,\n }),\n retry: false,\n }\n );\n};\n","import { ArrowForward } from \"@egovernments/digit-ui-svg-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst FaqComponent = (props) => {\n const { question, answer, lastIndex } = props;\n const [isOpen, toggleOpen] = useState(false);\n const { t } = useTranslation();\n\n return (\n <div className=\"faqs border-none\" onClick={() => toggleOpen(!isOpen)}>\n <div className=\"faq-question\" style={{ justifyContent: \"space-between\", display: \"flex\" }}>\n <span>{t(question)}</span>\n <span className={isOpen ? \"faqicon rotate\" : \"faqicon\"} style={{ float: \"right\" }}>\n <ArrowForward />\n </span>\n </div>\n\n <div className=\"faq-answer\" style={isOpen ? { display: \"block\" } : { display: \"none\" }}>\n <span>{t(answer)}</span>\n </div>\n {!lastIndex ? <div className=\"cs-box-border\" /> : null}\n </div>\n );\n};\n\nexport default FaqComponent;\n","import { BackButton, HeaderComponent, Loader ,SearchIconSvg} from \"@egovernments/digit-ui-components\";\nimport React, { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport FaqComponent from \"./FaqComponent\";\n\nconst FAQsSection = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId = user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n\n const SearchImg = () => {\n return <SearchIconSvg className=\"signature-img\" />;\n };\n\n const { isLoading, data } = Digit.Hooks.useGetFAQsJSON(Digit.ULBService.getStateId());\n\n const moduleFaqs = data?.MdmsRes[\"common-masters\"]?.faqs[0]?.[`${module}`].faqs;\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"faq-page\">\n <BackButton style={{ marginLeft: \"unset\" }}></BackButton>\n <div style={{ marginBottom: \"15px\" }}>\n <HeaderComponent styles={{ marginLeft: \"0px\", paddingTop: \"10px\", fontSize: \"32px\" }}>{t(\"FAQ_S\")}</HeaderComponent>\n </div>\n <div className=\"faq-list\">\n {moduleFaqs.map((faq, i) => (\n <FaqComponent key={\"faq_\" + i} question={faq.question} answer={faq.answer} lastIndex={i === moduleFaqs?.length - 1} />\n ))}\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default FAQsSection;\n","import { PageBasedInput, Loader, RadioButtons, CardHeader } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst LanguageSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n\n const { data: { languages, stateInfo } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LANGUAGE\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n const RadioButtonProps = useMemo(\n () => ({\n options: languages,\n optionsKey: \"label\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: (language) => Digit.LocalizationService.changeLanguage(language.value, stateInfo.code),\n selectedOption: languages?.filter((i) => i.value === selectedLanguage)[0],\n }),\n [selectedLanguage, languages]\n );\n\n function onSubmit() {\n navigate(`/${window?.contextPath}/citizen/select-location`);\n }\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"selection-card-wrapper\">\n <PageBasedInput texts={texts} onSubmit={onSubmit}>\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LANGUAGE\")}</CardHeader>\n <RadioButtons {...RadioButtonProps} />\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LanguageSelection;\n","import { BackLink } from \"@egovernments/digit-ui-components\";\nimport { CardHeader, CardLabelError, PageBasedInput, SearchOnRadioButtons } from \"@egovernments/digit-ui-react-components\";\nimport React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\";\n\nconst LocationSelection = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\nconst {\n data: { stateInfo, uiHomePage } = {},\n isLoading: initisLoading,\n} = Digit.Hooks.useStore.getInitData();\n\nconst redirectURL = uiHomePage?.redirectURL;\n\nconst { data: cities, isLoading } = Digit.Hooks.useTenants();\n\n\n const [selectedCity, setSelectedCity] = useState(() => ({ code: Digit.ULBService.getCitizenCurrentTenant(true) }));\n const [showError, setShowError] = useState(false);\n\n const texts = useMemo(\n () => ({\n header: t(\"CS_COMMON_CHOOSE_LOCATION\"),\n submitBarLabel: t(\"CORE_COMMON_CONTINUE\"),\n }),\n [t]\n );\n\n function selectCity(city) {\n setSelectedCity(city);\n setShowError(false);\n }\n\n const RadioButtonProps = useMemo(() => {\n return {\n options: cities,\n optionsKey:\"i18nKey\",\n additionalWrapperClass: \"digit-reverse-radio-selection-wrapper\",\n onSelect: selectCity,\n selectedOption: selectedCity,\n };\n }, [cities, t, selectedCity]);\n\n function onSubmit() {\n if (selectedCity) {\n Digit.SessionStorage.set(\"CITIZEN.COMMON.HOME.CITY\", selectedCity);\n const redirectBackTo = location.state?.redirectBackTo;\n if(redirectURL){\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n else{\n if (redirectBackTo) {\n navigate(redirectBackTo, {replace:true});\n } else navigate(`/${window?.contextPath}/citizen`);\n }\n } else {\n setShowError(true);\n }\n }\n\n return isLoading ? (\n <loader />\n ) : (\n <div>\n <BackLink onClick={() => window.history.back()}/>\n <PageBasedInput texts={texts} onSubmit={onSubmit} className=\"location-selection-container\">\n <CardHeader>{t(\"CS_COMMON_CHOOSE_LOCATION\")}</CardHeader>\n <SearchOnRadioButtons {...RadioButtonProps} placeholder={t(\"COMMON_TABLE_SEARCH\")} />\n {showError ? <CardLabelError>{t(\"CS_COMMON_LOCATION_SELECTION_ERROR\")}</CardLabelError> : null}\n </PageBasedInput>\n </div>\n );\n};\n\nexport default LocationSelection;\n","import React, { useState, useEffect } from \"react\";\nimport { GalleryIcon, RemoveIcon } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nfunction UploadDrawer({ setProfilePic, closeDrawer, userType, removeProfilePic ,showToast}) {\n const [uploadedFile, setUploadedFile] = useState(null);\n const [file, setFile] = useState(\"\");\n const [error, setError] = useState(null);\n const { t } = useTranslation();\n const selectfile = (e) => setFile(e.target.files[0]);\n const removeimg = () => {removeProfilePic(); closeDrawer()};\n const onOverlayBodyClick = () => closeDrawer();\n\n useEffect(() => {\n (async () => {\n setError(null);\n if (file) {\n if (file.size >= 1000000) {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"))\n setError(t(\"CORE_COMMON_PROFILE_MAXIMUM_UPLOAD_SIZE_EXCEEDED\"));\n } else {\n try {\n const response = await Digit.UploadServices.Filestorage(`${userType}-profile`, file, Digit.ULBService.getStateId());\n if (response?.data?.files?.length > 0) {\n const fileStoreId = response?.data?.files[0]?.fileStoreId;\n setUploadedFile(fileStoreId);\n setProfilePic(fileStoreId);\n } else {\n showToast(\"error\", t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"))\n setError(t(\"CORE_COMMON_PROFILE_FILE_UPLOAD_ERROR\"));\n }\n } catch (err) {\n showToast(\"error\",t(\"CORE_COMMON_PROFILE_INVALID_FILE_INPUT\"))\n // setError(t(\"PT_FILE_UPLOAD_ERROR\"));\n }\n }\n }\n })();\n }, [file]);\n\n return (\n <React.Fragment>\n <div\n style={{\n position: \"fixed\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n width: \"100%\",\n height: \"100vh\",\n backgroundColor: \"rgba(0,0,0,.5)\",\n // zIndex: \"9998\",\n }}\n onClick={onOverlayBodyClick}\n ></div>\n <div\n style={{\n width: \"100%\",\n justifyContent: \"space-between\",\n display: \"flex\",\n backgroundColor: \"white\",\n alignItems: \"center\",\n position: \"fixed\",\n left: \"0\",\n right: \"0\",\n height: \"20%\",\n bottom: userType === \"citizen\" ? \"2.5rem\" : \"0\",\n zIndex: \"1000\",\n }}\n >\n <div\n style={{ display: \"flex\", flex: \"1\", flexDirection: \"column\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", gap: \"8px 0\" }}\n >\n <label for=\"file\" style={{ cursor: \"pointer\" }}>\n {\" \"}\n <GalleryIcon />\n </label>\n <label style={{ cursor: \"pointer\" }}> Gallery</label>\n <input type=\"file\" id=\"file\" accept=\"image/*, .png, .jpeg, .jpg\" onChange={selectfile} style={{ display: \"none\" }} />\n </div>\n\n <div\n style={{ display: \"flex\", flex: \"1\", width: \"100%\", justifyContent: \"center\", alignItems: \"center\", flexDirection: \"column\", gap: \"8px 0\" }}\n >\n <button onClick={removeimg}>\n <RemoveIcon />\n </button>\n <label style={{ cursor: \"pointer\" }}>Remove</label>\n </div>\n </div>\n </React.Fragment>\n );\n}\n\nexport default UploadDrawer;\n","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_TENANT = Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst IndividualUserProfile = ({ stateCode, userType, cityDetails }) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n // const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\"); // Handled in parent\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n\n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n\n if (uuid) {\n // New API using health-individual\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_search`,\n useCache: false,\n method: \"POST\",\n userService: true,\n params: {\n limit: 1000,\n offset: 0,\n tenantId: tenant,\n },\n body: {\n Individual: {\n userUuid: [uuid],\n tenantId: tenant,\n },\n },\n });\n\n if (response?.Individual?.length) {\n setUserDetails(response.Individual[0]);\n }\n }\n };\n\n React.useEffect(() => {\n window.addEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n return () => {\n window.removeEventListener(\"resize\", () => setWindowWidth(window.innerWidth));\n };\n });\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n if (name) {\n setName((prev) => prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n let responseInfo;\n\n // Build Individual object dynamically\n const individualPayload = {\n ...userDetails,\n tenantId: tenant,\n name: {\n givenName: name.trim(),\n familyName: userDetails?.name?.familyName,\n otherNames: userDetails?.name?.otherNames,\n },\n mobileNumber: mobileNumber,\n isDeleted: false,\n isSystemUser: true,\n isSystemUserActive: true,\n };\n\n // Only add optional fields if they have values\n if (gender?.value) {\n individualPayload.gender = gender.value;\n }\n\n if (email) {\n individualPayload.email = email;\n }\n\n if (profilePic) {\n individualPayload.photo = profilePic;\n }\n\n const response = await Digit.CustomService.getResponse({\n url: `${individualServicePath}/v1/_update`,\n useCache: false,\n method: \"POST\",\n userService: true,\n body: {\n Individual: individualPayload,\n },\n });\n responseInfo = response?.responseInfo;\n \n\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n let errorObj;\n try {\n errorObj = JSON.parse(error);\n } catch (e) {\n errorObj = {\n type: \"error\",\n message: error?.response?.data?.Errors?.[0]?.description || \"CORE_COMMON_PROFILE_UPDATE_ERROR\",\n };\n }\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n // ... (RENDER JSX FROM NEW FILE) ...\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(-1)} />\n ) : (\n <BreadCrumb\n style={{ marginTop: \"0rem\", marginBottom: \"1.5rem\" }}\n crumbs={[\n {\n internalLink: isMultiRootTenant ? `/${window?.contextPath}/employee/sandbox/landing` : `/${window?.contextPath}/employee`,\n content: t(\"ES_COMMON_HOME\"),\n show: true,\n },\n {\n internalLink: `/${window?.contextPath}/employee/user/profile`,\n content: t(\"ES_COMMON_PAGE_1\"),\n show: url.includes(\"/user/profile\"),\n },\n ]}\n />\n )}\n </section>\n <div\n style={{\n display: \"flex\",\n flex: 1,\n flexDirection: windowWidth < 768 || userType === \"citizen\" ? \"column\" : \"row\",\n margin: userType === \"citizen\" ? \"8px\" : \"0px\",\n gap: userType === \"citizen\" ? \"\" : \"0 24px\",\n boxShadow: userType === \"citizen\" ? \"1px 1px 4px 0px rgba(0,0,0,0.2)\" : \"\",\n background: userType === \"citizen\" ? \"white\" : \"\",\n borderRadius: userType === \"citizen\" ? \"4px\" : \"\",\n maxWidth: userType === \"citizen\" ? \"960px\" : \"\",\n }}\n >\n <section\n style={{\n position: \"relative\",\n display: \"flex\",\n flex: userType === \"citizen\" ? 1 : 2.5,\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n // height: \"376px\",\n borderRadius: \"4px\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n border: `${userType === \"citizen\" ? \"8px\" : \"24px\"} solid #fff`,\n background: \"#EEEEEE\",\n padding: userType === \"citizen\" ? \"8px\" : \"16px\",\n }}\n >\n <div\n style={{\n position: \"relative\",\n height: userType === \"citizen\" ? \"114px\" : \"150px\",\n width: userType === \"citizen\" ? \"114px\" : \"150px\",\n margin: \"16px\",\n }}\n >\n <ImageComponent\n style={{\n margin: \"auto\",\n borderRadius: \"300px\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n src={!profileImg || profileImg === \"\" ? defaultImage : profileImg}\n alt=\"Profile Image\"\n />\n\n <button\n style={{\n position: \"absolute\",\n left: \"50%\",\n bottom: \"-24px\",\n transform: \"translateX(-50%)\",\n }}\n onClick={onClickAddPic}\n >\n <CameraIcon />\n </button>\n </div>\n </section>\n <section\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n flex: userType === \"citizen\" ? 1 : 7.5,\n width: \"100%\",\n borderRadius: \"4px\",\n height: \"fit-content\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n background: \"white\",\n padding: userType === \"citizen\" ? \"8px\" : \"24px\",\n paddingBottom: \"20px\",\n }}\n >\n {userType === \"citizen\" ? (\n <React.Fragment>\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\", maxWidth: \"960px\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disable={editScreen}\n />\n {/* {errors?.userName && (\n <CardLabelError>\n {\" \"}\n {t(errors?.userName?.message)}{\" \"}\n </CardLabelError>\n )} */}\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_GENDER\")}`}</CardLabel>\n <Dropdown\n style={{ width: \"100%\", fontSize: \"1rem\" }}\n className=\"form-field profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_EMAIL\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"email\"}\n isMandatory={false}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n placeholder=\"Enter Your Name\"\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disabled={editScreen}\n />\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_GENDER\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <Dropdown\n className=\"profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_CITY\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"city\"\n value={t(Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${tenant}`))}\n onChange={(e) => setCity(e.target.value)}\n placeholder=\"Enter Your City Name\"\n {...(validation = {\n isRequired: true,\n // pattern: \"^[a-zA-Z-.`' ]*$\",\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_CITY_ERROR_MESSAGE\"),\n })}\n disabled={true}\n />\n <ErrorMessage />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={{ width: \"300px\" }}>{`${t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER\")}*`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <MobileNumber\n value={mobileNumber}\n style={{ width: \"100%\" }}\n name=\"mobileNumber\"\n placeholder=\"Enter a valid Mobile No.\"\n onChange={(value) => setUserMobileNumber(value)}\n disable={Digit.Utils.getMultiRootTenant() ? false : true}\n {...{\n required: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.mobileNumber ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.mobileNumber,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n }}\n />\n {errors?.mobileNumber && (\n <ErrorMessage\n message={t(errors?.mobileNumber?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_EMAIL\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"email\"}\n isMandatory={false}\n placeholder={t(\"EMAIL_VALIDATION\")}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={Digit.Utils.getMultiRootTenant() ? true : editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <div style={{ width: \"100%\" }}>\n {changepassword == false && !Digit.Utils.getOTPBasedLogin() ? (\n <Button\n label={t(\"CORE_COMMON_CHANGE_PASSWORD\")}\n variation={\"teritiary\"}\n onClick={TogleforPassword}\n style={{ paddingLeft: \"20rem\" }}\n ></Button>\n ) : null}\n {changepassword ? (\n <div style={{ marginTop: \"10px\" }}>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CURRENT_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserCurrentPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.currentPassword && (\n <ErrorMessage\n message={t(errors?.currentPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_NEW_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserNewPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.newPassword && (\n <ErrorMessage\n message={t(errors?.newPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CONFIRM_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserConfirmPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.confirmPassword && (\n <ErrorMessage\n message={t(errors?.confirmPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </LabelFieldPair>\n {userType === \"employee\" && isMobile ? (\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default IndividualUserProfile;","import {\n SVG,\n Dropdown,\n LabelFieldPair,\n MobileNumber,\n TextInput,\n CardLabelError,\n BackLink,\n Loader,\n Button,\n SubmitBar,\n Footer,\n CardLabel,\n BreadCrumb,\n Toast,\n ErrorMessage,\n} from \"@egovernments/digit-ui-components\";\nimport { CameraIcon } from \"@egovernments/digit-ui-react-components\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport UploadDrawer from \"./ImageUpload/UploadDrawer\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport IndividualUserProfile from \"./IndividualUserProfile\";\n\nconst DEFAULT_TENANT=Digit?.ULBService?.getStateId?.();\n\nconst defaultImage =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL\" +\n \"/\" +\n \"/\" +\n \"/\" +\n \"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\";\n\nconst defaultValidationConfig = {\n tenantId: `${DEFAULT_TENANT}`,\n UserProfileValidationConfig: [\n {\n name: \"/^[a-zA-Z ]+$/i\",\n mobileNumber: \"/^[6-9]{1}[0-9]{9}$/\",\n password: \"/^([a-zA-Z0-9@#$%]{8,15})$/i\",\n },\n ],\n};\n\nconst UserProfile = ({ stateCode, userType, cityDetails }) => {\n\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualUserProfile stateCode={stateCode} userType={userType} cityDetails={cityDetails} />;\n }\n \n const navigate = useNavigate();\n const { t } = useTranslation();\n const url = window.location.href;\n const stateId = Digit.ULBService.getStateId();\n const tenant = Digit.ULBService.getCurrentTenantId();\n const userInfo = Digit.UserService.getUser()?.info || {};\n const [userDetails, setUserDetails] = useState(null);\n const [name, setName] = useState(userInfo?.name ? userInfo.name : \"\");\n const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : \"\");\n const [gender, setGender] = useState(userDetails?.gender);\n const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name);\n const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : \"\");\n const [profilePic, setProfilePic] = useState(null);\n const [profileImg, setProfileImg] = useState(\"\");\n const [openUploadSlide, setOpenUploadSide] = useState(false);\n const [changepassword, setChangepassword] = useState(false);\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [confirmPassword, setConfirmPassword] = useState(\"\");\n const [toast, setToast] = useState(null);\n const [loading, setLoading] = useState(false);\n const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);\n const [errors, setErrors] = React.useState({});\n const isMobile = window.Digit.Utils.browser.isMobile();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n\n const mapConfigToRegExp = (config) => {\n return (\n config?.UserProfileValidationConfig?.[0] &&\n Object.entries(config?.UserProfileValidationConfig[0]).reduce((acc, [key, value]) => {\n if (typeof value === \"string\") {\n try {\n // Checking if value looks like a regex (starts with \"/\" and ends with \"/flags\")\n if (value.startsWith(\"/\") && value.lastIndexOf(\"/\") > 0) {\n const lastSlashIndex = value.lastIndexOf(\"/\");\n const pattern = value.slice(1, lastSlashIndex); // Extracting regex pattern\n const flags = value.slice(lastSlashIndex + 1); // Extracting regex flags\n \n acc[key] = new RegExp(pattern, flags); // Converting properly\n } else {\n acc[key] = new RegExp(value); // Treating it as a normal regex pattern (no flags)\n }\n } catch (error) {\n console.error(`Error parsing regex for key \"${key}\":`, error);\n acc[key] = value; // Keeping as string if invalid regex\n }\n } else {\n acc[key] = value; // Keeping non-string values as it is\n }\n return acc;\n }, {})\n );\n };\n\n const [validationConfig, setValidationConfig] = useState(mapConfigToRegExp(defaultValidationConfig) || {});\n\n const { data: mdmsValidationData, isValidationConfigLoading } = Digit.Hooks.useCustomMDMS(\n stateCode,\n \"commonUiConfig\",\n [{ name: \"UserProfileValidationConfig\" }],\n {\n select: (data) => {\n return data?.commonUiConfig;\n },\n }\n );\n\n useEffect(() => {\n if (mdmsValidationData && mdmsValidationData?.UserProfileValidationConfig?.[0]) {\n const updatedValidationConfig = mapConfigToRegExp(mdmsValidationData);\n setValidationConfig(updatedValidationConfig);\n }\n }, [mdmsValidationData]);\n\n const getUserInfo = async () => {\n const uuid = userInfo?.uuid;\n if (uuid) {\n const usersResponse = await Digit.UserService.userSearch(tenant, { uuid: [uuid] }, {});\n usersResponse && usersResponse.user && usersResponse.user.length && setUserDetails(usersResponse.user[0]);\n }\n };\n\n React.useEffect(() => {\n const handleResize = () => setWindowWidth(window.innerWidth);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n useEffect(() => {\n setLoading(true);\n\n getUserInfo();\n\n setGender({\n i18nKey: undefined,\n code: userDetails?.gender,\n value: userDetails?.gender,\n });\n\n const thumbs = userDetails?.photo?.split(\",\");\n setProfileImg(thumbs?.at(0));\n\n setLoading(false);\n }, [userDetails !== null]);\n\n let validation = {};\n const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed\n const onClickAddPic = () => setOpenUploadSide(!openUploadSlide);\n const TogleforPassword = () => setChangepassword(!changepassword);\n const setGenderName = (value) => setGender(value);\n const closeFileUploadDrawer = () => setOpenUploadSide(false);\n\n const setUserName = (value) => {\n setName(value);\n\n if (!validationConfig?.name?.test(value) || value.length === 0 || value.length > 50) {\n setErrors({\n ...errors,\n userName: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_NAME_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, userName: null });\n }\n };\n\n const setUserEmailAddress = (value) => {\n if (userInfo?.userName !== value) {\n setEmail(value);\n\n if (value.length && !(value.includes(\"@\") && value.includes(\".\"))) {\n setErrors({\n ...errors,\n emailAddress: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_EMAIL_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n } else {\n setErrors({ ...errors, emailAddress: null });\n }\n };\n\n const setUserMobileNumber = (value) => {\n setMobileNo(value);\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber?.test(value)) {\n setErrors({\n ...errors,\n mobileNumber: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, mobileNumber: null });\n }\n };\n\n const setUserCurrentPassword = (value) => {\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n currentPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, currentPassword: null });\n }\n };\n\n const setUserNewPassword = (value) => {\n setNewPassword(value);\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n newPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, newPassword: null });\n }\n };\n\n const setUserConfirmPassword = (value) => {\n setConfirmPassword(value);\n\n if (!validationConfig?.password.test(value)) {\n setErrors({\n ...errors,\n confirmPassword: {\n type: \"pattern\",\n message: \"CORE_COMMON_PROFILE_PASSWORD_INVALID\",\n },\n });\n } else {\n setErrors({ ...errors, confirmPassword: null });\n }\n };\n\n const removeProfilePic = () => {\n setProfilePic(null);\n setProfileImg(null);\n };\n\n const showToast = (type, message, duration = 5000) => {\n setToast({ key: type, action: message });\n setTimeout(() => {\n setToast(null);\n }, duration);\n };\n\n const updateProfile = async () => {\n setLoading(true);\n try {\n const requestData = {\n ...userInfo,\n name,\n gender: gender?.value,\n emailId: email,\n photo: profilePic,\n };\n\n if(name){\n setName((prev)=>prev.trim());\n }\n\n if (!validationConfig?.name.test(name) || name === \"\" || name.length > 50 || name.length < 1) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_NAME_INVALID\"),\n });\n }\n\n if (userType === \"employee\" && !validationConfig?.mobileNumber.test(mobileNumber)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n });\n }\n\n if (email.length && !(email.includes(\"@\") && email.includes(\".\"))) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_EMAIL_INVALID\"),\n });\n }\n const trimmedCurrentPassword = currentPassword.trim();\n const trimmedNewPassword = newPassword.trim();\n const trimmedConfirmPassword = confirmPassword.trim();\n\n // Updating state with trimmed values\n setCurrentPassword(trimmedCurrentPassword);\n setNewPassword(trimmedNewPassword);\n setConfirmPassword(trimmedConfirmPassword);\n \n\n if (changepassword && (trimmedCurrentPassword && trimmedNewPassword && trimmedConfirmPassword)) {\n if (trimmedNewPassword !== trimmedConfirmPassword) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_MISMATCH\"),\n });\n }\n\n if (!(trimmedCurrentPassword.length && trimmedNewPassword.length && trimmedConfirmPassword.length)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n\n if (!validationConfig?.password.test(trimmedNewPassword) && !validationConfig?.password.test(trimmedConfirmPassword)) {\n throw JSON.stringify({\n type: \"error\",\n message: t(\"CORE_COMMON_PROFILE_PASSWORD_INVALID\"),\n });\n }\n }\n\n const { responseInfo, user } = await Digit.UserService.updateUser(requestData, stateCode);\n\n if (responseInfo && responseInfo.status === \"200\") {\n const user = Digit.UserService.getUser();\n\n if (user) {\n Digit.UserService.setUser({\n ...user,\n info: {\n ...user.info,\n name,\n mobileNumber,\n emailId: email,\n permanentCity: city,\n },\n });\n }\n }\n\n if (currentPassword.length && newPassword.length && confirmPassword.length) {\n const requestData = {\n existingPassword: currentPassword,\n newPassword: newPassword,\n tenantId: tenant,\n type: \"EMPLOYEE\",\n username: userInfo?.userName,\n confirmPassword: confirmPassword,\n };\n\n if (newPassword === confirmPassword) {\n try {\n const res = await Digit.UserService.changePassword(requestData, tenant);\n\n const { responseInfo: changePasswordResponseInfo } = res;\n if (changePasswordResponseInfo?.status && changePasswordResponseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS_WITH_PASSWORD\"), 5000);\n setTimeout(() => Digit.UserService.logout(), 2000);\n } else {\n throw \"\";\n }\n } catch (error) {\n throw JSON.stringify({\n type: \"error\",\n message: error.Errors?.at(0)?.description ? error.Errors.at(0).description : \"CORE_COMMON_PROFILE_UPDATE_ERROR_WITH_PASSWORD\",\n });\n }\n } else {\n throw JSON.stringify({\n type: \"error\",\n message: \"CORE_COMMON_PROFILE_ERROR_PASSWORD_NOT_MATCH\",\n });\n }\n } else if (responseInfo?.status && responseInfo.status === \"200\") {\n showToast(\"success\", t(\"CORE_COMMON_PROFILE_UPDATE_SUCCESS\"), 5000);\n }\n } catch (error) {\n const errorObj = JSON.parse(error);\n showToast(errorObj.type, t(errorObj.message), 5000);\n }\n\n setLoading(false);\n };\n\n let menu = [];\n const { data: Menu } = Digit.Hooks.useGenderMDMS(stateId, \"common-masters\", \"GenderType\");\n Menu &&\n Menu.map((genderDetails) => {\n menu.push({\n i18nKey: `PT_COMMON_GENDER_${genderDetails.code}`,\n code: `${genderDetails.code}`,\n value: `${genderDetails.code}`,\n });\n });\n\n const setFileStoreId = async (fileStoreId) => {\n setProfilePic(fileStoreId);\n\n const thumbnails = fileStoreId ? await getThumbnails([fileStoreId], stateId) : null;\n\n setProfileImg(thumbnails?.thumbs[0]);\n\n closeFileUploadDrawer();\n };\n\n const getThumbnails = async (ids, tenantId) => {\n const res = await Digit.UploadServices.Filefetch(ids, tenantId);\n if (res.data.fileStoreIds && res.data.fileStoreIds.length !== 0) {\n return {\n thumbs: res.data.fileStoreIds.map((o) => o.url.split(\",\")[3]),\n images: res.data.fileStoreIds.map((o) => Digit.Utils.getFileUrl(o.url)),\n };\n } else {\n return null;\n }\n };\n\n if (loading || isValidationConfigLoading) return <Loader></Loader>;\n\n return (\n <div className={`user-profile ${userType === \"citizen\" ? \"citizen\" : \"employee\"}`}>\n <section style={{ margin: userType === \"citizen\" || isMobile ? \"8px\" : \"0px\" }}>\n {userType === \"citizen\" || isMobile ? (\n <BackLink onClick={() => navigate(\"/\")} />\n ) : (\n <BreadCrumb\n style={{ marginTop: \"0rem\", marginBottom: \"1.5rem\" }}\n crumbs={[\n {\n internalLink: isMultiRootTenant ? `/${window?.contextPath}/employee/sandbox/landing` : `/${window?.contextPath}/employee`,\n content: t(\"ES_COMMON_HOME\"),\n show: true,\n },\n {\n internalLink: `/${window?.contextPath}/employee/user/profile`,\n content: t(\"ES_COMMON_PAGE_1\"),\n show: url.includes(\"/user/profile\"),\n },\n ]}\n />\n )}\n </section>\n <div\n style={{\n display: \"flex\",\n flex: 1,\n flexDirection: windowWidth < 768 || userType === \"citizen\" ? \"column\" : \"row\",\n margin: userType === \"citizen\" ? \"8px\" : \"0px\",\n gap: userType === \"citizen\" ? \"\" : \"0 24px\",\n boxShadow: userType === \"citizen\" ? \"1px 1px 4px 0px rgba(0,0,0,0.2)\" : \"\",\n background: userType === \"citizen\" ? \"white\" : \"\",\n borderRadius: userType === \"citizen\" ? \"4px\" : \"\",\n maxWidth: userType === \"citizen\" ? \"960px\" : \"\",\n }}\n >\n <section\n style={{\n position: \"relative\",\n display: \"flex\",\n flex: userType === \"citizen\" ? 1 : 2.5,\n justifyContent: \"center\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n // height: \"376px\",\n borderRadius: \"4px\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n border: `${userType === \"citizen\" ? \"8px\" : \"24px\"} solid #fff`,\n background: \"#EEEEEE\",\n padding: userType === \"citizen\" ? \"8px\" : \"16px\",\n }}\n >\n <div\n style={{\n position: \"relative\",\n height: userType === \"citizen\" ? \"114px\" : \"150px\",\n width: userType === \"citizen\" ? \"114px\" : \"150px\",\n margin: \"16px\",\n }}\n >\n <ImageComponent\n style={{\n margin: \"auto\",\n borderRadius: \"300px\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n src={!profileImg || profileImg === \"\" ? defaultImage : profileImg}\n alt=\"Profile Image\"\n />\n\n <button\n style={{\n position: \"absolute\",\n left: \"50%\",\n bottom: \"-24px\",\n transform: \"translateX(-50%)\",\n }}\n onClick={onClickAddPic}\n >\n <CameraIcon />\n </button>\n </div>\n </section>\n <section\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n flex: userType === \"citizen\" ? 1 : 7.5,\n width: \"100%\",\n borderRadius: \"4px\",\n height: \"fit-content\",\n boxShadow: userType === \"citizen\" ? \"\" : \"1px 1px 4px 0px rgba(0,0,0,0.2)\",\n background: \"white\",\n padding: userType === \"citizen\" ? \"8px\" : \"24px\",\n paddingBottom: \"20px\",\n }}\n >\n {userType === \"citizen\" ? (\n <React.Fragment>\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"40rem\", maxWidth: \"960px\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disable={editScreen}\n />\n {/* {errors?.userName && (\n <CardLabelError>\n {\" \"}\n {t(errors?.userName?.message)}{\" \"}\n </CardLabelError>\n )} */}\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_GENDER\")}`}</CardLabel>\n <Dropdown\n style={{ width: \"40rem\", fontSize: \"1rem\" }}\n className=\"form-field profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel className=\"user-profile\" style={editScreen ? { color: \"#B1B4B6\" } : {}}>{`${t(\"CORE_COMMON_PROFILE_EMAIL\")}`}</CardLabel>\n <div style={{ width: \"40rem\" }}>\n <TextInput\n t={t}\n style={{ width: \"100%\" }}\n type={\"email\"}\n isMandatory={false}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>\n {`${t(\"CORE_COMMON_PROFILE_NAME\")}`}*\n </CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"name\"\n value={name}\n onChange={(e) => setUserName(e.target.value)}\n placeholder=\"Enter Your Name\"\n {...(validation = {\n isRequired: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.name || defaultValidationConfig?.UserProfileValidationConfig?.[0]?.name,\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_NAME_ERROR_MESSAGE\"),\n })}\n disabled={editScreen}\n />\n {errors?.userName && (\n <ErrorMessage\n message={t(errors?.userName?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_GENDER\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <Dropdown\n className=\"profileDropdown\"\n selected={gender?.length === 1 ? gender[0] : gender}\n disable={gender?.length === 1 || editScreen}\n option={menu}\n select={setGenderName}\n value={gender}\n optionKey=\"code\"\n t={t}\n name=\"gender\"\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_CITY\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"text\"}\n isMandatory={false}\n name=\"city\"\n value={t(Digit.Utils.locale.getTransformedLocale(`TENANT_TENANTS_${tenant}`))}\n onChange={(e) => setCity(e.target.value)}\n placeholder=\"Enter Your City Name\"\n {...(validation = {\n isRequired: true,\n // pattern: \"^[a-zA-Z-.`' ]*$\",\n type: \"text\",\n title: t(\"CORE_COMMON_PROFILE_CITY_ERROR_MESSAGE\"),\n })}\n disabled={true}\n />\n <ErrorMessage />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={{ width: \"300px\" }}>{`${t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER\")}*`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <MobileNumber\n value={mobileNumber}\n style={{ width: \"100%\" }}\n name=\"mobileNumber\"\n placeholder=\"Enter a valid Mobile No.\"\n onChange={(value) => setUserMobileNumber(value)}\n disable={Digit.Utils.getMultiRootTenant() ? false : true}\n {...{\n required: true,\n pattern:\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.mobileNumber ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.mobileNumber,\n type: \"tel\",\n title: t(\"CORE_COMMON_PROFILE_MOBILE_NUMBER_INVALID\"),\n }}\n />\n {errors?.mobileNumber && (\n <ErrorMessage\n message={t(errors?.mobileNumber?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel className=\"profile-label-margin\" style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}>{`${t(\n \"CORE_COMMON_PROFILE_EMAIL\"\n )}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"email\"}\n isMandatory={false}\n placeholder={t(\"EMAIL_VALIDATION\")}\n optionKey=\"i18nKey\"\n name=\"email\"\n value={email}\n onChange={(e) => setUserEmailAddress(e.target.value)}\n disabled={Digit.Utils.getMultiRootTenant() ? true : editScreen}\n />\n {errors?.emailAddress && (\n <ErrorMessage\n message={t(errors?.emailAddress?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <div style={{ width: \"100%\" }}>\n {changepassword == false && !Digit.Utils.getOTPBasedLogin() ? (\n <Button\n label={t(\"CORE_COMMON_CHANGE_PASSWORD\")}\n variation={\"teritiary\"}\n onClick={TogleforPassword}\n style={{ paddingLeft: \"0rem\" }}\n ></Button>\n ) : null}\n {changepassword ? (\n <div style={{ marginTop: \"10px\" }}>\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CURRENT_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserCurrentPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.currentPassword && (\n <ErrorMessage\n message={t(errors?.currentPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_NEW_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserNewPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.newPassword && (\n <ErrorMessage\n message={t(errors?.newPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair style={{ display: \"flex\" }}>\n <CardLabel\n className=\"profile-label-margin\"\n style={editScreen ? { color: \"#B1B4B6\", width: \"300px\" } : { width: \"300px\" }}\n >{`${t(\"CORE_COMMON_PROFILE_CONFIRM_PASSWORD\")}`}</CardLabel>\n <div style={{ width: \"100%\" }}>\n <TextInput\n t={t}\n type={\"password\"}\n isMandatory={false}\n name=\"name\"\n pattern={\n mdmsValidationData?.UserProfileValidationConfig?.[0]?.password ||\n defaultValidationConfig?.UserProfileValidationConfig?.[0]?.password\n }\n onChange={(e) => setUserConfirmPassword(e?.target?.value)}\n disabled={editScreen}\n />\n {errors?.confirmPassword && (\n <ErrorMessage\n message={t(errors?.confirmPassword?.message)}\n truncateMessage={true}\n maxLength={256}\n className=\"\"\n wrapperClassName=\"\"\n showIcon={true}\n />\n )}\n </div>\n </LabelFieldPair>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </LabelFieldPair>\n {userType === \"employee\" && isMobile ? (\n <button\n onClick={updateProfile}\n style={{\n marginTop: \"24px\",\n backgroundColor: \"#c84c0e\",\n width: \"100%\",\n height: \"40px\",\n color: \"white\",\n maxWidth: isMobile ? \"100%\" : \"240px\",\n borderBottom: \"1px solid black\",\n fontWeight: \"700\",\n fontSize: \"17px\",\n }}\n >\n {t(\"CORE_COMMON_SAVE\")}\n </button>\n ) : null}\n </React.Fragment>\n )}\n </section>\n </div>\n\n {userType === \"employee\" && !isMobile ? (\n <Footer actionFields={[<SubmitBar t={t} label={t(\"CORE_COMMON_SAVE\")} onSubmit={updateProfile} />]} className=\"\" setactionFieldsToRight />\n ) : null}\n {toast && (\n <Toast\n type={toast.key}\n label={t(toast.key === \"success\" ? `CORE_COMMON_PROFILE_UPDATE_SUCCESS` : toast.action)}\n onClose={() => setToast(null)}\n style={{ maxWidth: \"670px\" }}\n />\n )}\n\n {openUploadSlide == true ? (\n <UploadDrawer\n setProfilePic={setFileStoreId}\n closeDrawer={closeFileUploadDrawer}\n userType={userType}\n removeProfilePic={removeProfilePic}\n showToast={showToast}\n />\n ) : (\n \"\"\n )}\n </div>\n );\n};\n\nexport default UserProfile;","import {\n Calender,\n CardBasedOptions,\n CaseIcon,\n ComplaintIcon,\n DocumentIcon,\n HomeIcon,\n OBPSIcon,\n PTIcon,\n Loader,\n WhatsNewCard,\n} from \"@egovernments/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Home = () => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const tenantId = Digit.Utils.getMultiRootTenant() ? Digit.ULBService.getStateId() : Digit.ULBService.getCitizenCurrentTenant(true);\n const { data: { stateInfo, uiHomePage } = {}, isLoading } = Digit.Hooks.useStore.getInitData();\n let isMobile = window.Digit.Utils.browser.isMobile();\n\n const conditionsToDisableNotificationCountTrigger = () => {\n if (Digit.UserService?.getUser()?.info?.type === \"EMPLOYEE\") return false;\n if (!Digit.UserService?.getUser()?.access_token) return false;\n return true;\n };\n\n const { data: EventsData, isLoading: EventsDataLoading } = Digit.Hooks.useEvents({\n tenantId,\n variant: \"whats-new\",\n config: {\n enabled: conditionsToDisableNotificationCountTrigger(),\n },\n });\n\n if (!tenantId) {\n navigate(`/${window?.contextPath}/citizen/select-language`);\n }\n\n const appBannerWebObj = uiHomePage?.appBannerDesktop;\n const appBannerMobObj = uiHomePage?.appBannerMobile;\n const citizenServicesObj = uiHomePage?.citizenServicesCard;\n const infoAndUpdatesObj = uiHomePage?.informationAndUpdatesCard;\n const whatsAppBannerWebObj = uiHomePage?.whatsAppBannerDesktop;\n const whatsAppBannerMobObj = uiHomePage?.whatsAppBannerMobile;\n const whatsNewSectionObj = uiHomePage?.whatsNewSection;\n const redirectURL = uiHomePage?.redirectURL;\n /* configure redirect URL only if it is required to overide the default citizen home screen */\n if (redirectURL) {\n navigate(`/${window?.contextPath}/citizen/${redirectURL}`);\n }\n /* fix for sanitation ui & sandbox*/\n if (window?.location?.href?.includes?.(\"sanitation-ui\") || window?.location?.href?.includes?.(\"sandbox-ui\")) {\n navigate(`/${window?.contextPath}/citizen/all-services`);\n }\n\n const handleClickOnWhatsAppBanner = (obj) => {\n window.open(obj?.navigationUrl);\n };\n\n const allCitizenServicesProps = {\n header: t(citizenServicesObj?.headerLabel),\n sideOption: {\n name: t(citizenServicesObj?.sideOption?.name),\n onClick: () =>\n navigate(citizenServicesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(citizenServicesObj?.props?.[0]?.label),\n Icon: <ComplaintIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[1]?.label),\n Icon: <PTIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(citizenServicesObj?.props?.[2]?.label),\n Icon: <CaseIcon className=\"fill-path-primary-main\" />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[2]?.navigationUrl),\n },\n // {\n // name: t(\"ACTION_TEST_WATER_AND_SEWERAGE\"),\n // Icon: <DropIcon/>,\n // onClick: () => history.push(`/${window?.contextPath}/citizen`)\n // },\n {\n name: t(citizenServicesObj?.props?.[3]?.label),\n Icon: <OBPSIcon />,\n onClick: () =>\n navigate(citizenServicesObj?.props?.[3]?.navigationUrl),\n },\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n const allInfoAndUpdatesProps = {\n header: t(infoAndUpdatesObj?.headerLabel),\n sideOption: {\n name: t(infoAndUpdatesObj?.sideOption?.name),\n onClick: () => navigate(infoAndUpdatesObj?.sideOption?.navigationUrl),\n },\n options: [\n {\n name: t(infoAndUpdatesObj?.props?.[0]?.label),\n Icon: <HomeIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[0]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[1]?.label),\n Icon: <Calender />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[1]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[2]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[2]?.navigationUrl),\n },\n {\n name: t(infoAndUpdatesObj?.props?.[3]?.label),\n Icon: <DocumentIcon />,\n onClick: () =>\n navigate(infoAndUpdatesObj?.props?.[3]?.navigationUrl),\n },\n // {\n // name: t(\"CS_COMMON_HELP\"),\n // Icon: <HelpIcon/>\n // }\n ],\n styles: {\n display: \"flex\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n };\n\n return isLoading ? (\n <Loader />\n ) : (\n <div className=\"HomePageContainer\">\n {/* <div className=\"SideBarStatic\">\n <StaticCitizenSideBar />\n </div> */}\n <div className=\"HomePageWrapper\">\n {\n <div className=\"BannerWithSearch\">\n {isMobile ? (\n <ImageComponent src={appBannerMobObj?.bannerUrl} alt=\"Banner Image\" />\n ) : (\n <ImageComponent src={appBannerWebObj?.bannerUrl} alt=\"Banner Image\" />\n )}\n {/* <div className=\"Search\">\n <StandaloneSearchBar placeholder={t(\"CS_COMMON_SEARCH_PLACEHOLDER\")} />\n </div> */}\n <div className=\"ServicesSection\">\n <CardBasedOptions style={{ marginTop: \"-30px\" }} {...allCitizenServicesProps} />\n <CardBasedOptions style={isMobile ? {} : { marginTop: \"-30px\" }} {...allInfoAndUpdatesProps} />\n </div>\n </div>\n }\n\n {(whatsAppBannerMobObj || whatsAppBannerWebObj) && (\n <div className=\"WhatsAppBanner\">\n {isMobile ? (\n <ImageComponent\n src={whatsAppBannerMobObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerMobObj)}\n alt=\"Whatsapp Banner\"\n />\n ) : (\n <ImageComponent\n src={whatsAppBannerWebObj?.bannerUrl}\n onClick={() => handleClickOnWhatsAppBanner(whatsAppBannerWebObj)}\n alt=\"Whatsapp Banner\"\n />\n )}\n </div>\n )}\n\n {conditionsToDisableNotificationCountTrigger() ? (\n EventsDataLoading ? (\n <Loader />\n ) : (\n <div className=\"WhatsNewSection\">\n <div className=\"headSection\">\n <h2>{t(whatsNewSectionObj?.headerLabel)}</h2>\n <p onClick={() => navigate(whatsNewSectionObj?.sideOption?.navigationUrl)}>{t(whatsNewSectionObj?.sideOption?.name)}</p>\n </div>\n <WhatsNewCard {...EventsData?.[0]} />\n </div>\n )\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default Home;\n","import {\n BackButton,\n HeaderComponent,\n Loader,\n CloseSvg,\n DownloadImgIcon,\n PDFSvg,\n} from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { Fragment, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst HowItWorks = ({ module }) => {\n const user = Digit.UserService.getUser();\n const tenantId =\n user?.info?.tenantId || Digit.ULBService.getCurrentTenantId();\n const { t } = useTranslation();\n const storeData = Digit.SessionStorage.get(\"initData\");\n const stateInfo = storeData.stateInfo;\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n const [videoPlay, setVideoPlay] = useState(false);\n const [vidSrc, setVidSrc] = useState(\"\");\n\n const ViDSvg = () => (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 24C5.38053 24 0 18.6143 0 12C0 5.38054 5.38053 1.90735e-06 12 1.90735e-06C18.6143 1.90735e-06 24 5.38054 24 12C24 18.6143 18.6143 24 12 24ZM16.3488 10.7852L11.3855 7.25251C11.1263 7.0701 10.8238 6.97889 10.5214 6.97889C10.291 6.97889 10.0557 7.03172 9.83976 7.14202C9.34054 7.40118 9.02857 7.91006 9.02857 8.46694L9.02877 15.5323C9.02877 16.0892 9.34076 16.5979 9.83996 16.8572C10.3344 17.1116 10.9296 17.0732 11.3857 16.7467L16.349 13.214C16.7426 12.9356 16.9778 12.4795 16.9778 11.9996C16.9776 11.5197 16.7426 11.0636 16.3489 10.7852L16.3488 10.7852Z\"\n fill=\"white\"\n />\n </svg>\n );\n const onClickVideo = (vidObj) => {\n if (selected === \"hi_IN\") {\n setVidSrc(vidObj[\"hi_IN\"]);\n } else {\n setVidSrc(vidObj[\"en_IN\"]);\n }\n setVideoPlay(true);\n };\n const onClose = () => {\n setVideoPlay(false);\n };\n\n const { isLoading, data } = Digit.Hooks.useGetHowItWorksJSON(\n Digit.ULBService.getStateId()\n );\n\n const mdmsConfigResult =\n data?.MdmsRes[\"common-masters\"]?.howItWorks[0]?.[`${module}`];\n const languages = [\n {\n label: \"ENGLISH\",\n value: \"en_IN\",\n },\n {\n label: \"हिंदी\",\n value: \"hi_IN\",\n },\n ];\n\n if (isLoading) {\n return <Loader />;\n }\n return (\n <Fragment>\n <div className=\"how-it-works-page\">\n <BackButton></BackButton>\n <div className=\"how-it-works-page-header\">\n <HeaderComponent>\n {t(\n mdmsConfigResult.screenHeader\n ? mdmsConfigResult.screenHeader\n : \"HOW_IT_WORKS\"\n )}\n </HeaderComponent>\n </div>\n <div className=\"language-selector\" style={{ margin: \"10px\" }}>\n {languages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={language.label}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n {mdmsConfigResult.videosJson.map((videos, index) => (\n <div>\n <div\n className=\"WhatsNewCard\"\n style={{\n float: \"left\",\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n }}\n >\n <div className=\"video-icon\" onClick={() => onClickVideo(videos)}>\n <div className=\"vid-svg\">\n <ViDSvg></ViDSvg>\n </div>\n </div>\n <div className=\"how-it-works-header-description\">\n <h2>{t(videos.headerLabel)}</h2>\n <p>{t(videos.description)}</p>\n </div>\n </div>\n </div>\n ))}\n {mdmsConfigResult.pdfHeader && mdmsConfigResult.pdfDesc && (\n <div\n className=\"WhatsNewCard\"\n style={{\n position: \"relative\",\n width: \"100%\",\n marginBottom: 10,\n display: \"inline-block\",\n }}\n >\n <div className=\"how-it-works-pdf-section\">\n <div className=\"pdf-icon-header-desc\">\n <div className=\"pdf-icon\">\n <PDFSvg></PDFSvg>\n </div>\n <div className=\"pdf-header-desc\">\n <h2>{t(mdmsConfigResult.pdfHeader)}</h2>\n <p>{t(mdmsConfigResult.pdfDesc)}</p>\n </div>\n </div>\n <div className=\"download-icon\">\n <DownloadImgIcon />\n </div>\n </div>\n </div>\n )}\n {videoPlay && (\n <div className=\"how-it-works-video-play\">\n <div className=\"close-button\">\n <CloseSvg onClick={onClose}></CloseSvg>\n </div>\n <video width={500} height={500} controls autoPlay>\n <source src={vidSrc} type=\"video/mp4\"></source>\n </video>\n </div>\n )}\n </div>\n </Fragment>\n );\n};\n\nexport default HowItWorks;\n","import { CardText, CardLabelError, FormStep } from \"@egovernments/digit-ui-components\";\nimport React, { Fragment, useState } from \"react\";\nimport useInterval from \"../../../hooks/useInterval\";\nimport { OTPInput } from \"@egovernments/digit-ui-react-components\";\n\nconst SelectOtp = ({ config, otp, onOtpChange, onResend, onSelect, t, error, userType = \"citizen\", canSubmit }) => {\n const [timeLeft, setTimeLeft] = useState(30);\n\n useInterval(\n () => {\n setTimeLeft(timeLeft - 1);\n },\n timeLeft > 0 ? 1000 : null\n );\n\n const handleResendOtp = () => {\n onResend();\n setTimeLeft(2);\n };\n\n if (userType === \"employee\") {\n return (\n <Fragment>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button resend-otp\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </Fragment>\n );\n }\n\n return (\n <FormStep onSelect={onSelect} config={config} t={t} isDisabled={!(otp?.length === 6 && canSubmit)}>\n <OTPInput length={6} onChange={onOtpChange} value={otp} />\n {timeLeft > 0 ? (\n <CardText>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button\" onClick={handleResendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!error && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n </FormStep>\n );\n};\n\nexport default SelectOtp;\n","export const loginSteps = [\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_MOBILE_NUMBER\",\n cardText: \"CS_LOGIN_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"text\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOB_NO\",\n validation: {\n required: true,\n minlength: 10,\n maxlength: 10,\n },\n },\n ],\n },\n {\n texts: {\n header: \"CS_LOGIN_OTP\",\n cardText: \"CS_LOGIN_OTP_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n },\n {\n texts: {\n header: \"CS_LOGIN_PROVIDE_NAME\",\n cardText: \"CS_LOGIN_NAME_TEXT\",\n nextText: \"CS_COMMONS_NEXT\",\n submitBarLabel: \"CS_COMMONS_NEXT\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_NAME\",\n type: \"text\",\n name: \"name\",\n error: \"CORE_COMMON_NAME_VALIDMSG\",\n validation: {\n required: true,\n minlength: 1,\n maxlength: 50,\n // pattern: /^[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}$/i,\n // pattern: /^(?!\\s)[^{0-9}^\\$\\\"<>?\\\\\\\\~!@#$%^()+={}\\[\\]*,/_:;“”‘’]{1,50}(?!\\s)$/i\n pattern: \"^[A-Za-z]+( [A-Za-z]+)*$\",\n },\n },\n ],\n },\n];\n","import { InputCard, TextBlock, FieldV1, LinkLabel } from \"@egovernments/digit-ui-components\";\nimport React, { useMemo, useState } from \"react\";\n\nconst SelectMobileNumber = ({ t, onSelect, mobileNumber,emailId, onMobileChange,onEmailChange, config, canSubmit }) => {\n const [isEmail, setIsEmail] = useState(emailId? true : false);\n const [error, setError] = useState(\"\");\n\n const core_mobile_config = window?.globalConfigs?.getConfig(\"CORE_MOBILE_CONFIGS\") || {};\n const EMAIL_REGEX = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const rawPattern = core_mobile_config?.mobileNumberPattern || \"^\\\\d+$\";\n const mobileNumberPattern = new RegExp(rawPattern);\n\n const isEmailValid = useMemo(() => EMAIL_REGEX.test(emailId), [emailId]);\n const isMobileValid = useMemo(() => mobileNumberPattern.test(mobileNumber || \"\"), [mobileNumber, mobileNumberPattern]);\n\n const handleSubmit = () => {\n if (isEmail) {\n if (!isEmailValid) {\n setError(t(\"ERR_INVALID_EMAIL\"));\n return;\n }\n onSelect({ userName: emailId });\n } else {\n if (!isMobileValid) {\n setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n return;\n }\n onSelect({ mobileNumber });\n }\n };\n\n const handleChange = (e) => {\n const value = e.target.value;\n setError(\"\");\n if (isEmail) {\n onEmailChange(e)\n if (value && !EMAIL_REGEX.test(value)) setError(t(\"ERR_INVALID_EMAIL\"));\n } else {\n onMobileChange(e);\n if (value && !mobileNumberPattern.test(value)) setError(t(\"ERR_INVALID_MOBILE_NUMBER\"));\n }\n };\n\n const switchMode = () => {\n setIsEmail(!isEmail);\n setError(\"\");\n if(isEmail)\n onEmailChange({ target: { value: \"\" } });\n else\n onMobileChange({ target: { value: \"\" } }); // clear mobile input\n };\n\n const isDisabled = useMemo(() => {\n return isEmail ? !(isEmailValid && canSubmit) : !(isMobileValid && canSubmit);\n }, [isEmail, isEmailValid, isMobileValid, canSubmit]);\n\n const mobileViewStyles = {\n marginLeft:\"0px\",\n userSelect: \"none\",\n color: \"inherit\", \n cursor: \"pointer\", // keeps it clickable\n textDecoration: \"underline\",\n };\n\n // Responsive label\n const linkLabel = useMemo(() => {\n if (window.innerWidth <= 768) {\n return isEmail ? t(\"LOGIN_WITH_MOBILE\") : t(\"LOGIN_WITH_EMAIL\");\n }\n return isEmail ? t(\"CS_USE_MOBILE_INSTEAD\") : t(\"CS_LOGIN_REGISTER_WITH_EMAIL\");\n }, [isEmail, t]);\n\n return (\n <InputCard\n t={t}\n texts={config?.texts}\n submit\n onNext={handleSubmit}\n isDisable={isDisabled}\n >\n <div>\n <FieldV1\n key={isEmail ? \"email\" : \"mobile\"}\n withoutLabel\n charCount\n error={error}\n onChange={handleChange}\n placeholder={isEmail ? t(\"ENTER_EMAIL_PLACEHOLDER\") : t(\"ENTER_MOBILE_PLACEHOLDER\")}\n populators={{\n name: isEmail ? \"userName\" : \"mobileNumber\",\n prefix: isEmail ? \"\" : core_mobile_config?.mobilePrefix,\n validation: {\n maxlength: isEmail ? 256 : (core_mobile_config?.mobileNumberLength || 10),\n pattern: isEmail ? EMAIL_REGEX : mobileNumberPattern,\n },\n }}\n props={{ fieldStyle: { width: \"100%\" } }}\n type=\"text\"\n value={isEmail ? emailId : mobileNumber}\n />\n </div>\n\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"1rem\", marginBottom: \"1.5rem\", marginTop: \"-24px\" }}>\n <LinkLabel style={{ display: \"inline\", ...mobileViewStyles }} onClick={switchMode}>\n {linkLabel}\n </LinkLabel>\n </div>\n </InputCard>\n );\n};\n\nexport default SelectMobileNumber;","import { FormStep } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\n\nconst SelectName = ({ config, onSelect, t, isDisabled }) => {\n return <FormStep config={config} onSelect={onSelect} t={t} isDisabled={isDisabled}></FormStep>;\n};\n\nexport default SelectName;\n","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nlet DEFAULT_REDIRECT_URL = `/${window?.contextPath || window?.globalConfigs?.getConfig(\"CONTEXT_PATH\")}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst IndividualLogin = ({ stateCode, isUserRegistered = false }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate();\n const [user, setUser] = useState(null);\n const [error, setError] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [params, setParams] = useState(isUserRegistered ? {} : location?.state?.data);\n const [errorTO, setErrorTO] = useState(null);\n const searchParams = Digit.Hooks.useQueryParams();\n const [canSubmitName, setCanSubmitName] = useState(false);\n const [canSubmitOtp, setCanSubmitOtp] = useState(true);\n const [canSubmitNo, setCanSubmitNo] = useState(true);\n\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n useEffect(() => {\n let errorTimeout;\n if (error) {\n if (errorTO) {\n clearTimeout(errorTO);\n setErrorTO(null);\n }\n errorTimeout = setTimeout(() => {\n setError(\"\");\n }, 5000);\n setErrorTO(errorTimeout);\n }\n return () => {\n errorTimeout && clearTimeout(errorTimeout);\n };\n }, [error]);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n Digit.UserService.setUser(user);\n setCitizenDetail(user?.info, user?.access_token, stateCode);\n const redirectPath = location.state?.from || DEFAULT_REDIRECT_URL;\n if (!Digit.ULBService.getCitizenCurrentTenant(true)) {\n navigate(\n `/${window?.contextPath}/citizen/select-location`,\n { state: { redirectBackTo: redirectPath }, replace: true }\n );\n } else {\n navigate(redirectPath, { replace: true });\n }\n }, [user]);\n\n const stepItems = useMemo(() =>\n loginSteps.map(\n (step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n \n ), [loginSteps]\n );\n\n const getUserType = () => \"citizen\" || Digit.UserService.getType();\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n const handleMobileChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, mobileNumber: value });\n };\n\n const handleEmailChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, userName: value });\n };\n\n const selectMobileNumber = async (mobileNumber) => {\n setCanSubmitNo(false);\n setParams({ ...params, ...mobileNumber });\n const data = {\n ...mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (!err) {\n setCanSubmitNo(true);\n navigate(`otp`, { \n state: { \n from: getFromLocation(location.state, searchParams) \n }, \n replace: true \n });\n return;\n } else {\n setCanSubmitNo(true);\n navigate(`name`, {\n state: {\n from: getFromLocation(location.state, searchParams),\n data: data\n },\n replace: true\n });\n }\n };\n\n const selectName = async (name) => {\n setCanSubmitName(true);\n\n const userData = {\n ...params,\n ...name,\n };\n\n setParams(userData);\n\n // Call the Individual service registration API\n const registerURL = `${individualServicePath}/v1/_register`;\n\n const requestData = {\n IndividualRegister: {\n tenantId: stateCode,\n name: userData.name,\n emailId: userData.userName || \"\",\n mobileNumber: userData.mobileNumber || \"\",\n requestType: \"Register\"\n }\n };\n\n try {\n const registerResponse = await Digit.CustomService.getResponse({\n url: registerURL,\n body: requestData,\n useCache: false,\n method: \"POST\",\n userService: false,\n auth: false,\n params: {}\n });\n\n if (!registerResponse) {\n throw new Error(\"Registration API failed\");\n }\n\n setCanSubmitName(false);\n // After registration, go to OTP screen\n navigate(`otp`, {\n state: {\n from: getFromLocation(location.state, searchParams)\n },\n replace: true\n });\n\n } catch (err) {\n console.error(\"Registration error:\", err);\n setCanSubmitName(false);\n setError(t(\"REGISTRATION_FAILED\") || \"Registration failed. Please try again.\");\n }\n };\n\n const selectOtp = async () => {\n try {\n setIsOtpValid(true);\n setCanSubmitOtp(false);\n const { mobileNumber, otp, userName } = params;\n\n // Authenticate with OTP\n const requestData = {\n username: mobileNumber || userName,\n password: otp,\n tenantId: stateCode,\n userType: getUserType(),\n };\n\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n\n } catch (err) {\n setCanSubmitOtp(true);\n setIsOtpValid(false);\n setError(t(\"INVALID_OTP\") || \"Invalid OTP\");\n }\n };\n\n const resendOtp = async () => {\n if (!isUserRegistered) {\n // For registration flow, user needs to complete registration first\n setError(t(\"PLEASE_COMPLETE_REGISTRATION\") || \"Please enter the OTP sent during registration.\");\n } else {\n // For login flow, resend OTP\n const { mobileNumber, userName } = params;\n const data = {\n mobileNumber,\n userName,\n tenantId: stateCode,\n userType: getUserType(),\n };\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (err) {\n setError(t(\"OTP_RESEND_ERROR\") || \"Failed to resend OTP\");\n }\n }\n };\n\n const sendOtp = async (data) => {\n try {\n const res = await Digit.UserService.sendOtp(data, stateCode);\n return [res, null];\n } catch (err) {\n return [null, err];\n }\n };\n\n return (\n <div className=\"citizen-form-wrapper citizen-form-center\">\n <AppContainer>\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => window.history.back()} />}\n <Routes>\n <Route\n path=\"/\" \n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n emailId={params.userName || \"\"}\n onMobileChange={handleMobileChange}\n onEmailChange={handleEmailChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered}\n t={t}\n />\n } \n />\n <Route \n path=\"otp\" \n element={\n <SelectOtp\n config={{ \n ...stepItems[1], \n texts: { \n ...stepItems[1].texts, \n cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || params.userName || \"\"}` \n } \n }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n } \n />\n <Route \n path=\"name\" \n element={\n <SelectName \n config={stepItems[2]} \n onSelect={selectName} \n t={t} \n isDisabled={canSubmitName} \n />\n } \n />\n </Routes>\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </AppContainer>\n </div>\n );\n};\n\nexport default IndividualLogin;","import { AppContainer, BackLink, Toast } from \"@egovernments/digit-ui-components\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { loginSteps } from \"./config\";\nimport SelectMobileNumber from \"./SelectMobileNumber\";\nimport SelectName from \"./SelectName\";\nimport SelectOtp from \"./SelectOtp\";\nimport IndividualLogin from \"./IndividualLogin\";\n\nconst TYPE_REGISTER = { type: \"register\" };\nconst TYPE_LOGIN = { type: \"login\" };\nconst DEFAULT_USER = \"digit-user\";\nconst DEFAULT_REDIRECT_URL = `/${window?.contextPath}/citizen`;\n\n/* set citizen details to enable backward compatible */\nconst setCitizenDetail = (userObject, token, tenantId) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.initData\"))?.value?.selectedLanguage;\n localStorage.setItem(\"Citizen.tenant-id\", tenantId);\n localStorage.setItem(\"tenant-id\", tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Citizen.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Citizen.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Citizen.user-info\", JSON.stringify(userObject));\n};\n\nconst getFromLocation = (state, searchParams) => {\n return state?.from || searchParams?.from || DEFAULT_REDIRECT_URL;\n};\n\nconst Login = ({ stateCode, isUserRegistered = true }) => {\n // Check if individual should be used for login\n const useAnIndividual = window?.globalConfigs?.getConfig(\"USE_INDIVIDUAL_MODEL\");\n const individualServicePath = window?.globalConfigs?.getConfig(\"INDIVIDUAL_SERVICE_CONTEXT_PATH\");\n\n // If useAnIndividual exists, use IndividualLogin component\n if (useAnIndividual && individualServicePath) {\n return <IndividualLogin stateCode={stateCode} isUserRegistered={isUserRegistered} />;\n }\n\n // Otherwise, continue with standard login flow\n const { t } = useTranslation();\n const location = useLocation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n // useRouteMatch is removed in v6. Path matching is handled by Routes/Route.\n // `path` and `url` were used for constructing sub-routes. In v6, paths are often relative.\n const [user, setUser] = useState(null);\n const [error, setError] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [params, setParams] = useState(isUserRegistered ? {} : location?.state?.data);\n const [errorTO, setErrorTO] = useState(null);\n const searchParams = Digit.Hooks.useQueryParams();\n const [canSubmitName, setCanSubmitName] = useState(false);\n const [canSubmitOtp, setCanSubmitOtp] = useState(true);\n const [canSubmitNo, setCanSubmitNo] = useState(true);\n\n useEffect(() => {\n let errorTimeout;\n if (error) {\n if (errorTO) {\n clearTimeout(errorTO);\n setErrorTO(null);\n }\n errorTimeout = setTimeout(() => {\n setError(\"\");\n }, 5000);\n setErrorTO(errorTimeout);\n }\n return () => {\n errorTimeout && clearTimeout(errorTimeout);\n };\n }, [error]);\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n Digit.UserService.setUser(user);\n setCitizenDetail(user?.info, user?.access_token, stateCode);\n const redirectPath = location.state?.from || DEFAULT_REDIRECT_URL;\n if (!Digit.ULBService.getCitizenCurrentTenant(true)) {\n navigate(\n `/${window?.contextPath}/citizen/select-location`,\n { state: { redirectBackTo: redirectPath }, replace: true }\n );\n } else {\n navigate(redirectPath, { replace: true });\n }\n }, [user]);\n\n const stepItems = useMemo(\n () =>\n loginSteps.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginSteps]\n );\n\n const getUserType = () => \"citizen\" || Digit.UserService.getType();\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n const handleMobileChange = (event) => {\n const { value } = event.target;\n setParams({ ...params, mobileNumber: value });\n };\n\n const selectMobileNumber = async (mobileNumber) => {\n setCanSubmitNo(false);\n setParams({ ...params, ...mobileNumber });\n const data = {\n ...mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n if (isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n if (!err) {\n setCanSubmitNo(true);\n // Use relative path for navigation, `.` means current base path\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams), role: location.state?.role }, replace: true });\n return;\n } else {\n setCanSubmitNo(true);\n if (!(location.state && location.state.role === \"FSM_DSO\")) {\n // Use absolute path if navigating outside the current route's scope, or relative if it's a sibling route\n navigate(`/${window?.contextPath}/citizen/register/name`, { state: { from: getFromLocation(location.state, searchParams), data: data } });\n }\n }\n if (location.state?.role) {\n setCanSubmitNo(true);\n setError(location.state?.role === \"FSM_DSO\" ? t(\"ES_ERROR_DSO_LOGIN\") : \"User not registered.\");\n }\n } else {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n if (!err) {\n setCanSubmitNo(true);\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams) }, replace: true });\n return;\n }\n setCanSubmitNo(true);\n }\n };\n\n const selectName = async (name) => {\n const data = {\n ...params,\n tenantId: stateCode,\n userType: getUserType(),\n ...name,\n };\n setParams({ ...params, ...name });\n setCanSubmitName(true);\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n if (res) {\n setCanSubmitName(false);\n navigate(`otp`, { state: { from: getFromLocation(location.state, searchParams) }, replace: true });\n } else {\n setCanSubmitName(false);\n }\n };\n\n const selectOtp = async () => {\n try {\n setIsOtpValid(true);\n setCanSubmitOtp(false);\n const { mobileNumber, otp, name } = params;\n if (isUserRegistered) {\n const requestData = {\n username: mobileNumber,\n password: otp,\n tenantId: stateCode,\n userType: getUserType(),\n };\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n\n if (location.state?.role) {\n const roleInfo = info.roles.find((userRole) => userRole.code === location.state.role);\n if (!roleInfo || !roleInfo.code) {\n setError(t(\"ES_ERROR_USER_NOT_PERMITTED\"));\n // navigate also handles timeouts for redirects\n setTimeout(() => navigate(DEFAULT_REDIRECT_URL, { replace: true }), 5000);\n return;\n }\n }\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n } else if (!isUserRegistered) {\n const requestData = {\n name,\n username: mobileNumber,\n otpReference: otp,\n tenantId: stateCode,\n };\n\n const { ResponseInfo, UserRequest: info, ...tokens } = await Digit.UserService.registerUser(requestData, stateCode);\n\n if (window?.globalConfigs?.getConfig(\"ENABLE_SINGLEINSTANCE\")) {\n info.tenantId = Digit.ULBService.getStateId();\n }\n\n setUser({ info, ...tokens });\n }\n } catch (err) {\n setCanSubmitOtp(true);\n setIsOtpValid(false);\n }\n };\n\n const resendOtp = async () => {\n const { mobileNumber } = params;\n const data = {\n mobileNumber,\n tenantId: stateCode,\n userType: getUserType(),\n };\n if (!isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } });\n } else if (isUserRegistered) {\n const [res, err] = await sendOtp({ otp: { ...data, ...TYPE_LOGIN } });\n }\n };\n\n const sendOtp = async (data) => {\n try {\n const res = await Digit.UserService.sendOtp(data, stateCode);\n return [res, null];\n } catch (err) {\n return [null, err];\n }\n };\n\n const isCitizenDesktop = window.location.href.includes(\"citizen\") && !window.Digit.Utils.browser.isMobile();\n\n return (\n <div className={`citizen-form-wrapper${isCitizenDesktop ? ' citizen-form-center' : ''}`}>\n <AppContainer>\n {/* BackLink now uses navigate(-1) for going back */}\n {location.pathname.includes(\"login\") ? null : <BackLink onClick={() => navigate(-1)} />}\n <Routes> {/* Replaced Switch with Routes */}\n {/* Route path is now relative to the parent <Routes> */}\n <Route\n path=\"/\" // This will match the base path where this component is rendered (e.g., /citizen/login if mounted there)\n element={\n <SelectMobileNumber\n onSelect={selectMobileNumber}\n config={stepItems[0]}\n mobileNumber={params.mobileNumber || \"\"}\n onMobileChange={handleMobileChange}\n canSubmit={canSubmitNo}\n showRegisterLink={isUserRegistered && !location.state?.role}\n t={t}\n />\n }\n />\n <Route\n path=\"otp\" // This will match /path/to/current/route/otp\n element={\n <SelectOtp\n config={{ ...stepItems[1], texts: { ...stepItems[1].texts, cardText: `${stepItems[1].texts.cardText} ${params.mobileNumber || \"\"}` } }}\n onOtpChange={handleOtpChange}\n onResend={resendOtp}\n onSelect={selectOtp}\n otp={params.otp}\n error={isOtpValid}\n canSubmit={canSubmitOtp}\n t={t}\n />\n }\n />\n <Route\n path=\"name\" // This will match /path/to/current/route/name\n element={<SelectName config={stepItems[2]} onSelect={selectName} t={t} isDisabled={canSubmitName} />}\n />\n {error && <Toast type={\"error\"} label={error} onClose={() => setError(null)} />}\n </Routes>\n </AppContainer>\n </div>\n );\n};\n\nexport default Login;","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n exact: true,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n if (get(control._fields, name)) {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n value: get(control._fields, name)._f.value,\n });\n }\n }, [disabled, name, control]);\n return {\n field: {\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: React.useCallback((event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }), [name]),\n onBlur: React.useCallback(() => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }), [name, control]),\n ref: React.useCallback((elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n }, [control._fields, name]),\n },\n formState,\n fieldState: Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }),\n };\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n * <Form action=\"/api\" control={control}>\n * <input {...register(\"name\")} />\n * <p>{errors?.root?.server && 'Server error'}</p>\n * <button>Submit</button>\n * </Form>\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n for (const name of control._names.mount) {\n formData.append(name, get(data, name));\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(action, {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n break;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n break;\n }\n else {\n iterateFieldsByAction(currentField, action);\n }\n }\n else if (isObject(currentField)) {\n iterateFieldsByAction(currentField, action);\n }\n }\n }\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n props.rules &&\n control.register(name, props.rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (_proxyFormState.isValidating || _proxyFormState.validatingFields) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n _updateIsValidating([name], true);\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n _updateIsValidating([name]);\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, value, }) => {\n if ((isBoolean(disabled) && _state.mount) || !!disabled) {\n const inputValue = disabled\n ? undefined\n : isUndefined(value)\n ? getFieldValue(field ? field._f : get(fields, name)._f)\n : value;\n set(_formValues, name, inputValue);\n updateTouchAndDirty(name, inputValue, false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: options.disabled,\n name,\n value: options.value,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!props.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef();\n const _values = React.useRef();\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import { DatePicker, SearchField, Button } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { Controller } from \"react-hook-form\";\nconst SearchFields = ({ register, control, reset, tenantId, t, previousPage, formState, isLoading }) => {\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n return (\n <>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_FROM_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"fromDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-form-field\">\n <label>{t(\"AUDIT_TO_DATE_LABEL\")}</label>\n <Controller render={(props) => <DatePicker date={props.value} onChange={props.onChange} />} name=\"toDate\" control={control} />\n </SearchField>\n <SearchField className=\"pt-search-action-submit\">\n <Button\n style={{ marginTop: isMobile ? \"510px\" : \"25px\", marginLeft: isMobile ? \"0\" : \"-30px\", maxWidth: isMobile ? \"100%\" : \"240px\" }}\n label={t(\"ES_COMMON_APPLY\")}\n submit\n />\n </SearchField>\n </>\n );\n};\nexport default SearchFields;\n","import {\n BackButton,\n DetailsCard,\n HeaderComponent,\n Loader,\n PopUp,\n SearchAction,\n SearchForm,\n CloseSvg,\n DownloadBtnCommon,\n} from \"@egovernments/digit-ui-components\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useState,\n} from \"react\";\nimport SearchFormFields from \"./SearchFields\";\n// import { convertEpochToDateDMY } from \"../../utils\";\n\nconst MobileSearchApplication = ({\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n isLoading,\n}) => {\n function activateModal(state, action) {\n switch (action.type) {\n case \"set\":\n return action.payload;\n case \"remove\":\n return false;\n default:\n break;\n }\n }\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [currentlyActiveMobileModal, setActiveMobileModal] = useReducer(\n activateModal,\n false\n );\n\n const closeMobilePopupModal = () => {\n setActiveMobileModal({ type: \"remove\" });\n };\n\n const MobilePopUpCloseButton = () => (\n <div\n className=\"InboxMobilePopupCloseButtonWrapper\"\n onClick={closeMobilePopupModal}\n >\n <CloseSvg />\n </div>\n );\n const searchFormFieldsComponentProps = {\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n };\n\n const MobileComponentDirectory = ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) => {\n const { closeMobilePopupModal } = props;\n switch (currentlyActiveMobileModal) {\n case \"SearchFormComponent\":\n return (\n <SearchForm {...props}>\n <MobilePopUpCloseButton />\n <div className=\"MobilePopupHeadingWrapper\">\n <h2>{t(\"PRIVACY_AUDIT_REPORT\")}:</h2>\n </div>\n <SearchFormFields\n {...searchFormFieldsComponentProps}\n {...{ closeMobilePopupModal, tenantId, t }}\n />\n {/* <SearchField className=\"submit\">\n <SubmitBar label={t(\"ES_COMMON_SEARCH\")} submit form=\"search-form\"/>\n <p onClick={onResetSearchForm}>{t(`ES_COMMON_CLEAR_ALL`)}</p>\n </SearchField> */}\n </SearchForm>\n );\n default:\n return <span></span>;\n }\n };\n const CurrentMobileModalComponent = useCallback(\n ({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props\n }) =>\n MobileComponentDirectory({\n currentlyActiveMobileModal,\n searchFormFieldsComponentProps,\n tenantId,\n ...props,\n }),\n [currentlyActiveMobileModal]\n );\n let roles = [];\n data?.roles?.forEach((item) => {\n roles.push(item?.name);\n });\n const propsMobileInboxCards = useMemo(() => {\n if (data?.display) {\n return [];\n }\n if (data === \"\") {\n return [];\n }\n return data?.map((data) => ({\n [t(\"AUDIT_DATE_LABEL\")]: convertEpochToDate(data.timestamp),\n [t(\"AUDIT_TIME_LABEL\")]: convertEpochToTimeInHours(data.timestamp),\n [t(\"AUDIT_DATAVIEWED_LABEL\")]: data.dataView[0] + \",\" + data.dataView[1],\n [t(\"AUDIT_DATAVIEWED_BY_LABEL\")]: data.dataViewedBy,\n [t(\"AUDIT_ROLE_LABEL\")]: data.roles\n .slice(0, 3)\n ?.map((e) => e.name)\n .join(\",\"),\n }));\n }, [data]);\n\n return (\n <React.Fragment>\n <BackButton />\n <div\n className=\"sideContent\"\n style={{ marginLeft: \"70%\", marginTop: \"-12%\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}:</HeaderComponent>\n <div className=\"digit-search-box\">\n <SearchAction\n text={t(\"ES_COMMON_SEARCH\")}\n handleActionClick={() =>\n setActiveMobileModal({\n type: \"set\",\n payload: \"SearchFormComponent\",\n })\n }\n {...{ tenantId, t }}\n />\n </div>\n {currentlyActiveMobileModal ? (\n <PopUp>\n <CurrentMobileModalComponent\n onSubmit={(data) => {\n setActiveMobileModal({ type: \"remove\" });\n onSubmit(data);\n }}\n handleSubmit={handleSubmit}\n id=\"search-form\"\n className=\"rm-mb form-field-flex-one inboxPopupMobileWrapper\"\n {...{\n searchFormFieldsComponentProps,\n currentlyActiveMobileModal,\n closeMobilePopupModal,\n tenantId,\n }}\n />\n </PopUp>\n ) : null}\n {isLoading && <Loader />}\n <DetailsCard\n {...{\n data: propsMobileInboxCards,\n }}\n />\n </React.Fragment>\n );\n};\n\nexport default MobileSearchApplication;\n","import {\n DownloadBtnCommon,\n Table,\n} from \"@egovernments/digit-ui-react-components\";\nimport {\n BackButton,\n Loader,\n SearchForm,\n HeaderComponent\n} from \"@egovernments/digit-ui-components\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport MobileSearchApplication from \"./MobileSearchApplication\";\nimport SearchFields from \"./SearchFields\";\n\nconst SearchApplication = ({ tenantId, t, onSubmit, data, count }) => {\n const initialValues = Digit.SessionStorage.get(\n \"AUDIT_APPLICATION_DETAIL\"\n ) || {\n offset: 0,\n limit: 5,\n sortOrder: \"DESC\",\n };\n const {\n register,\n control,\n handleSubmit,\n setValue,\n getValues,\n reset,\n } = useForm({\n defaultValues: initialValues,\n });\n const convertEpochToDate = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let month = dateFromApi.getMonth() + 1;\n let day = dateFromApi.getDate();\n let year = dateFromApi.getFullYear();\n month = (month > 9 ? \"\" : \"0\") + month;\n day = (day > 9 ? \"\" : \"0\") + day;\n return `${day}/${month}/${year}`;\n };\n const convertEpochToTimeInHours = (dateEpoch) => {\n if (dateEpoch == null || dateEpoch == undefined || dateEpoch == \"\") {\n return \"NA\";\n }\n const dateFromApi = new Date(dateEpoch);\n let hour = dateFromApi.getHours();\n let min = dateFromApi.getMinutes();\n let period = hour > 12 ? \"PM\" : \"AM\";\n hour = hour > 12 ? hour - 12 : hour;\n hour = (hour > 9 ? \"\" : \"0\") + hour;\n min = (min > 9 ? \"\" : \"0\") + min;\n return `${hour}:${min} ${period}`;\n };\n const [tabledata, settabledata] = useState([]);\n const DownloadBtn = (props) => {\n return (\n <div onClick={props.onClick}>\n <DownloadBtnCommon />\n </div>\n );\n };\n const handleExcelDownload = (tabData) => {\n if (tabData?.[0] !== undefined) {\n return Digit.Download.Excel(tabData?.[0], \"AuditReport\");\n }\n };\n useEffect(() => {\n register(\"offset\", 0);\n register(\"limit\", 5);\n register(\"sortOrder\", \"DESC\");\n }, [register]);\n useEffect(() => {\n if (data?.length > 0) {\n settabledata([\n data?.map((obj) => {\n let returnObject = {};\n returnObject[t(\"AUDIT_DATE_LABEL\")] = convertEpochToDate(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_TIME_LABEL\")] = convertEpochToTimeInHours(\n obj?.timestamp\n );\n returnObject[t(\"AUDIT_DATAVIEWED_LABEL\")] =\n obj?.dataView[0] + \",\" + obj?.dataView[1];\n returnObject[t(\"AUDIT_DATAVIEWED_BY_LABEL\")] = obj?.dataViewedBy;\n returnObject[t(\"AUDIT_ROLE_LABEL\")] = obj?.roles\n .map((obj) => obj.name)\n .join(\",\");\n return {\n ...returnObject,\n };\n }),\n ]);\n }\n }, [data]);\n const onSort = useCallback((args) => {\n if (args.length === 0) return;\n setValue(\"sortBy\", args.id);\n setValue(\"sortOrder\", args.desc ? \"DESC\" : \"ASC\");\n }, []);\n\n function onPageSizeChange(e) {\n setValue(\"limit\", Number(e.target.value));\n handleSubmit(onSubmit)();\n }\n\n function nextPage() {\n setValue(\"offset\", getValues(\"offset\") + getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n function previousPage() {\n setValue(\"offset\", getValues(\"offset\") - getValues(\"limit\"));\n handleSubmit(onSubmit)();\n }\n const isMobile = window.Digit.Utils.browser.isMobile();\n\n if (isMobile) {\n return (\n <MobileSearchApplication\n {...{\n Controller,\n register,\n control,\n t,\n reset,\n previousPage,\n handleSubmit,\n tenantId,\n data,\n onSubmit,\n }}\n />\n );\n }\n\n //need to get from workflow\n const GetCell = (value) => <span className=\"cell-text\">{value}</span>;\n const columns = useMemo(\n () => [\n {\n Header: t(\"AUDIT_DATE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToDate(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: t(\"AUDIT_TIME_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n const timestamp =\n row.timestamp === \"NA\"\n ? t(\"WS_NA\")\n : convertEpochToTimeInHours(row.timestamp);\n return GetCell(`${timestamp}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_LABEL\")\n : t(\"AUDIT_DATAVIEWED_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataView}`);\n },\n },\n {\n Header: isMobile\n ? t(\"AUDIT_DATAVIEWED_BY_LABEL\")\n : t(\"AUDIT_DATAVIEWED_BY_PRIVACY\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.dataViewedBy}`);\n },\n },\n {\n Header: t(\"AUDIT_ROLE_LABEL\"),\n disableSortBy: true,\n accessor: (row) => {\n return GetCell(`${row?.roles.slice(0, 3)?.map((e) => e.name)}`);\n },\n },\n ],\n []\n );\n\n return (\n <React.Fragment>\n <div style={{ marginRight: \"-70px\" }}>\n {\" \"}\n <BackButton />{\" \"}\n </div>\n <div style={{ marginTop: \"30px\", marginLeft: \"30px\" }}>\n {\" \"}\n <HeaderComponent>{t(\"PRIVACY_AUDIT_REPORT\")}</HeaderComponent>{\" \"}\n </div>\n <SearchForm\n className=\"audit-card\"\n onSubmit={onSubmit}\n handleSubmit={handleSubmit}\n >\n <SearchFields\n {...{ register, control, reset, tenantId, t, previousPage }}\n />\n </SearchForm>\n <div\n style={{\n marginTop: \"240px\",\n marginLeft: \"-55%\",\n maxWidth: \"80%\",\n marginRight: \"52px\",\n }}\n >\n {data?.display ? (\n <div\n style={{\n marginTop: \"20x\",\n width: \"1025px\",\n marginLeft: \"25px\",\n backgroundColor: \"white\",\n height: \"60px\",\n }}\n >\n {t(data.display)\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </div>\n ) : data !== \"\" ? (\n <div\n style={{\n backgroundColor: \"white\",\n marginRight: \"-30px\",\n marginLeft: \"30px\",\n }}\n >\n <div\n className=\"sideContent\"\n style={{ float: \"right\", padding: \"10px 30px\" }}\n >\n <DownloadBtn\n className=\"mrlg cursorPointer\"\n onClick={() => handleExcelDownload(tabledata)}\n />\n </div>\n <Table\n t={t}\n data={data}\n totalRecords={count}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n minWidth:\n cellInfo.column.Header === t(\"ES_INBOX_APPLICATION_NO\")\n ? \"240px\"\n : \"\",\n padding: \"20px 18px\",\n fontSize: \"16px\",\n },\n };\n }}\n onPageSizeChange={onPageSizeChange}\n currentPage={getValues(\"offset\") / getValues(\"limit\")}\n onNextPage={nextPage}\n onPrevPage={previousPage}\n manualPagination={false}\n pageSizeLimit={getValues(\"limit\")}\n onSort={onSort}\n disableSort={false}\n sortParams={[\n {\n id: getValues(\"sortBy\"),\n desc: getValues(\"sortOrder\") === \"DESC\" ? true : false,\n },\n ]}\n />\n </div>\n ) : (\n <Loader />\n )}\n </div>\n </React.Fragment>\n );\n};\n\nexport default SearchApplication;\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport AuditSearchApplication from \"../../components/Search\";\nconst Search = ({ path }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant()\n const [payload, setPayload] = useState({});\n const convertDateToEpoch = (dateString, dayStartOrEnd = \"dayend\") => {\n //example input format : \"2018-10-02\"\n try {\n const parts = dateString.match(/(\\d{4})-(\\d{1,2})-(\\d{1,2})/);\n const DateObj = new Date(Date.UTC(parts[1], parts[2] - 1, parts[3]));\n DateObj.setMinutes(DateObj.getMinutes() + DateObj.getTimezoneOffset());\n if (dayStartOrEnd === \"dayend\") {\n DateObj.setHours(DateObj.getHours() + 24);\n DateObj.setSeconds(DateObj.getSeconds() - 1);\n }\n return DateObj.getTime();\n } catch (e) {\n return dateString;\n }\n };\n function onSubmit(_data) {\n Digit.SessionStorage.set(\"AUDIT_APPLICATION_DETAIL\", {\n offset: 0,\n limit: 5,\n sortBy: \"commencementDate\",\n sortOrder: \"DESC\",\n });\n const data = {\n ..._data,\n fromDate: convertDateToEpoch(_data?.fromDate),\n toDate: convertDateToEpoch(_data?.toDate),\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key] : data[key] }), {})\n );\n }\n useEffect(() => {\n const storedPayload = Digit.SessionStorage.get(\"AUDIT_APPLICATION_DETAIL\") || {};\n if (storedPayload) {\n const data = {\n ...storedPayload,\n };\n \n setPayload(\n Object.keys(data)\n .filter((k) => data[k])\n .reduce((acc, key) => ({ ...acc, [key]: typeof data[key] === \"object\" ? data[key].code : data[key] }), {})\n );\n }\n }, []);\n const config = {\n enabled: !!(payload && Object.keys(payload).length > 0),\n };\n const newObj = { ...payload };\n \n const {\n isLoading,\n data,\n} = Digit.Hooks.useAudit({\n tenantId,\n filters: {\n ...newObj,\n },\n config,\n });\n\n return (\n <AuditSearchApplication\n t={t}\n tenantId={tenantId}\n onSubmit={onSubmit}\n data={\n !isLoading\n ? data?.ElasticSearchData?.length > 0\n ? data?.ElasticSearchData\n : { display: \"ES_COMMON_NO_DATA\" }\n : \"\"\n }\n count={data?.ElasticSearchData?.length}\n />\n );\n };\n export default Search;","import {\n Card,\n Loader,\n CaseIcon,\n ComplaintIcon,\n HelpLineIcon,\n MCollectIcon,\n PTIcon,\n RupeeSymbol,\n ServiceCenterIcon,\n TimerIcon,\n ValidityTimeIcon,\n WhatsappIconGreen,\n} from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst StaticDynamicCard = ({ moduleCode }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCitizenCurrentTenant();\n const {\n isLoading: isMdmsLoading,\n data: mdmsData,\n } = Digit.Hooks.useStaticData(Digit.ULBService.getStateId());\n const {\n isLoading: isSearchLoading,\n error,\n data: dynamicData,\n isSuccess,\n } = Digit.Hooks.useDynamicData({\n moduleCode,\n tenantId: tenantId,\n filters: {},\n t,\n });\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const IconComponent = ({ module, styles }) => {\n switch (module) {\n case \"TL\":\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"PT\":\n return <PTIcon className=\"fill-path-primary-main\" styles={styles} />;\n case \"MCOLLECT\":\n return (\n <MCollectIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n case \"PGR\":\n return (\n <ComplaintIcon className=\"fill-path-primary-main\" styles={styles} />\n );\n default:\n return <CaseIcon className=\"fill-path-primary-main\" styles={styles} />;\n }\n };\n const mdmsConfigResult =\n mdmsData?.MdmsRes[\"common-masters\"]?.StaticData[0]?.[`${moduleCode}`];\n\n const StaticDataIconComponentOne = ({ module }) => {\n switch (module) {\n case \"PT\":\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const StaticDataIconComponentTwo = ({ module }) => {\n switch (module) {\n case \"PT\":\n return (\n <span className=\"rupeeSymbol\">\n <RupeeSymbol />\n </span>\n );\n case \"WS\":\n return (\n <span className=\"timerIcon\">\n <TimerIcon />\n </span>\n );\n default:\n return null;\n }\n };\n const staticContent = (module) => {\n switch (module) {\n case \"TL\":\n case \"PT\":\n case \"MCOLLECT\":\n return {\n staticCommonContent: t(\"COMMON_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n case \"PGR\":\n return {\n staticCommonContent: t(\"ACTION_TEST_COMPLAINT_TYPES\"),\n };\n case \"OBPS\":\n return {\n staticCommonContent: t(\"BUILDING_PLAN_PERMIT_VALIDITY\"),\n validity:\n mdmsConfigResult?.validity +\n \" \" +\n (mdmsConfigResult?.validity === \"1\"\n ? t(\"COMMON_DAY\")\n : t(\"COMMON_DAYS\")),\n };\n default:\n return {\n staticCommonContent: \"\",\n };\n }\n };\n\n const staticData = (module) => {\n switch (module) {\n case \"PT\":\n return {\n staticDataOne:\n mdmsConfigResult?.staticDataOne + \" \" + t(\"COMMON_DAYS\"),\n staticDataOneHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n staticDataTwo: mdmsConfigResult?.staticDataTwo,\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_FEE\"),\n };\n case \"WS\":\n return {\n staticDataOne: \"\",\n staticDataOneHeader:\n t(\"PAY_WATER_CHARGES_BY\") +\n \" \" +\n mdmsConfigResult?.staticDataOne +\n \" \" +\n t(\"COMMON_DAYS\") +\n \" \" +\n t(\"OF_BILL_GEN_TO_AVOID_LATE_FEE\"),\n staticDataTwo:\n mdmsConfigResult?.staticDataTwo + \" \" + t(\"COMMON_DAYS\"),\n staticDataTwoHeader: t(\"APPLICATION_PROCESSING_TIME\"),\n };\n default:\n return {};\n }\n };\n\n if (isMdmsLoading || isSearchLoading) {\n return <Loader />;\n }\n return mdmsConfigResult ? (\n <React.Fragment>\n {mdmsConfigResult && mdmsConfigResult?.payViaWhatsApp ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div\n className=\"pay-whatsapp-card\"\n onClick={() =>\n handleClickOnWhatsApp(mdmsConfigResult?.payViaWhatsApp)\n }\n >\n <div className=\"pay-whatsapp-text\">{t(\"PAY_VIA_WHATSAPP\")}</div>\n <div className=\"whatsAppIconG\">\n <WhatsappIconGreen />\n </div>\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.helpline ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CALL_CENTER_HELPLINE\")}\n </div>\n <div className=\"helplineIcon\">\n <HelpLineIcon />\n </div>\n </div>\n <div className=\"call-center-card-text\">\n {mdmsConfigResult?.helpline?.contactOne ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactOne}`}>\n {mdmsConfigResult?.helpline?.contactOne}\n </a>\n </div>\n ) : null}\n {mdmsConfigResult?.helpline?.contactTwo ? (\n <div className=\"call-center-card-content\">\n <a href={`tel:${mdmsConfigResult?.helpline?.contactTwo}`}>\n {mdmsConfigResult?.helpline?.contactTwo}\n </a>\n </div>\n ) : null}\n </div>\n </Card>\n ) : null}\n {mdmsConfigResult && mdmsConfigResult?.serviceCenter ? (\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n <div className=\"static-home-Card\">\n <div className=\"static-home-Card-header\">\n {t(\"CITIZEN_SERVICE_CENTER\")}\n </div>\n <div className=\"serviceCentrIcon\">\n <ServiceCenterIcon />\n </div>\n </div>\n <div className=\"service-center-details-card\">\n <div className=\"service-center-details-text\">\n {mdmsConfigResult?.serviceCenter}\n </div>\n </div>\n {mdmsConfigResult?.viewMapLocation ? (\n <div className=\"link\">\n <a href={mdmsConfigResult?.viewMapLocation}>{t(\"VIEW_ON_MAP\")}</a>\n </div>\n ) : null}\n </Card>\n ) : (\n <div />\n )}\n <Card style={{ margin: \"16px\", padding: \"16px\", maxWidth: \"unset\" }}>\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataOne === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataOne}\n </span>\n </div>\n </div>\n )}\n {error ||\n dynamicData == null ||\n dynamicData?.dynamicDataTwo === null ? (\n <div />\n ) : (\n <div className=\"dynamicDataCard\">\n <div className=\"dynamicData\">\n <IconComponent\n module={moduleCode}\n styles={{ width: \"24px\", height: \"24px\" }}\n />\n <span className=\"dynamicData-content\">\n {dynamicData?.dynamicDataTwo}\n </span>\n </div>\n </div>\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataOne ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentOne module={moduleCode} />\n <span className=\"static-data-content\">\n <span\n className=\"static-data-content-first\"\n style={{\n marginTop:\n staticData(moduleCode)?.staticDataOne === \"\"\n ? \"8px\"\n : \"unset\",\n }}\n >\n {staticData(moduleCode)?.staticDataOneHeader}\n </span>\n <span className=\"static-data-content-second\">{`${\n staticData(moduleCode)?.staticDataOne\n }`}</span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.staticDataTwo ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <StaticDataIconComponentTwo module={moduleCode} />\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticData(moduleCode)?.staticDataTwoHeader}\n </span>\n <span className=\"static-data-content-second\">\n {staticData(moduleCode)?.staticDataTwo}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {mdmsConfigResult && mdmsConfigResult?.validity ? (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {staticContent(moduleCode)?.validity}\n </span>\n </span>\n </div>\n </div>\n ) : (\n <div />\n )}\n {error ||\n dynamicData == null ||\n !dynamicData?.staticData ||\n dynamicData?.staticData === null ? (\n <div />\n ) : (\n <div className=\"staticDataCard\">\n <div className=\"staticData\">\n {moduleCode === \"PGR\" ? (\n <IconComponent\n module={moduleCode}\n styles={{\n width: \"24px\",\n height: \"24px\",\n marginLeft: \"13px\",\n marginTop: \"12px\",\n }}\n />\n ) : (\n <span className=\"validityIcon\">\n <ValidityTimeIcon />\n </span>\n )}\n <span className=\"static-data-content\">\n <span className=\"static-data-content-first\">\n {staticContent(moduleCode)?.staticCommonContent}\n </span>\n <span className=\"static-data-content-second\">\n {dynamicData?.staticData}\n </span>\n </span>\n </div>\n </div>\n )}\n </Card>\n </React.Fragment>\n ) : (\n <React.Fragment />\n );\n};\n\nexport default StaticDynamicCard;\n","import React, { useState } from \"react\";\nimport { SideNav, Loader } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport MediaQuery from \"react-responsive\";\nimport LogoutDialog from \"../../Dialog/LogoutDialog\";\n\nconst CitizenSideNav = ({ linkData, islinkDataLoading }) => {\n const { t } = useTranslation();\n const navigate = useNavigate();\n const isMultiRootTenant = Digit.Utils.getMultiRootTenant();\n const tenantId = Digit?.ULBService?.getStateId();\n const user = Digit.UserService.getUser();\n const isLoggedIn = user && user.access_token && user?.info?.type === \"CITIZEN\";\n\n const [showDialog, setShowDialog] = useState(false);\n\n const handleLogoutSubmit = () => {\n Digit.UserService.logout();\n setShowDialog(false);\n window.location.href = `/${window?.contextPath}/citizen/login`;\n };\n\n const handleLogoutCancel = () => {\n setShowDialog(false);\n };\n\n const navigateToUrl = (url) => {\n if (!url || url === \"/\") return;\n\n const isExternal = /^https?:\\/\\//i.test(url);\n if (isExternal) {\n window.open(url, \"_blank\", \"noopener,noreferrer\");\n return;\n }\n\n if (!url.includes(`/${window?.contextPath}`)) {\n const hostUrl = window.location.origin;\n if (isMultiRootTenant) {\n const contextPath = window?.contextPath || \"sandbox-ui\";\n url = url.replace(`/${contextPath}/citizen`, `/${contextPath}/${tenantId}/citizen`);\n navigate(url);\n } else {\n const updatedUrl = hostUrl + url;\n try {\n window.location.href = updatedUrl;\n } catch (error) {\n console.warn(\"Navigation failed, attempting fallback:\", error);\n window.location.replace(updatedUrl);\n }\n }\n } else {\n navigate(url);\n }\n };\n\n const onItemSelect = ({ item }) => {\n if (item?.navigationUrl) {\n navigateToUrl(item.navigationUrl);\n }\n };\n\n const onBottomItemClick = (item) => {\n if (item === \"Logout\") {\n setShowDialog(true);\n }\n };\n\n const buildItems = () => {\n const isDigitStudio = window.location.href.includes(\"digit-studio\");\n const items = [];\n let orderCounter = 1;\n\n if (isLoggedIn) {\n items.push({\n label: t(\"COMMON_BOTTOM_NAVIGATION_HOME\"),\n icon: { icon: \"Home\", width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: `/${window?.contextPath}/citizen`,\n orderNumber: orderCounter++,\n });\n\n items.push({\n label: t(\"EDIT_PROFILE\"),\n icon: { icon: \"Edit\", width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: `/${window?.contextPath}/citizen/user/profile`,\n orderNumber: orderCounter++,\n });\n }\n\n Object.keys(linkData || {})\n ?.sort((x, y) => x.localeCompare(y))\n ?.forEach((key) => {\n const moduleEntries = linkData[key];\n if (!moduleEntries || moduleEntries.length === 0) return;\n\n // Check if any entry in this module has a sidebar value ending with \"-links\"\n const hasSidebarLink = moduleEntries.some((entry) => entry.sidebar?.endsWith(\"-links\"));\n if (!hasSidebarLink) return;\n\n const rawIcon = moduleEntries[0]?.leftIcon;\n const leftIcon = isDigitStudio && (!rawIcon || rawIcon === \"TLIcon\") ? \"Devices\" : (rawIcon || \"ViewModule\");\n\n // Deduplicate entries by name to avoid duplicate children\n const seen = new Set();\n const uniqueEntries = moduleEntries.filter((entry) => {\n if (seen.has(entry.name)) return false;\n seen.add(entry.name);\n return true;\n });\n\n // Build children from all entries (Apply, My Applications, etc.)\n const children = uniqueEntries.map((entry) => ({\n label: t(entry.displayName || entry.i18nKey),\n icon: { icon: isDigitStudio && (!entry.leftIcon || entry.leftIcon === \"TLIcon\") ? \"Devices\" : (entry.leftIcon || \"ViewModule\"), width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: entry.navigationURL || entry.link,\n orderNumber: entry.orderNumber,\n }));\n\n // Sort children by orderNumber\n children.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity;\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity;\n return aOrder - bOrder;\n });\n\n if (children.length === 1) {\n // Single entry — render as flat item (no parent/child nesting)\n items.push({\n label: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n icon: { icon: leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n navigationUrl: children[0].navigationUrl,\n orderNumber: orderCounter++,\n });\n } else {\n // Multiple entries — render as parent with children\n items.push({\n label: t(`ACTION_TEST_${Digit.Utils.locale.getTransformedLocale(key)}`),\n icon: { icon: leftIcon, width: \"1.5rem\", height: \"1.5rem\" },\n children: children,\n orderNumber: orderCounter++,\n });\n }\n });\n\n items.sort((a, b) => {\n const aOrder = a.orderNumber !== undefined ? a.orderNumber : Infinity;\n const bOrder = b.orderNumber !== undefined ? b.orderNumber : Infinity;\n return aOrder - bOrder;\n });\n\n return items;\n };\n\n if (islinkDataLoading) {\n return <Loader />;\n }\n\n const items = buildItems();\n\n return (\n <React.Fragment>\n <MediaQuery minWidth={768}>\n <SideNav\n items={items}\n hideAccessbilityTools={!isLoggedIn}\n onSelect={onItemSelect}\n theme={window?.globalConfigs?.getConfig(\"SIDENAV_THEME\") || \"light\"}\n enableSearch={true}\n variant={window?.globalConfigs?.getConfig(\"SIDENAV_VARIANT\") || \"primary\"}\n transitionDuration={\"\"}\n className=\"\"\n styles={{ position : \"unset\"}}\n expandedWidth=\"\"\n collapsedWidth=\"\"\n onBottomItemClick={onBottomItemClick}\n />\n </MediaQuery>\n {showDialog && (\n <LogoutDialog\n onSelect={handleLogoutSubmit}\n onCancel={handleLogoutCancel}\n onDismiss={handleLogoutCancel}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default CitizenSideNav;\n","import { BackLink, CitizenHomeCard, CitizenInfoLabel } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useNavigate, useLocation } from \"react-router-dom\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport { AppHome, processLinkData } from \"../../components/Home\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport CitizenSideNav from \"../../components/TopBarSideBar/SideBar/CitizenSideNav\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"../../components/DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst FAQsSection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-faqs\" */ \"./FAQs/FAQs\"),\n () => require(\"./FAQs/FAQs\").default,\n { loaderText: \"CORE_LOADING_FAQS\" }\n);\n\nconst CitizenHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-home\" */ \"./Home\"),\n () => require(\"./Home\").default,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-language-selection\" */ \"./Home/LanguageSelection\"),\n () => require(\"./Home/LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst LocationSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-location-selection\" */ \"./Home/LocationSelection\"),\n () => require(\"./Home/LocationSelection\").default,\n { loaderText: \"CORE_LOADING_LOCATION_SELECTION\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-user-profile\" */ \"./Home/UserProfile\"),\n () => require(\"./Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst HowItWorks = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-how-it-works\" */ \"./HowItWorks/howItWorks\"),\n () => require(\"./HowItWorks/howItWorks\").default,\n { loaderText: \"CORE_LOADING_HOW_IT_WORKS\" }\n);\n\nconst Login = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Search = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-search\" */ \"./SearchApp\"),\n () => require(\"./SearchApp\").default,\n { loaderText: \"CORE_LOADING_SEARCH\" }\n);\n\nconst StaticDynamicCard = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-static-dynamic-card\" */ \"./StaticDynamicComponent/StaticDynamicCard\"),\n () => require(\"./StaticDynamicComponent/StaticDynamicCard\").default,\n { loaderText: \"CORE_LOADING_DYNAMIC_CONTENT\" }\n);\n\nconst sidebarHiddenFor = [\n `${window?.contextPath}/citizen/register/name`,\n `/${window?.contextPath}/citizen/select-language`,\n `/${window?.contextPath}/citizen/select-location`,\n `/${window?.contextPath}/citizen/login`,\n `/${window?.contextPath}/citizen/register/otp`,\n];\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes.map((item) => item.code).includes(tenant.code));\n};\n\nconst Home = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl, // This prop seems unused, consider removing\n pathname, // This prop seems unused, `useLocation().pathname` is used directly\n initData,\n}) => {\n const { isLoading: islinkDataLoading, data: linkData, isFetched: isLinkDataFetched } = Digit.Hooks.useCustomMDMS(\n Digit.ULBService.getStateId(),\n \"ACCESSCONTROL-ACTIONS-TEST\",\n [\n {\n name: \"actions-test\",\n filter: `[?(@.url == '${Digit.Utils.getMultiRootTenant() ? window.globalPath : window.contextPath}-card')]`,\n },\n ],\n {\n select: (data) => {\n const formattedData = data?.[\"ACCESSCONTROL-ACTIONS-TEST\"]?.[\"actions-test\"]\n ?.filter((el) => el.enabled === true)\n .reduce((a, b) => {\n a[b.parentModule] = a[b.parentModule]?.length > 0 ? [b, ...a[b.parentModule]] : [b];\n return a;\n }, {});\n return formattedData;\n },\n }\n );\n const classname = Digit.Hooks.useRouteSubscription(pathname);\n const { t } = useTranslation();\n const navigate = useNavigate();\n const location = useLocation();\n\n const handleClickOnWhatsApp = (obj) => {\n window.open(obj);\n };\n\n const hideSidebar = sidebarHiddenFor.some((e) => window.location.href.includes(e));\n\n // 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 <Route path=\"login/*\" element={<Login stateCode={stateCode} />} />\n\n <Route path=\"register/*\" element={<Login stateCode={stateCode} isUserRegistered={false} />} />\n\n <Route path=\"user/profile\" element={\n <div className=\"citizen-user-profile-wrapper\">\n <UserProfile stateCode={stateCode} userType={\"citizen\"} cityDetails={cityDetails} />\n </div>\n } />\n\n <Route path=\"Audit\" element={<Search />} />\n\n {/* Dynamic App Routes and Module Level Link Home Pages */}\n {appRoutes}\n {ModuleLevelLinkHomePages}\n </Routes>\n </div>\n <div className=\"citizen-home-footer\" style={window.location.href.includes(\"citizen/obps\") ? { zIndex: \"-1\" } : {}}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.2em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Home;","import { CardSubHeader, FormComposer,CardText} from \"@egovernments/digit-ui-react-components\";\nimport { BackLink,Toast} from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport SelectOtp from \"../../citizen/Login/SelectOtp\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ChangePasswordComponent = ({ config: propsConfig, t }) => {\n const [user, setUser] = useState(null);\n const { mobile_number: mobileNumber, tenantId } = Digit.Hooks.useQueryParams();\n const navigate = useNavigate();\n const [otp, setOtp] = useState(\"\");\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onResendOTP = async () => {\n const requestData = {\n otp: {\n mobileNumber,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId,\n },\n };\n\n try {\n await Digit.UserService.sendOtp(requestData, tenantId);\n setShowToast(t(\"ES_OTP_RESEND\"));\n } catch (err) {\n setShowToast(err?.response?.data?.error_description || t(\"ES_INVALID_LOGIN_CREDENTIALS\"));\n }\n setTimeout(closeToast, 5000);\n };\n\n const onChangePassword = async (data) => {\n try {\n if (data.newPassword !== data.confirmPassword) {\n return setShowToast(t(\"ERR_PASSWORD_DO_NOT_MATCH\"));\n }\n const requestData = {\n ...data,\n otpReference: otp,\n tenantId,\n type: getUserType().toUpperCase(),\n };\n\n const response = await Digit.UserService.changePassword(requestData, tenantId);\n navigateToLogin();\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || t(\"ES_SOMETHING_WRONG\"));\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/user/login`, {replace:true});\n };\n\n const [username, password, confirmPassword] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(username.label),\n type: username.type,\n populators: {\n name: username.name,\n },\n isMandatory: true,\n },\n {\n label: t(password.label),\n type: password.type,\n populators: {\n name: password.name,\n },\n isMandatory: true,\n },\n {\n label: t(confirmPassword.label),\n type: confirmPassword.type,\n populators: {\n name: confirmPassword.name,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink variant=\"primary\" style={{ borderBottom: \"none\" }} />\n </div>\n <FormComposer\n onSubmit={onChangePassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeChangePassword\"\n >\n <Header />\n <CardSubHeader style={{ textAlign: \"center\" }}> {propsConfig.texts.header} </CardSubHeader>\n <CardText>\n {`${t(`CS_LOGIN_OTP_TEXT`)} `}\n <b>\n {\" \"}\n {`${t(`+ 91 - `)}`} {mobileNumber}\n </b>\n </CardText>\n <SelectOtp t={t} userType=\"employee\" otp={otp} onOtpChange={setOtp} error={isOtpValid} onResend={onResendOTP} />\n {/* <div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_SENT_MESSAGE\")}</CardLabel>\n <CardLabelDesc style={{ marginBottom: \"0px\" }}> {mobileNumber} </CardLabelDesc>\n <CardLabelDesc style={{ marginBottom: \"8px\" }}> {t(\"CORE_EMPLOYEE_OTP_CHECK_MESSAGE\")}</CardLabelDesc>\n </div>\n <CardLabel style={{ marginBottom: \"8px\" }}>{t(\"CORE_OTP_OTP\")} *</CardLabel>\n <TextInput className=\"field\" name={otpReference} isRequired={true} onChange={updateOtp} type={\"text\"} style={{ marginBottom: \"10px\" }} />\n <div className=\"flex-right\">\n <div className=\"primary-label-btn\" onClick={onResendOTP}>\n {t(\"CORE_OTP_RESEND\")}\n </div>\n </div> */}\n </FormComposer>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nChangePasswordComponent.propTypes = {\n loginParams: PropTypes.any,\n};\n\nChangePasswordComponent.defaultProps = {\n loginParams: null,\n};\n\nexport default ChangePasswordComponent;\n","export const config = [\n {\n texts: {\n header: \"CORE_COMMON_RESET_PASSWORD_LABEL\",\n submitButtonLabel: \"CORE_COMMON_CHANGE_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n name: \"userName\",\n error: \"ERR_HRMS_INVALID_USERNAME\",\n },\n {\n label: \"CORE_LOGIN_NEW_PASSWORD\",\n type: \"password\",\n name: \"newPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n {\n label: \"CORE_LOGIN_CONFIRM_NEW_PASSWORD\",\n type: \"password\",\n name: \"confirmPassword\",\n error: \"CORE_COMMON_REQUIRED_ERRMSG\",\n },\n ],\n },\n];\n","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport ChangePasswordComponent from \"./changePassword\";\nimport { config } from \"./config\";\n\nconst EmployeeChangePassword = () => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n config.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [config]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ChangePasswordComponent config={params[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeChangePassword;\n","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_FORGOT_PASSWORD_LABEL\",\n description: \"ES_FORGOT_PASSWORD_DESC\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_COMMON_MOBILE_NUMBER\",\n type: \"mobileNumber\",\n name: \"mobileNumber\",\n error: \"ERR_HRMS_INVALID_MOBILE_NUMBER\",\n },\n {\n label: \"CORE_COMMON_CITY\",\n type: \"dropdown\",\n name: \"city\",\n error: \"ERR_HRMS_INVALID_CITY\",\n },\n ]\n },\n];\n","// import { FormComposer } from \"@egovernments/digit-ui-react-components\";\nimport { BackLink, Dropdown, Loader, Toast, FormComposerV2 } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\nimport Carousel from \"../Login/Carousel/Carousel\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\n\nconst ForgotPassword = ({ config: propsConfig, t, stateCode }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const [user, setUser] = useState(null);\n const navigate = useNavigate();\n const [showToast, setShowToast] = useState(null);\n const getUserType = () => Digit.UserService.getType();\n \n const { data : mdmsData } = useLoginConfig(stateCode);\n \n if(mdmsData?.config){\n const bannerImages = mdmsData?.config[0]?.bannerImages;\n propsConfig.bannerImages = bannerImages;\n }\n\n useEffect(() => {\n if (!user) {\n Digit.UserService.setType(\"employee\");\n return;\n }\n Digit.UserService.setUser(user);\n const redirectPath = location.state?.from || `/${window?.contextPath}/employee`;\n navigate(redirectPath, {replace:true});\n }, [user]);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n const onForgotPassword = async (data) => {\n if (!data.city) {\n alert(\"Please Select City!\");\n return;\n }\n const requestData = {\n otp: {\n userName: data.username,\n userType: getUserType().toUpperCase(),\n type: \"passwordreset\",\n tenantId: data.city.code,\n },\n };\n try {\n await Digit.UserService.sendOtp(requestData, data.city.code);\n navigate(`/${window?.contextPath}/employee/user/change-password?USERNAME=${data.username}&tenantId=${data.city.code}`);\n } catch (err) {\n setShowToast(err?.response?.data?.error?.fields?.[0]?.message || \"Invalid login credentials!\");\n setTimeout(closeToast, 5000);\n }\n };\n\n const navigateToLogin = () => {\n navigate(`/${window?.contextPath}/employee/login`);\n };\n\n const [userId, city] = propsConfig.inputs;\n const config = [\n {\n body: [\n {\n label: t(\"USERNAME\"),\n type: \"text\",\n populators: {\n name: \"username\",\n },\n isMandatory: true,\n },\n {\n label: t(city.label),\n type: city.type,\n populators: {\n name: city.name,\n optionsKey: \"name\",\n required: true,\n options: cities,\n },\n isMandatory: true,\n },\n ],\n },\n ];\n\n if (isLoading) {\n return <Loader page={true} variant=\"PageLoader\" />\n }\n\n return (\n propsConfig?.bannerImages ? (\n <React.Fragment>\n <div className=\"login-container\">\n <Carousel bannerImages={propsConfig?.bannerImages} />\n <div className=\"login-form-container\">\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </div>\n </div>\n </React.Fragment>\n ) :\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onForgotPassword}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig.texts.submitButtonLabel}\n secondaryActionLabel={propsConfig.texts.secondaryButtonLabel}\n onSecondayActionClick={navigateToLogin}\n heading={propsConfig.texts.header}\n description={propsConfig.texts.description}\n headingStyle={{ textAlign: \"center\", fontWeight: \"bold\", color: \"#363636\" }}\n descriptionStyles={{ color: \"#787878\", textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"employeeForgotPassword\"\n secondaryActionId={\"employeeForgotPassword\"}\n >\n <Header />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nForgotPassword.propTypes = {\n loginParams: PropTypes.any,\n};\n\nForgotPassword.defaultProps = {\n loginParams: null,\n};\n\nexport default ForgotPassword;","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\";\nimport { loginConfig } from \"./config\";\nimport ForgotPasswordComponent from \"./forgotPassword\";\n\nconst EmployeeForgotPassword = ({ stateCode }) => {\n const { t } = useTranslation();\n\n const params = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [loginConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<ForgotPasswordComponent config={params[0]} t={t} stateCode={stateCode} />}\n />\n </Routes>\n );\n};\n\nexport default EmployeeForgotPassword;\n","import { Button, Card, SubmitBar, Loader } from \"@egovernments/digit-ui-components\";\nimport { CustomButton } from \"@egovernments/digit-ui-react-components\";\nimport React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Navigate, useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst DEFAULT_LOCALE=Digit?.Utils?.getDefaultLanguage?.();\n\nconst defaultLanguage = { label: \"English\", value: DEFAULT_LOCALE};\n\nconst LanguageSelection = () => {\n const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { languages, stateInfo } = storeData || {};\n let defaultLanguages = languages;\n if (!defaultLanguages || defaultLanguages?.length == 0) {\n defaultLanguages = [defaultLanguage];\n }\n const selectedLanguage = Digit.StoreData.getCurrentLanguage();\n const [selected, setselected] = useState(selectedLanguage);\n const handleChangeLanguage = (language) => {\n setselected(language.value);\n Digit.LocalizationService.changeLanguage(language.value, stateInfo.code);\n };\n function getContextPath(contextPath) {\n if (!contextPath || typeof contextPath !== \"string\") return \"\";\n return contextPath.split(\"/\")[0];\n }\n \n const hasMultipleLanguages = languages?.length > 1;\n\n const handleSubmit = (event) => {\n navigate(`/${getContextPath(window.contextPath)}/user/login?ts=${Date.now()}`);\n };\n\n if (isLoading) return <Loader />;\n\n if (!hasMultipleLanguages) {\n return <Navigate to={`/${window?.contextPath}/employee/user/login`} replace />;\n }\n\n return (\n <Background>\n <Card className={\"bannerCard removeBottomMargin languageSelection\"}>\n <div className=\"bannerHeader\">\n <ImageComponent className=\"bannerLogo\" src={stateInfo?.logoUrl} alt=\"Digit Banner Image\" />\n\n <p>{t(`TENANT_TENANTS_${stateInfo?.code?.toUpperCase()}`)}</p>\n </div>\n <div className=\"language-selector\" style={{ justifyContent: \"space-around\", marginBottom: \"24px\", padding: \"0 5%\" }}>\n {defaultLanguages.map((language, index) => (\n <div className=\"language-button-container\" key={index}>\n <CustomButton\n selected={language.value === selected}\n text={t(language.label)}\n onClick={() => handleChangeLanguage(language)}\n ></CustomButton>\n </div>\n ))}\n </div>\n <SubmitBar style={{ width: \"100%\" }} label={t(`CORE_COMMON_CONTINUE`)} onSubmit={handleSubmit} />\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default LanguageSelection;\n","import React, { useState, useEffect, Fragment } from 'react';\nimport { loginConfig } from '../config';\nimport { useTranslation } from \"react-i18next\";\n\nconst Carousel = ({bannerImages=[]}) => {\n const [currentSlide, setCurrentSlide] = useState(0);\n const { t } = useTranslation();\n\n const carouselItems = bannerImages|| loginConfig[0]?.bannerImages || [];\n\n const nextSlide = () => {\n setCurrentSlide(prev => (prev === carouselItems.length - 1 ? 0 : prev + 1));\n };\n\n const prevSlide = () => {\n setCurrentSlide(prev => (prev === 0 ? carouselItems.length - 1 : prev - 1));\n };\n\n const goToSlide = (index) => {\n setCurrentSlide(index);\n };\n\n // Auto-rotate carousel every 5 seconds\n useEffect(() => {\n const interval = setInterval(() => {\n nextSlide();\n }, 5000);\n return () => clearInterval(interval);\n }, [carouselItems.length]);\n\n return (\n <Fragment>\n\n {/* Carousel Background (70% width) */}\n\n <div className=\"carousel-container\">\n {carouselItems.sort((x,y)=>x?.id-y?.id).map((item, index) => (\n <div\n key={item.id}\n className={`carousel-slide ${index === currentSlide ? 'active' : ''}`}\n style={{ backgroundImage: `url(${item.image})` }}\n >\n <div className=\"carousel-content\">\n <h2>{t(item.title)}</h2>\n <p>{t(item.description)}</p>\n </div>\n </div>\n ))}\n\n {/* Combined Navigation and Indicators (Bottom Center) */}\n <div className=\"carousel-controls\">\n <button className=\"carousel-nav\" onClick={prevSlide}>\n <\n </button>\n\n <div className=\"carousel-indicators\">\n {carouselItems.map((_, index) => (\n <button\n key={index}\n className={`indicator ${index === currentSlide ? 'active' : ''}`}\n onClick={() => goToSlide(index)}\n />\n ))}\n </div>\n\n <button className=\"carousel-nav\" onClick={nextSlide}>\n >\n </button>\n </div>\n </div>\n </Fragment>\n );\n};\n\nexport default Carousel;","export const loginConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_LOGIN\",\n secondaryButtonLabel: \"CORE_COMMON_FORGOT_PASSWORD\",\n },\n inputs: [\n {\n label: \"CORE_LOGIN_USERNAME\",\n type: \"text\",\n key: \"username\",\n isMandatory: true,\n populators: {\n name: \"username\",\n validation: {\n required: true,\n },\n error: \"ERR_USERNAME_REQUIRED\",\n },\n },\n {\n label: \"CORE_LOGIN_PASSWORD\",\n type: \"password\",\n key: \"password\",\n isMandatory: true,\n populators: {\n name: \"password\",\n validation: {\n required: true,\n },\n error: \"ERR_PASSWORD_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n type: \"dropdown\",\n key: \"city\",\n label: \"CORE_COMMON_CITY\",\n disable: false,\n populators: {\n name: \"city\",\n optionsKey: \"name\",\n error: \"ERR_HRMS_INVALID_CITY\",\n mdmsConfig: {\n masterName: \"tenants\",\n moduleName: \"tenant\",\n localePrefix: \"TENANT_TENANTS\",\n select:\n \"(data)=>{ return Array.isArray(data['tenant'].tenants) && Digit.Utils.getUnique(data['tenant'].tenants).map(ele=>({code:ele.code,name:Digit.Utils.locale.getTransformedLocale('TENANT_TENANTS_'+ele.code)}))}\",\n },\n },\n },\n {\n key: \"check\",\n type: \"component\",\n disable: false,\n component: \"PrivacyComponent\",\n populators: {\n name: \"check\"\n },\n customProps: {\n module: \"HCM\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n {\n key: \"employeeSsoLoginOptions\",\n type: \"component\",\n disable: false,\n component: \"EmployeeSSOLoginOptions\",\n populators: {\n name: \"employeeSsoLoginOptions\"\n },\n isMandatory: false,\n withoutLabel: true\n },\n ],\n },\n];\n","export const LoginOtpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_LOGIN\",\n submitButtonLabel: \"CORE_COMMON_CONTINUE\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n isMandatory: true,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"Sandbox\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport Carousel from \"./Carousel/Carousel\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n// import SkipToMainContent from \"../SkipToMainContent/SkipToMainContent\";\nimport withAutoFocusMain from \"../../../hoc/withAutoFocusMain\";\n\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant() && process.env.NODE_ENV !== \"development\") {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Login = ({ config: propsConfig, t, isDisabled, loginOTPBased }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const {\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 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 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 className={`${wrapperClass}`}\n cardSubHeaderClassName=\"loginCardSubHeaderClassName\"\n cardClassName={cardClassName}\n buttonClassName=\"buttonClassName\"\n defaultValues={defaultValues}\n >\n {stateInfo?.code ? <Header /> : <Header showTenant={false} />}\n </FormComposerV2>\n );\n \n const renderFooter = (footerClassName) => (\n <div className={footerClassName} style={{ backgroundColor: \"unset\" }}>\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n );\n\n if (isLoading || isStoreLoading) {\n return <Loader page={true} variant=\"PageLoader\" />;\n }\n return propsConfig?.bannerImages ? (\n <div className=\"login-container\">\n {/* <SkipToMainContent class_name={\".login-form-container\"}/> */}\n <Carousel bannerImages={propsConfig?.bannerImages} />\n <div className=\"login-form-container\">\n {renderLoginForm(\"login-form-container\", \"\", loginOTPBased ? \"sandbox-onboarding-wrapper\" : \"\")}\n {DynamicLoginComponent && <DynamicLoginComponent />} \n {showToast && <Toast type=\"error\" label={t(showToast)} onClose={closeToast} />}\n {renderFooter(\"EmployeeLoginFooter\")}\n </div>\n </div>\n ) : (\n <Background>\n {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 {renderFooter(\"employee-login-home-footer\")}\n </Background>\n );\n \n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default withAutoFocusMain(Login, \".login-form-container\");\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route } from \"react-router-dom\"; // Updated imports for v6\nimport { loginConfig as defaultLoginConfig } from \"./config\";\nimport { LoginOtpConfig as defaultLoginOtpConfig } from \"./ConfigOtp\";\nimport LoginComponent from \"./login\";\nimport { useLoginConfig } from \"../../../hooks/useLoginConfig\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeLogin = ({ stateCode }) => {\n const { t } = useTranslation();\n const [loginConfig, setloginConfig] = useState(defaultLoginConfig);\n const [loginOtpConfig, setloginOtpConfig] = useState(defaultLoginOtpConfig);\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n const loginType = window?.globalConfigs?.getConfig(\"OTP_BASED_LOGIN\") || false;\n const { data: mdmsData, isLoading } = useLoginConfig(stateCode);\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix,\n });\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) { \n setloginConfig(mdmsData?.config);\n } else {\n setloginConfig(defaultLoginConfig);\n }\n }, [mdmsData, isLoading]); \n\n const loginParams = useMemo(\n () =>\n loginConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginConfig]\n )\n );\n\n const loginOtpParams = useMemo(\n () =>\n loginOtpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n },\n [loginOtpConfig]\n )\n );\n\n if (isLoading) {\n return <Loader page={false} variant={\"PageLoader\"} />;\n }\n\n return (\n <Routes> {/* Replaced Switch with Routes */}\n <Route\n path=\"/\" \n element={ \n loginType ? (\n <LoginComponent config={loginOtpParams[0]} t={t} loginOTPBased={loginType} />\n ) : (\n <LoginComponent config={loginParams[0]} t={t} />\n )\n }\n />\n </Routes>\n );\n};\n\nexport default EmployeeLogin;","import React, { useState, useEffect } from \"react\";\nimport { BackLink, CardLabel, Loader, Toast } from \"@egovernments/digit-ui-components\";\nimport { FormComposerV2 } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate, useLocation } from \"react-router-dom\"; // Updated imports for v6\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\n/* set employee details to enable backward compatible */\nconst setEmployeeDetail = (userObject, token) => {\n if (Digit.Utils.getMultiRootTenant()) {\n return;\n }\n let locale = JSON.parse(sessionStorage.getItem(\"Digit.locale\"))?.value || Digit.Utils.getDefaultLanguage();\n localStorage.setItem(\"Employee.tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"tenant-id\", userObject?.tenantId);\n localStorage.setItem(\"citizen.userRequestObject\", JSON.stringify(userObject));\n localStorage.setItem(\"locale\", locale);\n localStorage.setItem(\"Employee.locale\", locale);\n localStorage.setItem(\"token\", token);\n localStorage.setItem(\"Employee.token\", token);\n localStorage.setItem(\"user-info\", JSON.stringify(userObject));\n localStorage.setItem(\"Employee.user-info\", JSON.stringify(userObject));\n};\n\nconst Otp = ({ isLogin = false }) => {\n const { t } = useTranslation();\n const navigate = useNavigate(); // Replaced useHistory with useNavigate\n const location = useLocation();\n const [showToast, setShowToast] = useState(null);\n const [isOtpValid, setIsOtpValid] = useState(false);\n const [user, setUser] = useState(null);\n const [params, setParams] = useState(location?.state?.data || {});\n const [ifSuperUserExists, setIfSuperUserExist] = useState(false);\n // In v6, location.state is directly available, no need for destructuring within another object\n const { email, tenant } = location.state || {}; \n\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime: 0,\n cacheTime: 0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const config = [\n {\n body: [\n {\n type: \"component\",\n component: \"OtpComponent\",\n key: \"OtpComponent\",\n withoutLabel: true,\n isMandatory: false,\n customProps: {\n email: email,\n tenant: tenant,\n },\n populators: {\n required: true,\n },\n },\n ],\n },\n ];\n\n const OtpConfig = [\n {\n texts: {\n // header: t(\"CORE_COMMON_OTP_LABEL\"),\n header: t(\"SANDBOX_OTP_VERIFICATION\"),\n submitButtonLabel: \"CORE_COMMON_SUBMIT\",\n },\n },\n ];\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n useEffect(() => {\n if (!user) {\n return;\n }\n Digit.SessionStorage.set(\"citizen.userRequestObject\", user);\n const filteredRoles = user?.info?.roles?.filter((role) => role.tenantId === Digit.SessionStorage.get(\"Employee.tenantId\"));\n if (user?.info?.roles?.length > 0) user.info.roles = filteredRoles;\n Digit.UserService.setUser(user);\n setEmployeeDetail(user?.info, user?.access_token);\n let redirectPath = `/${window?.globalPath}/user/setup`;\n\n const getRedirectPathOtpLogin = (locationPathname, user, MdmsRes, RoleLandingUrl) => {\n const userRole = user?.info?.roles?.[0]?.code;\n const isSuperUser = userRole === \"SUPERUSER\";\n const contextPath = window?.contextPath;\n\n switch (true) {\n case locationPathname === \"/sandbox-ui/user/otp\" && isSuperUser:\n return `/${contextPath}/employee/sandbox/landing`;\n\n case isSuperUser && MdmsRes?.[0]?.rolesForLandingPage?.includes(\"SUPERUSER\"):\n return `/${contextPath}${RoleLandingUrl}`;\n\n default:\n return `/${contextPath}/employee`;\n }\n };\n\n // Usage\n const redirectPathOtpLogin = getRedirectPathOtpLogin(location.pathname, user, MdmsRes, RoleLandingUrl);\n\n if (isLogin) {\n navigate(redirectPathOtpLogin); // Replaced history.push with navigate\n return;\n } else {\n navigate(\n {\n pathname: redirectPath,\n },\n { state: { tenant: tenant } } // Pass state as a separate options object\n );\n return;\n }\n }, [user]);\n\n const onSubmit = async (formData) => {\n const requestData = {\n username: email,\n password: formData?.OtpComponent?.otp,\n tenantId: tenant,\n userType: \"EMPLOYEE\",\n };\n try {\n const { UserRequest: info, ...tokens } = await Digit.UserService.authenticate(requestData);\n Digit.SessionStorage.set(\"Employee.tenantId\", info?.tenantId);\n setUser({ info, ...tokens });\n } catch (err) {\n setShowToast(\n err?.response?.data?.error_description ||\n (err?.message == \"ES_ERROR_USER_NOT_PERMITTED\" && t(\"ES_ERROR_USER_NOT_PERMITTED\")) ||\n t(\"INVALID_LOGIN_CREDENTIALS\")\n );\n setTimeout(closeToast, 5000);\n }\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => navigate(-1)} /> {/* navigate(-1) for going back */}\n </div>\n <FormComposerV2\n onSubmit={onSubmit}\n noBoxShadow\n inline\n submitInForm\n onFormValueChange={(setValue, formValue) => {\n const otpValue = formValue[\"OtpComponent\"];\n if (otpValue?.otp?.length === 6) {\n setIsOtpValid(true);\n } else {\n setIsOtpValid(false);\n }\n }}\n isDisabled={!isOtpValid}\n config={config}\n label={OtpConfig[0].texts.submitButtonLabel}\n heading={OtpConfig[0].texts.header}\n headingStyle={{ textAlign: \"center\" }}\n cardStyle={{ maxWidth: \"408px\", margin: \"auto\" }}\n className=\"sandbox-onboarding-wrapper\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast)} onClose={closeToast} />}\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />{\" \"}\n </div>\n </Background>\n );\n};\n\nexport default Otp;","export const SignUpConfig = [\n {\n texts: {\n header: \"CORE_COMMON_SIGN_UP\",\n submitButtonLabel: \"CORE_COMMON_SIGN_UP_BUTTON\",\n },\n inputs: [\n {\n label: \"CORE_SIGNUP_EMAILID\",\n type: \"text\",\n key: \"email\",\n isMandatory: true,\n populators: {\n name: \"email\",\n validation: {\n required: true,\n pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/,\n maxLength: 64,\n },\n error: \"ERR_EMAIL_REQUIRED\",\n },\n },\n {\n label: \"CORE_SIGNUP_ACCOUNT_NAME\",\n type: \"text\",\n key: \"accountName\",\n isMandatory: true,\n populators: {\n name: \"accountName\",\n validation: {\n required: true,\n pattern: /^[A-Za-z]+( [A-Za-z]+)*$/,\n maxLength: 50,\n },\n error: \"ERR_ACCOUNT_NAME_REQUIRED\",\n },\n infoMessage:\"SANDBOX_SIGNUP_ACCOUNT_NAME_TOOLTIP\"\n },\n {\n isMandatory: false,\n key: \"check\",\n type: \"component\",\n component: \"PrivacyComponent\",\n withoutLabel: true,\n disable: false,\n customProps: {\n module: \"SandboxSignUp\",\n },\n populators: {\n name: \"check\",\n },\n },\n ],\n bannerImages: [{\n id: 1,\n image: 'https://images.unsplash.com/photo-1746277121508-f44615ff09bb',\n title: 'A digital partner for frontline workers',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Distinctio nobis temporibus provident expedita consequuntur, repudiandae pariatur! Deleniti molestias vero, cumque vel error labore ipsam totam?\"\n },\n {\n id: 2,\n image: 'https://images.unsplash.com/photo-1581094271901-8022df4466f9',\n title: 'Feature 2 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 3,\n image: 'https://images.unsplash.com/photo-1624555130581-1d9cca783bc0',\n title: 'Feature 3 Title',\n description: \"Lorem ipsum dolor sit amet consectetur adipisicing elit. Cupiditate aut autem aperiam et modi saepe obcaecati doloremque voluptatem iusto quidem!\"\n },\n {\n id: 4,\n image: 'https://images.unsplash.com/photo-1547481887-a26e2cacb5b2',\n title: 'Feature 4 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 5,\n image: 'https://images.unsplash.com/photo-1536782376847-5c9d14d97cc0',\n title: 'Feature 5 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n {\n id: 6,\n image: 'https://images.unsplash.com/photo-1490730141103-6cac27aaab94',\n title: 'Feature 6 Title',\n description: \"Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem esse doloribus molestiae fugiat eos adipisci sequi cumque sit, laboriosam dolores blanditiis nobis assumenda quasi nemo consectetur. Officia nesciunt quibusdam molestiae.\"\n },\n ],\n },\n];\n","import { BackLink, Loader, FormComposerV2, Toast, useCustomAPIMutationHook } from \"@egovernments/digit-ui-components\";\nimport PropTypes from \"prop-types\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst Login = ({ config: propsConfig, t, isDisabled }) => {\n const { data: cities, isLoading } = Digit.Hooks.useTenants();\n const { data: storeData, isLoading: isStoreLoading } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const [showToast, setShowToast] = useState(null);\n const [disable, setDisable] = useState(false);\n\n const navigate = useNavigate();\n\n const reqCreate = {\n url: `/tenant-management/tenant/_create`,\n params: {},\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const onLogin = async (data) => {\n await mutation.mutate(\n {\n body: {\n tenant: {\n name: data.accountName,\n email: data.email,\n },\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast({\n key: \"error\",\n label: error?.response?.data?.Errors?.[0]?.code ? `SANDBOX_SIGNUP_${error?.response?.data?.Errors?.[0]?.code}` : `SANDBOX_SIGNUP_ERROR`,\n });\n },\n onSuccess: async (data) => {\n navigate({\n pathname: `/${window?.globalPath}/user/otp`,\n state: { email: data?.Tenants[0]?.email, tenant: data?.Tenants[0]?.code },\n });\n },\n }\n );\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n let config = [{ body: propsConfig?.inputs }];\n\n const { mode } = Digit.Hooks.useQueryParams();\n if (mode === \"admin\" && config?.[0]?.body?.[2]?.disable == false && config?.[0]?.body?.[2]?.populators?.defaultValue == undefined) {\n config[0].body[2].disable = true;\n config[0].body[2].isMandatory = false;\n config[0].body[2].populators.defaultValue = defaultValue;\n }\n\n const onFormValueChange = (setValue, formData, formState) => {\n // Extract keys from the config\n const keys = config[0].body.map((field) => field.key);\n\n const hasEmptyFields = keys.some((key) => {\n const value = formData[key];\n return value == null || value === \"\" || (key === \"check\" && value === false) || (key === \"captcha\" && value === false);\n });\n\n // Set disable based on the check\n setDisable(hasEmptyFields);\n };\n\n return isLoading || isStoreLoading ? (\n <Loader />\n ) : (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <FormComposerV2\n onSubmit={onLogin}\n isDisabled={isDisabled || disable}\n noBoxShadow\n inline\n submitInForm\n config={config}\n label={propsConfig?.texts?.submitButtonLabel}\n secondaryActionLabel={propsConfig?.texts?.secondaryButtonLabel}\n onFormValueChange={onFormValueChange}\n heading={propsConfig?.texts?.header}\n className=\"sandbox-signup-form\"\n cardSubHeaderClassName=\"signupCardSubHeaderClassName\"\n cardClassName=\"signupCardClassName sandbox-onboarding-wrapper\"\n buttonClassName=\"buttonClassName\"\n >\n <Header showTenant={false} />\n </FormComposerV2>\n {showToast && <Toast type={\"error\"} label={t(showToast?.label)} onClose={closeToast} />}\n <div className=\"employee-login-home-footer\" style={{ backgroundColor: \"unset\" }}>\n <img\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nLogin.propTypes = {\n loginParams: PropTypes.any,\n};\n\nLogin.defaultProps = {\n loginParams: null,\n};\n\nexport default Login;\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation } from \"react-router-dom\";\nimport { SignUpConfig as defaultSignUpConfig } from \"./config\";\nimport Login from \"./signUp\";\n\nconst SignUp = ({ stateCode }) => {\n const { t } = useTranslation();\n const [SignUpConfig, setSignUpConfig] = useState(defaultSignUpConfig);\n\n const moduleCode = [\"privacy-policy\"];\n const language = Digit.StoreData.getCurrentLanguage();\n const modulePrefix = \"digit\";\n\n const { data: store } = Digit.Services.useStore({\n stateCode,\n moduleCode,\n language,\n modulePrefix\n });\n\n const { data: mdmsData, isLoading } = Digit.Hooks.useCommonMDMS(\n stateCode,\n \"commonUiConfig\",\n [\"SignUpConfig\"],\n {\n select: (data) => ({\n config: data?.commonUiConfig?.SignUpConfig\n }),\n retry: false\n }\n );\n\n useEffect(() => {\n if (!isLoading && mdmsData?.config) {\n setSignUpConfig(mdmsData.config);\n } else {\n setSignUpConfig(defaultSignUpConfig);\n }\n }, [mdmsData, isLoading]);\n\n const SignUpParams = useMemo(\n () =>\n SignUpConfig.map((step) => {\n const texts = {};\n for (const key in step.texts) {\n texts[key] = t(step.texts[key]);\n }\n return { ...step, texts };\n }),\n [SignUpConfig]\n );\n\n return (\n <Routes>\n <Route\n path=\"\"\n element={<Login config={SignUpParams[0]} t={t} />}\n />\n </Routes>\n );\n};\n\nexport default SignUp;\n","import React, { useRef, useState, useEffect } from \"react\";\nimport { BackLink, Button, Card, CardHeader, CardLabel, CardText, FieldV1, SVG, TextInput } from \"@egovernments/digit-ui-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport Background from \"../../../components/Background\";\nimport Header from \"../../../components/Header\";\nimport ImageComponent from \"../../../components/ImageComponent\";\n\nconst ViewUrl = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { tenant } = location.state || {};\n const ref = useRef(null);\n const getUserRoles = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const [buttonDisabled, setButtonDisabled] = useState(true);\n const { data: MdmsRes } = Digit.Hooks.useCustomMDMS(\n tenant,\n \"SandBoxLanding\",\n [\n {\n name: \"LandingPageRoles\",\n },\n ],\n {\n enabled: true,\n staleTime:0,\n gcTime:0,\n select: (data) => {\n return data?.[\"SandBoxLanding\"]?.[\"LandingPageRoles\"];\n },\n }\n );\n\n useEffect(() => {\n if (MdmsRes?.[0].url) {\n setButtonDisabled(false);\n }\n }, [MdmsRes]);\n\n const RoleLandingUrl = MdmsRes?.[0].url;\n\n const roleForLandingPage = (getUserRoles, MdmsRes) => {\n const userRole = getUserRoles?.[0]?.code;\n return userRole === \"SUPERUSER\" && MdmsRes.some((page) => page.rolesForLandingPage.includes(\"SUPERUSER\"));\n };\n\n const onButtonClick = () => {\n if (roleForLandingPage(getUserRoles, MdmsRes)) {\n window.location.href = `/${window?.globalPath}/${tenant}${RoleLandingUrl}`;\n } else {\n window.location.href = `/${window?.globalPath}/${tenant}/employee`;\n }\n };\n\n const handleCopyUrl = () => {\n navigator.clipboard.writeText(ref.current.value);\n };\n\n return (\n <Background>\n <div className=\"employeeBackbuttonAlign\">\n <BackLink onClick={() => window.history.back()} />\n </div>\n <Card className=\"card-sandbox\">\n <Header showTenant={false} />\n <div className=\"sandbox-success-signup\">\n <SVG.TickMark fill={\"#fff\"} height={30} width={70} />\n </div>\n <CardHeader className=\"cardHeader-sandbox\" styles={{ color: \"#00703c\" }}>\n {t(\"SANDBOX_HEADER\")}\n </CardHeader>\n <CardText className=\"cardText-sandbox\">{t(\"SAMDBOX_URL_SUB\")}</CardText>\n <CardLabel> {t(\"SANDBOX_URL\")} </CardLabel>\n <div className=\"sandbox-url-wrapper\">\n <TextInput\n inputRef={ref}\n className={\"urlInputText\"}\n onChange={() => {}}\n nonEditable={true}\n value={`${window.location.host}/${window?.globalPath}/${tenant}/employee`}\n />\n <Button className=\"copyButton\" variation={\"secondary\"} onClick={() => handleCopyUrl()} label={t(\"COPY_URL\")}></Button>\n </div>\n <div className=\"sandbox-url-footer\">{t(\"SANDBOX_URL_FOOT\")}</div>\n <Button isDisabled={buttonDisabled} onClick={onButtonClick} label={t(\"SIGN_IN\")}></Button>\n </Card>\n <div className=\"EmployeeLoginFooter\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER_BW\")}\n style={{ cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </Background>\n );\n};\n\nexport default ViewUrl;\n","import React from \"react\";\nimport { Routes, Route, Navigate, useLocation } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\nimport DynamicModuleLoader from \"./DynamicModuleLoader\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-change-password\" */ \"../pages/employee/ChangePassword/index\"),\n () => require(\"../pages/employee/ChangePassword/index\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-forgot-password\" */ \"../pages/employee/ForgotPassword/index\"),\n () => require(\"../pages/employee/ForgotPassword/index\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst AppHome = lazyWithFallback(\n () => import(/* webpackChunkName: \"app-home\" */ \"./Home\").then(module => ({ default: module.AppHome })),\n () => require(\"./Home\").AppHome,\n { loaderText: \"CORE_LOADING_HOME\" }\n);\n\nconst getTenants = (codes, tenants) => {\n return tenants.filter((tenant) => codes?.map?.((item) => item.code).includes(tenant.code));\n};\n\nexport const AppModules = ({ stateCode, userType, modules, appTenants, additionalComponent }) => {\n const location = useLocation();\n const user = Digit.UserService.getUser();\n\n if (!user || !user?.access_token || !user?.info) {\n return <Navigate to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }} replace />;\n }\n\n // Create app routes with dynamic module loading and loading states\n const appRoutes = modules?.map(({ code, tenants }, index) => {\n return (\n <Route\n key={index}\n path={`${code.toLowerCase()}/*`}\n element={\n <DynamicModuleLoader\n moduleCode={code}\n stateCode={stateCode}\n userType={userType}\n tenants={getTenants(tenants, appTenants)}\n maxRetries={3}\n retryDelay={1000}\n initialDelay={800}\n />\n }\n />\n );\n });\n\n return (\n <div className=\"ground-container digit-home-ground\">\n <Routes>\n {appRoutes}\n <Route\n path=\"login\"\n element={\n <Navigate\n to={{ pathname: `/${window?.contextPath}/${userType}/user/login`, state: { from: location.pathname + location.search } }}\n replace\n />\n }\n />\n <Route path=\"forgot-password\" element={<ForgotPassword />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"*\"\n element={\n <AppHome\n userType={userType}\n modules={modules}\n additionalComponent={additionalComponent}\n />\n }\n />\n </Routes>\n </div>\n );\n};","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Routes, Route, useLocation, useNavigate, Navigate } from \"react-router-dom\";\nimport { AppModules } from \"../../components/AppModules\";\nimport ErrorBoundary from \"../../components/ErrorBoundaries\";\nimport TopBarSideBar from \"../../components/TopBarSideBar\";\nimport { PrivateRoute } from \"@egovernments/digit-ui-components\";\nimport ImageComponent from \"../../components/ImageComponent\";\nimport withAutoFocusMain from \"../../hoc/withAutoFocusMain\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst ChangePassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-change-password\" */ \"./ChangePassword\"),\n () => require(\"./ChangePassword\").default,\n { loaderText: \"CORE_LOADING_CHANGE_PASSWORD\" }\n);\n\nconst ForgotPassword = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-forgot-password\" */ \"./ForgotPassword\"),\n () => require(\"./ForgotPassword\").default,\n { loaderText: \"CORE_LOADING_FORGOT_PASSWORD\" }\n);\n\nconst LanguageSelection = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-language-selection\" */ \"./LanguageSelection\"),\n () => require(\"./LanguageSelection\").default,\n { loaderText: \"CORE_LOADING_LANGUAGE_SELECTION\" }\n);\n\nconst EmployeeLogin = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-login\" */ \"./Login\"),\n () => require(\"./Login\").default,\n { loaderText: \"CORE_LOADING_LOGIN\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-otp\" */ \"./Otp\"),\n () => require(\"./Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst UserProfile = lazyWithFallback(\n () => import(/* webpackChunkName: \"user-profile\" */ \"../citizen/Home/UserProfile\"),\n () => require(\"../citizen/Home/UserProfile\").default,\n { loaderText: \"CORE_LOADING_USER_PROFILE\" }\n);\n\nconst ErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"error-component\" */ \"../../components/ErrorComponent\"),\n () => require(\"../../components/ErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst userScreensExempted = [\"user/landing\", \"user/profile\", \"user/error\", \"user/productPage\"];\n\nconst EmployeeApp = ({\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname, // This prop seems unused, consider removing\n initData,\n noTopBar = false,\n}) => {\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const showLanguageChange = location?.pathname?.includes(\"language-selection\");\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n\n useEffect(() => {\n Digit.UserService.setType(\"employee\");\n }, []);\n\n const additionalComponent = initData?.modules?.filter((i) => i?.additionalComponent)?.map((i) => i?.additionalComponent);\n\n return (\n <div className=\"employee\">\n <Routes>\n <Route path=\"user/*\" element={\n <>\n {isUserProfile && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n showSidebar={isUserProfile ? true : false}\n showLanguageChange={!showLanguageChange}\n />\n )}\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile\n ? { padding: 0, paddingTop: \"0\", marginLeft: mobileView ? \"0\" : \"0\" }\n : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path=\"login\" element={<EmployeeLogin stateCode={stateCode} />} />\n <Route path=\"login/otp\" element={<Otp isLogin={true} />} />\n <Route path=\"forgot-password\" element={<ForgotPassword stateCode={stateCode} />} />\n <Route path=\"change-password\" element={<ChangePassword />} />\n <Route\n path=\"profile\"\n element={ <UserProfile stateCode={stateCode} userType={\"employee\"} cityDetails={cityDetails} />}\n />\n <Route\n path=\"error\"\n element={\n <ErrorComponent\n initData={initData}\n goToHome={() => {\n navigate(`/${window?.contextPath}/${Digit?.UserService?.getType?.()}`);\n }}\n />\n }\n />\n <Route path=\"language-selection\" element={<LanguageSelection />} />\n <Route path=\"*\" element={<Navigate to=\"language-selection\" replace />} />\n </Routes>\n </div>\n </>}\n />\n\n <Route path=\"*\" element={\n <>\n {!noTopBar && (\n <TopBarSideBar\n t={t}\n stateInfo={stateInfo}\n userDetails={userDetails}\n CITIZEN={CITIZEN}\n cityDetails={cityDetails}\n mobileView={mobileView}\n handleUserDropdownSelection={handleUserDropdownSelection}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n modules={modules}\n />\n )}\n <div className={!noTopBar ? `main digit-home-main` : \"\"}>\n <div className=\"employee-app-wrapper digit-home-app-wrapper\">\n <ErrorBoundary initData={initData}>\n <AppModules\n stateCode={stateCode}\n userType=\"employee\"\n modules={modules}\n appTenants={appTenants}\n additionalComponent={additionalComponent}\n />\n </ErrorBoundary>\n </div>\n <div className=\"employee-home-footer\">\n <ImageComponent\n alt=\"Powered by DIGIT\"\n src={window?.globalConfigs?.getConfig?.(\"DIGIT_FOOTER\")}\n style={{ height: \"1.1em\", cursor: \"pointer\" }}\n onClick={() => {\n window.open(window?.globalConfigs?.getConfig?.(\"DIGIT_HOME_URL\"), \"_blank\").focus();\n }}\n />\n </div>\n </div>\n </>\n }/>\n\n <Route path=\"*\" element={<Navigate to={`user/language-selection`} replace />} />\n </Routes>\n </div>\n );\n};\n\nexport default withAutoFocusMain(EmployeeApp, \".digit-home-main\");","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n'use strict';\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n","'use strict';\n\nvar staticMatch = require('css-mediaquery').match;\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values, forceStatic){\n var self = this;\n var mql;\n\n // matchMedia will return null in FF when it's called in a hidden iframe\n // ref: https://stackoverflow.com/a/12330568\n if(dynamicMatch && !forceStatic) mql = dynamicMatch.call(window, query);\n\n if (mql) {\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values, forceStatic){\n return new Mql(query, values, forceStatic);\n}\n\nmodule.exports = matchMedia;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/* 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","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6243__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5053__;","module.exports = __WEBPACK_EXTERNAL_MODULE__338__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4456__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4883__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5953__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2148__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4442__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1954__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2247__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React from \"react\";\nimport { Routes, Route, useLocation, useNavigate } from \"react-router-dom\";\nimport { Navigate } from \"react-router-dom\";\nimport { lazyWithFallback } from \"@egovernments/digit-ui-components\";\n\n// Create lazy components with fallbacks using the utility\nconst CitizenApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"citizen-app\" */ \"./pages/citizen\"),\n () => require(\"./pages/citizen\").default,\n { loaderText: \"CORE_LOADING_CITIZEN_APP\" }\n);\n\nconst EmployeeApp = lazyWithFallback(\n () => import(/* webpackChunkName: \"employee-app\" */ \"./pages/employee\"),\n () => require(\"./pages/employee\").default,\n { loaderText: \"CORE_LOADING_EMPLOYEE_APP\" }\n);\n\nconst SignUp = lazyWithFallback(\n () => import(/* webpackChunkName: \"sign-up\" */ \"./pages/employee/SignUp\"),\n () => require(\"./pages/employee/SignUp\").default,\n { loaderText: \"CORE_LOADING_SIGN_UP\" }\n);\n\nconst Otp = lazyWithFallback(\n () => import(/* webpackChunkName: \"otp\" */ \"./pages/employee/Otp\"),\n () => require(\"./pages/employee/Otp\").default,\n { loaderText: \"CORE_LOADING_OTP\" }\n);\n\nconst ViewUrl = lazyWithFallback(\n () => import(/* webpackChunkName: \"view-url\" */ \"./pages/employee/ViewUrl\"),\n () => require(\"./pages/employee/ViewUrl\").default,\n { loaderText: \"CORE_LOADING_VIEW_URL\" }\n);\n\nconst CustomErrorComponent = lazyWithFallback(\n () => import(/* webpackChunkName: \"custom-error\" */ \"./components/CustomErrorComponent\"),\n () => require(\"./components/CustomErrorComponent\").default,\n { loaderText: \"CORE_LOADING_ERROR_COMPONENT\" }\n);\n\nconst DummyLoaderScreen = lazyWithFallback(\n () => import(/* webpackChunkName: \"dummy-loader\" */ \"./components/DummyLoader\"),\n () => require(\"./components/DummyLoader\").default,\n { loaderText: \"CORE_LOADING\" }\n);\n\nexport const DigitApp = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\", allowedUserTypes = [\"citizen\", \"employee\"] }) => {\n const navigate = useNavigate();\n const { pathname } = useLocation();\n const innerWidth = window.innerWidth;\n const cityDetails = Digit.ULBService.getCurrentUlb();\n const userDetails = Digit.UserService.getUser();\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n\n if (window.location.pathname.split(\"/\").includes(\"employee\")) CITIZEN = false;\n\n const handleUserDropdownSelection = (option) => {\n option.func();\n };\n\n const mobileView = innerWidth <= 640;\n let sourceUrl = `${window.location.origin}/citizen`;\n const commonProps = {\n stateInfo,\n userDetails,\n CITIZEN,\n cityDetails,\n mobileView,\n handleUserDropdownSelection,\n logoUrl,\n logoUrlWhite,\n DSO,\n stateCode,\n modules,\n appTenants,\n sourceUrl,\n pathname,\n initData,\n };\n\n return (\n <Routes>\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/employee/*`} element={<EmployeeApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"citizen\") && (\n <Route path={`/${window?.contextPath}/citizen/*`} element={<CitizenApp {...commonProps} />} />\n )}\n {allowedUserTypes?.includes(\"employee\") && (\n <Route path={`/${window?.contextPath}/no-top-bar/employee`} element={<EmployeeApp {...commonProps} noTopBar />} />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.contextPath}/${defaultLanding}`} />} />\n </Routes>\n );\n};\n\nexport const DigitAppWrapper = ({ stateCode, modules, appTenants, logoUrl, logoUrlWhite, initData, defaultLanding = \"citizen\" ,allowedUserTypes}) => {\n // const globalPath = window?.globalConfigs?.getConfig(\"CONTEXT_PATH\") || \"digit-ui\";\n const { data: storeData } = Digit.Hooks.useStore.getInitData();\n const { stateInfo } = storeData || {};\n const userScreensExempted = [\"user/error\"];\n const isUserProfile = userScreensExempted.some((url) => location?.pathname?.includes(url));\n const userDetails = Digit.UserService.getUser();\n let CITIZEN = userDetails?.info?.type === \"CITIZEN\" || !window.location.pathname.split(\"/\").includes(\"employee\") ? true : false;\n const innerWidth = window.innerWidth;\n const mobileView = innerWidth <= 640;\n\n return (\n <div\n className={isUserProfile ? \"grounded-container\" : \"loginContainer\"}\n style={\n isUserProfile ? { padding: 0, paddingTop: CITIZEN ? \"0\" : mobileView && !CITIZEN ? \"3rem\" : \"80px\", marginLeft: CITIZEN || mobileView ? \"0\" : \"40px\" } : { \"--banner-url\": `url(${stateInfo?.bannerUrl})`, padding: \"0px\" }\n }\n >\n <Routes>\n <Route path={`/${window?.globalPath}/user/invalid-url`} element={<CustomErrorComponent />} />\n <Route path={`/${window?.globalPath}/user/sign-up`} element={<SignUp stateCode={stateCode} />} />\n <Route path={`/${window?.globalPath}/user/otp`} element={<Otp />} />\n <Route path={`/${window?.globalPath}/user/setup`} element={<DummyLoaderScreen />} />\n <Route path={`/${window?.globalPath}/user/url`} element={<ViewUrl />} />\n {window?.globalPath !== window?.contextPath && (\n <Route\n path={`/${window?.contextPath}/*`}\n element={\n <DigitApp\n stateCode={stateCode}\n modules={modules}\n appTenants={appTenants}\n logoUrl={logoUrl}\n logoUrlWhite={logoUrlWhite}\n initData={initData}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n }\n />\n )}\n <Route path=\"*\" element={<Navigate to={`/${window?.globalPath}/user/sign-up`} />} />\n </Routes>\n </div>\n );\n};","import { applyMiddleware, combineReducers, compose, createStore } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport { commonReducer } from \"./reducers\";\n\nconst getRootReducer = (defaultStore, moduleReducers) =>\n combineReducers({\n common: commonReducer(defaultStore),\n ...moduleReducers,\n });\n\nconst middleware = [thunk];\n\nconst composeEnhancers =\n process.env.NODE_ENV === 'development' && typeof window === \"object\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ \n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) \n : compose;\n\nconst enhancer = composeEnhancers(\n applyMiddleware(...middleware)\n // other store enhancers if any\n);\n\nconst getStore = (defaultStore, moduleReducers = {}) => {\n return createStore(getRootReducer(defaultStore, moduleReducers), enhancer);\n};\nexport default getStore;\n","export const commonReducer = (defaultData) => (state = defaultData, action) => {\n switch (action.type) {\n case \"LANGUAGE_SELECT\":\n return { ...state, selectedLanguage: action.payload };\n default:\n return state;\n }\n};\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nimport { LinkButton } from \"@egovernments/digit-ui-react-components\";\n\nconst PrivacyComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const [isChecked, setIsChecked] = useState(false);\n const [showPopUp, setShowPopUp] = useState(false);\n const moduleName=Digit.Utils.getConfigModuleName();\n \n const { data: privacy } = Digit.Hooks.useCustomMDMS(tenantId, moduleName, [{ name: \"PrivacyPolicy\" }], {\n select: (data) => {\n const filteredPrivacyPolicy = data?.[moduleName]?.PrivacyPolicy?.find(policy => policy.module === props?.props?.module);\n return filteredPrivacyPolicy;\n },\n });\n const handleCheckboxChange = (event) => {\n setIsChecked(event.target.checked);\n };\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClick = () => {\n setShowPopUp(true);\n };\n\n const handleScrollToElement = (id) => {\n const element = document.getElementById(id);\n if (element) {\n element.scrollIntoView({ behavior: \"smooth\" });\n }\n };\n\n return (\n <React.Fragment>\n <div className=\"digit-privacy-checkbox digit-privacy-checkbox-align\">\n <CheckBox label={t(\"ES_BY_CLICKING\")} checked={isChecked} onChange={handleCheckboxChange} id={\"privacy-component-check\"}></CheckBox>\n <Button\n label={t(`ES_PRIVACY_POLICY`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClick}\n // isSuffix={true}\n style={{ marginBottom: \"1rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n </div>\n {showPopUp && (\n <PopUp\n type={\"default\"}\n className={\"privacy-popUpClass\"}\n footerclassName={\"popUpFooter\"}\n heading={t(privacy?.header)}\n onOverlayClick={() => {\n setShowPopUp(false);\n }}\n footerChildren={[\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"secondary\"}\n label={t(\"DIGIT_I_DO_NOT_ACCEPT\")}\n onClick={() => {\n setIsChecked(false), setShowPopUp(false);\n }}\n />,\n <Button\n type={\"button\"}\n size={\"large\"}\n variation={\"primary\"}\n label={t(\"DIGIT_I_ACCEPT\")}\n className={\"accept-class\"}\n onClick={() => {\n setIsChecked(true), setShowPopUp(false);\n }}\n />,\n ]}\n sortFooterChildren={true}\n onClose={() => {\n setShowPopUp(false);\n }}\n >\n <div>\n <div className=\"privacy-table\">{t(\"DIGIT_TABLE_OF_CONTENTS\")}</div>\n <ul>\n {privacy?.contents.map((content, index) => (\n <li key={index} style={{ display: \"flex\", alignItems: \"center\" }}>\n <span style={{ marginRight: \"0.5rem\" }}>{index + 1}. </span>\n <Button\n label={t(content.header)}\n variation={\"link\"}\n size={\"medium\"}\n onClick={(e) => {\n e.preventDefault();\n handleScrollToElement(content?.header);\n }}\n style={{justifyContent: \"flex-start\"}}\n ></Button>\n </li>\n ))}\n </ul>\n </div>\n {privacy?.contents.map((content, index) => (\n <div key={index} id={content?.header}>\n <div\n style={{\n fontWeight: 'bold',\n paddingLeft: content?.isSpaceRequired ? \"1rem\" : \"0\",\n }}\n >\n {t(content.header)}\n </div>\n {content.descriptions.map((description, subIndex) => (\n <div key={subIndex} style={{ paddingLeft: description.isSpaceRequired ? \"1rem\" : \"0\" , marginBottom: '0.5rem'}}>\n <div\n style={{\n fontWeight: description?.isBold ? 700 : 400,\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n {description.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' }}>•</span>\n )}\n {description.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' }}>{subIndex + 1}. </span>\n )}\n {t(description.text)}\n </div>\n {description?.subDescriptions && description?.subDescriptions.length > 0 && (\n <div className=\"policy-subdescription\">\n {description.subDescriptions.map((subDesc, subSubIndex) => (\n <div key={subSubIndex} className=\"policy-subdescription-points\">\n {subDesc.type === 'points' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'disc' , paddingLeft: '1rem'}}>•</span>\n )}\n {subDesc.type === 'step' && (\n <span style={{ marginRight: '0.5rem', listStyleType: 'decimal' , paddingLeft: '1rem'}}>{subSubIndex + 1}. </span>\n )}\n {subDesc.type === null && (\n <span style={{ marginRight: '0.5rem', paddingLeft: '1rem'}}> </span>\n )}\n {t(subDesc.text)}\n </div>\n ))}\n </div>\n )}\n </div>\n ))}\n </div>\n ))}\n </PopUp>\n )}\n </React.Fragment>\n );\n};\n\nexport default PrivacyComponent;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Button } from \"@egovernments/digit-ui-components\";\n\nconst ForgotOrganizationTooltip = ({ onSelect }) => {\n const { t } = useTranslation();\n const [showTip, setShowTip] = useState(false);\n const wrapperRef = useRef(null);\n\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {\n setShowTip(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, []);\n return (\n <div ref={wrapperRef} className=\"loginSignUpSelector\" style={{ position: \"relative\", marginTop: \"-2rem\" }}>\n <Button\n label={t(`SB_FORGOTORGANIZATION_TOOLTIP`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={() => setShowTip((prev) => !prev)}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n {showTip && (\n <div\n style={{\n position: \"absolute\",\n bottom: \"100%\",\n left: \"50%\",\n transform: \"translateY(-4px)\",\n backgroundColor: \"#0b4b66\",\n color: \"white\",\n padding: \"6px 10px\",\n borderRadius: \"4px\",\n whiteSpace: \"normal\",\n wordBreak: \"break-word\",\n maxWidth: \"20rem\",\n zIndex: 1000,\n fontSize: \"0.875rem\"\n }}\n >\n {t(\"SB_FORGOTORGANIZATION_TOOLTIP_TEXT\")}\n </div>\n )}\n </div>\n );\n};\n\nexport default ForgotOrganizationTooltip;\n","import React from \"react\";\nimport { Button } from \"@egovernments/digit-ui-components\";\n\nconst EmployeeSSOLoginOptions = ({ t, props }) => {\n const { ssoConfigs = [] } = props || {};\n\n if (!ssoConfigs?.length) {\n return null;\n }\n\n const hasMultipleOptions = ssoConfigs.length > 1;\n\n return (\n <div className=\"employee-login-sso\">\n <div className=\"employee-login-sso-divider\">\n <span>{hasMultipleOptions ? t(\"CORE_COMMON_OR_SIGN_IN_WITH\") : t(\"CORE_COMMON_OR\")}</span>\n </div>\n {hasMultipleOptions ? (\n <div className=\"employee-login-sso-icons\">\n {ssoConfigs.map((sso, index) => (\n <Button\n key={sso.id || sso.provider || index}\n label=\"\"\n variation=\"secondary\"\n size=\"large\"\n icon={sso.icon}\n className={`employee-login-sso-icon ${sso.provider?.toLowerCase() || \"provider\"}-login-icon`}\n onClick={() => sso.onLogin?.(sso)}\n title={t(sso.label)}\n ariaLabel={t(sso.label)}\n style={{width:\"100%\"}}\n />\n ))}\n </div>\n ) : (\n ssoConfigs.map((sso, index) => (\n <Button\n key={sso.id || sso.provider || index}\n label={t(sso.label)}\n variation=\"primary\"\n size=\"large\"\n icon={sso.icon}\n className={`employee-login-sso-button ${sso.provider?.toLowerCase() || \"provider\"}-login-btn`}\n onClick={() => sso.onLogin?.(sso)}\n style={{width:\"100%\"}}\n />\n ))\n )}\n </div>\n );\n};\n\nexport default EmployeeSSOLoginOptions;\n","import { BodyContainer } from \"@egovernments/digit-ui-components\";\nimport { Loader } from \"@egovernments/digit-ui-components\";\nimport React from \"react\";\nimport { getI18n } from \"react-i18next\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { Provider } from \"react-redux\";\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport { DigitApp, DigitAppWrapper } from \"./App\";\nimport SelectOtp from \"./pages/citizen/Login/SelectOtp\";\nimport ChangeCity from \"./components/ChangeCity\";\nimport ChangeLanguage from \"./components/ChangeLanguage\";\nimport { useState, useMemo, useCallback } from \"react\";\nimport ErrorBoundary from \"./components/ErrorBoundaries\";\nimport getStore from \"./redux/store\";\nimport PrivacyComponent from \"./components/PrivacyComponent\";\nimport OtpComponent from \"./pages/employee/Otp/OtpCustomComponent\";\nimport LoginSignupSelector from \"./components/LoginSignupSelector\";\nimport ForgotOrganizationTooltip from \"./components/ForgotOrganizationTooltip\";\nimport EmployeeSSOLoginOptions from \"./components/EmployeeSSOLoginOptions\";\n\n// Create QueryClient instance outside component to prevent recreation\nconst createQueryClient = () => new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 15 * 60 * 1000,\n gcTime: 50 * 60 * 1000,\n retry: false,\n retryDelay: (attemptIndex) => Infinity,\n /*\n enable this to have auto retry incase of failure\n retryDelay: attemptIndex => Math.min(1000 * 3 ** attemptIndex, 60000)\n */\n },\n },\n});\n\nconst DigitUIWrapper = ({ stateCode, enabledModules, defaultLanding,allowedUserTypes }) => {\n const { isLoading, data: initData={} } = Digit.Hooks.useInitStore(stateCode, enabledModules);\n if (isLoading) {\n return <Loader page={true} variant={\"PageLoader\"} />;\n }\n const data=getStore(initData) || {};\n const i18n = getI18n();\n if(!Digit.ComponentRegistryService.getComponent(\"PrivacyComponent\")){\n Digit.ComponentRegistryService.setComponent(\"PrivacyComponent\", PrivacyComponent);\n }\n if(!Digit.ComponentRegistryService.getComponent(\"EmployeeSSOLoginOptions\")){\n Digit.ComponentRegistryService.setComponent(\"EmployeeSSOLoginOptions\", EmployeeSSOLoginOptions);\n }\n return (\n <Provider store={data}>\n <Router>\n <BodyContainer>\n {Digit.Utils.getMultiRootTenant() ? (\n <DigitAppWrapper\n initData={initData}\n stateCode={stateCode}\n modules={initData?.modules}\n appTenants={initData.tenants}\n logoUrl={initData?.stateInfo?.logoUrl}\n logoUrlWhite={initData?.stateInfo?.logoUrlWhite}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n ) : (\n <DigitApp\n initData={initData}\n stateCode={stateCode}\n modules={initData?.modules}\n appTenants={initData.tenants}\n logoUrl={initData?.stateInfo?.logoUrl}\n defaultLanding={defaultLanding}\n allowedUserTypes={allowedUserTypes}\n />\n )}\n </BodyContainer>\n </Router>\n </Provider>\n );\n};\n\n/**\n * DigitUI Component - The main entry point for the UI.\n *\n * @param {Object} props - The properties passed to the component.\n * @param {string} props.stateCode - The state code for the application.\n * @param {Object} props.registry - The registry object containing components registrations.\n * @param {Array<string>} props.enabledModules - A list of enabled modules, if any modules to be disabled due to some condition.\n * @param {Object} props.moduleReducers - Reducers associated with enabled modules.\n * @param {string} props.defaultLanding - The default landing page (e.g., \"employee\", \"citizen\"), default is citizen.\n * @param {Array<string>} props.allowedUserTypes - A list of allowed user types (e.g., [\"employee\", \"citizen\"]) if any restriction to be applied, and default is both employee & citizen.\n * \n * @author jagankumar-egov\n *\n * @example\n * <DigitUI\n * stateCode=\"pg\"\n * registry={registry}\n * enabledModules={[\"Workbench\", \"PGR\"]}\n * defaultLanding=\"employee\"\n * allowedUserTypes={[\"employee\", \"citizen\"]}\n * moduleReducers={moduleReducers}\n * />\n */\nexport const DigitUI = ({ stateCode, registry, enabledModules, defaultLanding,allowedUserTypes }) => {\n // Memoize initial privacy state to prevent unnecessary re-renders\n const initialPrivacy = useMemo(() => Digit.Utils.getPrivacyObject() || {}, []);\n const [privacy, setPrivacy] = useState(initialPrivacy);\n \n const userType = Digit.UserService.getType();\n \n // Use memoized QueryClient to prevent recreation on every render\n const queryClient = useMemo(() => createQueryClient(), []);\n\n const ComponentProvider = Digit.Contexts.ComponentProvider;\n const PrivacyProvider = Digit.Contexts.PrivacyProvider;\n\n const DSO = Digit.UserService.hasAccess([\"FSM_DSO\"]);\n\n // Memoize privacy context methods to prevent unnecessary re-renders\n const resetPrivacy = useCallback((_data) => {\n Digit.Utils.setPrivacyObject({});\n setPrivacy({});\n }, []);\n\n const getPrivacy = useCallback(() => {\n const privacyObj = Digit.Utils.getPrivacyObject();\n setPrivacy(privacyObj);\n return privacyObj;\n }, []);\n\n const updatePrivacyDescoped = useCallback((_data) => {\n const privacyObj = Digit.Utils.getAllPrivacyObject();\n // Safely access pathname with fallback\n const pathname = typeof window !== 'undefined' ? window.location.pathname : '';\n const newObj = { ...privacyObj, [pathname]: _data };\n Digit.Utils.setPrivacyObject({ ...newObj });\n setPrivacy(privacyObj?.[pathname] || {});\n }, []);\n\n const updatePrivacy = useCallback((uuid, fieldName) => {\n setPrivacy(Digit.Utils.updatePrivacy(uuid, fieldName) || {});\n }, []);\n\n // Memoize privacy context value to prevent unnecessary re-renders\n const privacyContextValue = useMemo(() => ({\n privacy: typeof window !== 'undefined' ? privacy?.[window.location.pathname] : privacy,\n resetPrivacy,\n getPrivacy,\n updatePrivacyDescoped,\n updatePrivacy,\n }), [privacy, resetPrivacy, getPrivacy, updatePrivacyDescoped, updatePrivacy]);\n\n return (\n <div>\n <ErrorBoundary>\n <QueryClientProvider client={queryClient}>\n <ComponentProvider.Provider value={registry}>\n <PrivacyProvider.Provider value={privacyContextValue}>\n <DigitUIWrapper stateCode={stateCode} enabledModules={enabledModules} defaultLanding={defaultLanding} allowedUserTypes={allowedUserTypes} />\n </PrivacyProvider.Provider>\n </ComponentProvider.Provider>\n </QueryClientProvider>\n </ErrorBoundary>\n </div>\n );\n};\n\nconst componentsToRegister = {\n SelectOtp,\n ChangeCity,\n ChangeLanguage,\n PrivacyComponent,\n OtpComponent,\n ForgotOrganizationTooltip,\n LoginSignupSelector,\n EmployeeSSOLoginOptions\n};\n\nexport const initCoreComponents = () => {\n // Ensure hooks introduced in newer libraries versions are always available.\n // Old deployments (e.g. digit-ui-libraries@1.8.8) won't have useSSOConfig,\n // so we register a no-op fallback so login.js never crashes with \"not a function\".\n if (!Digit.Hooks.useSSOConfig) {\n Digit.Hooks.useSSOConfig = () => ({ data: [], isLoading: false });\n }\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n","import React, { Fragment, useState } from \"react\";\nimport { CardText, CardLabelError, Toast, CardLabel } from \"@egovernments/digit-ui-components\";\nimport { OTPInput } from \"@egovernments/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport useInterval from \"../../../hooks/useInterval\";\nimport Background from \"../../../components/Background\";\nimport { useEffect } from \"react\";\n\nconst OtpComponent = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const [showToast, setShowToast] = useState(null);\n const [params, setParams] = useState({});\n const [isOtpValid, setIsOtpValid] = useState(true);\n const [timeLeft, setTimeLeft] = useState(30);\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n useInterval(\n () => {\n setTimeLeft(timeLeft - 1);\n },\n timeLeft > 0 ? 1000 : null\n );\n\n const handleOtpChange = (otp) => {\n setParams({ ...params, otp });\n };\n\n useEffect(() => {\n onSelect(\"OtpComponent\", params);\n }, [params]);\n\n const reqCreate = {\n url: `/user-otp/v1/_send`,\n params: { tenantId: props?.props?.code },\n body: {},\n config: {\n enable: false,\n },\n };\n const mutation = Digit.Hooks.useCustomAPIMutationHook(reqCreate);\n\n const resendOtp = async () => {\n setTimeLeft(30);\n await mutation.mutate(\n {\n body: {\n \"otp\": {\n \"userName\": props?.props?.email,\n \"type\": \"login\",\n \"tenantId\": props?.props?.tenant,\n \"userType\": \"EMPLOYEE\"\n }\n },\n config: {\n enable: true,\n },\n },\n {\n onError: (error, variables) => {\n setShowToast({\n key: \"error\",\n label: error?.response?.data?.Errors?.[0].code\n ? `SANDBOX_RESEND_OTP${error?.response?.data?.Errors?.[0]?.code}`\n : `SANDBOX_RESEND_OTP_ERROR`,\n });\n setTimeout(closeToast, 5000);\n },\n onSuccess: async (data) => {\n setShowToast({ key: \"info\", label: t(\"OTP_RESNED_SUCCESFULL\") });\n setTimeout(closeToast, 5000);\n },\n }\n );\n };\n\n return (\n <>\n <CardLabel className={\"sandbox-custom-otp-subheader\"}>{t(\"SANDBOX_ENTER_OTP\")}</CardLabel>\n <CardLabel className={\"sandbox-custom-otp-header\"} >{t(\"CS_OTP_EMAIL\")}</CardLabel>\n <CardLabel className={\"sandbox-custom-otp-email\"} style={{fontWeight: 'bold'}}>{props?.props?.email}</CardLabel>\n <OTPInput className={\"sandbox-otp-input\"} length={6} onChange={handleOtpChange} value={params?.otp} />\n {timeLeft > 0 ? (\n <CardText className={\"sandbox-resend-otp\"}>{`${t(\"CS_RESEND_ANOTHER_OTP\")} ${timeLeft} ${t(\"CS_RESEND_SECONDS\")}`}</CardText>\n ) : (\n <p className=\"card-text-button sandbox-otp-input\" onClick={resendOtp}>\n {t(\"CS_RESEND_OTP\")}\n </p>\n )}\n {!isOtpValid && <CardLabelError>{t(\"CS_INVALID_OTP\")}</CardLabelError>}\n {showToast && <Toast type={showToast?.key} label={t(showToast?.label)} onClose={closeToast} />}\n </>\n );\n};\n\nexport default OtpComponent;\n","import React, { useState, useEffect, Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { CheckBox, PopUp, Button, HeaderComponent } from \"@egovernments/digit-ui-components\";\nconst LoginSignupSelector = ({ onSelect, formData, control, formState, ...props }) => {\n const { t } = useTranslation();\n const [isChecked, setIsChecked] = useState(true);\n\n\n useEffect(() => {\n onSelect(\"check\", isChecked);\n }, [isChecked]);\n const onButtonClickLogin = () => {\n window.location.replace(`/${window?.contextPath}/user/login`);\n };\n\n const onButtonClickSignUP = () => {\n window.location.replace(`/${window?.contextPath}/user/sign-up`);\n };\n\n const isSignupPage = window.location.href.includes(\"sandbox-ui/user/sign-up\");\n return (\n <React.Fragment>\n <div className=\"loginSignUpSelector\" style={{ marginTop: '-2rem' }}>\n {\n isSignupPage ?\n <Button\n label={t(`SB_ALREADY_HAVE_ACCOUNT`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClickLogin}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button> :\n <Button\n label={t(`SB_DONT_HAVE_ACCOUNT`)}\n variation={\"link\"}\n size={\"small\"}\n onClick={onButtonClickSignUP}\n // isSuffix={true}\n style={{ marginBottom: \"0.5rem\", paddingLeft: \"0.2rem\" }}\n ></Button>\n\n }\n\n </div>\n </React.Fragment>\n );\n};\n\nexport default LoginSignupSelector;\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__6243__","__WEBPACK_EXTERNAL_MODULE__4883__","__WEBPACK_EXTERNAL_MODULE__5953__","__WEBPACK_EXTERNAL_MODULE__4456__","__WEBPACK_EXTERNAL_MODULE__2148__","__WEBPACK_EXTERNAL_MODULE__4442__","__WEBPACK_EXTERNAL_MODULE__338__","__WEBPACK_EXTERNAL_MODULE__5053__","__WEBPACK_EXTERNAL_MODULE__1954__","__WEBPACK_EXTERNAL_MODULE__2247__","__WEBPACK_DEFAULT_EXPORT__","_ref","children","_jsx","className","stringReplaceAll","str","arguments","length","undefined","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","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","ErrorConfig","maintenance","notfound","ModuleBasedErrorConfig","sandbox","_props$errorData","_Digit$Hooks$useQuery2","useQueryParams","ImageComponent","src","alt","_props$errorData2","_props$goToHome","_stateInfo$code","_ref$showTenant","headerSvgSecondaryUrl","globalConfigs","getConfig","logoUrl","borderRight","fontSize","Components","RoleBasedEmployeeHome","modules","additionalComponent","_Object$keys","sortedConfigEmployeesSidebar","_Digit$Hooks$useAcces","useAccessControl","ULBService","getStateId","mdmsOrderData","setMdmsOrderData","_Digit$Hooks$useCusto","_data$HomeScreenOrder","_Digit$Hooks$useCusto2","moduleConfigData","getLinkByType","moduleData","moduleConfig","moduleName","linkKey","links","displayName","getFilteredLinks","_moduleData$links","isNotConfigureMaster","isNotHowItWorks","howItWorksLink","isNotUserManual","userManualLink","configEmployeeSideBar","actions","parentModule","reduce","acc","kpis","icon","leftIcon","iconRender","iconName","iconFill","CustomSVG","digit_ui_components_","locale","getTransformedLocale","linkUrl","_url","transformURL","navigationURL","queryParamIndex","link","queryParams","substring","Object","keys","sort","a","b","_mdmsOrderData$find","_mdmsOrderData$find2","moduleType","order","_configEmployeeSideBa","sortedLinks","linkA","linkB","_mdmsOrderData$find3","_mdmsOrderData$find4","labelA","labelB","sortCardAndLink","current","_sortedConfigEmployee","_moduleData$links2","configureData","howItWorks","userManual","propsForModuleCard","metrics","centreChildren","open","padding","endChildren","LandingPageCard","buttonSize","_Fragment","LandingPageWrapper","child","FaqComponent","question","isLabelLink","answer","content","lastIndex","isOpen","toggleOpen","ListTag","justifyContent","display","float","ArrowForward","CardSectionSubText","listStyleType","margin","fulllink","baseURL","hostname","description","CardC","title","CardSectionHeader","FAQ","key","faqs","width","faq","QuickStart_QuickSetup","_ref3","cardConfig","height","overflowY","flexWrap","id","BreakLine","border","Config","formData","control","formState","_objectWithoutProperties","_excluded","QuickSetup","processLinkData","newData","obj","i18nKey","newObj","reverse","header","dashoardLink","loginLink","_newObj$links","_newObj$links2","hasAccess","iconSelector","PTIcon","WSICon","FSMIcon","MCollectIcon","PGRIcon","TLIcon","OBPSIcon","BillsIcon","CitizenHome","getCitizenMenu","fetchedCitizen","isMobile","browser","parentModules","isApplyLink","toLowerCase","_mdmsDataObj$links","_mdmsDataObj$links2","mdmsDataObj","seenLinks","Set","dedupedLinks","ele","x","y","orderNumber","has","add","borderRadius","Devices","Divider","LinkIcon","handleNavigate","SVG","AddExpense","ListAlt","Boolean","BackLink","history","back","_mdmsDataObj$links3","_mdmsDataObj$links4","handleLinkClick","EmployeeHome","_ref4","Component","AppHome","_ref5","isSuperUserWithMultipleRootTenant","getRoleBasedHomeCard","QuickSetupConfigComponent","_ref$alt","_ref$decorative","decorative","_ref$ariaLabel","ariaLabel","_ref$ariaLabelledby","ariaLabelledby","accessibilityProps","tabIndex","onKeyDown","_window$getConfig","focus","propTypes","PropTypes","isRequired","TopBarSideBar_TopBar","_userDetails$info2","_Digit$ComponentRegis","_userDetails$info3","_userDetails$info4","_window4","_cityDetails$city","_cityDetails$city2","toggleSidebar","isSidebarOpen","handleLogout","userDetails","CITIZEN","cityDetails","userOptions","handleUserDropdownSelection","logoUrlWhite","_ref$showLanguageChan","showLanguageChange","_React$useState2","profilePic","setProfilePic","app","_userDetails$info","getCurrentTenantId","uuid","usersResponse","userSearch","user","_userDetails$photo","thumbs","photo","split","at","_Digit$UserService","_Digit$UserService2","CitizenHomePageTenantId","getCitizenCurrentTenant","_Digit$Hooks$useNotif","useNotificationCount","getUser","_Digit$Hooks$useNotif2","unreadNotificationCount","unreadCount","notificationCountLoaded","isSuccess","TopBarComponent","img","updateSidebar","clikOusideFired","onLogout","notificationCount","cityOfCitizenShownBesideLogo","onNotificationIconClick","hideNotificationIconOnSomeUrlsWhenNotLoggedIn","_Digit$UserService3","access_token","urlsToDisableNotificationIcon","ChangeLanguage","loggedin","CustomEmployeeTopBar","TopBarComponentMain","actionFields","ChangeCity","userInfo","showArrow","menuStyles","theme","onHamburgerClick","logoWidth","logoHeight","logo","logoId","statelogo","onImageClick","onLogoClick","showDeafultImg","ulb","ulbGrade","defaultImage","sidebar_menu","SideBarMenu","closeSidebar","redirectToLoginPage","isEmployee","element","text","LogoutIcon","populators","Profile","stateName","mobileNumber","emailId","IconsObject","CommonPTIcon","propertyIcon","PropertyHouse","CaseIcon","WSIcon","CollectionIcon","BirthIcon","DeathIcon","FirenocIcon","HomeIcon","EditPencilIcon","Phone","SideBar_StaticCitizenSideBar","_user$info","_menuItems","linkData","islinkDataLoading","isFetched","showDialog","setShowDialog","handleOnCancel","showProfilePage","menuItems","profileItem","_window5","_window6","_storeData$tenants","_storeData$tenants$fi","_storeData$tenants$","_storeData$tenants$fi2","_storeData$tenants$2","MenuItem","_item$icon","itemComponent","leftIconArray","Item","Link","contactNumber","localeCompare","_linkData$key$","_linkData$key$2","_window7","_linkData$key$3","_linkData$key$4","sidebar","splice","sidebarURL","top","backgroundColor","pointerzevents","flexDirection","zIndex","LogoutDialog","handleOnSubmit","logout","CitizenSideBar","_menuItems2","_menuItems3","_user$info2","_user$info3","_user$info4","_ref3$isMobile","_ref3$isEmployee","userProfile","search","_useState8","_useState0","_useState10","fetchUserProfile","_asyncToGenerator","_usersResponse$user2","_usersResponse$user3","userData","currentUser","_userDetails$photo2","handleModuleClick","updatedUrl","_item$displayName","_loop","_keys$i","_configEmployeeSideBa2","_configEmployeeSideBa3","_configEmployeeSideBa5","_configEmployeeSideBa6","getSingleDisplayName","getParentDisplayName","_configEmployeeSideBa4","ob","_ob$displayName","indx","findIndex","home","comp","part","c1","c2","transformedMenuItems","_item$links","transformedSelectedCityData","transformedLanguageData","hamburgerItems","Hamburger","items","profileName","profileNumber","transitionDuration","styles","hideUserManuals","profile","isSearchable","_ref7","_ref6","_window8","_window9","parentIndex","handleChangeCity","onItemSelect","StaticCitizenSideBar","SideBar_EmployeeSideBar","EmployeeSideBar","extractLeftIcon","Array","isArray","subResult","mergeObjects","obj1","obj2","hasOwnProperty","_item$path","_item$path2","hierarchicalMap","sortDataByOrderNumber","Infinity","transformedData","transformItem","navigationUrl","childKey","iconKey","transformData","objectArray","entries","fromEntries","splitKeyValue","sortedTransformedData","MediaQuery","minWidth","SideNav","hideAccessbilityTools","test","hostUrl","origin","fallbackError","navigateToRespectiveURL","expandedWidth","collapsedWidth","onBottomItemClick","TopBarSideBar_SideBar","components_TopBarSideBar","_ref$showSidebar","showSidebar","handleSSOLogout","provider","localStorage","getItem","normalizedProvider","logoutUrlFromConfig","redirectParamName","token","_window$google","google","accounts","disableAutoSelect","fetch","method","headers","removeItem","postLogoutRedirectUri","URL","searchParams","toString","handleSidebar","func","TopBar","SideBar","WrappedComponent","mainSelector","handleFirstTab","main","document","querySelector","setAttribute","outline","removeEventListener","addEventListener","callback","savedCallback","timer","useLoginConfig","getConfigModuleName","useCommonMDMS","_data$moduleName","LoginConfig","retry","FAQs_FaqComponent","FAQs","_data$MdmsRes$common","_Digit$Hooks$useGetFA","useGetFAQsJSON","moduleFaqs","Fragment","BackButton","marginLeft","HeaderComponent","paddingTop","LanguageSelection","_Digit$Hooks$useStore2","_Digit$Hooks$useStore3","texts","useMemo","submitBarLabel","RadioButtonProps","options","optionsKey","additionalWrapperClass","selectedOption","PageBasedInput","onSubmit","RadioButtons","LocationSelection","uiHomePage","redirectURL","_Digit$Hooks$useTenan","useTenants","cities","selectedCity","setSelectedCity","showError","setShowError","selectCity","redirectBackTo","SearchOnRadioButtons","placeholder","CardLabelError","ImageUpload_UploadDrawer","closeDrawer","removeProfilePic","showToast","setUploadedFile","file","setFile","setError","_response$data","response","UploadServices","Filestorage","files","_response$data2","fileStoreId","err","position","left","right","bottom","onOverlayBodyClick","alignItems","flex","gap","for","cursor","GalleryIcon","accept","onChange","target","removeimg","RemoveIcon","DEFAULT_TENANT","_Digit$getStateId","defaultValidationConfig","UserProfileValidationConfig","password","Home_IndividualUserProfile","_Digit$UserService$ge","_mdmsValidationData$U2","_defaultValidationCon","_errors$userName","_errors$emailAddress","_mdmsValidationData$U3","_defaultValidationCon2","_errors$userName2","_mdmsValidationData$U4","_defaultValidationCon3","_errors$mobileNumber","_errors$emailAddress2","_mdmsValidationData$U5","_defaultValidationCon4","_errors$currentPasswo","_mdmsValidationData$U6","_defaultValidationCon5","_errors$newPassword","_mdmsValidationData$U7","_defaultValidationCon6","_errors$confirmPasswo","stateId","setUserDetails","setName","email","setEmail","gender","setGender","permanentCity","setCity","setMobileNo","_useState12","_useState14","profileImg","setProfileImg","_useState16","openUploadSlide","setOpenUploadSide","_useState18","changepassword","setChangepassword","_useState20","currentPassword","setCurrentPassword","_useState22","newPassword","setNewPassword","_useState24","confirmPassword","setConfirmPassword","_useState26","toast","setToast","_useState28","setLoading","innerWidth","windowWidth","setWindowWidth","_React$useState4","errors","setErrors","individualServicePath","mapConfigToRegExp","_config$UserProfileVa","startsWith","lastIndexOf","lastSlashIndex","pattern","slice","flags","RegExp","_useState30","validationConfig","setValidationConfig","commonUiConfig","mdmsValidationData","isValidationConfigLoading","_mdmsValidationData$U","updatedValidationConfig","getUserInfo","_response$Individual","CustomService","getResponse","useCache","userService","params","limit","offset","body","Individual","userUuid","editScreen","setGenderName","closeFileUploadDrawer","setUserName","_validationConfig$nam","userName","setUserEmailAddress","emailAddress","duration","updateProfile","_userDetails$name","_userDetails$name2","_responseInfo","trim","JSON","stringify","responseInfo","trimmedCurrentPassword","trimmedNewPassword","trimmedConfirmPassword","individualPayload","givenName","familyName","otherNames","isDeleted","isSystemUser","isSystemUserActive","status","requestData","existingPassword","username","changePasswordResponseInfo","changePassword","_error$Errors","Errors","errorObj","parse","_error$response","menu","Menu","useGenderMDMS","genderDetails","setFileStoreId","thumbnails","getThumbnails","_x","ids","res","Filefetch","fileStoreIds","o","images","getFileUrl","_x2","_x3","BreadCrumb","crumbs","internalLink","show","boxShadow","background","maxWidth","transform","onClickAddPic","CameraIcon","paddingBottom","LabelFieldPair","CardLabel","TextInput","isMandatory","disable","ErrorMessage","truncateMessage","maxLength","wrapperClassName","showIcon","disabled","borderBottom","MobileNumber","_validationConfig$mob","setUserMobileNumber","required","getOTPBasedLogin","TogleforPassword","paddingLeft","_e$target","_e$target2","_e$target3","fontWeight","Footer","SubmitBar","setactionFieldsToRight","Toast","UploadDrawer","Home_UserProfile","useAnIndividual","IndividualUserProfile","handleResize","_yield$Digit$UserServ","updateUser","Home","_window3$includes","_window4$includes","_citizenServicesObj$s","_citizenServicesObj$p","_citizenServicesObj$p3","_citizenServicesObj$p5","_citizenServicesObj$p7","_infoAndUpdatesObj$si","_infoAndUpdatesObj$pr","_infoAndUpdatesObj$pr3","_infoAndUpdatesObj$pr5","_infoAndUpdatesObj$pr7","_whatsNewSectionObj$s2","conditionsToDisableNotificationCountTrigger","_Digit$Hooks$useEvent","useEvents","EventsData","EventsDataLoading","appBannerWebObj","appBannerDesktop","appBannerMobObj","appBannerMobile","citizenServicesObj","citizenServicesCard","infoAndUpdatesObj","informationAndUpdatesCard","whatsAppBannerWebObj","whatsAppBannerDesktop","whatsAppBannerMobObj","whatsAppBannerMobile","whatsNewSectionObj","whatsNewSection","handleClickOnWhatsAppBanner","allCitizenServicesProps","headerLabel","sideOption","_citizenServicesObj$s2","Icon","ComplaintIcon","_citizenServicesObj$p2","_citizenServicesObj$p4","_citizenServicesObj$p6","_citizenServicesObj$p8","allInfoAndUpdatesProps","_infoAndUpdatesObj$si2","_infoAndUpdatesObj$pr2","Calender","_infoAndUpdatesObj$pr4","DocumentIcon","_infoAndUpdatesObj$pr6","_infoAndUpdatesObj$pr8","bannerUrl","CardBasedOptions","_whatsNewSectionObj$s","WhatsNewCard","videoPlay","setVideoPlay","vidSrc","setVidSrc","ViDSvg","viewBox","xmlns","d","_Digit$Hooks$useGetHo","useGetHowItWorksJSON","mdmsConfigResult","screenHeader","CustomButton","videosJson","videos","onClickVideo","vidObj","pdfHeader","pdfDesc","PDFSvg","DownloadImgIcon","CloseSvg","controls","autoPlay","otp","onOtpChange","onResend","_ref$userType","canSubmit","timeLeft","setTimeLeft","useInterval","handleResendOtp","OTPInput","FormStep","loginSteps","cardText","nextText","inputs","validation","minlength","maxlength","Login_SelectMobileNumber","onMobileChange","onEmailChange","isEmail","setIsEmail","core_mobile_config","EMAIL_REGEX","rawPattern","mobileNumberPattern","isEmailValid","isMobileValid","linkLabel","InputCard","submit","onNext","handleSubmit","isDisable","FieldV1","withoutLabel","charCount","prefix","mobilePrefix","mobileNumberLength","fieldStyle","LinkLabel","userSelect","textDecoration","switchMode","Login_SelectName","TYPE_LOGIN","DEFAULT_REDIRECT_URL","getFromLocation","Login_IndividualLogin","_ref$isUserRegistered","isUserRegistered","isOtpValid","setIsOtpValid","setParams","errorTO","setErrorTO","canSubmitName","setCanSubmitName","canSubmitOtp","setCanSubmitOtp","canSubmitNo","setCanSubmitNo","errorTimeout","_location$state2","setCitizenDetail","userObject","_JSON$parse","sessionStorage","setItem","stepItems","selectMobileNumber","_yield$sendOtp2","sendOtp","selectName","registerURL","IndividualRegister","requestType","auth","Error","selectOtp","authenticate","ResponseInfo","UserRequest","tokens","resendOtp","_yield$sendOtp4","AppContainer","Routes","Route","SelectMobileNumber","event","showRegisterLink","SelectOtp","SelectName","TYPE_REGISTER","citizen_Login","_location$state7","IndividualLogin","_location$state4","_location$state3","_location$state5","_yield$sendOtp6","_location$state6","roleInfo","userRole","otpReference","_yield$Digit$UserServ2","registerUser","_excluded2","_yield$sendOtp0","_yield$sendOtp8","isCitizenDesktop","isCheckBoxInput","isDateObject","Date","isNullOrUndefined","isObjectType","isObject","getEventValue","checked","isNameInFieldArray","names","getNodeParentName","isWeb","HTMLElement","cloneObject","copy","Blob","FileList","tempObject","prototypeCopy","prototype","isPlainObject","compact","isUndefined","val","object","result","isBoolean","isKey","stringToPath","input","tempPath","newValue","objValue","isNaN","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","external_React_","createContext","useFormContext","useContext","getProxyFormState","localProxyFormState","isRoot","defaultValues","_defaultValues","defineProperty","_key","_proxyFormState","isEmptyObject","shouldRenderFormState","formStateData","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","exact","currentName","useSubscribe","_props","subscription","subject","subscribe","next","unsubscribe","isString","generateWatchOutput","_names","formValues","isGlobal","watch","fieldName","watchAll","Controller","methods","shouldUnregister","isArrayField","array","_name","_subjects","values","updateValue","_formValues","_getWatch","_removeUnmounted","useWatch","_formState","_mounted","_localProxyFormState","isDirty","dirtyFields","touchedFields","validatingFields","isValidating","isValid","_updateFormState","_updateValid","useFormState","_registerProps","register","rules","_shouldUnregisterField","_options","updateMounted","field","_fields","_f","mount","_state","unregister","_updateDisabledField","fields","useCallback","onBlur","ref","elm","setCustomValidity","reportValidity","fieldState","defineProperties","invalid","enumerable","isTouched","useController","appendErrors","validateAllFieldCriteria","types","getValidationModes","mode","isOnSubmit","isOnBlur","isOnChange","isOnAll","isOnTouch","isWatched","isBlurEvent","watchName","iterateFieldsByAction","fieldsNames","abortEarly","currentField","refs","updateFieldArrayRootError","fieldArrayErrors","isFileInput","isFunction","isHTMLElement","owner","ownerDocument","defaultView","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","attributes","defaultReturn","getRadioValue","previous","getValidateError","every","getValueAndMessage","validationData","validateField","async","shouldUseNativeValidation","isFieldArray","minLength","min","max","validate","valueAsNumber","inputValue","inputRef","isRadio","isCheckBox","isRadioOrCheckbox","isEmpty","appendErrorsCurry","bind","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueDate","valueAsDate","convertTimeToDate","time","toDateString","isTime","isWeek","valueNumber","maxLengthOutput","minLengthOutput","patternValue","match","validateError","validationResult","unset","paths","childObject","updatePath","baseGet","isEmptyArray","createSubject","_observers","observers","observer","isPrimitive","deepEqual","object1","object2","getTime","keys1","keys2","val1","val2","isMultipleSelect","live","isConnected","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","getFieldValueAs","setValueAs","NaN","getFieldValue","selectedOptions","getRuleValue","rule","source","schemaErrorLookup","join","foundError","pop","defaultOptions","reValidateMode","shouldFocusError","createFormControl","delayErrorCallback","submitCount","isSubmitted","isSubmitting","isSubmitSuccessful","unMount","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","criteriaMode","shouldUpdateValid","resolver","_executeSchema","executeBuiltInValidation","_updateIsValidating","updateValidAndValue","shouldSkipSetValueAs","defaultChecked","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","disabledField","_getDirty","isCurrentFieldPristine","isPreviousFieldTouched","context","getResolverOptions","shouldOnlyCheckValid","valid","isFieldArrayRoot","fieldError","getValues","fieldReference","optionRef","checkboxRef","radioRef","shouldTouch","shouldValidate","trigger","setValues","fieldKey","setValue","cloneValue","isFieldValueUpdated","_updateIsFieldValueUpdated","Number","shouldSkipValidation","deps","skipValidation","watched","previousErrorLookupResult","errorLookupResult","previousFieldError","delayError","updateErrors","wait","updatedFormState","shouldRenderByError","_focusInput","fieldNames","executeSchemaAndUpdateState","Promise","all","shouldFocus","getFieldState","currentError","currentRef","restOfErrorTree","delete","keepValue","keepError","keepDirty","keepTouched","keepIsValidating","keepDefaultValue","keepIsValid","disabledIsDefined","progressive","fieldRef","querySelectorAll","radioOrCheckbox","_focusError","onValid","onInvalid","onValidError","persist","fieldValues","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","keepDefaultValues","keepValues","keepDirtyValues","form","closest","reset","keepSubmitCount","keepIsSubmitted","keepErrors","keepIsSubmitSuccessful","_updateFieldArray","args","shouldSetValues","shouldUpdateFieldsAndState","argA","argB","unsetEmptyArray","_getFieldArray","_resetDefaultValues","then","resetOptions","_disableForm","_setErrors","payload","resetField","clearErrors","inputName","setFocus","shouldSelect","Search_SearchFields","previousPage","SearchField","DatePicker","date","Search_MobileSearchApplication","_data$roles","tabledata","settabledata","DownloadBtn","DownloadBtnCommon","returnObject","convertEpochToDate","timestamp","convertEpochToTimeInHours","dataView","dataViewedBy","dateEpoch","dateFromApi","month","getMonth","day","getDate","year","getFullYear","hour","getHours","getMinutes","period","_useReducer2","useReducer","currentlyActiveMobileModal","setActiveMobileModal","closeMobilePopupModal","MobilePopUpCloseButton","searchFormFieldsComponentProps","CurrentMobileModalComponent","SearchForm","SearchFormFields","MobileComponentDirectory","propsMobileInboxCards","_data$roles$slice","tabData","Download","Excel","handleExcelDownload","SearchAction","handleActionClick","DetailsCard","Search","count","_useForm","_formControl","_values","useForm","sortOrder","onSort","desc","MobileSearchApplication","GetCell","columns","disableSortBy","accessor","row","_row$roles$slice","marginRight","SearchFields","Table","totalRecords","getCellProps","cellInfo","column","onPageSizeChange","currentPage","onNextPage","onPrevPage","manualPagination","pageSizeLimit","disableSort","sortParams","SearchApp","_data$ElasticSearchDa","_data$ElasticSearchDa2","setPayload","convertDateToEpoch","dateString","dayStartOrEnd","parts","DateObj","UTC","setMinutes","getTimezoneOffset","setHours","setSeconds","getSeconds","storedPayload","k","_Digit$Hooks$useAudit","useAudit","filters","AuditSearchApplication","_data","sortBy","fromDate","toDate","ElasticSearchData","_mdmsData$MdmsRes$com","_mdmsConfigResult$hel","_mdmsConfigResult$hel2","_mdmsConfigResult$hel3","_mdmsConfigResult$hel4","_mdmsConfigResult$hel5","_mdmsConfigResult$hel6","_staticData","_staticData2","_staticData3","_staticData4","_staticData5","_staticContent","_staticContent2","_staticContent3","_Digit$Hooks$useStati","useStaticData","isMdmsLoading","mdmsData","_Digit$Hooks$useDynam","useDynamicData","isSearchLoading","dynamicData","IconComponent","StaticData","StaticDataIconComponentOne","TimerIcon","StaticDataIconComponentTwo","RupeeSymbol","staticContent","staticCommonContent","validity","staticData","staticDataOne","staticDataOneHeader","staticDataTwo","staticDataTwoHeader","payViaWhatsApp","handleClickOnWhatsApp","WhatsappIconGreen","helpline","HelpLineIcon","contactOne","contactTwo","serviceCenter","ServiceCenterIcon","viewMapLocation","dynamicDataOne","dynamicDataTwo","ValidityTimeIcon","SideBar_CitizenSideNav","isLoggedIn","handleLogoutCancel","buildItems","isDigitStudio","orderCounter","_moduleEntries$","moduleEntries","entry","_entry$sidebar","endsWith","rawIcon","seen","navigateToUrl","enableSearch","handleLogoutSubmit","lazyWithFallback","resolve","__webpack_require__","FAQsSection","UserProfile","HowItWorks","Login","StaticDynamicCard","sidebarHiddenFor","getTenants","codes","citizen","_window7$getConfig","DSO","appTenants","sourceUrl","_data$ACCESSCONTROLA","el","_a$b$parentModule","isLinkDataFetched","classname","useRouteSubscription","hideSidebar","appRoutes","DynamicModuleLoader","ModuleLevelLinkHomePages","bannerImage","CitizenHomeCard","Info","CitizenInfoLabel","isInfo","TopBarSideBar","CitizenSideNav","_window8$getConfig","ChangePasswordComponent","_window3$getConfig","propsConfig","_Digit$Hooks$useQuery","mobile_number","setOtp","setShowToast","getUserType","setType","closeToast","onResendOTP","_err$response","error_description","onChangePassword","navigateToLogin","_err$response2","_propsConfig$inputs","FormComposer","noBoxShadow","inline","submitInForm","submitButtonLabel","cardStyle","CardSubHeader","_window4$getConfig","loginParams","defaultProps","ChangePassword","EmployeeChangePassword","loginConfig","ForgotPassword","_window6$getConfig","_mdmsData$config$","bannerImages","onForgotPassword","alert","Carousel","FormComposerV2","secondaryActionLabel","secondaryButtonLabel","onSecondayActionClick","headingStyle","descriptionStyles","secondaryActionId","_window5$getConfig","forgotPassword","employee_ForgotPassword","ForgotPasswordComponent","defaultLanguage","_Digit$getDefaultLang","getDefaultLanguage","_defaultLanguages","_window2$getConfig","defaultLanguages","hasMultipleLanguages","now","_loginConfig$","_ref$bannerImages","currentSlide","setCurrentSlide","carouselItems","nextSlide","interval","backgroundImage","image","prevSlide","_","goToSlide","mdmsConfig","masterName","localePrefix","component","customProps","LoginOtpConfig","_Digit2","_config$","_config$2","loginOTPBased","isStoreLoading","_Digit$Hooks$useSSOCo","useSSOConfig","_data$MdmsRes","_data$SSO","IdentityProviders","ssoMDMSData","setDisable","loginLoader","setLoginLoader","DynamicLoginComponent","hashParams","URLSearchParams","hash","idToken","accessToken","errorDescription","handleDigitLogin","microsoftAuthenticate","catch","_user$info5","_user$info6","setEmployeeDetail","decodeURIComponent","Authorization","grant_type","scope","assertion","ok","_parsed","_parsed2","_parsed3","_parsed4","parsed","raw","json","replaceState","onSSOLogin","ssoConfig","ui","hasOidcConfig","authorizeUrl","clientId","authStrategy","onOIDCLogin","resource","logoutUrl","logoutRedirectParam","authority","uiConfig","_ref5$scopes","scopes","_ref5$responseType","responseType","_ref5$responseMode","responseMode","_ref5$nonceRequired","nonceRequired","_ref5$redirectPath","prompt","nonce","random","redirectUri","forcePromptLogin","buildOIDCAuthorizeUrl","onLogin","_ref8","_requestData$city","_excluded3","_x4","reqCreate","enable","mutation","useCustomAPIMutationHook","onOtpLogin","_ref9","_Digit3","_onSuccess","inputEmail","mutate","onError","variables","_error$response2","onSuccess","_Digit4","_x6","_x5","_window0","defaultTenant","ssoConfigs","sso","_sso$ui","_sso$ui2","_sso$ui3","_sso$ui4","_sso$ui5","_sso$ui6","_field$populators","_field$populators2","onFormValueChange","hasEmptyFields","renderLoginForm","_propsConfig$texts","_propsConfig$texts2","_propsConfig$texts3","extraClasses","cardClassName","wrapperClass","cardSubHeaderClassName","buttonClassName","renderFooter","footerClassName","_window1","_window1$getConfig","_window10","_window10$getConfig","login","withAutoFocusMain","employee_Login","defaultLoginConfig","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","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","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","REACT_ELEMENT_TYPE","Symbol","REACT_FRAGMENT_TYPE","jsxProd","maybeKey","$$typeof","jsx","jsxs","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","definition","r","toStringTag","CitizenApp","EmployeeApp","SignUp","CustomErrorComponent","DigitApp","_ref$defaultLanding","defaultLanding","_ref$allowedUserTypes","allowedUserTypes","getCurrentUlb","commonProps","DigitAppWrapper","_window11","_ref3$defaultLanding","_location","middleware","thunk","enhancer","composeEnhancers","compose","applyMiddleware","store","defaultStore","moduleReducers","createStore","getRootReducer","combineReducers","common","defaultData","components_PrivacyComponent","isChecked","setIsChecked","showPopUp","setShowPopUp","privacy","PrivacyPolicy","policy","_props$props","CheckBox","footerclassName","sortFooterChildren","contents","getElementById","scrollIntoView","behavior","isSpaceRequired","descriptions","subIndex","isBold","subDescriptions","subDesc","subSubIndex","components_EmployeeSSOLoginOptions","_ref2$ssoConfigs","hasMultipleOptions","_sso$provider","_sso$onLogin","_sso$provider2","_sso$onLogin2","DigitUIWrapper","_initData$stateInfo","_initData$stateInfo2","_initData$stateInfo3","enabledModules","_Digit$Hooks$useInitS","useInitStore","_Digit$Hooks$useInitS2","getStore","getI18n","setComponent","PrivacyComponent","EmployeeSSOLoginOptions","Provider","Router","BodyContainer","DigitUI","registry","initialPrivacy","getPrivacyObject","setPrivacy","queryClient","QueryClient","queries","attemptIndex","ComponentProvider","Contexts","PrivacyProvider","resetPrivacy","setPrivacyObject","getPrivacy","privacyObj","updatePrivacyDescoped","getAllPrivacyObject","updatePrivacy","privacyContextValue","QueryClientProvider","client","componentsToRegister","A","_props$props4","_props$props2","_props$props3","ForgotOrganizationTooltip","showTip","setShowTip","wrapperRef","handleClickOutside","contains","whiteSpace","wordBreak","LoginSignupSelector","isSignupPage","onButtonClickLogin","onButtonClickSignUP","initCoreComponents"],"sourceRoot":""}
|