@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/providers/index.cjs
CHANGED
|
@@ -1955,7 +1955,7 @@ var init_Overlay = __esm({
|
|
|
1955
1955
|
};
|
|
1956
1956
|
}
|
|
1957
1957
|
});
|
|
1958
|
-
var sizeClasses2, minWidthClasses, Modal;
|
|
1958
|
+
var sizeClasses2, minWidthClasses, lookStyles, Modal;
|
|
1959
1959
|
var init_Modal = __esm({
|
|
1960
1960
|
"components/molecules/Modal.tsx"() {
|
|
1961
1961
|
"use client";
|
|
@@ -1980,6 +1980,12 @@ var init_Modal = __esm({
|
|
|
1980
1980
|
xl: "min-w-[700px] max-sm:min-w-0",
|
|
1981
1981
|
full: "min-w-0"
|
|
1982
1982
|
};
|
|
1983
|
+
lookStyles = {
|
|
1984
|
+
"centered-card": "",
|
|
1985
|
+
"top-sheet": "top-0 rounded-t-none rounded-b-container max-w-full w-full",
|
|
1986
|
+
"side-drawer": "right-0 top-0 bottom-0 h-full rounded-l-container rounded-r-none w-[400px] max-w-full",
|
|
1987
|
+
"full-screen": "inset-0 rounded-none w-full h-full max-w-full"
|
|
1988
|
+
};
|
|
1983
1989
|
Modal = ({
|
|
1984
1990
|
isOpen = true,
|
|
1985
1991
|
onClose = () => {
|
|
@@ -1993,7 +1999,8 @@ var init_Modal = __esm({
|
|
|
1993
1999
|
closeOnEscape = true,
|
|
1994
2000
|
className,
|
|
1995
2001
|
closeEvent,
|
|
1996
|
-
swipeDownToClose = true
|
|
2002
|
+
swipeDownToClose = true,
|
|
2003
|
+
look = "centered-card"
|
|
1997
2004
|
}) => {
|
|
1998
2005
|
const eventBus = useEventBus();
|
|
1999
2006
|
const modalRef = React86.useRef(null);
|
|
@@ -2078,6 +2085,7 @@ var init_Modal = __esm({
|
|
|
2078
2085
|
// Mobile: take the entire screen. Override desktop max-w cap,
|
|
2079
2086
|
// full height, no rounded corners, no min-width.
|
|
2080
2087
|
"max-sm:max-w-none max-sm:max-h-none max-sm:w-full max-sm:h-full max-sm:rounded-none",
|
|
2088
|
+
lookStyles[look],
|
|
2081
2089
|
className
|
|
2082
2090
|
),
|
|
2083
2091
|
style: dragY > 0 ? {
|
|
@@ -3652,7 +3660,7 @@ var init_Checkbox = __esm({
|
|
|
3652
3660
|
Checkbox.displayName = "Checkbox";
|
|
3653
3661
|
}
|
|
3654
3662
|
});
|
|
3655
|
-
var variantStyles4, paddingStyles2, shadowStyles2,
|
|
3663
|
+
var variantStyles4, paddingStyles2, shadowStyles2, lookStyles2, Card, CardHeader, CardTitle, CardContent, CardBody, CardFooter;
|
|
3656
3664
|
var init_Card = __esm({
|
|
3657
3665
|
"components/atoms/Card.tsx"() {
|
|
3658
3666
|
init_cn();
|
|
@@ -3700,7 +3708,7 @@ var init_Card = __esm({
|
|
|
3700
3708
|
md: "shadow",
|
|
3701
3709
|
lg: "shadow-elevation-dialog"
|
|
3702
3710
|
};
|
|
3703
|
-
|
|
3711
|
+
lookStyles2 = {
|
|
3704
3712
|
elevated: "",
|
|
3705
3713
|
"flat-bordered": "shadow-none border-[length:var(--border-width)] border-border",
|
|
3706
3714
|
"borderless-divider": "shadow-none border-0 border-b border-border rounded-none",
|
|
@@ -3730,7 +3738,7 @@ var init_Card = __esm({
|
|
|
3730
3738
|
"transition-all duration-[var(--transition-normal)]",
|
|
3731
3739
|
variantStyles4[variant],
|
|
3732
3740
|
paddingStyles2[padding],
|
|
3733
|
-
|
|
3741
|
+
lookStyles2[look],
|
|
3734
3742
|
shadow && shadowStyles2[shadow],
|
|
3735
3743
|
className
|
|
3736
3744
|
),
|
|
@@ -16343,7 +16351,7 @@ var init_BookTableOfContents = __esm({
|
|
|
16343
16351
|
BookTableOfContents.displayName = "BookTableOfContents";
|
|
16344
16352
|
}
|
|
16345
16353
|
});
|
|
16346
|
-
var ICON_NAME_ALIASES, EmptyState;
|
|
16354
|
+
var ICON_NAME_ALIASES, lookStyles3, EmptyState;
|
|
16347
16355
|
var init_EmptyState = __esm({
|
|
16348
16356
|
"components/molecules/EmptyState.tsx"() {
|
|
16349
16357
|
"use client";
|
|
@@ -16360,6 +16368,12 @@ var init_EmptyState = __esm({
|
|
|
16360
16368
|
error: "x-circle",
|
|
16361
16369
|
warning: "alert-circle"
|
|
16362
16370
|
};
|
|
16371
|
+
lookStyles3 = {
|
|
16372
|
+
"icon-only": "",
|
|
16373
|
+
illustrated: "[&_svg]:w-32 [&_svg]:h-32",
|
|
16374
|
+
"text-only": "[&_svg]:hidden",
|
|
16375
|
+
mascot: "[&_svg]:w-24 [&_svg]:h-24 [&_svg]:rounded-pill"
|
|
16376
|
+
};
|
|
16363
16377
|
EmptyState = ({
|
|
16364
16378
|
icon,
|
|
16365
16379
|
title,
|
|
@@ -16370,7 +16384,8 @@ var init_EmptyState = __esm({
|
|
|
16370
16384
|
className,
|
|
16371
16385
|
destructive,
|
|
16372
16386
|
variant,
|
|
16373
|
-
actionEvent
|
|
16387
|
+
actionEvent,
|
|
16388
|
+
look = "icon-only"
|
|
16374
16389
|
}) => {
|
|
16375
16390
|
const eventBus = useEventBus();
|
|
16376
16391
|
const { t } = useTranslate();
|
|
@@ -16390,6 +16405,7 @@ var init_EmptyState = __esm({
|
|
|
16390
16405
|
align: "center",
|
|
16391
16406
|
className: cn(
|
|
16392
16407
|
"justify-center py-12 text-center",
|
|
16408
|
+
lookStyles3[look],
|
|
16393
16409
|
className
|
|
16394
16410
|
),
|
|
16395
16411
|
children: [
|
|
@@ -17630,7 +17646,7 @@ function useSafeEventBus2() {
|
|
|
17630
17646
|
} };
|
|
17631
17647
|
}
|
|
17632
17648
|
}
|
|
17633
|
-
var log9, ButtonGroup;
|
|
17649
|
+
var log9, lookStyles4, ButtonGroup;
|
|
17634
17650
|
var init_ButtonGroup = __esm({
|
|
17635
17651
|
"components/molecules/ButtonGroup.tsx"() {
|
|
17636
17652
|
"use client";
|
|
@@ -17638,6 +17654,13 @@ var init_ButtonGroup = __esm({
|
|
|
17638
17654
|
init_atoms();
|
|
17639
17655
|
init_useEventBus();
|
|
17640
17656
|
log9 = logger.createLogger("almadar:ui:button-group");
|
|
17657
|
+
lookStyles4 = {
|
|
17658
|
+
"right-aligned-buttons": "",
|
|
17659
|
+
"floating-bar": "fixed bottom-section left-1/2 -translate-x-1/2 shadow-elevation-toast bg-card p-card-sm rounded-container",
|
|
17660
|
+
"inline-row": "gap-2 inline-flex",
|
|
17661
|
+
"dropdown-menu": "[&>button:not(:first-child)]:hidden",
|
|
17662
|
+
"command-palette-trigger": "[&>button:not(:first-child)]:hidden"
|
|
17663
|
+
};
|
|
17641
17664
|
ButtonGroup = ({
|
|
17642
17665
|
children,
|
|
17643
17666
|
primary,
|
|
@@ -17647,7 +17670,8 @@ var init_ButtonGroup = __esm({
|
|
|
17647
17670
|
className,
|
|
17648
17671
|
// Filter-group pattern props (entity and filters are used for schema-driven filtering)
|
|
17649
17672
|
entity: _entity,
|
|
17650
|
-
filters
|
|
17673
|
+
filters,
|
|
17674
|
+
look = "right-aligned-buttons"
|
|
17651
17675
|
}) => {
|
|
17652
17676
|
const eventBus = useSafeEventBus2();
|
|
17653
17677
|
const variantClasses2 = {
|
|
@@ -17724,6 +17748,7 @@ var init_ButtonGroup = __esm({
|
|
|
17724
17748
|
"inline-flex gap-2",
|
|
17725
17749
|
variantClasses2[variant],
|
|
17726
17750
|
orientationClasses[orientation],
|
|
17751
|
+
lookStyles4[look],
|
|
17727
17752
|
className
|
|
17728
17753
|
),
|
|
17729
17754
|
role: "group",
|
|
@@ -20255,7 +20280,7 @@ var init_CastleTemplate = __esm({
|
|
|
20255
20280
|
CastleTemplate.displayName = "CastleTemplate";
|
|
20256
20281
|
}
|
|
20257
20282
|
});
|
|
20258
|
-
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, Chart;
|
|
20283
|
+
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, LOOK_FROM_CHART_TYPE, Chart;
|
|
20259
20284
|
var init_Chart = __esm({
|
|
20260
20285
|
"components/organisms/Chart.tsx"() {
|
|
20261
20286
|
"use client";
|
|
@@ -20285,7 +20310,7 @@ var init_Chart = __esm({
|
|
|
20285
20310
|
if (Number.isNaN(parsed.getTime())) return raw;
|
|
20286
20311
|
return monthFormatter.format(parsed);
|
|
20287
20312
|
};
|
|
20288
|
-
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, onPointClick }) => {
|
|
20313
|
+
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, horizontal = false, onPointClick }) => {
|
|
20289
20314
|
const categories = React86.useMemo(() => {
|
|
20290
20315
|
const set = [];
|
|
20291
20316
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -20323,6 +20348,64 @@ var init_Chart = __esm({
|
|
|
20323
20348
|
}
|
|
20324
20349
|
return m;
|
|
20325
20350
|
}, [series, stack, columnTotals]);
|
|
20351
|
+
if (horizontal) {
|
|
20352
|
+
return /* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "xs", align: "stretch", className: "w-full", style: { minHeight: height }, children: categories.map((label, catIdx) => {
|
|
20353
|
+
const displayLabel = timeAxis ? formatTimeLabel(label) : label;
|
|
20354
|
+
const total = columnTotals?.[catIdx] ?? 1;
|
|
20355
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", align: "center", className: "w-full", children: [
|
|
20356
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
20357
|
+
Typography,
|
|
20358
|
+
{
|
|
20359
|
+
variant: "caption",
|
|
20360
|
+
color: "secondary",
|
|
20361
|
+
className: "truncate text-right",
|
|
20362
|
+
style: { width: 80, flexShrink: 0 },
|
|
20363
|
+
children: displayLabel
|
|
20364
|
+
}
|
|
20365
|
+
),
|
|
20366
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
20367
|
+
HStack,
|
|
20368
|
+
{
|
|
20369
|
+
gap: stack === "none" ? "xs" : "none",
|
|
20370
|
+
align: "center",
|
|
20371
|
+
className: "flex-1 min-w-0",
|
|
20372
|
+
style: { height: 24 },
|
|
20373
|
+
children: series.map((s, sIdx) => {
|
|
20374
|
+
const value = valueAt(s, label);
|
|
20375
|
+
const ratio = stack === "normalize" ? total === 0 ? 0 : value / total * 100 : value / maxValue * 100;
|
|
20376
|
+
const color = seriesColor(s, sIdx);
|
|
20377
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20378
|
+
Box,
|
|
20379
|
+
{
|
|
20380
|
+
className: "h-full rounded-r-sm transition-all duration-500 ease-out min-w-[2px] cursor-pointer hover:opacity-80",
|
|
20381
|
+
style: {
|
|
20382
|
+
width: `${ratio}%`,
|
|
20383
|
+
backgroundColor: color
|
|
20384
|
+
},
|
|
20385
|
+
onClick: () => onPointClick?.(
|
|
20386
|
+
{ label, value, color },
|
|
20387
|
+
s.name
|
|
20388
|
+
),
|
|
20389
|
+
title: `${s.name}: ${value}`
|
|
20390
|
+
},
|
|
20391
|
+
s.name
|
|
20392
|
+
);
|
|
20393
|
+
})
|
|
20394
|
+
}
|
|
20395
|
+
),
|
|
20396
|
+
showValues && series.length === 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20397
|
+
Typography,
|
|
20398
|
+
{
|
|
20399
|
+
variant: "caption",
|
|
20400
|
+
color: "secondary",
|
|
20401
|
+
className: "tabular-nums",
|
|
20402
|
+
style: { width: 40, flexShrink: 0 },
|
|
20403
|
+
children: valueAt(series[0], label)
|
|
20404
|
+
}
|
|
20405
|
+
)
|
|
20406
|
+
] }, label);
|
|
20407
|
+
}) });
|
|
20408
|
+
}
|
|
20326
20409
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20327
20410
|
HStack,
|
|
20328
20411
|
{
|
|
@@ -20750,10 +20833,20 @@ var init_Chart = __esm({
|
|
|
20750
20833
|
}
|
|
20751
20834
|
);
|
|
20752
20835
|
};
|
|
20836
|
+
LOOK_FROM_CHART_TYPE = {
|
|
20837
|
+
bar: "bar-vertical",
|
|
20838
|
+
line: "line",
|
|
20839
|
+
pie: "pie",
|
|
20840
|
+
area: "area",
|
|
20841
|
+
donut: "donut",
|
|
20842
|
+
scatter: "scatter",
|
|
20843
|
+
histogram: "histogram"
|
|
20844
|
+
};
|
|
20753
20845
|
Chart = ({
|
|
20754
20846
|
title,
|
|
20755
20847
|
subtitle,
|
|
20756
|
-
chartType
|
|
20848
|
+
chartType,
|
|
20849
|
+
look,
|
|
20757
20850
|
series,
|
|
20758
20851
|
data: simpleData,
|
|
20759
20852
|
scatterData,
|
|
@@ -20769,6 +20862,7 @@ var init_Chart = __esm({
|
|
|
20769
20862
|
error,
|
|
20770
20863
|
className
|
|
20771
20864
|
}) => {
|
|
20865
|
+
const resolvedLook = look ?? (chartType ? LOOK_FROM_CHART_TYPE[chartType] : "bar-vertical");
|
|
20772
20866
|
const eventBus = useEventBus();
|
|
20773
20867
|
const { t } = useTranslate();
|
|
20774
20868
|
const handleAction = React86.useCallback(
|
|
@@ -20797,7 +20891,7 @@ var init_Chart = __esm({
|
|
|
20797
20891
|
return [];
|
|
20798
20892
|
}, [simpleData, series]);
|
|
20799
20893
|
const firstSeriesData = normalizedSeries[0]?.data ?? [];
|
|
20800
|
-
const hasContent =
|
|
20894
|
+
const hasContent = resolvedLook === "scatter" ? (scatterData?.length ?? 0) > 0 : normalizedSeries.some((s) => s.data.length > 0);
|
|
20801
20895
|
if (isLoading) {
|
|
20802
20896
|
return /* @__PURE__ */ jsxRuntime.jsx(LoadingState, { message: "Loading chart...", className });
|
|
20803
20897
|
}
|
|
@@ -20832,7 +20926,18 @@ var init_Chart = __esm({
|
|
|
20832
20926
|
)) })
|
|
20833
20927
|
] }),
|
|
20834
20928
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "w-full", children: [
|
|
20835
|
-
|
|
20929
|
+
resolvedLook === "bar-vertical" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20930
|
+
BarChart,
|
|
20931
|
+
{
|
|
20932
|
+
series: normalizedSeries,
|
|
20933
|
+
height,
|
|
20934
|
+
showValues,
|
|
20935
|
+
stack,
|
|
20936
|
+
timeAxis,
|
|
20937
|
+
onPointClick: handlePointClick
|
|
20938
|
+
}
|
|
20939
|
+
),
|
|
20940
|
+
resolvedLook === "bar-horizontal" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20836
20941
|
BarChart,
|
|
20837
20942
|
{
|
|
20838
20943
|
series: normalizedSeries,
|
|
@@ -20840,10 +20945,11 @@ var init_Chart = __esm({
|
|
|
20840
20945
|
showValues,
|
|
20841
20946
|
stack,
|
|
20842
20947
|
timeAxis,
|
|
20948
|
+
horizontal: true,
|
|
20843
20949
|
onPointClick: handlePointClick
|
|
20844
20950
|
}
|
|
20845
20951
|
),
|
|
20846
|
-
|
|
20952
|
+
resolvedLook === "histogram" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20847
20953
|
BarChart,
|
|
20848
20954
|
{
|
|
20849
20955
|
series: normalizedSeries,
|
|
@@ -20855,7 +20961,7 @@ var init_Chart = __esm({
|
|
|
20855
20961
|
onPointClick: handlePointClick
|
|
20856
20962
|
}
|
|
20857
20963
|
),
|
|
20858
|
-
|
|
20964
|
+
resolvedLook === "line" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20859
20965
|
LineChart,
|
|
20860
20966
|
{
|
|
20861
20967
|
series: normalizedSeries,
|
|
@@ -20865,7 +20971,7 @@ var init_Chart = __esm({
|
|
|
20865
20971
|
onPointClick: handlePointClick
|
|
20866
20972
|
}
|
|
20867
20973
|
),
|
|
20868
|
-
|
|
20974
|
+
resolvedLook === "area" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20869
20975
|
LineChart,
|
|
20870
20976
|
{
|
|
20871
20977
|
series: normalizedSeries,
|
|
@@ -20876,7 +20982,7 @@ var init_Chart = __esm({
|
|
|
20876
20982
|
onPointClick: handlePointClick
|
|
20877
20983
|
}
|
|
20878
20984
|
),
|
|
20879
|
-
|
|
20985
|
+
resolvedLook === "pie" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20880
20986
|
PieChart,
|
|
20881
20987
|
{
|
|
20882
20988
|
data: firstSeriesData,
|
|
@@ -20885,7 +20991,7 @@ var init_Chart = __esm({
|
|
|
20885
20991
|
onPointClick: handlePointClick
|
|
20886
20992
|
}
|
|
20887
20993
|
),
|
|
20888
|
-
|
|
20994
|
+
resolvedLook === "donut" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20889
20995
|
PieChart,
|
|
20890
20996
|
{
|
|
20891
20997
|
data: firstSeriesData,
|
|
@@ -20895,7 +21001,7 @@ var init_Chart = __esm({
|
|
|
20895
21001
|
onPointClick: handlePointClick
|
|
20896
21002
|
}
|
|
20897
21003
|
),
|
|
20898
|
-
|
|
21004
|
+
resolvedLook === "scatter" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20899
21005
|
ScatterChart,
|
|
20900
21006
|
{
|
|
20901
21007
|
data: scatterData ?? [],
|
|
@@ -24318,7 +24424,7 @@ var init_useQuerySingleton = __esm({
|
|
|
24318
24424
|
queryStores = /* @__PURE__ */ new Map();
|
|
24319
24425
|
}
|
|
24320
24426
|
});
|
|
24321
|
-
var resolveFilterType, FilterGroup;
|
|
24427
|
+
var resolveFilterType, lookStyles5, FilterGroup;
|
|
24322
24428
|
var init_FilterGroup = __esm({
|
|
24323
24429
|
"components/molecules/FilterGroup.tsx"() {
|
|
24324
24430
|
"use client";
|
|
@@ -24332,6 +24438,13 @@ var init_FilterGroup = __esm({
|
|
|
24332
24438
|
init_useEventBus();
|
|
24333
24439
|
init_useQuerySingleton();
|
|
24334
24440
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
24441
|
+
lookStyles5 = {
|
|
24442
|
+
toolbar: "",
|
|
24443
|
+
chips: "gap-2 [&>*]:rounded-pill [&>*]:px-3 [&>*]:py-1",
|
|
24444
|
+
pills: "gap-2 [&>*]:rounded-pill",
|
|
24445
|
+
"popover-trigger": "[&>*:not(:first-child)]:hidden",
|
|
24446
|
+
"inline-column-header": "hidden"
|
|
24447
|
+
};
|
|
24335
24448
|
FilterGroup = ({
|
|
24336
24449
|
entity,
|
|
24337
24450
|
filters,
|
|
@@ -24341,7 +24454,8 @@ var init_FilterGroup = __esm({
|
|
|
24341
24454
|
variant = "default",
|
|
24342
24455
|
showIcon = true,
|
|
24343
24456
|
query,
|
|
24344
|
-
isLoading
|
|
24457
|
+
isLoading,
|
|
24458
|
+
look = "toolbar"
|
|
24345
24459
|
}) => {
|
|
24346
24460
|
const eventBus = useEventBus();
|
|
24347
24461
|
const queryState = useQuerySingleton(query);
|
|
@@ -24396,63 +24510,71 @@ var init_FilterGroup = __esm({
|
|
|
24396
24510
|
}, [onClearAll, queryState, eventBus, entity, query]);
|
|
24397
24511
|
const activeFilterCount = Object.keys(selectedValues).length;
|
|
24398
24512
|
if (variant === "pills") {
|
|
24399
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24400
|
-
|
|
24401
|
-
|
|
24402
|
-
|
|
24403
|
-
|
|
24404
|
-
|
|
24405
|
-
|
|
24406
|
-
|
|
24407
|
-
HStack,
|
|
24408
|
-
|
|
24409
|
-
|
|
24410
|
-
|
|
24411
|
-
|
|
24412
|
-
|
|
24413
|
-
|
|
24414
|
-
|
|
24415
|
-
|
|
24416
|
-
|
|
24417
|
-
|
|
24418
|
-
|
|
24419
|
-
|
|
24420
|
-
|
|
24421
|
-
|
|
24422
|
-
|
|
24423
|
-
|
|
24424
|
-
|
|
24425
|
-
|
|
24426
|
-
|
|
24427
|
-
|
|
24428
|
-
|
|
24429
|
-
className: cn(
|
|
24430
|
-
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
24431
|
-
"border-l-[length:var(--border-width)] border-border",
|
|
24432
|
-
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
24513
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24514
|
+
HStack,
|
|
24515
|
+
{
|
|
24516
|
+
gap: "md",
|
|
24517
|
+
align: "center",
|
|
24518
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
24519
|
+
children: [
|
|
24520
|
+
showIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
24521
|
+
filters.map((filter) => /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
24522
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-medium text-muted-foreground", children: [
|
|
24523
|
+
filter.label,
|
|
24524
|
+
":"
|
|
24525
|
+
] }),
|
|
24526
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
24527
|
+
HStack,
|
|
24528
|
+
{
|
|
24529
|
+
gap: "none",
|
|
24530
|
+
className: "rounded-sm overflow-hidden border-[length:var(--border-width)] border-border",
|
|
24531
|
+
children: [
|
|
24532
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24533
|
+
"button",
|
|
24534
|
+
{
|
|
24535
|
+
type: "button",
|
|
24536
|
+
onClick: () => handleFilterSelect(filter.field, null),
|
|
24537
|
+
className: cn(
|
|
24538
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
24539
|
+
!selectedValues[filter.field] ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
24540
|
+
),
|
|
24541
|
+
children: "All"
|
|
24542
|
+
}
|
|
24433
24543
|
),
|
|
24434
|
-
|
|
24435
|
-
|
|
24436
|
-
|
|
24437
|
-
|
|
24438
|
-
|
|
24439
|
-
|
|
24440
|
-
|
|
24441
|
-
|
|
24442
|
-
|
|
24443
|
-
|
|
24444
|
-
|
|
24445
|
-
|
|
24446
|
-
|
|
24447
|
-
|
|
24448
|
-
|
|
24449
|
-
|
|
24450
|
-
|
|
24451
|
-
|
|
24452
|
-
|
|
24544
|
+
filter.options?.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
24545
|
+
"button",
|
|
24546
|
+
{
|
|
24547
|
+
type: "button",
|
|
24548
|
+
onClick: () => handleFilterSelect(filter.field, option),
|
|
24549
|
+
className: cn(
|
|
24550
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
24551
|
+
"border-l-[length:var(--border-width)] border-border",
|
|
24552
|
+
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
24553
|
+
),
|
|
24554
|
+
children: option
|
|
24555
|
+
},
|
|
24556
|
+
option
|
|
24557
|
+
))
|
|
24558
|
+
]
|
|
24559
|
+
}
|
|
24560
|
+
)
|
|
24561
|
+
] }, filter.field)),
|
|
24562
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24563
|
+
Button,
|
|
24564
|
+
{
|
|
24565
|
+
variant: "ghost",
|
|
24566
|
+
size: "sm",
|
|
24567
|
+
onClick: handleClearAll,
|
|
24568
|
+
leftIcon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "x", className: "h-3.5 w-3.5" }),
|
|
24569
|
+
children: "Clear"
|
|
24570
|
+
}
|
|
24571
|
+
)
|
|
24572
|
+
]
|
|
24573
|
+
}
|
|
24574
|
+
);
|
|
24453
24575
|
}
|
|
24454
24576
|
if (variant === "vertical") {
|
|
24455
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4", className), children: [
|
|
24577
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4", lookStyles5[look], className), children: [
|
|
24456
24578
|
showIcon && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [
|
|
24457
24579
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4" }),
|
|
24458
24580
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: "Filters" })
|
|
@@ -24535,92 +24657,100 @@ var init_FilterGroup = __esm({
|
|
|
24535
24657
|
] });
|
|
24536
24658
|
}
|
|
24537
24659
|
if (variant === "compact") {
|
|
24538
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24539
|
-
|
|
24540
|
-
|
|
24541
|
-
|
|
24542
|
-
|
|
24543
|
-
|
|
24544
|
-
|
|
24545
|
-
|
|
24546
|
-
|
|
24547
|
-
|
|
24548
|
-
|
|
24549
|
-
|
|
24550
|
-
|
|
24551
|
-
|
|
24552
|
-
|
|
24553
|
-
|
|
24554
|
-
|
|
24555
|
-
|
|
24556
|
-
|
|
24557
|
-
|
|
24558
|
-
|
|
24559
|
-
|
|
24560
|
-
|
|
24561
|
-
|
|
24562
|
-
|
|
24563
|
-
|
|
24564
|
-
|
|
24565
|
-
|
|
24566
|
-
|
|
24567
|
-
|
|
24568
|
-
value: selectedValues[`${filter.field}_to`] || "",
|
|
24569
|
-
onChange: (e) => handleFilterSelect(
|
|
24570
|
-
`${filter.field}_to`,
|
|
24571
|
-
e.target.value || null
|
|
24660
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24661
|
+
HStack,
|
|
24662
|
+
{
|
|
24663
|
+
gap: "sm",
|
|
24664
|
+
align: "center",
|
|
24665
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
24666
|
+
children: [
|
|
24667
|
+
showIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
24668
|
+
filters.map((filter) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-[120px]", children: resolveFilterType(filter) === "date" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
24669
|
+
Input,
|
|
24670
|
+
{
|
|
24671
|
+
type: "date",
|
|
24672
|
+
value: selectedValues[filter.field] || "",
|
|
24673
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
24674
|
+
clearable: true,
|
|
24675
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
24676
|
+
className: "text-sm"
|
|
24677
|
+
}
|
|
24678
|
+
) : resolveFilterType(filter) === "daterange" || resolveFilterType(filter) === "date-range" ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
24679
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24680
|
+
Input,
|
|
24681
|
+
{
|
|
24682
|
+
type: "date",
|
|
24683
|
+
value: selectedValues[`${filter.field}_from`] || "",
|
|
24684
|
+
onChange: (e) => handleFilterSelect(
|
|
24685
|
+
`${filter.field}_from`,
|
|
24686
|
+
e.target.value || null
|
|
24687
|
+
),
|
|
24688
|
+
className: "text-sm min-w-[100px]"
|
|
24689
|
+
}
|
|
24572
24690
|
),
|
|
24573
|
-
className: "text-
|
|
24574
|
-
|
|
24575
|
-
|
|
24576
|
-
|
|
24577
|
-
|
|
24578
|
-
|
|
24579
|
-
|
|
24580
|
-
|
|
24581
|
-
|
|
24582
|
-
|
|
24583
|
-
|
|
24584
|
-
|
|
24585
|
-
|
|
24586
|
-
|
|
24587
|
-
|
|
24588
|
-
{
|
|
24589
|
-
value: selectedValues[filter.field] || "all",
|
|
24590
|
-
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
24591
|
-
options: [
|
|
24592
|
-
{ value: "all", label: `All ${filter.label}` },
|
|
24593
|
-
...filter.options?.map((opt) => ({
|
|
24594
|
-
value: opt,
|
|
24595
|
-
label: opt
|
|
24596
|
-
})) || []
|
|
24597
|
-
],
|
|
24598
|
-
className: "text-sm"
|
|
24599
|
-
}
|
|
24600
|
-
) }, filter.field)),
|
|
24601
|
-
activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
24602
|
-
Object.entries(selectedValues).map(([field, value]) => {
|
|
24603
|
-
const filterDef = filters.find((f3) => f3.field === field);
|
|
24604
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24605
|
-
Badge,
|
|
24691
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
24692
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24693
|
+
Input,
|
|
24694
|
+
{
|
|
24695
|
+
type: "date",
|
|
24696
|
+
value: selectedValues[`${filter.field}_to`] || "",
|
|
24697
|
+
onChange: (e) => handleFilterSelect(
|
|
24698
|
+
`${filter.field}_to`,
|
|
24699
|
+
e.target.value || null
|
|
24700
|
+
),
|
|
24701
|
+
className: "text-sm min-w-[100px]"
|
|
24702
|
+
}
|
|
24703
|
+
)
|
|
24704
|
+
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
24705
|
+
Input,
|
|
24606
24706
|
{
|
|
24607
|
-
|
|
24608
|
-
|
|
24609
|
-
|
|
24610
|
-
|
|
24611
|
-
|
|
24612
|
-
|
|
24613
|
-
|
|
24614
|
-
|
|
24615
|
-
|
|
24616
|
-
|
|
24617
|
-
|
|
24618
|
-
|
|
24619
|
-
|
|
24620
|
-
|
|
24621
|
-
|
|
24622
|
-
|
|
24623
|
-
|
|
24707
|
+
value: selectedValues[filter.field] || "",
|
|
24708
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
24709
|
+
placeholder: filter.label,
|
|
24710
|
+
clearable: true,
|
|
24711
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
24712
|
+
className: "text-sm"
|
|
24713
|
+
}
|
|
24714
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
24715
|
+
Select,
|
|
24716
|
+
{
|
|
24717
|
+
value: selectedValues[filter.field] || "all",
|
|
24718
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
24719
|
+
options: [
|
|
24720
|
+
{ value: "all", label: `All ${filter.label}` },
|
|
24721
|
+
...filter.options?.map((opt) => ({
|
|
24722
|
+
value: opt,
|
|
24723
|
+
label: opt
|
|
24724
|
+
})) || []
|
|
24725
|
+
],
|
|
24726
|
+
className: "text-sm"
|
|
24727
|
+
}
|
|
24728
|
+
) }, filter.field)),
|
|
24729
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
24730
|
+
Object.entries(selectedValues).map(([field, value]) => {
|
|
24731
|
+
const filterDef = filters.find((f3) => f3.field === field);
|
|
24732
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24733
|
+
Badge,
|
|
24734
|
+
{
|
|
24735
|
+
variant: "primary",
|
|
24736
|
+
size: "md",
|
|
24737
|
+
className: "cursor-pointer",
|
|
24738
|
+
onClick: () => handleFilterSelect(field, null),
|
|
24739
|
+
children: [
|
|
24740
|
+
filterDef?.label,
|
|
24741
|
+
": ",
|
|
24742
|
+
value,
|
|
24743
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "x", className: "ml-1 h-3 w-3" })
|
|
24744
|
+
]
|
|
24745
|
+
},
|
|
24746
|
+
field
|
|
24747
|
+
);
|
|
24748
|
+
}),
|
|
24749
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", onClick: handleClearAll, children: "Clear all" })
|
|
24750
|
+
] })
|
|
24751
|
+
]
|
|
24752
|
+
}
|
|
24753
|
+
);
|
|
24624
24754
|
}
|
|
24625
24755
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
24626
24756
|
"div",
|
|
@@ -24629,6 +24759,7 @@ var init_FilterGroup = __esm({
|
|
|
24629
24759
|
"p-4 rounded-container",
|
|
24630
24760
|
"bg-card",
|
|
24631
24761
|
"border-[length:var(--border-width)] border-border",
|
|
24762
|
+
lookStyles5[look],
|
|
24632
24763
|
className
|
|
24633
24764
|
),
|
|
24634
24765
|
children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "md", align: "center", className: "flex-wrap", children: [
|
|
@@ -29102,7 +29233,7 @@ function composeDisplayValue(value, format, max, prefix, suffix) {
|
|
|
29102
29233
|
const withMax = max != null && max > 0 ? `${formatted} / ${max}` : formatted;
|
|
29103
29234
|
return `${prefix ?? ""}${withMax}${suffix ?? ""}`;
|
|
29104
29235
|
}
|
|
29105
|
-
var variantColor, StatDisplay;
|
|
29236
|
+
var lookStyles6, variantColor, StatDisplay;
|
|
29106
29237
|
var init_StatDisplay = __esm({
|
|
29107
29238
|
"components/molecules/StatDisplay.tsx"() {
|
|
29108
29239
|
"use client";
|
|
@@ -29114,6 +29245,13 @@ var init_StatDisplay = __esm({
|
|
|
29114
29245
|
init_Sparkline();
|
|
29115
29246
|
init_Icon();
|
|
29116
29247
|
init_useEventBus();
|
|
29248
|
+
lookStyles6 = {
|
|
29249
|
+
elevated: "",
|
|
29250
|
+
flat: "shadow-none border-[length:var(--border-width)] border-border",
|
|
29251
|
+
"progress-backed": "",
|
|
29252
|
+
gauge: "",
|
|
29253
|
+
sparkline: ""
|
|
29254
|
+
};
|
|
29117
29255
|
variantColor = {
|
|
29118
29256
|
default: "text-foreground",
|
|
29119
29257
|
primary: "text-primary",
|
|
@@ -29141,6 +29279,7 @@ var init_StatDisplay = __esm({
|
|
|
29141
29279
|
size = "md",
|
|
29142
29280
|
variant = "default",
|
|
29143
29281
|
compact = false,
|
|
29282
|
+
look = "elevated",
|
|
29144
29283
|
className,
|
|
29145
29284
|
isLoading = false,
|
|
29146
29285
|
error = null
|
|
@@ -29193,7 +29332,7 @@ var init_StatDisplay = __esm({
|
|
|
29193
29332
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
29194
29333
|
Card,
|
|
29195
29334
|
{
|
|
29196
|
-
className: cn(padSizes[size], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
29335
|
+
className: cn(padSizes[size], lookStyles6[look], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
29197
29336
|
onClick: clickEvent ? handleClick : void 0,
|
|
29198
29337
|
children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { align: "start", justify: "between", children: [
|
|
29199
29338
|
/* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: "space-y-1 flex-1", children: [
|
|
@@ -34775,7 +34914,8 @@ function DataTable({
|
|
|
34775
34914
|
bulkActions,
|
|
34776
34915
|
headerActions,
|
|
34777
34916
|
showTotal = true,
|
|
34778
|
-
className
|
|
34917
|
+
className,
|
|
34918
|
+
look = "dense"
|
|
34779
34919
|
}) {
|
|
34780
34920
|
const [openActionMenu, setOpenActionMenu] = React86.useState(
|
|
34781
34921
|
null
|
|
@@ -34902,6 +35042,7 @@ function DataTable({
|
|
|
34902
35042
|
{
|
|
34903
35043
|
className: cn(
|
|
34904
35044
|
"bg-card border-2 border-border rounded-none overflow-hidden",
|
|
35045
|
+
lookStyles7[look],
|
|
34905
35046
|
className
|
|
34906
35047
|
),
|
|
34907
35048
|
children: [
|
|
@@ -35128,6 +35269,7 @@ function DataTable({
|
|
|
35128
35269
|
}
|
|
35129
35270
|
);
|
|
35130
35271
|
}
|
|
35272
|
+
var lookStyles7;
|
|
35131
35273
|
var init_DataTable = __esm({
|
|
35132
35274
|
"components/organisms/DataTable.tsx"() {
|
|
35133
35275
|
"use client";
|
|
@@ -35141,6 +35283,13 @@ var init_DataTable = __esm({
|
|
|
35141
35283
|
init_useEventBus();
|
|
35142
35284
|
init_useTranslate();
|
|
35143
35285
|
init_types3();
|
|
35286
|
+
lookStyles7 = {
|
|
35287
|
+
dense: "",
|
|
35288
|
+
spacious: "[&_tbody_tr_td]:py-5 [&_thead_tr_th]:py-4",
|
|
35289
|
+
striped: "[&_tbody_tr:nth-child(odd)]:bg-muted/30",
|
|
35290
|
+
borderless: "border-0 [&_thead]:border-b-0 [&_tbody_tr]:border-b-0 [&_tbody]:divide-y-0",
|
|
35291
|
+
"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"
|
|
35292
|
+
};
|
|
35144
35293
|
DataTable.displayName = "DataTable";
|
|
35145
35294
|
}
|
|
35146
35295
|
});
|
|
@@ -38299,7 +38448,7 @@ var init_GraphCanvas = __esm({
|
|
|
38299
38448
|
GraphCanvas.displayName = "GraphCanvas";
|
|
38300
38449
|
}
|
|
38301
38450
|
});
|
|
38302
|
-
var Header;
|
|
38451
|
+
var lookStyles8, Header;
|
|
38303
38452
|
var init_Header = __esm({
|
|
38304
38453
|
"components/organisms/Header.tsx"() {
|
|
38305
38454
|
"use client";
|
|
@@ -38312,6 +38461,13 @@ var init_Header = __esm({
|
|
|
38312
38461
|
init_Typography();
|
|
38313
38462
|
init_cn();
|
|
38314
38463
|
init_useTranslate();
|
|
38464
|
+
lookStyles8 = {
|
|
38465
|
+
"compact-bar": "",
|
|
38466
|
+
hero: "py-section min-h-[200px] [&_h1]:text-display-1",
|
|
38467
|
+
breadcrumb: "py-2 text-sm [&_h1]:text-base [&_h1]:font-medium",
|
|
38468
|
+
contextual: "py-3 [&_h1]:text-lg",
|
|
38469
|
+
"editorial-banner": "py-12 [&_h1]:text-display-2 [&_h1]:font-display-bold border-b border-border"
|
|
38470
|
+
};
|
|
38315
38471
|
Header = ({
|
|
38316
38472
|
logo,
|
|
38317
38473
|
logoSrc,
|
|
@@ -38329,6 +38485,7 @@ var init_Header = __esm({
|
|
|
38329
38485
|
actions,
|
|
38330
38486
|
sticky = true,
|
|
38331
38487
|
variant = "mobile",
|
|
38488
|
+
look = "compact-bar",
|
|
38332
38489
|
onLogoClick,
|
|
38333
38490
|
className
|
|
38334
38491
|
}) => {
|
|
@@ -38344,6 +38501,7 @@ var init_Header = __esm({
|
|
|
38344
38501
|
"flex items-center px-4 justify-between bg-card",
|
|
38345
38502
|
sticky && "sticky top-0 z-50",
|
|
38346
38503
|
variant === "mobile" && "lg:hidden",
|
|
38504
|
+
lookStyles8[look],
|
|
38347
38505
|
className
|
|
38348
38506
|
),
|
|
38349
38507
|
children: [
|
|
@@ -45020,7 +45178,7 @@ var init_TeamOrganism = __esm({
|
|
|
45020
45178
|
TeamOrganism.displayName = "TeamOrganism";
|
|
45021
45179
|
}
|
|
45022
45180
|
});
|
|
45023
|
-
var STATUS_STYLES3, Timeline;
|
|
45181
|
+
var lookStyles9, STATUS_STYLES3, Timeline;
|
|
45024
45182
|
var init_Timeline = __esm({
|
|
45025
45183
|
"components/organisms/Timeline.tsx"() {
|
|
45026
45184
|
"use client";
|
|
@@ -45031,6 +45189,12 @@ var init_Timeline = __esm({
|
|
|
45031
45189
|
init_ErrorState();
|
|
45032
45190
|
init_EmptyState();
|
|
45033
45191
|
init_useTranslate();
|
|
45192
|
+
lookStyles9 = {
|
|
45193
|
+
"vertical-compact": "gap-1 [&>*]:py-1",
|
|
45194
|
+
"vertical-spacious": "",
|
|
45195
|
+
horizontal: "flex-row [&>*]:flex-row [&>*]:items-center",
|
|
45196
|
+
swimlane: "flex-row gap-6 [&>*]:flex-row [&>*]:items-center"
|
|
45197
|
+
};
|
|
45034
45198
|
STATUS_STYLES3 = {
|
|
45035
45199
|
complete: {
|
|
45036
45200
|
dotColor: "text-success",
|
|
@@ -45061,7 +45225,8 @@ var init_Timeline = __esm({
|
|
|
45061
45225
|
entity,
|
|
45062
45226
|
isLoading = false,
|
|
45063
45227
|
error,
|
|
45064
|
-
className
|
|
45228
|
+
className,
|
|
45229
|
+
look = "vertical-spacious"
|
|
45065
45230
|
}) => {
|
|
45066
45231
|
const { t } = useTranslate();
|
|
45067
45232
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
@@ -45117,7 +45282,7 @@ var init_Timeline = __esm({
|
|
|
45117
45282
|
}
|
|
45118
45283
|
return /* @__PURE__ */ jsxRuntime.jsx(Card, { className: cn("p-6", className), children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "md", children: [
|
|
45119
45284
|
title && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h5", weight: "semibold", children: title }),
|
|
45120
|
-
/* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "none", className: "relative", children: items.map((item, idx) => {
|
|
45285
|
+
/* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "none", className: cn("relative", lookStyles9[look]), children: items.map((item, idx) => {
|
|
45121
45286
|
const status = item.status || "pending";
|
|
45122
45287
|
const style = STATUS_STYLES3[status] || STATUS_STYLES3.pending;
|
|
45123
45288
|
const ItemIcon = item.icon || style.icon;
|