@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 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-lg gap-1", sizeStyles[size], className), onClick: handleClick, role: "status", children: [
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-xl",
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-lg",
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-lg bg-card outline-none focus:outline-none", className), children });
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-xl" }),
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-xl", children: [
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:border-border/60",
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-lg",
4531
- tab: "rounded-md transition-all duration-200",
4532
- activeTab: "bg-background text-foreground shadow-sm",
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-border/60",
4538
- activeTab: "text-primary border-primary font-medium",
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 hover:shadow-sm"
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/50 hover:bg-accent/30",
4550
- activeTab: "text-primary border-primary font-medium bg-accent/20",
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-xl border border-border shadow-sm text-card-foreground transition-all duration-200",
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-xl px-3 py-2.5 text-sm",
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
- !itemDisabled && "hover:bg-accent/80 hover:shadow-sm",
5031
- !itemDisabled && "focus:bg-accent focus:text-accent-foreground",
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
- Object.entries(groupedOptions).map(([group, items], groupIndex) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: cn(groupIndex > 0 && "mt-2 pt-2 border-t border-border/30"), children: [
5111
- /* @__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 }),
5112
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("ul", { className: "space-y-0.5", children: items.map((item, index) => renderOptionItem(item, groupIndex * 100 + index)) })
5113
- ] }, group))
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.jsx)(
5441
- Combobox,
5442
- {
5443
- options: pageSizeOptionsStrings,
5444
- value: pageSize?.toString() || "10",
5445
- onChange: handlePageSizeChange,
5446
- size: "sm",
5447
- className: "w-14",
5448
- disabled
5449
- }
5450
- ) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", {})
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("relative overflow-hidden", variantClasses[variant], outlined && "rounded-xl border border-border/60", className),
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-xl transition-all duration-200",
7785
+ "dropdown-item flex cursor-pointer items-center gap-3 rounded-lg transition-all duration-200",
7765
7786
  sizeStyles8[size].item,
7766
- "hover:bg-linear-to-r hover:from-primary/5 hover:to-transparent",
7767
- index === activeIndex && "bg-primary/5",
7768
- isSelected && "bg-primary/5",
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 rounded-xl transition-all duration-200",
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-linear-to-r from-primary/15 via-primary/10 to-primary/5 shadow-sm"
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-xl p-8 text-center transition-all duration-200",
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-xl", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-center gap-3", children: [
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-xl p-3", children: [
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("relative w-full overflow-hidden focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 rounded-2xl", className),
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-xl md:rounded-2xl bg-card text-card-foreground border border-border shadow-sm",
9994
- soft: "rounded-xl bg-muted/40 border border-border/60",
9995
- bordered: "border border-border rounded-xl",
9996
- card: "rounded-xl bg-card shadow-md border border-border",
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-xl border border-border overflow-hidden"
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-xl md:rounded-2xl bg-card text-card-foreground border border-border shadow-sm";
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-xl",
11266
- card: "rounded-xl md:rounded-2xl bg-card text-card-foreground border border-border shadow-sm",
11267
- flat: "bg-muted/30 rounded-xl",
11268
- glass: "bg-background/80 backdrop-blur-sm border border-border/50 rounded-xl shadow-lg"
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(hoverable && "transition-all duration-200 hover:scale-[1.02] hover:shadow-md cursor-pointer", className),
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)(Button_default, { variant: "ghost", size: "sm", className: "h-7 w-7 p-0", onClick: () => setCurPage(Math.max(1, curPage - 1)), disabled: curPage === 1, 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" }) }) }),
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-1.5 rounded-lg text-xs font-medium transition-colors",
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-14 h-7"
13467
+ className: "w-20"
13432
13468
  }
13433
13469
  )
13434
13470
  ] })