@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
72 lines (71 loc) • 1.83 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import { forwardRef } from "react";
import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
import { HvCallout } from "../../utils/Callout.js";
import { useClasses } from "./BannerContent.styles.js";
import { staticClasses } from "./BannerContent.styles.js";
const HvBannerContent = forwardRef(function HvBannerContent2(props, ref) {
const {
id,
classes: classesProp,
className,
showIcon,
customIcon,
variant = "default",
onClose,
actions,
actionsCallback,
// TODO - remove in v6
onAction,
actionsPosition = "auto",
content,
children,
actionProps,
...others
} = useDefaultProps("HvBannerContent", props);
const { classes, cx } = useClasses(classesProp);
return /* @__PURE__ */ jsx(
HvCallout,
{
ref,
id,
variant,
showClose: true,
showIcon,
customIcon,
classes: {
root: cx(
classes.root,
classes.outContainer,
classes.baseVariant,
classes[variant],
className
),
message: classes.message,
action: classes.action,
messageIcon: classes.iconContainer,
messageContent: classes.messageContainer,
actionCustom: classes.messageActions,
actionContent: cx(
classes.actionContainer,
classes.actionsInnerContainer
),
actionClose: classes.closeAction
},
actions,
actionsPosition,
actionProps,
onClose: (evt) => onClose?.(evt),
onAction: (evt, action) => {
onAction?.(evt, action);
actionsCallback?.(evt, id, action);
},
...others,
children: children ?? content
}
);
});
export {
HvBannerContent,
staticClasses as bannerContentClasses
};