@tsocial/tvweb-sdk.platform 5.35.0 → 5.36.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.
- package/build/esm/chunk-1bd57581.js +3 -0
- package/build/esm/chunk-390ea2aa.js +1 -0
- package/build/esm/chunk-3fc64163.js +1 -0
- package/build/esm/chunk-41c1d4f2.js +1 -0
- package/build/esm/chunk-44240957.js +1 -0
- package/build/esm/chunk-4da2a90d.js +1 -0
- package/build/esm/chunk-5544ce07.js +1 -0
- package/build/esm/chunk-58f60271.js +10 -0
- package/build/esm/chunk-7c980e08.js +1 -0
- package/build/esm/chunk-9390d088.js +1121 -0
- package/build/esm/chunk-989d36e3.js +3 -0
- package/build/esm/chunk-a37a1269.js +256 -0
- package/build/esm/chunk-afb105f2.js +428 -0
- package/build/esm/chunk-b39a7ba9.js +1 -0
- package/build/esm/chunk-c136757f.js +1 -0
- package/build/esm/chunk-c298ad04.js +1 -0
- package/build/esm/chunk-ce4fbdae.js +1 -0
- package/build/esm/chunk-dad8ede3.js +1 -0
- package/build/esm/chunk-e1ce62d6.js +45 -0
- package/build/esm/chunk-e468b8ce.js +85 -0
- package/build/esm/chunk-eea8c6e6.js +1 -0
- package/build/esm/chunk-fdbce3d2.js +1 -0
- package/build/esm/tvweb-sdk.platform.esm.min.js +1 -0
- package/build/tvweb-sdk.platform.cjs.min.js +986 -1131
- package/build/tvweb-sdk.platform.standalone.js +61421 -65037
- package/build/tvweb-sdk.platform.standalone.min.js +986 -1131
- package/build/types/index.d.ts +22 -11
- package/package.json +7 -7
- package/build/tvweb-sdk.platform.esm.min.js +0 -2089
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e,t;import{b as n,s as a,d as s,r as r,P as i,L as o,j as l,f as u,c as c,u as f,p as p,g as d}from"./chunk-9390d088.js";import{L as g,C as m,S as h,u as v}from"./chunk-dad8ede3.js";import{W as A}from"./chunk-4da2a90d.js";var C,S,b,y,F,T,E,I,x,_={exports:{}};function M(){if(C)return _.exports;C=1;var e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(e){var t=new Uint8Array(16);_.exports=function(){return e(t),t}}else{var n=Array(16);_.exports=function(){for(var e,t=0;t<16;t++)(3&t)==0&&(e=0x100000000*Math.random()),n[t]=e>>>((3&t)<<3)&255;return n}}return _.exports}function D(){if(b)return S;b=1;for(var e=[],t=0;t<256;++t)e[t]=(t+256).toString(16).substr(1);return S=function(t,n){var a=n||0;return""+e[t[a++]]+e[t[a++]]+e[t[a++]]+e[t[a++]]+"-"+e[t[a++]]+e[t[a++]]+"-"+e[t[a++]]+e[t[a++]]+"-"+e[t[a++]]+e[t[a++]]+"-"+e[t[a++]]+e[t[a++]]+e[t[a++]]+e[t[a++]]+e[t[a++]]+e[t[a++]]}}var U=function(){if(x)return I;x=1;var e=function(){if(F)return y;F=1;var e,t,n=M(),a=D(),s=0,r=0;return y=function(i,o,l){var u=o&&l||0,c=o||[],f=(i=i||{}).node||e,p=void 0!==i.clockseq?i.clockseq:t;if(null==f||null==p){var d=n();null==f&&(f=e=[1|d[0],d[1],d[2],d[3],d[4],d[5]]),null==p&&(p=t=(d[6]<<8|d[7])&16383)}var g=void 0!==i.msecs?i.msecs:new Date().getTime(),m=void 0!==i.nsecs?i.nsecs:r+1,h=g-s+(m-r)/1e4;if(h<0&&void 0===i.clockseq&&(p=p+1&16383),(h<0||g>s)&&void 0===i.nsecs&&(m=0),m>=1e4)throw Error("uuid.v1(): Can't create more than 10M uuids/sec");s=g,r=m,t=p;var v=((0xfffffff&(g+=122192928e5))*1e4+m)%0x100000000;c[u++]=v>>>24&255,c[u++]=v>>>16&255,c[u++]=v>>>8&255,c[u++]=255&v;var A=g/0x100000000*1e4&0xfffffff;c[u++]=A>>>8&255,c[u++]=255&A,c[u++]=A>>>24&15|16,c[u++]=A>>>16&255,c[u++]=p>>>8|128,c[u++]=255&p;for(var C=0;C<6;++C)c[u+C]=f[C];return o||a(c)}}(),t=function(){if(E)return T;E=1;var e=M(),t=D();return T=function(n,a,s){var r=a&&s||0;"string"==typeof n&&(a="binary"===n?Array(16):null,n=null);var i=(n=n||{}).random||(n.rng||e)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,a)for(var o=0;o<16;++o)a[r+o]=i[o];return a||t(i)}}();return t.v1=e,t.v4=t,I=t}();let k=e=>{let t={};return Object.entries(e).forEach(([e,n])=>{if(n){if("customerUserId"===e){t.cus_user_id=n;return}if("faces"===e){t.faces=n.map(e=>({id:e.id}));return}if("gestureFaces"===e){t.gesture_faces=n.map(e=>({gesture:e.gesture,images:e.images.map(e=>({id:e.id}))}));return}if("videos"===e){t.videos=n;return}t[e.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`)]=n}}),t},R={enableVerifySanityPortrait:!1,enableVerifyFaceLiveness:!1};function w(e){let{apiCheck:t,mode:i,authType:o,authMethod:g,apiCredentials:m,onDone:h,onError:C,onClose:S,onReset:b,captureFrameSettings:y,onFramesCaptured:F,clientSettings:T,outputEncryptionSettings:E,logCredentials:I,flowId:x,serviceSettings:_,cameraScale:M,offsetFaceY:D,frontalMinSize:w,customTheme:N,livenessDetectionComponent:j,customComponent:L,customTexts:V,extraConfig:H}=e,B=v(),G=r.useMemo(()=>{let e={..._,...R};return u.getEnabledServices(e,B)},[B,_]),{FaceAuthenticationLoading:O}=L,[P,K]=r.useState(!1),{registerFace:W,authenFace:q}=function({apiCredentials:e,authMethod:t,enabledServices:a,authType:i}){let{apiClient:o}=s.useApiClient({apiCredentials:e}),l=r.useCallback(async e=>{let n=e.frontalFaces?.map(e=>({id:e.id}))??[],s=e.steps?.map(e=>({gesture:e.name,images:[{id:e.id}]})),r=[];return{selfieType:t,faces:n,gestureFaces:s,videos:r=a.enableUploadFrames?e.uploadFramesResult??[]:e.capturedFrames??[]}},[t,a.enableUploadFrames]),u=r.useCallback(async({sdkResult:e})=>{let t=await l(e),s=U.v4();t={...t,faceType:"selfie",customerUserId:s};let r=null;if(a.enableRegisterFace){let e=k(t);"success"===n(r=await o.httpClient.post("/v1/face_auth_register",e),"data.status")&&localStorage.setItem("tv:cus-user-id",s)}return{...t,apiResult:r}},[o.httpClient,l,a.enableRegisterFace]);return{registerFace:u,authenFace:r.useCallback(async({sdkResult:e})=>{let t=await l(e),n=localStorage.getItem("tv:cus-user-id");t={...t,customerUserId:n,authType:i};let s=null;if(a.enableAuthenticateFace){let e=k(t);s=await o.httpClient.post("/v1/face_auth",e)}return{...t,apiResult:s}},[o.httpClient,i,l,a.enableAuthenticateFace])}}({apiCredentials:m,authMethod:g,enabledServices:G,authType:o}),{billingSettings:z,enableBilling:Y}=c.useSDKSettings(),Z=f.getWebSetting(B,"data.settings.sdk_settings.billing_settings.billing_config"),$=f.getWebSetting(B,"data.settings.sdk_settings.billing_settings.url"),J=p.buildBillingInput(e),{submitBilling:Q}=d({enable:Y,onError:C,billingSettings:z??{json:Z??{}},billingUrl:$}),X=r.useCallback(e=>{let t={sdkStatus:a.BillingStatus.success,result:p.buildBillingOutput(e)};Q({service:a.BillingService.faceAuth,input:J,output:t}),h&&h(e)},[J,h,Q]),ee=r.useCallback(e=>{if(a.ErrorsWithoutBilling.includes(e.code))return void C(e);let t={error:e,sdkStatus:a.BillingStatus.fail};Q({service:a.BillingService.faceAuth,input:J,output:t}),C&&C(e)},[J,C,Q]),et=r.useCallback(e=>{var t,s;let r,l,u,c=(s={...e,frontalFaces:(r=n(t=e,"frontalFaces",[]),l=n(t,"frontalFacesEncrypted",[]),r.map((e,t)=>({blob:e,encrypted:l[t]??null})))},u={},u.faces=n(s,"frontalFaces"),u.videos=Array.isArray(n(s,"capturedFrames"))&&n(s,"capturedFrames").length>0?[{frames:n(s,"capturedFrames")}]:null,u.gestureFaces=Array.isArray(n(s,"steps"))&&n(s,"steps").length>0?n(s,"steps").map(e=>{let{name:t}=e;return{gesture:t,images:[{...e?.image}]}}):null,u);i===a.FaceAuthenticationMode.REGISTRATION&&(c={...c,customerUserID:U.v4(),faceType:"selfie",selfieType:g}),i===a.FaceAuthenticationMode.AUTHENTICATION&&(c={...c,selfieType:g,authType:o}),X(c)},[i,X,g,o]),en=r.useCallback(async e=>{if(!t||!G.enableUploadImages)return void et(e);try{let t;K(!0),i===a.FaceAuthenticationMode.REGISTRATION&&(t=await W({sdkResult:e})),i===a.FaceAuthenticationMode.AUTHENTICATION&&(t=await q({sdkResult:e})),X(t)}catch(e){console.error(e),ee({...a.Errors.api_call_error,details:e})}finally{K(!1)}},[t,G.enableUploadImages,et,i,X,W,q,ee]);return l.jsxs(A,{isWrappedBy:"face_authen",children:[l.jsx(j,{mode:(e=>{switch(e){case a.FaceAuthMethod.STANDARD_AUTHEN:return a.Mode.PASSIVE;case a.FaceAuthMethod.ADVANCED_AUTHEN_ACTIVE:return a.Mode.ACTIVE;case a.FaceAuthMethod.EDGE_AUTHEN:return a.Mode.FLASH_EDGE;case a.FaceAuthMethod.ADVANCED_AUTHEN_FLASH:return a.Mode.FLASH_ADVANCED;case a.FaceAuthMethod.LIGHT_AUTHEN:return a.Mode.PASSIVE;default:return e}})(g),cameraScale:M,offsetFaceY:D,frontalMinSize:w,captureFrameSettings:y,logCredentials:I,onLivenessDetectionDone:en,outputEncryptionSettings:E,onFramesCaptured:F,onError:C,onClose:S,onReset:b,clientSettings:T,customTheme:N,extraConfig:H,customComponent:L,apiCheck:t,apiCredentials:m,serviceSettings:G,flowId:x,customTexts:V}),l.jsx(O,{loading:P})]})}w.propTypes={apiCheck:i.bool,mode:i.string,authMethod:i.string,authType:i.string,onDone:i.func,onError:i.func,onClose:i.func,outputEncryptionSettings:i.shape({}),captureFrameSettings:i.shape({enable:i.bool,framesIntervalTime:i.number,framesBatchLength:i.number}),cameraScale:i.number,offsetFaceY:i.number,frontalMinSize:i.number,apiCredentials:i.shape({accessKey:i.string,secretKey:i.string,apiUrl:i.string}),logCredentials:i.shape({}),customTheme:i.shape({}),serviceSettings:i.shape({}),flowId:i.string,clientSettings:i.shape({}),livenessDetectionComponent:i.elementType,customComponent:i.shape({FaceAuthenticationLoading:i.elementType}),extraConfig:i.shape({}),onReset:i.func,onFramesCaptured:i.func,customTexts:i.shape({})},w.defaultProps={apiCheck:!1,mode:a.FaceAuthenticationMode.REGISTRATION,authMethod:a.FaceAuthMethod.EDGE_AUTHEN,authType:"transfer",onDone:()=>{},onError:()=>{},onClose:()=>{},outputEncryptionSettings:null,captureFrameSettings:{enable:!0,framesIntervalTime:180,framesBatchLength:15},cameraScale:1,offsetFaceY:0,frontalMinSize:null,apiCredentials:{accessKey:"",secretKey:"",apiUrl:""},logCredentials:null,customTheme:null,serviceSettings:{enableUploadFrames:!0,enableUploadImages:!0,enableRegisterFace:!0,enableAuthenticateFace:!0},flowId:"face_authen",clientSettings:null,livenessDetectionComponent:g,customComponent:{FaceAuthenticationLoading:o},extraConfig:null,onReset:()=>{},onFramesCaptured:()=>{},customTexts:{}};var N=(e=w,t=function(t){let{customTexts:n}=t;return l.jsx(h,{customTexts:n,children:l.jsx(e,{...t})})},function(e){let{apiCheck:n,apiCredentials:a,serviceSettings:s,flowId:r,clientSettings:i}=e,o=n&&(s?.enableGetClientSettings??!0);return l.jsx(m,{enableGetClientSettings:o,clientSettings:i,apiCredentials:a,flowId:r,children:l.jsx(t,{...e})})});function j(e){return l.jsx(N,{...e})}j.propTypes={logCredentials:i.shape({}),clientSettings:i.shape({})},j.defaultProps={logCredentials:null,clientSettings:null};export{j as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as r}from"./chunk-9390d088.js";import{r as o}from"./chunk-c298ad04.js";var s=r(o());export{s as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ah as n,aT as t,ai as i,$ as r}from"./chunk-9390d088.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,d=Math.min;return u=function(n,t,i){var a,o,u,f,l,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);l=setTimeout(y,(i=(n=o)-m,r=n-s,a=t-i,g?d(a,u-r):a))}function E(n){return(l=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===l){return s=n=m,l=setTimeout(y,t),p?T(n):f}if(g)return clearTimeout(l),l=setTimeout(y,t),T(m)}return void 0===l&&(l=setTimeout(y,t)),f}return w.cancel=function(){void 0!==l&&clearTimeout(l),s=0,a=m=o=l=void 0},w.flush=function(){return void 0===l?f:E(e())},w}}var a,o,u,f,c,v,d=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,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,s as t,P as s,j as a,b as n,u as i,k as r,A as l,m as o,ap as _,aq as g,M as c,O as d,ar as f,as as h,at as u,au as m,av as b,aw as p,ax as v,ay as y,az as S,F as k,R as C,d as F,f as x,Q as E,aA as w,aB as M,Y as R}from"./chunk-9390d088.js";import{d as L}from"./chunk-c136757f.js";import{t as W}from"./chunk-c298ad04.js";import{C as I,O as A}from"./chunk-e468b8ce.js";import{u as D,S as T,a as B,F as q,b as O,c as P,d as j,n as Q,l as V,e as N,s as U,f as H,R as $,g as G,h as J,i as z,j as K,W as X,k as Y,m as Z,o as ee,p as et,q as es,r as ea,A as en,O as ei}from"./chunk-58f60271.js";import{m as er,u as el,b as eo}from"./chunk-4da2a90d.js";import{u as e_}from"./chunk-dad8ede3.js";let eg=e.createContext(t.Mode.FLASH_ADVANCED),ec=({flashMode:e,children:s})=>{let n=e===t.Mode.FLASH||e.startsWith("flash_")?e:t.Mode.FLASH;return a.jsx(eg.Provider,{value:n,children:s})};ec.defaultProps={flashMode:t.Mode.FLASH_ADVANCED},ec.propTypes={flashMode(e,t,s){if(!/(^flash_|^flash$)/.test(e[t]))return Error(`Invalid prop \`${t}\` of value \`${e[t]}\` supplied to \`${s}\`. \`${t}\` is either 'flash' or begins with 'flash_'. Falling back to 'flash'.`)},children:s.node.isRequired};let ed=()=>{let t=e.useContext(eg);if(void 0===t)throw Error("useFlashMode must be used within a FlashModeProvider");return t},ef=0,eh=1,eu={data:{settings:{flashing_modes:{flash:{frames_per_color:8,frames_per_color_web:8,colors:"r r rrr",colors_web:"r r rrr"}},sdk_settings:{flash_liveness_settings:{frontal_face_check:{enable:!0,up_down_bound_min:.35,up_down_bound_max:.7},capture_frame_settings:{enable:!1,frames_batch_length:10,frames_interval_time:0,frame_quality:.8,frame_scale:1,auto_capture_min_frames:0,auto_capture_min_frames_far:0,auto_capture_min_frames_close:0},not_qualified_settings:{enable_far:!1,enable_close:!1,threshold_far:.11,threshold_close:.11},close_eyes_settings:{enable:!1,timeout:5,force_check:!1},face_settings:{close_face_ratio:.82,max_far_face_ratio:.9,min_far_face_ratio:.8,mobile:{close_face_ratio:.95,max_far_face_ratio:.9,min_far_face_ratio:.85}},flash_settings:{colors_length:10,flash_color:"rgb(255, 0, 0)",secondary_flash_color:"rgba(0,0,0,0.6)",delay_between_colors:120,flash_intensity:1,frames_per_color:4,use_face_detector_when_flashing:!1,flash_frame_interval:0},liveness_settings:{enable_far_step:!0},timeout_settings:{enable:!0,total:30,countdown:10,max_retry_count:0,non_stoppable:!1},exif_data_settings:{enable:!0},mask_settings:{chin_to_mask_bottom_padding:20,large_scale:.85,mobile:{chin_to_mask_bottom_padding:20,large_scale:.9,oval_padding:{bottom:20,left:20,right:20,top:0},oval_vertical_offset:60,small_scale:.65},oval_padding:{bottom:20,left:30,right:30,top:0},oval_vertical_offset:0,small_scale:.6},image_settings:{valid_face_ratio:.6,image_quality:1,crop_center_far:!0,crop_center_close:!1,detection_to_whole_face_ratio:.8},blur_far_settings:{enable:!0,blurry_threshold:.4,wait_for_best_image_time_ms:1e3},blur_close_settings:{enable:!0,blurry_threshold:.4,wait_for_best_image_time_ms:1e3},brightness_detection_far_settings:{enable_too_bright_check:!1,enable_too_dark_check:!1,too_bright_threshold:.83,too_dark_threshold:.195},brightness_detection_close_settings:{enable_too_bright_check:!1,enable_too_dark_check:!1,too_bright_threshold:.83,too_dark_threshold:.195},output_image_settings:{image_ordering:["close","far"]},auto_gen_frame_ids:{enable:!1,max_items:50}}}}}},em=()=>{let s=e_(),a=ed();return e.useMemo(()=>{let e=er({},eu,s),l=n(e,`data.settings.flashing_modes.${t.Mode.FLASH}`),o=n(e,`data.settings.flashing_modes.${a}`,l),_={enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.capture_frame_settings.enable"),framesIntervalTime:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.capture_frame_settings.frames_interval_time"),framesBatchLength:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.capture_frame_settings.frames_batch_length"),frameScale:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.capture_frame_settings.frame_scale"),frameQuality:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.capture_frame_settings.frame_quality"),autoCaptureMinFramesFar:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.capture_frame_settings.auto_capture_min_frames_far"),autoCaptureMinFramesClose:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.capture_frame_settings.auto_capture_min_frames_close")},g={enableFarStep:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.liveness_settings.enable_far_step")},c={flashColor:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.flash_settings.flash_color"),secondaryFlashColor:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.flash_settings.secondary_flash_color"),colors:i.getWebSetting(o,"colors"),delayBetweenColors:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.flash_settings.delay_between_colors"),framesPerColor:i.getWebSetting(o,"frames_per_color"),flashIntensity:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.flash_settings.flash_intensity"),useFaceDetectorWhenFlashing:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.flash_settings.use_face_detector_when_flashing"),flashFrameInterval:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.flash_settings.flash_frame_interval")},d={smallScale:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.mask_settings.mobile.small_scale":"data.settings.sdk_settings.flash_liveness_settings.mask_settings.small_scale"),largeScale:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.mask_settings.mobile.large_scale":"data.settings.sdk_settings.flash_liveness_settings.mask_settings.large_scale"),ovalPadding:{left:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.mask_settings.mobile.oval_padding.left":"data.settings.sdk_settings.flash_liveness_settings.mask_settings.oval_padding.left"),right:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.mask_settings.mobile.oval_padding.right":"data.settings.sdk_settings.flash_liveness_settings.mask_settings.oval_padding.right"),top:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.mask_settings.mobile.oval_padding.top":"data.settings.sdk_settings.flash_liveness_settings.mask_settings.oval_padding.top"),bottom:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.mask_settings.mobile.oval_padding.bottom":"data.settings.sdk_settings.flash_liveness_settings.mask_settings.oval_padding.bottom")},ovalVerticalOffset:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.mask_settings.mobile.oval_vertical_offset":"data.settings.sdk_settings.flash_liveness_settings.mask_settings.oval_vertical_offset"),chinToMaskBottomPadding:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.mask_settings.mobile.chin_to_mask_bottom_padding":"data.settings.sdk_settings.flash_liveness_settings.mask_settings.chin_to_mask_bottom_padding")},f={minFarFaceRatio:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.face_settings.mobile.min_far_face_ratio":"data.settings.sdk_settings.flash_liveness_settings.face_settings.min_far_face_ratio"),maxFarFaceRatio:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.face_settings.mobile.max_far_face_ratio":"data.settings.sdk_settings.flash_liveness_settings.face_settings.max_far_face_ratio"),closeFaceRatio:i.getWebSetting(e,r.isMobile?"data.settings.sdk_settings.flash_liveness_settings.face_settings.mobile.close_face_ratio":"data.settings.sdk_settings.flash_liveness_settings.face_settings.close_face_ratio")},h={enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.close_eyes_settings.enable"),timeout:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.close_eyes_settings.timeout"),forceCheck:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.close_eyes_settings.force_check")},u={enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.exif_data_settings.enable")},m={imageQuality:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.image_settings.image_quality"),validFaceRatio:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.image_settings.valid_face_ratio"),enableCropCenterFar:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.image_settings.crop_center_far"),enableCropCenterClose:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.image_settings.crop_center_close"),detectionToWholeFaceRatio:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.image_settings.detection_to_whole_face_ratio")},b=i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.timeout_settings.max_retry_count"),p={enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.timeout_settings.enable"),total:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.timeout_settings.total"),countdown:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.timeout_settings.countdown"),enableMaxRetryCount:b>0,maxRetryCount:b,interruptible:!i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.timeout_settings.non_stoppable")},v={enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.blur_far_settings.enable"),threshold:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.blur_far_settings.blurry_threshold"),duration:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.blur_far_settings.wait_for_best_image_time_ms")},y={enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.blur_close_settings.enable"),threshold:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.blur_close_settings.blurry_threshold"),duration:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.blur_close_settings.wait_for_best_image_time_ms")},S={enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.not_qualified_settings.enable_far"),threshold:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.not_qualified_settings.threshold_far")},k={enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.not_qualified_settings.enable_close"),threshold:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.not_qualified_settings.threshold_close")},C={enableTooBrightCheck:n(e,"data.settings.sdk_settings.flash_liveness_settings.brightness_detection_far_settings.enable_too_bright_check"),enableTooDarkCheck:n(e,"data.settings.sdk_settings.flash_liveness_settings.brightness_detection_far_settings.enable_too_dark_check"),tooBrightThreshold:n(e,"data.settings.sdk_settings.flash_liveness_settings.brightness_detection_far_settings.too_bright_threshold"),tooDarkThreshold:n(e,"data.settings.sdk_settings.flash_liveness_settings.brightness_detection_far_settings.too_dark_threshold")},F={enableTooBrightCheck:n(e,"data.settings.sdk_settings.flash_liveness_settings.brightness_detection_close_settings.enable_too_bright_check"),enableTooDarkCheck:n(e,"data.settings.sdk_settings.flash_liveness_settings.brightness_detection_close_settings.enable_too_dark_check"),tooBrightThreshold:n(e,"data.settings.sdk_settings.flash_liveness_settings.brightness_detection_close_settings.too_bright_threshold"),tooDarkThreshold:n(e,"data.settings.sdk_settings.flash_liveness_settings.brightness_detection_close_settings.too_dark_threshold")},x={imageOrdering:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.output_image_settings.image_ordering"),farImageOrder:eh,closeImageOrder:ef};Array.isArray(x.imageOrdering)&&2===x.imageOrdering.length&&"far"===x.imageOrdering[0]&&"close"===x.imageOrdering[1]&&(x.farImageOrder=0,x.closeImageOrder=1);let E={enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.auto_gen_frame_ids.enable")&&p.enable,maxItems:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.auto_gen_frame_ids.max_items")};return{captureFrameSettings:_,livenessSettings:g,flashSettings:c,maskSettings:d,faceSettings:f,closeEyesSettings:h,exifSettings:u,imageSettings:m,timeoutSettings:p,blurCheckFarSettings:v,blurCheckCloseSettings:y,notQualifiedFarSettings:S,notQualifiedCloseSettings:k,brightnessDetectionFarSettings:C,brightnessDetectionCloseSettings:F,outputImageSettings:x,autoGenFrameIds:E,frontalFaceCheckSettings:{enable:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.frontal_face_check.enable"),upDownBoundMin:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.frontal_face_check.up_down_bound_min"),upDownBoundMax:i.getWebSetting(e,"data.settings.sdk_settings.flash_liveness_settings.frontal_face_check.up_down_bound_max")}}},[s,a])},eb=r.isMobile?{width:{ideal:640},whiteBalanceMode:"none"}:{width:{ideal:9999},whiteBalanceMode:"none"},ep=(e,t)=>""===t.faceError&&(!!e.isEyeClosed&&!t.isEyeClosed||(!!e.isEyeClosed||!t.isEyeClosed)&&(!!m.hasBetterBrightnessScore(t.brightnessScore,e.brightnessScore)||!!m.hasSameBrightnessScore(t.brightnessScore,e.brightnessScore)&&b.hasBetterBlurScore(t.blurScore,e.blurScore)));function ev(s){let{onReset:n,onFlashDone:i,frontCamera:r,styledComponent:m,onFramesCaptured:b,customComponent:F,extraConfig:x,onImageCaptured:E}=s,{onCloseCallback:w,onErrorCallback:M}=el(),R=em(),A=F?.FlashLivenessBody??p,ee=F?.FlashLivenessOverlay??v,et=F?.FlashLivenessError??y,es=F?.FlashLivenessCloseIcon??S,{maskSettings:ea,flashSettings:en,faceSettings:ei,livenessSettings:er,captureFrameSettings:e_,imageSettings:eg,timeoutSettings:ec,blurCheckFarSettings:ef,blurCheckCloseSettings:eh,exifSettings:eu,autoGenFrameIds:ev}=R;if(ea.smallScale>ea.largeScale)throw Error("smallScale must be smaller than largeScale");let ey=e.useRef(),eS=D(),ek=eo(),{framesPerColor:eC,delayBetweenColors:eF,useFaceDetectorWhenFlashing:ex,flashIntensity:eE,flashColor:ew,colors:eM,flashFrameInterval:eR,secondaryFlashColor:eL}=en,[eW,eI]=e.useState(""),eA=e.useMemo(()=>W(eI,1e3),[]),[eD,eT]=e.useState(!1),[eB,eq]=e.useState(T.LOADING),eO=l(),eP={width:o("FlashLiveness.mask.width")({theme:eO}),height:o("FlashLiveness.mask.height")({theme:eO}),strokeColor:(eB===T.FAR_FACE||eB===T.CLOSE_FACE)&&eW&&!eD?o("FlashLiveness.mask.strokeColorError")({theme:eO}):o("FlashLiveness.mask.strokeColor")({theme:eO}),strokeWidth:2*o("FlashLiveness.mask.strokeWidth")({theme:eO}),path:o("FlashLiveness.mask.path")({theme:eO}),backgroundColor:o("FlashLiveness.maskFill")({theme:eO})},ej=e.useRef(null),[eQ,eV,eN,eU]=B(),[eH,e$]=e.useState(0),[eG,eJ]=e.useState(!1),ez=e.useRef({frames:[],total:{[q.FAR_FACE]:0,[q.CLOSE_FACE]:0}}),eK=e.useRef(!1),eX=e.useRef(!1),eY=e.useRef(!1),eZ=O({compareFn:ep,duration:ef.duration,minFrames:e_.autoCaptureMinFramesFar}),e0=O({compareFn:ep,duration:eh.duration,minFrames:e_.autoCaptureMinFramesClose}),e1=ed(),[e2,e3]=e.useState(!1),{sessionId:e5,updateSessionId:e8}=P(),e9=e.useRef(_.createSingleUUID()),{onVideoPlayed:e6,cropArea:e4,isPlaying:e7}=j({}),{smallScale:te,largeScale:tt}=Q(ea,{width:eP.width,height:eP.height},{width:e4.width,height:e4.height}),ts=e.useRef(null),ta=e.useRef(null),tn=1e3*ec.total/e_.framesIntervalTime+eM.length*eC,{uuids:ti,getNextUUID:tr,reset:tl}=g({total:Math.min(ev.maxItems,Math.ceil(tn/e_.framesBatchLength))}),to=e.useCallback(e=>{let t=e[e.length-1];try{let e=JSON.parse(t.metadata);ev.enable&&(e.global_batch_id=tr()),e.global_session_id=e9.current,t.metadata=JSON.stringify(e)}catch(e){console.error("Unable to process last frame metadata",e)}},[ev.enable,tr]),{playVoice:t_}=c.useVoicePlayer(),tg=e.useMemo(()=>L(({reason:e})=>{if(eY.current=!1,ez.current.frames=[],ez.current.total[q.FAR_FACE]=0,ez.current.total[q.CLOSE_FACE]=0,eK.current=!1,eX.current=!1,ts.current=null,ta.current=null,er.enableFarStep?(e$(te),eq(T.FAR_FACE),t_("move_face_into_frame")):t_("move_face_closer"),e8(),ev.enable){let e=tl();d.addExifData("frame_batch_ids",e)}n({reason:e})},200,{leading:!0}),[er.enableFarStep,e8,ev.enable,n,te,t_,tl]),tc=V({offset:ea.ovalVerticalOffset,ovalPadding:ea.ovalPadding,largeScale:tt,maskHeight:e4.height,ovalHeight:eP.height}),{flashingColors:td,currentColor:tf,colorIndex:th,startFlashing:tu,goToNextColor:tm,colorInfoRef:tb,checkIsLastColor:tp}=(({colors:s="",onFlashDone:a,onErrorCallback:n,framesPerColor:i,flashColor:r,secondaryFlashColor:l})=>{let[o,_]=e.useState(null),g=e.useRef({colorIndex:null,frameIndex:null,colorStringIndex:null}),c=e.useMemo(()=>s.split("").reduce((e,t)=>e+t.repeat(i),""),[s,i]),d=" "===c[o]?l:r,f=e.useCallback(()=>g.current.colorStringIndex===c.length-1,[c.length]),h=e.useCallback(()=>{if(g.current.colorIndex+=Math.floor((g.current.frameIndex+1)/i),g.current.frameIndex=(g.current.frameIndex+1)%i,g.current.colorStringIndex+=1,!(g.current.colorStringIndex>c.length)){if(g.current.colorStringIndex<c.length)return void _(e=>e+1);_(null),g.current={colorIndex:null,frameIndex:null,colorStringIndex:null},"function"==typeof a&&a()}},[c.length,i,a]),u=e.useCallback(()=>{_(0),g.current={colorIndex:0,frameIndex:0,colorStringIndex:0}},[]);return e.useEffect(()=>{0===c.length&&"function"==typeof n&&n(t.Errors.flashing_color_error)},[c.length,n]),{flashingColors:c,colorIndex:o,currentColor:d,goToNextColor:h,startFlashing:u,colorInfoRef:g,checkIsLastColor:f}})({colors:eM,onFlashDone:e.useCallback(async()=>{eq(T.STOP_DECTECTING),eS("selfie_flash","user_activity.finish_flash"),eS("selfie_flash","user_activity",({lastTimeLog:e})=>({flash_liveness_in_ms:e-ey.current}));let{frames:e}=ez.current;if(e_.enable&&e_.framesBatchLength>0){let t=e.length%e_.framesBatchLength;if(0!==t){let s=e.slice(-1*t);to(s),"function"==typeof b&&b(s)}}try{"function"==typeof i&&await i({frames:ez.current.frames})}catch(e){M({error:e})}},[eS,e_.enable,e_.framesBatchLength,to,b,i,M]),onErrorCallback:M,framesPerColor:eC,flashColor:ew,secondaryFlashColor:eL}),tv=e.useCallback(()=>{!er.enableFarStep||(0===ez.current.total[q.FAR_FACE]&&(eY.current=!0),e_.enable&&(ez.current.total[q.FAR_FACE]+=1))},[e_.enable,er.enableFarStep]),ty=e.useMemo(()=>({x:Math.max(eV?.left,0),y:Math.max(eV?.top,0),width:Math.min(eV?.right-eV?.left,e4.width),height:Math.min(eV?.bottom-eV?.top,e4.height)}),[e4.height,e4.width,eV?.bottom,eV?.left,eV?.right,eV?.top]),tS=e.useCallback(({frame:e,prediction:t,originalRatio:s})=>{if(eK.current)return;let a=e=>{let t=Y({maskBoundingBox:ty,faceRatio:e.faceRatio,validFaceRatio:eg.validFaceRatio,video:ej.current,shouldCropCenterSquare:eg.enableCropCenterFar,cropArea:e4,frame:e.snapshot,facePrediction:e.facePrediction,detectionToWholeFaceRatio:eg.detectionToWholeFaceRatio}),s={blob:k.takePicture({canvas:t,quality:eg.imageQuality}),gesture:"frontal",captureTime:e.captureTime,selfieLabel:q.FAR_FACE,qualifyScore:e.qualifyScore,blurScore:e.blurScore,brightnessScore:e.brightnessScore,realQualifyScore:e.realQualifyScore,qualifyModelMessage:e.qualifyModelMessage};eK.current=!0,d.addExifData("flash_liveness.number_of_frames.far_frames",ez.current.total[q.FAR_FACE]),d.addExifData("model_score.face_blurry_score",s.blurScore),d.addExifData("model_score.face_brightness_score",s.brightnessScore),d.addExifData("model_score.face_qualify_score",s.qualifyScore),d.addExifData("debug_log.face_real_qualify_score",s.realQualifyScore),d.addExifData("debug_log.face_qualify_model_message",s.qualifyModelMessage),d.addExifData("selfie_label",s.selfieLabel),d.addExifData("capture_time",s.captureTime),d.addExifData("type",s.gesture),E(s),eI(""),e$(tt),eU(!0),eq(T.CLOSE_FACE),t_("move_face_closer")},n={qualifyScore:e.qualifyScore,blurScore:e.blurScore,isEyeClosed:e.isEyeClosed,faceRatio:e.faceRatio,snapshot:N(ej.current),captureTime:Date.now(),facePrediction:U(t,s),brightnessScore:e.brightnessScore,faceError:e.faceError,realQualifyScore:e.realQualifyScore,qualifyModelMessage:e.qualifyModelMessage};if(!ef.enable)return void a(n);if(!eZ.isAutoCapturing()){eT(!0),eZ.startCapturing({onDone:e=>{eT(!1),a(e)},initialFrame:n});return}eZ.captureFrame(n)},[ef.enable,eZ,ty,eg.validFaceRatio,eg.enableCropCenterFar,eg.detectionToWholeFaceRatio,eg.imageQuality,e4,E,tt,eU,t_]),tk=e.useCallback(({frame:e,prediction:t,originalRatio:s})=>{if(eX.current)return;let a=e=>{let t=Y({maskBoundingBox:ty,faceRatio:e.faceRatio,validFaceRatio:eg.validFaceRatio,video:ej.current,shouldCropCenterSquare:eg.enableCropCenterClose,cropArea:e4,frame:e.snapshot,facePrediction:e.facePrediction,detectionToWholeFaceRatio:eg.detectionToWholeFaceRatio}),s={blob:k.takePicture({canvas:t,quality:eg.imageQuality}),gesture:"frontal",captureTime:e.captureTime,selfieLabel:q.CLOSE_FACE,qualifyScore:e.qualifyScore,blurScore:e.blurScore,brightnessScore:e.brightnessScore,realQualifyScore:e.realQualifyScore,qualifyModelMessage:e.qualifyModelMessage};eX.current=!0,d.addExifData("flash_liveness.number_of_frames.close_frames",ez.current.total[q.CLOSE_FACE]),d.addExifData("model_score.face_blurry_score",s.blurScore),d.addExifData("model_score.face_brightness_score",s.brightnessScore),d.addExifData("model_score.face_qualify_score",s.qualifyScore),d.addExifData("debug_log.face_real_qualify_score",s.realQualifyScore),d.addExifData("debug_log.face_qualify_model_message",s.qualifyModelMessage),d.addExifData("selfie_label",s.selfieLabel),d.addExifData("capture_time",s.captureTime),d.addExifData("type",s.gesture),E(s),eI(""),eJ(!1),eq(T.START_FLASHING),tu()},n={qualifyScore:e.qualifyScore,blurScore:e.blurScore,isEyeClosed:e.isEyeClosed,faceRatio:e.faceRatio,snapshot:N(ej.current),captureTime:Date.now(),facePrediction:U(t,s),brightnessScore:e.brightnessScore,faceError:e.faceError,realQualifyScore:e.realQualifyScore,qualifyModelMessage:e.qualifyModelMessage};if(!eh.enable)return void a(n);if(!e0.isAutoCapturing()){t_("please_hold_still"),eT(!0),e0.startCapturing({onDone:e=>{eT(!1),a(e)},initialFrame:n});return}e0.captureFrame(n)},[eh.enable,e0,ty,eg.validFaceRatio,eg.enableCropCenterClose,eg.detectionToWholeFaceRatio,eg.imageQuality,e4,E,tu,t_]),tC=e.useMemo(()=>{if("number"==typeof th&&th%eC==0){let e=td[th-1];return e===td[th]?eR:Math.max(eF,eR)}return eR},[th,eF,eR,td,eC]),tF=null!==th&&eB===T.START_FLASHING,tx=e.useRef(!1),tE=e.useCallback(({prediction:e,canvas:t})=>{if(!tF||tx.current||null===tb.current.colorIndex||null===tb.current.frameIndex)return;if(!e_.enable)return void tm();let s=performance.now();if(null!==ta.current&&s-ta.current<tC)return;ta.current=s;let{frames:a}=ez.current,n=H({prediction:e,canvas:t,index:a.length,quality:e_.frameQuality}),i={color:tf,type:q.FLASHING,time:Math.round(performance.now()),colorIndex:tb.current.colorIndex,frameIndex:tb.current.frameIndex,colorStringIndex:tb.current.colorStringIndex,pattern:eM,session_id:e5},r=tp();if(r&&eu.enable&&(d.addExifData("flash_liveness.flash_liveness_in_ms",Math.round(performance.now()-ey.current)),i.exif=d.getCurrentExif()),n.metadata=JSON.stringify(i),a.push(n),e_.framesBatchLength>0&&a.length%e_.framesBatchLength==0){let e=a.slice(-1*e_.framesBatchLength);to(e),"function"==typeof b&&b(e)}r&&(tx.current=!0),tm()},[tF,e_.enable,e_.frameQuality,e_.framesBatchLength,tC,tf,tb,eM,e5,tp,eu.enable,tm,to,b]),tw=e.useCallback(({error:e})=>{eA(e),("no_face"===e||"multiple_faces"===e)&&"no_face"===e&&eY.current&&!eD&&tg({reason:$.no_face})},[eD,tg,eA]),{warmupDone:tM}=G({onError:M,isVideoPlaying:e7,step:eB,cropArea:e4,videoRef:ej,onFarFaceDetected:tv,onFarFullFaceDetected:tS,onCloseFaceDetected:e.useCallback(({prediction:e,canvas:t})=>{let{frames:s}=ez.current;if(er.enableFarStep||0!==s.length||(eY.current=!0),!e_.enable)return;let a=performance.now();if(null!==ta.current&&a-ta.current<e_.framesIntervalTime)return;ta.current=a;let n=H({prediction:e,canvas:t,index:s.length,quality:e_.frameQuality});if(n.metadata=JSON.stringify({color:"",type:q.CLOSE_FACE,time:Math.round(performance.now()),colorIndex:tb.current.colorIndex,pattern:eM,session_id:e5}),ez.current.total[q.CLOSE_FACE]+=1,s.push(n),e_.framesBatchLength>0&&s.length%e_.framesBatchLength==0){let e=s.slice(-1*e_.framesBatchLength);to(e),"function"==typeof b&&b(e)}},[er.enableFarStep,e_.enable,e_.framesIntervalTime,e_.frameQuality,e_.framesBatchLength,tb,eM,e5,to,b]),onCloseFullFaceDetected:tk,onFlashingFramesCaptured:tE,useFaceDetectorWhenFlashing:ex,onFaceError:tw,maskBoundingRect:eV,shouldPauseFaceDetection:eN||e2,faceDetectionSettings:R,shouldContinueOnError:eD,debug:ek});J(ej.current);z(()=>{!async function(){let{resourceReport:e,measureReport:t}=await C.reportAll();Object.values(e).forEach(e=>{eS("selfie_flash","sdk.download_model",e)}),Object.values(t).forEach(e=>{eS("selfie_flash","sdk.init_model",e)})}()},tM),z(()=>{er.enableFarStep?(t_("move_face_into_frame"),eq(T.FAR_FACE),e$(te)):(t_("move_face_closer"),eq(T.CLOSE_FACE),e$(tt)),eJ(!0),d.addExifData("selfie_type",e1),d.addExifData("flash_liveness",{flash_settings:{delay_between_colors:en.delayBetweenColors,flash_color:en.flashColor,secondary_flash_color:en.secondaryFlashColor},face_settings:{close_face_ratio:ei.closeFaceRatio,max_far_face_ratio:ei.maxFarFaceRatio,min_far_face_ratio:ei.minFarFaceRatio},mask_settings:{oval_vertical_offset:ea.ovalVerticalOffset,small_scale:ea.smallScale,large_scale:ea.largeScale},image_settings:{valid_face_ratio:eg.validFaceRatio}}),d.addExifData("global_session_id",e9.current),d.addExifData("pattern",eM),ev.enable&&d.addExifData("frame_batch_ids",ti),ey.current||(ey.current=performance.now())},tM&&e7),z(()=>eS("selfie_flash","user_activity.start"),!0),z(()=>eS("selfie_flash","user_activity.start_far"),eB===T.FAR_FACE),z(()=>eS("selfie_flash","user_activity.start_close"),eB===T.CLOSE_FACE),z(()=>eS("selfie_flash","user_activity.start_flash"),eB===T.START_FLASHING);let tR=null===th?0:Math.min(Math.round((th+1)/(eM.length*eC)*100),100),{Loading:tL}=m,tW=e.useCallback(()=>{eT(!1),eZ.stopCapturing(),e0.stopCapturing(),e3(!0)},[e0,eZ]),tI=e.useCallback(()=>{e3(!1),tg({reason:$.timeout})},[tg]),{remaining:tA}=K({shouldStart:eG&&ec.enable,onTimeout:tW,onDelayEnd:tI,onError:M,totalTime:ec.total,totalDelay:3,maxRetriesSettings:{enable:ec.enableMaxRetryCount,total:ec.maxRetryCount},interruptible:ec.interruptible}),tD=Z(eW),tT=e4.y+e4.height/2+tc;return a.jsxs(a.Fragment,{children:[a.jsx(f,{frontCamera:r,onVideoPlayed:e6,onClose:w,flipHorizontal:r,ref:ej,onError:M,videoSettings:eb,closeButton:a.jsx(es,{}),children:a.jsxs(X,{overlay:!tM||!e7,loadingComponent:tL,children:[""!==eW&&a.jsx(h,{}),a.jsx(I,{x:`${Math.round(e4.x)}px`,y:`${Math.round(e4.y)}px`,width:`${e4.width}px`,height:`${e4.height}px`,surroundStyle:{background:o("FlashLiveness.maskFill")({theme:eO})},children:a.jsx(u,{ref:eQ,scale:eH,debug:ek,width:e4.width,height:e4.height,padding:ea.ovalPadding,verticalOffset:tc,mask:eP})}),!eD&&""!==tD&&"start_flashing"!==eB&&a.jsx(et,{errorY:tT,errorMessage:tD})]})}),a.jsx(A,{step:eB,currentProgress:tR,errorCode:eW,timeoutProps:{remaining:tA,warningThreshold:ec.countdown,total:ec.total,shouldStart:eG&&ec.enable},isFlashingColor:tf===ew,isAutoCapturing:eD,extraConfig:x}),a.jsx(ee,{step:eB,currentColor:tf,flashIntensity:eE,flashColor:ew,secondaryFlashColor:eL})]})}let ey=s=>{let{apiCheck:n,onLivenessDetectionDone:i,frontalMinSize:r,serviceSettings:l,apiCredentials:o,..._}=s,g=_.customComponent?.FlashLivenessLoading??w,[c,f]=e.useState(!1),h=ee(),u=ed(),m=e_(),b=x.getEnabledServices(l,m),{verifyFlashLiveness:p,uploadImage:v}=function({outputEncryptionSettings:t,selfieType:s,enabledServices:a,apiCredentials:n}){let{apiClient:i}=F.useApiClient({apiCredentials:n}),r=e.useCallback(async e=>{if(!t.enable)return i.uploadImage({label:"portrait",file:e.blob,metadata:JSON.stringify({label:e.selfieLabel})});let s=new Blob([e.encrypted.hex]);return i.uploadImage({file:s,label:"portrait",metadata:JSON.stringify({label:e.selfieLabel})},{"X-TV-Key":t.key})},[i,t.enable,t.key]);return{verifyFlashLiveness:e.useCallback(async({videos:e,uploadedImages:t,metadata:n})=>{try{let r=null;a.enableVerifyFaceLiveness&&(r=i.verifyFaceLiveness({images:t.map(e=>({id:e?.data?.image_id,label:"portrait"})),videos:e,metadata:n,selfie_type:s}));let l=null;a.enableVerifySanityPortrait&&(l=i.requestVerifyPortrait({image:{id:t[t.length-1]?.data?.image_id},selfie_type:s}));let[o,_]=await Promise.all([r,l]);return{uploadedImages:t,faceLivenessResult:o,portraitResult:_}}catch(e){return console.error(e),{}}},[i,a.enableVerifyFaceLiveness,a.enableVerifySanityPortrait,s]),uploadImage:r}}({outputEncryptionSettings:h,selfieType:u,enabledServices:b,apiCredentials:o}),{captureFrameSettings:y,flashSettings:S,exifSettings:k,outputImageSettings:C}=em(),{framesIntervalTime:L}=y,{onFramesCaptured:W,onReset:I}=s,{onErrorCallback:A}=el(),D=et(),T=e.useRef([]),B=e.useRef([]),O=async e=>{let t=e;if(h.enable&&(t=await M.encryptFrames(t,h.key)),"function"==typeof W&&W(t),n&&b.enableUploadFrames){let e={};h.enable&&(e["X-TV-Key"]=h.key),es.uploadFrameBatch(ea(t),D,e)}},P=e.useCallback(async e=>{let t,s=new Promise(e=>{t=e});B.current.push(s);let a={...e,blob:await e.blob},i=await d.writeCurrentExif({imageData:a,enableExifData:k.enable});a.blob=i,h.enable&&(a.encrypted=await E.encrypt({blob:a.blob,key:h.key}));let r=e.selfieLabel===q.FAR_FACE?C.farImageOrder:C.closeImageOrder;T.current.push({image:a,uploadPromise:n&&b.enableUploadImages?v(a):null,order:r}),t()},[n,b.enableUploadImages,k.enable,h.enable,h.key,C.closeImageOrder,C.farImageOrder,v]),j=async e=>{f(!0),await Promise.all(B.current);let s={flash_color:S.flashColor,colors:S.colors,frames_per_color:S.framesPerColor,frame_interval:L,delay_between_colors:S.delayBetweenColors,use_face_detector_when_flashing:S.useFaceDetectorWhenFlashing};T.current=T.current.filter(e=>!!e),T.current.sort((e,t)=>e.order-t.order);let a=T.current.map(e=>e.image).filter(e=>"frontal"===e.gesture),l=a.map(e=>e.blob),o=a.map(e=>e.encrypted),_=l[l.length-1],g=_&&"number"==typeof r?await R.scaleImage(_,{minsize:r}):null,c=e.frames;if(h.enable&&(c=await M.encryptFrames(c,h.key)),!n||!b.enableUploadImages){await i({capturedFrames:c,frontalFaces:l,frontalFacesEncrypted:o,frontalScaledImage:g,steps:[],metadata:s}),f(!1);return}try{let e=null;e=y.enable?await es.getAllUploadedBatches():[{frames:ea(c)}];let t=await Promise.all(T.current.map(e=>e.uploadPromise)),{faceLivenessResult:a,portraitResult:n}=await p({videos:e,uploadedImages:t,metadata:s});if(es.resetUploadBatches(),f(!1),a?.errors)throw a.errors;if(n?.errors)throw n.errors;await i({capturedFrames:c,steps:[],frontalFaces:l.map((e,s)=>({blob:e,id:t?.[s]?.data?.image_id})),frontalFacesEncrypted:o,frontalScaledImage:g,apiCheckPassed:a?.data.is_live??!1,verifyFaceLivenessResult:a?.data??null,verifyPortraitResult:n?.data??null,uploadFramesResult:e})}catch(e){console.error(e),f(!1),A({...t.Errors.api_call_error,details:e})}};return a.jsxs(a.Fragment,{children:[a.jsx(ev,{..._,apiCheck:n,onFlashDone:j,onFramesCaptured:O,onReset:()=>{T.current=[],B.current=[],es.resetUploadBatches(),"function"==typeof I&&I()},onImageCaptured:P}),a.jsx(g,{loading:c})]})},eS=e=>{let{apiCredentials:t,outputEncryptionSettings:s,mode:n}=e;return a.jsx(A,{version:"v2",unmountOnHidden:!0,children:a.jsx(en,{apiCredentials:t,children:a.jsx(ec,{flashMode:n,children:a.jsx(ei,{settings:s,children:a.jsx(ey,{...e})})})})})};eS.propTypes={apiCheck:s.bool,apiCredentials:s.shape({accessKey:s.string,secretKey:s.string,apiUrl:s.string}),onReset:s.func,onLivenessDetectionDone:s.func,onClose:s.func,onError:s.func,onFramesCaptured:s.func,frontCamera:s.bool,styledComponent:s.shape({CloseCameraButton:s.node}),outputEncryptionSettings:s.shape({key:s.string}),frontalMinSize:s.number,serviceSettings:s.shape({enableGetClientSettings:s.bool,enableUploadFrames:s.bool,enableUploadImages:s.bool,enableVerifySanityPortrait:s.bool,enableVerifyFaceLiveness:s.bool}),mode:s.string,flowId:s.string,customTexts:s.shape({}),customComponents:s.shape({FlashLivenessBody:s.elementType,FlashLivenessOverlay:s.elementType}),extraConfig:s.shape({})},eS.defaultProps={apiCheck:!1,apiCredentials:{},onReset:()=>{},onLivenessDetectionDone:()=>{},onClose:()=>{},onError:()=>{},onFramesCaptured:()=>{},frontCamera:!0,styledComponent:{CloseCameraButton:null},outputEncryptionSettings:{key:""},frontalMinSize:null,serviceSettings:{enableGetClientSettings:!0,enableUploadFrames:!0,enableUploadImages:!0,enableVerifySanityPortrait:!0,enableVerifyFaceLiveness:!0},mode:t.Mode.FLASH_ADVANCED,flowId:"",customTexts:{},customComponents:{FlashLivenessBody:null,FlashLivenessOverlay:null},extraConfig:null};export{eS as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e;import{d as t,r as s,j as n,a as i,aa as l,c as r,a9 as a,ab as o,o as c,u as u,g as g,p as d,s as S,e as h,X as v}from"./chunk-9390d088.js";import{e as f,d as j,c as p,D as b,S as x}from"./chunk-4da2a90d.js";let k=s.createContext({}),y={},C=({children:e,enableGetClientSettings:i,clientSettings:l,apiCredentials:r,flowId:a})=>{let{apiClient:o}=t.useApiClient({apiCredentials:r}),[c,u]=s.useState({}),[g,d]=s.useState(!1);s.useEffect(()=>{i?async function e(){try{if(!o||"function"!=typeof o.clientSettings)return;let e=await o.clientSettings({flow_id:a});u(e)}catch(e){console.error(e)}finally{d(!0)}}():d(!0)},[i,o,a]);let S=y;return(l&&Object.keys(l).length>0?S=l:i&&(S=c),g)?n.jsx(k.Provider,{value:S,children:e}):null},m=()=>s.useContext(k),_=({children:e,onError:t})=>{let s=m();return n.jsx(i.LicenseProvider,{clientSettings:s,onError:t,children:e})},E=({children:e,onError:t,type:s})=>{let i=m();return n.jsx(l.Provider,{clientSettings:i,type:s,onError:t,children:e})},D={},P=({children:e,customTexts:t=D})=>{let s=m(),{lang:i,uiSettings:l}=r.useSDKSettings(),c=a({customTexts:t,clientSettings:s,lang:i,uiSettings:l});return n.jsx(o.SDKLocaleProvider,{value:c,children:e})},L={},B=({children:e,customTheme:t=L})=>{let s=m(),{uiSettings:i,themeVersion:l}=r.useSDKSettings(),a=f({customTheme:t,clientSettings:s,themeVersion:l,uiSettings:i,defaultThemes:j});return n.jsx(c,{theme:a,children:e})},z=v.lazy(()=>import("./chunk-ce4fbdae.js")),w=v.lazy(()=>import("./chunk-3fc64163.js")),A=v.lazy(()=>import("./chunk-eea8c6e6.js")),K=v.lazy(()=>import("./chunk-390ea2aa.js")),I=v.lazy(()=>import("./chunk-1bd57581.js")),V=v.lazy(()=>import("./chunk-5544ce07.js"));var T=(e=e=>{var t,i,l;let a,{logCredentials:o={enable:!1},livenessComponent:c,customTheme:v={},customTexts:f,...j}=e,{mode:k,flowId:y,onError:C,onClose:D,debug:L,onLivenessDetectionDone:T}=j,W=m(),{billingSettings:M,enableBilling:O,themeVersion:G}=r.useSDKSettings(),F=u.getWebSetting(W,"data.settings.sdk_settings.billing_settings.billing_config"),{submitBilling:U}=g({enable:O,onError:C,billingSettings:M??{json:F??{}},billingUrl:u.getWebSetting(W,"data.settings.sdk_settings.billing_settings.url")}),X=d.buildBillingInput(e),$=p(),q="face_authen"===$?S.BillingService.faceAuth:S.BillingService.selfie,H=s.useCallback(async(...e)=>{if("face_authen"===$)return void await T(...e);try{if(!await U({service:q,input:X,output:{...d.buildBillingOutput(e?.[0]||{}),sdkStatus:S.BillingStatus.success}}))return}catch(e){console.error(e)}await T(...e)},[X,q,$,T,U]),J=s.useCallback(e=>{S.ErrorsWithoutBilling.includes(e.code)?C(e):(U({service:q,input:X,output:{error:e,sdkStatus:S.BillingStatus.fail}}),C&&C(e))},[U,q,X,C]),N=s.useCallback(()=>{U({service:q,input:X,output:{sdkStatus:S.BillingStatus.cancel}}),D&&D()},[U,q,X,D]),Q=(t=k,i=c,l=G,a=K,t===S.Mode.ACTIVE&&(a=i?.ActiveLiveness??("v1"===l?I:K)),t===S.Mode.PASSIVE_V2&&(a=i?.PassiveLivenessV2??A),t===S.Mode.PASSIVE&&(a=i?.PassiveLiveness??("v1"===l?V:w)),"string"==typeof t&&t.startsWith("flash")&&(a=i?.FlashLiveness??z),a);return n.jsx(b,{debug:L,children:n.jsx(x,{onDone:T,onError:J,onClose:N,children:n.jsx(P,{customTexts:f,children:n.jsx(E,{onError:J,type:"face_authen"===y?"face_auth":"liveness",children:n.jsx(_,{onError:C,children:n.jsx(B,{customTheme:v,children:n.jsx(h.SDKTrackingProvider,{value:{tracking:{...o}},children:n.jsx(s.Suspense,{fallback:null,children:n.jsx(Q,{...j,onLivenessDetectionDone:H})})})})})})})})})},function(t){let{apiCheck:s,apiCredentials:i,serviceSettings:l,flowId:r,clientSettings:a}=t,o=s&&(l?.enableGetClientSettings??!0);return n.jsx(C,{enableGetClientSettings:o,clientSettings:a,apiCredentials:i,flowId:r,children:n.jsx(e,{...t})})}),W=Object.freeze({__proto__:null,default:T});export{C as C,T as L,P as S,W as i,m as u};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import{P as e,c as a,r as t,j as r,o as s,e as n,b as i,h as c,s as l,i as d}from"./chunk-9390d088.js";import{P as o,O as u}from"./chunk-e468b8ce.js";import{u as f,a as p,S as m,R as g,U as y}from"./chunk-afb105f2.js";import{d as _,m as C}from"./chunk-4da2a90d.js";import{L as h}from"./chunk-dad8ede3.js";import{t as R}from"./chunk-fdbce3d2.js";let v=e=>{let{clientSettings:i,onError:c,onStepDone:l,logCredentials:d,uiOnlyComponent:o,detectIdCard:u,outputEncryptionSettings:g,steps:y,customTheme:C}=e,{settings:h}=f({clientSettings:i}),{themeVersion:R}=a.useSDKSettings(),v=t.useCallback(async e=>await l({...e,restartSession:I?.handleRestartSession}),[l,I?.handleRestartSession]),I=p({settings:h,onError:c,detectIdCard:u,outputEncryptionSettings:g,steps:y,onStepDone:v});return r.jsx(s,{theme:{...C,themeVersion:R,defaultThemes:_},children:r.jsx(n.SDKTrackingProvider,{value:{tracking:{...d}},children:r.jsx(o,{...e,onStepDone:v,settings:h,scannerTypeCons:m,...I})})})};v.propTypes={clientSettings:e.shape({}),onError:e.func,onStepDone:e.func,logCredentials:e.shape({}),readIDCardUIOnlyComponent:e.func,uiOnlyComponent:e.func,steps:e.arrayOf(e.shape({})),detectIdCard:e.func,outputEncryptionSettings:e.shape({}),customTheme:e.shape({})},v.defaultProps={clientSettings:void 0,onError:()=>{},onStepDone:()=>{},logCredentials:{enable:!0},readIDCardUIOnlyComponent:g,uiOnlyComponent:y,steps:void 0,detectIdCard:void 0,outputEncryptionSettings:null,customTheme:{}};let I={id_card_sanity:3,portrait_sanity:3,face_liveness_with_card_tampering_ocr:3,compare_faces:3},F={card_sanity:!0,card_tampering:!0,card_ocr:!0,face_sanity:!0,face_liveness:!0,compare_faces:!0,search_face:!0,index_face:!0},T="ID_CARD",A="FACE_LIVENESS",k="IDLE",S={},b={REACH_RETRY_LIMIT:{en:"You have reached the retry limit. Please try again later.",vi:"Bạn đ\xe3 vượt qu\xe1 số lần thử. Vui l\xf2ng thử lại sau."},FAIL_STEP:{en:"Please try again at step: <%= step %>.",vi:"Vui l\xf2ng thử lại ở bước: <%= step %>."},FAIL_FRONT_CARD_SANITY:{en:"The front side of your ID card failed sanity check.",vi:"H\xecnh ảnh Mặt trước của GTTT kh\xf4ng đạt chất lượng y\xeau cầu."},FAIL_FRONT_CARD_TAMPERING:{en:"The front side of your ID card failed tampering check.",vi:"H\xecnh ảnh Mặt trước của GTTT kh\xf4ng hợp lệ."},FAIL_FRONT_CARD_OCR:{en:"Cannot read information on the front side of your ID card.",vi:"Kh\xf4ng đọc được th\xf4ng tin từ h\xecnh ảnh Mặt trước của GTTT."},FAIL_BACK_CARD_SANITY:{en:"The back side of your ID card failed sanity check.",vi:"H\xecnh ảnh Mặt sau của GTTT kh\xf4ng đạt chất lượng y\xeau cầu."},FAIL_BACK_CARD_TAMPERING:{en:"The back side of your ID card failed tampering check.",vi:"H\xecnh ảnh Mặt sau của GTTT kh\xf4ng hợp lệ."},FAIL_BACK_CARD_OCR:{en:"Cannot read information on the back side of your ID card.",vi:"Kh\xf4ng đọc được th\xf4ng tin từ h\xecnh ảnh Mặt sau của GTTT."},FAIL_FACE_SANITY:{en:"Selfie step failed sanity check.",vi:"H\xecnh ảnh khu\xf4n mặt kh\xf4ng đạt chất lượng y\xeau cầu."},FAIL_FACE_LIVENESS:{en:"Selfie step failed liveness check.",vi:"H\xecnh ảnh khu\xf4n mặt kh\xf4ng hợp lệ."},FAIL_COMPARE_FACE:{en:"Failed compare faces between ID photo and selfie.",vi:"H\xecnh ảnh khu\xf4n mặt tr\xean GTTT kh\xf4ng giống h\xecnh chụp ch\xe2n dung"},RETRY_BUTTON:{en:"Retry",vi:"Thử lại"},STOP_BUTTON:{en:"Stop",vi:"Dừng"},FRONT_CARD:{en:"Front Card",vi:"Mặt trước"},BACK_CARD:{en:"Back Card",vi:"Mặt sau"},ID_CARD:{en:"ID Card",vi:"Thẻ ID"},FACE_LIVENESS:{en:"Face Liveness",vi:"Nhận diện khu\xf4n mặt"}};function L(e){var a;if("object"!=typeof(a=e)||"function"!=typeof a.then)return"pending";let t={};return Promise.race([e,t]).then(e=>e===t?"pending":"fulfilled",()=>"rejected")}let w=(e,a)=>{if(!i(a,"face_liveness"))return!1;let t=i(e,"verifyFaceLivenessResult.is_live",!1),r=i(e,"verifyFaceLivenessResult.status","");return!t||"success"!==r},E=(e,a)=>{if(!i(a,"card_sanity"))return!1;let t=i(e,"apiResult.sanityResult.status",""),r=i(e,"apiResult.sanityResult.card_sanity.verdict","");return"success"!==t||"good"!==r},D=e=>!!i(e,"errors")||"success"!==i(e,"data.status","")||"good"!==i(e,"data.card_tampering.verdict",""),O=e=>!!i(e,"errors")||"success"!==i(e,"data.status",""),N=e=>{let a=i(e,"compare_faces",[]);return a[0]?.result!=="matched"||1!==a.filter(e=>e?.result==="matched").length||e.errors},P=async(e,a,t)=>{if(i(a,"card_tampering")){let a=i(e.current,"frontCard.apiResult.detectIDTamperingBackground");if("fulfilled"===await L(a)){let{result:a,message:t}=await i(e.current,"frontCard.apiResult.detectIDTamperingBackground"),r=D(a),s={frontCard:{apiResult:{tamperingInfo:{...a?.data,message:r?i(t,"error"):i(t,"success")}}}};if(C(e.current,s),r)return!0}if(t){let a=i(e.current,"backCard.apiResult.detectIDTamperingBackground");if("fulfilled"===await L(a)){let{result:a,message:t}=await i(e.current,"backCard.apiResult.detectIDTamperingBackground"),r=D(a),s={backCard:{apiResult:{tamperingInfo:{...a?.data,message:r?i(t,"error"):i(t,"success")}}}};if(C(e.current,s),r)return!0}}}if(i(a,"card_ocr")){let a=i(e.current,"frontCard.apiResult.readIDCardBackground");if("fulfilled"===await L(a)){let{result:a,message:t}=await i(e.current,"frontCard.apiResult.readIDCardBackground"),r=O(a),s={frontCard:{apiResult:{cardInfo:{...a?.data,message:r?i(t,"error"):i(t,"success")}}}};if(C(e.current,s),r)return!0}if(t){let a=i(e.current,"backCard.apiResult.readIDCardBackground");if("fulfilled"===await L(a)){let{result:a,message:t}=await i(e.current,"backCard.apiResult.readIDCardBackground"),r=O(a),s={backCard:{apiResult:{cardInfo:{...a?.data,message:r?i(t,"error"):i(t,"success")}}}};if(C(e.current,s),r)return!0}}}return!1},x=async(e,a,t)=>{let r=!1;if(i(a,"card_tampering")){let{result:a,message:s}=await i(e.current,"frontCard.apiResult.detectIDTamperingBackground"),n=D(a);r=r||n;let c={frontCard:{apiResult:{tamperingInfo:{...a?.data,message:n?i(s,"error"):i(s,"success")}}}};if(C(e.current,c),t){let{result:a}=await i(e.current,"backCard.apiResult.detectIDTamperingBackground"),t=D(a);r=r||t;let n={backCard:{apiResult:{tamperingInfo:{...a?.data,message:t?i(s,"error"):i(s,"success")}}}};C(e.current,n)}}if(i(a,"card_ocr")){let{result:a,message:s}=await i(e.current,"frontCard.apiResult.readIDCardBackground"),n=O(a);r=r||n;let c={frontCard:{apiResult:{cardInfo:{...a?.data,message:n?i(s,"error"):i(s,"success")}}}};if(C(e.current,c),t){let{result:a}=await i(e.current,"backCard.apiResult.readIDCardBackground"),t=O(a);r=r||t;let n={backCard:{apiResult:{cardInfo:{...a?.data,message:t?i(s,"error"):i(s,"success")}}}};C(e.current,n)}}return r},j=(e,a)=>{for(let t in e)a.includes(t)?delete e[t]:"object"==typeof e[t]&&j(e[t],a);return e},B=e=>j(e.current,["message","step","restartSession","detectIDTamperingBackground","readIDCardBackground"]),K=(e,a,t)=>{let r=[];if(i(e,"frontCard.apiResult.sanityResult")&&"good"!==i(e,"frontCard.apiResult.sanityResult.card_sanity.verdict","")){let a=i(e,"frontCard.apiResult.sanityResult.message",null);a?.[t]?r.push(a[t]):r.push(b.FAIL_FRONT_CARD_SANITY[t])}if(i(e,"frontCard.apiResult.tamperingInfo")&&"good"!==i(e,"frontCard.apiResult.tamperingInfo.card_tampering.verdict","")){let a=i(e,"frontCard.apiResult.tamperingInfo.message",null);a?.[t]?r.push(a[t]):r.push(b.FAIL_FRONT_CARD_TAMPERING[t])}if(i(e,"frontCard.apiResult.cardInfo")&&"success"!==i(e,"frontCard.apiResult.cardInfo.status","")){let a=i(e,"frontCard.apiResult.cardInfo.message",null);a?.[t]?r.push(a[t]):r.push(b.FAIL_FRONT_CARD_OCR[t])}if(i(e,"backCard.apiResult.sanityResult")&&"good"!==i(e,"backCard.apiResult.sanityResult.card_sanity.verdict","")){let a=i(e,"backCard.apiResult.sanityResult.message",null);a?.[t]?r.push(a[t]):r.push(b.FAIL_BACK_CARD_SANITY[t])}if(i(e,"backCard.apiResult.tamperingInfo")&&"good"!==i(e,"backCard.apiResult.tamperingInfo.card_tampering.verdict","")){let a=i(e,"backCard.apiResult.tamperingInfo.message",null);a?.[t]?r.push(a[t]):r.push(b.FAIL_BACK_CARD_TAMPERING[t])}if(i(e,"backCard.apiResult.cardInfo")&&"success"!==i(e,"backCard.apiResult.cardInfo.status","")){let a=i(e,"backCard.apiResult.cardInfo.message",null);a?.[t]?r.push(a[t]):r.push(b.FAIL_BACK_CARD_OCR[t])}if(i(e,"faceLiveness.verifyFacePortraitResult")&&"good"!==i(e,"faceLiveness.verifyFacePortraitResult.portrait_sanity.verdict","")){let a=i(e,"faceLiveness.verifyFacePortraitResult.message",null);a?.[t]?r.push(a[t]):r.push(b.FAIL_FACE_SANITY[t])}if(i(e,"faceLiveness.verifyFaceLivenessResult")&&!i(e,"faceLiveness.verifyFaceLivenessResult.is_live",!1)){let a=i(e,"faceLiveness.verifyFaceLivenessResult.message",null);a?.[t]?r.push(a[t]):r.push(b.FAIL_FACE_LIVENESS[t])}if(i(e,"compareFaces",null)&&N(i(e,"compareFaces"))){let a=i(e,"compareFaces.message",null);a?.[t]?r.push(a[t]):r.push(b.FAIL_COMPARE_FACE[t])}return{retryAt:a,results:r}},M=e=>{let a=i(e,"frontCard.apiResult.cardInfo.card_information",[]).find(e=>"id"===e.field);return i(a,"value","")},{Errors:Y,IDCardSide:G,FaceDirection:U,Mode:V}=l,q=[],H=()=>{q=[]},J=()=>new Promise(e=>{let a=setInterval(()=>{q.every(e=>e.id)&&(e(),clearInterval(a))},200)});async function W({hasBackCardStep:e,stepResult:a,frontCardId:t,qrImageId:r,sdkAdapter:s,onError:n,refEkycResult:l,handleFailCardTamperingOCRBackground:d,services:o}){let u,f,p,m;if(!(s instanceof c))return a;let{cardSide:g,cardType:y,recordedVideos:_,qrScannedResult:C,image:h}=a;if(g===G.BACK&&!t)return n(Y.missing_front_id_card),!1;let{uploadImage:R,uploadFiles:v,requestVerifyIDCard:I,detectIDTampering:F,readIDCard:T}=s,A=[R({file:h?.blob,label:`id_card.${y}.${g}`})];C&&C.image&&C.result&&A.push(R({file:C?.image?.blob,label:"qr_code",rawString:C?.result}));let[k,S]=await Promise.all(A);if(k.errors)return n({...Y.upload_error,details:k.reason}),!1;let b=k?.data?.image_id,L=S?.data?.image_data||r;g===G.FRONT?u=b:(u=t,f=b);let w={qrImageId:L,frontCardId:u,backCardId:f};if(i(o,"card_sanity")){let{result:e,message:t}=await I({card_type:y,image1:{id:g===G.FRONT?u:f}});if("good"!==i(e,"data.card_sanity.verdict","")||e.errors)return{...a,apiResult:{...w,sanityResult:{...e?.data,message:i(t,"error")}}};w.sanityResult={...e?.data,message:i(t,"success")}}if(g===G.BACK&&"function"==typeof d&&await P(l,o,e))return d(),{...a,apiResult:w};if(i(o,"card_tampering")){let e={card_type:y,image:{id:u},...g===G.FRONT?{image2:void 0,level:"1"}:{image2:{id:f},level:"concurrent"}};if(L&&(e.qr1_images=[{id:L}]),_&&Array.isArray(_)&&_.length>0){let a=_.filter(e=>null!==e.id),t=_.filter(e=>null===e.id&&e.frames.length>0),r=await Promise.all(t.map(e=>v({frames:e.frames})));e.videos=[...a.map(e=>({id:e.id})),...r.map(e=>({id:e.data.file_id}))]}p=F(e)}if(i(o,"card_ocr")){let e={card_type:y,image1:g===G.FRONT?{id:u}:{id:f}};L&&(e.qr1_images={id:L}),m=T(e)}return{...a,apiResult:{...w,detectIDTamperingBackground:p,readIDCardBackground:m}}}async function z({stepResult:e,sdkAdapter:a,services:t}){let{uploadImage:r,uploadFiles:s,verifyFaceLiveness:n,requestVerifyPortrait:c}=a,l=i(e,"frontalFaces",[]).map(e=>r({file:e,label:"portrait",metadata:JSON.stringify({gesture:U.FRONTAL},{"Content-Type":"multipart/form-data"})})),d=i(e,"steps",[]).map(e=>r({file:e?.image?.blob,label:"portrait",metadata:JSON.stringify({gesture:e?.name})},{"Content-Type":"multipart/form-data"})),o=await Promise.all([...l,...d]),u=o.slice(0,l.length),f=o.slice(-d.length);await J();let{video:p}=e;p&&await s({file:p,label:"video"},{"Content-Type":"multipart/form-data"});let m={...e,frontalFaces:u.map((a,t)=>({id:a?.data?.image_id,blob:e?.frontalFaces?.[t]})),steps:f.map((a,t)=>({image:{id:a?.data?.image_id,blob:e?.steps?.[t]?.image?.blob},name:e?.steps?.[t]?.name})),capturedFrames:e?.capturedFrames};if(i(t,"face_sanity")){let{result:e,message:a}=await c({image:{id:u?.[u.length-1]?.data?.image_id}});if("good"!==i(e,"data.portrait_sanity.verdict","")||i(e,"errors"))return{...m,verifyFacePortraitResult:{...i(e,"data",i(e,"error",{})),message:i(a,"error")}};m.verifyFacePortraitResult={...e?.data,message:i(a,"success")}}if(i(t,"face_liveness")){let{result:a,message:t}=await n({images:u.map(e=>({id:e?.data?.image_id})),gesture_images:f.map((a,t)=>({gesture:e?.steps?.[t]?.name,images:[{id:a?.data?.image_id}]})),videos:q}),r=i(a,"data.is_live");m.verifyFaceLivenessResult={...i(a,"data",i(a,"error",{})),message:r?i(t,"success"):i(t,"error")}}return m}async function $({stepResult:e,sdkAdapter:a,services:t}){let{uploadImage:r,uploadFiles:s,verifyFaceLiveness:n,requestVerifyPortrait:c}=a,l=i(e,"frontalFaces",[]).map(e=>r({file:e,label:"portrait",metadata:JSON.stringify({gesture:U.FRONTAL},{"Content-Type":"multipart/form-data"})})),d=await Promise.all(l);await J();let{video:o}=e;o&&Array.isArray(o)&&o.length>0&&await s({file:o[0],label:"video"},{"Content-Type":"multipart/form-data"});let u={...e,images:d.map((a,t)=>({id:a?.data?.image_id,blob:e?.frontalFaces?.[t]})),frontalFaces:d.map((a,t)=>({id:a?.data?.image_id,blob:e?.frontalFaces?.[t]})),capturedFrames:e?.capturedFrames};if(i(t,"face_sanity")){let{result:e,message:a}=await c({image:{id:d?.[d.length-1]?.data?.image_id}});if("good"!==i(e,"data.portrait_sanity.verdict","")||i(e,"errors"))return{...u,verifyFacePortraitResult:{...i(e,"data",i(e,"error",{})),message:i(a,"error")}};u.verifyFacePortraitResult={...e?.data,message:i(a,"success")}}if(i(t,"face_liveness")){let{result:e,message:a}=await n({images:d.map(e=>({id:e?.data?.image_id})),videos:q}),t=i(e,"data.is_live");u.verifyFaceLivenessResult={...i(e,"data",i(e,"error",{})),message:t?i(a,"success"):i(a,"error")}}return u}async function Q({stepResult:e,sdkAdapter:a,services:t}){let{uploadImage:r,uploadFiles:s,verifyFaceLiveness:n,requestVerifyPortrait:c}=a,l=i(e,"frontalFaces",[]).map(e=>r({file:e,label:"portrait",metadata:JSON.stringify({gesture:U.FRONTAL},{"Content-Type":"multipart/form-data"})})),d=await Promise.all(l);await J();let{video:o}=e;o&&Array.isArray(o)&&o.length>0&&await s({file:o[0],label:"video"},{"Content-Type":"multipart/form-data"});let u={...e,frontalFaces:d.map((a,t)=>({id:a?.data?.image_id,blob:e?.frontalFaces?.[t]})),capturedFrames:e?.capturedFrames};if(i(t,"face_sanity")){let{result:e,message:a}=await c({image:{id:d?.[d.length-1]?.data?.image_id}});if("good"!==i(e,"data.portrait_sanity.verdict","")||i(e,"errors"))return{...u,verifyFacePortraitResult:{...i(e,"data",i(e,"error",{})),message:i(a,"error")}};u.verifyFacePortraitResult={...e?.data,message:i(a,"success")}}if(i(t,"face_liveness")){let{result:e,message:a}=await n({images:d.map(e=>({id:e?.data?.image_id})),videos:q}),t=i(e,"data.is_live");u.verifyFaceLivenessResult={...i(e,"data",i(e,"error",{})),message:t?i(a,"success"):i(a,"error")}}return u}async function X({mode:e,stepResult:a,sdkAdapter:t,services:r}){return e===V.ACTIVE?z({stepResult:a,sdkAdapter:t,services:r}):e===V.PASSIVE?$({stepResult:a,sdkAdapter:t,services:r}):e.includes("flash")?Q({stepResult:a,sdkAdapter:t,services:r}):void 0}async function Z(e){let{livenessMode:a,sdkAdapter:t,onError:r,services:s,hasBackCardStep:n,hasIDFlow:l,...d}=e;if(!(t instanceof c))return d;let{compareFaces:o,searchFaces:u,indexFaces:f}=t,p=i(e,"frontCard.apiResult.frontCardId",null),m=null,g=i(e,"faceLiveness.frontalFaces",[]);m=g[g.length-1]?.id;let y=p&&m,_={...d};if(i(s,"compare_faces")&&l&&y){let{result:e,message:a}=await o({image1:{id:p},image2:{id:m}});if(N(i(e,"data")))return{..._,step:T,compareFaces:{...i(e,"data",i(e,"error",{})),message:i(a,"error")}};_={..._,compareFaces:{...e?.data,message:i(a,"success")}}}if(i(s,"search_face")){let{result:e,message:a}=await u({image:{id:m}}),t=i(e,"data.faces",null);if(Array.isArray(t)&&t.length)return{..._,searchFaces:{...i(e,"data",i(e,"error",{})),message:i(a,"error")}};_={..._,searchFaces:{...e?.data,message:i(a,"success")}}}if(i(s,"index_face")){let a=M(e),{result:t}=await f({image:{id:m,...a?{metadata:JSON.stringify({id:M(e)})}:{}}});_={..._,indexFaces:t?.data}}return _}let ee=d.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
justify-content: space-between;
|
|
4
|
+
align-items: center;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
padding: 10px;
|
|
7
|
+
`,ea=d.button`
|
|
8
|
+
margin-top: 20px;
|
|
9
|
+
width: 100%;
|
|
10
|
+
max-width: 160px;
|
|
11
|
+
height: 50px;
|
|
12
|
+
background-color: #0276f1;
|
|
13
|
+
border: 0;
|
|
14
|
+
outline: none;
|
|
15
|
+
border-radius: 0.25rem;
|
|
16
|
+
color: #fff;
|
|
17
|
+
font-weight: 400;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
font-size: 1rem;
|
|
20
|
+
`,et=d.div`
|
|
21
|
+
margin: 20px 0;
|
|
22
|
+
width: 100%;
|
|
23
|
+
display: flex;
|
|
24
|
+
justify-content: space-evenly;
|
|
25
|
+
gap: 10px;
|
|
26
|
+
`,er=({onRetry:e,onStop:t,children:s})=>{let{lang:n}=a.useSDKSettings();return r.jsxs(ee,{children:[s,r.jsxs(et,{children:[r.jsx(ea,{onClick:t,children:b.STOP_BUTTON[n]}),r.jsx(ea,{onClick:e,children:b.RETRY_BUTTON[n]})]})]})};er.propTypes={children:e.node,onRetry:e.func,onStop:e.func},er.defaultProps={children:null,onRetry:()=>{},onStop:()=>{}};let es=d.div`
|
|
27
|
+
display: flex;
|
|
28
|
+
justify-content: space-between;
|
|
29
|
+
align-items: center;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
padding: 10px;
|
|
32
|
+
`,en=d.button`
|
|
33
|
+
margin-top: 20px;
|
|
34
|
+
width: 100%;
|
|
35
|
+
max-width: 160px;
|
|
36
|
+
height: 50px;
|
|
37
|
+
background-color: #0276f1;
|
|
38
|
+
border: 0;
|
|
39
|
+
outline: none;
|
|
40
|
+
border-radius: 0.25rem;
|
|
41
|
+
color: #fff;
|
|
42
|
+
font-weight: 400;
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
font-size: 1rem;
|
|
45
|
+
`,ei=({onStop:e,children:t})=>{let{lang:s}=a.useSDKSettings();return r.jsxs(es,{children:[t,r.jsx(en,{onClick:e,children:b.STOP_BUTTON[s]})]})};ei.propTypes={children:e.node,onStop:e.func},ei.defaultProps={children:null,onStop:()=>{}};let ec="FAIL_CARD_SANITY",el="FAIL_FACE_SANITY",ed="FAIL_LIVENESS_TAMPERING_OCR_RETRY_ID",eo="FAIL_LIVENESS_TAMPERING_OCR_RETRY_FACE",eu="FAIL_COMPARE_FACES",ef="RESET_ACTIONS",ep="SET_STEP",em={currentStep:null,readIdCardKey:0,faceLivenessKey:0,cardSanityRetries:-1,compareFacesRetries:-1,portraitSanityRetries:-1,faceLivenessCardTamperingOCRRetries:-1};function eg(e,a){switch(a.type){case ec:return{...e,cardSanityRetries:e.cardSanityRetries+1};case el:return{...e,portraitSanityRetries:e.portraitSanityRetries+1,faceLivenessKey:e.faceLivenessKey+1};case ed:return{...e,readIdCardKey:e.readIdCardKey+1,faceLivenessCardTamperingOCRRetries:e.faceLivenessCardTamperingOCRRetries+1,currentStep:T};case eo:return{...e,faceLivenessKey:e.faceLivenessKey+1,faceLivenessCardTamperingOCRRetries:e.faceLivenessCardTamperingOCRRetries+1,currentStep:A};case eu:return{...e,compareFacesRetries:e.compareFacesRetries+1,readIdCardKey:e.readIdCardKey+1,faceLivenessKey:e.faceLivenessKey+1,currentStep:T};case ep:return{...e,currentStep:a.payload};case ef:return em;default:return e}}let{IDCardSide:ey,Errors:e_}=l,eC={padding:50,paddingBottom:20},eh=({content:e,lang:a,isStopPopup:t=!1})=>{var s,n;let i;return r.jsxs(r.Fragment,{children:[r.jsx("div",{style:eC,children:e.results.map((e,a)=>r.jsx("div",{children:e},a))}),t?null:r.jsx("div",{style:{padding:50,paddingBottom:0,color:"red"},children:(s=a,i=Array.isArray(n=e.retryAt)?n.map(e=>b[e][s]).join(", "):b[n][s],R(b.FAIL_STEP[s])({step:i}))})]})};function eR(e){let{lang:s}=a.useSDKSettings(),{onDoneEkyc:n,readIDCardProps:c,livenessDetectionProps:d,onError:u,onClose:f,sdkAdapter:p,flow:m,customTheme:g}=e,{clientSettings:y}=p,[_,R]=t.useState(!1),[b,L]=t.useState(!1),[D,O]=t.useState({}),[N,j]=t.useState(!1),[M,Y]=t.useReducer(eg,em),{currentStep:G,readIdCardKey:U,faceLivenessKey:V,cardSanityRetries:J,compareFacesRetries:z,portraitSanityRetries:$,faceLivenessCardTamperingOCRRetries:Q}=M,ee=t.useRef(S),ea=t.useRef(),et=t.useRef(),es=t.useRef(),en=t.useRef(""),ef=t.useRef(""),{cardSanityMaxRetries:eC,portraitSanityMaxRetries:eR,faceLivenessCardTamperingOCRMaxRetries:ev,compareFacesMaxRetries:eI,services:eF}=t.useMemo(()=>(e=>{let a=i(e,"data.settings.sdk_settings.sdk_adapter.services",null),t=i(e,"data.settings.sdk_settings.sdk_adapter.retries",null),r=C({},F,a),{id_card_sanity:s,portrait_sanity:n,face_liveness_with_card_tampering_ocr:c,compare_faces:l}=C({},I,t);return{cardSanityMaxRetries:s,portraitSanityMaxRetries:n,faceLivenessCardTamperingOCRMaxRetries:c,compareFacesMaxRetries:l,services:r}})(D),[D]),eT=t.useMemo(()=>{let e;return(m===l.EkycFlow.FULL_FLOW||m===l.EkycFlow.ID_CARD)&&(i(e=eF,"card_sanity",!1)||i(e,"card_tampering",!1)||i(e,"card_ocr",!1))},[m,eF]),eA=t.useMemo(()=>{let e;return(m===l.EkycFlow.FULL_FLOW||m===l.EkycFlow.FACE)&&(i(e=eF,"face_sanity",!1)||i(e,"face_liveness",!1)||i(e,"compare_faces",!1)||i(e,"search_face",!1)||i(e,"index_face",!1))},[m,eF]),ek=i(D,"data.card_types[0].has_back_side",!0),eS=2===i(c,"steps",[]).length||ek;t.useEffect(()=>{(async function e(){O(await y())})()},[y]),t.useEffect(()=>{eT?Y({type:ep,payload:T}):Y({type:ep,payload:A})},[eT]),t.useEffect(()=>()=>{Y({type:"RESET_ACTIONS"}),R(!1),L(!1),ee.current=S,ea.current=null,et.current=null},[]);let eb=t.useCallback(()=>{J+1>=eC?L(!0):(et.current=K(ee.current,T,s),ea.current=()=>{Y({type:ec}),j(!1),"function"==typeof es.current&&es.current()},R(!0))},[eC,J,s]),eL=t.useCallback(()=>{Q+1>=ev?L(!0):(et.current=K(ee.current,T,s),ea.current=()=>{Y({type:ed}),j(!1)},R(!0))},[ev,Q,s]),ew=t.useCallback(()=>{$+1>=eR?L(!0):(et.current=K(ee.current,A,s),ea.current=()=>{Y({type:el}),j(!1)},R(!0))},[eR,$,s]),eE=t.useCallback((e,a)=>{Q+1>=ev?L(!0):(et.current=K(ee.current,e,s),e===T?ea.current=()=>{Y({type:ed}),a||(ee.current=S)}:ea.current=()=>{Y({type:eo})},R(!0))},[ev,Q,s]),eD=t.useCallback(()=>{z+1>=eI?L(!0):(et.current=K(ee.current,[T,A],s),ea.current=()=>{Y({type:eu}),ee.current=S,j(!1)},R(!0))},[eI,z,s]),eO=t.useCallback(async e=>{if(eT&&await x(ee,eF,eS))return T;return!!e&&A},[eT,eF,eS]),eN=t.useCallback(async()=>{try{let e=await Z({...ee.current,livenessMode:d.mode,sdkAdapter:p,onError:u,services:eF,hasBackCardStep:eS,hasIDFlow:eT});if(e)if(ee.current={...ee.current,...e},i(e,"step",null))eD();else{let e=B(ee);n(e);return}}catch(e){u({...e_.api_call_error,details:e})}},[eS,d.mode,p,u,eF,eD,n,eT]),eP=t.useCallback(async({stepResult:e})=>{if(i(e,"cardSide")===ey.FRONT){let a=await W({stepResult:e,frontCardId:en.current,qrImageId:ef.current,onError:u,sdkAdapter:p,services:eF});if(!a)return void j(!1);en.current=a.apiResult.frontCardId,ef.current=a.apiResult.qrImageId;if(ee.current={...ee.current,frontCard:a},E(a,eF))return eb(),{retryAt:ey.FRONT};if(!eS)if(eA)Y({type:ep,payload:A});else{if(await x(ee,eF,eS))return void eL();n(B(ee))}}else if(i(e,"cardSide")===ey.BACK)if(await P(ee,eF,eS))eL();else{let a=await W({hasBackCardStep:eS,stepResult:e,frontCardId:en.current,qrImageId:ef.current,sdkAdapter:p,onError:u,refEkycResult:ee,services:eF,handleFailCardTamperingOCRBackground:eL});if(ee.current={...ee.current,backCard:a},E(a,eF))return eb(),{retryAt:ey.BACK};if(eA)Y({type:ep,payload:A});else{if(await x(ee,eF,eS))return void eL();n(B(ee))}}},[eb,eL,eS,eA,n,u,p,eF]),ex=t.useCallback(async({stepResult:e})=>{if(eT&&await x(ee,eF,eS)){eL(),j(!1);return}let a=await X({mode:i(d,"mode",l.Mode.ACTIVE),stepResult:e,sdkAdapter:p,services:eF});if(ee.current={...ee.current,faceLiveness:a},((e,a)=>{if(!i(a,"face_sanity"))return!1;let t=i(e,"verifyFacePortraitResult.status",""),r=i(e,"verifyFacePortraitResult.portrait_sanity.verdict","");return"success"!==t||"good"!==r})(a,eF))ew();else{let e=await eO(w(a,eF));e?eE(e,!w(a)):await eN()}},[eN,eL,ew,eE,eO,eS,eT,d,p,eF]),ej=t.useCallback(async e=>{let a;return"function"==typeof i(e,"restartSession")&&(es.current=e.restartSession),j(!0),G===T?a=await eP({stepResult:e}):G===A&&(a=await ex({stepResult:e})),j(!1),a},[G,eP,ex]),eB=t.useCallback(()=>{R(!1),ea.current()},[]),eK=t.useCallback(()=>{R(!1),L(!1),n(B(ee)),Y({type:ep,payload:k})},[n]);return r.jsxs(r.Fragment,{children:[G===T?t.createElement(v,{...e,...c,onStepDone:ej,onError:u,onClose:f,clientSettings:D,key:U,customTheme:g}):null,G===A?t.createElement(h,{...e,...d,onFramesCaptured:e=>((e,a)=>{let{uploadFiles:t}=a;t({frames:e,metadata:JSON.stringify({type:"selfie"})},{"Content-Type":"application/json"}).then(e=>{e&&e.data&&e.data.file_id?q.push({id:e.data.file_id}):q.push({id:-1})})})(e,p),onReset:H,onLivenessDetectionDone:ej,onError:u,onClose:f,clientSettings:D,key:V,isLoading:N,customTheme:g}):null,r.jsxs(o,{open:_||b,children:[_&&r.jsx(er,{onRetry:eB,onStop:eK,children:r.jsx(eh,{content:et.current,lang:s})}),b&&r.jsx(ei,{onStop:eK,children:r.jsx(eh,{content:et.current,lang:s,isStopPopup:!0})})]})]})}function ev(e){let{logCredentials:a,ekycFlowComponent:t}=e;return r.jsx(u,{children:r.jsx(n.SDKTrackingProvider,{value:{tracking:{...a}},children:r.jsx(t,{...e})})})}eR.propTypes={sdkAdapter:e.shape({}),onDoneEkyc:e.func,onError:e.func,onClose:e.func,readIDCardProps:e.shape({}),livenessDetectionProps:e.shape({}),flow:e.oneOf([l.EkycFlow.FULL_FLOW,l.EkycFlow.ID_CARD,l.EkycFlow.FACE]),customTheme:e.shape({})},eR.defaultProps={sdkAdapter:null,onDoneEkyc:()=>{},onError:()=>{},onClose:()=>{},readIDCardProps:{},livenessDetectionProps:{},flow:l.EkycFlow.FULL_FLOW,customTheme:{}},ev.propTypes={logCredentials:e.shape({}),clientSettings:e.shape({}),ekycFlowComponent:e.func},ev.defaultProps={logCredentials:void 0,clientSettings:void 0,ekycFlowComponent:eR};export{ev as default};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import{i as e,P as t,j as n,B as o,r as r,X as i,aU as a,a3 as u,m as l,c as s,D as c,k as d,b as p,aV as f}from"./chunk-9390d088.js";let h=e.table`
|
|
2
|
+
width: 100%;
|
|
3
|
+
height: 100%;
|
|
4
|
+
td {
|
|
5
|
+
text-align: center;
|
|
6
|
+
vertical-align: middle;
|
|
7
|
+
padding: 0;
|
|
8
|
+
border: 0;
|
|
9
|
+
}
|
|
10
|
+
border-spacing: 0;
|
|
11
|
+
table-layout: auto;
|
|
12
|
+
border-collapse: collapse;
|
|
13
|
+
`,v=e.div`
|
|
14
|
+
position: relative;
|
|
15
|
+
`,m=Array.from([,,,].keys()),g=Array.from([,,,].keys());function y(e){let{children:t,x:o,y:r,width:i,height:a,className:u,surroundStyle:l}=e;return n.jsx(h,{className:u,children:n.jsx("tbody",{children:m.map((e,u)=>n.jsx("tr",{style:{height:0===u?r:"auto"},"data-testid":"row",children:g.map((e,r)=>{let s=1===u&&1===r,c="auto";return s?c=i:0===r&&(c=o),n.jsx("td",{"data-testid":s?"centeredCell":"cell",style:{width:c,height:s?a:"auto",...!s?l:{}},children:s?n.jsx(v,{style:{width:c,height:a},children:t}):null},e)})},e))})})}y.propTypes={children:t.node,x:t.string,y:t.string,width:t.string,height:t.string,className:t.string,surroundStyle:t.object},y.defaultProps={children:null,x:"auto",y:"auto",width:"auto",height:"auto",className:"",surroundStyle:{}};let b=e(y)`
|
|
16
|
+
background: transparent;
|
|
17
|
+
position: absolute;
|
|
18
|
+
width: 100%;
|
|
19
|
+
height: 100%;
|
|
20
|
+
top: 0;
|
|
21
|
+
left: 0;
|
|
22
|
+
z-index: ${o+10};
|
|
23
|
+
`;function w(){return(w=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}var x=function(e,t){void 0===t&&(t=!0),r.useEffect(function(){if(t){var n=function(t){"Escape"===t.key&&e(t)};return document.addEventListener("keyup",n),function(){t&&document.removeEventListener("keyup",n)}}},[e,t])},E=function(e,t){void 0===t&&(t=!0),r.useEffect(function(){if(t){var n=function(){e()};return window.addEventListener("resize",n),function(){t&&window.removeEventListener("resize",n)}}},[e,t])},k=function(e,t,n){void 0===n&&(n=!0),r.useEffect(function(){if(n){var o=function(n){var o=Array.isArray(e)?e:[e],r=!1;o.forEach(function(e){if(!e.current||e.current.contains(n.target)){r=!0;return}}),n.stopPropagation(),r||t(n)};return document.addEventListener("mousedown",o),document.addEventListener("touchstart",o),function(){n&&(document.removeEventListener("mousedown",o),document.removeEventListener("touchstart",o))}}},[e,t,n])},O=function(e,t){void 0===t&&(t=!0),r.useEffect(function(){if(t){var n=function(t){if(9===t.keyCode){var n,o=null==e||null==(n=e.current)?void 0:n.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),r=Array.prototype.slice.call(o);if(1===r.length)return void t.preventDefault();var i=r[0],a=r[r.length-1];t.shiftKey&&document.activeElement===i?(t.preventDefault(),a.focus()):document.activeElement===a&&(t.preventDefault(),i.focus())}};return document.addEventListener("keydown",n),function(){t&&document.removeEventListener("keydown",n)}}},[e,t])},T="undefined"!=typeof window?r.useLayoutEffect:r.useEffect,j={tooltip:{position:"absolute",zIndex:999},modal:{position:"relative",margin:"auto"}},C={height:"8px",width:"16px",position:"absolute",background:"transparent",color:"#FFF",zIndex:-1},S={tooltip:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",zIndex:999},modal:{position:"fixed",top:"0",bottom:"0",left:"0",right:"0",display:"flex",zIndex:999}},A=["top left","top center","top right","right top","right center","right bottom","bottom left","bottom center","bottom right","left top","left center","left bottom"],L=function(e,t,n,o,r){var i=r.offsetX,a=r.offsetY,u=8*!!o,l=n.split(" "),s=e.top+e.height/2,c=e.left+e.width/2,d=t.height,p=t.width,f=s-d/2,h=c-p/2,v="",m="0%",g="0%";switch(l[0]){case"top":f-=d/2+e.height/2+u,v="rotate(180deg) translateX(50%)",m="100%",g="50%";break;case"bottom":f+=d/2+e.height/2+u,v="rotate(0deg) translateY(-100%) translateX(-50%)",g="50%";break;case"left":h-=p/2+e.width/2+u,v=" rotate(90deg) translateY(50%) translateX(-25%)",g="100%",m="50%";break;case"right":h+=p/2+e.width/2+u,v="rotate(-90deg) translateY(-150%) translateX(25%)",m="50%"}switch(l[1]){case"top":f=e.top,m=e.height/2+"px";break;case"bottom":f=e.top-d+e.height,m=d-e.height/2+"px";break;case"left":h=e.left,g=e.width/2+"px";break;case"right":h=e.left-p+e.width,g=p-e.width/2+"px"}return f="top"===l[0]?f-a:f+a,{top:f,left:h="left"===l[0]?h-i:h+i,transform:v,arrowLeft:g,arrowTop:m}},P=function(e){var t={top:0,left:0,width:window.innerWidth,height:window.innerHeight};if("string"==typeof e){var n=document.querySelector(e);null!==n&&(t=n.getBoundingClientRect())}return t},R=function(e,t,n,o,r,i){var a=r.offsetX,u=r.offsetY,l={arrowLeft:"0%",arrowTop:"0%",left:0,top:0,transform:"rotate(135deg)"},s=0,c=P(i),d=Array.isArray(n)?n:[n];for((i||Array.isArray(n))&&(d=[].concat(d,A));s<d.length;){var p={top:(l=L(e,t,d[s],o,{offsetX:a,offsetY:u})).top,left:l.left,width:t.width,height:t.height};if(p.top<=c.top||p.left<=c.left||p.top+p.height>=c.top+c.height||p.left+p.width>=c.left+c.width)s++;else break}return l},D=0,z=function(){var e=document.getElementById("popup-root");return null===e&&((e=document.createElement("div")).setAttribute("id","popup-root"),document.body.appendChild(e)),e},N=r.forwardRef(function(e,t){var n=e.trigger,o=void 0===n?null:n,u=e.onOpen,l=void 0===u?function(){}:u,s=e.onClose,c=void 0===s?function(){}:s,d=e.defaultOpen,p=e.open,f=void 0===p?void 0:p,h=e.disabled,v=void 0!==h&&h,m=e.nested,g=void 0!==m&&m,y=e.closeOnDocumentClick,b=void 0===y||y,A=e.repositionOnResize,L=e.closeOnEscape,P=e.on,N=void 0===P?["click"]:P,$=e.contentStyle,I=void 0===$?{}:$,M=e.arrowStyle,X=void 0===M?{}:M,B=e.overlayStyle,Y=e.className,F=void 0===Y?"":Y,K=e.position,H=void 0===K?"bottom center":K,W=e.modal,q=void 0!==W&&W,_=e.lockScroll,V=void 0!==_&&_,U=e.arrow,G=void 0===U||U,J=e.offsetX,Q=void 0===J?0:J,Z=e.offsetY,ee=void 0===Z?0:Z,et=e.mouseEnterDelay,en=void 0===et?100:et,eo=e.mouseLeaveDelay,er=void 0===eo?100:eo,ei=e.keepTooltipInside,ea=void 0!==ei&&ei,eu=e.children,el=r.useState(f||void 0!==d&&d),es=el[0],ec=el[1],ed=r.useRef(null),ep=r.useRef(null),ef=r.useRef(null),eh=r.useRef(null),ev=r.useRef("popup-"+ ++D),em=!!q||!o,eg=r.useRef(0);T(function(){return es?(eh.current=document.activeElement,eC(),ej(),eO()):eT(),function(){clearTimeout(eg.current)}},[es]),r.useEffect(function(){"boolean"==typeof f&&(f?ey():eb())},[f,v]);var ey=function(e){es||v||(ec(!0),setTimeout(function(){return l(e)},0))},eb=function(e){var t;es&&!v&&(ec(!1),em&&(null==(t=eh.current)||t.focus()),setTimeout(function(){return c(e)},0))},ew=function(e){null==e||e.stopPropagation(),es?eb(e):ey(e)},ex=function(e){clearTimeout(eg.current),eg.current=setTimeout(function(){return ey(e)},en)},eE=function(e){null==e||e.preventDefault(),ew()},ek=function(e){clearTimeout(eg.current),eg.current=setTimeout(function(){return eb(e)},er)},eO=function(){em&&V&&(document.getElementsByTagName("body")[0].style.overflow="hidden")},eT=function(){em&&V&&(document.getElementsByTagName("body")[0].style.overflow="auto")},ej=function(){var e,t=null==ep||null==(e=ep.current)?void 0:e.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'),n=Array.prototype.slice.call(t)[0];null==n||n.focus()};r.useImperativeHandle(t,function(){return{open:function(){ey()},close:function(){eb()},toggle:function(){ew()}}});var eC=function(){if(!em&&es){if((null==ed?void 0:ed.current)&&(null==ed?void 0:ed.current)&&(null==ep?void 0:ep.current)){var e,t,n=R(ed.current.getBoundingClientRect(),ep.current.getBoundingClientRect(),H,G,{offsetX:Q,offsetY:ee},ea);ep.current.style.top=n.top+window.scrollY+"px",ep.current.style.left=n.left+window.scrollX+"px",G&&ef.current&&(ef.current.style.transform=n.transform,ef.current.style.setProperty("-ms-transform",n.transform),ef.current.style.setProperty("-webkit-transform",n.transform),ef.current.style.top=(null==(e=X.top)?void 0:e.toString())||n.arrowTop,ef.current.style.left=(null==(t=X.left)?void 0:t.toString())||n.arrowLeft)}}};x(eb,void 0===L||L),O(ep,es&&em),E(eC,void 0===A||A),k(o?[ep,ed]:[ep],eb,b&&!g);var eS=function(){var e=em?j.modal:j.tooltip,t={className:"popup-content "+(""!==F?F.split(" ").map(function(e){return e+"-content"}).join(" "):""),style:w({},e,I,{pointerEvents:"auto"}),ref:ep,onClick:function(e){e.stopPropagation()}};return!q&&N.indexOf("hover")>=0&&(t.onMouseEnter=ex,t.onMouseLeave=ek),t},eA=function(){return i.createElement("div",Object.assign({},eS(),{key:"C",role:em?"dialog":"tooltip",id:ev.current}),G&&!em&&i.createElement("div",{ref:ef,style:C},i.createElement("svg",{"data-testid":"arrow",className:"popup-arrow "+(""!==F?F.split(" ").map(function(e){return e+"-arrow"}).join(" "):""),viewBox:"0 0 32 16",style:w({position:"absolute"},X)},i.createElement("path",{d:"M16 0l16 16H0z",fill:"currentcolor"}))),eu&&"function"==typeof eu?eu(eb,es):eu)},eL=!(N.indexOf("hover")>=0),eP=em?S.modal:S.tooltip,eR=[eL&&i.createElement("div",{key:"O","data-testid":"overlay","data-popup":em?"modal":"tooltip",className:"popup-overlay "+(""!==F?F.split(" ").map(function(e){return e+"-overlay"}).join(" "):""),style:w({},eP,void 0===B?{}:B,{pointerEvents:b&&g||em?"auto":"none"}),onClick:b&&g?eb:void 0,tabIndex:-1},em&&eA()),!em&&eA()];return i.createElement(i.Fragment,null,function(){for(var e={key:"T",ref:ed,"aria-describedby":ev.current},t=Array.isArray(N)?N:[N],n=0,r=t.length;n<r;n++)switch(t[n]){case"click":e.onClick=ew;break;case"right-click":e.onContextMenu=eE;break;case"hover":e.onMouseEnter=ex,e.onMouseLeave=ek;break;case"focus":e.onFocus=ex,e.onBlur=ek}if("function"==typeof o){var a=o(es);return!!o&&i.cloneElement(a,e)}return!!o&&i.cloneElement(o,e)}(),es&&a.createPortal(eR,z()))});let $=u`
|
|
24
|
+
.popup-content {
|
|
25
|
+
margin: auto;
|
|
26
|
+
width: 100%;
|
|
27
|
+
max-width: 568px;
|
|
28
|
+
background-color: ${l("popup.backgroundColor")};
|
|
29
|
+
padding: ${l("popup.padding")};
|
|
30
|
+
border: ${l("popup.border")};
|
|
31
|
+
border-radius: ${l("popup.borderRadius")};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[role=tooltip].popup-content {
|
|
35
|
+
width: 200px;
|
|
36
|
+
box-shadow: 0 0 3px rgba(0, 0, 0, .16);
|
|
37
|
+
background-color: ${l("popup.backgroundColor")};
|
|
38
|
+
padding: ${l("popup.padding")};
|
|
39
|
+
border: ${l("popup.border")};
|
|
40
|
+
border-radius: ${l("popup.borderRadius")};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.popup-overlay {
|
|
44
|
+
padding: 10px;
|
|
45
|
+
background: ${l("popup.overlay.backgroundColor")};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
[data-popup=tooltip].popup-overlay {
|
|
49
|
+
background: transparent
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.popup-arrow {
|
|
53
|
+
-webkit-filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));
|
|
54
|
+
filter: drop-shadow(0 -3px 3px rgba(0, 0, 0, .16));
|
|
55
|
+
color: #fff;
|
|
56
|
+
stroke-width: 2px;
|
|
57
|
+
stroke: #d7d7d7;
|
|
58
|
+
stroke-dasharray: 30px;
|
|
59
|
+
stroke-dashoffset: -54px;
|
|
60
|
+
left: 0;
|
|
61
|
+
right: 0;
|
|
62
|
+
top: 0;
|
|
63
|
+
bottom: 0
|
|
64
|
+
}
|
|
65
|
+
`,I=o+1e3,M=({open:e=!1,children:t=null,overlayStyle:o={},...r})=>e?n.jsxs(n.Fragment,{children:[n.jsx(N,{overlayStyle:{...o,zIndex:I},closeOnDocumentClick:!1,closeOnEscape:!1,modal:!0,open:e,...r,children:t}),n.jsx($,{})]}):null,X=e.div`
|
|
66
|
+
font-size: 18px;
|
|
67
|
+
text-align: center;
|
|
68
|
+
padding: 10px;
|
|
69
|
+
`,B=({contentStyle:e={}})=>{let{lang:t,warmupMessage:o}=s.useSDKSettings(),r=c(),i=o?o?.[t]:r("warmup_intro");return n.jsx(M,{open:!0,contentStyle:e,children:n.jsx(X,{className:"warmup-message",children:i})})},Y={LANDSCAPE:"landscape",PORTRAIT:"portrait",DESKTOP:"desktop"},F=e=>{let t=r.useRef(window.matchMedia("(orientation: portrait)")),n=r.useRef(t.current.matches?Y.PORTRAIT:Y.LANDSCAPE),[o,i]=r.useState(n.current);return r.useEffect(()=>{function o(){let t=p(screen,"orientation.type")?.split("-")?.[0];i(t),"function"==typeof e&&e(t,n.current)}function r(t){let o;i(o=t.matches?Y.PORTRAIT:Y.LANDSCAPE),"function"==typeof e&&e(o,n.current)}return screen.orientation?screen.orientation.addEventListener("change",o):t.current.addEventListener("change",r),()=>{screen.orientation?screen.orientation.removeEventListener("change",o):t.current.removeEventListener("change",r)}},[e]),d.isMobile?{curOrientation:o,initOrientation:n.current}:{curOrientation:Y.DESKTOP,initOrientation:Y.DESKTOP}},K=e.div`
|
|
70
|
+
text-align: center;
|
|
71
|
+
font-size: 20px;
|
|
72
|
+
font-weight: 600;
|
|
73
|
+
`,H=e.div`
|
|
74
|
+
width: 100%;
|
|
75
|
+
height: 100%;
|
|
76
|
+
opacity: ${({$showChildren:e})=>+!!e};
|
|
77
|
+
`;function W({onOrientationChange:e=f,unmountOnHidden:t=!1,remountDelayMs:o=500,children:i}){let a=c(),{curOrientation:u,initOrientation:l}=F(e),s=u===l||u===Y.DESKTOP,d=function({isVisible:e,enableDelay:t,delayMs:n=500}){let[o,i]=r.useState(e),a=r.useRef(e),u=r.useRef(null);return r.useEffect(()=>{let o=a.current;if(!t){i(e),a.current=e;return}let r=!o&&e,l=o&&!e;return r?u.current=setTimeout(()=>{i(!0)},n):l&&(u.current&&(clearTimeout(u.current),u.current=null),i(!1)),a.current=e,()=>{u.current&&clearTimeout(u.current)}},[e,t,n]),o}({isVisible:s,enableDelay:t,delayMs:o});return n.jsxs(n.Fragment,{children:[u!==l&&n.jsx(M,{open:!0,children:n.jsx(K,{children:a("wrong_orientation")})}),(!t||d)&&n.jsx(H,{$showChildren:s,children:i})]})}let q=e.div`
|
|
78
|
+
text-align: center;
|
|
79
|
+
font-size: 20px;
|
|
80
|
+
font-weight: 600;
|
|
81
|
+
`,_=e.div`
|
|
82
|
+
width: 100%;
|
|
83
|
+
height: 100%;
|
|
84
|
+
opacity: ${({showChildren:e})=>+!!e};
|
|
85
|
+
`;function V({onOrientationChange:e,unmountOnHidden:t,children:o}){let r=c(),{curOrientation:i,initOrientation:a}=F(e),u=i===a||i===Y.DESKTOP;return n.jsxs(n.Fragment,{children:[i!==a&&n.jsx(M,{open:!0,children:n.jsx(q,{children:r("wrong_orientation")})}),(!t||u)&&n.jsx(_,{showChildren:u,children:o})]})}function U({version:e="v1",children:t,...o}){return"v2"===e?n.jsx(W,{...o,children:t}):n.jsx(V,{...o,children:t})}V.defaultProps={onOrientationChange:()=>{},unmountOnHidden:!1},V.propTypes={onOrientationChange:t.func,unmountOnHidden:t.bool};export{b as C,Y as M,U as O,M as P,B as W};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,u as t,k as s,b as a,A as i,m as n,ap as r,aq as l,M as o,O as _,Q as g,j as d,ar as c,as as m,at as f,au as u,av as v,aC as b,aD as h,az as p,F as k,R as y,d as S,f as C,s as F,aA as x,aB as w,Y as E,P as W}from"./chunk-9390d088.js";import{d as R}from"./chunk-c136757f.js";import{t as M}from"./chunk-c298ad04.js";import{C as L,O as O}from"./chunk-e468b8ce.js";import{u as D,S as B,a as I,o as P,b as T,c as j,d as A,n as V,l as q,f as U,F as z,e as Q,s as N,g as J,h as G,i as H,j as K,W as $,k as X,m as Y,p as Z,q as ee,r as et,A as es,O as ea}from"./chunk-58f60271.js";import{m as ei,u as en,b as er}from"./chunk-4da2a90d.js";import{u as el}from"./chunk-dad8ede3.js";let eo=0,e_=1,eg={data:{settings:{sdk_settings:{passive_liveness_v2_settings:{frontal_face_check:{enable:!0,up_down_bound_min:.35,up_down_bound_max:.7},capture_frame_settings:{enable:!1,frames_batch_length:10,frames_interval_time:0,frame_quality:.8,frame_scale:1,auto_capture_min_frames:8,auto_capture_min_frames_far:8,auto_capture_min_frames_close:0},not_qualified_settings:{enable_far:!1,threshold_far:.11},close_eyes_settings:{enable:!1,timeout:5,force_check:!1},face_settings:{chin_height:20,max_far_face_ratio:.9,min_far_face_ratio:.8,mobile:{chin_height:20,max_far_face_ratio:.9,min_far_face_ratio:.85}},timeout_settings:{enable:!0,total:30,countdown:10,max_retry_count:0,non_stoppable:!1},exif_data_settings:{enable:!0},mask_settings:{mobile:{oval_vertical_padding:20,oval_horizontal_padding:20,oval_vertical_offset:60,small_scale:.65},oval_horizontal_padding:20,oval_vertical_padding:20,oval_vertical_offset:0,small_scale:.6},image_settings:{valid_face_ratio:.6,image_quality:1,crop_center_far:!0,crop_center_close:!1,detection_to_whole_face_ratio:.8},blur_far_settings:{enable:!0,blurry_threshold:.4,wait_for_best_image_time_ms:1e3},brightness_detection_far_settings:{enable_too_bright_check:!1,enable_too_dark_check:!1,too_bright_threshold:.83,too_dark_threshold:.195},output_image_settings:{image_ordering:["far","close"]},auto_gen_frame_ids:{enable:!1,max_items:50}}}}}},ed=()=>{let i=el();return e.useMemo(()=>{let e=ei({},eg,i),n={enable:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.capture_frame_settings.enable"),framesIntervalTime:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.capture_frame_settings.frames_interval_time"),framesBatchLength:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.capture_frame_settings.frames_batch_length"),frameScale:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.capture_frame_settings.frame_scale"),frameQuality:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.capture_frame_settings.frame_quality"),autoCaptureMinFrames:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.capture_frame_settings.auto_capture_min_frames"),autoCaptureMinFramesFar:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.capture_frame_settings.auto_capture_min_frames_far"),autoCaptureMinFramesClose:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.capture_frame_settings.auto_capture_min_frames_close")},r={smallScale:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.mobile.small_scale":"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.small_scale"),largeScale:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.mobile.small_scale":"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.small_scale"),ovalPadding:{left:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.mobile.oval_horizontal_padding":"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.oval_horizontal_padding"),right:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.mobile.oval_horizontal_padding":"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.oval_horizontal_padding"),top:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.mobile.oval_vertical_padding":"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.oval_vertical_padding"),bottom:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.mobile.oval_vertical_padding":"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.oval_vertical_padding")},ovalVerticalOffset:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.mobile.oval_vertical_offset":"data.settings.sdk_settings.passive_liveness_v2_settings.mask_settings.oval_vertical_offset"),chinToMaskBottomPadding:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.face_settings.mobile.chin_height":"data.settings.sdk_settings.passive_liveness_v2_settings.face_settings.chin_height")},l={minFarFaceRatio:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.face_settings.mobile.min_far_face_ratio":"data.settings.sdk_settings.passive_liveness_v2_settings.face_settings.min_far_face_ratio"),maxFarFaceRatio:t.getWebSetting(e,s.isMobile?"data.settings.sdk_settings.passive_liveness_v2_settings.face_settings.mobile.max_far_face_ratio":"data.settings.sdk_settings.passive_liveness_v2_settings.face_settings.max_far_face_ratio")},o={enable:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.close_eyes_settings.enable"),timeout:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.close_eyes_settings.timeout"),forceCheck:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.close_eyes_settings.force_check")},_={enable:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.exif_data_settings.enable")},g={imageQuality:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.image_settings.image_quality"),validFaceRatio:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.image_settings.valid_face_ratio"),enableCropCenterFar:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.image_settings.crop_center_far"),detectionToWholeFaceRatio:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.image_settings.detection_to_whole_face_ratio")},d=t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.timeout_settings.max_retry_count"),c={enable:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.timeout_settings.enable"),total:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.timeout_settings.total"),countdown:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.timeout_settings.countdown"),enableMaxRetryCount:d>0,maxRetryCount:d,interruptible:!t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.timeout_settings.non_stoppable")},m={enable:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.blur_far_settings.enable"),threshold:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.blur_far_settings.blurry_threshold"),duration:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.blur_far_settings.wait_for_best_image_time_ms")},f={enable:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.not_qualified_settings.enable_far"),threshold:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.not_qualified_settings.threshold_far")},u={enableTooBrightCheck:a(e,"data.settings.sdk_settings.passive_liveness_v2_settings.brightness_detection_far_settings.enable_too_bright_check"),enableTooDarkCheck:a(e,"data.settings.sdk_settings.passive_liveness_v2_settings.brightness_detection_far_settings.enable_too_dark_check"),tooBrightThreshold:a(e,"data.settings.sdk_settings.passive_liveness_v2_settings.brightness_detection_far_settings.too_bright_threshold"),tooDarkThreshold:a(e,"data.settings.sdk_settings.passive_liveness_v2_settings.brightness_detection_far_settings.too_dark_threshold")},v={imageOrdering:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.output_image_settings.image_ordering"),farImageOrder:e_,closeImageOrder:eo};Array.isArray(v.imageOrdering)&&2===v.imageOrdering.length&&"far"===v.imageOrdering[0]&&"close"===v.imageOrdering[1]&&(v.farImageOrder=0,v.closeImageOrder=1);let b={enable:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.auto_gen_frame_ids.enable")&&c.enable,maxItems:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.auto_gen_frame_ids.max_items")};return{captureFrameSettings:n,livenessSettings:{},flashSettings:{},maskSettings:r,faceSettings:l,closeEyesSettings:o,exifSettings:_,imageSettings:g,timeoutSettings:c,blurCheckFarSettings:m,blurCheckCloseSettings:{},notQualifiedFarSettings:f,notQualifiedCloseSettings:{},brightnessDetectionFarSettings:u,brightnessDetectionCloseSettings:{},outputImageSettings:v,autoGenFrameIds:b,frontalFaceCheckSettings:{enable:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.frontal_face_check.enable"),upDownBoundMin:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.frontal_face_check.up_down_bound_min"),upDownBoundMax:t.getWebSetting(e,"data.settings.sdk_settings.passive_liveness_v2_settings.frontal_face_check.up_down_bound_max")}}},[i])},ec=s.isMobile?{width:{ideal:640},whiteBalanceMode:"none"}:{width:{ideal:9999},whiteBalanceMode:"none"},em=(e,t)=>""===t.faceError&&(!!e.isEyeClosed&&!t.isEyeClosed||(!!e.isEyeClosed||!t.isEyeClosed)&&(!!u.hasBetterBrightnessScore(t.brightnessScore,e.brightnessScore)||!!u.hasSameBrightnessScore(t.brightnessScore,e.brightnessScore)&&v.hasBetterBlurScore(t.blurScore,e.blurScore)));function ef(t){let{onReset:s,onDone:a,frontCamera:u,styledComponent:v,onFramesCaptured:S,customComponent:C,extraConfig:F}=t,{onErrorCallback:x,onCloseCallback:w}=en(),E=ed(),W=C?.PassiveLivenessBody??b,O=C?.PassiveLivenessError??h,Z=C?.PassiveLivenessCloseIcon??p,{maskSettings:ee,faceSettings:et,captureFrameSettings:es,exifSettings:ea,imageSettings:ei,timeoutSettings:el,blurCheckFarSettings:eo,outputImageSettings:e_,autoGenFrameIds:eg}=E,ef=e.useRef(),eu=D(),ev=er(),[eb,eh]=e.useState(""),ep=e.useMemo(()=>M(eh,1e3),[]),[ek,ey]=e.useState(!1),[eS,eC]=e.useState(B.LOADING),eF=i(),ex={width:n("FlashLiveness.mask.width")({theme:eF}),height:n("FlashLiveness.mask.height")({theme:eF}),strokeColor:(eS===B.FAR_FACE||eS===B.CLOSE_FACE)&&eb&&!ek?n("FlashLiveness.mask.strokeColorError")({theme:eF}):n("FlashLiveness.mask.strokeColor")({theme:eF}),strokeWidth:2*n("FlashLiveness.mask.strokeWidth")({theme:eF}),path:n("FlashLiveness.mask.path")({theme:eF}),backgroundColor:n("FlashLiveness.maskFill")({theme:eF})},ew=e.useRef(null),[eE,eW,eR]=I(),[eM,eL]=e.useState(0),[eO,eD]=e.useState(!1),eB=e.useRef({frames:[],images:[]}),eI=e.useRef(!1),eP=P(),eT=T({compareFn:em,duration:eo.duration,minFrames:es.autoCaptureMinFrames}),[ej,eA]=e.useState(!1),{sessionId:eV,updateSessionId:eq}=j(),eU=e.useRef(r.createSingleUUID()),{onVideoPlayed:ez,cropArea:eQ,isPlaying:eN}=A({}),{smallScale:eJ,largeScale:eG}=V(ee,{width:ex.width,height:ex.height},{width:eQ.width,height:eQ.height}),eH=1e3*el.total/es.framesIntervalTime,{uuids:eK,getNextUUID:e$,reset:eX}=l({total:Math.min(eg.maxItems,Math.ceil(eH/es.framesBatchLength*1.2))}),eY=e.useCallback(e=>{let t=e[e.length-1];try{let e=JSON.parse(t.metadata);eg.enable&&(e.global_batch_id=e$()),e.global_session_id=eU.current,t.metadata=JSON.stringify(e)}catch(e){console.error("Unable to process last frame metadata",e)}},[eg.enable,e$]),eZ=e.useRef(null),{playVoice:e2}=o.useVoicePlayer(),e0=e.useMemo(()=>R(()=>{if(eI.current=!1,eB.current.frames=[],eB.current.images=[],eZ.current=null,eL(eJ),eC(B.FAR_FACE),e2("move_face_into_frame"),eq(),eT.stopCapturing(),ey(!1),eg.enable){let e=eX();_.addExifData("frame_batch_ids",e)}s()},200,{leading:!0}),[eJ,e2,eq,eT,eg.enable,s,eX]),e1=q({offset:ee.ovalVerticalOffset,ovalPadding:ee.ovalPadding,largeScale:eG,maskHeight:eQ.height,ovalHeight:ex.height}),e8=e.useCallback(async()=>{eC(B.STOP_DECTECTING),eu("selfie_passive_v2","user_activity",()=>({passive_liveness_in_ms:performance.now()-ef.current}));let{frames:e}=eB.current;if(es.enable&&es.framesBatchLength>0){let t=e.length%es.framesBatchLength;if(0!==t){let s=e.slice(-1*t);eY(s),"function"==typeof S&&S(s)}}eB.current.images[e_.farImageOrder].blob=await eB.current.images[e_.farImageOrder].blob,_.addExifData("selfie_type","passive_v2"),_.addExifData("passive_liveness_v2",{number_of_frames:{far_frames:e.length},passive_liveness_in_ms:Math.round(performance.now()-ef.current),face_settings:{max_far_face_ratio:et.maxFarFaceRatio,min_far_face_ratio:et.minFarFaceRatio},mask_settings:{oval_vertical_offset:ee.ovalVerticalOffset,small_scale:ee.smallScale},image_settings:{valid_face_ratio:ei.validFaceRatio}});let t=await _.writeCurrentExif({imageData:eB.current.images[e_.farImageOrder],enableExifData:ea.enable});eB.current.images[e_.farImageOrder].blob=t,eP.enable&&(eB.current.images[e_.farImageOrder].encrypted=await g.encrypt({blob:eB.current.images[e_.farImageOrder].blob,key:eP.key})),eB.current.images=eB.current.images.filter(e=>!!e);try{"function"==typeof a&&await a({images:eB.current.images,frames:eB.current.frames})}catch(e){x({error:e})}},[eu,es.enable,es.framesBatchLength,e_.farImageOrder,et.maxFarFaceRatio,et.minFarFaceRatio,ee.ovalVerticalOffset,ee.smallScale,ei.validFaceRatio,ea.enable,eP.enable,eP.key,eY,S,a,x]),e3=e.useCallback(({prediction:e,canvas:t})=>{if(!es.enable)return;let{frames:s}=eB.current,a=U({prediction:e,canvas:t,index:s.length,quality:es.frameQuality});if(a.metadata=JSON.stringify({type:z.FAR_FACE,time:Math.round(performance.now()),session_id:eV}),s.push(a),es.framesBatchLength<=0||s.length%es.framesBatchLength!=0)return;let i=s.slice(-1*es.framesBatchLength);eY(i),"function"==typeof S&&S(i)},[es.enable,es.frameQuality,es.framesBatchLength,S,eY,eV]),e9=e.useCallback(async()=>{let{frames:e}=eB.current;0===e.length&&(eI.current=!0)},[]),e5=e.useMemo(()=>({x:Math.max(eW?.left,0),y:Math.max(eW?.top,0),width:Math.min(eW?.right-eW?.left,eQ.width),height:Math.min(eW?.bottom-eW?.top,eQ.height)}),[eQ.height,eQ.width,eW?.bottom,eW?.left,eW?.right,eW?.top]),e6=e.useCallback(async({frame:e,prediction:t,canvas:s,originalRatio:a})=>{if("no_face"===e.faceError||eB.current.images[e_.farImageOrder])return;if(es.enable){let e=performance.now();if(null!==eZ.current&&e-eZ.current<es.framesIntervalTime)return;eZ.current=e}let i=e=>{let t=X({maskBoundingBox:e5,faceRatio:e.faceRatio,validFaceRatio:ei.validFaceRatio,video:ew.current,shouldCropCenterSquare:ei.enableCropCenterFar,cropArea:eQ,frame:e.snapshot,facePrediction:e.facePrediction,detectionToWholeFaceRatio:ei.detectionToWholeFaceRatio}),s={blob:k.takePicture({canvas:t,quality:ei.imageQuality}),gesture:"frontal",captureTime:e.captureTime,selfieLabel:z.FAR_FACE,qualifyScore:e.qualifyScore,blurScore:e.blurScore,brightnessScore:e.brightnessScore};_.addExifData("model_score.face_blurry_score",s.blurScore),_.addExifData("model_score.face_brightness_score",s.brightnessScore),_.addExifData("model_score.face_qualify_score",s.qualifyScore),_.addExifData("selfie_label",s.selfieLabel),_.addExifData("capture_time",s.captureTime),_.addExifData("type",s.gesture),eB.current.images[e_.farImageOrder]=s},n={qualifyScore:e.qualifyScore,blurScore:e.blurScore,isEyeClosed:e.isEyeClosed,faceRatio:e.faceRatio,snapshot:Q(ew.current),captureTime:Date.now(),facePrediction:N(t,a),brightnessScore:e.brightnessScore,faceError:e.faceError};if(!eo.enable){e3({prediction:t,canvas:s}),i(n),await e8();return}if(!eT.isAutoCapturing()){await e2("please_hold_still"),ey(!0),e3({prediction:t,canvas:s}),eT.startCapturing({onDone:async e=>{i(e),await e8()},initialFrame:n});return}e3({prediction:t,canvas:s}),eT.captureFrame(n)},[e_.farImageOrder,es.enable,es.framesIntervalTime,eo.enable,eT,e3,e5,ei.validFaceRatio,ei.enableCropCenterFar,ei.detectionToWholeFaceRatio,ei.imageQuality,eQ,e8,e2]),{warmupDone:e4}=J({onError:x,isVideoPlaying:eN,step:eS,cropArea:eQ,videoRef:ew,onFarFaceDetected:e9,onFarFullFaceDetected:e6,onFaceError:e.useCallback(({error:e})=>{ep(e),("no_face"===e||"multiple_faces"===e)&&"no_face"===e&&eI.current&&e0()},[e0,ep]),faceSettings:et,maskBoundingRect:eW,shouldPauseFaceDetection:eR||ej,faceDetectionSettings:E,shouldContinueOnError:ek,debug:ev});G(ew.current);H(()=>{!async function(){let{resourceReport:e,measureReport:t}=await y.reportAll();Object.values(e).forEach(e=>{eu("selfie_passive_v2","sdk.download_model",e)}),Object.values(t).forEach(e=>{eu("selfie_passive_v2","sdk.init_model",e)})}()},e4),H(()=>{eC(B.FAR_FACE),eL(eJ),e2("move_face_into_frame"),eD(!0),eg.enable&&_.addExifData("frame_batch_ids",eK),_.addExifData("global_session_id",eU.current),ef.current||(ef.current=performance.now())},e4&&eN),H(()=>eu("selfie_passive_v2","user_activity.start"),!0),H(()=>eu("selfie_passive_v2","user_activity.start_far"),eS===B.FAR_FACE);let{Loading:e7}=v,te=e.useCallback(()=>{ey(!1),eT.stopCapturing(),eA(!0)},[eT]),tt=e.useCallback(()=>{eA(!1),e0()},[e0]),{remaining:ts}=K({shouldStart:eO&&el.enable,onTimeout:te,onDelayEnd:tt,onError:x,totalTime:el.total,totalDelay:3,maxRetriesSettings:{enable:el.enableMaxRetryCount,total:el.maxRetryCount},interruptible:el.interruptible}),ta=Y(eb),ti=eQ.y+eQ.height/2+e1,tn=eo.duration,tr=Math.max(tn,es.autoCaptureMinFrames*es.framesIntervalTime);return d.jsxs(d.Fragment,{children:[d.jsx(c,{frontCamera:u,onVideoPlayed:ez,onClose:w,flipHorizontal:u,ref:ew,onError:x,videoSettings:ec,closeButton:d.jsx(Z,{}),children:d.jsxs($,{overlay:!e4||!eN,loadingComponent:e7,children:[!ek&&""!==eb&&d.jsx(m,{}),d.jsx(L,{x:`${Math.round(eQ.x)}px`,y:`${Math.round(eQ.y)}px`,width:`${eQ.width}px`,height:`${eQ.height}px`,surroundStyle:{background:n("FlashLiveness.maskFill")({theme:eF})},children:d.jsx(f,{ref:eE,scale:eM,debug:ev,width:eQ.width,height:eQ.height,padding:ee.ovalPadding,verticalOffset:e1,mask:ex})}),!ek&&""!==ta&&d.jsx(O,{errorY:ti,errorMessage:ta})]})}),d.jsx(W,{step:eS,errorCode:eb,timeoutProps:{remaining:ts,warningThreshold:el.countdown,total:el.total,shouldStart:eO&&el.enable},isAutoCapturing:ek,autoCaptureDuration:tr,extraConfig:F})]})}let eu=t=>{let{apiCheck:s,onLivenessDetectionDone:a,frontalMinSize:i,serviceSettings:n,apiCredentials:r,...l}=t,o=l.customComponent?.FlashLivenessLoading??x,[_,g]=e.useState(!1),c=P(),m=el(),f=C.getEnabledServices(n,m),{verifyLiveness:u}=function({outputEncryptionSettings:t,selfieType:s,enabledServices:a,apiCredentials:i}){let{apiClient:n}=S.useApiClient({apiCredentials:i});return{verifyLiveness:e.useCallback(async({videos:e,images:i,metadata:r})=>{try{let l=await Promise.all(i.map(e=>{if(!t.enable)return n.uploadImage({label:"portrait",file:e.blob,metadata:JSON.stringify({label:e.selfieLabel})});let s=new Blob([e.encrypted.hex]);return n.uploadImage({file:s,label:"portrait",metadata:JSON.stringify({label:e.selfieLabel})},{"X-TV-Key":t.key})})),o=null;a.enableVerifyFaceLiveness&&(o=n.verifyFaceLiveness({images:l.map(e=>({id:e?.data?.image_id,label:"portrait"})),videos:e,metadata:r,selfie_type:s}));let _=null;a.enableVerifySanityPortrait&&(_=n.requestVerifyPortrait({image:{id:l[l.length-1]?.data?.image_id},selfie_type:s}));let[g,d]=await Promise.all([o,_]);return{uploadedImages:l,faceLivenessResult:g,portraitResult:d}}catch(e){return console.error(e),{}}},[n,a.enableVerifyFaceLiveness,a.enableVerifySanityPortrait,t.enable,t.key,s])}}({apiCredentials:r,outputEncryptionSettings:c,selfieType:F.Mode.PASSIVE_V2,enabledServices:f}),{captureFrameSettings:v}=ed(),{framesIntervalTime:b}=v,{onFramesCaptured:h,onReset:p}=t,{onErrorCallback:k}=en(),y=Z(),W=async e=>{let t=e;if(c.enable&&(t=await w.encryptFrames(t,c.key)),"function"==typeof h&&h(t),s&&f.enableUploadFrames){let e={};c.enable&&(e["X-TV-Key"]=c.key),ee.uploadFrameBatch(et(t),y,e)}},R=async e=>{let t={frame_interval:b},n=e.images.filter(e=>"frontal"===e.gesture),r=n.map(e=>e.blob),l=n.map(e=>e.encrypted),o=r[r.length-1],_=o&&"number"==typeof i?await E.scaleImage(o,{minsize:i}):null,d=e.frames;if(c.enable&&(d=await w.encryptFrames(d,c.key)),!s||!f.enableUploadImages)return void await a({capturedFrames:d,frontalFaces:r,frontalFacesEncrypted:l,frontalScaledImage:_,steps:[],metadata:t});try{g(!0);let s=null;s=v.enable?await ee.getAllUploadedBatches():[{frames:et(d)}];let{uploadedImages:i,faceLivenessResult:n,portraitResult:o}=await u({videos:s,images:e.images,metadata:t});if(ee.resetUploadBatches(),g(!1),n?.errors)throw n.errors;if(o?.errors)throw o.errors;await a({capturedFrames:d,steps:[],frontalFaces:r.map((e,t)=>({blob:e,id:i?.[t]?.data?.image_id})),frontalFacesEncrypted:l,frontalScaledImage:_,apiCheckPassed:n?.data.is_live??!1,verifyFaceLivenessResult:n?.data??null,verifyPortraitResult:o?.data??null,uploadFramesResult:s})}catch(e){console.error(e),g(!1),k({error:e})}};return d.jsxs(d.Fragment,{children:[d.jsx(ef,{...l,apiCheck:s,onDone:R,onFramesCaptured:W,onReset:()=>{ee.resetUploadBatches(),"function"==typeof p&&p()}}),s&&d.jsx(o,{loading:_})]})},ev=e=>{let{apiCredentials:t,outputEncryptionSettings:s}=e;return d.jsx(O,{version:"v2",unmountOnHidden:!0,children:d.jsx(es,{apiCredentials:t,children:d.jsx(ea,{settings:s,children:d.jsx(eu,{...e})})})})};ev.propTypes={apiCheck:W.bool,apiCredentials:W.shape({accessKey:W.string,secretKey:W.string,apiUrl:W.string}),onReset:W.func,onLivenessDetectionDone:W.func,onClose:W.func,onError:W.func,onFramesCaptured:W.func,frontCamera:W.bool,styledComponent:W.shape({CloseCameraButton:W.node}),outputEncryptionSettings:W.shape({key:W.string}),frontalMinSize:W.number,serviceSettings:W.shape({enableGetClientSettings:W.bool,enableUploadFrames:W.bool,enableUploadImages:W.bool,enableVerifySanityPortrait:W.bool,enableVerifyFaceLiveness:W.bool}),mode:W.string,flowId:W.string,customTexts:W.shape({}),customComponents:W.shape({PassiveLivenessBody:W.elementType}),extraConfig:W.shape({})},ev.defaultProps={apiCheck:!1,apiCredentials:{},onReset:()=>{},onLivenessDetectionDone:()=>{},onClose:()=>{},onError:()=>{},onFramesCaptured:()=>{},frontCamera:!0,styledComponent:{CloseCameraButton:null},outputEncryptionSettings:{key:""},frontalMinSize:null,serviceSettings:{enableGetClientSettings:!0,enableUploadFrames:!0,enableUploadImages:!0,enableVerifySanityPortrait:!0,enableVerifyFaceLiveness:!0},flowId:"",customTexts:{},customComponents:{PassiveLivenessBody:null},extraConfig:null};export{ev as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aj as r,ak as n,aR as t,ag as e,aS as u,$ as o}from"./chunk-9390d088.js";import{r as a,f as i,g as c,h as s,i as p,j as f,k as l,l as _,n as v,o as g,p as b}from"./chunk-4da2a90d.js";function j(){if(d)return O;d=1;var t=r(),e=n(),u=s();return O=function(r){if(!e(r))return!1;var n=t(r);return"[object Error]"==n||"[object DOMException]"==n||"string"==typeof r.message&&"string"==typeof r.name&&!u(r)}}function m(){return M?I:(M=1,I=/<%=([\s\S]+?)%>/g)}var y,h,O,d,w,E,R,$,k,S,x,L,P,U,q,A,D,F,I,M,z,B,C,G,H,J,K,N,Q,T,V,W,X,Y,Z=o(function(){if(Y)return X;Y=1;var r=function(){if(h)return y;h=1;var r=a(),n=i(),t=c();return y=n(function(n,e,u,o){r(e,t(e),n,o)})}(),n=function(){if(E)return w;E=1;var r=f(),n=p(),t=j();return w=n(function(n,e){try{return r(n,void 0,e)}catch(r){return t(r)?r:Error(r)}})}(),o=function(){if($)return R;$=1;var r=t();return R=function(n,t){return r(t,function(r){return n[r]})}}(),s=function(){if(S)return k;S=1;var r=e(),n=Object.prototype,t=n.hasOwnProperty;return k=function(e,u,o,a){return void 0===e||r(e,n[o])&&!t.call(a,o)?u:e}}(),O=function(){if(L)return x;L=1;var r={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};return x=function(n){return"\\"+r[n]}}(),d=j(),I=b(),M=function(){if(F)return D;F=1;var r=v(),n=function(){if(A)return q;A=1;var r=_(),n=U?P:(U=1,P=l()(Object.keys,Object)),t=Object.prototype.hasOwnProperty;return q=function(e){if(!r(e))return n(e);var u=[];for(var o in Object(e))t.call(e,o)&&"constructor"!=o&&u.push(o);return u}}(),t=g();return D=function(e){return t(e)?r(e):n(e)}}(),Z=m(),rr=function(){if(W)return V;W=1;var r=function(){if(J)return H;J=1;var r=function(){if(G)return C;G=1;var r=B?z:(B=1,z=function(r){return function(n){return null==r?void 0:r[n]}});return C=r({"&":"&","<":"<",">":">",'"':""","'":"'"})}(),n=u(),t=/[&<>"']/g,e=RegExp(t.source);return H=function(u){return(u=n(u))&&e.test(u)?u.replace(t,r):u}}(),n=N?K:(N=1,K=/<%-([\s\S]+?)%>/g),t=T?Q:(T=1,Q=/<%([\s\S]+?)%>/g),e=m();return V={escape:n,evaluate:t,interpolate:e,variable:"",imports:{_:{escape:r}}}}(),rn=u(),rt=/\b__p \+= '';/g,re=/\b(__p \+=) '' \+/g,ru=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ro=/[()=,{}\[\]\/\s]/,ra=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ri=/($^)/,rc=/['\n\r\u2028\u2029\\]/g,rs=Object.prototype.hasOwnProperty;return X=function(t,e,u){var a=rr.imports._.templateSettings||rr;u&&I(t,e,u)&&(e=void 0),t=rn(t),e=r({},e,a,s);var i=r({},e.imports,a.imports,s),c=M(i),p=o(i,c),f,l,_=0,v=e.interpolate||ri,g="__p += '",b=RegExp((e.escape||ri).source+"|"+v.source+"|"+(v===Z?ra:ri).source+"|"+(e.evaluate||ri).source+"|$","g"),j=rs.call(e,"sourceURL")?"//# sourceURL="+(e.sourceURL+"").replace(/\s/g," ")+"\n":"";t.replace(b,function(r,n,e,u,o,a){return e||(e=u),g+=t.slice(_,a).replace(rc,O),n&&(f=!0,g+="' +\n__e("+n+") +\n'"),o&&(l=!0,g+="';\n"+o+";\n__p += '"),e&&(g+="' +\n((__t = ("+e+")) == null ? '' : __t) +\n'"),_=a+r.length,r}),g+="';\n";var m=rs.call(e,"variable")&&e.variable;if(m){if(ro.test(m))throw Error("Invalid `variable` option passed into `_.template`")}else g="with (obj) {\n"+g+"\n}\n";g=(l?g.replace(rt,""):g).replace(re,"$1").replace(ru,"$1;"),g="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(f?", __e = _.escape":"")+(l?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+g+"return __p\n}";var y=n(function(){return Function(c,j+"return "+g).apply(void 0,p)});if(y.source=g,d(y))throw y;return y}}());export{Z as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{s as Constants,a_ as SDK,h as SDKAdapter,aX as ScannerType,aZ as defaultClientSettings,aY as defaultReadIDCardSteps,aW as getSDKVersion}from"./chunk-9390d088.js";
|