{
  "name": "slider",
  "type": "registry:ui",
  "dependencies": [
    "@vueuse/core",
    "reka-ui"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "ui/slider/Slider.vue",
      "type": "registry:ui",
      "content": "<script setup lang=\"ts\">\nimport type { SliderRootEmits, SliderRootProps } from \"reka-ui\"\nimport type { HTMLAttributes } from \"vue\"\nimport { reactiveOmit } from \"@vueuse/core\"\nimport { SliderRange, SliderRoot, SliderThumb, SliderTrack, useForwardPropsEmits } from \"reka-ui\"\nimport { cn } from \"@/lib/utils\"\n\nconst props = defineProps<SliderRootProps & { class?: HTMLAttributes[\"class\"] }>()\nconst emits = defineEmits<SliderRootEmits>()\n\nconst delegatedProps = reactiveOmit(props, \"class\")\n\nconst forwarded = useForwardPropsEmits(delegatedProps, emits)\n</script>\n\n<template>\n  <SliderRoot\n    v-slot=\"{ modelValue }\"\n    data-slot=\"slider\"\n    :data-vertical=\"props.orientation === 'vertical' ? '' : undefined\"\n    :class=\"cn(\n      'cn-slider relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:w-auto data-vertical:flex-col',\n      props.class,\n    )\"\n    v-bind=\"forwarded\"\n  >\n    <SliderTrack\n      data-slot=\"slider-track\"\n      :data-horizontal=\"props.orientation !== 'vertical' ? '' : undefined\"\n      :data-vertical=\"props.orientation === 'vertical' ? '' : undefined\"\n      class=\"cn-slider-track relative grow overflow-hidden data-horizontal:w-full data-vertical:h-full\"\n    >\n      <SliderRange\n        data-slot=\"slider-range\"\n        :data-horizontal=\"props.orientation !== 'vertical' ? '' : undefined\"\n        :data-vertical=\"props.orientation === 'vertical' ? '' : undefined\"\n        class=\"cn-slider-range absolute select-none data-horizontal:h-full data-vertical:w-full\"\n      />\n    </SliderTrack>\n\n    <SliderThumb\n      v-for=\"(_, key) in modelValue\"\n      :key=\"key\"\n      data-slot=\"slider-thumb\"\n      :data-vertical=\"props.orientation === 'vertical' ? '' : undefined\"\n      class=\"cn-slider-thumb block shrink-0 select-none disabled:pointer-events-none disabled:opacity-50\"\n    />\n  </SliderRoot>\n</template>\n"
    },
    {
      "path": "ui/slider/index.ts",
      "type": "registry:ui",
      "content": "export { default as Slider } from \"./Slider.vue\"\n"
    }
  ]
}
