UNPKG

rsuite

Version:

A suite of react components

100 lines (85 loc) 3.52 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _omit = _interopRequireDefault(require("lodash/omit")); var _utils = require("../utils"); var Col = /*#__PURE__*/_react.default.forwardRef(function (props, ref) { var _props$as = props.as, Component = _props$as === void 0 ? 'div' : _props$as, _props$classPrefix = props.classPrefix, classPrefix = _props$classPrefix === void 0 ? 'col' : _props$classPrefix, className = props.className, rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className"]); var _useClassNames = (0, _utils.useClassNames)(classPrefix), prefix = _useClassNames.prefix, merge = _useClassNames.merge, rootPrefix = _useClassNames.rootPrefix, withClassPrefix = _useClassNames.withClassPrefix; var colClasses = {}; var omitKeys = {}; var getPropValue = function getPropValue(key) { omitKeys[key] = null; return rest[key]; }; _utils.COLUMN_SIZE.forEach(function (size) { var col = getPropValue(size); var hidden = getPropValue(size + "Hidden"); var offset = getPropValue(size + "Offset"); var push = getPropValue(size + "Push"); var pull = getPropValue(size + "Pull"); colClasses[rootPrefix("hidden-" + size)] = hidden; colClasses[prefix(size + "-" + col)] = col >= 0; colClasses[prefix(size + "-offset-" + offset)] = offset >= 0; colClasses[prefix(size + "-push-" + push)] = push >= 0; colClasses[prefix(size + "-pull-" + pull)] = pull >= 0; }); var classes = merge(className, withClassPrefix(), colClasses); var unhandledProps = (0, _omit.default)(rest, Object.keys(omitKeys)); return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ role: "gridcell" }, unhandledProps, { ref: ref, className: classes })); }); Col.displayName = 'Col'; Col.propTypes = { className: _propTypes.default.string, classPrefix: _propTypes.default.string, xs: _propTypes.default.number, sm: _propTypes.default.number, md: _propTypes.default.number, lg: _propTypes.default.number, xl: _propTypes.default.number, xxl: _propTypes.default.number, xsOffset: _propTypes.default.number, smOffset: _propTypes.default.number, mdOffset: _propTypes.default.number, lgOffset: _propTypes.default.number, xlOffset: _propTypes.default.number, xxlOffset: _propTypes.default.number, xsPush: _propTypes.default.number, smPush: _propTypes.default.number, mdPush: _propTypes.default.number, lgPush: _propTypes.default.number, xsPull: _propTypes.default.number, smPull: _propTypes.default.number, mdPull: _propTypes.default.number, lgPull: _propTypes.default.number, xlPull: _propTypes.default.number, xxlPull: _propTypes.default.number, xsHidden: _propTypes.default.bool, smHidden: _propTypes.default.bool, mdHidden: _propTypes.default.bool, lgHidden: _propTypes.default.bool, xlHidden: _propTypes.default.bool, xxlHidden: _propTypes.default.bool, as: _propTypes.default.elementType }; var _default = Col; exports.default = _default;