@arkyc/widget 2.0.0 → 2.1.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/ArkycWidget.d.mts +1 -3
- package/dist/ArkycWidget.d.mts.map +1 -1
- package/dist/WidgetHandler.d.mts +1 -3
- package/dist/WidgetHandler.d.mts.map +1 -1
- package/dist/arkyc-widget.iife.global.js +13 -3
- package/dist/arkyc-widget.iife.global.js.map +1 -1
- package/dist/capture.d.mts +2 -3
- package/dist/capture.d.mts.map +1 -1
- package/dist/client.d.mts +13 -15
- package/dist/client.d.mts.map +1 -1
- package/dist/client.mjs +1 -1
- package/dist/controller.d.mts +1 -3
- package/dist/controller.d.mts.map +1 -1
- package/dist/controller.mjs +1 -1
- package/dist/document.d.mts +9 -10
- package/dist/document.d.mts.map +1 -1
- package/dist/face.d.mts +8 -10
- package/dist/face.d.mts.map +1 -1
- package/dist/flow.d.mts +2 -4
- package/dist/flow.d.mts.map +1 -1
- package/dist/index.d.mts +3 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/realtime.d.mts +6 -6
- package/dist/realtime.d.mts.map +1 -1
- package/dist/realtime.mjs +1 -1
- package/dist/theme.d.mts +1 -3
- package/dist/theme.d.mts.map +1 -1
- package/dist/types.d.mts +16 -16
- package/dist/types.d.mts.map +1 -1
- package/dist/ui.d.mts +4 -3
- package/dist/ui.d.mts.map +1 -1
- package/dist/ui.mjs +4 -3
- package/dist/ui.mjs.map +1 -1
- package/package.json +2 -2
package/dist/capture.d.mts
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* owns the active stream so callers don't track it themselves.
|
|
7
7
|
*/
|
|
8
8
|
/** Which camera to request: `environment` for documents, `user` for selfies. */
|
|
9
|
-
type Facing = 'environment' | 'user';
|
|
10
|
-
declare class Camera {
|
|
9
|
+
export type Facing = 'environment' | 'user';
|
|
10
|
+
export declare class Camera {
|
|
11
11
|
private readonly doc;
|
|
12
12
|
private readonly nav;
|
|
13
13
|
private stream;
|
|
@@ -69,5 +69,4 @@ declare class Camera {
|
|
|
69
69
|
static fileFromInput(input: HTMLInputElement): Blob | null;
|
|
70
70
|
}
|
|
71
71
|
//#endregion
|
|
72
|
-
export { Camera, Facing };
|
|
73
72
|
//# sourceMappingURL=capture.d.mts.map
|
package/dist/capture.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.mts","names":[],"sources":["../src/capture.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"capture.d.mts","names":[],"sources":["../src/capture.ts"],"mappings":";;;;;;;;YAQY;qBAEC;mBAIQ;mBACA;UAJX;EAGW,YAAA,MAAK,UACL,MAAK;;MAIpB;;;;;;;;EAWE,MAAM,OAAO,kBAAkB,QAAQ,SAAS,QAAQ;;;;EAgB9D;;MAMI;;;;;;;;;EAYJ,YAAY,QAAQ;IAAgB,QAAQ,QAAQ;;;;;;;;;;EAyBpD,cAAc,OAAO;IAAqB;IAAoB;IAAkB;;;;;;;;;EA6BhF,UAAU,OAAO,kBAAkB,mBAAiB,QAAQ;;;;;;;SAuBrD,cAAc,OAAO,mBAAmB"}
|
package/dist/client.d.mts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { ApiErrorKey, CaptureModel, DocumentType, LivenessChallenge, LivenessMode, ProjectBranding, VerificationStatus, WorkflowConfig } from "@arkyc/types";
|
|
2
|
-
|
|
3
2
|
//#region src/client.d.ts
|
|
4
3
|
/** The session view exposed by the Client/Widget API (`GET /v1/client/session`). */
|
|
5
|
-
interface ClientSession {
|
|
4
|
+
export interface ClientSession {
|
|
6
5
|
id: string;
|
|
7
6
|
status: VerificationStatus;
|
|
8
7
|
expires_at: string;
|
|
@@ -24,7 +23,7 @@ interface ClientSession {
|
|
|
24
23
|
* (`transport` plus that transport's settings) and the session's own channel.
|
|
25
24
|
* Transports the widget does not stream over mean polling the session instead.
|
|
26
25
|
*/
|
|
27
|
-
interface ClientRealtime {
|
|
26
|
+
export interface ClientRealtime {
|
|
28
27
|
transport: 'pusher' | 'firebase' | 'firebase-database' | 'polling' | 'memory';
|
|
29
28
|
/** The private channel this session's events publish to. */
|
|
30
29
|
channel: string;
|
|
@@ -33,7 +32,7 @@ interface ClientRealtime {
|
|
|
33
32
|
[param: string]: unknown;
|
|
34
33
|
}
|
|
35
34
|
/** Whether (and where) the widget may offer cross-device handoff. */
|
|
36
|
-
interface ClientHandoff {
|
|
35
|
+
export interface ClientHandoff {
|
|
37
36
|
enabled: boolean;
|
|
38
37
|
/** Whether a desktop user may continue on the desktop device instead of handing off. */
|
|
39
38
|
allow_desktop: boolean;
|
|
@@ -44,7 +43,7 @@ interface ClientHandoff {
|
|
|
44
43
|
* Mock-driver signal hints. Real provider drivers ignore these; the `mock`
|
|
45
44
|
* drivers use them to make the demo/playground flow deterministic.
|
|
46
45
|
*/
|
|
47
|
-
interface ProviderSignalHints {
|
|
46
|
+
export interface ProviderSignalHints {
|
|
48
47
|
quality_score?: number;
|
|
49
48
|
ocr_confidence?: number;
|
|
50
49
|
expired?: boolean;
|
|
@@ -57,7 +56,7 @@ interface ProviderSignalHints {
|
|
|
57
56
|
address_passed?: boolean;
|
|
58
57
|
}
|
|
59
58
|
/** Input for the address-verification submission (opt-in stage). */
|
|
60
|
-
interface AddressInput {
|
|
59
|
+
export interface AddressInput {
|
|
61
60
|
/** The claimed address the user entered. */
|
|
62
61
|
line1?: string | null;
|
|
63
62
|
line2?: string | null;
|
|
@@ -74,20 +73,20 @@ interface AddressInput {
|
|
|
74
73
|
signals?: ProviderSignalHints;
|
|
75
74
|
}
|
|
76
75
|
/** Input for the document-front submission. */
|
|
77
|
-
interface DocumentFrontInput {
|
|
76
|
+
export interface DocumentFrontInput {
|
|
78
77
|
image?: Blob | null;
|
|
79
78
|
country?: string | null;
|
|
80
79
|
documentType?: DocumentType | null;
|
|
81
80
|
signals?: ProviderSignalHints;
|
|
82
81
|
}
|
|
83
82
|
/** Input for the document-back submission. */
|
|
84
|
-
interface DocumentBackInput {
|
|
83
|
+
export interface DocumentBackInput {
|
|
85
84
|
image?: Blob | null;
|
|
86
85
|
country?: string | null;
|
|
87
86
|
documentType?: DocumentType | null;
|
|
88
87
|
}
|
|
89
88
|
/** Input for the liveness submission (passive selfie or active challenge video). */
|
|
90
|
-
interface LivenessInput {
|
|
89
|
+
export interface LivenessInput {
|
|
91
90
|
selfie?: Blob | null;
|
|
92
91
|
/** Recorded challenge video (active mode). */
|
|
93
92
|
video?: Blob | null;
|
|
@@ -98,13 +97,13 @@ interface LivenessInput {
|
|
|
98
97
|
signals?: ProviderSignalHints;
|
|
99
98
|
}
|
|
100
99
|
/** Input for completing the session (runs face-match + decision). */
|
|
101
|
-
interface CompleteInput {
|
|
100
|
+
export interface CompleteInput {
|
|
102
101
|
signals?: ProviderSignalHints;
|
|
103
102
|
}
|
|
104
103
|
/**
|
|
105
104
|
* Raised when the Client API returns a non-2xx response.
|
|
106
105
|
*/
|
|
107
|
-
declare class WidgetApiError extends Error {
|
|
106
|
+
export declare class WidgetApiError extends Error {
|
|
108
107
|
readonly status: number;
|
|
109
108
|
/**
|
|
110
109
|
* Stable error key (e.g. `session_expired`) for errors Arkyc
|
|
@@ -114,9 +113,9 @@ declare class WidgetApiError extends Error {
|
|
|
114
113
|
constructor(message: string, status: number, error?: ApiErrorKey);
|
|
115
114
|
}
|
|
116
115
|
/** Where {@link ArkycClient} keeps this browser's device token between page loads. */
|
|
117
|
-
type ClientTokenStorage = Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>;
|
|
116
|
+
export type ClientTokenStorage = Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>;
|
|
118
117
|
/** Options for {@link ArkycClient}. */
|
|
119
|
-
interface ArkycClientOptions {
|
|
118
|
+
export interface ArkycClientOptions {
|
|
120
119
|
/**
|
|
121
120
|
* The session's single-use launch token (from session creation) or a handoff
|
|
122
121
|
* token (from a cross-device QR code). The client exchanges it for this
|
|
@@ -146,7 +145,7 @@ interface ArkycClientOptions {
|
|
|
146
145
|
* single verification session with a short-lived client token. All responses
|
|
147
146
|
* are unwrapped from the standard `{ status, message, data }` envelope.
|
|
148
147
|
*/
|
|
149
|
-
declare class ArkycClient {
|
|
148
|
+
export declare class ArkycClient {
|
|
150
149
|
private readonly token;
|
|
151
150
|
private readonly baseUrl;
|
|
152
151
|
private readonly fetchImpl;
|
|
@@ -225,5 +224,4 @@ declare class ArkycClient {
|
|
|
225
224
|
private send;
|
|
226
225
|
}
|
|
227
226
|
//#endregion
|
|
228
|
-
export { ArkycClient, ArkycClientOptions, ClientRealtime, ClientSession, ProviderSignalHints, WidgetApiError };
|
|
229
227
|
//# sourceMappingURL=client.d.mts.map
|
package/dist/client.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.mts","names":[],"sources":["../src/client.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.mts","names":[],"sources":["../src/client.ts"],"mappings":";;;iBAYiB;EACf;EACA,QAAQ;EACR;;EAEA,gBAAgB;;EAEhB,sBAAsB;;EAEtB,UAAU;;EAEV,WAAW;;EAEX,WAAW;;EAEX,WAAW;;;;;;;iBAQI;EACf;;EAEA;EACA,SAAS;EACT,sBAAsB;GACrB;;;iBAIc;EACf;;EAEA;;EAEA;;;;;;iBAOe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;iBAIe;;EAEf;EACA;EACA;EACA;EACA;;EAEA;;EAEA,MAAM;;EAEN;EACA;EACA,UAAU;;;iBAIK;EACf,QAAQ;EACR;EACA,eAAe;EACf,UAAU;;;iBAIK;EACf,QAAQ;EACR;EACA,eAAe;;;iBAIA;EACf,SAAS;;EAET,QAAQ;;EAER,OAAO;;EAEP,aAAa;EACb,UAAU;;;iBAIK;EACf,UAAU;;;;;qBAMC,uBAAuB;WACzB;;;;;WAKA,QAAQ;EAEL,YAAA,iBAAiB,gBAAgB,QAAQ;;;YAS3C,qBAAqB,KAAK;;iBAGrB;;;;;;EAMf;;;;;;;;;;EAUA;;EAEA,eAAe;;;;;EAKf,UAAU;;;;;;;qBAqEC;mBACM;mBACA;mBACA;mBACA;UACT;EAEI,YAAA,SAAS;;;;;;;EAgBrB,aAAa;;;;;;EAcP,sBAAsB;;;;;;;;MAaxB;;;;;;EASJ,cAAc,QAAQ;;;;;;;EAUtB,oBAAoB,OAAO,qBAAqB,QAAQ;;;;;;;EAexD,mBAAmB,OAAO,oBAAoB,QAAQ;;;;;;;EActD,eAAe,OAAO,gBAAgB,QAAQ;;;;;;;;EAiB9C,cAAc,OAAO,eAAe,QAAQ;;;;;;;EA0B5C,SAAS,QAAO,gBAAqB,QAAQ;UAI/B;;cAKF;UAIE;UAUN;UAgBA;UAQM"}
|
package/dist/client.mjs
CHANGED
package/dist/controller.d.mts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { WidgetControllerConfig, WidgetEventListener, WidgetEventName } from "./types.mjs";
|
|
2
|
-
|
|
3
2
|
//#region src/controller.d.ts
|
|
4
|
-
declare class WidgetController {
|
|
3
|
+
export declare class WidgetController {
|
|
5
4
|
private readonly config;
|
|
6
5
|
private readonly client;
|
|
7
6
|
private readonly view;
|
|
@@ -184,5 +183,4 @@ declare class WidgetController {
|
|
|
184
183
|
private post;
|
|
185
184
|
}
|
|
186
185
|
//#endregion
|
|
187
|
-
export { WidgetController };
|
|
188
186
|
//# sourceMappingURL=controller.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.mts","names":[],"sources":["../src/controller.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.d.mts","names":[],"sources":["../src/controller.ts"],"mappings":";;qBAgFa;mBAmDkB;mBAlDZ;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;;UAGT;UACA;UACA;;UAGA;UACA;UACA;UACA;;UAEA;;UAEA;;UAEA;UAEA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;;UAEA;;UAEA;UACA;;UAEA;;UAEA;UACA;UACA;EAEqB,YAAA,QAAQ;;MAkCjC,WAAW;;EAKf;;EAMA;;EAKA;;;;;EAQA,GAAG,UAAU,iBAAiB,OAAO,GAAG,UAAU,oBAAoB;;UAS9D;;;;;;UAYA;;UAQA;;UAoBA;;;;;;UAgBM;UAuBN;;;;;;UAwCM;;UA2BN;;UAKM;;;;;;;;;UAkBN;;;;;;;UAWM;;;;;;;;;;;;UA8CN;;;;;;UAgDA;UAWM;;;;;;;UA8BA;;;;;UAwCA;UAkBN;;;;;;UAWA;UAoBA;;;;;;;UAwBM;;UAYA;;;;;;UAWA;;;;;;;;UAyBN;UAaA;UAQA;;UAKM;UAQN;;UAwBA;UAMA;UAmBA;;UAaA;UAMA"}
|
package/dist/controller.mjs
CHANGED
|
@@ -734,6 +734,6 @@ const buildController = (options, onSettle) => {
|
|
|
734
734
|
});
|
|
735
735
|
};
|
|
736
736
|
//#endregion
|
|
737
|
-
export { adoptContainer, buildController, resolveContainer };
|
|
737
|
+
export { WidgetController, adoptContainer, buildController, composeHandoffUrl, resolveContainer };
|
|
738
738
|
|
|
739
739
|
//# sourceMappingURL=controller.mjs.map
|
package/dist/document.d.mts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* grayscale buffer, so it is unit-testable without a real canvas or camera.
|
|
13
13
|
*/
|
|
14
14
|
/** Detected document rectangle, normalized 0–1 within the frame. */
|
|
15
|
-
interface DocRect {
|
|
15
|
+
export interface DocRect {
|
|
16
16
|
x: number;
|
|
17
17
|
y: number;
|
|
18
18
|
w: number;
|
|
@@ -21,7 +21,7 @@ interface DocRect {
|
|
|
21
21
|
/**
|
|
22
22
|
* A normalized read of the current frame's document candidate.
|
|
23
23
|
*/
|
|
24
|
-
interface DocumentSample {
|
|
24
|
+
export interface DocumentSample {
|
|
25
25
|
/** A plausible rectangular document border was found. */
|
|
26
26
|
present: boolean;
|
|
27
27
|
/** The detected border rectangle (normalized 0–1). */
|
|
@@ -37,7 +37,7 @@ interface DocumentSample {
|
|
|
37
37
|
/** Mean luminance, 0–1. */
|
|
38
38
|
brightness: number;
|
|
39
39
|
}
|
|
40
|
-
interface DocumentAnalyzer {
|
|
40
|
+
export interface DocumentAnalyzer {
|
|
41
41
|
/** Prepare the canvas. Resolves `false` if unavailable — callers go manual. */
|
|
42
42
|
ready(): Promise<boolean>;
|
|
43
43
|
/** Analyze the current video frame, or `null` if it can't be read. */
|
|
@@ -50,7 +50,7 @@ interface DocumentAnalyzer {
|
|
|
50
50
|
* tuning, the geometric/strength knobs benefit from calibration against real
|
|
51
51
|
* devices and lighting.
|
|
52
52
|
*/
|
|
53
|
-
interface DocumentTuning {
|
|
53
|
+
export interface DocumentTuning {
|
|
54
54
|
/** Width (px) the frame is downscaled to before analysis. */
|
|
55
55
|
sampleWidth: number;
|
|
56
56
|
/** Min / max rectangle area (fraction of frame) — too small = far, too big = cropped. */
|
|
@@ -69,7 +69,7 @@ interface DocumentTuning {
|
|
|
69
69
|
/** Consecutive "ready" frames before auto-capture fires. */
|
|
70
70
|
hold: number;
|
|
71
71
|
}
|
|
72
|
-
declare const DEFAULT_DOCUMENT_TUNING: DocumentTuning;
|
|
72
|
+
export declare const DEFAULT_DOCUMENT_TUNING: DocumentTuning;
|
|
73
73
|
/**
|
|
74
74
|
* Locate the dominant rectangle in a grayscale frame via Sobel edge projection,
|
|
75
75
|
* and measure focus and brightness. Pure — operates on a grayscale buffer.
|
|
@@ -77,14 +77,14 @@ declare const DEFAULT_DOCUMENT_TUNING: DocumentTuning;
|
|
|
77
77
|
* @param tuning
|
|
78
78
|
* @returns
|
|
79
79
|
*/
|
|
80
|
-
declare function analyzeDocumentGray(gray: ArrayLike<number>, w: number, h: number): DocumentSample;
|
|
80
|
+
export declare function analyzeDocumentGray(gray: ArrayLike<number>, w: number, h: number): DocumentSample;
|
|
81
81
|
/**
|
|
82
82
|
* Whether a document is present, well-framed and in focus, with a guidance hint.
|
|
83
83
|
*
|
|
84
84
|
* @param tuning
|
|
85
85
|
* @returns
|
|
86
86
|
*/
|
|
87
|
-
declare function documentGuidance(s: DocumentSample, t?: DocumentTuning): {
|
|
87
|
+
export declare function documentGuidance(s: DocumentSample, t?: DocumentTuning): {
|
|
88
88
|
ready: boolean;
|
|
89
89
|
hint: string;
|
|
90
90
|
};
|
|
@@ -95,14 +95,13 @@ declare function documentGuidance(s: DocumentSample, t?: DocumentTuning): {
|
|
|
95
95
|
* @param t
|
|
96
96
|
* @returns
|
|
97
97
|
*/
|
|
98
|
-
declare function isDocumentReady(s: DocumentSample, t?: DocumentTuning): boolean;
|
|
98
|
+
export declare function isDocumentReady(s: DocumentSample, t?: DocumentTuning): boolean;
|
|
99
99
|
/**
|
|
100
100
|
* The default (canvas edge-projection) document analyzer.
|
|
101
101
|
*
|
|
102
102
|
* @param tuning
|
|
103
103
|
* @returns
|
|
104
104
|
*/
|
|
105
|
-
declare function createDefaultDocumentAnalyzer(tuning?: DocumentTuning): DocumentAnalyzer;
|
|
105
|
+
export declare function createDefaultDocumentAnalyzer(tuning?: DocumentTuning): DocumentAnalyzer;
|
|
106
106
|
//#endregion
|
|
107
|
-
export { DEFAULT_DOCUMENT_TUNING, DocRect, DocumentAnalyzer, DocumentSample, DocumentTuning, analyzeDocumentGray, createDefaultDocumentAnalyzer, documentGuidance, isDocumentReady };
|
|
108
107
|
//# sourceMappingURL=document.d.mts.map
|
package/dist/document.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.mts","names":[],"sources":["../src/document.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"document.d.mts","names":[],"sources":["../src/document.ts"],"mappings":";;;;;;;;;;;;;;iBAciB;EACf;EACA;EACA;EACA;;;;;iBAMe;;EAEf;;EAEA,MAAM;;EAEN;EACA;EACA;;EAEA;;EAEA;;EAEA;;iBAGe;;EAEf,SAAS;;EAET,QAAQ,OAAO,mBAAmB;;EAElC;;;;;;;iBAQe;;EAEf;;EAEA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;qBAGW,yBAAyB;;;;;;;;wBA6CtB,oBAAoB,MAAM,mBAAmB,WAAW,YAAY;;;;;;;wBAgGpE,iBACd,GAAG,gBACH,IAAG;EACA;EAAgB;;;;;;;;;wBAuBL,gBAAgB,GAAG,gBAAgB,IAAG;;;;;;;wBAwDtC,8BAA8B,SAAQ,iBAA2C"}
|
package/dist/face.d.mts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { LivenessChallenge } from "@arkyc/types";
|
|
2
|
-
|
|
3
2
|
//#region src/face.d.ts
|
|
4
3
|
/** A normalized read of the current frame's face. */
|
|
5
|
-
interface FaceSample {
|
|
4
|
+
export interface FaceSample {
|
|
6
5
|
present: boolean;
|
|
7
6
|
/** Face bounding-box centre, normalized 0–1. */
|
|
8
7
|
centerX: number;
|
|
@@ -18,7 +17,7 @@ interface FaceSample {
|
|
|
18
17
|
/** Smile score 0–1 (blendshape). */
|
|
19
18
|
smile: number;
|
|
20
19
|
}
|
|
21
|
-
interface FaceAnalyzer {
|
|
20
|
+
export interface FaceAnalyzer {
|
|
22
21
|
/** Load models. Resolves `false` if unavailable — callers then go manual. */
|
|
23
22
|
ready(): Promise<boolean>;
|
|
24
23
|
/** Analyze the current video frame, or `null` if it can't be read. */
|
|
@@ -27,9 +26,9 @@ interface FaceAnalyzer {
|
|
|
27
26
|
close(): void;
|
|
28
27
|
}
|
|
29
28
|
/** The default (real, MediaPipe-backed) analyzer. */
|
|
30
|
-
declare function createDefaultFaceAnalyzer(): FaceAnalyzer;
|
|
29
|
+
export declare function createDefaultFaceAnalyzer(): FaceAnalyzer;
|
|
31
30
|
/** A challenge detector: fed frame samples, returns `true` once satisfied. */
|
|
32
|
-
interface ChallengeDetector {
|
|
31
|
+
export interface ChallengeDetector {
|
|
33
32
|
feed(sample: FaceSample): boolean;
|
|
34
33
|
/**
|
|
35
34
|
* 0–1 progress toward satisfying the challenge, updated on each `feed` — drives
|
|
@@ -43,7 +42,7 @@ interface ChallengeDetector {
|
|
|
43
42
|
* use the calibration harness (`playground/calibration.html`) to read live
|
|
44
43
|
* signal values and adjust. All are overridable per-widget via `faceTuning`.
|
|
45
44
|
*/
|
|
46
|
-
interface FaceTuning {
|
|
45
|
+
export interface FaceTuning {
|
|
47
46
|
/** |turn| asymmetry needed to count as a head turn. */
|
|
48
47
|
turn: number;
|
|
49
48
|
/** Mouth-smile blendshape score needed to count as a smile. */
|
|
@@ -66,7 +65,7 @@ interface FaceTuning {
|
|
|
66
65
|
selfieMinScale: number;
|
|
67
66
|
selfieMaxScale: number;
|
|
68
67
|
}
|
|
69
|
-
declare const DEFAULT_TUNING: FaceTuning;
|
|
68
|
+
export declare const DEFAULT_TUNING: FaceTuning;
|
|
70
69
|
/**
|
|
71
70
|
* Build a stateful detector for a single active-liveness challenge.
|
|
72
71
|
*
|
|
@@ -74,9 +73,8 @@ declare const DEFAULT_TUNING: FaceTuning;
|
|
|
74
73
|
* @param t
|
|
75
74
|
* @returns
|
|
76
75
|
*/
|
|
77
|
-
declare function makeChallengeDetector(challenge: LivenessChallenge, t?: FaceTuning): ChallengeDetector;
|
|
76
|
+
export declare function makeChallengeDetector(challenge: LivenessChallenge, t?: FaceTuning): ChallengeDetector;
|
|
78
77
|
/** Whether a face is well-framed for a selfie (present, centred, right distance). */
|
|
79
|
-
declare function isSelfieReady(s: FaceSample, t?: FaceTuning): boolean;
|
|
78
|
+
export declare function isSelfieReady(s: FaceSample, t?: FaceTuning): boolean;
|
|
80
79
|
//#endregion
|
|
81
|
-
export { ChallengeDetector, DEFAULT_TUNING, FaceAnalyzer, FaceSample, FaceTuning, createDefaultFaceAnalyzer, isSelfieReady, makeChallengeDetector };
|
|
82
80
|
//# sourceMappingURL=face.d.mts.map
|
package/dist/face.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"face.d.mts","names":[],"sources":["../src/face.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"face.d.mts","names":[],"sources":["../src/face.ts"],"mappings":";;;iBAaiB;EACf;;EAEA;EACA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;iBAGe;;EAEf,SAAS;;EAET,QAAQ,OAAO,mBAAmB;;EAElC;;;wBAqJc,6BAA6B;;iBAK5B;EACf,KAAK,QAAQ;;;;;;WAMJ;;;;;;;iBAQM;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;EACA;EACA;EACA;;qBAGW,gBAAgB;;;;;;;;wBAsBb,sBAAsB,WAAW,mBAAmB,IAAG,aAA8B;;wBAsGrF,cAAc,GAAG,YAAY,IAAG"}
|
package/dist/flow.d.mts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { DocumentType, LivenessMode, VerificationDecision, VerificationStatus, WidgetStep, WorkflowConfig } from "@arkyc/types";
|
|
2
|
-
|
|
3
2
|
//#region src/flow.d.ts
|
|
4
3
|
/** Context that influences flow branching. */
|
|
5
|
-
interface FlowContext {
|
|
4
|
+
export interface FlowContext {
|
|
6
5
|
documentType?: DocumentType | null;
|
|
7
6
|
/** Which liveness flow this session runs (resolved from the capture model). */
|
|
8
7
|
livenessMode?: LivenessMode;
|
|
@@ -13,7 +12,7 @@ interface FlowContext {
|
|
|
13
12
|
* The verification flow's step machine. Stateless — exposed as static members so
|
|
14
13
|
* the single "flow" concern lives in one class rather than as floating helpers.
|
|
15
14
|
*/
|
|
16
|
-
declare class Flow {
|
|
15
|
+
export declare class Flow {
|
|
17
16
|
/**
|
|
18
17
|
* The flow screens, in the order the widget walks them. The `back_capture`
|
|
19
18
|
* screen is skipped for single-sided documents (passports).
|
|
@@ -70,5 +69,4 @@ declare class Flow {
|
|
|
70
69
|
static statusToDecision(status: VerificationStatus): VerificationDecision | null;
|
|
71
70
|
}
|
|
72
71
|
//#endregion
|
|
73
|
-
export { Flow, FlowContext };
|
|
74
72
|
//# sourceMappingURL=flow.d.mts.map
|
package/dist/flow.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.d.mts","names":[],"sources":["../src/flow.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"flow.d.mts","names":[],"sources":["../src/flow.ts"],"mappings":";;;iBAaiB;EACf,eAAe;;EAEf,eAAe;;EAEf,WAAW;;;;;;qBAgBA;;;;;kBAKK,YAAY;;;;kBAiBZ,mBAAmB;;;;;;;SAc5B,gBAAgB,MAAM;;;;;;;SAUtB,UAAU,MAAK,cAAmB;;;;;;;;;SAelC,cAAc,MAAM,YAAY,MAAK;;;;;;;;;SAkBrC,SAAS,SAAS,YAAY,MAAK,cAAmB;;;;;;;SAiBtD,WAAW,QAAQ;;;;;;SASnB,iBAAiB,QAAQ,qBAAqB"}
|
package/dist/index.d.mts
CHANGED
|
@@ -10,10 +10,9 @@ import { Flow, FlowContext } from "./flow.mjs";
|
|
|
10
10
|
import { ArkycWidget } from "./ArkycWidget.mjs";
|
|
11
11
|
import { WidgetHandler } from "./WidgetHandler.mjs";
|
|
12
12
|
import { ApiErrorKey, WidgetResult } from "@arkyc/types";
|
|
13
|
-
|
|
14
13
|
//#region src/index.d.ts
|
|
15
|
-
declare const PACKAGE_NAME = "@arkyc/widget";
|
|
16
|
-
declare const VERSION = "0.1.0";
|
|
14
|
+
export declare const PACKAGE_NAME = "@arkyc/widget";
|
|
15
|
+
export declare const VERSION = "0.1.0";
|
|
17
16
|
//#endregion
|
|
18
|
-
export { type ApiErrorKey, ArkycClient, type ArkycClientOptions, ArkycWidget, BaseWidgetOptions, Camera, type ChallengeDetector, type ClientRealtime, type ClientSession, DEFAULT_DOCUMENT_TUNING, DEFAULT_TUNING, type DocRect, type DocumentAnalyzer, type DocumentSample, type DocumentTuning, type FaceAnalyzer, type FaceSample, type FaceTuning, type Facing, Flow, type FlowContext, MountWidgetOptions,
|
|
17
|
+
export { type ApiErrorKey, ArkycClient, type ArkycClientOptions, ArkycWidget, BaseWidgetOptions, Camera, type ChallengeDetector, type ClientRealtime, type ClientSession, DEFAULT_DOCUMENT_TUNING, DEFAULT_TUNING, type DocRect, type DocumentAnalyzer, type DocumentSample, type DocumentTuning, type FaceAnalyzer, type FaceSample, type FaceTuning, type Facing, Flow, type FlowContext, MountWidgetOptions, type ProviderSignalHints, RgbData, Theme, ViewHandlers, WidgetApiError, type WidgetController, WidgetControllerConfig, WidgetErrorData, WidgetEvent, WidgetEventListener, WidgetEventMap, WidgetEventName, WidgetHandle, WidgetHandler, type WidgetRealtimeClient, type WidgetRealtimeFactory, type WidgetRealtimeHandler, type WidgetResult, WidgetSessionTransitionData, analyzeDocumentGray, createDefaultDocumentAnalyzer, createDefaultFaceAnalyzer, createWidgetRealtimeClient, documentGuidance, isDocumentReady, isSelfieReady, makeChallengeDetector };
|
|
19
18
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;;;qBAAa;qBACA"}
|
package/dist/realtime.d.mts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ClientRealtime } from "./client.mjs";
|
|
2
|
+
import "@arkstack/realtime";
|
|
2
3
|
//#region src/realtime.d.ts
|
|
3
4
|
/** Fires for every event received on a subscribed channel. */
|
|
4
|
-
type WidgetRealtimeHandler = (event: string, data: unknown) => void;
|
|
5
|
+
export type WidgetRealtimeHandler = (event: string, data: unknown) => void;
|
|
5
6
|
/** A connected push transport. `subscribe` returns an unsubscribe function. */
|
|
6
|
-
interface WidgetRealtimeClient {
|
|
7
|
+
export interface WidgetRealtimeClient {
|
|
7
8
|
subscribe(channel: string, handler: WidgetRealtimeHandler): () => void;
|
|
8
9
|
disconnect(): void;
|
|
9
10
|
}
|
|
10
11
|
/** A factory that builds a push client from the session's realtime config. */
|
|
11
|
-
type WidgetRealtimeFactory = (config: ClientRealtime, options: WidgetRealtimeOptions) => Promise<WidgetRealtimeClient | null>;
|
|
12
|
-
interface WidgetRealtimeOptions {
|
|
12
|
+
export type WidgetRealtimeFactory = (config: ClientRealtime, options: WidgetRealtimeOptions) => Promise<WidgetRealtimeClient | null>;
|
|
13
|
+
export interface WidgetRealtimeOptions {
|
|
13
14
|
/** The client-token channel-auth endpoint. */
|
|
14
15
|
authEndpoint: string;
|
|
15
16
|
/** The session's client token (sent as `X-Client-Token` to the authorizer). */
|
|
@@ -25,7 +26,6 @@ interface WidgetRealtimeOptions {
|
|
|
25
26
|
* @param options
|
|
26
27
|
* @returns
|
|
27
28
|
*/
|
|
28
|
-
declare function createWidgetRealtimeClient(config: ClientRealtime, options: WidgetRealtimeOptions): Promise<WidgetRealtimeClient | null>;
|
|
29
|
+
export declare function createWidgetRealtimeClient(config: ClientRealtime, options: WidgetRealtimeOptions): Promise<WidgetRealtimeClient | null>;
|
|
29
30
|
//#endregion
|
|
30
|
-
export { WidgetRealtimeClient, WidgetRealtimeFactory, WidgetRealtimeHandler, createWidgetRealtimeClient };
|
|
31
31
|
//# sourceMappingURL=realtime.d.mts.map
|
package/dist/realtime.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.mts","names":[],"sources":["../src/realtime.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"realtime.d.mts","names":[],"sources":["../src/realtime.ts"],"mappings":";;;;YAKY,yBAAyB,eAAe;;iBAGnC;EACf,UAAU,iBAAiB,SAAS;EACpC;;;YAIU,yBACV,QAAQ,gBACR,SAAS,0BACN,QAAQ;iBAEI;;EAEf;;EAEA;;;;;;;;;;;;wBA8CoB,2BACpB,QAAQ,gBACR,SAAS,wBACR,QAAQ"}
|
package/dist/realtime.mjs
CHANGED
package/dist/theme.d.mts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { RgbData } from "./types.mjs";
|
|
2
2
|
import { ProjectBranding } from "@arkyc/types";
|
|
3
|
-
|
|
4
3
|
//#region src/theme.d.ts
|
|
5
4
|
/**
|
|
6
5
|
* Resolves project branding into a concrete theme and renders its CSS. One class
|
|
7
6
|
* owns the whole "theme" concern: defaulted colour/logo/radius values plus the
|
|
8
7
|
* CSS-variable block and stylesheet derived from them.
|
|
9
8
|
*/
|
|
10
|
-
declare class Theme {
|
|
9
|
+
export declare class Theme {
|
|
11
10
|
readonly primaryColor: string;
|
|
12
11
|
readonly borderRadius: number;
|
|
13
12
|
readonly mode: 'light' | 'dark';
|
|
@@ -45,5 +44,4 @@ declare class Theme {
|
|
|
45
44
|
}): RgbData;
|
|
46
45
|
}
|
|
47
46
|
//#endregion
|
|
48
|
-
export { Theme };
|
|
49
47
|
//# sourceMappingURL=theme.d.mts.map
|
package/dist/theme.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.mts","names":[],"sources":["../src/theme.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme.d.mts","names":[],"sources":["../src/theme.ts"],"mappings":";;;;;;;;qBAuBa;WACF;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;EAEG,YAAA,WAAW;;;;;;EAmBvB;;;;;;EAgBA;SAIO,IAAI;IAAK;MAAyB;EAWzC,IAAI;IAAK;MAAyB"}
|
package/dist/types.d.mts
CHANGED
|
@@ -4,9 +4,8 @@ import { AddressFormData } from "./ui.mjs";
|
|
|
4
4
|
import { ProviderSignalHints } from "./client.mjs";
|
|
5
5
|
import { WidgetRealtimeFactory } from "./realtime.mjs";
|
|
6
6
|
import { DocumentType, LivenessChallenge, ProjectBranding, SessionTransitionEvent, WidgetResult } from "@arkyc/types";
|
|
7
|
-
|
|
8
7
|
//#region src/types.d.ts
|
|
9
|
-
interface RgbData {
|
|
8
|
+
export interface RgbData {
|
|
10
9
|
obj: {
|
|
11
10
|
r: number;
|
|
12
11
|
g: number;
|
|
@@ -19,13 +18,13 @@ interface RgbData {
|
|
|
19
18
|
* from the configured transport (pusher/firebase/polling). A widget-scoped
|
|
20
19
|
* subset of the server's {@link SessionTransitionEvent} (no org/project ids).
|
|
21
20
|
*/
|
|
22
|
-
type WidgetSessionTransitionData = Pick<SessionTransitionEvent, 'session_id' | 'status' | 'previous_status'>;
|
|
21
|
+
export type WidgetSessionTransitionData = Pick<SessionTransitionEvent, 'session_id' | 'status' | 'previous_status'>;
|
|
23
22
|
/**
|
|
24
23
|
* Payload for `error` — a non-terminal failure surfaced as it happens (an
|
|
25
24
|
* expired session/token becomes knowable without waiting for the user to
|
|
26
25
|
* dismiss the screen). `status`/`error` are present only for typed API errors.
|
|
27
26
|
*/
|
|
28
|
-
interface WidgetErrorData {
|
|
27
|
+
export interface WidgetErrorData {
|
|
29
28
|
/** Human-readable failure message. */
|
|
30
29
|
message: string;
|
|
31
30
|
/** HTTP status code, when the failure came from a typed API error. */
|
|
@@ -39,7 +38,7 @@ interface WidgetErrorData {
|
|
|
39
38
|
* {@link WidgetEvent}, {@link WidgetEventListener}, and {@link WidgetHandle.on}
|
|
40
39
|
* are all derived from it, so a listener's `data` is typed from the name.
|
|
41
40
|
*/
|
|
42
|
-
interface WidgetEventMap {
|
|
41
|
+
export interface WidgetEventMap {
|
|
43
42
|
/** Live status change (fires on every real transition, once per change). */
|
|
44
43
|
'session.transition': WidgetSessionTransitionData;
|
|
45
44
|
/** The flow settled successfully; carries the final verification result. */
|
|
@@ -50,25 +49,27 @@ interface WidgetEventMap {
|
|
|
50
49
|
close: undefined;
|
|
51
50
|
}
|
|
52
51
|
/** A widget event name — one of the keys of {@link WidgetEventMap}. */
|
|
53
|
-
type WidgetEventName = keyof WidgetEventMap;
|
|
52
|
+
export type WidgetEventName = keyof WidgetEventMap;
|
|
54
53
|
/**
|
|
55
54
|
* An event surfaced to consumers through `onEvent`. Discriminated on `name`, so
|
|
56
55
|
* a `switch (event.name)` narrows `event.data` to the matching payload. The
|
|
57
56
|
* stream is a firehose: `session.transition` (live status changes) plus the
|
|
58
57
|
* lifecycle events `complete` / `error` / `close`.
|
|
59
58
|
*/
|
|
60
|
-
type WidgetEvent = { [K in WidgetEventName]: {
|
|
61
|
-
/** Event name (discriminant). */
|
|
59
|
+
export type WidgetEvent = { [K in WidgetEventName]: {
|
|
60
|
+
/** Event name (discriminant). */
|
|
61
|
+
name: K;
|
|
62
|
+
/** Event payload for this `name` (see {@link WidgetEventMap}). */
|
|
62
63
|
data: WidgetEventMap[K];
|
|
63
|
-
} }[WidgetEventName];
|
|
64
|
+
}; }[WidgetEventName];
|
|
64
65
|
/**
|
|
65
66
|
* Subscribe callback for a single named widget event; receives that event's
|
|
66
67
|
* payload (typed from the name via {@link WidgetEventMap}). Defaults to the
|
|
67
68
|
* union of all payloads when the name isn't fixed.
|
|
68
69
|
*/
|
|
69
|
-
type WidgetEventListener<K extends WidgetEventName = WidgetEventName> = (data: WidgetEventMap[K]) => void;
|
|
70
|
+
export type WidgetEventListener<K extends WidgetEventName = WidgetEventName> = (data: WidgetEventMap[K]) => void;
|
|
70
71
|
/** Configuration for a {@link WidgetController}. */
|
|
71
|
-
interface WidgetControllerConfig {
|
|
72
|
+
export interface WidgetControllerConfig {
|
|
72
73
|
/** Short-lived client token for this session. */
|
|
73
74
|
token: string;
|
|
74
75
|
/** API origin (defaults to the widget's own origin). */
|
|
@@ -133,7 +134,7 @@ interface WidgetControllerConfig {
|
|
|
133
134
|
maxHandoffPolls?: number;
|
|
134
135
|
}
|
|
135
136
|
/** Common options shared by every launch mode. */
|
|
136
|
-
interface BaseWidgetOptions {
|
|
137
|
+
export interface BaseWidgetOptions {
|
|
137
138
|
/** Short-lived client token minted by the integrator's backend. */
|
|
138
139
|
token: string;
|
|
139
140
|
/** API origin (defaults to the page's own origin). */
|
|
@@ -182,12 +183,12 @@ interface BaseWidgetOptions {
|
|
|
182
183
|
documentTuning?: DocumentTuning;
|
|
183
184
|
}
|
|
184
185
|
/** Options for {@link ArkycWidget.mount} (inline mode). */
|
|
185
|
-
interface MountWidgetOptions extends BaseWidgetOptions {
|
|
186
|
+
export interface MountWidgetOptions extends BaseWidgetOptions {
|
|
186
187
|
/** Element (or selector) to mount the widget into. */
|
|
187
188
|
container: string | HTMLElement;
|
|
188
189
|
}
|
|
189
190
|
/** A handle to an open/mounted widget. */
|
|
190
|
-
interface WidgetHandle {
|
|
191
|
+
export interface WidgetHandle {
|
|
191
192
|
/** Close the widget and release the camera (fires `onClose`). */
|
|
192
193
|
close: () => void;
|
|
193
194
|
/**
|
|
@@ -200,7 +201,7 @@ interface WidgetHandle {
|
|
|
200
201
|
on: <K extends WidgetEventName>(event: K, listener: WidgetEventListener<K>) => () => void;
|
|
201
202
|
}
|
|
202
203
|
/** High-level events the view raises back to the controller. */
|
|
203
|
-
interface ViewHandlers {
|
|
204
|
+
export interface ViewHandlers {
|
|
204
205
|
onClose(): void;
|
|
205
206
|
onStart(): void;
|
|
206
207
|
onDocumentSelected(type: DocumentType, country: string): void;
|
|
@@ -223,5 +224,4 @@ interface ViewHandlers {
|
|
|
223
224
|
onShareLocation(): boolean | Promise<boolean>;
|
|
224
225
|
}
|
|
225
226
|
//#endregion
|
|
226
|
-
export { BaseWidgetOptions, MountWidgetOptions, RgbData, ViewHandlers, WidgetControllerConfig, WidgetErrorData, WidgetEvent, WidgetEventListener, WidgetEventMap, WidgetEventName, WidgetHandle, WidgetSessionTransitionData };
|
|
227
227
|
//# sourceMappingURL=types.d.mts.map
|
package/dist/types.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;;iBAciB;EACf;IAAO;IAAW;IAAW;;EAC7B;;;;;;;YAQU,8BAA8B,KAAK;;;;;;iBAO9B;;EAEf;;EAEA;;EAEA;;;;;;;;iBASe;;EAEf,sBAAsB;;EAEtB,UAAU;;EAEV,OAAO;;EAEP;;;YAIU,wBAAwB;;;;;;;YAQxB,iBACT,KAAK;;EAEJ,MAAM;;EAEN,MAAM,eAAe;KAEvB;;;;;;YAOU,oBAAoB,UAAU,kBAAkB,oBAAoB,MAAM,eAAe;;iBAGpF;;EAEf;;EAEA;;EAEA;;EAEA;EACA,WAAW;;;;;EAKX,UAAU;EACV,cAAc,QAAQ;EACtB,WAAW,OAAO;EAClB;;;;;;EAMA,WAAW,OAAO;;EAElB;;EAEA;EAGA,eAAe;EACf,MAAM;EACN,MAAM;EACN,MAAM;;;;;;EAMN,eAAe;;EAEf,aAAa;;;;;;EAMb,mBAAmB;;EAEnB,iBAAiB;;;;;EAKjB,kBAAkB;;EAElB,aAAa,gBAAgB;;EAE7B;;EAEA;;EAEA;;EAEA;;;iBAIe;;EAEf;;EAEA;;;;;;EAMA;;;;;EAKA;;EAEA,WAAW;;;;;EAKX;;EAEA,UAAU;EACV,cAAc,QAAQ;EACtB,WAAW,OAAO;EAClB;;;;;;;EAOA,WAAW,OAAO;EAGlB,eAAe;EACf,MAAM;EACN,MAAM;EACN,MAAM;;EAEN,eAAe;;EAEf,aAAa;;EAEb,mBAAmB;;EAEnB,iBAAiB;;;iBAIF,2BAA2B;;EAE1C,oBAAoB;;;iBAIL;;EAEf;;;;;;;;EAQA,KAAK,UAAU,iBAAiB,OAAO,GAAG,UAAU,oBAAoB;;;iBAIzD;EACf;EACA;EACA,mBAAmB,MAAM,cAAc;;EAEvC,QAAQ,MAAM;;;;;EAKd,iBAAiB,OAAO,aAAa,WAAW,qBAAqB,SAAS;;EAE9E;;EAEA;;EAEA;;EAEA,UAAU,MAAM;;EAEhB,6BAA6B"}
|
package/dist/ui.d.mts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import "./face.mjs";
|
|
2
|
+
import "./theme.mjs";
|
|
3
|
+
import "./types.mjs";
|
|
1
4
|
import { DocumentType, LivenessChallenge, ProjectBranding, VerificationDecision, VerificationStatus, WidgetStep } from "@arkyc/types";
|
|
2
|
-
|
|
3
5
|
//#region src/ui.d.ts
|
|
4
6
|
/** The data the address-entry screen collects before submission. */
|
|
5
|
-
interface AddressFormData {
|
|
7
|
+
export interface AddressFormData {
|
|
6
8
|
line1: string | null;
|
|
7
9
|
line2: string | null;
|
|
8
10
|
city: string | null;
|
|
@@ -15,5 +17,4 @@ interface AddressFormData {
|
|
|
15
17
|
useLocation: boolean;
|
|
16
18
|
}
|
|
17
19
|
//#endregion
|
|
18
|
-
export { AddressFormData };
|
|
19
20
|
//# sourceMappingURL=ui.d.mts.map
|
package/dist/ui.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.mts","names":[],"sources":["../src/ui.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ui.d.mts","names":[],"sources":["../src/ui.ts"],"mappings":";;;;;;iBAWiB;EACf;EACA;EACA;EACA;EACA;EACA;;EAEA,KAAK;;EAEL"}
|