@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.js CHANGED
@@ -267,7 +267,7 @@ var Badge = ({
267
267
  }
268
268
  );
269
269
  }
270
- return /* @__PURE__ */ jsxs2("span", { className: cn(baseClasses, "rounded-lg gap-1", sizeStyles[size], className), onClick: handleClick, role: "status", children: [
270
+ return /* @__PURE__ */ jsxs2("span", { className: cn(baseClasses, "rounded-full gap-1", sizeStyles[size], className), onClick: handleClick, role: "status", children: [
271
271
  Icon && /* @__PURE__ */ jsx2(
272
272
  Icon,
273
273
  {
@@ -1957,7 +1957,7 @@ function SmartImage({
1957
1957
  alt,
1958
1958
  className,
1959
1959
  ratioClass,
1960
- roundedClass = "rounded-xl",
1960
+ roundedClass = "rounded-2xl md:rounded-3xl",
1961
1961
  fill = true,
1962
1962
  width,
1963
1963
  height,
@@ -2147,10 +2147,10 @@ var Avatar_default = Avatar;
2147
2147
  import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
2148
2148
  var Skeleton = ({ className, width, height, variant = "rectangular", animation = "pulse", lines = 1 }) => {
2149
2149
  const variantClasses2 = {
2150
- rectangular: "rounded-md",
2150
+ rectangular: "rounded-2xl md:rounded-3xl",
2151
2151
  circular: "rounded-full",
2152
- rounded: "rounded-lg",
2153
- text: "rounded"
2152
+ rounded: "rounded-2xl md:rounded-3xl",
2153
+ text: "rounded-xl"
2154
2154
  };
2155
2155
  const animationClasses = {
2156
2156
  pulse: "animate-pulse",
@@ -2199,9 +2199,9 @@ var SkeletonText = ({ lines = 3, className, width = "100%" }) => {
2199
2199
  };
2200
2200
  var SkeletonCard = ({ showAvatar = true, showImage = false, textLines = 3, className, children }) => {
2201
2201
  if (children) {
2202
- return /* @__PURE__ */ jsx13("div", { className: cn("p-4 space-y-4 rounded-lg bg-card outline-none focus:outline-none", className), children });
2202
+ return /* @__PURE__ */ jsx13("div", { className: cn("p-4 space-y-4 rounded-2xl md:rounded-3xl bg-card outline-none focus:outline-none", className), children });
2203
2203
  }
2204
- return /* @__PURE__ */ jsxs10("div", { className: cn("p-4 space-y-4 rounded-2xl bg-card outline-none focus:outline-none", className), children: [
2204
+ return /* @__PURE__ */ jsxs10("div", { className: cn("p-4 space-y-4 rounded-2xl md:rounded-3xl bg-card outline-none focus:outline-none", className), children: [
2205
2205
  showAvatar && /* @__PURE__ */ jsxs10("div", { className: "flex items-center space-x-3", children: [
2206
2206
  /* @__PURE__ */ jsx13(SkeletonAvatar, {}),
2207
2207
  /* @__PURE__ */ jsxs10("div", { className: "space-y-2", children: [
@@ -2209,7 +2209,7 @@ var SkeletonCard = ({ showAvatar = true, showImage = false, textLines = 3, class
2209
2209
  /* @__PURE__ */ jsx13(Skeleton, { className: "h-3 w-16" })
2210
2210
  ] })
2211
2211
  ] }),
2212
- showImage && /* @__PURE__ */ jsx13(Skeleton, { className: "h-48 w-full rounded-xl" }),
2212
+ showImage && /* @__PURE__ */ jsx13(Skeleton, { className: "h-48 w-full rounded-2xl md:rounded-3xl" }),
2213
2213
  /* @__PURE__ */ jsx13(SkeletonText, { lines: textLines }),
2214
2214
  /* @__PURE__ */ jsxs10("div", { className: "flex space-x-2", children: [
2215
2215
  /* @__PURE__ */ jsx13(SkeletonButton, { size: "sm" }),
@@ -2218,7 +2218,7 @@ var SkeletonCard = ({ showAvatar = true, showImage = false, textLines = 3, class
2218
2218
  ] });
2219
2219
  };
2220
2220
  var SkeletonPost = ({ className }) => {
2221
- return /* @__PURE__ */ jsxs10("div", { className: cn("p-6 space-y-4 rounded-3xl bg-card outline-none focus:outline-none", className), children: [
2221
+ return /* @__PURE__ */ jsxs10("div", { className: cn("p-6 space-y-4 rounded-2xl md:rounded-3xl bg-card outline-none focus:outline-none", className), children: [
2222
2222
  /* @__PURE__ */ jsxs10("div", { className: "flex items-center space-x-3", children: [
2223
2223
  /* @__PURE__ */ jsx13(SkeletonAvatar, { size: "lg" }),
2224
2224
  /* @__PURE__ */ jsxs10("div", { className: "space-y-2", children: [
@@ -2250,7 +2250,7 @@ var SkeletonMessage = ({ own = false, showAvatar = true, className }) => {
2250
2250
  ] });
2251
2251
  };
2252
2252
  var SkeletonList = ({ items = 5, itemHeight = 60, showAvatar = true, className }) => {
2253
- return /* @__PURE__ */ jsx13("div", { className: cn("space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsxs10("div", { className: "flex items-center space-x-3 p-3 rounded-xl", children: [
2253
+ return /* @__PURE__ */ jsx13("div", { className: cn("space-y-3", className), children: Array.from({ length: items }).map((_, index) => /* @__PURE__ */ jsxs10("div", { className: "flex items-center space-x-3 p-3 rounded-2xl md:rounded-3xl", children: [
2254
2254
  showAvatar && /* @__PURE__ */ jsx13(SkeletonAvatar, {}),
2255
2255
  /* @__PURE__ */ jsxs10("div", { className: "flex-1 space-y-2", children: [
2256
2256
  /* @__PURE__ */ jsx13(Skeleton, { className: "h-4 w-3/4" }),
@@ -4338,7 +4338,7 @@ var sizeStyles6 = {
4338
4338
  content: "mt-3 p-3"
4339
4339
  },
4340
4340
  md: {
4341
- tab: "py-2 px-4 text-sm",
4341
+ tab: "py-2.5 px-4 text-sm",
4342
4342
  content: "mt-4 p-4"
4343
4343
  },
4344
4344
  lg: {
@@ -4348,33 +4348,33 @@ var sizeStyles6 = {
4348
4348
  };
4349
4349
  var variantStyles5 = {
4350
4350
  default: {
4351
- container: "border-b border-border",
4352
- tab: "border-b-2 border-transparent hover:border-border/60",
4353
- activeTab: "border-primary text-primary",
4351
+ container: "border-b border-border/60 bg-muted/30 p-1 rounded-t-2xl",
4352
+ tab: "rounded-full border-b-2 border-transparent hover:bg-accent/40",
4353
+ activeTab: "border-primary bg-background text-primary shadow-sm",
4354
4354
  inactiveTab: "text-muted-foreground hover:text-foreground"
4355
4355
  },
4356
4356
  pills: {
4357
- container: "bg-muted p-1 rounded-lg",
4358
- tab: "rounded-md transition-all duration-200",
4359
- activeTab: "bg-background text-foreground shadow-sm",
4357
+ container: "bg-muted/50 backdrop-blur-sm p-1.5 rounded-2xl border border-border/40",
4358
+ tab: "rounded-full transition-all duration-200",
4359
+ activeTab: "bg-background text-foreground shadow-md border border-border/50",
4360
4360
  inactiveTab: "text-muted-foreground hover:text-foreground hover:bg-background/50"
4361
4361
  },
4362
4362
  underline: {
4363
- container: "relative border-b border-border",
4364
- tab: "relative transition-colors duration-200 pb-3 border-b-2 border-transparent hover:border-border/60",
4365
- activeTab: "text-primary border-primary font-medium",
4363
+ container: "relative border-b border-border/60",
4364
+ tab: "relative transition-colors duration-200 pb-3 border-b-2 border-transparent hover:border-primary/30",
4365
+ activeTab: "text-primary border-primary font-semibold",
4366
4366
  inactiveTab: "text-muted-foreground hover:text-foreground"
4367
4367
  },
4368
4368
  card: {
4369
- container: "space-y-1",
4369
+ container: "space-y-1.5 bg-muted/20 p-2 rounded-2xl border border-border/30",
4370
4370
  tab: "rounded-xl border border-transparent transition-all duration-200",
4371
- activeTab: "bg-primary text-primary-foreground border-primary",
4372
- inactiveTab: "text-muted-foreground hover:text-foreground hover:bg-accent/50 hover:border-border hover:shadow-sm"
4371
+ activeTab: "bg-primary text-primary-foreground border-primary shadow-md",
4372
+ inactiveTab: "text-muted-foreground hover:text-foreground hover:bg-accent/50 hover:border-border/50"
4373
4373
  },
4374
4374
  "underline-card": {
4375
- container: "border-b border-border bg-card rounded-t-2xl",
4376
- tab: "relative transition-all duration-200 pb-3 px-4 border-b-2 border-transparent hover:border-primary/50 hover:bg-accent/30",
4377
- activeTab: "text-primary border-primary font-medium bg-accent/20",
4375
+ container: "border-b border-border/60 bg-card/80 backdrop-blur-sm rounded-t-2xl p-1",
4376
+ 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",
4377
+ activeTab: "text-primary border-primary font-semibold bg-accent/30",
4378
4378
  inactiveTab: "text-muted-foreground hover:text-foreground"
4379
4379
  }
4380
4380
  };
@@ -4494,7 +4494,8 @@ var Tabs = ({
4494
4494
  id: `${baseId}-panel-${tabs.findIndex((t) => t.value === active)}`,
4495
4495
  "aria-labelledby": `${baseId}-tab-${tabs.findIndex((t) => t.value === active)}`,
4496
4496
  className: cn(
4497
- "bg-card rounded-xl border border-border shadow-sm text-card-foreground transition-all duration-200",
4497
+ "bg-card rounded-2xl md:rounded-3xl border border-border/60 shadow-sm text-card-foreground transition-all duration-200",
4498
+ "backdrop-blur-sm",
4498
4499
  sizeStyles6[size].content,
4499
4500
  orientation === "vertical" && "flex-1"
4500
4501
  ),
@@ -4835,6 +4836,7 @@ var Combobox = ({
4835
4836
  const itemDescription = getOptionDescription(item);
4836
4837
  const itemDisabled = getOptionDisabled(item);
4837
4838
  const isSelected = itemValue === value;
4839
+ const isEven = index % 2 === 0;
4838
4840
  return /* @__PURE__ */ jsxs22(
4839
4841
  "li",
4840
4842
  {
@@ -4851,11 +4853,12 @@ var Combobox = ({
4851
4853
  animationDelay: open ? `${Math.min(index * 15, 150)}ms` : "0ms"
4852
4854
  },
4853
4855
  className: cn(
4854
- "dropdown-item group flex cursor-pointer items-center gap-3 rounded-xl px-3 py-2.5 text-sm",
4856
+ "dropdown-item group flex cursor-pointer items-center gap-3 rounded-lg px-3 py-2.5 text-sm",
4855
4857
  "outline-none focus:outline-none focus-visible:outline-none",
4856
4858
  "transition-all duration-150",
4857
- !itemDisabled && "hover:bg-accent/80 hover:shadow-sm",
4858
- !itemDisabled && "focus:bg-accent focus:text-accent-foreground",
4859
+ isEven && "bg-muted/40",
4860
+ !itemDisabled && "hover:bg-accent/70 hover:shadow-sm",
4861
+ !itemDisabled && "focus:bg-accent/80 focus:text-accent-foreground",
4859
4862
  index === activeIndex && !itemDisabled && "bg-accent/60",
4860
4863
  isSelected && "bg-primary/10 text-primary font-medium",
4861
4864
  itemDisabled && "opacity-50 cursor-not-allowed"
@@ -4933,11 +4936,17 @@ var Combobox = ({
4933
4936
  /* @__PURE__ */ jsx25("div", { className: "relative", children: /* @__PURE__ */ jsx25("div", { className: "w-10 h-10 rounded-full border-2 border-primary/20 border-t-primary animate-spin" }) }),
4934
4937
  /* @__PURE__ */ jsx25("span", { className: "text-sm text-muted-foreground", children: loadingText })
4935
4938
  ] }) }) : filteredOptions.length > 0 ? groupedOptions ? (
4936
- // Render grouped options
4937
- Object.entries(groupedOptions).map(([group, items], groupIndex) => /* @__PURE__ */ jsxs22("div", { className: cn(groupIndex > 0 && "mt-2 pt-2 border-t border-border/30"), children: [
4938
- /* @__PURE__ */ jsx25("div", { className: "px-3 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: group }),
4939
- /* @__PURE__ */ jsx25("ul", { className: "space-y-0.5", children: items.map((item, index) => renderOptionItem(item, groupIndex * 100 + index)) })
4940
- ] }, group))
4939
+ // Render grouped options with global index tracking
4940
+ (() => {
4941
+ let globalIndex = 0;
4942
+ return Object.entries(groupedOptions).map(([group, items]) => /* @__PURE__ */ jsxs22("div", { className: cn(globalIndex > 0 && "mt-2 pt-2 border-t border-border/30"), children: [
4943
+ /* @__PURE__ */ jsx25("div", { className: "px-3 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: group }),
4944
+ /* @__PURE__ */ jsx25("ul", { className: "space-y-0.5", children: items.map((item) => {
4945
+ const index = globalIndex++;
4946
+ return renderOptionItem(item, index);
4947
+ }) })
4948
+ ] }, group));
4949
+ })()
4941
4950
  ) : (
4942
4951
  // Render flat options
4943
4952
  /* @__PURE__ */ jsx25("ul", { className: "space-y-0.5", children: filteredOptions.map((item, index) => renderOptionItem(item, index)) })
@@ -5264,17 +5273,23 @@ var Pagination = ({
5264
5273
  }
5265
5274
  )
5266
5275
  ] }),
5267
- pageSizeOptions && onPageSizeChange ? /* @__PURE__ */ jsx26(
5268
- Combobox,
5269
- {
5270
- options: pageSizeOptionsStrings,
5271
- value: pageSize?.toString() || "10",
5272
- onChange: handlePageSizeChange,
5273
- size: "sm",
5274
- className: "w-14",
5275
- disabled
5276
- }
5277
- ) : /* @__PURE__ */ jsx26("div", {})
5276
+ pageSizeOptions && onPageSizeChange ? /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-2", children: [
5277
+ /* @__PURE__ */ jsxs23("span", { className: "text-xs text-muted-foreground/70 hidden sm:inline", children: [
5278
+ t("itemsPerPage"),
5279
+ ":"
5280
+ ] }),
5281
+ /* @__PURE__ */ jsx26(
5282
+ Combobox,
5283
+ {
5284
+ options: pageSizeOptionsStrings,
5285
+ value: pageSize?.toString() || "10",
5286
+ onChange: handlePageSizeChange,
5287
+ size: "sm",
5288
+ className: "w-20 sm:w-24",
5289
+ disabled
5290
+ }
5291
+ )
5292
+ ] }) : /* @__PURE__ */ jsx26("div", {})
5278
5293
  ]
5279
5294
  }
5280
5295
  );
@@ -5500,7 +5515,12 @@ var ScrollArea = forwardRef7(
5500
5515
  "div",
5501
5516
  {
5502
5517
  ref,
5503
- className: cn("relative overflow-hidden", variantClasses[variant], outlined && "rounded-xl border border-border/60", className),
5518
+ className: cn(
5519
+ "relative overflow-hidden rounded-2xl md:rounded-3xl",
5520
+ variantClasses[variant],
5521
+ outlined && "border border-border/60",
5522
+ className
5523
+ ),
5504
5524
  ...props,
5505
5525
  children: /* @__PURE__ */ jsx28("div", { className: cn("h-full w-full overflow-y-auto scroll-area-viewport", contentClassName), children })
5506
5526
  }
@@ -7554,6 +7574,7 @@ var MultiCombobox = ({
7554
7574
  const isDisabled = item.disabled || disabledOptions.includes(item.value);
7555
7575
  const optionIcon = item.icon;
7556
7576
  const optionDesc = item.description;
7577
+ const isEven = index % 2 === 0;
7557
7578
  if (renderOption) {
7558
7579
  return /* @__PURE__ */ jsx33(
7559
7580
  "li",
@@ -7568,7 +7589,7 @@ var MultiCombobox = ({
7568
7589
  inputRef.current?.focus();
7569
7590
  },
7570
7591
  style: { animationDelay: open ? `${Math.min(index * 20, 200)}ms` : "0ms" },
7571
- className: cn("dropdown-item", isDisabled && "opacity-50 cursor-not-allowed pointer-events-none"),
7592
+ className: cn("dropdown-item", isEven && "bg-muted/25", isDisabled && "opacity-50 cursor-not-allowed pointer-events-none"),
7572
7593
  children: renderOption(item, isSelected)
7573
7594
  },
7574
7595
  item.value
@@ -7588,11 +7609,12 @@ var MultiCombobox = ({
7588
7609
  },
7589
7610
  style: { animationDelay: open ? `${Math.min(index * 20, 200)}ms` : "0ms" },
7590
7611
  className: cn(
7591
- "dropdown-item flex cursor-pointer items-center gap-3 rounded-xl transition-all duration-200",
7612
+ "dropdown-item flex cursor-pointer items-center gap-3 rounded-lg transition-all duration-200",
7592
7613
  sizeStyles8[size].item,
7593
- "hover:bg-linear-to-r hover:from-primary/5 hover:to-transparent",
7594
- index === activeIndex && "bg-primary/5",
7595
- isSelected && "bg-primary/5",
7614
+ isEven && "bg-muted/25",
7615
+ "hover:bg-accent/70 hover:shadow-sm",
7616
+ index === activeIndex && "bg-accent/60",
7617
+ isSelected && "bg-primary/10 text-primary font-medium",
7596
7618
  isDisabled && "opacity-40 cursor-not-allowed pointer-events-none"
7597
7619
  ),
7598
7620
  children: [
@@ -8795,26 +8817,23 @@ function CategoryTreeSelect(props) {
8795
8817
  const hasChildren = children.length > 0;
8796
8818
  const isExpanded = expandedNodes.has(category.id);
8797
8819
  const isSelected = valueArray.includes(category.id);
8820
+ const isParent = level === 0;
8798
8821
  return /* @__PURE__ */ jsxs32("div", { className: "animate-in fade-in-50 duration-200", style: { animationDelay: `${level * 30}ms` }, children: [
8799
8822
  /* @__PURE__ */ jsxs32(
8800
8823
  "div",
8801
8824
  {
8802
8825
  className: cn(
8803
- "relative flex items-center gap-2.5 px-3 py-2.5 rounded-xl transition-all duration-200",
8826
+ "relative flex items-center gap-2.5 px-3 py-2.5 transition-all duration-200",
8827
+ "border-l-4 border-l-transparent",
8828
+ // Parent level styling
8829
+ isParent && "bg-muted/25 font-medium",
8804
8830
  !viewOnly && "cursor-pointer",
8805
8831
  !viewOnly && !isSelected && "hover:bg-accent/60 hover:shadow-sm",
8806
8832
  // Selected state
8807
- !viewOnly && isSelected && "bg-linear-to-r from-primary/15 via-primary/10 to-primary/5 shadow-sm"
8833
+ !viewOnly && isSelected && "bg-accent/30 border-l-primary shadow-sm"
8808
8834
  ),
8809
8835
  style: { paddingLeft: `${level * 1.25 + 0.75}rem` },
8810
8836
  children: [
8811
- !viewOnly && isSelected && /* @__PURE__ */ jsx37(
8812
- "span",
8813
- {
8814
- "aria-hidden": true,
8815
- 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"
8816
- }
8817
- ),
8818
8837
  hasChildren ? /* @__PURE__ */ jsx37(
8819
8838
  "button",
8820
8839
  {
@@ -9115,7 +9134,7 @@ function ImageUpload({
9115
9134
  "div",
9116
9135
  {
9117
9136
  className: cn(
9118
- "relative border-2 border-dashed rounded-xl p-8 text-center transition-all duration-200",
9137
+ "relative border-2 border-dashed rounded-2xl md:rounded-3xl p-8 text-center transition-all duration-200",
9119
9138
  isDragging && !disabled ? "border-primary bg-primary/5 scale-[1.02]" : "border-border hover:border-primary/50",
9120
9139
  disabled && "opacity-50 cursor-not-allowed",
9121
9140
  uploading && "pointer-events-none"
@@ -9124,7 +9143,7 @@ function ImageUpload({
9124
9143
  onDragLeave: handleDragLeave,
9125
9144
  onDrop: handleDrop,
9126
9145
  children: [
9127
- uploading && /* @__PURE__ */ jsx38("div", { className: "absolute inset-0 bg-background/80 flex items-center justify-center rounded-xl", children: /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-3", children: [
9146
+ uploading && /* @__PURE__ */ jsx38("div", { className: "absolute inset-0 bg-background/80 flex items-center justify-center rounded-2xl md:rounded-3xl", children: /* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-3", children: [
9128
9147
  /* @__PURE__ */ jsx38(Loader25, { className: "w-6 h-6 animate-spin text-primary" }),
9129
9148
  /* @__PURE__ */ jsx38("span", { className: "text-sm font-medium", children: "Uploading..." })
9130
9149
  ] }) }),
@@ -9153,7 +9172,7 @@ function ImageUpload({
9153
9172
  ),
9154
9173
  showPreview && uploadedImages.length > 0 && /* @__PURE__ */ jsxs33("div", { className: "space-y-3", children: [
9155
9174
  /* @__PURE__ */ jsx38("h4", { className: "text-sm font-medium", children: "Uploaded Images" }),
9156
- /* @__PURE__ */ jsx38("div", { className: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-4", children: uploadedImages.map((image) => /* @__PURE__ */ jsxs33("div", { className: "relative group bg-card border border-border rounded-xl p-3", children: [
9175
+ /* @__PURE__ */ jsx38("div", { className: "grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-4", children: uploadedImages.map((image) => /* @__PURE__ */ jsxs33("div", { className: "relative group bg-card border border-border rounded-2xl md:rounded-3xl p-3", children: [
9157
9176
  /* @__PURE__ */ jsx38(
9158
9177
  Button_default,
9159
9178
  {
@@ -9360,7 +9379,10 @@ function Carousel({
9360
9379
  "div",
9361
9380
  {
9362
9381
  ref: carouselRef,
9363
- className: cn("relative w-full overflow-hidden focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 rounded-2xl", className),
9382
+ className: cn(
9383
+ "relative w-full overflow-hidden focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 rounded-2xl md:rounded-3xl",
9384
+ className
9385
+ ),
9364
9386
  onMouseEnter: () => setIsPaused(true),
9365
9387
  onMouseLeave: () => setIsPaused(false),
9366
9388
  role: "region",
@@ -9817,12 +9839,12 @@ var ListRoot = React34.forwardRef(
9817
9839
  const hasChildren = childCount > 0;
9818
9840
  const variantClasses2 = {
9819
9841
  plain: "",
9820
- outlined: "rounded-xl md:rounded-2xl bg-card text-card-foreground border border-border shadow-sm",
9821
- soft: "rounded-xl bg-muted/40 border border-border/60",
9822
- bordered: "border border-border rounded-xl",
9823
- card: "rounded-xl bg-card shadow-md border border-border",
9842
+ outlined: "rounded-2xl md:rounded-3xl bg-card text-card-foreground border border-border shadow-sm",
9843
+ soft: "rounded-2xl md:rounded-3xl bg-muted/40 border border-border/60",
9844
+ bordered: "border border-border rounded-2xl md:rounded-3xl",
9845
+ card: "rounded-2xl md:rounded-3xl bg-card shadow-md border border-border",
9824
9846
  flush: "",
9825
- striped: "rounded-xl border border-border overflow-hidden"
9847
+ striped: "rounded-2xl md:rounded-3xl border border-border overflow-hidden"
9826
9848
  };
9827
9849
  if (loading2) {
9828
9850
  return /* @__PURE__ */ jsx41(
@@ -11085,14 +11107,14 @@ function joinAreas(areas) {
11085
11107
  }
11086
11108
  function getVariantClasses(variant = "default", outlined) {
11087
11109
  if (outlined) {
11088
- return "rounded-xl md:rounded-2xl bg-card text-card-foreground border border-border shadow-sm";
11110
+ return "rounded-2xl md:rounded-3xl bg-card text-card-foreground border border-border shadow-sm";
11089
11111
  }
11090
11112
  const variants = {
11091
11113
  default: "",
11092
- bordered: "border border-border rounded-xl",
11093
- card: "rounded-xl md:rounded-2xl bg-card text-card-foreground border border-border shadow-sm",
11094
- flat: "bg-muted/30 rounded-xl",
11095
- glass: "bg-background/80 backdrop-blur-sm border border-border/50 rounded-xl shadow-lg"
11114
+ bordered: "border border-border rounded-2xl md:rounded-3xl",
11115
+ card: "rounded-2xl md:rounded-3xl bg-card text-card-foreground border border-border shadow-sm",
11116
+ flat: "bg-muted/30 rounded-2xl md:rounded-3xl",
11117
+ glass: "bg-background/80 backdrop-blur-sm border border-border/50 rounded-2xl md:rounded-3xl shadow-lg"
11096
11118
  };
11097
11119
  return variants[variant] || "";
11098
11120
  }
@@ -11227,7 +11249,11 @@ var GridItem = React38.forwardRef(
11227
11249
  "div",
11228
11250
  {
11229
11251
  ref,
11230
- className: cn(hoverable && "transition-all duration-200 hover:scale-[1.02] hover:shadow-md cursor-pointer", className),
11252
+ className: cn(
11253
+ "rounded-2xl md:rounded-3xl",
11254
+ hoverable && "transition-all duration-200 hover:scale-[1.02] hover:shadow-md cursor-pointer",
11255
+ className
11256
+ ),
11231
11257
  style: st,
11232
11258
  ...rest
11233
11259
  }
@@ -13203,7 +13229,17 @@ function DataTable({
13203
13229
  totalItems
13204
13230
  ] }),
13205
13231
  /* @__PURE__ */ jsxs51("div", { className: "flex items-center gap-0.5", children: [
13206
- /* @__PURE__ */ jsx57(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__ */ jsx57("svg", { className: "h-4 w-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx57("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) }) }),
13232
+ /* @__PURE__ */ jsx57(
13233
+ Button_default,
13234
+ {
13235
+ variant: "ghost",
13236
+ size: "sm",
13237
+ className: "h-7 w-7 p-0 rounded-full",
13238
+ onClick: () => setCurPage(Math.max(1, curPage - 1)),
13239
+ disabled: curPage === 1,
13240
+ children: /* @__PURE__ */ jsx57("svg", { className: "h-4 w-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx57("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
13241
+ }
13242
+ ),
13207
13243
  (() => {
13208
13244
  const totalPages = Math.ceil(totalItems / curPageSize);
13209
13245
  const pages = [];
@@ -13224,7 +13260,7 @@ function DataTable({
13224
13260
  {
13225
13261
  onClick: () => setCurPage(p),
13226
13262
  className: cn(
13227
- "h-7 min-w-7 px-1.5 rounded-lg text-xs font-medium transition-colors",
13263
+ "h-7 min-w-7 px-2 rounded-full text-xs font-medium transition-colors",
13228
13264
  curPage === p ? "bg-primary text-primary-foreground" : "hover:bg-accent hover:text-accent-foreground"
13229
13265
  ),
13230
13266
  children: p
@@ -13238,7 +13274,7 @@ function DataTable({
13238
13274
  {
13239
13275
  variant: "ghost",
13240
13276
  size: "sm",
13241
- className: "h-7 w-7 p-0",
13277
+ className: "h-7 w-7 p-0 rounded-full",
13242
13278
  onClick: () => setCurPage(Math.min(Math.ceil(totalItems / curPageSize), curPage + 1)),
13243
13279
  disabled: curPage === Math.ceil(totalItems / curPageSize),
13244
13280
  children: /* @__PURE__ */ jsx57("svg", { className: "h-4 w-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx57("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
@@ -13255,7 +13291,7 @@ function DataTable({
13255
13291
  setCurPageSize(Number(v));
13256
13292
  },
13257
13293
  size: "sm",
13258
- className: "w-14 h-7"
13294
+ className: "w-20"
13259
13295
  }
13260
13296
  )
13261
13297
  ] })