2024-11-26 11:59:11 +00:00
< script setup lang = "ts" >
2024-12-04 15:06:34 +00:00
import Toggle from '~/components/ui/Toggle.vue'
2024-12-22 23:30:09 +00:00
import Layout from '~/components/ui/Layout.vue'
import Button from '~/components/ui/Button.vue' // needs to be imported so that we can use colors...
2024-12-04 15:06:34 +00:00
2024-11-26 11:59:11 +00:00
import { ref } from 'vue'
const toggle = ref(false)
< / script >
2025-01-10 00:13:17 +00:00
```ts
import Toggle from "~/components/ui/Toggle.vue"
```
2024-11-26 11:59:11 +00:00
# Toggle
2025-01-06 19:56:03 +00:00
Toggles are basic form inputs that visually represent a boolean value. Toggles can be **on** (`true`) or **off** (`false`). For actions with more than 2 states or delayed, fallible, or effectful actions, [consider using a Button with `aria-pressed` logic instead ](button#on-off ).
2024-11-26 11:59:11 +00:00
| Prop | Data type | Required? | Description |
| --------------- | --------- | --------- | ---------------------------------------- |
| `big` | Boolean | No | Controls whether a toggle is big or not. |
| `v-model:value` | Boolean | Yes | The value controlled by the toggle. |
## Normal toggle
Link your toggle to an input using the `v-model` directive.
2024-12-22 23:30:09 +00:00
< Layout flex class = "preview" >
2024-11-26 11:59:11 +00:00
```vue-html
2024-12-04 15:06:34 +00:00
< Toggle v-model = "toggle" / >
2024-11-26 11:59:11 +00:00
```
2024-12-04 15:06:34 +00:00
< Toggle v-model = "toggle" / >
2024-11-26 11:59:11 +00:00
2024-12-22 23:30:09 +00:00
< / Layout >
2024-12-30 11:39:52 +00:00
## Add label
2024-12-22 23:30:09 +00:00
< Layout flex class = "preview" >
2025-01-23 21:54:55 +00:00
```vue-html{2}
< Toggle v-model = "toggle" label = "Option 358" / >
```
2024-12-30 11:39:52 +00:00
< Toggle v-model = "toggle" label = "Option 358" / >
2024-12-22 23:30:09 +00:00
< / Layout >
2024-11-26 11:59:11 +00:00
## Big toggle
Pass a `big` prop to create a larger toggle.
2024-12-22 23:30:09 +00:00
< Layout flex class = "preview" >
2024-11-26 11:59:11 +00:00
```vue-html{2}
2024-12-04 15:06:34 +00:00
< Toggle
2024-11-26 11:59:11 +00:00
big
v-model="toggle"
2025-03-22 14:03:40 +00:00
label="I am big"
2024-11-26 11:59:11 +00:00
/>
```
2025-03-22 14:03:40 +00:00
< Toggle
big
v-model="toggle"
label="I am big"
/>
2024-12-22 23:30:09 +00:00
< / Layout >