@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
38 lines • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.keyDownMove = exports.keyUpMove = exports.getOptionVariant = exports.isSelected = void 0;
const isSelected = (option, selectedValue, isMultiSelect, caseSensitive) => {
if (selectedValue !== null && selectedValue !== undefined && option.value !== undefined) {
if (isMultiSelect) {
return Boolean(Array.isArray(selectedValue) && selectedValue.includes(option.value));
}
if (caseSensitive) {
return Boolean(selectedValue === option.value);
}
return Boolean(selectedValue.toLocaleString().toLocaleLowerCase() ===
option.value.toLocaleString().toLocaleLowerCase());
}
return false;
};
exports.isSelected = isSelected;
const getOptionVariant = (highlighted, hightlightedOptionVariant, optionVariant) => {
return highlighted && hightlightedOptionVariant ? hightlightedOptionVariant : optionVariant;
};
exports.getOptionVariant = getOptionVariant;
const keyUpMove = (prevFocus) => {
let newFocus = Math.max(prevFocus, 0);
if (prevFocus > 0) {
newFocus -= 1;
}
return newFocus;
};
exports.keyUpMove = keyUpMove;
const keyDownMove = (options) => (prevFocus) => {
let newFocus = Math.max(prevFocus, 0);
if (prevFocus + 1 <= options.length - 1) {
newFocus += 1;
}
return newFocus;
};
exports.keyDownMove = keyDownMove;
//# sourceMappingURL=listOptions.utils.js.map