React Trigger Component
Include the default styling and then:
import React from 'react';
import ReactDOM from 'react-dom';
import Trigger from '@rc-component/trigger';
ReactDOM.render(
  <Trigger
    action={['click']}
    popup={<span>popup</span>}
    popupAlign={{
      points: ['tl', 'bl'],
      offset: [0, 3],
    }}
  >
    <a href="#">hover</a>
  </Trigger>,
  container,
);![]() IE / Edge  | 
![]() Firefox  | 
![]() Chrome  | 
![]() Safari  | 
![]() Electron  | 
|---|---|---|---|---|
| IE11, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions | 
npm install
npm start
| name | type | default | description | 
|---|---|---|---|
| alignPoint | bool | false | Popup will align with mouse position (support action of 'click', 'hover' and 'contextMenu') | 
| popupClassName | string | additional className added to popup | |
| forceRender | boolean | false | whether render popup before first show | 
| destroyPopupOnHide | boolean | false | whether destroy popup when hide | 
| getPopupClassNameFromAlign | getPopupClassNameFromAlign(align: Object):String | additional className added to popup according to align | |
| action | string[] | ['hover'] | which actions cause popup shown. enum of 'hover','click','focus','contextMenu' | 
| mouseEnterDelay | number | 0 | delay time to show when mouse enter. unit: s. | 
| mouseLeaveDelay | number | 0.1 | delay time to hide when mouse leave. unit: s. | 
| popupStyle | Object | additional style of popup | |
| prefixCls | String | rc-trigger-popup | prefix class name | 
| popupTransitionName | String|Object | https://github.com/react-component/animate | |
| maskTransitionName | String|Object | https://github.com/react-component/animate | |
| onPopupVisibleChange | Function | call when popup visible is changed | |
| mask | boolean | false | whether to support mask | 
| maskClosable | boolean | true | whether to support click mask to hide | 
| popupVisible | boolean | whether popup is visible | |
| zIndex | number | popup's zIndex | |
| defaultPopupVisible | boolean | whether popup is visible initially | |
| popupAlign | Object: alignConfig of [dom-align](https://github.com/yiminghe/dom-align) | popup 's align config | |
| onPopupAlign | function(popupDomNode, align) | callback when popup node is aligned | |
| popup | React.Element | function() => React.Element | popup content | |
| getPopupContainer | getPopupContainer(): HTMLElement | function returning html node which will act as popup container | |
| getDocument | getDocument(): HTMLElement | function returning document node which will be attached click event to close trigger | |
| popupPlacement | string | use preset popup align config from builtinPlacements, can be merged by popupAlign prop | |
| builtinPlacements | object | builtin placement align map. used by placement prop | |
| stretch | string | Let popup div stretch with trigger element. enums of 'width', 'minWidth', 'height', 'minHeight'. (You can also mixed with 'height minWidth') | 
npm test
npm run coverage
open coverage/ dir
rc-trigger is released under the MIT license.





