{"version":3,"file":"treeUtil.cjs","sources":["../../../../../../../packages/vue-components/vc-cascader/src/utils/treeUtil.ts"],"sourcesContent":["import type { Key } from '@antdv/types';\nimport type { DefaultOptionType, InternalFieldNames, ShowCheckedStrategy, SingleValueType } from '../Cascader';\nimport type { OptionsInfo } from '../hooks/useEntities';\nimport { SHOW_CHILD } from './commonUtil';\n\nexport function formatStrategyValues(\n  pathKeys: Key[],\n  keyPathEntities: OptionsInfo['pathKeyEntities'],\n  showCheckedStrategy: ShowCheckedStrategy,\n) {\n  const valueSet = new Set(pathKeys);\n\n  return pathKeys.filter((key) => {\n    const entity = keyPathEntities[key];\n    const parent = entity ? entity.parent : null;\n    const children = entity ? entity.children : null;\n    return showCheckedStrategy === SHOW_CHILD\n      ? !(children && children.some(child => child.key && valueSet.has(child.key)))\n      : !(parent && !parent.node.disabled && valueSet.has(parent.key));\n  });\n}\n\nexport function toPathOptions(\n  valueCells: SingleValueType,\n  options: DefaultOptionType[],\n  fieldNames: InternalFieldNames,\n  // Used for loadingKeys which saved loaded keys as string\n  stringMode = false,\n) {\n  let currentList = options;\n  const valueOptions: Array<{\n    value: SingleValueType[number];\n    index: number;\n    option: DefaultOptionType;\n  }> = [];\n\n  for (let i = 0; i < valueCells.length; i += 1) {\n    const valueCell = valueCells[i];\n    const foundIndex = currentList?.findIndex((option) => {\n      const val = option[fieldNames.value];\n      return stringMode ? String(val) === String(valueCell) : val === valueCell;\n    });\n    const foundOption = foundIndex !== -1 ? currentList?.[foundIndex] : null;\n\n    valueOptions.push({\n      value: foundOption?.[fieldNames.value] ?? valueCell,\n      index: foundIndex,\n      option: foundOption,\n    });\n\n    currentList = foundOption?.[fieldNames.children];\n  }\n\n  return valueOptions;\n}\n"],"names":["SHOW_CHILD"],"mappings":";;;;AAKgB,SAAA,oBAAA,CACd,QACA,EAAA,eAAA,EACA,mBACA,EAAA;AACA,EAAM,MAAA,QAAA,GAAW,IAAI,GAAA,CAAI,QAAQ,CAAA,CAAA;AAEjC,EAAO,OAAA,QAAA,CAAS,MAAO,CAAA,CAAC,GAAQ,KAAA;AAC9B,IAAM,MAAA,MAAA,GAAS,gBAAgB,GAAG,CAAA,CAAA;AAClC,IAAM,MAAA,MAAA,GAAS,MAAS,GAAA,MAAA,CAAO,MAAS,GAAA,IAAA,CAAA;AACxC,IAAM,MAAA,QAAA,GAAW,MAAS,GAAA,MAAA,CAAO,QAAW,GAAA,IAAA,CAAA;AAC5C,IAAO,OAAA,mBAAA,KAAwBA,qBAC3B,GAAA,EAAE,QAAY,IAAA,QAAA,CAAS,KAAK,CAAS,KAAA,KAAA,KAAA,CAAM,GAAO,IAAA,QAAA,CAAS,GAAI,CAAA,KAAA,CAAM,GAAG,CAAC,CAAA,CAAA,GACzE,EAAE,MAAA,IAAU,CAAC,MAAA,CAAO,KAAK,QAAY,IAAA,QAAA,CAAS,GAAI,CAAA,MAAA,CAAO,GAAG,CAAA,CAAA,CAAA;AAAA,GACjE,CAAA,CAAA;AACH,CAAA;AAEO,SAAS,aACd,CAAA,UAAA,EACA,OACA,EAAA,UAAA,EAEA,aAAa,KACb,EAAA;AA5BF,EAAA,IAAA,EAAA,CAAA;AA6BE,EAAA,IAAI,WAAc,GAAA,OAAA,CAAA;AAClB,EAAA,MAAM,eAID,EAAC,CAAA;AAEN,EAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,UAAW,CAAA,MAAA,EAAQ,KAAK,CAAG,EAAA;AAC7C,IAAM,MAAA,SAAA,GAAY,WAAW,CAAC,CAAA,CAAA;AAC9B,IAAA,MAAM,UAAa,GAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAa,SAAU,CAAA,CAAC,MAAW,KAAA;AACpD,MAAM,MAAA,GAAA,GAAM,MAAO,CAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AACnC,MAAA,OAAO,aAAa,MAAO,CAAA,GAAG,MAAM,MAAO,CAAA,SAAS,IAAI,GAAQ,KAAA,SAAA,CAAA;AAAA,KAClE,CAAA,CAAA;AACA,IAAA,MAAM,WAAc,GAAA,UAAA,KAAe,CAAK,CAAA,GAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAc,UAAc,CAAA,GAAA,IAAA,CAAA;AAEpE,IAAA,YAAA,CAAa,IAAK,CAAA;AAAA,MAChB,KAAO,EAAA,CAAA,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAc,UAAW,CAAA,KAAA,CAAA,KAAzB,IAAmC,GAAA,EAAA,GAAA,SAAA;AAAA,MAC1C,KAAO,EAAA,UAAA;AAAA,MACP,MAAQ,EAAA,WAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,WAAA,GAAc,2CAAc,UAAW,CAAA,QAAA,CAAA,CAAA;AAAA,GACzC;AAEA,EAAO,OAAA,YAAA,CAAA;AACT;;;;;"}