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;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"}