@furystack/shades-common-components
Version:
Common UI components for FuryStack Shades
66 lines • 1.81 kB
TypeScript
import type { Palette } from '../../services/theme-provider-service.js';
/**
* Represents a mark on the slider track
*/
export type SliderMark = {
/** The value at which to place the mark */
value: number;
/** Optional label text displayed near the mark */
label?: string;
};
/**
* Props for the Slider component
*/
export type SliderProps = {
/**
* Current value. A single number for standard mode, or a [min, max] tuple for range mode.
*/
value?: number | [number, number];
/**
* Minimum allowed value
* @default 0
*/
min?: number;
/**
* Maximum allowed value
* @default 100
*/
max?: number;
/**
* Step increment. Set to 0 for continuous (no snapping).
* @default 1
*/
step?: number;
/**
* Whether the slider is disabled
*/
disabled?: boolean;
/**
* The palette color for the slider
* @default 'primary'
*/
color?: keyof Palette;
/**
* Whether to render the slider vertically
*/
vertical?: boolean;
/**
* Display marks on the slider.
* `true` auto-generates a mark at each step; an array of SliderMark objects places custom marks.
*/
marks?: boolean | SliderMark[];
/**
* Callback fired when the value changes during interaction
*/
onValueChange?: (value: number | [number, number]) => void;
/**
* The name attribute for a hidden input (form integration)
*/
name?: string;
};
export declare const Slider: (props: SliderProps & Omit<Partial<HTMLElement>, "style"> & {
style?: Partial<CSSStyleDeclaration>;
} & {
ref?: import("@furystack/shades").RefObject<Element>;
}, children?: import("@furystack/shades").ChildrenList) => JSX.Element;
//# sourceMappingURL=slider.d.ts.map