UNPKG

@nex-ui/react

Version:

🎉 A beautiful, modern, and reliable React component library.

70 lines (66 loc) • 2.26 kB
"use client"; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var PopoverRoot = require('./PopoverRoot.cjs'); var PopoverContext = require('./PopoverContext.cjs'); var useDefaultProps = require('../utils/useDefaultProps.cjs'); var PopperContext = require('../popper/PopperContext.cjs'); var useStyles = require('../utils/useStyles.cjs'); var useSlotClasses = require('../utils/useSlotClasses.cjs'); var useSlot = require('../utils/useSlot.cjs'); var PopperContent = require('../popper/PopperContent.cjs'); var FocusTrap = require('../focusTrap/FocusTrap.cjs'); var popover = require('../../theme/recipes/popover.cjs'); const slots = [ 'root' ]; const PopoverContent = (inProps)=>{ const props = useDefaultProps.useDefaultProps({ name: 'PopoverContent', props: inProps }); const { open } = PopperContext.usePopper(); const { restoreFocus } = PopoverContext.usePopover(); const { maxHeight, maxWidth = 480, color = 'default', radius = 'md', ...remainingProps } = props; const ownerState = { ...props, color, radius }; const style = useStyles.useStyles({ ownerState, name: 'PopoverContent', recipe: popover.popoverContentRecipe }); const slotClasses = useSlotClasses.useSlotClasses({ name: 'PopoverContent', slots }); const [PopoverContentRoot, getPopoverContentRootProps] = useSlot.useSlot({ style, elementType: PopperContent.PopperContent, shouldForwardComponent: false, externalForwardedProps: remainingProps, classNames: slotClasses.root, dataAttrs: { color, radius }, additionalProps: { maxWidth, maxHeight, tabIndex: -1 } }); return /*#__PURE__*/ jsxRuntime.jsx(PopoverRoot.PopoverRoot, { children: /*#__PURE__*/ jsxRuntime.jsx(FocusTrap.FocusTrap, { active: open, restoreFocus: restoreFocus, children: /*#__PURE__*/ jsxRuntime.jsx(PopoverContentRoot, { ...getPopoverContentRootProps() }) }) }); }; PopoverContent.displayName = 'PopoverContent'; exports.PopoverContent = PopoverContent;