slider
fulldev-ui/sliderFreeComponent
fulldev/ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by fulldev/ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.full.dev/r/slider.jsonSource
1---2import type { HTMLAttributes } from "astro/types"34import { cn } from "@/lib/utils"56type SliderValue = number | [number, number] | string7type ThumbAlignment = "center" | "edge" | "edge-client-only"89type Props = HTMLAttributes<"div"> & {10 defaultValue?: SliderValue11 min?: number12 max?: number13 step?: number14 largeStep?: number15 orientation?: "horizontal" | "vertical"16 thumbAlignment?: ThumbAlignment17 disabled?: boolean18}1920const {21 class: className,22 defaultValue,23 min,24 max,25 step,26 largeStep,27 orientation = "horizontal",28 thumbAlignment = "edge",29 disabled,30 ...props31} = Astro.props3233const serializedDefaultValue = Array.isArray(defaultValue)34 ? defaultValue.join(",")35 : defaultValue36const thumbCount = Array.isArray(defaultValue) ? defaultValue.length : 137---3839<div40 data-slot="slider"41 data-default-value={serializedDefaultValue}42 data-min={min}43 data-max={max}44 data-step={step}45 data-large-step={largeStep}46 data-orientation={orientation}47 data-thumb-alignment={thumbAlignment}48 data-disabled={disabled}49 class={cn(50 "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",51 className52 )}53 {...props}54>55 <div56 data-slot="slider-control"57 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"58 >59 <div60 data-slot="slider-track"61 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"62 >63 <div64 data-slot="slider-range"65 class="bg-primary rounded-full select-none data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full"66 >67 </div>68 </div>69 {70 Array.from({ length: thumbCount }).map(() => (71 <div72 data-slot="slider-thumb"73 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"74// … truncated
What it pulls in
npm packages
Files it writes
More from fulldev/ui
All 144 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | fulldev/ui | Components | Free | 1 dep · 5 files | |
| alertalert | fulldev/ui | Components | Free | no deps · 5 files | |
| alert-dialogalert-dialog | fulldev/ui | Components | Free | 1 dep · 13 files | |
| avataravatar | fulldev/ui | Components | Free | no deps · 7 files | |
| badgebadge | fulldev/ui | Components | Free | no deps · 3 files | |
| bannerbanner | fulldev/ui | Components | Free | no deps · 3 files | |
| breadcrumbbreadcrumb | fulldev/ui | Components | Free | no deps · 8 files | |
| buttonbutton | fulldev/ui | Components | Free | no deps · 3 files |
