{"version":3,"file":"context.cjs","sources":["../../../../../../packages/vue-components/vc-cascader/src/context.ts"],"sourcesContent":["import type { VueNode } from '@antdv/types';\nimport type { CSSProperties, InjectionKey, Ref } from 'vue';\nimport type { BaseCascaderProps, DefaultOptionType, InternalFieldNames, SingleValueType } from './Cascader';\nimport { inject, provide } from 'vue';\n\nexport interface CascaderContextProps {\n  options: Ref<BaseCascaderProps['options']>;\n  fieldNames: Ref<InternalFieldNames>;\n  values: Ref<SingleValueType[]>;\n  halfValues: Ref<SingleValueType[]>;\n  changeOnSelect: Ref<boolean>;\n  onSelect: (valuePath: SingleValueType) => void;\n  checkable: Ref<boolean | VueNode>;\n  searchOptions: Ref<DefaultOptionType[]>;\n  dropdownPrefixCls?: Ref<string>;\n  loadData: Ref<(selectOptions: DefaultOptionType[]) => void>;\n  expandTrigger: Ref<'hover' | 'click'>;\n  expandIcon: Ref<VueNode>;\n  loadingIcon: Ref<VueNode>;\n  dropdownMenuColumnStyle: Ref<CSSProperties>;\n  customSlots: Ref<Record<string, Function>>;\n}\n\nconst CascaderContextKey: InjectionKey<CascaderContextProps> = Symbol('CascaderContextKey');\nexport function useProvideCascader(props: CascaderContextProps) {\n  provide(CascaderContextKey, props);\n}\n\nexport function useInjectCascader() {\n  return inject(CascaderContextKey);\n}\n"],"names":["provide","inject"],"mappings":";;;;AAuBA,MAAM,kBAAA,GAAyD,OAAO,oBAAoB,CAAA,CAAA;AACnF,SAAS,mBAAmB,KAA6B,EAAA;AAC9D,EAAAA,WAAA,CAAQ,oBAAoB,KAAK,CAAA,CAAA;AACnC,CAAA;AAEO,SAAS,iBAAoB,GAAA;AAClC,EAAA,OAAOC,WAAO,kBAAkB,CAAA,CAAA;AAClC;;;;;"}