tapcn
Components

Slider

A range slider with drag support for selecting a value within a range.

Value: 40

Slider

A slider component that allows users to select a value within a specified range by dragging a thumb control. Supports customizable min, max, and step values.

Installation

npx @tapcn/cli add slider

Or using shadcn directly:

npx shadcn@latest add https://tapcn.vercel.app/r/slider.json

Usage

import { useState } from 'react';
import { Slider } from '~/components/ui/slider';

export function Example() {
  const [value, setValue] = useState(50);

  return <Slider value={value} onValueChange={setValue} />;
}

With label and value display

import { View } from 'react-native';
import { Text } from '~/components/ui/text';

export function SliderWithLabel() {
  const [volume, setVolume] = useState(75);

  return (
    <View className="gap-2">
      <View className="flex-row justify-between">
        <Text className="text-sm font-medium">Volume</Text>
        <Text className="text-sm text-muted-foreground">{volume}%</Text>
      </View>
      <Slider value={volume} onValueChange={setVolume} />
    </View>
  );
}

Custom range

export function CustomRangeSlider() {
  const [temperature, setTemperature] = useState(72);

  return (
    <View className="gap-2">
      <Text className="text-sm font-medium">Temperature: {temperature}F</Text>
      <Slider
        value={temperature}
        onValueChange={setTemperature}
        min={60}
        max={90}
        step={1}
      />
    </View>
  );
}

With steps

export function SteppedSlider() {
  const [rating, setRating] = useState(3);

  return (
    <View className="gap-2">
      <Text className="text-sm font-medium">Rating: {rating}/5</Text>
      <Slider
        value={rating}
        onValueChange={setRating}
        min={1}
        max={5}
        step={1}
      />
    </View>
  );
}

Props

PropTypeDefaultDescription
valuenumber0The current slider value
onValueChange(value: number) => void--Callback when the value changes
minnumber0The minimum value
maxnumber100The maximum value
stepnumber1The step increment
disabledbooleanfalseWhether the slider is disabled
classNamestring--Additional NativeWind classes

Dependencies

No component dependencies. Uses gesture handling for drag support.

On this page