//#region src/Slider/Slider.types.d.ts /** * Props for the Slider component that provides an interactive range input control. */ type SliderProps = { /** * When true, disables the slider preventing user interaction. * Disabled sliders appear visually dimmed and don't respond to mouse or keyboard input. */ disabled?: boolean; /** * Callback function triggered when the slider value changes. * Receives an array of numbers (even for single-value sliders for consistency). * Use this to handle value changes and update your application state. */ onValueChange?: (value: number[]) => void; /** * Callback function triggered when the user releases the pointer (mouse/touch) from the slider. * Useful for triggering actions only when the user finishes adjusting the value, * rather than continuously during dragging. */ onPointerUp?: React.PointerEventHandler; /** * HTML ID attribute for the slider component. * Should be unique across the page for proper HTML semantics and accessibility. */ id?: string; /** * Name attribute for the slider used in form submission. * Identifies the slider's data when the form is submitted to a server. */ name?: string; /** * Current value of the slider. * Should be within the min/max range. The slider thumb will be positioned * proportionally based on this value relative to the min/max range. */ value: number; /** * Additional CSS classes to apply to the slider's root container. * Use this to customize the overall slider appearance and layout. */ rootExtraClassNames?: string; /** * Additional CSS classes to apply to the slider track (the background line). * Use this to customize the track's color, height, or styling. */ trackExtraClassNames?: string; /** * Additional CSS classes to apply to the slider thumb (the draggable handle). * Use this to customize the thumb's size, color, shape, or styling. */ thumbExtraClassNames?: string; /** * Additional CSS classes to apply to the active range (filled portion of the track). * Use this to customize the color or styling of the filled area from min to current value. */ rangeExtraClassNames?: string; /** * Test ID attribute for the slider component used in automated testing. * Applied to the slider's root element for test targeting and interaction. */ testId?: string; /** * Step value that defines the increment/decrement amount for the slider. * The slider value will snap to multiples of this step value. * Smaller steps provide finer control, larger steps provide coarser control. * @default 1 */ step?: number; /** * Minimum allowed value for the slider. * The slider thumb cannot be moved below this value. * Defines the left/bottom end of the slider range. * @default 0 */ min?: number; /** * Maximum allowed value for the slider. * The slider thumb cannot be moved above this value. * Defines the right/top end of the slider range. * @default 100 */ max?: number; /** * Maximum value that can be reached through interaction while still rendering the full slider scale up to `max`. * Defaults to `max` and is silently clamped so it never exceeds `max`. */ maxAccessible?: number; }; //#endregion export { SliderProps };