import * as React from "react"; import { ScrollArea as ScrollAreaPrimitive } from "radix-ui"; import { ScrollBar as BaseScrollBar } from "@/components/ui/scroll-area"; export interface EnhancedScrollAreaProps extends React.ComponentProps { /** * Enable fade mask effect at edges - only visible when scrolled (hides when content fits) * @default true */ fadeMask?: boolean; /** * Hide the scrollbar while keeping scroll functionality (trackpad/cursor) * @default false */ hideScrollbar?: boolean; /** * Scroll orientation * @default "vertical" */ orientation?: "vertical" | "horizontal" | "both"; /** * Callback when the viewport scrolls (e.g. for DataGrid scroll state sync) */ onScroll?: (e: React.UIEvent) => void; /** * Ref to the scroll container (Viewport) for resize, IntersectionObserver, etc. */ viewportRef?: React.Ref; /** * Style for the Viewport (e.g. scrollPadding for DataGrid scroll-into-view) */ viewportStyle?: React.CSSProperties; } /** * Enhanced ScrollArea component with scroll-aware fade mask * * - Fade mask only shows when content overflows and user has scrolled * - Top fade: visible when scrolled down from top * - Bottom fade: visible when more content below * - No mask when content fits (avoids covering content) */ declare const EnhancedScrollArea: React.ForwardRefExoticComponent & React.RefAttributes>; export { EnhancedScrollArea, EnhancedScrollArea as ScrollArea }; export { BaseScrollBar as ScrollBar }; //# sourceMappingURL=enhanced-scroll-area.d.ts.map