@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
63 lines (62 loc) • 2.33 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
exports.__esModule = true;
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _ChevronDown = _interopRequireDefault(require("../../icons/ChevronDown"));
var _Stack = _interopRequireDefault(require("../../Stack"));
var _Heading = _interopRequireDefault(require("../../Heading"));
var _Text = _interopRequireDefault(require("../../Text"));
var _Close = _interopRequireDefault(require("../../icons/Close"));
var _ButtonLink = _interopRequireDefault(require("../../ButtonLink"));
const Header = ({
description,
title,
titleAs,
isSection,
labelClose,
actions,
dataA11ySection,
onClose,
header,
expandable,
expanded
}) => /*#__PURE__*/React.createElement(_Stack.default, {
align: "center",
spacing: "small"
}, (title || description) && !header && /*#__PURE__*/React.createElement(_Stack.default, {
flex: true,
shrink: !!actions || expandable,
align: "stretch",
direction: "column",
spacing: isSection ? "none" : "XXSmall"
}, /*#__PURE__*/React.createElement(_Stack.default, {
inline: true,
spacing: "small",
align: "center"
}, title && /*#__PURE__*/React.createElement(_Heading.default, {
type: isSection ? "title4" : "title3",
as: titleAs,
dataA11ySection: dataA11ySection
}, title)), description && /*#__PURE__*/React.createElement(_Text.default, {
as: "div"
}, description)), header, expandable && !actions && /*#__PURE__*/React.createElement(_ChevronDown.default, {
className: (0, _clsx.default)("duration-fast transition-transform ease-in-out", expanded && "-rotate-180"),
color: "secondary"
}), actions && /*#__PURE__*/React.createElement(_Stack.default, {
inline: true,
grow: false,
justify: "end"
}, actions), onClose && !actions && /*#__PURE__*/React.createElement("div", {
className: "absolute end-0 top-0"
}, /*#__PURE__*/React.createElement(_ButtonLink.default, {
type: "secondary",
size: "small",
iconLeft: /*#__PURE__*/React.createElement(_Close.default, null),
onClick: onClose,
title: labelClose
})));
var _default = Header;
exports.default = _default;