Skip to content

Slider

beta

The Slider component allows users to select a single value or a range by dragging thumbs along a track. Built on Radix UI Slider with custom styling.

Severity Slider

A specialized variant with a gradient track and two thumbs for defining severity thresholds.

Usage

import { Slider, SeveritySlider } from '@harnessio/ui/components'
// Pipeline timeout with tooltip
<Slider
label="Pipeline timeout"
description="Maximum execution time in minutes"
showValue
defaultValue={[30]}
min={5}
max={120}
step={5}
formatValue={(v) => v[0] + 'm'}
onValueChange={(value) => console.log(value)}
/>
// Resource allocation range
<Slider
label="CPU allocation"
description="Min and max cores for build containers"
showValue
defaultValue={[2, 8]}
min={1}
max={16}
/>
// Deployment rollout with min-max labels
<Slider
label="Deployment rollout"
caption="min-max"
minLabel="0%"
maxLabel="100%"
defaultValue={[25]}
/>
// Alert severity thresholds
<SeveritySlider
label="Alert thresholds"
defaultValue={[25, 75]}
onValueChange={(value) => console.log(value)}
/>

API Reference — Slider

Prop
Required
Default
Type
labelfalsestring
captionfalse'description''description' | 'min-max'
descriptionfalsestring
minLabelfalse'0'string
maxLabelfalse'100'string
showValuefalsefalseboolean
formatValuefalse(value: number[]) => string
defaultValuefalsenumber[]
valuefalsenumber[]
onValueChangefalse(value: number[]) => void
onValueCommitfalse(value: number[]) => void
minfalse0number
maxfalse100number
stepfalse1number
disabledfalsefalseboolean
namefalsestring
classNamefalsestring

API Reference — SeveritySlider

Prop
Required
Default
Type
labelfalsestring
labelsfalse['Low', 'Medium', 'High', 'Critical']string[]
defaultValuefalse[20, 70][number, number]
valuefalse[number, number]
onValueChangefalse(value: [number, number]) => void
onValueCommitfalse(value: [number, number]) => void
minfalse0number
maxfalse100number
stepfalse1number
disabledfalsefalseboolean
classNamefalsestring