@cap.js/widget 0.1.28 → 0.1.29

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.
Files changed (3) hide show
  1. package/cap.d.ts +155 -0
  2. package/package.json +4 -3
  3. package/src/cap.js +0 -1
package/cap.d.ts ADDED
@@ -0,0 +1,155 @@
1
+ declare global {
2
+ interface Window {
3
+ CAP_CUSTOM_FETCH?: typeof fetch;
4
+ CAP_CUSTOM_WASM_URL?: string;
5
+ CAP_CSS_NONCE?: string;
6
+ CAP_DONT_SKIP_REDEFINE?: boolean;
7
+ Cap: typeof Cap;
8
+ }
9
+ }
10
+
11
+ interface CapProgressEventDetail {
12
+ progress: number;
13
+ }
14
+
15
+ interface CapSolveEventDetail {
16
+ token: string;
17
+ }
18
+
19
+ interface CapErrorEventDetail {
20
+ isCap: boolean;
21
+ message: string;
22
+ }
23
+
24
+ interface CapProgressEvent extends CustomEvent {
25
+ detail: CapProgressEventDetail;
26
+ }
27
+
28
+ interface CapSolveEvent extends CustomEvent {
29
+ detail: CapSolveEventDetail;
30
+ }
31
+
32
+ interface CapErrorEvent extends CustomEvent {
33
+ detail: CapErrorEventDetail;
34
+ }
35
+
36
+ interface CapResetEvent extends CustomEvent {
37
+ detail: Record<string, never>;
38
+ }
39
+
40
+ interface SolveResult {
41
+ success: boolean;
42
+ token: string;
43
+ }
44
+
45
+ interface CapConfig {
46
+ apiEndpoint?: string;
47
+ "data-cap-api-endpoint"?: string;
48
+ "data-cap-worker-count"?: string;
49
+ "data-cap-hidden-field-name"?: string;
50
+ "data-cap-i18n-initial-state"?: string;
51
+ "data-cap-i18n-verifying-label"?: string;
52
+ "data-cap-i18n-solved-label"?: string;
53
+ "data-cap-i18n-error-label"?: string;
54
+ "data-cap-i18n-verify-aria-label"?: string;
55
+ "data-cap-i18n-verifying-aria-label"?: string;
56
+ "data-cap-i18n-verified-aria-label"?: string;
57
+ "data-cap-i18n-error-aria-label"?: string;
58
+ "data-cap-i18n-wasm-disabled"?: string;
59
+ onsolve?: string;
60
+ onprogress?: string;
61
+ onreset?: string;
62
+ onerror?: string;
63
+ }
64
+
65
+ interface CapWidget extends HTMLElement {
66
+ readonly token: string | null;
67
+ readonly tokenValue: string | null;
68
+
69
+ solve(): Promise<SolveResult>;
70
+ reset(): void;
71
+ setWorkersCount(workers: number): void;
72
+
73
+ addEventListener(
74
+ type: "progress",
75
+ listener: (event: CapProgressEvent) => void
76
+ ): void;
77
+ addEventListener(
78
+ type: "solve",
79
+ listener: (event: CapSolveEvent) => void
80
+ ): void;
81
+ addEventListener(
82
+ type: "error",
83
+ listener: (event: CapErrorEvent) => void
84
+ ): void;
85
+ addEventListener(
86
+ type: "reset",
87
+ listener: (event: CapResetEvent) => void
88
+ ): void;
89
+ addEventListener(type: string, listener: EventListener): void;
90
+
91
+ removeEventListener(
92
+ type: "progress",
93
+ listener: (event: CapProgressEvent) => void
94
+ ): void;
95
+ removeEventListener(
96
+ type: "solve",
97
+ listener: (event: CapSolveEvent) => void
98
+ ): void;
99
+ removeEventListener(
100
+ type: "error",
101
+ listener: (event: CapErrorEvent) => void
102
+ ): void;
103
+ removeEventListener(
104
+ type: "reset",
105
+ listener: (event: CapResetEvent) => void
106
+ ): void;
107
+ removeEventListener(type: string, listener: EventListener): void;
108
+ }
109
+
110
+ declare class Cap {
111
+ readonly widget: CapWidget;
112
+ readonly token: string | null;
113
+
114
+ constructor(config?: CapConfig, el?: CapWidget);
115
+
116
+ solve(): Promise<SolveResult>;
117
+ reset(): void;
118
+
119
+ addEventListener(
120
+ type: "progress",
121
+ listener: (event: CapProgressEvent) => void
122
+ ): void;
123
+ addEventListener(
124
+ type: "solve",
125
+ listener: (event: CapSolveEvent) => void
126
+ ): void;
127
+ addEventListener(
128
+ type: "error",
129
+ listener: (event: CapErrorEvent) => void
130
+ ): void;
131
+ addEventListener(
132
+ type: "reset",
133
+ listener: (event: CapResetEvent) => void
134
+ ): void;
135
+ addEventListener(type: string, listener: EventListener): void;
136
+ }
137
+
138
+ declare global {
139
+ interface HTMLElementTagNameMap {
140
+ "cap-widget": CapWidget;
141
+ }
142
+ }
143
+
144
+ export {
145
+ Cap,
146
+ type CapWidget,
147
+ type CapConfig,
148
+ type CapProgressEvent,
149
+ type CapSolveEvent,
150
+ type CapErrorEvent,
151
+ type CapResetEvent,
152
+ type SolveResult,
153
+ };
154
+
155
+ export default Cap;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cap.js/widget",
3
- "version": "0.1.28",
3
+ "version": "0.1.29",
4
4
  "description": "Client-side widget for Cap, a lightweight, modern open-source CAPTCHA alternative designed using SHA-256 PoW.",
5
5
  "keywords": [
6
6
  "security",
@@ -49,7 +49,8 @@
49
49
  "url": "git+https://github.com/tiagozip/cap.git"
50
50
  },
51
51
  "license": "Apache-2.0",
52
- "author": "Tiago Rangel",
52
+ "author": "Tiago",
53
53
  "type": "commonjs",
54
- "main": "cap.min.js"
54
+ "main": "cap.min.js",
55
+ "types": "cap.d.ts"
55
56
  }
package/src/cap.js CHANGED
@@ -95,7 +95,6 @@
95
95
 
96
96
  initialize() {
97
97
  this.#workerUrl = URL.createObjectURL(
98
- // MARK: worker injection
99
98
  // this placeholder will be replaced with the actual worker by the build script
100
99
 
101
100
  new Blob([`%%workerScript%%`], {