@tanstack/hotkeys 0.6.4 → 0.7.1

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.
Files changed (43) hide show
  1. package/dist/constants.cjs +1 -0
  2. package/dist/constants.cjs.map +1 -1
  3. package/dist/constants.js +1 -0
  4. package/dist/constants.js.map +1 -1
  5. package/dist/hotkey-manager.cjs +16 -0
  6. package/dist/hotkey-manager.cjs.map +1 -1
  7. package/dist/hotkey-manager.d.cts +29 -2
  8. package/dist/hotkey-manager.d.ts +29 -2
  9. package/dist/hotkey-manager.js +16 -1
  10. package/dist/hotkey-manager.js.map +1 -1
  11. package/dist/hotkey-recorder.cjs +4 -0
  12. package/dist/hotkey-recorder.cjs.map +1 -1
  13. package/dist/hotkey-recorder.d.cts +8 -0
  14. package/dist/hotkey-recorder.d.ts +8 -0
  15. package/dist/hotkey-recorder.js +4 -0
  16. package/dist/hotkey-recorder.js.map +1 -1
  17. package/dist/hotkey-sequence-recorder.cjs +4 -0
  18. package/dist/hotkey-sequence-recorder.cjs.map +1 -1
  19. package/dist/hotkey-sequence-recorder.d.cts +8 -0
  20. package/dist/hotkey-sequence-recorder.d.ts +8 -0
  21. package/dist/hotkey-sequence-recorder.js +4 -0
  22. package/dist/hotkey-sequence-recorder.js.map +1 -1
  23. package/dist/hotkey.d.cts +22 -3
  24. package/dist/hotkey.d.ts +22 -3
  25. package/dist/index.cjs +1 -0
  26. package/dist/index.d.cts +3 -3
  27. package/dist/index.d.ts +3 -3
  28. package/dist/index.js +2 -2
  29. package/dist/manager.utils.cjs +1 -0
  30. package/dist/manager.utils.js +1 -1
  31. package/dist/sequence-manager.cjs +5 -1
  32. package/dist/sequence-manager.cjs.map +1 -1
  33. package/dist/sequence-manager.d.cts +2 -0
  34. package/dist/sequence-manager.d.ts +2 -0
  35. package/dist/sequence-manager.js +5 -1
  36. package/dist/sequence-manager.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/constants.ts +3 -0
  39. package/src/hotkey-manager.ts +42 -0
  40. package/src/hotkey-recorder.ts +20 -0
  41. package/src/hotkey-sequence-recorder.ts +20 -0
  42. package/src/hotkey.ts +22 -2
  43. package/src/sequence-manager.ts +7 -0
@@ -79,6 +79,8 @@ export interface SequenceRegistrationView {
79
79
  options: SequenceOptions
80
80
  target: Target
81
81
  triggerCount: number
82
+ /** Whether this sequence has been triggered at least once. */
83
+ hasFired: boolean
82
84
  /** Steps matched in the current attempt (0 when idle or just completed). */
83
85
  matchedStepCount: number
84
86
  /** `Date.now()` when the last step in the current attempt matched; 0 if none. */
@@ -98,6 +100,7 @@ interface SequenceRegistration {
98
100
  currentIndex: number
99
101
  lastKeyTime: number
100
102
  triggerCount: number
103
+ hasFired: boolean
101
104
  }
102
105
 
103
106
  /**
@@ -160,6 +163,7 @@ function toRegistrationView(
160
163
  options: reg.options,
161
164
  target: reg.target,
162
165
  triggerCount: reg.triggerCount,
166
+ hasFired: reg.hasFired,
163
167
  matchedStepCount: inProgress ? reg.currentIndex : 0,
164
168
  partialMatchLastKeyTime: inProgress ? reg.lastKeyTime : 0,
165
169
  }
@@ -284,6 +288,7 @@ export class SequenceManager {
284
288
  currentIndex: 0,
285
289
  lastKeyTime: 0,
286
290
  triggerCount: 0,
291
+ hasFired: false,
287
292
  }
288
293
 
289
294
  this.#registrations.set(id, registration)
@@ -515,6 +520,7 @@ export class SequenceManager {
515
520
  }
516
521
 
517
522
  registration.triggerCount++
523
+ registration.hasFired = true
518
524
  registration.currentIndex = 0
519
525
 
520
526
  this.#syncRegistrationView(registration)
@@ -605,6 +611,7 @@ export class SequenceManager {
605
611
  )
606
612
 
607
613
  registration.triggerCount++
614
+ registration.hasFired = true
608
615
 
609
616
  this.#syncRegistrationView(registration)
610
617