Slider

PreviousNext

Windows 95 styled slider component

Docs
97cnui

Preview

Loading preview…
components/97cn/slider.tsx
"use client"

import * as React from "react"
import * as SliderPrimitive from "@radix-ui/react-slider"
import { cn } from "@/lib/utils"

const Win95Slider = React.forwardRef<
  React.ElementRef<typeof SliderPrimitive.Root>,
  React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>
>(({ className, ...props }, ref) => (
  <SliderPrimitive.Root
    ref={ref}
    className={cn("relative flex w-full touch-none select-none items-center", className)}
    {...props}
  >
    <SliderPrimitive.Track className="relative h-2 w-full grow overflow-hidden bg-win95-white win95-sunken">
      <SliderPrimitive.Range className="absolute h-full bg-win95-highlight" />
    </SliderPrimitive.Track>
    <SliderPrimitive.Thumb className="block h-4 w-4 bg-win95-button-face win95-raised focus:outline-none focus-visible:ring-1 focus-visible:ring-win95-black disabled:pointer-events-none disabled:opacity-50" />
  </SliderPrimitive.Root>
))
Win95Slider.displayName = SliderPrimitive.Root.displayName

export { Win95Slider }

Installation

npx shadcn@latest add @97cn/slider

Usage

import { Slider } from "@/components/ui/slider"
<Slider />