UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 1.67 kB
{"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 !== '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"],"names":[],"mappings":";;AAIA,SAAwB,OAAA,CACtB,UACA,YAAA,EACA;AACA,EAAA,MAAM,SAAA,GAAY,SAAS,MAAM;AAC/B,IAAA,IAAI,SAAS,QAAA,CAAS,MAAA;AACtB,IAAA,MAAM,IAAA,GAAO,CAAC,YAAA,CAAa,KAAK,CAAA;AAChC,IAAA,OAAO,MAAA,CAAO,IAAA,CAAK,IAAA,KAAS,QAAA,EAAU;AACpC,MAAA,IAAI,MAAA,CAAO,MAAM,KAAA,EAAO;AACtB,QAAA,IAAA,CAAK,OAAA,CAAQ,MAAA,CAAO,KAAA,CAAM,KAAe,CAAA;AAAA,MAC3C;AACA,MAAA,MAAA,GAAS,MAAA,CAAO,MAAA;AAAA,IAClB;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,MAAM,UAAA,GAAa,SAAS,MAAM;AAChC,IAAA,IAAI,SAAS,QAAA,CAAS,MAAA;AACtB,IAAA,OAAO,MAAA,IAAU,CAAC,CAAC,QAAA,EAAU,WAAW,EAAE,QAAA,CAAS,MAAA,CAAO,IAAA,CAAK,IAAK,CAAA,EAAG;AACrE,MAAA,MAAA,GAAS,MAAA,CAAO,MAAA;AAAA,IAClB;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}