UNPKG

@coreui/react-pro

Version:

UI Components Library for React.js

97 lines (94 loc) 3.64 kB
import { __assign } from '../../node_modules/tslib/tslib.es6.js'; var filterOptions = function (options, search) { var result = []; options.forEach(function (item) { if (typeof item !== 'string' && 'options' in item && Array.isArray(item.options)) { var filteredOptions = filterOptions(item.options, search); if (filteredOptions.length > 0) { result.push(__assign(__assign({}, item), { options: filteredOptions })); } } else if (getOptionLabel(item).toLowerCase().includes(search.toLowerCase())) { result.push(item); } }); return result; }; var flattenOptionsArray = function (options) { var optionsList = []; for (var _i = 0, options_1 = options; _i < options_1.length; _i++) { var option = options_1[_i]; if (typeof option !== 'string' && 'options' in option && Array.isArray(option.options)) { optionsList.push.apply(optionsList, option.options); } else { optionsList.push(option); } } return optionsList; }; var isExternalSearch = function (search) { return ((typeof search === 'string' && search === 'external') || (typeof search === 'object' && search.external === true)); }; var isGlobalSearch = function (search) { return ((typeof search === 'string' && search === 'global') || (typeof search === 'object' && search.global === true)); }; var getOptionLabel = function (option) { return typeof option === 'string' ? option : option.label; }; var highlightSubstring = function (string, query) { if (query) { var regex = new RegExp(query, 'gi'); return string.replace(regex, function (string) { return "<strong>".concat(string, "</strong>"); }); } return string; }; var isOptionDisabled = function (option) { return typeof option === 'string' ? false : option.disabled; }; var isOptionSelected = function (option, selected) { if (!selected) { return false; } if (typeof option === 'string' && typeof selected === 'string') { return selected === option; } if (typeof option !== 'string' && typeof selected !== 'string') { return selected.label === option.label; } return false; }; var getFirstOptionByLabel = function (value, options) { for (var _i = 0, options_2 = options; _i < options_2.length; _i++) { var option = options_2[_i]; if (typeof option !== 'string' && 'options' in option && Array.isArray(option.options)) { var found = getFirstOptionByLabel(value, option.options); if (found) { return found; } } if (getOptionLabel(option).toLowerCase() === value.toLowerCase()) { return option; } } return null; }; var getFirstOptionByValue = function (value, options) { for (var _i = 0, options_3 = options; _i < options_3.length; _i++) { var option = options_3[_i]; if (typeof option !== 'string' && 'options' in option && Array.isArray(option.options)) { var found = getFirstOptionByValue(value, option.options); if (found) { return found; } } if (typeof option !== 'string' && 'value' in option && option.value === value) { return option; } } return null; }; export { filterOptions, flattenOptionsArray, getFirstOptionByLabel, getFirstOptionByValue, getOptionLabel, highlightSubstring, isExternalSearch, isGlobalSearch, isOptionDisabled, isOptionSelected }; //# sourceMappingURL=utils.js.map