UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 2.05 kB
{"version":3,"file":"menu-item-group2.mjs","sources":["../../../../../../packages/components/menu/src/menu-item-group.vue"],"sourcesContent":["<template>\n <li class=\"el-menu-item-group\">\n <div\n class=\"el-menu-item-group__title\"\n :style=\"{ paddingLeft: `${levelPadding}px` }\"\n >\n <template v-if=\"!$slots.title\">{{ title }}</template>\n <slot v-else name=\"title\" />\n </div>\n <ul>\n <slot />\n </ul>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, getCurrentInstance, inject } from 'vue'\nimport { throwError } from '@element-plus/utils'\nimport { menuItemGroupProps } from './menu-item-group'\n\nimport type { MenuProvider } from './types'\n\nconst COMPONENT_NAME = 'ElMenuItemGroup'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n props: menuItemGroupProps,\n\n setup() {\n const instance = getCurrentInstance()!\n const menu = inject<MenuProvider>('rootMenu')\n if (!menu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const levelPadding = computed(() => {\n if (menu.props.collapse) return 20\n let padding = 20\n let parent = instance.parent\n while (parent && parent.type.name !== 'ElMenu') {\n if (parent.type.name === 'ElSubMenu') {\n padding += 20\n }\n parent = parent.parent\n }\n return padding\n })\n\n return {\n levelPadding,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;;;AAsBA,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,EAEP,QAAQ;AACN,UAAM,WAAW;AACjB,UAAM,OAAO,OAAqB;AAClC,QAAI,CAAC;AAAM,iBAAW,gBAAgB;AAEtC,UAAM,eAAe,SAAS,MAAM;AAClC,UAAI,KAAK,MAAM;AAAU,eAAO;AAChC,UAAI,UAAU;AACd,UAAI,SAAS,SAAS;AACtB,aAAO,UAAU,OAAO,KAAK,SAAS,UAAU;AAC9C,YAAI,OAAO,KAAK,SAAS,aAAa;AACpC,qBAAW;AAAA;AAEb,iBAAS,OAAO;AAAA;AAElB,aAAO;AAAA;AAGT,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;2BA/CJ,yCAWK;SAVHA,aAMMC;AAAA,uBALE;AAAA,MACL,OAAK;AAAA;;sEAEiC;AAAA;SACvC;OAEF;AAAA,uBACU;AAAA;;;;;;;;"}