rx-hotkeys 2.6.1 → 3.1.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 (57) hide show
  1. package/README.md +254 -96
  2. package/dist/{hotkeys.d.ts → core/hotkeys.d.ts} +88 -37
  3. package/dist/core/hotkeys.d.ts.map +1 -0
  4. package/dist/{hotkeys.js → core/hotkeys.js} +229 -97
  5. package/dist/core/hotkeys.js.map +1 -0
  6. package/dist/{hotkeys.test.d.ts.map → core/hotkeys.test.d.ts.map} +1 -1
  7. package/dist/{hotkeys.test.js → core/hotkeys.test.js} +403 -238
  8. package/dist/core/hotkeys.test.js.map +1 -0
  9. package/dist/core/index.d.ts.map +1 -0
  10. package/dist/{index.js → core/index.js} +1 -0
  11. package/dist/core/index.js.map +1 -0
  12. package/dist/{keys.d.ts → core/keys.d.ts} +6 -0
  13. package/dist/core/keys.d.ts.map +1 -0
  14. package/dist/{keys.js → core/keys.js} +22 -0
  15. package/dist/core/keys.js.map +1 -0
  16. package/dist/core/testutils.d.ts +17 -0
  17. package/dist/core/testutils.d.ts.map +1 -0
  18. package/dist/core/testutils.js +35 -0
  19. package/dist/core/testutils.js.map +1 -0
  20. package/dist/integrations/react/index.d.ts +3 -0
  21. package/dist/integrations/react/index.d.ts.map +1 -0
  22. package/dist/integrations/react/index.js +3 -0
  23. package/dist/integrations/react/index.js.map +1 -0
  24. package/dist/integrations/react/provider.d.ts +42 -0
  25. package/dist/integrations/react/provider.d.ts.map +1 -0
  26. package/dist/integrations/react/provider.js +134 -0
  27. package/dist/integrations/react/provider.js.map +1 -0
  28. package/dist/integrations/react/useEventCallback.d.ts +14 -0
  29. package/dist/integrations/react/useEventCallback.d.ts.map +1 -0
  30. package/dist/integrations/react/useEventCallback.js +32 -0
  31. package/dist/integrations/react/useEventCallback.js.map +1 -0
  32. package/dist/integrations/react/useHotkeys.d.ts +43 -0
  33. package/dist/integrations/react/useHotkeys.d.ts.map +1 -0
  34. package/dist/integrations/react/useHotkeys.js +76 -0
  35. package/dist/integrations/react/useHotkeys.js.map +1 -0
  36. package/dist/integrations/react/useIsomorphicLayoutEffect.d.ts +3 -0
  37. package/dist/integrations/react/useIsomorphicLayoutEffect.d.ts.map +1 -0
  38. package/dist/integrations/react/useIsomorphicLayoutEffect.js +3 -0
  39. package/dist/integrations/react/useIsomorphicLayoutEffect.js.map +1 -0
  40. package/package.json +19 -8
  41. package/dist/hotkeys.d.ts.map +0 -1
  42. package/dist/index.d.ts.map +0 -1
  43. package/dist/keys.d.ts.map +0 -1
  44. package/dist/testutils.d.ts +0 -14
  45. package/dist/testutils.d.ts.map +0 -1
  46. package/dist/testutils.js +0 -31
  47. package/dist/tt.d.ts +0 -125
  48. package/dist/tt.d.ts.map +0 -1
  49. package/dist/tt.js +0 -384
  50. package/dist/ttt.d.ts +0 -164
  51. package/dist/ttt.d.ts.map +0 -1
  52. package/dist/ttt.js +0 -439
  53. package/dist/tttt.d.ts +0 -67
  54. package/dist/tttt.d.ts.map +0 -1
  55. package/dist/tttt.js +0 -301
  56. /package/dist/{hotkeys.test.d.ts → core/hotkeys.test.d.ts} +0 -0
  57. /package/dist/{index.d.ts → core/index.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hotkeys.test.js","sourceRoot":"","sources":["../../src/core/hotkeys.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,WAAW,EAChB,IAAI,GACP,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,OAAO,GACV,MAAM,cAAc,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { Keys, } from "./keys.js";
2
2
  export { Hotkeys, } from "./hotkeys.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,IAAI,GACP,MAAM,WAAW,CAAC;AACnB,OAAO,EAGH,OAAO,GACV,MAAM,cAAc,CAAC"}
