@tooee/commands 0.1.20 → 0.1.22

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 (46) hide show
  1. package/README.md +54 -0
  2. package/dist/command-store.d.ts +147 -0
  3. package/dist/command-store.d.ts.map +1 -0
  4. package/dist/command-store.js +367 -0
  5. package/dist/command-store.js.map +1 -0
  6. package/dist/context.d.ts +29 -3
  7. package/dist/context.d.ts.map +1 -1
  8. package/dist/context.js +192 -233
  9. package/dist/context.js.map +1 -1
  10. package/dist/index.d.ts +3 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/match.d.ts.map +1 -1
  15. package/dist/match.js +2 -0
  16. package/dist/match.js.map +1 -1
  17. package/dist/mode.d.ts +7 -1
  18. package/dist/mode.d.ts.map +1 -1
  19. package/dist/mode.js +12 -3
  20. package/dist/mode.js.map +1 -1
  21. package/dist/parse.d.ts.map +1 -1
  22. package/dist/parse.js +17 -5
  23. package/dist/parse.js.map +1 -1
  24. package/dist/sequence.d.ts +17 -2
  25. package/dist/sequence.d.ts.map +1 -1
  26. package/dist/sequence.js +66 -45
  27. package/dist/sequence.js.map +1 -1
  28. package/dist/types.d.ts +20 -1
  29. package/dist/types.d.ts.map +1 -1
  30. package/dist/use-actions.d.ts.map +1 -1
  31. package/dist/use-actions.js +6 -3
  32. package/dist/use-actions.js.map +1 -1
  33. package/dist/use-command.d.ts.map +1 -1
  34. package/dist/use-command.js +12 -4
  35. package/dist/use-command.js.map +1 -1
  36. package/package.json +5 -1
  37. package/src/command-store.ts +554 -0
  38. package/src/context.tsx +259 -276
  39. package/src/index.ts +22 -0
  40. package/src/match.ts +1 -0
  41. package/src/mode.tsx +31 -3
  42. package/src/parse.ts +20 -5
  43. package/src/sequence.ts +80 -52
  44. package/src/types.ts +22 -3
  45. package/src/use-actions.ts +5 -3
  46. package/src/use-command.ts +13 -4
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EAEpB,kBAAkB,EAGlB,sBAAsB,EACvB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAQrC,KAAK,aAAa,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;AAElD,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,eAAe,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC1C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;CAC5C;AAWD,QAAA,MAAM,cAAc,qDAAkD,CAAA;AA+BtE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,iBAAiB,GAClB,EAAE,oBAAoB,aAQtB;AAqOD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,SAAS,CAAA;IACnB,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,0CAA0C;IAC1C,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,IAAI,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,EAAE,EACF,IAAc,EACd,WAAsB,GACvB,EAAE,2BAA2B,aAQ7B;AAmFD,wBAAgB,iBAAiB,IAAI;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAazF;AAED,wBAAgB,kBAAkB,IAAI,mBAAmB,CAMxD;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAErE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAGrE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CA8BzD;AAkBD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAuBpF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAA;AAE3B,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,eAAe,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC1C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;CAC5C;AAED,qFAAqF;AACrF,UAAU,wBAAwB;IAChC,YAAY,EAAE,YAAY,CAAA;IAC1B,+EAA+E;IAC/E,OAAO,EAAE,aAAa,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,QAAA,MAAM,cAAc,0DAAuD,CAAA;AAwB3E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAOD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,iBAAiB,GAClB,EAAE,oBAAoB,aAmDtB;AA+ED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,SAAS,CAAA;IACnB,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,0CAA0C;IAC1C,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,IAAI,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,EAAE,EACF,IAAc,EACd,WAAsB,GACvB,EAAE,2BAA2B,aAkB7B;AAqFD,wBAAgB,iBAAiB,IAAI;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAqBzF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAMpD;AAED,wBAAgB,kBAAkB,IAAI,mBAAmB,CAsBxD;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAErE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAkBrE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,OAAO,EAAE,CAUzE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAM9C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CA+BzD;AAID,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CA0BpF;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,MAAM,cAAc,EACxE,GAAG,EAAE,CAAC,EACN,MAAM,EAAE,MAAM,cAAc,CAAC,CAAC,CAAC,GAC9B,IAAI,CAEN"}
package/dist/context.js CHANGED
@@ -1,217 +1,111 @@
1
1
  import { jsx as _jsx } from "@opentui/react/jsx-runtime";
2
- import { createContext, useContext, useRef, useCallback, useEffect, useMemo, useState, } from "react";
2
+ import { createContext, useContext, useRef, useCallback, useEffect, useMemo, } from "react";
3
3
  import { useKeyboard } from "@opentui/react";
4
+ import { useSelector } from "@xstate/store-react";
4
5
  import { ModeProvider, useMode, useSetMode } from "./mode.js";
5
6
  import { parseHotkey } from "./parse.js";
6
- import { matchStep } from "./match.js";
7
- import { SequenceTracker } from "./sequence.js";
8
- const DEFAULT_MODES = ["cursor"];
7
+ import { ROOT_SURFACE_ID, createCommandStore, selectActiveModalSurface, selectSequence, selectSurfaceCommandMap, stepsKey, } from "./command-store.js";
9
8
  const CommandContext = createContext(null);
