Twitter2.4k

Slider

An input where the user selects a value from within a given range.

Installation

ng g @spartan-ng/cli:ui slider

Usage

import { HlmSliderImports } from '@spartan-ng/helm/slider';
<hlm-slider />

Examples

Range

Use an array with two values for a range slider.

Multiple Thumbs

Use an array with multiple values for multiple thumbs.

Vertical

Use orientation="vertical" for a vertical slider.

Disabled

Use the disabled input to disable the slider.

Ticks

0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100

Ticks with label

0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100

Prevent thumb overlap

Use minStepsBetweenThumbs to avoid thumbs with equal values.

Draggable Range

Use draggableRange to enable moving all thumbs together when dragging by the selected range.

Draggable Range Only

Use draggableRangeOnly in pair with draggableRange to allow only dragging the range.

Form

Set your speaker volume.

Brain API

BrnSliderRange

Selector: [brnSliderRange]

BrnSliderThumb

Selector: [brnSliderThumb]

BrnSliderTick

Selector: [brnSliderTick]

BrnSliderTrack

Selector: [brnSliderTrack]

BrnSlider

Selector: [brnSlider]

ExportAs: brnSlider

Inputs

PropTypeDefaultDescription
id string `brn-slider-${++nextId}` Unique identifier for the slider element. Auto-generated if not provided.
aria-label string | null null Accessibility label for the slider. Forwarded to all thumbs.
aria-labelledby string | null null ID of the element that labels this slider for accessibility. Forwarded to all thumbs.
min number 0 Minimum allowed slider value.
max number 100 Maximum allowed slider value.
step number 1 Step increment used when changing values.
minStepsBetweenThumbs number 0 Minimum number of steps required between thumbs in a range slider.
disabled boolean false Whether the slider is disabled.
inverted boolean false Whether the slider direction is inverted.
orientation 'horizontal' | 'vertical' horizontal Slider orientation.
showTicks boolean false Whether tick marks should be displayed.
maxTicks number 25 Maximum number of ticks to render. Excess ticks are evenly distributed.
tickLabelInterval number 2 Interval at which tick labels are shown. A value of `2` shows a label every second tick.
formatTick (tick: number) => string (tick) => tick.toString() Defines how the tick should be displayed in the UI.
draggableRange boolean false Whether dragging the selected range should move all thumbs together.
draggableRangeOnly boolean false Whether only dragging the range should work (overrides normal track clicks).
value number[] [] The current slider value(s). For single-thumb sliders, this contains one value. For range sliders, values are kept sorted in ascending order.

Outputs

PropTypeDefaultDescription
valueChange number[] - Emits when the value changes.

Helm API

HlmSlider

Selector: hlm-slider, brn-slider [hlm]

Sonner Skeleton