@tsocial/tvweb-sdk.lotte 0.0.0-beta.20251215-093759 → 0.0.0-beta.20251215-165409
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/tvweb-sdk.lotte.cjs.min.js +255 -253
- package/build/tvweb-sdk.lotte.esm.min.js +255 -253
- package/build/tvweb-sdk.lotte.standalone.js +897 -171
- package/build/tvweb-sdk.lotte.standalone.min.js +255 -253
- package/build/types/index.d.ts +33 -4
- package/package.json +5 -6
|
@@ -19095,7 +19095,7 @@
|
|
|
19095
19095
|
t.decode = t.parse = w, t.encode = t.stringify = k;
|
|
19096
19096
|
}), A = (E.decode, E.parse, E.encode, E.stringify), B = function() {
|
|
19097
19097
|
function e(e) {
|
|
19098
|
-
this.authorizer = e.authorizer, this.domain = e.domain, this.onError = e.onError, this.configHeaders = e.headers, this.fallbackUrls = e.fallbackUrls;
|
|
19098
|
+
this.authorizer = e.authorizer, this.domain = e.domain, this.onError = e.onError, this.configHeaders = e.headers, this.fallbackUrls = e.fallbackUrls, this.requestTimeoutMs = e.requestTimeoutMs;
|
|
19099
19099
|
}
|
|
19100
19100
|
return e.prototype.get = function(e, t, r) {
|
|
19101
19101
|
var n = new URL(this.resolveUrl(e));
|
|
@@ -19155,13 +19155,24 @@
|
|
|
19155
19155
|
requestPath: e,
|
|
19156
19156
|
method: "GET"
|
|
19157
19157
|
}, "blob");
|
|
19158
|
+
}, e.prototype.setupTimeout = function() {
|
|
19159
|
+
if (!this.requestTimeoutMs || this.requestTimeoutMs <= 0) return {};
|
|
19160
|
+
var e = new AbortController, t = setTimeout(function() {
|
|
19161
|
+
e.abort();
|
|
19162
|
+
}, this.requestTimeoutMs);
|
|
19163
|
+
return {
|
|
19164
|
+
abortController: e,
|
|
19165
|
+
timeoutId: t
|
|
19166
|
+
};
|
|
19167
|
+
}, e.prototype.cleanupTimeout = function(e) {
|
|
19168
|
+
e && clearTimeout(e);
|
|
19158
19169
|
}, e.prototype.request = function(e, t, r) {
|
|
19159
19170
|
return void 0 === r && (r = "json"), s(this, void 0, void 0, function() {
|
|
19160
|
-
var n, a, o, s, l, u;
|
|
19171
|
+
var n, a, o, s, l, u, d, f, h;
|
|
19161
19172
|
return c(this, function(c) {
|
|
19162
19173
|
switch(c.label){
|
|
19163
19174
|
case 0:
|
|
19164
|
-
n = {}, a = {}, this.authorizer && (n = this.authorizer.getHeaders(t)), this.configHeaders && (a = this.configHeaders), t.headers = i(i(i({}, t.headers), n), a), c.label = 1;
|
|
19175
|
+
n = {}, a = {}, this.authorizer && (n = this.authorizer.getHeaders(t)), this.configHeaders && (a = this.configHeaders), t.headers = i(i(i({}, t.headers), n), a), s = (o = this.setupTimeout()).abortController, l = o.timeoutId, s && (t.signal = s.signal), c.label = 1;
|
|
19165
19176
|
case 1:
|
|
19166
19177
|
return c.trys.push([
|
|
19167
19178
|
1,
|
|
@@ -19173,22 +19184,22 @@
|
|
|
19173
19184
|
fetch(e, t)
|
|
19174
19185
|
];
|
|
19175
19186
|
case 2:
|
|
19176
|
-
return
|
|
19187
|
+
return u = c.sent(), this.cleanupTimeout(l), [
|
|
19177
19188
|
4,
|
|
19178
|
-
"blob" === r ?
|
|
19189
|
+
"blob" === r ? u.blob() : u.json()
|
|
19179
19190
|
];
|
|
19180
19191
|
case 3:
|
|
19181
|
-
if ((
|
|
19192
|
+
if ((d = c.sent()).errors && this.onError) throw this.onError(d.errors), d;
|
|
19182
19193
|
return [
|
|
19183
19194
|
2,
|
|
19184
|
-
|
|
19195
|
+
d
|
|
19185
19196
|
];
|
|
19186
19197
|
case 4:
|
|
19187
|
-
if (
|
|
19198
|
+
if (f = c.sent(), this.cleanupTimeout(l), this.shouldRetryWithFallback(f) && Array.isArray(this.fallbackUrls) && this.fallbackUrls.length > 0) return h = "GET" === t.method ? new URL(e).searchParams : null, [
|
|
19188
19199
|
2,
|
|
19189
|
-
this.retryWithFallback(t.requestPath, t,
|
|
19200
|
+
this.retryWithFallback(t.requestPath, t, h, r)
|
|
19190
19201
|
];
|
|
19191
|
-
throw
|
|
19202
|
+
throw f;
|
|
19192
19203
|
case 5:
|
|
19193
19204
|
return [
|
|
19194
19205
|
2
|
|
@@ -19204,41 +19215,41 @@
|
|
|
19204
19215
|
return "AbortError" === e.name ? (console.error("Request timed out"), !0) : e instanceof TypeError && (console.error("Network error occurred:", e.message), !0);
|
|
19205
19216
|
}, e.prototype.retryWithFallback = function(e, t, r, n) {
|
|
19206
19217
|
return void 0 === r && (r = null), void 0 === n && (n = "json"), s(this, void 0, void 0, function() {
|
|
19207
|
-
var
|
|
19218
|
+
var a, o, s, l, u, d, f, h, p, m;
|
|
19208
19219
|
return c(this, function(c) {
|
|
19209
19220
|
switch(c.label){
|
|
19210
19221
|
case 0:
|
|
19211
19222
|
if (!Array.isArray(this.fallbackUrls) || 0 === this.fallbackUrls.length) throw Error("No fallback URLs available");
|
|
19212
|
-
|
|
19223
|
+
a = null, o = 0, c.label = 1;
|
|
19213
19224
|
case 1:
|
|
19214
|
-
if (!(
|
|
19225
|
+
if (!(o < this.fallbackUrls.length)) return [
|
|
19215
19226
|
3,
|
|
19216
19227
|
7
|
|
19217
19228
|
];
|
|
19218
|
-
c.label = 2;
|
|
19229
|
+
l = (s = this.setupTimeout()).abortController, u = s.timeoutId, c.label = 2;
|
|
19219
19230
|
case 2:
|
|
19220
19231
|
return c.trys.push([
|
|
19221
19232
|
2,
|
|
19222
19233
|
5,
|
|
19223
19234
|
,
|
|
19224
19235
|
6
|
|
19225
|
-
]),
|
|
19236
|
+
]), d = new URL(this.resolveFallbackUrl(e, this.fallbackUrls[o])), r && "GET" === t.method && (d.search = r.toString()), f = i({}, t), l && (f.signal = l.signal), [
|
|
19226
19237
|
4,
|
|
19227
|
-
fetch(
|
|
19238
|
+
fetch(d.toString(), f)
|
|
19228
19239
|
];
|
|
19229
19240
|
case 3:
|
|
19230
|
-
return
|
|
19241
|
+
return h = c.sent(), this.cleanupTimeout(u), [
|
|
19231
19242
|
4,
|
|
19232
|
-
"blob" === n ?
|
|
19243
|
+
"blob" === n ? h.blob() : h.json()
|
|
19233
19244
|
];
|
|
19234
19245
|
case 4:
|
|
19235
|
-
if ((
|
|
19246
|
+
if ((p = c.sent()).errors && this.onError) throw this.onError(p.errors), p;
|
|
19236
19247
|
return [
|
|
19237
19248
|
2,
|
|
19238
|
-
|
|
19249
|
+
p
|
|
19239
19250
|
];
|
|
19240
19251
|
case 5:
|
|
19241
|
-
return
|
|
19252
|
+
return m = c.sent(), this.cleanupTimeout(u), a = m, this.shouldRetryWithFallback(m) ? [
|
|
19242
19253
|
3,
|
|
19243
19254
|
6
|
|
19244
19255
|
] : [
|
|
@@ -19246,12 +19257,12 @@
|
|
|
19246
19257
|
7
|
|
19247
19258
|
];
|
|
19248
19259
|
case 6:
|
|
19249
|
-
return
|
|
19260
|
+
return o++, [
|
|
19250
19261
|
3,
|
|
19251
19262
|
1
|
|
19252
19263
|
];
|
|
19253
19264
|
case 7:
|
|
19254
|
-
throw
|
|
19265
|
+
throw a;
|
|
19255
19266
|
}
|
|
19256
19267
|
});
|
|
19257
19268
|
});
|
|
@@ -19570,12 +19581,13 @@
|
|
|
19570
19581
|
}
|
|
19571
19582
|
function L(e, t, r, n) {
|
|
19572
19583
|
void 0 === r && (r = "production");
|
|
19573
|
-
var i = void 0 === n ? {} : n, a = i.headers, o = i.fallbackUrls;
|
|
19584
|
+
var i = void 0 === n ? {} : n, a = i.headers, o = i.fallbackUrls, s = i.requestTimeoutMs;
|
|
19574
19585
|
return new B({
|
|
19575
19586
|
authorizer: new M(e, t),
|
|
19576
19587
|
domain: N(r),
|
|
19577
19588
|
headers: a,
|
|
19578
|
-
fallbackUrls: o
|
|
19589
|
+
fallbackUrls: o,
|
|
19590
|
+
requestTimeoutMs: s
|
|
19579
19591
|
});
|
|
19580
19592
|
}
|
|
19581
19593
|
var D = function() {
|
|
@@ -30444,7 +30456,8 @@
|
|
|
30444
30456
|
}), this.transactionEnabled = i.supportTransaction || !1, this.encryptionEnabled = i.enableEncryption || !1;
|
|
30445
30457
|
var a = L(e, t, r, {
|
|
30446
30458
|
headers: i.httpHeaders,
|
|
30447
|
-
fallbackUrls: i.fallbackUrls
|
|
30459
|
+
fallbackUrls: i.fallbackUrls,
|
|
30460
|
+
requestTimeoutMs: i.requestTimeoutMs
|
|
30448
30461
|
});
|
|
30449
30462
|
this.transactionManager = new j(a), this.encryptionService = new rq(t), this.compareFaceService = new d(a), this.clientSettingsService = new f(a), this.convertPDFService = new b(a), this.ekycPDFService = new v(a), this.readIDCardService = new n(a), this.requestVerifyIDCardService = new p(a), this.requestVerifyPortraitSerivce = new m(a), this.imagesService = new l(a), this.fileService = new u(a), this.verifyFaceLivenessService = new h(a), this.searchFaceService = new y(a), this.detectIDTamperingService = new g(a), this.httpClient = a;
|
|
30450
30463
|
}
|
|
@@ -33770,7 +33783,7 @@
|
|
|
33770
33783
|
}, nS$1;
|
|
33771
33784
|
}();
|
|
33772
33785
|
function nB$1() {
|
|
33773
|
-
return "0.0.0-beta.20251215-
|
|
33786
|
+
return "0.0.0-beta.20251215-165409";
|
|
33774
33787
|
}
|
|
33775
33788
|
function nI$1() {
|
|
33776
33789
|
return {
|
|
@@ -41246,49 +41259,56 @@
|
|
|
41246
41259
|
}, uz;
|
|
41247
41260
|
}(), uG);
|
|
41248
41261
|
}();
|
|
41249
|
-
|
|
41262
|
+
let dm = d_, dg = d_, dy = db();
|
|
41263
|
+
for(;;)try {
|
|
41264
|
+
if (parseInt(dg(378)) / 1 + -parseInt(dg(391)) / 2 * (-parseInt(dg(386)) / 3) + parseInt(dg(380)) / 4 * (parseInt(dg(384)) / 5) + -parseInt(dg(381)) / 6 + -parseInt(dg(383)) / 7 * (-parseInt(dg(377)) / 8) + -parseInt(dg(379)) / 9 + -parseInt(dg(367)) / 10 * (-parseInt(dg(372)) / 11) === 229615) break;
|
|
41265
|
+
dy.push(dy.shift());
|
|
41266
|
+
} catch (e) {
|
|
41267
|
+
dy.push(dy.shift());
|
|
41268
|
+
}
|
|
41269
|
+
function db() {
|
|
41250
41270
|
let e = [
|
|
41251
|
-
"
|
|
41252
|
-
"
|
|
41253
|
-
"
|
|
41271
|
+
"25310HBUOBg",
|
|
41272
|
+
"DepBO8t60S",
|
|
41273
|
+
"MFkwEwYHKo",
|
|
41274
|
+
"3059301306",
|
|
41275
|
+
"+faHkP3QC3",
|
|
41276
|
+
"407Ilvdnt",
|
|
41277
|
+
"44P0rKKsZK",
|
|
41278
|
+
"3d02010608",
|
|
41254
41279
|
"ytJdcsPxrD",
|
|
41255
|
-
"
|
|
41256
|
-
"
|
|
41280
|
+
"D9EKOWS+U4",
|
|
41281
|
+
"14552FNqEza",
|
|
41282
|
+
"101165gbwSGf",
|
|
41283
|
+
"3599838cBdphG",
|
|
41284
|
+
"96444qpbkcR",
|
|
41285
|
+
"671448TAUmcs",
|
|
41286
|
+
"072a8648ce",
|
|
41287
|
+
"532kymtpA",
|
|
41288
|
+
"45uWuFYC",
|
|
41257
41289
|
"MfPrcYTM70",
|
|
41258
|
-
"
|
|
41259
|
-
"MFkwEwYHKo",
|
|
41290
|
+
"6ocbIJZ",
|
|
41260
41291
|
"000",
|
|
41261
|
-
"
|
|
41262
|
-
"
|
|
41263
|
-
"
|
|
41264
|
-
"
|
|
41292
|
+
"0301070342",
|
|
41293
|
+
"KoZIzj0DAQ",
|
|
41294
|
+
"ZIzj0CAQYI",
|
|
41295
|
+
"191450lvsUWR",
|
|
41296
|
+
"2a8648ce3d",
|
|
41265
41297
|
"cDQgAE9h6Z",
|
|
41266
|
-
"
|
|
41267
|
-
"9720kJycIQ",
|
|
41268
|
-
"+faHkP3QC3",
|
|
41269
|
-
"212094GlWFgW",
|
|
41270
|
-
"KA==",
|
|
41271
|
-
"315786GasSwN"
|
|
41298
|
+
"KA=="
|
|
41272
41299
|
];
|
|
41273
|
-
return (
|
|
41300
|
+
return (db = function() {
|
|
41274
41301
|
return e;
|
|
41275
41302
|
})();
|
|
41276
41303
|
}
|
|
41277
|
-
let
|
|
41278
|
-
for(;;)try {
|
|
41279
|
-
if (parseInt(dy(292)) / 1 + parseInt(dy(295)) / 2 + -parseInt(dy(299)) / 3 + parseInt(dy(305)) / 4 + parseInt(dy(300)) / 5 + parseInt(dy(294)) / 6 + parseInt(dy(289)) / 7 * (-parseInt(dy(290)) / 8) === 121195) break;
|
|
41280
|
-
db.push(db.shift());
|
|
41281
|
-
} catch (e) {
|
|
41282
|
-
db.push(db.shift());
|
|
41283
|
-
}
|
|
41284
|
-
let dv = dg(307) + "072a8648ce3d02010608" + dg(296) + "0301070342" + dg(304);
|
|
41304
|
+
let dv = dm(370) + dm(382) + dm(374) + dm(392) + dm(388) + dm(387);
|
|
41285
41305
|
function d_(e, t) {
|
|
41286
|
-
let r =
|
|
41306
|
+
let r = db();
|
|
41287
41307
|
return (d_ = function(e, t) {
|
|
41288
|
-
return r[e -=
|
|
41308
|
+
return r[e -= 366];
|
|
41289
41309
|
})(e, t);
|
|
41290
41310
|
}
|
|
41291
|
-
let dx =
|
|
41311
|
+
let dx = dm(369) + dm(390) + dm(389) + dm(393) + dm(368) + dm(375) + dm(371) + dm(373) + "Mjci1ul8mm" + dm(376) + dm(385) + "ssRdXLZEX8" + dm(366);
|
|
41292
41312
|
async function dC(e) {
|
|
41293
41313
|
let t = new TextEncoder().encode(e);
|
|
41294
41314
|
return Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256", t))).map((e)=>e.toString(16).padStart(2, "0")).join("");
|
|
@@ -43355,7 +43375,8 @@
|
|
|
43355
43375
|
"x-request-id": e,
|
|
43356
43376
|
...r
|
|
43357
43377
|
},
|
|
43358
|
-
fallbackUrls: c
|
|
43378
|
+
fallbackUrls: c,
|
|
43379
|
+
requestTimeoutMs: 6e4
|
|
43359
43380
|
}), {
|
|
43360
43381
|
onDone: n
|
|
43361
43382
|
});
|
|
@@ -43384,7 +43405,8 @@
|
|
|
43384
43405
|
"x-request-id": l,
|
|
43385
43406
|
...r
|
|
43386
43407
|
},
|
|
43387
|
-
fallbackUrls: s
|
|
43408
|
+
fallbackUrls: s,
|
|
43409
|
+
requestTimeoutMs: 6e4
|
|
43388
43410
|
}), {
|
|
43389
43411
|
onDone: ()=>{}
|
|
43390
43412
|
});
|
|
@@ -90589,7 +90611,7 @@
|
|
|
90589
90611
|
}
|
|
90590
90612
|
};
|
|
90591
90613
|
|
|
90592
|
-
const videoSettings$
|
|
90614
|
+
const videoSettings$7 = libExports.isMobile ? {
|
|
90593
90615
|
// aspectRatio: 16 / 9,
|
|
90594
90616
|
width: {
|
|
90595
90617
|
ideal: 640
|
|
@@ -91368,7 +91390,7 @@
|
|
|
91368
91390
|
flipHorizontal: frontCamera,
|
|
91369
91391
|
ref: videoRef,
|
|
91370
91392
|
onError: onErrorCallback,
|
|
91371
|
-
videoSettings: videoSettings$
|
|
91393
|
+
videoSettings: videoSettings$7,
|
|
91372
91394
|
closeButton: /*#__PURE__*/ jsxRuntimeExports.jsx(CloseIcon, {}),
|
|
91373
91395
|
children: /*#__PURE__*/ jsxRuntimeExports.jsxs(WarmUpOverlay, {
|
|
91374
91396
|
overlay: !warmupDone || !isPlaying,
|
|
@@ -91930,11 +91952,11 @@
|
|
|
91930
91952
|
extraConfig: null
|
|
91931
91953
|
};
|
|
91932
91954
|
|
|
91933
|
-
const DirectionalIcon = dt$1.img`
|
|
91955
|
+
const DirectionalIcon$1 = dt$1.img`
|
|
91934
91956
|
width: ${({ width })=>width};
|
|
91935
91957
|
`;
|
|
91936
91958
|
// eslint-disable-next-line react/require-default-props
|
|
91937
|
-
function DirectionIcon({ type }) {
|
|
91959
|
+
function DirectionIcon$1({ type }) {
|
|
91938
91960
|
const theme = nt$2();
|
|
91939
91961
|
// default icons and widths based on version
|
|
91940
91962
|
const iconDirection = useThemeIcon(`Selfie.Active.directionIcon.${type}`, `${type}_arrow.gif`);
|
|
@@ -91951,7 +91973,7 @@
|
|
|
91951
91973
|
if (type === ra$1.FaceDirection.FRONTAL) {
|
|
91952
91974
|
// For frontal direction, use the SVG icon if available
|
|
91953
91975
|
if (frontalIcon) {
|
|
91954
|
-
return /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionalIcon, {
|
|
91976
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionalIcon$1, {
|
|
91955
91977
|
src: frontalIcon,
|
|
91956
91978
|
width: iconWidth,
|
|
91957
91979
|
alt: ""
|
|
@@ -91959,20 +91981,20 @@
|
|
|
91959
91981
|
}
|
|
91960
91982
|
}
|
|
91961
91983
|
if (directionIconSrc && directionIconSrc !== null) {
|
|
91962
|
-
return /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionalIcon, {
|
|
91984
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionalIcon$1, {
|
|
91963
91985
|
src: get(theme, `Selfie.Active.directionIcon.${type}`),
|
|
91964
91986
|
width: iconWidth,
|
|
91965
91987
|
alt: ""
|
|
91966
91988
|
});
|
|
91967
91989
|
}
|
|
91968
91990
|
// fallback to default icons and width
|
|
91969
|
-
return /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionalIcon, {
|
|
91991
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionalIcon$1, {
|
|
91970
91992
|
src: iconDirection,
|
|
91971
91993
|
alt: "",
|
|
91972
91994
|
width: iconWidth
|
|
91973
91995
|
});
|
|
91974
91996
|
}
|
|
91975
|
-
DirectionIcon.propTypes = {
|
|
91997
|
+
DirectionIcon$1.propTypes = {
|
|
91976
91998
|
type: PropTypes.oneOf([
|
|
91977
91999
|
ra$1.FaceDirection.LEFT,
|
|
91978
92000
|
ra$1.FaceDirection.RIGHT,
|
|
@@ -91980,12 +92002,12 @@
|
|
|
91980
92002
|
ra$1.FaceDirection.FRONTAL
|
|
91981
92003
|
])
|
|
91982
92004
|
};
|
|
91983
|
-
DirectionIcon.defaultProps = {
|
|
92005
|
+
DirectionIcon$1.defaultProps = {
|
|
91984
92006
|
type: ra$1.FaceDirection.LEFT
|
|
91985
92007
|
};
|
|
91986
92008
|
|
|
91987
92009
|
// To reduce the calculation for blazeface
|
|
91988
|
-
const videoSettings$
|
|
92010
|
+
const videoSettings$6 = libExports.isMobile ? {
|
|
91989
92011
|
width: {
|
|
91990
92012
|
ideal: 640
|
|
91991
92013
|
}
|
|
@@ -92110,7 +92132,7 @@
|
|
|
92110
92132
|
onClose: onCloseCallback,
|
|
92111
92133
|
flipHorizontal: flipVideoHorizontal ?? frontCamera,
|
|
92112
92134
|
ref: refVideo,
|
|
92113
|
-
videoSettings: videoSettings$
|
|
92135
|
+
videoSettings: videoSettings$6,
|
|
92114
92136
|
onError: onErrorCallback,
|
|
92115
92137
|
scale: cameraScale,
|
|
92116
92138
|
defaultCameraId: defaultCameraId,
|
|
@@ -92221,16 +92243,16 @@
|
|
|
92221
92243
|
isLoading: false,
|
|
92222
92244
|
flipVideoHorizontal: null,
|
|
92223
92245
|
customDirectionIcon: {
|
|
92224
|
-
[ra$1.FaceDirection.LEFT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
92246
|
+
[ra$1.FaceDirection.LEFT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
92225
92247
|
type: ra$1.FaceDirection.LEFT
|
|
92226
92248
|
}),
|
|
92227
|
-
[ra$1.FaceDirection.RIGHT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
92249
|
+
[ra$1.FaceDirection.RIGHT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
92228
92250
|
type: ra$1.FaceDirection.RIGHT
|
|
92229
92251
|
}),
|
|
92230
|
-
[ra$1.FaceDirection.UP]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
92252
|
+
[ra$1.FaceDirection.UP]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
92231
92253
|
type: ra$1.FaceDirection.UP
|
|
92232
92254
|
}),
|
|
92233
|
-
[ra$1.FaceDirection.FRONTAL]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
92255
|
+
[ra$1.FaceDirection.FRONTAL]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
92234
92256
|
type: ra$1.FaceDirection.FRONTAL
|
|
92235
92257
|
})
|
|
92236
92258
|
},
|
|
@@ -92608,7 +92630,7 @@
|
|
|
92608
92630
|
});
|
|
92609
92631
|
}
|
|
92610
92632
|
|
|
92611
|
-
const videoSettings$
|
|
92633
|
+
const videoSettings$5 = libExports.isMobile ? {
|
|
92612
92634
|
// aspectRatio: 16 / 9,
|
|
92613
92635
|
width: {
|
|
92614
92636
|
ideal: 640
|
|
@@ -93141,7 +93163,7 @@
|
|
|
93141
93163
|
flipHorizontal: frontCamera,
|
|
93142
93164
|
ref: videoRef,
|
|
93143
93165
|
onError: onErrorCallback,
|
|
93144
|
-
videoSettings: videoSettings$
|
|
93166
|
+
videoSettings: videoSettings$5,
|
|
93145
93167
|
closeButton: /*#__PURE__*/ jsxRuntimeExports.jsx(CloseIcon, {}),
|
|
93146
93168
|
children: /*#__PURE__*/ jsxRuntimeExports.jsxs(WarmUpOverlay, {
|
|
93147
93169
|
overlay: !warmupDone || !isPlaying,
|
|
@@ -93483,13 +93505,13 @@
|
|
|
93483
93505
|
};
|
|
93484
93506
|
|
|
93485
93507
|
// To reduce the calculation for blazeface
|
|
93486
|
-
const videoSettings$
|
|
93508
|
+
const videoSettings$4 = libExports.isMobile ? {
|
|
93487
93509
|
width: {
|
|
93488
93510
|
ideal: 640
|
|
93489
93511
|
}
|
|
93490
93512
|
} : null;
|
|
93491
93513
|
// eslint-disable-next-line react/prop-types, consistent-return
|
|
93492
|
-
const SelfieStepImageHolder$
|
|
93514
|
+
const SelfieStepImageHolder$2 = ({ stepNumber, type, theme })=>{
|
|
93493
93515
|
const imageHolderIcon = useDefaultThemeIcon(`instruction_${type}.svg`);
|
|
93494
93516
|
// prioritize custom theme icons
|
|
93495
93517
|
const customHolderSrc = get(theme, `Selfie.Active.imageHolder.${type}`);
|
|
@@ -93514,7 +93536,7 @@
|
|
|
93514
93536
|
alt: ""
|
|
93515
93537
|
});
|
|
93516
93538
|
};
|
|
93517
|
-
function renderDirectionIcon$
|
|
93539
|
+
function renderDirectionIcon$2(directionIcon, directionIconAnimation) {
|
|
93518
93540
|
if (!directionIcon) return null;
|
|
93519
93541
|
if (typeof directionIcon === 'string') {
|
|
93520
93542
|
return /*#__PURE__*/ jsxRuntimeExports.jsx("img", {
|
|
@@ -93659,7 +93681,7 @@
|
|
|
93659
93681
|
onClose: onCloseCallback,
|
|
93660
93682
|
flipHorizontal: flipVideoHorizontal ?? frontCamera,
|
|
93661
93683
|
ref: refVideo,
|
|
93662
|
-
videoSettings: videoSettings$
|
|
93684
|
+
videoSettings: videoSettings$4,
|
|
93663
93685
|
onError: onErrorCallback,
|
|
93664
93686
|
scale: cameraScale,
|
|
93665
93687
|
defaultCameraId: defaultCameraId,
|
|
@@ -93684,7 +93706,7 @@
|
|
|
93684
93706
|
showErrorRing: !!faceDetectionError
|
|
93685
93707
|
}),
|
|
93686
93708
|
/*#__PURE__*/ jsxRuntimeExports.jsx(InstructionsOverlay$2, {
|
|
93687
|
-
children: renderDirectionIcon$
|
|
93709
|
+
children: renderDirectionIcon$2(directionIcon, directionIconAnimation)
|
|
93688
93710
|
}),
|
|
93689
93711
|
activeCapturing && /*#__PURE__*/ jsxRuntimeExports.jsx(CapturingOverlay$1, {})
|
|
93690
93712
|
]
|
|
@@ -93707,7 +93729,7 @@
|
|
|
93707
93729
|
className: "image_preview",
|
|
93708
93730
|
src: objUrl,
|
|
93709
93731
|
alt: ""
|
|
93710
|
-
}) : /*#__PURE__*/ jsxRuntimeExports.jsx(SelfieStepImageHolder$
|
|
93732
|
+
}) : /*#__PURE__*/ jsxRuntimeExports.jsx(SelfieStepImageHolder$2, {
|
|
93711
93733
|
stepNumber: index + 1,
|
|
93712
93734
|
type: name,
|
|
93713
93735
|
theme: theme
|
|
@@ -93783,6 +93805,501 @@
|
|
|
93783
93805
|
serviceSettings: PropTypes.shape({})
|
|
93784
93806
|
};
|
|
93785
93807
|
ActiveLiveness.defaultProps = {
|
|
93808
|
+
apiCheck: false,
|
|
93809
|
+
onLivenessDetectionDone: null,
|
|
93810
|
+
onClose: null,
|
|
93811
|
+
onError: ()=>{},
|
|
93812
|
+
onReset: ()=>{},
|
|
93813
|
+
captureFrameSettings: {
|
|
93814
|
+
enable: false,
|
|
93815
|
+
framesIntervalTime: 180,
|
|
93816
|
+
framesBatchLength: 0
|
|
93817
|
+
},
|
|
93818
|
+
onFramesCaptured: ()=>{},
|
|
93819
|
+
flipVideoHorizontal: null,
|
|
93820
|
+
frontCamera: true,
|
|
93821
|
+
isLoading: false,
|
|
93822
|
+
customDirectionIcon: {
|
|
93823
|
+
[ra$1.FaceDirection.LEFT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
93824
|
+
type: ra$1.FaceDirection.LEFT
|
|
93825
|
+
}),
|
|
93826
|
+
[ra$1.FaceDirection.RIGHT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
93827
|
+
type: ra$1.FaceDirection.RIGHT
|
|
93828
|
+
}),
|
|
93829
|
+
[ra$1.FaceDirection.UP]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
93830
|
+
type: ra$1.FaceDirection.UP
|
|
93831
|
+
}),
|
|
93832
|
+
[ra$1.FaceDirection.FRONTAL]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
93833
|
+
type: ra$1.FaceDirection.FRONTAL
|
|
93834
|
+
})
|
|
93835
|
+
},
|
|
93836
|
+
customStepTimeConstraints: {
|
|
93837
|
+
[ra$1.FaceDirection.UP]: {
|
|
93838
|
+
delayTime: 0
|
|
93839
|
+
},
|
|
93840
|
+
[ra$1.FaceDirection.LEFT]: {
|
|
93841
|
+
delayTime: 0
|
|
93842
|
+
},
|
|
93843
|
+
[ra$1.FaceDirection.RIGHT]: {
|
|
93844
|
+
delayTime: 0
|
|
93845
|
+
},
|
|
93846
|
+
[ra$1.FaceDirection.FRONTAL]: {
|
|
93847
|
+
delayTime: 2000
|
|
93848
|
+
}
|
|
93849
|
+
},
|
|
93850
|
+
onProcessing: ()=>{},
|
|
93851
|
+
customErrors: null,
|
|
93852
|
+
apiCredentials: {
|
|
93853
|
+
accessKey: '',
|
|
93854
|
+
secretKey: '',
|
|
93855
|
+
apiUrl: ''
|
|
93856
|
+
},
|
|
93857
|
+
outputEncryptionSettings: null,
|
|
93858
|
+
cameraScale: 1,
|
|
93859
|
+
defaultCameraId: undefined,
|
|
93860
|
+
offsetFaceY: 0,
|
|
93861
|
+
styledComponent: {
|
|
93862
|
+
CloseCameraButton: null
|
|
93863
|
+
},
|
|
93864
|
+
serviceSettings: {
|
|
93865
|
+
enableUploadFrames: true,
|
|
93866
|
+
enableUploadImages: true,
|
|
93867
|
+
enableVerifySanityPortrait: true,
|
|
93868
|
+
enableVerifySanityIDCard: true,
|
|
93869
|
+
enableVerifyFaceLiveness: true,
|
|
93870
|
+
enableDetectIDCardTampering: true,
|
|
93871
|
+
enableReadIDCardInfo: true
|
|
93872
|
+
}
|
|
93873
|
+
};
|
|
93874
|
+
|
|
93875
|
+
const LicenseProvider = ({ children, onError })=>{
|
|
93876
|
+
const clientSettings = useClientSettings();
|
|
93877
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(dV.LicenseProvider, {
|
|
93878
|
+
clientSettings: clientSettings,
|
|
93879
|
+
onError: onError,
|
|
93880
|
+
children: children
|
|
93881
|
+
});
|
|
93882
|
+
};
|
|
93883
|
+
|
|
93884
|
+
// children prop is required but eslint is still complaining
|
|
93885
|
+
// eslint-disable-next-line react/require-default-props
|
|
93886
|
+
const SdkTimeoutProvider = ({ children, onError, type })=>{
|
|
93887
|
+
const clientSettings = useClientSettings();
|
|
93888
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(dz.Provider, {
|
|
93889
|
+
clientSettings: clientSettings,
|
|
93890
|
+
type: type,
|
|
93891
|
+
onError: onError,
|
|
93892
|
+
children: children
|
|
93893
|
+
});
|
|
93894
|
+
};
|
|
93895
|
+
|
|
93896
|
+
const DEFAULT_CUSTOM_TEXTS = {};
|
|
93897
|
+
const SDKLocaleProvider = ({ children, customTexts = DEFAULT_CUSTOM_TEXTS })=>{
|
|
93898
|
+
const clientSettings = useClientSettings();
|
|
93899
|
+
const { lang, uiSettings } = no$1.useSDKSettings();
|
|
93900
|
+
const localeValue = gM({
|
|
93901
|
+
customTexts,
|
|
93902
|
+
clientSettings,
|
|
93903
|
+
lang,
|
|
93904
|
+
uiSettings
|
|
93905
|
+
});
|
|
93906
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(iF$1.SDKLocaleProvider, {
|
|
93907
|
+
value: localeValue,
|
|
93908
|
+
children: children
|
|
93909
|
+
});
|
|
93910
|
+
};
|
|
93911
|
+
|
|
93912
|
+
const useMergeTheme = (options)=>{
|
|
93913
|
+
const { customTheme, clientSettings, themeVersion, uiSettings, defaultThemes = defaultThemes$2 } = options;
|
|
93914
|
+
const uiSettingsFromSdkSettings = dD.getWebSetting(clientSettings, 'data.settings.sdk_settings.ui_custom_settings');
|
|
93915
|
+
const themeValue = reactExports.useMemo(()=>{
|
|
93916
|
+
const mergedUiSettings = m3.selectUiSettings(uiSettings, uiSettingsFromSdkSettings);
|
|
93917
|
+
const customThemeFromUiSettings = m3.mapUISettingsToCustomTheme(mergedUiSettings);
|
|
93918
|
+
const finalCustomTheme = merge({}, customThemeFromUiSettings, customTheme);
|
|
93919
|
+
return {
|
|
93920
|
+
...finalCustomTheme,
|
|
93921
|
+
themeVersion,
|
|
93922
|
+
defaultThemes
|
|
93923
|
+
};
|
|
93924
|
+
}, [
|
|
93925
|
+
customTheme,
|
|
93926
|
+
defaultThemes,
|
|
93927
|
+
themeVersion,
|
|
93928
|
+
uiSettings,
|
|
93929
|
+
uiSettingsFromSdkSettings
|
|
93930
|
+
]);
|
|
93931
|
+
return themeValue;
|
|
93932
|
+
};
|
|
93933
|
+
|
|
93934
|
+
const DEFAULT_CUSTOM_THEME = {};
|
|
93935
|
+
const SDKThemeProvider = ({ children, customTheme = DEFAULT_CUSTOM_THEME })=>{
|
|
93936
|
+
const clientSettings = useClientSettings();
|
|
93937
|
+
const { uiSettings, themeVersion } = no$1.useSDKSettings();
|
|
93938
|
+
const themeValue = useMergeTheme({
|
|
93939
|
+
customTheme,
|
|
93940
|
+
clientSettings,
|
|
93941
|
+
themeVersion,
|
|
93942
|
+
uiSettings,
|
|
93943
|
+
defaultThemes: defaultThemes$2
|
|
93944
|
+
});
|
|
93945
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(ot$2, {
|
|
93946
|
+
theme: themeValue,
|
|
93947
|
+
children: children
|
|
93948
|
+
});
|
|
93949
|
+
};
|
|
93950
|
+
|
|
93951
|
+
const WrapIndicatorContext = /*#__PURE__*/ reactExports.createContext('');
|
|
93952
|
+
const WrapIndicatorProvider = ({ children, isWrappedBy = '' })=>{
|
|
93953
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(WrapIndicatorContext.Provider, {
|
|
93954
|
+
value: isWrappedBy,
|
|
93955
|
+
children: children
|
|
93956
|
+
});
|
|
93957
|
+
};
|
|
93958
|
+
const useWrapIndicator = ()=>reactExports.useContext(WrapIndicatorContext);
|
|
93959
|
+
|
|
93960
|
+
const DirectionalIcon = dt$1.img`
|
|
93961
|
+
width: ${({ width })=>width};
|
|
93962
|
+
`;
|
|
93963
|
+
// eslint-disable-next-line react/require-default-props
|
|
93964
|
+
function DirectionIcon({ type }) {
|
|
93965
|
+
const theme = nt$2();
|
|
93966
|
+
// default icons and widths based on version
|
|
93967
|
+
const iconDirection = useThemeIcon(`Selfie.Active.directionIcon.${type}`, `${type}_arrow.gif`);
|
|
93968
|
+
const iconWidth = getTheme(`Selfie.Active.directionIcon.${type}Width`)({
|
|
93969
|
+
theme
|
|
93970
|
+
});
|
|
93971
|
+
// prioritize custom theme icons
|
|
93972
|
+
const directionIconSrc = get(theme, `Selfie.Active.directionIcon.${type}`);
|
|
93973
|
+
if (directionIconSrc === null) {
|
|
93974
|
+
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
93975
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {});
|
|
93976
|
+
}
|
|
93977
|
+
if (directionIconSrc && directionIconSrc !== null) {
|
|
93978
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionalIcon, {
|
|
93979
|
+
src: get(theme, `Selfie.Active.directionIcon.${type}`),
|
|
93980
|
+
width: iconWidth,
|
|
93981
|
+
alt: ""
|
|
93982
|
+
});
|
|
93983
|
+
}
|
|
93984
|
+
// fallback to default icons and width
|
|
93985
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionalIcon, {
|
|
93986
|
+
src: iconDirection,
|
|
93987
|
+
alt: "",
|
|
93988
|
+
width: iconWidth
|
|
93989
|
+
});
|
|
93990
|
+
}
|
|
93991
|
+
DirectionIcon.propTypes = {
|
|
93992
|
+
type: PropTypes.oneOf([
|
|
93993
|
+
ra$1.FaceDirection.LEFT,
|
|
93994
|
+
ra$1.FaceDirection.RIGHT,
|
|
93995
|
+
ra$1.FaceDirection.UP,
|
|
93996
|
+
ra$1.FaceDirection.FRONTAL
|
|
93997
|
+
])
|
|
93998
|
+
};
|
|
93999
|
+
DirectionIcon.defaultProps = {
|
|
94000
|
+
type: ra$1.FaceDirection.LEFT
|
|
94001
|
+
};
|
|
94002
|
+
|
|
94003
|
+
// To reduce the calculation for blazeface
|
|
94004
|
+
const videoSettings$3 = libExports.isMobile ? {
|
|
94005
|
+
width: {
|
|
94006
|
+
ideal: 640
|
|
94007
|
+
}
|
|
94008
|
+
} : null;
|
|
94009
|
+
// eslint-disable-next-line react/prop-types, consistent-return
|
|
94010
|
+
const SelfieStepImageHolder$1 = ({ stepNumber, type, theme })=>{
|
|
94011
|
+
const imageHolderIcon = useDefaultThemeIcon(`instruction_${type}.svg`);
|
|
94012
|
+
// prioritize custom theme icons
|
|
94013
|
+
const customHolderSrc = get(theme, `Selfie.Active.imageHolder.${type}`);
|
|
94014
|
+
if (customHolderSrc === null) {
|
|
94015
|
+
// eslint-disable-next-line react/jsx-no-useless-fragment
|
|
94016
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {});
|
|
94017
|
+
}
|
|
94018
|
+
if (typeof customHolderSrc === 'string' && customHolderSrc !== '') {
|
|
94019
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx("img", {
|
|
94020
|
+
src: customHolderSrc,
|
|
94021
|
+
alt: ""
|
|
94022
|
+
});
|
|
94023
|
+
}
|
|
94024
|
+
// v1: use step number
|
|
94025
|
+
if (get(theme, 'themeVersion') === 'v1') {
|
|
94026
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx("span", {
|
|
94027
|
+
children: stepNumber
|
|
94028
|
+
});
|
|
94029
|
+
}
|
|
94030
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx("img", {
|
|
94031
|
+
src: imageHolderIcon,
|
|
94032
|
+
alt: ""
|
|
94033
|
+
});
|
|
94034
|
+
};
|
|
94035
|
+
function renderDirectionIcon$1(directionIcon, directionIconAnimation) {
|
|
94036
|
+
if (!directionIcon) return null;
|
|
94037
|
+
if (typeof directionIcon === 'string') {
|
|
94038
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx("img", {
|
|
94039
|
+
className: directionIconAnimation,
|
|
94040
|
+
src: directionIcon,
|
|
94041
|
+
alt: "",
|
|
94042
|
+
style: {
|
|
94043
|
+
maxWidth: '98px',
|
|
94044
|
+
maxHeight: '98px',
|
|
94045
|
+
marginBottom: '25px'
|
|
94046
|
+
}
|
|
94047
|
+
});
|
|
94048
|
+
}
|
|
94049
|
+
return directionIcon;
|
|
94050
|
+
}
|
|
94051
|
+
// eslint-disable-next-line react/require-default-props
|
|
94052
|
+
function ActiveLivenessV1(props) {
|
|
94053
|
+
const { apiCheck, onLivenessDetectionDone, captureFrameSettings, onFramesCaptured, frontCamera, flipVideoHorizontal, customDirectionIcon, customStepTimeConstraints, onProcessing, customErrors, apiCredentials, outputEncryptionSettings, cameraScale, defaultCameraId, offsetFaceY, styledComponent, isLoading, serviceSettings, onReset } = props;
|
|
94054
|
+
const theme = nt$2();
|
|
94055
|
+
const { onErrorCallback, onCloseCallback } = useSDKCallback();
|
|
94056
|
+
const bgCameraMask = iH.useAsset('bg_camera_mask.png');
|
|
94057
|
+
const bgCameraMaskRed = iH.useAsset('bg_camera_mask_red.png');
|
|
94058
|
+
const icLoading = useThemeIcon('IDCapturing.loadingIcon.src', 'ic_loading.gif');
|
|
94059
|
+
const [uiSpacing, setUISpacing] = reactExports.useState({});
|
|
94060
|
+
const { yFaceVerificationStepsWrapper, yFaceDetectionError } = uiSpacing;
|
|
94061
|
+
const [remainingTime, setRemainingTime] = reactExports.useState('');
|
|
94062
|
+
const [currentOrientation, setCurrentOrientation] = reactExports.useState();
|
|
94063
|
+
const surroundStyle = reactExports.useMemo(()=>({
|
|
94064
|
+
backgroundColor: getTheme('Selfie.backgroundColor')({
|
|
94065
|
+
theme
|
|
94066
|
+
})
|
|
94067
|
+
}), [
|
|
94068
|
+
theme
|
|
94069
|
+
]);
|
|
94070
|
+
// preload icons
|
|
94071
|
+
usePreloadThemeAsset(get(theme, 'themeVersion'), 'up_arrow.gif');
|
|
94072
|
+
usePreloadThemeAsset(get(theme, 'themeVersion'), 'left_arrow.gif');
|
|
94073
|
+
usePreloadThemeAsset(get(theme, 'themeVersion'), 'right_arrow.gif');
|
|
94074
|
+
usePreloadThemeAsset(get(theme, 'themeVersion'), 'frontal_arrow.gif');
|
|
94075
|
+
usePreloadThemeAsset(get(theme, 'themeVersion'), 'instruction_up.svg');
|
|
94076
|
+
usePreloadThemeAsset(get(theme, 'themeVersion'), 'instruction_left.svg');
|
|
94077
|
+
usePreloadThemeAsset(get(theme, 'themeVersion'), 'instruction_right.svg');
|
|
94078
|
+
usePreloadThemeAsset(get(theme, 'themeVersion'), 'instruction_frontal.svg');
|
|
94079
|
+
const cropAreaDimension = reactExports.useCallback(({ clientHeight, videoAreaWidth, videoAreaHeight, lostX, lostY })=>{
|
|
94080
|
+
let width;
|
|
94081
|
+
let height;
|
|
94082
|
+
if (libExports.isMobile) {
|
|
94083
|
+
width = videoAreaWidth;
|
|
94084
|
+
height = width;
|
|
94085
|
+
} else {
|
|
94086
|
+
height = videoAreaHeight - 200;
|
|
94087
|
+
width = height;
|
|
94088
|
+
}
|
|
94089
|
+
const x = Math.floor((videoAreaWidth - width) / 2) + lostX;
|
|
94090
|
+
let y = 5 + lostY;
|
|
94091
|
+
const yFaceDetectionErrorNew = lostY + 25;
|
|
94092
|
+
const yCropAreaNew = yFaceDetectionErrorNew + 30;
|
|
94093
|
+
const yFaceVerificationStepsWrapperNew = yCropAreaNew + height + 20;
|
|
94094
|
+
setUISpacing({
|
|
94095
|
+
yFaceDetectionError: yFaceDetectionErrorNew,
|
|
94096
|
+
yFaceVerificationStepsWrapper: yFaceVerificationStepsWrapperNew
|
|
94097
|
+
});
|
|
94098
|
+
const topLimit = Math.floor(lostY);
|
|
94099
|
+
const botLimit = Math.floor(clientHeight - lostY);
|
|
94100
|
+
y = Math.floor(yCropAreaNew); // floor the y value to avoid blur line on ios safari
|
|
94101
|
+
if (offsetFaceY !== 0 && (y + offsetFaceY < topLimit || y + offsetFaceY + height > botLimit)) {
|
|
94102
|
+
onErrorCallback({
|
|
94103
|
+
code: `offsetFaceY must be in [-${y - topLimit}, ${botLimit - height - y}]`
|
|
94104
|
+
});
|
|
94105
|
+
} else {
|
|
94106
|
+
y += offsetFaceY;
|
|
94107
|
+
}
|
|
94108
|
+
return {
|
|
94109
|
+
x,
|
|
94110
|
+
y,
|
|
94111
|
+
width,
|
|
94112
|
+
height
|
|
94113
|
+
};
|
|
94114
|
+
}, [
|
|
94115
|
+
offsetFaceY,
|
|
94116
|
+
onErrorCallback
|
|
94117
|
+
]);
|
|
94118
|
+
const { shouldResetFlowOnOrientationChange, cropArea, curStepIndex, directionIcon, directionIconAnimation, faceDetectionError, resetFlow, handleVideoPlayed, instructions, refVideo, refIsReseting, steps, videoPlayed, activeCapturing, warmupDone, showLoading } = useActiveLiveness$1({
|
|
94119
|
+
currentOrientation,
|
|
94120
|
+
apiCheck,
|
|
94121
|
+
bgCameraMask,
|
|
94122
|
+
bgCameraMaskRed,
|
|
94123
|
+
surroundStyle,
|
|
94124
|
+
onLivenessDetectionDone,
|
|
94125
|
+
onError: onErrorCallback,
|
|
94126
|
+
cropAreaDimension,
|
|
94127
|
+
customDirectionIcon,
|
|
94128
|
+
captureFrameSettings,
|
|
94129
|
+
onFramesCaptured,
|
|
94130
|
+
setRemainingTime,
|
|
94131
|
+
customStepTimeConstraints,
|
|
94132
|
+
onProcessing,
|
|
94133
|
+
customErrors,
|
|
94134
|
+
apiCredentials,
|
|
94135
|
+
outputEncryptionSettings,
|
|
94136
|
+
cameraScale,
|
|
94137
|
+
serviceSettings,
|
|
94138
|
+
onReset
|
|
94139
|
+
});
|
|
94140
|
+
reactExports.useEffect(()=>{
|
|
94141
|
+
if (typeof steps[0]?.directionIcon === 'string') {
|
|
94142
|
+
Promise.all(steps.map((step)=>preloadImage$2(step.directionIcon)));
|
|
94143
|
+
}
|
|
94144
|
+
}, [
|
|
94145
|
+
steps
|
|
94146
|
+
]);
|
|
94147
|
+
const { CloseCameraButton } = styledComponent;
|
|
94148
|
+
const progressCircleProps = getProgressCircleProps$2(props, theme);
|
|
94149
|
+
const currentProgress = !refIsReseting.current ? curStepIndex / steps.length * 100 : 0;
|
|
94150
|
+
// for error text
|
|
94151
|
+
const { lang } = no$1.useSDKSettings();
|
|
94152
|
+
const timer = reactExports.useRef(0);
|
|
94153
|
+
const lastError = reactExports.useRef({});
|
|
94154
|
+
const duration = reactExports.useRef(ra$1.ErrorDuration.SHORT);
|
|
94155
|
+
const lastErrorMsg = reactExports.useMemo(()=>{
|
|
94156
|
+
const { msg, duration: errorDuration = ra$1.ErrorDuration.SHORT } = faceDetectionError || {};
|
|
94157
|
+
const errorMsg = msg?.[lang];
|
|
94158
|
+
if (Date.now() - timer.current >= duration.current) {
|
|
94159
|
+
timer.current = Date.now();
|
|
94160
|
+
duration.current = errorDuration;
|
|
94161
|
+
lastError.current = errorMsg;
|
|
94162
|
+
}
|
|
94163
|
+
return lastError.current;
|
|
94164
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
94165
|
+
}, [
|
|
94166
|
+
faceDetectionError,
|
|
94167
|
+
curStepIndex
|
|
94168
|
+
]); // curStepIndex is used to get the latest error when reset flow
|
|
94169
|
+
const onOrientationChange = reactExports.useCallback((curOrientation)=>{
|
|
94170
|
+
setCurrentOrientation(curOrientation);
|
|
94171
|
+
if (!shouldResetFlowOnOrientationChange) {
|
|
94172
|
+
if (curOrientation === MODE.LANDSCAPE) {
|
|
94173
|
+
refVideo.current?.pause();
|
|
94174
|
+
} else {
|
|
94175
|
+
refVideo.current?.play();
|
|
94176
|
+
}
|
|
94177
|
+
} else {
|
|
94178
|
+
resetFlow();
|
|
94179
|
+
}
|
|
94180
|
+
}, [
|
|
94181
|
+
refVideo,
|
|
94182
|
+
resetFlow,
|
|
94183
|
+
shouldResetFlowOnOrientationChange
|
|
94184
|
+
]);
|
|
94185
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(OrientationDetection, {
|
|
94186
|
+
onOrientationChange: onOrientationChange,
|
|
94187
|
+
children: /*#__PURE__*/ jsxRuntimeExports.jsxs(Camera$3, {
|
|
94188
|
+
frontCamera: frontCamera,
|
|
94189
|
+
onVideoPlayed: handleVideoPlayed,
|
|
94190
|
+
onClose: onCloseCallback,
|
|
94191
|
+
flipHorizontal: flipVideoHorizontal ?? frontCamera,
|
|
94192
|
+
ref: refVideo,
|
|
94193
|
+
videoSettings: videoSettings$3,
|
|
94194
|
+
onError: onErrorCallback,
|
|
94195
|
+
scale: cameraScale,
|
|
94196
|
+
defaultCameraId: defaultCameraId,
|
|
94197
|
+
closeButton: CloseCameraButton || null,
|
|
94198
|
+
children: [
|
|
94199
|
+
!warmupDone && /*#__PURE__*/ jsxRuntimeExports.jsx(WarmupPopup, {}),
|
|
94200
|
+
videoPlayed ? /*#__PURE__*/ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
94201
|
+
children: [
|
|
94202
|
+
cropArea.current ? /*#__PURE__*/ jsxRuntimeExports.jsxs(CropAreaOverlayWrapper, {
|
|
94203
|
+
x: `${cropArea.current.x}px`,
|
|
94204
|
+
y: `${cropArea.current.y}px`,
|
|
94205
|
+
width: `${cropArea.current.width}px`,
|
|
94206
|
+
height: `${cropArea.current.height}px`,
|
|
94207
|
+
surroundStyle: cropArea.current.surroundStyle,
|
|
94208
|
+
children: [
|
|
94209
|
+
/*#__PURE__*/ jsxRuntimeExports.jsx(StyledCameraMark$2, {}),
|
|
94210
|
+
/*#__PURE__*/ jsxRuntimeExports.jsx(OverlayProgressCircle$2, {
|
|
94211
|
+
...progressCircleProps,
|
|
94212
|
+
progress: currentProgress,
|
|
94213
|
+
showErrorRing: !!faceDetectionError && getTheme('Selfie.progressCircle.showErrorRing')({
|
|
94214
|
+
theme
|
|
94215
|
+
})
|
|
94216
|
+
}),
|
|
94217
|
+
/*#__PURE__*/ jsxRuntimeExports.jsx(InstructionsOverlay$2, {
|
|
94218
|
+
children: renderDirectionIcon$1(directionIcon, directionIconAnimation)
|
|
94219
|
+
}),
|
|
94220
|
+
activeCapturing && /*#__PURE__*/ jsxRuntimeExports.jsx(CapturingOverlay$1, {})
|
|
94221
|
+
]
|
|
94222
|
+
}) : null,
|
|
94223
|
+
instructions ? /*#__PURE__*/ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
94224
|
+
children: [
|
|
94225
|
+
/*#__PURE__*/ jsxRuntimeExports.jsx(FaceVerificationInstructions$1, {
|
|
94226
|
+
top: yFaceVerificationStepsWrapper + 5,
|
|
94227
|
+
className: "instructions",
|
|
94228
|
+
children: instructions
|
|
94229
|
+
}),
|
|
94230
|
+
/*#__PURE__*/ jsxRuntimeExports.jsx(FaceVerificationStepsWrapper$2, {
|
|
94231
|
+
top: yFaceVerificationStepsWrapper + 35,
|
|
94232
|
+
children: steps.map((step, index)=>{
|
|
94233
|
+
const { name, image: { objUrl } } = step;
|
|
94234
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(StepItem$2, {
|
|
94235
|
+
active: curStepIndex >= index,
|
|
94236
|
+
className: "step-item",
|
|
94237
|
+
children: objUrl ? /*#__PURE__*/ jsxRuntimeExports.jsx("img", {
|
|
94238
|
+
className: "image_preview",
|
|
94239
|
+
src: objUrl,
|
|
94240
|
+
alt: ""
|
|
94241
|
+
}) : /*#__PURE__*/ jsxRuntimeExports.jsx(SelfieStepImageHolder$1, {
|
|
94242
|
+
stepNumber: index + 1,
|
|
94243
|
+
type: name,
|
|
94244
|
+
theme: theme
|
|
94245
|
+
})
|
|
94246
|
+
}, name);
|
|
94247
|
+
})
|
|
94248
|
+
})
|
|
94249
|
+
]
|
|
94250
|
+
}) : null
|
|
94251
|
+
]
|
|
94252
|
+
}) : null,
|
|
94253
|
+
(showLoading || isLoading) && /*#__PURE__*/ jsxRuntimeExports.jsx(LoadingIcon$5, {
|
|
94254
|
+
children: /*#__PURE__*/ jsxRuntimeExports.jsx("img", {
|
|
94255
|
+
src: icLoading,
|
|
94256
|
+
alt: "",
|
|
94257
|
+
className: "spin"
|
|
94258
|
+
})
|
|
94259
|
+
}),
|
|
94260
|
+
remainingTime && /*#__PURE__*/ jsxRuntimeExports.jsx(CountdownTime$2, {
|
|
94261
|
+
top: yFaceVerificationStepsWrapper - 30,
|
|
94262
|
+
children: remainingTime
|
|
94263
|
+
}),
|
|
94264
|
+
typeof lastErrorMsg === 'string' ? /*#__PURE__*/ jsxRuntimeExports.jsx(SimpleFaceDetectionError, {
|
|
94265
|
+
top: yFaceDetectionError - 15,
|
|
94266
|
+
className: "face-detection-error",
|
|
94267
|
+
children: lastErrorMsg
|
|
94268
|
+
}) : null
|
|
94269
|
+
]
|
|
94270
|
+
})
|
|
94271
|
+
});
|
|
94272
|
+
}
|
|
94273
|
+
ActiveLivenessV1.propTypes = {
|
|
94274
|
+
apiCheck: PropTypes.bool,
|
|
94275
|
+
onLivenessDetectionDone: PropTypes.func,
|
|
94276
|
+
onClose: PropTypes.func,
|
|
94277
|
+
onError: PropTypes.func,
|
|
94278
|
+
onReset: PropTypes.func,
|
|
94279
|
+
captureFrameSettings: PropTypes.shape({}),
|
|
94280
|
+
onFramesCaptured: PropTypes.func,
|
|
94281
|
+
flipVideoHorizontal: PropTypes.bool,
|
|
94282
|
+
frontCamera: PropTypes.bool,
|
|
94283
|
+
isLoading: PropTypes.bool,
|
|
94284
|
+
customDirectionIcon: PropTypes.shape({}),
|
|
94285
|
+
customStepTimeConstraints: PropTypes.shape({}),
|
|
94286
|
+
onProcessing: PropTypes.func,
|
|
94287
|
+
customErrors: PropTypes.shape({}),
|
|
94288
|
+
apiCredentials: PropTypes.shape({
|
|
94289
|
+
accessKey: PropTypes.string,
|
|
94290
|
+
secretKey: PropTypes.string,
|
|
94291
|
+
apiUrl: PropTypes.string
|
|
94292
|
+
}),
|
|
94293
|
+
outputEncryptionSettings: PropTypes.shape({}),
|
|
94294
|
+
cameraScale: PropTypes.number,
|
|
94295
|
+
defaultCameraId: PropTypes.string,
|
|
94296
|
+
offsetFaceY: PropTypes.number,
|
|
94297
|
+
styledComponent: PropTypes.shape({
|
|
94298
|
+
CloseCameraButton: PropTypes.node
|
|
94299
|
+
}),
|
|
94300
|
+
serviceSettings: PropTypes.shape({})
|
|
94301
|
+
};
|
|
94302
|
+
ActiveLivenessV1.defaultProps = {
|
|
93786
94303
|
apiCheck: false,
|
|
93787
94304
|
onLivenessDetectionDone: null,
|
|
93788
94305
|
onClose: null,
|
|
@@ -93850,90 +94367,295 @@
|
|
|
93850
94367
|
}
|
|
93851
94368
|
};
|
|
93852
94369
|
|
|
93853
|
-
|
|
93854
|
-
|
|
93855
|
-
|
|
93856
|
-
|
|
93857
|
-
|
|
93858
|
-
|
|
93859
|
-
});
|
|
93860
|
-
};
|
|
93861
|
-
|
|
93862
|
-
// children prop is required but eslint is still complaining
|
|
94370
|
+
// To reduce the calculation for blazeface
|
|
94371
|
+
const videoSettings$2 = libExports.isMobile ? {
|
|
94372
|
+
width: {
|
|
94373
|
+
ideal: 640
|
|
94374
|
+
}
|
|
94375
|
+
} : null;
|
|
93863
94376
|
// eslint-disable-next-line react/require-default-props
|
|
93864
|
-
|
|
93865
|
-
const
|
|
93866
|
-
|
|
93867
|
-
|
|
93868
|
-
|
|
93869
|
-
|
|
93870
|
-
|
|
93871
|
-
});
|
|
93872
|
-
|
|
93873
|
-
|
|
93874
|
-
|
|
93875
|
-
|
|
93876
|
-
|
|
93877
|
-
|
|
93878
|
-
|
|
93879
|
-
|
|
93880
|
-
|
|
93881
|
-
|
|
93882
|
-
|
|
93883
|
-
|
|
93884
|
-
|
|
93885
|
-
|
|
93886
|
-
|
|
93887
|
-
|
|
93888
|
-
|
|
93889
|
-
|
|
93890
|
-
|
|
93891
|
-
|
|
93892
|
-
|
|
93893
|
-
|
|
93894
|
-
|
|
93895
|
-
|
|
93896
|
-
|
|
94377
|
+
function PassiveLivenessOldV1(props) {
|
|
94378
|
+
const { apiCheck, onLivenessDetectionDone, captureFrameSettings, onFramesCaptured, frontCamera, flipVideoHorizontal, customDirectionIcon, customStepTimeConstraints, onProcessing, customErrors, apiCredentials, outputEncryptionSettings, cameraScale, defaultCameraId, passiveModeAuto, offsetFaceY, styledComponent, serviceSettings, onReset, isLoading } = props;
|
|
94379
|
+
const theme = nt$2();
|
|
94380
|
+
const { onErrorCallback, onCloseCallback } = useSDKCallback();
|
|
94381
|
+
const bgCameraMask = iH.useAsset('bg_camera_mask.png');
|
|
94382
|
+
const bgCameraMaskRed = iH.useAsset('bg_camera_mask_red.png');
|
|
94383
|
+
const icLoading = useThemeIcon('IDCapturing.loadingIcon.src', 'ic_loading.gif');
|
|
94384
|
+
const [uiSpacing, setUISpacing] = reactExports.useState({});
|
|
94385
|
+
const { yFaceDetectionError, yFaceVerificationStepsWrapper } = uiSpacing;
|
|
94386
|
+
const [remainingTime, setRemainingTime] = reactExports.useState('');
|
|
94387
|
+
const [currentOrientation, setCurrentOrientation] = reactExports.useState();
|
|
94388
|
+
const surroundStyle = reactExports.useMemo(()=>({
|
|
94389
|
+
backgroundColor: getTheme('Selfie.backgroundColor')({
|
|
94390
|
+
theme
|
|
94391
|
+
})
|
|
94392
|
+
}), [
|
|
94393
|
+
theme
|
|
94394
|
+
]);
|
|
94395
|
+
const cropAreaDimension = reactExports.useCallback(({ lostY, height, clientHeight })=>{
|
|
94396
|
+
const yFaceDetectionErrorNew = lostY + 25;
|
|
94397
|
+
const yCropAreaNew = yFaceDetectionErrorNew + 30;
|
|
94398
|
+
const yFaceVerificationStepsWrapperNew = yCropAreaNew + height + 20;
|
|
94399
|
+
setUISpacing({
|
|
94400
|
+
yFaceDetectionError: yFaceDetectionErrorNew,
|
|
94401
|
+
yFaceVerificationStepsWrapper: yFaceVerificationStepsWrapperNew
|
|
94402
|
+
});
|
|
94403
|
+
const topLimit = Math.floor(lostY);
|
|
94404
|
+
const botLimit = Math.floor(clientHeight - lostY);
|
|
94405
|
+
let y = Math.floor(yCropAreaNew); // floor the y value to avoid blur line on ios safari
|
|
94406
|
+
if (offsetFaceY !== 0 && (y + offsetFaceY < topLimit || y + offsetFaceY + height > botLimit)) {
|
|
94407
|
+
onErrorCallback({
|
|
94408
|
+
code: `offsetFaceY must be in [-${y - topLimit}, ${botLimit - height - y}]`
|
|
94409
|
+
});
|
|
94410
|
+
} else {
|
|
94411
|
+
y += offsetFaceY;
|
|
94412
|
+
}
|
|
93897
94413
|
return {
|
|
93898
|
-
|
|
93899
|
-
themeVersion,
|
|
93900
|
-
defaultThemes
|
|
94414
|
+
y
|
|
93901
94415
|
};
|
|
93902
94416
|
}, [
|
|
93903
|
-
|
|
93904
|
-
|
|
93905
|
-
themeVersion,
|
|
93906
|
-
uiSettings,
|
|
93907
|
-
uiSettingsFromSdkSettings
|
|
94417
|
+
offsetFaceY,
|
|
94418
|
+
onErrorCallback
|
|
93908
94419
|
]);
|
|
93909
|
-
|
|
93910
|
-
|
|
93911
|
-
|
|
93912
|
-
|
|
93913
|
-
|
|
93914
|
-
|
|
93915
|
-
|
|
93916
|
-
|
|
93917
|
-
|
|
93918
|
-
|
|
93919
|
-
|
|
93920
|
-
|
|
93921
|
-
|
|
94420
|
+
const { shouldResetFlowOnOrientationChange, countdownToTakePicture, cropArea, curStepIndex, faceDetectionError, resetFlow, handleTriggerPassiveMode, handleVideoPlayed, refVideo, showCountdown, steps, refIsReseting, videoPlayed, warmupDone, showCaptureButton, shouldShowCountdown, showLoading } = usePassiveLiveness$1({
|
|
94421
|
+
currentOrientation,
|
|
94422
|
+
apiCheck,
|
|
94423
|
+
bgCameraMask,
|
|
94424
|
+
bgCameraMaskRed,
|
|
94425
|
+
surroundStyle,
|
|
94426
|
+
onLivenessDetectionDone,
|
|
94427
|
+
onError: onErrorCallback,
|
|
94428
|
+
cropAreaDimension,
|
|
94429
|
+
customDirectionIcon,
|
|
94430
|
+
captureFrameSettings,
|
|
94431
|
+
onFramesCaptured,
|
|
94432
|
+
setRemainingTime,
|
|
94433
|
+
customStepTimeConstraints,
|
|
94434
|
+
onProcessing,
|
|
94435
|
+
customErrors,
|
|
94436
|
+
apiCredentials,
|
|
94437
|
+
outputEncryptionSettings,
|
|
94438
|
+
cameraScale,
|
|
94439
|
+
passiveModeAuto,
|
|
94440
|
+
serviceSettings,
|
|
94441
|
+
onReset
|
|
93922
94442
|
});
|
|
93923
|
-
|
|
93924
|
-
|
|
93925
|
-
|
|
94443
|
+
reactExports.useEffect(()=>{
|
|
94444
|
+
if (typeof steps[0]?.directionIcon === 'string') {
|
|
94445
|
+
Promise.all(steps.map((step)=>preloadImage$2(step.directionIcon)));
|
|
94446
|
+
}
|
|
94447
|
+
}, [
|
|
94448
|
+
steps
|
|
94449
|
+
]);
|
|
94450
|
+
const { CloseCameraButton } = styledComponent;
|
|
94451
|
+
const progressCircleProps = getProgressCircleProps$2(props, theme);
|
|
94452
|
+
const currentProgress = !refIsReseting.current ? curStepIndex / steps.length * 100 : 0;
|
|
94453
|
+
// for error text
|
|
94454
|
+
const { lang } = no$1.useSDKSettings();
|
|
94455
|
+
const timer = reactExports.useRef(0);
|
|
94456
|
+
const lastError = reactExports.useRef({});
|
|
94457
|
+
const duration = reactExports.useRef(ra$1.ErrorDuration.SHORT);
|
|
94458
|
+
const lastErrorMsg = reactExports.useMemo(()=>{
|
|
94459
|
+
const { msg, duration: errorDuration = ra$1.ErrorDuration.SHORT } = faceDetectionError || {};
|
|
94460
|
+
const errorMsg = msg?.[lang];
|
|
94461
|
+
if (Date.now() - timer.current >= duration.current) {
|
|
94462
|
+
timer.current = Date.now();
|
|
94463
|
+
duration.current = errorDuration;
|
|
94464
|
+
lastError.current = errorMsg;
|
|
94465
|
+
}
|
|
94466
|
+
return lastError.current;
|
|
94467
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
94468
|
+
}, [
|
|
94469
|
+
faceDetectionError,
|
|
94470
|
+
curStepIndex
|
|
94471
|
+
]); // curStepIndex is used to get the latest error when reset flow
|
|
94472
|
+
const onOrientationChange = reactExports.useCallback((curOrientation)=>{
|
|
94473
|
+
setCurrentOrientation(curOrientation);
|
|
94474
|
+
if (!shouldResetFlowOnOrientationChange) {
|
|
94475
|
+
if (curOrientation === MODE.LANDSCAPE) {
|
|
94476
|
+
refVideo.current?.pause();
|
|
94477
|
+
} else {
|
|
94478
|
+
refVideo.current?.play();
|
|
94479
|
+
}
|
|
94480
|
+
} else {
|
|
94481
|
+
resetFlow();
|
|
94482
|
+
}
|
|
94483
|
+
}, [
|
|
94484
|
+
refVideo,
|
|
94485
|
+
resetFlow,
|
|
94486
|
+
shouldResetFlowOnOrientationChange
|
|
94487
|
+
]);
|
|
94488
|
+
return /*#__PURE__*/ jsxRuntimeExports.jsx(OrientationDetection, {
|
|
94489
|
+
onOrientationChange: onOrientationChange,
|
|
94490
|
+
children: /*#__PURE__*/ jsxRuntimeExports.jsxs(Camera$3, {
|
|
94491
|
+
frontCamera: frontCamera,
|
|
94492
|
+
onVideoPlayed: handleVideoPlayed,
|
|
94493
|
+
onClose: onCloseCallback,
|
|
94494
|
+
flipHorizontal: flipVideoHorizontal ?? frontCamera,
|
|
94495
|
+
ref: refVideo,
|
|
94496
|
+
videoSettings: videoSettings$2,
|
|
94497
|
+
onError: onErrorCallback,
|
|
94498
|
+
scale: cameraScale,
|
|
94499
|
+
defaultCameraId: defaultCameraId,
|
|
94500
|
+
closeButton: CloseCameraButton || null,
|
|
94501
|
+
children: [
|
|
94502
|
+
!warmupDone && /*#__PURE__*/ jsxRuntimeExports.jsx(WarmupPopup, {}),
|
|
94503
|
+
videoPlayed ? /*#__PURE__*/ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
94504
|
+
children: [
|
|
94505
|
+
typeof lastErrorMsg === 'string' ? /*#__PURE__*/ jsxRuntimeExports.jsx(SimpleFaceDetectionError, {
|
|
94506
|
+
top: yFaceDetectionError - 15,
|
|
94507
|
+
className: "face-detection-error",
|
|
94508
|
+
children: lastErrorMsg
|
|
94509
|
+
}) : null,
|
|
94510
|
+
cropArea.current ? /*#__PURE__*/ jsxRuntimeExports.jsxs(CropAreaOverlayWrapper, {
|
|
94511
|
+
x: `${cropArea.current.x}px`,
|
|
94512
|
+
y: `${cropArea.current.y}px`,
|
|
94513
|
+
width: `${cropArea.current.width}px`,
|
|
94514
|
+
height: `${cropArea.current.height}px`,
|
|
94515
|
+
surroundStyle: cropArea.current.surroundStyle,
|
|
94516
|
+
children: [
|
|
94517
|
+
/*#__PURE__*/ jsxRuntimeExports.jsx(StyledCameraMark$2, {}),
|
|
94518
|
+
/*#__PURE__*/ jsxRuntimeExports.jsx(OverlayProgressCircle$2, {
|
|
94519
|
+
...progressCircleProps,
|
|
94520
|
+
progress: currentProgress,
|
|
94521
|
+
showErrorRing: !!faceDetectionError && getTheme('Selfie.progressCircle.showErrorRing')({
|
|
94522
|
+
theme
|
|
94523
|
+
})
|
|
94524
|
+
}),
|
|
94525
|
+
shouldShowCountdown ? /*#__PURE__*/ jsxRuntimeExports.jsx(CountDownOverlay$3, {
|
|
94526
|
+
children: countdownToTakePicture
|
|
94527
|
+
}) : null,
|
|
94528
|
+
faceDetectionError && /*#__PURE__*/ jsxRuntimeExports.jsx(ErrorOverlay$3, {})
|
|
94529
|
+
]
|
|
94530
|
+
}) : null,
|
|
94531
|
+
remainingTime && /*#__PURE__*/ jsxRuntimeExports.jsx(CountdownTime$2, {
|
|
94532
|
+
top: yFaceVerificationStepsWrapper - 30,
|
|
94533
|
+
children: remainingTime
|
|
94534
|
+
}),
|
|
94535
|
+
showCaptureButton ? /*#__PURE__*/ jsxRuntimeExports.jsx(BottomButtonsOverlay$2, {
|
|
94536
|
+
children: /*#__PURE__*/ jsxRuntimeExports.jsx(Button$7, {
|
|
94537
|
+
onClick: handleTriggerPassiveMode,
|
|
94538
|
+
disabled: showCountdown,
|
|
94539
|
+
children: get(theme, 'Selfie.captureIcon.src') ? /*#__PURE__*/ jsxRuntimeExports.jsx("img", {
|
|
94540
|
+
src: get(theme, 'Selfie.captureIcon.src'),
|
|
94541
|
+
alt: ""
|
|
94542
|
+
}) : /*#__PURE__*/ jsxRuntimeExports.jsx(CameraIcon$1, {
|
|
94543
|
+
fillColor: "rgba(193, 197, 204, 1)"
|
|
94544
|
+
})
|
|
94545
|
+
})
|
|
94546
|
+
}) : null
|
|
94547
|
+
]
|
|
94548
|
+
}) : null,
|
|
94549
|
+
(showLoading || isLoading) && /*#__PURE__*/ jsxRuntimeExports.jsx(LoadingIcon$5, {
|
|
94550
|
+
children: /*#__PURE__*/ jsxRuntimeExports.jsx("img", {
|
|
94551
|
+
src: icLoading,
|
|
94552
|
+
alt: ""
|
|
94553
|
+
})
|
|
94554
|
+
})
|
|
94555
|
+
]
|
|
94556
|
+
})
|
|
93926
94557
|
});
|
|
94558
|
+
}
|
|
94559
|
+
PassiveLivenessOldV1.propTypes = {
|
|
94560
|
+
apiCheck: PropTypes.bool,
|
|
94561
|
+
mode: PropTypes.string,
|
|
94562
|
+
onLivenessDetectionDone: PropTypes.func,
|
|
94563
|
+
onClose: PropTypes.func,
|
|
94564
|
+
onError: PropTypes.func,
|
|
94565
|
+
onReset: PropTypes.func,
|
|
94566
|
+
captureFrameSettings: PropTypes.shape({}),
|
|
94567
|
+
onFramesCaptured: PropTypes.func,
|
|
94568
|
+
frontCamera: PropTypes.bool,
|
|
94569
|
+
isLoading: PropTypes.bool,
|
|
94570
|
+
flipVideoHorizontal: PropTypes.bool,
|
|
94571
|
+
customDirectionIcon: PropTypes.shape({}),
|
|
94572
|
+
customStepTimeConstraints: PropTypes.shape({}),
|
|
94573
|
+
onProcessing: PropTypes.func,
|
|
94574
|
+
customErrors: PropTypes.shape({}),
|
|
94575
|
+
apiCredentials: PropTypes.shape({
|
|
94576
|
+
accessKey: PropTypes.string,
|
|
94577
|
+
secretKey: PropTypes.string,
|
|
94578
|
+
apiUrl: PropTypes.string
|
|
94579
|
+
}),
|
|
94580
|
+
outputEncryptionSettings: PropTypes.shape({}),
|
|
94581
|
+
cameraScale: PropTypes.number,
|
|
94582
|
+
defaultCameraId: PropTypes.string,
|
|
94583
|
+
passiveModeAuto: PropTypes.bool,
|
|
94584
|
+
offsetFaceY: PropTypes.number,
|
|
94585
|
+
styledComponent: PropTypes.shape({
|
|
94586
|
+
CloseCameraButton: PropTypes.node
|
|
94587
|
+
}),
|
|
94588
|
+
serviceSettings: PropTypes.shape({})
|
|
93927
94589
|
};
|
|
93928
|
-
|
|
93929
|
-
|
|
93930
|
-
|
|
93931
|
-
|
|
93932
|
-
|
|
93933
|
-
|
|
93934
|
-
}
|
|
94590
|
+
PassiveLivenessOldV1.defaultProps = {
|
|
94591
|
+
apiCheck: false,
|
|
94592
|
+
mode: null,
|
|
94593
|
+
onLivenessDetectionDone: null,
|
|
94594
|
+
onClose: null,
|
|
94595
|
+
onError: ()=>{},
|
|
94596
|
+
onReset: ()=>{},
|
|
94597
|
+
captureFrameSettings: {
|
|
94598
|
+
enable: false,
|
|
94599
|
+
framesIntervalTime: 180,
|
|
94600
|
+
framesBatchLength: 0
|
|
94601
|
+
},
|
|
94602
|
+
onFramesCaptured: ()=>{},
|
|
94603
|
+
frontCamera: true,
|
|
94604
|
+
isLoading: false,
|
|
94605
|
+
flipVideoHorizontal: null,
|
|
94606
|
+
customDirectionIcon: {
|
|
94607
|
+
[ra$1.FaceDirection.LEFT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
94608
|
+
type: ra$1.FaceDirection.LEFT
|
|
94609
|
+
}),
|
|
94610
|
+
[ra$1.FaceDirection.RIGHT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
94611
|
+
type: ra$1.FaceDirection.RIGHT
|
|
94612
|
+
}),
|
|
94613
|
+
[ra$1.FaceDirection.UP]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
94614
|
+
type: ra$1.FaceDirection.UP
|
|
94615
|
+
}),
|
|
94616
|
+
[ra$1.FaceDirection.FRONTAL]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
94617
|
+
type: ra$1.FaceDirection.FRONTAL
|
|
94618
|
+
})
|
|
94619
|
+
},
|
|
94620
|
+
customStepTimeConstraints: {
|
|
94621
|
+
[ra$1.FaceDirection.UP]: {
|
|
94622
|
+
delayTime: 0
|
|
94623
|
+
},
|
|
94624
|
+
[ra$1.FaceDirection.LEFT]: {
|
|
94625
|
+
delayTime: 0
|
|
94626
|
+
},
|
|
94627
|
+
[ra$1.FaceDirection.RIGHT]: {
|
|
94628
|
+
delayTime: 0
|
|
94629
|
+
},
|
|
94630
|
+
[ra$1.FaceDirection.FRONTAL]: {
|
|
94631
|
+
delayTime: 2000
|
|
94632
|
+
}
|
|
94633
|
+
},
|
|
94634
|
+
onProcessing: ()=>{},
|
|
94635
|
+
customErrors: null,
|
|
94636
|
+
apiCredentials: {
|
|
94637
|
+
accessKey: '',
|
|
94638
|
+
secretKey: '',
|
|
94639
|
+
apiUrl: ''
|
|
94640
|
+
},
|
|
94641
|
+
outputEncryptionSettings: null,
|
|
94642
|
+
cameraScale: 1,
|
|
94643
|
+
defaultCameraId: undefined,
|
|
94644
|
+
passiveModeAuto: false,
|
|
94645
|
+
offsetFaceY: 0,
|
|
94646
|
+
styledComponent: {
|
|
94647
|
+
CloseCameraButton: null
|
|
94648
|
+
},
|
|
94649
|
+
serviceSettings: {
|
|
94650
|
+
enableUploadFrames: true,
|
|
94651
|
+
enableUploadImages: true,
|
|
94652
|
+
enableVerifySanityPortrait: true,
|
|
94653
|
+
enableVerifySanityIDCard: true,
|
|
94654
|
+
enableVerifyFaceLiveness: true,
|
|
94655
|
+
enableDetectIDCardTampering: true,
|
|
94656
|
+
enableReadIDCardInfo: true
|
|
94657
|
+
}
|
|
93935
94658
|
};
|
|
93936
|
-
const useWrapIndicator = ()=>reactExports.useContext(WrapIndicatorContext);
|
|
93937
94659
|
|
|
93938
94660
|
const withClientSettings$1 = (Component)=>{
|
|
93939
94661
|
return function WrappedComponent(props) {
|
|
@@ -93950,16 +94672,20 @@
|
|
|
93950
94672
|
});
|
|
93951
94673
|
};
|
|
93952
94674
|
};
|
|
93953
|
-
const getLivenessModeComponent = (mode, CustomLivenessDetection)=>{
|
|
94675
|
+
const getLivenessModeComponent = (mode, CustomLivenessDetection, themeVersion)=>{
|
|
93954
94676
|
let LivenessDetectionComponent = ActiveLiveness;
|
|
93955
94677
|
if (mode === ra$1.Mode.ACTIVE) {
|
|
93956
|
-
|
|
94678
|
+
const DefaultActiveLiveness = themeVersion === 'v1' ? ActiveLivenessV1 : ActiveLiveness;
|
|
94679
|
+
LivenessDetectionComponent = CustomLivenessDetection?.ActiveLiveness ?? DefaultActiveLiveness;
|
|
93957
94680
|
}
|
|
93958
94681
|
if (mode === ra$1.Mode.PASSIVE_V2) {
|
|
93959
94682
|
LivenessDetectionComponent = CustomLivenessDetection?.PassiveLivenessV2 ?? PassiveLiveness;
|
|
93960
94683
|
}
|
|
93961
94684
|
if (mode === ra$1.Mode.PASSIVE) {
|
|
93962
|
-
|
|
94685
|
+
// PassiveLivenessOldV1 to not be confused with PassiveLivenessV2 (which is totally new mode)
|
|
94686
|
+
// PassiveLivenessOldV1 refers to PassiveLiveness with themeVersion = "v1"
|
|
94687
|
+
const DefaultPassiveLiveness = themeVersion === 'v1' ? PassiveLivenessOldV1 : PassiveLiveness$1;
|
|
94688
|
+
LivenessDetectionComponent = CustomLivenessDetection?.PassiveLiveness ?? DefaultPassiveLiveness;
|
|
93963
94689
|
}
|
|
93964
94690
|
if (typeof mode === 'string' && mode.startsWith('flash')) {
|
|
93965
94691
|
LivenessDetectionComponent = CustomLivenessDetection?.FlashLiveness ?? FlashLiveness;
|
|
@@ -93972,7 +94698,7 @@
|
|
|
93972
94698
|
}, livenessComponent: CustomLivenessDetection, customTheme = {}, customTexts, ...props } = livenessProps;
|
|
93973
94699
|
const { mode, flowId, onError: onErrorFromProp, onClose: onCloseFromProp, debug, onLivenessDetectionDone } = props;
|
|
93974
94700
|
const clientSettings = useClientSettings();
|
|
93975
|
-
const { billingSettings: clientBillingSettings, enableBilling } = no$1.useSDKSettings();
|
|
94701
|
+
const { billingSettings: clientBillingSettings, enableBilling, themeVersion } = no$1.useSDKSettings();
|
|
93976
94702
|
const billingSettingsFromSdkSettings = dD.getWebSetting(clientSettings, 'data.settings.sdk_settings.billing_settings.billing_config');
|
|
93977
94703
|
const billingUrl = dD.getWebSetting(clientSettings, 'data.settings.sdk_settings.billing_settings.url');
|
|
93978
94704
|
const { submitBilling } = gR({
|
|
@@ -94058,7 +94784,7 @@
|
|
|
94058
94784
|
billingInput,
|
|
94059
94785
|
onCloseFromProp
|
|
94060
94786
|
]);
|
|
94061
|
-
const LivenessDetectionComponent = getLivenessModeComponent(mode, CustomLivenessDetection);
|
|
94787
|
+
const LivenessDetectionComponent = getLivenessModeComponent(mode, CustomLivenessDetection, themeVersion);
|
|
94062
94788
|
return /*#__PURE__*/ jsxRuntimeExports.jsx(DebugProvider, {
|
|
94063
94789
|
debug: debug,
|
|
94064
94790
|
children: /*#__PURE__*/ jsxRuntimeExports.jsx(SDKCallbackProvider, {
|
|
@@ -113999,16 +114725,16 @@
|
|
|
113999
114725
|
frontCamera: true,
|
|
114000
114726
|
flipVideoHorizontal: null,
|
|
114001
114727
|
customDirectionIcon: {
|
|
114002
|
-
[ra$1.FaceDirection.LEFT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
114728
|
+
[ra$1.FaceDirection.LEFT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
114003
114729
|
type: ra$1.FaceDirection.LEFT
|
|
114004
114730
|
}),
|
|
114005
|
-
[ra$1.FaceDirection.RIGHT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
114731
|
+
[ra$1.FaceDirection.RIGHT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
114006
114732
|
type: ra$1.FaceDirection.RIGHT
|
|
114007
114733
|
}),
|
|
114008
|
-
[ra$1.FaceDirection.UP]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
114734
|
+
[ra$1.FaceDirection.UP]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
114009
114735
|
type: ra$1.FaceDirection.UP
|
|
114010
114736
|
}),
|
|
114011
|
-
[ra$1.FaceDirection.FRONTAL]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
114737
|
+
[ra$1.FaceDirection.FRONTAL]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
114012
114738
|
type: ra$1.FaceDirection.FRONTAL
|
|
114013
114739
|
})
|
|
114014
114740
|
},
|
|
@@ -114620,16 +115346,16 @@
|
|
|
114620
115346
|
frontCamera: true,
|
|
114621
115347
|
flipVideoHorizontal: null,
|
|
114622
115348
|
customDirectionIcon: {
|
|
114623
|
-
[ra$1.FaceDirection.LEFT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
115349
|
+
[ra$1.FaceDirection.LEFT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
114624
115350
|
type: ra$1.FaceDirection.LEFT
|
|
114625
115351
|
}),
|
|
114626
|
-
[ra$1.FaceDirection.RIGHT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
115352
|
+
[ra$1.FaceDirection.RIGHT]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
114627
115353
|
type: ra$1.FaceDirection.RIGHT
|
|
114628
115354
|
}),
|
|
114629
|
-
[ra$1.FaceDirection.UP]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
115355
|
+
[ra$1.FaceDirection.UP]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
114630
115356
|
type: ra$1.FaceDirection.UP
|
|
114631
115357
|
}),
|
|
114632
|
-
[ra$1.FaceDirection.FRONTAL]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon, {
|
|
115358
|
+
[ra$1.FaceDirection.FRONTAL]: /*#__PURE__*/ jsxRuntimeExports.jsx(DirectionIcon$1, {
|
|
114633
115359
|
type: ra$1.FaceDirection.FRONTAL
|
|
114634
115360
|
})
|
|
114635
115361
|
},
|
|
@@ -116411,7 +117137,7 @@
|
|
|
116411
117137
|
qr_tooltip: 'Đặt mã QR vào khung hình và thử dịch chuyển camera (ra xa hoặc gần) để quét được mã QR'
|
|
116412
117138
|
};
|
|
116413
117139
|
|
|
116414
|
-
const defaultAssetRoot = "https://vision-cdn.trustingsocial.com/tvweb-sdk.lotte/0.0.0-beta.20251215-
|
|
117140
|
+
const defaultAssetRoot = "https://vision-cdn.trustingsocial.com/tvweb-sdk.lotte/0.0.0-beta.20251215-165409/assets";
|
|
116415
117141
|
class TVWebSDK extends gU {
|
|
116416
117142
|
constructor(props){
|
|
116417
117143
|
super({
|