"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};