UNPKG

tdesign-vue-next

Version:
679 lines (671 loc) 31.6 kB
/** * tdesign v1.11.5 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties'); var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator'); var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray'); var _slicedToArray = require('@babel/runtime/helpers/slicedToArray'); var _defineProperty = require('@babel/runtime/helpers/defineProperty'); var Vue = require('vue'); var _regeneratorRuntime = require('@babel/runtime/regenerator'); var commonComponents_fakeArrow = require('../common-components/fake-arrow.js'); var selectInput_index = require('../select-input/index.js'); var select_selectPanel = require('./select-panel.js'); var select_props = require('./props.js'); var hooks_useDisabled = require('../hooks/useDisabled.js'); var hooks_useReadonly = require('../hooks/useReadonly.js'); var hooks_useDefaultValue = require('../hooks/useDefaultValue.js'); var hooks_useVModel = require('../hooks/useVModel.js'); var hooks_tnode = require('../_chunks/dep-a69ce597.js'); var hooks_useConfig = require('../hooks/useConfig.js'); var select_utils_index = require('./utils/index.js'); var select_consts_index = require('./consts/index.js'); var select_hooks_useKeyboardControl = require('./hooks/useKeyboardControl.js'); var select_hooks_useSelectOptions = require('./hooks/useSelectOptions.js'); var configProvider_hooks_useConfig = require('../config-provider/hooks/useConfig.js'); var isArray = require('../_chunks/dep-5ad8a2ab.js'); var isFunction = require('../_chunks/dep-047617bf.js'); var cloneDeep = require('../_chunks/dep-61a7e281.js'); var intersection = require('../_chunks/dep-0b6921ca.js'); var debounce = require('../_chunks/dep-31140ae7.js'); var pick = require('../_chunks/dep-ba971aad.js'); var get = require('../_chunks/dep-56c837c8.js'); require('../select-input/select-input.js'); require('../popup/index.js'); require('../popup/popup.js'); require('@popperjs/core'); require('@babel/runtime/helpers/typeof'); require('../hooks/useKeepAnimation.js'); require('../_chunks/dep-b4c4a54b.js'); require('../_chunks/dep-f8ff548f.js'); require('../_chunks/dep-30fb1b25.js'); require('dayjs'); require('../_chunks/dep-b6c192db.js'); require('../_chunks/dep-ba2090c8.js'); require('../_chunks/dep-b27d3215.js'); require('../_chunks/dep-ed572eb3.js'); require('../_chunks/dep-bbe343d7.js'); require('../_chunks/dep-0a510359.js'); require('../_chunks/dep-50a41d31.js'); require('../_chunks/dep-be3c3d53.js'); require('../_chunks/dep-0c2ad01b.js'); require('../_chunks/dep-8b98fa07.js'); require('../_chunks/dep-b0b4fff1.js'); require('../_chunks/dep-7a21da5b.js'); require('../_chunks/dep-49fa220e.js'); require('../_chunks/dep-02ebb419.js'); require('../_chunks/dep-feae46a3.js'); require('../_chunks/dep-abf21389.js'); require('../_chunks/dep-7f32423d.js'); require('../_chunks/dep-7c9e3d93.js'); require('../_chunks/dep-b1b8272b.js'); require('../utils/dom.js'); require('../_chunks/dep-b8b9c2a3.js'); require('../popup/container.js'); require('../popup/props.js'); require('../hooks/useResizeObserver.js'); require('../utils/withInstall.js'); require('../utils/render-tnode.js'); require('../_chunks/dep-db023c41.js'); require('../_chunks/dep-e495f218.js'); require('../_chunks/dep-bafc1f63.js'); require('../_chunks/dep-c07d6878.js'); require('../_chunks/dep-a957c564.js'); require('../_chunks/dep-acb090bf.js'); require('../_chunks/dep-76218bd8.js'); require('../_chunks/dep-9a321a91.js'); require('../_chunks/dep-ecbaedee.js'); require('../_chunks/dep-9de7d250.js'); require('../_chunks/dep-6f8a66a3.js'); require('../_chunks/dep-533159e9.js'); require('../select-input/props.js'); require('../select-input/hooks/useMultiple.js'); require('../tag-input/index.js'); require('../tag-input/tag-input.js'); require('tdesign-icons-vue-next'); require('../input/index.js'); require('../input/input.js'); require('../input/props.js'); require('../hooks/useGlobalIcon.js'); require('../input/hooks/useInput.js'); require('../form/consts/index.js'); require('../input/hooks/useLengthLimit.js'); require('../_chunks/dep-cef23b69.js'); require('../_chunks/dep-25acc189.js'); require('../_chunks/dep-93cf0a54.js'); require('../_chunks/dep-8afe2bf0.js'); require('../_chunks/dep-cea0dc9b.js'); require('../input/hooks/useInputEventHandler.js'); require('../input/hooks/useInputWidth.js'); require('../_chunks/dep-82a90f9f.js'); require('../input/input-group.js'); require('../input/input-group-props.js'); require('../tag-input/props.js'); require('../tag-input/hooks/useDragSorter.js'); require('../tag-input/hooks/useHover.js'); require('../tag-input/hooks/useTagScroll.js'); require('../tag-input/hooks/useTagList.js'); require('../tag/index.js'); require('../tag/tag.js'); require('tinycolor2'); require('../tag/props.js'); require('../tag/check-tag.js'); require('../tag/check-tag-props.js'); require('../_chunks/dep-0dafeb05.js'); require('../tag/check-tag-group.js'); require('../tag/check-tag-group-props.js'); require('../loading/index.js'); require('../_chunks/dep-0d31a2f0.js'); require('../loading/plugin.js'); require('../loading/loading.js'); require('../loading/icon/gradient.js'); require('../hooks/useTeleport.js'); require('../loading/props.js'); require('../_chunks/dep-d4796921.js'); require('../_chunks/dep-62aae11c.js'); require('../_chunks/dep-7c08b9a8.js'); require('../_chunks/dep-fd1ddb6b.js'); require('../_chunks/dep-55d8c3ed.js'); require('../_chunks/dep-d83ac33f.js'); require('../select-input/hooks/useOverlayInnerStyle.js'); require('../select-input/hooks/useSingle.js'); require('../_chunks/dep-8ba18d4f.js'); require('../_chunks/dep-43bc982b.js'); require('./option.js'); require('./option-props.js'); require('../checkbox/index.js'); require('../checkbox/checkbox.js'); require('../checkbox/props.js'); require('../hooks/useRipple.js'); require('../checkbox/consts/index.js'); require('../checkbox/hooks/useCheckboxLazyLoad.js'); require('../_chunks/dep-9da21bcd.js'); require('../checkbox/hooks/useKeyboardEvent.js'); require('../checkbox/group.js'); require('../checkbox/checkbox-group-props.js'); require('../hooks/slot.js'); require('../_chunks/dep-732925e8.js'); require('./option-group.js'); require('./option-group-props.js'); require('./hooks/usePanelVirtualScroll.js'); require('../hooks/useVirtualScroll.js'); require('../_chunks/dep-d67d6b6f.js'); require('../_chunks/dep-beb9de0a.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties); var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator); var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray); var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray); var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime); var _excluded = ["overlayClassName"]; function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var _Select = Vue.defineComponent({ name: "TSelect", props: _objectSpread(_objectSpread({}, select_props["default"]), {}, { valueDisplayOptions: { type: Object } }), setup: function setup(props2, _ref) { var slots = _ref.slots; var classPrefix = hooks_useConfig.usePrefixClass(); var isDisabled = hooks_useDisabled.useDisabled(); var isReadonly = hooks_useReadonly.useReadonly(); var renderTNodeJSX = hooks_tnode.useTNodeJSX(); var COMPONENT_NAME = hooks_useConfig.usePrefixClass("select"); var _useConfig = configProvider_hooks_useConfig.useConfig("select"), globalConfig = _useConfig.globalConfig, t = _useConfig.t; var _toRefs = Vue.toRefs(props2), popupVisible = _toRefs.popupVisible, inputValue = _toRefs.inputValue, modelValue = _toRefs.modelValue, value = _toRefs.value; var _useDefaultValue = hooks_useDefaultValue["default"](inputValue, props2.defaultInputValue, props2.onInputChange, "inputValue"), _useDefaultValue2 = _slicedToArray__default["default"](_useDefaultValue, 2), innerInputValue = _useDefaultValue2[0], setInputValue = _useDefaultValue2[1]; var _useVModel = hooks_useVModel["default"](value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray__default["default"](_useVModel, 2), orgValue = _useVModel2[0], setOrgValue = _useVModel2[1]; var selectPanelRef = Vue.ref(null); var selectInputRef = Vue.ref(null); var keys = Vue.computed(function () { var _props2$keys, _props2$keys2, _props2$keys3; return { label: ((_props2$keys = props2.keys) === null || _props2$keys === void 0 ? void 0 : _props2$keys.label) || "label", value: ((_props2$keys2 = props2.keys) === null || _props2$keys2 === void 0 ? void 0 : _props2$keys2.value) || "value", disabled: ((_props2$keys3 = props2.keys) === null || _props2$keys3 === void 0 ? void 0 : _props2$keys3.disabled) || "disabled" }; }); var _useSelectOptions = select_hooks_useSelectOptions.useSelectOptions(props2, keys, innerInputValue), optionsMap = _useSelectOptions.optionsMap, optionsList = _useSelectOptions.optionsList, optionsCache = _useSelectOptions.optionsCache, displayOptions = _useSelectOptions.displayOptions, filterMethods = _useSelectOptions.filterMethods; var innerValue = Vue.computed(function () { if (orgValue.value === void 0) { return props2.multiple ? [] : void 0; } if (props2.valueType === "object") { return !props2.multiple ? orgValue.value[keys.value.value] : orgValue.value.map(function (option) { return option[keys.value.value]; }); } return orgValue.value; }); var setInnerValue = function setInnerValue(newVal, context) { if (props2.valueType === "object") { var _keys$value = keys.value, value2 = _keys$value.value, label = _keys$value.label; var getOption = function getOption(val) { if (val === void 0) { return void 0; } var option = optionsMap.value.get(val); return _defineProperty__default["default"](_defineProperty__default["default"]({}, value2, get.get(option, value2)), label, get.get(option, label)); }; newVal = props2.multiple ? newVal.map(function (val) { return getOption(val); }) : getOption(newVal); } if (newVal === orgValue.value) return; if (props2.multiple && !props2.reserveKeyword) setInputValue(""); setOrgValue(newVal, _objectSpread({ selectedOptions: getSelectedOptions(newVal) }, context)); }; var _useDefaultValue3 = hooks_useDefaultValue["default"](popupVisible, false, function (visible, context) { var _props2$onPopupVisibl; (_props2$onPopupVisibl = props2.onPopupVisibleChange) === null || _props2$onPopupVisibl === void 0 || _props2$onPopupVisibl.call(props2, visible, context); }, "popupVisible"), _useDefaultValue4 = _slicedToArray__default["default"](_useDefaultValue3, 2), innerPopupVisible = _useDefaultValue4[0], setInnerPopupVisible = _useDefaultValue4[1]; var placeholderText = Vue.computed(function () { var _ref3; return (_ref3 = !props2.multiple && innerPopupVisible.value && select_utils_index.getSingleContent(innerValue.value, optionsMap) || props2.placeholder) !== null && _ref3 !== void 0 ? _ref3 : t(globalConfig.value.placeholder); }); var displayText = Vue.computed(function () { return props2.multiple ? select_utils_index.getMultipleContent(innerValue.value, optionsMap) : select_utils_index.getSingleContent(innerValue.value, optionsMap); }); var valueDisplayParams = Vue.computed(function () { var val = props2.multiple && isArray.isArray(innerValue.value) ? innerValue.value.map(function (value2) { var _optionsMap$value$get; return { value: value2, label: (_optionsMap$value$get = optionsMap.value.get(value2)) === null || _optionsMap$value$get === void 0 ? void 0 : _optionsMap$value$get.label }; }) : innerValue.value; var params = { value: val, onClose: props2.multiple ? function (index) { return removeTag(index); } : function () {} }; if (!props2.multiple) Object.assign(params, { label: displayText.value }); if (props2.minCollapsedNum && props2.multiple) { var _val$slice; return _objectSpread(_objectSpread({}, params), {}, { displayValue: val === null || val === void 0 || (_val$slice = val.slice) === null || _val$slice === void 0 ? void 0 : _val$slice.call(val, 0, props2.minCollapsedNum) }); } return params; }); var isFilterable = Vue.computed(function () { return Boolean(props2.filterable || globalConfig.value.filterable || isFunction.isFunction(props2.filter)); }); var isRemoteSearch = Vue.computed(function () { return Boolean((props2.filterable || globalConfig.value.filterable) && isFunction.isFunction(props2.onSearch)); }); var removeTag = function removeTag(index, context) { var _props2$onRemove; var _ref4 = context || {}, e = _ref4.e, _ref4$trigger = _ref4.trigger, trigger = _ref4$trigger === void 0 ? "tag-remove" : _ref4$trigger; e && e.stopPropagation(); var selectValue = cloneDeep.cloneDeep(innerValue.value); var value2 = selectValue[index]; selectValue.splice(index, 1); if (trigger !== "clear") { setInnerValue(selectValue, { selectedOptions: getSelectedOptions(selectValue), trigger: trigger, e: e }); } (_props2$onRemove = props2.onRemove) === null || _props2$onRemove === void 0 || _props2$onRemove.call(props2, { value: value2, data: optionsMap.value.get(value2), e: e }); }; var handleCreate = function handleCreate() { var _props2$onCreate; if (!innerInputValue.value) return; (_props2$onCreate = props2.onCreate) === null || _props2$onCreate === void 0 || _props2$onCreate.call(props2, innerInputValue.value); if (!innerPopupVisible.value) setInputValue(""); }; var popupContentRef = Vue.computed(function () { var _selectInputRef$value; return (_selectInputRef$value = selectInputRef.value) === null || _selectInputRef$value === void 0 ? void 0 : _selectInputRef$value.popupRef.getOverlay(); }); var optionalList = Vue.computed(function () { return optionsList.value.filter(function (item) { return !item.disabled && !item["check-all"] && !item.checkAll && filterMethods(item); }); }); var getSelectedOptions = function getSelectedOptions() { var selectValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : innerValue.value; return optionsList.value.filter(function (option) { if (option.checkAll) return; if (isArray.isArray(selectValue)) return selectValue.includes(option.value); return selectValue === option.value; }); }; var _useKeyboardControl = select_hooks_useKeyboardControl.useKeyboardControl({ displayOptions: displayOptions, optionsList: optionsList, innerPopupVisible: innerPopupVisible, setInnerPopupVisible: setInnerPopupVisible, selectPanelRef: selectPanelRef, isFilterable: isFilterable, isRemoteSearch: isRemoteSearch, getSelectedOptions: getSelectedOptions, setInnerValue: setInnerValue, innerValue: innerValue, popupContentRef: popupContentRef, multiple: props2.multiple, max: props2.max }), hoverIndex = _useKeyboardControl.hoverIndex, virtualFilteredOptions = _useKeyboardControl.virtualFilteredOptions, handleKeyDown = _useKeyboardControl.handleKeyDown, filteredOptions = _useKeyboardControl.filteredOptions; var onCheckAllChange = function onCheckAllChange(checked) { if (!props2.multiple) return; var value2 = keys.value.value; var lockedValues = innerValue.value.filter(function (value3) { return optionsList.value.find(function (item) { return item.value === value3 && item.disabled; }); }); var activeValues = optionalList.value.map(function (option) { return option.value; }); var formattedOrgValue = props2.valueType === "object" ? orgValue.value.map(function (v) { return get.get(v, value2); }) : orgValue.value; var values = checked ? _toConsumableArray__default["default"](/* @__PURE__ */new Set([].concat(_toConsumableArray__default["default"](formattedOrgValue), _toConsumableArray__default["default"](activeValues), _toConsumableArray__default["default"](lockedValues)))) : _toConsumableArray__default["default"](lockedValues); setInnerValue(values, { selectedOptions: getSelectedOptions(values), trigger: checked ? "check" : "clear" }); }; var intersectionLen = Vue.computed(function () { var values = optionalList.value.map(function (item) { return item.value; }); var n = intersection.intersection(innerValue.value, values); return n.length; }); var isCheckAll = Vue.computed(function () { return intersectionLen.value === optionalList.value.length; }); var indeterminate = Vue.computed(function () { return !isCheckAll.value && intersectionLen.value !== 0; }); var SelectProvider = Vue.computed(function () { return { max: props2.max, multiple: props2.multiple, hoverIndex: hoverIndex.value, selectValue: innerValue.value, reserveKeyword: props2.reserveKeyword, handleValueChange: setInnerValue, handlerInputChange: setInputValue, handlePopupVisibleChange: setInnerPopupVisible, handleCreate: handleCreate, size: props2.size, popupContentRef: popupContentRef, indeterminate: indeterminate.value, isCheckAll: isCheckAll.value, onCheckAllChange: onCheckAllChange, getSelectedOptions: getSelectedOptions, displayOptions: displayOptions.value, emitBlur: handleOptionEmitBlur }; }); Vue.provide(select_consts_index.selectInjectKey, SelectProvider); var checkValueInvalid = function checkValueInvalid() { if (!props2.multiple && isArray.isArray(orgValue.value)) { setOrgValue(void 0, { selectedOptions: [], trigger: "default" }); } if (props2.multiple && !isArray.isArray(orgValue.value)) { setOrgValue([], { selectedOptions: [], trigger: "default" }); } }; var handleSearch = debounce.debounce(function (value2, _ref5) { var _props2$onSearch; var e = _ref5.e; (_props2$onSearch = props2.onSearch) === null || _props2$onSearch === void 0 || _props2$onSearch.call(props2, "".concat(value2), { e: e }); }, 300); var handlerInputChange = function handlerInputChange(value2, context) { if (value2) { !innerPopupVisible.value && setInnerPopupVisible(true, { e: context.e }); } setInputValue(value2); handleSearch("".concat(value2), { e: context.e }); Vue.nextTick(function () { var _selectPanelRef$value, _selectPanelRef$value2; virtualFilteredOptions.value = (_selectPanelRef$value = selectPanelRef.value) === null || _selectPanelRef$value === void 0 ? void 0 : _selectPanelRef$value.visibleData; filteredOptions.value = (_selectPanelRef$value2 = selectPanelRef.value) === null || _selectPanelRef$value2 === void 0 ? void 0 : _selectPanelRef$value2.displayOptions; }); }; var handleOptionEmitBlur = function handleOptionEmitBlur(e) { var _props2$onBlur; (_props2$onBlur = props2.onBlur) === null || _props2$onBlur === void 0 || _props2$onBlur.call(props2, { e: e, value: innerValue.value }); }; var handlerPopupVisibleChange = function handlerPopupVisibleChange(visible, context) { setInnerPopupVisible(visible, context); if (visible && context.trigger === "trigger-element-click") setInputValue(""); }; var handlerPopupScrollToBottom = /*#__PURE__*/function () { var _ref6 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(context) { var _popupProps$onScroll, _popupProps$onScrollT; var popupProps; return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: popupProps = props2.popupProps; if (!props2.loading) { _context.next = 3; break; } return _context.abrupt("return"); case 3: popupProps === null || popupProps === void 0 || (_popupProps$onScroll = popupProps["on-scroll-to-bottom"]) === null || _popupProps$onScroll === void 0 || _popupProps$onScroll.call(popupProps, context); popupProps === null || popupProps === void 0 || (_popupProps$onScrollT = popupProps.onScrollToBottom) === null || _popupProps$onScrollT === void 0 || _popupProps$onScrollT.call(popupProps, context); case 5: case "end": return _context.stop(); } }, _callee); })); return function handlerPopupScrollToBottom(_x) { return _ref6.apply(this, arguments); }; }(); var addCache = function addCache(val) { if (props2.multiple) { var newCache = []; var _iterator = _createForOfIteratorHelper(val || []), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var item = _step.value; var option = optionsMap.value.get(item); if (option) { newCache.push(option); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } optionsCache.value = Array.from(/* @__PURE__ */new Set([].concat(newCache, _toConsumableArray__default["default"](optionsCache.value)))); } else { var _option = optionsMap.value.get(val); if (_option) { optionsCache.value = Array.from(/* @__PURE__ */new Set([_option].concat(_toConsumableArray__default["default"](optionsCache.value)))); } } }; Vue.watch(orgValue, function (val) { checkValueInvalid(); Vue.nextTick(function () { addCache(val); }); }, { immediate: true }); Vue.watch(function () { return props2.multiple; }, function () { checkValueInvalid(); }); var updateScrollTop = function updateScrollTop(content) { var _selectPanelRef$value3; if (!selectPanelRef.value) { return; } var firstSelectedNode = (_selectPanelRef$value3 = selectPanelRef.value) === null || _selectPanelRef$value3 === void 0 || (_selectPanelRef$value3 = _selectPanelRef$value3.innerRef) === null || _selectPanelRef$value3 === void 0 ? void 0 : _selectPanelRef$value3.querySelector(".".concat(classPrefix.value, "-is-selected")); Vue.nextTick(function () { if (firstSelectedNode && content) { var _getComputedStyle = getComputedStyle(firstSelectedNode), paddingBottom = _getComputedStyle.paddingBottom; var _getComputedStyle2 = getComputedStyle(content), marginBottom = _getComputedStyle2.marginBottom; var elementBottomHeight = parseInt(paddingBottom, 10) + parseInt(marginBottom, 10); var updateValue = firstSelectedNode.offsetTop - content.offsetTop - (content.clientHeight - firstSelectedNode.clientHeight) + elementBottomHeight; content.scrollTop = updateValue; } }); }; Vue.provide("updateScrollTop", updateScrollTop); return function () { var _ref7 = props2.popupProps || {}, overlayClassName = _ref7.overlayClassName, restPopupProps = _objectWithoutProperties__default["default"](_ref7, _excluded); return Vue.createVNode("div", { "class": "".concat(COMPONENT_NAME.value, "__wrap") }, [Vue.createVNode(selectInput_index.SelectInput, Vue.mergeProps({ autoWidth: props2.autoWidth, readonly: isReadonly.value, borderless: props2.borderless, multiple: props2.multiple, clearable: props2.clearable, loading: props2.loading, status: props2.status, tips: props2.tips, minCollapsedNum: props2.minCollapsedNum, autofocus: props2.autofocus, suffix: props2.suffix, valueDisplayOptions: props2.valueDisplayOptions }, { "ref": selectInputRef, "class": COMPONENT_NAME.value, "value": displayText.value, "disabled": isDisabled.value, "popupVisible": innerPopupVisible.value, "inputValue": innerPopupVisible.value ? innerInputValue.value : "", "placeholder": "".concat(placeholderText.value), "allowInput": isFilterable.value, "collapsed-items": props2.collapsedItems, "inputProps": _objectSpread(_objectSpread({ size: props2.size, autofocus: props2.autofocus }, props2.inputProps), {}, { onkeydown: handleKeyDown }), "tagInputProps": _objectSpread({ size: props2.size }, props2.tagInputProps), "onTagChange": function onTagChange(val, ctx) { removeTag(ctx.index, ctx); }, "tagProps": _objectSpread({}, props2.tagProps), "popupProps": _objectSpread(_objectSpread({ overlayClassName: ["".concat(COMPONENT_NAME.value, "__dropdown"), overlayClassName] }, restPopupProps), {}, { onScrollToBottom: handlerPopupScrollToBottom }), "label": props2.label, "prefixIcon": props2.prefixIcon, "suffix": props2.suffix, "suffixIcon": function suffixIcon() { if (props2.suffixIcon || slots.suffixIcon) { return renderTNodeJSX("suffixIcon"); } return props2.showArrow && Vue.createVNode(commonComponents_fakeArrow["default"], { "overlayClassName": "".concat(COMPONENT_NAME.value, "__right-icon"), "isActive": innerPopupVisible.value }, null); }, "valueDisplay": function valueDisplay() { return renderTNodeJSX("valueDisplay", { params: valueDisplayParams.value }); }, "onPopupVisibleChange": handlerPopupVisibleChange, "onInputChange": handlerInputChange, "onClear": function onClear(_ref8) { var _props2$onClear; var e = _ref8.e; setInnerValue(props2.multiple ? [] : void 0, { option: null, selectedOptions: getSelectedOptions(props2.multiple ? [] : void 0), trigger: "clear", e: e }); (_props2$onClear = props2.onClear) === null || _props2$onClear === void 0 || _props2$onClear.call(props2, { e: e }); }, "onEnter": function onEnter(inputValue2, _ref9) { var e = _ref9.e; setTimeout(function () { var _props2$onEnter; (_props2$onEnter = props2.onEnter) === null || _props2$onEnter === void 0 || _props2$onEnter.call(props2, { inputValue: "".concat(innerInputValue.value), e: e, value: innerValue.value }); handleCreate(); }, 0); }, "onBlur": function onBlur(inputValue2, _ref10) { var _props2$onBlur2; var e = _ref10.e; (_props2$onBlur2 = props2.onBlur) === null || _props2$onBlur2 === void 0 || _props2$onBlur2.call(props2, { e: e, value: innerValue.value }); }, "onFocus": function onFocus(inputValue2, _ref11) { var _props2$onFocus; var e = _ref11.e; (_props2$onFocus = props2.onFocus) === null || _props2$onFocus === void 0 || _props2$onFocus.call(props2, { e: e, value: innerValue.value }); } }, props2.selectInputProps), { label: slots.label, prefixIcon: slots.prefixIcon, suffix: slots.suffix, panel: function panel() { return Vue.createVNode(select_selectPanel["default"], Vue.mergeProps({ "ref": selectPanelRef }, pick.pick(props2, ["size", "multiple", "empty", "loading", "loadingText", "filterable", "creatable", "panelTopContent", "panelBottomContent", "filter", "scroll"]), { "inputValue": innerInputValue.value }), slots); }, collapsedItems: slots.collapsedItems })]); }; } }); exports["default"] = _Select; //# sourceMappingURL=select.js.map