Popper
The Popper component lets you create tooltips and popovers that display information about an element on the page.
Popper API
Import
import { Popper } from '@mui/base/Popper';
// or
import { Popper } from '@mui/base';
Learn about the difference by reading this guide on minimizing bundle size.
Props of the native component are also available.
Name | Type | Default | Description |
---|---|---|---|
open* | bool | - | If |
anchorEl | HTML element | object | func | - | An HTML element, virtualElement, or a function that returns either. It's used to set the position of the popper. The return value will passed as the reference object of the Popper instance. |
children | node | func | - | Popper render function or node. |
container | HTML element | func | - | An HTML element or function that returns one. The |
direction | 'ltr' | 'rtl' | 'ltr' | Direction of the text. |
disablePortal | bool | false | The |
keepMounted | bool | false | Always keep the children in the DOM. This prop can be useful in SEO situation or when you want to maximize the responsiveness of the Popper. |
modifiers | Array<{ data?: object, effect?: func, enabled?: bool, fn?: func, name?: any, options?: object, phase?: 'afterMain' | 'afterRead' | 'afterWrite' | 'beforeMain' | 'beforeRead' | 'beforeWrite' | 'main' | 'read' | 'write', requires?: Array<string>, requiresIfExists?: Array<string> }> | - | Popper.js is based on a "plugin-like" architecture, most of its features are fully encapsulated "modifiers". |
placement | 'auto-end' | 'auto-start' | 'auto' | 'bottom-end' | 'bottom-start' | 'bottom' | 'left-end' | 'left-start' | 'left' | 'right-end' | 'right-start' | 'right' | 'top-end' | 'top-start' | 'top' | 'bottom' | Popper placement. |
popperOptions | { modifiers?: array, onFirstUpdate?: func, placement?: 'auto-end' | 'auto-start' | 'auto' | 'bottom-end' | 'bottom-start' | 'bottom' | 'left-end' | 'left-start' | 'left' | 'right-end' | 'right-start' | 'right' | 'top-end' | 'top-start' | 'top', strategy?: 'absolute' | 'fixed' } | {} | Options provided to the |
popperRef | ref | - | A ref that points to the used popper instance. |
slotProps | { root?: func | object } | {} | The props used for each slot inside the Popper. |
slots | { root?: elementType } | {} | The components used for each slot inside the Popper. Either a string to use a HTML element or a component. See Slots API below for more details. |
transition | bool | false | Help supporting a react-transition-group/Transition component. |
ref
is forwarded to the root element.These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.
Class name | Description |
---|---|
.base-Popper-root | Class name applied to the root element. |