@underverse-ui/underverse 0.2.60 → 0.2.61
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 +116 -80
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +116 -80
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -440,7 +440,7 @@ var Badge = ({
|
|
|
440
440
|
}
|
|
441
441
|
);
|
|
442
442
|
}
|
|
443
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: cn(baseClasses, "rounded-
|
|
443
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: cn(baseClasses, "rounded-full gap-1", sizeStyles[size], className), onClick: handleClick, role: "status", children: [
|
|
444
444
|
Icon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
445
445
|
Icon,
|
|
446
446
|
{
|
|
@@ -2130,7 +2130,7 @@ function SmartImage({
|
|
|
2130
2130
|
alt,
|
|
2131
2131
|
className,
|
|
2132
2132
|
ratioClass,
|
|
2133
|
-
roundedClass = "rounded-
|
|
2133
|
+
roundedClass = "rounded-2xl md:rounded-3xl",
|
|
2134
2134
|
fill = true,
|
|
2135
2135
|
width,
|
|
2136
2136
|
height,
|
|
@@ -2320,10 +2320,10 @@ var Avatar_default = Avatar;
|
|
|
2320
2320
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
2321
2321
|
var Skeleton = ({ className, width, height, variant = "rectangular", animation = "pulse", lines = 1 }) => {
|
|
2322
2322
|
const variantClasses2 = {
|
|
2323
|
-
rectangular: "rounded-md",
|
|
2323
|
+
rectangular: "rounded-2xl md:rounded-3xl",
|
|
2324
2324
|
circular: "rounded-full",
|
|
2325
|
-
rounded: "rounded-
|
|
2326
|
-
text: "rounded"
|
|
2325
|
+
rounded: "rounded-2xl md:rounded-3xl",
|
|
2326
|
+
text: "rounded-xl"
|
|
2327
2327
|
};
|
|
2328
2328
|
const animationClasses = {
|
|
2329
2329
|
pulse: "animate-pulse",
|
|
@@ -2372,9 +2372,9 @@ var SkeletonText = ({ lines = 3, className, width = "100%" }) => {
|
|
|
2372
2372
|
};
|
|
2373
2373
|
var SkeletonCard = ({ showAvatar = true, showImage = false, textLines = 3, className, children }) => {
|
|
2374
2374
|
if (children) {
|
|
2375
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: cn("p-4 space-y-4 rounded-
|
|
2375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: cn("p-4 space-y-4 rounded-2xl md:rounded-3xl bg-card outline-none focus:outline-none", className), children });
|
|
2376
2376
|
}
|
|
2377
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: cn("p-4 space-y-4 rounded-2xl bg-card outline-none focus:outline-none", className), children: [
|
|
2377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: cn("p-4 space-y-4 rounded-2xl md:rounded-3xl bg-card outline-none focus:outline-none", className), children: [
|
|
2378
2378
|
showAvatar && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex items-center space-x-3", children: [
|
|
2379
2379
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SkeletonAvatar, {}),
|
|
2380
2380
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "space-y-2", children: [
|
|
@@ -2382,7 +2382,7 @@ var SkeletonCard = ({ showAvatar = true, showImage = false, textLines = 3, class
|
|
|
2382
2382
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Skeleton, { className: "h-3 w-16" })
|
|
2383
2383
|
] })
|
|
2384
2384
|
] }),
|
|
2385
|
-
showImage && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Skeleton, { className: "h-48 w-full rounded-
|
|
2385
|
+
showImage && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Skeleton, { className: "h-48 w-full rounded-2xl md:rounded-3xl" }),
|
|
2386
2386
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SkeletonText, { lines: textLines }),
|
|
2387
2387
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex space-x-2", children: [
|
|
2388
2388
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SkeletonButton, { size: "sm" }),
|
|
@@ -2391,7 +2391,7 @@ var SkeletonCard = ({ showAvatar = true, showImage = false, textLines = 3, class
|
|
|
2391
2391
|
] });
|
|
2392
2392
|
};
|
|
2393
2393
|
var SkeletonPost = ({ className }) => {
|
|
2394
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: cn("p-6 space-y-4 rounded-3xl bg-card outline-none focus:outline-none", className), children: [
|
|
2394
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: cn("p-6 space-y-4 rounded-2xl md:rounded-3xl bg-card outline-none focus:outline-none", className), children: [
|
|
2395
2395
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex items-center space-x-3", children: [
|
|
2396
2396
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SkeletonAvatar, { size: "lg" }),
|
|
2397
2397
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "space-y-2", children: [
|
|
@@ -2423,7 +2423,7 @@ var SkeletonMessage = ({ own = false, showAvatar = true, className }) => {
|
|
|
2423
2423
|
] });
|
|
2424
2424
|
};
|
|
2425
2425
|
var SkeletonList = ({ items = 5, itemHeight = 60, showAvatar = true, className }) => {
|
|
2426
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: cn("space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex items-center space-x-3 p-3 rounded-
|
|
2426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: cn("space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex items-center space-x-3 p-3 rounded-2xl md:rounded-3xl", children: [
|
|
2427
2427
|
showAvatar && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SkeletonAvatar, {}),
|
|
2428
2428
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
2429
2429
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Skeleton, { className: "h-4 w-3/4" }),
|
|
@@ -4511,7 +4511,7 @@ var sizeStyles6 = {
|
|
|
4511
4511
|
content: "mt-3 p-3"
|
|
4512
4512
|
},
|
|
4513
4513
|
md: {
|
|
4514
|
-
tab: "py-2 px-4 text-sm",
|
|
4514
|
+
tab: "py-2.5 px-4 text-sm",
|
|
4515
4515
|
content: "mt-4 p-4"
|
|
4516
4516
|
},
|
|
4517
4517
|
lg: {
|
|
@@ -4521,33 +4521,33 @@ var sizeStyles6 = {
|
|
|
4521
4521
|
};
|
|
4522
4522
|
var variantStyles5 = {
|
|
4523
4523
|
default: {
|
|
4524
|
-
container: "border-b border-border",
|
|
4525
|
-
tab: "border-b-2 border-transparent hover:
|
|
4526
|
-
activeTab: "border-primary text-primary",
|
|
4524
|
+
container: "border-b border-border/60 bg-muted/30 p-1 rounded-t-2xl",
|
|
4525
|
+
tab: "rounded-full border-b-2 border-transparent hover:bg-accent/40",
|
|
4526
|
+
activeTab: "border-primary bg-background text-primary shadow-sm",
|
|
4527
4527
|
inactiveTab: "text-muted-foreground hover:text-foreground"
|
|
4528
4528
|
},
|
|
4529
4529
|
pills: {
|
|
4530
|
-
container: "bg-muted p-1 rounded-
|
|
4531
|
-
tab: "rounded-
|
|
4532
|
-
activeTab: "bg-background text-foreground shadow-
|
|
4530
|
+
container: "bg-muted/50 backdrop-blur-sm p-1.5 rounded-2xl border border-border/40",
|
|
4531
|
+
tab: "rounded-full transition-all duration-200",
|
|
4532
|
+
activeTab: "bg-background text-foreground shadow-md border border-border/50",
|
|
4533
4533
|
inactiveTab: "text-muted-foreground hover:text-foreground hover:bg-background/50"
|
|
4534
4534
|
},
|
|
4535
4535
|
underline: {
|
|
4536
|
-
container: "relative border-b border-border",
|
|
4537
|
-
tab: "relative transition-colors duration-200 pb-3 border-b-2 border-transparent hover:border-
|
|
4538
|
-
activeTab: "text-primary border-primary font-
|
|
4536
|
+
container: "relative border-b border-border/60",
|
|
4537
|
+
tab: "relative transition-colors duration-200 pb-3 border-b-2 border-transparent hover:border-primary/30",
|
|
4538
|
+
activeTab: "text-primary border-primary font-semibold",
|
|
4539
4539
|
inactiveTab: "text-muted-foreground hover:text-foreground"
|
|
4540
4540
|
},
|
|
4541
4541
|
card: {
|
|
4542
|
-
container: "space-y-1",
|
|
4542
|
+
container: "space-y-1.5 bg-muted/20 p-2 rounded-2xl border border-border/30",
|
|
4543
4543
|
tab: "rounded-xl border border-transparent transition-all duration-200",
|
|
4544
|
-
activeTab: "bg-primary text-primary-foreground border-primary",
|
|
4545
|
-
inactiveTab: "text-muted-foreground hover:text-foreground hover:bg-accent/50 hover:border-border
|
|
4544
|
+
activeTab: "bg-primary text-primary-foreground border-primary shadow-md",
|
|
4545
|
+
inactiveTab: "text-muted-foreground hover:text-foreground hover:bg-accent/50 hover:border-border/50"
|
|
4546
4546
|
},
|
|
4547
4547
|
"underline-card": {
|
|
4548
|
-
container: "border-b border-border bg-card rounded-t-2xl",
|
|
4549
|
-
tab: "relative transition-all duration-200 pb-3 px-4 border-b-2 border-transparent hover:border-primary/
|
|
4550
|
-
activeTab: "text-primary border-primary font-
|
|
4548
|
+
container: "border-b border-border/60 bg-card/80 backdrop-blur-sm rounded-t-2xl p-1",
|
|
4549
|
+
tab: "relative transition-all duration-200 pb-3 px-4 rounded-t-xl border-b-2 border-transparent hover:border-primary/30 hover:bg-accent/30",
|
|
4550
|
+
activeTab: "text-primary border-primary font-semibold bg-accent/30",
|
|
4551
4551
|
inactiveTab: "text-muted-foreground hover:text-foreground"
|
|
4552
4552
|
}
|
|
4553
4553
|
};
|
|
@@ -4667,7 +4667,8 @@ var Tabs = ({
|
|
|
4667
4667
|
id: `${baseId}-panel-${tabs.findIndex((t) => t.value === active)}`,
|
|
4668
4668
|
"aria-labelledby": `${baseId}-tab-${tabs.findIndex((t) => t.value === active)}`,
|
|
4669
4669
|
className: cn(
|
|
4670
|
-
"bg-card rounded-
|
|
4670
|
+
"bg-card rounded-2xl md:rounded-3xl border border-border/60 shadow-sm text-card-foreground transition-all duration-200",
|
|
4671
|
+
"backdrop-blur-sm",
|
|
4671
4672
|
sizeStyles6[size].content,
|
|
4672
4673
|
orientation === "vertical" && "flex-1"
|
|
4673
4674
|
),
|
|
@@ -5008,6 +5009,7 @@ var Combobox = ({
|
|
|
5008
5009
|
const itemDescription = getOptionDescription(item);
|
|
5009
5010
|
const itemDisabled = getOptionDisabled(item);
|
|
5010
5011
|
const isSelected = itemValue === value;
|
|
5012
|
+
const isEven = index % 2 === 0;
|
|
5011
5013
|
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
5012
5014
|
"li",
|
|
5013
5015
|
{
|
|
@@ -5024,11 +5026,12 @@ var Combobox = ({
|
|
|
5024
5026
|
animationDelay: open ? `${Math.min(index * 15, 150)}ms` : "0ms"
|
|
5025
5027
|
},
|
|
5026
5028
|
className: cn(
|
|
5027
|
-
"dropdown-item group flex cursor-pointer items-center gap-3 rounded-
|
|
5029
|
+
"dropdown-item group flex cursor-pointer items-center gap-3 rounded-lg px-3 py-2.5 text-sm",
|
|
5028
5030
|
"outline-none focus:outline-none focus-visible:outline-none",
|
|
5029
5031
|
"transition-all duration-150",
|
|
5030
|
-
|
|
5031
|
-
!itemDisabled && "
|
|
5032
|
+
isEven && "bg-muted/40",
|
|
5033
|
+
!itemDisabled && "hover:bg-accent/70 hover:shadow-sm",
|
|
5034
|
+
!itemDisabled && "focus:bg-accent/80 focus:text-accent-foreground",
|
|
5032
5035
|
index === activeIndex && !itemDisabled && "bg-accent/60",
|
|
5033
5036
|
isSelected && "bg-primary/10 text-primary font-medium",
|
|
5034
5037
|
itemDisabled && "opacity-50 cursor-not-allowed"
|
|
@@ -5106,11 +5109,17 @@ var Combobox = ({
|
|
|
5106
5109
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "w-10 h-10 rounded-full border-2 border-primary/20 border-t-primary animate-spin" }) }),
|
|
5107
5110
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-sm text-muted-foreground", children: loadingText })
|
|
5108
5111
|
] }) }) : filteredOptions.length > 0 ? groupedOptions ? (
|
|
5109
|
-
// Render grouped options
|
|
5110
|
-
|
|
5111
|
-
|
|
5112
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.
|
|
5113
|
-
|
|
5112
|
+
// Render grouped options with global index tracking
|
|
5113
|
+
(() => {
|
|
5114
|
+
let globalIndex = 0;
|
|
5115
|
+
return Object.entries(groupedOptions).map(([group, items]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: cn(globalIndex > 0 && "mt-2 pt-2 border-t border-border/30"), children: [
|
|
5116
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "px-3 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: group }),
|
|
5117
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("ul", { className: "space-y-0.5", children: items.map((item) => {
|
|
5118
|
+
const index = globalIndex++;
|
|
5119
|
+
return renderOptionItem(item, index);
|
|
5120
|
+
}) })
|
|
5121
|
+
] }, group));
|
|
5122
|
+
})()
|
|
5114
5123
|
) : (
|
|
5115
5124
|
// Render flat options
|
|
5116
5125
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("ul", { className: "space-y-0.5", children: filteredOptions.map((item, index) => renderOptionItem(item, index)) })
|
|
@@ -5437,17 +5446,23 @@ var Pagination = ({
|
|
|
5437
5446
|
}
|
|
5438
5447
|
)
|
|
5439
5448
|
] }),
|
|
5440
|
-
pageSizeOptions && onPageSizeChange ? /* @__PURE__ */ (0, import_jsx_runtime26.
|
|
5441
|
-
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5449
|
+
pageSizeOptions && onPageSizeChange ? /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
5450
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("span", { className: "text-xs text-muted-foreground/70 hidden sm:inline", children: [
|
|
5451
|
+
t("itemsPerPage"),
|
|
5452
|
+
":"
|
|
5453
|
+
] }),
|
|
5454
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5455
|
+
Combobox,
|
|
5456
|
+
{
|
|
5457
|
+
options: pageSizeOptionsStrings,
|
|
5458
|
+
value: pageSize?.toString() || "10",
|
|
5459
|
+
onChange: handlePageSizeChange,
|
|
5460
|
+
size: "sm",
|
|
5461
|
+
className: "w-20 sm:w-24",
|
|
5462
|
+
disabled
|
|
5463
|
+
}
|
|
5464
|
+
)
|
|
5465
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", {})
|
|
5451
5466
|
]
|
|
5452
5467
|
}
|
|
5453
5468
|
);
|
|
@@ -5673,7 +5688,12 @@ var ScrollArea = (0, import_react14.forwardRef)(
|
|
|
5673
5688
|
"div",
|
|
5674
5689
|
{
|
|
5675
5690
|
ref,
|
|
5676
|
-
className: cn(
|
|
5691
|
+
className: cn(
|
|
5692
|
+
"relative overflow-hidden rounded-2xl md:rounded-3xl",
|
|
5693
|
+
variantClasses[variant],
|
|
5694
|
+
outlined && "border border-border/60",
|
|
5695
|
+
className
|
|
5696
|
+
),
|
|
5677
5697
|
...props,
|
|
5678
5698
|
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: cn("h-full w-full overflow-y-auto scroll-area-viewport", contentClassName), children })
|
|
5679
5699
|
}
|
|
@@ -7727,6 +7747,7 @@ var MultiCombobox = ({
|
|
|
7727
7747
|
const isDisabled = item.disabled || disabledOptions.includes(item.value);
|
|
7728
7748
|
const optionIcon = item.icon;
|
|
7729
7749
|
const optionDesc = item.description;
|
|
7750
|
+
const isEven = index % 2 === 0;
|
|
7730
7751
|
if (renderOption) {
|
|
7731
7752
|
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
7732
7753
|
"li",
|
|
@@ -7741,7 +7762,7 @@ var MultiCombobox = ({
|
|
|
7741
7762
|
inputRef.current?.focus();
|
|
7742
7763
|
},
|
|
7743
7764
|
style: { animationDelay: open ? `${Math.min(index * 20, 200)}ms` : "0ms" },
|
|
7744
|
-
className: cn("dropdown-item", isDisabled && "opacity-50 cursor-not-allowed pointer-events-none"),
|
|
7765
|
+
className: cn("dropdown-item", isEven && "bg-muted/25", isDisabled && "opacity-50 cursor-not-allowed pointer-events-none"),
|
|
7745
7766
|
children: renderOption(item, isSelected)
|
|
7746
7767
|
},
|
|
7747
7768
|
item.value
|
|
@@ -7761,11 +7782,12 @@ var MultiCombobox = ({
|
|
|
7761
7782
|
},
|
|
7762
7783
|
style: { animationDelay: open ? `${Math.min(index * 20, 200)}ms` : "0ms" },
|
|
7763
7784
|
className: cn(
|
|
7764
|
-
"dropdown-item flex cursor-pointer items-center gap-3 rounded-
|
|
7785
|
+
"dropdown-item flex cursor-pointer items-center gap-3 rounded-lg transition-all duration-200",
|
|
7765
7786
|
sizeStyles8[size].item,
|
|
7766
|
-
"
|
|
7767
|
-
|
|
7768
|
-
|
|
7787
|
+
isEven && "bg-muted/25",
|
|
7788
|
+
"hover:bg-accent/70 hover:shadow-sm",
|
|
7789
|
+
index === activeIndex && "bg-accent/60",
|
|
7790
|
+
isSelected && "bg-primary/10 text-primary font-medium",
|
|
7769
7791
|
isDisabled && "opacity-40 cursor-not-allowed pointer-events-none"
|
|
7770
7792
|
),
|
|
7771
7793
|
children: [
|
|
@@ -8968,26 +8990,23 @@ function CategoryTreeSelect(props) {
|
|
|
8968
8990
|
const hasChildren = children.length > 0;
|
|
8969
8991
|
const isExpanded = expandedNodes.has(category.id);
|
|
8970
8992
|
const isSelected = valueArray.includes(category.id);
|
|
8993
|
+
const isParent = level === 0;
|
|
8971
8994
|
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "animate-in fade-in-50 duration-200", style: { animationDelay: `${level * 30}ms` }, children: [
|
|
8972
8995
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
8973
8996
|
"div",
|
|
8974
8997
|
{
|
|
8975
8998
|
className: cn(
|
|
8976
|
-
"relative flex items-center gap-2.5 px-3 py-2.5
|
|
8999
|
+
"relative flex items-center gap-2.5 px-3 py-2.5 transition-all duration-200",
|
|
9000
|
+
"border-l-4 border-l-transparent",
|
|
9001
|
+
// Parent level styling
|
|
9002
|
+
isParent && "bg-muted/25 font-medium",
|
|
8977
9003
|
!viewOnly && "cursor-pointer",
|
|
8978
9004
|
!viewOnly && !isSelected && "hover:bg-accent/60 hover:shadow-sm",
|
|
8979
9005
|
// Selected state
|
|
8980
|
-
!viewOnly && isSelected && "bg-
|
|
9006
|
+
!viewOnly && isSelected && "bg-accent/30 border-l-primary shadow-sm"
|
|
8981
9007
|
),
|
|
8982
9008
|
style: { paddingLeft: `${level * 1.25 + 0.75}rem` },
|
|
8983
9009
|
children: [
|
|
8984
|
-
!viewOnly && isSelected && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
8985
|
-
"span",
|
|
8986
|
-
{
|
|
8987
|
-
"aria-hidden": true,
|
|
8988
|
-
className: "absolute left-0 top-2 bottom-2 w-1 rounded-full bg-linear-to-b from-primary to-primary/70 shadow-sm shadow-primary/30"
|
|
8989
|
-
}
|
|
8990
|
-
),
|
|
8991
9010
|
hasChildren ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
8992
9011
|
"button",
|
|
8993
9012
|
{
|
|
@@ -9288,7 +9307,7 @@ function ImageUpload({
|
|
|
9288
9307
|
"div",
|
|
9289
9308
|
{
|
|
9290
9309
|
className: cn(
|
|
9291
|
-
"relative border-2 border-dashed rounded-
|
|
9310
|
+
"relative border-2 border-dashed rounded-2xl md:rounded-3xl p-8 text-center transition-all duration-200",
|
|
9292
9311
|
isDragging && !disabled ? "border-primary bg-primary/5 scale-[1.02]" : "border-border hover:border-primary/50",
|
|
9293
9312
|
disabled && "opacity-50 cursor-not-allowed",
|
|
9294
9313
|
uploading && "pointer-events-none"
|
|
@@ -9297,7 +9316,7 @@ function ImageUpload({
|
|
|
9297
9316
|
onDragLeave: handleDragLeave,
|
|
9298
9317
|
onDrop: handleDrop,
|
|
9299
9318
|
children: [
|
|
9300
|
-
uploading && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "absolute inset-0 bg-background/80 flex items-center justify-center rounded-
|
|
9319
|
+
uploading && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "absolute inset-0 bg-background/80 flex items-center justify-center rounded-2xl md:rounded-3xl", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
9301
9320
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react21.Loader2, { className: "w-6 h-6 animate-spin text-primary" }),
|
|
9302
9321
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-sm font-medium", children: "Uploading..." })
|
|
9303
9322
|
] }) }),
|
|
@@ -9326,7 +9345,7 @@ function ImageUpload({
|
|
|
9326
9345
|
),
|
|
9327
9346
|
showPreview && uploadedImages.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "space-y-3", children: [
|
|
9328
9347
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("h4", { className: "text-sm font-medium", children: "Uploaded Images" }),
|
|
9329
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-4", children: uploadedImages.map((image) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "relative group bg-card border border-border rounded-
|
|
9348
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-4", children: uploadedImages.map((image) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "relative group bg-card border border-border rounded-2xl md:rounded-3xl p-3", children: [
|
|
9330
9349
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
9331
9350
|
Button_default,
|
|
9332
9351
|
{
|
|
@@ -9533,7 +9552,10 @@ function Carousel({
|
|
|
9533
9552
|
"div",
|
|
9534
9553
|
{
|
|
9535
9554
|
ref: carouselRef,
|
|
9536
|
-
className: cn(
|
|
9555
|
+
className: cn(
|
|
9556
|
+
"relative w-full overflow-hidden focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 rounded-2xl md:rounded-3xl",
|
|
9557
|
+
className
|
|
9558
|
+
),
|
|
9537
9559
|
onMouseEnter: () => setIsPaused(true),
|
|
9538
9560
|
onMouseLeave: () => setIsPaused(false),
|
|
9539
9561
|
role: "region",
|
|
@@ -9990,12 +10012,12 @@ var ListRoot = React34.forwardRef(
|
|
|
9990
10012
|
const hasChildren = childCount > 0;
|
|
9991
10013
|
const variantClasses2 = {
|
|
9992
10014
|
plain: "",
|
|
9993
|
-
outlined: "rounded-
|
|
9994
|
-
soft: "rounded-
|
|
9995
|
-
bordered: "border border-border rounded-
|
|
9996
|
-
card: "rounded-
|
|
10015
|
+
outlined: "rounded-2xl md:rounded-3xl bg-card text-card-foreground border border-border shadow-sm",
|
|
10016
|
+
soft: "rounded-2xl md:rounded-3xl bg-muted/40 border border-border/60",
|
|
10017
|
+
bordered: "border border-border rounded-2xl md:rounded-3xl",
|
|
10018
|
+
card: "rounded-2xl md:rounded-3xl bg-card shadow-md border border-border",
|
|
9997
10019
|
flush: "",
|
|
9998
|
-
striped: "rounded-
|
|
10020
|
+
striped: "rounded-2xl md:rounded-3xl border border-border overflow-hidden"
|
|
9999
10021
|
};
|
|
10000
10022
|
if (loading2) {
|
|
10001
10023
|
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
@@ -11258,14 +11280,14 @@ function joinAreas(areas) {
|
|
|
11258
11280
|
}
|
|
11259
11281
|
function getVariantClasses(variant = "default", outlined) {
|
|
11260
11282
|
if (outlined) {
|
|
11261
|
-
return "rounded-
|
|
11283
|
+
return "rounded-2xl md:rounded-3xl bg-card text-card-foreground border border-border shadow-sm";
|
|
11262
11284
|
}
|
|
11263
11285
|
const variants = {
|
|
11264
11286
|
default: "",
|
|
11265
|
-
bordered: "border border-border rounded-
|
|
11266
|
-
card: "rounded-
|
|
11267
|
-
flat: "bg-muted/30 rounded-
|
|
11268
|
-
glass: "bg-background/80 backdrop-blur-sm border border-border/50 rounded-
|
|
11287
|
+
bordered: "border border-border rounded-2xl md:rounded-3xl",
|
|
11288
|
+
card: "rounded-2xl md:rounded-3xl bg-card text-card-foreground border border-border shadow-sm",
|
|
11289
|
+
flat: "bg-muted/30 rounded-2xl md:rounded-3xl",
|
|
11290
|
+
glass: "bg-background/80 backdrop-blur-sm border border-border/50 rounded-2xl md:rounded-3xl shadow-lg"
|
|
11269
11291
|
};
|
|
11270
11292
|
return variants[variant] || "";
|
|
11271
11293
|
}
|
|
@@ -11400,7 +11422,11 @@ var GridItem = import_react21.default.forwardRef(
|
|
|
11400
11422
|
"div",
|
|
11401
11423
|
{
|
|
11402
11424
|
ref,
|
|
11403
|
-
className: cn(
|
|
11425
|
+
className: cn(
|
|
11426
|
+
"rounded-2xl md:rounded-3xl",
|
|
11427
|
+
hoverable && "transition-all duration-200 hover:scale-[1.02] hover:shadow-md cursor-pointer",
|
|
11428
|
+
className
|
|
11429
|
+
),
|
|
11404
11430
|
style: st,
|
|
11405
11431
|
...rest
|
|
11406
11432
|
}
|
|
@@ -13376,7 +13402,17 @@ function DataTable({
|
|
|
13376
13402
|
totalItems
|
|
13377
13403
|
] }),
|
|
13378
13404
|
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex items-center gap-0.5", children: [
|
|
13379
|
-
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
13405
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
13406
|
+
Button_default,
|
|
13407
|
+
{
|
|
13408
|
+
variant: "ghost",
|
|
13409
|
+
size: "sm",
|
|
13410
|
+
className: "h-7 w-7 p-0 rounded-full",
|
|
13411
|
+
onClick: () => setCurPage(Math.max(1, curPage - 1)),
|
|
13412
|
+
disabled: curPage === 1,
|
|
13413
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("svg", { className: "h-4 w-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
|
|
13414
|
+
}
|
|
13415
|
+
),
|
|
13380
13416
|
(() => {
|
|
13381
13417
|
const totalPages = Math.ceil(totalItems / curPageSize);
|
|
13382
13418
|
const pages = [];
|
|
@@ -13397,7 +13433,7 @@ function DataTable({
|
|
|
13397
13433
|
{
|
|
13398
13434
|
onClick: () => setCurPage(p),
|
|
13399
13435
|
className: cn(
|
|
13400
|
-
"h-7 min-w-7 px-
|
|
13436
|
+
"h-7 min-w-7 px-2 rounded-full text-xs font-medium transition-colors",
|
|
13401
13437
|
curPage === p ? "bg-primary text-primary-foreground" : "hover:bg-accent hover:text-accent-foreground"
|
|
13402
13438
|
),
|
|
13403
13439
|
children: p
|
|
@@ -13411,7 +13447,7 @@ function DataTable({
|
|
|
13411
13447
|
{
|
|
13412
13448
|
variant: "ghost",
|
|
13413
13449
|
size: "sm",
|
|
13414
|
-
className: "h-7 w-7 p-0",
|
|
13450
|
+
className: "h-7 w-7 p-0 rounded-full",
|
|
13415
13451
|
onClick: () => setCurPage(Math.min(Math.ceil(totalItems / curPageSize), curPage + 1)),
|
|
13416
13452
|
disabled: curPage === Math.ceil(totalItems / curPageSize),
|
|
13417
13453
|
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("svg", { className: "h-4 w-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
|
|
@@ -13428,7 +13464,7 @@ function DataTable({
|
|
|
13428
13464
|
setCurPageSize(Number(v));
|
|
13429
13465
|
},
|
|
13430
13466
|
size: "sm",
|
|
13431
|
-
className: "w-
|
|
13467
|
+
className: "w-20"
|
|
13432
13468
|
}
|
|
13433
13469
|
)
|
|
13434
13470
|
] })
|