@underverse-ui/underverse 1.0.83 → 1.0.84

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.d.cts CHANGED
@@ -765,6 +765,7 @@ interface ScrollAreaProps extends HTMLAttributes<HTMLDivElement> {
765
765
  contentClassName?: string;
766
766
  variant?: "default" | "muted" | "primary" | "accent";
767
767
  outlined?: boolean;
768
+ overflowHidden?: boolean;
768
769
  useOverlayScrollbar?: boolean;
769
770
  }
770
771
  declare const ScrollArea: React$1.ForwardRefExoticComponent<ScrollAreaProps & React$1.RefAttributes<HTMLDivElement>>;
@@ -794,6 +795,7 @@ interface OverlayScrollAreaProps extends React__default.HTMLAttributes<HTMLDivEl
794
795
  viewportClassName?: string;
795
796
  viewportProps?: React__default.HTMLAttributes<HTMLDivElement>;
796
797
  enabled?: boolean;
798
+ overflowHidden?: boolean;
797
799
  overlayScrollbarOptions?: Omit<UseOverlayScrollbarTargetOptions, "enabled">;
798
800
  }
799
801
  declare const OverlayScrollArea: React__default.ForwardRefExoticComponent<OverlayScrollAreaProps & React__default.RefAttributes<HTMLDivElement>>;
@@ -1918,6 +1920,8 @@ interface ListProps extends React$1.HTMLAttributes<HTMLUListElement> {
1918
1920
  dense?: boolean;
1919
1921
  /** Class name customization for all list items */
1920
1922
  itemClassName?: string;
1923
+ /** Clip overflow on the outer list wrapper. Mainly relevant for striped/card-like variants. */
1924
+ overflowHidden?: boolean;
1921
1925
  }
