UNPKG

@nex-ui/react

Version:

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

56 lines (52 loc) • 1.84 kB
'use strict'; var jsxRuntime = require('react/jsx-runtime'); var DrawerContext = require('./DrawerContext.cjs'); var useStyles = require('../utils/useStyles.cjs'); var drawer = require('../../theme/recipes/drawer.cjs'); var useSlotClasses = require('../utils/useSlotClasses.cjs'); var useSlot = require('../utils/useSlot.cjs'); var ModalRoot = require('../modal/ModalRoot.cjs'); var ModalBackdrop = require('../modal/ModalBackdrop.cjs'); const slots = [ 'root', 'backdrop' ]; const DrawerRoot = ({ children })=>{ const ownerState = DrawerContext.useDrawer(); const styles = useStyles.useStyles({ name: 'Drawer', recipe: drawer.drawerRootRecipe, ownerState }); const { slotProps, classNames, hideBackdrop, ...remainingProps } = ownerState; const slotClasses = useSlotClasses.useSlotClasses({ name: 'Drawer', slots, classNames }); const [DrawerRootRoot, getDrawerRootRootProps] = useSlot.useSlot({ elementType: ModalRoot.ModalRoot, style: styles.root, externalForwardedProps: remainingProps, shouldForwardComponent: false, classNames: slotClasses.root }); const [DrawerBackdrop, getDrawerBackdropProps] = useSlot.useSlot({ elementType: ModalBackdrop.ModalBackdrop, style: styles.backdrop, externalSlotProps: slotProps?.backdrop, shouldForwardComponent: false, classNames: slotClasses.backdrop }); return /*#__PURE__*/ jsxRuntime.jsxs(DrawerRootRoot, { ...getDrawerRootRootProps(), children: [ !hideBackdrop && /*#__PURE__*/ jsxRuntime.jsx(DrawerBackdrop, { ...getDrawerBackdropProps() }), children ] }); }; DrawerRoot.displayName = 'DrawerRoot'; exports.DrawerRoot = DrawerRoot;