UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

89 lines (74 loc) 3.07 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _utils = require("./utils"); var ColumnGroup = _react["default"].forwardRef(function (props, ref) { var header = props.header, className = props.className, children = props.children, classPrefix = props.classPrefix, _props$headerHeight = props.headerHeight, headerHeight = _props$headerHeight === void 0 ? 80 : _props$headerHeight, verticalAlign = props.verticalAlign, width = props.width, left = props.left, rest = (0, _objectWithoutProperties2["default"])(props, ["header", "className", "children", "classPrefix", "headerHeight", "verticalAlign", "width", "left"]); var height = headerHeight / 2; var styles = { height: height, width: width, left: left }; var contentStyles = (0, _objectSpread2["default"])({}, styles, { verticalAlign: verticalAlign }); var addPrefix = function addPrefix(name) { return (0, _utils.prefix)(classPrefix)(name); }; return _react["default"].createElement("div", (0, _extends2["default"])({ ref: ref, className: (0, _classnames["default"])(classPrefix, className) }, rest), _react["default"].createElement("div", { className: addPrefix('header'), style: styles }, _react["default"].createElement("div", { className: addPrefix('header-content'), style: contentStyles }, header)), _react["default"].Children.map(children, function (node) { var _node$props; var nodeStyles = (0, _objectSpread2["default"])({}, (_node$props = node.props) === null || _node$props === void 0 ? void 0 : _node$props.style, { top: styles.height, left: styles.left }); return _react["default"].cloneElement(node, { className: addPrefix('cell'), style: nodeStyles, children: _react["default"].createElement("span", { className: addPrefix('cell-content') }, node.props.children) }); })); }); ColumnGroup.displayName = 'ColumnGroup'; ColumnGroup.__PRO_TABLE_COLUMN_GROUP = true; ColumnGroup.defaultProps = { headerHeight: 80, classPrefix: (0, _utils.defaultClassPrefix)('performance-table-column-group') }; ColumnGroup.propTypes = { header: _propTypes["default"].node, classPrefix: _propTypes["default"].string, verticalAlign: _propTypes["default"].oneOf(['top', 'middle', 'bottom']) }; var _default = ColumnGroup; exports["default"] = _default; //# sourceMappingURL=ColumnGroup.js.map