1922
1926
  interface ListItemProps extends React$1.HTMLAttributes<HTMLLIElement> {
1923
1927
  as?: "li" | "div" | "a" | "button";
@@ -2314,6 +2318,8 @@ interface DataTableProps<T> {
2314
2318
  stickyHeader?: boolean;
2315
2319
  /** Chiều cao tối đa của bảng khi bật stickyHeader (mặc định: 500px) */
2316
2320
  maxHeight?: number | string;
2321
+ /** Clip overflow của outer wrapper. Tắt khi cần cho phép shadow/focus ring tràn ra ngoài. */
2322
+ overflowHidden?: boolean;
2317
2323
  /** Enable OverlayScrollbars on table viewport. Default: false */
2318
2324
  useOverlayScrollbar?: boolean;
2319
2325
  /** Double-click leaf headers to auto-fit column width based on visible content. Default: true */
@@ -2321,7 +2327,7 @@ interface DataTableProps<T> {
2321
2327
  labels?: DataTableLabels;
2322
2328
  }
2323
2329
 
2324
- declare function DataTable<T extends Record<string, any>>({ columns, data, rowKey, loading, total, page, pageSize, pageSizeOptions, onQueryChange, caption, toolbar, size, enableColumnVisibilityToggle, enableDensityToggle, enableHeaderAlignToggle, striped, columnDividers, className, storageKey, stickyHeader, maxHeight, useOverlayScrollbar, enableHeaderAutoFit, labels, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
2330
+ declare function DataTable<T extends Record<string, any>>({ columns, data, rowKey, loading, total, page, pageSize, pageSizeOptions, onQueryChange, caption, toolbar, size, enableColumnVisibilityToggle, enableDensityToggle, enableHeaderAlignToggle, striped, columnDividers, className, storageKey, stickyHeader, maxHeight, overflowHidden, useOverlayScrollbar, enableHeaderAutoFit, labels, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
2325
2331
 
2326
2332
  interface TableProps extends React__default.HTMLAttributes<HTMLTableElement> {
2327
2333
  containerClassName?: string;
package/dist/index.d.ts CHANGED
@@ -765,6 +765,7 @@ interface ScrollAreaProps extends HTMLAttributes<HTMLDivElement> {
765
765
  contentClassName?: string;
766
766
  variant?: "default" | "muted" | "primary" | "accent";
767
767
  outlined?: boolean;
768
+ overflowHidden?: boolean;
768
769
  useOverlayScrollbar?: boolean;
769
770
  }
770
771
  declare const ScrollArea: React$1.ForwardRefExoticComponent<ScrollAreaProps & React$1.RefAttributes<HTMLDivElement>>;
@@ -794,6 +795,7 @@ interface OverlayScrollAreaProps extends React__default.HTMLAttributes<HTMLDivEl
794
795
  viewportClassName?: string;
795
796
  viewportProps?: React__default.HTMLAttributes<HTMLDivElement>;
796
797
  enabled?: boolean;
798
+ overflowHidden?: boolean;
797
799
  overlayScrollbarOptions?: Omit<UseOverlayScrollbarTargetOptions, "enabled">;
798
800
  }
799
801
  declare const OverlayScrollArea: React__default.ForwardRefExoticComponent<OverlayScrollAreaProps & React__default.RefAttributes<HTMLDivElement>>;
@@ -1918,6 +1920,8 @@ interface ListProps extends React$1.HTMLAttributes<HTMLUListElement> {
1918
1920
  dense?: boolean;
1919
1921
  /** Class name customization for all list items */
1920
1922
  itemClassName?: string;
1923
+ /** Clip overflow on the outer list wrapper. Mainly relevant for striped/card-like variants. */
1924
+ overflowHidden?: boolean;
1921
1925
  }
1922
1926
  interface ListItemProps extends React$1.HTMLAttributes<HTMLLIElement> {
1923
1927
  as?: "li" | "div" | "a" | "button";
@@ -2314,6 +2318,8 @@ interface DataTableProps<T> {
2314
2318
  stickyHeader?: boolean;
2315
2319
  /** Chiều cao tối đa của bảng khi bật stickyHeader (mặc định: 500px) */
2316
2320
  maxHeight?: number | string;
2321
+ /** Clip overflow của outer wrapper. Tắt khi cần cho phép shadow/focus ring tràn ra ngoài. */
2322
+ overflowHidden?: boolean;
2317
2323
  /** Enable OverlayScrollbars on table viewport. Default: false */
2318
2324
  useOverlayScrollbar?: boolean;
2319
2325
  /** Double-click leaf headers to auto-fit column width based on visible content. Default: true */
@@ -2321,7 +2327,7 @@ interface DataTableProps<T> {
2321
2327
  labels?: DataTableLabels;
2322
2328
  }
2323
2329
 
2324
- declare function DataTable<T extends Record<string, any>>({ columns, data, rowKey, loading, total, page, pageSize, pageSizeOptions, onQueryChange, caption, toolbar, size, enableColumnVisibilityToggle, enableDensityToggle, enableHeaderAlignToggle, striped, columnDividers, className, storageKey, stickyHeader, maxHeight, useOverlayScrollbar, enableHeaderAutoFit, labels, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
2330
+ declare function DataTable<T extends Record<string, any>>({ columns, data, rowKey, loading, total, page, pageSize, pageSizeOptions, onQueryChange, caption, toolbar, size, enableColumnVisibilityToggle, enableDensityToggle, enableHeaderAlignToggle, striped, columnDividers, className, storageKey, stickyHeader, maxHeight, overflowHidden, useOverlayScrollbar, enableHeaderAutoFit, labels, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
2325
2331
 
2326
2332
  interface TableProps extends React__default.HTMLAttributes<HTMLTableElement> {
2327
2333
  containerClassName?: string;
package/dist/index.js CHANGED
@@ -7749,19 +7749,23 @@ var variantClasses2 = {
7749
7749
  accent: "bg-accent/10"
7750
7750
  };
7751
7751
  var ScrollArea = forwardRef6(
7752
- ({ className, contentClassName, children, variant = "default", outlined = false, useOverlayScrollbar = false, ...props }, ref) => {
7752
+ ({
7753
+ className,
7754
+ contentClassName,
7755
+ children,
7756
+ variant = "default",
7757
+ outlined = false,
7758
+ overflowHidden = true,
7759
+ useOverlayScrollbar = false,
7760
+ ...props
7761
+ }, ref) => {
7753
7762
  const viewportRef = useRef11(null);
7754
7763
  useOverlayScrollbarTarget(viewportRef, { enabled: useOverlayScrollbar });
7755
7764
  return /* @__PURE__ */ jsx32(
7756
7765
  "div",
7757
7766
  {
7758
7767
  ref,
7759
- className: cn(
7760
- "relative overflow-hidden rounded-2xl md:rounded-3xl",
7761
- variantClasses2[variant],
7762
- outlined && "border border-border/60",
7763
- className
7764
- ),
7768
+ className: cn("relative", variantClasses2[variant], outlined && "border border-border/60", overflowHidden && "overflow-hidden", className),
7765
7769
  ...props,
7766
7770
  children: /* @__PURE__ */ jsx32("div", { ref: viewportRef, className: cn("h-full w-full overflow-y-auto scroll-area-viewport", contentClassName), children })
7767
7771
  }
@@ -7774,13 +7778,13 @@ ScrollArea.displayName = "ScrollArea";
7774
7778
  import { forwardRef as forwardRef7, useRef as useRef12 } from "react";
7775
7779
  import { jsx as jsx33 } from "react/jsx-runtime";
7776
7780
  var OverlayScrollArea = forwardRef7(
7777
- ({ className, viewportClassName, viewportProps, enabled = true, overlayScrollbarOptions, children, ...props }, ref) => {
7781
+ ({ className, viewportClassName, viewportProps, enabled = true, overflowHidden = true, overlayScrollbarOptions, children, ...props }, ref) => {
7778
7782
  const viewportRef = useRef12(null);
7779
7783
  useOverlayScrollbarTarget(viewportRef, {
7780
7784
  enabled,
7781
7785
  ...overlayScrollbarOptions
7782
7786
  });
7783
- return /* @__PURE__ */ jsx33("div", { ref, className: cn("relative overflow-hidden", className), ...props, children: /* @__PURE__ */ jsx33(
7787
+ return /* @__PURE__ */ jsx33("div", { ref, className: cn("relative", overflowHidden && "overflow-hidden", className), ...props, children: /* @__PURE__ */ jsx33(
7784
7788
  "div",
7785
7789
  {
7786
7790
  ref: viewportRef,
@@ -18793,6 +18797,7 @@ var ListRoot = React46.forwardRef(
18793
18797
  className,
18794
18798
  itemClassName,
18795
18799
  // New prop
18800
+ overflowHidden = true,
18796
18801
  children,
18797
18802
  ...rest
18798
18803
  }, ref) => {
@@ -18806,21 +18811,36 @@ var ListRoot = React46.forwardRef(
18806
18811
  bordered: "border border-border/50 rounded-2xl md:rounded-3xl max-md:rounded-xl",
18807
18812
  card: "rounded-2xl md:rounded-3xl bg-card shadow-md border border-border/50 max-md:rounded-xl max-md:shadow-sm",
18808
18813
  flush: "",
18809
- striped: "rounded-2xl md:rounded-3xl border border-border/50 overflow-hidden max-md:rounded-xl"
18814
+ striped: "rounded-2xl md:rounded-3xl border border-border/50 max-md:rounded-xl"
18810
18815
  };
18811
18816
  if (loading2) {
18812
18817
  return /* @__PURE__ */ jsx54(
18813
18818
  Comp,
18814
18819
  {
18815
18820
  ref,
18816
- className: cn("group/list", variantClasses3[variant], inset && "p-1.5 md:p-2 max-md:p-1", divided && "divide-y divide-border/60", className),
18821
+ className: cn(
18822
+ "group/list",
18823
+ variantClasses3[variant],
18824
+ variant === "striped" && overflowHidden && "overflow-hidden",
18825
+ inset && "p-1.5 md:p-2 max-md:p-1",
18826
+ divided && "divide-y divide-border/60",
18827
+ className
18828
+ ),
18817
18829
  ...rest,
18818
18830
  children: Array.from({ length: loadingCount }).map((_, i) => /* @__PURE__ */ jsx54(ListItemSkeleton, { size }, i))
18819
18831
  }
18820
18832
  );
18821
18833
  }
18822
18834
  if (!hasChildren && emptyText) {
18823
- return /* @__PURE__ */ jsx54(Comp, { ref, className: cn("group/list", variantClasses3[variant], inset && "p-1.5 md:p-2 max-md:p-1", className), ...rest, children: /* @__PURE__ */ jsx54("div", { className: "text-center py-8 text-muted-foreground text-sm", children: emptyText }) });
18835
+ return /* @__PURE__ */ jsx54(
18836
+ Comp,
18837
+ {
18838
+ ref,
18839
+ className: cn("group/list", variantClasses3[variant], variant === "striped" && overflowHidden && "overflow-hidden", inset && "p-1.5 md:p-2 max-md:p-1", className),
18840
+ ...rest,
18841
+ children: /* @__PURE__ */ jsx54("div", { className: "text-center py-8 text-muted-foreground text-sm", children: emptyText })
18842
+ }
18843
+ );
18824
18844
  }
18825
18845
  return /* @__PURE__ */ jsx54(
18826
18846
  Comp,
@@ -18829,6 +18849,7 @@ var ListRoot = React46.forwardRef(
18829
18849
  className: cn(
18830
18850
  "group/list",
18831
18851
  variantClasses3[variant],
18852
+ variant === "striped" && overflowHidden && "overflow-hidden",
18832
18853
  inset && "p-1.5 md:p-2 max-md:p-1",
18833
18854
  divided && "divide-y divide-border/60",
18834
18855
  variant === "striped" && "[&>*:nth-child(even)]:bg-muted/30",
@@ -21923,6 +21944,7 @@ function DataTable({
21923
21944
  storageKey,
21924
21945
  stickyHeader = true,
21925
21946
  maxHeight = 500,
21947
+ overflowHidden = true,
21926
21948
  useOverlayScrollbar = false,
21927
21949
  enableHeaderAutoFit = true,
21928
21950
  labels
@@ -22056,7 +22078,8 @@ function DataTable({
22056
22078
  "div",
22057
22079
  {
22058
22080
  className: cn(
22059
- "relative rounded-2xl md:rounded-3xl border border-border/50 bg-card overflow-hidden",
22081
+ "relative rounded-2xl md:rounded-3xl border border-border/50 bg-card",
22082
+ overflowHidden && "overflow-hidden",
22060
22083
  loading2 && "opacity-60 pointer-events-none"
22061
22084
  ),
22062
22085
  children: /* @__PURE__ */ jsx67(