Usage
FocusTrap is a component implementation of use-focus-trap hook, it is used in all Mantine components that require focus trap (Modal, DatePicker, Popover, etc.).
Initial focus
To define the element that will receive initial focus set data-autofocus attribute:
Focus trapping logic
- Focus is trapped within child node if
activeprop istrue - When FocusTrap component is mounted or when
activeprop changes fromfalsetotruefirst element withdata-autofocusattribute is focused - If there are no elements with
data-autofocusattribute, then the first element that supports keyboard interaction is focused - If target element does not have focusable elements or does not support
ref, then focus trap will not work - Trap stops working when element outside of child is focused
FocusTrap component props
| Name | Type | Description |
|---|---|---|
| active | boolean | Determines whether focus should be trapped within child element |
| children * | any | Element at which focus should be trapped, should support ref prop |
| refProp | string | Prop that should be used to access component ref |