{"version":3,"file":"use-menu.mjs","names":[],"sources":["../../../../../../packages/components/menu/src/use-menu.ts"],"sourcesContent":["import { computed } from 'vue'\n\nimport type { ComponentInternalInstance, Ref } from 'vue'\n\nexport default function useMenu(\n  instance: ComponentInternalInstance,\n  currentIndex: Ref<string>\n) {\n  const indexPath = computed(() => {\n    let parent = instance.parent!\n    const path = [currentIndex.value]\n    while (parent.type.name !== 'ElMenu') {\n      if (parent.props.index) {\n        path.unshift(parent.props.index as string)\n      }\n      parent = parent.parent!\n    }\n    return path\n  })\n\n  const parentMenu = computed(() => {\n    let parent = instance.parent\n    while (parent && !['ElMenu', 'ElSubMenu'].includes(parent.type.name!)) {\n      parent = parent.parent\n    }\n    return parent!\n  })\n\n  return {\n    parentMenu,\n    indexPath,\n  }\n}\n"],"mappings":";;AAIA,SAAwB,QACtB,UACA,cACA;CACA,MAAM,YAAY,eAAe;EAC/B,IAAI,SAAS,SAAS;EACtB,MAAM,OAAO,CAAC,aAAa,MAAM;EACjC,OAAO,OAAO,KAAK,SAAS,UAAU;GACpC,IAAI,OAAO,MAAM,OACf,KAAK,QAAQ,OAAO,MAAM,MAAgB;GAE5C,SAAS,OAAO;;EAElB,OAAO;GACP;CAUF,OAAO;EACL,YATiB,eAAe;GAChC,IAAI,SAAS,SAAS;GACtB,OAAO,UAAU,CAAC,CAAC,UAAU,YAAY,CAAC,SAAS,OAAO,KAAK,KAAM,EACnE,SAAS,OAAO;GAElB,OAAO;IAIG;EACV;EACD"}