<commit_before>﻿using Bridge.Html5;

namespace Bridge.React
{
	[External]
	[ObjectLiteral]
	public sealed class KeyboardEvent<TCurrentTarget> : SyntheticEvent<TCurrentTarget> where TCurrentTarget : Element
	{
		private KeyboardEvent() { }

		public readonly bool AltKey;
		public readonly int CharCode;
		public readonly bool CtrlKey;
		public readonly string Key;
		public readonly int KeyCode;
		public readonly string Locale;
		public readonly int Location;
		public readonly bool MetaKey;
		public readonly bool Repeat;
		public readonly bool ShiftKey;
		public readonly int Which;

		[External]
		public extern bool GetModifierState(int key);

		/// <summary>
		/// A collection of named <see cref="KeyboardEvent{TCurrentTarget}.Key"/> attribute values.
		/// These are all based on the W3C UI Events Specification, with the key values listed in https://www.w3.org/TR/uievents-key/.
		/// </summary><commit_msg>Move NamedKeys to its own non-generic KeyboardEvent class<commit_after>﻿using Bridge.Html5;

namespace Bridge.React
{
	[External]
	[ObjectLiteral]
	public sealed class KeyboardEvent<TCurrentTarget> : SyntheticEvent<TCurrentTarget> where TCurrentTarget : Element
	{
		private KeyboardEvent() { }

		public readonly bool AltKey;
		public readonly int CharCode;
		public readonly bool CtrlKey;
		public readonly string Key;
		public readonly int KeyCode;
		public readonly string Locale;
		public readonly int Location;
		public readonly bool MetaKey;
		public readonly bool Repeat;
		public readonly bool ShiftKey;
		public readonly int Which;

		[External]
		public extern bool GetModifierState(int key);
	}

	public static class KeyboardEvent
	{
		/// <summary>
		/// A collection of named <see cref="KeyboardEvent{TCurrentTarget}.Key"/> attribute values.
		/// These are all based on the W3C UI Events Specification, with the key values listed in https://www.w3.org/TR/uievents-key/.
		/// </summary>
{'fraction_non_alphanumeric': 0.08189880020865936, 'fraction_numerical': 0.003129890453834116, 'mean_word_length': 4.269230769230769, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4721658', 'n_tokens_mistral': 577, 'n_tokens_neox': 532, 'n_words': 196}