121
GitHub
Forms

Switch

Toggles a single setting on or off.

FrameworksAstro · React · Elements

Registry commandlumen add Switch

InteractionNative markup

01

See it in context

Preview

02

Copy a working example

Usage

astro
---
import { Switch } from '@santi020k/lumen-astro'
---

<div style="display: grid; gap: 1rem;">
  <label style="display: flex; align-items: center; gap: 0.5rem;">
    <Switch name="notifications" checked /> Email notifications
  </label>
  <label style="display: flex; align-items: center; gap: 0.5rem;">
    <Switch name="digest" /> Weekly digest
  </label>
  <label style="display: flex; align-items: center; gap: 0.5rem; color: hsl(var(--ink-muted));">
    <Switch disabled name="beta" /> Beta features (disabled)
  </label>
</div>
---
import { Switch } from '@santi020k/lumen-astro'
---

<div style="display: grid; gap: 1rem;">
  <label style="display: flex; align-items: center; gap: 0.5rem;">
    <Switch name="notifications" checked /> Email notifications
  </label>
  <label style="display: flex; align-items: center; gap: 0.5rem;">
    <Switch name="digest" /> Weekly digest
  </label>
  <label style="display: flex; align-items: center; gap: 0.5rem; color: hsl(var(--ink-muted));">
    <Switch disabled name="beta" /> Beta features (disabled)
  </label>
</div>
03

Choose your target

Add this component

Choose the package for your runtime. All adapters share the Lumen stylesheet. Use the matching registry command when you want a local wrapper for that framework.

bash@santi020k/lumen-astro
pnpm add @santi020k/lumen-astro
pnpm add @santi020k/lumen-astro
bashAstro wrapper
lumen add Switch
lumen add Switch

API reference

Lumen-specific props and runtime attributes for the Astro primitive. React props follow the same names; Elements use equivalent kebab-case attributes where custom elements expose them.

AttributeValuesDefaultDescription
checked, defaultCheckedboolean-Uses the native checkbox checked state.
roleARIA role"switch"Sets the switch role on the checkbox input.
type"checkbox""checkbox"Fixed by the component.
class, classNamestring""Merges custom classes with the generated ui-* root classes.
...native attributesHTML attributes-Forwards standard attributes to the root element unless the component consumes them.