headless

API slider

createSlider

function

createSlider(config?): SliderWidget

Create a slider widget with given config props

Parameters

config?: PropsConfig<SliderProps>

an optional slider config

Returns

SliderWidget

a SliderWidget


getSliderDefaultConfig

function

getSliderDefaultConfig(): SliderProps

Returns a shallow copy of the default slider config.

Returns

SliderProps

a copy of the default config


HandleDisplayOptions

interface

Options for displaying a handle in a slider component.

Properties
left

left: null | number

Left offset of the handle in %


top

top: null | number

Top offset of the handle in %


ProgressDisplayOptions

interface

Options for displaying progress in a slider component.

Properties
bottom

bottom: null | number

Bottom offset of the progress in %


height

height: number

Height of hte progress in %


left

left: null | number

Right offset of the progress in %


right

right: null | number

Left offset of the progress in %


top

top: null | number

Top offset of the progress in %


width

width: number

Width of the progress in %


SliderDirectives

interface

Interface representing various directives used in the slider component.

Properties
clickableAreaDirective

clickableAreaDirective: Directive

Directive to apply to the slider clickable area, to directly move the handle to a given specific position


combinedHandleLabelDisplayDirective

combinedHandleLabelDisplayDirective: Directive

Directive to apply to the handle when combined label display is active


handleDirective

handleDirective: Directive<object>

Directive to apply to the slider handle if any

Type declaration
item

item: SliderHandle


handleEventsDirective

handleEventsDirective: Directive<object>

Directive to apply handle events handlers

Type declaration
item

item: object

item.id

id: number


handleLabelDisplayDirective

handleLabelDisplayDirective: Directive<object>

Directive to apply to the handle when combined label display is not active

Type declaration
index

index: number


maxLabelDirective

maxLabelDirective: Directive

Directive to get the maxLabel elementRef


minLabelDirective

minLabelDirective: Directive

Directive to get the minLabel elementRef


progressDisplayDirective

progressDisplayDirective: Directive<object>

Directive used to style the progress display for each handle

Type declaration
option

option: ProgressDisplayOptions


sliderDirective

sliderDirective: Directive

Directive to get the slider component elementRef


SliderHandle

interface

Represents a handle in a slider component.

Properties
ariaLabel

ariaLabel: string

ariaLabel of the handle


ariaValueText

ariaValueText: string

ariaValueText of the handle


id

id: number

Handle id


value

value: number

Value of the handle


SliderProps

interface

Interface representing the properties for the Slider component.

Properties
ariaLabelHandle

ariaLabelHandle: (value, sortedIndex, index) => string

Return the value for the 'aria-label' attribute for the handle

Parameters

value: number

value of the handle

sortedIndex: number

index of the handle in the sorted list

index: number

index of the handle in the original list

Returns

string

Default Value
(value: number) => '' + value

ariaValueText

ariaValueText: (value, sortedIndex, index) => string

Return the value for the 'aria-valuetext' attribute for the handle

Parameters

value: number

value of the handle

sortedIndex: number

index of the handle in the sorted list

index: number

index of the handle in the original list

Returns

string

Default Value
(value: number) => '' + value

className

className: string

CSS classes to be applied on the widget main container

Default Value

''


disabled

disabled: boolean

If true slider value cannot be changed and the slider cannot be focused

Default Value

false


max

max: number

Maximum value that can be assigned to the slider

Default Value

100


min

min: number

Minimum value that can be assigned to the slider

Default Value

0


onValuesChange

onValuesChange: (values) => void

An event emitted when slider values are changed

Event payload equals to the updated slider values

Parameters

values: number[]

Returns

void

Default Value
() => {}

readonly

readonly: boolean

If true slider value cannot be changed but the slider is still focusable

Default Value

false


rtl

rtl: boolean

It true slider display is inversed

Default Value

false


showMinMaxLabels

showMinMaxLabels: boolean

If true the min and max labels are displayed on the slider

Default Value

true


showValueLabels

showValueLabels: boolean

If true the value labels are displayed on the slider

Default Value

true


stepSize

stepSize: number

Unit value between slider steps

Default Value

1


values

values: number[]

Current slider values

Default Value

[0]


vertical

vertical: boolean

If true is vertically positioned otherwise it is horizontal

Default Value

false


SliderState

interface

Represents the state of a slider component.

Properties
className

className: string

CSS classes to be applied on the widget main container

Default Value

''


combinedLabelDisplay

combinedLabelDisplay: boolean

If true, the label when the handles are close is visible


combinedLabelPositionLeft

combinedLabelPositionLeft: number

Combined label left offset in %


combinedLabelPositionTop

combinedLabelPositionTop: number

Combined label top offset in %


disabled

disabled: boolean

If true slider value cannot be changed and the slider cannot be focused

Default Value

false


handleDisplayOptions

handleDisplayOptions: HandleDisplayOptions[]

Array of objects representing handle display options


interactive

interactive: boolean

Check if the slider is interactive, meaning it is not disabled or readonly


max

max: number

Maximum value that can be assigned to the slider

Default Value

100


maxValueLabelDisplay

maxValueLabelDisplay: boolean

If true, the maximum label will be visible


min

min: number

Minimum value that can be assigned to the slider

Default Value

0


minValueLabelDisplay

minValueLabelDisplay: boolean

If true, the minimum label will be visible


progressDisplayOptions

progressDisplayOptions: ProgressDisplayOptions[]

Array of objects representing progress display options


readonly

readonly: boolean

If true slider value cannot be changed but the slider is still focusable

Default Value

false


rtl

rtl: boolean

It true slider display is inversed

Default Value

false


showMinMaxLabels

showMinMaxLabels: boolean

If true the min and max labels are displayed on the slider

Default Value

true


showValueLabels

showValueLabels: boolean

If true the value labels are displayed on the slider

Default Value

true


sortedHandles

sortedHandles: SliderHandle[]

Array of the sorted handles to display


sortedValues

sortedValues: number[]

Sorted slider values


stepSize

stepSize: number

Unit value between slider steps

Default Value

1


values

values: number[]

Current slider values

Default Value

[0]


vertical

vertical: boolean

If true is vertically positioned otherwise it is horizontal

Default Value

false


SliderWidget

type alias

SliderWidget: Widget<SliderProps, SliderState, object, SliderDirectives>

Represents a slider widget component.