useColorSliderState
Provides state management for a color slider component. Color sliders allow users to adjust an individual channel of a color value.
| install | yarn add react-stately | 
|---|---|
| version | 3.31.1 | 
| usage | import {useColorSliderState} from 'react-stately' | 
API#
useColorSliderState(
  (props: ColorSliderStateOptions
)): ColorSliderState
Interface#
Properties
| Name | Type | Description | 
| value | Color | The current color value represented by the color slider. | 
| isDragging | boolean | Whether the color slider is currently being dragged. | 
| values | number[] | Values managed by the slider by thumb index. | 
| focusedThumb | number | undefined | Currently-focused thumb index. | 
| step | number | The step amount for the slider. | 
| pageSize | number | The page size for the slider, used to do a bigger step. | 
| orientation | Orientation | The orientation of the slider. | 
| isDisabled | boolean | Whether the slider is disabled. | 
Methods
| Method | Description | 
| setValue(
  (value: string
    |  | Color
)): void | Sets the current color value. If a string is passed, it will be parsed to a Color. | 
| getDisplayColor(): Color | Returns the color that should be displayed in the slider instead of valueor the optional parameter. | 
| getThumbValue(
  (index: number
)): number | Get the value for the specified thumb. | 
| setThumbValue(
  (index: number,
  , value: number
)): void | Sets the value for the specified thumb. The actual value set will be clamped and rounded according to min/max/step. | 
| setThumbPercent(
  (index: number,
  , percent: number
)): void | Sets value for the specified thumb by percent offset (between 0 and 1). | 
| isThumbDragging(
  (index: number
)): boolean | Whether the specific thumb is being dragged. | 
| setThumbDragging(
  (index: number,
  , dragging: boolean
)): void | Set is dragging on the specified thumb. | 
| setFocusedThumb(
  (index: number
    |  | undefined
)): void | Set focused true on specified thumb. This will remove focus from any thumb that had it before. | 
| getThumbPercent(
  (index: number
)): number | Returns the specified thumb's value as a percentage from 0 to 1. | 
| getValuePercent(
  (value: number
)): number | Returns the value as a percent between the min and max of the slider. | 
| getThumbValueLabel(
  (index: number
)): string | Returns the string label for the specified thumb's value, per props.formatOptions. | 
| getFormattedValue(
  (value: number
)): string | Returns the string label for the value, per props.formatOptions. | 
| getThumbMinValue(
  (index: number
)): number | Returns the min allowed value for the specified thumb. | 
| getThumbMaxValue(
  (index: number
)): number | Returns the max allowed value for the specified thumb. | 
| getPercentValue(
  (percent: number
)): number | Converts a percent along track (between 0 and 1) to the corresponding value. | 
| isThumbEditable(
  (index: number
)): boolean | Returns if the specified thumb is editable. | 
| setThumbEditable(
  (index: number,
  , editable: boolean
)): void | Set the specified thumb's editable state. | 
| incrementThumb(
  (index: number,
  , stepSize?: number
)): void | Increments the value of the thumb by the step or page amount. | 
| decrementThumb(
  (index: number,
  , stepSize?: number
)): void | Decrements the value of the thumb by the step or page amount. | 
Example#
See the docs for useColorSlider in react-aria for an example of useColorSliderState.