---
## Toggle
Accessible switch control for boolean on/off states.
Built on a hidden native input with semantic intents and Mint micro-interactions.
**Import:** `import { Toggle } from '@urbicon-ui/blocks';`
### Examples
```svelte
```
```svelte
console.log('toggled', val)}
/>
```
### Variants
- intent: danger, neutral, primary, secondary, success, warning (default: primary)
- size: lg, md, sm, xs (default: md)
- appearance: default, dot (default: default)
- disabled: true (default: false)
- tier: commit, modify (default: commit)
- withBorder: false, true (default: false)
### Api
| Prop | Type | Required | Default | Description |
| --- | --- | :---: | --- | --- |
| ...HTMLInputAttributes | `HTMLAttributes` | no | | HTML attributes (excluding: 'type' | 'size' | 'checked' | 'class' | 'children') |
| ...ToggleVariants | `VariantProps` | no | | Styling variants from ToggleVariants |
| appearance | `ToggleVariants['appearance']` | no | 'default' | Visual style. `default` renders a classic Switch-Pill (track + sliding thumb). `dot` renders a small monochrome circular indicator instead — outline-only when off, filled in the intent colour when on. Use `dot` for dense settings rows, inline-toolbars, or anywhere the Switch-Pill is visually too loud. |
| checked | `boolean` | no | | Current on/off state. Supports two-way binding via `bind:checked`. |
| class | `string` | no | | Extra classes merged onto the outermost wrapper element. |
| disabled | `boolean` | no | | Prevent interaction and dim the control. |
| helper | `string` | no | | Hint text shown below the control. Useful for explaining side-effects of the toggle. |
| id | `string` | no | | Explicit `id` to link `