@underverse-ui/underverse 1.0.29 → 1.0.31

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "@underverse-ui/underverse",
3
- "version": "1.0.29",
3
+ "version": "1.0.31",
4
4
  "sourceEntry": "src/index.ts",
5
5
  "totalExports": 206,
6
6
  "exports": [
package/dist/index.cjs CHANGED
@@ -5828,7 +5828,7 @@ var ScrollArea = (0, import_react14.forwardRef)(
5828
5828
  className
5829
5829
  ),
5830
5830
  ...props,
5831
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: cn("h-full w-full overflow-y-auto scroll-area-viewport", contentClassName), children })
5831
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: cn("h-full w-full overflow-y-auto scroll-area-viewport custom-scrollbar", contentClassName), "data-os-scrollbar": true, children })
5832
5832
  }
5833
5833
  );
5834
5834
  }
@@ -7098,7 +7098,6 @@ function WheelColumn({
7098
7098
  ref: scrollRef,
7099
7099
  className: cn(
7100
7100
  "h-full overflow-y-auto overscroll-contain snap-y snap-mandatory",
7101
- "scrollbar-none",
7102
7101
  "select-none cursor-grab active:cursor-grabbing",
7103
7102
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background rounded-xl"
7104
7103
  ),
@@ -8522,7 +8521,6 @@ function WheelColumn2({
8522
8521
  ref: scrollRef,
8523
8522
  className: cn(
8524
8523
  "h-full overflow-y-auto overscroll-contain snap-y snap-mandatory",
8525
- "scrollbar-none",
8526
8524
  "select-none cursor-grab active:cursor-grabbing",
8527
8525
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background rounded-xl"
8528
8526
  ),
@@ -10283,7 +10281,7 @@ function CalendarTimelineHeader(props) {
10283
10281
  ]
10284
10282
  }
10285
10283
  ) : null,
10286
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref: headerRef, className: "flex-1 min-w-0 overflow-x-auto overflow-y-hidden scrollbar-none", children: slotHeaderNodes })
10284
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref: headerRef, className: "flex-1 min-w-0 overflow-x-auto overflow-y-hidden", children: slotHeaderNodes })
10287
10285
  ] })
10288
10286
  ] });
10289
10287
  }
