import type { JSX, ValidComponent } from "@solidjs/web"; import type { BaseUIComponentProps } from "../../internals/types.js"; import { type SliderRootState } from "../slider-root-context.js"; export interface SliderThumbState extends SliderRootState { } export interface SliderThumbProps extends Omit, "onBlur" | "onFocus"> { /** Tag/component to render. Defaults to `"div"`. */ as?: ValidComponent; disabled?: boolean | undefined; getAriaLabel?: ((index: number) => string) | null | undefined; getAriaValueText?: ((formattedValue: string, value: number, index: number) => string) | null | undefined; /** Explicit index override for range sliders. */ index?: number | undefined; inputRef?: ((element: HTMLInputElement | null) => void) | undefined; onBlur?: ((event: FocusEvent) => void) | undefined; onFocus?: ((event: FocusEvent) => void) | undefined; tabIndex?: number | undefined; } /** * The draggable part of the slider at the tip of the indicator. Renders a * `
` with a nested `` for form participation and * keyboard navigation. * * Keyboard contract (matches React Base UI): * * - Arrow keys: ±step (or ±largeStep with Shift). Horizontal arrows honor * RTL via the direction context. * - Page Up / Page Down: ±largeStep. * - Home / End: jumps to the range edge (or the adjacent thumb's value +/- * `step * minStepsBetweenValues` in range mode). * * Solid 2 notes: * * - `index` is resolved through `useCompositeListItem` when the consumer * doesn't pass `index` explicitly — matches React's "auto-index" branch. * - `aria-labelledby` is seeded with `""` so Solid 2's DOM spread keeps the * key in `ownKeys` (see `test/internals/merge-props-undefined-attr.test.tsx`). * - The input ref is exposed through `props.inputRef` — consumers compose * with Solid's native array refs on the outer thumb via `ref`. */ export declare function SliderThumb(props: SliderThumbProps): JSX.Element; export declare namespace SliderThumb { type State = SliderThumbState; type Props = SliderThumbProps; } //# sourceMappingURL=slider-thumb.d.ts.map