From 140b239cfcd70e372129c466654560b5bab60628 Mon Sep 17 00:00:00 2001 From: A McIlwraith Date: Fri, 16 Aug 2024 21:10:37 -0400 Subject: [PATCH] Update to allow tab and space or enter to select a tab and change copyright info --- src/pg/patterns/core/tabs/_tabs.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/pg/patterns/core/tabs/_tabs.js b/src/pg/patterns/core/tabs/_tabs.js index 5c96252..c865fe6 100644 --- a/src/pg/patterns/core/tabs/_tabs.js +++ b/src/pg/patterns/core/tabs/_tabs.js @@ -1,8 +1,14 @@ /* DS2 core (c) 2024 Alexander McIlwraith - import * as tabs from "../pg/patterns/layouts/tabs/_tabs.js"; - tabs.init(); + Released under Creative Commons Attribution-ShareAlike 4.0 International */ +// create a pure JS mouse click event +const click = new MouseEvent('click', { + view: window, + bubbles: false, + cancelable: true +}); + export function init(p = document) { p.querySelectorAll(".tab-group, tabset").forEach(tabGroup => { @@ -46,8 +52,15 @@ export function init(p = document) { const tabPanelId = tab.getAttribute("id").replace("tab", "tab-panel"); document.getElementById(tabPanelId).classList.add("open"); }); + + + tab.addEventListener("keypress", (e) => { + e.preventDefault(); + if( e.which == 32 || e.which == 13 ) { + e.currentTarget.dispatchEvent(click); + } + }) }); - } }); }