@underverse-ui/underverse 1.0.33 → 1.0.34

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
@@ -2316,8 +2316,10 @@ interface OverlayScrollbarProviderProps {
2316
2316
  autoHideDelay?: number;
2317
2317
  dragScroll?: boolean;
2318
2318
  clickScroll?: boolean;
2319
+ selector?: string;
2320
+ exclude?: string;
2319
2321
  }
2320
- declare function OverlayScrollbarProvider({ enabled, theme, visibility, autoHide, autoHideDelay, dragScroll, clickScroll, }?: OverlayScrollbarProviderProps): null;
2322
+ declare function OverlayScrollbarProvider({ enabled, theme, visibility, autoHide, autoHideDelay, dragScroll, clickScroll, selector, exclude, }?: OverlayScrollbarProviderProps): null;
2321
2323
 
2322
2324
  type FilterType = "text" | "select" | "date";
2323
2325
  type DataTableSize = "sm" | "md" | "lg";
package/dist/index.d.ts CHANGED
@@ -2316,8 +2316,10 @@ interface OverlayScrollbarProviderProps {
2316
2316
  autoHideDelay?: number;
2317
2317
  dragScroll?: boolean;
2318
2318
  clickScroll?: boolean;
2319
+ selector?: string;
2320
+ exclude?: string;
2319
2321
  }
2320
- declare function OverlayScrollbarProvider({ enabled, theme, visibility, autoHide, autoHideDelay, dragScroll, clickScroll, }?: OverlayScrollbarProviderProps): null;
2322
+ declare function OverlayScrollbarProvider({ enabled, theme, visibility, autoHide, autoHideDelay, dragScroll, clickScroll, selector, exclude, }?: OverlayScrollbarProviderProps): null;
2321
2323
 
2322
2324
  type FilterType = "text" | "select" | "date";
2323
2325
  type DataTableSize = "sm" | "md" | "lg";
