UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

114 lines (113 loc) 2.47 kB
"use client"; import _extends from "@babel/runtime-corejs3/helpers/esm/extends"; import React, { useContext } from 'react'; import Modal from "../modal/Modal.js"; import DrawerContent from "./DrawerContent.js"; import DrawerBody from "./parts/DrawerBody.js"; import DrawerHeader from "./parts/DrawerHeader.js"; import DrawerNavigation from "./parts/DrawerNavigation.js"; import classnames from 'classnames'; import Context from "../../shared/Context.js"; import { removeUndefinedProps } from "../../shared/component-helper.js"; function Drawer({ id, rootId, contentId, focusSelector, labelledBy, directDomReturn, hideCloseButton, disabled, title, dialogTitle, closeTitle, containerPlacement = 'right', spacing = true, noAnimation, noAnimationOnMobile, animationDuration, fullscreen = 'auto', onOpen, onClose, onClosePrevent, openModal, closeModal, preventClose, preventOverlayClose, openState, openDelay, omitTriggerButton, trigger, triggerAttributes, closeButtonAttributes, overlayClass, contentClass, contentRef, scrollRef, top, bottom, left, right, space, ...props }) { const context = useContext(Context); const modalProps = removeUndefinedProps({ title, id, focusSelector, labelledBy, disabled, spacing, openDelay, contentId, dialogTitle, closeTitle, hideCloseButton, preventClose, preventOverlayClose, animationDuration, noAnimation, noAnimationOnMobile, fullscreen, containerPlacement, openState, directDomReturn, rootId, onOpen, onClose, onClosePrevent, openModal, closeModal, omitTriggerButton, trigger, triggerAttributes, closeButtonAttributes, overlayClass, contentRef, scrollRef, top, bottom, left, right, space }); const drawerProps = removeUndefinedProps({ ...props, noAnimation, noAnimationOnMobile, fullscreen, spacing, containerPlacement }); return React.createElement(Modal, _extends({}, context.Drawer, modalProps, { fullscreen: false, contentClass: classnames('dnb-drawer__root', contentClass) }), React.createElement(DrawerContent, _extends({}, context.Drawer, drawerProps))); } Drawer.Body = DrawerBody; Drawer.Header = DrawerHeader; Drawer.Navigation = DrawerNavigation; Drawer._supportsSpacingProps = true; export default Drawer; //# sourceMappingURL=Drawer.js.map