{
  "name": "Menu",
  "props": {
    "children": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "菜单项和子菜单",
      "docblock": "菜单项和子菜单"
    },
    "onItemClick": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "点击菜单项触发的回调函数",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "点击菜单项触发的回调函数\n@param {String} key 点击的菜单项的 key 值\n@param {Object} item 点击的菜单项对象\n@param {Object} event 点击的事件对象",
      "params": [
        {
          "name": "key",
          "description": "点击的菜单项的 key 值",
          "type": {
            "name": "String"
          }
        },
        {
          "name": "item",
          "description": "点击的菜单项对象",
          "type": {
            "name": "Object"
          }
        },
        {
          "name": "event",
          "description": "点击的事件对象",
          "type": {
            "name": "Object"
          }
        }
      ],
      "returns": null
    },
    "openKeys": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "string"
          },
          {
            "name": "array"
          }
        ]
      },
      "required": false,
      "description": "当前打开的子菜单的 key 值",
      "docblock": "当前打开的子菜单的 key 值"
    },
    "defaultOpenKeys": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "string"
          },
          {
            "name": "array"
          }
        ]
      },
      "required": false,
      "description": "初始打开的子菜单的 key 值",
      "defaultValue": {
        "value": "[]",
        "computed": false
      },
      "docblock": "初始打开的子菜单的 key 值"
    },
    "defaultOpenAll": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "初始展开所有的子菜单，只在 mode 设置为 'inline' 以及 openMode 设置为 'multiple' 下生效，优先级高于 defaultOpenKeys",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "初始展开所有的子菜单，只在 mode 设置为 'inline' 以及 openMode 设置为 'multiple' 下生效，优先级高于 defaultOpenKeys"
    },
    "onOpen": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "打开或关闭子菜单触发的回调函数",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "打开或关闭子菜单触发的回调函数\n@param {Array} key 打开的所有子菜单的 key 值\n@param {Object} extra 额外参数\n@param {String} extra.key 当前操作子菜单的 key 值\n@param {Boolean} extra.open 是否是打开",
      "params": [
        {
          "name": "key",
          "description": "打开的所有子菜单的 key 值",
          "type": {
            "name": "Array"
          }
        },
        {
          "name": "extra",
          "description": "额外参数",
          "type": {
            "name": "Object"
          }
        },
        {
          "name": "extra.key",
          "description": "当前操作子菜单的 key 值",
          "type": {
            "name": "String"
          }
        },
        {
          "name": "extra.open",
          "description": "是否是打开",
          "type": {
            "name": "Boolean"
          }
        }
      ],
      "returns": null
    },
    "mode": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'inline'",
            "computed": false
          },
          {
            "value": "'popup'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "子菜单打开的模式",
      "defaultValue": {
        "value": "'inline'",
        "computed": false
      },
      "docblock": "子菜单打开的模式"
    },
    "triggerType": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'click'",
            "computed": false
          },
          {
            "value": "'hover'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "子菜单打开的触发行为",
      "defaultValue": {
        "value": "'click'",
        "computed": false
      },
      "docblock": "子菜单打开的触发行为"
    },
    "openMode": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'single'",
            "computed": false
          },
          {
            "value": "'multiple'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "展开内连子菜单的模式，同时可以展开一个子菜单还是多个子菜单，该属性仅在 mode 为 inline 时生效",
      "defaultValue": {
        "value": "'multiple'",
        "computed": false
      },
      "docblock": "展开内连子菜单的模式，同时可以展开一个子菜单还是多个子菜单，该属性仅在 mode 为 inline 时生效"
    },
    "inlineIndent": {
      "type": {
        "name": "number"
      },
      "required": false,
      "description": "内连子菜单缩进距离",
      "defaultValue": {
        "value": "20",
        "computed": false
      },
      "docblock": "内连子菜单缩进距离"
    },
    "popupAutoWidth": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否自动让弹层的宽度和菜单项保持一致，如果弹层的宽度比菜单项小则和菜单项保持一致，如果宽度大于菜单项则不做处理",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否自动让弹层的宽度和菜单项保持一致，如果弹层的宽度比菜单项小则和菜单项保持一致，如果宽度大于菜单项则不做处理"
    },
    "popupAlign": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'follow'",
            "computed": false
          },
          {
            "value": "'outside'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "弹层的对齐方式",
      "defaultValue": {
        "value": "'follow'",
        "computed": false
      },
      "docblock": "弹层的对齐方式"
    },
    "popupProps": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "object"
          },
          {
            "name": "func"
          }
        ]
      },
      "required": false,
      "description": "弹层自定义 props",
      "defaultValue": {
        "value": "{}",
        "computed": false
      },
      "docblock": "弹层自定义 props"
    },
    "popupClassName": {
      "type": {
        "name": "string"
      },
      "required": false,
      "description": "弹出子菜单自定义 className",
      "docblock": "弹出子菜单自定义 className"
    },
    "popupStyle": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "弹出子菜单自定义 style",
      "docblock": "弹出子菜单自定义 style",
      "properties": []
    },
    "selectedKeys": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "string"
          },
          {
            "name": "array"
          }
        ]
      },
      "required": false,
      "description": "当前选中菜单项的 key 值",
      "docblock": "当前选中菜单项的 key 值"
    },
    "defaultSelectedKeys": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "string"
          },
          {
            "name": "array"
          }
        ]
      },
      "required": false,
      "description": "初始选中菜单项的 key 值",
      "defaultValue": {
        "value": "[]",
        "computed": false
      },
      "docblock": "初始选中菜单项的 key 值"
    },
    "onSelect": {
      "type": {
        "name": "func"
      },
      "required": false,
      "description": "选中或取消选中菜单项触发的回调函数",
      "defaultValue": {
        "value": "() => {}",
        "computed": false
      },
      "docblock": "选中或取消选中菜单项触发的回调函数\n@param {Array} selectedKeys 选中的所有菜单项的值\n@param {Object} item 选中或取消选中的菜单项\n@param {Object} extra 额外参数\n@param {Boolean} extra.select 是否是选中\n@param {Array} extra.key 菜单项的 key\n@param {Object} extra.label 菜单项的文本\n@param {Array} extra.keyPath 菜单项 key 的路径",
      "params": [
        {
          "name": "selectedKeys",
          "description": "选中的所有菜单项的值",
          "type": {
            "name": "Array"
          }
        },
        {
          "name": "item",
          "description": "选中或取消选中的菜单项",
          "type": {
            "name": "Object"
          }
        },
        {
          "name": "extra",
          "description": "额外参数",
          "type": {
            "name": "Object"
          }
        },
        {
          "name": "extra.select",
          "description": "是否是选中",
          "type": {
            "name": "Boolean"
          }
        },
        {
          "name": "extra.key",
          "description": "菜单项的 key",
          "type": {
            "name": "Array"
          }
        },
        {
          "name": "extra.label",
          "description": "菜单项的文本",
          "type": {
            "name": "Object"
          }
        },
        {
          "name": "extra.keyPath",
          "description": "菜单项 key 的路径",
          "type": {
            "name": "Array"
          }
        }
      ],
      "returns": null
    },
    "selectMode": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'single'",
            "computed": false
          },
          {
            "value": "'multiple'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "选中模式，单选还是多选，默认无值，不可选",
      "docblock": "选中模式，单选还是多选，默认无值，不可选"
    },
    "shallowSelect": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否只能选择第一层菜单项（不能选择子菜单中的菜单项）",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否只能选择第一层菜单项（不能选择子菜单中的菜单项）"
    },
    "hasSelectedIcon": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否显示选中图标，如果设置为 false 需配合配置平台设置选中时的背景色以示区分",
      "defaultValue": {
        "value": "true",
        "computed": false
      },
      "docblock": "是否显示选中图标，如果设置为 false 需配合配置平台设置选中时的背景色以示区分"
    },
    "isSelectIconRight": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否将选中图标居右，仅当 hasSelectedIcon 为true 时生效。\n注意：SubMenu 上的选中图标一直居左，不受此API控制",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否将选中图标居右，仅当 hasSelectedIcon 为true 时生效。\n注意：SubMenu 上的选中图标一直居左，不受此API控制"
    },
    "direction": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'ver'",
            "computed": false
          },
          {
            "value": "'hoz'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "菜单第一层展示方向",
      "defaultValue": {
        "value": "'ver'",
        "computed": false
      },
      "docblock": "菜单第一层展示方向"
    },
    "hozAlign": {
      "type": {
        "name": "enum",
        "value": [
          {
            "value": "'left'",
            "computed": false
          },
          {
            "value": "'right'",
            "computed": false
          }
        ]
      },
      "required": false,
      "description": "横向菜单条 item 和 footer 的对齐方向，在 direction 设置为 'hoz' 并且 header 存在时生效",
      "defaultValue": {
        "value": "'left'",
        "computed": false
      },
      "docblock": "横向菜单条 item 和 footer 的对齐方向，在 direction 设置为 'hoz' 并且 header 存在时生效"
    },
    "hozInLine": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "横向菜单模式下，是否维持在一行，即超出一行折叠成 SubMenu 显示， 仅在 direction='hoz' mode='popup' 时生效",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "横向菜单模式下，是否维持在一行，即超出一行折叠成 SubMenu 显示， 仅在 direction='hoz' mode='popup' 时生效"
    },
    "header": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "自定义菜单头部",
      "docblock": "自定义菜单头部"
    },
    "footer": {
      "type": {
        "name": "node"
      },
      "required": false,
      "description": "自定义菜单尾部",
      "docblock": "自定义菜单尾部"
    },
    "autoFocus": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否自动获得焦点",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否自动获得焦点"
    },
    "focusedKey": {
      "type": {
        "name": "union",
        "value": [
          {
            "name": "string"
          },
          {
            "name": "number"
          },
          {
            "name": "object"
          }
        ]
      },
      "required": false,
      "description": "当前获得焦点的子菜单或菜单项 key 值",
      "docblock": "当前获得焦点的子菜单或菜单项 key 值"
    },
    "embeddable": {
      "type": {
        "name": "bool"
      },
      "required": false,
      "description": "是否开启嵌入式模式，一般用于Layout的布局中，开启后没有默认背景、外层border、box-shadow，可以配合`<Menu style={{lineHeight: '100px'}}>` 自定义高度",
      "defaultValue": {
        "value": "false",
        "computed": false
      },
      "docblock": "是否开启嵌入式模式，一般用于Layout的布局中，开启后没有默认背景、外层border、box-shadow，可以配合`<Menu style={{lineHeight: '100px'}}>` 自定义高度\n@version 1.18",
      "version": {
        "value": "1.18",
        "computed": false
      }
    },
    "icons": {
      "type": {
        "name": "object"
      },
      "required": false,
      "description": "可配置的icons，包括 select 等",
      "defaultValue": {
        "value": "{}",
        "computed": false
      },
      "docblock": "可配置的icons，包括 select 等",
      "properties": []
    }
  },
  "methods": [
    {
      "name": "create",
      "docblock": "\n  创建上下文菜单\n  @exportName create\n  @param {Object} props 属性对象\n ",
      "description": "创建上下文菜单",
      "modifiers": [
        "static"
      ],
      "params": [
        {
          "name": "props",
          "description": "属性对象",
          "type": {
            "type": "NameExpression",
            "name": "Object"
          }
        }
      ],
      "returns": null
    }
  ],
  "subComponents": [
    {
      "name": "Item",
      "props": {
        "disabled": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否禁用",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "是否禁用"
        },
        "helper": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "帮助文本",
          "docblock": "帮助文本"
        },
        "children": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "菜单项标签内容",
          "docblock": "菜单项标签内容"
        }
      },
      "methods": [],
      "order": 0
    },
    {
      "name": "SubMenu",
      "props": {
        "label": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "标签内容",
          "docblock": "标签内容"
        },
        "selectable": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否可选，该属性仅在设置 Menu 组件 selectMode 属性后生效",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "是否可选，该属性仅在设置 Menu 组件 selectMode 属性后生效"
        },
        "mode": {
          "type": {
            "name": "enum",
            "value": [
              {
                "value": "'inline'",
                "computed": false
              },
              {
                "value": "'popup'",
                "computed": false
              }
            ]
          },
          "required": false,
          "description": "子菜单打开方式，如果设置会覆盖 Menu 上的同名属性",
          "docblock": "子菜单打开方式，如果设置会覆盖 Menu 上的同名属性\n@default Menu 的 mode 属性值",
          "defaultValue": {
            "value": "Menu 的 mode 属性值",
            "computed": false
          }
        },
        "noIcon": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否需要提示当前项可展开的 icon，默认是有的",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "是否需要提示当前项可展开的 icon，默认是有的"
        },
        "children": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "菜单项或下一级子菜单",
          "docblock": "菜单项或下一级子菜单"
        }
      },
      "methods": [],
      "order": 1
    },
    {
      "name": "PopupItem",
      "props": {
        "label": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "标签内容",
          "docblock": "标签内容"
        },
        "children": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "自定义弹层内容",
          "docblock": "自定义弹层内容"
        },
        "triggerType": {
          "type": {
            "name": "enum",
            "value": [
              {
                "value": "'click'",
                "computed": false
              },
              {
                "value": "'hover'",
                "computed": false
              }
            ]
          },
          "required": false,
          "description": "子菜单打开的触发行为",
          "docblock": "子菜单打开的触发行为"
        }
      },
      "methods": [],
      "order": 2
    },
    {
      "name": "CheckboxItem",
      "props": {
        "checked": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否选中",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "是否选中"
        },
        "indeterminate": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否半选中",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "是否半选中"
        },
        "disabled": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否禁用",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "是否禁用"
        },
        "onChange": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "选中或取消选中触发的回调函数",
          "defaultValue": {
            "value": "() => {}",
            "computed": false
          },
          "docblock": "选中或取消选中触发的回调函数\n@param {Boolean} checked 是否选中\n@param {Object} event 选中事件对象",
          "params": [
            {
              "name": "checked",
              "description": "是否选中",
              "type": {
                "name": "Boolean"
              }
            },
            {
              "name": "event",
              "description": "选中事件对象",
              "type": {
                "name": "Object"
              }
            }
          ],
          "returns": null
        },
        "helper": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "帮助文本",
          "docblock": "帮助文本"
        },
        "children": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "标签内容",
          "docblock": "标签内容"
        }
      },
      "methods": [],
      "description": "该子组件选中情况不受 defaultSelectedKeys/selectedKeys 控制，请自行控制选中逻辑",
      "order": 3
    },
    {
      "name": "RadioItem",
      "props": {
        "checked": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否选中",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "是否选中"
        },
        "disabled": {
          "type": {
            "name": "bool"
          },
          "required": false,
          "description": "是否禁用",
          "defaultValue": {
            "value": "false",
            "computed": false
          },
          "docblock": "是否禁用"
        },
        "onChange": {
          "type": {
            "name": "func"
          },
          "required": false,
          "description": "选中或取消选中触发的回调函数",
          "defaultValue": {
            "value": "() => {}",
            "computed": false
          },
          "docblock": "选中或取消选中触发的回调函数\n@param {Boolean} checked 是否选中\n@param {Object} event 选中事件对象",
          "params": [
            {
              "name": "checked",
              "description": "是否选中",
              "type": {
                "name": "Boolean"
              }
            },
            {
              "name": "event",
              "description": "选中事件对象",
              "type": {
                "name": "Object"
              }
            }
          ],
          "returns": null
        },
        "helper": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "帮助文本",
          "docblock": "帮助文本"
        },
        "children": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "标签内容",
          "docblock": "标签内容"
        }
      },
      "methods": [],
      "description": "该子组件选中情况不受 defaultSelectedKeys/selectedKeys 控制，请自行控制选中逻辑",
      "order": 4
    },
    {
      "name": "Group",
      "props": {
        "label": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "标签内容",
          "docblock": "标签内容"
        },
        "children": {
          "type": {
            "name": "node"
          },
          "required": false,
          "description": "菜单项",
          "docblock": "菜单项"
        }
      },
      "methods": [],
      "order": 5
    },
    {
      "name": "Divider",
      "props": {},
      "methods": [],
      "order": 6
    }
  ]
}