@incodetech/web 2.0.0-alpha.1 → 2.0.0-alpha.11

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 (209) hide show
  1. package/dist/base.css +1071 -0
  2. package/dist/browser-ponyfill-B6W6hHVY.js +344 -0
  3. package/dist/email/email.es.js +145 -0
  4. package/dist/email/styles.css +123 -0
  5. package/dist/flow/flow.es.js +555 -0
  6. package/dist/flow/styles.css +1119 -0
  7. package/dist/incodeModule-Dv8Qllrv.js +254 -0
  8. package/dist/index.es.js +6 -0
  9. package/dist/instance-B-q0ZREN.js +2140 -0
  10. package/dist/otpInput-BtoZe0Wz.js +151 -0
  11. package/dist/page-Dh_Zw2ik.js +234 -0
  12. package/dist/phone/phone.es.js +3441 -0
  13. package/dist/phone/styles.css +305 -0
  14. package/dist/selfie/selfie.es.js +893 -0
  15. package/dist/selfie/styles.css +590 -0
  16. package/dist/selfieTutorial-C-u5GufD.js +29 -0
  17. package/dist/setup-wNL83jmW.js +20 -0
  18. package/dist/themes/dark.css +652 -0
  19. package/dist/themes/light.css +543 -0
  20. package/dist/title-BfO5Dlzk.js +25 -0
  21. package/dist/types/base.d.ts +1 -0
  22. package/dist/types/dark.d.ts +1 -0
  23. package/dist/types/email.d.ts +57 -0
  24. package/dist/types/flow.d.ts +69 -0
  25. package/dist/types/index.d.ts +38 -0
  26. package/dist/types/light.d.ts +1 -0
  27. package/dist/types/phone.d.ts +58 -0
  28. package/dist/types/selfie.d.ts +31 -0
  29. package/dist/types/styles.d.ts +1 -0
  30. package/dist/types/themes/dark.d.ts +1 -0
  31. package/dist/types/themes/light.d.ts +1 -0
  32. package/dist/uiConfig-CQ1W9cUD.js +23 -0
  33. package/dist/vendor-preact-CK0WeTOR.js +584 -0
  34. package/package.json +32 -26
  35. package/dev/README.md +0 -163
  36. package/dev/getToken.ts +0 -36
  37. package/dev/headless.html +0 -875
  38. package/dev/index.html +0 -366
  39. package/dev/main-headless.tsx +0 -1332
  40. package/dev/main-orchestrated-flow.tsx +0 -1158
  41. package/dev/main-preact.tsx +0 -323
  42. package/dev/main-simplified.tsx +0 -123
  43. package/dev/main-web-component.tsx +0 -256
  44. package/dev/main.tsx +0 -332
  45. package/dev/manual.html +0 -27
  46. package/dev/orchestrated-flow.html +0 -64
  47. package/dev/simplified.html +0 -64
  48. package/dev/tiktok-logo.svg +0 -7
  49. package/src/defineCustomElement.tsx +0 -30
  50. package/src/email/email.test.tsx +0 -368
  51. package/src/email/email.tsx +0 -255
  52. package/src/email/emailInput.test.tsx +0 -264
  53. package/src/email/emailInput.tsx +0 -85
  54. package/src/email/styles.css +0 -59
  55. package/src/flow/flow.test.tsx +0 -796
  56. package/src/flow/flow.tsx +0 -292
  57. package/src/flow/flowCompleted.css +0 -30
  58. package/src/flow/flowCompleted.test.tsx +0 -331
  59. package/src/flow/flowCompleted.tsx +0 -121
  60. package/src/flow/flowInit.test.ts +0 -264
  61. package/src/flow/flowInit.ts +0 -94
  62. package/src/flow/flowStart.css +0 -58
  63. package/src/flow/flowStart.test.tsx +0 -49
  64. package/src/flow/flowStart.tsx +0 -41
  65. package/src/flow/incode-logo.svg +0 -8
  66. package/src/flow/index.ts +0 -7
  67. package/src/flow/preloadFlow.test.ts +0 -421
  68. package/src/flow/preloadFlow.ts +0 -171
  69. package/src/flow/styles.css +0 -9
  70. package/src/flow/unsupportedModule.css +0 -21
  71. package/src/flow/unsupportedModule.tsx +0 -39
  72. package/src/flow/useFlowInitialization.test.tsx +0 -292
  73. package/src/flow/useFlowInitialization.ts +0 -128
  74. package/src/flow/useModuleLoader.test.tsx +0 -212
  75. package/src/flow/useModuleLoader.ts +0 -92
  76. package/src/hooks/index.ts +0 -1
  77. package/src/hooks/useManager.test.ts +0 -91
  78. package/src/hooks/useManager.ts +0 -40
  79. package/src/i18n/index.ts +0 -3
  80. package/src/i18n/instance.ts +0 -16
  81. package/src/i18n/setup.ts +0 -184
  82. package/src/i18n/useTranslation.ts +0 -42
  83. package/src/index.ts +0 -27
  84. package/src/permissions/assets/android-dots-icon.svg +0 -7
  85. package/src/permissions/assets/android-settings-icon.svg +0 -16
  86. package/src/permissions/assets/android-toggle-icon.svg +0 -20
  87. package/src/permissions/assets/bank-card-icon.svg +0 -14
  88. package/src/permissions/assets/camera-icon.svg +0 -12
  89. package/src/permissions/assets/camera-ios.svg +0 -53
  90. package/src/permissions/assets/check-icon.svg +0 -8
  91. package/src/permissions/assets/chrome-icon.svg +0 -43
  92. package/src/permissions/assets/password-icon.svg +0 -11
  93. package/src/permissions/assets/permissions-img.svg +0 -51
  94. package/src/permissions/assets/safari-icon.svg +0 -37
  95. package/src/permissions/assets/settings-icon.svg +0 -33
  96. package/src/permissions/assets/toggle-icon.svg +0 -19
  97. package/src/permissions/assets/warning-icon.svg +0 -6
  98. package/src/permissions/boldWithArrow.css +0 -9
  99. package/src/permissions/boldWithArrow.tsx +0 -41
  100. package/src/permissions/denied.css +0 -37
  101. package/src/permissions/denied.tsx +0 -29
  102. package/src/permissions/deniedAndroid.tsx +0 -56
  103. package/src/permissions/deniedDesktop.css +0 -9
  104. package/src/permissions/deniedDesktop.tsx +0 -64
  105. package/src/permissions/deniedIOS.tsx +0 -73
  106. package/src/permissions/deniedInstructions.tsx +0 -19
  107. package/src/permissions/iconWrapper.css +0 -9
  108. package/src/permissions/iconWrapper.tsx +0 -15
  109. package/src/permissions/learnMore.css +0 -37
  110. package/src/permissions/learnMore.tsx +0 -85
  111. package/src/permissions/numberedStep.css +0 -13
  112. package/src/permissions/numberedStep.tsx +0 -14
  113. package/src/permissions/permissions.css +0 -13
  114. package/src/permissions/permissions.tsx +0 -68
  115. package/src/phone/phone.tsx +0 -246
  116. package/src/phone/phoneInput.test.tsx +0 -275
  117. package/src/phone/phoneInput.tsx +0 -249
  118. package/src/phone/styles.css +0 -158
  119. package/src/selfie/cameraButton.css +0 -13
  120. package/src/selfie/cameraButton.tsx +0 -35
  121. package/src/selfie/capture.css +0 -57
  122. package/src/selfie/capture.tsx +0 -232
  123. package/src/selfie/errorModal.tsx +0 -218
  124. package/src/selfie/errorModalContent.css +0 -33
  125. package/src/selfie/errorModalContent.tsx +0 -44
  126. package/src/selfie/faceOutline.css +0 -5
  127. package/src/selfie/faceOutline.tsx +0 -22
  128. package/src/selfie/loadingBorder.css +0 -12
  129. package/src/selfie/loadingBorder.tsx +0 -77
  130. package/src/selfie/manualCaptureButton.css +0 -13
  131. package/src/selfie/manualCaptureButton.tsx +0 -35
  132. package/src/selfie/noMoreAttemptsModal.tsx +0 -44
  133. package/src/selfie/notification.css +0 -9
  134. package/src/selfie/notification.tsx +0 -36
  135. package/src/selfie/retryErrorModal.tsx +0 -56
  136. package/src/selfie/selfie.test.tsx +0 -458
  137. package/src/selfie/selfie.tsx +0 -83
  138. package/src/selfie/selfieTutorial.json +0 -2626
  139. package/src/selfie/styles.css +0 -1
  140. package/src/selfie/tutorial.test.tsx +0 -200
  141. package/src/selfie/tutorial.tsx +0 -43
  142. package/src/setup.ts +0 -33
  143. package/src/shared/baseTutorial/baseTutorial.css +0 -21
  144. package/src/shared/baseTutorial/baseTutorial.test.tsx +0 -184
  145. package/src/shared/baseTutorial/baseTutorial.tsx +0 -55
  146. package/src/shared/baseTutorial/replaceBaseTutorial.test.ts +0 -267
  147. package/src/shared/baseTutorial/replaceBaseTutorial.ts +0 -68
  148. package/src/shared/button/button.css +0 -55
  149. package/src/shared/button/button.test.tsx +0 -101
  150. package/src/shared/button/button.tsx +0 -47
  151. package/src/shared/componentRoot/incodeComponent.tsx +0 -12
  152. package/src/shared/countries/countries.test.ts +0 -75
  153. package/src/shared/countries/countries.ts +0 -139
  154. package/src/shared/countries/index.ts +0 -6
  155. package/src/shared/icons/chevronDown.tsx +0 -22
  156. package/src/shared/icons/index.ts +0 -2
  157. package/src/shared/icons/successIcon.css +0 -5
  158. package/src/shared/icons/successIcon.test.tsx +0 -40
  159. package/src/shared/icons/successIcon.tsx +0 -26
  160. package/src/shared/loader/loadingIcon.css +0 -28
  161. package/src/shared/loader/loadingIcon.tsx +0 -67
  162. package/src/shared/lottie/lottie.tsx +0 -108
  163. package/src/shared/otpInput/otpInput.css +0 -85
  164. package/src/shared/otpInput/otpInput.test.tsx +0 -356
  165. package/src/shared/otpInput/otpInput.tsx +0 -241
  166. package/src/shared/page/incode-logo.svg +0 -3
  167. package/src/shared/page/page.css +0 -47
  168. package/src/shared/page/page.test.tsx +0 -97
  169. package/src/shared/page/page.tsx +0 -91
  170. package/src/shared/page/pageUiConfig.test.ts +0 -112
  171. package/src/shared/page/pageUiConfig.ts +0 -64
  172. package/src/shared/page/verifiedByIncode.css +0 -5
  173. package/src/shared/page/verifiedByIncode.tsx +0 -75
  174. package/src/shared/spacer/spacer.css +0 -149
  175. package/src/shared/spacer/spacer.test.tsx +0 -143
  176. package/src/shared/spacer/spacer.tsx +0 -88
  177. package/src/shared/spinner/index.ts +0 -2
  178. package/src/shared/spinner/spinner.css +0 -28
  179. package/src/shared/spinner/spinner.test.tsx +0 -82
  180. package/src/shared/spinner/spinner.tsx +0 -65
  181. package/src/shared/title/title.css +0 -7
  182. package/src/shared/title/title.tsx +0 -12
  183. package/src/shared/uiConfig/uiConfig.ts +0 -36
  184. package/src/shared/webComponent/incodeModule.ts +0 -29
  185. package/src/shared/webComponent/registerIncodeElement.ts +0 -15
  186. package/src/styles/__mocks__/fetchTheme.ts +0 -19
  187. package/src/styles/applyTheme.ts +0 -37
  188. package/src/styles/cn.test.tsx +0 -57
  189. package/src/styles/cn.tsx +0 -21
  190. package/src/styles/core.css +0 -12
  191. package/src/styles/fetchTheme.test.ts +0 -390
  192. package/src/styles/fetchTheme.ts +0 -88
  193. package/src/styles/generatePalette.ts +0 -111
  194. package/src/styles/reset.css +0 -65
  195. package/src/styles/resolveCssVariableToHex.ts +0 -28
  196. package/src/styles/tailwind.css +0 -291
  197. package/src/styles/themeTypes.ts +0 -18
  198. package/src/styles/tokens/colors.css +0 -190
  199. package/src/styles/tokens/components.css +0 -174
  200. package/src/styles/tokens/index.css +0 -4
  201. package/src/styles/tokens/primitives.css +0 -129
  202. package/src/styles/tokens/semantic.css +0 -51
  203. package/src/svg.d.ts +0 -4
  204. package/src/types/assets.d.ts +0 -1
  205. package/src/types/custom-elements.d.ts +0 -104
  206. package/tsconfig.json +0 -22
  207. package/vite.config.ts +0 -260
  208. package/vitest.config.ts +0 -40
  209. package/vitest.setup.ts +0 -16
