26 lines
712 B
JavaScript
26 lines
712 B
JavaScript
export const b = {}
|
|
|
|
export function setTab(_, sender, el) {
|
|
if (sender.ariaSelected === 'true') {
|
|
return;
|
|
}
|
|
if (!el.contains(sender)) {
|
|
return;
|
|
}
|
|
const tabIndex = parseInt(sender.dataset.tabIndex);
|
|
const tabPanels = el.querySelectorAll('.tab-content');
|
|
const tabButtons = el.querySelectorAll('.tab-bar button');
|
|
|
|
for (let i = 0; i < tabPanels.length; i++) {
|
|
const tabPanel = tabPanels[i];
|
|
const tabButton = tabButtons[i];
|
|
if (i === tabIndex) {
|
|
tabPanel.classList.remove('hidden');
|
|
tabButton.ariaSelected = 'true';
|
|
} else if (!tabPanel.classList.contains('hidden')) {
|
|
tabPanel.classList.add('hidden');
|
|
tabButton.ariaSelected = 'false';
|
|
}
|
|
}
|
|
}
|