{"version":3,"file":"menu-item2.mjs","sources":["../../../../../../packages/components/menu/src/menu-item.vue"],"sourcesContent":["<template>\n  <li\n    class=\"el-menu-item\"\n    role=\"menuitem\"\n    tabindex=\"-1\"\n    :style=\"paddingStyle\"\n    :class=\"{\n      'is-active': active,\n      'is-disabled': disabled,\n    }\"\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=\"Effect.DARK\"\n      placement=\"right\"\n      persistent\n    >\n      <template #content>\n        <slot name=\"title\" />\n      </template>\n      <div\n        :style=\"{\n          position: 'absolute',\n          left: 0,\n          top: 0,\n          height: '100%',\n          width: '100%',\n          display: 'inline-block',\n          boxSizing: 'border-box',\n          padding: '0 20px',\n        }\"\n      >\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\">\nimport {\n  defineComponent,\n  computed,\n  onMounted,\n  onBeforeUnmount,\n  inject,\n  getCurrentInstance,\n  toRef,\n  reactive,\n} from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { Effect } from '@element-plus/components/popper'\nimport { throwError } from '@element-plus/utils'\nimport useMenu from './use-menu'\nimport { menuItemEmits, menuItemProps } from './menu-item'\n\nimport type { MenuItemRegistered, MenuProvider, SubMenuProvider } from './types'\n\nconst COMPONENT_NAME = 'ElMenuItem'\nexport default defineComponent({\n  name: COMPONENT_NAME,\n  components: {\n    ElTooltip,\n  },\n\n  props: menuItemProps,\n  emits: menuItemEmits,\n\n  setup(props, { emit }) {\n    const instance = getCurrentInstance()!\n    const rootMenu = inject<MenuProvider>('rootMenu')\n    if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n    const { parentMenu, paddingStyle, indexPath } = useMenu(\n      instance,\n      toRef(props, 'index')\n    )\n\n    const subMenu = inject<SubMenuProvider>(`subMenu:${parentMenu.value.uid}`)\n    if (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\n    const active = computed(() => props.index === rootMenu.activeIndex)\n    const item: MenuItemRegistered = reactive({\n      index: props.index,\n      indexPath,\n      active,\n    })\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\n    onMounted(() => {\n      subMenu.addSubMenu(item)\n      rootMenu.addMenuItem(item)\n    })\n\n    onBeforeUnmount(() => {\n      subMenu.removeSubMenu(item)\n      rootMenu.removeMenuItem(item)\n    })\n\n    return {\n      Effect,\n      parentMenu,\n      rootMenu,\n      paddingStyle,\n      active,\n\n      handleClick,\n    }\n  },\n})\n</script>\n"],"names":["_openBlock","_normalizeStyle","_withCtx","_createElementBlock","_renderSlot"],"mappings":";;;;;;;;;;AAkEA,MAAM,iBAAiB;AACvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAGF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,WAAW;AACjB,UAAM,WAAW,OAAqB;AACtC,QAAI,CAAC;AAAU,iBAAW,gBAAgB;AAE1C,UAAM,EAAE,YAAY,cAAc,cAAc,QAC9C,UACA,MAAM,OAAO;AAGf,UAAM,UAAU,OAAwB,WAAW,WAAW,MAAM;AACpE,QAAI,CAAC;AAAS,iBAAW,gBAAgB;AAEzC,UAAM,SAAS,SAAS,MAAM,MAAM,UAAU,SAAS;AACvD,UAAM,OAA2B,SAAS;AAAA,MACxC,OAAO,MAAM;AAAA,MACb;AAAA,MACA;AAAA;AAGF,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,MAAM,UAAU;AACnB,iBAAS,oBAAoB;AAAA,UAC3B,OAAO,MAAM;AAAA,UACb,WAAW,UAAU;AAAA,UACrB,OAAO,MAAM;AAAA;AAEf,aAAK,SAAS;AAAA;AAAA;AAIlB,cAAU,MAAM;AACd,cAAQ,WAAW;AACnB,eAAS,YAAY;AAAA;AAGvB,oBAAgB,MAAM;AACpB,cAAQ,cAAc;AACtB,eAAS,eAAe;AAAA;AAG1B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA;AAAA;AAAA;;;;;;;;;EAzFG;AAAA;;;SAjCAA,gCAAe;AAAA,0BAIS,iBAAM;AAAA,wBAAuB;AAAA;;IAF1D;AAAA,IACC,UAAK;AAAA,IAKL,OAAKC;AAAA;;IAGwD,gBAAS,KAAM,SAAQ,YAAY,cAAO,MAAK;MAK1G;AAAA,MACD,aAAU,OAAO;AAAA,MACjB,WAAU;AAAA;OAEC;AAAA,eACTC,QAAqB;AAAA;;eAEvBA,cAaM;AAAA,2BADI;AAAA;;;;UAGZ,6BACUC;AAAA,MACRC,WAAqB;AAAA;;;;;;;;"}