Saltar al contenido principal

Popover (cuadro emergente)

Similar a Tooltip, pero puede alojar un título y contenido más rico (estructuras HTML, listas, etc.), y se activa al hacer clic o al pasar el cursor.

Uso básico​

Posiciones, formas de activación y flecha
import { LhButton, LhPopover } from '@lh-ui/react'

export default function Demo() {
return (
<LhPopover title="Título" content="Este es el contenido del popover." placement="top">
<LhButton>Arriba</LhButton>
</LhPopover>
)
}

Props de Popover​

PropDescripciónTipoOpcionesPredeterminado
childrenNodo activadorReactNode——
titleTítulo (se renderiza en la zona __title)ReactNode——
contentContenido (se renderiza en la zona __content)ReactNode——
placementPosición de visualizaciónLhPopoverPlacementtop / bottom / left / right (incluye -start / -end)'top'
triggerForma de activaciónLhPopoverTrigger'hover' | 'click' | 'focus' | 'manual''click'
disabledDesactiva el popoverboolean—false
arrowSi se muestra la flechaboolean—true
widthAncho de la capa flotantestring | number——
visibleVisibilidad controladaboolean——
defaultVisibleVisibilidad predeterminada no controladaboolean—false
showAfterRetraso de aparición (ms, 200 por defecto para evitar toques accidentales)number—200
hideAfterRetraso de ocultación (ms, 100 por defecto para dar tiempo a mover el puntero hacia la capa)number—100
popperClassClase personalizada de la capa flotantestring——
themeVarsVariables de tema a nivel de componenteRecord<string, string>——
bgPatternPatrón de fondo a nivel de componentestring——
sxPropiedad abreviada de diseño (se aplica al activador)SxProps——

Eventos de Popover​

EventoDescripciónFirma del callbackEquivalente en Vue
onVisibleChangeCambio de visibilidad (se dispara tanto en modo controlado como no controlado)(visible: boolean) => voidupdate:visible

ref​

forwardRef<HTMLDivElement> — elemento raíz del activador. LhPopoverInstance expone show() / hide() / toggle() / isVisible.

Encerrado de foco

Con trigger="click" la capa emergente encierra el foco con semántica de diálogo (Tab hace ciclo dentro), y lo devuelve al cerrarse; los disparadores hover / focus no roban el foco, igual que el comportamiento isModal de plus.

Accesibilidad

La capa flotante es role="dialog"; cuando hay título se vincula con aria-labelledby, y el activador se vincula a la capa con aria-describedby.

Estilos​

import '@lh-ui/react/style/popover'