@estevia/evafusion-agent 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js DELETED
@@ -1,3580 +0,0 @@
1
- import d, { forwardRef as Kt, isValidElement as bt, useContext as It, useState as Se, useEffect as xt, useCallback as St, useRef as Jt, useMemo as qt } from "react";
2
- import { motion as ct, AnimatePresence as yt } from "framer-motion";
3
- import Xt from "react-dom";
4
- import { EvaFusionClient as Zt } from "@estevia/evafusion-sdk";
5
- import { Sparkles as Mt, Settings2 as Qt, Minimize2 as er, X as Nt, AlertCircle as tr, Cpu as rr, Database as ar, SendHorizontal as or } from "lucide-react";
6
- var wt = { exports: {} }, Xe = {};
7
- /**
8
- * @license React
9
- * react-jsx-runtime.production.min.js
10
- *
11
- * Copyright (c) Facebook, Inc. and its affiliates.
12
- *
13
- * This source code is licensed under the MIT license found in the
14
- * LICENSE file in the root directory of this source tree.
15
- */
16
- var Rt;
17
- function nr() {
18
- if (Rt) return Xe;
19
- Rt = 1;
20
- var t = d, r = Symbol.for("react.element"), a = Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty, c = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, u = { key: !0, ref: !0, __self: !0, __source: !0 };
21
- function m(l, f, h) {
22
- var v, j = {}, I = null, o = null;
23
- h !== void 0 && (I = "" + h), f.key !== void 0 && (I = "" + f.key), f.ref !== void 0 && (o = f.ref);
24
- for (v in f) n.call(f, v) && !u.hasOwnProperty(v) && (j[v] = f[v]);
25
- if (l && l.defaultProps) for (v in f = l.defaultProps, f) j[v] === void 0 && (j[v] = f[v]);
26
- return { $$typeof: r, type: l, key: I, ref: o, props: j, _owner: c.current };
27
- }
28
- return Xe.Fragment = a, Xe.jsx = m, Xe.jsxs = m, Xe;
29
- }
30
- var Ze = {};
31
- /**
32
- * @license React
33
- * react-jsx-runtime.development.js
34
- *
35
- * Copyright (c) Facebook, Inc. and its affiliates.
36
- *
37
- * This source code is licensed under the MIT license found in the
38
- * LICENSE file in the root directory of this source tree.
39
- */
40
- var Tt;
41
- function sr() {
42
- return Tt || (Tt = 1, process.env.NODE_ENV !== "production" && function() {
43
- var t = d, r = Symbol.for("react.element"), a = Symbol.for("react.portal"), n = Symbol.for("react.fragment"), c = Symbol.for("react.strict_mode"), u = Symbol.for("react.profiler"), m = Symbol.for("react.provider"), l = Symbol.for("react.context"), f = Symbol.for("react.forward_ref"), h = Symbol.for("react.suspense"), v = Symbol.for("react.suspense_list"), j = Symbol.for("react.memo"), I = Symbol.for("react.lazy"), o = Symbol.for("react.offscreen"), $ = Symbol.iterator, g = "@@iterator";
44
- function x(e) {
45
- if (e === null || typeof e != "object")
46
- return null;
47
- var i = $ && e[$] || e[g];
48
- return typeof i == "function" ? i : null;
49
- }
50
- var N = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
51
- function E(e) {
52
- {
53
- for (var i = arguments.length, p = new Array(i > 1 ? i - 1 : 0), w = 1; w < i; w++)
54
- p[w - 1] = arguments[w];
55
- b("error", e, p);
56
- }
57
- }
58
- function b(e, i, p) {
59
- {
60
- var w = N.ReactDebugCurrentFrame, P = w.getStackAddendum();
61
- P !== "" && (i += "%s", p = p.concat([P]));
62
- var D = p.map(function(T) {
63
- return String(T);
64
- });
65
- D.unshift("Warning: " + i), Function.prototype.apply.call(console[e], console, D);
66
- }
67
- }
68
- var z = !1, W = !1, H = !1, ie = !1, ve = !1, ce;
69
- ce = Symbol.for("react.module.reference");
70
- function xe(e) {
71
- return !!(typeof e == "string" || typeof e == "function" || e === n || e === u || ve || e === c || e === h || e === v || ie || e === o || z || W || H || typeof e == "object" && e !== null && (e.$$typeof === I || e.$$typeof === j || e.$$typeof === m || e.$$typeof === l || e.$$typeof === f || // This needs to include all possible module reference object
72
- // types supported by any Flight configuration anywhere since
73
- // we don't know which Flight build this will end up being used
74
- // with.
75
- e.$$typeof === ce || e.getModuleId !== void 0));
76
- }
77
- function pe(e, i, p) {
78
- var w = e.displayName;
79
- if (w)
80
- return w;
81
- var P = i.displayName || i.name || "";
82
- return P !== "" ? p + "(" + P + ")" : p;
83
- }
84
- function S(e) {
85
- return e.displayName || "Context";
86
- }
87
- function K(e) {
88
- if (e == null)
89
- return null;
90
- if (typeof e.tag == "number" && E("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function")
91
- return e.displayName || e.name || null;
92
- if (typeof e == "string")
93
- return e;
94
- switch (e) {
95
- case n:
96
- return "Fragment";
97
- case a:
98
- return "Portal";
99
- case u:
100
- return "Profiler";
101
- case c:
102
- return "StrictMode";
103
- case h:
104
- return "Suspense";
105
- case v:
106
- return "SuspenseList";
107
- }
108
- if (typeof e == "object")
109
- switch (e.$$typeof) {
110
- case l:
111
- var i = e;
112
- return S(i) + ".Consumer";
113
- case m:
114
- var p = e;
115
- return S(p._context) + ".Provider";
116
- case f:
117
- return pe(e, e.render, "ForwardRef");
118
- case j:
119
- var w = e.displayName || null;
120
- return w !== null ? w : K(e.type) || "Memo";
121
- case I: {
122
- var P = e, D = P._payload, T = P._init;
123
- try {
124
- return K(T(D));
125
- } catch {
126
- return null;
127
- }
128
- }
129
- }
130
- return null;
131
- }
132
- var G = Object.assign, ne = 0, X, Z, de, k, U, J, _;
133
- function O() {
134
- }
135
- O.__reactDisabledLog = !0;
136
- function L() {
137
- {
138
- if (ne === 0) {
139
- X = console.log, Z = console.info, de = console.warn, k = console.error, U = console.group, J = console.groupCollapsed, _ = console.groupEnd;
140
- var e = {
141
- configurable: !0,
142
- enumerable: !0,
143
- value: O,
144
- writable: !0
145
- };
146
- Object.defineProperties(console, {
147
- info: e,
148
- log: e,
149
- warn: e,
150
- error: e,
151
- group: e,
152
- groupCollapsed: e,
153
- groupEnd: e
154
- });
155
- }
156
- ne++;
157
- }
158
- }
159
- function q() {
160
- {
161
- if (ne--, ne === 0) {
162
- var e = {
163
- configurable: !0,
164
- enumerable: !0,
165
- writable: !0
166
- };
167
- Object.defineProperties(console, {
168
- log: G({}, e, {
169
- value: X
170
- }),
171
- info: G({}, e, {
172
- value: Z
173
- }),
174
- warn: G({}, e, {
175
- value: de
176
- }),
177
- error: G({}, e, {
178
- value: k
179
- }),
180
- group: G({}, e, {
181
- value: U
182
- }),
183
- groupCollapsed: G({}, e, {
184
- value: J
185
- }),
186
- groupEnd: G({}, e, {
187
- value: _
188
- })
189
- });
190
- }
191
- ne < 0 && E("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
192
- }
193
- }
194
- var me = N.ReactCurrentDispatcher, F;
195
- function Ne(e, i, p) {
196
- {
197
- if (F === void 0)
198
- try {
199
- throw Error();
200
- } catch (P) {
201
- var w = P.stack.trim().match(/\n( *(at )?)/);
202
- F = w && w[1] || "";
203
- }
204
- return `
205
- ` + F + e;
206
- }
207
- }
208
- var ye = !1, we;
209
- {
210
- var ze = typeof WeakMap == "function" ? WeakMap : Map;
211
- we = new ze();
212
- }
213
- function Fe(e, i) {
214
- if (!e || ye)
215
- return "";
216
- {
217
- var p = we.get(e);
218
- if (p !== void 0)
219
- return p;
220
- }
221
- var w;
222
- ye = !0;
223
- var P = Error.prepareStackTrace;
224
- Error.prepareStackTrace = void 0;
225
- var D;
226
- D = me.current, me.current = null, L();
227
- try {
228
- if (i) {
229
- var T = function() {
230
- throw Error();
231
- };
232
- if (Object.defineProperty(T.prototype, "props", {
233
- set: function() {
234
- throw Error();
235
- }
236
- }), typeof Reflect == "object" && Reflect.construct) {
237
- try {
238
- Reflect.construct(T, []);
239
- } catch (ae) {
240
- w = ae;
241
- }
242
- Reflect.construct(e, [], T);
243
- } else {
244
- try {
245
- T.call();
246
- } catch (ae) {
247
- w = ae;
248
- }
249
- e.call(T.prototype);
250
- }
251
- } else {
252
- try {
253
- throw Error();
254
- } catch (ae) {
255
- w = ae;
256
- }
257
- e();
258
- }
259
- } catch (ae) {
260
- if (ae && w && typeof ae.stack == "string") {
261
- for (var R = ae.stack.split(`
262
- `), ee = w.stack.split(`
263
- `), Y = R.length - 1, V = ee.length - 1; Y >= 1 && V >= 0 && R[Y] !== ee[V]; )
264
- V--;
265
- for (; Y >= 1 && V >= 0; Y--, V--)
266
- if (R[Y] !== ee[V]) {
267
- if (Y !== 1 || V !== 1)
268
- do
269
- if (Y--, V--, V < 0 || R[Y] !== ee[V]) {
270
- var le = `
271
- ` + R[Y].replace(" at new ", " at ");
272
- return e.displayName && le.includes("<anonymous>") && (le = le.replace("<anonymous>", e.displayName)), typeof e == "function" && we.set(e, le), le;
273
- }
274
- while (Y >= 1 && V >= 0);
275
- break;
276
- }
277
- }
278
- } finally {
279
- ye = !1, me.current = D, q(), Error.prepareStackTrace = P;
280
- }
281
- var Ve = e ? e.displayName || e.name : "", De = Ve ? Ne(Ve) : "";
282
- return typeof e == "function" && we.set(e, De), De;
283
- }
284
- function tt(e, i, p) {
285
- return Fe(e, !1);
286
- }
287
- function dt(e) {
288
- var i = e.prototype;
289
- return !!(i && i.isReactComponent);
290
- }
291
- function Le(e, i, p) {
292
- if (e == null)
293
- return "";
294
- if (typeof e == "function")
295
- return Fe(e, dt(e));
296
- if (typeof e == "string")
297
- return Ne(e);
298
- switch (e) {
299
- case h:
300
- return Ne("Suspense");
301
- case v:
302
- return Ne("SuspenseList");
303
- }
304
- if (typeof e == "object")
305
- switch (e.$$typeof) {
306
- case f:
307
- return tt(e.render);
308
- case j:
309
- return Le(e.type, i, p);
310
- case I: {
311
- var w = e, P = w._payload, D = w._init;
312
- try {
313
- return Le(D(P), i, p);
314
- } catch {
315
- }
316
- }
317
- }
318
- return "";
319
- }
320
- var Re = Object.prototype.hasOwnProperty, rt = {}, Be = N.ReactDebugCurrentFrame;
321
- function $e(e) {
322
- if (e) {
323
- var i = e._owner, p = Le(e.type, e._source, i ? i.type : null);
324
- Be.setExtraStackFrame(p);
325
- } else
326
- Be.setExtraStackFrame(null);
327
- }
328
- function at(e, i, p, w, P) {
329
- {
330
- var D = Function.call.bind(Re);
331
- for (var T in e)
332
- if (D(e, T)) {
333
- var R = void 0;
334
- try {
335
- if (typeof e[T] != "function") {
336
- var ee = Error((w || "React class") + ": " + p + " type `" + T + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[T] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
337
- throw ee.name = "Invariant Violation", ee;
338
- }
339
- R = e[T](i, T, w, p, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
340
- } catch (Y) {
341
- R = Y;
342
- }
343
- R && !(R instanceof Error) && ($e(P), E("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", w || "React class", p, T, typeof R), $e(null)), R instanceof Error && !(R.message in rt) && (rt[R.message] = !0, $e(P), E("Failed %s type: %s", p, R.message), $e(null));
344
- }
345
- }
346
- }
347
- var Oe = Array.isArray;
348
- function Ye(e) {
349
- return Oe(e);
350
- }
351
- function Ee(e) {
352
- {
353
- var i = typeof Symbol == "function" && Symbol.toStringTag, p = i && e[Symbol.toStringTag] || e.constructor.name || "Object";
354
- return p;
355
- }
356
- }
357
- function ut(e) {
358
- try {
359
- return ot(e), !1;
360
- } catch {
361
- return !0;
362
- }
363
- }
364
- function ot(e) {
365
- return "" + e;
366
- }
367
- function Q(e) {
368
- if (ut(e))
369
- return E("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Ee(e)), ot(e);
370
- }
371
- var ke = N.ReactCurrentOwner, ft = {
372
- key: !0,
373
- ref: !0,
374
- __self: !0,
375
- __source: !0
376
- }, nt, Ie;
377
- function pt(e) {
378
- if (Re.call(e, "ref")) {
379
- var i = Object.getOwnPropertyDescriptor(e, "ref").get;
380
- if (i && i.isReactWarning)
381
- return !1;
382
- }
383
- return e.ref !== void 0;
384
- }
385
- function st(e) {
386
- if (Re.call(e, "key")) {
387
- var i = Object.getOwnPropertyDescriptor(e, "key").get;
388
- if (i && i.isReactWarning)
389
- return !1;
390
- }
391
- return e.key !== void 0;
392
- }
393
- function He(e, i) {
394
- typeof e.ref == "string" && ke.current;
395
- }
396
- function Te(e, i) {
397
- {
398
- var p = function() {
399
- nt || (nt = !0, E("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", i));
400
- };
401
- p.isReactWarning = !0, Object.defineProperty(e, "key", {
402
- get: p,
403
- configurable: !0
404
- });
405
- }
406
- }
407
- function it(e, i) {
408
- {
409
- var p = function() {
410
- Ie || (Ie = !0, E("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", i));
411
- };
412
- p.isReactWarning = !0, Object.defineProperty(e, "ref", {
413
- get: p,
414
- configurable: !0
415
- });
416
- }
417
- }
418
- var _e = function(e, i, p, w, P, D, T) {
419
- var R = {
420
- // This tag allows us to uniquely identify this as a React Element
421
- $$typeof: r,
422
- // Built-in properties that belong on the element
423
- type: e,
424
- key: i,
425
- ref: p,
426
- props: T,
427
- // Record the component responsible for creating this element.
428
- _owner: D
429
- };
430
- return R._store = {}, Object.defineProperty(R._store, "validated", {
431
- configurable: !1,
432
- enumerable: !1,
433
- writable: !0,
434
- value: !1
435
- }), Object.defineProperty(R, "_self", {
436
- configurable: !1,
437
- enumerable: !1,
438
- writable: !1,
439
- value: w
440
- }), Object.defineProperty(R, "_source", {
441
- configurable: !1,
442
- enumerable: !1,
443
- writable: !1,
444
- value: P
445
- }), Object.freeze && (Object.freeze(R.props), Object.freeze(R)), R;
446
- };
447
- function mt(e, i, p, w, P) {
448
- {
449
- var D, T = {}, R = null, ee = null;
450
- p !== void 0 && (Q(p), R = "" + p), st(i) && (Q(i.key), R = "" + i.key), pt(i) && (ee = i.ref, He(i, P));
451
- for (D in i)
452
- Re.call(i, D) && !ft.hasOwnProperty(D) && (T[D] = i[D]);
453
- if (e && e.defaultProps) {
454
- var Y = e.defaultProps;
455
- for (D in Y)
456
- T[D] === void 0 && (T[D] = Y[D]);
457
- }
458
- if (R || ee) {
459
- var V = typeof e == "function" ? e.displayName || e.name || "Unknown" : e;
460
- R && Te(T, V), ee && it(T, V);
461
- }
462
- return _e(e, R, ee, P, w, ke.current, T);
463
- }
464
- }
465
- var Ke = N.ReactCurrentOwner, Je = N.ReactDebugCurrentFrame;
466
- function je(e) {
467
- if (e) {
468
- var i = e._owner, p = Le(e.type, e._source, i ? i.type : null);
469
- Je.setExtraStackFrame(p);
470
- } else
471
- Je.setExtraStackFrame(null);
472
- }
473
- var qe;
474
- qe = !1;
475
- function Me(e) {
476
- return typeof e == "object" && e !== null && e.$$typeof === r;
477
- }
478
- function ue() {
479
- {
480
- if (Ke.current) {
481
- var e = K(Ke.current.type);
482
- if (e)
483
- return `
484
-
485
- Check the render method of \`` + e + "`.";
486
- }
487
- return "";
488
- }
489
- }
490
- function ht(e) {
491
- return "";
492
- }
493
- var y = {};
494
- function A(e) {
495
- {
496
- var i = ue();
497
- if (!i) {
498
- var p = typeof e == "string" ? e : e.displayName || e.name;
499
- p && (i = `
500
-
501
- Check the top-level render call using <` + p + ">.");
502
- }
503
- return i;
504
- }
505
- }
506
- function M(e, i) {
507
- {
508
- if (!e._store || e._store.validated || e.key != null)
509
- return;
510
- e._store.validated = !0;
511
- var p = A(i);
512
- if (y[p])
513
- return;
514
- y[p] = !0;
515
- var w = "";
516
- e && e._owner && e._owner !== Ke.current && (w = " It was passed a child from " + K(e._owner.type) + "."), je(e), E('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', p, w), je(null);
517
- }
518
- }
519
- function te(e, i) {
520
- {
521
- if (typeof e != "object")
522
- return;
523
- if (Ye(e))
524
- for (var p = 0; p < e.length; p++) {
525
- var w = e[p];
526
- Me(w) && M(w, i);
527
- }
528
- else if (Me(e))
529
- e._store && (e._store.validated = !0);
530
- else if (e) {
531
- var P = x(e);
532
- if (typeof P == "function" && P !== e.entries)
533
- for (var D = P.call(e), T; !(T = D.next()).done; )
534
- Me(T.value) && M(T.value, i);
535
- }
536
- }
537
- }
538
- function se(e) {
539
- {
540
- var i = e.type;
541
- if (i == null || typeof i == "string")
542
- return;
543
- var p;
544
- if (typeof i == "function")
545
- p = i.propTypes;
546
- else if (typeof i == "object" && (i.$$typeof === f || // Note: Memo only checks outer props here.
547
- // Inner props are checked in the reconciler.
548
- i.$$typeof === j))
549
- p = i.propTypes;
550
- else
551
- return;
552
- if (p) {
553
- var w = K(i);
554
- at(p, e.props, "prop", w, e);
555
- } else if (i.PropTypes !== void 0 && !qe) {
556
- qe = !0;
557
- var P = K(i);
558
- E("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", P || "Unknown");
559
- }
560
- typeof i.getDefaultProps == "function" && !i.getDefaultProps.isReactClassApproved && E("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
561
- }
562
- }
563
- function he(e) {
564
- {
565
- for (var i = Object.keys(e.props), p = 0; p < i.length; p++) {
566
- var w = i[p];
567
- if (w !== "children" && w !== "key") {
568
- je(e), E("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", w), je(null);
569
- break;
570
- }
571
- }
572
- e.ref !== null && (je(e), E("Invalid attribute `ref` supplied to `React.Fragment`."), je(null));
573
- }
574
- }
575
- var ge = {};
576
- function re(e, i, p, w, P, D) {
577
- {
578
- var T = xe(e);
579
- if (!T) {
580
- var R = "";
581
- (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (R += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
582
- var ee = ht();
583
- ee ? R += ee : R += ue();
584
- var Y;
585
- e === null ? Y = "null" : Ye(e) ? Y = "array" : e !== void 0 && e.$$typeof === r ? (Y = "<" + (K(e.type) || "Unknown") + " />", R = " Did you accidentally export a JSX literal instead of a component?") : Y = typeof e, E("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", Y, R);
586
- }
587
- var V = mt(e, i, p, P, D);
588
- if (V == null)
589
- return V;
590
- if (T) {
591
- var le = i.children;
592
- if (le !== void 0)
593
- if (w)
594
- if (Ye(le)) {
595
- for (var Ve = 0; Ve < le.length; Ve++)
596
- te(le[Ve], e);
597
- Object.freeze && Object.freeze(le);
598
- } else
599
- E("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
600
- else
601
- te(le, e);
602
- }
603
- if (Re.call(i, "key")) {
604
- var De = K(e), ae = Object.keys(i).filter(function(Ht) {
605
- return Ht !== "key";
606
- }), gt = ae.length > 0 ? "{key: someKey, " + ae.join(": ..., ") + ": ...}" : "{key: someKey}";
607
- if (!ge[De + gt]) {
608
- var Ut = ae.length > 0 ? "{" + ae.join(": ..., ") + ": ...}" : "{}";
609
- E(`A props object containing a "key" prop is being spread into JSX:
610
- let props = %s;
611
- <%s {...props} />
612
- React keys must be passed directly to JSX without using spread:
613
- let props = %s;
614
- <%s key={someKey} {...props} />`, gt, De, Ut, De), ge[De + gt] = !0;
615
- }
616
- }
617
- return e === n ? he(V) : se(V), V;
618
- }
619
- }
620
- function be(e, i, p) {
621
- return re(e, i, p, !0);
622
- }
623
- function Vt(e, i, p) {
624
- return re(e, i, p, !1);
625
- }
626
- var Wt = Vt, Gt = be;
627
- Ze.Fragment = n, Ze.jsx = Wt, Ze.jsxs = Gt;
628
- }()), Ze;
629
- }
630
- process.env.NODE_ENV === "production" ? wt.exports = nr() : wt.exports = sr();
631
- var s = wt.exports, ir = (t) => {
632
- switch (t) {
633
- case "success":
634
- return dr;
635
- case "info":
636
- return fr;
637
- case "warning":
638
- return ur;
639
- case "error":
640
- return pr;
641
- default:
642
- return null;
643
- }
644
- }, lr = Array(12).fill(0), cr = ({ visible: t, className: r }) => d.createElement("div", { className: ["sonner-loading-wrapper", r].filter(Boolean).join(" "), "data-visible": t }, d.createElement("div", { className: "sonner-spinner" }, lr.map((a, n) => d.createElement("div", { className: "sonner-loading-bar", key: `spinner-bar-${n}` })))), dr = d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, d.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" })), ur = d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", height: "20", width: "20" }, d.createElement("path", { fillRule: "evenodd", d: "M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z", clipRule: "evenodd" })), fr = d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, d.createElement("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z", clipRule: "evenodd" })), pr = d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: "20", width: "20" }, d.createElement("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z", clipRule: "evenodd" })), mr = d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }, d.createElement("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), d.createElement("line", { x1: "6", y1: "6", x2: "18", y2: "18" })), hr = () => {
645
- let [t, r] = d.useState(document.hidden);
646
- return d.useEffect(() => {
647
- let a = () => {
648
- r(document.hidden);
649
- };
650
- return document.addEventListener("visibilitychange", a), () => window.removeEventListener("visibilitychange", a);
651
- }, []), t;
652
- }, Et = 1, gr = class {
653
- constructor() {
654
- this.subscribe = (t) => (this.subscribers.push(t), () => {
655
- let r = this.subscribers.indexOf(t);
656
- this.subscribers.splice(r, 1);
657
- }), this.publish = (t) => {
658
- this.subscribers.forEach((r) => r(t));
659
- }, this.addToast = (t) => {
660
- this.publish(t), this.toasts = [...this.toasts, t];
661
- }, this.create = (t) => {
662
- var r;
663
- let { message: a, ...n } = t, c = typeof (t == null ? void 0 : t.id) == "number" || ((r = t.id) == null ? void 0 : r.length) > 0 ? t.id : Et++, u = this.toasts.find((l) => l.id === c), m = t.dismissible === void 0 ? !0 : t.dismissible;
664
- return this.dismissedToasts.has(c) && this.dismissedToasts.delete(c), u ? this.toasts = this.toasts.map((l) => l.id === c ? (this.publish({ ...l, ...t, id: c, title: a }), { ...l, ...t, id: c, dismissible: m, title: a }) : l) : this.addToast({ title: a, ...n, dismissible: m, id: c }), c;
665
- }, this.dismiss = (t) => (this.dismissedToasts.add(t), t || this.toasts.forEach((r) => {
666
- this.subscribers.forEach((a) => a({ id: r.id, dismiss: !0 }));
667
- }), this.subscribers.forEach((r) => r({ id: t, dismiss: !0 })), t), this.message = (t, r) => this.create({ ...r, message: t }), this.error = (t, r) => this.create({ ...r, message: t, type: "error" }), this.success = (t, r) => this.create({ ...r, type: "success", message: t }), this.info = (t, r) => this.create({ ...r, type: "info", message: t }), this.warning = (t, r) => this.create({ ...r, type: "warning", message: t }), this.loading = (t, r) => this.create({ ...r, type: "loading", message: t }), this.promise = (t, r) => {
668
- if (!r) return;
669
- let a;
670
- r.loading !== void 0 && (a = this.create({ ...r, promise: t, type: "loading", message: r.loading, description: typeof r.description != "function" ? r.description : void 0 }));
671
- let n = t instanceof Promise ? t : t(), c = a !== void 0, u, m = n.then(async (f) => {
672
- if (u = ["resolve", f], d.isValidElement(f)) c = !1, this.create({ id: a, type: "default", message: f });
673
- else if (vr(f) && !f.ok) {
674
- c = !1;
675
- let h = typeof r.error == "function" ? await r.error(`HTTP error! status: ${f.status}`) : r.error, v = typeof r.description == "function" ? await r.description(`HTTP error! status: ${f.status}`) : r.description;
676
- this.create({ id: a, type: "error", message: h, description: v });
677
- } else if (r.success !== void 0) {
678
- c = !1;
679
- let h = typeof r.success == "function" ? await r.success(f) : r.success, v = typeof r.description == "function" ? await r.description(f) : r.description;
680
- this.create({ id: a, type: "success", message: h, description: v });
681
- }
682
- }).catch(async (f) => {
683
- if (u = ["reject", f], r.error !== void 0) {
684
- c = !1;
685
- let h = typeof r.error == "function" ? await r.error(f) : r.error, v = typeof r.description == "function" ? await r.description(f) : r.description;
686
- this.create({ id: a, type: "error", message: h, description: v });
687
- }
688
- }).finally(() => {
689
- var f;
690
- c && (this.dismiss(a), a = void 0), (f = r.finally) == null || f.call(r);
691
- }), l = () => new Promise((f, h) => m.then(() => u[0] === "reject" ? h(u[1]) : f(u[1])).catch(h));
692
- return typeof a != "string" && typeof a != "number" ? { unwrap: l } : Object.assign(a, { unwrap: l });
693
- }, this.custom = (t, r) => {
694
- let a = (r == null ? void 0 : r.id) || Et++;
695
- return this.create({ jsx: t(a), id: a, ...r }), a;
696
- }, this.getActiveToasts = () => this.toasts.filter((t) => !this.dismissedToasts.has(t.id)), this.subscribers = [], this.toasts = [], this.dismissedToasts = /* @__PURE__ */ new Set();
697
- }
698
- }, oe = new gr(), br = (t, r) => {
699
- let a = (r == null ? void 0 : r.id) || Et++;
700
- return oe.addToast({ title: t, ...r, id: a }), a;
701
- }, vr = (t) => t && typeof t == "object" && "ok" in t && typeof t.ok == "boolean" && "status" in t && typeof t.status == "number", xr = br, yr = () => oe.toasts, wr = () => oe.getActiveToasts(), _t = Object.assign(xr, { success: oe.success, info: oe.info, warning: oe.warning, error: oe.error, custom: oe.custom, message: oe.message, promise: oe.promise, dismiss: oe.dismiss, loading: oe.loading }, { getHistory: yr, getToasts: wr });
702
- function Er(t, { insertAt: r } = {}) {
703
- if (typeof document > "u") return;
704
- let a = document.head || document.getElementsByTagName("head")[0], n = document.createElement("style");
705
- n.type = "text/css", r === "top" && a.firstChild ? a.insertBefore(n, a.firstChild) : a.appendChild(n), n.styleSheet ? n.styleSheet.cssText = t : n.appendChild(document.createTextNode(t));
706
- }
707
- Er(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
708
- `);
709
- function lt(t) {
710
- return t.label !== void 0;
711
- }
712
- var kr = 3, jr = "32px", Cr = "16px", At = 4e3, Sr = 356, Nr = 14, Rr = 20, Tr = 200;
713
- function fe(...t) {
714
- return t.filter(Boolean).join(" ");
715
- }
716
- function _r(t) {
717
- let [r, a] = t.split("-"), n = [];
718
- return r && n.push(r), a && n.push(a), n;
719
- }
720
- var Ar = (t) => {
721
- var r, a, n, c, u, m, l, f, h, v, j;
722
- let { invert: I, toast: o, unstyled: $, interacting: g, setHeights: x, visibleToasts: N, heights: E, index: b, toasts: z, expanded: W, removeToast: H, defaultRichColors: ie, closeButton: ve, style: ce, cancelButtonStyle: xe, actionButtonStyle: pe, className: S = "", descriptionClassName: K = "", duration: G, position: ne, gap: X, loadingIcon: Z, expandByDefault: de, classNames: k, icons: U, closeButtonAriaLabel: J = "Close toast", pauseWhenPageIsHidden: _ } = t, [O, L] = d.useState(null), [q, me] = d.useState(null), [F, Ne] = d.useState(!1), [ye, we] = d.useState(!1), [ze, Fe] = d.useState(!1), [tt, dt] = d.useState(!1), [Le, Re] = d.useState(!1), [rt, Be] = d.useState(0), [$e, at] = d.useState(0), Oe = d.useRef(o.duration || G || At), Ye = d.useRef(null), Ee = d.useRef(null), ut = b === 0, ot = b + 1 <= N, Q = o.type, ke = o.dismissible !== !1, ft = o.className || "", nt = o.descriptionClassName || "", Ie = d.useMemo(() => E.findIndex((y) => y.toastId === o.id) || 0, [E, o.id]), pt = d.useMemo(() => {
723
- var y;
724
- return (y = o.closeButton) != null ? y : ve;
725
- }, [o.closeButton, ve]), st = d.useMemo(() => o.duration || G || At, [o.duration, G]), He = d.useRef(0), Te = d.useRef(0), it = d.useRef(0), _e = d.useRef(null), [mt, Ke] = ne.split("-"), Je = d.useMemo(() => E.reduce((y, A, M) => M >= Ie ? y : y + A.height, 0), [E, Ie]), je = hr(), qe = o.invert || I, Me = Q === "loading";
726
- Te.current = d.useMemo(() => Ie * X + Je, [Ie, Je]), d.useEffect(() => {
727
- Oe.current = st;
728
- }, [st]), d.useEffect(() => {
729
- Ne(!0);
730
- }, []), d.useEffect(() => {
731
- let y = Ee.current;
732
- if (y) {
733
- let A = y.getBoundingClientRect().height;
734
- return at(A), x((M) => [{ toastId: o.id, height: A, position: o.position }, ...M]), () => x((M) => M.filter((te) => te.toastId !== o.id));
735
- }
736
- }, [x, o.id]), d.useLayoutEffect(() => {
737
- if (!F) return;
738
- let y = Ee.current, A = y.style.height;
739
- y.style.height = "auto";
740
- let M = y.getBoundingClientRect().height;
741
- y.style.height = A, at(M), x((te) => te.find((se) => se.toastId === o.id) ? te.map((se) => se.toastId === o.id ? { ...se, height: M } : se) : [{ toastId: o.id, height: M, position: o.position }, ...te]);
742
- }, [F, o.title, o.description, x, o.id]);
743
- let ue = d.useCallback(() => {
744
- we(!0), Be(Te.current), x((y) => y.filter((A) => A.toastId !== o.id)), setTimeout(() => {
745
- H(o);
746
- }, Tr);
747
- }, [o, H, x, Te]);
748
- d.useEffect(() => {
749
- if (o.promise && Q === "loading" || o.duration === 1 / 0 || o.type === "loading") return;
750
- let y;
751
- return W || g || _ && je ? (() => {
752
- if (it.current < He.current) {
753
- let A = (/* @__PURE__ */ new Date()).getTime() - He.current;
754
- Oe.current = Oe.current - A;
755
- }
756
- it.current = (/* @__PURE__ */ new Date()).getTime();
757
- })() : Oe.current !== 1 / 0 && (He.current = (/* @__PURE__ */ new Date()).getTime(), y = setTimeout(() => {
758
- var A;
759
- (A = o.onAutoClose) == null || A.call(o, o), ue();
760
- }, Oe.current)), () => clearTimeout(y);
761
- }, [W, g, o, Q, _, je, ue]), d.useEffect(() => {
762
- o.delete && ue();
763
- }, [ue, o.delete]);
764
- function ht() {
765
- var y, A, M;
766
- return U != null && U.loading ? d.createElement("div", { className: fe(k == null ? void 0 : k.loader, (y = o == null ? void 0 : o.classNames) == null ? void 0 : y.loader, "sonner-loader"), "data-visible": Q === "loading" }, U.loading) : Z ? d.createElement("div", { className: fe(k == null ? void 0 : k.loader, (A = o == null ? void 0 : o.classNames) == null ? void 0 : A.loader, "sonner-loader"), "data-visible": Q === "loading" }, Z) : d.createElement(cr, { className: fe(k == null ? void 0 : k.loader, (M = o == null ? void 0 : o.classNames) == null ? void 0 : M.loader), visible: Q === "loading" });
767
- }
768
- return d.createElement("li", { tabIndex: 0, ref: Ee, className: fe(S, ft, k == null ? void 0 : k.toast, (r = o == null ? void 0 : o.classNames) == null ? void 0 : r.toast, k == null ? void 0 : k.default, k == null ? void 0 : k[Q], (a = o == null ? void 0 : o.classNames) == null ? void 0 : a[Q]), "data-sonner-toast": "", "data-rich-colors": (n = o.richColors) != null ? n : ie, "data-styled": !(o.jsx || o.unstyled || $), "data-mounted": F, "data-promise": !!o.promise, "data-swiped": Le, "data-removed": ye, "data-visible": ot, "data-y-position": mt, "data-x-position": Ke, "data-index": b, "data-front": ut, "data-swiping": ze, "data-dismissible": ke, "data-type": Q, "data-invert": qe, "data-swipe-out": tt, "data-swipe-direction": q, "data-expanded": !!(W || de && F), style: { "--index": b, "--toasts-before": b, "--z-index": z.length - b, "--offset": `${ye ? rt : Te.current}px`, "--initial-height": de ? "auto" : `${$e}px`, ...ce, ...o.style }, onDragEnd: () => {
769
- Fe(!1), L(null), _e.current = null;
770
- }, onPointerDown: (y) => {
771
- Me || !ke || (Ye.current = /* @__PURE__ */ new Date(), Be(Te.current), y.target.setPointerCapture(y.pointerId), y.target.tagName !== "BUTTON" && (Fe(!0), _e.current = { x: y.clientX, y: y.clientY }));
772
- }, onPointerUp: () => {
773
- var y, A, M, te;
774
- if (tt || !ke) return;
775
- _e.current = null;
776
- let se = Number(((y = Ee.current) == null ? void 0 : y.style.getPropertyValue("--swipe-amount-x").replace("px", "")) || 0), he = Number(((A = Ee.current) == null ? void 0 : A.style.getPropertyValue("--swipe-amount-y").replace("px", "")) || 0), ge = (/* @__PURE__ */ new Date()).getTime() - ((M = Ye.current) == null ? void 0 : M.getTime()), re = O === "x" ? se : he, be = Math.abs(re) / ge;
777
- if (Math.abs(re) >= Rr || be > 0.11) {
778
- Be(Te.current), (te = o.onDismiss) == null || te.call(o, o), me(O === "x" ? se > 0 ? "right" : "left" : he > 0 ? "down" : "up"), ue(), dt(!0), Re(!1);
779
- return;
780
- }
781
- Fe(!1), L(null);
782
- }, onPointerMove: (y) => {
783
- var A, M, te, se;
784
- if (!_e.current || !ke || ((A = window.getSelection()) == null ? void 0 : A.toString().length) > 0) return;
785
- let he = y.clientY - _e.current.y, ge = y.clientX - _e.current.x, re = (M = t.swipeDirections) != null ? M : _r(ne);
786
- !O && (Math.abs(ge) > 1 || Math.abs(he) > 1) && L(Math.abs(ge) > Math.abs(he) ? "x" : "y");
787
- let be = { x: 0, y: 0 };
788
- O === "y" ? (re.includes("top") || re.includes("bottom")) && (re.includes("top") && he < 0 || re.includes("bottom") && he > 0) && (be.y = he) : O === "x" && (re.includes("left") || re.includes("right")) && (re.includes("left") && ge < 0 || re.includes("right") && ge > 0) && (be.x = ge), (Math.abs(be.x) > 0 || Math.abs(be.y) > 0) && Re(!0), (te = Ee.current) == null || te.style.setProperty("--swipe-amount-x", `${be.x}px`), (se = Ee.current) == null || se.style.setProperty("--swipe-amount-y", `${be.y}px`);
789
- } }, pt && !o.jsx ? d.createElement("button", { "aria-label": J, "data-disabled": Me, "data-close-button": !0, onClick: Me || !ke ? () => {
790
- } : () => {
791
- var y;
792
- ue(), (y = o.onDismiss) == null || y.call(o, o);
793
- }, className: fe(k == null ? void 0 : k.closeButton, (c = o == null ? void 0 : o.classNames) == null ? void 0 : c.closeButton) }, (u = U == null ? void 0 : U.close) != null ? u : mr) : null, o.jsx || bt(o.title) ? o.jsx ? o.jsx : typeof o.title == "function" ? o.title() : o.title : d.createElement(d.Fragment, null, Q || o.icon || o.promise ? d.createElement("div", { "data-icon": "", className: fe(k == null ? void 0 : k.icon, (m = o == null ? void 0 : o.classNames) == null ? void 0 : m.icon) }, o.promise || o.type === "loading" && !o.icon ? o.icon || ht() : null, o.type !== "loading" ? o.icon || (U == null ? void 0 : U[Q]) || ir(Q) : null) : null, d.createElement("div", { "data-content": "", className: fe(k == null ? void 0 : k.content, (l = o == null ? void 0 : o.classNames) == null ? void 0 : l.content) }, d.createElement("div", { "data-title": "", className: fe(k == null ? void 0 : k.title, (f = o == null ? void 0 : o.classNames) == null ? void 0 : f.title) }, typeof o.title == "function" ? o.title() : o.title), o.description ? d.createElement("div", { "data-description": "", className: fe(K, nt, k == null ? void 0 : k.description, (h = o == null ? void 0 : o.classNames) == null ? void 0 : h.description) }, typeof o.description == "function" ? o.description() : o.description) : null), bt(o.cancel) ? o.cancel : o.cancel && lt(o.cancel) ? d.createElement("button", { "data-button": !0, "data-cancel": !0, style: o.cancelButtonStyle || xe, onClick: (y) => {
794
- var A, M;
795
- lt(o.cancel) && ke && ((M = (A = o.cancel).onClick) == null || M.call(A, y), ue());
796
- }, className: fe(k == null ? void 0 : k.cancelButton, (v = o == null ? void 0 : o.classNames) == null ? void 0 : v.cancelButton) }, o.cancel.label) : null, bt(o.action) ? o.action : o.action && lt(o.action) ? d.createElement("button", { "data-button": !0, "data-action": !0, style: o.actionButtonStyle || pe, onClick: (y) => {
797
- var A, M;
798
- lt(o.action) && ((M = (A = o.action).onClick) == null || M.call(A, y), !y.defaultPrevented && ue());
799
- }, className: fe(k == null ? void 0 : k.actionButton, (j = o == null ? void 0 : o.classNames) == null ? void 0 : j.actionButton) }, o.action.label) : null));
800
- };
801
- function Pt() {
802
- if (typeof window > "u" || typeof document > "u") return "ltr";
803
- let t = document.documentElement.getAttribute("dir");
804
- return t === "auto" || !t ? window.getComputedStyle(document.documentElement).direction : t;
805
- }
806
- function Pr(t, r) {
807
- let a = {};
808
- return [t, r].forEach((n, c) => {
809
- let u = c === 1, m = u ? "--mobile-offset" : "--offset", l = u ? Cr : jr;
810
- function f(h) {
811
- ["top", "right", "bottom", "left"].forEach((v) => {
812
- a[`${m}-${v}`] = typeof h == "number" ? `${h}px` : h;
813
- });
814
- }
815
- typeof n == "number" || typeof n == "string" ? f(n) : typeof n == "object" ? ["top", "right", "bottom", "left"].forEach((h) => {
816
- n[h] === void 0 ? a[`${m}-${h}`] = l : a[`${m}-${h}`] = typeof n[h] == "number" ? `${n[h]}px` : n[h];
817
- }) : f(l);
818
- }), a;
819
- }
820
- var zr = Kt(function(t, r) {
821
- let { invert: a, position: n = "bottom-right", hotkey: c = ["altKey", "KeyT"], expand: u, closeButton: m, className: l, offset: f, mobileOffset: h, theme: v = "light", richColors: j, duration: I, style: o, visibleToasts: $ = kr, toastOptions: g, dir: x = Pt(), gap: N = Nr, loadingIcon: E, icons: b, containerAriaLabel: z = "Notifications", pauseWhenPageIsHidden: W } = t, [H, ie] = d.useState([]), ve = d.useMemo(() => Array.from(new Set([n].concat(H.filter((_) => _.position).map((_) => _.position)))), [H, n]), [ce, xe] = d.useState([]), [pe, S] = d.useState(!1), [K, G] = d.useState(!1), [ne, X] = d.useState(v !== "system" ? v : typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"), Z = d.useRef(null), de = c.join("+").replace(/Key/g, "").replace(/Digit/g, ""), k = d.useRef(null), U = d.useRef(!1), J = d.useCallback((_) => {
822
- ie((O) => {
823
- var L;
824
- return (L = O.find((q) => q.id === _.id)) != null && L.delete || oe.dismiss(_.id), O.filter(({ id: q }) => q !== _.id);
825
- });
826
- }, []);
827
- return d.useEffect(() => oe.subscribe((_) => {
828
- if (_.dismiss) {
829
- ie((O) => O.map((L) => L.id === _.id ? { ...L, delete: !0 } : L));
830
- return;
831
- }
832
- setTimeout(() => {
833
- Xt.flushSync(() => {
834
- ie((O) => {
835
- let L = O.findIndex((q) => q.id === _.id);
836
- return L !== -1 ? [...O.slice(0, L), { ...O[L], ..._ }, ...O.slice(L + 1)] : [_, ...O];
837
- });
838
- });
839
- });
840
- }), []), d.useEffect(() => {
841
- if (v !== "system") {
842
- X(v);
843
- return;
844
- }
845
- if (v === "system" && (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? X("dark") : X("light")), typeof window > "u") return;
846
- let _ = window.matchMedia("(prefers-color-scheme: dark)");
847
- try {
848
- _.addEventListener("change", ({ matches: O }) => {
849
- X(O ? "dark" : "light");
850
- });
851
- } catch {
852
- _.addListener(({ matches: L }) => {
853
- try {
854
- X(L ? "dark" : "light");
855
- } catch (q) {
856
- console.error(q);
857
- }
858
- });
859
- }
860
- }, [v]), d.useEffect(() => {
861
- H.length <= 1 && S(!1);
862
- }, [H]), d.useEffect(() => {
863
- let _ = (O) => {
864
- var L, q;
865
- c.every((me) => O[me] || O.code === me) && (S(!0), (L = Z.current) == null || L.focus()), O.code === "Escape" && (document.activeElement === Z.current || (q = Z.current) != null && q.contains(document.activeElement)) && S(!1);
866
- };
867
- return document.addEventListener("keydown", _), () => document.removeEventListener("keydown", _);
868
- }, [c]), d.useEffect(() => {
869
- if (Z.current) return () => {
870
- k.current && (k.current.focus({ preventScroll: !0 }), k.current = null, U.current = !1);
871
- };
872
- }, [Z.current]), d.createElement("section", { ref: r, "aria-label": `${z} ${de}`, tabIndex: -1, "aria-live": "polite", "aria-relevant": "additions text", "aria-atomic": "false", suppressHydrationWarning: !0 }, ve.map((_, O) => {
873
- var L;
874
- let [q, me] = _.split("-");
875
- return H.length ? d.createElement("ol", { key: _, dir: x === "auto" ? Pt() : x, tabIndex: -1, ref: Z, className: l, "data-sonner-toaster": !0, "data-theme": ne, "data-y-position": q, "data-lifted": pe && H.length > 1 && !u, "data-x-position": me, style: { "--front-toast-height": `${((L = ce[0]) == null ? void 0 : L.height) || 0}px`, "--width": `${Sr}px`, "--gap": `${N}px`, ...o, ...Pr(f, h) }, onBlur: (F) => {
876
- U.current && !F.currentTarget.contains(F.relatedTarget) && (U.current = !1, k.current && (k.current.focus({ preventScroll: !0 }), k.current = null));
877
- }, onFocus: (F) => {
878
- F.target instanceof HTMLElement && F.target.dataset.dismissible === "false" || U.current || (U.current = !0, k.current = F.relatedTarget);
879
- }, onMouseEnter: () => S(!0), onMouseMove: () => S(!0), onMouseLeave: () => {
880
- K || S(!1);
881
- }, onDragEnd: () => S(!1), onPointerDown: (F) => {
882
- F.target instanceof HTMLElement && F.target.dataset.dismissible === "false" || G(!0);
883
- }, onPointerUp: () => G(!1) }, H.filter((F) => !F.position && O === 0 || F.position === _).map((F, Ne) => {
884
- var ye, we;
885
- return d.createElement(Ar, { key: F.id, icons: b, index: Ne, toast: F, defaultRichColors: j, duration: (ye = g == null ? void 0 : g.duration) != null ? ye : I, className: g == null ? void 0 : g.className, descriptionClassName: g == null ? void 0 : g.descriptionClassName, invert: a, visibleToasts: $, closeButton: (we = g == null ? void 0 : g.closeButton) != null ? we : m, interacting: K, position: _, style: g == null ? void 0 : g.style, unstyled: g == null ? void 0 : g.unstyled, classNames: g == null ? void 0 : g.classNames, cancelButtonStyle: g == null ? void 0 : g.cancelButtonStyle, actionButtonStyle: g == null ? void 0 : g.actionButtonStyle, removeToast: J, toasts: H.filter((ze) => ze.position == F.position), heights: ce.filter((ze) => ze.position == F.position), setHeights: xe, expandByDefault: u, gap: N, loadingIcon: E, expanded: pe, pauseWhenPageIsHidden: W, swipeDirections: t.swipeDirections });
886
- })) : null;
887
- }));
888
- });
889
- const Or = ({ onClick: t }) => /* @__PURE__ */ s.jsxs(
890
- ct.div,
891
- {
892
- initial: { opacity: 0, scale: 0.8, y: 20 },
893
- animate: { opacity: 1, scale: 1, y: 0 },
894
- exit: { opacity: 0, scale: 0.5, filter: "blur(10px)" },
895
- className: "fixed bottom-8 right-8 z-[9999] group flex items-center justify-center cursor-pointer",
896
- onClick: t,
897
- children: [
898
- /* @__PURE__ */ s.jsx("div", { className: "absolute w-32 h-32 bg-amber-500/10 rounded-full blur-2xl opacity-0 group-hover:opacity-100 transition-opacity duration-1000 animate-pulse" }),
899
- /* @__PURE__ */ s.jsxs(
900
- "div",
901
- {
902
- className: "relative w-20 h-20 rounded-full bg-gradient-to-br from-slate-900 to-black border border-white/10 flex items-center justify-center transition-all duration-500 hover:shadow-[0_0_50px_rgba(212,175,55,0.3)] hover:scale-110 active:scale-95",
903
- children: [
904
- /* @__PURE__ */ s.jsx("div", { className: "absolute inset-0 rounded-full border border-amber-500/20 animate-eva-quantum" }),
905
- /* @__PURE__ */ s.jsxs("div", { className: "relative z-10 flex flex-col items-center", children: [
906
- /* @__PURE__ */ s.jsx(Mt, { className: "w-8 h-8 text-amber-400" }),
907
- /* @__PURE__ */ s.jsx("span", { className: "text-[8px] font-black uppercase tracking-[0.2em] text-amber-500/60 mt-1", children: "EVA" })
908
- ] }),
909
- /* @__PURE__ */ s.jsx("div", { className: "absolute top-4 right-4 w-2 h-2 bg-amber-400 rounded-full", children: /* @__PURE__ */ s.jsx("div", { className: "absolute inset-0 bg-amber-400 rounded-full animate-ping opacity-75" }) })
910
- ]
911
- }
912
- )
913
- ]
914
- }
915
- ), jt = d.createContext(null);
916
- function Dt(t) {
917
- var r, a, n = "";
918
- if (typeof t == "string" || typeof t == "number") n += t;
919
- else if (typeof t == "object") if (Array.isArray(t)) {
920
- var c = t.length;
921
- for (r = 0; r < c; r++) t[r] && (a = Dt(t[r])) && (n && (n += " "), n += a);
922
- } else for (a in t) t[a] && (n && (n += " "), n += a);
923
- return n;
924
- }
925
- function Ir() {
926
- for (var t, r, a = 0, n = "", c = arguments.length; a < c; a++) (t = arguments[a]) && (r = Dt(t)) && (n && (n += " "), n += r);
927
- return n;
928
- }
929
- const Ct = "-", Mr = (t) => {
930
- const r = Fr(t), {
931
- conflictingClassGroups: a,
932
- conflictingClassGroupModifiers: n
933
- } = t;
934
- return {
935
- getClassGroupId: (m) => {
936
- const l = m.split(Ct);
937
- return l[0] === "" && l.length !== 1 && l.shift(), Ft(l, r) || Dr(m);
938
- },
939
- getConflictingClassGroupIds: (m, l) => {
940
- const f = a[m] || [];
941
- return l && n[m] ? [...f, ...n[m]] : f;
942
- }
943
- };
944
- }, Ft = (t, r) => {
945
- var m;
946
- if (t.length === 0)
947
- return r.classGroupId;
948
- const a = t[0], n = r.nextPart.get(a), c = n ? Ft(t.slice(1), n) : void 0;
949
- if (c)
950
- return c;
951
- if (r.validators.length === 0)
952
- return;
953
- const u = t.join(Ct);
954
- return (m = r.validators.find(({
955
- validator: l
956
- }) => l(u))) == null ? void 0 : m.classGroupId;
957
- }, zt = /^\[(.+)\]$/, Dr = (t) => {
958
- if (zt.test(t)) {
959
- const r = zt.exec(t)[1], a = r == null ? void 0 : r.substring(0, r.indexOf(":"));
960
- if (a)
961
- return "arbitrary.." + a;
962
- }
963
- }, Fr = (t) => {
964
- const {
965
- theme: r,
966
- prefix: a
967
- } = t, n = {
968
- nextPart: /* @__PURE__ */ new Map(),
969
- validators: []
970
- };
971
- return Br(Object.entries(t.classGroups), a).forEach(([u, m]) => {
972
- kt(m, n, u, r);
973
- }), n;
974
- }, kt = (t, r, a, n) => {
975
- t.forEach((c) => {
976
- if (typeof c == "string") {
977
- const u = c === "" ? r : Ot(r, c);
978
- u.classGroupId = a;
979
- return;
980
- }
981
- if (typeof c == "function") {
982
- if (Lr(c)) {
983
- kt(c(n), r, a, n);
984
- return;
985
- }
986
- r.validators.push({
987
- validator: c,
988
- classGroupId: a
989
- });
990
- return;
991
- }
992
- Object.entries(c).forEach(([u, m]) => {
993
- kt(m, Ot(r, u), a, n);
994
- });
995
- });
996
- }, Ot = (t, r) => {
997
- let a = t;
998
- return r.split(Ct).forEach((n) => {
999
- a.nextPart.has(n) || a.nextPart.set(n, {
1000
- nextPart: /* @__PURE__ */ new Map(),
1001
- validators: []
1002
- }), a = a.nextPart.get(n);
1003
- }), a;
1004
- }, Lr = (t) => t.isThemeGetter, Br = (t, r) => r ? t.map(([a, n]) => {
1005
- const c = n.map((u) => typeof u == "string" ? r + u : typeof u == "object" ? Object.fromEntries(Object.entries(u).map(([m, l]) => [r + m, l])) : u);
1006
- return [a, c];
1007
- }) : t, $r = (t) => {
1008
- if (t < 1)
1009
- return {
1010
- get: () => {
1011
- },
1012
- set: () => {
1013
- }
1014
- };
1015
- let r = 0, a = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
1016
- const c = (u, m) => {
1017
- a.set(u, m), r++, r > t && (r = 0, n = a, a = /* @__PURE__ */ new Map());
1018
- };
1019
- return {
1020
- get(u) {
1021
- let m = a.get(u);
1022
- if (m !== void 0)
1023
- return m;
1024
- if ((m = n.get(u)) !== void 0)
1025
- return c(u, m), m;
1026
- },
1027
- set(u, m) {
1028
- a.has(u) ? a.set(u, m) : c(u, m);
1029
- }
1030
- };
1031
- }, Lt = "!", Yr = (t) => {
1032
- const {
1033
- separator: r,
1034
- experimentalParseClassName: a
1035
- } = t, n = r.length === 1, c = r[0], u = r.length, m = (l) => {
1036
- const f = [];
1037
- let h = 0, v = 0, j;
1038
- for (let x = 0; x < l.length; x++) {
1039
- let N = l[x];
1040
- if (h === 0) {
1041
- if (N === c && (n || l.slice(x, x + u) === r)) {
1042
- f.push(l.slice(v, x)), v = x + u;
1043
- continue;
1044
- }
1045
- if (N === "/") {
1046
- j = x;
1047
- continue;
1048
- }
1049
- }
1050
- N === "[" ? h++ : N === "]" && h--;
1051
- }
1052
- const I = f.length === 0 ? l : l.substring(v), o = I.startsWith(Lt), $ = o ? I.substring(1) : I, g = j && j > v ? j - v : void 0;
1053
- return {
1054
- modifiers: f,
1055
- hasImportantModifier: o,
1056
- baseClassName: $,
1057
- maybePostfixModifierPosition: g
1058
- };
1059
- };
1060
- return a ? (l) => a({
1061
- className: l,
1062
- parseClassName: m
1063
- }) : m;
1064
- }, Vr = (t) => {
1065
- if (t.length <= 1)
1066
- return t;
1067
- const r = [];
1068
- let a = [];
1069
- return t.forEach((n) => {
1070
- n[0] === "[" ? (r.push(...a.sort(), n), a = []) : a.push(n);
1071
- }), r.push(...a.sort()), r;
1072
- }, Wr = (t) => ({
1073
- cache: $r(t.cacheSize),
1074
- parseClassName: Yr(t),
1075
- ...Mr(t)
1076
- }), Gr = /\s+/, Ur = (t, r) => {
1077
- const {
1078
- parseClassName: a,
1079
- getClassGroupId: n,
1080
- getConflictingClassGroupIds: c
1081
- } = r, u = [], m = t.trim().split(Gr);
1082
- let l = "";
1083
- for (let f = m.length - 1; f >= 0; f -= 1) {
1084
- const h = m[f], {
1085
- modifiers: v,
1086
- hasImportantModifier: j,
1087
- baseClassName: I,
1088
- maybePostfixModifierPosition: o
1089
- } = a(h);
1090
- let $ = !!o, g = n($ ? I.substring(0, o) : I);
1091
- if (!g) {
1092
- if (!$) {
1093
- l = h + (l.length > 0 ? " " + l : l);
1094
- continue;
1095
- }
1096
- if (g = n(I), !g) {
1097
- l = h + (l.length > 0 ? " " + l : l);
1098
- continue;
1099
- }
1100
- $ = !1;
1101
- }
1102
- const x = Vr(v).join(":"), N = j ? x + Lt : x, E = N + g;
1103
- if (u.includes(E))
1104
- continue;
1105
- u.push(E);
1106
- const b = c(g, $);
1107
- for (let z = 0; z < b.length; ++z) {
1108
- const W = b[z];
1109
- u.push(N + W);
1110
- }
1111
- l = h + (l.length > 0 ? " " + l : l);
1112
- }
1113
- return l;
1114
- };
1115
- function Hr() {
1116
- let t = 0, r, a, n = "";
1117
- for (; t < arguments.length; )
1118
- (r = arguments[t++]) && (a = Bt(r)) && (n && (n += " "), n += a);
1119
- return n;
1120
- }
1121
- const Bt = (t) => {
1122
- if (typeof t == "string")
1123
- return t;
1124
- let r, a = "";
1125
- for (let n = 0; n < t.length; n++)
1126
- t[n] && (r = Bt(t[n])) && (a && (a += " "), a += r);
1127
- return a;
1128
- };
1129
- function Kr(t, ...r) {
1130
- let a, n, c, u = m;
1131
- function m(f) {
1132
- const h = r.reduce((v, j) => j(v), t());
1133
- return a = Wr(h), n = a.cache.get, c = a.cache.set, u = l, l(f);
1134
- }
1135
- function l(f) {
1136
- const h = n(f);
1137
- if (h)
1138
- return h;
1139
- const v = Ur(f, a);
1140
- return c(f, v), v;
1141
- }
1142
- return function() {
1143
- return u(Hr.apply(null, arguments));
1144
- };
1145
- }
1146
- const B = (t) => {
1147
- const r = (a) => a[t] || [];
1148
- return r.isThemeGetter = !0, r;
1149
- }, $t = /^\[(?:([a-z-]+):)?(.+)\]$/i, Jr = /^\d+\/\d+$/, qr = /* @__PURE__ */ new Set(["px", "full", "screen"]), Xr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Zr = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Qr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, ea = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, ta = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Ce = (t) => Ge(t) || qr.has(t) || Jr.test(t), Ae = (t) => Ue(t, "length", ca), Ge = (t) => !!t && !Number.isNaN(Number(t)), vt = (t) => Ue(t, "number", Ge), Qe = (t) => !!t && Number.isInteger(Number(t)), ra = (t) => t.endsWith("%") && Ge(t.slice(0, -1)), C = (t) => $t.test(t), Pe = (t) => Xr.test(t), aa = /* @__PURE__ */ new Set(["length", "size", "percentage"]), oa = (t) => Ue(t, aa, Yt), na = (t) => Ue(t, "position", Yt), sa = /* @__PURE__ */ new Set(["image", "url"]), ia = (t) => Ue(t, sa, ua), la = (t) => Ue(t, "", da), et = () => !0, Ue = (t, r, a) => {
1150
- const n = $t.exec(t);
1151
- return n ? n[1] ? typeof r == "string" ? n[1] === r : r.has(n[1]) : a(n[2]) : !1;
1152
- }, ca = (t) => (
1153
- // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
1154
- // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
1155
- // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
1156
- Zr.test(t) && !Qr.test(t)
1157
- ), Yt = () => !1, da = (t) => ea.test(t), ua = (t) => ta.test(t), fa = () => {
1158
- const t = B("colors"), r = B("spacing"), a = B("blur"), n = B("brightness"), c = B("borderColor"), u = B("borderRadius"), m = B("borderSpacing"), l = B("borderWidth"), f = B("contrast"), h = B("grayscale"), v = B("hueRotate"), j = B("invert"), I = B("gap"), o = B("gradientColorStops"), $ = B("gradientColorStopPositions"), g = B("inset"), x = B("margin"), N = B("opacity"), E = B("padding"), b = B("saturate"), z = B("scale"), W = B("sepia"), H = B("skew"), ie = B("space"), ve = B("translate"), ce = () => ["auto", "contain", "none"], xe = () => ["auto", "hidden", "clip", "visible", "scroll"], pe = () => ["auto", C, r], S = () => [C, r], K = () => ["", Ce, Ae], G = () => ["auto", Ge, C], ne = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], X = () => ["solid", "dashed", "dotted", "double", "none"], Z = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], de = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], k = () => ["", "0", C], U = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], J = () => [Ge, C];
1159
- return {
1160
- cacheSize: 500,
1161
- separator: ":",
1162
- theme: {
1163
- colors: [et],
1164
- spacing: [Ce, Ae],
1165
- blur: ["none", "", Pe, C],
1166
- brightness: J(),
1167
- borderColor: [t],
1168
- borderRadius: ["none", "", "full", Pe, C],
1169
- borderSpacing: S(),
1170
- borderWidth: K(),
1171
- contrast: J(),
1172
- grayscale: k(),
1173
- hueRotate: J(),
1174
- invert: k(),
1175
- gap: S(),
1176
- gradientColorStops: [t],
1177
- gradientColorStopPositions: [ra, Ae],
1178
- inset: pe(),
1179
- margin: pe(),
1180
- opacity: J(),
1181
- padding: S(),
1182
- saturate: J(),
1183
- scale: J(),
1184
- sepia: k(),
1185
- skew: J(),
1186
- space: S(),
1187
- translate: S()
1188
- },
1189
- classGroups: {
1190
- // Layout
1191
- /**
1192
- * Aspect Ratio
1193
- * @see https://tailwindcss.com/docs/aspect-ratio
1194
- */
1195
- aspect: [{
1196
- aspect: ["auto", "square", "video", C]
1197
- }],
1198
- /**
1199
- * Container
1200
- * @see https://tailwindcss.com/docs/container
1201
- */
1202
- container: ["container"],
1203
- /**
1204
- * Columns
1205
- * @see https://tailwindcss.com/docs/columns
1206
- */
1207
- columns: [{
1208
- columns: [Pe]
1209
- }],
1210
- /**
1211
- * Break After
1212
- * @see https://tailwindcss.com/docs/break-after
1213
- */
1214
- "break-after": [{
1215
- "break-after": U()
1216
- }],
1217
- /**
1218
- * Break Before
1219
- * @see https://tailwindcss.com/docs/break-before
1220
- */
1221
- "break-before": [{
1222
- "break-before": U()
1223
- }],
1224
- /**
1225
- * Break Inside
1226
- * @see https://tailwindcss.com/docs/break-inside
1227
- */
1228
- "break-inside": [{
1229
- "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
1230
- }],
1231
- /**
1232
- * Box Decoration Break
1233
- * @see https://tailwindcss.com/docs/box-decoration-break
1234
- */
1235
- "box-decoration": [{
1236
- "box-decoration": ["slice", "clone"]
1237
- }],
1238
- /**
1239
- * Box Sizing
1240
- * @see https://tailwindcss.com/docs/box-sizing
1241
- */
1242
- box: [{
1243
- box: ["border", "content"]
1244
- }],
1245
- /**
1246
- * Display
1247
- * @see https://tailwindcss.com/docs/display
1248
- */
1249
- display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
1250
- /**
1251
- * Floats
1252
- * @see https://tailwindcss.com/docs/float
1253
- */
1254
- float: [{
1255
- float: ["right", "left", "none", "start", "end"]
1256
- }],
1257
- /**
1258
- * Clear
1259
- * @see https://tailwindcss.com/docs/clear
1260
- */
1261
- clear: [{
1262
- clear: ["left", "right", "both", "none", "start", "end"]
1263
- }],
1264
- /**
1265
- * Isolation
1266
- * @see https://tailwindcss.com/docs/isolation
1267
- */
1268
- isolation: ["isolate", "isolation-auto"],
1269
- /**
1270
- * Object Fit
1271
- * @see https://tailwindcss.com/docs/object-fit
1272
- */
1273
- "object-fit": [{
1274
- object: ["contain", "cover", "fill", "none", "scale-down"]
1275
- }],
1276
- /**
1277
- * Object Position
1278
- * @see https://tailwindcss.com/docs/object-position
1279
- */
1280
- "object-position": [{
1281
- object: [...ne(), C]
1282
- }],
1283
- /**
1284
- * Overflow
1285
- * @see https://tailwindcss.com/docs/overflow
1286
- */
1287
- overflow: [{
1288
- overflow: xe()
1289
- }],
1290
- /**
1291
- * Overflow X
1292
- * @see https://tailwindcss.com/docs/overflow
1293
- */
1294
- "overflow-x": [{
1295
- "overflow-x": xe()
1296
- }],
1297
- /**
1298
- * Overflow Y
1299
- * @see https://tailwindcss.com/docs/overflow
1300
- */
1301
- "overflow-y": [{
1302
- "overflow-y": xe()
1303
- }],
1304
- /**
1305
- * Overscroll Behavior
1306
- * @see https://tailwindcss.com/docs/overscroll-behavior
1307
- */
1308
- overscroll: [{
1309
- overscroll: ce()
1310
- }],
1311
- /**
1312
- * Overscroll Behavior X
1313
- * @see https://tailwindcss.com/docs/overscroll-behavior
1314
- */
1315
- "overscroll-x": [{
1316
- "overscroll-x": ce()
1317
- }],
1318
- /**
1319
- * Overscroll Behavior Y
1320
- * @see https://tailwindcss.com/docs/overscroll-behavior
1321
- */
1322
- "overscroll-y": [{
1323
- "overscroll-y": ce()
1324
- }],
1325
- /**
1326
- * Position
1327
- * @see https://tailwindcss.com/docs/position
1328
- */
1329
- position: ["static", "fixed", "absolute", "relative", "sticky"],
1330
- /**
1331
- * Top / Right / Bottom / Left
1332
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1333
- */
1334
- inset: [{
1335
- inset: [g]
1336
- }],
1337
- /**
1338
- * Right / Left
1339
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1340
- */
1341
- "inset-x": [{
1342
- "inset-x": [g]
1343
- }],
1344
- /**
1345
- * Top / Bottom
1346
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1347
- */
1348
- "inset-y": [{
1349
- "inset-y": [g]
1350
- }],
1351
- /**
1352
- * Start
1353
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1354
- */
1355
- start: [{
1356
- start: [g]
1357
- }],
1358
- /**
1359
- * End
1360
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1361
- */
1362
- end: [{
1363
- end: [g]
1364
- }],
1365
- /**
1366
- * Top
1367
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1368
- */
1369
- top: [{
1370
- top: [g]
1371
- }],
1372
- /**
1373
- * Right
1374
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1375
- */
1376
- right: [{
1377
- right: [g]
1378
- }],
1379
- /**
1380
- * Bottom
1381
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1382
- */
1383
- bottom: [{
1384
- bottom: [g]
1385
- }],
1386
- /**
1387
- * Left
1388
- * @see https://tailwindcss.com/docs/top-right-bottom-left
1389
- */
1390
- left: [{
1391
- left: [g]
1392
- }],
1393
- /**
1394
- * Visibility
1395
- * @see https://tailwindcss.com/docs/visibility
1396
- */
1397
- visibility: ["visible", "invisible", "collapse"],
1398
- /**
1399
- * Z-Index
1400
- * @see https://tailwindcss.com/docs/z-index
1401
- */
1402
- z: [{
1403
- z: ["auto", Qe, C]
1404
- }],
1405
- // Flexbox and Grid
1406
- /**
1407
- * Flex Basis
1408
- * @see https://tailwindcss.com/docs/flex-basis
1409
- */
1410
- basis: [{
1411
- basis: pe()
1412
- }],
1413
- /**
1414
- * Flex Direction
1415
- * @see https://tailwindcss.com/docs/flex-direction
1416
- */
1417
- "flex-direction": [{
1418
- flex: ["row", "row-reverse", "col", "col-reverse"]
1419
- }],
1420
- /**
1421
- * Flex Wrap
1422
- * @see https://tailwindcss.com/docs/flex-wrap
1423
- */
1424
- "flex-wrap": [{
1425
- flex: ["wrap", "wrap-reverse", "nowrap"]
1426
- }],
1427
- /**
1428
- * Flex
1429
- * @see https://tailwindcss.com/docs/flex
1430
- */
1431
- flex: [{
1432
- flex: ["1", "auto", "initial", "none", C]
1433
- }],
1434
- /**
1435
- * Flex Grow
1436
- * @see https://tailwindcss.com/docs/flex-grow
1437
- */
1438
- grow: [{
1439
- grow: k()
1440
- }],
1441
- /**
1442
- * Flex Shrink
1443
- * @see https://tailwindcss.com/docs/flex-shrink
1444
- */
1445
- shrink: [{
1446
- shrink: k()
1447
- }],
1448
- /**
1449
- * Order
1450
- * @see https://tailwindcss.com/docs/order
1451
- */
1452
- order: [{
1453
- order: ["first", "last", "none", Qe, C]
1454
- }],
1455
- /**
1456
- * Grid Template Columns
1457
- * @see https://tailwindcss.com/docs/grid-template-columns
1458
- */
1459
- "grid-cols": [{
1460
- "grid-cols": [et]
1461
- }],
1462
- /**
1463
- * Grid Column Start / End
1464
- * @see https://tailwindcss.com/docs/grid-column
1465
- */
1466
- "col-start-end": [{
1467
- col: ["auto", {
1468
- span: ["full", Qe, C]
1469
- }, C]
1470
- }],
1471
- /**
1472
- * Grid Column Start
1473
- * @see https://tailwindcss.com/docs/grid-column
1474
- */
1475
- "col-start": [{
1476
- "col-start": G()
1477
- }],
1478
- /**
1479
- * Grid Column End
1480
- * @see https://tailwindcss.com/docs/grid-column
1481
- */
1482
- "col-end": [{
1483
- "col-end": G()
1484
- }],
1485
- /**
1486
- * Grid Template Rows
1487
- * @see https://tailwindcss.com/docs/grid-template-rows
1488
- */
1489
- "grid-rows": [{
1490
- "grid-rows": [et]
1491
- }],
1492
- /**
1493
- * Grid Row Start / End
1494
- * @see https://tailwindcss.com/docs/grid-row
1495
- */
1496
- "row-start-end": [{
1497
- row: ["auto", {
1498
- span: [Qe, C]
1499
- }, C]
1500
- }],
1501
- /**
1502
- * Grid Row Start
1503
- * @see https://tailwindcss.com/docs/grid-row
1504
- */
1505
- "row-start": [{
1506
- "row-start": G()
1507
- }],
1508
- /**
1509
- * Grid Row End
1510
- * @see https://tailwindcss.com/docs/grid-row
1511
- */
1512
- "row-end": [{
1513
- "row-end": G()
1514
- }],
1515
- /**
1516
- * Grid Auto Flow
1517
- * @see https://tailwindcss.com/docs/grid-auto-flow
1518
- */
1519
- "grid-flow": [{
1520
- "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
1521
- }],
1522
- /**
1523
- * Grid Auto Columns
1524
- * @see https://tailwindcss.com/docs/grid-auto-columns
1525
- */
1526
- "auto-cols": [{
1527
- "auto-cols": ["auto", "min", "max", "fr", C]
1528
- }],
1529
- /**
1530
- * Grid Auto Rows
1531
- * @see https://tailwindcss.com/docs/grid-auto-rows
1532
- */
1533
- "auto-rows": [{
1534
- "auto-rows": ["auto", "min", "max", "fr", C]
1535
- }],
1536
- /**
1537
- * Gap
1538
- * @see https://tailwindcss.com/docs/gap
1539
- */
1540
- gap: [{
1541
- gap: [I]
1542
- }],
1543
- /**
1544
- * Gap X
1545
- * @see https://tailwindcss.com/docs/gap
1546
- */
1547
- "gap-x": [{
1548
- "gap-x": [I]
1549
- }],
1550
- /**
1551
- * Gap Y
1552
- * @see https://tailwindcss.com/docs/gap
1553
- */
1554
- "gap-y": [{
1555
- "gap-y": [I]
1556
- }],
1557
- /**
1558
- * Justify Content
1559
- * @see https://tailwindcss.com/docs/justify-content
1560
- */
1561
- "justify-content": [{
1562
- justify: ["normal", ...de()]
1563
- }],
1564
- /**
1565
- * Justify Items
1566
- * @see https://tailwindcss.com/docs/justify-items
1567
- */
1568
- "justify-items": [{
1569
- "justify-items": ["start", "end", "center", "stretch"]
1570
- }],
1571
- /**
1572
- * Justify Self
1573
- * @see https://tailwindcss.com/docs/justify-self
1574
- */
1575
- "justify-self": [{
1576
- "justify-self": ["auto", "start", "end", "center", "stretch"]
1577
- }],
1578
- /**
1579
- * Align Content
1580
- * @see https://tailwindcss.com/docs/align-content
1581
- */
1582
- "align-content": [{
1583
- content: ["normal", ...de(), "baseline"]
1584
- }],
1585
- /**
1586
- * Align Items
1587
- * @see https://tailwindcss.com/docs/align-items
1588
- */
1589
- "align-items": [{
1590
- items: ["start", "end", "center", "baseline", "stretch"]
1591
- }],
1592
- /**
1593
- * Align Self
1594
- * @see https://tailwindcss.com/docs/align-self
1595
- */
1596
- "align-self": [{
1597
- self: ["auto", "start", "end", "center", "stretch", "baseline"]
1598
- }],
1599
- /**
1600
- * Place Content
1601
- * @see https://tailwindcss.com/docs/place-content
1602
- */
1603
- "place-content": [{
1604
- "place-content": [...de(), "baseline"]
1605
- }],
1606
- /**
1607
- * Place Items
1608
- * @see https://tailwindcss.com/docs/place-items
1609
- */
1610
- "place-items": [{
1611
- "place-items": ["start", "end", "center", "baseline", "stretch"]
1612
- }],
1613
- /**
1614
- * Place Self
1615
- * @see https://tailwindcss.com/docs/place-self
1616
- */
1617
- "place-self": [{
1618
- "place-self": ["auto", "start", "end", "center", "stretch"]
1619
- }],
1620
- // Spacing
1621
- /**
1622
- * Padding
1623
- * @see https://tailwindcss.com/docs/padding
1624
- */
1625
- p: [{
1626
- p: [E]
1627
- }],
1628
- /**
1629
- * Padding X
1630
- * @see https://tailwindcss.com/docs/padding
1631
- */
1632
- px: [{
1633
- px: [E]
1634
- }],
1635
- /**
1636
- * Padding Y
1637
- * @see https://tailwindcss.com/docs/padding
1638
- */
1639
- py: [{
1640
- py: [E]
1641
- }],
1642
- /**
1643
- * Padding Start
1644
- * @see https://tailwindcss.com/docs/padding
1645
- */
1646
- ps: [{
1647
- ps: [E]
1648
- }],
1649
- /**
1650
- * Padding End
1651
- * @see https://tailwindcss.com/docs/padding
1652
- */
1653
- pe: [{
1654
- pe: [E]
1655
- }],
1656
- /**
1657
- * Padding Top
1658
- * @see https://tailwindcss.com/docs/padding
1659
- */
1660
- pt: [{
1661
- pt: [E]
1662
- }],
1663
- /**
1664
- * Padding Right
1665
- * @see https://tailwindcss.com/docs/padding
1666
- */
1667
- pr: [{
1668
- pr: [E]
1669
- }],
1670
- /**
1671
- * Padding Bottom
1672
- * @see https://tailwindcss.com/docs/padding
1673
- */
1674
- pb: [{
1675
- pb: [E]
1676
- }],
1677
- /**
1678
- * Padding Left
1679
- * @see https://tailwindcss.com/docs/padding
1680
- */
1681
- pl: [{
1682
- pl: [E]
1683
- }],
1684
- /**
1685
- * Margin
1686
- * @see https://tailwindcss.com/docs/margin
1687
- */
1688
- m: [{
1689
- m: [x]
1690
- }],
1691
- /**
1692
- * Margin X
1693
- * @see https://tailwindcss.com/docs/margin
1694
- */
1695
- mx: [{
1696
- mx: [x]
1697
- }],
1698
- /**
1699
- * Margin Y
1700
- * @see https://tailwindcss.com/docs/margin
1701
- */
1702
- my: [{
1703
- my: [x]
1704
- }],
1705
- /**
1706
- * Margin Start
1707
- * @see https://tailwindcss.com/docs/margin
1708
- */
1709
- ms: [{
1710
- ms: [x]
1711
- }],
1712
- /**
1713
- * Margin End
1714
- * @see https://tailwindcss.com/docs/margin
1715
- */
1716
- me: [{
1717
- me: [x]
1718
- }],
1719
- /**
1720
- * Margin Top
1721
- * @see https://tailwindcss.com/docs/margin
1722
- */
1723
- mt: [{
1724
- mt: [x]
1725
- }],
1726
- /**
1727
- * Margin Right
1728
- * @see https://tailwindcss.com/docs/margin
1729
- */
1730
- mr: [{
1731
- mr: [x]
1732
- }],
1733
- /**
1734
- * Margin Bottom
1735
- * @see https://tailwindcss.com/docs/margin
1736
- */
1737
- mb: [{
1738
- mb: [x]
1739
- }],
1740
- /**
1741
- * Margin Left
1742
- * @see https://tailwindcss.com/docs/margin
1743
- */
1744
- ml: [{
1745
- ml: [x]
1746
- }],
1747
- /**
1748
- * Space Between X
1749
- * @see https://tailwindcss.com/docs/space
1750
- */
1751
- "space-x": [{
1752
- "space-x": [ie]
1753
- }],
1754
- /**
1755
- * Space Between X Reverse
1756
- * @see https://tailwindcss.com/docs/space
1757
- */
1758
- "space-x-reverse": ["space-x-reverse"],
1759
- /**
1760
- * Space Between Y
1761
- * @see https://tailwindcss.com/docs/space
1762
- */
1763
- "space-y": [{
1764
- "space-y": [ie]
1765
- }],
1766
- /**
1767
- * Space Between Y Reverse
1768
- * @see https://tailwindcss.com/docs/space
1769
- */
1770
- "space-y-reverse": ["space-y-reverse"],
1771
- // Sizing
1772
- /**
1773
- * Width
1774
- * @see https://tailwindcss.com/docs/width
1775
- */
1776
- w: [{
1777
- w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", C, r]
1778
- }],
1779
- /**
1780
- * Min-Width
1781
- * @see https://tailwindcss.com/docs/min-width
1782
- */
1783
- "min-w": [{
1784
- "min-w": [C, r, "min", "max", "fit"]
1785
- }],
1786
- /**
1787
- * Max-Width
1788
- * @see https://tailwindcss.com/docs/max-width
1789
- */
1790
- "max-w": [{
1791
- "max-w": [C, r, "none", "full", "min", "max", "fit", "prose", {
1792
- screen: [Pe]
1793
- }, Pe]
1794
- }],
1795
- /**
1796
- * Height
1797
- * @see https://tailwindcss.com/docs/height
1798
- */
1799
- h: [{
1800
- h: [C, r, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
1801
- }],
1802
- /**
1803
- * Min-Height
1804
- * @see https://tailwindcss.com/docs/min-height
1805
- */
1806
- "min-h": [{
1807
- "min-h": [C, r, "min", "max", "fit", "svh", "lvh", "dvh"]
1808
- }],
1809
- /**
1810
- * Max-Height
1811
- * @see https://tailwindcss.com/docs/max-height
1812
- */
1813
- "max-h": [{
1814
- "max-h": [C, r, "min", "max", "fit", "svh", "lvh", "dvh"]
1815
- }],
1816
- /**
1817
- * Size
1818
- * @see https://tailwindcss.com/docs/size
1819
- */
1820
- size: [{
1821
- size: [C, r, "auto", "min", "max", "fit"]
1822
- }],
1823
- // Typography
1824
- /**
1825
- * Font Size
1826
- * @see https://tailwindcss.com/docs/font-size
1827
- */
1828
- "font-size": [{
1829
- text: ["base", Pe, Ae]
1830
- }],
1831
- /**
1832
- * Font Smoothing
1833
- * @see https://tailwindcss.com/docs/font-smoothing
1834
- */
1835
- "font-smoothing": ["antialiased", "subpixel-antialiased"],
1836
- /**
1837
- * Font Style
1838
- * @see https://tailwindcss.com/docs/font-style
1839
- */
1840
- "font-style": ["italic", "not-italic"],
1841
- /**
1842
- * Font Weight
1843
- * @see https://tailwindcss.com/docs/font-weight
1844
- */
1845
- "font-weight": [{
1846
- font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", vt]
1847
- }],
1848
- /**
1849
- * Font Family
1850
- * @see https://tailwindcss.com/docs/font-family
1851
- */
1852
- "font-family": [{
1853
- font: [et]
1854
- }],
1855
- /**
1856
- * Font Variant Numeric
1857
- * @see https://tailwindcss.com/docs/font-variant-numeric
1858
- */
1859
- "fvn-normal": ["normal-nums"],
1860
- /**
1861
- * Font Variant Numeric
1862
- * @see https://tailwindcss.com/docs/font-variant-numeric
1863
- */
1864
- "fvn-ordinal": ["ordinal"],
1865
- /**
1866
- * Font Variant Numeric
1867
- * @see https://tailwindcss.com/docs/font-variant-numeric
1868
- */
1869
- "fvn-slashed-zero": ["slashed-zero"],
1870
- /**
1871
- * Font Variant Numeric
1872
- * @see https://tailwindcss.com/docs/font-variant-numeric
1873
- */
1874
- "fvn-figure": ["lining-nums", "oldstyle-nums"],
1875
- /**
1876
- * Font Variant Numeric
1877
- * @see https://tailwindcss.com/docs/font-variant-numeric
1878
- */
1879
- "fvn-spacing": ["proportional-nums", "tabular-nums"],
1880
- /**
1881
- * Font Variant Numeric
1882
- * @see https://tailwindcss.com/docs/font-variant-numeric
1883
- */
1884
- "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1885
- /**
1886
- * Letter Spacing
1887
- * @see https://tailwindcss.com/docs/letter-spacing
1888
- */
1889
- tracking: [{
1890
- tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", C]
1891
- }],
1892
- /**
1893
- * Line Clamp
1894
- * @see https://tailwindcss.com/docs/line-clamp
1895
- */
1896
- "line-clamp": [{
1897
- "line-clamp": ["none", Ge, vt]
1898
- }],
1899
- /**
1900
- * Line Height
1901
- * @see https://tailwindcss.com/docs/line-height
1902
- */
1903
- leading: [{
1904
- leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Ce, C]
1905
- }],
1906
- /**
1907
- * List Style Image
1908
- * @see https://tailwindcss.com/docs/list-style-image
1909
- */
1910
- "list-image": [{
1911
- "list-image": ["none", C]
1912
- }],
1913
- /**
1914
- * List Style Type
1915
- * @see https://tailwindcss.com/docs/list-style-type
1916
- */
1917
- "list-style-type": [{
1918
- list: ["none", "disc", "decimal", C]
1919
- }],
1920
- /**
1921
- * List Style Position
1922
- * @see https://tailwindcss.com/docs/list-style-position
1923
- */
1924
- "list-style-position": [{
1925
- list: ["inside", "outside"]
1926
- }],
1927
- /**
1928
- * Placeholder Color
1929
- * @deprecated since Tailwind CSS v3.0.0
1930
- * @see https://tailwindcss.com/docs/placeholder-color
1931
- */
1932
- "placeholder-color": [{
1933
- placeholder: [t]
1934
- }],
1935
- /**
1936
- * Placeholder Opacity
1937
- * @see https://tailwindcss.com/docs/placeholder-opacity
1938
- */
1939
- "placeholder-opacity": [{
1940
- "placeholder-opacity": [N]
1941
- }],
1942
- /**
1943
- * Text Alignment
1944
- * @see https://tailwindcss.com/docs/text-align
1945
- */
1946
- "text-alignment": [{
1947
- text: ["left", "center", "right", "justify", "start", "end"]
1948
- }],
1949
- /**
1950
- * Text Color
1951
- * @see https://tailwindcss.com/docs/text-color
1952
- */
1953
- "text-color": [{
1954
- text: [t]
1955
- }],
1956
- /**
1957
- * Text Opacity
1958
- * @see https://tailwindcss.com/docs/text-opacity
1959
- */
1960
- "text-opacity": [{
1961
- "text-opacity": [N]
1962
- }],
1963
- /**
1964
- * Text Decoration
1965
- * @see https://tailwindcss.com/docs/text-decoration
1966
- */
1967
- "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1968
- /**
1969
- * Text Decoration Style
1970
- * @see https://tailwindcss.com/docs/text-decoration-style
1971
- */
1972
- "text-decoration-style": [{
1973
- decoration: [...X(), "wavy"]
1974
- }],
1975
- /**
1976
- * Text Decoration Thickness
1977
- * @see https://tailwindcss.com/docs/text-decoration-thickness
1978
- */
1979
- "text-decoration-thickness": [{
1980
- decoration: ["auto", "from-font", Ce, Ae]
1981
- }],
1982
- /**
1983
- * Text Underline Offset
1984
- * @see https://tailwindcss.com/docs/text-underline-offset
1985
- */
1986
- "underline-offset": [{
1987
- "underline-offset": ["auto", Ce, C]
1988
- }],
1989
- /**
1990
- * Text Decoration Color
1991
- * @see https://tailwindcss.com/docs/text-decoration-color
1992
- */
1993
- "text-decoration-color": [{
1994
- decoration: [t]
1995
- }],
1996
- /**
1997
- * Text Transform
1998
- * @see https://tailwindcss.com/docs/text-transform
1999
- */
2000
- "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
2001
- /**
2002
- * Text Overflow
2003
- * @see https://tailwindcss.com/docs/text-overflow
2004
- */
2005
- "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
2006
- /**
2007
- * Text Wrap
2008
- * @see https://tailwindcss.com/docs/text-wrap
2009
- */
2010
- "text-wrap": [{
2011
- text: ["wrap", "nowrap", "balance", "pretty"]
2012
- }],
2013
- /**
2014
- * Text Indent
2015
- * @see https://tailwindcss.com/docs/text-indent
2016
- */
2017
- indent: [{
2018
- indent: S()
2019
- }],
2020
- /**
2021
- * Vertical Alignment
2022
- * @see https://tailwindcss.com/docs/vertical-align
2023
- */
2024
- "vertical-align": [{
2025
- align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", C]
2026
- }],
2027
- /**
2028
- * Whitespace
2029
- * @see https://tailwindcss.com/docs/whitespace
2030
- */
2031
- whitespace: [{
2032
- whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
2033
- }],
2034
- /**
2035
- * Word Break
2036
- * @see https://tailwindcss.com/docs/word-break
2037
- */
2038
- break: [{
2039
- break: ["normal", "words", "all", "keep"]
2040
- }],
2041
- /**
2042
- * Hyphens
2043
- * @see https://tailwindcss.com/docs/hyphens
2044
- */
2045
- hyphens: [{
2046
- hyphens: ["none", "manual", "auto"]
2047
- }],
2048
- /**
2049
- * Content
2050
- * @see https://tailwindcss.com/docs/content
2051
- */
2052
- content: [{
2053
- content: ["none", C]
2054
- }],
2055
- // Backgrounds
2056
- /**
2057
- * Background Attachment
2058
- * @see https://tailwindcss.com/docs/background-attachment
2059
- */
2060
- "bg-attachment": [{
2061
- bg: ["fixed", "local", "scroll"]
2062
- }],
2063
- /**
2064
- * Background Clip
2065
- * @see https://tailwindcss.com/docs/background-clip
2066
- */
2067
- "bg-clip": [{
2068
- "bg-clip": ["border", "padding", "content", "text"]
2069
- }],
2070
- /**
2071
- * Background Opacity
2072
- * @deprecated since Tailwind CSS v3.0.0
2073
- * @see https://tailwindcss.com/docs/background-opacity
2074
- */
2075
- "bg-opacity": [{
2076
- "bg-opacity": [N]
2077
- }],
2078
- /**
2079
- * Background Origin
2080
- * @see https://tailwindcss.com/docs/background-origin
2081
- */
2082
- "bg-origin": [{
2083
- "bg-origin": ["border", "padding", "content"]
2084
- }],
2085
- /**
2086
- * Background Position
2087
- * @see https://tailwindcss.com/docs/background-position
2088
- */
2089
- "bg-position": [{
2090
- bg: [...ne(), na]
2091
- }],
2092
- /**
2093
- * Background Repeat
2094
- * @see https://tailwindcss.com/docs/background-repeat
2095
- */
2096
- "bg-repeat": [{
2097
- bg: ["no-repeat", {
2098
- repeat: ["", "x", "y", "round", "space"]
2099
- }]
2100
- }],
2101
- /**
2102
- * Background Size
2103
- * @see https://tailwindcss.com/docs/background-size
2104
- */
2105
- "bg-size": [{
2106
- bg: ["auto", "cover", "contain", oa]
2107
- }],
2108
- /**
2109
- * Background Image
2110
- * @see https://tailwindcss.com/docs/background-image
2111
- */
2112
- "bg-image": [{
2113
- bg: ["none", {
2114
- "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
2115
- }, ia]
2116
- }],
2117
- /**
2118
- * Background Color
2119
- * @see https://tailwindcss.com/docs/background-color
2120
- */
2121
- "bg-color": [{
2122
- bg: [t]
2123
- }],
2124
- /**
2125
- * Gradient Color Stops From Position
2126
- * @see https://tailwindcss.com/docs/gradient-color-stops
2127
- */
2128
- "gradient-from-pos": [{
2129
- from: [$]
2130
- }],
2131
- /**
2132
- * Gradient Color Stops Via Position
2133
- * @see https://tailwindcss.com/docs/gradient-color-stops
2134
- */
2135
- "gradient-via-pos": [{
2136
- via: [$]
2137
- }],
2138
- /**
2139
- * Gradient Color Stops To Position
2140
- * @see https://tailwindcss.com/docs/gradient-color-stops
2141
- */
2142
- "gradient-to-pos": [{
2143
- to: [$]
2144
- }],
2145
- /**
2146
- * Gradient Color Stops From
2147
- * @see https://tailwindcss.com/docs/gradient-color-stops
2148
- */
2149
- "gradient-from": [{
2150
- from: [o]
2151
- }],
2152
- /**
2153
- * Gradient Color Stops Via
2154
- * @see https://tailwindcss.com/docs/gradient-color-stops
2155
- */
2156
- "gradient-via": [{
2157
- via: [o]
2158
- }],
2159
- /**
2160
- * Gradient Color Stops To
2161
- * @see https://tailwindcss.com/docs/gradient-color-stops
2162
- */
2163
- "gradient-to": [{
2164
- to: [o]
2165
- }],
2166
- // Borders
2167
- /**
2168
- * Border Radius
2169
- * @see https://tailwindcss.com/docs/border-radius
2170
- */
2171
- rounded: [{
2172
- rounded: [u]
2173
- }],
2174
- /**
2175
- * Border Radius Start
2176
- * @see https://tailwindcss.com/docs/border-radius
2177
- */
2178
- "rounded-s": [{
2179
- "rounded-s": [u]
2180
- }],
2181
- /**
2182
- * Border Radius End
2183
- * @see https://tailwindcss.com/docs/border-radius
2184
- */
2185
- "rounded-e": [{
2186
- "rounded-e": [u]
2187
- }],
2188
- /**
2189
- * Border Radius Top
2190
- * @see https://tailwindcss.com/docs/border-radius
2191
- */
2192
- "rounded-t": [{
2193
- "rounded-t": [u]
2194
- }],
2195
- /**
2196
- * Border Radius Right
2197
- * @see https://tailwindcss.com/docs/border-radius
2198
- */
2199
- "rounded-r": [{
2200
- "rounded-r": [u]
2201
- }],
2202
- /**
2203
- * Border Radius Bottom
2204
- * @see https://tailwindcss.com/docs/border-radius
2205
- */
2206
- "rounded-b": [{
2207
- "rounded-b": [u]
2208
- }],
2209
- /**
2210
- * Border Radius Left
2211
- * @see https://tailwindcss.com/docs/border-radius
2212
- */
2213
- "rounded-l": [{
2214
- "rounded-l": [u]
2215
- }],
2216
- /**
2217
- * Border Radius Start Start
2218
- * @see https://tailwindcss.com/docs/border-radius
2219
- */
2220
- "rounded-ss": [{
2221
- "rounded-ss": [u]
2222
- }],
2223
- /**
2224
- * Border Radius Start End
2225
- * @see https://tailwindcss.com/docs/border-radius
2226
- */
2227
- "rounded-se": [{
2228
- "rounded-se": [u]
2229
- }],
2230
- /**
2231
- * Border Radius End End
2232
- * @see https://tailwindcss.com/docs/border-radius
2233
- */
2234
- "rounded-ee": [{
2235
- "rounded-ee": [u]
2236
- }],
2237
- /**
2238
- * Border Radius End Start
2239
- * @see https://tailwindcss.com/docs/border-radius
2240
- */
2241
- "rounded-es": [{
2242
- "rounded-es": [u]
2243
- }],
2244
- /**
2245
- * Border Radius Top Left
2246
- * @see https://tailwindcss.com/docs/border-radius
2247
- */
2248
- "rounded-tl": [{
2249
- "rounded-tl": [u]
2250
- }],
2251
- /**
2252
- * Border Radius Top Right
2253
- * @see https://tailwindcss.com/docs/border-radius
2254
- */
2255
- "rounded-tr": [{
2256
- "rounded-tr": [u]
2257
- }],
2258
- /**
2259
- * Border Radius Bottom Right
2260
- * @see https://tailwindcss.com/docs/border-radius
2261
- */
2262
- "rounded-br": [{
2263
- "rounded-br": [u]
2264
- }],
2265
- /**
2266
- * Border Radius Bottom Left
2267
- * @see https://tailwindcss.com/docs/border-radius
2268
- */
2269
- "rounded-bl": [{
2270
- "rounded-bl": [u]
2271
- }],
2272
- /**
2273
- * Border Width
2274
- * @see https://tailwindcss.com/docs/border-width
2275
- */
2276
- "border-w": [{
2277
- border: [l]
2278
- }],
2279
- /**
2280
- * Border Width X
2281
- * @see https://tailwindcss.com/docs/border-width
2282
- */
2283
- "border-w-x": [{
2284
- "border-x": [l]
2285
- }],
2286
- /**
2287
- * Border Width Y
2288
- * @see https://tailwindcss.com/docs/border-width
2289
- */
2290
- "border-w-y": [{
2291
- "border-y": [l]
2292
- }],
2293
- /**
2294
- * Border Width Start
2295
- * @see https://tailwindcss.com/docs/border-width
2296
- */
2297
- "border-w-s": [{
2298
- "border-s": [l]
2299
- }],
2300
- /**
2301
- * Border Width End
2302
- * @see https://tailwindcss.com/docs/border-width
2303
- */
2304
- "border-w-e": [{
2305
- "border-e": [l]
2306
- }],
2307
- /**
2308
- * Border Width Top
2309
- * @see https://tailwindcss.com/docs/border-width
2310
- */
2311
- "border-w-t": [{
2312
- "border-t": [l]
2313
- }],
2314
- /**
2315
- * Border Width Right
2316
- * @see https://tailwindcss.com/docs/border-width
2317
- */
2318
- "border-w-r": [{
2319
- "border-r": [l]
2320
- }],
2321
- /**
2322
- * Border Width Bottom
2323
- * @see https://tailwindcss.com/docs/border-width
2324
- */
2325
- "border-w-b": [{
2326
- "border-b": [l]
2327
- }],
2328
- /**
2329
- * Border Width Left
2330
- * @see https://tailwindcss.com/docs/border-width
2331
- */
2332
- "border-w-l": [{
2333
- "border-l": [l]
2334
- }],
2335
- /**
2336
- * Border Opacity
2337
- * @see https://tailwindcss.com/docs/border-opacity
2338
- */
2339
- "border-opacity": [{
2340
- "border-opacity": [N]
2341
- }],
2342
- /**
2343
- * Border Style
2344
- * @see https://tailwindcss.com/docs/border-style
2345
- */
2346
- "border-style": [{
2347
- border: [...X(), "hidden"]
2348
- }],
2349
- /**
2350
- * Divide Width X
2351
- * @see https://tailwindcss.com/docs/divide-width
2352
- */
2353
- "divide-x": [{
2354
- "divide-x": [l]
2355
- }],
2356
- /**
2357
- * Divide Width X Reverse
2358
- * @see https://tailwindcss.com/docs/divide-width
2359
- */
2360
- "divide-x-reverse": ["divide-x-reverse"],
2361
- /**
2362
- * Divide Width Y
2363
- * @see https://tailwindcss.com/docs/divide-width
2364
- */
2365
- "divide-y": [{
2366
- "divide-y": [l]
2367
- }],
2368
- /**
2369
- * Divide Width Y Reverse
2370
- * @see https://tailwindcss.com/docs/divide-width
2371
- */
2372
- "divide-y-reverse": ["divide-y-reverse"],
2373
- /**
2374
- * Divide Opacity
2375
- * @see https://tailwindcss.com/docs/divide-opacity
2376
- */
2377
- "divide-opacity": [{
2378
- "divide-opacity": [N]
2379
- }],
2380
- /**
2381
- * Divide Style
2382
- * @see https://tailwindcss.com/docs/divide-style
2383
- */
2384
- "divide-style": [{
2385
- divide: X()
2386
- }],
2387
- /**
2388
- * Border Color
2389
- * @see https://tailwindcss.com/docs/border-color
2390
- */
2391
- "border-color": [{
2392
- border: [c]
2393
- }],
2394
- /**
2395
- * Border Color X
2396
- * @see https://tailwindcss.com/docs/border-color
2397
- */
2398
- "border-color-x": [{
2399
- "border-x": [c]
2400
- }],
2401
- /**
2402
- * Border Color Y
2403
- * @see https://tailwindcss.com/docs/border-color
2404
- */
2405
- "border-color-y": [{
2406
- "border-y": [c]
2407
- }],
2408
- /**
2409
- * Border Color S
2410
- * @see https://tailwindcss.com/docs/border-color
2411
- */
2412
- "border-color-s": [{
2413
- "border-s": [c]
2414
- }],
2415
- /**
2416
- * Border Color E
2417
- * @see https://tailwindcss.com/docs/border-color
2418
- */
2419
- "border-color-e": [{
2420
- "border-e": [c]
2421
- }],
2422
- /**
2423
- * Border Color Top
2424
- * @see https://tailwindcss.com/docs/border-color
2425
- */
2426
- "border-color-t": [{
2427
- "border-t": [c]
2428
- }],
2429
- /**
2430
- * Border Color Right
2431
- * @see https://tailwindcss.com/docs/border-color
2432
- */
2433
- "border-color-r": [{
2434
- "border-r": [c]
2435
- }],
2436
- /**
2437
- * Border Color Bottom
2438
- * @see https://tailwindcss.com/docs/border-color
2439
- */
2440
- "border-color-b": [{
2441
- "border-b": [c]
2442
- }],
2443
- /**
2444
- * Border Color Left
2445
- * @see https://tailwindcss.com/docs/border-color
2446
- */
2447
- "border-color-l": [{
2448
- "border-l": [c]
2449
- }],
2450
- /**
2451
- * Divide Color
2452
- * @see https://tailwindcss.com/docs/divide-color
2453
- */
2454
- "divide-color": [{
2455
- divide: [c]
2456
- }],
2457
- /**
2458
- * Outline Style
2459
- * @see https://tailwindcss.com/docs/outline-style
2460
- */
2461
- "outline-style": [{
2462
- outline: ["", ...X()]
2463
- }],
2464
- /**
2465
- * Outline Offset
2466
- * @see https://tailwindcss.com/docs/outline-offset
2467
- */
2468
- "outline-offset": [{
2469
- "outline-offset": [Ce, C]
2470
- }],
2471
- /**
2472
- * Outline Width
2473
- * @see https://tailwindcss.com/docs/outline-width
2474
- */
2475
- "outline-w": [{
2476
- outline: [Ce, Ae]
2477
- }],
2478
- /**
2479
- * Outline Color
2480
- * @see https://tailwindcss.com/docs/outline-color
2481
- */
2482
- "outline-color": [{
2483
- outline: [t]
2484
- }],
2485
- /**
2486
- * Ring Width
2487
- * @see https://tailwindcss.com/docs/ring-width
2488
- */
2489
- "ring-w": [{
2490
- ring: K()
2491
- }],
2492
- /**
2493
- * Ring Width Inset
2494
- * @see https://tailwindcss.com/docs/ring-width
2495
- */
2496
- "ring-w-inset": ["ring-inset"],
2497
- /**
2498
- * Ring Color
2499
- * @see https://tailwindcss.com/docs/ring-color
2500
- */
2501
- "ring-color": [{
2502
- ring: [t]
2503
- }],
2504
- /**
2505
- * Ring Opacity
2506
- * @see https://tailwindcss.com/docs/ring-opacity
2507
- */
2508
- "ring-opacity": [{
2509
- "ring-opacity": [N]
2510
- }],
2511
- /**
2512
- * Ring Offset Width
2513
- * @see https://tailwindcss.com/docs/ring-offset-width
2514
- */
2515
- "ring-offset-w": [{
2516
- "ring-offset": [Ce, Ae]
2517
- }],
2518
- /**
2519
- * Ring Offset Color
2520
- * @see https://tailwindcss.com/docs/ring-offset-color
2521
- */
2522
- "ring-offset-color": [{
2523
- "ring-offset": [t]
2524
- }],
2525
- // Effects
2526
- /**
2527
- * Box Shadow
2528
- * @see https://tailwindcss.com/docs/box-shadow
2529
- */
2530
- shadow: [{
2531
- shadow: ["", "inner", "none", Pe, la]
2532
- }],
2533
- /**
2534
- * Box Shadow Color
2535
- * @see https://tailwindcss.com/docs/box-shadow-color
2536
- */
2537
- "shadow-color": [{
2538
- shadow: [et]
2539
- }],
2540
- /**
2541
- * Opacity
2542
- * @see https://tailwindcss.com/docs/opacity
2543
- */
2544
- opacity: [{
2545
- opacity: [N]
2546
- }],
2547
- /**
2548
- * Mix Blend Mode
2549
- * @see https://tailwindcss.com/docs/mix-blend-mode
2550
- */
2551
- "mix-blend": [{
2552
- "mix-blend": [...Z(), "plus-lighter", "plus-darker"]
2553
- }],
2554
- /**
2555
- * Background Blend Mode
2556
- * @see https://tailwindcss.com/docs/background-blend-mode
2557
- */
2558
- "bg-blend": [{
2559
- "bg-blend": Z()
2560
- }],
2561
- // Filters
2562
- /**
2563
- * Filter
2564
- * @deprecated since Tailwind CSS v3.0.0
2565
- * @see https://tailwindcss.com/docs/filter
2566
- */
2567
- filter: [{
2568
- filter: ["", "none"]
2569
- }],
2570
- /**
2571
- * Blur
2572
- * @see https://tailwindcss.com/docs/blur
2573
- */
2574
- blur: [{
2575
- blur: [a]
2576
- }],
2577
- /**
2578
- * Brightness
2579
- * @see https://tailwindcss.com/docs/brightness
2580
- */
2581
- brightness: [{
2582
- brightness: [n]
2583
- }],
2584
- /**
2585
- * Contrast
2586
- * @see https://tailwindcss.com/docs/contrast
2587
- */
2588
- contrast: [{
2589
- contrast: [f]
2590
- }],
2591
- /**
2592
- * Drop Shadow
2593
- * @see https://tailwindcss.com/docs/drop-shadow
2594
- */
2595
- "drop-shadow": [{
2596
- "drop-shadow": ["", "none", Pe, C]
2597
- }],
2598
- /**
2599
- * Grayscale
2600
- * @see https://tailwindcss.com/docs/grayscale
2601
- */
2602
- grayscale: [{
2603
- grayscale: [h]
2604
- }],
2605
- /**
2606
- * Hue Rotate
2607
- * @see https://tailwindcss.com/docs/hue-rotate
2608
- */
2609
- "hue-rotate": [{
2610
- "hue-rotate": [v]
2611
- }],
2612
- /**
2613
- * Invert
2614
- * @see https://tailwindcss.com/docs/invert
2615
- */
2616
- invert: [{
2617
- invert: [j]
2618
- }],
2619
- /**
2620
- * Saturate
2621
- * @see https://tailwindcss.com/docs/saturate
2622
- */
2623
- saturate: [{
2624
- saturate: [b]
2625
- }],
2626
- /**
2627
- * Sepia
2628
- * @see https://tailwindcss.com/docs/sepia
2629
- */
2630
- sepia: [{
2631
- sepia: [W]
2632
- }],
2633
- /**
2634
- * Backdrop Filter
2635
- * @deprecated since Tailwind CSS v3.0.0
2636
- * @see https://tailwindcss.com/docs/backdrop-filter
2637
- */
2638
- "backdrop-filter": [{
2639
- "backdrop-filter": ["", "none"]
2640
- }],
2641
- /**
2642
- * Backdrop Blur
2643
- * @see https://tailwindcss.com/docs/backdrop-blur
2644
- */
2645
- "backdrop-blur": [{
2646
- "backdrop-blur": [a]
2647
- }],
2648
- /**
2649
- * Backdrop Brightness
2650
- * @see https://tailwindcss.com/docs/backdrop-brightness
2651
- */
2652
- "backdrop-brightness": [{
2653
- "backdrop-brightness": [n]
2654
- }],
2655
- /**
2656
- * Backdrop Contrast
2657
- * @see https://tailwindcss.com/docs/backdrop-contrast
2658
- */
2659
- "backdrop-contrast": [{
2660
- "backdrop-contrast": [f]
2661
- }],
2662
- /**
2663
- * Backdrop Grayscale
2664
- * @see https://tailwindcss.com/docs/backdrop-grayscale
2665
- */
2666
- "backdrop-grayscale": [{
2667
- "backdrop-grayscale": [h]
2668
- }],
2669
- /**
2670
- * Backdrop Hue Rotate
2671
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2672
- */
2673
- "backdrop-hue-rotate": [{
2674
- "backdrop-hue-rotate": [v]
2675
- }],
2676
- /**
2677
- * Backdrop Invert
2678
- * @see https://tailwindcss.com/docs/backdrop-invert
2679
- */
2680
- "backdrop-invert": [{
2681
- "backdrop-invert": [j]
2682
- }],
2683
- /**
2684
- * Backdrop Opacity
2685
- * @see https://tailwindcss.com/docs/backdrop-opacity
2686
- */
2687
- "backdrop-opacity": [{
2688
- "backdrop-opacity": [N]
2689
- }],
2690
- /**
2691
- * Backdrop Saturate
2692
- * @see https://tailwindcss.com/docs/backdrop-saturate
2693
- */
2694
- "backdrop-saturate": [{
2695
- "backdrop-saturate": [b]
2696
- }],
2697
- /**
2698
- * Backdrop Sepia
2699
- * @see https://tailwindcss.com/docs/backdrop-sepia
2700
- */
2701
- "backdrop-sepia": [{
2702
- "backdrop-sepia": [W]
2703
- }],
2704
- // Tables
2705
- /**
2706
- * Border Collapse
2707
- * @see https://tailwindcss.com/docs/border-collapse
2708
- */
2709
- "border-collapse": [{
2710
- border: ["collapse", "separate"]
2711
- }],
2712
- /**
2713
- * Border Spacing
2714
- * @see https://tailwindcss.com/docs/border-spacing
2715
- */
2716
- "border-spacing": [{
2717
- "border-spacing": [m]
2718
- }],
2719
- /**
2720
- * Border Spacing X
2721
- * @see https://tailwindcss.com/docs/border-spacing
2722
- */
2723
- "border-spacing-x": [{
2724
- "border-spacing-x": [m]
2725
- }],
2726
- /**
2727
- * Border Spacing Y
2728
- * @see https://tailwindcss.com/docs/border-spacing
2729
- */
2730
- "border-spacing-y": [{
2731
- "border-spacing-y": [m]
2732
- }],
2733
- /**
2734
- * Table Layout
2735
- * @see https://tailwindcss.com/docs/table-layout
2736
- */
2737
- "table-layout": [{
2738
- table: ["auto", "fixed"]
2739
- }],
2740
- /**
2741
- * Caption Side
2742
- * @see https://tailwindcss.com/docs/caption-side
2743
- */
2744
- caption: [{
2745
- caption: ["top", "bottom"]
2746
- }],
2747
- // Transitions and Animation
2748
- /**
2749
- * Tranisition Property
2750
- * @see https://tailwindcss.com/docs/transition-property
2751
- */
2752
- transition: [{
2753
- transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", C]
2754
- }],
2755
- /**
2756
- * Transition Duration
2757
- * @see https://tailwindcss.com/docs/transition-duration
2758
- */
2759
- duration: [{
2760
- duration: J()
2761
- }],
2762
- /**
2763
- * Transition Timing Function
2764
- * @see https://tailwindcss.com/docs/transition-timing-function
2765
- */
2766
- ease: [{
2767
- ease: ["linear", "in", "out", "in-out", C]
2768
- }],
2769
- /**
2770
- * Transition Delay
2771
- * @see https://tailwindcss.com/docs/transition-delay
2772
- */
2773
- delay: [{
2774
- delay: J()
2775
- }],
2776
- /**
2777
- * Animation
2778
- * @see https://tailwindcss.com/docs/animation
2779
- */
2780
- animate: [{
2781
- animate: ["none", "spin", "ping", "pulse", "bounce", C]
2782
- }],
2783
- // Transforms
2784
- /**
2785
- * Transform
2786
- * @see https://tailwindcss.com/docs/transform
2787
- */
2788
- transform: [{
2789
- transform: ["", "gpu", "none"]
2790
- }],
2791
- /**
2792
- * Scale
2793
- * @see https://tailwindcss.com/docs/scale
2794
- */
2795
- scale: [{
2796
- scale: [z]
2797
- }],
2798
- /**
2799
- * Scale X
2800
- * @see https://tailwindcss.com/docs/scale
2801
- */
2802
- "scale-x": [{
2803
- "scale-x": [z]
2804
- }],
2805
- /**
2806
- * Scale Y
2807
- * @see https://tailwindcss.com/docs/scale
2808
- */
2809
- "scale-y": [{
2810
- "scale-y": [z]
2811
- }],
2812
- /**
2813
- * Rotate
2814
- * @see https://tailwindcss.com/docs/rotate
2815
- */
2816
- rotate: [{
2817
- rotate: [Qe, C]
2818
- }],
2819
- /**
2820
- * Translate X
2821
- * @see https://tailwindcss.com/docs/translate
2822
- */
2823
- "translate-x": [{
2824
- "translate-x": [ve]
2825
- }],
2826
- /**
2827
- * Translate Y
2828
- * @see https://tailwindcss.com/docs/translate
2829
- */
2830
- "translate-y": [{
2831
- "translate-y": [ve]
2832
- }],
2833
- /**
2834
- * Skew X
2835
- * @see https://tailwindcss.com/docs/skew
2836
- */
2837
- "skew-x": [{
2838
- "skew-x": [H]
2839
- }],
2840
- /**
2841
- * Skew Y
2842
- * @see https://tailwindcss.com/docs/skew
2843
- */
2844
- "skew-y": [{
2845
- "skew-y": [H]
2846
- }],
2847
- /**
2848
- * Transform Origin
2849
- * @see https://tailwindcss.com/docs/transform-origin
2850
- */
2851
- "transform-origin": [{
2852
- origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", C]
2853
- }],
2854
- // Interactivity
2855
- /**
2856
- * Accent Color
2857
- * @see https://tailwindcss.com/docs/accent-color
2858
- */
2859
- accent: [{
2860
- accent: ["auto", t]
2861
- }],
2862
- /**
2863
- * Appearance
2864
- * @see https://tailwindcss.com/docs/appearance
2865
- */
2866
- appearance: [{
2867
- appearance: ["none", "auto"]
2868
- }],
2869
- /**
2870
- * Cursor
2871
- * @see https://tailwindcss.com/docs/cursor
2872
- */
2873
- cursor: [{
2874
- cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", C]
2875
- }],
2876
- /**
2877
- * Caret Color
2878
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2879
- */
2880
- "caret-color": [{
2881
- caret: [t]
2882
- }],
2883
- /**
2884
- * Pointer Events
2885
- * @see https://tailwindcss.com/docs/pointer-events
2886
- */
2887
- "pointer-events": [{
2888
- "pointer-events": ["none", "auto"]
2889
- }],
2890
- /**
2891
- * Resize
2892
- * @see https://tailwindcss.com/docs/resize
2893
- */
2894
- resize: [{
2895
- resize: ["none", "y", "x", ""]
2896
- }],
2897
- /**
2898
- * Scroll Behavior
2899
- * @see https://tailwindcss.com/docs/scroll-behavior
2900
- */
2901
- "scroll-behavior": [{
2902
- scroll: ["auto", "smooth"]
2903
- }],
2904
- /**
2905
- * Scroll Margin
2906
- * @see https://tailwindcss.com/docs/scroll-margin
2907
- */
2908
- "scroll-m": [{
2909
- "scroll-m": S()
2910
- }],
2911
- /**
2912
- * Scroll Margin X
2913
- * @see https://tailwindcss.com/docs/scroll-margin
2914
- */
2915
- "scroll-mx": [{
2916
- "scroll-mx": S()
2917
- }],
2918
- /**
2919
- * Scroll Margin Y
2920
- * @see https://tailwindcss.com/docs/scroll-margin
2921
- */
2922
- "scroll-my": [{
2923
- "scroll-my": S()
2924
- }],
2925
- /**
2926
- * Scroll Margin Start
2927
- * @see https://tailwindcss.com/docs/scroll-margin
2928
- */
2929
- "scroll-ms": [{
2930
- "scroll-ms": S()
2931
- }],
2932
- /**
2933
- * Scroll Margin End
2934
- * @see https://tailwindcss.com/docs/scroll-margin
2935
- */
2936
- "scroll-me": [{
2937
- "scroll-me": S()
2938
- }],
2939
- /**
2940
- * Scroll Margin Top
2941
- * @see https://tailwindcss.com/docs/scroll-margin
2942
- */
2943
- "scroll-mt": [{
2944
- "scroll-mt": S()
2945
- }],
2946
- /**
2947
- * Scroll Margin Right
2948
- * @see https://tailwindcss.com/docs/scroll-margin
2949
- */
2950
- "scroll-mr": [{
2951
- "scroll-mr": S()
2952
- }],
2953
- /**
2954
- * Scroll Margin Bottom
2955
- * @see https://tailwindcss.com/docs/scroll-margin
2956
- */
2957
- "scroll-mb": [{
2958
- "scroll-mb": S()
2959
- }],
2960
- /**
2961
- * Scroll Margin Left
2962
- * @see https://tailwindcss.com/docs/scroll-margin
2963
- */
2964
- "scroll-ml": [{
2965
- "scroll-ml": S()
2966
- }],
2967
- /**
2968
- * Scroll Padding
2969
- * @see https://tailwindcss.com/docs/scroll-padding
2970
- */
2971
- "scroll-p": [{
2972
- "scroll-p": S()
2973
- }],
2974
- /**
2975
- * Scroll Padding X
2976
- * @see https://tailwindcss.com/docs/scroll-padding
2977
- */
2978
- "scroll-px": [{
2979
- "scroll-px": S()
2980
- }],
2981
- /**
2982
- * Scroll Padding Y
2983
- * @see https://tailwindcss.com/docs/scroll-padding
2984
- */
2985
- "scroll-py": [{
2986
- "scroll-py": S()
2987
- }],
2988
- /**
2989
- * Scroll Padding Start
2990
- * @see https://tailwindcss.com/docs/scroll-padding
2991
- */
2992
- "scroll-ps": [{
2993
- "scroll-ps": S()
2994
- }],
2995
- /**
2996
- * Scroll Padding End
2997
- * @see https://tailwindcss.com/docs/scroll-padding
2998
- */
2999
- "scroll-pe": [{
3000
- "scroll-pe": S()
3001
- }],
3002
- /**
3003
- * Scroll Padding Top
3004
- * @see https://tailwindcss.com/docs/scroll-padding
3005
- */
3006
- "scroll-pt": [{
3007
- "scroll-pt": S()
3008
- }],
3009
- /**
3010
- * Scroll Padding Right
3011
- * @see https://tailwindcss.com/docs/scroll-padding
3012
- */
3013
- "scroll-pr": [{
3014
- "scroll-pr": S()
3015
- }],
3016
- /**
3017
- * Scroll Padding Bottom
3018
- * @see https://tailwindcss.com/docs/scroll-padding
3019
- */
3020
- "scroll-pb": [{
3021
- "scroll-pb": S()
3022
- }],
3023
- /**
3024
- * Scroll Padding Left
3025
- * @see https://tailwindcss.com/docs/scroll-padding
3026
- */
3027
- "scroll-pl": [{
3028
- "scroll-pl": S()
3029
- }],
3030
- /**
3031
- * Scroll Snap Align
3032
- * @see https://tailwindcss.com/docs/scroll-snap-align
3033
- */
3034
- "snap-align": [{
3035
- snap: ["start", "end", "center", "align-none"]
3036
- }],
3037
- /**
3038
- * Scroll Snap Stop
3039
- * @see https://tailwindcss.com/docs/scroll-snap-stop
3040
- */
3041
- "snap-stop": [{
3042
- snap: ["normal", "always"]
3043
- }],
3044
- /**
3045
- * Scroll Snap Type
3046
- * @see https://tailwindcss.com/docs/scroll-snap-type
3047
- */
3048
- "snap-type": [{
3049
- snap: ["none", "x", "y", "both"]
3050
- }],
3051
- /**
3052
- * Scroll Snap Type Strictness
3053
- * @see https://tailwindcss.com/docs/scroll-snap-type
3054
- */
3055
- "snap-strictness": [{
3056
- snap: ["mandatory", "proximity"]
3057
- }],
3058
- /**
3059
- * Touch Action
3060
- * @see https://tailwindcss.com/docs/touch-action
3061
- */
3062
- touch: [{
3063
- touch: ["auto", "none", "manipulation"]
3064
- }],
3065
- /**
3066
- * Touch Action X
3067
- * @see https://tailwindcss.com/docs/touch-action
3068
- */
3069
- "touch-x": [{
3070
- "touch-pan": ["x", "left", "right"]
3071
- }],
3072
- /**
3073
- * Touch Action Y
3074
- * @see https://tailwindcss.com/docs/touch-action
3075
- */
3076
- "touch-y": [{
3077
- "touch-pan": ["y", "up", "down"]
3078
- }],
3079
- /**
3080
- * Touch Action Pinch Zoom
3081
- * @see https://tailwindcss.com/docs/touch-action
3082
- */
3083
- "touch-pz": ["touch-pinch-zoom"],
3084
- /**
3085
- * User Select
3086
- * @see https://tailwindcss.com/docs/user-select
3087
- */
3088
- select: [{
3089
- select: ["none", "text", "all", "auto"]
3090
- }],
3091
- /**
3092
- * Will Change
3093
- * @see https://tailwindcss.com/docs/will-change
3094
- */
3095
- "will-change": [{
3096
- "will-change": ["auto", "scroll", "contents", "transform", C]
3097
- }],
3098
- // SVG
3099
- /**
3100
- * Fill
3101
- * @see https://tailwindcss.com/docs/fill
3102
- */
3103
- fill: [{
3104
- fill: [t, "none"]
3105
- }],
3106
- /**
3107
- * Stroke Width
3108
- * @see https://tailwindcss.com/docs/stroke-width
3109
- */
3110
- "stroke-w": [{
3111
- stroke: [Ce, Ae, vt]
3112
- }],
3113
- /**
3114
- * Stroke
3115
- * @see https://tailwindcss.com/docs/stroke
3116
- */
3117
- stroke: [{
3118
- stroke: [t, "none"]
3119
- }],
3120
- // Accessibility
3121
- /**
3122
- * Screen Readers
3123
- * @see https://tailwindcss.com/docs/screen-readers
3124
- */
3125
- sr: ["sr-only", "not-sr-only"],
3126
- /**
3127
- * Forced Color Adjust
3128
- * @see https://tailwindcss.com/docs/forced-color-adjust
3129
- */
3130
- "forced-color-adjust": [{
3131
- "forced-color-adjust": ["auto", "none"]
3132
- }]
3133
- },
3134
- conflictingClassGroups: {
3135
- overflow: ["overflow-x", "overflow-y"],
3136
- overscroll: ["overscroll-x", "overscroll-y"],
3137
- inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
3138
- "inset-x": ["right", "left"],
3139
- "inset-y": ["top", "bottom"],
3140
- flex: ["basis", "grow", "shrink"],
3141
- gap: ["gap-x", "gap-y"],
3142
- p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
3143
- px: ["pr", "pl"],
3144
- py: ["pt", "pb"],
3145
- m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
3146
- mx: ["mr", "ml"],
3147
- my: ["mt", "mb"],
3148
- size: ["w", "h"],
3149
- "font-size": ["leading"],
3150
- "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
3151
- "fvn-ordinal": ["fvn-normal"],
3152
- "fvn-slashed-zero": ["fvn-normal"],
3153
- "fvn-figure": ["fvn-normal"],
3154
- "fvn-spacing": ["fvn-normal"],
3155
- "fvn-fraction": ["fvn-normal"],
3156
- "line-clamp": ["display", "overflow"],
3157
- rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
3158
- "rounded-s": ["rounded-ss", "rounded-es"],
3159
- "rounded-e": ["rounded-se", "rounded-ee"],
3160
- "rounded-t": ["rounded-tl", "rounded-tr"],
3161
- "rounded-r": ["rounded-tr", "rounded-br"],
3162
- "rounded-b": ["rounded-br", "rounded-bl"],
3163
- "rounded-l": ["rounded-tl", "rounded-bl"],
3164
- "border-spacing": ["border-spacing-x", "border-spacing-y"],
3165
- "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
3166
- "border-w-x": ["border-w-r", "border-w-l"],
3167
- "border-w-y": ["border-w-t", "border-w-b"],
3168
- "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
3169
- "border-color-x": ["border-color-r", "border-color-l"],
3170
- "border-color-y": ["border-color-t", "border-color-b"],
3171
- "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
3172
- "scroll-mx": ["scroll-mr", "scroll-ml"],
3173
- "scroll-my": ["scroll-mt", "scroll-mb"],
3174
- "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
3175
- "scroll-px": ["scroll-pr", "scroll-pl"],
3176
- "scroll-py": ["scroll-pt", "scroll-pb"],
3177
- touch: ["touch-x", "touch-y", "touch-pz"],
3178
- "touch-x": ["touch"],
3179
- "touch-y": ["touch"],
3180
- "touch-pz": ["touch"]
3181
- },
3182
- conflictingClassGroupModifiers: {
3183
- "font-size": ["leading"]
3184
- }
3185
- };
3186
- }, pa = /* @__PURE__ */ Kr(fa);
3187
- function We(...t) {
3188
- return pa(Ir(t));
3189
- }
3190
- const ma = () => {
3191
- const t = It(jt);
3192
- if (!t)
3193
- throw new Error("useEvaAgent must be used within an EvaFusionAgent provider");
3194
- const { client: r, config: a } = t, [n, c] = Se([]), [u, m] = Se(""), [l, f] = Se(!1), [h, v] = Se(a.defaultVariant || "ANALYST"), [j, I] = Se({
3195
- vertical: "SOFTWARE_DEV",
3196
- focus: "DISCOVERY",
3197
- data: a.initialData || null
3198
- });
3199
- xt(() => {
3200
- if (a.persist) {
3201
- const g = localStorage.getItem(`eva_agent_chat_${a.apiKey}`);
3202
- if (g)
3203
- try {
3204
- c(JSON.parse(g));
3205
- } catch (x) {
3206
- console.error("Failed to load chat history", x);
3207
- }
3208
- }
3209
- }, [a.apiKey, a.persist]), xt(() => {
3210
- a.persist && n.length > 0 && localStorage.setItem(`eva_agent_chat_${a.apiKey}`, JSON.stringify(n));
3211
- }, [n, a.apiKey, a.persist]);
3212
- const o = St((g) => {
3213
- I((x) => ({ ...x, ...g }));
3214
- }, []), $ = St(async (g) => {
3215
- const x = g || u;
3216
- if (!x.trim() || !r || l) return;
3217
- const N = {
3218
- role: "user",
3219
- content: x,
3220
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
3221
- };
3222
- c((E) => [...E, N]), g || m(""), f(!0);
3223
- try {
3224
- const E = {
3225
- prompt: x,
3226
- vertical: j.vertical,
3227
- focus: j.focus,
3228
- data: j.data,
3229
- ingestionMode: j.data ? "DATA" : "TEXT"
3230
- };
3231
- let b = h;
3232
- const z = x.toLowerCase();
3233
- z.includes("security") || z.includes("threat") || z.includes("risk") ? b = "SENTINEL" : z.includes("blueprint") || z.includes("architecture") || z.includes("code") ? b = "ARCHITECT" : (z.includes("roadmap") || z.includes("strategy") || z.includes("future")) && (b = "STRATEGIST");
3234
- const W = await r.query(b, E);
3235
- if (W.success) {
3236
- const H = {
3237
- role: "assistant",
3238
- content: typeof W.data == "string" ? W.data : W.data.summary || W.data.response || JSON.stringify(W.data),
3239
- variant: b,
3240
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
3241
- };
3242
- c((ie) => [...ie, H]);
3243
- } else
3244
- _t.error("Neural synthesis failed. Please check payload integrity.");
3245
- } catch (E) {
3246
- _t.error(`API Error: ${E.message || "Failed to reach EvaFusion"}`);
3247
- } finally {
3248
- f(!1);
3249
- }
3250
- }, [u, r, l, h, j]);
3251
- return {
3252
- messages: n,
3253
- input: u,
3254
- setInput: m,
3255
- isProcessing: l,
3256
- activeVariant: h,
3257
- setActiveVariant: v,
3258
- handleSend: $,
3259
- payloadConfig: j,
3260
- updatePayloadConfig: o,
3261
- isAuthorized: !!r
3262
- };
3263
- }, ha = ({ onClose: t, onMinimize: r }) => {
3264
- const a = It(jt), [n, c] = Se(!1), [u, m] = Se(!1), l = Jt(null);
3265
- if (!a) return null;
3266
- const {
3267
- messages: f,
3268
- input: h,
3269
- setInput: v,
3270
- isProcessing: j,
3271
- activeVariant: I,
3272
- setActiveVariant: o,
3273
- handleSend: $,
3274
- payloadConfig: g,
3275
- updatePayloadConfig: x,
3276
- isAuthorized: N
3277
- } = ma(), E = () => {
3278
- var b;
3279
- (b = l.current) == null || b.scrollIntoView({ behavior: "smooth" });
3280
- };
3281
- return xt(() => {
3282
- E();
3283
- }, [f, j]), /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
3284
- /* @__PURE__ */ s.jsx(
3285
- ct.div,
3286
- {
3287
- initial: { opacity: 0 },
3288
- animate: { opacity: 1 },
3289
- exit: { opacity: 0 },
3290
- onClick: t,
3291
- className: "fixed inset-0 bg-black/40 backdrop-blur-sm z-[9990]"
3292
- }
3293
- ),
3294
- /* @__PURE__ */ s.jsxs(
3295
- ct.div,
3296
- {
3297
- initial: { x: "100%", opacity: 0.5 },
3298
- animate: { x: 0, opacity: 1 },
3299
- exit: { x: "100%", opacity: 0.5 },
3300
- transition: { type: "spring", damping: 25, stiffness: 200 },
3301
- className: We(
3302
- "fixed top-0 right-0 h-full w-full sm:max-w-[480px] z-[9991] flex flex-col eva-holographic-glass overflow-hidden border-l border-white/10 shadow-2xl",
3303
- j ? "eva-glow-thinking" : "eva-glow-listening"
3304
- ),
3305
- children: [
3306
- /* @__PURE__ */ s.jsxs("div", { className: "p-6 flex items-center justify-between shrink-0 bg-[#0a0a20]/90 border-b border-white/5 backdrop-blur-xl", children: [
3307
- /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-3", children: [
3308
- /* @__PURE__ */ s.jsx("div", { className: "w-10 h-10 rounded-xl bg-amber-500/10 border border-amber-500/20 flex items-center justify-center", children: /* @__PURE__ */ s.jsx(Mt, { className: "w-5 h-5 text-amber-500" }) }),
3309
- /* @__PURE__ */ s.jsxs("div", { children: [
3310
- /* @__PURE__ */ s.jsxs("h3", { className: "text-sm font-black text-white uppercase tracking-widest italic eva-agent-gradient-text", children: [
3311
- "Eva Agent ",
3312
- /* @__PURE__ */ s.jsx("span", { className: "text-indigo-400 font-normal ml-1", children: "v1.5" })
3313
- ] }),
3314
- /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1.5", children: [
3315
- /* @__PURE__ */ s.jsx("div", { className: We(
3316
- "w-1.5 h-1.5 rounded-full animate-pulse",
3317
- N ? "bg-emerald-500" : "bg-rose-500"
3318
- ) }),
3319
- /* @__PURE__ */ s.jsx("span", { className: "text-[9px] font-bold text-slate-400 uppercase tracking-widest", children: N ? "Neural Link Active" : "Unauthorized Access" })
3320
- ] })
3321
- ] })
3322
- ] }),
3323
- /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-1.5", children: [
3324
- /* @__PURE__ */ s.jsx(
3325
- "button",
3326
- {
3327
- onClick: () => c(!n),
3328
- className: We(
3329
- "p-2 rounded-lg transition-all",
3330
- n ? "bg-amber-500/20 text-amber-500" : "text-slate-400 hover:text-white hover:bg-white/5"
3331
- ),
3332
- children: /* @__PURE__ */ s.jsx(Qt, { size: 16 })
3333
- }
3334
- ),
3335
- /* @__PURE__ */ s.jsx(
3336
- "button",
3337
- {
3338
- onClick: r,
3339
- className: "p-2 rounded-lg text-slate-400 hover:text-white hover:bg-white/5 transition-all",
3340
- children: /* @__PURE__ */ s.jsx(er, { size: 16 })
3341
- }
3342
- ),
3343
- /* @__PURE__ */ s.jsx(
3344
- "button",
3345
- {
3346
- onClick: t,
3347
- className: "p-2 rounded-lg text-rose-400 hover:text-rose-300 hover:bg-rose-500/10 transition-all",
3348
- children: /* @__PURE__ */ s.jsx(Nt, { size: 16 })
3349
- }
3350
- )
3351
- ] })
3352
- ] }),
3353
- /* @__PURE__ */ s.jsx("div", { className: "px-6 py-2 flex items-center gap-2 overflow-x-auto eva-agent-scrollbar bg-black/20 border-b border-white/5", children: ["ANALYST", "ARCHITECT", "SENTINEL", "STRATEGIST", "NEXUS"].map((b) => /* @__PURE__ */ s.jsx(
3354
- "button",
3355
- {
3356
- onClick: () => o(b),
3357
- className: We(
3358
- "px-3 py-1 rounded-full text-[8px] font-black uppercase tracking-widest transition-all whitespace-nowrap border",
3359
- I === b ? "bg-amber-500 text-black border-amber-500 shadow-[0_0_15px_rgba(212,175,55,0.3)]" : "text-slate-400 border-white/5 hover:border-white/20 hover:text-white"
3360
- ),
3361
- children: b
3362
- },
3363
- b
3364
- )) }),
3365
- /* @__PURE__ */ s.jsx("div", { className: "flex-1 overflow-y-auto eva-agent-scrollbar p-6 space-y-6 relative", children: N ? f.length === 0 ? /* @__PURE__ */ s.jsxs("div", { className: "h-full flex flex-col items-center justify-center text-center p-8 space-y-8", children: [
3366
- /* @__PURE__ */ s.jsxs("div", { className: "relative", children: [
3367
- /* @__PURE__ */ s.jsx("div", { className: "absolute inset-0 bg-amber-500/5 rounded-full blur-3xl animate-pulse" }),
3368
- /* @__PURE__ */ s.jsx(rr, { size: 64, className: "text-amber-500/20 relative z-10" })
3369
- ] }),
3370
- /* @__PURE__ */ s.jsxs("div", { className: "space-y-2", children: [
3371
- /* @__PURE__ */ s.jsx("h4", { className: "text-lg font-black text-white uppercase tracking-tighter italic", children: "Awaiting Directives" }),
3372
- /* @__PURE__ */ s.jsx("p", { className: "text-[9px] text-slate-500 uppercase tracking-[0.2em] font-bold", children: "Invoke Eva Intelligence to process your neural matrix." })
3373
- ] }),
3374
- /* @__PURE__ */ s.jsx("div", { className: "grid grid-cols-1 gap-2 w-full max-w-[280px]", children: [
3375
- "Analyze data for anomalies",
3376
- "Synthesize architecture blueprint",
3377
- "Forecast operational trajectory"
3378
- ].map((b, z) => /* @__PURE__ */ s.jsx(
3379
- "button",
3380
- {
3381
- onClick: () => $(b),
3382
- className: "p-3 rounded-xl bg-white/5 border border-white/5 text-[9px] font-black uppercase tracking-widest text-slate-400 hover:text-amber-500 hover:bg-amber-500/5 hover:border-amber-500/20 transition-all text-left",
3383
- children: b
3384
- },
3385
- z
3386
- )) })
3387
- ] }) : /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
3388
- f.map((b, z) => /* @__PURE__ */ s.jsxs("div", { className: We(
3389
- "flex flex-col space-y-2",
3390
- b.role === "user" ? "items-end" : "items-start"
3391
- ), children: [
3392
- /* @__PURE__ */ s.jsx("div", { className: We(
3393
- "max-w-[90%] px-5 py-4 rounded-3xl text-xs font-medium leading-relaxed",
3394
- b.role === "user" ? "bg-amber-500 text-black rounded-tr-none shadow-lg" : "bg-slate-900/80 text-indigo-100/90 border border-white/5 rounded-tl-none backdrop-blur-xl"
3395
- ), children: b.content }),
3396
- /* @__PURE__ */ s.jsx("span", { className: "text-[7px] font-black text-slate-500 uppercase tracking-widest px-2", children: b.role === "user" ? "Direct Input" : `Eva ${b.variant || "Neural"}` })
3397
- ] }, z)),
3398
- j && /* @__PURE__ */ s.jsx("div", { className: "flex flex-col items-start space-y-2 animate-pulse", children: /* @__PURE__ */ s.jsxs("div", { className: "bg-slate-900/80 px-5 py-4 rounded-3xl rounded-tl-none border border-white/5 flex gap-1.5 items-center", children: [
3399
- /* @__PURE__ */ s.jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-amber-500 animate-bounce" }),
3400
- /* @__PURE__ */ s.jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-amber-500 animate-bounce [animation-delay:0.2s]" }),
3401
- /* @__PURE__ */ s.jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-amber-500 animate-bounce [animation-delay:0.4s]" }),
3402
- /* @__PURE__ */ s.jsx("span", { className: "text-[8px] font-black uppercase tracking-widest text-amber-500/60 ml-2 italic", children: "Neural Synthesis..." })
3403
- ] }) }),
3404
- /* @__PURE__ */ s.jsx("div", { ref: l })
3405
- ] }) : /* @__PURE__ */ s.jsxs("div", { className: "h-full flex flex-col items-center justify-center text-center p-8 space-y-4", children: [
3406
- /* @__PURE__ */ s.jsx(tr, { size: 48, className: "text-rose-500/40 mb-2" }),
3407
- /* @__PURE__ */ s.jsx("h4", { className: "text-sm font-black text-white uppercase tracking-widest", children: "Neural Link Restricted" }),
3408
- /* @__PURE__ */ s.jsx("p", { className: "text-[10px] text-slate-500 uppercase tracking-widest leading-relaxed max-w-[240px]", children: "Authentication failed. Please verify your API Key context to re-establish the neural link." })
3409
- ] }) }),
3410
- /* @__PURE__ */ s.jsx(yt, { children: n && /* @__PURE__ */ s.jsxs(
3411
- ct.div,
3412
- {
3413
- initial: { y: "100%" },
3414
- animate: { y: 0 },
3415
- exit: { y: "100%" },
3416
- className: "absolute inset-0 bg-[#0a0a20] z-50 flex flex-col border-t border-white/10",
3417
- children: [
3418
- /* @__PURE__ */ s.jsxs("div", { className: "p-6 border-b border-white/5 flex items-center justify-between", children: [
3419
- /* @__PURE__ */ s.jsxs("h4", { className: "text-xs font-black text-white uppercase tracking-widest flex items-center gap-2", children: [
3420
- /* @__PURE__ */ s.jsx(ar, { size: 14, className: "text-amber-500" }),
3421
- "Neural Configuration"
3422
- ] }),
3423
- /* @__PURE__ */ s.jsx("button", { onClick: () => c(!1), className: "text-slate-400 hover:text-white", children: /* @__PURE__ */ s.jsx(Nt, { size: 16 }) })
3424
- ] }),
3425
- /* @__PURE__ */ s.jsxs("div", { className: "flex-1 p-6 space-y-6 overflow-y-auto eva-agent-scrollbar", children: [
3426
- /* @__PURE__ */ s.jsxs("div", { className: "space-y-2", children: [
3427
- /* @__PURE__ */ s.jsx("label", { className: "text-[8px] font-black text-slate-500 uppercase tracking-widest ml-1", children: "Focus Mode" }),
3428
- /* @__PURE__ */ s.jsxs(
3429
- "select",
3430
- {
3431
- value: g.focus,
3432
- onChange: (b) => x({ focus: b.target.value }),
3433
- className: "w-full bg-black/40 border border-white/10 rounded-xl p-3 text-[10px] font-bold text-white outline-none focus:border-amber-500/40 transition-all appearance-none cursor-pointer",
3434
- children: [
3435
- /* @__PURE__ */ s.jsx("option", { value: "DISCOVERY", children: "Discovery & Analysis" }),
3436
- /* @__PURE__ */ s.jsx("option", { value: "ANOMALIES", children: "Anomaly Detection" }),
3437
- /* @__PURE__ */ s.jsx("option", { value: "FORECAST", children: "Predictive Forecast" })
3438
- ]
3439
- }
3440
- )
3441
- ] }),
3442
- /* @__PURE__ */ s.jsxs("div", { className: "space-y-2", children: [
3443
- /* @__PURE__ */ s.jsx("label", { className: "text-[8px] font-black text-slate-500 uppercase tracking-widest ml-1", children: "Vertical Persona" }),
3444
- /* @__PURE__ */ s.jsx(
3445
- "input",
3446
- {
3447
- type: "text",
3448
- value: g.vertical,
3449
- onChange: (b) => x({ vertical: b.target.value }),
3450
- placeholder: "e.g. SOFTWARE_DEV",
3451
- className: "w-full bg-black/40 border border-white/10 rounded-xl p-3 text-[10px] font-bold text-white outline-none focus:border-amber-500/40 transition-all"
3452
- }
3453
- )
3454
- ] }),
3455
- /* @__PURE__ */ s.jsxs("div", { className: "space-y-2", children: [
3456
- /* @__PURE__ */ s.jsx("label", { className: "text-[8px] font-black text-slate-500 uppercase tracking-widest ml-1", children: "Neural Matrix (JSON Data)" }),
3457
- /* @__PURE__ */ s.jsx(
3458
- "textarea",
3459
- {
3460
- value: g.data ? JSON.stringify(g.data, null, 2) : "",
3461
- onChange: (b) => {
3462
- try {
3463
- const z = JSON.parse(b.target.value);
3464
- x({ data: z });
3465
- } catch {
3466
- x({ data: b.target.value });
3467
- }
3468
- },
3469
- placeholder: '{"key": "value"}',
3470
- className: "w-full bg-black/40 border border-white/10 rounded-xl p-4 text-[10px] font-mono text-indigo-200/60 outline-none h-48 resize-none focus:border-amber-500/40 transition-all"
3471
- }
3472
- )
3473
- ] })
3474
- ] }),
3475
- /* @__PURE__ */ s.jsx("div", { className: "p-6", children: /* @__PURE__ */ s.jsx(
3476
- "button",
3477
- {
3478
- onClick: () => c(!1),
3479
- className: "w-full h-12 rounded-xl bg-amber-500 hover:bg-amber-600 text-black text-[10px] font-black uppercase tracking-widest shadow-xl shadow-amber-500/20 transition-all active:scale-[0.98]",
3480
- children: "Confirm Configuration"
3481
- }
3482
- ) })
3483
- ]
3484
- }
3485
- ) }),
3486
- /* @__PURE__ */ s.jsxs("div", { className: "p-6 pb-8 bg-[#0a0a20] border-t border-white/5 relative z-40", children: [
3487
- /* @__PURE__ */ s.jsxs(
3488
- "form",
3489
- {
3490
- onSubmit: (b) => {
3491
- b.preventDefault(), $();
3492
- },
3493
- className: "relative flex items-center gap-3 p-2 rounded-2xl bg-white/5 border border-white/10 group focus-within:border-amber-500/40 focus-within:shadow-[0_0_30px_rgba(212,175,55,0.1)] transition-all duration-500",
3494
- children: [
3495
- /* @__PURE__ */ s.jsx(
3496
- "textarea",
3497
- {
3498
- value: h,
3499
- onChange: (b) => v(b.target.value),
3500
- onKeyDown: (b) => {
3501
- b.key === "Enter" && !b.shiftKey && (b.preventDefault(), $());
3502
- },
3503
- placeholder: "Invoke neural command...",
3504
- className: "flex-1 bg-transparent border-none text-white text-[11px] placeholder:text-slate-600 focus:ring-0 min-h-[44px] max-h-[120px] py-3 px-3 resize-none eva-agent-scrollbar outline-none font-medium",
3505
- disabled: j || !N
3506
- }
3507
- ),
3508
- /* @__PURE__ */ s.jsx(
3509
- "button",
3510
- {
3511
- type: "submit",
3512
- disabled: !h.trim() || j || !N,
3513
- className: "w-11 h-11 rounded-xl bg-amber-500 text-black flex items-center justify-center shrink-0 shadow-lg shadow-amber-500/20 disabled:opacity-30 disabled:grayscale transition-all hover:scale-105 active:scale-95",
3514
- children: /* @__PURE__ */ s.jsx(or, { size: 18 })
3515
- }
3516
- )
3517
- ]
3518
- }
3519
- ),
3520
- /* @__PURE__ */ s.jsxs("div", { className: "mt-4 flex items-center justify-center gap-4 opacity-30 select-none", children: [
3521
- /* @__PURE__ */ s.jsx("div", { className: "h-[1px] flex-1 bg-gradient-to-r from-transparent to-white/20" }),
3522
- /* @__PURE__ */ s.jsx("p", { className: "text-[7px] font-black text-white uppercase tracking-[0.4em]", children: "Neural Link v4.2.1" }),
3523
- /* @__PURE__ */ s.jsx("div", { className: "h-[1px] flex-1 bg-gradient-to-l from-transparent to-white/20" })
3524
- ] })
3525
- ] })
3526
- ]
3527
- }
3528
- )
3529
- ] });
3530
- }, ga = {
3531
- PROD: "https://evafusion-live.esteviatech.com",
3532
- DEV: "https://api-dev.protrack.esteviatech.com",
3533
- QA: "https://api-qa.protrack.esteviatech.com",
3534
- LOCAL: "http://localhost:5001"
3535
- }, Ea = (t) => {
3536
- const {
3537
- apiKey: r,
3538
- baseUrl: a,
3539
- environment: n = "PROD",
3540
- persist: c = !0,
3541
- theme: u = "dark"
3542
- } = t, [m, l] = Se(!1), [f, h] = Se(!1), v = qt(() => {
3543
- if (!r) return null;
3544
- const j = a || ga[n];
3545
- return new Zt({
3546
- apiKey: r,
3547
- baseUrl: j,
3548
- environment: n
3549
- });
3550
- }, [r, a, n]);
3551
- return /* @__PURE__ */ s.jsx(jt.Provider, { value: {
3552
- client: v,
3553
- isOpen: m,
3554
- setIsOpen: l,
3555
- isMinimized: f,
3556
- setIsMinimized: h,
3557
- config: t
3558
- }, children: /* @__PURE__ */ s.jsxs("div", { className: "eva-fusion-agent-root", children: [
3559
- /* @__PURE__ */ s.jsx(zr, { position: "top-center", richColors: !0 }),
3560
- /* @__PURE__ */ s.jsx(yt, { children: (!m || f) && /* @__PURE__ */ s.jsx(
3561
- Or,
3562
- {
3563
- onClick: () => {
3564
- l(!0), h(!1);
3565
- }
3566
- }
3567
- ) }),
3568
- /* @__PURE__ */ s.jsx(yt, { children: m && !f && /* @__PURE__ */ s.jsx(
3569
- ha,
3570
- {
3571
- onClose: () => l(!1),
3572
- onMinimize: () => h(!0)
3573
- }
3574
- ) })
3575
- ] }) });
3576
- };
3577
- export {
3578
- Ea as EvaFusionAgent,
3579
- ma as useEvaAgent
3580
- };