@@ -152,4 +152,10 @@ export declare const Keys: {
152
152
  * This ensures type safety when configuring shortcuts.
153
153
  */
154
154
  export type StandardKey = typeof Keys[keyof typeof Keys];
155
+ /**
156
+ * A map of common aliases for keys to their standard `StandardKey` value.
157
+ * Used internally for parsing string-based shortcut definitions.
158
+ * @internal
159
+ */
160
+ export declare const KeyAliases: Record<string, StandardKey>;
155
161
  //# sourceMappingURL=keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/core/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHP,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAelD,CAAC"}
@@ -115,3 +115,25 @@ export const Keys = {
115
115
  Digit0: "0", Digit1: "1", Digit2: "2", Digit3: "3", Digit4: "4",
116
116
  Digit5: "5", Digit6: "6", Digit7: "7", Digit8: "8", Digit9: "9",
117
117
  };
118
+ /**
119
+ * A map of common aliases for keys to their standard `StandardKey` value.
120
+ * Used internally for parsing string-based shortcut definitions.
121
+ * @internal
122
+ */
123
+ export const KeyAliases = {
124
+ 'esc': Keys.Escape, 'escape': Keys.Escape,
125
+ 'enter': Keys.Enter, 'return': Keys.Enter,
126
+ 'tab': Keys.Tab,
127
+ 'space': Keys.Space, 'spacebar': Keys.Space,
128
+ 'backspace': Keys.Backspace,
129
+ 'del': Keys.Delete, 'delete': Keys.Delete,
130
+ 'ins': Keys.Insert, 'insert': Keys.Insert,
131
+ 'up': Keys.ArrowUp, 'down': Keys.ArrowDown, 'left': Keys.ArrowLeft, 'right': Keys.ArrowRight,
132
+ 'pageup': Keys.PageUp, 'pagedown': Keys.PageDown,
133
+ 'cmd': Keys.Meta, 'command': Keys.Meta, 'win': Keys.Meta, 'windows': Keys.Meta,
134
+ 'ctrl': Keys.Control, 'control': Keys.Control,
135
+ 'alt': Keys.Alt, 'option': Keys.Alt,
136
+ 'shift': Keys.Shift,
137
+ // Add any other desired aliases here
138
+ };
139
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/core/keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export declare function createMockFn(): {
2
+ (...args: any[]): void;
3
+ calledCount: number;
4
+ calls: any[];
5
+ lastArgs: any[];
6
+ mockClear(): void;
7
+ };
8
+ /**
9
+ * Dispatches a KeyboardEvent to a specified target element (or document).
10
+ * @param target - The EventTarget to dispatch the event on (e.g., document or an HTMLElement).
11
+ * @param key - The key value, e.g., "a", "Escape", "ArrowUp".
12
+ * @param eventType - The type of event to dispatch, 'keydown' or 'keyup'.
13
+ * @param modifiers - Optional modifier keys for the event.
14
+ * @returns The dispatched KeyboardEvent.
15
+ */
16
+ export declare function dispatchKeyEvent(target: EventTarget, key: string, eventType?: 'keydown' | 'keyup', modifiers?: Partial<KeyboardEventInit>): KeyboardEvent;
17
+ //# sourceMappingURL=testutils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testutils.d.ts","sourceRoot":"","sources":["../../src/core/testutils.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY;cACH,GAAG,EAAE;;;;;EAc7B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,SAAS,GAAG,OAAmB,EAC1C,SAAS,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAC3C,aAAa,CASf"}
@@ -0,0 +1,35 @@
1
+ export function createMockFn() {
2
+ const fn = (...args) => {
3
+ fn.calledCount++;
4
+ fn.calls.push(args);
5
+ fn.lastArgs = args;
6
+ };
7
+ fn.calledCount = 0;
8
+ fn.calls = [];
9
+ fn.lastArgs = [];
10
+ fn.mockClear = () => {
11
+ fn.calledCount = 0;
12
+ fn.calls = [];
13
+ fn.lastArgs = [];
14
+ };
15
+ return fn;
16
+ }
17
+ /**
18
+ * Dispatches a KeyboardEvent to a specified target element (or document).
19
+ * @param target - The EventTarget to dispatch the event on (e.g., document or an HTMLElement).
20
+ * @param key - The key value, e.g., "a", "Escape", "ArrowUp".
21
+ * @param eventType - The type of event to dispatch, 'keydown' or 'keyup'.
22
+ * @param modifiers - Optional modifier keys for the event.
23
+ * @returns The dispatched KeyboardEvent.
24
+ */
25
+ export function dispatchKeyEvent(target, key, eventType = 'keydown', modifiers = {}) {
26
+ const event = new KeyboardEvent(eventType, {
27
+ key,
28
+ bubbles: true,
29
+ cancelable: true,
30
+ ...modifiers,
31
+ });
32
+ target.dispatchEvent(event);
33
+ return event;
34
+ }
35
+ //# sourceMappingURL=testutils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testutils.js","sourceRoot":"","sources":["../../src/core/testutils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY;IACxB,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QAC1B,EAAE,CAAC,WAAW,EAAE,CAAC;QACjB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC,CAAC;IACF,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC;IACnB,EAAE,CAAC,KAAK,GAAG,EAAW,CAAC;IACvB,EAAE,CAAC,QAAQ,GAAG,EAAW,CAAC;IAC1B,EAAE,CAAC,SAAS,GAAG,GAAG,EAAE;QAChB,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC;QACnB,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QACd,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC,CAAC;IACF,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC5B,MAAmB,EACnB,GAAW,EACX,YAAiC,SAAS,EAC1C,YAAwC,EAAE;IAE1C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE;QACvC,GAAG;QACH,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,GAAG,SAAS;KACf,CAAC,CAAC;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { type HotkeysProviderProps, HotkeysProvider, useScopedHotkeysContext, } from "./provider.js";
2
+ export { type HotkeyHookOptions, type SequenceHookOptions, useHotkeys, useSequence, } from "./useHotkeys.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,oBAAoB,EACzB,eAAe,EACf,uBAAuB,GAC1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,UAAU,EACV,WAAW,GACd,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { HotkeysProvider, useScopedHotkeysContext, } from "./provider.js";
2
+ export { useHotkeys, useSequence, } from "./useHotkeys.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,eAAe,EACf,uBAAuB,GAC1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAGH,UAAU,EACV,WAAW,GACd,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { type StandardKey, Keys, Hotkeys } from "../../core/index.js";
2
+ export { Keys, type StandardKey };
3
+ export type HotkeysContextType = string | null;
4
+ type HotkeysStackContextValue = [HotkeysContextType[], React.Dispatch<React.SetStateAction<HotkeysContextType[]>>];
5
+ export interface HotkeysProviderProps {
6
+ children: React.ReactNode;
7
+ initialContext?: HotkeysContextType;
8
+ debugMode?: boolean;
9
+ }
10
+ /**
11
+ * Provides the Hotkeys manager instance and context stack management to its children.
12
+ * It initializes and destroys the Hotkeys manager.
13
+ * @param {HotkeysProviderProps} props - The provider's props.
14
+ * @param {ReactNode} props.children - The child components.
15
+ * @param {string | null} [props.initialContext=null] - The initial hotkey context for the manager.
16
+ * If this prop changes after the initial mount, the Hotkeys manager will be re-initialized.
17
+ * @param {boolean} [props.debugMode=false] - Whether to enable debug logging for the Hotkeys manager
18
+ * itself and for the provider's initialization.
19
+ */
20
+ export declare function HotkeysProvider({ children, initialContext, debugMode }: HotkeysProviderProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function useHotkeysManager(): Hotkeys | null;
22
+ export declare function useHotkeysContextStack(): HotkeysStackContextValue;
23
+ export declare function useHotkeysContextAPI(): {
24
+ currentContext: HotkeysContextType;
25
+ setContext: (contextNameOrUndefined: HotkeysContextType | undefined) => void;
26
+ };
27
+ /**
28
+ * A hook to apply a specific hotkey context for the lifecycle of the component using it.
29
+ * When the component mounts or `scopedContext` changes to a defined value (string or null),
30
+ * it pushes the `scopedContext` onto the context stack.
31
+ * When the component unmounts or `scopedContext` changes, the previously applied context is popped.
32
+ *
33
+ * @param {HotkeysContextType | undefined} scopedContext - The context to apply for this scope.
34
+ * - Pass a string to set a specific context.
35
+ * - Pass `null` to set the context to global/base (pushes `null` onto the stack).
36
+ * - If `scopedContext` becomes `undefined` (e.g., due to conditional logic), the hook
37
+ * will ensure any previously pushed context by this instance is popped, then becomes a no-op
38
+ * for context setting until `scopedContext` is defined again.
39
+ * @returns {HotkeysContextType | undefined} The current actual hotkey context active in the manager.
40
+ */
41
+ export declare function useScopedHotkeysContext(scopedContext: HotkeysContextType | undefined): HotkeysContextType | undefined;
42
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/integrations/react/provider.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,WAAW,EAChB,IAAI,EACJ,OAAO,EACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;AAElC,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAAC;AAM/C,KAAK,wBAAwB,GAAG,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;AAGnH,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,cAAqB,EAAE,SAAiB,EAAE,EAAE,oBAAoB,2CA4B3G;AAED,wBAAgB,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAElD;AAED,wBAAgB,sBAAsB,IAAI,wBAAwB,CAMjE;AAED,wBAAgB,oBAAoB;;yCAMwB,kBAAkB,GAAG,SAAS;EAmDzF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,kBAAkB,GAAG,SAAS,GAAG,kBAAkB,GAAG,SAAS,CAqBrH"}
@@ -0,0 +1,134 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useState, useCallback, useContext, useEffect } from "react";
3
+ import { Keys, Hotkeys, } from "../../core/index.js";
4
+ export { Keys };
5
+ // Context for the Hotkeys manager instance
6
+ const HotkeysManagerContext = createContext(null);
7
+ const HotkeysContextStackContext = createContext(undefined);
8
+ /**
9
+ * Provides the Hotkeys manager instance and context stack management to its children.
10
+ * It initializes and destroys the Hotkeys manager.
11
+ * @param {HotkeysProviderProps} props - The provider's props.
12
+ * @param {ReactNode} props.children - The child components.
13
+ * @param {string | null} [props.initialContext=null] - The initial hotkey context for the manager.
14
+ * If this prop changes after the initial mount, the Hotkeys manager will be re-initialized.
15
+ * @param {boolean} [props.debugMode=false] - Whether to enable debug logging for the Hotkeys manager
16
+ * itself and for the provider's initialization.
17
+ */
18
+ export function HotkeysProvider({ children, initialContext = null, debugMode = false }) {
19
+ const [manager, setManager] = useState(null);
20
+ // Initialize stack with initialContext. If initialContext is null, stack starts with [null] for global.
21
+ const [contextStack, setContextStack] = useState(() => [initialContext]);
22
+ useEffect(() => {
23
+ const hotkeysManagerInstance = new Hotkeys(initialContext, debugMode);
24
+ setManager(hotkeysManagerInstance);
25
+ if (debugMode) {
26
+ console.log("[HotkeysProvider] Initialized. Initial Context on Manager:", hotkeysManagerInstance.getContext(), "Initial Stack:", [...contextStack]);
27
+ }
28
+ return () => {
29
+ hotkeysManagerInstance.destroy();
30
+ };
31
+ // initialContext is used to set the initial stack state, debugMode for manager.
32
+ // contextStack itself should not be a dep here to avoid re-initializing manager on stack changes.
33
+ // If initialContext or debugMode props change, the manager will be re-initialized.
34
+ }, [initialContext, debugMode]);
35
+ return (_jsx(HotkeysManagerContext.Provider, { value: manager, children: _jsx(HotkeysContextStackContext.Provider, { value: [contextStack, setContextStack], children: children }) }));
36
+ }
37
+ export function useHotkeysManager() {
38
+ return useContext(HotkeysManagerContext);
39
+ }
40
+ export function useHotkeysContextStack() {
41
+ const context = useContext(HotkeysContextStackContext);
42
+ if (context === undefined) {
43
+ throw new Error("useHotkeysContextStack must be used within a HotkeysProvider");
44
+ }
45
+ return context;
46
+ }
47
+ export function useHotkeysContextAPI() {
48
+ const manager = useHotkeysManager();
49
+ const [contextStack, setContextStack] = useHotkeysContextStack();
50
+ // internalCurrentContext is kept in sync with the manager's actual context via onContextChange$
51
+ const [internalCurrentContext, setInternalCurrentContext] = useState(() => manager?.getContext() ?? null);
52
+ const setContext = useCallback((contextNameOrUndefined) => {
53
+ // This function now only updates the React state (contextStack).
54
+ // The side effect of updating the manager is handled by the useEffect below.
55
+ if (contextNameOrUndefined !== undefined) { // Pushing a new context
56
+ // console.log(`[useHotkeysContextAPI] Queuing push context: ${contextNameOrUndefined}`);
57
+ setContextStack(prevStack => [...prevStack, contextNameOrUndefined]);
58
+ }
59
+ else { // Popping context (undefined means restore previous)
60
+ // console.log(`[useHotkeysContextAPI] Queuing pop context.`);
61
+ setContextStack(prevStack => {
62
+ if (prevStack.length > 1) { // Always keep at least one context (the initial/global one)
63
+ return prevStack.slice(0, -1);
64
+ }
65
+ return prevStack; // Don't pop if only one context is left
66
+ });
67
+ }
68
+ }, [setContextStack]); // manager is not needed here as side effect is separate
69
+ // Effect to synchronize the Hotkeys manager with the top of the contextStack
70
+ useEffect(() => {
71
+ if (manager) {
72
+ const topOfStack = contextStack.length > 0 ? contextStack[contextStack.length - 1] : null;
73
+ if (manager.getContext() !== topOfStack) {
74
+ // console.log(`[useHotkeysContextAPI EFFECT] Syncing manager to top of stack: ${topOfStack}. Current stack:`, [...contextStack]);
75
+ manager.setContext(topOfStack);
76
+ }
77
+ }
78
+ }, [manager, contextStack]); // Runs when manager is available or stack changes
79
+ // Subscribe to onContextChange$ from the manager
80
+ useEffect(() => {
81
+ if (manager) {
82
+ // console.log(`[useHotkeysContextAPI] Subscribing to onContextChange$. Initial manager context: ${currentManagerContext}`);
83
+ setInternalCurrentContext(manager.getContext());
84
+ const subscription = manager.onContextChange$.subscribe(newContext => {
85
+ // console.log(`[useHotkeysContextAPI] Context changed via observable to: ${newContext}`);
86
+ setInternalCurrentContext(newContext);
87
+ // Potentially sync stack if observable changes context not managed by stack?
88
+ // For now, assume stack is the source of truth for manager.setContext.
89
+ });
90
+ return () => {
91
+ // console.log(`[useHotkeysContextAPI] Unsubscribing from onContextChange$.`);
92
+ subscription.unsubscribe();
93
+ };
94
+ }
95
+ }, [manager]);
96
+ return {
97
+ currentContext: internalCurrentContext,
98
+ setContext,
99
+ };
100
+ }
101
+ /**
102
+ * A hook to apply a specific hotkey context for the lifecycle of the component using it.
103
+ * When the component mounts or `scopedContext` changes to a defined value (string or null),
104
+ * it pushes the `scopedContext` onto the context stack.
105
+ * When the component unmounts or `scopedContext` changes, the previously applied context is popped.
106
+ *
107
+ * @param {HotkeysContextType | undefined} scopedContext - The context to apply for this scope.
108
+ * - Pass a string to set a specific context.
109
+ * - Pass `null` to set the context to global/base (pushes `null` onto the stack).
110
+ * - If `scopedContext` becomes `undefined` (e.g., due to conditional logic), the hook
111
+ * will ensure any previously pushed context by this instance is popped, then becomes a no-op
112
+ * for context setting until `scopedContext` is defined again.
113
+ * @returns {HotkeysContextType | undefined} The current actual hotkey context active in the manager.
114
+ */
115
+ export function useScopedHotkeysContext(scopedContext) {
116
+ const { setContext, currentContext } = useHotkeysContextAPI();
117
+ useEffect(() => {
118
+ // Only act if scopedContext is explicitly provided (not undefined initially if that's the intent)
119
+ // If scopedContext is null, it means "set to global/base".
120
+ // If scopedContext is a string, it means "set to this specific context".
121
+ // If scopedContext becomes undefined, the hook effectively becomes a no-op for setting context.
122
+ if (scopedContext !== undefined) {
123
+ // console.log(`[useScopedHotkeysContext] Applying scope: ${scopedContext}`);
124
+ setContext(scopedContext); // Push onto stack (or set if it's null)
125
+ return () => {
126
+ // console.log(`[useScopedHotkeysContext] Removing scope: ${scopedContext}, restoring previous.`);
127
+ setContext(undefined); // Pop from stack
128
+ };
129
+ }
130
+ // setContext from useHotkeysContextAPI should now be stable.
131
+ }, [scopedContext, setContext]);
132
+ return currentContext;
133
+ }
134
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/integrations/react/provider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A custom React hook that creates a stable function reference (a "callback event")
3
+ * that will always call the latest version of the function passed to it.
4
+ * This is a TypeScript implementation of the pattern used to polyfill the
5
+ * upcoming official `useEffectEvent` hook.
6
+ *
7
+ * @template T - The type of the callback function.
8
+ * @param {T} callback - The function to be made stable. This function can use
9
+ * the latest props and state, and it will be updated on every render.
10
+ * @returns {T} A memoized function that has a stable identity across re-renders
11
+ * but executes the most recent version of the `callback`.
12
+ */
13
+ export declare function useEventCallback<T extends (...args: any[]) => any>(callback: T): T;
14
+ //# sourceMappingURL=useEventCallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventCallback.d.ts","sourceRoot":"","sources":["../../../src/integrations/react/useEventCallback.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAkBlF"}
@@ -0,0 +1,32 @@
1
+ import { useRef, useCallback } from "react";
2
+ import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.js";
3
+ /**
4
+ * A custom React hook that creates a stable function reference (a "callback event")
5
+ * that will always call the latest version of the function passed to it.
6
+ * This is a TypeScript implementation of the pattern used to polyfill the
7
+ * upcoming official `useEffectEvent` hook.
8
+ *
9
+ * @template T - The type of the callback function.
10
+ * @param {T} callback - The function to be made stable. This function can use
11
+ * the latest props and state, and it will be updated on every render.
12
+ * @returns {T} A memoized function that has a stable identity across re-renders
13
+ * but executes the most recent version of the `callback`.
14
+ */
15
+ export function useEventCallback(callback) {
16
+ // 1. Store the latest callback in a ref. The ref's type is the function signature.
17
+ const callbackRef = useRef(callback);
18
+ // 2. Use useLayoutEffect to update the ref synchronously after every render.
19
+ // This ensures the ref always holds the latest version of the callback
20
+ // before any other effects run.
21
+ useIsomorphicLayoutEffect(() => {
22
+ callbackRef.current = callback;
23
+ }); // No dependency array means this effect runs on every render.
24
+ // 3. Return a stable, memoized function.
25
+ // This function's identity will never change because of the empty dependency array.
26
+ // We cast the returned function to type T to match the input function signature.
27
+ return useCallback((...args) => {
28
+ // When called, it executes the *current* function stored in the ref.
29
+ return callbackRef.current(...args);
30
+ }, []);
31
+ }
32
+ //# sourceMappingURL=useEventCallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventCallback.js","sourceRoot":"","sources":["../../../src/integrations/react/useEventCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAoC,QAAW;IAC3E,mFAAmF;IACnF,MAAM,WAAW,GAAG,MAAM,CAAI,QAAQ,CAAC,CAAC;IAExC,6EAA6E;IAC7E,uEAAuE;IACvE,gCAAgC;IAChC,yBAAyB,CAAC,GAAG,EAAE;QAC3B,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IACnC,CAAC,CAAC,CAAC,CAAC,8DAA8D;IAElE,yCAAyC;IACzC,oFAAoF;IACpF,iFAAiF;IACjF,OAAO,WAAW,CAAC,CAAC,GAAG,IAAmB,EAAiB,EAAE;QACzD,qEAAqE;QACrE,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC,EAAE,EAAE,CAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { type KeyCombinationConfig, type KeySequenceConfig } from "../../core/index.js";
2
+ export type HotkeyHookOptions = Omit<KeyCombinationConfig, "id" | "keys" | "callback">;
3
+ export type SequenceHookOptions = Omit<KeySequenceConfig, "id" | "sequence" | "callback">;
4
+ /**
5
+ * React hook to declaratively register a key combination hotkey.
6
+ * The hotkey is automatically registered when the component mounts and unregistered when it unmounts.
7
+ *
8
+ * @param keys The key combination to listen for. Can be a string like "ctrl+s" or an array.
9
+ * @param callback The function to execute when the hotkey is triggered.
10
+ * @param options An optional configuration object for `preventDefault`, `context`, `target`, etc.
11
+ *
12
+ * @example
13
+ * import { useHotkeys, Keys } from "./wraper";
14
+ *
15
+ * function MyComponent() {
16
+ * const [count, setCount] = useState(0);
17
+ *
18
+ * // The callback can directly use the latest `count` state without stale closure issues,
19
+ * // and we no longer need to pass a dependency array for it.
20
+ * useHotkeys("c", () => {
21
+ * console.log(`Current count is: ${count}. Incrementing.`);
22
+ * setCount(count + 1);
23
+ * });
24
+ *
25
+ * return <div>Count: {count} (Press "c" to increment)</div>;
26
+ * }
27
+ */
28
+ export declare function useHotkeys(keys: string | string[], callback: (event: KeyboardEvent) => void, options?: HotkeyHookOptions): void;
29
+ /**
30
+ * React hook to declaratively register a key sequence hotkey.
31
+ * The hotkey is automatically registered when the component mounts and unregistered when it unmounts.
32
+ *
33
+ * @param sequence The key sequence to listen for. Can be a string like "g -> i" or an array.
34
+ * @param callback The function to execute when the hotkey is triggered.
35
+ * @param options An optional configuration object for `preventDefault`, `context`, `sequenceTimeoutMs`, etc.
36
+ *
37
+ * @example
38
+ * useSequence("g -> i", () => {
39
+ * console.log("Navigating to inbox...");
40
+ * }, { sequenceTimeoutMs: 1000 });
41
+ */
42
+ export declare function useSequence(sequence: string | string[], callback: (event: KeyboardEvent) => void, options?: SequenceHookOptions): void;
43
+ //# sourceMappingURL=useHotkeys.d.ts.map
@@ -0,0 +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,GAAG,UAAU,CAAC,CAAC;AACvF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;AA6C1F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,UAAU,CACtB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACxC,OAAO,CAAC,EAAE,iBAAiB,GAC5B,IAAI,CAEN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACvB,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EACxC,OAAO,CAAC,EAAE,mBAAmB,GAC9B,IAAI,CAEN"}