@almadar/ui 5.4.0 → 5.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/avl/index.cjs +332 -167
- package/dist/avl/index.js +332 -167
- package/dist/components/index.cjs +329 -164
- package/dist/components/index.js +329 -164
- package/dist/components/molecules/ButtonGroup.d.ts +10 -0
- package/dist/components/molecules/DataGrid.d.ts +5 -0
- package/dist/components/molecules/DataList.d.ts +5 -0
- package/dist/components/molecules/EmptyState.d.ts +3 -0
- package/dist/components/molecules/FilterGroup.d.ts +7 -0
- package/dist/components/molecules/Modal.d.ts +7 -0
- package/dist/components/molecules/StatDisplay.d.ts +3 -0
- package/dist/components/organisms/Chart.d.ts +20 -1
- package/dist/components/organisms/DataTable.d.ts +4 -1
- package/dist/components/organisms/Header.d.ts +3 -0
- package/dist/components/organisms/Timeline.d.ts +7 -0
- package/dist/providers/index.cjs +332 -167
- package/dist/providers/index.js +332 -167
- package/dist/runtime/index.cjs +332 -167
- package/dist/runtime/index.js +332 -167
- package/package.json +1 -1
package/dist/runtime/index.cjs
CHANGED
|
@@ -2190,7 +2190,7 @@ var init_Overlay = __esm({
|
|
|
2190
2190
|
};
|
|
2191
2191
|
}
|
|
2192
2192
|
});
|
|
2193
|
-
var sizeClasses2, minWidthClasses, Modal;
|
|
2193
|
+
var sizeClasses2, minWidthClasses, lookStyles, Modal;
|
|
2194
2194
|
var init_Modal = __esm({
|
|
2195
2195
|
"components/molecules/Modal.tsx"() {
|
|
2196
2196
|
"use client";
|
|
@@ -2215,6 +2215,12 @@ var init_Modal = __esm({
|
|
|
2215
2215
|
xl: "min-w-[700px] max-sm:min-w-0",
|
|
2216
2216
|
full: "min-w-0"
|
|
2217
2217
|
};
|
|
2218
|
+
lookStyles = {
|
|
2219
|
+
"centered-card": "",
|
|
2220
|
+
"top-sheet": "top-0 rounded-t-none rounded-b-container max-w-full w-full",
|
|
2221
|
+
"side-drawer": "right-0 top-0 bottom-0 h-full rounded-l-container rounded-r-none w-[400px] max-w-full",
|
|
2222
|
+
"full-screen": "inset-0 rounded-none w-full h-full max-w-full"
|
|
2223
|
+
};
|
|
2218
2224
|
Modal = ({
|
|
2219
2225
|
isOpen = true,
|
|
2220
2226
|
onClose = () => {
|
|
@@ -2228,7 +2234,8 @@ var init_Modal = __esm({
|
|
|
2228
2234
|
closeOnEscape = true,
|
|
2229
2235
|
className,
|
|
2230
2236
|
closeEvent,
|
|
2231
|
-
swipeDownToClose = true
|
|
2237
|
+
swipeDownToClose = true,
|
|
2238
|
+
look = "centered-card"
|
|
2232
2239
|
}) => {
|
|
2233
2240
|
const eventBus = useEventBus();
|
|
2234
2241
|
const modalRef = React85.useRef(null);
|
|
@@ -2313,6 +2320,7 @@ var init_Modal = __esm({
|
|
|
2313
2320
|
// Mobile: take the entire screen. Override desktop max-w cap,
|
|
2314
2321
|
// full height, no rounded corners, no min-width.
|
|
2315
2322
|
"max-sm:max-w-none max-sm:max-h-none max-sm:w-full max-sm:h-full max-sm:rounded-none",
|
|
2323
|
+
lookStyles[look],
|
|
2316
2324
|
className
|
|
2317
2325
|
),
|
|
2318
2326
|
style: dragY > 0 ? {
|
|
@@ -3887,7 +3895,7 @@ var init_Checkbox = __esm({
|
|
|
3887
3895
|
Checkbox.displayName = "Checkbox";
|
|
3888
3896
|
}
|
|
3889
3897
|
});
|
|
3890
|
-
var variantStyles4, paddingStyles2, shadowStyles2,
|
|
3898
|
+
var variantStyles4, paddingStyles2, shadowStyles2, lookStyles2, Card, CardHeader, CardTitle, CardContent, CardBody, CardFooter;
|
|
3891
3899
|
var init_Card = __esm({
|
|
3892
3900
|
"components/atoms/Card.tsx"() {
|
|
3893
3901
|
init_cn();
|
|
@@ -3935,7 +3943,7 @@ var init_Card = __esm({
|
|
|
3935
3943
|
md: "shadow",
|
|
3936
3944
|
lg: "shadow-elevation-dialog"
|
|
3937
3945
|
};
|
|
3938
|
-
|
|
3946
|
+
lookStyles2 = {
|
|
3939
3947
|
elevated: "",
|
|
3940
3948
|
"flat-bordered": "shadow-none border-[length:var(--border-width)] border-border",
|
|
3941
3949
|
"borderless-divider": "shadow-none border-0 border-b border-border rounded-none",
|
|
@@ -3965,7 +3973,7 @@ var init_Card = __esm({
|
|
|
3965
3973
|
"transition-all duration-[var(--transition-normal)]",
|
|
3966
3974
|
variantStyles4[variant],
|
|
3967
3975
|
paddingStyles2[padding],
|
|
3968
|
-
|
|
3976
|
+
lookStyles2[look],
|
|
3969
3977
|
shadow && shadowStyles2[shadow],
|
|
3970
3978
|
className
|
|
3971
3979
|
),
|
|
@@ -16193,7 +16201,7 @@ var init_BookTableOfContents = __esm({
|
|
|
16193
16201
|
BookTableOfContents.displayName = "BookTableOfContents";
|
|
16194
16202
|
}
|
|
16195
16203
|
});
|
|
16196
|
-
var ICON_NAME_ALIASES, EmptyState;
|
|
16204
|
+
var ICON_NAME_ALIASES, lookStyles3, EmptyState;
|
|
16197
16205
|
var init_EmptyState = __esm({
|
|
16198
16206
|
"components/molecules/EmptyState.tsx"() {
|
|
16199
16207
|
"use client";
|
|
@@ -16210,6 +16218,12 @@ var init_EmptyState = __esm({
|
|
|
16210
16218
|
error: "x-circle",
|
|
16211
16219
|
warning: "alert-circle"
|
|
16212
16220
|
};
|
|
16221
|
+
lookStyles3 = {
|
|
16222
|
+
"icon-only": "",
|
|
16223
|
+
illustrated: "[&_svg]:w-32 [&_svg]:h-32",
|
|
16224
|
+
"text-only": "[&_svg]:hidden",
|
|
16225
|
+
mascot: "[&_svg]:w-24 [&_svg]:h-24 [&_svg]:rounded-pill"
|
|
16226
|
+
};
|
|
16213
16227
|
EmptyState = ({
|
|
16214
16228
|
icon,
|
|
16215
16229
|
title,
|
|
@@ -16220,7 +16234,8 @@ var init_EmptyState = __esm({
|
|
|
16220
16234
|
className,
|
|
16221
16235
|
destructive,
|
|
16222
16236
|
variant,
|
|
16223
|
-
actionEvent
|
|
16237
|
+
actionEvent,
|
|
16238
|
+
look = "icon-only"
|
|
16224
16239
|
}) => {
|
|
16225
16240
|
const eventBus = useEventBus();
|
|
16226
16241
|
const { t } = useTranslate();
|
|
@@ -16240,6 +16255,7 @@ var init_EmptyState = __esm({
|
|
|
16240
16255
|
align: "center",
|
|
16241
16256
|
className: cn(
|
|
16242
16257
|
"justify-center py-12 text-center",
|
|
16258
|
+
lookStyles3[look],
|
|
16243
16259
|
className
|
|
16244
16260
|
),
|
|
16245
16261
|
children: [
|
|
@@ -17480,7 +17496,7 @@ function useSafeEventBus2() {
|
|
|
17480
17496
|
} };
|
|
17481
17497
|
}
|
|
17482
17498
|
}
|
|
17483
|
-
var log8, ButtonGroup;
|
|
17499
|
+
var log8, lookStyles4, ButtonGroup;
|
|
17484
17500
|
var init_ButtonGroup = __esm({
|
|
17485
17501
|
"components/molecules/ButtonGroup.tsx"() {
|
|
17486
17502
|
"use client";
|
|
@@ -17488,6 +17504,13 @@ var init_ButtonGroup = __esm({
|
|
|
17488
17504
|
init_atoms();
|
|
17489
17505
|
init_useEventBus();
|
|
17490
17506
|
log8 = logger.createLogger("almadar:ui:button-group");
|
|
17507
|
+
lookStyles4 = {
|
|
17508
|
+
"right-aligned-buttons": "",
|
|
17509
|
+
"floating-bar": "fixed bottom-section left-1/2 -translate-x-1/2 shadow-elevation-toast bg-card p-card-sm rounded-container",
|
|
17510
|
+
"inline-row": "gap-2 inline-flex",
|
|
17511
|
+
"dropdown-menu": "[&>button:not(:first-child)]:hidden",
|
|
17512
|
+
"command-palette-trigger": "[&>button:not(:first-child)]:hidden"
|
|
17513
|
+
};
|
|
17491
17514
|
ButtonGroup = ({
|
|
17492
17515
|
children,
|
|
17493
17516
|
primary,
|
|
@@ -17497,7 +17520,8 @@ var init_ButtonGroup = __esm({
|
|
|
17497
17520
|
className,
|
|
17498
17521
|
// Filter-group pattern props (entity and filters are used for schema-driven filtering)
|
|
17499
17522
|
entity: _entity,
|
|
17500
|
-
filters
|
|
17523
|
+
filters,
|
|
17524
|
+
look = "right-aligned-buttons"
|
|
17501
17525
|
}) => {
|
|
17502
17526
|
const eventBus = useSafeEventBus2();
|
|
17503
17527
|
const variantClasses2 = {
|
|
@@ -17574,6 +17598,7 @@ var init_ButtonGroup = __esm({
|
|
|
17574
17598
|
"inline-flex gap-2",
|
|
17575
17599
|
variantClasses2[variant],
|
|
17576
17600
|
orientationClasses[orientation],
|
|
17601
|
+
lookStyles4[look],
|
|
17577
17602
|
className
|
|
17578
17603
|
),
|
|
17579
17604
|
role: "group",
|
|
@@ -20038,7 +20063,7 @@ var init_CastleTemplate = __esm({
|
|
|
20038
20063
|
CastleTemplate.displayName = "CastleTemplate";
|
|
20039
20064
|
}
|
|
20040
20065
|
});
|
|
20041
|
-
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, Chart;
|
|
20066
|
+
var CHART_COLORS, seriesColor, monthFormatter, formatTimeLabel, BarChart, PieChart, LineChart, ScatterChart, LOOK_FROM_CHART_TYPE, Chart;
|
|
20042
20067
|
var init_Chart = __esm({
|
|
20043
20068
|
"components/organisms/Chart.tsx"() {
|
|
20044
20069
|
"use client";
|
|
@@ -20068,7 +20093,7 @@ var init_Chart = __esm({
|
|
|
20068
20093
|
if (Number.isNaN(parsed.getTime())) return raw;
|
|
20069
20094
|
return monthFormatter.format(parsed);
|
|
20070
20095
|
};
|
|
20071
|
-
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, onPointClick }) => {
|
|
20096
|
+
BarChart = ({ series, height, showValues, stack, timeAxis, histogram = false, horizontal = false, onPointClick }) => {
|
|
20072
20097
|
const categories = React85.useMemo(() => {
|
|
20073
20098
|
const set = [];
|
|
20074
20099
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -20106,6 +20131,64 @@ var init_Chart = __esm({
|
|
|
20106
20131
|
}
|
|
20107
20132
|
return m;
|
|
20108
20133
|
}, [series, stack, columnTotals]);
|
|
20134
|
+
if (horizontal) {
|
|
20135
|
+
return /* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "xs", align: "stretch", className: "w-full", style: { minHeight: height }, children: categories.map((label, catIdx) => {
|
|
20136
|
+
const displayLabel = timeAxis ? formatTimeLabel(label) : label;
|
|
20137
|
+
const total = columnTotals?.[catIdx] ?? 1;
|
|
20138
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", align: "center", className: "w-full", children: [
|
|
20139
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
20140
|
+
Typography,
|
|
20141
|
+
{
|
|
20142
|
+
variant: "caption",
|
|
20143
|
+
color: "secondary",
|
|
20144
|
+
className: "truncate text-right",
|
|
20145
|
+
style: { width: 80, flexShrink: 0 },
|
|
20146
|
+
children: displayLabel
|
|
20147
|
+
}
|
|
20148
|
+
),
|
|
20149
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
20150
|
+
HStack,
|
|
20151
|
+
{
|
|
20152
|
+
gap: stack === "none" ? "xs" : "none",
|
|
20153
|
+
align: "center",
|
|
20154
|
+
className: "flex-1 min-w-0",
|
|
20155
|
+
style: { height: 24 },
|
|
20156
|
+
children: series.map((s, sIdx) => {
|
|
20157
|
+
const value = valueAt(s, label);
|
|
20158
|
+
const ratio = stack === "normalize" ? total === 0 ? 0 : value / total * 100 : value / maxValue * 100;
|
|
20159
|
+
const color = seriesColor(s, sIdx);
|
|
20160
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20161
|
+
Box,
|
|
20162
|
+
{
|
|
20163
|
+
className: "h-full rounded-r-sm transition-all duration-500 ease-out min-w-[2px] cursor-pointer hover:opacity-80",
|
|
20164
|
+
style: {
|
|
20165
|
+
width: `${ratio}%`,
|
|
20166
|
+
backgroundColor: color
|
|
20167
|
+
},
|
|
20168
|
+
onClick: () => onPointClick?.(
|
|
20169
|
+
{ label, value, color },
|
|
20170
|
+
s.name
|
|
20171
|
+
),
|
|
20172
|
+
title: `${s.name}: ${value}`
|
|
20173
|
+
},
|
|
20174
|
+
s.name
|
|
20175
|
+
);
|
|
20176
|
+
})
|
|
20177
|
+
}
|
|
20178
|
+
),
|
|
20179
|
+
showValues && series.length === 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20180
|
+
Typography,
|
|
20181
|
+
{
|
|
20182
|
+
variant: "caption",
|
|
20183
|
+
color: "secondary",
|
|
20184
|
+
className: "tabular-nums",
|
|
20185
|
+
style: { width: 40, flexShrink: 0 },
|
|
20186
|
+
children: valueAt(series[0], label)
|
|
20187
|
+
}
|
|
20188
|
+
)
|
|
20189
|
+
] }, label);
|
|
20190
|
+
}) });
|
|
20191
|
+
}
|
|
20109
20192
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20110
20193
|
HStack,
|
|
20111
20194
|
{
|
|
@@ -20533,10 +20616,20 @@ var init_Chart = __esm({
|
|
|
20533
20616
|
}
|
|
20534
20617
|
);
|
|
20535
20618
|
};
|
|
20619
|
+
LOOK_FROM_CHART_TYPE = {
|
|
20620
|
+
bar: "bar-vertical",
|
|
20621
|
+
line: "line",
|
|
20622
|
+
pie: "pie",
|
|
20623
|
+
area: "area",
|
|
20624
|
+
donut: "donut",
|
|
20625
|
+
scatter: "scatter",
|
|
20626
|
+
histogram: "histogram"
|
|
20627
|
+
};
|
|
20536
20628
|
Chart = ({
|
|
20537
20629
|
title,
|
|
20538
20630
|
subtitle,
|
|
20539
|
-
chartType
|
|
20631
|
+
chartType,
|
|
20632
|
+
look,
|
|
20540
20633
|
series,
|
|
20541
20634
|
data: simpleData,
|
|
20542
20635
|
scatterData,
|
|
@@ -20552,6 +20645,7 @@ var init_Chart = __esm({
|
|
|
20552
20645
|
error,
|
|
20553
20646
|
className
|
|
20554
20647
|
}) => {
|
|
20648
|
+
const resolvedLook = look ?? (chartType ? LOOK_FROM_CHART_TYPE[chartType] : "bar-vertical");
|
|
20555
20649
|
const eventBus = useEventBus();
|
|
20556
20650
|
const { t } = useTranslate();
|
|
20557
20651
|
const handleAction = React85.useCallback(
|
|
@@ -20580,7 +20674,7 @@ var init_Chart = __esm({
|
|
|
20580
20674
|
return [];
|
|
20581
20675
|
}, [simpleData, series]);
|
|
20582
20676
|
const firstSeriesData = normalizedSeries[0]?.data ?? [];
|
|
20583
|
-
const hasContent =
|
|
20677
|
+
const hasContent = resolvedLook === "scatter" ? (scatterData?.length ?? 0) > 0 : normalizedSeries.some((s) => s.data.length > 0);
|
|
20584
20678
|
if (isLoading) {
|
|
20585
20679
|
return /* @__PURE__ */ jsxRuntime.jsx(LoadingState, { message: "Loading chart...", className });
|
|
20586
20680
|
}
|
|
@@ -20615,7 +20709,18 @@ var init_Chart = __esm({
|
|
|
20615
20709
|
)) })
|
|
20616
20710
|
] }),
|
|
20617
20711
|
/* @__PURE__ */ jsxRuntime.jsxs(Box, { className: "w-full", children: [
|
|
20618
|
-
|
|
20712
|
+
resolvedLook === "bar-vertical" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20713
|
+
BarChart,
|
|
20714
|
+
{
|
|
20715
|
+
series: normalizedSeries,
|
|
20716
|
+
height,
|
|
20717
|
+
showValues,
|
|
20718
|
+
stack,
|
|
20719
|
+
timeAxis,
|
|
20720
|
+
onPointClick: handlePointClick
|
|
20721
|
+
}
|
|
20722
|
+
),
|
|
20723
|
+
resolvedLook === "bar-horizontal" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20619
20724
|
BarChart,
|
|
20620
20725
|
{
|
|
20621
20726
|
series: normalizedSeries,
|
|
@@ -20623,10 +20728,11 @@ var init_Chart = __esm({
|
|
|
20623
20728
|
showValues,
|
|
20624
20729
|
stack,
|
|
20625
20730
|
timeAxis,
|
|
20731
|
+
horizontal: true,
|
|
20626
20732
|
onPointClick: handlePointClick
|
|
20627
20733
|
}
|
|
20628
20734
|
),
|
|
20629
|
-
|
|
20735
|
+
resolvedLook === "histogram" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20630
20736
|
BarChart,
|
|
20631
20737
|
{
|
|
20632
20738
|
series: normalizedSeries,
|
|
@@ -20638,7 +20744,7 @@ var init_Chart = __esm({
|
|
|
20638
20744
|
onPointClick: handlePointClick
|
|
20639
20745
|
}
|
|
20640
20746
|
),
|
|
20641
|
-
|
|
20747
|
+
resolvedLook === "line" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20642
20748
|
LineChart,
|
|
20643
20749
|
{
|
|
20644
20750
|
series: normalizedSeries,
|
|
@@ -20648,7 +20754,7 @@ var init_Chart = __esm({
|
|
|
20648
20754
|
onPointClick: handlePointClick
|
|
20649
20755
|
}
|
|
20650
20756
|
),
|
|
20651
|
-
|
|
20757
|
+
resolvedLook === "area" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20652
20758
|
LineChart,
|
|
20653
20759
|
{
|
|
20654
20760
|
series: normalizedSeries,
|
|
@@ -20659,7 +20765,7 @@ var init_Chart = __esm({
|
|
|
20659
20765
|
onPointClick: handlePointClick
|
|
20660
20766
|
}
|
|
20661
20767
|
),
|
|
20662
|
-
|
|
20768
|
+
resolvedLook === "pie" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20663
20769
|
PieChart,
|
|
20664
20770
|
{
|
|
20665
20771
|
data: firstSeriesData,
|
|
@@ -20668,7 +20774,7 @@ var init_Chart = __esm({
|
|
|
20668
20774
|
onPointClick: handlePointClick
|
|
20669
20775
|
}
|
|
20670
20776
|
),
|
|
20671
|
-
|
|
20777
|
+
resolvedLook === "donut" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20672
20778
|
PieChart,
|
|
20673
20779
|
{
|
|
20674
20780
|
data: firstSeriesData,
|
|
@@ -20678,7 +20784,7 @@ var init_Chart = __esm({
|
|
|
20678
20784
|
onPointClick: handlePointClick
|
|
20679
20785
|
}
|
|
20680
20786
|
),
|
|
20681
|
-
|
|
20787
|
+
resolvedLook === "scatter" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20682
20788
|
ScatterChart,
|
|
20683
20789
|
{
|
|
20684
20790
|
data: scatterData ?? [],
|
|
@@ -24023,7 +24129,7 @@ var init_FormField = __esm({
|
|
|
24023
24129
|
FormField.displayName = "FormField";
|
|
24024
24130
|
}
|
|
24025
24131
|
});
|
|
24026
|
-
var resolveFilterType, FilterGroup;
|
|
24132
|
+
var resolveFilterType, lookStyles5, FilterGroup;
|
|
24027
24133
|
var init_FilterGroup = __esm({
|
|
24028
24134
|
"components/molecules/FilterGroup.tsx"() {
|
|
24029
24135
|
"use client";
|
|
@@ -24037,6 +24143,13 @@ var init_FilterGroup = __esm({
|
|
|
24037
24143
|
init_useEventBus();
|
|
24038
24144
|
init_useQuerySingleton();
|
|
24039
24145
|
resolveFilterType = (filter) => filter.filterType ?? filter.type;
|
|
24146
|
+
lookStyles5 = {
|
|
24147
|
+
toolbar: "",
|
|
24148
|
+
chips: "gap-2 [&>*]:rounded-pill [&>*]:px-3 [&>*]:py-1",
|
|
24149
|
+
pills: "gap-2 [&>*]:rounded-pill",
|
|
24150
|
+
"popover-trigger": "[&>*:not(:first-child)]:hidden",
|
|
24151
|
+
"inline-column-header": "hidden"
|
|
24152
|
+
};
|
|
24040
24153
|
FilterGroup = ({
|
|
24041
24154
|
entity,
|
|
24042
24155
|
filters,
|
|
@@ -24046,7 +24159,8 @@ var init_FilterGroup = __esm({
|
|
|
24046
24159
|
variant = "default",
|
|
24047
24160
|
showIcon = true,
|
|
24048
24161
|
query,
|
|
24049
|
-
isLoading
|
|
24162
|
+
isLoading,
|
|
24163
|
+
look = "toolbar"
|
|
24050
24164
|
}) => {
|
|
24051
24165
|
const eventBus = useEventBus();
|
|
24052
24166
|
const queryState = useQuerySingleton(query);
|
|
@@ -24101,63 +24215,71 @@ var init_FilterGroup = __esm({
|
|
|
24101
24215
|
}, [onClearAll, queryState, eventBus, entity, query]);
|
|
24102
24216
|
const activeFilterCount = Object.keys(selectedValues).length;
|
|
24103
24217
|
if (variant === "pills") {
|
|
24104
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24105
|
-
|
|
24106
|
-
|
|
24107
|
-
|
|
24108
|
-
|
|
24109
|
-
|
|
24110
|
-
|
|
24111
|
-
|
|
24112
|
-
HStack,
|
|
24113
|
-
|
|
24114
|
-
|
|
24115
|
-
|
|
24116
|
-
|
|
24117
|
-
|
|
24118
|
-
|
|
24119
|
-
|
|
24120
|
-
|
|
24121
|
-
|
|
24122
|
-
|
|
24123
|
-
|
|
24124
|
-
|
|
24125
|
-
|
|
24126
|
-
|
|
24127
|
-
|
|
24128
|
-
|
|
24129
|
-
|
|
24130
|
-
|
|
24131
|
-
|
|
24132
|
-
|
|
24133
|
-
|
|
24134
|
-
className: cn(
|
|
24135
|
-
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
24136
|
-
"border-l-[length:var(--border-width)] border-border",
|
|
24137
|
-
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
24218
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24219
|
+
HStack,
|
|
24220
|
+
{
|
|
24221
|
+
gap: "md",
|
|
24222
|
+
align: "center",
|
|
24223
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
24224
|
+
children: [
|
|
24225
|
+
showIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
24226
|
+
filters.map((filter) => /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
24227
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-medium text-muted-foreground", children: [
|
|
24228
|
+
filter.label,
|
|
24229
|
+
":"
|
|
24230
|
+
] }),
|
|
24231
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
24232
|
+
HStack,
|
|
24233
|
+
{
|
|
24234
|
+
gap: "none",
|
|
24235
|
+
className: "rounded-sm overflow-hidden border-[length:var(--border-width)] border-border",
|
|
24236
|
+
children: [
|
|
24237
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24238
|
+
"button",
|
|
24239
|
+
{
|
|
24240
|
+
type: "button",
|
|
24241
|
+
onClick: () => handleFilterSelect(filter.field, null),
|
|
24242
|
+
className: cn(
|
|
24243
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
24244
|
+
!selectedValues[filter.field] ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
24245
|
+
),
|
|
24246
|
+
children: "All"
|
|
24247
|
+
}
|
|
24138
24248
|
),
|
|
24139
|
-
|
|
24140
|
-
|
|
24141
|
-
|
|
24142
|
-
|
|
24143
|
-
|
|
24144
|
-
|
|
24145
|
-
|
|
24146
|
-
|
|
24147
|
-
|
|
24148
|
-
|
|
24149
|
-
|
|
24150
|
-
|
|
24151
|
-
|
|
24152
|
-
|
|
24153
|
-
|
|
24154
|
-
|
|
24155
|
-
|
|
24156
|
-
|
|
24157
|
-
|
|
24249
|
+
filter.options?.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
24250
|
+
"button",
|
|
24251
|
+
{
|
|
24252
|
+
type: "button",
|
|
24253
|
+
onClick: () => handleFilterSelect(filter.field, option),
|
|
24254
|
+
className: cn(
|
|
24255
|
+
"px-3 py-1.5 text-sm font-medium transition-all duration-[var(--transition-fast)]",
|
|
24256
|
+
"border-l-[length:var(--border-width)] border-border",
|
|
24257
|
+
selectedValues[filter.field] === option ? "bg-primary text-primary-foreground" : "bg-card text-muted-foreground hover:bg-muted"
|
|
24258
|
+
),
|
|
24259
|
+
children: option
|
|
24260
|
+
},
|
|
24261
|
+
option
|
|
24262
|
+
))
|
|
24263
|
+
]
|
|
24264
|
+
}
|
|
24265
|
+
)
|
|
24266
|
+
] }, filter.field)),
|
|
24267
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24268
|
+
Button,
|
|
24269
|
+
{
|
|
24270
|
+
variant: "ghost",
|
|
24271
|
+
size: "sm",
|
|
24272
|
+
onClick: handleClearAll,
|
|
24273
|
+
leftIcon: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "x", className: "h-3.5 w-3.5" }),
|
|
24274
|
+
children: "Clear"
|
|
24275
|
+
}
|
|
24276
|
+
)
|
|
24277
|
+
]
|
|
24278
|
+
}
|
|
24279
|
+
);
|
|
24158
24280
|
}
|
|
24159
24281
|
if (variant === "vertical") {
|
|
24160
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4", className), children: [
|
|
24282
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4", lookStyles5[look], className), children: [
|
|
24161
24283
|
showIcon && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-muted-foreground", children: [
|
|
24162
24284
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4" }),
|
|
24163
24285
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: "Filters" })
|
|
@@ -24240,92 +24362,100 @@ var init_FilterGroup = __esm({
|
|
|
24240
24362
|
] });
|
|
24241
24363
|
}
|
|
24242
24364
|
if (variant === "compact") {
|
|
24243
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24244
|
-
|
|
24245
|
-
|
|
24246
|
-
|
|
24247
|
-
|
|
24248
|
-
|
|
24249
|
-
|
|
24250
|
-
|
|
24251
|
-
|
|
24252
|
-
|
|
24253
|
-
|
|
24254
|
-
|
|
24255
|
-
|
|
24256
|
-
|
|
24257
|
-
|
|
24258
|
-
|
|
24259
|
-
|
|
24260
|
-
|
|
24261
|
-
|
|
24262
|
-
|
|
24263
|
-
|
|
24264
|
-
|
|
24265
|
-
|
|
24266
|
-
|
|
24267
|
-
|
|
24268
|
-
|
|
24269
|
-
|
|
24270
|
-
|
|
24271
|
-
|
|
24272
|
-
|
|
24273
|
-
value: selectedValues[`${filter.field}_to`] || "",
|
|
24274
|
-
onChange: (e) => handleFilterSelect(
|
|
24275
|
-
`${filter.field}_to`,
|
|
24276
|
-
e.target.value || null
|
|
24365
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24366
|
+
HStack,
|
|
24367
|
+
{
|
|
24368
|
+
gap: "sm",
|
|
24369
|
+
align: "center",
|
|
24370
|
+
className: cn("flex-wrap", lookStyles5[look], className),
|
|
24371
|
+
children: [
|
|
24372
|
+
showIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "filter", className: "h-4 w-4 text-muted-foreground" }),
|
|
24373
|
+
filters.map((filter) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-[120px]", children: resolveFilterType(filter) === "date" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
24374
|
+
Input,
|
|
24375
|
+
{
|
|
24376
|
+
type: "date",
|
|
24377
|
+
value: selectedValues[filter.field] || "",
|
|
24378
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
24379
|
+
clearable: true,
|
|
24380
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
24381
|
+
className: "text-sm"
|
|
24382
|
+
}
|
|
24383
|
+
) : resolveFilterType(filter) === "daterange" || resolveFilterType(filter) === "date-range" ? /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", align: "center", children: [
|
|
24384
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24385
|
+
Input,
|
|
24386
|
+
{
|
|
24387
|
+
type: "date",
|
|
24388
|
+
value: selectedValues[`${filter.field}_from`] || "",
|
|
24389
|
+
onChange: (e) => handleFilterSelect(
|
|
24390
|
+
`${filter.field}_from`,
|
|
24391
|
+
e.target.value || null
|
|
24392
|
+
),
|
|
24393
|
+
className: "text-sm min-w-[100px]"
|
|
24394
|
+
}
|
|
24277
24395
|
),
|
|
24278
|
-
className: "text-
|
|
24279
|
-
|
|
24280
|
-
|
|
24281
|
-
|
|
24282
|
-
|
|
24283
|
-
|
|
24284
|
-
|
|
24285
|
-
|
|
24286
|
-
|
|
24287
|
-
|
|
24288
|
-
|
|
24289
|
-
|
|
24290
|
-
|
|
24291
|
-
|
|
24292
|
-
|
|
24293
|
-
{
|
|
24294
|
-
value: selectedValues[filter.field] || "all",
|
|
24295
|
-
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
24296
|
-
options: [
|
|
24297
|
-
{ value: "all", label: `All ${filter.label}` },
|
|
24298
|
-
...filter.options?.map((opt) => ({
|
|
24299
|
-
value: opt,
|
|
24300
|
-
label: opt
|
|
24301
|
-
})) || []
|
|
24302
|
-
],
|
|
24303
|
-
className: "text-sm"
|
|
24304
|
-
}
|
|
24305
|
-
) }, filter.field)),
|
|
24306
|
-
activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
24307
|
-
Object.entries(selectedValues).map(([field, value]) => {
|
|
24308
|
-
const filterDef = filters.find((f3) => f3.field === field);
|
|
24309
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24310
|
-
Badge,
|
|
24396
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "-" }),
|
|
24397
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24398
|
+
Input,
|
|
24399
|
+
{
|
|
24400
|
+
type: "date",
|
|
24401
|
+
value: selectedValues[`${filter.field}_to`] || "",
|
|
24402
|
+
onChange: (e) => handleFilterSelect(
|
|
24403
|
+
`${filter.field}_to`,
|
|
24404
|
+
e.target.value || null
|
|
24405
|
+
),
|
|
24406
|
+
className: "text-sm min-w-[100px]"
|
|
24407
|
+
}
|
|
24408
|
+
)
|
|
24409
|
+
] }) : resolveFilterType(filter) === "text" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
24410
|
+
Input,
|
|
24311
24411
|
{
|
|
24312
|
-
|
|
24313
|
-
|
|
24314
|
-
|
|
24315
|
-
|
|
24316
|
-
|
|
24317
|
-
|
|
24318
|
-
|
|
24319
|
-
|
|
24320
|
-
|
|
24321
|
-
|
|
24322
|
-
|
|
24323
|
-
|
|
24324
|
-
|
|
24325
|
-
|
|
24326
|
-
|
|
24327
|
-
|
|
24328
|
-
|
|
24412
|
+
value: selectedValues[filter.field] || "",
|
|
24413
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value || null),
|
|
24414
|
+
placeholder: filter.label,
|
|
24415
|
+
clearable: true,
|
|
24416
|
+
onClear: () => handleFilterSelect(filter.field, null),
|
|
24417
|
+
className: "text-sm"
|
|
24418
|
+
}
|
|
24419
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
24420
|
+
Select,
|
|
24421
|
+
{
|
|
24422
|
+
value: selectedValues[filter.field] || "all",
|
|
24423
|
+
onChange: (e) => handleFilterSelect(filter.field, e.target.value),
|
|
24424
|
+
options: [
|
|
24425
|
+
{ value: "all", label: `All ${filter.label}` },
|
|
24426
|
+
...filter.options?.map((opt) => ({
|
|
24427
|
+
value: opt,
|
|
24428
|
+
label: opt
|
|
24429
|
+
})) || []
|
|
24430
|
+
],
|
|
24431
|
+
className: "text-sm"
|
|
24432
|
+
}
|
|
24433
|
+
) }, filter.field)),
|
|
24434
|
+
activeFilterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
24435
|
+
Object.entries(selectedValues).map(([field, value]) => {
|
|
24436
|
+
const filterDef = filters.find((f3) => f3.field === field);
|
|
24437
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24438
|
+
Badge,
|
|
24439
|
+
{
|
|
24440
|
+
variant: "primary",
|
|
24441
|
+
size: "md",
|
|
24442
|
+
className: "cursor-pointer",
|
|
24443
|
+
onClick: () => handleFilterSelect(field, null),
|
|
24444
|
+
children: [
|
|
24445
|
+
filterDef?.label,
|
|
24446
|
+
": ",
|
|
24447
|
+
value,
|
|
24448
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "x", className: "ml-1 h-3 w-3" })
|
|
24449
|
+
]
|
|
24450
|
+
},
|
|
24451
|
+
field
|
|
24452
|
+
);
|
|
24453
|
+
}),
|
|
24454
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", onClick: handleClearAll, children: "Clear all" })
|
|
24455
|
+
] })
|
|
24456
|
+
]
|
|
24457
|
+
}
|
|
24458
|
+
);
|
|
24329
24459
|
}
|
|
24330
24460
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
24331
24461
|
"div",
|
|
@@ -24334,6 +24464,7 @@ var init_FilterGroup = __esm({
|
|
|
24334
24464
|
"p-4 rounded-container",
|
|
24335
24465
|
"bg-card",
|
|
24336
24466
|
"border-[length:var(--border-width)] border-border",
|
|
24467
|
+
lookStyles5[look],
|
|
24337
24468
|
className
|
|
24338
24469
|
),
|
|
24339
24470
|
children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "md", align: "center", className: "flex-wrap", children: [
|
|
@@ -28807,7 +28938,7 @@ function composeDisplayValue(value, format, max, prefix, suffix) {
|
|
|
28807
28938
|
const withMax = max != null && max > 0 ? `${formatted} / ${max}` : formatted;
|
|
28808
28939
|
return `${prefix ?? ""}${withMax}${suffix ?? ""}`;
|
|
28809
28940
|
}
|
|
28810
|
-
var variantColor, StatDisplay;
|
|
28941
|
+
var lookStyles6, variantColor, StatDisplay;
|
|
28811
28942
|
var init_StatDisplay = __esm({
|
|
28812
28943
|
"components/molecules/StatDisplay.tsx"() {
|
|
28813
28944
|
"use client";
|
|
@@ -28819,6 +28950,13 @@ var init_StatDisplay = __esm({
|
|
|
28819
28950
|
init_Sparkline();
|
|
28820
28951
|
init_Icon();
|
|
28821
28952
|
init_useEventBus();
|
|
28953
|
+
lookStyles6 = {
|
|
28954
|
+
elevated: "",
|
|
28955
|
+
flat: "shadow-none border-[length:var(--border-width)] border-border",
|
|
28956
|
+
"progress-backed": "",
|
|
28957
|
+
gauge: "",
|
|
28958
|
+
sparkline: ""
|
|
28959
|
+
};
|
|
28822
28960
|
variantColor = {
|
|
28823
28961
|
default: "text-foreground",
|
|
28824
28962
|
primary: "text-primary",
|
|
@@ -28846,6 +28984,7 @@ var init_StatDisplay = __esm({
|
|
|
28846
28984
|
size = "md",
|
|
28847
28985
|
variant = "default",
|
|
28848
28986
|
compact = false,
|
|
28987
|
+
look = "elevated",
|
|
28849
28988
|
className,
|
|
28850
28989
|
isLoading = false,
|
|
28851
28990
|
error = null
|
|
@@ -28898,7 +29037,7 @@ var init_StatDisplay = __esm({
|
|
|
28898
29037
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
28899
29038
|
Card,
|
|
28900
29039
|
{
|
|
28901
|
-
className: cn(padSizes[size], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
29040
|
+
className: cn(padSizes[size], lookStyles6[look], clickEvent && "cursor-pointer hover:shadow-md transition-shadow", className),
|
|
28902
29041
|
onClick: clickEvent ? handleClick : void 0,
|
|
28903
29042
|
children: /* @__PURE__ */ jsxRuntime.jsxs(HStack, { align: "start", justify: "between", children: [
|
|
28904
29043
|
/* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "none", className: "space-y-1 flex-1", children: [
|
|
@@ -34342,7 +34481,8 @@ function DataTable({
|
|
|
34342
34481
|
bulkActions,
|
|
34343
34482
|
headerActions,
|
|
34344
34483
|
showTotal = true,
|
|
34345
|
-
className
|
|
34484
|
+
className,
|
|
34485
|
+
look = "dense"
|
|
34346
34486
|
}) {
|
|
34347
34487
|
const [openActionMenu, setOpenActionMenu] = React85.useState(
|
|
34348
34488
|
null
|
|
@@ -34469,6 +34609,7 @@ function DataTable({
|
|
|
34469
34609
|
{
|
|
34470
34610
|
className: cn(
|
|
34471
34611
|
"bg-card border-2 border-border rounded-none overflow-hidden",
|
|
34612
|
+
lookStyles7[look],
|
|
34472
34613
|
className
|
|
34473
34614
|
),
|
|
34474
34615
|
children: [
|
|
@@ -34695,6 +34836,7 @@ function DataTable({
|
|
|
34695
34836
|
}
|
|
34696
34837
|
);
|
|
34697
34838
|
}
|
|
34839
|
+
var lookStyles7;
|
|
34698
34840
|
var init_DataTable = __esm({
|
|
34699
34841
|
"components/organisms/DataTable.tsx"() {
|
|
34700
34842
|
"use client";
|
|
@@ -34708,6 +34850,13 @@ var init_DataTable = __esm({
|
|
|
34708
34850
|
init_useEventBus();
|
|
34709
34851
|
init_useTranslate();
|
|
34710
34852
|
init_types3();
|
|
34853
|
+
lookStyles7 = {
|
|
34854
|
+
dense: "",
|
|
34855
|
+
spacious: "[&_tbody_tr_td]:py-5 [&_thead_tr_th]:py-4",
|
|
34856
|
+
striped: "[&_tbody_tr:nth-child(odd)]:bg-muted/30",
|
|
34857
|
+
borderless: "border-0 [&_thead]:border-b-0 [&_tbody_tr]:border-b-0 [&_tbody]:divide-y-0",
|
|
34858
|
+
"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"
|
|
34859
|
+
};
|
|
34711
34860
|
DataTable.displayName = "DataTable";
|
|
34712
34861
|
}
|
|
34713
34862
|
});
|
|
@@ -37866,7 +38015,7 @@ var init_GraphCanvas = __esm({
|
|
|
37866
38015
|
GraphCanvas.displayName = "GraphCanvas";
|
|
37867
38016
|
}
|
|
37868
38017
|
});
|
|
37869
|
-
var Header;
|
|
38018
|
+
var lookStyles8, Header;
|
|
37870
38019
|
var init_Header = __esm({
|
|
37871
38020
|
"components/organisms/Header.tsx"() {
|
|
37872
38021
|
"use client";
|
|
@@ -37879,6 +38028,13 @@ var init_Header = __esm({
|
|
|
37879
38028
|
init_Typography();
|
|
37880
38029
|
init_cn();
|
|
37881
38030
|
init_useTranslate();
|
|
38031
|
+
lookStyles8 = {
|
|
38032
|
+
"compact-bar": "",
|
|
38033
|
+
hero: "py-section min-h-[200px] [&_h1]:text-display-1",
|
|
38034
|
+
breadcrumb: "py-2 text-sm [&_h1]:text-base [&_h1]:font-medium",
|
|
38035
|
+
contextual: "py-3 [&_h1]:text-lg",
|
|
38036
|
+
"editorial-banner": "py-12 [&_h1]:text-display-2 [&_h1]:font-display-bold border-b border-border"
|
|
38037
|
+
};
|
|
37882
38038
|
Header = ({
|
|
37883
38039
|
logo,
|
|
37884
38040
|
logoSrc,
|
|
@@ -37896,6 +38052,7 @@ var init_Header = __esm({
|
|
|
37896
38052
|
actions,
|
|
37897
38053
|
sticky = true,
|
|
37898
38054
|
variant = "mobile",
|
|
38055
|
+
look = "compact-bar",
|
|
37899
38056
|
onLogoClick,
|
|
37900
38057
|
className
|
|
37901
38058
|
}) => {
|
|
@@ -37911,6 +38068,7 @@ var init_Header = __esm({
|
|
|
37911
38068
|
"flex items-center px-4 justify-between bg-card",
|
|
37912
38069
|
sticky && "sticky top-0 z-50",
|
|
37913
38070
|
variant === "mobile" && "lg:hidden",
|
|
38071
|
+
lookStyles8[look],
|
|
37914
38072
|
className
|
|
37915
38073
|
),
|
|
37916
38074
|
children: [
|
|
@@ -44606,7 +44764,7 @@ var init_TeamOrganism = __esm({
|
|
|
44606
44764
|
TeamOrganism.displayName = "TeamOrganism";
|
|
44607
44765
|
}
|
|
44608
44766
|
});
|
|
44609
|
-
var STATUS_STYLES3, Timeline;
|
|
44767
|
+
var lookStyles9, STATUS_STYLES3, Timeline;
|
|
44610
44768
|
var init_Timeline = __esm({
|
|
44611
44769
|
"components/organisms/Timeline.tsx"() {
|
|
44612
44770
|
"use client";
|
|
@@ -44617,6 +44775,12 @@ var init_Timeline = __esm({
|
|
|
44617
44775
|
init_ErrorState();
|
|
44618
44776
|
init_EmptyState();
|
|
44619
44777
|
init_useTranslate();
|
|
44778
|
+
lookStyles9 = {
|
|
44779
|
+
"vertical-compact": "gap-1 [&>*]:py-1",
|
|
44780
|
+
"vertical-spacious": "",
|
|
44781
|
+
horizontal: "flex-row [&>*]:flex-row [&>*]:items-center",
|
|
44782
|
+
swimlane: "flex-row gap-6 [&>*]:flex-row [&>*]:items-center"
|
|
44783
|
+
};
|
|
44620
44784
|
STATUS_STYLES3 = {
|
|
44621
44785
|
complete: {
|
|
44622
44786
|
dotColor: "text-success",
|
|
@@ -44647,7 +44811,8 @@ var init_Timeline = __esm({
|
|
|
44647
44811
|
entity,
|
|
44648
44812
|
isLoading = false,
|
|
44649
44813
|
error,
|
|
44650
|
-
className
|
|
44814
|
+
className,
|
|
44815
|
+
look = "vertical-spacious"
|
|
44651
44816
|
}) => {
|
|
44652
44817
|
const { t } = useTranslate();
|
|
44653
44818
|
const entityData = Array.isArray(entity) ? entity : [];
|
|
@@ -44703,7 +44868,7 @@ var init_Timeline = __esm({
|
|
|
44703
44868
|
}
|
|
44704
44869
|
return /* @__PURE__ */ jsxRuntime.jsx(Card, { className: cn("p-6", className), children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "md", children: [
|
|
44705
44870
|
title && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "h5", weight: "semibold", children: title }),
|
|
44706
|
-
/* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "none", className: "relative", children: items.map((item, idx) => {
|
|
44871
|
+
/* @__PURE__ */ jsxRuntime.jsx(VStack, { gap: "none", className: cn("relative", lookStyles9[look]), children: items.map((item, idx) => {
|
|
44707
44872
|
const status = item.status || "pending";
|
|
44708
44873
|
const style = STATUS_STYLES3[status] || STATUS_STYLES3.pending;
|
|
44709
44874
|
const ItemIcon = item.icon || style.icon;
|