Saltar al contenido
El Muestrario

componente · @solu30/ui-kit/input

SelectRoot

Root component that manages select state. Provides context to all child select components.

167 sitios de import en 6 de 15 verticales — un archivo que la importa cuenta una vez, monte una instancia o veinte.

  • TheCharterPanel
  • carlosmartinpavon
  • cmp-packages
  • elliot
  • gestorsalon
  • raquetea

El componente, montado

Cargando el espécimen…

Cómo se usa

import {
  SelectContent,
  SelectGroup,
  SelectItem,
  SelectLabel,
  SelectRoot,
  SelectSeparator,
  SelectTrigger,
  SelectValue,
} from '@solu30/ui-kit/input'

Anatomía

Las partes que componen SelectRoot se importan del mismo subpath. Sueltas no significan nada: se montan siempre dentro de su padre.

SelectRoot
├── SelectContent
├── SelectGroup
├── SelectItem
├── SelectLabel
├── SelectSeparator
├── SelectTrigger
└── SelectValue

Props

5 props declaradas en los tipos de la versión instalada.
PropRequeridaTipoQué hace
valuesístringCurrently selected value
onValueChangesí(value: string) => voidCallback when selection changes
childrensíReactNodeChild components
disabledopcionalbooleanDeja el control inerte: el disparador va con `disabled` nativo (no recibe foco ni click) y el panel no puede abrirse. Se propaga por contexto al SelectTrigger. Un `disabled` propio en el SelectTrigger también sirve, y gana si cualquiera de los dos es verdadero.
classNameopcionalstringSe mergea sobre el wrapper (`cn("relative w-full", className)`). El default mantiene `w-full` por compatibilidad — pasá `w-auto`/`w-max` en toolbars horizontales (flex-wrap) para que el select tome su ancho natural en vez de forzar su propia línea.

Ejemplo del paquete

// Controlado siempre: `value` y `onValueChange` son REQUERIDAS.
<SelectRoot value={salon} onValueChange={setSalon}>
  <SelectTrigger><SelectValue placeholder="Elegí un salón" /></SelectTrigger>
  <SelectContent>
    <SelectItem value="norte">Norte</SelectItem>
    <SelectItem value="sur" disabled>Sur (en obra)</SelectItem>
  </SelectContent>
</SelectRoot>

Del @example del JSDoc de @solu30/ui-kit, sin editar: son 65 de los 541 símbolos. La sangría y los renglones en blanco son los del paquete.