@@ -0,0 +1,344 @@
1
+ function z(c, y) {
2
+ for (var w = 0; w < y.length; w++) {
3
+ const p = y[w];
4
+ if (typeof p != "string" && !Array.isArray(p)) {
5
+ for (const l in p)
6
+ if (l !== "default" && !(l in c)) {
7
+ const b = Object.getOwnPropertyDescriptor(p, l);
8
+ b && Object.defineProperty(c, l, b.get ? b : {
9
+ enumerable: !0,
10
+ get: () => p[l]
11
+ });
12
+ }
13
+ }
14
+ }
15
+ return Object.freeze(Object.defineProperty(c, Symbol.toStringTag, { value: "Module" }));
16
+ }
17
+ var R = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
18
+ function X(c) {
19
+ return c && c.__esModule && Object.prototype.hasOwnProperty.call(c, "default") ? c.default : c;
20
+ }
21
+ var A = { exports: {} }, U;
22
+ function J() {
23
+ return U || (U = 1, (function(c, y) {
24
+ var w = typeof globalThis < "u" && globalThis || typeof self < "u" && self || typeof R < "u" && R, p = (function() {
25
+ function b() {
26
+ this.fetch = !1, this.DOMException = w.DOMException;
27
+ }
28
+ return b.prototype = w, new b();
29
+ })();
30
+ (function(b) {
31
+ (function(u) {
32
+ var a = typeof b < "u" && b || typeof self < "u" && self || typeof a < "u" && a, f = {
33
+ searchParams: "URLSearchParams" in a,
34
+ iterable: "Symbol" in a && "iterator" in Symbol,
35
+ blob: "FileReader" in a && "Blob" in a && (function() {
36
+ try {
37
+ return new Blob(), !0;
38
+ } catch {
39
+ return !1;
40
+ }
41
+ })(),
42
+ formData: "FormData" in a,
43
+ arrayBuffer: "ArrayBuffer" in a
44
+ };
45
+ function S(e) {
46
+ return e && DataView.prototype.isPrototypeOf(e);
47
+ }
48
+ if (f.arrayBuffer)
49
+ var F = [
50
+ "[object Int8Array]",
51
+ "[object Uint8Array]",
52
+ "[object Uint8ClampedArray]",
53
+ "[object Int16Array]",
54
+ "[object Uint16Array]",
55
+ "[object Int32Array]",
56
+ "[object Uint32Array]",
57
+ "[object Float32Array]",
58
+ "[object Float64Array]"
59
+ ], M = ArrayBuffer.isView || function(e) {
60
+ return e && F.indexOf(Object.prototype.toString.call(e)) > -1;
61
+ };
62
+ function v(e) {
63
+ if (typeof e != "string" && (e = String(e)), /[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e) || e === "")
64
+ throw new TypeError('Invalid character in header field name: "' + e + '"');
65
+ return e.toLowerCase();
66
+ }
67
+ function E(e) {
68
+ return typeof e != "string" && (e = String(e)), e;
69
+ }
70
+ function T(e) {
71
+ var t = {
72
+ next: function() {
73
+ var r = e.shift();
74
+ return { done: r === void 0, value: r };
75
+ }
76
+ };
77
+ return f.iterable && (t[Symbol.iterator] = function() {
78
+ return t;
79
+ }), t;
80
+ }
81
+ function s(e) {
82
+ this.map = {}, e instanceof s ? e.forEach(function(t, r) {
83
+ this.append(r, t);
84
+ }, this) : Array.isArray(e) ? e.forEach(function(t) {
85
+ this.append(t[0], t[1]);
86
+ }, this) : e && Object.getOwnPropertyNames(e).forEach(function(t) {
87
+ this.append(t, e[t]);
88
+ }, this);
89
+ }
90
+ s.prototype.append = function(e, t) {
91
+ e = v(e), t = E(t);
92
+ var r = this.map[e];
93
+ this.map[e] = r ? r + ", " + t : t;
94
+ }, s.prototype.delete = function(e) {
95
+ delete this.map[v(e)];
96
+ }, s.prototype.get = function(e) {
97
+ return e = v(e), this.has(e) ? this.map[e] : null;
98
+ }, s.prototype.has = function(e) {
99
+ return this.map.hasOwnProperty(v(e));
100
+ }, s.prototype.set = function(e, t) {
101
+ this.map[v(e)] = E(t);
102
+ }, s.prototype.forEach = function(e, t) {
103
+ for (var r in this.map)
104
+ this.map.hasOwnProperty(r) && e.call(t, this.map[r], r, this);
105
+ }, s.prototype.keys = function() {
106
+ var e = [];
107
+ return this.forEach(function(t, r) {
108
+ e.push(r);
109
+ }), T(e);
110
+ }, s.prototype.values = function() {
111
+ var e = [];
112
+ return this.forEach(function(t) {
113
+ e.push(t);
114
+ }), T(e);
115
+ }, s.prototype.entries = function() {
116
+ var e = [];
117
+ return this.forEach(function(t, r) {
118
+ e.push([r, t]);
119
+ }), T(e);
120
+ }, f.iterable && (s.prototype[Symbol.iterator] = s.prototype.entries);
121
+ function B(e) {
122
+ if (e.bodyUsed)
123
+ return Promise.reject(new TypeError("Already read"));
124
+ e.bodyUsed = !0;
125
+ }
126
+ function P(e) {
127
+ return new Promise(function(t, r) {
128
+ e.onload = function() {
129
+ t(e.result);
130
+ }, e.onerror = function() {
131
+ r(e.error);
132
+ };
133
+ });
134
+ }
135
+ function I(e) {
136
+ var t = new FileReader(), r = P(t);
137
+ return t.readAsArrayBuffer(e), r;
138
+ }
139
+ function q(e) {
140
+ var t = new FileReader(), r = P(t);
141
+ return t.readAsText(e), r;
142
+ }
143
+ function H(e) {
144
+ for (var t = new Uint8Array(e), r = new Array(t.length), n = 0; n < t.length; n++)
145
+ r[n] = String.fromCharCode(t[n]);
146
+ return r.join("");
147
+ }
148
+ function D(e) {
149
+ if (e.slice)
150
+ return e.slice(0);
151
+ var t = new Uint8Array(e.byteLength);
152
+ return t.set(new Uint8Array(e)), t.buffer;
153
+ }
154
+ function x() {
155
+ return this.bodyUsed = !1, this._initBody = function(e) {
156
+ this.bodyUsed = this.bodyUsed, this._bodyInit = e, e ? typeof e == "string" ? this._bodyText = e : f.blob && Blob.prototype.isPrototypeOf(e) ? this._bodyBlob = e : f.formData && FormData.prototype.isPrototypeOf(e) ? this._bodyFormData = e : f.searchParams && URLSearchParams.prototype.isPrototypeOf(e) ? this._bodyText = e.toString() : f.arrayBuffer && f.blob && S(e) ? (this._bodyArrayBuffer = D(e.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer])) : f.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(e) || M(e)) ? this._bodyArrayBuffer = D(e) : this._bodyText = e = Object.prototype.toString.call(e) : this._bodyText = "", this.headers.get("content-type") || (typeof e == "string" ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : f.searchParams && URLSearchParams.prototype.isPrototypeOf(e) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
157
+ }, f.blob && (this.blob = function() {
158
+ var e = B(this);
159
+ if (e)
160
+ return e;
161
+ if (this._bodyBlob)
162
+ return Promise.resolve(this._bodyBlob);
163
+ if (this._bodyArrayBuffer)
164
+ return Promise.resolve(new Blob([this._bodyArrayBuffer]));
165
+ if (this._bodyFormData)
166
+ throw new Error("could not read FormData body as blob");
167
+ return Promise.resolve(new Blob([this._bodyText]));
168
+ }, this.arrayBuffer = function() {
169
+ if (this._bodyArrayBuffer) {
170
+ var e = B(this);
171
+ return e || (ArrayBuffer.isView(this._bodyArrayBuffer) ? Promise.resolve(
172
+ this._bodyArrayBuffer.buffer.slice(
173
+ this._bodyArrayBuffer.byteOffset,
174
+ this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength
175
+ )
176
+ ) : Promise.resolve(this._bodyArrayBuffer));
177
+ } else
178
+ return this.blob().then(I);
179
+ }), this.text = function() {
180
+ var e = B(this);
181
+ if (e)
182
+ return e;
183
+ if (this._bodyBlob)
184
+ return q(this._bodyBlob);
185
+ if (this._bodyArrayBuffer)
186
+ return Promise.resolve(H(this._bodyArrayBuffer));
187
+ if (this._bodyFormData)
188
+ throw new Error("could not read FormData body as text");
189
+ return Promise.resolve(this._bodyText);
190
+ }, f.formData && (this.formData = function() {
191
+ return this.text().then(k);
192
+ }), this.json = function() {
193
+ return this.text().then(JSON.parse);
194
+ }, this;
195
+ }
196
+ var L = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
197
+ function C(e) {
198
+ var t = e.toUpperCase();
199
+ return L.indexOf(t) > -1 ? t : e;
200
+ }
201
+ function m(e, t) {
202
+ if (!(this instanceof m))
203
+ throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
204
+ t = t || {};
205
+ var r = t.body;
206
+ if (e instanceof m) {
207
+ if (e.bodyUsed)
208
+ throw new TypeError("Already read");
209
+ this.url = e.url, this.credentials = e.credentials, t.headers || (this.headers = new s(e.headers)), this.method = e.method, this.mode = e.mode, this.signal = e.signal, !r && e._bodyInit != null && (r = e._bodyInit, e.bodyUsed = !0);
210
+ } else
211
+ this.url = String(e);
212
+ if (this.credentials = t.credentials || this.credentials || "same-origin", (t.headers || !this.headers) && (this.headers = new s(t.headers)), this.method = C(t.method || this.method || "GET"), this.mode = t.mode || this.mode || null, this.signal = t.signal || this.signal, this.referrer = null, (this.method === "GET" || this.method === "HEAD") && r)
213
+ throw new TypeError("Body not allowed for GET or HEAD requests");
214
+ if (this._initBody(r), (this.method === "GET" || this.method === "HEAD") && (t.cache === "no-store" || t.cache === "no-cache")) {
215
+ var n = /([?&])_=[^&]*/;
216
+ if (n.test(this.url))
217
+ this.url = this.url.replace(n, "$1_=" + (/* @__PURE__ */ new Date()).getTime());
218
+ else {
219
+ var i = /\?/;
220
+ this.url += (i.test(this.url) ? "&" : "?") + "_=" + (/* @__PURE__ */ new Date()).getTime();
221
+ }
222
+ }
223
+ }
224
+ m.prototype.clone = function() {
225
+ return new m(this, { body: this._bodyInit });
226
+ };
227
+ function k(e) {
228
+ var t = new FormData();
229
+ return e.trim().split("&").forEach(function(r) {
230
+ if (r) {
231
+ var n = r.split("="), i = n.shift().replace(/\+/g, " "), o = n.join("=").replace(/\+/g, " ");
232
+ t.append(decodeURIComponent(i), decodeURIComponent(o));
233
+ }
234
+ }), t;
235
+ }
236
+ function N(e) {
237
+ var t = new s(), r = e.replace(/\r?\n[\t ]+/g, " ");
238
+ return r.split("\r").map(function(n) {
239
+ return n.indexOf(`
240
+ `) === 0 ? n.substr(1, n.length) : n;
241
+ }).forEach(function(n) {
242
+ var i = n.split(":"), o = i.shift().trim();
243
+ if (o) {
244
+ var _ = i.join(":").trim();
245
+ t.append(o, _);
246
+ }
247
+ }), t;
248
+ }
249
+ x.call(m.prototype);
250
+ function d(e, t) {
251
+ if (!(this instanceof d))
252
+ throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
253
+ t || (t = {}), this.type = "default", this.status = t.status === void 0 ? 200 : t.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = t.statusText === void 0 ? "" : "" + t.statusText, this.headers = new s(t.headers), this.url = t.url || "", this._initBody(e);
254
+ }
255
+ x.call(d.prototype), d.prototype.clone = function() {
256
+ return new d(this._bodyInit, {
257
+ status: this.status,
258
+ statusText: this.statusText,
259
+ headers: new s(this.headers),
260
+ url: this.url
261
+ });
262
+ }, d.error = function() {
263
+ var e = new d(null, { status: 0, statusText: "" });
264
+ return e.type = "error", e;
265
+ };
266
+ var G = [301, 302, 303, 307, 308];
267
+ d.redirect = function(e, t) {
268
+ if (G.indexOf(t) === -1)
269
+ throw new RangeError("Invalid status code");
270
+ return new d(null, { status: t, headers: { location: e } });
271
+ }, u.DOMException = a.DOMException;
272
+ try {
273
+ new u.DOMException();
274
+ } catch {
275
+ u.DOMException = function(t, r) {
276
+ this.message = t, this.name = r;
277
+ var n = Error(t);
278
+ this.stack = n.stack;
279
+ }, u.DOMException.prototype = Object.create(Error.prototype), u.DOMException.prototype.constructor = u.DOMException;
280
+ }
281
+ function O(e, t) {
282
+ return new Promise(function(r, n) {
283
+ var i = new m(e, t);
284
+ if (i.signal && i.signal.aborted)
285
+ return n(new u.DOMException("Aborted", "AbortError"));
286
+ var o = new XMLHttpRequest();
287
+ function _() {
288
+ o.abort();
289
+ }
290
+ o.onload = function() {
291
+ var h = {
292
+ status: o.status,
293
+ statusText: o.statusText,
294
+ headers: N(o.getAllResponseHeaders() || "")
295
+ };
296
+ h.url = "responseURL" in o ? o.responseURL : h.headers.get("X-Request-URL");
297
+ var g = "response" in o ? o.response : o.responseText;
298
+ setTimeout(function() {
299
+ r(new d(g, h));
300
+ }, 0);
301
+ }, o.onerror = function() {
302
+ setTimeout(function() {
303
+ n(new TypeError("Network request failed"));
304
+ }, 0);
305
+ }, o.ontimeout = function() {
306
+ setTimeout(function() {
307
+ n(new TypeError("Network request failed"));
308
+ }, 0);
309
+ }, o.onabort = function() {
310
+ setTimeout(function() {
311
+ n(new u.DOMException("Aborted", "AbortError"));
312
+ }, 0);
313
+ };
314
+ function V(h) {
315
+ try {
316
+ return h === "" && a.location.href ? a.location.href : h;
317
+ } catch {
318
+ return h;
319
+ }
320
+ }
321
+ o.open(i.method, V(i.url), !0), i.credentials === "include" ? o.withCredentials = !0 : i.credentials === "omit" && (o.withCredentials = !1), "responseType" in o && (f.blob ? o.responseType = "blob" : f.arrayBuffer && i.headers.get("Content-Type") && i.headers.get("Content-Type").indexOf("application/octet-stream") !== -1 && (o.responseType = "arraybuffer")), t && typeof t.headers == "object" && !(t.headers instanceof s) ? Object.getOwnPropertyNames(t.headers).forEach(function(h) {
322
+ o.setRequestHeader(h, E(t.headers[h]));
323
+ }) : i.headers.forEach(function(h, g) {
324
+ o.setRequestHeader(g, h);
325
+ }), i.signal && (i.signal.addEventListener("abort", _), o.onreadystatechange = function() {
326
+ o.readyState === 4 && i.signal.removeEventListener("abort", _);
327
+ }), o.send(typeof i._bodyInit > "u" ? null : i._bodyInit);
328
+ });
329
+ }
330
+ return O.polyfill = !0, a.fetch || (a.fetch = O, a.Headers = s, a.Request = m, a.Response = d), u.Headers = s, u.Request = m, u.Response = d, u.fetch = O, u;
331
+ })({});
332
+ })(p), p.fetch.ponyfill = !0, delete p.fetch.polyfill;
333
+ var l = w.fetch ? w : p;
334
+ y = l.fetch, y.default = l.fetch, y.fetch = l.fetch, y.Headers = l.Headers, y.Request = l.Request, y.Response = l.Response, c.exports = y;
335
+ })(A, A.exports)), A.exports;
336
+ }
337
+ var j = J();
338
+ const K = /* @__PURE__ */ X(j), Q = /* @__PURE__ */ z({
339
+ __proto__: null,
340
+ default: K
341
+ }, [j]);
342
+ export {
343
+ Q as b
344
+ };
@@ -0,0 +1,145 @@
1
+ import { u as e, S as g, r as h, a as v, B as O } from "../incodeModule-Dv8Qllrv.js";
2
+ import { createEmailManager as y } from "@incodetech/core/email";
3
+ import { d as f, y as b, k as V } from "../vendor-preact-CK0WeTOR.js";
4
+ import { I as P, P as E } from "../page-Dh_Zw2ik.js";
5
+ import { O as k } from "../otpInput-BtoZe0Wz.js";
6
+ const I = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, w = ({
7
+ prefilledEmail: i,
8
+ emailError: s,
9
+ disabled: r = !1,
10
+ onEmailChange: t
11
+ }) => {
12
+ const [n, o] = f("");
13
+ b(() => {
14
+ if (i) {
15
+ o(i);
16
+ const a = I.test(i.trim());
17
+ t(i.trim(), a);
18
+ }
19
+ }, [i, t]);
20
+ const m = (a) => {
21
+ const u = a.target.value;
22
+ o(u);
23
+ const l = u.trim(), c = l.length > 0 && I.test(l);
24
+ t(l, c);
25
+ }, p = s ? "email-error" : void 0;
26
+ return /* @__PURE__ */ e("div", { class: "IncodeEmailInput", children: /* @__PURE__ */ e("div", { class: "IncodeEmailInputContainer", children: [
27
+ /* @__PURE__ */ e(
28
+ "div",
29
+ {
30
+ class: `IncodeEmailInputWrapper ${s ? "IncodeEmailInputWrapperError" : ""} ${r ? "IncodeEmailInputWrapperDisabled" : ""}`,
31
+ children: [
32
+ /* @__PURE__ */ e("label", { for: "email-input", class: "IncodeEmailInputLabel", children: "Email" }),
33
+ /* @__PURE__ */ e(
34
+ "input",
35
+ {
36
+ id: "email-input",
37
+ type: "email",
38
+ value: n,
39
+ onInput: m,
40
+ placeholder: "Email",
41
+ disabled: r,
42
+ class: "IncodeEmailInputField",
43
+ "data-testid": "email-input",
44
+ "aria-label": "Email address",
45
+ "aria-invalid": s ? "true" : "false",
46
+ "aria-describedby": p,
47
+ autocomplete: "email"
48
+ }
49
+ )
50
+ ]
51
+ }
52
+ ),
53
+ s && /* @__PURE__ */ e(V, { children: [
54
+ /* @__PURE__ */ e(g, { size: 8 }),
55
+ /* @__PURE__ */ e(
56
+ "p",
57
+ {
58
+ id: p,
59
+ class: "IncodeEmailInputError",
60
+ "data-testid": "email-error",
61
+ role: "alert",
62
+ children: s
63
+ }
64
+ )
65
+ ] })
66
+ ] }) });
67
+ }, C = ({ config: i, onFinish: s, onError: r }) => {
68
+ const [t, n] = v(() => {
69
+ if (!i)
70
+ throw new Error("Email config is required");
71
+ return y({ config: i });
72
+ }), [o, m] = f(!1);
73
+ if (b(() => {
74
+ if (t.status === "idle" && n.load)
75
+ try {
76
+ n.load();
77
+ } catch (a) {
78
+ r?.(
79
+ a instanceof Error ? a.message : "Failed to initialize email verification"
80
+ );
81
+ }
82
+ }, []), t.status === "idle" || t.status === "loadingPrefill" || t.status === "inputting" || t.status === "submitting" || t.status === "sendingOtp") {
83
+ const a = t.status === "idle" || t.status === "loadingPrefill" || t.status === "submitting" || t.status === "sendingOtp", d = t.status === "inputting" ? t.prefilledEmail : void 0, u = t.status === "inputting" ? t.emailError : void 0;
84
+ return /* @__PURE__ */ e(
85
+ E,
86
+ {
87
+ className: "IncodeEmailPage",
88
+ title: "Verify Email",
89
+ subtitle: i.otpVerification ? "We will send you a verification code" : void 0,
90
+ children: [
91
+ /* @__PURE__ */ e(
92
+ w,
93
+ {
94
+ prefilledEmail: d,
95
+ emailError: u,
96
+ disabled: a,
97
+ onEmailChange: (l, c) => {
98
+ n.setEmail(l, c), m(c);
99
+ }
100
+ }
101
+ ),
102
+ /* @__PURE__ */ e(g, {}),
103
+ /* @__PURE__ */ e(
104
+ O,
105
+ {
106
+ onClick: () => n.submit(),
107
+ disabled: !o,
108
+ isLoading: a,
109
+ "data-testid": "email-submit",
110
+ children: "Continue"
111
+ }
112
+ )
113
+ ]
114
+ }
115
+ );
116
+ }
117
+ if (t.status === "awaitingOtp" || t.status === "verifyingOtp" || t.status === "otpError") {
118
+ const a = t.status === "verifyingOtp";
119
+ return /* @__PURE__ */ e(
120
+ E,
121
+ {
122
+ className: "IncodeEmailPage IncodeEmailOtpPage",
123
+ title: "Enter Verification Code",
124
+ children: /* @__PURE__ */ e(
125
+ k,
126
+ {
127
+ resendTimer: t.status === "awaitingOtp" ? t.resendTimer : 0,
128
+ canResend: t.status === "awaitingOtp" ? t.canResend : !1,
129
+ error: t.status === "otpError" ? t.error : void 0,
130
+ onSubmit: (d) => n.submitOtp(d),
131
+ onResend: () => n.resendOtp(),
132
+ onBack: () => n.back(),
133
+ backLinkText: "change email address",
134
+ isLoading: a
135
+ }
136
+ )
137
+ }
138
+ );
139
+ }
140
+ return t.status === "success" ? (s?.(), null) : (t.status === "error" && r?.(t.error), null);
141
+ }, L = ({ config: i, onFinish: s, onError: r }) => /* @__PURE__ */ e(P, { children: i ? /* @__PURE__ */ e(C, { config: i, onFinish: s, onError: r }) : null });
142
+ h(L, "incode-email");
143
+ export {
144
+ L as Email
145
+ };
@@ -0,0 +1,123 @@
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
2
+ @layer properties {
3
+ @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
4
+ *, :before, :after, ::backdrop {
5
+ --tw-border-style: solid;
6
+ --tw-duration: initial;
7
+ --tw-font-weight: initial;
8
+ }
9
+ }
10
+ }
11
+
12
+ .IncodeEmailPage .IncodePageContent {
13
+ padding-top: var(--spacing-32, var(--spacing-32, 32px));
14
+ padding-bottom: var(--spacing-16, var(--spacing-16, 16px));
15
+ }
16
+
17
+ .IncodeEmailPage .IncodeEmailInput, .IncodeEmailPage .IncodeEmailInputContainer {
18
+ flex-direction: column;
19
+ align-items: center;
20
+ width: 100%;
21
+ display: flex;
22
+ }
23
+
24
+ .IncodeEmailPage .IncodeEmailInputWrapper {
25
+ border-radius: var(--radius-small, var(--border-radius-small));
26
+ border-style: var(--tw-border-style);
27
+ border-width: 1px;
28
+ border-color: var(--color-input-border-default, var(--input-border-default));
29
+ background-color: var(--color-input-surface-default, var(--input-surface-default));
30
+ width: 100%;
31
+ max-width: 340px;
32
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
33
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));
34
+ transition-duration: var(--tw-duration, var(--default-transition-duration, .15s));
35
+ --tw-duration: .2s;
36
+ flex-direction: column;
37
+ transition-duration: .2s;
38
+ display: flex;
39
+ }
40
+
41
+ .IncodeEmailPage .IncodeEmailInputWrapper:focus-within {
42
+ border-color: var(--color-input-border-active, var(--input-border-active));
43
+ }
44
+
45
+ .IncodeEmailPage .IncodeEmailInputWrapper.IncodeEmailInputWrapperError {
46
+ border-color: var(--color-input-border-negative, var(--input-border-negative));
47
+ }
48
+
49
+ .IncodeEmailPage .IncodeEmailInputWrapper.IncodeEmailInputWrapperDisabled {
50
+ border-color: var(--color-input-border-disabled, var(--input-border-disabled));
51
+ background-color: var(--color-input-surface-disabled, var(--input-surface-disabled));
52
+ }
53
+
54
+ .IncodeEmailPage .IncodeEmailInputLabel {
55
+ clip-path: inset(50%);
56
+ white-space: nowrap;
57
+ border-width: 0;
58
+ width: 1px;
59
+ height: 1px;
60
+ margin: -1px;
61
+ padding: 0;
62
+ position: absolute;
63
+ overflow: hidden;
64
+ }
65
+
66
+ .IncodeEmailPage .IncodeEmailInputField {
67
+ border-style: var(--tw-border-style);
68
+ border-width: var(--border-width-none, var(--border-none));
69
+ --tw-border-style: none;
70
+ width: 100%;
71
+ padding-inline: var(--spacing-16, var(--spacing-16, 16px));
72
+ padding-block: var(--spacing-16, var(--spacing-16, 16px));
73
+ font-size: var(--text-18, var(--primitive-typography-size-18));
74
+ --tw-font-weight: var(--font-weight-medium, var(--primitive-typography-weight-medium));
75
+ font-weight: var(--font-weight-medium, var(--primitive-typography-weight-medium));
76
+ color: var(--color-input-text-field-default, var(--input-text-field-default));
77
+ --tw-outline-style: none;
78
+ border-radius: var(--radius-small, var(--border-radius-small));
79
+ background-color: #0000;
80
+ border-style: none;
81
+ outline-style: none;
82
+ }
83
+
84
+ .IncodeEmailPage .IncodeEmailInputField::placeholder {
85
+ --tw-font-weight: var(--font-weight-medium, var(--primitive-typography-weight-medium));
86
+ font-weight: var(--font-weight-medium, var(--primitive-typography-weight-medium));
87
+ color: var(--color-input-text-field-placeholder, var(--input-text-field-placeholder));
88
+ }
89
+
90
+ .IncodeEmailPage .IncodeEmailInputField:disabled {
91
+ cursor: not-allowed;
92
+ color: var(--color-input-text-field-disabled, var(--input-text-field-disabled));
93
+ }
94
+
95
+ .IncodeEmailPage .IncodeEmailInputField:focus {
96
+ --tw-outline-style: none;
97
+ outline-style: none;
98
+ }
99
+
100
+ .IncodeEmailPage .IncodeEmailInputError {
101
+ margin: var(--spacing-0, var(--spacing-none, 0px));
102
+ text-align: center;
103
+ font-size: var(--text-14, var(--primitive-typography-size-14));
104
+ --tw-font-weight: var(--font-weight-medium, var(--primitive-typography-weight-medium));
105
+ font-weight: var(--font-weight-medium, var(--primitive-typography-weight-medium));
106
+ color: var(--color-input-text-helper-negative, var(--input-text-helper-negative));
107
+ }
108
+
109
+ @property --tw-border-style {
110
+ syntax: "*";
111
+ inherits: false;
112
+ initial-value: solid;
113
+ }
114
+
115
+ @property --tw-duration {
116
+ syntax: "*";
117
+ inherits: false
118
+ }
119
+
120
+ @property --tw-font-weight {
121
+ syntax: "*";
122
+ inherits: false
123
+ }