10
9
  const CommandSequenceContext = createContext(null);
11
- const CommandSurfaceStackContext = createContext(null);
12
10
  /** Nesting depth of the nearest command surface (0 at the root app). */
13
11
  const CommandSurfaceDepthContext = createContext(0);
14
12
  /**
15
- * Build a command registry whose `invoke` resolves the command context lazily
16
- * via `getCtx`, so a surface always dispatches with its own (local) mode and
17
- * the current shared context sources.
13
+ * Fallback store for hooks that must not throw outside a CommandProvider
14
+ * (useActiveCommandSurface, useSurfaceCommands). Never dispatched to.
18
15
  */
19
- function createRegistry(getCtx) {
20
- const commands = new Map();
21
- return {
22
- commands,
23
- register(command) {
24
- commands.set(command.id, command);
25
- return () => {
26
- commands.delete(command.id);
27
- };
28
- },
29
- invoke(id) {
30
- const ctx = getCtx();
31
- const cmd = commands.get(id);
32
- if (cmd && (!cmd.when || cmd.when(ctx))) {
33
- cmd.handler(ctx);
34
- }
35
- },
36
- };
37
- }
16
+ const FALLBACK_COMMAND_STORE = createCommandStore({
17
+ root: {
18
+ getMode: () => "cursor",
19
+ // Placeholder context: augmented domain fields (overlay, view, ...) are
20
+ // only present where their providers run; dispatch never reaches this.
21
+ buildCtx: () => ({
22
+ mode: "cursor",
23
+ setMode: () => { },
24
+ commands: { invoke: () => { }, list: () => [] },
25
+ exit: () => { },
26
+ }),
27
+ },
28
+ });
38
29
  export function CommandProvider({ children, leader, keymap, initialMode, sequenceTimeoutMs, }) {
39
- return (_jsx(ModeProvider, { initialMode: initialMode, children: _jsx(CommandDispatcher, { leader: leader, keymap: keymap, sequenceTimeoutMs: sequenceTimeoutMs, children: children }) }));
30
+ // The store is created here (above the root ModeProvider) so mode changes
31
+ // can be routed into it as transitions; the dispatcher below installs the
32
+ // real root accessors before any key can dispatch.
33
+ const rootAccessRef = useRef({
34
+ getMode: () => initialMode ?? "cursor",
35
+ // Placeholder until CommandDispatcher installs the real accessors on its
36
+ // first render (before any key can dispatch).
37
+ buildCtx: () => ({
38
+ mode: initialMode ?? "cursor",
39
+ setMode: () => { },
40
+ commands: { invoke: () => { }, list: () => [] },
41
+ exit: () => { },
42
+ }),
43
+ });
44
+ const storeRef = useRef(null);
45
+ if (storeRef.current === null) {
46
+ storeRef.current = createCommandStore({
47
+ leader,
48
+ keymap,
49
+ sequenceTimeoutMs,
50
+ root: {
51
+ getMode: () => rootAccessRef.current.getMode(),
52
+ buildCtx: () => rootAccessRef.current.buildCtx(),
53
+ },
54
+ });
55
+ }
56
+ const commandStore = storeRef.current;
57
+ // Root mode changes are transitions: reset any pending chord synchronously
58
+ // (this replaces the old post-render tracker-reset effect).
59
+ const handleModeChange = useCallback(() => commandStore.modeChanged(ROOT_SURFACE_ID), [commandStore]);
60
+ return (_jsx(ModeProvider, { initialMode: initialMode, onModeChange: handleModeChange, children: _jsx(CommandDispatcher, { commandStore: commandStore, rootAccess: rootAccessRef, leader: leader, keymap: keymap, sequenceTimeoutMs: sequenceTimeoutMs, children: children }) }));
40
61
  }
