element-plus
Version:
A Component Library for Vue 3
1 lines • 1.52 kB
Source Map (JSON)
{"version":3,"file":"pane.mjs","sources":["../../../../../../../packages/components/tabs/src/utils/pane.ts"],"sourcesContent":["import { flattedChildren, isVNode } from '@element-plus/utils'\nimport type { ComponentInternalInstance, VNode } from 'vue'\nimport type { TabsPanes } from '../tabs'\n\nexport const getTabPanes = (vm: ComponentInternalInstance) => {\n const nodes = flattedChildren(vm.subTree)\n return nodes.filter(\n (n): n is VNode =>\n isVNode(n) && (n.type as any)?.name === 'ElTabPane' && !!n.component\n )\n}\n\nexport const getOrderedPanes = (\n vm: ComponentInternalInstance,\n panes: TabsPanes\n) => {\n const nodes = getTabPanes(vm)\n const uids = nodes.map((n) => n.component!.uid)\n return uids.map((uid) => panes[uid]).filter((p) => !!p)\n}\n"],"names":[],"mappings":";;;;AACY,MAAC,WAAW,GAAG,CAAC,EAAE,KAAK;AACnC,EAAE,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAC5C,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;AAC7B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,MAAM,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrG,GAAG,CAAC,CAAC;AACL,EAAE;AACU,MAAC,eAAe,GAAG,CAAC,EAAE,EAAE,KAAK,KAAK;AAC9C,EAAE,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AAChC,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACjD,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D;;;;"}