render()

in modules/monochrome/src/shared/popover/popover.js [426:451]


  render() {
    const {theme, style} = this.props;
    const {isVisible, popperPlacement, popperStyles, popperOffsets} = this.state;

    const [position] = popperPlacement.split('-');
    const arrowPosition = position === POSITIONS.AUTO ? POSITIONS.TOP : position;

    const styleProps = {
      theme,
      arrowSize: 'arrowSize' in style ? style.arrowSize : DEFAULT_ARROW_SIZE,
      background: style.background,
      borderWidth: 'borderWidth' in style ? style.borderWidth : DEFAULT_BORDER_WIDTH,
      borderColor: style.borderColor,
      position,
      arrowPosition,
      popperStyles,
      popperOffsets,
      isActive: isVisible
    };
    return (
      <PopoverComponent userStyle={style.popover} {...styleProps}>
        {this._renderTarget(styleProps)}
        {isVisible && this._renderBody(styleProps)}
      </PopoverComponent>
    );
  }