41
- function CommandDispatcher({ children, leader, keymap, sequenceTimeoutMs, }) {
42
- const registryRef = useRef(null);
43
- const contextSourcesRef = useRef(new Map());
44
- const groupsRef = useRef(new Map());
62
+ function CommandDispatcher({ children, commandStore, rootAccess, leader, keymap, sequenceTimeoutMs, }) {
45
63
  const mode = useMode();
46
64
  const modeRef = useRef(mode);
47
65
  modeRef.current = mode;
48
66
  const setMode = useSetMode();
49
- const [sequenceState, setSequenceState] = useState(null);
50
- const clearSequenceStateRef = useRef(() => setSequenceState(null));
51
- clearSequenceStateRef.current = () => setSequenceState(null);
52
67
  const buildCtx = useCallback(() => {
68
+ const registry = commandStore.registryFor(commandStore.rootRecord);
53
69
  const ctx = {
54
70
  mode: modeRef.current,
55
71
  setMode,
56
72
  commands: {
57
- invoke: (id) => registryRef.current?.invoke(id),
58
- list: () => Array.from(registryRef.current?.commands.values() ?? []),
73
+ invoke: (id) => registry.invoke(id),
74
+ list: () => Array.from(registry.commands.values()),
59
75
  },
60
76
  exit: () => { },
61
77
  };
62
- for (const getter of contextSourcesRef.current.values()) {
78
+ for (const getter of commandStore.store.getSnapshot().context.contextSources.values()) {
63
79
  Object.assign(ctx, getter());
64
80
  }
65
81
  return ctx;
66
- }, [setMode]);
82
+ }, [commandStore, setMode]);
67
83
  const buildCtxRef = useRef(buildCtx);
68
84
  buildCtxRef.current = buildCtx;
69
- if (registryRef.current === null) {
70
- registryRef.current = createRegistry(() => buildCtxRef.current());
71
- }
72
- // --- Command surface stack ----------------------------------------------
73
- // The root registry above is the implicit base surface. Modal overlays push
74
- // surfaces on top of it; while a modal surface is topmost, key dispatch is
75
- // arbitrated to that surface only and the root (and lower surfaces) are
76
- // suspended — even for keys the surface does not handle.
77
- const surfaceEntriesRef = useRef([]);
78
- const surfaceOrderRef = useRef(0);
79
- const [surfaceVersion, setSurfaceVersion] = useState(0);
80
- const registerSurface = useCallback((entry) => {
81
- entry.order = surfaceOrderRef.current++;
82
- surfaceEntriesRef.current = [...surfaceEntriesRef.current, entry];
83
- setSurfaceVersion((v) => v + 1);
84
- return () => {
85
- surfaceEntriesRef.current = surfaceEntriesRef.current.filter((e) => e !== entry);
86
- setSurfaceVersion((v) => v + 1);
87
- };
88
- }, []);
89
- const getActiveModalSurface = useCallback(() => {
90
- let best = null;
91
- for (const entry of surfaceEntriesRef.current) {
92
- if (entry.role !== "modal")
93
- continue;
94
- if (best === null ||
95
- entry.depth > best.depth ||
96
- (entry.depth === best.depth && entry.order > best.order)) {
97
- best = entry;
98
- }
99
- }
100
- return best;
101
- }, []);
102
- const activeModalSurface = useMemo(() => {
103
- const surface = getActiveModalSurface();
104
- return surface ? { id: surface.id, role: surface.role } : null;
105
- // eslint-disable-next-line react-hooks/exhaustive-deps
106
- }, [getActiveModalSurface, surfaceVersion]);
107
- const surfaceStackValue = useMemo(() => ({ register: registerSurface, getActiveModalSurface, activeModalSurface }), [registerSurface, getActiveModalSurface, activeModalSurface]);
108
- const trackerRef = useRef(new SequenceTracker({
109
- timeout: sequenceTimeoutMs,
110
- onReset: () => clearSequenceStateRef.current(),
111
- }));
112
- const parseCacheRef = useRef(new Map());
113
- const getParsedHotkey = useCallback((hotkey) => {
114
- const cache = parseCacheRef.current;
115
- const cacheKey = `${hotkey}:${leader ?? ""}`;
116
- let parsed = cache.get(cacheKey);
117
- if (!parsed) {
118
- parsed = parseHotkey(hotkey, leader);
119
- cache.set(cacheKey, parsed);
120
- }
121
- return parsed;
122
- }, [leader]);
85
+ // Install the live root accessors and config (ref writes, same pattern as
86
+ // the previous modeRef mirrors; leader/keymap are read per dispatch).
87
+ rootAccess.current.getMode = () => modeRef.current;
88
+ rootAccess.current.buildCtx = () => buildCtxRef.current();
89
+ commandStore.setConfig({ leader, keymap, sequenceTimeoutMs });
123
90
  useKeyboard((event) => {
124
91
  if (event.defaultPrevented)
125
92
  return;
126
- const rootRegistry = registryRef.current;
127
- if (!rootRegistry)
128
- return;
129
- // Arbitration: a topmost modal surface owns input; otherwise the root app.
130
- const activeSurface = getActiveModalSurface();
131
- const registry = activeSurface ? activeSurface.registry : rootRegistry;
132
- const currentMode = activeSurface ? activeSurface.getMode() : modeRef.current;
133
- const ctx = activeSurface ? activeSurface.buildCtx() : buildCtx();
134
- // Collect eligible commands with their parsed hotkeys
135
- const singleStepCandidates = [];
136
- const multiStepCandidates = [];
137
- for (const command of registry.commands.values()) {
138
- const commandModes = command.modes ?? DEFAULT_MODES;
139
- if (!commandModes.includes(currentMode))
140
- continue;
141
- if (command.when && !command.when(ctx))
142
- continue;
143
- const hotkey = keymap?.[command.id] ?? command.defaultHotkey;
144
- if (!hotkey)
145
- continue;
146
- const parsed = getParsedHotkey(hotkey);
147
- if (parsed.steps.length === 1) {
148
- singleStepCandidates.push({ command, parsed });
149
- }
150
- else {
151
- multiStepCandidates.push({ command, hotkey, parsed });
152
- }
93
+ const result = commandStore.key(event);
94
+ if (result.handled) {
95
+ event.preventDefault();
96
+ result.invoke?.();
153
97
  }
154
- // Check multi-step sequences first (they consume buffer state)
155
- if (multiStepCandidates.length > 0) {
156
- const multiStepHotkeys = multiStepCandidates.map((candidate) => candidate.parsed);
157
- const result = trackerRef.current.feedWithState(event, multiStepHotkeys);
158
- if (result.matchedIndex >= 0) {
159
- event.preventDefault();
160
- setSequenceState(null);
161
- multiStepCandidates[result.matchedIndex].command.handler(ctx);
162
- return;
163
- }
164
- if (result.pending) {
165
- const firstCandidate = multiStepCandidates[result.pending.indexes[0]];
166
- setSequenceState({
167
- prefix: firstCandidate.parsed.steps.slice(0, result.pending.prefixLength),
168
- candidates: result.pending.indexes
169
- .map((idx) => multiStepCandidates[idx])
170
- .filter(({ command }) => !command.hidden)
171
- .map(({ command, hotkey, parsed }) => ({
172
- command,
173
- hotkey,
174
- steps: parsed.steps,
175
- remainingSteps: parsed.steps.slice(result.pending.prefixLength),
176
- nextStep: parsed.steps[result.pending.prefixLength],
177
- group: groupsRef.current.get(stepsKey(parsed.steps.slice(0, result.pending.prefixLength + 1))),
178
- })),
179
- });
180
- event.preventDefault();
181
- return;
182
- }
183
- setSequenceState(null);
184
- }
185
- // Check single-step matches
186
- for (const { command, parsed } of singleStepCandidates) {
187
- if (matchStep(event, parsed.steps[0])) {
188
- event.preventDefault();
189
- setSequenceState(null);
190
- command.handler(ctx);
191
- return;
192
- }
193
- }
194
- // A modal surface swallows unhandled keys: dispatch never falls through to
195
- // the root app while a modal surface is topmost.
196
98
  });
197
- useEffect(() => {
198
- trackerRef.current.reset();
199
- setSequenceState(null);
200
- }, [mode]);
201
- // Reset any in-flight sequence when keyboard ownership changes (e.g. a modal
202
- // surface opens/closes) so partial chords don't leak across surfaces. Passive
203
- // surfaces such as which-key must not clear the sequence they are displaying.
204
- useEffect(() => {
205
- trackerRef.current.reset();
206
- setSequenceState(null);
207
- }, [activeModalSurface?.id]);
99
+ // Clear the store's key buffer and pending timeout on dispatcher unmount so
100
+ // the timer cannot fire after the tree is gone.
101
+ useEffect(() => () => commandStore.dispose(), [commandStore]);
102
+ const sequenceState = useSelector(commandStore.store, (s) => selectSequence(s.context));
208
103
  const ctxValue = useMemo(() => ({
209
- registry: registryRef.current,
104
+ commandStore,
105
+ surface: commandStore.rootRecord,
210
106
  leaderKey: leader,
211
- contextSources: contextSourcesRef.current,
212
- groups: groupsRef.current,
213
- }), [leader]);
214
- return (_jsx(CommandContext.Provider, { value: ctxValue, children: _jsx(CommandSurfaceStackContext.Provider, { value: surfaceStackValue, children: _jsx(CommandSequenceContext, { value: sequenceState, children: children }) }) }));
107
+ }), [commandStore, leader]);
108
+ return (_jsx(CommandContext.Provider, { value: ctxValue, children: _jsx(CommandSequenceContext, { value: sequenceState, children: children }) }));
215
109
  }
