UNPKG

bry-biometric-collector

Version:

BRy web-collector component for biometric capture.

330 lines (329 loc) 9.44 kB
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 };