The padding required to prevent the arrow from reaching the very edge of the popper.
Popover
Popover is a non-modal dialog that floats around a trigger.
Props#
Popover Props#
arrowPadding
arrowPadding
number
8
arrowShadowColor
arrowShadowColor
The `box-shadow` of the popover arrow
string
arrowSize
arrowSize
The size of the popover arrow
number
autoFocus
autoFocus
If true
, focus will be transferred to the first interactive element
when the popover opens
boolean
true
boundary
boundary
The boundary area for the popper. Used within the preventOverflow
modifier
HTMLElement | "clippingParents" | "scrollParent"
"clippingParents"
children
children
The content of the popover. It is usually the PopoverTrigger
,
and PopoverContent
MaybeRenderProp<{ isOpen: boolean; onClose: () => void; forceUpdate: (() => void); }>
closeDelay
closeDelay
number
200
closeOnBlur
closeOnBlur
If true
, the popover will close when you blur out it by
clicking outside or tabbing out
boolean
true
closeOnEsc
closeOnEsc
If true
, the popover will close when you hit the Esc
key
boolean
true
colorScheme
colorScheme
Color Schemes for Popover
are not implemented in the default theme. You can extend the theme to implement them.
string
computePositionOnMount
computePositionOnMount
If true
, the popover will be positioned when it mounts
(even if it's not open)
Note 🚨: We don't recommend using this in a popover/menu intensive UI or page
as it might affect scrolling performance.
boolean
defaultIsOpen
defaultIsOpen
If true
, the popover will be initially opened.
boolean
direction
direction
Theme direction ltr
or rtl
. Popper's placement will
be set accordingly
"ltr" | "rtl"
"ltr"
eventListeners
eventListeners
If provided, determines whether the popper will reposition itself on scroll
and resize
of the window.
boolean | { scroll?: boolean; resize?: boolean; } | undefined
true
flip
flip
If true
, the popper will change its placement and flip when it's
about to overflow its boundary area.
boolean
true
gutter
gutter
The distance or margin between the reference and popper.
It is used internally to create an offset
modifier.
NB: If you define offset
prop, it'll override the gutter.
number
8
id
id
The html id
attribute of the popover.
If not provided, we generate a unique id.
This id
is also used to auto-generate the `aria-labelledby`
and `aria-describedby` attributes that points to the PopoverHeader
and PopoverBody
string
initialFocusRef
initialFocusRef
The ref
of the element that should receive focus when the popover opens.
RefObject<{ focus(): void; }>
isLazy
isLazy
Performance 🚀:
If true
, the PopoverContent rendering will be deferred
until the popover is open.
boolean
isOpen
isOpen
If true
, the popover will be opened in controlled mode.
boolean
lazyBehavior
lazyBehavior
Performance 🚀: The lazy behavior of popover's content when not visible. Only works when `isLazy={true}` - "unmount": The popover's content is always unmounted when not open. - "keepMounted": The popover's content initially unmounted, but stays mounted when popover is open.
LazyMode
"unmount"
matchWidth
matchWidth
If true
, the popper will match the width of the reference at all times.
It's useful for autocomplete
, `date-picker` and select
patterns.
boolean
modifiers
modifiers
Array of popper.js modifiers. Check the docs to see the list of possible modifiers you can pass. @see Docs https://popper.js.org/docs/v2/modifiers/
Partial<Modifier<string, any>>[]
offset
offset
The main and cross-axis offset to displace popper element from its reference element.
[number, number]
onClose
onClose
Callback fired when the popover closes
(() => void)
onOpen
onOpen
Callback fired when the popover opens
(() => void)
openDelay
openDelay
number
200
orientation
orientation
"horizontal" | "vertical"
placement
placement
The placement of the popper relative to its reference.
PlacementWithLogical
"bottom"
preventOverflow
preventOverflow
If true
, will prevent the popper from being cut off and ensure
it's visible within the boundary area.
boolean
true
returnFocusOnClose
returnFocusOnClose
If true
, focus will be returned to the element that triggers the popover
when it closes
boolean
true
size
size
Sizes for Popover
are not implemented in the default theme. You can extend the theme to implement them.
string
strategy
strategy
The CSS positioning strategy to use.
"fixed" | "absolute"
"absolute"
styleConfig
styleConfig
Record<string, any>
trigger
trigger
The interaction that triggers the popover.
hover
- means the popover will open when you hover with mouse or
focus with keyboard on the popover trigger
click
- means the popover will open on click or
press Enter
to Space
on keyboard
"click" | "hover"
"click"
variant
variant
Variants for Popover
are not implemented in the default theme. You can extend the theme to implement them.
string
Other Props#
PopoverContent
composesBox
and has the ability to smartly position itself. Thanks to popper.js.PopoverArrow
,PopoverHeader
,PopoverFooter
andPopoverBody
composesBox
.PopoverCloseButton
composesBox
component.