@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
96 lines (95 loc) • 2.7 kB
JavaScript
;
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;