UNPKG

@nex-ui/react

Version:

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

46 lines (42 loc) • 1.48 kB
"use client"; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var DrawerContext = require('./DrawerContext.cjs'); var useDefaultProps = require('../utils/useDefaultProps.cjs'); var useSlot = require('../utils/useSlot.cjs'); var Modal = require('../modal/Modal.cjs'); const Drawer = (inProps)=>{ const props = useDefaultProps.useDefaultProps({ name: 'Drawer', props: inProps }); const { open, children, restoreFocus, onOpenChange, defaultOpen, container, keepMounted, closeOnEscape, closeOnInteractBackdrop, preventScroll, onClose, hideBackdrop = false, ...remainingProps } = props; const [RootSlot, getRootSlotProps] = useSlot.useSlot({ elementType: Modal.Modal, shouldForwardComponent: false, externalForwardedProps: { open, container, restoreFocus, onOpenChange, defaultOpen, keepMounted, preventScroll, closeOnEscape, onClose, closeOnInteractOutside: !hideBackdrop && closeOnInteractBackdrop } }); return /*#__PURE__*/ jsxRuntime.jsx(RootSlot, { ...getRootSlotProps(), children: /*#__PURE__*/ jsxRuntime.jsx(DrawerContext.DrawerProvider, { value: { ...remainingProps, hideBackdrop }, children: children }) }); }; Drawer.displayName = 'Drawer'; exports.Drawer = Drawer;