UNPKG

rr-table

Version:

Responsive and customizable React Table

91 lines (66 loc) 6.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _colorPalette = require("../../config/styles/colorPalette"); var _icons = require("../../assets/icons"); var _sortOrders = require("../../config/constants/sortOrders"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _templateObject2() { var data = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n max-height: 100%;\n\n &:hover {\n color: ", ";\n }\n"]); _templateObject2 = function _templateObject2() { return data; }; return data; } function _templateObject() { var data = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n max-height: 100%;\n padding-right: 20px;\n"]); _templateObject = function _templateObject() { return data; }; return data; } function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } /** Styles */ var SortWrapper = _styledComponents.default.div(_templateObject()); var IconWrapper = _styledComponents.default.div(_templateObject2(), _colorPalette.grey); var ICON_WIDTH = 18; var ICON_HEIGHT = 18; /** Component */ var Sort = function Sort(_ref) { var onSort = _ref.onSort, sortingKey = _ref.sortingKey; var handleSortASC = function handleSortASC(e) { e.stopPropagation(); onSort(sortingKey, _sortOrders.ASC); }; var handleSortDESC = function handleSortDESC(e) { e.stopPropagation(); onSort(sortingKey, _sortOrders.DESC); }; return _react.default.createElement(SortWrapper, null, _react.default.createElement(IconWrapper, { onClick: handleSortASC }, _react.default.createElement(_icons.ChevronUp, { width: ICON_WIDTH, height: ICON_HEIGHT })), _react.default.createElement(IconWrapper, { onClick: handleSortDESC }, _react.default.createElement(_icons.ChevronDown, { width: ICON_WIDTH, height: ICON_HEIGHT }))); }; /** Props Types */ Sort.propTypes = { /** sorting function */ onSort: _propTypes.default.func.isRequired, /** key to sort */ sortingKey: _propTypes.default.string.isRequired }; var _default = Sort; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NvcnQvaW5kZXguanN4Il0sIm5hbWVzIjpbIlNvcnRXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiSWNvbldyYXBwZXIiLCJncmV5IiwiSUNPTl9XSURUSCIsIklDT05fSEVJR0hUIiwiU29ydCIsIm9uU29ydCIsInNvcnRpbmdLZXkiLCJoYW5kbGVTb3J0QVNDIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIkFTQyIsImhhbmRsZVNvcnRERVNDIiwiREVTQyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUE7QUFDQSxJQUFNQSxXQUFXLEdBQUdDLDBCQUFPQyxHQUFWLG1CQUFqQjs7QUFPQSxJQUFNQyxXQUFXLEdBQUdGLDBCQUFPQyxHQUFWLHFCQU1KRSxrQkFOSSxDQUFqQjs7QUFVQSxJQUFNQyxVQUFVLEdBQUcsRUFBbkI7QUFDQSxJQUFNQyxXQUFXLEdBQUUsRUFBbkI7QUFFQTs7QUFDQSxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxPQUE0QjtBQUFBLE1BQXpCQyxNQUF5QixRQUF6QkEsTUFBeUI7QUFBQSxNQUFqQkMsVUFBaUIsUUFBakJBLFVBQWlCOztBQUN2QyxNQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLENBQUQsRUFBTztBQUMzQkEsSUFBQUEsQ0FBQyxDQUFDQyxlQUFGO0FBQ0FKLElBQUFBLE1BQU0sQ0FBQ0MsVUFBRCxFQUFhSSxlQUFiLENBQU47QUFDRCxHQUhEOztBQUtBLE1BQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0gsQ0FBRCxFQUFPO0FBQzVCQSxJQUFBQSxDQUFDLENBQUNDLGVBQUY7QUFDQUosSUFBQUEsTUFBTSxDQUFDQyxVQUFELEVBQWFNLGdCQUFiLENBQU47QUFDRCxHQUhEOztBQUlBLFNBQ0UsNkJBQUMsV0FBRCxRQUNFLDZCQUFDLFdBQUQ7QUFBYSxJQUFBLE9BQU8sRUFBRUw7QUFBdEIsS0FDRSw2QkFBQyxnQkFBRDtBQUFXLElBQUEsS0FBSyxFQUFFTCxVQUFsQjtBQUE4QixJQUFBLE1BQU0sRUFBRUM7QUFBdEMsSUFERixDQURGLEVBSUUsNkJBQUMsV0FBRDtBQUFhLElBQUEsT0FBTyxFQUFFUTtBQUF0QixLQUNFLDZCQUFDLGtCQUFEO0FBQWEsSUFBQSxLQUFLLEVBQUVULFVBQXBCO0FBQWdDLElBQUEsTUFBTSxFQUFFQztBQUF4QyxJQURGLENBSkYsQ0FERjtBQVVELENBcEJEO0FBc0JBOzs7QUFDQUMsSUFBSSxDQUFDUyxTQUFMLEdBQWlCO0FBQ2Y7QUFDQVIsRUFBQUEsTUFBTSxFQUFFUyxtQkFBVUMsSUFBVixDQUFlQyxVQUZSOztBQUdmO0FBQ0FWLEVBQUFBLFVBQVUsRUFBRVEsbUJBQVVHLE1BQVYsQ0FBaUJEO0FBSmQsQ0FBakI7ZUFPZVosSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGdyZXkgfSBmcm9tICdjb25maWcvc3R5bGVzL2NvbG9yUGFsZXR0ZSc7XG5pbXBvcnQgeyBDaGV2cm9uVXAsIENoZXZyb25Eb3duIH0gZnJvbSAnYXNzZXRzL2ljb25zJztcbmltcG9ydCB7IEFTQywgREVTQyB9IGZyb20gJ2NvbmZpZy9jb25zdGFudHMvc29ydE9yZGVycyc7XG5cbi8qKiBTdHlsZXMgKi9cbmNvbnN0IFNvcnRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbmA7XG5cbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHtncmV5fTtcbiAgfVxuYDtcblxuY29uc3QgSUNPTl9XSURUSCA9IDE4O1xuY29uc3QgSUNPTl9IRUlHSFQ9IDE4O1xuXG4vKiogQ29tcG9uZW50ICovXG5jb25zdCBTb3J0ID0gKHsgb25Tb3J0LCBzb3J0aW5nS2V5IH0pID0+IHtcbiAgY29uc3QgaGFuZGxlU29ydEFTQyA9IChlKSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBvblNvcnQoc29ydGluZ0tleSwgQVNDKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTb3J0REVTQyA9IChlKSA9PiB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBvblNvcnQoc29ydGluZ0tleSwgREVTQyk7XG4gIH07XG4gIHJldHVybiAoXG4gICAgPFNvcnRXcmFwcGVyPlxuICAgICAgPEljb25XcmFwcGVyIG9uQ2xpY2s9e2hhbmRsZVNvcnRBU0N9PlxuICAgICAgICA8Q2hldnJvblVwIHdpZHRoPXtJQ09OX1dJRFRIfSBoZWlnaHQ9e0lDT05fSEVJR0hUfSAvPlxuICAgICAgPC9JY29uV3JhcHBlcj5cbiAgICAgIDxJY29uV3JhcHBlciBvbkNsaWNrPXtoYW5kbGVTb3J0REVTQ30+XG4gICAgICAgIDxDaGV2cm9uRG93biB3aWR0aD17SUNPTl9XSURUSH0gaGVpZ2h0PXtJQ09OX0hFSUdIVH0gLz5cbiAgICAgIDwvSWNvbldyYXBwZXI+XG4gICAgPC9Tb3J0V3JhcHBlcj5cbiAgKTtcbn07XG5cbi8qKiBQcm9wcyBUeXBlcyAqL1xuU29ydC5wcm9wVHlwZXMgPSB7XG4gIC8qKiBzb3J0aW5nIGZ1bmN0aW9uICovXG4gIG9uU29ydDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgLyoqIGtleSB0byBzb3J0ICovXG4gIHNvcnRpbmdLZXk6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNvcnQ7XG4iXX0=