rx-hotkeys 4.0.0 → 4.2.0
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/README.md +26 -18
- package/dist/core/hotkeys.d.ts +31 -10
- package/dist/core/hotkeys.d.ts.map +1 -1
- package/dist/core/hotkeys.js +116 -113
- package/dist/core/hotkeys.js.map +1 -1
- package/dist/core/hotkeys.test.js +71 -6
- package/dist/core/hotkeys.test.js.map +1 -1
- package/dist/integrations/react/useHotkeys.d.ts +4 -4
- package/dist/integrations/react/useHotkeys.d.ts.map +1 -1
- package/dist/integrations/react/useHotkeys.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -263,7 +263,7 @@ export function MyModal({ onClose }) {
|
|
|
263
263
|
useScopedHotkeysContext('modal');
|
|
264
264
|
|
|
265
265
|
// This hotkey will only be active when the 'modal' context is active.
|
|
266
|
-
useHotkeys(
|
|
266
|
+
useHotkeys("escape", onClose, { context: 'modal' });
|
|
267
267
|
|
|
268
268
|
return (
|
|
269
269
|
<div className="modal">
|
|
@@ -352,14 +352,14 @@ A React component that provides the Hotkeys instance to its children.
|
|
|
352
352
|
`useHotkeys(keys, callback, options?)`
|
|
353
353
|
|
|
354
354
|
A React hook to register a key combination.
|
|
355
|
-
* `keys:
|
|
355
|
+
* `keys: KeyCombinationConfig["keys"]`: The shortcut definition (e.g., `'ctrl+s'`).
|
|
356
356
|
* `callback: (event: KeyboardEvent) => void`: The function to execute.
|
|
357
357
|
* `options?: HotkeyHookOptions`: Optional config for `preventDefault`, `context`, `target`, etc.
|
|
358
358
|
|
|
359
359
|
`useSequence(sequence, callback, options?)`
|
|
360
360
|
|
|
361
361
|
A React hook to register a key sequence.
|
|
362
|
-
* `sequence:
|
|
362
|
+
* `sequence: KeySequenceConfig["sequence"]`: The sequence definition (e.g., `'g -> i'`).
|
|
363
363
|
* `callback: (event: KeyboardEvent) => void`: The function to execute.
|
|
364
364
|
* `options?: SequenceHookOptions`: Optional config for `preventDefault`, `context`, etc.
|
|
365
365
|
|
|
@@ -372,30 +372,38 @@ A hook to get direct access to the `Hotkeys` manager instance.
|
|
|
372
372
|
|
|
373
373
|
### Configuration Interfaces
|
|
374
374
|
|
|
375
|
-
#### `
|
|
375
|
+
#### `ShortcutConfigBase` (Shared properties)
|
|
376
376
|
|
|
377
|
-
* `id: string
|
|
378
|
-
* `keys: string | KeyCombinationTrigger | KeyCombinationTrigger[]` (required): Defines the key(s). Can be a string (`"ctrl+s"`), a shorthand `StandardKey` (`Keys.Escape`), an object (`{ key: Keys.S, ctrlKey: true }`), or an array of these.
|
|
377
|
+
* `id: string`: Unique identifier for the shortcut.
|
|
379
378
|
* `context?: string | null`: Specifies the context in which this shortcut is active. If `null` or `undefined`, it's a global shortcut.
|
|
380
379
|
* `preventDefault?: boolean`: If `true`, `event.preventDefault()` will be called when the shortcut triggers. Defaults to `false`.
|
|
381
380
|
* `description?: string`: An optional description for the shortcut (e.g., for help menus).
|
|
382
|
-
* `strict?: boolean
|
|
383
|
-
* `target?: HTMLElement
|
|
384
|
-
* `event?: "keydown" | "keyup"
|
|
385
|
-
* `
|
|
381
|
+
* `strict?: boolean`: If `true` and the shortcut has no `context`, it will only fire when no other context is active. Defaults to `false`.
|
|
382
|
+
* `target?: HTMLElement`: The DOM element to attach the listener to. Defaults to `document`.
|
|
383
|
+
* `event?: "keydown" | "keyup"`: The keyboard event to listen for. Defaults to `"keydown"`.
|
|
384
|
+
* `options?: AddEventListenerOptions`: Optional. Advanced options to pass directly to the underlying `addEventListener` call. Use this to control behaviors like `capture`, `passive`, or `once`.
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
#### `KeyCombinationConfig`
|
|
388
|
+
|
|
389
|
+
* `keys: KeyCombinationTrigger | KeyCombinationTrigger[]` (required): Defines the key(s). Can be a string (`"ctrl+s"`), a shorthand `StandardKey` (`Keys.Escape`), an object (`{ key: Keys.S, ctrlKey: true }`), or an array of these.
|
|
390
|
+
|
|
391
|
+
```
|
|
392
|
+
type KeyCombinationTrigger = {
|
|
393
|
+
key: StandardKey;
|
|
394
|
+
ctrlKey?: boolean;
|
|
395
|
+
altKey?: boolean;
|
|
396
|
+
shiftKey?: boolean;
|
|
397
|
+
metaKey?: boolean;
|
|
398
|
+
} | StandardKey | string;
|
|
399
|
+
```
|
|
400
|
+
|
|
386
401
|
|
|
387
402
|
#### `KeySequenceConfig`
|
|
388
403
|
|
|
389
|
-
* `id: string` (required): Unique identifier.
|
|
390
404
|
* `sequence: string | StandardKey[]` (required): An array of `StandardKey` values or a string representation (e.g., `"g -> i"`).
|
|
391
|
-
* `context?: string | null`: Context for activation.
|
|
392
|
-
* `preventDefault?: boolean`: If `true`, `event.preventDefault()` is called for the last event in the sequence. Defaults to `false`.
|
|
393
|
-
* `description?: string`: Optional description.
|
|
394
405
|
* `sequenceTimeoutMs?: number`: Optional. Maximum time (in milliseconds) allowed between consecutive key presses in the sequence.
|
|
395
|
-
|
|
396
|
-
* `target?: HTMLElement` (optional): The DOM element to attach the listener to. Defaults to `document`.
|
|
397
|
-
* `event?: "keydown" | "keyup"` (optional): The keyboard event to listen for. Defaults to `"keydown"`.
|
|
398
|
-
* `callback?: (event: KeyboardEvent) => void` (**@deprecated**): This property is deprecated. Subscribe to the `Observable` returned by `addSequence` instead.
|
|
406
|
+
|
|
399
407
|
|
|
400
408
|
## Key Matching & Normalization
|
|
401
409
|
|
package/dist/core/hotkeys.d.ts
CHANGED
|
@@ -6,10 +6,6 @@ export declare enum ShortcutTypes {
|
|
|
6
6
|
}
|
|
7
7
|
interface ShortcutConfigBase {
|
|
8
8
|
id: string;
|
|
9
|
-
/**
|
|
10
|
-
* @deprecated The callback property is deprecated. `addCombination` and `addSequence` now return an Observable. Please subscribe to it instead.
|
|
11
|
-
*/
|
|
12
|
-
callback?: (event: KeyboardEvent) => void;
|
|
13
9
|
context?: string | null;
|
|
14
10
|
preventDefault?: boolean;
|
|
15
11
|
description?: string;
|
|
@@ -36,12 +32,19 @@ interface ShortcutConfigBase {
|
|
|
36
32
|
* @default "keydown"
|
|
37
33
|
*/
|
|
38
34
|
event?: "keydown" | "keyup";
|
|
35
|
+
/**
|
|
36
|
+
* Optional: Advanced options to pass directly to the underlying `addEventListener` call.
|
|
37
|
+
* Use this to control behaviors like `capture`, `passive`, or `once`.
|
|
38
|
+
* See: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
|
|
39
|
+
* @default undefined
|
|
40
|
+
*/
|
|
41
|
+
options?: AddEventListenerOptions;
|
|
39
42
|
}
|
|
40
43
|
/**
|
|
41
44
|
* Defines a single key trigger, which can be a StandardKey (for simple presses like "Escape")
|
|
42
45
|
* or an object specifying the main key and its modifiers (e.g., { key: Keys.S, ctrlKey: true }).
|
|
43
46
|
*/
|
|
44
|
-
type KeyCombinationTrigger = {
|
|
47
|
+
export type KeyCombinationTrigger = {
|
|
45
48
|
/**
|
|
46
49
|
* The main key for the combination.
|
|
47
50
|
* This MUST be a value from the exported `Keys` object
|
|
@@ -57,7 +60,18 @@ type KeyCombinationTrigger = {
|
|
|
57
60
|
altKey?: boolean;
|
|
58
61
|
shiftKey?: boolean;
|
|
59
62
|
metaKey?: boolean;
|
|
60
|
-
} | StandardKey;
|
|
63
|
+
} | StandardKey | string;
|
|
64
|
+
/**
|
|
65
|
+
* A fully parsed, canonical representation of a single key trigger.
|
|
66
|
+
* All modifier keys are explicitly defined as booleans.
|
|
67
|
+
*/
|
|
68
|
+
interface ParsedTrigger {
|
|
69
|
+
key: StandardKey;
|
|
70
|
+
ctrlKey: boolean;
|
|
71
|
+
altKey: boolean;
|
|
72
|
+
shiftKey: boolean;
|
|
73
|
+
metaKey: boolean;
|
|
74
|
+
}
|
|
61
75
|
export interface KeyCombinationConfig extends ShortcutConfigBase {
|
|
62
76
|
/**
|
|
63
77
|
* Defines the key or key combination(s) that trigger the shortcut.
|
|
@@ -76,7 +90,7 @@ export interface KeyCombinationConfig extends ShortcutConfigBase {
|
|
|
76
90
|
* To define multiple triggers for the same action:
|
|
77
91
|
* Example: `keys: [Keys.Enter, { key: Keys.Space, ctrlKey: true }]`
|
|
78
92
|
*/
|
|
79
|
-
keys: KeyCombinationTrigger | KeyCombinationTrigger[]
|
|
93
|
+
keys: KeyCombinationTrigger | KeyCombinationTrigger[];
|
|
80
94
|
}
|
|
81
95
|
export interface KeySequenceConfig extends ShortcutConfigBase {
|
|
82
96
|
/**
|
|
@@ -101,6 +115,7 @@ export interface ActiveShortcut {
|
|
|
101
115
|
id: string;
|
|
102
116
|
config: ShortcutConfig;
|
|
103
117
|
terminator$: Subject<void>;
|
|
118
|
+
parsedTriggers?: ParsedTrigger[];
|
|
104
119
|
}
|
|
105
120
|
/**
|
|
106
121
|
* Manages keyboard shortcuts for web applications.
|
|
@@ -112,8 +127,7 @@ export declare class Hotkeys {
|
|
|
112
127
|
private static readonly KEYUP_EVENT;
|
|
113
128
|
private static readonly LOG_PREFIX;
|
|
114
129
|
private static readonly NO_OVERRIDE;
|
|
115
|
-
private
|
|
116
|
-
private keyupStreams;
|
|
130
|
+
private eventStreams;
|
|
117
131
|
private activeShortcuts;
|
|
118
132
|
private debugMode;
|
|
119
133
|
private contextStack$;
|
|
@@ -135,10 +149,17 @@ export declare class Hotkeys {
|
|
|
135
149
|
* Helper method to determine the active context based on override and stack.
|
|
136
150
|
*/
|
|
137
151
|
private _resolveActiveContext;
|
|
152
|
+
private _normalizeAndParseTriggers;
|
|
153
|
+
private _normalizeSequence;
|
|
154
|
+
/**
|
|
155
|
+
* [PRIVATE] Generates a unique key for the stream cache based on event type and options.
|
|
156
|
+
*/
|
|
157
|
+
private _getStreamCacheKey;
|
|
138
158
|
/**
|
|
139
|
-
* Gets or creates a shared event stream for a given event type and
|
|
159
|
+
* Gets or creates a shared event stream for a given event type, target, and options.
|
|
140
160
|
* @param eventType The type of event ("keydown" or "keyup").
|
|
141
161
|
* @param target The DOM element to attach the listener to.
|
|
162
|
+
* @param options The AddEventListenerOptions.
|
|
142
163
|
* @returns A shared Observable for the specified event.
|
|
143
164
|
*/
|
|
144
165
|
private _getEventStream;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotkeys.d.ts","sourceRoot":"","sources":["../../src/core/hotkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EACgC,UAAU,EAC2B,OAAO,EAClF,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,WAAW,CAAC;AAI/D,oBAAY,aAAa;IACrB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;CACxB;AAcD,UAAU,kBAAkB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX
|
|
1
|
+
{"version":3,"file":"hotkeys.d.ts","sourceRoot":"","sources":["../../src/core/hotkeys.ts"],"names":[],"mappings":"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"}
|
package/dist/core/hotkeys.js
CHANGED
|
@@ -61,8 +61,8 @@ export class Hotkeys {
|
|
|
61
61
|
static LOG_PREFIX = "Hotkeys:";
|
|
62
62
|
// --- Sentinel value for no override ---
|
|
63
63
|
static NO_OVERRIDE = Symbol("No Hotkey Override");
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
// NEW: A unified stream cache that handles different listener options.
|
|
65
|
+
eventStreams;
|
|
66
66
|
activeShortcuts;
|
|
67
67
|
debugMode;
|
|
68
68
|
// --- Separate states for stack and override ---
|
|
@@ -85,8 +85,7 @@ export class Hotkeys {
|
|
|
85
85
|
if (typeof document === "undefined" || typeof performance === "undefined") {
|
|
86
86
|
throw new Error(`${Hotkeys.LOG_PREFIX} Hotkeys can only be used in a browser environment.`);
|
|
87
87
|
}
|
|
88
|
-
this.
|
|
89
|
-
this.keyupStreams = new WeakMap();
|
|
88
|
+
this.eventStreams = new WeakMap(); // Initialize the new unified cache
|
|
90
89
|
this.activeShortcuts = new Map();
|
|
91
90
|
// The context stack is the source of truth for the active context.
|
|
92
91
|
this.contextStack$ = new BehaviorSubject([initialContext]);
|
|
@@ -110,23 +109,83 @@ export class Hotkeys {
|
|
|
110
109
|
_resolveActiveContext(overrideCtx, stackCtx) {
|
|
111
110
|
return overrideCtx !== Hotkeys.NO_OVERRIDE ? overrideCtx : stackCtx;
|
|
112
111
|
}
|
|
112
|
+
_normalizeAndParseTriggers(keys, shortcutId) {
|
|
113
|
+
const keyInputs = Array.isArray(keys) ? keys : [keys];
|
|
114
|
+
const parsedTriggers = [];
|
|
115
|
+
for (const input of keyInputs) {
|
|
116
|
+
let triggersToParse = [];
|
|
117
|
+
if (typeof input === "string" && input.length > 1 && input.includes("+")) {
|
|
118
|
+
triggersToParse.push(...this._parseCombinationString(input));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
triggersToParse.push(input);
|
|
122
|
+
}
|
|
123
|
+
for (const trigger of triggersToParse) {
|
|
124
|
+
const parsed = this._parseKeyTrigger(trigger, shortcutId);
|
|
125
|
+
if (parsed) {
|
|
126
|
+
parsedTriggers.push({
|
|
127
|
+
key: parsed.configuredMainKey,
|
|
128
|
+
ctrlKey: !!parsed.ctrlKeyConfig,
|
|
129
|
+
altKey: !!parsed.altKeyConfig,
|
|
130
|
+
shiftKey: !!parsed.shiftKeyConfig,
|
|
131
|
+
metaKey: !!parsed.metaKeyConfig,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return parsedTriggers;
|
|
137
|
+
}
|
|
138
|
+
_normalizeSequence(sequence, shortcutId) {
|
|
139
|
+
const keyInputs = typeof sequence === "string" ? sequence.split("->") : sequence;
|
|
140
|
+
const results = [];
|
|
141
|
+
for (const keyStr of keyInputs) {
|
|
142
|
+
const finalKey = normalizeKey(typeof keyStr === "string" && keyStr.length > 1 ? keyStr.trim() : keyStr);
|
|
143
|
+
if (finalKey) {
|
|
144
|
+
results.push(finalKey);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
console.warn(`${Hotkeys.LOG_PREFIX} Could not parse key: "${keyStr}" in sequence for shortcut "${shortcutId}".`);
|
|
148
|
+
return null; // Fail fast if any key is invalid
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return results;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* [PRIVATE] Generates a unique key for the stream cache based on event type and options.
|
|
155
|
+
*/
|
|
156
|
+
_getStreamCacheKey(eventType, options) {
|
|
157
|
+
if (!options) {
|
|
158
|
+
return eventType;
|
|
159
|
+
}
|
|
160
|
+
// Creates a stable key, e.g., "keydown:c=true:p=false:o=false"
|
|
161
|
+
const capture = !!options.capture;
|
|
162
|
+
const passive = !!options.passive;
|
|
163
|
+
const once = !!options.once;
|
|
164
|
+
return `${eventType}:c=${capture}:p=${passive}:o=${once}`;
|
|
165
|
+
}
|
|
113
166
|
/**
|
|
114
|
-
* Gets or creates a shared event stream for a given event type and
|
|
167
|
+
* Gets or creates a shared event stream for a given event type, target, and options.
|
|
115
168
|
* @param eventType The type of event ("keydown" or "keyup").
|
|
116
169
|
* @param target The DOM element to attach the listener to.
|
|
170
|
+
* @param options The AddEventListenerOptions.
|
|
117
171
|
* @returns A shared Observable for the specified event.
|
|
118
172
|
*/
|
|
119
|
-
_getEventStream(eventType, target) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
173
|
+
_getEventStream(eventType, target, options) {
|
|
174
|
+
if (!this.eventStreams.has(target)) {
|
|
175
|
+
this.eventStreams.set(target, new Map());
|
|
176
|
+
}
|
|
177
|
+
const targetCache = this.eventStreams.get(target);
|
|
178
|
+
const cacheKey = this._getStreamCacheKey(eventType, options);
|
|
179
|
+
if (!targetCache.has(cacheKey)) {
|
|
180
|
+
// Create the new stream with the specified options
|
|
181
|
+
const newStream = fromEvent(target, eventType, options).pipe(share());
|
|
182
|
+
targetCache.set(cacheKey, newStream);
|
|
124
183
|
if (this.debugMode) {
|
|
125
184
|
const targetName = target === document ? "document" : `element "${target.id || target.tagName}"`;
|
|
126
|
-
console.log(`${Hotkeys.LOG_PREFIX} Created new shared listener for "${
|
|
185
|
+
console.log(`${Hotkeys.LOG_PREFIX} Created new shared listener for "${cacheKey}" on ${targetName}.`);
|
|
127
186
|
}
|
|
128
187
|
}
|
|
129
|
-
return
|
|
188
|
+
return targetCache.get(cacheKey);
|
|
130
189
|
}
|
|
131
190
|
/**
|
|
132
191
|
* Sets a temporary, high-priority override context that takes precedence over the context stack.
|
|
@@ -268,39 +327,16 @@ export class Hotkeys {
|
|
|
268
327
|
* @param event The KeyboardEvent to match against.
|
|
269
328
|
* @returns True if the shortcutConfig matches the event, false otherwise.
|
|
270
329
|
*/
|
|
271
|
-
_shortcutMatchesEvent(
|
|
272
|
-
//
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
if (typeof configKeys === "string" && configKeys.length > 1 && configKeys.includes("+")) {
|
|
276
|
-
keyTriggers = this._parseCombinationString(configKeys);
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
keyTriggers = Array.isArray(configKeys) ? configKeys : [configKeys];
|
|
280
|
-
}
|
|
281
|
-
for (const keyInput of keyTriggers) {
|
|
282
|
-
let configuredMainKey;
|
|
283
|
-
let ctrlKeyConfig;
|
|
284
|
-
let altKeyConfig;
|
|
285
|
-
let shiftKeyConfig;
|
|
286
|
-
let metaKeyConfig;
|
|
287
|
-
// This logic is now simplified because _parseKeyTrigger handles normalization
|
|
288
|
-
const parsed = this._parseKeyTrigger(keyInput, shortcutConfig.id);
|
|
289
|
-
if (!parsed)
|
|
290
|
-
continue;
|
|
291
|
-
configuredMainKey = parsed.configuredMainKey;
|
|
292
|
-
ctrlKeyConfig = parsed.ctrlKeyConfig;
|
|
293
|
-
altKeyConfig = parsed.altKeyConfig;
|
|
294
|
-
shiftKeyConfig = parsed.shiftKeyConfig;
|
|
295
|
-
metaKeyConfig = parsed.metaKeyConfig;
|
|
296
|
-
const keyMatch = compareKey(event.key, configuredMainKey);
|
|
330
|
+
_shortcutMatchesEvent(parsedTriggers, event) {
|
|
331
|
+
// It no longer does any parsing. It just compares against the pre-parsed triggers.
|
|
332
|
+
for (const trigger of parsedTriggers) {
|
|
333
|
+
const keyMatch = compareKey(event.key, trigger.key);
|
|
297
334
|
if (!keyMatch)
|
|
298
335
|
continue;
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
if (ctrlMatch && altMatch && shiftMatch && metaMatch) {
|
|
336
|
+
if (event.ctrlKey === trigger.ctrlKey &&
|
|
337
|
+
event.altKey === trigger.altKey &&
|
|
338
|
+
event.shiftKey === trigger.shiftKey &&
|
|
339
|
+
event.metaKey === trigger.metaKey) {
|
|
304
340
|
return true;
|
|
305
341
|
}
|
|
306
342
|
}
|
|
@@ -321,14 +357,14 @@ export class Hotkeys {
|
|
|
321
357
|
}
|
|
322
358
|
}), map(([event, /* _activeCtx */]) => event));
|
|
323
359
|
}
|
|
324
|
-
_registerShortcut(config, terminator$, type, detailsForLog) {
|
|
360
|
+
_registerShortcut(config, terminator$, type, detailsForLog, parsedTriggers) {
|
|
325
361
|
const existingShortcut = this.activeShortcuts.get(config.id);
|
|
326
362
|
if (existingShortcut) {
|
|
327
363
|
console.warn(`${Hotkeys.LOG_PREFIX} Shortcut with ID "${config.id}" already exists. The old instance will be terminated and overwritten.`);
|
|
328
364
|
existingShortcut.terminator$.next();
|
|
329
365
|
existingShortcut.terminator$.complete();
|
|
330
366
|
}
|
|
331
|
-
this.activeShortcuts.set(config.id, { id: config.id, config, terminator
|
|
367
|
+
this.activeShortcuts.set(config.id, { id: config.id, config, terminator$, parsedTriggers });
|
|
332
368
|
if (this.debugMode) {
|
|
333
369
|
console.log(`${Hotkeys.LOG_PREFIX} ${type} shortcut "${config.id}" added. ${detailsForLog}, Context: ${config.context ?? "any"}`);
|
|
334
370
|
}
|
|
@@ -353,7 +389,6 @@ export class Hotkeys {
|
|
|
353
389
|
altKeyConfig: false,
|
|
354
390
|
shiftKeyConfig: false,
|
|
355
391
|
metaKeyConfig: false,
|
|
356
|
-
logDetails: `key: "${finalKey}" (no mods)`,
|
|
357
392
|
};
|
|
358
393
|
}
|
|
359
394
|
else {
|
|
@@ -361,29 +396,12 @@ export class Hotkeys {
|
|
|
361
396
|
console.warn(`${Hotkeys.LOG_PREFIX} Invalid "key" property in shortcut "${shortcutId}". Key must be a non-empty string value from Keys.`);
|
|
362
397
|
return null;
|
|
363
398
|
}
|
|
364
|
-
const hasModifiers = keyInput.ctrlKey || keyInput.altKey || keyInput.shiftKey || keyInput.metaKey;
|
|
365
|
-
if (!hasModifiers) {
|
|
366
|
-
return {
|
|
367
|
-
configuredMainKey: keyInput.key,
|
|
368
|
-
ctrlKeyConfig: false,
|
|
369
|
-
altKeyConfig: false,
|
|
370
|
-
shiftKeyConfig: false,
|
|
371
|
-
metaKeyConfig: false,
|
|
372
|
-
logDetails: `key: "${keyInput.key}" (no mods)`,
|
|
373
|
-
};
|
|
374
|
-
}
|
|
375
|
-
const logDetails = `key: "${keyInput.key}"` +
|
|
376
|
-
(keyInput.ctrlKey ? `, ctrl: true` : "") +
|
|
377
|
-
(keyInput.altKey ? `, alt: true` : "") +
|
|
378
|
-
(keyInput.shiftKey ? `, shift: true` : "") +
|
|
379
|
-
(keyInput.metaKey ? `, meta: true` : "");
|
|
380
399
|
return {
|
|
381
400
|
configuredMainKey: keyInput.key,
|
|
382
401
|
ctrlKeyConfig: keyInput.ctrlKey,
|
|
383
402
|
altKeyConfig: keyInput.altKey,
|
|
384
403
|
shiftKeyConfig: keyInput.shiftKey,
|
|
385
404
|
metaKeyConfig: keyInput.metaKey,
|
|
386
|
-
logDetails,
|
|
387
405
|
};
|
|
388
406
|
}
|
|
389
407
|
}
|
|
@@ -470,41 +488,24 @@ export class Hotkeys {
|
|
|
470
488
|
* ```
|
|
471
489
|
*/
|
|
472
490
|
addCombination(config) {
|
|
473
|
-
const { keys, context, preventDefault = false, id, strict = false, target = document, event: eventType = "keydown" } = config;
|
|
474
|
-
if (config.callback) {
|
|
475
|
-
console.warn(`${Hotkeys.LOG_PREFIX} Shortcut "${id}" was provided a callback, but "addCombination" now returns an Observable. The callback will be ignored. Please subscribe to the returned Observable instead.`);
|
|
476
|
-
}
|
|
491
|
+
const { keys, context, preventDefault = false, id, strict = false, target = document, event: eventType = "keydown", options } = config;
|
|
477
492
|
if (context != null && strict) {
|
|
478
493
|
console.warn(`${Hotkeys.LOG_PREFIX} Shortcut "${id}" has both a context(${context}) and the "strict" flag. The "strict" flag will be ignored.`);
|
|
479
494
|
}
|
|
480
|
-
|
|
481
|
-
if (
|
|
482
|
-
|
|
483
|
-
}
|
|
484
|
-
else {
|
|
485
|
-
keyTriggers = Array.isArray(keys) ? keys : [keys];
|
|
486
|
-
}
|
|
487
|
-
if (keyTriggers.length === 0) {
|
|
488
|
-
console.warn(`${Hotkeys.LOG_PREFIX} "keys" definition for combination shortcut "${id}" is empty or invalid. Shortcut not added.`);
|
|
495
|
+
const parsedTriggers = this._normalizeAndParseTriggers(keys, id);
|
|
496
|
+
if (parsedTriggers.length === 0) {
|
|
497
|
+
console.error(`${Hotkeys.LOG_PREFIX} "keys" definition for combination shortcut "${id}" is empty or invalid. Shortcut not added.`);
|
|
489
498
|
return EMPTY;
|
|
490
499
|
}
|
|
491
|
-
const sourceStream$ = this._getEventStream(eventType, target);
|
|
500
|
+
const sourceStream$ = this._getEventStream(eventType, target, options);
|
|
492
501
|
const observables = [];
|
|
493
|
-
const
|
|
494
|
-
for (const keyInput of keyTriggers) {
|
|
495
|
-
const parsedTrigger = this._parseKeyTrigger(keyInput, id);
|
|
496
|
-
if (!parsedTrigger) {
|
|
497
|
-
return EMPTY;
|
|
498
|
-
}
|
|
499
|
-
const { configuredMainKey, ctrlKeyConfig, altKeyConfig, shiftKeyConfig, metaKeyConfig, logDetails } = parsedTrigger;
|
|
500
|
-
logParts.push(`{ ${logDetails} }`);
|
|
502
|
+
for (const trigger of parsedTriggers) {
|
|
501
503
|
const stream = this.filterByContext(sourceStream$, context, strict).pipe(filter(event => {
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
}), filter(event => compareKey(event.key, configuredMainKey)),
|
|
504
|
+
return event.ctrlKey === trigger.ctrlKey &&
|
|
505
|
+
event.altKey === trigger.altKey &&
|
|
506
|
+
event.shiftKey === trigger.shiftKey &&
|
|
507
|
+
event.metaKey === trigger.metaKey;
|
|
508
|
+
}), filter(event => compareKey(event.key, trigger.key)),
|
|
508
509
|
// New filter for priority: Specific context > Global context
|
|
509
510
|
withLatestFrom(this.activeContext$), filter(([event, activeCtx]) => {
|
|
510
511
|
if (context != null || strict) { // This shortcut is NOT global or strict
|
|
@@ -518,7 +519,7 @@ export class Hotkeys {
|
|
|
518
519
|
if (otherAS.config.id !== id &&
|
|
519
520
|
"keys" in otherAS.config &&
|
|
520
521
|
otherAS.config.context === activeCtx &&
|
|
521
|
-
this._shortcutMatchesEvent(otherAS.
|
|
522
|
+
this._shortcutMatchesEvent(otherAS.parsedTriggers ?? [], event)) {
|
|
522
523
|
if (this.debugMode) {
|
|
523
524
|
console.log(`${Hotkeys.LOG_PREFIX} Global shortcut "${id}" (key: "${event.key}") suppressed by specific context shortcut "${otherAS.config.id}".`);
|
|
524
525
|
}
|
|
@@ -536,8 +537,24 @@ export class Hotkeys {
|
|
|
536
537
|
}
|
|
537
538
|
const terminator$ = new Subject();
|
|
538
539
|
const finalShortcut$ = merge(...observables);
|
|
539
|
-
const
|
|
540
|
-
|
|
540
|
+
const logParts = parsedTriggers.map(t => {
|
|
541
|
+
const parts = [`key: "${t.key}"`];
|
|
542
|
+
if (t.ctrlKey)
|
|
543
|
+
parts.push("ctrl: true");
|
|
544
|
+
if (t.altKey)
|
|
545
|
+
parts.push("alt: true");
|
|
546
|
+
if (t.shiftKey)
|
|
547
|
+
parts.push("shift: true");
|
|
548
|
+
if (t.metaKey)
|
|
549
|
+
parts.push("meta: true");
|
|
550
|
+
// For a single key with no modifiers, match the original log format
|
|
551
|
+
if (parts.length === 1) {
|
|
552
|
+
return `{ ${parts[0]} (no mods) }`;
|
|
553
|
+
}
|
|
554
|
+
return `{ ${parts.join(", ")} }`;
|
|
555
|
+
});
|
|
556
|
+
const logDetails = `Triggers: [ ${logParts.join(", ")} ]`;
|
|
557
|
+
this._registerShortcut(config, terminator$, ShortcutTypes.Combination, logDetails, parsedTriggers);
|
|
541
558
|
return finalShortcut$.pipe(tap(event => {
|
|
542
559
|
if (this.debugMode) {
|
|
543
560
|
const preventAction = preventDefault ? ", preventing default" : "";
|
|
@@ -582,24 +599,10 @@ export class Hotkeys {
|
|
|
582
599
|
* ```
|
|
583
600
|
*/
|
|
584
601
|
addSequence(config) {
|
|
585
|
-
const { sequence, context, preventDefault = false, id, sequenceTimeoutMs, strict = false, target = document, event: eventType = "keydown" } = config;
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
let configuredSequence;
|
|
590
|
-
if (typeof sequence === "string") {
|
|
591
|
-
configuredSequence = this._parseSequenceString(sequence);
|
|
592
|
-
}
|
|
593
|
-
else {
|
|
594
|
-
configuredSequence = sequence;
|
|
595
|
-
}
|
|
596
|
-
if (!Array.isArray(configuredSequence) || configuredSequence.length === 0) {
|
|
597
|
-
console.warn(`${Hotkeys.LOG_PREFIX} Sequence for shortcut "${id}" is empty or invalid. Shortcut not added.`);
|
|
598
|
-
return EMPTY;
|
|
599
|
-
}
|
|
600
|
-
// Corrected validation: Check for actual empty string, not a string that trims to empty.
|
|
601
|
-
if (configuredSequence.some(key => typeof key !== "string" || key === "")) { // StandardKey type should prevent empty strings.
|
|
602
|
-
console.warn(`${Hotkeys.LOG_PREFIX} Invalid key in sequence for shortcut "${id}". All keys must be non-empty string values from Keys. Shortcut not added.`);
|
|
602
|
+
const { sequence, context, preventDefault = false, id, sequenceTimeoutMs, strict = false, target = document, event: eventType = "keydown", options } = config;
|
|
603
|
+
const configuredSequence = this._normalizeSequence(sequence, id);
|
|
604
|
+
if (!configuredSequence || configuredSequence.length === 0) {
|
|
605
|
+
console.error(`${Hotkeys.LOG_PREFIX} Sequence for shortcut "${id}" is empty or invalid. Shortcut not added.`);
|
|
603
606
|
return EMPTY;
|
|
604
607
|
}
|
|
605
608
|
if (context && strict) {
|
|
@@ -607,7 +610,7 @@ export class Hotkeys {
|
|
|
607
610
|
}
|
|
608
611
|
const sequenceLength = configuredSequence.length;
|
|
609
612
|
let shortcut$;
|
|
610
|
-
const sourceStream$ = this._getEventStream(eventType, target);
|
|
613
|
+
const sourceStream$ = this._getEventStream(eventType, target, options);
|
|
611
614
|
const baseKeydownStream$ = this.filterByContext(sourceStream$, context, strict);
|
|
612
615
|
if (sequenceTimeoutMs && sequenceTimeoutMs > 0) {
|
|
613
616
|
shortcut$ = baseKeydownStream$.pipe(scan((acc, event) => {
|
package/dist/core/hotkeys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotkeys.js","sourceRoot":"","sources":["../../src/core/hotkeys.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hotkeys.js","sourceRoot":"","sources":["../../src/core/hotkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EAAE,eAAe,EAAE,KAAK,EACjC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE,aAAa,GACzI,MAAM,MAAM,CAAC;AACd,OAAO,EAAoB,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/D,sCAAsC;AAEtC,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,4CAA2B,CAAA;IAC3B,sCAAqB,CAAA;AACzB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,IAAK,UAIJ;AAJD,WAAK,UAAU;IACX,2CAAI,CAAA;IACJ,+CAAM,CAAA;IACN,uDAAU,CAAA;AACd,CAAC,EAJI,UAAU,KAAV,UAAU,QAId;AAiID,0CAA0C;AAC1C;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,QAAgB,EAAE,aAA0B;IAC5D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,QAAQ,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,QAAQ,KAAK,aAAa,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,GAAW;IAC7B,kDAAkD;IAClD,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,4DAA4D;IAC5D,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iFAAiF;IACjF,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,aAAa,CAAgB;QAC7F,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEvG,OAAO,QAAQ,IAAI,IAAI,CAAC;AAC5B,CAAC;AAGD,0BAA0B;AAE1B;;;;GAIG;AACH,MAAM,OAAO,OAAO;IACR,MAAM,CAAU,aAAa,GAAG,SAAS,CAAC;IAC1C,MAAM,CAAU,WAAW,GAAG,OAAO,CAAC;IACtC,MAAM,CAAU,UAAU,GAAG,UAAU,CAAC;IAEhD,yCAAyC;IACjC,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEnE,uEAAuE;IAC/D,YAAY,CAA+D;IAE3E,eAAe,CAA8B;IAC7C,SAAS,CAAU;IAE3B,iDAAiD;IACzC,aAAa,CAAwC;IACrD,gBAAgB,CAA8D;IAEtF;;;;OAIG;IACc,cAAc,CAA4B;IAE3D;;;;;OAKG;IACH,YAAY,iBAAgC,IAAI,EAAE,YAAqB,KAAK;QACxE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,qDAAqD,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC,mCAAmC;QACtE,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QAEjC,mEAAmE;QACnE,IAAI,CAAC,aAAa,GAAG,IAAI,eAAe,CAAuB,CAAC,cAAc,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAA6C,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7G,sEAAsE;QACtE,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC3F,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,EACnF,oBAAoB,EAAE,CACzB,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,2CAA2C,cAAc,kBAAkB,SAAS,GAAG,CAAC,CAAC;YAC1H,8CAA8C;YAC9C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;gBACtC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,+BAA+B,UAAU,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,WAAuD,EAAE,QAAuB;QAC1G,OAAO,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxE,CAAC;IAEO,0BAA0B,CAAC,IAAkC,EAAE,UAAkB;QACrF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,cAAc,GAAoB,EAAE,CAAC;QAE3C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,eAAe,GAA4B,EAAE,CAAC;YAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACJ,eAAe,CAAC,IAAI,CAAC,KAA8B,CAAC,CAAC;YACzD,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC1D,IAAI,MAAM,EAAE,CAAC;oBACT,cAAc,CAAC,IAAI,CAAC;wBAChB,GAAG,EAAE,MAAM,CAAC,iBAAiB;wBAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa;wBAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;wBAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;wBACjC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa;qBAClC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEO,kBAAkB,CAAC,QAAuC,EAAE,UAAkB;QAClF,MAAM,SAAS,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjF,MAAM,OAAO,GAAkB,EAAE,CAAC;QAElC,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxG,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,0BAA0B,MAAM,+BAA+B,UAAU,IAAI,CAAC,CAAC;gBACjH,OAAO,IAAI,CAAC,CAAC,kCAAkC;YACnD,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAGD;;OAEG;IACK,kBAAkB,CAAC,SAA8B,EAAE,OAAiC;QACxF,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,+DAA+D;QAC/D,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5B,OAAO,GAAG,SAAS,MAAM,OAAO,MAAM,OAAO,MAAM,IAAI,EAAE,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAC,SAA8B,EAAE,MAAmB,EAAE,OAAiC;QAC1G,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE7D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,mDAAmD;YACnD,MAAM,SAAS,GAAG,SAAS,CAAgB,MAAM,EAAE,SAAS,EAAE,OAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACtF,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM,UAAU,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAa,MAAsB,CAAC,EAAE,IAAK,MAAsB,CAAC,OAAO,GAAG,CAAC;gBACnI,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,qCAAqC,QAAQ,QAAQ,UAAU,GAAG,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,WAA0B;QACxC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,kCAAkC,WAAW,IAAI,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,wDAAwD;YACxD,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,WAAW,EAAE,CAAC;gBACnD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,+CAA+C,WAAW,IAAI,CAAC,CAAC;gBACrG,CAAC;gBACD,oDAAoD;gBACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACpD,CAAC;QACL,CAAC,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,UAAU;QACb,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,mGAAmG,CAAC,CAAC;QACvI,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACI,gBAAgB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,0CAA0C;QAC1C,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,WAA0B;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,uBAAuB,WAAW,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,YAAY;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACnD,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,6DAA6D,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,mBAAmB;QACzC,CAAC;QAED,MAAM,cAAc,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,sBAAsB,cAAc,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,MAAe;QAC/B,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,sBAAsB,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,uBAAuB,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAAC,IAAmB,EAAE,IAAmB;QACnE,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,qDAAqD;gBAC5E,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAAC,cAA+B,EAAE,KAAoB;QAC/E,mFAAmF;QACnF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;gBACjC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;gBAC/B,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;gBACnC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,OAAkC,EAAE,OAAkC,EAAE,MAAe;QAC3G,OAAO,OAAO,CAAC,IAAI,CACf,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,EACnC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAA,AAAX,EAAa,SAAS,CAAC,EAAE,EAAE;YAChC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBAClB,IAAI,MAAM,EAAE,CAAC;oBACT,OAAO,SAAS,IAAI,IAAI,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACJ,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,KAAK,SAAS,CAAC;YACjC,CAAC;QACL,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAC5C,CAAC;IACN,CAAC;IAEO,iBAAiB,CACrB,MAAsB,EACtB,WAA0B,EAC1B,IAAmB,EACnB,aAAqB,EACrB,cAAgC;QAEhC,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,sBAAsB,MAAM,CAAC,EAAE,wEAAwE,CAAC,CAAC;YAC3I,gBAAgB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACpC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,cAAc,MAAM,CAAC,EAAE,YAAY,aAAa,cAAc,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;QACtI,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CAAC,QAA+B,EAAE,UAAkB;QAOxE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,0BAA0B,QAAQ,kBAAkB,UAAU,IAAI,CAAC,CAAC;gBACtG,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO;gBACH,iBAAiB,EAAE,QAAQ;gBAC3B,aAAa,EAAE,KAAK;gBACpB,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,KAAK;aACvB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,IAAK,QAAQ,CAAC,GAAc,KAAK,EAAE,EAAE,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,wCAAwC,UAAU,oDAAoD,CAAC,CAAC;gBAC1I,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,OAAO;gBACH,iBAAiB,EAAE,QAAQ,CAAC,GAAG;gBAC/B,aAAa,EAAE,QAAQ,CAAC,OAAO;gBAC/B,YAAY,EAAE,QAAQ,CAAC,MAAM;gBAC7B,cAAc,EAAE,QAAQ,CAAC,QAAQ;gBACjC,aAAa,EAAE,QAAQ,CAAC,OAAO;aAClC,CAAC;QACN,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,QAAgB;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,8BAA8B,QAAQ,uBAAuB,CAAC,CAAC;YACjG,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAqG;YAC9G,GAAG,EAAE,EAAiB;YACtB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;SACjE,CAAC;QAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,0BAA0B,UAAU,yBAAyB,QAAQ,IAAI,CAAC,CAAC;YAC9G,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC;QAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;iBAC7D,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;iBAC/D,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;iBAC9C,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK;gBAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;;gBACtG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,uBAAuB,IAAI,yBAAyB,QAAQ,IAAI,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEO,oBAAoB,CAAC,QAAgB;QACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,0BAA0B,MAAM,yBAAyB,QAAQ,IAAI,CAAC,CAAC;gBACzG,OAAO,EAAE,CAAC,CAAC,YAAY;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACI,cAAc,CAAC,MAA4B;QAC9C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEvI,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,cAAc,EAAE,wBAAwB,OAAO,6DAA6D,CAAC,CAAC;QACpJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEjE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,gDAAgD,EAAE,4CAA4C,CAAC,CAAC;YACnI,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,WAAW,GAAgC,EAAE,CAAC;QAEpD,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CACpE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACZ,OAAO,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;oBACjC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;oBAC/B,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;oBACnC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;YAC5C,CAAC,CAAC,EACF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACnD,6DAA6D;YAC7D,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,EACnC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE;gBAC1B,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,wCAAwC;oBACrE,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,yDAAyD;gBACzD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,6BAA6B;oBAClD,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC7C,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE;wBACxB,MAAM,IAAI,OAAO,CAAC,MAAM;wBACxB,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;wBACpC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;wBAClE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;4BACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,qBAAqB,EAAE,YAAY,KAAK,CAAC,GAAG,+CAA+C,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;wBACvJ,CAAC;wBACD,OAAO,KAAK,CAAC,CAAC,kBAAkB;oBACpC,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,CAAC,CAAC,qBAAqB;YACtC,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAC1B,CAAC;YACF,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,uEAAuE;YACvE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,oDAAoD,EAAE,wBAAwB,CAAC,CAAC;YAClH,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,OAAO,EAAQ,CAAC;QACxC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACpC,MAAM,KAAK,GAAa,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAExC,oEAAoE;YACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;YACvC,CAAC;YACD,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,eAAe,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE1D,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAEnG,OAAO,cAAc,CAAC,IAAI,CACtB,GAAG,CAAC,KAAK,CAAC,EAAE;YACR,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,iBAAiB,EAAE,uBAAuB,KAAK,CAAC,GAAG,KAAK,aAAa,GAAG,CAAC,CAAC;YAC/G,CAAC;YACD,IAAI,cAAc;gBAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QAC/C,CAAC,CAAC,EACF,UAAU,CAAC,GAAG,CAAC,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,8CAA8C,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9F,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,EACF,SAAS,CAAC,WAAW,CAAC,CACzB,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACI,WAAW,CAAC,MAAyB;QACxC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAE9J,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,2BAA2B,EAAE,4CAA4C,CAAC,CAAC;YAC9G,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,cAAc,EAAE,gFAAgF,CAAC,CAAC;QACzI,CAAC;QAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,CAAC;QACjD,IAAI,SAAsC,CAAC;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEhF,IAAI,iBAAiB,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC7C,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAC/B,IAAI,CACA,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACX,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC;gBAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;gBAEtC,IAAI,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;oBACpC,aAAa,GAAG,EAAE,CAAC;oBACnB,aAAa,GAAG,CAAC,CAAC;gBACtB,CAAC;gBAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,aAAa,GAAG,iBAAiB,CAAC,EAAE,CAAC;oBAChF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,cAAc,EAAE,eAAe,iBAAiB,mCAAmC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAC7K,CAAC;oBACD,aAAa,GAAG,EAAE,CAAC;gBACvB,CAAC;gBAED,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC;gBAElD,IAAI,oBAAoB,IAAI,cAAc,EAAE,CAAC;oBACzC,4FAA4F;oBAC5F,0EAA0E;oBAC1E,IAAI,cAAc,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,OAAO,EAAE,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;oBACpG,CAAC;oBACD,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;gBACjF,CAAC;gBAED,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;oBAClE,MAAM,gBAAgB,GAAG,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC;oBACnD,IAAI,gBAAgB,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;wBAC7C,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,UAAU,CAAC,IAAI;4BAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,cAAc,EAAE,eAAe,iBAAiB,cAAc,CAAC,CAAC;wBAC1J,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;oBACvG,CAAC;yBAAM,CAAC;wBACJ,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC7G,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACH,oEAAoE;oBACrE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,cAAc,EAAE,eAAe,iBAAiB,sBAAsB,KAAK,CAAC,GAAG,eAAe,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACzL,CAAC;oBACD,IAAI,cAAc,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,OAAO,EAAE,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;oBACpG,CAAC;yBAAM,CAAC;wBACJ,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;oBACjF,CAAC;gBACL,CAAC;YACL,CAAC,EACD,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,CACxE,EACD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,IAAI,CAAC,EACpD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CACpC,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,iDAAiD;YACjD,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAC/B,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,EAC9B,MAAM,CAAC,CAAC,MAAuB,EAAE,EAAE;gBAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,cAAc;oBAAE,OAAO,KAAK,CAAC;gBACjD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5F,CAAC,CAAC,CACL,CAAC;QACN,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,OAAO,EAAQ,CAAC;QACxC,MAAM,0BAA0B,GAAG,SAAS,CAAC,IAAI,CAC7C,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,EACnC,MAAM,CAAC,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAAE;YACrC,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,wCAAwC;gBACrE,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,yDAAyD;YACzD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,6BAA6B;gBAClD,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC7C,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE;oBACxB,UAAU,IAAI,OAAO,CAAC,MAAM;oBAC5B,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;oBACpC,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9K,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,8BAA8B,EAAE,wDAAwD,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;oBACpJ,CAAC;oBACD,OAAO,KAAK,CAAC,CAAC,kBAAkB;gBACpC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,CAAC,8BAA8B;QAC/C,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EACzB,GAAG,CAAC,CAAC,MAAuB,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM,WAAW,GAAG,CAAC,iBAAiB,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnH,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,cAAc,EAAE,cAAc,WAAW,GAAG,aAAa,GAAG,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAC/C,CAAC;QACL,CAAC,CAAC,EACF,UAAU,CAAC,GAAG,CAAC,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,2CAA2C,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3F,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CACL,CAAC;QAEF,MAAM,UAAU,GAAG,aAAa,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,iBAAiB,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,iBAAiB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3J,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEhF,OAAO,0BAA0B,CAAC,IAAI,CAClC,GAAG,CAAC,CAAC,MAAuB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAC3D,SAAS,CAAC,WAAW,CAAC,CACzB,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,EAAU;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5B,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,cAAc,EAAE,YAAY,CAAC,CAAC;YACnF,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;QACtF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,kBAAkB;QACrB,MAAM,SAAS,GAA4F,EAAE,CAAC;QAC9G,KAAK,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAChE,SAAS,CAAC,IAAI,CAAC;gBACX,EAAE;gBACF,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,WAAW;gBAC9C,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO;gBACtC,IAAI,EAAE,CAAC,UAAU,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW;aACnG,CAAC,CAAC;QACP,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACI,OAAO;QACV,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,oEAAoE,CAAC,CAAC;QAC3H,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5B,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,qBAAqB,CAAC,CAAC;IAChF,CAAC"}
|
|
@@ -409,11 +409,34 @@ describe("Hotkeys Library (Node.js Test Runner)", () => {
|
|
|
409
409
|
dispatchKeyEvent(document, "C"); // Should not trigger
|
|
410
410
|
assert.strictEqual(mockCallback.calledCount, 3, "Unrelated key C triggered");
|
|
411
411
|
});
|
|
412
|
+
it("should support a mixed array of triggers including combination strings", () => {
|
|
413
|
+
const config = {
|
|
414
|
+
id: "mixedTriggerCombo",
|
|
415
|
+
keys: [
|
|
416
|
+
"ctrl+s", // 1. Combination String
|
|
417
|
+
Keys.F1, // 2. StandardKey
|
|
418
|
+
{ key: Keys.X, altKey: true } // 3. KeyCombinationTrigger Object
|
|
419
|
+
]
|
|
420
|
+
};
|
|
421
|
+
keyManager.addCombination(config).subscribe(mockCallback);
|
|
422
|
+
// Test trigger 1: Combination String
|
|
423
|
+
dispatchKeyEvent(document, "s", "keydown", { ctrlKey: true });
|
|
424
|
+
assert.strictEqual(mockCallback.calledCount, 1, `Trigger "ctrl+s" (string) failed`);
|
|
425
|
+
// Test trigger 2: StandardKey
|
|
426
|
+
dispatchKeyEvent(document, "F1");
|
|
427
|
+
assert.strictEqual(mockCallback.calledCount, 2, `Trigger "F1" (StandardKey) failed`);
|
|
428
|
+
// Test trigger 3: KeyCombinationTrigger Object
|
|
429
|
+
dispatchKeyEvent(document, "x", "keydown", { altKey: true });
|
|
430
|
+
assert.strictEqual(mockCallback.calledCount, 3, `Trigger "{ key: X, altKey: true }" (Object) failed`);
|
|
431
|
+
// Test a non-matching key
|
|
432
|
+
dispatchKeyEvent(document, "y");
|
|
433
|
+
assert.strictEqual(mockCallback.calledCount, 3, "An unrelated key triggered the callback unexpectedly");
|
|
434
|
+
});
|
|
412
435
|
it(`should return an empty observable and warn if "keys" array is empty`, () => {
|
|
413
436
|
const config = { id: "emptyKeysArray", keys: [] };
|
|
414
437
|
const combo$ = keyManager.addCombination(config);
|
|
415
438
|
combo$.subscribe(mockCallback);
|
|
416
|
-
assert.ok(
|
|
439
|
+
assert.ok(consoleErrorMock.mock.calls.some(call => call.arguments[0].includes(`"keys" definition for combination shortcut "emptyKeysArray" is empty`)));
|
|
417
440
|
dispatchKeyEvent(document, "a");
|
|
418
441
|
assert.strictEqual(mockCallback.calledCount, 0);
|
|
419
442
|
});
|
|
@@ -495,8 +518,8 @@ describe("Hotkeys Library (Node.js Test Runner)", () => {
|
|
|
495
518
|
const config = { id: "emptyArrayShorthand", keys: [] };
|
|
496
519
|
const combo$ = keyManager.addCombination(config);
|
|
497
520
|
combo$.subscribe(mockCallback);
|
|
498
|
-
assert.strictEqual(
|
|
499
|
-
assert.ok(
|
|
521
|
+
assert.strictEqual(consoleErrorMock.mock.calls.length, 1);
|
|
522
|
+
assert.ok(consoleErrorMock.mock.calls[0].arguments[0].includes(`"keys" definition for combination shortcut "emptyArrayShorthand" is empty or invalid. Shortcut not added.`));
|
|
500
523
|
});
|
|
501
524
|
it("should return an empty observable and warn if shorthand key is an empty string in array", () => {
|
|
502
525
|
const config = { id: "emptyStringShorthand", keys: [""] };
|
|
@@ -861,8 +884,8 @@ describe("Hotkeys Library (Node.js Test Runner)", () => {
|
|
|
861
884
|
const config = { id: "emptySeq", sequence: [] };
|
|
862
885
|
const seq$ = keyManager.addSequence(config);
|
|
863
886
|
seq$.subscribe(mockCallback);
|
|
864
|
-
assert.strictEqual(
|
|
865
|
-
assert.ok(
|
|
887
|
+
assert.strictEqual(consoleErrorMock.mock.calls.length, 1);
|
|
888
|
+
assert.ok(consoleErrorMock.mock.calls[0].arguments[0].includes(`Sequence for shortcut "emptySeq" is empty`));
|
|
866
889
|
dispatchKeyEvent(document, "a");
|
|
867
890
|
assert.strictEqual(mockCallback.calledCount, 0);
|
|
868
891
|
});
|
|
@@ -870,8 +893,9 @@ describe("Hotkeys Library (Node.js Test Runner)", () => {
|
|
|
870
893
|
const config = { id: "invalidKeyInSeq", sequence: [Keys.A, "", Keys.C] };
|
|
871
894
|
const seq$ = keyManager.addSequence(config);
|
|
872
895
|
seq$.subscribe(mockCallback);
|
|
896
|
+
console.log(consoleErrorMock.mock.calls);
|
|
873
897
|
assert.strictEqual(consoleWarnMock.mock.calls.length, 1, "console.warn was not called for invalid key in sequence");
|
|
874
|
-
assert.ok(consoleWarnMock.mock.calls[0].arguments[0].includes(`
|
|
898
|
+
assert.ok(consoleWarnMock.mock.calls[0].arguments[0].includes(`Could not parse key: "" in sequence for shortcut "invalidKeyInSeq"`));
|
|
875
899
|
});
|
|
876
900
|
it("should pass the last KeyboardEvent of the sequence to the subscriber", () => {
|
|
877
901
|
const config = { id: "seqEventPass", sequence: [Keys.X, Keys.Y] };
|
|
@@ -1035,5 +1059,46 @@ describe("Hotkeys Library (Node.js Test Runner)", () => {
|
|
|
1035
1059
|
assert.strictEqual(seqComplete.calledCount, 1, "Sequence observable should have completed");
|
|
1036
1060
|
});
|
|
1037
1061
|
});
|
|
1062
|
+
describe("AddEventListenerOptions", () => {
|
|
1063
|
+
let parentEl, childEl;
|
|
1064
|
+
let parentCallback;
|
|
1065
|
+
let childCallback;
|
|
1066
|
+
beforeEach(() => {
|
|
1067
|
+
parentEl = document.createElement("div");
|
|
1068
|
+
childEl = document.createElement("div");
|
|
1069
|
+
parentEl.appendChild(childEl);
|
|
1070
|
+
document.body.appendChild(parentEl);
|
|
1071
|
+
parentCallback = createMockFn();
|
|
1072
|
+
childCallback = createMockFn();
|
|
1073
|
+
});
|
|
1074
|
+
afterEach(() => {
|
|
1075
|
+
parentEl.remove();
|
|
1076
|
+
});
|
|
1077
|
+
it(`should respect the "capture" option`, () => {
|
|
1078
|
+
// Parent listener with capture: true
|
|
1079
|
+
keyManager.addCombination({
|
|
1080
|
+
id: "parentCapture",
|
|
1081
|
+
keys: "a",
|
|
1082
|
+
target: parentEl,
|
|
1083
|
+
options: { capture: true }
|
|
1084
|
+
}).subscribe(() => {
|
|
1085
|
+
parentCallback(performance.now());
|
|
1086
|
+
});
|
|
1087
|
+
// Child listener (default, bubble phase)
|
|
1088
|
+
keyManager.addCombination({
|
|
1089
|
+
id: "childBubble",
|
|
1090
|
+
keys: "a",
|
|
1091
|
+
target: childEl
|
|
1092
|
+
}).subscribe(() => {
|
|
1093
|
+
childCallback(performance.now());
|
|
1094
|
+
});
|
|
1095
|
+
// Dispatch the event on the innermost element
|
|
1096
|
+
dispatchKeyEvent(childEl, "a");
|
|
1097
|
+
assert.strictEqual(parentCallback.calledCount, 1, "Parent (capture) callback should have been called");
|
|
1098
|
+
assert.strictEqual(childCallback.calledCount, 1, "Child (bubble) callback should have been called");
|
|
1099
|
+
// The crucial check: the capture phase listener must fire before the bubble phase one.
|
|
1100
|
+
assert.ok(parentCallback.lastArgs[0] < childCallback.lastArgs[0], "Parent listener (capture) should fire before the child listener (bubble)");
|
|
1101
|
+
});
|
|
1102
|
+
});
|
|
1038
1103
|
});
|
|
1039
1104
|
//# sourceMappingURL=hotkeys.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotkeys.test.js","sourceRoot":"","sources":["../../src/core/hotkeys.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hotkeys.test.js","sourceRoot":"","sources":["../../src/core/hotkeys.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type KeyCombinationConfig, type KeySequenceConfig } from "../../core/index.js";
|
|
2
|
-
export type HotkeyHookOptions = Omit<KeyCombinationConfig, "id" | "keys"
|
|
3
|
-
export type SequenceHookOptions = Omit<KeySequenceConfig, "id" | "sequence"
|
|
2
|
+
export type HotkeyHookOptions = Omit<KeyCombinationConfig, "id" | "keys">;
|
|
3
|
+
export type SequenceHookOptions = Omit<KeySequenceConfig, "id" | "sequence">;
|
|
4
4
|
/**
|
|
5
5
|
* React hook to declaratively register a key combination hotkey.
|
|
6
6
|
* The hotkey is automatically registered when the component mounts and unregistered when it unmounts.
|
|
@@ -25,7 +25,7 @@ export type SequenceHookOptions = Omit<KeySequenceConfig, "id" | "sequence" | "c
|
|
|
25
25
|
* return <div>Count: {count} (Press "c" to increment)</div>;
|
|
26
26
|
* }
|
|
27
27
|
*/
|
|
28
|
-
export declare function useHotkeys(keys:
|
|
28
|
+
export declare function useHotkeys(keys: KeyCombinationConfig["keys"], callback: (event: KeyboardEvent) => void, options?: HotkeyHookOptions): void;
|
|
29
29
|
/**
|
|
30
30
|
* React hook to declaratively register a key sequence hotkey.
|
|
31
31
|
* The hotkey is automatically registered when the component mounts and unregistered when it unmounts.
|
|
@@ -39,5 +39,5 @@ export declare function useHotkeys(keys: string | string[], callback: (event: Ke
|
|
|
39
39
|
* console.log("Navigating to inbox...");
|
|
40
40
|
* }, { sequenceTimeoutMs: 1000 });
|
|
41
41
|
*/
|
|
42
|
-
export declare function useSequence(sequence:
|
|
42
|
+
export declare function useSequence(sequence: KeySequenceConfig["sequence"], callback: (event: KeyboardEvent) => void, options?: SequenceHookOptions): void;
|
|
43
43
|
//# sourceMappingURL=useHotkeys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHotkeys.d.ts","sourceRoot":"","sources":["../../../src/integrations/react/useHotkeys.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACzB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"useHotkeys.d.ts","sourceRoot":"","sources":["../../../src/integrations/react/useHotkeys.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACzB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC;AA6C7E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,UAAU,CACtB,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACxC,OAAO,CAAC,EAAE,iBAAiB,GAC5B,IAAI,CAEN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACvB,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACxC,OAAO,CAAC,EAAE,mBAAmB,GAC9B,IAAI,CAEN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHotkeys.js","sourceRoot":"","sources":["../../../src/integrations/react/useHotkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAKzD,OAAO,EAAE,iBAAiB,EAAE,MAAO,eAAe,CAAC;AAMnD,qFAAqF;AACrF,SAAS,aAAa,CAClB,IAAgC,EAChC,
|
|
1
|
+
{"version":3,"file":"useHotkeys.js","sourceRoot":"","sources":["../../../src/integrations/react/useHotkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAKzD,OAAO,EAAE,iBAAiB,EAAE,MAAO,eAAe,CAAC;AAMnD,qFAAqF;AACrF,SAAS,aAAa,CAClB,IAAgC,EAChC,aAA2E,EAC3E,QAAwC,EACxC,OAAiD;IAEjD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,uDAAuD;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAE9F,0CAA0C;IAC1C,qFAAqF;IACrF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE5C,gIAAgI;IAChI,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE1E,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG;YACX,EAAE,EAAE,QAAQ;YACZ,GAAG,eAAe;SACrB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,KAAK,aAAa;YAClC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,aAA6C,EAAE,CAAC;YAC5F,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,aAA8C,EAAE,CAAC,CAAC;QAEnG,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAElD,OAAO,GAAG,EAAE;YACR,uFAAuF;YACvF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC,CAAC;QACN,wEAAwE;IACxE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAGD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,UAAU,CACtB,IAAkC,EAClC,QAAwC,EACxC,OAA2B;IAE3B,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CACvB,QAAuC,EACvC,QAAwC,EACxC,OAA6B;IAE7B,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
|