{"version":3,"file":"useActive.cjs","sources":["../../../../../../../packages/vue-components/vc-cascader/src/OptionList/useActive.ts"],"sourcesContent":["import type { Key } from '@antdv/types';\nimport type { Ref } from 'vue';\nimport { useState } from '@antdv/hooks';\nimport { watch } from 'vue';\nimport useBaseProps from '../../../vc-select/src/hooks/useBaseProps';\nimport { useInjectCascader } from '../context';\n\n/**\n * Control the active open options path.\n */\nexport default (): [Ref<Key[]>, (activeValueCells: Key[]) => void] => {\n  const baseProps = useBaseProps();\n  const { values } = useInjectCascader();\n\n  // Record current dropdown active options\n  // This also control the open status\n  const [activeValueCells, setActiveValueCells] = useState<Key[]>([]);\n\n  watch(\n    () => baseProps.open,\n    () => {\n      if (baseProps.open && !baseProps.multiple) {\n        const firstValueCells = values.value[0];\n        setActiveValueCells(firstValueCells || []);\n      }\n    },\n    { immediate: true },\n  );\n\n  return [activeValueCells, setActiveValueCells];\n};\n"],"names":["useBaseProps","useInjectCascader","useState","watch"],"mappings":";;;;;;;;;;AAUA,gBAAe,MAAuD;AACpE,EAAA,MAAM,YAAYA,oBAAa,EAAA,CAAA;AAC/B,EAAM,MAAA,EAAE,MAAO,EAAA,GAAIC,yBAAkB,EAAA,CAAA;AAIrC,EAAA,MAAM,CAAC,gBAAkB,EAAA,mBAAmB,CAAI,GAAAC,cAAA,CAAgB,EAAE,CAAA,CAAA;AAElE,EAAAC,SAAA;AAAA,IACE,MAAM,SAAU,CAAA,IAAA;AAAA,IAChB,MAAM;AACJ,MAAA,IAAI,SAAU,CAAA,IAAA,IAAQ,CAAC,SAAA,CAAU,QAAU,EAAA;AACzC,QAAM,MAAA,eAAA,GAAkB,MAAO,CAAA,KAAA,CAAM,CAAC,CAAA,CAAA;AACtC,QAAoB,mBAAA,CAAA,eAAA,IAAmB,EAAE,CAAA,CAAA;AAAA,OAC3C;AAAA,KACF;AAAA,IACA,EAAE,WAAW,IAAK,EAAA;AAAA,GACpB,CAAA;AAEA,EAAO,OAAA,CAAC,kBAAkB,mBAAmB,CAAA,CAAA;AAC/C,CAAA;;;;"}