UNPKG

@nex-ui/react

Version:

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

65 lines (61 loc) • 2 kB
"use client"; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var react = require('react'); var DialogContext = require('./DialogContext.cjs'); var useDefaultProps = require('../utils/useDefaultProps.cjs'); var useStyles = require('../utils/useStyles.cjs'); var useSlot = require('../utils/useSlot.cjs'); var ModalBody = require('../modal/ModalBody.cjs'); var Context = require('../provider/Context.cjs'); var composeClasses = require('../utils/composeClasses.cjs'); var dialog = require('../../theme/recipes/dialog.cjs'); var getUtilityClass = require('../utils/getUtilityClass.cjs'); const useSlotClasses = ()=>{ const { prefix } = Context.useNexUI(); return react.useMemo(()=>{ const prefixClassName = `${prefix}-dialog-body`; const slots = { root: [ 'root' ] }; return composeClasses.composeClasses(slots, getUtilityClass.getUtilityClass(prefixClassName)); }, [ prefix ]); }; const DialogBody = (inProps)=>{ const { scroll } = DialogContext.useDialog(); const props = useDefaultProps.useDefaultProps({ name: 'DialogBody', props: inProps }); const { children, ...remainingProps } = props; const ownerState = { ...props }; const style = useStyles.useStyles({ ownerState: { ...ownerState, scroll }, name: 'DialogBody', recipe: dialog.dialogBodyRecipe }); const classes = useSlotClasses(); const [DialogBodyRoot, getDialogBodyRootProps] = useSlot.useSlot({ ownerState, style, elementType: ModalBody.ModalBody, classNames: classes.root, externalForwardedProps: remainingProps, shouldForwardComponent: false }); return /*#__PURE__*/ jsxRuntime.jsx(DialogBodyRoot, { ...getDialogBodyRootProps(), children: children }); }; DialogBody.displayName = 'DialogBody'; exports.DialogBody = DialogBody;