@fabio.caffarello/react-design-system 2.0.0 → 2.1.0

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.
@@ -0,0 +1,1804 @@
1
+ var J = Object.defineProperty, ee = Object.defineProperties;
2
+ var ae = Object.getOwnPropertyDescriptors;
3
+ var I = Object.getOwnPropertySymbols;
4
+ var P = Object.prototype.hasOwnProperty, _ = Object.prototype.propertyIsEnumerable;
5
+ var O = (r, a, i) => a in r ? J(r, a, { enumerable: !0, configurable: !0, writable: !0, value: i }) : r[a] = i, u = (r, a) => {
6
+ for (var i in a || (a = {}))
7
+ P.call(a, i) && O(r, i, a[i]);
8
+ if (I)
9
+ for (var i of I(a))
10
+ _.call(a, i) && O(r, i, a[i]);
11
+ return r;
12
+ }, v = (r, a) => ee(r, ae(a));
13
+ var x = (r, a) => {
14
+ var i = {};
15
+ for (var t in r)
16
+ P.call(r, t) && a.indexOf(t) < 0 && (i[t] = r[t]);
17
+ if (r != null && I)
18
+ for (var t of I(r))
19
+ a.indexOf(t) < 0 && _.call(r, t) && (i[t] = r[t]);
20
+ return i;
21
+ };
22
+ var K = (r, a, i) => O(r, typeof a != "symbol" ? a + "" : a, i);
23
+ import { jsxs as $, jsx as l } from "react/jsx-runtime";
24
+ import Y, { forwardRef as V, memo as te } from "react";
25
+ import { X as re, AlertCircle as ie, Loader2 as ne, CheckCircle2 as X } from "lucide-react";
26
+ import { clsx as se } from "clsx";
27
+ import { twMerge as le } from "tailwind-merge";
28
+ import { cva as oe } from "class-variance-authority";
29
+ class C {
30
+ /**
31
+ * Create a radius token
32
+ */
33
+ static create(a) {
34
+ const t = {
35
+ none: {
36
+ px: 0,
37
+ tailwind: "rounded-none",
38
+ description: "No border radius"
39
+ },
40
+ sm: {
41
+ px: 2,
42
+ tailwind: "rounded-sm",
43
+ description: "Small radius (2px) for subtle rounding"
44
+ },
45
+ md: {
46
+ px: 6,
47
+ tailwind: "rounded-md",
48
+ description: "Medium radius (6px) for buttons and inputs"
49
+ },
50
+ lg: {
51
+ px: 8,
52
+ tailwind: "rounded-lg",
53
+ description: "Large radius (8px) for cards and containers"
54
+ },
55
+ xl: {
56
+ px: 12,
57
+ tailwind: "rounded-xl",
58
+ description: "Extra large radius (12px) for prominent elements"
59
+ },
60
+ "2xl": {
61
+ px: 16,
62
+ tailwind: "rounded-2xl",
63
+ description: "2X large radius (16px) for large containers"
64
+ },
65
+ "3xl": {
66
+ px: 24,
67
+ tailwind: "rounded-3xl",
68
+ description: "3X large radius (24px) for very large containers"
69
+ },
70
+ full: {
71
+ px: 9999,
72
+ tailwind: "rounded-full",
73
+ description: "Full radius for circular elements"
74
+ }
75
+ }[a];
76
+ return {
77
+ value: t.px,
78
+ rem: `${t.px / 16}rem`,
79
+ px: `${t.px}px`,
80
+ tailwind: t.tailwind,
81
+ description: t.description
82
+ };
83
+ }
84
+ }
85
+ const ce = {
86
+ none: C.create("none"),
87
+ sm: C.create("sm"),
88
+ md: C.create("md"),
89
+ lg: C.create("lg"),
90
+ xl: C.create("xl"),
91
+ "2xl": C.create("2xl"),
92
+ "3xl": C.create("3xl"),
93
+ full: C.create("full")
94
+ };
95
+ function T(r) {
96
+ return ce[r].tailwind;
97
+ }
98
+ class y {
99
+ // 4px base
100
+ /**
101
+ * Create a spacing token from scale value
102
+ */
103
+ static create(a) {
104
+ const i = a * this.BASE_UNIT, t = i / 16;
105
+ return {
106
+ value: i,
107
+ rem: `${t}rem`,
108
+ px: `${i}px`,
109
+ tailwind: this.getTailwindClass(a)
110
+ };
111
+ }
112
+ /**
113
+ * Get Tailwind class for spacing value
114
+ */
115
+ static getTailwindClass(a) {
116
+ return {
117
+ 0: "0",
118
+ 0.5: "0.5",
119
+ // 2px — half-step, used by fine UI (badges, switches, separators)
120
+ 1: "1",
121
+ // 4px
122
+ 1.5: "1.5",
123
+ // 6px — half-step
124
+ 2: "2",
125
+ // 8px
126
+ 2.5: "2.5",
127
+ // 10px — half-step
128
+ 3: "3",
129
+ // 12px
130
+ 3.5: "3.5",
131
+ // 14px — half-step
132
+ 4: "4",
133
+ // 16px
134
+ 5: "5",
135
+ // 20px
136
+ 6: "6",
137
+ // 24px
138
+ 8: "8",
139
+ // 32px
140
+ 10: "10",
141
+ // 40px
142
+ 12: "12",
143
+ // 48px
144
+ 16: "16",
145
+ // 64px
146
+ 20: "20",
147
+ // 80px
148
+ 24: "24",
149
+ // 96px
150
+ 32: "32",
151
+ // 128px
152
+ 40: "40",
153
+ // 160px
154
+ 48: "48",
155
+ // 192px
156
+ 64: "64",
157
+ // 256px
158
+ 80: "80",
159
+ // 320px
160
+ 96: "96"
161
+ // 384px
162
+ }[a] || String(a);
163
+ }
164
+ }
165
+ K(y, "BASE_UNIT", 4);
166
+ const de = {
167
+ // Micro spacing (0-14px)
168
+ none: y.create(0),
169
+ "0.5": y.create(0.5),
170
+ // 2px (half-step)
171
+ xs: y.create(1),
172
+ // 4px
173
+ "1.5": y.create(1.5),
174
+ // 6px (half-step)
175
+ sm: y.create(2),
176
+ // 8px
177
+ "2.5": y.create(2.5),
178
+ // 10px (half-step)
179
+ md: y.create(3),
180
+ // 12px
181
+ "3.5": y.create(3.5),
182
+ // 14px (half-step)
183
+ // Standard spacing (16-32px)
184
+ base: y.create(4),
185
+ // 16px
186
+ lg: y.create(6),
187
+ // 24px
188
+ xl: y.create(8),
189
+ // 32px
190
+ // Large spacing (40-64px)
191
+ "2xl": y.create(10),
192
+ // 40px
193
+ "3xl": y.create(12),
194
+ // 48px
195
+ "4xl": y.create(16),
196
+ // 64px
197
+ // Extra large spacing (80px+)
198
+ "5xl": y.create(20),
199
+ // 80px
200
+ "6xl": y.create(24)
201
+ // 96px
202
+ };
203
+ function s(r, a = "p") {
204
+ const t = de[r].tailwind;
205
+ return `${{
206
+ p: "p",
207
+ m: "m",
208
+ px: "px",
209
+ mx: "mx",
210
+ py: "py",
211
+ my: "my",
212
+ pt: "pt",
213
+ mt: "mt",
214
+ pr: "pr",
215
+ mr: "mr",
216
+ pb: "pb",
217
+ mb: "mb",
218
+ pl: "pl",
219
+ ml: "ml",
220
+ gap: "gap",
221
+ "gap-x": "gap-x",
222
+ "gap-y": "gap-y",
223
+ "space-x": "space-x",
224
+ "space-y": "space-y"
225
+ }[a]}-${t}`;
226
+ }
227
+ class w {
228
+ /**
229
+ * Create font size token
230
+ */
231
+ static createFontSize(a) {
232
+ const t = {
233
+ "2xs": { px: 10, tailwind: "text-2xs" },
234
+ // micro-text (badge counters, mini chips)
235
+ xs: { px: 12, tailwind: "text-xs" },
236
+ sm: { px: 14, tailwind: "text-sm" },
237
+ base: { px: 16, tailwind: "text-base" },
238
+ lg: { px: 18, tailwind: "text-lg" },
239
+ xl: { px: 20, tailwind: "text-xl" },
240
+ "2xl": { px: 24, tailwind: "text-2xl" },
241
+ "3xl": { px: 30, tailwind: "text-3xl" },
242
+ "4xl": { px: 36, tailwind: "text-4xl" },
243
+ "5xl": { px: 48, tailwind: "text-5xl" },
244
+ "6xl": { px: 60, tailwind: "text-6xl" }
245
+ }[a];
246
+ return {
247
+ value: t.px,
248
+ rem: `${t.px / 16}rem`,
249
+ px: `${t.px}px`,
250
+ tailwind: t.tailwind
251
+ };
252
+ }
253
+ /**
254
+ * Create line height token
255
+ */
256
+ static createLineHeight(a) {
257
+ const t = {
258
+ none: { value: 1, tailwind: "leading-none" },
259
+ tight: { value: 1.25, tailwind: "leading-tight" },
260
+ snug: { value: 1.375, tailwind: "leading-snug" },
261
+ normal: { value: 1.5, tailwind: "leading-normal" },
262
+ relaxed: { value: 1.625, tailwind: "leading-relaxed" },
263
+ loose: { value: 2, tailwind: "leading-loose" }
264
+ }[a];
265
+ return {
266
+ value: t.value,
267
+ tailwind: t.tailwind
268
+ };
269
+ }
270
+ /**
271
+ * Create font weight token
272
+ */
273
+ static createFontWeight(a) {
274
+ const t = {
275
+ light: { value: 300, tailwind: "font-light" },
276
+ normal: { value: 400, tailwind: "font-normal" },
277
+ medium: { value: 500, tailwind: "font-medium" },
278
+ semibold: { value: 600, tailwind: "font-semibold" },
279
+ bold: { value: 700, tailwind: "font-bold" }
280
+ }[a];
281
+ return {
282
+ value: t.value,
283
+ tailwind: t.tailwind
284
+ };
285
+ }
286
+ /**
287
+ * Create complete typography token
288
+ */
289
+ static create(a, i = "normal", t = "normal") {
290
+ return {
291
+ fontSize: this.createFontSize(a),
292
+ lineHeight: this.createLineHeight(i),
293
+ fontWeight: this.createFontWeight(t)
294
+ };
295
+ }
296
+ }
297
+ w.createFontWeight("light"), w.createFontWeight("normal"), w.createFontWeight("medium"), w.createFontWeight("semibold"), w.createFontWeight("bold");
298
+ const B = {
299
+ // Headings
300
+ h1: w.create("4xl", "tight", "bold"),
301
+ h2: w.create("3xl", "tight", "bold"),
302
+ h3: w.create("2xl", "snug", "semibold"),
303
+ h4: w.create("xl", "snug", "semibold"),
304
+ h5: w.create("lg", "normal", "medium"),
305
+ h6: w.create("base", "normal", "medium"),
306
+ // Body text
307
+ body: w.create("base", "relaxed", "normal"),
308
+ bodySmall: w.create("sm", "relaxed", "normal"),
309
+ bodyLarge: w.create("lg", "relaxed", "normal"),
310
+ // UI elements
311
+ label: w.create("sm", "normal", "medium"),
312
+ caption: w.create("xs", "normal", "normal"),
313
+ button: w.create("base", "normal", "medium")
314
+ };
315
+ function W(r) {
316
+ const a = B[r];
317
+ return `${a.fontSize.tailwind} ${a.lineHeight.tailwind} ${a.fontWeight.tailwind}`;
318
+ }
319
+ function L(r) {
320
+ return B[r].fontSize.tailwind;
321
+ }
322
+ function U(r) {
323
+ return B[r].fontWeight.tailwind;
324
+ }
325
+ function d(...r) {
326
+ return le(se(r));
327
+ }
328
+ const H = (r, a) => {
329
+ const i = oe(r, a);
330
+ return ((t) => {
331
+ const n = i(t);
332
+ return d(n);
333
+ });
334
+ }, fe = H(
335
+ // Base classes
336
+ d(
337
+ "inline-flex",
338
+ "items-center",
339
+ "font-medium",
340
+ T("full"),
341
+ s("xs", "gap")
342
+ ),
343
+ {
344
+ variants: {
345
+ variant: {
346
+ default: d(
347
+ "bg-surface-muted",
348
+ "text-fg-primary",
349
+ "border",
350
+ "border-line-default"
351
+ ),
352
+ outlined: d(
353
+ "bg-transparent",
354
+ "text-fg-primary",
355
+ "border",
356
+ "border-line-default"
357
+ ),
358
+ filled: d(
359
+ "bg-surface-brand-strong",
360
+ "text-fg-inverse",
361
+ "border",
362
+ "border-transparent"
363
+ )
364
+ },
365
+ size: {
366
+ sm: d(
367
+ s("xs", "px"),
368
+ s("xs", "py"),
369
+ L("caption")
370
+ ),
371
+ md: d(
372
+ s("sm", "px"),
373
+ s("xs", "py"),
374
+ L("bodySmall")
375
+ ),
376
+ lg: d(
377
+ s("md", "px"),
378
+ s("sm", "py"),
379
+ L("body")
380
+ )
381
+ },
382
+ selected: {
383
+ true: d(
384
+ "bg-surface-brand-strong",
385
+ "text-fg-inverse",
386
+ "border",
387
+ "border-line-brand"
388
+ ),
389
+ false: ""
390
+ },
391
+ disabled: {
392
+ true: "opacity-50 cursor-not-allowed",
393
+ false: ""
394
+ }
395
+ },
396
+ compoundVariants: [
397
+ {
398
+ selected: !0,
399
+ variant: "default",
400
+ class: ""
401
+ // Override variant when selected
402
+ },
403
+ {
404
+ selected: !0,
405
+ variant: "outlined",
406
+ class: ""
407
+ // Override variant when selected
408
+ },
409
+ {
410
+ selected: !0,
411
+ variant: "filled",
412
+ class: ""
413
+ // Override variant when selected
414
+ }
415
+ ],
416
+ defaultVariants: {
417
+ variant: "default",
418
+ size: "md",
419
+ selected: !1,
420
+ disabled: !1
421
+ }
422
+ }
423
+ ), pe = V(function(N, h) {
424
+ var M = N, {
425
+ children: a,
426
+ variant: i = "default",
427
+ size: t = "md",
428
+ onRemove: n,
429
+ selected: o = !1,
430
+ disabled: c = !1,
431
+ className: f = "",
432
+ "aria-label": m,
433
+ onClick: p,
434
+ tabIndex: b
435
+ } = M, g = x(M, [
436
+ "children",
437
+ "variant",
438
+ "size",
439
+ "onRemove",
440
+ "selected",
441
+ "disabled",
442
+ "className",
443
+ "aria-label",
444
+ "onClick",
445
+ "tabIndex"
446
+ ]);
447
+ const R = (() => {
448
+ if (m) return m;
449
+ if (typeof a == "string") return a;
450
+ if (typeof a == "object" && a !== null && "props" in a) {
451
+ const S = a.props;
452
+ if (S != null && S.children && typeof S.children == "string")
453
+ return S.children;
454
+ }
455
+ })(), q = p !== void 0, Q = q && !c, Z = (S) => {
456
+ c || (S.key === "Enter" || S.key === " ") && (S.preventDefault(), p == null || p());
457
+ };
458
+ return /* @__PURE__ */ $(
459
+ "div",
460
+ v(u({
461
+ ref: h,
462
+ className: d(
463
+ fe({ variant: i, size: t, selected: o, disabled: c }),
464
+ n && s("xs", "pr"),
465
+ f
466
+ ),
467
+ "aria-disabled": c
468
+ }, g), {
469
+ children: [
470
+ q ? /* @__PURE__ */ l(
471
+ "button",
472
+ {
473
+ type: "button",
474
+ onClick: c ? void 0 : p,
475
+ onKeyDown: Z,
476
+ disabled: c,
477
+ "aria-pressed": o ? !0 : void 0,
478
+ "aria-label": m || R,
479
+ tabIndex: b !== void 0 ? b : Q ? 0 : void 0,
480
+ className: d(
481
+ "flex-1",
482
+ "bg-transparent",
483
+ "border-0",
484
+ s("none", "p"),
485
+ "text-inherit",
486
+ "text-left",
487
+ "cursor-pointer",
488
+ "focus:outline-none",
489
+ "focus:ring-2",
490
+ "focus:ring-line-focus",
491
+ "focus:ring-offset-2",
492
+ T("full")
493
+ ),
494
+ children: a
495
+ }
496
+ ) : /* @__PURE__ */ l("span", { children: a }),
497
+ n && !c && /* @__PURE__ */ l(
498
+ "button",
499
+ {
500
+ type: "button",
501
+ onClick: (S) => {
502
+ S.stopPropagation(), n();
503
+ },
504
+ className: d(
505
+ s("xs", "ml"),
506
+ "hover:bg-tint-hover",
507
+ T("full"),
508
+ s("xs", "p"),
509
+ "transition-colors",
510
+ "focus:outline-none",
511
+ "focus:ring-2",
512
+ "focus:ring-line-focus",
513
+ "focus:ring-offset-1"
514
+ ),
515
+ "aria-label": `Remove ${R || "chip"}`,
516
+ children: /* @__PURE__ */ l(re, { className: "h-3 w-3", "aria-hidden": "true" })
517
+ }
518
+ )
519
+ ]
520
+ })
521
+ );
522
+ });
523
+ pe.displayName = "Chip";
524
+ function Ae(n) {
525
+ var o = n, {
526
+ message: r,
527
+ id: a,
528
+ className: i = ""
529
+ } = o, t = x(o, [
530
+ "message",
531
+ "id",
532
+ "className"
533
+ ]);
534
+ const c = [
535
+ s("xs", "mt"),
536
+ L("bodySmall"),
537
+ "text-fg-error",
538
+ "flex",
539
+ "items-center",
540
+ s("xs", "gap")
541
+ ], f = d(...c, i);
542
+ return /* @__PURE__ */ $("div", v(u({ role: "alert", id: a, className: f, "aria-live": "polite" }, t), { children: [
543
+ /* @__PURE__ */ l(ie, { className: "h-4 w-4 shrink-0", "aria-hidden": "true" }),
544
+ /* @__PURE__ */ l("span", { children: r })
545
+ ] }));
546
+ }
547
+ function We(t) {
548
+ var n = t, {
549
+ variant: r = "info",
550
+ className: a
551
+ } = n, i = x(n, [
552
+ "variant",
553
+ "className"
554
+ ]);
555
+ const o = {
556
+ warning: d("bg-warning-bg", "text-warning-dark", "border-warning"),
557
+ error: d("bg-error-bg", "text-error-dark", "border-error"),
558
+ info: d("bg-info-bg", "text-info-dark", "border-info")
559
+ };
560
+ return /* @__PURE__ */ l(
561
+ "div",
562
+ u({
563
+ role: "alert",
564
+ className: d(
565
+ "border",
566
+ s("base", "px"),
567
+ s("sm", "py"),
568
+ T("lg"),
569
+ o[r],
570
+ a
571
+ )
572
+ }, i)
573
+ );
574
+ }
575
+ function e(r, a, i) {
576
+ const t = ue(r), n = me(r);
577
+ return {
578
+ hex: r,
579
+ rgb: t,
580
+ hsl: n,
581
+ cssVar: `var(--color-${a}-${i})`,
582
+ tailwind: `${a}-${i}`
583
+ };
584
+ }
585
+ function ue(r) {
586
+ const a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r);
587
+ return a ? `${parseInt(a[1], 16)}, ${parseInt(a[2], 16)}, ${parseInt(a[3], 16)}` : "0, 0, 0";
588
+ }
589
+ function me(r) {
590
+ const a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r);
591
+ if (!a) return "0, 0%, 0%";
592
+ const i = parseInt(a[1], 16) / 255, t = parseInt(a[2], 16) / 255, n = parseInt(a[3], 16) / 255, o = Math.max(i, t, n), c = Math.min(i, t, n);
593
+ let f = 0, m = 0;
594
+ const p = (o + c) / 2;
595
+ if (o !== c) {
596
+ const b = o - c;
597
+ switch (m = p > 0.5 ? b / (2 - o - c) : b / (o + c), o) {
598
+ case i:
599
+ f = ((t - n) / b + (t < n ? 6 : 0)) / 6;
600
+ break;
601
+ case t:
602
+ f = ((n - i) / b + 2) / 6;
603
+ break;
604
+ case n:
605
+ f = ((i - t) / b + 4) / 6;
606
+ break;
607
+ }
608
+ }
609
+ return `${Math.round(f * 360)}, ${Math.round(m * 100)}%, ${Math.round(p * 100)}%`;
610
+ }
611
+ e("#eef2ff", "indigo", 50), e("#e0e7ff", "indigo", 100), e("#c7d2fe", "indigo", 200), e("#a5b4fc", "indigo", 300), e("#818cf8", "indigo", 400), e("#6366f1", "indigo", 500), e("#4f46e5", "indigo", 600), e("#4338ca", "indigo", 700), e("#3730a3", "indigo", 800), e("#312e81", "indigo", 900), e("#1e1b4b", "indigo", 950);
612
+ e("#f5f3ff", "violet", 50), e("#ede9fe", "violet", 100), e("#ddd6fe", "violet", 200), e("#c4b5fd", "violet", 300), e("#a78bfa", "violet", 400), e("#8b5cf6", "violet", 500), e("#7c3aed", "violet", 600), e("#6d28d9", "violet", 700), e("#5b21b6", "violet", 800), e("#4c1d95", "violet", 900), e("#2e1065", "violet", 950);
613
+ e("#ecfeff", "cyan", 50), e("#cffafe", "cyan", 100), e("#a5f3fc", "cyan", 200), e("#67e8f9", "cyan", 300), e("#22d3ee", "cyan", 400), e("#06b6d4", "cyan", 500), e("#0891b2", "cyan", 600), e("#0e7490", "cyan", 700), e("#155e75", "cyan", 800), e("#164e63", "cyan", 900), e("#083344", "cyan", 950);
614
+ e("#f8fafc", "slate", 50), e("#f1f5f9", "slate", 100), e("#e2e8f0", "slate", 200), e("#cbd5e1", "slate", 300), e("#94a3b8", "slate", 400), e("#64748b", "slate", 500), e("#475569", "slate", 600), e("#334155", "slate", 700), e("#1e293b", "slate", 800), e("#0f172a", "slate", 900), e("#020617", "slate", 950);
615
+ e("#f9fafb", "gray", 50), e("#f3f4f6", "gray", 100), e("#e5e7eb", "gray", 200), e("#d1d5db", "gray", 300), e("#9ca3af", "gray", 400), e("#6b7280", "gray", 500), e("#4b5563", "gray", 600), e("#374151", "gray", 700), e("#1f2937", "gray", 800), e("#111827", "gray", 900), e("#030712", "gray", 950);
616
+ e("#ecfdf5", "emerald", 50), e("#d1fae5", "emerald", 100), e("#a7f3d0", "emerald", 200), e("#6ee7b7", "emerald", 300), e("#34d399", "emerald", 400), e("#10b981", "emerald", 500), e("#059669", "emerald", 600), e("#047857", "emerald", 700), e("#065f46", "emerald", 800), e("#064e3b", "emerald", 900), e("#022c22", "emerald", 950);
617
+ e("#f0fdf4", "green", 50), e("#dcfce7", "green", 100), e("#bbf7d0", "green", 200), e("#86efac", "green", 300), e("#4ade80", "green", 400), e("#22c55e", "green", 500), e("#16a34a", "green", 600), e("#15803d", "green", 700), e("#166534", "green", 800), e("#14532d", "green", 900), e("#052e16", "green", 950);
618
+ e("#fffbeb", "amber", 50), e("#fef3c7", "amber", 100), e("#fde68a", "amber", 200), e("#fcd34d", "amber", 300), e("#fbbf24", "amber", 400), e("#f59e0b", "amber", 500), e("#d97706", "amber", 600), e("#b45309", "amber", 700), e("#92400e", "amber", 800), e("#78350f", "amber", 900), e("#451a03", "amber", 950);
619
+ e("#fefce8", "yellow", 50), e("#fef9c3", "yellow", 100), e("#fef08a", "yellow", 200), e("#fde047", "yellow", 300), e("#facc15", "yellow", 400), e("#eab308", "yellow", 500), e("#ca8a04", "yellow", 600), e("#a16207", "yellow", 700), e("#854d0e", "yellow", 800), e("#713f12", "yellow", 900), e("#422006", "yellow", 950);
620
+ e("#fff7ed", "orange", 50), e("#ffedd5", "orange", 100), e("#fed7aa", "orange", 200), e("#fdba74", "orange", 300), e("#fb923c", "orange", 400), e("#f97316", "orange", 500), e("#ea580c", "orange", 600), e("#c2410c", "orange", 700), e("#9a3412", "orange", 800), e("#7c2d12", "orange", 900), e("#431407", "orange", 950);
621
+ e("#fff1f2", "rose", 50), e("#ffe4e6", "rose", 100), e("#fecdd3", "rose", 200), e("#fda4af", "rose", 300), e("#fb7185", "rose", 400), e("#f43f5e", "rose", 500), e("#e11d48", "rose", 600), e("#be123c", "rose", 700), e("#9f1239", "rose", 800), e("#881337", "rose", 900), e("#4c0519", "rose", 950);
622
+ e("#fef2f2", "red", 50), e("#fee2e2", "red", 100), e("#fecaca", "red", 200), e("#fca5a5", "red", 300), e("#f87171", "red", 400), e("#ef4444", "red", 500), e("#dc2626", "red", 600), e("#b91c1c", "red", 700), e("#991b1b", "red", 800), e("#7f1d1d", "red", 900), e("#450a0a", "red", 950);
623
+ e("#f0f9ff", "sky", 50), e("#e0f2fe", "sky", 100), e("#bae6fd", "sky", 200), e("#7dd3fc", "sky", 300), e("#38bdf8", "sky", 400), e("#0ea5e9", "sky", 500), e("#0284c7", "sky", 600), e("#0369a1", "sky", 700), e("#075985", "sky", 800), e("#0c4a6e", "sky", 900), e("#082f49", "sky", 950);
624
+ e("#eff6ff", "blue", 50), e("#dbeafe", "blue", 100), e("#bfdbfe", "blue", 200), e("#93c5fd", "blue", 300), e("#60a5fa", "blue", 400), e("#3b82f6", "blue", 500), e("#2563eb", "blue", 600), e("#1d4ed8", "blue", 700), e("#1e40af", "blue", 800), e("#1e3a8a", "blue", 900), e("#172554", "blue", 950);
625
+ e("#fdf4ff", "fuchsia", 50), e("#fae8ff", "fuchsia", 100), e("#f5d0fe", "fuchsia", 200), e("#f0abfc", "fuchsia", 300), e("#e879f9", "fuchsia", 400), e("#d946ef", "fuchsia", 500), e("#c026d3", "fuchsia", 600), e("#a21caf", "fuchsia", 700), e("#86198f", "fuchsia", 800), e("#701a75", "fuchsia", 900), e("#4a044e", "fuchsia", 950);
626
+ e("#fdf2f8", "pink", 50), e("#fce7f3", "pink", 100), e("#fbcfe8", "pink", 200), e("#f9a8d4", "pink", 300), e("#f472b6", "pink", 400), e("#ec4899", "pink", 500), e("#db2777", "pink", 600), e("#be185d", "pink", 700), e("#9d174d", "pink", 800), e("#831843", "pink", 900), e("#500724", "pink", 950);
627
+ e("#faf5ff", "purple", 50), e("#f3e8ff", "purple", 100), e("#e9d5ff", "purple", 200), e("#d8b4fe", "purple", 300), e("#c084fc", "purple", 400), e("#a855f7", "purple", 500), e("#9333ea", "purple", 600), e("#7e22ce", "purple", 700), e("#6b21a8", "purple", 800), e("#581c87", "purple", 900), e("#3b0764", "purple", 950);
628
+ e("#f0fdfa", "teal", 50), e("#ccfbf1", "teal", 100), e("#99f6e4", "teal", 200), e("#5eead4", "teal", 300), e("#2dd4bf", "teal", 400), e("#14b8a6", "teal", 500), e("#0d9488", "teal", 600), e("#0f766e", "teal", 700), e("#115e59", "teal", 800), e("#134e4a", "teal", 900), e("#042f2e", "teal", 950);
629
+ e("#f7fee7", "lime", 50), e("#ecfccb", "lime", 100), e("#d9f99d", "lime", 200), e("#bef264", "lime", 300), e("#a3e635", "lime", 400), e("#84cc16", "lime", 500), e("#65a30d", "lime", 600), e("#4d7c0f", "lime", 700), e("#3f6212", "lime", 800), e("#365314", "lime", 900), e("#1a2e05", "lime", 950);
630
+ class D {
631
+ /**
632
+ * Create a shadow token
633
+ */
634
+ static create(a) {
635
+ return {
636
+ none: {
637
+ value: "none",
638
+ tailwind: "shadow-none",
639
+ description: "No shadow"
640
+ },
641
+ sm: {
642
+ value: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
643
+ tailwind: "shadow-sm",
644
+ description: "Small shadow for subtle elevation"
645
+ },
646
+ md: {
647
+ value: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
648
+ tailwind: "shadow-md",
649
+ description: "Medium shadow for cards and elevated elements"
650
+ },
651
+ lg: {
652
+ value: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
653
+ tailwind: "shadow-lg",
654
+ description: "Large shadow for modals and dropdowns"
655
+ },
656
+ xl: {
657
+ value: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
658
+ tailwind: "shadow-xl",
659
+ description: "Extra large shadow for prominent modals"
660
+ },
661
+ "2xl": {
662
+ value: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",
663
+ tailwind: "shadow-2xl",
664
+ description: "2X large shadow for maximum elevation"
665
+ },
666
+ inner: {
667
+ value: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",
668
+ tailwind: "shadow-inner",
669
+ description: "Inner shadow for inset elements"
670
+ }
671
+ }[a];
672
+ }
673
+ }
674
+ D.create("none"), D.create("sm"), D.create("md"), D.create("lg"), D.create("xl"), D.create("2xl"), D.create("inner");
675
+ class F {
676
+ /**
677
+ * Create a border width token
678
+ */
679
+ static createWidth(a) {
680
+ const t = {
681
+ none: {
682
+ px: 0,
683
+ tailwind: "border-0"
684
+ },
685
+ thin: {
686
+ px: 1,
687
+ tailwind: "border"
688
+ },
689
+ base: {
690
+ px: 1,
691
+ tailwind: "border"
692
+ },
693
+ medium: {
694
+ px: 2,
695
+ tailwind: "border-2"
696
+ },
697
+ thick: {
698
+ px: 4,
699
+ tailwind: "border-4"
700
+ }
701
+ }[a];
702
+ return {
703
+ value: t.px,
704
+ px: `${t.px}px`,
705
+ tailwind: t.tailwind
706
+ };
707
+ }
708
+ /**
709
+ * Create a complete border token
710
+ */
711
+ static create(a, i = "solid") {
712
+ return {
713
+ width: this.createWidth(a),
714
+ style: i,
715
+ description: `${a} ${i} border`
716
+ };
717
+ }
718
+ }
719
+ F.create("none"), F.create("thin"), F.create("base"), F.create("medium"), F.create("thick"), F.create("thin", "dashed"), F.create("base", "dashed"), F.create("thin", "dotted"), F.create("base", "dotted");
720
+ class E {
721
+ /**
722
+ * Create breakpoint token
723
+ */
724
+ static create(a) {
725
+ const t = {
726
+ sm: { minWidth: 640, tailwind: "sm" },
727
+ md: { minWidth: 768, tailwind: "md" },
728
+ lg: { minWidth: 1024, tailwind: "lg" },
729
+ xl: { minWidth: 1280, tailwind: "xl" },
730
+ "2xl": { minWidth: 1536, tailwind: "2xl" }
731
+ }[a];
732
+ return {
733
+ name: a,
734
+ minWidth: t.minWidth,
735
+ px: `${t.minWidth}px`,
736
+ rem: `${t.minWidth / 16}rem`,
737
+ tailwind: t.tailwind
738
+ };
739
+ }
740
+ }
741
+ E.create("sm"), E.create("md"), E.create("lg"), E.create("xl"), E.create("2xl");
742
+ class A {
743
+ /**
744
+ * Create an animation token
745
+ */
746
+ static create(a, i = "ease-in-out") {
747
+ const t = {
748
+ fast: {
749
+ value: "150ms",
750
+ ms: 150,
751
+ tailwind: "duration-150"
752
+ },
753
+ base: {
754
+ value: "200ms",
755
+ ms: 200,
756
+ tailwind: "duration-200"
757
+ },
758
+ slow: {
759
+ value: "300ms",
760
+ ms: 300,
761
+ tailwind: "duration-300"
762
+ },
763
+ slower: {
764
+ value: "500ms",
765
+ ms: 500,
766
+ tailwind: "duration-500"
767
+ }
768
+ }, n = {
769
+ "ease-in": {
770
+ value: "cubic-bezier(0.4, 0, 1, 1)",
771
+ tailwind: "ease-in",
772
+ description: "Slow start, fast end"
773
+ },
774
+ "ease-out": {
775
+ value: "cubic-bezier(0, 0, 0.2, 1)",
776
+ tailwind: "ease-out",
777
+ description: "Fast start, slow end"
778
+ },
779
+ "ease-in-out": {
780
+ value: "cubic-bezier(0.4, 0, 0.2, 1)",
781
+ tailwind: "ease-in-out",
782
+ description: "Slow start and end, fast middle"
783
+ },
784
+ spring: {
785
+ value: "cubic-bezier(0.68, -0.55, 0.265, 1.55)",
786
+ tailwind: "ease-[cubic-bezier(0.68,-0.55,0.265,1.55)]",
787
+ description: "Spring-like bounce effect"
788
+ }
789
+ };
790
+ return {
791
+ duration: t[a],
792
+ easing: n[i]
793
+ };
794
+ }
795
+ /**
796
+ * Create a transition token
797
+ */
798
+ static createTransition(a, i = "base", t = "ease-in-out") {
799
+ const n = this.create(i, t), o = Array.isArray(a) ? a.join(", ") : a, c = [
800
+ n.duration.tailwind,
801
+ n.easing.tailwind
802
+ ].join(" ");
803
+ return {
804
+ property: o,
805
+ duration: n.duration.value,
806
+ timingFunction: n.easing.value,
807
+ tailwind: c
808
+ };
809
+ }
810
+ }
811
+ A.create("fast"), A.create("base"), A.create("slow"), A.create("slower"), A.createTransition(
812
+ ["color", "background-color", "border-color"],
813
+ "base"
814
+ ), A.createTransition("opacity", "fast"), A.createTransition("transform", "base"), A.createTransition("all", "base");
815
+ class z {
816
+ /**
817
+ * Create a z-index token
818
+ */
819
+ static create(a) {
820
+ return {
821
+ base: {
822
+ value: 0,
823
+ tailwind: "z-0",
824
+ description: "Base layer for normal content"
825
+ },
826
+ dropdown: {
827
+ value: 1e3,
828
+ tailwind: "z-[1000]",
829
+ description: "Dropdown menus and select options"
830
+ },
831
+ sticky: {
832
+ value: 1020,
833
+ tailwind: "z-[1020]",
834
+ description: "Sticky headers and navigation"
835
+ },
836
+ fixed: {
837
+ value: 1030,
838
+ tailwind: "z-[1030]",
839
+ description: "Fixed position elements"
840
+ },
841
+ "modal-backdrop": {
842
+ value: 1040,
843
+ tailwind: "z-[1040]",
844
+ description: "Modal backdrop/overlay"
845
+ },
846
+ modal: {
847
+ value: 1050,
848
+ tailwind: "z-[1050]",
849
+ description: "Modal dialogs and drawers"
850
+ },
851
+ popover: {
852
+ value: 1060,
853
+ tailwind: "z-[1060]",
854
+ description: "Popovers and tooltips"
855
+ },
856
+ tooltip: {
857
+ value: 1070,
858
+ tailwind: "z-[1070]",
859
+ description: "Tooltips (highest priority)"
860
+ },
861
+ toast: {
862
+ value: 1080,
863
+ tailwind: "z-[1080]",
864
+ description: "Toast notifications (highest priority)"
865
+ }
866
+ }[a];
867
+ }
868
+ }
869
+ z.create("base"), z.create("dropdown"), z.create("sticky"), z.create("fixed"), z.create("modal-backdrop"), z.create("modal"), z.create("popover"), z.create("tooltip"), z.create("toast");
870
+ class k {
871
+ /**
872
+ * Create an opacity token
873
+ */
874
+ static create(a) {
875
+ const i = a / 100, t = {
876
+ 0: "Fully transparent",
877
+ 5: "Very light overlay",
878
+ 10: "Light overlay",
879
+ 20: "Subtle overlay",
880
+ 25: "Quarter opacity",
881
+ 30: "Light background",
882
+ 40: "Semi-transparent",
883
+ 50: "Half opacity",
884
+ 60: "Semi-opaque",
885
+ 70: "Mostly opaque",
886
+ 75: "Three-quarter opacity",
887
+ 80: "High opacity",
888
+ 90: "Very high opacity",
889
+ 95: "Nearly opaque",
890
+ 100: "Fully opaque"
891
+ };
892
+ return {
893
+ value: a,
894
+ decimal: i,
895
+ tailwind: {
896
+ 0: "opacity-0",
897
+ 5: "opacity-5",
898
+ 10: "opacity-10",
899
+ 20: "opacity-20",
900
+ 25: "opacity-25",
901
+ 30: "opacity-30",
902
+ 40: "opacity-40",
903
+ 50: "opacity-50",
904
+ 60: "opacity-60",
905
+ 70: "opacity-70",
906
+ 75: "opacity-75",
907
+ 80: "opacity-80",
908
+ 90: "opacity-90",
909
+ 95: "opacity-95",
910
+ 100: "opacity-100"
911
+ }[a],
912
+ description: t[a]
913
+ };
914
+ }
915
+ }
916
+ k.create(0), k.create(5), k.create(10), k.create(20), k.create(25), k.create(30), k.create(40), k.create(50), k.create(60), k.create(70), k.create(75), k.create(80), k.create(90), k.create(95), k.create(100);
917
+ const be = H("w-full", {
918
+ variants: {
919
+ size: {
920
+ sm: "h-1",
921
+ md: "h-2",
922
+ lg: "h-3"
923
+ },
924
+ variant: {
925
+ primary: "bg-surface-muted",
926
+ secondary: "bg-surface-muted",
927
+ success: "bg-success-bg-emphasis",
928
+ error: "bg-error-bg-emphasis",
929
+ warning: "bg-warning-bg-emphasis",
930
+ info: "bg-info-bg-emphasis"
931
+ }
932
+ },
933
+ defaultVariants: {
934
+ size: "md",
935
+ variant: "primary"
936
+ }
937
+ }), G = H("transition-all", {
938
+ variants: {
939
+ variant: {
940
+ primary: "bg-surface-brand",
941
+ secondary: "bg-surface-secondary",
942
+ success: "bg-success",
943
+ error: "bg-error",
944
+ warning: "bg-warning",
945
+ info: "bg-info"
946
+ }
947
+ },
948
+ defaultVariants: {
949
+ variant: "primary"
950
+ }
951
+ }), ge = V(function(g, b) {
952
+ var h = g, {
953
+ value: a,
954
+ max: i = 100,
955
+ variant: t = "primary",
956
+ size: n = "md",
957
+ showLabel: o = !1,
958
+ label: c,
959
+ "aria-label": f,
960
+ className: m = ""
961
+ } = h, p = x(h, [
962
+ "value",
963
+ "max",
964
+ "variant",
965
+ "size",
966
+ "showLabel",
967
+ "label",
968
+ "aria-label",
969
+ "className"
970
+ ]);
971
+ const N = a === void 0, M = N ? void 0 : Math.min(Math.max(a / i * 100, 0), 100), j = f || (N ? "Loading in progress" : `Progress: ${M == null ? void 0 : M.toFixed(0)}%`);
972
+ return /* @__PURE__ */ $("div", v(u({ ref: b, className: d("w-full", m) }, p), { children: [
973
+ o && (c || !N) && /* @__PURE__ */ $(
974
+ "div",
975
+ {
976
+ className: d(
977
+ "flex",
978
+ "items-center",
979
+ "justify-between",
980
+ s("xs", "mb")
981
+ ),
982
+ children: [
983
+ c && /* @__PURE__ */ l(
984
+ "span",
985
+ {
986
+ className: d(
987
+ L("bodySmall"),
988
+ U("label"),
989
+ "text-fg-primary"
990
+ ),
991
+ children: c
992
+ }
993
+ ),
994
+ !N && M !== void 0 && /* @__PURE__ */ $(
995
+ "span",
996
+ {
997
+ className: d(
998
+ L("bodySmall"),
999
+ "text-fg-secondary"
1000
+ ),
1001
+ children: [
1002
+ M.toFixed(0),
1003
+ "%"
1004
+ ]
1005
+ }
1006
+ )
1007
+ ]
1008
+ }
1009
+ ),
1010
+ /* @__PURE__ */ l(
1011
+ "div",
1012
+ {
1013
+ role: "progressbar",
1014
+ "aria-valuemin": N ? void 0 : 0,
1015
+ "aria-valuemax": N ? void 0 : i,
1016
+ "aria-valuenow": N ? void 0 : a,
1017
+ "aria-label": j,
1018
+ "aria-busy": N,
1019
+ className: d(
1020
+ "relative",
1021
+ "w-full",
1022
+ "overflow-hidden",
1023
+ be({ size: n, variant: t }),
1024
+ T("full")
1025
+ ),
1026
+ children: N ? /* @__PURE__ */ l(
1027
+ "div",
1028
+ {
1029
+ className: d(
1030
+ "absolute",
1031
+ "top-0",
1032
+ "left-0",
1033
+ "bottom-0",
1034
+ G({ variant: t }),
1035
+ T("full"),
1036
+ "motion-reduce:animate-none"
1037
+ ),
1038
+ style: {
1039
+ width: "30%",
1040
+ animation: "progress-indeterminate 1.5s ease-in-out infinite"
1041
+ }
1042
+ }
1043
+ ) : /* @__PURE__ */ l(
1044
+ "div",
1045
+ {
1046
+ className: d(
1047
+ "h-full",
1048
+ G({ variant: t }),
1049
+ T("full"),
1050
+ "transition-all",
1051
+ "duration-300",
1052
+ "ease-out"
1053
+ ),
1054
+ style: {
1055
+ width: `${M}%`
1056
+ },
1057
+ "aria-hidden": "true"
1058
+ }
1059
+ )
1060
+ }
1061
+ )
1062
+ ] }));
1063
+ });
1064
+ ge.displayName = "Progress";
1065
+ function De(f) {
1066
+ var m = f, {
1067
+ variant: r = "text",
1068
+ width: a,
1069
+ height: i,
1070
+ lines: t = 1,
1071
+ className: n = "",
1072
+ "aria-label": o
1073
+ } = m, c = x(m, [
1074
+ "variant",
1075
+ "width",
1076
+ "height",
1077
+ "lines",
1078
+ "className",
1079
+ "aria-label"
1080
+ ]);
1081
+ const p = [
1082
+ "motion-safe:animate-pulse",
1083
+ "bg-surface-muted",
1084
+ T("sm")
1085
+ ], b = {
1086
+ text: "h-4",
1087
+ card: "h-32",
1088
+ list: "h-12",
1089
+ circle: T("full")
1090
+ }, g = d(...p, b[r], n), h = {};
1091
+ a && (h.width = a), i && (h.height = i);
1092
+ const N = o || `Loading ${r} content`;
1093
+ return r === "text" && t > 1 ? /* @__PURE__ */ l(
1094
+ "div",
1095
+ v(u({
1096
+ className: s("sm", "space-y"),
1097
+ role: "status",
1098
+ "aria-busy": "true",
1099
+ "aria-label": N
1100
+ }, c), {
1101
+ children: Array.from({ length: t }).map((M, j) => /* @__PURE__ */ l(
1102
+ "div",
1103
+ {
1104
+ className: g,
1105
+ style: j === t - 1 ? { width: "75%" } : h,
1106
+ "aria-hidden": "true"
1107
+ },
1108
+ j
1109
+ ))
1110
+ })
1111
+ ) : /* @__PURE__ */ l(
1112
+ "div",
1113
+ u({
1114
+ className: g,
1115
+ style: h,
1116
+ role: "status",
1117
+ "aria-busy": "true",
1118
+ "aria-label": N
1119
+ }, c)
1120
+ );
1121
+ }
1122
+ const xe = H("motion-safe:animate-spin", {
1123
+ variants: {
1124
+ size: {
1125
+ sm: "h-4 w-4",
1126
+ md: "h-5 w-5",
1127
+ lg: "h-8 w-8"
1128
+ },
1129
+ variant: {
1130
+ primary: "text-fg-brand",
1131
+ secondary: "text-fg-brand-secondary",
1132
+ neutral: "text-fg-secondary"
1133
+ }
1134
+ },
1135
+ defaultVariants: {
1136
+ size: "md",
1137
+ variant: "primary"
1138
+ }
1139
+ }), he = te(function(c) {
1140
+ var f = c, {
1141
+ size: a = "md",
1142
+ variant: i = "primary",
1143
+ label: t,
1144
+ className: n = ""
1145
+ } = f, o = x(f, [
1146
+ "size",
1147
+ "variant",
1148
+ "label",
1149
+ "className"
1150
+ ]);
1151
+ return /* @__PURE__ */ $(
1152
+ "div",
1153
+ v(u({
1154
+ className: d("inline-flex", "items-center", n),
1155
+ role: "status",
1156
+ "aria-label": t || "Loading",
1157
+ "aria-live": "polite"
1158
+ }, o), {
1159
+ children: [
1160
+ /* @__PURE__ */ l(
1161
+ ne,
1162
+ {
1163
+ className: d(xe({ size: a, variant: i })),
1164
+ "aria-hidden": "true"
1165
+ }
1166
+ ),
1167
+ t && /* @__PURE__ */ l(
1168
+ "span",
1169
+ {
1170
+ className: d(
1171
+ s("sm", "ml"),
1172
+ L("bodySmall"),
1173
+ "text-fg-secondary",
1174
+ "sr-only"
1175
+ ),
1176
+ children: t
1177
+ }
1178
+ )
1179
+ ]
1180
+ })
1181
+ );
1182
+ });
1183
+ he.displayName = "Spinner";
1184
+ const ye = {
1185
+ primary: {
1186
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1187
+ light: "text-indigo-400",
1188
+ DEFAULT: "text-fg-brand",
1189
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1190
+ dark: "text-indigo-600",
1191
+ contrast: "text-fg-inverse"
1192
+ },
1193
+ secondary: {
1194
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1195
+ light: "text-pink-300",
1196
+ DEFAULT: "text-fg-brand-secondary",
1197
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1198
+ dark: "text-pink-600",
1199
+ contrast: "text-fg-inverse"
1200
+ },
1201
+ success: {
1202
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1203
+ light: "text-green-300",
1204
+ DEFAULT: "text-fg-success",
1205
+ dark: "text-success-dark",
1206
+ contrast: "text-fg-inverse"
1207
+ },
1208
+ warning: {
1209
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1210
+ light: "text-yellow-300",
1211
+ DEFAULT: "text-fg-warning",
1212
+ dark: "text-warning-dark",
1213
+ contrast: "text-fg-inverse"
1214
+ },
1215
+ error: {
1216
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1217
+ light: "text-red-300",
1218
+ DEFAULT: "text-fg-error",
1219
+ dark: "text-error-dark",
1220
+ contrast: "text-fg-inverse"
1221
+ },
1222
+ info: {
1223
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1224
+ light: "text-blue-300",
1225
+ DEFAULT: "text-fg-info",
1226
+ dark: "text-info-dark",
1227
+ contrast: "text-fg-inverse"
1228
+ },
1229
+ neutral: {
1230
+ light: "text-fg-tertiary",
1231
+ DEFAULT: "text-fg-secondary",
1232
+ dark: "text-fg-primary",
1233
+ contrast: "text-fg-inverse"
1234
+ }
1235
+ };
1236
+ function we(p, m) {
1237
+ var b = p, {
1238
+ variant: r = "paragraph",
1239
+ bold: a,
1240
+ italic: i,
1241
+ className: t,
1242
+ as: n,
1243
+ colorRole: o = "neutral",
1244
+ colorShade: c = "dark"
1245
+ } = b, f = x(b, [
1246
+ "variant",
1247
+ "bold",
1248
+ "italic",
1249
+ "className",
1250
+ "as",
1251
+ "colorRole",
1252
+ "colorShade"
1253
+ ]);
1254
+ const g = [];
1255
+ let h;
1256
+ if (n)
1257
+ h = n;
1258
+ else
1259
+ switch (r) {
1260
+ case "heading":
1261
+ h = "h2";
1262
+ break;
1263
+ case "list":
1264
+ h = "li";
1265
+ break;
1266
+ default:
1267
+ h = "p";
1268
+ break;
1269
+ }
1270
+ return r === "heading" ? g.push(W("h2")) : r === "body" || r === "paragraph" ? g.push(W("body")) : r === "bodySmall" ? g.push(W("bodySmall")) : r === "bodyLarge" ? g.push(W("bodyLarge")) : r === "caption" ? g.push(W("caption")) : r === "label" ? g.push(W("label")) : g.push(W("body")), a && g.push("font-bold"), i && g.push("italic"), g.push(ye[o][c]), /* @__PURE__ */ l(h, u({ ref: m, className: d(...g, t) }, f));
1271
+ }
1272
+ const je = V(we), ve = {
1273
+ sm: "max-w-screen-sm",
1274
+ md: "max-w-screen-md",
1275
+ lg: "max-w-screen-lg",
1276
+ xl: "max-w-screen-xl",
1277
+ "2xl": "max-w-screen-2xl",
1278
+ full: "max-w-full"
1279
+ }, ke = Y.forwardRef(
1280
+ (m, f) => {
1281
+ var p = m, {
1282
+ className: r,
1283
+ maxWidth: a = "lg",
1284
+ paddingX: i = "base",
1285
+ paddingY: t = "base",
1286
+ center: n = !0,
1287
+ children: o
1288
+ } = p, c = x(p, [
1289
+ "className",
1290
+ "maxWidth",
1291
+ "paddingX",
1292
+ "paddingY",
1293
+ "center",
1294
+ "children"
1295
+ ]);
1296
+ return /* @__PURE__ */ l(
1297
+ "div",
1298
+ v(u({
1299
+ ref: f,
1300
+ className: d(
1301
+ "w-full",
1302
+ ve[a],
1303
+ s(i, "px"),
1304
+ s(t, "py"),
1305
+ n && "mx-auto",
1306
+ r
1307
+ )
1308
+ }, c), {
1309
+ children: o
1310
+ })
1311
+ );
1312
+ }
1313
+ );
1314
+ ke.displayName = "Container";
1315
+ const Ne = Y.forwardRef(
1316
+ (m, f) => {
1317
+ var p = m, {
1318
+ className: r,
1319
+ spacing: a = "base",
1320
+ align: i = "stretch",
1321
+ justify: t = "start",
1322
+ direction: n = "column",
1323
+ children: o
1324
+ } = p, c = x(p, [
1325
+ "className",
1326
+ "spacing",
1327
+ "align",
1328
+ "justify",
1329
+ "direction",
1330
+ "children"
1331
+ ]);
1332
+ const b = n === "column" ? s(a, "gap-y") : s(a, "gap-x"), g = {
1333
+ start: "items-start",
1334
+ center: "items-center",
1335
+ end: "items-end",
1336
+ stretch: "items-stretch"
1337
+ }, h = {
1338
+ start: "justify-start",
1339
+ center: "justify-center",
1340
+ end: "justify-end",
1341
+ between: "justify-between",
1342
+ around: "justify-around",
1343
+ evenly: "justify-evenly"
1344
+ };
1345
+ return /* @__PURE__ */ l(
1346
+ "div",
1347
+ v(u({
1348
+ ref: f,
1349
+ className: d(
1350
+ "flex",
1351
+ n === "column" ? "flex-col" : "flex-row",
1352
+ b,
1353
+ g[i],
1354
+ h[t],
1355
+ r
1356
+ )
1357
+ }, c), {
1358
+ children: o
1359
+ })
1360
+ );
1361
+ }
1362
+ );
1363
+ Ne.displayName = "Stack";
1364
+ const $e = V(
1365
+ function({ option: a, isHighlighted: i, onSelect: t }, n) {
1366
+ const o = () => {
1367
+ a.disabled || t(a);
1368
+ };
1369
+ return /* @__PURE__ */ $(
1370
+ "div",
1371
+ {
1372
+ ref: n,
1373
+ role: "option",
1374
+ "aria-selected": i,
1375
+ "aria-disabled": a.disabled,
1376
+ onClick: o,
1377
+ className: `
1378
+ flex
1379
+ items-center
1380
+ ${s("sm", "gap")}
1381
+ ${s("sm", "px")}
1382
+ ${s("sm", "py")}
1383
+ text-sm
1384
+ cursor-pointer
1385
+ transition-colors
1386
+ ${i ? "bg-surface-active" : ""}
1387
+ ${a.disabled ? "opacity-50 cursor-not-allowed" : "hover:bg-surface-hover"}
1388
+ `,
1389
+ children: [
1390
+ a.icon && /* @__PURE__ */ l("span", { className: "flex-shrink-0", children: a.icon }),
1391
+ /* @__PURE__ */ l("span", { className: "flex-1", children: a.label })
1392
+ ]
1393
+ }
1394
+ );
1395
+ }
1396
+ );
1397
+ $e.displayName = "AutocompleteOption";
1398
+ function Ee(n) {
1399
+ var o = n, {
1400
+ items: r,
1401
+ separator: a = "/",
1402
+ className: i = ""
1403
+ } = o, t = x(o, [
1404
+ "items",
1405
+ "separator",
1406
+ "className"
1407
+ ]);
1408
+ const c = [
1409
+ "flex",
1410
+ "items-center",
1411
+ s("sm", "space-x"),
1412
+ L("bodySmall")
1413
+ ], f = d(...c, i);
1414
+ return /* @__PURE__ */ l("nav", v(u({ "aria-label": "Breadcrumb", className: f }, t), { children: /* @__PURE__ */ l(
1415
+ "ol",
1416
+ {
1417
+ className: d("flex", "items-center", s("sm", "space-x")),
1418
+ children: r.map((m, p) => {
1419
+ const b = p === r.length - 1;
1420
+ return /* @__PURE__ */ $("li", { className: "flex items-center", children: [
1421
+ p > 0 && /* @__PURE__ */ l(
1422
+ "span",
1423
+ {
1424
+ className: d(
1425
+ s("sm", "mx"),
1426
+ "text-fg-tertiary"
1427
+ ),
1428
+ "aria-hidden": "true",
1429
+ children: a
1430
+ }
1431
+ ),
1432
+ b ? /* @__PURE__ */ l(
1433
+ "span",
1434
+ {
1435
+ className: d(
1436
+ "text-fg-primary",
1437
+ U("label")
1438
+ ),
1439
+ "aria-current": "page",
1440
+ children: m.label
1441
+ }
1442
+ ) : m.href ? /* @__PURE__ */ l(
1443
+ "a",
1444
+ {
1445
+ href: m.href,
1446
+ className: d(
1447
+ "inline-flex",
1448
+ "items-center",
1449
+ s("xs", "px"),
1450
+ s("xs", "pt"),
1451
+ "border-b-2",
1452
+ "border-transparent",
1453
+ L("bodySmall"),
1454
+ U("label"),
1455
+ "transition-colors",
1456
+ "text-fg-secondary",
1457
+ "hover:border-line-emphasis",
1458
+ "hover:text-fg-primary"
1459
+ ),
1460
+ children: m.label
1461
+ }
1462
+ ) : /* @__PURE__ */ l("span", { className: "text-fg-secondary", children: m.label })
1463
+ ] }, p);
1464
+ })
1465
+ }
1466
+ ) }));
1467
+ }
1468
+ function Ie(t) {
1469
+ var n = t, {
1470
+ children: r,
1471
+ className: a = ""
1472
+ } = n, i = x(n, [
1473
+ "children",
1474
+ "className"
1475
+ ]);
1476
+ return /* @__PURE__ */ l(
1477
+ "div",
1478
+ v(u({
1479
+ className: `flex flex-col ${s("1.5", "space-y")} ${s("lg", "p")} ${s("base", "pb")} ${a}`
1480
+ }, i), {
1481
+ children: r
1482
+ })
1483
+ );
1484
+ }
1485
+ function Ve(t) {
1486
+ var n = t, {
1487
+ children: r,
1488
+ className: a = ""
1489
+ } = n, i = x(n, [
1490
+ "children",
1491
+ "className"
1492
+ ]);
1493
+ return /* @__PURE__ */ l(
1494
+ "div",
1495
+ v(u({
1496
+ className: `flex flex-col-reverse sm:flex-row sm:justify-end sm:${s("sm", "space-x")} ${s("lg", "p")} ${s("base", "pt")} ${a}`
1497
+ }, i), {
1498
+ children: r
1499
+ })
1500
+ );
1501
+ }
1502
+ function He(t) {
1503
+ var n = t, {
1504
+ children: r,
1505
+ className: a = ""
1506
+ } = n, i = x(n, [
1507
+ "children",
1508
+ "className"
1509
+ ]);
1510
+ return /* @__PURE__ */ l(
1511
+ "div",
1512
+ v(u({
1513
+ className: `
1514
+ ${s("lg", "p")}
1515
+ border-b
1516
+ border-line-default
1517
+ ${a}
1518
+ `
1519
+ }, i), {
1520
+ children: r
1521
+ })
1522
+ );
1523
+ }
1524
+ function Oe(t) {
1525
+ var n = t, {
1526
+ children: r,
1527
+ className: a = ""
1528
+ } = n, i = x(n, [
1529
+ "children",
1530
+ "className"
1531
+ ]);
1532
+ return /* @__PURE__ */ l(
1533
+ "div",
1534
+ v(u({
1535
+ className: `
1536
+ ${s("lg", "p")}
1537
+ border-t
1538
+ border-line-default
1539
+ flex
1540
+ justify-end
1541
+ ${s("sm", "gap")}
1542
+ ${a}
1543
+ `
1544
+ }, i), {
1545
+ children: r
1546
+ })
1547
+ );
1548
+ }
1549
+ function Ue({ children: r, className: a }) {
1550
+ return /* @__PURE__ */ l(
1551
+ "div",
1552
+ {
1553
+ className: d(
1554
+ "flex-shrink-0 flex items-center",
1555
+ s("sm", "gap"),
1556
+ a
1557
+ ),
1558
+ children: r
1559
+ }
1560
+ );
1561
+ }
1562
+ function Be({
1563
+ children: r,
1564
+ className: a
1565
+ }) {
1566
+ return /* @__PURE__ */ l(
1567
+ "nav",
1568
+ {
1569
+ className: d(
1570
+ "flex-1 flex items-center justify-center",
1571
+ s("base", "gap"),
1572
+ "hidden md:flex",
1573
+ // Hidden on mobile, visible on desktop
1574
+ a
1575
+ ),
1576
+ "aria-label": "Main navigation",
1577
+ children: r
1578
+ }
1579
+ );
1580
+ }
1581
+ function Re(i) {
1582
+ var t = i, {
1583
+ className: r = ""
1584
+ } = t, a = x(t, [
1585
+ "className"
1586
+ ]);
1587
+ return /* @__PURE__ */ l(
1588
+ "div",
1589
+ u({
1590
+ role: "separator",
1591
+ className: `
1592
+ h-px
1593
+ bg-line-default
1594
+ ${s("sm", "my")}
1595
+ ${r}
1596
+ `
1597
+ }, a)
1598
+ );
1599
+ }
1600
+ function qe(t) {
1601
+ var n = t, {
1602
+ orientation: r = "horizontal",
1603
+ className: a = ""
1604
+ } = n, i = x(n, [
1605
+ "orientation",
1606
+ "className"
1607
+ ]);
1608
+ return r === "vertical" ? /* @__PURE__ */ l(
1609
+ "div",
1610
+ u({
1611
+ className: d("w-px", "h-6", "bg-line-default", "mx-auto", a),
1612
+ role: "separator",
1613
+ "aria-orientation": "vertical"
1614
+ }, i)
1615
+ ) : /* @__PURE__ */ l(
1616
+ "div",
1617
+ u({
1618
+ className: d(
1619
+ "w-full",
1620
+ "h-px",
1621
+ "bg-line-default",
1622
+ s("sm", "my"),
1623
+ // my-2 (8px) para consistência com gap-2 usado em outros lugares
1624
+ "flex-shrink-0",
1625
+ // Prevenir que separator encolha
1626
+ a
1627
+ ),
1628
+ role: "separator",
1629
+ "aria-orientation": "horizontal",
1630
+ style: {
1631
+ // Garantir que separator não seja afetado por transformações
1632
+ willChange: "auto",
1633
+ transform: "none"
1634
+ }
1635
+ }, i)
1636
+ );
1637
+ }
1638
+ function Pe(n) {
1639
+ var o = n, { column: r, row: a, className: i = "" } = o, t = x(o, ["column", "row", "className"]);
1640
+ const c = r.key in a ? a[r.key] : void 0;
1641
+ return /* @__PURE__ */ l(
1642
+ "td",
1643
+ v(u({
1644
+ className: `${s("lg", "px")} ${s("base", "py")} whitespace-nowrap text-sm text-fg-primary ${r.hiddenOnMobile ? "hidden md:table-cell" : ""} ${i}`
1645
+ }, t), {
1646
+ children: r.render ? r.render(c, a) : String(c != null ? c : "")
1647
+ })
1648
+ );
1649
+ }
1650
+ function _e({
1651
+ items: r,
1652
+ orientation: a = "vertical",
1653
+ className: i = ""
1654
+ }) {
1655
+ return a === "horizontal" ? /* @__PURE__ */ l("div", { className: `flex items-start ${i}`, children: r.map((t, n) => {
1656
+ const o = t.status || (n === 0 ? "active" : n < r.findIndex((f) => f.status === "active") ? "completed" : "default"), c = n === r.length - 1;
1657
+ return /* @__PURE__ */ l("div", { className: "flex items-start flex-1", children: /* @__PURE__ */ $("div", { className: "flex flex-col items-center flex-1", children: [
1658
+ /* @__PURE__ */ l(
1659
+ "div",
1660
+ v(u({}, o === "default" ? { "data-marker": "pending" } : {}), {
1661
+ className: `
1662
+ flex
1663
+ items-center
1664
+ justify-center
1665
+ w-10
1666
+ h-10
1667
+ ${T("full")}
1668
+ border-2
1669
+ ${o === "completed" ? "bg-success border-success text-fg-inverse" : o === "active" ? "bg-surface-brand-strong border-line-brand text-fg-inverse" : o === "error" ? "bg-error border-error text-fg-inverse" : "bg-surface-base border-line-emphasis text-fg-quaternary"}
1670
+ `,
1671
+ children: t.icon || (o === "completed" ? /* @__PURE__ */ l(X, { className: "h-4 w-4" }) : n + 1)
1672
+ })
1673
+ ),
1674
+ !c && /* @__PURE__ */ l(
1675
+ "div",
1676
+ {
1677
+ className: `
1678
+ w-full
1679
+ h-0.5
1680
+ ${s("sm", "mt")}
1681
+ ${o === "completed" ? "bg-success" : "bg-line-emphasis"}
1682
+ `
1683
+ }
1684
+ ),
1685
+ /* @__PURE__ */ $(
1686
+ "div",
1687
+ {
1688
+ className: `${s("base", "mt")} text-center ${s("base", "px")}`,
1689
+ children: [
1690
+ t.timestamp && /* @__PURE__ */ l(
1691
+ "p",
1692
+ {
1693
+ className: `text-xs text-fg-tertiary ${s("xs", "mb")}`,
1694
+ children: t.timestamp
1695
+ }
1696
+ ),
1697
+ /* @__PURE__ */ l("h3", { className: "text-sm font-semibold text-fg-primary", children: t.title }),
1698
+ t.description && /* @__PURE__ */ l(
1699
+ "p",
1700
+ {
1701
+ className: `text-xs text-fg-secondary ${s("xs", "mt")}`,
1702
+ children: t.description
1703
+ }
1704
+ ),
1705
+ t.content && /* @__PURE__ */ l("div", { className: s("sm", "mt"), children: t.content })
1706
+ ]
1707
+ }
1708
+ )
1709
+ ] }) }, t.id);
1710
+ }) }) : /* @__PURE__ */ l("div", { className: `${s("none", "space-y")} ${i}`, children: r.map((t, n) => {
1711
+ const o = t.status || (n === 0 ? "active" : n < r.findIndex((f) => f.status === "active") ? "completed" : "default"), c = n === r.length - 1;
1712
+ return /* @__PURE__ */ $(
1713
+ "div",
1714
+ {
1715
+ className: `flex items-start ${s("base", "gap")}`,
1716
+ children: [
1717
+ /* @__PURE__ */ $("div", { className: "flex flex-col items-center", children: [
1718
+ /* @__PURE__ */ l(
1719
+ "div",
1720
+ v(u({}, o === "default" ? { "data-marker": "pending" } : {}), {
1721
+ className: `
1722
+ flex
1723
+ items-center
1724
+ justify-center
1725
+ w-10
1726
+ h-10
1727
+ ${T("full")}
1728
+ border-2
1729
+ ${o === "completed" ? "bg-success border-success text-fg-inverse" : o === "active" ? "bg-surface-brand-strong border-line-brand text-fg-inverse" : o === "error" ? "bg-error border-error text-fg-inverse" : "bg-surface-base border-line-emphasis text-fg-quaternary"}
1730
+ `,
1731
+ children: t.icon || (o === "completed" ? /* @__PURE__ */ l(X, { className: "h-4 w-4" }) : n + 1)
1732
+ })
1733
+ ),
1734
+ !c && /* @__PURE__ */ l(
1735
+ "div",
1736
+ {
1737
+ className: `
1738
+ w-0.5
1739
+ flex-1
1740
+ min-h-16
1741
+ ${s("sm", "mt")}
1742
+ ${o === "completed" ? "bg-success" : "bg-line-emphasis"}
1743
+ `
1744
+ }
1745
+ )
1746
+ ] }),
1747
+ /* @__PURE__ */ $("div", { className: `flex-1 ${s("xl", "pb")}`, children: [
1748
+ t.timestamp && /* @__PURE__ */ l(
1749
+ "p",
1750
+ {
1751
+ className: `text-xs text-fg-tertiary ${s("xs", "mb")}`,
1752
+ children: t.timestamp
1753
+ }
1754
+ ),
1755
+ /* @__PURE__ */ l(
1756
+ "h3",
1757
+ {
1758
+ className: `
1759
+ text-base
1760
+ font-semibold
1761
+ ${o === "active" ? "text-fg-brand-emphasis" : "text-fg-primary"}
1762
+ `,
1763
+ children: t.title
1764
+ }
1765
+ ),
1766
+ t.description && /* @__PURE__ */ l(
1767
+ "p",
1768
+ {
1769
+ className: `text-sm text-fg-secondary ${s("xs", "mt")}`,
1770
+ children: t.description
1771
+ }
1772
+ ),
1773
+ t.content && /* @__PURE__ */ l("div", { className: s("md", "mt"), children: t.content })
1774
+ ] })
1775
+ ]
1776
+ },
1777
+ t.id
1778
+ );
1779
+ }) });
1780
+ }
1781
+ export {
1782
+ $e as AutocompleteOption,
1783
+ Ee as Breadcrumb,
1784
+ pe as Chip,
1785
+ ke as Container,
1786
+ Ve as DialogFooter,
1787
+ Ie as DialogHeader,
1788
+ Oe as DrawerFooter,
1789
+ He as DrawerHeader,
1790
+ Ae as ErrorMessage,
1791
+ Ue as HeaderActions,
1792
+ Be as HeaderNavigation,
1793
+ We as Info,
1794
+ Re as MenuSeparator,
1795
+ qe as NavbarSeparator,
1796
+ ge as Progress,
1797
+ De as Skeleton,
1798
+ he as Spinner,
1799
+ Ne as Stack,
1800
+ Pe as TableCell,
1801
+ je as Text,
1802
+ _e as Timeline
1803
+ };
1804
+ //# sourceMappingURL=index.js.map