Skip to main content
🏠FormSliderVersion: 2.0.0-beta.5

Slider

Slider is a form element with which users can set a value by dragging a cursor along a bar. It uses a knob or lever moved horizontally to control a variable, such as volume on a radio or brightness on a screen.

Continuous slider

Continuous slider allow users to select a value along a subjective range.

The default slider has a minimum value of 0, a maximum value of 100, a step value of 1 and a handle value of 0.

<QtmSlider></QtmSlider>
<QtmSlider min={0} max={100} step={1} value={0}></QtmSlider>

Sizes

The slider is available in three sizes to cater for the diverse range of use cases and devices that our business uses. By default the slider is medium.

Small
Medium
Large
<QtmSlider size="small" value={50}></QtmSlider>
<QtmSlider size="medium" value={50}></QtmSlider>
<QtmSlider size="large" value={50}></QtmSlider>

Colors

By default, the sliders is emphasized (primary theme). Providing a visual prominence. For visual components where you don’t want to emphasize the slider component, the neutral theme is more appropriate for this deprioritization its focus on the screen.

Primary
Neutral
<QtmSlider color="primary" value={50}></QtmSlider>
<QtmSlider color="neutral" value={50}></QtmSlider>

Disabled

Primary
Neutral
<QtmSlider color="primary" disabled value={50}></QtmSlider>
<QtmSlider color="neutral" disabled value={50}></QtmSlider>

Label, Caption and Metric

The slider can have a label a caption and a metric label respectively with attributes label caption and has-metric

<QtmSlider label="Label" caption="Caption" value={50} hasMetric></QtmSlider>

Discrete slider

Discrete slider can be adjusted to a specific value by referencing its value indicator. You can generate a mark for each step with marks=.

<QtmSlider marks hasMetric value={50} step={10} />

Small steps

You can change the default step increment.

<QtmSlider
marks
step={0.00000001}
min={-0.00000005}
max={0.0000001}
hasMetric
></QtmSlider>

Custom marks

You can restrict the marks to those provided with the marks prop.

A mark object passed through the marks prop must have a value. It can be visible or invisble. It can be main one or secondary one. And it can be with or without a legend label.

const marks = [
{
value:0,
label:"0°C",
main: true,
visible: true
},
{
value:10,
label:"10°C",
},
{
value:50,
label:"50°C",
main: true,
},
{
value: 90,
label:"90°C",
},
{
value:100,
label:"100°C",
main: true,
},
]
<QtmSlider marks={marks} hasMetric value={50}></QtmSlider>

Restricted values

You can restrict the selectable values to those provided with the marks prop with step=.

const marks = [
{
value:0,
label:"0°C",
},
{
value:10,
label:"10°C",
},
{
value:50,
label:"50°C",
},
{
value: 90,
label:"90°C",
},
{
value:100,
label:"100°C",
},
]
<QtmSlider marks={marks} step={null} hasMetric value={50}></QtmSlider>

Legend Position

You can put the mark labels on top or bottom with the legend-position property.

<QtmSlider marks={marks} hasMetric value={50} legendPosition="top"></QtmSlider>

Two Handles

The slider can be used to set the start and end of a slider range by supplying an array of values to the value prop.

<QtmSlider value={[10, 50]} hasMetric></QtmSlider>

With marks

<QtmSlider value={[10, 50]} hasMetric marks step={10}></QtmSlider>

API

QtmSlider

PropertyTypeDefaultDescription
anchorPointnumberThe starting value of the slider having one handle. By default, the anchor point value is equal to the min value of slider.
captionstring''Slider caption
color"neutral" | "primary"'primary'Set slider color
disabledbooleanfalseIf true, the component is disabled.
formatMetric(value: SliderValue) => stringnullFunction to format the slider metric.
hasMetricbooleanfalseIf true, the component has a metric to display its current value.
labelstring''Slider label
legendPosition"bottom" | "top"'bottom'Position of sliders legends with relation to sliders range. Can be on top or bottom of the slider
marksIMarkProp[] | booleanIf true the marks are auto generated and displayed for each step. An array of marks can also be passed as parameter to generate custom marks. If step prop is null, it indicates where slider can move on.
maxnumber100The maximum allowed value of the slider. Should not be equal to min.
minnumber0The minimum allowed value of the slider. Should not be equal to max.
size"large" | "medium" | "small"'medium'The size of the slider
stepnumber1The granularity with which the slider can step through values. (A "discrete" slider.) The min prop serves as the origin for the valid values. When step is null, the handle can only be slid onto marks provided with the marks prop.
valuenumber | number[]0The value of the slide. The value has type number, that means the slider has one handle. When the value has a range [minValue, maxValue], that means the slider has two handles
EventTypeDescription
onValueChangedCustomEvent<number | number[]>Callback fired when a handle is moved or when slider range is clicked. function(event: object) => void You can pull out the collapsed state by accessing event.detail ( number| number[])