UNPKG

@idto/digilocker-sdk

Version:

Official JavaScript SDK for integrating DigiLocker authentication with IDTO platform. Provides secure Aadhaar verification with real-time event tracking and reference key delivery.

4 lines (3 loc) 36.8 kB
(function(){"use strict";try{if(typeof document<"u"){var i=document.createElement("style");i.appendChild(document.createTextNode("*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif}.idto_digilocker_root{width:100dvw;height:100dvh}.idto_digilocker_app_container{width:100%;height:100%;position:relative;-webkit-user-select:none;user-select:none}.idto_digilocker_loader{width:100%;height:100%;background-color:#f7f7f8;display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0;z-index:1000}.idto_digilocker_loader_spinner{width:40px;height:40px;border:3px solid #e3e3e3;border-top:3px solid #666;border-radius:50%;animation:idto_digilocker_spin 1s linear infinite}@keyframes idto_digilocker_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.idto_digilocker_overview_container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center}.idto_digilocker_overview_container_mobile{gap:40px;padding-top:24px}.idto_digilocker_overview_container_desktop{gap:32px;padding-top:0}.idto_digilocker_header{width:100%;height:56px;min-height:56px;display:flex;align-items:center}.idto_digilocker_header_mobile{background-color:#fff;padding-left:20px}.idto_digilocker_header_desktop{background-color:#0019ff;padding-left:32px}.idto_digilocker_header_logo_container{padding:8px;min-height:40px;border-radius:12px;display:flex;justify-content:center;align-items:center}.idto_digilocker_header_logo_container_mobile{background-color:#f7f7f8}.idto_digilocker_header_logo_container_desktop{background-color:transparent}.idto_digilocker_button{width:342px;height:48px;background-color:#0019ff;border-radius:6px;display:flex;justify-content:center;align-items:center;gap:2px;cursor:pointer;transition:all .2s ease;transform:scale(1);-webkit-user-select:none;user-select:none}.idto_digilocker_button:hover{background-color:#001ae6;transform:scale(1.02)}.idto_digilocker_button:active{transform:scale(.98)}.idto_digilocker_button_text{color:#fff;text-align:center;font-size:16px;font-style:normal;font-weight:500;line-height:150%;letter-spacing:-.16px}.idto_digilocker_mobile_content{width:100%;padding-left:20px;padding-right:20px}.idto_digilocker_mobile_title{color:#131b31;font-size:20px;font-style:normal;font-weight:700;line-height:140%;letter-spacing:-.2px}.idto_digilocker_mobile_description{margin-top:4px;color:#9296a0;font-size:14px;font-style:normal;font-weight:400;line-height:145%;letter-spacing:-.14px}.idto_digilocker_mobile_disclaimer{margin-top:42px;color:#9296a0;font-size:14px;font-style:normal;font-weight:400;line-height:145%;letter-spacing:-.14px}.idto_digilocker_mobile_button{margin-top:32px}.idto_digilocker_desktop_content{width:612px;padding-top:50px;padding-bottom:50px;background-color:#fff;border-radius:8px;border:1px solid #E7E8EA;display:flex;justify-content:center;align-items:center;flex-direction:column}.idto_digilocker_desktop_logo{width:132px;height:36px}.idto_digilocker_desktop_title{margin-top:40px;color:#131b31;text-align:center;font-size:24px;font-style:normal;font-weight:700;line-height:140%;letter-spacing:-.24px}.idto_digilocker_desktop_subtitle{margin-top:4px;color:#616675;text-align:center;font-size:14px;font-style:normal;font-weight:700;line-height:145%;letter-spacing:-.14px}.idto_digilocker_desktop_description{margin-top:50px;color:#9296a0;text-align:center;font-size:14px;font-style:normal;font-weight:400;line-height:145%;letter-spacing:-.14px;max-width:532px}.idto_digilocker_desktop_button{margin-top:42px}.idto_digilocker_desktop_disclaimer{margin-top:50px;width:346px;text-align:center;color:#9296a0;font-size:14px;font-style:normal;font-weight:400;line-height:145%;letter-spacing:-.14px}.idto_digilocker_modal_overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;animation:idto_digilocker_fadeIn .3s ease-out}.idto_digilocker_modal_content{background-color:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden;display:flex;flex-direction:column;animation:idto_digilocker_slideIn .3s ease-out;transform:scale(1);transition:transform .3s ease-out}@keyframes idto_digilocker_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes idto_digilocker_slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.idto_digilocker_bottom_sheet_overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000;animation:idto_digilocker_fadeIn .3s ease-out}.idto_digilocker_bottom_sheet_content{position:absolute;bottom:0;left:0;right:0;width:100%;height:90vh;max-height:90vh;background-color:#fff;box-shadow:0 -20px 25px -5px #0000001a,0 -10px 10px -5px #0000000a;overflow:hidden;display:flex;flex-direction:column;animation:idto_digilocker_slideUp .3s ease-out;transition:transform .3s ease-out}.idto_digilocker_bottom_sheet_drag_handle{width:100%;height:24px;display:flex;justify-content:center;align-items:center;cursor:grab;-webkit-user-select:none;user-select:none}.idto_digilocker_bottom_sheet_drag_indicator{width:40px;height:4px;background-color:#e7e8ea;border-radius:2px}@keyframes idto_digilocker_slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.idto_digilocker_init_container{width:100%;height:100%;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.idto_digilocker_init_header{width:100%;height:72px;min-height:72px;background-color:#fff;border-bottom:1px solid #E7E8EA;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 20px}.idto_digilocker_init_logo_container{border-radius:12px;background:#f7f7f8;padding:8px;display:flex;justify-content:center;align-items:center}.idto_digilocker_init_header_controls{display:flex;gap:16px;align-items:center}.idto_digilocker_init_language_dropdown{position:relative}.idto_digilocker_init_language_trigger{display:flex;align-items:center;gap:4px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .2s}.idto_digilocker_init_language_trigger:hover,.idto_digilocker_init_language_trigger.active{background-color:#f3f4f6}.idto_digilocker_init_language_text{color:var(--Grey-6, #131B31);text-align:right;font-size:14px;font-style:normal;font-weight:400;line-height:145%;letter-spacing:-.14px}.idto_digilocker_init_language_arrow{padding-left:5px;padding-right:5px;margin-top:-2px}.idto_digilocker_init_language_dropdown_menu{position:absolute;top:100%;left:0;right:0;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a;z-index:10;margin-top:4px}.idto_digilocker_init_language_option{padding:8px 12px;cursor:pointer;font-size:14px;color:#1a1a1a;transition:background-color .2s}.idto_digilocker_init_language_option:hover,.idto_digilocker_init_language_option.selected{background-color:#f3f4f6}.idto_digilocker_init_audio_control{display:flex;align-items:center;gap:4px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .2s}.idto_digilocker_init_audio_control:hover{background-color:#f3f4f6}.idto_digilocker_init_audio_text{color:var(--Grey-6, #131B31);text-align:right;font-size:14px;font-style:normal;font-weight:400;line-height:145%;letter-spacing:-.14px}.idto_digilocker_init_content{display:flex;flex-direction:column;flex-grow:1;overflow-y:hidden;justify-content:space-between}.idto_digilocker_init_main_content{display:flex;flex-direction:column;flex-grow:1;overflow-y:hidden}.idto_digilocker_init_info_section{padding:24px;display:flex;gap:16px}.idto_digilocker_init_icon_container{border-radius:12px;background:#f7f7f8;height:48px;min-height:48px;width:48px;min-width:48px;padding:8px;display:flex;justify-content:center;align-items:center}.idto_digilocker_init_text_section{display:flex;flex-direction:column}.idto_digilocker_init_title{color:var(--Grey-6, #131B31);font-size:20px;font-style:normal;font-weight:600;line-height:140%;letter-spacing:-.2px}.idto_digilocker_init_description{color:var(--Grey-4, #9296A0);font-size:14px;font-style:normal;font-weight:400;line-height:145%;letter-spacing:-.14px;margin-top:4px}.idto_digilocker_init_visual_section{padding:16px 20px;display:flex;gap:16px;flex-direction:column;justify-content:center;align-items:center;flex-grow:1}.idto_digilocker_init_image_container{flex-grow:1;width:100%;height:100%;background-image:url(https://idto-sdk-bucket.s3.ap-south-1.amazonaws.com/digilocker_overview.png);background-position:center center;background-repeat:no-repeat;background-size:contain}.idto_digilocker_init_security_badge{display:flex;gap:4px;align-items:center}.idto_digilocker_init_security_text{color:#44bd42;font-size:14px;font-style:normal;font-weight:600;letter-spacing:-.28px;margin-top:-4px}.idto_digilocker_init_footer{display:flex;flex-direction:column}.idto_digilocker_init_button_container{padding:16px}.idto_digilocker_init_button{width:100%;background-color:#131b31}.idto_digilocker_init_branding{display:flex;height:36px;padding:8px 24px;justify-content:center;align-items:center;gap:8px;flex-shrink:0;align-self:stretch;background:linear-gradient(94deg,#f7f7f8 22.38%,#e7e8ea 112.66%)}.idto_digilocker_init_branding_text{font-family:Inter;font-size:12px;font-style:normal;font-weight:500;line-height:140%;letter-spacing:-.12px;background:linear-gradient(90deg,#9296a0 46.63%,#35363a 268.65%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.idto_digilocker_init_branding_logo{max-height:20px}.idto_digilocker_mobile_min_height{min-height:600px}.idto_digilocker_desktop_min_height{min-height:700px}.idto_digilocker_init_error_text{color:#dc2626;font-size:12px;font-style:normal;font-weight:400;line-height:145%;letter-spacing:-.14px;margin-top:4px}.idto_digilocker_success_container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.idto_digilocker_success_content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:24px}.idto_digilocker_success_gif{width:100%;height:auto}.idto_digilocker_countdown_text{color:var(--Grey-5, #616675);text-align:right;font-size:12px;font-style:normal;font-weight:600;line-height:140%;letter-spacing:-.12px}.idto_digilocker_main_container{height:100vh}.idto_digilocker_init_container_full_height{height:100%}.idto_digilocker_modal_small{width:400px;max-width:90vw}.idto_digilocker_modal_medium{width:600px;max-width:90vw}.idto_digilocker_modal_large{width:800px;max-width:90vw}.idto_digilocker_modal_custom{max-width:90vw;max-height:90vh}.idto_digilocker_bottom_sheet_default{height:90vh}.idto_digilocker_bottom_sheet_custom{max-height:90vh}.idto_digilocker_button_primary{background-color:#0019ff}.idto_digilocker_button_secondary{background-color:#131b31}.idto_digilocker_button_success{background-color:#44bd42}.idto_digilocker_button_error{background-color:#dc2626}")),document.head.appendChild(i)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})(); "use strict";var W=Object.defineProperty;var X=(i,t,o)=>t in i?W(i,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[t]=o;var T=(i,t,o)=>X(i,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),h=require("jotai"),l=require("react"),H=({color:i="#E6E8FF",width:t=29,height:o=24,...s})=>e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:o,viewBox:"0 0 29 24",fill:"none",...s,children:[e.jsx("path",{d:"M23.4601 3.7052C23.1808 3.42591 22.9016 3.14663 22.6223 2.86734C21.7844 1.97363 20.8907 1.07991 19.7735 0.521338C18.4888 -0.148949 17.0924 0.0186178 15.696 0.0186178C13.5734 0.0186178 8.26693 0.0186178 5.13892 0.0186178L7.2615 2.86734C11.1157 2.86734 17.1482 2.86734 19.9411 2.86734C21.1141 2.86734 22.1196 3.09077 23.0691 3.7052C23.2367 3.76106 23.4043 3.76106 23.4601 3.7052Z",fill:i}),e.jsx("path",{d:"M25.806 8.28539C25.5268 8.00611 25.2475 7.72682 24.9682 7.44754C24.1303 6.55382 23.2366 5.6601 22.1195 5.10153C20.8347 4.43124 19.4383 4.59882 18.0419 4.59882C16.1986 4.59882 11.7858 4.59882 8.65784 4.59882L10.7804 7.44754C14.5787 7.44754 19.7735 7.44754 22.3429 7.44754C23.5159 7.44754 24.5213 7.67096 25.4709 8.28539C25.5826 8.34125 25.6943 8.34125 25.806 8.28539Z",fill:i}),e.jsx("path",{d:"M28.4314 12.754C28.1521 12.4747 27.8728 12.1955 27.5935 11.9162C26.7557 11.0225 25.862 10.1287 24.7448 9.57016C23.4601 8.89987 22.0636 9.06745 20.6672 9.06745C18.9356 9.06745 15.1373 9.06745 12.0652 9.06745L14.1878 11.9162C17.8743 11.9162 22.5664 11.9162 24.9124 11.9162C26.0854 11.9162 27.0908 12.1396 28.0404 12.754C28.208 12.8099 28.3197 12.8657 28.4314 12.754Z",fill:i}),e.jsx("path",{d:"M4.91541 20.2948C5.19469 20.5741 5.47398 20.8534 5.75327 21.1327C6.59113 22.0264 7.48484 22.9201 8.60199 23.4787C9.88671 24.149 11.2831 23.9814 12.6796 23.9814H23.2366L21.114 21.1327C17.2599 21.1327 11.2273 21.1327 8.43442 21.1327C7.26142 21.1327 6.25598 20.9093 5.30641 20.2948C5.13883 20.239 5.02712 20.239 4.91541 20.2948Z",fill:i}),e.jsx("path",{d:"M2.56946 15.7144C2.84874 15.9937 3.12803 16.273 3.40732 16.5522C4.24518 17.446 5.13889 18.3397 6.25604 18.8982C7.54076 19.5685 8.93719 19.401 10.3336 19.401H19.7177L17.5951 16.5522C13.7968 16.5522 8.60205 16.5522 6.03261 16.5522C4.85961 16.5522 3.85417 16.3288 2.9046 15.7144C2.79288 15.6585 2.68117 15.6585 2.56946 15.7144Z",fill:i}),e.jsx("path",{d:"M0 11.1901C0.279287 11.4694 0.558574 11.7487 0.83786 12.0279C1.67572 12.9217 2.56944 13.8154 3.68659 14.374C4.97131 15.0442 6.36774 14.8767 7.76417 14.8767H16.3662L14.2436 12.0279C10.557 12.0279 5.86502 12.0279 3.51902 12.0279C2.34601 12.0279 1.34057 11.8045 0.391 11.1901C0.223428 11.1342 0.111715 11.1342 0 11.1901Z",fill:i})]}),P=h.atom(""),U=h.atom(!1),B=h.atom(""),L=h.atom(null),V=h.atom({label:"EN(US)",value:"en"});h.atom(!1);const J=h.atom(""),Q=h.atom(""),$=h.atom(!1),ee=({isOpen:i,onClose:t,children:o,height:s,closeOnOverlayClick:r=!0})=>{const a=l.useRef(null),g=l.useRef(null),[m,E]=l.useState(!1),[_,n]=l.useState(0),[p,w]=l.useState(0);l.useEffect(()=>{const f=j=>{j.key==="Escape"&&i&&t()};return i&&(document.addEventListener("keydown",f),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",f),document.body.style.overflow="unset"}},[i,t]);const x=f=>{r&&f.target===g.current&&t()},y=f=>{f.stopPropagation()},A=f=>{const j="touches"in f?f.touches[0].clientY:f.clientY;E(!0),n(j),w(j)},I=f=>{if(!m)return;const j="touches"in f?f.touches[0].clientY:f.clientY;w(j)},C=()=>{if(!m)return;p-_>100&&t(),E(!1),n(0),w(0)};if(!i)return null;const u=m?`translateY(${Math.max(0,p-_)}px)`:"translateY(0)",d=()=>s?"idto_digilocker_bottom_sheet_custom":"idto_digilocker_bottom_sheet_default";return e.jsx("div",{ref:g,className:"idto_digilocker_bottom_sheet_overlay",onClick:x,children:e.jsx("div",{ref:a,className:`idto_digilocker_bottom_sheet_content ${d()}`,style:{height:s||void 0,transform:u},onClick:y,onTouchStart:A,onTouchMove:I,onTouchEnd:C,onMouseDown:A,onMouseMove:I,onMouseUp:C,onMouseLeave:C,children:o})})},te=768,F="https://prod.idto.ai",G={DIGILOCKER_INITIATE_SESSION:"/verify/digilocker/initiate_session",DIGILOCKER_GET_REFERENCE:"/verify/digilocker/get_reference"},ie=()=>{const[i,t]=l.useState(!1),[o,s]=l.useState(null),r=l.useCallback(()=>{s(null)},[]),a=l.useCallback(async(m,E)=>{t(!0),s(null);try{const _=await fetch(`${F}${G.DIGILOCKER_INITIATE_SESSION}`,{method:"POST",headers:{Authorization:`Bearer ${E}`,"Content-Type":"application/json"},body:JSON.stringify(m)}),n=await _.json();if(!_.ok){const p=(n==null?void 0:n.detail)||`HTTP error! status: ${_.status}`;throw new Error(p)}if(n.status!=="success"){const p=(n==null?void 0:n.detail)||"API request failed";throw new Error(p)}return n}catch(_){const n=_ instanceof Error?_.message:"An unknown error occurred";throw s(n),new Error(n)}finally{t(!1)}},[]),g=l.useCallback(async(m,E)=>{t(!0),s(null);try{const _=await fetch(`${F}${G.DIGILOCKER_GET_REFERENCE}`,{method:"POST",headers:{Authorization:`Bearer ${E}`,"Content-Type":"application/json"},body:JSON.stringify(m)}),n=await _.json();if(!_.ok){const p=(n==null?void 0:n.detail)||`HTTP error! status: ${_.status}`;throw new Error(p)}if(n.status!=="success"){const p=(n==null?void 0:n.detail)||"API request failed";throw new Error(p)}return n}catch(_){const n=_ instanceof Error?_.message:"An unknown error occurred";throw s(n),new Error(n)}finally{t(!1)}},[]);return{initiateDigilockerSession:a,getDigilockerReference:g,isLoading:i,error:o,clearError:r}};class oe{constructor(){T(this,"listeners",new Map)}on(t,o){this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(o)}off(t,o){const s=this.listeners.get(t);s&&(s.delete(o),s.size===0&&this.listeners.delete(t))}emit(t,o){const s=this.listeners.get(t);if(s){const r={type:t,timestamp:Date.now(),data:o};s.forEach(a=>{try{a(r)}catch(g){console.error(`Error in event listener for ${t}:`,g)}})}}removeAllListeners(){this.listeners.clear()}getListenerCount(t){var o;return((o=this.listeners.get(t))==null?void 0:o.size)||0}getTotalListenerCount(){let t=0;for(const o of this.listeners.values())t+=o.size;return t}}const k=new oe,D=()=>{const i=l.useRef(new Map),t=(r,a)=>{i.current.set(r,a),k.on(r,a)},o=r=>{const a=i.current.get(r);a&&(k.off(r,a),i.current.delete(r))},s=(r,a)=>{k.emit(r,a)};return l.useEffect(()=>()=>{i.current.forEach((r,a)=>{k.off(a,r)}),i.current.clear()},[]),{on:t,off:o,emit:s}},se=(i,t,o=[])=>{const{on:s,off:r}=D();l.useEffect(()=>(s(i,t),()=>r(i)),[i,t,...o])},re=()=>e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"30",height:"26",viewBox:"0 0 30 26",fill:"none",children:[e.jsx("path",{opacity:"0.4",d:"M29.3346 13.0715C29.3346 15.682 29.3346 17.7374 29.1314 19.3433C28.9235 20.9866 28.4875 22.3104 27.5007 23.3588C26.5059 24.4158 25.2362 24.8907 23.6614 25.1157C22.1385 25.3332 20.1941 25.3332 17.7473 25.3332L17.7473 25.3332L12.2552 25.3332L12.2552 25.3332C9.80838 25.3332 7.86405 25.3332 6.34106 25.1157C4.76633 24.8907 3.49665 24.4158 2.50182 23.3588C1.51505 22.3104 1.07904 20.9866 0.871093 19.3432C0.667888 17.7374 0.667901 15.682 0.667919 13.0714L0.667919 12.9282C0.667902 10.3176 0.667888 8.2623 0.871093 6.65643C1.07904 5.01304 1.51505 3.68931 2.50182 2.64087C3.49665 1.58385 4.76633 1.10897 6.34106 0.884019C7.86407 0.666458 9.80843 0.666478 12.2553 0.666503L17.7473 0.666503L17.7473 0.666503C20.1941 0.666479 22.1384 0.666459 23.6614 0.88402C25.2362 1.10897 26.5059 1.58385 27.5007 2.64087C28.4875 3.68931 28.9235 5.01304 29.1314 6.65643C29.3346 8.2623 29.3346 10.3176 29.3346 12.9282L29.3346 13.0715Z",fill:"#0019FF"}),e.jsx("path",{d:"M13.3346 9.29609C13.3346 10.9325 11.9914 12.2591 10.3346 12.2591C8.67773 12.2591 7.33459 10.9325 7.33459 9.29609C7.33459 7.65969 8.67773 6.33313 10.3346 6.33313C11.9914 6.33313 13.3346 7.65969 13.3346 9.29609Z",fill:"#0019FF"}),e.jsx("path",{d:"M6.71964 14.838C5.77646 15.462 3.3035 16.7362 4.80969 18.3306C5.54546 19.1094 6.36491 19.6665 7.39517 19.6665H13.274C14.3043 19.6665 15.1237 19.1094 15.8595 18.3306C17.3657 16.7362 14.8927 15.462 13.9495 14.838C11.7378 13.3747 8.93138 13.3747 6.71964 14.838Z",fill:"#0019FF"}),e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.0012 9.6665C18.0012 9.11422 18.4489 8.6665 19.0012 8.6665H24.3345C24.8868 8.6665 25.3345 9.11422 25.3345 9.6665C25.3345 10.2188 24.8868 10.6665 24.3345 10.6665H19.0012C18.4489 10.6665 18.0012 10.2188 18.0012 9.6665Z",fill:"#0019FF"}),e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.0012 14.9998C18.0012 14.4476 18.4489 13.9998 19.0012 13.9998H21.6679C22.2202 13.9998 22.6679 14.4476 22.6679 14.9998C22.6679 15.5521 22.2202 15.9998 21.6679 15.9998H19.0012C18.4489 15.9998 18.0012 15.5521 18.0012 14.9998Z",fill:"#0019FF"})]}),ne=()=>e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"21",height:"21",viewBox:"0 0 21 21",fill:"none",children:e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.5 19.7749L1.75 15.1697V2.26038L2.96075 2.66396C5.03783 3.35632 7.31375 3.10648 9.19117 1.98003L10.5235 1.18066L11.4502 1.79853C13.3097 3.03816 15.6251 3.38401 17.7657 2.74185L19.25 2.29654V15.1697L10.5 19.7749Z",fill:"#44BD42"})}),ae=()=>e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",children:e.jsx("path",{d:"M0.999786 1.49992L5.99983 6.49988L10.9998 1.49988",stroke:"#616675",strokeWidth:"1.5",strokeMiterlimit:"16"})}),ce=()=>e.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"idto_digilocker_spinner",children:e.jsxs("circle",{cx:"12",cy:"12",r:"10",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"31.416",strokeDashoffset:"31.416",fill:"none",children:[e.jsx("animate",{attributeName:"stroke-dasharray",dur:"2s",values:"0 31.416;15.708 15.708;0 31.416;0 31.416",repeatCount:"indefinite"}),e.jsx("animate",{attributeName:"stroke-dashoffset",dur:"2s",values:"0;-15.708;-31.416;-31.416",repeatCount:"indefinite"})]})}),le={en:{languageEn:"EN(US)",languageHi:"HI(IN)",mute:"Mute",unmute:"Unmute",closingIn:"Closing in",seconds:"Secs...",secureAndEncrypted:"Secure and encrypted with",verifyAadhaar:"Let's verify your Aadhaar",verifyAadhaarDescription:"You'll be redirected to DigiLocker to verify your Aadhaar securely.",securedByGovt:"Secured by Govt. of India",continue:"Continue",mobileTitle:"Verify Your Aadhaar Securely",mobileDescription:"Link your Aadhaar instantly using DigiLocker – a secure government-approved platform. This helps us verify your identity quickly and keep your account safe.",mobileDisclaimer:"We will never store your Aadhaar number. Verification is done securely via DigiLocker",startAadhaarVerification:"Start Aadhaar Verification",desktopTitle:"Verify Your Aadhaar with DigiLocker",desktopSubtitle:"Secure. Fast. Government-approved.",desktopDescription:"To complete your verification, we'll redirect you to DigiLocker, the official digital document platform from the Government of India. Your Aadhaar will be verified in just a couple of minutes — no physical paperwork required.",desktopDisclaimer:"We do not store your Aadhaar number. Verification happens entirely through DigiLocker.",loading:"Loading...",error:"An error occurred. Please try again.",successGifAlt:"Success Animation",idtoLogoAlt:"IDTO Logo",digilockerLogoAlt:"DigiLocker Logo"},hi:{languageEn:"EN(US)",languageHi:"HI(IN)",mute:"मौन",unmute:"मौन हटाएं",closingIn:"बंद हो रहा है",seconds:"सेकंड में...",secureAndEncrypted:"सुरक्षित और एन्क्रिप्टेड",verifyAadhaar:"आइए आपका आधार सत्यापित करें",verifyAadhaarDescription:"आपको आधार सुरक्षित रूप से सत्यापित करने के लिए डिजीलॉकर पर पुनर्निर्देशित किया जाएगा।",securedByGovt:"भारत सरकार द्वारा सुरक्षित",continue:"जारी रखें",mobileTitle:"अपना आधार सुरक्षित रूप से सत्यापित करें",mobileDescription:"डिजीलॉकर का उपयोग करके तुरंत अपना आधार लिंक करें – एक सुरक्षित सरकार-अनुमोदित प्लेटफॉर्म। यह हमें आपकी पहचान जल्दी सत्यापित करने और आपका खाता सुरक्षित रखने में मदद करता है।",mobileDisclaimer:"हम कभी भी आपका आधार नंबर संग्रहित नहीं करेंगे। सत्यापन डिजीलॉकर के माध्यम से सुरक्षित रूप से किया जाता है",startAadhaarVerification:"आधार सत्यापन शुरू करें",desktopTitle:"डिजीलॉकर के साथ अपना आधार सत्यापित करें",desktopSubtitle:"सुरक्षित। तेज़। सरकार-अनुमोदित।",desktopDescription:"आपका सत्यापन पूरा करने के लिए, हम आपको डिजीलॉकर पर पुनर्निर्देशित करेंगे, भारत सरकार का आधिकारिक डिजिटल दस्तावेज़ प्लेटफॉर्म। आपका आधार कुछ ही मिनटों में सत्यापित हो जाएगा — कोई भौतिक कागजी कार्य आवश्यक नहीं।",desktopDisclaimer:"हम आपका आधार नंबर संग्रहित नहीं करते। सत्यापन पूरी तरह से डिजीलॉकर के माध्यम से होता है।",loading:"लोड हो रहा है...",error:"एक त्रुटि हुई। कृपया पुनः प्रयास करें।",successGifAlt:"सफलता एनीमेशन",idtoLogoAlt:"आईडीटीओ लोगो",digilockerLogoAlt:"डिजीलॉकर लोगो"}},de=(i,t)=>le[i][t],R=()=>{const[i,t]=h.useAtom(V),o=r=>de(i.value,r),s=r=>{const g=[{label:"EN(US)",value:"en"},{label:"HI(IN)",value:"hi"}].find(m=>m.value===r);g&&t(g)};return{language:i.value,t:o,changeLanguage:s,currentLanguageOption:i}},S=()=>{const[i,t]=h.useAtom(V),{t:o}=R(),[s]=h.useAtom(P),[r]=h.useAtom(B),[a,g]=l.useState(!1),m=l.useRef(null),[E,_]=l.useState(!1),[n,p]=l.useState(!1),[w,x]=l.useState(3),{initiateDigilockerSession:y,getDigilockerReference:A,isLoading:I,error:C,clearError:u}=ie(),[d,f]=h.useAtom(J),[,j]=h.useAtom(Q),{emit:b}=D(),[,Y]=h.useAtom($),z=()=>{_(!1),p(!1),x(3),f(""),j(""),u(),Y(!1)},Z=async()=>{if(!(I||E))try{u();const c=await y({user_id:s,url:"https://demo.idto.ai/done"},r);c!=null&&c.url&&(_(!0),window.open(c==null?void 0:c.url,"_blank"),b("SESSION_INITIATED",{user_id:s,redirect_url:c.url}))}catch(c){console.error("Error initiating digilocker session:",c),b("ERROR_OCCURRED",{user_id:s,error:c instanceof Error?c.message:"Unknown error occurred",error_code:"SESSION_INITIATION_FAILED"})}},q=[{label:o("languageEn"),value:"en"},{label:o("languageHi"),value:"hi"}];l.useEffect(()=>{const c=N=>{m.current&&!m.current.contains(N.target)&&g(!1)};return document.addEventListener("mousedown",c),()=>{document.removeEventListener("mousedown",c)}},[]),l.useEffect(()=>{const c=async N=>{if(N.data&&N.data.code&&N.data.codeVerifier){try{const v=await A({user_id:s,code:N.data.code,code_verifier:N.data.codeVerifier},r);v.status==="success"&&(f(v.reference_key),j(v.expires_at),p(!0),b("REFERENCE_RECEIVED",{user_id:s,reference_key:v.reference_key,expires_at:v.expires_at}),b("SESSION_COMPLETED",{user_id:s}))}catch(v){console.error("❌ Error getting reference data:",v),b("ERROR_OCCURRED",{user_id:s,error:v instanceof Error?v.message:"Unknown error occurred",error_code:"REFERENCE_FETCH_FAILED"})}_(!1)}};return window.addEventListener("message",c),()=>{window.removeEventListener("message",c)}},[f,j,A,s,r]),l.useEffect(()=>{let c;if(n){c=setTimeout(()=>{x(2)},1e3);const N=setTimeout(()=>{x(1)},2e3),v=setTimeout(()=>{d&&b("SESSION_EXPIRED",{user_id:s,reference_key:d}),z()},3e3);return()=>{c&&clearTimeout(c),N&&clearTimeout(N),v&&clearTimeout(v)}}},[n]);const K=c=>{t(c),g(!1),b("LANGUAGE_CHANGED",{language:c.label,language_code:c.value})};return e.jsxs("div",{className:"idto_digilocker_init_container idto_digilocker_init_container_full_height",children:[e.jsxs("div",{className:"idto_digilocker_init_header",children:[e.jsx("div",{className:"idto_digilocker_init_logo_container",children:e.jsx(H,{color:"#0019FF"})}),e.jsx("div",{className:"idto_digilocker_init_header_controls",children:e.jsxs("div",{className:"idto_digilocker_init_language_dropdown",ref:m,children:[e.jsxs("div",{className:`idto_digilocker_init_language_trigger ${a?"active":""}`,onClick:()=>g(!a),children:[e.jsx("span",{className:"idto_digilocker_init_language_text",children:i.label}),e.jsx("div",{className:"idto_digilocker_init_language_arrow",children:e.jsx(ae,{})})]}),a&&e.jsx("div",{className:"idto_digilocker_init_language_dropdown_menu",children:q.map(c=>e.jsx("div",{className:`idto_digilocker_init_language_option ${i.value===c.value?"selected":""}`,onClick:()=>K(c),children:c.label},c.value))})]})})]}),n?e.jsxs("div",{className:"idto_digilocker_success_container",children:[e.jsxs("div",{className:"idto_digilocker_success_content",children:[e.jsx("img",{src:"https://idto-sdk-bucket.s3.ap-south-1.amazonaws.com/success_gig.gif",alt:o("successGifAlt"),className:"idto_digilocker_success_gif"}),e.jsxs("p",{className:"idto_digilocker_countdown_text",children:[o("closingIn")," ",w," ",o("seconds")]})]}),e.jsxs("div",{className:"idto_digilocker_init_branding",children:[e.jsx("p",{className:"idto_digilocker_init_branding_text",children:o("secureAndEncrypted")}),e.jsx("img",{src:"https://idto-sdk-bucket.s3.ap-south-1.amazonaws.com/idto_logo.png",className:"idto_digilocker_init_branding_logo",alt:o("idtoLogoAlt")})]})]}):e.jsxs("div",{className:"idto_digilocker_init_content",children:[e.jsxs("div",{className:"idto_digilocker_init_main_content",children:[e.jsxs("div",{className:"idto_digilocker_init_info_section",children:[e.jsx("div",{className:"idto_digilocker_init_icon_container",children:e.jsx(re,{})}),e.jsxs("div",{className:"idto_digilocker_init_text_section",children:[e.jsx("p",{className:"idto_digilocker_init_title",children:o("verifyAadhaar")}),e.jsx("p",{className:"idto_digilocker_init_description",children:o("verifyAadhaarDescription")})]})]}),e.jsxs("div",{className:"idto_digilocker_init_visual_section",children:[e.jsx("div",{className:"idto_digilocker_init_image_container"}),e.jsxs("div",{className:"idto_digilocker_init_security_badge",children:[e.jsx("div",{children:e.jsx(ne,{})}),e.jsx("p",{className:"idto_digilocker_init_security_text",children:o("securedByGovt")})]})]})]}),e.jsxs("div",{className:"idto_digilocker_init_footer",children:[e.jsxs("div",{className:"idto_digilocker_init_button_container",children:[e.jsx(O,{className:"idto_digilocker_init_button",onClick:Z,children:I||E?e.jsx("div",{className:"idto_digilocker_button_loader",children:e.jsx(ce,{})}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"idto_digilocker_button_text",children:o("continue")}),e.jsx(M,{})]})}),C&&e.jsx("p",{className:"idto_digilocker_init_error_text",children:C})]}),e.jsxs("div",{className:"idto_digilocker_init_branding",children:[e.jsx("p",{className:"idto_digilocker_init_branding_text",children:o("secureAndEncrypted")}),e.jsx("img",{src:"https://idto-sdk-bucket.s3.ap-south-1.amazonaws.com/idto_logo.png",className:"idto_digilocker_init_branding_logo",alt:o("idtoLogoAlt")})]})]})]})]})},ue=({isOpen:i,onClose:t,children:o,size:s="medium",width:r,height:a,closeOnOverlayClick:g=!0})=>{const m=l.useRef(null),E=l.useRef(null);l.useEffect(()=>{const x=y=>{y.key==="Escape"&&i&&t()};return i&&(document.addEventListener("keydown",x),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",x),document.body.style.overflow="unset"}},[i,t]);const _=x=>{g&&x.target===E.current&&t()},n=x=>{x.stopPropagation()};if(!i)return null;const p=()=>{if(r)return"idto_digilocker_modal_custom";switch(s){case"small":return"idto_digilocker_modal_small";case"medium":return"idto_digilocker_modal_medium";case"large":return"idto_digilocker_modal_large";default:return"idto_digilocker_modal_medium"}},w={width:r||void 0,height:a||"560px"};return e.jsx("div",{ref:E,className:"idto_digilocker_modal_overlay",onClick:_,children:e.jsx("div",{ref:m,className:`idto_digilocker_modal_content ${p()}`,style:w,onClick:n,children:o})})},M=()=>e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M3 8H13M13 8L9 4M13 8L9 12",stroke:"#FFF",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),O=({children:i,className:t="",onClick:o})=>e.jsx("div",{className:`idto_digilocker_button ${t}`,onClick:o,children:i}),_e=()=>{const i=h.useAtomValue(L),t=`idto_digilocker_header ${i?"idto_digilocker_header_mobile":"idto_digilocker_header_desktop"}`,o=`idto_digilocker_header_logo_container ${i?"idto_digilocker_header_logo_container_mobile":"idto_digilocker_header_logo_container_desktop"}`;return e.jsx("div",{className:t,children:e.jsx("div",{className:o,children:e.jsx(H,{color:i?"#0019FF":"#E6E8FF"})})})},ge=({onOpenInitModal:i})=>{const{t}=R();return e.jsxs("div",{className:"idto_digilocker_mobile_content",children:[e.jsx("p",{className:"idto_digilocker_mobile_title",children:t("mobileTitle")}),e.jsx("p",{className:"idto_digilocker_mobile_description",children:t("mobileDescription")}),e.jsx("p",{className:"idto_digilocker_mobile_disclaimer",children:t("mobileDisclaimer")}),e.jsxs(O,{className:"idto_digilocker_mobile_button",onClick:()=>i(),children:[e.jsx("p",{className:"idto_digilocker_button_text",children:t("startAadhaarVerification")}),e.jsx(M,{})]})]})},he=({onOpenInitModal:i})=>{const{t}=R();return e.jsxs("div",{className:"idto_digilocker_desktop_content",children:[e.jsx("img",{src:"https://idto-sdk-bucket.s3.ap-south-1.amazonaws.com/digilocker_logo.png.png",className:"idto_digilocker_desktop_logo",alt:t("digilockerLogoAlt")}),e.jsx("p",{className:"idto_digilocker_desktop_title",children:t("desktopTitle")}),e.jsx("p",{className:"idto_digilocker_desktop_subtitle",children:t("desktopSubtitle")}),e.jsx("p",{className:"idto_digilocker_desktop_description",children:t("desktopDescription")}),e.jsxs(O,{className:"idto_digilocker_desktop_button",onClick:()=>i(),children:[e.jsx("p",{className:"idto_digilocker_button_text",children:t("startAadhaarVerification")}),e.jsx(M,{})]}),e.jsx("p",{className:"idto_digilocker_desktop_disclaimer",children:t("desktopDisclaimer")})]})};function me(){const i=h.useAtomValue(L),t=h.useAtomValue(U),[o,s]=h.useAtom($),r=()=>{s(!1)},a=()=>{s(!0)},g=`idto_digilocker_overview_container ${i?"idto_digilocker_overview_container_mobile":"idto_digilocker_overview_container_desktop"}`;return e.jsx(e.Fragment,{children:i&&!t&&o?e.jsx(S,{}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:g,children:[e.jsx(_e,{}),i?e.jsx(ge,{onOpenInitModal:a}):e.jsx(he,{onOpenInitModal:a})]}),i?e.jsx(ee,{isOpen:o,onClose:r,children:e.jsx(S,{})}):e.jsx(ue,{width:"400px",isOpen:o,onClose:r,children:e.jsx(S,{})})]})})}const fe=(i=te)=>{const[t,o]=l.useState(null),s=l.useRef(null);return l.useEffect(()=>{const r=s.current;if(!r)return;const a=()=>{o(r.offsetWidth<=i)};a();const g=new ResizeObserver(a);return g.observe(r),()=>g.disconnect()},[i]),{isMobile:t,containerRef:s}},ke=()=>e.jsx("div",{className:"idto_digilocker_loader",children:e.jsx("div",{className:"idto_digilocker_loader_spinner"})});function pe({userId:i,isShowDrawerInMobile:t=!1,token:o,onSessionInitiated:s,onReferenceReceived:r,onSessionCompleted:a,onError:g,onSessionExpired:m,onLanguageChanged:E,onAudioToggled:_}){const{isMobile:n,containerRef:p}=fe(),w=h.useSetAtom(P),x=h.useSetAtom(U),y=h.useSetAtom(B),A=h.useSetAtom(L);if(!i||!o)throw new Error("userId and token are required");l.useEffect(()=>{w(i),x(t),y(o),A(n)},[i,t,o,n,w,x,y,A]),l.useEffect(()=>{const C=[];if(s){const u=d=>{d.data&&d.data.user_id===i&&s(d.data)};k.on("SESSION_INITIATED",u),C.push(()=>k.off("SESSION_INITIATED",u))}if(r){const u=d=>{d.data&&d.data.user_id===i&&r(d.data)};k.on("REFERENCE_RECEIVED",u),C.push(()=>k.off("REFERENCE_RECEIVED",u))}if(a){const u=d=>{d.data&&d.data.user_id===i&&a(d.data)};k.on("SESSION_COMPLETED",u),C.push(()=>k.off("SESSION_COMPLETED",u))}if(g){const u=d=>{d.data&&d.data.user_id===i&&g(d.data)};k.on("ERROR_OCCURRED",u),C.push(()=>k.off("ERROR_OCCURRED",u))}if(m){const u=d=>{d.data&&d.data.user_id===i&&m(d.data)};k.on("SESSION_EXPIRED",u),C.push(()=>k.off("SESSION_EXPIRED",u))}if(E){const u=d=>{E(d.data)};k.on("LANGUAGE_CHANGED",u),C.push(()=>k.off("LANGUAGE_CHANGED",u))}if(_){const u=d=>{_(d.data)};k.on("AUDIO_TOGGLED",u),C.push(()=>k.off("AUDIO_TOGGLED",u))}return()=>{C.forEach(u=>u())}},[s,r,a,g,m,E,_,i]);const I=`idto_digilocker_app_container ${n?"idto_digilocker_mobile_min_height":"idto_digilocker_desktop_min_height"}`;return e.jsxs("div",{ref:p,className:I,children:[n!==null&&e.jsx(me,{}),n==null&&e.jsx(ke,{})]})}exports.DigilockerIdtoSdk=pe;exports.globalEventEmitter=k;exports.useEventEmitter=D;exports.useEventListener=se; //# sourceMappingURL=index.cjs.js.map