A row of mutually exclusive choices.
Import it from rei-kit:
import { SegmentedControl } from 'rei-kit'
Open SegmentedControl in the live documentation, where every prop below is a control you can change, in four materials and ten palettes.
<script setup lang="ts">
import { ref } from 'vue'
import { SegmentedControl } from 'rei-kit'
const range = ref('week')
const ranges = [
{ value: 'week', label: 'Week' },
{ value: 'month', label: 'Month' },
{ value: 'year', label: 'Year' },
]
</script>
<template>
<SegmentedControl v-model="range" :options="ranges" />
</template>
| Prop | Type | Required or default | What it is for |
|---|---|---|---|
options | readonly { value: T; label: string }[] | yes |
rei-kit is an accessible Vue 3 and Tailwind CSS 4 component library: 106 components, themed by role rather than by colour on three independent axes — ten WCAG-checked palettes, four materials and light or dark, each switched with one attribute. Typed, tested, SSR-safe, no runtime dependencies, MIT.