"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = exports.placementTypes = exports.triggerTypes = void 0;

var _vueTypes = _interopRequireDefault(require("../_util/vue-types"));

var _type = require("../_util/type");

var triggerTypes = (0, _type.tuple)('hover', 'focus', 'click', 'contextmenu');
exports.triggerTypes = triggerTypes;
var placementTypes = (0, _type.tuple)('top', 'left', 'right', 'bottom', 'topLeft', 'topRight', 'bottomLeft', 'bottomRight', 'leftTop', 'leftBottom', 'rightTop', 'rightBottom');
exports.placementTypes = placementTypes;

var _default = function _default() {
  return {
    trigger: _vueTypes.default.oneOfType([_vueTypes.default.oneOf(triggerTypes), _vueTypes.default.arrayOf(_vueTypes.default.oneOf(triggerTypes))]),
    visible: _vueTypes.default.looseBool,
    defaultVisible: _vueTypes.default.looseBool,
    placement: _vueTypes.default.oneOf(placementTypes),
    color: _vueTypes.default.string,
    transitionName: _vueTypes.default.string,
    overlayStyle: _vueTypes.default.style,
    overlayClassName: _vueTypes.default.string,
    openClassName: _vueTypes.default.string,
    prefixCls: _vueTypes.default.string,
    mouseEnterDelay: _vueTypes.default.number,
    mouseLeaveDelay: _vueTypes.default.number,
    getPopupContainer: _vueTypes.default.func,
    arrowPointAtCenter: _vueTypes.default.looseBool,
    autoAdjustOverflow: _vueTypes.default.oneOfType([_vueTypes.default.looseBool, _vueTypes.default.object]),
    destroyTooltipOnHide: _vueTypes.default.looseBool,
    align: _vueTypes.default.object,
    builtinPlacements: _vueTypes.default.object,
    children: _vueTypes.default.array,
    onVisibleChange: _vueTypes.default.func,
    'onUpdate:visible': _vueTypes.default.func
  };
};

exports.default = _default;