Dropdown

Un componente de menú desplegable con animaciones y múltiples opciones de personalización.

Cargando...
import { Dropdown } from "stofli-ui";
Cargando...

Un dropdown básico con varias opciones.

Cargando...
Cargando...

Añade íconos a las opciones del dropdown para hacerlas más visuales.

Cargando...
Cargando...

Diferentes variantes de estilo para el dropdown.

Cargando...
Cargando...

El dropdown está disponible en 4 tamaños: pequeño, mediano, grande y extra grande.

Cargando...
Cargando...

Puedes ocultar la flecha del dropdown con la prop showArrow.

Cargando...
Cargando...

Permite seleccionar varias opciones al mismo tiempo con la prop multiSelect.

Cargando...
Cargando...

Puedes crear un dropdown que solo muestre opciones pero no permita seleccionarlas, útil para menús de navegación.

Cargando...
Cargando...

Usa avatares en el dropdown y en sus opciones.

Cargando...
Cargando...

Puedes usar diferentes tamaños de avatar con la prop avatarSize.

Cargando...
Cargando...

Puedes mostrar solo un avatar como botón del dropdown usando avatarOnly={true}. Ideal para menús de usuario compactos.

Cargando...
Cargando...

Puedes controlar dónde aparece el menú desplegable con la prop placement.

Cargando...
Cargando...

Puedes definir un valor seleccionado por defecto.

Cargando...
Cargando...

Puedes definir un ancho fijo para el dropdown usando la prop width.

Cargando...
Cargando...

Usando la prop fullWidth para que el dropdown ocupe todo el ancho disponible.

Cargando...
Cargando...

Puedes deshabilitar opciones específicas del dropdown.

Cargando...
Cargando...

El modo avatarOnly también funciona perfectamente con opciones que tienen avatares. Cuando selecciones una opción con avatar, ese avatar se mostrará en el botón principal automáticamente.

Cargando...
Cargando...

Puedes personalizar cualquier parte del dropdown usando las propiedades de className con clases de Tailwind CSS.

Cargando...
Cargando...
PropTipoDefaultDescripción
itemsArray<DropdownItem>-Lista de elementos del dropdown
placeholderstring"Seleccionar..."Texto a mostrar cuando no hay selección
variant"default" | "primary" | "secondary" | "success" | "warning" | "danger""default"Variante de estilo
size"sm" | "md" | "lg" | "xl""md"Tamaño del dropdown
radius"none" | "sm" | "md" | "full""md"Radio de las esquinas
disabledbooleanfalseDeshabilita todo el dropdown
fullWidthbooleanfalseHace que el dropdown ocupe todo el ancho disponible
widthstring-Define un ancho específico (ej: "200px", "15rem")
placement"bottom" | "top" | "left" | "right""bottom"Posición del menú desplegable
onChange(value: string | string[]) => void-Función llamada al seleccionar una opción
iconReactNode-Ícono a mostrar al inicio del dropdown
showSelectedIconbooleantrueMuestra el ícono de selección en la opción elegida
defaultValuestring | string[]-Valor seleccionado por defecto
valuestring | string[]-Valor controlado del dropdown
classNamestring-Clases adicionales para el contenedor
buttonClassNamestring-Clases adicionales para el botón principal
itemClassNamestring-Clases adicionales para los elementos de la lista
arrowIconClassNamestring-Clases adicionales para el icono de flecha
dropdownClassNamestring-Clases adicionales para el menú desplegable
listClassNamestring-Clases adicionales para la lista de opciones
itemContentClassNamestring-Clases adicionales para el contenedor de cada opción
itemLabelClassNamestring-Clases adicionales para el contenedor de la etiqueta de cada opción
itemIconClassNamestring-Clases adicionales para los iconos de cada opción
checkIconClassNamestring-Clases adicionales para el icono de verificación
activeColorstring-Color para elementos seleccionados (hex: "#f1f5f9" o clases Tailwind: "bg-slate-100 text-white"). Las clases Tailwind en esta propiedad tienen prioridad sobre otras clases como itemClassName.
showArrowbooleantrueMuestra u oculta la flecha del dropdown
multiSelectbooleanfalsePermite seleccionar múltiples opciones
avatarSize"xs" | "sm" | "md" | "lg""md"Tamaño de los avatares
avatarSrcstring-URL de la imagen para el avatar del dropdown
avatarAltstring"Avatar"Texto alternativo para el avatar
selectablebooleantrueSi es false, el dropdown muestra hover en las opciones pero no permite seleccionarlas.
avatarOnlybooleanfalseSi es true, muestra solo el avatar como botón, sin texto ni placeholder.
idstring-ID personalizado para el componente
labelstring-Etiqueta descriptiva para el dropdown
requiredbooleanfalseIndica si el campo es obligatorio
aria-labelstring-Etiqueta ARIA personalizada
aria-describedbystring-ID del elemento que describe el dropdown
errorMessagestring-Mensaje de error a mostrar

DropdownItem

PropiedadTipoDescripción
labelReactNodeContenido visible de la opción
valuestringValor de la opción
iconReactNodeÍcono opcional para la opción
disabledbooleanSi la opción está deshabilitada
avatarSrcstringURL de la imagen para el avatar
avatarAltstringTexto alternativo para el avatar
descriptionstringDescripción adicional para la opción