@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
38 lines (35 loc) • 2.19 kB
JavaScript
import React from 'react';
import { SkeletonPlaceholder } from '@carbon/react';
import cx from 'classnames';
import { prefix } from '../../internal/settings.js';
/*
IBM Confidential
694970X, 69497O0
© Copyright IBM Corp. 2022, 2024
*/
function FeatureHeader({ actions, children, className = "", footer, header, includeBorder = true, isLoading = false, nav, style, contentClassName = "", footerClassName = "", headerClassName = "", navClassName = "", skeletonClassName = "", ...rest }) {
const containerClassNames = cx(`${prefix}--bmrg-feature-header`, className, {
"--bordered": includeBorder,
});
const contentClassNames = cx(`${prefix}--bmrg-feature-header__content`, contentClassName);
const skeletonClassNames = cx(`${prefix}--bmrg-feature-header__loading`, skeletonClassName);
const navClassNames = cx(`${prefix}--bmrg-feature-header__nav`, navClassName);
const headerClassNames = cx(`${prefix}--bmrg-feature-header__header`, headerClassName);
const footerClassNames = cx(`${prefix}--bmrg-feature-header__footer`, footerClassName);
return (React.createElement("header", { className: containerClassNames, style: style, ...rest },
React.createElement("section", { className: contentClassNames },
nav && React.createElement("div", { className: navClassNames }, nav),
isLoading ? (React.createElement(SkeletonPlaceholder, { className: skeletonClassNames })) : (React.createElement(React.Fragment, null,
header && React.createElement("div", { className: headerClassNames }, header),
children)),
footer && React.createElement("div", { className: footerClassNames }, footer)),
actions));
}
function FeatureHeaderTitle({ element: Element = "h1", children, className = "", style, ...rest }) {
const classNames = cx(`${prefix}--bmrg-feature-header-title`, className);
return (React.createElement(Element, { className: classNames, style: style, ...rest }, children));
}
function FeatureHeaderSubtitle(props) {
return React.createElement(FeatureHeaderTitle, { element: "p", ...props });
}
export { FeatureHeader, FeatureHeaderSubtitle, FeatureHeaderTitle };