@gerege-systems/eid-mongolia-sdk 0.13.0 → 0.14.1
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/README.md +176 -99
- package/dist/{browser-C6JHm0lR.d.cts → browser-CuMH5IVG.d.cts} +40 -1
- package/dist/{browser-C6JHm0lR.d.ts → browser-CuMH5IVG.d.ts} +40 -1
- package/dist/browser.d.cts +1 -1
- package/dist/browser.d.ts +1 -1
- package/dist/button.cjs +1005 -0
- package/dist/button.d.cts +93 -0
- package/dist/button.d.ts +93 -0
- package/dist/button.js +975 -0
- package/dist/index.cjs +591 -305
- package/dist/index.d.cts +254 -146
- package/dist/index.d.ts +254 -146
- package/dist/index.js +586 -301
- package/package.json +12 -4
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
type Lang = "mn" | "en";
|
|
2
|
+
/** Backend-ийн status хариу. */
|
|
3
|
+
interface EidLoginStatus {
|
|
4
|
+
state: "PENDING" | "WAIT_CALLBACK" | "OK" | "FAILED" | "EXPIRED";
|
|
5
|
+
qr?: string;
|
|
6
|
+
vc?: string | null;
|
|
7
|
+
expiresIn?: number;
|
|
8
|
+
redirect?: string;
|
|
9
|
+
data?: unknown;
|
|
10
|
+
error?: string;
|
|
11
|
+
}
|
|
12
|
+
interface EidLoginButtonOptions {
|
|
13
|
+
/** Backend start endpoint (ж: `/auth/eid/start`). */
|
|
14
|
+
startUrl: string;
|
|
15
|
+
/** Backend status endpoint (ж: `/auth/eid/status`). */
|
|
16
|
+
statusUrl: string;
|
|
17
|
+
lang?: Lang;
|
|
18
|
+
/** auto (анхдагч: утас → Web2App, бусад → QR цонх) | qr | app. */
|
|
19
|
+
mode?: "auto" | "qr" | "app";
|
|
20
|
+
/** auto (анхдагч: html[data-theme] / html.dark / prefers-color-scheme-ийг дагана) | light | dark. */
|
|
21
|
+
theme?: "auto" | "light" | "dark";
|
|
22
|
+
/** Амжилтын дараа (backend redirect өгөөгүй бол) шилжих URL. */
|
|
23
|
+
successUrl?: string;
|
|
24
|
+
onSuccess?: (s: EidLoginStatus) => void;
|
|
25
|
+
onError?: (error: string) => void;
|
|
26
|
+
}
|
|
27
|
+
type Scheme = "light" | "dark";
|
|
28
|
+
/** `theme` атрибутын утгыг (light | dark | auto) бодит схем болгоно. auto: html[data-theme] → html.dark/.light → OS. */
|
|
29
|
+
declare function resolveEidTheme(theme: string | null, doc?: Document): Scheme;
|
|
30
|
+
declare const Base: typeof HTMLElement;
|
|
31
|
+
/** `<eid-login-button>` — атрибут: start-url, status-url, lang (mn|en), mode (auto|qr|app), theme (auto|light|dark), success-url. */
|
|
32
|
+
declare class EidLoginButton extends Base {
|
|
33
|
+
static readonly observedAttributes: string[];
|
|
34
|
+
/** Тест/дотоод: гар утас эсэхийг дарж бичих. */
|
|
35
|
+
isMobile: () => boolean;
|
|
36
|
+
/** Тест/дотоод: шилжилт (location.assign). */
|
|
37
|
+
navigate: (url: string) => void;
|
|
38
|
+
private root;
|
|
39
|
+
private trigger;
|
|
40
|
+
private backdrop;
|
|
41
|
+
private body;
|
|
42
|
+
private live;
|
|
43
|
+
private timer;
|
|
44
|
+
private tick;
|
|
45
|
+
private left;
|
|
46
|
+
private fails;
|
|
47
|
+
private gen;
|
|
48
|
+
private lastFocus;
|
|
49
|
+
private darkStyle;
|
|
50
|
+
private themeObs;
|
|
51
|
+
private mq;
|
|
52
|
+
private readonly onScheme;
|
|
53
|
+
private get t();
|
|
54
|
+
private attr;
|
|
55
|
+
connectedCallback(): void;
|
|
56
|
+
attributeChangedCallback(name: string): void;
|
|
57
|
+
disconnectedCallback(): void;
|
|
58
|
+
/** Одоогийн бодит схем (`theme` + auto үед хуудас/OS). */
|
|
59
|
+
get scheme(): Scheme;
|
|
60
|
+
private applyTheme;
|
|
61
|
+
/** auto үед хуудасны html[data-theme]/class ба OS-ийн схемийн өөрчлөлтийг дагана. */
|
|
62
|
+
private watchTheme;
|
|
63
|
+
/** Товчны үйлдэл (программаар ч дуудаж болно). */
|
|
64
|
+
start(): void;
|
|
65
|
+
private open;
|
|
66
|
+
/** Цонхыг хааж poll-ийг зогсооно. */
|
|
67
|
+
close(): void;
|
|
68
|
+
private onKey;
|
|
69
|
+
private say;
|
|
70
|
+
private view;
|
|
71
|
+
private showLoading;
|
|
72
|
+
private begin;
|
|
73
|
+
private qrBox;
|
|
74
|
+
private qrStale;
|
|
75
|
+
private netwarn;
|
|
76
|
+
private drawQr;
|
|
77
|
+
private showQr;
|
|
78
|
+
private leftEl;
|
|
79
|
+
private meta;
|
|
80
|
+
private startTimer;
|
|
81
|
+
private pushForm;
|
|
82
|
+
private showWait;
|
|
83
|
+
private schedule;
|
|
84
|
+
private poll;
|
|
85
|
+
private succeed;
|
|
86
|
+
private end;
|
|
87
|
+
}
|
|
88
|
+
/** `<eid-login-button>`-ийг бүртгэнэ (давхар бүртгэхгүй). Энэ модулийг импортлоход автоматаар дуудагдана. */
|
|
89
|
+
declare function defineEidLoginButton(tag?: string): void;
|
|
90
|
+
/** Элементэд товч нэмнэ (framework-гүй хуудас, React/Vue-ийн ref). Үүссэн элементийг буцаана. */
|
|
91
|
+
declare function mountEidLoginButton(target: Element, opts: EidLoginButtonOptions): EidLoginButton;
|
|
92
|
+
|
|
93
|
+
export { EidLoginButton, type EidLoginButtonOptions, type EidLoginStatus, defineEidLoginButton, mountEidLoginButton, resolveEidTheme };
|
package/dist/button.d.ts
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
type Lang = "mn" | "en";
|
|
2
|
+
/** Backend-ийн status хариу. */
|
|
3
|
+
interface EidLoginStatus {
|
|
4
|
+
state: "PENDING" | "WAIT_CALLBACK" | "OK" | "FAILED" | "EXPIRED";
|
|
5
|
+
qr?: string;
|
|
6
|
+
vc?: string | null;
|
|
7
|
+
expiresIn?: number;
|
|
8
|
+
redirect?: string;
|
|
9
|
+
data?: unknown;
|
|
10
|
+
error?: string;
|
|
11
|
+
}
|
|
12
|
+
interface EidLoginButtonOptions {
|
|
13
|
+
/** Backend start endpoint (ж: `/auth/eid/start`). */
|
|
14
|
+
startUrl: string;
|
|
15
|
+
/** Backend status endpoint (ж: `/auth/eid/status`). */
|
|
16
|
+
statusUrl: string;
|
|
17
|
+
lang?: Lang;
|
|
18
|
+
/** auto (анхдагч: утас → Web2App, бусад → QR цонх) | qr | app. */
|
|
19
|
+
mode?: "auto" | "qr" | "app";
|
|
20
|
+
/** auto (анхдагч: html[data-theme] / html.dark / prefers-color-scheme-ийг дагана) | light | dark. */
|
|
21
|
+
theme?: "auto" | "light" | "dark";
|
|
22
|
+
/** Амжилтын дараа (backend redirect өгөөгүй бол) шилжих URL. */
|
|
23
|
+
successUrl?: string;
|
|
24
|
+
onSuccess?: (s: EidLoginStatus) => void;
|
|
25
|
+
onError?: (error: string) => void;
|
|
26
|
+
}
|
|
27
|
+
type Scheme = "light" | "dark";
|
|
28
|
+
/** `theme` атрибутын утгыг (light | dark | auto) бодит схем болгоно. auto: html[data-theme] → html.dark/.light → OS. */
|
|
29
|
+
declare function resolveEidTheme(theme: string | null, doc?: Document): Scheme;
|
|
30
|
+
declare const Base: typeof HTMLElement;
|
|
31
|
+
/** `<eid-login-button>` — атрибут: start-url, status-url, lang (mn|en), mode (auto|qr|app), theme (auto|light|dark), success-url. */
|
|
32
|
+
declare class EidLoginButton extends Base {
|
|
33
|
+
static readonly observedAttributes: string[];
|
|
34
|
+
/** Тест/дотоод: гар утас эсэхийг дарж бичих. */
|
|
35
|
+
isMobile: () => boolean;
|
|
36
|
+
/** Тест/дотоод: шилжилт (location.assign). */
|
|
37
|
+
navigate: (url: string) => void;
|
|
38
|
+
private root;
|
|
39
|
+
private trigger;
|
|
40
|
+
private backdrop;
|
|
41
|
+
private body;
|
|
42
|
+
private live;
|
|
43
|
+
private timer;
|
|
44
|
+
private tick;
|
|
45
|
+
private left;
|
|
46
|
+
private fails;
|
|
47
|
+
private gen;
|
|
48
|
+
private lastFocus;
|
|
49
|
+
private darkStyle;
|
|
50
|
+
private themeObs;
|
|
51
|
+
private mq;
|
|
52
|
+
private readonly onScheme;
|
|
53
|
+
private get t();
|
|
54
|
+
private attr;
|
|
55
|
+
connectedCallback(): void;
|
|
56
|
+
attributeChangedCallback(name: string): void;
|
|
57
|
+
disconnectedCallback(): void;
|
|
58
|
+
/** Одоогийн бодит схем (`theme` + auto үед хуудас/OS). */
|
|
59
|
+
get scheme(): Scheme;
|
|
60
|
+
private applyTheme;
|
|
61
|
+
/** auto үед хуудасны html[data-theme]/class ба OS-ийн схемийн өөрчлөлтийг дагана. */
|
|
62
|
+
private watchTheme;
|
|
63
|
+
/** Товчны үйлдэл (программаар ч дуудаж болно). */
|
|
64
|
+
start(): void;
|
|
65
|
+
private open;
|
|
66
|
+
/** Цонхыг хааж poll-ийг зогсооно. */
|
|
67
|
+
close(): void;
|
|
68
|
+
private onKey;
|
|
69
|
+
private say;
|
|
70
|
+
private view;
|
|
71
|
+
private showLoading;
|
|
72
|
+
private begin;
|
|
73
|
+
private qrBox;
|
|
74
|
+
private qrStale;
|
|
75
|
+
private netwarn;
|
|
76
|
+
private drawQr;
|
|
77
|
+
private showQr;
|
|
78
|
+
private leftEl;
|
|
79
|
+
private meta;
|
|
80
|
+
private startTimer;
|
|
81
|
+
private pushForm;
|
|
82
|
+
private showWait;
|
|
83
|
+
private schedule;
|
|
84
|
+
private poll;
|
|
85
|
+
private succeed;
|
|
86
|
+
private end;
|
|
87
|
+
}
|
|
88
|
+
/** `<eid-login-button>`-ийг бүртгэнэ (давхар бүртгэхгүй). Энэ модулийг импортлоход автоматаар дуудагдана. */
|
|
89
|
+
declare function defineEidLoginButton(tag?: string): void;
|
|
90
|
+
/** Элементэд товч нэмнэ (framework-гүй хуудас, React/Vue-ийн ref). Үүссэн элементийг буцаана. */
|
|
91
|
+
declare function mountEidLoginButton(target: Element, opts: EidLoginButtonOptions): EidLoginButton;
|
|
92
|
+
|
|
93
|
+
export { EidLoginButton, type EidLoginButtonOptions, type EidLoginStatus, defineEidLoginButton, mountEidLoginButton, resolveEidTheme };
|