Switch

Compact and standard. The knob travels on a snappy spring; the track fills with the accent.

Features

  • Compact and standard sizes.
  • The knob widens while pressed and travels on the snap spring.

Use it for

  • Settings that apply at once.

Installation

  1. Get runets.
    git clone https://github.com/ziyam-khan/runets
  2. Copy these files into your project, keeping their folders.
  3. Install what they use.
    pnpm add react @base-ui/react motion lucide-react
  4. Load the styles once. Bring your own base tokens, or use runets’ default theme.
    import 'runets/styles/theme.css'
    import 'runets/styles/kit.css'

Usage

import { Switch } from 'runets'

<Switch label="Sync" checked={on} onCheckedChange={setOn} size="compact" />

API

PropTypeWhat it does
checkedbooleanOn or off.
onCheckedChange(v) => voidCalled on toggle.
size'compact' | 'standard'Size.
labelstringVisible label.

Accessibility

Source

The code is in src/kit/controls.tsx in runets, MIT licensed.