Slider/slider-settings-

PreviousNext

A slider/slider-settings- example

Docs
shadcnblocksblock

Preview

Loading preview…
code/example/slider/slider-settings-4.tsx
"use client";

import { GaugeIcon } from "lucide-react";
import { useState } from "react";

import { Label } from "@/components/ui/label";
import { Slider } from "@/components/ui/slider";

export const title = "Speed Control";

const Example = () => {
  const [value, setValue] = useState([1]);

  const speedLabels = ["Slow", "Normal", "Fast", "Very Fast"];

  return (
    <div className="flex w-full max-w-md flex-col gap-2">
      <div className="flex items-center justify-between">
        <div className="flex items-center gap-2">
          <GaugeIcon className="size-4" />
          <Label htmlFor="slider">Speed</Label>
        </div>
        <span className="text-sm text-muted-foreground">
          {speedLabels[value[0]]}
        </span>
      </div>
      <Slider
        id="slider"
        max={3}
        min={0}
        onValueChange={setValue}
        step={1}
        value={value}
      />
      <div className="flex items-center justify-between text-xs text-muted-foreground">
        {speedLabels.map((label) => (
          <span key={label}>{label}</span>
        ))}
      </div>
    </div>
  );
};

export default Example;

Installation

npx shadcn@latest add @shadcnblocks/slider-slider-settings-4

Usage

import { SliderSliderSettings4 } from "@/components/slider-slider-settings-4"
<SliderSliderSettings4 />