bry-biometric-collector
Version:
BRy web-collector component for biometric capture.
330 lines (329 loc) • 9.44 kB
JavaScript
import { S as ae, x as re, y as se, z as ne, B as V, C as w, D as L, N as S, E as X, bf as u, G as Y, X as y, a0 as p, a1 as P, a2 as v, a3 as U, H as Z, I as b, aa as k, am as j, au as G, ah as E, w as K, aA as ie, f as oe, aB as g, l as M, d as ce, aL as le, aN as W, b5 as de, Z as z, _ as B, a4 as R, aR as ue, be as fe } from "./main_8f1a8854_3.3.6.js";
import { V as me, C as _e } from "./ValidationAlert_452e8b93_3.3.6.js";
import { F as pe } from "./FaceOval_773deaf4_3.3.6.js";
import "./face_api_d3d25326_3.3.6.js";
function q(i) {
let e, n, a, l, f;
return n = new me({}), l = new pe({
props: { borderColor: (
/*ovalColor*/
i[4]
) }
}), {
c() {
e = L("div"), z(n.$$.fragment), a = S(), z(l.$$.fragment), Y(e, "class", "absolute inset-0 flex flex-col items-center mt-[4%] mb-[8%] z-50");
},
m(c, o) {
V(c, e, o), B(n, e, null), y(e, a), B(l, e, null), f = !0;
},
p(c, o) {
const s = {};
o & /*ovalColor*/
16 && (s.borderColor = /*ovalColor*/
c[4]), l.$set(s);
},
i(c) {
f || (p(n.$$.fragment, c), p(l.$$.fragment, c), f = !0);
},
o(c) {
v(n.$$.fragment, c), v(l.$$.fragment, c), f = !1;
},
d(c) {
c && Z(e), R(n), R(l);
}
};
}
function H(i) {
let e, n;
return e = new _e({ props: { handler: (
/*func*/
i[13]
) } }), {
c() {
z(e.$$.fragment);
},
m(a, l) {
B(e, a, l), n = !0;
},
p: X,
i(a) {
n || (p(e.$$.fragment, a), n = !0);
},
o(a) {
v(e.$$.fragment, a), n = !1;
},
d(a) {
R(e, a);
}
};
}
function ge(i) {
let e, n, a, l, f, c, o = (
/*$streamState*/
i[6] === /*StreamState*/
i[3].Ready && q(i)
), s = (
/*$streamState*/
i[6] === /*StreamState*/
i[3].Closed && H(i)
);
return {
c() {
e = L("div"), o && o.c(), n = S(), a = L("idlive-face-capture"), f = S(), s && s.c(), this.c = X, u(a, "class", "w-full h-full"), u(a, "mask_hidden", ""), u(
a,
"device_id",
/*$selectedVideoDeviceId*/
i[5]
), u(a, "face_not_centered_check_enabled", ""), u(a, "sunglasses_detected_check_enabled", ""), u(a, "mouth_open_check_enabled", ""), u(a, "face_blurry_check_enabled", ""), u(a, "dark_image_check_enabled", ""), u(a, "eyes_closed_check_enabled", ""), u(
a,
"payload_size",
/*livenessBlobSize*/
i[1]
), u(a, "face_not_centered_check_delta_factor_x", 0.2), u(a, "face_not_centered_check_delta_factor_y", 0.2), u(a, "style", l = /*$streamState*/
i[6] === /*StreamState*/
i[3].Closed ? "opacity: 0; pointer-events: none;" : "opacity: 1;"), Y(e, "class", "flex justify-center w-full h-full relative bg-black");
},
m(r, m) {
V(r, e, m), o && o.m(e, null), y(e, n), y(e, a), i[12](a), y(e, f), s && s.m(e, null), c = !0;
},
p(r, [m]) {
/*$streamState*/
r[6] === /*StreamState*/
r[3].Ready ? o ? (o.p(r, m), m & /*$streamState, StreamState*/
72 && p(o, 1)) : (o = q(r), o.c(), p(o, 1), o.m(e, n)) : o && (P(), v(o, 1, 1, () => {
o = null;
}), U()), (!c || m & /*$selectedVideoDeviceId*/
32) && u(
a,
"device_id",
/*$selectedVideoDeviceId*/
r[5]
), (!c || m & /*livenessBlobSize*/
2) && u(
a,
"payload_size",
/*livenessBlobSize*/
r[1]
), (!c || m & /*$streamState, StreamState*/
72 && l !== (l = /*$streamState*/
r[6] === /*StreamState*/
r[3].Closed ? "opacity: 0; pointer-events: none;" : "opacity: 1;")) && u(a, "style", l), /*$streamState*/
r[6] === /*StreamState*/
r[3].Closed ? s ? (s.p(r, m), m & /*$streamState, StreamState*/
72 && p(s, 1)) : (s = H(r), s.c(), p(s, 1), s.m(e, null)) : s && (P(), v(s, 1, 1, () => {
s = null;
}), U());
},
i(r) {
c || (p(o), p(s), c = !0);
},
o(r) {
v(o), v(s), c = !1;
},
d(r) {
r && Z(e), o && o.d(), i[12](null), s && s.d();
}
};
}
function ve() {
({}).VITE_USE_DEV === "true" ? import("./index-idlf-detector_18843221_3.3.6.js") : import("./index-idlf-detector_a5efb00c_3.3.6.js");
}
function be(i, e, n) {
let a, l, f, c, o, s;
b(i, k, (t) => n(5, a = t)), b(i, j, (t) => n(14, f = t)), b(i, G, (t) => n(16, o = t)), b(i, E, (t) => n(17, s = t));
var r;
(function(t) {
t.Closed = "CLOSED", t.Loading = "LOADING", t.Ready = "READY", t.Captured = "CAPTURED";
})(r || (r = {}));
let { livenessBlobSize: m } = e, { cameraDeviceId: h } = e;
const I = K("data:image/png;base64");
b(i, I, (t) => n(15, c = t));
let { widgetInstance: d } = e;
const _ = K(r.Closed);
b(i, _, (t) => n(6, l = t));
let D = "text-blue-400";
ie(async () => {
oe("Mounting Stream Collector!"), _.set(r.Closed), g(E, s = "faceCollector.stayInFrame", s), ve(), J();
});
function J() {
d.addEventListener("open", async (t) => {
_.set(r.Ready), window.dispatchEvent(new CustomEvent(
"stream-ready",
{
detail: {
message: "Stream de vídeo pronto para captura"
}
}
));
}), d.addEventListener("error", (t) => {
M("Stream Collector error:", t), _.set(r.Closed), window.dispatchEvent(new CustomEvent(
"stream-error",
{
detail: {
message: t.detail[0]?.message || "Erro na câmera",
error: t
}
}
));
}), d.addEventListener("faceDetection", (t) => {
g(
E,
s = t.detail[0].errors[0] ? "faceCollector.stayInFrame" : "faceCollector.capturing",
s
), n(4, D = t.detail[0].errors[0] ? "text-blue-400" : "text-green-400");
}), d.addEventListener("detection", (t) => {
g(
E,
s = t.detail[0].errors[0] ? "faceCollector.stayInFrame" : "faceCollector.capturing",
s
), n(4, D = t.detail[0].errors[0] ? "text-blue-400" : "text-green-400");
}), d.addEventListener("close", (t) => {
ce("Video stream was closed"), l !== r.Captured && (_.set(r.Closed), window.dispatchEvent(new CustomEvent(
"stream-camera-closed",
{
detail: { message: "Stream de vídeo foi fechado" }
}
)));
}), d.addEventListener("initialize", async (t) => {
try {
d.setLicense(le, "faceDetector");
} catch (C) {
M("Error setting license:", C);
}
window.dispatchEvent(new CustomEvent("stream-collector-initialized"));
}), d.addEventListener("capture", async (t) => {
_.set(r.Captured);
const { encryptedFile: C, photo: ee } = t.detail[0];
g(G, o = C, o);
const F = (await W(ee)).split(",");
g(I, c = F[0], c), g(j, f = F[1], f);
try {
window.dispatchEvent(new CustomEvent(
"stream-capture",
{
detail: {
image: f,
blob: (await W(C)).split(",")[1],
status: "success"
}
}
));
} catch (N) {
let T = N instanceof Error ? N.message : "UNKNOWN", te = ue[T] || "Erro desconhecido";
window.dispatchEvent(new CustomEvent(
"stream-capture",
{
detail: {
errorCode: T,
translatedError: te,
status: "error"
}
}
));
}
});
}
async function A() {
h && g(k, a = h, a), _.set(r.Loading), d && "openCamera" in d && d.openCamera();
}
async function Q() {
d.takePhoto();
}
async function O() {
l !== r.Ready && (g(k, a = "", a), await A());
}
de(() => {
_.set(r.Closed);
});
function x(t) {
fe[t ? "unshift" : "push"](() => {
d = t, n(0, d);
});
}
const $ = async () => {
await O();
};
return i.$$set = (t) => {
"livenessBlobSize" in t && n(1, m = t.livenessBlobSize), "cameraDeviceId" in t && n(9, h = t.cameraDeviceId), "widgetInstance" in t && n(0, d = t.widgetInstance);
}, [
d,
m,
O,
r,
D,
a,
l,
I,
_,
h,
A,
Q,
x,
$
];
}
class he extends ae {
constructor(e) {
super(), re(
this,
{
target: this.shadowRoot,
props: ne(this.attributes),
customElement: !0
},
be,
ge,
se,
{
livenessBlobSize: 1,
cameraDeviceId: 9,
widgetInstance: 0,
openCamera: 10,
capture: 11,
reOpenCamera: 2
},
null
), e && (e.target && V(e.target, this, e.anchor), e.props && (this.$set(e.props), w()));
}
static get observedAttributes() {
return [
"livenessBlobSize",
"cameraDeviceId",
"widgetInstance",
"openCamera",
"capture",
"reOpenCamera"
];
}
get livenessBlobSize() {
return this.$$.ctx[1];
}
set livenessBlobSize(e) {
this.$$set({ livenessBlobSize: e }), w();
}
get cameraDeviceId() {
return this.$$.ctx[9];
}
set cameraDeviceId(e) {
this.$$set({ cameraDeviceId: e }), w();
}
get widgetInstance() {
return this.$$.ctx[0];
}
set widgetInstance(e) {
this.$$set({ widgetInstance: e }), w();
}
get openCamera() {
return this.$$.ctx[10];
}
get capture() {
return this.$$.ctx[11];
}
get reOpenCamera() {
return this.$$.ctx[2];
}
}
customElements.define("stream-collector", he);
export {
he as default
};