UNPKG

@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
"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;