UNPKG

@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

45 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getState = exports.getHighlightedIndexes = void 0; const state_1 = require("../types/state"); const getState = (disabled, focused, selected, multiSelected, hover, filling) => { if (disabled) { return state_1.OptionStateType.DISABLED; } if (focused) { return state_1.OptionStateType.FOCUS; } if (selected) { if (multiSelected) { return hover ? state_1.OptionStateType.MULTIPLE_SELECTED_HOVER : state_1.OptionStateType.MULTIPLE_SELECTED; } return hover ? state_1.OptionStateType.SELECTED_HOVER : state_1.OptionStateType.SELECTED; } if (hover) { return state_1.OptionStateType.HOVER; } if (filling) { return state_1.OptionStateType.FILLING; } return state_1.OptionStateType.DEFAULT; }; exports.getState = getState; /** * @description * function to get the indexes of the highlighted chars */ const getHighlightedIndexes = (label, labelCharsHighlighted) => { let firstHighlightedIndex = 0; let lastHighlightedIndex = 0; if (labelCharsHighlighted) { const labelLowerCase = label.toLocaleLowerCase(); const charsHightlightedLowerCase = labelCharsHighlighted.toLocaleLowerCase(); if (labelLowerCase.includes(charsHightlightedLowerCase)) { firstHighlightedIndex = labelLowerCase.indexOf(charsHightlightedLowerCase); lastHighlightedIndex = firstHighlightedIndex + labelCharsHighlighted.length; } } return { firstHighlightedIndex, lastHighlightedIndex }; }; exports.getHighlightedIndexes = getHighlightedIndexes; //# sourceMappingURL=option.utils.js.map