{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "slider",
  "title": "Slider",
  "description": "An input where the user selects a value from within a given range.",
  "dependencies": [
    "@base-ui/react",
    "clsx",
    "tailwind-merge"
  ],
  "registryDependencies": [
    "https://optics.agusmayol.com.ar/r/button.json",
    "https://optics.agusmayol.com.ar/r/utils.json"
  ],
  "files": [
    {
      "path": "registry/optics/slider.jsx",
      "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\nimport { buttonVariants } from \"@/registry/optics/button\";\nimport { cn } from \"@/lib/utils\";\n\nfunction Slider({\n\tclassName = \"\",\n\tdefaultValue = undefined,\n\tvalue = undefined,\n\tmin = 0,\n\tmax = 100,\n\t...props\n}) {\n\tconst _values = React.useMemo(\n\t\t() =>\n\t\t\tArray.isArray(value)\n\t\t\t\t? value\n\t\t\t\t: Array.isArray(defaultValue)\n\t\t\t\t\t? defaultValue\n\t\t\t\t\t: [min, max],\n\t\t[value, defaultValue, min, max],\n\t);\n\n\treturn (\n\t\t<SliderPrimitive.Root\n\t\t\tclassName=\"w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40\"\n\t\t\tdata-slot=\"slider\"\n\t\t\tdefaultValue={defaultValue}\n\t\t\tvalue={value}\n\t\t\tmin={min}\n\t\t\tmax={max}\n\t\t\tthumbAlignment=\"edge\"\n\t\t\t{...props}\n\t\t>\n\t\t\t<SliderPrimitive.Control\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col data-[orientation=vertical]:min-h-40\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<SliderPrimitive.Track\n\t\t\t\t\tdata-slot=\"slider-track\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"bg-muted relative grow select-none overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\",\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<SliderPrimitive.Indicator\n\t\t\t\t\t\tdata-slot=\"slider-range\"\n\t\t\t\t\t\tclassName=\"bg-primary absolute select-none data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\"\n\t\t\t\t\t/>\n\t\t\t\t</SliderPrimitive.Track>\n\t\t\t\t{Array.from({ length: _values.length }, (_, index) => (\n\t\t\t\t\t<SliderPrimitive.Thumb\n\t\t\t\t\t\tdata-slot=\"slider-thumb\"\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"border-primary ring-ring/30 size-4 border bg-white shadow-sm hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden block shrink-0 select-none disabled:pointer-events-none disabled:opacity-50\",\n\t\t\t\t\t\t\tbuttonVariants({\n\t\t\t\t\t\t\t\tvariant: \"raised\",\n\t\t\t\t\t\t\t\tsize: \"icon-xs\",\n\t\t\t\t\t\t\t\tanimation: \"none\",\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\"rounded-full squircle-none transition-[color,background-color,border-color,box-shadow] duration-150 motion-reduce:transition-none\",\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</SliderPrimitive.Control>\n\t\t</SliderPrimitive.Root>\n\t);\n}\n\nSlider.displayName = \"Slider\";\n\nexport { Slider };\n",
      "type": "registry:component",
      "target": "components/optics/slider.jsx"
    }
  ],
  "type": "registry:component"
}