46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
| import PropTypes from '../_util/vue-types';
 | |
| import { tuple } from '../_util/type';
 | |
| export const triggerTypes = tuple('hover', 'focus', 'click', 'contextmenu');
 | |
| 
 | |
| export const placementTypes = tuple(
 | |
|   'top',
 | |
|   'left',
 | |
|   'right',
 | |
|   'bottom',
 | |
|   'topLeft',
 | |
|   'topRight',
 | |
|   'bottomLeft',
 | |
|   'bottomRight',
 | |
|   'leftTop',
 | |
|   'leftBottom',
 | |
|   'rightTop',
 | |
|   'rightBottom',
 | |
| );
 | |
| 
 | |
| export default () => ({
 | |
|   trigger: PropTypes.oneOfType([
 | |
|     PropTypes.oneOf(triggerTypes),
 | |
|     PropTypes.arrayOf(PropTypes.oneOf(triggerTypes)),
 | |
|   ]),
 | |
|   visible: PropTypes.looseBool,
 | |
|   defaultVisible: PropTypes.looseBool,
 | |
|   placement: PropTypes.oneOf(placementTypes),
 | |
|   color: PropTypes.string,
 | |
|   transitionName: PropTypes.string,
 | |
|   overlayStyle: PropTypes.style,
 | |
|   overlayClassName: PropTypes.string,
 | |
|   openClassName: PropTypes.string,
 | |
|   prefixCls: PropTypes.string,
 | |
|   mouseEnterDelay: PropTypes.number,
 | |
|   mouseLeaveDelay: PropTypes.number,
 | |
|   getPopupContainer: PropTypes.func,
 | |
|   arrowPointAtCenter: PropTypes.looseBool,
 | |
|   autoAdjustOverflow: PropTypes.oneOfType([PropTypes.looseBool, PropTypes.object]),
 | |
|   destroyTooltipOnHide: PropTypes.looseBool,
 | |
|   align: PropTypes.object,
 | |
|   builtinPlacements: PropTypes.object,
 | |
|   children: PropTypes.array,
 | |
|   onVisibleChange: PropTypes.func,
 | |
|   'onUpdate:visible': PropTypes.func,
 | |
| });
 |