@tsocial/tvweb-sdk.abb 5.38.5 → 5.39.0

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.
Files changed (41) hide show
  1. package/build/esm/{chunk-4f82fbfc.js → chunk-0b699686.js} +1 -1
  2. package/build/esm/chunk-0fed2317.js +1 -0
  3. package/build/esm/{chunk-bf00f7c2.js → chunk-1111b17d.js} +1 -1
  4. package/build/esm/{chunk-d0e5ef18.js → chunk-1d87d657.js} +1 -1
  5. package/build/esm/chunk-43a27060.js +1 -0
  6. package/build/esm/chunk-56bc523d.js +1 -0
  7. package/build/esm/chunk-59d3e3b1.js +1357 -0
  8. package/build/esm/chunk-64124059.js +1 -0
  9. package/build/esm/{chunk-8c820873.js → chunk-67c92f43.js} +2 -2
  10. package/build/esm/chunk-6f0718f1.js +1 -0
  11. package/build/esm/{chunk-b8d4b6f4.js → chunk-78261800.js} +152 -70
  12. package/build/esm/{chunk-7493d2aa.js → chunk-7ad882a2.js} +2 -2
  13. package/build/esm/chunk-8b8e62dd.js +1 -0
  14. package/build/esm/chunk-8fcd8b8a.js +1 -0
  15. package/build/esm/chunk-a8f6c8fc.js +1 -0
  16. package/build/esm/chunk-a989c084.js +1 -0
  17. package/build/esm/chunk-b28a6288.js +1 -0
  18. package/build/esm/chunk-b6299572.js +1 -0
  19. package/build/esm/{chunk-6274463c.js → chunk-bbe1b8aa.js} +1 -1
  20. package/build/esm/{chunk-b96ccb97.js → chunk-c5b7ee1d.js} +1 -1
  21. package/build/esm/{chunk-42153803.js → chunk-d2a607bb.js} +1 -1
  22. package/build/esm/chunk-e9dc3cb2.js +1 -0
  23. package/build/esm/tvweb-sdk.abb.esm.min.js +1 -1
  24. package/build/tvweb-sdk.abb.cjs.min.js +953 -789
  25. package/build/tvweb-sdk.abb.standalone.js +6321 -5358
  26. package/build/tvweb-sdk.abb.standalone.min.js +953 -789
  27. package/build/types/index.d.ts +77 -12
  28. package/package.json +7 -7
  29. package/build/esm/chunk-0021229e.js +0 -1
  30. package/build/esm/chunk-035634f3.js +0 -1
  31. package/build/esm/chunk-0c1dea67.js +0 -1
  32. package/build/esm/chunk-0c5d3a35.js +0 -1275
  33. package/build/esm/chunk-1e8e7387.js +0 -1
  34. package/build/esm/chunk-28a4352c.js +0 -1
  35. package/build/esm/chunk-48719a79.js +0 -1
  36. package/build/esm/chunk-96281005.js +0 -1
  37. package/build/esm/chunk-b69ecff8.js +0 -1
  38. package/build/esm/chunk-cc591a4d.js +0 -1
  39. package/build/esm/chunk-d2d2bfa9.js +0 -1
  40. package/build/esm/chunk-d3c713c4.js +0 -1
  41. package/build/esm/chunk-df7bc767.js +0 -1
@@ -1,4 +1,4 @@
1
- import{l as e,B as t,d as i,g as o,a as n,b as r,A as s,o as a,c as l,h as d,s as c,j as u,P as p,r as h,n as g,u as f,e as x,f as C,i as m,C as b,S as S,k as w}from"./chunk-0c5d3a35.js";import{A as j,F as $}from"./chunk-b96ccb97.js";import"./chunk-48719a79.js";import{C as y}from"./chunk-d3c713c4.js";import{u as k,a as v,T as _,b as I,P as A,S as E,U as F,R as T,Q as D,C as M,G as R,c as z}from"./chunk-b8d4b6f4.js";import{u as O,a as L,t as B}from"./chunk-0c1dea67.js";import{W as U,C as P,P as V,O as H}from"./chunk-42153803.js";import"./chunk-28a4352c.js";import"./chunk-bf00f7c2.js";import"./chunk-d0e5ef18.js";import"./chunk-cc591a4d.js";import"./chunk-6274463c.js";import"./chunk-d2d2bfa9.js";import"./chunk-96281005.js";import"./chunk-df7bc767.js";import"./chunk-8c820873.js";let{blink:W,slide:Z}=j,N=e`
1
+ import{l as e,B as t,d as i,g as o,a as n,b as r,A as s,o as a,c as l,h as d,s as c,j as u,P as p,r as h,n as g,u as f,e as x,f as C,i as m,C as b,S as S,k as w}from"./chunk-59d3e3b1.js";import{A as j,F as $}from"./chunk-c5b7ee1d.js";import"./chunk-a8f6c8fc.js";import{C as y}from"./chunk-b6299572.js";import{u as k,a as v,T as _,b as I,P as A,S as E,U as F,R as T,Q as D,C as M,G as R,c as z}from"./chunk-78261800.js";import{u as O,a as L,t as B}from"./chunk-a989c084.js";import{W as U,C as P,P as V,O as H}from"./chunk-d2a607bb.js";import"./chunk-6f0718f1.js";import"./chunk-1111b17d.js";import"./chunk-1d87d657.js";import"./chunk-8b8e62dd.js";import"./chunk-bbe1b8aa.js";import"./chunk-8fcd8b8a.js";import"./chunk-e9dc3cb2.js";import"./chunk-43a27060.js";import"./chunk-67c92f43.js";let{blink:W,slide:Z}=j,N=e`
2
2
  z-index: ${t+20};