216
110
  /**
217
111
  * Mounts an overlay-owned command surface. Children registered via `useCommand`
@@ -222,60 +116,69 @@ function CommandDispatcher({ children, leader, keymap, sequenceTimeoutMs, }) {
222
116
  * parent app's commands; a `passive` surface never becomes the keyboard owner.
223
117
  */
224
118
  export function CommandSurfaceProvider({ children, id, role = "modal", initialMode = "cursor", }) {
225
- return (_jsx(ModeProvider, { initialMode: initialMode, children: _jsx(CommandSurfaceInner, { id: id, role: role, children: children }) }));
119
+ const parent = useContext(CommandContext);
120
+ if (!parent) {
121
+ throw new Error("CommandSurfaceProvider must be used within a CommandProvider");
122
+ }
123
+ const { commandStore } = parent;
124
+ // Surface-local mode changes are transitions too (F-08): a mid-chord mode
125
+ // switch on a modal surface resets the pending sequence.
126
+ const handleModeChange = useCallback(() => commandStore.modeChanged(id), [commandStore, id]);
127
+ return (_jsx(ModeProvider, { initialMode: initialMode, onModeChange: handleModeChange, children: _jsx(CommandSurfaceInner, { id: id, role: role, children: children }) }));
226
128
  }
227
129
  function CommandSurfaceInner({ children, id, role, }) {
228
130
  const parent = useContext(CommandContext);
229
- const stack = useContext(CommandSurfaceStackContext);
230
- if (!parent || !stack) {
131
+ if (!parent) {
231
132
  throw new Error("CommandSurfaceProvider must be used within a CommandProvider");
232
133
  }
134
+ const { commandStore } = parent;
233
135
  const parentDepth = useContext(CommandSurfaceDepthContext);
234
136
  const depth = parentDepth + 1;
235
137
  const mode = useMode();
236
138
  const setMode = useSetMode();
237
139
  const modeRef = useRef(mode);
238
140
  modeRef.current = mode;
239
- const registryRef = useRef(null);
240
141
  const buildCtx = useCallback(() => {
142
+ const registry = commandStore.registryFor(recordRef.current);
241
143
  const ctx = {
242
144
  mode: modeRef.current,
243
145
  setMode,
244
146
  commands: {
245
- invoke: (cmdId) => registryRef.current?.invoke(cmdId),
246
- list: () => Array.from(registryRef.current?.commands.values() ?? []),
147
+ invoke: (cmdId) => registry.invoke(cmdId),
148
+ list: () => Array.from(registry.commands.values()),
247
149
  },
248
150
  exit: () => { },
249
151
  };
250
- for (const getter of parent.contextSources.values()) {
152
+ for (const getter of commandStore.store.getSnapshot().context.contextSources.values()) {
251
153
  Object.assign(ctx, getter());
252
154
  }
253
155
  return ctx;
254
- }, [parent.contextSources, setMode]);
156
+ }, [commandStore, setMode]);
255
157
  const buildCtxRef = useRef(buildCtx);
256
158
  buildCtxRef.current = buildCtx;
257
- if (registryRef.current === null) {
258
- registryRef.current = createRegistry(() => buildCtxRef.current());
259
- }
260
- const { register } = stack;
261
- useEffect(() => {
262
- const entry = {
159
+ const recordRef = useRef(null);
160
+ if (recordRef.current === null ||
161
+ recordRef.current.id !== id ||
162
+ recordRef.current.role !== role ||
163
+ recordRef.current.depth !== depth) {
164
+ recordRef.current = {
263
165
  id,
264
166
  role,
265
167
  depth,
266
168
  order: 0,
267
- registry: registryRef.current,
268
169
  getMode: () => modeRef.current,
269
170
  buildCtx: () => buildCtxRef.current(),
270
171
  };
271
- return register(entry);
272
- }, [register, id, role, depth]);
172
+ }
173
+ const record = recordRef.current;
174
+ // Mount/unmount registration is a keep-effect: it synchronizes the React
175
+ // tree with the store's surface stack.
176
+ useEffect(() => commandStore.pushSurface(record), [commandStore, record]);
273
177
  const ctxValue = useMemo(() => ({
274
- registry: registryRef.current,
178
+ commandStore,
179
+ surface: record,
275
180
  leaderKey: parent.leaderKey,
276
- contextSources: parent.contextSources,
277
- groups: parent.groups,
278
- }), [parent.leaderKey, parent.contextSources, parent.groups]);
181
+ }), [commandStore, record, parent.leaderKey]);
279
182
  return (_jsx(CommandContext.Provider, { value: ctxValue, children: _jsx(CommandSurfaceDepthContext.Provider, { value: depth, children: children }) }));
