'use strict';

require('../../../utils/index.cjs');
require('../../button/index.cjs');
var propType = require('../../../utils/vue/propType.cjs');
var vueTypes = require('../../../utils/vue/vueTypes.cjs');
var props = require('../../button/src/props.cjs');

function dropdownProps() {
  return {
    "arrow": propType.someType([Boolean, Object]),
    "trigger": {
      type: [Array, String]
    },
    "menu": propType.objectType(),
    "overlay": vueTypes.default.any,
    /** @deprecated Please use `open` instead */
    "visible": propType.booleanType(),
    "open": propType.booleanType(),
    "disabled": propType.booleanType(),
    "danger": propType.booleanType(),
    "autofocus": propType.booleanType(),
    "align": propType.objectType(),
    "getPopupContainer": Function,
    "prefixCls": String,
    "transitionName": String,
    "placement": String,
    "overlayClassName": String,
    "overlayStyle": propType.objectType(),
    "forceRender": propType.booleanType(),
    "mouseEnterDelay": Number,
    "mouseLeaveDelay": Number,
    "openClassName": String,
    "minOverlayWidthMatchTrigger": propType.booleanType(),
    "destroyPopupOnHide": propType.booleanType(),
    /** @deprecated Please use `onOpenChange` instead */
    "onVisibleChange": {
      type: Function
    },
    /** @deprecated Please use `onUpdate:open` instead */
    "onUpdate:visible": {
      type: Function
    },
    "onOpenChange": {
      type: Function
    },
    "onUpdate:open": {
      type: Function
    }
  };
}
const buttonTypesProps = props.buttonProps();
function dropdownButtonProps() {
  return {
    ...dropdownProps(),
    type: buttonTypesProps.type,
    size: String,
    htmlType: buttonTypesProps.htmlType,
    href: String,
    disabled: propType.booleanType(),
    prefixCls: String,
    icon: vueTypes.default.any,
    title: String,
    loading: buttonTypesProps.loading,
    onClick: propType.eventType()
  };
}
function innerDropdownProps() {
  return {
    minOverlayWidthMatchTrigger: { type: Boolean, default: void 0 },
    arrow: { type: Boolean, default: false },
    prefixCls: vueTypes.default.string.def("rc-dropdown"),
    transitionName: String,
    overlayClassName: vueTypes.default.string.def(""),
    openClassName: String,
    animation: vueTypes.default.any,
    align: vueTypes.default.object,
    overlayStyle: { type: Object, default: () => ({}) },
    placement: vueTypes.default.string.def("bottomLeft"),
    overlay: vueTypes.default.any,
    trigger: vueTypes.default.oneOfType([vueTypes.default.string, vueTypes.default.arrayOf(vueTypes.default.string)]).def(
      "hover"
    ),
    alignPoint: { type: Boolean, default: void 0 },
    showAction: vueTypes.default.array,
    hideAction: vueTypes.default.array,
    getPopupContainer: Function,
    visible: { type: Boolean, default: void 0 },
    defaultVisible: { type: Boolean, default: false },
    mouseEnterDelay: vueTypes.default.number.def(0.15),
    mouseLeaveDelay: vueTypes.default.number.def(0.1)
  };
}

exports.dropdownButtonProps = dropdownButtonProps;
exports.dropdownProps = dropdownProps;
exports.innerDropdownProps = innerDropdownProps;
//# sourceMappingURL=props.cjs.map