3
3
  color: #ffffff;
4
4
  `,Q=i.div`
@@ -0,0 +1 @@
1
+ import{n as e,K as r,u as a,r as s,g as n,q as t,s as o,j as i,C as c,b as l,P as u,a as p}from"./chunk-59d3e3b1.js";import{p as d,g as m,S as f,a as g,O as h,C as C,E as y,b as D,B as F,c as j,L as S}from"./chunk-c5b7ee1d.js";import{u as b,C as x}from"./chunk-b6299572.js";import{M as I,O as T,W as E,C as k}from"./chunk-d2a607bb.js";import{D as R}from"./chunk-1111b17d.js";import{a as L}from"./chunk-a989c084.js";import"./chunk-43a27060.js";let v=p.isMobile?{width:{ideal:640}}:null;function P(u){let{apiCheck:p,onLivenessDetectionDone:R,captureFrameSettings:P,onFramesCaptured:A,frontCamera:M,flipVideoHorizontal:O,customDirectionIcon:H,customStepTimeConstraints:V,onProcessing:w,customErrors:U,apiCredentials:K,outputEncryptionSettings:$,cameraScale:_,defaultCameraId:B,passiveModeAuto:N,offsetFaceY:z,styledComponent:G,serviceSettings:Y,onReset:W,isLoading:q}=u,J=e(),{onErrorCallback:Q,onCloseCallback:X}=L(),Z=r.useAsset("bg_camera_mask.png"),ee=r.useAsset("bg_camera_mask_red.png"),er=a("IDCapturing.loadingIcon.src","ic_loading.gif"),[ea,es]=s.useState({}),{yFaceDetectionError:en,yFaceVerificationStepsWrapper:et}=ea,[eo,ei]=s.useState(""),[ec,el]=s.useState(),eu=s.useMemo(()=>({backgroundColor:n("Selfie.backgroundColor")({theme:J})}),[J]),ep=s.useCallback(({lostY:e,height:r,clientHeight:a})=>{let s=e+25,n=s+30;es({yFaceDetectionError:s,yFaceVerificationStepsWrapper:n+r+20});let t=Math.floor(e),o=Math.floor(a-e),i=Math.floor(n);return 0!==z&&(i+z<t||i+z+r>o)?Q({code:`offsetFaceY must be in [-${i-t}, ${o-r-i}]`}):i+=z,{y:i}},[z,Q]),{shouldResetFlowOnOrientationChange:ed,countdownToTakePicture:em,cropArea:ef,curStepIndex:eg,faceDetectionError:eh,resetFlow:eC,handleTriggerPassiveMode:ey,handleVideoPlayed:eD,refVideo:eF,showCountdown:ej,steps:eS,refIsReseting:eb,videoPlayed:ex,warmupDone:eI,showCaptureButton:eT,shouldShowCountdown:eE,showLoading:ek}=b({currentOrientation:ec,apiCheck:p,bgCameraMask:Z,bgCameraMaskRed:ee,surroundStyle:eu,onLivenessDetectionDone:R,onError:Q,cropAreaDimension:ep,customDirectionIcon:H,captureFrameSettings:P,onFramesCaptured:A,setRemainingTime:ei,customStepTimeConstraints:V,onProcessing:w,customErrors:U,apiCredentials:K,outputEncryptionSettings:$,cameraScale:_,passiveModeAuto:N,serviceSettings:Y,onReset:W});s.useEffect(()=>{"string"==typeof eS[0]?.directionIcon&&Promise.all(eS.map(e=>d(e.directionIcon)))},[eS]);let{CloseCameraButton:eR}=G,eL=m(u,J),ev=eb.current?0:eg/eS.length*100,{lang:eP}=t.useSDKSettings(),eA=s.useRef(0),eM=s.useRef({}),eO=s.useRef(o.ErrorDuration.SHORT),eH=s.useMemo(()=>{let{msg:e,duration:r=o.ErrorDuration.SHORT}=eh||{},a=e?.[eP];return Date.now()-eA.current>=eO.current&&(eA.current=Date.now(),eO.current=r,eM.current=a),eM.current},[eh,eg]),eV=s.useCallback(e=>{el(e),ed?eC():e===I.LANDSCAPE?eF.current?.pause():eF.current?.play()},[eF,eC,ed]);return i.jsx(T,{onOrientationChange:eV,children:i.jsxs(c,{frontCamera:M,onVideoPlayed:eD,onClose:X,flipHorizontal:O??M,ref:eF,videoSettings:v,onError:Q,scale:_,defaultCameraId:B,closeButton:eR||null,children:[!eI&&i.jsx(E,{}),ex?i.jsxs(i.Fragment,{children:["string"==typeof eH?i.jsx(f,{top:en-15,className:"face-detection-error",children:eH}):null,ef.current?i.jsxs(k,{x:`${ef.current.x}px`,y:`${ef.current.y}px`,width:`${ef.current.width}px`,height:`${ef.current.height}px`,surroundStyle:ef.current.surroundStyle,children:[i.jsx(g,{}),i.jsx(h,{...eL,progress:ev,showErrorRing:!!eh&&n("Selfie.progressCircle.showErrorRing")({theme:J})}),eE?i.jsx(C,{children:em}):null,eh&&i.jsx(y,{})]}):null,eo&&i.jsx(D,{top:et-30,children:eo}),eT?i.jsx(F,{children:i.jsx(j,{onClick:ey,disabled:ej,children:l(J,"Selfie.captureIcon.src")?i.jsx("img",{src:l(J,"Selfie.captureIcon.src"),alt:""}):i.jsx(x,{fillColor:"rgba(193, 197, 204, 1)"})})}):null]}):null,(ek||q)&&i.jsx(S,{children:i.jsx("img",{src:er,alt:""})})]})})}P.propTypes={apiCheck:u.bool,mode:u.string,onLivenessDetectionDone:u.func,onClose:u.func,onError:u.func,onReset:u.func,captureFrameSettings:u.shape({}),onFramesCaptured:u.func,frontCamera:u.bool,isLoading:u.bool,flipVideoHorizontal:u.bool,customDirectionIcon:u.shape({}),customStepTimeConstraints:u.shape({}),onProcessing:u.func,customErrors:u.shape({}),apiCredentials:u.shape({accessKey:u.string,secretKey:u.string,apiUrl:u.string}),outputEncryptionSettings:u.shape({}),cameraScale:u.number,defaultCameraId:u.string,passiveModeAuto:u.bool,offsetFaceY:u.number,styledComponent:u.shape({CloseCameraButton:u.node}),serviceSettings:u.shape({})},P.defaultProps={apiCheck:!1,mode:null,onLivenessDetectionDone:null,onClose:null,onError:()=>{},onReset:()=>{},captureFrameSettings:{enable:!1,framesIntervalTime:180,framesBatchLength:0},onFramesCaptured:()=>{},frontCamera:!0,isLoading:!1,flipVideoHorizontal:null,customDirectionIcon:{[o.FaceDirection.LEFT]:i.jsx(R,{type:o.FaceDirection.LEFT}),[o.FaceDirection.RIGHT]:i.jsx(R,{type:o.FaceDirection.RIGHT}),[o.FaceDirection.UP]:i.jsx(R,{type:o.FaceDirection.UP}),[o.FaceDirection.FRONTAL]:i.jsx(R,{type:o.FaceDirection.FRONTAL})},customStepTimeConstraints:{[o.FaceDirection.UP]:{delayTime:0},[o.FaceDirection.LEFT]:{delayTime:0},[o.FaceDirection.RIGHT]:{delayTime:0},[o.FaceDirection.FRONTAL]:{delayTime:2e3}},onProcessing:()=>{},customErrors:null,apiCredentials:{accessKey:"",secretKey:"",apiUrl:""},outputEncryptionSettings:null,cameraScale:1,defaultCameraId:void 0,passiveModeAuto:!1,offsetFaceY:0,styledComponent:{CloseCameraButton:null},serviceSettings:{enableUploadFrames:!0,enableUploadImages:!0,enableVerifySanityPortrait:!0,enableVerifySanityIDCard:!0,enableVerifyFaceLiveness:!0,enableDetectIDCardTampering:!0,enableReadIDCardInfo:!0}};export{P as default};
@@ -1,3 +1,3 @@
1
- import{d as e,P as i,s as t,n as c,u as n,g as o,b as r,j as a}from"./chunk-0c5d3a35.js";let s=e.img`
1
+ import{d as e,P as i,s as t,n as c,u as n,g as o,b as r,j as a}from"./chunk-59d3e3b1.js";let s=e.img`
2
2
  width: ${({width:e})=>e};
