import type { JSX, ValidComponent } from "@solidjs/web"; import type { BaseUIComponentProps } from "../../internals/types.js"; import { type TransitionStatus } from "../../internals/use-transition-status/use-transition-status.js"; import { type TabsRootState, type TabsTabValue } from "../tabs-root-context.js"; export interface TabsPanelState extends TabsRootState { /** Whether the panel is visually hidden. */ hidden: boolean; /** Transition-status flag (used for enter / exit animations). */ transitionStatus: TransitionStatus; } export interface TabsPanelProps extends Omit, "value"> { /** Tag/component to render. Defaults to `"div"`. */ as?: ValidComponent; /** The value that identifies the corresponding ``. */ value: TabsTabValue; /** * Whether the panel stays in the DOM when it isn't selected. Necessary for * CSS transitions that animate between panels; off by default to match * React Base UI. * @default false */ keepMounted?: boolean | undefined; } /** * The content panel that renders when its matching `` is active. * Renders a `
`. * * Solid 2 notes: * * - `` wraps the element when `keepMounted` is * `false`. When `keepMounted` is `true`, the element stays in the DOM and * switches between visible / `hidden` based on selection. * - The panel registers its DOM id with the root so the matching tab can * project `aria-controls={panelId}`. Registration happens in a render * effect keyed on `(hidden, keepMounted)` — matches React's * `useIsoLayoutEffect`. */ export declare function TabsPanel(props: TabsPanelProps): JSX.Element; //# sourceMappingURL=tabs-panel.d.ts.map