import * as _ from 'lodash'; import * as PropTypes from 'prop-types'; import * as React from 'react'; import { getComponentGroup, scrollToAnchor } from '../../../utils'; import ComponentPropsOutline from './ComponentPropsOutline'; import { Flex, Header } from '@fluentui/react-northstar'; import ComponentPropCard from './ComponentPropCard'; export default class ComponentProps extends React.Component { static propTypes = { displayName: PropTypes.string.isRequired, props: PropTypes.arrayOf(PropTypes.object).isRequired, }; componentWillMount() { const { displayName } = this.props; this.setState({ componentGroup: getComponentGroup(displayName), }); scrollToAnchor(); } componentWillReceiveProps(nextProps) { const { displayName } = nextProps; this.setState({ componentGroup: getComponentGroup(displayName), }); scrollToAnchor(); } render() { const { componentGroup } = this.state; const displayNames = _.keys(componentGroup); return ( {_.map(displayNames, displayName => { const description = _.get(componentGroup, [displayName, 'docblock', 'description'], ''); const showHeader = displayNames.length > 1; return ( <> {showHeader &&
} ); })} ); } }