@almadar/ui 5.4.0 → 5.5.1
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/avl/index.cjs +332 -167
- package/dist/avl/index.js +332 -167
- package/dist/components/index.cjs +329 -164
- package/dist/components/index.js +329 -164
- package/dist/components/molecules/ButtonGroup.d.ts +10 -0
- package/dist/components/molecules/DataGrid.d.ts +5 -0
- package/dist/components/molecules/DataList.d.ts +5 -0
- package/dist/components/molecules/EmptyState.d.ts +3 -0
- package/dist/components/molecules/FilterGroup.d.ts +7 -0
- package/dist/components/molecules/Modal.d.ts +7 -0
- package/dist/components/molecules/StatDisplay.d.ts +3 -0
- package/dist/components/organisms/Chart.d.ts +20 -1
- package/dist/components/organisms/DataTable.d.ts +4 -1
- package/dist/components/organisms/Header.d.ts +3 -0
- package/dist/components/organisms/Timeline.d.ts +7 -0
- package/dist/providers/index.cjs +332 -167
- package/dist/providers/index.js +332 -167
- package/dist/runtime/index.cjs +332 -167
- package/dist/runtime/index.js +332 -167
- package/package.json +1 -1
package/dist/runtime/index.js
CHANGED
|
@@ -2141,7 +2141,7 @@ var init_Overlay = __esm({
|
|
|
2141
2141
|
};
|
|
2142
2142
|
}
|
|
2143
2143
|
});
|
|
2144
|
-
var sizeClasses2, minWidthClasses, Modal;
|
|
2144
|
+
var sizeClasses2, minWidthClasses, lookStyles, Modal;
|
|
2145
2145
|
var init_Modal = __esm({
|
|
2146
2146
|
"components/molecules/Modal.tsx"() {
|
|
2147
2147
|
"use client";
|
|
@@ -2166,6 +2166,12 @@ var init_Modal = __esm({
|
|
|
2166
2166
|
xl: "min-w-[700px] max-sm:min-w-0",
|
|
2167
2167
|
full: "min-w-0"
|
|
2168
2168
|
};
|
|
2169
|
+
lookStyles = {
|
|
2170
|
+
"centered-card": "",
|
|
2171
|
+
"top-sheet": "top-0 rounded-t-none rounded-b-container max-w-full w-full",
|
|
2172
|
+
"side-drawer": "right-0 top-0 bottom-0 h-full rounded-l-container rounded-r-none w-[400px] max-w-full",
|
|
2173
|
+
"full-screen": "inset-0 rounded-none w-full h-full max-w-full"
|
|
2174
|
+
};
|
|
2169
2175
|
Modal = ({
|
|
2170
2176
|
isOpen = true,
|
|
2171
2177
|
onClose = () => {
|
|
@@ -2179,7 +2185,8 @@ var init_Modal = __esm({
|
|
|
2179
2185
|
closeOnEscape = true,
|
|
2180
2186
|
className,
|
|
2181
2187
|
closeEvent,
|
|
2182
|
-
swipeDownToClose = true
|
|
2188
|
+
swipeDownToClose = true,
|
|
2189
|
+
look = "centered-card"
|
|
2183
2190
|
}) => {
|
|
2184
2191
|
const eventBus = useEventBus();
|
|
2185
2192
|
const modalRef = useRef(null);
|
|
@@ -2264,6 +2271,7 @@ var init_Modal = __esm({
|
|
|
2264
2271
|
// Mobile: take the entire screen. Override desktop max-w cap,
|
|
2265
2272
|
// full height, no rounded corners, no min-width.
|
|
2266
2273
|
"max-sm:max-w-none max-sm:max-h-none max-sm:w-full max-sm:h-full max-sm:rounded-none",
|
|
2274
|
+
lookStyles[look],
|
|
2267
2275
|
className
|
|
2268
2276
|
),
|
|
2269
2277
|
style: dragY > 0 ? {
|
|
@@ -3838,7 +3846,7 @@ var init_Checkbox = __esm({
|
|
|
3838
3846
|
Checkbox.displayName = "Checkbox";
|
|
3839
3847
|
}
|
|
3840
3848
|
});
|
|
3841
|
-
var variantStyles4, paddingStyles2, shadowStyles2,
|
|
3849
|
+
var variantStyles4, paddingStyles2, shadowStyles2, lookStyles2, Card, CardHeader, CardTitle, CardContent, CardBody, CardFooter;
|
|
3842
3850
|
var init_Card = __esm({
|
|
3843
3851
|
"components/atoms/Card.tsx"() {
|
|
3844
3852
|
init_cn();
|
|
@@ -3886,7 +3894,7 @@ var init_Card = __esm({
|
|
|
3886
3894
|
md: "shadow",
|
|
3887
3895
|
lg: "shadow-elevation-dialog"
|
|
3888
3896
|
};
|
|
3889
|
-
|
|
3897
|
+
lookStyles2 = {
|
|
3890
3898
|
elevated: "",
|
|
3891
3899
|
"flat-bordered": "shadow-none border-[length:var(--border-width)] border-border",
|
|
3892
3900
|
"borderless-divider": "shadow-none border-0 border-b border-border rounded-none",
|
|
@@ -3916,7 +3924,7 @@ var init_Card = __esm({
|
|
|
3916
3924
|
"transition-all duration-[var(--transition-normal)]",
|
|
3917
3925
|
variantStyles4[variant],
|
|
3918
3926
|
paddingStyles2[padding],
|
|
3919
|
-
|
|
3927
|
+
lookStyles2[look],
|
|
3920
3928
|
shadow && shadowStyles2[shadow],
|
|
3921
3929
|
className
|
|
3922
3930
|
),
|
|
@@ -16144,7 +16152,7 @@ var init_BookTableOfContents = __esm({
|
|
|
16144
16152
|
BookTableOfContents.displayName = "BookTableOfContents";
|
|
16145
16153
|
}
|
|
16146
16154
|
});
|
|
16147
|
-
var ICON_NAME_ALIASES, EmptyState;
|
|
16155
|
+
var ICON_NAME_ALIASES, lookStyles3, EmptyState;
|
|
16148
16156
|
var init_EmptyState = __esm({
|
|
16149
16157
|
"components/molecules/EmptyState.tsx"() {
|
|
16150
16158
|
"use client";
|
|
@@ -16161,6 +16169,12 @@ var init_EmptyState = __esm({
|
|
|
16161
16169
|
error: "x-circle",
|
|
16162
16170
|
warning: "alert-circle"
|
|
16163
16171
|
};
|
|
16172
|
+
lookStyles3 = {
|
|
16173
|
+
"icon-only": "",
|
|
16174
|
+
illustrated: "[&_svg]:w-32 [&_svg]:h-32",
|
|
16175
|
+
"text-only": "[&_svg]:hidden",
|
|
16176
|
+
mascot: "[&_svg]:w-24 [&_svg]:h-24 [&_svg]:rounded-pill"
|
|
16177
|
+
};
|
|
16164
16178
|
EmptyState = ({
|
|
16165
16179
|
icon,
|
|
16166
16180
|
title,
|
|
@@ -16171,7 +16185,8 @@ var init_EmptyState = __esm({
|
|
|
16171
16185
|
className,
|
|
16172
16186
|
destructive,
|
|
16173
16187
|
variant,
|
|
16174
|
-
actionEvent
|
|
16188
|
+
actionEvent,
|
|
16189
|
+
look = "icon-only"
|
|
16175
16190
|
}) => {
|
|
16176
16191
|
const eventBus = useEventBus();
|
|
16177
16192
|
const { t } = useTranslate();
|
|
@@ -16191,6 +16206,7 @@ var init_EmptyState = __esm({
|
|
|
16191
16206
|
align: "center",
|
|
16192
16207
|
className: cn(
|
|
16193
16208
|
"justify-center py-12 text-center",
|
|
16209
|
+
lookStyles3[look],
|
|
16194
16210
|
className
|
|
16195
16211
|
),
|
|
16196
16212
|
children: [
|
|
@@ -17431,7 +17447,7 @@ function useSafeEventBus2() {
|
|
|
17431
17447
|
} };
|
|
17432
17448
|
}
|
|
17433
17449
|
}
|
|
17434
|
-
var log8, ButtonGroup;
|
|
17450
|
+
var log8, lookStyles4, ButtonGroup;
|
|
17435
17451
|
var init_ButtonGroup = __esm({
|
|
17436
17452
|
"components/molecules/ButtonGroup.tsx"() {
|
|
17437
17453
|
"use client";
|
|
@@ -17439,6 +17455,13 @@ var init_ButtonGroup = __esm({
|
|
|
17439
17455
|
init_atoms();
|
|
17440
17456
|
init_useEventBus();
|
|
17441
17457
|
log8 = createLogger("almadar:ui:button-group");
|
|
17458
|
+
lookStyles4 = {
|
|
17459
|
+
"right-aligned-buttons": "",
|
|
17460
|
+
"floating-bar": "fixed bottom-section left-1/2 -translate-x-1/2 shadow-elevation-toast bg-card p-card-sm rounded-container",
|
|
17461
|
+
"inline-row": "gap-2 inline-flex",
|
|
17462
|
+
"dropdown-menu": "[&>button:not(:first-child)]:hidden",
|
|
17463
|
+
"command-palette-trigger": "[&>button:not(:first-child)]:hidden"
|
|
17464
|
+
};
|
|
17442
17465
|
ButtonGroup = ({
|
|
17443
17466
|
children,
|
|
17444
17467
|
primary,
|
|
@@ -17448,7 +17471,8 @@ var init_ButtonGroup = __esm({
|
|
|
17448
17471
|
className,
|
|
17449
17472
|
// Filter-group pattern props (entity and filters are used for schema-driven filtering)
|
|
17450
17473
|
entity: _entity,
|
|
17451
|
-
filters
|
|
17474
|
+
filters,
|
|
17475
|
+
look = "right-aligned-buttons"
|
|
17452
17476
|
}) => {
|
|
17453
17477
|
const eventBus = useSafeEventBus2();
|
|
17454
17478
|
const variantClasses2 = {
|
|
@@ -17525,6 +17549,7 @@ var init_ButtonGroup = __esm({
|
|
|
17525
17549
|
"inline-flex gap-2",
|
|
17526
17550
|
variantClasses2[variant],
|
|
17527
17551
|
orientationClasses[orientation],
|
|
17552
|
+
lookStyles4[look],
|
|
17528
17553
|
className
|
|
17529
17554
|
),
|
|
17530
17555
|
role: "group",
|
|
@@ -19989,7 +20014,7 @@ var init_CastleTemplate = __esm({
|
|
|
19989
20014
|
CastleTemplate.displayName = "CastleTemplate";
|
|
19990
20015
|
}
|
|
19991
20016
|
});
|
|
19992
|
-
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, Chart;
|
|
20017
|
+
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, LOOK_FROM_CHART_TYPE, Chart;
|
|
19993
20018
|
var init_Chart = __esm({
|
|
19994
20019
|
"components/organisms/Chart.tsx"() {
|
|
19995
20020
|
"use client";
|
|
@@ -20019,7 +20044,7 @@ var init_Chart = __esm({
|
|
|
20019
20044
|
if (Number.isNaN(parsed.getTime())) return raw;
|
|
20020
20045
|
return monthFormatter.format(parsed);
|
|
20021
20046
|
};
|
|
20022
|
-
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, onPointClick }) => {
|
|
20047
|
+
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, horizontal = false, onPointClick }) => {
|
|
20023
20048
|
const categories = useMemo(() => {
|
|
20024
20049
|
const set = [];
|
|
20025
20050
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -20057,6 +20082,64 @@ var init_Chart = __esm({
|
|
|
20057
20082
|
}
|
|
20058
20083
|
return m;
|
|
20059
20084
|
}, [series, stack, columnTotals]);
|
|
20085
|
+
if (horizontal) {
|
|
20086
|
+
return /* @__PURE__ */ jsx(VStack, { gap: "xs", align: "stretch", className: "w-full", style: { minHeight: height }, children: categories.map((label, catIdx) => {
|
|
20087
|
+
const displayLabel = timeAxis ? formatTimeLabel(label) : label;
|
|
20088
|
+
const total = columnTotals?.[catIdx] ?? 1;
|
|
20089
|
+
return /* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", className: "w-full", children: [
|
|
20090
|
+
/* @__PURE__ */ jsx(
|
|
20091
|
+
Typography,
|
|
20092
|
+
{
|
|
20093
|
+
variant: "caption",
|
|
20094
|
+
color: "secondary",
|
|
20095
|
+
className: "truncate text-right",
|
|
20096
|
+
style: { width: 80, flexShrink: 0 },
|
|
20097
|
+
children: displayLabel
|
|
20098
|
+
}
|
|
20099
|
+
),
|
|
20100
|
+
/* @__PURE__ */ jsx(
|
|
20101
|
+
HStack,
|
|
20102
|
+
{
|
|
20103
|
+
gap: stack === "none" ? "xs" : "none",
|
|
20104
|
+
align: "center",
|
|
20105
|
+
className: "flex-1 min-w-0",
|
|
20106
|
+
style: { height: 24 },
|
|
20107
|
+
children: series.map((s, sIdx) => {
|
|
20108
|
+
const value = valueAt(s, label);
|
|
20109
|
+
const ratio = stack === "normalize" ? total === 0 ? 0 : value / total * 100 : value / maxValue * 100;
|
|
20110
|
+
const color = seriesColor(s, sIdx);
|
|
20111
|
+
return /* @__PURE__ */ jsx(
|
|
20112
|
+
Box,
|
|
20113
|
+
{
|
|
20114
|
+
className: "h-full rounded-r-sm transition-all duration-500 ease-out min-w-[2px] cursor-pointer hover:opacity-80",
|
|
20115
|
+
style: {
|
|
20116
|
+
width: `${ratio}%`,
|
|
20117
|
+
backgroundColor: color
|
|
20118
|
+
},
|
|
20119
|
+
onClick: () => onPointClick?.(
|
|
20120
|
+
{ label, value, color },
|
|
20121
|
+
s.name
|
|
20122
|
+
),
|
|
20123
|
+
title: `${s.name}: ${value}`
|
|
20124
|
+
},
|
|
20125
|
+
s.name
|
|
20126
|
+
);
|
|
20127
|
+
})
|
|
20128
|
+
}
|
|
20129
|
+
),
|
|
20130
|
+
showValues && series.length === 1 && /* @__PURE__ */ jsx(
|
|
20131
|
+
Typography,
|
|
20132
|
+
{
|
|
20133
|
+
variant: "caption",
|
|
20134
|
+
color: "secondary",
|
|
20135
|
+
className: "tabular-nums",
|
|
20136
|
+
style: { width: 40, flexShrink: 0 },
|
|
20137
|
+
children: valueAt(series[0], label)
|
|
20138
|
+
}
|
|
20139
|
+
)
|
|
20140
|
+
] }, label);
|
|
20141
|
+
}) });
|
|
20142
|
+
}
|
|
20060
20143
|
return /* @__PURE__ */ jsx(
|
|
20061
20144
|
HStack,
|
|
20062
20145
|
{
|
|
@@ -20484,10 +20567,20 @@ var init_Chart = __esm({
|
|
|
20484
20567
|
}
|
|
20485
20568
|
);
|
|
20486
20569
|
};
|
|
20570
|
+
LOOK_FROM_CHART_TYPE = {
|
|
20571
|
+
bar: "bar-vertical",
|
|
20572
|
+
line: "line",
|
|
20573
|
+
pie: "pie",
|
|
20574
|
+
area: "area",
|
|
20575
|
+
donut: "donut",
|
|
20576
|
+
scatter: "scatter",
|
|
20577
|
+
histogram: "histogram"
|
|
20578
|
+
};
|
|
20487
20579
|
Chart = ({
|
|
20488
20580
|
title,
|
|
20489
20581
|
subtitle,
|
|
20490
|
-
chartType
|
|
20582
|
+
chartType,
|
|
20583
|
+
look,
|
|
20491
20584
|
series,
|
|
20492
20585
|
data: simpleData,
|
|
20493
20586
|
scatterData,
|
|
@@ -20503,6 +20596,7 @@ var init_Chart = __esm({
|
|
|
20503
20596
|
error,
|
|
20504
20597
|
className
|
|
20505
20598
|
}) => {
|
|
20599
|
+
const resolvedLook = look ?? (chartType ? LOOK_FROM_CHART_TYPE[chartType] : "bar-vertical");
|
|
20506
20600
|
const eventBus = useEventBus();
|
|
20507
20601
|
const { t } = useTranslate();
|
|
20508
20602
|
const handleAction = useCallback(
|
|
@@ -20531,7 +20625,7 @@ var init_Chart = __esm({
|
|
|
20531
20625
|
return [];
|
|
20532
20626
|
}, [simpleData, series]);
|
|
20533
20627
|
const firstSeriesData = normalizedSeries[0]?.data ?? [];
|
|
20534
|
-
const hasContent =
|
|
20628
|
+
const hasContent = resolvedLook === "scatter" ? (scatterData?.length ?? 0) > 0 : normalizedSeries.some((s) => s.data.length > 0);
|
|
20535
20629
|
if (isLoading) {
|
|
20536
20630
|
return /* @__PURE__ */ jsx(LoadingState, { message: "Loading chart...", className });
|
|
20537
20631
|
}
|
|
@@ -20566,7 +20660,18 @@ var init_Chart = __esm({
|
|
|
20566
20660
|
)) })
|
|
20567
20661
|
] }),
|
|
20568
20662
|
/* @__PURE__ */ jsxs(Box, { className: "w-full", children: [
|
|
20569
|
-
|
|
20663
|
+
resolvedLook === "bar-vertical" && /* @__PURE__ */ jsx(
|
|
20664
|
+
BarChart,
|
|
20665
|
+
{
|
|
20666
|
+
series: normalizedSeries,
|
|
20667
|
+
height,
|
|
20668
|
+
showValues,
|
|
20669
|
+
stack,
|
|
20670
|
+
timeAxis,
|
|
20671
|
+
onPointClick: handlePointClick
|
|
20672
|
+
}
|
|
20673
|
+
),
|
|
20674
|
+
resolvedLook === "bar-horizontal" && /* @__PURE__ */ jsx(
|
|
20570
20675
|
BarChart,
|
|
20571
20676
|
{
|
|
20572
20677
|
series: normalizedSeries,
|
|
@@ -20574,10 +20679,11 @@ var init_Chart = __esm({
|
|
|
20574
20679
|
showValues,
|
|
20575
20680
|
stack,
|
|
20576
20681
|
timeAxis,
|
|
20682
|
+
horizontal: true,
|
|
20577
20683
|
onPointClick: handlePointClick
|
|
20578
20684
|
}
|
|
20579
20685
|
),
|
|
20580
|
-
|
|
20686
|
+
resolvedLook === "histogram" && /* @__PURE__ */ jsx(
|
|
20581
20687
|
BarChart,
|
|
20582
20688
|
{
|
|
20583
20689
|
series: normalizedSeries,
|
|
@@ -20589,7 +20695,7 @@ var init_Chart = __esm({
|
|
|
20589
20695
|
onPointClick: handlePointClick
|
|
20590
20696
|
}
|
|
20591
20697
|
),
|
|
20592
|
-
|
|
20698
|
+
resolvedLook === "line" && /* @__PURE__ */ jsx(
|
|
20593
20699
|
LineChart,
|
|
20594
20700
|
{
|
|
20595
20701
|
series: normalizedSeries,
|
|
@@ -20599,7 +20705,7 @@ var init_Chart = __esm({
|
|
|
20599
20705
|
onPointClick: handlePointClick
|
|
20600
20706
|
}
|
|
20601
20707
|
),
|
|
20602
|
-
|
|
20708
|
+
resolvedLook === "area" && /* @__PURE__ */ jsx(
|
|
20603
20709
|
LineChart,
|
|
20604
20710
|
{
|
|
20605
20711
|
series: normalizedSeries,
|
|
@@ -20610,7 +20716,7 @@ var init_Chart = __esm({
|
|
|
20610
20716
|
onPointClick: handlePointClick
|
|
20611
20717
|
}
|
|
20612
20718
|
),
|
|
20613
|
-
|
|
20719
|
+
resolvedLook === "pie" && /* @__PURE__ */ jsx(
|
|
20614
20720
|
PieChart,
|
|
20615
20721
|
{
|
|
20616
20722
|
data: firstSeriesData,
|
|
@@ -20619,7 +20725,7 @@ var init_Chart = __esm({
|
|
|
20619
20725
|
onPointClick: handlePointClick
|
|
20620
20726
|
}
|
|
20621
20727
|
),
|
|
20622
|
-
|
|
20728
|
+
resolvedLook === "donut" && /* @__PURE__ */ jsx(
|
|
20623
20729
|
PieChart,
|
|
20624
20730
|
{
|
|
20625
20731
|
data: firstSeriesData,
|
|
@@ -20629,7 +20735,7 @@ var init_Chart = __esm({
|
|
|
20629
20735
|
onPointClick: handlePointClick
|
|
20630
20736
|
}
|
|
20631
20737
|
),
|
|
20632
|
-
|
|
20738
|
+
resolvedLook === "scatter" && /* @__PURE__ */ jsx(
|
|
20633
20739
|
ScatterChart,
|
|
20634
20740
|
{
|
|
20635
20741
|
data: scatterData ?? [],
|
|
@@ -23974,7 +24080,7 @@ var init_FormField = __esm({
|
|
|
23974
24080
|
FormField.displayName = "FormField";
|
|
23975
24081
|
}
|
|
23976
24082
|
});
|
|
23977
|
-
var resolveFilterType, FilterGroup;
|
|
24083
|
+
var resolveFilterType, lookStyles5, FilterGroup;
|
|
23978
24084
|
var init_FilterGroup = __esm({
|
|
23979
24085
|
"components/molecules/FilterGroup.tsx"() {
|
|
23980
24086
|
"use client";
|
|
@@ -23988,6 +24094,13 @@ var init_FilterGroup = __esm({
|
|
|
23988
24094
|
init_useEventBus();
|
|
23989
24095
|
init_useQuerySingleton();
|
|
23990
24096
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
24097
|
+
lookStyles5 = {
|
|
24098
|
+
toolbar: "",
|
|
24099
|
+
chips: "gap-2 [&>*]:rounded-pill [&>*]:px-3 [&>*]:py-1",
|
|
24100
|
+
pills: "gap-2 [&>*]:rounded-pill",
|
|
24101
|
+
"popover-trigger": "[&>*:not(:first-child)]:hidden",
|
|
24102
|
+
"inline-column-header": "hidden"
|
|
24103
|
+
};
|
|
23991
24104
|
FilterGroup = ({
|
|
23992
24105
|
entity,
|
|
23993
24106
|
filters,
|
|
@@ -23997,7 +24110,8 @@ var init_FilterGroup = __esm({
|
|
|
23997
24110
|
variant = "default",
|
|
23998
24111
|
showIcon = true,
|
|
23999
24112
|
query,
|
|
24000
|
-
isLoading
|
|
24113
|
+
isLoading,
|
|
24114
|
+
look = "toolbar"
|
|
24001
24115
|
}) => {
|
|
24002
24116
|
const eventBus = useEventBus();
|
|
24003
24117
|
const queryState = useQuerySingleton(query);
|
|
@@ -24052,63 +24166,71 @@ var init_FilterGroup = __esm({
|
|
|
24052
24166
|
}, [onClearAll, queryState, eventBus, entity, query]);
|
|
24053
24167
|
const activeFilterCount = Object.keys(selectedValues).length;
|
|
24054
24168
|
if (variant === "pills") {
|
|
24055
|
-
return /* @__PURE__ */ jsxs(
|
|
24056
|
-
|
|
24057
|
-
|
|
24058
|
-
|
|
24059
|
-
|
|
24060
|
-
|
|
24061
|
-
|
|
24062
|
-
|
|
24063
|
-
HStack,
|
|
24064
|
-
|
|
24065
|
-
|
|
24066
|
-
|
|
24067
|
-
|
|
24068
|
-
|
|
24069
|
-
|
|
24070
|
-
|
|
24071
|
-
|
|
24072
|
-
|
|
24073
|
-
|
|
24074
|
-
|
|
24075
|
-
|
|
24076
|
-
|
|
24077
|
-
|
|
24078
|
-
|
|
24079
|
-
|
|
24080
|
-
|
|
24081
|
-
|
|
24082
|
-
|
|
24083
|
-
|
|
24084
|
-
|
|
24085
|
-
className: cn(
|
|
24086
|
-
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
24087
|
-
"border-l-[length:var(--border-width)] border-border",
|
|
24088
|
-
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
24169
|
+
return /* @__PURE__ */ jsxs(
|
|
24170
|
+
HStack,
|
|
24171
|
+
{
|
|
24172
|
+
gap: "md",
|
|
24173
|
+
align: "center",
|
|
24174
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
24175
|
+
children: [
|
|
24176
|
+
showIcon && /* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
24177
|
+
filters.map((filter) => /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
24178
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm font-medium text-muted-foreground", children: [
|
|
24179
|
+
filter.label,
|
|
24180
|
+
":"
|
|
24181
|
+
] }),
|
|
24182
|
+
/* @__PURE__ */ jsxs(
|
|
24183
|
+
HStack,
|
|
24184
|
+
{
|
|
24185
|
+
gap: "none",
|
|
24186
|
+
className: "rounded-sm overflow-hidden border-[length:var(--border-width)] border-border",
|
|
24187
|
+
children: [
|
|
24188
|
+
/* @__PURE__ */ jsx(
|
|
24189
|
+
"button",
|
|
24190
|
+
{
|
|
24191
|
+
type: "button",
|
|
24192
|
+
onClick: () => handleFilterSelect(filter.field, null),
|
|
24193
|
+
className: cn(
|
|
24194
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
24195
|
+
!selectedValues[filter.field] ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
24196
|
+
),
|
|
24197
|
+
children: "All"
|
|
24198
|
+
}
|
|
24089
24199
|
),
|
|
24090
|
-
|
|
24091
|
-
|
|
24092
|
-
|
|
24093
|
-
|
|
24094
|
-
|
|
24095
|
-
|
|
24096
|
-
|
|
24097
|
-
|
|
24098
|
-
|
|
24099
|
-
|
|
24100
|
-
|
|
24101
|
-
|
|
24102
|
-
|
|
24103
|
-
|
|
24104
|
-
|
|
24105
|
-
|
|
24106
|
-
|
|
24107
|
-
|
|
24108
|
-
|
|
24200
|
+
filter.options?.map((option) => /* @__PURE__ */ jsx(
|
|
24201
|
+
"button",
|
|
24202
|
+
{
|
|
24203
|
+
type: "button",
|
|
24204
|
+
onClick: () => handleFilterSelect(filter.field, option),
|
|
24205
|
+
className: cn(
|
|
24206
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
24207
|
+
"border-l-[length:var(--border-width)] border-border",
|
|
24208
|
+
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
24209
|
+
),
|
|
24210
|
+
children: option
|
|
24211
|
+
},
|
|
24212
|
+
option
|
|
24213
|
+
))
|
|
24214
|
+
]
|
|
24215
|
+
}
|
|
24216
|
+
)
|
|
24217
|
+
] }, filter.field)),
|
|
24218
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsx(
|
|
24219
|
+
Button,
|
|
24220
|
+
{
|
|
24221
|
+
variant: "ghost",
|
|
24222
|
+
size: "sm",
|
|
24223
|
+
onClick: handleClearAll,
|
|
24224
|
+
leftIcon: /* @__PURE__ */ jsx(Icon, { name: "x", className: "h-3.5 w-3.5" }),
|
|
24225
|
+
children: "Clear"
|
|
24226
|
+
}
|
|
24227
|
+
)
|
|
24228
|
+
]
|
|
24229
|
+
}
|
|
24230
|
+
);
|
|
24109
24231
|
}
|
|
24110
24232
|
if (variant === "vertical") {
|
|
24111
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-4", className), children: [
|
|
24233
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-4", lookStyles5[look], className), children: [
|
|
24112
24234
|
showIcon && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [
|
|
24113
24235
|
/* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4" }),
|
|
24114
24236
|
/* @__PURE__ */ jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: "Filters" })
|
|
@@ -24191,92 +24313,100 @@ var init_FilterGroup = __esm({
|
|
|
24191
24313
|
] });
|
|
24192
24314
|
}
|
|
24193
24315
|
if (variant === "compact") {
|
|
24194
|
-
return /* @__PURE__ */ jsxs(
|
|
24195
|
-
|
|
24196
|
-
|
|
24197
|
-
|
|
24198
|
-
|
|
24199
|
-
|
|
24200
|
-
|
|
24201
|
-
|
|
24202
|
-
|
|
24203
|
-
|
|
24204
|
-
|
|
24205
|
-
|
|
24206
|
-
|
|
24207
|
-
|
|
24208
|
-
|
|
24209
|
-
|
|
24210
|
-
|
|
24211
|
-
|
|
24212
|
-
|
|
24213
|
-
|
|
24214
|
-
|
|
24215
|
-
|
|
24216
|
-
|
|
24217
|
-
|
|
24218
|
-
|
|
24219
|
-
|
|
24220
|
-
|
|
24221
|
-
|
|
24222
|
-
|
|
24223
|
-
|
|
24224
|
-
value: selectedValues[`${filter.field}_to`] || "",
|
|
24225
|
-
onChange: (e) => handleFilterSelect(
|
|
24226
|
-
`${filter.field}_to`,
|
|
24227
|
-
e.target.value || null
|
|
24316
|
+
return /* @__PURE__ */ jsxs(
|
|
24317
|
+
HStack,
|
|
24318
|
+
{
|
|
24319
|
+
gap: "sm",
|
|
24320
|
+
align: "center",
|
|
24321
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
24322
|
+
children: [
|
|
24323
|
+
showIcon && /* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
24324
|
+
filters.map((filter) => /* @__PURE__ */ jsx("div", { className: "min-w-[120px]", children: resolveFilterType(filter) === "date" ? /* @__PURE__ */ jsx(
|
|
24325
|
+
Input,
|
|
24326
|
+
{
|
|
24327
|
+
type: "date",
|
|
24328
|
+
value: selectedValues[filter.field] || "",
|
|
24329
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
24330
|
+
clearable: true,
|
|
24331
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
24332
|
+
className: "text-sm"
|
|
24333
|
+
}
|
|
24334
|
+
) : resolveFilterType(filter) === "daterange" || resolveFilterType(filter) === "date-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
24335
|
+
/* @__PURE__ */ jsx(
|
|
24336
|
+
Input,
|
|
24337
|
+
{
|
|
24338
|
+
type: "date",
|
|
24339
|
+
value: selectedValues[`${filter.field}_from`] || "",
|
|
24340
|
+
onChange: (e) => handleFilterSelect(
|
|
24341
|
+
`${filter.field}_from`,
|
|
24342
|
+
e.target.value || null
|
|
24343
|
+
),
|
|
24344
|
+
className: "text-sm min-w-[100px]"
|
|
24345
|
+
}
|
|
24228
24346
|
),
|
|
24229
|
-
className: "text-
|
|
24230
|
-
|
|
24231
|
-
|
|
24232
|
-
|
|
24233
|
-
|
|
24234
|
-
|
|
24235
|
-
|
|
24236
|
-
|
|
24237
|
-
|
|
24238
|
-
|
|
24239
|
-
|
|
24240
|
-
|
|
24241
|
-
|
|
24242
|
-
|
|
24243
|
-
|
|
24244
|
-
{
|
|
24245
|
-
value: selectedValues[filter.field] || "all",
|
|
24246
|
-
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
24247
|
-
options: [
|
|
24248
|
-
{ value: "all", label: `All ${filter.label}` },
|
|
24249
|
-
...filter.options?.map((opt) => ({
|
|
24250
|
-
value: opt,
|
|
24251
|
-
label: opt
|
|
24252
|
-
})) || []
|
|
24253
|
-
],
|
|
24254
|
-
className: "text-sm"
|
|
24255
|
-
}
|
|
24256
|
-
) }, filter.field)),
|
|
24257
|
-
activeFilterCount > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24258
|
-
Object.entries(selectedValues).map(([field, value]) => {
|
|
24259
|
-
const filterDef = filters.find((f3) => f3.field === field);
|
|
24260
|
-
return /* @__PURE__ */ jsxs(
|
|
24261
|
-
Badge,
|
|
24347
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
24348
|
+
/* @__PURE__ */ jsx(
|
|
24349
|
+
Input,
|
|
24350
|
+
{
|
|
24351
|
+
type: "date",
|
|
24352
|
+
value: selectedValues[`${filter.field}_to`] || "",
|
|
24353
|
+
onChange: (e) => handleFilterSelect(
|
|
24354
|
+
`${filter.field}_to`,
|
|
24355
|
+
e.target.value || null
|
|
24356
|
+
),
|
|
24357
|
+
className: "text-sm min-w-[100px]"
|
|
24358
|
+
}
|
|
24359
|
+
)
|
|
24360
|
+
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
24361
|
+
Input,
|
|
24262
24362
|
{
|
|
24263
|
-
|
|
24264
|
-
|
|
24265
|
-
|
|
24266
|
-
|
|
24267
|
-
|
|
24268
|
-
|
|
24269
|
-
|
|
24270
|
-
|
|
24271
|
-
|
|
24272
|
-
|
|
24273
|
-
|
|
24274
|
-
|
|
24275
|
-
|
|
24276
|
-
|
|
24277
|
-
|
|
24278
|
-
|
|
24279
|
-
|
|
24363
|
+
value: selectedValues[filter.field] || "",
|
|
24364
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
24365
|
+
placeholder: filter.label,
|
|
24366
|
+
clearable: true,
|
|
24367
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
24368
|
+
className: "text-sm"
|
|
24369
|
+
}
|
|
24370
|
+
) : /* @__PURE__ */ jsx(
|
|
24371
|
+
Select,
|
|
24372
|
+
{
|
|
24373
|
+
value: selectedValues[filter.field] || "all",
|
|
24374
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
24375
|
+
options: [
|
|
24376
|
+
{ value: "all", label: `All ${filter.label}` },
|
|
24377
|
+
...filter.options?.map((opt) => ({
|
|
24378
|
+
value: opt,
|
|
24379
|
+
label: opt
|
|
24380
|
+
})) || []
|
|
24381
|
+
],
|
|
24382
|
+
className: "text-sm"
|
|
24383
|
+
}
|
|
24384
|
+
) }, filter.field)),
|
|
24385
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24386
|
+
Object.entries(selectedValues).map(([field, value]) => {
|
|
24387
|
+
const filterDef = filters.find((f3) => f3.field === field);
|
|
24388
|
+
return /* @__PURE__ */ jsxs(
|
|
24389
|
+
Badge,
|
|
24390
|
+
{
|
|
24391
|
+
variant: "primary",
|
|
24392
|
+
size: "md",
|
|
24393
|
+
className: "cursor-pointer",
|
|
24394
|
+
onClick: () => handleFilterSelect(field, null),
|
|
24395
|
+
children: [
|
|
24396
|
+
filterDef?.label,
|
|
24397
|
+
": ",
|
|
24398
|
+
value,
|
|
24399
|
+
/* @__PURE__ */ jsx(Icon, { name: "x", className: "ml-1 h-3 w-3" })
|
|
24400
|
+
]
|
|
24401
|
+
},
|
|
24402
|
+
field
|
|
24403
|
+
);
|
|
24404
|
+
}),
|
|
24405
|
+
/* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", onClick: handleClearAll, children: "Clear all" })
|
|
24406
|
+
] })
|
|
24407
|
+
]
|
|
24408
|
+
}
|
|
24409
|
+
);
|
|
24280
24410
|
}
|
|
24281
24411
|
return /* @__PURE__ */ jsx(
|
|
24282
24412
|
"div",
|
|
@@ -24285,6 +24415,7 @@ var init_FilterGroup = __esm({
|
|
|
24285
24415
|
"p-4 rounded-container",
|
|
24286
24416
|
"bg-card",
|
|
24287
24417
|
"border-[length:var(--border-width)] border-border",
|
|
24418
|
+
lookStyles5[look],
|
|
24288
24419
|
className
|
|
24289
24420
|
),
|
|
24290
24421
|
children: /* @__PURE__ */ jsxs(HStack, { gap: "md", align: "center", className: "flex-wrap", children: [
|
|
@@ -28758,7 +28889,7 @@ function composeDisplayValue(value, format, max, prefix, suffix) {
|
|
|
28758
28889
|
const withMax = max != null && max > 0 ? `${formatted} / ${max}` : formatted;
|
|
28759
28890
|
return `${prefix ?? ""}${withMax}${suffix ?? ""}`;
|
|
28760
28891
|
}
|
|
28761
|
-
var variantColor, StatDisplay;
|
|
28892
|
+
var lookStyles6, variantColor, StatDisplay;
|
|
28762
28893
|
var init_StatDisplay = __esm({
|
|
28763
28894
|
"components/molecules/StatDisplay.tsx"() {
|
|
28764
28895
|
"use client";
|
|
@@ -28770,6 +28901,13 @@ var init_StatDisplay = __esm({
|
|
|
28770
28901
|
init_Sparkline();
|
|
28771
28902
|
init_Icon();
|
|
28772
28903
|
init_useEventBus();
|
|
28904
|
+
lookStyles6 = {
|
|
28905
|
+
elevated: "",
|
|
28906
|
+
flat: "shadow-none border-[length:var(--border-width)] border-border",
|
|
28907
|
+
"progress-backed": "",
|
|
28908
|
+
gauge: "",
|
|
28909
|
+
sparkline: ""
|
|
28910
|
+
};
|
|
28773
28911
|
variantColor = {
|
|
28774
28912
|
default: "text-foreground",
|
|
28775
28913
|
primary: "text-primary",
|
|
@@ -28797,6 +28935,7 @@ var init_StatDisplay = __esm({
|
|
|
28797
28935
|
size = "md",
|
|
28798
28936
|
variant = "default",
|
|
28799
28937
|
compact = false,
|
|
28938
|
+
look = "elevated",
|
|
28800
28939
|
className,
|
|
28801
28940
|
isLoading = false,
|
|
28802
28941
|
error = null
|
|
@@ -28849,7 +28988,7 @@ var init_StatDisplay = __esm({
|
|
|
28849
28988
|
return /* @__PURE__ */ jsx(
|
|
28850
28989
|
Card,
|
|
28851
28990
|
{
|
|
28852
|
-
className: cn(padSizes[size], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
28991
|
+
className: cn(padSizes[size], lookStyles6[look], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
28853
28992
|
onClick: clickEvent ? handleClick : void 0,
|
|
28854
28993
|
children: /* @__PURE__ */ jsxs(HStack, { align: "start", justify: "between", children: [
|
|
28855
28994
|
/* @__PURE__ */ jsxs(VStack, { gap: "none", className: "space-y-1 flex-1", children: [
|
|
@@ -34293,7 +34432,8 @@ function DataTable({
|
|
|
34293
34432
|
bulkActions,
|
|
34294
34433
|
headerActions,
|
|
34295
34434
|
showTotal = true,
|
|
34296
|
-
className
|
|
34435
|
+
className,
|
|
34436
|
+
look = "dense"
|
|
34297
34437
|
}) {
|
|
34298
34438
|
const [openActionMenu, setOpenActionMenu] = useState(
|
|
34299
34439
|
null
|
|
@@ -34420,6 +34560,7 @@ function DataTable({
|
|
|
34420
34560
|
{
|
|
34421
34561
|
className: cn(
|
|
34422
34562
|
"bg-card border-2 border-border rounded-none overflow-hidden",
|
|
34563
|
+
lookStyles7[look],
|
|
34423
34564
|
className
|
|
34424
34565
|
),
|
|
34425
34566
|
children: [
|
|
@@ -34646,6 +34787,7 @@ function DataTable({
|
|
|
34646
34787
|
}
|
|
34647
34788
|
);
|
|
34648
34789
|
}
|
|
34790
|
+
var lookStyles7;
|
|
34649
34791
|
var init_DataTable = __esm({
|
|
34650
34792
|
"components/organisms/DataTable.tsx"() {
|
|
34651
34793
|
"use client";
|
|
@@ -34659,6 +34801,13 @@ var init_DataTable = __esm({
|
|
|
34659
34801
|
init_useEventBus();
|
|
34660
34802
|
init_useTranslate();
|
|
34661
34803
|
init_types3();
|
|
34804
|
+
lookStyles7 = {
|
|
34805
|
+
dense: "",
|
|
34806
|
+
spacious: "[&_tbody_tr_td]:py-5 [&_thead_tr_th]:py-4",
|
|
34807
|
+
striped: "[&_tbody_tr:nth-child(odd)]:bg-muted/30",
|
|
34808
|
+
borderless: "border-0 [&_thead]:border-b-0 [&_tbody_tr]:border-b-0 [&_tbody]:divide-y-0",
|
|
34809
|
+
"card-rows": "border-0 [&_tbody]:divide-y-0 [&_tbody_tr]:border-b-0 [&_tbody_tr]:shadow-elevation-card [&_tbody_tr]:rounded-container [&_tbody_tr]:bg-card [&_tbody]:[&_tr]:my-2"
|
|
34810
|
+
};
|
|
34662
34811
|
DataTable.displayName = "DataTable";
|
|
34663
34812
|
}
|
|
34664
34813
|
});
|
|
@@ -37817,7 +37966,7 @@ var init_GraphCanvas = __esm({
|
|
|
37817
37966
|
GraphCanvas.displayName = "GraphCanvas";
|
|
37818
37967
|
}
|
|
37819
37968
|
});
|
|
37820
|
-
var Header;
|
|
37969
|
+
var lookStyles8, Header;
|
|
37821
37970
|
var init_Header = __esm({
|
|
37822
37971
|
"components/organisms/Header.tsx"() {
|
|
37823
37972
|
"use client";
|
|
@@ -37830,6 +37979,13 @@ var init_Header = __esm({
|
|
|
37830
37979
|
init_Typography();
|
|
37831
37980
|
init_cn();
|
|
37832
37981
|
init_useTranslate();
|
|
37982
|
+
lookStyles8 = {
|
|
37983
|
+
"compact-bar": "",
|
|
37984
|
+
hero: "py-section min-h-[200px] [&_h1]:text-display-1",
|
|
37985
|
+
breadcrumb: "py-2 text-sm [&_h1]:text-base [&_h1]:font-medium",
|
|
37986
|
+
contextual: "py-3 [&_h1]:text-lg",
|
|
37987
|
+
"editorial-banner": "py-12 [&_h1]:text-display-2 [&_h1]:font-display-bold border-b border-border"
|
|
37988
|
+
};
|
|
37833
37989
|
Header = ({
|
|
37834
37990
|
logo,
|
|
37835
37991
|
logoSrc,
|
|
@@ -37847,6 +38003,7 @@ var init_Header = __esm({
|
|
|
37847
38003
|
actions,
|
|
37848
38004
|
sticky = true,
|
|
37849
38005
|
variant = "mobile",
|
|
38006
|
+
look = "compact-bar",
|
|
37850
38007
|
onLogoClick,
|
|
37851
38008
|
className
|
|
37852
38009
|
}) => {
|
|
@@ -37862,6 +38019,7 @@ var init_Header = __esm({
|
|
|
37862
38019
|
"flex items-center px-4 justify-between bg-card",
|
|
37863
38020
|
sticky && "sticky top-0 z-50",
|
|
37864
38021
|
variant === "mobile" && "lg:hidden",
|
|
38022
|
+
lookStyles8[look],
|
|
37865
38023
|
className
|
|
37866
38024
|
),
|
|
37867
38025
|
children: [
|
|
@@ -44557,7 +44715,7 @@ var init_TeamOrganism = __esm({
|
|
|
44557
44715
|
TeamOrganism.displayName = "TeamOrganism";
|
|
44558
44716
|
}
|
|
44559
44717
|
});
|
|
44560
|
-
var STATUS_STYLES3, Timeline;
|
|
44718
|
+
var lookStyles9, STATUS_STYLES3, Timeline;
|
|
44561
44719
|
var init_Timeline = __esm({
|
|
44562
44720
|
"components/organisms/Timeline.tsx"() {
|
|
44563
44721
|
"use client";
|
|
@@ -44568,6 +44726,12 @@ var init_Timeline = __esm({
|
|
|
44568
44726
|
init_ErrorState();
|
|
44569
44727
|
init_EmptyState();
|
|
44570
44728
|
init_useTranslate();
|
|
44729
|
+
lookStyles9 = {
|
|
44730
|
+
"vertical-compact": "gap-1 [&>*]:py-1",
|
|
44731
|
+
"vertical-spacious": "",
|
|
44732
|
+
horizontal: "flex-row [&>*]:flex-row [&>*]:items-center",
|
|
44733
|
+
swimlane: "flex-row gap-6 [&>*]:flex-row [&>*]:items-center"
|
|
44734
|
+
};
|
|
44571
44735
|
STATUS_STYLES3 = {
|
|
44572
44736
|
complete: {
|
|
44573
44737
|
dotColor: "text-success",
|
|
@@ -44598,7 +44762,8 @@ var init_Timeline = __esm({
|
|
|
44598
44762
|
entity,
|
|
44599
44763
|
isLoading = false,
|
|
44600
44764
|
error,
|
|
44601
|
-
className
|
|
44765
|
+
className,
|
|
44766
|
+
look = "vertical-spacious"
|
|
44602
44767
|
}) => {
|
|
44603
44768
|
const { t } = useTranslate();
|
|
44604
44769
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
@@ -44654,7 +44819,7 @@ var init_Timeline = __esm({
|
|
|
44654
44819
|
}
|
|
44655
44820
|
return /* @__PURE__ */ jsx(Card, { className: cn("p-6", className), children: /* @__PURE__ */ jsxs(VStack, { gap: "md", children: [
|
|
44656
44821
|
title && /* @__PURE__ */ jsx(Typography, { variant: "h5", weight: "semibold", children: title }),
|
|
44657
|
-
/* @__PURE__ */ jsx(VStack, { gap: "none", className: "relative", children: items.map((item, idx) => {
|
|
44822
|
+
/* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("relative", lookStyles9[look]), children: items.map((item, idx) => {
|
|
44658
44823
|
const status = item.status || "pending";
|
|
44659
44824
|
const style = STATUS_STYLES3[status] || STATUS_STYLES3.pending;
|
|
44660
44825
|
const ItemIcon = item.icon || style.icon;
|