@6thquake/react-material
Version:
React components that implement Google's Material Design.
27 lines (23 loc) • 962 B
JavaScript
import _extends from "@babel/runtime/helpers/extends";
/**
* @ignore - do not document.
*/
import React from 'react';
import PropTypes from 'prop-types';
import { CrossTabulationData } from './CrossTabulationUtilities';
import CrossTabulationRenderers from './CrossTabulationRenderers';
class CrossTabulation extends React.PureComponent {
render() {
const Renderer = this.props.renderers[this.props.rendererName in this.props.renderers ? this.props.rendererName : Object.keys(this.props.renderers)[0]];
return React.createElement(Renderer, this.props);
}
}
process.env.NODE_ENV !== "production" ? CrossTabulation.propTypes = _extends({}, CrossTabulationData.propTypes, {
rendererName: PropTypes.string,
renderers: PropTypes.objectOf(PropTypes.func)
}) : void 0;
CrossTabulation.defaultProps = _extends({}, CrossTabulationData.defaultProps, {
rendererName: 'Table',
renderers: CrossTabulationRenderers
});
export default CrossTabulation;