@tanstack/angular-hotkeys 0.11.0 → 0.12.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/dist/hotkeys-provider.d.ts +7 -10
- package/dist/hotkeys-provider.js +1 -2
- package/dist/injectHeldKeyCodes.d.ts +2 -5
- package/dist/injectHeldKeyCodes.js +3 -3
- package/dist/injectHeldKeys.d.ts +2 -5
- package/dist/injectHeldKeys.js +3 -3
- package/dist/injectHotkey.d.ts +3 -6
- package/dist/injectHotkey.js +3 -3
- package/dist/injectHotkeyHint.d.ts +2 -5
- package/dist/injectHotkeyHint.js +1 -2
- package/dist/injectHotkeyRecorder.d.ts +3 -6
- package/dist/injectHotkeyRecorder.js +4 -4
- package/dist/injectHotkeyRegistrations.d.ts +3 -6
- package/dist/injectHotkeyRegistrations.js +1 -2
- package/dist/injectHotkeySequence.d.ts +3 -6
- package/dist/injectHotkeySequence.js +1 -2
- package/dist/injectHotkeySequenceRecorder.d.ts +3 -6
- package/dist/injectHotkeySequenceRecorder.js +4 -4
- package/dist/injectHotkeySequences.d.ts +3 -6
- package/dist/injectHotkeySequences.js +1 -2
- package/dist/injectHotkeys.d.ts +3 -6
- package/dist/injectHotkeys.js +3 -3
- package/dist/injectKeyHold.d.ts +2 -5
- package/dist/injectKeyHold.js +3 -3
- package/package.json +12 -17
- package/dist/hotkeys-provider.cjs +0 -26
- package/dist/hotkeys-provider.cjs.map +0 -1
- package/dist/hotkeys-provider.d.cts +0 -22
- package/dist/hotkeys-provider.js.map +0 -1
- package/dist/index.cjs +0 -36
- package/dist/index.d.cts +0 -14
- package/dist/injectHeldKeyCodes.cjs +0 -34
- package/dist/injectHeldKeyCodes.cjs.map +0 -1
- package/dist/injectHeldKeyCodes.d.cts +0 -30
- package/dist/injectHeldKeyCodes.js.map +0 -1
- package/dist/injectHeldKeys.cjs +0 -29
- package/dist/injectHeldKeys.cjs.map +0 -1
- package/dist/injectHeldKeys.d.cts +0 -25
- package/dist/injectHeldKeys.js.map +0 -1
- package/dist/injectHotkey.cjs +0 -122
- package/dist/injectHotkey.cjs.map +0 -1
- package/dist/injectHotkey.d.cts +0 -75
- package/dist/injectHotkey.js.map +0 -1
- package/dist/injectHotkeyHint.cjs +0 -20
- package/dist/injectHotkeyHint.cjs.map +0 -1
- package/dist/injectHotkeyHint.d.cts +0 -15
- package/dist/injectHotkeyHint.js.map +0 -1
- package/dist/injectHotkeyRecorder.cjs +0 -82
- package/dist/injectHotkeyRecorder.cjs.map +0 -1
- package/dist/injectHotkeyRecorder.d.cts +0 -49
- package/dist/injectHotkeyRecorder.js.map +0 -1
- package/dist/injectHotkeyRegistrations.cjs +0 -28
- package/dist/injectHotkeyRegistrations.cjs.map +0 -1
- package/dist/injectHotkeyRegistrations.d.cts +0 -29
- package/dist/injectHotkeyRegistrations.js.map +0 -1
- package/dist/injectHotkeySequence.cjs +0 -93
- package/dist/injectHotkeySequence.cjs.map +0 -1
- package/dist/injectHotkeySequence.d.cts +0 -48
- package/dist/injectHotkeySequence.js.map +0 -1
- package/dist/injectHotkeySequenceRecorder.cjs +0 -58
- package/dist/injectHotkeySequenceRecorder.cjs.map +0 -1
- package/dist/injectHotkeySequenceRecorder.d.cts +0 -19
- package/dist/injectHotkeySequenceRecorder.js.map +0 -1
- package/dist/injectHotkeySequences.cjs +0 -105
- package/dist/injectHotkeySequences.cjs.map +0 -1
- package/dist/injectHotkeySequences.d.cts +0 -47
- package/dist/injectHotkeySequences.js.map +0 -1
- package/dist/injectHotkeys.cjs +0 -120
- package/dist/injectHotkeys.cjs.map +0 -1
- package/dist/injectHotkeys.d.cts +0 -66
- package/dist/injectHotkeys.js.map +0 -1
- package/dist/injectKeyHold.cjs +0 -49
- package/dist/injectKeyHold.cjs.map +0 -1
- package/dist/injectKeyHold.d.cts +0 -41
- package/dist/injectKeyHold.js.map +0 -1
- package/src/hotkeys-provider.ts +0 -44
- package/src/index.ts +0 -18
- package/src/injectHeldKeyCodes.ts +0 -31
- package/src/injectHeldKeys.ts +0 -26
- package/src/injectHotkey.ts +0 -171
- package/src/injectHotkeyHint.ts +0 -29
- package/src/injectHotkeyRecorder.ts +0 -128
- package/src/injectHotkeyRegistrations.ts +0 -48
- package/src/injectHotkeySequence.ts +0 -140
- package/src/injectHotkeySequenceRecorder.ts +0 -103
- package/src/injectHotkeySequences.ts +0 -176
- package/src/injectHotkeys.ts +0 -189
- package/src/injectKeyHold.ts +0 -57
package/src/injectKeyHold.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { computed } from '@angular/core'
|
|
2
|
-
import { injectSelector } from '@tanstack/angular-store'
|
|
3
|
-
import { getKeyStateTracker } from '@tanstack/hotkeys'
|
|
4
|
-
import type { IndividualKey } from '@tanstack/hotkeys'
|
|
5
|
-
import type { Signal } from '@angular/core'
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Angular inject-based API that returns a signal that is true when the given key is held.
|
|
9
|
-
*
|
|
10
|
-
* Subscribes to the global KeyStateTracker and uses a computed to determine
|
|
11
|
-
* if the specified key is held.
|
|
12
|
-
*
|
|
13
|
-
* @param key - The key to check (e.g. 'Shift', 'Control', 'Space') - can be a getter function
|
|
14
|
-
* @returns Signal that returns true if the key is currently held down
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```ts
|
|
18
|
-
* @Component({
|
|
19
|
-
* template: `{{ isShiftHeld() ? 'Shift is pressed!' : 'Press Shift' }}`,
|
|
20
|
-
* })
|
|
21
|
-
* export class ShiftIndicatorComponent {
|
|
22
|
-
* isShiftHeld = injectKeyHold('Shift')
|
|
23
|
-
* }
|
|
24
|
-
* ```
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```ts
|
|
28
|
-
* @Component({
|
|
29
|
-
* template: `
|
|
30
|
-
* <span [style.opacity]="ctrl() ? 1 : 0.3">Ctrl</span>
|
|
31
|
-
* <span [style.opacity]="shift() ? 1 : 0.3">Shift</span>
|
|
32
|
-
* `,
|
|
33
|
-
* })
|
|
34
|
-
* export class ModifierIndicatorsComponent {
|
|
35
|
-
* ctrl = injectKeyHold('Control')
|
|
36
|
-
* shift = injectKeyHold('Shift')
|
|
37
|
-
* }
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
export function injectKeyHold(
|
|
41
|
-
key: IndividualKey | (() => IndividualKey),
|
|
42
|
-
): Signal<boolean> {
|
|
43
|
-
const tracker = getKeyStateTracker()
|
|
44
|
-
const heldKeysSelector = injectSelector(
|
|
45
|
-
tracker.store,
|
|
46
|
-
(state) => state.heldKeys,
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
return computed(() => {
|
|
50
|
-
const resolvedKey = typeof key === 'function' ? key() : key
|
|
51
|
-
const normalizedKey = resolvedKey.toLowerCase()
|
|
52
|
-
|
|
53
|
-
return heldKeysSelector().some(
|
|
54
|
-
(heldKey) => heldKey.toLowerCase() === normalizedKey,
|
|
55
|
-
)
|
|
56
|
-
})
|
|
57
|
-
}
|