@aaspai/react 0.0.0 → 0.0.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.
Files changed (55) hide show
  1. package/README.md +720 -8
  2. package/dist/atoms.cjs +3565 -0
  3. package/dist/atoms.cjs.map +1 -0
  4. package/dist/atoms.d.cts +255 -0
  5. package/dist/atoms.d.ts +255 -0
  6. package/dist/atoms.js +3530 -0
  7. package/dist/atoms.js.map +1 -0
  8. package/dist/components.cjs +5397 -0
  9. package/dist/components.cjs.map +1 -0
  10. package/dist/components.d.cts +362 -0
  11. package/dist/components.d.ts +362 -0
  12. package/dist/components.js +5344 -0
  13. package/dist/components.js.map +1 -0
  14. package/dist/forms.cjs +3928 -0
  15. package/dist/forms.cjs.map +1 -0
  16. package/dist/forms.d.cts +135 -0
  17. package/dist/forms.d.ts +135 -0
  18. package/dist/forms.js +3903 -0
  19. package/dist/forms.js.map +1 -0
  20. package/dist/hooks.cjs +74 -0
  21. package/dist/hooks.cjs.map +1 -0
  22. package/dist/hooks.d.cts +138 -0
  23. package/dist/hooks.d.ts +138 -0
  24. package/dist/hooks.js +70 -0
  25. package/dist/hooks.js.map +1 -0
  26. package/dist/index.cjs +6030 -0
  27. package/dist/index.cjs.map +1 -0
  28. package/dist/index.d.cts +248 -0
  29. package/dist/index.d.ts +248 -0
  30. package/dist/index.js +5952 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/lib.cjs +139 -0
  33. package/dist/lib.cjs.map +1 -0
  34. package/dist/lib.d.cts +111 -0
  35. package/dist/lib.d.ts +111 -0
  36. package/dist/lib.js +128 -0
  37. package/dist/lib.js.map +1 -0
  38. package/dist/navigation.cjs +56 -0
  39. package/dist/navigation.cjs.map +1 -0
  40. package/dist/navigation.d.cts +65 -0
  41. package/dist/navigation.d.ts +65 -0
  42. package/dist/navigation.js +51 -0
  43. package/dist/navigation.js.map +1 -0
  44. package/dist/styles.css +839 -0
  45. package/dist/types.cjs +4 -0
  46. package/dist/types.cjs.map +1 -0
  47. package/dist/types.d.cts +17 -0
  48. package/dist/types.d.ts +17 -0
  49. package/dist/types.js +3 -0
  50. package/dist/types.js.map +1 -0
  51. package/package.json +67 -28
  52. package/index.cjs +0 -10
  53. package/index.d.ts +0 -6
  54. package/index.js +0 -5
  55. package/styles.css +0 -1
