import "./scroll_area.css"; import type * as React from "react"; import type { ScrollAreaRootProps } from "@base-ui/react/scroll-area"; import { type StyleProps } from "./style_props"; export interface ScrollAreaProps extends StyleProps { children?: React.ReactNode; /** Which axis may scroll. `both` draws two scrollbars. */ orientation?: "vertical" | "horizontal" | "both"; testID?: string; ref?: React.Ref; render?: ScrollAreaRootProps["render"]; } /** * A bounded scroller with an overlay scrollbar that appears while you scroll. * * THE HEIGHT BOUND IS THE CALLER'S. A scroll area with nothing constraining it * grows with its content and never scrolls, which reads as the component being * broken; put the `flex: 1`, `max-height` or `height` on it through `style` or * `className`. * * `orientation` IS the width contract. Base UI writes `min-width: fit-content` * on `content` so a wide child can scroll sideways; on a scroller that says it * scrolls VERTICALLY that is a horizontal scroll with no scrollbar drawn for * it, so the content silently grows past the port and everything on its * trailing edge — a row's ⋯, a chevron — sits off-canvas with nothing to reach * it by. A vertical area therefore pins `min-width: 0` back on. * `horizontal` and `both` keep `fit-content`: there, scrolling wide is the job. */ export declare function ScrollArea({ children, orientation, testID, render, ref, ...props }: ScrollAreaProps): React.JSX.Element;