2025-03-20 13:20:30 +00:00
|
|
|
import React from "react";
|
|
|
|
|
import classnames from "classnames";
|
|
|
|
|
|
|
|
|
|
const baseClass = "card-header";
|
|
|
|
|
|
|
|
|
|
interface ICardHeaderProps {
|
2025-06-20 19:02:22 +00:00
|
|
|
header?: JSX.Element | string;
|
2025-03-20 13:20:30 +00:00
|
|
|
subheader?: JSX.Element | string;
|
|
|
|
|
className?: string;
|
2025-11-07 22:30:51 +00:00
|
|
|
variant?: "mobile-header";
|
2025-03-20 13:20:30 +00:00
|
|
|
}
|
|
|
|
|
|
2025-03-20 16:40:43 +00:00
|
|
|
/** A generic CardHeader component to be used within Card component
|
|
|
|
|
* that styles header and subheader */
|
2025-11-07 22:30:51 +00:00
|
|
|
const CardHeader = ({
|
|
|
|
|
header,
|
|
|
|
|
subheader,
|
|
|
|
|
className,
|
|
|
|
|
variant,
|
|
|
|
|
}: ICardHeaderProps) => {
|
|
|
|
|
const classNames = classnames(baseClass, className, {
|
|
|
|
|
[`${baseClass}--${variant}`]: !!variant,
|
|
|
|
|
});
|
2025-03-20 13:20:30 +00:00
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<div className={classNames}>
|
2025-06-20 19:02:22 +00:00
|
|
|
{header && <h2 className={`${baseClass}__header`}>{header}</h2>}
|
2025-03-20 13:20:30 +00:00
|
|
|
{subheader && <p className={`${baseClass}__subheader`}>{subheader}</p>}
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default CardHeader;
|