Segmented
Selección exclusiva en un grupo compacto: periodos, vistas o preferencias. Un solo valor activo; API controlada o no controlada.
Preview principal
Iconos
Cada opción puede llevar icon + label.
Solo iconos
Sin label visible; aria-label usa el value.
Deshabilitado
disabled en una opción: no interactiva.
No controlado
defaultValue + estado interno (sin value).
callback: system
import { useState } from "react";import { SegmentedControl } from "devsoftec-ui";
function Ejemplo() { const [period, setPeriod] = useState("week");
return ( <SegmentedControl options={[ { value: "week", label: "Semana" }, { value: "month", label: "Mes" }, { value: "year", label: "Año" }, ]} value={period} onValueChange={setPeriod} /> );}SegmentedControl
Section titled “SegmentedControl”| Prop | Tipo | Descripción |
|---|---|---|
options |
SegmentedOption[] |
Opciones del grupo |
value |
string |
Activa (controlada) |
defaultValue |
string |
Activa inicial (no controlada) |
onValueChange |
(value: string) => void |
Al cambiar |
SegmentedOption
Section titled “SegmentedOption”| Campo | Tipo | Descripción |
|---|---|---|
value |
string |
Identificador |
label |
string |
Texto visible |
icon |
IconName |
Ícono a la izquierda |
disabled |
boolean |
No seleccionable |
Sin label (solo icon), el value se usa como aria-label.
Comportamiento
Section titled “Comportamiento”role="radiogroup"/role="radio"+aria-checked- Controlada (
value) o no controlada (defaultValue+ estado interno) - Opciones
disabledno responden al clic