element-plus
Version:
A Component Library for Vue 3
1 lines • 1.31 kB
Source Map (JSON)
{"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"}