@cytario/design 9.0.0 → 9.2.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.css +1 -1
- package/dist/index.d.ts +23 -7
- package/dist/index.js +64 -55
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1411,6 +1411,7 @@ import {
|
|
|
1411
1411
|
TableBody as AriaTableBody,
|
|
1412
1412
|
TableHeader as AriaTableHeader
|
|
1413
1413
|
} from "react-aria-components";
|
|
1414
|
+
import { twMerge as twMerge11 } from "tailwind-merge";
|
|
1414
1415
|
import { jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1415
1416
|
var tableSizeClass = {
|
|
1416
1417
|
compact: "[--table-row-py:theme(spacing.1)]",
|
|
@@ -1425,28 +1426,29 @@ function Table2({
|
|
|
1425
1426
|
AriaTable,
|
|
1426
1427
|
{
|
|
1427
1428
|
...props,
|
|
1428
|
-
className:
|
|
1429
|
+
className: twMerge11(
|
|
1429
1430
|
"w-full border-collapse text-sm text-foreground",
|
|
1430
1431
|
tableSizeClass[size],
|
|
1431
1432
|
className
|
|
1432
|
-
|
|
1433
|
+
)
|
|
1433
1434
|
}
|
|
1434
1435
|
);
|
|
1435
1436
|
}
|
|
1436
1437
|
function TableHeader(props) {
|
|
1437
1438
|
return /* @__PURE__ */ jsx17(AriaTableHeader, { ...props });
|
|
1438
1439
|
}
|
|
1439
|
-
function Column(props) {
|
|
1440
|
+
function Column({ className, ...props }) {
|
|
1440
1441
|
return /* @__PURE__ */ jsx17(
|
|
1441
1442
|
AriaColumn,
|
|
1442
1443
|
{
|
|
1443
1444
|
...props,
|
|
1444
|
-
className:
|
|
1445
|
+
className: twMerge11(
|
|
1445
1446
|
"px-3 py-2 text-left font-semibold text-muted-foreground",
|
|
1446
1447
|
"border-b-2 border-border",
|
|
1447
1448
|
"cursor-default select-none outline-none",
|
|
1448
|
-
"focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-[-2px]"
|
|
1449
|
-
|
|
1449
|
+
"focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-[-2px]",
|
|
1450
|
+
className
|
|
1451
|
+
),
|
|
1450
1452
|
children: ({ allowsSorting, sortDirection }) => /* @__PURE__ */ jsxs9("span", { className: "inline-flex items-center gap-1", children: [
|
|
1451
1453
|
props.children,
|
|
1452
1454
|
allowsSorting && /* @__PURE__ */ jsx17("span", { "aria-hidden": "true", className: "text-muted-foreground", children: sortDirection === "ascending" ? "\u25B2" : sortDirection === "descending" ? "\u25BC" : "\u25B4" })
|
|
@@ -1457,33 +1459,40 @@ function Column(props) {
|
|
|
1457
1459
|
function TableBody(props) {
|
|
1458
1460
|
return /* @__PURE__ */ jsx17(AriaTableBody, { ...props });
|
|
1459
1461
|
}
|
|
1460
|
-
function Row(
|
|
1462
|
+
function Row({
|
|
1463
|
+
className,
|
|
1464
|
+
...props
|
|
1465
|
+
}) {
|
|
1461
1466
|
return /* @__PURE__ */ jsx17(
|
|
1462
1467
|
AriaRow,
|
|
1463
1468
|
{
|
|
1464
1469
|
...props,
|
|
1465
|
-
className:
|
|
1470
|
+
className: twMerge11(
|
|
1466
1471
|
"border-b border-border",
|
|
1467
1472
|
"even:bg-card",
|
|
1468
1473
|
"hover:bg-muted",
|
|
1474
|
+
"data-[selected]:bg-accent",
|
|
1475
|
+
"data-[selected]:ring-2 data-[selected]:ring-ring data-[selected]:ring-inset",
|
|
1469
1476
|
"outline-none",
|
|
1470
1477
|
"focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-[-2px]",
|
|
1471
|
-
"transition-colors"
|
|
1472
|
-
|
|
1478
|
+
"transition-colors",
|
|
1479
|
+
className
|
|
1480
|
+
)
|
|
1473
1481
|
}
|
|
1474
1482
|
);
|
|
1475
1483
|
}
|
|
1476
|
-
function Cell(props) {
|
|
1484
|
+
function Cell({ className, ...props }) {
|
|
1477
1485
|
return /* @__PURE__ */ jsx17(
|
|
1478
1486
|
AriaCell,
|
|
1479
1487
|
{
|
|
1480
1488
|
...props,
|
|
1481
|
-
className:
|
|
1489
|
+
className: twMerge11(
|
|
1482
1490
|
"px-3 py-(--table-row-py)",
|
|
1483
1491
|
"text-foreground",
|
|
1484
1492
|
"outline-none",
|
|
1485
|
-
"focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-[-2px]"
|
|
1486
|
-
|
|
1493
|
+
"focus-visible:outline-2 focus-visible:outline-ring focus-visible:outline-offset-[-2px]",
|
|
1494
|
+
className
|
|
1495
|
+
)
|
|
1487
1496
|
}
|
|
1488
1497
|
);
|
|
1489
1498
|
}
|
|
@@ -2050,7 +2059,7 @@ function Breadcrumbs({ items, className }) {
|
|
|
2050
2059
|
import {
|
|
2051
2060
|
ToggleButton as AriaToggleButton2
|
|
2052
2061
|
} from "react-aria-components";
|
|
2053
|
-
import { twMerge as
|
|
2062
|
+
import { twMerge as twMerge12 } from "tailwind-merge";
|
|
2054
2063
|
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
2055
2064
|
var squareSizeStyles2 = {
|
|
2056
2065
|
xs: "h-6 w-6 text-xs",
|
|
@@ -2100,7 +2109,7 @@ function ToggleButton({
|
|
|
2100
2109
|
AriaToggleButton2,
|
|
2101
2110
|
{
|
|
2102
2111
|
...props,
|
|
2103
|
-
className: ({ isSelected }) =>
|
|
2112
|
+
className: ({ isSelected }) => twMerge12(
|
|
2104
2113
|
"inline-flex items-center justify-center gap-2 cursor-pointer",
|
|
2105
2114
|
isSquare ? "rounded-none" : "rounded-md",
|
|
2106
2115
|
"font-medium",
|
|
@@ -2123,7 +2132,7 @@ import {
|
|
|
2123
2132
|
MenuItem as AriaMenuItem,
|
|
2124
2133
|
Popover as Popover2
|
|
2125
2134
|
} from "react-aria-components";
|
|
2126
|
-
import { twMerge as
|
|
2135
|
+
import { twMerge as twMerge13 } from "tailwind-merge";
|
|
2127
2136
|
|
|
2128
2137
|
// src/components/Menu/menuStyles.ts
|
|
2129
2138
|
var popoverStyles = `
|
|
@@ -2150,7 +2159,7 @@ function Menu2({
|
|
|
2150
2159
|
const selectionProps = selectionMode && selectionMode !== "none" ? { selectionMode, selectedKeys, defaultSelectedKeys, onSelectionChange } : {};
|
|
2151
2160
|
return /* @__PURE__ */ jsxs18(MenuTrigger, { children: [
|
|
2152
2161
|
children,
|
|
2153
|
-
/* @__PURE__ */ jsx29(Popover2, { className:
|
|
2162
|
+
/* @__PURE__ */ jsx29(Popover2, { className: twMerge13(popoverStyles, className), children: items ? /* @__PURE__ */ jsx29(
|
|
2154
2163
|
AriaMenu,
|
|
2155
2164
|
{
|
|
2156
2165
|
items,
|
|
@@ -2209,7 +2218,7 @@ import {
|
|
|
2209
2218
|
Popover as Popover3,
|
|
2210
2219
|
Pressable
|
|
2211
2220
|
} from "react-aria-components";
|
|
2212
|
-
import { twMerge as
|
|
2221
|
+
import { twMerge as twMerge14 } from "tailwind-merge";
|
|
2213
2222
|
import { jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
2214
2223
|
function useContextMenu({
|
|
2215
2224
|
content,
|
|
@@ -2275,7 +2284,7 @@ function useContextMenu({
|
|
|
2275
2284
|
isNonModal: true,
|
|
2276
2285
|
placement: "bottom start",
|
|
2277
2286
|
ref: popoverRef,
|
|
2278
|
-
className:
|
|
2287
|
+
className: twMerge14(popoverStyles, className),
|
|
2279
2288
|
children: /* @__PURE__ */ jsx30(
|
|
2280
2289
|
AriaMenu2,
|
|
2281
2290
|
{
|
|
@@ -2438,7 +2447,7 @@ import {
|
|
|
2438
2447
|
Popover as AriaPopover,
|
|
2439
2448
|
Button as AriaButton3
|
|
2440
2449
|
} from "react-aria-components";
|
|
2441
|
-
import { twMerge as
|
|
2450
|
+
import { twMerge as twMerge15 } from "tailwind-merge";
|
|
2442
2451
|
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
2443
2452
|
function Popover4({ children, isOpen, onOpenChange }) {
|
|
2444
2453
|
return /* @__PURE__ */ jsx36(DialogTrigger, { isOpen, onOpenChange, children });
|
|
@@ -2448,7 +2457,7 @@ function PopoverTrigger({ children, className }) {
|
|
|
2448
2457
|
inline-flex items-center bg-transparent border-none p-0 outline-none cursor-pointer
|
|
2449
2458
|
focus-visible:ring-2 focus-visible:ring-ring focus-visible:rounded-sm
|
|
2450
2459
|
`;
|
|
2451
|
-
return /* @__PURE__ */ jsx36(AriaButton3, { className:
|
|
2460
|
+
return /* @__PURE__ */ jsx36(AriaButton3, { className: twMerge15(cx, className), children });
|
|
2452
2461
|
}
|
|
2453
2462
|
function PopoverContent({
|
|
2454
2463
|
placement = "bottom",
|
|
@@ -2475,7 +2484,7 @@ function PopoverContent({
|
|
|
2475
2484
|
...rest,
|
|
2476
2485
|
placement,
|
|
2477
2486
|
offset: offsetPx,
|
|
2478
|
-
className:
|
|
2487
|
+
className: twMerge15(cx, className),
|
|
2479
2488
|
children
|
|
2480
2489
|
}
|
|
2481
2490
|
);
|
|
@@ -2483,7 +2492,7 @@ function PopoverContent({
|
|
|
2483
2492
|
|
|
2484
2493
|
// src/components/Tabs/Tabs.tsx
|
|
2485
2494
|
import { createContext as createContext2, useContext as useContext2 } from "react";
|
|
2486
|
-
import { twMerge as
|
|
2495
|
+
import { twMerge as twMerge16 } from "tailwind-merge";
|
|
2487
2496
|
import {
|
|
2488
2497
|
Tabs as AriaTabs,
|
|
2489
2498
|
TabList as AriaTabList,
|
|
@@ -2513,7 +2522,7 @@ function Tabs({
|
|
|
2513
2522
|
{
|
|
2514
2523
|
...props,
|
|
2515
2524
|
orientation,
|
|
2516
|
-
className:
|
|
2525
|
+
className: twMerge16(
|
|
2517
2526
|
orientation === "vertical" ? "flex" : "",
|
|
2518
2527
|
className
|
|
2519
2528
|
),
|
|
@@ -2532,7 +2541,7 @@ function TabList({
|
|
|
2532
2541
|
AriaTabList,
|
|
2533
2542
|
{
|
|
2534
2543
|
...props,
|
|
2535
|
-
className: ({ orientation }) =>
|
|
2544
|
+
className: ({ orientation }) => twMerge16(
|
|
2536
2545
|
baseStyles,
|
|
2537
2546
|
orientation === "vertical" ? verticalStyles : "",
|
|
2538
2547
|
className
|
|
@@ -2548,14 +2557,14 @@ function Tab({ className, ...props }) {
|
|
|
2548
2557
|
...props,
|
|
2549
2558
|
className: ({ isSelected, isDisabled, isHovered, isPressed }) => {
|
|
2550
2559
|
if (variant === "unstyled") {
|
|
2551
|
-
return
|
|
2560
|
+
return twMerge16(
|
|
2552
2561
|
"cursor-pointer outline-none",
|
|
2553
2562
|
"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
2554
2563
|
isDisabled ? "opacity-50 pointer-events-none" : "",
|
|
2555
2564
|
className
|
|
2556
2565
|
);
|
|
2557
2566
|
}
|
|
2558
|
-
return
|
|
2567
|
+
return twMerge16(
|
|
2559
2568
|
// Base
|
|
2560
2569
|
"cursor-pointer outline-none transition-colors",
|
|
2561
2570
|
"font-medium",
|
|
@@ -2603,7 +2612,7 @@ function TabPanel({ className, ...props }) {
|
|
|
2603
2612
|
AriaTabPanel,
|
|
2604
2613
|
{
|
|
2605
2614
|
...props,
|
|
2606
|
-
className:
|
|
2615
|
+
className: twMerge16(
|
|
2607
2616
|
variant === "unstyled" ? "outline-none" : "mt-4 outline-none",
|
|
2608
2617
|
className
|
|
2609
2618
|
)
|
|
@@ -2621,7 +2630,7 @@ import {
|
|
|
2621
2630
|
|
|
2622
2631
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
2623
2632
|
import { createContext as createContext3, useContext as useContext3 } from "react";
|
|
2624
|
-
import { twMerge as
|
|
2633
|
+
import { twMerge as twMerge17 } from "tailwind-merge";
|
|
2625
2634
|
import {
|
|
2626
2635
|
ToggleButtonGroup as AriaToggleButtonGroup,
|
|
2627
2636
|
ToggleButton as AriaToggleButton3
|
|
@@ -2654,7 +2663,7 @@ function SegmentedControl({
|
|
|
2654
2663
|
selectedKeys: isNoneMode ? /* @__PURE__ */ new Set() : selectedKeys,
|
|
2655
2664
|
defaultSelectedKeys: isNoneMode ? void 0 : defaultSelectedKeys,
|
|
2656
2665
|
onSelectionChange: isNoneMode ? void 0 : onSelectionChange,
|
|
2657
|
-
className:
|
|
2666
|
+
className: twMerge17(
|
|
2658
2667
|
"inline-flex items-center rounded-lg border border-border bg-muted p-0.5 gap-0.5",
|
|
2659
2668
|
className
|
|
2660
2669
|
),
|
|
@@ -2671,7 +2680,7 @@ function SegmentedControlItem({
|
|
|
2671
2680
|
AriaToggleButton3,
|
|
2672
2681
|
{
|
|
2673
2682
|
...props,
|
|
2674
|
-
className: ({ isSelected, isHovered, isPressed, isDisabled }) =>
|
|
2683
|
+
className: ({ isSelected, isHovered, isPressed, isDisabled }) => twMerge17(
|
|
2675
2684
|
// Base layout
|
|
2676
2685
|
"inline-flex items-center justify-center",
|
|
2677
2686
|
"rounded-md",
|
|
@@ -2692,7 +2701,7 @@ function SegmentedControlItem({
|
|
|
2692
2701
|
}
|
|
2693
2702
|
|
|
2694
2703
|
// src/components/Badge/Badge.tsx
|
|
2695
|
-
import { twMerge as
|
|
2704
|
+
import { twMerge as twMerge18 } from "tailwind-merge";
|
|
2696
2705
|
import { jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2697
2706
|
var colorStyles = {
|
|
2698
2707
|
purple: "bg-badge-purple-bg text-badge-purple-text border-badge-purple-text/20",
|
|
@@ -2719,7 +2728,7 @@ function Badge({
|
|
|
2719
2728
|
return /* @__PURE__ */ jsxs23(
|
|
2720
2729
|
"span",
|
|
2721
2730
|
{
|
|
2722
|
-
className:
|
|
2731
|
+
className: twMerge18(
|
|
2723
2732
|
"inline-flex items-center gap-1 rounded-full border",
|
|
2724
2733
|
"font-medium leading-tight tracking-wider tabular-nums",
|
|
2725
2734
|
colorStyles[color],
|
|
@@ -2736,10 +2745,10 @@ function Badge({
|
|
|
2736
2745
|
}
|
|
2737
2746
|
|
|
2738
2747
|
// src/components/Card/Card.tsx
|
|
2739
|
-
import { twMerge as
|
|
2748
|
+
import { twMerge as twMerge19 } from "tailwind-merge";
|
|
2740
2749
|
import { jsx as jsx40, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2741
2750
|
function Card({ children, header, footer, className }) {
|
|
2742
|
-
const cx =
|
|
2751
|
+
const cx = twMerge19(
|
|
2743
2752
|
`
|
|
2744
2753
|
bg-card p-8
|
|
2745
2754
|
border border-border
|
|
@@ -2757,7 +2766,7 @@ function Card({ children, header, footer, className }) {
|
|
|
2757
2766
|
|
|
2758
2767
|
// src/components/DeltaIndicator/DeltaIndicator.tsx
|
|
2759
2768
|
import { ArrowUp as ArrowUp2, ArrowDown as ArrowDown2, Minus as Minus2 } from "lucide-react";
|
|
2760
|
-
import { twMerge as
|
|
2769
|
+
import { twMerge as twMerge20 } from "tailwind-merge";
|
|
2761
2770
|
import { jsx as jsx41, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2762
2771
|
function getDirection(current, previous) {
|
|
2763
2772
|
const diff = current - previous;
|
|
@@ -2814,7 +2823,7 @@ function DeltaIndicator({
|
|
|
2814
2823
|
return /* @__PURE__ */ jsxs25(
|
|
2815
2824
|
"span",
|
|
2816
2825
|
{
|
|
2817
|
-
className:
|
|
2826
|
+
className: twMerge20(
|
|
2818
2827
|
"inline-flex items-center gap-1 font-medium",
|
|
2819
2828
|
"text-muted-foreground",
|
|
2820
2829
|
className
|
|
@@ -2853,7 +2862,7 @@ function DeltaIndicator({
|
|
|
2853
2862
|
return /* @__PURE__ */ jsxs25(
|
|
2854
2863
|
"span",
|
|
2855
2864
|
{
|
|
2856
|
-
className:
|
|
2865
|
+
className: twMerge20(
|
|
2857
2866
|
"inline-flex items-center gap-1 font-medium",
|
|
2858
2867
|
colorStyles2,
|
|
2859
2868
|
isPill && [
|
|
@@ -2873,7 +2882,7 @@ function DeltaIndicator({
|
|
|
2873
2882
|
}
|
|
2874
2883
|
|
|
2875
2884
|
// src/components/ProgressBar/ProgressBar.tsx
|
|
2876
|
-
import { twMerge as
|
|
2885
|
+
import { twMerge as twMerge21 } from "tailwind-merge";
|
|
2877
2886
|
import { jsx as jsx42, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2878
2887
|
var fillStyles = {
|
|
2879
2888
|
brand: "bg-progress-fill",
|
|
@@ -2897,7 +2906,7 @@ function ProgressBar({
|
|
|
2897
2906
|
className
|
|
2898
2907
|
}) {
|
|
2899
2908
|
const clampedValue = Math.min(100, Math.max(0, value));
|
|
2900
|
-
return /* @__PURE__ */ jsxs26("div", { className:
|
|
2909
|
+
return /* @__PURE__ */ jsxs26("div", { className: twMerge21("w-full", className), children: [
|
|
2901
2910
|
(label || description || showValue) && /* @__PURE__ */ jsxs26("div", { className: "flex items-center justify-between mb-2", children: [
|
|
2902
2911
|
/* @__PURE__ */ jsx42("span", { className: "text-sm font-medium text-foreground", children: label }),
|
|
2903
2912
|
/* @__PURE__ */ jsx42("span", { className: "text-sm text-muted-foreground", children: description ?? (showValue ? `${clampedValue}%` : null) })
|
|
@@ -2910,14 +2919,14 @@ function ProgressBar({
|
|
|
2910
2919
|
"aria-valuemin": 0,
|
|
2911
2920
|
"aria-valuemax": 100,
|
|
2912
2921
|
"aria-label": label ?? "Progress",
|
|
2913
|
-
className:
|
|
2922
|
+
className: twMerge21(
|
|
2914
2923
|
"w-full rounded-full bg-progress-track",
|
|
2915
2924
|
sizeStyles6[size]
|
|
2916
2925
|
),
|
|
2917
2926
|
children: /* @__PURE__ */ jsx42(
|
|
2918
2927
|
"div",
|
|
2919
2928
|
{
|
|
2920
|
-
className:
|
|
2929
|
+
className: twMerge21(
|
|
2921
2930
|
"h-full rounded-full transition-all duration-300",
|
|
2922
2931
|
fillStyles[variant]
|
|
2923
2932
|
),
|
|
@@ -2937,7 +2946,7 @@ import {
|
|
|
2937
2946
|
AlertCircle as AlertCircle2,
|
|
2938
2947
|
CheckCircle2 as CheckCircle22
|
|
2939
2948
|
} from "lucide-react";
|
|
2940
|
-
import { twMerge as
|
|
2949
|
+
import { twMerge as twMerge22 } from "tailwind-merge";
|
|
2941
2950
|
import { jsx as jsx43, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2942
2951
|
var variantConfig2 = {
|
|
2943
2952
|
info: {
|
|
@@ -2986,7 +2995,7 @@ function Banner({
|
|
|
2986
2995
|
"div",
|
|
2987
2996
|
{
|
|
2988
2997
|
role: config.role,
|
|
2989
|
-
className:
|
|
2998
|
+
className: twMerge22(
|
|
2990
2999
|
"flex items-start gap-3 rounded-lg border px-4 py-3",
|
|
2991
3000
|
"text-sm",
|
|
2992
3001
|
config.containerClass,
|
|
@@ -2998,7 +3007,7 @@ function Banner({
|
|
|
2998
3007
|
{
|
|
2999
3008
|
icon: resolvedIcon,
|
|
3000
3009
|
size: "md",
|
|
3001
|
-
className:
|
|
3010
|
+
className: twMerge22("mt-0.5", config.iconClass)
|
|
3002
3011
|
}
|
|
3003
3012
|
),
|
|
3004
3013
|
/* @__PURE__ */ jsxs27("div", { className: "flex-1", children: [
|
|
@@ -3024,7 +3033,7 @@ function Banner({
|
|
|
3024
3033
|
}
|
|
3025
3034
|
|
|
3026
3035
|
// src/components/MetricCard/MetricCard.tsx
|
|
3027
|
-
import { twMerge as
|
|
3036
|
+
import { twMerge as twMerge23 } from "tailwind-merge";
|
|
3028
3037
|
import { Fragment as Fragment8, jsx as jsx44, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3029
3038
|
var sizeConfig = {
|
|
3030
3039
|
sm: {
|
|
@@ -3047,18 +3056,18 @@ function MetricCard({
|
|
|
3047
3056
|
className
|
|
3048
3057
|
}) {
|
|
3049
3058
|
const config = sizeConfig[size];
|
|
3050
|
-
const containerClass =
|
|
3059
|
+
const containerClass = twMerge23(
|
|
3051
3060
|
"bg-background border border-border rounded-lg shadow-sm",
|
|
3052
3061
|
config.padding,
|
|
3053
3062
|
href && "block transition-shadow hover:shadow-md hover:border-ring focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 outline-none",
|
|
3054
3063
|
className
|
|
3055
3064
|
);
|
|
3056
3065
|
const content = /* @__PURE__ */ jsxs28(Fragment8, { children: [
|
|
3057
|
-
/* @__PURE__ */ jsx44("div", { className:
|
|
3066
|
+
/* @__PURE__ */ jsx44("div", { className: twMerge23(config.labelClass, "text-muted-foreground"), children: label }),
|
|
3058
3067
|
/* @__PURE__ */ jsx44(
|
|
3059
3068
|
"div",
|
|
3060
3069
|
{
|
|
3061
|
-
className:
|
|
3070
|
+
className: twMerge23(
|
|
3062
3071
|
config.valueClass,
|
|
3063
3072
|
"font-semibold text-foreground mt-1 tabular-nums"
|
|
3064
3073
|
),
|
|
@@ -3075,7 +3084,7 @@ function MetricCard({
|
|
|
3075
3084
|
|
|
3076
3085
|
// src/components/SectionHeader/SectionHeader.tsx
|
|
3077
3086
|
import { forwardRef as forwardRef7 } from "react";
|
|
3078
|
-
import { twMerge as
|
|
3087
|
+
import { twMerge as twMerge24 } from "tailwind-merge";
|
|
3079
3088
|
import { jsx as jsx45, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3080
3089
|
var SectionHeader = forwardRef7(
|
|
3081
3090
|
function SectionHeader2({ title, as = "h2", children, className, ...rest }, ref) {
|
|
@@ -3083,7 +3092,7 @@ var SectionHeader = forwardRef7(
|
|
|
3083
3092
|
"div",
|
|
3084
3093
|
{
|
|
3085
3094
|
ref,
|
|
3086
|
-
className:
|
|
3095
|
+
className: twMerge24(
|
|
3087
3096
|
"flex flex-wrap items-center gap-3 pt-0 pb-4",
|
|
3088
3097
|
className
|
|
3089
3098
|
),
|
|
@@ -3144,7 +3153,7 @@ function DescriptionListItem({
|
|
|
3144
3153
|
DescriptionList.Item = DescriptionListItem;
|
|
3145
3154
|
|
|
3146
3155
|
// src/components/PathPill/PathPill.tsx
|
|
3147
|
-
import { twMerge as
|
|
3156
|
+
import { twMerge as twMerge25 } from "tailwind-merge";
|
|
3148
3157
|
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
3149
3158
|
var hashColors = [
|
|
3150
3159
|
"purple",
|
|
@@ -3174,12 +3183,12 @@ function PathPill({
|
|
|
3174
3183
|
return /* @__PURE__ */ jsx47(
|
|
3175
3184
|
"div",
|
|
3176
3185
|
{
|
|
3177
|
-
className:
|
|
3186
|
+
className: twMerge25("relative flex", className),
|
|
3178
3187
|
"aria-label": `Path: ${fullPath}`,
|
|
3179
3188
|
children: segments.map((segment, i) => {
|
|
3180
3189
|
const isCollapsed = i < dotCount;
|
|
3181
3190
|
const isLast = i === segments.length - 1;
|
|
3182
|
-
const cx =
|
|
3191
|
+
const cx = twMerge25(!isLast && "pr-5 -mr-4", isCollapsed && "pr-3");
|
|
3183
3192
|
const color = colorFn ? colorFn(segment, i) : pillColorFromName(segment);
|
|
3184
3193
|
return /* @__PURE__ */ jsx47(
|
|
3185
3194
|
Badge,
|