@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/AGENTS.md CHANGED
@@ -51,7 +51,7 @@ import { OverlayScrollbarProvider, ScrollArea, DataTable } from "@underverse-ui/
51
51
  export function App() {
52
52
  return (
53
53
  <OverlayScrollbarProvider theme="os-theme-underverse" autoHide="leave">
54
- <ScrollArea className="h-56" useOverlayScrollbar />
54
+ <ScrollArea className="h-56 rounded-xl border border-border" useOverlayScrollbar />
55
55
  <DataTable columns={columns} data={rows} useOverlayScrollbar />
56
56
  </OverlayScrollbarProvider>
57
57
  );
package/README.md CHANGED
@@ -147,7 +147,7 @@ import { OverlayScrollbarProvider, ScrollArea, DataTable } from "@underverse-ui/
147
147
  function App() {
148
148
  return (
149
149
  <OverlayScrollbarProvider theme="os-theme-underverse" autoHide="leave">
150
- <ScrollArea className="h-56" useOverlayScrollbar>
150
+ <ScrollArea className="h-56 rounded-xl border border-border" useOverlayScrollbar>
151
151
  {/* long content */}
152
152
  </ScrollArea>
153
153
 
@@ -183,6 +183,9 @@ Provider props:
183
183
  Component-level enable flags:
184
184
 
185
185
  - `ScrollArea`: `useOverlayScrollbar?: boolean` (default `false`)
186
+ - `className` styles the outer wrapper
187
+ - `contentClassName` styles the scroll viewport
188
+ - set border/radius explicitly; the primitive no longer hardcodes rounded corners
186
189
  - `Table`: `useOverlayScrollbar?: boolean` (default `false`)
187
190
  - `DataTable`: `useOverlayScrollbar?: boolean` (default `false`)
188
191
  - `Combobox`: `useOverlayScrollbar?: boolean` (default `false`)
@@ -26,7 +26,7 @@
26
26
  {
27
27
  "id": "overlay-scrollbar-provider",
28
28
  "title": "Enable overlay scrollbars (opt-in)",
29
- "code": "import \"overlayscrollbars/overlayscrollbars.css\";\nimport { OverlayScrollbarProvider, ScrollArea } from \"@underverse-ui/underverse\";\n\nexport function App(){\n return (\n <OverlayScrollbarProvider theme=\"os-theme-underverse\" autoHide=\"leave\">\n <ScrollArea className=\"h-56\" useOverlayScrollbar>{/* content */}</ScrollArea>\n </OverlayScrollbarProvider>\n );\n}\n"
29
+ "code": "import \"overlayscrollbars/overlayscrollbars.css\";\nimport { OverlayScrollbarProvider, ScrollArea } from \"@underverse-ui/underverse\";\n\nexport function App(){\n return (\n <OverlayScrollbarProvider theme=\"os-theme-underverse\" autoHide=\"leave\">\n <ScrollArea className=\"h-56 rounded-xl border border-border\" useOverlayScrollbar>{/* content */}</ScrollArea>\n </OverlayScrollbarProvider>\n );\n}\n"
30
30
  },
31
31
  {
32
32
  "id": "overlay-scrollbar-custom-component",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "@underverse-ui/underverse",
3
- "version": "1.0.83",
3
+ "version": "1.0.84",
4
4
  "sourceEntry": "src/index.ts",
5
5
  "totalExports": 225,
6
6
  "exports": [
package/dist/index.cjs CHANGED
@@ -7934,19 +7934,23 @@ var variantClasses2 = {
7934
7934
  accent: "bg-accent/10"
7935
7935
  };
7936
7936
  var ScrollArea = (0, import_react17.forwardRef)(
7937
- ({ className, contentClassName, children, variant = "default", outlined = false, useOverlayScrollbar = false, ...props }, ref) => {
7937
+ ({
7938
+ className,
7939
+ contentClassName,
7940
+ children,
7941
+ variant = "default",
7942
+ outlined = false,
7943
+ overflowHidden = true,
7944
+ useOverlayScrollbar = false,
7945
+ ...props
7946
+ }, ref) => {
7938
7947
  const viewportRef = (0, import_react17.useRef)(null);
7939
7948
  useOverlayScrollbarTarget(viewportRef, { enabled: useOverlayScrollbar });
7940
7949
  return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
7941
7950
  "div",
7942
7951
  {
7943
7952
  ref,
7944
- className: cn(
7945
- "relative overflow-hidden rounded-2xl md:rounded-3xl",
7946
- variantClasses2[variant],
7947
- outlined && "border border-border/60",
7948
- className
7949
- ),
7953
+ className: cn("relative", variantClasses2[variant], outlined && "border border-border/60", overflowHidden && "overflow-hidden", className),
7950
7954
  ...props,
7951
7955
  children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { ref: viewportRef, className: cn("h-full w-full overflow-y-auto scroll-area-viewport", contentClassName), children })
7952
7956
  }
@@ -7959,13 +7963,13 @@ ScrollArea.displayName = "ScrollArea";
7959
7963
  var import_react18 = require("react");
7960
7964
  var import_jsx_runtime33 = require("react/jsx-runtime");
7961
7965
  var OverlayScrollArea = (0, import_react18.forwardRef)(
7962
- ({ className, viewportClassName, viewportProps, enabled = true, overlayScrollbarOptions, children, ...props }, ref) => {
7966
+ ({ className, viewportClassName, viewportProps, enabled = true, overflowHidden = true, overlayScrollbarOptions, children, ...props }, ref) => {
7963
7967
  const viewportRef = (0, import_react18.useRef)(null);
7964
7968
  useOverlayScrollbarTarget(viewportRef, {
7965
7969
  enabled,
7966
7970
  ...overlayScrollbarOptions
7967
7971
  });
7968
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { ref, className: cn("relative overflow-hidden", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
7972
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { ref, className: cn("relative", overflowHidden && "overflow-hidden", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
7969
7973
  "div",
7970
7974
  {
7971
7975
  ref: viewportRef,
@@ -18962,6 +18966,7 @@ var ListRoot = React46.forwardRef(
18962
18966
  className,
18963
18967
  itemClassName,
18964
18968
  // New prop
18969
+ overflowHidden = true,
18965
18970
  children,
18966
18971
  ...rest
18967
18972
  }, ref) => {
@@ -18975,21 +18980,36 @@ var ListRoot = React46.forwardRef(
18975
18980
  bordered: "border border-border/50 rounded-2xl md:rounded-3xl max-md:rounded-xl",
18976
18981
  card: "rounded-2xl md:rounded-3xl bg-card shadow-md border border-border/50 max-md:rounded-xl max-md:shadow-sm",
18977
18982
  flush: "",
18978
- striped: "rounded-2xl md:rounded-3xl border border-border/50 overflow-hidden max-md:rounded-xl"
18983
+ striped: "rounded-2xl md:rounded-3xl border border-border/50 max-md:rounded-xl"
18979
18984
  };
18980
18985
  if (loading2) {
18981
18986
  return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
18982
18987
  Comp,
18983
18988
  {
18984
18989
  ref,
18985
- className: cn("group/list", variantClasses3[variant], inset && "p-1.5 md:p-2 max-md:p-1", divided && "divide-y divide-border/60", className),
18990
+ className: cn(
18991
+ "group/list",
18992
+ variantClasses3[variant],
18993
+ variant === "striped" && overflowHidden && "overflow-hidden",
18994
+ inset && "p-1.5 md:p-2 max-md:p-1",
18995
+ divided && "divide-y divide-border/60",
18996
+ className
18997
+ ),
18986
18998
  ...rest,
18987
18999
  children: Array.from({ length: loadingCount }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ListItemSkeleton, { size }, i))
18988
19000
  }
18989
19001
  );
18990
19002
  }
18991
19003
  if (!hasChildren && emptyText) {
18992
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Comp, { ref, className: cn("group/list", variantClasses3[variant], inset && "p-1.5 md:p-2 max-md:p-1", className), ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "text-center py-8 text-muted-foreground text-sm", children: emptyText }) });
19004
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
19005
+ Comp,
19006
+ {
19007
+ ref,
19008
+ className: cn("group/list", variantClasses3[variant], variant === "striped" && overflowHidden && "overflow-hidden", inset && "p-1.5 md:p-2 max-md:p-1", className),
19009
+ ...rest,
19010
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "text-center py-8 text-muted-foreground text-sm", children: emptyText })
19011
+ }
19012
+ );
18993
19013
  }
18994
19014
  return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
18995
19015
  Comp,
@@ -18998,6 +19018,7 @@ var ListRoot = React46.forwardRef(
18998
19018
  className: cn(
18999
19019
  "group/list",
19000
19020
  variantClasses3[variant],
19021
+ variant === "striped" && overflowHidden && "overflow-hidden",
19001
19022
  inset && "p-1.5 md:p-2 max-md:p-1",
19002
19023
  divided && "divide-y divide-border/60",
19003
19024
  variant === "striped" && "[&>*:nth-child(even)]:bg-muted/30",
@@ -22092,6 +22113,7 @@ function DataTable({
22092
22113
  storageKey,
22093
22114
  stickyHeader = true,
22094
22115
  maxHeight = 500,
22116
+ overflowHidden = true,
22095
22117
  useOverlayScrollbar = false,
22096
22118
  enableHeaderAutoFit = true,
22097
22119
  labels
@@ -22225,7 +22247,8 @@ function DataTable({
22225
22247
  "div",
22226
22248
  {
22227
22249
  className: cn(
22228
- "relative rounded-2xl md:rounded-3xl border border-border/50 bg-card overflow-hidden",
22250
+ "relative rounded-2xl md:rounded-3xl border border-border/50 bg-card",
22251
+ overflowHidden && "overflow-hidden",
22229
22252
  loading2 && "opacity-60 pointer-events-none"
22230
22253
  ),
22231
22254
  children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(