DOCS
v0.4

Components / Slider

Slider

Range slider with floating tooltip, filled track, spring-animated thumb, and simple variant.

formsv0.1.0

Playground

Examples

Default (tooltip + fill)
<cg-slider label="Volume" value="60" unit="%" style="max-width: 400px;"></cg-slider>
Toggle (Apple style)
<cg-slider variant="toggle" label="Volume" value="60" unit="%" style="max-width: 400px;"></cg-slider>
Simple
<cg-slider variant="simple" label="Brightness" value="40" unit="%" style="max-width: 400px;"></cg-slider>
With range labels
<cg-slider label="Temperature" value="50" min="0" max="100" showRange unit="°" style="max-width: 400px;"></cg-slider>
Sizes
<cg-stack gap="md" style="max-width: 400px;"><cg-slider size="sm" label="Small" value="30"></cg-slider><cg-slider size="md" label="Medium" value="50"></cg-slider><cg-slider size="lg" label="Large" value="70"></cg-slider></cg-stack>
States
<cg-stack gap="md" style="max-width: 400px;"><cg-slider label="Error" error value="25"></cg-slider><cg-slider label="Success" success value="90"></cg-slider><cg-slider label="Disabled" disabled value="40"></cg-slider></cg-stack>

Import

import { CgSlider } from '@cognivo/components';
// Or tree-shake: import '@cognivo/components/cg-slider';

Per-component imports ship only that component (~8 kB gzip).

API Reference

PropTypeDefaultDescription
variant"default" | "simple" | "toggle""default"Default = thin track + tooltip; simple = plain; toggle = thick pill track
labelstring""Label text above the slider
valuenumber50Current value
minnumber0Minimum value
maxnumber100Maximum value
stepnumber1Step increment
size"sm" | "md" | "lg""md"Track and thumb size
disabledbooleanfalseDisable interaction
showValuebooleantrueShow current value in header
showTooltipbooleantrueShow floating tooltip on hover/drag
showRangebooleanfalseShow min/max labels below the track
unitstring""Unit suffix (e.g. "%", "px")

Events

EventDetailDescription
cg-change{value: number}On value change