@djb25/digit-ui-module-ekyc 1.0.31 → 1.0.32

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/components/EKYCCard.js","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/components/analytics/charts/ExecutiveLineChart.jsx","../src/components/analytics/charts/ExecutiveBarChart.jsx","../src/components/analytics/charts/ExecutivePieChart.jsx","../src/components/CeoDashboard.jsx","../src/components/VendorDetails.jsx","../src/hook/useInboxTableConfig.js","../node_modules/react-hook-form/dist/index.esm.js","../src/components/SearchFormFieldsComponent.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/components/AssignEkycModal.js","../src/utils/reportDownloader.js","../src/components/SurveyorDetailsCard.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Home.js","../src/pages/citizen/Inbox.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n ],\n links: [\n {\n label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `/digit-ui/employee/ekyc/ceo-dashboard`,\n },\n // {\n // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/employee/ekyc/dashboard`,\n // },\n {\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/employee/ekyc/inbox`,\n },\n // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/create-kyc`\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/update-kyc`\n // },\n // {\n // label: t(\"EKYC_MAPPING\"),\n // link: `/digit-ui/employee/ekyc/mapping`,\n // },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/employee/ekyc/assign`,\n },\n ],\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const total = countData?.total || 0;\n const pending = countData?.pending || 0;\n const active = countData?.completed || 0;\n const completed = 0;\n\n const actualCompleted = countData?.completed || 0;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round((actualCompleted / total) * 100) : 0;\n const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_ACTIVE\"), t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\")],\n datasets: [\n {\n data: [active, pending, completed],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#0c2a52\", label: t(\"EKYC_ACTIVE\"), value: active },\n { color: \"#77B6EA\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_COMPLETED\"), value: completed },\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span>\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n <div className=\"health-trend\">↗ +2.1%</div>\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">1.2s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.04%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{row.original?.citizenName || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>\n }\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","// import React from \"react\";\n// import { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\n// const ExecutiveLineChart = ({ data = [], dataKey = \"completed\", name = \"Value\" }) => {\n// return (\n// <div className=\"chart-card\" style={{ minHeight: 320 }}>\n// <ResponsiveContainer width=\"100%\" height={320}>\n// <LineChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n// <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n// <XAxis dataKey=\"label\" axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} itemStyle={{ color: \"#f8fafc\" }} />\n// <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n// <Line\n// type=\"monotone\"\n// dataKey={dataKey}\n// name={name}\n// stroke=\"#38bdf8\"\n// strokeWidth={3}\n// dot={{ r: 4 }}\n// activeDot={{ r: 6, strokeWidth: 2, fill: \"#60a5fa\" }}\n// />\n// </LineChart>\n// </ResponsiveContainer>\n// </div>\n// );\n// };\n\n// export default ExecutiveLineChart;\n\nimport React from \"react\";\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveLineChart = ({ data = [] }) => {\n const formattedData = data.map((item) => ({\n ...item,\n\n agencyKyc: item.completed || 0,\n\n selfKyc: Math.round((item.completed || 0) * 0.42),\n\n totalKyc: (item.completed || 0) + Math.round((item.completed || 0) * 0.42),\n }));\n\n return (\n <div className=\"chart-card executive-line-chart\">\n <ResponsiveContainer width=\"100%\" height={340}>\n <LineChart\n data={formattedData}\n margin={{\n top: 20,\n right: 12,\n left: 0,\n bottom: 0,\n }}\n >\n <CartesianGrid stroke=\"#e2e8f0\" strokeDasharray=\"3 3\" vertical={false} />\n\n <XAxis\n dataKey=\"label\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n fontWeight: 600,\n }}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n }}\n />\n\n <Tooltip\n cursor={{\n stroke: \"#cbd5e1\",\n strokeWidth: 1,\n }}\n contentStyle={{\n background: \"#ffffff\",\n border: \"1px solid #e2e8f0\",\n borderRadius: 18,\n boxShadow: \"0 10px 30px rgba(15,23,42,0.08)\",\n }}\n labelStyle={{\n color: \"#0f172a\",\n fontWeight: 700,\n marginBottom: 10,\n }}\n />\n\n <Legend\n verticalAlign=\"top\"\n align=\"right\"\n iconType=\"circle\"\n wrapperStyle={{\n paddingBottom: 18,\n color: \"#475569\",\n fontWeight: 600,\n }}\n />\n\n {/* TOTAL */}\n\n <Line\n type=\"monotone\"\n dataKey=\"totalKyc\"\n name=\"Total eKYC\"\n stroke=\"#0f172a\"\n strokeWidth={4}\n dot={false}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* AGENCY */}\n\n <Line\n type=\"monotone\"\n dataKey=\"agencyKyc\"\n name=\"Agency eKYC\"\n stroke=\"#3b82f6\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* SELF */}\n\n <Line\n type=\"monotone\"\n dataKey=\"selfKyc\"\n name=\"Self eKYC\"\n stroke=\"#10b981\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveLineChart;\n","import React from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveBarChart = ({ data = [], categories = [], xKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <BarChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n <XAxis dataKey={xKey} axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14 }} itemStyle={{ color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n {categories.map((series, index) => (\n <Bar\n key={series.key}\n dataKey={series.key}\n name={series.name}\n fill={index === 0 ? \"#34d399\" : \"#60a5fa\"}\n radius={[12, 12, 0, 0]}\n barSize={24}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveBarChart;\n","import React from \"react\";\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from \"recharts\";\n\nconst colors = [\"#22c55e\", \"#38bdf8\", \"#f97316\", \"#facc15\", \"#f43f5e\"];\n\nconst ExecutivePieChart = ({ data = [], dataKey = \"value\", labelKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <PieChart>\n <Pie data={data} dataKey={dataKey} nameKey={labelKey} cx=\"50%\" cy=\"50%\" outerRadius={110} innerRadius={60} paddingAngle={3} label={{ fill: \"#f8fafc\", fontSize: 12 }}>\n {data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />\n ))}\n </Pie>\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"bottom\" align=\"center\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\", marginTop: 10 }} />\n </PieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutivePieChart;\n","import React, { useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport {\n FaChartLine,\n FaUsers,\n FaCheckCircle,\n FaClock,\n FaExclamationTriangle,\n FaUserTie,\n FaMapMarkedAlt,\n FaSearch,\n FaArrowRight,\n} from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\n\nconst CeoDashboard = () => {\n const history = useHistory();\n const location = useLocation();\n const [query, setQuery] = useState(\"\");\n const [statusFilter, setStatusFilter] = useState(\"All\");\n\n const basePath = location.pathname.replace(/\\/ceo-dashboard$/, \"\");\n const filters = [\"All\", \"High Priority\", \"Stable\", \"Watchlist\"];\n\n const vendors = useMemo(() => ekycMockData.vendors || [], []);\n const topKpis = useMemo(() => ekycMockData.topKpis || {}, []);\n const dailyTrend = useMemo(() => ekycMockData.dailyTrend || [], []);\n const selfVsAgency = useMemo(() => ekycMockData.selfVsAgency || [], []);\n const pendingVsCompleted = useMemo(() => ekycMockData.pendingVsCompleted || [], []);\n // const rejectionAnalysis = ekycMockData.rejectionAnalysis || [];\n\n const filteredVendors = useMemo(() => {\n return vendors\n .filter((vendor) => {\n if (statusFilter === \"High Priority\") return vendor.successRate < 70;\n if (statusFilter === \"Watchlist\") return vendor.pending > 35000;\n if (statusFilter === \"Stable\") return vendor.successRate >= 70;\n return true;\n })\n .filter((vendor) => {\n if (!query) return true;\n const keyword = query.toLowerCase();\n return (\n vendor.name.toLowerCase().includes(keyword) ||\n vendor.jurisdictions.some((zone) => zone.toLowerCase().includes(keyword)) ||\n vendor.zones.some((zone) => zone.location?.toLowerCase().includes(keyword))\n );\n });\n }, [vendors, query, statusFilter]);\n\n const zoneRows = useMemo(() => {\n return vendors\n .flatMap((vendor) => vendor.zones.map((zone) => ({ ...zone, agency: vendor.name })))\n .filter((row) => row.location)\n .sort((a, b) => (b.activeDemand || 0) - (a.activeDemand || 0));\n }, [vendors]);\n\n const alerts = [\n \"North East District has 22% more pending accounts than last week\",\n \"Agency 2 has a 12% improvement opportunity in Self eKYC adoption\",\n \"Urgent: 18 supervisor escalations raised for NWS Bhera Enclave\",\n \"Risk alert: Rejection trends are rising in Outer North clusters\",\n ];\n\n const routeToVendor = (vendorId) => {\n history.push(`${basePath}/vendors/${vendorId}`);\n };\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <section className=\"kpi-grid\">\n {[\n {\n title: \"Total Water Connections\",\n value: topKpis.totalWaterConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n title: \"Total eKYC Completed\",\n value: topKpis.totalEkycCompleted,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Total Pending\",\n value: topKpis.totalPending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n title: \"Total Rejected\",\n value: topKpis.totalRejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n title: \"Agency eKYC Completed\",\n value: topKpis.agencyEkycCompleted,\n icon: <FaUserTie />,\n variant: \"info\",\n },\n {\n title: \"Citizen Self eKYC Completed\",\n value: topKpis.citizenSelfEkycCompleted,\n icon: <FaUsers />,\n variant: \"secondary\",\n },\n {\n title: \"Today's eKYC\",\n value: topKpis.todaysEkyc,\n icon: <FaChartLine />,\n variant: \"muted\",\n },\n {\n title: \"Success Rate\",\n value: `${topKpis.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Rejection Percentage\",\n value: `${topKpis.rejectionPercentage}%`,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n ].map((card) => (\n <article key={card.title} className={`kpi-card card-${card.variant}`}>\n <div className=\"kpi-icon\">{card.icon}</div>\n <div>\n <p className=\"kpi-title\">{card.title}</p>\n <h2>{card.value?.toLocaleString?.() ?? card.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"vendor-section\">\n <div className=\"section-top\">\n <div>\n <h2>Agency Performance Snapshot</h2>\n <p>Search, filter, and navigate into detailed analytics for every assigned vendor.</p>\n </div>\n <div className=\"vendor-filters\">\n <div className=\"search-box\">\n <FaSearch />\n <input type=\"text\" placeholder=\"Search agency, jurisdiction, location\" value={query} onChange={(e) => setQuery(e.target.value)} />\n </div>\n <div className=\"status-pill-group\">\n {filters.map((status) => (\n <button key={status} className={`status-pill ${statusFilter === status ? \"active\" : \"\"}`} onClick={() => setStatusFilter(status)}>\n {status}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n <div className=\"vendor-grid\">\n {filteredVendors.map((vendor) => (\n <div key={vendor.id} className=\"vendor-card glass-card\" onClick={() => routeToVendor(vendor.id)}>\n <div className=\"vendor-card-top\">\n <div>\n <p className=\"vendor-chip\">{vendor.name}</p>\n <h3>{vendor.assignedConnections.toLocaleString()}</h3>\n <p className=\"vendor-subtitle\">Assigned connections across {vendor.jurisdictions.length} jurisdiction(s)</p>\n </div>\n <div className=\"vendor-progress-value\">{vendor.progress}%</div>\n </div>\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }} />\n </div>\n <div className=\"vendor-stats-grid\">\n <div>\n <strong>{vendor.completedEkyc.toLocaleString()}</strong>\n <span>Agency eKYC</span>\n </div>\n <div>\n <strong>{vendor.selfEkyc.toLocaleString()}</strong>\n <span>Self eKYC</span>\n </div>\n <div>\n <strong>{vendor.pending.toLocaleString()}</strong>\n <span>Pending</span>\n </div>\n <div>\n <strong>{vendor.rejected.toLocaleString()}</strong>\n <span>Rejected</span>\n </div>\n </div>\n <div className=\"vendor-card-footer\">\n <span>{vendor.activeSurveyors} Surveyors</span>\n <span>{vendor.supervisors} Supervisors</span>\n <span>{vendor.jurisdictions.join(\", \")}</span>\n </div>\n <div className=\"vendor-card-action\">\n <span>Explore analytics</span>\n <FaArrowRight />\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily eKYC Trend</h2>\n <span className=\"badge success\">Live index</span>\n </div>\n <ExecutiveLineChart data={dailyTrend} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency eKYC</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutiveBarChart\n data={selfVsAgency}\n categories={[\n { key: \"agency\", name: \"Agency\" },\n { key: \"citizen\", name: \"Citizen\" },\n ]}\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Operational pulse</span>\n </div>\n <ExecutivePieChart data={pendingVsCompleted} dataKey=\"completed\" labelKey=\"label\" />\n </div>\n </section>\n\n <section className=\"zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Performance\n </h2>\n <p>Top zones evaluated from the full agency dataset.</p>\n </div>\n <button className=\"secondary-button\">Export Zone Data</button>\n </div>\n\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Agency</th>\n <th>Location</th>\n <th>District</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Progress</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.slice(0, 10).map((zone, index) => (\n <tr key={`${zone.agency}-${zone.location}-${index}`}>\n <td>{zone.agency}</td>\n <td>{zone.location}</td>\n <td>{zone.district || zone.cluster}</td>\n <td>{zone.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className=\"status-badge success\">\n {Math.min(100, Math.round(((zone.pppZones || 0) / Math.max(zone.activeDemand || 1, 1)) * 100))}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid\">\n <div className=\"alerts-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n <div className=\"alerts-list\">\n {alerts.map((alert) => (\n <div key={alert} className=\"alert-card\">\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"efficiency-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce & Efficiency\n </h2>\n </div>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>48</h3>\n <p>Supervisors Online</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>168</h3>\n <p>Surveyors Active</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.todayEkyc?.toLocaleString()}</h3>\n <p>eKYC Completed Today</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.successRate}%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","import React, { useMemo } from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { FaArrowLeft, FaUsers, FaCheckCircle, FaClock, FaExclamationTriangle, FaMapMarkedAlt } from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\nimport { Loader } from \"@djb25/digit-ui-react-components\";\n\nconst VendorDetails = () => {\n const history = useHistory();\n const { vendorId = 1 } = useParams();\n const vendor = useMemo(() => ekycMockData.vendors.find((item) => item.id === Number(vendorId)), [vendorId]);\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n if (!vendor) {\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <div className=\"detail-header\">\n <button className=\"back-button\" onClick={() => history.goBack()}>\n <FaArrowLeft /> Back\n </button>\n </div>\n <div className=\"empty-state\">\n <h2>Vendor analytics not found</h2>\n <p>The selected vendor does not exist in the current report. Please return to the dashboard.</p>\n </div>\n </div>\n </div>\n );\n }\n\n const zoneRows = vendor.zones.slice(0, 8);\n\n const performanceData = vendor.dailyPerformance.map((row) => ({\n day: row.day,\n completed: row.completed,\n pending: row.pending,\n rejected: row.rejected,\n }));\n\n if (isLoading) <Loader />;\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell detail-shell\">\n <section className=\"kpi-grid detail-kpi-grid\">\n {[\n {\n label: \"Assigned Connections\",\n value: vendor.assignedConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n label: \"Agency eKYC\",\n value: vendor.completedEkyc,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n label: \"Self eKYC\",\n value: vendor.selfEkyc,\n icon: <FaUsers />,\n variant: \"info\",\n },\n {\n label: \"Pending\",\n value: vendor.pending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n label: \"Rejected\",\n value: vendor.rejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n label: \"Success Rate\",\n value: `${vendor.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n ].map((item) => (\n <article key={item.label} className={`kpi-card card-${item.variant}`}>\n <div className=\"kpi-icon\">{item.icon}</div>\n <div>\n <p className=\"kpi-title\">{item.label}</p>\n <h2>{item.value?.toLocaleString?.() ?? item.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"analytics-grid detail-analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily Completion Trend</h2>\n <span className=\"badge success\">Performance</span>\n </div>\n <ExecutiveLineChart data={performanceData} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Workload</span>\n </div>\n <ExecutiveBarChart\n data={performanceData}\n categories={[\n { key: \"completed\", name: \"Completed\" },\n { key: \"pending\", name: \"Pending\" },\n ]}\n xKey=\"day\"\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency Split</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutivePieChart\n data={[\n { label: \"Agency eKYC\", value: vendor.completedEkyc },\n { label: \"Citizen Self eKYC\", value: vendor.selfEkyc },\n ]}\n dataKey=\"value\"\n labelKey=\"label\"\n />\n </div>\n </section>\n\n <section className=\"zone-section detail-zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Zone-wise Jurisdiction Analytics\n </h2>\n <p>Drill into the current operational load and heatmap intensity for this vendor.</p>\n </div>\n </div>\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Zone</th>\n <th>Cluster</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Activity Score</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.map((row, index) => (\n <tr key={`${row.location}-${index}`}>\n <td>{row.location}</td>\n <td>{row.cluster || row.district}</td>\n <td>{row.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{row.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{row.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className={`status-badge ${row.intensityScore > 65 ? \"danger\" : row.intensityScore > 45 ? \"warning\" : \"success\"}`}>\n {row.intensityScore}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid detail-bottom-grid\">\n <div className=\"cards-summary glass-card\">\n <h2>Operational Efficiency</h2>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>{vendor.activeSurveyors}</h3>\n <p>Active Surveyors</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{vendor.supervisors}</h3>\n <p>Supervisors</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{vendor.progress}%</h3>\n <p>Execution Rate</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{vendor.dailyPerformance.slice(-1)[0]?.completed?.toLocaleString()}</h3>\n <p>Latest Day Completed</p>\n </div>\n </div>\n </div>\n\n <div className=\"cards-summary glass-card\">\n <h2>Supervisor Pulse</h2>\n <div className=\"pulse-list\">\n {vendor.jurisdictions.map((zone) => (\n <div key={zone} className=\"pulse-row\">\n <span>{zone}</span>\n <span>{Math.max(12, Math.round(Math.random() * 38))} active</span>\n </div>\n ))}\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default VendorDetails;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"ekyc-application-link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{row.original?.citizenName || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_REVIEW\"),\n accessor: \"review\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + 10 },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - 10 },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.ceil(totalCount / limit) - 10) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import { isValidElement, useRef, useState, useCallback, useEffect, useMemo, createContext, useContext, createElement, cloneElement } from 'react';\n\nvar isHTMLElement = (value) => value instanceof HTMLElement;\n\nconst EVENTS = {\r\n BLUR: 'blur',\r\n CHANGE: 'change',\r\n INPUT: 'input',\r\n};\r\nconst VALIDATION_MODE = {\r\n onBlur: 'onBlur',\r\n onChange: 'onChange',\r\n onSubmit: 'onSubmit',\r\n onTouched: 'onTouched',\r\n all: 'all',\r\n};\r\nconst SELECT = 'select';\r\nconst UNDEFINED = 'undefined';\r\nconst INPUT_VALIDATION_RULES = {\r\n max: 'max',\r\n min: 'min',\r\n maxLength: 'maxLength',\r\n minLength: 'minLength',\r\n pattern: 'pattern',\r\n required: 'required',\r\n validate: 'validate',\r\n};\n\nfunction attachEventListeners({ ref }, shouldAttachChangeEvent, handleChange) {\r\n if (isHTMLElement(ref) && handleChange) {\r\n ref.addEventListener(shouldAttachChangeEvent ? EVENTS.CHANGE : EVENTS.INPUT, handleChange);\r\n ref.addEventListener(EVENTS.BLUR, handleChange);\r\n }\r\n}\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\r\nvar isObject = (value) => !isNullOrUndefined(value) &&\r\n !Array.isArray(value) &&\r\n isObjectType(value) &&\r\n !(value instanceof Date);\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar compact = (value) => value.filter(Boolean);\n\nvar stringToPath = (input) => compact(input\r\n .replace(/[\"|']/g, '')\r\n .replace(/\\[/g, '.')\r\n .replace(/\\]/g, '')\r\n .split('.'));\n\nfunction set(object, path, value) {\r\n let index = -1;\r\n const tempPath = isKey(path) ? [path] : stringToPath(path);\r\n const length = tempPath.length;\r\n const lastIndex = length - 1;\r\n while (++index < length) {\r\n const key = tempPath[index];\r\n let newValue = value;\r\n if (index !== lastIndex) {\r\n const objValue = object[key];\r\n newValue =\r\n isObject(objValue) || Array.isArray(objValue)\r\n ? objValue\r\n : !isNaN(+tempPath[index + 1])\r\n ? []\r\n : {};\r\n }\r\n object[key] = newValue;\r\n object = object[key];\r\n }\r\n return object;\r\n}\n\nvar transformToNestObject = (data, value = {}) => {\r\n for (const key in data) {\r\n !isKey(key) ? set(value, key, data[key]) : (value[key] = data[key]);\r\n }\r\n return value;\r\n};\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (obj = {}, path, defaultValue) => {\r\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => (isNullOrUndefined(result) ? result : result[key]), obj);\r\n return isUndefined(result) || result === obj\r\n ? isUndefined(obj[path])\r\n ? defaultValue\r\n : obj[path]\r\n : result;\r\n};\n\nvar focusOnErrorField = (fields, fieldErrors) => {\r\n for (const key in fields) {\r\n if (get(fieldErrors, key)) {\r\n const field = fields[key];\r\n if (field) {\r\n if (field.ref.focus && isUndefined(field.ref.focus())) {\r\n break;\r\n }\r\n else if (field.options) {\r\n field.options[0].ref.focus();\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n};\n\nvar removeAllEventListeners = (ref, validateWithStateUpdate) => {\r\n if (isHTMLElement(ref) && ref.removeEventListener) {\r\n ref.removeEventListener(EVENTS.INPUT, validateWithStateUpdate);\r\n ref.removeEventListener(EVENTS.CHANGE, validateWithStateUpdate);\r\n ref.removeEventListener(EVENTS.BLUR, validateWithStateUpdate);\r\n }\r\n};\n\nconst defaultReturn = {\r\n isValid: false,\r\n value: null,\r\n};\r\nvar getRadioValue = (options) => Array.isArray(options)\r\n ? options.reduce((previous, option) => option && option.ref.checked\r\n ? {\r\n isValid: true,\r\n value: option.ref.value,\r\n }\r\n : previous, defaultReturn)\r\n : defaultReturn;\n\nvar getMultipleSelectValue = (options) => [...options]\r\n .filter(({ selected }) => selected)\r\n .map(({ value }) => value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isMultipleSelect = (element) => element.type === `${SELECT}-multiple`;\n\nconst defaultResult = {\r\n value: false,\r\n isValid: false,\r\n};\r\nconst validResult = { value: true, isValid: true };\r\nvar getCheckboxValue = (options) => {\r\n if (Array.isArray(options)) {\r\n if (options.length > 1) {\r\n const values = options\r\n .filter((option) => option && option.ref.checked)\r\n .map(({ ref: { value } }) => value);\r\n return { value: values, isValid: !!values.length };\r\n }\r\n const { checked, value, attributes } = options[0].ref;\r\n return checked\r\n ? attributes && !isUndefined(attributes.value)\r\n ? isUndefined(value) || value === ''\r\n ? validResult\r\n : { value: value, isValid: true }\r\n : validResult\r\n : defaultResult;\r\n }\r\n return defaultResult;\r\n};\n\nfunction getFieldValue(fieldsRef, name, shallowFieldsStateRef, excludeDisabled, shouldKeepRawValue) {\r\n const field = fieldsRef.current[name];\r\n if (field) {\r\n const { ref: { value, disabled }, ref, valueAsNumber, valueAsDate, setValueAs, } = field;\r\n if (disabled && excludeDisabled) {\r\n return;\r\n }\r\n if (isFileInput(ref)) {\r\n return ref.files;\r\n }\r\n if (isRadioInput(ref)) {\r\n return getRadioValue(field.options).value;\r\n }\r\n if (isMultipleSelect(ref)) {\r\n return getMultipleSelectValue(ref.options);\r\n }\r\n if (isCheckBoxInput(ref)) {\r\n return getCheckboxValue(field.options).value;\r\n }\r\n return shouldKeepRawValue\r\n ? value\r\n : valueAsNumber\r\n ? value === ''\r\n ? NaN\r\n : +value\r\n : valueAsDate\r\n ? ref.valueAsDate\r\n : setValueAs\r\n ? setValueAs(value)\r\n : value;\r\n }\r\n if (shallowFieldsStateRef) {\r\n return get(shallowFieldsStateRef.current, name);\r\n }\r\n}\n\nfunction isDetached(element) {\r\n if (!element) {\r\n return true;\r\n }\r\n if (!(element instanceof HTMLElement) ||\r\n element.nodeType === Node.DOCUMENT_NODE) {\r\n return false;\r\n }\r\n return isDetached(element.parentNode);\r\n}\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nfunction baseGet(object, updatePath) {\r\n const length = updatePath.slice(0, -1).length;\r\n let index = 0;\r\n while (index < length) {\r\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\r\n }\r\n return object;\r\n}\r\nfunction unset(object, path) {\r\n const updatePath = isKey(path) ? [path] : stringToPath(path);\r\n const childObject = updatePath.length == 1 ? object : baseGet(object, updatePath);\r\n const key = updatePath[updatePath.length - 1];\r\n let previousObjRef;\r\n if (childObject) {\r\n delete childObject[key];\r\n }\r\n for (let k = 0; k < updatePath.slice(0, -1).length; k++) {\r\n let index = -1;\r\n let objectRef;\r\n const currentPaths = updatePath.slice(0, -(k + 1));\r\n const currentPathsLength = currentPaths.length - 1;\r\n if (k > 0) {\r\n previousObjRef = object;\r\n }\r\n while (++index < currentPaths.length) {\r\n const item = currentPaths[index];\r\n objectRef = objectRef ? objectRef[item] : object[item];\r\n if (currentPathsLength === index &&\r\n ((isObject(objectRef) && isEmptyObject(objectRef)) ||\r\n (Array.isArray(objectRef) &&\r\n !objectRef.filter((data) => (isObject(data) && !isEmptyObject(data)) || isBoolean(data)).length))) {\r\n previousObjRef ? delete previousObjRef[item] : delete object[item];\r\n }\r\n previousObjRef = objectRef;\r\n }\r\n }\r\n return object;\r\n}\n\nconst isSameRef = (fieldValue, ref) => fieldValue && fieldValue.ref === ref;\r\nfunction findRemovedFieldAndRemoveListener(fieldsRef, handleChange, field, shallowFieldsStateRef, shouldUnregister, forceDelete) {\r\n const { ref, ref: { name }, } = field;\r\n const fieldRef = fieldsRef.current[name];\r\n if (!shouldUnregister) {\r\n const value = getFieldValue(fieldsRef, name, shallowFieldsStateRef);\r\n !isUndefined(value) && set(shallowFieldsStateRef.current, name, value);\r\n }\r\n if (!ref.type || !fieldRef) {\r\n delete fieldsRef.current[name];\r\n return;\r\n }\r\n if (isRadioInput(ref) || isCheckBoxInput(ref)) {\r\n if (Array.isArray(fieldRef.options) && fieldRef.options.length) {\r\n compact(fieldRef.options).forEach((option = {}, index) => {\r\n if ((isDetached(option.ref) && isSameRef(option, option.ref)) ||\r\n forceDelete) {\r\n removeAllEventListeners(option.ref, handleChange);\r\n unset(fieldRef.options, `[${index}]`);\r\n }\r\n });\r\n if (fieldRef.options && !compact(fieldRef.options).length) {\r\n delete fieldsRef.current[name];\r\n }\r\n }\r\n else {\r\n delete fieldsRef.current[name];\r\n }\r\n }\r\n else if ((isDetached(ref) && isSameRef(fieldRef, ref)) || forceDelete) {\r\n removeAllEventListeners(ref, handleChange);\r\n delete fieldsRef.current[name];\r\n }\r\n}\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepMerge(target, source) {\r\n if (isPrimitive(target) || isPrimitive(source)) {\r\n return source;\r\n }\r\n for (const key in source) {\r\n const targetValue = target[key];\r\n const sourceValue = source[key];\r\n try {\r\n target[key] =\r\n (isObject(targetValue) && isObject(sourceValue)) ||\r\n (Array.isArray(targetValue) && Array.isArray(sourceValue))\r\n ? deepMerge(targetValue, sourceValue)\r\n : sourceValue;\r\n }\r\n catch (_a) { }\r\n }\r\n return target;\r\n}\n\nfunction deepEqual(object1, object2, isErrorObject) {\r\n if (isPrimitive(object1) ||\r\n isPrimitive(object2) ||\r\n object1 instanceof Date ||\r\n object2 instanceof Date) {\r\n return object1 === object2;\r\n }\r\n if (!isValidElement(object1)) {\r\n const keys1 = Object.keys(object1);\r\n const keys2 = Object.keys(object2);\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n for (const key of keys1) {\r\n const val1 = object1[key];\r\n if (!(isErrorObject && key === 'ref')) {\r\n const val2 = object2[key];\r\n if ((isObject(val1) || Array.isArray(val1)) &&\r\n (isObject(val2) || Array.isArray(val2))\r\n ? !deepEqual(val1, val2, isErrorObject)\r\n : val1 !== val2) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n}\n\nfunction setDirtyFields(values, defaultValues, dirtyFields, parentNode, parentName) {\r\n let index = -1;\r\n while (++index < values.length) {\r\n for (const key in values[index]) {\r\n if (Array.isArray(values[index][key])) {\r\n !dirtyFields[index] && (dirtyFields[index] = {});\r\n dirtyFields[index][key] = [];\r\n setDirtyFields(values[index][key], get(defaultValues[index] || {}, key, []), dirtyFields[index][key], dirtyFields[index], key);\r\n }\r\n else {\r\n deepEqual(get(defaultValues[index] || {}, key), values[index][key])\r\n ? set(dirtyFields[index] || {}, key)\r\n : (dirtyFields[index] = Object.assign(Object.assign({}, dirtyFields[index]), { [key]: true }));\r\n }\r\n }\r\n parentNode &&\r\n !dirtyFields.length &&\r\n delete parentNode[parentName];\r\n }\r\n return dirtyFields;\r\n}\r\nvar setFieldArrayDirtyFields = (values, defaultValues, dirtyFields) => deepMerge(setDirtyFields(values, defaultValues, dirtyFields.slice(0, values.length)), setDirtyFields(defaultValues, values, dirtyFields.slice(0, values.length)));\n\nvar isString = (value) => typeof value === 'string';\n\nvar getFieldsValues = (fieldsRef, shallowFieldsState, shouldUnregister, excludeDisabled, search) => {\r\n const output = {};\r\n for (const name in fieldsRef.current) {\r\n if (isUndefined(search) ||\r\n (isString(search)\r\n ? name.startsWith(search)\r\n : Array.isArray(search) && search.find((data) => name.startsWith(data)))) {\r\n output[name] = getFieldValue(fieldsRef, name, undefined, excludeDisabled);\r\n }\r\n }\r\n return shouldUnregister\r\n ? transformToNestObject(output)\r\n : deepMerge(shallowFieldsState, transformToNestObject(output));\r\n};\n\nvar isErrorStateChanged = ({ errors, name, error, validFields, fieldsWithValidation, }) => {\r\n const isValid = isUndefined(error);\r\n const previousError = get(errors, name);\r\n return ((isValid && !!previousError) ||\r\n (!isValid && !deepEqual(previousError, error, true)) ||\r\n (isValid && get(fieldsWithValidation, name) && !get(validFields, name)));\r\n};\n\nvar isRegex = (value) => value instanceof RegExp;\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\r\n ? validationData\r\n : {\r\n value: validationData,\r\n message: '',\r\n };\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isMessage = (value) => isString(value) || isValidElement(value);\n\nfunction getValidateError(result, ref, type = 'validate') {\r\n if (isMessage(result) || (isBoolean(result) && !result)) {\r\n return {\r\n type,\r\n message: isMessage(result) ? result : '',\r\n ref,\r\n };\r\n }\r\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\r\n ? Object.assign(Object.assign({}, errors[name]), { types: Object.assign(Object.assign({}, (errors[name] && errors[name].types ? errors[name].types : {})), { [type]: message || true }) }) : {};\n\nvar validateField = async (fieldsRef, validateAllFieldCriteria, { ref, ref: { value }, options, required, maxLength, minLength, min, max, pattern, validate, }, shallowFieldsStateRef) => {\r\n const name = ref.name;\r\n const error = {};\r\n const isRadio = isRadioInput(ref);\r\n const isCheckBox = isCheckBoxInput(ref);\r\n const isRadioOrCheckbox = isRadio || isCheckBox;\r\n const isEmpty = value === '';\r\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\r\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\r\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\r\n error[name] = Object.assign({ type: exceedMax ? maxType : minType, message,\r\n ref }, (exceedMax\r\n ? appendErrorsCurry(maxType, message)\r\n : appendErrorsCurry(minType, message)));\r\n };\r\n if (required &&\r\n ((!isRadio && !isCheckBox && (isEmpty || isNullOrUndefined(value))) ||\r\n (isBoolean(value) && !value) ||\r\n (isCheckBox && !getCheckboxValue(options).isValid) ||\r\n (isRadio && !getRadioValue(options).isValid))) {\r\n const { value, message } = isMessage(required)\r\n ? { value: !!required, message: required }\r\n : getValueAndMessage(required);\r\n if (value) {\r\n error[name] = Object.assign({ type: INPUT_VALIDATION_RULES.required, message, ref: isRadioOrCheckbox\r\n ? ((fieldsRef.current[name].options || [])[0] || {}).ref\r\n : ref }, appendErrorsCurry(INPUT_VALIDATION_RULES.required, message));\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n if ((!isNullOrUndefined(min) || !isNullOrUndefined(max)) && value !== '') {\r\n let exceedMax;\r\n let exceedMin;\r\n const maxOutput = getValueAndMessage(max);\r\n const minOutput = getValueAndMessage(min);\r\n if (!isNaN(value)) {\r\n const valueNumber = ref.valueAsNumber || parseFloat(value);\r\n if (!isNullOrUndefined(maxOutput.value)) {\r\n exceedMax = valueNumber > maxOutput.value;\r\n }\r\n if (!isNullOrUndefined(minOutput.value)) {\r\n exceedMin = valueNumber < minOutput.value;\r\n }\r\n }\r\n else {\r\n const valueDate = ref.valueAsDate || new Date(value);\r\n if (isString(maxOutput.value)) {\r\n exceedMax = valueDate > new Date(maxOutput.value);\r\n }\r\n if (isString(minOutput.value)) {\r\n exceedMin = valueDate < new Date(minOutput.value);\r\n }\r\n }\r\n if (exceedMax || exceedMin) {\r\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n if (isString(value) && !isEmpty && (maxLength || minLength)) {\r\n const maxLengthOutput = getValueAndMessage(maxLength);\r\n const minLengthOutput = getValueAndMessage(minLength);\r\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\r\n value.length > maxLengthOutput.value;\r\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\r\n value.length < minLengthOutput.value;\r\n if (exceedMax || exceedMin) {\r\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n if (isString(value) && pattern && !isEmpty) {\r\n const { value: patternValue, message } = getValueAndMessage(pattern);\r\n if (isRegex(patternValue) && !patternValue.test(value)) {\r\n error[name] = Object.assign({ type: INPUT_VALIDATION_RULES.pattern, message,\r\n ref }, appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message));\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n if (validate) {\r\n const fieldValue = getFieldValue(fieldsRef, name, shallowFieldsStateRef, false, true);\r\n const validateRef = isRadioOrCheckbox && options ? options[0].ref : ref;\r\n if (isFunction(validate)) {\r\n const result = await validate(fieldValue);\r\n const validateError = getValidateError(result, validateRef);\r\n if (validateError) {\r\n error[name] = Object.assign(Object.assign({}, validateError), appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message));\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n else if (isObject(validate)) {\r\n let validationResult = {};\r\n for (const [key, validateFunction] of Object.entries(validate)) {\r\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\r\n break;\r\n }\r\n const validateResult = await validateFunction(fieldValue);\r\n const validateError = getValidateError(validateResult, validateRef, key);\r\n if (validateError) {\r\n validationResult = Object.assign(Object.assign({}, validateError), appendErrorsCurry(key, validateError.message));\r\n if (validateAllFieldCriteria) {\r\n error[name] = validationResult;\r\n }\r\n }\r\n }\r\n if (!isEmptyObject(validationResult)) {\r\n error[name] = Object.assign({ ref: validateRef }, validationResult);\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n }\r\n return error;\r\n};\n\nconst getPath = (rootPath, values, paths = []) => {\r\n for (const property in values) {\r\n const rootName = (rootPath +\r\n (isObject(values)\r\n ? `.${property}`\r\n : `[${property}]`));\r\n isPrimitive(values[property])\r\n ? paths.push(rootName)\r\n : getPath(rootName, values[property], paths);\r\n }\r\n return paths;\r\n};\n\nvar assignWatchFields = (fieldValues, fieldName, watchFields, inputValue, isSingleField) => {\r\n let value = undefined;\r\n watchFields.add(fieldName);\r\n if (!isEmptyObject(fieldValues)) {\r\n value = get(fieldValues, fieldName);\r\n if (isObject(value) || Array.isArray(value)) {\r\n getPath(fieldName, value).forEach((name) => watchFields.add(name));\r\n }\r\n }\r\n return isUndefined(value)\r\n ? isSingleField\r\n ? inputValue\r\n : get(inputValue, fieldName)\r\n : value;\r\n};\n\nvar skipValidation = ({ isOnBlur, isOnChange, isOnTouch, isTouched, isReValidateOnBlur, isReValidateOnChange, isBlurEvent, isSubmitted, isOnAll, }) => {\r\n if (isOnAll) {\r\n return false;\r\n }\r\n else if (!isSubmitted && isOnTouch) {\r\n return !(isTouched || isBlurEvent);\r\n }\r\n else if (isSubmitted ? isReValidateOnBlur : isOnBlur) {\r\n return !isBlurEvent;\r\n }\r\n else if (isSubmitted ? isReValidateOnChange : isOnChange) {\r\n return isBlurEvent;\r\n }\r\n return true;\r\n};\n\nvar getFieldArrayParentName = (name) => name.substring(0, name.indexOf('['));\n\nconst isMatchFieldArrayName = (name, searchName) => RegExp(`^${searchName}([|.)\\\\d+`.replace(/\\[/g, '\\\\[').replace(/\\]/g, '\\\\]')).test(name);\r\nvar isNameInFieldArray = (names, name) => [...names].some((current) => isMatchFieldArrayName(name, current));\n\nvar isSelectInput = (element) => element.type === `${SELECT}-one`;\n\nfunction onDomRemove(fieldsRef, removeFieldEventListenerAndRef) {\r\n const observer = new MutationObserver(() => {\r\n for (const field of Object.values(fieldsRef.current)) {\r\n if (field && field.options) {\r\n for (const option of field.options) {\r\n if (option && option.ref && isDetached(option.ref)) {\r\n removeFieldEventListenerAndRef(field);\r\n }\r\n }\r\n }\r\n else if (field && isDetached(field.ref)) {\r\n removeFieldEventListenerAndRef(field);\r\n }\r\n }\r\n });\r\n observer.observe(window.document, {\r\n childList: true,\r\n subtree: true,\r\n });\r\n return observer;\r\n}\n\nvar isWeb = typeof window !== UNDEFINED && typeof document !== UNDEFINED;\n\nfunction cloneObject(data) {\r\n var _a;\r\n let copy;\r\n if (isPrimitive(data) ||\r\n (isWeb && (data instanceof File || isHTMLElement(data)))) {\r\n return data;\r\n }\r\n if (!['Set', 'Map', 'Object', 'Date', 'Array'].includes((_a = data.constructor) === null || _a === void 0 ? void 0 : _a.name)) {\r\n return data;\r\n }\r\n if (data instanceof Date) {\r\n copy = new Date(data.getTime());\r\n return copy;\r\n }\r\n if (data instanceof Set) {\r\n copy = new Set();\r\n for (const item of data) {\r\n copy.add(item);\r\n }\r\n return copy;\r\n }\r\n if (data instanceof Map) {\r\n copy = new Map();\r\n for (const key of data.keys()) {\r\n copy.set(key, cloneObject(data.get(key)));\r\n }\r\n return copy;\r\n }\r\n copy = Array.isArray(data) ? [] : {};\r\n for (const key in data) {\r\n copy[key] = cloneObject(data[key]);\r\n }\r\n return copy;\r\n}\n\nvar modeChecker = (mode) => ({\r\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\r\n isOnBlur: mode === VALIDATION_MODE.onBlur,\r\n isOnChange: mode === VALIDATION_MODE.onChange,\r\n isOnAll: mode === VALIDATION_MODE.all,\r\n isOnTouch: mode === VALIDATION_MODE.onTouched,\r\n});\n\nvar isRadioOrCheckboxFunction = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nconst isWindowUndefined = typeof window === UNDEFINED;\r\nconst isProxyEnabled = isWeb ? 'Proxy' in window : typeof Proxy !== UNDEFINED;\r\nfunction useForm({ mode = VALIDATION_MODE.onSubmit, reValidateMode = VALIDATION_MODE.onChange, resolver, context, defaultValues = {}, shouldFocusError = true, shouldUnregister = true, criteriaMode, } = {}) {\r\n const fieldsRef = useRef({});\r\n const fieldArrayDefaultValuesRef = useRef({});\r\n const fieldArrayValuesRef = useRef({});\r\n const watchFieldsRef = useRef(new Set());\r\n const useWatchFieldsRef = useRef({});\r\n const useWatchRenderFunctionsRef = useRef({});\r\n const fieldsWithValidationRef = useRef({});\r\n const validFieldsRef = useRef({});\r\n const defaultValuesRef = useRef(defaultValues);\r\n const isUnMount = useRef(false);\r\n const isWatchAllRef = useRef(false);\r\n const handleChangeRef = useRef();\r\n const shallowFieldsStateRef = useRef({});\r\n const resetFieldArrayFunctionRef = useRef({});\r\n const contextRef = useRef(context);\r\n const resolverRef = useRef(resolver);\r\n const fieldArrayNamesRef = useRef(new Set());\r\n const modeRef = useRef(modeChecker(mode));\r\n const { isOnSubmit, isOnTouch } = modeRef.current;\r\n const isValidateAllFieldCriteria = criteriaMode === VALIDATION_MODE.all;\r\n const [formState, setFormState] = useState({\r\n isDirty: false,\r\n isValidating: false,\r\n dirtyFields: {},\r\n isSubmitted: false,\r\n submitCount: 0,\r\n touched: {},\r\n isSubmitting: false,\r\n isSubmitSuccessful: false,\r\n isValid: !isOnSubmit,\r\n errors: {},\r\n });\r\n const readFormStateRef = useRef({\r\n isDirty: !isProxyEnabled,\r\n dirtyFields: !isProxyEnabled,\r\n touched: !isProxyEnabled || isOnTouch,\r\n isValidating: !isProxyEnabled,\r\n isSubmitting: !isProxyEnabled,\r\n isValid: !isProxyEnabled,\r\n });\r\n const formStateRef = useRef(formState);\r\n const observerRef = useRef();\r\n const { isOnBlur: isReValidateOnBlur, isOnChange: isReValidateOnChange, } = useRef(modeChecker(reValidateMode)).current;\r\n contextRef.current = context;\r\n resolverRef.current = resolver;\r\n formStateRef.current = formState;\r\n shallowFieldsStateRef.current = shouldUnregister\r\n ? {}\r\n : isEmptyObject(shallowFieldsStateRef.current)\r\n ? cloneObject(defaultValues)\r\n : shallowFieldsStateRef.current;\r\n const updateFormState = useCallback((state = {}) => {\r\n if (!isUnMount.current) {\r\n formStateRef.current = Object.assign(Object.assign({}, formStateRef.current), state);\r\n setFormState(formStateRef.current);\r\n }\r\n }, []);\r\n const updateIsValidating = () => readFormStateRef.current.isValidating &&\r\n updateFormState({\r\n isValidating: true,\r\n });\r\n const shouldRenderBaseOnError = useCallback((name, error, shouldRender = false, state = {}, isValid) => {\r\n let shouldReRender = shouldRender ||\r\n isErrorStateChanged({\r\n errors: formStateRef.current.errors,\r\n error,\r\n name,\r\n validFields: validFieldsRef.current,\r\n fieldsWithValidation: fieldsWithValidationRef.current,\r\n });\r\n const previousError = get(formStateRef.current.errors, name);\r\n if (error) {\r\n unset(validFieldsRef.current, name);\r\n shouldReRender =\r\n shouldReRender ||\r\n !previousError ||\r\n !deepEqual(previousError, error, true);\r\n set(formStateRef.current.errors, name, error);\r\n }\r\n else {\r\n if (get(fieldsWithValidationRef.current, name) || resolverRef.current) {\r\n set(validFieldsRef.current, name, true);\r\n shouldReRender = shouldReRender || previousError;\r\n }\r\n unset(formStateRef.current.errors, name);\r\n }\r\n if ((shouldReRender && !isNullOrUndefined(shouldRender)) ||\r\n !isEmptyObject(state) ||\r\n readFormStateRef.current.isValidating) {\r\n updateFormState(Object.assign(Object.assign(Object.assign({}, state), (resolverRef.current ? { isValid: !!isValid } : {})), { isValidating: false }));\r\n }\r\n }, []);\r\n const setFieldValue = useCallback((name, rawValue) => {\r\n const { ref, options } = fieldsRef.current[name];\r\n const value = isWeb && isHTMLElement(ref) && isNullOrUndefined(rawValue)\r\n ? ''\r\n : rawValue;\r\n if (isRadioInput(ref)) {\r\n (options || []).forEach(({ ref: radioRef }) => (radioRef.checked = radioRef.value === value));\r\n }\r\n else if (isFileInput(ref) && !isString(value)) {\r\n ref.files = value;\r\n }\r\n else if (isMultipleSelect(ref)) {\r\n [...ref.options].forEach((selectRef) => (selectRef.selected = value.includes(selectRef.value)));\r\n }\r\n else if (isCheckBoxInput(ref) && options) {\r\n options.length > 1\r\n ? options.forEach(({ ref: checkboxRef }) => (checkboxRef.checked = Array.isArray(value)\r\n ? !!value.find((data) => data === checkboxRef.value)\r\n : value === checkboxRef.value))\r\n : (options[0].ref.checked = !!value);\r\n }\r\n else {\r\n ref.value = value;\r\n }\r\n }, []);\r\n const isFormDirty = useCallback((name, data) => {\r\n if (readFormStateRef.current.isDirty) {\r\n const formValues = getValues();\r\n name && data && set(formValues, name, data);\r\n return !deepEqual(formValues, defaultValuesRef.current);\r\n }\r\n return false;\r\n }, []);\r\n const updateAndGetDirtyState = useCallback((name, shouldRender = true) => {\r\n if (readFormStateRef.current.isDirty ||\r\n readFormStateRef.current.dirtyFields) {\r\n const isFieldDirty = !deepEqual(get(defaultValuesRef.current, name), getFieldValue(fieldsRef, name, shallowFieldsStateRef));\r\n const isDirtyFieldExist = get(formStateRef.current.dirtyFields, name);\r\n const previousIsDirty = formStateRef.current.isDirty;\r\n isFieldDirty\r\n ? set(formStateRef.current.dirtyFields, name, true)\r\n : unset(formStateRef.current.dirtyFields, name);\r\n const state = {\r\n isDirty: isFormDirty(),\r\n dirtyFields: formStateRef.current.dirtyFields,\r\n };\r\n const isChanged = (readFormStateRef.current.isDirty &&\r\n previousIsDirty !== state.isDirty) ||\r\n (readFormStateRef.current.dirtyFields &&\r\n isDirtyFieldExist !== get(formStateRef.current.dirtyFields, name));\r\n isChanged && shouldRender && updateFormState(state);\r\n return isChanged ? state : {};\r\n }\r\n return {};\r\n }, []);\r\n const executeValidation = useCallback(async (name, skipReRender) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!fieldsRef.current[name]) {\r\n console.warn('📋 Field is missing with `name` attribute: ', name);\r\n return false;\r\n }\r\n }\r\n const error = (await validateField(fieldsRef, isValidateAllFieldCriteria, fieldsRef.current[name], shallowFieldsStateRef))[name];\r\n shouldRenderBaseOnError(name, error, skipReRender);\r\n return isUndefined(error);\r\n }, [shouldRenderBaseOnError, isValidateAllFieldCriteria]);\r\n const executeSchemaOrResolverValidation = useCallback(async (names) => {\r\n const { errors } = await resolverRef.current(getValues(), contextRef.current, isValidateAllFieldCriteria);\r\n const previousFormIsValid = formStateRef.current.isValid;\r\n if (Array.isArray(names)) {\r\n const isInputsValid = names\r\n .map((name) => {\r\n const error = get(errors, name);\r\n error\r\n ? set(formStateRef.current.errors, name, error)\r\n : unset(formStateRef.current.errors, name);\r\n return !error;\r\n })\r\n .every(Boolean);\r\n updateFormState({\r\n isValid: isEmptyObject(errors),\r\n isValidating: false,\r\n });\r\n return isInputsValid;\r\n }\r\n else {\r\n const error = get(errors, names);\r\n shouldRenderBaseOnError(names, error, previousFormIsValid !== isEmptyObject(errors), {}, isEmptyObject(errors));\r\n return !error;\r\n }\r\n }, [shouldRenderBaseOnError, isValidateAllFieldCriteria]);\r\n const trigger = useCallback(async (name) => {\r\n const fields = name || Object.keys(fieldsRef.current);\r\n updateIsValidating();\r\n if (resolverRef.current) {\r\n return executeSchemaOrResolverValidation(fields);\r\n }\r\n if (Array.isArray(fields)) {\r\n !name && (formStateRef.current.errors = {});\r\n const result = await Promise.all(fields.map(async (data) => await executeValidation(data, null)));\r\n updateFormState({\r\n isValidating: false,\r\n });\r\n return result.every(Boolean);\r\n }\r\n return await executeValidation(fields);\r\n }, [executeSchemaOrResolverValidation, executeValidation]);\r\n const setInternalValues = useCallback((name, value, { shouldDirty, shouldValidate }) => {\r\n const data = {};\r\n set(data, name, value);\r\n for (const fieldName of getPath(name, value)) {\r\n if (fieldsRef.current[fieldName]) {\r\n setFieldValue(fieldName, get(data, fieldName));\r\n shouldDirty && updateAndGetDirtyState(fieldName);\r\n shouldValidate && trigger(fieldName);\r\n }\r\n }\r\n }, [trigger, setFieldValue, updateAndGetDirtyState]);\r\n const setInternalValue = useCallback((name, value, config) => {\r\n !shouldUnregister &&\r\n !isPrimitive(value) &&\r\n set(shallowFieldsStateRef.current, name, Array.isArray(value) ? [...value] : Object.assign({}, value));\r\n if (fieldsRef.current[name]) {\r\n setFieldValue(name, value);\r\n config.shouldDirty && updateAndGetDirtyState(name);\r\n config.shouldValidate && trigger(name);\r\n }\r\n else if (!isPrimitive(value)) {\r\n setInternalValues(name, value, config);\r\n if (fieldArrayNamesRef.current.has(name)) {\r\n const parentName = getFieldArrayParentName(name) || name;\r\n set(fieldArrayDefaultValuesRef.current, name, value);\r\n resetFieldArrayFunctionRef.current[parentName]({\r\n [parentName]: get(fieldArrayDefaultValuesRef.current, parentName),\r\n });\r\n if ((readFormStateRef.current.isDirty ||\r\n readFormStateRef.current.dirtyFields) &&\r\n config.shouldDirty) {\r\n set(formStateRef.current.dirtyFields, name, setFieldArrayDirtyFields(value, get(defaultValuesRef.current, name, []), get(formStateRef.current.dirtyFields, name, [])));\r\n updateFormState({\r\n isDirty: !deepEqual(Object.assign(Object.assign({}, getValues()), { [name]: value }), defaultValuesRef.current),\r\n });\r\n }\r\n }\r\n }\r\n !shouldUnregister && set(shallowFieldsStateRef.current, name, value);\r\n }, [updateAndGetDirtyState, setFieldValue, setInternalValues]);\r\n const isFieldWatched = (name) => isWatchAllRef.current ||\r\n watchFieldsRef.current.has(name) ||\r\n watchFieldsRef.current.has((name.match(/\\w+/) || [])[0]);\r\n const renderWatchedInputs = (name) => {\r\n let found = true;\r\n if (!isEmptyObject(useWatchFieldsRef.current)) {\r\n for (const key in useWatchFieldsRef.current) {\r\n if (!name ||\r\n !useWatchFieldsRef.current[key].size ||\r\n useWatchFieldsRef.current[key].has(name) ||\r\n useWatchFieldsRef.current[key].has(getFieldArrayParentName(name))) {\r\n useWatchRenderFunctionsRef.current[key]();\r\n found = false;\r\n }\r\n }\r\n }\r\n return found;\r\n };\r\n function setValue(name, value, config) {\r\n setInternalValue(name, value, config || {});\r\n isFieldWatched(name) && updateFormState();\r\n renderWatchedInputs(name);\r\n }\r\n handleChangeRef.current = handleChangeRef.current\r\n ? handleChangeRef.current\r\n : async ({ type, target }) => {\r\n let name = target.name;\r\n const field = fieldsRef.current[name];\r\n let error;\r\n let isValid;\r\n if (field) {\r\n const isBlurEvent = type === EVENTS.BLUR;\r\n const shouldSkipValidation = skipValidation(Object.assign({ isBlurEvent,\r\n isReValidateOnChange,\r\n isReValidateOnBlur, isTouched: !!get(formStateRef.current.touched, name), isSubmitted: formStateRef.current.isSubmitted }, modeRef.current));\r\n let state = updateAndGetDirtyState(name, false);\r\n let shouldRender = !isEmptyObject(state) ||\r\n (!isBlurEvent && isFieldWatched(name));\r\n if (isBlurEvent &&\r\n !get(formStateRef.current.touched, name) &&\r\n readFormStateRef.current.touched) {\r\n set(formStateRef.current.touched, name, true);\r\n state = Object.assign(Object.assign({}, state), { touched: formStateRef.current.touched });\r\n }\r\n if (!shouldUnregister && isCheckBoxInput(target)) {\r\n set(shallowFieldsStateRef.current, name, getFieldValue(fieldsRef, name));\r\n }\r\n if (shouldSkipValidation) {\r\n !isBlurEvent && renderWatchedInputs(name);\r\n return ((!isEmptyObject(state) ||\r\n (shouldRender && isEmptyObject(state))) &&\r\n updateFormState(state));\r\n }\r\n updateIsValidating();\r\n if (resolverRef.current) {\r\n const { errors } = await resolverRef.current(getValues(), contextRef.current, isValidateAllFieldCriteria);\r\n const previousFormIsValid = formStateRef.current.isValid;\r\n error = get(errors, name);\r\n if (isCheckBoxInput(target) &&\r\n !error &&\r\n resolverRef.current) {\r\n const parentNodeName = getFieldArrayParentName(name);\r\n const currentError = get(errors, parentNodeName, {});\r\n currentError.type &&\r\n currentError.message &&\r\n (error = currentError);\r\n if (parentNodeName &&\r\n (currentError ||\r\n get(formStateRef.current.errors, parentNodeName))) {\r\n name = parentNodeName;\r\n }\r\n }\r\n isValid = isEmptyObject(errors);\r\n previousFormIsValid !== isValid && (shouldRender = true);\r\n }\r\n else {\r\n error = (await validateField(fieldsRef, isValidateAllFieldCriteria, field, shallowFieldsStateRef))[name];\r\n }\r\n !isBlurEvent && renderWatchedInputs(name);\r\n shouldRenderBaseOnError(name, error, shouldRender, state, isValid);\r\n }\r\n };\r\n function setFieldArrayDefaultValues(data) {\r\n if (!shouldUnregister) {\r\n let copy = cloneObject(data);\r\n for (const value of fieldArrayNamesRef.current) {\r\n if (isKey(value) && !copy[value]) {\r\n copy = Object.assign(Object.assign({}, copy), { [value]: [] });\r\n }\r\n }\r\n return copy;\r\n }\r\n return data;\r\n }\r\n function getValues(payload) {\r\n if (isString(payload)) {\r\n return getFieldValue(fieldsRef, payload, shallowFieldsStateRef);\r\n }\r\n if (Array.isArray(payload)) {\r\n const data = {};\r\n for (const name of payload) {\r\n set(data, name, getFieldValue(fieldsRef, name, shallowFieldsStateRef));\r\n }\r\n return data;\r\n }\r\n return setFieldArrayDefaultValues(getFieldsValues(fieldsRef, cloneObject(shallowFieldsStateRef.current), shouldUnregister));\r\n }\r\n const validateResolver = useCallback(async (values = {}) => {\r\n const newDefaultValues = isEmptyObject(fieldsRef.current)\r\n ? defaultValuesRef.current\r\n : {};\r\n const { errors } = (await resolverRef.current(Object.assign(Object.assign(Object.assign({}, newDefaultValues), getValues()), values), contextRef.current, isValidateAllFieldCriteria)) || {};\r\n const isValid = isEmptyObject(errors);\r\n formStateRef.current.isValid !== isValid &&\r\n updateFormState({\r\n isValid,\r\n });\r\n }, [isValidateAllFieldCriteria]);\r\n const removeFieldEventListener = useCallback((field, forceDelete) => {\r\n findRemovedFieldAndRemoveListener(fieldsRef, handleChangeRef.current, field, shallowFieldsStateRef, shouldUnregister, forceDelete);\r\n if (shouldUnregister) {\r\n unset(validFieldsRef.current, field.ref.name);\r\n unset(fieldsWithValidationRef.current, field.ref.name);\r\n }\r\n }, [shouldUnregister]);\r\n const updateWatchedValue = useCallback((name) => {\r\n if (isWatchAllRef.current) {\r\n updateFormState();\r\n }\r\n else {\r\n for (const watchField of watchFieldsRef.current) {\r\n if (watchField.startsWith(name)) {\r\n updateFormState();\r\n break;\r\n }\r\n }\r\n renderWatchedInputs(name);\r\n }\r\n }, []);\r\n const removeFieldEventListenerAndRef = useCallback((field, forceDelete) => {\r\n if (field) {\r\n removeFieldEventListener(field, forceDelete);\r\n if (shouldUnregister && !compact(field.options || []).length) {\r\n unset(formStateRef.current.errors, field.ref.name);\r\n set(formStateRef.current.dirtyFields, field.ref.name, true);\r\n updateFormState({\r\n isDirty: isFormDirty(),\r\n });\r\n readFormStateRef.current.isValid &&\r\n resolverRef.current &&\r\n validateResolver();\r\n updateWatchedValue(field.ref.name);\r\n }\r\n }\r\n }, [validateResolver, removeFieldEventListener]);\r\n function clearErrors(name) {\r\n name &&\r\n (Array.isArray(name) ? name : [name]).forEach((inputName) => fieldsRef.current[inputName] && isKey(inputName)\r\n ? delete formStateRef.current.errors[inputName]\r\n : unset(formStateRef.current.errors, inputName));\r\n updateFormState({\r\n errors: name ? formStateRef.current.errors : {},\r\n });\r\n }\r\n function setError(name, error) {\r\n const ref = (fieldsRef.current[name] || {}).ref;\r\n set(formStateRef.current.errors, name, Object.assign(Object.assign({}, error), { ref }));\r\n updateFormState({\r\n isValid: false,\r\n });\r\n error.shouldFocus && ref && ref.focus && ref.focus();\r\n }\r\n const watchInternal = useCallback((fieldNames, defaultValue, watchId) => {\r\n const watchFields = watchId\r\n ? useWatchFieldsRef.current[watchId]\r\n : watchFieldsRef.current;\r\n let fieldValues = getFieldsValues(fieldsRef, cloneObject(shallowFieldsStateRef.current), shouldUnregister, false, fieldNames);\r\n if (isString(fieldNames)) {\r\n const parentNodeName = getFieldArrayParentName(fieldNames) || fieldNames;\r\n if (fieldArrayNamesRef.current.has(parentNodeName)) {\r\n fieldValues = Object.assign(Object.assign({}, fieldArrayValuesRef.current), fieldValues);\r\n }\r\n return assignWatchFields(fieldValues, fieldNames, watchFields, isUndefined(get(defaultValuesRef.current, fieldNames))\r\n ? defaultValue\r\n : get(defaultValuesRef.current, fieldNames), true);\r\n }\r\n const combinedDefaultValues = isUndefined(defaultValue)\r\n ? defaultValuesRef.current\r\n : defaultValue;\r\n if (Array.isArray(fieldNames)) {\r\n return fieldNames.reduce((previous, name) => (Object.assign(Object.assign({}, previous), { [name]: assignWatchFields(fieldValues, name, watchFields, combinedDefaultValues) })), {});\r\n }\r\n isWatchAllRef.current = isUndefined(watchId);\r\n return transformToNestObject((!isEmptyObject(fieldValues) && fieldValues) ||\r\n combinedDefaultValues);\r\n }, []);\r\n function watch(fieldNames, defaultValue) {\r\n return watchInternal(fieldNames, defaultValue);\r\n }\r\n function unregister(name) {\r\n for (const fieldName of Array.isArray(name) ? name : [name]) {\r\n removeFieldEventListenerAndRef(fieldsRef.current[fieldName], true);\r\n }\r\n }\r\n function registerFieldRef(ref, options = {}) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!ref.name) {\r\n return console.warn('📋 Field is missing `name` attribute', ref, `https://react-hook-form.com/api#useForm`);\r\n }\r\n if (fieldArrayNamesRef.current.has(ref.name.split(/\\[\\d+\\]$/)[0]) &&\r\n !RegExp(`^${ref.name.split(/\\[\\d+\\]$/)[0]}[\\\\d+].\\\\w+`\r\n .replace(/\\[/g, '\\\\[')\r\n .replace(/\\]/g, '\\\\]')).test(ref.name)) {\r\n return console.warn('📋 `name` prop should be in object shape: name=\"test[index].name\"', ref, 'https://react-hook-form.com/api#useFieldArray');\r\n }\r\n }\r\n const { name, type, value } = ref;\r\n const fieldRefAndValidationOptions = Object.assign({ ref }, options);\r\n const fields = fieldsRef.current;\r\n const isRadioOrCheckbox = isRadioOrCheckboxFunction(ref);\r\n const isFieldArray = isNameInFieldArray(fieldArrayNamesRef.current, name);\r\n const compareRef = (currentRef) => isWeb && (!isHTMLElement(ref) || currentRef === ref);\r\n let field = fields[name];\r\n let isEmptyDefaultValue = true;\r\n let defaultValue;\r\n if (field &&\r\n (isRadioOrCheckbox\r\n ? Array.isArray(field.options) &&\r\n compact(field.options).find((option) => {\r\n return value === option.ref.value && compareRef(option.ref);\r\n })\r\n : compareRef(field.ref))) {\r\n fields[name] = Object.assign(Object.assign({}, field), options);\r\n return;\r\n }\r\n if (type) {\r\n field = isRadioOrCheckbox\r\n ? Object.assign({ options: [\r\n ...compact((field && field.options) || []),\r\n {\r\n ref,\r\n },\r\n ], ref: { type, name } }, options) : Object.assign({}, fieldRefAndValidationOptions);\r\n }\r\n else {\r\n field = fieldRefAndValidationOptions;\r\n }\r\n fields[name] = field;\r\n const isEmptyUnmountFields = isUndefined(get(shallowFieldsStateRef.current, name));\r\n if (!isEmptyObject(defaultValuesRef.current) || !isEmptyUnmountFields) {\r\n defaultValue = get(isEmptyUnmountFields\r\n ? defaultValuesRef.current\r\n : shallowFieldsStateRef.current, name);\r\n isEmptyDefaultValue = isUndefined(defaultValue);\r\n if (!isEmptyDefaultValue && !isFieldArray) {\r\n setFieldValue(name, defaultValue);\r\n }\r\n }\r\n if (!isEmptyObject(options)) {\r\n set(fieldsWithValidationRef.current, name, true);\r\n if (!isOnSubmit && readFormStateRef.current.isValid) {\r\n validateField(fieldsRef, isValidateAllFieldCriteria, field, shallowFieldsStateRef).then((error) => {\r\n const previousFormIsValid = formStateRef.current.isValid;\r\n isEmptyObject(error)\r\n ? set(validFieldsRef.current, name, true)\r\n : unset(validFieldsRef.current, name);\r\n previousFormIsValid !== isEmptyObject(error) && updateFormState();\r\n });\r\n }\r\n }\r\n if (shouldUnregister && !(isFieldArray && isEmptyDefaultValue)) {\r\n !isFieldArray && unset(formStateRef.current.dirtyFields, name);\r\n }\r\n if (type) {\r\n attachEventListeners(isRadioOrCheckbox && field.options\r\n ? field.options[field.options.length - 1]\r\n : field, isRadioOrCheckbox || isSelectInput(ref), handleChangeRef.current);\r\n }\r\n }\r\n function register(refOrRegisterOptions, options) {\r\n if (!isWindowUndefined) {\r\n if (isString(refOrRegisterOptions)) {\r\n registerFieldRef({ name: refOrRegisterOptions }, options);\r\n }\r\n else if (isObject(refOrRegisterOptions) &&\r\n 'name' in refOrRegisterOptions) {\r\n registerFieldRef(refOrRegisterOptions, options);\r\n }\r\n else {\r\n return (ref) => ref && registerFieldRef(ref, refOrRegisterOptions);\r\n }\r\n }\r\n }\r\n const handleSubmit = useCallback((onValid, onInvalid) => async (e) => {\r\n if (e && e.preventDefault) {\r\n e.preventDefault();\r\n e.persist();\r\n }\r\n let fieldErrors = {};\r\n let fieldValues = setFieldArrayDefaultValues(getFieldsValues(fieldsRef, cloneObject(shallowFieldsStateRef.current), shouldUnregister, true));\r\n readFormStateRef.current.isSubmitting &&\r\n updateFormState({\r\n isSubmitting: true,\r\n });\r\n try {\r\n if (resolverRef.current) {\r\n const { errors, values } = await resolverRef.current(fieldValues, contextRef.current, isValidateAllFieldCriteria);\r\n formStateRef.current.errors = fieldErrors = errors;\r\n fieldValues = values;\r\n }\r\n else {\r\n for (const field of Object.values(fieldsRef.current)) {\r\n if (field) {\r\n const { name } = field.ref;\r\n const fieldError = await validateField(fieldsRef, isValidateAllFieldCriteria, field, shallowFieldsStateRef);\r\n if (fieldError[name]) {\r\n set(fieldErrors, name, fieldError[name]);\r\n unset(validFieldsRef.current, name);\r\n }\r\n else if (get(fieldsWithValidationRef.current, name)) {\r\n unset(formStateRef.current.errors, name);\r\n set(validFieldsRef.current, name, true);\r\n }\r\n }\r\n }\r\n }\r\n if (isEmptyObject(fieldErrors) &&\r\n Object.keys(formStateRef.current.errors).every((name) => name in fieldsRef.current)) {\r\n updateFormState({\r\n errors: {},\r\n isSubmitting: true,\r\n });\r\n await onValid(fieldValues, e);\r\n }\r\n else {\r\n formStateRef.current.errors = Object.assign(Object.assign({}, formStateRef.current.errors), fieldErrors);\r\n onInvalid && (await onInvalid(formStateRef.current.errors, e));\r\n shouldFocusError &&\r\n focusOnErrorField(fieldsRef.current, formStateRef.current.errors);\r\n }\r\n }\r\n finally {\r\n formStateRef.current.isSubmitting = false;\r\n updateFormState({\r\n isSubmitted: true,\r\n isSubmitting: false,\r\n isSubmitSuccessful: isEmptyObject(formStateRef.current.errors),\r\n submitCount: formStateRef.current.submitCount + 1,\r\n });\r\n }\r\n }, [shouldFocusError, isValidateAllFieldCriteria]);\r\n const resetRefs = ({ errors, isDirty, isSubmitted, touched, isValid, submitCount, dirtyFields, }) => {\r\n if (!isValid) {\r\n validFieldsRef.current = {};\r\n fieldsWithValidationRef.current = {};\r\n }\r\n fieldArrayDefaultValuesRef.current = {};\r\n watchFieldsRef.current = new Set();\r\n isWatchAllRef.current = false;\r\n updateFormState({\r\n submitCount: submitCount ? formStateRef.current.submitCount : 0,\r\n isDirty: isDirty ? formStateRef.current.isDirty : false,\r\n isSubmitted: isSubmitted ? formStateRef.current.isSubmitted : false,\r\n isValid: isValid ? formStateRef.current.isValid : false,\r\n dirtyFields: dirtyFields ? formStateRef.current.dirtyFields : {},\r\n touched: touched ? formStateRef.current.touched : {},\r\n errors: errors ? formStateRef.current.errors : {},\r\n isSubmitting: false,\r\n isSubmitSuccessful: false,\r\n });\r\n };\r\n const reset = (values, omitResetState = {}) => {\r\n if (isWeb) {\r\n for (const field of Object.values(fieldsRef.current)) {\r\n if (field) {\r\n const { ref, options } = field;\r\n const inputRef = isRadioOrCheckboxFunction(ref) && Array.isArray(options)\r\n ? options[0].ref\r\n : ref;\r\n if (isHTMLElement(inputRef)) {\r\n try {\r\n inputRef.closest('form').reset();\r\n break;\r\n }\r\n catch (_a) { }\r\n }\r\n }\r\n }\r\n }\r\n fieldsRef.current = {};\r\n defaultValuesRef.current = Object.assign({}, (values || defaultValuesRef.current));\r\n values && renderWatchedInputs('');\r\n Object.values(resetFieldArrayFunctionRef.current).forEach((resetFieldArray) => isFunction(resetFieldArray) && resetFieldArray());\r\n shallowFieldsStateRef.current = shouldUnregister\r\n ? {}\r\n : cloneObject(values || defaultValuesRef.current);\r\n resetRefs(omitResetState);\r\n };\r\n useEffect(() => {\r\n resolver && readFormStateRef.current.isValid && validateResolver();\r\n observerRef.current =\r\n observerRef.current || !isWeb\r\n ? observerRef.current\r\n : onDomRemove(fieldsRef, removeFieldEventListenerAndRef);\r\n }, [removeFieldEventListenerAndRef, defaultValuesRef.current]);\r\n useEffect(() => () => {\r\n observerRef.current && observerRef.current.disconnect();\r\n isUnMount.current = true;\r\n if (process.env.NODE_ENV !== 'production') {\r\n return;\r\n }\r\n Object.values(fieldsRef.current).forEach((field) => removeFieldEventListenerAndRef(field, true));\r\n }, []);\r\n if (!resolver && readFormStateRef.current.isValid) {\r\n formState.isValid =\r\n deepEqual(validFieldsRef.current, fieldsWithValidationRef.current) &&\r\n isEmptyObject(formStateRef.current.errors);\r\n }\r\n const commonProps = {\r\n trigger,\r\n setValue: useCallback(setValue, [setInternalValue, trigger]),\r\n getValues: useCallback(getValues, []),\r\n register: useCallback(register, [defaultValuesRef.current]),\r\n unregister: useCallback(unregister, []),\r\n formState: isProxyEnabled\r\n ? new Proxy(formState, {\r\n get: (obj, prop) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (prop === 'isValid' && isOnSubmit) {\r\n console.warn('📋 `formState.isValid` is applicable with `onTouched`, `onChange` or `onBlur` mode. https://react-hook-form.com/api#formState');\r\n }\r\n }\r\n if (prop in obj) {\r\n readFormStateRef.current[prop] = true;\r\n return obj[prop];\r\n }\r\n return undefined;\r\n },\r\n })\r\n : formState,\r\n };\r\n const control = useMemo(() => (Object.assign({ isFormDirty,\r\n updateWatchedValue,\r\n shouldUnregister,\r\n updateFormState,\r\n removeFieldEventListener,\r\n watchInternal, mode: modeRef.current, reValidateMode: {\r\n isReValidateOnBlur,\r\n isReValidateOnChange,\r\n }, validateResolver: resolver ? validateResolver : undefined, fieldsRef,\r\n resetFieldArrayFunctionRef,\r\n useWatchFieldsRef,\r\n useWatchRenderFunctionsRef,\r\n fieldArrayDefaultValuesRef,\r\n validFieldsRef,\r\n fieldsWithValidationRef,\r\n fieldArrayNamesRef,\r\n readFormStateRef,\r\n formStateRef,\r\n defaultValuesRef,\r\n shallowFieldsStateRef,\r\n fieldArrayValuesRef }, commonProps)), [\r\n defaultValuesRef.current,\r\n updateWatchedValue,\r\n shouldUnregister,\r\n removeFieldEventListener,\r\n watchInternal,\r\n ]);\r\n return Object.assign({ watch,\r\n control,\r\n handleSubmit, reset: useCallback(reset, []), clearErrors: useCallback(clearErrors, []), setError: useCallback(setError, []), errors: formState.errors }, commonProps);\r\n}\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nconst FormContext = createContext(null);\r\nFormContext.displayName = 'RHFContext';\r\nconst useFormContext = () => useContext(FormContext);\r\nconst FormProvider = (_a) => {\r\n var { children } = _a, props = __rest(_a, [\"children\"]);\r\n return (createElement(FormContext.Provider, { value: Object.assign({}, props) }, children));\r\n};\n\nvar generateId = () => {\r\n const d = typeof performance === UNDEFINED ? Date.now() : performance.now() * 1000;\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n const r = (Math.random() * 16 + d) % 16 | 0;\r\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\r\n });\r\n};\n\nfunction removeAtIndexes(data, indexes) {\r\n let i = 0;\r\n const temp = [...data];\r\n for (const index of indexes) {\r\n temp.splice(index - i, 1);\r\n i++;\r\n }\r\n return compact(temp).length ? temp : [];\r\n}\r\nvar removeArrayAt = (data, index) => isUndefined(index)\r\n ? []\r\n : removeAtIndexes(data, (Array.isArray(index) ? index : [index]).sort((a, b) => a - b));\n\nvar moveArrayAt = (data, from, to) => {\r\n if (Array.isArray(data)) {\r\n if (isUndefined(data[to])) {\r\n data[to] = undefined;\r\n }\r\n data.splice(to, 0, data.splice(from, 1)[0]);\r\n return data;\r\n }\r\n return [];\r\n};\n\nvar swapArrayAt = (data, indexA, indexB) => {\r\n const temp = [data[indexB], data[indexA]];\r\n data[indexA] = temp[0];\r\n data[indexB] = temp[1];\r\n};\n\nfunction prepend(data, value) {\r\n return [...(Array.isArray(value) ? value : [value || undefined]), ...data];\r\n}\n\nfunction insert(data, index, value) {\r\n return [\r\n ...data.slice(0, index),\r\n ...(Array.isArray(value) ? value : [value || undefined]),\r\n ...data.slice(index),\r\n ];\r\n}\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? Array(value.length).fill(undefined) : undefined;\n\nvar fillBooleanArray = (value) => (Array.isArray(value) ? value : [value]).map((data) => {\r\n if (isObject(data)) {\r\n const object = {};\r\n for (const key in data) {\r\n object[key] = true;\r\n }\r\n return object;\r\n }\r\n return true;\r\n});\n\nconst mapIds = (values = [], keyName, skipWarn) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!skipWarn) {\r\n for (const value of values) {\r\n if (typeof value === 'object') {\r\n if (keyName in value) {\r\n console.warn(`📋 useFieldArray fieldValues contain the keyName \\`${keyName}\\` which is reserved for use by useFieldArray. https://react-hook-form.com/api#useFieldArray`);\r\n break;\r\n }\r\n }\r\n else {\r\n console.warn(`📋 useFieldArray input's name should be in object shape instead of flat array. https://react-hook-form.com/api#useFieldArray`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return values.map((value) => (Object.assign({ [keyName]: value[keyName] || generateId() }, value)));\r\n};\r\nconst useFieldArray = ({ control, name, keyName = 'id', }) => {\r\n const methods = useFormContext();\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!control && !methods) {\r\n throw new Error('📋 useFieldArray is missing `control` prop. https://react-hook-form.com/api#useFieldArray');\r\n }\r\n }\r\n const focusIndexRef = useRef(-1);\r\n const isUnMount = useRef(false);\r\n const { isFormDirty, updateWatchedValue, resetFieldArrayFunctionRef, fieldArrayNamesRef, fieldsRef, defaultValuesRef, removeFieldEventListener, formStateRef, shallowFieldsStateRef, updateFormState, readFormStateRef, validFieldsRef, fieldsWithValidationRef, fieldArrayDefaultValuesRef, validateResolver, getValues, shouldUnregister, fieldArrayValuesRef, } = control || methods.control;\r\n const getDefaultValues = (values) => get(shouldUnregister ? values : shallowFieldsStateRef.current, name, []);\r\n const fieldArrayParentName = getFieldArrayParentName(name);\r\n const memoizedDefaultValues = useRef([\r\n ...(get(fieldArrayDefaultValuesRef.current, fieldArrayParentName)\r\n ? getDefaultValues(fieldArrayDefaultValuesRef.current)\r\n : getDefaultValues(defaultValuesRef.current)),\r\n ]);\r\n const [fields, setFields] = useState(mapIds(memoizedDefaultValues.current, keyName));\r\n set(fieldArrayValuesRef.current, name, compact(fields));\r\n const omitKey = (fields) => fields.map((_a = {}) => {\r\n var _b = keyName, omitted = _a[_b], rest = __rest(_a, [typeof _b === \"symbol\" ? _b : _b + \"\"]);\r\n return rest;\r\n });\r\n fieldArrayNamesRef.current.add(name);\r\n const getFieldArrayValue = useCallback(() => get(fieldArrayValuesRef.current, name, []), [name]);\r\n const getCurrentFieldsValues = () => mapIds(get(getValues(), name, getFieldArrayValue()).map((item, index) => (Object.assign(Object.assign({}, getFieldArrayValue()[index]), item))), keyName, true);\r\n fieldArrayNamesRef.current.add(name);\r\n if (fieldArrayParentName &&\r\n !get(fieldArrayDefaultValuesRef.current, fieldArrayParentName)) {\r\n set(fieldArrayDefaultValuesRef.current, fieldArrayParentName, cloneObject(get(defaultValuesRef.current, fieldArrayParentName)));\r\n }\r\n const setFieldAndValidState = (fieldsValues) => {\r\n setFields(fieldsValues);\r\n set(fieldArrayValuesRef.current, name, fieldsValues);\r\n if (readFormStateRef.current.isValid && validateResolver) {\r\n const values = getValues();\r\n set(values, name, fieldsValues);\r\n validateResolver(values);\r\n }\r\n };\r\n const resetFields = () => {\r\n for (const key in fieldsRef.current) {\r\n if (isMatchFieldArrayName(key, name)) {\r\n removeFieldEventListener(fieldsRef.current[key], true);\r\n delete fieldsRef.current[key];\r\n }\r\n }\r\n };\r\n const cleanup = (ref) => !compact(get(ref, name, [])).length && unset(ref, name);\r\n const updateDirtyFieldsWithDefaultValues = (updatedFieldArrayValues) => {\r\n if (updatedFieldArrayValues) {\r\n set(formStateRef.current.dirtyFields, name, setFieldArrayDirtyFields(omitKey(updatedFieldArrayValues), get(defaultValuesRef.current, name, []), get(formStateRef.current.dirtyFields, name, [])));\r\n }\r\n };\r\n const batchStateUpdate = (method, args, updatedFieldValues, updatedFormValues = [], shouldSet = true, shouldUpdateValid = false) => {\r\n if (get(shallowFieldsStateRef.current, name)) {\r\n const output = method(get(shallowFieldsStateRef.current, name), args.argA, args.argB);\r\n shouldSet && set(shallowFieldsStateRef.current, name, output);\r\n }\r\n if (get(fieldArrayDefaultValuesRef.current, name)) {\r\n const output = method(get(fieldArrayDefaultValuesRef.current, name), args.argA, args.argB);\r\n shouldSet && set(fieldArrayDefaultValuesRef.current, name, output);\r\n }\r\n if (Array.isArray(get(formStateRef.current.errors, name))) {\r\n const output = method(get(formStateRef.current.errors, name), args.argA, args.argB);\r\n shouldSet && set(formStateRef.current.errors, name, output);\r\n cleanup(formStateRef.current.errors);\r\n }\r\n if (readFormStateRef.current.touched &&\r\n get(formStateRef.current.touched, name)) {\r\n const output = method(get(formStateRef.current.touched, name), args.argA, args.argB);\r\n shouldSet && set(formStateRef.current.touched, name, output);\r\n cleanup(formStateRef.current.touched);\r\n }\r\n if (readFormStateRef.current.dirtyFields ||\r\n readFormStateRef.current.isDirty) {\r\n set(formStateRef.current.dirtyFields, name, setFieldArrayDirtyFields(omitKey(updatedFormValues), get(defaultValuesRef.current, name, []), get(formStateRef.current.dirtyFields, name, [])));\r\n updateDirtyFieldsWithDefaultValues(updatedFieldValues);\r\n cleanup(formStateRef.current.dirtyFields);\r\n }\r\n if (shouldUpdateValid &&\r\n readFormStateRef.current.isValid &&\r\n !validateResolver) {\r\n set(validFieldsRef.current, name, method(get(validFieldsRef.current, name, []), args.argA));\r\n cleanup(validFieldsRef.current);\r\n set(fieldsWithValidationRef.current, name, method(get(fieldsWithValidationRef.current, name, []), args.argA));\r\n cleanup(fieldsWithValidationRef.current);\r\n }\r\n if (!isUnMount.current && readFormStateRef.current.isDirty) {\r\n updateFormState({\r\n isDirty: isFormDirty(name, omitKey(updatedFormValues)),\r\n });\r\n }\r\n };\r\n const append = (value, shouldFocus = true) => {\r\n const appendValue = Array.isArray(value) ? value : [value];\r\n const updateFormValues = [\r\n ...getCurrentFieldsValues(),\r\n ...mapIds(appendValue, keyName),\r\n ];\r\n setFieldAndValidState(updateFormValues);\r\n if (readFormStateRef.current.dirtyFields ||\r\n readFormStateRef.current.isDirty) {\r\n updateDirtyFieldsWithDefaultValues(updateFormValues);\r\n updateFormState({\r\n isDirty: true,\r\n dirtyFields: formStateRef.current.dirtyFields,\r\n });\r\n }\r\n !shouldUnregister &&\r\n set(shallowFieldsStateRef.current, name, [\r\n ...(get(shallowFieldsStateRef.current, name) || []),\r\n ...cloneObject(appendValue),\r\n ]);\r\n focusIndexRef.current = shouldFocus\r\n ? get(fieldArrayValuesRef.current, name).length - 1\r\n : -1;\r\n };\r\n const prepend$1 = (value, shouldFocus = true) => {\r\n const emptyArray = fillEmptyArray(value);\r\n const updatedFieldArrayValues = prepend(getCurrentFieldsValues(), mapIds(Array.isArray(value) ? value : [value], keyName));\r\n setFieldAndValidState(updatedFieldArrayValues);\r\n resetFields();\r\n batchStateUpdate(prepend, {\r\n argA: emptyArray,\r\n argC: fillBooleanArray(value),\r\n }, updatedFieldArrayValues);\r\n focusIndexRef.current = shouldFocus ? 0 : -1;\r\n };\r\n const remove = (index) => {\r\n const fieldValues = getCurrentFieldsValues();\r\n const updatedFieldValues = removeArrayAt(fieldValues, index);\r\n setFieldAndValidState(updatedFieldValues);\r\n resetFields();\r\n batchStateUpdate(removeArrayAt, {\r\n argA: index,\r\n argC: index,\r\n }, updatedFieldValues, removeArrayAt(fieldValues, index), true, true);\r\n };\r\n const insert$1 = (index, value, shouldFocus = true) => {\r\n const emptyArray = fillEmptyArray(value);\r\n const fieldValues = getCurrentFieldsValues();\r\n const updatedFieldArrayValues = insert(fieldValues, index, mapIds(Array.isArray(value) ? value : [value], keyName));\r\n setFieldAndValidState(updatedFieldArrayValues);\r\n resetFields();\r\n batchStateUpdate(insert, {\r\n argA: index,\r\n argB: emptyArray,\r\n argC: index,\r\n argD: fillBooleanArray(value),\r\n }, updatedFieldArrayValues, insert(fieldValues, index));\r\n focusIndexRef.current = shouldFocus ? index : -1;\r\n };\r\n const swap = (indexA, indexB) => {\r\n const fieldValues = getCurrentFieldsValues();\r\n swapArrayAt(fieldValues, indexA, indexB);\r\n resetFields();\r\n setFieldAndValidState([...fieldValues]);\r\n batchStateUpdate(swapArrayAt, {\r\n argA: indexA,\r\n argB: indexB,\r\n argC: indexA,\r\n argD: indexB,\r\n }, undefined, fieldValues, false);\r\n };\r\n const move = (from, to) => {\r\n const fieldValues = getCurrentFieldsValues();\r\n moveArrayAt(fieldValues, from, to);\r\n resetFields();\r\n setFieldAndValidState([...fieldValues]);\r\n batchStateUpdate(moveArrayAt, {\r\n argA: from,\r\n argB: to,\r\n argC: from,\r\n argD: to,\r\n }, undefined, fieldValues, false);\r\n };\r\n useEffect(() => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!name) {\r\n console.warn('📋 useFieldArray is missing `name` attribute. https://react-hook-form.com/api#useFieldArray');\r\n }\r\n }\r\n const defaultValues = get(fieldArrayDefaultValuesRef.current, name);\r\n if (defaultValues && fields.length < defaultValues.length) {\r\n set(fieldArrayDefaultValuesRef.current, name, defaultValues.slice(1));\r\n }\r\n updateWatchedValue(name);\r\n if (focusIndexRef.current > -1) {\r\n for (const key in fieldsRef.current) {\r\n const field = fieldsRef.current[key];\r\n if (key.startsWith(`${name}[${focusIndexRef.current}]`) &&\r\n field.ref.focus) {\r\n field.ref.focus();\r\n break;\r\n }\r\n }\r\n }\r\n focusIndexRef.current = -1;\r\n }, [fields, name]);\r\n useEffect(() => {\r\n const resetFunctions = resetFieldArrayFunctionRef.current;\r\n const fieldArrayNames = fieldArrayNamesRef.current;\r\n if (!getFieldArrayParentName(name)) {\r\n resetFunctions[name] = (data) => {\r\n resetFields();\r\n !data && unset(fieldArrayDefaultValuesRef.current, name);\r\n unset(shallowFieldsStateRef.current, name);\r\n memoizedDefaultValues.current = get(data || defaultValuesRef.current, name);\r\n if (!isUnMount.current) {\r\n setFields(mapIds(memoizedDefaultValues.current, keyName));\r\n }\r\n };\r\n }\r\n return () => {\r\n isUnMount.current = true;\r\n shouldUnregister && remove();\r\n resetFields();\r\n delete resetFunctions[name];\r\n unset(fieldArrayValuesRef.current, name);\r\n fieldArrayNames.delete(name);\r\n };\r\n }, []);\r\n return {\r\n swap: useCallback(swap, [name]),\r\n move: useCallback(move, [name]),\r\n prepend: useCallback(prepend$1, [name]),\r\n append: useCallback(append, [name]),\r\n remove: useCallback(remove, [name]),\r\n insert: useCallback(insert$1, [name]),\r\n fields: compact(fields),\r\n };\r\n};\n\nvar getInputValue = (event) => isPrimitive(event) ||\r\n !isObject(event.target) ||\r\n (isObject(event.target) && !event.type)\r\n ? event\r\n : isUndefined(event.target.value)\r\n ? event.target.checked\r\n : event.target.value;\n\nfunction useController({ name, rules, defaultValue, control, onFocus, }) {\r\n const methods = useFormContext();\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!control && !methods) {\r\n throw new Error('📋 Controller is missing `control` prop. https://react-hook-form.com/api#Controller');\r\n }\r\n }\r\n const { defaultValuesRef, setValue, register, unregister, trigger, mode, reValidateMode: { isReValidateOnBlur, isReValidateOnChange }, formState, formStateRef: { current: { isSubmitted, touched, errors }, }, updateFormState, readFormStateRef, fieldsRef, fieldArrayNamesRef, shallowFieldsStateRef, } = control || methods.control;\r\n const isNotFieldArray = !isNameInFieldArray(fieldArrayNamesRef.current, name);\r\n const getInitialValue = () => !isUndefined(get(shallowFieldsStateRef.current, name)) && isNotFieldArray\r\n ? get(shallowFieldsStateRef.current, name)\r\n : isUndefined(defaultValue)\r\n ? get(defaultValuesRef.current, name)\r\n : defaultValue;\r\n const [value, setInputStateValue] = useState(getInitialValue());\r\n const valueRef = useRef(value);\r\n const ref = useRef({\r\n focus: () => null,\r\n });\r\n const onFocusRef = useRef(onFocus ||\r\n (() => {\r\n if (isFunction(ref.current.focus)) {\r\n ref.current.focus();\r\n }\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!isFunction(ref.current.focus)) {\r\n console.warn(`📋 'ref' from Controller render prop must be attached to a React component or a DOM Element whose ref provides a 'focus()' method`);\r\n }\r\n }\r\n }));\r\n const shouldValidate = useCallback((isBlurEvent) => !skipValidation(Object.assign({ isBlurEvent,\r\n isReValidateOnBlur,\r\n isReValidateOnChange,\r\n isSubmitted, isTouched: !!get(touched, name) }, mode)), [\r\n isReValidateOnBlur,\r\n isReValidateOnChange,\r\n isSubmitted,\r\n touched,\r\n name,\r\n mode,\r\n ]);\r\n const commonTask = useCallback(([event]) => {\r\n const data = getInputValue(event);\r\n setInputStateValue(data);\r\n valueRef.current = data;\r\n return data;\r\n }, []);\r\n const registerField = useCallback((shouldUpdateValue) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!name) {\r\n return console.warn('📋 Field is missing `name` prop. https://react-hook-form.com/api#Controller');\r\n }\r\n }\r\n if (fieldsRef.current[name]) {\r\n fieldsRef.current[name] = Object.assign({ ref: fieldsRef.current[name].ref }, rules);\r\n }\r\n else {\r\n register(Object.defineProperties({\r\n name,\r\n focus: onFocusRef.current,\r\n }, {\r\n value: {\r\n set(data) {\r\n setInputStateValue(data);\r\n valueRef.current = data;\r\n },\r\n get() {\r\n return valueRef.current;\r\n },\r\n },\r\n }), rules);\r\n shouldUpdateValue = isUndefined(get(defaultValuesRef.current, name));\r\n }\r\n shouldUpdateValue &&\r\n isNotFieldArray &&\r\n setInputStateValue(getInitialValue());\r\n }, [rules, name, register]);\r\n useEffect(() => () => unregister(name), [name]);\r\n useEffect(() => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (isUndefined(value)) {\r\n console.warn(`📋 ${name} is missing in the 'defaultValue' prop of either its Controller (https://react-hook-form.com/api#Controller) or useForm (https://react-hook-form.com/api#useForm)`);\r\n }\r\n if (!isNotFieldArray && isUndefined(defaultValue)) {\r\n console.warn('📋 Controller is missing `defaultValue` prop when using `useFieldArray`. https://react-hook-form.com/api#Controller');\r\n }\r\n }\r\n registerField();\r\n }, [registerField]);\r\n useEffect(() => {\r\n !fieldsRef.current[name] && registerField(true);\r\n });\r\n const onBlur = useCallback(() => {\r\n if (readFormStateRef.current.touched && !get(touched, name)) {\r\n set(touched, name, true);\r\n updateFormState({\r\n touched,\r\n });\r\n }\r\n shouldValidate(true) && trigger(name);\r\n }, [name, updateFormState, shouldValidate, trigger, readFormStateRef]);\r\n const onChange = useCallback((...event) => setValue(name, commonTask(event), {\r\n shouldValidate: shouldValidate(),\r\n shouldDirty: true,\r\n }), [setValue, name, shouldValidate]);\r\n return {\r\n field: {\r\n onChange,\r\n onBlur,\r\n name,\r\n value,\r\n ref,\r\n },\r\n meta: Object.defineProperties({\r\n invalid: !!get(errors, name),\r\n }, {\r\n isDirty: {\r\n get() {\r\n return !!get(formState.dirtyFields, name);\r\n },\r\n },\r\n isTouched: {\r\n get() {\r\n return !!get(formState.touched, name);\r\n },\r\n },\r\n }),\r\n };\r\n}\n\nfunction useWatch({ control, name, defaultValue, }) {\r\n const methods = useFormContext();\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!control && !methods) {\r\n throw new Error('📋 useWatch is missing `control` prop. https://react-hook-form.com/api#useWatch');\r\n }\r\n }\r\n const { useWatchFieldsRef, useWatchRenderFunctionsRef, watchInternal, defaultValuesRef, } = control || methods.control;\r\n const updateValue = useState()[1];\r\n const idRef = useRef();\r\n const defaultValueRef = useRef(defaultValue);\r\n useEffect(() => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (name === '') {\r\n console.warn('📋 useWatch is missing `name` attribute. https://react-hook-form.com/api#useWatch');\r\n }\r\n }\r\n const id = (idRef.current = generateId());\r\n const watchFieldsHookRender = useWatchRenderFunctionsRef.current;\r\n const watchFieldsHook = useWatchFieldsRef.current;\r\n watchFieldsHook[id] = new Set();\r\n watchFieldsHookRender[id] = () => updateValue({});\r\n watchInternal(name, defaultValueRef.current, id);\r\n return () => {\r\n delete watchFieldsHook[id];\r\n delete watchFieldsHookRender[id];\r\n };\r\n }, [\r\n name,\r\n useWatchRenderFunctionsRef,\r\n useWatchFieldsRef,\r\n watchInternal,\r\n defaultValueRef,\r\n ]);\r\n return idRef.current\r\n ? watchInternal(name, defaultValueRef.current, idRef.current)\r\n : isUndefined(defaultValue)\r\n ? isString(name)\r\n ? get(defaultValuesRef.current, name)\r\n : Array.isArray(name)\r\n ? name.reduce((previous, inputName) => (Object.assign(Object.assign({}, previous), { [inputName]: get(defaultValuesRef.current, inputName) })), {})\r\n : defaultValuesRef.current\r\n : defaultValue;\r\n}\n\nconst Controller = (props) => {\r\n const { rules, as, render, defaultValue, control, onFocus } = props, rest = __rest(props, [\"rules\", \"as\", \"render\", \"defaultValue\", \"control\", \"onFocus\"]);\r\n const { field, meta } = useController(props);\r\n const componentProps = Object.assign(Object.assign({}, rest), field);\r\n return as\r\n ? isValidElement(as)\r\n ? cloneElement(as, componentProps)\r\n : createElement(as, componentProps)\r\n : render\r\n ? render(field, meta)\r\n : null;\r\n};\n\nexport { Controller, FormProvider, appendErrors, get, transformToNestObject, useController, useFieldArray, useForm, useFormContext, useWatch };\n//# sourceMappingURL=index.esm.js.map\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute, businessService = \"EKYC\", initialStates = {}, filterComponent, isInbox }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n const PropsForInboxLinks = {\n headerText: checkPathName ? \"EKYC_MODULE\" : \"MODULE_SW\",\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const FilterFormFields = useCallback(\n ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n []\n );\n\n const propsForFilterForm = {\n FilterFormFields,\n onFilterFormSubmit: () => { },\n filterFormDefaultValues: \"\",\n resetFilterFormDefaultValues: \"\",\n onFilterFormReset: () => { },\n };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n countData: listData,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport {\n Header,\n Card,\n CardHeader,\n CardText,\n CardLabel,\n Dropdown,\n SubmitBar,\n ActionBar,\n Table,\n Toast,\n LabelFieldPair,\n Modal,\n DeleteIcon,\n EditIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Static Mock Data ─────────────────────────────────────────────────────────\n\nconst MOCK_SURVEYORS = [\n { name: \"Amit Kumar\", id: \"SVR001\", role: \"Surveyor\" },\n { name: \"Sanjay Singh\", id: \"SVR002\", role: \"Surveyor\" },\n { name: \"Rahul Sharma\", id: \"SVR003\", role: \"Surveyor\" },\n { name: \"Priya Verma\", id: \"SVR004\", role: \"Surveyor\" },\n];\n\nconst MOCK_MRDS = [\n { name: \"MRD - 01 (Central Zone)\", code: \"MRD01\", zone: \"Central\" },\n { name: \"MRD - 02 (North Zone)\", code: \"MRD02\", zone: \"North\" },\n { name: \"MRD - 03 (South Zone)\", code: \"MRD03\", zone: \"South\" },\n { name: \"MRD - 04 (West Zone)\", code: \"MRD04\", zone: \"West\" },\n { name: \"MRD - 05 (East Zone)\", code: \"MRD05\", zone: \"East\" },\n { name: \"MRD - 06 (Rohini)\", code: \"MRD06\", zone: \"Rohini\" },\n { name: \"MRD - 07 (Dwarka)\", code: \"MRD07\", zone: \"Dwarka\" },\n];\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Mapping = () => {\n const { t } = useTranslation();\n\n // Form state\n const [selectedSurveyor, setSelectedSurveyor] = useState(null);\n const [selectedMRD, setSelectedMRD] = useState(null);\n\n // Mappings list\n const [mappings, setMappings] = useState([]);\n\n // Edit state: stores the id of the row being edited + its draft values\n const [editingId, setEditingId] = useState(null);\n const [editSurveyor, setEditSurveyor] = useState(null);\n const [editMRD, setEditMRD] = useState(null);\n\n // Delete confirm modal\n const [deleteTarget, setDeleteTarget] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // ── Handlers ──────────────────────────────────────────────────────────────\n\n const handleAddMapping = () => {\n if (!selectedSurveyor || !selectedMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD\" });\n return;\n }\n const exists = mappings.some(\n m => m.surveyorId === selectedSurveyor.id && m.mrdCode === selectedMRD.code\n );\n if (exists) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => [...prev, {\n id: Date.now(),\n surveyorName: selectedSurveyor.name,\n surveyorId: selectedSurveyor.id,\n mrdName: selectedMRD.name,\n mrdCode: selectedMRD.code,\n zone: selectedMRD.zone,\n }]);\n setSelectedMRD(null);\n setSelectedSurveyor(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_ADDED\") || \"Mapping added successfully\" });\n };\n\n const handleEditStart = (row) => {\n setEditingId(row.id);\n setEditSurveyor(MOCK_SURVEYORS.find(s => s.id === row.surveyorId) || null);\n setEditMRD(MOCK_MRDS.find(m => m.code === row.mrdCode) || null);\n };\n\n const handleEditSave = (id) => {\n if (!editSurveyor || !editMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD to save\" });\n return;\n }\n // Check duplicate (excluding self)\n const duplicate = mappings.some(\n m => m.id !== id && m.surveyorId === editSurveyor.id && m.mrdCode === editMRD.code\n );\n if (duplicate) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => prev.map(m => m.id !== id ? m : {\n ...m,\n surveyorName: editSurveyor.name,\n surveyorId: editSurveyor.id,\n mrdName: editMRD.name,\n mrdCode: editMRD.code,\n zone: editMRD.zone,\n }));\n setEditingId(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_UPDATED\") || \"Mapping updated successfully\" });\n };\n\n const handleEditCancel = () => {\n setEditingId(null);\n setEditSurveyor(null);\n setEditMRD(null);\n };\n\n const handleDeleteConfirm = () => {\n setMappings(prev => prev.filter(m => m.id !== deleteTarget.id));\n setDeleteTarget(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_REMOVED\") || \"Mapping removed\" });\n };\n\n const handleSaveMappings = () => {\n if (mappings.length === 0) {\n setToast({ type: \"error\", message: t(\"EKYC_NO_MAPPINGS_TO_SAVE\") || \"No mappings to save\" });\n return;\n }\n // TODO: replace with real API call\n setToast({ type: \"success\", message: t(\"EKYC_MAPPINGS_SAVED_SUCCESS\") || \"Surveyor mappings saved successfully!\" });\n };\n\n // ── Table columns ─────────────────────────────────────────────────────────\n\n const columns = useMemo(() => [\n {\n Header: t(\"EKYC_SURVEYOR_NAME\") || \"Surveyor\",\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose surveyor...\"}\n />\n );\n }\n return (\n <div>\n <span className=\"link\">{row.original.surveyorName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.surveyorId}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"EKYC_MRD_ASSIGNED\") || \"MRD Assigned\",\n accessor: \"mrdName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose MRD...\"}\n />\n );\n }\n return (\n <div>\n <span>{row.original.mrdName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.zone}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"ES_COMMON_ACTION\") || \"Actions\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <div style={{ display: \"flex\", gap: \"10px\" }}>\n <span\n style={{ cursor: \"pointer\", color: \"#f47738\", fontWeight: \"bold\" }}\n onClick={() => handleEditSave(row.original.id)}\n >\n {t(\"ES_COMMON_SAVE\")}\n </span>\n <span\n style={{ cursor: \"pointer\", color: \"#505A5F\", fontWeight: \"bold\" }}\n onClick={handleEditCancel}\n >\n {t(\"ES_COMMON_CANCEL\")}\n </span>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"16px\" }}>\n <span onClick={() => handleEditStart(row.original)} style={{ cursor: \"pointer\" }}>\n <EditIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n <span onClick={() => setDeleteTarget(row.original)} style={{ cursor: \"pointer\" }}>\n <DeleteIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <React.Fragment>\n <div className=\"side-panel-item\">\n <Card className=\"employeeCard filter inboxLinks\" style={{ marginTop: \"16px\" }}>\n <div className=\"complaint-links-container\">\n <div className=\"header\" style={{ marginBottom: \"0px\" }}>\n <span className=\"logo\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M6.5 2H20V22H6.5A2.5 2.5 0 0 1 4 19.5V4.5A2.5 2.5 0 0 1 6.5 2Z\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n <span className=\"text\">{t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}</span>\n </div>\n </div>\n </Card>\n </div>\n\n <Card>\n <CardHeader>{t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}</CardHeader>\n <CardText>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </CardText>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"} *</CardLabel>\n <div className=\"\">\n <Dropdown\n selected={selectedSurveyor}\n select={setSelectedSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose a surveyor...\"}\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_MRD\") || \"Select MRD\"} *</CardLabel>\n <div className=\"field\">\n <Dropdown\n selected={selectedMRD}\n select={setSelectedMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose an MRD...\"}\n />\n </div>\n </LabelFieldPair>\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n onSubmit={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n />\n </div>\n </Card>\n\n {mappings.length > 0 && (\n <Card>\n <CardHeader>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"} ({mappings.length})\n </CardHeader>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n padding: \"10px\",\n fontSize: \"16px\",\n }\n };\n }}\n tableClassName=\"table digit-table\"\n />\n </Card>\n )}\n\n {mappings.length > 0 && (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n onSubmit={handleSaveMappings}\n />\n </ActionBar>\n )}\n\n {deleteTarget && (\n <Modal\n headerBarMain={t(\"EKYC_REMOVE_MAPPING\") || \"Remove Mapping\"}\n headerBarEnd={\n <span onClick={() => setDeleteTarget(null)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_REMOVE\")}\n actionSaveOnSubmit={handleDeleteConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setDeleteTarget(null)}\n style={{ borderRadius: \"12px\" }}\n >\n <CardText style={{ marginTop: \"16px\", marginBottom: \"16px\" }}>\n {t(\"EKYC_REMOVE_MAPPING_CONFIRM_MSG\") || \"Are you sure you want to remove the mapping between \"}\n <strong>{deleteTarget?.surveyorName}</strong> and <strong>{deleteTarget?.mrdName}</strong>?\n </CardText>\n </Modal>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n info={toast.type === \"info\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default Mapping;","import React, { useState } from \"react\";\nimport { Loader, Modal, RadioButtons } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n\nconst ConnectionDetailsView = ({ kNumber, kName, connectionDetails, isLoading }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const [showModal, setShowModal] = useState(false);\n const [selectedOption, setSelectedOption] = useState({ code: \"SELF\", name: \"EKYC_SELF\" });\n\n const options = [\n { code: \"SELF\", name: \"EKYC_SELF\" },\n { code: \"OTHER\", name: \"EKYC_OTHER\" },\n ];\n\n const handleStartVerification = () => setShowModal(true);\n\n const onModalConfirm = () => {\n const parentPath = path.includes(\"/create-kyc\")\n ? path.replace(\"/create-kyc\", \"\")\n : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/consumer-details`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n if (isLoading) return <Loader />;\n if (!connectionDetails) return null;\n\n const details = connectionDetails?.connectionDetails || {};\n const statusFlag = details.statusflag || \"\";\n const isActive = statusFlag?.toLowerCase() === \"active\" || statusFlag === \"A\";\n\n return (\n <React.Fragment>\n <div className=\"ekyc-employee-container\">\n {/* Main Card */}\n <div className=\"connection-details-card\">\n {/* Card Header */}\n <div className=\"details-card-header\">\n <div className=\"header-title-wrapper\">\n <div className=\"header-icon-bg\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </div>\n <span className=\"header-title-text\">\n {t(\"EKYC_K_NUMBER_DETAILS\") || \"Consumer Identity Details\"}\n </span>\n </div>\n\n {/* Status Badge */}\n <span className={`status-badge ${isActive ? \"active\" : \"inactive\"}`}>\n {isActive ? (t(\"EKYC_ACTIVE_CONNECTION\") || \"Active Connection\") : (statusFlag || t(\"CS_NA\"))}\n </span>\n </div>\n\n {/* Card Body */}\n <div className=\"details-card-body\">\n <div className=\"body-content-row\">\n {/* Left: Verification Parameters */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_VERIFICATION_PARAMETERS\") || \"Verification Parameters\"}\n </div>\n\n <div className=\"data-grid\">\n {/* Consumer Name */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONSUMER_NAME\") || \"Consumer Name\"}\n </div>\n <div className=\"data-value\">\n {details.consumerName || kName || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* K Number */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n </div>\n <div className=\"data-value blue\">\n {kNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Meter Serial No */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_METER_NO\") || \"Meter Serial No.\"}\n </div>\n <div className=\"data-value\">\n {details.meterNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Connection Type */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONNECTION_TYPE\") || \"Connection Type\"}\n </div>\n <div className=\"data-value\">\n {details.connectionType || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n\n {/* Divider */}\n <div className=\"vertical-divider\" />\n\n {/* Right: Address & Contact */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_ADDRESS_AND_CONTACT\") || \"Address & Contact\"}\n </div>\n\n {/* Service Address */}\n <div className=\"address-block\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_ADDRESS\") || \"Service Address\"}\n </div>\n <div className=\"address-text\">\n {details.address || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Contact + Email row */}\n <div className=\"contact-row\">\n {/* Contact */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_PHONE_NO\") || \"Contact\"}\n </div>\n <div className=\"address-text\">\n {details.phoneNumber || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Email */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_EMAIL\") || \"Email Address\"}\n </div>\n <div className=\"address-text\">\n {details.email || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Card Footer */}\n <div className=\"details-card-footer\">\n {/* Last Verified */}\n <div className=\"footer-meta-text\">\n {connectionDetails?.lastVerified\n ? `${t(\"EKYC_LAST_VERIFIED\") || \"Last verified:\"} ${connectionDetails.lastVerified}`\n : \"\"}\n </div>\n\n {/* Action Buttons */}\n <div className=\"action-btns-container\" style={{ fontSize: \"12px\" }}>\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n style={{ fontSize: \"12px\" }}\n >\n {t(\"EKYC_START_REVIEW\") || \"Start Review\"}\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {/* Modal */}\n {showModal && (\n <Modal\n headerBarMain={t(\"EKYC_SELECT_VERIFICATION_TYPE\")}\n headerBarEnd={\n <span onClick={() => setShowModal(false)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_CONFIRM\")}\n actionSaveOnSubmit={onModalConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setShowModal(false)}\n style={{ borderRadius: \"12px\" }}\n >\n <div style={{ padding: \"24px\" }}>\n <RadioButtons\n name=\"verificationType\"\n options={options}\n optionsKey=\"name\"\n selectedOption={selectedOption}\n onSelect={setSelectedOption}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\", buttonStyle: { borderRadius: \"5px\" } }}\n t={t}\n />\n </div>\n </Modal>\n )}\n </React.Fragment>\n );\n};\n\nexport default ConnectionDetailsView;","import React, { useState, useEffect } from \"react\";\nimport { Card, HomeIcon, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport SearchConsumer from \"../../components/SearchConsumer\";\nimport ConnectionDetailsView from \"../../components/ConnectionDetailsView\";\n\nconst Create = () => {\n const { t } = useTranslation();\n const [searchParams, setSearchParams] = useState(() => {\n const saved = sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n return saved ? JSON.parse(saved) : { kNumber: \"\", kName: \"\" };\n });\n const [searchPerformed, setSearchPerformed] = useState(() => {\n return sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PERFORMED\") === \"true\";\n });\n const [showToast, setShowToast] = useState(null);\n const [formParams, setFormParams, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { isLoading: isSearching, data: connectionDetails, error, revalidate } = Digit.Hooks.ekyc.useSearchConnection({\n tenantId,\n details: { kno: searchParams.kNumber, name: searchParams.kName }\n }, {\n enabled: searchPerformed && !!searchParams.kNumber && !!searchParams.kName,\n onError: (error) => {\n setShowToast({ error: true, label: error?.response?.data?.Errors?.[0]?.message || t(\"EKYC_SEARCH_ERROR_PLEASE_ENTER_THE_CORRECT_CREDENTIALS\") });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n }\n });\n\n const handleSearch = (params) => {\n if (!params.kNumber && !params.kName) {\n // This is the \"Clear\" case\n setSearchParams({ kNumber: \"\", kName: \"\" });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n clearParams(); // Clear consolidated EKYC data\n return;\n }\n\n if (!params.kNumber || !params.kName) {\n setShowToast({ error: true, label: t(\"EKYC_FILL_ALL_FIELDS\") });\n return;\n }\n setSearchParams(params);\n setSearchPerformed(true);\n\n // Clear previous EKYC session data if K-number changes\n const currentKno = sessionStorage.getItem(\"EKYC_K_NUMBER\");\n if (currentKno !== params.kNumber) {\n clearParams();\n // Clear any other EKYC keys if they exist\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\") && key !== \"EKYC_CREATE\") sessionStorage.removeItem(key);\n });\n }\n\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PARAMS\", JSON.stringify(params));\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PERFORMED\", \"true\");\n sessionStorage.setItem(\"EKYC_K_NUMBER\", params.kNumber);\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n return (\n <SearchConsumer\n onSearch={handleSearch}\n searchParams={searchParams}\n >\n {searchPerformed && (\n <ConnectionDetailsView\n kNumber={searchParams.kNumber}\n kName={searchParams.kName}\n connectionDetails={connectionDetails}\n isLoading={isSearching}\n />\n )}\n\n {!searchPerformed && !isSearching && (\n <Card style={{ textAlign: \"center\", padding: \"40px\" }}>\n <div style={{ color: \"#667085\" }}>{t(\"EKYC_SEARCH_TO_VIEW_DETAILS\")}</div>\n </Card>\n )}\n {showToast && <Toast error={showToast.error} label={showToast.label} onClose={closeToast} isDsc={true} />}\n </SearchConsumer>\n );\n};\n\nexport default Create;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = (fileStoreId) => {\n if (!fileStoreId) return;\n const documentUrl = `https://dev-djberp.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"Approve\")) {\n handleApprove();\n } else if (option.action === t(\"Reject\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${kno}`}\n state={{ ...flowState, kNumber: kno, kno, reviewData: searchData, edits }}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${kno}`}\n state={{ ...flowState, kNumber: kno, kno, reviewData: searchData, edits }}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${kno}`}\n state={{ ...flowState, kNumber: kno, kno, reviewData: searchData, edits }}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${kno}`}\n state={{ ...flowState, kNumber: kno, kno, reviewData: searchData, edits }}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AssignEkycModal = ({ surveyor, closeModal, refetchDashboard }) => {\n const { t } = useTranslation();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(\"dl.djb\");\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(\"dl.djb\", \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response) => {\n if (response?.error) {\n setToastData({\n error: true,\n label: response?.data?.message || \"Something went wrong\",\n });\n\n setShowToast(true);\n return;\n }\n\n setToastData({\n error: false,\n label: \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n await refetchDashboard();\n closeModal();\n }, 1000);\n },\n\n onError: (error) => {\n setToastData({\n error: true,\n label: error?.data?.message || error?.response?.data?.message || \"Something went wrong\",\n });\n\n setShowToast(true);\n },\n });\n\n const tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n assignmentMutation.mutate({\n tenantId: \"dl.djb\",\n surveyorId: surveyor?.owner?.uuid,\n assignmentType,\n assignmentValue,\n });\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => value || \"-\",\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={`Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={`Assign ${selectedKnos.length} KNOs`}\n actionSaveOnSubmit={handleAssign}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select\n className=\"form-control\"\n value={filters.pincode}\n onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}\n >\n <option value=\"\">Select Pincode</option>\n {fetchedPincodes.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}http://localhost:3000/digit-ui/employee/ekyc/assign\n </select>\n\n <select\n className=\"form-control\"\n value={filters.ward}\n onChange={(e) => handleFilterChange(\"ward\", e.target.value)}\n >\n <option value=\"\">Select Ward</option>\n {wardOptions.map((ward) => (\n <option key={ward.code} value={ward.name}>\n {ward.name}\n </option>\n ))}\n </select>\n\n <select\n className=\"form-control\"\n value={filters.assembly}\n onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}\n >\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select>\n\n <input className=\"form-control\" placeholder=\"MR Key\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select>\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => item.value),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => item.value),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(false);\n const [showOptions, setShowOptions] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const searchParams = surveyorId ? { ids: surveyorId } : { ownerIds };\n\n const { data: surveyorSearchResponse, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, searchParams, { staleTime: Infinity });\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData } = Digit.Hooks.fsm.useDsoSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const { data: supervisorSearchResponse } = Digit.Hooks.fsm.useSupervisorSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n\n const vendorName = useMemo(() => {\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId]);\n\n const supervisorName = useMemo(() => {\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find((s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId);\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId]);\n\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const knoColumns = useMemo(\n () => [\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => value || \"-\",\n },\n ],\n []\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n if (isLoading) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n const weeklyData = [\n { day: \"Mon\", completed: 4 },\n { day: \"Tue\", completed: 6 },\n { day: \"Wed\", completed: 3 },\n { day: \"Thu\", completed: 8 },\n { day: \"Fri\", completed: 5 },\n { day: \"Sat\", completed: 7 },\n { day: \"Sun\", completed: 2 },\n ];\n\n const statusData = [\n {\n name: \"Completed\",\n value: surveyor?.completedCases || 0,\n color: \"#10B981\",\n },\n {\n name: \"Pending\",\n value: surveyor?.pendingCases || 0,\n color: \"#F59E0B\",\n },\n {\n name: \"Rejected\",\n value: surveyor?.rejectedCases || 0,\n color: \"#EF4444\",\n },\n ];\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = (filter) => {\n const allRows = dashboardData?.dashboardInfo?.consumerList || [];\n\n const range = getDateRange(filter);\n\n if (!range) return;\n\n const filtered = allRows.filter((r) => {\n const ts =\n r.submittedAt ||\n r.createdTime ||\n r.lastModifiedTime ||\n 0;\n\n return ts >= range.from.getTime() && ts <= range.to.getTime();\n });\n\n downloadSurveyorPDF({\n rows: filtered.length ? filtered : allRows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: dashboardData?.dashboardInfo,\n t,\n });\n\n setShowReportMenu(false);\n setShowCustomPicker(false);\n };\n\n const handleCustomDownload = () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n const allRows = dashboardData?.dashboardInfo?.consumerList || [];\n const filtered = allRows.filter((r) => {\n const ts = r.createdTime || r.lastModifiedTime || 0;\n return ts >= from.getTime() && ts <= to.getTime();\n });\n downloadSurveyorPDF({\n rows: filtered.length ? filtered : allRows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: dashboardData?.dashboardInfo,\n t,\n });\n setShowReportMenu(false);\n setShowCustomPicker(false);\n };\n\n const StatCard = ({ title, value, type, isLoading }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(true);\n };\n\n const closeModal = async () => {\n setShowModal(false);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n \n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}:</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}:</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}:</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}:</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}:</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}:</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {\n (!roles.includes(\"EKYC_SURVEYOR\") || roles.includes(\"EMPLOYEE\")) && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n\n )\n }\n\n {showModal && <AssignEkycModal surveyor={surveyor} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"ekyc-application-link\" style={{ color: \"#318ED0\", cursor: \"pointer\", fontSize: \"16px\" }} onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n },\n ];\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n cards,\n isCardLoading: isDataSearchLoading,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\nimport CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetails from \"../../components/VendorDetails.jsx\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\";\nimport AssignEkyc from \"../../components/AssignEkyc.js\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC inbox\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n ];\n\n // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/consumer-details\")) {\n crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/employee/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/ceo-dashboard\")) {\n crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n } else if (pathname.includes(\"/vendors/\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n } else if (pathname.includes(\"/mapping\")) {\n crumbs.push({ label: t(\"EKYC_MAPPING\") });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n }\n // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n return crumbs;\n };\n\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetails />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ModuleLinksView } from \"@djb25/digit-ui-react-components\";\nconst Home = () => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n ],\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n {\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n });\n }\n\n return <ModuleLinksView links={propsForModuleCard.links} />;\n};\n\nexport default Home;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React from \"react\";\nimport { PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport VendorDetails from \"../../components/VendorDetails\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/status/\")) {\n crumbs.push({ label: t(\"EKYC_STATUS\") });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n return (\n <React.Fragment>\n <div className=\"ground-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <PrivateRoute\n exact\n path={`${path}`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Home />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetails />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </React.Fragment>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const links = [\n {\n link: `${matchPath}/create-kyc`,\n i18nKey: t(\"EKYC_CREATE_KYC\"),\n },\n {\n link: `${matchPath}/update-kyc`,\n i18nKey: t(\"EKYC_UPDATE_KYC\"),\n },\n ];\n\n return <CitizenHomeCard header={t(\"EKYC_MODULE_NAME\")} links={links} Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />} />;\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_useTranslation","useTranslation","t","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","count","label","link","links","EmployeeModuleCard","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","chartRef1","useRef","chartInstance1","total","pending","active","completed","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","useEffect","current","destroy","ctx1","getContext","ChartConstructor","type","data","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","map","item","key","style","background","ref","width","height","Dashboard","tenantId","Digit","ULBService","getCurrentTenantId","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycSurveyorDashboard","offset","limit","enabled","isLoading","dashboardData","useMemo","info","dashboardInfo","rejected","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","_useState","useState","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kno","push","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","cursor","fontWeight","onClick","_ref3","_row$original3","citizenName","_ref4","_row$original4","status","_ref5","_row$original5","_row$original6","ekycStatus","ekycstatus","toUpperCase","_ref6","_row$original7","_row$original8","tableData","items","Array","isArray","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_extends","_searchParams","setSearchParams","onChange","prev","onSubmit","e","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","x1","y1","x2","y2","TextInput","target","placeholder","d","todaysAudits","auditChange","pendingCount","i","String","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","to","SubmitBar","length","DetailsCard","serviceRequestIdKey","linkPrefix","split","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","name","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","location","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","ExecutiveLineChart","_ref$data","formattedData","agencyKyc","selfKyc","totalKyc","ResponsiveContainer","LineChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","vertical","XAxis","dataKey","axisLine","tickLine","tick","fontSize","YAxis","Tooltip","contentStyle","border","borderRadius","boxShadow","labelStyle","marginBottom","Legend","verticalAlign","align","iconType","wrapperStyle","paddingBottom","Line","dot","activeDot","ExecutiveBarChart","_ref$categories","categories","_ref$xKey","xKey","minHeight","BarChart","itemStyle","series","Bar","radius","barSize","colors","ExecutivePieChart","_ref$dataKey","_ref$labelKey","labelKey","PieChart","Pie","nameKey","outerRadius","innerRadius","paddingAngle","entry","marginTop","CeoDashboard","_topKpis$todayEkyc","useLocation","query","setQuery","_useState2","statusFilter","setStatusFilter","basePath","pathname","replace","filters","filteredVendors","filter","vendor","keyword","toLowerCase","includes","some","zone","_zone$location","zoneRows","flatMap","sort","a","b","routeToVendor","vendorId","icon","FaUsers","variant","FaCheckCircle","FaClock","FaExclamationTriangle","FaUserTie","FaChartLine","card","_card$value$toLocaleS","_card$value","_card$value$toLocaleS2","toLocaleString","call","FaSearch","join","FaArrowRight","FaMapMarkedAlt","slice","_zone$activeDemand$to","_zone$activeDemand","_zone$pppZones$toLoca","_zone$pppZones","_zone$inactiveDemand$","_zone$inactiveDemand","min","max","alert","todayEkyc","VendorDetails","_vendor$dailyPerforma","_vendor$dailyPerforma2","_useParams","useParams","_useParams$vendorId","find","Number","goBack","FaArrowLeft","performanceData","_item$value$toLocaleS","_item$value","_item$value$toLocaleS2","_row$activeDemand$toL","_row$activeDemand","_row$pppZones$toLocal","_row$pppZones","_row$inactiveDemand$t","_row$inactiveDemand","intensityScore","random","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_Digit$SessionStorage","_Digit$SessionStorage2","_Digit$SessionStorage3","_formState$searchForm","formState","totalCount","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","userType","SessionStorage","get","tableColumnConfig","disableSortBy","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","onLastPage","ceil","onFirstPage","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Fragment","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","Inbox","_formState$searchForm3","_formState$searchForm4","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","useEkycApplicationList","keepPreviousData","isListLoading","_Digit$Hooks$ekyc$use2","listData","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use3","useSearchConnection","details","isSearchLoading","searchData","sourceData","consumerList","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","owner","consumerName","statusflag","sla","fullName","firstName","middleName","lastName","Boolean","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","window","Utils","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","FilterFormFields","state","payload","storageKey","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","isInboxLoading","InboxComposer","MOCK_SURVEYORS","role","MOCK_MRDS","code","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","_useState3","mappings","setMappings","_useState4","editingId","setEditingId","_useState5","editSurveyor","setEditSurveyor","_useState6","editMRD","setEditMRD","_useState7","deleteTarget","setDeleteTarget","_useState8","toast","setToast","handleAddMapping","exists","m","surveyorId","mrdCode","Date","now","surveyorName","mrdName","handleEditStart","s","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","isEditing","gap","EditIcon","DeleteIcon","xmlns","CardHeader","CardText","LabelFieldPair","CardLabel","justifyContent","disabled","tableClassName","ActionBar","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","Toast","error","warning","isDsc","ConnectionDetailsView","_useRouteMatch","useRouteMatch","path","showModal","setShowModal","selectedOption","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","statusFlag","isActive","meterNumber","connectionType","address","x","y","rx","ry","phoneNumber","email","lastVerified","points","RadioButtons","optionsKey","onSelect","flexDirection","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","_Digit$Hooks$useSessi","useSessionStorage","formParams","clearParams","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","response","Errors","removeItem","isSearching","handleSearch","params","currentKno","Object","keys","forEach","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","checkForNA","undefined","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","overflow","borderBottom","alignItems","CardSubHeader","borderCollapse","tableLayout","textTransform","field","idx","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","mobileNo","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","pincode","ward","locality","assembly","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","numberOfFloors","noOfFloor","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meter","metered","meterStatus","meterMake","meterLocationAddress","meterLatitude","meterLongitude","workingStatus","lastBillRaised","systemMeterId","meterPhotoFileStoreId","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","doorPhotoFileStoreId","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","meterLocation","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","_temp","_catch","Promise","resolve","mutateAsync","then","result","err","console","reject","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","documentUrl","handleMenuSelect","baseUrl","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","paddingTop","CheckBox","checked","Menu","position","zIndex","maxHeight","src","alt","nextSibling","open","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","consumerType","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","body","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","gender","parentSpouseName","mobile","whatsapp","residents","identityType","documentNumber","informantName","informantRelation","idFile","ownerMobile","tenantVerification","designation","department","employeeId","entityName","contactPerson","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","trim","updatedDefaults","parentSpouse","handleUploadProof","file","files","size","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","relation","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","match","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","AssignEkycModal","surveyor","closeModal","refetchDashboard","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","setCurrentPage","pageSize","setPageSize","zoneCode","zoneName","mrkey","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","isZroLoading","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","from","values","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","p","sanitizedPin","toString","add","timer","clearTimeout","isFetching","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","_error$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentType","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","uuid","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Close","pin","val","tableTitle","tableClass","isPaginationRequired","totalPages","downloadSurveyorPDF","rows","vendorName","supervisorName","initData","tenants","tenantInfo","tenant","capitalize","substr","ulbCamel","ulb","currentDate","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","asSectionHeader","submittedCount","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","SurveyorDetailsDashboard","_Digit$SessionStorage4","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_fullName$charAt","_dashboardData$dashbo3","_dashboardData$dashbo4","_dashboardData$dashbo5","_dashboardData$dashbo6","_surveyor$owner5","_surveyor$owner6","_surveyor$owner7","_surveyor$additionalD","_dashboardData$dashbo7","_dashboardData$dashbo8","ownerIds","ids","_Digit$Hooks$fsm$useS","fsm","useSurveyorSearch","staleTime","Infinity","surveyorSearchResponse","roles","ele","_surveyorSearchRespon","surveyors","_Digit$Hooks$fsm$useD","useDsoSearch","vendorData","_Digit$Hooks$fsm$useS2","useSupervisorSearch","supervisorSearchResponse","_mappedVendor$dsoDeta","mappedVendor","v","_v$dsoDetails","_v$dsoDetails2","dsoDetails","_mappedSupervisor$own","supervisorId","mappedSupervisor","_s$owner","isDashboardLoading","refetch","knoColumns","showReportMenu","setShowReportMenu","customDate","setCustomDate","showCustomPicker","setShowCustomPicker","reportMenuRef","handler","contains","document","addEventListener","removeEventListener","getDateRange","start","setHours","setDate","getDate","getDay","handlePresetDownload","_dashboardData$dashbo","allRows","range","filtered","ts","submittedAt","createdTime","lastModifiedTime","getTime","handleCustomDownload","_dashboardData$dashbo2","StatCard","charAt","description","emailId","additionalDetails","serviceType","_dashboardData$dashbo9","_dashboardData$dashbo0","_row$original5$owner","SupervisorInboxTableConfig","floor","AssignEkyc","paginationParms","useEkycAssignmentProgress","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","auditDetails","cards","totalKnos","totalAssignments","completedKnos","overallProgressPercent","isCardLoading","EmployeeApp","getDynamicBreadcrumbs","crumbs","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","SurveyorDetailsCard","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","propertyType","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","subPropertyCategory","noOfFloors","floorNo","noOfRooms","noOfBeds","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","sewerConnection","isFrozen","monthYearOptions","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","meterCondition","billMonthYear","reason","accessToMeter","septicTank","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","mrcode","areacode","lastBillNotRaisedReason","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","Home","citizenInfo","ModuleLinksView","CitizenApp","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","useStore","LocalizationService","getLocale","modules","locale","page","EkycLinks","matchPath","i18nKey","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/components/EKYCCard.js","../src/components/StatusCards.js","../src/components/Dashboard.js","../src/components/DesktopInbox.js","../src/components/SearchConsumer.js","../src/components/MobileInbox.js","../src/components/Filter.js","../src/components/mockData.js","../src/components/analytics/charts/ExecutiveLineChart.jsx","../src/components/analytics/charts/ExecutiveBarChart.jsx","../src/components/analytics/charts/ExecutivePieChart.jsx","../src/components/CeoDashboard.jsx","../src/components/VendorDetails.jsx","../src/hook/useInboxTableConfig.js","../node_modules/react-hook-form/dist/index.esm.js","../src/components/SearchFormFieldsComponent.js","../src/pages/employee/Inbox.js","../src/pages/employee/Mapping.js","../src/components/ConnectionDetailsView.js","../src/pages/employee/Create.js","../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs","../src/components/Review.js","../src/config/AadhaarVerificationConfig.js","../src/components/AadhaarVerification.js","../src/config/config.js","../src/pages/employee/EKYCForm.js","../src/components/AssignEkycModal.js","../src/utils/reportDownloader.js","../src/components/SurveyorDetailsCard.js","../../vendor/src/config/tableConfig.js","../src/hook/SupervisorInboxTableConfig.js","../src/components/AssignEkyc.js","../src/pages/employee/index.js","../src/config/PropertyInfoConfig.js","../src/components/PropertyInfo.js","../src/config/MeterDetailsConfig.js","../src/components/MeterDetails.js","../src/pages/citizen/Home.js","../src/pages/citizen/Inbox.js","../src/components/SupervisorDetailsCard.js","../src/pages/citizen/EkycStatus.js","../src/pages/citizen/index.js","../src/Module.js"],"sourcesContent":["import { PersonIcon, EmployeeModuleCard } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst EKYCCard = () => {\n const { t } = useTranslation();\n\n const propsForModuleCard = {\n Icon: <PersonIcon />,\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/employee/ekyc/dashboard`,\n },\n ],\n links: [\n {\n label: t(\"CEO_M.F_DOR_FINANCE_VIEW\"),\n link: `/digit-ui/employee/ekyc/ceo-dashboard`,\n },\n // {\n // label: t(\"EKYC_DASHBOARD\"),\n // link: `/digit-ui/employee/ekyc/dashboard`,\n // },\n {\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/employee/ekyc/inbox`,\n },\n // {\n // label: t(\"EKYC_CREATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/create-kyc`\n // },\n // {\n // label: t(\"EKYC_UPDATE_KYC\"),\n // link: `/digit-ui/employee/ekyc/update-kyc`\n // },\n // {\n // label: t(\"EKYC_MAPPING\"),\n // link: `/digit-ui/employee/ekyc/mapping`,\n // },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/employee/ekyc/assign`,\n },\n ],\n };\n\n return <EmployeeModuleCard {...propsForModuleCard} />;\n};\n\nexport default EKYCCard;\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport * as Chartjs from \"chart.js/auto\";\n\nconst getChartConstructor = () => {\n const C = Chartjs.Chart || Chartjs.default || Chartjs;\n return C;\n};\n\nconst StatusCards = ({ countData }) => {\n const { t } = useTranslation();\n const chartRef1 = useRef(null);\n const chartInstance1 = useRef(null);\n\n const total = countData?.total || 0;\n const pending = countData?.pending || 0;\n const active = countData?.completed || 0;\n const completed = 0;\n\n const actualCompleted = countData?.completed || 0;\n const approved = actualCompleted;\n\n const efficiency = total > 0 ? Math.round((actualCompleted / total) * 100) : 0;\n const healthPct = total > 0 ? Math.round((approved / total) * 100) : 0;\n\n const formatNumber = (num) => new Intl.NumberFormat(\"en-IN\").format(num || 0);\n\n useEffect(() => {\n if (chartRef1.current) {\n if (chartInstance1.current) chartInstance1.current.destroy();\n const ctx1 = chartRef1.current.getContext(\"2d\");\n const ChartConstructor = getChartConstructor();\n chartInstance1.current = new ChartConstructor(ctx1, {\n type: \"doughnut\",\n data: {\n labels: [t(\"EKYC_ACTIVE\"), t(\"EKYC_PENDING\"), t(\"EKYC_COMPLETED\")],\n datasets: [\n {\n data: [active, pending, completed],\n backgroundColor: [\"#0c2a52\", \"#77B6EA\", \"#c8ddf5\"],\n borderColor: [\"#ffffff\", \"#ffffff\", \"#ffffff\"],\n borderWidth: 2,\n hoverOffset: 4,\n },\n ],\n },\n options: {\n cutout: \"75%\",\n plugins: { legend: { display: false } },\n maintainAspectRatio: false,\n responsive: true,\n },\n });\n }\n\n return () => {\n if (chartInstance1.current) chartInstance1.current.destroy();\n };\n }, [pending, completed, active, t]);\n\n const legendItems = [\n { color: \"#0c2a52\", label: t(\"EKYC_ACTIVE\"), value: active },\n { color: \"#77B6EA\", label: t(\"EKYC_PENDING\"), value: pending },\n { color: \"#c8ddf5\", label: t(\"EKYC_COMPLETED\"), value: completed },\n ];\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"status-cards-wrapper\">\n {/* Header */}\n <div className=\"status-cards-header\">\n <div>\n <div className=\"eyebrow\">\n <span className=\"eyebrow-dot\" />\n {t(\"EKYC_INSTITUTIONAL_OVERVIEW\") || \"Institutional Performance Overview\"}\n </div>\n <h1 className=\"status-cards-h1\">{t(\"EKYC_DASHBOARD_TITLE\") || \"eKYC Verification Dashboard\"}</h1>\n <p className=\"status-cards-subtitle\">\n {t(\"EKYC_DASHBOARD_SUBTITLE\") || \"Real-time monitoring of consumer verification workflows across all administrative zones.\"}\n </p>\n </div>\n <div className=\"total-applications-card\">\n <div className=\"total-label\">{t(\"EKYC_TOTAL_APPLICATIONS\") || \"Total Applications Processed\"}</div>\n <div className=\"total-number\">{formatNumber(total)}</div>\n <div className=\"total-badge\">↗ +12.4% {t(\"EKYC_FROM_LAST_QUARTER\") || \"from last quarter\"}</div>\n </div>\n </div>\n\n {/* Panels */}\n <div className=\"status-panels-grid\">\n {/* Panel 1: Status Breakdown */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">{t(\"EKYC_STATUS_BREAKDOWN\") || \"Status Breakdown\"}</div>\n <div className=\"panel-subtitle\">{t(\"EKYC_VERIFICATION_LIFECYCLE\") || \"Verification lifecycle distribution\"}</div>\n <div className=\"breakdown-body\">\n <div className=\"status-legend\">\n {legendItems.map((item) => (\n <div key={item.label} className=\"legend-row\">\n <span className=\"legend-label\">\n <span className=\"indicator-dot\" style={{ background: item.color }} />\n {item.label}\n </span>\n <span className=\"legend-value\">{formatNumber(item.value)}</span>\n </div>\n ))}\n </div>\n <div className=\"chart-wrapper\">\n <canvas ref={chartRef1} style={{ width: \"100%\", height: \"100%\" }} />\n <div className=\"chart-center\">\n <div className=\"chart-percentage\">{efficiency}%</div>\n <div className=\"chart-label\">{t(\"EKYC_COMPLETE\") || \"Complete\"}</div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Panel 2: Submission Health */}\n <div className=\"status-panel\">\n <div className=\"panel-title\">\n {t(\"EKYC_SUBMISSION_HEALTH\") || \"Submission Health\"}\n <span className=\"optimal-badge\">{t(\"EKYC_OPTIMAL\") || \"Optimal\"}</span>\n </div>\n <div className=\"panel-subtitle\">{t(\"EKYC_PLATFORM_EFFICIENCY\") || \"Platform operational efficiency\"}</div>\n <div className=\"health-metrics-row\">\n <div className=\"health-percentage\">{healthPct}%</div>\n <div className=\"health-trend\">↗ +2.1%</div>\n </div>\n <div className=\"status-progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${healthPct}%` }} />\n </div>\n <div className=\"mini-metrics-grid\">\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_AVG_LATENCY\") || \"Avg Latency\"}</div>\n <div className=\"metric-value\">1.2s</div>\n </div>\n <div className=\"metric-box\">\n <div className=\"metric-label\">{t(\"EKYC_ERROR_RATE\") || \"Error Rate\"}</div>\n <div className=\"metric-value\">0.04%</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StatusCards;\n","import React, { useMemo } from \"react\";\nimport StatusCards from \"./StatusCards\";\nimport { Card, Loader } from \"@djb25/digit-ui-react-components\";\n\n// Mock data removed in favor of API integration\n\nconst Dashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // 2. API Data Fetching\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n const countData = useMemo(() => {\n const info = dashboardData?.dashboardInfo || {};\n return {\n total: info.total || 0,\n completed: info.completed || 0,\n pending: info.pending || 0,\n rejected: info.rejected || 0,\n active: info.active || 0,\n };\n }, [dashboardData]);\n\n return isLoading ? (\n <Loader />\n ) : (\n <Card className=\"min-width-full\">\n <StatusCards countData={countData} />\n </Card>\n );\n};\n\nexport default Dashboard;\n","import React, { useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Table, Card, Loader, InboxLinks } from \"@djb25/digit-ui-react-components\";\nimport { useHistory } from \"react-router-dom\";\nimport StatusCards from \"./StatusCards\";\n\nconst DesktopInbox = ({ tableConfig, filterComponent, ...props }) => {\n const {\n data,\n isLoading,\n onSort,\n onNextPage,\n onPrevPage,\n currentPage,\n pageSizeLimit,\n onPageSizeChange,\n parentRoute,\n searchParams,\n sortParams,\n totalRecords,\n countData,\n } = props;\n const { t } = useTranslation();\n const history = useHistory();\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const FilterComponent = Digit.ComponentRegistryService?.getComponent(filterComponent);\n\n // State for Review Modal\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(\"/digit-ui/employee/ekyc/review\", { kNumber: selectedKno, aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const columns = useMemo(\n () => [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{row.original?.citizenName || \"NA\"}</span>,\n },\n // {\n // Header: t(\"EKYC_MOBILE_NO\"),\n // accessor: \"mobileNumber\",\n // Cell: ({ row }) => <span>{row.original?.mobileNumber || \"NA\"}</span>,\n // },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>\n }\n },\n {\n Header: t(\"EKYC_ACTION\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, parentRoute]\n );\n\n const tableData = useMemo(() => {\n return data?.items || (Array.isArray(data) ? data : []);\n }, [data]);\n\n return (\n <div className=\"app-container\">\n <div className=\"inbox-container\">\n {isLoading && <Loader />}\n <div className=\"side-panel-item\">\n {/* Sidebar Title Card */}\n\n <InboxLinks headerText={props.moduleCode} />\n\n {FilterComponent && (\n <FilterComponent\n defaultSearchParams={props.defaultSearchParams}\n onFilterChange={props.onSearch}\n searchParams={searchParams}\n type=\"desktop\"\n moduleCode=\"EKYC\"\n />\n )}\n </div>\n\n <div className=\"employee-form-content\" style={{ flex: 1 }}>\n {/* Header Section (retaining for context/actions) */}\n {/* <div className=\"ekyc-header-container module-header\" style={{ marginBottom: \"16px\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <Header className=\"title\" style={{ margin: 0 }}>{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} style={{ borderRadius: \"8px\" }} />\n </Link>\n </div> */}\n\n {/* Metrics Section (The Card) */}\n <Card className=\"ekyc-metrics-card\">\n <StatusCards countData={countData} />\n </Card>\n\n {/* Table Section */}\n <div className=\"result\" style={{ flex: 1 }}>\n <Card className=\"ekyc-table-card\" style={{ padding: 0 }}>\n <Table\n t={t}\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n onSort={onSort}\n sortParams={sortParams}\n totalRecords={totalRecords}\n onNextPage={onNextPage}\n onPrevPage={onPrevPage}\n currentPage={currentPage}\n pageSizeLimit={pageSizeLimit}\n onPageSizeChange={onPageSizeChange}\n getCellProps={(cellInfo) => {\n return {\n className: \"ekyc-table-cell\",\n };\n }}\n />\n </Card>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopInbox;\n","import React, { useState } from \"react\";\nimport { TextInput, Card, HomeIcon } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchConsumer = ({ onSearch, searchParams, FilterComponent, children, ...props }) => {\n const { t } = useTranslation();\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const onChange = (key, value) => {\n setSearchParams((prev) => ({ ...prev, [key]: value }));\n };\n\n const onSubmit = (e) => {\n if (e && e.preventDefault) e.preventDefault();\n onSearch(_searchParams);\n };\n\n const onClear = () => {\n const cleared = { kNumber: \"\", kName: \"\" };\n setSearchParams(cleared);\n onSearch(cleared);\n };\n\n return (\n <div className=\"ekyc-employee-container\">\n <div className=\"search-consumer-wrapper\">\n <div className=\"header-wrapper\">\n {/* Sidebar Title Card — flush top, full width */}\n <Card className=\"sidebar-title-card\">\n <div className=\"icon-container\">\n <HomeIcon />\n </div>\n <div className=\"title-text\">\n {t(\"EKYC_SEARCH_CONSUMER_HEADER\")}\n </div>\n </Card>\n </div>\n\n {/* Main Content */}\n <div className=\"main-content-wrapper\">\n {/* Top Row: Search Card + Stats Cards */}\n <div className=\"search-stats-row\">\n {/* Identity Lookup Card */}\n <div className=\"identity-lookup-card\">\n {/* Card Title */}\n <div className=\"lookup-card-title\">\n <div className=\"lookup-icon-bg\">\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n </div>\n <span className=\"lookup-title-text\">\n {t(\"EKYC_IDENTITY_LOOKUP\") || \"Identity Lookup\"}\n </span>\n </div>\n\n {/* Inputs Row */}\n <form onSubmit={onSubmit}>\n <div className=\"inputs-row\">\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n <span className=\"info-badge\">i</span>\n </label>\n <TextInput\n value={_searchParams?.kNumber}\n onChange={(e) => onChange(\"kNumber\", e.target.value)}\n placeholder={t(\"EKYC_K_NUMBER_PLACEHOLDER\") || \"e.g. 8234910234\"}\n />\n </div>\n\n <div className=\"input-group\">\n <label>\n {t(\"EKYC_K_NAME\") || \"K Name\"}\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </label>\n <TextInput\n value={_searchParams?.kName}\n onChange={(e) => onChange(\"kName\", e.target.value)}\n placeholder={t(\"EKYC_K_NAME_PLACEHOLDER\") || \"Consumer name search\"}\n />\n </div>\n </div>\n\n {/* Actions Row */}\n <div className=\"actions-row\">\n <button type=\"button\" onClick={onClear} className=\"clear-btn\">\n {t(\"ES_COMMON_CLEAR\") || \"Clear\"}\n </button>\n <button type=\"submit\" className=\"search-btn\">\n {t(\"ES_COMMON_SEARCH\") || \"Execute Search\"}\n </button>\n </div>\n </form>\n </div>\n\n {/* Right Stats Column */}\n <div className=\"stats-column\">\n {/* Today's Audits Card */}\n <div className=\"audits-card\">\n <div className=\"audits-label\">{t(\"EKYC_TODAYS_AUDITS\") || \"Today's Audits\"}</div>\n <div className=\"audits-count\">{props.countData?.todaysAudits || 24}</div>\n <div className=\"audits-change\">\n <span>↗</span>\n {props.countData?.auditChange || \"12% increase from yesterday\"}\n </div>\n <div className=\"audits-watermark\">M</div>\n </div>\n\n {/* Queue Status Card */}\n <div className=\"queue-card\">\n <div className=\"queue-label\">{t(\"EKYC_QUEUE_STATUS\") || \"Queue Status\"}</div>\n <div className=\"queue-content\">\n <div className=\"queue-status-text\">\n {props.countData?.pendingCount || 3} Pending\n </div>\n <div className=\"avatar-group\">\n {[0, 1].map((i) => (\n <div key={i} className=\"avatar-item\">\n {String.fromCharCode(65 + i)}\n </div>\n ))}\n <div className=\"avatar-more\">+1</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Children (ConnectionDetailsView or placeholder) */}\n {children}\n </div>\n </div>\n </div>\n );\n};\n\nexport default SearchConsumer;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Header, Card, SubmitBar, DetailsCard, Loader } from \"@djb25/digit-ui-react-components\";\nimport { Link } from \"react-router-dom\";\nimport SearchConsumer from \"./SearchConsumer\";\nimport StatusCards from \"./StatusCards\";\n\nconst MobileInbox = ({\n data,\n isLoading,\n onSearch,\n searchParams,\n parentRoute,\n countData,\n}) => {\n const { t } = useTranslation();\n\n const mobileData = data?.items?.map((item) => ({\n [t(\"EKYC_APPLICATION_NO\")]: item.applicationNumber,\n [t(\"EKYC_CITIZEN_NAME\")]: item.citizenName,\n [t(\"EKYC_MOBILE_NO\")]: item.mobileNumber,\n [t(\"EKYC_STATUS\")]: (\n <span className={`ekyc-status-tag ${item.status}`}>\n {t(`EKYC_STATUS_${item.status}`)}\n </span>\n ),\n })) || [];\n\n return (\n <div className=\"inbox-wrapper\">\n <div className=\"ekyc-header-container module-header\">\n <Header className=\"title\">{t(\"EKYC_INBOX_HEADER\")}</Header>\n <Link to={`${parentRoute}/create-kyc`}>\n <SubmitBar label={t(\"EKYC_CREATE_KYC\")} />\n </Link>\n </div>\n\n <div className=\"ekyc-metrics-section\">\n <StatusCards countData={countData} />\n </div>\n\n <SearchConsumer\n onSearch={onSearch}\n searchParams={searchParams}\n />\n\n <div className=\"mobile-data-container\">\n {isLoading ? (\n <Loader />\n ) : mobileData?.length > 0 ? (\n <DetailsCard\n data={mobileData}\n t={t}\n serviceRequestIdKey={t(\"EKYC_APPLICATION_NO\")}\n linkPrefix={`${parentRoute}/application-details/`}\n />\n ) : (\n <Card>\n {t(\"ES_COMMON_NO_DATA\")\n .split(\"\\\\n\")\n .map((text, index) => (\n <p key={index} style={{ textAlign: \"center\" }}>\n {text}\n </p>\n ))}\n </Card>\n )}\n </div>\n </div>\n );\n};\n\nexport default MobileInbox;\n","import React, { useState } from \"react\";\nimport { Dropdown, FilterForm, FilterFormField } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => {\n const { t } = useTranslation();\n\n const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams }));\n\n const applyLocalFilters = () => {\n onFilterChange(_searchParams);\n };\n\n const clearAll = () => {\n setSearchParams({ ...defaultSearchParams });\n onFilterChange({ ...defaultSearchParams });\n };\n\n const onStatusChange = (value) => {\n const newParams = { ..._searchParams, status: value };\n setSearchParams(newParams);\n onFilterChange(newParams);\n };\n\n return (\n <FilterForm\n onSubmit={applyLocalFilters}\n handleSubmit={(fn) => (e) => {\n e && e.preventDefault();\n fn();\n }}\n onResetFilterForm={clearAll}\n id=\"ekyc-filter-form\"\n onMobileExclusiveFilterPopupFormClose={props.onClose}\n >\n <FilterFormField>\n <div className=\"filter-label\" style={{ fontWeight: \"normal\" }}>\n {t(\"EKYC_STATUS\")}:\n </div>\n <Dropdown\n option={[\n { label: t(\"EKYC_STATUS_ALL\"), value: \"\" },\n { label: t(\"EKYC_STATUS_ACTIVE\"), value: \"ACTIVE\" },\n { label: t(\"EKYC_STATUS_PENDING\"), value: \"PENDING START\" },\n ]}\n optionKey=\"label\"\n select={onStatusChange}\n selected={_searchParams?.status || { label: t(\"EKYC_STATUS_ALL\"), value: \"\" }}\n />\n </FilterFormField>\n </FilterForm>\n );\n};\n\nexport default Filter;\n","export const ekycMockData = {\n topKpis: {\n totalWaterConnections: 2990996,\n totalEkycCompleted: 2460810,\n totalPending: 530186,\n totalRejected: 224324,\n agencyEkycCompleted: 2352069,\n citizenSelfEkycCompleted: 638927,\n todaysEkyc: 54684,\n successRate: 82,\n rejectionPercentage: 7,\n },\n\n executiveMetrics: {\n totalSurveyors: 186,\n totalSupervisors: 56,\n activeJurisdictions: 27,\n todaysGrowth: 2.8,\n selfEkycAdoption: 38,\n avgApprovalTime: \"2.3 Days\",\n riskZones: 7,\n escalationsOpen: 18,\n },\n\n alerts: [\n {\n title: \"North East District pending increased\",\n priority: \"high\",\n change: \"+22%\",\n district: \"North East District\",\n },\n {\n title: \"Agency 2 self eKYC adoption low\",\n priority: \"medium\",\n change: \"-12%\",\n district: \"West District\",\n },\n {\n title: \"Escalation raised in NWS Bhera Enclave\",\n priority: \"high\",\n change: \"+18\",\n district: \"Outer North\",\n },\n {\n title: \"Approval rate improved in East District\",\n priority: \"low\",\n change: \"+9%\",\n district: \"East District\",\n },\n ],\n\n heatmapData: [\n {\n district: \"Outer North\",\n intensity: 82,\n },\n {\n district: \"East District\",\n intensity: 48,\n },\n {\n district: \"South District\",\n intensity: 67,\n },\n {\n district: \"North East District\",\n intensity: 74,\n },\n ],\n\n dailyTrend: [\n {\n label: \"Mon\",\n completed: 270689,\n pending: 491305,\n rejected: 145810,\n },\n {\n label: \"Tue\",\n completed: 442945,\n pending: 466563,\n rejected: 157026,\n },\n {\n label: \"Wed\",\n completed: 615202,\n pending: 441821,\n rejected: 168243,\n },\n {\n label: \"Thu\",\n completed: 812067,\n pending: 413545,\n rejected: 179459,\n },\n {\n label: \"Fri\",\n completed: 1033540,\n pending: 381733,\n rejected: 190675,\n },\n {\n label: \"Sat\",\n completed: 1279621,\n pending: 346388,\n rejected: 201891,\n },\n {\n label: \"Sun\",\n completed: 1574918,\n pending: 303973,\n rejected: 213107,\n },\n ],\n\n selfVsAgency: [\n {\n label: \"Agency1\",\n agency: 201457,\n citizen: 758414,\n },\n {\n label: \"Agency 2\",\n agency: 164302,\n citizen: 919322,\n },\n {\n label: \"Agency 3\",\n agency: 328451,\n citizen: 541772,\n },\n ],\n\n pendingVsCompleted: [\n {\n label: \"Agency1\",\n completed: 201457,\n pending: 201457,\n },\n {\n label: \"Agency 2\",\n completed: 164302,\n pending: 164302,\n },\n {\n label: \"Agency 3\",\n completed: 328451,\n pending: 77278,\n },\n ],\n\n rejectionAnalysis: [\n {\n label: \"Agency1\",\n rejected: 71990,\n success: 72,\n },\n {\n label: \"Agency 2\",\n rejected: 81271,\n success: 77,\n },\n {\n label: \"Agency 3\",\n rejected: 71063,\n success: 86,\n },\n ],\n\n vendors: [\n {\n id: 1,\n name: \"Agency1\",\n\n assignedConnections: 959871,\n\n completedEkyc: 201457,\n\n selfEkyc: 758414,\n\n pending: 201457,\n\n rejected: 71990,\n\n inactiveDemand: 1161328,\n\n successRate: 72,\n\n progress: 21,\n\n supervisors: 23,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"Outer North\", \"North West District\", \"Model Town AC 18\", \"Cluster 2\", \"North District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 16116,\n pending: 196084,\n rejected: 53272,\n },\n {\n day: \"Tue\",\n completed: 26189,\n pending: 192727,\n rejected: 55072,\n },\n {\n day: \"Wed\",\n completed: 38276,\n pending: 188698,\n rejected: 57232,\n },\n {\n day: \"Thu\",\n completed: 52378,\n pending: 183997,\n rejected: 59751,\n },\n {\n day: \"Fri\",\n completed: 68495,\n pending: 178625,\n rejected: 62631,\n },\n {\n day: \"Sat\",\n completed: 84611,\n pending: 173253,\n rejected: 65510,\n },\n {\n day: \"Sun\",\n completed: 100728,\n pending: 167880,\n rejected: 68390,\n },\n ],\n\n zones: [\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n cluster: \"NWS Bhera Enclave\",\n\n assignedConnections: 102669,\n\n location: \"102669\",\n\n zroOffice: \"NWS Bhera Enclave\",\n\n assemblyConstituency: \"Part of Mundka AC 08\",\n\n gpsLocation: null,\n\n distanceFromFarthestPoint: null,\n\n activeDemand: 202197,\n\n pppZones: 15800,\n\n inactiveDemand: 35265,\n\n districtwiseInactiveTotal: 237462,\n },\n\n {\n agency: \"Agency1\",\n district: \"Outer North\",\n\n cluster: \"Narela\",\n\n assignedConnections: 99528,\n\n location: \"99528\",\n\n zroOffice: \"Narela\",\n\n assemblyConstituency: \"Narela AC 01\",\n\n activeDemand: 99528,\n\n pppZones: 19465,\n\n inactiveDemand: 35265,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"North West District\",\n\n cluster: \"Rohini AC 13\",\n\n assignedConnections: 71041,\n\n location: \"71041\",\n\n zroOffice: \"Rohini\",\n\n assemblyConstituency: \"Rithala AC 06\",\n\n activeDemand: 247949,\n\n pppZones: 28975,\n\n inactiveDemand: 49494,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Mangol Puri AC 12\",\n\n cluster: \"Model Town AC 18\",\n\n assignedConnections: 68957,\n\n location: \"68957\",\n\n zroOffice: \"Central North District\",\n\n assemblyConstituency: \"Ashok Vihar\",\n\n activeDemand: 231216,\n\n pppZones: 16627,\n\n inactiveDemand: 36915,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Timarpur AC 03\",\n\n cluster: \"Cluster 2\",\n\n assignedConnections: 34862,\n\n location: \"34862\",\n\n zroOffice: \"Old Delhi District\",\n\n assemblyConstituency: \"Pratap Nagar\",\n\n activeDemand: 99694,\n\n pppZones: 20011,\n\n inactiveDemand: 48011,\n },\n\n {\n agency: \"Agency1\",\n\n district: \"Bali Maran AC 22\",\n\n cluster: \"North District\",\n\n assignedConnections: 110507,\n\n location: \"110507\",\n\n zroOffice: \"Burari\",\n\n assemblyConstituency: \"Burari AC 2\",\n\n activeDemand: 178815,\n\n pppZones: 14700,\n\n inactiveDemand: 31772,\n },\n ],\n },\n\n {\n id: 2,\n\n name: \"Agency 2\",\n\n assignedConnections: 1083624,\n\n completedEkyc: 164302,\n\n selfEkyc: 919322,\n\n pending: 164302,\n\n rejected: 81271,\n\n inactiveDemand: 1247926,\n\n successRate: 77,\n\n progress: 15,\n\n supervisors: 14,\n\n activeSurveyors: 64,\n\n jurisdictions: [\"West District\", \"Janak Puri\", \"South District\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 13144,\n pending: 159920,\n rejected: 60140,\n },\n {\n day: \"Tue\",\n completed: 21359,\n pending: 157182,\n rejected: 62172,\n },\n {\n day: \"Wed\",\n completed: 31217,\n pending: 153896,\n rejected: 64610,\n },\n {\n day: \"Thu\",\n completed: 42718,\n pending: 150062,\n rejected: 67454,\n },\n {\n day: \"Fri\",\n completed: 55862,\n pending: 145681,\n rejected: 70705,\n },\n {\n day: \"Sat\",\n completed: 69006,\n pending: 141299,\n rejected: 73956,\n },\n {\n day: \"Sun\",\n completed: 82151,\n pending: 136918,\n rejected: 77207,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Rajouri Garden AC 27\",\n\n assignedConnections: 84506,\n\n location: \"84506\",\n\n zroOffice: \"Rajouri Garden AC 27\",\n\n assemblyConstituency: \"Punjabi Bagh\",\n\n activeDemand: 470766,\n\n pppZones: 13269,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"West District\",\n\n cluster: \"Tilak Nagar AC 29\",\n\n assignedConnections: 51428,\n\n location: \"51428\",\n\n zroOffice: \"Tilak Nagar AC 29\",\n\n assemblyConstituency: \"Paschim Vihar\",\n\n activeDemand: 470766,\n\n pppZones: 6298,\n\n inactiveDemand: 64564,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"Part of Uttam Nagar & Vikas puri\",\n\n cluster: \"Janak Puri\",\n\n assignedConnections: 163041,\n\n location: \"163041\",\n\n zroOffice: \"Janakpuri\",\n\n assemblyConstituency: \"Janakpuri AC 30\",\n\n activeDemand: 369772,\n\n pppZones: 25729,\n\n inactiveDemand: 60534,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"South District\",\n\n assignedConnections: 52803,\n\n location: \"52803\",\n\n zroOffice: \"R K Puram\",\n\n assemblyConstituency: \"Malviya Nagar AC 43\",\n\n activeDemand: 243086,\n\n pppZones: 9678,\n\n inactiveDemand: 39204,\n },\n\n {\n agency: \"Agency 2\",\n\n district: \"South District\",\n\n cluster: \"Vasant Kunz\",\n\n assignedConnections: 58997,\n\n location: \"58997\",\n\n zroOffice: \"Vasant Kunj\",\n\n assemblyConstituency: \"Vasant Kunj\",\n\n activeDemand: 243086,\n\n pppZones: 6691,\n\n inactiveDemand: 39204,\n },\n ],\n },\n\n {\n id: 3,\n\n name: \"Agency 3\",\n\n assignedConnections: 947501,\n\n completedEkyc: 328451,\n\n selfEkyc: 541772,\n\n pending: 77278,\n\n rejected: 71063,\n\n inactiveDemand: 1016841,\n\n successRate: 86,\n\n progress: 78,\n\n supervisors: 19,\n\n activeSurveyors: 58,\n\n jurisdictions: [\"East District\", \"North East District\", \"South East District\", \"MNWS\"],\n\n dailyPerformance: [\n {\n day: \"Mon\",\n completed: 44120,\n pending: 130002,\n rejected: 5711,\n },\n {\n day: \"Tue\",\n completed: 58221,\n pending: 121998,\n rejected: 7104,\n },\n {\n day: \"Wed\",\n completed: 70218,\n pending: 113201,\n rejected: 8842,\n },\n {\n day: \"Thu\",\n completed: 85124,\n pending: 104006,\n rejected: 9911,\n },\n {\n day: \"Fri\",\n completed: 102315,\n pending: 94441,\n rejected: 11214,\n },\n {\n day: \"Sat\",\n completed: 121009,\n pending: 85218,\n rejected: 12902,\n },\n {\n day: \"Sun\",\n completed: 142118,\n pending: 77278,\n rejected: 14101,\n },\n ],\n\n zones: [\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Mayur Vihar\",\n\n assignedConnections: 72326,\n\n location: \"72326\",\n\n zroOffice: \"Mayur Vihar\",\n\n assemblyConstituency: \"Trilokpuri AC 55\",\n\n activeDemand: 328564,\n\n pppZones: 9691,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"East District\",\n\n cluster: \"Yojna Vihar\",\n\n assignedConnections: 40651,\n\n location: \"40651\",\n\n zroOffice: \"Yojna Vihar\",\n\n assemblyConstituency: \"Vishwas Nagar AC 59\",\n\n activeDemand: 328564,\n\n pppZones: 10097,\n\n inactiveDemand: 52477,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"GTB Enclave\",\n\n assignedConnections: 80453,\n\n location: \"80453\",\n\n zroOffice: \"GTB Enclave\",\n\n assemblyConstituency: \"Seemapuri AC 63\",\n\n activeDemand: 323753,\n\n pppZones: 10671,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"North East District\",\n\n cluster: \"Yamuna Vihar\",\n\n assignedConnections: 90599,\n\n location: \"90599\",\n\n zroOffice: \"Yamuna Vihar\",\n\n assemblyConstituency: \"Mustafabad AC 69\",\n\n activeDemand: 323753,\n\n pppZones: 18185,\n\n inactiveDemand: 50575,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Kalkaji AC 51\",\n\n assignedConnections: 29188,\n\n location: \"29188\",\n\n zroOffice: \"Kalkaji AC 51\",\n\n assemblyConstituency: \"Saket\",\n\n activeDemand: 136102,\n\n pppZones: 3675,\n\n inactiveDemand: 23977,\n },\n\n {\n agency: \"Agency 3\",\n\n district: \"South East District\",\n\n cluster: \"Okhla\",\n\n assignedConnections: 18473,\n\n location: \"18473\",\n\n zroOffice: \"Sarita Vihar/Okhla\",\n\n assemblyConstituency: \"Okhla AC 54\",\n\n activeDemand: 136102,\n\n pppZones: 3703,\n\n inactiveDemand: 23977,\n },\n ],\n },\n ],\n};\n","// import React from \"react\";\n// import { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\n// const ExecutiveLineChart = ({ data = [], dataKey = \"completed\", name = \"Value\" }) => {\n// return (\n// <div className=\"chart-card\" style={{ minHeight: 320 }}>\n// <ResponsiveContainer width=\"100%\" height={320}>\n// <LineChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n// <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n// <XAxis dataKey=\"label\" axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n// <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} itemStyle={{ color: \"#f8fafc\" }} />\n// <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n// <Line\n// type=\"monotone\"\n// dataKey={dataKey}\n// name={name}\n// stroke=\"#38bdf8\"\n// strokeWidth={3}\n// dot={{ r: 4 }}\n// activeDot={{ r: 6, strokeWidth: 2, fill: \"#60a5fa\" }}\n// />\n// </LineChart>\n// </ResponsiveContainer>\n// </div>\n// );\n// };\n\n// export default ExecutiveLineChart;\n\nimport React from \"react\";\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveLineChart = ({ data = [] }) => {\n const formattedData = data.map((item) => ({\n ...item,\n\n agencyKyc: item.completed || 0,\n\n selfKyc: Math.round((item.completed || 0) * 0.42),\n\n totalKyc: (item.completed || 0) + Math.round((item.completed || 0) * 0.42),\n }));\n\n return (\n <div className=\"chart-card executive-line-chart\">\n <ResponsiveContainer width=\"100%\" height={340}>\n <LineChart\n data={formattedData}\n margin={{\n top: 20,\n right: 12,\n left: 0,\n bottom: 0,\n }}\n >\n <CartesianGrid stroke=\"#e2e8f0\" strokeDasharray=\"3 3\" vertical={false} />\n\n <XAxis\n dataKey=\"label\"\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n fontWeight: 600,\n }}\n />\n\n <YAxis\n axisLine={false}\n tickLine={false}\n tick={{\n fill: \"#64748b\",\n fontSize: 12,\n }}\n />\n\n <Tooltip\n cursor={{\n stroke: \"#cbd5e1\",\n strokeWidth: 1,\n }}\n contentStyle={{\n background: \"#ffffff\",\n border: \"1px solid #e2e8f0\",\n borderRadius: 18,\n boxShadow: \"0 10px 30px rgba(15,23,42,0.08)\",\n }}\n labelStyle={{\n color: \"#0f172a\",\n fontWeight: 700,\n marginBottom: 10,\n }}\n />\n\n <Legend\n verticalAlign=\"top\"\n align=\"right\"\n iconType=\"circle\"\n wrapperStyle={{\n paddingBottom: 18,\n color: \"#475569\",\n fontWeight: 600,\n }}\n />\n\n {/* TOTAL */}\n\n <Line\n type=\"monotone\"\n dataKey=\"totalKyc\"\n name=\"Total eKYC\"\n stroke=\"#0f172a\"\n strokeWidth={4}\n dot={false}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* AGENCY */}\n\n <Line\n type=\"monotone\"\n dataKey=\"agencyKyc\"\n name=\"Agency eKYC\"\n stroke=\"#3b82f6\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n\n {/* SELF */}\n\n <Line\n type=\"monotone\"\n dataKey=\"selfKyc\"\n name=\"Self eKYC\"\n stroke=\"#10b981\"\n strokeWidth={3}\n dot={{\n r: 3,\n }}\n activeDot={{\n r: 6,\n }}\n />\n </LineChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveLineChart;\n","import React from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, Legend } from \"recharts\";\n\nconst ExecutiveBarChart = ({ data = [], categories = [], xKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <BarChart data={data} margin={{ top: 12, right: 16, left: 0, bottom: 0 }}>\n <CartesianGrid stroke=\"rgba(148, 163, 184, 0.12)\" strokeDasharray=\"4 4\" />\n <XAxis dataKey={xKey} axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <YAxis axisLine={false} tickLine={false} tick={{ fill: \"#cbd5e1\" }} />\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14 }} itemStyle={{ color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"top\" align=\"right\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\" }} />\n {categories.map((series, index) => (\n <Bar\n key={series.key}\n dataKey={series.key}\n name={series.name}\n fill={index === 0 ? \"#34d399\" : \"#60a5fa\"}\n radius={[12, 12, 0, 0]}\n barSize={24}\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutiveBarChart;\n","import React from \"react\";\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from \"recharts\";\n\nconst colors = [\"#22c55e\", \"#38bdf8\", \"#f97316\", \"#facc15\", \"#f43f5e\"];\n\nconst ExecutivePieChart = ({ data = [], dataKey = \"value\", labelKey = \"label\" }) => {\n return (\n <div className=\"chart-card\" style={{ minHeight: 320 }}>\n <ResponsiveContainer width=\"100%\" height={320}>\n <PieChart>\n <Pie data={data} dataKey={dataKey} nameKey={labelKey} cx=\"50%\" cy=\"50%\" outerRadius={110} innerRadius={60} paddingAngle={3} label={{ fill: \"#f8fafc\", fontSize: 12 }}>\n {data.map((entry, index) => (\n <Cell key={`cell-${index}`} fill={colors[index % colors.length]} />\n ))}\n </Pie>\n <Tooltip contentStyle={{ background: \"#0f172a\", border: \"none\", borderRadius: 14, color: \"#f8fafc\" }} />\n <Legend verticalAlign=\"bottom\" align=\"center\" iconType=\"circle\" wrapperStyle={{ color: \"#cbd5e1\", marginTop: 10 }} />\n </PieChart>\n </ResponsiveContainer>\n </div>\n );\n};\n\nexport default ExecutivePieChart;\n","import React, { useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport {\n FaChartLine,\n FaUsers,\n FaCheckCircle,\n FaClock,\n FaExclamationTriangle,\n FaUserTie,\n FaMapMarkedAlt,\n FaSearch,\n FaArrowRight,\n} from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\n\nconst CeoDashboard = () => {\n const history = useHistory();\n const location = useLocation();\n const [query, setQuery] = useState(\"\");\n const [statusFilter, setStatusFilter] = useState(\"All\");\n\n const basePath = location.pathname.replace(/\\/ceo-dashboard$/, \"\");\n const filters = [\"All\", \"High Priority\", \"Stable\", \"Watchlist\"];\n\n const vendors = useMemo(() => ekycMockData.vendors || [], []);\n const topKpis = useMemo(() => ekycMockData.topKpis || {}, []);\n const dailyTrend = useMemo(() => ekycMockData.dailyTrend || [], []);\n const selfVsAgency = useMemo(() => ekycMockData.selfVsAgency || [], []);\n const pendingVsCompleted = useMemo(() => ekycMockData.pendingVsCompleted || [], []);\n // const rejectionAnalysis = ekycMockData.rejectionAnalysis || [];\n\n const filteredVendors = useMemo(() => {\n return vendors\n .filter((vendor) => {\n if (statusFilter === \"High Priority\") return vendor.successRate < 70;\n if (statusFilter === \"Watchlist\") return vendor.pending > 35000;\n if (statusFilter === \"Stable\") return vendor.successRate >= 70;\n return true;\n })\n .filter((vendor) => {\n if (!query) return true;\n const keyword = query.toLowerCase();\n return (\n vendor.name.toLowerCase().includes(keyword) ||\n vendor.jurisdictions.some((zone) => zone.toLowerCase().includes(keyword)) ||\n vendor.zones.some((zone) => zone.location?.toLowerCase().includes(keyword))\n );\n });\n }, [vendors, query, statusFilter]);\n\n const zoneRows = useMemo(() => {\n return vendors\n .flatMap((vendor) => vendor.zones.map((zone) => ({ ...zone, agency: vendor.name })))\n .filter((row) => row.location)\n .sort((a, b) => (b.activeDemand || 0) - (a.activeDemand || 0));\n }, [vendors]);\n\n const alerts = [\n \"North East District has 22% more pending accounts than last week\",\n \"Agency 2 has a 12% improvement opportunity in Self eKYC adoption\",\n \"Urgent: 18 supervisor escalations raised for NWS Bhera Enclave\",\n \"Risk alert: Rejection trends are rising in Outer North clusters\",\n ];\n\n const routeToVendor = (vendorId) => {\n history.push(`${basePath}/vendors/${vendorId}`);\n };\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <section className=\"kpi-grid\">\n {[\n {\n title: \"Total Water Connections\",\n value: topKpis.totalWaterConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n title: \"Total eKYC Completed\",\n value: topKpis.totalEkycCompleted,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Total Pending\",\n value: topKpis.totalPending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n title: \"Total Rejected\",\n value: topKpis.totalRejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n title: \"Agency eKYC Completed\",\n value: topKpis.agencyEkycCompleted,\n icon: <FaUserTie />,\n variant: \"info\",\n },\n {\n title: \"Citizen Self eKYC Completed\",\n value: topKpis.citizenSelfEkycCompleted,\n icon: <FaUsers />,\n variant: \"secondary\",\n },\n {\n title: \"Today's eKYC\",\n value: topKpis.todaysEkyc,\n icon: <FaChartLine />,\n variant: \"muted\",\n },\n {\n title: \"Success Rate\",\n value: `${topKpis.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n title: \"Rejection Percentage\",\n value: `${topKpis.rejectionPercentage}%`,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n ].map((card) => (\n <article key={card.title} className={`kpi-card card-${card.variant}`}>\n <div className=\"kpi-icon\">{card.icon}</div>\n <div>\n <p className=\"kpi-title\">{card.title}</p>\n <h2>{card.value?.toLocaleString?.() ?? card.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"vendor-section\">\n <div className=\"section-top\">\n <div>\n <h2>Agency Performance Snapshot</h2>\n <p>Search, filter, and navigate into detailed analytics for every assigned vendor.</p>\n </div>\n <div className=\"vendor-filters\">\n <div className=\"search-box\">\n <FaSearch />\n <input type=\"text\" placeholder=\"Search agency, jurisdiction, location\" value={query} onChange={(e) => setQuery(e.target.value)} />\n </div>\n <div className=\"status-pill-group\">\n {filters.map((status) => (\n <button key={status} className={`status-pill ${statusFilter === status ? \"active\" : \"\"}`} onClick={() => setStatusFilter(status)}>\n {status}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n <div className=\"vendor-grid\">\n {filteredVendors.map((vendor) => (\n <div key={vendor.id} className=\"vendor-card glass-card\" onClick={() => routeToVendor(vendor.id)}>\n <div className=\"vendor-card-top\">\n <div>\n <p className=\"vendor-chip\">{vendor.name}</p>\n <h3>{vendor.assignedConnections.toLocaleString()}</h3>\n <p className=\"vendor-subtitle\">Assigned connections across {vendor.jurisdictions.length} jurisdiction(s)</p>\n </div>\n <div className=\"vendor-progress-value\">{vendor.progress}%</div>\n </div>\n <div className=\"progress-bar\">\n <div className=\"progress-fill\" style={{ width: `${vendor.progress}%` }} />\n </div>\n <div className=\"vendor-stats-grid\">\n <div>\n <strong>{vendor.completedEkyc.toLocaleString()}</strong>\n <span>Agency eKYC</span>\n </div>\n <div>\n <strong>{vendor.selfEkyc.toLocaleString()}</strong>\n <span>Self eKYC</span>\n </div>\n <div>\n <strong>{vendor.pending.toLocaleString()}</strong>\n <span>Pending</span>\n </div>\n <div>\n <strong>{vendor.rejected.toLocaleString()}</strong>\n <span>Rejected</span>\n </div>\n </div>\n <div className=\"vendor-card-footer\">\n <span>{vendor.activeSurveyors} Surveyors</span>\n <span>{vendor.supervisors} Supervisors</span>\n <span>{vendor.jurisdictions.join(\", \")}</span>\n </div>\n <div className=\"vendor-card-action\">\n <span>Explore analytics</span>\n <FaArrowRight />\n </div>\n </div>\n ))}\n </div>\n </section>\n\n <section className=\"analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily eKYC Trend</h2>\n <span className=\"badge success\">Live index</span>\n </div>\n <ExecutiveLineChart data={dailyTrend} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency eKYC</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutiveBarChart\n data={selfVsAgency}\n categories={[\n { key: \"agency\", name: \"Agency\" },\n { key: \"citizen\", name: \"Citizen\" },\n ]}\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Operational pulse</span>\n </div>\n <ExecutivePieChart data={pendingVsCompleted} dataKey=\"completed\" labelKey=\"label\" />\n </div>\n </section>\n\n <section className=\"zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Jurisdiction Performance\n </h2>\n <p>Top zones evaluated from the full agency dataset.</p>\n </div>\n <button className=\"secondary-button\">Export Zone Data</button>\n </div>\n\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Agency</th>\n <th>Location</th>\n <th>District</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Progress</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.slice(0, 10).map((zone, index) => (\n <tr key={`${zone.agency}-${zone.location}-${index}`}>\n <td>{zone.agency}</td>\n <td>{zone.location}</td>\n <td>{zone.district || zone.cluster}</td>\n <td>{zone.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{zone.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className=\"status-badge success\">\n {Math.min(100, Math.round(((zone.pppZones || 0) / Math.max(zone.activeDemand || 1, 1)) * 100))}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid\">\n <div className=\"alerts-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaExclamationTriangle /> Critical Alerts\n </h2>\n </div>\n <div className=\"alerts-list\">\n {alerts.map((alert) => (\n <div key={alert} className=\"alert-card\">\n <FaExclamationTriangle />\n <p>{alert}</p>\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"efficiency-panel glass-card\">\n <div className=\"section-header\">\n <h2>\n <FaUserTie /> Workforce & Efficiency\n </h2>\n </div>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>48</h3>\n <p>Supervisors Online</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>168</h3>\n <p>Surveyors Active</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.todayEkyc?.toLocaleString()}</h3>\n <p>eKYC Completed Today</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{topKpis.successRate}%</h3>\n <p>Operational Efficiency</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default CeoDashboard;\n","import React, { useMemo } from \"react\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { FaArrowLeft, FaUsers, FaCheckCircle, FaClock, FaExclamationTriangle, FaMapMarkedAlt } from \"react-icons/fa\";\nimport { ekycMockData } from \"./mockData\";\nimport ExecutiveLineChart from \"./analytics/charts/ExecutiveLineChart\";\nimport ExecutiveBarChart from \"./analytics/charts/ExecutiveBarChart\";\nimport ExecutivePieChart from \"./analytics/charts/ExecutivePieChart\";\nimport { Loader } from \"@djb25/digit-ui-react-components\";\n\nconst VendorDetails = () => {\n const history = useHistory();\n const { vendorId = 1 } = useParams();\n const vendor = useMemo(() => ekycMockData.vendors.find((item) => item.id === Number(vendorId)), [vendorId]);\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const { isLoading, data: dashboardData } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId,\n offset: 0,\n limit: 10,\n },\n {\n enabled: !!tenantId,\n }\n );\n\n if (!vendor) {\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell\">\n <div className=\"detail-header\">\n <button className=\"back-button\" onClick={() => history.goBack()}>\n <FaArrowLeft /> Back\n </button>\n </div>\n <div className=\"empty-state\">\n <h2>Vendor analytics not found</h2>\n <p>The selected vendor does not exist in the current report. Please return to the dashboard.</p>\n </div>\n </div>\n </div>\n );\n }\n\n const zoneRows = vendor.zones.slice(0, 8);\n\n const performanceData = vendor.dailyPerformance.map((row) => ({\n day: row.day,\n completed: row.completed,\n pending: row.pending,\n rejected: row.rejected,\n }));\n\n if (isLoading) <Loader />;\n\n return (\n <div className=\"ekyc-dashboard-wrapper\">\n <div className=\"dashboard-shell detail-shell\">\n <section className=\"kpi-grid detail-kpi-grid\">\n {[\n {\n label: \"Assigned Connections\",\n value: vendor.assignedConnections,\n icon: <FaUsers />,\n variant: \"primary\",\n },\n {\n label: \"Agency eKYC\",\n value: vendor.completedEkyc,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n {\n label: \"Self eKYC\",\n value: vendor.selfEkyc,\n icon: <FaUsers />,\n variant: \"info\",\n },\n {\n label: \"Pending\",\n value: vendor.pending,\n icon: <FaClock />,\n variant: \"warning\",\n },\n {\n label: \"Rejected\",\n value: vendor.rejected,\n icon: <FaExclamationTriangle />,\n variant: \"danger\",\n },\n {\n label: \"Success Rate\",\n value: `${vendor.successRate}%`,\n icon: <FaCheckCircle />,\n variant: \"success\",\n },\n ].map((item) => (\n <article key={item.label} className={`kpi-card card-${item.variant}`}>\n <div className=\"kpi-icon\">{item.icon}</div>\n <div>\n <p className=\"kpi-title\">{item.label}</p>\n <h2>{item.value?.toLocaleString?.() ?? item.value}</h2>\n </div>\n </article>\n ))}\n </section>\n\n <section className=\"analytics-grid detail-analytics-grid\">\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Daily Completion Trend</h2>\n <span className=\"badge success\">Performance</span>\n </div>\n <ExecutiveLineChart data={performanceData} dataKey=\"completed\" name=\"Completed\" />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Pending vs Completed</h2>\n <span className=\"badge warning\">Workload</span>\n </div>\n <ExecutiveBarChart\n data={performanceData}\n categories={[\n { key: \"completed\", name: \"Completed\" },\n { key: \"pending\", name: \"Pending\" },\n ]}\n xKey=\"day\"\n />\n </div>\n\n <div className=\"analytics-panel glass-card\">\n <div className=\"section-header\">\n <h2>Self vs Agency Split</h2>\n <span className=\"badge info\">Adoption</span>\n </div>\n <ExecutivePieChart\n data={[\n { label: \"Agency eKYC\", value: vendor.completedEkyc },\n { label: \"Citizen Self eKYC\", value: vendor.selfEkyc },\n ]}\n dataKey=\"value\"\n labelKey=\"label\"\n />\n </div>\n </section>\n\n <section className=\"zone-section detail-zone-section\">\n <div className=\"section-header\">\n <div>\n <h2>\n <FaMapMarkedAlt /> Zone-wise Jurisdiction Analytics\n </h2>\n <p>Drill into the current operational load and heatmap intensity for this vendor.</p>\n </div>\n </div>\n <div className=\"table-wrapper glass-card\">\n <table>\n <thead>\n <tr>\n <th>Zone</th>\n <th>Cluster</th>\n <th>Assigned</th>\n <th>Agency eKYC</th>\n <th>Pending</th>\n <th>Activity Score</th>\n </tr>\n </thead>\n <tbody>\n {zoneRows.map((row, index) => (\n <tr key={`${row.location}-${index}`}>\n <td>{row.location}</td>\n <td>{row.cluster || row.district}</td>\n <td>{row.activeDemand?.toLocaleString() ?? \"—\"}</td>\n <td>{row.pppZones?.toLocaleString() ?? \"—\"}</td>\n <td>{row.inactiveDemand?.toLocaleString() ?? \"—\"}</td>\n <td>\n <span className={`status-badge ${row.intensityScore > 65 ? \"danger\" : row.intensityScore > 45 ? \"warning\" : \"success\"}`}>\n {row.intensityScore}%\n </span>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </section>\n\n <section className=\"bottom-grid detail-bottom-grid\">\n <div className=\"cards-summary glass-card\">\n <h2>Operational Efficiency</h2>\n <div className=\"efficiency-grid\">\n <div className=\"efficiency-box\">\n <h3>{vendor.activeSurveyors}</h3>\n <p>Active Surveyors</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{vendor.supervisors}</h3>\n <p>Supervisors</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{vendor.progress}%</h3>\n <p>Execution Rate</p>\n </div>\n <div className=\"efficiency-box\">\n <h3>{vendor.dailyPerformance.slice(-1)[0]?.completed?.toLocaleString()}</h3>\n <p>Latest Day Completed</p>\n </div>\n </div>\n </div>\n\n <div className=\"cards-summary glass-card\">\n <h2>Supervisor Pulse</h2>\n <div className=\"pulse-list\">\n {vendor.jurisdictions.map((zone) => (\n <div key={zone} className=\"pulse-row\">\n <span>{zone}</span>\n <span>{Math.max(12, Math.round(Math.random() * 38))} active</span>\n </div>\n ))}\n </div>\n </div>\n </section>\n </div>\n </div>\n );\n};\n\nexport default VendorDetails;\n","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst useInboxTableConfig = ({\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n checkPathName,\n onSortingByData,\n tenantId,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [selectedKno, setSelectedKno] = useState(\"\");\n const { data: reviewData, getReview } = Digit.Hooks.ekyc.useEkycAPI(\"review\", tenantId);\n const handleReview = (kno) => {\n setSelectedKno(kno);\n getReview({ kno });\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n React.useEffect(() => {\n if (reviewData) {\n history.push(`/digit-ui/${userType}/ekyc/review/${selectedKno}`, { aadhaarData: reviewData?.aadhaarData, reviewData });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reviewData]);\n\n const tableColumnConfig = [\n {\n Header: t(\"EKYC_APPLICATION_NO\"),\n accessor: \"applicationNumber\",\n disableSortBy: true,\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span className=\"ekyc-application-link\" onClick={() => handleReview(kno)}>\n {kno}\n </span>\n );\n },\n },\n {\n Header: t(\"EKYC_CITIZEN_NAME\"),\n accessor: \"citizenName\",\n Cell: ({ row }) => <span>{row.original?.citizenName || \"NA\"}</span>,\n },\n {\n Header: t(\"EKYC_STATUS\"),\n accessor: \"actionStatus\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(`${status}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_EKYC_STATUS\"),\n accessor: \"ekycStatus\",\n Cell: ({ row }) => {\n const ekycStatus = (row.original?.ekycStatus || row.original?.ekycstatus || \"NA\").toUpperCase();\n return <span className={`ekyc-status-tag ${ekycStatus}`}>{t(`${ekycStatus}`)}</span>;\n },\n },\n {\n Header: t(\"EKYC_REVIEW\"),\n accessor: \"review\",\n Cell: ({ row }) => {\n const kno = row.original?.kno || row.original?.applicationNumber || \"NA\";\n return (\n <span\n className=\"ekyc-application-link\"\n style={{ color: \"#add8f7\", cursor: \"pointer\", fontWeight: \"bold\" }}\n onClick={() => handleReview(kno)}\n >\n {t(\"EKYC_REVIEW\")}\n </span>\n );\n },\n },\n ];\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n initSortId: \"applicationDate\",\n onPageSizeChange: onPageSizeChange,\n currentPage: offset,\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) + limit },\n checkPathName,\n }),\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: parseInt(formState.tableForm?.offset) - limit },\n checkPathName,\n }),\n pageSizeLimit: limit,\n onSort: onSortingByData,\n // sortParams: [{id: getValues(\"sortBy\"), desc: getValues(\"sortOrder\") === \"DESC\" ? true : false}],\n totalRecords: totalCount,\n onSearch: formState?.searchForm?.message,\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit) },\n checkPathName,\n }),\n onFirstPage: () => dispatch({ action: \"mutateTableForm\", data: { ...formState.tableForm, offset: 0 }, checkPathName }),\n // globalSearch: {searchForItemsInTable},\n // searchQueryForTable,\n data: table,\n columns: tableColumnConfig,\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default useInboxTableConfig;\n","import { isValidElement, useRef, useState, useCallback, useEffect, useMemo, createContext, useContext, createElement, cloneElement } from 'react';\n\nvar isHTMLElement = (value) => value instanceof HTMLElement;\n\nconst EVENTS = {\r\n BLUR: 'blur',\r\n CHANGE: 'change',\r\n INPUT: 'input',\r\n};\r\nconst VALIDATION_MODE = {\r\n onBlur: 'onBlur',\r\n onChange: 'onChange',\r\n onSubmit: 'onSubmit',\r\n onTouched: 'onTouched',\r\n all: 'all',\r\n};\r\nconst SELECT = 'select';\r\nconst UNDEFINED = 'undefined';\r\nconst INPUT_VALIDATION_RULES = {\r\n max: 'max',\r\n min: 'min',\r\n maxLength: 'maxLength',\r\n minLength: 'minLength',\r\n pattern: 'pattern',\r\n required: 'required',\r\n validate: 'validate',\r\n};\n\nfunction attachEventListeners({ ref }, shouldAttachChangeEvent, handleChange) {\r\n if (isHTMLElement(ref) && handleChange) {\r\n ref.addEventListener(shouldAttachChangeEvent ? EVENTS.CHANGE : EVENTS.INPUT, handleChange);\r\n ref.addEventListener(EVENTS.BLUR, handleChange);\r\n }\r\n}\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\r\nvar isObject = (value) => !isNullOrUndefined(value) &&\r\n !Array.isArray(value) &&\r\n isObjectType(value) &&\r\n !(value instanceof Date);\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar compact = (value) => value.filter(Boolean);\n\nvar stringToPath = (input) => compact(input\r\n .replace(/[\"|']/g, '')\r\n .replace(/\\[/g, '.')\r\n .replace(/\\]/g, '')\r\n .split('.'));\n\nfunction set(object, path, value) {\r\n let index = -1;\r\n const tempPath = isKey(path) ? [path] : stringToPath(path);\r\n const length = tempPath.length;\r\n const lastIndex = length - 1;\r\n while (++index < length) {\r\n const key = tempPath[index];\r\n let newValue = value;\r\n if (index !== lastIndex) {\r\n const objValue = object[key];\r\n newValue =\r\n isObject(objValue) || Array.isArray(objValue)\r\n ? objValue\r\n : !isNaN(+tempPath[index + 1])\r\n ? []\r\n : {};\r\n }\r\n object[key] = newValue;\r\n object = object[key];\r\n }\r\n return object;\r\n}\n\nvar transformToNestObject = (data, value = {}) => {\r\n for (const key in data) {\r\n !isKey(key) ? set(value, key, data[key]) : (value[key] = data[key]);\r\n }\r\n return value;\r\n};\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (obj = {}, path, defaultValue) => {\r\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => (isNullOrUndefined(result) ? result : result[key]), obj);\r\n return isUndefined(result) || result === obj\r\n ? isUndefined(obj[path])\r\n ? defaultValue\r\n : obj[path]\r\n : result;\r\n};\n\nvar focusOnErrorField = (fields, fieldErrors) => {\r\n for (const key in fields) {\r\n if (get(fieldErrors, key)) {\r\n const field = fields[key];\r\n if (field) {\r\n if (field.ref.focus && isUndefined(field.ref.focus())) {\r\n break;\r\n }\r\n else if (field.options) {\r\n field.options[0].ref.focus();\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n};\n\nvar removeAllEventListeners = (ref, validateWithStateUpdate) => {\r\n if (isHTMLElement(ref) && ref.removeEventListener) {\r\n ref.removeEventListener(EVENTS.INPUT, validateWithStateUpdate);\r\n ref.removeEventListener(EVENTS.CHANGE, validateWithStateUpdate);\r\n ref.removeEventListener(EVENTS.BLUR, validateWithStateUpdate);\r\n }\r\n};\n\nconst defaultReturn = {\r\n isValid: false,\r\n value: null,\r\n};\r\nvar getRadioValue = (options) => Array.isArray(options)\r\n ? options.reduce((previous, option) => option && option.ref.checked\r\n ? {\r\n isValid: true,\r\n value: option.ref.value,\r\n }\r\n : previous, defaultReturn)\r\n : defaultReturn;\n\nvar getMultipleSelectValue = (options) => [...options]\r\n .filter(({ selected }) => selected)\r\n .map(({ value }) => value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isMultipleSelect = (element) => element.type === `${SELECT}-multiple`;\n\nconst defaultResult = {\r\n value: false,\r\n isValid: false,\r\n};\r\nconst validResult = { value: true, isValid: true };\r\nvar getCheckboxValue = (options) => {\r\n if (Array.isArray(options)) {\r\n if (options.length > 1) {\r\n const values = options\r\n .filter((option) => option && option.ref.checked)\r\n .map(({ ref: { value } }) => value);\r\n return { value: values, isValid: !!values.length };\r\n }\r\n const { checked, value, attributes } = options[0].ref;\r\n return checked\r\n ? attributes && !isUndefined(attributes.value)\r\n ? isUndefined(value) || value === ''\r\n ? validResult\r\n : { value: value, isValid: true }\r\n : validResult\r\n : defaultResult;\r\n }\r\n return defaultResult;\r\n};\n\nfunction getFieldValue(fieldsRef, name, shallowFieldsStateRef, excludeDisabled, shouldKeepRawValue) {\r\n const field = fieldsRef.current[name];\r\n if (field) {\r\n const { ref: { value, disabled }, ref, valueAsNumber, valueAsDate, setValueAs, } = field;\r\n if (disabled && excludeDisabled) {\r\n return;\r\n }\r\n if (isFileInput(ref)) {\r\n return ref.files;\r\n }\r\n if (isRadioInput(ref)) {\r\n return getRadioValue(field.options).value;\r\n }\r\n if (isMultipleSelect(ref)) {\r\n return getMultipleSelectValue(ref.options);\r\n }\r\n if (isCheckBoxInput(ref)) {\r\n return getCheckboxValue(field.options).value;\r\n }\r\n return shouldKeepRawValue\r\n ? value\r\n : valueAsNumber\r\n ? value === ''\r\n ? NaN\r\n : +value\r\n : valueAsDate\r\n ? ref.valueAsDate\r\n : setValueAs\r\n ? setValueAs(value)\r\n : value;\r\n }\r\n if (shallowFieldsStateRef) {\r\n return get(shallowFieldsStateRef.current, name);\r\n }\r\n}\n\nfunction isDetached(element) {\r\n if (!element) {\r\n return true;\r\n }\r\n if (!(element instanceof HTMLElement) ||\r\n element.nodeType === Node.DOCUMENT_NODE) {\r\n return false;\r\n }\r\n return isDetached(element.parentNode);\r\n}\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nfunction baseGet(object, updatePath) {\r\n const length = updatePath.slice(0, -1).length;\r\n let index = 0;\r\n while (index < length) {\r\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\r\n }\r\n return object;\r\n}\r\nfunction unset(object, path) {\r\n const updatePath = isKey(path) ? [path] : stringToPath(path);\r\n const childObject = updatePath.length == 1 ? object : baseGet(object, updatePath);\r\n const key = updatePath[updatePath.length - 1];\r\n let previousObjRef;\r\n if (childObject) {\r\n delete childObject[key];\r\n }\r\n for (let k = 0; k < updatePath.slice(0, -1).length; k++) {\r\n let index = -1;\r\n let objectRef;\r\n const currentPaths = updatePath.slice(0, -(k + 1));\r\n const currentPathsLength = currentPaths.length - 1;\r\n if (k > 0) {\r\n previousObjRef = object;\r\n }\r\n while (++index < currentPaths.length) {\r\n const item = currentPaths[index];\r\n objectRef = objectRef ? objectRef[item] : object[item];\r\n if (currentPathsLength === index &&\r\n ((isObject(objectRef) && isEmptyObject(objectRef)) ||\r\n (Array.isArray(objectRef) &&\r\n !objectRef.filter((data) => (isObject(data) && !isEmptyObject(data)) || isBoolean(data)).length))) {\r\n previousObjRef ? delete previousObjRef[item] : delete object[item];\r\n }\r\n previousObjRef = objectRef;\r\n }\r\n }\r\n return object;\r\n}\n\nconst isSameRef = (fieldValue, ref) => fieldValue && fieldValue.ref === ref;\r\nfunction findRemovedFieldAndRemoveListener(fieldsRef, handleChange, field, shallowFieldsStateRef, shouldUnregister, forceDelete) {\r\n const { ref, ref: { name }, } = field;\r\n const fieldRef = fieldsRef.current[name];\r\n if (!shouldUnregister) {\r\n const value = getFieldValue(fieldsRef, name, shallowFieldsStateRef);\r\n !isUndefined(value) && set(shallowFieldsStateRef.current, name, value);\r\n }\r\n if (!ref.type || !fieldRef) {\r\n delete fieldsRef.current[name];\r\n return;\r\n }\r\n if (isRadioInput(ref) || isCheckBoxInput(ref)) {\r\n if (Array.isArray(fieldRef.options) && fieldRef.options.length) {\r\n compact(fieldRef.options).forEach((option = {}, index) => {\r\n if ((isDetached(option.ref) && isSameRef(option, option.ref)) ||\r\n forceDelete) {\r\n removeAllEventListeners(option.ref, handleChange);\r\n unset(fieldRef.options, `[${index}]`);\r\n }\r\n });\r\n if (fieldRef.options && !compact(fieldRef.options).length) {\r\n delete fieldsRef.current[name];\r\n }\r\n }\r\n else {\r\n delete fieldsRef.current[name];\r\n }\r\n }\r\n else if ((isDetached(ref) && isSameRef(fieldRef, ref)) || forceDelete) {\r\n removeAllEventListeners(ref, handleChange);\r\n delete fieldsRef.current[name];\r\n }\r\n}\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepMerge(target, source) {\r\n if (isPrimitive(target) || isPrimitive(source)) {\r\n return source;\r\n }\r\n for (const key in source) {\r\n const targetValue = target[key];\r\n const sourceValue = source[key];\r\n try {\r\n target[key] =\r\n (isObject(targetValue) && isObject(sourceValue)) ||\r\n (Array.isArray(targetValue) && Array.isArray(sourceValue))\r\n ? deepMerge(targetValue, sourceValue)\r\n : sourceValue;\r\n }\r\n catch (_a) { }\r\n }\r\n return target;\r\n}\n\nfunction deepEqual(object1, object2, isErrorObject) {\r\n if (isPrimitive(object1) ||\r\n isPrimitive(object2) ||\r\n object1 instanceof Date ||\r\n object2 instanceof Date) {\r\n return object1 === object2;\r\n }\r\n if (!isValidElement(object1)) {\r\n const keys1 = Object.keys(object1);\r\n const keys2 = Object.keys(object2);\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n for (const key of keys1) {\r\n const val1 = object1[key];\r\n if (!(isErrorObject && key === 'ref')) {\r\n const val2 = object2[key];\r\n if ((isObject(val1) || Array.isArray(val1)) &&\r\n (isObject(val2) || Array.isArray(val2))\r\n ? !deepEqual(val1, val2, isErrorObject)\r\n : val1 !== val2) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n}\n\nfunction setDirtyFields(values, defaultValues, dirtyFields, parentNode, parentName) {\r\n let index = -1;\r\n while (++index < values.length) {\r\n for (const key in values[index]) {\r\n if (Array.isArray(values[index][key])) {\r\n !dirtyFields[index] && (dirtyFields[index] = {});\r\n dirtyFields[index][key] = [];\r\n setDirtyFields(values[index][key], get(defaultValues[index] || {}, key, []), dirtyFields[index][key], dirtyFields[index], key);\r\n }\r\n else {\r\n deepEqual(get(defaultValues[index] || {}, key), values[index][key])\r\n ? set(dirtyFields[index] || {}, key)\r\n : (dirtyFields[index] = Object.assign(Object.assign({}, dirtyFields[index]), { [key]: true }));\r\n }\r\n }\r\n parentNode &&\r\n !dirtyFields.length &&\r\n delete parentNode[parentName];\r\n }\r\n return dirtyFields;\r\n}\r\nvar setFieldArrayDirtyFields = (values, defaultValues, dirtyFields) => deepMerge(setDirtyFields(values, defaultValues, dirtyFields.slice(0, values.length)), setDirtyFields(defaultValues, values, dirtyFields.slice(0, values.length)));\n\nvar isString = (value) => typeof value === 'string';\n\nvar getFieldsValues = (fieldsRef, shallowFieldsState, shouldUnregister, excludeDisabled, search) => {\r\n const output = {};\r\n for (const name in fieldsRef.current) {\r\n if (isUndefined(search) ||\r\n (isString(search)\r\n ? name.startsWith(search)\r\n : Array.isArray(search) && search.find((data) => name.startsWith(data)))) {\r\n output[name] = getFieldValue(fieldsRef, name, undefined, excludeDisabled);\r\n }\r\n }\r\n return shouldUnregister\r\n ? transformToNestObject(output)\r\n : deepMerge(shallowFieldsState, transformToNestObject(output));\r\n};\n\nvar isErrorStateChanged = ({ errors, name, error, validFields, fieldsWithValidation, }) => {\r\n const isValid = isUndefined(error);\r\n const previousError = get(errors, name);\r\n return ((isValid && !!previousError) ||\r\n (!isValid && !deepEqual(previousError, error, true)) ||\r\n (isValid && get(fieldsWithValidation, name) && !get(validFields, name)));\r\n};\n\nvar isRegex = (value) => value instanceof RegExp;\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\r\n ? validationData\r\n : {\r\n value: validationData,\r\n message: '',\r\n };\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isMessage = (value) => isString(value) || isValidElement(value);\n\nfunction getValidateError(result, ref, type = 'validate') {\r\n if (isMessage(result) || (isBoolean(result) && !result)) {\r\n return {\r\n type,\r\n message: isMessage(result) ? result : '',\r\n ref,\r\n };\r\n }\r\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\r\n ? Object.assign(Object.assign({}, errors[name]), { types: Object.assign(Object.assign({}, (errors[name] && errors[name].types ? errors[name].types : {})), { [type]: message || true }) }) : {};\n\nvar validateField = async (fieldsRef, validateAllFieldCriteria, { ref, ref: { value }, options, required, maxLength, minLength, min, max, pattern, validate, }, shallowFieldsStateRef) => {\r\n const name = ref.name;\r\n const error = {};\r\n const isRadio = isRadioInput(ref);\r\n const isCheckBox = isCheckBoxInput(ref);\r\n const isRadioOrCheckbox = isRadio || isCheckBox;\r\n const isEmpty = value === '';\r\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\r\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\r\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\r\n error[name] = Object.assign({ type: exceedMax ? maxType : minType, message,\r\n ref }, (exceedMax\r\n ? appendErrorsCurry(maxType, message)\r\n : appendErrorsCurry(minType, message)));\r\n };\r\n if (required &&\r\n ((!isRadio && !isCheckBox && (isEmpty || isNullOrUndefined(value))) ||\r\n (isBoolean(value) && !value) ||\r\n (isCheckBox && !getCheckboxValue(options).isValid) ||\r\n (isRadio && !getRadioValue(options).isValid))) {\r\n const { value, message } = isMessage(required)\r\n ? { value: !!required, message: required }\r\n : getValueAndMessage(required);\r\n if (value) {\r\n error[name] = Object.assign({ type: INPUT_VALIDATION_RULES.required, message, ref: isRadioOrCheckbox\r\n ? ((fieldsRef.current[name].options || [])[0] || {}).ref\r\n : ref }, appendErrorsCurry(INPUT_VALIDATION_RULES.required, message));\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n if ((!isNullOrUndefined(min) || !isNullOrUndefined(max)) && value !== '') {\r\n let exceedMax;\r\n let exceedMin;\r\n const maxOutput = getValueAndMessage(max);\r\n const minOutput = getValueAndMessage(min);\r\n if (!isNaN(value)) {\r\n const valueNumber = ref.valueAsNumber || parseFloat(value);\r\n if (!isNullOrUndefined(maxOutput.value)) {\r\n exceedMax = valueNumber > maxOutput.value;\r\n }\r\n if (!isNullOrUndefined(minOutput.value)) {\r\n exceedMin = valueNumber < minOutput.value;\r\n }\r\n }\r\n else {\r\n const valueDate = ref.valueAsDate || new Date(value);\r\n if (isString(maxOutput.value)) {\r\n exceedMax = valueDate > new Date(maxOutput.value);\r\n }\r\n if (isString(minOutput.value)) {\r\n exceedMin = valueDate < new Date(minOutput.value);\r\n }\r\n }\r\n if (exceedMax || exceedMin) {\r\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n if (isString(value) && !isEmpty && (maxLength || minLength)) {\r\n const maxLengthOutput = getValueAndMessage(maxLength);\r\n const minLengthOutput = getValueAndMessage(minLength);\r\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\r\n value.length > maxLengthOutput.value;\r\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\r\n value.length < minLengthOutput.value;\r\n if (exceedMax || exceedMin) {\r\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n if (isString(value) && pattern && !isEmpty) {\r\n const { value: patternValue, message } = getValueAndMessage(pattern);\r\n if (isRegex(patternValue) && !patternValue.test(value)) {\r\n error[name] = Object.assign({ type: INPUT_VALIDATION_RULES.pattern, message,\r\n ref }, appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message));\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n if (validate) {\r\n const fieldValue = getFieldValue(fieldsRef, name, shallowFieldsStateRef, false, true);\r\n const validateRef = isRadioOrCheckbox && options ? options[0].ref : ref;\r\n if (isFunction(validate)) {\r\n const result = await validate(fieldValue);\r\n const validateError = getValidateError(result, validateRef);\r\n if (validateError) {\r\n error[name] = Object.assign(Object.assign({}, validateError), appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message));\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n else if (isObject(validate)) {\r\n let validationResult = {};\r\n for (const [key, validateFunction] of Object.entries(validate)) {\r\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\r\n break;\r\n }\r\n const validateResult = await validateFunction(fieldValue);\r\n const validateError = getValidateError(validateResult, validateRef, key);\r\n if (validateError) {\r\n validationResult = Object.assign(Object.assign({}, validateError), appendErrorsCurry(key, validateError.message));\r\n if (validateAllFieldCriteria) {\r\n error[name] = validationResult;\r\n }\r\n }\r\n }\r\n if (!isEmptyObject(validationResult)) {\r\n error[name] = Object.assign({ ref: validateRef }, validationResult);\r\n if (!validateAllFieldCriteria) {\r\n return error;\r\n }\r\n }\r\n }\r\n }\r\n return error;\r\n};\n\nconst getPath = (rootPath, values, paths = []) => {\r\n for (const property in values) {\r\n const rootName = (rootPath +\r\n (isObject(values)\r\n ? `.${property}`\r\n : `[${property}]`));\r\n isPrimitive(values[property])\r\n ? paths.push(rootName)\r\n : getPath(rootName, values[property], paths);\r\n }\r\n return paths;\r\n};\n\nvar assignWatchFields = (fieldValues, fieldName, watchFields, inputValue, isSingleField) => {\r\n let value = undefined;\r\n watchFields.add(fieldName);\r\n if (!isEmptyObject(fieldValues)) {\r\n value = get(fieldValues, fieldName);\r\n if (isObject(value) || Array.isArray(value)) {\r\n getPath(fieldName, value).forEach((name) => watchFields.add(name));\r\n }\r\n }\r\n return isUndefined(value)\r\n ? isSingleField\r\n ? inputValue\r\n : get(inputValue, fieldName)\r\n : value;\r\n};\n\nvar skipValidation = ({ isOnBlur, isOnChange, isOnTouch, isTouched, isReValidateOnBlur, isReValidateOnChange, isBlurEvent, isSubmitted, isOnAll, }) => {\r\n if (isOnAll) {\r\n return false;\r\n }\r\n else if (!isSubmitted && isOnTouch) {\r\n return !(isTouched || isBlurEvent);\r\n }\r\n else if (isSubmitted ? isReValidateOnBlur : isOnBlur) {\r\n return !isBlurEvent;\r\n }\r\n else if (isSubmitted ? isReValidateOnChange : isOnChange) {\r\n return isBlurEvent;\r\n }\r\n return true;\r\n};\n\nvar getFieldArrayParentName = (name) => name.substring(0, name.indexOf('['));\n\nconst isMatchFieldArrayName = (name, searchName) => RegExp(`^${searchName}([|.)\\\\d+`.replace(/\\[/g, '\\\\[').replace(/\\]/g, '\\\\]')).test(name);\r\nvar isNameInFieldArray = (names, name) => [...names].some((current) => isMatchFieldArrayName(name, current));\n\nvar isSelectInput = (element) => element.type === `${SELECT}-one`;\n\nfunction onDomRemove(fieldsRef, removeFieldEventListenerAndRef) {\r\n const observer = new MutationObserver(() => {\r\n for (const field of Object.values(fieldsRef.current)) {\r\n if (field && field.options) {\r\n for (const option of field.options) {\r\n if (option && option.ref && isDetached(option.ref)) {\r\n removeFieldEventListenerAndRef(field);\r\n }\r\n }\r\n }\r\n else if (field && isDetached(field.ref)) {\r\n removeFieldEventListenerAndRef(field);\r\n }\r\n }\r\n });\r\n observer.observe(window.document, {\r\n childList: true,\r\n subtree: true,\r\n });\r\n return observer;\r\n}\n\nvar isWeb = typeof window !== UNDEFINED && typeof document !== UNDEFINED;\n\nfunction cloneObject(data) {\r\n var _a;\r\n let copy;\r\n if (isPrimitive(data) ||\r\n (isWeb && (data instanceof File || isHTMLElement(data)))) {\r\n return data;\r\n }\r\n if (!['Set', 'Map', 'Object', 'Date', 'Array'].includes((_a = data.constructor) === null || _a === void 0 ? void 0 : _a.name)) {\r\n return data;\r\n }\r\n if (data instanceof Date) {\r\n copy = new Date(data.getTime());\r\n return copy;\r\n }\r\n if (data instanceof Set) {\r\n copy = new Set();\r\n for (const item of data) {\r\n copy.add(item);\r\n }\r\n return copy;\r\n }\r\n if (data instanceof Map) {\r\n copy = new Map();\r\n for (const key of data.keys()) {\r\n copy.set(key, cloneObject(data.get(key)));\r\n }\r\n return copy;\r\n }\r\n copy = Array.isArray(data) ? [] : {};\r\n for (const key in data) {\r\n copy[key] = cloneObject(data[key]);\r\n }\r\n return copy;\r\n}\n\nvar modeChecker = (mode) => ({\r\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\r\n isOnBlur: mode === VALIDATION_MODE.onBlur,\r\n isOnChange: mode === VALIDATION_MODE.onChange,\r\n isOnAll: mode === VALIDATION_MODE.all,\r\n isOnTouch: mode === VALIDATION_MODE.onTouched,\r\n});\n\nvar isRadioOrCheckboxFunction = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nconst isWindowUndefined = typeof window === UNDEFINED;\r\nconst isProxyEnabled = isWeb ? 'Proxy' in window : typeof Proxy !== UNDEFINED;\r\nfunction useForm({ mode = VALIDATION_MODE.onSubmit, reValidateMode = VALIDATION_MODE.onChange, resolver, context, defaultValues = {}, shouldFocusError = true, shouldUnregister = true, criteriaMode, } = {}) {\r\n const fieldsRef = useRef({});\r\n const fieldArrayDefaultValuesRef = useRef({});\r\n const fieldArrayValuesRef = useRef({});\r\n const watchFieldsRef = useRef(new Set());\r\n const useWatchFieldsRef = useRef({});\r\n const useWatchRenderFunctionsRef = useRef({});\r\n const fieldsWithValidationRef = useRef({});\r\n const validFieldsRef = useRef({});\r\n const defaultValuesRef = useRef(defaultValues);\r\n const isUnMount = useRef(false);\r\n const isWatchAllRef = useRef(false);\r\n const handleChangeRef = useRef();\r\n const shallowFieldsStateRef = useRef({});\r\n const resetFieldArrayFunctionRef = useRef({});\r\n const contextRef = useRef(context);\r\n const resolverRef = useRef(resolver);\r\n const fieldArrayNamesRef = useRef(new Set());\r\n const modeRef = useRef(modeChecker(mode));\r\n const { isOnSubmit, isOnTouch } = modeRef.current;\r\n const isValidateAllFieldCriteria = criteriaMode === VALIDATION_MODE.all;\r\n const [formState, setFormState] = useState({\r\n isDirty: false,\r\n isValidating: false,\r\n dirtyFields: {},\r\n isSubmitted: false,\r\n submitCount: 0,\r\n touched: {},\r\n isSubmitting: false,\r\n isSubmitSuccessful: false,\r\n isValid: !isOnSubmit,\r\n errors: {},\r\n });\r\n const readFormStateRef = useRef({\r\n isDirty: !isProxyEnabled,\r\n dirtyFields: !isProxyEnabled,\r\n touched: !isProxyEnabled || isOnTouch,\r\n isValidating: !isProxyEnabled,\r\n isSubmitting: !isProxyEnabled,\r\n isValid: !isProxyEnabled,\r\n });\r\n const formStateRef = useRef(formState);\r\n const observerRef = useRef();\r\n const { isOnBlur: isReValidateOnBlur, isOnChange: isReValidateOnChange, } = useRef(modeChecker(reValidateMode)).current;\r\n contextRef.current = context;\r\n resolverRef.current = resolver;\r\n formStateRef.current = formState;\r\n shallowFieldsStateRef.current = shouldUnregister\r\n ? {}\r\n : isEmptyObject(shallowFieldsStateRef.current)\r\n ? cloneObject(defaultValues)\r\n : shallowFieldsStateRef.current;\r\n const updateFormState = useCallback((state = {}) => {\r\n if (!isUnMount.current) {\r\n formStateRef.current = Object.assign(Object.assign({}, formStateRef.current), state);\r\n setFormState(formStateRef.current);\r\n }\r\n }, []);\r\n const updateIsValidating = () => readFormStateRef.current.isValidating &&\r\n updateFormState({\r\n isValidating: true,\r\n });\r\n const shouldRenderBaseOnError = useCallback((name, error, shouldRender = false, state = {}, isValid) => {\r\n let shouldReRender = shouldRender ||\r\n isErrorStateChanged({\r\n errors: formStateRef.current.errors,\r\n error,\r\n name,\r\n validFields: validFieldsRef.current,\r\n fieldsWithValidation: fieldsWithValidationRef.current,\r\n });\r\n const previousError = get(formStateRef.current.errors, name);\r\n if (error) {\r\n unset(validFieldsRef.current, name);\r\n shouldReRender =\r\n shouldReRender ||\r\n !previousError ||\r\n !deepEqual(previousError, error, true);\r\n set(formStateRef.current.errors, name, error);\r\n }\r\n else {\r\n if (get(fieldsWithValidationRef.current, name) || resolverRef.current) {\r\n set(validFieldsRef.current, name, true);\r\n shouldReRender = shouldReRender || previousError;\r\n }\r\n unset(formStateRef.current.errors, name);\r\n }\r\n if ((shouldReRender && !isNullOrUndefined(shouldRender)) ||\r\n !isEmptyObject(state) ||\r\n readFormStateRef.current.isValidating) {\r\n updateFormState(Object.assign(Object.assign(Object.assign({}, state), (resolverRef.current ? { isValid: !!isValid } : {})), { isValidating: false }));\r\n }\r\n }, []);\r\n const setFieldValue = useCallback((name, rawValue) => {\r\n const { ref, options } = fieldsRef.current[name];\r\n const value = isWeb && isHTMLElement(ref) && isNullOrUndefined(rawValue)\r\n ? ''\r\n : rawValue;\r\n if (isRadioInput(ref)) {\r\n (options || []).forEach(({ ref: radioRef }) => (radioRef.checked = radioRef.value === value));\r\n }\r\n else if (isFileInput(ref) && !isString(value)) {\r\n ref.files = value;\r\n }\r\n else if (isMultipleSelect(ref)) {\r\n [...ref.options].forEach((selectRef) => (selectRef.selected = value.includes(selectRef.value)));\r\n }\r\n else if (isCheckBoxInput(ref) && options) {\r\n options.length > 1\r\n ? options.forEach(({ ref: checkboxRef }) => (checkboxRef.checked = Array.isArray(value)\r\n ? !!value.find((data) => data === checkboxRef.value)\r\n : value === checkboxRef.value))\r\n : (options[0].ref.checked = !!value);\r\n }\r\n else {\r\n ref.value = value;\r\n }\r\n }, []);\r\n const isFormDirty = useCallback((name, data) => {\r\n if (readFormStateRef.current.isDirty) {\r\n const formValues = getValues();\r\n name && data && set(formValues, name, data);\r\n return !deepEqual(formValues, defaultValuesRef.current);\r\n }\r\n return false;\r\n }, []);\r\n const updateAndGetDirtyState = useCallback((name, shouldRender = true) => {\r\n if (readFormStateRef.current.isDirty ||\r\n readFormStateRef.current.dirtyFields) {\r\n const isFieldDirty = !deepEqual(get(defaultValuesRef.current, name), getFieldValue(fieldsRef, name, shallowFieldsStateRef));\r\n const isDirtyFieldExist = get(formStateRef.current.dirtyFields, name);\r\n const previousIsDirty = formStateRef.current.isDirty;\r\n isFieldDirty\r\n ? set(formStateRef.current.dirtyFields, name, true)\r\n : unset(formStateRef.current.dirtyFields, name);\r\n const state = {\r\n isDirty: isFormDirty(),\r\n dirtyFields: formStateRef.current.dirtyFields,\r\n };\r\n const isChanged = (readFormStateRef.current.isDirty &&\r\n previousIsDirty !== state.isDirty) ||\r\n (readFormStateRef.current.dirtyFields &&\r\n isDirtyFieldExist !== get(formStateRef.current.dirtyFields, name));\r\n isChanged && shouldRender && updateFormState(state);\r\n return isChanged ? state : {};\r\n }\r\n return {};\r\n }, []);\r\n const executeValidation = useCallback(async (name, skipReRender) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!fieldsRef.current[name]) {\r\n console.warn('📋 Field is missing with `name` attribute: ', name);\r\n return false;\r\n }\r\n }\r\n const error = (await validateField(fieldsRef, isValidateAllFieldCriteria, fieldsRef.current[name], shallowFieldsStateRef))[name];\r\n shouldRenderBaseOnError(name, error, skipReRender);\r\n return isUndefined(error);\r\n }, [shouldRenderBaseOnError, isValidateAllFieldCriteria]);\r\n const executeSchemaOrResolverValidation = useCallback(async (names) => {\r\n const { errors } = await resolverRef.current(getValues(), contextRef.current, isValidateAllFieldCriteria);\r\n const previousFormIsValid = formStateRef.current.isValid;\r\n if (Array.isArray(names)) {\r\n const isInputsValid = names\r\n .map((name) => {\r\n const error = get(errors, name);\r\n error\r\n ? set(formStateRef.current.errors, name, error)\r\n : unset(formStateRef.current.errors, name);\r\n return !error;\r\n })\r\n .every(Boolean);\r\n updateFormState({\r\n isValid: isEmptyObject(errors),\r\n isValidating: false,\r\n });\r\n return isInputsValid;\r\n }\r\n else {\r\n const error = get(errors, names);\r\n shouldRenderBaseOnError(names, error, previousFormIsValid !== isEmptyObject(errors), {}, isEmptyObject(errors));\r\n return !error;\r\n }\r\n }, [shouldRenderBaseOnError, isValidateAllFieldCriteria]);\r\n const trigger = useCallback(async (name) => {\r\n const fields = name || Object.keys(fieldsRef.current);\r\n updateIsValidating();\r\n if (resolverRef.current) {\r\n return executeSchemaOrResolverValidation(fields);\r\n }\r\n if (Array.isArray(fields)) {\r\n !name && (formStateRef.current.errors = {});\r\n const result = await Promise.all(fields.map(async (data) => await executeValidation(data, null)));\r\n updateFormState({\r\n isValidating: false,\r\n });\r\n return result.every(Boolean);\r\n }\r\n return await executeValidation(fields);\r\n }, [executeSchemaOrResolverValidation, executeValidation]);\r\n const setInternalValues = useCallback((name, value, { shouldDirty, shouldValidate }) => {\r\n const data = {};\r\n set(data, name, value);\r\n for (const fieldName of getPath(name, value)) {\r\n if (fieldsRef.current[fieldName]) {\r\n setFieldValue(fieldName, get(data, fieldName));\r\n shouldDirty && updateAndGetDirtyState(fieldName);\r\n shouldValidate && trigger(fieldName);\r\n }\r\n }\r\n }, [trigger, setFieldValue, updateAndGetDirtyState]);\r\n const setInternalValue = useCallback((name, value, config) => {\r\n !shouldUnregister &&\r\n !isPrimitive(value) &&\r\n set(shallowFieldsStateRef.current, name, Array.isArray(value) ? [...value] : Object.assign({}, value));\r\n if (fieldsRef.current[name]) {\r\n setFieldValue(name, value);\r\n config.shouldDirty && updateAndGetDirtyState(name);\r\n config.shouldValidate && trigger(name);\r\n }\r\n else if (!isPrimitive(value)) {\r\n setInternalValues(name, value, config);\r\n if (fieldArrayNamesRef.current.has(name)) {\r\n const parentName = getFieldArrayParentName(name) || name;\r\n set(fieldArrayDefaultValuesRef.current, name, value);\r\n resetFieldArrayFunctionRef.current[parentName]({\r\n [parentName]: get(fieldArrayDefaultValuesRef.current, parentName),\r\n });\r\n if ((readFormStateRef.current.isDirty ||\r\n readFormStateRef.current.dirtyFields) &&\r\n config.shouldDirty) {\r\n set(formStateRef.current.dirtyFields, name, setFieldArrayDirtyFields(value, get(defaultValuesRef.current, name, []), get(formStateRef.current.dirtyFields, name, [])));\r\n updateFormState({\r\n isDirty: !deepEqual(Object.assign(Object.assign({}, getValues()), { [name]: value }), defaultValuesRef.current),\r\n });\r\n }\r\n }\r\n }\r\n !shouldUnregister && set(shallowFieldsStateRef.current, name, value);\r\n }, [updateAndGetDirtyState, setFieldValue, setInternalValues]);\r\n const isFieldWatched = (name) => isWatchAllRef.current ||\r\n watchFieldsRef.current.has(name) ||\r\n watchFieldsRef.current.has((name.match(/\\w+/) || [])[0]);\r\n const renderWatchedInputs = (name) => {\r\n let found = true;\r\n if (!isEmptyObject(useWatchFieldsRef.current)) {\r\n for (const key in useWatchFieldsRef.current) {\r\n if (!name ||\r\n !useWatchFieldsRef.current[key].size ||\r\n useWatchFieldsRef.current[key].has(name) ||\r\n useWatchFieldsRef.current[key].has(getFieldArrayParentName(name))) {\r\n useWatchRenderFunctionsRef.current[key]();\r\n found = false;\r\n }\r\n }\r\n }\r\n return found;\r\n };\r\n function setValue(name, value, config) {\r\n setInternalValue(name, value, config || {});\r\n isFieldWatched(name) && updateFormState();\r\n renderWatchedInputs(name);\r\n }\r\n handleChangeRef.current = handleChangeRef.current\r\n ? handleChangeRef.current\r\n : async ({ type, target }) => {\r\n let name = target.name;\r\n const field = fieldsRef.current[name];\r\n let error;\r\n let isValid;\r\n if (field) {\r\n const isBlurEvent = type === EVENTS.BLUR;\r\n const shouldSkipValidation = skipValidation(Object.assign({ isBlurEvent,\r\n isReValidateOnChange,\r\n isReValidateOnBlur, isTouched: !!get(formStateRef.current.touched, name), isSubmitted: formStateRef.current.isSubmitted }, modeRef.current));\r\n let state = updateAndGetDirtyState(name, false);\r\n let shouldRender = !isEmptyObject(state) ||\r\n (!isBlurEvent && isFieldWatched(name));\r\n if (isBlurEvent &&\r\n !get(formStateRef.current.touched, name) &&\r\n readFormStateRef.current.touched) {\r\n set(formStateRef.current.touched, name, true);\r\n state = Object.assign(Object.assign({}, state), { touched: formStateRef.current.touched });\r\n }\r\n if (!shouldUnregister && isCheckBoxInput(target)) {\r\n set(shallowFieldsStateRef.current, name, getFieldValue(fieldsRef, name));\r\n }\r\n if (shouldSkipValidation) {\r\n !isBlurEvent && renderWatchedInputs(name);\r\n return ((!isEmptyObject(state) ||\r\n (shouldRender && isEmptyObject(state))) &&\r\n updateFormState(state));\r\n }\r\n updateIsValidating();\r\n if (resolverRef.current) {\r\n const { errors } = await resolverRef.current(getValues(), contextRef.current, isValidateAllFieldCriteria);\r\n const previousFormIsValid = formStateRef.current.isValid;\r\n error = get(errors, name);\r\n if (isCheckBoxInput(target) &&\r\n !error &&\r\n resolverRef.current) {\r\n const parentNodeName = getFieldArrayParentName(name);\r\n const currentError = get(errors, parentNodeName, {});\r\n currentError.type &&\r\n currentError.message &&\r\n (error = currentError);\r\n if (parentNodeName &&\r\n (currentError ||\r\n get(formStateRef.current.errors, parentNodeName))) {\r\n name = parentNodeName;\r\n }\r\n }\r\n isValid = isEmptyObject(errors);\r\n previousFormIsValid !== isValid && (shouldRender = true);\r\n }\r\n else {\r\n error = (await validateField(fieldsRef, isValidateAllFieldCriteria, field, shallowFieldsStateRef))[name];\r\n }\r\n !isBlurEvent && renderWatchedInputs(name);\r\n shouldRenderBaseOnError(name, error, shouldRender, state, isValid);\r\n }\r\n };\r\n function setFieldArrayDefaultValues(data) {\r\n if (!shouldUnregister) {\r\n let copy = cloneObject(data);\r\n for (const value of fieldArrayNamesRef.current) {\r\n if (isKey(value) && !copy[value]) {\r\n copy = Object.assign(Object.assign({}, copy), { [value]: [] });\r\n }\r\n }\r\n return copy;\r\n }\r\n return data;\r\n }\r\n function getValues(payload) {\r\n if (isString(payload)) {\r\n return getFieldValue(fieldsRef, payload, shallowFieldsStateRef);\r\n }\r\n if (Array.isArray(payload)) {\r\n const data = {};\r\n for (const name of payload) {\r\n set(data, name, getFieldValue(fieldsRef, name, shallowFieldsStateRef));\r\n }\r\n return data;\r\n }\r\n return setFieldArrayDefaultValues(getFieldsValues(fieldsRef, cloneObject(shallowFieldsStateRef.current), shouldUnregister));\r\n }\r\n const validateResolver = useCallback(async (values = {}) => {\r\n const newDefaultValues = isEmptyObject(fieldsRef.current)\r\n ? defaultValuesRef.current\r\n : {};\r\n const { errors } = (await resolverRef.current(Object.assign(Object.assign(Object.assign({}, newDefaultValues), getValues()), values), contextRef.current, isValidateAllFieldCriteria)) || {};\r\n const isValid = isEmptyObject(errors);\r\n formStateRef.current.isValid !== isValid &&\r\n updateFormState({\r\n isValid,\r\n });\r\n }, [isValidateAllFieldCriteria]);\r\n const removeFieldEventListener = useCallback((field, forceDelete) => {\r\n findRemovedFieldAndRemoveListener(fieldsRef, handleChangeRef.current, field, shallowFieldsStateRef, shouldUnregister, forceDelete);\r\n if (shouldUnregister) {\r\n unset(validFieldsRef.current, field.ref.name);\r\n unset(fieldsWithValidationRef.current, field.ref.name);\r\n }\r\n }, [shouldUnregister]);\r\n const updateWatchedValue = useCallback((name) => {\r\n if (isWatchAllRef.current) {\r\n updateFormState();\r\n }\r\n else {\r\n for (const watchField of watchFieldsRef.current) {\r\n if (watchField.startsWith(name)) {\r\n updateFormState();\r\n break;\r\n }\r\n }\r\n renderWatchedInputs(name);\r\n }\r\n }, []);\r\n const removeFieldEventListenerAndRef = useCallback((field, forceDelete) => {\r\n if (field) {\r\n removeFieldEventListener(field, forceDelete);\r\n if (shouldUnregister && !compact(field.options || []).length) {\r\n unset(formStateRef.current.errors, field.ref.name);\r\n set(formStateRef.current.dirtyFields, field.ref.name, true);\r\n updateFormState({\r\n isDirty: isFormDirty(),\r\n });\r\n readFormStateRef.current.isValid &&\r\n resolverRef.current &&\r\n validateResolver();\r\n updateWatchedValue(field.ref.name);\r\n }\r\n }\r\n }, [validateResolver, removeFieldEventListener]);\r\n function clearErrors(name) {\r\n name &&\r\n (Array.isArray(name) ? name : [name]).forEach((inputName) => fieldsRef.current[inputName] && isKey(inputName)\r\n ? delete formStateRef.current.errors[inputName]\r\n : unset(formStateRef.current.errors, inputName));\r\n updateFormState({\r\n errors: name ? formStateRef.current.errors : {},\r\n });\r\n }\r\n function setError(name, error) {\r\n const ref = (fieldsRef.current[name] || {}).ref;\r\n set(formStateRef.current.errors, name, Object.assign(Object.assign({}, error), { ref }));\r\n updateFormState({\r\n isValid: false,\r\n });\r\n error.shouldFocus && ref && ref.focus && ref.focus();\r\n }\r\n const watchInternal = useCallback((fieldNames, defaultValue, watchId) => {\r\n const watchFields = watchId\r\n ? useWatchFieldsRef.current[watchId]\r\n : watchFieldsRef.current;\r\n let fieldValues = getFieldsValues(fieldsRef, cloneObject(shallowFieldsStateRef.current), shouldUnregister, false, fieldNames);\r\n if (isString(fieldNames)) {\r\n const parentNodeName = getFieldArrayParentName(fieldNames) || fieldNames;\r\n if (fieldArrayNamesRef.current.has(parentNodeName)) {\r\n fieldValues = Object.assign(Object.assign({}, fieldArrayValuesRef.current), fieldValues);\r\n }\r\n return assignWatchFields(fieldValues, fieldNames, watchFields, isUndefined(get(defaultValuesRef.current, fieldNames))\r\n ? defaultValue\r\n : get(defaultValuesRef.current, fieldNames), true);\r\n }\r\n const combinedDefaultValues = isUndefined(defaultValue)\r\n ? defaultValuesRef.current\r\n : defaultValue;\r\n if (Array.isArray(fieldNames)) {\r\n return fieldNames.reduce((previous, name) => (Object.assign(Object.assign({}, previous), { [name]: assignWatchFields(fieldValues, name, watchFields, combinedDefaultValues) })), {});\r\n }\r\n isWatchAllRef.current = isUndefined(watchId);\r\n return transformToNestObject((!isEmptyObject(fieldValues) && fieldValues) ||\r\n combinedDefaultValues);\r\n }, []);\r\n function watch(fieldNames, defaultValue) {\r\n return watchInternal(fieldNames, defaultValue);\r\n }\r\n function unregister(name) {\r\n for (const fieldName of Array.isArray(name) ? name : [name]) {\r\n removeFieldEventListenerAndRef(fieldsRef.current[fieldName], true);\r\n }\r\n }\r\n function registerFieldRef(ref, options = {}) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!ref.name) {\r\n return console.warn('📋 Field is missing `name` attribute', ref, `https://react-hook-form.com/api#useForm`);\r\n }\r\n if (fieldArrayNamesRef.current.has(ref.name.split(/\\[\\d+\\]$/)[0]) &&\r\n !RegExp(`^${ref.name.split(/\\[\\d+\\]$/)[0]}[\\\\d+].\\\\w+`\r\n .replace(/\\[/g, '\\\\[')\r\n .replace(/\\]/g, '\\\\]')).test(ref.name)) {\r\n return console.warn('📋 `name` prop should be in object shape: name=\"test[index].name\"', ref, 'https://react-hook-form.com/api#useFieldArray');\r\n }\r\n }\r\n const { name, type, value } = ref;\r\n const fieldRefAndValidationOptions = Object.assign({ ref }, options);\r\n const fields = fieldsRef.current;\r\n const isRadioOrCheckbox = isRadioOrCheckboxFunction(ref);\r\n const isFieldArray = isNameInFieldArray(fieldArrayNamesRef.current, name);\r\n const compareRef = (currentRef) => isWeb && (!isHTMLElement(ref) || currentRef === ref);\r\n let field = fields[name];\r\n let isEmptyDefaultValue = true;\r\n let defaultValue;\r\n if (field &&\r\n (isRadioOrCheckbox\r\n ? Array.isArray(field.options) &&\r\n compact(field.options).find((option) => {\r\n return value === option.ref.value && compareRef(option.ref);\r\n })\r\n : compareRef(field.ref))) {\r\n fields[name] = Object.assign(Object.assign({}, field), options);\r\n return;\r\n }\r\n if (type) {\r\n field = isRadioOrCheckbox\r\n ? Object.assign({ options: [\r\n ...compact((field && field.options) || []),\r\n {\r\n ref,\r\n },\r\n ], ref: { type, name } }, options) : Object.assign({}, fieldRefAndValidationOptions);\r\n }\r\n else {\r\n field = fieldRefAndValidationOptions;\r\n }\r\n fields[name] = field;\r\n const isEmptyUnmountFields = isUndefined(get(shallowFieldsStateRef.current, name));\r\n if (!isEmptyObject(defaultValuesRef.current) || !isEmptyUnmountFields) {\r\n defaultValue = get(isEmptyUnmountFields\r\n ? defaultValuesRef.current\r\n : shallowFieldsStateRef.current, name);\r\n isEmptyDefaultValue = isUndefined(defaultValue);\r\n if (!isEmptyDefaultValue && !isFieldArray) {\r\n setFieldValue(name, defaultValue);\r\n }\r\n }\r\n if (!isEmptyObject(options)) {\r\n set(fieldsWithValidationRef.current, name, true);\r\n if (!isOnSubmit && readFormStateRef.current.isValid) {\r\n validateField(fieldsRef, isValidateAllFieldCriteria, field, shallowFieldsStateRef).then((error) => {\r\n const previousFormIsValid = formStateRef.current.isValid;\r\n isEmptyObject(error)\r\n ? set(validFieldsRef.current, name, true)\r\n : unset(validFieldsRef.current, name);\r\n previousFormIsValid !== isEmptyObject(error) && updateFormState();\r\n });\r\n }\r\n }\r\n if (shouldUnregister && !(isFieldArray && isEmptyDefaultValue)) {\r\n !isFieldArray && unset(formStateRef.current.dirtyFields, name);\r\n }\r\n if (type) {\r\n attachEventListeners(isRadioOrCheckbox && field.options\r\n ? field.options[field.options.length - 1]\r\n : field, isRadioOrCheckbox || isSelectInput(ref), handleChangeRef.current);\r\n }\r\n }\r\n function register(refOrRegisterOptions, options) {\r\n if (!isWindowUndefined) {\r\n if (isString(refOrRegisterOptions)) {\r\n registerFieldRef({ name: refOrRegisterOptions }, options);\r\n }\r\n else if (isObject(refOrRegisterOptions) &&\r\n 'name' in refOrRegisterOptions) {\r\n registerFieldRef(refOrRegisterOptions, options);\r\n }\r\n else {\r\n return (ref) => ref && registerFieldRef(ref, refOrRegisterOptions);\r\n }\r\n }\r\n }\r\n const handleSubmit = useCallback((onValid, onInvalid) => async (e) => {\r\n if (e && e.preventDefault) {\r\n e.preventDefault();\r\n e.persist();\r\n }\r\n let fieldErrors = {};\r\n let fieldValues = setFieldArrayDefaultValues(getFieldsValues(fieldsRef, cloneObject(shallowFieldsStateRef.current), shouldUnregister, true));\r\n readFormStateRef.current.isSubmitting &&\r\n updateFormState({\r\n isSubmitting: true,\r\n });\r\n try {\r\n if (resolverRef.current) {\r\n const { errors, values } = await resolverRef.current(fieldValues, contextRef.current, isValidateAllFieldCriteria);\r\n formStateRef.current.errors = fieldErrors = errors;\r\n fieldValues = values;\r\n }\r\n else {\r\n for (const field of Object.values(fieldsRef.current)) {\r\n if (field) {\r\n const { name } = field.ref;\r\n const fieldError = await validateField(fieldsRef, isValidateAllFieldCriteria, field, shallowFieldsStateRef);\r\n if (fieldError[name]) {\r\n set(fieldErrors, name, fieldError[name]);\r\n unset(validFieldsRef.current, name);\r\n }\r\n else if (get(fieldsWithValidationRef.current, name)) {\r\n unset(formStateRef.current.errors, name);\r\n set(validFieldsRef.current, name, true);\r\n }\r\n }\r\n }\r\n }\r\n if (isEmptyObject(fieldErrors) &&\r\n Object.keys(formStateRef.current.errors).every((name) => name in fieldsRef.current)) {\r\n updateFormState({\r\n errors: {},\r\n isSubmitting: true,\r\n });\r\n await onValid(fieldValues, e);\r\n }\r\n else {\r\n formStateRef.current.errors = Object.assign(Object.assign({}, formStateRef.current.errors), fieldErrors);\r\n onInvalid && (await onInvalid(formStateRef.current.errors, e));\r\n shouldFocusError &&\r\n focusOnErrorField(fieldsRef.current, formStateRef.current.errors);\r\n }\r\n }\r\n finally {\r\n formStateRef.current.isSubmitting = false;\r\n updateFormState({\r\n isSubmitted: true,\r\n isSubmitting: false,\r\n isSubmitSuccessful: isEmptyObject(formStateRef.current.errors),\r\n submitCount: formStateRef.current.submitCount + 1,\r\n });\r\n }\r\n }, [shouldFocusError, isValidateAllFieldCriteria]);\r\n const resetRefs = ({ errors, isDirty, isSubmitted, touched, isValid, submitCount, dirtyFields, }) => {\r\n if (!isValid) {\r\n validFieldsRef.current = {};\r\n fieldsWithValidationRef.current = {};\r\n }\r\n fieldArrayDefaultValuesRef.current = {};\r\n watchFieldsRef.current = new Set();\r\n isWatchAllRef.current = false;\r\n updateFormState({\r\n submitCount: submitCount ? formStateRef.current.submitCount : 0,\r\n isDirty: isDirty ? formStateRef.current.isDirty : false,\r\n isSubmitted: isSubmitted ? formStateRef.current.isSubmitted : false,\r\n isValid: isValid ? formStateRef.current.isValid : false,\r\n dirtyFields: dirtyFields ? formStateRef.current.dirtyFields : {},\r\n touched: touched ? formStateRef.current.touched : {},\r\n errors: errors ? formStateRef.current.errors : {},\r\n isSubmitting: false,\r\n isSubmitSuccessful: false,\r\n });\r\n };\r\n const reset = (values, omitResetState = {}) => {\r\n if (isWeb) {\r\n for (const field of Object.values(fieldsRef.current)) {\r\n if (field) {\r\n const { ref, options } = field;\r\n const inputRef = isRadioOrCheckboxFunction(ref) && Array.isArray(options)\r\n ? options[0].ref\r\n : ref;\r\n if (isHTMLElement(inputRef)) {\r\n try {\r\n inputRef.closest('form').reset();\r\n break;\r\n }\r\n catch (_a) { }\r\n }\r\n }\r\n }\r\n }\r\n fieldsRef.current = {};\r\n defaultValuesRef.current = Object.assign({}, (values || defaultValuesRef.current));\r\n values && renderWatchedInputs('');\r\n Object.values(resetFieldArrayFunctionRef.current).forEach((resetFieldArray) => isFunction(resetFieldArray) && resetFieldArray());\r\n shallowFieldsStateRef.current = shouldUnregister\r\n ? {}\r\n : cloneObject(values || defaultValuesRef.current);\r\n resetRefs(omitResetState);\r\n };\r\n useEffect(() => {\r\n resolver && readFormStateRef.current.isValid && validateResolver();\r\n observerRef.current =\r\n observerRef.current || !isWeb\r\n ? observerRef.current\r\n : onDomRemove(fieldsRef, removeFieldEventListenerAndRef);\r\n }, [removeFieldEventListenerAndRef, defaultValuesRef.current]);\r\n useEffect(() => () => {\r\n observerRef.current && observerRef.current.disconnect();\r\n isUnMount.current = true;\r\n if (process.env.NODE_ENV !== 'production') {\r\n return;\r\n }\r\n Object.values(fieldsRef.current).forEach((field) => removeFieldEventListenerAndRef(field, true));\r\n }, []);\r\n if (!resolver && readFormStateRef.current.isValid) {\r\n formState.isValid =\r\n deepEqual(validFieldsRef.current, fieldsWithValidationRef.current) &&\r\n isEmptyObject(formStateRef.current.errors);\r\n }\r\n const commonProps = {\r\n trigger,\r\n setValue: useCallback(setValue, [setInternalValue, trigger]),\r\n getValues: useCallback(getValues, []),\r\n register: useCallback(register, [defaultValuesRef.current]),\r\n unregister: useCallback(unregister, []),\r\n formState: isProxyEnabled\r\n ? new Proxy(formState, {\r\n get: (obj, prop) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (prop === 'isValid' && isOnSubmit) {\r\n console.warn('📋 `formState.isValid` is applicable with `onTouched`, `onChange` or `onBlur` mode. https://react-hook-form.com/api#formState');\r\n }\r\n }\r\n if (prop in obj) {\r\n readFormStateRef.current[prop] = true;\r\n return obj[prop];\r\n }\r\n return undefined;\r\n },\r\n })\r\n : formState,\r\n };\r\n const control = useMemo(() => (Object.assign({ isFormDirty,\r\n updateWatchedValue,\r\n shouldUnregister,\r\n updateFormState,\r\n removeFieldEventListener,\r\n watchInternal, mode: modeRef.current, reValidateMode: {\r\n isReValidateOnBlur,\r\n isReValidateOnChange,\r\n }, validateResolver: resolver ? validateResolver : undefined, fieldsRef,\r\n resetFieldArrayFunctionRef,\r\n useWatchFieldsRef,\r\n useWatchRenderFunctionsRef,\r\n fieldArrayDefaultValuesRef,\r\n validFieldsRef,\r\n fieldsWithValidationRef,\r\n fieldArrayNamesRef,\r\n readFormStateRef,\r\n formStateRef,\r\n defaultValuesRef,\r\n shallowFieldsStateRef,\r\n fieldArrayValuesRef }, commonProps)), [\r\n defaultValuesRef.current,\r\n updateWatchedValue,\r\n shouldUnregister,\r\n removeFieldEventListener,\r\n watchInternal,\r\n ]);\r\n return Object.assign({ watch,\r\n control,\r\n handleSubmit, reset: useCallback(reset, []), clearErrors: useCallback(clearErrors, []), setError: useCallback(setError, []), errors: formState.errors }, commonProps);\r\n}\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nconst FormContext = createContext(null);\r\nFormContext.displayName = 'RHFContext';\r\nconst useFormContext = () => useContext(FormContext);\r\nconst FormProvider = (_a) => {\r\n var { children } = _a, props = __rest(_a, [\"children\"]);\r\n return (createElement(FormContext.Provider, { value: Object.assign({}, props) }, children));\r\n};\n\nvar generateId = () => {\r\n const d = typeof performance === UNDEFINED ? Date.now() : performance.now() * 1000;\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n const r = (Math.random() * 16 + d) % 16 | 0;\r\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\r\n });\r\n};\n\nfunction removeAtIndexes(data, indexes) {\r\n let i = 0;\r\n const temp = [...data];\r\n for (const index of indexes) {\r\n temp.splice(index - i, 1);\r\n i++;\r\n }\r\n return compact(temp).length ? temp : [];\r\n}\r\nvar removeArrayAt = (data, index) => isUndefined(index)\r\n ? []\r\n : removeAtIndexes(data, (Array.isArray(index) ? index : [index]).sort((a, b) => a - b));\n\nvar moveArrayAt = (data, from, to) => {\r\n if (Array.isArray(data)) {\r\n if (isUndefined(data[to])) {\r\n data[to] = undefined;\r\n }\r\n data.splice(to, 0, data.splice(from, 1)[0]);\r\n return data;\r\n }\r\n return [];\r\n};\n\nvar swapArrayAt = (data, indexA, indexB) => {\r\n const temp = [data[indexB], data[indexA]];\r\n data[indexA] = temp[0];\r\n data[indexB] = temp[1];\r\n};\n\nfunction prepend(data, value) {\r\n return [...(Array.isArray(value) ? value : [value || undefined]), ...data];\r\n}\n\nfunction insert(data, index, value) {\r\n return [\r\n ...data.slice(0, index),\r\n ...(Array.isArray(value) ? value : [value || undefined]),\r\n ...data.slice(index),\r\n ];\r\n}\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? Array(value.length).fill(undefined) : undefined;\n\nvar fillBooleanArray = (value) => (Array.isArray(value) ? value : [value]).map((data) => {\r\n if (isObject(data)) {\r\n const object = {};\r\n for (const key in data) {\r\n object[key] = true;\r\n }\r\n return object;\r\n }\r\n return true;\r\n});\n\nconst mapIds = (values = [], keyName, skipWarn) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!skipWarn) {\r\n for (const value of values) {\r\n if (typeof value === 'object') {\r\n if (keyName in value) {\r\n console.warn(`📋 useFieldArray fieldValues contain the keyName \\`${keyName}\\` which is reserved for use by useFieldArray. https://react-hook-form.com/api#useFieldArray`);\r\n break;\r\n }\r\n }\r\n else {\r\n console.warn(`📋 useFieldArray input's name should be in object shape instead of flat array. https://react-hook-form.com/api#useFieldArray`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return values.map((value) => (Object.assign({ [keyName]: value[keyName] || generateId() }, value)));\r\n};\r\nconst useFieldArray = ({ control, name, keyName = 'id', }) => {\r\n const methods = useFormContext();\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!control && !methods) {\r\n throw new Error('📋 useFieldArray is missing `control` prop. https://react-hook-form.com/api#useFieldArray');\r\n }\r\n }\r\n const focusIndexRef = useRef(-1);\r\n const isUnMount = useRef(false);\r\n const { isFormDirty, updateWatchedValue, resetFieldArrayFunctionRef, fieldArrayNamesRef, fieldsRef, defaultValuesRef, removeFieldEventListener, formStateRef, shallowFieldsStateRef, updateFormState, readFormStateRef, validFieldsRef, fieldsWithValidationRef, fieldArrayDefaultValuesRef, validateResolver, getValues, shouldUnregister, fieldArrayValuesRef, } = control || methods.control;\r\n const getDefaultValues = (values) => get(shouldUnregister ? values : shallowFieldsStateRef.current, name, []);\r\n const fieldArrayParentName = getFieldArrayParentName(name);\r\n const memoizedDefaultValues = useRef([\r\n ...(get(fieldArrayDefaultValuesRef.current, fieldArrayParentName)\r\n ? getDefaultValues(fieldArrayDefaultValuesRef.current)\r\n : getDefaultValues(defaultValuesRef.current)),\r\n ]);\r\n const [fields, setFields] = useState(mapIds(memoizedDefaultValues.current, keyName));\r\n set(fieldArrayValuesRef.current, name, compact(fields));\r\n const omitKey = (fields) => fields.map((_a = {}) => {\r\n var _b = keyName, omitted = _a[_b], rest = __rest(_a, [typeof _b === \"symbol\" ? _b : _b + \"\"]);\r\n return rest;\r\n });\r\n fieldArrayNamesRef.current.add(name);\r\n const getFieldArrayValue = useCallback(() => get(fieldArrayValuesRef.current, name, []), [name]);\r\n const getCurrentFieldsValues = () => mapIds(get(getValues(), name, getFieldArrayValue()).map((item, index) => (Object.assign(Object.assign({}, getFieldArrayValue()[index]), item))), keyName, true);\r\n fieldArrayNamesRef.current.add(name);\r\n if (fieldArrayParentName &&\r\n !get(fieldArrayDefaultValuesRef.current, fieldArrayParentName)) {\r\n set(fieldArrayDefaultValuesRef.current, fieldArrayParentName, cloneObject(get(defaultValuesRef.current, fieldArrayParentName)));\r\n }\r\n const setFieldAndValidState = (fieldsValues) => {\r\n setFields(fieldsValues);\r\n set(fieldArrayValuesRef.current, name, fieldsValues);\r\n if (readFormStateRef.current.isValid && validateResolver) {\r\n const values = getValues();\r\n set(values, name, fieldsValues);\r\n validateResolver(values);\r\n }\r\n };\r\n const resetFields = () => {\r\n for (const key in fieldsRef.current) {\r\n if (isMatchFieldArrayName(key, name)) {\r\n removeFieldEventListener(fieldsRef.current[key], true);\r\n delete fieldsRef.current[key];\r\n }\r\n }\r\n };\r\n const cleanup = (ref) => !compact(get(ref, name, [])).length && unset(ref, name);\r\n const updateDirtyFieldsWithDefaultValues = (updatedFieldArrayValues) => {\r\n if (updatedFieldArrayValues) {\r\n set(formStateRef.current.dirtyFields, name, setFieldArrayDirtyFields(omitKey(updatedFieldArrayValues), get(defaultValuesRef.current, name, []), get(formStateRef.current.dirtyFields, name, [])));\r\n }\r\n };\r\n const batchStateUpdate = (method, args, updatedFieldValues, updatedFormValues = [], shouldSet = true, shouldUpdateValid = false) => {\r\n if (get(shallowFieldsStateRef.current, name)) {\r\n const output = method(get(shallowFieldsStateRef.current, name), args.argA, args.argB);\r\n shouldSet && set(shallowFieldsStateRef.current, name, output);\r\n }\r\n if (get(fieldArrayDefaultValuesRef.current, name)) {\r\n const output = method(get(fieldArrayDefaultValuesRef.current, name), args.argA, args.argB);\r\n shouldSet && set(fieldArrayDefaultValuesRef.current, name, output);\r\n }\r\n if (Array.isArray(get(formStateRef.current.errors, name))) {\r\n const output = method(get(formStateRef.current.errors, name), args.argA, args.argB);\r\n shouldSet && set(formStateRef.current.errors, name, output);\r\n cleanup(formStateRef.current.errors);\r\n }\r\n if (readFormStateRef.current.touched &&\r\n get(formStateRef.current.touched, name)) {\r\n const output = method(get(formStateRef.current.touched, name), args.argA, args.argB);\r\n shouldSet && set(formStateRef.current.touched, name, output);\r\n cleanup(formStateRef.current.touched);\r\n }\r\n if (readFormStateRef.current.dirtyFields ||\r\n readFormStateRef.current.isDirty) {\r\n set(formStateRef.current.dirtyFields, name, setFieldArrayDirtyFields(omitKey(updatedFormValues), get(defaultValuesRef.current, name, []), get(formStateRef.current.dirtyFields, name, [])));\r\n updateDirtyFieldsWithDefaultValues(updatedFieldValues);\r\n cleanup(formStateRef.current.dirtyFields);\r\n }\r\n if (shouldUpdateValid &&\r\n readFormStateRef.current.isValid &&\r\n !validateResolver) {\r\n set(validFieldsRef.current, name, method(get(validFieldsRef.current, name, []), args.argA));\r\n cleanup(validFieldsRef.current);\r\n set(fieldsWithValidationRef.current, name, method(get(fieldsWithValidationRef.current, name, []), args.argA));\r\n cleanup(fieldsWithValidationRef.current);\r\n }\r\n if (!isUnMount.current && readFormStateRef.current.isDirty) {\r\n updateFormState({\r\n isDirty: isFormDirty(name, omitKey(updatedFormValues)),\r\n });\r\n }\r\n };\r\n const append = (value, shouldFocus = true) => {\r\n const appendValue = Array.isArray(value) ? value : [value];\r\n const updateFormValues = [\r\n ...getCurrentFieldsValues(),\r\n ...mapIds(appendValue, keyName),\r\n ];\r\n setFieldAndValidState(updateFormValues);\r\n if (readFormStateRef.current.dirtyFields ||\r\n readFormStateRef.current.isDirty) {\r\n updateDirtyFieldsWithDefaultValues(updateFormValues);\r\n updateFormState({\r\n isDirty: true,\r\n dirtyFields: formStateRef.current.dirtyFields,\r\n });\r\n }\r\n !shouldUnregister &&\r\n set(shallowFieldsStateRef.current, name, [\r\n ...(get(shallowFieldsStateRef.current, name) || []),\r\n ...cloneObject(appendValue),\r\n ]);\r\n focusIndexRef.current = shouldFocus\r\n ? get(fieldArrayValuesRef.current, name).length - 1\r\n : -1;\r\n };\r\n const prepend$1 = (value, shouldFocus = true) => {\r\n const emptyArray = fillEmptyArray(value);\r\n const updatedFieldArrayValues = prepend(getCurrentFieldsValues(), mapIds(Array.isArray(value) ? value : [value], keyName));\r\n setFieldAndValidState(updatedFieldArrayValues);\r\n resetFields();\r\n batchStateUpdate(prepend, {\r\n argA: emptyArray,\r\n argC: fillBooleanArray(value),\r\n }, updatedFieldArrayValues);\r\n focusIndexRef.current = shouldFocus ? 0 : -1;\r\n };\r\n const remove = (index) => {\r\n const fieldValues = getCurrentFieldsValues();\r\n const updatedFieldValues = removeArrayAt(fieldValues, index);\r\n setFieldAndValidState(updatedFieldValues);\r\n resetFields();\r\n batchStateUpdate(removeArrayAt, {\r\n argA: index,\r\n argC: index,\r\n }, updatedFieldValues, removeArrayAt(fieldValues, index), true, true);\r\n };\r\n const insert$1 = (index, value, shouldFocus = true) => {\r\n const emptyArray = fillEmptyArray(value);\r\n const fieldValues = getCurrentFieldsValues();\r\n const updatedFieldArrayValues = insert(fieldValues, index, mapIds(Array.isArray(value) ? value : [value], keyName));\r\n setFieldAndValidState(updatedFieldArrayValues);\r\n resetFields();\r\n batchStateUpdate(insert, {\r\n argA: index,\r\n argB: emptyArray,\r\n argC: index,\r\n argD: fillBooleanArray(value),\r\n }, updatedFieldArrayValues, insert(fieldValues, index));\r\n focusIndexRef.current = shouldFocus ? index : -1;\r\n };\r\n const swap = (indexA, indexB) => {\r\n const fieldValues = getCurrentFieldsValues();\r\n swapArrayAt(fieldValues, indexA, indexB);\r\n resetFields();\r\n setFieldAndValidState([...fieldValues]);\r\n batchStateUpdate(swapArrayAt, {\r\n argA: indexA,\r\n argB: indexB,\r\n argC: indexA,\r\n argD: indexB,\r\n }, undefined, fieldValues, false);\r\n };\r\n const move = (from, to) => {\r\n const fieldValues = getCurrentFieldsValues();\r\n moveArrayAt(fieldValues, from, to);\r\n resetFields();\r\n setFieldAndValidState([...fieldValues]);\r\n batchStateUpdate(moveArrayAt, {\r\n argA: from,\r\n argB: to,\r\n argC: from,\r\n argD: to,\r\n }, undefined, fieldValues, false);\r\n };\r\n useEffect(() => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!name) {\r\n console.warn('📋 useFieldArray is missing `name` attribute. https://react-hook-form.com/api#useFieldArray');\r\n }\r\n }\r\n const defaultValues = get(fieldArrayDefaultValuesRef.current, name);\r\n if (defaultValues && fields.length < defaultValues.length) {\r\n set(fieldArrayDefaultValuesRef.current, name, defaultValues.slice(1));\r\n }\r\n updateWatchedValue(name);\r\n if (focusIndexRef.current > -1) {\r\n for (const key in fieldsRef.current) {\r\n const field = fieldsRef.current[key];\r\n if (key.startsWith(`${name}[${focusIndexRef.current}]`) &&\r\n field.ref.focus) {\r\n field.ref.focus();\r\n break;\r\n }\r\n }\r\n }\r\n focusIndexRef.current = -1;\r\n }, [fields, name]);\r\n useEffect(() => {\r\n const resetFunctions = resetFieldArrayFunctionRef.current;\r\n const fieldArrayNames = fieldArrayNamesRef.current;\r\n if (!getFieldArrayParentName(name)) {\r\n resetFunctions[name] = (data) => {\r\n resetFields();\r\n !data && unset(fieldArrayDefaultValuesRef.current, name);\r\n unset(shallowFieldsStateRef.current, name);\r\n memoizedDefaultValues.current = get(data || defaultValuesRef.current, name);\r\n if (!isUnMount.current) {\r\n setFields(mapIds(memoizedDefaultValues.current, keyName));\r\n }\r\n };\r\n }\r\n return () => {\r\n isUnMount.current = true;\r\n shouldUnregister && remove();\r\n resetFields();\r\n delete resetFunctions[name];\r\n unset(fieldArrayValuesRef.current, name);\r\n fieldArrayNames.delete(name);\r\n };\r\n }, []);\r\n return {\r\n swap: useCallback(swap, [name]),\r\n move: useCallback(move, [name]),\r\n prepend: useCallback(prepend$1, [name]),\r\n append: useCallback(append, [name]),\r\n remove: useCallback(remove, [name]),\r\n insert: useCallback(insert$1, [name]),\r\n fields: compact(fields),\r\n };\r\n};\n\nvar getInputValue = (event) => isPrimitive(event) ||\r\n !isObject(event.target) ||\r\n (isObject(event.target) && !event.type)\r\n ? event\r\n : isUndefined(event.target.value)\r\n ? event.target.checked\r\n : event.target.value;\n\nfunction useController({ name, rules, defaultValue, control, onFocus, }) {\r\n const methods = useFormContext();\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!control && !methods) {\r\n throw new Error('📋 Controller is missing `control` prop. https://react-hook-form.com/api#Controller');\r\n }\r\n }\r\n const { defaultValuesRef, setValue, register, unregister, trigger, mode, reValidateMode: { isReValidateOnBlur, isReValidateOnChange }, formState, formStateRef: { current: { isSubmitted, touched, errors }, }, updateFormState, readFormStateRef, fieldsRef, fieldArrayNamesRef, shallowFieldsStateRef, } = control || methods.control;\r\n const isNotFieldArray = !isNameInFieldArray(fieldArrayNamesRef.current, name);\r\n const getInitialValue = () => !isUndefined(get(shallowFieldsStateRef.current, name)) && isNotFieldArray\r\n ? get(shallowFieldsStateRef.current, name)\r\n : isUndefined(defaultValue)\r\n ? get(defaultValuesRef.current, name)\r\n : defaultValue;\r\n const [value, setInputStateValue] = useState(getInitialValue());\r\n const valueRef = useRef(value);\r\n const ref = useRef({\r\n focus: () => null,\r\n });\r\n const onFocusRef = useRef(onFocus ||\r\n (() => {\r\n if (isFunction(ref.current.focus)) {\r\n ref.current.focus();\r\n }\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!isFunction(ref.current.focus)) {\r\n console.warn(`📋 'ref' from Controller render prop must be attached to a React component or a DOM Element whose ref provides a 'focus()' method`);\r\n }\r\n }\r\n }));\r\n const shouldValidate = useCallback((isBlurEvent) => !skipValidation(Object.assign({ isBlurEvent,\r\n isReValidateOnBlur,\r\n isReValidateOnChange,\r\n isSubmitted, isTouched: !!get(touched, name) }, mode)), [\r\n isReValidateOnBlur,\r\n isReValidateOnChange,\r\n isSubmitted,\r\n touched,\r\n name,\r\n mode,\r\n ]);\r\n const commonTask = useCallback(([event]) => {\r\n const data = getInputValue(event);\r\n setInputStateValue(data);\r\n valueRef.current = data;\r\n return data;\r\n }, []);\r\n const registerField = useCallback((shouldUpdateValue) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!name) {\r\n return console.warn('📋 Field is missing `name` prop. https://react-hook-form.com/api#Controller');\r\n }\r\n }\r\n if (fieldsRef.current[name]) {\r\n fieldsRef.current[name] = Object.assign({ ref: fieldsRef.current[name].ref }, rules);\r\n }\r\n else {\r\n register(Object.defineProperties({\r\n name,\r\n focus: onFocusRef.current,\r\n }, {\r\n value: {\r\n set(data) {\r\n setInputStateValue(data);\r\n valueRef.current = data;\r\n },\r\n get() {\r\n return valueRef.current;\r\n },\r\n },\r\n }), rules);\r\n shouldUpdateValue = isUndefined(get(defaultValuesRef.current, name));\r\n }\r\n shouldUpdateValue &&\r\n isNotFieldArray &&\r\n setInputStateValue(getInitialValue());\r\n }, [rules, name, register]);\r\n useEffect(() => () => unregister(name), [name]);\r\n useEffect(() => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (isUndefined(value)) {\r\n console.warn(`📋 ${name} is missing in the 'defaultValue' prop of either its Controller (https://react-hook-form.com/api#Controller) or useForm (https://react-hook-form.com/api#useForm)`);\r\n }\r\n if (!isNotFieldArray && isUndefined(defaultValue)) {\r\n console.warn('📋 Controller is missing `defaultValue` prop when using `useFieldArray`. https://react-hook-form.com/api#Controller');\r\n }\r\n }\r\n registerField();\r\n }, [registerField]);\r\n useEffect(() => {\r\n !fieldsRef.current[name] && registerField(true);\r\n });\r\n const onBlur = useCallback(() => {\r\n if (readFormStateRef.current.touched && !get(touched, name)) {\r\n set(touched, name, true);\r\n updateFormState({\r\n touched,\r\n });\r\n }\r\n shouldValidate(true) && trigger(name);\r\n }, [name, updateFormState, shouldValidate, trigger, readFormStateRef]);\r\n const onChange = useCallback((...event) => setValue(name, commonTask(event), {\r\n shouldValidate: shouldValidate(),\r\n shouldDirty: true,\r\n }), [setValue, name, shouldValidate]);\r\n return {\r\n field: {\r\n onChange,\r\n onBlur,\r\n name,\r\n value,\r\n ref,\r\n },\r\n meta: Object.defineProperties({\r\n invalid: !!get(errors, name),\r\n }, {\r\n isDirty: {\r\n get() {\r\n return !!get(formState.dirtyFields, name);\r\n },\r\n },\r\n isTouched: {\r\n get() {\r\n return !!get(formState.touched, name);\r\n },\r\n },\r\n }),\r\n };\r\n}\n\nfunction useWatch({ control, name, defaultValue, }) {\r\n const methods = useFormContext();\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!control && !methods) {\r\n throw new Error('📋 useWatch is missing `control` prop. https://react-hook-form.com/api#useWatch');\r\n }\r\n }\r\n const { useWatchFieldsRef, useWatchRenderFunctionsRef, watchInternal, defaultValuesRef, } = control || methods.control;\r\n const updateValue = useState()[1];\r\n const idRef = useRef();\r\n const defaultValueRef = useRef(defaultValue);\r\n useEffect(() => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (name === '') {\r\n console.warn('📋 useWatch is missing `name` attribute. https://react-hook-form.com/api#useWatch');\r\n }\r\n }\r\n const id = (idRef.current = generateId());\r\n const watchFieldsHookRender = useWatchRenderFunctionsRef.current;\r\n const watchFieldsHook = useWatchFieldsRef.current;\r\n watchFieldsHook[id] = new Set();\r\n watchFieldsHookRender[id] = () => updateValue({});\r\n watchInternal(name, defaultValueRef.current, id);\r\n return () => {\r\n delete watchFieldsHook[id];\r\n delete watchFieldsHookRender[id];\r\n };\r\n }, [\r\n name,\r\n useWatchRenderFunctionsRef,\r\n useWatchFieldsRef,\r\n watchInternal,\r\n defaultValueRef,\r\n ]);\r\n return idRef.current\r\n ? watchInternal(name, defaultValueRef.current, idRef.current)\r\n : isUndefined(defaultValue)\r\n ? isString(name)\r\n ? get(defaultValuesRef.current, name)\r\n : Array.isArray(name)\r\n ? name.reduce((previous, inputName) => (Object.assign(Object.assign({}, previous), { [inputName]: get(defaultValuesRef.current, inputName) })), {})\r\n : defaultValuesRef.current\r\n : defaultValue;\r\n}\n\nconst Controller = (props) => {\r\n const { rules, as, render, defaultValue, control, onFocus } = props, rest = __rest(props, [\"rules\", \"as\", \"render\", \"defaultValue\", \"control\", \"onFocus\"]);\r\n const { field, meta } = useController(props);\r\n const componentProps = Object.assign(Object.assign({}, rest), field);\r\n return as\r\n ? isValidElement(as)\r\n ? cloneElement(as, componentProps)\r\n : createElement(as, componentProps)\r\n : render\r\n ? render(field, meta)\r\n : null;\r\n};\n\nexport { Controller, FormProvider, appendErrors, get, transformToNestObject, useController, useFieldArray, useForm, useFormContext, useWatch };\n//# sourceMappingURL=index.esm.js.map\n","import React from \"react\";\nimport { Controller } from \"react-hook-form\";\nimport { CardLabelError, TextInput, CustomTooltip, Label } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SearchFormFieldsComponents = ({ searchFormState, controlSearchForm, searchType }) => {\n const { t } = useTranslation();\n const { errors } = searchFormState;\n\n if (searchType === \"mobile\") {\n return (\n <React.Fragment>\n {/* MOBILE NUMBER */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"ES_COMMON_MOBILE_NUM\") || \"Mobile Number\"}\n <CustomTooltip message={t(\"EKYC_MOBILE_NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"mobileNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[6-9]\\d{9}$/,\n message: t(\"ERR_INVALID_MOBILE_NUMBER\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.mobileNumber && <CardLabelError>{errors.mobileNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment>\n {/* K NUMBER (KNO) */}\n <span className=\"mobile-input\">\n <Label className=\"flex-roww flex-gap-2\">\n {t(\"EKYC_K.NUMBER\") || \"K Number\"}\n <CustomTooltip message={t(\"EKYC_K.NUMBER_MESSAGE\")} />\n </Label>\n\n <Controller\n name=\"kNumber\"\n control={controlSearchForm}\n defaultValue=\"\"\n rules={{\n pattern: {\n value: /^[0-9]{10}$/,\n message: t(\"ERR_INVALID_KNO\"),\n },\n }}\n render={({ onChange, value }) => <TextInput value={value || \"\"} onChange={(e) => onChange(e.target.value)} />}\n />\n\n {errors?.kNumber && <CardLabelError>{errors.kNumber.message}</CardLabelError>}\n </span>\n </React.Fragment>\n );\n};\n\nexport default SearchFormFieldsComponents;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute, businessService = \"EKYC\", initialStates = {}, filterComponent, isInbox }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 10,\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);\n\n const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return listData?.consumerList || [];\n }, [isSearchActive, searchData, listData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: item.connectionDetails?.consumerName || \"\",\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: item.connectionDetails?.consumerName || \"\",\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(\" \");\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.kno || \"\",\n owner: fullName || item.consumerName || item.citizenName || \"\",\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName || item.consumerName || item.citizenName || \"\",\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = listData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n const PropsForInboxLinks = {\n headerText: checkPathName ? \"EKYC_MODULE\" : \"MODULE_SW\",\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const FilterFormFields = useCallback(\n ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n []\n );\n\n const propsForFilterForm = {\n FilterFormFields,\n onFilterFormSubmit: () => { },\n filterFormDefaultValues: \"\",\n resetFilterFormDefaultValues: \"\",\n onFilterFormReset: () => { },\n };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isListLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n countData: listData,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useState, useMemo } from \"react\";\nimport {\n Header,\n Card,\n CardHeader,\n CardText,\n CardLabel,\n Dropdown,\n SubmitBar,\n ActionBar,\n Table,\n Toast,\n LabelFieldPair,\n Modal,\n DeleteIcon,\n EditIcon,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\n// ─── Static Mock Data ─────────────────────────────────────────────────────────\n\nconst MOCK_SURVEYORS = [\n { name: \"Amit Kumar\", id: \"SVR001\", role: \"Surveyor\" },\n { name: \"Sanjay Singh\", id: \"SVR002\", role: \"Surveyor\" },\n { name: \"Rahul Sharma\", id: \"SVR003\", role: \"Surveyor\" },\n { name: \"Priya Verma\", id: \"SVR004\", role: \"Surveyor\" },\n];\n\nconst MOCK_MRDS = [\n { name: \"MRD - 01 (Central Zone)\", code: \"MRD01\", zone: \"Central\" },\n { name: \"MRD - 02 (North Zone)\", code: \"MRD02\", zone: \"North\" },\n { name: \"MRD - 03 (South Zone)\", code: \"MRD03\", zone: \"South\" },\n { name: \"MRD - 04 (West Zone)\", code: \"MRD04\", zone: \"West\" },\n { name: \"MRD - 05 (East Zone)\", code: \"MRD05\", zone: \"East\" },\n { name: \"MRD - 06 (Rohini)\", code: \"MRD06\", zone: \"Rohini\" },\n { name: \"MRD - 07 (Dwarka)\", code: \"MRD07\", zone: \"Dwarka\" },\n];\n\n// ─── Main Component ───────────────────────────────────────────────────────────\n\nconst Mapping = () => {\n const { t } = useTranslation();\n\n // Form state\n const [selectedSurveyor, setSelectedSurveyor] = useState(null);\n const [selectedMRD, setSelectedMRD] = useState(null);\n\n // Mappings list\n const [mappings, setMappings] = useState([]);\n\n // Edit state: stores the id of the row being edited + its draft values\n const [editingId, setEditingId] = useState(null);\n const [editSurveyor, setEditSurveyor] = useState(null);\n const [editMRD, setEditMRD] = useState(null);\n\n // Delete confirm modal\n const [deleteTarget, setDeleteTarget] = useState(null);\n\n const [toast, setToast] = useState(null);\n\n // ── Handlers ──────────────────────────────────────────────────────────────\n\n const handleAddMapping = () => {\n if (!selectedSurveyor || !selectedMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD\" });\n return;\n }\n const exists = mappings.some(\n m => m.surveyorId === selectedSurveyor.id && m.mrdCode === selectedMRD.code\n );\n if (exists) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => [...prev, {\n id: Date.now(),\n surveyorName: selectedSurveyor.name,\n surveyorId: selectedSurveyor.id,\n mrdName: selectedMRD.name,\n mrdCode: selectedMRD.code,\n zone: selectedMRD.zone,\n }]);\n setSelectedMRD(null);\n setSelectedSurveyor(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_ADDED\") || \"Mapping added successfully\" });\n };\n\n const handleEditStart = (row) => {\n setEditingId(row.id);\n setEditSurveyor(MOCK_SURVEYORS.find(s => s.id === row.surveyorId) || null);\n setEditMRD(MOCK_MRDS.find(m => m.code === row.mrdCode) || null);\n };\n\n const handleEditSave = (id) => {\n if (!editSurveyor || !editMRD) {\n setToast({ type: \"error\", message: t(\"EKYC_SELECT_BOTH_ERROR\") || \"Please select both Surveyor and MRD to save\" });\n return;\n }\n // Check duplicate (excluding self)\n const duplicate = mappings.some(\n m => m.id !== id && m.surveyorId === editSurveyor.id && m.mrdCode === editMRD.code\n );\n if (duplicate) {\n setToast({ type: \"warning\", message: t(\"EKYC_MAPPING_EXISTS\") || \"This mapping already exists\" });\n return;\n }\n setMappings(prev => prev.map(m => m.id !== id ? m : {\n ...m,\n surveyorName: editSurveyor.name,\n surveyorId: editSurveyor.id,\n mrdName: editMRD.name,\n mrdCode: editMRD.code,\n zone: editMRD.zone,\n }));\n setEditingId(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_UPDATED\") || \"Mapping updated successfully\" });\n };\n\n const handleEditCancel = () => {\n setEditingId(null);\n setEditSurveyor(null);\n setEditMRD(null);\n };\n\n const handleDeleteConfirm = () => {\n setMappings(prev => prev.filter(m => m.id !== deleteTarget.id));\n setDeleteTarget(null);\n setToast({ type: \"success\", message: t(\"EKYC_MAPPING_REMOVED\") || \"Mapping removed\" });\n };\n\n const handleSaveMappings = () => {\n if (mappings.length === 0) {\n setToast({ type: \"error\", message: t(\"EKYC_NO_MAPPINGS_TO_SAVE\") || \"No mappings to save\" });\n return;\n }\n // TODO: replace with real API call\n setToast({ type: \"success\", message: t(\"EKYC_MAPPINGS_SAVED_SUCCESS\") || \"Surveyor mappings saved successfully!\" });\n };\n\n // ── Table columns ─────────────────────────────────────────────────────────\n\n const columns = useMemo(() => [\n {\n Header: t(\"EKYC_SURVEYOR_NAME\") || \"Surveyor\",\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editSurveyor}\n select={setEditSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose surveyor...\"}\n />\n );\n }\n return (\n <div>\n <span className=\"link\">{row.original.surveyorName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.surveyorId}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"EKYC_MRD_ASSIGNED\") || \"MRD Assigned\",\n accessor: \"mrdName\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <Dropdown\n selected={editMRD}\n select={setEditMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose MRD...\"}\n />\n );\n }\n return (\n <div>\n <span>{row.original.mrdName}</span>\n <div style={{ fontSize: \"12px\", color: \"#666\" }}>{row.original.zone}</div>\n </div>\n );\n },\n },\n {\n Header: t(\"ES_COMMON_ACTION\") || \"Actions\",\n Cell: ({ row }) => {\n const isEditing = editingId === row.original.id;\n if (isEditing) {\n return (\n <div style={{ display: \"flex\", gap: \"10px\" }}>\n <span\n style={{ cursor: \"pointer\", color: \"#f47738\", fontWeight: \"bold\" }}\n onClick={() => handleEditSave(row.original.id)}\n >\n {t(\"ES_COMMON_SAVE\")}\n </span>\n <span\n style={{ cursor: \"pointer\", color: \"#505A5F\", fontWeight: \"bold\" }}\n onClick={handleEditCancel}\n >\n {t(\"ES_COMMON_CANCEL\")}\n </span>\n </div>\n );\n }\n return (\n <div style={{ display: \"flex\", gap: \"16px\" }}>\n <span onClick={() => handleEditStart(row.original)} style={{ cursor: \"pointer\" }}>\n <EditIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n <span onClick={() => setDeleteTarget(row.original)} style={{ cursor: \"pointer\" }}>\n <DeleteIcon className=\"icon\" fill=\"#f47738\" />\n </span>\n </div>\n );\n },\n },\n ], [editingId, editSurveyor, editMRD, mappings, t]);\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n return (\n <React.Fragment>\n <div className=\"side-panel-item\">\n <Card className=\"employeeCard filter inboxLinks\" style={{ marginTop: \"16px\" }}>\n <div className=\"complaint-links-container\">\n <div className=\"header\" style={{ marginBottom: \"0px\" }}>\n <span className=\"logo\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M6.5 2H20V22H6.5A2.5 2.5 0 0 1 4 19.5V4.5A2.5 2.5 0 0 1 6.5 2Z\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </span>\n <span className=\"text\">{t(\"EKYC_SURVEYOR_MAPPING\") || \"Surveyor Mapping\"}</span>\n </div>\n </div>\n </Card>\n </div>\n\n <Card>\n <CardHeader>{t(\"EKYC_NEW_MAPPING\") || \"New Mapping\"}</CardHeader>\n <CardText>\n {t(\"EKYC_MAPPING_SUBHEADER\") || \"Assign Meter Reading Dairies to surveyors to manage their data access.\"}\n </CardText>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_SURVEYOR\") || \"Select Surveyor\"} *</CardLabel>\n <div className=\"\">\n <Dropdown\n selected={selectedSurveyor}\n select={setSelectedSurveyor}\n option={MOCK_SURVEYORS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_SURVEYOR_PLACEHOLDER\") || \"Choose a surveyor...\"}\n />\n </div>\n </LabelFieldPair>\n\n <LabelFieldPair>\n <CardLabel>{t(\"EKYC_SELECT_MRD\") || \"Select MRD\"} *</CardLabel>\n <div className=\"field\">\n <Dropdown\n selected={selectedMRD}\n select={setSelectedMRD}\n option={MOCK_MRDS}\n optionKey=\"name\"\n t={t}\n placeholder={t(\"EKYC_SELECT_MRD_PLACEHOLDER\") || \"Choose an MRD...\"}\n />\n </div>\n </LabelFieldPair>\n\n <div style={{ display: \"flex\", justifyContent: \"flex-end\", marginTop: \"24px\" }}>\n <SubmitBar\n label={t(\"EKYC_ADD_TO_LIST\") || \"Add to Mapping List\"}\n onSubmit={handleAddMapping}\n disabled={!selectedSurveyor || !selectedMRD}\n />\n </div>\n </Card>\n\n {mappings.length > 0 && (\n <Card>\n <CardHeader>\n {t(\"EKYC_MAPPING_SUMMARY\") || \"Mapping Summary\"} ({mappings.length})\n </CardHeader>\n <Table\n t={t}\n data={mappings}\n columns={columns}\n getCellProps={(cellInfo) => {\n return {\n style: {\n padding: \"10px\",\n fontSize: \"16px\",\n }\n };\n }}\n tableClassName=\"table digit-table\"\n />\n </Card>\n )}\n\n {mappings.length > 0 && (\n <ActionBar>\n <SubmitBar\n label={t(\"EKYC_SAVE_MAPPINGS\") || \"Save Mappings\"}\n onSubmit={handleSaveMappings}\n />\n </ActionBar>\n )}\n\n {deleteTarget && (\n <Modal\n headerBarMain={t(\"EKYC_REMOVE_MAPPING\") || \"Remove Mapping\"}\n headerBarEnd={\n <span onClick={() => setDeleteTarget(null)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_REMOVE\")}\n actionSaveOnSubmit={handleDeleteConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setDeleteTarget(null)}\n style={{ borderRadius: \"12px\" }}\n >\n <CardText style={{ marginTop: \"16px\", marginBottom: \"16px\" }}>\n {t(\"EKYC_REMOVE_MAPPING_CONFIRM_MSG\") || \"Are you sure you want to remove the mapping between \"}\n <strong>{deleteTarget?.surveyorName}</strong> and <strong>{deleteTarget?.mrdName}</strong>?\n </CardText>\n </Modal>\n )}\n\n {toast && (\n <Toast\n label={toast.message}\n error={toast.type === \"error\"}\n warning={toast.type === \"warning\"}\n info={toast.type === \"info\"}\n isDsc={true}\n onClose={() => setToast(null)}\n />\n )}\n </React.Fragment>\n );\n};\n\nexport default Mapping;","import React, { useState } from \"react\";\nimport { Loader, Modal, RadioButtons } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useRouteMatch } from \"react-router-dom\";\n\nconst ConnectionDetailsView = ({ kNumber, kName, connectionDetails, isLoading }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { path } = useRouteMatch();\n\n const [showModal, setShowModal] = useState(false);\n const [selectedOption, setSelectedOption] = useState({ code: \"SELF\", name: \"EKYC_SELF\" });\n\n const options = [\n { code: \"SELF\", name: \"EKYC_SELF\" },\n { code: \"OTHER\", name: \"EKYC_OTHER\" },\n ];\n\n const handleStartVerification = () => setShowModal(true);\n\n const onModalConfirm = () => {\n const parentPath = path.includes(\"/create-kyc\")\n ? path.replace(\"/create-kyc\", \"\")\n : path.replace(\"/k-details\", \"\");\n history.push(`${parentPath}/consumer-details`, { kNumber, selectedOption, connectionDetails });\n setShowModal(false);\n };\n\n if (isLoading) return <Loader />;\n if (!connectionDetails) return null;\n\n const details = connectionDetails?.connectionDetails || {};\n const statusFlag = details.statusflag || \"\";\n const isActive = statusFlag?.toLowerCase() === \"active\" || statusFlag === \"A\";\n\n return (\n <React.Fragment>\n <div className=\"ekyc-employee-container\">\n {/* Main Card */}\n <div className=\"connection-details-card\">\n {/* Card Header */}\n <div className=\"details-card-header\">\n <div className=\"header-title-wrapper\">\n <div className=\"header-icon-bg\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3A7BD5\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n </div>\n <span className=\"header-title-text\">\n {t(\"EKYC_K_NUMBER_DETAILS\") || \"Consumer Identity Details\"}\n </span>\n </div>\n\n {/* Status Badge */}\n <span className={`status-badge ${isActive ? \"active\" : \"inactive\"}`}>\n {isActive ? (t(\"EKYC_ACTIVE_CONNECTION\") || \"Active Connection\") : (statusFlag || t(\"CS_NA\"))}\n </span>\n </div>\n\n {/* Card Body */}\n <div className=\"details-card-body\">\n <div className=\"body-content-row\">\n {/* Left: Verification Parameters */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_VERIFICATION_PARAMETERS\") || \"Verification Parameters\"}\n </div>\n\n <div className=\"data-grid\">\n {/* Consumer Name */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONSUMER_NAME\") || \"Consumer Name\"}\n </div>\n <div className=\"data-value\">\n {details.consumerName || kName || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* K Number */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_K_NUMBER\") || \"K Number\"}\n </div>\n <div className=\"data-value blue\">\n {kNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Meter Serial No */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_METER_NO\") || \"Meter Serial No.\"}\n </div>\n <div className=\"data-value\">\n {details.meterNumber || t(\"CS_NA\")}\n </div>\n </div>\n\n {/* Connection Type */}\n <div className=\"data-item\">\n <div className=\"data-label\">\n {t(\"EKYC_CONNECTION_TYPE\") || \"Connection Type\"}\n </div>\n <div className=\"data-value\">\n {details.connectionType || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n\n {/* Divider */}\n <div className=\"vertical-divider\" />\n\n {/* Right: Address & Contact */}\n <div className=\"detail-section\">\n <div className=\"section-title\">\n {t(\"EKYC_ADDRESS_AND_CONTACT\") || \"Address & Contact\"}\n </div>\n\n {/* Service Address */}\n <div className=\"address-block\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_ADDRESS\") || \"Service Address\"}\n </div>\n <div className=\"address-text\">\n {details.address || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Contact + Email row */}\n <div className=\"contact-row\">\n {/* Contact */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\" />\n <line x1=\"12\" y1=\"18\" x2=\"12.01\" y2=\"18\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_PHONE_NO\") || \"Contact\"}\n </div>\n <div className=\"address-text\">\n {details.phoneNumber || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n\n {/* Email */}\n <div className=\"contact-item\">\n <div className=\"icon-wrapper-small\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6B7B8E\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\" />\n </svg>\n </div>\n <div>\n <div className=\"data-label\">\n {t(\"EKYC_EMAIL\") || \"Email Address\"}\n </div>\n <div className=\"address-text\">\n {details.email || t(\"CS_NA\")}\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {/* Card Footer */}\n <div className=\"details-card-footer\">\n {/* Last Verified */}\n <div className=\"footer-meta-text\">\n {connectionDetails?.lastVerified\n ? `${t(\"EKYC_LAST_VERIFIED\") || \"Last verified:\"} ${connectionDetails.lastVerified}`\n : \"\"}\n </div>\n\n {/* Action Buttons */}\n <div className=\"action-btns-container\" style={{ fontSize: \"12px\" }}>\n <button\n onClick={handleStartVerification}\n className=\"primary-action-btn\"\n style={{ fontSize: \"12px\" }}\n >\n {t(\"EKYC_START_REVIEW\") || \"Start Review\"}\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n <polyline points=\"12 5 19 12 12 19\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {/* Modal */}\n {showModal && (\n <Modal\n headerBarMain={t(\"EKYC_SELECT_VERIFICATION_TYPE\")}\n headerBarEnd={\n <span onClick={() => setShowModal(false)} style={{ cursor: \"pointer\", padding: \"8px\" }}>\n X\n </span>\n }\n actionSaveLabel={t(\"ES_COMMON_CONFIRM\")}\n actionSaveOnSubmit={onModalConfirm}\n actionCancelLabel={t(\"ES_COMMON_CANCEL\")}\n actionCancelOnSubmit={() => setShowModal(false)}\n style={{ borderRadius: \"12px\" }}\n >\n <div style={{ padding: \"24px\" }}>\n <RadioButtons\n name=\"verificationType\"\n options={options}\n optionsKey=\"name\"\n selectedOption={selectedOption}\n onSelect={setSelectedOption}\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"12px\", buttonStyle: { borderRadius: \"5px\" } }}\n t={t}\n />\n </div>\n </Modal>\n )}\n </React.Fragment>\n );\n};\n\nexport default ConnectionDetailsView;","import React, { useState, useEffect } from \"react\";\nimport { Card, HomeIcon, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport SearchConsumer from \"../../components/SearchConsumer\";\nimport ConnectionDetailsView from \"../../components/ConnectionDetailsView\";\n\nconst Create = () => {\n const { t } = useTranslation();\n const [searchParams, setSearchParams] = useState(() => {\n const saved = sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n return saved ? JSON.parse(saved) : { kNumber: \"\", kName: \"\" };\n });\n const [searchPerformed, setSearchPerformed] = useState(() => {\n return sessionStorage.getItem(\"EKYC_CREATE_SEARCH_PERFORMED\") === \"true\";\n });\n const [showToast, setShowToast] = useState(null);\n const [formParams, setFormParams, clearParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const { isLoading: isSearching, data: connectionDetails, error, revalidate } = Digit.Hooks.ekyc.useSearchConnection({\n tenantId,\n details: { kno: searchParams.kNumber, name: searchParams.kName }\n }, {\n enabled: searchPerformed && !!searchParams.kNumber && !!searchParams.kName,\n onError: (error) => {\n setShowToast({ error: true, label: error?.response?.data?.Errors?.[0]?.message || t(\"EKYC_SEARCH_ERROR_PLEASE_ENTER_THE_CORRECT_CREDENTIALS\") });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n }\n });\n\n const handleSearch = (params) => {\n if (!params.kNumber && !params.kName) {\n // This is the \"Clear\" case\n setSearchParams({ kNumber: \"\", kName: \"\" });\n setSearchPerformed(false);\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PARAMS\");\n sessionStorage.removeItem(\"EKYC_CREATE_SEARCH_PERFORMED\");\n clearParams(); // Clear consolidated EKYC data\n return;\n }\n\n if (!params.kNumber || !params.kName) {\n setShowToast({ error: true, label: t(\"EKYC_FILL_ALL_FIELDS\") });\n return;\n }\n setSearchParams(params);\n setSearchPerformed(true);\n\n // Clear previous EKYC session data if K-number changes\n const currentKno = sessionStorage.getItem(\"EKYC_K_NUMBER\");\n if (currentKno !== params.kNumber) {\n clearParams();\n // Clear any other EKYC keys if they exist\n Object.keys(sessionStorage).forEach(key => {\n if (key.startsWith(\"EKYC_\") && key !== \"EKYC_CREATE\") sessionStorage.removeItem(key);\n });\n }\n\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PARAMS\", JSON.stringify(params));\n sessionStorage.setItem(\"EKYC_CREATE_SEARCH_PERFORMED\", \"true\");\n sessionStorage.setItem(\"EKYC_K_NUMBER\", params.kNumber);\n };\n\n const closeToast = () => {\n setShowToast(null);\n };\n\n return (\n <SearchConsumer\n onSearch={handleSearch}\n searchParams={searchParams}\n >\n {searchPerformed && (\n <ConnectionDetailsView\n kNumber={searchParams.kNumber}\n kName={searchParams.kName}\n connectionDetails={connectionDetails}\n isLoading={isSearching}\n />\n )}\n\n {!searchPerformed && !isSearching && (\n <Card style={{ textAlign: \"center\", padding: \"40px\" }}>\n <div style={{ color: \"#667085\" }}>{t(\"EKYC_SEARCH_TO_VIEW_DETAILS\")}</div>\n </Card>\n )}\n {showToast && <Toast error={showToast.error} label={showToast.label} onClose={closeToast} isDsc={true} />}\n </SearchConsumer>\n );\n};\n\nexport default Create;\n","// A type of promise-like that resolves synchronously and supports only one observer\nexport const _Pact = /*#__PURE__*/(function() {\n\tfunction _Pact() {}\n\t_Pact.prototype.then = function(onFulfilled, onRejected) {\n\t\tconst result = new _Pact();\n\t\tconst state = this.s;\n\t\tif (state) {\n\t\t\tconst callback = state & 1 ? onFulfilled : onRejected;\n\t\t\tif (callback) {\n\t\t\t\ttry {\n\t\t\t\t\t_settle(result, 1, callback(this.v));\n\t\t\t\t} catch (e) {\n\t\t\t\t\t_settle(result, 2, e);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t}\n\t\tthis.o = function(_this) {\n\t\t\ttry {\n\t\t\t\tconst value = _this.v;\n\t\t\t\tif (_this.s & 1) {\n\t\t\t\t\t_settle(result, 1, onFulfilled ? onFulfilled(value) : value);\n\t\t\t\t} else if (onRejected) {\n\t\t\t\t\t_settle(result, 1, onRejected(value));\n\t\t\t\t} else {\n\t\t\t\t\t_settle(result, 2, value);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(result, 2, e);\n\t\t\t}\n\t\t};\n\t\treturn result;\n\t}\n\treturn _Pact;\n})();\n\n// Settles a pact synchronously\nexport function _settle(pact, state, value) {\n\tif (!pact.s) {\n\t\tif (value instanceof _Pact) {\n\t\t\tif (value.s) {\n\t\t\t\tif (state & 1) {\n\t\t\t\t\tstate = value.s;\n\t\t\t\t}\n\t\t\t\tvalue = value.v;\n\t\t\t} else {\n\t\t\t\tvalue.o = _settle.bind(null, pact, state);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (value && value.then) {\n\t\t\tvalue.then(_settle.bind(null, pact, state), _settle.bind(null, pact, 2));\n\t\t\treturn;\n\t\t}\n\t\tpact.s = state;\n\t\tpact.v = value;\n\t\tconst observer = pact.o;\n\t\tif (observer) {\n\t\t\tobserver(pact);\n\t\t}\n\t}\n}\n\nexport function _isSettledPact(thenable) {\n\treturn thenable instanceof _Pact && thenable.s & 1;\n}\n\n// Converts argument to a function that always returns a Promise\nexport function _async(f) {\n\treturn function() {\n\t\tfor (var args = [], i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\t\ttry {\n\t\t\treturn Promise.resolve(f.apply(this, args));\n\t\t} catch(e) {\n\t\t\treturn Promise.reject(e);\n\t\t}\n\t}\n}\n\n// Awaits on a value that may or may not be a Promise (equivalent to the await keyword in ES2015, with continuations passed explicitly)\nexport function _await(value, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(value) : value;\n\t}\n\tif (!value || !value.then) {\n\t\tvalue = Promise.resolve(value);\n\t}\n\treturn then ? value.then(then) : value;\n}\n\n// Awaits on a value that may or may not be a Promise, then ignores it\nexport function _awaitIgnored(value, direct) {\n\tif (!direct) {\n\t\treturn value && value.then ? value.then(_empty) : Promise.resolve();\n\t}\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continue(value, then) {\n\treturn value && value.then ? value.then(then) : then(value);\n}\n\n// Proceeds after a value has resolved, or proceeds immediately if the value is not thenable\nexport function _continueIgnored(value) {\n\tif (value && value.then) {\n\t\treturn value.then(_empty);\n\t}\n}\n\n// Asynchronously iterate through an object that has a length property, passing the index as the first argument to the callback (even as the length property changes)\nexport function _forTo(array, body, check) {\n\tvar i = -1, pact, reject;\n\tfunction _cycle(result) {\n\t\ttry {\n\t\t\twhile (++i < array.length && (!check || !check())) {\n\t\t\t\tresult = body(i);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (pact) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t} else {\n\t\t\t\tpact = result;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t}\n\t}\n\t_cycle();\n\treturn pact;\n}\n\n// Asynchronously iterate through an object's properties (including properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forIn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tkeys.push(key);\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\n// Asynchronously iterate through an object's own properties (excluding properties inherited from the prototype)\n// Uses a snapshot of the object's properties\nexport function _forOwn(target, body, check) {\n\tvar keys = [];\n\tfor (var key in target) {\n\t\tif (Object.prototype.hasOwnProperty.call(target, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\treturn _forTo(keys, function(i) { return body(keys[i]); }, check);\n}\n\nexport const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.iterator || (Symbol.iterator = Symbol(\"Symbol.iterator\"))) : \"@@iterator\";\n\n// Asynchronously iterate through an object's values\n// Uses for...of if the runtime supports it, otherwise iterates until length on a copy\nexport function _forOf(target, body, check) {\n\tif (typeof target[_iteratorSymbol] === \"function\") {\n\t\tvar iterator = target[_iteratorSymbol](), step, pact, reject;\n\t\tfunction _cycle(result) {\n\t\t\ttry {\n\t\t\t\twhile (!(step = iterator.next()).done && (!check || !check())) {\n\t\t\t\t\tresult = body(step.value);\n\t\t\t\t\tif (result && result.then) {\n\t\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.then(_cycle, reject || (reject = _settle.bind(null, pact = new _Pact(), 2)));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (pact) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tpact = result;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\t_settle(pact || (pact = new _Pact()), 2, e);\n\t\t\t}\n\t\t}\n\t\t_cycle();\n\t\tif (iterator.return) {\n\t\t\tvar _fixup = function(value) {\n\t\t\t\ttry {\n\t\t\t\t\tif (!step.done) {\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t} catch(e) {\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tif (pact && pact.then) {\n\t\t\t\treturn pact.then(_fixup, function(e) {\n\t\t\t\t\tthrow _fixup(e);\n\t\t\t\t});\n\t\t\t}\n\t\t\t_fixup();\n\t\t}\n\t\treturn pact;\n\t}\n\t// No support for Symbol.iterator\n\tif (!(\"length\" in target)) {\n\t\tthrow new TypeError(\"Object is not iterable\");\n\t}\n\t// Handle live collections properly\n\tvar values = [];\n\tfor (var i = 0; i < target.length; i++) {\n\t\tvalues.push(target[i]);\n\t}\n\treturn _forTo(values, function(i) { return body(values[i]); }, check);\n}\n\nexport const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== \"undefined\" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol(\"Symbol.asyncIterator\"))) : \"@@asyncIterator\";\n\n// Asynchronously iterate on a value using it's async iterator if present, or its synchronous iterator if missing\nexport function _forAwaitOf(target, body, check) {\n\tif (typeof target[_asyncIteratorSymbol] === \"function\") {\n\t\tvar pact = new _Pact();\n\t\tvar iterator = target[_asyncIteratorSymbol]();\n\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\treturn pact;\n\t\tfunction _resumeAfterBody(result) {\n\t\t\tif (check && check()) {\n\t\t\t\treturn _settle(pact, 1, iterator.return ? iterator.return().then(function() { return result; }) : result);\n\t\t\t}\n\t\t\titerator.next().then(_resumeAfterNext).then(void 0, _reject);\n\t\t}\n\t\tfunction _resumeAfterNext(step) {\n\t\t\tif (step.done) {\n\t\t\t\t_settle(pact, 1);\n\t\t\t} else {\n\t\t\t\tPromise.resolve(body(step.value)).then(_resumeAfterBody).then(void 0, _reject);\n\t\t\t}\n\t\t}\n\t\tfunction _reject(error) {\n\t\t\t_settle(pact, 2, iterator.return ? iterator.return().then(function() { return error; }) : error);\n\t\t}\n\t}\n\treturn Promise.resolve(_forOf(target, function(value) { return Promise.resolve(value).then(body); }, check));\n}\n\n// Asynchronously implement a generic for loop\nexport function _for(test, update, body) {\n\tvar stage;\n\tfor (;;) {\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t\tif (shouldContinue.then) {\n\t\t\tstage = 0;\n\t\t\tbreak;\n\t\t}\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.s;\n\t\t\t} else {\n\t\t\t\tstage = 1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (update) {\n\t\t\tvar updateValue = update();\n\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\tstage = 2;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tvar pact = new _Pact();\n\tvar reject = _settle.bind(null, pact, 2);\n\t(stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tdo {\n\t\t\tif (update) {\n\t\t\t\tupdateValue = update();\n\t\t\t\tif (updateValue && updateValue.then && !_isSettledPact(updateValue)) {\n\t\t\t\t\tupdateValue.then(_resumeAfterUpdate).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tshouldContinue = test();\n\t\t\tif (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {\n\t\t\t\t_settle(pact, 1, result);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t}\n\t\t} while (!result || !result.then);\n\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterBody(result);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n\tfunction _resumeAfterUpdate() {\n\t\tif (shouldContinue = test()) {\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t} else {\n\t\t\t\t_resumeAfterTest(shouldContinue);\n\t\t\t}\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a do ... while loop\nexport function _do(body, test) {\n\tvar awaitBody;\n\tdo {\n\t\tvar result = body();\n\t\tif (result && result.then) {\n\t\t\tif (_isSettledPact(result)) {\n\t\t\t\tresult = result.v;\n\t\t\t} else {\n\t\t\t\tawaitBody = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tvar shouldContinue = test();\n\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\tshouldContinue = shouldContinue.v;\n\t\t}\n\t\tif (!shouldContinue) {\n\t\t\treturn result;\n\t\t}\n\t} while (!shouldContinue.then);\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : shouldContinue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterBody(value) {\n\t\tresult = value;\n\t\tfor (;;) {\n\t\t\tshouldContinue = test();\n\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t}\n\t\t\tif (!shouldContinue) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (shouldContinue.then) {\n\t\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\tresult = result.v;\n\t\t\t\t} else {\n\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterTest(shouldContinue) {\n\t\tif (shouldContinue) {\n\t\t\tdo {\n\t\t\t\tresult = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tif (_isSettledPact(result)) {\n\t\t\t\t\t\tresult = result.v;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tshouldContinue = test();\n\t\t\t\tif (_isSettledPact(shouldContinue)) {\n\t\t\t\t\tshouldContinue = shouldContinue.v;\n\t\t\t\t}\n\t\t\t\tif (!shouldContinue) {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} while (!shouldContinue.then);\n\t\t\tshouldContinue.then(_resumeAfterTest).then(void 0, reject);\n\t\t} else {\n\t\t\t_settle(pact, 1, result);\n\t\t}\n\t}\n}\n\n// Asynchronously implement a switch statement\nexport function _switch(discriminant, cases) {\n\tvar dispatchIndex = -1;\n\tvar awaitBody;\n\touter: {\n\t\tfor (var i = 0; i < cases.length; i++) {\n\t\t\tvar test = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvar testValue = test();\n\t\t\t\tif (testValue && testValue.then) {\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tif (testValue === discriminant) {\n\t\t\t\t\tdispatchIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Found the default case, set it as the pending dispatch case\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tif (dispatchIndex !== -1) {\n\t\t\tdo {\n\t\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\t\twhile (!body) {\n\t\t\t\t\tdispatchIndex++;\n\t\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t\t}\n\t\t\t\tvar result = body();\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tawaitBody = true;\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\t\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\t\tdispatchIndex++;\n\t\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t\treturn result;\n\t\t}\n\t}\n\tconst pact = new _Pact();\n\tconst reject = _settle.bind(null, pact, 2);\n\t(awaitBody ? result.then(_resumeAfterBody) : testValue.then(_resumeAfterTest)).then(void 0, reject);\n\treturn pact;\n\tfunction _resumeAfterTest(value) {\n\t\tfor (;;) {\n\t\t\tif (value === discriminant) {\n\t\t\t\tdispatchIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (++i === cases.length) {\n\t\t\t\tif (dispatchIndex !== -1) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\t_settle(pact, 1, result);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttest = cases[i][0];\n\t\t\tif (test) {\n\t\t\t\tvalue = test();\n\t\t\t\tif (value && value.then) {\n\t\t\t\t\tvalue.then(_resumeAfterTest).then(void 0, reject);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdispatchIndex = i;\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tvar result = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tdispatchIndex++;\n\t\t} while (fallthroughCheck && !fallthroughCheck());\n\t\t_settle(pact, 1, result);\n\t}\n\tfunction _resumeAfterBody(result) {\n\t\tfor (;;) {\n\t\t\tvar fallthroughCheck = cases[dispatchIndex][2];\n\t\t\tif (!fallthroughCheck || fallthroughCheck()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdispatchIndex++;\n\t\t\tvar body = cases[dispatchIndex][1];\n\t\t\twhile (!body) {\n\t\t\t\tdispatchIndex++;\n\t\t\t\tbody = cases[dispatchIndex][1];\n\t\t\t}\n\t\t\tresult = body();\n\t\t\tif (result && result.then) {\n\t\t\t\tresult.then(_resumeAfterBody).then(void 0, reject);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t_settle(pact, 1, result);\n\t}\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _call(body, then, direct) {\n\tif (direct) {\n\t\treturn then ? then(body()) : body();\n\t}\n\ttry {\n\t\tvar result = Promise.resolve(body());\n\t\treturn then ? result.then(then) : result;\n\t} catch (e) {\n\t\treturn Promise.reject(e);\n\t}\n}\n\n// Asynchronously call a function and swallow the result\nexport function _callIgnored(body, direct) {\n\treturn _call(body, _empty, direct);\n}\n\n// Asynchronously call a function and pass the result to explicitly passed continuations\nexport function _invoke(body, then) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(then);\n\t}\n\treturn then(result);\n}\n\n// Asynchronously call a function and swallow the result\nexport function _invokeIgnored(body) {\n\tvar result = body();\n\tif (result && result.then) {\n\t\treturn result.then(_empty);\n\t}\n}\n\n// Asynchronously call a function and send errors to recovery continuation\nexport function _catch(body, recover) {\n\ttry {\n\t\tvar result = body();\n\t} catch(e) {\n\t\treturn recover(e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(void 0, recover);\n\t}\n\treturn result;\n}\n\n// Asynchronously await a promise and pass the result to a finally continuation\nexport function _finallyRethrows(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer(true, e);\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer.bind(null, false), finalizer.bind(null, true));\n\t}\n\treturn finalizer(false, result);\n}\n\n// Asynchronously await a promise and invoke a finally continuation that always overrides the result\nexport function _finally(body, finalizer) {\n\ttry {\n\t\tvar result = body();\n\t} catch (e) {\n\t\treturn finalizer();\n\t}\n\tif (result && result.then) {\n\t\treturn result.then(finalizer, finalizer);\n\t}\n\treturn finalizer();\n}\n\n// Rethrow or return a value from a finally continuation\nexport function _rethrow(thrown, value) {\n\tif (thrown)\n\t\tthrow value;\n\treturn value;\n}\n\n// Empty function to implement break and other control flow that ignores asynchronous results\nexport function _empty() {\n}\n\n// Sentinel value for early returns in generators \nexport const _earlyReturn = /*#__PURE__*/ {};\n\n// Asynchronously call a function and send errors to recovery continuation, skipping early returns\nexport function _catchInGenerator(body, recover) {\n\treturn _catch(body, function(e) {\n\t\tif (e === _earlyReturn) {\n\t\t\tthrow e;\n\t\t}\n\t\treturn recover(e);\n\t});\n}\n\n// Asynchronous generator class; accepts the entrypoint of the generator, to which it passes itself when the generator should start\nexport const _AsyncGenerator = /*#__PURE__*/(function() {\n\tfunction _AsyncGenerator(entry) {\n\t\tthis._entry = entry;\n\t\tthis._pact = null;\n\t\tthis._resolve = null;\n\t\tthis._return = null;\n\t\tthis._promise = null;\n\t}\n\n\tfunction _wrapReturnedValue(value) {\n\t\treturn { value: value, done: true };\n\t}\n\tfunction _wrapYieldedValue(value) {\n\t\treturn { value: value, done: false };\n\t}\n\n\t_AsyncGenerator.prototype._yield = function(value) {\n\t\t// Yield the value to the pending next call\n\t\tthis._resolve(value && value.then ? value.then(_wrapYieldedValue) : _wrapYieldedValue(value));\n\t\t// Return a pact for an upcoming next/return/throw call\n\t\treturn this._pact = new _Pact();\n\t};\n\t_AsyncGenerator.prototype.next = function(value) {\n\t\t// Advance the generator, starting it if it has yet to be started\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tconst _entry = _this._entry;\n\t\t\t\tif (_entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the next call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Start the generator\n\t\t\t\t_this._entry = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\tfunction returnValue(value) {\n\t\t\t\t\t_this._resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t_this._resolve = null;\n\t\t\t\t}\n\t\t\t\tvar result = _entry(_this);\n\t\t\t\tif (result && result.then) {\n\t\t\t\t\tresult.then(returnValue, function(error) {\n\t\t\t\t\t\tif (error === _earlyReturn) {\n\t\t\t\t\t\t\treturnValue(_this._return);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst pact = new _Pact();\n\t\t\t\t\t\t\t_this._resolve(pact);\n\t\t\t\t\t\t\t_this._pact = null;\n\t\t\t\t\t\t\t_this._resolve = null;\n\t\t\t\t\t\t\t_resolve(pact, 2, error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturnValue(result);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Generator is started and a yield expression is pending, settle it\n\t\t\t\t_this._pact = null;\n\t\t\t\t_this._resolve = resolve;\n\t\t\t\t_settle(_pact, 1, value);\n\t\t\t}\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.return = function(value) {\n\t\t// Early return from the generator if started, otherwise abandons the generator\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the return call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return the specified value\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn resolve(value && value.then ? value.then(_wrapReturnedValue) : _wrapReturnedValue(value));\n\t\t\t}\n\t\t\t// Settle the yield expression with a rejected \"early return\" value\n\t\t\t_this._return = value;\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, _earlyReturn);\n\t\t});\n\t};\n\t_AsyncGenerator.prototype.throw = function(error) {\n\t\t// Inject an exception into the pending yield expression\n\t\tconst _this = this;\n\t\treturn _this._promise = new Promise(function (resolve, reject) {\n\t\t\tconst _pact = _this._pact;\n\t\t\tif (_pact === null) {\n\t\t\t\tif (_this._entry === null) {\n\t\t\t\t\t// Generator is started, but not awaiting a yield expression\n\t\t\t\t\t// Abandon the throw call!\n\t\t\t\t\treturn resolve(_this._promise);\n\t\t\t\t}\n\t\t\t\t// Generator is not started, abandon it and return a rejected Promise containing the error\n\t\t\t\t_this._entry = null;\n\t\t\t\treturn reject(error);\n\t\t\t}\n\t\t\t// Settle the yield expression with the value as a rejection\n\t\t\t_this._resolve = resolve;\n\t\t\t_this._pact = null;\n\t\t\t_settle(_pact, 2, error);\n\t\t});\n\t};\n\n\t_AsyncGenerator.prototype[_asyncIteratorSymbol] = function() {\n\t\treturn this;\n\t};\n\t\n\treturn _AsyncGenerator;\n})();\n","import React, { Fragment, useState } from \"react\";\nimport {\n Card,\n CardSubHeader,\n StatusTable,\n Row,\n SubmitBar,\n Loader,\n ActionBar,\n CheckBox,\n LinkButton,\n EditIcon,\n GenericFileIcon,\n Menu,\n Toast,\n} from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\n\n// ─── Constants ───────────────────────────────────────────────────────────────\n\nconst ActionButton = ({ jumpTo, state }) => {\n const history = useHistory();\n function routeTo() {\n history.push(jumpTo, { ...state, isEditing: true });\n }\n return (\n <LinkButton label={<EditIcon style={{ width: \"20px\", height: \"20px\", fill: \"#F47738\" }} />} style={{ margin: 0, padding: 0 }} onClick={routeTo} />\n );\n};\n\nconst checkForNA = (value) => (value !== null && value !== undefined && value !== \"\" ? value : \"N/A\");\n\nconst boolToYesNo = (value, t) => {\n if (value === true || value === \"true\" || String(value).toLowerCase() === \"yes\") return t(\"CORE_COMMON_YES\");\n if (value === false || value === \"false\" || String(value).toLowerCase() === \"no\") return t(\"CORE_COMMON_NO\");\n if (value === \"true\") return t(\"CORE_COMMON_YES\");\n if (value === \"false\") return t(\"CORE_COMMON_NO\");\n};\n/**\n * Robust data extraction for comparison.\n * The API returns { applicationReviewInfo: { newData: { ... }, oldData: { ... } } }\n */\nconst extractReviewData = (searchData, flowState) => {\n const rawData = searchData && Object.keys(searchData).length > 0 ? searchData : flowState?.reviewData || {};\n\n // Navigate through applicationReviewInfo -> newData/oldData\n const reviewWrapper = rawData?.applicationReviewInfo || rawData?.applicationReview || rawData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n\n return {\n newData: applicationData?.newData || applicationData,\n oldData: applicationData?.oldData || null,\n };\n};\n\nconst ReviewSection = ({ title, fields, newData, oldData, t, jumpTo, state, hideEditButton }) => {\n return (\n <div\n className=\"review-section-wrapper\"\n style={{ marginBottom: \"48px\", background: \"#fff\", borderRadius: \"12px\", border: \"1px solid #EAECF0\", overflow: \"hidden\" }}\n >\n <div\n style={{\n padding: \"20px 24px\",\n background: \"#F9FAFB\",\n borderBottom: \"1px solid #EAECF0\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n }}\n >\n <CardSubHeader style={{ margin: 0, fontSize: \"18px\", color: \"#101828\", fontWeight: \"700\" }}>{title}</CardSubHeader>\n {jumpTo && !hideEditButton && <ActionButton jumpTo={jumpTo} state={state} />}\n </div>\n\n <div style={{ padding: \"0 24px\" }}>\n <table style={{ width: \"100%\", borderCollapse: \"collapse\", tableLayout: \"fixed\" }}>\n <thead>\n <tr>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"30%\",\n }}\n >\n {t(\"EKYC_FIELD_NAME\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_EXISTING_INFORMATION\")}\n </th>\n <th\n style={{\n padding: \"16px 0\",\n textAlign: \"left\",\n color: \"#667085\",\n fontSize: \"12px\",\n fontWeight: \"600\",\n textTransform: \"uppercase\",\n width: \"35%\",\n }}\n >\n {t(\"EKYC_PROPOSED_UPDATES\")}\n </th>\n </tr>\n </thead>\n <tbody>\n {fields.map((field, idx) => {\n const valNew = newData?.[field.key];\n const valOld = oldData?.[field.key];\n const isChanged = oldData && String(valNew) !== String(valOld) && valOld !== undefined && valOld !== null;\n\n return (\n <tr key={idx} style={{ borderTop: \"1px solid #F2F4F7\" }}>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#344054\", fontWeight: \"500\" }}>{t(field.label)}</td>\n <td style={{ padding: \"16px 0\", fontSize: \"14px\", color: \"#667085\" }}>\n {field.isBool ? boolToYesNo(valOld, t) : checkForNA(valOld)}\n </td>\n <td\n style={{ padding: \"16px 0\", fontSize: \"14px\", color: isChanged ? \"#1B8B32\" : \"#101828\", fontWeight: isChanged ? \"700\" : \"400\" }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {field.isBool ? boolToYesNo(valNew, t) : checkForNA(valNew)}\n {isChanged && (\n <span\n style={{\n background: \"#ECFDF3\",\n color: \"#067647\",\n padding: \"2px 8px\",\n borderRadius: \"12px\",\n fontSize: \"10px\",\n fontWeight: \"600\",\n }}\n >\n {t(\"EKYC_CHANGED\")}\n </span>\n )}\n </div>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </div>\n );\n};\n\nconst Review = () => {\n const { t } = useTranslation();\n const history = useHistory();\n const location = useLocation();\n let { kno, applicationId } = useParams();\n\n const [agree, setAgree] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [showPreview, setShowPreview] = useState(false);\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [showOptions, setShowOptions] = useState(false);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({ error: false, label: \"\" });\n\n const options = [\n { action: t(\"APPROVE\") },\n { action: t(\"REJECT\") }\n ];\n\n const flowState = location.state || {};\n const { edits = {} } = flowState;\n const activeKno = kno || applicationId;\n\n const { aadhaarData = {}, addressDetails: editedAddress = {}, propertyDetails: editedProperty = {}, meterDetails: editedMeter = {} } = edits;\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const workflowMutation = Digit.Hooks.ekyc.useEkycWorkflow(tenantId);\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const { data: searchData, isLoading: isSearchLoading } = Digit.Hooks.ekyc.useEkycSearchReview({ kno: activeKno, fetchType: \"REVIEW\" }, tenantId, {\n enabled: !!activeKno,\n });\n\n const userRoles = Digit.SessionStorage.get(\"User\")?.info?.roles?.map((ele) => ele.code) || [];\n const isZRO = userRoles.includes(\"EKYC_ZRO\") || userRoles.includes(\"ZRO\");\n const isSupervisorOrSurveyorOrVendor = userRoles.includes(\"EKYC_SUPERVISOR\") || userRoles.includes(\"EKYC_SURVEYOR\") || userRoles.includes(\"EKYC_VENDOR\");\n const isStatusView = location.pathname.includes(\"/status/\");\n const hideEditButton = (isSupervisorOrSurveyorOrVendor && !isZRO) || isStatusView;\n\n // ── Data Consolidation ──────────────────────────────────────────────────\n const { newData: apiNewData, oldData: apiOldData } = extractReviewData(searchData, flowState);\n\n const prepareConsolidatedData = (data) => {\n if (!data) return null;\n const apiConn = data?.connectionDetails || data || {};\n const apiAddr = data?.addressDetails || data || {};\n const apiProp = data?.propertyInfo || data || {};\n const apiMeter = data?.meterDetails || data || {};\n\n return {\n connection: {\n consumerName:\n apiConn?.consumerName || (apiConn?.firstName ? [apiConn.firstName, apiConn.middleName, apiConn.lastName].filter(Boolean).join(\" \") : null),\n address: apiConn?.address || apiConn?.addressRaw,\n connectionType: apiConn?.connectionType || apiConn?.connectionCategory,\n meterNumber: apiConn?.meterNumber || apiConn?.meterNo,\n phoneNumber: apiConn?.phoneNumber || apiConn?.mobileNo || apiConn?.mobileNumber,\n email: apiConn?.email,\n statusflag: apiConn?.statusflag || apiConn?.statusFlag,\n ekycStatus: apiConn?.ekycStatus,\n knumber: apiConn?.knumber || apiConn?.kno,\n },\n address: {\n fullAddress: apiAddr?.fullAddress || apiAddr?.addressRaw,\n flatHouseNumber: apiAddr?.flatHouseNumber || apiAddr?.flatNo,\n buildingTower: apiAddr?.buildingTower || apiAddr?.building,\n landmark: apiAddr?.landmark,\n pinCode: apiAddr?.pinCode || apiAddr?.pincode,\n ward: apiAddr?.ward || apiAddr?.locality,\n assembly: apiAddr?.assembly,\n gpsValid: apiAddr?.gpsValid,\n latitude: apiAddr?.latitude,\n longitude: apiAddr?.longitude,\n mobileNo: apiAddr?.mobileNo || apiAddr?.mobileNumber,\n whatsappNo: apiAddr?.whatsappNo,\n email: apiAddr?.email,\n noOfPerson: apiAddr?.noOfPerson || apiAddr?.noOfPersons,\n knumber: apiAddr?.knumber || apiAddr?.kno,\n doorPhotoFilestoreId: apiAddr?.doorPhotoFilestoreId,\n },\n property: {\n kno: apiProp?.kno,\n pidNumber: apiProp?.pidNumber,\n typeOfConnection: apiProp?.typeOfConnection,\n connectionCategory: apiProp?.connectionCategory,\n userType: apiProp?.userType,\n numberOfFloors: apiProp?.numberOfFloors || apiProp?.noOfFloor,\n tenantName: apiProp?.tenantName,\n tenantMobile: apiProp?.tenantMobile,\n ekycStatus: apiProp?.ekycStatus,\n propertyDocumentFileStoreId: apiProp?.propertyDocumentFileStoreId,\n buildingImageFileStoreId: apiProp?.buildingImageFileStoreId,\n },\n meter: {\n kno: apiMeter?.kno,\n metered: apiMeter?.meterStatus === \"METERED\" || apiMeter?.metered,\n meterNumber: apiMeter?.meterNumber || apiMeter?.meterNo,\n meterMake: apiMeter?.meterMake,\n meterLocationAddress: apiMeter?.meterLocationAddress,\n meterLatitude: apiMeter?.meterLatitude,\n meterLongitude: apiMeter?.meterLongitude,\n workingStatus: apiMeter?.workingStatus,\n lastBillRaised: apiMeter?.lastBillRaised,\n systemMeterId: apiMeter?.systemMeterId,\n meterPhotoFileStoreId: apiMeter?.meterPhotoFileStoreId,\n },\n };\n };\n\n const newDataRaw = prepareConsolidatedData(apiNewData);\n const oldDataRaw = prepareConsolidatedData(apiOldData);\n\n // Apply edits to newData if present\n const connectionData = {\n ...newDataRaw?.connection,\n consumerName: aadhaarData?.name || newDataRaw?.connection?.consumerName,\n phoneNumber: aadhaarData?.mobileNumber || newDataRaw?.connection?.phoneNumber,\n knumber: newDataRaw?.connection?.knumber || activeKno,\n };\n\n const addressData = {\n ...newDataRaw?.address,\n fullAddress: editedAddress?.fullAddress || newDataRaw?.address?.fullAddress,\n flatHouseNumber: editedAddress?.flatHouseNumber || editedAddress?.flatNo || newDataRaw?.address?.flatHouseNumber,\n buildingTower: editedAddress?.buildingTower || editedAddress?.building || newDataRaw?.address?.buildingTower,\n landmark: editedAddress?.landmark || newDataRaw?.address?.landmark,\n pinCode: editedAddress?.pinCode || editedAddress?.pincode || newDataRaw?.address?.pinCode,\n ward: editedAddress?.ward || newDataRaw?.address?.ward,\n assembly: editedAddress?.assembly || newDataRaw?.address?.assembly,\n gpsValid: editedAddress?.gpsValid !== undefined ? editedAddress.gpsValid : newDataRaw?.address?.gpsValid,\n latitude: editedAddress?.latitude || newDataRaw?.address?.latitude,\n longitude: editedAddress?.longitude || newDataRaw?.address?.longitude,\n mobileNo: editedAddress?.mobileNo || aadhaarData?.mobileNumber || newDataRaw?.address?.mobileNo,\n whatsappNo: editedAddress?.whatsappNo || aadhaarData?.whatsappNumber || newDataRaw?.address?.whatsappNo,\n email: editedAddress?.email || newDataRaw?.address?.email,\n noOfPerson: editedAddress?.noOfPerson || aadhaarData?.noOfPersons || newDataRaw?.address?.noOfPerson,\n knumber: editedAddress?.knumber || newDataRaw?.address?.knumber || activeKno,\n doorPhotoFilestoreId: editedAddress?.doorPhotoFileStoreId || newDataRaw?.address?.doorPhotoFilestoreId,\n };\n\n const propertyData = {\n ...newDataRaw?.property,\n kno: newDataRaw?.property?.kno || activeKno,\n pidNumber: editedProperty?.pidNumber || newDataRaw?.property?.pidNumber,\n typeOfConnection: editedProperty?.connectionTypeData?.label || newDataRaw?.property?.typeOfConnection,\n connectionCategory: editedProperty?.connectionCategoryData?.label || newDataRaw?.property?.connectionCategory,\n userType: editedProperty?.userTypeData?.label || newDataRaw?.property?.userType,\n numberOfFloors: editedProperty?.noOfFloorsData?.label || newDataRaw?.property?.numberOfFloors,\n propertyDocumentFileStoreId: editedProperty?.propertyDocumentFileStoreId || newDataRaw?.property?.propertyDocumentFileStoreId,\n };\n\n const meterData = {\n ...newDataRaw?.meter,\n kno: editedMeter?.kno || newDataRaw?.meter?.kno || activeKno,\n metered: editedMeter?.meterStatusData?.value === \"Metered\" || newDataRaw?.meter?.metered,\n meterNumber: newDataRaw?.meter?.meterNumber,\n meterMake: editedMeter?.meterMake || newDataRaw?.meter?.meterMake,\n meterLocationAddress: editedMeter?.meterLocation || newDataRaw?.meter?.meterLocationAddress,\n workingStatus: editedMeter?.workingStatusData?.value === \"Working\" || newDataRaw?.meter?.workingStatus,\n lastBillRaised: editedMeter?.lastBillRaisedData?.value === \"Yes\" || newDataRaw?.meter?.lastBillRaised,\n meterPhotoFileStoreId: editedMeter?.meterPhotoFileStoreId || newDataRaw?.meter?.meterPhotoFileStoreId,\n };\n\n // ── Section Fields Configuration ─────────────────────────────────────\n const connectionFields = [\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n { label: \"EKYC_CONSUMER_NAME\", key: \"consumerName\" },\n { label: \"EKYC_ADDRESS\", key: \"address\" },\n { label: \"EKYC_CONNECTION_TYPE\", key: \"connectionType\" },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_MOBILE_NO\", key: \"phoneNumber\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_STATUS_FLAG\", key: \"statusflag\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const addressFields = [\n { label: \"EKYC_FULL_ADDRESS\", key: \"fullAddress\" },\n { label: \"EKYC_FLAT_HOUSE_NO\", key: \"flatHouseNumber\" },\n { label: \"EKYC_BUILDING_TOWER\", key: \"buildingTower\" },\n { label: \"EKYC_LANDMARK\", key: \"landmark\" },\n { label: \"EKYC_PINCODE\", key: \"pinCode\" },\n { label: \"EKYC_LOCALITY\", key: \"ward\" },\n { label: \"EKYC_ASSEMBLY\", key: \"assembly\" },\n { label: \"EKYC_GPS_VALID\", key: \"gpsValid\", isBool: true },\n { label: \"EKYC_LATITUDE\", key: \"latitude\" },\n { label: \"EKYC_LONGITUDE\", key: \"longitude\" },\n { label: \"EKYC_MOBILE_NO\", key: \"mobileNo\" },\n { label: \"EKYC_WHATSAPP_NO\", key: \"whatsappNo\" },\n { label: \"EKYC_EMAIL\", key: \"email\" },\n { label: \"EKYC_NO_OF_PERSONS\", key: \"noOfPerson\" },\n { label: \"EKYC_K_NUMBER\", key: \"knumber\" },\n ];\n\n const propertyFields = [\n { label: \"EKYC_CONNECTION_CATEGORY\", key: \"connectionCategory\" },\n { label: \"EKYC_PID_NUMBER\", key: \"pidNumber\" },\n { label: \"EKYC_TYPE_OF_CONNECTION\", key: \"typeOfConnection\" },\n { label: \"EKYC_USER_TYPE\", key: \"userType\" },\n { label: \"EKYC_FLOOR_COUNT\", key: \"numberOfFloors\" },\n { label: \"EKYC_TENANT_NAME\", key: \"tenantName\" },\n { label: \"EKYC_TENANT_MOBILE\", key: \"tenantMobile\" },\n { label: \"EKYC_STATUS\", key: \"ekycStatus\" },\n ];\n\n const meterFields = [\n { label: \"EKYC_METERED\", key: \"metered\", isBool: true },\n { label: \"EKYC_METER_NO\", key: \"meterNumber\" },\n { label: \"EKYC_METER_MAKE\", key: \"meterMake\" },\n { label: \"EKYC_METER_LOCATION_ADDRESS\", key: \"meterLocationAddress\" },\n { label: \"EKYC_METER_LATITUDE\", key: \"meterLatitude\" },\n { label: \"EKYC_METER_LONGITUDE\", key: \"meterLongitude\" },\n { label: \"EKYC_WORKING_STATUS\", key: \"workingStatus\", isBool: true },\n { label: \"EKYC_LAST_BILL_RAISED\", key: \"lastBillRaised\", isBool: true },\n { label: \"EKYC_SYSTEM_METER_ID\", key: \"systemMeterId\" },\n ];\n\n const handleDeclaration = () => setAgree(!agree);\n\n const handleReject = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"REJECTED\",\n remarks: \"Application rejected by reviewer\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Reject Error:\", err);\n }\n };\n\n const handleApprove = async () => {\n const payload = {\n RequestInfo: {\n apiId: \"Rainmaker\",\n ver: \"1.0\",\n msgId: \"message-id\",\n tenantId: tenantId,\n authToken: Digit.UserService.getUser()?.access_token,\n },\n kno: activeKno,\n action: \"APPROVED\",\n remarks: \"All documents verified\",\n reviewedBy: Digit.UserService.getUser()?.info?.userName,\n role: \"ZRO\",\n };\n try {\n const result = await workflowMutation.mutateAsync(payload);\n if (result) {\n setToastData({\n error: false,\n label: t(\"EKYC_APPLICATION_APPROVE_SUCCESSFUL\") || \"Application Approved Successfully\",\n });\n setShowToast(true);\n setTimeout(() => {\n history.push(\"/digit-ui/employee/ekyc/inbox\");\n }, 2000);\n }\n } catch (err) {\n console.error(\"Approve Error:\", err);\n setToastData({\n error: true,\n label: err?.message || err?.response?.data?.message || \"Approve Error\",\n });\n setShowToast(true);\n }\n };\n\n const handleFinalSubmit = async () => {\n setIsSubmitting(true);\n try {\n const payload = {\n kno: activeKno,\n tenantId: tenantId,\n newData: {\n connectionDetails: connectionData,\n addressDetails: addressData,\n propertyInfo: propertyData,\n meterDetails: meterData,\n },\n };\n\n const result = await updateMutation.mutateAsync(payload);\n if (result) {\n history.push(\"/digit-ui/employee/ekyc/response\", { success: true, result });\n }\n } catch (err) {\n console.error(\"Submit Error:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleViewDocument = (fileStoreId) => {\n if (!fileStoreId) return;\n const documentUrl = `https://dev-djberp.nitcon.in/filestore/v1/files/id?tenantId=dl.djb&fileStoreId=${fileStoreId}`;\n setPreviewUrl(documentUrl);\n setShowPreview(true);\n };\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n if (option.action === t(\"Approve\")) {\n handleApprove();\n } else if (option.action === t(\"Reject\")) {\n handleReject();\n }\n };\n\n if (isSearchLoading || isSubmitting) return <Loader />;\n\n const baseUrl = \"/digit-ui/employee/ekyc\";\n\n return (\n <Fragment>\n <Card className=\"overflow-y-scroll\">\n {/* ── 1. Connection Details ────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_CONNECTION_DETAILS\")}\n fields={connectionFields}\n newData={connectionData}\n oldData={oldDataRaw?.connection}\n t={t}\n jumpTo={`${baseUrl}/consumer-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 2. Address Details ──────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_ADDRESS_DETAILS\")}\n fields={addressFields}\n newData={addressData}\n oldData={oldDataRaw?.address}\n t={t}\n jumpTo={`${baseUrl}/address-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 3. Property Info ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_PROPERTY_INFO\")}\n fields={propertyFields}\n newData={propertyData}\n oldData={oldDataRaw?.property}\n t={t}\n jumpTo={`${baseUrl}/property-info?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 4. Meter Details ────────────────────────────────────────── */}\n <ReviewSection\n title={t(\"EKYC_METER_DETAILS\")}\n fields={meterFields}\n newData={meterData}\n oldData={oldDataRaw?.meter}\n t={t}\n jumpTo={`${baseUrl}/meter-details?kno=${activeKno}`}\n state={{ ...flowState, kNumber: activeKno, kno: activeKno, reviewData: searchData, edits }}\n hideEditButton={hideEditButton}\n />\n\n {/* ── 5. Documents ────────────────────────────────────────────── */}\n <div style={{ marginTop: \"40px\" }}>\n <CardSubHeader style={{ marginBottom: \"20px\" }}>{t(\"EKYC_DOCUMENTS\")}</CardSubHeader>\n <StatusTable style={{ maxWidth: \"600px\" }}>\n <Row\n label={t(\"EKYC_DOOR_PHOTO\")}\n text={addressData.doorPhotoFilestoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n addressData.doorPhotoFilestoreId && (\n <div onClick={() => handleViewDocument(addressData.doorPhotoFilestoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_METER_PHOTO\")}\n text={meterData.meterPhotoFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n meterData.meterPhotoFileStoreId && (\n <div onClick={() => handleViewDocument(meterData.meterPhotoFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_BUILDING_IMAGE\")}\n text={propertyData.buildingImageFileStoreId ? t(\"EKYC_PHOTO_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.buildingImageFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.buildingImageFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n <Row\n label={t(\"EKYC_PROPERTY_DOCUMENTS\")}\n text={propertyData.propertyDocumentFileStoreId ? t(\"EKYC_DOCS_AVAILABLE\") : t(\"CS_NA\")}\n actionButton={\n propertyData.propertyDocumentFileStoreId && (\n <div onClick={() => handleViewDocument(propertyData.propertyDocumentFileStoreId)}>\n <GenericFileIcon style={{ cursor: \"pointer\", fill: \"#F47738\" }} />\n </div>\n )\n }\n />\n </StatusTable>\n </div>\n\n {!hideEditButton && (\n <div style={{ marginTop: \"40px\", paddingTop: \"30px\", borderTop: \"1px solid #EAECF0\" }}>\n <CheckBox\n id=\"agreeDeclaration\"\n name=\"agreeDeclaration\"\n label={<span style={{ fontSize: \"16px\", color: \"#344054\" }}>{t(\"EKYC_FINAL_DECLARATION\")}</span>}\n onChange={handleDeclaration}\n checked={agree}\n />\n </div>\n )}\n\n {/* <ActionBar>\n <SubmitBar label={t(\"EKYC_REJECT\")} onSubmit={handleReject} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_APPROVE\")} onSubmit={handleApprove} disabled={!agree} />\n <SubmitBar label={t(\"EKYC_SUBMIT_APPLICATION\")} onSubmit={handleFinalSubmit} disabled={!agree} />\n </ActionBar> */}\n {!hideEditButton && (\n <ActionBar>\n <SubmitBar\n label={t(\"TAKE_ACTION_FOR_APPROVE_REJECT\")}\n onSubmit={() => setShowOptions((prev) => !prev)}\n disabled={!agree}\n />\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n )}\n </Card>\n\n {/* ── Document Preview Modal ────────────────────────────────────── */}\n {showPreview && (\n <div\n style={{\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0,0,0,0.7)\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 10000,\n }}\n >\n <div\n style={{\n position: \"relative\",\n backgroundColor: \"#fff\",\n padding: \"30px\",\n borderRadius: \"12px\",\n maxWidth: \"600px\",\n width: \"100%\",\n maxHeight: \"70vh\",\n overflow: \"auto\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n }}\n >\n <div\n onClick={() => setShowPreview(false)}\n style={{\n position: \"absolute\",\n top: \"10px\",\n right: \"10px\",\n cursor: \"pointer\",\n fontWeight: \"bold\",\n fontSize: \"20px\",\n color: \"#333\",\n background: \"#eee\",\n width: \"30px\",\n height: \"30px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: \"50%\",\n }}\n >\n ×\n </div>\n <img\n src={previewUrl}\n alt=\"Document Preview\"\n style={{ maxWidth: \"100%\", height: \"auto\", display: \"block\" }}\n onError={(e) => {\n e.target.style.display = \"none\";\n e.target.nextSibling.style.display = \"block\";\n }}\n />\n <div style={{ display: \"none\", padding: \"40px\", textAlign: \"center\" }}>\n <p>{t(\"EKYC_DOCUMENT_PREVIEW_NOT_AVAILABLE\")}</p>\n <LinkButton label={t(\"EKYC_OPEN_IN_NEW_TAB\")} onClick={() => window.open(previewUrl, \"_blank\")} />\n </div>\n </div>\n </div>\n )}\n {showToast && (\n <Toast\n error={toastData.error}\n label={toastData.label}\n onClose={() => setShowToast(false)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default Review;\n","import React from \"react\";\nimport { UploadFile, CheckBox, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst AadhaarVerificationConfig = (t, formData = {}, uploadFile, setDocumentId, documentId) => {\n const consumerType = formData?.consumerType?.name || formData?.consumerType;\n const occupantType = formData?.occupantType?.name || formData?.occupantType;\n const informantIsConsumer = formData?.informantIsConsumer ?? true;\n\n const fields = [\n {\n label: t(\"Consumer Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consumerType\",\n populators: {\n name: \"consumerType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Individual\" }, { name: \"Govt\" }, { name: \"Company_Society_Org\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Occupant Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"occupantType\",\n populators: {\n name: \"occupantType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Self\" }, { name: \"Tenanted\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Category Type\"),\n isMandatory: true,\n type: \"custom\",\n key: \"categoryType\",\n populators: {\n name: \"categoryType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Bulk\" }, { name: \"Non-Bulk\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"First Name\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"firstName\",\n validation: { required: true },\n },\n },\n {\n label: t(\"Middle Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"middleName\",\n },\n },\n {\n label: t(\"Last Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"lastName\",\n },\n },\n {\n label: t(\"Gender\"),\n isMandatory: false,\n type: \"custom\",\n key: \"gender\",\n populators: {\n name: \"gender\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Male\" }, { name: \"Female\" }, { name: \"Others\" }, { name: \"Not prefer to say\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Parent/Spouse Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"parentSpouseName\",\n },\n },\n {\n label: t(\"Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"mobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n error: t(\"Invalid mobile number\"),\n },\n },\n {\n label: t(\"WhatsApp\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"whatsapp\",\n },\n },\n {\n label: t(\"Email\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"email\",\n validation: {\n pattern: /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+$/,\n },\n error: t(\"Invalid email address\"),\n },\n },\n {\n label: t(\"No. of Residents\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"residents\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Type of Identity\"),\n isMandatory: true,\n type: \"custom\",\n key: \"identityType\",\n populators: {\n name: \"identityType\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Aadhaar Card\" }, { name: \"Driving License\" }, { name: \"Passport\" }, { name: \"Voter ID\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Proof of Identity\"),\n isMandatory: false,\n type: \"custom\",\n key: \"idFile\",\n populators: {\n name: \"idFile\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n },\n {\n label: t(\"Document Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"documentNumber\",\n },\n },\n {\n label: t(\"Informant Is Consumer\"),\n isMandatory: false,\n type: \"custom\",\n key: \"informantIsConsumer\",\n populators: {\n name: \"informantIsConsumer\",\n component: (props) => (\n <CheckBox\n label={t(\"Yes, the informant is the consumer\")}\n checked={props.value ?? true}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n },\n ];\n\n // Informant conditional fields\n if (!informantIsConsumer) {\n fields.push(\n {\n label: t(\"Informant Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantName\",\n },\n },\n {\n label: t(\"Informant Relation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"informantRelation\",\n },\n }\n );\n }\n\n // Tenant conditional fields\n if (occupantType === \"Tenanted\") {\n fields.push({\n label: t(\"Document Proof\"),\n isMandatory: false,\n type: \"custom\",\n key: \"documentProof\",\n populators: {\n name: \"documentProof\",\n component: (props) => (\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setDocumentId(null);\n }}\n message={props.value ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n ),\n },\n });\n\n if (!documentId) {\n fields.push(\n {\n label: t(\"Owner Mobile\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"ownerMobile\",\n validation: {\n required: true,\n pattern: /^[6-9]\\d{9}$/,\n },\n },\n },\n {\n label: t(\"Tenant Verification\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"tenantVerification\",\n },\n }\n );\n }\n }\n\n // Govt conditional fields\n if (consumerType === \"Govt\") {\n fields.push(\n {\n label: t(\"Designation\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"designation\",\n },\n },\n {\n label: t(\"Department\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"department\",\n },\n },\n {\n label: t(\"Employee ID\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"employeeId\",\n },\n }\n );\n }\n\n // Company / Society / Org conditional fields\n if (consumerType === \"Company_Society_Org\") {\n fields.push(\n {\n label: t(\"Entity Name\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"entityName\",\n },\n },\n {\n label: t(\"Contact Person\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"contactPerson\",\n },\n }\n );\n }\n\n // Consent checkbox field\n fields.push({\n label: t(\"Consent\"),\n isMandatory: true,\n type: \"custom\",\n key: \"consent\",\n populators: {\n name: \"consent\",\n validation: { required: true },\n component: (props) => (\n <CheckBox\n label={t(\"I hereby consent to verify my Aadhaar details.\")}\n checked={props.value ?? false}\n onChange={(e) => props.onChange(e.target.checked)}\n />\n ),\n },\n });\n\n return [\n {\n head: t(\"EKYC_CONSUMER_CONNECTION\"),\n body: fields,\n },\n ];\n};\n\nexport default AadhaarVerificationConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport AadhaarVerificationConfig from \"../config/AadhaarVerificationConfig\";\n\nconst AadhaarVerification = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\") ||\n \"\";\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"CONNECTION\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.aadhaarVerification || {};\n\n // 🔹 STATES\n const [documentId, setDocumentId] = useState(savedData.documentId || null);\n const [documentProof, setDocumentProof] = useState(savedData.documentProof || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType ? { name: savedData.consumerType } : null,\n occupantType: savedData.occupantType ? { name: savedData.occupantType } : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || \"\",\n middleName: savedData.middleName || \"\",\n lastName: savedData.lastName || \"\",\n gender: savedData.gender ? { name: savedData.gender } : null,\n parentSpouseName: savedData.parentSpouseName || \"\",\n mobile: savedData.mobile || \"\",\n whatsapp: savedData.whatsapp || \"\",\n email: savedData.email || \"\",\n residents: savedData.residents || \"\",\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || \"\",\n informantRelation: savedData.informantRelation || \"\",\n documentId: savedData.documentId || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const details = rawData?.connectionDetails || rawData || {};\n const addrDetails = rawData?.addressDetails || {};\n\n if (details && Object.keys(details).length > 0 && !isDataLoaded) {\n let fName = \"\";\n let mName = \"\";\n let lName = \"\";\n\n if (details.firstName) {\n fName = details.firstName;\n mName = details.middleName || \"\";\n lName = details.lastName || \"\";\n } else if (details.consumerName) {\n const parts = details.consumerName.trim().split(/\\s+/);\n fName = parts[0] || \"\";\n if (parts.length === 2) lName = parts[1];\n if (parts.length > 2) {\n mName = parts.slice(1, -1).join(\" \");\n lName = parts[parts.length - 1];\n }\n }\n\n const updatedDefaults = {\n kno: savedData.kno || searchKno || \"\",\n consumerType: savedData.consumerType\n ? { name: savedData.consumerType }\n : details.consumerType\n ? { name: details.consumerType }\n : null,\n occupantType: savedData.occupantType\n ? { name: savedData.occupantType }\n : details.occupantType\n ? { name: details.occupantType }\n : null,\n categoryType: savedData.categoryType ? { name: savedData.categoryType } : null,\n firstName: savedData.firstName || fName,\n middleName: savedData.middleName || mName,\n lastName: savedData.lastName || lName,\n gender: savedData.gender\n ? { name: savedData.gender }\n : details.gender\n ? { name: details.gender }\n : null,\n parentSpouseName: savedData.parentSpouseName || details.parentSpouse || \"\",\n mobile: savedData.mobile || details.phoneNumber || addrDetails.mobileNo || \"\",\n whatsapp: savedData.whatsapp || addrDetails.whatsappNo || \"\",\n email: savedData.email || details.email || addrDetails.email || \"\",\n residents: savedData.residents || (addrDetails.noOfPerson ? String(addrDetails.noOfPerson) : \"\"),\n identityType: savedData.identityType ? { name: savedData.identityType } : null,\n documentNumber: savedData.documentNumber || \"\",\n informantIsConsumer: savedData.informantIsConsumer ?? true,\n informantName: savedData.informantName || details.informantName || \"\",\n informantRelation: savedData.informantRelation || details.informantRelation || \"\",\n documentId: savedData.documentId || details.documentNumber || null,\n documentProof: savedData.documentProof || null,\n idFile: savedData.idFile || null,\n ownerMobile: savedData.ownerMobile || \"\",\n tenantVerification: savedData.tenantVerification || \"\",\n designation: savedData.designation || \"\",\n department: savedData.department || \"\",\n employeeId: savedData.employeeId || \"\",\n entityName: savedData.entityName || \"\",\n contactPerson: savedData.contactPerson || \"\",\n consent: savedData.consent || false,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.documentId) {\n setDocumentId(updatedDefaults.documentId);\n }\n if (updatedDefaults.documentProof) {\n setDocumentProof(updatedDefaults.documentProof);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUploadProof = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n if (fileStoreId) {\n onChange(file.name);\n setDocumentProof(file.name);\n setDocumentId(fileStoreId);\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Avoid updating states on every keypress unless they affect conditional visibility\n const consumerTypeChanged =\n (data?.consumerType?.name || data?.consumerType) !==\n (localFormData?.consumerType?.name || localFormData?.consumerType);\n const occupantTypeChanged =\n (data?.occupantType?.name || data?.occupantType) !==\n (localFormData?.occupantType?.name || localFormData?.occupantType);\n const informantIsConsumerChanged = data?.informantIsConsumer !== localFormData?.informantIsConsumer;\n\n if (consumerTypeChanged || occupantTypeChanged || informantIsConsumerChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const knoVal = data?.kno || searchKno;\n const consumerTypeVal = data?.consumerType;\n const occupantTypeVal = data?.occupantType;\n const categoryTypeVal = data?.categoryType;\n const firstNameVal = data?.firstName;\n const mobileVal = data?.mobile;\n const residentsVal = data?.residents;\n const consentVal = data?.consent;\n const docId = data?.documentId || documentId;\n const ownerMobileVal = data?.ownerMobile;\n\n let valid = true;\n if (!knoVal) valid = false;\n if (!consumerTypeVal) valid = false;\n if (!occupantTypeVal) valid = false;\n if (!categoryTypeVal) valid = false;\n if (!firstNameVal) valid = false;\n if (!mobileVal || !/^[6-9]\\d{9}$/.test(mobileVal)) valid = false;\n if (!residentsVal || Number(residentsVal) <= 0) valid = false;\n if (occupantTypeVal?.name === \"Tenanted\" && !docId && !ownerMobileVal) valid = false;\n if (!consentVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n kno: data.kno || searchKno,\n consumerType: data.consumerType?.name || data.consumerType,\n occupantType: data.occupantType?.name || data.occupantType,\n categoryType: data.categoryType?.name || data.categoryType,\n consumerName: data.consumerName || `${data.firstName || \"\"} ${data.middleName || \"\"} ${data.lastName || \"\"}`.trim(),\n firstName: data.firstName,\n middleName: data.middleName,\n lastName: data.lastName,\n gender: data.gender?.name || data.gender,\n parentSpouseName: data.parentSpouseName,\n relation: data.relation || savedData.relation || \"\",\n mobile: data.mobile,\n whatsapp: data.whatsapp,\n email: data.email,\n residents: data.residents,\n documentId: documentId,\n documentProof: documentProof,\n ownerMobile: data.ownerMobile,\n tenantVerification: data.tenantVerification,\n designation: data.designation,\n department: data.department,\n employeeId: data.employeeId,\n landline: data.landline || savedData.landline || \"\",\n entityRelation: data.entityRelation || savedData.entityRelation || \"\",\n contactPerson: data.contactPerson,\n entityName: data.entityName,\n idProof: data.identityType?.name || data.identityType,\n idNumber: data.documentNumber,\n consent: data.consent,\n informantIsConsumer: data.informantIsConsumer ?? true,\n informantName: data.informantName,\n informantRelation: data.informantRelation,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"CONSUMER\",\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Data updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update consumer details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = AadhaarVerificationConfig(t, localFormData, handleUploadProof, setDocumentId, documentId);\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default AadhaarVerification;\n","import AadhaarVerification from \"../components/AadhaarVerification\";\n\nexport const ekycConfig = [\n {\n body: [\n {\n route: \"consumer-details\",\n component: AadhaarVerification,\n key: \"aadhaarVerification\",\n texts: {\n header: \"EKYC_CONSUMER_CONNECTION\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 1,\n actions: \"EKYC_CONSUMER_CONNECTION\",\n },\n ],\n },\n {\n route: \"address-details\",\n component: \"AddressDetails\",\n key: \"addressDetails\",\n doorImage: true,\n showMapActualLocation: false,\n texts: {\n header: \"EKYC_ADDRESS_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 2,\n actions: \"EKYC_ADDRESS_DETAILS\",\n },\n ],\n },\n {\n route: \"property-info\",\n component: \"PropertyInfo\",\n key: \"propertyDetails\",\n texts: {\n header: \"EKYC_PROPERTY_INFO\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 3,\n actions: \"EKYC_PROPERTY_INFO\",\n },\n ],\n },\n {\n route: \"meter-details\",\n component: \"MeterDetails\",\n key: \"meterDetails\",\n texts: {\n header: \"EKYC_METER_DETAILS\",\n submitBarLabel: \"COMMON_SAVE_NEXT\",\n },\n timeLine: [\n {\n currentStep: 4,\n actions: \"EKYC_METER_DETAILS\",\n },\n ],\n },\n ],\n },\n];\n","import React, { useEffect, useRef } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n// import { useQueryClient } from \"react-query\";\nimport { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from \"react-router-dom\";\nimport { VerticalTimeline } from \"@djb25/digit-ui-react-components\";\nimport { ekycConfig } from \"../../config/config\";\n\nconst EKYCForm = ({ path: passedPath }) => {\n // const queryClient = useQueryClient();\n const match = useRouteMatch();\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const history = useHistory();\n\n let config = [];\n const [params, setParams] = Digit.Hooks.useSessionStorage(\"EKYC_CREATE\", {});\n\n useEffect(() => {\n if (location.state && Object.keys(location.state).length > 0) {\n const { edits, ...rest } = location.state;\n setParams({ ...params, ...rest, ...edits });\n }\n }, [location.state]);\n\n const goNext = (skipStep, index, isAddMultiple, key) => {\n let currentPath = pathname.split(\"/\").pop();\n let routeObj = config.find((routeObj) => (key ? routeObj.key === key : routeObj.route === currentPath));\n if (!routeObj) routeObj = config.find((routeObj) => routeObj.route === currentPath);\n\n let nextStep = null;\n const currentIndex = config.findIndex((c) => c.route === routeObj.route);\n if (currentIndex > -1 && currentIndex < config.length - 1) {\n nextStep = config[currentIndex + 1].route;\n }\n\n let redirectWithHistory = history.push;\n if (skipStep) {\n redirectWithHistory = history.replace;\n }\n\n const base = passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\");\n if (nextStep === null) {\n return redirectWithHistory(`${base}/review`, { ...params, edits: params });\n }\n\n redirectWithHistory(`${base}/${nextStep}`, { ...params });\n };\n\n function handleSelect(key, data, skipStep, index, isAddMultiple = false, silent = false) {\n setParams((prev) => ({ ...prev, [key]: { ...params[key], ...data } }));\n if (!silent) {\n goNext(skipStep, index, isAddMultiple, key);\n }\n }\n\n // const onSuccess = () => {\n // clearParams();\n // queryClient.invalidateQueries(\"EKYC_CREATE\");\n // };\n\n ekycConfig.forEach((obj) => {\n config = config.concat(obj.body);\n });\n\n config.indexRoute = \"consumer-details\";\n\n const formStepRoutes = config.map((c) => c.route);\n const isFormStep = formStepRoutes.some((route) => pathname.includes(route));\n\n const sectionRefs = useRef({});\n\n useEffect(() => {\n if (isFormStep) {\n const currentRoute = pathname.split(\"/\").pop();\n if (sectionRefs.current[currentRoute]) {\n sectionRefs.current[currentRoute].scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n }\n }\n }, [pathname, isFormStep]);\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n <VerticalTimeline config={config} showFinalStep={true} />\n <div className=\"employee-form-section\">\n <Switch>\n <Route path={formStepRoutes.map((route) => `${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${route}`)}>\n <div className=\"single-page-form-container\">\n {config.map((routeObj, index) => {\n const { component } = routeObj;\n const Component = typeof component === \"string\" ? Digit.ComponentRegistryService.getComponent(component) : component;\n\n return (\n <div key={index} ref={(el) => (sectionRefs.current[routeObj.route] = el)} className=\"form-section-unit\">\n <Component\n config={{ ...routeObj, isCollapsible: true, defaultOpen: true }}\n onSelect={handleSelect}\n t={t}\n formData={params}\n // formData={{ ...params, address: params.addressDetails }}\n />\n </div>\n );\n })}\n </div>\n </Route>\n <Route>\n <Redirect to={`${passedPath || match.path.split(\"/\").slice(0, -1).join(\"/\")}/${config.indexRoute}`} />\n </Route>\n </Switch>\n </div>\n </div>\n </React.Fragment>\n );\n};\n\nexport default EKYCForm;\n","import React, { useMemo, useState, useEffect } from \"react\";\nimport { Modal, Close, Table, Toast } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AssignEkycModal = ({ surveyor, closeModal, refetchDashboard }) => {\n const { t } = useTranslation();\n const [selectedKnos, setSelectedKnos] = useState([]);\n const [isBulkSelection, setIsBulkSelection] = useState(false);\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(10);\n const [showToast, setShowToast] = useState(false);\n const [toastData, setToastData] = useState({\n error: false,\n label: \"\",\n });\n const [filters, setFilters] = useState({\n kno: \"\", // search value\n pincode: \"\",\n zoneCode: \"\",\n zoneName: \"\",\n ward: \"\",\n assembly: \"\",\n mrkey: \"\",\n ekycStatus: \"\",\n });\n\n const [debouncedFilters, setDebouncedFilters] = useState(filters);\n\n const { data: zroLocationsData, isLoading: isZroLoading } = Digit.Hooks.ws.useWSConfigMDMS.ZROLocation(\"dl.djb\");\n const mappedZROLocation = useMemo(() => {\n return (zroLocationsData || []).map((item) => ({\n code: item.code,\n name: item.name,\n }));\n }, [zroLocationsData]);\n\n const { data: egovLocationData } = Digit.Hooks.useCommonMDMS(\"dl.djb\", \"egov-location\", [\"TenantBoundary\"]);\n\n const boundaryData = useMemo(() => {\n const tenantBoundary = egovLocationData?.[\"egov-location\"]?.TenantBoundary || [];\n const revenueData = tenantBoundary.find((item) => item?.hierarchyType?.code === \"REVENUE\");\n const boundary = revenueData?.boundary || [];\n return Array.isArray(boundary) ? boundary : [boundary];\n }, [egovLocationData]);\n\n const { assemblyOptions, wardOptions } = useMemo(() => {\n const assemblies = new Map();\n const wards = new Map();\n\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const traverse = (node) => {\n if (!node) return;\n if (node.label === \"Ward\" || node.label === \"WARD\" || node.label === \"Block\" || node.label === \"BLOCK\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) wards.set(code, { code, name: name });\n }\n if (node.label === \"Assembly Constituency\" || node.label === \"ASSEMBLY_CONSTITUENCY\") {\n const code = node.code || node.localname || node.name;\n const name = node.name || node.localname || code;\n if (code) assemblies.set(code, { code, name: name });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach(traverse);\n }\n };\n\n boundaries.forEach(traverse);\n\n return {\n assemblyOptions: Array.from(assemblies.values()).sort((a, b) => a.name.localeCompare(b.name)),\n wardOptions: Array.from(wards.values()).sort((a, b) => a.name.localeCompare(b.name)),\n };\n }, [boundaryData]);\n\n const structuredLocalityData = useMemo(() => {\n let localities = [];\n const boundaries = Array.isArray(boundaryData) ? boundaryData : boundaryData ? [boundaryData] : [];\n\n const extractLocalities = (node) => {\n if (!node) return;\n\n if (node.label === \"Locality\" || node.label === \"LOCALITY\") {\n localities.push({\n ...node,\n name: node.localname || node.name || node.code,\n });\n }\n if (node.children && node.children.length > 0) {\n node.children.forEach((child) => extractLocalities(child));\n }\n };\n\n boundaries.forEach((rootNode) => extractLocalities(rootNode));\n\n return localities;\n }, [boundaryData]);\n\n const fetchedPincodes = useMemo(() => {\n const pinSet = new Set();\n\n structuredLocalityData.forEach((loc) => {\n if (loc.pincode) {\n const pins = Array.isArray(loc.pincode) ? loc.pincode : [loc.pincode];\n pins.forEach((p) => {\n if (p) {\n const sanitizedPin = p.toString().split(\".\")[0];\n pinSet.add(sanitizedPin);\n }\n });\n }\n });\n\n return Array.from(pinSet).sort();\n }, [structuredLocalityData]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedFilters(filters);\n }, 500);\n\n return () => clearTimeout(timer);\n }, [filters]);\n\n useEffect(() => {\n setCurrentPage(0);\n }, [debouncedFilters, filters.kno]);\n\n const { data: applicationData, isFetching: isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(\n {\n /*\n ...(debouncedFilters.kno && {\n kno: debouncedFilters.kno,\n }),\n */\n ...(filters.kno && {\n kno: filters.kno,\n }),\n\n ...(debouncedFilters.ekycStatus && {\n ekycStatus: debouncedFilters.ekycStatus,\n }),\n\n ...(debouncedFilters.zoneName && {\n zoneName: debouncedFilters.zoneName,\n }),\n\n ...(debouncedFilters.assembly && {\n assembly: debouncedFilters.assembly,\n }),\n\n ...(debouncedFilters.ward && {\n ward: debouncedFilters.ward,\n }),\n\n ...(debouncedFilters.mrkey && {\n mrkey: debouncedFilters.mrkey,\n }),\n\n ...(debouncedFilters.pincode && {\n pincode: debouncedFilters.pincode,\n }),\n },\n {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n },\n {\n keepPreviousData: true,\n }\n );\n\n const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({\n onSuccess: (response) => {\n if (response?.error) {\n const errMsg = response?.data?.message || \"\";\n const isMrKeyAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\");\n\n if (isMrKeyAlreadyAssigned) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n\n setShowToast(true);\n return;\n }\n\n // Check for skipped assignments (e.g. 200 OK but skipped)\n if (response?.skipped && response.skipped.length > 0) {\n const reason = response.skipped[0]?.reason || \"\";\n const isMrKeyAlreadyAssigned =\n reason.toLowerCase().includes(\"already exists\") ||\n reason.toLowerCase().includes(\"already assign\") ||\n reason.toLowerCase().includes(\"active assignment\") ||\n reason.toLowerCase().includes(\"mrkey\") ||\n reason.toLowerCase().includes(\"mr key\");\n\n if (isMrKeyAlreadyAssigned) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(reason) || reason || t(\"EKYC_ASSIGNMENT_SKIPPED\") || \"Assignment skipped\",\n });\n }\n\n setShowToast(true);\n return;\n }\n\n setToastData({\n error: false,\n label: t(\"EKYC_ASSIGNMENT_SUCCESSFUL\") || \"Assignment successful\",\n });\n\n setShowToast(true);\n\n // optional delay so user can see the success toast\n setTimeout(async () => {\n await refetchDashboard();\n closeModal();\n }, 1000);\n },\n\n onError: (error) => {\n const errMsg = error?.data?.message || error?.response?.data?.message || \"\";\n const isMrKeyAlreadyAssigned =\n errMsg.toLowerCase().includes(\"already assigned\") ||\n errMsg.toLowerCase().includes(\"already assign\") ||\n errMsg.toLowerCase().includes(\"mrkey\") ||\n errMsg.toLowerCase().includes(\"mr key\");\n\n if (isMrKeyAlreadyAssigned) {\n setToastData({\n error: true,\n label: t(\"EKYC_MR_KEY_ALREADY_ASSIGNED_WITH_ANOTHER_SURVEYOR\") || \"mr key is already assign with another surveyor\",\n });\n } else {\n setToastData({\n error: true,\n label: t(errMsg) || errMsg || t(\"EKYC_SOMETHING_WENT_WRONG\") || \"Something went wrong\",\n });\n }\n\n setShowToast(true);\n },\n });\n\n const tableData = applicationData?.consumerList || [];\n\n const getAssignmentPayload = () => {\n if (isBulkSelection) {\n const filterMappings = [\n { key: \"ekycStatus\", type: \"EKYCSTATUS\" },\n { key: \"zoneName\", type: \"ZONENAME\" },\n { key: \"assembly\", type: \"ASSEMBLY\" },\n { key: \"ward\", type: \"WARD\" },\n { key: \"mrkey\", type: \"MRKEY\" },\n { key: \"pincode\", type: \"PINCODE\" },\n ];\n\n const appliedFilter = filterMappings.find(({ key }) => debouncedFilters[key]);\n\n if (appliedFilter) {\n return {\n assignmentType: appliedFilter.type,\n assignmentValue: debouncedFilters[appliedFilter.key],\n };\n }\n }\n\n return {\n assignmentType: \"KNO\",\n assignmentValue: selectedKnos,\n };\n };\n\n const handleAssign = () => {\n const { assignmentType, assignmentValue } = getAssignmentPayload();\n\n assignmentMutation.mutate({\n tenantId: \"dl.djb\",\n surveyorId: surveyor?.owner?.uuid,\n assignmentType,\n assignmentValue,\n });\n };\n\n const handleSelectAll = () => {\n setIsBulkSelection(true);\n\n const pageKnos = tableData.map((item) => item.kno);\n\n const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));\n\n setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));\n };\n\n const handleFilterChange = (key, value) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n };\n\n const columns = useMemo(\n () => [\n {\n Header: () => (\n <input\n type=\"checkbox\"\n checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}\n onChange={handleSelectAll}\n />\n ),\n id: \"selection\",\n Cell: ({ row }) => {\n const kno = row.original.kno;\n\n return <input type=\"checkbox\" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;\n },\n },\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n {\n Header: \"Pincode\",\n accessor: \"pincode\",\n },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => value || \"-\",\n },\n ],\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedKnos, tableData]\n );\n\n const handleSelect = (kno) => {\n setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));\n };\n\n return (\n <Modal\n headerBarMain={`Assign KNOs to ${surveyor?.name}`}\n headerBarEnd={<Close onClick={closeModal} />}\n actionCancelLabel=\"Cancel\"\n actionCancelOnSubmit={closeModal}\n actionSaveLabel={`Assign ${selectedKnos.length} KNOs`}\n actionSaveOnSubmit={handleAssign}\n >\n <div className=\"assign-knos-modal\">\n {/* Filters */}\n <div className=\"filters-grid\">\n <input className=\"form-control\" placeholder=\"KNO\" value={filters.kno} onChange={(e) => handleFilterChange(\"kno\", e.target.value)} />\n\n <select\n className=\"form-control\"\n value={filters.pincode}\n onChange={(e) => handleFilterChange(\"pincode\", e.target.value)}\n >\n <option value=\"\">Select Pincode</option>\n {fetchedPincodes.map((pin) => (\n <option key={pin} value={pin}>\n {pin}\n </option>\n ))}\n </select>\n\n <select\n className=\"form-control\"\n value={filters.zoneName}\n onChange={(e) => {\n const val = e.target.value;\n setFilters((prev) => ({\n ...prev,\n zoneCode: val,\n zoneName: val,\n }));\n }}\n disabled={isZroLoading}\n >\n <option value=\"\">{isZroLoading ? \"Loading ZRO Locations...\" : \"Select ZRO Location\"}</option>\n {mappedZROLocation.map((loc) => (\n <option key={loc.code} value={loc.name}>\n {loc.name}\n </option>\n ))}http://localhost:3000/digit-ui/employee/ekyc/assign\n </select>\n\n <select\n className=\"form-control\"\n value={filters.ward}\n onChange={(e) => handleFilterChange(\"ward\", e.target.value)}\n >\n <option value=\"\">Select Ward</option>\n {wardOptions.map((ward) => (\n <option key={ward.code} value={ward.name}>\n {ward.name}\n </option>\n ))}\n </select>\n\n <select\n className=\"form-control\"\n value={filters.assembly}\n onChange={(e) => handleFilterChange(\"assembly\", e.target.value)}\n >\n <option value=\"\">Select Assembly</option>\n {assemblyOptions.map((assembly) => (\n <option key={assembly.code} value={assembly.name}>\n {assembly.name}\n </option>\n ))}\n </select>\n\n <input className=\"form-control\" placeholder=\"MR Key\" value={filters.mrkey} onChange={(e) => handleFilterChange(\"mrkey\", e.target.value)} />\n\n <select className=\"form-control\" value={filters.ekycStatus} onChange={(e) => handleFilterChange(\"ekycStatus\", e.target.value)}>\n <option value=\"\">All eKYC Status</option>\n <option value=\"PENDING\">Pending</option>\n <option value=\"APPROVED\">Approved</option>\n <option value=\"REJECTED\">Rejected</option>\n </select>\n </div>\n\n {/* Table */}\n <Table\n tableTitle=\"eKYC Applications\"\n tableClass=\"ekycTable\"\n data={tableData}\n columns={columns}\n isLoading={isLoading}\n totalRecords={applicationData?.totalCount || 0}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n manualPagination={true}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (applicationData?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </div>\n {showToast && <Toast error={toastData.error} label={toastData.label} onClose={() => setShowToast(false)} />}\n </Modal>\n );\n};\n\nexport default AssignEkycModal;\n","export const downloadSurveyorPDF = async ({\n rows,\n surveyorName,\n employeeId,\n mobileNumber,\n vendorName,\n supervisorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const initData = Digit.SessionStorage.get(\"initData\");\n const tenants = initData?.tenants || [];\n const tenantInfo = tenants.find((tenant) => tenant.code === tenantId);\n\n const capitalize = (text) =>\n text && text.substr(0, 1).toUpperCase() + text.substr(1);\n const ulbCamel = (ulb) =>\n ulb &&\n ulb\n .toLowerCase()\n .split(\" \")\n .map(capitalize)\n .join(\" \");\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SURVEYOR_DETAILS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"SURVEYOR_NAME\"), value: surveyorName },\n { title: t(\"MOBILE_NUMBER\"), value: mobileNumber },\n { title: t(\"VENDOR_NAME\"), value: vendorName },\n { title: t(\"SUPERVISOR_NAME\"), value: supervisorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\"),\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\"), value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\"), value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\"), value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\"), value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SURVEYOR_REPORT\"),\n details,\n applicationNumber: employeeId,\n rows,\n t,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n};\n\n\nexport const downloadSupervisorPDF = async ({\n rows,\n supervisorName,\n mobileNumber,\n vendorName,\n dashboardInfo,\n t,\n}) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const name = \"Delhi Jal Board\";\n const email = \"contact@delhijalboard.nic.in\";\n const phoneNumber = \"+91-11-23538416\";\n\n const currentDate = new Date();\n const formattedDate = currentDate.toLocaleDateString(\"en-IN\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\"\n });\n const formattedTime = currentDate.toLocaleTimeString(\"en-IN\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n });\n const downloadDateTime = `${formattedDate} ${formattedTime}`;\n\n const isValDefined = (val) => val !== undefined && val !== null && val !== \"\";\n\n const details = [\n {\n title: t(\"SUPERVISOR_DETAILS\") || \"Supervisor Details\",\n asSectionHeader: true,\n values: [\n { title: t(\"SUPERVISOR_NAME\") || \"Supervisor Name\", value: supervisorName },\n { title: t(\"MOBILE_NUMBER\") || \"Mobile Number\", value: mobileNumber },\n { title: t(\"VENDOR_NAME\") || \"Vendor Name\", value: vendorName }\n ].filter((item) => isValDefined(item.value)),\n },\n {\n title: t(\"SUMMARY_STATISTICS\") || \"Summary Statistics\",\n asSectionHeader: true,\n values: [\n { title: t(\"TOTAL_ASSIGNED\") || \"Total Assigned\", value: dashboardInfo?.total || 0 },\n { title: t(\"COMPLETED\") || \"Completed\", value: dashboardInfo?.completed || 0 },\n { title: t(\"PENDING\") || \"Pending\", value: dashboardInfo?.pending || 0 },\n { title: t(\"SUBMITTED\") || \"Submitted\", value: dashboardInfo?.submittedCount || 0 },\n ].filter((item) => isValDefined(item.value)),\n },\n ];\n\n // Map rows from surveyors format to the table template format\n const mappedRows = rows.map((row) => ({\n kno: row.name || row.owner?.name || \"N/A\",\n firstName: row.owner?.mobileNumber || row.mobileNo || \"N/A\",\n lastName: \"\",\n mobileNo: row.status || \"N/A\",\n zoneName: String(row.total || 0),\n ekycStatus: `${row.completed || 0} / ${row.pending || 0}`,\n submittedAt: 1717171717171, // dummy date\n progress: row.progress || \"0%\",\n }));\n\n // Intercept Hindi date formatting to show overall progress\n const originalToLocaleDateString = Date.prototype.toLocaleDateString;\n let progressIndex = 0;\n Date.prototype.toLocaleDateString = function (...args) {\n if (progressIndex < mappedRows.length) {\n return mappedRows[progressIndex++].progress || \"0%\";\n }\n return originalToLocaleDateString.apply(this, args);\n };\n\n // Custom translator to rewrite headers\n const customT = (key) => {\n if (key === \"KNO\") return t(\"SURVEYOR_NAME\") || \"Surveyor Name\";\n if (key === \"CONSUMER\") return t(\"MOBILE_NUMBER\") || \"Mobile Number\";\n if (key === \"MOBILE\") return t(\"STATUS\") || \"Status\";\n if (key === \"ZONE\") return t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\";\n if (key === \"EKYC_STATUS\") return t(\"COMPLETED_PENDING\") || \"Completed / Pending\";\n if (key === \"SUBMITTED_DATE\") return t(\"OVERALL_PROGRESS\") || \"Overall Progress\";\n if (key === \"CONSUMER_LIST\") return t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\";\n return t(key);\n };\n\n try {\n if (\n window.Digit &&\n window.Digit.Utils &&\n window.Digit.Utils.pdf &&\n window.Digit.Utils.pdf.generateSurveyorReport\n ) {\n window.Digit.Utils.pdf.generateSurveyorReport({\n tenantId,\n logo: null,\n name,\n email,\n phoneNumber,\n heading: t(\"EKYC_SUPERVISOR_REPORT\") || \"eKYC Supervisor Report\",\n details,\n applicationNumber: mobileNumber,\n rows: mappedRows,\n t: customT,\n hideApplicationNumber: true,\n downloadTime: downloadDateTime,\n });\n } else {\n console.error(\"Digit.Utils.pdf.generateSurveyorReport is not available\");\n }\n } finally {\n Date.prototype.toLocaleDateString = originalToLocaleDateString;\n }\n};\n\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { ResponsiveContainer, BarChart, Bar, XAxis, YAxis, Tooltip, CartesianGrid, PieChart, Pie, Cell, Legend } from \"recharts\";\n\nimport { Card, SubmitBar, ActionBar, Menu, Loader, Table } from \"@djb25/digit-ui-react-components\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport AssignEkycModal from \"./AssignEkycModal\";\nimport { downloadSurveyorPDF } from \"../utils/reportDownloader\";\n\nconst SurveyorDetailsDashboard = () => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const [showModal, setShowModal] = useState(false);\n const [showOptions, setShowOptions] = useState(false);\n\n const { id: surveyorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n\n const { t } = useTranslation();\n\n const searchParams = surveyorId ? { ids: surveyorId } : { ownerIds };\n\n const { data: surveyorSearchResponse, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, searchParams, { staleTime: Infinity });\n\n const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n\n const surveyor = useMemo(() => {\n return surveyorSearchResponse?.surveyors?.[0] || null;\n }, [surveyorSearchResponse]);\n\n const { data: vendorData } = Digit.Hooks.fsm.useDsoSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const { data: supervisorSearchResponse } = Digit.Hooks.fsm.useSupervisorSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n const vendorName = useMemo(() => {\n if (surveyor?.vendorName) return surveyor.vendorName;\n if (!vendorData || !surveyor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === surveyor.vendorId || v.dsoDetails?.vendorId === surveyor.vendorId);\n return mappedVendor?.dsoDetails?.name || surveyor.vendorId || \"N/A\";\n }, [vendorData, surveyor?.vendorId, surveyor?.vendorName]);\n\n const supervisorName = useMemo(() => {\n if (surveyor?.supervisorName) return surveyor.supervisorName;\n if (!supervisorSearchResponse?.supervisors || !surveyor?.supervisorId) return \"N/A\";\n const mappedSupervisor = supervisorSearchResponse.supervisors.find((s) => s.id === surveyor.supervisorId || s.owner?.uuid === surveyor.supervisorId);\n return mappedSupervisor?.name || mappedSupervisor?.owner?.name || surveyor.supervisorId || \"N/A\";\n }, [supervisorSearchResponse, surveyor?.supervisorId, surveyor?.supervisorName]);\n const fullName = surveyor?.owner?.name || surveyor?.name || \"N/A\";\n const employeeId = surveyor?.employeeId || surveyor?.owner?.uuid || surveyor?.id;\n const mobileNumber = surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\";\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n const queryParams = {\n tenantId: \"dl.djb\",\n offset: currentPage * pageSize,\n limit: pageSize,\n surveyorId: surveyor?.owner?.uuid,\n };\n\n const { isFetching: isDashboardLoading, data: dashboardData = {}, refetch: refetchDashboard } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n queryParams,\n {\n enabled: !!queryParams.tenantId && !!queryParams.surveyorId,\n keepPreviousData: true,\n }\n );\n\n const knoColumns = useMemo(\n () => [\n {\n Header: \"KNO\",\n accessor: \"kno\",\n },\n {\n Header: \"Consumer Name\",\n accessor: (row) => `${row.firstName || \"\"} ${row.middleName || \"\"} ${row.lastName || \"\"}`.trim(),\n id: \"consumerName\",\n },\n {\n Header: \"Zone\",\n accessor: \"zoneName\",\n },\n // {\n // Header: \"Pincode\",\n // accessor: \"pincode\",\n // },\n {\n Header: \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : value === \"PENDING\" ? \"pending\" : \"assigned\"}`}>{value}</span>\n ),\n },\n {\n Header: \"eKYC Status\",\n accessor: \"ekycStatus\",\n Cell: ({ value }) => value || \"-\",\n },\n ],\n []\n );\n\n // ─── Download Report hooks (must be before any early returns) ───────\n\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n if (isLoading) {\n return <Loader />;\n }\n\n if (!surveyor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SURVEYOR_FOUND\")}</div>\n </Card>\n );\n }\n\n const weeklyData = [\n { day: \"Mon\", completed: 4 },\n { day: \"Tue\", completed: 6 },\n { day: \"Wed\", completed: 3 },\n { day: \"Thu\", completed: 8 },\n { day: \"Fri\", completed: 5 },\n { day: \"Sat\", completed: 7 },\n { day: \"Sun\", completed: 2 },\n ];\n\n const statusData = [\n {\n name: \"Completed\",\n value: surveyor?.completedCases || 0,\n color: \"#10B981\",\n },\n {\n name: \"Pending\",\n value: surveyor?.pendingCases || 0,\n color: \"#F59E0B\",\n },\n {\n name: \"Rejected\",\n value: surveyor?.rejectedCases || 0,\n color: \"#EF4444\",\n },\n ];\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1000,\n surveyorId: surveyor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n const rows = response?.dashboardInfo?.consumerList || [];\n\n downloadSurveyorPDF({\n rows: rows,\n surveyorName: fullName,\n vendorName,\n supervisorName,\n employeeId,\n mobileNumber,\n dashboardInfo: response?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, isLoading }) => (\n <div className={`stat-card ${type}`}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\">{value}</div>\n </React.Fragment>\n )}\n </div>\n );\n\n const options = [{ action: \"Assign\" }];\n\n const handleMenuSelect = (option) => {\n setShowOptions(false); // close menu\n setShowModal(true);\n };\n\n const closeModal = async () => {\n setShowModal(false);\n };\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n\n <div className=\"designation\">{surveyor?.description || t(\"FIELD_SURVEYOR\")}</div>\n\n {/* <div className=\"employee-id\">\n {t(\"EMPLOYEE_ID\")}: {employeeId}\n </div> */}\n \n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n <StatCard title={t(\"TOTAL_ASSIGNED\")} value={dashboardData?.dashboardInfo?.total || 0} type=\"today\" isLoading={isDashboardLoading} />\n <StatCard title={t(\"COMPLETED\")} value={dashboardData?.dashboardInfo?.completed || 0} type=\"week\" isLoading={isDashboardLoading} />\n <StatCard title={t(\"PENDING\")} value={dashboardData?.dashboardInfo?.pending || 0} type=\"pending\" isLoading={isDashboardLoading} />\n <StatCard title={t(\"SUBMITTED\")} value={dashboardData?.dashboardInfo?.submittedCount || 0} type=\"month\" isLoading={isDashboardLoading} />\n </div>\n\n {/* Charts */}\n <div className=\"charts-wrapper\">\n {/* Weekly Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"WEEKLY_SURVEY_PROGRESS\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <BarChart data={weeklyData}>\n <CartesianGrid strokeDasharray=\"3 3\" />\n\n <XAxis dataKey=\"day\" />\n\n <YAxis />\n\n <Tooltip />\n\n <Bar dataKey=\"completed\" fill=\"#0B2559\" radius={[6, 6, 0, 0]} />\n </BarChart>\n </ResponsiveContainer>\n </div> */}\n\n {/* Pie Chart */}\n {/* <div className=\"chart-card\">\n <h3 className=\"chart-title\">{t(\"CASE_DISTRIBUTION\")}</h3>\n\n <ResponsiveContainer width=\"100%\" height={300}>\n <PieChart>\n <Pie data={statusData} dataKey=\"value\" nameKey=\"name\" outerRadius={90} label>\n {statusData.map((entry, index) => (\n <Cell key={index} fill={entry.color} />\n ))}\n </Pie>\n\n <Tooltip />\n\n <Legend />\n </PieChart>\n </ResponsiveContainer>\n </div> */}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}:</span>\n <span className=\"value\">{surveyor?.owner?.mobileNumber || surveyor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}:</span>\n <span className=\"value\">{surveyor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}:</span>\n <span className=\"value\">{surveyor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}:</span>\n <span className=\"value\">{surveyor?.status || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}:</span>\n <span className=\"value\">{surveyor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div>\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}:</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SUPERVISOR_NAME\") || \"Supervisor Name\"}:</span>\n <span className=\"value\">{supervisorName}</span>\n </div>\n </div>\n </div>\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"ASSIGNED_KNOS\")}\n tableClass=\"ekycTable\"\n data={dashboardData?.dashboardInfo?.consumerList || []}\n columns={knoColumns}\n isLoading={isDashboardLoading}\n totalRecords={dashboardData?.dashboardInfo?.total}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < (dashboardData?.dashboardInfo?.totalPages || 1) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max((dashboardData?.dashboardInfo?.totalPages || 1) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n {/* Actions */}\n {\n (!roles.includes(\"EKYC_SURVEYOR\") || roles.includes(\"EMPLOYEE\")) && (\n <ActionBar>\n <SubmitBar label={t(\"EKYC_ASSIGN_KNOS\")} onSubmit={() => setShowOptions((prev) => !prev)} />\n\n {showOptions && (\n <Menu\n options={options}\n optionKey={\"action\"}\n t={t}\n onSelect={handleMenuSelect}\n style={{\n color: \"#FFFFFF\",\n fontSize: \"18px\",\n }}\n />\n )}\n </ActionBar>\n\n )\n }\n\n {showModal && <AssignEkycModal surveyor={surveyor} closeModal={closeModal} refetchDashboard={refetchDashboard} />}\n </Card>\n\n );\n};\n\nexport default SurveyorDetailsDashboard;\n","import React from \"react\";\nexport function formReducer(state, payload) {\n const storageKey = \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n}\n\nexport const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 10,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n};\n\nexport const tableColumnConfig = (t, handleReview) => [\n {\n Header: t(\"SURVEYOR_NAME\"),\n accessor: \"surveyorName\",\n Cell: ({ row }) => {\n const id = row.original?.id;\n return (\n <span className=\"ekyc-application-link\" style={{ color: \"#318ED0\", cursor: \"pointer\", fontSize: \"16px\" }} onClick={() => handleReview(id)}>\n {row.original?.surveyorName || row.original?.name || \"NA\"}\n </span>\n );\n },\n },\n // {\n // Header: t(\"SURVEYOR_NAME\"),\n // accessor: \"surveyorName\",\n // Cell: ({ row }) => <span>{row.original?.surveyorName || row.original?.name || \"NA\"}</span>,\n // },\n {\n Header: t(\"MOBILE_NUMBER\"),\n accessor: \"mobileNo\",\n Cell: ({ row }) => <span>{row.original?.mobileNo || row.original?.owner?.mobileNumber || \"NA\"}</span>,\n },\n {\n Header: t(\"STATUS\"),\n accessor: \"status\",\n Cell: ({ row }) => {\n const status = row.original?.status || \"DEFAULT\";\n return <span className={`ekyc-status-tag ${status}`}>{t(status)}</span>;\n },\n },\n {\n Header: t(\"SERVICE_TYPE\"),\n accessor: \"serviceType\",\n Cell: ({ row }) => <span>{row.original?.serviceType || \"NA\"}</span>,\n },\n];\n","import { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { tableColumnConfig } from \"../../../vendor/src/config/tableConfig\";\n\nconst SupervisorInboxTableConfig = ({\n onPageSizeChange,\n formState,\n totalCount,\n table,\n dispatch,\n onSortingByData,\n inboxStyles = {},\n tableStyle = {},\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n\n const userType = Digit.SessionStorage.get(\"User\")?.info?.type?.toLowerCase() || \"citizen\";\n\n const handleReview = (id) => {\n history.push(`/digit-ui/${userType}/ekyc/assign/surveyor-details/${id}`);\n };\n\n const limit = formState?.tableForm?.limit || 10;\n const offset = formState?.tableForm?.offset || 0;\n\n return {\n disableSort: false,\n autoSort: false,\n manualPagination: true,\n\n currentPage: Math.floor(offset / limit),\n\n onPageSizeChange,\n\n onNextPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) + Number(limit),\n },\n }),\n\n onPrevPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Number(offset) - Number(limit),\n },\n }),\n\n onLastPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n offset: Math.ceil(totalCount / limit) * limit - Number(limit),\n },\n }),\n\n onFirstPage: () =>\n dispatch({\n action: \"mutateTableForm\",\n data: { ...formState.tableForm, offset: 0 },\n }),\n\n totalRecords: totalCount,\n onSort: onSortingByData,\n\n data: table,\n columns: tableColumnConfig(t, handleReview),\n\n inboxStyles: { ...inboxStyles },\n tableStyle: { ...tableStyle },\n };\n};\n\nexport default SupervisorInboxTableConfig;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport SupervisorInboxTableConfig from \"../hook/SupervisorInboxTableConfig\";\nimport SearchFormFieldsComponents from \"./SearchFormFieldsComponent\";\nimport { formInitValue, formReducer } from \"../../../vendor/src/config/tableConfig\";\n\n// Mock data removed in favor of API integration\n\nconst AssignEkyc = () => {\n let tenantId = Digit.ULBService.getCurrentTenantId();\n if (!tenantId || tenantId === \"dl\") {\n tenantId = \"dl.djb\"; // Force tenantId to dl.djb for EKYC APIs in citizen portal\n }\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n let paginationParms = {\n limit: formState?.tableForm?.limit || 10,\n offset: formState?.tableForm?.offset || 0,\n sortBy: formState?.tableForm?.sortBy || \"createdTime\",\n sortOrder: formState?.tableForm?.sortOrder || \"DESC\",\n };\n\n const mobileNumber = formState?.searchForm?.mobileNumber || \"\";\n const isSearchActive = !!mobileNumber;\n\n const filters = {\n ...paginationParms,\n status: \"ACTIVE,DISABLED\",\n };\n\n if (isSearchActive) {\n filters.mobileNumber = mobileNumber;\n }\n\n const { data: dashboardData, isLoading } = Digit.Hooks.fsm.useSurveyorSearch(tenantId, filters, { enabled: !!tenantId, keepPreviousData: true });\n\n const { isLoading: isDataSearchLoading, data } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const sourceData = useMemo(() => {\n return dashboardData?.surveyors || [];\n }, [dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n const owner = item?.owner || {};\n const roleCodes = owner?.roles?.map((role) => role.code)?.join(\", \") || \"\";\n\n return {\n ...item,\n id: item?.id || \"\",\n surveyorName: item?.name || owner?.name || \"\",\n mobileNo: item?.mobileNo || owner?.mobileNumber || \"\",\n email: owner?.emailId || \"\",\n vendorId: item?.vendorId || \"\",\n tenantId: item?.tenantId || \"\",\n supervisorId: item?.supervisorId || \"\",\n status: item?.status || \"\",\n roleCodes,\n userName: owner?.userName || \"\",\n gender: owner?.gender || \"\",\n serviceType: item?.additionalDetails?.serviceType || \"\",\n createdTime: item?.auditDetails?.createdTime || 0,\n lastModifiedTime: item?.auditDetails?.lastModifiedTime || 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"mobile\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 10,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues } });\n dispatch({ action: \"mutateSearchForm\", data });\n };\n\n const searchFormDefaultValues = {\n mobileNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"mobileNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n });\n }\n }\n };\n\n const propsForInboxTable = SupervisorInboxTableConfig({\n ...{\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading;\n\n const cards = [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: data?.totalKnos || 0,\n color: \"#0B2559\",\n filter: null,\n active: true,\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: data?.totalAssignments || 0,\n color: \"#3B82F6\",\n filter: [\"ASSIGNED\"],\n },\n {\n label: \"EKYC_COMPLETED\",\n count: data?.completedKnos || 0,\n color: \"#10B981\",\n filter: [\"COMPLETED\"],\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (data?.totalKnos || 0) - (data?.completedKnos || 0),\n color: \"#F59E0B\",\n filter: [\"PENDING\"],\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${data?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n filter: [\"IN_PROGRESS\"],\n },\n ];\n \n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n countData: dashboardData?.dashboardInfo,\n cards,\n isCardLoading: isDataSearchLoading,\n }}\n />\n </div>\n );\n};\n\nexport default AssignEkyc;\n","import { AppContainer, PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation } from \"react-router-dom\";\nimport Dashboard from \"../../components/Dashboard\";\nimport CeoDashboard from \"../../components/CeoDashboard.jsx\";\nimport VendorDetails from \"../../components/VendorDetails.jsx\";\nimport Inbox from \"./Inbox\";\nimport Mapping from \"./Mapping\";\nimport Create from \"./Create\";\nimport Review from \"../../components/Review\";\nimport EKYCForm from \"./EKYCForm\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard.js\";\nimport AssignEkyc from \"../../components/AssignEkyc.js\";\n\nconst EmployeeApp = ({ path }) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC inbox\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/employee\" },\n { label: t(\"ACTION_TEST_EKYC\"), path: `/digit-ui/employee/module/details` },\n ];\n\n // Child crumb — only appended when on a sub-page (not inbox/dashboard itself)\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/consumer-details\")) {\n crumbs.push({ label: t(\"EKYC_CONSUMER_DETAILS\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/employee/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/employee/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/ceo-dashboard\")) {\n crumbs.push({ label: t(\"CEO_M.F_DOR_FINANCE_VIEW\") });\n } else if (pathname.includes(\"/vendors/\")) {\n crumbs.push({ label: t(\"EKYC_VENDOR_DETAILS\") });\n } else if (pathname.includes(\"/mapping\")) {\n crumbs.push({ label: t(\"EKYC_MAPPING\") });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n }\n // dashboard & inbox → no child crumb (only \"eKYC Admin\" shown)\n\n return crumbs;\n };\n\n const formStepRoutes = [\"consumer-details\", \"address-details\", \"property-info\", \"meter-details\"];\n\n return (\n <AppContainer>\n <div className=\"ground-container employee-app-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n Back\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <div className=\"employee-form\">\n <Switch>\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Dashboard parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/create-kyc`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Create />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/mapping`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Mapping />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={formStepRoutes.map((route) => `${path}/${route}`)}\n component={(props) => (\n <LayoutWrapper layoutClass=\"normal\">\n <EKYCForm {...props} path={path} />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review/:kno`}\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <Review />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/ceo-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <CeoDashboard />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/vendors/:vendorId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetails />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/`}\n component={() => <Inbox parentRoute={path} businessService=\"EKYC\" moduleCode=\"EKYC\" isInbox={true} />}\n /> */}\n </Switch>\n </div>\n </div>\n </AppContainer>\n );\n};\n\nexport default EmployeeApp;\n","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst PropertyInfoConfig = (t, formData = {}, uploadFile, buildingImage, buildingImageId, setBuildingImage, setBuildingImageId) => {\n const propertyType = formData?.propertyType?.name || formData?.propertyType;\n const isHotel = propertyType === \"Hotel\";\n const isHospitalOrNursing = propertyType === \"Hospital\" || propertyType === \"Nursing Home\";\n\n const fields = [\n {\n label: t(\"PID Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"pidNumber\",\n },\n },\n {\n label: t(\"Property Type\"),\n isMandatory: false,\n type: \"custom\",\n key: \"propertyType\",\n populators: {\n name: \"propertyType\",\n component: (props) => (\n <Dropdown\n option={[\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sub Property Category\"),\n isMandatory: false,\n type: \"custom\",\n key: \"subPropertyCategory\",\n populators: {\n name: \"subPropertyCategory\",\n component: (props) => (\n <Dropdown\n option={[]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"No. of Floors\"),\n isMandatory: true,\n type: \"number\",\n populators: {\n name: \"noOfFloors\",\n validation: {\n required: true,\n min: 1,\n },\n },\n },\n {\n label: t(\"Floor No. of this KNO\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"floorNo\",\n },\n },\n {\n label: isHospitalOrNursing ? t(\"No of Beds\") : t(\"No of Beds\"),\n isMandatory: isHospitalOrNursing,\n type: \"number\",\n populators: {\n name: \"noOfBeds\",\n validation: isHospitalOrNursing ? { required: true, min: 1 } : {},\n },\n },\n {\n label: isHotel ? t(\"No. of Rooms\") : t(\"No. of Rooms\"),\n isMandatory: isHotel,\n type: \"number\",\n populators: {\n name: \"noOfRooms\",\n validation: isHotel ? { required: true, min: 1 } : {},\n },\n },\n {\n label: t(\"Number of Dwelling Units\"),\n isMandatory: false,\n type: \"number\",\n populators: {\n name: \"dwellingUnits\",\n },\n },\n {\n label: t(\"Building Image\"),\n isMandatory: true,\n type: \"custom\",\n key: \"buildingImage\",\n populators: {\n name: \"buildingImage\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadFile(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setBuildingImage(null);\n setBuildingImageId(null);\n }}\n message={buildingImageId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {buildingImage && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={buildingImage}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n },\n ];\n\n return [\n {\n head: t(\"EKYC_PROPERTY_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default PropertyInfoConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport PropertyInfoConfig from \"../config/PropertyInfoConfig\";\n\nconst PropertyInfo = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"PROPERTY\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.propertyDetails || {};\n\n // 🔹 STATES\n const [buildingImage, setBuildingImage] = useState(null);\n const [buildingImageId, setBuildingImageId] = useState(savedData.buildingImageId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n pidNumber: savedData.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : null,\n subPropertyCategory: savedData.subPropertyCategory ? { name: savedData.subPropertyCategory } : null,\n noOfFloors: savedData.noOfFloors || \"\",\n floorNo: savedData.floorNo || \"\",\n noOfRooms: savedData.noOfRooms || \"\",\n noOfBeds: savedData.noOfBeds || \"\",\n dwellingUnits: savedData.dwellingUnits || \"\",\n buildingImage: savedData.buildingImageId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const propertyInfo = rawData?.propertyInfo || rawData?.propertyDetails || rawData || {};\n\n if (propertyInfo && Object.keys(propertyInfo).length > 0 && !isDataLoaded) {\n let propType = null;\n let subPropCat = null;\n\n if (propertyInfo.subPropertyCategory) {\n const matchingType = [\n { name: \"Residential\" },\n { name: \"Commercial\" },\n { name: \"Hotel\" },\n { name: \"Hospital\" },\n { name: \"Nursing Home\" },\n ].find((type) => type.name.toLowerCase() === propertyInfo.subPropertyCategory.toLowerCase());\n if (matchingType) propType = matchingType;\n else propType = { name: propertyInfo.subPropertyCategory };\n subPropCat = { name: propertyInfo.subPropertyCategory };\n }\n\n if (propertyInfo.propertyType) {\n subPropCat = { name: propertyInfo.propertyType };\n if (!propertyInfo.subPropertyCategory) propType = { name: propertyInfo.propertyType };\n }\n\n const updatedDefaults = {\n pidNumber: savedData.pidNumber || propertyInfo.pidNumber || \"\",\n propertyType: savedData.propertyType ? { name: savedData.propertyType } : propType,\n subPropertyCategory: savedData.subPropertyCategory\n ? { name: savedData.subPropertyCategory }\n : subPropCat,\n noOfFloors:\n savedData.noOfFloors ||\n (propertyInfo.numberOfFloors || propertyInfo.noOfFloor\n ? String(propertyInfo.numberOfFloors || propertyInfo.noOfFloor)\n : \"\"),\n floorNo: savedData.floorNo || propertyInfo.floorNo || \"\",\n noOfRooms:\n savedData.noOfRooms ||\n (propertyInfo.numberOfRooms !== null && propertyInfo.numberOfRooms !== undefined\n ? String(propertyInfo.numberOfRooms)\n : \"\"),\n noOfBeds:\n savedData.noOfBeds ||\n (propertyInfo.numberOfBeds !== null && propertyInfo.numberOfBeds !== undefined\n ? String(propertyInfo.numberOfBeds)\n : \"\"),\n dwellingUnits:\n savedData.dwellingUnits ||\n (propertyInfo.numberOfDwellingUnits !== null && propertyInfo.numberOfDwellingUnits !== undefined\n ? String(propertyInfo.numberOfDwellingUnits)\n : \"\"),\n buildingImage: savedData.buildingImageId || propertyInfo.buildingImageFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.buildingImage) {\n setBuildingImageId(updatedDefaults.buildingImage);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setBuildingImageId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setBuildingImage(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n // Check if propertyType changed to re-evaluate mandatory validation or conditional visibility\n const propertyTypeChanged =\n (data?.propertyType?.name || data?.propertyType) !==\n (localFormData?.propertyType?.name || localFormData?.propertyType);\n\n if (propertyTypeChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const propTypeVal = data?.propertyType;\n const subPropCatVal = data?.subPropertyCategory;\n const noOfFloorsVal = data?.noOfFloors;\n const buildingImgId = buildingImageId || data?.buildingImage;\n const noOfRoomsVal = data?.noOfRooms;\n const noOfBedsVal = data?.noOfBeds;\n\n let valid = true;\n if (!propTypeVal) valid = false;\n if (!subPropCatVal) valid = false;\n if (!noOfFloorsVal || Number(noOfFloorsVal) < 1) valid = false;\n if (!buildingImgId) valid = false;\n\n if (propTypeVal?.name === \"Hotel\" && !noOfRoomsVal) valid = false;\n if (\n (propTypeVal?.name === \"Hospital\" || propTypeVal?.name === \"Nursing Home\") &&\n !noOfBedsVal\n )\n valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n pidNumber: data.pidNumber,\n propertyType: data.propertyType?.name || data.propertyType,\n subPropertyCategory: data.subPropertyCategory?.name || data.subPropertyCategory,\n noOfFloors: data.noOfFloors,\n floorNo: data.floorNo,\n noOfRooms: data.noOfRooms,\n noOfBeds: data.noOfBeds,\n dwellingUnits: data.dwellingUnits,\n buildingImageId: buildingImageId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"PROPERTY\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Property details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update property details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = PropertyInfoConfig(\n t,\n localFormData,\n handleUpload,\n buildingImage,\n buildingImageId,\n setBuildingImage,\n setBuildingImageId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default PropertyInfo;","import React from \"react\";\nimport { UploadFile, Dropdown } from \"@djb25/digit-ui-react-components\";\n\nconst MeterDetailsConfig = (t, formData = {}, uploadPhoto, meterPhoto, meterPhotoId, setMeterPhoto, setMeterPhotoId) => {\n const meterStatus = formData?.meterStatus?.name || formData?.meterStatus;\n const lastBillReceived = formData?.lastBillReceived?.name || formData?.lastBillReceived;\n const sewerConnection = formData?.sewerConnection?.name || formData?.sewerConnection;\n\n const isFrozen = meterStatus === \"Can not be identified\";\n\n // Generate Month-Year Options (1998–2026)\n const monthYearOptions = [];\n for (let y = 1998; y <= 2026; y++) {\n for (let m = 1; m <= 12; m++) {\n monthYearOptions.push({ name: `${m}/${y}` });\n }\n }\n\n const yesNo = [{ name: \"Yes\" }, { name: \"No\" }];\n\n const fields = [\n {\n label: t(\"Connection Category\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"connectionCategory\",\n validation: { required: true },\n },\n },\n {\n label: t(\"SA Type\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"saType\",\n },\n },\n {\n label: t(\"Status\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"status\",\n },\n },\n {\n label: t(\"MR Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrCode\",\n },\n },\n {\n label: t(\"Area Code\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"areaCode\",\n },\n },\n {\n label: t(\"MR Key\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"mrKey\",\n },\n },\n ];\n\n // 🔹 Non-frozen fields\n if (!isFrozen) {\n fields.push(\n {\n label: t(\"Meter Number\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterNumber\",\n },\n },\n {\n label: t(\"Meter Maker\"),\n isMandatory: false,\n type: \"text\",\n populators: {\n name: \"meterMaker\",\n },\n },\n {\n label: t(\"Meter Condition\"),\n isMandatory: false,\n type: \"custom\",\n key: \"meterCondition\",\n populators: {\n name: \"meterCondition\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Damaged\" }, { name: \"Not-Damaged\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (meterStatus === \"Metered\") {\n fields.push({\n label: t(\"Meter Photo\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterPhoto\",\n populators: {\n name: \"meterPhoto\",\n component: (props) => (\n <div>\n <UploadFile\n onUpload={(e) => uploadPhoto(e, props.onChange)}\n onDelete={() => {\n props.onChange(null);\n setMeterPhoto(null);\n setMeterPhotoId(null);\n }}\n message={meterPhotoId ? t(\"Uploaded\") : t(\"No file selected\")}\n />\n {meterPhoto && (\n <div style={{ marginTop: \"10px\" }}>\n <img\n src={meterPhoto}\n alt=\"preview\"\n style={{ maxWidth: \"100%\", maxHeight: \"200px\", objectFit: \"contain\" }}\n />\n </div>\n )}\n </div>\n ),\n },\n });\n }\n }\n\n // 🔹 Standard fields after the conditional section\n fields.push(\n {\n label: t(\"Meter Status\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterStatus\",\n populators: {\n name: \"meterStatus\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Metered\" }, { name: \"Unmetered\" }, { name: \"Can not be identified\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Meter Location\"),\n isMandatory: true,\n type: \"custom\",\n key: \"meterLocation\",\n populators: {\n name: \"meterLocation\",\n component: (props) => (\n <Dropdown\n option={[{ name: \"Inside\" }, { name: \"Outside\" }]}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Last Bill Received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"lastBillReceived\",\n populators: {\n name: \"lastBillReceived\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n // 🔹 Bill-received fields\n if (lastBillReceived === \"Yes\") {\n fields.push({\n label: t(\"When was the last bill received\"),\n isMandatory: true,\n type: \"custom\",\n key: \"billMonthYear\",\n populators: {\n name: \"billMonthYear\",\n component: (props) => (\n <Dropdown\n option={monthYearOptions}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n } else if (lastBillReceived === \"No\") {\n fields.push({\n label: t(\"Reason *\"),\n isMandatory: true,\n type: \"text\",\n populators: {\n name: \"reason\",\n validation: { required: true },\n },\n });\n }\n\n fields.push(\n {\n label: t(\"Access to Meter\"),\n isMandatory: false,\n type: \"custom\",\n key: \"accessToMeter\",\n populators: {\n name: \"accessToMeter\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n },\n {\n label: t(\"Sewer Connection\"),\n isMandatory: true,\n type: \"custom\",\n key: \"sewerConnection\",\n populators: {\n name: \"sewerConnection\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n }\n );\n\n if (sewerConnection === \"No\") {\n fields.push({\n label: t(\"Septic Tank\"),\n isMandatory: true,\n type: \"custom\",\n key: \"septicTank\",\n populators: {\n name: \"septicTank\",\n component: (props) => (\n <Dropdown\n option={yesNo}\n optionKey=\"name\"\n selected={props.value}\n select={props.onChange}\n />\n ),\n },\n });\n }\n\n return [\n {\n head: t(\"EKYC_METER_DETAILS\"),\n body: fields,\n },\n ];\n};\n\nexport default MeterDetailsConfig;\n","import React, { useState, Fragment, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Toast, Loader, FormComposer } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport MeterDetailsConfig from \"../config/MeterDetailsConfig\";\n\nconst MeterDetails = ({ config, onSelect, formData }) => {\n const { t } = useTranslation();\n const location = useLocation();\n const flowState = location.state || {};\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n const queryParams = new URLSearchParams(location.search);\n const urlKno = queryParams.get(\"kno\");\n const searchKno =\n urlKno ||\n flowState?.kNumber ||\n flowState?.kno ||\n formData?.kNumber ||\n formData?.kno ||\n sessionStorage.getItem(\"EKYC_K_NUMBER\");\n\n const { isLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchKno, fetchType: \"METER\" } },\n { enabled: !!searchKno, cacheTime: 0 }\n );\n\n const updateMutation = Digit.Hooks.ekyc.useEkycUpdate(tenantId);\n\n const savedData = formData?.meterDetails || {};\n\n // 🔹 STATES\n const [meterPhoto, setMeterPhoto] = useState(null);\n const [meterPhotoId, setMeterPhotoId] = useState(savedData.meterPhotoId || null);\n const [toast, setToast] = useState(null);\n const [isDataLoaded, setIsDataLoaded] = useState(false);\n const [canSubmit, setCanSubmit] = useState(false);\n\n const [defaultValues, setDefaultValues] = useState(() => ({\n connectionCategory: savedData.connectionCategory || \"\",\n saType: savedData.saType || \"\",\n status: savedData.status || \"\",\n mrCode: savedData.mrCode || \"\",\n areaCode: savedData.areaCode || \"\",\n mrKey: savedData.mrKey || \"\",\n meterNumber: savedData.meterNumber || \"\",\n meterMaker: savedData.meterMaker || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : null,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : null,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : null,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : null,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : null,\n reason: savedData.reason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : null,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : null,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : null,\n meterPhoto: savedData.meterPhotoId ? \"Uploaded\" : null,\n }));\n\n const [localFormData, setLocalFormData] = useState(defaultValues);\n\n const extractApplicationData = (searchData) => {\n if (!searchData) return null;\n const reviewWrapper =\n searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const applicationData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n return applicationData?.newData || applicationData;\n };\n\n useEffect(() => {\n const appData = extractApplicationData(searchData);\n const rawData = appData || formData?.connectionDetails;\n const apiMeter = rawData?.meterDetails || rawData || {};\n\n if (apiMeter && Object.keys(apiMeter).length > 0 && !isDataLoaded) {\n let mStatus = null;\n let mCondition = null;\n let mLoc = null;\n let billRec = null;\n let billMonYr = null;\n let accToMeter = null;\n let sewerConn = null;\n let sepTank = null;\n\n if (apiMeter.meterStatus) {\n const matchingStatus = [\n { name: \"Metered\" },\n { name: \"Unmetered\" },\n { name: \"Can not be identified\" },\n ].find((o) => o.name.toLowerCase() === apiMeter.meterStatus.toLowerCase());\n if (matchingStatus) mStatus = matchingStatus;\n else mStatus = { name: apiMeter.meterStatus };\n } else if (apiMeter.metered !== undefined) {\n mStatus = { name: apiMeter.metered ? \"Metered\" : \"Unmetered\" };\n }\n\n if (apiMeter.meterCondition) {\n const matchingCond = [{ name: \"Damaged\" }, { name: \"Not-Damaged\" }].find(\n (o) => o.name.toLowerCase() === apiMeter.meterCondition.toLowerCase()\n );\n if (matchingCond) mCondition = matchingCond;\n else mCondition = { name: apiMeter.meterCondition };\n }\n\n if (apiMeter.meterLocation) {\n const matchingLoc = [{ name: \"Inside\" }, { name: \"Outside\" }].find(\n (o) =>\n o.name.toLowerCase() === apiMeter.meterLocation.toLowerCase() ||\n apiMeter.meterLocation.toLowerCase().includes(o.name.toLowerCase())\n );\n if (matchingLoc) mLoc = matchingLoc;\n else mLoc = { name: apiMeter.meterLocation };\n }\n\n if (apiMeter.lastBillRaised !== undefined && apiMeter.lastBillRaised !== null) {\n const strVal = String(apiMeter.lastBillRaised).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") billRec = { name: \"Yes\" };\n else billRec = { name: \"No\" };\n }\n\n if (apiMeter.lastBillReceivedDate) {\n const formatted = apiMeter.lastBillReceivedDate.replace(\"-\", \"/\");\n const parsedParts = formatted.split(\"/\");\n if (parsedParts.length === 2) {\n const mon = parseInt(parsedParts[0], 10);\n const yr = parseInt(parsedParts[1], 10);\n billMonYr = { name: `${mon}/${yr}` };\n } else {\n billMonYr = { name: apiMeter.lastBillReceivedDate };\n }\n }\n\n if (apiMeter.accessToMeter !== undefined && apiMeter.accessToMeter !== null) {\n const strVal = String(apiMeter.accessToMeter).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") accToMeter = { name: \"Yes\" };\n else accToMeter = { name: \"No\" };\n }\n\n if (apiMeter.sewerConnection !== undefined && apiMeter.sewerConnection !== null) {\n const strVal = String(apiMeter.sewerConnection).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sewerConn = { name: \"Yes\" };\n else sewerConn = { name: \"No\" };\n }\n\n if (apiMeter.septicTank !== undefined && apiMeter.septicTank !== null) {\n const strVal = String(apiMeter.septicTank).toLowerCase();\n if (strVal === \"true\" || strVal === \"yes\") sepTank = { name: \"Yes\" };\n else sepTank = { name: \"No\" };\n }\n\n const updatedDefaults = {\n connectionCategory: savedData.connectionCategory || apiMeter.connectionCategory || \"\",\n saType: savedData.saType || apiMeter.saType || \"\",\n status: savedData.status || apiMeter.statusFlag || \"\",\n mrCode: savedData.mrCode || (apiMeter.mrcode ? String(apiMeter.mrcode) : \"\"),\n areaCode: savedData.areaCode || (apiMeter.areacode ? String(apiMeter.areacode) : \"\"),\n mrKey: savedData.mrKey || (apiMeter.mrkey ? String(apiMeter.mrkey) : \"\"),\n meterNumber: savedData.meterNumber || apiMeter.meterNumber || \"\",\n meterMaker: savedData.meterMaker || apiMeter.meterMake || \"\",\n meterStatus: savedData.meterStatus ? { name: savedData.meterStatus } : mStatus,\n meterCondition: savedData.meterCondition ? { name: savedData.meterCondition } : mCondition,\n meterLocation: savedData.meterLocation ? { name: savedData.meterLocation } : mLoc,\n lastBillReceived: savedData.lastBillReceived ? { name: savedData.lastBillReceived } : billRec,\n billMonthYear: savedData.billMonthYear ? { name: savedData.billMonthYear } : billMonYr,\n reason: savedData.reason || apiMeter.lastBillNotRaisedReason || \"\",\n accessToMeter: savedData.accessToMeter ? { name: savedData.accessToMeter } : accToMeter,\n sewerConnection: savedData.sewerConnection ? { name: savedData.sewerConnection } : sewerConn,\n septicTank: savedData.septicTank ? { name: savedData.septicTank } : sepTank,\n meterPhoto: savedData.meterPhotoId || apiMeter.meterPhotoFileStoreId || null,\n };\n\n setDefaultValues(updatedDefaults);\n setLocalFormData(updatedDefaults);\n if (updatedDefaults.meterPhoto) {\n setMeterPhotoId(updatedDefaults.meterPhoto);\n }\n setIsDataLoaded(true);\n }\n }, [searchData, formData?.connectionDetails, isDataLoaded]);\n\n // 🔹 FILE UPLOAD\n const handleUpload = async (e, onChange) => {\n const file = e.target.files[0];\n if (!file) return;\n\n if (file.size > 2000000) {\n setToast({ type: \"error\", message: t(\"Max size 2MB exceeded\") });\n return;\n }\n\n try {\n const res = await Digit.UploadServices.Filestorage(\"EKYC\", file, tenantId);\n const fileStoreId = res?.data?.files?.[0]?.fileStoreId;\n\n if (fileStoreId) {\n onChange(file.name);\n setMeterPhotoId(fileStoreId);\n\n const reader = new FileReader();\n reader.onloadend = () => setMeterPhoto(reader.result);\n reader.readAsDataURL(file);\n\n setToast({ type: \"success\", message: t(\"Upload successful\") });\n }\n } catch {\n setToast({ type: \"error\", message: t(\"Upload failed\") });\n }\n };\n\n const onFormValueChange = (setValue, data) => {\n const meterStatusChanged =\n (data?.meterStatus?.name || data?.meterStatus) !==\n (localFormData?.meterStatus?.name || localFormData?.meterStatus);\n\n const lastBillReceivedChanged =\n (data?.lastBillReceived?.name || data?.lastBillReceived) !==\n (localFormData?.lastBillReceived?.name || localFormData?.lastBillReceived);\n\n const sewerConnectionChanged =\n (data?.sewerConnection?.name || data?.sewerConnection) !==\n (localFormData?.sewerConnection?.name || localFormData?.sewerConnection);\n\n if (meterStatusChanged || lastBillReceivedChanged || sewerConnectionChanged) {\n setLocalFormData((prev) => ({\n ...prev,\n ...data,\n }));\n }\n\n // Determine validation\n const connCatVal = data?.connectionCategory;\n const mStatusVal = data?.meterStatus;\n const mLocVal = data?.meterLocation;\n const billRecVal = data?.lastBillReceived;\n const sewerConnVal = data?.sewerConnection;\n const mPhotoId = meterPhotoId || data?.meterPhoto;\n const reasonVal = data?.reason;\n const billMonYrVal = data?.billMonthYear;\n const sepTankVal = data?.septicTank;\n\n let valid = true;\n if (!connCatVal) valid = false;\n if (!mStatusVal) valid = false;\n if (!mLocVal) valid = false;\n if (!billRecVal) valid = false;\n if (!sewerConnVal) valid = false;\n\n if (mStatusVal?.name === \"Metered\" && !mPhotoId) valid = false;\n if (billRecVal?.name === \"No\" && !reasonVal) valid = false;\n if (billRecVal?.name === \"Yes\" && !billMonYrVal) valid = false;\n if (sewerConnVal?.name === \"No\" && !sepTankVal) valid = false;\n\n if (valid !== canSubmit) {\n setCanSubmit(valid);\n }\n };\n\n const onSubmit = async (data) => {\n const submitData = {\n connectionCategory: data.connectionCategory,\n saType: data.saType,\n status: data.status,\n mrCode: data.mrCode,\n areaCode: data.areaCode,\n mrKey: data.mrKey,\n meterNumber: data.meterNumber,\n meterMaker: data.meterMaker,\n meterStatus: data.meterStatus?.name || data.meterStatus,\n meterCondition: data.meterCondition?.name || data.meterCondition,\n meterLocation: data.meterLocation?.name || data.meterLocation,\n lastBillReceived: data.lastBillReceived?.name || data.lastBillReceived,\n billMonthYear: data.billMonthYear?.name || data.billMonthYear,\n reason: data.reason,\n accessToMeter: data.accessToMeter?.name || data.accessToMeter,\n sewerConnection: data.sewerConnection?.name || data.sewerConnection,\n septicTank: data.septicTank?.name || data.septicTank,\n meterPhotoId: meterPhotoId,\n };\n\n try {\n await updateMutation.mutateAsync({\n RequestInfo: {},\n updateType: \"METER\",\n kno: searchKno,\n ...submitData,\n });\n setToast({ type: \"success\", message: t(\"Meter details updated successfully!\") });\n onSelect(config.key, submitData);\n } catch (error) {\n setToast({ type: \"error\", message: t(\"Failed to update meter details\") });\n }\n };\n\n if (isLoading) {\n return <Loader />;\n }\n\n const Config = MeterDetailsConfig(\n t,\n localFormData,\n handleUpload,\n meterPhoto,\n meterPhotoId,\n setMeterPhoto,\n setMeterPhotoId\n );\n\n return (\n <Fragment>\n <FormComposer\n key={isDataLoaded ? \"loaded\" : \"loading\"}\n isDisabled={!canSubmit}\n label={t(\"ES_COMMON_CONTINUE\")}\n config={Config.map((item) => ({\n ...item,\n isCollapsible: true,\n isDefaultOpen: true,\n }))}\n onSubmit={onSubmit}\n defaultValues={defaultValues}\n onFormValueChange={onFormValueChange}\n noCard={false}\n submitInForm={true}\n />\n {toast && (\n <Toast\n error={toast.type === \"error\"}\n label={toast.message}\n onClose={() => setToast(null)}\n />\n )}\n </Fragment>\n );\n};\n\nexport default MeterDetails;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ModuleLinksView } from \"@djb25/digit-ui-react-components\";\nconst Home = () => {\n const { t } = useTranslation();\n const propsForModuleCard = {\n moduleName: t(\"ACTION_TEST_EKYC\"),\n kpis: [\n {\n count: \"-\",\n label: t(\"TOTAL_EKYC\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n ],\n links: [],\n };\n const citizenInfo = Digit.SessionStorage.get(\"User\")?.info?.roles;\n const roles = Array.isArray(citizenInfo) ? citizenInfo.map((ele) => ele.code) : [];\n\n if (roles.includes(\"EKYC_SURVEYOR\")) {\n propsForModuleCard.links.push({\n label: t(\"SURVEYOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/surveyor-dashboard`,\n });\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\") || roles.includes(\"EKYC_VENDOR\")) {\n propsForModuleCard.links.push(\n {\n label: t(\"EKYC_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/dashboard`,\n },\n {\n label: t(\"EKYC_INBOX\"),\n link: `/digit-ui/citizen/ekyc/inbox`,\n },\n {\n label: t(\"EKYC_ASSIGN\"),\n link: `/digit-ui/citizen/ekyc/assign`,\n }\n );\n }\n\n if (roles.includes(\"EKYC_SUPERVISOR\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_SUPERVISOR_DASHBOARD\"),\n link: `/digit-ui/citizen/ekyc/supervisor-dashboard`,\n });\n }\n \n if (roles.length === 1 && roles.includes(\"CITIZEN\")) {\n propsForModuleCard.links.push({\n label: t(\"EKYC_STATUS\"),\n link: `/digit-ui/citizen/ekyc/:id`,\n });\n }\n\n return <ModuleLinksView links={propsForModuleCard.links} />;\n};\n\nexport default Home;\n","import React, { useMemo, useCallback, useReducer } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { InboxComposer } from \"@djb25/digit-ui-react-components\";\nimport useInboxTableConfig from \"../../hook/useInboxTableConfig\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\n// Mock data removed in favor of API integration\n\nconst Inbox = ({ parentRoute }) => {\n const tenantId = Digit.ULBService.getCurrentTenantId();\n const location = useLocation();\n\n const formInitValue = {\n filterForm: {},\n searchForm: {},\n tableForm: {\n limit: 20,\n offset: 0,\n sortBy: \"createdTime\",\n sortOrder: \"DESC\",\n },\n };\n\n const [formState, dispatch] = useReducer(formReducer, formInitValue);\n\n const queryParams = useMemo(() => {\n return {\n tenantId,\n offset: formState?.tableForm?.offset || 0,\n limit: formState?.tableForm?.limit || 20,\n search: formState?.searchForm || {},\n };\n }, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit, formState?.searchForm]);\n\n const filters = useMemo(() => {\n const searchForm = formState?.searchForm || {};\n return {\n ...searchForm,\n ...(searchForm.kNumber && { kno: searchForm.kNumber }),\n };\n }, [formState?.searchForm]);\n\n const { isLoading, data: dashboardData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const searchDetails = useMemo(\n () => ({\n kno: formState?.searchForm?.kNumber || \"\",\n name: formState?.searchForm?.kName || \"\",\n }),\n [formState?.searchForm?.kNumber, formState?.searchForm?.kName]\n );\n\n const isSearchActive = !!(searchDetails.kno || searchDetails.name);\n\n const { isLoading: isSearchLoading, data: searchData } = Digit.Hooks.ekyc.useSearchConnection(\n {\n tenantId,\n details: searchDetails,\n },\n {\n enabled: !!tenantId && !!searchDetails.kno, // 🔥 important\n keepPreviousData: true,\n }\n );\n\n const sourceData = useMemo(() => {\n if (isSearchActive) {\n if (!searchData) return [];\n return [searchData];\n }\n\n return dashboardData?.consumerList || [];\n }, [isSearchActive, searchData, dashboardData]);\n\n const filteredData = useMemo(() => {\n return (sourceData || []).map((item) => {\n // ✅ detect search response\n const isSearchItem = !!item.connectionDetails;\n\n if (isSearchItem) {\n const searchDetails = item.connectionDetails || {};\n const fullName = (searchDetails.firstName || searchDetails.middleName || searchDetails.lastName)\n ? `${searchDetails.firstName || \"\"} ${searchDetails.middleName || \"\"} ${searchDetails.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : searchDetails.consumerName || \"\";\n\n return {\n applicationNo: item.propertyInfo?.kno || \"\",\n connectionNo: item.propertyInfo?.kno || \"\",\n owner: fullName,\n applicationNumber: item.propertyInfo?.kno || \"\",\n citizenName: fullName,\n status: item.connectionDetails?.statusflag || \"\",\n ekycStatus: (item.connectionDetails?.ekycStatus || item.connectionDetails?.ekycstatus || item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: 0,\n };\n }\n\n // ✅ dashboard mapping\n const fullName = (item.firstName || item.middleName || item.lastName)\n ? `${item.firstName || \"\"} ${item.middleName || \"\"} ${item.lastName || \"\"}`.trim().replace(/\\s+/g, \" \")\n : item.consumerName || item.citizenName || \"\";\n\n return {\n ...item,\n applicationNo: item.kno || item.applicationNumber || \"\",\n connectionNo: item.connectionNo || \"\",\n owner: fullName,\n applicationNumber: item.kno || item.applicationNumber || \"\",\n citizenName: fullName,\n status: item.status || \"\",\n ekycStatus: (item.ekycStatus || item.ekycstatus || \"NA\").toUpperCase(),\n sla: item.sla ?? 0,\n };\n });\n }, [sourceData]);\n\n const totalRecords = dashboardData?.dashboardInfo?.totalRecords || dashboardData?.totalCount || 0;\n\n const checkPathName = location.pathname.includes(\"ekyc/inbox\");\n // const PropsForInboxLinks = {\n // headerText: \"EKYC_MODULE\",\n // };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const tableOrderFormDefaultValues = {\n sortBy: \"createdTime\",\n limit: window.Digit.Utils.browser.isMobile() ? 50 : 20,\n offset: 0,\n sortOrder: \"DESC\",\n };\n\n const onSearchFormSubmit = (data) => {\n data.hasOwnProperty(\"\") && delete data?.[\"\"];\n dispatch({ action: \"mutateTableForm\", data: { ...tableOrderFormDefaultValues }, checkPathName });\n dispatch({ action: \"mutateSearchForm\", data, checkPathName });\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n applicationNumber: \"\",\n consumerNo: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", null);\n setSearchFormValue(\"applicationNumber\", null);\n setSearchFormValue(\"consumerNo\", null);\n dispatch({ action: \"mutateSearchForm\", data: searchFormDefaultValues });\n };\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n // const FilterFormFields = useCallback(\n // ({ registerRef, controlFilterForm, setFilterFormValue, getFilterFormValue }) => <React.Fragment></React.Fragment>,\n // []\n // );\n\n // const propsForFilterForm = {\n // FilterFormFields,\n // onFilterFormSubmit: () => { },\n // filterFormDefaultValues: \"\",\n // resetFilterFormDefaultValues: \"\",\n // onFilterFormReset: () => { },\n // };\n\n function formReducer(state, payload) {\n const storageKey = payload.checkPathName ? \"EKYC.INBOX\" : \"EKYC.SW.INBOX\";\n\n // ✅ safety for SLA\n switch (payload.action) {\n case \"mutateSearchForm\":\n Digit.SessionStorage.set(storageKey, { ...state, searchForm: payload.data });\n return { ...state, searchForm: payload.data };\n\n case \"mutateFilterForm\":\n Digit.SessionStorage.set(storageKey, { ...state, filterForm: payload.data });\n return { ...state, filterForm: payload.data };\n\n case \"mutateTableForm\":\n Digit.SessionStorage.set(storageKey, { ...state, tableForm: payload.data });\n return { ...state, tableForm: payload.data };\n\n default:\n return state; // ✅ IMPORTANT\n }\n }\n\n const onPageSizeChange = (e) => {\n const newLimit = Number(e.target.value);\n\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n limit: newLimit,\n offset: 0, // reset page\n },\n checkPathName,\n });\n };\n\n const onSortingByData = (e) => {\n if (e.length > 0) {\n const [{ id, desc }] = e;\n const sortOrder = desc ? \"DESC\" : \"ASC\";\n const sortBy = id;\n\n if (!(formState.tableForm.sortBy === sortBy && formState.tableForm.sortOrder === sortOrder)) {\n dispatch({\n action: \"mutateTableForm\",\n data: {\n ...formState.tableForm,\n sortBy: id,\n sortOrder: desc ? \"DESC\" : \"ASC\",\n },\n checkPathName,\n });\n }\n }\n };\n\n const propsForInboxTable = useInboxTableConfig({\n ...{\n parentRoute,\n onPageSizeChange,\n formState,\n totalCount: totalRecords,\n table: filteredData,\n dispatch,\n onSortingByData,\n tenantId,\n checkPathName,\n inboxStyles: { overflowX: \"scroll\", overflowY: \"hidden\" },\n tableStyle: { width: \"70%\" },\n },\n });\n\n const isInboxLoading = isLoading || isSearchLoading;\n\n return (\n <div className=\"app-container\">\n <InboxComposer\n {...{\n isInboxLoading,\n // PropsForInboxLinks,\n ...propsForSearchForm,\n // ...propsForFilterForm,\n // ...propsForMobileSortForm,\n propsForInboxTable,\n // propsForInboxMobileCards,\n formState,\n }}\n />\n </div>\n );\n};\n\nexport default Inbox;\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\nimport { Card, Loader, Table } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\nimport { downloadSupervisorPDF } from \"../utils/reportDownloader\";\n\nconst SurveyorStatsCell = ({ surveyorId, type }) => {\n const { data, isLoading } = Digit.Hooks.ekyc.useEkycSurveyorDashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n surveyorId: surveyorId,\n },\n {\n enabled: !!surveyorId,\n staleTime: 60000,\n }\n );\n\n if (isLoading) return \"...\";\n\n const dashboardInfo = data?.dashboardInfo || {};\n const total = dashboardInfo?.total || 0;\n const completed = dashboardInfo?.completed || 0;\n const pending = dashboardInfo?.pending || 0;\n const progress = total > 0 ? `${Math.round((completed / total) * 100)}%` : \"0%\";\n\n if (type === \"total\") return total;\n if (type === \"completed\") return completed;\n if (type === \"pending\") return pending;\n if (type === \"progress\") return progress;\n\n return null;\n};\n\nconst SupervisorDetailsCard = () => {\n const { t } = useTranslation();\n const tenantId = Digit.ULBService.getCurrentTenantId() || \"dl.djb\";\n const { id: supervisorId } = useParams();\n const ownerIds = Digit.SessionStorage.get(\"User\")?.info?.uuid;\n const searchParams = supervisorId ? { ids: supervisorId } : { ownerIds };\n\n const { data: supervisorSearchResponse, isLoading: isSupervisorSearchLoading } = Digit.Hooks.fsm.useSupervisorSearch(\n tenantId,\n searchParams,\n { staleTime: Infinity }\n );\n\n const supervisor = useMemo(() => {\n return supervisorSearchResponse?.supervisors?.[0] || null;\n }, [supervisorSearchResponse]);\n\n const { data: vendorData } = Digit.Hooks.fsm.useDsoSearch(tenantId, { status: \"ACTIVE\" }, { enabled: !!tenantId });\n\n const vendorName = useMemo(() => {\n if (!vendorData || !supervisor?.vendorId) return \"N/A\";\n const mappedVendor = vendorData.find((v) => v.dsoDetails?.id === supervisor.vendorId || v.dsoDetails?.vendorId === supervisor.vendorId);\n return mappedVendor?.dsoDetails?.name || supervisor.vendorId || \"N/A\";\n }, [vendorData, supervisor?.vendorId]);\n\n const fullName = supervisor?.owner?.name || supervisor?.name || \"N/A\";\n const employeeId = supervisor?.employeeId || supervisor?.owner?.uuid || supervisor?.id;\n const mobileNumber = supervisor?.owner?.mobileNumber || supervisor?.mobileNo || \"N/A\";\n\n // Fetch surveyors connected to the logged-in supervisor\n const { data: surveyorsResponse, isLoading: isSurveyorsLoading } = Digit.Hooks.fsm.useSurveyorSearch(\n tenantId,\n { supervisorIds: supervisor?.id },\n { enabled: !!tenantId && !!supervisor?.id }\n );\n\n const surveyors = useMemo(() => {\n return surveyorsResponse?.surveyors || surveyorsResponse?.surveyor || [];\n }, [surveyorsResponse]);\n\n const { isLoading: isProgressLoading, data: progressData } = Digit.Hooks.ekyc.useEkycAssignmentProgress({\n enabled: !!tenantId,\n keepPreviousData: true,\n });\n\n const cards = useMemo(() => [\n {\n label: \"TOTAL_EKYC_APPLICATIONS\",\n count: progressData?.totalKnos || 0,\n color: \"#0B2559\",\n type: \"today\",\n },\n {\n label: \"TOTAL_ASSIGNMENTS\",\n count: progressData?.totalAssignments || 0,\n color: \"#3B82F6\",\n type: \"week\",\n },\n {\n label: \"EKYC_COMPLETED\",\n count: progressData?.completedKnos || 0,\n color: \"#10B981\",\n type: \"month\",\n },\n {\n label: \"PENDING_APPLICATIONS\",\n count: (progressData?.totalKnos || 0) - (progressData?.completedKnos || 0),\n color: \"#F59E0B\",\n type: \"pending\",\n },\n {\n label: \"OVERALL_PROGRESS\",\n count: `${progressData?.overallProgressPercent || 0}%`,\n color: \"#A855F7\",\n type: \"progress\",\n },\n ], [progressData]);\n\n const [currentPage, setCurrentPage] = useState(0);\n const [pageSize, setPageSize] = useState(20);\n\n const paginatedSurveyors = useMemo(() => {\n const start = currentPage * pageSize;\n const end = start + pageSize;\n return surveyors.slice(start, end);\n }, [surveyors, currentPage, pageSize]);\n\n const surveyorColumns = useMemo(\n () => [\n {\n Header: t(\"SURVEYOR_NAME\") || \"Surveyor Name\",\n accessor: (row) => row?.name || row?.owner?.name || \"N/A\",\n Cell: ({ row }) => (\n <a\n href={`/digit-ui/citizen/ekyc/surveyor-dashboard/${row.original.id}`}\n style={{ color: \"#1D70B8\", fontWeight: \"600\", textDecoration: \"none\" }}\n >\n {row.original?.name || row.original?.owner?.name || \"N/A\"}\n </a>\n ),\n },\n {\n Header: t(\"MOBILE_NUMBER\") || \"Mobile Number\",\n accessor: (row) => row?.owner?.mobileNumber || row?.mobileNo || \"N/A\",\n id: \"mobileNumber\",\n },\n {\n Header: t(\"STATUS\") || \"Status\",\n accessor: \"status\",\n Cell: ({ value }) => (\n <span className={`status-badge ${value === \"ACTIVE\" ? \"verified\" : \"pending\"}`}>\n {t(value) || value}\n </span>\n ),\n },\n {\n Header: t(\"TOTAL_EKYC_APPLICATIONS\") || \"Total eKYC Applications\",\n accessor: (row) => row?.totalEkycApplications || 0,\n id: \"totalEkycApplications\",\n Cell: ({ row }) => <SurveyorStatsCell surveyorId={row.original?.owner?.uuid} type=\"total\" />,\n },\n {\n Header: t(\"EKYC_COMPLETED\") || \"eKYC Completed\",\n accessor: (row) => row?.ekycCompleted || 0,\n id: \"ekycCompleted\",\n Cell: ({ row }) => <SurveyorStatsCell surveyorId={row.original?.owner?.uuid} type=\"completed\" />,\n },\n {\n Header: t(\"PENDING_APPLICATIONS\") || \"Pending Applications\",\n accessor: (row) => row?.pendingApplications || 0,\n id: \"pendingApplications\",\n Cell: ({ row }) => <SurveyorStatsCell surveyorId={row.original?.owner?.uuid} type=\"pending\" />,\n },\n {\n Header: t(\"OVERALL_PROGRESS\") || \"Overall Progress\",\n accessor: (row) => row?.overallProgress || \"N/A\",\n id: \"overallProgress\",\n Cell: ({ row }) => <SurveyorStatsCell surveyorId={row.original?.owner?.uuid} type=\"progress\" />,\n }\n // {\n // Header: t(\"ACTIONS\") || \"Actions\",\n // Cell: ({ row }) => (\n // <a\n // href={`/digit-ui/citizen/ekyc/surveyor-dashboard/${row.original.id}`}\n // className=\"download-action-btn\"\n // style={{\n // display: \"inline-block\",\n // padding: \"6px 12px\",\n // fontSize: \"12px\",\n // textDecoration: \"none\",\n // textAlign: \"center\"\n // }}\n // >\n // {t(\"VIEW_DASHBOARD\") || \"View Dashboard\"}\n // </a>\n // ),\n // },\n ],\n [t]\n );\n\n // Report Download logic\n const [showReportMenu, setShowReportMenu] = useState(false);\n const [customDate, setCustomDate] = useState({ from: \"\", to: \"\" });\n const [showCustomPicker, setShowCustomPicker] = useState(false);\n const [reportLoading, setReportLoading] = useState(false);\n const reportMenuRef = useRef(null);\n\n useEffect(() => {\n const handler = (e) => {\n if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n\n const getDateRange = (filter) => {\n const now = new Date();\n const start = new Date(now);\n if (filter === \"today\") {\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"week\") {\n start.setDate(now.getDate() - now.getDay());\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n if (filter === \"month\") {\n start.setDate(1);\n start.setHours(0, 0, 0, 0);\n return { from: start, to: now };\n }\n return null;\n };\n\n const handlePresetDownload = async (filter) => {\n const range = getDateRange(filter);\n if (!range) return;\n\n setReportLoading(true);\n try {\n const surveyorsList = surveyors || [];\n\n const rowsWithStats = await Promise.all(\n surveyorsList.map(async (surveyor) => {\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n surveyorId: surveyor.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n const info = response?.dashboardInfo || {};\n const total = info.total || 0;\n const completed = info.completed || 0;\n const pending = info.pending || 0;\n const progress = total > 0 ? `${Math.round((completed / total) * 100)}%` : \"0%\";\n return {\n ...surveyor,\n total,\n completed,\n pending,\n progress,\n };\n } catch (err) {\n console.error(\"Failed to fetch stats for surveyor:\", surveyor.id, err);\n return {\n ...surveyor,\n total: 0,\n completed: 0,\n pending: 0,\n progress: \"0%\",\n };\n }\n })\n );\n\n const overallResponse = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n supervisorId: supervisor?.owner?.uuid,\n fromDate: range.from.getTime(),\n toDate: range.to.getTime(),\n }\n );\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n mobileNumber,\n vendorName,\n dashboardInfo: overallResponse?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const handleCustomDownload = async () => {\n if (!customDate.from || !customDate.to) {\n alert(t(\"SELECT_DATE_RANGE\") || \"Please select both From and To dates.\");\n return;\n }\n const from = new Date(customDate.from);\n from.setHours(0, 0, 0, 0);\n const to = new Date(customDate.to);\n to.setHours(23, 59, 59, 999);\n\n setReportLoading(true);\n try {\n const surveyorsList = surveyors || [];\n\n const rowsWithStats = await Promise.all(\n surveyorsList.map(async (surveyor) => {\n try {\n const response = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n surveyorId: surveyor.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n const info = response?.dashboardInfo || {};\n const total = info.total || 0;\n const completed = info.completed || 0;\n const pending = info.pending || 0;\n const progress = total > 0 ? `${Math.round((completed / total) * 100)}%` : \"0%\";\n return {\n ...surveyor,\n total,\n completed,\n pending,\n progress,\n };\n } catch (err) {\n console.error(\"Failed to fetch stats for surveyor:\", surveyor.id, err);\n return {\n ...surveyor,\n total: 0,\n completed: 0,\n pending: 0,\n progress: \"0%\",\n };\n }\n })\n );\n\n const overallResponse = await Digit.EkycService.dashboard(\n {},\n {\n tenantId: \"dl.djb\",\n offset: 0,\n limit: 1,\n supervisorId: supervisor?.owner?.uuid,\n fromDate: from.getTime(),\n toDate: to.getTime(),\n }\n );\n\n downloadSupervisorPDF({\n rows: rowsWithStats,\n supervisorName: fullName,\n mobileNumber,\n vendorName,\n dashboardInfo: overallResponse?.dashboardInfo || {},\n t,\n });\n } catch (err) {\n console.error(\"Failed to fetch custom dashboard data for report download:\", err);\n } finally {\n setReportLoading(false);\n setShowReportMenu(false);\n setShowCustomPicker(false);\n }\n };\n\n const StatCard = ({ title, value, type, color, isLoading }) => (\n <div className={`stat-card ${type}`} style={color ? { borderLeft: `5px solid ${color}` } : {}}>\n {isLoading ? (\n <React.Fragment>\n <div className=\"stat-title skeleton skeleton-text\"></div>\n <div className=\"stat-value skeleton skeleton-number\"></div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className=\"stat-title\">{title}</div>\n <div className=\"stat-value\" style={color ? { color } : {}}>{value}</div>\n </React.Fragment>\n )}\n </div>\n );\n\n if (isSupervisorSearchLoading) {\n return <Loader />;\n }\n\n if (!supervisor) {\n return (\n <Card>\n <div style={{ padding: \"24px\" }}>{t(\"NO_SUPERVISOR_FOUND\")}</div>\n </Card>\n );\n }\n\n return (\n <Card className=\"surveyor-dashboard\">\n {/* Header + Download Report */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"ekyc-dashboard-header\">\n <div className=\"avatar\">{fullName?.charAt(0)?.toUpperCase()}</div>\n\n <div className=\"header-content\">\n <h2 className=\"name\">{fullName}</h2>\n <div className=\"designation\">{t(\"FIELD_SUPERVISOR\") || \"Field Supervisor\"}</div>\n </div>\n </div>\n\n {/* Download Report — far right */}\n <div className=\"report-download\" ref={reportMenuRef}>\n <button\n className=\"download-btn\"\n disabled={reportLoading}\n onClick={() => {\n setShowReportMenu((p) => !p);\n setShowCustomPicker(false);\n }}\n >\n {reportLoading ? t(\"DOWNLOADING\") || \"Downloading...\" : t(\"DOWNLOAD_REPORT\") || \"Download Report\"}\n </button>\n\n {showReportMenu && (\n <div className=\"report-menu\">\n {[\n { label: t(\"TODAY\") || \"Today\", key: \"today\" },\n { label: t(\"THIS_WEEK\") || \"This Week\", key: \"week\" },\n { label: t(\"THIS_MONTH\") || \"This Month\", key: \"month\" },\n ].map(({ label, key }) => (\n <div\n key={key}\n className=\"menu-item\"\n onClick={() => handlePresetDownload(key)}\n >\n {label}\n </div>\n ))}\n\n <div\n className=\"custom-date-trigger\"\n onClick={() => setShowCustomPicker((p) => !p)}\n >\n {t(\"CUSTOM_DATE\") || \"Custom Date\"}\n </div>\n\n {showCustomPicker && (\n <div className=\"custom-picker\">\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"FROM_DATE\") || \"From\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.from}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, from: e.target.value }))\n }\n />\n </div>\n\n <div className=\"date-field\">\n <label className=\"date-label\">\n {t(\"TO_DATE\") || \"To\"}\n </label>\n <input\n type=\"date\"\n className=\"date-input\"\n value={customDate.to}\n onChange={(e) =>\n setCustomDate((d) => ({ ...d, to: e.target.value }))\n }\n />\n </div>\n\n <button\n className=\"download-action-btn\"\n onClick={handleCustomDownload}\n >\n {t(\"DOWNLOAD\") || \"Download\"}\n </button>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Stats */}\n <div className=\"stats-wrapper\">\n {cards.map((card, idx) => (\n <StatCard\n key={idx}\n title={t(card.label)}\n value={card.count}\n type={card.type}\n color={card.color}\n isLoading={isProgressLoading}\n />\n ))}\n </div>\n\n {/* Details */}\n <div className=\"ekyc-dashboard-section\">\n <div className=\"details-grid\">\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"MOBILE\")}:</span>\n <span className=\"value\">{supervisor?.owner?.mobileNumber || supervisor?.mobileNo || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"EMAIL\")}:</span>\n <span className=\"value\">{supervisor?.owner?.emailId || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"GENDER\")}:</span>\n <span className=\"value\">{supervisor?.owner?.gender || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"STATUS\")}:</span>\n <span className=\"value\">{supervisor?.status || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"SERVICE_TYPE\")}:</span>\n <span className=\"value\">{supervisor?.additionalDetails?.serviceType || \"N/A\"}</span>\n </div>\n\n <div className=\"detail-item\">\n <span className=\"label\">{t(\"VENDOR_NAME\") || \"Vendor Name\"}:</span>\n <span className=\"value\">{vendorName}</span>\n </div>\n </div>\n </div>\n\n <Card className=\"dashboard-card\">\n <Table\n t={t}\n tableTitle={t(\"CONNECTED_SURVEYORS\") || \"Connected Surveyors\"}\n tableClass=\"ekycTable\"\n data={paginatedSurveyors}\n columns={surveyorColumns}\n isLoading={isSurveyorsLoading}\n totalRecords={surveyors.length}\n currentPage={currentPage}\n pageSizeLimit={pageSize}\n isPaginationRequired={true}\n onNextPage={() => {\n if (currentPage < Math.ceil(surveyors.length / pageSize) - 1) {\n setCurrentPage((prev) => prev + 1);\n }\n }}\n onPrevPage={() => {\n if (currentPage > 0) {\n setCurrentPage((prev) => prev - 1);\n }\n }}\n onFirstPage={() => {\n setCurrentPage(0);\n }}\n onLastPage={() => {\n setCurrentPage(Math.max(Math.ceil(surveyors.length / pageSize) - 1, 0));\n }}\n onPageSizeChange={(e) => {\n setPageSize(Number(e.target.value));\n setCurrentPage(0);\n }}\n />\n </Card>\n </Card>\n );\n};\n\nexport default SupervisorDetailsCard;","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport {\n Card,\n CardHeader,\n CardText,\n Loader,\n StatusTable,\n Row,\n InboxComposer,\n VerticalTimeline,\n SubmitBar,\n} from \"@djb25/digit-ui-react-components\";\nimport SearchFormFieldsComponents from \"../../components/SearchFormFieldsComponent\";\n\nconst EkycStatus = () => {\n const { t } = useTranslation();\n const { id } = useParams();\n const history = useHistory();\n\n // Separate states for the input form state and the triggered search query\n const [formState, setFormState] = useState({\n searchForm: {\n kNumber: id && id !== \":id\" ? id : \"\",\n },\n filterForm: {},\n });\n const [searchQuery, setSearchQuery] = useState(id && id !== \":id\" ? id : \"\");\n const [errorMsg, setErrorMsg] = useState(\"\");\n\n const tenantId = Digit.ULBService.getCurrentTenantId();\n\n // Sync states with URL id parameter change (e.g. back navigation or page load)\n // Added strict equality check to prevent infinite re-render loop\n useEffect(() => {\n const currentKNumber = formState?.searchForm?.kNumber || \"\";\n const targetKNumber = id && id !== \":id\" ? id : \"\";\n if (currentKNumber !== targetKNumber) {\n setFormState({\n searchForm: { kNumber: targetKNumber },\n filterForm: {},\n });\n setSearchQuery(targetKNumber);\n }\n }, [id]);\n\n // Fetch eKYC review/status data - only triggers on 'searchQuery' state\n const { data: searchData, isLoading: isReviewLoading } = Digit.Hooks.ekyc.useEkycSearchReview(\n { kno: searchQuery, fetchType: \"REVIEW\" },\n tenantId,\n {\n enabled: !!searchQuery,\n retry: false,\n onError: (err) => {\n setErrorMsg(err?.message || t(\"EKYC_STATUS_NOT_FOUND\", \"eKYC Application not found.\"));\n },\n }\n );\n\n // Fetch connection/application details via useSearchConnection\n const { data: connectionSearchData, isLoading: isConnectionLoading } = Digit.Hooks.ekyc.useSearchConnection(\n { tenantId, details: { kno: searchQuery } },\n { enabled: !!searchQuery, retry: false }\n );\n\n const isLoading = isReviewLoading || isConnectionLoading;\n\n const onSearchFormSubmit = (data) => {\n const val = data?.kNumber?.trim();\n if (!val) {\n setErrorMsg(t(\"EKYC_PLEASE_ENTER_KNO\", \"Please enter a valid K-Number.\"));\n return;\n }\n setErrorMsg(\"\");\n setFormState({\n searchForm: data,\n filterForm: {},\n });\n setSearchQuery(val);\n history.push(`/digit-ui/citizen/ekyc/${val}`);\n };\n\n const searchFormDefaultValues = {\n kNumber: \"\",\n };\n\n const onSearchFormReset = (setSearchFormValue) => {\n setSearchFormValue(\"kNumber\", \"\");\n setErrorMsg(\"\");\n setFormState({\n searchForm: { kNumber: \"\" },\n filterForm: {},\n });\n setSearchQuery(\"\");\n history.push(\"/digit-ui/citizen/ekyc/:id\");\n };\n\n const SearchFormFields = useCallback(\n ({ registerRef, searchFormState, controlSearchForm }) => (\n <SearchFormFieldsComponents {...{ registerRef, searchFormState, controlSearchForm }} searchType=\"kno\" className=\"search\" />\n ),\n []\n );\n\n const propsForSearchForm = {\n SearchFormFields,\n onSearchFormSubmit,\n searchFormDefaultValues: formState?.searchForm,\n resetSearchFormDefaultValues: searchFormDefaultValues,\n onSearchFormReset,\n className: \"search-form-wns-inbox\",\n };\n\n const propsForInboxTable = {\n columns: [],\n data: [],\n limit: 10,\n offset: 0,\n };\n\n const propsForInboxMobileCards = {\n data: [],\n };\n\n const getStatusDetails = () => {\n if (!searchData) return null;\n const reviewWrapper = searchData?.applicationReviewInfo || searchData?.applicationReview || searchData;\n const appData = (Array.isArray(reviewWrapper) ? reviewWrapper[0] : reviewWrapper) || {};\n const newData = appData?.newData || appData;\n const connection = newData?.connectionDetails || newData || {};\n\n const naText = t(\"CS_NA\", \"N/A\");\n const connRaw = connectionSearchData?.connectionDetails || connectionSearchData || {};\n const addrRaw = connectionSearchData?.addressDetails || {};\n const propRaw = connectionSearchData?.propertyInfo || {};\n const meterRaw = connectionSearchData?.meterDetails || {};\n\n const rawStatus = (connection?.ekycStatus || connection?.ekycstatus || connRaw?.ekycStatus || propRaw?.ekycStatus || meterRaw?.ekycStatus || \"NA\").toUpperCase();\n\n const reviewName = connection?.consumerName || [newData?.firstName, newData?.middleName, newData?.lastName].filter(Boolean).join(\" \");\n const connName = connRaw?.consumerName || [connRaw?.firstName, connRaw?.middleName, connRaw?.lastName].filter(Boolean).join(\" \");\n\n const reviewPhone = connection?.phoneNumber || connection?.mobileNo || connection?.mobileNumber;\n const connPhone = connRaw?.phoneNumber || connRaw?.mobileNo || connRaw?.mobileNumber || addrRaw?.mobileNo || addrRaw?.phoneNumber || addrRaw?.mobileNumber;\n\n const reviewType = connection?.connectionType || connection?.connectionCategory;\n const connType = connRaw?.connectionType || connRaw?.connectionCategory || connRaw?.knoCategory || propRaw?.connectionType || propRaw?.connectionCategory || meterRaw?.connectionCategory;\n\n return {\n kno: connection?.knumber || connection?.kno || connRaw?.knumber || connRaw?.kno || searchQuery,\n consumerName: (reviewName && reviewName !== naText && reviewName !== \"\") ? reviewName : (connName || naText),\n phoneNumber: (reviewPhone && reviewPhone !== naText && reviewPhone !== \"\") ? reviewPhone : (connPhone || naText),\n connectionType: (reviewType && reviewType !== naText && reviewType !== \"\") ? reviewType : (connType || naText),\n status: rawStatus,\n };\n };\n\n const details = getStatusDetails();\n\n // Visual Stepper configuration for VerticalTimeline\n const timelineConfig = [\n {\n route: \"submitted\",\n timeLine: [\n {\n currentStep: 1,\n actions: t(\"EKYC_STEP_SUBMITTED\", \"eKYC Survey Submitted\"),\n },\n ],\n },\n {\n route: \"verification\",\n timeLine: [\n {\n currentStep: 2,\n actions: t(\"EKYC_STEP_UNDER_VERIFICATION\", \"Under Verification\"),\n },\n ],\n },\n {\n route: \"zro-decision\",\n timeLine: [\n {\n currentStep: 3,\n actions: t(\"EKYC_STEP_ZRO_DECISION\", \"ZRO Decision\"),\n },\n ],\n },\n ];\n\n let activeStepIndex = 0;\n if (details) {\n if (details.status === \"APPROVED\") {\n activeStepIndex = 3;\n } else if (details.status === \"REJECTED\") {\n activeStepIndex = 2;\n } else if (details.status === \"PENDING_FOR_VERIFICATION\") {\n activeStepIndex = 1;\n } else {\n activeStepIndex = 1;\n }\n }\n\n const getStatusText = (status) => {\n const key = `EKYC_STATUS_${status}`;\n const val = t(key);\n if (val === key) {\n if (status === \"APPROVED\") return \"Approved\";\n if (status === \"REJECTED\") return \"Rejected\";\n if (status === \"PENDING_FOR_VERIFICATION\") return \"Pending For Verification\";\n return status;\n }\n return val;\n };\n\n return (\n <React.Fragment>\n <div className=\"employee-form-section-wrapper\">\n {!isLoading && details && (\n <VerticalTimeline config={timelineConfig} currentActiveIndex={activeStepIndex} />\n )}\n <div className=\"employee-form-section\">\n <div className=\"single-page-form-container\">\n {/* 1. Search Form Card rendered with InboxComposer */}\n <Card className=\"ekyc-status-search-card\">\n <CardHeader className=\"ekyc-status-card-header\">\n {t(\"EKYC_APPLICATION_STATUS_TRACKER\", \"eKYC Application Status\")}\n </CardHeader>\n <CardText className=\"ekyc-status-card-text\">\n {t(\"EKYC_STATUS_TRACKER_SUBHEADER\", \"Enter your K-Number below to track the real-time status of your eKYC application.\")}\n </CardText>\n\n <div className=\"status-search-composer-wrapper\">\n <InboxComposer\n {...{\n isInboxLoading: false,\n ...propsForSearchForm,\n propsForInboxTable,\n propsForInboxMobileCards,\n formState,\n }}\n />\n </div>\n </Card>\n\n {errorMsg && (\n <div className=\"ekyc-status-error-msg\">\n {errorMsg}\n </div>\n )}\n\n {/* 2. Results Card */}\n {isLoading && <Loader />}\n\n {!isLoading && details && (\n <Card className=\"ekyc-status-results-card\">\n {/* Status overview and badge */}\n <div className=\"ekyc-status-overview-header\">\n <div>\n <span className=\"ekyc-status-label-title\">\n {t(\"EKYC_CURRENT_STATUS\", \"Current Status\")}\n </span>\n <div className=\"ekyc-status-value-text\">\n {getStatusText(details.status)}\n </div>\n </div>\n <span className={`ekyc-status-badge ${details.status.toLowerCase()}`}>\n {details.status}\n </span>\n </div>\n\n {/* Details Table */}\n <div className=\"ekyc-status-details-section\">\n <h3 className=\"ekyc-status-details-title\">\n {t(\"EKYC_CONNECTION_SUMMARY\", \"Connection Summary\")}\n </h3>\n <StatusTable>\n <Row label={t(\"EKYC_K_NUMBER\", \"K-Number\")} text={details.kno} />\n <Row label={t(\"EKYC_CONSUMER_NAME\", \"Consumer Name\")} text={details.consumerName} />\n <Row label={t(\"EKYC_MOBILE_NO\", \"Mobile Number\")} text={details.phoneNumber} />\n <Row label={t(\"EKYC_CONNECTION_TYPE\", \"Connection Type\")} text={details.connectionType} />\n </StatusTable>\n </div>\n\n {/* View Application button */}\n <div className=\"ekyc-status-action-section\" style={{ marginTop: \"24px\", display: \"flex\", justifyContent: \"flex-end\" }}>\n <SubmitBar\n label={t(\"EKYC_VIEW_APPLICATION\", \"View Application\")}\n onSubmit={() => history.push(`/digit-ui/citizen/ekyc/status/${details.kno}`)}\n />\n </div>\n </Card>\n )}\n </div>\n </div>\n </div>\n </React.Fragment>\n );\n\n \n};\n\nexport default EkycStatus;\n","import React from \"react\";\nimport { PrivateRoute, ModuleHeader, ArrowLeft, HomeIcon, LayoutWrapper } from \"@djb25/digit-ui-react-components\";\nimport { useTranslation } from \"react-i18next\";\nimport { Switch, useLocation, useRouteMatch } from \"react-router-dom\";\nimport AadhaarVerification from \"../../components/AadhaarVerification\";\nimport PropertyInfo from \"../../components/PropertyInfo\";\nimport MeterDetails from \"../../components/MeterDetails\";\nimport Review from \"../../components/Review\";\nimport Home from \"./Home\";\nimport Inbox from \"./Inbox\";\nimport AssignEkyc from \"../../components/AssignEkyc\";\nimport SurveyorDetailsCard from \"../../components/SurveyorDetailsCard\";\nimport SupervisorDetailsCard from \"../../components/SupervisorDetailsCard\";\nimport VendorDetails from \"../../components/VendorDetails\";\nimport EkycStatus from \"./EkycStatus\";\n\nconst CitizenApp = () => {\n const { t } = useTranslation();\n const location = useLocation();\n const { path } = useRouteMatch();\n\n sessionStorage.removeItem(\"revalidateddone\");\n\n const getDynamicBreadcrumbs = () => {\n const pathname = location.pathname;\n\n // Parent crumb — always present and clickable → redirects to eKYC citizen home\n const crumbs = [\n { icon: HomeIcon, path: \"/digit-ui/citizen\" },\n { label: t(\"EKYC_MODULE_NAME\"), path: `/digit-ui/citizen/ekyc` },\n ];\n\n // Child crumb — only appended when on a sub-page\n if (pathname.includes(\"/create-kyc\")) {\n crumbs.push({ label: t(\"EKYC_CREATE_KYC\") });\n } else if (pathname.includes(\"/aadhaar-verification\")) {\n crumbs.push({ label: t(\"EKYC_AADHAAR_VERIFICATION\") });\n } else if (pathname.includes(\"/address-details\")) {\n crumbs.push({ label: t(\"EKYC_ADDRESS_DETAILS\") });\n } else if (pathname.includes(\"/property-info\")) {\n crumbs.push({ label: t(\"EKYC_PROPERTY_INFO\") });\n } else if (pathname.includes(\"/meter-details\")) {\n crumbs.push({ label: t(\"EKYC_METER_DETAILS\") });\n } else if (pathname.includes(\"/review\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\"), path: `/digit-ui/citizen/ekyc/inbox` });\n crumbs.push({ label: t(\"EKYC_REVIEW\") });\n } else if (pathname.includes(\"/assign/surveyor-details\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\"), path: `/digit-ui/citizen/ekyc/assign` });\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DETAILS\") });\n } else if (pathname.includes(\"/inbox\")) {\n crumbs.push({ label: t(\"EKYC_INBOX\") });\n } else if (pathname.includes(\"/supervisor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SUPERVISOR_DASHBOARD\") });\n } else if (pathname.includes(\"/surveyor-dashboard\")) {\n crumbs.push({ label: t(\"EKYC_SURVEYOR_DASHBOARD\") });\n } else if (pathname.includes(\"/dashboard\")) {\n crumbs.push({ label: t(\"EKYC_DASHBOARD\") });\n } else if (pathname.includes(\"/assign\")) {\n crumbs.push({ label: t(\"EKYC_ASSIGN\") });\n } else if (pathname.includes(\"/status/\") || /^\\/digit-ui\\/citizen\\/ekyc\\/[^/]+$/.test(pathname)) {\n const statusLabel = t(\"EKYC_STATUS\");\n crumbs.push({ label: statusLabel === \"EKYC_STATUS\" || statusLabel === \"STATUS\" ? \"eKYC Status\" : statusLabel });\n }\n // home (exact path) → no child crumb\n\n return crumbs;\n };\n\n // const roles = Digit.SessionStorage.get(\"User\")?.info?.roles.map((ele) => ele.code);\n // const isEkyAction = (!roles?.includes(\"EKYC_SURVEYOR\") || roles?.includes(\"EMPLOYEE\"))\n return (\n <React.Fragment>\n <div className=\"ground-container form-container\">\n <ModuleHeader\n leftContent={\n <React.Fragment>\n <ArrowLeft className=\"icon\" />\n {t(\"CS_COMMON_BACK\")}\n </React.Fragment>\n }\n onLeftClick={() => window.history.back()}\n breadcrumbs={getDynamicBreadcrumbs()}\n />\n\n <Switch>\n <PrivateRoute\n exact\n path={`${path}`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Home />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <VendorDetails />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/inbox`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Inbox />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/aadhaar-verification`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AadhaarVerification />\n </LayoutWrapper>\n )}\n />\n\n {/* <PrivateRoute\n path={`${path}/address-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AddressDetails />\n </LayoutWrapper>\n )}\n /> */}\n\n <PrivateRoute\n path={`${path}/property-info`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <PropertyInfo />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/meter-details`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <MeterDetails />\n </LayoutWrapper>\n )}\n />\n\n <PrivateRoute\n path={`${path}/review`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <AssignEkyc />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/assign/surveyor-details/:id`}\n exact\n component={() => (\n <LayoutWrapper layoutClass=\"action\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/surveyor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SurveyorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/status/:applicationId`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <Review />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/supervisor-dashboard`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <SupervisorDetailsCard />\n </LayoutWrapper>\n )}\n />\n <PrivateRoute\n path={`${path}/:id`}\n component={() => (\n <LayoutWrapper layoutClass=\"normal\">\n <EkycStatus />\n </LayoutWrapper>\n )}\n />\n </Switch>\n </div>\n </React.Fragment>\n );\n};\n\nexport default CitizenApp;\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CitizenHomeCard, DocumentIcon, Loader } from \"@djb25/digit-ui-react-components\";\nimport EKYCCard from \"./components/EKYCCard\";\nimport Inbox from \"./components/Dashboard\";\nimport DesktopInbox from \"./components/DesktopInbox\";\nimport MobileInbox from \"./components/MobileInbox\";\nimport Filter from \"./components/Filter\";\nimport EmployeeApp from \"./pages/employee\";\nimport CitizenApp from \"./pages/citizen\";\nimport PropertyInfo from \"./components/PropertyInfo\";\nimport MeterDetails from \"./components/MeterDetails\";\nimport AadhaarVerification from \"./components/AadhaarVerification\";\n\nexport const EkycModule = ({ stateCode, userType, tenants }) => {\n const { path, url } = useRouteMatch();\n const moduleCode = \"EKYC\";\n const language = Digit.StoreData.getCurrentLanguage();\n const { isLoading } = Digit.Services.useStore({ stateCode, moduleCode, language });\n\n Digit.SessionStorage.set(\"EKYC_TENANTS\", tenants);\n\n useEffect(\n () =>\n Digit.LocalizationService.getLocale({\n modules: [`rainmaker-ekyc`, `rainmaker-${Digit.ULBService.getCurrentTenantId()}`],\n locale: Digit.StoreData.getCurrentLanguage(),\n tenantId: Digit.ULBService.getCurrentTenantId(),\n }),\n []\n );\n\n if (isLoading) {\n return <Loader page={true} />;\n }\n\n if (userType === \"employee\") {\n return <EmployeeApp path={path} url={url} userType={userType} tenants={tenants} />;\n } else return <CitizenApp />;\n};\n\nexport const EkycLinks = ({ matchPath, userType }) => {\n const { t } = useTranslation();\n const links = [\n {\n link: `${matchPath}/create-kyc`,\n i18nKey: t(\"EKYC_CREATE_KYC\"),\n },\n {\n link: `${matchPath}/update-kyc`,\n i18nKey: t(\"EKYC_UPDATE_KYC\"),\n },\n ];\n\n return <CitizenHomeCard header={t(\"EKYC_MODULE_NAME\")} links={links} Icon={() => <DocumentIcon className=\"fill-path-primary-main\" />} />;\n};\n\nconst componentsToRegister = {\n EKYCModule: EkycModule,\n EKYCCard,\n EKYCInbox: Inbox,\n EKYCDesktopInbox: DesktopInbox,\n EKYCMobileInbox: MobileInbox,\n EKYC_INBOX_FILTER: (props) => <Filter {...props} />,\n EkycLinks,\n AadhaarVerification,\n PropertyInfo,\n MeterDetails,\n};\n\nexport const initEkycComponents = () => {\n Object.entries(componentsToRegister).forEach(([key, value]) => {\n Digit.ComponentRegistryService.setComponent(key, value);\n });\n};\n\nexport default EkycModule;\n"],"names":["EKYCCard","_useTranslation","useTranslation","t","propsForModuleCard","Icon","React","createElement","PersonIcon","moduleName","kpis","count","label","link","links","EmployeeModuleCard","getChartConstructor","C","Chartjs","StatusCards","_ref","countData","chartRef1","useRef","chartInstance1","total","pending","active","completed","actualCompleted","approved","efficiency","Math","round","healthPct","formatNumber","num","Intl","NumberFormat","format","useEffect","current","destroy","ctx1","getContext","ChartConstructor","type","data","labels","datasets","backgroundColor","borderColor","borderWidth","hoverOffset","options","cutout","plugins","legend","display","maintainAspectRatio","responsive","legendItems","color","value","className","map","item","key","style","background","ref","width","height","Dashboard","tenantId","Digit","ULBService","getCurrentTenantId","_Digit$Hooks$ekyc$use","Hooks","ekyc","useEkycSurveyorDashboard","offset","limit","enabled","isLoading","dashboardData","useMemo","info","dashboardInfo","rejected","Loader","Card","DesktopInbox","_Digit$ComponentRegis","filterComponent","props","_objectWithoutPropertiesLoose","_excluded","onSort","onNextPage","onPrevPage","currentPage","pageSizeLimit","onPageSizeChange","parentRoute","searchParams","sortParams","totalRecords","history","useHistory","FilterComponent","ComponentRegistryService","getComponent","_useState","useState","selectedKno","setSelectedKno","useEkycAPI","reviewData","getReview","handleReview","kno","push","kNumber","aadhaarData","columns","Header","accessor","Cell","_ref2","_row$original","_row$original2","row","original","applicationNumber","cursor","fontWeight","onClick","_ref3","_row$original3","citizenName","_ref4","_row$original4","status","_ref5","_row$original5","_row$original6","ekycStatus","ekycstatus","toUpperCase","_ref6","_row$original7","_row$original8","tableData","items","Array","isArray","InboxLinks","headerText","moduleCode","defaultSearchParams","onFilterChange","onSearch","flex","padding","Table","getCellProps","cellInfo","SearchConsumer","_props$countData","_props$countData2","_props$countData3","children","_extends","_searchParams","setSearchParams","onChange","prev","onSubmit","e","preventDefault","onClear","cleared","kName","HomeIcon","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","x1","y1","x2","y2","TextInput","target","placeholder","d","todaysAudits","auditChange","pendingCount","i","String","fromCharCode","MobileInbox","_data$items","mobileData","mobileNumber","Link","to","SubmitBar","length","DetailsCard","serviceRequestIdKey","linkPrefix","split","text","index","textAlign","Filter","statusMap","applyLocalFilters","clearAll","onStatusChange","newParams","FilterForm","handleSubmit","fn","onResetFilterForm","id","onMobileExclusiveFilterPopupFormClose","onClose","FilterFormField","Dropdown","option","optionKey","select","selected","ekycMockData","topKpis","totalWaterConnections","totalEkycCompleted","totalPending","totalRejected","agencyEkycCompleted","citizenSelfEkycCompleted","todaysEkyc","successRate","rejectionPercentage","executiveMetrics","totalSurveyors","totalSupervisors","activeJurisdictions","todaysGrowth","selfEkycAdoption","avgApprovalTime","riskZones","escalationsOpen","alerts","title","priority","change","district","heatmapData","intensity","dailyTrend","selfVsAgency","agency","citizen","pendingVsCompleted","rejectionAnalysis","success","vendors","name","assignedConnections","completedEkyc","selfEkyc","inactiveDemand","progress","supervisors","activeSurveyors","jurisdictions","dailyPerformance","day","zones","cluster","location","zroOffice","assemblyConstituency","gpsLocation","distanceFromFarthestPoint","activeDemand","pppZones","districtwiseInactiveTotal","ExecutiveLineChart","_ref$data","formattedData","agencyKyc","selfKyc","totalKyc","ResponsiveContainer","LineChart","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","vertical","XAxis","dataKey","axisLine","tickLine","tick","fontSize","YAxis","Tooltip","contentStyle","border","borderRadius","boxShadow","labelStyle","marginBottom","Legend","verticalAlign","align","iconType","wrapperStyle","paddingBottom","Line","dot","activeDot","ExecutiveBarChart","_ref$categories","categories","_ref$xKey","xKey","minHeight","BarChart","itemStyle","series","Bar","radius","barSize","colors","ExecutivePieChart","_ref$dataKey","_ref$labelKey","labelKey","PieChart","Pie","nameKey","outerRadius","innerRadius","paddingAngle","entry","marginTop","CeoDashboard","_topKpis$todayEkyc","useLocation","query","setQuery","_useState2","statusFilter","setStatusFilter","basePath","pathname","replace","filters","filteredVendors","filter","vendor","keyword","toLowerCase","includes","some","zone","_zone$location","zoneRows","flatMap","sort","a","b","routeToVendor","vendorId","icon","FaUsers","variant","FaCheckCircle","FaClock","FaExclamationTriangle","FaUserTie","FaChartLine","card","_card$value$toLocaleS","_card$value","_card$value$toLocaleS2","toLocaleString","call","FaSearch","join","FaArrowRight","FaMapMarkedAlt","slice","_zone$activeDemand$to","_zone$activeDemand","_zone$pppZones$toLoca","_zone$pppZones","_zone$inactiveDemand$","_zone$inactiveDemand","min","max","alert","todayEkyc","VendorDetails","_vendor$dailyPerforma","_vendor$dailyPerforma2","_useParams","useParams","_useParams$vendorId","find","Number","goBack","FaArrowLeft","performanceData","_item$value$toLocaleS","_item$value","_item$value$toLocaleS2","_row$activeDemand$toL","_row$activeDemand","_row$pppZones$toLocal","_row$pppZones","_row$inactiveDemand$t","_row$inactiveDemand","intensityScore","random","useInboxTableConfig","_formState$tableForm","_formState$tableForm2","_Digit$SessionStorage","_Digit$SessionStorage2","_Digit$SessionStorage3","_formState$searchForm","formState","totalCount","table","dispatch","checkPathName","onSortingByData","_ref$inboxStyles","inboxStyles","_ref$tableStyle","tableStyle","tableForm","userType","SessionStorage","get","tableColumnConfig","disableSortBy","disableSort","autoSort","manualPagination","initSortId","_formState$tableForm3","action","parseInt","_formState$tableForm4","searchForm","message","onLastPage","floor","onFirstPage","SearchFormFieldsComponents","searchFormState","controlSearchForm","searchType","errors","Fragment","Label","CustomTooltip","Controller","control","defaultValue","rules","pattern","render","CardLabelError","Inbox","_formState$searchForm3","_formState$searchForm4","formInitValue","filterForm","sortBy","sortOrder","_useReducer","useReducer","formReducer","queryParams","useEkycApplicationList","keepPreviousData","isListLoading","_Digit$Hooks$ekyc$use2","listData","searchDetails","_formState$searchForm2","isSearchActive","_Digit$Hooks$ekyc$use3","useSearchConnection","details","isSearchLoading","searchData","sourceData","consumerList","filteredData","_item$sla","isSearchItem","connectionDetails","_item$propertyInfo","_item$propertyInfo2","_item$connectionDetai","_item$propertyInfo3","_item$connectionDetai2","_item$connectionDetai3","_item$connectionDetai4","_item$connectionDetai5","applicationNo","propertyInfo","connectionNo","owner","consumerName","statusflag","sla","fullName","firstName","middleName","lastName","Boolean","SearchFormFields","useCallback","registerRef","tableOrderFormDefaultValues","window","Utils","browser","isMobile","onSearchFormSubmit","hasOwnProperty","searchFormDefaultValues","consumerNo","onSearchFormReset","setSearchFormValue","propsForSearchForm","resetSearchFormDefaultValues","FilterFormFields","state","payload","storageKey","set","newLimit","_e$","desc","propsForInboxTable","overflowX","overflowY","isInboxLoading","InboxComposer","MOCK_SURVEYORS","role","MOCK_MRDS","code","Mapping","selectedSurveyor","setSelectedSurveyor","selectedMRD","setSelectedMRD","_useState3","mappings","setMappings","_useState4","editingId","setEditingId","_useState5","editSurveyor","setEditSurveyor","_useState6","editMRD","setEditMRD","_useState7","deleteTarget","setDeleteTarget","_useState8","toast","setToast","handleAddMapping","exists","m","surveyorId","mrdCode","Date","now","surveyorName","mrdName","handleEditStart","s","handleEditSave","duplicate","handleEditCancel","handleDeleteConfirm","handleSaveMappings","isEditing","gap","EditIcon","DeleteIcon","xmlns","CardHeader","CardText","LabelFieldPair","CardLabel","justifyContent","disabled","tableClassName","ActionBar","Modal","headerBarMain","headerBarEnd","actionSaveLabel","actionSaveOnSubmit","actionCancelLabel","actionCancelOnSubmit","Toast","error","warning","isDsc","ConnectionDetailsView","_useRouteMatch","useRouteMatch","path","showModal","setShowModal","selectedOption","setSelectedOption","handleStartVerification","onModalConfirm","parentPath","statusFlag","isActive","meterNumber","connectionType","address","x","y","rx","ry","phoneNumber","email","lastVerified","points","RadioButtons","optionsKey","onSelect","flexDirection","buttonStyle","Create","saved","sessionStorage","getItem","JSON","parse","searchPerformed","setSearchPerformed","showToast","setShowToast","_Digit$Hooks$useSessi","useSessionStorage","formParams","clearParams","onError","_error$response","_error$response$data","_error$response$data$","_error$response$data$2","response","Errors","removeItem","isSearching","handleSearch","params","currentKno","Object","keys","forEach","startsWith","setItem","stringify","closeToast","ActionButton","jumpTo","routeTo","LinkButton","checkForNA","undefined","boolToYesNo","extractReviewData","flowState","rawData","reviewWrapper","applicationReviewInfo","applicationReview","applicationData","newData","oldData","ReviewSection","fields","hideEditButton","overflow","borderBottom","alignItems","CardSubHeader","borderCollapse","tableLayout","textTransform","field","idx","valNew","valOld","isChanged","borderTop","isBool","Review","_newDataRaw$connectio","_newDataRaw$connectio2","_newDataRaw$connectio3","_newDataRaw$address","_newDataRaw$address2","_newDataRaw$address3","_newDataRaw$address4","_newDataRaw$address5","_newDataRaw$address6","_newDataRaw$address7","_newDataRaw$address8","_newDataRaw$address9","_newDataRaw$address0","_newDataRaw$address1","_newDataRaw$address10","_newDataRaw$address11","_newDataRaw$address12","_newDataRaw$address13","_newDataRaw$address14","_newDataRaw$property","_newDataRaw$property2","_editedProperty$conne","_newDataRaw$property3","_editedProperty$conne2","_newDataRaw$property4","_editedProperty$userT","_newDataRaw$property5","_editedProperty$noOfF","_newDataRaw$property6","_newDataRaw$property7","_newDataRaw$meter","_editedMeter$meterSta","_newDataRaw$meter2","_newDataRaw$meter3","_newDataRaw$meter4","_newDataRaw$meter5","_editedMeter$workingS","_newDataRaw$meter6","_editedMeter$lastBill","_newDataRaw$meter7","_newDataRaw$meter8","applicationId","agree","setAgree","isSubmitting","showPreview","setShowPreview","previewUrl","setPreviewUrl","showOptions","setShowOptions","toastData","setToastData","_flowState$edits","edits","activeKno","_edits$aadhaarData","_edits$addressDetails","addressDetails","editedAddress","_edits$propertyDetail","propertyDetails","editedProperty","_edits$meterDetails","meterDetails","editedMeter","workflowMutation","useEkycWorkflow","updateMutation","useEkycUpdate","useEkycSearchReview","fetchType","userRoles","roles","ele","isZRO","isSupervisorOrSurveyorOrVendor","isStatusView","_extractReviewData","apiNewData","apiOldData","prepareConsolidatedData","apiConn","apiAddr","apiProp","apiMeter","connection","addressRaw","connectionCategory","meterNo","mobileNo","knumber","fullAddress","flatHouseNumber","flatNo","buildingTower","building","landmark","pinCode","pincode","ward","locality","assembly","gpsValid","latitude","longitude","whatsappNo","noOfPerson","noOfPersons","doorPhotoFilestoreId","property","pidNumber","typeOfConnection","numberOfFloors","noOfFloor","tenantName","tenantMobile","propertyDocumentFileStoreId","buildingImageFileStoreId","meter","metered","meterStatus","meterMake","meterLocationAddress","meterLatitude","meterLongitude","workingStatus","lastBillRaised","systemMeterId","meterPhotoFileStoreId","newDataRaw","oldDataRaw","connectionData","addressData","whatsappNumber","doorPhotoFileStoreId","propertyData","connectionTypeData","connectionCategoryData","userTypeData","noOfFloorsData","meterData","meterStatusData","meterLocation","workingStatusData","lastBillRaisedData","connectionFields","addressFields","propertyFields","meterFields","handleDeclaration","handleReject","_Digit$UserService$ge","_Digit$UserService$ge2","_Digit$UserService$ge3","RequestInfo","apiId","ver","msgId","authToken","UserService","getUser","access_token","remarks","reviewedBy","userName","_temp","_catch","Promise","resolve","mutateAsync","then","result","err","console","reject","handleApprove","_Digit$UserService$ge4","_Digit$UserService$ge5","_Digit$UserService$ge6","_temp2","setTimeout","_err$response","_err$response$data","handleViewDocument","fileStoreId","documentUrl","handleMenuSelect","baseUrl","StatusTable","maxWidth","Row","actionButton","GenericFileIcon","paddingTop","CheckBox","checked","Menu","position","zIndex","maxHeight","src","alt","nextSibling","open","AadhaarVerificationConfig","formData","uploadFile","setDocumentId","documentId","_formData","_formData$consumerTyp","_formData2","_formData3","_formData3$occupantTy","_formData4","_formData$informantIs","_formData5","consumerType","occupantType","informantIsConsumer","isMandatory","populators","component","validation","required","UploadFile","onUpload","onDelete","_props$value","_props$value2","head","body","AadhaarVerification","config","URLSearchParams","search","urlKno","searchKno","cacheTime","savedData","aadhaarVerification","documentProof","setDocumentProof","isDataLoaded","setIsDataLoaded","canSubmit","setCanSubmit","_savedData$informantI","categoryType","gender","parentSpouseName","mobile","whatsapp","residents","identityType","documentNumber","informantName","informantRelation","idFile","ownerMobile","tenantVerification","designation","department","employeeId","entityName","contactPerson","consent","defaultValues","setDefaultValues","localFormData","setLocalFormData","extractApplicationData","appData","addrDetails","_savedData$informantI2","fName","mName","lName","parts","trim","updatedDefaults","parentSpouse","handleUploadProof","file","files","size","UploadServices","Filestorage","res","_res$data","_res$data$files","_res$data$files$","onFormValueChange","setValue","_data$consumerType","_localFormData$consum","_data$occupantType","_localFormData$occupa","consumerTypeChanged","occupantTypeChanged","informantIsConsumerChanged","knoVal","consumerTypeVal","occupantTypeVal","categoryTypeVal","firstNameVal","mobileVal","residentsVal","consentVal","docId","ownerMobileVal","valid","test","_data$consumerType2","_data$occupantType2","_data$categoryType","_data$gender","_data$identityType","_data$informantIsCons","submitData","relation","landline","entityRelation","idProof","idNumber","updateType","Config","FormComposer","isDisabled","isCollapsible","isDefaultOpen","noCard","submitInForm","ekycConfig","route","texts","header","submitBarLabel","timeLine","currentStep","actions","doorImage","showMapActualLocation","EKYCForm","passedPath","match","setParams","_location$state","rest","goNext","skipStep","isAddMultiple","currentPath","pop","routeObj","nextStep","currentIndex","findIndex","c","redirectWithHistory","base","handleSelect","silent","obj","concat","indexRoute","formStepRoutes","isFormStep","sectionRefs","currentRoute","scrollIntoView","behavior","block","VerticalTimeline","showFinalStep","Switch","Route","Component","el","defaultOpen","Redirect","AssignEkycModal","surveyor","closeModal","refetchDashboard","selectedKnos","setSelectedKnos","isBulkSelection","setIsBulkSelection","setCurrentPage","pageSize","setPageSize","zoneCode","zoneName","mrkey","setFilters","debouncedFilters","setDebouncedFilters","_Digit$Hooks$ws$useWS","ws","useWSConfigMDMS","ZROLocation","zroLocationsData","isZroLoading","mappedZROLocation","_Digit$Hooks$useCommo","useCommonMDMS","egovLocationData","boundaryData","_egovLocationData$ego","tenantBoundary","TenantBoundary","revenueData","_item$hierarchyType","hierarchyType","boundary","_useMemo","assemblies","Map","wards","boundaries","traverse","node","localname","assemblyOptions","from","values","localeCompare","wardOptions","structuredLocalityData","localities","extractLocalities","child","rootNode","fetchedPincodes","pinSet","Set","loc","pins","p","sanitizedPin","toString","add","timer","clearTimeout","isFetching","assignmentMutation","useEkycAssignmentCreate","onSuccess","_response$data","errMsg","isMrKeyAlreadyAssigned","skipped","_response$skipped$","reason","_error$data","getAssignmentPayload","filterMappings","appliedFilter","assignmentType","assignmentValue","handleAssign","_surveyor$owner","_getAssignmentPayload","mutate","uuid","handleSelectAll","pageKnos","allSelected","every","handleFilterChange","Close","pin","val","tableTitle","tableClass","isPaginationRequired","totalPages","downloadSurveyorPDF","rows","vendorName","supervisorName","initData","tenants","tenantInfo","tenant","capitalize","substr","ulbCamel","ulb","currentDate","formattedDate","toLocaleDateString","month","year","formattedTime","toLocaleTimeString","hour","minute","second","hour12","downloadDateTime","isValDefined","asSectionHeader","submittedCount","pdf","generateSurveyorReport","logo","heading","hideApplicationNumber","downloadTime","downloadSupervisorPDF","mappedRows","_row$owner","_row$owner2","submittedAt","originalToLocaleDateString","prototype","progressIndex","_len","arguments","args","_key","apply","customT","SurveyorDetailsDashboard","_Digit$SessionStorage4","_surveyor$owner2","_surveyor$owner3","_surveyor$owner4","_fullName$charAt","_dashboardData$dashbo","_dashboardData$dashbo2","_dashboardData$dashbo3","_dashboardData$dashbo4","_surveyor$owner7","_surveyor$owner8","_surveyor$owner9","_surveyor$additionalD","_dashboardData$dashbo5","_dashboardData$dashbo6","ownerIds","ids","_Digit$Hooks$fsm$useS","fsm","useSurveyorSearch","staleTime","Infinity","surveyorSearchResponse","_surveyorSearchRespon","surveyors","_Digit$Hooks$fsm$useD","useDsoSearch","vendorData","_Digit$Hooks$fsm$useS2","useSupervisorSearch","supervisorSearchResponse","_mappedVendor$dsoDeta","mappedVendor","v","_v$dsoDetails","_v$dsoDetails2","dsoDetails","_mappedSupervisor$own","supervisorId","mappedSupervisor","_s$owner","isDashboardLoading","refetch","knoColumns","showReportMenu","setShowReportMenu","customDate","setCustomDate","showCustomPicker","setShowCustomPicker","reportLoading","setReportLoading","reportMenuRef","handler","contains","document","addEventListener","removeEventListener","getDateRange","start","setHours","setDate","getDate","getDay","handlePresetDownload","range","_finallyRethrows","_surveyor$owner5","EkycService","dashboard","fromDate","getTime","toDate","_response$dashboardIn","_wasThrown","_result","handleCustomDownload","_surveyor$owner6","_response$dashboardIn2","_wasThrown2","_result2","StatCard","charAt","description","emailId","additionalDetails","serviceType","_dashboardData$dashbo7","_dashboardData$dashbo8","_row$original5$owner","SupervisorInboxTableConfig","ceil","AssignEkyc","paginationParms","useEkycAssignmentProgress","isDataSearchLoading","_owner$roles","_owner$roles$map","_item$additionalDetai","_item$auditDetails","_item$auditDetails2","roleCodes","createdTime","auditDetails","lastModifiedTime","cards","totalKnos","totalAssignments","completedKnos","overallProgressPercent","isCardLoading","EmployeeApp","getDynamicBreadcrumbs","crumbs","AppContainer","ModuleHeader","leftContent","ArrowLeft","onLeftClick","back","breadcrumbs","PrivateRoute","LayoutWrapper","layoutClass","businessService","isInbox","exact","SurveyorDetailsCard","PropertyInfoConfig","buildingImage","buildingImageId","setBuildingImage","setBuildingImageId","_formData$propertyTyp","propertyType","isHotel","isHospitalOrNursing","objectFit","PropertyInfo","subPropertyCategory","noOfFloors","floorNo","noOfRooms","noOfBeds","dwellingUnits","propType","subPropCat","matchingType","numberOfRooms","numberOfBeds","numberOfDwellingUnits","handleUpload","reader","FileReader","onloadend","readAsDataURL","_data$propertyType","_localFormData$proper","propertyTypeChanged","propTypeVal","subPropCatVal","noOfFloorsVal","buildingImgId","noOfRoomsVal","noOfBedsVal","_data$propertyType2","_data$subPropertyCate","MeterDetailsConfig","uploadPhoto","meterPhoto","meterPhotoId","setMeterPhoto","setMeterPhotoId","_formData$meterStatus","_formData3$lastBillRe","_formData5$sewerConne","_formData6","lastBillReceived","sewerConnection","isFrozen","monthYearOptions","yesNo","MeterDetails","saType","mrCode","areaCode","mrKey","meterMaker","meterCondition","billMonthYear","accessToMeter","septicTank","mStatus","mCondition","mLoc","billRec","billMonYr","accToMeter","sewerConn","sepTank","matchingStatus","o","matchingCond","matchingLoc","strVal","lastBillReceivedDate","formatted","parsedParts","mon","yr","mrcode","areacode","lastBillNotRaisedReason","_data$meterStatus","_localFormData$meterS","_data$lastBillReceive","_localFormData$lastBi","_data$sewerConnection","_localFormData$sewerC","meterStatusChanged","lastBillReceivedChanged","sewerConnectionChanged","connCatVal","mStatusVal","mLocVal","billRecVal","sewerConnVal","mPhotoId","reasonVal","billMonYrVal","sepTankVal","_data$meterStatus2","_data$meterCondition","_data$meterLocation","_data$lastBillReceive2","_data$billMonthYear","_data$accessToMeter","_data$sewerConnection2","_data$septicTank","Home","citizenInfo","ModuleLinksView","SurveyorStatsCell","SupervisorDetailsCard","_supervisor$owner","_supervisor$owner2","_supervisor$owner3","_supervisor$owner6","_supervisor$owner7","_supervisor$owner8","_supervisor$additiona","isSupervisorSearchLoading","supervisor","_supervisorSearchResp","supervisorIds","surveyorsResponse","isSurveyorsLoading","isProgressLoading","progressData","paginatedSurveyors","end","surveyorColumns","_row$original2$owner","href","textDecoration","totalEkycApplications","_row$original3$owner","ekycCompleted","_row$original4$owner","pendingApplications","overallProgress","_ref7","_row$original6$owner","surveyorsList","all","rowsWithStats","_supervisor$owner4","overallResponse","_supervisor$owner5","_ref8","borderLeft","_ref9","EkycStatus","setFormState","searchQuery","setSearchQuery","errorMsg","setErrorMsg","currentKNumber","targetKNumber","retry","isReviewLoading","connectionSearchData","isConnectionLoading","_data$kNumber","propsForInboxMobileCards","getStatusDetails","naText","connRaw","addrRaw","propRaw","meterRaw","rawStatus","reviewName","connName","reviewPhone","connPhone","reviewType","connType","knoCategory","timelineConfig","activeStepIndex","getStatusText","currentActiveIndex","CitizenApp","statusLabel","EkycModule","stateCode","url","language","StoreData","getCurrentLanguage","_Digit$Services$useSt","Services","useStore","LocalizationService","getLocale","modules","locale","page","EkycLinks","matchPath","i18nKey","CitizenHomeCard","DocumentIcon","componentsToRegister","EKYCModule","EKYCInbox","EKYCDesktopInbox","EKYCMobileInbox","EKYC_INBOX_FILTER","initEkycComponents","entries","setComponent"],"mappings":"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"}