3
3
  `;function l({type:e}){let i=c(),l=n(`Selfie.Active.directionIcon.${e}`,`${e}_arrow.gif`),F=n(`Selfie.Active.directionIcon.${t.FaceDirection.FRONTAL}`,"frontal_arrow.svg"),d=o(`Selfie.Active.directionIcon.${e}Width`)({theme:i}),f=r(i,`Selfie.Active.directionIcon.${e}`);return null===f?a.jsx(a.Fragment,{}):e===t.FaceDirection.FRONTAL&&F?a.jsx(s,{src:F,width:d,alt:""}):f&&null!==f?a.jsx(s,{src:r(i,`Selfie.Active.directionIcon.${e}`),width:d,alt:""}):a.jsx(s,{src:l,alt:"",width:d})}l.propTypes={type:i.oneOf([t.FaceDirection.LEFT,t.FaceDirection.RIGHT,t.FaceDirection.UP,t.FaceDirection.FRONTAL])},l.defaultProps={type:t.FaceDirection.LEFT};export{l as D};
@@ -1 +1 @@
1
- import{s as e,r as t,m as r,p as a,q as i,t as n,v as l,w as s,x as d,j as o,y as u,P as c}from"./chunk-0c5d3a35.js";import{g as p,d as g,c as f}from"./chunk-b8d4b6f4.js";import{W as m}from"./chunk-0c1dea67.js";import"./chunk-42153803.js";let{IDCardSide:y,Errors:I}=e;async function b({image:e,cardType:t,cardSide:r,apiClient:a,outputEncryptionSettings:i}){let n={label:`id_card.${t}.${r}`};if(i&&i.key){let t=new File([e.encrypted.hex],`${Date.now()}.jpg`,{type:"image/jpeg"});return a.uploadImage({file:t,...n},{"X-TV-Key":i.key})}let l=new File([e.blob],`${Date.now()}.jpg`,{type:"image/jpeg"});return a.uploadImage({file:l,...n})}let S={data:{image_id:null}};async function _({image:e,apiClient:t,rawString:r,results:a,outputEncryptionSettings:i}){if(!e||!e.blob||!r)return Promise.resolve(S);let n={raw:r};a&&a.length>1&&(n=a.reduce((e,t,r)=>(e[0===r?"raw":`raw${r+1}`]=t,e),{}));let l={label:"qr_code",metadata:JSON.stringify(n)};if(i&&i.key){let r=new Blob([e.encrypted.hex]);return t.uploadImage({file:r,...l},{"X-TV-Key":i.key})}return t.uploadImage({file:e.blob,...l})}let C={data:{file_id:null}};async function h({video:e,apiClient:t,outputEncryptionSettings:r}){if(!e||!e.blob)return Promise.resolve(C);let a={label:"video"};if(r&&r.key){let i=new Blob([e.encrypted.hex]);return t.uploadFile({file:i,...a},{"X-TV-Key":r.key})}return t.uploadFile({file:e.blob,...a})}async function v({imageId:e,cardType:t,apiClient:r}){return r.requestVerifyIDCard({card_type:t,image1:{id:e}})}async function D({apiClient:e,cardType:t,frontCardId:r,isCapturingFrontSide:a,backCardId:i,recordedVideos:n=[],qrImageId:l,previousCapturingVideoId:s,previousFullVideoId:d,latestCapturingVideoId:o,latestFullVideoId:u}){let c=n.filter(e=>null!==e.id),p=n.filter(e=>null===e.id&&e.frames.length>0),g=await Promise.all(p.map(t=>e.fileService.request({frames:t.frames}))),f={card_type:t,image:{id:r},image2:a?void 0:{id:i},videos:[...[s,d,o,u].filter(e=>null!=e).map(e=>({id:e})),...c.map(e=>({id:e.id})),...g.map(e=>({id:e.data.file_id}))]};return l&&(f.qr1_images=[{id:l}]),e.detectIDTampering(f)}async function w({cardType:e,apiClient:t,cardImageId:r,qrImageId:a}){let i={card_type:e,image1:{id:r}};return a&&(i.qr1_images=[{id:a}]),t.readIDCard(i)}async function k({image:e,frontCardId:t,qrImageId:r,onError:a,recordedVideos:i,apiClient:n,cardType:l,cardSide:s,qrScannedResult:d,outputEncryptionSettings:o,enabledServices:u,fullVideo:c,capturingVideo:p,previousCapturingVideoId:g,previousFullVideoId:f}){let m=[b({image:e,cardType:l,cardSide:s,apiClient:n,outputEncryptionSettings:o})];m.push(_({image:d?.image,apiClient:n,rawString:d?.result,results:d?.results,outputEncryptionSettings:o})),m.push(h({video:c,apiClient:n,outputEncryptionSettings:o}),h({video:p,apiClient:n,outputEncryptionSettings:o}));let[S,C,k,E]=await Promise.all(m);if(S.errors)return void a({...I.upload_error,details:S.errors});let V=S.data.image_id,j=C?.data?.image_id||r,R={data:null};if(u?.enableVerifySanityIDCard){let e=await v({imageId:V,cardType:l,apiClient:n});if(e.errors)return void a({...I.sanity_check_error,details:e.errors});R.data=e.data}let B={data:null};if(u?.enableReadIDCardInfo){let e=await w({cardType:l,apiClient:n,cardImageId:V,qrImageId:j});if(e.errors)return void a({...I.read_id_card_error,details:e.errors});B.data=e.data}let F=k?.data?.file_id||null,T=E?.data?.file_id||null,q={data:null};if(u?.enableDetectIDCardTampering){let e,r;if(s===y.BACK&&!t)return void a(I.missing_front_id_card);let d=s===y.FRONT;d?e=V:(e=t,r=V);let o=await D({apiClient:n,cardType:l,frontCardId:e,isCapturingFrontSide:d,backCardId:r,recordedVideos:i,qrImageId:j,previousCapturingVideoId:g,previousFullVideoId:f,latestCapturingVideoId:T,latestFullVideoId:F});if(o.errors)return void a({...I.detect_id_tampering_error,details:o.errors});q.data=o.data}return{sanityResult:R.data,tamperingInfo:q.data,cardInfo:B.data,cardImageId:V,qrImageId:j,mp4VideoIds:{full:F,capturing:T}}}let{Errors:E}=e,V=({readIDCardUIOnlyComponent:c,...f})=>{let{onError:y,onStepDone:I,apiCredentials:b,logCredentials:S,outputEncryptionSettings:_,serviceSettings:C,flowId:h,clientSettings:v,...D}=f,[w,V]=t.useState(v),[j,R]=t.useState(!1),{apiClient:B}=r.useApiClient({apiCredentials:b,logCredentials:S}),F=t.useRef(""),T=t.useRef(""),q=t.useRef(null),K=t.useRef(null),U=a.getEnabledServices(C,w),{billingSettings:x,enableBilling:O}=i.useSDKSettings(),P=n.buildBillingInput(f),A=l.getWebSetting(w,"data.settings.sdk_settings.billing_settings.billing_config"),{submitBilling:W}=s({enable:O,onError:y,billingSettings:x??{json:A??{}},billingUrl:l.getWebSetting(w,"data.settings.sdk_settings.billing_settings.url")}),$=t.useCallback(t=>{if(e.ErrorsWithoutBilling.includes(t.code))return void y(t);let r={error:t,sdkStatus:e.BillingStatus.fail};W({service:p(D.steps),input:P,output:r}),y&&y(t)},[W,D.steps,P,y]),G=t.useCallback((t,r)=>{if(r){let r={sdkStatus:e.BillingStatus.success,result:n.buildBillingOutput(t)},a={service:p(D.steps),input:P,output:r};if(Array.isArray(D.steps)&&1===D.steps.length&&D.steps[0].scannerType===g.QR_CODE){let{qrScannedResult:r={}}=t,i=r.result;if(i){let e=i.split("|")[0];a.id_num=d.SHA256(e),a.full_hash=d.SHA256(i)}else a.output={...a.output,sdkStatus:e.BillingStatus.cancel}}W(a)}I&&I(t)},[I,D.steps,P,W]);t.useEffect(()=>{async function e(){try{let e=await B.clientSettings({flow_id:h});V(e)}catch(e){console.error("Error fetching client settings:",e)}finally{R(!0)}}U.enableGetClientSettings&&e()},[B,U.enableGetClientSettings,h]);let N=t.useCallback(async(t,{shouldBilling:r})=>{let{cardType:a,cardSide:i,recordedVideos:n,qrScannedResult:l,image:s,fullVideo:d,capturingVideo:o}=t;try{if(!U.enableUploadImages||!s.blob)return void G(t,r);let u=null;(u=await k({image:s,cardSide:i,frontCardId:F.current,qrImageId:T.current,onError:$,apiClient:B,cardType:a,recordedVideos:n,qrScannedResult:l,outputEncryptionSettings:_,enabledServices:U,fullVideo:d,capturingVideo:o,previousCapturingVideoId:K.current,previousFullVideoId:q.current}))&&(i===e.IDCardSide.FRONT&&(F.current=u.cardImageId),K.current=u?.mp4VideoIds?.capturing,q.current=u?.mp4VideoIds?.full,T.current=u.qrImageId,G({...t,apiResult:u},r))}catch(e){$({...E.api_call_error,details:e})}},[B,U,$,G,_]);return U.enableGetClientSettings&&!j?null:o.jsx(u.LicenseProvider,{clientSettings:w,onError:y,children:o.jsx(m,{isWrappedBy:"id_with_api_call",children:o.jsx(c,{logCredentials:S,onError:y,onStepDone:N,outputEncryptionSettings:_,...D,clientSettings:w})})})};V.propTypes={onError:c.func,onStepDone:c.func,apiCredentials:c.shape({accessKey:c.string,secretKey:c.string,apiUrl:c.string}),logCredentials:c.shape({}),outputEncryptionSettings:c.shape({}),readIDCardUIOnlyComponent:c.func,serviceSettings:c.shape({}),flowId:c.string,clientSettings:c.shape({})},V.defaultProps={onError:()=>{},onStepDone:()=>{},apiCredentials:{accessKey:"",secretKey:"",apiUrl:""},logCredentials:{enable:!1},outputEncryptionSettings:{key:""},readIDCardUIOnlyComponent:f,serviceSettings:{enableUploadFrames:!0,enableUploadImages:!0,enableVerifySanityPortrait:!0,enableVerifySanityIDCard:!0,enableVerifyFaceLiveness:!0,enableDetectIDCardTampering:!0,enableReadIDCardInfo:!0},flowId:"",clientSettings:null};export{V as default};
1
+ import{s as e,r as t,m as r,p as a,q as i,t as n,v as l,w as s,x as d,j as o,y as u,P as c}from"./chunk-59d3e3b1.js";import{g as g,d as p,c as f}from"./chunk-78261800.js";import{W as m}from"./chunk-a989c084.js";import"./chunk-d2a607bb.js";let{IDCardSide:y,Errors:I}=e;async function b({image:e,cardType:t,cardSide:r,apiClient:a,outputEncryptionSettings:i}){let n={label:`id_card.${t}.${r}`};if(i&&i.key){let t=new File([e.encrypted.hex],`${Date.now()}.jpg`,{type:"image/jpeg"});return a.uploadImage({file:t,...n},{"X-TV-Key":i.key})}let l=new File([e.blob],`${Date.now()}.jpg`,{type:"image/jpeg"});return a.uploadImage({file:l,...n})}let S={data:{image_id:null}};async function _({image:e,apiClient:t,rawString:r,results:a,outputEncryptionSettings:i}){if(!e||!e.blob||!r)return Promise.resolve(S);let n={raw:r};a&&a.length>1&&(n=a.reduce((e,t,r)=>(e[0===r?"raw":`raw${r+1}`]=t,e),{}));let l={label:"qr_code",metadata:JSON.stringify(n)};if(i&&i.key){let r=new Blob([e.encrypted.hex]);return t.uploadImage({file:r,...l},{"X-TV-Key":i.key})}return t.uploadImage({file:e.blob,...l})}let C={data:{file_id:null}};async function h({video:e,apiClient:t,outputEncryptionSettings:r}){if(!e||!e.blob)return Promise.resolve(C);let a={label:"video"};if(r&&r.key){let i=new Blob([e.encrypted.hex]);return t.uploadFile({file:i,...a},{"X-TV-Key":r.key})}return t.uploadFile({file:e.blob,...a})}async function v({imageId:e,cardType:t,apiClient:r}){return r.requestVerifyIDCard({card_type:t,image1:{id:e}})}async function D({apiClient:e,cardType:t,frontCardId:r,isCapturingFrontSide:a,backCardId:i,recordedVideos:n=[],qrImageId:l,previousCapturingVideoId:s,previousFullVideoId:d,latestCapturingVideoId:o,latestFullVideoId:u}){let c=n.filter(e=>null!==e.id),g=n.filter(e=>null===e.id&&e.frames.length>0),p=await Promise.all(g.map(t=>e.fileService.request({frames:t.frames}))),f={card_type:t,image:{id:r},image2:a?void 0:{id:i},videos:[...[s,d,o,u].filter(e=>null!=e).map(e=>({id:e})),...c.map(e=>({id:e.id})),...p.map(e=>({id:e.data.file_id}))]};return l&&(f.qr1_images=[{id:l}]),e.detectIDTampering(f)}async function w({cardType:e,apiClient:t,cardImageId:r,qrImageId:a}){let i={card_type:e,image1:{id:r}};return a&&(i.qr1_images=[{id:a}]),t.readIDCard(i)}async function k({image:e,frontCardId:t,qrImageId:r,onError:a,recordedVideos:i,apiClient:n,cardType:l,cardSide:s,qrScannedResult:d,outputEncryptionSettings:o,enabledServices:u,fullVideo:c,capturingVideo:g,previousCapturingVideoId:p,previousFullVideoId:f}){let m=[b({image:e,cardType:l,cardSide:s,apiClient:n,outputEncryptionSettings:o})];m.push(_({image:d?.image,apiClient:n,rawString:d?.result,results:d?.results,outputEncryptionSettings:o})),m.push(h({video:c,apiClient:n,outputEncryptionSettings:o}),h({video:g,apiClient:n,outputEncryptionSettings:o}));let[S,C,k,E]=await Promise.all(m);if(S.errors)return void a({...I.upload_error,details:S.errors});let V=S.data.image_id,j=C?.data?.image_id||r,R={data:null};if(u?.enableVerifySanityIDCard){let e=await v({imageId:V,cardType:l,apiClient:n});if(e.errors)return void a({...I.sanity_check_error,details:e.errors});R.data=e.data}let q={data:null};if(u?.enableReadIDCardInfo){let e=await w({cardType:l,apiClient:n,cardImageId:V,qrImageId:j});if(e.errors)return void a({...I.read_id_card_error,details:e.errors});q.data=e.data}let x=k?.data?.file_id||null,B=E?.data?.file_id||null,F={data:null};if(u?.enableDetectIDCardTampering){let e,r;if(s===y.BACK&&!t)return void a(I.missing_front_id_card);let d=s===y.FRONT;d?e=V:(e=t,r=V);let o=await D({apiClient:n,cardType:l,frontCardId:e,isCapturingFrontSide:d,backCardId:r,recordedVideos:i,qrImageId:j,previousCapturingVideoId:p,previousFullVideoId:f,latestCapturingVideoId:B,latestFullVideoId:x});if(o.errors)return void a({...I.detect_id_tampering_error,details:o.errors});F.data=o.data}return{sanityResult:R.data,tamperingInfo:F.data,cardInfo:q.data,cardImageId:V,qrImageId:j,mp4VideoIds:{full:x,capturing:B}}}let{Errors:E}=e,V=({readIDCardUIOnlyComponent:c,...f})=>{let{onError:y,onStepDone:I,apiCredentials:b,logCredentials:S,outputEncryptionSettings:_,serviceSettings:C,flowId:h,clientSettings:v,...D}=f,[w,V]=t.useState(v),[j,R]=t.useState(!1),{apiClient:q}=r.useApiClient({apiCredentials:b,logCredentials:S}),x=t.useRef(""),B=t.useRef(""),F=t.useRef(null),T=t.useRef(null),K=a.getEnabledServices(C,w),{billingSettings:U,enableBilling:O}=i.useSDKSettings(),P=n.buildBillingInput(f),A=l.getWebSetting(w,"data.settings.sdk_settings.billing_settings.billing_config"),{submitBilling:W}=s({enable:O,onError:y,billingSettings:U??{json:A??{}},billingUrl:l.getWebSetting(w,"data.settings.sdk_settings.billing_settings.url")}),$=t.useCallback(t=>{if(e.ErrorsWithoutBilling.includes(t.code))return void y(t);let r={error:t,sdkStatus:e.BillingStatus.fail};W({service:g(D.steps),input:P,output:r}),y&&y(t)},[W,D.steps,P,y]),G=t.useCallback((t,r)=>{if(r){let r={sdkStatus:e.BillingStatus.success,result:n.buildBillingOutput(t)},a={service:g(D.steps),input:P,output:r};if(Array.isArray(D.steps)&&1===D.steps.length&&D.steps[0].scannerType===p.QR_CODE){let{qrScannedResult:r={}}=t,i=r.result;if(i){let e=i.split("|")[0];a.id_num=d.SHA256(e),a.full_hash=d.SHA256(i)}else a.output={...a.output,sdkStatus:e.BillingStatus.cancel}}W(a)}I&&I(t)},[I,D.steps,P,W]);t.useEffect(()=>{async function e(){try{let e=await q.clientSettings({flow_id:h});V(e)}catch(e){console.error("Error fetching client settings:",e)}finally{R(!0)}}K.enableGetClientSettings&&e()},[q,K.enableGetClientSettings,h]);let N=t.useCallback(async(t,{shouldBilling:r})=>{let{cardType:a,cardSide:i,recordedVideos:n,qrScannedResult:l,image:s,fullVideo:d,capturingVideo:o}=t;try{if(!K.enableUploadImages||!s.blob)return void G(t,r);let u=null;(u=await k({image:s,cardSide:i,frontCardId:x.current,qrImageId:B.current,onError:$,apiClient:q,cardType:a,recordedVideos:n,qrScannedResult:l,outputEncryptionSettings:_,enabledServices:K,fullVideo:d,capturingVideo:o,previousCapturingVideoId:T.current,previousFullVideoId:F.current}))&&(i===e.IDCardSide.FRONT&&(x.current=u.cardImageId),T.current=u?.mp4VideoIds?.capturing,F.current=u?.mp4VideoIds?.full,B.current=u.qrImageId,G({...t,apiResult:u},r))}catch(e){$({...E.api_call_error,details:e})}},[q,K,$,G,_]);return K.enableGetClientSettings&&!j?null:o.jsx(u.LicenseProvider,{clientSettings:w,onError:y,children:o.jsx(m,{isWrappedBy:"id_with_api_call",children:o.jsx(c,{logCredentials:S,onError:y,onStepDone:N,outputEncryptionSettings:_,...D,clientSettings:w})})})};V.propTypes={onError:c.func,onStepDone:c.func,apiCredentials:c.shape({accessKey:c.string,secretKey:c.string,apiUrl:c.string,xRequestId:c.string,xRequestId2:c.string}),logCredentials:c.shape({}),outputEncryptionSettings:c.shape({}),readIDCardUIOnlyComponent:c.func,serviceSettings:c.shape({}),flowId:c.string,clientSettings:c.shape({})},V.defaultProps={onError:()=>{},onStepDone:()=>{},apiCredentials:{accessKey:"",secretKey:"",apiUrl:""},logCredentials:{enable:!1},outputEncryptionSettings:{key:""},readIDCardUIOnlyComponent:f,serviceSettings:{enableUploadFrames:!0,enableUploadImages:!0,enableVerifySanityPortrait:!0,enableVerifySanityIDCard:!0,enableVerifyFaceLiveness:!0,enableDetectIDCardTampering:!0,enableReadIDCardInfo:!0},flowId:"",clientSettings:null};export{V as default};
@@ -0,0 +1 @@
1
+ import{ak as n,aV as t,al as i,a3 as r}from"./chunk-59d3e3b1.js";function e(){if(f)return u;f=1;var r=i(),e=function(){if(o)return a;o=1;var t=n();return a=function(){return t.Date.now()}}(),c=t(),v=Math.max,l=Math.min;return u=function(n,t,i){var a,o,u,f,d,m,s=0,p=!1,g=!1,h=!0;if("function"!=typeof n)throw TypeError("Expected a function");function T(t){var i=a,r=o;return a=o=void 0,s=t,f=n.apply(r,i)}t=c(t)||0,r(i)&&(p=!!i.leading,u=(g="maxWait"in i)?v(c(i.maxWait)||0,t):u,h="trailing"in i?!!i.trailing:h);function x(n){var i=n-m,r=n-s;return void 0===m||i>=t||i<0||g&&r>=u}function y(){var n,i,r,a,o=e();if(x(o))return E(o);d=setTimeout(y,(i=(n=o)-m,r=n-s,a=t-i,g?l(a,u-r):a))}function E(n){return(d=void 0,h&&a)?T(n):(a=o=void 0,f)}function w(){var n,i=e(),r=x(i);if(a=arguments,o=this,m=i,r){if(void 0===d){return s=n=m,d=setTimeout(y,t),p?T(n):f}if(g)return clearTimeout(d),d=setTimeout(y,t),T(m)}return void 0===d&&(d=setTimeout(y,t)),f}return w.cancel=function(){void 0!==d&&clearTimeout(d),s=0,a=m=o=d=void 0},w.flush=function(){return void 0===d?f:E(e())},w}}var a,o,u,f,c,v,l=r(function(){if(v)return c;v=1;var n=e(),t=i();return c=function(i,r,e){var a=!0,o=!0;if("function"!=typeof i)throw TypeError("Expected a function");return t(e)&&(a="leading"in e?!!e.leading:a,o="trailing"in e?!!e.trailing:o),n(i,r,{leading:a,maxWait:r,trailing:o})}}());export{e as r,l as t};
@@ -0,0 +1 @@
1
+ import{n as e,K as r,u as a,r as s,g as n,q as t,s as o,j as i,C as c,aC as l,b as u,P as p,a as d}from"./chunk-59d3e3b1.js";import{p as m,g as f,S as g,a as h,O as C,C as y,E as D,b as j,B as F,c as x,L as S}from"./chunk-c5b7ee1d.js";import{u as b,C as I}from"./chunk-b6299572.js";import{M as T,O as E,W as k,C as R}from"./chunk-d2a607bb.js";import{D as L}from"./chunk-1111b17d.js";import{a as v}from"./chunk-a989c084.js";import"./chunk-43a27060.js";let P=d.isMobile?{width:{ideal:640}}:null;function A(p){let{apiCheck:d,onLivenessDetectionDone:L,captureFrameSettings:A,onFramesCaptured:M,frontCamera:H,flipVideoHorizontal:O,customDirectionIcon:w,customStepTimeConstraints:U,onProcessing:V,customErrors:K,apiCredentials:$,outputEncryptionSettings:_,cameraScale:B,defaultCameraId:N,passiveModeAuto:z,offsetFaceY:G,styledComponent:Y,serviceSettings:W,onReset:q,isLoading:J}=p,Q=e(),{onErrorCallback:X,onCloseCallback:Z}=v(),ee=r.useAsset("bg_camera_mask.png"),er=r.useAsset("bg_camera_mask_red.png"),ea=a("IDCapturing.loadingIcon.src","ic_loading.gif"),[es,en]=s.useState({}),{yFaceDetectionError:et,yFaceVerificationStepsWrapper:eo}=es,[ei,ec]=s.useState(""),[el,eu]=s.useState(),ep=s.useMemo(()=>({backgroundColor:n("Selfie.backgroundColor")({theme:Q})}),[Q]),ed=s.useCallback(({lostY:e,height:r,clientHeight:a})=>{let s=e+25,n=s+30;en({yFaceDetectionError:s,yFaceVerificationStepsWrapper:n+r+20});let t=Math.floor(e),o=Math.floor(a-e),i=Math.floor(n);return 0!==G&&(i+G<t||i+G+r>o)?X({code:`offsetFaceY must be in [-${i-t}, ${o-r-i}]`}):i+=G,{y:i}},[G,X]),{shouldResetFlowOnOrientationChange:em,countdownToTakePicture:ef,cropArea:eg,curStepIndex:eh,faceDetectionError:eC,resetFlow:ey,handleTriggerPassiveMode:eD,handleVideoPlayed:ej,refVideo:eF,showCountdown:ex,steps:eS,refIsReseting:eb,videoPlayed:eI,warmupDone:eT,showCaptureButton:eE,shouldShowCountdown:ek,showLoading:eR}=b({currentOrientation:el,apiCheck:d,bgCameraMask:ee,bgCameraMaskRed:er,surroundStyle:ep,onLivenessDetectionDone:L,onError:X,cropAreaDimension:ed,customDirectionIcon:w,captureFrameSettings:A,onFramesCaptured:M,setRemainingTime:ec,customStepTimeConstraints:U,onProcessing:V,customErrors:K,apiCredentials:$,outputEncryptionSettings:_,cameraScale:B,passiveModeAuto:z,serviceSettings:W,onReset:q});s.useEffect(()=>{"string"==typeof eS[0]?.directionIcon&&Promise.all(eS.map(e=>m(e.directionIcon)))},[eS]);let{CloseCameraButton:eL}=Y,ev=f(p,Q),eP=eb.current?0:eh/eS.length*100,{lang:eA}=t.useSDKSettings(),eM=s.useRef(0),eH=s.useRef({}),eO=s.useRef(o.ErrorDuration.SHORT),ew=s.useMemo(()=>{let{msg:e,duration:r=o.ErrorDuration.SHORT}=eC||{},a=e?.[eA];return Date.now()-eM.current>=eO.current&&(eM.current=Date.now(),eO.current=r,eH.current=a),eH.current},[eC,eh]),eU=s.useCallback(e=>{eu(e),em?ey():e===T.LANDSCAPE?eF.current?.pause():eF.current?.play()},[eF,ey,em]);return i.jsx(E,{onOrientationChange:eU,children:i.jsxs(c,{frontCamera:H,onVideoPlayed:ej,onClose:Z,flipHorizontal:O??H,ref:eF,videoSettings:P,onError:X,scale:B,defaultCameraId:N,closeButton:eL||i.jsx(l,{}),children:[!eT&&i.jsx(k,{}),eI?i.jsxs(i.Fragment,{children:["string"==typeof ew?i.jsx(g,{top:et-15,className:"face-detection-error",children:ew}):null,eg.current?i.jsxs(R,{x:`${eg.current.x}px`,y:`${eg.current.y}px`,width:`${eg.current.width}px`,height:`${eg.current.height}px`,surroundStyle:eg.current.surroundStyle,children:[i.jsx(h,{}),i.jsx(C,{...ev,progress:eP,showErrorRing:!!eC&&n("Selfie.progressCircle.showErrorRing")({theme:Q})}),ek?i.jsx(y,{children:ef}):null,eC&&i.jsx(D,{})]}):null,ei&&i.jsx(j,{top:eo-30,children:ei}),eE?i.jsx(F,{children:i.jsx(x,{onClick:eD,disabled:ex,children:u(Q,"Selfie.captureIcon.src")?i.jsx("img",{src:u(Q,"Selfie.captureIcon.src"),alt:""}):i.jsx(I,{fillColor:"rgba(193, 197, 204, 1)"})})}):null]}):null,(eR||J)&&i.jsx(S,{children:i.jsx("img",{src:ea,alt:""})})]})})}A.propTypes={apiCheck:p.bool,mode:p.string,onLivenessDetectionDone:p.func,onClose:p.func,onError:p.func,onReset:p.func,captureFrameSettings:p.shape({}),onFramesCaptured:p.func,frontCamera:p.bool,isLoading:p.bool,flipVideoHorizontal:p.bool,customDirectionIcon:p.shape({}),customStepTimeConstraints:p.shape({}),onProcessing:p.func,customErrors:p.shape({}),apiCredentials:p.shape({accessKey:p.string,secretKey:p.string,apiUrl:p.string}),outputEncryptionSettings:p.shape({}),cameraScale:p.number,defaultCameraId:p.string,passiveModeAuto:p.bool,offsetFaceY:p.number,styledComponent:p.shape({CloseCameraButton:p.node}),serviceSettings:p.shape({})},A.defaultProps={apiCheck:!1,mode:null,onLivenessDetectionDone:null,onClose:null,onError:()=>{},onReset:()=>{},captureFrameSettings:{enable:!1,framesIntervalTime:180,framesBatchLength:0},onFramesCaptured:()=>{},frontCamera:!0,isLoading:!1,flipVideoHorizontal:null,customDirectionIcon:{[o.FaceDirection.LEFT]:i.jsx(L,{type:o.FaceDirection.LEFT}),[o.FaceDirection.RIGHT]:i.jsx(L,{type:o.FaceDirection.RIGHT}),[o.FaceDirection.UP]:i.jsx(L,{type:o.FaceDirection.UP}),[o.FaceDirection.FRONTAL]:i.jsx(L,{type:o.FaceDirection.FRONTAL})},customStepTimeConstraints:{[o.FaceDirection.UP]:{delayTime:0},[o.FaceDirection.LEFT]:{delayTime:0},[o.FaceDirection.RIGHT]:{delayTime:0},[o.FaceDirection.FRONTAL]:{delayTime:2e3}},onProcessing:()=>{},customErrors:null,apiCredentials:{accessKey:"",secretKey:"",apiUrl:""},outputEncryptionSettings:null,cameraScale:1,defaultCameraId:void 0,passiveModeAuto:!1,offsetFaceY:0,styledComponent:{CloseCameraButton:null},serviceSettings:{enableUploadFrames:!0,enableUploadImages:!0,enableVerifySanityPortrait:!0,enableVerifySanityIDCard:!0,enableVerifyFaceLiveness:!0,enableDetectIDCardTampering:!0,enableReadIDCardInfo:!0}};export{A as default};