UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

75 lines (74 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const MuiDrawer = require("@mui/material/Drawer"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const icons = require("../icons.cjs"); const setId = require("../utils/setId.cjs"); const Drawer_styles = require("./Drawer.styles.cjs"); const IconButton = require("../IconButton/IconButton.cjs"); const _interopDefault = (e) => e && e.__esModule ? e : { default: e }; const MuiDrawer__default = /* @__PURE__ */ _interopDefault(MuiDrawer); const HvDrawer = React.forwardRef(function HvDrawer2(props, ref) { const { className, classes: classesProp, id, children, open, onClose, anchor = "right", buttonTitle = "Close", showBackdrop = true, hideBackdrop, disableBackdropClick = false, ...others } = uikitReactUtils.useDefaultProps("HvDrawer", props); const { classes, cx } = Drawer_styles.useClasses(classesProp); const handleOnClose = (event, reason) => { if (reason === "backdropClick" && disableBackdropClick) return; onClose?.(event, reason); }; const shouldHideBackdrop = hideBackdrop ?? !showBackdrop; return /* @__PURE__ */ jsxRuntime.jsxs( MuiDrawer__default.default, { ref, className: cx(classes.root, className), id, anchor, open, classes: { paper: classes.paper }, hideBackdrop: shouldHideBackdrop, ...!shouldHideBackdrop && { slotProps: { backdrop: { classes: { root: classes.background } } } }, onClose: handleOnClose, ...others, children: [ /* @__PURE__ */ jsxRuntime.jsx( IconButton.HvIconButton, { id: setId.setId(id, "close"), className: classes.closeButton, onClick: onClose, title: buttonTitle, children: /* @__PURE__ */ jsxRuntime.jsx(icons.HvIcon, { name: "Close" }) } ), children ] } ); }); exports.drawerClasses = Drawer_styles.staticClasses; exports.HvDrawer = HvDrawer;