UNPKG

@appearhere/bloom

Version:

Appear Here's pattern library and styleguide

37 lines (30 loc) 817 B
import PropTypes from 'prop-types'; import React from 'react'; import warning from 'warning'; import Indicator from './Indicator'; const IndicatorGroup = (props) => { const { children, activeIndicator, Component, ...parentProps } = props; return ( <div {...parentProps}> { children && children(({ i, ...childProps }) => { warning(!isNaN(i), 'IndicatorGroup(): children must be passed an index prop, `i`'); const active = activeIndicator === i; return <Component {...childProps} active={active} />; }) } </div> ); }; IndicatorGroup.propTypes = { children: PropTypes.func.isRequired, activeIndicator: PropTypes.number, Component: PropTypes.func, }; IndicatorGroup.defaultProps = { Component: Indicator, }; export default IndicatorGroup;