@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.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.syntheticSelect = void 0;
const cloneEvent_1 = require("../helpers/cloneEvent");
const createOption_1 = require("./helper/createOption");
const firstSelectOption = {
label: '',
value: '',
};
const syntheticSelect = (options, selectedText, name) => {
let selectEvent;
const selectElement = document.createElement('select');
if (name) {
selectElement.name = name;
}
const firstOptionElement = (0, createOption_1.createOption)(firstSelectOption);
selectElement.appendChild(firstOptionElement);
options.forEach(option => {
const currentOption = option.label === selectedText ? { ...option, selected: true } : option;
const optionElement = (0, createOption_1.createOption)(currentOption);
selectElement.appendChild(optionElement);
});
selectElement.addEventListener('change', event => {
selectEvent = (0, cloneEvent_1.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 };
};
exports.syntheticSelect = syntheticSelect;
//# sourceMappingURL=syntheticSelect.js.map