@godxjp/ui 6.12.0 → 7.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.
- package/README.md +5 -0
- package/dist/aspect-ratio-DGoYrOry.d.ts +6 -0
- package/dist/avatar-D9MdXzfF.d.ts +8 -0
- package/dist/{checkbox-9w-eF8sM.d.ts → checkbox-CK2mYEpD.d.ts} +1 -1
- package/dist/{chunk-T2S3IGZG.js → chunk-6TSU4IHV.js} +1 -1
- package/dist/chunk-7AMHT5Z5.js +61 -0
- package/dist/{chunk-EE3B3TEQ.js → chunk-ARDVPIF4.js} +1 -1
- package/dist/chunk-B3WX53JQ.js +40 -0
- package/dist/{chunk-T4UT3B3K.js → chunk-EQRQM6RF.js} +127 -182
- package/dist/{chunk-JBEIL3VD.js → chunk-FBHN6OO4.js} +1 -1
- package/dist/chunk-FRU44GA2.js +18 -0
- package/dist/chunk-FYM3MJSK.js +59 -0
- package/dist/{chunk-M64MVRLS.js → chunk-HKQITNB3.js} +12 -48
- package/dist/{chunk-GXHZAJUA.js → chunk-O2OUNXV4.js} +10 -10
- package/dist/{chunk-BM5LIDCS.js → chunk-OGFWIXRO.js} +7 -16
- package/dist/chunk-R2W2FX5Q.js +48 -0
- package/dist/chunk-SEG2YBXF.js +29 -0
- package/dist/{chunk-XG7XDYIM.js → chunk-V3N266PT.js} +48 -2
- package/dist/{chunk-TW4IRRAX.js → chunk-VXXKR5U4.js} +6 -47
- package/dist/{chunk-SWGQX3AP.js → chunk-Y3XBNUTD.js} +1 -1
- package/dist/components/admin/index.d.ts +12 -10
- package/dist/components/admin/index.js +18 -17
- package/dist/components/data-display/badge.d.ts +12 -4
- package/dist/components/data-display/badge.js +3 -1
- package/dist/components/data-display/card.d.ts +5 -5
- package/dist/components/data-display/card.js +1 -1
- package/dist/components/data-display/index.d.ts +10 -22
- package/dist/components/data-display/index.js +24 -33
- package/dist/components/data-entry/autocomplete.d.ts +1 -1
- package/dist/components/data-entry/autocomplete.js +3 -3
- package/dist/components/data-entry/calendar.d.ts +1 -1
- package/dist/components/data-entry/cascader.d.ts +1 -1
- package/dist/components/data-entry/checkbox.d.ts +2 -2
- package/dist/components/data-entry/color-picker.d.ts +1 -1
- package/dist/components/data-entry/color-picker.js +2 -2
- package/dist/components/data-entry/command.d.ts +5 -5
- package/dist/components/data-entry/date-picker.d.ts +1 -1
- package/dist/components/data-entry/date-picker.js +2 -2
- package/dist/components/data-entry/date-range-picker.d.ts +1 -1
- package/dist/components/data-entry/date-range-picker.js +2 -2
- package/dist/components/data-entry/index.d.ts +18 -14
- package/dist/components/data-entry/index.js +18 -78
- package/dist/components/data-entry/radio.d.ts +1 -1
- package/dist/components/data-entry/select.d.ts +1 -1
- package/dist/components/data-entry/select.js +3 -3
- package/dist/components/data-entry/slider.d.ts +1 -1
- package/dist/components/data-entry/switch.d.ts +1 -1
- package/dist/components/data-entry/switch.js +1 -1
- package/dist/components/data-entry/time-picker.d.ts +1 -1
- package/dist/components/data-entry/time-picker.js +2 -2
- package/dist/components/data-entry/transfer.d.ts +2 -2
- package/dist/components/data-entry/transfer.js +2 -2
- package/dist/components/data-entry/tree-select.d.ts +1 -1
- package/dist/components/data-entry/upload.d.ts +2 -2
- package/dist/components/data-entry/upload.js +2 -2
- package/dist/components/feedback/index.d.ts +2 -1
- package/dist/components/feedback/index.js +6 -5
- package/dist/components/layout/index.d.ts +11 -38
- package/dist/components/layout/index.js +3 -4
- package/dist/components/navigation/index.d.ts +2 -3
- package/dist/components/navigation/index.js +6 -7
- package/dist/components/navigation/pagination.d.ts +1 -1
- package/dist/components/navigation/pagination.js +4 -4
- package/dist/components/navigation/steps.d.ts +2 -2
- package/dist/components/navigation/tabs.d.ts +14 -2
- package/dist/components/navigation/tabs.js +1 -1
- package/dist/components/ui/index.d.ts +14 -7
- package/dist/components/ui/index.js +22 -19
- package/dist/{data-display.prop-i0iaSwMV.d.ts → data-display.prop-CXP9Jfdn.d.ts} +14 -14
- package/dist/{data-entry.prop-Cjidhei7.d.ts → data-entry.prop-CpSx5dX6.d.ts} +1 -17
- package/dist/{data-table-Bg7fPpXy.d.ts → data-table-C5lcmAwE.d.ts} +7 -30
- package/dist/{filter-bar-BpUvE_yO.d.ts → filter-bar-zSKz7YCR.d.ts} +1 -1
- package/dist/index.d.ts +12 -10
- package/dist/index.js +18 -17
- package/dist/{navigation.prop-Ck5_gSfs.d.ts → navigation.prop-DAH4ysXj.d.ts} +6 -7
- package/dist/props/components/index.d.ts +3 -3
- package/dist/props/index.d.ts +3 -3
- package/dist/props/index.js +1 -1
- package/dist/props/registry.d.ts +7 -12
- package/dist/props/registry.js +1 -1
- package/dist/{search-input-mAZy3Den.d.ts → search-input-rR2XDrjv.d.ts} +1 -1
- package/dist/skeleton-CqFO4dRc.d.ts +20 -0
- package/dist/styles/badge-layout.css +2 -2
- package/dist/styles/card-layout.css +19 -19
- package/dist/styles/control.css +68 -0
- package/dist/styles/data-display-layout.css +23 -81
- package/dist/styles/layout.css +19 -71
- package/dist/toggle-group-BulJgKh3.d.ts +26 -0
- package/dist/tokens/primitives/card.css +9 -9
- package/dist/use-toast-Dsw3yE2S.d.ts +19 -0
- package/package.json +11 -7
- package/dist/chunk-BPSKQUL2.js +0 -68
- package/dist/chunk-PIIRNAXA.js +0 -26
- package/dist/chunk-WXW43RK5.js +0 -24
- package/dist/components/navigation/tabs-items.d.ts +0 -12
- package/dist/components/navigation/tabs-items.js +0 -3
- package/dist/use-toast-Dol5bdY3.d.ts +0 -34
- package/dist/{chunk-I3272Y2C.js → chunk-25ZZ2W3M.js} +1 -1
- package/dist/{chunk-AZS7553U.js → chunk-EXBWDW5E.js} +1 -1
- package/dist/{chunk-K27I23OA.js → chunk-NTUHJ37K.js} +1 -1
- package/dist/{chunk-Y7AV7QJO.js → chunk-OXKY5QMK.js} +1 -1
- package/dist/{chunk-ZTYEH3UW.js → chunk-TT2L7JM6.js} +1 -1
- package/dist/{chunk-GH7E5N6F.js → chunk-ZKIAZDVU.js} +1 -1
- package/dist/{chunk-YVBZ37ZE.js → chunk-ZR2TIBPG.js} +1 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { tableCellPaddingClass, tableRowHeightClass } from './chunk-ICM6XBST.js';
|
|
2
2
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
3
3
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
-
import { toast as toast$1 } from 'sonner';
|
|
5
4
|
|
|
6
|
-
function
|
|
5
|
+
function Skeleton({ className, ...props }) {
|
|
7
6
|
return /* @__PURE__ */ jsx(
|
|
8
7
|
"div",
|
|
9
8
|
{
|
|
@@ -16,7 +15,7 @@ function SkeletonBlock({ className, ...props }) {
|
|
|
16
15
|
}
|
|
17
16
|
function SkeletonRows({ rows = 6, columns = 4, className }) {
|
|
18
17
|
return /* @__PURE__ */ jsx("div", { className: cn("ui-skeleton-rows", className), "aria-busy": "true", children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsx("div", { className: "ui-skeleton-row", children: Array.from({ length: columns }).map((_2, j) => /* @__PURE__ */ jsx(
|
|
19
|
-
|
|
18
|
+
Skeleton,
|
|
20
19
|
{
|
|
21
20
|
className: cn("h-4", j === 0 ? "w-1/4" : j === columns - 1 ? "w-1/6" : "flex-1")
|
|
22
21
|
},
|
|
@@ -25,12 +24,12 @@ function SkeletonRows({ rows = 6, columns = 4, className }) {
|
|
|
25
24
|
}
|
|
26
25
|
function SkeletonTable({ rows = 8, columns = 5 }) {
|
|
27
26
|
return /* @__PURE__ */ jsxs("div", { className: "ui-skeleton-table", "aria-busy": "true", children: [
|
|
28
|
-
/* @__PURE__ */ jsx("div", { className: cn("ui-skeleton-table-head", tableCellPaddingClass, tableRowHeightClass), children: Array.from({ length: columns }).map((_, j) => /* @__PURE__ */ jsx(
|
|
27
|
+
/* @__PURE__ */ jsx("div", { className: cn("ui-skeleton-table-head", tableCellPaddingClass, tableRowHeightClass), children: Array.from({ length: columns }).map((_, j) => /* @__PURE__ */ jsx(Skeleton, { className: cn("h-3", j === 0 ? "w-1/5" : "flex-1") }, j)) }),
|
|
29
28
|
/* @__PURE__ */ jsx("div", { className: "ui-skeleton-table-body", children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsx(
|
|
30
29
|
"div",
|
|
31
30
|
{
|
|
32
31
|
className: cn("ui-skeleton-table-row", tableCellPaddingClass, tableRowHeightClass),
|
|
33
|
-
children: Array.from({ length: columns }).map((_2, j) => /* @__PURE__ */ jsx(
|
|
32
|
+
children: Array.from({ length: columns }).map((_2, j) => /* @__PURE__ */ jsx(Skeleton, { className: cn("h-4", j === 0 ? "w-1/5" : "flex-1") }, j))
|
|
34
33
|
},
|
|
35
34
|
i
|
|
36
35
|
)) })
|
|
@@ -38,55 +37,20 @@ function SkeletonTable({ rows = 8, columns = 5 }) {
|
|
|
38
37
|
}
|
|
39
38
|
function SkeletonDetail() {
|
|
40
39
|
return /* @__PURE__ */ jsxs("div", { className: "ui-skeleton-detail ui-skeleton-detail-stack", "aria-busy": "true", children: [
|
|
41
|
-
/* @__PURE__ */ jsx(
|
|
42
|
-
/* @__PURE__ */ jsx(
|
|
40
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-7 w-1/3" }),
|
|
41
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/2" }),
|
|
43
42
|
/* @__PURE__ */ jsx("div", { className: "ui-skeleton-detail-box ui-skeleton-detail-stack", children: Array.from({ length: 6 }).map((_, i) => /* @__PURE__ */ jsxs("div", { className: "ui-skeleton-detail-stack", children: [
|
|
44
|
-
/* @__PURE__ */ jsx(
|
|
45
|
-
/* @__PURE__ */ jsx(
|
|
43
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-24" }),
|
|
44
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-full max-w-md" })
|
|
46
45
|
] }, i)) })
|
|
47
46
|
] });
|
|
48
47
|
}
|
|
49
48
|
function SkeletonCard() {
|
|
50
49
|
return /* @__PURE__ */ jsxs("div", { className: "ui-skeleton-card", "aria-busy": "true", children: [
|
|
51
|
-
/* @__PURE__ */ jsx(
|
|
52
|
-
/* @__PURE__ */ jsx(
|
|
53
|
-
/* @__PURE__ */ jsx(
|
|
50
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-24" }),
|
|
51
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-[length:var(--control-height)] w-32" }),
|
|
52
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-20" })
|
|
54
53
|
] });
|
|
55
54
|
}
|
|
56
|
-
function nodeText(value) {
|
|
57
|
-
if (value == null) return "";
|
|
58
|
-
if (typeof value === "string") return value;
|
|
59
|
-
if (typeof value === "number" || typeof value === "boolean") return String(value);
|
|
60
|
-
return "";
|
|
61
|
-
}
|
|
62
|
-
function legacyToast(options) {
|
|
63
|
-
const { title, description, variant, ...rest } = options;
|
|
64
|
-
const titleText = nodeText(title);
|
|
65
|
-
const descText = nodeText(description);
|
|
66
|
-
const message = titleText || descText;
|
|
67
|
-
const desc = titleText && descText ? descText : void 0;
|
|
68
|
-
const sonnerOptions = { ...rest, description: desc };
|
|
69
|
-
switch (variant) {
|
|
70
|
-
case "destructive":
|
|
71
|
-
return toast$1.error(message, sonnerOptions);
|
|
72
|
-
case "success":
|
|
73
|
-
return toast$1.success(message, sonnerOptions);
|
|
74
|
-
default:
|
|
75
|
-
return toast$1(message, sonnerOptions);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
var toast = Object.assign((messageOrOptions) => {
|
|
79
|
-
if (typeof messageOrOptions === "string") {
|
|
80
|
-
return toast$1(messageOrOptions);
|
|
81
|
-
}
|
|
82
|
-
return legacyToast(messageOrOptions);
|
|
83
|
-
}, toast$1);
|
|
84
|
-
function useToast() {
|
|
85
|
-
return {
|
|
86
|
-
toast: (options) => legacyToast(options),
|
|
87
|
-
dismiss: toast$1.dismiss,
|
|
88
|
-
toasts: []
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
55
|
|
|
92
|
-
export { SkeletonCard, SkeletonDetail, SkeletonRows, SkeletonTable
|
|
56
|
+
export { Skeleton, SkeletonCard, SkeletonDetail, SkeletonRows, SkeletonTable };
|
|
@@ -86,7 +86,7 @@ function getDeltaTone(delta, inverse) {
|
|
|
86
86
|
const semanticPositive = inverse ? !isPositive : isPositive;
|
|
87
87
|
return semanticPositive ? "positive" : "negative";
|
|
88
88
|
}
|
|
89
|
-
function
|
|
89
|
+
function StatCard({
|
|
90
90
|
label,
|
|
91
91
|
value,
|
|
92
92
|
hint,
|
|
@@ -103,23 +103,23 @@ function CardStat({
|
|
|
103
103
|
Card,
|
|
104
104
|
{
|
|
105
105
|
size: size ?? "compact",
|
|
106
|
-
className,
|
|
106
|
+
className: cn("ui-stat-card", className),
|
|
107
107
|
"data-stat-card": "",
|
|
108
108
|
"data-stat-layout": layout,
|
|
109
109
|
"data-stat-align": align,
|
|
110
110
|
...props,
|
|
111
111
|
children: [
|
|
112
|
-
/* @__PURE__ */ jsxs("div", { "data-slot": "card-
|
|
113
|
-
/* @__PURE__ */ jsx("div", { "data-slot": "card-
|
|
114
|
-
hint && layout === "inline" ? /* @__PURE__ */ jsx("div", { "data-slot": "card-
|
|
112
|
+
/* @__PURE__ */ jsxs("div", { "data-slot": "stat-card-body", children: [
|
|
113
|
+
/* @__PURE__ */ jsx("div", { "data-slot": "stat-card-label", children: label }),
|
|
114
|
+
hint && layout === "inline" ? /* @__PURE__ */ jsx("div", { "data-slot": "stat-card-hint", children: hint }) : null
|
|
115
115
|
] }),
|
|
116
116
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
117
|
-
/* @__PURE__ */ jsxs("div", { "data-slot": "card-
|
|
118
|
-
/* @__PURE__ */ jsx("span", { "data-slot": "card-
|
|
117
|
+
/* @__PURE__ */ jsxs("div", { "data-slot": "stat-card-value-row", children: [
|
|
118
|
+
/* @__PURE__ */ jsx("span", { "data-slot": "stat-card-value", children: value }),
|
|
119
119
|
delta ? /* @__PURE__ */ jsx(
|
|
120
120
|
"span",
|
|
121
121
|
{
|
|
122
|
-
"data-slot": "card-
|
|
122
|
+
"data-slot": "stat-card-delta",
|
|
123
123
|
"data-delta-tone": deltaTone,
|
|
124
124
|
className: cn(
|
|
125
125
|
deltaTone === "positive" && "text-success",
|
|
@@ -129,7 +129,7 @@ function CardStat({
|
|
|
129
129
|
}
|
|
130
130
|
) : null
|
|
131
131
|
] }),
|
|
132
|
-
hint && layout !== "inline" ? /* @__PURE__ */ jsx("div", { "data-slot": "card-
|
|
132
|
+
hint && layout !== "inline" ? /* @__PURE__ */ jsx("div", { "data-slot": "stat-card-hint", children: hint }) : null
|
|
133
133
|
] })
|
|
134
134
|
]
|
|
135
135
|
}
|
|
@@ -140,4 +140,4 @@ var CardAction = React.forwardRef(
|
|
|
140
140
|
);
|
|
141
141
|
CardAction.displayName = "CardAction";
|
|
142
142
|
|
|
143
|
-
export { Card, CardAction, CardContent, CardCover, CardDescription, CardFooter, CardHeader,
|
|
143
|
+
export { Card, CardAction, CardContent, CardCover, CardDescription, CardFooter, CardHeader, CardTitle, StatCard };
|
|
@@ -188,7 +188,7 @@ var VOCABULARY_REGISTRY = {
|
|
|
188
188
|
StatusToneProp: {
|
|
189
189
|
file: "vocabulary/interaction.prop.ts",
|
|
190
190
|
category: "interaction",
|
|
191
|
-
description: "
|
|
191
|
+
description: "Badge color tone"
|
|
192
192
|
},
|
|
193
193
|
AlertVariantProp: {
|
|
194
194
|
file: "vocabulary/interaction.prop.ts",
|
|
@@ -374,18 +374,10 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
374
374
|
file: "components/data-entry.prop.ts",
|
|
375
375
|
vocabulary: ["DisabledProp"]
|
|
376
376
|
},
|
|
377
|
-
|
|
377
|
+
ChoiceFieldProp: {
|
|
378
378
|
group: "data-entry",
|
|
379
379
|
file: "components/data-entry.prop.ts",
|
|
380
|
-
vocabulary: [
|
|
381
|
-
"IdProp",
|
|
382
|
-
"LabelProp",
|
|
383
|
-
"RequiredProp",
|
|
384
|
-
"HelperProp",
|
|
385
|
-
"ErrorProp",
|
|
386
|
-
"DisabledProp",
|
|
387
|
-
"ClassNameProp"
|
|
388
|
-
]
|
|
380
|
+
vocabulary: ["IdProp", "LabelProp", "ClassNameProp"]
|
|
389
381
|
},
|
|
390
382
|
SliderProp: {
|
|
391
383
|
group: "data-entry",
|
|
@@ -512,22 +504,21 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
512
504
|
file: "components/data-display.prop.ts",
|
|
513
505
|
vocabulary: ["IconProp", "TitleProp", "DescriptionProp", "ActionProp"]
|
|
514
506
|
},
|
|
515
|
-
|
|
507
|
+
DescriptionsProp: {
|
|
516
508
|
group: "data-display",
|
|
517
509
|
file: "components/data-display.prop.ts",
|
|
518
510
|
vocabulary: []
|
|
519
511
|
},
|
|
520
|
-
|
|
512
|
+
BadgeProp: {
|
|
521
513
|
group: "data-display",
|
|
522
514
|
file: "components/data-display.prop.ts",
|
|
523
|
-
vocabulary: ["
|
|
515
|
+
vocabulary: ["ChildrenProp", "ClassNameProp"]
|
|
524
516
|
},
|
|
525
517
|
DataTableProp: {
|
|
526
518
|
group: "data-display",
|
|
527
519
|
file: "components/data-display.prop.ts",
|
|
528
520
|
vocabulary: ["ColumnDefProp", "TableDensityProp", "SortStateProp", "SelectedIdsProp"]
|
|
529
521
|
},
|
|
530
|
-
BadgeProp: { group: "data-display", file: "components/data-display.prop.ts", vocabulary: [] },
|
|
531
522
|
DialogConfirmProp: {
|
|
532
523
|
group: "feedback",
|
|
533
524
|
file: "components/feedback.prop.ts",
|
|
@@ -609,7 +600,7 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
609
600
|
},
|
|
610
601
|
StepItemProp: { group: "navigation", file: "components/navigation.prop.ts", vocabulary: [] },
|
|
611
602
|
StepStatusProp: { group: "navigation", file: "components/navigation.prop.ts", vocabulary: [] },
|
|
612
|
-
|
|
603
|
+
TabsProp: {
|
|
613
604
|
group: "navigation",
|
|
614
605
|
file: "components/navigation.prop.ts",
|
|
615
606
|
vocabulary: ["ClassNameProp"]
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { cn } from './chunk-U7N2A7A3.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
4
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var Switch = React.forwardRef(
|
|
7
|
+
({
|
|
8
|
+
className,
|
|
9
|
+
size = "default",
|
|
10
|
+
name,
|
|
11
|
+
checked,
|
|
12
|
+
defaultChecked = false,
|
|
13
|
+
onCheckedChange,
|
|
14
|
+
...props
|
|
15
|
+
}, ref) => {
|
|
16
|
+
const [internalChecked, setInternalChecked] = React.useState(defaultChecked);
|
|
17
|
+
const isControlled = checked !== void 0;
|
|
18
|
+
const isChecked = isControlled ? checked : internalChecked;
|
|
19
|
+
const handleCheckedChange = (next) => {
|
|
20
|
+
if (!isControlled) {
|
|
21
|
+
setInternalChecked(next);
|
|
22
|
+
}
|
|
23
|
+
onCheckedChange?.(next);
|
|
24
|
+
};
|
|
25
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26
|
+
name ? /* @__PURE__ */ jsx("input", { type: "hidden", name, value: isChecked ? "1" : "0", readOnly: true }) : null,
|
|
27
|
+
/* @__PURE__ */ jsx(
|
|
28
|
+
SwitchPrimitive.Root,
|
|
29
|
+
{
|
|
30
|
+
ref,
|
|
31
|
+
"data-slot": "switch",
|
|
32
|
+
"data-size": size,
|
|
33
|
+
checked: isChecked,
|
|
34
|
+
onCheckedChange: handleCheckedChange,
|
|
35
|
+
className: cn(
|
|
36
|
+
"peer ui-switch focus-visible:border-ring focus-visible:ring-ring/50 shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
37
|
+
className
|
|
38
|
+
),
|
|
39
|
+
...props,
|
|
40
|
+
children: /* @__PURE__ */ jsx(SwitchPrimitive.Thumb, { "data-slot": "switch-thumb", className: "ui-switch-thumb" })
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
Switch.displayName = SwitchPrimitive.Root.displayName;
|
|
47
|
+
|
|
48
|
+
export { Switch };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { cn } from './chunk-U7N2A7A3.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var Avatar = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(AvatarPrimitive.Root, { ref, "data-slot": "avatar", className: cn("ui-avatar", className), ...props }));
|
|
7
|
+
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
8
|
+
var AvatarImage = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
9
|
+
AvatarPrimitive.Image,
|
|
10
|
+
{
|
|
11
|
+
ref,
|
|
12
|
+
"data-slot": "avatar-image",
|
|
13
|
+
className: cn("ui-avatar-image", className),
|
|
14
|
+
...props
|
|
15
|
+
}
|
|
16
|
+
));
|
|
17
|
+
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
18
|
+
var AvatarFallback = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
19
|
+
AvatarPrimitive.Fallback,
|
|
20
|
+
{
|
|
21
|
+
ref,
|
|
22
|
+
"data-slot": "avatar-fallback",
|
|
23
|
+
className: cn("ui-avatar-fallback", className),
|
|
24
|
+
...props
|
|
25
|
+
}
|
|
26
|
+
));
|
|
27
|
+
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
28
|
+
|
|
29
|
+
export { Avatar, AvatarFallback, AvatarImage };
|
|
@@ -1,21 +1,67 @@
|
|
|
1
1
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
4
|
-
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|
|
6
6
|
function Tabs({
|
|
7
7
|
className,
|
|
8
8
|
orientation = "horizontal",
|
|
9
|
+
items,
|
|
10
|
+
value,
|
|
11
|
+
defaultValue,
|
|
12
|
+
variant = "default",
|
|
13
|
+
listClassName,
|
|
14
|
+
contentClassName,
|
|
9
15
|
...props
|
|
10
16
|
}) {
|
|
17
|
+
const firstValue = items?.[0]?.value;
|
|
18
|
+
const resolvedDefault = defaultValue ?? firstValue;
|
|
11
19
|
return /* @__PURE__ */ jsx(
|
|
12
20
|
TabsPrimitive.Root,
|
|
13
21
|
{
|
|
14
22
|
"data-slot": "tabs",
|
|
15
23
|
"data-orientation": orientation,
|
|
16
24
|
orientation,
|
|
25
|
+
value,
|
|
26
|
+
defaultValue: value === void 0 ? resolvedDefault : void 0,
|
|
17
27
|
className: cn("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col", className),
|
|
18
|
-
...props
|
|
28
|
+
...props,
|
|
29
|
+
children: items ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
30
|
+
/* @__PURE__ */ jsx(
|
|
31
|
+
TabsList,
|
|
32
|
+
{
|
|
33
|
+
"data-slot": "tabs-list",
|
|
34
|
+
className: cn(
|
|
35
|
+
variant === "line" && "h-auto w-full justify-start rounded-none border-b bg-transparent p-0",
|
|
36
|
+
variant === "card" && "w-full justify-start",
|
|
37
|
+
listClassName
|
|
38
|
+
),
|
|
39
|
+
children: items.map((item) => /* @__PURE__ */ jsx(
|
|
40
|
+
TabsTrigger,
|
|
41
|
+
{
|
|
42
|
+
value: item.value,
|
|
43
|
+
disabled: item.disabled,
|
|
44
|
+
className: cn(
|
|
45
|
+
variant === "line" && "data-[state=active]:border-primary rounded-none border-b-2 border-transparent bg-transparent px-4 py-2 shadow-none data-[state=active]:bg-transparent data-[state=active]:shadow-none",
|
|
46
|
+
variant === "card" && "data-[state=active]:shadow-sm"
|
|
47
|
+
),
|
|
48
|
+
children: item.label
|
|
49
|
+
},
|
|
50
|
+
item.value
|
|
51
|
+
))
|
|
52
|
+
}
|
|
53
|
+
),
|
|
54
|
+
items.map((item) => /* @__PURE__ */ jsx(
|
|
55
|
+
TabsContent,
|
|
56
|
+
{
|
|
57
|
+
value: item.value,
|
|
58
|
+
"data-slot": "tabs-panel",
|
|
59
|
+
className: cn(variant === "line" && "mt-0", contentClassName),
|
|
60
|
+
children: item.content
|
|
61
|
+
},
|
|
62
|
+
item.value
|
|
63
|
+
))
|
|
64
|
+
] }) : props.children
|
|
19
65
|
}
|
|
20
66
|
);
|
|
21
67
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Inline, densityClass } from './chunk-S66TJXJU.js';
|
|
2
1
|
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-ZS6DTAM2.js';
|
|
3
|
-
import { tableCellPaddingClass, tableRowHeightClass, controlIconSmClass
|
|
2
|
+
import { tableCellPaddingClass, tableRowHeightClass, controlIconSmClass } from './chunk-ICM6XBST.js';
|
|
3
|
+
import { Inline, densityClass } from './chunk-S66TJXJU.js';
|
|
4
4
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
5
5
|
import { useTranslation } from './chunk-RLGHEV4A.js';
|
|
6
6
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
|
-
import { Layers, Layers2, ArrowUp, ArrowDown, ChevronsUpDown, MoreHorizontal, XCircle, Pause, CheckCircle2, Circle, Trash2, AlertCircle, Clock, Play } from 'lucide-react';
|
|
9
8
|
import * as React from 'react';
|
|
9
|
+
import { Layers, Layers2, ArrowUp, ArrowDown, ChevronsUpDown, MoreHorizontal } from 'lucide-react';
|
|
10
10
|
|
|
11
11
|
function EmptyState({ icon: Icon, title, description, action, className }) {
|
|
12
12
|
return /* @__PURE__ */ jsxs("div", { "data-slot": "empty-state", className: cn("ui-empty-state", className), children: [
|
|
@@ -16,52 +16,11 @@ function EmptyState({ icon: Icon, title, description, action, className }) {
|
|
|
16
16
|
action && /* @__PURE__ */ jsx("div", { children: action })
|
|
17
17
|
] });
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
active: { tone: "success", icon: CheckCircle2 },
|
|
21
|
-
completed: { tone: "success", icon: CheckCircle2 },
|
|
22
|
-
delivered: { tone: "success", icon: CheckCircle2 },
|
|
23
|
-
done: { tone: "success", icon: CheckCircle2 },
|
|
24
|
-
permanent: { tone: "success", icon: CheckCircle2 },
|
|
25
|
-
succeeded: { tone: "success", icon: CheckCircle2 },
|
|
26
|
-
draft: { tone: "neutral", icon: Circle },
|
|
27
|
-
pending: { tone: "warning", icon: Clock },
|
|
28
|
-
scheduled: { tone: "info", icon: Clock },
|
|
29
|
-
sending: { tone: "info", icon: Play },
|
|
30
|
-
temporary: { tone: "warning", icon: Clock },
|
|
31
|
-
bounced: { tone: "destructive", icon: AlertCircle },
|
|
32
|
-
cancelled: { tone: "neutral", icon: Pause },
|
|
33
|
-
deleted: { tone: "destructive", icon: Trash2 },
|
|
34
|
-
failed: { tone: "destructive", icon: XCircle },
|
|
35
|
-
private: { tone: "neutral", icon: Circle },
|
|
36
|
-
internal: { tone: "info", icon: Circle },
|
|
37
|
-
public: { tone: "info", icon: Circle },
|
|
38
|
-
ASSIGNMENT_STATUS_ACTIVE: { tone: "success", icon: CheckCircle2 },
|
|
39
|
-
ASSIGNMENT_STATUS_SUSPENDED: { tone: "warning", icon: Pause },
|
|
40
|
-
ASSIGNMENT_STATUS_TERMINATED: { tone: "destructive", icon: XCircle }
|
|
41
|
-
};
|
|
42
|
-
var TONE_CLASSES = {
|
|
43
|
-
success: toneSuccessClass,
|
|
44
|
-
warning: toneWarningClass,
|
|
45
|
-
destructive: toneDestructiveClass,
|
|
46
|
-
info: toneInfoClass,
|
|
47
|
-
neutral: toneNeutralClass
|
|
48
|
-
};
|
|
49
|
-
function StatusBadge({ status, className, label: labelOverride, tone, icon }) {
|
|
50
|
-
const { t } = useTranslation();
|
|
51
|
-
const def = STATUS_MAP[status] ?? { tone: "neutral", icon: Circle };
|
|
52
|
-
const resolvedTone = tone ?? def.tone;
|
|
53
|
-
const ResolvedIcon = icon === void 0 ? def.icon : icon;
|
|
54
|
-
const resolvedLabel = labelOverride ?? (status in STATUS_MAP ? t(`status.${status}`) : status);
|
|
55
|
-
return /* @__PURE__ */ jsxs("span", { "data-slot": "status-badge", className: cn(TONE_CLASSES[resolvedTone], className), children: [
|
|
56
|
-
ResolvedIcon ? /* @__PURE__ */ jsx(ResolvedIcon, { "data-slot": "status-badge-icon", "aria-hidden": "true" }) : null,
|
|
57
|
-
/* @__PURE__ */ jsx("span", { children: resolvedLabel })
|
|
58
|
-
] });
|
|
59
|
-
}
|
|
60
|
-
function KeyValueGrid({ columns = 2, className, children }) {
|
|
19
|
+
function Descriptions({ columns = 2, className, children }) {
|
|
61
20
|
const colsClass = columns === 1 ? "grid-cols-1" : columns === 3 ? "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3" : "grid-cols-1 sm:grid-cols-2";
|
|
62
21
|
return /* @__PURE__ */ jsx("dl", { className: cn("grid gap-x-6 gap-y-3", colsClass, className), children });
|
|
63
22
|
}
|
|
64
|
-
|
|
23
|
+
Descriptions.Item = function DescriptionsItem({
|
|
65
24
|
label,
|
|
66
25
|
mono,
|
|
67
26
|
span,
|
|
@@ -412,4 +371,4 @@ DataTable.RowActions = function DataTableRowActions({ ariaLabel, children }) {
|
|
|
412
371
|
};
|
|
413
372
|
DataTable.RowActions.displayName = "DataTable.RowActions";
|
|
414
373
|
|
|
415
|
-
export { DataTable,
|
|
374
|
+
export { DataTable, Descriptions, EmptyState };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export { B as BreadcrumbItem } from '../../navigation.prop-Hu7s7MJa.js';
|
|
2
2
|
export { I as InlineProp, P as PageContainerProp, P as PageContainerProps, a as PageHeaderProp, f as StackProp } from '../../layout.prop-MwHm4-Zl.js';
|
|
3
|
-
export { F as FilterBar, a as FilterGroup, P as PageHeader } from '../../filter-bar-
|
|
3
|
+
export { F as FilterBar, a as FilterGroup, P as PageHeader } from '../../filter-bar-zSKz7YCR.js';
|
|
4
4
|
export { I as Inline, P as PageContainer, S as Stack } from '../../inline-CV3A46np.js';
|
|
5
|
-
export { C as ColumnDef, D as DataTable, a as Density,
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
5
|
+
export { C as ColumnDef, D as DataTable, a as Density, b as Descriptions, E as EmptyState } from '../../data-table-C5lcmAwE.js';
|
|
6
|
+
export { Badge } from '../data-display/badge.js';
|
|
7
|
+
export { F as FormField, S as SearchInput } from '../../search-input-rR2XDrjv.js';
|
|
8
|
+
export { a as SkeletonCard, b as SkeletonDetail, d as SkeletonRows, e as SkeletonTable } from '../../skeleton-CqFO4dRc.js';
|
|
8
9
|
export { DataState, InfiniteQueryState, MutationFeedback, PrefetchLink, QueryRefetchButton, flattenItemPages } from '../query/index.js';
|
|
9
10
|
export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from '../feedback/alert.js';
|
|
10
11
|
export { Upload, useUploadDraft } from '../data-entry/upload.js';
|
|
@@ -12,25 +13,25 @@ export { Cascader } from '../data-entry/cascader.js';
|
|
|
12
13
|
export { TreeSelect } from '../data-entry/tree-select.js';
|
|
13
14
|
export { Transfer } from '../data-entry/transfer.js';
|
|
14
15
|
export { Tabs, TabsContent, TabsList, TabsTrigger } from '../navigation/tabs.js';
|
|
15
|
-
export { TabsItems } from '../navigation/tabs-items.js';
|
|
16
16
|
export { Pagination } from '../navigation/pagination.js';
|
|
17
17
|
export { Steps } from '../navigation/steps.js';
|
|
18
18
|
export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../feedback/dialog.js';
|
|
19
19
|
export { Toaster } from '../feedback/sonner.js';
|
|
20
|
+
export { L as LegacyToastOptions, t as toast, u as useToast } from '../../use-toast-Dsw3yE2S.js';
|
|
20
21
|
import { b as FormatDatetimeOptions, a as FormatDateOptions } from '../../format-date-ByyZoqI5.js';
|
|
21
22
|
export { j as formatDate } from '../../format-date-ByyZoqI5.js';
|
|
22
|
-
export {
|
|
23
|
+
export { J as collectUploadCommitActions, K as createUploadItem } from '../../data-entry.prop-CpSx5dX6.js';
|
|
23
24
|
import '../../shared.prop-BNRJc9K0.js';
|
|
24
25
|
import 'react';
|
|
25
26
|
import '../../content.prop-DrV_zDy-.js';
|
|
26
27
|
import '../../layout.prop-4TCNvyQZ.js';
|
|
27
28
|
import 'react/jsx-runtime';
|
|
28
|
-
import '../../navigation.prop-
|
|
29
|
+
import '../../navigation.prop-DAH4ysXj.js';
|
|
29
30
|
import '../../data.prop-BmLaGLb7.js';
|
|
30
31
|
import '../../interaction.prop-Cdn7wOtq.js';
|
|
31
|
-
import '../../data-display.prop-
|
|
32
|
-
import '
|
|
33
|
-
import '
|
|
32
|
+
import '../../data-display.prop-CXP9Jfdn.js';
|
|
33
|
+
import 'class-variance-authority/types';
|
|
34
|
+
import 'class-variance-authority';
|
|
34
35
|
import '../../query.prop-hIPrk2zI.js';
|
|
35
36
|
import '@tanstack/react-query';
|
|
36
37
|
import 'react-router-dom';
|
|
@@ -44,6 +45,7 @@ import 'react-day-picker';
|
|
|
44
45
|
import '@radix-ui/react-tabs';
|
|
45
46
|
import '@radix-ui/react-dialog';
|
|
46
47
|
import '@radix-ui/react-alert-dialog';
|
|
48
|
+
import 'sonner';
|
|
47
49
|
import 'date-fns';
|
|
48
50
|
import '../../types-mvzYGrma.js';
|
|
49
51
|
|
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
import '../../chunk-LDSLS6HE.js';
|
|
2
2
|
export { DataState, InfiniteQueryState, MutationFeedback, PrefetchLink, QueryRefetchButton, flattenItemPages } from '../../chunk-2QG3OVAD.js';
|
|
3
|
-
export { FilterBar, FilterGroup, PageHeader } from '../../chunk-
|
|
4
|
-
export { Pagination } from '../../chunk-
|
|
3
|
+
export { FilterBar, FilterGroup, PageHeader } from '../../chunk-6TSU4IHV.js';
|
|
4
|
+
export { Pagination } from '../../chunk-FBHN6OO4.js';
|
|
5
5
|
export { Steps } from '../../chunk-L6J44O74.js';
|
|
6
|
-
export {
|
|
7
|
-
export { Tabs, TabsContent, TabsList, TabsTrigger } from '../../chunk-XG7XDYIM.js';
|
|
6
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger } from '../../chunk-V3N266PT.js';
|
|
8
7
|
export { TreeSelect } from '../../chunk-JJCGMCTL.js';
|
|
9
|
-
export { Upload, collectUploadCommitActions, createUploadItem, useUploadDraft } from '../../chunk-
|
|
10
|
-
import '../../chunk-
|
|
8
|
+
export { Upload, collectUploadCommitActions, createUploadItem, useUploadDraft } from '../../chunk-NTUHJ37K.js';
|
|
9
|
+
import '../../chunk-ARDVPIF4.js';
|
|
11
10
|
import '../../chunk-CRERCLIZ.js';
|
|
12
|
-
export { SearchInput, Transfer, useDebouncedValue, useTimeoutFlag } from '../../chunk-
|
|
11
|
+
export { SearchInput, Transfer, useDebouncedValue, useTimeoutFlag } from '../../chunk-ZR2TIBPG.js';
|
|
13
12
|
export { Cascader } from '../../chunk-RVY4F7LK.js';
|
|
14
13
|
import '../../chunk-SMLKNECP.js';
|
|
15
14
|
import '../../chunk-E76QIYSY.js';
|
|
16
15
|
import '../../chunk-CQBADMFG.js';
|
|
17
|
-
export {
|
|
18
|
-
export {
|
|
19
|
-
export { formatBytes, formatCurrency, formatDateLong, formatDateTime, formatRelative, humanError, shortId } from '../../chunk-4R7QL3MW.js';
|
|
20
|
-
export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../../chunk-2HLWHQJA.js';
|
|
16
|
+
export { toast, useToast } from '../../chunk-B3WX53JQ.js';
|
|
17
|
+
export { SkeletonCard, SkeletonDetail, SkeletonRows, SkeletonTable } from '../../chunk-HKQITNB3.js';
|
|
21
18
|
export { Toaster } from '../../chunk-TO7URV7U.js';
|
|
22
|
-
export { PageContainer, Stack } from '../../chunk-
|
|
19
|
+
export { PageContainer, Stack } from '../../chunk-EQRQM6RF.js';
|
|
20
|
+
import '../../chunk-FRU44GA2.js';
|
|
23
21
|
import '../../chunk-TO33OY4L.js';
|
|
24
22
|
import '../../chunk-32WO3YLB.js';
|
|
25
|
-
import '../../chunk-
|
|
23
|
+
import '../../chunk-OXKY5QMK.js';
|
|
26
24
|
import '../../chunk-V6UWJKZF.js';
|
|
27
|
-
|
|
28
|
-
export { DataTable, EmptyState, KeyValueGrid, StatusBadge } from '../../chunk-TW4IRRAX.js';
|
|
25
|
+
export { DataTable, Descriptions, EmptyState } from '../../chunk-VXXKR5U4.js';
|
|
29
26
|
import '../../chunk-DV52WNXO.js';
|
|
30
|
-
export {
|
|
31
|
-
import '../../chunk-PIIRNAXA.js';
|
|
27
|
+
export { Badge } from '../../chunk-7AMHT5Z5.js';
|
|
32
28
|
import '../../chunk-DY5C44UP.js';
|
|
33
29
|
import '../../chunk-3KPEZ5CF.js';
|
|
34
30
|
import '../../chunk-ZS6DTAM2.js';
|
|
35
31
|
import '../../chunk-ICM6XBST.js';
|
|
32
|
+
export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from '../../chunk-6UFKWOEW.js';
|
|
33
|
+
export { formatBytes, formatCurrency, formatDateLong, formatDateTime, formatRelative, humanError, shortId } from '../../chunk-4R7QL3MW.js';
|
|
34
|
+
export { Inline } from '../../chunk-S66TJXJU.js';
|
|
35
|
+
export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../../chunk-2HLWHQJA.js';
|
|
36
|
+
import '../../chunk-VOHTRR5X.js';
|
|
36
37
|
import '../../chunk-HJEBRCXL.js';
|
|
37
38
|
export { FormField } from '../../chunk-F7PG4OEV.js';
|
|
38
39
|
import '../../chunk-7PWBC4BY.js';
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import * as React from 'react';
|
|
3
4
|
import { VariantProps } from 'class-variance-authority';
|
|
4
5
|
|
|
6
|
+
type BadgeVariant = "default" | "secondary" | "outline" | "success" | "warning" | "destructive" | "info" | "neutral";
|
|
5
7
|
declare const badgeVariants: (props?: ({
|
|
6
|
-
variant?: "default" | "destructive" | "outline" | "secondary" | "success" | "warning" | null | undefined;
|
|
8
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "success" | "warning" | "info" | "neutral" | null | undefined;
|
|
7
9
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
8
|
-
interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
10
|
+
interface BadgeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, Omit<VariantProps<typeof badgeVariants>, "variant"> {
|
|
11
|
+
variant?: BadgeVariant | null;
|
|
12
|
+
icon?: React.ComponentType<{
|
|
13
|
+
className?: string;
|
|
14
|
+
}> | null;
|
|
15
|
+
status?: string;
|
|
16
|
+
children?: React.ReactNode;
|
|
9
17
|
}
|
|
10
|
-
declare function Badge({ className, variant, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
declare function Badge({ className, variant, icon, status, children, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
11
19
|
|
|
12
|
-
export { Badge, type BadgeProps };
|
|
20
|
+
export { Badge, type BadgeProps, type BadgeVariant };
|
|
@@ -11,7 +11,7 @@ type CardVariant = "default" | "muted" | "outline" | "featured";
|
|
|
11
11
|
/** Padding density — base 16px · tight 12px · cozy 20px. */
|
|
12
12
|
type CardDensity = "tight" | "cozy";
|
|
13
13
|
declare const cardVariants: (props?: ({
|
|
14
|
-
size?: "
|
|
14
|
+
size?: "compact" | "default" | null | undefined;
|
|
15
15
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
16
16
|
type CardProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof cardVariants> & {
|
|
17
17
|
size?: CardSize;
|
|
@@ -20,7 +20,7 @@ type CardProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof card
|
|
|
20
20
|
density?: CardDensity;
|
|
21
21
|
};
|
|
22
22
|
declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
23
|
-
size?: "
|
|
23
|
+
size?: "compact" | "default" | null | undefined;
|
|
24
24
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & {
|
|
25
25
|
size?: CardSize;
|
|
26
26
|
accent?: CardAccent;
|
|
@@ -68,7 +68,7 @@ declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<H
|
|
|
68
68
|
/** Full-bleed footer (Ant Design `actions` bar). */
|
|
69
69
|
flush?: boolean;
|
|
70
70
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
71
|
-
type
|
|
71
|
+
type StatCardProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof cardVariants> & {
|
|
72
72
|
label: React.ReactNode;
|
|
73
73
|
value: React.ReactNode;
|
|
74
74
|
hint?: React.ReactNode;
|
|
@@ -82,8 +82,8 @@ type CardStatProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof
|
|
|
82
82
|
inverse?: boolean;
|
|
83
83
|
};
|
|
84
84
|
/** KPI / stat tile — token-driven layout aligned to dashboard KPI cards. */
|
|
85
|
-
declare function
|
|
85
|
+
declare function StatCard({ label, value, hint, delta, layout, align, inverse, className, size, ...props }: StatCardProps): react_jsx_runtime.JSX.Element;
|
|
86
86
|
/** Header actions slot — pair with `CardHeader className="flex flex-row …"`. */
|
|
87
87
|
declare const CardAction: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
88
88
|
|
|
89
|
-
export { Card, CardAction, CardContent, type CardContentProps, CardCover, type CardCoverProps, CardDescription, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps,
|
|
89
|
+
export { Card, CardAction, CardContent, type CardContentProps, CardCover, type CardCoverProps, CardDescription, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, StatCard, type StatCardProps };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Card, CardAction, CardContent, CardCover, CardDescription, CardFooter, CardHeader,
|
|
1
|
+
export { Card, CardAction, CardContent, CardCover, CardDescription, CardFooter, CardHeader, CardTitle, StatCard } from '../../chunk-O2OUNXV4.js';
|
|
2
2
|
import '../../chunk-U7N2A7A3.js';
|