{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "slider",
  "title": "Slider",
  "description": "Draggable control for selecting a value.",
  "dependencies": [
    "@radix-ui/react-slider"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/slider.tsx",
      "content": "\"use client\";\n\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Slider = React.forwardRef<\n  React.ComponentRef<typeof SliderPrimitive.Root>,\n  React.ComponentProps<typeof SliderPrimitive.Root>\n>(function Slider(\n  { className, defaultValue, value, min = 0, max = 100, ...props },\n  ref\n) {\n  const _values = React.useMemo(\n    () =>\n      Array.isArray(value)\n        ? value\n        : Array.isArray(defaultValue)\n          ? defaultValue\n          : [min, max],\n    [value, defaultValue, min, max]\n  );\n\n  return (\n    <SliderPrimitive.Root\n      aria-disabled={(props as any).disabled ? true : undefined}\n      aria-orientation={(props as any).orientation}\n      className={cn(\n        \"relative flex w-full touch-none select-none items-center data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col data-disabled:opacity-50\",\n        className\n      )}\n      data-slot=\"slider\"\n      defaultValue={defaultValue}\n      max={max}\n      min={min}\n      ref={ref}\n      value={value}\n      {...props}\n    >\n      <SliderPrimitive.Track\n        className={cn(\n          \"relative grow overflow-hidden rounded-full bg-muted data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-1.5\"\n        )}\n        data-slot=\"slider-track\"\n      >\n        <SliderPrimitive.Range\n          className={cn(\n            \"absolute bg-primary data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\"\n          )}\n          data-slot=\"slider-range\"\n        />\n      </SliderPrimitive.Track>\n      {Array.from({ length: _values.length }, (_, index) => (\n        <SliderPrimitive.Thumb\n          className=\"block size-4 shrink-0 touch-manipulation rounded-full border border-primary bg-white p-2 shadow-sm ring-ring/50 transition-[color,box-shadow] hover:ring-4 focus-visible:outline-hidden focus-visible:ring-4 disabled:pointer-events-none data-disabled:opacity-50\"\n          data-slot=\"slider-thumb\"\n          key={index}\n        />\n      ))}\n    </SliderPrimitive.Root>\n  );\n});\n\nexport { Slider };\n",
      "type": "registry:ui"
    }
  ],
  "meta": {
    "apiRef": "https://www.radix-ui.com/docs/primitives/components/slider#api-reference"
  },
  "docs": "https://www.radix-ui.com/primitives/docs/components/slider",
  "categories": [
    "component"
  ],
  "type": "registry:ui"
}