import type { JSX, ValidComponent } from "@solidjs/web"; import type { BaseUIComponentProps } from "../../internals/types.js"; import type { Orientation } from "../../internals/types.js"; import { type TabsRootState, type TabsTabActivationDirection } from "../tabs-root-context.js"; export interface TabsIndicatorPosition { left: number; right: number; top: number; bottom: number; } export interface TabsIndicatorSize { width: number; height: number; } export interface TabsIndicatorState extends TabsRootState { /** Rectangle of the active tab relative to the list. `null` when idle. */ activeTabPosition: TabsIndicatorPosition | null; /** Size of the active tab. `null` when idle. */ activeTabSize: TabsIndicatorSize | null; /** Layout orientation (inherited from root). */ orientation: Orientation; /** Activation direction (inherited from root). */ tabActivationDirection: TabsTabActivationDirection; } export interface TabsIndicatorProps extends BaseUIComponentProps<"span", TabsIndicatorState> { /** Tag/component to render. Defaults to `"span"`. */ as?: ValidComponent; /** * Whether to emit the inline prehydration `