Components
Loading preview...
Enhanced shadcn/ui slider
npx shadcn@latest add https://21st.dev/r/originui/slider"use client";
import { Label } from "@/components/ui/label";
import { Slider } from "@/components/ui/slider";
import { useState } from "react";
function Component() {
const [value, setValue] = useState([3]);
const emojis = ["😡", "🙁", "😐", "🙂", "😍"];
const labels = ["Awful", "Poor", "Okay", "Good", "Amazing"];
return (
<div className="space-y-3 min-w-[300px]">
<Label>Rate your experience</Label>
<div className="flex items-center gap-2">
<Slider
value={value}
onValueChange={setValue}
min={1}
max={5}
showTooltip
tooltipContent={(value) => labels[value - 1]}
aria-label="Rate your experience"
/>
<span className="text-2xl">{emojis[value[0] - 1]}</span>
</div>
</div>
);
}
export { Component };