UNPKG

@flexis/ui

Version:

Styleless React Components

131 lines (112 loc) 8.26 kB
import _indexOfInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/index-of"; import _extends from "@babel/runtime-corejs3/helpers/extends"; import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/objectWithoutProperties"; import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck"; import _createClass from "@babel/runtime-corejs3/helpers/createClass"; import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime-corejs3/helpers/getPrototypeOf"; import _inherits from "@babel/runtime-corejs3/helpers/inherits"; import _Object$values from "@babel/runtime-corejs3/core-js-stable/object/values"; import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter"; var _context; import { __decorate } from "tslib"; import React from 'react'; var _createElement = React.createElement; var PureComponent = React.PureComponent; import PropTypes from 'prop-types'; import { Bind, omit, modulo } from '../../helpers'; import isKeyboardClick from '../common/isKeyboardClick'; import { style, classes } from './Table.st.css'; export var Order; (function (Order) { Order[Order["None"] = 0] = "None"; Order[Order["Asc"] = 1] = "Asc"; Order[Order["Desc"] = -1] = "Desc"; })(Order || (Order = {})); export var OrderValues = _filterInstanceProperty(_context = _Object$values(Order)).call(_context, function (_) { return typeof _ === 'number'; }); var buttonRole = { role: 'button', tabIndex: 0 }; var TableCell = /** @class */ function () { var TableCell = /*#__PURE__*/function (_PureComponent) { _inherits(TableCell, _PureComponent); function TableCell() { _classCallCheck(this, TableCell); return _possibleConstructorReturn(this, _getPrototypeOf(TableCell).apply(this, arguments)); } _createClass(TableCell, [{ key: "render", value: function render() { var _this$props = this.props, className = _this$props.className, head = _this$props.head, order = _this$props.order, children = _this$props.children, props = _objectWithoutProperties(_this$props, ["className", "head", "order", "children"]); var Cell = head ? 'th' : 'td'; var isOrder = head && typeof order === 'number'; var buttonLikeProps = isOrder ? buttonRole : {}; var buttonLikeListeners = isOrder ? { onKeyPress: this.onKeyPress } : {}; return _createElement(Cell, _extends({}, buttonLikeProps, omit(props, ['onOrderChange']), { className: style(classes.cell, { head: head, orderNone: isOrder && order === 0, orderAsc: isOrder && order === 1, orderDesc: isOrder && order === -1 }, className) }, buttonLikeListeners, { onClick: this.onOrderChange }), children); } }, { key: "onOrderChange", value: function onOrderChange(event) { var _this$props2 = this.props, onClick = _this$props2.onClick, onOrderChange = _this$props2.onOrderChange, head = _this$props2.head, order = _this$props2.order; if (head && typeof order === 'number' && typeof onOrderChange === 'function') { onOrderChange(OrderValues[modulo(_indexOfInstanceProperty(OrderValues).call(OrderValues, order) + 1, OrderValues.length)], event); } if (typeof onClick === 'function') { onClick(event); } } }, { key: "onKeyPress", value: function onKeyPress(event) { var onKeyPress = this.props.onKeyPress; var key = event.key; if (isKeyboardClick(key)) { this.onOrderChange(null); } if (typeof onKeyPress === 'function') { onKeyPress(event); } } }]); return TableCell; }(PureComponent); process.env.NODE_ENV !== "production" ? TableCell.propTypes = { head: PropTypes.bool, onOrderChange: PropTypes.func, order: PropTypes.oneOf(OrderValues), children: PropTypes.node } : void 0; TableCell.defaultProps = { head: false }; __decorate([Bind()], TableCell.prototype, "onOrderChange", null); __decorate([Bind()], TableCell.prototype, "onKeyPress", null); return TableCell; }(); export { TableCell }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RhYmxlL1RhYmxlQ2VsbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQVAsTUFPTyxPQVBQOzs7QUFRQSxPQUFPLFNBQVAsTUFBc0IsWUFBdEI7QUFDQSxTQUVDLElBRkQsRUFHQyxJQUhELEVBSUMsTUFKRCxRQUtPLGVBTFA7QUFNQSxPQUFPLGVBQVAsTUFBNEIsMkJBQTVCO0FBQ0EsU0FDQyxLQURELEVBRUMsT0FGRCxRQUdPLGdCQUhQO0FBS0EsT0FBQSxJQUFZLEtBQVo7O0FBQUEsQ0FBQSxVQUFZLEtBQVosRUFBaUI7QUFDaEIsRUFBQSxLQUFBLENBQUEsS0FBQSxDQUFBLE1BQUEsQ0FBQSxHQUFBLENBQUEsQ0FBQSxHQUFBLE1BQUE7QUFDQSxFQUFBLEtBQUEsQ0FBQSxLQUFBLENBQUEsS0FBQSxDQUFBLEdBQUEsQ0FBQSxDQUFBLEdBQUEsS0FBQTtBQUNBLEVBQUEsS0FBQSxDQUFBLEtBQUEsQ0FBQSxNQUFBLENBQUEsR0FBQSxDQUFBLENBQUEsQ0FBQSxHQUFBLE1BQUE7QUFDQSxDQUpELEVBQVksS0FBSyxLQUFMLEtBQUssR0FBQSxFQUFBLENBQWpCOztBQXFCQSxPQUFPLElBQU0sV0FBVyxHQUFHLGtEQUFjLEtBQWQsa0JBQTRCLFVBQUEsQ0FBQztBQUFBLFNBQUksT0FBTyxDQUFQLEtBQWEsUUFBakI7QUFBQSxDQUE3QixDQUFwQjtBQUVQLElBQU0sVUFBVSxHQUFHO0FBQ2xCLEVBQUEsSUFBSSxFQUFNLFFBRFE7QUFFbEIsRUFBQSxRQUFRLEVBQUU7QUFGUSxDQUFuQjs7QUFLQSxJQUFBLFNBQUE7QUFBQTtBQUFBLFlBQUE7QUFBQSxNQUFhLFNBQWI7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBLCtCQWFPO0FBQUEsMEJBUUQsS0FBSyxLQVJKO0FBQUEsWUFHSixTQUhJLGVBR0osU0FISTtBQUFBLFlBSUosSUFK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