UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

96 lines (95 loc) 2.7 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 helpers = require("../utils/helpers.cjs"); const setId = require("../utils/setId.cjs"); const Snackbar_styles = require("./Snackbar.styles.cjs"); const SnackbarContent = require("./SnackbarContent/SnackbarContent.cjs"); const _interopDefault = (e) => e && e.__esModule ? e : { default: e }; const Slide__default = /* @__PURE__ */ _interopDefault(Slide); const Snackbar__default = /* @__PURE__ */ _interopDefault(Snackbar); const HvSnackbar = React.forwardRef(function HvSnackbar2(props, ref) { const { classes: classesProp, className, id, title, open = false, onClose, label, anchorOrigin = { vertical: "top", horizontal: "right" }, autoHideDuration = 5e3, variant, showIcon, customIcon, action, actionCallback, // TODO - remove in v6 onAction, transitionDuration = 300, transitionDirection = "left", container, offset = 60, snackbarContentProps, ...others } = uikitReactUtils.useDefaultProps("HvSnackbar", props); const { classes } = Snackbar_styles.useClasses(classesProp); const anchorOriginOffset = { anchorOriginTop: { top: `${offset}px` }, anchorOriginBottom: { bottom: `${offset}px` } }; 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, style: anchorOriginOffset[`anchorOrigin${helpers.capitalize(anchorOrigin.vertical)}`], classes, className, id, anchorOrigin, open, onClose, autoHideDuration, transitionDuration, TransitionComponent: SlideTransition, ...others, children: /* @__PURE__ */ jsxRuntime.jsx( SnackbarContent.HvSnackbarContent, { id: setId.setId(id, "content"), title, label, variant, customIcon, showIcon, action, actionCallback, onAction, onClose, ...snackbarContentProps } ) } ); }); exports.snackbarClasses = Snackbar_styles.staticClasses; exports.HvSnackbar = HvSnackbar;