@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.
39 lines (38 loc) • 1.62 kB
JavaScript
;
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 _consts = require("./consts");
var _consts2 = require("../consts");
const verticalAlignStyles = {
baseline: "align-baseline",
middle: "align-middle",
top: "align-top",
bottom: "align-bottom"
};
const whitespaceStyles = {
normal: "whitespace-normal",
nowrap: "whitespace-nowrap",
pre: "whitespace-pre",
"pre-line": "whitespace-pre-line",
"pre-wrap": "whitespace-pre-wrap"
};
const TableCell = props => {
const {
align = _consts.ALIGN_OPTIONS.LEFT,
as: Component = _consts2.TYPE_AS.TD,
verticalAlign,
whiteSpace,
dataTest,
children
} = props;
return /*#__PURE__*/React.createElement(Component, {
className: (0, _clsx.default)("font-base text-normal text-ink-dark box-border", verticalAlign != null && verticalAlignStyles[verticalAlign], whiteSpace != null && whitespaceStyles[whiteSpace], (align === _consts.ALIGN_OPTIONS.START || align === _consts.ALIGN_OPTIONS.LEFT) && "text-start", align === _consts.ALIGN_OPTIONS.CENTER && "text-center", (align === _consts.ALIGN_OPTIONS.END || align === _consts.ALIGN_OPTIONS.RIGHT) && "text-end"),
"data-test": dataTest,
scope: props.as === _consts2.TYPE_AS.TH ? props.scope : undefined
}, children);
};
var _default = exports.default = TableCell;