@polight/lego
Version:
Tiny Web-Components lib for future-proof HTML mentors
101 lines (97 loc) • 1.82 kB
JavaScript
// Inspired from https://github.com/jsdom/jsdom/blob/6cf36809c500643160f4626c077cc597967f8871/lib/jsdom/living/nodes/GlobalEventHandlers.webidl
const NATIVE_EVENTS = [
'onabort',
'onauxclick',
'onbeforeinput',
'onbeforematch',
'onbeforetoggle',
'onblur',
'oncancel',
'oncanplay',
'oncanplaythrough',
'onchange',
'onclick',
'onclose',
'oncontextlost',
'oncontextmenu',
'oncontextrestored',
'oncopy',
'oncuechange',
'oncut',
'ondblclick',
'ondrag',
'ondragend',
'ondragenter',
'ondragleave',
'ondragover',
'ondragstart',
'ondrop',
'ondurationchange',
'onemptied',
'onended',
'onerror',
'onfocus',
'onformdata',
'oninput',
'oninvalid',
'onkeydown',
'onkeypress',
'onkeyup',
'onload',
'onloadeddata',
'onloadedmetadata',
'onloadstart',
'onmousedown',
'onmouseenter',
'onmouseleave',
'onmousemove',
'onmouseout',
'onmouseover',
'onmouseup',
'onpaste',
'onpause',
'onplay',
'onplaying',
'onprogress',
'onratechange',
'onreset',
'onresize',
'onscroll',
'onscrollend',
'onsecuritypolicyviolation',
'onseeked',
'onseeking',
'onselect',
'onslotchange',
'onstalled',
'onsubmit',
'onsuspend',
'ontimeupdate',
'ontoggle',
'onvolumechange',
'onwaiting',
'onwebkitanimationend',
'onwebkitanimationiteration',
'onwebkitanimationstart',
'onwebkittransitionend',
'onwheel',
'ontouchstart',
'ontouchend',
'ontouchmove',
'ontouchcancel',
'onpointerover',
'onpointerenter',
'onpointerdown',
'onpointermove',
'onpointerrawupdate',
'onpointerup',
'onpointercancel',
'onpointerout',
'onpointerleave',
'ongotpointercapture',
'onlostpointercapture',
]
function isNativeEvent(event) {
return NATIVE_EVENTS.includes(event)
}
export { NATIVE_EVENTS, isNativeEvent }