{"version":3,"file":"TabContext.cjs","sources":["../../../../../../packages/components/tabs/src/TabContext.ts"],"sourcesContent":["import type { InjectionKey, PropType, Ref } from 'vue';\nimport type { Tab } from './interface';\nimport { defineComponent, inject, provide, ref, toRefs } from 'vue';\n\nexport interface TabContextProps {\n  tabs: Ref<Tab[]>\n  prefixCls: Ref<string>\n}\n\nconst TabsContextKey: InjectionKey<TabContextProps> = Symbol('tabsContextKey');\n\nexport function useProvideTabs(props: TabContextProps) {\n  provide(TabsContextKey, props);\n}\n\nexport function useInjectTabs() {\n  return inject(TabsContextKey, { tabs: ref([]), prefixCls: ref() });\n}\n\nconst TabsContextProvider = defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'TabsContextProvider',\n  inheritAttrs: false,\n  props: {\n    tabs: { type: Object as PropType<TabContextProps['tabs']>, default: undefined },\n    prefixCls: { type: String, default: undefined },\n  },\n  setup(props, { slots }) {\n    useProvideTabs(toRefs(props));\n    return () => slots.default?.();\n  },\n});\n\nexport default TabsContextProvider;\n"],"names":["provide","inject","ref","defineComponent","toRefs"],"mappings":";;;;;;AASA,MAAM,cAAA,GAAgD,OAAO,gBAAgB,CAAA,CAAA;AAEtE,SAAS,eAAe,KAAwB,EAAA;AACrD,EAAAA,WAAA,CAAQ,gBAAgB,KAAK,CAAA,CAAA;AAC/B,CAAA;AAEO,SAAS,aAAgB,GAAA;AAC9B,EAAO,OAAAC,UAAA,CAAO,cAAgB,EAAA,EAAE,IAAM,EAAAC,OAAA,CAAI,EAAE,CAAG,EAAA,SAAA,EAAWA,OAAI,EAAA,EAAG,CAAA,CAAA;AACnE,CAAA;AAEA,MAAM,sBAAsBC,mBAAgB,CAAA;AAAA,EAC1C,YAAA,EAAc,EAAE,IAAA,EAAM,CAAE,EAAA;AAAA,EACxB,IAAM,EAAA,qBAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,EAAE,IAAM,EAAA,MAAA,EAA6C,SAAS,KAAU,CAAA,EAAA;AAAA,IAC9E,SAAW,EAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,SAAS,KAAU,CAAA,EAAA;AAAA,GAChD;AAAA,EACA,KAAM,CAAA,KAAA,EAAO,EAAE,KAAA,EAAS,EAAA;AACtB,IAAe,cAAA,CAAAC,UAAA,CAAO,KAAK,CAAC,CAAA,CAAA;AAC5B,IAAA,OAAO,MAAG;AA7Bd,MAAA,IAAA,EAAA,CAAA;AA6BiB,MAAA,OAAA,CAAA,EAAA,GAAA,KAAA,CAAM,OAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GACf;AACF,CAAC;;;;;;"}