{"version":3,"file":"legacyUtil.mjs","sources":["../../../../../../../packages/vue-components/vc-select/src/utils/legacyUtil.ts"],"sourcesContent":["import type { VueNode } from '@antdv/types';\nimport type { VNode } from 'vue';\nimport type { BaseOptionType, DefaultOptionType } from '../Select';\nimport { flattenChildren, isValidElement } from '@antdv/utils';\n\nfunction convertNodeToOption<OptionType extends BaseOptionType = DefaultOptionType>(\n  node: VNode,\n): OptionType {\n  const {\n    key,\n    children,\n    props: { value, disabled, ...restProps },\n  } = node as Omit<VNode, 'key'> & {\n    children: { default?: () => any };\n    key: string | number;\n  };\n  const child = children?.default;\n  return {\n    key,\n    value: value !== undefined ? value : key,\n    children: child,\n    disabled: disabled || disabled === '', // support <a-select-option disabled />\n    ...(restProps as any),\n  };\n}\n\nexport function convertChildrenToData<OptionType extends BaseOptionType = DefaultOptionType>(\n  nodes: VueNode[],\n  optionOnly = false,\n): OptionType[] {\n  const dd = flattenChildren(nodes as [])\n    .map((node: VNode, index: number): OptionType | null => {\n      if (!isValidElement(node) || !node.type)\n        return null;\n\n      const {\n        type: { isSelectOptGroup },\n        key,\n        children,\n        props,\n      } = node as VNode & {\n        type: { isSelectOptGroup?: boolean };\n        children: { default?: () => any; label?: () => any };\n      };\n\n      if (optionOnly || !isSelectOptGroup)\n        return convertNodeToOption(node);\n\n      const child = children && children.default ? children.default() : undefined;\n      const label = props?.label || children.label?.() || key;\n      return {\n        key: `__RC_SELECT_GRP__${key === null ? index : String(key)}__`,\n        ...props,\n        label,\n        options: convertChildrenToData(child || []),\n      } as any;\n    })\n    .filter(data => data);\n  return dd;\n}\n"],"names":[],"mappings":";;;;AAKA,SAAS,oBACP,IACY,EAAA;AACZ,EAAM,MAAA;AAAA,IACJ,GAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAO,EAAA,EAAE,KAAO,EAAA,QAAA,EAAU,GAAG,SAAU,EAAA;AAAA,GACrC,GAAA,IAAA,CAAA;AAIJ,EAAA,MAAM,QAAQ,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,OAAA,CAAA;AACxB,EAAO,OAAA;AAAA,IACL,GAAA;AAAA,IACA,KAAA,EAAO,KAAU,KAAA,KAAA,CAAA,GAAY,KAAQ,GAAA,GAAA;AAAA,IACrC,QAAU,EAAA,KAAA;AAAA,IACV,QAAA,EAAU,YAAY,QAAa,KAAA,EAAA;AAAA;AAAA,IACnC,GAAI,SAAA;AAAA,GACN,CAAA;AACF,CAAA;AAEgB,SAAA,qBAAA,CACd,KACA,EAAA,UAAA,GAAa,KACC,EAAA;AACd,EAAA,MAAM,KAAK,eAAgB,CAAA,KAAW,EACnC,GAAI,CAAA,CAAC,MAAa,KAAqC,KAAA;AA/B5D,IAAA,IAAA,EAAA,CAAA;AAgCM,IAAA,IAAI,CAAC,cAAA,CAAe,IAAI,CAAA,IAAK,CAAC,IAAK,CAAA,IAAA;AACjC,MAAO,OAAA,IAAA,CAAA;AAET,IAAM,MAAA;AAAA,MACJ,IAAA,EAAM,EAAE,gBAAiB,EAAA;AAAA,MACzB,GAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,KACE,GAAA,IAAA,CAAA;AAKJ,IAAA,IAAI,cAAc,CAAC,gBAAA;AACjB,MAAA,OAAO,oBAAoB,IAAI,CAAA,CAAA;AAEjC,IAAA,MAAM,QAAQ,QAAY,IAAA,QAAA,CAAS,OAAU,GAAA,QAAA,CAAS,SAAY,GAAA,KAAA,CAAA,CAAA;AAClE,IAAA,MAAM,KAAQ,GAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,KAAS,MAAA,CAAA,EAAA,GAAA,QAAA,CAAS,UAAT,IAAsB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,IAAA,GAAA,CAAA;AACpD,IAAO,OAAA;AAAA,MACL,KAAK,CAAoB,iBAAA,EAAA,GAAA,KAAQ,OAAO,KAAQ,GAAA,MAAA,CAAO,GAAG,CAAC,CAAA,EAAA,CAAA;AAAA,MAC3D,GAAG,KAAA;AAAA,MACH,KAAA;AAAA,MACA,OAAS,EAAA,qBAAA,CAAsB,KAAS,IAAA,EAAE,CAAA;AAAA,KAC5C,CAAA;AAAA,GACD,CAAA,CACA,MAAO,CAAA,CAAA,IAAA,KAAQ,IAAI,CAAA,CAAA;AACtB,EAAO,OAAA,EAAA,CAAA;AACT;;;;"}