@arkyc/widget 1.2.10 → 2.0.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/WidgetHandler.d.mts +4 -3
- package/dist/WidgetHandler.d.mts.map +1 -1
- package/dist/WidgetHandler.mjs +2 -1
- package/dist/WidgetHandler.mjs.map +1 -1
- package/dist/arkyc-widget.iife.global.js +3 -3
- package/dist/arkyc-widget.iife.global.js.map +1 -1
- package/dist/client.d.mts +39 -9
- package/dist/client.d.mts.map +1 -1
- package/dist/client.mjs +66 -1
- package/dist/client.mjs.map +1 -1
- package/dist/controller.d.mts +9 -6
- package/dist/controller.d.mts.map +1 -1
- package/dist/controller.mjs +22 -11
- package/dist/controller.mjs.map +1 -1
- package/dist/flow.d.mts.map +1 -1
- package/dist/flow.mjs +2 -1
- package/dist/flow.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/realtime.d.mts +9 -7
- package/dist/realtime.d.mts.map +1 -1
- package/dist/realtime.mjs +57 -75
- package/dist/realtime.mjs.map +1 -1
- package/dist/types.d.mts +58 -16
- package/dist/types.d.mts.map +1 -1
- package/package.json +3 -2
package/dist/types.d.mts
CHANGED
|
@@ -3,7 +3,7 @@ import { FaceAnalyzer, FaceTuning } from "./face.mjs";
|
|
|
3
3
|
import { AddressFormData } from "./ui.mjs";
|
|
4
4
|
import { ProviderSignalHints } from "./client.mjs";
|
|
5
5
|
import { WidgetRealtimeFactory } from "./realtime.mjs";
|
|
6
|
-
import { DocumentType, LivenessChallenge, ProjectBranding, WidgetResult } from "@arkyc/types";
|
|
6
|
+
import { DocumentType, LivenessChallenge, ProjectBranding, SessionTransitionEvent, WidgetResult } from "@arkyc/types";
|
|
7
7
|
|
|
8
8
|
//#region src/types.d.ts
|
|
9
9
|
interface RgbData {
|
|
@@ -15,18 +15,58 @@ interface RgbData {
|
|
|
15
15
|
str: string;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* Payload for `session.transition` — a live verification status change relayed
|
|
19
|
+
* from the configured transport (pusher/firebase/polling). A widget-scoped
|
|
20
|
+
* subset of the server's {@link SessionTransitionEvent} (no org/project ids).
|
|
21
21
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
type WidgetSessionTransitionData = Pick<SessionTransitionEvent, 'session_id' | 'status' | 'previous_status'>;
|
|
23
|
+
/**
|
|
24
|
+
* Payload for `error` — a non-terminal failure surfaced as it happens (an
|
|
25
|
+
* expired session/token becomes knowable without waiting for the user to
|
|
26
|
+
* dismiss the screen). `status`/`error` are present only for typed API errors.
|
|
27
|
+
*/
|
|
28
|
+
interface WidgetErrorData {
|
|
29
|
+
/** Human-readable failure message. */
|
|
30
|
+
message: string;
|
|
31
|
+
/** HTTP status code, when the failure came from a typed API error. */
|
|
32
|
+
status?: number;
|
|
33
|
+
/** Stable machine-readable error key, when the failure came from a typed API error. */
|
|
34
|
+
error?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The set of widget events and the payload each delivers. This is the single
|
|
38
|
+
* source of truth for event names and their `data` shapes: `onEvent`,
|
|
39
|
+
* {@link WidgetEvent}, {@link WidgetEventListener}, and {@link WidgetHandle.on}
|
|
40
|
+
* are all derived from it, so a listener's `data` is typed from the name.
|
|
41
|
+
*/
|
|
42
|
+
interface WidgetEventMap {
|
|
43
|
+
/** Live status change (fires on every real transition, once per change). */
|
|
44
|
+
'session.transition': WidgetSessionTransitionData;
|
|
45
|
+
/** The flow settled successfully; carries the final verification result. */
|
|
46
|
+
complete: WidgetResult;
|
|
47
|
+
/** A failure occurred (may be recoverable; the flow has not necessarily ended). */
|
|
48
|
+
error: WidgetErrorData;
|
|
49
|
+
/** The widget was closed (camera released). No payload. */
|
|
50
|
+
close: undefined;
|
|
27
51
|
}
|
|
28
|
-
/**
|
|
29
|
-
type
|
|
52
|
+
/** A widget event name — one of the keys of {@link WidgetEventMap}. */
|
|
53
|
+
type WidgetEventName = keyof WidgetEventMap;
|
|
54
|
+
/**
|
|
55
|
+
* An event surfaced to consumers through `onEvent`. Discriminated on `name`, so
|
|
56
|
+
* a `switch (event.name)` narrows `event.data` to the matching payload. The
|
|
57
|
+
* stream is a firehose: `session.transition` (live status changes) plus the
|
|
58
|
+
* lifecycle events `complete` / `error` / `close`.
|
|
59
|
+
*/
|
|
60
|
+
type WidgetEvent = { [K in WidgetEventName]: {
|
|
61
|
+
/** Event name (discriminant). */name: K; /** Event payload for this `name` (see {@link WidgetEventMap}). */
|
|
62
|
+
data: WidgetEventMap[K];
|
|
63
|
+
} }[WidgetEventName];
|
|
64
|
+
/**
|
|
65
|
+
* Subscribe callback for a single named widget event; receives that event's
|
|
66
|
+
* payload (typed from the name via {@link WidgetEventMap}). Defaults to the
|
|
67
|
+
* union of all payloads when the name isn't fixed.
|
|
68
|
+
*/
|
|
69
|
+
type WidgetEventListener<K extends WidgetEventName = WidgetEventName> = (data: WidgetEventMap[K]) => void;
|
|
30
70
|
/** Configuration for a {@link WidgetController}. */
|
|
31
71
|
interface WidgetControllerConfig {
|
|
32
72
|
/** Short-lived client token for this session. */
|
|
@@ -151,11 +191,13 @@ interface WidgetHandle {
|
|
|
151
191
|
/** Close the widget and release the camera (fires `onClose`). */
|
|
152
192
|
close: () => void;
|
|
153
193
|
/**
|
|
154
|
-
* Subscribe to a named widget event (
|
|
155
|
-
*
|
|
156
|
-
*
|
|
194
|
+
* Subscribe to a named widget event (`session.transition`, `complete`,
|
|
195
|
+
* `error`, `close`). The `listener`'s `data` is typed from the `event` name
|
|
196
|
+
* via {@link WidgetEventMap}. Returns an unsubscribe function. Registering a
|
|
197
|
+
* listener activates the event stream (events are only delivered while at
|
|
198
|
+
* least one listener is active).
|
|
157
199
|
*/
|
|
158
|
-
on: (event:
|
|
200
|
+
on: <K extends WidgetEventName>(event: K, listener: WidgetEventListener<K>) => () => void;
|
|
159
201
|
}
|
|
160
202
|
/** High-level events the view raises back to the controller. */
|
|
161
203
|
interface ViewHandlers {
|
|
@@ -181,5 +223,5 @@ interface ViewHandlers {
|
|
|
181
223
|
onShareLocation(): boolean | Promise<boolean>;
|
|
182
224
|
}
|
|
183
225
|
//#endregion
|
|
184
|
-
export { BaseWidgetOptions, MountWidgetOptions, RgbData, ViewHandlers, WidgetControllerConfig, WidgetEvent, WidgetEventListener, WidgetHandle };
|
|
226
|
+
export { BaseWidgetOptions, MountWidgetOptions, RgbData, ViewHandlers, WidgetControllerConfig, WidgetErrorData, WidgetEvent, WidgetEventListener, WidgetEventMap, WidgetEventName, WidgetHandle, WidgetSessionTransitionData };
|
|
185
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arkyc/widget",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Embeddable, framework-agnostic Arkyc identity-verification widget",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -39,8 +39,9 @@
|
|
|
39
39
|
"dist"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
+
"@arkstack/realtime": "^0.19.4",
|
|
42
43
|
"qrcode-generator": "^1.4.4",
|
|
43
|
-
"@arkyc/types": "^
|
|
44
|
+
"@arkyc/types": "^2.0.0"
|
|
44
45
|
},
|
|
45
46
|
"peerDependencies": {
|
|
46
47
|
"firebase": "^11.0.0",
|