{"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;AACjC,SAAO,OAAO,KAAK,SAAS,UAAU;AACpC,OAAI,OAAO,MAAM,MACf,MAAK,QAAQ,OAAO,MAAM,MAAgB;AAE5C,YAAS,OAAO;;AAElB,SAAO;GACP;AAUF,QAAO;EACL,YATiB,eAAe;GAChC,IAAI,SAAS,SAAS;AACtB,UAAO,UAAU,CAAC,CAAC,UAAU,YAAY,CAAC,SAAS,OAAO,KAAK,KAAM,CACnE,UAAS,OAAO;AAElB,UAAO;IACP;EAIA;EACD"}