{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "slider",
  "dependencies": [
    "@data-slot/slider"
  ],
  "files": [
    {
      "path": "src/components/ui/slider/slider.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype SliderValue = number | [number, number] | string\ntype ThumbAlignment = \"center\" | \"edge\" | \"edge-client-only\"\n\ntype Props = HTMLAttributes<\"div\"> & {\n  defaultValue?: SliderValue\n  min?: number\n  max?: number\n  step?: number\n  largeStep?: number\n  orientation?: \"horizontal\" | \"vertical\"\n  thumbAlignment?: ThumbAlignment\n  disabled?: boolean\n}\n\nconst {\n  class: className,\n  defaultValue,\n  min,\n  max,\n  step,\n  largeStep,\n  orientation = \"horizontal\",\n  thumbAlignment = \"edge\",\n  disabled,\n  ...props\n} = Astro.props\n\nconst serializedDefaultValue = Array.isArray(defaultValue)\n  ? defaultValue.join(\",\")\n  : defaultValue\nconst thumbCount = Array.isArray(defaultValue) ? defaultValue.length : 1\n---\n\n<div\n  data-slot=\"slider\"\n  data-default-value={serializedDefaultValue}\n  data-min={min}\n  data-max={max}\n  data-step={step}\n  data-large-step={largeStep}\n  data-orientation={orientation}\n  data-thumb-alignment={thumbAlignment}\n  data-disabled={disabled}\n  class={cn(\n    \"relative flex touch-none items-center select-none data-disabled:opacity-50 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n    className\n  )}\n  {...props}\n>\n  <div\n    data-slot=\"slider-control\"\n    class=\"relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\"\n  >\n    <div\n      data-slot=\"slider-track\"\n      class=\"bg-muted relative grow overflow-hidden rounded-full select-none data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\"\n    >\n      <div\n        data-slot=\"slider-range\"\n        class=\"bg-primary rounded-full select-none data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\"\n      >\n      </div>\n    </div>\n    {\n      Array.from({ length: thumbCount }).map(() => (\n        <div\n          data-slot=\"slider-thumb\"\n          class=\"border-primary bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] select-none hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50\"\n        />\n      ))\n    }\n  </div>\n</div>\n\n<script>\n  import { create } from \"@data-slot/slider\"\n\n  create()\n</script>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/slider/index.ts",
      "content": "export { default as Slider } from \"./slider.astro\"\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}