280
183
  }
281
184
  export function useCommandContext() {
@@ -283,20 +186,46 @@ export function useCommandContext() {
283
186
  if (!ctx) {
284
187
  throw new Error("useCommandContext must be used within a CommandProvider");
285
188
  }
286
- const { registry } = ctx;
287
- return {
288
- get commands() {
289
- return Array.from(registry.commands.values());
290
- },
189
+ const { commandStore, surface } = ctx;
190
+ // Reactive: consumers re-render when a command registers or unregisters on
191
+ // this surface (the per-surface map is identity-stable otherwise).
192
+ const commandMap = useSelector(commandStore.store, (s) => selectSurfaceCommandMap(s.context, surface.id));
193
+ const registry = commandStore.registryFor(surface);
194
+ return useMemo(() => ({
195
+ commands: commandMap ? Array.from(commandMap.values()) : [],
291
196
  invoke: registry.invoke,
292
- };
197
+ }), [commandMap, registry]);
198
+ }
199
+ /**
200
+ * Internal: the stable registry facade for the nearest surface, without
201
+ * subscribing to store changes. Registration hooks (useCommand/useActions)
202
+ * only need the facade; subscribing them would re-render every command host
203
+ * on unrelated group/context-source registrations.
204
+ */
205
+ export function useSurfaceRegistry() {
206
+ const ctx = useContext(CommandContext);
207
+ if (!ctx) {
208
+ throw new Error("useCommandRegistry must be used within a CommandProvider");
209
+ }
210
+ return ctx.commandStore.registryFor(ctx.surface);
293
211
  }
294
212
  export function useCommandRegistry() {
295
213
  const ctx = useContext(CommandContext);
296
214
  if (!ctx) {
297
215
  throw new Error("useCommandRegistry must be used within a CommandProvider");
298
216
  }
299
- return ctx;
217
+ const { commandStore, surface, leaderKey } = ctx;
218
+ // Subscribe to the slices so captured maps stay current across renders (the
219
+ // maps are immutable snapshots now, not shared mutable maps).
220
+ const groups = useSelector(commandStore.store, (s) => s.context.groups);
221
+ const contextSources = useSelector(commandStore.store, (s) => s.context.contextSources);
222
+ const registry = commandStore.registryFor(surface);
223
+ return useMemo(() => ({
224
+ registry,
225
+ leaderKey,
226
+ contextSources: contextSources,
227
+ groups: groups,
228
+ }), [registry, leaderKey, contextSources, groups]);
300
229
  }
301
230
  export function useCommandSequenceState() {
302
231
  return useContext(CommandSequenceContext);
@@ -304,11 +233,50 @@ export function useCommandSequenceState() {
304
233
  /**
305
234
  * Metadata for the topmost modal command surface, or null when the root app is
306
235
  * the active surface. Intended for which-key/help to read shortcuts from the
307
- * active interaction surface.
236
+ * active interaction surface. `commands` is reactive (F-13).
308
237
  */
309
238
  export function useActiveCommandSurface() {
310
- const ctx = useContext(CommandSurfaceStackContext);
311
- return ctx ? ctx.activeModalSurface : null;
239
+ const ctx = useContext(CommandContext);
240
+ const store = (ctx?.commandStore ?? FALLBACK_COMMAND_STORE).store;
241
+ const record = useSelector(store, (s) => selectActiveModalSurface(s.context));
242
+ const commandMap = useSelector(store, (s) => {
243
+ const active = selectActiveModalSurface(s.context);
244
+ return active ? selectSurfaceCommandMap(s.context, active.id) : undefined;
245
+ });
246
+ return useMemo(() => {
247
+ if (!record)
248
+ return null;
249
+ return {
250
+ id: record.id,
251
+ role: record.role,
252
+ commands: commandMap ? Array.from(commandMap.values()) : [],
253
+ };
254
+ }, [record, commandMap]);
255
+ }
256
+ /**
257
+ * Commands registered on a surface (reactive). Defaults to the active modal
258
+ * surface, falling back to the root surface when none is active.
259
+ */
260
+ export function useSurfaceCommands(surfaceId) {
261
+ const ctx = useContext(CommandContext);
262
+ const store = (ctx?.commandStore ?? FALLBACK_COMMAND_STORE).store;
263
+ const commandMap = useSelector(store, (s) => {
264
+ const id = surfaceId ?? selectActiveModalSurface(s.context)?.id ?? ROOT_SURFACE_ID;
265
+ return selectSurfaceCommandMap(s.context, id);
266
+ });
267
+ return useMemo(() => (commandMap ? Array.from(commandMap.values()) : []), [commandMap]);
268
+ }
269
+ /**
270
+ * Advanced/internal — subject to change. The command store instance backing
271
+ * this provider tree, for bridges that must reach the dispatch machinery
272
+ * (e.g. the shell's overlay-replacement sequence reset).
273
+ */
274
+ export function useCommandStore() {
275
+ const ctx = useContext(CommandContext);
276
+ if (!ctx) {
277
+ throw new Error("useCommandStore must be used within a CommandProvider");
278
+ }
279
+ return ctx.commandStore;
312
280
  }
313
281
  export function useCommandGroup(group) {
314
282
  const ctx = useContext(CommandContext);
@@ -317,16 +285,17 @@ export function useCommandGroup(group) {
317
285
  }
318
286
  const groupRef = useRef(group);
319
287
  groupRef.current = group;
320
- const { groups, leaderKey } = ctx;
288
+ const { commandStore, leaderKey } = ctx;
321
289
  useEffect(() => {
322
290
  const parsed = parseHotkey(groupRef.current.prefix, leaderKey);
323
291
  const registered = {
324
292
  ...groupRef.current,
325
293
  prefixKey: stepsKey(parsed.steps),
326
294
  };
327
- groups.set(registered.prefixKey, registered);
295
+ commandStore.store.trigger.groupRegistered({ group: registered });
328
296
  return () => {
329
- groups.delete(registered.prefixKey);
297
+ // Unregistration is identity-guarded in the store transition (R-05).
298
+ commandStore.store.trigger.groupUnregistered({ group: registered });
330
299
  };
331
300
  }, [
332
301
  group.id,
@@ -335,26 +304,10 @@ export function useCommandGroup(group) {
335
304
  group.description,
336
305
  group.icon,
337
306
  group.order,
338
- groups,
307
+ commandStore,
339
308
  leaderKey,
340
309
  ]);
341
310
  }
342
- function stepsKey(steps) {
343
- return steps.map(formatStepKey).join(" ");
344
- }
345
- function formatStepKey(step) {
346
- const modifiers = [];
347
- if (step.ctrl)
348
- modifiers.push("ctrl");
349
- if (step.meta)
350
- modifiers.push("meta");
351
- if (step.option)
352
- modifiers.push("option");
353
- if (step.shift)
354
- modifiers.push("shift");
355
- modifiers.push(step.key);
356
- return modifiers.join("+");
357
- }
358
311
  let nextContextSourceId = 0;
359
312
  export function useProvideCommandContext(getter) {
360
313
  const ctx = useContext(CommandContext);
@@ -367,13 +320,19 @@ export function useProvideCommandContext(getter) {
367
320
  }
368
321
  const getterRef = useRef(getter);
369
322
  getterRef.current = getter;
370
- const { contextSources } = ctx;
323
+ const { commandStore } = ctx;
371
324
  useEffect(() => {
372
325
  const id = idRef.current;
373
- contextSources.set(id, () => getterRef.current());
326
+ commandStore.store.trigger.contextSourceRegistered({
327
+ id,
328
+ getter: () => getterRef.current(),
329
+ });
374
330
  return () => {
375
- contextSources.delete(id);
331
+ commandStore.store.trigger.contextSourceUnregistered({ id });
376
332
  };
377
- }, [contextSources]);
333
+ }, [commandStore]);
334
+ }
335
+ export function useProvideCommandContextKey(key, getter) {
336
+ useProvideCommandContext(() => ({ [key]: getter() }));
378
337
  }
379
338
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,MAAM,EACN,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,GAET,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAe5C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,aAAa,GAAW,CAAC,QAAQ,CAAC,CAAA;AAoBxC,MAAM,cAAc,GAAG,aAAa,CAA6B,IAAI,CAAC,CAAA;AACtE,MAAM,sBAAsB,GAAG,aAAa,CAA8B,IAAI,CAAC,CAAA;AAC/E,MAAM,0BAA0B,GAAG,aAAa,CAAkC,IAAI,CAAC,CAAA;AACvF,wEAAwE;AACxE,MAAM,0BAA0B,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAEnD;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAA4B;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC3C,OAAO;QACL,QAAQ;QACR,QAAQ,CAAC,OAAgB;YACvB,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YACjC,OAAO,GAAG,EAAE;gBACV,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC7B,CAAC,CAAA;QACH,CAAC;QACD,MAAM,CAAC,EAAU;YACf,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;YACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC5B,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAUD,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,iBAAiB,GACI;IACrB,OAAO,CACL,KAAC,YAAY,IAAC,WAAW,EAAE,WAAW,YACpC,KAAC,iBAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,YACpF,QAAQ,GACS,GACP,CAChB,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,QAAQ,EACR,MAAM,EACN,MAAM,EACN,iBAAiB,GAMlB;IACC,MAAM,WAAW,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAA;IACxD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,GAAG,EAAyB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,EAAkC,CAAC,CAAA;IACnE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;IACtB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAA;IACrF,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;IAClE,qBAAqB,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAE5D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAmB,EAAE;QAChD,MAAM,GAAG,GAAwB;YAC/B,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,OAAO;YACP,QAAQ,EAAE;gBACR,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;gBACvD,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;aACrE;YACD,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;SACf,CAAA;QACD,KAAK,MAAM,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,GAAqB,CAAA;IAC9B,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAA;IAE9B,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACjC,WAAW,CAAC,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,yDAAyD;IACzD,MAAM,iBAAiB,GAAG,MAAM,CAAwB,EAAE,CAAC,CAAA;IAC3D,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACjC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEvD,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,KAA0B,EAAE,EAAE;QACjE,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,CAAA;QACvC,iBAAiB,CAAC,OAAO,GAAG,CAAC,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACjE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/B,OAAO,GAAG,EAAE;YACV,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA;YAChF,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAA+B,EAAE;QACzE,IAAI,IAAI,GAA+B,IAAI,CAAA;QAC3C,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAQ;YACpC,IACE,IAAI,KAAK,IAAI;gBACb,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;gBACxB,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EACxD,CAAC;gBACD,IAAI,GAAG,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,kBAAkB,GAAG,OAAO,CAA8B,GAAG,EAAE;QACnE,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAA;QACvC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9D,uDAAuD;IACzD,CAAC,EAAE,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAA;IAE3C,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC,EAChF,CAAC,eAAe,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAC7D,CAAA;IAED,MAAM,UAAU,GAAG,MAAM,CACvB,IAAI,eAAe,CAAC;QAClB,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE;KAC/C,CAAC,CACH,CAAA;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,GAAG,EAAwB,CAAC,CAAA;IAE7D,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,MAAc,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAA;QACnC,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,EAAE,EAAE,CAAA;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACpC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC7B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAA;IAED,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,IAAI,KAAK,CAAC,gBAAgB;YAAE,OAAM;QAElC,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAA;QACxC,IAAI,CAAC,YAAY;YAAE,OAAM;QAEzB,2EAA2E;QAC3E,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAA;QAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAA;QACtE,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;QAC7E,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAEjE,sDAAsD;QACtD,MAAM,oBAAoB,GAAiD,EAAE,CAAA;QAC7E,MAAM,mBAAmB,GAAiE,EAAE,CAAA;QAE5F,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAA;YACnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,SAAQ;YACjD,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAEhD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,aAAa,CAAA;YAC5D,IAAI,CAAC,MAAM;gBAAE,SAAQ;YAErB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;YAEtC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,oBAAoB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YAChD,CAAC;iBAAM,CAAC;gBACN,mBAAmB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACjF,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;YACxE,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBACtB,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC9D,OAAM;YACR,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAE,CAAA;gBACvE,gBAAgB,CAAC;oBACf,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;oBACzE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;yBAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAE,CAAC;yBACvC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;yBACxC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;wBACrC,OAAO;wBACP,MAAM;wBACN,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQ,CAAC,YAAY,CAAC;wBAChE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQ,CAAC,YAAY,CAAE;wBACrD,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAC1B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,OAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAClE;qBACF,CAAC,CAAC;iBACN,CAAC,CAAA;gBACF,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,OAAM;YACR,CAAC;YAED,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QAED,4BAA4B;QAC5B,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;YACvD,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,cAAc,EAAE,CAAA;gBACtB,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBACtB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBACpB,OAAM;YACR,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,iDAAiD;IACnD,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC1B,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEV,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC1B,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAA;IAE5B,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ,EAAE,WAAW,CAAC,OAAQ;QAC9B,SAAS,EAAE,MAAM;QACjB,cAAc,EAAE,iBAAiB,CAAC,OAAO;QACzC,MAAM,EAAE,SAAS,CAAC,OAAO;KAC1B,CAAC,EACF,CAAC,MAAM,CAAC,CACT,CAAA;IAED,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACtC,KAAC,0BAA0B,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,YAC3D,KAAC,sBAAsB,IAAC,KAAK,EAAE,aAAa,YAAG,QAAQ,GAA0B,GAC7C,GACd,CAC3B,CAAA;AACH,CAAC;AAYD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,EAAE,EACF,IAAI,GAAG,OAAO,EACd,WAAW,GAAG,QAAQ,GACM;IAC5B,OAAO,CACL,KAAC,YAAY,IAAC,WAAW,EAAE,WAAW,YACpC,KAAC,mBAAmB,IAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,YACpC,QAAQ,GACW,GACT,CAChB,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,EAAE,EACF,IAAI,GAKL;IACC,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAA;IACpD,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAG,WAAW,GAAG,CAAC,CAAA;IAE7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;IAEtB,MAAM,WAAW,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAA;IAExD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAmB,EAAE;QAChD,MAAM,GAAG,GAAwB;YAC/B,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,OAAO;YACP,QAAQ,EAAE;gBACR,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;gBAC7D,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;aACrE;YACD,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;SACf,CAAA;QACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,GAAqB,CAAA;IAC9B,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;IAEpC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAA;IAE9B,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACjC,WAAW,CAAC,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAwB;YACjC,EAAE;YACF,IAAI;YACJ,KAAK;YACL,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,WAAW,CAAC,OAAQ;YAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO;YAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE;SACtC,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAE/B,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ,EAAE,WAAW,CAAC,OAAQ;QAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,EACF,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CACzD,CAAA;IAED,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACtC,KAAC,0BAA0B,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC9C,QAAQ,GAC2B,GACd,CAC3B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;IACxB,OAAO;QACL,IAAI,QAAQ;YACV,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAC/C,CAAC;QACD,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,UAAU,CAAC,sBAAsB,CAAC,CAAA;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAA;IAClD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAA;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC9D,MAAM,UAAU,GAA2B;YACzC,GAAG,QAAQ,CAAC,OAAO;YACnB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;SAClC,CAAA;QACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QAC5C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QACrC,CAAC,CAAA;IACH,CAAC,EAAE;QACD,KAAK,CAAC,EAAE;QACR,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,KAAK;QACX,MAAM;QACN,SAAS;KACV,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAmB;IACnC,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,aAAa,CAAC,IAAgB;IACrC,MAAM,SAAS,GAAG,EAAE,CAAA;IACpB,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,IAAI,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,IAAI,CAAC,MAAM;QAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,IAAI,CAAC,KAAK;QAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED,IAAI,mBAAmB,GAAG,CAAC,CAAA;AAE3B,MAAM,UAAU,wBAAwB,CAAC,MAAqC;IAC5E,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IACnF,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAA;IACzC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,KAAK,CAAC,OAAO,GAAG,OAAO,mBAAmB,EAAE,EAAE,CAAA;IAChD,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAA;IAE1B,MAAM,EAAE,cAAc,EAAE,GAAG,GAAG,CAAA;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,KAAK,CAAC,OAAQ,CAAA;QACzB,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;QACjD,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,9 @@ export { parseHotkey } from "./parse.js";
6
6
  export { matchStep } from "./match.js";
7
7
  export { DEFAULT_SEQUENCE_TIMEOUT_MS, SequenceTracker } from "./sequence.js";
8
8
  export type { SequenceFeedResult, SequencePendingMatch, SequenceTrackerOptions, } from "./sequence.js";
9
- export { CommandProvider, CommandSurfaceProvider, useActiveCommandSurface, useCommandContext, useCommandGroup, useCommandRegistry, useCommandSequenceState, useProvideCommandContext, } from "./context.js";
9
+ export { CommandProvider, CommandSurfaceProvider, useActiveCommandSurface, useCommandContext, useCommandGroup, useCommandRegistry, useCommandSequenceState, useCommandStore, useProvideCommandContext, useProvideCommandContextKey, useSurfaceCommands, } from "./context.js";
10
+ export { ROOT_SURFACE_ID, createCommandStore, selectActiveModalSurface, selectGroups, selectSequence, selectSurfaceCommandMap, selectSurfaceCommands, } from "./command-store.js";
11
+ export type { CommandStore, CommandStoreConfig, CommandStoreContext, CommandStoreInstance, ContextGetter, CreateCommandStoreOptions, KeyDispatchResult, SurfaceRecord, } from "./command-store.js";
10
12
  export type { CommandProviderProps, CommandSurfaceProviderProps } from "./context.js";
11
13
  export { useCommand } from "./use-command.js";
12
14
  export type { UseCommandOptions } from "./use-command.js";