@talend/react-components
Version:
Set of react components.
48 lines (47 loc) • 1.73 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _reactVirtualized = require("react-virtualized");
var _Icon = _interopRequireDefault(require("../../Icon"));
var _HeaderIconModule = _interopRequireDefault(require("./HeaderIcon.module.scss"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* This renderer render the header with an icon
* @param {object} props column header props
*/function HeaderIcon({
label,
sortBy,
dataKey,
sortDirection,
columnData
}) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
className: (0, _classnames.default)(_HeaderIconModule.default['tc-header-icon'], 'tc-header-icon'),
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
title: label,
"aria-label": label,
children: [columnData.iconName && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
name: columnData.iconName
}), sortBy === dataKey && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactVirtualized.SortIndicator, {
sortDirection: sortDirection
})]
})
});
}
HeaderIcon.displayName = 'VirtualizedList(HeaderIcon)';
HeaderIcon.propTypes = {
sortBy: _propTypes.default.string,
dataKey: _propTypes.default.string,
sortDirection: _propTypes.default.string,
label: _propTypes.default.string,
columnData: _propTypes.default.shape({
iconName: _propTypes.default.string
}).isRequired
};
var _default = exports.default = HeaderIcon;
//# sourceMappingURL=HeaderIcon.component.js.map