@arkyc/widget 1.2.1 → 1.2.2
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/arkyc-widget.iife.global.js +1 -1
- package/dist/arkyc-widget.iife.global.js.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/theme.d.mts +7 -0
- package/dist/theme.d.mts.map +1 -1
- package/dist/theme.mjs +23 -1
- package/dist/theme.mjs.map +1 -1
- package/dist/types.d.mts +9 -1
- package/dist/types.d.mts.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -3,7 +3,7 @@ import { ChallengeDetector, DEFAULT_TUNING, FaceAnalyzer, FaceSample, FaceTuning
|
|
|
3
3
|
import { Theme } from "./theme.mjs";
|
|
4
4
|
import { ArkycClient, ArkycClientOptions, ClientRealtime, ClientSession, ProviderSignalHints, WidgetApiError } from "./client.mjs";
|
|
5
5
|
import { WidgetRealtimeClient, WidgetRealtimeFactory, WidgetRealtimeHandler, createWidgetRealtimeClient } from "./realtime.mjs";
|
|
6
|
-
import { BaseWidgetOptions, MountWidgetOptions, ViewHandlers, WidgetControllerConfig, WidgetEvent, WidgetEventListener, WidgetHandle } from "./types.mjs";
|
|
6
|
+
import { BaseWidgetOptions, MountWidgetOptions, RgbData, ViewHandlers, WidgetControllerConfig, WidgetEvent, WidgetEventListener, WidgetHandle } from "./types.mjs";
|
|
7
7
|
import { WidgetController } from "./controller.mjs";
|
|
8
8
|
import { Camera, Facing } from "./capture.mjs";
|
|
9
9
|
import { Flow, FlowContext } from "./flow.mjs";
|
|
@@ -15,5 +15,5 @@ import { WidgetResult } from "@arkyc/types";
|
|
|
15
15
|
declare const PACKAGE_NAME = "@arkyc/widget";
|
|
16
16
|
declare const VERSION = "0.1.0";
|
|
17
17
|
//#endregion
|
|
18
|
-
export { 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, PACKAGE_NAME, type ProviderSignalHints, Theme, VERSION, ViewHandlers, WidgetApiError, type WidgetController, WidgetControllerConfig, WidgetEvent, WidgetEventListener, WidgetHandle, WidgetHandler, type WidgetRealtimeClient, type WidgetRealtimeFactory, type WidgetRealtimeHandler, type WidgetResult, analyzeDocumentGray, createDefaultDocumentAnalyzer, createDefaultFaceAnalyzer, createWidgetRealtimeClient, documentGuidance, isDocumentReady, isSelfieReady, makeChallengeDetector };
|
|
18
|
+
export { 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, PACKAGE_NAME, type ProviderSignalHints, RgbData, Theme, VERSION, ViewHandlers, WidgetApiError, type WidgetController, WidgetControllerConfig, WidgetEvent, WidgetEventListener, WidgetHandle, WidgetHandler, type WidgetRealtimeClient, type WidgetRealtimeFactory, type WidgetRealtimeHandler, type WidgetResult, analyzeDocumentGray, createDefaultDocumentAnalyzer, createDefaultFaceAnalyzer, createWidgetRealtimeClient, documentGuidance, isDocumentReady, isSelfieReady, makeChallengeDetector };
|
|
19
19
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/theme.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RgbData } from "./types.mjs";
|
|
1
2
|
import { ProjectBranding } from "@arkyc/types";
|
|
2
3
|
|
|
3
4
|
//#region src/theme.d.ts
|
|
@@ -36,6 +37,12 @@ declare class Theme {
|
|
|
36
37
|
* @returns
|
|
37
38
|
*/
|
|
38
39
|
stylesheet(): string;
|
|
40
|
+
static rgb(p: {
|
|
41
|
+
primaryColor: string;
|
|
42
|
+
}): RgbData;
|
|
43
|
+
rgb(p: {
|
|
44
|
+
primaryColor: string;
|
|
45
|
+
}): RgbData;
|
|
39
46
|
}
|
|
40
47
|
//#endregion
|
|
41
48
|
export { Theme };
|
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":";;;;;;AAuBA;;;cAAa,KAAA;EAAA,SACF,YAAA;EAAA,SACA,YAAA;EAAA,SACA,IAAA;EAAA,SACA,OAAA;EAHA;EAAA,SAKA,IAAA;EAHA;EAAA,SAKA,YAAA;EAFA;EAAA,SAIA,UAAA;EAAA;EAAA,SAEA,UAAA;EAEA;EAAA,SAAA,KAAA;;WAEA,MAAA;cAEG,QAAA,GAAW,eAAA;EAmBvB;;;;;EAAA,SAAA;EAgCA;;;;;EAhBA,UAAA;EAAA,OAIO,GAAA,CAAI,CAAA;IAAK,YAAA;EAAA,IAAyB,OAAA;EAYzC,GAAA,CAAI,CAAA;IAAK,YAAA;EAAA,IAAyB,OAAA;AAAA"}
|
package/dist/theme.mjs
CHANGED
|
@@ -17,7 +17,7 @@ const DARK = {
|
|
|
17
17
|
* owns the whole "theme" concern: defaulted colour/logo/radius values plus the
|
|
18
18
|
* CSS-variable block and stylesheet derived from them.
|
|
19
19
|
*/
|
|
20
|
-
var Theme = class {
|
|
20
|
+
var Theme = class Theme {
|
|
21
21
|
primaryColor;
|
|
22
22
|
borderRadius;
|
|
23
23
|
mode;
|
|
@@ -70,6 +70,28 @@ var Theme = class {
|
|
|
70
70
|
stylesheet() {
|
|
71
71
|
return _virtual_arkyc_theme_css_default.replace("/* {variables} */", `${this.variables()};`).trim();
|
|
72
72
|
}
|
|
73
|
+
static rgb(p) {
|
|
74
|
+
const obj = Object.fromEntries(p.primaryColor.match(/\d+/g)?.map((v, i) => [[
|
|
75
|
+
"r",
|
|
76
|
+
"g",
|
|
77
|
+
"b"
|
|
78
|
+
][i], Number(v)]) ?? []) ?? {
|
|
79
|
+
r: 50,
|
|
80
|
+
g: 100,
|
|
81
|
+
b: 150
|
|
82
|
+
};
|
|
83
|
+
return {
|
|
84
|
+
obj,
|
|
85
|
+
str: `rgb(${[
|
|
86
|
+
obj.r,
|
|
87
|
+
obj.g,
|
|
88
|
+
obj.b
|
|
89
|
+
].join(",")})`
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
rgb(p) {
|
|
93
|
+
return Theme.rgb(p);
|
|
94
|
+
}
|
|
73
95
|
};
|
|
74
96
|
//#endregion
|
|
75
97
|
export { Theme };
|
package/dist/theme.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.mjs","names":["themeCss"],"sources":["../src/theme.ts"],"sourcesContent":["import type { ProjectBranding } from '@arkyc/types'\nimport themeCss from 'virtual:arkyc-theme-css'\n\nconst LIGHT = {\n background: '#ffffff',\n foreground: '#0f172a',\n muted: '#64748b',\n border: '#e2e8f0',\n}\n\nconst DARK = {\n background: '#0f172a',\n foreground: '#f8fafc',\n muted: '#94a3b8',\n border: '#1e293b',\n}\n\n/**\n * Resolves project branding into a concrete theme and renders its CSS. One class\n * owns the whole \"theme\" concern: defaulted colour/logo/radius values plus the\n * CSS-variable block and stylesheet derived from them.\n */\nexport class Theme {\n readonly primaryColor: string\n readonly borderRadius: number\n readonly mode: 'light' | 'dark'\n readonly logoUrl: string | null\n /** Project/company display name shown in the header (when branding is shown). */\n readonly name: string | null\n /** Whether to show the project name/logo in the header (white-label off → false). */\n readonly showBranding: boolean\n /** Surface (card) background. */\n readonly background: string\n /** Primary text colour. */\n readonly foreground: string\n /** Muted text colour. */\n readonly muted: string\n /** Subtle border colour. */\n readonly border: string\n\n constructor(branding?: ProjectBranding | null) {\n this.mode = branding?.theme === 'dark' ? 'dark' : 'light'\n const palette = this.mode === 'dark' ? DARK : LIGHT\n this.primaryColor = branding?.primary_color ?? '#b8860b'\n this.borderRadius = branding?.border_radius ?? 12\n this.logoUrl = branding?.logo_url ?? null\n this.name = branding?.name ?? null\n this.showBranding = branding?.show_branding !== false\n this.background = palette.background\n this.foreground = palette.foreground\n this.muted = palette.muted\n this.border = palette.border\n }\n\n /**\n * The CSS-variable declaration block for this theme.\n *\n * @returns\n */\n variables(): string {\n return [\n `--arkyc-primary:${this.primaryColor}`,\n `--arkyc-radius:${this.borderRadius}px`,\n `--arkyc-bg:${this.background}`,\n `--arkyc-fg:${this.foreground}`,\n `--arkyc-muted:${this.muted}`,\n `--arkyc-border:${this.border}`,\n ].join(';')\n }\n\n /**\n * The widget stylesheet, parameterised by this theme's variables.\n *\n * @returns\n */\n stylesheet(): string {\n return themeCss.replace('/* {variables} */', `${this.variables()};`).trim()\n }\n}\n"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"theme.mjs","names":["themeCss"],"sources":["../src/theme.ts"],"sourcesContent":["import type { ProjectBranding } from '@arkyc/types'\nimport type { RgbData } from './types'\nimport themeCss from 'virtual:arkyc-theme-css'\n\nconst LIGHT = {\n background: '#ffffff',\n foreground: '#0f172a',\n muted: '#64748b',\n border: '#e2e8f0',\n}\n\nconst DARK = {\n background: '#0f172a',\n foreground: '#f8fafc',\n muted: '#94a3b8',\n border: '#1e293b',\n}\n\n/**\n * Resolves project branding into a concrete theme and renders its CSS. One class\n * owns the whole \"theme\" concern: defaulted colour/logo/radius values plus the\n * CSS-variable block and stylesheet derived from them.\n */\nexport class Theme {\n readonly primaryColor: string\n readonly borderRadius: number\n readonly mode: 'light' | 'dark'\n readonly logoUrl: string | null\n /** Project/company display name shown in the header (when branding is shown). */\n readonly name: string | null\n /** Whether to show the project name/logo in the header (white-label off → false). */\n readonly showBranding: boolean\n /** Surface (card) background. */\n readonly background: string\n /** Primary text colour. */\n readonly foreground: string\n /** Muted text colour. */\n readonly muted: string\n /** Subtle border colour. */\n readonly border: string\n\n constructor(branding?: ProjectBranding | null) {\n this.mode = branding?.theme === 'dark' ? 'dark' : 'light'\n const palette = this.mode === 'dark' ? DARK : LIGHT\n this.primaryColor = branding?.primary_color ?? '#b8860b'\n this.borderRadius = branding?.border_radius ?? 12\n this.logoUrl = branding?.logo_url ?? null\n this.name = branding?.name ?? null\n this.showBranding = branding?.show_branding !== false\n this.background = palette.background\n this.foreground = palette.foreground\n this.muted = palette.muted\n this.border = palette.border\n }\n\n /**\n * The CSS-variable declaration block for this theme.\n *\n * @returns\n */\n variables(): string {\n return [\n `--arkyc-primary:${this.primaryColor}`,\n `--arkyc-radius:${this.borderRadius}px`,\n `--arkyc-bg:${this.background}`,\n `--arkyc-fg:${this.foreground}`,\n `--arkyc-muted:${this.muted}`,\n `--arkyc-border:${this.border}`,\n ].join(';')\n }\n\n /**\n * The widget stylesheet, parameterised by this theme's variables.\n *\n * @returns\n */\n stylesheet(): string {\n return themeCss.replace('/* {variables} */', `${this.variables()};`).trim()\n }\n\n static rgb(p: { primaryColor: string }): RgbData {\n const obj: RgbData['obj'] = Object.fromEntries(p\n .primaryColor.match(/\\d+/g)\n ?.map((v, i) => [['r', 'g', 'b'][i], Number(v)]) ?? [],\n ) ?? { r: 50, g: 100, b: 150 }\n\n return {\n obj,\n str: `rgb(${[obj.r, obj.g, obj.b].join(',')})`\n }\n }\n\n rgb(p: { primaryColor: string }): RgbData {\n return Theme.rgb(p)\n }\n}\n"],"mappings":";;AAIA,MAAM,QAAQ;CACZ,YAAY;CACZ,YAAY;CACZ,OAAO;CACP,QAAQ;AACV;AAEA,MAAM,OAAO;CACX,YAAY;CACZ,YAAY;CACZ,OAAO;CACP,QAAQ;AACV;;;;;;AAOA,IAAa,QAAb,MAAa,MAAM;CACjB;CACA;CACA;CACA;;CAEA;;CAEA;;CAEA;;CAEA;;CAEA;;CAEA;CAEA,YAAY,UAAmC;EAC7C,KAAK,OAAO,UAAU,UAAU,SAAS,SAAS;EAClD,MAAM,UAAU,KAAK,SAAS,SAAS,OAAO;EAC9C,KAAK,eAAe,UAAU,iBAAiB;EAC/C,KAAK,eAAe,UAAU,iBAAiB;EAC/C,KAAK,UAAU,UAAU,YAAY;EACrC,KAAK,OAAO,UAAU,QAAQ;EAC9B,KAAK,eAAe,UAAU,kBAAkB;EAChD,KAAK,aAAa,QAAQ;EAC1B,KAAK,aAAa,QAAQ;EAC1B,KAAK,QAAQ,QAAQ;EACrB,KAAK,SAAS,QAAQ;CACxB;;;;;;CAOA,YAAoB;EAClB,OAAO;GACL,mBAAmB,KAAK;GACxB,kBAAkB,KAAK,aAAa;GACpC,cAAc,KAAK;GACnB,cAAc,KAAK;GACnB,iBAAiB,KAAK;GACtB,kBAAkB,KAAK;EACzB,CAAC,CAAC,KAAK,GAAG;CACZ;;;;;;CAOA,aAAqB;EACnB,OAAOA,iCAAS,QAAQ,qBAAqB,GAAG,KAAK,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK;CAC5E;CAEA,OAAO,IAAI,GAAsC;EAC/C,MAAM,MAAsB,OAAO,YAAY,EAC5C,aAAa,MAAM,MAAM,CAAC,EACzB,KAAK,GAAG,MAAM,CAAC;GAAC;GAAK;GAAK;EAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CACvD,KAAK;GAAE,GAAG;GAAI,GAAG;GAAK,GAAG;EAAI;EAE7B,OAAO;GACL;GACA,KAAK,OAAO;IAAC,IAAI;IAAG,IAAI;IAAG,IAAI;GAAC,CAAC,CAAC,KAAK,GAAG,EAAE;EAC9C;CACF;CAEA,IAAI,GAAsC;EACxC,OAAO,MAAM,IAAI,CAAC;CACpB;AACF"}
|
package/dist/types.d.mts
CHANGED
|
@@ -6,6 +6,14 @@ import { WidgetRealtimeFactory } from "./realtime.mjs";
|
|
|
6
6
|
import { DocumentType, LivenessChallenge, ProjectBranding, WidgetResult } from "@arkyc/types";
|
|
7
7
|
|
|
8
8
|
//#region src/types.d.ts
|
|
9
|
+
interface RgbData {
|
|
10
|
+
obj: {
|
|
11
|
+
r: number;
|
|
12
|
+
g: number;
|
|
13
|
+
b: number;
|
|
14
|
+
};
|
|
15
|
+
str: string;
|
|
16
|
+
}
|
|
9
17
|
/**
|
|
10
18
|
* An event surfaced to consumers through `onEvent` / `handle.on(name, cb)`. The
|
|
11
19
|
* stream is a firehose: `session.transition` (live status changes, from the
|
|
@@ -173,5 +181,5 @@ interface ViewHandlers {
|
|
|
173
181
|
onShareLocation(): boolean | Promise<boolean>;
|
|
174
182
|
}
|
|
175
183
|
//#endregion
|
|
176
|
-
export { BaseWidgetOptions, MountWidgetOptions, ViewHandlers, WidgetControllerConfig, WidgetEvent, WidgetEventListener, WidgetHandle };
|
|
184
|
+
export { BaseWidgetOptions, MountWidgetOptions, RgbData, ViewHandlers, WidgetControllerConfig, WidgetEvent, WidgetEventListener, WidgetHandle };
|
|
177
185
|
//# 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":";;;;;;;;UAQiB,OAAA;EACf,GAAA;IAAO,CAAA;IAAW,CAAA;IAAW,CAAA;EAAA;EAC7B,GAAA;AAAA;;;;;AAAG;UAQY,WAAA;EAAW;EAE1B,IAAA;EAAA;EAEA,IAAI;AAAA;;KAIM,mBAAA,IAAuB,IAAa;;UAG/B,sBAAA;EAAA;EAEf,KAAA;;EAEA,OAAA;EAUU;EARV,OAAA;EAUkB;EARlB,UAAA;EACA,QAAA,GAAW,eAAA;EAsBL;;;;EAjBN,OAAA,GAAU,mBAAA;EACV,UAAA,IAAc,MAAA,EAAQ,YAAA;EACtB,OAAA,IAAW,KAAA,EAAO,KAAA;EAClB,OAAA;EAqCuC;;;;;EA/BvC,OAAA,IAAW,KAAA,EAAO,WAAA;EAdlB;EAgBA,QAAA;EAXA;EAaA,YAAA;EAGA,KAAA,UAAe,KAAA;EACf,GAAA,GAAM,QAAA;EACN,GAAA,GAAM,MAAA;EACN,GAAA,GAAM,SAAA;EAjBY;;;;;EAuBlB,YAAA,GAAe,YAAA;EAdf;EAgBA,UAAA,GAAa,UAAA;EAXb;;;;;EAiBA,gBAAA,GAAmB,gBAAA;EAdnB;EAgBA,cAAA,GAAiB,cAAA;EAVjB;;;;EAeA,eAAA,GAAkB,qBAAA;EAPC;EASnB,SAAA,IAAa,EAAA,cAAgB,EAAA;EAPZ;EASjB,WAAA;EAJkB;EAMlB,MAAA;EAJa;EAMb,QAAA;EAJA;EAMA,eAAA;AAAA;;UAIe,iBAAA;EAJA;EAMf,KAAA;EAFgC;EAIhC,OAAA;EAaW;;;;;EAPX,OAAA;EA4BM;;;;EAvBN,UAAA;EA+BmB;EA7BnB,QAAA,GAAW,eAAA;EA+BoB;;;;EA1B/B,UAAA;EAPA;EASA,OAAA,GAAU,mBAAA;EACV,UAAA,IAAc,MAAA,EAAQ,YAAA;EACtB,OAAA,IAAW,KAAA,EAAO,KAAA;EAClB,OAAA;EAHU;;;;;;EAUV,OAAA,IAAW,KAAA,EAAO,WAAA;EAGlB,KAAA,UAAe,KAAA;EACf,GAAA,GAAM,QAAA;EACN,GAAA,GAAM,MAAA;EACN,GAAA,GAAM,SAAA;EAHN;EAKA,YAAA,GAAe,YAAA;EAJf;EAMA,UAAA,GAAa,UAAA;EALb;EAOA,gBAAA,GAAmB,gBAAA;EANnB;EAQA,cAAA,GAAiB,cAAA;AAAA;;UAIF,kBAAA,SAA2B,iBAAiB;EAR9C;EAUb,SAAA,WAAoB,WAAA;AAAA;;UAIL,YAAA;EAVgB;EAY/B,KAAA;EARe;;;;;EAcf,EAAA,GAAK,KAAA,UAAe,QAAA,EAAU,mBAAmB;AAAA;;UAIlC,YAAA;EACf,OAAA;EACA,OAAA;EACA,kBAAA,CAAmB,IAAA,EAAM,YAAA,EAAc,OAAA;EAPU;EASjD,OAAA,CAAQ,IAAA,EAAM,IAAA;EATd;;;;EAcA,gBAAA,CAAiB,KAAA,EAAO,IAAA,SAAa,SAAA,EAAW,iBAAA,IAAqB,MAAA,GAAS,IAAA;EAd7B;EAgBjD,aAAA;EAZ2B;EAc3B,UAAA;EAXyB;EAazB,cAAA;EANwB;EAQxB,SAAA,CAAU,IAAA,EAAM,eAAA;EAR8D;EAU9E,eAAA,cAA6B,OAAA;AAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arkyc/widget",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Embeddable, framework-agnostic Arkyc identity-verification widget",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"qrcode-generator": "^1.4.4",
|
|
43
|
-
"@arkyc/types": "^1.2.
|
|
43
|
+
"@arkyc/types": "^1.2.2"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"firebase": "^11.0.0",
|