{"version":3,"file":"pane.mjs","sources":["../../../../../../../packages/components/tabs/src/utils/pane.ts"],"sourcesContent":["import { flattedChildren, isVNode } from '@bigin/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 === 'BTabPane' && !!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":";;;;AAIa,MAAA,WAAA,GAAc,CAAC,EAAkC,KAAA;AAC5D,EAAM,MAAA,KAAA,GAAQ,eAAgB,CAAA,EAAA,CAAG,OAAO,CAAA,CAAA;AACxC,EAAA,OAAO,KAAM,CAAA,MAAA;AAAA,IACX,CAAC,CACC,KAAA,OAAA,CAAQ,CAAC,CAAA,IAAM,CAAE,CAAA,IAAA,EAAc,IAAS,KAAA,UAAA,IAAc,CAAC,CAAC,CAAE,CAAA,SAAA;AAAA,GAC9D,CAAA;AACF,EAAA;AAEa,MAAA,eAAA,GAAkB,CAC7B,EAAA,EACA,KACG,KAAA;AACH,EAAM,MAAA,KAAA,GAAQ,YAAY,EAAE,CAAA,CAAA;AAC5B,EAAA,MAAM,OAAO,KAAM,CAAA,GAAA,CAAI,CAAC,CAAM,KAAA,CAAA,CAAE,UAAW,GAAG,CAAA,CAAA;AAC9C,EAAA,OAAO,IAAK,CAAA,GAAA,CAAI,CAAC,GAAA,KAAQ,KAAM,CAAA,GAAA,CAAI,CAAE,CAAA,MAAA,CAAO,CAAC,CAAA,KAAM,CAAC,CAAC,CAAC,CAAA,CAAA;AACxD;;;;"}