@tightrope-dev/link-component 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js DELETED
@@ -1,3002 +0,0 @@
1
- import { jsx as i, jsxs as k, Fragment as Re } from "react/jsx-runtime";
2
- import * as _ from "react";
3
- import { forwardRef as ve, createElement as ne, useState as V, useEffect as Pe } from "react";
4
- import "react-dom";
5
- function de(e, t) {
6
- if (typeof e == "function")
7
- return e(t);
8
- e != null && (e.current = t);
9
- }
10
- function Me(...e) {
11
- return (t) => {
12
- let r = !1;
13
- const o = e.map((n) => {
14
- const s = de(n, t);
15
- return !r && typeof s == "function" && (r = !0), s;
16
- });
17
- if (r)
18
- return () => {
19
- for (let n = 0; n < o.length; n++) {
20
- const s = o[n];
21
- typeof s == "function" ? s() : de(e[n], null);
22
- }
23
- };
24
- };
25
- }
26
- // @__NO_SIDE_EFFECTS__
27
- function ye(e) {
28
- const t = /* @__PURE__ */ je(e), r = _.forwardRef((o, n) => {
29
- const { children: s, ...l } = o, a = _.Children.toArray(s), u = a.find(Ee);
30
- if (u) {
31
- const d = u.props.children, b = a.map((w) => w === u ? _.Children.count(d) > 1 ? _.Children.only(null) : _.isValidElement(d) ? d.props.children : null : w);
32
- return /* @__PURE__ */ i(t, { ...l, ref: n, children: _.isValidElement(d) ? _.cloneElement(d, void 0, b) : null });
33
- }
34
- return /* @__PURE__ */ i(t, { ...l, ref: n, children: s });
35
- });
36
- return r.displayName = `${e}.Slot`, r;
37
- }
38
- var xe = /* @__PURE__ */ ye("Slot");
39
- // @__NO_SIDE_EFFECTS__
40
- function je(e) {
41
- const t = _.forwardRef((r, o) => {
42
- const { children: n, ...s } = r;
43
- if (_.isValidElement(n)) {
44
- const l = Le(n), a = Ve(s, n.props);
45
- return n.type !== _.Fragment && (a.ref = o ? Me(o, l) : l), _.cloneElement(n, a);
46
- }
47
- return _.Children.count(n) > 1 ? _.Children.only(null) : null;
48
- });
49
- return t.displayName = `${e}.SlotClone`, t;
50
- }
51
- var $e = Symbol("radix.slottable");
52
- function Ee(e) {
53
- return _.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === $e;
54
- }
55
- function Ve(e, t) {
56
- const r = { ...t };
57
- for (const o in t) {
58
- const n = e[o], s = t[o];
59
- /^on[A-Z]/.test(o) ? n && s ? r[o] = (...a) => {
60
- const u = s(...a);
61
- return n(...a), u;
62
- } : n && (r[o] = n) : o === "style" ? r[o] = { ...n, ...s } : o === "className" && (r[o] = [n, s].filter(Boolean).join(" "));
63
- }
64
- return { ...e, ...r };
65
- }
66
- function Le(e) {
67
- var o, n;
68
- let t = (o = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : o.get, r = t && "isReactWarning" in t && t.isReactWarning;
69
- return r ? e.ref : (t = (n = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : n.get, r = t && "isReactWarning" in t && t.isReactWarning, r ? e.props.ref : e.props.ref || e.ref);
70
- }
71
- function we(e) {
72
- var t, r, o = "";
73
- if (typeof e == "string" || typeof e == "number") o += e;
74
- else if (typeof e == "object") if (Array.isArray(e)) {
75
- var n = e.length;
76
- for (t = 0; t < n; t++) e[t] && (r = we(e[t])) && (o && (o += " "), o += r);
77
- } else for (r in e) e[r] && (o && (o += " "), o += r);
78
- return o;
79
- }
80
- function Ce() {
81
- for (var e, t, r = 0, o = "", n = arguments.length; r < n; r++) (e = arguments[r]) && (t = we(e)) && (o && (o += " "), o += t);
82
- return o;
83
- }
84
- const ue = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, pe = Ce, ae = (e, t) => (r) => {
85
- var o;
86
- if ((t == null ? void 0 : t.variants) == null) return pe(e, r == null ? void 0 : r.class, r == null ? void 0 : r.className);
87
- const { variants: n, defaultVariants: s } = t, l = Object.keys(n).map((d) => {
88
- const b = r == null ? void 0 : r[d], w = s == null ? void 0 : s[d];
89
- if (b === null) return null;
90
- const C = ue(b) || ue(w);
91
- return n[d][C];
92
- }), a = r && Object.entries(r).reduce((d, b) => {
93
- let [w, C] = b;
94
- return C === void 0 || (d[w] = C), d;
95
- }, {}), u = t == null || (o = t.compoundVariants) === null || o === void 0 ? void 0 : o.reduce((d, b) => {
96
- let { class: w, className: C, ...A } = b;
97
- return Object.entries(A).every((z) => {
98
- let [m, f] = z;
99
- return Array.isArray(f) ? f.includes({
100
- ...s,
101
- ...a
102
- }[m]) : {
103
- ...s,
104
- ...a
105
- }[m] === f;
106
- }) ? [
107
- ...d,
108
- w,
109
- C
110
- ] : d;
111
- }, []);
112
- return pe(e, l, u, r == null ? void 0 : r.class, r == null ? void 0 : r.className);
113
- }, ie = "-", Ge = (e) => {
114
- const t = Oe(e), {
115
- conflictingClassGroups: r,
116
- conflictingClassGroupModifiers: o
117
- } = e;
118
- return {
119
- getClassGroupId: (l) => {
120
- const a = l.split(ie);
121
- return a[0] === "" && a.length !== 1 && a.shift(), ke(a, t) || Te(l);
122
- },
123
- getConflictingClassGroupIds: (l, a) => {
124
- const u = r[l] || [];
125
- return a && o[l] ? [...u, ...o[l]] : u;
126
- }
127
- };
128
- }, ke = (e, t) => {
129
- var l;
130
- if (e.length === 0)
131
- return t.classGroupId;
132
- const r = e[0], o = t.nextPart.get(r), n = o ? ke(e.slice(1), o) : void 0;
133
- if (n)
134
- return n;
135
- if (t.validators.length === 0)
136
- return;
137
- const s = e.join(ie);
138
- return (l = t.validators.find(({
139
- validator: a
140
- }) => a(s))) == null ? void 0 : l.classGroupId;
141
- }, ge = /^\[(.+)\]$/, Te = (e) => {
142
- if (ge.test(e)) {
143
- const t = ge.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
144
- if (r)
145
- return "arbitrary.." + r;
146
- }
147
- }, Oe = (e) => {
148
- const {
149
- theme: t,
150
- prefix: r
151
- } = e, o = {
152
- nextPart: /* @__PURE__ */ new Map(),
153
- validators: []
154
- };
155
- return Fe(Object.entries(e.classGroups), r).forEach(([s, l]) => {
156
- se(l, o, s, t);
157
- }), o;
158
- }, se = (e, t, r, o) => {
159
- e.forEach((n) => {
160
- if (typeof n == "string") {
161
- const s = n === "" ? t : me(t, n);
162
- s.classGroupId = r;
163
- return;
164
- }
165
- if (typeof n == "function") {
166
- if (We(n)) {
167
- se(n(o), t, r, o);
168
- return;
169
- }
170
- t.validators.push({
171
- validator: n,
172
- classGroupId: r
173
- });
174
- return;
175
- }
176
- Object.entries(n).forEach(([s, l]) => {
177
- se(l, me(t, s), r, o);
178
- });
179
- });
180
- }, me = (e, t) => {
181
- let r = e;
182
- return t.split(ie).forEach((o) => {
183
- r.nextPart.has(o) || r.nextPart.set(o, {
184
- nextPart: /* @__PURE__ */ new Map(),
185
- validators: []
186
- }), r = r.nextPart.get(o);
187
- }), r;
188
- }, We = (e) => e.isThemeGetter, Fe = (e, t) => t ? e.map(([r, o]) => {
189
- const n = o.map((s) => typeof s == "string" ? t + s : typeof s == "object" ? Object.fromEntries(Object.entries(s).map(([l, a]) => [t + l, a])) : s);
190
- return [r, n];
191
- }) : e, Be = (e) => {
192
- if (e < 1)
193
- return {
194
- get: () => {
195
- },
196
- set: () => {
197
- }
198
- };
199
- let t = 0, r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
200
- const n = (s, l) => {
201
- r.set(s, l), t++, t > e && (t = 0, o = r, r = /* @__PURE__ */ new Map());
202
- };
203
- return {
204
- get(s) {
205
- let l = r.get(s);
206
- if (l !== void 0)
207
- return l;
208
- if ((l = o.get(s)) !== void 0)
209
- return n(s, l), l;
210
- },
211
- set(s, l) {
212
- r.has(s) ? r.set(s, l) : n(s, l);
213
- }
214
- };
215
- }, Ne = "!", Ue = (e) => {
216
- const {
217
- separator: t,
218
- experimentalParseClassName: r
219
- } = e, o = t.length === 1, n = t[0], s = t.length, l = (a) => {
220
- const u = [];
221
- let d = 0, b = 0, w;
222
- for (let f = 0; f < a.length; f++) {
223
- let g = a[f];
224
- if (d === 0) {
225
- if (g === n && (o || a.slice(f, f + s) === t)) {
226
- u.push(a.slice(b, f)), b = f + s;
227
- continue;
228
- }
229
- if (g === "/") {
230
- w = f;
231
- continue;
232
- }
233
- }
234
- g === "[" ? d++ : g === "]" && d--;
235
- }
236
- const C = u.length === 0 ? a : a.substring(b), A = C.startsWith(Ne), z = A ? C.substring(1) : C, m = w && w > b ? w - b : void 0;
237
- return {
238
- modifiers: u,
239
- hasImportantModifier: A,
240
- baseClassName: z,
241
- maybePostfixModifierPosition: m
242
- };
243
- };
244
- return r ? (a) => r({
245
- className: a,
246
- parseClassName: l
247
- }) : l;
248
- }, qe = (e) => {
249
- if (e.length <= 1)
250
- return e;
251
- const t = [];
252
- let r = [];
253
- return e.forEach((o) => {
254
- o[0] === "[" ? (t.push(...r.sort(), o), r = []) : r.push(o);
255
- }), t.push(...r.sort()), t;
256
- }, He = (e) => ({
257
- cache: Be(e.cacheSize),
258
- parseClassName: Ue(e),
259
- ...Ge(e)
260
- }), Ze = /\s+/, De = (e, t) => {
261
- const {
262
- parseClassName: r,
263
- getClassGroupId: o,
264
- getConflictingClassGroupIds: n
265
- } = t, s = [], l = e.trim().split(Ze);
266
- let a = "";
267
- for (let u = l.length - 1; u >= 0; u -= 1) {
268
- const d = l[u], {
269
- modifiers: b,
270
- hasImportantModifier: w,
271
- baseClassName: C,
272
- maybePostfixModifierPosition: A
273
- } = r(d);
274
- let z = !!A, m = o(z ? C.substring(0, A) : C);
275
- if (!m) {
276
- if (!z) {
277
- a = d + (a.length > 0 ? " " + a : a);
278
- continue;
279
- }
280
- if (m = o(C), !m) {
281
- a = d + (a.length > 0 ? " " + a : a);
282
- continue;
283
- }
284
- z = !1;
285
- }
286
- const f = qe(b).join(":"), g = w ? f + Ne : f, N = g + m;
287
- if (s.includes(N))
288
- continue;
289
- s.push(N);
290
- const $ = n(m, z);
291
- for (let R = 0; R < $.length; ++R) {
292
- const T = $[R];
293
- s.push(g + T);
294
- }
295
- a = d + (a.length > 0 ? " " + a : a);
296
- }
297
- return a;
298
- };
299
- function Je() {
300
- let e = 0, t, r, o = "";
301
- for (; e < arguments.length; )
302
- (t = arguments[e++]) && (r = _e(t)) && (o && (o += " "), o += r);
303
- return o;
304
- }
305
- const _e = (e) => {
306
- if (typeof e == "string")
307
- return e;
308
- let t, r = "";
309
- for (let o = 0; o < e.length; o++)
310
- e[o] && (t = _e(e[o])) && (r && (r += " "), r += t);
311
- return r;
312
- };
313
- function Ke(e, ...t) {
314
- let r, o, n, s = l;
315
- function l(u) {
316
- const d = t.reduce((b, w) => w(b), e());
317
- return r = He(d), o = r.cache.get, n = r.cache.set, s = a, a(u);
318
- }
319
- function a(u) {
320
- const d = o(u);
321
- if (d)
322
- return d;
323
- const b = De(u, r);
324
- return n(u, b), b;
325
- }
326
- return function() {
327
- return s(Je.apply(null, arguments));
328
- };
329
- }
330
- const y = (e) => {
331
- const t = (r) => r[e] || [];
332
- return t.isThemeGetter = !0, t;
333
- }, Se = /^\[(?:([a-z-]+):)?(.+)\]$/i, Xe = /^\d+\/\d+$/, Qe = /* @__PURE__ */ new Set(["px", "full", "screen"]), Ye = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, et = /\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$/, tt = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, rt = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, ot = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, j = (e) => F(e) || Qe.has(e) || Xe.test(e), L = (e) => B(e, "length", ut), F = (e) => !!e && !Number.isNaN(Number(e)), Q = (e) => B(e, "number", F), Z = (e) => !!e && Number.isInteger(Number(e)), nt = (e) => e.endsWith("%") && F(e.slice(0, -1)), c = (e) => Se.test(e), G = (e) => Ye.test(e), st = /* @__PURE__ */ new Set(["length", "size", "percentage"]), at = (e) => B(e, st, ze), it = (e) => B(e, "position", ze), lt = /* @__PURE__ */ new Set(["image", "url"]), ct = (e) => B(e, lt, gt), dt = (e) => B(e, "", pt), D = () => !0, B = (e, t, r) => {
334
- const o = Se.exec(e);
335
- return o ? o[1] ? typeof t == "string" ? o[1] === t : t.has(o[1]) : r(o[2]) : !1;
336
- }, ut = (e) => (
337
- // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
338
- // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
339
- // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
340
- et.test(e) && !tt.test(e)
341
- ), ze = () => !1, pt = (e) => rt.test(e), gt = (e) => ot.test(e), mt = () => {
342
- const e = y("colors"), t = y("spacing"), r = y("blur"), o = y("brightness"), n = y("borderColor"), s = y("borderRadius"), l = y("borderSpacing"), a = y("borderWidth"), u = y("contrast"), d = y("grayscale"), b = y("hueRotate"), w = y("invert"), C = y("gap"), A = y("gradientColorStops"), z = y("gradientColorStopPositions"), m = y("inset"), f = y("margin"), g = y("opacity"), N = y("padding"), $ = y("saturate"), R = y("scale"), T = y("sepia"), P = y("skew"), J = y("space"), K = y("translate"), O = () => ["auto", "contain", "none"], W = () => ["auto", "hidden", "clip", "visible", "scroll"], U = () => ["auto", c, t], h = () => [c, t], q = () => ["", j, L], p = () => ["auto", F, c], x = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], v = () => ["solid", "dashed", "dotted", "double", "none"], S = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], H = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], E = () => ["", "0", c], ce = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], M = () => [F, c];
343
- return {
344
- cacheSize: 500,
345
- separator: ":",
346
- theme: {
347
- colors: [D],
348
- spacing: [j, L],
349
- blur: ["none", "", G, c],
350
- brightness: M(),
351
- borderColor: [e],
352
- borderRadius: ["none", "", "full", G, c],
353
- borderSpacing: h(),
354
- borderWidth: q(),
355
- contrast: M(),
356
- grayscale: E(),
357
- hueRotate: M(),
358
- invert: E(),
359
- gap: h(),
360
- gradientColorStops: [e],
361
- gradientColorStopPositions: [nt, L],
362
- inset: U(),
363
- margin: U(),
364
- opacity: M(),
365
- padding: h(),
366
- saturate: M(),
367
- scale: M(),
368
- sepia: E(),
369
- skew: M(),
370
- space: h(),
371
- translate: h()
372
- },
373
- classGroups: {
374
- // Layout
375
- /**
376
- * Aspect Ratio
377
- * @see https://tailwindcss.com/docs/aspect-ratio
378
- */
379
- aspect: [{
380
- aspect: ["auto", "square", "video", c]
381
- }],
382
- /**
383
- * Container
384
- * @see https://tailwindcss.com/docs/container
385
- */
386
- container: ["container"],
387
- /**
388
- * Columns
389
- * @see https://tailwindcss.com/docs/columns
390
- */
391
- columns: [{
392
- columns: [G]
393
- }],
394
- /**
395
- * Break After
396
- * @see https://tailwindcss.com/docs/break-after
397
- */
398
- "break-after": [{
399
- "break-after": ce()
400
- }],
401
- /**
402
- * Break Before
403
- * @see https://tailwindcss.com/docs/break-before
404
- */
405
- "break-before": [{
406
- "break-before": ce()
407
- }],
408
- /**
409
- * Break Inside
410
- * @see https://tailwindcss.com/docs/break-inside
411
- */
412
- "break-inside": [{
413
- "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
414
- }],
415
- /**
416
- * Box Decoration Break
417
- * @see https://tailwindcss.com/docs/box-decoration-break
418
- */
419
- "box-decoration": [{
420
- "box-decoration": ["slice", "clone"]
421
- }],
422
- /**
423
- * Box Sizing
424
- * @see https://tailwindcss.com/docs/box-sizing
425
- */
426
- box: [{
427
- box: ["border", "content"]
428
- }],
429
- /**
430
- * Display
431
- * @see https://tailwindcss.com/docs/display
432
- */
433
- 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"],
434
- /**
435
- * Floats
436
- * @see https://tailwindcss.com/docs/float
437
- */
438
- float: [{
439
- float: ["right", "left", "none", "start", "end"]
440
- }],
441
- /**
442
- * Clear
443
- * @see https://tailwindcss.com/docs/clear
444
- */
445
- clear: [{
446
- clear: ["left", "right", "both", "none", "start", "end"]
447
- }],
448
- /**
449
- * Isolation
450
- * @see https://tailwindcss.com/docs/isolation
451
- */
452
- isolation: ["isolate", "isolation-auto"],
453
- /**
454
- * Object Fit
455
- * @see https://tailwindcss.com/docs/object-fit
456
- */
457
- "object-fit": [{
458
- object: ["contain", "cover", "fill", "none", "scale-down"]
459
- }],
460
- /**
461
- * Object Position
462
- * @see https://tailwindcss.com/docs/object-position
463
- */
464
- "object-position": [{
465
- object: [...x(), c]
466
- }],
467
- /**
468
- * Overflow
469
- * @see https://tailwindcss.com/docs/overflow
470
- */
471
- overflow: [{
472
- overflow: W()
473
- }],
474
- /**
475
- * Overflow X
476
- * @see https://tailwindcss.com/docs/overflow
477
- */
478
- "overflow-x": [{
479
- "overflow-x": W()
480
- }],
481
- /**
482
- * Overflow Y
483
- * @see https://tailwindcss.com/docs/overflow
484
- */
485
- "overflow-y": [{
486
- "overflow-y": W()
487
- }],
488
- /**
489
- * Overscroll Behavior
490
- * @see https://tailwindcss.com/docs/overscroll-behavior
491
- */
492
- overscroll: [{
493
- overscroll: O()
494
- }],
495
- /**
496
- * Overscroll Behavior X
497
- * @see https://tailwindcss.com/docs/overscroll-behavior
498
- */
499
- "overscroll-x": [{
500
- "overscroll-x": O()
501
- }],
502
- /**
503
- * Overscroll Behavior Y
504
- * @see https://tailwindcss.com/docs/overscroll-behavior
505
- */
506
- "overscroll-y": [{
507
- "overscroll-y": O()
508
- }],
509
- /**
510
- * Position
511
- * @see https://tailwindcss.com/docs/position
512
- */
513
- position: ["static", "fixed", "absolute", "relative", "sticky"],
514
- /**
515
- * Top / Right / Bottom / Left
516
- * @see https://tailwindcss.com/docs/top-right-bottom-left
517
- */
518
- inset: [{
519
- inset: [m]
520
- }],
521
- /**
522
- * Right / Left
523
- * @see https://tailwindcss.com/docs/top-right-bottom-left
524
- */
525
- "inset-x": [{
526
- "inset-x": [m]
527
- }],
528
- /**
529
- * Top / Bottom
530
- * @see https://tailwindcss.com/docs/top-right-bottom-left
531
- */
532
- "inset-y": [{
533
- "inset-y": [m]
534
- }],
535
- /**
536
- * Start
537
- * @see https://tailwindcss.com/docs/top-right-bottom-left
538
- */
539
- start: [{
540
- start: [m]
541
- }],
542
- /**
543
- * End
544
- * @see https://tailwindcss.com/docs/top-right-bottom-left
545
- */
546
- end: [{
547
- end: [m]
548
- }],
549
- /**
550
- * Top
551
- * @see https://tailwindcss.com/docs/top-right-bottom-left
552
- */
553
- top: [{
554
- top: [m]
555
- }],
556
- /**
557
- * Right
558
- * @see https://tailwindcss.com/docs/top-right-bottom-left
559
- */
560
- right: [{
561
- right: [m]
562
- }],
563
- /**
564
- * Bottom
565
- * @see https://tailwindcss.com/docs/top-right-bottom-left
566
- */
567
- bottom: [{
568
- bottom: [m]
569
- }],
570
- /**
571
- * Left
572
- * @see https://tailwindcss.com/docs/top-right-bottom-left
573
- */
574
- left: [{
575
- left: [m]
576
- }],
577
- /**
578
- * Visibility
579
- * @see https://tailwindcss.com/docs/visibility
580
- */
581
- visibility: ["visible", "invisible", "collapse"],
582
- /**
583
- * Z-Index
584
- * @see https://tailwindcss.com/docs/z-index
585
- */
586
- z: [{
587
- z: ["auto", Z, c]
588
- }],
589
- // Flexbox and Grid
590
- /**
591
- * Flex Basis
592
- * @see https://tailwindcss.com/docs/flex-basis
593
- */
594
- basis: [{
595
- basis: U()
596
- }],
597
- /**
598
- * Flex Direction
599
- * @see https://tailwindcss.com/docs/flex-direction
600
- */
601
- "flex-direction": [{
602
- flex: ["row", "row-reverse", "col", "col-reverse"]
603
- }],
604
- /**
605
- * Flex Wrap
606
- * @see https://tailwindcss.com/docs/flex-wrap
607
- */
608
- "flex-wrap": [{
609
- flex: ["wrap", "wrap-reverse", "nowrap"]
610
- }],
611
- /**
612
- * Flex
613
- * @see https://tailwindcss.com/docs/flex
614
- */
615
- flex: [{
616
- flex: ["1", "auto", "initial", "none", c]
617
- }],
618
- /**
619
- * Flex Grow
620
- * @see https://tailwindcss.com/docs/flex-grow
621
- */
622
- grow: [{
623
- grow: E()
624
- }],
625
- /**
626
- * Flex Shrink
627
- * @see https://tailwindcss.com/docs/flex-shrink
628
- */
629
- shrink: [{
630
- shrink: E()
631
- }],
632
- /**
633
- * Order
634
- * @see https://tailwindcss.com/docs/order
635
- */
636
- order: [{
637
- order: ["first", "last", "none", Z, c]
638
- }],
639
- /**
640
- * Grid Template Columns
641
- * @see https://tailwindcss.com/docs/grid-template-columns
642
- */
643
- "grid-cols": [{
644
- "grid-cols": [D]
645
- }],
646
- /**
647
- * Grid Column Start / End
648
- * @see https://tailwindcss.com/docs/grid-column
649
- */
650
- "col-start-end": [{
651
- col: ["auto", {
652
- span: ["full", Z, c]
653
- }, c]
654
- }],
655
- /**
656
- * Grid Column Start
657
- * @see https://tailwindcss.com/docs/grid-column
658
- */
659
- "col-start": [{
660
- "col-start": p()
661
- }],
662
- /**
663
- * Grid Column End
664
- * @see https://tailwindcss.com/docs/grid-column
665
- */
666
- "col-end": [{
667
- "col-end": p()
668
- }],
669
- /**
670
- * Grid Template Rows
671
- * @see https://tailwindcss.com/docs/grid-template-rows
672
- */
673
- "grid-rows": [{
674
- "grid-rows": [D]
675
- }],
676
- /**
677
- * Grid Row Start / End
678
- * @see https://tailwindcss.com/docs/grid-row
679
- */
680
- "row-start-end": [{
681
- row: ["auto", {
682
- span: [Z, c]
683
- }, c]
684
- }],
685
- /**
686
- * Grid Row Start
687
- * @see https://tailwindcss.com/docs/grid-row
688
- */
689
- "row-start": [{
690
- "row-start": p()
691
- }],
692
- /**
693
- * Grid Row End
694
- * @see https://tailwindcss.com/docs/grid-row
695
- */
696
- "row-end": [{
697
- "row-end": p()
698
- }],
699
- /**
700
- * Grid Auto Flow
701
- * @see https://tailwindcss.com/docs/grid-auto-flow
702
- */
703
- "grid-flow": [{
704
- "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
705
- }],
706
- /**
707
- * Grid Auto Columns
708
- * @see https://tailwindcss.com/docs/grid-auto-columns
709
- */
710
- "auto-cols": [{
711
- "auto-cols": ["auto", "min", "max", "fr", c]
712
- }],
713
- /**
714
- * Grid Auto Rows
715
- * @see https://tailwindcss.com/docs/grid-auto-rows
716
- */
717
- "auto-rows": [{
718
- "auto-rows": ["auto", "min", "max", "fr", c]
719
- }],
720
- /**
721
- * Gap
722
- * @see https://tailwindcss.com/docs/gap
723
- */
724
- gap: [{
725
- gap: [C]
726
- }],
727
- /**
728
- * Gap X
729
- * @see https://tailwindcss.com/docs/gap
730
- */
731
- "gap-x": [{
732
- "gap-x": [C]
733
- }],
734
- /**
735
- * Gap Y
736
- * @see https://tailwindcss.com/docs/gap
737
- */
738
- "gap-y": [{
739
- "gap-y": [C]
740
- }],
741
- /**
742
- * Justify Content
743
- * @see https://tailwindcss.com/docs/justify-content
744
- */
745
- "justify-content": [{
746
- justify: ["normal", ...H()]
747
- }],
748
- /**
749
- * Justify Items
750
- * @see https://tailwindcss.com/docs/justify-items
751
- */
752
- "justify-items": [{
753
- "justify-items": ["start", "end", "center", "stretch"]
754
- }],
755
- /**
756
- * Justify Self
757
- * @see https://tailwindcss.com/docs/justify-self
758
- */
759
- "justify-self": [{
760
- "justify-self": ["auto", "start", "end", "center", "stretch"]
761
- }],
762
- /**
763
- * Align Content
764
- * @see https://tailwindcss.com/docs/align-content
765
- */
766
- "align-content": [{
767
- content: ["normal", ...H(), "baseline"]
768
- }],
769
- /**
770
- * Align Items
771
- * @see https://tailwindcss.com/docs/align-items
772
- */
773
- "align-items": [{
774
- items: ["start", "end", "center", "baseline", "stretch"]
775
- }],
776
- /**
777
- * Align Self
778
- * @see https://tailwindcss.com/docs/align-self
779
- */
780
- "align-self": [{
781
- self: ["auto", "start", "end", "center", "stretch", "baseline"]
782
- }],
783
- /**
784
- * Place Content
785
- * @see https://tailwindcss.com/docs/place-content
786
- */
787
- "place-content": [{
788
- "place-content": [...H(), "baseline"]
789
- }],
790
- /**
791
- * Place Items
792
- * @see https://tailwindcss.com/docs/place-items
793
- */
794
- "place-items": [{
795
- "place-items": ["start", "end", "center", "baseline", "stretch"]
796
- }],
797
- /**
798
- * Place Self
799
- * @see https://tailwindcss.com/docs/place-self
800
- */
801
- "place-self": [{
802
- "place-self": ["auto", "start", "end", "center", "stretch"]
803
- }],
804
- // Spacing
805
- /**
806
- * Padding
807
- * @see https://tailwindcss.com/docs/padding
808
- */
809
- p: [{
810
- p: [N]
811
- }],
812
- /**
813
- * Padding X
814
- * @see https://tailwindcss.com/docs/padding
815
- */
816
- px: [{
817
- px: [N]
818
- }],
819
- /**
820
- * Padding Y
821
- * @see https://tailwindcss.com/docs/padding
822
- */
823
- py: [{
824
- py: [N]
825
- }],
826
- /**
827
- * Padding Start
828
- * @see https://tailwindcss.com/docs/padding
829
- */
830
- ps: [{
831
- ps: [N]
832
- }],
833
- /**
834
- * Padding End
835
- * @see https://tailwindcss.com/docs/padding
836
- */
837
- pe: [{
838
- pe: [N]
839
- }],
840
- /**
841
- * Padding Top
842
- * @see https://tailwindcss.com/docs/padding
843
- */
844
- pt: [{
845
- pt: [N]
846
- }],
847
- /**
848
- * Padding Right
849
- * @see https://tailwindcss.com/docs/padding
850
- */
851
- pr: [{
852
- pr: [N]
853
- }],
854
- /**
855
- * Padding Bottom
856
- * @see https://tailwindcss.com/docs/padding
857
- */
858
- pb: [{
859
- pb: [N]
860
- }],
861
- /**
862
- * Padding Left
863
- * @see https://tailwindcss.com/docs/padding
864
- */
865
- pl: [{
866
- pl: [N]
867
- }],
868
- /**
869
- * Margin
870
- * @see https://tailwindcss.com/docs/margin
871
- */
872
- m: [{
873
- m: [f]
874
- }],
875
- /**
876
- * Margin X
877
- * @see https://tailwindcss.com/docs/margin
878
- */
879
- mx: [{
880
- mx: [f]
881
- }],
882
- /**
883
- * Margin Y
884
- * @see https://tailwindcss.com/docs/margin
885
- */
886
- my: [{
887
- my: [f]
888
- }],
889
- /**
890
- * Margin Start
891
- * @see https://tailwindcss.com/docs/margin
892
- */
893
- ms: [{
894
- ms: [f]
895
- }],
896
- /**
897
- * Margin End
898
- * @see https://tailwindcss.com/docs/margin
899
- */
900
- me: [{
901
- me: [f]
902
- }],
903
- /**
904
- * Margin Top
905
- * @see https://tailwindcss.com/docs/margin
906
- */
907
- mt: [{
908
- mt: [f]
909
- }],
910
- /**
911
- * Margin Right
912
- * @see https://tailwindcss.com/docs/margin
913
- */
914
- mr: [{
915
- mr: [f]
916
- }],
917
- /**
918
- * Margin Bottom
919
- * @see https://tailwindcss.com/docs/margin
920
- */
921
- mb: [{
922
- mb: [f]
923
- }],
924
- /**
925
- * Margin Left
926
- * @see https://tailwindcss.com/docs/margin
927
- */
928
- ml: [{
929
- ml: [f]
930
- }],
931
- /**
932
- * Space Between X
933
- * @see https://tailwindcss.com/docs/space
934
- */
935
- "space-x": [{
936
- "space-x": [J]
937
- }],
938
- /**
939
- * Space Between X Reverse
940
- * @see https://tailwindcss.com/docs/space
941
- */
942
- "space-x-reverse": ["space-x-reverse"],
943
- /**
944
- * Space Between Y
945
- * @see https://tailwindcss.com/docs/space
946
- */
947
- "space-y": [{
948
- "space-y": [J]
949
- }],
950
- /**
951
- * Space Between Y Reverse
952
- * @see https://tailwindcss.com/docs/space
953
- */
954
- "space-y-reverse": ["space-y-reverse"],
955
- // Sizing
956
- /**
957
- * Width
958
- * @see https://tailwindcss.com/docs/width
959
- */
960
- w: [{
961
- w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", c, t]
962
- }],
963
- /**
964
- * Min-Width
965
- * @see https://tailwindcss.com/docs/min-width
966
- */
967
- "min-w": [{
968
- "min-w": [c, t, "min", "max", "fit"]
969
- }],
970
- /**
971
- * Max-Width
972
- * @see https://tailwindcss.com/docs/max-width
973
- */
974
- "max-w": [{
975
- "max-w": [c, t, "none", "full", "min", "max", "fit", "prose", {
976
- screen: [G]
977
- }, G]
978
- }],
979
- /**
980
- * Height
981
- * @see https://tailwindcss.com/docs/height
982
- */
983
- h: [{
984
- h: [c, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
985
- }],
986
- /**
987
- * Min-Height
988
- * @see https://tailwindcss.com/docs/min-height
989
- */
990
- "min-h": [{
991
- "min-h": [c, t, "min", "max", "fit", "svh", "lvh", "dvh"]
992
- }],
993
- /**
994
- * Max-Height
995
- * @see https://tailwindcss.com/docs/max-height
996
- */
997
- "max-h": [{
998
- "max-h": [c, t, "min", "max", "fit", "svh", "lvh", "dvh"]
999
- }],
1000
- /**
1001
- * Size
1002
- * @see https://tailwindcss.com/docs/size
1003
- */
1004
- size: [{
1005
- size: [c, t, "auto", "min", "max", "fit"]
1006
- }],
1007
- // Typography
1008
- /**
1009
- * Font Size
1010
- * @see https://tailwindcss.com/docs/font-size
1011
- */
1012
- "font-size": [{
1013
- text: ["base", G, L]
1014
- }],
1015
- /**
1016
- * Font Smoothing
1017
- * @see https://tailwindcss.com/docs/font-smoothing
1018
- */
1019
- "font-smoothing": ["antialiased", "subpixel-antialiased"],
1020
- /**
1021
- * Font Style
1022
- * @see https://tailwindcss.com/docs/font-style
1023
- */
1024
- "font-style": ["italic", "not-italic"],
1025
- /**
1026
- * Font Weight
1027
- * @see https://tailwindcss.com/docs/font-weight
1028
- */
1029
- "font-weight": [{
1030
- font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", Q]
1031
- }],
1032
- /**
1033
- * Font Family
1034
- * @see https://tailwindcss.com/docs/font-family
1035
- */
1036
- "font-family": [{
1037
- font: [D]
1038
- }],
1039
- /**
1040
- * Font Variant Numeric
1041
- * @see https://tailwindcss.com/docs/font-variant-numeric
1042
- */
1043
- "fvn-normal": ["normal-nums"],
1044
- /**
1045
- * Font Variant Numeric
1046
- * @see https://tailwindcss.com/docs/font-variant-numeric
1047
- */
1048
- "fvn-ordinal": ["ordinal"],
1049
- /**
1050
- * Font Variant Numeric
1051
- * @see https://tailwindcss.com/docs/font-variant-numeric
1052
- */
1053
- "fvn-slashed-zero": ["slashed-zero"],
1054
- /**
1055
- * Font Variant Numeric
1056
- * @see https://tailwindcss.com/docs/font-variant-numeric
1057
- */
1058
- "fvn-figure": ["lining-nums", "oldstyle-nums"],
1059
- /**
1060
- * Font Variant Numeric
1061
- * @see https://tailwindcss.com/docs/font-variant-numeric
1062
- */
1063
- "fvn-spacing": ["proportional-nums", "tabular-nums"],
1064
- /**
1065
- * Font Variant Numeric
1066
- * @see https://tailwindcss.com/docs/font-variant-numeric
1067
- */
1068
- "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1069
- /**
1070
- * Letter Spacing
1071
- * @see https://tailwindcss.com/docs/letter-spacing
1072
- */
1073
- tracking: [{
1074
- tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", c]
1075
- }],
1076
- /**
1077
- * Line Clamp
1078
- * @see https://tailwindcss.com/docs/line-clamp
1079
- */
1080
- "line-clamp": [{
1081
- "line-clamp": ["none", F, Q]
1082
- }],
1083
- /**
1084
- * Line Height
1085
- * @see https://tailwindcss.com/docs/line-height
1086
- */
1087
- leading: [{
1088
- leading: ["none", "tight", "snug", "normal", "relaxed", "loose", j, c]
1089
- }],
1090
- /**
1091
- * List Style Image
1092
- * @see https://tailwindcss.com/docs/list-style-image
1093
- */
1094
- "list-image": [{
1095
- "list-image": ["none", c]
1096
- }],
1097
- /**
1098
- * List Style Type
1099
- * @see https://tailwindcss.com/docs/list-style-type
1100
- */
1101
- "list-style-type": [{
1102
- list: ["none", "disc", "decimal", c]
1103
- }],
1104
- /**
1105
- * List Style Position
1106
- * @see https://tailwindcss.com/docs/list-style-position
1107
- */
1108
- "list-style-position": [{
1109
- list: ["inside", "outside"]
1110
- }],
1111
- /**
1112
- * Placeholder Color
1113
- * @deprecated since Tailwind CSS v3.0.0
1114
- * @see https://tailwindcss.com/docs/placeholder-color
1115
- */
1116
- "placeholder-color": [{
1117
- placeholder: [e]
1118
- }],
1119
- /**
1120
- * Placeholder Opacity
1121
- * @see https://tailwindcss.com/docs/placeholder-opacity
1122
- */
1123
- "placeholder-opacity": [{
1124
- "placeholder-opacity": [g]
1125
- }],
1126
- /**
1127
- * Text Alignment
1128
- * @see https://tailwindcss.com/docs/text-align
1129
- */
1130
- "text-alignment": [{
1131
- text: ["left", "center", "right", "justify", "start", "end"]
1132
- }],
1133
- /**
1134
- * Text Color
1135
- * @see https://tailwindcss.com/docs/text-color
1136
- */
1137
- "text-color": [{
1138
- text: [e]
1139
- }],
1140
- /**
1141
- * Text Opacity
1142
- * @see https://tailwindcss.com/docs/text-opacity
1143
- */
1144
- "text-opacity": [{
1145
- "text-opacity": [g]
1146
- }],
1147
- /**
1148
- * Text Decoration
1149
- * @see https://tailwindcss.com/docs/text-decoration
1150
- */
1151
- "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1152
- /**
1153
- * Text Decoration Style
1154
- * @see https://tailwindcss.com/docs/text-decoration-style
1155
- */
1156
- "text-decoration-style": [{
1157
- decoration: [...v(), "wavy"]
1158
- }],
1159
- /**
1160
- * Text Decoration Thickness
1161
- * @see https://tailwindcss.com/docs/text-decoration-thickness
1162
- */
1163
- "text-decoration-thickness": [{
1164
- decoration: ["auto", "from-font", j, L]
1165
- }],
1166
- /**
1167
- * Text Underline Offset
1168
- * @see https://tailwindcss.com/docs/text-underline-offset
1169
- */
1170
- "underline-offset": [{
1171
- "underline-offset": ["auto", j, c]
1172
- }],
1173
- /**
1174
- * Text Decoration Color
1175
- * @see https://tailwindcss.com/docs/text-decoration-color
1176
- */
1177
- "text-decoration-color": [{
1178
- decoration: [e]
1179
- }],
1180
- /**
1181
- * Text Transform
1182
- * @see https://tailwindcss.com/docs/text-transform
1183
- */
1184
- "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1185
- /**
1186
- * Text Overflow
1187
- * @see https://tailwindcss.com/docs/text-overflow
1188
- */
1189
- "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1190
- /**
1191
- * Text Wrap
1192
- * @see https://tailwindcss.com/docs/text-wrap
1193
- */
1194
- "text-wrap": [{
1195
- text: ["wrap", "nowrap", "balance", "pretty"]
1196
- }],
1197
- /**
1198
- * Text Indent
1199
- * @see https://tailwindcss.com/docs/text-indent
1200
- */
1201
- indent: [{
1202
- indent: h()
1203
- }],
1204
- /**
1205
- * Vertical Alignment
1206
- * @see https://tailwindcss.com/docs/vertical-align
1207
- */
1208
- "vertical-align": [{
1209
- align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", c]
1210
- }],
1211
- /**
1212
- * Whitespace
1213
- * @see https://tailwindcss.com/docs/whitespace
1214
- */
1215
- whitespace: [{
1216
- whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1217
- }],
1218
- /**
1219
- * Word Break
1220
- * @see https://tailwindcss.com/docs/word-break
1221
- */
1222
- break: [{
1223
- break: ["normal", "words", "all", "keep"]
1224
- }],
1225
- /**
1226
- * Hyphens
1227
- * @see https://tailwindcss.com/docs/hyphens
1228
- */
1229
- hyphens: [{
1230
- hyphens: ["none", "manual", "auto"]
1231
- }],
1232
- /**
1233
- * Content
1234
- * @see https://tailwindcss.com/docs/content
1235
- */
1236
- content: [{
1237
- content: ["none", c]
1238
- }],
1239
- // Backgrounds
1240
- /**
1241
- * Background Attachment
1242
- * @see https://tailwindcss.com/docs/background-attachment
1243
- */
1244
- "bg-attachment": [{
1245
- bg: ["fixed", "local", "scroll"]
1246
- }],
1247
- /**
1248
- * Background Clip
1249
- * @see https://tailwindcss.com/docs/background-clip
1250
- */
1251
- "bg-clip": [{
1252
- "bg-clip": ["border", "padding", "content", "text"]
1253
- }],
1254
- /**
1255
- * Background Opacity
1256
- * @deprecated since Tailwind CSS v3.0.0
1257
- * @see https://tailwindcss.com/docs/background-opacity
1258
- */
1259
- "bg-opacity": [{
1260
- "bg-opacity": [g]
1261
- }],
1262
- /**
1263
- * Background Origin
1264
- * @see https://tailwindcss.com/docs/background-origin
1265
- */
1266
- "bg-origin": [{
1267
- "bg-origin": ["border", "padding", "content"]
1268
- }],
1269
- /**
1270
- * Background Position
1271
- * @see https://tailwindcss.com/docs/background-position
1272
- */
1273
- "bg-position": [{
1274
- bg: [...x(), it]
1275
- }],
1276
- /**
1277
- * Background Repeat
1278
- * @see https://tailwindcss.com/docs/background-repeat
1279
- */
1280
- "bg-repeat": [{
1281
- bg: ["no-repeat", {
1282
- repeat: ["", "x", "y", "round", "space"]
1283
- }]
1284
- }],
1285
- /**
1286
- * Background Size
1287
- * @see https://tailwindcss.com/docs/background-size
1288
- */
1289
- "bg-size": [{
1290
- bg: ["auto", "cover", "contain", at]
1291
- }],
1292
- /**
1293
- * Background Image
1294
- * @see https://tailwindcss.com/docs/background-image
1295
- */
1296
- "bg-image": [{
1297
- bg: ["none", {
1298
- "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1299
- }, ct]
1300
- }],
1301
- /**
1302
- * Background Color
1303
- * @see https://tailwindcss.com/docs/background-color
1304
- */
1305
- "bg-color": [{
1306
- bg: [e]
1307
- }],
1308
- /**
1309
- * Gradient Color Stops From Position
1310
- * @see https://tailwindcss.com/docs/gradient-color-stops
1311
- */
1312
- "gradient-from-pos": [{
1313
- from: [z]
1314
- }],
1315
- /**
1316
- * Gradient Color Stops Via Position
1317
- * @see https://tailwindcss.com/docs/gradient-color-stops
1318
- */
1319
- "gradient-via-pos": [{
1320
- via: [z]
1321
- }],
1322
- /**
1323
- * Gradient Color Stops To Position
1324
- * @see https://tailwindcss.com/docs/gradient-color-stops
1325
- */
1326
- "gradient-to-pos": [{
1327
- to: [z]
1328
- }],
1329
- /**
1330
- * Gradient Color Stops From
1331
- * @see https://tailwindcss.com/docs/gradient-color-stops
1332
- */
1333
- "gradient-from": [{
1334
- from: [A]
1335
- }],
1336
- /**
1337
- * Gradient Color Stops Via
1338
- * @see https://tailwindcss.com/docs/gradient-color-stops
1339
- */
1340
- "gradient-via": [{
1341
- via: [A]
1342
- }],
1343
- /**
1344
- * Gradient Color Stops To
1345
- * @see https://tailwindcss.com/docs/gradient-color-stops
1346
- */
1347
- "gradient-to": [{
1348
- to: [A]
1349
- }],
1350
- // Borders
1351
- /**
1352
- * Border Radius
1353
- * @see https://tailwindcss.com/docs/border-radius
1354
- */
1355
- rounded: [{
1356
- rounded: [s]
1357
- }],
1358
- /**
1359
- * Border Radius Start
1360
- * @see https://tailwindcss.com/docs/border-radius
1361
- */
1362
- "rounded-s": [{
1363
- "rounded-s": [s]
1364
- }],
1365
- /**
1366
- * Border Radius End
1367
- * @see https://tailwindcss.com/docs/border-radius
1368
- */
1369
- "rounded-e": [{
1370
- "rounded-e": [s]
1371
- }],
1372
- /**
1373
- * Border Radius Top
1374
- * @see https://tailwindcss.com/docs/border-radius
1375
- */
1376
- "rounded-t": [{
1377
- "rounded-t": [s]
1378
- }],
1379
- /**
1380
- * Border Radius Right
1381
- * @see https://tailwindcss.com/docs/border-radius
1382
- */
1383
- "rounded-r": [{
1384
- "rounded-r": [s]
1385
- }],
1386
- /**
1387
- * Border Radius Bottom
1388
- * @see https://tailwindcss.com/docs/border-radius
1389
- */
1390
- "rounded-b": [{
1391
- "rounded-b": [s]
1392
- }],
1393
- /**
1394
- * Border Radius Left
1395
- * @see https://tailwindcss.com/docs/border-radius
1396
- */
1397
- "rounded-l": [{
1398
- "rounded-l": [s]
1399
- }],
1400
- /**
1401
- * Border Radius Start Start
1402
- * @see https://tailwindcss.com/docs/border-radius
1403
- */
1404
- "rounded-ss": [{
1405
- "rounded-ss": [s]
1406
- }],
1407
- /**
1408
- * Border Radius Start End
1409
- * @see https://tailwindcss.com/docs/border-radius
1410
- */
1411
- "rounded-se": [{
1412
- "rounded-se": [s]
1413
- }],
1414
- /**
1415
- * Border Radius End End
1416
- * @see https://tailwindcss.com/docs/border-radius
1417
- */
1418
- "rounded-ee": [{
1419
- "rounded-ee": [s]
1420
- }],
1421
- /**
1422
- * Border Radius End Start
1423
- * @see https://tailwindcss.com/docs/border-radius
1424
- */
1425
- "rounded-es": [{
1426
- "rounded-es": [s]
1427
- }],
1428
- /**
1429
- * Border Radius Top Left
1430
- * @see https://tailwindcss.com/docs/border-radius
1431
- */
1432
- "rounded-tl": [{
1433
- "rounded-tl": [s]
1434
- }],
1435
- /**
1436
- * Border Radius Top Right
1437
- * @see https://tailwindcss.com/docs/border-radius
1438
- */
1439
- "rounded-tr": [{
1440
- "rounded-tr": [s]
1441
- }],
1442
- /**
1443
- * Border Radius Bottom Right
1444
- * @see https://tailwindcss.com/docs/border-radius
1445
- */
1446
- "rounded-br": [{
1447
- "rounded-br": [s]
1448
- }],
1449
- /**
1450
- * Border Radius Bottom Left
1451
- * @see https://tailwindcss.com/docs/border-radius
1452
- */
1453
- "rounded-bl": [{
1454
- "rounded-bl": [s]
1455
- }],
1456
- /**
1457
- * Border Width
1458
- * @see https://tailwindcss.com/docs/border-width
1459
- */
1460
- "border-w": [{
1461
- border: [a]
1462
- }],
1463
- /**
1464
- * Border Width X
1465
- * @see https://tailwindcss.com/docs/border-width
1466
- */
1467
- "border-w-x": [{
1468
- "border-x": [a]
1469
- }],
1470
- /**
1471
- * Border Width Y
1472
- * @see https://tailwindcss.com/docs/border-width
1473
- */
1474
- "border-w-y": [{
1475
- "border-y": [a]
1476
- }],
1477
- /**
1478
- * Border Width Start
1479
- * @see https://tailwindcss.com/docs/border-width
1480
- */
1481
- "border-w-s": [{
1482
- "border-s": [a]
1483
- }],
1484
- /**
1485
- * Border Width End
1486
- * @see https://tailwindcss.com/docs/border-width
1487
- */
1488
- "border-w-e": [{
1489
- "border-e": [a]
1490
- }],
1491
- /**
1492
- * Border Width Top
1493
- * @see https://tailwindcss.com/docs/border-width
1494
- */
1495
- "border-w-t": [{
1496
- "border-t": [a]
1497
- }],
1498
- /**
1499
- * Border Width Right
1500
- * @see https://tailwindcss.com/docs/border-width
1501
- */
1502
- "border-w-r": [{
1503
- "border-r": [a]
1504
- }],
1505
- /**
1506
- * Border Width Bottom
1507
- * @see https://tailwindcss.com/docs/border-width
1508
- */
1509
- "border-w-b": [{
1510
- "border-b": [a]
1511
- }],
1512
- /**
1513
- * Border Width Left
1514
- * @see https://tailwindcss.com/docs/border-width
1515
- */
1516
- "border-w-l": [{
1517
- "border-l": [a]
1518
- }],
1519
- /**
1520
- * Border Opacity
1521
- * @see https://tailwindcss.com/docs/border-opacity
1522
- */
1523
- "border-opacity": [{
1524
- "border-opacity": [g]
1525
- }],
1526
- /**
1527
- * Border Style
1528
- * @see https://tailwindcss.com/docs/border-style
1529
- */
1530
- "border-style": [{
1531
- border: [...v(), "hidden"]
1532
- }],
1533
- /**
1534
- * Divide Width X
1535
- * @see https://tailwindcss.com/docs/divide-width
1536
- */
1537
- "divide-x": [{
1538
- "divide-x": [a]
1539
- }],
1540
- /**
1541
- * Divide Width X Reverse
1542
- * @see https://tailwindcss.com/docs/divide-width
1543
- */
1544
- "divide-x-reverse": ["divide-x-reverse"],
1545
- /**
1546
- * Divide Width Y
1547
- * @see https://tailwindcss.com/docs/divide-width
1548
- */
1549
- "divide-y": [{
1550
- "divide-y": [a]
1551
- }],
1552
- /**
1553
- * Divide Width Y Reverse
1554
- * @see https://tailwindcss.com/docs/divide-width
1555
- */
1556
- "divide-y-reverse": ["divide-y-reverse"],
1557
- /**
1558
- * Divide Opacity
1559
- * @see https://tailwindcss.com/docs/divide-opacity
1560
- */
1561
- "divide-opacity": [{
1562
- "divide-opacity": [g]
1563
- }],
1564
- /**
1565
- * Divide Style
1566
- * @see https://tailwindcss.com/docs/divide-style
1567
- */
1568
- "divide-style": [{
1569
- divide: v()
1570
- }],
1571
- /**
1572
- * Border Color
1573
- * @see https://tailwindcss.com/docs/border-color
1574
- */
1575
- "border-color": [{
1576
- border: [n]
1577
- }],
1578
- /**
1579
- * Border Color X
1580
- * @see https://tailwindcss.com/docs/border-color
1581
- */
1582
- "border-color-x": [{
1583
- "border-x": [n]
1584
- }],
1585
- /**
1586
- * Border Color Y
1587
- * @see https://tailwindcss.com/docs/border-color
1588
- */
1589
- "border-color-y": [{
1590
- "border-y": [n]
1591
- }],
1592
- /**
1593
- * Border Color S
1594
- * @see https://tailwindcss.com/docs/border-color
1595
- */
1596
- "border-color-s": [{
1597
- "border-s": [n]
1598
- }],
1599
- /**
1600
- * Border Color E
1601
- * @see https://tailwindcss.com/docs/border-color
1602
- */
1603
- "border-color-e": [{
1604
- "border-e": [n]
1605
- }],
1606
- /**
1607
- * Border Color Top
1608
- * @see https://tailwindcss.com/docs/border-color
1609
- */
1610
- "border-color-t": [{
1611
- "border-t": [n]
1612
- }],
1613
- /**
1614
- * Border Color Right
1615
- * @see https://tailwindcss.com/docs/border-color
1616
- */
1617
- "border-color-r": [{
1618
- "border-r": [n]
1619
- }],
1620
- /**
1621
- * Border Color Bottom
1622
- * @see https://tailwindcss.com/docs/border-color
1623
- */
1624
- "border-color-b": [{
1625
- "border-b": [n]
1626
- }],
1627
- /**
1628
- * Border Color Left
1629
- * @see https://tailwindcss.com/docs/border-color
1630
- */
1631
- "border-color-l": [{
1632
- "border-l": [n]
1633
- }],
1634
- /**
1635
- * Divide Color
1636
- * @see https://tailwindcss.com/docs/divide-color
1637
- */
1638
- "divide-color": [{
1639
- divide: [n]
1640
- }],
1641
- /**
1642
- * Outline Style
1643
- * @see https://tailwindcss.com/docs/outline-style
1644
- */
1645
- "outline-style": [{
1646
- outline: ["", ...v()]
1647
- }],
1648
- /**
1649
- * Outline Offset
1650
- * @see https://tailwindcss.com/docs/outline-offset
1651
- */
1652
- "outline-offset": [{
1653
- "outline-offset": [j, c]
1654
- }],
1655
- /**
1656
- * Outline Width
1657
- * @see https://tailwindcss.com/docs/outline-width
1658
- */
1659
- "outline-w": [{
1660
- outline: [j, L]
1661
- }],
1662
- /**
1663
- * Outline Color
1664
- * @see https://tailwindcss.com/docs/outline-color
1665
- */
1666
- "outline-color": [{
1667
- outline: [e]
1668
- }],
1669
- /**
1670
- * Ring Width
1671
- * @see https://tailwindcss.com/docs/ring-width
1672
- */
1673
- "ring-w": [{
1674
- ring: q()
1675
- }],
1676
- /**
1677
- * Ring Width Inset
1678
- * @see https://tailwindcss.com/docs/ring-width
1679
- */
1680
- "ring-w-inset": ["ring-inset"],
1681
- /**
1682
- * Ring Color
1683
- * @see https://tailwindcss.com/docs/ring-color
1684
- */
1685
- "ring-color": [{
1686
- ring: [e]
1687
- }],
1688
- /**
1689
- * Ring Opacity
1690
- * @see https://tailwindcss.com/docs/ring-opacity
1691
- */
1692
- "ring-opacity": [{
1693
- "ring-opacity": [g]
1694
- }],
1695
- /**
1696
- * Ring Offset Width
1697
- * @see https://tailwindcss.com/docs/ring-offset-width
1698
- */
1699
- "ring-offset-w": [{
1700
- "ring-offset": [j, L]
1701
- }],
1702
- /**
1703
- * Ring Offset Color
1704
- * @see https://tailwindcss.com/docs/ring-offset-color
1705
- */
1706
- "ring-offset-color": [{
1707
- "ring-offset": [e]
1708
- }],
1709
- // Effects
1710
- /**
1711
- * Box Shadow
1712
- * @see https://tailwindcss.com/docs/box-shadow
1713
- */
1714
- shadow: [{
1715
- shadow: ["", "inner", "none", G, dt]
1716
- }],
1717
- /**
1718
- * Box Shadow Color
1719
- * @see https://tailwindcss.com/docs/box-shadow-color
1720
- */
1721
- "shadow-color": [{
1722
- shadow: [D]
1723
- }],
1724
- /**
1725
- * Opacity
1726
- * @see https://tailwindcss.com/docs/opacity
1727
- */
1728
- opacity: [{
1729
- opacity: [g]
1730
- }],
1731
- /**
1732
- * Mix Blend Mode
1733
- * @see https://tailwindcss.com/docs/mix-blend-mode
1734
- */
1735
- "mix-blend": [{
1736
- "mix-blend": [...S(), "plus-lighter", "plus-darker"]
1737
- }],
1738
- /**
1739
- * Background Blend Mode
1740
- * @see https://tailwindcss.com/docs/background-blend-mode
1741
- */
1742
- "bg-blend": [{
1743
- "bg-blend": S()
1744
- }],
1745
- // Filters
1746
- /**
1747
- * Filter
1748
- * @deprecated since Tailwind CSS v3.0.0
1749
- * @see https://tailwindcss.com/docs/filter
1750
- */
1751
- filter: [{
1752
- filter: ["", "none"]
1753
- }],
1754
- /**
1755
- * Blur
1756
- * @see https://tailwindcss.com/docs/blur
1757
- */
1758
- blur: [{
1759
- blur: [r]
1760
- }],
1761
- /**
1762
- * Brightness
1763
- * @see https://tailwindcss.com/docs/brightness
1764
- */
1765
- brightness: [{
1766
- brightness: [o]
1767
- }],
1768
- /**
1769
- * Contrast
1770
- * @see https://tailwindcss.com/docs/contrast
1771
- */
1772
- contrast: [{
1773
- contrast: [u]
1774
- }],
1775
- /**
1776
- * Drop Shadow
1777
- * @see https://tailwindcss.com/docs/drop-shadow
1778
- */
1779
- "drop-shadow": [{
1780
- "drop-shadow": ["", "none", G, c]
1781
- }],
1782
- /**
1783
- * Grayscale
1784
- * @see https://tailwindcss.com/docs/grayscale
1785
- */
1786
- grayscale: [{
1787
- grayscale: [d]
1788
- }],
1789
- /**
1790
- * Hue Rotate
1791
- * @see https://tailwindcss.com/docs/hue-rotate
1792
- */
1793
- "hue-rotate": [{
1794
- "hue-rotate": [b]
1795
- }],
1796
- /**
1797
- * Invert
1798
- * @see https://tailwindcss.com/docs/invert
1799
- */
1800
- invert: [{
1801
- invert: [w]
1802
- }],
1803
- /**
1804
- * Saturate
1805
- * @see https://tailwindcss.com/docs/saturate
1806
- */
1807
- saturate: [{
1808
- saturate: [$]
1809
- }],
1810
- /**
1811
- * Sepia
1812
- * @see https://tailwindcss.com/docs/sepia
1813
- */
1814
- sepia: [{
1815
- sepia: [T]
1816
- }],
1817
- /**
1818
- * Backdrop Filter
1819
- * @deprecated since Tailwind CSS v3.0.0
1820
- * @see https://tailwindcss.com/docs/backdrop-filter
1821
- */
1822
- "backdrop-filter": [{
1823
- "backdrop-filter": ["", "none"]
1824
- }],
1825
- /**
1826
- * Backdrop Blur
1827
- * @see https://tailwindcss.com/docs/backdrop-blur
1828
- */
1829
- "backdrop-blur": [{
1830
- "backdrop-blur": [r]
1831
- }],
1832
- /**
1833
- * Backdrop Brightness
1834
- * @see https://tailwindcss.com/docs/backdrop-brightness
1835
- */
1836
- "backdrop-brightness": [{
1837
- "backdrop-brightness": [o]
1838
- }],
1839
- /**
1840
- * Backdrop Contrast
1841
- * @see https://tailwindcss.com/docs/backdrop-contrast
1842
- */
1843
- "backdrop-contrast": [{
1844
- "backdrop-contrast": [u]
1845
- }],
1846
- /**
1847
- * Backdrop Grayscale
1848
- * @see https://tailwindcss.com/docs/backdrop-grayscale
1849
- */
1850
- "backdrop-grayscale": [{
1851
- "backdrop-grayscale": [d]
1852
- }],
1853
- /**
1854
- * Backdrop Hue Rotate
1855
- * @see https://tailwindcss.com/docs/backdrop-hue-rotate
1856
- */
1857
- "backdrop-hue-rotate": [{
1858
- "backdrop-hue-rotate": [b]
1859
- }],
1860
- /**
1861
- * Backdrop Invert
1862
- * @see https://tailwindcss.com/docs/backdrop-invert
1863
- */
1864
- "backdrop-invert": [{
1865
- "backdrop-invert": [w]
1866
- }],
1867
- /**
1868
- * Backdrop Opacity
1869
- * @see https://tailwindcss.com/docs/backdrop-opacity
1870
- */
1871
- "backdrop-opacity": [{
1872
- "backdrop-opacity": [g]
1873
- }],
1874
- /**
1875
- * Backdrop Saturate
1876
- * @see https://tailwindcss.com/docs/backdrop-saturate
1877
- */
1878
- "backdrop-saturate": [{
1879
- "backdrop-saturate": [$]
1880
- }],
1881
- /**
1882
- * Backdrop Sepia
1883
- * @see https://tailwindcss.com/docs/backdrop-sepia
1884
- */
1885
- "backdrop-sepia": [{
1886
- "backdrop-sepia": [T]
1887
- }],
1888
- // Tables
1889
- /**
1890
- * Border Collapse
1891
- * @see https://tailwindcss.com/docs/border-collapse
1892
- */
1893
- "border-collapse": [{
1894
- border: ["collapse", "separate"]
1895
- }],
1896
- /**
1897
- * Border Spacing
1898
- * @see https://tailwindcss.com/docs/border-spacing
1899
- */
1900
- "border-spacing": [{
1901
- "border-spacing": [l]
1902
- }],
1903
- /**
1904
- * Border Spacing X
1905
- * @see https://tailwindcss.com/docs/border-spacing
1906
- */
1907
- "border-spacing-x": [{
1908
- "border-spacing-x": [l]
1909
- }],
1910
- /**
1911
- * Border Spacing Y
1912
- * @see https://tailwindcss.com/docs/border-spacing
1913
- */
1914
- "border-spacing-y": [{
1915
- "border-spacing-y": [l]
1916
- }],
1917
- /**
1918
- * Table Layout
1919
- * @see https://tailwindcss.com/docs/table-layout
1920
- */
1921
- "table-layout": [{
1922
- table: ["auto", "fixed"]
1923
- }],
1924
- /**
1925
- * Caption Side
1926
- * @see https://tailwindcss.com/docs/caption-side
1927
- */
1928
- caption: [{
1929
- caption: ["top", "bottom"]
1930
- }],
1931
- // Transitions and Animation
1932
- /**
1933
- * Tranisition Property
1934
- * @see https://tailwindcss.com/docs/transition-property
1935
- */
1936
- transition: [{
1937
- transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", c]
1938
- }],
1939
- /**
1940
- * Transition Duration
1941
- * @see https://tailwindcss.com/docs/transition-duration
1942
- */
1943
- duration: [{
1944
- duration: M()
1945
- }],
1946
- /**
1947
- * Transition Timing Function
1948
- * @see https://tailwindcss.com/docs/transition-timing-function
1949
- */
1950
- ease: [{
1951
- ease: ["linear", "in", "out", "in-out", c]
1952
- }],
1953
- /**
1954
- * Transition Delay
1955
- * @see https://tailwindcss.com/docs/transition-delay
1956
- */
1957
- delay: [{
1958
- delay: M()
1959
- }],
1960
- /**
1961
- * Animation
1962
- * @see https://tailwindcss.com/docs/animation
1963
- */
1964
- animate: [{
1965
- animate: ["none", "spin", "ping", "pulse", "bounce", c]
1966
- }],
1967
- // Transforms
1968
- /**
1969
- * Transform
1970
- * @see https://tailwindcss.com/docs/transform
1971
- */
1972
- transform: [{
1973
- transform: ["", "gpu", "none"]
1974
- }],
1975
- /**
1976
- * Scale
1977
- * @see https://tailwindcss.com/docs/scale
1978
- */
1979
- scale: [{
1980
- scale: [R]
1981
- }],
1982
- /**
1983
- * Scale X
1984
- * @see https://tailwindcss.com/docs/scale
1985
- */
1986
- "scale-x": [{
1987
- "scale-x": [R]
1988
- }],
1989
- /**
1990
- * Scale Y
1991
- * @see https://tailwindcss.com/docs/scale
1992
- */
1993
- "scale-y": [{
1994
- "scale-y": [R]
1995
- }],
1996
- /**
1997
- * Rotate
1998
- * @see https://tailwindcss.com/docs/rotate
1999
- */
2000
- rotate: [{
2001
- rotate: [Z, c]
2002
- }],
2003
- /**
2004
- * Translate X
2005
- * @see https://tailwindcss.com/docs/translate
2006
- */
2007
- "translate-x": [{
2008
- "translate-x": [K]
2009
- }],
2010
- /**
2011
- * Translate Y
2012
- * @see https://tailwindcss.com/docs/translate
2013
- */
2014
- "translate-y": [{
2015
- "translate-y": [K]
2016
- }],
2017
- /**
2018
- * Skew X
2019
- * @see https://tailwindcss.com/docs/skew
2020
- */
2021
- "skew-x": [{
2022
- "skew-x": [P]
2023
- }],
2024
- /**
2025
- * Skew Y
2026
- * @see https://tailwindcss.com/docs/skew
2027
- */
2028
- "skew-y": [{
2029
- "skew-y": [P]
2030
- }],
2031
- /**
2032
- * Transform Origin
2033
- * @see https://tailwindcss.com/docs/transform-origin
2034
- */
2035
- "transform-origin": [{
2036
- origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", c]
2037
- }],
2038
- // Interactivity
2039
- /**
2040
- * Accent Color
2041
- * @see https://tailwindcss.com/docs/accent-color
2042
- */
2043
- accent: [{
2044
- accent: ["auto", e]
2045
- }],
2046
- /**
2047
- * Appearance
2048
- * @see https://tailwindcss.com/docs/appearance
2049
- */
2050
- appearance: [{
2051
- appearance: ["none", "auto"]
2052
- }],
2053
- /**
2054
- * Cursor
2055
- * @see https://tailwindcss.com/docs/cursor
2056
- */
2057
- cursor: [{
2058
- 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]
2059
- }],
2060
- /**
2061
- * Caret Color
2062
- * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2063
- */
2064
- "caret-color": [{
2065
- caret: [e]
2066
- }],
2067
- /**
2068
- * Pointer Events
2069
- * @see https://tailwindcss.com/docs/pointer-events
2070
- */
2071
- "pointer-events": [{
2072
- "pointer-events": ["none", "auto"]
2073
- }],
2074
- /**
2075
- * Resize
2076
- * @see https://tailwindcss.com/docs/resize
2077
- */
2078
- resize: [{
2079
- resize: ["none", "y", "x", ""]
2080
- }],
2081
- /**
2082
- * Scroll Behavior
2083
- * @see https://tailwindcss.com/docs/scroll-behavior
2084
- */
2085
- "scroll-behavior": [{
2086
- scroll: ["auto", "smooth"]
2087
- }],
2088
- /**
2089
- * Scroll Margin
2090
- * @see https://tailwindcss.com/docs/scroll-margin
2091
- */
2092
- "scroll-m": [{
2093
- "scroll-m": h()
2094
- }],
2095
- /**
2096
- * Scroll Margin X
2097
- * @see https://tailwindcss.com/docs/scroll-margin
2098
- */
2099
- "scroll-mx": [{
2100
- "scroll-mx": h()
2101
- }],
2102
- /**
2103
- * Scroll Margin Y
2104
- * @see https://tailwindcss.com/docs/scroll-margin
2105
- */
2106
- "scroll-my": [{
2107
- "scroll-my": h()
2108
- }],
2109
- /**
2110
- * Scroll Margin Start
2111
- * @see https://tailwindcss.com/docs/scroll-margin
2112
- */
2113
- "scroll-ms": [{
2114
- "scroll-ms": h()
2115
- }],
2116
- /**
2117
- * Scroll Margin End
2118
- * @see https://tailwindcss.com/docs/scroll-margin
2119
- */
2120
- "scroll-me": [{
2121
- "scroll-me": h()
2122
- }],
2123
- /**
2124
- * Scroll Margin Top
2125
- * @see https://tailwindcss.com/docs/scroll-margin
2126
- */
2127
- "scroll-mt": [{
2128
- "scroll-mt": h()
2129
- }],
2130
- /**
2131
- * Scroll Margin Right
2132
- * @see https://tailwindcss.com/docs/scroll-margin
2133
- */
2134
- "scroll-mr": [{
2135
- "scroll-mr": h()
2136
- }],
2137
- /**
2138
- * Scroll Margin Bottom
2139
- * @see https://tailwindcss.com/docs/scroll-margin
2140
- */
2141
- "scroll-mb": [{
2142
- "scroll-mb": h()
2143
- }],
2144
- /**
2145
- * Scroll Margin Left
2146
- * @see https://tailwindcss.com/docs/scroll-margin
2147
- */
2148
- "scroll-ml": [{
2149
- "scroll-ml": h()
2150
- }],
2151
- /**
2152
- * Scroll Padding
2153
- * @see https://tailwindcss.com/docs/scroll-padding
2154
- */
2155
- "scroll-p": [{
2156
- "scroll-p": h()
2157
- }],
2158
- /**
2159
- * Scroll Padding X
2160
- * @see https://tailwindcss.com/docs/scroll-padding
2161
- */
2162
- "scroll-px": [{
2163
- "scroll-px": h()
2164
- }],
2165
- /**
2166
- * Scroll Padding Y
2167
- * @see https://tailwindcss.com/docs/scroll-padding
2168
- */
2169
- "scroll-py": [{
2170
- "scroll-py": h()
2171
- }],
2172
- /**
2173
- * Scroll Padding Start
2174
- * @see https://tailwindcss.com/docs/scroll-padding
2175
- */
2176
- "scroll-ps": [{
2177
- "scroll-ps": h()
2178
- }],
2179
- /**
2180
- * Scroll Padding End
2181
- * @see https://tailwindcss.com/docs/scroll-padding
2182
- */
2183
- "scroll-pe": [{
2184
- "scroll-pe": h()
2185
- }],
2186
- /**
2187
- * Scroll Padding Top
2188
- * @see https://tailwindcss.com/docs/scroll-padding
2189
- */
2190
- "scroll-pt": [{
2191
- "scroll-pt": h()
2192
- }],
2193
- /**
2194
- * Scroll Padding Right
2195
- * @see https://tailwindcss.com/docs/scroll-padding
2196
- */
2197
- "scroll-pr": [{
2198
- "scroll-pr": h()
2199
- }],
2200
- /**
2201
- * Scroll Padding Bottom
2202
- * @see https://tailwindcss.com/docs/scroll-padding
2203
- */
2204
- "scroll-pb": [{
2205
- "scroll-pb": h()
2206
- }],
2207
- /**
2208
- * Scroll Padding Left
2209
- * @see https://tailwindcss.com/docs/scroll-padding
2210
- */
2211
- "scroll-pl": [{
2212
- "scroll-pl": h()
2213
- }],
2214
- /**
2215
- * Scroll Snap Align
2216
- * @see https://tailwindcss.com/docs/scroll-snap-align
2217
- */
2218
- "snap-align": [{
2219
- snap: ["start", "end", "center", "align-none"]
2220
- }],
2221
- /**
2222
- * Scroll Snap Stop
2223
- * @see https://tailwindcss.com/docs/scroll-snap-stop
2224
- */
2225
- "snap-stop": [{
2226
- snap: ["normal", "always"]
2227
- }],
2228
- /**
2229
- * Scroll Snap Type
2230
- * @see https://tailwindcss.com/docs/scroll-snap-type
2231
- */
2232
- "snap-type": [{
2233
- snap: ["none", "x", "y", "both"]
2234
- }],
2235
- /**
2236
- * Scroll Snap Type Strictness
2237
- * @see https://tailwindcss.com/docs/scroll-snap-type
2238
- */
2239
- "snap-strictness": [{
2240
- snap: ["mandatory", "proximity"]
2241
- }],
2242
- /**
2243
- * Touch Action
2244
- * @see https://tailwindcss.com/docs/touch-action
2245
- */
2246
- touch: [{
2247
- touch: ["auto", "none", "manipulation"]
2248
- }],
2249
- /**
2250
- * Touch Action X
2251
- * @see https://tailwindcss.com/docs/touch-action
2252
- */
2253
- "touch-x": [{
2254
- "touch-pan": ["x", "left", "right"]
2255
- }],
2256
- /**
2257
- * Touch Action Y
2258
- * @see https://tailwindcss.com/docs/touch-action
2259
- */
2260
- "touch-y": [{
2261
- "touch-pan": ["y", "up", "down"]
2262
- }],
2263
- /**
2264
- * Touch Action Pinch Zoom
2265
- * @see https://tailwindcss.com/docs/touch-action
2266
- */
2267
- "touch-pz": ["touch-pinch-zoom"],
2268
- /**
2269
- * User Select
2270
- * @see https://tailwindcss.com/docs/user-select
2271
- */
2272
- select: [{
2273
- select: ["none", "text", "all", "auto"]
2274
- }],
2275
- /**
2276
- * Will Change
2277
- * @see https://tailwindcss.com/docs/will-change
2278
- */
2279
- "will-change": [{
2280
- "will-change": ["auto", "scroll", "contents", "transform", c]
2281
- }],
2282
- // SVG
2283
- /**
2284
- * Fill
2285
- * @see https://tailwindcss.com/docs/fill
2286
- */
2287
- fill: [{
2288
- fill: [e, "none"]
2289
- }],
2290
- /**
2291
- * Stroke Width
2292
- * @see https://tailwindcss.com/docs/stroke-width
2293
- */
2294
- "stroke-w": [{
2295
- stroke: [j, L, Q]
2296
- }],
2297
- /**
2298
- * Stroke
2299
- * @see https://tailwindcss.com/docs/stroke
2300
- */
2301
- stroke: [{
2302
- stroke: [e, "none"]
2303
- }],
2304
- // Accessibility
2305
- /**
2306
- * Screen Readers
2307
- * @see https://tailwindcss.com/docs/screen-readers
2308
- */
2309
- sr: ["sr-only", "not-sr-only"],
2310
- /**
2311
- * Forced Color Adjust
2312
- * @see https://tailwindcss.com/docs/forced-color-adjust
2313
- */
2314
- "forced-color-adjust": [{
2315
- "forced-color-adjust": ["auto", "none"]
2316
- }]
2317
- },
2318
- conflictingClassGroups: {
2319
- overflow: ["overflow-x", "overflow-y"],
2320
- overscroll: ["overscroll-x", "overscroll-y"],
2321
- inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
2322
- "inset-x": ["right", "left"],
2323
- "inset-y": ["top", "bottom"],
2324
- flex: ["basis", "grow", "shrink"],
2325
- gap: ["gap-x", "gap-y"],
2326
- p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
2327
- px: ["pr", "pl"],
2328
- py: ["pt", "pb"],
2329
- m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
2330
- mx: ["mr", "ml"],
2331
- my: ["mt", "mb"],
2332
- size: ["w", "h"],
2333
- "font-size": ["leading"],
2334
- "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2335
- "fvn-ordinal": ["fvn-normal"],
2336
- "fvn-slashed-zero": ["fvn-normal"],
2337
- "fvn-figure": ["fvn-normal"],
2338
- "fvn-spacing": ["fvn-normal"],
2339
- "fvn-fraction": ["fvn-normal"],
2340
- "line-clamp": ["display", "overflow"],
2341
- 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"],
2342
- "rounded-s": ["rounded-ss", "rounded-es"],
2343
- "rounded-e": ["rounded-se", "rounded-ee"],
2344
- "rounded-t": ["rounded-tl", "rounded-tr"],
2345
- "rounded-r": ["rounded-tr", "rounded-br"],
2346
- "rounded-b": ["rounded-br", "rounded-bl"],
2347
- "rounded-l": ["rounded-tl", "rounded-bl"],
2348
- "border-spacing": ["border-spacing-x", "border-spacing-y"],
2349
- "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2350
- "border-w-x": ["border-w-r", "border-w-l"],
2351
- "border-w-y": ["border-w-t", "border-w-b"],
2352
- "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2353
- "border-color-x": ["border-color-r", "border-color-l"],
2354
- "border-color-y": ["border-color-t", "border-color-b"],
2355
- "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
2356
- "scroll-mx": ["scroll-mr", "scroll-ml"],
2357
- "scroll-my": ["scroll-mt", "scroll-mb"],
2358
- "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
2359
- "scroll-px": ["scroll-pr", "scroll-pl"],
2360
- "scroll-py": ["scroll-pt", "scroll-pb"],
2361
- touch: ["touch-x", "touch-y", "touch-pz"],
2362
- "touch-x": ["touch"],
2363
- "touch-y": ["touch"],
2364
- "touch-pz": ["touch"]
2365
- },
2366
- conflictingClassGroupModifiers: {
2367
- "font-size": ["leading"]
2368
- }
2369
- };
2370
- }, ft = /* @__PURE__ */ Ke(mt);
2371
- function I(...e) {
2372
- return ft(Ce(e));
2373
- }
2374
- const bt = ae(
2375
- "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",
2376
- {
2377
- variants: {
2378
- variant: {
2379
- default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
2380
- 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",
2381
- 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",
2382
- secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
2383
- ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
2384
- link: "text-primary underline-offset-4 hover:underline"
2385
- },
2386
- size: {
2387
- default: "h-9 px-4 py-2 has-[>svg]:px-3",
2388
- sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
2389
- lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
2390
- icon: "size-9"
2391
- }
2392
- },
2393
- defaultVariants: {
2394
- variant: "default",
2395
- size: "default"
2396
- }
2397
- }
2398
- );
2399
- function fe({
2400
- className: e,
2401
- variant: t,
2402
- size: r,
2403
- asChild: o = !1,
2404
- ...n
2405
- }) {
2406
- return /* @__PURE__ */ i(
2407
- o ? xe : "button",
2408
- {
2409
- "data-slot": "button",
2410
- className: I(bt({ variant: t, size: r, className: e })),
2411
- ...n
2412
- }
2413
- );
2414
- }
2415
- const X = _.forwardRef(
2416
- ({ className: e, type: t, ...r }, o) => /* @__PURE__ */ i(
2417
- "input",
2418
- {
2419
- type: t,
2420
- className: I(
2421
- "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
2422
- e
2423
- ),
2424
- ref: o,
2425
- ...r
2426
- }
2427
- )
2428
- );
2429
- X.displayName = "Input";
2430
- var ht = [
2431
- "a",
2432
- "button",
2433
- "div",
2434
- "form",
2435
- "h2",
2436
- "h3",
2437
- "img",
2438
- "input",
2439
- "label",
2440
- "li",
2441
- "nav",
2442
- "ol",
2443
- "p",
2444
- "select",
2445
- "span",
2446
- "svg",
2447
- "ul"
2448
- ], vt = ht.reduce((e, t) => {
2449
- const r = /* @__PURE__ */ ye(`Primitive.${t}`), o = _.forwardRef((n, s) => {
2450
- const { asChild: l, ...a } = n, u = l ? r : t;
2451
- return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ i(u, { ...a, ref: s });
2452
- });
2453
- return o.displayName = `Primitive.${t}`, { ...e, [t]: o };
2454
- }, {}), yt = "Label", Ae = _.forwardRef((e, t) => /* @__PURE__ */ i(
2455
- vt.label,
2456
- {
2457
- ...e,
2458
- ref: t,
2459
- onMouseDown: (r) => {
2460
- var n;
2461
- r.target.closest("button, input, select, textarea") || ((n = e.onMouseDown) == null || n.call(e, r), !r.defaultPrevented && r.detail > 1 && r.preventDefault());
2462
- }
2463
- }
2464
- ));
2465
- Ae.displayName = yt;
2466
- var xt = Ae;
2467
- function Y({
2468
- className: e,
2469
- ...t
2470
- }) {
2471
- return /* @__PURE__ */ i(
2472
- xt,
2473
- {
2474
- "data-slot": "label",
2475
- className: I(
2476
- "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
2477
- e
2478
- ),
2479
- ...t
2480
- }
2481
- );
2482
- }
2483
- function wt({ className: e, ...t }) {
2484
- return /* @__PURE__ */ i(
2485
- "div",
2486
- {
2487
- "data-slot": "card",
2488
- className: I(
2489
- "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
2490
- e
2491
- ),
2492
- ...t
2493
- }
2494
- );
2495
- }
2496
- function Ct({ className: e, ...t }) {
2497
- return /* @__PURE__ */ i(
2498
- "div",
2499
- {
2500
- "data-slot": "card-header",
2501
- className: I(
2502
- "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
2503
- e
2504
- ),
2505
- ...t
2506
- }
2507
- );
2508
- }
2509
- function kt({ className: e, ...t }) {
2510
- return /* @__PURE__ */ i(
2511
- "div",
2512
- {
2513
- "data-slot": "card-title",
2514
- className: I("leading-none font-semibold", e),
2515
- ...t
2516
- }
2517
- );
2518
- }
2519
- function Nt({ className: e, ...t }) {
2520
- return /* @__PURE__ */ i(
2521
- "div",
2522
- {
2523
- "data-slot": "card-description",
2524
- className: I("text-muted-foreground text-sm", e),
2525
- ...t
2526
- }
2527
- );
2528
- }
2529
- function _t({ className: e, ...t }) {
2530
- return /* @__PURE__ */ i(
2531
- "div",
2532
- {
2533
- "data-slot": "card-content",
2534
- className: I("px-6", e),
2535
- ...t
2536
- }
2537
- );
2538
- }
2539
- const St = ae(
2540
- "inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-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 transition-[color,box-shadow] overflow-hidden",
2541
- {
2542
- variants: {
2543
- variant: {
2544
- default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
2545
- secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
2546
- destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
2547
- outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
2548
- }
2549
- },
2550
- defaultVariants: {
2551
- variant: "default"
2552
- }
2553
- }
2554
- );
2555
- function zt({
2556
- className: e,
2557
- variant: t,
2558
- asChild: r = !1,
2559
- ...o
2560
- }) {
2561
- return /* @__PURE__ */ i(
2562
- r ? xe : "span",
2563
- {
2564
- "data-slot": "badge",
2565
- className: I(St({ variant: t }), e),
2566
- ...o
2567
- }
2568
- );
2569
- }
2570
- const At = ae(
2571
- "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
2572
- {
2573
- variants: {
2574
- variant: {
2575
- default: "bg-card text-card-foreground",
2576
- destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
2577
- }
2578
- },
2579
- defaultVariants: {
2580
- variant: "default"
2581
- }
2582
- }
2583
- );
2584
- function ee({
2585
- className: e,
2586
- variant: t,
2587
- ...r
2588
- }) {
2589
- return /* @__PURE__ */ i(
2590
- "div",
2591
- {
2592
- "data-slot": "alert",
2593
- role: "alert",
2594
- className: I(At({ variant: t }), e),
2595
- ...r
2596
- }
2597
- );
2598
- }
2599
- function te({
2600
- className: e,
2601
- ...t
2602
- }) {
2603
- return /* @__PURE__ */ i(
2604
- "div",
2605
- {
2606
- "data-slot": "alert-description",
2607
- className: I(
2608
- "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
2609
- e
2610
- ),
2611
- ...t
2612
- }
2613
- );
2614
- }
2615
- /**
2616
- * @license lucide-react v0.537.0 - ISC
2617
- *
2618
- * This source code is licensed under the ISC license.
2619
- * See the LICENSE file in the root directory of this source tree.
2620
- */
2621
- const It = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Rt = (e) => e.replace(
2622
- /^([A-Z])|[\s-_]+(\w)/g,
2623
- (t, r, o) => o ? o.toUpperCase() : r.toLowerCase()
2624
- ), be = (e) => {
2625
- const t = Rt(e);
2626
- return t.charAt(0).toUpperCase() + t.slice(1);
2627
- }, Ie = (...e) => e.filter((t, r, o) => !!t && t.trim() !== "" && o.indexOf(t) === r).join(" ").trim(), Pt = (e) => {
2628
- for (const t in e)
2629
- if (t.startsWith("aria-") || t === "role" || t === "title")
2630
- return !0;
2631
- };
2632
- /**
2633
- * @license lucide-react v0.537.0 - ISC
2634
- *
2635
- * This source code is licensed under the ISC license.
2636
- * See the LICENSE file in the root directory of this source tree.
2637
- */
2638
- var Mt = {
2639
- xmlns: "http://www.w3.org/2000/svg",
2640
- width: 24,
2641
- height: 24,
2642
- viewBox: "0 0 24 24",
2643
- fill: "none",
2644
- stroke: "currentColor",
2645
- strokeWidth: 2,
2646
- strokeLinecap: "round",
2647
- strokeLinejoin: "round"
2648
- };
2649
- /**
2650
- * @license lucide-react v0.537.0 - ISC
2651
- *
2652
- * This source code is licensed under the ISC license.
2653
- * See the LICENSE file in the root directory of this source tree.
2654
- */
2655
- const jt = ve(
2656
- ({
2657
- color: e = "currentColor",
2658
- size: t = 24,
2659
- strokeWidth: r = 2,
2660
- absoluteStrokeWidth: o,
2661
- className: n = "",
2662
- children: s,
2663
- iconNode: l,
2664
- ...a
2665
- }, u) => ne(
2666
- "svg",
2667
- {
2668
- ref: u,
2669
- ...Mt,
2670
- width: t,
2671
- height: t,
2672
- stroke: e,
2673
- strokeWidth: o ? Number(r) * 24 / Number(t) : r,
2674
- className: Ie("lucide", n),
2675
- ...!s && !Pt(a) && { "aria-hidden": "true" },
2676
- ...a
2677
- },
2678
- [
2679
- ...l.map(([d, b]) => ne(d, b)),
2680
- ...Array.isArray(s) ? s : [s]
2681
- ]
2682
- )
2683
- );
2684
- /**
2685
- * @license lucide-react v0.537.0 - ISC
2686
- *
2687
- * This source code is licensed under the ISC license.
2688
- * See the LICENSE file in the root directory of this source tree.
2689
- */
2690
- const le = (e, t) => {
2691
- const r = ve(
2692
- ({ className: o, ...n }, s) => ne(jt, {
2693
- ref: s,
2694
- iconNode: t,
2695
- className: Ie(
2696
- `lucide-${It(be(e))}`,
2697
- `lucide-${e}`,
2698
- o
2699
- ),
2700
- ...n
2701
- })
2702
- );
2703
- return r.displayName = be(e), r;
2704
- };
2705
- /**
2706
- * @license lucide-react v0.537.0 - ISC
2707
- *
2708
- * This source code is licensed under the ISC license.
2709
- * See the LICENSE file in the root directory of this source tree.
2710
- */
2711
- const $t = [
2712
- ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
2713
- ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
2714
- ], re = le("circle-check-big", $t);
2715
- /**
2716
- * @license lucide-react v0.537.0 - ISC
2717
- *
2718
- * This source code is licensed under the ISC license.
2719
- * See the LICENSE file in the root directory of this source tree.
2720
- */
2721
- const Et = [
2722
- ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
2723
- ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
2724
- ["path", { d: "m9 9 6 6", key: "z0biqf" }]
2725
- ], oe = le("circle-x", Et);
2726
- /**
2727
- * @license lucide-react v0.537.0 - ISC
2728
- *
2729
- * This source code is licensed under the ISC license.
2730
- * See the LICENSE file in the root directory of this source tree.
2731
- */
2732
- const Vt = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]], he = le("loader-circle", Vt);
2733
- function Ot({
2734
- linkToken: e,
2735
- apiBaseUrl: t = "https://api.tightrope.dev",
2736
- onSuccess: r,
2737
- onError: o,
2738
- theme: n = "light",
2739
- className: s = "",
2740
- showTokenBadge: l = !0,
2741
- title: a = "Tightrope Link",
2742
- description: u
2743
- }) {
2744
- var h, q;
2745
- const [d, b] = V([]), [w, C] = V(!0), [A, z] = V(null), [m, f] = V(
2746
- null
2747
- ), [g, N] = V({
2748
- username: "",
2749
- password: "",
2750
- auth_params: {}
2751
- }), [$, R] = V(!1), [T, P] = V(null), [J, K] = V(!1);
2752
- Pe(() => {
2753
- (async () => {
2754
- try {
2755
- const x = `${t}/api/integration_methods`, v = await fetch(x);
2756
- if (!v.ok)
2757
- throw new Error(`Failed to fetch integrations: ${v.status}`);
2758
- const S = await v.json();
2759
- S && S.integration_methods && Array.isArray(S.integration_methods) ? b(S.integration_methods) : z("Invalid data format received");
2760
- } catch (x) {
2761
- console.error("Error fetching integrations:", x);
2762
- const v = "Failed to load integrations";
2763
- z(v), o == null || o(v);
2764
- } finally {
2765
- C(!1);
2766
- }
2767
- })();
2768
- }, [t, o]);
2769
- const O = (p) => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(p), W = () => {
2770
- if (!m) return null;
2771
- for (const p of d) {
2772
- const x = p.auth_methods.find(
2773
- (v) => v.id === m
2774
- );
2775
- if (x) return x;
2776
- }
2777
- return null;
2778
- }, U = async (p) => {
2779
- if (p.preventDefault(), !m || !g.username || !g.password) {
2780
- P("Please fill in all fields");
2781
- return;
2782
- }
2783
- const x = W();
2784
- if (x != null && x.auth_params) {
2785
- for (const v of x.auth_params)
2786
- if (!g.auth_params[v]) {
2787
- const S = `Please fill in the required field: ${v}`;
2788
- P(S);
2789
- return;
2790
- }
2791
- }
2792
- try {
2793
- R(!0), P(null);
2794
- const v = `${t}/api/linked_account_credentials`, S = await fetch(v, {
2795
- method: "POST",
2796
- headers: {
2797
- "Content-Type": "application/json"
2798
- },
2799
- body: JSON.stringify({
2800
- integration_method_id: m,
2801
- link_token: e,
2802
- args: {
2803
- username: g.username,
2804
- password: g.password,
2805
- auth_params: g.auth_params
2806
- }
2807
- })
2808
- }), H = await S.json();
2809
- if (!S.ok) {
2810
- const E = H.error || `HTTP error! status: ${S.status}`;
2811
- P(E), o == null || o(E);
2812
- return;
2813
- }
2814
- K(!0), r == null || r({
2815
- integration_method_id: m,
2816
- username: g.username
2817
- }), N({ username: "", password: "", auth_params: {} }), f(null);
2818
- } catch (v) {
2819
- const S = v instanceof Error ? v.message : "An error occurred";
2820
- P(S), o == null || o(S), console.error("Error submitting credentials:", v);
2821
- } finally {
2822
- R(!1);
2823
- }
2824
- };
2825
- return /* @__PURE__ */ i("div", { className: `${n === "dark" ? "dark" : ""} ${s}`, children: /* @__PURE__ */ k(wt, { className: "w-full max-w-2xl mx-auto shadow-lg border-2", children: [
2826
- /* @__PURE__ */ k(Ct, { className: "space-y-3 pb-8", children: [
2827
- /* @__PURE__ */ k("div", { className: "space-y-1", children: [
2828
- /* @__PURE__ */ i(kt, { className: "text-2xl font-bold tracking-tight", children: a }),
2829
- u && /* @__PURE__ */ i(Nt, { className: "text-base", children: u })
2830
- ] }),
2831
- l && e && /* @__PURE__ */ i("div", { className: "flex items-center gap-2 pt-2", children: /* @__PURE__ */ k(
2832
- zt,
2833
- {
2834
- variant: O(e) ? "secondary" : "destructive",
2835
- children: [
2836
- O(e) ? /* @__PURE__ */ i(re, { className: "h-3 w-3 mr-1" }) : /* @__PURE__ */ i(oe, { className: "h-3 w-3 mr-1" }),
2837
- O(e) ? "Valid Token" : "Invalid Token"
2838
- ]
2839
- }
2840
- ) })
2841
- ] }),
2842
- /* @__PURE__ */ k(_t, { className: "space-y-8 pb-8", children: [
2843
- J && /* @__PURE__ */ k(ee, { className: "border-green-200 bg-green-50 dark:bg-green-950 dark:border-green-800", children: [
2844
- /* @__PURE__ */ i(re, { className: "h-5 w-5 text-green-600 dark:text-green-400" }),
2845
- /* @__PURE__ */ i(te, { className: "text-green-800 dark:text-green-200 font-medium", children: "Credentials submitted successfully!" })
2846
- ] }),
2847
- /* @__PURE__ */ i("div", { children: w ? /* @__PURE__ */ k("div", { className: "text-center py-12", children: [
2848
- /* @__PURE__ */ i(he, { className: "h-10 w-10 animate-spin mx-auto mb-4 text-primary" }),
2849
- /* @__PURE__ */ i("p", { className: "text-muted-foreground text-lg", children: "Loading integrations..." })
2850
- ] }) : A ? /* @__PURE__ */ k(ee, { variant: "destructive", children: [
2851
- /* @__PURE__ */ i(oe, { className: "h-4 w-4" }),
2852
- /* @__PURE__ */ i(te, { children: A })
2853
- ] }) : Array.isArray(d) ? d.length === 0 ? /* @__PURE__ */ i("div", { className: "text-center py-12", children: /* @__PURE__ */ i("p", { className: "text-muted-foreground", children: "No integrations available" }) }) : /* @__PURE__ */ k("div", { className: "space-y-4", children: [
2854
- /* @__PURE__ */ i("div", { className: "text-sm font-medium text-muted-foreground mb-4", children: "Select an integration to connect" }),
2855
- /* @__PURE__ */ i("div", { className: "grid grid-cols-1 gap-3", children: d.map((p) => /* @__PURE__ */ i("div", { className: "space-y-2", children: p.auth_methods.map((x) => /* @__PURE__ */ i(
2856
- "button",
2857
- {
2858
- type: "button",
2859
- onClick: () => f(x.id),
2860
- className: `w-full p-4 rounded-lg border-2 transition-all duration-200 text-left ${m === x.id ? "border-primary bg-primary/5 shadow-md" : "border-border hover:border-primary/50 hover:bg-accent"}`,
2861
- children: /* @__PURE__ */ k("div", { className: "flex items-center gap-4", children: [
2862
- p.provider_logo_url ? /* @__PURE__ */ i(
2863
- "img",
2864
- {
2865
- src: p.provider_logo_url,
2866
- alt: `${p.provider} logo`,
2867
- className: "w-12 h-12 object-contain flex-shrink-0",
2868
- onError: (v) => {
2869
- console.error(
2870
- "Failed to load logo for",
2871
- p.provider,
2872
- ":",
2873
- p.provider_logo_url
2874
- ), v.currentTarget.style.display = "none";
2875
- }
2876
- }
2877
- ) : /* @__PURE__ */ i("div", { className: "w-12 h-12 bg-muted rounded-lg flex items-center justify-center text-muted-foreground font-semibold text-lg flex-shrink-0", children: p.provider.charAt(0).toUpperCase() }),
2878
- /* @__PURE__ */ k("div", { className: "flex-1 min-w-0", children: [
2879
- /* @__PURE__ */ i("div", { className: "font-semibold text-base", children: p.provider }),
2880
- /* @__PURE__ */ i("div", { className: "text-sm text-muted-foreground", children: x.display_name })
2881
- ] }),
2882
- m === x.id && /* @__PURE__ */ i(re, { className: "h-5 w-5 text-primary flex-shrink-0" })
2883
- ] })
2884
- },
2885
- x.id
2886
- )) }, p.provider)) })
2887
- ] }) : /* @__PURE__ */ i("div", { className: "text-center py-12", children: /* @__PURE__ */ i("p", { className: "text-muted-foreground", children: "Invalid data format" }) }) }),
2888
- m && /* @__PURE__ */ k("div", { className: "space-y-6 pt-6 border-t-2 animate-in fade-in-50 slide-in-from-top-4 duration-300", children: [
2889
- /* @__PURE__ */ k("div", { className: "flex items-center gap-3", children: [
2890
- /* @__PURE__ */ i("div", { className: "h-1 flex-1 bg-primary rounded-full" }),
2891
- /* @__PURE__ */ i("span", { className: "text-sm font-medium text-muted-foreground", children: "Enter Credentials" }),
2892
- /* @__PURE__ */ i("div", { className: "h-1 flex-1 bg-primary rounded-full" })
2893
- ] }),
2894
- /* @__PURE__ */ k("form", { onSubmit: U, className: "space-y-5", children: [
2895
- /* @__PURE__ */ k("div", { className: "space-y-2", children: [
2896
- /* @__PURE__ */ i(Y, { htmlFor: "username", className: "text-base font-medium", children: "Username" }),
2897
- /* @__PURE__ */ i(
2898
- X,
2899
- {
2900
- type: "text",
2901
- id: "username",
2902
- value: g.username,
2903
- onChange: (p) => N({
2904
- ...g,
2905
- username: p.target.value
2906
- }),
2907
- placeholder: "Enter your username",
2908
- className: "h-11 text-base",
2909
- required: !0
2910
- }
2911
- )
2912
- ] }),
2913
- /* @__PURE__ */ k("div", { className: "space-y-2", children: [
2914
- /* @__PURE__ */ i(Y, { htmlFor: "password", className: "text-base font-medium", children: "Password" }),
2915
- /* @__PURE__ */ i(
2916
- X,
2917
- {
2918
- type: "password",
2919
- id: "password",
2920
- value: g.password,
2921
- onChange: (p) => N({
2922
- ...g,
2923
- password: p.target.value
2924
- }),
2925
- placeholder: "Enter your password",
2926
- className: "h-11 text-base",
2927
- required: !0
2928
- }
2929
- )
2930
- ] }),
2931
- (q = (h = W()) == null ? void 0 : h.auth_params) == null ? void 0 : q.map((p) => /* @__PURE__ */ k("div", { className: "space-y-2", children: [
2932
- /* @__PURE__ */ i(
2933
- Y,
2934
- {
2935
- htmlFor: p,
2936
- className: "text-base font-medium",
2937
- children: p
2938
- }
2939
- ),
2940
- /* @__PURE__ */ i(
2941
- X,
2942
- {
2943
- type: "text",
2944
- id: p,
2945
- value: g.auth_params[p] || "",
2946
- onChange: (x) => N({
2947
- ...g,
2948
- auth_params: {
2949
- ...g.auth_params,
2950
- [p]: x.target.value
2951
- }
2952
- }),
2953
- placeholder: `Enter ${p}`,
2954
- className: "h-11 text-base",
2955
- required: !0
2956
- }
2957
- )
2958
- ] }, p)),
2959
- T && /* @__PURE__ */ k(ee, { variant: "destructive", children: [
2960
- /* @__PURE__ */ i(oe, { className: "h-4 w-4" }),
2961
- /* @__PURE__ */ i(te, { children: T })
2962
- ] }),
2963
- /* @__PURE__ */ k("div", { className: "flex gap-3 pt-4", children: [
2964
- /* @__PURE__ */ i(
2965
- fe,
2966
- {
2967
- type: "submit",
2968
- disabled: $,
2969
- className: "flex-1 h-11 text-base font-semibold",
2970
- size: "lg",
2971
- children: $ ? /* @__PURE__ */ k(Re, { children: [
2972
- /* @__PURE__ */ i(he, { className: "mr-2 h-5 w-5 animate-spin" }),
2973
- "Submitting..."
2974
- ] }) : "Submit Credentials"
2975
- }
2976
- ),
2977
- /* @__PURE__ */ i(
2978
- fe,
2979
- {
2980
- type: "button",
2981
- variant: "outline",
2982
- className: "h-11",
2983
- onClick: () => {
2984
- f(null), N({
2985
- username: "",
2986
- password: "",
2987
- auth_params: {}
2988
- }), P(null);
2989
- },
2990
- children: "Cancel"
2991
- }
2992
- )
2993
- ] })
2994
- ] })
2995
- ] })
2996
- ] })
2997
- ] }) });
2998
- }
2999
- export {
3000
- Ot as Link
3001
- };
3002
- //# sourceMappingURL=index.js.map