@cytario/design 1.12.0 → 1.13.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.
package/dist/index.js CHANGED
@@ -2269,6 +2269,424 @@ function StorageConnectionCard({
2269
2269
  return /* @__PURE__ */ jsx30("div", { className: baseStyles, children: cardContent });
2270
2270
  }
2271
2271
 
2272
+ // src/components/Badge/Badge.tsx
2273
+ import { twMerge as twMerge8 } from "tailwind-merge";
2274
+ import { jsx as jsx31, jsxs as jsxs21 } from "react/jsx-runtime";
2275
+ var variantStyles4 = {
2276
+ neutral: "bg-[var(--color-badge-neutral-bg)] text-[var(--color-badge-neutral-text)]",
2277
+ purple: "bg-[var(--color-badge-purple-bg)] text-[var(--color-badge-purple-text)]",
2278
+ teal: "bg-[var(--color-badge-teal-bg)] text-[var(--color-badge-teal-text)]",
2279
+ rose: "bg-[var(--color-badge-rose-bg)] text-[var(--color-badge-rose-text)]",
2280
+ slate: "bg-[var(--color-badge-slate-bg)] text-[var(--color-badge-slate-text)]",
2281
+ green: "bg-[var(--color-badge-green-bg)] text-[var(--color-badge-green-text)]",
2282
+ amber: "bg-[var(--color-badge-amber-bg)] text-[var(--color-badge-amber-text)]"
2283
+ };
2284
+ var sizeStyles7 = {
2285
+ sm: "px-1.5 py-0.5",
2286
+ md: "px-2 py-0.5"
2287
+ };
2288
+ var iconSizeMap4 = {
2289
+ sm: 12,
2290
+ md: 14
2291
+ };
2292
+ function Badge({
2293
+ children,
2294
+ variant = "neutral",
2295
+ size = "sm",
2296
+ icon: IconComponent,
2297
+ className
2298
+ }) {
2299
+ return /* @__PURE__ */ jsxs21(
2300
+ "span",
2301
+ {
2302
+ className: twMerge8(
2303
+ "inline-flex items-center gap-1 rounded-[var(--border-radius-full)]",
2304
+ "text-[length:var(--font-size-xs)] font-[number:var(--font-weight-medium)] leading-[var(--line-height-tight)]",
2305
+ variantStyles4[variant],
2306
+ sizeStyles7[size],
2307
+ className
2308
+ ),
2309
+ children: [
2310
+ IconComponent && /* @__PURE__ */ jsx31(IconComponent, { size: iconSizeMap4[size], "aria-hidden": "true" }),
2311
+ children
2312
+ ]
2313
+ }
2314
+ );
2315
+ }
2316
+
2317
+ // src/components/Card/Card.tsx
2318
+ import { twMerge as twMerge9 } from "tailwind-merge";
2319
+ import { Fragment as Fragment9, jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
2320
+ var paddingStyles = {
2321
+ none: "p-0",
2322
+ sm: "p-3",
2323
+ md: "p-4",
2324
+ lg: "p-6"
2325
+ };
2326
+ function Card({
2327
+ children,
2328
+ header,
2329
+ footer,
2330
+ padding = "md",
2331
+ href,
2332
+ interactive = false,
2333
+ className
2334
+ }) {
2335
+ const isInteractive = interactive || !!href;
2336
+ const containerClass = twMerge9(
2337
+ "bg-[var(--color-surface-default)] border border-[var(--color-border-default)] rounded-[var(--border-radius-lg)] overflow-hidden shadow-sm",
2338
+ isInteractive && "transition-shadow hover:shadow-md hover:border-[var(--color-border-focus)] cursor-pointer",
2339
+ href && "block focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2 outline-none",
2340
+ className
2341
+ );
2342
+ const content = /* @__PURE__ */ jsxs22(Fragment9, { children: [
2343
+ header && /* @__PURE__ */ jsx32(
2344
+ "div",
2345
+ {
2346
+ className: twMerge9(
2347
+ "border-b border-[var(--color-border-default)]",
2348
+ paddingStyles[padding]
2349
+ ),
2350
+ children: header
2351
+ }
2352
+ ),
2353
+ /* @__PURE__ */ jsx32("div", { className: paddingStyles[padding], children }),
2354
+ footer && /* @__PURE__ */ jsx32(
2355
+ "div",
2356
+ {
2357
+ className: twMerge9(
2358
+ "border-t border-[var(--color-border-default)]",
2359
+ paddingStyles[padding]
2360
+ ),
2361
+ children: footer
2362
+ }
2363
+ )
2364
+ ] });
2365
+ if (href) {
2366
+ return /* @__PURE__ */ jsx32("a", { href, className: containerClass, children: content });
2367
+ }
2368
+ return /* @__PURE__ */ jsx32("div", { className: containerClass, children: content });
2369
+ }
2370
+
2371
+ // src/components/DeltaIndicator/DeltaIndicator.tsx
2372
+ import { ArrowUp, ArrowDown, Minus } from "lucide-react";
2373
+ import { twMerge as twMerge10 } from "tailwind-merge";
2374
+ import { jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
2375
+ function getDirection(current, previous) {
2376
+ const diff = current - previous;
2377
+ if (diff > 0) return "increase";
2378
+ if (diff < 0) return "decrease";
2379
+ return "flat";
2380
+ }
2381
+ function formatCurrency(value) {
2382
+ const abs = Math.abs(value);
2383
+ const sign = value >= 0 ? "+" : "-";
2384
+ if (abs < 1e3) {
2385
+ return `${sign}$${abs.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
2386
+ }
2387
+ return `${sign}$${abs.toLocaleString("en-US", { minimumFractionDigits: 0, maximumFractionDigits: 0 })}`;
2388
+ }
2389
+ function formatPercentage(current, previous) {
2390
+ if (previous === 0) return null;
2391
+ const pct = (current - previous) / Math.abs(previous) * 100;
2392
+ const sign = pct >= 0 ? "+" : "";
2393
+ return `${sign}${pct.toFixed(1)}%`;
2394
+ }
2395
+ var directionColors = {
2396
+ increase: "text-[var(--color-delta-increase-text)]",
2397
+ decrease: "text-[var(--color-delta-decrease-text)]",
2398
+ flat: "text-[var(--color-delta-flat-text)]"
2399
+ };
2400
+ var reverseDirectionColors = {
2401
+ increase: "text-[var(--color-delta-decrease-text)]",
2402
+ decrease: "text-[var(--color-delta-increase-text)]",
2403
+ flat: "text-[var(--color-delta-flat-text)]"
2404
+ };
2405
+ var directionIcons = {
2406
+ increase: ArrowUp,
2407
+ decrease: ArrowDown,
2408
+ flat: Minus
2409
+ };
2410
+ var directionBgColors = {
2411
+ increase: "bg-[var(--color-delta-increase-bg)]",
2412
+ decrease: "bg-[var(--color-delta-decrease-bg)]",
2413
+ flat: "bg-[var(--color-delta-flat-bg)]"
2414
+ };
2415
+ function DeltaIndicator({
2416
+ current,
2417
+ previous,
2418
+ format = "combined",
2419
+ mode = "inline",
2420
+ label,
2421
+ reverseColor = false,
2422
+ unavailable = false,
2423
+ unavailableText = "N/A",
2424
+ className
2425
+ }) {
2426
+ if (unavailable) {
2427
+ return /* @__PURE__ */ jsxs23(
2428
+ "span",
2429
+ {
2430
+ className: twMerge10(
2431
+ "inline-flex items-center gap-1 font-[number:var(--font-weight-medium)]",
2432
+ "text-[var(--color-text-tertiary)]",
2433
+ className
2434
+ ),
2435
+ children: [
2436
+ label && /* @__PURE__ */ jsx33("span", { className: "text-[length:var(--font-size-sm)] text-[var(--color-text-secondary)] mr-1", children: label }),
2437
+ unavailableText
2438
+ ]
2439
+ }
2440
+ );
2441
+ }
2442
+ const diff = current - previous;
2443
+ const direction = getDirection(current, previous);
2444
+ const colorStyles = reverseColor ? reverseDirectionColors[direction] : directionColors[direction];
2445
+ const IconComponent = directionIcons[direction];
2446
+ const isNew = previous === 0 && current > 0;
2447
+ let valueText;
2448
+ if (format === "currency") {
2449
+ valueText = formatCurrency(diff);
2450
+ if (isNew) valueText = `${formatCurrency(diff)} (new)`;
2451
+ } else if (format === "percentage") {
2452
+ const pct = formatPercentage(current, previous);
2453
+ valueText = pct ?? formatCurrency(diff);
2454
+ if (isNew) valueText = "New";
2455
+ } else {
2456
+ const pct = formatPercentage(current, previous);
2457
+ if (isNew) {
2458
+ valueText = `${formatCurrency(diff)} (new)`;
2459
+ } else if (pct) {
2460
+ valueText = `${formatCurrency(diff)} (${pct})`;
2461
+ } else {
2462
+ valueText = formatCurrency(diff);
2463
+ }
2464
+ }
2465
+ const isPill = mode === "pill";
2466
+ return /* @__PURE__ */ jsxs23(
2467
+ "span",
2468
+ {
2469
+ className: twMerge10(
2470
+ "inline-flex items-center gap-1 font-[number:var(--font-weight-medium)]",
2471
+ colorStyles,
2472
+ isPill && [
2473
+ "rounded-[var(--border-radius-full)] px-2 py-0.5",
2474
+ "text-[length:var(--font-size-xs)]",
2475
+ directionBgColors[direction]
2476
+ ],
2477
+ className
2478
+ ),
2479
+ children: [
2480
+ label && /* @__PURE__ */ jsx33("span", { className: "text-[length:var(--font-size-sm)] text-[var(--color-text-secondary)] mr-1", children: label }),
2481
+ /* @__PURE__ */ jsx33(IconComponent, { size: 14, "aria-hidden": true }),
2482
+ valueText
2483
+ ]
2484
+ }
2485
+ );
2486
+ }
2487
+
2488
+ // src/components/ProgressBar/ProgressBar.tsx
2489
+ import { twMerge as twMerge11 } from "tailwind-merge";
2490
+ import { jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
2491
+ var fillStyles = {
2492
+ brand: "bg-[var(--color-progress-fill)]",
2493
+ success: "bg-[var(--color-progress-fill-success)]",
2494
+ warning: "bg-[var(--color-progress-fill-warning)]",
2495
+ danger: "bg-[var(--color-progress-fill-danger)]",
2496
+ neutral: "bg-[var(--color-text-secondary)]"
2497
+ };
2498
+ var sizeStyles8 = {
2499
+ sm: "h-1.5",
2500
+ md: "h-3",
2501
+ lg: "h-4"
2502
+ };
2503
+ function ProgressBar({
2504
+ value,
2505
+ label,
2506
+ description,
2507
+ variant = "brand",
2508
+ size = "md",
2509
+ showValue = true,
2510
+ className
2511
+ }) {
2512
+ const clampedValue = Math.min(100, Math.max(0, value));
2513
+ return /* @__PURE__ */ jsxs24("div", { className: twMerge11("w-full", className), children: [
2514
+ (label || description || showValue) && /* @__PURE__ */ jsxs24("div", { className: "flex items-center justify-between mb-2", children: [
2515
+ /* @__PURE__ */ jsx34("span", { className: "text-[length:var(--font-size-sm)] font-[number:var(--font-weight-medium)] text-[var(--color-text-primary)]", children: label }),
2516
+ /* @__PURE__ */ jsx34("span", { className: "text-[length:var(--font-size-sm)] text-[var(--color-text-secondary)]", children: description ?? (showValue ? `${clampedValue}%` : null) })
2517
+ ] }),
2518
+ /* @__PURE__ */ jsx34(
2519
+ "div",
2520
+ {
2521
+ role: "progressbar",
2522
+ "aria-valuenow": clampedValue,
2523
+ "aria-valuemin": 0,
2524
+ "aria-valuemax": 100,
2525
+ "aria-label": label ?? "Progress",
2526
+ className: twMerge11(
2527
+ "w-full rounded-[var(--border-radius-full)] bg-[var(--color-progress-track)]",
2528
+ sizeStyles8[size]
2529
+ ),
2530
+ children: /* @__PURE__ */ jsx34(
2531
+ "div",
2532
+ {
2533
+ className: twMerge11(
2534
+ "h-full rounded-[var(--border-radius-full)] transition-all duration-300",
2535
+ fillStyles[variant]
2536
+ ),
2537
+ style: { width: `${clampedValue}%` }
2538
+ }
2539
+ )
2540
+ }
2541
+ )
2542
+ ] });
2543
+ }
2544
+
2545
+ // src/components/Banner/Banner.tsx
2546
+ import { useState as useState3 } from "react";
2547
+ import {
2548
+ Info as Info3,
2549
+ AlertTriangle,
2550
+ AlertCircle as AlertCircle2,
2551
+ CheckCircle2,
2552
+ X as X3
2553
+ } from "lucide-react";
2554
+ import { twMerge as twMerge12 } from "tailwind-merge";
2555
+ import { jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
2556
+ var variantConfig2 = {
2557
+ info: {
2558
+ icon: Info3,
2559
+ containerClass: "bg-[var(--color-banner-info-bg)] border-[var(--color-banner-info-border)] text-[var(--color-banner-info-text)]",
2560
+ iconClass: "text-[var(--color-banner-info-icon)]",
2561
+ role: "status"
2562
+ },
2563
+ warning: {
2564
+ icon: AlertTriangle,
2565
+ containerClass: "bg-[var(--color-banner-warning-bg)] border-[var(--color-banner-warning-border)] text-[var(--color-banner-warning-text)]",
2566
+ iconClass: "text-[var(--color-banner-warning-icon)]",
2567
+ role: "alert"
2568
+ },
2569
+ danger: {
2570
+ icon: AlertCircle2,
2571
+ containerClass: "bg-[var(--color-banner-danger-bg)] border-[var(--color-banner-danger-border)] text-[var(--color-banner-danger-text)]",
2572
+ iconClass: "text-[var(--color-banner-danger-icon)]",
2573
+ role: "alert"
2574
+ },
2575
+ success: {
2576
+ icon: CheckCircle2,
2577
+ containerClass: "bg-[var(--color-banner-success-bg)] border-[var(--color-banner-success-border)] text-[var(--color-banner-success-text)]",
2578
+ iconClass: "text-[var(--color-banner-success-icon)]",
2579
+ role: "status"
2580
+ }
2581
+ };
2582
+ function Banner({
2583
+ children,
2584
+ variant = "info",
2585
+ title,
2586
+ icon,
2587
+ dismissible = false,
2588
+ onDismiss,
2589
+ className
2590
+ }) {
2591
+ const [dismissed, setDismissed] = useState3(false);
2592
+ if (dismissed) return null;
2593
+ const config = variantConfig2[variant];
2594
+ const IconComponent = icon ?? config.icon;
2595
+ const handleDismiss = () => {
2596
+ setDismissed(true);
2597
+ onDismiss?.();
2598
+ };
2599
+ return /* @__PURE__ */ jsxs25(
2600
+ "div",
2601
+ {
2602
+ role: config.role,
2603
+ className: twMerge12(
2604
+ "flex items-start gap-[var(--spacing-3)] rounded-[var(--border-radius-lg)] border px-[var(--spacing-4)] py-[var(--spacing-3)]",
2605
+ "text-[length:var(--font-size-sm)]",
2606
+ config.containerClass,
2607
+ className
2608
+ ),
2609
+ children: [
2610
+ /* @__PURE__ */ jsx35(
2611
+ IconComponent,
2612
+ {
2613
+ size: 20,
2614
+ className: twMerge12("shrink-0 mt-0.5", config.iconClass),
2615
+ "aria-hidden": "true"
2616
+ }
2617
+ ),
2618
+ /* @__PURE__ */ jsxs25("div", { className: "flex-1", children: [
2619
+ title && /* @__PURE__ */ jsxs25("span", { className: "font-[number:var(--font-weight-medium)]", children: [
2620
+ title,
2621
+ " \u2014 "
2622
+ ] }),
2623
+ children
2624
+ ] }),
2625
+ dismissible && /* @__PURE__ */ jsx35(
2626
+ "button",
2627
+ {
2628
+ type: "button",
2629
+ onClick: handleDismiss,
2630
+ className: "shrink-0 rounded-[var(--border-radius-sm)] p-0.5 opacity-70 hover:opacity-100 transition-opacity outline-none focus-visible:ring-2 focus-visible:ring-current",
2631
+ "aria-label": "Dismiss",
2632
+ children: /* @__PURE__ */ jsx35(X3, { size: 16, "aria-hidden": "true" })
2633
+ }
2634
+ )
2635
+ ]
2636
+ }
2637
+ );
2638
+ }
2639
+
2640
+ // src/components/MetricCard/MetricCard.tsx
2641
+ import { twMerge as twMerge13 } from "tailwind-merge";
2642
+ import { Fragment as Fragment10, jsx as jsx36, jsxs as jsxs26 } from "react/jsx-runtime";
2643
+ var sizeConfig = {
2644
+ sm: {
2645
+ padding: "p-3",
2646
+ labelClass: "text-[length:var(--font-size-xs)]",
2647
+ valueClass: "text-[length:var(--font-size-xl)]"
2648
+ },
2649
+ md: {
2650
+ padding: "p-4",
2651
+ labelClass: "text-[length:var(--font-size-sm)]",
2652
+ valueClass: "text-[length:var(--font-size-2xl)]"
2653
+ }
2654
+ };
2655
+ function MetricCard({
2656
+ label,
2657
+ value,
2658
+ secondary,
2659
+ href,
2660
+ size = "md",
2661
+ className
2662
+ }) {
2663
+ const config = sizeConfig[size];
2664
+ const containerClass = twMerge13(
2665
+ "bg-[var(--color-surface-default)] border border-[var(--color-border-default)] rounded-[var(--border-radius-lg)] shadow-sm",
2666
+ config.padding,
2667
+ href && "block transition-shadow hover:shadow-md hover:border-[var(--color-border-focus)] focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2 outline-none",
2668
+ className
2669
+ );
2670
+ const content = /* @__PURE__ */ jsxs26(Fragment10, { children: [
2671
+ /* @__PURE__ */ jsx36("div", { className: twMerge13(config.labelClass, "text-[var(--color-text-secondary)]"), children: label }),
2672
+ /* @__PURE__ */ jsx36(
2673
+ "div",
2674
+ {
2675
+ className: twMerge13(
2676
+ config.valueClass,
2677
+ "font-[number:var(--font-weight-semibold)] text-[var(--color-text-primary)] mt-1 tabular-nums"
2678
+ ),
2679
+ children: value
2680
+ }
2681
+ ),
2682
+ secondary && /* @__PURE__ */ jsx36("div", { className: "mt-1 text-sm", children: secondary })
2683
+ ] });
2684
+ if (href) {
2685
+ return /* @__PURE__ */ jsx36("a", { href, className: containerClass, children: content });
2686
+ }
2687
+ return /* @__PURE__ */ jsx36("div", { className: containerClass, children: content });
2688
+ }
2689
+
2272
2690
  // src/tokens/tokens.ts
2273
2691
  var ColorPurple50 = "#f5f0fa";
2274
2692
  var ColorPurple100 = "#ead9f5";
@@ -2320,6 +2738,16 @@ var ColorSlate600 = "#475569";
2320
2738
  var ColorSlate700 = "#334155";
2321
2739
  var ColorSlate800 = "#1e293b";
2322
2740
  var ColorSlate900 = "#0f172a";
2741
+ var ColorAmber50 = "#fffbeb";
2742
+ var ColorAmber100 = "#fef3c7";
2743
+ var ColorAmber200 = "#fde68a";
2744
+ var ColorAmber300 = "#fcd34d";
2745
+ var ColorAmber400 = "#fbbf24";
2746
+ var ColorAmber500 = "#f59e0b";
2747
+ var ColorAmber600 = "#d97706";
2748
+ var ColorAmber700 = "#b45309";
2749
+ var ColorAmber800 = "#92400e";
2750
+ var ColorAmber900 = "#78350f";
2323
2751
  var ColorNeutral0 = "#ffffff";
2324
2752
  var ColorNeutral50 = "#f9fafb";
2325
2753
  var ColorNeutral100 = "#f3f4f6";
@@ -2385,6 +2813,37 @@ var ColorOverlayBackdrop = "#00000066";
2385
2813
  var ColorStatusSuccess = "#22c55e";
2386
2814
  var ColorStatusDanger = "#f43f5e";
2387
2815
  var ColorStatusWarning = "#d97706";
2816
+ var ColorStatusInfo = "#64748b";
2817
+ var ColorDeltaIncreaseBg = "#fff1f2";
2818
+ var ColorDeltaIncreaseText = "#be123c";
2819
+ var ColorDeltaIncreaseIcon = "#f43f5e";
2820
+ var ColorDeltaDecreaseBg = "#f0fdf4";
2821
+ var ColorDeltaDecreaseText = "#15803d";
2822
+ var ColorDeltaDecreaseIcon = "#22c55e";
2823
+ var ColorDeltaFlatBg = "#f3f4f6";
2824
+ var ColorDeltaFlatText = "#6b7280";
2825
+ var ColorDeltaFlatIcon = "#9ca3af";
2826
+ var ColorProgressTrack = "#e5e7eb";
2827
+ var ColorProgressFill = "#6b2695";
2828
+ var ColorProgressFillSuccess = "#22c55e";
2829
+ var ColorProgressFillWarning = "#f59e0b";
2830
+ var ColorProgressFillDanger = "#f43f5e";
2831
+ var ColorBannerInfoBg = "#f8fafc";
2832
+ var ColorBannerInfoText = "#334155";
2833
+ var ColorBannerInfoBorder = "#e2e8f0";
2834
+ var ColorBannerInfoIcon = "#64748b";
2835
+ var ColorBannerWarningBg = "#fffbeb";
2836
+ var ColorBannerWarningText = "#92400e";
2837
+ var ColorBannerWarningBorder = "#fde68a";
2838
+ var ColorBannerWarningIcon = "#f59e0b";
2839
+ var ColorBannerDangerBg = "#fff1f2";
2840
+ var ColorBannerDangerText = "#be123c";
2841
+ var ColorBannerDangerBorder = "#fecdd3";
2842
+ var ColorBannerDangerIcon = "#f43f5e";
2843
+ var ColorBannerSuccessBg = "#f0fdf4";
2844
+ var ColorBannerSuccessText = "#15803d";
2845
+ var ColorBannerSuccessBorder = "#bbf7d0";
2846
+ var ColorBannerSuccessIcon = "#22c55e";
2388
2847
  var ColorBadgePurpleBg = "#ead9f5";
2389
2848
  var ColorBadgePurpleText = "#5c2483";
2390
2849
  var ColorBadgeTealBg = "#d0f0f0";
@@ -2395,6 +2854,10 @@ var ColorBadgeRoseBg = "#ffe4e6";
2395
2854
  var ColorBadgeRoseText = "#be123c";
2396
2855
  var ColorBadgeNeutralBg = "#f3f4f6";
2397
2856
  var ColorBadgeNeutralText = "#374151";
2857
+ var ColorBadgeGreenBg = "#dcfce7";
2858
+ var ColorBadgeGreenText = "#15803d";
2859
+ var ColorBadgeAmberBg = "#fef3c7";
2860
+ var ColorBadgeAmberText = "#b45309";
2398
2861
  var Spacing1 = "4px";
2399
2862
  var Spacing2 = "8px";
2400
2863
  var Spacing3 = "12px";
@@ -2428,6 +2891,8 @@ var LineHeightTight = 1.25;
2428
2891
  var LineHeightNormal = 1.5;
2429
2892
  var LineHeightRelaxed = 1.625;
2430
2893
  export {
2894
+ Badge,
2895
+ Banner,
2431
2896
  BorderRadiusFull,
2432
2897
  BorderRadiusLg,
2433
2898
  BorderRadiusMd,
@@ -2437,6 +2902,7 @@ export {
2437
2902
  Breadcrumbs,
2438
2903
  Button,
2439
2904
  ButtonLink,
2905
+ Card,
2440
2906
  Cell,
2441
2907
  Checkbox,
2442
2908
  ColorActionDanger,
@@ -2452,6 +2918,20 @@ export {
2452
2918
  ColorActionSecondaryHover,
2453
2919
  ColorActionSuccess,
2454
2920
  ColorActionSuccessHover,
2921
+ ColorAmber100,
2922
+ ColorAmber200,
2923
+ ColorAmber300,
2924
+ ColorAmber400,
2925
+ ColorAmber50,
2926
+ ColorAmber500,
2927
+ ColorAmber600,
2928
+ ColorAmber700,
2929
+ ColorAmber800,
2930
+ ColorAmber900,
2931
+ ColorBadgeAmberBg,
2932
+ ColorBadgeAmberText,
2933
+ ColorBadgeGreenBg,
2934
+ ColorBadgeGreenText,
2455
2935
  ColorBadgeNeutralBg,
2456
2936
  ColorBadgeNeutralText,
2457
2937
  ColorBadgePurpleBg,
@@ -2462,6 +2942,22 @@ export {
2462
2942
  ColorBadgeSlateText,
2463
2943
  ColorBadgeTealBg,
2464
2944
  ColorBadgeTealText,
2945
+ ColorBannerDangerBg,
2946
+ ColorBannerDangerBorder,
2947
+ ColorBannerDangerIcon,
2948
+ ColorBannerDangerText,
2949
+ ColorBannerInfoBg,
2950
+ ColorBannerInfoBorder,
2951
+ ColorBannerInfoIcon,
2952
+ ColorBannerInfoText,
2953
+ ColorBannerSuccessBg,
2954
+ ColorBannerSuccessBorder,
2955
+ ColorBannerSuccessIcon,
2956
+ ColorBannerSuccessText,
2957
+ ColorBannerWarningBg,
2958
+ ColorBannerWarningBorder,
2959
+ ColorBannerWarningIcon,
2960
+ ColorBannerWarningText,
2465
2961
  ColorBorderAccent,
2466
2962
  ColorBorderBrand,
2467
2963
  ColorBorderDanger,
@@ -2473,6 +2969,15 @@ export {
2473
2969
  ColorBorderWarning,
2474
2970
  ColorBrandAccent,
2475
2971
  ColorBrandPrimary,
2972
+ ColorDeltaDecreaseBg,
2973
+ ColorDeltaDecreaseIcon,
2974
+ ColorDeltaDecreaseText,
2975
+ ColorDeltaFlatBg,
2976
+ ColorDeltaFlatIcon,
2977
+ ColorDeltaFlatText,
2978
+ ColorDeltaIncreaseBg,
2979
+ ColorDeltaIncreaseIcon,
2980
+ ColorDeltaIncreaseText,
2476
2981
  ColorGreen100,
2477
2982
  ColorGreen200,
2478
2983
  ColorGreen300,
@@ -2497,6 +3002,11 @@ export {
2497
3002
  ColorNeutral900,
2498
3003
  ColorNeutral950,
2499
3004
  ColorOverlayBackdrop,
3005
+ ColorProgressFill,
3006
+ ColorProgressFillDanger,
3007
+ ColorProgressFillSuccess,
3008
+ ColorProgressFillWarning,
3009
+ ColorProgressTrack,
2500
3010
  ColorPurple100,
2501
3011
  ColorPurple200,
2502
3012
  ColorPurple300,
@@ -2528,6 +3038,7 @@ export {
2528
3038
  ColorSlate800,
2529
3039
  ColorSlate900,
2530
3040
  ColorStatusDanger,
3041
+ ColorStatusInfo,
2531
3042
  ColorStatusSuccess,
2532
3043
  ColorStatusWarning,
2533
3044
  ColorSurfaceAccent,
@@ -2565,6 +3076,7 @@ export {
2565
3076
  ColorTextTertiary,
2566
3077
  ColorTextWarning,
2567
3078
  Column,
3079
+ DeltaIndicator,
2568
3080
  Dialog,
2569
3081
  EmptyState,
2570
3082
  Field,
@@ -2601,9 +3113,11 @@ export {
2601
3113
  LineHeightTight,
2602
3114
  Link,
2603
3115
  Menu,
3116
+ MetricCard,
2604
3117
  Popover3 as Popover,
2605
3118
  PopoverContent,
2606
3119
  PopoverTrigger,
3120
+ ProgressBar,
2607
3121
  Radio,
2608
3122
  RadioButton,
2609
3123
  RadioGroup,