@underverse-ui/underverse 0.2.20 → 0.2.21
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/index.cjs +73 -73
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +73 -73
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -970,7 +970,7 @@ interface SmartImageProps {
|
|
|
970
970
|
alt: string;
|
|
971
971
|
className?: string;
|
|
972
972
|
/**
|
|
973
|
-
* Aspect ratio utility class, e.g. `aspect-square`, `aspect-
|
|
973
|
+
* Aspect ratio utility class, e.g. `aspect-square`, `aspect-4/3`.
|
|
974
974
|
* If provided with `fill`, the wrapper enforces the ratio.
|
|
975
975
|
*/
|
|
976
976
|
ratioClass?: string;
|
|
@@ -1170,7 +1170,7 @@ interface WatermarkProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1170
1170
|
blur?: boolean;
|
|
1171
1171
|
/** Blur amount in pixels */
|
|
1172
1172
|
blurAmount?: number;
|
|
1173
|
-
/** Enable text shadow
|
|
1173
|
+
/** Enable text shadow */
|
|
1174
1174
|
textShadow?: boolean;
|
|
1175
1175
|
/** Text shadow color */
|
|
1176
1176
|
shadowColor?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -970,7 +970,7 @@ interface SmartImageProps {
|
|
|
970
970
|
alt: string;
|
|
971
971
|
className?: string;
|
|
972
972
|
/**
|
|
973
|
-
* Aspect ratio utility class, e.g. `aspect-square`, `aspect-
|
|
973
|
+
* Aspect ratio utility class, e.g. `aspect-square`, `aspect-4/3`.
|
|
974
974
|
* If provided with `fill`, the wrapper enforces the ratio.
|
|
975
975
|
*/
|
|
976
976
|
ratioClass?: string;
|
|
@@ -1170,7 +1170,7 @@ interface WatermarkProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1170
1170
|
blur?: boolean;
|
|
1171
1171
|
/** Blur amount in pixels */
|
|
1172
1172
|
blurAmount?: number;
|
|
1173
|
-
/** Enable text shadow
|
|
1173
|
+
/** Enable text shadow */
|
|
1174
1174
|
textShadow?: boolean;
|
|
1175
1175
|
/** Text shadow color */
|
|
1176
1176
|
shadowColor?: string;
|
package/dist/index.js
CHANGED
|
@@ -27,13 +27,13 @@ var VARIANT_STYLES_BTN = {
|
|
|
27
27
|
// Link: chỉ văn bản
|
|
28
28
|
link: "text-primary bg-transparent underline-offset-4 hover:underline hover:text-primary/85 transition-colors",
|
|
29
29
|
// Gradient: tuỳ chọn, giảm shadow
|
|
30
|
-
gradient: "bg-
|
|
30
|
+
gradient: "bg-linear-to-r from-primary via-secondary to-accent text-primary-foreground hover:opacity-90 shadow-sm border border-primary/10"
|
|
31
31
|
};
|
|
32
32
|
var SIZE_STYLES_BTN = {
|
|
33
|
-
sm: "px-3 py-1.5 text-sm h-8 min-w-
|
|
34
|
-
md: "px-4 py-2 text-sm h-10 min-w-
|
|
35
|
-
lg: "px-6 py-3 text-base h-12 min-w-
|
|
36
|
-
smx: "px-3.5 py-1.5 text-[13px] h-9 min-w-
|
|
33
|
+
sm: "px-3 py-1.5 text-sm h-8 min-w-8 md:px-2.5 md:py-1 md:h-7 md:text-xs",
|
|
34
|
+
md: "px-4 py-2 text-sm h-10 min-w-10 md:px-3 md:py-1.5 md:h-9",
|
|
35
|
+
lg: "px-6 py-3 text-base h-12 min-w-12 md:px-4 md:py-2 md:h-10 md:text-sm",
|
|
36
|
+
smx: "px-3.5 py-1.5 text-[13px] h-9 min-w-9 md:px-3 md:py-1 md:h-8 md:text-xs",
|
|
37
37
|
icon: "w-11 h-11 p-0 rounded-full flex items-center justify-center md:w-10 md:h-10"
|
|
38
38
|
};
|
|
39
39
|
|
|
@@ -134,7 +134,7 @@ var Button = forwardRef(
|
|
|
134
134
|
"aria-label": rest["aria-label"] || title,
|
|
135
135
|
...rest,
|
|
136
136
|
children: [
|
|
137
|
-
!noHoverOverlay && /* @__PURE__ */ jsx("span", { className: "absolute inset-0 bg-
|
|
137
|
+
!noHoverOverlay && /* @__PURE__ */ jsx("span", { className: "absolute inset-0 bg-linear-to-r from-primary-foreground/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-200 dark:hidden" }),
|
|
138
138
|
loading2 ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
139
139
|
/* @__PURE__ */ jsx(SpinnerIcon, { className: "w-4 h-4 animate-spin" }),
|
|
140
140
|
loadingText && /* @__PURE__ */ jsx("span", { className: "ml-2", "aria-live": "polite", children: loadingText }),
|
|
@@ -166,7 +166,7 @@ var variantStyles = {
|
|
|
166
166
|
outline: "bg-transparent text-foreground border-border hover:bg-accent/50",
|
|
167
167
|
ghost: "bg-transparent hover:bg-accent/20 hover:text-accent-foreground border-transparent transition-colors",
|
|
168
168
|
transparent: "bg-transparent text-foreground border-transparent hover:bg-accent/30",
|
|
169
|
-
gradient: "bg-
|
|
169
|
+
gradient: "bg-linear-to-r from-primary to-secondary text-primary-foreground border-transparent hover:from-primary/90 hover:to-secondary/90"
|
|
170
170
|
};
|
|
171
171
|
var sizeStyles = {
|
|
172
172
|
xs: "px-1.5 py-0.5 text-xs font-medium min-h-[18px]",
|
|
@@ -243,12 +243,12 @@ var Badge = ({
|
|
|
243
243
|
className: cn(
|
|
244
244
|
baseClasses,
|
|
245
245
|
"justify-center rounded-full",
|
|
246
|
-
"min-w-
|
|
247
|
-
size === "xs" && "min-w-
|
|
248
|
-
size === "sm" && "min-w-
|
|
249
|
-
size === "md" && "min-w-
|
|
250
|
-
size === "lg" && "min-w-
|
|
251
|
-
size === "xl" && "min-w-
|
|
246
|
+
"min-w-6 h-6 px-1.5 text-xs font-bold",
|
|
247
|
+
size === "xs" && "min-w-5 h-5 px-1 text-xs",
|
|
248
|
+
size === "sm" && "min-w-6 h-6 px-1.5 text-xs",
|
|
249
|
+
size === "md" && "min-w-7 h-7 px-2 text-xs",
|
|
250
|
+
size === "lg" && "min-w-8 h-8 px-2.5 text-sm",
|
|
251
|
+
size === "xl" && "min-w-9 h-9 px-3 text-sm",
|
|
252
252
|
className
|
|
253
253
|
),
|
|
254
254
|
onClick: handleClick,
|
|
@@ -263,7 +263,7 @@ var Badge = ({
|
|
|
263
263
|
Icon,
|
|
264
264
|
{
|
|
265
265
|
className: cn(
|
|
266
|
-
"
|
|
266
|
+
"shrink-0",
|
|
267
267
|
size === "xs" && "h-3 w-3",
|
|
268
268
|
size === "sm" && "h-3 w-3",
|
|
269
269
|
size === "md" && "h-4 w-4",
|
|
@@ -279,7 +279,7 @@ var Badge = ({
|
|
|
279
279
|
onClick: handleRemove,
|
|
280
280
|
className: cn(
|
|
281
281
|
"ml-1 rounded-full hover:bg-accent focus:outline-none focus:bg-accent",
|
|
282
|
-
"transition-colors duration-150
|
|
282
|
+
"transition-colors duration-150 shrink-0",
|
|
283
283
|
size === "xs" && "h-3 w-3",
|
|
284
284
|
size === "sm" && "h-3 w-3",
|
|
285
285
|
size === "md" && "h-4 w-4",
|
|
@@ -368,7 +368,7 @@ var GradientBadge = ({ from = "from-primary", to = "to-secondary", className, ..
|
|
|
368
368
|
{
|
|
369
369
|
...props,
|
|
370
370
|
variant: "transparent",
|
|
371
|
-
className: cn(`bg-
|
|
371
|
+
className: cn(`bg-linear-to-r ${from} ${to} text-primary-foreground border-transparent`, "hover:opacity-90", className)
|
|
372
372
|
}
|
|
373
373
|
);
|
|
374
374
|
};
|
|
@@ -407,7 +407,7 @@ var Card = ({ title, description, children, footer, className, hoverable = false
|
|
|
407
407
|
"div",
|
|
408
408
|
{
|
|
409
409
|
className: cn(
|
|
410
|
-
"absolute inset-0 bg-
|
|
410
|
+
"absolute inset-0 bg-linear-to-br from-primary/5 to-transparent transition-opacity duration-300",
|
|
411
411
|
isHovered ? "opacity-100" : "opacity-0"
|
|
412
412
|
)
|
|
413
413
|
}
|
|
@@ -725,7 +725,7 @@ var Input = forwardRef3(
|
|
|
725
725
|
"div",
|
|
726
726
|
{
|
|
727
727
|
className: cn(
|
|
728
|
-
"absolute bottom-0 left-0 h-0.5 bg-
|
|
728
|
+
"absolute bottom-0 left-0 h-0.5 bg-linear-to-r from-primary to-primary/60 transition-all duration-300",
|
|
729
729
|
// default hidden
|
|
730
730
|
"w-0 opacity-0",
|
|
731
731
|
// expand underline when focused within input container
|
|
@@ -735,7 +735,7 @@ var Input = forwardRef3(
|
|
|
735
735
|
)
|
|
736
736
|
] }),
|
|
737
737
|
errMsg && /* @__PURE__ */ jsxs5("div", { id: errorId, className: "flex items-center gap-2 text-sm text-destructive animate-in slide-in-from-top-1 duration-200", children: [
|
|
738
|
-
/* @__PURE__ */ jsx5(AlertCircle, { className: "w-4 h-4
|
|
738
|
+
/* @__PURE__ */ jsx5(AlertCircle, { className: "w-4 h-4 shrink-0" }),
|
|
739
739
|
/* @__PURE__ */ jsx5("span", { children: errMsg })
|
|
740
740
|
] }),
|
|
741
741
|
(description || hint) && !errMsg && /* @__PURE__ */ jsx5(
|
|
@@ -919,7 +919,7 @@ var NumberInput = forwardRef3(
|
|
|
919
919
|
"text-muted-foreground hover:text-foreground"
|
|
920
920
|
),
|
|
921
921
|
"aria-label": "Increase value",
|
|
922
|
-
children: /* @__PURE__ */ jsx5("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "none", className: "
|
|
922
|
+
children: /* @__PURE__ */ jsx5("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "none", className: "shrink-0", children: /* @__PURE__ */ jsx5("path", { d: "M4 2L6 6H2L4 2Z", fill: "currentColor" }) })
|
|
923
923
|
}
|
|
924
924
|
),
|
|
925
925
|
/* @__PURE__ */ jsx5(
|
|
@@ -935,7 +935,7 @@ var NumberInput = forwardRef3(
|
|
|
935
935
|
"text-muted-foreground hover:text-foreground"
|
|
936
936
|
),
|
|
937
937
|
"aria-label": "Decrease value",
|
|
938
|
-
children: /* @__PURE__ */ jsx5("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "none", className: "
|
|
938
|
+
children: /* @__PURE__ */ jsx5("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "none", className: "shrink-0", children: /* @__PURE__ */ jsx5("path", { d: "M4 6L2 2H6L4 6Z", fill: "currentColor" }) })
|
|
939
939
|
}
|
|
940
940
|
)
|
|
941
941
|
] })
|
|
@@ -1016,7 +1016,7 @@ var Textarea = forwardRef3(
|
|
|
1016
1016
|
}
|
|
1017
1017
|
),
|
|
1018
1018
|
error && /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2 text-sm text-destructive animate-in slide-in-from-top-1 duration-200", children: [
|
|
1019
|
-
/* @__PURE__ */ jsx5(AlertCircle, { className: "w-4 h-4
|
|
1019
|
+
/* @__PURE__ */ jsx5(AlertCircle, { className: "w-4 h-4 shrink-0" }),
|
|
1020
1020
|
/* @__PURE__ */ jsx5("span", { children: error })
|
|
1021
1021
|
] }),
|
|
1022
1022
|
description && !error && /* @__PURE__ */ jsx5("p", { className: cn("text-xs transition-colors duration-200", isFocused ? "text-primary/70" : "text-muted-foreground"), children: description })
|
|
@@ -1089,7 +1089,7 @@ var Textarea2 = forwardRef4(
|
|
|
1089
1089
|
}
|
|
1090
1090
|
),
|
|
1091
1091
|
variant === "default" && /* @__PURE__ */ jsx6("div", { className: cn(
|
|
1092
|
-
"absolute bottom-0 left-0 h-0.5 bg-
|
|
1092
|
+
"absolute bottom-0 left-0 h-0.5 bg-linear-to-r from-primary to-primary/60 transition-all duration-300 ease-soft",
|
|
1093
1093
|
isFocused ? "w-full opacity-100" : "w-0 opacity-0"
|
|
1094
1094
|
) }),
|
|
1095
1095
|
isFocused && variant !== "outlined" && /* @__PURE__ */ jsx6("div", { className: "absolute inset-0 rounded-lg bg-primary/5 -z-10 animate-pulse" })
|
|
@@ -1440,7 +1440,7 @@ var Avatar = ({ src, alt = "avatar", fallback = "?", size = "md", className, onC
|
|
|
1440
1440
|
"span",
|
|
1441
1441
|
{
|
|
1442
1442
|
className: cn(
|
|
1443
|
-
"font-bold uppercase bg-
|
|
1443
|
+
"font-bold uppercase bg-linear-to-br from-primary to-primary/80 bg-clip-text text-transparent",
|
|
1444
1444
|
"transition-all duration-200 animate-fade-in"
|
|
1445
1445
|
),
|
|
1446
1446
|
children: fallback
|
|
@@ -1471,7 +1471,7 @@ var Skeleton = ({
|
|
|
1471
1471
|
};
|
|
1472
1472
|
const animationClasses = {
|
|
1473
1473
|
pulse: "animate-pulse",
|
|
1474
|
-
wave: "animate-shimmer bg-
|
|
1474
|
+
wave: "animate-shimmer bg-linear-to-r from-muted via-muted/50 to-muted bg-size-[200%_100%]",
|
|
1475
1475
|
none: ""
|
|
1476
1476
|
};
|
|
1477
1477
|
if (variant === "text" && lines > 1) {
|
|
@@ -1660,11 +1660,11 @@ import { Check as Check2, X as X2, Clock } from "lucide-react";
|
|
|
1660
1660
|
import { Fragment as Fragment2, jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1661
1661
|
var variantStyles2 = {
|
|
1662
1662
|
default: "bg-muted-foreground",
|
|
1663
|
-
primary: "bg-
|
|
1664
|
-
success: "bg-
|
|
1665
|
-
warning: "bg-
|
|
1666
|
-
danger: "bg-
|
|
1667
|
-
info: "bg-
|
|
1663
|
+
primary: "bg-linear-to-r from-primary via-primary/90 to-primary",
|
|
1664
|
+
success: "bg-linear-to-r from-success via-success/90 to-success shadow-sm shadow-success/20",
|
|
1665
|
+
warning: "bg-linear-to-r from-warning via-warning/90 to-warning shadow-sm shadow-warning/20",
|
|
1666
|
+
danger: "bg-linear-to-r from-destructive via-destructive/90 to-destructive shadow-sm shadow-destructive/20",
|
|
1667
|
+
info: "bg-linear-to-r from-info via-info/90 to-info shadow-sm shadow-info/20"
|
|
1668
1668
|
};
|
|
1669
1669
|
var sizeStyles2 = {
|
|
1670
1670
|
sm: "h-1.5",
|
|
@@ -1733,12 +1733,12 @@ var Progress = ({
|
|
|
1733
1733
|
"before:absolute before:inset-0 before:rounded-full before:opacity-30",
|
|
1734
1734
|
indeterminate && "animate-pulse",
|
|
1735
1735
|
!indeterminate && variantStyles2[variant],
|
|
1736
|
-
isComplete && "bg-
|
|
1737
|
-
isError && "bg-
|
|
1738
|
-
striped && "bg-
|
|
1736
|
+
isComplete && "bg-linear-to-r from-success via-success/90 to-success shadow-sm shadow-success/20",
|
|
1737
|
+
isError && "bg-linear-to-r from-destructive via-destructive/90 to-destructive shadow-sm shadow-destructive/20",
|
|
1738
|
+
striped && "bg-linear-to-r from-transparent via-primary-foreground/20 to-transparent bg-size-[1rem_1rem]",
|
|
1739
1739
|
animated && !indeterminate && "before:animate-pulse",
|
|
1740
1740
|
// Shimmer effect for indeterminate
|
|
1741
|
-
indeterminate && "bg-
|
|
1741
|
+
indeterminate && "bg-linear-to-r from-muted via-primary/50 to-muted bg-size-[200%_100%] animate-[shimmer_2s_infinite]"
|
|
1742
1742
|
),
|
|
1743
1743
|
style: {
|
|
1744
1744
|
width: indeterminate ? "100%" : `${percentage}%`,
|
|
@@ -1948,7 +1948,7 @@ var MiniProgress = ({
|
|
|
1948
1948
|
)
|
|
1949
1949
|
}
|
|
1950
1950
|
),
|
|
1951
|
-
showValue && /* @__PURE__ */ jsxs10("span", { className: "text-xs font-medium text-muted-foreground min-w-
|
|
1951
|
+
showValue && /* @__PURE__ */ jsxs10("span", { className: "text-xs font-medium text-muted-foreground min-w-10 text-right", children: [
|
|
1952
1952
|
Math.round(percentage),
|
|
1953
1953
|
"%"
|
|
1954
1954
|
] })
|
|
@@ -2182,7 +2182,7 @@ var Modal = ({
|
|
|
2182
2182
|
return null;
|
|
2183
2183
|
}
|
|
2184
2184
|
const maxWidthClass = width ? "max-w-none" : fullWidth ? "max-w-full" : sizeStyles3[size];
|
|
2185
|
-
const modalContent = /* @__PURE__ */ jsxs11("div", { className: cn("fixed inset-0 z-
|
|
2185
|
+
const modalContent = /* @__PURE__ */ jsxs11("div", { className: cn("fixed inset-0 z-9999 flex items-center justify-center", overlayClassName), onClick: handleOverlayClick, children: [
|
|
2186
2186
|
/* @__PURE__ */ jsx13(
|
|
2187
2187
|
"div",
|
|
2188
2188
|
{
|
|
@@ -2283,7 +2283,7 @@ var ToastProvider = ({ children, position = "top-right", maxToasts = 5 }) => {
|
|
|
2283
2283
|
};
|
|
2284
2284
|
return /* @__PURE__ */ jsxs12(ToastContext.Provider, { value: { addToast, removeToast, toasts }, children: [
|
|
2285
2285
|
children,
|
|
2286
|
-
/* @__PURE__ */ jsx14("div", { className: cn("fixed z-
|
|
2286
|
+
/* @__PURE__ */ jsx14("div", { className: cn("fixed z-99999 flex flex-col gap-2 pointer-events-none", positionClasses[position]), "aria-live": "polite", "aria-atomic": true, children: toasts.map((toast) => /* @__PURE__ */ jsx14(ToastComponent, { toast, onRemove: removeToast }, toast.id)) })
|
|
2287
2287
|
] });
|
|
2288
2288
|
};
|
|
2289
2289
|
var ToastComponent = ({ toast, onRemove }) => {
|
|
@@ -2517,7 +2517,7 @@ var Tooltip = ({
|
|
|
2517
2517
|
},
|
|
2518
2518
|
className: cn(
|
|
2519
2519
|
"px-3 py-2 text-sm font-medium rounded-lg shadow-lg border",
|
|
2520
|
-
"max-w-xs break-
|
|
2520
|
+
"max-w-xs wrap-break-word backdrop-blur-sm",
|
|
2521
2521
|
variantStyles3[variant],
|
|
2522
2522
|
className
|
|
2523
2523
|
),
|
|
@@ -2872,7 +2872,7 @@ var Popover = ({
|
|
|
2872
2872
|
role: "dialog",
|
|
2873
2873
|
"aria-modal": modal || void 0,
|
|
2874
2874
|
className: cn(
|
|
2875
|
-
"z-
|
|
2875
|
+
"z-9999",
|
|
2876
2876
|
// shadcn-like enter animation
|
|
2877
2877
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
2878
2878
|
className
|
|
@@ -3081,7 +3081,7 @@ var Sheet = ({
|
|
|
3081
3081
|
transition: "transform 300ms cubic-bezier(0.4, 0, 0.2, 1)"
|
|
3082
3082
|
},
|
|
3083
3083
|
children: [
|
|
3084
|
-
(title || description || header || showClose) && /* @__PURE__ */ jsx17("div", { className: "
|
|
3084
|
+
(title || description || header || showClose) && /* @__PURE__ */ jsx17("div", { className: "shrink-0 border-b border-border", children: header || /* @__PURE__ */ jsxs15("div", { className: "flex items-center justify-between p-4", children: [
|
|
3085
3085
|
/* @__PURE__ */ jsxs15("div", { className: "flex-1", children: [
|
|
3086
3086
|
title && /* @__PURE__ */ jsx17("h2", { className: "text-lg font-semibold text-foreground", children: title }),
|
|
3087
3087
|
description && /* @__PURE__ */ jsx17("p", { className: "text-sm text-muted-foreground mt-1", children: description })
|
|
@@ -3100,7 +3100,7 @@ var Sheet = ({
|
|
|
3100
3100
|
children
|
|
3101
3101
|
}
|
|
3102
3102
|
),
|
|
3103
|
-
footer && /* @__PURE__ */ jsx17("div", { className: "
|
|
3103
|
+
footer && /* @__PURE__ */ jsx17("div", { className: "shrink-0 border-t border-border p-4", children: footer })
|
|
3104
3104
|
]
|
|
3105
3105
|
}
|
|
3106
3106
|
)
|
|
@@ -3165,7 +3165,7 @@ var Alert = ({ title, description, variant = "default", className, icon, dismiss
|
|
|
3165
3165
|
/* @__PURE__ */ jsx18("div", { className: "pt-1", children: icon ?? variantIcons[variant] }),
|
|
3166
3166
|
/* @__PURE__ */ jsxs16("div", { className: "flex-1 min-w-0", children: [
|
|
3167
3167
|
title && /* @__PURE__ */ jsx18("p", { className: "font-semibold text-sm leading-none mb-1 text-foreground", children: title }),
|
|
3168
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx18("p", { className: "text-sm text-muted-foreground leading-relaxed break-
|
|
3168
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx18("p", { className: "text-sm text-muted-foreground leading-relaxed wrap-break-word", children: description }) : /* @__PURE__ */ jsx18("div", { className: "text-sm text-muted-foreground leading-relaxed wrap-break-word", children: description })),
|
|
3169
3169
|
actions && /* @__PURE__ */ jsx18("div", { className: "mt-2 flex flex-wrap gap-2", children: actions })
|
|
3170
3170
|
] }),
|
|
3171
3171
|
dismissible && /* @__PURE__ */ jsx18(
|
|
@@ -3247,7 +3247,7 @@ var GlobalLoading = ({
|
|
|
3247
3247
|
"div",
|
|
3248
3248
|
{
|
|
3249
3249
|
className: cn(
|
|
3250
|
-
"inset-0 z-
|
|
3250
|
+
"inset-0 z-100000 flex items-center justify-center",
|
|
3251
3251
|
position === "fixed" ? "fixed" : "absolute",
|
|
3252
3252
|
backdrop && "bg-background/90 backdrop-blur-sm",
|
|
3253
3253
|
className
|
|
@@ -3684,7 +3684,7 @@ var VerticalTabs = ({
|
|
|
3684
3684
|
className,
|
|
3685
3685
|
...props
|
|
3686
3686
|
}) => {
|
|
3687
|
-
return /* @__PURE__ */ jsx21("div", { className: cn("flex gap-6", className), children: /* @__PURE__ */ jsx21("div", { className: cn(sidebarWidth, "
|
|
3687
|
+
return /* @__PURE__ */ jsx21("div", { className: cn("flex gap-6", className), children: /* @__PURE__ */ jsx21("div", { className: cn(sidebarWidth, "shrink-0"), children: /* @__PURE__ */ jsx21(
|
|
3688
3688
|
Tabs,
|
|
3689
3689
|
{
|
|
3690
3690
|
...props,
|
|
@@ -4148,7 +4148,7 @@ var Combobox = ({
|
|
|
4148
4148
|
"outline-none focus:outline-none focus-visible:outline-none",
|
|
4149
4149
|
"hover:bg-accent hover:text-accent-foreground",
|
|
4150
4150
|
"focus:bg-accent focus:text-accent-foreground",
|
|
4151
|
-
"data-
|
|
4151
|
+
"data-disabled:pointer-events-none data-disabled:opacity-50",
|
|
4152
4152
|
index === activeIndex && "bg-accent text-accent-foreground",
|
|
4153
4153
|
isSelected && "bg-accent text-accent-foreground"
|
|
4154
4154
|
),
|
|
@@ -4379,7 +4379,7 @@ var Pagination = ({
|
|
|
4379
4379
|
size,
|
|
4380
4380
|
onClick: () => onChange(pageNumber),
|
|
4381
4381
|
disabled,
|
|
4382
|
-
className: cn("min-w-
|
|
4382
|
+
className: cn("min-w-10", isActive && "font-semibold"),
|
|
4383
4383
|
"aria-label": labels?.pageNumber ? labels.pageNumber(pageNumber) : t("pageNumber", { page: pageNumber }),
|
|
4384
4384
|
"aria-current": isActive ? "page" : void 0,
|
|
4385
4385
|
children: pageNumber
|
|
@@ -4515,7 +4515,7 @@ var CompactPagination = ({
|
|
|
4515
4515
|
title: "Previous page"
|
|
4516
4516
|
}
|
|
4517
4517
|
),
|
|
4518
|
-
/* @__PURE__ */ jsxs22("div", { className: "px-2 py-1 text-sm text-muted-foreground min-w-
|
|
4518
|
+
/* @__PURE__ */ jsxs22("div", { className: "px-2 py-1 text-sm text-muted-foreground min-w-16 text-center", children: [
|
|
4519
4519
|
page,
|
|
4520
4520
|
" / ",
|
|
4521
4521
|
totalPages
|
|
@@ -4916,7 +4916,7 @@ var DatePicker = ({
|
|
|
4916
4916
|
size === "sm" ? "w-7 h-7 text-[12px]" : "w-8 h-8 text-sm",
|
|
4917
4917
|
"datepicker-day rounded-md focus:outline-none",
|
|
4918
4918
|
"transition-colors",
|
|
4919
|
-
isSelected ? "
|
|
4919
|
+
isSelected ? "bg-primary! text-primary-foreground font-bold ring-2 ring-primary-foreground/60 shadow-lg scale-105 z-10 hover:bg-primary! focus:bg-primary! focus:text-primary-foreground" : "hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground",
|
|
4920
4920
|
isToday2 && !isSelected && "bg-accent text-accent-foreground font-semibold"
|
|
4921
4921
|
),
|
|
4922
4922
|
children: day
|
|
@@ -4941,7 +4941,7 @@ var DatePicker = ({
|
|
|
4941
4941
|
},
|
|
4942
4942
|
"data-state": isOpen ? "open" : "closed",
|
|
4943
4943
|
className: cn(
|
|
4944
|
-
"z-
|
|
4944
|
+
"z-9999",
|
|
4945
4945
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
4946
4946
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95"
|
|
4947
4947
|
),
|
|
@@ -5204,7 +5204,7 @@ var DateRangePicker = ({ startDate, endDate, onChange, placeholder = "Select dat
|
|
|
5204
5204
|
style: { position: "absolute", top: dropdownPosition.top, left: dropdownPosition.left, width: dropdownPosition.width || 256, zIndex: 9999 },
|
|
5205
5205
|
"data-state": isOpen ? "open" : "closed",
|
|
5206
5206
|
className: cn(
|
|
5207
|
-
"z-
|
|
5207
|
+
"z-9999",
|
|
5208
5208
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
5209
5209
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95"
|
|
5210
5210
|
),
|
|
@@ -5849,11 +5849,11 @@ function TimePicker({
|
|
|
5849
5849
|
),
|
|
5850
5850
|
(error || success || helperText) && /* @__PURE__ */ jsxs24("div", { className: cn("mt-1.5 flex items-start gap-1.5", sz.label), children: [
|
|
5851
5851
|
error && /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-1.5 text-destructive", children: [
|
|
5852
|
-
/* @__PURE__ */ jsx28(X8, { className: "w-3.5 h-3.5
|
|
5852
|
+
/* @__PURE__ */ jsx28(X8, { className: "w-3.5 h-3.5 shrink-0" }),
|
|
5853
5853
|
/* @__PURE__ */ jsx28("span", { children: error })
|
|
5854
5854
|
] }),
|
|
5855
5855
|
success && !error && /* @__PURE__ */ jsxs24("div", { className: "flex items-center gap-1.5 text-green-600", children: [
|
|
5856
|
-
/* @__PURE__ */ jsx28(Check4, { className: "w-3.5 h-3.5
|
|
5856
|
+
/* @__PURE__ */ jsx28(Check4, { className: "w-3.5 h-3.5 shrink-0" }),
|
|
5857
5857
|
/* @__PURE__ */ jsx28("span", { children: "Valid time selected" })
|
|
5858
5858
|
] }),
|
|
5859
5859
|
helperText && !error && !success && /* @__PURE__ */ jsx28("span", { className: "text-muted-foreground", children: helperText })
|
|
@@ -6342,13 +6342,13 @@ var MultiCombobox = ({
|
|
|
6342
6342
|
setOpen(next);
|
|
6343
6343
|
},
|
|
6344
6344
|
className: cn(
|
|
6345
|
-
"flex w-full items-center gap-2 rounded-lg border border-input bg-background shadow-sm min-h-
|
|
6345
|
+
"flex w-full items-center gap-2 rounded-lg border border-input bg-background shadow-sm min-h-10",
|
|
6346
6346
|
"px-3 py-2",
|
|
6347
6347
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
6348
6348
|
"disabled:cursor-not-allowed disabled:opacity-50"
|
|
6349
6349
|
),
|
|
6350
6350
|
children: [
|
|
6351
|
-
/* @__PURE__ */ jsx30("div", { className: "flex items-center gap-1 flex-wrap min-h-
|
|
6351
|
+
/* @__PURE__ */ jsx30("div", { className: "flex items-center gap-1 flex-wrap min-h-6 flex-1", children: value.length > 0 ? showTags ? value.map((itemValue) => {
|
|
6352
6352
|
const option = normalizedOptions.find((o) => o.value === itemValue);
|
|
6353
6353
|
return /* @__PURE__ */ jsxs26("span", { className: "inline-flex items-center gap-1 bg-accent text-accent-foreground rounded px-2 py-1 text-xs", children: [
|
|
6354
6354
|
/* @__PURE__ */ jsx30("span", { className: "truncate max-w-[120px]", children: option ? displayFormat(option) : itemValue }),
|
|
@@ -6864,7 +6864,7 @@ var Slider = React26.forwardRef(
|
|
|
6864
6864
|
return /* @__PURE__ */ jsxs28("div", { className: cn("w-full space-y-2", containerClassName), children: [
|
|
6865
6865
|
(label || showValue) && /* @__PURE__ */ jsxs28("div", { className: "flex items-center justify-between", children: [
|
|
6866
6866
|
label && /* @__PURE__ */ jsx32("label", { className: cn("text-sm font-medium text-foreground", labelClassName), children: label }),
|
|
6867
|
-
showValue && /* @__PURE__ */ jsx32("span", { className: cn("text-xs font-mono text-muted-foreground min-w-
|
|
6867
|
+
showValue && /* @__PURE__ */ jsx32("span", { className: cn("text-xs font-mono text-muted-foreground min-w-8 text-right", valueClassName), children: displayValue })
|
|
6868
6868
|
] }),
|
|
6869
6869
|
/* @__PURE__ */ jsxs28("div", { className: cn("relative flex items-center", sizeStyles8.container), children: [
|
|
6870
6870
|
/* @__PURE__ */ jsx32("div", { className: cn("w-full rounded-full bg-secondary relative overflow-hidden", sizeStyles8.track, trackClassName), children: /* @__PURE__ */ jsx32(
|
|
@@ -7201,7 +7201,7 @@ function OverlayControls({
|
|
|
7201
7201
|
"div",
|
|
7202
7202
|
{
|
|
7203
7203
|
className: cn(
|
|
7204
|
-
"absolute bottom-0 left-0 right-0 pb-2 pt-8 bg-
|
|
7204
|
+
"absolute bottom-0 left-0 right-0 pb-2 pt-8 bg-linear-to-t from-black/40 to-transparent z-20 transition-opacity duration-200",
|
|
7205
7205
|
hoverClasses,
|
|
7206
7206
|
autoHide && !controlsVisible && "opacity-0 pointer-events-none",
|
|
7207
7207
|
className
|
|
@@ -7929,7 +7929,7 @@ function Carousel({
|
|
|
7929
7929
|
"div",
|
|
7930
7930
|
{
|
|
7931
7931
|
className: cn(
|
|
7932
|
-
"
|
|
7932
|
+
"shrink-0",
|
|
7933
7933
|
isHorizontal ? "h-full" : "w-full",
|
|
7934
7934
|
animation === "fade" && idx !== currentIndex && "opacity-0",
|
|
7935
7935
|
animation === "scale" && idx !== currentIndex && "scale-95",
|
|
@@ -8012,7 +8012,7 @@ function Carousel({
|
|
|
8012
8012
|
"div",
|
|
8013
8013
|
{
|
|
8014
8014
|
className: cn(
|
|
8015
|
-
"absolute bottom-0 left-0 right-0 flex gap-2 p-4 bg-
|
|
8015
|
+
"absolute bottom-0 left-0 right-0 flex gap-2 p-4 bg-linear-to-t from-black/50 to-transparent overflow-x-auto",
|
|
8016
8016
|
isHorizontal ? "flex-row" : "flex-col"
|
|
8017
8017
|
),
|
|
8018
8018
|
children: React29.Children.map(children, (child, idx) => /* @__PURE__ */ jsx36(
|
|
@@ -8020,7 +8020,7 @@ function Carousel({
|
|
|
8020
8020
|
{
|
|
8021
8021
|
onClick: () => scrollTo(idx),
|
|
8022
8022
|
className: cn(
|
|
8023
|
-
"
|
|
8023
|
+
"shrink-0 w-16 h-16 rounded-md overflow-hidden border-2 transition-all focus:outline-none focus:ring-2 focus:ring-primary",
|
|
8024
8024
|
idx === currentIndex ? "border-primary scale-110" : "border-transparent opacity-70 hover:opacity-100"
|
|
8025
8025
|
),
|
|
8026
8026
|
"aria-label": `Thumbnail ${idx + 1}`,
|
|
@@ -8297,8 +8297,8 @@ function FallingIcons({
|
|
|
8297
8297
|
"span",
|
|
8298
8298
|
{
|
|
8299
8299
|
className: cn(
|
|
8300
|
-
"block uv-spin hover:[
|
|
8301
|
-
physicsRotation ? "[
|
|
8300
|
+
"block uv-spin hover:animate-[var(--popName)_0.35s_ease-out_forwards]",
|
|
8301
|
+
physicsRotation ? "animate-[var(--physicsSpinName)_var(--spinDur)_ease-in-out_infinite]" : spin && "animate-[var(--spinName)_var(--spinDur)_linear_infinite]"
|
|
8302
8302
|
),
|
|
8303
8303
|
style: {
|
|
8304
8304
|
width: p.size,
|
|
@@ -8965,8 +8965,8 @@ var TimelineItem = React33.forwardRef(
|
|
|
8965
8965
|
outlined: "rounded-lg border border-border bg-card shadow-sm px-4 py-3",
|
|
8966
8966
|
card: "rounded-xl border border-border bg-card shadow-md px-5 py-4",
|
|
8967
8967
|
minimal: "border-l-2 pl-4 py-2",
|
|
8968
|
-
modern: "rounded-lg bg-
|
|
8969
|
-
gradient: "rounded-xl bg-
|
|
8968
|
+
modern: "rounded-lg bg-linear-to-r from-card to-muted/20 border border-border/50 px-5 py-4 backdrop-blur-sm",
|
|
8969
|
+
gradient: "rounded-xl bg-linear-to-br from-primary/10 via-card to-accent/10 border border-primary/20 px-5 py-4 shadow-lg"
|
|
8970
8970
|
};
|
|
8971
8971
|
const contentBox = /* @__PURE__ */ jsxs36("div", { className: cn("min-w-0 flex-1", variantClasses[ctx.variant]), children: [
|
|
8972
8972
|
/* @__PURE__ */ jsxs36("div", { className: "flex items-start justify-between gap-2", children: [
|
|
@@ -8993,12 +8993,12 @@ var TimelineItem = React33.forwardRef(
|
|
|
8993
8993
|
] });
|
|
8994
8994
|
const markerWidth = Icon || dot ? "w-auto" : "w-6";
|
|
8995
8995
|
const leftSide = /* @__PURE__ */ jsxs36("div", { className: cn("flex items-stretch gap-4", padding, ctx.animate && "animate-in slide-in-from-left duration-500"), style: { animationDelay: ctx.animate ? `${(idx ?? 0) * 100}ms` : void 0 }, children: [
|
|
8996
|
-
/* @__PURE__ */ jsx40("div", { className: cn("
|
|
8996
|
+
/* @__PURE__ */ jsx40("div", { className: cn("shrink-0 flex items-stretch", markerWidth), children: /* @__PURE__ */ jsx40(Marker, { index: idx ?? 0, last: isLast, size: ctx.size, color, status, lineColor: ctx.lineColor, lineStyle: ctx.lineStyle, active, dot, icon: Icon, showLine: ctx.showLine }) }),
|
|
8997
8997
|
/* @__PURE__ */ jsx40("div", { className: "flex-1", children: contentBox })
|
|
8998
8998
|
] });
|
|
8999
8999
|
const rightSide = /* @__PURE__ */ jsxs36("div", { className: cn("flex items-stretch gap-4", padding, ctx.animate && "animate-in slide-in-from-right duration-500"), style: { animationDelay: ctx.animate ? `${(idx ?? 0) * 100}ms` : void 0 }, children: [
|
|
9000
9000
|
/* @__PURE__ */ jsx40("div", { className: "flex-1 flex justify-end", children: contentBox }),
|
|
9001
|
-
/* @__PURE__ */ jsx40("div", { className: cn("
|
|
9001
|
+
/* @__PURE__ */ jsx40("div", { className: cn("shrink-0 flex items-stretch", markerWidth), children: /* @__PURE__ */ jsx40(Marker, { index: idx ?? 0, last: isLast, size: ctx.size, color, status, lineColor: ctx.lineColor, lineStyle: ctx.lineStyle, active, dot, icon: Icon, showLine: ctx.showLine }) })
|
|
9002
9002
|
] });
|
|
9003
9003
|
const horizontalItem = /* @__PURE__ */ jsxs36(
|
|
9004
9004
|
"div",
|
|
@@ -10015,7 +10015,7 @@ function DataTable({
|
|
|
10015
10015
|
children: (() => {
|
|
10016
10016
|
const isRightAlign = col.align === "right" || !col.align && headerAlign === "right";
|
|
10017
10017
|
const isCenterAlign = col.align === "center" || !col.align && headerAlign === "center";
|
|
10018
|
-
const titleContent = /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-1 min-w-0
|
|
10018
|
+
const titleContent = /* @__PURE__ */ jsxs41("div", { className: "flex items-center gap-1 min-w-0 shrink", children: [
|
|
10019
10019
|
/* @__PURE__ */ jsx46("span", { className: "truncate font-medium text-sm", children: col.title }),
|
|
10020
10020
|
col.sortable && /* @__PURE__ */ jsx46(
|
|
10021
10021
|
"button",
|
|
@@ -10106,7 +10106,7 @@ function DataTable({
|
|
|
10106
10106
|
"div",
|
|
10107
10107
|
{
|
|
10108
10108
|
className: cn(
|
|
10109
|
-
"flex items-center gap-2 select-none min-h-
|
|
10109
|
+
"flex items-center gap-2 select-none min-h-10",
|
|
10110
10110
|
isRightAlign && "justify-end",
|
|
10111
10111
|
isCenterAlign && "justify-center",
|
|
10112
10112
|
!isRightAlign && !isCenterAlign && "justify-between"
|
|
@@ -10232,7 +10232,7 @@ function DataTable({
|
|
|
10232
10232
|
Table,
|
|
10233
10233
|
{
|
|
10234
10234
|
containerClassName: "border-0 md:border-0 rounded-none md:rounded-none shadow-none bg-transparent",
|
|
10235
|
-
className: "[&_thead]:sticky [&_thead]:top-0 [&_thead]:z-
|
|
10235
|
+
className: "[&_thead]:sticky [&_thead]:top-0 [&_thead]:z-5 [&_thead]:bg-background [&_thead]:backdrop-blur-sm",
|
|
10236
10236
|
children: [
|
|
10237
10237
|
/* @__PURE__ */ jsx46(TableHeader, { children: renderHeader }),
|
|
10238
10238
|
/* @__PURE__ */ jsx46(TableBody, { children: loading2 ? /* @__PURE__ */ jsx46(TableRow, { children: /* @__PURE__ */ jsx46(TableCell, { colSpan: visibleColumns.length, className: "text-center py-8", children: /* @__PURE__ */ jsxs41("div", { className: "flex items-center justify-center gap-2 text-muted-foreground", children: [
|
|
@@ -12397,7 +12397,7 @@ function FloatingContacts({ className }) {
|
|
|
12397
12397
|
external: true
|
|
12398
12398
|
}
|
|
12399
12399
|
];
|
|
12400
|
-
return /* @__PURE__ */ jsxs44("div", { className: cn("fixed bottom-6 right-4 z-
|
|
12400
|
+
return /* @__PURE__ */ jsxs44("div", { className: cn("fixed bottom-6 right-4 z-100000", "flex flex-col items-end gap-3", className), "aria-label": "Quick contacts", children: [
|
|
12401
12401
|
/* @__PURE__ */ jsx49(
|
|
12402
12402
|
Link2,
|
|
12403
12403
|
{
|
|
@@ -12520,12 +12520,12 @@ function ThemeToggleHeadless({
|
|
|
12520
12520
|
}
|
|
12521
12521
|
),
|
|
12522
12522
|
isOpen && /* @__PURE__ */ jsxs46(Fragment18, { children: [
|
|
12523
|
-
typeof window !== "undefined" && createPortal10(/* @__PURE__ */ jsx51("div", { className: "fixed inset-0 z-
|
|
12523
|
+
typeof window !== "undefined" && createPortal10(/* @__PURE__ */ jsx51("div", { className: "fixed inset-0 z-9998", onClick: () => setIsOpen(false) }), document.body),
|
|
12524
12524
|
typeof window !== "undefined" && dropdownPosition && createPortal10(
|
|
12525
12525
|
/* @__PURE__ */ jsx51(
|
|
12526
12526
|
"div",
|
|
12527
12527
|
{
|
|
12528
|
-
className: "z-
|
|
12528
|
+
className: "z-9999 bg-card border border-border rounded-lg shadow-lg overflow-hidden",
|
|
12529
12529
|
style: { position: "absolute", top: dropdownPosition.top, left: dropdownPosition.left, width: dropdownPosition.width },
|
|
12530
12530
|
onMouseDown: (e) => e.stopPropagation(),
|
|
12531
12531
|
role: "menu",
|
|
@@ -12617,12 +12617,12 @@ function LanguageSwitcherHeadless({
|
|
|
12617
12617
|
}
|
|
12618
12618
|
),
|
|
12619
12619
|
isOpen && /* @__PURE__ */ jsxs47(Fragment19, { children: [
|
|
12620
|
-
typeof window !== "undefined" && createPortal11(/* @__PURE__ */ jsx52("div", { className: "fixed inset-0 z-
|
|
12620
|
+
typeof window !== "undefined" && createPortal11(/* @__PURE__ */ jsx52("div", { className: "fixed inset-0 z-9998", onClick: () => setIsOpen(false) }), document.body),
|
|
12621
12621
|
typeof window !== "undefined" && dropdownPosition && createPortal11(
|
|
12622
12622
|
/* @__PURE__ */ jsx52(
|
|
12623
12623
|
"div",
|
|
12624
12624
|
{
|
|
12625
|
-
className: "z-
|
|
12625
|
+
className: "z-9999 bg-card border border-border rounded-lg shadow-lg overflow-hidden",
|
|
12626
12626
|
style: { position: "absolute", top: dropdownPosition.top, left: dropdownPosition.left, width: dropdownPosition.width },
|
|
12627
12627
|
onMouseDown: (e) => e.stopPropagation(),
|
|
12628
12628
|
role: "menu",
|