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

34 lines 1.2 kB
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