import "./pressable_row.css"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps, type TriggerProps } from "./style_props"; export type PressableRowVariant = "register" | "bleed" | "inset" | "card"; export interface PressableRowProps extends StyleProps, TriggerProps { onPress: () => void; /** The open/selected record — paints the persistent highlight. */ selected?: boolean; /** Part of a multi-select set — paints the same resting ground `selected` * does; the ticked checkbox is what tells the two apart. */ marked?: boolean; /** * - "register" (THE record-list default): a rounded row whose wash spans the * FULL row width; it BLEEDS outward and the content stays on the container's * own edge, so a `Table` header and its cells still align. The `Table` draws * NOTHING between rows — the wash is the only mark a row makes. * - "bleed" (legacy): square wash to the edges, `Divider`-separated, for an * edge-to-edge data grid that wants hard rules. * - "inset": a rounded, contained row whose wash is a pill pulled in from the * edge. Lives inside a padded container. * - "card": the TILE — a bordered press target marking its state on an EDGE * rather than a ground. The one variant that IS a `