New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@biopassid/face-sdk

Package Overview
Dependencies
Maintainers
4
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@biopassid/face-sdk - npm Package Compare versions

Comparing version 0.0.2 to 0.0.3

modules/camera.d.ts

367

esm/index.js

@@ -84,7 +84,4 @@ var __create = Object.create;

var permissionsDeniedError = "generic/permissions_denied";
var httpRequestError = "generic/http_request_error";
var operationCanceledError = "generic/operation_canceled";
var failedToExecuteControllerCommand = "generic/not_permitted";
var enrollInvalidParamsError = "enroll/face_or_fingers_needed";
var enrollInvalidCustomId = "enroll/invalid_custom_id";

@@ -373,10 +370,2 @@ // src/functions/check_permissions.ts

}
function cameraController() {
return {
takePicture: notPermitted,
confirmPicture: notPermitted,
rejectPicture: notPermitted,
cancel: notPermitted
};
}

@@ -1012,359 +1001,17 @@ // src/elements/main_container.ts

// src/dtos/multibiometrics/person_dto.ts
function fromPersonParams(params) {
const { customId, face, fingers } = params;
const data = {
Person: {
CustomID: customId
}
};
if (face) {
data.Person.Face = [{ "Face-1": face }];
}
if (fingers) {
const { finger1, finger2, finger3, finger4, finger5, finger6, finger7, finger8, finger9, finger10 } = fingers;
data.Person.Fingers = [{
"Finger-1": finger1,
"Finger-2": finger2,
"Finger-3": finger3,
"Finger-4": finger4,
"Finger-5": finger5,
"Finger-6": finger6,
"Finger-7": finger7,
"Finger-8": finger8,
"Finger-9": finger9,
"Finger-10": finger10
}];
}
return data;
}
// src/functions/format_base64.ts
function formatBase64(base64) {
const parts = base64.split(",");
return parts.length == 2 ? parts[1] : base64;
}
// src/functions/http.ts
var baseUrl = "https://api.biopassid.com";
async function http(data) {
const { url, method, body, token } = data;
const resp = await fetch(baseUrl + url, {
method,
body: body != null ? JSON.stringify(body) : void 0,
headers: {
"Ocp-Apim-Subscription-Key": token,
"Content-Type": "application/json"
}
});
if (resp.status >= 400) {
throw resp;
}
const responseData = await resp.json();
return responseData;
}
// src/services/multibiometrics_services.ts
function useMultibiometricServices(key) {
async function makePersonRequest(data) {
const { params, method, url, biometryRequired } = data;
if (!params.customId || params.customId.length == 0) {
throw enrollInvalidCustomId;
}
if (biometryRequired && !params.face && !params.fingers) {
throw enrollInvalidParamsError;
}
const paramsRef = { ...params };
if (paramsRef.face) {
paramsRef.face = formatBase64(params.face);
}
const dataToSend = fromPersonParams(paramsRef);
try {
const resp = await http({ url, token: key, method, body: dataToSend });
if (resp.Success == false) {
throw `generic/${resp.Message ? resp.Message.toLowerCase().split(" ").join("_") : "failed"}`;
}
return resp;
} catch (e) {
if (typeof e == "string") {
throw e;
}
if (typeof e == "object") {
const error = e;
if (typeof error.status == "number" && error.status == 400) {
const body = await error.text();
const message = body.length > 0 ? `generic/${body.toLowerCase().replaceAll(" ", "_").replaceAll(".", "")}` : httpRequestError;
throw message;
}
}
throw httpRequestError;
}
}
const multibiometricsService = {
async enrollService(params) {
return makePersonRequest({
biometryRequired: true,
method: "POST",
params,
url: "/multibiometrics/enroll"
});
},
async updateService(params) {
return makePersonRequest({
biometryRequired: true,
method: "PUT",
params,
url: "/multibiometrics/update"
});
},
async deleteService(params) {
return makePersonRequest({
biometryRequired: false,
method: "DELETE",
params,
url: "/multibiometrics/delete"
});
},
async verifyService(params) {
return makePersonRequest({
biometryRequired: true,
method: "POST",
params,
url: "/multibiometrics/verify"
});
},
async matchService(params) {
try {
const { artifactA, artifactB, format, type } = params;
const dataToSend = {
Match: {
Type: type,
Artifact_A: formatBase64(artifactA),
Artifact_B: formatBase64(artifactB),
Format: format
}
};
const resp = await http({ url: "/multibiometrics/match", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async extractService(params) {
try {
const { artifact, format, type } = params;
const dataToSend = {
Extract: {
Type: type,
Artifact: formatBase64(artifact),
Format: format
}
};
const resp = await http({ url: "/multibiometrics/extract", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async wsqEncode(params) {
try {
const { compression, image, ppi } = params;
const dataToSend = {
Encode: {
Compression: compression,
Image: formatBase64(image),
PPI: ppi
}
};
const resp = await http({ url: "/multibiometrics/wsq_encode", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async wsqDecode(params) {
try {
const { picture } = params;
const dataToSend = {
Decode: {
Wsq: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/multibiometrics/decode", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async faceDetectService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/multibiometrics/face_detect", token: key, method: "POST", body: dataToSend });
resp.Picture = { ...picture };
return resp;
} catch (error) {
throw httpRequestError;
}
},
async faceSpoofService(params) {
try {
const { picture } = params;
const dataToSend = {
Spoof: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/multibiometrics/face_spoof", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async anonymizerService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/multibiometrics/anonymizer", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
}
};
return multibiometricsService;
}
// src/modules/multibiometrics.ts
function useMultibiometrics(key) {
const { enrollService, verifyService, updateService, deleteService, extractService, faceDetectService, faceSpoofService, anonymizerService } = useMultibiometricServices(key);
function enroll(params) {
const request = (picture) => enrollService({ customId: params.customId, face: picture.base64 });
// src/modules/camera.ts
function useCamera() {
function takePicture(params) {
const request = (picture) => Promise.resolve(picture);
return makeRequest(params, request);
}
function verify(params) {
const request = (picture) => verifyService({ customId: params.customId, face: picture.base64 });
return makeRequest(params, request);
}
function updatePerson(params) {
const request = (picture) => updateService({ customId: params.customId, face: picture.base64 });
return makeRequest(params, request);
}
function deletePerson(params) {
const request = (picture) => deleteService({ customId: params.customId, face: picture.base64 });
return makeRequest(params, request);
}
async function extract(params) {
const request = (picture) => extractService({ artifact: picture.base64, format: params.format, type: "FACE" });
return makeRequest(params, request);
}
async function faceDetect(params) {
const request = (picture) => faceDetectService({ picture });
return makeRequest(params, request);
}
async function faceSpoof(params) {
const request = (picture) => faceSpoofService({ picture });
return makeRequest(params, request);
}
async function anonymizer(params) {
const request = (picture) => anonymizerService({ picture });
return makeRequest(params, request);
}
return {
enroll,
verify,
updatePerson,
deletePerson,
extract,
faceDetect,
faceSpoof,
anonymizer
};
return { takePicture };
}
// src/services/quality_service.ts
function useQualityServices(key) {
const qualityServices = {
async icaoQualityCheckService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/quality/check_icao", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async icaoCropService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/quality/icao_crop", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async checkNfiqService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/quality/check_nfiq", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
}
};
return qualityServices;
}
// src/modules/quality.ts
function useQuality(key) {
const { icaoCropService, icaoQualityCheckService } = useQualityServices(key);
async function icaoQualityCheck(params) {
const request = (picture) => icaoQualityCheckService({ picture });
return makeRequest(params, request);
}
async function icaoCrop(params) {
const request = (picture) => icaoCropService({ picture });
return makeRequest(params, request);
}
return { icaoQualityCheck, icaoCrop };
}
// src/index.ts
if (typeof window !== "undefined") {
window.useMultibiometrics = useMultibiometrics;
window.useMultibiometricServices = useMultibiometricServices;
window.useQuality = useQuality;
window.useQualityServices = useQualityServices;
window.cameraController = cameraController;
window.useCamera = useCamera;
}
export {
cameraController,
useMultibiometricServices,
useMultibiometrics,
useQuality,
useQualityServices
useCamera
};

@@ -1,6 +0,2 @@

import useMultibiometrics from "./modules/multibiometrics";
import useMultibiometricServices from "./services/multibiometrics_services";
import useQuality from "./modules/quality";
import useQualityServices from "./services/quality_service";
import cameraController from "./functions/camera_controller";
export { useMultibiometrics, useMultibiometricServices, useQuality, useQualityServices, cameraController };
import useCamera from "./modules/camera";
export { useCamera };

@@ -198,7 +198,3 @@ var __create = Object.create;

__export(src_exports, {
cameraController: () => cameraController,
useMultibiometricServices: () => useMultibiometricServices,
useMultibiometrics: () => useMultibiometrics,
useQuality: () => useQuality,
useQualityServices: () => useQualityServices
useCamera: () => useCamera
});

@@ -208,7 +204,4 @@

var permissionsDeniedError = "generic/permissions_denied";
var httpRequestError = "generic/http_request_error";
var operationCanceledError = "generic/operation_canceled";
var failedToExecuteControllerCommand = "generic/not_permitted";
var enrollInvalidParamsError = "enroll/face_or_fingers_needed";
var enrollInvalidCustomId = "enroll/invalid_custom_id";

@@ -436,10 +429,2 @@ // src/functions/check_permissions.ts

}
function cameraController() {
return {
takePicture: notPermitted,
confirmPicture: notPermitted,
rejectPicture: notPermitted,
cancel: notPermitted
};
}

@@ -1077,352 +1062,14 @@ // src/elements/main_container.ts

// src/dtos/multibiometrics/person_dto.ts
function fromPersonParams(params) {
const { customId, face, fingers } = params;
const data = {
Person: {
CustomID: customId
}
};
if (face) {
data.Person.Face = [{ "Face-1": face }];
}
if (fingers) {
const { finger1, finger2, finger3, finger4, finger5, finger6, finger7, finger8, finger9, finger10 } = fingers;
data.Person.Fingers = [{
"Finger-1": finger1,
"Finger-2": finger2,
"Finger-3": finger3,
"Finger-4": finger4,
"Finger-5": finger5,
"Finger-6": finger6,
"Finger-7": finger7,
"Finger-8": finger8,
"Finger-9": finger9,
"Finger-10": finger10
}];
}
return data;
}
// src/functions/format_base64.ts
function formatBase64(base64) {
const parts = base64.split(",");
return parts.length == 2 ? parts[1] : base64;
}
// src/functions/http.ts
var baseUrl = "https://api.biopassid.com";
async function http(data) {
const { url, method, body, token } = data;
const resp = await fetch(baseUrl + url, {
method,
body: body != null ? JSON.stringify(body) : void 0,
headers: {
"Ocp-Apim-Subscription-Key": token,
"Content-Type": "application/json"
}
});
if (resp.status >= 400) {
throw resp;
}
const responseData = await resp.json();
return responseData;
}
// src/services/multibiometrics_services.ts
function useMultibiometricServices(key) {
async function makePersonRequest(data) {
const { params, method, url, biometryRequired } = data;
if (!params.customId || params.customId.length == 0) {
throw enrollInvalidCustomId;
}
if (biometryRequired && !params.face && !params.fingers) {
throw enrollInvalidParamsError;
}
const paramsRef = __spreadValues({}, params);
if (paramsRef.face) {
paramsRef.face = formatBase64(params.face);
}
const dataToSend = fromPersonParams(paramsRef);
try {
const resp = await http({ url, token: key, method, body: dataToSend });
if (resp.Success == false) {
throw `generic/${resp.Message ? resp.Message.toLowerCase().split(" ").join("_") : "failed"}`;
}
return resp;
} catch (e) {
if (typeof e == "string") {
throw e;
}
if (typeof e == "object") {
const error = e;
if (typeof error.status == "number" && error.status == 400) {
const body = await error.text();
const message = body.length > 0 ? `generic/${body.toLowerCase().replaceAll(" ", "_").replaceAll(".", "")}` : httpRequestError;
throw message;
}
}
throw httpRequestError;
}
}
const multibiometricsService = {
async enrollService(params) {
return makePersonRequest({
biometryRequired: true,
method: "POST",
params,
url: "/multibiometrics/enroll"
});
},
async updateService(params) {
return makePersonRequest({
biometryRequired: true,
method: "PUT",
params,
url: "/multibiometrics/update"
});
},
async deleteService(params) {
return makePersonRequest({
biometryRequired: false,
method: "DELETE",
params,
url: "/multibiometrics/delete"
});
},
async verifyService(params) {
return makePersonRequest({
biometryRequired: true,
method: "POST",
params,
url: "/multibiometrics/verify"
});
},
async matchService(params) {
try {
const { artifactA, artifactB, format, type } = params;
const dataToSend = {
Match: {
Type: type,
Artifact_A: formatBase64(artifactA),
Artifact_B: formatBase64(artifactB),
Format: format
}
};
const resp = await http({ url: "/multibiometrics/match", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async extractService(params) {
try {
const { artifact, format, type } = params;
const dataToSend = {
Extract: {
Type: type,
Artifact: formatBase64(artifact),
Format: format
}
};
const resp = await http({ url: "/multibiometrics/extract", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async wsqEncode(params) {
try {
const { compression, image, ppi } = params;
const dataToSend = {
Encode: {
Compression: compression,
Image: formatBase64(image),
PPI: ppi
}
};
const resp = await http({ url: "/multibiometrics/wsq_encode", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async wsqDecode(params) {
try {
const { picture } = params;
const dataToSend = {
Decode: {
Wsq: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/multibiometrics/decode", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async faceDetectService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/multibiometrics/face_detect", token: key, method: "POST", body: dataToSend });
resp.Picture = __spreadValues({}, picture);
return resp;
} catch (error) {
throw httpRequestError;
}
},
async faceSpoofService(params) {
try {
const { picture } = params;
const dataToSend = {
Spoof: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/multibiometrics/face_spoof", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async anonymizerService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/multibiometrics/anonymizer", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
}
};
return multibiometricsService;
}
// src/modules/multibiometrics.ts
function useMultibiometrics(key) {
const { enrollService, verifyService, updateService, deleteService, extractService, faceDetectService, faceSpoofService, anonymizerService } = useMultibiometricServices(key);
function enroll(params) {
const request = (picture) => enrollService({ customId: params.customId, face: picture.base64 });
// src/modules/camera.ts
function useCamera() {
function takePicture(params) {
const request = (picture) => Promise.resolve(picture);
return makeRequest(params, request);
}
function verify(params) {
const request = (picture) => verifyService({ customId: params.customId, face: picture.base64 });
return makeRequest(params, request);
}
function updatePerson(params) {
const request = (picture) => updateService({ customId: params.customId, face: picture.base64 });
return makeRequest(params, request);
}
function deletePerson(params) {
const request = (picture) => deleteService({ customId: params.customId, face: picture.base64 });
return makeRequest(params, request);
}
async function extract(params) {
const request = (picture) => extractService({ artifact: picture.base64, format: params.format, type: "FACE" });
return makeRequest(params, request);
}
async function faceDetect(params) {
const request = (picture) => faceDetectService({ picture });
return makeRequest(params, request);
}
async function faceSpoof(params) {
const request = (picture) => faceSpoofService({ picture });
return makeRequest(params, request);
}
async function anonymizer(params) {
const request = (picture) => anonymizerService({ picture });
return makeRequest(params, request);
}
return {
enroll,
verify,
updatePerson,
deletePerson,
extract,
faceDetect,
faceSpoof,
anonymizer
};
return { takePicture };
}
// src/services/quality_service.ts
function useQualityServices(key) {
const qualityServices = {
async icaoQualityCheckService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/quality/check_icao", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async icaoCropService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/quality/icao_crop", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
},
async checkNfiqService(params) {
try {
const { picture } = params;
const dataToSend = {
Check: {
Image: formatBase64(picture.base64)
}
};
const resp = await http({ url: "/quality/check_nfiq", token: key, method: "POST", body: dataToSend });
return resp;
} catch (error) {
throw httpRequestError;
}
}
};
return qualityServices;
}
// src/modules/quality.ts
function useQuality(key) {
const { icaoCropService, icaoQualityCheckService } = useQualityServices(key);
async function icaoQualityCheck(params) {
const request = (picture) => icaoQualityCheckService({ picture });
return makeRequest(params, request);
}
async function icaoCrop(params) {
const request = (picture) => icaoCropService({ picture });
return makeRequest(params, request);
}
return { icaoQualityCheck, icaoCrop };
}
// src/index.ts
if (typeof window !== "undefined") {
window.useMultibiometrics = useMultibiometrics;
window.useMultibiometricServices = useMultibiometricServices;
window.useQuality = useQuality;
window.useQualityServices = useQualityServices;
window.cameraController = cameraController;
window.useCamera = useCamera;
}

@@ -1432,7 +1079,3 @@ module.exports = __toCommonJS(src_exports);

0 && (module.exports = {
cameraController,
useMultibiometricServices,
useMultibiometrics,
useQuality,
useQualityServices
useCamera
});
{
"name": "@biopassid/face-sdk",
"version": "0.0.2",
"version": "0.0.3",
"description": "",

@@ -5,0 +5,0 @@ "main": "./index.js",

@@ -34,11 +34,28 @@ # BiopassID Face SDK Web

O sdk web do Biopass id possui 4 módulos
- useMultibiometrics
- useCamera
<!-- - useMultibiometrics
- useQuality
- useMultibiometricServices
- useQualityServices
- useQualityServices -->
<br/>
# useMultibiometrics
# useCamera
O módulo useCamera oferece as seguintes funcionalidades.
```js
import { useCamera } from '@biopassid/face-sdk'
const { takePicture } = useCamera();
async function handleTakePicture() {
const resp = await takePicture({
element: document.querySelector("#elementId"),
})
}
```
<!-- # useMultibiometrics
O módulo useMultibiometrics oferece as seguintes funcionalidades.

@@ -60,3 +77,3 @@ ```js

```
<br/>
<br/> -->

@@ -67,3 +84,3 @@

## 1. Enroll
<!-- ## 1. Enroll
Operação de cadastro de um indivíduo.

@@ -88,3 +105,3 @@

enroll(params: PersonHookParams): Promise<PersonResponseDTO>
```
``` -->

@@ -96,3 +113,3 @@

<!-- ================ Verify ================ -->
## 2. Verify
<!-- ## 2. Verify
Operação de verificação.

@@ -116,3 +133,3 @@

verify(params: PersonHookParams): Promise<VerifyResponseDTO>
```
``` -->

@@ -124,3 +141,3 @@

<!-- ================ Update Person ================ -->
## 3. Update Person
<!-- ## 3. Update Person
Operação de atualização dos dados de um indivíduo.

@@ -145,2 +162,3 @@

```
-->

@@ -150,5 +168,4 @@

<!-- ================ Delete Person ================ -->
## 4. Delete Person
<!-- ## 4. Delete Person
Operação de deleção do registro de um indivíduo.

@@ -173,3 +190,3 @@

deletePerson(params: PersonHookParams): Promise<Partial<PersonResponseDTO>>
```
``` -->

@@ -180,3 +197,3 @@

<!-- ================ extract ================ -->
## 5. Extract
<!-- ## 5. Extract
Operação de extração de template de uma imagem biométrica (face ou impressão digital).

@@ -202,8 +219,8 @@

```
-->
<!-- ================ Face Detect ================ -->
## 5. Face Detect
<!-- ## 5. Face Detect
Operação de detecção de face.

@@ -227,3 +244,3 @@

faceDetect(params: BaseHookParams): Promise<CheckResponseDTO>
```
``` -->

@@ -233,3 +250,3 @@

<!-- ================ Face Spoof ================ -->
## 5. Face Spoof
<!-- ## 5. Face Spoof
Operação de deteção de spoofing em imagens de face.

@@ -254,7 +271,7 @@

```
-->
<!-- ================ Face Spoof ================ -->
## 5. Face Spoof
<!-- ## 5. Face Spoof
Operação de deteção de spoofing em imagens de face.

@@ -278,3 +295,3 @@

faceSpoof(params: BaseHookParams): Promise<SpoofResponseDTO>
```
``` -->

@@ -284,3 +301,3 @@

<!-- ================ Anonymizer ================ -->
## 5. anonymizer
<!-- ## 5. anonymizer
Operação de anonimização de faces.

@@ -305,6 +322,6 @@

```
-->
<!--
# useQuality

@@ -323,6 +340,6 @@

-->
<!-- ================ icaoQualityCheck ================ -->
## 1. ICAO Quality Check
<!-- ## 1. ICAO Quality Check
Operação de avaliação de imagens de foto de face segundo o padrão ISO/IEC 19794-5, ICAO.

@@ -347,7 +364,7 @@

```
-->
<!-- ================ icaoCrop ================ -->
## 2. ICAO Crop
<!-- ## 2. ICAO Crop
Operação de recorte de uma imagem de foto de face segundo o padrão ISO/IEC 19794-5, ICAO.

@@ -372,7 +389,7 @@

```
-->
# useMultibiometricServices
<!-- # useMultibiometricServices
O módulo useMultibiometricServices oferece funções facilitadoras para as chamadas HTTP dos serviços do Biopass.

@@ -397,58 +414,58 @@ Ele provê as seguintes funcionalidades

```
<br/>
<br/> -->
<!-- ================ Enroll Person ================ -->
## 1. Enroll Service
<!-- ## 1. Enroll Service
```ts
enrollService(params: PersonParams): Promise<PersonResponseDTO>
```
``` -->
<!-- ================ Update Person ================ -->
## 2. Update Service
<!-- ## 2. Update Service
```ts
updateService(params: PersonParams): Promise<PersonResponseDTO>
```
``` -->
<!-- ================ Update Person ================ -->
## 3. Delete Service
<!-- ## 3. Delete Service
```ts
deleteService(params: PersonParams): Promise<PersonResponseDTO>
```
``` -->
<!-- ================ Update Person ================ -->
## 4. Verify Service
<!-- ## 4. Verify Service
```ts
verifyService(params: PersonParams): Promise<PersonResponseDTO>
```
``` -->
<!-- ================ Match ================ -->
## 5. Match Service
<!-- ## 5. Match Service
```ts
matchService(params: MatchParams): Promise<MatchResponseDTO>
```
``` -->
<!-- ================ Extract ================ -->
## 6. Extract Service
<!-- ## 6. Extract Service
```ts
extractService(params: ExtractParams): Promise<ExtractResponseDTO>
```
``` -->
<!-- ================ WSQ Encode ================ -->
## 7. WSQ Encode Service
<!-- ## 7. WSQ Encode Service
```ts
wsqEncode(params: WSQEncodeParams): Promise<WSQEncodeResponseDTO>
```
``` -->
<!-- ================ WSQ Encode ================ -->
## 8. WSQ Decode Service
<!-- ## 8. WSQ Decode Service
```ts
wsqDecode(params: ImageParams): Promise<WSQDecodeResponseDTO>
```
``` -->
<!-- ================ Face Detect ================ -->
## 9. Face Detect Service
<!-- ## 9. Face Detect Service
```ts
faceDetectService(params: ImageParams): Promise<CheckResponseDTO>
```
``` -->
<!-- ================ Face Detect ================ -->
## 10. Face Spoof Service
<!-- ## 10. Face Spoof Service
```ts
faceSpoofService(params: ImageParams): Promise<SpoofResponseDTO>
```
``` -->
<!-- ================ Anonymizer Detect ================ -->
## 11. Face Spoof Service
<!-- ## 11. Face Spoof Service
```ts

@@ -470,17 +487,17 @@ anonymizerService(params: ImageParams): Promise<AnonymizerResponseDTO>

```
<br/>
<br/> -->
<!-- ================ Enroll Person ================ -->
## 1. Icao Quality Check Service
<!-- ## 1. Icao Quality Check Service
```ts
icaoQualityCheckService(params: ImageParams): Promise<IcaoResponseDTO>
```
``` -->
<!-- ================ Update Person ================ -->
## 2. Icao Crop Service Service
<!-- ## 2. Icao Crop Service Service
```ts
icaoCropService(params: ImageParams): Promise<PersonResponseDTO>
```
``` -->
<!-- ================ Update Person ================ -->
## 3. Delete Service
<!-- ## 3. Delete Service
```ts

@@ -511,2 +528,2 @@ checkNfiqService(params: ImageParams): Promise<NFIQResponseDTO>

}
```
``` -->

@@ -1,28 +0,28 @@

(()=>{var Re=Object.create;var X=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Me=Object.getPrototypeOf,Ie=Object.prototype.hasOwnProperty;var ze=t=>X(t,"__esModule",{value:!0});var Le=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports);var qe=(t,r,a,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of Be(r))!Ie.call(t,e)&&(a||e!=="default")&&X(t,e,{get:()=>r[e],enumerable:!(o=Oe(r,e))||o.enumerable});return t},R=(t,r)=>qe(ze(X(t!=null?Re(Me(t)):{},"default",!r&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var E=Le(ke=>{var Pe=Object.defineProperty,We=t=>Pe(t,"__esModule",{value:!0}),$e=(t,r)=>{We(t);for(var a in r)Pe(t,a,{get:r[a],enumerable:!0})};$e(ke,{default:()=>Ue,setDomDocument:()=>Ve});var W=typeof window<"u"?window.document:null,Ve=t=>W=t,Ze=t=>{if(!W)throw"\xC9 necess\xE1rio executar esse plugin no navegador, caso esteja em um ambiente node utilize a fun\xE7\xE3o setDomDocument antes de utilizar o plugin";let{tag:r,attributes:a,children:o,style:e,onClick:n}=t;if(a&&a.style)throw"Use style property to define element styles";let i=W.createElement(r);if(a&&Object.entries(a).forEach(c=>{i.setAttribute(c[0],c[1])}),e&&Object.entries(e).forEach(([c,m])=>{i.style[c]=m}),o&&Array.isArray(o))o.forEach(s=>{i.appendChild(s)});else if(typeof o=="string"&&/(<\w*)((\s\/>)|(.*<\/\w*>))/gm.test(o)){let s=W.createElement("div");s.innerHTML=o,Array.from(s.children).forEach(c=>{i.appendChild(c)})}else typeof o=="string"&&(i.innerHTML=o);return n&&(i.onclick=n),i},Ue=Ze});var pe="generic/permissions_denied",h="generic/http_request_error",Ce="generic/operation_canceled";var ge="generic/not_permitted",ye="enroll/face_or_fingers_needed",he="enroll/invalid_custom_id";async function ee(){try{let t={audio:!1,video:!0};return(await navigator.mediaDevices.getUserMedia(t)).getTracks().forEach(a=>{a.stop()}),!0}catch(t){return console.log(t),!1}}var He=t=>t.replace(/((?<=[a-z\d])[A-Z]|(?<=[A-Z\d])[A-Z](?=[a-z]))/g,"-$1").toLowerCase(),Fe=(t,r={minify:!0})=>{let o=(r.customWindow?.document||document).createElement("style"),e=t.reduce((n,{selector:i,props:s})=>{let c=Object.entries(s).map(([l,u])=>`${He(l)}: ${u};`);return n+=r.minify?`${i}{${c.join("")}}`:`${i} {
${c.join(`
(()=>{var ve=Object.create;var F=Object.defineProperty;var ke=Object.getOwnPropertyDescriptor;var Pe=Object.getOwnPropertyNames;var Ee=Object.getPrototypeOf,we=Object.prototype.hasOwnProperty;var xe=e=>F(e,"__esModule",{value:!0});var be=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var Be=(e,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of Pe(n))!we.call(e,t)&&(r||t!=="default")&&F(e,t,{get:()=>n[t],enumerable:!(o=ke(n,t))||o.enumerable});return e},k=(e,n)=>Be(xe(F(e!=null?ve(Ee(e)):{},"default",!n&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var h=be(re=>{var ie=Object.defineProperty,He=e=>ie(e,"__esModule",{value:!0}),Te=(e,n)=>{He(e);for(var r in n)ie(e,r,{get:n[r],enumerable:!0})};Te(re,{default:()=>_e,setDomDocument:()=>Ae});var I=typeof window<"u"?window.document:null,Ae=e=>I=e,De=e=>{if(!I)throw"\xC9 necess\xE1rio executar esse plugin no navegador, caso esteja em um ambiente node utilize a fun\xE7\xE3o setDomDocument antes de utilizar o plugin";let{tag:n,attributes:r,children:o,style:t,onClick:i}=e;if(r&&r.style)throw"Use style property to define element styles";let a=I.createElement(n);if(r&&Object.entries(r).forEach(s=>{a.setAttribute(s[0],s[1])}),t&&Object.entries(t).forEach(([s,l])=>{a.style[s]=l}),o&&Array.isArray(o))o.forEach(c=>{a.appendChild(c)});else if(typeof o=="string"&&/(<\w*)((\s\/>)|(.*<\/\w*>))/gm.test(o)){let c=I.createElement("div");c.innerHTML=o,Array.from(c.children).forEach(s=>{a.appendChild(s)})}else typeof o=="string"&&(a.innerHTML=o);return i&&(a.onclick=i),a},_e=De});var te="generic/permissions_denied";var ne="generic/operation_canceled";var oe="generic/not_permitted";async function O(){try{let e={audio:!1,video:!0};return(await navigator.mediaDevices.getUserMedia(e)).getTracks().forEach(r=>{r.stop()}),!0}catch(e){return console.log(e),!1}}var Se=e=>e.replace(/((?<=[a-z\d])[A-Z]|(?<=[A-Z\d])[A-Z](?=[a-z]))/g,"-$1").toLowerCase(),Me=(e,n={minify:!0})=>{let o=(n.customWindow?.document||document).createElement("style"),t=e.reduce((i,{selector:a,props:c})=>{let s=Object.entries(c).map(([m,d])=>`${Se(m)}: ${d};`);return i+=n.minify?`${a}{${s.join("")}}`:`${a} {
${s.join(`
`)}
}
`,n},"");return o.innerHTML=e,o},Ae=Fe,_e=(t,r)=>{(r?.customWindow.document||document).querySelector("head").appendChild(t)},Qe=_e,te=typeof window<"u"?window.document:null;var je=t=>{if(!te)throw"\xC9 necess\xE1rio executar esse plugin no navegador, caso esteja em um ambiente node utilize a fun\xE7\xE3o setDomDocument antes de utilizar o plugin";let{tag:r,attributes:a,children:o,style:e,onClick:n}=t;if(a&&a.style)throw"Use style property to define element styles";let i=te.createElement(r);if(a&&Object.entries(a).forEach(c=>{i.setAttribute(c[0],c[1])}),e&&Object.entries(e).forEach(([c,m])=>{i.style[c]=m}),o&&Array.isArray(o))o.forEach(s=>{i.appendChild(s)});else if(typeof o=="string"&&/(<\w*)((\s\/>)|(.*<\/\w*>))/gm.test(o)){let s=te.createElement("div");s.innerHTML=o,Array.from(s.children).forEach(c=>{i.appendChild(c)})}else typeof o=="string"&&(i.innerHTML=o);return n&&(i.onclick=n),i},d=je;typeof window<"u"&&(window.r=d,window.attachCSS=Qe,window.generateCSS=Ae);function S(t){let{size:r,backgroundColor:a,iconSize:o,iconElement:e,onPressed:n,horizontalMargin:i="20px"}=t;return d({tag:"button",style:{width:r,height:r,borderRadius:"9999px",cursor:"pointer",background:a,display:"flex",alignItems:"center",justifyContent:"center",margin:`0 ${i}`,border:"none"},onClick:n,children:[d({tag:"div",style:{width:o},children:e})]})}function L(){let t=!1,r=d({tag:"video",style:{width:"100%",height:"100%",objectFit:"cover",background:"#363738"},attributes:{autoplay:"",playsinline:"",muted:""}});async function a(n){let{aspectRatio:i,preferredResolution:s}=n,c={audio:!1,video:{facingMode:"user",aspectRatio:i,height:i>1?s:void 0,width:i<1?s:void 0}},m=await navigator.mediaDevices.getUserMedia(c);r.srcObject=m,r.play(),t=!0}async function o(){let n=r.srcObject;n&&n.getTracks().forEach(function(s){s.stop()}),r.srcObject=null,t=!1}return{get element(){return r},initCamera:a,dispose:o,checkIfIsInitialized:()=>t}}function q(){let t=d({tag:"canvas",style:{position:"absolute",display:"none"}});function r(o){return t.width=o.videoWidth,t.height=o.videoHeight,t.getContext("2d").drawImage(o,0,0,o.videoWidth,o.videoHeight),{base64:t.toDataURL("image/jpg"),height:t.height,width:t.width}}return{get element(){return t},takePicture:r}}function oe(t){let{color:r,opacity:a}=t;return`<svg preserveAspectRatio="xMidYMid slice" width="100%" height="100%" viewBox="0 0 560 315" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M560 0H0V315H560V0ZM282.051 47.168C307.488 47.7062 326.449 57.5966 338.266 73.6769C350.35 90.2282 354.957 113.44 351.017 140.151C350.834 141.574 350.641 143.017 350.446 144.477C350.142 146.746 349.833 149.054 349.549 151.387C347.813 165.382 345.877 180.251 341.47 192.025C335.528 207.836 324.98 221.831 313.43 231.789C302.013 241.746 289.662 247.667 280.115 247.734H279.848C270.301 247.6 258.016 241.746 246.533 231.789C235.05 221.831 224.434 207.904 218.492 192.025C214.154 180.432 212.275 165.838 210.497 152.033L210.414 151.387C209.947 147.552 209.479 143.784 208.945 140.151C205.073 113.44 209.679 90.2282 221.83 73.6769C233.581 57.5966 252.542 47.7062 277.912 47.168H282.051Z" fill="${r}" fill-opacity="${a}"/>
`,i},"");return o.innerHTML=t,o},ze=Me,Le=(e,n)=>{(n?.customWindow.document||document).querySelector("head").appendChild(e)},Re=Le,V=typeof window<"u"?window.document:null;var Ie=e=>{if(!V)throw"\xC9 necess\xE1rio executar esse plugin no navegador, caso esteja em um ambiente node utilize a fun\xE7\xE3o setDomDocument antes de utilizar o plugin";let{tag:n,attributes:r,children:o,style:t,onClick:i}=e;if(r&&r.style)throw"Use style property to define element styles";let a=V.createElement(n);if(r&&Object.entries(r).forEach(s=>{a.setAttribute(s[0],s[1])}),t&&Object.entries(t).forEach(([s,l])=>{a.style[s]=l}),o&&Array.isArray(o))o.forEach(c=>{a.appendChild(c)});else if(typeof o=="string"&&/(<\w*)((\s\/>)|(.*<\/\w*>))/gm.test(o)){let c=V.createElement("div");c.innerHTML=o,Array.from(c.children).forEach(s=>{a.appendChild(s)})}else typeof o=="string"&&(a.innerHTML=o);return i&&(a.onclick=i),a},u=Ie;typeof window<"u"&&(window.r=u,window.attachCSS=Re,window.generateCSS=ze);function p(e){let{size:n,backgroundColor:r,iconSize:o,iconElement:t,onPressed:i,horizontalMargin:a="20px"}=e;return u({tag:"button",style:{width:n,height:n,borderRadius:"9999px",cursor:"pointer",background:r,display:"flex",alignItems:"center",justifyContent:"center",margin:`0 ${a}`,border:"none"},onClick:i,children:[u({tag:"div",style:{width:o},children:t})]})}function x(){let e=!1,n=u({tag:"video",style:{width:"100%",height:"100%",objectFit:"cover",background:"#363738"},attributes:{autoplay:"",playsinline:"",muted:""}});async function r(i){let{aspectRatio:a,preferredResolution:c}=i,s={audio:!1,video:{facingMode:"user",aspectRatio:a,height:a>1?c:void 0,width:a<1?c:void 0}},l=await navigator.mediaDevices.getUserMedia(s);n.srcObject=l,n.play(),e=!0}async function o(){let i=n.srcObject;i&&i.getTracks().forEach(function(c){c.stop()}),n.srcObject=null,e=!1}return{get element(){return n},initCamera:r,dispose:o,checkIfIsInitialized:()=>e}}function b(){let e=u({tag:"canvas",style:{position:"absolute",display:"none"}});function n(o){return e.width=o.videoWidth,e.height=o.videoHeight,e.getContext("2d").drawImage(o,0,0,o.videoWidth,o.videoHeight),{base64:e.toDataURL("image/jpg"),height:e.height,width:e.width}}return{get element(){return e},takePicture:n}}function Z(e){let{color:n,opacity:r}=e;return`<svg preserveAspectRatio="xMidYMid slice" width="100%" height="100%" viewBox="0 0 560 315" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M560 0H0V315H560V0ZM282.051 47.168C307.488 47.7062 326.449 57.5966 338.266 73.6769C350.35 90.2282 354.957 113.44 351.017 140.151C350.834 141.574 350.641 143.017 350.446 144.477C350.142 146.746 349.833 149.054 349.549 151.387C347.813 165.382 345.877 180.251 341.47 192.025C335.528 207.836 324.98 221.831 313.43 231.789C302.013 241.746 289.662 247.667 280.115 247.734H279.848C270.301 247.6 258.016 241.746 246.533 231.789C235.05 221.831 224.434 207.904 218.492 192.025C214.154 180.432 212.275 165.838 210.497 152.033L210.414 151.387C209.947 147.552 209.479 143.784 208.945 140.151C205.073 113.44 209.679 90.2282 221.83 73.6769C233.581 57.5966 252.542 47.7062 277.912 47.168H282.051Z" fill="${n}" fill-opacity="${r}"/>
</svg>
`}function re(t){return`<svg preserveAspectRatio="xMidYMid slice" width="100%" height="100%" viewBox="0 0 565 320" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M353.52 142.65C353.33 144.07 353.14 145.52 352.95 146.98C352.64 149.25 352.33 151.55 352.05 153.89C350.31 167.88 348.38 182.75 343.97 194.52C338.03 210.34 327.48 224.33 315.93 234.29C304.51 244.25 292.16 250.17 282.61 250.23H282.35C272.8 250.1 260.52 244.25 249.03 234.29C237.55 224.33 226.93 210.4 220.99 194.52C216.65 182.93 214.77 168.34 213 154.53L212.91 153.89C212.45 150.05 211.98 146.28 211.45 142.65C207.57 115.94 212.18 92.73 224.33 76.18C236.08 60.1 255.04 50.21 280.41 49.67H284.55C309.99 50.21 328.95 60.1 340.77 76.18C352.85 92.73 357.46 115.94 353.52 142.65Z" stroke="${t.color}" stroke-width="${t.thickness}" stroke-miterlimit="10"/>
`}function Y(e){return`<svg preserveAspectRatio="xMidYMid slice" width="100%" height="100%" viewBox="0 0 565 320" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M353.52 142.65C353.33 144.07 353.14 145.52 352.95 146.98C352.64 149.25 352.33 151.55 352.05 153.89C350.31 167.88 348.38 182.75 343.97 194.52C338.03 210.34 327.48 224.33 315.93 234.29C304.51 244.25 292.16 250.17 282.61 250.23H282.35C272.8 250.1 260.52 244.25 249.03 234.29C237.55 224.33 226.93 210.4 220.99 194.52C216.65 182.93 214.77 168.34 213 154.53L212.91 153.89C212.45 150.05 211.98 146.28 211.45 142.65C207.57 115.94 212.18 92.73 224.33 76.18C236.08 60.1 255.04 50.21 280.41 49.67H284.55C309.99 50.21 328.95 60.1 340.77 76.18C352.85 92.73 357.46 115.94 353.52 142.65Z" stroke="${e.color}" stroke-width="${e.thickness}" stroke-miterlimit="10"/>
</svg>
`}function ne(t){let r={backgroundColor:t?.backgroundColor??"black",backgroundOpacity:t?.backgroundOpacity??.6,frameColor:t?.frameColor??"white",frameThickness:t?.frameThickness??3,type:t?.type??"face"};function a(){if(r.type=="face")return{mask:oe({color:r.backgroundColor,opacity:r.backgroundOpacity}),frame:re({color:r.frameColor,thickness:r.frameThickness})}}let o=a(),e=d({tag:"div",style:{width:"100%",height:"100%",position:"absolute",top:"0",left:"0"},children:[d({tag:"div",style:{width:"100%",height:"100%",position:"absolute"},children:o?.mask}),d({tag:"div",style:{width:"100%",height:"100%",position:"absolute"},children:o?.frame})]});return{get element(){return e}}}function g(){throw ge}function ie(){return{takePicture:g,confirmPicture:g,rejectPicture:g,cancel:g}}function H(t){let{request:r,onCancel:a,onFinish:o,controller:e,captureButtonStyle:n,cancelButtonStyle:i,confirmButtonStyle:s,loadingStyle:c,maskStyle:m,backButtonStyle:l,showMask:u=!0,showBackButton:p=!0,width:b="100%",height:x="100%",showConfirmationButtons:N=!0,showLoading:G=!0,showTakePictureButton:f=!0,aspectRatio:v=16/9,preferredResolution:C=480}=t,D=null,w=L(),le=q(),M=A({active:!1,onClick:J,style:n}),I=Q({active:!1,onFinish:ue,onCancel:fe,cancelButtonStyle:i,confirmButtonStyle:s}),z=F(""),K=_({active:!1,style:c}),Ee=ne(m),me=j({active:!1,onClick:de,style:l});function J(){w.checkIfIsInitialized()&&(D=le.takePicture(w.element),z.image=D.base64,M.active=!1,I.active=!0,e&&(e.confirmPicture=ue,e.rejectPicture=fe,e.takePicture=g))}async function ue(){I.active=!1,K.active=!0,e&&(e.confirmPicture=g,e.rejectPicture=g,e.takePicture=g,e.cancel=g);try{await r(D)}finally{w.dispose(),o(),K.active=!1,z.image=""}}function fe(){D=null,z.image="",I.active=!1,M.active=!0,e&&(e.confirmPicture=g,e.rejectPicture=g,e.takePicture=J)}async function xe(){await w.initCamera({aspectRatio:v,preferredResolution:C}),M.active=!0,me.active=!0}function de(){e&&(e.confirmPicture=g,e.rejectPicture=g,e.takePicture=g,e.cancel=g),D=null,w.dispose(),a()}let De=d({tag:"div",style:{position:"relative",width:b,height:x},children:[w.element,le.element,u?Ee.element:d({tag:"div"}),z.element,f?M.element:d({tag:"div"}),N?I.element:d({tag:"div"}),G?K.element:d({tag:"div"}),p?me.element:d({tag:"div"})]});return e&&(e.cancel=de,e.takePicture=J),{get element(){return De},initCamera:xe}}var ve=R(E());function F(t){let r=(0,ve.default)({tag:"img",style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",objectFit:"cover",opacity:t.length>0?"1":"0",transition:".3s",display:t.length>0?"block":"none"}});t.length>0&&r.setAttribute("src",t);let a={get element(){return r},image:t};return new Proxy(a,{get:(e,n)=>{if(n in e)return e[n]},set(e,n,i){if(n==="element")return!0;if(n==="image"){let s=e.element.getAttribute("src")!=null&&e.element.getAttribute("src").length>0;s&&i.length>0?e.element.setAttribute("src",i):s&&i.length==0?(e.element.style.opacity="0",setTimeout(()=>{e.element.style.display="none",e.element.setAttribute("src","")},300)):!s&&i.length>0&&(e.element.style.opacity="0",e.element.style.display="block",e.element.setAttribute("src",i),setTimeout(()=>{e.element.style.opacity="1"},50)),e.image=i}return!0}})}var be=R(E());function $(t){return`
`}function U(e){let n={backgroundColor:e?.backgroundColor??"black",backgroundOpacity:e?.backgroundOpacity??.6,frameColor:e?.frameColor??"white",frameThickness:e?.frameThickness??3,type:e?.type??"face"};function r(){if(n.type=="face")return{mask:Z({color:n.backgroundColor,opacity:n.backgroundOpacity}),frame:Y({color:n.frameColor,thickness:n.frameThickness})}}let o=r(),t=u({tag:"div",style:{width:"100%",height:"100%",position:"absolute",top:"0",left:"0"},children:[u({tag:"div",style:{width:"100%",height:"100%",position:"absolute"},children:o?.mask}),u({tag:"div",style:{width:"100%",height:"100%",position:"absolute"},children:o?.frame})]});return{get element(){return t}}}function C(){throw oe}function B(e){let{request:n,onCancel:r,onFinish:o,controller:t,captureButtonStyle:i,cancelButtonStyle:a,confirmButtonStyle:c,loadingStyle:s,maskStyle:l,backButtonStyle:m,showMask:d=!0,showBackButton:f=!0,width:j="100%",height:me="100%",showConfirmationButtons:ue=!0,showLoading:de=!0,showTakePictureButton:fe=!0,aspectRatio:Ce=16/9,preferredResolution:pe=480}=e,v=null,y=x(),J=b(),P=M({active:!1,onClick:$,style:i}),E=L({active:!1,onFinish:Q,onCancel:X,cancelButtonStyle:a,confirmButtonStyle:c}),w=S(""),q=z({active:!1,style:s}),ge=U(l),N=R({active:!1,onClick:ee,style:m});function $(){y.checkIfIsInitialized()&&(v=J.takePicture(y.element),w.image=v.base64,P.active=!1,E.active=!0,t&&(t.confirmPicture=Q,t.rejectPicture=X,t.takePicture=C))}async function Q(){E.active=!1,q.active=!0,t&&(t.confirmPicture=C,t.rejectPicture=C,t.takePicture=C,t.cancel=C);try{await n(v)}finally{y.dispose(),o(),q.active=!1,w.image=""}}function X(){v=null,w.image="",E.active=!1,P.active=!0,t&&(t.confirmPicture=C,t.rejectPicture=C,t.takePicture=$)}async function ye(){await y.initCamera({aspectRatio:Ce,preferredResolution:pe}),P.active=!0,N.active=!0}function ee(){t&&(t.confirmPicture=C,t.rejectPicture=C,t.takePicture=C,t.cancel=C),v=null,y.dispose(),r()}let he=u({tag:"div",style:{position:"relative",width:j,height:me},children:[y.element,J.element,d?ge.element:u({tag:"div"}),w.element,fe?P.element:u({tag:"div"}),ue?E.element:u({tag:"div"}),de?q.element:u({tag:"div"}),f?N.element:u({tag:"div"})]});return t&&(t.cancel=ee,t.takePicture=$),{get element(){return he},initCamera:ye}}var ae=k(h());function S(e){let n=(0,ae.default)({tag:"img",style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",objectFit:"cover",opacity:e.length>0?"1":"0",transition:".3s",display:e.length>0?"block":"none"}});e.length>0&&n.setAttribute("src",e);let r={get element(){return n},image:e};return new Proxy(r,{get:(t,i)=>{if(i in t)return t[i]},set(t,i,a){if(i==="element")return!0;if(i==="image"){let c=t.element.getAttribute("src")!=null&&t.element.getAttribute("src").length>0;c&&a.length>0?t.element.setAttribute("src",a):c&&a.length==0?(t.element.style.opacity="0",setTimeout(()=>{t.element.style.display="none",t.element.setAttribute("src","")},300)):!c&&a.length>0&&(t.element.style.opacity="0",t.element.style.display="block",t.element.setAttribute("src",a),setTimeout(()=>{t.element.style.opacity="1"},50)),t.image=a}return!0}})}var se=k(h());function H(e){return`
<svg preserveAspectRatio="xMidYMin meet" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.1408 11.3621C12.9871 10.7967 13.982 10.4949 14.9997 10.4949C16.3645 10.4949 17.6734 11.037 18.6384 12.0021C19.6035 12.9671 20.1456 14.276 20.1456 15.6408C20.1456 16.6585 19.8438 17.6534 19.2784 18.4997C18.7129 19.3459 17.9093 20.0055 16.969 20.395C16.0287 20.7844 14.994 20.8863 13.9958 20.6878C12.9976 20.4892 12.0807 19.9991 11.361 19.2795C10.6414 18.5598 10.1513 17.6429 9.95272 16.6447C9.75416 15.6465 9.85607 14.6118 10.2455 13.6715C10.635 12.7312 11.2946 11.9276 12.1408 11.3621ZM16.1279 12.9172C15.5892 12.6941 14.9965 12.6357 14.4246 12.7495C13.8528 12.8632 13.3275 13.144 12.9152 13.5563C12.5029 13.9685 12.2222 14.4938 12.1084 15.0657C11.9947 15.6375 12.0531 16.2302 12.2762 16.7689C12.4993 17.3076 12.8772 17.768 13.3619 18.0919C13.8467 18.4158 14.4167 18.5887 14.9997 18.5887C15.7816 18.5887 16.5314 18.2781 17.0842 17.7253C17.6371 17.1724 17.9477 16.4226 17.9477 15.6408C17.9477 15.0577 17.7748 14.4878 17.4509 14.003C17.1269 13.5182 16.6665 13.1404 16.1279 12.9172Z" fill="${t}"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.4541 3.75003C19.2417 3.74699 20.0109 3.989 20.6549 4.44254C21.2979 4.89536 21.7844 5.53665 22.0472 6.27781L22.5334 7.79695H24.4426C24.9466 7.79688 25.4455 7.89714 25.9103 8.0919C26.3752 8.28666 26.7966 8.57201 27.15 8.93132C27.5034 9.29062 27.7818 9.71669 27.9688 10.1847C28.1559 10.6527 28.2478 11.1532 28.2394 11.6571V22.4531C28.2394 23.4601 27.8394 24.4258 27.1274 25.1379C26.4153 25.85 25.4495 26.25 24.4425 26.25H5.55692C4.54992 26.25 3.58416 25.85 2.8721 25.1379C2.16004 24.4258 1.76001 23.4601 1.76001 22.4531V11.6613C1.76001 10.6543 2.16004 9.68854 2.8721 8.97648C3.58416 8.26443 4.54992 7.86439 5.55692 7.86439H7.4661L7.9529 6.34312C8.20491 5.58928 8.68715 4.93351 9.33167 4.46829C9.97653 4.0028 10.7513 3.75157 11.5466 3.75003L18.4541 3.75003ZM10.6796 6.24673C10.9521 6.05169 11.279 5.94719 11.6141 5.94797H18.5203C18.8554 5.94719 19.1822 6.05169 19.4547 6.24673C19.7273 6.44184 19.9317 6.71769 20.0389 7.03528L20.0395 7.03708L20.7677 9.24873C20.8383 9.458 20.9704 9.64115 21.1466 9.77429C21.3215 9.90648 21.532 9.98328 21.7509 9.99489H24.4425C24.8666 9.99489 25.2733 10.1634 25.5732 10.4632C25.873 10.7631 26.0415 11.1698 26.0415 11.5939V22.3856C26.0415 22.8097 25.873 23.2164 25.5732 23.5163C25.2733 23.8161 24.8666 23.9846 24.4425 23.9846H5.55692C5.13285 23.9846 4.72615 23.8161 4.42628 23.5163C4.12642 23.2164 3.95795 22.8097 3.95795 22.3856V11.5939C3.95795 11.1698 4.12642 10.7631 4.42628 10.4632C4.72615 10.1634 5.13285 9.99489 5.55692 9.99489L8.2679 9.99523C8.50755 10.0077 8.7447 9.94146 8.94315 9.80652C9.14139 9.67171 9.29034 9.47511 9.36687 9.24793L10.0948 7.03709L10.0954 7.03528C10.2027 6.71769 10.4071 6.44184 10.6796 6.24673Z" fill="${t}"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.1408 11.3621C12.9871 10.7967 13.982 10.4949 14.9997 10.4949C16.3645 10.4949 17.6734 11.037 18.6384 12.0021C19.6035 12.9671 20.1456 14.276 20.1456 15.6408C20.1456 16.6585 19.8438 17.6534 19.2784 18.4997C18.7129 19.3459 17.9093 20.0055 16.969 20.395C16.0287 20.7844 14.994 20.8863 13.9958 20.6878C12.9976 20.4892 12.0807 19.9991 11.361 19.2795C10.6414 18.5598 10.1513 17.6429 9.95272 16.6447C9.75416 15.6465 9.85607 14.6118 10.2455 13.6715C10.635 12.7312 11.2946 11.9276 12.1408 11.3621ZM16.1279 12.9172C15.5892 12.6941 14.9965 12.6357 14.4246 12.7495C13.8528 12.8632 13.3275 13.144 12.9152 13.5563C12.5029 13.9685 12.2222 14.4938 12.1084 15.0657C11.9947 15.6375 12.0531 16.2302 12.2762 16.7689C12.4993 17.3076 12.8772 17.768 13.3619 18.0919C13.8467 18.4158 14.4167 18.5887 14.9997 18.5887C15.7816 18.5887 16.5314 18.2781 17.0842 17.7253C17.6371 17.1724 17.9477 16.4226 17.9477 15.6408C17.9477 15.0577 17.7748 14.4878 17.4509 14.003C17.1269 13.5182 16.6665 13.1404 16.1279 12.9172Z" fill="${e}"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.4541 3.75003C19.2417 3.74699 20.0109 3.989 20.6549 4.44254C21.2979 4.89536 21.7844 5.53665 22.0472 6.27781L22.5334 7.79695H24.4426C24.9466 7.79688 25.4455 7.89714 25.9103 8.0919C26.3752 8.28666 26.7966 8.57201 27.15 8.93132C27.5034 9.29062 27.7818 9.71669 27.9688 10.1847C28.1559 10.6527 28.2478 11.1532 28.2394 11.6571V22.4531C28.2394 23.4601 27.8394 24.4258 27.1274 25.1379C26.4153 25.85 25.4495 26.25 24.4425 26.25H5.55692C4.54992 26.25 3.58416 25.85 2.8721 25.1379C2.16004 24.4258 1.76001 23.4601 1.76001 22.4531V11.6613C1.76001 10.6543 2.16004 9.68854 2.8721 8.97648C3.58416 8.26443 4.54992 7.86439 5.55692 7.86439H7.4661L7.9529 6.34312C8.20491 5.58928 8.68715 4.93351 9.33167 4.46829C9.97653 4.0028 10.7513 3.75157 11.5466 3.75003L18.4541 3.75003ZM10.6796 6.24673C10.9521 6.05169 11.279 5.94719 11.6141 5.94797H18.5203C18.8554 5.94719 19.1822 6.05169 19.4547 6.24673C19.7273 6.44184 19.9317 6.71769 20.0389 7.03528L20.0395 7.03708L20.7677 9.24873C20.8383 9.458 20.9704 9.64115 21.1466 9.77429C21.3215 9.90648 21.532 9.98328 21.7509 9.99489H24.4425C24.8666 9.99489 25.2733 10.1634 25.5732 10.4632C25.873 10.7631 26.0415 11.1698 26.0415 11.5939V22.3856C26.0415 22.8097 25.873 23.2164 25.5732 23.5163C25.2733 23.8161 24.8666 23.9846 24.4425 23.9846H5.55692C5.13285 23.9846 4.72615 23.8161 4.42628 23.5163C4.12642 23.2164 3.95795 22.8097 3.95795 22.3856V11.5939C3.95795 11.1698 4.12642 10.7631 4.42628 10.4632C4.72615 10.1634 5.13285 9.99489 5.55692 9.99489L8.2679 9.99523C8.50755 10.0077 8.7447 9.94146 8.94315 9.80652C9.14139 9.67171 9.29034 9.47511 9.36687 9.24793L10.0948 7.03709L10.0954 7.03528C10.2027 6.71769 10.4071 6.44184 10.6796 6.24673Z" fill="${e}"/>
</svg>
`}function V(t){return`
`}function T(e){return`
<svg preserveAspectRatio="xMidYMin meet" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.8073 6.52089C26.6436 6.35584 26.4489 6.22483 26.2343 6.13543C26.0197 6.04603 25.7895 6 25.557 6C25.3246 6 25.0944 6.04603 24.8798 6.13543C24.6652 6.22483 24.4705 6.35584 24.3068 6.52089L11.1875 19.6578L5.67561 14.1283C5.50564 13.9641 5.30499 13.835 5.08512 13.7484C4.86525 13.6617 4.63047 13.6192 4.39418 13.6233C4.1579 13.6274 3.92473 13.678 3.70799 13.7722C3.49125 13.8664 3.29519 14.0024 3.131 14.1723C2.96681 14.3423 2.8377 14.543 2.75105 14.7628C2.66441 14.9827 2.62191 15.2175 2.626 15.4538C2.63009 15.6901 2.68068 15.9232 2.77488 16.14C2.86908 16.3567 3.00505 16.5528 3.17502 16.717L9.93718 23.4791C10.1009 23.6442 10.2956 23.7752 10.5102 23.8646C10.7248 23.954 10.955 24 11.1875 24C11.4199 24 11.6501 23.954 11.8647 23.8646C12.0793 23.7752 12.2741 23.6442 12.4378 23.4791L26.8073 9.10953C26.9861 8.94463 27.1287 8.74449 27.2263 8.52173C27.3239 8.29897 27.3743 8.05841 27.3743 7.81521C27.3743 7.57202 27.3239 7.33146 27.2263 7.1087C27.1287 6.88593 26.9861 6.6858 26.8073 6.52089Z" fill="${t}"/>
<path d="M26.8073 6.52089C26.6436 6.35584 26.4489 6.22483 26.2343 6.13543C26.0197 6.04603 25.7895 6 25.557 6C25.3246 6 25.0944 6.04603 24.8798 6.13543C24.6652 6.22483 24.4705 6.35584 24.3068 6.52089L11.1875 19.6578L5.67561 14.1283C5.50564 13.9641 5.30499 13.835 5.08512 13.7484C4.86525 13.6617 4.63047 13.6192 4.39418 13.6233C4.1579 13.6274 3.92473 13.678 3.70799 13.7722C3.49125 13.8664 3.29519 14.0024 3.131 14.1723C2.96681 14.3423 2.8377 14.543 2.75105 14.7628C2.66441 14.9827 2.62191 15.2175 2.626 15.4538C2.63009 15.6901 2.68068 15.9232 2.77488 16.14C2.86908 16.3567 3.00505 16.5528 3.17502 16.717L9.93718 23.4791C10.1009 23.6442 10.2956 23.7752 10.5102 23.8646C10.7248 23.954 10.955 24 11.1875 24C11.4199 24 11.6501 23.954 11.8647 23.8646C12.0793 23.7752 12.2741 23.6442 12.4378 23.4791L26.8073 9.10953C26.9861 8.94463 27.1287 8.74449 27.2263 8.52173C27.3239 8.29897 27.3743 8.05841 27.3743 7.81521C27.3743 7.57202 27.3239 7.33146 27.2263 7.1087C27.1287 6.88593 26.9861 6.6858 26.8073 6.52089Z" fill="${e}"/>
</svg>
`}function Z(t){return`
`}function A(e){return`
<svg preserveAspectRatio="xMidYMin meet" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.1133 14.9987L23.558 8.56902C23.8402 8.2868 23.9988 7.90402 23.9988 7.5049C23.9988 7.10577 23.8402 6.723 23.558 6.44077C23.2758 6.15855 22.893 6 22.4939 6C22.0948 6 21.712 6.15855 21.4298 6.44077L15.0001 12.8855L8.57036 6.44077C8.28813 6.15855 7.90536 6 7.50623 6C7.10711 6 6.72433 6.15855 6.44211 6.44077C6.15989 6.723 6.00134 7.10577 6.00134 7.5049C6.00134 7.90402 6.15989 8.2868 6.44211 8.56902L12.8868 14.9987L6.44211 21.4284C6.30163 21.5678 6.19014 21.7335 6.11405 21.9162C6.03795 22.0988 5.99878 22.2947 5.99878 22.4925C5.99878 22.6904 6.03795 22.8863 6.11405 23.0689C6.19014 23.2516 6.30163 23.4173 6.44211 23.5567C6.58144 23.6971 6.74721 23.8086 6.92984 23.8847C7.11248 23.9608 7.30838 24 7.50623 24C7.70409 24 7.89999 23.9608 8.08262 23.8847C8.26526 23.8086 8.43103 23.6971 8.57036 23.5567L15.0001 17.112L21.4298 23.5567C21.5691 23.6971 21.7349 23.8086 21.9175 23.8847C22.1001 23.9608 22.296 24 22.4939 24C22.6917 24 22.8876 23.9608 23.0703 23.8847C23.2529 23.8086 23.4187 23.6971 23.558 23.5567C23.6985 23.4173 23.81 23.2516 23.8861 23.0689C23.9622 22.8863 24.0013 22.6904 24.0013 22.4925C24.0013 22.2947 23.9622 22.0988 23.8861 21.9162C23.81 21.7335 23.6985 21.5678 23.558 21.4284L17.1133 14.9987Z" fill="${t}"/>
<path d="M17.1133 14.9987L23.558 8.56902C23.8402 8.2868 23.9988 7.90402 23.9988 7.5049C23.9988 7.10577 23.8402 6.723 23.558 6.44077C23.2758 6.15855 22.893 6 22.4939 6C22.0948 6 21.712 6.15855 21.4298 6.44077L15.0001 12.8855L8.57036 6.44077C8.28813 6.15855 7.90536 6 7.50623 6C7.10711 6 6.72433 6.15855 6.44211 6.44077C6.15989 6.723 6.00134 7.10577 6.00134 7.5049C6.00134 7.90402 6.15989 8.2868 6.44211 8.56902L12.8868 14.9987L6.44211 21.4284C6.30163 21.5678 6.19014 21.7335 6.11405 21.9162C6.03795 22.0988 5.99878 22.2947 5.99878 22.4925C5.99878 22.6904 6.03795 22.8863 6.11405 23.0689C6.19014 23.2516 6.30163 23.4173 6.44211 23.5567C6.58144 23.6971 6.74721 23.8086 6.92984 23.8847C7.11248 23.9608 7.30838 24 7.50623 24C7.70409 24 7.89999 23.9608 8.08262 23.8847C8.26526 23.8086 8.43103 23.6971 8.57036 23.5567L15.0001 17.112L21.4298 23.5567C21.5691 23.6971 21.7349 23.8086 21.9175 23.8847C22.1001 23.9608 22.296 24 22.4939 24C22.6917 24 22.8876 23.9608 23.0703 23.8847C23.2529 23.8086 23.4187 23.6971 23.558 23.5567C23.6985 23.4173 23.81 23.2516 23.8861 23.0689C23.9622 22.8863 24.0013 22.6904 24.0013 22.4925C24.0013 22.2947 23.9622 22.0988 23.8861 21.9162C23.81 21.7335 23.6985 21.5678 23.558 21.4284L17.1133 14.9987Z" fill="${e}"/>
</svg>
`}function U(t){return`
`}function D(e){return`
<svg preserveAspectRatio="xMidYMin meet" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.9" d="M7.5512 13.8107L14.9724 21.6702C15.1351 21.8439 15.3287 21.9818 15.542 22.0759C15.7553 22.1701 15.9841 22.2185 16.2151 22.2185C16.4462 22.2185 16.675 22.1701 16.8882 22.0759C17.1015 21.9818 17.2951 21.8439 17.4578 21.6702C17.7838 21.3229 17.9668 20.8531 17.9668 20.3634C17.9668 19.8737 17.7838 19.4039 17.4578 19.0566L11.2618 12.4946L17.4578 5.93271C17.7838 5.5854 17.9668 5.11559 17.9668 4.62588C17.9668 4.13618 17.7838 3.66636 17.4578 3.31906C17.2943 3.14726 17.1003 3.01134 16.8871 2.9191C16.6738 2.82685 16.4455 2.78009 16.2151 2.7815C15.9848 2.78009 15.7564 2.82685 15.5432 2.9191C15.3299 3.01134 15.136 3.14726 14.9724 3.31906L7.5512 11.1785C7.38714 11.3509 7.25693 11.5559 7.16807 11.7818C7.07921 12.0076 7.03346 12.2499 7.03346 12.4946C7.03346 12.7393 7.07921 12.9816 7.16807 13.2075C7.25693 13.4334 7.38714 13.6384 7.5512 13.8107Z" fill="${t}"/>
<path opacity="0.9" d="M7.5512 13.8107L14.9724 21.6702C15.1351 21.8439 15.3287 21.9818 15.542 22.0759C15.7553 22.1701 15.9841 22.2185 16.2151 22.2185C16.4462 22.2185 16.675 22.1701 16.8882 22.0759C17.1015 21.9818 17.2951 21.8439 17.4578 21.6702C17.7838 21.3229 17.9668 20.8531 17.9668 20.3634C17.9668 19.8737 17.7838 19.4039 17.4578 19.0566L11.2618 12.4946L17.4578 5.93271C17.7838 5.5854 17.9668 5.11559 17.9668 4.62588C17.9668 4.13618 17.7838 3.66636 17.4578 3.31906C17.2943 3.14726 17.1003 3.01134 16.8871 2.9191C16.6738 2.82685 16.4455 2.78009 16.2151 2.7815C15.9848 2.78009 15.7564 2.82685 15.5432 2.9191C15.3299 3.01134 15.136 3.14726 14.9724 3.31906L7.5512 11.1785C7.38714 11.3509 7.25693 11.5559 7.16807 11.7818C7.07921 12.0076 7.03346 12.2499 7.03346 12.4946C7.03346 12.7393 7.07921 12.9816 7.16807 13.2075C7.25693 13.4334 7.38714 13.6384 7.5512 13.8107Z" fill="${e}"/>
</svg>
`}var Se=R(E());function T(t,r){return(0,Se.default)({tag:"img",attributes:{src:t},style:{width:r}})}function A(t){let{onClick:r,active:a,style:o}=t,e={backgroundColor:o?.backgroundColor??"white",iconColor:o?.iconColor??"black",iconSize:o?.iconSize??"30px",size:o?.size??"50px",icon:o?.icon??""};console.log(e);let n=(0,be.default)({tag:"div",style:{position:"absolute",bottom:"20px",left:"0",right:"0",display:"flex",alignItems:"center",justifyContent:"center",transition:".3s",opacity:a?"1":"0",pointerEvents:a?"all":"none"},children:[S({backgroundColor:e.backgroundColor,size:e.size,iconColor:e.iconColor,iconSize:e.iconSize,iconElement:e.icon.length>0?[T(e.icon,e.iconSize)]:$(e.iconColor),onPressed:r})]}),i={get element(){return n},active:a};return new Proxy(i,{get:(c,m)=>{if(m in c)return c[m]},set(c,m,l){return m==="element"||m==="active"&&(l?(n.style.opacity="1",n.style.pointerEvents="all"):(n.style.opacity="0",n.style.pointerEvents="none")),!0}})}var Y=R(E());function _(t){let{active:r,style:a}=t,o={backgroundColor:a?.backgroundColor??"white",dotsColor:a?.dotsColor??"black",dotsSize:a?.dotsSize??"5px",dotsSpacing:a?.dotsSpacing??"3px",size:a?.size??"50px"};function e(l){return(0,Y.default)({tag:"div",attributes:{class:"loading_dot"},style:{width:o.dotsSize,height:o.dotsSize,borderRadius:"9999px",background:o.dotsColor,marginRight:l?void 0:o.dotsSpacing,opacity:".5"}})}let n=(0,Y.default)({tag:"div",style:{position:"absolute",bottom:"20px",left:"0",right:"0",display:"flex",alignItems:"center",justifyContent:"center",transition:".3s",opacity:r?"1":"0",pointerEvents:r?"all":"none"},children:[(0,Y.default)({tag:"div",style:{width:o.size,height:o.size,background:o.backgroundColor,borderRadius:"9999px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",margin:"0 20px"},children:Array(3).fill(void 0).map((l,u)=>e(u==2))})]}),i={get element(){return n},active:r};function s(){let l=Array.from(n.querySelectorAll(".loading_dot"));l&&typeof document.body.animate<"u"&&l.forEach(u=>{u.getAnimations().forEach(p=>p.cancel())})}function c(){let l=Array.from(n.querySelectorAll(".loading_dot"));l&&typeof document.body.animate<"u"&&l.forEach((u,p)=>{u.animate([{opacity:".5",transform:"scale(.8)"},{opacity:"1",transform:"scale(1)"},{opacity:"1",transform:"scale(1)"},{opacity:".5",transform:"scale(.8)"}],{duration:1e3,iterations:1/0,delay:p*100})})}return r&&c(),new Proxy(i,{get:(l,u)=>{if(u in l)return l[u]},set(l,u,p){return u==="element"||u==="active"&&(s(),p?(n.style.opacity="1",c()):n.style.opacity="0"),!0}})}var Te=R(E());function Q(t){let{onFinish:r,onCancel:a,active:o,cancelButtonStyle:e,confirmButtonStyle:n}=t,i={backgroundColor:e?.backgroundColor??"#E84141",iconColor:e?.iconColor??"white",iconSize:e?.iconSize??"30px",size:e?.size??"50px",icon:e?.icon??""},s={backgroundColor:n?.backgroundColor??"white",iconColor:n?.iconColor??"black",iconSize:n?.iconSize??"30px",size:n?.size??"50px",icon:n?.icon??""},c=(0,Te.default)({tag:"div",style:{position:"absolute",bottom:"20px",left:"0",right:"0",display:"flex",alignItems:"center",justifyContent:"center",transition:".3s",opacity:o?"1":"0",pointerEvents:o?"all":"none"},children:[S({backgroundColor:i.backgroundColor,size:i.size,iconColor:i.iconColor,iconSize:i.iconSize,iconElement:i.icon.length>0?[T(i.icon,i.iconSize)]:Z(i.iconColor),onPressed:a}),S({backgroundColor:s.backgroundColor,size:s.size,iconColor:s.iconColor,iconSize:s.iconSize,iconElement:s.icon.length>0?[T(s.icon,s.iconSize)]:V(s.iconColor),onPressed:r})]}),m={get element(){return c},active:o};return new Proxy(m,{get:(u,p)=>{if(p in u)return u[p]},set(u,p,b){return p==="element"||p==="active"&&(b?(c.style.opacity="1",c.style.pointerEvents="all"):(c.style.opacity="0",c.style.pointerEvents="none")),!0}})}function j(t){let{onClick:r,active:a,style:o}=t,e={backgroundColor:o?.backgroundColor??"transparent",iconColor:o?.iconColor??"white",iconSize:o?.iconSize??"30px",size:o?.size??"50px",icon:o?.icon??""},n=d({tag:"div",style:{position:"absolute",top:"10px",left:"10px",opacity:a?"1":"0",pointerEvents:a?"all":"none"},children:[S({horizontalMargin:"0",backgroundColor:e.backgroundColor,size:e.size,iconColor:e.iconColor,iconElement:e.icon.length>0?[T(e.icon,e.iconSize)]:U(e.iconColor),iconSize:e.iconSize,onPressed:r})]}),i={get element(){return n},active:a};return new Proxy(i,{get:(c,m)=>{if(m in c)return c[m]},set(c,m,l){return m==="element"||m==="active"&&(l?(n.style.opacity="1",n.style.pointerEvents="all"):(n.style.opacity="0",n.style.pointerEvents="none")),!0}})}function ae(t){let{data:r,request:a,onCancel:o,controller:e}=t,n=H({onCancel:()=>{r.element.innerHTML="",o()},onFinish:()=>{r.element.innerHTML=""},request:a,controller:e,...r.styles,...r.cameraPresets,...r.options});r.element.innerHTML="",r.element.appendChild(n.element),n.initCamera()}async function k(t,r){return await ee()?new Promise((o,e)=>{async function n(i){try{let s=await r(i);o(s)}catch(s){throw e(s),s}}ae({data:t,onCancel:()=>e(Ce),request:n,controller:t.controller})}):Promise.reject(pe)}function we(t){let{customId:r,face:a,fingers:o}=t,e={Person:{CustomID:r}};if(a&&(e.Person.Face=[{"Face-1":a}]),o){let{finger1:n,finger2:i,finger3:s,finger4:c,finger5:m,finger6:l,finger7:u,finger8:p,finger9:b,finger10:x}=o;e.Person.Fingers=[{"Finger-1":n,"Finger-2":i,"Finger-3":s,"Finger-4":c,"Finger-5":m,"Finger-6":l,"Finger-7":u,"Finger-8":p,"Finger-9":b,"Finger-10":x}]}return e}function y(t){let r=t.split(",");return r.length==2?r[1]:t}var Ye="https://api.biopassid.com";async function P(t){let{url:r,method:a,body:o,token:e}=t,n=await fetch(Ye+r,{method:a,body:o!=null?JSON.stringify(o):void 0,headers:{"Ocp-Apim-Subscription-Key":e,"Content-Type":"application/json"}});if(n.status>=400)throw n;return await n.json()}function O(t){async function r(o){let{params:e,method:n,url:i,biometryRequired:s}=o;if(!e.customId||e.customId.length==0)throw he;if(s&&!e.face&&!e.fingers)throw ye;let c={...e};c.face&&(c.face=y(e.face));let m=we(c);try{let l=await P({url:i,token:t,method:n,body:m});if(l.Success==!1)throw`generic/${l.Message?l.Message.toLowerCase().split(" ").join("_"):"failed"}`;return l}catch(l){if(typeof l=="string")throw l;if(typeof l=="object"){let u=l;if(typeof u.status=="number"&&u.status==400){let p=await u.text();throw p.length>0?`generic/${p.toLowerCase().replaceAll(" ","_").replaceAll(".","")}`:h}}throw h}}return{async enrollService(o){return r({biometryRequired:!0,method:"POST",params:o,url:"/multibiometrics/enroll"})},async updateService(o){return r({biometryRequired:!0,method:"PUT",params:o,url:"/multibiometrics/update"})},async deleteService(o){return r({biometryRequired:!1,method:"DELETE",params:o,url:"/multibiometrics/delete"})},async verifyService(o){return r({biometryRequired:!0,method:"POST",params:o,url:"/multibiometrics/verify"})},async matchService(o){try{let{artifactA:e,artifactB:n,format:i,type:s}=o,c={Match:{Type:s,Artifact_A:y(e),Artifact_B:y(n),Format:i}};return await P({url:"/multibiometrics/match",token:t,method:"POST",body:c})}catch{throw h}},async extractService(o){try{let{artifact:e,format:n,type:i}=o,s={Extract:{Type:i,Artifact:y(e),Format:n}};return await P({url:"/multibiometrics/extract",token:t,method:"POST",body:s})}catch{throw h}},async wsqEncode(o){try{let{compression:e,image:n,ppi:i}=o,s={Encode:{Compression:e,Image:y(n),PPI:i}};return await P({url:"/multibiometrics/wsq_encode",token:t,method:"POST",body:s})}catch{throw h}},async wsqDecode(o){try{let{picture:e}=o,n={Decode:{Wsq:y(e.base64)}};return await P({url:"/multibiometrics/decode",token:t,method:"POST",body:n})}catch{throw h}},async faceDetectService(o){try{let{picture:e}=o,n={Check:{Image:y(e.base64)}},i=await P({url:"/multibiometrics/face_detect",token:t,method:"POST",body:n});return i.Picture={...e},i}catch{throw h}},async faceSpoofService(o){try{let{picture:e}=o,n={Spoof:{Image:y(e.base64)}};return await P({url:"/multibiometrics/face_spoof",token:t,method:"POST",body:n})}catch{throw h}},async anonymizerService(o){try{let{picture:e}=o,n={Check:{Image:y(e.base64)}};return await P({url:"/multibiometrics/anonymizer",token:t,method:"POST",body:n})}catch{throw h}}}}function se(t){let{enrollService:r,verifyService:a,updateService:o,deleteService:e,extractService:n,faceDetectService:i,faceSpoofService:s,anonymizerService:c}=O(t);function m(f){return k(f,C=>r({customId:f.customId,face:C.base64}))}function l(f){return k(f,C=>a({customId:f.customId,face:C.base64}))}function u(f){return k(f,C=>o({customId:f.customId,face:C.base64}))}function p(f){return k(f,C=>e({customId:f.customId,face:C.base64}))}async function b(f){return k(f,C=>n({artifact:C.base64,format:f.format,type:"FACE"}))}async function x(f){return k(f,C=>i({picture:C}))}async function N(f){return k(f,C=>s({picture:C}))}async function G(f){return k(f,C=>c({picture:C}))}return{enroll:m,verify:l,updatePerson:u,deletePerson:p,extract:b,faceDetect:x,faceSpoof:N,anonymizer:G}}function B(t){return{async icaoQualityCheckService(a){try{let{picture:o}=a,e={Check:{Image:y(o.base64)}};return await P({url:"/quality/check_icao",token:t,method:"POST",body:e})}catch{throw h}},async icaoCropService(a){try{let{picture:o}=a,e={Check:{Image:y(o.base64)}};return await P({url:"/quality/icao_crop",token:t,method:"POST",body:e})}catch{throw h}},async checkNfiqService(a){try{let{picture:o}=a,e={Check:{Image:y(o.base64)}};return await P({url:"/quality/check_nfiq",token:t,method:"POST",body:e})}catch{throw h}}}}function ce(t){let{icaoCropService:r,icaoQualityCheckService:a}=B(t);async function o(n){return k(n,s=>a({picture:s}))}async function e(n){return k(n,s=>r({picture:s}))}return{icaoQualityCheck:o,icaoCrop:e}}typeof window<"u"&&(window.useMultibiometrics=se,window.useMultibiometricServices=O,window.useQuality=ce,window.useQualityServices=B,window.cameraController=ie);})();
`}var ce=k(h());function g(e,n){return(0,ce.default)({tag:"img",attributes:{src:e},style:{width:n}})}function M(e){let{onClick:n,active:r,style:o}=e,t={backgroundColor:o?.backgroundColor??"white",iconColor:o?.iconColor??"black",iconSize:o?.iconSize??"30px",size:o?.size??"50px",icon:o?.icon??""};console.log(t);let i=(0,se.default)({tag:"div",style:{position:"absolute",bottom:"20px",left:"0",right:"0",display:"flex",alignItems:"center",justifyContent:"center",transition:".3s",opacity:r?"1":"0",pointerEvents:r?"all":"none"},children:[p({backgroundColor:t.backgroundColor,size:t.size,iconColor:t.iconColor,iconSize:t.iconSize,iconElement:t.icon.length>0?[g(t.icon,t.iconSize)]:H(t.iconColor),onPressed:n})]}),a={get element(){return i},active:r};return new Proxy(a,{get:(s,l)=>{if(l in s)return s[l]},set(s,l,m){return l==="element"||l==="active"&&(m?(i.style.opacity="1",i.style.pointerEvents="all"):(i.style.opacity="0",i.style.pointerEvents="none")),!0}})}var _=k(h());function z(e){let{active:n,style:r}=e,o={backgroundColor:r?.backgroundColor??"white",dotsColor:r?.dotsColor??"black",dotsSize:r?.dotsSize??"5px",dotsSpacing:r?.dotsSpacing??"3px",size:r?.size??"50px"};function t(m){return(0,_.default)({tag:"div",attributes:{class:"loading_dot"},style:{width:o.dotsSize,height:o.dotsSize,borderRadius:"9999px",background:o.dotsColor,marginRight:m?void 0:o.dotsSpacing,opacity:".5"}})}let i=(0,_.default)({tag:"div",style:{position:"absolute",bottom:"20px",left:"0",right:"0",display:"flex",alignItems:"center",justifyContent:"center",transition:".3s",opacity:n?"1":"0",pointerEvents:n?"all":"none"},children:[(0,_.default)({tag:"div",style:{width:o.size,height:o.size,background:o.backgroundColor,borderRadius:"9999px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",margin:"0 20px"},children:Array(3).fill(void 0).map((m,d)=>t(d==2))})]}),a={get element(){return i},active:n};function c(){let m=Array.from(i.querySelectorAll(".loading_dot"));m&&typeof document.body.animate<"u"&&m.forEach(d=>{d.getAnimations().forEach(f=>f.cancel())})}function s(){let m=Array.from(i.querySelectorAll(".loading_dot"));m&&typeof document.body.animate<"u"&&m.forEach((d,f)=>{d.animate([{opacity:".5",transform:"scale(.8)"},{opacity:"1",transform:"scale(1)"},{opacity:"1",transform:"scale(1)"},{opacity:".5",transform:"scale(.8)"}],{duration:1e3,iterations:1/0,delay:f*100})})}return n&&s(),new Proxy(a,{get:(m,d)=>{if(d in m)return m[d]},set(m,d,f){return d==="element"||d==="active"&&(c(),f?(i.style.opacity="1",s()):i.style.opacity="0"),!0}})}var le=k(h());function L(e){let{onFinish:n,onCancel:r,active:o,cancelButtonStyle:t,confirmButtonStyle:i}=e,a={backgroundColor:t?.backgroundColor??"#E84141",iconColor:t?.iconColor??"white",iconSize:t?.iconSize??"30px",size:t?.size??"50px",icon:t?.icon??""},c={backgroundColor:i?.backgroundColor??"white",iconColor:i?.iconColor??"black",iconSize:i?.iconSize??"30px",size:i?.size??"50px",icon:i?.icon??""},s=(0,le.default)({tag:"div",style:{position:"absolute",bottom:"20px",left:"0",right:"0",display:"flex",alignItems:"center",justifyContent:"center",transition:".3s",opacity:o?"1":"0",pointerEvents:o?"all":"none"},children:[p({backgroundColor:a.backgroundColor,size:a.size,iconColor:a.iconColor,iconSize:a.iconSize,iconElement:a.icon.length>0?[g(a.icon,a.iconSize)]:A(a.iconColor),onPressed:r}),p({backgroundColor:c.backgroundColor,size:c.size,iconColor:c.iconColor,iconSize:c.iconSize,iconElement:c.icon.length>0?[g(c.icon,c.iconSize)]:T(c.iconColor),onPressed:n})]}),l={get element(){return s},active:o};return new Proxy(l,{get:(d,f)=>{if(f in d)return d[f]},set(d,f,j){return f==="element"||f==="active"&&(j?(s.style.opacity="1",s.style.pointerEvents="all"):(s.style.opacity="0",s.style.pointerEvents="none")),!0}})}function R(e){let{onClick:n,active:r,style:o}=e,t={backgroundColor:o?.backgroundColor??"transparent",iconColor:o?.iconColor??"white",iconSize:o?.iconSize??"30px",size:o?.size??"50px",icon:o?.icon??""},i=u({tag:"div",style:{position:"absolute",top:"10px",left:"10px",opacity:r?"1":"0",pointerEvents:r?"all":"none"},children:[p({horizontalMargin:"0",backgroundColor:t.backgroundColor,size:t.size,iconColor:t.iconColor,iconElement:t.icon.length>0?[g(t.icon,t.iconSize)]:D(t.iconColor),iconSize:t.iconSize,onPressed:n})]}),a={get element(){return i},active:r};return new Proxy(a,{get:(s,l)=>{if(l in s)return s[l]},set(s,l,m){return l==="element"||l==="active"&&(m?(i.style.opacity="1",i.style.pointerEvents="all"):(i.style.opacity="0",i.style.pointerEvents="none")),!0}})}function W(e){let{data:n,request:r,onCancel:o,controller:t}=e,i=B({onCancel:()=>{n.element.innerHTML="",o()},onFinish:()=>{n.element.innerHTML=""},request:r,controller:t,...n.styles,...n.cameraPresets,...n.options});n.element.innerHTML="",n.element.appendChild(i.element),i.initCamera()}async function K(e,n){return await O()?new Promise((o,t)=>{async function i(a){try{let c=await n(a);o(c)}catch(c){throw t(c),c}}W({data:e,onCancel:()=>t(ne),request:i,controller:e.controller})}):Promise.reject(te)}function G(){function e(n){return K(n,o=>Promise.resolve(o))}return{takePicture:e}}typeof window<"u"&&(window.useCamera=G);})();
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc