tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 54 kB
Source Map (JSON)
{"version":3,"file":"select.mjs","sources":["../../../components/select/select.tsx"],"sourcesContent":["import { defineComponent, provide, computed, toRefs, watch, ref, nextTick, PropType } 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} from '@tdesign/shared-hooks';\n\nimport { getSingleContent, getMultipleContent } from './utils';\nimport { selectInjectKey } from './consts';\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();\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,\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,\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) => {\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 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 as TdSelectProps['inputProps']),\n onkeydown: handleKeyDown,\n }}\n tagInputProps={{\n size: props.size,\n ...(props.tagInputProps as TdSelectProps['tagInputProps']),\n }}\n onTagChange={(val, ctx) => {\n removeTag(ctx.index, ctx);\n }}\n tagProps={{ ...(props.tagProps as TdSelectProps['tagProps']) }}\n popupProps={{\n overlayClassName: [`${COMPONENT_NAME.value}__dropdown`, overlayClassName],\n ...restPopupProps,\n onScrollToBottom: handlerPopupScrollToBottom,\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 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={(inputValue, { 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={(inputValue, { e }) => {\n props.onBlur?.({ e, value: innerValue.value });\n }}\n onFocus={(inputValue, { e }) => {\n props.onFocus?.({ e, value: innerValue.value });\n }}\n {...(props.selectInputProps as TdSelectProps['selectInputProps'])}\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 'size',\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","SelectInput","autoWidth","readonly","borderless","clearable","status","tips","autofocus","suffix","collapsedItems","inputProps","onkeydown","tagInputProps","onTagChange","ctx","prefixIcon","suffixIcon","showArrow","FakeArrow","onClear","_ref9","_props2$onClear","onEnter","_ref0","setTimeout","_props2$onEnter","_ref1","_props2$onBlur2","onFocus","_ref10","_props2$onFocus","panel","picker"],"mappings":"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