deepvue-digilocker-react-sdk
Version:
A SDK powered by Deepvue for DigiLocker authentication flows
1 lines • 80.2 kB
Source Map (JSON)
{"version":3,"sources":["../node_modules/@mui/icons-material/esm/AccountBox.js","../node_modules/@mui/icons-material/esm/Cloud.js","../node_modules/@mui/icons-material/esm/CloudQueue.js","../src/api/index.ts","../src/components/FlowSelector.tsx","../node_modules/@mui/icons-material/esm/CheckCircle.js","../node_modules/@mui/icons-material/esm/Error.js","../src/components/DigiLockerFlow.tsx"],"names":["createSvgIcon","_jsx","axios","jsx","Box","useTheme","useState","useEffect","Fade","jsxs","Paper","Typography","CircularProgress","Fragment","Chip","Button","Stack","Divider","styled","useMediaQuery","error","alpha","Alert"],"mappings":"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","file":"index.cjs","sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 3c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6m7 13H5v-.23c0-.62.28-1.2.76-1.58C7.47 15.82 9.64 15 12 15s4.53.82 6.24 2.19c.48.38.76.97.76 1.58z\"\n}), 'AccountBox');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96\"\n}), 'Cloud');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3s-1.34 3-3 3\"\n}), 'CloudQueue');","import axios from 'axios';\n\nconst client = axios.create({\n baseURL: import.meta.env.VITE_API_URL || 'https://production.deepvue.tech',\n headers: { 'Content-Type': 'application/json' },\n});\n\nexport interface GenerateOtpResponse {\n reference_id: string;\n}\nexport interface VerifyOtpResponse {\n code: number;\n message: string;\n data?: any;\n}\n\n// 1. Generate OTP\nexport async function generateOtp(aadhaarNumber: string, apiKey: string, clientId: string, purpose: string): Promise<GenerateOtpResponse> {\n const res = await client.post<GenerateOtpResponse>(\n '/v2/ekyc/aadhaar/generate-otp',\n null,\n {\n params: {\n aadhaar_number: aadhaarNumber,\n consent: 'Y',\n purpose: purpose,\n },\n headers: { 'x-api-key': apiKey, 'client-id': clientId },\n }\n );\n return res.data;\n}\n\n// 2. Verify OTP\nexport async function verifyOtp(\n referenceId: string,\n otp: string,\n apiKey: string,\n clientId: string,\n generate_pdf: boolean,\n): Promise<VerifyOtpResponse> {\n const res = await client.post(\n '/v2/ekyc/aadhaar/verify-otp',\n null,\n {\n params: {\n reference_id: referenceId,\n otp,\n consent: 'Y',\n purpose: 'For KYC',\n generate_pdf: generate_pdf,\n },\n headers: { 'x-api-key': apiKey, 'client-id': clientId },\n responseType: 'json',\n }\n );\n return res.data;\n}\n\n// 3. Initiate DigiLocker Session\nexport interface DigiLockerSessionResponse {\n transaction_id: string;\n data: {\n authorization_url: string;\n }\n code: string;\n}\nexport interface DigiLockerAccessTokenResponse {\n code: number;\n sub_code: string;\n message: string;\n data?: any;\n}\nexport interface DigiLockerEAadhaarResponse {\n code: number;\n sub_code: string;\n message: string;\n data?: any;\n}\n\nexport async function initiateDigiLockerSession(apiKey: string, clientId: string, redirectUrl: string): Promise<DigiLockerSessionResponse> {\n const res = await client.post<DigiLockerSessionResponse>(\n '/v1/kyc/digilocker/initiate-session',\n { consent: 'Y', purpose: 'KYC', redirect_url: redirectUrl },\n { headers: { 'x-api-key': apiKey, 'client-id': clientId } }\n );\n return res.data;\n}\n\nexport async function getDigiLockerAccessToken(transactionId: string, code: string, apiKey: string, clientId: string): Promise<DigiLockerAccessTokenResponse> {\n const res = await client.post<DigiLockerAccessTokenResponse>(\n '/v1/kyc/digilocker/access-token',\n { consent: 'Y', purpose: 'KYC', initial_deepvue_transaction_id: transactionId, digilocker_code: code },\n { headers: { 'x-api-key': apiKey, 'client-id': clientId } }\n );\n return res.data;\n}\n\nexport async function getEAadhaarData(transactionId: string, apiKey: string, clientId: string): Promise<DigiLockerEAadhaarResponse> {\n const res = await client.post<DigiLockerEAadhaarResponse>(\n '/v1/kyc/digilocker/eaadhaar',\n { consent: 'Y', purpose: 'KYC', initial_deepvue_transaction_id: transactionId },\n { headers: { 'x-api-key': apiKey, 'client-id': clientId } }\n );\n return res.data;\n}\n\n// Session tracking endpoints\nexport interface SessionInitiateResponse {\n session_id: string;\n code: number;\n message: string;\n}\n\nexport interface SessionStatusResponse {\n code: number;\n message: string;\n status: SessionStatus;\n aadhaar_reference_id?: string;\n aadhaar_reference_id_exp?: number;\n data?: any;\n}\n\nexport type SessionStatus =\n | 'session_initiated'\n | 'method_aadhaar_selected'\n | 'method_digilocker_selected'\n | 'aadhaar_otp_send_success'\n | 'aadhaar_otp_send_failure'\n | 'aadhaar_otp_verification_success'\n | 'aadhaar_otp_verification_failure'\n | 'digilocker_success'\n | 'digilocker_failure'\n | 'aadhaar_interrupted'\n | 'digilocker_interrupted';\n\nexport async function initiateSession(apiKey: string, clientId: string): Promise<SessionInitiateResponse> {\n const res = await client.get<SessionInitiateResponse>(\n '/v2/ekyc/aadhaar/sdk/initiate-session',\n { headers: { 'x-api-key': apiKey, 'client-id': clientId } }\n );\n return res.data;\n}\n\nexport async function updateSessionStatus(\n sessionId: string,\n status: SessionStatus,\n apiKey: string,\n clientId: string,\n aadhaar_reference_id?: string\n): Promise<SessionStatusResponse> {\n const params: Record<string, string> = {\n session_id: sessionId,\n status\n };\n\n if (aadhaar_reference_id) {\n params.aadhaar_reference_id = aadhaar_reference_id;\n }\n\n const res = await client.get<SessionStatusResponse>(\n `/v2/ekyc/aadhaar/sdk/update-session`,\n {\n params,\n headers: { 'x-api-key': apiKey, 'client-id': clientId }\n }\n );\n return res.data;\n}\n\nexport async function getSessionStatus(\n sessionId: string,\n apiKey: string,\n clientId: string\n): Promise<SessionStatusResponse> {\n const res = await client.get<SessionStatusResponse>(\n `/v2/ekyc/aadhaar/sdk/session-status`,\n {\n params: { session_id: sessionId },\n headers: { 'x-api-key': apiKey, 'client-id': clientId }\n }\n );\n return res.data;\n}","import React, { useEffect, useState } from \"react\";\nimport {\n Button,\n Typography,\n Box,\n Stack,\n Paper,\n useTheme,\n CircularProgress,\n Fade,\n Chip,\n Divider,\n} from \"@mui/material\";\nimport AccountBoxIcon from \"@mui/icons-material/AccountBox\";\nimport CloudIcon from \"@mui/icons-material/Cloud\";\nimport CloudQueueIcon from \"@mui/icons-material/CloudQueue\";\nimport {\n initiateDigiLockerSession,\n initiateSession,\n updateSessionStatus,\n getSessionStatus,\n} from \"../api\";\nimport type { FlowSelectorProps } from \"../types\";\nimport logoBase64 from \"../assets/Logo.svg?base64\";\n\nconst Logo = () => (\n <Box\n component=\"img\"\n src={logoBase64}\n alt=\"DeepVue Logo\"\n sx={{\n height: 30,\n width: \"auto\",\n filter: \"drop-shadow(0px 2px 4px rgba(0,0,0,0.1))\",\n transition: \"transform 0.2s ease\",\n \"&:hover\": {\n transform: \"scale(1.05)\",\n },\n }}\n />\n);\n\nexport const FlowSelector: React.FC<FlowSelectorProps> = ({\n apiKey,\n clientId,\n onSelectAadhaar,\n onSelectDigiLocker,\n autoDetectCallback = true,\n singleFlow,\n showFlowSelector,\n}): React.ReactElement => {\n const theme = useTheme();\n const sdkCallbackUrl = `${window.location.origin}/callback.html`;\n const [isRedirecting, setIsRedirecting] = useState(false);\n const [sessionId, setSessionId] = useState<string | null>(null);\n const [sessionReady, setSessionReady] = useState(false);\n\n // Auto-select single flow if specified\n // useEffect(() => {\n // if (singleFlow && showFlowSelector === false) {\n // if (singleFlow === \"aadhaar\") {\n // handleAadhaar();\n // } else if (singleFlow === \"digilocker\") {\n // handleDigilocker();\n // }\n // }\n // }, [singleFlow, showFlowSelector, sessionId]);\n\n useEffect(() => {\n const initializeSession = async () => {\n setSessionReady(false);\n try {\n const existingSessionId = localStorage.getItem(\"deepvue_session_id\");\n if (existingSessionId) {\n try {\n const sessionStatus = await getSessionStatus(\n existingSessionId,\n apiKey,\n clientId\n );\n\n // If we already have an active Aadhaar OTP or a completed flow, either reuse or clear\n if (\n sessionStatus.status === \"aadhaar_otp_send_success\" &&\n sessionStatus.aadhaar_reference_id\n ) {\n const nowMs = Date.now();\n const expMs = sessionStatus.aadhaar_reference_id_exp;\n if (expMs && nowMs < expMs) {\n // Still valid OTP → reuse\n setSessionId(existingSessionId);\n setSessionReady(true);\n return;\n } else {\n localStorage.removeItem(\"deepvue_session_id\");\n }\n } else if (\n sessionStatus.status === \"aadhaar_otp_verification_success\" ||\n sessionStatus.status === \"digilocker_success\"\n ) {\n localStorage.removeItem(\"deepvue_session_id\");\n }\n } catch (statusError) {\n console.error(\"Failed to check session status:\", statusError);\n localStorage.removeItem(\"deepvue_session_id\");\n }\n }\n\n // Create a brand-new session if we fell through\n const response = await initiateSession(apiKey, clientId);\n if (response?.session_id) {\n localStorage.setItem(\"deepvue_session_id\", response.session_id);\n setSessionId(response.session_id);\n setSessionReady(true);\n } else {\n console.error(\"No session_id in response:\", response);\n setSessionReady(false);\n }\n } catch (error) {\n console.error(\"Failed to initialize session:\", error);\n if (\n error instanceof Error &&\n error.message.includes(\"already in the required status\")\n ) {\n const existing = localStorage.getItem(\"deepvue_session_id\");\n if (existing) {\n setSessionId(existing);\n setSessionReady(true);\n return;\n }\n }\n localStorage.removeItem(\"deepvue_session_id\");\n setSessionId(null);\n setSessionReady(false);\n }\n };\n\n initializeSession();\n }, [apiKey, clientId]);\n\n useEffect(() => {\n if (!autoDetectCallback) return;\n\n const checkDigiLockerCallback = () => {\n const callbackReceived = sessionStorage.getItem(\n \"digilocker_callback_received\"\n );\n const flowActive = sessionStorage.getItem(\"digilocker_flow_active\");\n\n if (callbackReceived === \"true\" && flowActive === \"true\") {\n if (onSelectDigiLocker) onSelectDigiLocker();\n return;\n }\n\n const urlParams = new URLSearchParams(window.location.search);\n const code = urlParams.get(\"code\");\n const state = urlParams.get(\"state\");\n if (code && state) {\n sessionStorage.setItem(\"digilocker_callback_code\", code);\n sessionStorage.setItem(\"digilocker_callback_state\", state);\n sessionStorage.setItem(\"digilocker_callback_received\", \"true\");\n sessionStorage.setItem(\"digilocker_flow_active\", \"true\");\n sessionStorage.setItem(\"digilocker_api_key\", apiKey);\n sessionStorage.setItem(\"digilocker_client_id\", clientId);\n\n window.history.replaceState(\n {},\n document.title,\n window.location.pathname\n );\n if (onSelectDigiLocker) onSelectDigiLocker();\n return;\n }\n };\n\n checkDigiLockerCallback();\n }, [autoDetectCallback, onSelectDigiLocker, apiKey, clientId]);\n\n const handleDigilocker = async () => {\n if (!sessionReady || !sessionId) {\n alert(\n \"Session initialization failed. Please refresh the page and try again.\"\n );\n return;\n }\n\n try {\n setIsRedirecting(true);\n await updateSessionStatus(\n sessionId,\n \"method_digilocker_selected\",\n apiKey,\n clientId\n );\n\n sessionStorage.setItem(\"digilocker_flow_active\", \"true\");\n sessionStorage.setItem(\"digilocker_api_key\", apiKey);\n sessionStorage.setItem(\"digilocker_client_id\", clientId);\n\n const response = await initiateDigiLockerSession(\n apiKey,\n clientId,\n sdkCallbackUrl\n );\n if (!response.data.authorization_url) {\n throw new Error(\"No authorization URL received from DigiLocker\");\n }\n\n const authUrl = new URL(response.data.authorization_url);\n setTimeout(() => {\n window.location.replace(authUrl.toString());\n }, 3000);\n } catch (error) {\n console.error(\"DigiLocker error:\", error);\n alert(\"Failed to start DigiLocker session. Please try again.\");\n setIsRedirecting(false);\n sessionStorage.removeItem(\"digilocker_flow_active\");\n sessionStorage.removeItem(\"digilocker_api_key\");\n sessionStorage.removeItem(\"digilocker_client_id\");\n }\n };\n\n const handleAadhaar = async () => {\n if (!sessionReady || !sessionId) {\n alert(\n \"Session initialization failed. Please refresh the page and try again.\"\n );\n return;\n }\n\n try {\n // Check if there's an in-flight OTP for this session\n const sessionStatus = await getSessionStatus(sessionId, apiKey, clientId);\n if (\n sessionStatus.status === \"aadhaar_otp_send_success\" &&\n sessionStatus.aadhaar_reference_id\n ) {\n const nowMs = Date.now();\n const expMs = sessionStatus.aadhaar_reference_id_exp;\n if (expMs && nowMs < expMs) {\n onSelectAadhaar && onSelectAadhaar();\n return;\n } else {\n // Expired OTP → clear old session and start fresh\n localStorage.removeItem(\"deepvue_session_id\");\n const newSession = await initiateSession(apiKey, clientId);\n if (newSession?.session_id) {\n localStorage.setItem(\"deepvue_session_id\", newSession.session_id);\n setSessionId(newSession.session_id);\n setSessionReady(true);\n await updateSessionStatus(\n newSession.session_id,\n \"method_aadhaar_selected\",\n apiKey,\n clientId\n );\n } else {\n setSessionReady(false);\n }\n }\n }\n\n // No in-flight OTP → mark \"aadhaar_selected\" and push user into Aadhaar flow\n await updateSessionStatus(\n sessionId,\n \"method_aadhaar_selected\",\n apiKey,\n clientId\n );\n if (onSelectAadhaar) onSelectAadhaar();\n } catch (error) {\n console.error(\"Failed to check/update session status:\", error);\n try {\n const newSession = await initiateSession(apiKey, clientId);\n if (newSession?.session_id) {\n localStorage.setItem(\"deepvue_session_id\", newSession.session_id);\n setSessionId(newSession.session_id);\n setSessionReady(true);\n await updateSessionStatus(\n newSession.session_id,\n \"method_aadhaar_selected\",\n apiKey,\n clientId\n );\n } else {\n setSessionReady(false);\n }\n } catch {\n setSessionReady(false);\n }\n if (onSelectAadhaar) onSelectAadhaar();\n }\n };\n\n if (isRedirecting) {\n return (\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n minHeight: \"100vh\",\n backgroundColor: theme.palette.background.default,\n }}\n >\n <Fade in timeout={500}>\n <Paper\n elevation={4}\n sx={{\n width: \"100%\",\n maxWidth: 450,\n p: theme.spacing(5),\n borderRadius: theme.spacing(2),\n backgroundColor: \"#ffffff\",\n textAlign: \"center\",\n }}\n >\n <CloudQueueIcon\n sx={{\n fontSize: 64,\n color: theme.palette.primary.main,\n mb: 2,\n }}\n />\n <Typography variant=\"h5\" fontWeight=\"bold\" gutterBottom>\n Connecting to DigiLocker\n </Typography>\n <Typography variant=\"body1\" color=\"text.secondary\" sx={{ mb: 4 }}>\n Please wait while we securely connect you to DigiLocker...\n </Typography>\n <CircularProgress\n size={40}\n thickness={4}\n sx={{ color: theme.palette.primary.main }}\n />\n </Paper>\n </Fade>\n </Box>\n );\n }\n\n // If single flow mode is enabled and flow selector should be hidden, return empty fragment\n if (singleFlow && showFlowSelector === false) {\n return <></>;\n }\n\n // If single flow mode is enabled, show only the specified flow\n if (singleFlow && showFlowSelector) {\n return (\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n p: { xs: 1.5, sm: 3 },\n backgroundColor: theme.palette.grey[50],\n }}\n >\n <Paper\n elevation={4}\n sx={{\n width: \"100%\",\n maxWidth: 420,\n p: { xs: theme.spacing(2), sm: theme.spacing(4) },\n borderRadius: theme.spacing(2),\n backgroundColor: \"#ffffff\",\n textAlign: \"center\",\n boxShadow: \"0 8px 24px rgba(0,0,0,0.08)\",\n }}\n >\n <Typography\n variant=\"h6\"\n fontWeight=\"bold\"\n gutterBottom\n sx={{\n color: theme.palette.primary.main,\n mb: 0.5,\n }}\n >\n {singleFlow === \"aadhaar\"\n ? \"Aadhaar eKYC Verification\"\n : \"DigiLocker Verification\"}\n </Typography>\n\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n sx={{\n mb: 3,\n maxWidth: \"420px\",\n mx: \"auto\",\n lineHeight: 1.5,\n }}\n >\n {singleFlow === \"aadhaar\"\n ? \"Verify your identity using your Aadhaar number and OTP\"\n : \"Verify your identity using your Digilocker E-Aadhaar\"}\n </Typography>\n\n <Box\n sx={{\n p: 2,\n borderRadius: theme.spacing(1.5),\n border: `1px solid ${theme.palette.primary.main}`,\n backgroundColor: theme.palette.primary.light + \"08\",\n transition: \"all 0.2s ease\",\n position: \"relative\",\n overflow: \"visible\",\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light + \"12\",\n transform: \"translateY(-2px)\",\n boxShadow: \"0 4px 12px rgba(0,0,0,0.05)\",\n },\n cursor: \"pointer\",\n }}\n >\n {singleFlow === \"digilocker\" && (\n <Chip\n label=\"Recommended\"\n size=\"small\"\n sx={{\n position: \"absolute\",\n top: 2,\n right: 2,\n background: theme.palette.success.light + \"15\",\n color: theme.palette.success.main,\n fontWeight: 500,\n fontSize: \"0.7rem\",\n height: \"22px\",\n boxShadow: \"none\",\n border: `1px solid ${theme.palette.success.light + \"40\"}`,\n backdropFilter: \"blur(4px)\",\n zIndex: 1,\n \"& .MuiChip-label\": {\n px: 1.2,\n py: 0.3,\n },\n \"& .MuiChip-icon\": {\n color: theme.palette.success.light,\n marginLeft: \"4px\",\n marginRight: \"-4px\",\n },\n \"&:hover\": {\n background: theme.palette.success.light + \"25\",\n },\n }}\n />\n )}\n {singleFlow === \"aadhaar\" ? (\n <AccountBoxIcon\n sx={{\n fontSize: 32,\n color: theme.palette.primary.main,\n mb: 1,\n }}\n />\n ) : (\n <CloudIcon\n sx={{\n fontSize: 32,\n color: theme.palette.info.main,\n mb: 1,\n }}\n />\n )}\n <Typography variant=\"subtitle1\" fontWeight=\"600\" gutterBottom>\n {singleFlow === \"aadhaar\" ? \"Aadhaar eKYC\" : \"DigiLocker\"}\n </Typography>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n sx={{\n mb: 1.5,\n fontSize: \"0.875rem\",\n }}\n >\n {singleFlow === \"aadhaar\"\n ? \"Verify your identity using your Aadhaar number and OTP\"\n : \"Verify your identity using your Digilocker E-Aadhaar\"}\n </Typography>\n <Button\n fullWidth\n variant=\"contained\"\n size=\"medium\"\n disabled={!sessionReady}\n sx={{\n textTransform: \"none\",\n fontWeight: 600,\n py: 1,\n borderRadius: theme.spacing(1),\n fontSize: \"0.875rem\",\n \"&:hover\": {\n backgroundColor: theme.palette.primary.dark,\n },\n }}\n onClick={\n singleFlow === \"aadhaar\" ? handleAadhaar : handleDigilocker\n }\n >\n Continue with{\" \"}\n {singleFlow === \"aadhaar\" ? \"Aadhaar\" : \"DigiLocker\"}\n </Button>\n </Box>\n </Paper>\n </Box>\n );\n }\n\n return (\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n p: { xs: 1.5, sm: 3 },\n backgroundColor: theme.palette.grey[50],\n }}\n >\n <Paper\n elevation={4}\n sx={{\n width: \"100%\",\n maxWidth: 420,\n p: { xs: theme.spacing(2), sm: theme.spacing(4) },\n borderRadius: theme.spacing(2),\n backgroundColor: \"#ffffff\",\n textAlign: \"center\",\n boxShadow: \"0 8px 24px rgba(0,0,0,0.08)\",\n }}\n >\n <Typography\n variant=\"h6\"\n fontWeight=\"bold\"\n gutterBottom\n sx={{\n color: theme.palette.primary.main,\n mb: 0.5,\n }}\n >\n Choose Your Verification Method\n </Typography>\n\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n sx={{\n mb: 3,\n maxWidth: \"420px\",\n mx: \"auto\",\n lineHeight: 1.5,\n }}\n >\n Select your preferred secure eKYC method to verify your identity\n </Typography>\n\n <Stack spacing={2}>\n <Box\n sx={{\n p: 2,\n borderRadius: theme.spacing(1.5),\n border: `1px solid ${theme.palette.primary.main}`,\n backgroundColor: theme.palette.primary.light + \"08\",\n transition: \"all 0.2s ease\",\n position: \"relative\",\n overflow: \"visible\",\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light + \"12\",\n transform: \"translateY(-2px)\",\n boxShadow: \"0 4px 12px rgba(0,0,0,0.05)\",\n },\n cursor: \"pointer\",\n }}\n >\n <Chip\n label=\"Recommended\"\n size=\"small\"\n sx={{\n position: \"absolute\",\n top: 2,\n right: 2,\n background: theme.palette.success.light + \"15\",\n color: theme.palette.success.main,\n fontWeight: 500,\n fontSize: \"0.7rem\",\n height: \"22px\",\n boxShadow: \"none\",\n border: `1px solid ${theme.palette.success.light + \"40\"}`,\n backdropFilter: \"blur(4px)\",\n zIndex: 1,\n \"& .MuiChip-label\": {\n px: 1.2,\n py: 0.3,\n },\n \"& .MuiChip-icon\": {\n color: theme.palette.success.light,\n marginLeft: \"4px\",\n marginRight: \"-4px\",\n },\n \"&:hover\": {\n background: theme.palette.success.light + \"25\",\n },\n }}\n />\n <CloudIcon\n sx={{\n fontSize: 32,\n color: theme.palette.info.main,\n mb: 1,\n }}\n />\n <Typography variant=\"subtitle1\" fontWeight=\"600\" gutterBottom>\n DigiLocker\n </Typography>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n sx={{\n mb: 1.5,\n fontSize: \"0.875rem\",\n }}\n >\n Verify your identity using your Digilocker E-Aadhaar\n </Typography>\n <Button\n fullWidth\n variant=\"contained\"\n size=\"medium\"\n disabled={!sessionReady}\n sx={{\n textTransform: \"none\",\n fontWeight: 600,\n py: 1,\n borderRadius: theme.spacing(1),\n fontSize: \"0.875rem\",\n \"&:hover\": {\n backgroundColor: theme.palette.primary.dark,\n },\n }}\n onClick={handleDigilocker}\n >\n Continue with DigiLocker\n </Button>\n </Box>\n\n <Typography\n variant=\"caption\"\n color=\"text.secondary\"\n sx={{\n position: \"relative\",\n display: \"block\",\n my: 1,\n \"&::before, &::after\": {\n content: '\"\"',\n position: \"absolute\",\n top: \"50%\",\n width: \"25%\",\n height: \"1px\",\n backgroundColor: theme.palette.divider,\n },\n \"&::before\": {\n left: 0,\n },\n \"&::after\": {\n right: 0,\n },\n }}\n >\n OR\n </Typography>\n\n <Box\n sx={{\n p: 2,\n borderRadius: theme.spacing(1.5),\n border: `1px solid ${theme.palette.grey[300]}`,\n backgroundColor: theme.palette.grey[50],\n transition: \"all 0.2s ease\",\n \"&:hover\": {\n backgroundColor: theme.palette.grey[100],\n transform: \"translateY(-2px)\",\n boxShadow: \"0 4px 12px rgba(0,0,0,0.05)\",\n },\n cursor: \"pointer\",\n }}\n >\n <AccountBoxIcon\n sx={{\n fontSize: 32,\n color: theme.palette.primary.main,\n mb: 1,\n }}\n />\n <Typography variant=\"subtitle1\" fontWeight=\"600\" gutterBottom>\n Aadhaar eKYC\n </Typography>\n <Typography\n variant=\"body2\"\n color=\"text.secondary\"\n sx={{\n mb: 1.5,\n fontSize: \"0.875rem\",\n }}\n >\n Verify your identity using your Aadhaar number and OTP\n </Typography>\n <Button\n fullWidth\n variant=\"outlined\"\n size=\"medium\"\n disabled={!sessionReady}\n sx={{\n textTransform: \"none\",\n fontWeight: 600,\n py: 1,\n borderRadius: theme.spacing(1),\n fontSize: \"0.875rem\",\n borderColor: theme.palette.info.main,\n color: theme.palette.info.main,\n \"&:hover\": {\n borderColor: theme.palette.info.dark,\n backgroundColor: theme.palette.info.light + \"12\",\n },\n }}\n onClick={handleAadhaar}\n >\n Continue with Aadhaar\n </Button>\n </Box>\n </Stack>\n <Divider sx={{ my: 4, opacity: 0.6 }} />\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: 1.5,\n }}\n >\n <Typography\n variant=\"caption\"\n sx={{\n color: theme.palette.text.secondary,\n fontSize: \"0.75rem\",\n letterSpacing: \"0.5px\",\n fontWeight: 500,\n }}\n >\n Powered By\n </Typography>\n <Logo />\n </Box>\n </Paper>\n </Box>\n );\n};\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z\"\n}), 'CheckCircle');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z\"\n}), 'Error');","import React, { useState, useEffect } from \"react\";\nimport {\n Typography,\n Box,\n Paper,\n useTheme,\n CircularProgress,\n Alert,\n Divider,\n alpha,\n useMediaQuery,\n Fade,\n} from \"@mui/material\";\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\nimport ErrorIcon from \"@mui/icons-material/Error\";\nimport { styled } from \"@mui/material/styles\";\nimport {\n getDigiLockerAccessToken,\n getEAadhaarData,\n updateSessionStatus,\n} from \"../api\";\nimport type { DigiLockerFlowProps, AadhaarData, Address } from \"../types\";\n\nconst ResultRow = styled(Box)(({ theme }) => ({\n display: \"flex\",\n alignItems: \"center\",\n padding: theme.spacing(1.5, 0),\n \"&:last-child\": {\n borderBottom: \"none\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n gap: theme.spacing(1),\n },\n}));\n\nexport const DigiLockerFlow: React.FC<DigiLockerFlowProps> = ({\n apiKey,\n clientId,\n redirectUrl,\n autoProcessCallback = true,\n}): React.ReactElement => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const [isLoading, setIsLoading] = useState(false);\n const [verificationResult, setVerificationResult] = useState<any>(null);\n const [error, setError] = useState<string>(\"\");\n const [redirectCount, setRedirectCount] = useState(5);\n const [processingStatus, setProcessingStatus] = useState<string>(\"\");\n\n // Cleanup function to remove session data when component unmounts or flow completes\n const cleanupSession = () => {\n if (verificationResult || error) {\n localStorage.removeItem(\"deepvue_session_id\");\n sessionStorage.removeItem(\"digilocker_callback_code\");\n sessionStorage.removeItem(\"digilocker_callback_state\");\n sessionStorage.removeItem(\"digilocker_api_key\");\n sessionStorage.removeItem(\"digilocker_client_id\");\n sessionStorage.removeItem(\"digilocker_callback_received\");\n sessionStorage.removeItem(\"digilocker_flow_active\");\n }\n };\n\n useEffect(() => {\n return () => {\n cleanupSession();\n };\n }, [verificationResult, error]);\n\n useEffect(() => {\n if (!autoProcessCallback) return;\n\n const processCallbackData = async () => {\n try {\n // Check for callback data in sessionStorage\n const callbackCode = sessionStorage.getItem(\"digilocker_callback_code\");\n const callbackState = sessionStorage.getItem(\n \"digilocker_callback_state\"\n );\n const storedApiKey = sessionStorage.getItem(\"digilocker_api_key\");\n const storedClientId = sessionStorage.getItem(\"digilocker_client_id\");\n const callbackReceived = sessionStorage.getItem(\n \"digilocker_callback_received\"\n );\n\n if (\n callbackCode &&\n callbackState &&\n storedApiKey &&\n storedClientId &&\n callbackReceived === \"true\"\n ) {\n sessionStorage.removeItem(\"digilocker_callback_received\");\n sessionStorage.removeItem(\"digilocker_flow_active\");\n\n await handleCompleteDigilockerJourney(callbackCode, callbackState);\n }\n } catch (error) {\n console.error(\"Error in auto-processing callback:\", error);\n setError(\"Failed to auto-process DigiLocker callback\");\n cleanupSession();\n }\n };\n\n processCallbackData();\n\n const handleMessage = async (event: MessageEvent) => {\n if (event.origin !== window.location.origin) return;\n\n if (event.data.type === \"DIGILOCKER_CALLBACK\") {\n const { digilockerCode: code, transactionId: txId } = event.data;\n\n if (code && txId) {\n await handleCompleteDigilockerJourney(code, txId);\n }\n }\n };\n\n window.addEventListener(\"message\", handleMessage);\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n cleanupSession();\n };\n }, [autoProcessCallback, apiKey, clientId]);\n\n const handleCompleteDigilockerJourney = async (\n code: string,\n txId: string\n ) => {\n setIsLoading(true);\n setError(\"\");\n setProcessingStatus(\"Getting access token...\");\n setVerificationResult(null);\n\n const sessionId = localStorage.getItem(\"deepvue_session_id\");\n\n try {\n // Step 1: Get access token\n setProcessingStatus(\"Authenticating with DigiLocker...\");\n const tokenResponse = await getDigiLockerAccessToken(\n txId,\n code,\n apiKey,\n clientId\n );\n\n if (\n tokenResponse?.code === 200 &&\n tokenResponse?.sub_code === \"SUCCESS\"\n ) {\n // Step 2: Get eAadhaar data\n setProcessingStatus(\"Fetching your Aadhaar data...\");\n const aadhaarResponse = await getEAadhaarData(txId, apiKey, clientId);\n\n if (\n aadhaarResponse?.code === 200 &&\n aadhaarResponse?.sub_code === \"SUCCESS\"\n ) {\n setProcessingStatus(\"Verification completed successfully!\");\n setVerificationResult(aadhaarResponse);\n\n // Update session status for DigiLocker success\n if (sessionId) {\n try {\n await updateSessionStatus(\n sessionId,\n \"digilocker_success\",\n apiKey,\n clientId\n );\n } catch (updateError) {\n console.error(\"Failed to update session status:\", updateError);\n }\n }\n\n // Start redirect countdown\n const timer = setInterval(() => {\n setRedirectCount((prev) => {\n if (prev <= 1) {\n clearInterval(timer);\n cleanupSession();\n window.location.href = redirectUrl;\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n // Cleanup timer on unmount\n return () => clearInterval(timer);\n } else {\n throw new Error(\n aadhaarResponse?.message || \"Failed to fetch Aadhaar data\"\n );\n }\n } else {\n throw new Error(tokenResponse?.message || \"Failed to get access token\");\n }\n } catch (error: any) {\n console.error(\"DigiLocker flow error:\", error);\n const errorResponse = error?.response?.data || {\n message: error?.message || \"An error occurred during verification\",\n code: error?.response?.status || 500,\n };\n\n // Update session status for DigiLocker failure\n if (sessionId) {\n try {\n await updateSessionStatus(\n sessionId,\n \"digilocker_failure\",\n apiKey,\n clientId\n );\n } catch (updateError) {\n console.error(\"Failed to update session status:\", updateError);\n }\n }\n\n setError(errorResponse.message);\n setProcessingStatus(\"Verification failed\");\n cleanupSession();\n } finally {\n setIsLoading(false);\n setProcessingStatus(\"\");\n }\n };\n\n const transformValue = (val: any) => {\n if (val == null) return \"\";\n if (typeof val === \"boolean\") return val ? \"Yes\" : \"No\";\n return val;\n };\n\n const renderData = (obj: Partial<AadhaarData>): React.ReactNode[] => {\n if (!obj || typeof obj !== \"object\") {\n return [];\n }\n\n type ExtractedData = {\n maskedNumber?: string;\n name?: string;\n dateOfBirth?: string;\n gender?: string;\n address?: Address;\n photo?: string;\n };\n\n // Extract data from nested structure\n const data: ExtractedData = {\n maskedNumber: obj.masked_uid,\n name: obj.proof_of_identity?.name,\n dateOfBirth: obj.proof_of_identity?.dob,\n gender: obj.proof_of_identity?.gender,\n address: obj.proof_of_address,\n photo: obj.photo,\n };\n\n const fieldsToShow: Array<{ key: keyof ExtractedData; label: string }> = [\n { key: \"maskedNumber\", label: \"Aadhaar Number\" },\n { key: \"name\", label: \"Name\" },\n { key: \"dateOfBirth\", label: \"Date Of Birth\" },\n { key: \"gender\", label: \"Gender\" },\n { key: \"address\", label: \"Address\" },\n { key: \"photo\", label: \"Photo\" },\n ];\n\n return fieldsToShow.flatMap(({ key, label }, idx) => {\n const value = data[key];\n\n // Handle photo field\n if (key === \"photo\" && typeof value === \"string\") {\n return [\n <ResultRow key={key}>\n <Typography\n variant=\"subtitle2\"\n sx={{ width: \"180px\", fontWeight: 600 }}\n >\n {label}\n </Typography>\n <Box\n component=\"img\"\n src={`data:image/jpeg;base64,${value}`}\n alt=\"Aadhaar Photo\"\n sx={{ width: 100, height: \"auto\", borderRadius: 1 }}\n />\n </ResultRow>,\n idx < fieldsToShow.length - 1 && <Divider key={`${key}-div`} />,\n ];\n }\n\n // Handle address field\n if (key === \"address\" && value && typeof value === \"object\") {\n const addressParts = [\n value.care_of,\n value.house,\n value.street,\n value.locality,\n value.vtc,\n value.district,\n value.state,\n value.pincode,\n value.country,\n ]\n .filter(Boolean)\n .join(\", \");\n\n return [\n <ResultRow key={key}>\n <Typography\n variant=\"subtitle2\"\n sx={{ width: \"180px\", fontWeight: 600 }}\n >\n {label}\n </Typography>\n <Typography variant=\"body2\">{addressParts}</Typography>\n </ResultRow>,\n idx < fieldsToShow.length - 1 && <Divider key={`${key}-div`} />,\n ];\n }\n\n // Handle other fields\n return [\n <ResultRow key={key}>\n <Typography\n variant=\"subtitle2\"\n sx={{ width: \"180px\", fontWeight: 600 }}\n >\n {label}\n </Typography>\n <Typography variant=\"body2\">{transformValue(value)}</Typography>\n </ResultRow>,\n idx < fieldsToShow.length - 1 && <Divider key={`${key}-div`} />,\n ];\n });\n };\n\n const displayData = verificationResult?.data ?? verificationResult;\n\n useEffect(() => {\n if (displayData && !error) {\n const timer = setInterval(() => {\n setRedirectCount((prev) => {\n if (prev <= 1) {\n clearInterval(timer);\n window.location.href = redirectUrl;\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n return () => clearInterval(timer);\n }\n }, [displayData, redirectUrl, error]);\n\n return (\n <Box sx={{ display: \"flex\", justifyContent: \"center\", p: 4 }}>\n <Paper\n elevation={4}\n sx={{\n width: \"100%\",\n maxWidth: 450,\n p: theme.spacing(4),\n borderRadius: theme.spacing(2),\n backgroundColor: \"#ffffff\",\n }}\n >\n {isLoading && (\n <Box\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n py: 4,\n }}\n >\n <CircularProgress size={40} sx={{ mb: 2 }} />\n <Typography variant=\"body1\" sx={{ mb: 1 }}>\n {processingStatus || \"Processing your DigiLocker verification...\"}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n Please wait while we securely verify and fetch your information.\n </Typography>\n </Box>\n )}\n\n {!isLoading && verificationResult && !error && (\n <Fade in timeout={500}>\n <Box>\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1,\n mb: 3,\n }}\n >\n <Typography\n variant=\"h5\"\n fontWeight={600}\n sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}\n >\n <CheckCircleIcon color=\"success\" />\n Verification Successful\n </Typography>\n </Box>\n\n {displayData && typeof displayData === \"object\" ? (\n <>\n <Box\n sx={{\n maxHeight: isMobile ? \"60vh\" : \"50vh\",\n overflowY: \"auto\",\n pr: 1,\n \"&::-webkit-scrollbar\": {\n width: \"8px\",\n },\n \"&::-webkit-scrollbar-track\": {\n background: alpha(theme.palette.primary.main, 0.1),\n borderRadius: \"4px\",\n },\n \"&::-webkit-scrollbar-thumb\": {\n background: alpha(theme.palette.primary.main, 0.3),\n borderRadius: \"4px\",\n \"&:hover\": {\n background: alpha(theme.palette.primary.main, 0.5),\n },\n },\n }}\n >\n {renderData(displayData as Partial<AadhaarData>)}\n </Box>\n {!error && (\n <Alert severity=\"info\" sx={{ mt: 2 }}>\n Redirecting to {redirectUrl} in {redirectCount} seconds...\n </Alert>\n )}\n </>\n ) : (\n <Alert\n severity=\"error\"\n variant=\"filled\"\n sx={{ borderRadius: 2 }}\n >\n No data returned\n </Alert>\n )}\n </Box>\n </Fade>\n )}\n\n {error && !isLoading && (\n <>\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 1,\n mb: 3,\n }}\n >\n <Typography\n variant=\"h5\"\n fontWeight={600}\n sx={{ display: \"flex\", alignItems: \"center\", gap: 1 }}\n >\n <ErrorIcon sx={{ color: \"error.main\" }} />\n Verification Failed\n </Typography>\n </Box>\n\n <Alert severity=\"error\" variant=\"filled\" sx={{ borderRadius: 2 }}>\n {error}\n </Alert>\n </>\n )}\n </Paper>\n </Box>\n );\n};\n"]}