import Icon from "react-oui-icons"; import classNames from "classnames"; import React, { FunctionComponent, ReactElement } from "react"; import Button from "../Button"; import { getAssistiveTextFromColorClass } from "../../utils/accessibility"; const renderDismissButton = (onDismiss: () => any, testSection?: string): ReactElement => { return (
); }; export type ButterBarProps = { alignment?: "left" | "center"; children?: any; /** CSS class names. */ className?: string; isDismissible?: boolean; testSection?: string; type?: "bad-news" | "brand" | "good-news" | "warning"; onDismiss?: () => any; }; const ButterBar: FunctionComponent = ({ alignment = "left", children, className, isDismissible, testSection, type = "brand", onDismiss = () => null, ...props }: ButterBarProps) => { const colorClassName = `oui-butterbar--${type}`; const alignmentClassName = `oui-text--${alignment}`; const butterbarAriaLabel = getAssistiveTextFromColorClass(type); const alignClass = `oui-butterbar ${colorClassName} ${alignmentClassName}`.trim(); const classes = classNames({ [`${alignClass}`]: true, }, className); const dismissBtn = isDismissible ? renderDismissButton(onDismiss, testSection) : null; return (
{children} {dismissBtn}
); }; export default ButterBar;