@clive-cudi/geist-ui
Version:
Modern and minimalist React UI library.
43 lines (36 loc) • 1.25 kB
JavaScript
import { useEffect } from 'react';
import { useTableContext } from './table-context';
import useWarning from '../utils/use-warning';
var defaultProps = {
className: '',
render: function render() {}
};
var TableColumn = function TableColumn(columnProps) {
var _ref = columnProps,
children = _ref.children,
prop = _ref.prop,
label = _ref.label,
width = _ref.width,
_ref$className = _ref.className,
className = _ref$className === void 0 ? defaultProps.className : _ref$className,
_ref$render = _ref.render,
renderHandler = _ref$render === void 0 ? defaultProps.render : _ref$render;
var _useTableContext = useTableContext(),
updateColumn = _useTableContext.updateColumn;
var safeProp = "".concat(prop).trim();
if (!safeProp) {
useWarning('The props "prop" is required.', 'Table.Column');
}
useEffect(function () {
updateColumn({
label: children || label,
prop: safeProp,
width: width,
className: className,
renderHandler: renderHandler
});
}, [children, label, prop, width, className, renderHandler]);
return null;
}; // TableColumn.defaultProps = defaultProps
TableColumn.displayName = 'GeistTableColumn';
export default TableColumn;