/** * List — a lightweight primitive for vertical item lists: sidebars, thread * rails, nav groups, command results. Three parts: * * - `List` — the container (tight vertical rhythm). * - `ListLabel` — an uppercase section heading (e.g. date groups: "Today"). * - `ListItem` — a row with padding / rounded / hover + active states, an * optional `description` line, and an optional trailing `action` * slot (revealed on hover, e.g. a "…" menu button). * * Colors use the chrome-surface hover token (`--accent`) — a subtle tint, not a * white fill — matching the Studio sidebar. Zero external deps. * * @module react/components/ui/list */ import * as React from "react"; /** Props accepted by {@link List}. */ export interface ListProps extends React.HTMLAttributes { ref?: React.Ref; } /** Vertical list container. */ export declare function List({ className, ref, ...props }: ListProps): React.ReactElement; /** Props accepted by {@link ListLabel}. */ export interface ListLabelProps extends React.HTMLAttributes { ref?: React.Ref; } /** Section heading — uppercase, faint. Use for date groups etc. */ export declare function ListLabel({ className, ref, ...props }: ListLabelProps): React.ReactElement; /** * Props accepted by {@link ListItem}. Standalone clickable rows receive button * semantics and keyboard activation by default. Rows with a trailing action * should use `onActivate` so both controls have native, sibling semantics. */ export interface ListItemProps extends Omit, "title"> { /** Primary line. Truncates. Omit to render `children` as the body instead. */ title?: React.ReactNode; /** Optional secondary line under the title. Truncates. */ description?: React.ReactNode; /** Highlight as the current/selected row. */ active?: boolean; /** * Render the row's primary action as a native button. Prefer this to * `onClick` when the row also has a trailing `action`, so the controls remain * siblings in the accessibility tree. */ onActivate?: React.MouseEventHandler; /** Native-button attributes for the primary action rendered by `onActivate`. */ primaryActionProps?: Omit, "children" | "dangerouslySetInnerHTML" | "onClick" | "type">; /** Ref for the native primary-action button. The root `ref` remains the row div. */ primaryActionRef?: React.Ref; /** * Trailing slot — e.g. a "…" menu button. Hidden until row hover (or when * `active`). Its clicks don't bubble to the row's `onClick`. */ action?: React.ReactNode; ref?: React.Ref; } /** A single list row. */ export declare function ListItem({ title, description, active, action, className, children, ref, onActivate, primaryActionProps, primaryActionRef, role, tabIndex, onClick, onKeyDown, onKeyUp, onBlur, ...props }: ListItemProps): React.ReactElement; //# sourceMappingURL=list.d.ts.map