{"version":3,"file":"use-menu.mjs","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 !== 'BMenu') {\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 && !['BMenu', 'BSubMenu'].includes(parent.type.name!)) {\n      parent = parent.parent\n    }\n    return parent!\n  })\n\n  return {\n    parentMenu,\n    indexPath,\n  }\n}\n"],"names":[],"mappings":";;AAIwB,SAAA,OAAA,CACtB,UACA,YACA,EAAA;AACA,EAAM,MAAA,SAAA,GAAY,SAAS,MAAM;AAC/B,IAAA,IAAI,SAAS,QAAS,CAAA,MAAA,CAAA;AACtB,IAAM,MAAA,IAAA,GAAO,CAAC,YAAA,CAAa,KAAK,CAAA,CAAA;AAChC,IAAO,OAAA,MAAA,CAAO,IAAK,CAAA,IAAA,KAAS,OAAS,EAAA;AACnC,MAAI,IAAA,MAAA,CAAO,MAAM,KAAO,EAAA;AACtB,QAAK,IAAA,CAAA,OAAA,CAAQ,MAAO,CAAA,KAAA,CAAM,KAAe,CAAA,CAAA;AAAA,OAC3C;AACA,MAAA,MAAA,GAAS,MAAO,CAAA,MAAA,CAAA;AAAA,KAClB;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,IAAA,IAAI,SAAS,QAAS,CAAA,MAAA,CAAA;AACtB,IAAO,OAAA,MAAA,IAAU,CAAC,CAAC,OAAS,EAAA,UAAU,EAAE,QAAS,CAAA,MAAA,CAAO,IAAK,CAAA,IAAK,CAAG,EAAA;AACnE,MAAA,MAAA,GAAS,MAAO,CAAA,MAAA,CAAA;AAAA,KAClB;AACA,IAAO,OAAA,MAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;"}