package/dist/atoms.js ADDED
@@ -0,0 +1,3530 @@
1
+ import * as React2 from 'react';
2
+ import { createContext, forwardRef, useContext, useState, useMemo, useRef, useEffect, useCallback } from 'react';
3
+ import { jsxs, jsx as jsx$1 } from 'react/jsx-runtime';
4
+ import { AlertTriangle, Check, EyeOff, Eye, Loader2, CircleCheck } from 'lucide-react';
5
+ import { AaspaiContext } from '@aaspai/shared/react';
6
+
7
+ var __create = Object.create;
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __getProtoOf = Object.getPrototypeOf;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
13
+ var __commonJS = (cb, mod) => function __require() {
14
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
15
+ };
16
+ var __copyProps = (to, from2, except, desc) => {
17
+ if (from2 && typeof from2 === "object" || typeof from2 === "function") {
18
+ for (let key of __getOwnPropNames(from2))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
+ mod
31
+ ));
32
+
33
+ // node_modules/react-is/cjs/react-is.production.min.js
34
+ var require_react_is_production_min = __commonJS({
35
+ "node_modules/react-is/cjs/react-is.production.min.js"(exports$1) {
36
+ var b = "function" === typeof Symbol && Symbol.for;
37
+ var c = b ? /* @__PURE__ */ Symbol.for("react.element") : 60103;
38
+ var d = b ? /* @__PURE__ */ Symbol.for("react.portal") : 60106;
39
+ var e = b ? /* @__PURE__ */ Symbol.for("react.fragment") : 60107;
40
+ var f = b ? /* @__PURE__ */ Symbol.for("react.strict_mode") : 60108;
41
+ var g = b ? /* @__PURE__ */ Symbol.for("react.profiler") : 60114;
42
+ var h = b ? /* @__PURE__ */ Symbol.for("react.provider") : 60109;
43
+ var k = b ? /* @__PURE__ */ Symbol.for("react.context") : 60110;
44
+ var l = b ? /* @__PURE__ */ Symbol.for("react.async_mode") : 60111;
45
+ var m = b ? /* @__PURE__ */ Symbol.for("react.concurrent_mode") : 60111;
46
+ var n = b ? /* @__PURE__ */ Symbol.for("react.forward_ref") : 60112;
47
+ var p = b ? /* @__PURE__ */ Symbol.for("react.suspense") : 60113;
48
+ var q = b ? /* @__PURE__ */ Symbol.for("react.suspense_list") : 60120;
49
+ var r = b ? /* @__PURE__ */ Symbol.for("react.memo") : 60115;
50
+ var t = b ? /* @__PURE__ */ Symbol.for("react.lazy") : 60116;
51
+ var v = b ? /* @__PURE__ */ Symbol.for("react.block") : 60121;
52
+ var w = b ? /* @__PURE__ */ Symbol.for("react.fundamental") : 60117;
53
+ var x = b ? /* @__PURE__ */ Symbol.for("react.responder") : 60118;
54
+ var y = b ? /* @__PURE__ */ Symbol.for("react.scope") : 60119;
55
+ function z(a) {
56
+ if ("object" === typeof a && null !== a) {
57
+ var u = a.$$typeof;
58
+ switch (u) {
59
+ case c:
60
+ switch (a = a.type, a) {
61
+ case l:
62
+ case m:
63
+ case e:
64
+ case g:
65
+ case f:
66
+ case p:
67
+ return a;
68
+ default:
69
+ switch (a = a && a.$$typeof, a) {
70
+ case k:
71
+ case n:
72
+ case t:
73
+ case r:
74
+ case h:
75
+ return a;
76
+ default:
77
+ return u;
78
+ }
79
+ }
80
+ case d:
81
+ return u;
82
+ }
83
+ }
84
+ }
85
+ function A(a) {
86
+ return z(a) === m;
87
+ }
88
+ exports$1.AsyncMode = l;
89
+ exports$1.ConcurrentMode = m;
90
+ exports$1.ContextConsumer = k;
91
+ exports$1.ContextProvider = h;
92
+ exports$1.Element = c;
93
+ exports$1.ForwardRef = n;
94
+ exports$1.Fragment = e;
95
+ exports$1.Lazy = t;
96
+ exports$1.Memo = r;
97
+ exports$1.Portal = d;
98
+ exports$1.Profiler = g;
99
+ exports$1.StrictMode = f;
100
+ exports$1.Suspense = p;
101
+ exports$1.isAsyncMode = function(a) {
102
+ return A(a) || z(a) === l;
103
+ };
104
+ exports$1.isConcurrentMode = A;
105
+ exports$1.isContextConsumer = function(a) {
106
+ return z(a) === k;
107
+ };
108
+ exports$1.isContextProvider = function(a) {
109
+ return z(a) === h;
110
+ };
111
+ exports$1.isElement = function(a) {
112
+ return "object" === typeof a && null !== a && a.$$typeof === c;
113
+ };
114
+ exports$1.isForwardRef = function(a) {
115
+ return z(a) === n;
116
+ };
117
+ exports$1.isFragment = function(a) {
118
+ return z(a) === e;
119
+ };
120
+ exports$1.isLazy = function(a) {
121
+ return z(a) === t;
122
+ };
123
+ exports$1.isMemo = function(a) {
124
+ return z(a) === r;
125
+ };
126
+ exports$1.isPortal = function(a) {
127
+ return z(a) === d;
128
+ };
129
+ exports$1.isProfiler = function(a) {
130
+ return z(a) === g;
131
+ };
132
+ exports$1.isStrictMode = function(a) {
133
+ return z(a) === f;
134
+ };
135
+ exports$1.isSuspense = function(a) {
136
+ return z(a) === p;
137
+ };
138
+ exports$1.isValidElementType = function(a) {
139
+ return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);
140
+ };
141
+ exports$1.typeOf = z;
142
+ }
143
+ });
144
+
145
+ // node_modules/react-is/cjs/react-is.development.js
146
+ var require_react_is_development = __commonJS({
147
+ "node_modules/react-is/cjs/react-is.development.js"(exports$1) {
148
+ if (process.env.NODE_ENV !== "production") {
149
+ (function() {
150
+ var hasSymbol = typeof Symbol === "function" && Symbol.for;
151
+ var REACT_ELEMENT_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.element") : 60103;
152
+ var REACT_PORTAL_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.portal") : 60106;
153
+ var REACT_FRAGMENT_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.fragment") : 60107;
154
+ var REACT_STRICT_MODE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.strict_mode") : 60108;
155
+ var REACT_PROFILER_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.profiler") : 60114;
156
+ var REACT_PROVIDER_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.provider") : 60109;
157
+ var REACT_CONTEXT_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.context") : 60110;
158
+ var REACT_ASYNC_MODE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.async_mode") : 60111;
159
+ var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.concurrent_mode") : 60111;
160
+ var REACT_FORWARD_REF_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.forward_ref") : 60112;
161
+ var REACT_SUSPENSE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.suspense") : 60113;
162
+ var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.suspense_list") : 60120;
163
+ var REACT_MEMO_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.memo") : 60115;
164
+ var REACT_LAZY_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.lazy") : 60116;
165
+ var REACT_BLOCK_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.block") : 60121;
166
+ var REACT_FUNDAMENTAL_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.fundamental") : 60117;
167
+ var REACT_RESPONDER_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.responder") : 60118;
168
+ var REACT_SCOPE_TYPE = hasSymbol ? /* @__PURE__ */ Symbol.for("react.scope") : 60119;
169
+ function isValidElementType(type) {
170
+ return typeof type === "string" || typeof type === "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
171
+ type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
172
+ }
173
+ function typeOf(object) {
174
+ if (typeof object === "object" && object !== null) {
175
+ var $$typeof = object.$$typeof;
176
+ switch ($$typeof) {
177
+ case REACT_ELEMENT_TYPE:
178
+ var type = object.type;
179
+ switch (type) {
180
+ case REACT_ASYNC_MODE_TYPE:
181
+ case REACT_CONCURRENT_MODE_TYPE:
182
+ case REACT_FRAGMENT_TYPE:
183
+ case REACT_PROFILER_TYPE:
184
+ case REACT_STRICT_MODE_TYPE:
185
+ case REACT_SUSPENSE_TYPE:
186
+ return type;
187
+ default:
188
+ var $$typeofType = type && type.$$typeof;
189
+ switch ($$typeofType) {
190
+ case REACT_CONTEXT_TYPE:
191
+ case REACT_FORWARD_REF_TYPE:
192
+ case REACT_LAZY_TYPE:
193
+ case REACT_MEMO_TYPE:
194
+ case REACT_PROVIDER_TYPE:
195
+ return $$typeofType;
196
+ default:
197
+ return $$typeof;
198
+ }
199
+ }
200
+ case REACT_PORTAL_TYPE:
201
+ return $$typeof;
202
+ }
203
+ }
204
+ return void 0;
205
+ }
206
+ var AsyncMode = REACT_ASYNC_MODE_TYPE;
207
+ var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
208
+ var ContextConsumer = REACT_CONTEXT_TYPE;
209
+ var ContextProvider = REACT_PROVIDER_TYPE;
210
+ var Element = REACT_ELEMENT_TYPE;
211
+ var ForwardRef = REACT_FORWARD_REF_TYPE;
212
+ var Fragment4 = REACT_FRAGMENT_TYPE;
213
+ var Lazy = REACT_LAZY_TYPE;
214
+ var Memo = REACT_MEMO_TYPE;
215
+ var Portal = REACT_PORTAL_TYPE;
216
+ var Profiler = REACT_PROFILER_TYPE;
217
+ var StrictMode = REACT_STRICT_MODE_TYPE;
218
+ var Suspense = REACT_SUSPENSE_TYPE;
219
+ var hasWarnedAboutDeprecatedIsAsyncMode = false;
220
+ function isAsyncMode(object) {
221
+ {
222
+ if (!hasWarnedAboutDeprecatedIsAsyncMode) {
223
+ hasWarnedAboutDeprecatedIsAsyncMode = true;
224
+ console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.");
225
+ }
226
+ }
227
+ return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
228
+ }
229
+ function isConcurrentMode(object) {
230
+ return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
231
+ }
232
+ function isContextConsumer(object) {
233
+ return typeOf(object) === REACT_CONTEXT_TYPE;
234
+ }
235
+ function isContextProvider(object) {
236
+ return typeOf(object) === REACT_PROVIDER_TYPE;
237
+ }
238
+ function isElement(object) {
239
+ return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
240
+ }
241
+ function isForwardRef(object) {
242
+ return typeOf(object) === REACT_FORWARD_REF_TYPE;
243
+ }
244
+ function isFragment(object) {
245
+ return typeOf(object) === REACT_FRAGMENT_TYPE;
246
+ }
247
+ function isLazy(object) {
248
+ return typeOf(object) === REACT_LAZY_TYPE;
249
+ }
250
+ function isMemo(object) {
251
+ return typeOf(object) === REACT_MEMO_TYPE;
252
+ }
253
+ function isPortal(object) {
254
+ return typeOf(object) === REACT_PORTAL_TYPE;
255
+ }
256
+ function isProfiler(object) {
257
+ return typeOf(object) === REACT_PROFILER_TYPE;
258
+ }
259
+ function isStrictMode(object) {
260
+ return typeOf(object) === REACT_STRICT_MODE_TYPE;
261
+ }
262
+ function isSuspense(object) {
263
+ return typeOf(object) === REACT_SUSPENSE_TYPE;
264
+ }
265
+ exports$1.AsyncMode = AsyncMode;
266
+ exports$1.ConcurrentMode = ConcurrentMode;
267
+ exports$1.ContextConsumer = ContextConsumer;
268
+ exports$1.ContextProvider = ContextProvider;
269
+ exports$1.Element = Element;
270
+ exports$1.ForwardRef = ForwardRef;
271
+ exports$1.Fragment = Fragment4;
272
+ exports$1.Lazy = Lazy;
273
+ exports$1.Memo = Memo;
274
+ exports$1.Portal = Portal;
275
+ exports$1.Profiler = Profiler;
276
+ exports$1.StrictMode = StrictMode;
277
+ exports$1.Suspense = Suspense;
278
+ exports$1.isAsyncMode = isAsyncMode;
279
+ exports$1.isConcurrentMode = isConcurrentMode;
280
+ exports$1.isContextConsumer = isContextConsumer;
281
+ exports$1.isContextProvider = isContextProvider;
282
+ exports$1.isElement = isElement;
283
+ exports$1.isForwardRef = isForwardRef;
284
+ exports$1.isFragment = isFragment;
285
+ exports$1.isLazy = isLazy;
286
+ exports$1.isMemo = isMemo;
287
+ exports$1.isPortal = isPortal;
288
+ exports$1.isProfiler = isProfiler;
289
+ exports$1.isStrictMode = isStrictMode;
290
+ exports$1.isSuspense = isSuspense;
291
+ exports$1.isValidElementType = isValidElementType;
292
+ exports$1.typeOf = typeOf;
293
+ })();
294
+ }
295
+ }
296
+ });
297
+
298
+ // node_modules/react-is/index.js
299
+ var require_react_is = __commonJS({
300
+ "node_modules/react-is/index.js"(exports$1, module) {
301
+ if (process.env.NODE_ENV === "production") {
302
+ module.exports = require_react_is_production_min();
303
+ } else {
304
+ module.exports = require_react_is_development();
305
+ }
306
+ }
307
+ });
308
+
309
+ // node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
310
+ var require_hoist_non_react_statics_cjs = __commonJS({
311
+ "node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"(exports$1, module) {
312
+ var reactIs = require_react_is();
313
+ var REACT_STATICS = {
314
+ childContextTypes: true,
315
+ contextType: true,
316
+ contextTypes: true,
317
+ defaultProps: true,
318
+ displayName: true,
319
+ getDefaultProps: true,
320
+ getDerivedStateFromError: true,
321
+ getDerivedStateFromProps: true,
322
+ mixins: true,
323
+ propTypes: true,
324
+ type: true
325
+ };
326
+ var KNOWN_STATICS = {
327
+ name: true,
328
+ length: true,
329
+ prototype: true,
330
+ caller: true,
331
+ callee: true,
332
+ arguments: true,
333
+ arity: true
334
+ };
335
+ var FORWARD_REF_STATICS = {
336
+ "$$typeof": true,
337
+ render: true,
338
+ defaultProps: true,
339
+ displayName: true,
340
+ propTypes: true
341
+ };
342
+ var MEMO_STATICS = {
343
+ "$$typeof": true,
344
+ compare: true,
345
+ defaultProps: true,
346
+ displayName: true,
347
+ propTypes: true,
348
+ type: true
349
+ };
350
+ var TYPE_STATICS = {};
351
+ TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
352
+ TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
353
+ function getStatics(component) {
354
+ if (reactIs.isMemo(component)) {
355
+ return MEMO_STATICS;
356
+ }
357
+ return TYPE_STATICS[component["$$typeof"]] || REACT_STATICS;
358
+ }
359
+ var defineProperty = Object.defineProperty;
360
+ var getOwnPropertyNames = Object.getOwnPropertyNames;
361
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
362
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
363
+ var getPrototypeOf = Object.getPrototypeOf;
364
+ var objectPrototype = Object.prototype;
365
+ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
366
+ if (typeof sourceComponent !== "string") {
367
+ if (objectPrototype) {
368
+ var inheritedComponent = getPrototypeOf(sourceComponent);
369
+ if (inheritedComponent && inheritedComponent !== objectPrototype) {
370
+ hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
371
+ }
372
+ }
373
+ var keys = getOwnPropertyNames(sourceComponent);
374
+ if (getOwnPropertySymbols) {
375
+ keys = keys.concat(getOwnPropertySymbols(sourceComponent));
376
+ }
377
+ var targetStatics = getStatics(targetComponent);
378
+ var sourceStatics = getStatics(sourceComponent);
379
+ for (var i = 0; i < keys.length; ++i) {
380
+ var key = keys[i];
381
+ if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
382
+ var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
383
+ try {
384
+ defineProperty(targetComponent, key, descriptor);
385
+ } catch (e) {
386
+ }
387
+ }
388
+ }
389
+ }
390
+ return targetComponent;
391
+ }
392
+ module.exports = hoistNonReactStatics;
393
+ }
394
+ });
395
+
396
+ // node_modules/@babel/runtime/helpers/extends.js
397
+ var require_extends = __commonJS({
398
+ "node_modules/@babel/runtime/helpers/extends.js"(exports$1, module) {
399
+ function _extends2() {
400
+ return module.exports = _extends2 = Object.assign ? Object.assign.bind() : function(n) {
401
+ for (var e = 1; e < arguments.length; e++) {
402
+ var t = arguments[e];
403
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
404
+ }
405
+ return n;
406
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends2.apply(null, arguments);
407
+ }
408
+ module.exports = _extends2, module.exports.__esModule = true, module.exports["default"] = module.exports;
409
+ }
410
+ });
411
+
412
+ // node_modules/@babel/runtime/helpers/esm/extends.js
413
+ function _extends() {
414
+ return _extends = Object.assign ? Object.assign.bind() : function(n) {
415
+ for (var e = 1; e < arguments.length; e++) {
416
+ var t = arguments[e];
417
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
418
+ }
419
+ return n;
420
+ }, _extends.apply(null, arguments);
421
+ }
422
+ function sheetForTag(tag) {
423
+ if (tag.sheet) {
424
+ return tag.sheet;
425
+ }
426
+ for (var i = 0; i < document.styleSheets.length; i++) {
427
+ if (document.styleSheets[i].ownerNode === tag) {
428
+ return document.styleSheets[i];
429
+ }
430
+ }
431
+ return void 0;
432
+ }
433
+ function createStyleElement(options) {
434
+ var tag = document.createElement("style");
435
+ tag.setAttribute("data-emotion", options.key);
436
+ if (options.nonce !== void 0) {
437
+ tag.setAttribute("nonce", options.nonce);
438
+ }
439
+ tag.appendChild(document.createTextNode(""));
440
+ tag.setAttribute("data-s", "");
441
+ return tag;
442
+ }
443
+ var StyleSheet = /* @__PURE__ */ (function() {
444
+ function StyleSheet2(options) {
445
+ var _this = this;
446
+ this._insertTag = function(tag) {
447
+ var before;
448
+ if (_this.tags.length === 0) {
449
+ if (_this.insertionPoint) {
450
+ before = _this.insertionPoint.nextSibling;
451
+ } else if (_this.prepend) {
452
+ before = _this.container.firstChild;
453
+ } else {
454
+ before = _this.before;
455
+ }
456
+ } else {
457
+ before = _this.tags[_this.tags.length - 1].nextSibling;
458
+ }
459
+ _this.container.insertBefore(tag, before);
460
+ _this.tags.push(tag);
461
+ };
462
+ this.isSpeedy = options.speedy === void 0 ? true : options.speedy;
463
+ this.tags = [];
464
+ this.ctr = 0;
465
+ this.nonce = options.nonce;
466
+ this.key = options.key;
467
+ this.container = options.container;
468
+ this.prepend = options.prepend;
469
+ this.insertionPoint = options.insertionPoint;
470
+ this.before = null;
471
+ }
472
+ var _proto = StyleSheet2.prototype;
473
+ _proto.hydrate = function hydrate(nodes) {
474
+ nodes.forEach(this._insertTag);
475
+ };
476
+ _proto.insert = function insert(rule) {
477
+ if (this.ctr % (this.isSpeedy ? 65e3 : 1) === 0) {
478
+ this._insertTag(createStyleElement(this));
479
+ }
480
+ var tag = this.tags[this.tags.length - 1];
481
+ if (this.isSpeedy) {
482
+ var sheet = sheetForTag(tag);
483
+ try {
484
+ sheet.insertRule(rule, sheet.cssRules.length);
485
+ } catch (e) {
486
+ }
487
+ } else {
488
+ tag.appendChild(document.createTextNode(rule));
489
+ }
490
+ this.ctr++;
491
+ };
492
+ _proto.flush = function flush() {
493
+ this.tags.forEach(function(tag) {
494
+ var _tag$parentNode;
495
+ return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);
496
+ });
497
+ this.tags = [];
498
+ this.ctr = 0;
499
+ };
500
+ return StyleSheet2;
501
+ })();
502
+
503
+ // node_modules/stylis/src/Enum.js
504
+ var MS = "-ms-";
505
+ var MOZ = "-moz-";
506
+ var WEBKIT = "-webkit-";
507
+ var COMMENT = "comm";
508
+ var RULESET = "rule";
509
+ var DECLARATION = "decl";
510
+ var IMPORT = "@import";
511
+ var KEYFRAMES = "@keyframes";
512
+ var LAYER = "@layer";
513
+
514
+ // node_modules/stylis/src/Utility.js
515
+ var abs = Math.abs;
516
+ var from = String.fromCharCode;
517
+ var assign = Object.assign;
518
+ function hash(value, length2) {
519
+ return charat(value, 0) ^ 45 ? (((length2 << 2 ^ charat(value, 0)) << 2 ^ charat(value, 1)) << 2 ^ charat(value, 2)) << 2 ^ charat(value, 3) : 0;
520
+ }
521
+ function trim(value) {
522
+ return value.trim();
523
+ }
524
+ function match(value, pattern) {
525
+ return (value = pattern.exec(value)) ? value[0] : value;
526
+ }
527
+ function replace(value, pattern, replacement) {
528
+ return value.replace(pattern, replacement);
529
+ }
530
+ function indexof(value, search) {
531
+ return value.indexOf(search);
532
+ }
533
+ function charat(value, index) {
534
+ return value.charCodeAt(index) | 0;
535
+ }
536
+ function substr(value, begin, end) {
537
+ return value.slice(begin, end);
538
+ }
539
+ function strlen(value) {
540
+ return value.length;
541
+ }
542
+ function sizeof(value) {
543
+ return value.length;
544
+ }
545
+ function append(value, array) {
546
+ return array.push(value), value;
547
+ }
548
+ function combine(array, callback) {
549
+ return array.map(callback).join("");
550
+ }
551
+
552
+ // node_modules/stylis/src/Tokenizer.js
553
+ var line = 1;
554
+ var column = 1;
555
+ var length = 0;
556
+ var position = 0;
557
+ var character = 0;
558
+ var characters = "";
559
+ function node(value, root, parent, type, props, children, length2) {
560
+ return { value, root, parent, type, props, children, line, column, length: length2, return: "" };
561
+ }
562
+ function copy(root, props) {
563
+ return assign(node("", null, null, "", null, null, 0), root, { length: -root.length }, props);
564
+ }
565
+ function char() {
566
+ return character;
567
+ }
568
+ function prev() {
569
+ character = position > 0 ? charat(characters, --position) : 0;
570
+ if (column--, character === 10)
571
+ column = 1, line--;
572
+ return character;
573
+ }
574
+ function next() {
575
+ character = position < length ? charat(characters, position++) : 0;
576
+ if (column++, character === 10)
577
+ column = 1, line++;
578
+ return character;
579
+ }
580
+ function peek() {
581
+ return charat(characters, position);
582
+ }
583
+ function caret() {
584
+ return position;
585
+ }
586
+ function slice(begin, end) {
587
+ return substr(characters, begin, end);
588
+ }
589
+ function token(type) {
590
+ switch (type) {
591
+ // \0 \t \n \r \s whitespace token
592
+ case 0:
593
+ case 9:
594
+ case 10:
595
+ case 13:
596
+ case 32:
597
+ return 5;
598
+ // ! + , / > @ ~ isolate token
599
+ case 33:
600
+ case 43:
601
+ case 44:
602
+ case 47:
603
+ case 62:
604
+ case 64:
605
+ case 126:
606
+ // ; { } breakpoint token
607
+ case 59:
608
+ case 123:
609
+ case 125:
610
+ return 4;
611
+ // : accompanied token
612
+ case 58:
613
+ return 3;
614
+ // " ' ( [ opening delimit token
615
+ case 34:
616
+ case 39:
617
+ case 40:
618
+ case 91:
619
+ return 2;
620
+ // ) ] closing delimit token
621
+ case 41:
622
+ case 93:
623
+ return 1;
624
+ }
625
+ return 0;
626
+ }
627
+ function alloc(value) {
628
+ return line = column = 1, length = strlen(characters = value), position = 0, [];
629
+ }
630
+ function dealloc(value) {
631
+ return characters = "", value;
632
+ }
633
+ function delimit(type) {
634
+ return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)));
635
+ }
636
+ function whitespace(type) {
637
+ while (character = peek())
638
+ if (character < 33)
639
+ next();
640
+ else
641
+ break;
642
+ return token(type) > 2 || token(character) > 3 ? "" : " ";
643
+ }
644
+ function escaping(index, count) {
645
+ while (--count && next())
646
+ if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)
647
+ break;
648
+ return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32));
649
+ }
650
+ function delimiter(type) {
651
+ while (next())
652
+ switch (character) {
653
+ // ] ) " '
654
+ case type:
655
+ return position;
656
+ // " '
657
+ case 34:
658
+ case 39:
659
+ if (type !== 34 && type !== 39)
660
+ delimiter(character);
661
+ break;
662
+ // (
663
+ case 40:
664
+ if (type === 41)
665
+ delimiter(type);
666
+ break;
667
+ // \
668
+ case 92:
669
+ next();
670
+ break;
671
+ }
672
+ return position;
673
+ }
674
+ function commenter(type, index) {
675
+ while (next())
676
+ if (type + character === 47 + 10)
677
+ break;
678
+ else if (type + character === 42 + 42 && peek() === 47)
679
+ break;
680
+ return "/*" + slice(index, position - 1) + "*" + from(type === 47 ? type : next());
681
+ }
682
+ function identifier(index) {
683
+ while (!token(peek()))
684
+ next();
685
+ return slice(index, position);
686
+ }
687
+
688
+ // node_modules/stylis/src/Parser.js
689
+ function compile(value) {
690
+ return dealloc(parse("", null, null, null, [""], value = alloc(value), 0, [0], value));
691
+ }
692
+ function parse(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
693
+ var index = 0;
694
+ var offset = 0;
695
+ var length2 = pseudo;
696
+ var atrule = 0;
697
+ var property = 0;
698
+ var previous = 0;
699
+ var variable = 1;
700
+ var scanning = 1;
701
+ var ampersand = 1;
702
+ var character2 = 0;
703
+ var type = "";
704
+ var props = rules;
705
+ var children = rulesets;
706
+ var reference = rule;
707
+ var characters2 = type;
708
+ while (scanning)
709
+ switch (previous = character2, character2 = next()) {
710
+ // (
711
+ case 40:
712
+ if (previous != 108 && charat(characters2, length2 - 1) == 58) {
713
+ if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f") != -1)
714
+ ampersand = -1;
715
+ break;
716
+ }
717
+ // " ' [
718
+ case 34:
719
+ case 39:
720
+ case 91:
721
+ characters2 += delimit(character2);
722
+ break;
723
+ // \t \n \r \s
724
+ case 9:
725
+ case 10:
726
+ case 13:
727
+ case 32:
728
+ characters2 += whitespace(previous);
729
+ break;
730
+ // \
731
+ case 92:
732
+ characters2 += escaping(caret() - 1, 7);
733
+ continue;
734
+ // /
735
+ case 47:
736
+ switch (peek()) {
737
+ case 42:
738
+ case 47:
739
+ append(comment(commenter(next(), caret()), root, parent), declarations);
740
+ break;
741
+ default:
742
+ characters2 += "/";
743
+ }
744
+ break;
745
+ // {
746
+ case 123 * variable:
747
+ points[index++] = strlen(characters2) * ampersand;
748
+ // } ; \0
749
+ case 125 * variable:
750
+ case 59:
751
+ case 0:
752
+ switch (character2) {
753
+ // \0 }
754
+ case 0:
755
+ case 125:
756
+ scanning = 0;
757
+ // ;
758
+ case 59 + offset:
759
+ if (ampersand == -1) characters2 = replace(characters2, /\f/g, "");
760
+ if (property > 0 && strlen(characters2) - length2)
761
+ append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2), declarations);
762
+ break;
763
+ // @ ;
764
+ case 59:
765
+ characters2 += ";";
766
+ // { rule/at-rule
767
+ default:
768
+ append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2), rulesets);
769
+ if (character2 === 123)
770
+ if (offset === 0)
771
+ parse(characters2, root, reference, reference, props, rulesets, length2, points, children);
772
+ else
773
+ switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {
774
+ // d l m s
775
+ case 100:
776
+ case 108:
777
+ case 109:
778
+ case 115:
779
+ parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length2), children), rules, children, length2, points, rule ? props : children);
780
+ break;
781
+ default:
782
+ parse(characters2, reference, reference, reference, [""], children, 0, points, children);
783
+ }
784
+ }
785
+ index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo;
786
+ break;
787
+ // :
788
+ case 58:
789
+ length2 = 1 + strlen(characters2), property = previous;
790
+ default:
791
+ if (variable < 1) {
792
+ if (character2 == 123)
793
+ --variable;
794
+ else if (character2 == 125 && variable++ == 0 && prev() == 125)
795
+ continue;
796
+ }
797
+ switch (characters2 += from(character2), character2 * variable) {
798
+ // &
799
+ case 38:
800
+ ampersand = offset > 0 ? 1 : (characters2 += "\f", -1);
801
+ break;
802
+ // ,
803
+ case 44:
804
+ points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
805
+ break;
806
+ // @
807
+ case 64:
808
+ if (peek() === 45)
809
+ characters2 += delimit(next());
810
+ atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++;
811
+ break;
812
+ // -
813
+ case 45:
814
+ if (previous === 45 && strlen(characters2) == 2)
815
+ variable = 0;
816
+ }
817
+ }
818
+ return rulesets;
819
+ }
820
+ function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length2) {
821
+ var post = offset - 1;
822
+ var rule = offset === 0 ? rules : [""];
823
+ var size = sizeof(rule);
824
+ for (var i = 0, j = 0, k = 0; i < index; ++i)
825
+ for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)
826
+ if (z = trim(j > 0 ? rule[x] + " " + y : replace(y, /&\f/g, rule[x])))
827
+ props[k++] = z;
828
+ return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length2);
829
+ }
830
+ function comment(value, root, parent) {
831
+ return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0);
832
+ }
833
+ function declaration(value, root, parent, length2) {
834
+ return node(value, root, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2);
835
+ }
836
+
837
+ // node_modules/stylis/src/Serializer.js
838
+ function serialize(children, callback) {
839
+ var output = "";
840
+ var length2 = sizeof(children);
841
+ for (var i = 0; i < length2; i++)
842
+ output += callback(children[i], i, children, callback) || "";
843
+ return output;
844
+ }
845
+ function stringify(element, index, children, callback) {
846
+ switch (element.type) {
847
+ case LAYER:
848
+ if (element.children.length) break;
849
+ case IMPORT:
850
+ case DECLARATION:
851
+ return element.return = element.return || element.value;
852
+ case COMMENT:
853
+ return "";
854
+ case KEYFRAMES:
855
+ return element.return = element.value + "{" + serialize(element.children, callback) + "}";
856
+ case RULESET:
857
+ element.value = element.props.join(",");
858
+ }
859
+ return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
860
+ }
861
+
862
+ // node_modules/stylis/src/Middleware.js
863
+ function middleware(collection) {
864
+ var length2 = sizeof(collection);
865
+ return function(element, index, children, callback) {
866
+ var output = "";
867
+ for (var i = 0; i < length2; i++)
868
+ output += collection[i](element, index, children, callback) || "";
869
+ return output;
870
+ };
871
+ }
872
+ function rulesheet(callback) {
873
+ return function(element) {
874
+ if (!element.root) {
875
+ if (element = element.return)
876
+ callback(element);
877
+ }
878
+ };
879
+ }
880
+
881
+ // node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.esm.js
882
+ var weakMemoize = function weakMemoize2(func) {
883
+ var cache = /* @__PURE__ */ new WeakMap();
884
+ return function(arg) {
885
+ if (cache.has(arg)) {
886
+ return cache.get(arg);
887
+ }
888
+ var ret = func(arg);
889
+ cache.set(arg, ret);
890
+ return ret;
891
+ };
892
+ };
893
+
894
+ // node_modules/@emotion/memoize/dist/emotion-memoize.esm.js
895
+ function memoize(fn) {
896
+ var cache = /* @__PURE__ */ Object.create(null);
897
+ return function(arg) {
898
+ if (cache[arg] === void 0) cache[arg] = fn(arg);
899
+ return cache[arg];
900
+ };
901
+ }
902
+
903
+ // node_modules/@emotion/cache/dist/emotion-cache.esm.js
904
+ var isBrowser = typeof document !== "undefined";
905
+ var identifierWithPointTracking = function identifierWithPointTracking2(begin, points, index) {
906
+ var previous = 0;
907
+ var character2 = 0;
908
+ while (true) {
909
+ previous = character2;
910
+ character2 = peek();
911
+ if (previous === 38 && character2 === 12) {
912
+ points[index] = 1;
913
+ }
914
+ if (token(character2)) {
915
+ break;
916
+ }
917
+ next();
918
+ }
919
+ return slice(begin, position);
920
+ };
921
+ var toRules = function toRules2(parsed, points) {
922
+ var index = -1;
923
+ var character2 = 44;
924
+ do {
925
+ switch (token(character2)) {
926
+ case 0:
927
+ if (character2 === 38 && peek() === 12) {
928
+ points[index] = 1;
929
+ }
930
+ parsed[index] += identifierWithPointTracking(position - 1, points, index);
931
+ break;
932
+ case 2:
933
+ parsed[index] += delimit(character2);
934
+ break;
935
+ case 4:
936
+ if (character2 === 44) {
937
+ parsed[++index] = peek() === 58 ? "&\f" : "";
938
+ points[index] = parsed[index].length;
939
+ break;
940
+ }
941
+ // fallthrough
942
+ default:
943
+ parsed[index] += from(character2);
944
+ }
945
+ } while (character2 = next());
946
+ return parsed;
947
+ };
948
+ var getRules = function getRules2(value, points) {
949
+ return dealloc(toRules(alloc(value), points));
950
+ };
951
+ var fixedElements = /* @__PURE__ */ new WeakMap();
952
+ var compat = function compat2(element) {
953
+ if (element.type !== "rule" || !element.parent || // positive .length indicates that this rule contains pseudo
954
+ // negative .length indicates that this rule has been already prefixed
955
+ element.length < 1) {
956
+ return;
957
+ }
958
+ var value = element.value;
959
+ var parent = element.parent;
960
+ var isImplicitRule = element.column === parent.column && element.line === parent.line;
961
+ while (parent.type !== "rule") {
962
+ parent = parent.parent;
963
+ if (!parent) return;
964
+ }
965
+ if (element.props.length === 1 && value.charCodeAt(0) !== 58 && !fixedElements.get(parent)) {
966
+ return;
967
+ }
968
+ if (isImplicitRule) {
969
+ return;
970
+ }
971
+ fixedElements.set(element, true);
972
+ var points = [];
973
+ var rules = getRules(value, points);
974
+ var parentRules = parent.props;
975
+ for (var i = 0, k = 0; i < rules.length; i++) {
976
+ for (var j = 0; j < parentRules.length; j++, k++) {
977
+ element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i];
978
+ }
979
+ }
980
+ };
981
+ var removeLabel = function removeLabel2(element) {
982
+ if (element.type === "decl") {
983
+ var value = element.value;
984
+ if (
985
+ // charcode for l
986
+ value.charCodeAt(0) === 108 && // charcode for b
987
+ value.charCodeAt(2) === 98
988
+ ) {
989
+ element["return"] = "";
990
+ element.value = "";
991
+ }
992
+ }
993
+ };
994
+ function prefix(value, length2) {
995
+ switch (hash(value, length2)) {
996
+ // color-adjust
997
+ case 5103:
998
+ return WEBKIT + "print-" + value + value;
999
+ // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
1000
+ case 5737:
1001
+ case 4201:
1002
+ case 3177:
1003
+ case 3433:
1004
+ case 1641:
1005
+ case 4457:
1006
+ case 2921:
1007
+ // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
1008
+ case 5572:
1009
+ case 6356:
1010
+ case 5844:
1011
+ case 3191:
1012
+ case 6645:
1013
+ case 3005:
1014
+ // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,
1015
+ case 6391:
1016
+ case 5879:
1017
+ case 5623:
1018
+ case 6135:
1019
+ case 4599:
1020
+ case 4855:
1021
+ // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
1022
+ case 4215:
1023
+ case 6389:
1024
+ case 5109:
1025
+ case 5365:
1026
+ case 5621:
1027
+ case 3829:
1028
+ return WEBKIT + value + value;
1029
+ // appearance, user-select, transform, hyphens, text-size-adjust
1030
+ case 5349:
1031
+ case 4246:
1032
+ case 4810:
1033
+ case 6968:
1034
+ case 2756:
1035
+ return WEBKIT + value + MOZ + value + MS + value + value;
1036
+ // flex, flex-direction
1037
+ case 6828:
1038
+ case 4268:
1039
+ return WEBKIT + value + MS + value + value;
1040
+ // order
1041
+ case 6165:
1042
+ return WEBKIT + value + MS + "flex-" + value + value;
1043
+ // align-items
1044
+ case 5187:
1045
+ return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
1046
+ // align-self
1047
+ case 5443:
1048
+ return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/, "") + value;
1049
+ // align-content
1050
+ case 4675:
1051
+ return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/, "") + value;
1052
+ // flex-shrink
1053
+ case 5548:
1054
+ return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
1055
+ // flex-basis
1056
+ case 5292:
1057
+ return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
1058
+ // flex-grow
1059
+ case 6060:
1060
+ return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
1061
+ // transition
1062
+ case 4554:
1063
+ return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
1064
+ // cursor
1065
+ case 6187:
1066
+ return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
1067
+ // background, background-image
1068
+ case 5495:
1069
+ case 3959:
1070
+ return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
1071
+ // justify-content
1072
+ case 4968:
1073
+ return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value;
1074
+ // (margin|padding)-inline-(start|end)
1075
+ case 4095:
1076
+ case 3583:
1077
+ case 4068:
1078
+ case 2532:
1079
+ return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
1080
+ // (min|max)?(width|height|inline-size|block-size)
1081
+ case 8116:
1082
+ case 7059:
1083
+ case 5753:
1084
+ case 5535:
1085
+ case 5445:
1086
+ case 5701:
1087
+ case 4933:
1088
+ case 4677:
1089
+ case 5533:
1090
+ case 5789:
1091
+ case 5021:
1092
+ case 4765:
1093
+ if (strlen(value) - 1 - length2 > 6) switch (charat(value, length2 + 1)) {
1094
+ // (m)ax-content, (m)in-content
1095
+ case 109:
1096
+ if (charat(value, length2 + 4) !== 45) break;
1097
+ // (f)ill-available, (f)it-content
1098
+ case 102:
1099
+ return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
1100
+ // (s)tretch
1101
+ case 115:
1102
+ return ~indexof(value, "stretch") ? prefix(replace(value, "stretch", "fill-available"), length2) + value : value;
1103
+ }
1104
+ break;
1105
+ // position: sticky
1106
+ case 4949:
1107
+ if (charat(value, length2 + 1) !== 115) break;
1108
+ // display: (flex|inline-flex)
1109
+ case 6444:
1110
+ switch (charat(value, strlen(value) - 3 - (~indexof(value, "!important") && 10))) {
1111
+ // stic(k)y
1112
+ case 107:
1113
+ return replace(value, ":", ":" + WEBKIT) + value;
1114
+ // (inline-)?fl(e)x
1115
+ case 101:
1116
+ return replace(value, /(.+:)([^;!]+)(;|!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
1117
+ }
1118
+ break;
1119
+ // writing-mode
1120
+ case 5936:
1121
+ switch (charat(value, length2 + 11)) {
1122
+ // vertical-l(r)
1123
+ case 114:
1124
+ return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
1125
+ // vertical-r(l)
1126
+ case 108:
1127
+ return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
1128
+ // horizontal(-)tb
1129
+ case 45:
1130
+ return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
1131
+ }
1132
+ return WEBKIT + value + MS + value + value;
1133
+ }
1134
+ return value;
1135
+ }
1136
+ var prefixer = function prefixer2(element, index, children, callback) {
1137
+ if (element.length > -1) {
1138
+ if (!element["return"]) switch (element.type) {
1139
+ case DECLARATION:
1140
+ element["return"] = prefix(element.value, element.length);
1141
+ break;
1142
+ case KEYFRAMES:
1143
+ return serialize([copy(element, {
1144
+ value: replace(element.value, "@", "@" + WEBKIT)
1145
+ })], callback);
1146
+ case RULESET:
1147
+ if (element.length) return combine(element.props, function(value) {
1148
+ switch (match(value, /(::plac\w+|:read-\w+)/)) {
1149
+ // :read-(only|write)
1150
+ case ":read-only":
1151
+ case ":read-write":
1152
+ return serialize([copy(element, {
1153
+ props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")]
1154
+ })], callback);
1155
+ // :placeholder
1156
+ case "::placeholder":
1157
+ return serialize([copy(element, {
1158
+ props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")]
1159
+ }), copy(element, {
1160
+ props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")]
1161
+ }), copy(element, {
1162
+ props: [replace(value, /:(plac\w+)/, MS + "input-$1")]
1163
+ })], callback);
1164
+ }
1165
+ return "";
1166
+ });
1167
+ }
1168
+ }
1169
+ };
1170
+ var getServerStylisCache = isBrowser ? void 0 : weakMemoize(function() {
1171
+ return memoize(function() {
1172
+ return {};
1173
+ });
1174
+ });
1175
+ var defaultStylisPlugins = [prefixer];
1176
+ var createCache = function createCache2(options) {
1177
+ var key = options.key;
1178
+ if (isBrowser && key === "css") {
1179
+ var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])");
1180
+ Array.prototype.forEach.call(ssrStyles, function(node2) {
1181
+ var dataEmotionAttribute = node2.getAttribute("data-emotion");
1182
+ if (dataEmotionAttribute.indexOf(" ") === -1) {
1183
+ return;
1184
+ }
1185
+ document.head.appendChild(node2);
1186
+ node2.setAttribute("data-s", "");
1187
+ });
1188
+ }
1189
+ var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;
1190
+ var inserted = {};
1191
+ var container;
1192
+ var nodesToHydrate = [];
1193
+ if (isBrowser) {
1194
+ container = options.container || document.head;
1195
+ Array.prototype.forEach.call(
1196
+ // this means we will ignore elements which don't have a space in them which
1197
+ // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
1198
+ document.querySelectorAll('style[data-emotion^="' + key + ' "]'),
1199
+ function(node2) {
1200
+ var attrib = node2.getAttribute("data-emotion").split(" ");
1201
+ for (var i = 1; i < attrib.length; i++) {
1202
+ inserted[attrib[i]] = true;
1203
+ }
1204
+ nodesToHydrate.push(node2);
1205
+ }
1206
+ );
1207
+ }
1208
+ var _insert;
1209
+ var omnipresentPlugins = [compat, removeLabel];
1210
+ if (!getServerStylisCache) {
1211
+ var currentSheet;
1212
+ var finalizingPlugins = [stringify, rulesheet(function(rule) {
1213
+ currentSheet.insert(rule);
1214
+ })];
1215
+ var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
1216
+ var stylis = function stylis2(styles) {
1217
+ return serialize(compile(styles), serializer);
1218
+ };
1219
+ _insert = function insert(selector, serialized, sheet, shouldCache) {
1220
+ currentSheet = sheet;
1221
+ stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
1222
+ if (shouldCache) {
1223
+ cache.inserted[serialized.name] = true;
1224
+ }
1225
+ };
1226
+ } else {
1227
+ var _finalizingPlugins = [stringify];
1228
+ var _serializer = middleware(omnipresentPlugins.concat(stylisPlugins, _finalizingPlugins));
1229
+ var _stylis = function _stylis2(styles) {
1230
+ return serialize(compile(styles), _serializer);
1231
+ };
1232
+ var serverStylisCache = getServerStylisCache(stylisPlugins)(key);
1233
+ var getRules3 = function getRules4(selector, serialized) {
1234
+ var name = serialized.name;
1235
+ if (serverStylisCache[name] === void 0) {
1236
+ serverStylisCache[name] = _stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
1237
+ }
1238
+ return serverStylisCache[name];
1239
+ };
1240
+ _insert = function _insert2(selector, serialized, sheet, shouldCache) {
1241
+ var name = serialized.name;
1242
+ var rules = getRules3(selector, serialized);
1243
+ if (cache.compat === void 0) {
1244
+ if (shouldCache) {
1245
+ cache.inserted[name] = true;
1246
+ }
1247
+ return rules;
1248
+ } else {
1249
+ if (shouldCache) {
1250
+ cache.inserted[name] = rules;
1251
+ } else {
1252
+ return rules;
1253
+ }
1254
+ }
1255
+ };
1256
+ }
1257
+ var cache = {
1258
+ key,
1259
+ sheet: new StyleSheet({
1260
+ key,
1261
+ container,
1262
+ nonce: options.nonce,
1263
+ speedy: options.speedy,
1264
+ prepend: options.prepend,
1265
+ insertionPoint: options.insertionPoint
1266
+ }),
1267
+ nonce: options.nonce,
1268
+ inserted,
1269
+ registered: {},
1270
+ insert: _insert
1271
+ };
1272
+ cache.sheet.hydrate(nodesToHydrate);
1273
+ return cache;
1274
+ };
1275
+
1276
+ // node_modules/@emotion/utils/dist/emotion-utils.esm.js
1277
+ var isBrowser2 = typeof document !== "undefined";
1278
+ function getRegisteredStyles(registered, registeredStyles, classNames) {
1279
+ var rawClassName = "";
1280
+ classNames.split(" ").forEach(function(className) {
1281
+ if (registered[className] !== void 0) {
1282
+ registeredStyles.push(registered[className] + ";");
1283
+ } else if (className) {
1284
+ rawClassName += className + " ";
1285
+ }
1286
+ });
1287
+ return rawClassName;
1288
+ }
1289
+ var registerStyles = function registerStyles2(cache, serialized, isStringTag) {
1290
+ var className = cache.key + "-" + serialized.name;
1291
+ if (
1292
+ // we only need to add the styles to the registered cache if the
1293
+ // class name could be used further down
1294
+ // the tree but if it's a string tag, we know it won't
1295
+ // so we don't have to add it to registered cache.
1296
+ // this improves memory usage since we can avoid storing the whole style string
1297
+ (isStringTag === false || // we need to always store it if we're in compat mode and
1298
+ // in node since emotion-server relies on whether a style is in
1299
+ // the registered cache to know whether a style is global or not
1300
+ // also, note that this check will be dead code eliminated in the browser
1301
+ isBrowser2 === false && cache.compat !== void 0) && cache.registered[className] === void 0
1302
+ ) {
1303
+ cache.registered[className] = serialized.styles;
1304
+ }
1305
+ };
1306
+ var insertStyles = function insertStyles2(cache, serialized, isStringTag) {
1307
+ registerStyles(cache, serialized, isStringTag);
1308
+ var className = cache.key + "-" + serialized.name;
1309
+ if (cache.inserted[serialized.name] === void 0) {
1310
+ var stylesForSSR = "";
1311
+ var current = serialized;
1312
+ do {
1313
+ var maybeStyles = cache.insert(serialized === current ? "." + className : "", current, cache.sheet, true);
1314
+ if (!isBrowser2 && maybeStyles !== void 0) {
1315
+ stylesForSSR += maybeStyles;
1316
+ }
1317
+ current = current.next;
1318
+ } while (current !== void 0);
1319
+ if (!isBrowser2 && stylesForSSR.length !== 0) {
1320
+ return stylesForSSR;
1321
+ }
1322
+ }
1323
+ };
1324
+
1325
+ // node_modules/@emotion/hash/dist/emotion-hash.esm.js
1326
+ function murmur2(str) {
1327
+ var h = 0;
1328
+ var k, i = 0, len = str.length;
1329
+ for (; len >= 4; ++i, len -= 4) {
1330
+ k = str.charCodeAt(i) & 255 | (str.charCodeAt(++i) & 255) << 8 | (str.charCodeAt(++i) & 255) << 16 | (str.charCodeAt(++i) & 255) << 24;
1331
+ k = /* Math.imul(k, m): */
1332
+ (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16);
1333
+ k ^= /* k >>> r: */
1334
+ k >>> 24;
1335
+ h = /* Math.imul(k, m): */
1336
+ (k & 65535) * 1540483477 + ((k >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
1337
+ (h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16);
1338
+ }
1339
+ switch (len) {
1340
+ case 3:
1341
+ h ^= (str.charCodeAt(i + 2) & 255) << 16;
1342
+ case 2:
1343
+ h ^= (str.charCodeAt(i + 1) & 255) << 8;
1344
+ case 1:
1345
+ h ^= str.charCodeAt(i) & 255;
1346
+ h = /* Math.imul(h, m): */
1347
+ (h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16);
1348
+ }
1349
+ h ^= h >>> 13;
1350
+ h = /* Math.imul(h, m): */
1351
+ (h & 65535) * 1540483477 + ((h >>> 16) * 59797 << 16);
1352
+ return ((h ^ h >>> 15) >>> 0).toString(36);
1353
+ }
1354
+
1355
+ // node_modules/@emotion/unitless/dist/emotion-unitless.esm.js
1356
+ var unitlessKeys = {
1357
+ animationIterationCount: 1,
1358
+ aspectRatio: 1,
1359
+ borderImageOutset: 1,
1360
+ borderImageSlice: 1,
1361
+ borderImageWidth: 1,
1362
+ boxFlex: 1,
1363
+ boxFlexGroup: 1,
1364
+ boxOrdinalGroup: 1,
1365
+ columnCount: 1,
1366
+ columns: 1,
1367
+ flex: 1,
1368
+ flexGrow: 1,
1369
+ flexPositive: 1,
1370
+ flexShrink: 1,
1371
+ flexNegative: 1,
1372
+ flexOrder: 1,
1373
+ gridRow: 1,
1374
+ gridRowEnd: 1,
1375
+ gridRowSpan: 1,
1376
+ gridRowStart: 1,
1377
+ gridColumn: 1,
1378
+ gridColumnEnd: 1,
1379
+ gridColumnSpan: 1,
1380
+ gridColumnStart: 1,
1381
+ msGridRow: 1,
1382
+ msGridRowSpan: 1,
1383
+ msGridColumn: 1,
1384
+ msGridColumnSpan: 1,
1385
+ fontWeight: 1,
1386
+ lineHeight: 1,
1387
+ opacity: 1,
1388
+ order: 1,
1389
+ orphans: 1,
1390
+ scale: 1,
1391
+ tabSize: 1,
1392
+ widows: 1,
1393
+ zIndex: 1,
1394
+ zoom: 1,
1395
+ WebkitLineClamp: 1,
1396
+ // SVG-related properties
1397
+ fillOpacity: 1,
1398
+ floodOpacity: 1,
1399
+ stopOpacity: 1,
1400
+ strokeDasharray: 1,
1401
+ strokeDashoffset: 1,
1402
+ strokeMiterlimit: 1,
1403
+ strokeOpacity: 1,
1404
+ strokeWidth: 1
1405
+ };
1406
+ var hyphenateRegex = /[A-Z]|^ms/g;
1407
+ var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
1408
+ var isCustomProperty = function isCustomProperty2(property) {
1409
+ return property.charCodeAt(1) === 45;
1410
+ };
1411
+ var isProcessableValue = function isProcessableValue2(value) {
1412
+ return value != null && typeof value !== "boolean";
1413
+ };
1414
+ var processStyleName = /* @__PURE__ */ memoize(function(styleName) {
1415
+ return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, "-$&").toLowerCase();
1416
+ });
1417
+ var processStyleValue = function processStyleValue2(key, value) {
1418
+ switch (key) {
1419
+ case "animation":
1420
+ case "animationName": {
1421
+ if (typeof value === "string") {
1422
+ return value.replace(animationRegex, function(match2, p1, p2) {
1423
+ cursor = {
1424
+ name: p1,
1425
+ styles: p2,
1426
+ next: cursor
1427
+ };
1428
+ return p1;
1429
+ });
1430
+ }
1431
+ }
1432
+ }
1433
+ if (unitlessKeys[key] !== 1 && !isCustomProperty(key) && typeof value === "number" && value !== 0) {
1434
+ return value + "px";
1435
+ }
1436
+ return value;
1437
+ };
1438
+ function handleInterpolation(mergedProps, registered, interpolation) {
1439
+ if (interpolation == null) {
1440
+ return "";
1441
+ }
1442
+ var componentSelector = interpolation;
1443
+ if (componentSelector.__emotion_styles !== void 0) {
1444
+ return componentSelector;
1445
+ }
1446
+ switch (typeof interpolation) {
1447
+ case "boolean": {
1448
+ return "";
1449
+ }
1450
+ case "object": {
1451
+ var keyframes3 = interpolation;
1452
+ if (keyframes3.anim === 1) {
1453
+ cursor = {
1454
+ name: keyframes3.name,
1455
+ styles: keyframes3.styles,
1456
+ next: cursor
1457
+ };
1458
+ return keyframes3.name;
1459
+ }
1460
+ var serializedStyles = interpolation;
1461
+ if (serializedStyles.styles !== void 0) {
1462
+ var next2 = serializedStyles.next;
1463
+ if (next2 !== void 0) {
1464
+ while (next2 !== void 0) {
1465
+ cursor = {
1466
+ name: next2.name,
1467
+ styles: next2.styles,
1468
+ next: cursor
1469
+ };
1470
+ next2 = next2.next;
1471
+ }
1472
+ }
1473
+ var styles = serializedStyles.styles + ";";
1474
+ return styles;
1475
+ }
1476
+ return createStringFromObject(mergedProps, registered, interpolation);
1477
+ }
1478
+ case "function": {
1479
+ if (mergedProps !== void 0) {
1480
+ var previousCursor = cursor;
1481
+ var result = interpolation(mergedProps);
1482
+ cursor = previousCursor;
1483
+ return handleInterpolation(mergedProps, registered, result);
1484
+ }
1485
+ break;
1486
+ }
1487
+ }
1488
+ var asString = interpolation;
1489
+ if (registered == null) {
1490
+ return asString;
1491
+ }
1492
+ var cached = registered[asString];
1493
+ return cached !== void 0 ? cached : asString;
1494
+ }
1495
+ function createStringFromObject(mergedProps, registered, obj) {
1496
+ var string = "";
1497
+ if (Array.isArray(obj)) {
1498
+ for (var i = 0; i < obj.length; i++) {
1499
+ string += handleInterpolation(mergedProps, registered, obj[i]) + ";";
1500
+ }
1501
+ } else {
1502
+ for (var key in obj) {
1503
+ var value = obj[key];
1504
+ if (typeof value !== "object") {
1505
+ var asString = value;
1506
+ if (registered != null && registered[asString] !== void 0) {
1507
+ string += key + "{" + registered[asString] + "}";
1508
+ } else if (isProcessableValue(asString)) {
1509
+ string += processStyleName(key) + ":" + processStyleValue(key, asString) + ";";
1510
+ }
1511
+ } else {
1512
+ if (Array.isArray(value) && typeof value[0] === "string" && (registered == null || registered[value[0]] === void 0)) {
1513
+ for (var _i = 0; _i < value.length; _i++) {
1514
+ if (isProcessableValue(value[_i])) {
1515
+ string += processStyleName(key) + ":" + processStyleValue(key, value[_i]) + ";";
1516
+ }
1517
+ }
1518
+ } else {
1519
+ var interpolated = handleInterpolation(mergedProps, registered, value);
1520
+ switch (key) {
1521
+ case "animation":
1522
+ case "animationName": {
1523
+ string += processStyleName(key) + ":" + interpolated + ";";
1524
+ break;
1525
+ }
1526
+ default: {
1527
+ string += key + "{" + interpolated + "}";
1528
+ }
1529
+ }
1530
+ }
1531
+ }
1532
+ }
1533
+ }
1534
+ return string;
1535
+ }
1536
+ var labelPattern = /label:\s*([^\s;{]+)\s*(;|$)/g;
1537
+ var cursor;
1538
+ function serializeStyles(args, registered, mergedProps) {
1539
+ if (args.length === 1 && typeof args[0] === "object" && args[0] !== null && args[0].styles !== void 0) {
1540
+ return args[0];
1541
+ }
1542
+ var stringMode = true;
1543
+ var styles = "";
1544
+ cursor = void 0;
1545
+ var strings = args[0];
1546
+ if (strings == null || strings.raw === void 0) {
1547
+ stringMode = false;
1548
+ styles += handleInterpolation(mergedProps, registered, strings);
1549
+ } else {
1550
+ var asTemplateStringsArr = strings;
1551
+ styles += asTemplateStringsArr[0];
1552
+ }
1553
+ for (var i = 1; i < args.length; i++) {
1554
+ styles += handleInterpolation(mergedProps, registered, args[i]);
1555
+ if (stringMode) {
1556
+ var templateStringsArr = strings;
1557
+ styles += templateStringsArr[i];
1558
+ }
1559
+ }
1560
+ labelPattern.lastIndex = 0;
1561
+ var identifierName = "";
1562
+ var match2;
1563
+ while ((match2 = labelPattern.exec(styles)) !== null) {
1564
+ identifierName += "-" + match2[1];
1565
+ }
1566
+ var name = murmur2(styles) + identifierName;
1567
+ return {
1568
+ name,
1569
+ styles,
1570
+ next: cursor
1571
+ };
1572
+ }
1573
+ var isBrowser3 = typeof document !== "undefined";
1574
+ var syncFallback = function syncFallback2(create) {
1575
+ return create();
1576
+ };
1577
+ var useInsertionEffect2 = React2["useInsertionEffect"] ? React2["useInsertionEffect"] : false;
1578
+ var useInsertionEffectAlwaysWithSyncFallback = !isBrowser3 ? syncFallback : useInsertionEffect2 || syncFallback;
1579
+ var isBrowser4 = typeof document !== "undefined";
1580
+ var EmotionCacheContext = /* @__PURE__ */ React2.createContext(
1581
+ // we're doing this to avoid preconstruct's dead code elimination in this one case
1582
+ // because this module is primarily intended for the browser and node
1583
+ // but it's also required in react native and similar environments sometimes
1584
+ // and we could have a special build just for that
1585
+ // but this is much easier and the native packages
1586
+ // might use a different theme context in the future anyway
1587
+ typeof HTMLElement !== "undefined" ? /* @__PURE__ */ createCache({
1588
+ key: "css"
1589
+ }) : null
1590
+ );
1591
+ EmotionCacheContext.Provider;
1592
+ var withEmotionCache = function withEmotionCache2(func) {
1593
+ return /* @__PURE__ */ forwardRef(function(props, ref) {
1594
+ var cache = useContext(EmotionCacheContext);
1595
+ return func(props, cache, ref);
1596
+ });
1597
+ };
1598
+ if (!isBrowser4) {
1599
+ withEmotionCache = function withEmotionCache3(func) {
1600
+ return function(props) {
1601
+ var cache = useContext(EmotionCacheContext);
1602
+ if (cache === null) {
1603
+ cache = createCache({
1604
+ key: "css"
1605
+ });
1606
+ return /* @__PURE__ */ React2.createElement(EmotionCacheContext.Provider, {
1607
+ value: cache
1608
+ }, func(props, cache));
1609
+ } else {
1610
+ return func(props, cache);
1611
+ }
1612
+ };
1613
+ };
1614
+ }
1615
+ var ThemeContext = /* @__PURE__ */ React2.createContext({});
1616
+ var hasOwn = {}.hasOwnProperty;
1617
+ var typePropName = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__";
1618
+ var createEmotionProps = function createEmotionProps2(type, props) {
1619
+ var newProps = {};
1620
+ for (var _key in props) {
1621
+ if (hasOwn.call(props, _key)) {
1622
+ newProps[_key] = props[_key];
1623
+ }
1624
+ }
1625
+ newProps[typePropName] = type;
1626
+ return newProps;
1627
+ };
1628
+ var Insertion = function Insertion2(_ref) {
1629
+ var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag;
1630
+ registerStyles(cache, serialized, isStringTag);
1631
+ var rules = useInsertionEffectAlwaysWithSyncFallback(function() {
1632
+ return insertStyles(cache, serialized, isStringTag);
1633
+ });
1634
+ if (!isBrowser4 && rules !== void 0) {
1635
+ var _ref2;
1636
+ var serializedNames = serialized.name;
1637
+ var next2 = serialized.next;
1638
+ while (next2 !== void 0) {
1639
+ serializedNames += " " + next2.name;
1640
+ next2 = next2.next;
1641
+ }
1642
+ return /* @__PURE__ */ React2.createElement("style", (_ref2 = {}, _ref2["data-emotion"] = cache.key + " " + serializedNames, _ref2.dangerouslySetInnerHTML = {
1643
+ __html: rules
1644
+ }, _ref2.nonce = cache.sheet.nonce, _ref2));
1645
+ }
1646
+ return null;
1647
+ };
1648
+ var Emotion = /* @__PURE__ */ withEmotionCache(function(props, cache, ref) {
1649
+ var cssProp = props.css;
1650
+ if (typeof cssProp === "string" && cache.registered[cssProp] !== void 0) {
1651
+ cssProp = cache.registered[cssProp];
1652
+ }
1653
+ var WrappedComponent = props[typePropName];
1654
+ var registeredStyles = [cssProp];
1655
+ var className = "";
1656
+ if (typeof props.className === "string") {
1657
+ className = getRegisteredStyles(cache.registered, registeredStyles, props.className);
1658
+ } else if (props.className != null) {
1659
+ className = props.className + " ";
1660
+ }
1661
+ var serialized = serializeStyles(registeredStyles, void 0, React2.useContext(ThemeContext));
1662
+ className += cache.key + "-" + serialized.name;
1663
+ var newProps = {};
1664
+ for (var _key2 in props) {
1665
+ if (hasOwn.call(props, _key2) && _key2 !== "css" && _key2 !== typePropName && true) {
1666
+ newProps[_key2] = props[_key2];
1667
+ }
1668
+ }
1669
+ newProps.className = className;
1670
+ if (ref) {
1671
+ newProps.ref = ref;
1672
+ }
1673
+ return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(Insertion, {
1674
+ cache,
1675
+ serialized,
1676
+ isStringTag: typeof WrappedComponent === "string"
1677
+ }), /* @__PURE__ */ React2.createElement(WrappedComponent, newProps));
1678
+ });
1679
+ var Emotion$1 = Emotion;
1680
+ __toESM(require_extends());
1681
+ __toESM(require_hoist_non_react_statics_cjs());
1682
+ var jsx = function jsx2(type, props) {
1683
+ var args = arguments;
1684
+ if (props == null || !hasOwn.call(props, "css")) {
1685
+ return React2.createElement.apply(void 0, args);
1686
+ }
1687
+ var argsLength = args.length;
1688
+ var createElementArgArray = new Array(argsLength);
1689
+ createElementArgArray[0] = Emotion$1;
1690
+ createElementArgArray[1] = createEmotionProps(type, props);
1691
+ for (var i = 2; i < argsLength; i++) {
1692
+ createElementArgArray[i] = args[i];
1693
+ }
1694
+ return React2.createElement.apply(null, createElementArgArray);
1695
+ };
1696
+ (function(_jsx) {
1697
+ var JSX;
1698
+ /* @__PURE__ */ (function(_JSX) {
1699
+ })(JSX || (JSX = _jsx.JSX || (_jsx.JSX = {})));
1700
+ })(jsx || (jsx = {}));
1701
+ function css() {
1702
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1703
+ args[_key] = arguments[_key];
1704
+ }
1705
+ return serializeStyles(args);
1706
+ }
1707
+ function keyframes() {
1708
+ var insertable = css.apply(void 0, arguments);
1709
+ var name = "animation-" + insertable.name;
1710
+ return {
1711
+ name,
1712
+ styles: "@keyframes " + name + "{" + insertable.styles + "}",
1713
+ anim: 1,
1714
+ toString: function toString() {
1715
+ return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
1716
+ }
1717
+ };
1718
+ }
1719
+
1720
+ // node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js
1721
+ var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/;
1722
+ var isPropValid = /* @__PURE__ */ memoize(
1723
+ function(prop) {
1724
+ return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111 && prop.charCodeAt(1) === 110 && prop.charCodeAt(2) < 91;
1725
+ }
1726
+ /* Z+1 */
1727
+ );
1728
+
1729
+ // node_modules/@emotion/styled/base/dist/emotion-styled-base.esm.js
1730
+ var isBrowser5 = typeof document !== "undefined";
1731
+ var testOmitPropsOnStringTag = isPropValid;
1732
+ var testOmitPropsOnComponent = function testOmitPropsOnComponent2(key) {
1733
+ return key !== "theme";
1734
+ };
1735
+ var getDefaultShouldForwardProp = function getDefaultShouldForwardProp2(tag) {
1736
+ return typeof tag === "string" && // 96 is one less than the char code
1737
+ // for "a" so this is checking that
1738
+ // it's a lowercase character
1739
+ tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;
1740
+ };
1741
+ var composeShouldForwardProps = function composeShouldForwardProps2(tag, options, isReal) {
1742
+ var shouldForwardProp;
1743
+ if (options) {
1744
+ var optionsShouldForwardProp = options.shouldForwardProp;
1745
+ shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function(propName) {
1746
+ return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);
1747
+ } : optionsShouldForwardProp;
1748
+ }
1749
+ if (typeof shouldForwardProp !== "function" && isReal) {
1750
+ shouldForwardProp = tag.__emotion_forwardProp;
1751
+ }
1752
+ return shouldForwardProp;
1753
+ };
1754
+ var Insertion3 = function Insertion4(_ref) {
1755
+ var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag;
1756
+ registerStyles(cache, serialized, isStringTag);
1757
+ var rules = useInsertionEffectAlwaysWithSyncFallback(function() {
1758
+ return insertStyles(cache, serialized, isStringTag);
1759
+ });
1760
+ if (!isBrowser5 && rules !== void 0) {
1761
+ var _ref2;
1762
+ var serializedNames = serialized.name;
1763
+ var next2 = serialized.next;
1764
+ while (next2 !== void 0) {
1765
+ serializedNames += " " + next2.name;
1766
+ next2 = next2.next;
1767
+ }
1768
+ return /* @__PURE__ */ React2.createElement("style", (_ref2 = {}, _ref2["data-emotion"] = cache.key + " " + serializedNames, _ref2.dangerouslySetInnerHTML = {
1769
+ __html: rules
1770
+ }, _ref2.nonce = cache.sheet.nonce, _ref2));
1771
+ }
1772
+ return null;
1773
+ };
1774
+ var createStyled = function createStyled2(tag, options) {
1775
+ var isReal = tag.__emotion_real === tag;
1776
+ var baseTag = isReal && tag.__emotion_base || tag;
1777
+ var identifierName;
1778
+ var targetClassName;
1779
+ if (options !== void 0) {
1780
+ identifierName = options.label;
1781
+ targetClassName = options.target;
1782
+ }
1783
+ var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);
1784
+ var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);
1785
+ var shouldUseAs = !defaultShouldForwardProp("as");
1786
+ return function() {
1787
+ var args = arguments;
1788
+ var styles = isReal && tag.__emotion_styles !== void 0 ? tag.__emotion_styles.slice(0) : [];
1789
+ if (identifierName !== void 0) {
1790
+ styles.push("label:" + identifierName + ";");
1791
+ }
1792
+ if (args[0] == null || args[0].raw === void 0) {
1793
+ styles.push.apply(styles, args);
1794
+ } else {
1795
+ var templateStringsArr = args[0];
1796
+ styles.push(templateStringsArr[0]);
1797
+ var len = args.length;
1798
+ var i = 1;
1799
+ for (; i < len; i++) {
1800
+ styles.push(args[i], templateStringsArr[i]);
1801
+ }
1802
+ }
1803
+ var Styled = withEmotionCache(function(props, cache, ref) {
1804
+ var FinalTag = shouldUseAs && props.as || baseTag;
1805
+ var className = "";
1806
+ var classInterpolations = [];
1807
+ var mergedProps = props;
1808
+ if (props.theme == null) {
1809
+ mergedProps = {};
1810
+ for (var key in props) {
1811
+ mergedProps[key] = props[key];
1812
+ }
1813
+ mergedProps.theme = React2.useContext(ThemeContext);
1814
+ }
1815
+ if (typeof props.className === "string") {
1816
+ className = getRegisteredStyles(cache.registered, classInterpolations, props.className);
1817
+ } else if (props.className != null) {
1818
+ className = props.className + " ";
1819
+ }
1820
+ var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);
1821
+ className += cache.key + "-" + serialized.name;
1822
+ if (targetClassName !== void 0) {
1823
+ className += " " + targetClassName;
1824
+ }
1825
+ var finalShouldForwardProp = shouldUseAs && shouldForwardProp === void 0 ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;
1826
+ var newProps = {};
1827
+ for (var _key in props) {
1828
+ if (shouldUseAs && _key === "as") continue;
1829
+ if (finalShouldForwardProp(_key)) {
1830
+ newProps[_key] = props[_key];
1831
+ }
1832
+ }
1833
+ newProps.className = className;
1834
+ if (ref) {
1835
+ newProps.ref = ref;
1836
+ }
1837
+ return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(Insertion3, {
1838
+ cache,
1839
+ serialized,
1840
+ isStringTag: typeof FinalTag === "string"
1841
+ }), /* @__PURE__ */ React2.createElement(FinalTag, newProps));
1842
+ });
1843
+ Styled.displayName = identifierName !== void 0 ? identifierName : "Styled(" + (typeof baseTag === "string" ? baseTag : baseTag.displayName || baseTag.name || "Component") + ")";
1844
+ Styled.defaultProps = tag.defaultProps;
1845
+ Styled.__emotion_real = Styled;
1846
+ Styled.__emotion_base = baseTag;
1847
+ Styled.__emotion_styles = styles;
1848
+ Styled.__emotion_forwardProp = shouldForwardProp;
1849
+ Object.defineProperty(Styled, "toString", {
1850
+ value: function value() {
1851
+ return "." + targetClassName;
1852
+ }
1853
+ });
1854
+ Styled.withComponent = function(nextTag, nextOptions) {
1855
+ var newStyled = createStyled2(nextTag, _extends({}, options, nextOptions, {
1856
+ shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)
1857
+ }));
1858
+ return newStyled.apply(void 0, styles);
1859
+ };
1860
+ return Styled;
1861
+ };
1862
+ };
1863
+
1864
+ // node_modules/@emotion/styled/dist/emotion-styled.esm.js
1865
+ __toESM(require_extends());
1866
+ var tags = [
1867
+ "a",
1868
+ "abbr",
1869
+ "address",
1870
+ "area",
1871
+ "article",
1872
+ "aside",
1873
+ "audio",
1874
+ "b",
1875
+ "base",
1876
+ "bdi",
1877
+ "bdo",
1878
+ "big",
1879
+ "blockquote",
1880
+ "body",
1881
+ "br",
1882
+ "button",
1883
+ "canvas",
1884
+ "caption",
1885
+ "cite",
1886
+ "code",
1887
+ "col",
1888
+ "colgroup",
1889
+ "data",
1890
+ "datalist",
1891
+ "dd",
1892
+ "del",
1893
+ "details",
1894
+ "dfn",
1895
+ "dialog",
1896
+ "div",
1897
+ "dl",
1898
+ "dt",
1899
+ "em",
1900
+ "embed",
1901
+ "fieldset",
1902
+ "figcaption",
1903
+ "figure",
1904
+ "footer",
1905
+ "form",
1906
+ "h1",
1907
+ "h2",
1908
+ "h3",
1909
+ "h4",
1910
+ "h5",
1911
+ "h6",
1912
+ "head",
1913
+ "header",
1914
+ "hgroup",
1915
+ "hr",
1916
+ "html",
1917
+ "i",
1918
+ "iframe",
1919
+ "img",
1920
+ "input",
1921
+ "ins",
1922
+ "kbd",
1923
+ "keygen",
1924
+ "label",
1925
+ "legend",
1926
+ "li",
1927
+ "link",
1928
+ "main",
1929
+ "map",
1930
+ "mark",
1931
+ "marquee",
1932
+ "menu",
1933
+ "menuitem",
1934
+ "meta",
1935
+ "meter",
1936
+ "nav",
1937
+ "noscript",
1938
+ "object",
1939
+ "ol",
1940
+ "optgroup",
1941
+ "option",
1942
+ "output",
1943
+ "p",
1944
+ "param",
1945
+ "picture",
1946
+ "pre",
1947
+ "progress",
1948
+ "q",
1949
+ "rp",
1950
+ "rt",
1951
+ "ruby",
1952
+ "s",
1953
+ "samp",
1954
+ "script",
1955
+ "section",
1956
+ "select",
1957
+ "small",
1958
+ "source",
1959
+ "span",
1960
+ "strong",
1961
+ "style",
1962
+ "sub",
1963
+ "summary",
1964
+ "sup",
1965
+ "table",
1966
+ "tbody",
1967
+ "td",
1968
+ "textarea",
1969
+ "tfoot",
1970
+ "th",
1971
+ "thead",
1972
+ "time",
1973
+ "title",
1974
+ "tr",
1975
+ "track",
1976
+ "u",
1977
+ "ul",
1978
+ "var",
1979
+ "video",
1980
+ "wbr",
1981
+ // SVG
1982
+ "circle",
1983
+ "clipPath",
1984
+ "defs",
1985
+ "ellipse",
1986
+ "foreignObject",
1987
+ "g",
1988
+ "image",
1989
+ "line",
1990
+ "linearGradient",
1991
+ "mask",
1992
+ "path",
1993
+ "pattern",
1994
+ "polygon",
1995
+ "polyline",
1996
+ "radialGradient",
1997
+ "rect",
1998
+ "stop",
1999
+ "svg",
2000
+ "text",
2001
+ "tspan"
2002
+ ];
2003
+ var styled = createStyled.bind(null);
2004
+ tags.forEach(function(tagName) {
2005
+ styled[tagName] = styled(tagName);
2006
+ });
2007
+
2008
+ // src/styles/theme.ts
2009
+ var theme = {
2010
+ colors: {
2011
+ primary: "#000000",
2012
+ primaryHover: "#1f1f1f",
2013
+ text: "#000000",
2014
+ textSecondary: "#828282",
2015
+ textMuted: "#a3a3a3",
2016
+ textGray: "#525252",
2017
+ border: "#d4d4d4",
2018
+ borderGray: "#e4e4e7",
2019
+ borderHover: "#9ca3af",
2020
+ borderFocus: "#000000",
2021
+ bgWhite: "#ffffff",
2022
+ bgLight: "#fafafa",
2023
+ bgGray: "#f5f5f5",
2024
+ bgHover: "#f9fafb",
2025
+ error: "#dc2626",
2026
+ errorBg: "#fee2e2",
2027
+ successBg: "#d1fae5",
2028
+ successDark: "#059669",
2029
+ black: "#000000",
2030
+ zinc900: "#09090b"
2031
+ },
2032
+ spacing: {
2033
+ 1: "0.25rem",
2034
+ // 4px
2035
+ 2: "0.5rem",
2036
+ // 8px
2037
+ 3: "0.75rem",
2038
+ // 12px
2039
+ 4: "1rem",
2040
+ // 16px
2041
+ 6: "1.5rem",
2042
+ // 32px
2043
+ 10: "2.5rem"
2044
+ // 40px
2045
+ },
2046
+ radius: {
2047
+ // 2px
2048
+ sm: "0.25rem",
2049
+ // 4px
2050
+ md: "0.375rem",
2051
+ // 6px
2052
+ lg: "0.5rem",
2053
+ // 8px
2054
+ xl: "0.75rem",
2055
+ // 12px
2056
+ full: "9999px"
2057
+ },
2058
+ fontSize: {
2059
+ xs: "0.75rem",
2060
+ // 12px
2061
+ sm: "0.875rem",
2062
+ // 14px
2063
+ base: "1rem",
2064
+ // 20px
2065
+ "2xl": "1.5rem"
2066
+ // 24px
2067
+ },
2068
+ lineHeight: {
2069
+ // 16px
2070
+ normal: "1.25rem",
2071
+ // 20px
2072
+ relaxed: "1.5rem",
2073
+ // 24px
2074
+ loose: "2rem"
2075
+ // 32px
2076
+ },
2077
+ fontFamily: {
2078
+ base: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif",
2079
+ manrope: "'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif"
2080
+ },
2081
+ fontWeight: {
2082
+ normal: 400,
2083
+ medium: 500,
2084
+ semibold: 600
2085
+ },
2086
+ shadow: {
2087
+ md: "0 1px 2px 0 rgba(0, 0, 0, 0.1)",
2088
+ lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)"
2089
+ },
2090
+ transition: {
2091
+ fast: "150ms cubic-bezier(0.4, 0, 0.2, 1)",
2092
+ base: "200ms cubic-bezier(0.4, 0, 0.2, 1)"
2093
+ },
2094
+ sizes: {
2095
+ button: {
2096
+ height: "2.5rem",
2097
+ // 40px for submit
2098
+ heightOAuth: "2.25rem"
2099
+ // 36px for OAuth
2100
+ },
2101
+ // 32px
2102
+ icon: "1.25rem",
2103
+ // 20px
2104
+ iconSm: "1.125rem",
2105
+ // 18px
2106
+ iconLg: "1.5rem",
2107
+ // 24px
2108
+ verifyCode: "3rem",
2109
+ // 48px
2110
+ verifyIcon: "4rem",
2111
+ // 64px
2112
+ verifyIconInner: "2rem"
2113
+ // 32px
2114
+ }
2115
+ };
2116
+ var keyframes2 = {
2117
+ spin: `
2118
+ from {
2119
+ transform: rotate(0deg);
2120
+ }
2121
+ to {
2122
+ transform: rotate(360deg);
2123
+ }
2124
+ `
2125
+ };
2126
+
2127
+ // src/components/atoms/styled.ts
2128
+ var spinAnimation = keyframes`${keyframes2.spin}`;
2129
+ var AuthContainerWrapper = styled.div`
2130
+ width: 100%;
2131
+ max-width: 400px;
2132
+ border-radius: ${theme.radius.xl};
2133
+ overflow: hidden;
2134
+ box-shadow: ${theme.shadow.lg};
2135
+ `;
2136
+ var AuthCard = styled.div`
2137
+ background-color: ${theme.colors.bgWhite};
2138
+ padding: ${theme.spacing[6]};
2139
+ display: flex;
2140
+ flex-direction: column;
2141
+ justify-content: center;
2142
+ align-items: stretch;
2143
+ gap: ${theme.spacing[6]};
2144
+ `;
2145
+ var AuthHeaderWrapper = styled.div`
2146
+ display: flex;
2147
+ flex-direction: column;
2148
+ justify-content: flex-start;
2149
+ align-items: flex-start;
2150
+ gap: ${theme.spacing[2]};
2151
+ `;
2152
+ var AuthHeaderTitle = styled.h1`
2153
+ font-size: ${theme.fontSize["2xl"]};
2154
+ font-weight: ${theme.fontWeight.semibold};
2155
+ color: ${theme.colors.text};
2156
+ line-height: ${theme.lineHeight.loose};
2157
+ margin: 0;
2158
+ font-family: ${theme.fontFamily.base};
2159
+ `;
2160
+ var AuthHeaderSubtitle = styled.p`
2161
+ font-size: ${theme.fontSize.sm};
2162
+ font-weight: ${theme.fontWeight.normal};
2163
+ color: ${theme.colors.textSecondary};
2164
+ line-height: ${theme.lineHeight.relaxed};
2165
+ margin: 0;
2166
+ font-family: ${theme.fontFamily.base};
2167
+ `;
2168
+ var FormFieldWrapper = styled.div`
2169
+ display: flex;
2170
+ flex-direction: column;
2171
+ justify-content: center;
2172
+ align-items: stretch;
2173
+ gap: ${theme.spacing[1]};
2174
+ `;
2175
+ var FormFieldLabel = styled.label`
2176
+ font-size: ${theme.fontSize.sm};
2177
+ font-weight: ${theme.fontWeight.normal};
2178
+ color: ${theme.colors.text};
2179
+ line-height: ${theme.lineHeight.relaxed};
2180
+ font-family: ${theme.fontFamily.base};
2181
+ `;
2182
+ var FormFieldInput = styled.input`
2183
+ width: 100%;
2184
+ display: flex;
2185
+ align-items: center;
2186
+ gap: ${theme.spacing[2]};
2187
+ align-self: stretch;
2188
+ padding: ${theme.spacing[2]} ${theme.spacing[3]};
2189
+ border-radius: ${theme.radius.sm};
2190
+ border: 1px solid ${theme.colors.border};
2191
+ background-color: ${theme.colors.bgWhite};
2192
+ font-size: ${theme.fontSize.sm};
2193
+ font-weight: ${theme.fontWeight.normal};
2194
+ line-height: ${theme.lineHeight.normal};
2195
+ color: ${theme.colors.text};
2196
+ font-family: ${theme.fontFamily.base};
2197
+ transition: border-color ${theme.transition.base};
2198
+
2199
+ &::placeholder {
2200
+ color: ${theme.colors.textMuted};
2201
+ font-size: ${theme.fontSize.sm};
2202
+ font-weight: ${theme.fontWeight.normal};
2203
+ }
2204
+
2205
+ &:focus {
2206
+ outline: none;
2207
+ border-color: ${theme.colors.borderFocus};
2208
+ }
2209
+ `;
2210
+ var PasswordFieldWrapper = styled.div`
2211
+ display: flex;
2212
+ flex-direction: column;
2213
+ justify-content: center;
2214
+ align-items: stretch;
2215
+ gap: ${theme.spacing[1]};
2216
+ `;
2217
+ var PasswordFieldLabelRow = styled.div`
2218
+ display: flex;
2219
+ justify-content: space-between;
2220
+ align-items: center;
2221
+ `;
2222
+ var PasswordFieldLabel = styled.label`
2223
+ font-size: ${theme.fontSize.sm};
2224
+ font-weight: ${theme.fontWeight.normal};
2225
+ color: ${theme.colors.text};
2226
+ line-height: ${theme.lineHeight.relaxed};
2227
+ font-family: ${theme.fontFamily.base};
2228
+ `;
2229
+ var PasswordFieldForgotLink = styled.a`
2230
+ font-size: ${theme.fontSize.sm};
2231
+ font-weight: ${theme.fontWeight.normal};
2232
+ color: ${theme.colors.textSecondary};
2233
+ text-decoration: none;
2234
+ transition: color ${theme.transition.fast};
2235
+ font-family: ${theme.fontFamily.base};
2236
+ cursor: pointer;
2237
+ `;
2238
+ var PasswordFieldInputWrapper = styled.div`
2239
+ position: relative;
2240
+ width: 100%;
2241
+ `;
2242
+ var PasswordFieldInput = styled.input`
2243
+ width: 100%;
2244
+ display: flex;
2245
+ align-items: center;
2246
+ align-self: stretch;
2247
+ padding: ${theme.spacing[2]} ${theme.spacing[3]};
2248
+ padding-right: 2.5rem;
2249
+ border-radius: ${theme.radius.sm};
2250
+ border: 1px solid ${theme.colors.border};
2251
+ background-color: ${theme.colors.bgWhite};
2252
+ font-size: ${theme.fontSize.sm};
2253
+ font-weight: ${theme.fontWeight.normal};
2254
+ line-height: ${theme.lineHeight.normal};
2255
+ color: ${theme.colors.text};
2256
+ font-family: ${theme.fontFamily.base};
2257
+ transition: border-color ${theme.transition.base};
2258
+
2259
+ &::placeholder {
2260
+ color: ${theme.colors.textMuted};
2261
+ }
2262
+
2263
+ &:focus {
2264
+ outline: none;
2265
+ border-color: ${theme.colors.borderFocus};
2266
+ }
2267
+ `;
2268
+ var PasswordFieldToggleButton = styled.button`
2269
+ position: absolute;
2270
+ right: ${theme.spacing[1]};
2271
+ top: 50%;
2272
+ transform: translateY(-50%);
2273
+ background: none;
2274
+ border: none;
2275
+ cursor: pointer;
2276
+ padding: ${theme.spacing[1]};
2277
+ display: flex;
2278
+ align-items: center;
2279
+ justify-content: center;
2280
+ color: ${theme.colors.textSecondary};
2281
+ transition: color ${theme.transition.fast};
2282
+ `;
2283
+ var SubmitButton = styled.button`
2284
+ border-radius: ${theme.radius.sm};
2285
+ background-color: ${theme.colors.primary};
2286
+ height: ${theme.sizes.button.height};
2287
+ width: 100%;
2288
+ display: flex;
2289
+ margin-top: ${theme.spacing[4]};
2290
+ padding: ${theme.spacing[2]} ${theme.spacing[4]};
2291
+ justify-content: center;
2292
+ align-items: center;
2293
+ gap: 0.625rem;
2294
+ align-self: stretch;
2295
+ color: ${theme.colors.bgWhite};
2296
+ font-weight: ${theme.fontWeight.semibold};
2297
+ font-family: ${theme.fontFamily.manrope};
2298
+ font-size: ${theme.fontSize.base};
2299
+ line-height: normal;
2300
+ border: none;
2301
+ cursor: pointer;
2302
+ transition: background-color ${theme.transition.base};
2303
+
2304
+ &:hover:not(:disabled) {
2305
+ background-color: ${theme.colors.primaryHover};
2306
+ }
2307
+
2308
+ &:disabled {
2309
+ opacity: 0.5;
2310
+ cursor: not-allowed;
2311
+ }
2312
+ `;
2313
+ var SubmitButtonIcon = styled.div`
2314
+ width: ${theme.sizes.icon};
2315
+ height: ${theme.sizes.icon};
2316
+ display: flex;
2317
+ align-items: center;
2318
+ justify-content: center;
2319
+
2320
+ svg {
2321
+ width: 100%;
2322
+ height: 100%;
2323
+ }
2324
+ `;
2325
+ var SubmitButtonSpinner = styled.div`
2326
+ width: ${theme.sizes.icon};
2327
+ height: ${theme.sizes.icon};
2328
+ display: flex;
2329
+ align-items: center;
2330
+ justify-content: center;
2331
+ animation: ${spinAnimation} 1s linear infinite;
2332
+
2333
+ svg {
2334
+ width: 100%;
2335
+ height: 100%;
2336
+ }
2337
+ `;
2338
+ var OAuthButton = styled.button`
2339
+ display: flex;
2340
+ width: 100%;
2341
+ height: ${theme.sizes.button.heightOAuth};
2342
+ padding: ${(props) => props.$variant === "short" || props.$variant === "iconOnly" ? theme.spacing[2] : `${theme.spacing[2]} ${theme.spacing[3]}`};
2343
+ flex-direction: row;
2344
+ justify-content: center;
2345
+ align-items: center;
2346
+ gap: ${(props) => props.$variant === "iconOnly" ? "0" : props.$variant === "short" ? theme.spacing[2] : theme.spacing[3]};
2347
+ border-radius: ${theme.radius.md};
2348
+ border: 1px solid ${theme.colors.borderGray};
2349
+ background-color: ${theme.colors.bgWhite};
2350
+ box-shadow: ${theme.shadow.md};
2351
+ color: ${theme.colors.zinc900};
2352
+ text-align: center;
2353
+ font-size: ${theme.fontSize.sm};
2354
+ font-weight: ${theme.fontWeight.medium};
2355
+ line-height: ${theme.lineHeight.normal};
2356
+ cursor: pointer;
2357
+ transition: all ${theme.transition.base};
2358
+ font-family: ${theme.fontFamily.base};
2359
+
2360
+ &:hover:not(:disabled) {
2361
+ background-color: ${theme.colors.bgHover};
2362
+ border-color: ${theme.colors.borderHover};
2363
+ }
2364
+
2365
+ &:disabled {
2366
+ opacity: 0.6;
2367
+ cursor: not-allowed;
2368
+ }
2369
+ `;
2370
+ var OAuthButtonIcon = styled.div`
2371
+ display: flex;
2372
+ align-items: center;
2373
+ justify-content: center;
2374
+ flex-shrink: 0;
2375
+ width: ${theme.sizes.iconSm};
2376
+ height: ${theme.sizes.iconSm};
2377
+
2378
+ svg {
2379
+ width: 100%;
2380
+ height: 100%;
2381
+ }
2382
+ `;
2383
+ var OAuthProvidersContainer = styled.div`
2384
+ display: flex;
2385
+ flex-direction: column;
2386
+ gap: ${theme.spacing[3]};
2387
+ width: 100%;
2388
+ `;
2389
+ var AuthLinkWrapper = styled.div`
2390
+ display: flex;
2391
+ justify-content: center;
2392
+ align-items: center;
2393
+ gap: ${theme.spacing[1]};
2394
+ font-size: ${theme.fontSize.sm};
2395
+ color: ${theme.colors.textSecondary};
2396
+ font-family: ${theme.fontFamily.base};
2397
+ `;
2398
+ var AuthLinkText = styled.span`
2399
+ font-weight: ${theme.fontWeight.normal};
2400
+ `;
2401
+ var AuthLinkLink = styled.a`
2402
+ font-weight: ${theme.fontWeight.semibold};
2403
+ color: ${theme.colors.text};
2404
+ text-decoration: none;
2405
+ transition: opacity ${theme.transition.fast};
2406
+ cursor: pointer;
2407
+ `;
2408
+ var AuthDividerWrapper = styled.div`
2409
+ display: flex;
2410
+ align-items: center;
2411
+ text-align: center;
2412
+ width: 100%;
2413
+ gap: ${theme.spacing[3]};
2414
+ `;
2415
+ var AuthDividerLine = styled.div`
2416
+ flex: 1;
2417
+ border-top: 1px solid ${theme.colors.border};
2418
+ `;
2419
+ var AuthDividerText = styled.span`
2420
+ font-size: ${theme.fontSize.sm};
2421
+ color: ${theme.colors.textSecondary};
2422
+ font-weight: ${theme.fontWeight.normal};
2423
+ font-family: ${theme.fontFamily.manrope};
2424
+ `;
2425
+ var ErrorBannerWrapper = styled.div`
2426
+ padding: ${theme.spacing[3]};
2427
+ background-color: ${theme.colors.errorBg};
2428
+ border-radius: ${theme.radius.md};
2429
+ border: 1px solid ${theme.colors.error};
2430
+ `;
2431
+ var ErrorBannerContent = styled.div`
2432
+ display: flex;
2433
+ align-items: center;
2434
+ gap: ${theme.spacing[2]};
2435
+ `;
2436
+ var ErrorBannerIcon = styled.div`
2437
+ width: ${theme.sizes.iconLg};
2438
+ height: ${theme.sizes.iconLg};
2439
+ flex-shrink: 0;
2440
+ color: ${theme.colors.error};
2441
+ display: flex;
2442
+ align-items: center;
2443
+ justify-content: center;
2444
+
2445
+ svg {
2446
+ width: 100%;
2447
+ height: 100%;
2448
+ }
2449
+ `;
2450
+ var ErrorBannerText = styled.p`
2451
+ font-size: ${theme.fontSize.sm};
2452
+ color: ${theme.colors.error};
2453
+ font-weight: ${theme.fontWeight.normal};
2454
+ font-family: ${theme.fontFamily.base};
2455
+ margin: 0;
2456
+ `;
2457
+ var AuthBrandingWrapper = styled.div`
2458
+ background-color: ${theme.colors.bgLight};
2459
+ padding: ${theme.spacing[4]} ${theme.spacing[2]};
2460
+ display: flex;
2461
+ flex-direction: row;
2462
+ justify-content: center;
2463
+ align-items: center;
2464
+ gap: ${theme.spacing[1]};
2465
+ `;
2466
+ var AuthBrandingText = styled.p`
2467
+ font-size: ${theme.fontSize.xs};
2468
+ font-weight: ${theme.fontWeight.medium};
2469
+ color: ${theme.colors.text};
2470
+ font-family: ${theme.fontFamily.manrope};
2471
+ margin: 0;
2472
+ `;
2473
+ var VerificationCodeInputContainer = styled.div`
2474
+ display: flex;
2475
+ gap: ${theme.spacing[3]};
2476
+ justify-content: center;
2477
+ `;
2478
+ var VerificationCodeInput = styled.input`
2479
+ width: ${theme.sizes.verifyCode};
2480
+ height: ${theme.sizes.verifyCode};
2481
+ text-align: center;
2482
+ font-size: ${theme.fontSize.base};
2483
+ font-weight: ${theme.fontWeight.semibold};
2484
+ border: 1px solid ${theme.colors.border};
2485
+ border-radius: ${theme.radius.sm};
2486
+ background-color: ${theme.colors.bgWhite};
2487
+ color: ${theme.colors.text};
2488
+ transition: border-color ${theme.transition.base};
2489
+ font-family: ${theme.fontFamily.manrope};
2490
+
2491
+ &:focus {
2492
+ outline: none;
2493
+ border-color: ${theme.colors.borderFocus};
2494
+ }
2495
+ `;
2496
+ var PasswordStrengthWrapper = styled.div`
2497
+ margin-top: ${theme.spacing[2]};
2498
+ `;
2499
+ styled.div`
2500
+ height: 100%;
2501
+ transition:
2502
+ width ${theme.transition.base},
2503
+ background-color ${theme.transition.base};
2504
+ `;
2505
+ styled.span`
2506
+ font-size: ${theme.fontSize.xs};
2507
+ color: ${theme.colors.textSecondary};
2508
+ font-family: ${theme.fontFamily.base};
2509
+ `;
2510
+ var PasswordStrengthRequirements = styled.div`
2511
+ display: flex;
2512
+ flex-direction: column;
2513
+ gap: ${theme.spacing[2]};
2514
+ font-size: ${theme.fontSize.sm};
2515
+ color: ${theme.colors.textGray};
2516
+ font-family: ${theme.fontFamily.base};
2517
+ `;
2518
+ var PasswordStrengthRequirement = styled.div`
2519
+ display: flex;
2520
+ align-items: center;
2521
+ gap: ${theme.spacing[2]};
2522
+ `;
2523
+ function AuthBranding() {
2524
+ return /* @__PURE__ */ jsxs(AuthBrandingWrapper, { children: [
2525
+ /* @__PURE__ */ jsx$1(AuthBrandingText, { children: "Secured by" }),
2526
+ /* @__PURE__ */ jsx$1("a", { href: "https://aaspai.dev", target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ jsxs(
2527
+ "svg",
2528
+ {
2529
+ width: "83",
2530
+ height: "20",
2531
+ viewBox: "0 0 83 20",
2532
+ fill: "none",
2533
+ xmlns: "http://www.w3.org/2000/svg",
2534
+ children: [
2535
+ /* @__PURE__ */ jsx$1(
2536
+ "path",
2537
+ {
2538
+ d: "M2.16783 8.46797C1.9334 8.23325 1.9334 7.85269 2.16783 7.61797L8.11049 1.66797L16.6 1.66797L6.41259 11.868C6.17815 12.1027 5.79807 12.1027 5.56363 11.868L2.16783 8.46797Z",
2539
+ fill: "url(#paint0_linear_2976_9475)"
2540
+ }
2541
+ ),
2542
+ /* @__PURE__ */ jsx$1(
2543
+ "path",
2544
+ {
2545
+ d: "M12.8858 6.44922L16.6 10.168V18.668L8.64108 10.6992L12.8858 6.44922Z",
2546
+ fill: "url(#paint1_linear_2976_9475)"
2547
+ }
2548
+ ),
2549
+ /* @__PURE__ */ jsx$1(
2550
+ "path",
2551
+ {
2552
+ d: "M67.5439 6.48828C68.2894 6.48828 68.9145 6.67064 69.418 7.03516C69.5229 7.10943 69.6214 7.1907 69.7158 7.27637V6.70703H71.248V14.959C71.248 15.1583 71.2381 15.3485 71.2188 15.5283C71.2042 15.7129 71.1774 15.8925 71.1387 16.0674C71.0225 16.5776 70.7998 16.9957 70.4707 17.3213C70.1415 17.6518 69.7321 17.8972 69.2432 18.0576C68.7592 18.2179 68.2222 18.2988 67.6318 18.2988C67.1962 18.2988 66.7768 18.2308 66.375 18.0947C65.9782 17.9587 65.6202 17.7614 65.3008 17.5039C64.9813 17.2512 64.7199 16.9446 64.5166 16.585L66.1289 15.7832C66.2789 16.0698 66.4888 16.2819 66.7598 16.418C67.0356 16.5589 67.3289 16.6289 67.6387 16.6289C68.0016 16.6289 68.3258 16.5628 68.6113 16.4316C68.8969 16.3053 69.1176 16.116 69.2725 15.8633C69.4321 15.6155 69.5077 15.3047 69.498 14.9307V14.1797C69.4665 14.2037 69.4359 14.229 69.4033 14.252C68.8855 14.6164 68.2441 14.7988 67.4795 14.7988C66.7582 14.7988 66.1281 14.6165 65.5908 14.252C65.0537 13.8875 64.637 13.3915 64.3418 12.7646C64.0467 12.1378 63.8994 11.4307 63.8994 10.6436C63.8994 9.84651 64.0465 9.13673 64.3418 8.51465C64.6419 7.88768 65.0663 7.39481 65.6133 7.03516C66.1601 6.67077 66.8036 6.48836 67.5439 6.48828ZM37.5 6.48828C38.1099 6.48828 38.6496 6.58294 39.1191 6.77246C39.5935 6.96201 39.9762 7.2321 40.2666 7.58203C40.5569 7.93184 40.7359 8.34227 40.8037 8.81348L39.0176 9.13477C38.974 8.79951 38.8218 8.53424 38.5605 8.33984C38.304 8.14547 37.96 8.03605 37.5293 8.01172C37.1178 7.98742 36.7859 8.05051 36.5342 8.20117C36.2825 8.34698 36.1562 8.55398 36.1562 8.82129C36.1563 8.97184 36.208 9.10017 36.3096 9.20703C36.4112 9.31394 36.614 9.42141 36.9189 9.52832C37.2288 9.63524 37.6889 9.76635 38.2988 9.92188C38.9232 10.0823 39.4222 10.2666 39.7949 10.4756C40.1722 10.6796 40.4428 10.9254 40.6074 11.2119C40.7768 11.4987 40.8623 11.8466 40.8623 12.2549C40.8623 13.047 40.574 13.6691 39.998 14.1211C39.4268 14.5731 38.6348 14.7988 37.623 14.7988C36.6551 14.7988 35.8687 14.5799 35.2637 14.1426C34.6587 13.7052 34.2909 13.0908 34.1602 12.2988L35.9463 12.0215C36.0383 12.4102 36.2411 12.7169 36.5557 12.9404C36.8703 13.164 37.2678 13.2754 37.7471 13.2754C38.1681 13.2754 38.4922 13.1926 38.7197 13.0273C38.9521 12.8572 39.0684 12.6266 39.0684 12.335C39.0684 12.1552 39.0245 12.0122 38.9375 11.9053C38.8552 11.7935 38.6713 11.686 38.3857 11.584C38.1001 11.4819 37.6618 11.3528 37.0713 11.1973C36.4131 11.0223 35.8901 10.8359 35.5029 10.6367C35.1158 10.4327 34.8374 10.192 34.668 9.91504C34.4985 9.63801 34.4141 9.30188 34.4141 8.9082C34.4141 8.41746 34.5423 7.98943 34.7988 7.625C35.0553 7.26073 35.4135 6.98146 35.873 6.78711C36.3329 6.58784 36.8755 6.48828 37.5 6.48828ZM53.3047 6.48828C54.0937 6.48828 54.7815 6.66572 55.3672 7.02051C55.9527 7.37528 56.4072 7.86634 56.7314 8.49316C57.0558 9.11525 57.2187 9.83193 57.2188 10.6436C57.2188 11.46 57.0537 12.1817 56.7246 12.8086C56.4003 13.4307 55.9451 13.9196 55.3594 14.2744C54.7737 14.6242 54.0888 14.7988 53.3047 14.7988C52.5205 14.7988 51.8357 14.6214 51.25 14.2666C50.6643 13.9118 50.2091 13.4238 49.8848 12.8018C49.5653 12.1748 49.4053 11.4552 49.4053 10.6436C49.4053 9.81735 49.5703 9.09279 49.8994 8.4707C50.2286 7.8488 50.6859 7.36255 51.2715 7.0127C51.8572 6.66281 52.5351 6.48828 53.3047 6.48828ZM76.7471 6.48828C77.5603 6.48828 78.25 6.68053 78.8164 7.06445C79.3876 7.44351 79.812 7.97991 80.0879 8.6748C80.3638 9.36976 80.4672 10.189 80.3994 11.1318H74.7256C74.7843 11.6972 74.949 12.1516 75.2227 12.4951C75.5711 12.9325 76.0792 13.1513 76.7471 13.1514C77.1779 13.1514 77.5486 13.0567 77.8584 12.8672C78.173 12.6728 78.4146 12.3928 78.584 12.0283L80.3125 12.5537C80.0124 13.2633 79.5473 13.8153 78.918 14.209C78.2936 14.6025 77.6036 14.7988 76.8486 14.7988C76.0549 14.7988 75.358 14.6263 74.7578 14.2812C74.1576 13.9362 73.6875 13.458 73.3486 12.8457C73.0147 12.2334 72.8477 11.5284 72.8477 10.7314C72.8477 9.87126 73.0127 9.12495 73.3418 8.49316C73.671 7.85651 74.1282 7.36263 74.7139 7.0127C75.2995 6.6628 75.9775 6.48832 76.7471 6.48828ZM23.3301 14.5801H21.5801V4.08203H23.3301V14.5801ZM29.6152 6.48047C30.1959 6.48052 30.6753 6.5781 31.0527 6.77246C31.4301 6.96681 31.7305 7.21443 31.9531 7.51562C32.1758 7.81695 32.3398 8.13831 32.4463 8.47852C32.5528 8.81873 32.6213 9.14205 32.6504 9.44824C32.6843 9.74946 32.7012 9.99508 32.7012 10.1846V14.5801H30.9287V10.7891C30.9287 10.5413 30.9118 10.2669 30.8779 9.96582C30.844 9.66449 30.7645 9.37469 30.6387 9.09766C30.5177 8.81592 30.3337 8.58503 30.0869 8.40527C29.8449 8.22551 29.5157 8.13579 29.0996 8.13574C28.8769 8.13574 28.6563 8.17221 28.4385 8.24512C28.2206 8.31802 28.0219 8.4442 27.8428 8.62402C27.6685 8.79899 27.5284 9.04249 27.4219 9.35352C27.3154 9.65965 27.2617 10.0532 27.2617 10.5342V14.5801H25.4902V6.70703H27.0518V7.58301C27.2521 7.34675 27.486 7.14172 27.7559 6.96973C28.2593 6.64409 28.8794 6.48047 29.6152 6.48047ZM48.748 5.83887H44.2021V8.45605H47.876V10.2061H44.2021V14.5801H42.4521V4.08203H48.748V5.83887ZM62.5137 6.67773C62.7606 6.65829 63.001 6.66815 63.2334 6.70703V8.34766C63.001 8.27961 62.7317 8.25695 62.4268 8.28125C62.1267 8.30557 61.8553 8.39134 61.6133 8.53711C61.3715 8.66829 61.1733 8.83606 61.0186 9.04004C60.8686 9.24404 60.7572 9.47701 60.6846 9.73926C60.612 9.99685 60.5752 10.2768 60.5752 10.5781V14.5801H58.8184V6.70703H60.3652V7.96582C60.4243 7.85986 60.4888 7.75824 60.5605 7.66211C60.7251 7.4434 60.9219 7.26302 61.1494 7.12207C61.3429 6.99098 61.5559 6.88926 61.7881 6.81641C62.0251 6.73869 62.267 6.69235 62.5137 6.67773ZM67.8057 8.0625C67.3362 8.06252 66.9485 8.17982 66.6436 8.41309C66.3389 8.64144 66.1139 8.95232 65.9688 9.3457C65.8235 9.7345 65.751 10.1673 65.751 10.6436C65.751 11.1247 65.8215 11.5624 65.9619 11.9561C66.1071 12.3447 66.3269 12.6535 66.6221 12.8818C66.9174 13.1103 67.293 13.2246 67.748 13.2246C68.2174 13.2246 68.5953 13.1171 68.8809 12.9033C69.1711 12.6846 69.3811 12.3808 69.5117 11.9922C69.6473 11.6034 69.7158 11.1539 69.7158 10.6436C69.7158 10.1284 69.6473 9.67886 69.5117 9.29492C69.381 8.90617 69.1753 8.60445 68.8945 8.39062C68.6138 8.17213 68.2508 8.0625 67.8057 8.0625ZM53.3047 8.13574C52.8351 8.13574 52.4475 8.24222 52.1426 8.45605C51.8425 8.66504 51.6198 8.95977 51.4746 9.33887C51.3295 9.71303 51.2568 10.148 51.2568 10.6436C51.2568 11.4066 51.4288 12.0168 51.7725 12.4736C52.121 12.9256 52.6318 13.1514 53.3047 13.1514C54.0017 13.1514 54.5196 12.9177 54.8584 12.4512C55.1971 11.9846 55.3672 11.3822 55.3672 10.6436C55.3672 9.8807 55.1951 9.27324 54.8516 8.82129C54.5079 8.36444 53.9921 8.13575 53.3047 8.13574ZM76.8203 8.02637C76.1039 8.02637 75.5712 8.25013 75.2227 8.69727C74.9987 8.98144 74.8476 9.35094 74.7676 9.80566H78.6221C78.5589 9.29301 78.4236 8.89686 78.2139 8.61719C77.9186 8.22359 77.4543 8.02645 76.8203 8.02637Z",
2553
+ fill: "black"
2554
+ }
2555
+ ),
2556
+ /* @__PURE__ */ jsxs("defs", { children: [
2557
+ /* @__PURE__ */ jsxs(
2558
+ "linearGradient",
2559
+ {
2560
+ id: "paint0_linear_2976_9475",
2561
+ x1: "1.85883",
2562
+ y1: "1.92425",
2563
+ x2: "24.3072",
2564
+ y2: "9.64016",
2565
+ gradientUnits: "userSpaceOnUse",
2566
+ children: [
2567
+ /* @__PURE__ */ jsx$1("stop", {}),
2568
+ /* @__PURE__ */ jsx$1("stop", { offset: "1", stopOpacity: "0.4" })
2569
+ ]
2570
+ }
2571
+ ),
2572
+ /* @__PURE__ */ jsxs(
2573
+ "linearGradient",
2574
+ {
2575
+ id: "paint1_linear_2976_9475",
2576
+ x1: "25.6475",
2577
+ y1: "8.65468",
2578
+ x2: "10.7901",
2579
+ y2: "8.65468",
2580
+ gradientUnits: "userSpaceOnUse",
2581
+ children: [
2582
+ /* @__PURE__ */ jsx$1("stop", {}),
2583
+ /* @__PURE__ */ jsx$1("stop", { offset: "1", stopOpacity: "0.4" })
2584
+ ]
2585
+ }
2586
+ )
2587
+ ] })
2588
+ ]
2589
+ }
2590
+ ) })
2591
+ ] });
2592
+ }
2593
+ function AuthContainer({ children }) {
2594
+ return /* @__PURE__ */ jsxs(AuthContainerWrapper, { children: [
2595
+ /* @__PURE__ */ jsx$1(AuthCard, { children }),
2596
+ /* @__PURE__ */ jsx$1(AuthBranding, {})
2597
+ ] });
2598
+ }
2599
+ function AuthHeader({ title, subtitle }) {
2600
+ return /* @__PURE__ */ jsxs(AuthHeaderWrapper, { children: [
2601
+ /* @__PURE__ */ jsx$1(AuthHeaderTitle, { children: title }),
2602
+ subtitle && /* @__PURE__ */ jsx$1(AuthHeaderSubtitle, { children: subtitle })
2603
+ ] });
2604
+ }
2605
+ function AuthErrorBanner({ error }) {
2606
+ if (!error) {
2607
+ return null;
2608
+ }
2609
+ return /* @__PURE__ */ jsx$1(ErrorBannerWrapper, { children: /* @__PURE__ */ jsxs(ErrorBannerContent, { children: [
2610
+ /* @__PURE__ */ jsx$1(ErrorBannerIcon, { children: /* @__PURE__ */ jsx$1(AlertTriangle, {}) }),
2611
+ /* @__PURE__ */ jsx$1(ErrorBannerText, { children: error })
2612
+ ] }) });
2613
+ }
2614
+ function AuthFormField({ label, id, ...props }) {
2615
+ return /* @__PURE__ */ jsxs(FormFieldWrapper, { children: [
2616
+ /* @__PURE__ */ jsx$1(FormFieldLabel, { htmlFor: id, children: label }),
2617
+ /* @__PURE__ */ jsx$1(FormFieldInput, { id, ...props })
2618
+ ] });
2619
+ }
2620
+ var NavigationContext = createContext(null);
2621
+ function useNavigationAdapter() {
2622
+ const adapter = useContext(NavigationContext);
2623
+ if (!adapter) {
2624
+ return {
2625
+ useSearchParams: () => new URLSearchParams(),
2626
+ Link: ({ href, children, className }) => /* @__PURE__ */ jsx$1("a", { href, className, children })
2627
+ };
2628
+ }
2629
+ return adapter;
2630
+ }
2631
+
2632
+ // src/navigation/useSearchParams.ts
2633
+ function useSearchParams() {
2634
+ const adapter = useNavigationAdapter();
2635
+ return adapter.useSearchParams();
2636
+ }
2637
+ function AuthPasswordStrengthIndicator({
2638
+ password,
2639
+ config
2640
+ }) {
2641
+ const requirements = createRequirements(config);
2642
+ return /* @__PURE__ */ jsx$1(PasswordStrengthWrapper, { children: /* @__PURE__ */ jsx$1(PasswordStrengthRequirements, { children: requirements.map((req) => /* @__PURE__ */ jsxs(PasswordStrengthRequirement, { children: [
2643
+ /* @__PURE__ */ jsx$1(
2644
+ "div",
2645
+ {
2646
+ style: {
2647
+ display: "flex",
2648
+ alignItems: "center",
2649
+ justifyContent: "center",
2650
+ width: "1rem",
2651
+ height: "1rem",
2652
+ borderRadius: "50%",
2653
+ border: "2px solid",
2654
+ borderColor: req.test(password) ? "transparent" : "#9ca3af",
2655
+ backgroundColor: req.test(password) ? "#059669" : "white",
2656
+ transition: "all 0.2s"
2657
+ },
2658
+ children: req.test(password) && /* @__PURE__ */ jsx$1(Check, { style: { width: "0.75rem", height: "0.75rem", color: "white" } })
2659
+ }
2660
+ ),
2661
+ /* @__PURE__ */ jsx$1("span", { children: req.label })
2662
+ ] }, req.label)) }) });
2663
+ }
2664
+ function createRequirements(config) {
2665
+ const requirements = [];
2666
+ if (config.passwordMinLength) {
2667
+ requirements.push({
2668
+ label: `At least ${config.passwordMinLength} characters`,
2669
+ test: (password) => password.length >= config.passwordMinLength
2670
+ });
2671
+ }
2672
+ if (config.requireLowercase) {
2673
+ requirements.push({
2674
+ label: "Contains lowercase letter",
2675
+ test: (password) => /[a-z]/.test(password)
2676
+ });
2677
+ }
2678
+ if (config.requireUppercase) {
2679
+ requirements.push({
2680
+ label: "Contains uppercase letter",
2681
+ test: (password) => /[A-Z]/.test(password)
2682
+ });
2683
+ }
2684
+ if (config.requireNumber) {
2685
+ requirements.push({
2686
+ label: "Contains number",
2687
+ test: (password) => /\d/.test(password)
2688
+ });
2689
+ }
2690
+ if (config.requireSpecialChar) {
2691
+ requirements.push({
2692
+ label: "Contains special character",
2693
+ test: (password) => /[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/.test(password)
2694
+ });
2695
+ }
2696
+ return requirements;
2697
+ }
2698
+
2699
+ // src/lib/path-utils.ts
2700
+ function resolveAuthPath(targetPath) {
2701
+ if (typeof window === "undefined") {
2702
+ return targetPath;
2703
+ }
2704
+ const currentPath = window.location.pathname;
2705
+ if (currentPath.startsWith("/auth/")) {
2706
+ if (targetPath.startsWith("/auth/")) {
2707
+ return targetPath;
2708
+ }
2709
+ return `/auth${targetPath}`;
2710
+ }
2711
+ return targetPath;
2712
+ }
2713
+ function resolveAuthUrl(targetPath, searchParams) {
2714
+ const resolvedPath = resolveAuthPath(targetPath);
2715
+ if (!searchParams || searchParams.toString() === "") {
2716
+ return resolvedPath;
2717
+ }
2718
+ return `${resolvedPath}?${searchParams.toString()}`;
2719
+ }
2720
+ function AuthPasswordField({
2721
+ label,
2722
+ id,
2723
+ showStrengthIndicator = false,
2724
+ authConfig,
2725
+ forgotPasswordLink,
2726
+ value,
2727
+ onFocus,
2728
+ ...props
2729
+ }) {
2730
+ const searchParams = useSearchParams();
2731
+ const { Link } = useNavigationAdapter();
2732
+ const [showPassword, setShowPassword] = useState(false);
2733
+ const [showStrength, setShowStrength] = useState(false);
2734
+ const resolvedForgotPasswordHref = useMemo(
2735
+ () => forgotPasswordLink ? resolveAuthUrl(forgotPasswordLink.href, searchParams) : void 0,
2736
+ [forgotPasswordLink, searchParams]
2737
+ );
2738
+ const handleFocus = (e) => {
2739
+ if (showStrengthIndicator) {
2740
+ setShowStrength(true);
2741
+ }
2742
+ onFocus?.(e);
2743
+ };
2744
+ return /* @__PURE__ */ jsxs(PasswordFieldWrapper, { children: [
2745
+ (label || forgotPasswordLink) && /* @__PURE__ */ jsxs(PasswordFieldLabelRow, { children: [
2746
+ /* @__PURE__ */ jsx$1(PasswordFieldLabel, { htmlFor: id, children: label }),
2747
+ forgotPasswordLink && resolvedForgotPasswordHref && /* @__PURE__ */ jsx$1(Link, { href: resolvedForgotPasswordHref, className: "", children: /* @__PURE__ */ jsx$1(PasswordFieldForgotLink, { as: "span", children: forgotPasswordLink.text || "Forget Password?" }) })
2748
+ ] }),
2749
+ /* @__PURE__ */ jsxs(PasswordFieldInputWrapper, { children: [
2750
+ /* @__PURE__ */ jsx$1(
2751
+ PasswordFieldInput,
2752
+ {
2753
+ id,
2754
+ type: showPassword ? "text" : "password",
2755
+ value,
2756
+ onFocus: handleFocus,
2757
+ ...props
2758
+ }
2759
+ ),
2760
+ /* @__PURE__ */ jsx$1(
2761
+ PasswordFieldToggleButton,
2762
+ {
2763
+ type: "button",
2764
+ onClick: () => setShowPassword(!showPassword),
2765
+ "aria-label": showPassword ? "Hide password" : "Show password",
2766
+ children: showPassword ? /* @__PURE__ */ jsx$1(EyeOff, { size: 20 }) : /* @__PURE__ */ jsx$1(Eye, { size: 20 })
2767
+ }
2768
+ )
2769
+ ] }),
2770
+ showStrengthIndicator && showStrength && /* @__PURE__ */ jsx$1(AuthPasswordStrengthIndicator, { password: String(value || ""), config: authConfig })
2771
+ ] });
2772
+ }
2773
+ function AuthSubmitButton({
2774
+ children,
2775
+ isLoading = false,
2776
+ confirmed = false,
2777
+ disabled = false,
2778
+ type = "submit",
2779
+ onClick
2780
+ }) {
2781
+ return /* @__PURE__ */ jsxs(SubmitButton, { type, disabled: disabled || isLoading || confirmed, onClick, children: [
2782
+ isLoading && /* @__PURE__ */ jsx$1(SubmitButtonSpinner, { children: /* @__PURE__ */ jsx$1(Loader2, { size: 20 }) }),
2783
+ confirmed && /* @__PURE__ */ jsx$1(SubmitButtonIcon, { children: /* @__PURE__ */ jsx$1(CircleCheck, { size: 20 }) }),
2784
+ children
2785
+ ] });
2786
+ }
2787
+ function AuthLink({ text, linkText, href }) {
2788
+ const searchParams = useSearchParams();
2789
+ const { Link } = useNavigationAdapter();
2790
+ const finalHref = resolveAuthUrl(href, searchParams);
2791
+ return /* @__PURE__ */ jsxs(AuthLinkWrapper, { children: [
2792
+ text && /* @__PURE__ */ jsx$1(AuthLinkText, { children: text }),
2793
+ text && " ",
2794
+ /* @__PURE__ */ jsx$1(Link, { href: finalHref, className: "", children: /* @__PURE__ */ jsx$1(AuthLinkLink, { as: "span", children: linkText }) })
2795
+ ] });
2796
+ }
2797
+ function AuthDivider({ text = "or" }) {
2798
+ return /* @__PURE__ */ jsxs(AuthDividerWrapper, { children: [
2799
+ /* @__PURE__ */ jsx$1(AuthDividerLine, {}),
2800
+ /* @__PURE__ */ jsx$1(AuthDividerText, { children: text }),
2801
+ /* @__PURE__ */ jsx$1(AuthDividerLine, {})
2802
+ ] });
2803
+ }
2804
+ var OAUTH_PROVIDER_CONFIG = {
2805
+ google: {
2806
+ name: "Google",
2807
+ svg: /* @__PURE__ */ jsxs("svg", { width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", children: [
2808
+ /* @__PURE__ */ jsx$1(
2809
+ "path",
2810
+ {
2811
+ d: "M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844c-.209 1.125-.843 2.078-1.796 2.717v2.258h2.908c1.702-1.567 2.684-3.874 2.684-6.615z",
2812
+ fill: "#4285F4"
2813
+ }
2814
+ ),
2815
+ /* @__PURE__ */ jsx$1(
2816
+ "path",
2817
+ {
2818
+ d: "M9 18c2.43 0 4.467-.806 5.956-2.184l-2.908-2.258c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332C2.438 15.983 5.482 18 9 18z",
2819
+ fill: "#34A853"
2820
+ }
2821
+ ),
2822
+ /* @__PURE__ */ jsx$1(
2823
+ "path",
2824
+ {
2825
+ d: "M3.964 10.707c-.18-.54-.282-1.117-.282-1.707 0-.593.102-1.17.282-1.709V4.958H.957C.347 6.173 0 7.548 0 9c0 1.452.348 2.827.957 4.042l3.007-2.335z",
2826
+ fill: "#FBBC05"
2827
+ }
2828
+ ),
2829
+ /* @__PURE__ */ jsx$1(
2830
+ "path",
2831
+ {
2832
+ d: "M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0 5.482 0 2.438 2.017.957 4.958L3.964 7.29C4.672 5.163 6.656 3.58 9 3.58z",
2833
+ fill: "#EA4335"
2834
+ }
2835
+ )
2836
+ ] }),
2837
+ className: "aaspai-oauth-google"
2838
+ },
2839
+ github: {
2840
+ name: "GitHub",
2841
+ svg: /* @__PURE__ */ jsx$1("svg", { width: "18", height: "18", viewBox: "0 0 16 16", fill: "currentColor", children: /* @__PURE__ */ jsx$1("path", { d: "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" }) }),
2842
+ className: "aaspai-oauth-github"
2843
+ },
2844
+ discord: {
2845
+ name: "Discord",
2846
+ svg: /* @__PURE__ */ jsx$1("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx$1(
2847
+ "path",
2848
+ {
2849
+ d: "M20.317 4.37a19.791 19.791 0 00-4.885-1.515.074.074 0 00-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 00-5.487 0 12.64 12.64 0 00-.617-1.25.077.077 0 00-.079-.037A19.736 19.736 0 003.677 4.37a.07.07 0 00-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 00.031.057 19.9 19.9 0 005.993 3.03.078.078 0 00.084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 00-.041-.106 13.107 13.107 0 01-1.872-.892.077.077 0 01-.008-.128 10.2 10.2 0 00.372-.292.074.074 0 01.077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 01.078.01c.12.098.246.198.373.292a.077.077 0 01-.006.127 12.299 12.299 0 01-1.873.892.077.077 0 00-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 00.084.028 19.839 19.839 0 006.002-3.03.077.077 0 00.032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 00-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z",
2850
+ fill: "#5865F2"
2851
+ }
2852
+ ) }),
2853
+ className: "aaspai-oauth-discord"
2854
+ },
2855
+ facebook: {
2856
+ name: "Facebook",
2857
+ svg: /* @__PURE__ */ jsx$1("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx$1(
2858
+ "path",
2859
+ {
2860
+ d: "M24 12.073C24 5.405 18.627 0 12 0S0 5.405 0 12.073C0 18.1 4.388 23.094 10.125 24v-8.437H7.078v-3.49h3.047v-2.66c0-3.025 1.792-4.697 4.533-4.697 1.312 0 2.686.236 2.686.236v2.971H15.83c-1.49 0-1.955.93-1.955 1.886v2.264h3.328l-.532 3.49h-2.796V24C19.612 23.094 24 18.1 24 12.073z",
2861
+ fill: "#1877F2"
2862
+ }
2863
+ ) }),
2864
+ className: "aaspai-oauth-facebook"
2865
+ },
2866
+ linkedin: {
2867
+ name: "LinkedIn",
2868
+ svg: /* @__PURE__ */ jsx$1("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx$1(
2869
+ "path",
2870
+ {
2871
+ d: "M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z",
2872
+ fill: "#0A66C2"
2873
+ }
2874
+ ) }),
2875
+ className: "aaspai-oauth-linkedin"
2876
+ },
2877
+ microsoft: {
2878
+ name: "Microsoft",
2879
+ svg: /* @__PURE__ */ jsxs("svg", { width: "18", height: "18", viewBox: "0 0 23 23", fill: "none", children: [
2880
+ /* @__PURE__ */ jsx$1("path", { d: "M0 0h11v11H0z", fill: "#F25022" }),
2881
+ /* @__PURE__ */ jsx$1("path", { d: "M12 0h11v11H12z", fill: "#7FBA00" }),
2882
+ /* @__PURE__ */ jsx$1("path", { d: "M0 12h11v11H0z", fill: "#00A4EF" }),
2883
+ /* @__PURE__ */ jsx$1("path", { d: "M12 12h11v11H12z", fill: "#FFB900" })
2884
+ ] }),
2885
+ className: "aaspai-oauth-microsoft"
2886
+ },
2887
+ apple: {
2888
+ name: "Apple",
2889
+ svg: /* @__PURE__ */ jsx$1("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx$1("path", { d: "M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z" }) }),
2890
+ className: "aaspai-oauth-apple"
2891
+ },
2892
+ x: {
2893
+ name: "X",
2894
+ svg: /* @__PURE__ */ jsx$1("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx$1("path", { d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" }) }),
2895
+ className: "aaspai-oauth-x"
2896
+ },
2897
+ instagram: {
2898
+ name: "Instagram",
2899
+ svg: /* @__PURE__ */ jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: [
2900
+ /* @__PURE__ */ jsx$1(
2901
+ "path",
2902
+ {
2903
+ d: "M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z",
2904
+ fill: "url(#instagram-gradient)"
2905
+ }
2906
+ ),
2907
+ /* @__PURE__ */ jsx$1("defs", { children: /* @__PURE__ */ jsxs("linearGradient", { id: "instagram-gradient", x1: "0%", y1: "100%", x2: "100%", y2: "0%", children: [
2908
+ /* @__PURE__ */ jsx$1("stop", { offset: "0%", stopColor: "#FD5949" }),
2909
+ /* @__PURE__ */ jsx$1("stop", { offset: "50%", stopColor: "#D6249F" }),
2910
+ /* @__PURE__ */ jsx$1("stop", { offset: "100%", stopColor: "#285AEB" })
2911
+ ] }) })
2912
+ ] }),
2913
+ className: "aaspai-oauth-instagram"
2914
+ },
2915
+ tiktok: {
2916
+ name: "TikTok",
2917
+ svg: /* @__PURE__ */ jsx$1("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx$1(
2918
+ "path",
2919
+ {
2920
+ d: "M19.589 6.686a4.793 4.793 0 01-3.77-4.245V2h-3.445v13.672a2.896 2.896 0 01-5.201 1.743l-.002-.001.002.001a2.895 2.895 0 013.183-4.51v-3.5a6.329 6.329 0 00-5.394 10.692 6.33 6.33 0 0010.857-4.424V8.687a8.182 8.182 0 004.773 1.526V6.79a4.831 4.831 0 01-1.003-.104z",
2921
+ fill: "currentColor"
2922
+ }
2923
+ ) }),
2924
+ className: "aaspai-oauth-tiktok"
2925
+ },
2926
+ spotify: {
2927
+ name: "Spotify",
2928
+ svg: /* @__PURE__ */ jsx$1("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx$1(
2929
+ "path",
2930
+ {
2931
+ d: "M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z",
2932
+ fill: "#1DB954"
2933
+ }
2934
+ ) }),
2935
+ className: "aaspai-oauth-spotify"
2936
+ }
2937
+ };
2938
+ function getProviderConfig(provider) {
2939
+ return OAUTH_PROVIDER_CONFIG[provider] || null;
2940
+ }
2941
+ function AuthOAuthButton({
2942
+ provider,
2943
+ onClick,
2944
+ disabled,
2945
+ loading,
2946
+ displayMode = "full",
2947
+ style
2948
+ }) {
2949
+ const config = getProviderConfig(provider);
2950
+ if (!config) {
2951
+ return null;
2952
+ }
2953
+ const getButtonText = () => {
2954
+ if (displayMode === "full") {
2955
+ return `Continue with ${config.name}`;
2956
+ }
2957
+ if (displayMode === "short") {
2958
+ return config.name;
2959
+ }
2960
+ return "";
2961
+ };
2962
+ const variant = displayMode === "icon" ? "iconOnly" : displayMode;
2963
+ return /* @__PURE__ */ jsxs(
2964
+ OAuthButton,
2965
+ {
2966
+ type: "button",
2967
+ onClick: () => onClick(provider),
2968
+ $variant: variant,
2969
+ disabled: disabled || loading,
2970
+ style,
2971
+ children: [
2972
+ loading ? /* @__PURE__ */ jsx$1(SubmitButtonSpinner, { children: /* @__PURE__ */ jsx$1(Loader2, { size: 18 }) }) : /* @__PURE__ */ jsx$1(OAuthButtonIcon, { children: config.svg }),
2973
+ !loading && getButtonText() && /* @__PURE__ */ jsx$1("span", { children: getButtonText() })
2974
+ ]
2975
+ }
2976
+ );
2977
+ }
2978
+ function AuthOAuthProviders({
2979
+ providers,
2980
+ onClick,
2981
+ disabled,
2982
+ loading
2983
+ }) {
2984
+ if (!providers || providers.length === 0) {
2985
+ return null;
2986
+ }
2987
+ const count = providers.length;
2988
+ const getDisplayMode = () => {
2989
+ if (count === 1) {
2990
+ return "full";
2991
+ }
2992
+ if (count === 2 || count === 4) {
2993
+ return "short";
2994
+ }
2995
+ return "icon";
2996
+ };
2997
+ const getGridColumnStyle = (index) => {
2998
+ if (count === 1) {
2999
+ return { gridColumn: "span 6" };
3000
+ }
3001
+ if (count === 2) {
3002
+ return { gridColumn: "span 3" };
3003
+ }
3004
+ if (count === 3) {
3005
+ return { gridColumn: "span 2 / span 2" };
3006
+ }
3007
+ if (count === 4) {
3008
+ return { gridColumn: "span 3" };
3009
+ }
3010
+ const totalRows = Math.ceil(count / 3);
3011
+ const lastRowStartIndex = (totalRows - 1) * 3;
3012
+ const isInLastRow = index >= lastRowStartIndex;
3013
+ if (!isInLastRow) {
3014
+ return { gridColumn: "span 2 / span 2" };
3015
+ }
3016
+ const positionInLastRow = index - lastRowStartIndex;
3017
+ const itemsInLastRow = count - lastRowStartIndex;
3018
+ if (itemsInLastRow === 1) {
3019
+ return { gridColumn: "3 / 5" };
3020
+ } else if (itemsInLastRow === 2) {
3021
+ if (positionInLastRow === 0) {
3022
+ return { gridColumn: "2 / 4" };
3023
+ } else {
3024
+ return { gridColumn: "4 / 6" };
3025
+ }
3026
+ } else {
3027
+ return { gridColumn: "span 2 / span 2" };
3028
+ }
3029
+ };
3030
+ return /* @__PURE__ */ jsx$1(
3031
+ OAuthProvidersContainer,
3032
+ {
3033
+ style: {
3034
+ display: "grid",
3035
+ gridTemplateColumns: "repeat(6, 1fr)",
3036
+ gap: "0.75rem"
3037
+ },
3038
+ children: providers.map((provider, index) => /* @__PURE__ */ jsx$1(
3039
+ AuthOAuthButton,
3040
+ {
3041
+ provider,
3042
+ onClick,
3043
+ disabled,
3044
+ loading: loading === provider,
3045
+ displayMode: getDisplayMode(),
3046
+ style: getGridColumnStyle(index)
3047
+ },
3048
+ provider
3049
+ ))
3050
+ }
3051
+ );
3052
+ }
3053
+ function AuthVerificationCodeInput({
3054
+ length: length2 = 6,
3055
+ value,
3056
+ onChange,
3057
+ disabled = false,
3058
+ onComplete
3059
+ }) {
3060
+ const inputRefs = useRef([]);
3061
+ const handleChange = (index, digit) => {
3062
+ if (digit.length > 1) {
3063
+ return;
3064
+ }
3065
+ if (digit && !/^\d$/.test(digit)) {
3066
+ return;
3067
+ }
3068
+ const newValue = value.split("");
3069
+ newValue[index] = digit;
3070
+ const updatedValue = newValue.join("");
3071
+ onChange(updatedValue);
3072
+ if (digit && index < length2 - 1) {
3073
+ inputRefs.current[index + 1]?.focus();
3074
+ }
3075
+ if (digit && index === length2 - 1 && updatedValue.length === length2 && onComplete) {
3076
+ onComplete(updatedValue);
3077
+ }
3078
+ };
3079
+ const handleKeyDown = (index, e) => {
3080
+ if (e.key === "Backspace") {
3081
+ if (!value[index] && index > 0) {
3082
+ inputRefs.current[index - 1]?.focus();
3083
+ } else {
3084
+ handleChange(index, "");
3085
+ }
3086
+ } else if (e.key === "ArrowLeft" && index > 0) {
3087
+ inputRefs.current[index - 1]?.focus();
3088
+ } else if (e.key === "ArrowRight" && index < length2 - 1) {
3089
+ inputRefs.current[index + 1]?.focus();
3090
+ }
3091
+ };
3092
+ const handlePaste = (e) => {
3093
+ e.preventDefault();
3094
+ const pastedData = e.clipboardData.getData("text/plain").trim();
3095
+ if (/^\d+$/.test(pastedData) && pastedData.length === length2) {
3096
+ onChange(pastedData);
3097
+ inputRefs.current[length2 - 1]?.focus();
3098
+ if (onComplete) {
3099
+ onComplete(pastedData);
3100
+ }
3101
+ }
3102
+ };
3103
+ return /* @__PURE__ */ jsx$1(VerificationCodeInputContainer, { children: Array.from({ length: length2 }).map((_, index) => /* @__PURE__ */ jsx$1(
3104
+ VerificationCodeInput,
3105
+ {
3106
+ ref: (el) => {
3107
+ inputRefs.current[index] = el;
3108
+ },
3109
+ type: "text",
3110
+ inputMode: "numeric",
3111
+ maxLength: 1,
3112
+ value: value[index] || "",
3113
+ onChange: (e) => handleChange(index, e.target.value),
3114
+ onKeyDown: (e) => handleKeyDown(index, e),
3115
+ onPaste: handlePaste,
3116
+ disabled,
3117
+ autoComplete: "one-time-code"
3118
+ },
3119
+ index
3120
+ )) });
3121
+ }
3122
+ function useAaspai() {
3123
+ const context = useContext(AaspaiContext);
3124
+ if (!context) {
3125
+ return {
3126
+ user: void 0,
3127
+ userId: void 0,
3128
+ isLoaded: false,
3129
+ isSignedIn: void 0,
3130
+ setUser: () => {
3131
+ },
3132
+ signIn: () => Promise.resolve({ error: "SSR mode" }),
3133
+ signUp: () => Promise.resolve({ error: "SSR mode" }),
3134
+ signOut: () => Promise.resolve(),
3135
+ updateUser: () => Promise.resolve({ error: "SSR mode" }),
3136
+ reloadAuth: () => Promise.resolve({ success: false, error: "SSR mode" }),
3137
+ resendVerificationEmail: () => Promise.resolve(null),
3138
+ sendResetPasswordEmail: () => Promise.resolve(null),
3139
+ resetPassword: () => Promise.resolve(null),
3140
+ verifyEmail: () => Promise.resolve({ error: "SSR mode" }),
3141
+ exchangeResetPasswordToken: () => Promise.resolve({ error: { message: "SSR mode" } }),
3142
+ loginWithOAuth: () => Promise.resolve(),
3143
+ getPublicAuthConfig: () => Promise.resolve(null),
3144
+ getSession: () => Promise.resolve(null),
3145
+ baseUrl: "",
3146
+ afterSignInUrl: "/"
3147
+ };
3148
+ }
3149
+ return context;
3150
+ }
3151
+
3152
+ // src/components/forms/styled.ts
3153
+ styled.form`
3154
+ display: flex;
3155
+ flex-direction: column;
3156
+ align-items: stretch;
3157
+ justify-content: center;
3158
+ gap: ${theme.spacing[6]};
3159
+ `;
3160
+ var VerificationStepWrapper = styled.div`
3161
+ display: flex;
3162
+ flex-direction: column;
3163
+ gap: ${theme.spacing[6]};
3164
+ align-items: stretch;
3165
+ `;
3166
+ var VerificationStepDescriptionContainer = styled.div`
3167
+ width: 100%;
3168
+ background-color: ${theme.colors.bgGray};
3169
+ border-radius: ${theme.radius.lg};
3170
+ padding: ${theme.spacing[3]} ${theme.spacing[3]} ${theme.spacing[6]} ${theme.spacing[3]};
3171
+ display: flex;
3172
+ flex-direction: column;
3173
+ gap: ${theme.spacing[3]};
3174
+ `;
3175
+ var VerificationStepDescriptionTitle = styled.h3`
3176
+ color: ${theme.colors.black};
3177
+ font-family: ${theme.fontFamily.base};
3178
+ font-size: ${theme.fontSize.base};
3179
+ font-style: normal;
3180
+ font-weight: ${theme.fontWeight.semibold};
3181
+ line-height: 24px;
3182
+ margin: 0;
3183
+ `;
3184
+ var VerificationStepDescription = styled.p`
3185
+ font-size: ${theme.fontSize.sm};
3186
+ color: ${theme.colors.textGray};
3187
+ text-align: left;
3188
+ font-family: ${theme.fontFamily.base};
3189
+ margin: 0;
3190
+ `;
3191
+ var VerificationEmail = styled.span`
3192
+ font-weight: ${theme.fontWeight.medium};
3193
+ color: ${theme.colors.text};
3194
+ `;
3195
+ var VerificationStepCodeContainer = styled.div`
3196
+ width: 100%;
3197
+ display: flex;
3198
+ flex-direction: column;
3199
+ gap: ${theme.spacing[10]};
3200
+ `;
3201
+ var VerificationStepCodeInputWrapper = styled.div`
3202
+ display: flex;
3203
+ flex-direction: column;
3204
+ gap: ${theme.spacing[6]};
3205
+ `;
3206
+ styled.p`
3207
+ font-size: ${theme.fontSize.sm};
3208
+ color: ${theme.colors.textSecondary};
3209
+ text-align: center;
3210
+ font-family: ${theme.fontFamily.base};
3211
+ margin: 0;
3212
+ `;
3213
+ var VerificationStepResendContainer = styled.div`
3214
+ width: 100%;
3215
+ font-size: ${theme.fontSize.sm};
3216
+ text-align: center;
3217
+ color: ${theme.colors.textSecondary};
3218
+ font-family: ${theme.fontFamily.base};
3219
+ `;
3220
+ var VerificationStepResendButton = styled.button`
3221
+ color: ${theme.colors.text};
3222
+ font-weight: ${theme.fontWeight.medium};
3223
+ transition: all ${theme.transition.base};
3224
+ background: none;
3225
+ border: none;
3226
+ padding: 0;
3227
+ font-family: ${theme.fontFamily.base};
3228
+ font-size: ${theme.fontSize.sm};
3229
+
3230
+ &:not(:disabled) {
3231
+ cursor: pointer;
3232
+ }
3233
+
3234
+ &:disabled {
3235
+ cursor: not-allowed;
3236
+ opacity: 0.5;
3237
+ }
3238
+ `;
3239
+ styled.div`
3240
+ width: 100%;
3241
+ display: flex;
3242
+ flex-direction: column;
3243
+ align-items: ${(props) => props.$stretch ? "stretch" : "center"};
3244
+ justify-content: center;
3245
+ gap: ${theme.spacing[6]};
3246
+ `;
3247
+ styled.div`
3248
+ border-radius: ${theme.radius.full};
3249
+ height: ${theme.sizes.verifyCode};
3250
+ width: ${theme.sizes.verifyCode};
3251
+ border-bottom: 2px solid ${theme.colors.primary};
3252
+ `;
3253
+ styled.div`
3254
+ display: flex;
3255
+ flex-direction: column;
3256
+ align-items: center;
3257
+ gap: ${theme.spacing[4]};
3258
+ `;
3259
+ styled.div`
3260
+ width: ${theme.sizes.verifyIcon};
3261
+ height: ${theme.sizes.verifyIcon};
3262
+ border-radius: ${theme.radius.full};
3263
+ background-color: ${theme.colors.successBg};
3264
+ display: flex;
3265
+ align-items: center;
3266
+ justify-content: center;
3267
+ `;
3268
+ styled.div`
3269
+ width: ${theme.sizes.verifyIconInner};
3270
+ height: ${theme.sizes.verifyIconInner};
3271
+ color: ${theme.colors.successDark};
3272
+ display: flex;
3273
+ align-items: center;
3274
+ justify-content: center;
3275
+
3276
+ svg {
3277
+ width: 100%;
3278
+ height: 100%;
3279
+ }
3280
+ `;
3281
+ styled.p`
3282
+ text-align: center;
3283
+ font-family: ${theme.fontFamily.base};
3284
+ font-size: ${theme.fontSize.sm};
3285
+ color: ${theme.colors.text};
3286
+ margin: 0;
3287
+ `;
3288
+ styled.div`
3289
+ display: none;
3290
+ `;
3291
+ styled.span`
3292
+ position: absolute;
3293
+ width: 1px;
3294
+ height: 1px;
3295
+ padding: 0;
3296
+ margin: -1px;
3297
+ overflow: hidden;
3298
+ clip: rect(0, 0, 0, 0);
3299
+ white-space: nowrap;
3300
+ border-width: 0;
3301
+ `;
3302
+ function AuthEmailVerificationStep({
3303
+ email,
3304
+ method,
3305
+ onVerifyCode,
3306
+ emailSent = false
3307
+ }) {
3308
+ const { resendVerificationEmail } = useAaspai();
3309
+ const [resendDisabled, setResendDisabled] = useState(emailSent ? true : false);
3310
+ const [resendCountdown, setResendCountdown] = useState(emailSent ? 60 : 0);
3311
+ const [isSending, setIsSending] = useState(false);
3312
+ const [verificationCode, setVerificationCode] = useState("");
3313
+ const [isVerifying, setIsVerifying] = useState(false);
3314
+ const isLinkMethod = method === "link";
3315
+ const displayDescription = isLinkMethod ? "We've sent an email to {email}. Please check your email to confirm your account before signing in. The confirmation link expires in 10 minutes." : "We've sent a verification code to your inbox at {email}. Enter it below to proceed.";
3316
+ useEffect(() => {
3317
+ if (resendDisabled && resendCountdown > 0) {
3318
+ const timer = setInterval(() => {
3319
+ setResendCountdown((prev2) => {
3320
+ if (prev2 <= 1) {
3321
+ setResendDisabled(false);
3322
+ return 0;
3323
+ }
3324
+ return prev2 - 1;
3325
+ });
3326
+ }, 1e3);
3327
+ return () => clearInterval(timer);
3328
+ }
3329
+ }, [resendDisabled, resendCountdown]);
3330
+ const handleResend = async () => {
3331
+ setResendDisabled(true);
3332
+ setResendCountdown(60);
3333
+ setIsSending(true);
3334
+ try {
3335
+ await resendVerificationEmail(email);
3336
+ } catch {
3337
+ setResendDisabled(false);
3338
+ setResendCountdown(0);
3339
+ } finally {
3340
+ setIsSending(false);
3341
+ }
3342
+ };
3343
+ const handleSubmit = async () => {
3344
+ if (!onVerifyCode || verificationCode.length !== 6) {
3345
+ return;
3346
+ }
3347
+ setIsVerifying(true);
3348
+ try {
3349
+ await onVerifyCode(verificationCode);
3350
+ } finally {
3351
+ setIsVerifying(false);
3352
+ setVerificationCode("");
3353
+ }
3354
+ };
3355
+ return /* @__PURE__ */ jsxs(VerificationStepWrapper, { children: [
3356
+ isLinkMethod && /* @__PURE__ */ jsxs(VerificationStepDescriptionContainer, { children: [
3357
+ /* @__PURE__ */ jsx$1(VerificationStepDescriptionTitle, { children: "Verify Your Email" }),
3358
+ /* @__PURE__ */ jsx$1(VerificationStepDescription, { children: displayDescription.split("{email}").map((part, index, array) => /* @__PURE__ */ jsxs("span", { children: [
3359
+ part,
3360
+ index < array.length - 1 && /* @__PURE__ */ jsx$1(VerificationEmail, { children: email })
3361
+ ] }, index)) })
3362
+ ] }),
3363
+ !isLinkMethod && /* @__PURE__ */ jsxs(VerificationStepCodeContainer, { children: [
3364
+ /* @__PURE__ */ jsxs(VerificationStepCodeInputWrapper, { children: [
3365
+ /* @__PURE__ */ jsx$1(VerificationStepDescription, { children: displayDescription.split("{email}").map((part, index, array) => /* @__PURE__ */ jsxs("span", { children: [
3366
+ part,
3367
+ index < array.length - 1 && /* @__PURE__ */ jsx$1(VerificationEmail, { children: email })
3368
+ ] }, index)) }),
3369
+ /* @__PURE__ */ jsx$1(
3370
+ AuthVerificationCodeInput,
3371
+ {
3372
+ value: verificationCode,
3373
+ onChange: setVerificationCode,
3374
+ disabled: isVerifying
3375
+ }
3376
+ )
3377
+ ] }),
3378
+ /* @__PURE__ */ jsx$1(
3379
+ AuthSubmitButton,
3380
+ {
3381
+ type: "button",
3382
+ isLoading: isVerifying,
3383
+ disabled: isVerifying || verificationCode.length !== 6,
3384
+ onClick: () => {
3385
+ void handleSubmit();
3386
+ },
3387
+ children: isVerifying ? "Verifying..." : "Continue"
3388
+ }
3389
+ )
3390
+ ] }),
3391
+ /* @__PURE__ */ jsxs(VerificationStepResendContainer, { children: [
3392
+ "Didn't receive the email?",
3393
+ " ",
3394
+ /* @__PURE__ */ jsx$1(
3395
+ VerificationStepResendButton,
3396
+ {
3397
+ onClick: () => {
3398
+ void handleResend();
3399
+ },
3400
+ disabled: resendDisabled || isSending,
3401
+ children: isSending ? "Sending..." : resendDisabled ? `Retry in (${resendCountdown}s)` : "Click to resend"
3402
+ }
3403
+ )
3404
+ ] })
3405
+ ] });
3406
+ }
3407
+ function AuthResetPasswordVerificationStep({
3408
+ email,
3409
+ method,
3410
+ onVerifyCode,
3411
+ onResendEmail
3412
+ }) {
3413
+ const [resendDisabled, setResendDisabled] = useState(true);
3414
+ const [resendCountdown, setResendCountdown] = useState(60);
3415
+ const [isSending, setIsSending] = useState(false);
3416
+ const [verificationCode, setVerificationCode] = useState("");
3417
+ const [isVerifying, setIsVerifying] = useState(false);
3418
+ const isLinkMethod = method === "link";
3419
+ const displayDescription = isLinkMethod ? "We have sent an email to {email}. Please check your email to reset your password. The link expires in 10 minutes." : "We've sent a reset password code to your inbox at {email}. Enter it below to proceed.";
3420
+ useEffect(() => {
3421
+ if (resendCountdown > 0) {
3422
+ const timer = setInterval(() => {
3423
+ setResendCountdown((prev2) => {
3424
+ if (prev2 <= 1) {
3425
+ setResendDisabled(false);
3426
+ return 0;
3427
+ }
3428
+ return prev2 - 1;
3429
+ });
3430
+ }, 1e3);
3431
+ return () => clearInterval(timer);
3432
+ }
3433
+ }, [resendCountdown]);
3434
+ const handleResend = useCallback(async () => {
3435
+ setResendDisabled(true);
3436
+ setResendCountdown(60);
3437
+ setIsSending(true);
3438
+ try {
3439
+ await onResendEmail();
3440
+ } catch {
3441
+ setResendDisabled(false);
3442
+ setResendCountdown(0);
3443
+ } finally {
3444
+ setIsSending(false);
3445
+ }
3446
+ }, [onResendEmail]);
3447
+ const handleSubmit = async () => {
3448
+ if (!onVerifyCode || verificationCode.length !== 6) {
3449
+ return;
3450
+ }
3451
+ setIsVerifying(true);
3452
+ try {
3453
+ await onVerifyCode(verificationCode);
3454
+ } finally {
3455
+ setIsVerifying(false);
3456
+ setVerificationCode("");
3457
+ }
3458
+ };
3459
+ return /* @__PURE__ */ jsxs(VerificationStepWrapper, { children: [
3460
+ isLinkMethod && /* @__PURE__ */ jsxs(VerificationStepDescriptionContainer, { children: [
3461
+ /* @__PURE__ */ jsx$1(VerificationStepDescriptionTitle, { children: "Check Your Email" }),
3462
+ /* @__PURE__ */ jsx$1(VerificationStepDescription, { children: displayDescription.split("{email}").map((part, index, array) => /* @__PURE__ */ jsxs("span", { children: [
3463
+ part,
3464
+ index < array.length - 1 && /* @__PURE__ */ jsx$1(VerificationEmail, { children: email })
3465
+ ] }, index)) })
3466
+ ] }),
3467
+ !isLinkMethod && /* @__PURE__ */ jsxs(VerificationStepCodeContainer, { children: [
3468
+ /* @__PURE__ */ jsx$1(VerificationStepCodeInputWrapper, { children: /* @__PURE__ */ jsx$1(
3469
+ AuthVerificationCodeInput,
3470
+ {
3471
+ value: verificationCode,
3472
+ onChange: setVerificationCode,
3473
+ disabled: isVerifying
3474
+ }
3475
+ ) }),
3476
+ /* @__PURE__ */ jsx$1(
3477
+ AuthSubmitButton,
3478
+ {
3479
+ type: "button",
3480
+ isLoading: isVerifying,
3481
+ disabled: isVerifying || verificationCode.length !== 6,
3482
+ onClick: () => {
3483
+ void handleSubmit();
3484
+ },
3485
+ children: isVerifying ? "Verifying..." : "Continue"
3486
+ }
3487
+ )
3488
+ ] }),
3489
+ /* @__PURE__ */ jsxs(VerificationStepResendContainer, { children: [
3490
+ "Didn't receive the email?",
3491
+ " ",
3492
+ /* @__PURE__ */ jsx$1(
3493
+ VerificationStepResendButton,
3494
+ {
3495
+ onClick: () => {
3496
+ void handleResend();
3497
+ },
3498
+ disabled: resendDisabled || isSending,
3499
+ children: isSending ? "Sending..." : resendDisabled ? `Retry in (${resendCountdown}s)` : "Click to resend"
3500
+ }
3501
+ )
3502
+ ] })
3503
+ ] });
3504
+ }
3505
+ /*! Bundled license information:
3506
+
3507
+ react-is/cjs/react-is.production.min.js:
3508
+ (** @license React v16.13.1
3509
+ * react-is.production.min.js
3510
+ *
3511
+ * Copyright (c) Facebook, Inc. and its affiliates.
3512
+ *
3513
+ * This source code is licensed under the MIT license found in the
3514
+ * LICENSE file in the root directory of this source tree.
3515
+ *)
3516
+
3517
+ react-is/cjs/react-is.development.js:
3518
+ (** @license React v16.13.1
3519
+ * react-is.development.js
3520
+ *
3521
+ * Copyright (c) Facebook, Inc. and its affiliates.
3522
+ *
3523
+ * This source code is licensed under the MIT license found in the
3524
+ * LICENSE file in the root directory of this source tree.
3525
+ *)
3526
+ */
3527
+
3528
+ export { AuthBranding, AuthContainer, AuthDivider, AuthEmailVerificationStep, AuthErrorBanner, AuthFormField, AuthHeader, AuthLink, AuthOAuthButton, AuthOAuthProviders, AuthPasswordField, AuthPasswordStrengthIndicator, AuthResetPasswordVerificationStep, AuthSubmitButton, AuthVerificationCodeInput };
3529
+ //# sourceMappingURL=atoms.js.map
3530
+ //# sourceMappingURL=atoms.js.map