import type { JSX, ValidComponent } from "@solidjs/web"; import type { BaseUIComponentProps } from "../../internals/types.js"; import { type OverflowEdgeThresholdInput } from "./create-scroll-area.js"; import type { Coords, HiddenState, OverflowEdges, OverflowEdgeThreshold, ScrollAreaRootState, Size } from "./scroll-area-root-context.js"; export type { Coords, HiddenState, OverflowEdges, OverflowEdgeThreshold, ScrollAreaRootState, Size, }; export interface ScrollAreaRootProps extends BaseUIComponentProps<"div", ScrollAreaRootState> { /** Tag/component to render. Defaults to `"div"`. */ as?: ValidComponent; /** * Threshold in pixels that must be exceeded before the overflow-edge * attributes are applied. Accepts a number (applied to all four edges) * or a partial per-edge object. * @default 0 */ overflowEdgeThreshold?: OverflowEdgeThresholdInput; } /** * Groups all parts of the scroll area. Renders a `
` element. * * Thin structural adapter over {@link createScrollArea} — the root's reactive * state, element refs, derived state, and shared pointer/scroll handlers all * live in the primitive (which IS the value published to descendants via the * root context). This wrapper maps props → options, registers the shared * disable-scrollbar `