{"ast":null,"code":"import { defineComponent, getCurrentInstance, inject, toRef, computed, reactive, onMounted, onBeforeUnmount, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, withCtx, renderSlot, createElementVNode, Fragment } from 'vue';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport useMenu from './use-menu.mjs';\nimport { menuItemProps, menuItemEmits } from './menu-item.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { throwError } from '../../../utils/error.mjs';\nconst COMPONENT_NAME = \"ElMenuItem\";\nconst _sfc_main = defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip\n },\n props: menuItemProps,\n emits: menuItemEmits,\n setup(props, {\n emit\n }) {\n const instance = getCurrentInstance();\n const rootMenu = inject(\"rootMenu\");\n const nsMenu = useNamespace(\"menu\");\n const nsMenuItem = useNamespace(\"menu-item\");\n if (!rootMenu) throwError(COMPONENT_NAME, \"can not inject root menu\");\n const {\n parentMenu,\n indexPath\n } = useMenu(instance, toRef(props, \"index\"));\n const subMenu = inject(`subMenu:${parentMenu.value.uid}`);\n if (!subMenu) throwError(COMPONENT_NAME, \"can not inject sub menu\");\n const active = computed(() => props.index === rootMenu.activeIndex);\n const item = reactive({\n index: props.index,\n indexPath,\n active\n });\n const handleClick = () => {\n if (!props.disabled) {\n rootMenu.handleMenuItemClick({\n index: props.index,\n indexPath: indexPath.value,\n route: props.route\n });\n emit(\"click\", item);\n }\n };\n onMounted(() => {\n subMenu.addSubMenu(item);\n rootMenu.addMenuItem(item);\n });\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item);\n rootMenu.removeMenuItem(item);\n });\n return {\n parentMenu,\n rootMenu,\n active,\n nsMenu,\n nsMenuItem,\n handleClick\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_tooltip = resolveComponent(\"el-tooltip\");\n return openBlock(), createElementBlock(\"li\", {\n class: normalizeClass([_ctx.nsMenuItem.b(), _ctx.nsMenuItem.is(\"active\", _ctx.active), _ctx.nsMenuItem.is(\"disabled\", _ctx.disabled)]),\n role: \"menuitem\",\n tabindex: \"-1\",\n onClick: _ctx.handleClick\n }, [_ctx.parentMenu.type.name === \"ElMenu\" && _ctx.rootMenu.props.collapse && _ctx.$slots.title ? (openBlock(), createBlock(_component_el_tooltip, {\n key: 0,\n effect: _ctx.rootMenu.props.popperEffect,\n placement: \"right\",\n \"fallback-placements\": [\"left\"],\n persistent: \"\"\n }, {\n content: withCtx(() => [renderSlot(_ctx.$slots, \"title\")]),\n default: withCtx(() => [createElementVNode(\"div\", {\n class: normalizeClass(_ctx.nsMenu.be(\"tooltip\", \"trigger\"))\n }, [renderSlot(_ctx.$slots, \"default\")], 2)]),\n _: 3\n }, 8, [\"effect\"])) : (openBlock(), createElementBlock(Fragment, {\n key: 1\n }, [renderSlot(_ctx.$slots, \"default\"), renderSlot(_ctx.$slots, \"title\")], 64))], 10, [\"onClick\"]);\n}\nvar MenuItem = /* @__PURE__ */_export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"menu-item.vue\"]]);\nexport { MenuItem as default };","map":{"version":3,"names":["COMPONENT_NAME","_sfc_main","defineComponent","name","components","ElTooltip","props","menuItemProps","emits","menuItemEmits","setup","emit","instance","getCurrentInstance","rootMenu","inject","nsMenu","useNamespace","nsMenuItem","throwError","parentMenu","indexPath","useMenu","toRef","subMenu","value","uid","active","computed","index","activeIndex","item","reactive","handleClick","disabled","handleMenuItemClick","route","onMounted","addSubMenu","addMenuItem","onBeforeUnmount","removeSubMenu","removeMenuItem","_cache","$props","$setup","$data","$options","_component_el_tooltip","resolveComponent","openBlock","createElementBlock","class","normalizeClass","_ctx","b","is","role","tabindex","onClick","type","collapse","$slots","title","createBlock","key","effect","popperEffect","placement","persistent","content","withCtx","default","createElementVNode","be","MenuItem","_export_sfc","_sfc_render"],"sources":["../../../../../../packages/components/menu/src/menu-item.vue"],"sourcesContent":["\n\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}