render()

in src/popover/stateful-container.ts [149:220]


  render() {
    const {
      accessibilityType,
      autoFocus,
      animateOutTime,
      dismissOnClickOutside,
      dismissOnEsc,
      focusLock,
      ignoreBoundary,
      mountNode,
      onBlur,
      onClick,
      onFocus,
      onMouseEnter,
      onMouseLeave,
      onMouseEnterDelay,
      onMouseLeaveDelay,
      overrides,
      placement,
      popperOptions,
      renderAll,
      returnFocus,
      showArrow,
      triggerType,
      popoverMargin,
      focusOptions,
    } = this.props;

    const popoverProps: PopoverPropsWithoutChildren = {
      accessibilityType,
      animateOutTime,
      autoFocus,
      content: this.renderContent,
      focusLock,
      ignoreBoundary,
      isOpen: this.state.isOpen,
      mountNode,
      onBlur,
      onClick,
      onFocus,
      onMouseEnter,
      onMouseLeave,
      onMouseEnterDelay,
      onMouseLeaveDelay,
      overrides,
      placement,
      popperOptions,
      renderAll,
      returnFocus,
      showArrow,
      triggerType,
      popoverMargin,
      focusOptions,
    };

    if (dismissOnClickOutside) {
      popoverProps.onClickOutside = this.onClickOutside;
    }
    if (dismissOnEsc) {
      popoverProps.onEsc = this.onEsc;
    }
    if (triggerType === TRIGGER_TYPE.hover) {
      popoverProps.onBlur = this.onBlur;
      popoverProps.onFocus = this.onFocus;
      popoverProps.onMouseEnter = this.onMouseEnter;
      popoverProps.onMouseLeave = this.onMouseLeave;
    } else {
      popoverProps.onClick = this.onClick;
    }

    return this.props.children(popoverProps);
  }