UNPKG

@talend/react-components

Version:
52 lines (51 loc) 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classnames = _interopRequireDefault(require("classnames")); var _RowSelectionModule = _interopRequireDefault(require("./RowSelection.module.scss")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** * Higher order row-renderer that wrap the provided row renderer. * It manages row selection classname and inject it to the row renderer props. */function getRowSelectionRenderer(WrappedComponent, { isSelected, isActive, getRowState, getRowData, as, rowProps }) { function RowSelection(props) { const rowData = getRowData(props); const active = isActive && isActive(rowData); const selected = isSelected && isSelected(rowData); const { disabled = false } = getRowState && getRowState(rowData) || {}; const enhancedClassNames = (0, _classnames.default)(props.className, _RowSelectionModule.default['row-selection'], { [_RowSelectionModule.default.active]: active }, { active }, { [_RowSelectionModule.default.selected]: selected }, { [_RowSelectionModule.default.disabled]: disabled }, { selected }); return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, { ...props, ...rowProps, as: as, className: enhancedClassNames }); } RowSelection.propTypes = WrappedComponent.propTypes; RowSelection.displayName = `RowSelection(${WrappedComponent.displayName})`; return RowSelection; } var _default = exports.default = getRowSelectionRenderer; //# sourceMappingURL=RowSelection.component.js.map