{"version":3,"file":"LegacyContext.cjs","sources":["../../../../../../packages/vue-components/vc-tree-select/src/LegacyContext.tsx"],"sourcesContent":["/**\n * BaseSelect provide some parsed data into context.\n * You can use this hooks to get them.\n */\n\nimport type { TreeProps } from '@antdv/components/tree';\nimport type { Key } from '@antdv/types';\nimport type { InjectionKey } from 'vue';\nimport type { DataEntity, IconType } from '../../vc-tree/src/interface';\nimport type { InternalDataEntity, LegacyDataNode, RawValueType } from './interface';\nimport { inject, provide } from 'vue';\n\nexport interface LegacyContextProps {\n  checkable: boolean;\n  checkedKeys: Key[];\n  customCheckable: () => any;\n  halfCheckedKeys: Key[];\n  treeExpandedKeys: Key[];\n  treeDefaultExpandedKeys: Key[];\n  onTreeExpand: (keys: Key[]) => void;\n  treeDefaultExpandAll: boolean;\n  treeIcon: IconType;\n  showTreeIcon: boolean;\n  switcherIcon: IconType;\n  treeLine: TreeProps['showLine'];\n  treeNodeFilterProp: string;\n  treeLoadedKeys: Key[];\n  treeMotion: any;\n  loadData: (treeNode: LegacyDataNode) => Promise<unknown>;\n  onTreeLoad: (loadedKeys: Key[]) => void;\n\n  keyEntities: Record<RawValueType, DataEntity<any>>;\n\n  customSlots: {\n    title?: (data: InternalDataEntity) => any;\n    treeCheckable: () => any;\n    [key: string]: ((...args: any[]) => any) | undefined;\n  };\n}\n\nconst TreeSelectLegacyContextPropsKey: InjectionKey<LegacyContextProps> = Symbol(\n  'TreeSelectLegacyContextPropsKey',\n);\n\n// export const LegacySelectContext = defineComponent({\n//  compatConfig: { MODE: 3 },\n//   name: 'SelectContext',\n//   props: {\n//     value: { type: Object as PropType<LegacyContextProps> },\n//   },\n//   setup(props, { slots }) {\n//     provide(\n//       TreeSelectLegacyContextPropsKey,\n//       computed(() => props.value),\n//     );\n//     return () => slots.default?.();\n//   },\n// });\n\nexport function useProvideLegacySelectContext(props: LegacyContextProps) {\n  return provide(TreeSelectLegacyContextPropsKey, props);\n}\n\nexport default function useInjectLegacySelectContext() {\n  return inject(TreeSelectLegacyContextPropsKey, {} as LegacyContextProps);\n}\n"],"names":["TreeSelectLegacyContextPropsKey","Symbol","useProvideLegacySelectContext","props","provide","useInjectLegacySelectContext","inject"],"mappings":";;;;;;AAwCA,MAAMA,+BAAAA,GAAoEC,OACxE,iCACF,CAAA,CAAA;AAiBO,SAASC,8BAA8BC,KAA2B,EAAA;AACvE,EAAOC,OAAAA,WAAAA,CAAQJ,iCAAiCG,KAAK,CAAA,CAAA;AACvD,CAAA;AAEA,SAAwBE,4BAA+B,GAAA;AACrD,EAAOC,OAAAA,UAAAA,CAAON,+BAAiC,EAAA,EAAwB,CAAA,CAAA;AACzE;;;;;"}