@@ -11874,7 +11872,7 @@ function CalendarTimeline({
11874
11872
  "div",
11875
11873
  {
11876
11874
  ref: leftRef,
11877
- className: "shrink-0 overflow-y-auto overflow-x-hidden scrollbar-none",
11875
+ className: "shrink-0 overflow-y-auto overflow-x-hidden",
11878
11876
  style: { width: effectiveResourceColumnWidth, minWidth: effectiveResourceColumnWidth },
11879
11877
  children: [
11880
11878
  /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { style: { height: topSpacer } }),
@@ -11904,7 +11902,8 @@ function CalendarTimeline({
11904
11902
  "div",
11905
11903
  {
11906
11904
  ref: bodyRef,
11907
- className: "relative flex-1 overflow-auto scrollbar-thin scrollbar-thumb-muted scrollbar-track-transparent",
11905
+ className: "relative flex-1 overflow-auto custom-scrollbar",
11906
+ "data-os-scrollbar": true,
11908
11907
  onPointerMove,
11909
11908
  onPointerUp,
11910
11909
  onPointerLeave: () => setHoverCell(null),
@@ -14117,12 +14116,13 @@ function CategoryTreeSelect(props) {
14117
14116
  "div",
14118
14117
  {
14119
14118
  className: cn(
14120
- "absolute z-20 mt-2 w-full max-h-80 overflow-auto",
14119
+ "absolute z-20 mt-2 w-full max-h-80 overflow-auto custom-scrollbar",
14121
14120
  "rounded-2xl md:rounded-3xl border border-border/40 bg-popover/95 text-popover-foreground",
14122
14121
  "shadow-2xl backdrop-blur-xl",
14123
14122
  "p-2",
14124
14123
  "animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-300"
14125
14124
  ),
14125
+ "data-os-scrollbar": true,
14126
14126
  children: [
14127
14127
  renderSearch(),
14128
14128
  renderTreeContent()
@@ -19018,16 +19018,14 @@ var LoadingBar = ({
19018
19018
  // ../../components/ui/OverlayScrollbarProvider.tsx
19019
19019
  var import_react33 = require("react");
19020
19020
  var import_overlayscrollbars = require("overlayscrollbars");
19021
- var SCROLLABLE_SELECTOR = [
19021
+ var EXPLICIT_SCROLLABLE_SELECTOR = [".thin-scrollbar", ".scrollbar-thin", ".custom-scrollbar", "[data-os-scrollbar]"].join(", ");
19022
+ var GENERIC_SCROLLABLE_SELECTOR = [
19022
19023
  ".overflow-auto",
19023
19024
  ".overflow-x-auto",
19024
19025
  ".overflow-y-auto",
19025
19026
  ".overflow-scroll",
19026
19027
  ".overflow-x-scroll",
19027
- ".overflow-y-scroll",
19028
- ".thin-scrollbar",
19029
- ".scrollbar-thin",
19030
- ".custom-scrollbar"
19028
+ ".overflow-y-scroll"
19031
19029
  ].join(", ");
19032
19030
  var SCROLLBAR_OPTIONS = {
19033
19031
  scrollbars: {
@@ -19045,7 +19043,7 @@ function OverlayScrollbarProvider() {
19045
19043
  const instances = /* @__PURE__ */ new Map();
19046
19044
  const shouldSkip = (element) => {
19047
19045
  if (element === document.body) return true;
19048
- if (element.classList.contains("scrollbar-none")) return true;
19046
+ if (element.hasAttribute("data-os-ignore")) return true;
19049
19047
  if (element.hasAttribute("data-overlayscrollbars")) return true;
19050
19048
  return false;
19051
19049
  };
@@ -19054,22 +19052,27 @@ function OverlayScrollbarProvider() {
19054
19052
  if (instances.has(element)) return;
19055
19053
  instances.set(element, (0, import_overlayscrollbars.OverlayScrollbars)(element, SCROLLBAR_OPTIONS));
19056
19054
  };
19057
- const collectCandidates = (root) => {
19055
+ const collectCandidates = (root, selector) => {
19058
19056
  const candidates = [];
19059
- if (root instanceof HTMLElement && root.matches(SCROLLABLE_SELECTOR)) {
19057
+ if (root instanceof HTMLElement && root.matches(selector)) {
19060
19058
  candidates.push(root);
19061
19059
  }
19062
19060
  if ("querySelectorAll" in root) {
19063
- root.querySelectorAll(SCROLLABLE_SELECTOR).forEach((element) => {
19061
+ root.querySelectorAll(selector).forEach((element) => {
19064
19062
  candidates.push(element);
19065
19063
  });
19066
19064
  }
19067
19065
  return candidates.filter((element, index) => candidates.indexOf(element) === index);
19068
19066
  };
19069
19067
  const scan = (root) => {
19070
- const candidates = collectCandidates(root).filter((element) => !shouldSkip(element));
19071
- const leafCandidates = candidates.filter((element) => !candidates.some((other) => other !== element && element.contains(other)));
19072
- leafCandidates.forEach(initElement);
19068
+ const explicitCandidates = collectCandidates(root, EXPLICIT_SCROLLABLE_SELECTOR).filter((element) => !shouldSkip(element));
19069
+ explicitCandidates.forEach(initElement);
19070
+ const genericCandidates = collectCandidates(root, GENERIC_SCROLLABLE_SELECTOR).filter((element) => !shouldSkip(element));
19071
+ const filteredGeneric = genericCandidates.filter(
19072
+ (element) => !explicitCandidates.some((explicit) => explicit === element || explicit.contains(element) || element.contains(explicit))
19073
+ );
19074
+ const leafGeneric = filteredGeneric.filter((element) => !filteredGeneric.some((other) => other !== element && element.contains(other)));
19075
+ leafGeneric.forEach(initElement);
19073
19076
  };
19074
19077
  const cleanup = () => {
19075
19078
  instances.forEach((instance, element) => {
@@ -19122,12 +19125,13 @@ var Table = import_react34.default.forwardRef(({ className, containerClassName,
19122
19125
  "div",
19123
19126
  {
19124
19127
  className: cn(
19125
- "relative w-full overflow-auto",
19128
+ "relative w-full overflow-auto custom-scrollbar",
19126
19129
  "rounded-2xl md:rounded-3xl border border-border",
19127
19130
  "bg-card text-card-foreground shadow-sm",
19128
19131
  "backdrop-blur-sm transition-all duration-300",
19129
19132
  containerClassName
19130
19133
  ),
19134
+ "data-os-scrollbar": true,
19131
19135
  children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props })
19132
19136
  }
19133
19137
  );
@@ -20059,7 +20063,8 @@ function DataTable({
20059
20063
  children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
20060
20064
  "div",
20061
20065
  {
20062
- className: "thin-scrollbar w-full",
20066
+ className: "custom-scrollbar w-full",
20067
+ "data-os-scrollbar": true,
20063
20068
  style: stickyHeader ? {
20064
20069
  maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight,
20065
20070
  overflowY: "auto",