bash
npm install @hua-labs/huatsx
import { Toggle } from "@hua-labs/hua";tsx
<Toggle label="Notifications" />
<Toggle label="Favorite" icon={<Star />} />
<Toggle icon={<Heart />} />: OFF
tsx
const [pressed, setPressed] = useState(false);
<Toggle
pressed={pressed}
onPressedChange={setPressed}
label="Dark Mode"
icon={pressed ? <Moon /> : <Sun />}
/>tsx
<Toggle variant="default" label="Default" />
<Toggle variant="outline" label="Outline" />
<Toggle variant="filled" label="Filled" />
<Toggle variant="ghost" label="Ghost" />tsx
<Toggle size="sm" label="Small" />
<Toggle size="md" label="Medium" />
<Toggle size="lg" label="Large" />tsx
<Toggle
label="Receive Notifications"
description="Get updates via email"
icon={<Bell />}
/>variant | "default" | "outline" | "filled" | "ghost" | "glass" | "default" | Toggle button style variant |
size | "sm" | "md" | "lg" | "md" | Toggle button size |
pressed | boolean | - | Controlled pressed state |
onPressedChange | (pressed: boolean) => void | - | Callback when pressed state changes |
label | string | - | Toggle label text |
description | string | - | Toggle description text |
icon | React.ReactNode | - | Icon element to display |
iconPosition | "left" | "right" | "left" | Icon position relative to label |
- •Keyboard Support: Toggle with Space or Enter key
- •aria-pressed: Pressed state is communicated to assistive technology
- •Focus Indicator: Clear focus ring for keyboard navigation