@fabio.caffarello/react-design-system 2.0.1 → 3.0.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,1842 @@
1
+ var ee = Object.defineProperty, ae = Object.defineProperties;
2
+ var te = Object.getOwnPropertyDescriptors;
3
+ var V = Object.getOwnPropertySymbols;
4
+ var _ = Object.prototype.hasOwnProperty, K = Object.prototype.propertyIsEnumerable;
5
+ var B = (r, a, i) => a in r ? ee(r, a, { enumerable: !0, configurable: !0, writable: !0, value: i }) : r[a] = i, b = (r, a) => {
6
+ for (var i in a || (a = {}))
7
+ _.call(a, i) && B(r, i, a[i]);
8
+ if (V)
9
+ for (var i of V(a))
10
+ K.call(a, i) && B(r, i, a[i]);
11
+ return r;
12
+ }, k = (r, a) => ae(r, te(a));
13
+ var h = (r, a) => {
14
+ var i = {};
15
+ for (var t in r)
16
+ _.call(r, t) && a.indexOf(t) < 0 && (i[t] = r[t]);
17
+ if (r != null && V)
18
+ for (var t of V(r))
19
+ a.indexOf(t) < 0 && K.call(r, t) && (i[t] = r[t]);
20
+ return i;
21
+ };
22
+ var X = (r, a, i) => B(r, typeof a != "symbol" ? a + "" : a, i);
23
+ import { jsxs as T, jsx as o } from "react/jsx-runtime";
24
+ import Q, { forwardRef as H, memo as re } from "react";
25
+ import { X as ie, AlertCircle as ne, Loader2 as se, CheckCircle2 as G } from "lucide-react";
26
+ import { clsx as le } from "clsx";
27
+ import { twMerge as oe } from "tailwind-merge";
28
+ import { cva as ce } from "class-variance-authority";
29
+ class A {
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 de = {
86
+ none: A.create("none"),
87
+ sm: A.create("sm"),
88
+ md: A.create("md"),
89
+ lg: A.create("lg"),
90
+ xl: A.create("xl"),
91
+ "2xl": A.create("2xl"),
92
+ "3xl": A.create("3xl"),
93
+ full: A.create("full")
94
+ };
95
+ function S(r) {
96
+ return de[r].tailwind;
97
+ }
98
+ class w {
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
+ X(w, "BASE_UNIT", 4);
166
+ const fe = {
167
+ // Micro spacing (0-14px)
168
+ none: w.create(0),
169
+ "0.5": w.create(0.5),
170
+ // 2px (half-step)
171
+ xs: w.create(1),
172
+ // 4px
173
+ "1.5": w.create(1.5),
174
+ // 6px (half-step)
175
+ sm: w.create(2),
176
+ // 8px
177
+ "2.5": w.create(2.5),
178
+ // 10px (half-step)
179
+ md: w.create(3),
180
+ // 12px
181
+ "3.5": w.create(3.5),
182
+ // 14px (half-step)
183
+ // Standard spacing (16-32px)
184
+ base: w.create(4),
185
+ // 16px
186
+ lg: w.create(6),
187
+ // 24px
188
+ xl: w.create(8),
189
+ // 32px
190
+ // Large spacing (40-64px)
191
+ "2xl": w.create(10),
192
+ // 40px
193
+ "3xl": w.create(12),
194
+ // 48px
195
+ "4xl": w.create(16),
196
+ // 64px
197
+ // Extra large spacing (80px+)
198
+ "5xl": w.create(20),
199
+ // 80px
200
+ "6xl": w.create(24)
201
+ // 96px
202
+ };
203
+ function l(r, a = "p") {
204
+ const t = fe[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 v {
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
+ v.createFontWeight("light"), v.createFontWeight("normal"), v.createFontWeight("medium"), v.createFontWeight("semibold"), v.createFontWeight("bold");
298
+ const U = {
299
+ // Headings
300
+ h1: v.create("4xl", "tight", "bold"),
301
+ h2: v.create("3xl", "tight", "bold"),
302
+ h3: v.create("2xl", "snug", "semibold"),
303
+ h4: v.create("xl", "snug", "semibold"),
304
+ h5: v.create("lg", "normal", "medium"),
305
+ h6: v.create("base", "normal", "medium"),
306
+ // Body text
307
+ body: v.create("base", "relaxed", "normal"),
308
+ bodySmall: v.create("sm", "relaxed", "normal"),
309
+ bodyLarge: v.create("lg", "relaxed", "normal"),
310
+ // UI elements
311
+ label: v.create("sm", "normal", "medium"),
312
+ caption: v.create("xs", "normal", "normal"),
313
+ button: v.create("base", "normal", "medium")
314
+ };
315
+ function I(r) {
316
+ const a = U[r];
317
+ return `${a.fontSize.tailwind} ${a.lineHeight.tailwind} ${a.fontWeight.tailwind}`;
318
+ }
319
+ function C(r) {
320
+ return U[r].fontSize.tailwind;
321
+ }
322
+ function R(r) {
323
+ return U[r].fontWeight.tailwind;
324
+ }
325
+ function d(...r) {
326
+ return oe(le(r));
327
+ }
328
+ const O = (r, a) => {
329
+ const i = ce(r, a);
330
+ return ((t) => {
331
+ const n = i(t);
332
+ return d(n);
333
+ });
334
+ }, pe = O(
335
+ // Base classes
336
+ d(
337
+ "inline-flex",
338
+ "items-center",
339
+ "font-medium",
340
+ S("full"),
341
+ l("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
+ l("xs", "px"),
368
+ l("xs", "py"),
369
+ C("caption")
370
+ ),
371
+ md: d(
372
+ l("sm", "px"),
373
+ l("xs", "py"),
374
+ C("bodySmall")
375
+ ),
376
+ lg: d(
377
+ l("md", "px"),
378
+ l("sm", "py"),
379
+ C("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
+ ), ue = H(function(N, y) {
424
+ var F = N, {
425
+ children: a,
426
+ variant: i = "default",
427
+ size: t = "md",
428
+ onRemove: n,
429
+ selected: s = !1,
430
+ disabled: c = !1,
431
+ className: f = "",
432
+ "aria-label": m,
433
+ onClick: p,
434
+ tabIndex: u
435
+ } = F, x = h(F, [
436
+ "children",
437
+ "variant",
438
+ "size",
439
+ "onRemove",
440
+ "selected",
441
+ "disabled",
442
+ "className",
443
+ "aria-label",
444
+ "onClick",
445
+ "tabIndex"
446
+ ]);
447
+ const q = (() => {
448
+ if (m) return m;
449
+ if (typeof a == "string") return a;
450
+ if (typeof a == "object" && a !== null && "props" in a) {
451
+ const M = a.props;
452
+ if (M != null && M.children && typeof M.children == "string")
453
+ return M.children;
454
+ }
455
+ })(), P = p !== void 0, Z = P && !c, J = (M) => {
456
+ c || (M.key === "Enter" || M.key === " ") && (M.preventDefault(), p == null || p());
457
+ };
458
+ return /* @__PURE__ */ T(
459
+ "div",
460
+ k(b({
461
+ ref: y,
462
+ className: d(
463
+ pe({ variant: i, size: t, selected: s, disabled: c }),
464
+ n && l("xs", "pr"),
465
+ f
466
+ ),
467
+ "aria-disabled": c
468
+ }, x), {
469
+ children: [
470
+ P ? /* @__PURE__ */ o(
471
+ "button",
472
+ {
473
+ type: "button",
474
+ onClick: c ? void 0 : p,
475
+ onKeyDown: J,
476
+ disabled: c,
477
+ "aria-pressed": s ? !0 : void 0,
478
+ "aria-label": m || q,
479
+ tabIndex: u !== void 0 ? u : Z ? 0 : void 0,
480
+ className: d(
481
+ "flex-1",
482
+ "bg-transparent",
483
+ "border-0",
484
+ l("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
+ S("full")
493
+ ),
494
+ children: a
495
+ }
496
+ ) : /* @__PURE__ */ o("span", { children: a }),
497
+ n && !c && /* @__PURE__ */ o(
498
+ "button",
499
+ {
500
+ type: "button",
501
+ onClick: (M) => {
502
+ M.stopPropagation(), n();
503
+ },
504
+ className: d(
505
+ l("xs", "ml"),
506
+ "hover:bg-tint-hover",
507
+ S("full"),
508
+ l("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 ${q || "chip"}`,
516
+ children: /* @__PURE__ */ o(ie, { className: "h-3 w-3", "aria-hidden": "true" })
517
+ }
518
+ )
519
+ ]
520
+ })
521
+ );
522
+ });
523
+ ue.displayName = "Chip";
524
+ function De(n) {
525
+ var s = n, {
526
+ message: r,
527
+ id: a,
528
+ className: i = ""
529
+ } = s, t = h(s, [
530
+ "message",
531
+ "id",
532
+ "className"
533
+ ]);
534
+ const c = [
535
+ l("xs", "mt"),
536
+ C("bodySmall"),
537
+ "text-fg-error",
538
+ "flex",
539
+ "items-center",
540
+ l("xs", "gap")
541
+ ], f = d(...c, i);
542
+ return /* @__PURE__ */ T("div", k(b({ role: "alert", id: a, className: f, "aria-live": "polite" }, t), { children: [
543
+ /* @__PURE__ */ o(ne, { className: "h-4 w-4 shrink-0", "aria-hidden": "true" }),
544
+ /* @__PURE__ */ o("span", { children: r })
545
+ ] }));
546
+ }
547
+ function je(t) {
548
+ var n = t, {
549
+ variant: r = "info",
550
+ className: a
551
+ } = n, i = h(n, [
552
+ "variant",
553
+ "className"
554
+ ]);
555
+ const s = {
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__ */ o(
561
+ "div",
562
+ b({
563
+ role: "alert",
564
+ className: d(
565
+ "border",
566
+ l("base", "px"),
567
+ l("sm", "py"),
568
+ S("lg"),
569
+ s[r],
570
+ a
571
+ )
572
+ }, i)
573
+ );
574
+ }
575
+ function g(r, a, i) {
576
+ const t = me(r), n = be(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 me(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 be(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, s = Math.max(i, t, n), c = Math.min(i, t, n);
593
+ let f = 0, m = 0;
594
+ const p = (s + c) / 2;
595
+ if (s !== c) {
596
+ const u = s - c;
597
+ switch (m = p > 0.5 ? u / (2 - s - c) : u / (s + c), s) {
598
+ case i:
599
+ f = ((t - n) / u + (t < n ? 6 : 0)) / 6;
600
+ break;
601
+ case t:
602
+ f = ((n - i) / u + 2) / 6;
603
+ break;
604
+ case n:
605
+ f = ((i - t) / u + 4) / 6;
606
+ break;
607
+ }
608
+ }
609
+ return `${Math.round(f * 360)}, ${Math.round(m * 100)}%, ${Math.round(p * 100)}%`;
610
+ }
611
+ g("#f0f4f8", "brand-primary", 50), g("#d9e2ec", "brand-primary", 100), g("#bcccdc", "brand-primary", 200), g("#9fb3c8", "brand-primary", 300), g("#7390ad", "brand-primary", 400), g("#486581", "brand-primary", 500), g("#334e68", "brand-primary", 600), g("#243b53", "brand-primary", 700), g("#1a2a3a", "brand-primary", 800), g("#102a43", "brand-primary", 900), g("#061a35", "brand-primary", 950);
612
+ g("#f7f5ff", "brand-secondary", 50), g("#eee9ff", "brand-secondary", 100), g("#e0d6ff", "brand-secondary", 200), g("#cbb8ff", "brand-secondary", 300), g("#aa89fc", "brand-secondary", 400), g("#8e58f2", "brand-secondary", 500), g("#703bc8", "brand-secondary", 600), g("#582aa2", "brand-secondary", 700), g("#44227e", "brand-secondary", 800), g("#32185d", "brand-secondary", 900), g("#180635", "brand-secondary", 950);
613
+ function e(r, a, i) {
614
+ const t = ge(r), n = xe(r);
615
+ return {
616
+ hex: r,
617
+ rgb: t,
618
+ hsl: n,
619
+ cssVar: `var(--color-${a}-${i})`,
620
+ tailwind: `${a}-${i}`
621
+ };
622
+ }
623
+ function ge(r) {
624
+ const a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r);
625
+ return a ? `${parseInt(a[1], 16)}, ${parseInt(a[2], 16)}, ${parseInt(a[3], 16)}` : "0, 0, 0";
626
+ }
627
+ function xe(r) {
628
+ const a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r);
629
+ if (!a) return "0, 0%, 0%";
630
+ const i = parseInt(a[1], 16) / 255, t = parseInt(a[2], 16) / 255, n = parseInt(a[3], 16) / 255, s = Math.max(i, t, n), c = Math.min(i, t, n);
631
+ let f = 0, m = 0;
632
+ const p = (s + c) / 2;
633
+ if (s !== c) {
634
+ const u = s - c;
635
+ switch (m = p > 0.5 ? u / (2 - s - c) : u / (s + c), s) {
636
+ case i:
637
+ f = ((t - n) / u + (t < n ? 6 : 0)) / 6;
638
+ break;
639
+ case t:
640
+ f = ((n - i) / u + 2) / 6;
641
+ break;
642
+ case n:
643
+ f = ((i - t) / u + 4) / 6;
644
+ break;
645
+ }
646
+ }
647
+ return `${Math.round(f * 360)}, ${Math.round(m * 100)}%, ${Math.round(p * 100)}%`;
648
+ }
649
+ 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);
650
+ 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);
651
+ 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);
652
+ 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);
653
+ 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);
654
+ 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);
655
+ 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);
656
+ 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);
657
+ 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);
658
+ 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);
659
+ 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);
660
+ 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);
661
+ 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);
662
+ 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);
663
+ 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);
664
+ 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);
665
+ 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);
666
+ 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);
667
+ 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);
668
+ class D {
669
+ /**
670
+ * Create a shadow token
671
+ */
672
+ static create(a) {
673
+ return {
674
+ none: {
675
+ value: "none",
676
+ tailwind: "shadow-none",
677
+ description: "No shadow"
678
+ },
679
+ sm: {
680
+ value: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
681
+ tailwind: "shadow-sm",
682
+ description: "Small shadow for subtle elevation"
683
+ },
684
+ md: {
685
+ value: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
686
+ tailwind: "shadow-md",
687
+ description: "Medium shadow for cards and elevated elements"
688
+ },
689
+ lg: {
690
+ value: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
691
+ tailwind: "shadow-lg",
692
+ description: "Large shadow for modals and dropdowns"
693
+ },
694
+ xl: {
695
+ value: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
696
+ tailwind: "shadow-xl",
697
+ description: "Extra large shadow for prominent modals"
698
+ },
699
+ "2xl": {
700
+ value: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",
701
+ tailwind: "shadow-2xl",
702
+ description: "2X large shadow for maximum elevation"
703
+ },
704
+ inner: {
705
+ value: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",
706
+ tailwind: "shadow-inner",
707
+ description: "Inner shadow for inset elements"
708
+ }
709
+ }[a];
710
+ }
711
+ }
712
+ D.create("none"), D.create("sm"), D.create("md"), D.create("lg"), D.create("xl"), D.create("2xl"), D.create("inner");
713
+ class z {
714
+ /**
715
+ * Create a border width token
716
+ */
717
+ static createWidth(a) {
718
+ const t = {
719
+ none: {
720
+ px: 0,
721
+ tailwind: "border-0"
722
+ },
723
+ thin: {
724
+ px: 1,
725
+ tailwind: "border"
726
+ },
727
+ base: {
728
+ px: 1,
729
+ tailwind: "border"
730
+ },
731
+ medium: {
732
+ px: 2,
733
+ tailwind: "border-2"
734
+ },
735
+ thick: {
736
+ px: 4,
737
+ tailwind: "border-4"
738
+ }
739
+ }[a];
740
+ return {
741
+ value: t.px,
742
+ px: `${t.px}px`,
743
+ tailwind: t.tailwind
744
+ };
745
+ }
746
+ /**
747
+ * Create a complete border token
748
+ */
749
+ static create(a, i = "solid") {
750
+ return {
751
+ width: this.createWidth(a),
752
+ style: i,
753
+ description: `${a} ${i} border`
754
+ };
755
+ }
756
+ }
757
+ z.create("none"), z.create("thin"), z.create("base"), z.create("medium"), z.create("thick"), z.create("thin", "dashed"), z.create("base", "dashed"), z.create("thin", "dotted"), z.create("base", "dotted");
758
+ class E {
759
+ /**
760
+ * Create breakpoint token
761
+ */
762
+ static create(a) {
763
+ const t = {
764
+ sm: { minWidth: 640, tailwind: "sm" },
765
+ md: { minWidth: 768, tailwind: "md" },
766
+ lg: { minWidth: 1024, tailwind: "lg" },
767
+ xl: { minWidth: 1280, tailwind: "xl" },
768
+ "2xl": { minWidth: 1536, tailwind: "2xl" }
769
+ }[a];
770
+ return {
771
+ name: a,
772
+ minWidth: t.minWidth,
773
+ px: `${t.minWidth}px`,
774
+ rem: `${t.minWidth / 16}rem`,
775
+ tailwind: t.tailwind
776
+ };
777
+ }
778
+ }
779
+ E.create("sm"), E.create("md"), E.create("lg"), E.create("xl"), E.create("2xl");
780
+ class W {
781
+ /**
782
+ * Create an animation token
783
+ */
784
+ static create(a, i = "ease-in-out") {
785
+ const t = {
786
+ fast: {
787
+ value: "150ms",
788
+ ms: 150,
789
+ tailwind: "duration-150"
790
+ },
791
+ base: {
792
+ value: "200ms",
793
+ ms: 200,
794
+ tailwind: "duration-200"
795
+ },
796
+ slow: {
797
+ value: "300ms",
798
+ ms: 300,
799
+ tailwind: "duration-300"
800
+ },
801
+ slower: {
802
+ value: "500ms",
803
+ ms: 500,
804
+ tailwind: "duration-500"
805
+ }
806
+ }, n = {
807
+ "ease-in": {
808
+ value: "cubic-bezier(0.4, 0, 1, 1)",
809
+ tailwind: "ease-in",
810
+ description: "Slow start, fast end"
811
+ },
812
+ "ease-out": {
813
+ value: "cubic-bezier(0, 0, 0.2, 1)",
814
+ tailwind: "ease-out",
815
+ description: "Fast start, slow end"
816
+ },
817
+ "ease-in-out": {
818
+ value: "cubic-bezier(0.4, 0, 0.2, 1)",
819
+ tailwind: "ease-in-out",
820
+ description: "Slow start and end, fast middle"
821
+ },
822
+ spring: {
823
+ value: "cubic-bezier(0.68, -0.55, 0.265, 1.55)",
824
+ tailwind: "ease-[cubic-bezier(0.68,-0.55,0.265,1.55)]",
825
+ description: "Spring-like bounce effect"
826
+ }
827
+ };
828
+ return {
829
+ duration: t[a],
830
+ easing: n[i]
831
+ };
832
+ }
833
+ /**
834
+ * Create a transition token
835
+ */
836
+ static createTransition(a, i = "base", t = "ease-in-out") {
837
+ const n = this.create(i, t), s = Array.isArray(a) ? a.join(", ") : a, c = [
838
+ n.duration.tailwind,
839
+ n.easing.tailwind
840
+ ].join(" ");
841
+ return {
842
+ property: s,
843
+ duration: n.duration.value,
844
+ timingFunction: n.easing.value,
845
+ tailwind: c
846
+ };
847
+ }
848
+ }
849
+ W.create("fast"), W.create("base"), W.create("slow"), W.create("slower"), W.createTransition(
850
+ ["color", "background-color", "border-color"],
851
+ "base"
852
+ ), W.createTransition("opacity", "fast"), W.createTransition("transform", "base"), W.createTransition("all", "base");
853
+ class L {
854
+ /**
855
+ * Create a z-index token
856
+ */
857
+ static create(a) {
858
+ return {
859
+ base: {
860
+ value: 0,
861
+ tailwind: "z-0",
862
+ description: "Base layer for normal content"
863
+ },
864
+ dropdown: {
865
+ value: 1e3,
866
+ tailwind: "z-[1000]",
867
+ description: "Dropdown menus and select options"
868
+ },
869
+ sticky: {
870
+ value: 1020,
871
+ tailwind: "z-[1020]",
872
+ description: "Sticky headers and navigation"
873
+ },
874
+ fixed: {
875
+ value: 1030,
876
+ tailwind: "z-[1030]",
877
+ description: "Fixed position elements"
878
+ },
879
+ "modal-backdrop": {
880
+ value: 1040,
881
+ tailwind: "z-[1040]",
882
+ description: "Modal backdrop/overlay"
883
+ },
884
+ modal: {
885
+ value: 1050,
886
+ tailwind: "z-[1050]",
887
+ description: "Modal dialogs and drawers"
888
+ },
889
+ popover: {
890
+ value: 1060,
891
+ tailwind: "z-[1060]",
892
+ description: "Popovers and tooltips"
893
+ },
894
+ tooltip: {
895
+ value: 1070,
896
+ tailwind: "z-[1070]",
897
+ description: "Tooltips (highest priority)"
898
+ },
899
+ toast: {
900
+ value: 1080,
901
+ tailwind: "z-[1080]",
902
+ description: "Toast notifications (highest priority)"
903
+ }
904
+ }[a];
905
+ }
906
+ }
907
+ L.create("base"), L.create("dropdown"), L.create("sticky"), L.create("fixed"), L.create("modal-backdrop"), L.create("modal"), L.create("popover"), L.create("tooltip"), L.create("toast");
908
+ class $ {
909
+ /**
910
+ * Create an opacity token
911
+ */
912
+ static create(a) {
913
+ const i = a / 100, t = {
914
+ 0: "Fully transparent",
915
+ 5: "Very light overlay",
916
+ 10: "Light overlay",
917
+ 20: "Subtle overlay",
918
+ 25: "Quarter opacity",
919
+ 30: "Light background",
920
+ 40: "Semi-transparent",
921
+ 50: "Half opacity",
922
+ 60: "Semi-opaque",
923
+ 70: "Mostly opaque",
924
+ 75: "Three-quarter opacity",
925
+ 80: "High opacity",
926
+ 90: "Very high opacity",
927
+ 95: "Nearly opaque",
928
+ 100: "Fully opaque"
929
+ };
930
+ return {
931
+ value: a,
932
+ decimal: i,
933
+ tailwind: {
934
+ 0: "opacity-0",
935
+ 5: "opacity-5",
936
+ 10: "opacity-10",
937
+ 20: "opacity-20",
938
+ 25: "opacity-25",
939
+ 30: "opacity-30",
940
+ 40: "opacity-40",
941
+ 50: "opacity-50",
942
+ 60: "opacity-60",
943
+ 70: "opacity-70",
944
+ 75: "opacity-75",
945
+ 80: "opacity-80",
946
+ 90: "opacity-90",
947
+ 95: "opacity-95",
948
+ 100: "opacity-100"
949
+ }[a],
950
+ description: t[a]
951
+ };
952
+ }
953
+ }
954
+ $.create(0), $.create(5), $.create(10), $.create(20), $.create(25), $.create(30), $.create(40), $.create(50), $.create(60), $.create(70), $.create(75), $.create(80), $.create(90), $.create(95), $.create(100);
955
+ const he = O("w-full", {
956
+ variants: {
957
+ size: {
958
+ sm: "h-1",
959
+ md: "h-2",
960
+ lg: "h-3"
961
+ },
962
+ variant: {
963
+ primary: "bg-surface-muted",
964
+ secondary: "bg-surface-muted",
965
+ success: "bg-success-bg-emphasis",
966
+ error: "bg-error-bg-emphasis",
967
+ warning: "bg-warning-bg-emphasis",
968
+ info: "bg-info-bg-emphasis"
969
+ }
970
+ },
971
+ defaultVariants: {
972
+ size: "md",
973
+ variant: "primary"
974
+ }
975
+ }), Y = O("transition-all", {
976
+ variants: {
977
+ variant: {
978
+ primary: "bg-surface-brand",
979
+ secondary: "bg-surface-secondary",
980
+ success: "bg-success",
981
+ error: "bg-error",
982
+ warning: "bg-warning",
983
+ info: "bg-info"
984
+ }
985
+ },
986
+ defaultVariants: {
987
+ variant: "primary"
988
+ }
989
+ }), ye = H(function(x, u) {
990
+ var y = x, {
991
+ value: a,
992
+ max: i = 100,
993
+ variant: t = "primary",
994
+ size: n = "md",
995
+ showLabel: s = !1,
996
+ label: c,
997
+ "aria-label": f,
998
+ className: m = ""
999
+ } = y, p = h(y, [
1000
+ "value",
1001
+ "max",
1002
+ "variant",
1003
+ "size",
1004
+ "showLabel",
1005
+ "label",
1006
+ "aria-label",
1007
+ "className"
1008
+ ]);
1009
+ const N = a === void 0, F = N ? void 0 : Math.min(Math.max(a / i * 100, 0), 100), j = f || (N ? "Loading in progress" : `Progress: ${F == null ? void 0 : F.toFixed(0)}%`);
1010
+ return /* @__PURE__ */ T("div", k(b({ ref: u, className: d("w-full", m) }, p), { children: [
1011
+ s && (c || !N) && /* @__PURE__ */ T(
1012
+ "div",
1013
+ {
1014
+ className: d(
1015
+ "flex",
1016
+ "items-center",
1017
+ "justify-between",
1018
+ l("xs", "mb")
1019
+ ),
1020
+ children: [
1021
+ c && /* @__PURE__ */ o(
1022
+ "span",
1023
+ {
1024
+ className: d(
1025
+ C("bodySmall"),
1026
+ R("label"),
1027
+ "text-fg-primary"
1028
+ ),
1029
+ children: c
1030
+ }
1031
+ ),
1032
+ !N && F !== void 0 && /* @__PURE__ */ T(
1033
+ "span",
1034
+ {
1035
+ className: d(
1036
+ C("bodySmall"),
1037
+ "text-fg-secondary"
1038
+ ),
1039
+ children: [
1040
+ F.toFixed(0),
1041
+ "%"
1042
+ ]
1043
+ }
1044
+ )
1045
+ ]
1046
+ }
1047
+ ),
1048
+ /* @__PURE__ */ o(
1049
+ "div",
1050
+ {
1051
+ role: "progressbar",
1052
+ "aria-valuemin": N ? void 0 : 0,
1053
+ "aria-valuemax": N ? void 0 : i,
1054
+ "aria-valuenow": N ? void 0 : a,
1055
+ "aria-label": j,
1056
+ "aria-busy": N,
1057
+ className: d(
1058
+ "relative",
1059
+ "w-full",
1060
+ "overflow-hidden",
1061
+ he({ size: n, variant: t }),
1062
+ S("full")
1063
+ ),
1064
+ children: N ? /* @__PURE__ */ o(
1065
+ "div",
1066
+ {
1067
+ className: d(
1068
+ "absolute",
1069
+ "top-0",
1070
+ "left-0",
1071
+ "bottom-0",
1072
+ Y({ variant: t }),
1073
+ S("full"),
1074
+ "motion-reduce:animate-none"
1075
+ ),
1076
+ style: {
1077
+ width: "30%",
1078
+ animation: "progress-indeterminate 1.5s ease-in-out infinite"
1079
+ }
1080
+ }
1081
+ ) : /* @__PURE__ */ o(
1082
+ "div",
1083
+ {
1084
+ className: d(
1085
+ "h-full",
1086
+ Y({ variant: t }),
1087
+ S("full"),
1088
+ "transition-all",
1089
+ "duration-300",
1090
+ "ease-out"
1091
+ ),
1092
+ style: {
1093
+ width: `${F}%`
1094
+ },
1095
+ "aria-hidden": "true"
1096
+ }
1097
+ )
1098
+ }
1099
+ )
1100
+ ] }));
1101
+ });
1102
+ ye.displayName = "Progress";
1103
+ function Ee(f) {
1104
+ var m = f, {
1105
+ variant: r = "text",
1106
+ width: a,
1107
+ height: i,
1108
+ lines: t = 1,
1109
+ className: n = "",
1110
+ "aria-label": s
1111
+ } = m, c = h(m, [
1112
+ "variant",
1113
+ "width",
1114
+ "height",
1115
+ "lines",
1116
+ "className",
1117
+ "aria-label"
1118
+ ]);
1119
+ const p = [
1120
+ "motion-safe:animate-pulse",
1121
+ "bg-surface-muted",
1122
+ S("sm")
1123
+ ], u = {
1124
+ text: "h-4",
1125
+ card: "h-32",
1126
+ list: "h-12",
1127
+ circle: S("full")
1128
+ }, x = d(...p, u[r], n), y = {};
1129
+ a && (y.width = a), i && (y.height = i);
1130
+ const N = s || `Loading ${r} content`;
1131
+ return r === "text" && t > 1 ? /* @__PURE__ */ o(
1132
+ "div",
1133
+ k(b({
1134
+ className: l("sm", "space-y"),
1135
+ role: "status",
1136
+ "aria-busy": "true",
1137
+ "aria-label": N
1138
+ }, c), {
1139
+ children: Array.from({ length: t }).map((F, j) => /* @__PURE__ */ o(
1140
+ "div",
1141
+ {
1142
+ className: x,
1143
+ style: j === t - 1 ? { width: "75%" } : y,
1144
+ "aria-hidden": "true"
1145
+ },
1146
+ j
1147
+ ))
1148
+ })
1149
+ ) : /* @__PURE__ */ o(
1150
+ "div",
1151
+ b({
1152
+ className: x,
1153
+ style: y,
1154
+ role: "status",
1155
+ "aria-busy": "true",
1156
+ "aria-label": N
1157
+ }, c)
1158
+ );
1159
+ }
1160
+ const we = O("motion-safe:animate-spin", {
1161
+ variants: {
1162
+ size: {
1163
+ sm: "h-4 w-4",
1164
+ md: "h-5 w-5",
1165
+ lg: "h-8 w-8"
1166
+ },
1167
+ variant: {
1168
+ primary: "text-fg-brand",
1169
+ secondary: "text-fg-brand-secondary",
1170
+ neutral: "text-fg-secondary"
1171
+ }
1172
+ },
1173
+ defaultVariants: {
1174
+ size: "md",
1175
+ variant: "primary"
1176
+ }
1177
+ }), ve = re(function(c) {
1178
+ var f = c, {
1179
+ size: a = "md",
1180
+ variant: i = "primary",
1181
+ label: t,
1182
+ className: n = ""
1183
+ } = f, s = h(f, [
1184
+ "size",
1185
+ "variant",
1186
+ "label",
1187
+ "className"
1188
+ ]);
1189
+ return /* @__PURE__ */ T(
1190
+ "div",
1191
+ k(b({
1192
+ className: d("inline-flex", "items-center", n),
1193
+ role: "status",
1194
+ "aria-label": t || "Loading",
1195
+ "aria-live": "polite"
1196
+ }, s), {
1197
+ children: [
1198
+ /* @__PURE__ */ o(
1199
+ se,
1200
+ {
1201
+ className: d(we({ size: a, variant: i })),
1202
+ "aria-hidden": "true"
1203
+ }
1204
+ ),
1205
+ t && /* @__PURE__ */ o(
1206
+ "span",
1207
+ {
1208
+ className: d(
1209
+ l("sm", "ml"),
1210
+ C("bodySmall"),
1211
+ "text-fg-secondary",
1212
+ "sr-only"
1213
+ ),
1214
+ children: t
1215
+ }
1216
+ )
1217
+ ]
1218
+ })
1219
+ );
1220
+ });
1221
+ ve.displayName = "Spinner";
1222
+ const ke = {
1223
+ primary: {
1224
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1225
+ light: "text-indigo-400",
1226
+ DEFAULT: "text-fg-brand",
1227
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1228
+ dark: "text-indigo-600",
1229
+ contrast: "text-fg-inverse"
1230
+ },
1231
+ secondary: {
1232
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1233
+ light: "text-pink-300",
1234
+ DEFAULT: "text-fg-brand-secondary",
1235
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1236
+ dark: "text-pink-600",
1237
+ contrast: "text-fg-inverse"
1238
+ },
1239
+ success: {
1240
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1241
+ light: "text-green-300",
1242
+ DEFAULT: "text-fg-success",
1243
+ dark: "text-success-dark",
1244
+ contrast: "text-fg-inverse"
1245
+ },
1246
+ warning: {
1247
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1248
+ light: "text-yellow-300",
1249
+ DEFAULT: "text-fg-warning",
1250
+ dark: "text-warning-dark",
1251
+ contrast: "text-fg-inverse"
1252
+ },
1253
+ error: {
1254
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1255
+ light: "text-red-300",
1256
+ DEFAULT: "text-fg-error",
1257
+ dark: "text-error-dark",
1258
+ contrast: "text-fg-inverse"
1259
+ },
1260
+ info: {
1261
+ // exception: variant color — no semantic equivalent (Principle 3, .claude/rules/colors.md)
1262
+ light: "text-blue-300",
1263
+ DEFAULT: "text-fg-info",
1264
+ dark: "text-info-dark",
1265
+ contrast: "text-fg-inverse"
1266
+ },
1267
+ neutral: {
1268
+ light: "text-fg-tertiary",
1269
+ DEFAULT: "text-fg-secondary",
1270
+ dark: "text-fg-primary",
1271
+ contrast: "text-fg-inverse"
1272
+ }
1273
+ };
1274
+ function $e(p, m) {
1275
+ var u = p, {
1276
+ variant: r = "paragraph",
1277
+ bold: a,
1278
+ italic: i,
1279
+ className: t,
1280
+ as: n,
1281
+ colorRole: s = "neutral",
1282
+ colorShade: c = "dark"
1283
+ } = u, f = h(u, [
1284
+ "variant",
1285
+ "bold",
1286
+ "italic",
1287
+ "className",
1288
+ "as",
1289
+ "colorRole",
1290
+ "colorShade"
1291
+ ]);
1292
+ const x = [];
1293
+ let y;
1294
+ if (n)
1295
+ y = n;
1296
+ else
1297
+ switch (r) {
1298
+ case "heading":
1299
+ y = "h2";
1300
+ break;
1301
+ case "list":
1302
+ y = "li";
1303
+ break;
1304
+ default:
1305
+ y = "p";
1306
+ break;
1307
+ }
1308
+ return r === "heading" ? x.push(I("h2")) : r === "body" || r === "paragraph" ? x.push(I("body")) : r === "bodySmall" ? x.push(I("bodySmall")) : r === "bodyLarge" ? x.push(I("bodyLarge")) : r === "caption" ? x.push(I("caption")) : r === "label" ? x.push(I("label")) : x.push(I("body")), a && x.push("font-bold"), i && x.push("italic"), x.push(ke[s][c]), /* @__PURE__ */ o(y, b({ ref: m, className: d(...x, t) }, f));
1309
+ }
1310
+ const Ve = H($e), Ne = {
1311
+ sm: "max-w-screen-sm",
1312
+ md: "max-w-screen-md",
1313
+ lg: "max-w-screen-lg",
1314
+ xl: "max-w-screen-xl",
1315
+ "2xl": "max-w-screen-2xl",
1316
+ full: "max-w-full"
1317
+ }, Te = Q.forwardRef(
1318
+ (m, f) => {
1319
+ var p = m, {
1320
+ className: r,
1321
+ maxWidth: a = "lg",
1322
+ paddingX: i = "base",
1323
+ paddingY: t = "base",
1324
+ center: n = !0,
1325
+ children: s
1326
+ } = p, c = h(p, [
1327
+ "className",
1328
+ "maxWidth",
1329
+ "paddingX",
1330
+ "paddingY",
1331
+ "center",
1332
+ "children"
1333
+ ]);
1334
+ return /* @__PURE__ */ o(
1335
+ "div",
1336
+ k(b({
1337
+ ref: f,
1338
+ className: d(
1339
+ "w-full",
1340
+ Ne[a],
1341
+ l(i, "px"),
1342
+ l(t, "py"),
1343
+ n && "mx-auto",
1344
+ r
1345
+ )
1346
+ }, c), {
1347
+ children: s
1348
+ })
1349
+ );
1350
+ }
1351
+ );
1352
+ Te.displayName = "Container";
1353
+ const Me = Q.forwardRef(
1354
+ (m, f) => {
1355
+ var p = m, {
1356
+ className: r,
1357
+ spacing: a = "base",
1358
+ align: i = "stretch",
1359
+ justify: t = "start",
1360
+ direction: n = "column",
1361
+ children: s
1362
+ } = p, c = h(p, [
1363
+ "className",
1364
+ "spacing",
1365
+ "align",
1366
+ "justify",
1367
+ "direction",
1368
+ "children"
1369
+ ]);
1370
+ const u = n === "column" ? l(a, "gap-y") : l(a, "gap-x"), x = {
1371
+ start: "items-start",
1372
+ center: "items-center",
1373
+ end: "items-end",
1374
+ stretch: "items-stretch"
1375
+ }, y = {
1376
+ start: "justify-start",
1377
+ center: "justify-center",
1378
+ end: "justify-end",
1379
+ between: "justify-between",
1380
+ around: "justify-around",
1381
+ evenly: "justify-evenly"
1382
+ };
1383
+ return /* @__PURE__ */ o(
1384
+ "div",
1385
+ k(b({
1386
+ ref: f,
1387
+ className: d(
1388
+ "flex",
1389
+ n === "column" ? "flex-col" : "flex-row",
1390
+ u,
1391
+ x[i],
1392
+ y[t],
1393
+ r
1394
+ )
1395
+ }, c), {
1396
+ children: s
1397
+ })
1398
+ );
1399
+ }
1400
+ );
1401
+ Me.displayName = "Stack";
1402
+ const Se = H(
1403
+ function({ option: a, isHighlighted: i, onSelect: t }, n) {
1404
+ const s = () => {
1405
+ a.disabled || t(a);
1406
+ };
1407
+ return /* @__PURE__ */ T(
1408
+ "div",
1409
+ {
1410
+ ref: n,
1411
+ role: "option",
1412
+ "aria-selected": i,
1413
+ "aria-disabled": a.disabled,
1414
+ onClick: s,
1415
+ className: `
1416
+ flex
1417
+ items-center
1418
+ ${l("sm", "gap")}
1419
+ ${l("sm", "px")}
1420
+ ${l("sm", "py")}
1421
+ text-sm
1422
+ cursor-pointer
1423
+ transition-colors
1424
+ ${i ? "bg-surface-active" : ""}
1425
+ ${a.disabled ? "opacity-50 cursor-not-allowed" : "hover:bg-surface-hover"}
1426
+ `,
1427
+ children: [
1428
+ a.icon && /* @__PURE__ */ o("span", { className: "flex-shrink-0", children: a.icon }),
1429
+ /* @__PURE__ */ o("span", { className: "flex-1", children: a.label })
1430
+ ]
1431
+ }
1432
+ );
1433
+ }
1434
+ );
1435
+ Se.displayName = "AutocompleteOption";
1436
+ function He(n) {
1437
+ var s = n, {
1438
+ items: r,
1439
+ separator: a = "/",
1440
+ className: i = ""
1441
+ } = s, t = h(s, [
1442
+ "items",
1443
+ "separator",
1444
+ "className"
1445
+ ]);
1446
+ const c = [
1447
+ "flex",
1448
+ "items-center",
1449
+ l("sm", "space-x"),
1450
+ C("bodySmall")
1451
+ ], f = d(...c, i);
1452
+ return /* @__PURE__ */ o("nav", k(b({ "aria-label": "Breadcrumb", className: f }, t), { children: /* @__PURE__ */ o(
1453
+ "ol",
1454
+ {
1455
+ className: d("flex", "items-center", l("sm", "space-x")),
1456
+ children: r.map((m, p) => {
1457
+ const u = p === r.length - 1;
1458
+ return /* @__PURE__ */ T("li", { className: "flex items-center", children: [
1459
+ p > 0 && /* @__PURE__ */ o(
1460
+ "span",
1461
+ {
1462
+ className: d(
1463
+ l("sm", "mx"),
1464
+ "text-fg-tertiary"
1465
+ ),
1466
+ "aria-hidden": "true",
1467
+ children: a
1468
+ }
1469
+ ),
1470
+ u ? /* @__PURE__ */ o(
1471
+ "span",
1472
+ {
1473
+ className: d(
1474
+ "text-fg-primary",
1475
+ R("label")
1476
+ ),
1477
+ "aria-current": "page",
1478
+ children: m.label
1479
+ }
1480
+ ) : m.href ? /* @__PURE__ */ o(
1481
+ "a",
1482
+ {
1483
+ href: m.href,
1484
+ className: d(
1485
+ "inline-flex",
1486
+ "items-center",
1487
+ l("xs", "px"),
1488
+ l("xs", "pt"),
1489
+ "border-b-2",
1490
+ "border-transparent",
1491
+ C("bodySmall"),
1492
+ R("label"),
1493
+ "transition-colors",
1494
+ "text-fg-secondary",
1495
+ "hover:border-line-emphasis",
1496
+ "hover:text-fg-primary"
1497
+ ),
1498
+ children: m.label
1499
+ }
1500
+ ) : /* @__PURE__ */ o("span", { className: "text-fg-secondary", children: m.label })
1501
+ ] }, p);
1502
+ })
1503
+ }
1504
+ ) }));
1505
+ }
1506
+ function Oe(t) {
1507
+ var n = t, {
1508
+ children: r,
1509
+ className: a = ""
1510
+ } = n, i = h(n, [
1511
+ "children",
1512
+ "className"
1513
+ ]);
1514
+ return /* @__PURE__ */ o(
1515
+ "div",
1516
+ k(b({
1517
+ className: `flex flex-col ${l("1.5", "space-y")} ${l("lg", "p")} ${l("base", "pb")} ${a}`
1518
+ }, i), {
1519
+ children: r
1520
+ })
1521
+ );
1522
+ }
1523
+ function Be(t) {
1524
+ var n = t, {
1525
+ children: r,
1526
+ className: a = ""
1527
+ } = n, i = h(n, [
1528
+ "children",
1529
+ "className"
1530
+ ]);
1531
+ return /* @__PURE__ */ o(
1532
+ "div",
1533
+ k(b({
1534
+ className: `flex flex-col-reverse sm:flex-row sm:justify-end sm:${l("sm", "space-x")} ${l("lg", "p")} ${l("base", "pt")} ${a}`
1535
+ }, i), {
1536
+ children: r
1537
+ })
1538
+ );
1539
+ }
1540
+ function Re(t) {
1541
+ var n = t, {
1542
+ children: r,
1543
+ className: a = ""
1544
+ } = n, i = h(n, [
1545
+ "children",
1546
+ "className"
1547
+ ]);
1548
+ return /* @__PURE__ */ o(
1549
+ "div",
1550
+ k(b({
1551
+ className: `
1552
+ ${l("lg", "p")}
1553
+ border-b
1554
+ border-line-default
1555
+ ${a}
1556
+ `
1557
+ }, i), {
1558
+ children: r
1559
+ })
1560
+ );
1561
+ }
1562
+ function Ue(t) {
1563
+ var n = t, {
1564
+ children: r,
1565
+ className: a = ""
1566
+ } = n, i = h(n, [
1567
+ "children",
1568
+ "className"
1569
+ ]);
1570
+ return /* @__PURE__ */ o(
1571
+ "div",
1572
+ k(b({
1573
+ className: `
1574
+ ${l("lg", "p")}
1575
+ border-t
1576
+ border-line-default
1577
+ flex
1578
+ justify-end
1579
+ ${l("sm", "gap")}
1580
+ ${a}
1581
+ `
1582
+ }, i), {
1583
+ children: r
1584
+ })
1585
+ );
1586
+ }
1587
+ function qe({ children: r, className: a }) {
1588
+ return /* @__PURE__ */ o(
1589
+ "div",
1590
+ {
1591
+ className: d(
1592
+ "flex-shrink-0 flex items-center",
1593
+ l("sm", "gap"),
1594
+ a
1595
+ ),
1596
+ children: r
1597
+ }
1598
+ );
1599
+ }
1600
+ function Pe({
1601
+ children: r,
1602
+ className: a
1603
+ }) {
1604
+ return /* @__PURE__ */ o(
1605
+ "nav",
1606
+ {
1607
+ className: d(
1608
+ "flex-1 flex items-center justify-center",
1609
+ l("base", "gap"),
1610
+ "hidden md:flex",
1611
+ // Hidden on mobile, visible on desktop
1612
+ a
1613
+ ),
1614
+ "aria-label": "Main navigation",
1615
+ children: r
1616
+ }
1617
+ );
1618
+ }
1619
+ function _e(i) {
1620
+ var t = i, {
1621
+ className: r = ""
1622
+ } = t, a = h(t, [
1623
+ "className"
1624
+ ]);
1625
+ return /* @__PURE__ */ o(
1626
+ "div",
1627
+ b({
1628
+ role: "separator",
1629
+ className: `
1630
+ h-px
1631
+ bg-line-default
1632
+ ${l("sm", "my")}
1633
+ ${r}
1634
+ `
1635
+ }, a)
1636
+ );
1637
+ }
1638
+ function Ke(t) {
1639
+ var n = t, {
1640
+ orientation: r = "horizontal",
1641
+ className: a = ""
1642
+ } = n, i = h(n, [
1643
+ "orientation",
1644
+ "className"
1645
+ ]);
1646
+ return r === "vertical" ? /* @__PURE__ */ o(
1647
+ "div",
1648
+ b({
1649
+ className: d("w-px", "h-6", "bg-line-default", "mx-auto", a),
1650
+ role: "separator",
1651
+ "aria-orientation": "vertical"
1652
+ }, i)
1653
+ ) : /* @__PURE__ */ o(
1654
+ "div",
1655
+ b({
1656
+ className: d(
1657
+ "w-full",
1658
+ "h-px",
1659
+ "bg-line-default",
1660
+ l("sm", "my"),
1661
+ // my-2 (8px) para consistência com gap-2 usado em outros lugares
1662
+ "flex-shrink-0",
1663
+ // Prevenir que separator encolha
1664
+ a
1665
+ ),
1666
+ role: "separator",
1667
+ "aria-orientation": "horizontal",
1668
+ style: {
1669
+ // Garantir que separator não seja afetado por transformações
1670
+ willChange: "auto",
1671
+ transform: "none"
1672
+ }
1673
+ }, i)
1674
+ );
1675
+ }
1676
+ function Xe(n) {
1677
+ var s = n, { column: r, row: a, className: i = "" } = s, t = h(s, ["column", "row", "className"]);
1678
+ const c = r.key in a ? a[r.key] : void 0;
1679
+ return /* @__PURE__ */ o(
1680
+ "td",
1681
+ k(b({
1682
+ className: `${l("lg", "px")} ${l("base", "py")} whitespace-nowrap text-sm text-fg-primary ${r.hiddenOnMobile ? "hidden md:table-cell" : ""} ${i}`
1683
+ }, t), {
1684
+ children: r.render ? r.render(c, a) : String(c != null ? c : "")
1685
+ })
1686
+ );
1687
+ }
1688
+ function Ge({
1689
+ items: r,
1690
+ orientation: a = "vertical",
1691
+ className: i = ""
1692
+ }) {
1693
+ return a === "horizontal" ? /* @__PURE__ */ o("div", { className: `flex items-start ${i}`, children: r.map((t, n) => {
1694
+ const s = t.status || (n === 0 ? "active" : n < r.findIndex((f) => f.status === "active") ? "completed" : "default"), c = n === r.length - 1;
1695
+ return /* @__PURE__ */ o("div", { className: "flex items-start flex-1", children: /* @__PURE__ */ T("div", { className: "flex flex-col items-center flex-1", children: [
1696
+ /* @__PURE__ */ o(
1697
+ "div",
1698
+ k(b({}, s === "default" ? { "data-marker": "pending" } : {}), {
1699
+ className: `
1700
+ flex
1701
+ items-center
1702
+ justify-center
1703
+ w-10
1704
+ h-10
1705
+ ${S("full")}
1706
+ border-2
1707
+ ${s === "completed" ? "bg-success border-success text-fg-inverse" : s === "active" ? "bg-surface-brand-strong border-line-brand text-fg-inverse" : s === "error" ? "bg-error border-error text-fg-inverse" : "bg-surface-base border-line-emphasis text-fg-quaternary"}
1708
+ `,
1709
+ children: t.icon || (s === "completed" ? /* @__PURE__ */ o(G, { className: "h-4 w-4" }) : n + 1)
1710
+ })
1711
+ ),
1712
+ !c && /* @__PURE__ */ o(
1713
+ "div",
1714
+ {
1715
+ className: `
1716
+ w-full
1717
+ h-0.5
1718
+ ${l("sm", "mt")}
1719
+ ${s === "completed" ? "bg-success" : "bg-line-emphasis"}
1720
+ `
1721
+ }
1722
+ ),
1723
+ /* @__PURE__ */ T(
1724
+ "div",
1725
+ {
1726
+ className: `${l("base", "mt")} text-center ${l("base", "px")}`,
1727
+ children: [
1728
+ t.timestamp && /* @__PURE__ */ o(
1729
+ "p",
1730
+ {
1731
+ className: `text-xs text-fg-tertiary ${l("xs", "mb")}`,
1732
+ children: t.timestamp
1733
+ }
1734
+ ),
1735
+ /* @__PURE__ */ o("h3", { className: "text-sm font-semibold text-fg-primary", children: t.title }),
1736
+ t.description && /* @__PURE__ */ o(
1737
+ "p",
1738
+ {
1739
+ className: `text-xs text-fg-secondary ${l("xs", "mt")}`,
1740
+ children: t.description
1741
+ }
1742
+ ),
1743
+ t.content && /* @__PURE__ */ o("div", { className: l("sm", "mt"), children: t.content })
1744
+ ]
1745
+ }
1746
+ )
1747
+ ] }) }, t.id);
1748
+ }) }) : /* @__PURE__ */ o("div", { className: `${l("none", "space-y")} ${i}`, children: r.map((t, n) => {
1749
+ const s = t.status || (n === 0 ? "active" : n < r.findIndex((f) => f.status === "active") ? "completed" : "default"), c = n === r.length - 1;
1750
+ return /* @__PURE__ */ T(
1751
+ "div",
1752
+ {
1753
+ className: `flex items-start ${l("base", "gap")}`,
1754
+ children: [
1755
+ /* @__PURE__ */ T("div", { className: "flex flex-col items-center", children: [
1756
+ /* @__PURE__ */ o(
1757
+ "div",
1758
+ k(b({}, s === "default" ? { "data-marker": "pending" } : {}), {
1759
+ className: `
1760
+ flex
1761
+ items-center
1762
+ justify-center
1763
+ w-10
1764
+ h-10
1765
+ ${S("full")}
1766
+ border-2
1767
+ ${s === "completed" ? "bg-success border-success text-fg-inverse" : s === "active" ? "bg-surface-brand-strong border-line-brand text-fg-inverse" : s === "error" ? "bg-error border-error text-fg-inverse" : "bg-surface-base border-line-emphasis text-fg-quaternary"}
1768
+ `,
1769
+ children: t.icon || (s === "completed" ? /* @__PURE__ */ o(G, { className: "h-4 w-4" }) : n + 1)
1770
+ })
1771
+ ),
1772
+ !c && /* @__PURE__ */ o(
1773
+ "div",
1774
+ {
1775
+ className: `
1776
+ w-0.5
1777
+ flex-1
1778
+ min-h-16
1779
+ ${l("sm", "mt")}
1780
+ ${s === "completed" ? "bg-success" : "bg-line-emphasis"}
1781
+ `
1782
+ }
1783
+ )
1784
+ ] }),
1785
+ /* @__PURE__ */ T("div", { className: `flex-1 ${l("xl", "pb")}`, children: [
1786
+ t.timestamp && /* @__PURE__ */ o(
1787
+ "p",
1788
+ {
1789
+ className: `text-xs text-fg-tertiary ${l("xs", "mb")}`,
1790
+ children: t.timestamp
1791
+ }
1792
+ ),
1793
+ /* @__PURE__ */ o(
1794
+ "h3",
1795
+ {
1796
+ className: `
1797
+ text-base
1798
+ font-semibold
1799
+ ${s === "active" ? "text-fg-brand-emphasis" : "text-fg-primary"}
1800
+ `,
1801
+ children: t.title
1802
+ }
1803
+ ),
1804
+ t.description && /* @__PURE__ */ o(
1805
+ "p",
1806
+ {
1807
+ className: `text-sm text-fg-secondary ${l("xs", "mt")}`,
1808
+ children: t.description
1809
+ }
1810
+ ),
1811
+ t.content && /* @__PURE__ */ o("div", { className: l("md", "mt"), children: t.content })
1812
+ ] })
1813
+ ]
1814
+ },
1815
+ t.id
1816
+ );
1817
+ }) });
1818
+ }
1819
+ export {
1820
+ Se as AutocompleteOption,
1821
+ He as Breadcrumb,
1822
+ ue as Chip,
1823
+ Te as Container,
1824
+ Be as DialogFooter,
1825
+ Oe as DialogHeader,
1826
+ Ue as DrawerFooter,
1827
+ Re as DrawerHeader,
1828
+ De as ErrorMessage,
1829
+ qe as HeaderActions,
1830
+ Pe as HeaderNavigation,
1831
+ je as Info,
1832
+ _e as MenuSeparator,
1833
+ Ke as NavbarSeparator,
1834
+ ye as Progress,
1835
+ Ee as Skeleton,
1836
+ ve as Spinner,
1837
+ Me as Stack,
1838
+ Xe as TableCell,
1839
+ Ve as Text,
1840
+ Ge as Timeline
1841
+ };
1842
+ //# sourceMappingURL=index.js.map