{"version":3,"file":"props.mjs","sources":["../../../../../../packages/components/menu/src/props.ts"],"sourcesContent":["import type { CSSMotionProps, FocusEventHandler, Key, MouseEventHandler } from '@antdv/types';\nimport type { ExtractPropTypes, PropType } from 'vue';\nimport type {\n  BuiltinPlacements,\n  ItemType,\n  MenuClickEventHandler,\n  MenuMode,\n  MenuTheme,\n  SelectEventHandler,\n  TriggerSubMenuAction,\n} from './interface';\nimport { objectType, PropTypes } from '@antdv/utils';\n\nexport function menuDividerProps() {\n  return {\n    prefixCls: String,\n    dashed: Boolean,\n  };\n}\n\nexport function menuItemGroupProps() {\n  return {\n    title: PropTypes.any,\n    // Internal user prop\n    originItemValue: objectType<ItemType>(),\n  };\n}\n\nexport function menuProps() {\n  return {\n    'id': String,\n    'prefixCls': String,\n    // donot use items, now only support inner use\n    'items': Array as PropType<ItemType[]>,\n    'disabled': Boolean,\n    'inlineCollapsed': Boolean,\n    'disabledOverflow': Boolean,\n    'forceSubMenuRender': Boolean,\n    'openKeys': Array as PropType<Key[]>,\n    'selectedKeys': Array as PropType<Key[]>,\n    'activeKey': String, // 内部组件使用\n    'selectable': { type: Boolean, default: true },\n    'multiple': { type: Boolean, default: false },\n    'tabindex': { type: [Number, String] },\n    'motion': Object as PropType<CSSMotionProps>,\n    'role': String,\n    'theme': { type: String as PropType<MenuTheme>, default: 'light' },\n    'mode': { type: String as PropType<MenuMode>, default: 'vertical' },\n\n    'inlineIndent': { type: Number, default: 24 },\n    'subMenuOpenDelay': { type: Number, default: 0 },\n    'subMenuCloseDelay': { type: Number, default: 0.1 },\n\n    'builtinPlacements': { type: Object as PropType<BuiltinPlacements> },\n\n    'triggerSubMenuAction': { type: String as PropType<TriggerSubMenuAction>, default: 'hover' },\n\n    'getPopupContainer': Function as PropType<(node: HTMLElement) => HTMLElement>,\n\n    'expandIcon': Function as PropType<(p?: { isOpen: boolean, [key: string]: any }) => any>,\n    'onOpenChange': Function as PropType<(keys: Key[]) => void>,\n    'onSelect': Function as PropType<SelectEventHandler>,\n    'onDeselect': Function as PropType<SelectEventHandler>,\n    'onClick': [Function, Array] as PropType<MenuClickEventHandler>,\n    'onFocus': Function as PropType<FocusEventHandler>,\n    'onBlur': Function as PropType<FocusEventHandler>,\n    'onMousedown': Function as PropType<MouseEventHandler>,\n    'onUpdate:openKeys': Function as PropType<(keys: Key[]) => void>,\n    'onUpdate:selectedKeys': Function as PropType<(keys: Key[]) => void>,\n    'onUpdate:activeKey': Function as PropType<(key: Key) => void>,\n  };\n}\n\nexport function menuItemProps() {\n  return {\n    id: String,\n    role: String,\n    disabled: Boolean,\n    danger: Boolean,\n    title: { type: [String, Boolean], default: undefined },\n    icon: PropTypes.any,\n    onMouseenter: Function as PropType<MouseEventHandler>,\n    onMouseleave: Function as PropType<MouseEventHandler>,\n    onClick: Function as PropType<MouseEventHandler>,\n    onKeydown: Function as PropType<MouseEventHandler>,\n    onFocus: Function as PropType<MouseEventHandler>,\n    // Internal user prop\n    originItemValue: objectType<ItemType>(),\n  };\n}\n\nexport function subMenuProps() {\n  return {\n    icon: PropTypes.any,\n    title: PropTypes.any,\n    disabled: Boolean,\n    level: Number,\n    popupClassName: String,\n    popupOffset: Array as unknown as PropType<[number, number]>,\n    internalPopupClose: Boolean,\n    eventKey: String,\n    expandIcon: Function as PropType<(p?: { isOpen: boolean, [key: string]: any }) => any>,\n    theme: String as PropType<MenuTheme>,\n    onMouseenter: Function as PropType<MouseEventHandler>,\n    onMouseleave: Function as PropType<MouseEventHandler>,\n    onTitleClick: Function as PropType<(e: MouseEvent, key: Key) => void>,\n\n    // Internal user prop\n    originItemValue: objectType<ItemType>(),\n  };\n}\n\nexport type SubMenuProps = Partial<ExtractPropTypes<ReturnType<typeof subMenuProps>>>;\n\nexport type MenuItemProps = Partial<ExtractPropTypes<ReturnType<typeof menuItemProps>>>;\n\nexport type MenuProps = Partial<ExtractPropTypes<ReturnType<typeof menuProps>>>;\n\nexport type MenuDividerProps = Partial<ExtractPropTypes<ReturnType<typeof menuDividerProps>>>;\n\nexport type MenuItemGroupProps = Partial<ExtractPropTypes<ReturnType<typeof menuItemGroupProps>>>;\n"],"names":[],"mappings":"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"}