Skip to content

Range

A styled <input type="range"> slider with a custom track and thumb that match the library's color scheme.

Basic usage

Value: 60

Tailwind v4
vue
<script setup>
import { ref } from 'vue'
const vol = ref(60)
</script>

<template>
  <Range v-model="vol" label="Volume" />
</template>

Custom min, max, step

Tailwind v4
vue
<Range v-model="opacity" label="Opacity" :min="0" :max="100" :step="10" />

Fine step (step=0.5)

Tailwind v4
vue
<Range v-model="fine" label="Temperature" :min="0" :max="50" :step="0.5" />

Hide value display

Tailwind v4
vue
<Range v-model="vol" label="Volume" :show-value="false" />

Disabled

Tailwind v4
vue
<Range :model-value="40" label="Locked" disabled />

Props

PropTypeDefaultDescription
modelValuenumberCurrent slider value
minnumber0Minimum value
maxnumber100Maximum value
stepnumber1Step increment
labelstringLabel rendered above the slider
showValuebooleantrueWhether to display the current value next to the label
disabledbooleanfalseDisables interaction

Emits

EventPayloadDescription
update:modelValuenumberNew numeric value as the thumb moves

Private — Jetpack Labs internal use only