Documentation
Actions
ToggleGroup
Coordinates related pressed-state controls with shared keyboard navigation.
01
See it in context
Preview
02
Copy a working example
Usage
Astro examples assume UIPrimitives is mounted once in your root layout. Do not add the runtime next to each component instance.
---
import {
Toggle,
ToggleGroup
} from '@santi020k/lumen-astro'
---
<ToggleGroup aria-label="Interval">
<Toggle>Day</Toggle>
<Toggle pressed>Week</Toggle>
<Toggle>Month</Toggle>
</ToggleGroup>---
import {
Toggle,
ToggleGroup
} from '@santi020k/lumen-astro'
---
<ToggleGroup aria-label="Interval">
<Toggle>Day</Toggle>
<Toggle pressed>Week</Toggle>
<Toggle>Month</Toggle>
</ToggleGroup>import { Toggle, ToggleGroup } from '@santi020k/lumen-react'
export const Example = () => (
<>
<ToggleGroup aria-label="Interval">
<Toggle>Day</Toggle>
<Toggle pressed>Week</Toggle>
<Toggle>Month</Toggle>
</ToggleGroup>
</>
)import { Toggle, ToggleGroup } from '@santi020k/lumen-react'
export const Example = () => (
<>
<ToggleGroup aria-label="Interval">
<Toggle>Day</Toggle>
<Toggle pressed>Week</Toggle>
<Toggle>Month</Toggle>
</ToggleGroup>
</>
)<script type="module">
import { defineLumenElements } from '@santi020k/lumen-elements/define'
defineLumenElements()
</script>
<lumen-toggle-group aria-label="Interval">
<lumen-toggle>Day</lumen-toggle>
<lumen-toggle pressed>Week</lumen-toggle>
<lumen-toggle>Month</lumen-toggle>
</lumen-toggle-group><script type="module">
import { defineLumenElements } from '@santi020k/lumen-elements/define'
defineLumenElements()
</script>
<lumen-toggle-group aria-label="Interval">
<lumen-toggle>Day</lumen-toggle>
<lumen-toggle pressed>Week</lumen-toggle>
<lumen-toggle>Month</lumen-toggle>
</lumen-toggle-group>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.
pnpm add @santi020k/lumen-astropnpm add @santi020k/lumen-astrolumen add ToggleGrouplumen add ToggleGrouppnpm add @santi020k/lumen-reactpnpm add @santi020k/lumen-reactlumen add ToggleGroup --target reactlumen add ToggleGroup --target reactpnpm add @santi020k/lumen-elementspnpm add @santi020k/lumen-elementslumen add ToggleGroup --target elementslumen add ToggleGroup --target elementsAPI 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.
| Attribute | Values | Default | Description |
|---|---|---|---|
| data-ui-toggle-group | boolean attribute | - | Marks the container for roving focus management by the UIPrimitives runtime. |
| class, className | string | "" | Merges custom classes with the generated ui-* root classes. |
| ...native attributes | HTML attributes | - | Forwards standard attributes to the root element unless the component consumes them. |
Keyboard interactions
Keyboard behavior provided by the Astro UIPrimitives runtime for this component.
| Key | Action |
|---|---|
| ArrowRight, ArrowDown | Move roving focus to the next item, wrapping at the end. |
| ArrowLeft, ArrowUp | Move roving focus to the previous item, wrapping at the start. |
| Home, End | Move roving focus to the first or last item. |