Skip to content

Segmented

Selección exclusiva en un grupo compacto: periodos, vistas o preferencias. Un solo valor activo; API controlada o no controlada.

Preview principal

SEGMENTEDradiogroup · 1 activo
activo: Semana
Vista

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}
/>
);
}
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
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.

  • role="radiogroup" / role="radio" + aria-checked
  • Controlada (value) o no controlada (defaultValue + estado interno)
  • Opciones disabled no responden al clic