createSlider

function

createSlider(props?): SliderWidget

Create a Slider with given config props

Parameters
props?

PropsConfig<SliderProps>

Returns

SliderWidget

a SliderWidget


getSliderDefaultConfig

function

getSliderDefaultConfig(): SliderProps

Retrieve a shallow copy of the default Slider config

Returns

SliderProps

the default Slider 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 the progress in %


id

id: number

Id of the progress


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 %


SliderComponent

class

SliderComponent is an Angular component that extends the BaseWidgetDirective to provide a customizable slider widget. This component allows for various configurations and customizations through its inputs and outputs.

Properties
ariaLabel

readonly ariaLabel: InputSignal<undefined | (sortedIndex) => string>

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

Param

index of the handle in the sorted list

Default Value
() => 'Value'

ariaLabelledBy

readonly ariaLabelledBy: InputSignal<undefined | (sortedIndex) => string>

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

Param

index of the handle in the sorted list

Default Value
() => ''

ariaValueText

readonly ariaValueText: InputSignal<undefined | (value, sortedIndex) => string>

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

Param

value of the handle

Param

index of the handle in the sorted list

Default Value
(value: number) => ''

className

readonly className: InputSignal<undefined | string>

CSS classes to be applied on the widget main container

Default Value

''


disabled

readonly disabled: InputSignalWithTransform<undefined | boolean, unknown>

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

Default Value

false


handle

readonly handle: InputSignal<SlotContent<SliderSlotHandleContext>>

Slot to change the handlers


label

readonly label: InputSignal<SlotContent<SliderSlotLabelContext>>

Slot to change the default labels of the slider

Default Value
({value}: SliderSlotLabelContext) => '' + value

max

readonly max: InputSignalWithTransform<undefined | number, unknown>

Maximum value that can be assigned to the slider

Default Value

100


min

readonly min: InputSignalWithTransform<undefined | number, unknown>

Minimum value that can be assigned to the slider

Default Value

0


readonly

readonly readonly: InputSignalWithTransform<undefined | boolean, unknown>

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

Default Value

false


rtl

readonly rtl: InputSignalWithTransform<undefined | boolean, unknown>

It true slider display is inversed

Default Value

false


showMinMaxLabels

readonly showMinMaxLabels: InputSignalWithTransform<undefined | boolean, unknown>

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

Default Value

true


showValueLabels

readonly showValueLabels: InputSignalWithTransform<undefined | boolean, unknown>

If true the value labels are displayed on the slider

Default Value

true


stepSize

readonly stepSize: InputSignalWithTransform<undefined | number, unknown>

Unit value between slider steps

Default Value

1


structure

readonly structure: InputSignal<SlotContent<SliderContext>>

Slot to change the default display of the slider


values

readonly values: InputSignal<undefined | number[]>

Current slider values

Default Value

[0]


valuesChange

readonly valuesChange: OutputEmitterRef<number[]>

An event emitted when slider values are changed

Event payload equals to the updated slider values

Default Value
() => {}

vertical

readonly vertical: InputSignalWithTransform<undefined | boolean, unknown>

If true is vertically positioned otherwise it is horizontal

Default Value

false

Accessors
api
Get Signature

get api(): W["api"]

Retrieves the widget api

Returns

W["api"]

the widget api


directives
Get Signature

get directives(): W["directives"]

Retrieves the widget directives

Returns

W["directives"]

the widget directives


state
Get Signature

get state(): AngularState<W>

Retrieves the widget state. Each property of the state is exposed through an Angular Signal

Returns

AngularState<W>

the widget state

Methods
onChange

onChange(_): void

Control value accessor methods

Parameters
_

any

Returns

void


SliderContext

interface

Represents the context for a Slider component. This type is an alias for WidgetSlotContext<SliderWidget>.

Extended by
Properties
api

api: object

all the api functions to interact with the widget


directives

directives: SliderDirectives

directives to be used on html elements in the template of the widget or in the slots


state

state: AngularState<SliderWidget>

The state of the widget. Each property of the state is exposed through an Angular Signal


sliderDefaultSlotHandle

constant

const sliderDefaultSlotHandle: SlotContent<SliderSlotHandleContext>

