"use client"; import {mergeProps} from "@base-ui/react/merge-props"; import {ScrollArea as BaseScrollArea} from "@base-ui/react/scroll-area"; import {useRender} from "@base-ui/react/use-render"; import * as React from "react"; import {cn} from "@/lib/utilities"; import styles from "./scroll-area.module.css"; /** * Coordinates scroll area layout and scrolling behavior. * * @remarks * - Renders a `
` element by default * - Built on {@link https://base-ui.com/react/components/scroll-area | Base UI Scroll Area} * - Supports the `render` prop for element composition * * @example * ```tsx * Content * ``` * * @see {@link https://base-ui.com/react/components/scroll-area | Base UI Documentation} */ const ScrollArea = React.forwardRef, ScrollArea.Props>( (props: Readonly, ref): React.ReactElement => { const {className, children, render, ...otherProps} = props; return ( {children} ); }, ); /** * Renders the scroll bar. * * @remarks * - Renders a `
` element by default * - Built on {@link https://base-ui.com/react/components/scroll-area | Base UI Scroll Area} * - Supports the `render` prop for element composition * * @example * ```tsx * Content * ``` * * @see {@link https://base-ui.com/react/components/scroll-area | Base UI Documentation} */ function ScrollBar(props: Readonly): React.ReactElement { const {className, orientation = "vertical", render, ...otherProps} = props; return ( ); } // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API namespace ScrollArea { export type Props = React.ComponentPropsWithRef; export type State = BaseScrollArea.Root.State; } // eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API namespace ScrollBar { export type Props = React.ComponentPropsWithRef; export type State = BaseScrollArea.Scrollbar.State; } ScrollArea.displayName = "ScrollArea"; ScrollBar.displayName = "ScrollBar"; export {ScrollArea, ScrollBar};