@brizy/ui
Version:
React elements in Brizy style
26 lines (25 loc) • 1.51 kB
JavaScript
import React from "react";
import { classNames } from "../classNamesFn";
import Layout from "antd/lib/layout";
import { Icon } from "../Icon";
import { CmsArrowLeft, CmsClose, QuestionCircleOutlined } from "../icons";
import { BRZ_PREFIX } from "../constants";
const { Header: AntHeader } = Layout;
export const Header = props => {
const { shadow = true, onBack, onClose, onHelper, children } = props;
const hasBack = typeof onBack === "function";
const hasClose = typeof onClose === "function";
const hasHelper = typeof onHelper === "function";
const className = classNames()("header", {
"header--back": hasBack,
"header--close": hasClose,
"header--shadow": shadow,
});
return (React.createElement(AntHeader, { className: className },
React.createElement("div", { className: `${BRZ_PREFIX}-header__back` }, hasBack && React.createElement(Icon, { source: CmsArrowLeft, onClick: onBack })),
React.createElement("div", { className: `${BRZ_PREFIX}-header__content` }, children),
React.createElement("div", { className: `${BRZ_PREFIX}-header__actions` },
hasHelper && (React.createElement("div", { className: `${BRZ_PREFIX}-header__helper` },
React.createElement(Icon, { source: QuestionCircleOutlined, onClick: onHelper }))),
React.createElement("div", { className: `${BRZ_PREFIX}-header__close` }, hasClose && React.createElement(Icon, { source: CmsClose, size: "14px", onClick: onClose })))));
};