@halibegic/react-video-player 0.0.0 → 0.0.2

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