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.

75 lines (74 loc) 2.25 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 _TileHeader = _interopRequireDefault(require("./components/TileHeader")); var _TileContent = _interopRequireDefault(require("./components/TileContent")); var _TileExpandable = _interopRequireDefault(require("./components/TileExpandable")); var _TileWrapper = _interopRequireDefault(require("./components/TileWrapper")); var _handleKeyDown = _interopRequireDefault(require("../utils/handleKeyDown")); const Tile = ({ href, external = false, dataTest, id, icon, title, expanded, description, header, children, noPadding = false, expandable = false, initialExpanded = false, noHeaderIcon = false, htmlTitle, onClick, as }) => { if (expandable) { return /*#__PURE__*/React.createElement(_TileExpandable.default, { dataTest: dataTest, id: id, icon: icon, expanded: expanded, title: title, description: description, header: header, noPadding: noPadding, initialExpanded: initialExpanded, onClick: onClick, htmlTitle: htmlTitle }, children); } const hasHeader = !!(title || description || icon || header); return /*#__PURE__*/React.createElement(_TileWrapper.default, { href: href, external: external, dataTest: dataTest, id: id, onClick: onClick, onKeyDown: (0, _handleKeyDown.default)(onClick), as: as, tabIndex: !href ? 0 : undefined, role: onClick ? "button" : undefined, htmlTitle: htmlTitle }, hasHeader && /*#__PURE__*/React.createElement(_TileHeader.default, { title: title, description: description, icon: icon, external: external, header: header, expandable: expandable, noHeaderIcon: noHeaderIcon }), children && /*#__PURE__*/React.createElement(_TileContent.default, { noPadding: noPadding, withPointer: true, withBorder: hasHeader, useMargins: false }, children)); }; var _default = Tile; exports.default = _default;