A constant representing the default slot handle for the slider component.


sliderDefaultSlotStructure

constant

const sliderDefaultSlotStructure: SlotContent<SliderContext>

Represents the default slot structure for the slider component.


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<{ item: SliderHandle; }>

Directive to apply to the slider handle if any


handleEventsDirective

handleEventsDirective: Directive<{ item: { id: number; }; }>

Directive to apply handle events handlers


handleLabelDisplayDirective

handleLabelDisplayDirective: Directive<{ index: number; }>

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


maxLabelDirective

maxLabelDirective: Directive

Directive to get the maxLabel elementRef


minLabelDirective

minLabelDirective: Directive

Directive to get the minLabel elementRef


progressDisplayDirective

progressDisplayDirective: Directive<{ option: ProgressDisplayOptions; }>

Directive used to style the progress display for each handle


sliderDirective

sliderDirective: Directive

Directive to get the slider component elementRef


SliderHandle

interface

Represents a handle in a slider component.

Properties
ariaLabel

ariaLabel: undefined | string

ariaLabel of the handle


ariaLabelledBy

ariaLabelledBy: undefined | string

aria-labelledBy of the handle


ariaValueText

ariaValueText: undefined | string

ariaValueText of the handle


id

id: number

Handle id


value

value: number

Value of the handle


SliderHandleDirective

class

Directive representing a handle for a slider component.

This directive uses a template reference to render the SliderSlotLabelContext.


SliderLabelDirective

class

Directive to provide a template reference for slider labels.

This directive uses a template reference to render the SliderSlotLabelContext.


SliderProps

interface

Represents the properties for the Slider component.

Properties
ariaLabel

ariaLabel: (sortedIndex) => string

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

Parameters
sortedIndex

number

index of the handle in the sorted list

Returns

string

Default Value
() => 'Value'

ariaLabelledBy

ariaLabelledBy: (sortedIndex) => string

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

Parameters
sortedIndex

number

index of the handle in the sorted list

Returns

string

Default Value
() => ''

ariaValueText

ariaValueText: (value, sortedIndex) => 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

Returns

string

Default Value
(value: number) => ''

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


handle

handle: SlotContent<SliderSlotHandleContext>

Slot to change the handlers


label

label: SlotContent<SliderSlotLabelContext>

Slot to change the default labels of the slider

Default Value
({value}: SliderSlotLabelContext) => '' + value

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


structure

structure: SlotContent<SliderContext>

Slot to change the default display of the slider


values

values: number[]

Current slider values

Default Value

[0]


vertical

vertical: boolean

If true is vertically positioned otherwise it is horizontal

Default Value

false


SliderSlotHandleContext

interface

Represents the context for a slider slot handle. This type extends the SliderContext and includes an additional item property of type SliderHandle.

Properties
api

api: object

all the api functions to interact with the widget


directives

directives: SliderDirectives

directives to be used on html elements in the template of the widget or in the slots


item

item: SliderHandle

the handle context


state

state: AngularState<SliderWidget>

The state of the widget. Each property of the state is exposed through an Angular Signal


SliderSlotLabelContext

interface

Represents the context for a slider slot label, extending the base SliderContext with an additional value property.

Properties
api

api: object

all the api functions to interact with the widget


directives

directives: SliderDirectives

directives to be used on html elements in the template of the widget or in the slots


state

state: AngularState<SliderWidget>

The state of the widget. Each property of the state is exposed through an Angular Signal


value

value: number

the value of the handle the label is attached to


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


handle

handle: SlotContent<SliderSlotHandleContext>

Slot to change the handlers


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


label

label: SlotContent<SliderSlotLabelContext>

Slot to change the default labels of the slider

Default Value
({value}: SliderSlotLabelContext) => '' + value

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


structure

structure: SlotContent<SliderContext>

Slot to change the default display of the slider


values

values: number[]

Current slider values

Default Value

[0]


vertical

vertical: boolean

If true is vertically positioned otherwise it is horizontal

Default Value

false


SliderStructureDirective

class

Directive that provides structure for the slider component.

This directive uses a TemplateRef to handle the context of the slider slot.


SliderWidget

type alias

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

Represents a slider widget component.