package/dist/index.js CHANGED
@@ -3822,7 +3822,6 @@ var Popover = ({
3822
3822
  "div",
3823
3823
  {
3824
3824
  ...contentProps,
3825
- "data-os-scrollbar": contentScrollable ? true : void 0,
3826
3825
  className: cn(
3827
3826
  "rounded-2xl md:rounded-3xl border bg-popover text-popover-foreground shadow-md",
3828
3827
  "backdrop-blur-sm bg-popover/95 border-border/60 p-4",
@@ -4042,7 +4041,6 @@ var Sheet = ({
4042
4041
  /* @__PURE__ */ jsx19(
4043
4042
  "div",
4044
4043
  {
4045
- "data-os-scrollbar": true,
4046
4044
  className: "flex-1 overflow-auto p-4",
4047
4045
  style: {
4048
4046
  opacity: open && !isAnimating ? 1 : 0,
@@ -4506,7 +4504,7 @@ var Tabs = ({
4506
4504
  );
4507
4505
  const activeTab = tabs.find((tab) => tab.value === active);
4508
4506
  return /* @__PURE__ */ jsxs20("div", { className: cn("w-full", orientation === "vertical" && "flex gap-6"), children: [
4509
- /* @__PURE__ */ jsxs20("div", { className: containerClasses, role: "tablist", "aria-orientation": orientation, "data-os-scrollbar": orientation === "horizontal" ? true : void 0, children: [
4507
+ /* @__PURE__ */ jsxs20("div", { className: containerClasses, role: "tablist", "aria-orientation": orientation, children: [
4510
4508
  tabs.map((tab, index) => {
4511
4509
  const isActive = active === tab.value;
4512
4510
  const Icon = tab.icon;
@@ -5056,7 +5054,7 @@ var Combobox = ({
5056
5054
  }
5057
5055
  )
5058
5056
  ] }) }),
5059
- /* @__PURE__ */ jsx25("div", { "data-os-scrollbar": true, className: "overflow-y-auto overscroll-contain", style: { maxHeight }, children: /* @__PURE__ */ jsx25("div", { className: cn(size === "sm" ? "p-1" : size === "lg" ? "p-2" : "p-1.5"), children: loading2 ? /* @__PURE__ */ jsx25("div", { className: "px-3 py-10 text-center", children: /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center gap-3 animate-in fade-in-0 zoom-in-95 duration-300", children: [
5057
+ /* @__PURE__ */ jsx25("div", { className: "overflow-y-auto overscroll-contain", style: { maxHeight }, children: /* @__PURE__ */ jsx25("div", { className: cn(size === "sm" ? "p-1" : size === "lg" ? "p-2" : "p-1.5"), children: loading2 ? /* @__PURE__ */ jsx25("div", { className: "px-3 py-10 text-center", children: /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center gap-3 animate-in fade-in-0 zoom-in-95 duration-300", children: [
5060
5058
  /* @__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" }) }),
5061
5059
  /* @__PURE__ */ jsx25("span", { className: "text-sm text-muted-foreground", children: loadingText })
5062
5060
  ] }) }) : filteredOptions.length > 0 ? groupedOptions ? (
@@ -5649,7 +5647,7 @@ var ScrollArea = forwardRef7(
5649
5647
  className
5650
5648
  ),
5651
5649
  ...props,
5652
- children: /* @__PURE__ */ jsx28("div", { className: cn("h-full w-full overflow-y-auto scroll-area-viewport custom-scrollbar", contentClassName), "data-os-scrollbar": true, children })
5650
+ children: /* @__PURE__ */ jsx28("div", { className: cn("h-full w-full overflow-y-auto scroll-area-viewport custom-scrollbar", contentClassName), children })
5653
5651
  }
5654
5652
  );
5655
5653
  }
@@ -6112,7 +6110,6 @@ var DatePicker = ({
6112
6110
  sizeStyles8[size].contentPadding,
6113
6111
  "animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-300"
6114
6112
  ),
6115
- contentScrollable: true,
6116
6113
  trigger: /* @__PURE__ */ jsxs24(
6117
6114
  "button",
6118
6115
  {
@@ -6468,7 +6465,6 @@ var DateRangePicker = ({ startDate, endDate, onChange, placeholder = "Select dat
6468
6465
  size === "sm" ? "p-3" : "p-5",
6469
6466
  "animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-300"
6470
6467
  ),
6471
- contentScrollable: true,
6472
6468
  trigger: /* @__PURE__ */ jsxs24(
6473
6469
  "button",
6474
6470
  {
@@ -6919,7 +6915,6 @@ function WheelColumn({
6919
6915
  "div",
6920
6916
  {
6921
6917
  ref: scrollRef,
6922
- "data-os-scrollbar": true,
6923
6918
  className: cn(
6924
6919
  "h-full overflow-y-auto overscroll-contain snap-y snap-mandatory",
6925
6920
  "select-none cursor-grab active:cursor-grabbing",
@@ -8343,7 +8338,6 @@ function WheelColumn2({
8343
8338
  "div",
8344
8339
  {
8345
8340
  ref: scrollRef,
8346
- "data-os-scrollbar": true,
8347
8341
  className: cn(
8348
8342
  "h-full overflow-y-auto overscroll-contain snap-y snap-mandatory",
8349
8343
  "select-none cursor-grab active:cursor-grabbing",
@@ -9291,7 +9285,6 @@ var DateTimePicker = ({
9291
9285
  // Keep the popover usable on small viewports
9292
9286
  "max-w-[calc(100vw-1rem)] max-h-[calc(100vh-6rem)] overflow-auto"
9293
9287
  ),
9294
- contentScrollable: true,
9295
9288
  placement: "bottom-end",
9296
9289
  children: [
9297
9290
  /* @__PURE__ */ jsxs28("div", { className: "flex flex-col lg:flex-row divide-y lg:divide-y-0 lg:divide-x divide-border", children: [
@@ -9963,7 +9956,7 @@ function CalendarTimelineHeader(props) {
9963
9956
  contentClassName: cn(
9964
9957
  "w-auto p-0 rounded-2xl md:rounded-3xl overflow-hidden"
9965
9958
  ),
9966
- children: /* @__PURE__ */ jsxs30("div", { "data-os-scrollbar": true, className: "max-w-[calc(100vw-1rem)] max-h-[calc(100vh-6rem)] overflow-auto", children: [
9959
+ children: /* @__PURE__ */ jsxs30("div", { className: "max-w-[calc(100vw-1rem)] max-h-[calc(100vh-6rem)] overflow-auto", children: [
9967
9960
  /* @__PURE__ */ jsxs30("div", { className: "flex flex-col lg:flex-row divide-y lg:divide-y-0 lg:divide-x divide-border", children: [
9968
9961
  /* @__PURE__ */ jsx35("div", { className: "p-2", children: /* @__PURE__ */ jsx35(
9969
9962
  Calendar3,
@@ -10107,7 +10100,7 @@ function CalendarTimelineHeader(props) {
10107
10100
  ]
10108
10101
  }
10109
10102
  ) : null,
10110
- /* @__PURE__ */ jsx35("div", { ref: headerRef, "data-os-scrollbar": true, className: "flex-1 min-w-0 overflow-x-auto overflow-y-hidden", children: slotHeaderNodes })
10103
+ /* @__PURE__ */ jsx35("div", { ref: headerRef, className: "flex-1 min-w-0 overflow-x-auto overflow-y-hidden", children: slotHeaderNodes })
10111
10104
  ] })
10112
10105
  ] });
10113
10106
  }
@@ -11698,7 +11691,6 @@ function CalendarTimeline({
11698
11691
  "div",
11699
11692
  {
11700
11693
  ref: leftRef,
11701
- "data-os-scrollbar": true,
11702
11694
  className: "shrink-0 overflow-y-auto overflow-x-hidden",
11703
11695
  style: { width: effectiveResourceColumnWidth, minWidth: effectiveResourceColumnWidth },
11704
11696
  children: [
@@ -11730,7 +11722,6 @@ function CalendarTimeline({
11730
11722
  {
11731
11723
  ref: bodyRef,
11732
11724
  className: "relative flex-1 overflow-auto custom-scrollbar",
11733
- "data-os-scrollbar": true,
11734
11725
  onPointerMove,
11735
11726
  onPointerUp,
11736
11727
  onPointerLeave: () => setHoverCell(null),
@@ -12324,7 +12315,6 @@ var MultiCombobox = ({
12324
12315
  id: listboxId,
12325
12316
  role: "listbox",
12326
12317
  "aria-multiselectable": "true",
12327
- "data-os-scrollbar": true,
12328
12318
  style: { maxHeight },
12329
12319
  className: cn("overflow-y-auto p-1.5", size === "lg" ? "text-base" : size === "sm" ? "text-xs" : "text-sm"),
12330
12320
  children: loading2 ? /* @__PURE__ */ jsx40("li", { className: "px-3 py-8 text-center", children: /* @__PURE__ */ jsxs35("div", { className: "flex flex-col items-center gap-3 animate-in fade-in-0 zoom-in-95 duration-300", children: [
@@ -13950,7 +13940,6 @@ function CategoryTreeSelect(props) {
13950
13940
  "p-2",
13951
13941
  "animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-300"
13952
13942
  ),
13953
- "data-os-scrollbar": true,
13954
13943
  children: [
13955
13944
  renderSearch(),
13956
13945
  renderTreeContent()
@@ -14977,7 +14966,6 @@ function Carousel({
14977
14966
  showThumbnails && totalSlides > slidesToShow && /* @__PURE__ */ jsx47(
14978
14967
  "div",
14979
14968
  {
14980
- "data-os-scrollbar": true,
14981
14969
  className: cn(
14982
14970
  "absolute bottom-0 left-0 right-0 flex gap-2 p-4 bg-linear-to-t from-black/50 to-transparent overflow-x-auto",
14983
14971
  isHorizontal ? "flex-row" : "flex-col"
@@ -15869,7 +15857,6 @@ var TimelineRoot = React43.forwardRef(
15869
15857
  "div",
15870
15858
  {
15871
15859
  ref,
15872
- "data-os-scrollbar": mode === "horizontal" ? true : void 0,
15873
15860
  className: cn("relative", mode === "horizontal" && "flex gap-4 overflow-x-auto", mode === "vertical" && "space-y-0", className),
15874
15861
  ...rest,
15875
15862
  children: mode === "vertical" ? /* @__PURE__ */ jsx51("div", { className: "space-y-0", children: content }) : content
@@ -16865,7 +16852,7 @@ var MusicPlayer = ({
16865
16852
  }
16866
16853
  ) })
16867
16854
  ] }),
16868
- showPlaylist && /* @__PURE__ */ jsx53("div", { "data-os-scrollbar": true, className: "bg-muted/50 backdrop-blur-sm max-h-96 overflow-y-auto border-t border-border", children: /* @__PURE__ */ jsxs48("div", { className: "p-4", children: [
16855
+ showPlaylist && /* @__PURE__ */ jsx53("div", { className: "bg-muted/50 backdrop-blur-sm max-h-96 overflow-y-auto border-t border-border", children: /* @__PURE__ */ jsxs48("div", { className: "p-4", children: [
16869
16856
  /* @__PURE__ */ jsxs48("h3", { className: "text-lg font-semibold text-foreground mb-3", children: [
16870
16857
  "Playlist (",
16871
16858
  playlist.length,
@@ -18864,21 +18851,127 @@ var LoadingBar = ({
18864
18851
  // ../../components/ui/OverlayScrollbarProvider.tsx
18865
18852
  import { useEffect as useEffect28 } from "react";
18866
18853
  import { OverlayScrollbars } from "overlayscrollbars";
18867
- var SCROLLABLE_SELECTOR = "[data-os-scrollbar]";
18868
- var PORTAL_EXCLUDE_SELECTOR = [
18854
+
18855
+ // ../../components/ui/overlay-scrollbar-controller.ts
18856
+ var DEFAULT_OVERLAY_SCROLLBAR_SELECTOR = [
18857
+ ".overflow-auto",
18858
+ ".overflow-y-auto",
18859
+ ".overflow-x-auto",
18860
+ ".overflow-scroll",
18861
+ ".overflow-y-scroll",
18862
+ ".overflow-x-scroll",
18863
+ "textarea",
18864
+ "[data-os-scrollbar]"
18865
+ ].join(", ");
18866
+ var DEFAULT_OVERLAY_SCROLLBAR_EXCLUDE = [
18867
+ "html",
18868
+ "body",
18869
+ "[data-os-ignore]",
18869
18870
  "[data-radix-portal]",
18870
18871
  "[role='dialog']",
18871
18872
  "[aria-modal='true']",
18872
18873
  "[data-sonner-toaster]"
18873
18874
  ].join(", ");
18874
- function shouldSkip(element) {
18875
- if (element === document.body || element === document.documentElement) return true;
18875
+ function splitSelectorList(selectorList) {
18876
+ return selectorList.split(",").map((part) => part.trim()).filter(Boolean);
18877
+ }
18878
+ function safeMatches(element, selector) {
18879
+ try {
18880
+ return element.matches(selector);
18881
+ } catch {
18882
+ return false;
18883
+ }
18884
+ }
18885
+ function safeClosest(element, selector) {
18886
+ try {
18887
+ return element.closest(selector);
18888
+ } catch {
18889
+ return null;
18890
+ }
18891
+ }
18892
+ function shouldSkipElement(element, excludeSelectors, ancestorExcludeSelectors) {
18893
+ const tagName = element.tagName?.toLowerCase?.() ?? "";
18894
+ if (tagName === "body" || tagName === "html") return true;
18876
18895
  if (element.classList.contains("scrollbar-none")) return true;
18877
- if (element.hasAttribute("data-os-ignore")) return true;
18878
18896
  if (element.hasAttribute("data-overlayscrollbars")) return true;
18879
- if (element.closest(PORTAL_EXCLUDE_SELECTOR)) return true;
18897
+ if (excludeSelectors.some((selector) => safeMatches(element, selector))) return true;
18898
+ if (ancestorExcludeSelectors.some((selector) => safeClosest(element, selector))) return true;
18880
18899
  return false;
18881
18900
  }
18901
+ function createOverlayScrollbarController({
18902
+ selector,
18903
+ exclude,
18904
+ options,
18905
+ createInstance,
18906
+ root = document.body,
18907
+ createObserver,
18908
+ requestAnimationFrameImpl = requestAnimationFrame,
18909
+ cancelAnimationFrameImpl = cancelAnimationFrame
18910
+ }) {
18911
+ const instances = /* @__PURE__ */ new Map();
18912
+ const excludeSelectors = splitSelectorList(exclude);
18913
+ const ancestorExcludeSelectors = excludeSelectors.filter((item) => item !== "html" && item !== "body");
18914
+ let rafId = 0;
18915
+ const init = (element) => {
18916
+ if (shouldSkipElement(element, excludeSelectors, ancestorExcludeSelectors)) return;
18917
+ if (instances.has(element)) return;
18918
+ instances.set(element, createInstance(element, options));
18919
+ };
18920
+ const scan = (root2) => {
18921
+ if (root2 instanceof HTMLElement && safeMatches(root2, selector)) {
18922
+ init(root2);
18923
+ }
18924
+ if (!("querySelectorAll" in root2)) return;
18925
+ try {
18926
+ root2.querySelectorAll(selector).forEach(init);
18927
+ } catch {
18928
+ }
18929
+ };
18930
+ const cleanup = () => {
18931
+ instances.forEach((instance, element) => {
18932
+ if (!element.isConnected) {
18933
+ instance.destroy();
18934
+ instances.delete(element);
18935
+ }
18936
+ });
18937
+ };
18938
+ scan(root);
18939
+ const onMutations = (mutations) => {
18940
+ if (rafId) return;
18941
+ rafId = requestAnimationFrameImpl(() => {
18942
+ rafId = 0;
18943
+ const roots = /* @__PURE__ */ new Set();
18944
+ mutations.forEach((mutation) => {
18945
+ if (mutation.target && (typeof mutation.target.querySelectorAll === "function" || mutation.target instanceof HTMLElement)) {
18946
+ roots.add(mutation.target);
18947
+ }
18948
+ Array.from(mutation.addedNodes).forEach((node) => {
18949
+ if (node instanceof HTMLElement) {
18950
+ roots.add(node);
18951
+ }
18952
+ });
18953
+ });
18954
+ roots.forEach(scan);
18955
+ cleanup();
18956
+ });
18957
+ };
18958
+ const observer = createObserver ? createObserver(onMutations) : new MutationObserver(onMutations);
18959
+ observer.observe(root, { childList: true, subtree: true, attributes: true });
18960
+ const destroy = () => {
18961
+ if (rafId) cancelAnimationFrameImpl(rafId);
18962
+ observer.disconnect();
18963
+ instances.forEach((instance) => instance.destroy());
18964
+ instances.clear();
18965
+ };
18966
+ return {
18967
+ destroy,
18968
+ scan,
18969
+ cleanup,
18970
+ getInstanceCount: () => instances.size
18971
+ };
18972
+ }
18973
+
18974
+ // ../../components/ui/OverlayScrollbarProvider.tsx
18882
18975
  function OverlayScrollbarProvider({
18883
18976
  enabled = true,
18884
18977
  theme = "os-theme-underverse",
@@ -18886,7 +18979,9 @@ function OverlayScrollbarProvider({
18886
18979
  autoHide = "leave",
18887
18980
  autoHideDelay = 600,
18888
18981
  dragScroll = true,
18889
- clickScroll = false
18982
+ clickScroll = false,
18983
+ selector = DEFAULT_OVERLAY_SCROLLBAR_SELECTOR,
18984
+ exclude = DEFAULT_OVERLAY_SCROLLBAR_EXCLUDE
18890
18985
  } = {}) {
18891
18986
  useEffect28(() => {
18892
18987
  if (typeof window === "undefined") return;
@@ -18901,56 +18996,16 @@ function OverlayScrollbarProvider({
18901
18996
  clickScroll
18902
18997
  }
18903
18998
  };
18904
- const instances = /* @__PURE__ */ new Map();
18905
- let rafId = 0;
18906
- const init = (element) => {
18907
- if (shouldSkip(element)) return;
18908
- if (instances.has(element)) return;
18909
- instances.set(element, OverlayScrollbars(element, options));
18910
- };
18911
- const scan = (root) => {
18912
- if (root instanceof HTMLElement && root.matches(SCROLLABLE_SELECTOR)) {
18913
- init(root);
18914
- }
18915
- if (!("querySelectorAll" in root)) return;
18916
- root.querySelectorAll(SCROLLABLE_SELECTOR).forEach(init);
18917
- };
18918
- const cleanup = () => {
18919
- instances.forEach((instance, element) => {
18920
- if (!element.isConnected) {
18921
- instance.destroy();
18922
- instances.delete(element);
18923
- }
18924
- });
18925
- };
18926
- scan(document.body);
18927
- const observer = new MutationObserver((mutations) => {
18928
- if (rafId) return;
18929
- rafId = requestAnimationFrame(() => {
18930
- rafId = 0;
18931
- const scanRoots = /* @__PURE__ */ new Set();
18932
- mutations.forEach((mutation) => {
18933
- if (mutation.target instanceof HTMLElement || mutation.target instanceof Document || mutation.target instanceof DocumentFragment) {
18934
- scanRoots.add(mutation.target);
18935
- }
18936
- mutation.addedNodes.forEach((node) => {
18937
- if (node instanceof HTMLElement) {
18938
- scanRoots.add(node);
18939
- }
18940
- });
18941
- });
18942
- scanRoots.forEach(scan);
18943
- cleanup();
18944
- });
18999
+ const controller = createOverlayScrollbarController({
19000
+ selector,
19001
+ exclude,
19002
+ options,
19003
+ createInstance: (element, instanceOptions) => OverlayScrollbars(element, instanceOptions)
18945
19004
  });
18946
- observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ["class"] });
18947
19005
  return () => {
18948
- if (rafId) cancelAnimationFrame(rafId);
18949
- observer.disconnect();
18950
- instances.forEach((instance) => instance.destroy());
18951
- instances.clear();
19006
+ controller.destroy();
18952
19007
  };
18953
- }, [enabled, theme, visibility, autoHide, autoHideDelay, dragScroll, clickScroll]);
19008
+ }, [enabled, theme, visibility, autoHide, autoHideDelay, dragScroll, clickScroll, selector, exclude]);
18954
19009
  return null;
18955
19010
  }
18956
19011
  var OverlayScrollbarProvider_default = OverlayScrollbarProvider;
@@ -18972,7 +19027,6 @@ var Table = React55.forwardRef(({ className, containerClassName, disableContaine
18972
19027
  "backdrop-blur-sm transition-all duration-300",
18973
19028
  containerClassName
18974
19029
  ),
18975
- "data-os-scrollbar": true,
18976
19030
  children: /* @__PURE__ */ jsx65("table", { ref, className: cn("w-full caption-bottom text-sm", className), ...props })
18977
19031
  }
18978
19032
  );
@@ -19904,13 +19958,8 @@ function DataTable({
19904
19958
  children: /* @__PURE__ */ jsx68(
19905
19959
  "div",
19906
19960
  {
19907
- className: "custom-scrollbar w-full",
19908
- "data-os-scrollbar": true,
19909
- style: stickyHeader ? {
19910
- maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight,
19911
- overflowY: "auto",
19912
- overflowX: "auto"
19913
- } : { overflowX: "auto" },
19961
+ className: cn("w-full overflow-x-auto", stickyHeader && "overflow-y-auto"),
19962
+ style: stickyHeader ? { maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight } : void 0,
19914
19963
  children: /* @__PURE__ */ jsxs62(
19915
19964
  Table,
19916
19965
  {
@@ -21428,7 +21477,7 @@ import { useTranslations as useTranslations7 } from "next-intl";
21428
21477
  import { useEditor, EditorContent } from "@tiptap/react";
21429
21478
 
21430
21479
  // ../../components/ui/UEditor/extensions.ts
21431
- import Document2 from "@tiptap/extension-document";
21480
+ import Document from "@tiptap/extension-document";
21432
21481
  import Paragraph from "@tiptap/extension-paragraph";
21433
21482
  import Text from "@tiptap/extension-text";
21434
21483
  import Bold from "@tiptap/extension-bold";
@@ -21515,7 +21564,7 @@ var CommandList = forwardRef13((props, ref) => {
21515
21564
  if (props.items.length === 0) {
21516
21565
  return /* @__PURE__ */ jsx77("div", { className: "w-72 p-4 text-center text-sm text-muted-foreground", children: "No results" });
21517
21566
  }
21518
- return /* @__PURE__ */ jsxs69("div", { ref: listRef, "data-os-scrollbar": true, className: "w-72 max-h-80 overflow-y-auto bg-card border border-border rounded-2xl shadow-lg", children: [
21567
+ return /* @__PURE__ */ jsxs69("div", { ref: listRef, className: "w-72 max-h-80 overflow-y-auto bg-card border border-border rounded-2xl shadow-lg", children: [
21519
21568
  /* @__PURE__ */ jsx77("div", { className: "px-3 py-2 border-b", children: /* @__PURE__ */ jsx77("span", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: "Basic Blocks" }) }),
21520
21569
  /* @__PURE__ */ jsx77("div", { className: "p-1", children: props.items.map((item, index) => /* @__PURE__ */ jsxs69(
21521
21570
  "button",
@@ -22608,7 +22657,7 @@ var EmojiList = forwardRef14((props, ref) => {
22608
22657
  if (props.items.length === 0) {
22609
22658
  return /* @__PURE__ */ jsx78("div", { className: "w-80 p-4 text-center text-sm text-muted-foreground bg-card border border-border rounded-2xl shadow-lg", children: "No emoji found" });
22610
22659
  }
22611
- return /* @__PURE__ */ jsxs70("div", { "data-os-scrollbar": true, className: "w-80 max-h-80 overflow-y-auto bg-card border border-border rounded-2xl shadow-lg", children: [
22660
+ return /* @__PURE__ */ jsxs70("div", { className: "w-80 max-h-80 overflow-y-auto bg-card border border-border rounded-2xl shadow-lg", children: [
22612
22661
  /* @__PURE__ */ jsx78("div", { className: "px-3 py-2 border-b bg-muted/30", children: /* @__PURE__ */ jsxs70("div", { className: "flex items-center gap-2", children: [
22613
22662
  /* @__PURE__ */ jsx78(Smile, { className: "w-4 h-4 text-primary" }),
22614
22663
  /* @__PURE__ */ jsx78("span", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: "Emoji" })
@@ -22933,7 +22982,7 @@ function buildUEditorExtensions({
22933
22982
  editable = true
22934
22983
  }) {
22935
22984
  return [
22936
- Document2,
22985
+ Document,
22937
22986
  Paragraph,
22938
22987
  Text,
22939
22988
  Bold,
@@ -22977,7 +23026,6 @@ function buildUEditorExtensions({
22977
23026
  CodeBlockLowlight.configure({
22978
23027
  lowlight,
22979
23028
  HTMLAttributes: {
22980
- "data-os-scrollbar": "true",
22981
23029
  class: "rounded-lg bg-[#1e1e1e] p-4 font-mono text-sm overflow-x-auto"
22982
23030
  }
22983
23031
  }),
@@ -23342,7 +23390,6 @@ var EmojiPicker = ({ onSelect, onClose }) => {
23342
23390
  "div",
23343
23391
  {
23344
23392
  ref: scrollContainerRef,
23345
- "data-os-scrollbar": true,
23346
23393
  className: "overflow-y-auto px-3 py-2 shrink",
23347
23394
  style: { height: "20rem" },
23348
23395
  children: search ? (
@@ -24064,7 +24111,7 @@ var SlashCommandMenu = ({ editor, onClose, filterText = "" }) => {
24064
24111
  if (commands.length === 0) {
24065
24112
  return /* @__PURE__ */ jsx84("div", { className: "w-72 p-4 text-center text-muted-foreground text-sm", children: t("slashCommand.noResults") });
24066
24113
  }
24067
- return /* @__PURE__ */ jsxs76("div", { ref: menuRef, "data-os-scrollbar": true, className: "w-72 max-h-80 overflow-y-auto", children: [
24114
+ return /* @__PURE__ */ jsxs76("div", { ref: menuRef, className: "w-72 max-h-80 overflow-y-auto", children: [
24068
24115
  /* @__PURE__ */ jsx84("div", { className: "px-3 py-2 border-b", children: /* @__PURE__ */ jsx84("span", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: t("slashCommand.basicBlocks") }) }),
24069
24116
  /* @__PURE__ */ jsx84("div", { className: "p-1", children: commands.map((cmd, index) => /* @__PURE__ */ jsxs76(
24070
24117
  "button",
@@ -24826,7 +24873,6 @@ var UEditor = React72.forwardRef(({
24826
24873
  EditorContent,
24827
24874
  {
24828
24875
  editor,
24829
- "data-os-scrollbar": true,
24830
24876
  className: "flex-1 overflow-y-auto",
24831
24877
  style: {
24832
24878
  minHeight,