@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/avl/index.cjs
CHANGED
|
@@ -6770,7 +6770,7 @@ var init_Overlay = __esm({
|
|
|
6770
6770
|
};
|
|
6771
6771
|
}
|
|
6772
6772
|
});
|
|
6773
|
-
var sizeClasses2, minWidthClasses, Modal;
|
|
6773
|
+
var sizeClasses2, minWidthClasses, lookStyles, Modal;
|
|
6774
6774
|
var init_Modal = __esm({
|
|
6775
6775
|
"components/molecules/Modal.tsx"() {
|
|
6776
6776
|
"use client";
|
|
@@ -6795,6 +6795,12 @@ var init_Modal = __esm({
|
|
|
6795
6795
|
xl: "min-w-[700px] max-sm:min-w-0",
|
|
6796
6796
|
full: "min-w-0"
|
|
6797
6797
|
};
|
|
6798
|
+
lookStyles = {
|
|
6799
|
+
"centered-card": "",
|
|
6800
|
+
"top-sheet": "top-0 rounded-t-none rounded-b-container max-w-full w-full",
|
|
6801
|
+
"side-drawer": "right-0 top-0 bottom-0 h-full rounded-l-container rounded-r-none w-[400px] max-w-full",
|
|
6802
|
+
"full-screen": "inset-0 rounded-none w-full h-full max-w-full"
|
|
6803
|
+
};
|
|
6798
6804
|
Modal = ({
|
|
6799
6805
|
isOpen = true,
|
|
6800
6806
|
onClose = () => {
|
|
@@ -6808,7 +6814,8 @@ var init_Modal = __esm({
|
|
|
6808
6814
|
closeOnEscape = true,
|
|
6809
6815
|
className,
|
|
6810
6816
|
closeEvent,
|
|
6811
|
-
swipeDownToClose = true
|
|
6817
|
+
swipeDownToClose = true,
|
|
6818
|
+
look = "centered-card"
|
|
6812
6819
|
}) => {
|
|
6813
6820
|
const eventBus = useEventBus();
|
|
6814
6821
|
const modalRef = React98.useRef(null);
|
|
@@ -6893,6 +6900,7 @@ var init_Modal = __esm({
|
|
|
6893
6900
|
// Mobile: take the entire screen. Override desktop max-w cap,
|
|
6894
6901
|
// full height, no rounded corners, no min-width.
|
|
6895
6902
|
"max-sm:max-w-none max-sm:max-h-none max-sm:w-full max-sm:h-full max-sm:rounded-none",
|
|
6903
|
+
lookStyles[look],
|
|
6896
6904
|
className
|
|
6897
6905
|
),
|
|
6898
6906
|
style: dragY > 0 ? {
|
|
@@ -8467,7 +8475,7 @@ var init_Checkbox = __esm({
|
|
|
8467
8475
|
Checkbox.displayName = "Checkbox";
|
|
8468
8476
|
}
|
|
8469
8477
|
});
|
|
8470
|
-
var variantStyles4, paddingStyles2, shadowStyles2,
|
|
8478
|
+
var variantStyles4, paddingStyles2, shadowStyles2, lookStyles2, Card, CardHeader, CardTitle, CardContent, CardBody, CardFooter;
|
|
8471
8479
|
var init_Card = __esm({
|
|
8472
8480
|
"components/atoms/Card.tsx"() {
|
|
8473
8481
|
init_cn();
|
|
@@ -8515,7 +8523,7 @@ var init_Card = __esm({
|
|
|
8515
8523
|
md: "shadow",
|
|
8516
8524
|
lg: "shadow-elevation-dialog"
|
|
8517
8525
|
};
|
|
8518
|
-
|
|
8526
|
+
lookStyles2 = {
|
|
8519
8527
|
elevated: "",
|
|
8520
8528
|
"flat-bordered": "shadow-none border-[length:var(--border-width)] border-border",
|
|
8521
8529
|
"borderless-divider": "shadow-none border-0 border-b border-border rounded-none",
|
|
@@ -8545,7 +8553,7 @@ var init_Card = __esm({
|
|
|
8545
8553
|
"transition-all duration-[var(--transition-normal)]",
|
|
8546
8554
|
variantStyles4[variant],
|
|
8547
8555
|
paddingStyles2[padding],
|
|
8548
|
-
|
|
8556
|
+
lookStyles2[look],
|
|
8549
8557
|
shadow && shadowStyles2[shadow],
|
|
8550
8558
|
className
|
|
8551
8559
|
),
|
|
@@ -19931,7 +19939,7 @@ var init_BookTableOfContents = __esm({
|
|
|
19931
19939
|
BookTableOfContents.displayName = "BookTableOfContents";
|
|
19932
19940
|
}
|
|
19933
19941
|
});
|
|
19934
|
-
var ICON_NAME_ALIASES, EmptyState;
|
|
19942
|
+
var ICON_NAME_ALIASES, lookStyles3, EmptyState;
|
|
19935
19943
|
var init_EmptyState = __esm({
|
|
19936
19944
|
"components/molecules/EmptyState.tsx"() {
|
|
19937
19945
|
"use client";
|
|
@@ -19948,6 +19956,12 @@ var init_EmptyState = __esm({
|
|
|
19948
19956
|
error: "x-circle",
|
|
19949
19957
|
warning: "alert-circle"
|
|
19950
19958
|
};
|
|
19959
|
+
lookStyles3 = {
|
|
19960
|
+
"icon-only": "",
|
|
19961
|
+
illustrated: "[&_svg]:w-32 [&_svg]:h-32",
|
|
19962
|
+
"text-only": "[&_svg]:hidden",
|
|
19963
|
+
mascot: "[&_svg]:w-24 [&_svg]:h-24 [&_svg]:rounded-pill"
|
|
19964
|
+
};
|
|
19951
19965
|
EmptyState = ({
|
|
19952
19966
|
icon,
|
|
19953
19967
|
title,
|
|
@@ -19958,7 +19972,8 @@ var init_EmptyState = __esm({
|
|
|
19958
19972
|
className,
|
|
19959
19973
|
destructive,
|
|
19960
19974
|
variant,
|
|
19961
|
-
actionEvent
|
|
19975
|
+
actionEvent,
|
|
19976
|
+
look = "icon-only"
|
|
19962
19977
|
}) => {
|
|
19963
19978
|
const eventBus = useEventBus();
|
|
19964
19979
|
const { t } = useTranslate();
|
|
@@ -19978,6 +19993,7 @@ var init_EmptyState = __esm({
|
|
|
19978
19993
|
align: "center",
|
|
19979
19994
|
className: cn(
|
|
19980
19995
|
"justify-center py-12 text-center",
|
|
19996
|
+
lookStyles3[look],
|
|
19981
19997
|
className
|
|
19982
19998
|
),
|
|
19983
19999
|
children: [
|
|
@@ -21218,7 +21234,7 @@ function useSafeEventBus2() {
|
|
|
21218
21234
|
} };
|
|
21219
21235
|
}
|
|
21220
21236
|
}
|
|
21221
|
-
var log9, ButtonGroup;
|
|
21237
|
+
var log9, lookStyles4, ButtonGroup;
|
|
21222
21238
|
var init_ButtonGroup = __esm({
|
|
21223
21239
|
"components/molecules/ButtonGroup.tsx"() {
|
|
21224
21240
|
"use client";
|
|
@@ -21226,6 +21242,13 @@ var init_ButtonGroup = __esm({
|
|
|
21226
21242
|
init_atoms();
|
|
21227
21243
|
init_useEventBus();
|
|
21228
21244
|
log9 = logger.createLogger("almadar:ui:button-group");
|
|
21245
|
+
lookStyles4 = {
|
|
21246
|
+
"right-aligned-buttons": "",
|
|
21247
|
+
"floating-bar": "fixed bottom-section left-1/2 -translate-x-1/2 shadow-elevation-toast bg-card p-card-sm rounded-container",
|
|
21248
|
+
"inline-row": "gap-2 inline-flex",
|
|
21249
|
+
"dropdown-menu": "[&>button:not(:first-child)]:hidden",
|
|
21250
|
+
"command-palette-trigger": "[&>button:not(:first-child)]:hidden"
|
|
21251
|
+
};
|
|
21229
21252
|
ButtonGroup = ({
|
|
21230
21253
|
children,
|
|
21231
21254
|
primary,
|
|
@@ -21235,7 +21258,8 @@ var init_ButtonGroup = __esm({
|
|
|
21235
21258
|
className,
|
|
21236
21259
|
// Filter-group pattern props (entity and filters are used for schema-driven filtering)
|
|
21237
21260
|
entity: _entity,
|
|
21238
|
-
filters
|
|
21261
|
+
filters,
|
|
21262
|
+
look = "right-aligned-buttons"
|
|
21239
21263
|
}) => {
|
|
21240
21264
|
const eventBus = useSafeEventBus2();
|
|
21241
21265
|
const variantClasses2 = {
|
|
@@ -21312,6 +21336,7 @@ var init_ButtonGroup = __esm({
|
|
|
21312
21336
|
"inline-flex gap-2",
|
|
21313
21337
|
variantClasses2[variant],
|
|
21314
21338
|
orientationClasses[orientation],
|
|
21339
|
+
lookStyles4[look],
|
|
21315
21340
|
className
|
|
21316
21341
|
),
|
|
21317
21342
|
role: "group",
|
|
@@ -23843,7 +23868,7 @@ var init_CastleTemplate = __esm({
|
|
|
23843
23868
|
CastleTemplate.displayName = "CastleTemplate";
|
|
23844
23869
|
}
|
|
23845
23870
|
});
|
|
23846
|
-
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, Chart;
|
|
23871
|
+
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, LOOK_FROM_CHART_TYPE, Chart;
|
|
23847
23872
|
var init_Chart = __esm({
|
|
23848
23873
|
"components/organisms/Chart.tsx"() {
|
|
23849
23874
|
"use client";
|
|
@@ -23873,7 +23898,7 @@ var init_Chart = __esm({
|
|
|
23873
23898
|
if (Number.isNaN(parsed.getTime())) return raw;
|
|
23874
23899
|
return monthFormatter.format(parsed);
|
|
23875
23900
|
};
|
|
23876
|
-
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, onPointClick }) => {
|
|
23901
|
+
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, horizontal = false, onPointClick }) => {
|
|
23877
23902
|
const categories = React98.useMemo(() => {
|
|
23878
23903
|
const set = [];
|
|
23879
23904
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -23911,6 +23936,64 @@ var init_Chart = __esm({
|
|
|
23911
23936
|
}
|
|
23912
23937
|
return m;
|
|
23913
23938
|
}, [series, stack, columnTotals]);
|
|
23939
|
+
if (horizontal) {
|
|
23940
|
+
return /* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "xs", align: "stretch", className: "w-full", style: { minHeight: height }, children: categories.map((label, catIdx) => {
|
|
23941
|
+
const displayLabel = timeAxis ? formatTimeLabel(label) : label;
|
|
23942
|
+
const total = columnTotals?.[catIdx] ?? 1;
|
|
23943
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", align: "center", className: "w-full", children: [
|
|
23944
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23945
|
+
Typography,
|
|
23946
|
+
{
|
|
23947
|
+
variant: "caption",
|
|
23948
|
+
color: "secondary",
|
|
23949
|
+
className: "truncate text-right",
|
|
23950
|
+
style: { width: 80, flexShrink: 0 },
|
|
23951
|
+
children: displayLabel
|
|
23952
|
+
}
|
|
23953
|
+
),
|
|
23954
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23955
|
+
HStack,
|
|
23956
|
+
{
|
|
23957
|
+
gap: stack === "none" ? "xs" : "none",
|
|
23958
|
+
align: "center",
|
|
23959
|
+
className: "flex-1 min-w-0",
|
|
23960
|
+
style: { height: 24 },
|
|
23961
|
+
children: series.map((s, sIdx) => {
|
|
23962
|
+
const value = valueAt(s, label);
|
|
23963
|
+
const ratio = stack === "normalize" ? total === 0 ? 0 : value / total * 100 : value / maxValue * 100;
|
|
23964
|
+
const color = seriesColor(s, sIdx);
|
|
23965
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
23966
|
+
Box,
|
|
23967
|
+
{
|
|
23968
|
+
className: "h-full rounded-r-sm transition-all duration-500 ease-out min-w-[2px] cursor-pointer hover:opacity-80",
|
|
23969
|
+
style: {
|
|
23970
|
+
width: `${ratio}%`,
|
|
23971
|
+
backgroundColor: color
|
|
23972
|
+
},
|
|
23973
|
+
onClick: () => onPointClick?.(
|
|
23974
|
+
{ label, value, color },
|
|
23975
|
+
s.name
|
|
23976
|
+
),
|
|
23977
|
+
title: `${s.name}: ${value}`
|
|
23978
|
+
},
|
|
23979
|
+
s.name
|
|
23980
|
+
);
|
|
23981
|
+
})
|
|
23982
|
+
}
|
|
23983
|
+
),
|
|
23984
|
+
showValues && series.length === 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
23985
|
+
Typography,
|
|
23986
|
+
{
|
|
23987
|
+
variant: "caption",
|
|
23988
|
+
color: "secondary",
|
|
23989
|
+
className: "tabular-nums",
|
|
23990
|
+
style: { width: 40, flexShrink: 0 },
|
|
23991
|
+
children: valueAt(series[0], label)
|
|
23992
|
+
}
|
|
23993
|
+
)
|
|
23994
|
+
] }, label);
|
|
23995
|
+
}) });
|
|
23996
|
+
}
|
|
23914
23997
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
23915
23998
|
HStack,
|
|
23916
23999
|
{
|
|
@@ -24338,10 +24421,20 @@ var init_Chart = __esm({
|
|
|
24338
24421
|
}
|
|
24339
24422
|
);
|
|
24340
24423
|
};
|
|
24424
|
+
LOOK_FROM_CHART_TYPE = {
|
|
24425
|
+
bar: "bar-vertical",
|
|
24426
|
+
line: "line",
|
|
24427
|
+
pie: "pie",
|
|
24428
|
+
area: "area",
|
|
24429
|
+
donut: "donut",
|
|
24430
|
+
scatter: "scatter",
|
|
24431
|
+
histogram: "histogram"
|
|
24432
|
+
};
|
|
24341
24433
|
Chart = ({
|
|
24342
24434
|
title,
|
|
24343
24435
|
subtitle,
|
|
24344
|
-
chartType
|
|
24436
|
+
chartType,
|
|
24437
|
+
look,
|
|
24345
24438
|
series,
|
|
24346
24439
|
data: simpleData,
|
|
24347
24440
|
scatterData,
|
|
@@ -24357,6 +24450,7 @@ var init_Chart = __esm({
|
|
|
24357
24450
|
error,
|
|
24358
24451
|
className
|
|
24359
24452
|
}) => {
|
|
24453
|
+
const resolvedLook = look ?? (chartType ? LOOK_FROM_CHART_TYPE[chartType] : "bar-vertical");
|
|
24360
24454
|
const eventBus = useEventBus();
|
|
24361
24455
|
const { t } = useTranslate();
|
|
24362
24456
|
const handleAction = React98.useCallback(
|
|
@@ -24385,7 +24479,7 @@ var init_Chart = __esm({
|
|
|
24385
24479
|
return [];
|
|
24386
24480
|
}, [simpleData, series]);
|
|
24387
24481
|
const firstSeriesData = normalizedSeries[0]?.data ?? [];
|
|
24388
|
-
const hasContent =
|
|
24482
|
+
const hasContent = resolvedLook === "scatter" ? (scatterData?.length ?? 0) > 0 : normalizedSeries.some((s) => s.data.length > 0);
|
|
24389
24483
|
if (isLoading) {
|
|
24390
24484
|
return /* @__PURE__ */ jsxRuntime.jsx(LoadingState, { message: "Loading chart...", className });
|
|
24391
24485
|
}
|
|
@@ -24420,7 +24514,18 @@ var init_Chart = __esm({
|
|
|
24420
24514
|
)) })
|
|
24421
24515
|
] }),
|
|
24422
24516
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "w-full", children: [
|
|
24423
|
-
|
|
24517
|
+
resolvedLook === "bar-vertical" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24518
|
+
BarChart,
|
|
24519
|
+
{
|
|
24520
|
+
series: normalizedSeries,
|
|
24521
|
+
height,
|
|
24522
|
+
showValues,
|
|
24523
|
+
stack,
|
|
24524
|
+
timeAxis,
|
|
24525
|
+
onPointClick: handlePointClick
|
|
24526
|
+
}
|
|
24527
|
+
),
|
|
24528
|
+
resolvedLook === "bar-horizontal" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24424
24529
|
BarChart,
|
|
24425
24530
|
{
|
|
24426
24531
|
series: normalizedSeries,
|
|
@@ -24428,10 +24533,11 @@ var init_Chart = __esm({
|
|
|
24428
24533
|
showValues,
|
|
24429
24534
|
stack,
|
|
24430
24535
|
timeAxis,
|
|
24536
|
+
horizontal: true,
|
|
24431
24537
|
onPointClick: handlePointClick
|
|
24432
24538
|
}
|
|
24433
24539
|
),
|
|
24434
|
-
|
|
24540
|
+
resolvedLook === "histogram" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24435
24541
|
BarChart,
|
|
24436
24542
|
{
|
|
24437
24543
|
series: normalizedSeries,
|
|
@@ -24443,7 +24549,7 @@ var init_Chart = __esm({
|
|
|
24443
24549
|
onPointClick: handlePointClick
|
|
24444
24550
|
}
|
|
24445
24551
|
),
|
|
24446
|
-
|
|
24552
|
+
resolvedLook === "line" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24447
24553
|
LineChart,
|
|
24448
24554
|
{
|
|
24449
24555
|
series: normalizedSeries,
|
|
@@ -24453,7 +24559,7 @@ var init_Chart = __esm({
|
|
|
24453
24559
|
onPointClick: handlePointClick
|
|
24454
24560
|
}
|
|
24455
24561
|
),
|
|
24456
|
-
|
|
24562
|
+
resolvedLook === "area" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24457
24563
|
LineChart,
|
|
24458
24564
|
{
|
|
24459
24565
|
series: normalizedSeries,
|
|
@@ -24464,7 +24570,7 @@ var init_Chart = __esm({
|
|
|
24464
24570
|
onPointClick: handlePointClick
|
|
24465
24571
|
}
|
|
24466
24572
|
),
|
|
24467
|
-
|
|
24573
|
+
resolvedLook === "pie" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24468
24574
|
PieChart,
|
|
24469
24575
|
{
|
|
24470
24576
|
data: firstSeriesData,
|
|
@@ -24473,7 +24579,7 @@ var init_Chart = __esm({
|
|
|
24473
24579
|
onPointClick: handlePointClick
|
|
24474
24580
|
}
|
|
24475
24581
|
),
|
|
24476
|
-
|
|
24582
|
+
resolvedLook === "donut" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24477
24583
|
PieChart,
|
|
24478
24584
|
{
|
|
24479
24585
|
data: firstSeriesData,
|
|
@@ -24483,7 +24589,7 @@ var init_Chart = __esm({
|
|
|
24483
24589
|
onPointClick: handlePointClick
|
|
24484
24590
|
}
|
|
24485
24591
|
),
|
|
24486
|
-
|
|
24592
|
+
resolvedLook === "scatter" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24487
24593
|
ScatterChart,
|
|
24488
24594
|
{
|
|
24489
24595
|
data: scatterData ?? [],
|
|
@@ -27906,7 +28012,7 @@ var init_useQuerySingleton = __esm({
|
|
|
27906
28012
|
queryStores = /* @__PURE__ */ new Map();
|
|
27907
28013
|
}
|
|
27908
28014
|
});
|
|
27909
|
-
var resolveFilterType, FilterGroup;
|
|
28015
|
+
var resolveFilterType, lookStyles5, FilterGroup;
|
|
27910
28016
|
var init_FilterGroup = __esm({
|
|
27911
28017
|
"components/molecules/FilterGroup.tsx"() {
|
|
27912
28018
|
"use client";
|
|
@@ -27920,6 +28026,13 @@ var init_FilterGroup = __esm({
|
|
|
27920
28026
|
init_useEventBus();
|
|
27921
28027
|
init_useQuerySingleton();
|
|
27922
28028
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
28029
|
+
lookStyles5 = {
|
|
28030
|
+
toolbar: "",
|
|
28031
|
+
chips: "gap-2 [&>*]:rounded-pill [&>*]:px-3 [&>*]:py-1",
|
|
28032
|
+
pills: "gap-2 [&>*]:rounded-pill",
|
|
28033
|
+
"popover-trigger": "[&>*:not(:first-child)]:hidden",
|
|
28034
|
+
"inline-column-header": "hidden"
|
|
28035
|
+
};
|
|
27923
28036
|
FilterGroup = ({
|
|
27924
28037
|
entity,
|
|
27925
28038
|
filters,
|
|
@@ -27929,7 +28042,8 @@ var init_FilterGroup = __esm({
|
|
|
27929
28042
|
variant = "default",
|
|
27930
28043
|
showIcon = true,
|
|
27931
28044
|
query,
|
|
27932
|
-
isLoading
|
|
28045
|
+
isLoading,
|
|
28046
|
+
look = "toolbar"
|
|
27933
28047
|
}) => {
|
|
27934
28048
|
const eventBus = useEventBus();
|
|
27935
28049
|
const queryState = useQuerySingleton(query);
|
|
@@ -27984,63 +28098,71 @@ var init_FilterGroup = __esm({
|
|
|
27984
28098
|
}, [onClearAll, queryState, eventBus, entity, query]);
|
|
27985
28099
|
const activeFilterCount = Object.keys(selectedValues).length;
|
|
27986
28100
|
if (variant === "pills") {
|
|
27987
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
27988
|
-
|
|
27989
|
-
|
|
27990
|
-
|
|
27991
|
-
|
|
27992
|
-
|
|
27993
|
-
|
|
27994
|
-
|
|
27995
|
-
HStack,
|
|
27996
|
-
|
|
27997
|
-
|
|
27998
|
-
|
|
27999
|
-
|
|
28000
|
-
|
|
28001
|
-
|
|
28002
|
-
|
|
28003
|
-
|
|
28004
|
-
|
|
28005
|
-
|
|
28006
|
-
|
|
28007
|
-
|
|
28008
|
-
|
|
28009
|
-
|
|
28010
|
-
|
|
28011
|
-
|
|
28012
|
-
|
|
28013
|
-
|
|
28014
|
-
|
|
28015
|
-
|
|
28016
|
-
|
|
28017
|
-
className: cn(
|
|
28018
|
-
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
28019
|
-
"border-l-[length:var(--border-width)] border-border",
|
|
28020
|
-
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
28101
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
28102
|
+
HStack,
|
|
28103
|
+
{
|
|
28104
|
+
gap: "md",
|
|
28105
|
+
align: "center",
|
|
28106
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
28107
|
+
children: [
|
|
28108
|
+
showIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
28109
|
+
filters.map((filter) => /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
28110
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-medium text-muted-foreground", children: [
|
|
28111
|
+
filter.label,
|
|
28112
|
+
":"
|
|
28113
|
+
] }),
|
|
28114
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
28115
|
+
HStack,
|
|
28116
|
+
{
|
|
28117
|
+
gap: "none",
|
|
28118
|
+
className: "rounded-sm overflow-hidden border-[length:var(--border-width)] border-border",
|
|
28119
|
+
children: [
|
|
28120
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
28121
|
+
"button",
|
|
28122
|
+
{
|
|
28123
|
+
type: "button",
|
|
28124
|
+
onClick: () => handleFilterSelect(filter.field, null),
|
|
28125
|
+
className: cn(
|
|
28126
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
28127
|
+
!selectedValues[filter.field] ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
28128
|
+
),
|
|
28129
|
+
children: "All"
|
|
28130
|
+
}
|
|
28021
28131
|
),
|
|
28022
|
-
|
|
28023
|
-
|
|
28024
|
-
|
|
28025
|
-
|
|
28026
|
-
|
|
28027
|
-
|
|
28028
|
-
|
|
28029
|
-
|
|
28030
|
-
|
|
28031
|
-
|
|
28032
|
-
|
|
28033
|
-
|
|
28034
|
-
|
|
28035
|
-
|
|
28036
|
-
|
|
28037
|
-
|
|
28038
|
-
|
|
28039
|
-
|
|
28040
|
-
|
|
28132
|
+
filter.options?.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
28133
|
+
"button",
|
|
28134
|
+
{
|
|
28135
|
+
type: "button",
|
|
28136
|
+
onClick: () => handleFilterSelect(filter.field, option),
|
|
28137
|
+
className: cn(
|
|
28138
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
28139
|
+
"border-l-[length:var(--border-width)] border-border",
|
|
28140
|
+
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
28141
|
+
),
|
|
28142
|
+
children: option
|
|
28143
|
+
},
|
|
28144
|
+
option
|
|
28145
|
+
))
|
|
28146
|
+
]
|
|
28147
|
+
}
|
|
28148
|
+
)
|
|
28149
|
+
] }, filter.field)),
|
|
28150
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
28151
|
+
Button,
|
|
28152
|
+
{
|
|
28153
|
+
variant: "ghost",
|
|
28154
|
+
size: "sm",
|
|
28155
|
+
onClick: handleClearAll,
|
|
28156
|
+
leftIcon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "x", className: "h-3.5 w-3.5" }),
|
|
28157
|
+
children: "Clear"
|
|
28158
|
+
}
|
|
28159
|
+
)
|
|
28160
|
+
]
|
|
28161
|
+
}
|
|
28162
|
+
);
|
|
28041
28163
|
}
|
|
28042
28164
|
if (variant === "vertical") {
|
|
28043
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4", className), children: [
|
|
28165
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4", lookStyles5[look], className), children: [
|
|
28044
28166
|
showIcon && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [
|
|
28045
28167
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4" }),
|
|
28046
28168
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: "Filters" })
|
|
@@ -28123,92 +28245,100 @@ var init_FilterGroup = __esm({
|
|
|
28123
28245
|
] });
|
|
28124
28246
|
}
|
|
28125
28247
|
if (variant === "compact") {
|
|
28126
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
28127
|
-
|
|
28128
|
-
|
|
28129
|
-
|
|
28130
|
-
|
|
28131
|
-
|
|
28132
|
-
|
|
28133
|
-
|
|
28134
|
-
|
|
28135
|
-
|
|
28136
|
-
|
|
28137
|
-
|
|
28138
|
-
|
|
28139
|
-
|
|
28140
|
-
|
|
28141
|
-
|
|
28142
|
-
|
|
28143
|
-
|
|
28144
|
-
|
|
28145
|
-
|
|
28146
|
-
|
|
28147
|
-
|
|
28148
|
-
|
|
28149
|
-
|
|
28150
|
-
|
|
28151
|
-
|
|
28152
|
-
|
|
28153
|
-
|
|
28154
|
-
|
|
28155
|
-
|
|
28156
|
-
value: selectedValues[`${filter.field}_to`] || "",
|
|
28157
|
-
onChange: (e) => handleFilterSelect(
|
|
28158
|
-
`${filter.field}_to`,
|
|
28159
|
-
e.target.value || null
|
|
28248
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
28249
|
+
HStack,
|
|
28250
|
+
{
|
|
28251
|
+
gap: "sm",
|
|
28252
|
+
align: "center",
|
|
28253
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
28254
|
+
children: [
|
|
28255
|
+
showIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
28256
|
+
filters.map((filter) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-[120px]", children: resolveFilterType(filter) === "date" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
28257
|
+
Input,
|
|
28258
|
+
{
|
|
28259
|
+
type: "date",
|
|
28260
|
+
value: selectedValues[filter.field] || "",
|
|
28261
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
28262
|
+
clearable: true,
|
|
28263
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
28264
|
+
className: "text-sm"
|
|
28265
|
+
}
|
|
28266
|
+
) : resolveFilterType(filter) === "daterange" || resolveFilterType(filter) === "date-range" ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
28267
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
28268
|
+
Input,
|
|
28269
|
+
{
|
|
28270
|
+
type: "date",
|
|
28271
|
+
value: selectedValues[`${filter.field}_from`] || "",
|
|
28272
|
+
onChange: (e) => handleFilterSelect(
|
|
28273
|
+
`${filter.field}_from`,
|
|
28274
|
+
e.target.value || null
|
|
28275
|
+
),
|
|
28276
|
+
className: "text-sm min-w-[100px]"
|
|
28277
|
+
}
|
|
28160
28278
|
),
|
|
28161
|
-
className: "text-
|
|
28162
|
-
|
|
28163
|
-
|
|
28164
|
-
|
|
28165
|
-
|
|
28166
|
-
|
|
28167
|
-
|
|
28168
|
-
|
|
28169
|
-
|
|
28170
|
-
|
|
28171
|
-
|
|
28172
|
-
|
|
28173
|
-
|
|
28174
|
-
|
|
28175
|
-
|
|
28176
|
-
{
|
|
28177
|
-
value: selectedValues[filter.field] || "all",
|
|
28178
|
-
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
28179
|
-
options: [
|
|
28180
|
-
{ value: "all", label: `All ${filter.label}` },
|
|
28181
|
-
...filter.options?.map((opt) => ({
|
|
28182
|
-
value: opt,
|
|
28183
|
-
label: opt
|
|
28184
|
-
})) || []
|
|
28185
|
-
],
|
|
28186
|
-
className: "text-sm"
|
|
28187
|
-
}
|
|
28188
|
-
) }, filter.field)),
|
|
28189
|
-
activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
28190
|
-
Object.entries(selectedValues).map(([field, value]) => {
|
|
28191
|
-
const filterDef = filters.find((f3) => f3.field === field);
|
|
28192
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
28193
|
-
Badge,
|
|
28279
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
28280
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
28281
|
+
Input,
|
|
28282
|
+
{
|
|
28283
|
+
type: "date",
|
|
28284
|
+
value: selectedValues[`${filter.field}_to`] || "",
|
|
28285
|
+
onChange: (e) => handleFilterSelect(
|
|
28286
|
+
`${filter.field}_to`,
|
|
28287
|
+
e.target.value || null
|
|
28288
|
+
),
|
|
28289
|
+
className: "text-sm min-w-[100px]"
|
|
28290
|
+
}
|
|
28291
|
+
)
|
|
28292
|
+
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
28293
|
+
Input,
|
|
28194
28294
|
{
|
|
28195
|
-
|
|
28196
|
-
|
|
28197
|
-
|
|
28198
|
-
|
|
28199
|
-
|
|
28200
|
-
|
|
28201
|
-
|
|
28202
|
-
|
|
28203
|
-
|
|
28204
|
-
|
|
28205
|
-
|
|
28206
|
-
|
|
28207
|
-
|
|
28208
|
-
|
|
28209
|
-
|
|
28210
|
-
|
|
28211
|
-
|
|
28295
|
+
value: selectedValues[filter.field] || "",
|
|
28296
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
28297
|
+
placeholder: filter.label,
|
|
28298
|
+
clearable: true,
|
|
28299
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
28300
|
+
className: "text-sm"
|
|
28301
|
+
}
|
|
28302
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
28303
|
+
Select,
|
|
28304
|
+
{
|
|
28305
|
+
value: selectedValues[filter.field] || "all",
|
|
28306
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
28307
|
+
options: [
|
|
28308
|
+
{ value: "all", label: `All ${filter.label}` },
|
|
28309
|
+
...filter.options?.map((opt) => ({
|
|
28310
|
+
value: opt,
|
|
28311
|
+
label: opt
|
|
28312
|
+
})) || []
|
|
28313
|
+
],
|
|
28314
|
+
className: "text-sm"
|
|
28315
|
+
}
|
|
28316
|
+
) }, filter.field)),
|
|
28317
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
28318
|
+
Object.entries(selectedValues).map(([field, value]) => {
|
|
28319
|
+
const filterDef = filters.find((f3) => f3.field === field);
|
|
28320
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
28321
|
+
Badge,
|
|
28322
|
+
{
|
|
28323
|
+
variant: "primary",
|
|
28324
|
+
size: "md",
|
|
28325
|
+
className: "cursor-pointer",
|
|
28326
|
+
onClick: () => handleFilterSelect(field, null),
|
|
28327
|
+
children: [
|
|
28328
|
+
filterDef?.label,
|
|
28329
|
+
": ",
|
|
28330
|
+
value,
|
|
28331
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "x", className: "ml-1 h-3 w-3" })
|
|
28332
|
+
]
|
|
28333
|
+
},
|
|
28334
|
+
field
|
|
28335
|
+
);
|
|
28336
|
+
}),
|
|
28337
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", onClick: handleClearAll, children: "Clear all" })
|
|
28338
|
+
] })
|
|
28339
|
+
]
|
|
28340
|
+
}
|
|
28341
|
+
);
|
|
28212
28342
|
}
|
|
28213
28343
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
28214
28344
|
"div",
|
|
@@ -28217,6 +28347,7 @@ var init_FilterGroup = __esm({
|
|
|
28217
28347
|
"p-4 rounded-container",
|
|
28218
28348
|
"bg-card",
|
|
28219
28349
|
"border-[length:var(--border-width)] border-border",
|
|
28350
|
+
lookStyles5[look],
|
|
28220
28351
|
className
|
|
28221
28352
|
),
|
|
28222
28353
|
children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "md", align: "center", className: "flex-wrap", children: [
|
|
@@ -32690,7 +32821,7 @@ function composeDisplayValue(value, format, max, prefix, suffix) {
|
|
|
32690
32821
|
const withMax = max != null && max > 0 ? `${formatted} / ${max}` : formatted;
|
|
32691
32822
|
return `${prefix ?? ""}${withMax}${suffix ?? ""}`;
|
|
32692
32823
|
}
|
|
32693
|
-
var variantColor, StatDisplay;
|
|
32824
|
+
var lookStyles6, variantColor, StatDisplay;
|
|
32694
32825
|
var init_StatDisplay = __esm({
|
|
32695
32826
|
"components/molecules/StatDisplay.tsx"() {
|
|
32696
32827
|
"use client";
|
|
@@ -32702,6 +32833,13 @@ var init_StatDisplay = __esm({
|
|
|
32702
32833
|
init_Sparkline();
|
|
32703
32834
|
init_Icon();
|
|
32704
32835
|
init_useEventBus();
|
|
32836
|
+
lookStyles6 = {
|
|
32837
|
+
elevated: "",
|
|
32838
|
+
flat: "shadow-none border-[length:var(--border-width)] border-border",
|
|
32839
|
+
"progress-backed": "",
|
|
32840
|
+
gauge: "",
|
|
32841
|
+
sparkline: ""
|
|
32842
|
+
};
|
|
32705
32843
|
variantColor = {
|
|
32706
32844
|
default: "text-foreground",
|
|
32707
32845
|
primary: "text-primary",
|
|
@@ -32729,6 +32867,7 @@ var init_StatDisplay = __esm({
|
|
|
32729
32867
|
size = "md",
|
|
32730
32868
|
variant = "default",
|
|
32731
32869
|
compact = false,
|
|
32870
|
+
look = "elevated",
|
|
32732
32871
|
className,
|
|
32733
32872
|
isLoading = false,
|
|
32734
32873
|
error = null
|
|
@@ -32781,7 +32920,7 @@ var init_StatDisplay = __esm({
|
|
|
32781
32920
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32782
32921
|
Card,
|
|
32783
32922
|
{
|
|
32784
|
-
className: cn(padSizes[size], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
32923
|
+
className: cn(padSizes[size], lookStyles6[look], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
32785
32924
|
onClick: clickEvent ? handleClick : void 0,
|
|
32786
32925
|
children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { align: "start", justify: "between", children: [
|
|
32787
32926
|
/* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: "space-y-1 flex-1", children: [
|
|
@@ -37960,7 +38099,8 @@ function DataTable({
|
|
|
37960
38099
|
bulkActions,
|
|
37961
38100
|
headerActions,
|
|
37962
38101
|
showTotal = true,
|
|
37963
|
-
className
|
|
38102
|
+
className,
|
|
38103
|
+
look = "dense"
|
|
37964
38104
|
}) {
|
|
37965
38105
|
const [openActionMenu, setOpenActionMenu] = React98.useState(
|
|
37966
38106
|
null
|
|
@@ -38087,6 +38227,7 @@ function DataTable({
|
|
|
38087
38227
|
{
|
|
38088
38228
|
className: cn(
|
|
38089
38229
|
"bg-card border-2 border-border rounded-none overflow-hidden",
|
|
38230
|
+
lookStyles7[look],
|
|
38090
38231
|
className
|
|
38091
38232
|
),
|
|
38092
38233
|
children: [
|
|
@@ -38313,6 +38454,7 @@ function DataTable({
|
|
|
38313
38454
|
}
|
|
38314
38455
|
);
|
|
38315
38456
|
}
|
|
38457
|
+
var lookStyles7;
|
|
38316
38458
|
var init_DataTable = __esm({
|
|
38317
38459
|
"components/organisms/DataTable.tsx"() {
|
|
38318
38460
|
"use client";
|
|
@@ -38326,6 +38468,13 @@ var init_DataTable = __esm({
|
|
|
38326
38468
|
init_useEventBus();
|
|
38327
38469
|
init_useTranslate();
|
|
38328
38470
|
init_types3();
|
|
38471
|
+
lookStyles7 = {
|
|
38472
|
+
dense: "",
|
|
38473
|
+
spacious: "[&_tbody_tr_td]:py-5 [&_thead_tr_th]:py-4",
|
|
38474
|
+
striped: "[&_tbody_tr:nth-child(odd)]:bg-muted/30",
|
|
38475
|
+
borderless: "border-0 [&_thead]:border-b-0 [&_tbody_tr]:border-b-0 [&_tbody]:divide-y-0",
|
|
38476
|
+
"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"
|
|
38477
|
+
};
|
|
38329
38478
|
DataTable.displayName = "DataTable";
|
|
38330
38479
|
}
|
|
38331
38480
|
});
|
|
@@ -41484,7 +41633,7 @@ var init_GraphCanvas = __esm({
|
|
|
41484
41633
|
GraphCanvas.displayName = "GraphCanvas";
|
|
41485
41634
|
}
|
|
41486
41635
|
});
|
|
41487
|
-
var Header;
|
|
41636
|
+
var lookStyles8, Header;
|
|
41488
41637
|
var init_Header = __esm({
|
|
41489
41638
|
"components/organisms/Header.tsx"() {
|
|
41490
41639
|
"use client";
|
|
@@ -41497,6 +41646,13 @@ var init_Header = __esm({
|
|
|
41497
41646
|
init_Typography();
|
|
41498
41647
|
init_cn();
|
|
41499
41648
|
init_useTranslate();
|
|
41649
|
+
lookStyles8 = {
|
|
41650
|
+
"compact-bar": "",
|
|
41651
|
+
hero: "py-section min-h-[200px] [&_h1]:text-display-1",
|
|
41652
|
+
breadcrumb: "py-2 text-sm [&_h1]:text-base [&_h1]:font-medium",
|
|
41653
|
+
contextual: "py-3 [&_h1]:text-lg",
|
|
41654
|
+
"editorial-banner": "py-12 [&_h1]:text-display-2 [&_h1]:font-display-bold border-b border-border"
|
|
41655
|
+
};
|
|
41500
41656
|
Header = ({
|
|
41501
41657
|
logo,
|
|
41502
41658
|
logoSrc,
|
|
@@ -41514,6 +41670,7 @@ var init_Header = __esm({
|
|
|
41514
41670
|
actions,
|
|
41515
41671
|
sticky = true,
|
|
41516
41672
|
variant = "mobile",
|
|
41673
|
+
look = "compact-bar",
|
|
41517
41674
|
onLogoClick,
|
|
41518
41675
|
className
|
|
41519
41676
|
}) => {
|
|
@@ -41529,6 +41686,7 @@ var init_Header = __esm({
|
|
|
41529
41686
|
"flex items-center px-4 justify-between bg-card",
|
|
41530
41687
|
sticky && "sticky top-0 z-50",
|
|
41531
41688
|
variant === "mobile" && "lg:hidden",
|
|
41689
|
+
lookStyles8[look],
|
|
41532
41690
|
className
|
|
41533
41691
|
),
|
|
41534
41692
|
children: [
|
|
@@ -48224,7 +48382,7 @@ var init_TeamOrganism = __esm({
|
|
|
48224
48382
|
TeamOrganism.displayName = "TeamOrganism";
|
|
48225
48383
|
}
|
|
48226
48384
|
});
|
|
48227
|
-
var STATUS_STYLES3, Timeline;
|
|
48385
|
+
var lookStyles9, STATUS_STYLES3, Timeline;
|
|
48228
48386
|
var init_Timeline = __esm({
|
|
48229
48387
|
"components/organisms/Timeline.tsx"() {
|
|
48230
48388
|
"use client";
|
|
@@ -48235,6 +48393,12 @@ var init_Timeline = __esm({
|
|
|
48235
48393
|
init_ErrorState();
|
|
48236
48394
|
init_EmptyState();
|
|
48237
48395
|
init_useTranslate();
|
|
48396
|
+
lookStyles9 = {
|
|
48397
|
+
"vertical-compact": "gap-1 [&>*]:py-1",
|
|
48398
|
+
"vertical-spacious": "",
|
|
48399
|
+
horizontal: "flex-row [&>*]:flex-row [&>*]:items-center",
|
|
48400
|
+
swimlane: "flex-row gap-6 [&>*]:flex-row [&>*]:items-center"
|
|
48401
|
+
};
|
|
48238
48402
|
STATUS_STYLES3 = {
|
|
48239
48403
|
complete: {
|
|
48240
48404
|
dotColor: "text-success",
|
|
@@ -48265,7 +48429,8 @@ var init_Timeline = __esm({
|
|
|
48265
48429
|
entity,
|
|
48266
48430
|
isLoading = false,
|
|
48267
48431
|
error,
|
|
48268
|
-
className
|
|
48432
|
+
className,
|
|
48433
|
+
look = "vertical-spacious"
|
|
48269
48434
|
}) => {
|
|
48270
48435
|
const { t } = useTranslate();
|
|
48271
48436
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
@@ -48321,7 +48486,7 @@ var init_Timeline = __esm({
|
|
|
48321
48486
|
}
|
|
48322
48487
|
return /* @__PURE__ */ jsxRuntime.jsx(Card, { className: cn("p-6", className), children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "md", children: [
|
|
48323
48488
|
title && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h5", weight: "semibold", children: title }),
|
|
48324
|
-
/* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "none", className: "relative", children: items.map((item, idx) => {
|
|
48489
|
+
/* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "none", className: cn("relative", lookStyles9[look]), children: items.map((item, idx) => {
|
|
48325
48490
|
const status = item.status || "pending";
|
|
48326
48491
|
const style = STATUS_STYLES3[status] || STATUS_STYLES3.pending;
|
|
48327
48492
|
const ItemIcon = item.icon || style.icon;
|