tdesign-mobile-vue
Version:
tdesign-mobile-vue
41 lines (37 loc) • 1.43 kB
JavaScript
/**
* tdesign v1.12.1
* (c) 2025 TDesign Group
* @license MIT
*/
import { isArray, get } from 'lodash-es';
var isMultipleArray = function isMultipleArray(arr) {
return isArray(arr[0]);
};
var getPickerColumns = function getPickerColumns(columns) {
return isMultipleArray(columns) ? columns : [columns];
};
var limitNumberInRange = function limitNumberInRange(num, min, max) {
return Math.min(Math.max(num, min), max);
};
function findIndexOfEnabledOption(options, startIndex, keys) {
var _keys$disabled;
var limitStartIndex = limitNumberInRange(startIndex, 0, Math.max(options.length - 1, 0));
var disabledKey = (_keys$disabled = keys === null || keys === void 0 ? void 0 : keys.disabled) !== null && _keys$disabled !== void 0 ? _keys$disabled : "disabled";
if (!get(options[limitStartIndex], disabledKey)) {
return limitStartIndex;
}
var maxOffset = Math.max(limitStartIndex, options.length - 1 - limitStartIndex);
for (var i = 0; i <= maxOffset; i++) {
var forwardIdx = limitStartIndex + i;
if (forwardIdx < options.length && !get(options[forwardIdx], disabledKey)) {
return forwardIdx;
}
var backwardIdx = limitStartIndex - i;
if (backwardIdx >= 0 && !get(options[backwardIdx], disabledKey)) {
return backwardIdx;
}
}
return 0;
}
export { findIndexOfEnabledOption, getPickerColumns, isMultipleArray, limitNumberInRange };
//# sourceMappingURL=utils.js.map