UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

94 lines (93 loc) 2.68 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const Slide = require("@mui/material/Slide"); const Snackbar = require("@mui/material/Snackbar"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const setId = require("../utils/setId.cjs"); const Banner_styles = require("./Banner.styles.cjs"); const BannerContent = require("./BannerContent/BannerContent.cjs"); const _interopDefault = (e) => e && e.__esModule ? e : { default: e }; const Slide__default = /* @__PURE__ */ _interopDefault(Slide); const Snackbar__default = /* @__PURE__ */ _interopDefault(Snackbar); const HvBanner = React.forwardRef(function HvBanner2(props, ref) { const { id, classes: classesProp, className, title, open, onClose, anchorOrigin = "top", variant, transitionDuration = 300, transitionDirection = "down", container, showIcon, customIcon, actions, actionsCallback, // TODO - remove in v6 onAction, actionsPosition, label, offset = 60, bannerContentProps, ...others } = uikitReactUtils.useDefaultProps("HvBanner", props); const { classes, cx } = Banner_styles.useClasses(classesProp); const anchorOriginBanner = { horizontal: "center", vertical: anchorOrigin }; const SlideTransition = React.useCallback( (properties) => /* @__PURE__ */ jsxRuntime.jsx( Slide__default.default, { ...properties, container, direction: transitionDirection } ), [container, transitionDirection] ); return /* @__PURE__ */ jsxRuntime.jsx( Snackbar__default.default, { ref, id, open, className, classes: { root: cx(classes.root, { [classes.rootClosed]: !open }), anchorOriginTopCenter: classes.anchorOriginTopCenter, anchorOriginBottomCenter: classes.anchorOriginBottomCenter }, style: { [anchorOrigin]: offset }, anchorOrigin: anchorOriginBanner, TransitionComponent: SlideTransition, transitionDuration, ...others, children: /* @__PURE__ */ jsxRuntime.jsx( BannerContent.HvBannerContent, { id: setId.setId(id, "content"), title, variant, customIcon, showIcon, actions, actionsCallback, onAction, actionsPosition, onClose, ...bannerContentProps, children: label } ) } ); }); exports.bannerClasses = Banner_styles.staticClasses; exports.HvBanner = HvBanner;