Popup
The Popup component is a utility that lets you display content in tooltips and popovers.
Popup API
Import
import { Unstable_Popup as Popup } from '@mui/base/Unstable_Popup';
// or
import { Unstable_Popup as Popup } from '@mui/base';
Props of the native component are also available.
An HTML element, virtual element, or a function that returns either. It's used to set the position of the popup.
Type:HTML element
| object
| func
An HTML element or function that returns one. The container will have the portal children appended to it. By default, it uses the body of the top-level document object, so it's document.body
in these cases.
Type:HTML element
| func
If true
, the popup will be rendered where it is defined, without the use of portals.
Type:bool
Default:false
If true
, the popup will exist in the DOM even if it's closed. Its visibility will be controlled by the visibility
CSS property.
Otherwise, a closed popup will be removed from the DOM.
Type:bool
Default:false
Collection of Floating UI middleware to use when positioning the popup. If not provided, the offset
and flip
functions will be used.
Type:Array<false
| { fn: func, name: string, options?: any }>
Distance between a popup and the trigger element. This prop is ignored when custom middleware
is provided.
Type:func
| number
| { alignmentAxis?: number, crossAxis?: number, mainAxis?: number }
Default:0
Determines where to place the popup relative to the trigger element.
Type:'bottom-end'
| 'bottom-start'
| 'bottom'
| 'left-end'
| 'left-start'
| 'left'
| 'right-end'
| 'right-start'
| 'right'
| 'top-end'
| 'top-start'
| 'top'
Default:'bottom'
The components used for each slot inside the Popup. Either a string to use a HTML element or a component.
See Slots API below for more details.
Type:{ root?: elementType }
Default:{}
ref
is forwarded to the root element.To learn how to customize the slot, check out the Overriding component structure guide.
These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.