Skip to content

Slider

Range input component with single and dual-thumb modes.

Demo

Default

60

Range (dual thumb)

200 – 800

With steps

50

Disabled

40

Vertical

75

Props

PropTypeDefaultDescription
modelValuenumber | [number, number]0Value (v-model)
minnumber0Minimum
maxnumber100Maximum
stepnumber1Step increment
rangebooleanfalseEnable dual-thumb range
orientation'horizontal' | 'vertical''horizontal'Direction
disabledbooleanfalseDisabled state
labelstringAccessible label
showValuebooleanfalseShow current value

Events

EventPayloadDescription
update:modelValuenumber | [number, number]Value changed

Usage

Basic

vue
<script setup>
import { ref } from 'vue';
import { GTSlider } from '@grundtone/vue';

const volume = ref(60);
</script>

<template>
  <GTSlider v-model="volume" label="Volumen" show-value />
</template>

Range

vue
<script setup>
import { ref } from 'vue';
import { GTSlider } from '@grundtone/vue';

const price = ref<[number, number]>([200, 800]);
</script>

<template>
  <GTSlider
    v-model="price"
    :min="0"
    :max="1000"
    :step="50"
    range
    label="Pris (kr)"
    show-value
  />
</template>

CSS classes

See Design System Slider reference for all CSS classes.