text: /*
  Copyright (c) 2018-2019 Uber Technologies, Inc.
  
  This source code is licensed under the MIT license found in the
  LICENSE file in the root directory of this source tree.
  */
  // @flow
  import * as React from 'react';
  import {ACCESSIBILITY_TYPE, PLACEMENT, TRIGGER_TYPE} from './constants.js';
  import StatefulContainer from './stateful-container.js';
  import Popover from './popover.js';
  import type {StatefulPopoverPropsT} from './types.js';
  
  function StatefulPopover(props: StatefulPopoverPropsT) {
    const {children, ...restProps} = props;
    return (
      <StatefulContainer {...restProps}>
        {popoverProps => <Popover {...popoverProps}>{children}</Popover>}
      </StatefulContainer>
    );
  }
  
  StatefulPopover.defaultProps = {
    accessibilityType: ACCESSIBILITY_TYPE.menu,
    ignoreBoundary: false,
    overrides: {},
    onMouseEnterDelay: 200,
    onMouseLeaveDelay: 200,
    placement: PLACEMENT.auto,
    showArrow: false,
    triggerType: TRIGGER_TYPE.click,
    dismissOnClickOutside: true,
    dismissOnEsc: true,
    stateReducer: (_, nextState) => nextState,
  };
  
  export default StatefulPopover;
  