"use client"; import * as React from "react"; import { cls } from "../util"; import * as SliderPrimitive from "@radix-ui/react-slider"; import * as TooltipPrimitive from "@radix-ui/react-tooltip"; export interface SliderProps { className?: string; name?: string; disabled?: boolean; orientation?: React.AriaAttributes["aria-orientation"]; dir?: "ltr" | "rtl"; min?: number; max?: number; step?: number; minStepsBetweenThumbs?: number; value?: number[]; defaultValue?: number[]; onValueChange?: (value: number[]) => void; onValueCommit?: (value: number[]) => void; inverted?: boolean; form?: string; size?: "small" | "regular"; } function SliderThumb(props: { props: Omit, "size" | "className">, index: number, hovered: boolean, classes: string }) { return {props.props.value?.[props.index]} ; } const Slider = React.forwardRef< React.ElementRef, SliderProps >(({ className, size = "regular", ...props }, ref) => { const [hovered, setHovered] = React.useState(false); const thumbSizeClasses = size === "small" ? "h-4 w-4" // Smaller size for the thumb : "h-6 w-6"; // Default size return ( setHovered(true)} onMouseLeave={() => setHovered(false)} className={cls( "relative flex w-full touch-none select-none items-center", className )} {...props} > {(props.value ?? [0]).map((_, index) => )} ); }); Slider.displayName = "Slider"; export { Slider };