import '../../../utils/index.mjs';
import '../../button/index.mjs';
import { someType, objectType, booleanType, eventType } from '../../../utils/vue/propType.mjs';
import PropTypes from '../../../utils/vue/vueTypes.mjs';
import { buttonProps } from '../../button/src/props.mjs';

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

export { dropdownButtonProps, dropdownProps, innerDropdownProps };
//# sourceMappingURL=props.mjs.map
