@ozen-ui/kit
Version:
React component library
31 lines (30 loc) • 1.21 kB
JavaScript
import { isId, isInternalOption, isMultipleInternalValue } from '../../utils';
export var useAutocompleteBaseOptions = function (_a) {
var options = _a.options, filteredOptions = _a.filteredOptions, valueControl = _a.valueControl, multiple = _a.multiple, prepareOption = _a.prepareOption;
var isSelected = function (option) {
var valueState = valueControl.value;
if (valueState === null || valueState === undefined) {
return false;
}
var id = (function () {
if (isId(option)) {
return option;
}
if (isInternalOption(option)) {
return option.id;
}
return prepareOption(option).id;
})();
if (isMultipleInternalValue(valueState, multiple)) {
return valueState.some(function (option) { return option.id === id; });
}
return valueState.id === id;
};
var hasOptions = (filteredOptions === null || filteredOptions === void 0 ? void 0 : filteredOptions.length) > 0;
return {
options: options,
filteredOptions: filteredOptions,
isSelected: isSelected,
hasOptions: hasOptions,
};
};