@almadar/ui 5.159.0 → 5.160.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/avl/index.cjs +33 -20
- package/dist/avl/index.js +33 -20
- package/dist/components/index.cjs +33 -20
- package/dist/components/index.js +33 -20
- package/dist/providers/index.cjs +33 -20
- package/dist/providers/index.js +33 -20
- package/dist/runtime/index.cjs +33 -20
- package/dist/runtime/index.js +33 -20
- package/package.json +4 -4
package/dist/avl/index.cjs
CHANGED
|
@@ -28888,8 +28888,8 @@ function DataGrid({
|
|
|
28888
28888
|
}
|
|
28889
28889
|
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
28890
28890
|
field.icon && renderIconInput(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
28891
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", color: "secondary", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
28892
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", children: formatValue(value, field.format) })
|
|
28891
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", color: "secondary", className: "sr-only", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
28892
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", color: "secondary", children: formatValue(value, field.format) })
|
|
28893
28893
|
] }, field.name);
|
|
28894
28894
|
}) })
|
|
28895
28895
|
] }) })
|
|
@@ -29317,7 +29317,11 @@ function DataList({
|
|
|
29317
29317
|
Box,
|
|
29318
29318
|
{
|
|
29319
29319
|
className: cn(
|
|
29320
|
-
|
|
29320
|
+
// items-start, not items-center: a multi-line row (title + meta +
|
|
29321
|
+
// progress) centred its action cluster in the vertical middle, so
|
|
29322
|
+
// the buttons floated between the meta fields instead of anchoring
|
|
29323
|
+
// to the title they act on (U-DATALIST-ACTIONS-FLOAT-MID-ROW).
|
|
29324
|
+
"group flex items-start gap-4 transition-all duration-fast",
|
|
29321
29325
|
isCompact ? "px-4 py-2" : "px-6 py-4",
|
|
29322
29326
|
"hover:bg-muted/80",
|
|
29323
29327
|
!isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
|
|
@@ -29348,11 +29352,19 @@ function DataList({
|
|
|
29348
29352
|
if (value === void 0 || value === null || value === "") return null;
|
|
29349
29353
|
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
29350
29354
|
field.icon && renderIconInput2(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
29351
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
29352
|
-
|
|
29353
|
-
|
|
29354
|
-
|
|
29355
|
-
|
|
29355
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
29356
|
+
Typography,
|
|
29357
|
+
{
|
|
29358
|
+
variant: "caption",
|
|
29359
|
+
color: "secondary",
|
|
29360
|
+
className: cn(field.format !== "boolean" && "sr-only"),
|
|
29361
|
+
children: [
|
|
29362
|
+
field.label ?? fieldLabel3(field.name),
|
|
29363
|
+
":"
|
|
29364
|
+
]
|
|
29365
|
+
}
|
|
29366
|
+
),
|
|
29367
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", color: "secondary", children: formatValue2(value, field.format, { yes: t("common.yes"), no: t("common.no") }) })
|
|
29356
29368
|
] }, field.name);
|
|
29357
29369
|
}) }),
|
|
29358
29370
|
progressFields.map((field) => {
|
|
@@ -29371,7 +29383,7 @@ function DataList({
|
|
|
29371
29383
|
]
|
|
29372
29384
|
}
|
|
29373
29385
|
),
|
|
29374
|
-
isCard && !isLast && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "
|
|
29386
|
+
(isCard || isCompact) && !isLast && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("border-b border-border/40", isCompact ? "mx-4" : "mx-6") })
|
|
29375
29387
|
] }, id)
|
|
29376
29388
|
);
|
|
29377
29389
|
};
|
|
@@ -29381,7 +29393,13 @@ function DataList({
|
|
|
29381
29393
|
{
|
|
29382
29394
|
className: cn(
|
|
29383
29395
|
isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
|
|
29384
|
-
|
|
29396
|
+
// `gap-*` is inert on a block container, and Box only emits a display
|
|
29397
|
+
// class when its `display` prop is set — so every non-card list had
|
|
29398
|
+
// been asking for a gap that CSS silently dropped. flex-col makes it
|
|
29399
|
+
// real. `compact` keeps gap-0 on purpose: it separates with the row
|
|
29400
|
+
// divider above instead, never both (Almadar_UI_Beauty.md 6).
|
|
29401
|
+
!isCard && "flex flex-col",
|
|
29402
|
+
!isCard && !isCompact && gapClass,
|
|
29385
29403
|
listLookStyles[look],
|
|
29386
29404
|
className
|
|
29387
29405
|
),
|
|
@@ -44901,16 +44919,11 @@ var init_DetailPanel = __esm({
|
|
|
44901
44919
|
footer
|
|
44902
44920
|
] })
|
|
44903
44921
|
] }) });
|
|
44904
|
-
|
|
44905
|
-
Box,
|
|
44906
|
-
|
|
44907
|
-
|
|
44908
|
-
|
|
44909
|
-
className
|
|
44910
|
-
),
|
|
44911
|
-
children: content
|
|
44912
|
-
}
|
|
44913
|
-
);
|
|
44922
|
+
if (!slideOver) {
|
|
44923
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className, children: content });
|
|
44924
|
+
}
|
|
44925
|
+
const panel = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
44926
|
+
return typeof document === "undefined" ? panel : reactDom.createPortal(panel, document.body);
|
|
44914
44927
|
};
|
|
44915
44928
|
DetailPanel.displayName = "DetailPanel";
|
|
44916
44929
|
}
|
package/dist/avl/index.js
CHANGED
|
@@ -28812,8 +28812,8 @@ function DataGrid({
|
|
|
28812
28812
|
}
|
|
28813
28813
|
return /* @__PURE__ */ jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
28814
28814
|
field.icon && renderIconInput(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
28815
|
-
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
28816
|
-
/* @__PURE__ */ jsx(Typography, { variant: "small", children: formatValue(value, field.format) })
|
|
28815
|
+
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", className: "sr-only", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
28816
|
+
/* @__PURE__ */ jsx(Typography, { variant: "small", color: "secondary", children: formatValue(value, field.format) })
|
|
28817
28817
|
] }, field.name);
|
|
28818
28818
|
}) })
|
|
28819
28819
|
] }) })
|
|
@@ -29241,7 +29241,11 @@ function DataList({
|
|
|
29241
29241
|
Box,
|
|
29242
29242
|
{
|
|
29243
29243
|
className: cn(
|
|
29244
|
-
|
|
29244
|
+
// items-start, not items-center: a multi-line row (title + meta +
|
|
29245
|
+
// progress) centred its action cluster in the vertical middle, so
|
|
29246
|
+
// the buttons floated between the meta fields instead of anchoring
|
|
29247
|
+
// to the title they act on (U-DATALIST-ACTIONS-FLOAT-MID-ROW).
|
|
29248
|
+
"group flex items-start gap-4 transition-all duration-fast",
|
|
29245
29249
|
isCompact ? "px-4 py-2" : "px-6 py-4",
|
|
29246
29250
|
"hover:bg-muted/80",
|
|
29247
29251
|
!isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
|
|
@@ -29272,11 +29276,19 @@ function DataList({
|
|
|
29272
29276
|
if (value === void 0 || value === null || value === "") return null;
|
|
29273
29277
|
return /* @__PURE__ */ jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
29274
29278
|
field.icon && renderIconInput2(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
29275
|
-
/* @__PURE__ */ jsxs(
|
|
29276
|
-
|
|
29277
|
-
|
|
29278
|
-
|
|
29279
|
-
|
|
29279
|
+
/* @__PURE__ */ jsxs(
|
|
29280
|
+
Typography,
|
|
29281
|
+
{
|
|
29282
|
+
variant: "caption",
|
|
29283
|
+
color: "secondary",
|
|
29284
|
+
className: cn(field.format !== "boolean" && "sr-only"),
|
|
29285
|
+
children: [
|
|
29286
|
+
field.label ?? fieldLabel3(field.name),
|
|
29287
|
+
":"
|
|
29288
|
+
]
|
|
29289
|
+
}
|
|
29290
|
+
),
|
|
29291
|
+
/* @__PURE__ */ jsx(Typography, { variant: "small", color: "secondary", children: formatValue2(value, field.format, { yes: t("common.yes"), no: t("common.no") }) })
|
|
29280
29292
|
] }, field.name);
|
|
29281
29293
|
}) }),
|
|
29282
29294
|
progressFields.map((field) => {
|
|
@@ -29295,7 +29307,7 @@ function DataList({
|
|
|
29295
29307
|
]
|
|
29296
29308
|
}
|
|
29297
29309
|
),
|
|
29298
|
-
isCard && !isLast && /* @__PURE__ */ jsx(Box, { className: "
|
|
29310
|
+
(isCard || isCompact) && !isLast && /* @__PURE__ */ jsx(Box, { className: cn("border-b border-border/40", isCompact ? "mx-4" : "mx-6") })
|
|
29299
29311
|
] }, id)
|
|
29300
29312
|
);
|
|
29301
29313
|
};
|
|
@@ -29305,7 +29317,13 @@ function DataList({
|
|
|
29305
29317
|
{
|
|
29306
29318
|
className: cn(
|
|
29307
29319
|
isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
|
|
29308
|
-
|
|
29320
|
+
// `gap-*` is inert on a block container, and Box only emits a display
|
|
29321
|
+
// class when its `display` prop is set — so every non-card list had
|
|
29322
|
+
// been asking for a gap that CSS silently dropped. flex-col makes it
|
|
29323
|
+
// real. `compact` keeps gap-0 on purpose: it separates with the row
|
|
29324
|
+
// divider above instead, never both (Almadar_UI_Beauty.md 6).
|
|
29325
|
+
!isCard && "flex flex-col",
|
|
29326
|
+
!isCard && !isCompact && gapClass,
|
|
29309
29327
|
listLookStyles[look],
|
|
29310
29328
|
className
|
|
29311
29329
|
),
|
|
@@ -44825,16 +44843,11 @@ var init_DetailPanel = __esm({
|
|
|
44825
44843
|
footer
|
|
44826
44844
|
] })
|
|
44827
44845
|
] }) });
|
|
44828
|
-
|
|
44829
|
-
Box,
|
|
44830
|
-
|
|
44831
|
-
|
|
44832
|
-
|
|
44833
|
-
className
|
|
44834
|
-
),
|
|
44835
|
-
children: content
|
|
44836
|
-
}
|
|
44837
|
-
);
|
|
44846
|
+
if (!slideOver) {
|
|
44847
|
+
return /* @__PURE__ */ jsx(Box, { className, children: content });
|
|
44848
|
+
}
|
|
44849
|
+
const panel = /* @__PURE__ */ jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
44850
|
+
return typeof document === "undefined" ? panel : createPortal(panel, document.body);
|
|
44838
44851
|
};
|
|
44839
44852
|
DetailPanel.displayName = "DetailPanel";
|
|
44840
44853
|
}
|
|
@@ -24301,8 +24301,8 @@ function DataGrid({
|
|
|
24301
24301
|
}
|
|
24302
24302
|
return /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "xs", className: "items-center", children: [
|
|
24303
24303
|
field.icon && renderIconInput(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
24304
|
-
/* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", color: "secondary", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
24305
|
-
/* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", children: formatValue(value, field.format) })
|
|
24304
|
+
/* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "caption", color: "secondary", className: "sr-only", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
24305
|
+
/* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", color: "secondary", children: formatValue(value, field.format) })
|
|
24306
24306
|
] }, field.name);
|
|
24307
24307
|
}) })
|
|
24308
24308
|
] }) })
|
|
@@ -24730,7 +24730,11 @@ function DataList({
|
|
|
24730
24730
|
exports.Box,
|
|
24731
24731
|
{
|
|
24732
24732
|
className: cn(
|
|
24733
|
-
|
|
24733
|
+
// items-start, not items-center: a multi-line row (title + meta +
|
|
24734
|
+
// progress) centred its action cluster in the vertical middle, so
|
|
24735
|
+
// the buttons floated between the meta fields instead of anchoring
|
|
24736
|
+
// to the title they act on (U-DATALIST-ACTIONS-FLOAT-MID-ROW).
|
|
24737
|
+
"group flex items-start gap-4 transition-all duration-fast",
|
|
24734
24738
|
isCompact ? "px-4 py-2" : "px-6 py-4",
|
|
24735
24739
|
"hover:bg-muted/80",
|
|
24736
24740
|
!isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
|
|
@@ -24761,11 +24765,19 @@ function DataList({
|
|
|
24761
24765
|
if (value === void 0 || value === null || value === "") return null;
|
|
24762
24766
|
return /* @__PURE__ */ jsxRuntime.jsxs(exports.HStack, { gap: "xs", className: "items-center", children: [
|
|
24763
24767
|
field.icon && renderIconInput2(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
24764
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
24765
|
-
|
|
24766
|
-
|
|
24767
|
-
|
|
24768
|
-
|
|
24768
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
24769
|
+
exports.Typography,
|
|
24770
|
+
{
|
|
24771
|
+
variant: "caption",
|
|
24772
|
+
color: "secondary",
|
|
24773
|
+
className: cn(field.format !== "boolean" && "sr-only"),
|
|
24774
|
+
children: [
|
|
24775
|
+
field.label ?? fieldLabel3(field.name),
|
|
24776
|
+
":"
|
|
24777
|
+
]
|
|
24778
|
+
}
|
|
24779
|
+
),
|
|
24780
|
+
/* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "small", color: "secondary", children: formatValue2(value, field.format, { yes: t("common.yes"), no: t("common.no") }) })
|
|
24769
24781
|
] }, field.name);
|
|
24770
24782
|
}) }),
|
|
24771
24783
|
progressFields.map((field) => {
|
|
@@ -24784,7 +24796,7 @@ function DataList({
|
|
|
24784
24796
|
]
|
|
24785
24797
|
}
|
|
24786
24798
|
),
|
|
24787
|
-
isCard && !isLast && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "
|
|
24799
|
+
(isCard || isCompact) && !isLast && /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: cn("border-b border-border/40", isCompact ? "mx-4" : "mx-6") })
|
|
24788
24800
|
] }, id)
|
|
24789
24801
|
);
|
|
24790
24802
|
};
|
|
@@ -24794,7 +24806,13 @@ function DataList({
|
|
|
24794
24806
|
{
|
|
24795
24807
|
className: cn(
|
|
24796
24808
|
isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
|
|
24797
|
-
|
|
24809
|
+
// `gap-*` is inert on a block container, and Box only emits a display
|
|
24810
|
+
// class when its `display` prop is set — so every non-card list had
|
|
24811
|
+
// been asking for a gap that CSS silently dropped. flex-col makes it
|
|
24812
|
+
// real. `compact` keeps gap-0 on purpose: it separates with the row
|
|
24813
|
+
// divider above instead, never both (Almadar_UI_Beauty.md 6).
|
|
24814
|
+
!isCard && "flex flex-col",
|
|
24815
|
+
!isCard && !isCompact && gapClass,
|
|
24798
24816
|
listLookStyles[look],
|
|
24799
24817
|
className
|
|
24800
24818
|
),
|
|
@@ -44299,16 +44317,11 @@ var init_DetailPanel = __esm({
|
|
|
44299
44317
|
footer
|
|
44300
44318
|
] })
|
|
44301
44319
|
] }) });
|
|
44302
|
-
|
|
44303
|
-
exports.Box,
|
|
44304
|
-
|
|
44305
|
-
|
|
44306
|
-
|
|
44307
|
-
className
|
|
44308
|
-
),
|
|
44309
|
-
children: content
|
|
44310
|
-
}
|
|
44311
|
-
);
|
|
44320
|
+
if (!slideOver) {
|
|
44321
|
+
return /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className, children: content });
|
|
44322
|
+
}
|
|
44323
|
+
const panel = /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
44324
|
+
return typeof document === "undefined" ? panel : reactDom.createPortal(panel, document.body);
|
|
44312
44325
|
};
|
|
44313
44326
|
exports.DetailPanel.displayName = "DetailPanel";
|
|
44314
44327
|
}
|
package/dist/components/index.js
CHANGED
|
@@ -24226,8 +24226,8 @@ function DataGrid({
|
|
|
24226
24226
|
}
|
|
24227
24227
|
return /* @__PURE__ */ jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
24228
24228
|
field.icon && renderIconInput(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
24229
|
-
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
24230
|
-
/* @__PURE__ */ jsx(Typography, { variant: "small", children: formatValue(value, field.format) })
|
|
24229
|
+
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", className: "sr-only", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
24230
|
+
/* @__PURE__ */ jsx(Typography, { variant: "small", color: "secondary", children: formatValue(value, field.format) })
|
|
24231
24231
|
] }, field.name);
|
|
24232
24232
|
}) })
|
|
24233
24233
|
] }) })
|
|
@@ -24655,7 +24655,11 @@ function DataList({
|
|
|
24655
24655
|
Box,
|
|
24656
24656
|
{
|
|
24657
24657
|
className: cn(
|
|
24658
|
-
|
|
24658
|
+
// items-start, not items-center: a multi-line row (title + meta +
|
|
24659
|
+
// progress) centred its action cluster in the vertical middle, so
|
|
24660
|
+
// the buttons floated between the meta fields instead of anchoring
|
|
24661
|
+
// to the title they act on (U-DATALIST-ACTIONS-FLOAT-MID-ROW).
|
|
24662
|
+
"group flex items-start gap-4 transition-all duration-fast",
|
|
24659
24663
|
isCompact ? "px-4 py-2" : "px-6 py-4",
|
|
24660
24664
|
"hover:bg-muted/80",
|
|
24661
24665
|
!isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
|
|
@@ -24686,11 +24690,19 @@ function DataList({
|
|
|
24686
24690
|
if (value === void 0 || value === null || value === "") return null;
|
|
24687
24691
|
return /* @__PURE__ */ jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
24688
24692
|
field.icon && renderIconInput2(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
24689
|
-
/* @__PURE__ */ jsxs(
|
|
24690
|
-
|
|
24691
|
-
|
|
24692
|
-
|
|
24693
|
-
|
|
24693
|
+
/* @__PURE__ */ jsxs(
|
|
24694
|
+
Typography,
|
|
24695
|
+
{
|
|
24696
|
+
variant: "caption",
|
|
24697
|
+
color: "secondary",
|
|
24698
|
+
className: cn(field.format !== "boolean" && "sr-only"),
|
|
24699
|
+
children: [
|
|
24700
|
+
field.label ?? fieldLabel3(field.name),
|
|
24701
|
+
":"
|
|
24702
|
+
]
|
|
24703
|
+
}
|
|
24704
|
+
),
|
|
24705
|
+
/* @__PURE__ */ jsx(Typography, { variant: "small", color: "secondary", children: formatValue2(value, field.format, { yes: t("common.yes"), no: t("common.no") }) })
|
|
24694
24706
|
] }, field.name);
|
|
24695
24707
|
}) }),
|
|
24696
24708
|
progressFields.map((field) => {
|
|
@@ -24709,7 +24721,7 @@ function DataList({
|
|
|
24709
24721
|
]
|
|
24710
24722
|
}
|
|
24711
24723
|
),
|
|
24712
|
-
isCard && !isLast && /* @__PURE__ */ jsx(Box, { className: "
|
|
24724
|
+
(isCard || isCompact) && !isLast && /* @__PURE__ */ jsx(Box, { className: cn("border-b border-border/40", isCompact ? "mx-4" : "mx-6") })
|
|
24713
24725
|
] }, id)
|
|
24714
24726
|
);
|
|
24715
24727
|
};
|
|
@@ -24719,7 +24731,13 @@ function DataList({
|
|
|
24719
24731
|
{
|
|
24720
24732
|
className: cn(
|
|
24721
24733
|
isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
|
|
24722
|
-
|
|
24734
|
+
// `gap-*` is inert on a block container, and Box only emits a display
|
|
24735
|
+
// class when its `display` prop is set — so every non-card list had
|
|
24736
|
+
// been asking for a gap that CSS silently dropped. flex-col makes it
|
|
24737
|
+
// real. `compact` keeps gap-0 on purpose: it separates with the row
|
|
24738
|
+
// divider above instead, never both (Almadar_UI_Beauty.md 6).
|
|
24739
|
+
!isCard && "flex flex-col",
|
|
24740
|
+
!isCard && !isCompact && gapClass,
|
|
24723
24741
|
listLookStyles[look],
|
|
24724
24742
|
className
|
|
24725
24743
|
),
|
|
@@ -44224,16 +44242,11 @@ var init_DetailPanel = __esm({
|
|
|
44224
44242
|
footer
|
|
44225
44243
|
] })
|
|
44226
44244
|
] }) });
|
|
44227
|
-
|
|
44228
|
-
Box,
|
|
44229
|
-
|
|
44230
|
-
|
|
44231
|
-
|
|
44232
|
-
className
|
|
44233
|
-
),
|
|
44234
|
-
children: content
|
|
44235
|
-
}
|
|
44236
|
-
);
|
|
44245
|
+
if (!slideOver) {
|
|
44246
|
+
return /* @__PURE__ */ jsx(Box, { className, children: content });
|
|
44247
|
+
}
|
|
44248
|
+
const panel = /* @__PURE__ */ jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
44249
|
+
return typeof document === "undefined" ? panel : createPortal(panel, document.body);
|
|
44237
44250
|
};
|
|
44238
44251
|
DetailPanel.displayName = "DetailPanel";
|
|
44239
44252
|
}
|
package/dist/providers/index.cjs
CHANGED
|
@@ -26614,8 +26614,8 @@ function DataGrid({
|
|
|
26614
26614
|
}
|
|
26615
26615
|
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
26616
26616
|
field.icon && renderIconInput(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
26617
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", color: "secondary", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
26618
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", children: formatValue(value, field.format) })
|
|
26617
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", color: "secondary", className: "sr-only", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
26618
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", color: "secondary", children: formatValue(value, field.format) })
|
|
26619
26619
|
] }, field.name);
|
|
26620
26620
|
}) })
|
|
26621
26621
|
] }) })
|
|
@@ -27043,7 +27043,11 @@ function DataList({
|
|
|
27043
27043
|
Box,
|
|
27044
27044
|
{
|
|
27045
27045
|
className: cn(
|
|
27046
|
-
|
|
27046
|
+
// items-start, not items-center: a multi-line row (title + meta +
|
|
27047
|
+
// progress) centred its action cluster in the vertical middle, so
|
|
27048
|
+
// the buttons floated between the meta fields instead of anchoring
|
|
27049
|
+
// to the title they act on (U-DATALIST-ACTIONS-FLOAT-MID-ROW).
|
|
27050
|
+
"group flex items-start gap-4 transition-all duration-fast",
|
|
27047
27051
|
isCompact ? "px-4 py-2" : "px-6 py-4",
|
|
27048
27052
|
"hover:bg-muted/80",
|
|
27049
27053
|
!isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
|
|
@@ -27074,11 +27078,19 @@ function DataList({
|
|
|
27074
27078
|
if (value === void 0 || value === null || value === "") return null;
|
|
27075
27079
|
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
27076
27080
|
field.icon && renderIconInput2(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
27077
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
27078
|
-
|
|
27079
|
-
|
|
27080
|
-
|
|
27081
|
-
|
|
27081
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
27082
|
+
Typography,
|
|
27083
|
+
{
|
|
27084
|
+
variant: "caption",
|
|
27085
|
+
color: "secondary",
|
|
27086
|
+
className: cn(field.format !== "boolean" && "sr-only"),
|
|
27087
|
+
children: [
|
|
27088
|
+
field.label ?? fieldLabel3(field.name),
|
|
27089
|
+
":"
|
|
27090
|
+
]
|
|
27091
|
+
}
|
|
27092
|
+
),
|
|
27093
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", color: "secondary", children: formatValue2(value, field.format, { yes: t("common.yes"), no: t("common.no") }) })
|
|
27082
27094
|
] }, field.name);
|
|
27083
27095
|
}) }),
|
|
27084
27096
|
progressFields.map((field) => {
|
|
@@ -27097,7 +27109,7 @@ function DataList({
|
|
|
27097
27109
|
]
|
|
27098
27110
|
}
|
|
27099
27111
|
),
|
|
27100
|
-
isCard && !isLast && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "
|
|
27112
|
+
(isCard || isCompact) && !isLast && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("border-b border-border/40", isCompact ? "mx-4" : "mx-6") })
|
|
27101
27113
|
] }, id)
|
|
27102
27114
|
);
|
|
27103
27115
|
};
|
|
@@ -27107,7 +27119,13 @@ function DataList({
|
|
|
27107
27119
|
{
|
|
27108
27120
|
className: cn(
|
|
27109
27121
|
isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
|
|
27110
|
-
|
|
27122
|
+
// `gap-*` is inert on a block container, and Box only emits a display
|
|
27123
|
+
// class when its `display` prop is set — so every non-card list had
|
|
27124
|
+
// been asking for a gap that CSS silently dropped. flex-col makes it
|
|
27125
|
+
// real. `compact` keeps gap-0 on purpose: it separates with the row
|
|
27126
|
+
// divider above instead, never both (Almadar_UI_Beauty.md 6).
|
|
27127
|
+
!isCard && "flex flex-col",
|
|
27128
|
+
!isCard && !isCompact && gapClass,
|
|
27111
27129
|
listLookStyles[look],
|
|
27112
27130
|
className
|
|
27113
27131
|
),
|
|
@@ -43036,16 +43054,11 @@ var init_DetailPanel = __esm({
|
|
|
43036
43054
|
footer
|
|
43037
43055
|
] })
|
|
43038
43056
|
] }) });
|
|
43039
|
-
|
|
43040
|
-
Box,
|
|
43041
|
-
|
|
43042
|
-
|
|
43043
|
-
|
|
43044
|
-
className
|
|
43045
|
-
),
|
|
43046
|
-
children: content
|
|
43047
|
-
}
|
|
43048
|
-
);
|
|
43057
|
+
if (!slideOver) {
|
|
43058
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className, children: content });
|
|
43059
|
+
}
|
|
43060
|
+
const panel = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
43061
|
+
return typeof document === "undefined" ? panel : reactDom.createPortal(panel, document.body);
|
|
43049
43062
|
};
|
|
43050
43063
|
DetailPanel.displayName = "DetailPanel";
|
|
43051
43064
|
}
|
package/dist/providers/index.js
CHANGED
|
@@ -26540,8 +26540,8 @@ function DataGrid({
|
|
|
26540
26540
|
}
|
|
26541
26541
|
return /* @__PURE__ */ jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
26542
26542
|
field.icon && renderIconInput(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
26543
|
-
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
26544
|
-
/* @__PURE__ */ jsx(Typography, { variant: "small", children: formatValue(value, field.format) })
|
|
26543
|
+
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", className: "sr-only", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
26544
|
+
/* @__PURE__ */ jsx(Typography, { variant: "small", color: "secondary", children: formatValue(value, field.format) })
|
|
26545
26545
|
] }, field.name);
|
|
26546
26546
|
}) })
|
|
26547
26547
|
] }) })
|
|
@@ -26969,7 +26969,11 @@ function DataList({
|
|
|
26969
26969
|
Box,
|
|
26970
26970
|
{
|
|
26971
26971
|
className: cn(
|
|
26972
|
-
|
|
26972
|
+
// items-start, not items-center: a multi-line row (title + meta +
|
|
26973
|
+
// progress) centred its action cluster in the vertical middle, so
|
|
26974
|
+
// the buttons floated between the meta fields instead of anchoring
|
|
26975
|
+
// to the title they act on (U-DATALIST-ACTIONS-FLOAT-MID-ROW).
|
|
26976
|
+
"group flex items-start gap-4 transition-all duration-fast",
|
|
26973
26977
|
isCompact ? "px-4 py-2" : "px-6 py-4",
|
|
26974
26978
|
"hover:bg-muted/80",
|
|
26975
26979
|
!isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
|
|
@@ -27000,11 +27004,19 @@ function DataList({
|
|
|
27000
27004
|
if (value === void 0 || value === null || value === "") return null;
|
|
27001
27005
|
return /* @__PURE__ */ jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
27002
27006
|
field.icon && renderIconInput2(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
27003
|
-
/* @__PURE__ */ jsxs(
|
|
27004
|
-
|
|
27005
|
-
|
|
27006
|
-
|
|
27007
|
-
|
|
27007
|
+
/* @__PURE__ */ jsxs(
|
|
27008
|
+
Typography,
|
|
27009
|
+
{
|
|
27010
|
+
variant: "caption",
|
|
27011
|
+
color: "secondary",
|
|
27012
|
+
className: cn(field.format !== "boolean" && "sr-only"),
|
|
27013
|
+
children: [
|
|
27014
|
+
field.label ?? fieldLabel3(field.name),
|
|
27015
|
+
":"
|
|
27016
|
+
]
|
|
27017
|
+
}
|
|
27018
|
+
),
|
|
27019
|
+
/* @__PURE__ */ jsx(Typography, { variant: "small", color: "secondary", children: formatValue2(value, field.format, { yes: t("common.yes"), no: t("common.no") }) })
|
|
27008
27020
|
] }, field.name);
|
|
27009
27021
|
}) }),
|
|
27010
27022
|
progressFields.map((field) => {
|
|
@@ -27023,7 +27035,7 @@ function DataList({
|
|
|
27023
27035
|
]
|
|
27024
27036
|
}
|
|
27025
27037
|
),
|
|
27026
|
-
isCard && !isLast && /* @__PURE__ */ jsx(Box, { className: "
|
|
27038
|
+
(isCard || isCompact) && !isLast && /* @__PURE__ */ jsx(Box, { className: cn("border-b border-border/40", isCompact ? "mx-4" : "mx-6") })
|
|
27027
27039
|
] }, id)
|
|
27028
27040
|
);
|
|
27029
27041
|
};
|
|
@@ -27033,7 +27045,13 @@ function DataList({
|
|
|
27033
27045
|
{
|
|
27034
27046
|
className: cn(
|
|
27035
27047
|
isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
|
|
27036
|
-
|
|
27048
|
+
// `gap-*` is inert on a block container, and Box only emits a display
|
|
27049
|
+
// class when its `display` prop is set — so every non-card list had
|
|
27050
|
+
// been asking for a gap that CSS silently dropped. flex-col makes it
|
|
27051
|
+
// real. `compact` keeps gap-0 on purpose: it separates with the row
|
|
27052
|
+
// divider above instead, never both (Almadar_UI_Beauty.md 6).
|
|
27053
|
+
!isCard && "flex flex-col",
|
|
27054
|
+
!isCard && !isCompact && gapClass,
|
|
27037
27055
|
listLookStyles[look],
|
|
27038
27056
|
className
|
|
27039
27057
|
),
|
|
@@ -42962,16 +42980,11 @@ var init_DetailPanel = __esm({
|
|
|
42962
42980
|
footer
|
|
42963
42981
|
] })
|
|
42964
42982
|
] }) });
|
|
42965
|
-
|
|
42966
|
-
Box,
|
|
42967
|
-
|
|
42968
|
-
|
|
42969
|
-
|
|
42970
|
-
className
|
|
42971
|
-
),
|
|
42972
|
-
children: content
|
|
42973
|
-
}
|
|
42974
|
-
);
|
|
42983
|
+
if (!slideOver) {
|
|
42984
|
+
return /* @__PURE__ */ jsx(Box, { className, children: content });
|
|
42985
|
+
}
|
|
42986
|
+
const panel = /* @__PURE__ */ jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
42987
|
+
return typeof document === "undefined" ? panel : createPortal(panel, document.body);
|
|
42975
42988
|
};
|
|
42976
42989
|
DetailPanel.displayName = "DetailPanel";
|
|
42977
42990
|
}
|
package/dist/runtime/index.cjs
CHANGED
|
@@ -26179,8 +26179,8 @@ function DataGrid({
|
|
|
26179
26179
|
}
|
|
26180
26180
|
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
26181
26181
|
field.icon && renderIconInput(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
26182
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", color: "secondary", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
26183
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", children: formatValue(value, field.format) })
|
|
26182
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", color: "secondary", className: "sr-only", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
26183
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", color: "secondary", children: formatValue(value, field.format) })
|
|
26184
26184
|
] }, field.name);
|
|
26185
26185
|
}) })
|
|
26186
26186
|
] }) })
|
|
@@ -26608,7 +26608,11 @@ function DataList({
|
|
|
26608
26608
|
Box,
|
|
26609
26609
|
{
|
|
26610
26610
|
className: cn(
|
|
26611
|
-
|
|
26611
|
+
// items-start, not items-center: a multi-line row (title + meta +
|
|
26612
|
+
// progress) centred its action cluster in the vertical middle, so
|
|
26613
|
+
// the buttons floated between the meta fields instead of anchoring
|
|
26614
|
+
// to the title they act on (U-DATALIST-ACTIONS-FLOAT-MID-ROW).
|
|
26615
|
+
"group flex items-start gap-4 transition-all duration-fast",
|
|
26612
26616
|
isCompact ? "px-4 py-2" : "px-6 py-4",
|
|
26613
26617
|
"hover:bg-muted/80",
|
|
26614
26618
|
!isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
|
|
@@ -26639,11 +26643,19 @@ function DataList({
|
|
|
26639
26643
|
if (value === void 0 || value === null || value === "") return null;
|
|
26640
26644
|
return /* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
26641
26645
|
field.icon && renderIconInput2(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
26642
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
26643
|
-
|
|
26644
|
-
|
|
26645
|
-
|
|
26646
|
-
|
|
26646
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
26647
|
+
Typography,
|
|
26648
|
+
{
|
|
26649
|
+
variant: "caption",
|
|
26650
|
+
color: "secondary",
|
|
26651
|
+
className: cn(field.format !== "boolean" && "sr-only"),
|
|
26652
|
+
children: [
|
|
26653
|
+
field.label ?? fieldLabel3(field.name),
|
|
26654
|
+
":"
|
|
26655
|
+
]
|
|
26656
|
+
}
|
|
26657
|
+
),
|
|
26658
|
+
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", color: "secondary", children: formatValue2(value, field.format, { yes: t("common.yes"), no: t("common.no") }) })
|
|
26647
26659
|
] }, field.name);
|
|
26648
26660
|
}) }),
|
|
26649
26661
|
progressFields.map((field) => {
|
|
@@ -26662,7 +26674,7 @@ function DataList({
|
|
|
26662
26674
|
]
|
|
26663
26675
|
}
|
|
26664
26676
|
),
|
|
26665
|
-
isCard && !isLast && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "
|
|
26677
|
+
(isCard || isCompact) && !isLast && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("border-b border-border/40", isCompact ? "mx-4" : "mx-6") })
|
|
26666
26678
|
] }, id)
|
|
26667
26679
|
);
|
|
26668
26680
|
};
|
|
@@ -26672,7 +26684,13 @@ function DataList({
|
|
|
26672
26684
|
{
|
|
26673
26685
|
className: cn(
|
|
26674
26686
|
isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
|
|
26675
|
-
|
|
26687
|
+
// `gap-*` is inert on a block container, and Box only emits a display
|
|
26688
|
+
// class when its `display` prop is set — so every non-card list had
|
|
26689
|
+
// been asking for a gap that CSS silently dropped. flex-col makes it
|
|
26690
|
+
// real. `compact` keeps gap-0 on purpose: it separates with the row
|
|
26691
|
+
// divider above instead, never both (Almadar_UI_Beauty.md 6).
|
|
26692
|
+
!isCard && "flex flex-col",
|
|
26693
|
+
!isCard && !isCompact && gapClass,
|
|
26676
26694
|
listLookStyles[look],
|
|
26677
26695
|
className
|
|
26678
26696
|
),
|
|
@@ -42399,16 +42417,11 @@ var init_DetailPanel = __esm({
|
|
|
42399
42417
|
footer
|
|
42400
42418
|
] })
|
|
42401
42419
|
] }) });
|
|
42402
|
-
|
|
42403
|
-
Box,
|
|
42404
|
-
|
|
42405
|
-
|
|
42406
|
-
|
|
42407
|
-
className
|
|
42408
|
-
),
|
|
42409
|
-
children: content
|
|
42410
|
-
}
|
|
42411
|
-
);
|
|
42420
|
+
if (!slideOver) {
|
|
42421
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className, children: content });
|
|
42422
|
+
}
|
|
42423
|
+
const panel = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
42424
|
+
return typeof document === "undefined" ? panel : reactDom.createPortal(panel, document.body);
|
|
42412
42425
|
};
|
|
42413
42426
|
DetailPanel.displayName = "DetailPanel";
|
|
42414
42427
|
}
|
package/dist/runtime/index.js
CHANGED
|
@@ -26105,8 +26105,8 @@ function DataGrid({
|
|
|
26105
26105
|
}
|
|
26106
26106
|
return /* @__PURE__ */ jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
26107
26107
|
field.icon && renderIconInput(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
26108
|
-
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
26109
|
-
/* @__PURE__ */ jsx(Typography, { variant: "small", children: formatValue(value, field.format) })
|
|
26108
|
+
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", className: "sr-only", children: (field.label ?? fieldLabel2(field.name)) + ":" }),
|
|
26109
|
+
/* @__PURE__ */ jsx(Typography, { variant: "small", color: "secondary", children: formatValue(value, field.format) })
|
|
26110
26110
|
] }, field.name);
|
|
26111
26111
|
}) })
|
|
26112
26112
|
] }) })
|
|
@@ -26534,7 +26534,11 @@ function DataList({
|
|
|
26534
26534
|
Box,
|
|
26535
26535
|
{
|
|
26536
26536
|
className: cn(
|
|
26537
|
-
|
|
26537
|
+
// items-start, not items-center: a multi-line row (title + meta +
|
|
26538
|
+
// progress) centred its action cluster in the vertical middle, so
|
|
26539
|
+
// the buttons floated between the meta fields instead of anchoring
|
|
26540
|
+
// to the title they act on (U-DATALIST-ACTIONS-FLOAT-MID-ROW).
|
|
26541
|
+
"group flex items-start gap-4 transition-all duration-fast",
|
|
26538
26542
|
isCompact ? "px-4 py-2" : "px-6 py-4",
|
|
26539
26543
|
"hover:bg-muted/80",
|
|
26540
26544
|
!isCard && !isCompact && "rounded-lg border border-transparent hover:border-border"
|
|
@@ -26565,11 +26569,19 @@ function DataList({
|
|
|
26565
26569
|
if (value === void 0 || value === null || value === "") return null;
|
|
26566
26570
|
return /* @__PURE__ */ jsxs(HStack, { gap: "xs", className: "items-center", children: [
|
|
26567
26571
|
field.icon && renderIconInput2(field.icon, { size: "xs", className: "text-muted-foreground" }),
|
|
26568
|
-
/* @__PURE__ */ jsxs(
|
|
26569
|
-
|
|
26570
|
-
|
|
26571
|
-
|
|
26572
|
-
|
|
26572
|
+
/* @__PURE__ */ jsxs(
|
|
26573
|
+
Typography,
|
|
26574
|
+
{
|
|
26575
|
+
variant: "caption",
|
|
26576
|
+
color: "secondary",
|
|
26577
|
+
className: cn(field.format !== "boolean" && "sr-only"),
|
|
26578
|
+
children: [
|
|
26579
|
+
field.label ?? fieldLabel3(field.name),
|
|
26580
|
+
":"
|
|
26581
|
+
]
|
|
26582
|
+
}
|
|
26583
|
+
),
|
|
26584
|
+
/* @__PURE__ */ jsx(Typography, { variant: "small", color: "secondary", children: formatValue2(value, field.format, { yes: t("common.yes"), no: t("common.no") }) })
|
|
26573
26585
|
] }, field.name);
|
|
26574
26586
|
}) }),
|
|
26575
26587
|
progressFields.map((field) => {
|
|
@@ -26588,7 +26600,7 @@ function DataList({
|
|
|
26588
26600
|
]
|
|
26589
26601
|
}
|
|
26590
26602
|
),
|
|
26591
|
-
isCard && !isLast && /* @__PURE__ */ jsx(Box, { className: "
|
|
26603
|
+
(isCard || isCompact) && !isLast && /* @__PURE__ */ jsx(Box, { className: cn("border-b border-border/40", isCompact ? "mx-4" : "mx-6") })
|
|
26592
26604
|
] }, id)
|
|
26593
26605
|
);
|
|
26594
26606
|
};
|
|
@@ -26598,7 +26610,13 @@ function DataList({
|
|
|
26598
26610
|
{
|
|
26599
26611
|
className: cn(
|
|
26600
26612
|
isCard && "bg-card rounded-xl border border-border shadow-elevation-dialog overflow-hidden",
|
|
26601
|
-
|
|
26613
|
+
// `gap-*` is inert on a block container, and Box only emits a display
|
|
26614
|
+
// class when its `display` prop is set — so every non-card list had
|
|
26615
|
+
// been asking for a gap that CSS silently dropped. flex-col makes it
|
|
26616
|
+
// real. `compact` keeps gap-0 on purpose: it separates with the row
|
|
26617
|
+
// divider above instead, never both (Almadar_UI_Beauty.md 6).
|
|
26618
|
+
!isCard && "flex flex-col",
|
|
26619
|
+
!isCard && !isCompact && gapClass,
|
|
26602
26620
|
listLookStyles[look],
|
|
26603
26621
|
className
|
|
26604
26622
|
),
|
|
@@ -42325,16 +42343,11 @@ var init_DetailPanel = __esm({
|
|
|
42325
42343
|
footer
|
|
42326
42344
|
] })
|
|
42327
42345
|
] }) });
|
|
42328
|
-
|
|
42329
|
-
Box,
|
|
42330
|
-
|
|
42331
|
-
|
|
42332
|
-
|
|
42333
|
-
className
|
|
42334
|
-
),
|
|
42335
|
-
children: content
|
|
42336
|
-
}
|
|
42337
|
-
);
|
|
42346
|
+
if (!slideOver) {
|
|
42347
|
+
return /* @__PURE__ */ jsx(Box, { className, children: content });
|
|
42348
|
+
}
|
|
42349
|
+
const panel = /* @__PURE__ */ jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
42350
|
+
return typeof document === "undefined" ? panel : createPortal(panel, document.body);
|
|
42338
42351
|
};
|
|
42339
42352
|
DetailPanel.displayName = "DetailPanel";
|
|
42340
42353
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@almadar/ui",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.160.0",
|
|
4
4
|
"description": "React UI components, hooks, and providers for Almadar",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -118,11 +118,11 @@
|
|
|
118
118
|
"access": "public"
|
|
119
119
|
},
|
|
120
120
|
"dependencies": {
|
|
121
|
-
"@almadar/core": "^10.
|
|
121
|
+
"@almadar/core": "^10.70.0",
|
|
122
122
|
"@almadar/evaluator": "^2.42.0",
|
|
123
123
|
"@almadar/logger": "^1.11.0",
|
|
124
|
-
"@almadar/runtime": "^6.
|
|
125
|
-
"@almadar/std": "^16.
|
|
124
|
+
"@almadar/runtime": "^6.61.0",
|
|
125
|
+
"@almadar/std": "^16.188.0",
|
|
126
126
|
"@almadar/syntax": "^1.15.0",
|
|
127
127
|
"@dnd-kit/core": "^6.3.1",
|
|
128
128
|
"@dnd-kit/sortable": "^10.0.0",
|