@neofaceid/web-sdk 1.29.0 → 1.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +123 -9
- package/dist/neoface-id-sdk.es.js +919 -309
- package/dist/neoface-id-sdk.umd.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -47,6 +47,15 @@ export declare interface AuthorizationResult {
|
|
|
47
47
|
message?: string;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
/**
|
|
51
|
+
* NeoFaceSDK.authorize — autoriza uma operação por biometria, orquestrando
|
|
52
|
+
* consent + captura + desafio de vivacidade (via runLivenessChallenge, NEO-408).
|
|
53
|
+
*
|
|
54
|
+
* O servidor sorteia a sequência de gestos, valida cada frame enviado e decide
|
|
55
|
+
* o resultado. O SDK apenas exibe e coleta ("client collects, server decides").
|
|
56
|
+
*/
|
|
57
|
+
export declare function authorize(options: AuthorizeOptions): Promise<void>;
|
|
58
|
+
|
|
50
59
|
/**
|
|
51
60
|
* NEO-108: Authorization operation with multi-photo capture and gesture detection
|
|
52
61
|
*
|
|
@@ -64,6 +73,26 @@ export declare interface AuthorizationResult {
|
|
|
64
73
|
*/
|
|
65
74
|
export declare const authorizeOperation: (applicationToken: string, cpf: string, options?: AuthorizationOptions) => Promise<AuthorizationResult>;
|
|
66
75
|
|
|
76
|
+
export declare interface AuthorizeOptions {
|
|
77
|
+
applicationToken: string;
|
|
78
|
+
/** Titular sendo autorizado (CPF, e-mail ou id opaco). */
|
|
79
|
+
subject: string;
|
|
80
|
+
/** Nome do integrador (fallback: `init({ appName })`). */
|
|
81
|
+
appName?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Número máximo de desafios (0-3). O servidor decide a sequência (NEO-408
|
|
84
|
+
* runLivenessChallenge) — este campo é apenas um teto sugerido ao backend.
|
|
85
|
+
*/
|
|
86
|
+
challenges?: 0 | 1 | 2 | 3;
|
|
87
|
+
/** Valor monetário exibido no header. Ex.: 1250 = "R$ 1.250,00". */
|
|
88
|
+
amount?: number;
|
|
89
|
+
onChallengeStart?: (gesture: ChallengeGesture, index: number, total: number) => void;
|
|
90
|
+
onChallengeComplete?: (gesture: ChallengeGesture, index: number, total: number) => void;
|
|
91
|
+
onSuccess?: (result: LivenessChallengeResult) => void;
|
|
92
|
+
onError?: (error: NeoFaceError) => void;
|
|
93
|
+
onCancel?: () => void;
|
|
94
|
+
}
|
|
95
|
+
|
|
67
96
|
export declare class BiometricCaptureModal {
|
|
68
97
|
private modal;
|
|
69
98
|
private video;
|
|
@@ -90,9 +119,11 @@ export declare class BiometricCaptureModal {
|
|
|
90
119
|
*/
|
|
91
120
|
private initializeCamera;
|
|
92
121
|
/**
|
|
93
|
-
*
|
|
122
|
+
* NEO-413 · US14.6 (item 18) — a contagem "3, 2, 1" foi removida.
|
|
123
|
+
* Agora habilita direto o botão "Capturar" assim que a câmera fica pronta.
|
|
124
|
+
* Vivacidade fica com o desafio `runLivenessChallenge` (NEO-408), servidor decide.
|
|
94
125
|
*/
|
|
95
|
-
private
|
|
126
|
+
private enableCaptureButton;
|
|
96
127
|
/**
|
|
97
128
|
* Captura a imagem da câmera
|
|
98
129
|
*/
|
|
@@ -503,12 +534,6 @@ export declare interface EmailPasswordOptions {
|
|
|
503
534
|
subtitle?: string;
|
|
504
535
|
}
|
|
505
536
|
|
|
506
|
-
/**
|
|
507
|
-
* SDK Global Configuration
|
|
508
|
-
*
|
|
509
|
-
* Este módulo gerencia a configuração global do SDK, permitindo
|
|
510
|
-
* inicialização com detecção automática de ambiente ou override manual.
|
|
511
|
-
*/
|
|
512
537
|
export declare type Environment = 'development' | 'sandbox' | 'production';
|
|
513
538
|
|
|
514
539
|
/**
|
|
@@ -596,11 +621,17 @@ export declare interface GestureResponse {
|
|
|
596
621
|
images: string[];
|
|
597
622
|
}
|
|
598
623
|
|
|
624
|
+
/** Retorna a cor de acento configurada, se houver (antes do validador de contraste). */
|
|
625
|
+
export declare function getAccent(): string | null;
|
|
626
|
+
|
|
599
627
|
/**
|
|
600
628
|
* Retorna o token de aplicação configurado, se houver.
|
|
601
629
|
*/
|
|
602
630
|
export declare function getApplicationToken(): string | null;
|
|
603
631
|
|
|
632
|
+
/** Retorna o nome do integrador configurado, se houver. */
|
|
633
|
+
export declare function getAppName(): string | null;
|
|
634
|
+
|
|
604
635
|
/**
|
|
605
636
|
* Retorna a URL base configurada para a API.
|
|
606
637
|
* Se o SDK não foi inicializado, retorna o fallback para sandbox.
|
|
@@ -619,6 +650,22 @@ export declare function getConfig(): Readonly<SDKConfig>;
|
|
|
619
650
|
*/
|
|
620
651
|
export declare function getEnvironment(): Environment | 'custom';
|
|
621
652
|
|
|
653
|
+
/** Retorna o locale configurado (padrão 'pt-BR'). */
|
|
654
|
+
export declare function getLocale(): string;
|
|
655
|
+
|
|
656
|
+
/** Retorna o raio base configurado (padrão 16). */
|
|
657
|
+
export declare function getRadius(): SDKRadius;
|
|
658
|
+
|
|
659
|
+
/**
|
|
660
|
+
* Retorna o modo de tema resolvido para a superfície de UI (light | dark).
|
|
661
|
+
* Considera 'auto' + `prefers-color-scheme`. Útil para consumidores que
|
|
662
|
+
* precisam alinhar visualmente algum elemento próprio ao SDK.
|
|
663
|
+
*/
|
|
664
|
+
export declare function getResolvedThemeMode(): ThemeMode;
|
|
665
|
+
|
|
666
|
+
/** Retorna o modo de tema configurado (padrão 'light'). */
|
|
667
|
+
export declare function getTheme(): SDKTheme;
|
|
668
|
+
|
|
622
669
|
/**
|
|
623
670
|
* Identifies a person from an image and returns name and age
|
|
624
671
|
* @param image The image blob to process
|
|
@@ -1286,6 +1333,15 @@ export declare function requestPasswordReset(email: string, applicationToken: st
|
|
|
1286
1333
|
|
|
1287
1334
|
export declare function resetCaptureSession(): void;
|
|
1288
1335
|
|
|
1336
|
+
declare interface ResolvedTheme {
|
|
1337
|
+
mode: ThemeMode;
|
|
1338
|
+
tokens: ThemeTokens;
|
|
1339
|
+
radius: 8 | 16 | 24;
|
|
1340
|
+
accent: string;
|
|
1341
|
+
/** True quando o `accent` do integrador foi rejeitado por contraste. */
|
|
1342
|
+
accentFellBack: boolean;
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1289
1345
|
/**
|
|
1290
1346
|
* Orquestra o fluxo completo:
|
|
1291
1347
|
* 1. Abre `capture/session`
|
|
@@ -1319,6 +1375,12 @@ declare interface SDKConfig {
|
|
|
1319
1375
|
applicationToken: string | null;
|
|
1320
1376
|
environment: Environment | 'custom';
|
|
1321
1377
|
initialized: boolean;
|
|
1378
|
+
appName: string | null;
|
|
1379
|
+
accent: string | null;
|
|
1380
|
+
radius: SDKRadius;
|
|
1381
|
+
theme: SDKTheme;
|
|
1382
|
+
locale: string;
|
|
1383
|
+
resolvedTheme: ResolvedTheme | null;
|
|
1322
1384
|
}
|
|
1323
1385
|
|
|
1324
1386
|
/**
|
|
@@ -1340,8 +1402,42 @@ export declare interface SDKInitOptions {
|
|
|
1340
1402
|
* Obtido através do painel administrativo do NeoFaceID.
|
|
1341
1403
|
*/
|
|
1342
1404
|
applicationToken?: string;
|
|
1405
|
+
/**
|
|
1406
|
+
* Nome do integrador — mostrado no topo dos modais do SDK ("Banco Exemplo" >
|
|
1407
|
+
* NeoFaceID). Obrigatório na prática: omitir gera `console.warn` e cai para o
|
|
1408
|
+
* fallback "sua aplicação".
|
|
1409
|
+
*/
|
|
1410
|
+
appName?: string;
|
|
1411
|
+
/**
|
|
1412
|
+
* Cor de acento do integrador. Pinta APENAS o preenchimento do botão primário.
|
|
1413
|
+
* Nunca o anel de captura, o arco de desafio, os colchetes Focus Frame, os
|
|
1414
|
+
* glifos ou o selo de resultado — o visor precisa ser idêntico em toda parte
|
|
1415
|
+
* para que uma tela falsa não engane.
|
|
1416
|
+
*
|
|
1417
|
+
* Validado em runtime: contraste vs `#FFFFFF` < 4.5 = fallback para `#0059C4`
|
|
1418
|
+
* + `console.warn`. É segurança, não gosto.
|
|
1419
|
+
*/
|
|
1420
|
+
accent?: string;
|
|
1421
|
+
/**
|
|
1422
|
+
* Raio base dos containers. Restrito aos três raios do sistema: 8, 16 ou 24.
|
|
1423
|
+
* Padrão 16. Valor fora dos três permitidos = `console.warn` + fallback 16.
|
|
1424
|
+
*/
|
|
1425
|
+
radius?: SDKRadius;
|
|
1426
|
+
/**
|
|
1427
|
+
* Modo do tema para a superfície dos modais. Padrão `light`. `auto` respeita
|
|
1428
|
+
* `prefers-color-scheme`. O visor de captura é sempre escuro nos dois modos.
|
|
1429
|
+
*/
|
|
1430
|
+
theme?: SDKTheme;
|
|
1431
|
+
/**
|
|
1432
|
+
* Locale da UI. Padrão `pt-BR`.
|
|
1433
|
+
*/
|
|
1434
|
+
locale?: string;
|
|
1343
1435
|
}
|
|
1344
1436
|
|
|
1437
|
+
export declare type SDKRadius = 8 | 16 | 24;
|
|
1438
|
+
|
|
1439
|
+
export declare type SDKTheme = 'light' | 'dark' | 'auto';
|
|
1440
|
+
|
|
1345
1441
|
/**
|
|
1346
1442
|
* Session data interface for external integrations
|
|
1347
1443
|
*/
|
|
@@ -1476,6 +1572,24 @@ export declare interface SubmitLivenessChallengeParams {
|
|
|
1476
1572
|
gestures: GestureResponse[];
|
|
1477
1573
|
}
|
|
1478
1574
|
|
|
1575
|
+
declare type ThemeMode = 'light' | 'dark';
|
|
1576
|
+
|
|
1577
|
+
/** Tokens semânticos por tema — o que os componentes consomem. */
|
|
1578
|
+
declare interface ThemeTokens {
|
|
1579
|
+
ground: string;
|
|
1580
|
+
surface: string;
|
|
1581
|
+
surfaceMuted: string;
|
|
1582
|
+
line: string;
|
|
1583
|
+
text: string;
|
|
1584
|
+
textMuted: string;
|
|
1585
|
+
textSubtle: string;
|
|
1586
|
+
action: string;
|
|
1587
|
+
actionText: string;
|
|
1588
|
+
accent: string;
|
|
1589
|
+
overlay: string;
|
|
1590
|
+
focusRing: string;
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1479
1593
|
/**
|
|
1480
1594
|
* Result of user existence check
|
|
1481
1595
|
*/
|
|
@@ -1512,7 +1626,7 @@ export declare const validateToken: (applicationToken: string) => Promise<boolea
|
|
|
1512
1626
|
* MINOR: Incrementado quando adicionamos funcionalidades mantendo compatibilidade
|
|
1513
1627
|
* PATCH: Incrementado quando corrigimos bugs mantendo compatibilidade
|
|
1514
1628
|
*/
|
|
1515
|
-
export declare const VERSION = "1.
|
|
1629
|
+
export declare const VERSION = "1.31.0";
|
|
1516
1630
|
|
|
1517
1631
|
/**
|
|
1518
1632
|
* Executa `fn(sessionId)`. Se o servidor devolver 410 (sessão consumida/expirada),
|