UNPKG

@nex-ui/react

Version:

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

52 lines (49 loc) • 1.61 kB
"use client"; import { jsx } from 'react/jsx-runtime'; import { useDialogContent } from './DialogContext.mjs'; import { useDefaultProps } from '../utils/useDefaultProps.mjs'; import { useStyles } from '../utils/useStyles.mjs'; import { dialogBodyRecipe } from '../../theme/recipes/dialog.mjs'; import { useSlotClasses } from '../utils/useSlotClasses.mjs'; import { useSlot } from '../utils/useSlot.mjs'; import { ModalBody } from '../modal/ModalBody.mjs'; const slots = [ 'root' ]; const DialogBody = (inProps)=>{ const { scroll } = useDialogContent(); const props = useDefaultProps({ name: 'DialogBody', props: inProps }); const { children, tabIndex, ...remainingProps } = props; const style = useStyles({ ownerState: { ...props, scroll }, name: 'DialogBody', recipe: dialogBodyRecipe }); const slotClasses = useSlotClasses({ name: 'DialogBody', slots }); const [DialogBodyRoot, getDialogBodyRootProps] = useSlot({ style, elementType: ModalBody, classNames: slotClasses.root, externalForwardedProps: remainingProps, shouldForwardComponent: false, a11y: { // https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI tabIndex: tabIndex ?? (scroll === 'inside' ? 0 : undefined) } }); return /*#__PURE__*/ jsx(DialogBodyRoot, { ...getDialogBodyRootProps(), children: children }); }; DialogBody.displayName = 'DialogBody'; export { DialogBody };