{"version":3,"file":"menu-item2.mjs","sources":["../../../../../../../packages/components/menu/src/menu-item.vue"],"sourcesContent":["<template>\n  <li\n    :class=\"[\n      nsMenuItem.b(),\n      nsMenuItem.is('active', active),\n      nsMenuItem.is('disabled', disabled),\n    ]\"\n    role=\"menuitem\"\n    tabindex=\"-1\"\n    @click=\"handleClick\"\n  >\n    <el-tooltip\n      v-if=\"\n        parentMenu.type.name === 'ElMenu' &&\n        rootMenu.props.collapse &&\n        $slots.title\n      \"\n      :effect=\"rootMenu.props.popperEffect\"\n      placement=\"right\"\n      :fallback-placements=\"['left']\"\n      :persistent=\"rootMenu.props.persistent\"\n      focus-on-target\n    >\n      <template #content>\n        <slot name=\"title\" />\n      </template>\n      <div :class=\"nsMenu.be('tooltip', 'trigger')\">\n        <slot />\n      </div>\n    </el-tooltip>\n    <template v-else>\n      <slot />\n      <slot name=\"title\" />\n    </template>\n  </li>\n</template>\n\n<script lang=\"ts\" setup>\n// @ts-nocheck\nimport {\n  computed,\n  getCurrentInstance,\n  inject,\n  onBeforeUnmount,\n  onMounted,\n  reactive,\n  toRef,\n} from 'vue'\nimport ElTooltip from '@hd-front-end/components/tooltip'\nimport { debugWarn, isPropAbsent, throwError } from '@hd-front-end/utils'\nimport { useNamespace } from '@hd-front-end/hooks'\nimport useMenu from './use-menu'\nimport { menuItemEmits, menuItemProps } from './menu-item'\nimport { MENU_INJECTION_KEY, SUB_MENU_INJECTION_KEY } from './tokens'\n\nimport type { MenuItemRegistered, MenuProvider, SubMenuProvider } from './types'\n\nconst COMPONENT_NAME = 'ElMenuItem'\ndefineOptions({\n  name: COMPONENT_NAME,\n})\nconst props = defineProps(menuItemProps)\nconst emit = defineEmits(menuItemEmits)\n\nisPropAbsent(props.index) &&\n  debugWarn(COMPONENT_NAME, 'Missing required prop: \"index\"')\n\nconst instance = getCurrentInstance()!\nconst rootMenu = inject<MenuProvider>(MENU_INJECTION_KEY)\nconst nsMenu = useNamespace('menu')\nconst nsMenuItem = useNamespace('menu-item')\nif (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\nconst { parentMenu, indexPath } = useMenu(instance, toRef(props, 'index'))\n\nconst subMenu = inject<SubMenuProvider>(\n  `${SUB_MENU_INJECTION_KEY}${parentMenu.value.uid}`\n)\nif (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\nconst active = computed(() => props.index === rootMenu.activeIndex)\nconst item: MenuItemRegistered = reactive({\n  index: props.index,\n  indexPath,\n  active,\n})\n\nconst 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\nonMounted(() => {\n  subMenu.addSubMenu(item)\n  rootMenu.addMenuItem(item)\n})\n\nonBeforeUnmount(() => {\n  subMenu.removeSubMenu(item)\n  rootMenu.removeMenuItem(item)\n})\n\ndefineExpose({\n  parentMenu,\n  rootMenu,\n  active,\n  nsMenu,\n  nsMenuItem,\n  handleClick,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","disabled","$slots","_createBlock","_withCtx","_renderSlot","_createElementVNode","_Fragment"],"mappings":"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"}