{"version":3,"file":"helper.mjs","sources":["../../src/select/helper.ts"],"sourcesContent":["import { InjectionKey, ComputedRef } from 'vue';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { TdSelectProps, TdOptionProps, SelectValue, SelectOption } from './type';\n\nexport const selectInjectKey: InjectionKey<\n  ComputedRef<{\n    hoverIndex: number;\n    selectValue: TdSelectProps['value'];\n    size: TdSelectProps['size'];\n    max: TdSelectProps['max'];\n    reserveKeyword: TdSelectProps['reserveKeyword'];\n    multiple: TdSelectProps['multiple'];\n    handleValueChange: TdSelectProps['onChange'];\n    handleCreate: TdSelectProps['onCreate'];\n    handlerInputChange: TdSelectProps['onInputChange'];\n    handlePopupVisibleChange: TdSelectProps['onPopupVisibleChange'];\n    popupContentRef: ComputedRef<HTMLElement>;\n    indeterminate: boolean;\n    isCheckAll: boolean;\n    onCheckAllChange: (checked: boolean) => void;\n    getSelectedOptions: (selectValue?: SelectValue[] | SelectValue) => TdOptionProps[];\n    displayOptions: TdSelectProps['options'];\n  }>\n> = Symbol('selectProvide');\n\nexport const getSingleContent = (\n  value: TdSelectProps['value'],\n  optionsMap: ComputedRef<Map<SelectValue<SelectOption>, TdOptionProps>>,\n): string => {\n  const option = optionsMap.value.get(value);\n  return option?.label || value?.toString();\n};\n\nexport const getMultipleContent = (\n  value: SelectValue[],\n  optionsMap: ComputedRef<Map<SelectValue<SelectOption>, TdOptionProps>>,\n) => {\n  const res = [];\n  for (const iterator of value) {\n    const resLabel = getSingleContent(iterator, optionsMap);\n    if (resLabel) {\n      res.push(resLabel);\n    }\n  }\n  return res;\n};\n\nexport const getNewMultipleValue = (innerValue: SelectValue[], optionValue: SelectValue) => {\n  const value = cloneDeep(innerValue) as SelectValue[];\n  const valueIndex = value.indexOf(optionValue);\n  if (valueIndex < 0) {\n    value.push(optionValue);\n  } else {\n    value.splice(valueIndex, 1);\n  }\n  return {\n    value,\n    isCheck: valueIndex < 0,\n  };\n};\n"],"names":["res","_iterator","cloneDeep","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAA,eAAA,GAAA,MAAA,CAAA,eAAA,EAAA;AAqBA,IAAA,gBAAA,GAAA,SAAA,gBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;;AAKE,EAAA,OAAA,CAAA,MAAA,KAAA,IAAA,IAAA,MAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,KAAA,MAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AACT,EAAA;AAEO,IAAA,kBAAA,GAAA,SAAA,kBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;;AAIQ,EAAA,IAAA,SAAA,GAAA,0BAAA,CAAA,KAAA,CAAA;;AACiB,EAAA,IAAA;;AAAA,MAAA,IAAA,QAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AACtB,MAAA,IAAA,QAAA,GAAA,gBAAA,CAAA,QAAA,EAAA,UAAA,CAAA,CAAA;AACN,MAAA,IAAA,QAAA,EAAA;AACEA,QAAAA,GAAAA,CAAAA,IAAAA,CAAAA,QAAAA,CAAAA,CAAAA;AACF,OAAA;AACF,KAAA;AAAA,GAAA,CAAA,OAAA,GAAA,EAAA;;AAAA,GAAA,SAAA;AAAAC,IAAAA,SAAAA,CAAAA,CAAAA,EAAAA,CAAAA;AAAA,GAAA;AACO,EAAA,OAAA,GAAA,CAAA;AACT,EAAA;AAEO,IAAA,mBAAA,GAAA,SAAA,mBAAA,CAAA,UAAA,EAAA,WAAA,EAAA;AACC,EAAA,IAAA,KAAA,GAAAC,WAAA,CAAA,UAAA,CAAA,CAAA;AACA,EAAA,IAAA,UAAA,GAAA,KAAA,CAAA,OAAA,CAAA,WAAA,CAAA,CAAA;;AAEJC,IAAAA,KAAAA,CAAAA,IAAAA,CAAAA,WAAAA,CAAAA,CAAAA;AACF,GAAA,MAAA;AACQA,IAAAA,KAAAA,CAAAA,MAAAA,CAAAA,UAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AACR,GAAA;;AAEEA,IAAAA,KAAAA,EAAAA,KAAAA;;;AAGJ;;;;"}