Leverage Slider
solanaui/leverage-sliderFreeComponent
A slider for selecting trading leverage with configurable min/max range and step increments.
Live preview
live · rendered by the registry
Rendered by solanaui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://www.solanaui.dev/r/leverage-slider.jsonSource
1"use client";23import React from "react";4import { Label } from "@/components/ui/label";5import { Slider } from "@/components/ui/slider";6import { cn } from "@/lib/utils";78interface LeverageSliderProps {9 min?: number;10 max?: number;11 step?: number;12 value?: number[];13 defaultValue?: number[];14 onValueChange?: (value: number[]) => void;15 className?: string;16}1718const LeverageSlider = ({19 min,20 max,21 step,22 value,23 defaultValue,24 onValueChange,25 className,26}: LeverageSliderProps) => {27 const [displayValue, setDisplayValue] = React.useState(28 defaultValue?.[0] ?? min ?? 0,29 );3031 const currentValue = value?.[0] ?? displayValue;3233 const handleValueChange = (newValue: number[]) => {34 setDisplayValue(newValue[0]);35 onValueChange?.(newValue);36 };3738 const handleMinClick = () => {39 if (min !== undefined) {40 handleValueChange([min]);41 }42 };4344 const handleMaxClick = () => {45 if (max !== undefined) {46 handleValueChange([max]);47 }48 };4950 return (51 <div className={cn("w-full space-y-2", className)}>52 <div className="flex items-center justify-between text-sm">53 <Label className="text-muted-foreground">Leverage</Label>54 <span className="font-medium">{currentValue}x</span>55 </div>56 <Slider57 min={min}58 max={max}59 step={step}60 value={value ?? [displayValue]}61 onValueChange={handleValueChange}62 />63 {(min !== undefined || max !== undefined) && (64 <div className="flex mt-2 text-xs text-muted-foreground">65 {min !== undefined && (66 <button67 type="button"68 onClick={handleMinClick}69 className="hover:text-foreground transition-colors cursor-pointer"70 >71 {min}x72 </button>73 )}74 {max !== undefined && (75 <button76 type="button"77 onClick={handleMaxClick}78 className="ml-auto hover:text-foreground transition-colors cursor-pointer"79 >80 {max}x81 </button>82 )}83 </div>84 )}85 </div>86 );87};8889export type { LeverageSliderProps };90export { LeverageSlider };
What it pulls in
Other registry items
Files it writes
More from solanaui
All 31 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Action Boxaction-box | solanaui | Components | Free | no deps | |
| Activity Feedactivity-feed | solanaui | Components | Free | 1 dep | |
| Address Displayaddress-display | solanaui | Components | Free | 1 dep | |
| Auth Cardauth-card | solanaui | Components | Free | no deps | |
| Health Barhealth-bar | solanaui | Components | Free | no deps | |
| NFT Cardnft-card | solanaui | Components | Free | no deps | |
| Order Bookorder-book | solanaui | Components | Free | no deps | |
| Order Formorder-form | solanaui | Components | Free | 1 dep |
