import '../../../utils/index.mjs';
import PropTypes from '../../../utils/vue/vueTypes.mjs';
import { objectType } from '../../../utils/vue/propType.mjs';

function menuDividerProps() {
  return {
    prefixCls: String,
    dashed: Boolean
  };
}
function menuItemGroupProps() {
  return {
    title: PropTypes.any,
    // Internal user prop
    originItemValue: objectType()
  };
}
function menuProps() {
  return {
    "id": String,
    "prefixCls": String,
    // donot use items, now only support inner use
    "items": Array,
    "disabled": Boolean,
    "inlineCollapsed": Boolean,
    "disabledOverflow": Boolean,
    "forceSubMenuRender": Boolean,
    "openKeys": Array,
    "selectedKeys": Array,
    "activeKey": String,
    // 内部组件使用
    "selectable": { type: Boolean, default: true },
    "multiple": { type: Boolean, default: false },
    "tabindex": { type: [Number, String] },
    "motion": Object,
    "role": String,
    "theme": { type: String, default: "light" },
    "mode": { type: String, default: "vertical" },
    "inlineIndent": { type: Number, default: 24 },
    "subMenuOpenDelay": { type: Number, default: 0 },
    "subMenuCloseDelay": { type: Number, default: 0.1 },
    "builtinPlacements": { type: Object },
    "triggerSubMenuAction": { type: String, default: "hover" },
    "getPopupContainer": Function,
    "expandIcon": Function,
    "onOpenChange": Function,
    "onSelect": Function,
    "onDeselect": Function,
    "onClick": [Function, Array],
    "onFocus": Function,
    "onBlur": Function,
    "onMousedown": Function,
    "onUpdate:openKeys": Function,
    "onUpdate:selectedKeys": Function,
    "onUpdate:activeKey": Function
  };
}
function menuItemProps() {
  return {
    id: String,
    role: String,
    disabled: Boolean,
    danger: Boolean,
    title: { type: [String, Boolean], default: void 0 },
    icon: PropTypes.any,
    onMouseenter: Function,
    onMouseleave: Function,
    onClick: Function,
    onKeydown: Function,
    onFocus: Function,
    // Internal user prop
    originItemValue: objectType()
  };
}
function subMenuProps() {
  return {
    icon: PropTypes.any,
    title: PropTypes.any,
    disabled: Boolean,
    level: Number,
    popupClassName: String,
    popupOffset: Array,
    internalPopupClose: Boolean,
    eventKey: String,
    expandIcon: Function,
    theme: String,
    onMouseenter: Function,
    onMouseleave: Function,
    onTitleClick: Function,
    // Internal user prop
    originItemValue: objectType()
  };
}

export { menuDividerProps, menuItemGroupProps, menuItemProps, menuProps, subMenuProps };
//# sourceMappingURL=props.mjs.map
