{"version":3,"file":"select.mjs","sources":["../../../components/select/select.tsx"],"sourcesContent":["import { defineComponent, provide, computed, toRefs, watch, ref, nextTick, PropType, ComputedRef } from 'vue';\nimport { get, isArray, debounce, cloneDeep, isFunction, intersection, pick as picker } from 'lodash-es';\n\nimport FakeArrow from '../common-components/fake-arrow';\nimport SelectInput from '../select-input';\nimport SelectPanel from './components/select-panel';\nimport Tag from '../tag';\nimport props from './props';\n// hooks\nimport {\n  useVModel,\n  useConfig,\n  useDisabled,\n  useReadonly,\n  useTNodeJSX,\n  usePrefixClass,\n  useDefaultValue,\n  useEventForward,\n} from '@tdesign/shared-hooks';\n\nimport { getSingleContent, getMultipleContent } from './utils';\nimport { selectInjectKey } from './constants';\nimport { useSelectOptions, useKeyboardControl } from './hooks';\nimport type { PopupProps, PopupVisibleChangeContext } from '../popup';\nimport type { SelectInputChangeContext, SelectInputValueChangeContext } from '../select-input';\nimport type { TdSelectProps, SelectValue, TdOptionProps } from './type';\nimport { SelectInputValueDisplayOptions } from '../select-input/hooks/useSingle';\nimport { TagInputTriggerSource } from '../tag-input';\n\nexport default defineComponent({\n  name: 'TSelect',\n  props: {\n    ...props,\n    /**\n     * 非公开 API，请勿使用（后续即将删除）\n     */\n    valueDisplayOptions: {\n      type: Object as PropType<SelectInputValueDisplayOptions>,\n    },\n  },\n  setup(props: TdSelectProps & { valueDisplayOptions: SelectInputValueDisplayOptions }, { slots }) {\n    const classPrefix = usePrefixClass();\n    const isDisabled = useDisabled() as ComputedRef<boolean>;\n    const isReadonly = useReadonly();\n    const renderTNodeJSX = useTNodeJSX();\n    const COMPONENT_NAME = usePrefixClass('select');\n    const { globalConfig, t } = useConfig('select');\n    const { popupVisible, inputValue, modelValue, value } = toRefs(props);\n    const [innerInputValue, setInputValue] = useDefaultValue(\n      inputValue,\n      props.defaultInputValue,\n      props.onInputChange,\n      'inputValue',\n    );\n    const [orgValue, setOrgValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n    const selectPanelRef = ref(null);\n    const selectInputRef = ref(null);\n    const keys = computed(() => ({\n      label: props.keys?.label || 'label',\n      value: props.keys?.value || 'value',\n      disabled: props.keys?.disabled || 'disabled',\n    }));\n\n    const isObjectType = computed(() => props.valueType === 'object');\n\n    // 内部数据,格式化过的\n    const innerValue = computed(() => {\n      if (orgValue.value === undefined) {\n        return props.multiple ? [] : undefined;\n      }\n      if (isObjectType.value) {\n        return !props.multiple\n          ? // @ts-ignore\n            // TODO optimize SelectValue\n            orgValue.value[keys.value.value]\n          : // @ts-ignore\n            // TODO optimize SelectValue\n            (orgValue.value as SelectValue[]).map((option) => option[keys.value.value]);\n      }\n      return orgValue.value;\n    });\n\n    const { optionsMap, optionsList, optionsCache, displayOptions, filterMethods, searchDisplayOptions } =\n      useSelectOptions(props, keys, innerInputValue, innerValue);\n\n    const setInnerValue: TdSelectProps['onChange'] = (newVal: SelectValue | SelectValue[], context) => {\n      if (isObjectType.value) {\n        const { value, label } = keys.value;\n        const getOption = (val: SelectValue) => {\n          if (val === undefined) {\n            return undefined;\n          }\n          const option = optionsMap.value.get(val);\n          return {\n            [value]: get(option, 'value'),\n            [label]: get(option, 'label'),\n          };\n        };\n        newVal = props.multiple ? (newVal as SelectValue[]).map((val) => getOption(val)) : getOption(newVal);\n      }\n      if (newVal === orgValue.value) return;\n\n      // 多选场景下 在选中值时，且不保留reserveKeyword 的情况下 ，需要清空输入（筛选）值\n      if (props.multiple && !props.reserveKeyword && context.trigger == 'check') setInputValue('');\n\n      setOrgValue(newVal, {\n        selectedOptions: getSelectedOptions(newVal),\n        ...context,\n      });\n      if (props.multiple && context.trigger === 'uncheck' && context.option) {\n        props.onRemove?.({\n          value: get(context.option, keys.value.value),\n          data: context.option,\n          e: context.e,\n        });\n      }\n    };\n\n    const [innerPopupVisible, setInnerPopupVisible] = useDefaultValue(\n      popupVisible,\n      false,\n      (visible: boolean, context: PopupVisibleChangeContext) => {\n        props.onPopupVisibleChange?.(visible, context);\n      },\n      'popupVisible',\n    );\n\n    const placeholderText = computed(\n      () =>\n        ((!props.multiple &&\n          innerPopupVisible.value &&\n          getSingleContent(innerValue.value, isRemoteSearch.value, currentSelectOptions, optionsMap)) ||\n          props.placeholder) ??\n        t(globalConfig.value.placeholder),\n    );\n\n    // selectInput 展示值\n    const displayText = computed(() =>\n      props.multiple\n        ? getMultipleContent(innerValue.value as SelectValue[], isRemoteSearch.value, currentSelectOptions, optionsMap)\n        : getSingleContent(innerValue.value, isRemoteSearch.value, currentSelectOptions, optionsMap),\n    );\n\n    // valueDisplayParams参数\n    const valueDisplayParams = computed(() => {\n      if (!props.multiple) {\n        return {\n          ...optionsMap.value.get(innerValue.value),\n          value: innerValue.value,\n          label: displayText.value,\n        };\n      }\n\n      const val = isArray(innerValue.value) ? innerValue.value.map((value) => optionsMap.value.get(value)) : [];\n      const params = {\n        value: val,\n        onClose: props.multiple ? (index: number) => removeTag(index) : () => {},\n      };\n\n      if (props.minCollapsedNum && isArray(innerValue.value)) {\n        return {\n          ...params,\n          displayValue: Array.isArray(val) ? val.slice(0, props.minCollapsedNum) : [],\n        };\n      }\n      return params;\n    });\n\n    const isFilterable = computed(() => {\n      return Boolean(props.filterable || globalConfig.value.filterable || isFunction(props.filter));\n    });\n\n    const isRemoteSearch = computed(() => {\n      return Boolean((props.filterable || globalConfig.value.filterable) && isFunction(props.onSearch));\n    });\n\n    // 移除tag\n    const removeTag = (index: number, context?: SelectInputChangeContext) => {\n      const { e, trigger = 'tag-remove' } =\n        (context as SelectInputChangeContext & {\n          trigger: Exclude<TagInputTriggerSource, 'enter'>;\n        }) || {};\n\n      e && e.stopPropagation();\n\n      const selectValue = cloneDeep(innerValue.value) as SelectValue[];\n      const value = selectValue[index];\n\n      selectValue.splice(index, 1);\n\n      if (trigger === 'backspace') {\n        // 如果最后一个为disabled，则应删除前一项（非disabled的）\n        let closest = -1;\n        let len = index;\n\n        const currentSelected = getCurrentSelectedOptions();\n        while (len >= 0) {\n          if (!currentSelected[len]?.disabled) {\n            closest = len;\n            break;\n          }\n          len -= 1;\n        }\n        // 只剩下disabled的情况，不做任何操作\n        if (closest < 0) return;\n\n        // 前面不是disabled的option\n        const values = currentSelected[closest];\n\n        const currentSelectedOptions = currentSelected.filter((item) => item.value !== values.value);\n\n        setInnerValue(\n          currentSelectedOptions.map((item) => item.value),\n          { selectedOptions: currentSelectedOptions, trigger, e },\n        );\n\n        props.onRemove?.({\n          value: values.value as string | number | bigint,\n          data: values,\n          e,\n        });\n\n        return;\n      }\n\n      if (trigger !== 'clear') {\n        setInnerValue(selectValue, { selectedOptions: getSelectedOptions(selectValue), trigger, e });\n      }\n\n      props.onRemove?.({\n        value: value as string | number | bigint,\n        data: optionsMap.value.get(value),\n        e,\n      });\n    };\n\n    const handleCreate = () => {\n      if (!innerInputValue.value) return;\n      props.onCreate?.(innerInputValue.value);\n      // only clean input value when reopen popup\n      if (!innerPopupVisible.value) setInputValue('');\n    };\n\n    const popupContentRef = computed(() => selectInputRef.value?.popupRef.getOverlay() as HTMLElement);\n\n    /**\n     * 可选选项的列表\n     * 排除已禁用和全选的选项，考虑过滤情况\n     */\n    const optionalList = computed(() =>\n      optionsList.value.filter((item) => {\n        return (\n          !item.disabled &&\n          // @ts-ignore types only declare checkAll not declare check-all\n          !(item['check-all'] || item['check-all'] === '') &&\n          !item.checkAll &&\n          filterMethods(item)\n        );\n      }),\n    );\n\n    const getSelectedOptions = (selectValue: SelectValue[] | SelectValue = innerValue.value) => {\n      return optionsList.value.filter((option) => {\n        if (option.checkAll) return;\n        if (isArray(selectValue)) return selectValue.includes(option.value);\n        return selectValue === option.value;\n      });\n    };\n\n    //  获取当前选中的选项，和 getSelectedOptions 的区别是 这个会保持选择的先后顺序\n    const getCurrentSelectedOptions = () => {\n      const options: TdOptionProps[] = [];\n\n      // 需要处理 objectType 的情况\n      const selectedValue = isObjectType.value ? orgValue.value : innerValue.value;\n      const values = isArray(selectedValue) ? selectedValue : [selectedValue];\n\n      values.forEach((value) => {\n        const option = optionsMap.value.get(isObjectType.value ? value.value : value);\n        if (option) options.push(option);\n        // 处理不存在选项的值的场景，也需要推入\n        else options.push(isObjectType.value ? value : { value });\n      });\n      return options;\n    };\n\n    /*\n     * 全选逻辑：\n     * 根据 checked 的值计算最终选中的值：\n     *    - 如果 checked 为 true，则选中所有非 disabled 选项，并保留已选中的 disabled 选项。\n     *    - 如果 checked 为 false，则只保留已选中的 disabled 选项。\n     *    - 过滤条件下，如果 checked 为 true，则选中所有非 disabled 选项，并保留已选中的选项。\n     *    - 过滤条件下，如果 checked 为 false，则只保留已选中的 disabled 选项。\n     */\n    const onCheckAllChange = (checked: boolean) => {\n      if (!props.multiple) return;\n      const { value } = keys.value;\n      // disabled状态的选项，不参与全选的计算，始终保留\n      const lockedValues = innerValue.value.filter((value: string | number | boolean | bigint) => {\n        return optionsList.value.find((item) => item.value === value && item.disabled);\n      });\n\n      const activeValues = optionalList.value.map((option) => option.value);\n      const formattedOrgValue = isObjectType.value\n        ? (orgValue.value as Array<SelectValue>).map((v) => get(v, value))\n        : orgValue.value;\n\n      const values = checked\n        ? [...new Set([...(formattedOrgValue as Array<SelectValue>), ...activeValues, ...lockedValues])]\n        : [...lockedValues];\n      setInnerValue(values, { selectedOptions: getSelectedOptions(values), trigger: checked ? 'check' : 'clear' });\n    };\n\n    // 全选\n    const isCheckAll = computed<boolean>(() => {\n      if (intersectionLen.value === 0) return false;\n      return (\n        intersectionLen.value === (isRemoteSearch.value ? searchDisplayOptions.value.length : optionalList.value.length)\n      );\n    });\n\n    const { hoverIndex, virtualFilteredOptions, handleKeyDown, filteredOptions } = useKeyboardControl({\n      displayOptions,\n      optionsList,\n      innerPopupVisible,\n      setInnerPopupVisible,\n      selectPanelRef,\n      isFilterable,\n      isRemoteSearch,\n      getSelectedOptions,\n      setInnerValue,\n      onCheckAllChange,\n      isCheckAll,\n      innerValue,\n      popupContentRef,\n      multiple: props.multiple,\n      max: props.max,\n    });\n\n    // 已选的长度\n    const intersectionLen = computed<number>(() => {\n      const values = optionalList.value.map((item) => item.value);\n      const n = intersection(innerValue.value, values);\n      return n.length;\n    });\n\n    // 半选\n    const indeterminate = computed<boolean>(() => !isCheckAll.value && intersectionLen.value !== 0);\n\n    const SelectProvider = computed(() => ({\n      max: props.max,\n      multiple: props.multiple,\n      hoverIndex: hoverIndex.value,\n      selectValue: innerValue.value,\n      reserveKeyword: props.reserveKeyword,\n      handleValueChange: setInnerValue,\n      handlerInputChange: setInputValue,\n      handlePopupVisibleChange: setInnerPopupVisible,\n      handleCreate,\n      size: props.size,\n      popupContentRef,\n      indeterminate: indeterminate.value,\n      isCheckAll: isCheckAll.value,\n      onCheckAllChange,\n      getSelectedOptions,\n      displayOptions: displayOptions.value,\n      emitBlur: handleOptionEmitBlur,\n    }));\n\n    provide(selectInjectKey, SelectProvider);\n\n    const checkValueInvalid = () => {\n      // 参数类型检测与修复\n      if (!props.multiple && isArray(orgValue.value)) {\n        setOrgValue(undefined, { selectedOptions: [], trigger: 'default' });\n      }\n      if (props.multiple && !isArray(orgValue.value)) {\n        setOrgValue([], { selectedOptions: [], trigger: 'default' });\n      }\n    };\n\n    const handleSearch = debounce((value: string, { e }: { e: KeyboardEvent }) => {\n      props.onSearch?.(`${value}`, { e });\n    }, 300);\n\n    const handlerInputChange = (value: string, context: SelectInputValueChangeContext) => {\n      if (value) {\n        !innerPopupVisible.value && setInnerPopupVisible(true, { e: context.e as KeyboardEvent });\n      }\n      setInputValue(value);\n      handleSearch(`${value}`, { e: context.e as KeyboardEvent });\n      nextTick(() => {\n        virtualFilteredOptions.value = selectPanelRef.value?.visibleData;\n        filteredOptions.value = selectPanelRef.value?.displayOptions;\n      });\n    };\n\n    const handleOptionEmitBlur = (e: MouseEvent | KeyboardEvent) => {\n      props.onBlur?.({ e, value: innerValue.value });\n    };\n\n    const handlerPopupVisibleChange = (visible: boolean, context: PopupVisibleChangeContext) => {\n      setInnerPopupVisible(visible, context);\n      // 在通过点击选择器打开弹窗时 清空此前的输入内容 避免在关闭时就清空引起的闪烁问题\n      if (visible && context.trigger === 'trigger-element-click') setInputValue('');\n    };\n\n    const handlerPopupScrollToBottom: PopupProps['onScrollToBottom'] = async (context) => {\n      const { popupProps } = props;\n      if (props.loading) {\n        return;\n      }\n      // @ts-ignore types 中只有 onScrollToBottom，但 Vue 会自动转换 on-scroll-to-bottom 并支持，故此处都进行调用\n      popupProps?.['on-scroll-to-bottom']?.(context);\n      popupProps?.onScrollToBottom?.(context);\n    };\n\n    const addCache = (val: SelectValue) => {\n      if (props.multiple) {\n        const newCache = [];\n        for (const item of (val as SelectValue[]) || []) {\n          const option = optionsMap.value.get(item);\n          if (option) {\n            newCache.push(option);\n          }\n        }\n        optionsCache.value = Array.from(new Set([...newCache, ...optionsCache.value]));\n      } else {\n        const option = optionsMap.value.get(val);\n        if (option) {\n          optionsCache.value = Array.from(new Set([option, ...optionsCache.value]));\n        }\n      }\n    };\n\n    watch(\n      orgValue,\n      (val) => {\n        checkValueInvalid();\n        nextTick(() => {\n          addCache(val);\n        });\n      },\n      {\n        immediate: true,\n      },\n    );\n    watch(\n      () => props.multiple,\n      () => {\n        checkValueInvalid();\n      },\n    );\n\n    // 列表展开时定位置选中项\n    const updateScrollTop = (content: HTMLDivElement) => {\n      if (!selectPanelRef.value) {\n        return;\n      }\n      const firstSelectedNode: HTMLDivElement = (selectPanelRef.value?.innerRef as HTMLDivElement)?.querySelector(\n        `.${classPrefix.value}-is-selected`,\n      );\n      // 此处需要等待渲染后进行计算\n      nextTick(() => {\n        if (firstSelectedNode && content) {\n          const { paddingBottom } = getComputedStyle(firstSelectedNode);\n          const { marginBottom } = getComputedStyle(content);\n          const elementBottomHeight = parseInt(paddingBottom, 10) + parseInt(marginBottom, 10);\n          // 小于0时不需要特殊处理，会被设为0\n          const updateValue =\n            firstSelectedNode.offsetTop -\n            content.offsetTop -\n            (content.clientHeight - firstSelectedNode.clientHeight) +\n            elementBottomHeight;\n          // eslint-disable-next-line no-param-reassign\n          content.scrollTop = updateValue;\n        }\n      });\n    };\n\n    /**\n     * 获取当前选中的选项 —— 远程搜索数据和本地传入的数据\n     */\n    const currentSelectOptions = computed(() => {\n      return isRemoteSearch.value ? searchDisplayOptions.value : getCurrentSelectedOptions();\n    });\n\n    const renderValueDisplay = () => {\n      const renderTag = () => {\n        if (!props.multiple || props.selectInputProps?.multiple === false) {\n          return undefined;\n        }\n\n        return innerValue.value\n          .slice(0, props.minCollapsedNum ? props.minCollapsedNum : innerValue.value.length)\n          .map?.((v: string, key: number) => {\n            const option = currentSelectOptions.value.find((item) => {\n              if (item.value === v) {\n                return true;\n              }\n            });\n\n            return (\n              <Tag\n                key={key}\n                closable={!option?.disabled && !isDisabled.value && !isReadonly.value}\n                size={props.size}\n                {...props.tagProps}\n                onClose={({ e }: { e: MouseEvent }) => {\n                  e.stopPropagation();\n                  props.tagProps?.onClose?.({ e });\n                  removeTag(key);\n                }}\n              >\n                {option ? option.label ?? option?.value : v}\n              </Tag>\n            );\n          });\n      };\n\n      return (\n        renderTNodeJSX('valueDisplay', {\n          params: valueDisplayParams.value,\n        }) || renderTag()\n      );\n    };\n\n    provide('updateScrollTop', updateScrollTop);\n    return () => {\n      const { overlayClassName, ...restPopupProps } = (props.popupProps || {}) as TdSelectProps['popupProps'];\n\n      const popupEvents = useEventForward(restPopupProps, {\n        onScrollToBottom: handlerPopupScrollToBottom,\n      });\n      const selectInputEvents = useEventForward(props.selectInputProps, {\n        onTagChange: (val, ctx) => {\n          removeTag(ctx.index, ctx);\n        },\n        onPopupVisibleChange: handlerPopupVisibleChange,\n        onInputChange: handlerInputChange,\n        onClear: ({ e }) => {\n          setInnerValue(props.multiple ? [] : undefined, {\n            option: null,\n            selectedOptions: getSelectedOptions(props.multiple ? [] : undefined),\n            trigger: 'clear',\n            e,\n          });\n          props.onClear?.({ e });\n        },\n        onEnter: (val, { e }) => {\n          // onEnter和handleKeyDown的Enter事件同时触发，需要通过setTimeout设置先后\n          setTimeout(() => {\n            props.onEnter?.({ inputValue: `${innerInputValue.value}`, e, value: innerValue.value });\n            handleCreate();\n          }, 0);\n        },\n        onBlur: (val, { e }) => {\n          props.onBlur?.({ e, value: innerValue.value });\n        },\n        onFocus: (val, { e }) => {\n          props.onFocus?.({ e, value: innerValue.value });\n        },\n      });\n\n      return (\n        <div class={`${COMPONENT_NAME.value}__wrap`}>\n          <SelectInput\n            {...{\n              autoWidth: props.autoWidth,\n              readonly: isReadonly.value,\n              borderless: props.borderless,\n              multiple: props.multiple,\n              clearable: props.clearable,\n              loading: props.loading,\n              status: props.status,\n              tips: () => renderTNodeJSX('tips'),\n              minCollapsedNum: props.minCollapsedNum,\n              autofocus: props.autofocus,\n              suffix: props.suffix,\n              valueDisplayOptions: props.valueDisplayOptions,\n            }}\n            ref={selectInputRef}\n            class={COMPONENT_NAME.value}\n            value={displayText.value}\n            disabled={isDisabled.value}\n            popupVisible={innerPopupVisible.value}\n            inputValue={innerPopupVisible.value ? innerInputValue.value : ''}\n            placeholder={`${placeholderText.value}`}\n            allowInput={isFilterable.value}\n            collapsed-items={props.collapsedItems}\n            inputProps={{\n              size: props.size,\n              autofocus: props.autofocus,\n              ...props.inputProps,\n              // fix me, onkeydown should be onKeydown\n              onkeydown: handleKeyDown,\n            }}\n            tagInputProps={{\n              size: props.size,\n              ...(props.tagInputProps as TdSelectProps['tagInputProps']),\n            }}\n            tagProps={{ ...(props.tagProps as TdSelectProps['tagProps']) }}\n            popupProps={{\n              overlayClassName: [`${COMPONENT_NAME.value}__dropdown`, overlayClassName],\n              ...popupEvents.value,\n            }}\n            label={props.label}\n            prefixIcon={props.prefixIcon}\n            suffix={props.suffix}\n            suffixIcon={() => {\n              if (props.suffixIcon || slots.suffixIcon) {\n                return renderTNodeJSX('suffixIcon');\n              }\n\n              return (\n                props.showArrow && (\n                  <FakeArrow\n                    overlayClassName={`${COMPONENT_NAME.value}__right-icon`}\n                    isActive={innerPopupVisible.value}\n                  />\n                )\n              );\n            }}\n            valueDisplay={renderValueDisplay}\n            {...selectInputEvents.value}\n            v-slots={{\n              label: slots.label,\n              prefixIcon: slots.prefixIcon,\n              suffix: slots.suffix,\n              panel: () => (\n                <SelectPanel\n                  ref={selectPanelRef}\n                  {...picker(props, [\n                    'multiple',\n                    'empty',\n                    'loading',\n                    'loadingText',\n                    'filterable',\n                    'creatable',\n                    'panelTopContent',\n                    'panelBottomContent',\n                    'filter',\n                    'scroll',\n                    'keys',\n                  ])}\n                  inputValue={innerInputValue.value}\n                  v-slots={slots}\n                />\n              ),\n              collapsedItems: slots.collapsedItems,\n            }}\n          />\n        </div>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","name","props","_objectSpread","valueDisplayOptions","type","Object","setup","slots","_ref","classPrefix","usePrefixClass","isDisabled","useDisabled","isReadonly","useReadonly","renderTNodeJSX","useTNodeJSX","COMPONENT_NAME","_useConfig","useConfig","globalConfig","t","_toRefs","toRefs","popupVisible","inputValue","modelValue","value","_useDefaultValue","useDefaultValue","defaultInputValue","onInputChange","_useDefaultValue2","_slicedToArray","innerInputValue","setInputValue","_useVModel","useVModel","defaultValue","onChange","_useVModel2","orgValue","setOrgValue","selectPanelRef","ref","selectInputRef","keys","computed","_props2$keys","_props2$keys2","_props2$keys3","label","disabled","isObjectType","valueType","innerValue","multiple","map","option","_useSelectOptions","useSelectOptions","optionsMap","optionsList","optionsCache","displayOptions","filterMethods","searchDisplayOptions","setInnerValue","newVal","context","_keys$value","getOption","val","get","_defineProperty","reserveKeyword","trigger","selectedOptions","getSelectedOptions","_props2$onRemove","onRemove","data","e","_useDefaultValue3","visible","_props2$onPopupVisibl","onPopupVisibleChange","_useDefaultValue4","innerPopupVisible","setInnerPopupVisible","placeholderText","_ref3","getSingleContent","isRemoteSearch","currentSelectOptions","placeholder","displayText","getMultipleContent","valueDisplayParams","isArray","params","onClose","index","removeTag","minCollapsedNum","displayValue","Array","slice","isFilterable","Boolean","filterable","isFunction","filter","onSearch","_props2$onRemove3","_ref4","_ref4$trigger","stopPropagation","selectValue","cloneDeep","splice","_props2$onRemove2","closest","len","currentSelected","getCurrentSelectedOptions","_currentSelected$len","values","currentSelectedOptions","item","handleCreate","_props2$onCreate","onCreate","popupContentRef","_selectInputRef$value","popupRef","getOverlay","optionalList","checkAll","arguments","length","undefined","includes","options","selectedValue","forEach","push","onCheckAllChange","checked","lockedValues","find","activeValues","formattedOrgValue","v","_toConsumableArray","Set","concat","isCheckAll","intersectionLen","_useKeyboardControl","useKeyboardControl","max","hoverIndex","virtualFilteredOptions","handleKeyDown","filteredOptions","n","intersection","indeterminate","SelectProvider","handleValueChange","handlerInputChange","handlePopupVisibleChange","size","emitBlur","handleOptionEmitBlur","provide","selectInjectKey","checkValueInvalid","handleSearch","debounce","_ref5","_props2$onSearch","nextTick","_selectPanelRef$value","_selectPanelRef$value2","visibleData","_props2$onBlur","onBlur","handlerPopupVisibleChange","handlerPopupScrollToBottom","_ref6","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_popupProps$onScroll","_popupProps$onScrollT","popupProps","wrap","_context","prev","next","loading","abrupt","call","onScrollToBottom","stop","_x","apply","addCache","newCache","_iterator","_createForOfIteratorHelper","_step","s","done","err","f","from","watch","immediate","updateScrollTop","content","_selectPanelRef$value3","firstSelectedNode","innerRef","querySelector","_getComputedStyle","getComputedStyle","paddingBottom","_getComputedStyle2","marginBottom","elementBottomHeight","parseInt","updateValue","offsetTop","clientHeight","scrollTop","renderValueDisplay","renderTag","_props2$selectInputPr","_innerValue$value$sli","_innerValue$value$sli2","selectInputProps","key","_option$label","_createVNode","Tag","_mergeProps","tagProps","_ref7","_props2$tagProps","_props2$tagProps$onCl","_ref8","overlayClassName","restPopupProps","_objectWithoutProperties","_excluded","popupEvents","useEventForward","selectInputEvents","onTagChange","ctx","onClear","_ref9","_props2$onClear","onEnter","_ref0","setTimeout","_props2$onEnter","_ref1","_props2$onBlur2","onFocus","_ref10","_props2$onFocus","SelectInput","autoWidth","readonly","borderless","clearable","status","tips","autofocus","suffix","collapsedItems","inputProps","onkeydown","tagInputProps","prefixIcon","suffixIcon","showArrow","FakeArrow","panel","picker"],"mappings":"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"}