UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

43 lines (39 loc) 1.67 kB
'use client'; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var React = require('react'); var hooks = require('@mantine/hooks'); require('../../core/utils/units-converters/rem.cjs'); var getSingleElementChild = require('../../core/utils/get-single-element-child/get-single-element-child.cjs'); require('clsx'); require('../../core/MantineProvider/Mantine.context.cjs'); require('../../core/MantineProvider/default-theme.cjs'); require('../../core/MantineProvider/MantineProvider.cjs'); require('../../core/MantineProvider/MantineThemeProvider/MantineThemeProvider.cjs'); require('../../core/MantineProvider/MantineCssVariables/MantineCssVariables.cjs'); require('../../core/Box/Box.cjs'); require('../../core/DirectionProvider/DirectionProvider.cjs'); var VisuallyHidden = require('../VisuallyHidden/VisuallyHidden.cjs'); function FocusTrap({ children, active = true, refProp = "ref", innerRef }) { const focusTrapRef = hooks.useFocusTrap(active); const ref = hooks.useMergedRef(focusTrapRef, innerRef); const child = getSingleElementChild.getSingleElementChild(children); if (!child) { return children; } return React.cloneElement(child, { [refProp]: ref }); } function FocusTrapInitialFocus(props) { return /* @__PURE__ */ jsxRuntime.jsx(VisuallyHidden.VisuallyHidden, { tabIndex: -1, "data-autofocus": true, ...props }); } FocusTrap.displayName = "@mantine/core/FocusTrap"; FocusTrapInitialFocus.displayName = "@mantine/core/FocusTrapInitialFocus"; FocusTrap.InitialFocus = FocusTrapInitialFocus; exports.FocusTrap = FocusTrap; exports.FocusTrapInitialFocus = FocusTrapInitialFocus; //# sourceMappingURL=FocusTrap.cjs.map