@sit-onyx/headless 1.0.0-beta.23 → 1.0.0-beta.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -311
- package/dist/utils/keyboard.d.ts +2 -11
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -21,317 +21,8 @@ const wasKeyPressed = (event, key) => {
|
|
|
21
21
|
event
|
|
22
22
|
);
|
|
23
23
|
};
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
"Unidentified",
|
|
27
|
-
"Alt",
|
|
28
|
-
"AltGraph",
|
|
29
|
-
"CapsLock",
|
|
30
|
-
"Control",
|
|
31
|
-
"Fn",
|
|
32
|
-
"FnLock",
|
|
33
|
-
"Meta",
|
|
34
|
-
"NumLock",
|
|
35
|
-
"ScrollLock",
|
|
36
|
-
"Shift",
|
|
37
|
-
"Symbol",
|
|
38
|
-
"SymbolLock",
|
|
39
|
-
"Hyper",
|
|
40
|
-
"Super",
|
|
41
|
-
"Enter",
|
|
42
|
-
"Tab",
|
|
43
|
-
"ArrowDown",
|
|
44
|
-
"ArrowLeft",
|
|
45
|
-
"ArrowRight",
|
|
46
|
-
"ArrowUp",
|
|
47
|
-
"End",
|
|
48
|
-
"Home",
|
|
49
|
-
"PageDown",
|
|
50
|
-
"PageUp",
|
|
51
|
-
"Backspace",
|
|
52
|
-
"Clear",
|
|
53
|
-
"Copy",
|
|
54
|
-
"CrSel",
|
|
55
|
-
"Cut",
|
|
56
|
-
"Delete",
|
|
57
|
-
"EraseEof",
|
|
58
|
-
"ExSel",
|
|
59
|
-
"Insert",
|
|
60
|
-
"Paste",
|
|
61
|
-
"Redo",
|
|
62
|
-
"Undo",
|
|
63
|
-
"Accept",
|
|
64
|
-
"Again",
|
|
65
|
-
"Attn",
|
|
66
|
-
"Cancel",
|
|
67
|
-
"ContextMenu",
|
|
68
|
-
"Escape",
|
|
69
|
-
"Execute",
|
|
70
|
-
"Find",
|
|
71
|
-
"Help",
|
|
72
|
-
"Pause",
|
|
73
|
-
"Play",
|
|
74
|
-
"Props",
|
|
75
|
-
"Select",
|
|
76
|
-
"ZoomIn",
|
|
77
|
-
"ZoomOut",
|
|
78
|
-
"BrightnessDown",
|
|
79
|
-
"BrightnessUp",
|
|
80
|
-
"Eject",
|
|
81
|
-
"LogOff",
|
|
82
|
-
"Power",
|
|
83
|
-
"PowerOff",
|
|
84
|
-
"PrintScreen",
|
|
85
|
-
"Hibernate",
|
|
86
|
-
"Standby",
|
|
87
|
-
"WakeUp",
|
|
88
|
-
"AllCandidates",
|
|
89
|
-
"Alphanumeric",
|
|
90
|
-
"CodeInput",
|
|
91
|
-
"Compose",
|
|
92
|
-
"Convert",
|
|
93
|
-
"Dead",
|
|
94
|
-
"FinalMode",
|
|
95
|
-
"GroupFirst",
|
|
96
|
-
"GroupLast",
|
|
97
|
-
"GroupNext",
|
|
98
|
-
"GroupPrevious",
|
|
99
|
-
"ModeChange",
|
|
100
|
-
"NextCandidate",
|
|
101
|
-
"NonConvert",
|
|
102
|
-
"PreviousCandidate",
|
|
103
|
-
"Process",
|
|
104
|
-
"SingleCandidate",
|
|
105
|
-
"HangulMode",
|
|
106
|
-
"HanjaMode",
|
|
107
|
-
"JunjaMode",
|
|
108
|
-
"Eisu",
|
|
109
|
-
"Hankaku",
|
|
110
|
-
"Hiragana",
|
|
111
|
-
"HiraganaKatakana",
|
|
112
|
-
"KanaMode",
|
|
113
|
-
"KanjiMode",
|
|
114
|
-
"Katakana",
|
|
115
|
-
"Romaji",
|
|
116
|
-
"Zenkaku",
|
|
117
|
-
"ZenkakuHankaku",
|
|
118
|
-
"F1",
|
|
119
|
-
"F2",
|
|
120
|
-
"F3",
|
|
121
|
-
"F4",
|
|
122
|
-
"F5",
|
|
123
|
-
"F6",
|
|
124
|
-
"F7",
|
|
125
|
-
"F8",
|
|
126
|
-
"F9",
|
|
127
|
-
"F10",
|
|
128
|
-
"F11",
|
|
129
|
-
"F12",
|
|
130
|
-
"Soft1",
|
|
131
|
-
"Soft2",
|
|
132
|
-
"Soft3",
|
|
133
|
-
"Soft4",
|
|
134
|
-
"ChannelDown",
|
|
135
|
-
"ChannelUp",
|
|
136
|
-
"Close",
|
|
137
|
-
"MailForward",
|
|
138
|
-
"MailReply",
|
|
139
|
-
"MailSend",
|
|
140
|
-
"MediaClose",
|
|
141
|
-
"MediaFastForward",
|
|
142
|
-
"MediaPause",
|
|
143
|
-
"MediaPlay",
|
|
144
|
-
"MediaPlayPause",
|
|
145
|
-
"MediaRecord",
|
|
146
|
-
"MediaRewind",
|
|
147
|
-
"MediaStop",
|
|
148
|
-
"MediaTrackNext",
|
|
149
|
-
"MediaTrackPrevious",
|
|
150
|
-
"New",
|
|
151
|
-
"Open",
|
|
152
|
-
"Print",
|
|
153
|
-
"Save",
|
|
154
|
-
"SpellCheck",
|
|
155
|
-
"Key11",
|
|
156
|
-
"Key12",
|
|
157
|
-
"AudioBalanceLeft",
|
|
158
|
-
"AudioBalanceRight",
|
|
159
|
-
"AudioBassBoostDown",
|
|
160
|
-
"AudioBassBoostToggle",
|
|
161
|
-
"AudioBassBoostUp",
|
|
162
|
-
"AudioFaderFront",
|
|
163
|
-
"AudioFaderRear",
|
|
164
|
-
"AudioSurroundModeNext",
|
|
165
|
-
"AudioTrebleDown",
|
|
166
|
-
"AudioTrebleUp",
|
|
167
|
-
"AudioVolumeDown",
|
|
168
|
-
"AudioVolumeUp",
|
|
169
|
-
"AudioVolumeMute",
|
|
170
|
-
"MicrophoneToggle",
|
|
171
|
-
"MicrophoneVolumeDown",
|
|
172
|
-
"MicrophoneVolumeUp",
|
|
173
|
-
"MicrophoneVolumeMute",
|
|
174
|
-
"SpeechCorrectionList",
|
|
175
|
-
"SpeechInputToggle",
|
|
176
|
-
"LaunchApplication1",
|
|
177
|
-
"LaunchApplication2",
|
|
178
|
-
"LaunchCalendar",
|
|
179
|
-
"LaunchContacts",
|
|
180
|
-
"LaunchMail",
|
|
181
|
-
"LaunchMediaPlayer",
|
|
182
|
-
"LaunchMusicPlayer",
|
|
183
|
-
"LaunchPhone",
|
|
184
|
-
"LaunchScreenSaver",
|
|
185
|
-
"LaunchSpreadsheet",
|
|
186
|
-
"LaunchWebBrowser",
|
|
187
|
-
"LaunchWebCam",
|
|
188
|
-
"LaunchWordProcessor",
|
|
189
|
-
"BrowserBack",
|
|
190
|
-
"BrowserFavorites",
|
|
191
|
-
"BrowserForward",
|
|
192
|
-
"BrowserHome",
|
|
193
|
-
"BrowserRefresh",
|
|
194
|
-
"BrowserSearch",
|
|
195
|
-
"BrowserStop",
|
|
196
|
-
"AppSwitch",
|
|
197
|
-
"Call",
|
|
198
|
-
"Camera",
|
|
199
|
-
"CameraFocus",
|
|
200
|
-
"EndCall",
|
|
201
|
-
"GoBack",
|
|
202
|
-
"GoHome",
|
|
203
|
-
"HeadsetHook",
|
|
204
|
-
"LastNumberRedial",
|
|
205
|
-
"Notification",
|
|
206
|
-
"MannerMode",
|
|
207
|
-
"VoiceDial",
|
|
208
|
-
"TV",
|
|
209
|
-
"TV3DMode",
|
|
210
|
-
"TVAntennaCable",
|
|
211
|
-
"TVAudioDescription",
|
|
212
|
-
"TVAudioDescriptionMixDown",
|
|
213
|
-
"TVAudioDescriptionMixUp",
|
|
214
|
-
"TVContentsMenu",
|
|
215
|
-
"TVDataService",
|
|
216
|
-
"TVInput",
|
|
217
|
-
"TVInputComponent1",
|
|
218
|
-
"TVInputComponent2",
|
|
219
|
-
"TVInputComposite1",
|
|
220
|
-
"TVInputComposite2",
|
|
221
|
-
"TVInputHDMI1",
|
|
222
|
-
"TVInputHDMI2",
|
|
223
|
-
"TVInputHDMI3",
|
|
224
|
-
"TVInputHDMI4",
|
|
225
|
-
"TVInputVGA1",
|
|
226
|
-
"TVMediaContext",
|
|
227
|
-
"TVNetwork",
|
|
228
|
-
"TVNumberEntry",
|
|
229
|
-
"TVPower",
|
|
230
|
-
"TVRadioService",
|
|
231
|
-
"TVSatellite",
|
|
232
|
-
"TVSatelliteBS",
|
|
233
|
-
"TVSatelliteCS",
|
|
234
|
-
"TVSatelliteToggle",
|
|
235
|
-
"TVTerrestrialAnalog",
|
|
236
|
-
"TVTerrestrialDigital",
|
|
237
|
-
"TVTimer",
|
|
238
|
-
"AVRInput",
|
|
239
|
-
"AVRPower",
|
|
240
|
-
"ColorF0Red",
|
|
241
|
-
"ColorF1Green",
|
|
242
|
-
"ColorF2Yellow",
|
|
243
|
-
"ColorF3Blue",
|
|
244
|
-
"ColorF4Grey",
|
|
245
|
-
"ColorF5Brown",
|
|
246
|
-
"ClosedCaptionToggle",
|
|
247
|
-
"Dimmer",
|
|
248
|
-
"DisplaySwap",
|
|
249
|
-
"DVR",
|
|
250
|
-
"Exit",
|
|
251
|
-
"FavoriteClear0",
|
|
252
|
-
"FavoriteClear1",
|
|
253
|
-
"FavoriteClear2",
|
|
254
|
-
"FavoriteClear3",
|
|
255
|
-
"FavoriteRecall0",
|
|
256
|
-
"FavoriteRecall1",
|
|
257
|
-
"FavoriteRecall2",
|
|
258
|
-
"FavoriteRecall3",
|
|
259
|
-
"FavoriteStore0",
|
|
260
|
-
"FavoriteStore1",
|
|
261
|
-
"FavoriteStore2",
|
|
262
|
-
"FavoriteStore3",
|
|
263
|
-
"Guide",
|
|
264
|
-
"GuideNextDay",
|
|
265
|
-
"GuidePreviousDay",
|
|
266
|
-
"Info",
|
|
267
|
-
"InstantReplay",
|
|
268
|
-
"Link",
|
|
269
|
-
"ListProgram",
|
|
270
|
-
"LiveContent",
|
|
271
|
-
"Lock",
|
|
272
|
-
"MediaApps",
|
|
273
|
-
"MediaAudioTrack",
|
|
274
|
-
"MediaLast",
|
|
275
|
-
"MediaSkipBackward",
|
|
276
|
-
"MediaSkipForward",
|
|
277
|
-
"MediaStepBackward",
|
|
278
|
-
"MediaStepForward",
|
|
279
|
-
"MediaTopMenu",
|
|
280
|
-
"NavigateIn",
|
|
281
|
-
"NavigateNext",
|
|
282
|
-
"NavigateOut",
|
|
283
|
-
"NavigatePrevious",
|
|
284
|
-
"NextFavoriteChannel",
|
|
285
|
-
"NextUserProfile",
|
|
286
|
-
"OnDemand",
|
|
287
|
-
"Pairing",
|
|
288
|
-
"PinPDown",
|
|
289
|
-
"PinPMove",
|
|
290
|
-
"PinPToggle",
|
|
291
|
-
"PinPUp",
|
|
292
|
-
"PlaySpeedDown",
|
|
293
|
-
"PlaySpeedReset",
|
|
294
|
-
"PlaySpeedUp",
|
|
295
|
-
"RandomToggle",
|
|
296
|
-
"RcLowBattery",
|
|
297
|
-
"RecordSpeedNext",
|
|
298
|
-
"RfBypass",
|
|
299
|
-
"ScanChannelsToggle",
|
|
300
|
-
"ScreenModeNext",
|
|
301
|
-
"Settings",
|
|
302
|
-
"SplitScreenToggle",
|
|
303
|
-
"STBInput",
|
|
304
|
-
"STBPower",
|
|
305
|
-
"Subtitle",
|
|
306
|
-
"Teletext",
|
|
307
|
-
"VideoModeNext",
|
|
308
|
-
"Wink",
|
|
309
|
-
"ZoomToggle",
|
|
310
|
-
"AudioVolumeDown",
|
|
311
|
-
"AudioVolumeUp",
|
|
312
|
-
"AudioVolumeMute",
|
|
313
|
-
"BrowserBack",
|
|
314
|
-
"BrowserForward",
|
|
315
|
-
"ChannelDown",
|
|
316
|
-
"ChannelUp",
|
|
317
|
-
"ContextMenu",
|
|
318
|
-
"Eject",
|
|
319
|
-
"End",
|
|
320
|
-
"Enter",
|
|
321
|
-
"Home",
|
|
322
|
-
"MediaFastForward",
|
|
323
|
-
"MediaPlay",
|
|
324
|
-
"MediaPlayPause",
|
|
325
|
-
"MediaRecord",
|
|
326
|
-
"MediaRewind",
|
|
327
|
-
"MediaStop",
|
|
328
|
-
"MediaNextTrack",
|
|
329
|
-
"MediaPause",
|
|
330
|
-
"MediaPreviousTrack",
|
|
331
|
-
"Power",
|
|
332
|
-
"Unidentified"
|
|
333
|
-
];
|
|
334
|
-
const NAMED_KEYS_SET = new Set(NAMED_KEYS);
|
|
24
|
+
const GRAPHEME_SEGMENTER = new Intl.Segmenter("en-US");
|
|
25
|
+
const isPrintableCharacter = (key) => [...GRAPHEME_SEGMENTER.segment(key)].length === 1;
|
|
335
26
|
const GLOBAL_LISTENERS = reactive(/* @__PURE__ */ new Map());
|
|
336
27
|
const updateRemainingListeners = (type, remaining) => {
|
|
337
28
|
if (remaining?.size) {
|
package/dist/utils/keyboard.d.ts
CHANGED
|
@@ -11,16 +11,7 @@ export declare const wasKeyPressed: (event: KeyboardEvent, key: PressedKey) => b
|
|
|
11
11
|
* Check if the `key` property of a KeyboardEvent is a printable character.
|
|
12
12
|
*
|
|
13
13
|
* There is no standardized or specified algorithm to check for [named keys](https://www.w3.org/TR/uievents-key/#named-key-attribute-values) vs printable characters.
|
|
14
|
-
* For this check we
|
|
14
|
+
* For this check we assume that any `key` value that is a single Grapheme is a printable characters.
|
|
15
|
+
* This way we can ensure that combining characters and emojis are correctly recognized without need to keep a list of all named key.
|
|
15
16
|
*/
|
|
16
17
|
export declare const isPrintableCharacter: (key: string) => boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Based on https://www.w3.org/TR/uievents-key/#named-key-attribute-values
|
|
19
|
-
*
|
|
20
|
-
* Extracted using
|
|
21
|
-
* ```js
|
|
22
|
-
* copy(JSON.stringify([...document.querySelectorAll(".key-table-key")].map(e => e.innerText.replaceAll("\"", ""))));
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export declare const NAMED_KEYS: readonly ["Unidentified", "Alt", "AltGraph", "CapsLock", "Control", "Fn", "FnLock", "Meta", "NumLock", "ScrollLock", "Shift", "Symbol", "SymbolLock", "Hyper", "Super", "Enter", "Tab", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "End", "Home", "PageDown", "PageUp", "Backspace", "Clear", "Copy", "CrSel", "Cut", "Delete", "EraseEof", "ExSel", "Insert", "Paste", "Redo", "Undo", "Accept", "Again", "Attn", "Cancel", "ContextMenu", "Escape", "Execute", "Find", "Help", "Pause", "Play", "Props", "Select", "ZoomIn", "ZoomOut", "BrightnessDown", "BrightnessUp", "Eject", "LogOff", "Power", "PowerOff", "PrintScreen", "Hibernate", "Standby", "WakeUp", "AllCandidates", "Alphanumeric", "CodeInput", "Compose", "Convert", "Dead", "FinalMode", "GroupFirst", "GroupLast", "GroupNext", "GroupPrevious", "ModeChange", "NextCandidate", "NonConvert", "PreviousCandidate", "Process", "SingleCandidate", "HangulMode", "HanjaMode", "JunjaMode", "Eisu", "Hankaku", "Hiragana", "HiraganaKatakana", "KanaMode", "KanjiMode", "Katakana", "Romaji", "Zenkaku", "ZenkakuHankaku", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "Soft1", "Soft2", "Soft3", "Soft4", "ChannelDown", "ChannelUp", "Close", "MailForward", "MailReply", "MailSend", "MediaClose", "MediaFastForward", "MediaPause", "MediaPlay", "MediaPlayPause", "MediaRecord", "MediaRewind", "MediaStop", "MediaTrackNext", "MediaTrackPrevious", "New", "Open", "Print", "Save", "SpellCheck", "Key11", "Key12", "AudioBalanceLeft", "AudioBalanceRight", "AudioBassBoostDown", "AudioBassBoostToggle", "AudioBassBoostUp", "AudioFaderFront", "AudioFaderRear", "AudioSurroundModeNext", "AudioTrebleDown", "AudioTrebleUp", "AudioVolumeDown", "AudioVolumeUp", "AudioVolumeMute", "MicrophoneToggle", "MicrophoneVolumeDown", "MicrophoneVolumeUp", "MicrophoneVolumeMute", "SpeechCorrectionList", "SpeechInputToggle", "LaunchApplication1", "LaunchApplication2", "LaunchCalendar", "LaunchContacts", "LaunchMail", "LaunchMediaPlayer", "LaunchMusicPlayer", "LaunchPhone", "LaunchScreenSaver", "LaunchSpreadsheet", "LaunchWebBrowser", "LaunchWebCam", "LaunchWordProcessor", "BrowserBack", "BrowserFavorites", "BrowserForward", "BrowserHome", "BrowserRefresh", "BrowserSearch", "BrowserStop", "AppSwitch", "Call", "Camera", "CameraFocus", "EndCall", "GoBack", "GoHome", "HeadsetHook", "LastNumberRedial", "Notification", "MannerMode", "VoiceDial", "TV", "TV3DMode", "TVAntennaCable", "TVAudioDescription", "TVAudioDescriptionMixDown", "TVAudioDescriptionMixUp", "TVContentsMenu", "TVDataService", "TVInput", "TVInputComponent1", "TVInputComponent2", "TVInputComposite1", "TVInputComposite2", "TVInputHDMI1", "TVInputHDMI2", "TVInputHDMI3", "TVInputHDMI4", "TVInputVGA1", "TVMediaContext", "TVNetwork", "TVNumberEntry", "TVPower", "TVRadioService", "TVSatellite", "TVSatelliteBS", "TVSatelliteCS", "TVSatelliteToggle", "TVTerrestrialAnalog", "TVTerrestrialDigital", "TVTimer", "AVRInput", "AVRPower", "ColorF0Red", "ColorF1Green", "ColorF2Yellow", "ColorF3Blue", "ColorF4Grey", "ColorF5Brown", "ClosedCaptionToggle", "Dimmer", "DisplaySwap", "DVR", "Exit", "FavoriteClear0", "FavoriteClear1", "FavoriteClear2", "FavoriteClear3", "FavoriteRecall0", "FavoriteRecall1", "FavoriteRecall2", "FavoriteRecall3", "FavoriteStore0", "FavoriteStore1", "FavoriteStore2", "FavoriteStore3", "Guide", "GuideNextDay", "GuidePreviousDay", "Info", "InstantReplay", "Link", "ListProgram", "LiveContent", "Lock", "MediaApps", "MediaAudioTrack", "MediaLast", "MediaSkipBackward", "MediaSkipForward", "MediaStepBackward", "MediaStepForward", "MediaTopMenu", "NavigateIn", "NavigateNext", "NavigateOut", "NavigatePrevious", "NextFavoriteChannel", "NextUserProfile", "OnDemand", "Pairing", "PinPDown", "PinPMove", "PinPToggle", "PinPUp", "PlaySpeedDown", "PlaySpeedReset", "PlaySpeedUp", "RandomToggle", "RcLowBattery", "RecordSpeedNext", "RfBypass", "ScanChannelsToggle", "ScreenModeNext", "Settings", "SplitScreenToggle", "STBInput", "STBPower", "Subtitle", "Teletext", "VideoModeNext", "Wink", "ZoomToggle", "AudioVolumeDown", "AudioVolumeUp", "AudioVolumeMute", "BrowserBack", "BrowserForward", "ChannelDown", "ChannelUp", "ContextMenu", "Eject", "End", "Enter", "Home", "MediaFastForward", "MediaPlay", "MediaPlayPause", "MediaRecord", "MediaRewind", "MediaStop", "MediaNextTrack", "MediaPause", "MediaPreviousTrack", "Power", "Unidentified"];
|
|
26
|
-
export declare const NAMED_KEYS_SET: Set<string>;
|