@xiee/utils
Version:
Miscellaneous tools and utilities to manipulate HTML pages
2 lines • 899 B
JavaScript
(e=>{const r=["Enter","Up","Down","Left","Right"],t=["↵","↑","↓","←","→"];function n(e){return r.map((r,n)=>e=e.replace(new RegExp(`>${r}<`,"g"),` title="${r+(n?" Arrow":"")}">${t[n]}<`)),e}const o="Esc|Tab|PageUp|PageDown|Space|Delete|Home|End|PrtScr?|PrintScreen|"+Array(12).fill().map((e,r)=>"F"+(r+1)).concat(r).join("|"),l="Ctrl|Control|Shift|Alt|Cmd|Command|fn",c=new RegExp(`^(${o}|${l})$`),a=new RegExp(`^(${l}) [/+] `),i=new RegExp(`^(${o}|${l}|[a-zA-Z0-9]|Double-Click|Click)( [/+] )(.*)`);e.querySelectorAll(":not(pre) > code").forEach(e=>{if(e.childElementCount>0)return;let r=e.innerText;if(c.test(r))return void(e.outerHTML=n(`<kbd>${r}</kbd>`));if(!a.test(r))return;let t="";for(r+=" + ";i.test(r);)t+=r.replace(i,"<kbd>$1</kbd>$2"),r=r.replace(i,"$3");""===r&&(e.outerHTML=n(t.replace(/ \+ $/,"")))})})(document);
//# sourceMappingURL=key-buttons.min.js.map