diff --git a/public/weigets.js b/public/weigets.js index b72bcbb..af431d6 100644 --- a/public/weigets.js +++ b/public/weigets.js @@ -1,5 +1,5 @@ -export function List({ innerText, textContent, onclick, children = [], dataset, classList = [], ...attributes }) { - const element = document.createElement('ul') +export function createElement({ innerText, textContent, onclick, children = [], dataset, classList = [], ...attributes }, tagName) { + const element = document.createElement(tagName) for (const key in attributes) { element.setAttribute(key, attributes[key]) } @@ -12,44 +12,18 @@ export function List({ innerText, textContent, onclick, children = [], dataset, return element } -export function ListItem({ innerText, textContent, onclick, children = [], dataset, classList = [], ...attributes }) { - const element = document.createElement('li') - for (const key in attributes) { - element.setAttribute(key, attributes[key]) - } - element.classList.add(...classList) - if (innerText) element.innerText = innerText - if (textContent) element.textContent = textContent - if (onclick) element.onclick = onclick - if (dataset) Object.keys(dataset).forEach(key => element.dataset[key] = dataset[key]) - if (children) children.forEach(child => element.appendChild(child)) - return element +export function List(options) { + return createElement(options, 'ul') } -export function Span({ innerText, textContent, onclick, children = [], dataset, classList = [], ...attributes }) { - const element = document.createElement('span') - for (const key in attributes) { - element.setAttribute(key, attributes[key]) - } - element.classList.add(...classList) - if (innerText) element.innerText = innerText - if (textContent) element.textContent = textContent - if (onclick) element.onclick = onclick - if (dataset) Object.keys(dataset).forEach(key => element.dataset[key] = dataset[key]) - if (children) children.forEach(child => element.appendChild(child)) - return element +export function ListItem(options) { + return createElement(options, 'li') } -export function Button({ innerText, textContent, onclick, children = [], dataset, classList = [], ...attributes }) { - const element = document.createElement('button') - for (const key in attributes) { - element.setAttribute(key, attributes[key]) - } - element.classList.add(...classList) - if (innerText) element.innerText = innerText - if (textContent) element.textContent = textContent - if (onclick) element.onclick = onclick - if (dataset) Object.keys(dataset).forEach(key => element.dataset[key] = dataset[key]) - if (children) children.forEach(child => element.appendChild(child)) - return element +export function Span(options) { + return createElement(options, 'span') +} + +export function Button(options) { + return createElement(options, 'button') }