@almadar/ui 5.4.0 → 5.5.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/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/avl/index.js
CHANGED
|
@@ -6721,7 +6721,7 @@ var init_Overlay = __esm({
|
|
|
6721
6721
|
};
|
|
6722
6722
|
}
|
|
6723
6723
|
});
|
|
6724
|
-
var sizeClasses2, minWidthClasses, Modal;
|
|
6724
|
+
var sizeClasses2, minWidthClasses, lookStyles, Modal;
|
|
6725
6725
|
var init_Modal = __esm({
|
|
6726
6726
|
"components/molecules/Modal.tsx"() {
|
|
6727
6727
|
"use client";
|
|
@@ -6746,6 +6746,12 @@ var init_Modal = __esm({
|
|
|
6746
6746
|
xl: "min-w-[700px] max-sm:min-w-0",
|
|
6747
6747
|
full: "min-w-0"
|
|
6748
6748
|
};
|
|
6749
|
+
lookStyles = {
|
|
6750
|
+
"centered-card": "",
|
|
6751
|
+
"top-sheet": "top-0 rounded-t-none rounded-b-container max-w-full w-full",
|
|
6752
|
+
"side-drawer": "right-0 top-0 bottom-0 h-full rounded-l-container rounded-r-none w-[400px] max-w-full",
|
|
6753
|
+
"full-screen": "inset-0 rounded-none w-full h-full max-w-full"
|
|
6754
|
+
};
|
|
6749
6755
|
Modal = ({
|
|
6750
6756
|
isOpen = true,
|
|
6751
6757
|
onClose = () => {
|
|
@@ -6759,7 +6765,8 @@ var init_Modal = __esm({
|
|
|
6759
6765
|
closeOnEscape = true,
|
|
6760
6766
|
className,
|
|
6761
6767
|
closeEvent,
|
|
6762
|
-
swipeDownToClose = true
|
|
6768
|
+
swipeDownToClose = true,
|
|
6769
|
+
look = "centered-card"
|
|
6763
6770
|
}) => {
|
|
6764
6771
|
const eventBus = useEventBus();
|
|
6765
6772
|
const modalRef = useRef(null);
|
|
@@ -6844,6 +6851,7 @@ var init_Modal = __esm({
|
|
|
6844
6851
|
// Mobile: take the entire screen. Override desktop max-w cap,
|
|
6845
6852
|
// full height, no rounded corners, no min-width.
|
|
6846
6853
|
"max-sm:max-w-none max-sm:max-h-none max-sm:w-full max-sm:h-full max-sm:rounded-none",
|
|
6854
|
+
lookStyles[look],
|
|
6847
6855
|
className
|
|
6848
6856
|
),
|
|
6849
6857
|
style: dragY > 0 ? {
|
|
@@ -8418,7 +8426,7 @@ var init_Checkbox = __esm({
|
|
|
8418
8426
|
Checkbox.displayName = "Checkbox";
|
|
8419
8427
|
}
|
|
8420
8428
|
});
|
|
8421
|
-
var variantStyles4, paddingStyles2, shadowStyles2,
|
|
8429
|
+
var variantStyles4, paddingStyles2, shadowStyles2, lookStyles2, Card, CardHeader, CardTitle, CardContent, CardBody, CardFooter;
|
|
8422
8430
|
var init_Card = __esm({
|
|
8423
8431
|
"components/atoms/Card.tsx"() {
|
|
8424
8432
|
init_cn();
|
|
@@ -8466,7 +8474,7 @@ var init_Card = __esm({
|
|
|
8466
8474
|
md: "shadow",
|
|
8467
8475
|
lg: "shadow-elevation-dialog"
|
|
8468
8476
|
};
|
|
8469
|
-
|
|
8477
|
+
lookStyles2 = {
|
|
8470
8478
|
elevated: "",
|
|
8471
8479
|
"flat-bordered": "shadow-none border-[length:var(--border-width)] border-border",
|
|
8472
8480
|
"borderless-divider": "shadow-none border-0 border-b border-border rounded-none",
|
|
@@ -8496,7 +8504,7 @@ var init_Card = __esm({
|
|
|
8496
8504
|
"transition-all duration-[var(--transition-normal)]",
|
|
8497
8505
|
variantStyles4[variant],
|
|
8498
8506
|
paddingStyles2[padding],
|
|
8499
|
-
|
|
8507
|
+
lookStyles2[look],
|
|
8500
8508
|
shadow && shadowStyles2[shadow],
|
|
8501
8509
|
className
|
|
8502
8510
|
),
|
|
@@ -19882,7 +19890,7 @@ var init_BookTableOfContents = __esm({
|
|
|
19882
19890
|
BookTableOfContents.displayName = "BookTableOfContents";
|
|
19883
19891
|
}
|
|
19884
19892
|
});
|
|
19885
|
-
var ICON_NAME_ALIASES, EmptyState;
|
|
19893
|
+
var ICON_NAME_ALIASES, lookStyles3, EmptyState;
|
|
19886
19894
|
var init_EmptyState = __esm({
|
|
19887
19895
|
"components/molecules/EmptyState.tsx"() {
|
|
19888
19896
|
"use client";
|
|
@@ -19899,6 +19907,12 @@ var init_EmptyState = __esm({
|
|
|
19899
19907
|
error: "x-circle",
|
|
19900
19908
|
warning: "alert-circle"
|
|
19901
19909
|
};
|
|
19910
|
+
lookStyles3 = {
|
|
19911
|
+
"icon-only": "",
|
|
19912
|
+
illustrated: "[&_svg]:w-32 [&_svg]:h-32",
|
|
19913
|
+
"text-only": "[&_svg]:hidden",
|
|
19914
|
+
mascot: "[&_svg]:w-24 [&_svg]:h-24 [&_svg]:rounded-pill"
|
|
19915
|
+
};
|
|
19902
19916
|
EmptyState = ({
|
|
19903
19917
|
icon,
|
|
19904
19918
|
title,
|
|
@@ -19909,7 +19923,8 @@ var init_EmptyState = __esm({
|
|
|
19909
19923
|
className,
|
|
19910
19924
|
destructive,
|
|
19911
19925
|
variant,
|
|
19912
|
-
actionEvent
|
|
19926
|
+
actionEvent,
|
|
19927
|
+
look = "icon-only"
|
|
19913
19928
|
}) => {
|
|
19914
19929
|
const eventBus = useEventBus();
|
|
19915
19930
|
const { t } = useTranslate();
|
|
@@ -19929,6 +19944,7 @@ var init_EmptyState = __esm({
|
|
|
19929
19944
|
align: "center",
|
|
19930
19945
|
className: cn(
|
|
19931
19946
|
"justify-center py-12 text-center",
|
|
19947
|
+
lookStyles3[look],
|
|
19932
19948
|
className
|
|
19933
19949
|
),
|
|
19934
19950
|
children: [
|
|
@@ -21169,7 +21185,7 @@ function useSafeEventBus2() {
|
|
|
21169
21185
|
} };
|
|
21170
21186
|
}
|
|
21171
21187
|
}
|
|
21172
|
-
var log9, ButtonGroup;
|
|
21188
|
+
var log9, lookStyles4, ButtonGroup;
|
|
21173
21189
|
var init_ButtonGroup = __esm({
|
|
21174
21190
|
"components/molecules/ButtonGroup.tsx"() {
|
|
21175
21191
|
"use client";
|
|
@@ -21177,6 +21193,13 @@ var init_ButtonGroup = __esm({
|
|
|
21177
21193
|
init_atoms();
|
|
21178
21194
|
init_useEventBus();
|
|
21179
21195
|
log9 = createLogger("almadar:ui:button-group");
|
|
21196
|
+
lookStyles4 = {
|
|
21197
|
+
"right-aligned-buttons": "",
|
|
21198
|
+
"floating-bar": "fixed bottom-section left-1/2 -translate-x-1/2 shadow-elevation-toast bg-card p-card-sm rounded-container",
|
|
21199
|
+
"inline-row": "gap-2 inline-flex",
|
|
21200
|
+
"dropdown-menu": "[&>button:not(:first-child)]:hidden",
|
|
21201
|
+
"command-palette-trigger": "[&>button:not(:first-child)]:hidden"
|
|
21202
|
+
};
|
|
21180
21203
|
ButtonGroup = ({
|
|
21181
21204
|
children,
|
|
21182
21205
|
primary,
|
|
@@ -21186,7 +21209,8 @@ var init_ButtonGroup = __esm({
|
|
|
21186
21209
|
className,
|
|
21187
21210
|
// Filter-group pattern props (entity and filters are used for schema-driven filtering)
|
|
21188
21211
|
entity: _entity,
|
|
21189
|
-
filters
|
|
21212
|
+
filters,
|
|
21213
|
+
look = "right-aligned-buttons"
|
|
21190
21214
|
}) => {
|
|
21191
21215
|
const eventBus = useSafeEventBus2();
|
|
21192
21216
|
const variantClasses2 = {
|
|
@@ -21263,6 +21287,7 @@ var init_ButtonGroup = __esm({
|
|
|
21263
21287
|
"inline-flex gap-2",
|
|
21264
21288
|
variantClasses2[variant],
|
|
21265
21289
|
orientationClasses[orientation],
|
|
21290
|
+
lookStyles4[look],
|
|
21266
21291
|
className
|
|
21267
21292
|
),
|
|
21268
21293
|
role: "group",
|
|
@@ -23794,7 +23819,7 @@ var init_CastleTemplate = __esm({
|
|
|
23794
23819
|
CastleTemplate.displayName = "CastleTemplate";
|
|
23795
23820
|
}
|
|
23796
23821
|
});
|
|
23797
|
-
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, Chart;
|
|
23822
|
+
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, LOOK_FROM_CHART_TYPE, Chart;
|
|
23798
23823
|
var init_Chart = __esm({
|
|
23799
23824
|
"components/organisms/Chart.tsx"() {
|
|
23800
23825
|
"use client";
|
|
@@ -23824,7 +23849,7 @@ var init_Chart = __esm({
|
|
|
23824
23849
|
if (Number.isNaN(parsed.getTime())) return raw;
|
|
23825
23850
|
return monthFormatter.format(parsed);
|
|
23826
23851
|
};
|
|
23827
|
-
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, onPointClick }) => {
|
|
23852
|
+
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, horizontal = false, onPointClick }) => {
|
|
23828
23853
|
const categories = useMemo(() => {
|
|
23829
23854
|
const set = [];
|
|
23830
23855
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -23862,6 +23887,64 @@ var init_Chart = __esm({
|
|
|
23862
23887
|
}
|
|
23863
23888
|
return m;
|
|
23864
23889
|
}, [series, stack, columnTotals]);
|
|
23890
|
+
if (horizontal) {
|
|
23891
|
+
return /* @__PURE__ */ jsx(VStack, { gap: "xs", align: "stretch", className: "w-full", style: { minHeight: height }, children: categories.map((label, catIdx) => {
|
|
23892
|
+
const displayLabel = timeAxis ? formatTimeLabel(label) : label;
|
|
23893
|
+
const total = columnTotals?.[catIdx] ?? 1;
|
|
23894
|
+
return /* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", className: "w-full", children: [
|
|
23895
|
+
/* @__PURE__ */ jsx(
|
|
23896
|
+
Typography,
|
|
23897
|
+
{
|
|
23898
|
+
variant: "caption",
|
|
23899
|
+
color: "secondary",
|
|
23900
|
+
className: "truncate text-right",
|
|
23901
|
+
style: { width: 80, flexShrink: 0 },
|
|
23902
|
+
children: displayLabel
|
|
23903
|
+
}
|
|
23904
|
+
),
|
|
23905
|
+
/* @__PURE__ */ jsx(
|
|
23906
|
+
HStack,
|
|
23907
|
+
{
|
|
23908
|
+
gap: stack === "none" ? "xs" : "none",
|
|
23909
|
+
align: "center",
|
|
23910
|
+
className: "flex-1 min-w-0",
|
|
23911
|
+
style: { height: 24 },
|
|
23912
|
+
children: series.map((s, sIdx) => {
|
|
23913
|
+
const value = valueAt(s, label);
|
|
23914
|
+
const ratio = stack === "normalize" ? total === 0 ? 0 : value / total * 100 : value / maxValue * 100;
|
|
23915
|
+
const color = seriesColor(s, sIdx);
|
|
23916
|
+
return /* @__PURE__ */ jsx(
|
|
23917
|
+
Box,
|
|
23918
|
+
{
|
|
23919
|
+
className: "h-full rounded-r-sm transition-all duration-500 ease-out min-w-[2px] cursor-pointer hover:opacity-80",
|
|
23920
|
+
style: {
|
|
23921
|
+
width: `${ratio}%`,
|
|
23922
|
+
backgroundColor: color
|
|
23923
|
+
},
|
|
23924
|
+
onClick: () => onPointClick?.(
|
|
23925
|
+
{ label, value, color },
|
|
23926
|
+
s.name
|
|
23927
|
+
),
|
|
23928
|
+
title: `${s.name}: ${value}`
|
|
23929
|
+
},
|
|
23930
|
+
s.name
|
|
23931
|
+
);
|
|
23932
|
+
})
|
|
23933
|
+
}
|
|
23934
|
+
),
|
|
23935
|
+
showValues && series.length === 1 && /* @__PURE__ */ jsx(
|
|
23936
|
+
Typography,
|
|
23937
|
+
{
|
|
23938
|
+
variant: "caption",
|
|
23939
|
+
color: "secondary",
|
|
23940
|
+
className: "tabular-nums",
|
|
23941
|
+
style: { width: 40, flexShrink: 0 },
|
|
23942
|
+
children: valueAt(series[0], label)
|
|
23943
|
+
}
|
|
23944
|
+
)
|
|
23945
|
+
] }, label);
|
|
23946
|
+
}) });
|
|
23947
|
+
}
|
|
23865
23948
|
return /* @__PURE__ */ jsx(
|
|
23866
23949
|
HStack,
|
|
23867
23950
|
{
|
|
@@ -24289,10 +24372,20 @@ var init_Chart = __esm({
|
|
|
24289
24372
|
}
|
|
24290
24373
|
);
|
|
24291
24374
|
};
|
|
24375
|
+
LOOK_FROM_CHART_TYPE = {
|
|
24376
|
+
bar: "bar-vertical",
|
|
24377
|
+
line: "line",
|
|
24378
|
+
pie: "pie",
|
|
24379
|
+
area: "area",
|
|
24380
|
+
donut: "donut",
|
|
24381
|
+
scatter: "scatter",
|
|
24382
|
+
histogram: "histogram"
|
|
24383
|
+
};
|
|
24292
24384
|
Chart = ({
|
|
24293
24385
|
title,
|
|
24294
24386
|
subtitle,
|
|
24295
|
-
chartType
|
|
24387
|
+
chartType,
|
|
24388
|
+
look,
|
|
24296
24389
|
series,
|
|
24297
24390
|
data: simpleData,
|
|
24298
24391
|
scatterData,
|
|
@@ -24308,6 +24401,7 @@ var init_Chart = __esm({
|
|
|
24308
24401
|
error,
|
|
24309
24402
|
className
|
|
24310
24403
|
}) => {
|
|
24404
|
+
const resolvedLook = look ?? (chartType ? LOOK_FROM_CHART_TYPE[chartType] : "bar-vertical");
|
|
24311
24405
|
const eventBus = useEventBus();
|
|
24312
24406
|
const { t } = useTranslate();
|
|
24313
24407
|
const handleAction = useCallback(
|
|
@@ -24336,7 +24430,7 @@ var init_Chart = __esm({
|
|
|
24336
24430
|
return [];
|
|
24337
24431
|
}, [simpleData, series]);
|
|
24338
24432
|
const firstSeriesData = normalizedSeries[0]?.data ?? [];
|
|
24339
|
-
const hasContent =
|
|
24433
|
+
const hasContent = resolvedLook === "scatter" ? (scatterData?.length ?? 0) > 0 : normalizedSeries.some((s) => s.data.length > 0);
|
|
24340
24434
|
if (isLoading) {
|
|
24341
24435
|
return /* @__PURE__ */ jsx(LoadingState, { message: "Loading chart...", className });
|
|
24342
24436
|
}
|
|
@@ -24371,7 +24465,18 @@ var init_Chart = __esm({
|
|
|
24371
24465
|
)) })
|
|
24372
24466
|
] }),
|
|
24373
24467
|
/* @__PURE__ */ jsxs(Box, { className: "w-full", children: [
|
|
24374
|
-
|
|
24468
|
+
resolvedLook === "bar-vertical" && /* @__PURE__ */ jsx(
|
|
24469
|
+
BarChart,
|
|
24470
|
+
{
|
|
24471
|
+
series: normalizedSeries,
|
|
24472
|
+
height,
|
|
24473
|
+
showValues,
|
|
24474
|
+
stack,
|
|
24475
|
+
timeAxis,
|
|
24476
|
+
onPointClick: handlePointClick
|
|
24477
|
+
}
|
|
24478
|
+
),
|
|
24479
|
+
resolvedLook === "bar-horizontal" && /* @__PURE__ */ jsx(
|
|
24375
24480
|
BarChart,
|
|
24376
24481
|
{
|
|
24377
24482
|
series: normalizedSeries,
|
|
@@ -24379,10 +24484,11 @@ var init_Chart = __esm({
|
|
|
24379
24484
|
showValues,
|
|
24380
24485
|
stack,
|
|
24381
24486
|
timeAxis,
|
|
24487
|
+
horizontal: true,
|
|
24382
24488
|
onPointClick: handlePointClick
|
|
24383
24489
|
}
|
|
24384
24490
|
),
|
|
24385
|
-
|
|
24491
|
+
resolvedLook === "histogram" && /* @__PURE__ */ jsx(
|
|
24386
24492
|
BarChart,
|
|
24387
24493
|
{
|
|
24388
24494
|
series: normalizedSeries,
|
|
@@ -24394,7 +24500,7 @@ var init_Chart = __esm({
|
|
|
24394
24500
|
onPointClick: handlePointClick
|
|
24395
24501
|
}
|
|
24396
24502
|
),
|
|
24397
|
-
|
|
24503
|
+
resolvedLook === "line" && /* @__PURE__ */ jsx(
|
|
24398
24504
|
LineChart,
|
|
24399
24505
|
{
|
|
24400
24506
|
series: normalizedSeries,
|
|
@@ -24404,7 +24510,7 @@ var init_Chart = __esm({
|
|
|
24404
24510
|
onPointClick: handlePointClick
|
|
24405
24511
|
}
|
|
24406
24512
|
),
|
|
24407
|
-
|
|
24513
|
+
resolvedLook === "area" && /* @__PURE__ */ jsx(
|
|
24408
24514
|
LineChart,
|
|
24409
24515
|
{
|
|
24410
24516
|
series: normalizedSeries,
|
|
@@ -24415,7 +24521,7 @@ var init_Chart = __esm({
|
|
|
24415
24521
|
onPointClick: handlePointClick
|
|
24416
24522
|
}
|
|
24417
24523
|
),
|
|
24418
|
-
|
|
24524
|
+
resolvedLook === "pie" && /* @__PURE__ */ jsx(
|
|
24419
24525
|
PieChart,
|
|
24420
24526
|
{
|
|
24421
24527
|
data: firstSeriesData,
|
|
@@ -24424,7 +24530,7 @@ var init_Chart = __esm({
|
|
|
24424
24530
|
onPointClick: handlePointClick
|
|
24425
24531
|
}
|
|
24426
24532
|
),
|
|
24427
|
-
|
|
24533
|
+
resolvedLook === "donut" && /* @__PURE__ */ jsx(
|
|
24428
24534
|
PieChart,
|
|
24429
24535
|
{
|
|
24430
24536
|
data: firstSeriesData,
|
|
@@ -24434,7 +24540,7 @@ var init_Chart = __esm({
|
|
|
24434
24540
|
onPointClick: handlePointClick
|
|
24435
24541
|
}
|
|
24436
24542
|
),
|
|
24437
|
-
|
|
24543
|
+
resolvedLook === "scatter" && /* @__PURE__ */ jsx(
|
|
24438
24544
|
ScatterChart,
|
|
24439
24545
|
{
|
|
24440
24546
|
data: scatterData ?? [],
|
|
@@ -27857,7 +27963,7 @@ var init_useQuerySingleton = __esm({
|
|
|
27857
27963
|
queryStores = /* @__PURE__ */ new Map();
|
|
27858
27964
|
}
|
|
27859
27965
|
});
|
|
27860
|
-
var resolveFilterType, FilterGroup;
|
|
27966
|
+
var resolveFilterType, lookStyles5, FilterGroup;
|
|
27861
27967
|
var init_FilterGroup = __esm({
|
|
27862
27968
|
"components/molecules/FilterGroup.tsx"() {
|
|
27863
27969
|
"use client";
|
|
@@ -27871,6 +27977,13 @@ var init_FilterGroup = __esm({
|
|
|
27871
27977
|
init_useEventBus();
|
|
27872
27978
|
init_useQuerySingleton();
|
|
27873
27979
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
27980
|
+
lookStyles5 = {
|
|
27981
|
+
toolbar: "",
|
|
27982
|
+
chips: "gap-2 [&>*]:rounded-pill [&>*]:px-3 [&>*]:py-1",
|
|
27983
|
+
pills: "gap-2 [&>*]:rounded-pill",
|
|
27984
|
+
"popover-trigger": "[&>*:not(:first-child)]:hidden",
|
|
27985
|
+
"inline-column-header": "hidden"
|
|
27986
|
+
};
|
|
27874
27987
|
FilterGroup = ({
|
|
27875
27988
|
entity,
|
|
27876
27989
|
filters,
|
|
@@ -27880,7 +27993,8 @@ var init_FilterGroup = __esm({
|
|
|
27880
27993
|
variant = "default",
|
|
27881
27994
|
showIcon = true,
|
|
27882
27995
|
query,
|
|
27883
|
-
isLoading
|
|
27996
|
+
isLoading,
|
|
27997
|
+
look = "toolbar"
|
|
27884
27998
|
}) => {
|
|
27885
27999
|
const eventBus = useEventBus();
|
|
27886
28000
|
const queryState = useQuerySingleton(query);
|
|
@@ -27935,63 +28049,71 @@ var init_FilterGroup = __esm({
|
|
|
27935
28049
|
}, [onClearAll, queryState, eventBus, entity, query]);
|
|
27936
28050
|
const activeFilterCount = Object.keys(selectedValues).length;
|
|
27937
28051
|
if (variant === "pills") {
|
|
27938
|
-
return /* @__PURE__ */ jsxs(
|
|
27939
|
-
|
|
27940
|
-
|
|
27941
|
-
|
|
27942
|
-
|
|
27943
|
-
|
|
27944
|
-
|
|
27945
|
-
|
|
27946
|
-
HStack,
|
|
27947
|
-
|
|
27948
|
-
|
|
27949
|
-
|
|
27950
|
-
|
|
27951
|
-
|
|
27952
|
-
|
|
27953
|
-
|
|
27954
|
-
|
|
27955
|
-
|
|
27956
|
-
|
|
27957
|
-
|
|
27958
|
-
|
|
27959
|
-
|
|
27960
|
-
|
|
27961
|
-
|
|
27962
|
-
|
|
27963
|
-
|
|
27964
|
-
|
|
27965
|
-
|
|
27966
|
-
|
|
27967
|
-
|
|
27968
|
-
className: cn(
|
|
27969
|
-
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
27970
|
-
"border-l-[length:var(--border-width)] border-border",
|
|
27971
|
-
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
28052
|
+
return /* @__PURE__ */ jsxs(
|
|
28053
|
+
HStack,
|
|
28054
|
+
{
|
|
28055
|
+
gap: "md",
|
|
28056
|
+
align: "center",
|
|
28057
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
28058
|
+
children: [
|
|
28059
|
+
showIcon && /* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
28060
|
+
filters.map((filter) => /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
28061
|
+
/* @__PURE__ */ jsxs("span", { className: "text-sm font-medium text-muted-foreground", children: [
|
|
28062
|
+
filter.label,
|
|
28063
|
+
":"
|
|
28064
|
+
] }),
|
|
28065
|
+
/* @__PURE__ */ jsxs(
|
|
28066
|
+
HStack,
|
|
28067
|
+
{
|
|
28068
|
+
gap: "none",
|
|
28069
|
+
className: "rounded-sm overflow-hidden border-[length:var(--border-width)] border-border",
|
|
28070
|
+
children: [
|
|
28071
|
+
/* @__PURE__ */ jsx(
|
|
28072
|
+
"button",
|
|
28073
|
+
{
|
|
28074
|
+
type: "button",
|
|
28075
|
+
onClick: () => handleFilterSelect(filter.field, null),
|
|
28076
|
+
className: cn(
|
|
28077
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
28078
|
+
!selectedValues[filter.field] ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
28079
|
+
),
|
|
28080
|
+
children: "All"
|
|
28081
|
+
}
|
|
27972
28082
|
),
|
|
27973
|
-
|
|
27974
|
-
|
|
27975
|
-
|
|
27976
|
-
|
|
27977
|
-
|
|
27978
|
-
|
|
27979
|
-
|
|
27980
|
-
|
|
27981
|
-
|
|
27982
|
-
|
|
27983
|
-
|
|
27984
|
-
|
|
27985
|
-
|
|
27986
|
-
|
|
27987
|
-
|
|
27988
|
-
|
|
27989
|
-
|
|
27990
|
-
|
|
27991
|
-
|
|
28083
|
+
filter.options?.map((option) => /* @__PURE__ */ jsx(
|
|
28084
|
+
"button",
|
|
28085
|
+
{
|
|
28086
|
+
type: "button",
|
|
28087
|
+
onClick: () => handleFilterSelect(filter.field, option),
|
|
28088
|
+
className: cn(
|
|
28089
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
28090
|
+
"border-l-[length:var(--border-width)] border-border",
|
|
28091
|
+
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
28092
|
+
),
|
|
28093
|
+
children: option
|
|
28094
|
+
},
|
|
28095
|
+
option
|
|
28096
|
+
))
|
|
28097
|
+
]
|
|
28098
|
+
}
|
|
28099
|
+
)
|
|
28100
|
+
] }, filter.field)),
|
|
28101
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsx(
|
|
28102
|
+
Button,
|
|
28103
|
+
{
|
|
28104
|
+
variant: "ghost",
|
|
28105
|
+
size: "sm",
|
|
28106
|
+
onClick: handleClearAll,
|
|
28107
|
+
leftIcon: /* @__PURE__ */ jsx(Icon, { name: "x", className: "h-3.5 w-3.5" }),
|
|
28108
|
+
children: "Clear"
|
|
28109
|
+
}
|
|
28110
|
+
)
|
|
28111
|
+
]
|
|
28112
|
+
}
|
|
28113
|
+
);
|
|
27992
28114
|
}
|
|
27993
28115
|
if (variant === "vertical") {
|
|
27994
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-4", className), children: [
|
|
28116
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-4", lookStyles5[look], className), children: [
|
|
27995
28117
|
showIcon && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [
|
|
27996
28118
|
/* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4" }),
|
|
27997
28119
|
/* @__PURE__ */ jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: "Filters" })
|
|
@@ -28074,92 +28196,100 @@ var init_FilterGroup = __esm({
|
|
|
28074
28196
|
] });
|
|
28075
28197
|
}
|
|
28076
28198
|
if (variant === "compact") {
|
|
28077
|
-
return /* @__PURE__ */ jsxs(
|
|
28078
|
-
|
|
28079
|
-
|
|
28080
|
-
|
|
28081
|
-
|
|
28082
|
-
|
|
28083
|
-
|
|
28084
|
-
|
|
28085
|
-
|
|
28086
|
-
|
|
28087
|
-
|
|
28088
|
-
|
|
28089
|
-
|
|
28090
|
-
|
|
28091
|
-
|
|
28092
|
-
|
|
28093
|
-
|
|
28094
|
-
|
|
28095
|
-
|
|
28096
|
-
|
|
28097
|
-
|
|
28098
|
-
|
|
28099
|
-
|
|
28100
|
-
|
|
28101
|
-
|
|
28102
|
-
|
|
28103
|
-
|
|
28104
|
-
|
|
28105
|
-
|
|
28106
|
-
|
|
28107
|
-
value: selectedValues[`${filter.field}_to`] || "",
|
|
28108
|
-
onChange: (e) => handleFilterSelect(
|
|
28109
|
-
`${filter.field}_to`,
|
|
28110
|
-
e.target.value || null
|
|
28199
|
+
return /* @__PURE__ */ jsxs(
|
|
28200
|
+
HStack,
|
|
28201
|
+
{
|
|
28202
|
+
gap: "sm",
|
|
28203
|
+
align: "center",
|
|
28204
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
28205
|
+
children: [
|
|
28206
|
+
showIcon && /* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
28207
|
+
filters.map((filter) => /* @__PURE__ */ jsx("div", { className: "min-w-[120px]", children: resolveFilterType(filter) === "date" ? /* @__PURE__ */ jsx(
|
|
28208
|
+
Input,
|
|
28209
|
+
{
|
|
28210
|
+
type: "date",
|
|
28211
|
+
value: selectedValues[filter.field] || "",
|
|
28212
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
28213
|
+
clearable: true,
|
|
28214
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
28215
|
+
className: "text-sm"
|
|
28216
|
+
}
|
|
28217
|
+
) : resolveFilterType(filter) === "daterange" || resolveFilterType(filter) === "date-range" ? /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
28218
|
+
/* @__PURE__ */ jsx(
|
|
28219
|
+
Input,
|
|
28220
|
+
{
|
|
28221
|
+
type: "date",
|
|
28222
|
+
value: selectedValues[`${filter.field}_from`] || "",
|
|
28223
|
+
onChange: (e) => handleFilterSelect(
|
|
28224
|
+
`${filter.field}_from`,
|
|
28225
|
+
e.target.value || null
|
|
28226
|
+
),
|
|
28227
|
+
className: "text-sm min-w-[100px]"
|
|
28228
|
+
}
|
|
28111
28229
|
),
|
|
28112
|
-
className: "text-
|
|
28113
|
-
|
|
28114
|
-
|
|
28115
|
-
|
|
28116
|
-
|
|
28117
|
-
|
|
28118
|
-
|
|
28119
|
-
|
|
28120
|
-
|
|
28121
|
-
|
|
28122
|
-
|
|
28123
|
-
|
|
28124
|
-
|
|
28125
|
-
|
|
28126
|
-
|
|
28127
|
-
{
|
|
28128
|
-
value: selectedValues[filter.field] || "all",
|
|
28129
|
-
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
28130
|
-
options: [
|
|
28131
|
-
{ value: "all", label: `All ${filter.label}` },
|
|
28132
|
-
...filter.options?.map((opt) => ({
|
|
28133
|
-
value: opt,
|
|
28134
|
-
label: opt
|
|
28135
|
-
})) || []
|
|
28136
|
-
],
|
|
28137
|
-
className: "text-sm"
|
|
28138
|
-
}
|
|
28139
|
-
) }, filter.field)),
|
|
28140
|
-
activeFilterCount > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
28141
|
-
Object.entries(selectedValues).map(([field, value]) => {
|
|
28142
|
-
const filterDef = filters.find((f3) => f3.field === field);
|
|
28143
|
-
return /* @__PURE__ */ jsxs(
|
|
28144
|
-
Badge,
|
|
28230
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
28231
|
+
/* @__PURE__ */ jsx(
|
|
28232
|
+
Input,
|
|
28233
|
+
{
|
|
28234
|
+
type: "date",
|
|
28235
|
+
value: selectedValues[`${filter.field}_to`] || "",
|
|
28236
|
+
onChange: (e) => handleFilterSelect(
|
|
28237
|
+
`${filter.field}_to`,
|
|
28238
|
+
e.target.value || null
|
|
28239
|
+
),
|
|
28240
|
+
className: "text-sm min-w-[100px]"
|
|
28241
|
+
}
|
|
28242
|
+
)
|
|
28243
|
+
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsx(
|
|
28244
|
+
Input,
|
|
28145
28245
|
{
|
|
28146
|
-
|
|
28147
|
-
|
|
28148
|
-
|
|
28149
|
-
|
|
28150
|
-
|
|
28151
|
-
|
|
28152
|
-
|
|
28153
|
-
|
|
28154
|
-
|
|
28155
|
-
|
|
28156
|
-
|
|
28157
|
-
|
|
28158
|
-
|
|
28159
|
-
|
|
28160
|
-
|
|
28161
|
-
|
|
28162
|
-
|
|
28246
|
+
value: selectedValues[filter.field] || "",
|
|
28247
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
28248
|
+
placeholder: filter.label,
|
|
28249
|
+
clearable: true,
|
|
28250
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
28251
|
+
className: "text-sm"
|
|
28252
|
+
}
|
|
28253
|
+
) : /* @__PURE__ */ jsx(
|
|
28254
|
+
Select,
|
|
28255
|
+
{
|
|
28256
|
+
value: selectedValues[filter.field] || "all",
|
|
28257
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
28258
|
+
options: [
|
|
28259
|
+
{ value: "all", label: `All ${filter.label}` },
|
|
28260
|
+
...filter.options?.map((opt) => ({
|
|
28261
|
+
value: opt,
|
|
28262
|
+
label: opt
|
|
28263
|
+
})) || []
|
|
28264
|
+
],
|
|
28265
|
+
className: "text-sm"
|
|
28266
|
+
}
|
|
28267
|
+
) }, filter.field)),
|
|
28268
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
28269
|
+
Object.entries(selectedValues).map(([field, value]) => {
|
|
28270
|
+
const filterDef = filters.find((f3) => f3.field === field);
|
|
28271
|
+
return /* @__PURE__ */ jsxs(
|
|
28272
|
+
Badge,
|
|
28273
|
+
{
|
|
28274
|
+
variant: "primary",
|
|
28275
|
+
size: "md",
|
|
28276
|
+
className: "cursor-pointer",
|
|
28277
|
+
onClick: () => handleFilterSelect(field, null),
|
|
28278
|
+
children: [
|
|
28279
|
+
filterDef?.label,
|
|
28280
|
+
": ",
|
|
28281
|
+
value,
|
|
28282
|
+
/* @__PURE__ */ jsx(Icon, { name: "x", className: "ml-1 h-3 w-3" })
|
|
28283
|
+
]
|
|
28284
|
+
},
|
|
28285
|
+
field
|
|
28286
|
+
);
|
|
28287
|
+
}),
|
|
28288
|
+
/* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", onClick: handleClearAll, children: "Clear all" })
|
|
28289
|
+
] })
|
|
28290
|
+
]
|
|
28291
|
+
}
|
|
28292
|
+
);
|
|
28163
28293
|
}
|
|
28164
28294
|
return /* @__PURE__ */ jsx(
|
|
28165
28295
|
"div",
|
|
@@ -28168,6 +28298,7 @@ var init_FilterGroup = __esm({
|
|
|
28168
28298
|
"p-4 rounded-container",
|
|
28169
28299
|
"bg-card",
|
|
28170
28300
|
"border-[length:var(--border-width)] border-border",
|
|
28301
|
+
lookStyles5[look],
|
|
28171
28302
|
className
|
|
28172
28303
|
),
|
|
28173
28304
|
children: /* @__PURE__ */ jsxs(HStack, { gap: "md", align: "center", className: "flex-wrap", children: [
|
|
@@ -32641,7 +32772,7 @@ function composeDisplayValue(value, format, max, prefix, suffix) {
|
|
|
32641
32772
|
const withMax = max != null && max > 0 ? `${formatted} / ${max}` : formatted;
|
|
32642
32773
|
return `${prefix ?? ""}${withMax}${suffix ?? ""}`;
|
|
32643
32774
|
}
|
|
32644
|
-
var variantColor, StatDisplay;
|
|
32775
|
+
var lookStyles6, variantColor, StatDisplay;
|
|
32645
32776
|
var init_StatDisplay = __esm({
|
|
32646
32777
|
"components/molecules/StatDisplay.tsx"() {
|
|
32647
32778
|
"use client";
|
|
@@ -32653,6 +32784,13 @@ var init_StatDisplay = __esm({
|
|
|
32653
32784
|
init_Sparkline();
|
|
32654
32785
|
init_Icon();
|
|
32655
32786
|
init_useEventBus();
|
|
32787
|
+
lookStyles6 = {
|
|
32788
|
+
elevated: "",
|
|
32789
|
+
flat: "shadow-none border-[length:var(--border-width)] border-border",
|
|
32790
|
+
"progress-backed": "",
|
|
32791
|
+
gauge: "",
|
|
32792
|
+
sparkline: ""
|
|
32793
|
+
};
|
|
32656
32794
|
variantColor = {
|
|
32657
32795
|
default: "text-foreground",
|
|
32658
32796
|
primary: "text-primary",
|
|
@@ -32680,6 +32818,7 @@ var init_StatDisplay = __esm({
|
|
|
32680
32818
|
size = "md",
|
|
32681
32819
|
variant = "default",
|
|
32682
32820
|
compact = false,
|
|
32821
|
+
look = "elevated",
|
|
32683
32822
|
className,
|
|
32684
32823
|
isLoading = false,
|
|
32685
32824
|
error = null
|
|
@@ -32732,7 +32871,7 @@ var init_StatDisplay = __esm({
|
|
|
32732
32871
|
return /* @__PURE__ */ jsx(
|
|
32733
32872
|
Card,
|
|
32734
32873
|
{
|
|
32735
|
-
className: cn(padSizes[size], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
32874
|
+
className: cn(padSizes[size], lookStyles6[look], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
32736
32875
|
onClick: clickEvent ? handleClick : void 0,
|
|
32737
32876
|
children: /* @__PURE__ */ jsxs(HStack, { align: "start", justify: "between", children: [
|
|
32738
32877
|
/* @__PURE__ */ jsxs(VStack, { gap: "none", className: "space-y-1 flex-1", children: [
|
|
@@ -37911,7 +38050,8 @@ function DataTable({
|
|
|
37911
38050
|
bulkActions,
|
|
37912
38051
|
headerActions,
|
|
37913
38052
|
showTotal = true,
|
|
37914
|
-
className
|
|
38053
|
+
className,
|
|
38054
|
+
look = "dense"
|
|
37915
38055
|
}) {
|
|
37916
38056
|
const [openActionMenu, setOpenActionMenu] = useState(
|
|
37917
38057
|
null
|
|
@@ -38038,6 +38178,7 @@ function DataTable({
|
|
|
38038
38178
|
{
|
|
38039
38179
|
className: cn(
|
|
38040
38180
|
"bg-card border-2 border-border rounded-none overflow-hidden",
|
|
38181
|
+
lookStyles7[look],
|
|
38041
38182
|
className
|
|
38042
38183
|
),
|
|
38043
38184
|
children: [
|
|
@@ -38264,6 +38405,7 @@ function DataTable({
|
|
|
38264
38405
|
}
|
|
38265
38406
|
);
|
|
38266
38407
|
}
|
|
38408
|
+
var lookStyles7;
|
|
38267
38409
|
var init_DataTable = __esm({
|
|
38268
38410
|
"components/organisms/DataTable.tsx"() {
|
|
38269
38411
|
"use client";
|
|
@@ -38277,6 +38419,13 @@ var init_DataTable = __esm({
|
|
|
38277
38419
|
init_useEventBus();
|
|
38278
38420
|
init_useTranslate();
|
|
38279
38421
|
init_types3();
|
|
38422
|
+
lookStyles7 = {
|
|
38423
|
+
dense: "",
|
|
38424
|
+
spacious: "[&_tbody_tr_td]:py-5 [&_thead_tr_th]:py-4",
|
|
38425
|
+
striped: "[&_tbody_tr:nth-child(odd)]:bg-muted/30",
|
|
38426
|
+
borderless: "border-0 [&_thead]:border-b-0 [&_tbody_tr]:border-b-0 [&_tbody]:divide-y-0",
|
|
38427
|
+
"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"
|
|
38428
|
+
};
|
|
38280
38429
|
DataTable.displayName = "DataTable";
|
|
38281
38430
|
}
|
|
38282
38431
|
});
|
|
@@ -41435,7 +41584,7 @@ var init_GraphCanvas = __esm({
|
|
|
41435
41584
|
GraphCanvas.displayName = "GraphCanvas";
|
|
41436
41585
|
}
|
|
41437
41586
|
});
|
|
41438
|
-
var Header;
|
|
41587
|
+
var lookStyles8, Header;
|
|
41439
41588
|
var init_Header = __esm({
|
|
41440
41589
|
"components/organisms/Header.tsx"() {
|
|
41441
41590
|
"use client";
|
|
@@ -41448,6 +41597,13 @@ var init_Header = __esm({
|
|
|
41448
41597
|
init_Typography();
|
|
41449
41598
|
init_cn();
|
|
41450
41599
|
init_useTranslate();
|
|
41600
|
+
lookStyles8 = {
|
|
41601
|
+
"compact-bar": "",
|
|
41602
|
+
hero: "py-section min-h-[200px] [&_h1]:text-display-1",
|
|
41603
|
+
breadcrumb: "py-2 text-sm [&_h1]:text-base [&_h1]:font-medium",
|
|
41604
|
+
contextual: "py-3 [&_h1]:text-lg",
|
|
41605
|
+
"editorial-banner": "py-12 [&_h1]:text-display-2 [&_h1]:font-display-bold border-b border-border"
|
|
41606
|
+
};
|
|
41451
41607
|
Header = ({
|
|
41452
41608
|
logo,
|
|
41453
41609
|
logoSrc,
|
|
@@ -41465,6 +41621,7 @@ var init_Header = __esm({
|
|
|
41465
41621
|
actions,
|
|
41466
41622
|
sticky = true,
|
|
41467
41623
|
variant = "mobile",
|
|
41624
|
+
look = "compact-bar",
|
|
41468
41625
|
onLogoClick,
|
|
41469
41626
|
className
|
|
41470
41627
|
}) => {
|
|
@@ -41480,6 +41637,7 @@ var init_Header = __esm({
|
|
|
41480
41637
|
"flex items-center px-4 justify-between bg-card",
|
|
41481
41638
|
sticky && "sticky top-0 z-50",
|
|
41482
41639
|
variant === "mobile" && "lg:hidden",
|
|
41640
|
+
lookStyles8[look],
|
|
41483
41641
|
className
|
|
41484
41642
|
),
|
|
41485
41643
|
children: [
|
|
@@ -48175,7 +48333,7 @@ var init_TeamOrganism = __esm({
|
|
|
48175
48333
|
TeamOrganism.displayName = "TeamOrganism";
|
|
48176
48334
|
}
|
|
48177
48335
|
});
|
|
48178
|
-
var STATUS_STYLES3, Timeline;
|
|
48336
|
+
var lookStyles9, STATUS_STYLES3, Timeline;
|
|
48179
48337
|
var init_Timeline = __esm({
|
|
48180
48338
|
"components/organisms/Timeline.tsx"() {
|
|
48181
48339
|
"use client";
|
|
@@ -48186,6 +48344,12 @@ var init_Timeline = __esm({
|
|
|
48186
48344
|
init_ErrorState();
|
|
48187
48345
|
init_EmptyState();
|
|
48188
48346
|
init_useTranslate();
|
|
48347
|
+
lookStyles9 = {
|
|
48348
|
+
"vertical-compact": "gap-1 [&>*]:py-1",
|
|
48349
|
+
"vertical-spacious": "",
|
|
48350
|
+
horizontal: "flex-row [&>*]:flex-row [&>*]:items-center",
|
|
48351
|
+
swimlane: "flex-row gap-6 [&>*]:flex-row [&>*]:items-center"
|
|
48352
|
+
};
|
|
48189
48353
|
STATUS_STYLES3 = {
|
|
48190
48354
|
complete: {
|
|
48191
48355
|
dotColor: "text-success",
|
|
@@ -48216,7 +48380,8 @@ var init_Timeline = __esm({
|
|
|
48216
48380
|
entity,
|
|
48217
48381
|
isLoading = false,
|
|
48218
48382
|
error,
|
|
48219
|
-
className
|
|
48383
|
+
className,
|
|
48384
|
+
look = "vertical-spacious"
|
|
48220
48385
|
}) => {
|
|
48221
48386
|
const { t } = useTranslate();
|
|
48222
48387
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
@@ -48272,7 +48437,7 @@ var init_Timeline = __esm({
|
|
|
48272
48437
|
}
|
|
48273
48438
|
return /* @__PURE__ */ jsx(Card, { className: cn("p-6", className), children: /* @__PURE__ */ jsxs(VStack, { gap: "md", children: [
|
|
48274
48439
|
title && /* @__PURE__ */ jsx(Typography, { variant: "h5", weight: "semibold", children: title }),
|
|
48275
|
-
/* @__PURE__ */ jsx(VStack, { gap: "none", className: "relative", children: items.map((item, idx) => {
|
|
48440
|
+
/* @__PURE__ */ jsx(VStack, { gap: "none", className: cn("relative", lookStyles9[look]), children: items.map((item, idx) => {
|
|
48276
48441
|
const status = item.status || "pending";
|
|
48277
48442
|
const style = STATUS_STYLES3[status] || STATUS_STYLES3.pending;
|
|
48278
48443
|
const ItemIcon = item.icon || style.icon;
|