# Slider Component API A slider control for selecting values within a range. --- ## Installation ```toml # Cargo.toml [dependencies] shadcn-ui-leptos-slider = "0.7" ``` ```rust use shadcn_ui_leptos_slider::Slider; ``` --- ## Component API ### Slider | Prop | Type | Default | Description | |------|------|---------|-------------| | `value` | `Signal>` | **Required** | Current value(s) | | `on_change` | `Option>>` | `None` | Change handler | | `min` | `MaybeProp` | `0` | Minimum value | | `max` | `MaybeProp` | `100` | Maximum value | | `step` | `MaybeProp` | `1` | Step increment | | `disabled` | `Signal` | `false` | Disable slider | | `class` | `MaybeProp` | `None` | Additional CSS classes | --- ## Usage Examples ### Basic Slider ```rust use leptos::prelude::*; use shadcn_ui_leptos_slider::Slider; #[component] pub fn MyComponent() -> impl IntoView { let (value, set_value) = signal(vec![50.0]); view! {

{format!("Value: {}", value.get()[0])}

} } ``` --- ## CSS Classes ```css .slider-root { relative flex w-full touch-none select-none items-center } .slider-track { relative h-2 w-full grow overflow-hidden rounded-full bg-secondary } .slider-fill { absolute h-full bg-primary } .slider-thumb { block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 } ``` --- ## Accessibility ### Keyboard Navigation | Key | Action | |-----|--------| | **Arrow Right** | Increase value | | **Arrow Left** | Decrease value | | **Home** | Minimum value | | **End** | Maximum value | --- ## TypeScript API ```typescript interface SliderProps { value: number[]; onChange?: (value: number[]) => void; min?: number; max?: number; step?: number; disabled?: boolean; className?: string; } export const Slider: React.FC; ``` --- *Source: [packages/leptos/slider/src/default.rs](https://github.com/yourusername/leptos-shadcn-ui/blob/main/packages/leptos/slider/src/default.rs)*