@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
34 lines • 1.2 kB
JavaScript
import { cloneEvent } from '../helpers/cloneEvent';
import { createOption } from './helper/createOption';
const firstSelectOption = {
label: '',
value: '',
};
export const syntheticSelect = (options, selectedText, name) => {
let selectEvent;
const selectElement = document.createElement('select');
if (name) {
selectElement.name = name;
}
const firstOptionElement = createOption(firstSelectOption);
selectElement.appendChild(firstOptionElement);
options.forEach(option => {
const currentOption = option.label === selectedText ? { ...option, selected: true } : option;
const optionElement = createOption(currentOption);
selectElement.appendChild(optionElement);
});
selectElement.addEventListener('change', event => {
selectEvent = cloneEvent(event);
});
const getRef = () => {
return selectElement;
};
const clickOption = (value) => {
selectElement.value = value;
const changeEvent = new Event('change');
selectElement.dispatchEvent(changeEvent);
return selectEvent;
};
return { getRef, clickOption };
};
//# sourceMappingURL=syntheticSelect.js.map