Aller au contenu principal

Popover (fenêtre contextuelle)

Semblable au Tooltip, mais il peut accueillir un titre et un contenu plus riche (structures HTML, listes, etc.), déclenché par un clic ou un survol.

Utilisation de base​

Positions, déclencheurs et flèche
import { LhButton, LhPopover } from '@lh-ui/react'

export default function Demo() {
return (
<LhPopover title="Titre" content="Ceci est le contenu de la fenêtre contextuelle." placement="top">
<LhButton>Au-dessus</LhButton>
</LhPopover>
)
}

Popover Props​

PropDescriptionTypeOptionsValeur par défaut
childrenNœud déclencheurReactNode——
titleTitre (rendu dans la zone __title)ReactNode——
contentContenu (rendu dans la zone __content)ReactNode——
placementPosition d'affichageLhPopoverPlacementtop / bottom / left / right (avec -start / -end)'top'
triggerMode de déclenchementLhPopoverTrigger'hover' | 'click' | 'focus' | 'manual''click'
disabledDésactive la fenêtre contextuelleboolean—false
arrowAfficher la flècheboolean—true
widthLargeur de la surcouchestring | number——
visibleVisibilité contrôléeboolean——
defaultVisibleVisibilité par défaut (non contrôlée)boolean—false
showAfterDélai d'affichage (ms ; 200 par défaut pour éviter les déclenchements involontaires)number—200
hideAfterDélai de masquage (ms ; 100 par défaut pour laisser le pointeur entrer dans la surcouche)number—100
popperClassNom de classe personnalisé pour la surcouchestring——
themeVarsVariables de thème au niveau du composantRecord<string, string>——
bgPatternMotif de fond au niveau du composantstring——
sxRaccourci de mise en page (appliqué au déclencheur)SxProps——

Événements de Popover​

ÉvénementDescriptionSignature du callbackÉquivalent Vue
onVisibleChangeChangement de visibilité (déclenché en mode contrôlé comme en mode non contrôlé)(visible: boolean) => voidupdate:visible

ref​

forwardRef<HTMLDivElement> — l'élément racine du déclencheur. LhPopoverInstance expose show() / hide() / toggle() / isVisible.

Piégeage du focus

Avec trigger="click", la surcouche piège le focus selon la sémantique des boîtes de dialogue (Tab boucle à l'intérieur) et le restitue à la fermeture ; les déclencheurs hover / focus ne volent pas le focus, conformément au comportement isModal de lh-ui-plus.

Accessibilité

La surcouche a role="dialog" ; lorsqu'un titre est présent, il est associé via aria-labelledby, et le déclencheur est associé à la surcouche via aria-describedby.

Styles​

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