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.

71 lines (70 loc) 2.35 kB
"use strict"; "use client"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; exports.__esModule = true; exports.CardSection = void 0; exports.default = Card; var React = _interopRequireWildcard(require("react")); var _clsx = _interopRequireDefault(require("clsx")); var _consts = require("../Heading/consts"); var _Header = _interopRequireDefault(require("./components/Header")); var _tailwind = require("../common/tailwind"); var _Loading = _interopRequireDefault(require("../Loading")); var _CardSection = _interopRequireDefault(require("./CardSection")); exports.CardSection = _CardSection.default; function Card({ title, titleAs = _consts.ELEMENT_OPTIONS.H2, actions, description, children, labelClose = "Close", dataTest, id, onClose, loading, margin, header, spaceAfter, dataA11ySection }) { const marginStyles = (() => { if (margin == null) { return {}; } if (typeof margin === "string" || typeof margin === "number") { return { margin }; } return { marginTop: margin.top, marginRight: margin.right, marginBottom: margin.bottom, marginLeft: margin.left }; })(); return /*#__PURE__*/React.createElement("div", { id: id, className: (0, _clsx.default)("font-base bg-white-normal [&>*]:border-elevation-flat-border-color [&>*:first-child]:rounded-t-normal [&>*:last-child]:rounded-b-normal w-full [&>*:first-child]:border-t", spaceAfter != null && _tailwind.spaceAfterClasses[spaceAfter]), "data-test": dataTest, style: marginStyles }, (title != null || header != null) && !loading && /*#__PURE__*/React.createElement("div", { className: "p-md lm:p-lg lm:border-x relative border-b" }, /*#__PURE__*/React.createElement(_Header.default, { description: description, dataA11ySection: dataA11ySection, actions: actions, title: title, labelClose: labelClose, titleAs: titleAs, onClose: onClose, header: header })), !loading && children, loading && /*#__PURE__*/React.createElement("div", { className: "lm:border-x border-b" }, /*#__PURE__*/React.createElement(_Loading.default, { loading: loading, type: "boxLoader" }))); }