@tooee/commands 0.1.21 → 0.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 -0
- package/dist/context.d.ts +14 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +29 -0
- package/dist/context.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/use-command.d.ts +6 -0
- package/dist/use-command.d.ts.map +1 -1
- package/dist/use-command.js +3 -0
- package/dist/use-command.js.map +1 -1
- package/package.json +5 -5
- package/src/context.tsx +35 -0
- package/src/index.ts +3 -0
- package/src/use-command.ts +9 -0
package/README.md
CHANGED
|
@@ -4,6 +4,27 @@ Vim-inspired modal command system for Tooee.
|
|
|
4
4
|
|
|
5
5
|
Part of the [Tooee](https://github.com/gingerhendrix/tooee) monorepo. See the main repo for documentation.
|
|
6
6
|
|
|
7
|
+
## Command-context extensions
|
|
8
|
+
|
|
9
|
+
Packages extend `CommandContext` with TypeScript module augmentation and provide
|
|
10
|
+
runtime values with command-context providers. Use `useProvideCommandContextKey`
|
|
11
|
+
for one keyed slice so the value is checked against the augmented key:
|
|
12
|
+
|
|
13
|
+
```tsx
|
|
14
|
+
declare module "@tooee/commands" {
|
|
15
|
+
interface CommandContext {
|
|
16
|
+
myApp: { selectedId: string | null }
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
useProvideCommandContextKey("myApp", () => ({ selectedId }))
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Key ownership is by convention: Tooee packages use short built-in keys such as
|
|
24
|
+
`view`, `ask`, `choose`, `overlay`, and `toast`; apps and third-party packages
|
|
25
|
+
should use app/package-specific keys to avoid collisions. If multiple providers
|
|
26
|
+
return the same top-level key, the last registered provider wins.
|
|
27
|
+
|
|
7
28
|
## Raw `useKeyboard` policy
|
|
8
29
|
|
|
9
30
|
App-level `useKeyboard` handlers MUST guard against active overlays — either
|
|
@@ -36,3 +57,8 @@ exiting the app underneath an open picker. Inside `@tooee/commands` itself,
|
|
|
36
57
|
not available. There is a regression test documenting this hazard in
|
|
37
58
|
`test/surface.test.tsx` ("raw useKeyboard consumers bypass surface
|
|
38
59
|
arbitration").
|
|
60
|
+
|
|
61
|
+
Renderable focus is the one thing the surface stack does not manage: compare
|
|
62
|
+
`useCommandSurfaceId()` (the surface a subtree registers to) against
|
|
63
|
+
`useActiveCommandSurface()` to blur an editor while a modal surface above it
|
|
64
|
+
owns the keyboard.
|
package/dist/context.d.ts
CHANGED
|
@@ -46,6 +46,12 @@ export declare function useCommandContext(): {
|
|
|
46
46
|
commands: Command[];
|
|
47
47
|
invoke: (id: string) => void;
|
|
48
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Builds the live command context of the nearest surface — the same value
|
|
51
|
+
* command handlers receive. For callers that must hand a context to something
|
|
52
|
+
* outside the dispatch path (e.g. a context-menu entry resolver).
|
|
53
|
+
*/
|
|
54
|
+
export declare function useBuildCommandContext(): () => CommandContext;
|
|
49
55
|
/**
|
|
50
56
|
* Internal: the stable registry facade for the nearest surface, without
|
|
51
57
|
* subscribing to store changes. Registration hooks (useCommand/useActions)
|
|
@@ -55,6 +61,13 @@ export declare function useCommandContext(): {
|
|
|
55
61
|
export declare function useSurfaceRegistry(): CommandRegistry;
|
|
56
62
|
export declare function useCommandRegistry(): CommandContextValue;
|
|
57
63
|
export declare function useCommandSequenceState(): CommandSequenceState | null;
|
|
64
|
+
/**
|
|
65
|
+
* Id of the command surface this subtree registers commands to: the nearest
|
|
66
|
+
* enclosing `CommandSurfaceProvider`'s id, or `ROOT_SURFACE_ID` at the app
|
|
67
|
+
* root. Compare against `useActiveCommandSurface()` to tell whether another
|
|
68
|
+
* modal surface currently owns keyboard input above this subtree.
|
|
69
|
+
*/
|
|
70
|
+
export declare function useCommandSurfaceId(): string;
|
|
58
71
|
/**
|
|
59
72
|
* Metadata for the topmost modal command surface, or null when the root app is
|
|
60
73
|
* the active surface. Intended for which-key/help to read shortcuts from the
|
|
@@ -74,5 +87,6 @@ export declare function useSurfaceCommands(surfaceId?: string): readonly Command
|
|
|
74
87
|
export declare function useCommandStore(): CommandStore;
|
|
75
88
|
export declare function useCommandGroup(group: CommandGroup): void;
|
|
76
89
|
export declare function useProvideCommandContext(getter: () => Partial<CommandContext>): void;
|
|
90
|
+
export declare function useProvideCommandContextKey<K extends keyof CommandContext>(key: K, getter: () => CommandContext[K]): void;
|
|
77
91
|
export {};
|
|
78
92
|
//# sourceMappingURL=context.d.ts.map
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"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"}
|
package/dist/context.js
CHANGED
|
@@ -196,6 +196,19 @@ export function useCommandContext() {
|
|
|
196
196
|
invoke: registry.invoke,
|
|
197
197
|
}), [commandMap, registry]);
|
|
198
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Builds the live command context of the nearest surface — the same value
|
|
201
|
+
* command handlers receive. For callers that must hand a context to something
|
|
202
|
+
* outside the dispatch path (e.g. a context-menu entry resolver).
|
|
203
|
+
*/
|
|
204
|
+
export function useBuildCommandContext() {
|
|
205
|
+
const ctx = useContext(CommandContext);
|
|
206
|
+
if (!ctx) {
|
|
207
|
+
throw new Error("useBuildCommandContext must be used within a CommandProvider");
|
|
208
|
+
}
|
|
209
|
+
const { surface } = ctx;
|
|
210
|
+
return useCallback(() => surface.buildCtx(), [surface]);
|
|
211
|
+
}
|
|
199
212
|
/**
|
|
200
213
|
* Internal: the stable registry facade for the nearest surface, without
|
|
201
214
|
* subscribing to store changes. Registration hooks (useCommand/useActions)
|
|
@@ -230,6 +243,19 @@ export function useCommandRegistry() {
|
|
|
230
243
|
export function useCommandSequenceState() {
|
|
231
244
|
return useContext(CommandSequenceContext);
|
|
232
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Id of the command surface this subtree registers commands to: the nearest
|
|
248
|
+
* enclosing `CommandSurfaceProvider`'s id, or `ROOT_SURFACE_ID` at the app
|
|
249
|
+
* root. Compare against `useActiveCommandSurface()` to tell whether another
|
|
250
|
+
* modal surface currently owns keyboard input above this subtree.
|
|
251
|
+
*/
|
|
252
|
+
export function useCommandSurfaceId() {
|
|
253
|
+
const ctx = useContext(CommandContext);
|
|
254
|
+
if (!ctx) {
|
|
255
|
+
throw new Error("useCommandSurfaceId must be used within a CommandProvider");
|
|
256
|
+
}
|
|
257
|
+
return ctx.surface.id;
|
|
258
|
+
}
|
|
233
259
|
/**
|
|
234
260
|
* Metadata for the topmost modal command surface, or null when the root app is
|
|
235
261
|
* the active surface. Intended for which-key/help to read shortcuts from the
|
|
@@ -332,4 +358,7 @@ export function useProvideCommandContext(getter) {
|
|
|
332
358
|
};
|
|
333
359
|
}, [commandStore]);
|
|
334
360
|
}
|
|
361
|
+
export function useProvideCommandContextKey(key, getter) {
|
|
362
|
+
useProvideCommandContext(() => ({ [key]: getter() }));
|
|
363
|
+
}
|
|
335
364
|
//# sourceMappingURL=context.js.map
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"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"}
|
|
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,GAER,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAYjD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EACvB,QAAQ,GAIT,MAAM,oBAAoB,CAAA;AAiB3B,MAAM,cAAc,GAAG,aAAa,CAAkC,IAAI,CAAC,CAAA;AAC3E,MAAM,sBAAsB,GAAG,aAAa,CAA8B,IAAI,CAAC,CAAA;AAC/E,wEAAwE;AACxE,MAAM,0BAA0B,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAEnD;;;GAGG;AACH,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;IAChD,IAAI,EAAE;QACJ,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ;QACvB,wEAAwE;QACxE,uEAAuE;QACvE,QAAQ,EAAE,GAAG,EAAE,CACb,CAAC;YACC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;YACjB,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;SACf,CAA8B;KAClC;CACF,CAAC,CAAA;AAeF,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,iBAAiB,GACI;IACrB,0EAA0E;IAC1E,0EAA0E;IAC1E,mDAAmD;IACnD,MAAM,aAAa,GAAG,MAAM,CAAa;QACvC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,QAAQ;QACtC,yEAAyE;QACzE,8CAA8C;QAC9C,QAAQ,EAAE,GAAG,EAAE,CACb,CAAC;YACC,IAAI,EAAE,WAAW,IAAI,QAAQ;YAC7B,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;YACjB,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;SACf,CAA8B;KAClC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAA;IAClD,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9B,QAAQ,CAAC,OAAO,GAAG,kBAAkB,CAAC;YACpC,MAAM;YACN,MAAM;YACN,iBAAiB;YACjB,IAAI,EAAE;gBACJ,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC9C,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE;aACjD;SACF,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAA;IAErC,2EAA2E;IAC3E,4DAA4D;IAC5D,MAAM,gBAAgB,GAAG,WAAW,CAClC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC,EAC/C,CAAC,YAAY,CAAC,CACf,CAAA;IAED,OAAO,CACL,KAAC,YAAY,IAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,YACpE,KAAC,iBAAiB,IAChB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,aAAa,EACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,YAEnC,QAAQ,GACS,GACP,CAChB,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,MAAM,EACN,MAAM,EACN,iBAAiB,GAQlB;IACC,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;IAE5B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAmB,EAAE;QAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QAClE,MAAM,GAAG,GAAwB;YAC/B,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,OAAO;YACP,QAAQ,EAAE;gBACR,MAAM,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aACnD;YACD,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;SACf,CAAA;QACD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACtF,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,GAAqB,CAAA;IAC9B,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IAE3B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAA;IAE9B,0EAA0E;IAC1E,sEAAsE;IACtE,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAA;IAClD,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAA;IACzD,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;IAE7D,WAAW,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,IAAI,KAAK,CAAC,gBAAgB;YAAE,OAAM;QAClC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,KAAK,CAAC,cAAc,EAAE,CAAA;YACtB,MAAM,CAAC,MAAM,EAAE,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAC5E,gDAAgD;IAChD,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;IAE7D,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAEvF,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,OAAO,EAAE,YAAY,CAAC,UAAU;QAChC,SAAS,EAAE,MAAM;KAClB,CAAC,EACF,CAAC,YAAY,EAAE,MAAM,CAAC,CACvB,CAAA;IAED,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACtC,KAAC,sBAAsB,IAAC,KAAK,EAAE,aAAa,YAAG,QAAQ,GAA0B,GACzD,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,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAE/B,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAA;IAE5F,OAAO,CACL,KAAC,YAAY,IAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,YACpE,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,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAE/B,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,QAAQ,GAAG,WAAW,CAAC,GAAmB,EAAE;QAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,OAAQ,CAAC,CAAA;QAC7D,MAAM,GAAG,GAAwB;YAC/B,IAAI,EAAE,OAAO,CAAC,OAAO;YACrB,OAAO;YACP,QAAQ,EAAE;gBACR,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;gBACjD,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aACnD;YACD,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;SACf,CAAA;QACD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACtF,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,GAAqB,CAAA;IAC9B,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IAE3B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAA;IAE9B,MAAM,SAAS,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAA;IACpD,IACE,SAAS,CAAC,OAAO,KAAK,IAAI;QAC1B,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;QAC3B,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI;QAC/B,SAAS,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EACjC,CAAC;QACD,SAAS,CAAC,OAAO,GAAG;YAClB,EAAE;YACF,IAAI;YACJ,KAAK;YACL,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO;YAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE;SACtC,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAA;IAEhC,yEAAyE;IACzE,uCAAuC;IACvC,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IAEzE,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,EACF,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CACzC,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;IACD,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAErC,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACvD,uBAAuB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAC/C,CAAA;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAElD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QAC3D,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,EACF,CAAC,UAAU,EAAE,QAAQ,CAAC,CACvB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IACvB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;AACzD,CAAC;AAED;;;;;GAKG;AACH,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,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAClD,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,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAA;IAEhD,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACvE,MAAM,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACvF,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAElD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,QAAQ;QACR,SAAS;QACT,cAAc,EAAE,cAA4C;QAC5D,MAAM,EAAE,MAA6C;KACtD,CAAC,EACF,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAC9C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,UAAU,CAAC,sBAAsB,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAA;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,YAAY,IAAI,sBAAsB,CAAC,CAAC,KAAK,CAAA;IAEjE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7E,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAA0B;YACvC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;SAC5D,CAAA;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAkB;IACnD,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,YAAY,IAAI,sBAAsB,CAAC,CAAC,KAAK,CAAA;IAEjE,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,SAAS,IAAI,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,eAAe,CAAA;QAClF,OAAO,uBAAuB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,GAAG,CAAC,YAAY,CAAA;AACzB,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,YAAY,EAAE,SAAS,EAAE,GAAG,GAAG,CAAA;IAEvC,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,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;QACjE,OAAO,GAAG,EAAE;YACV,qEAAqE;YACrE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;QACrE,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,YAAY;QACZ,SAAS;KACV,CAAC,CAAA;AACJ,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,YAAY,EAAE,GAAG,GAAG,CAAA;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,KAAK,CAAC,OAAQ,CAAA;QACzB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC;YACjD,EAAE;YACF,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;SAClC,CAAC,CAAA;QACF,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9D,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,GAAM,EACN,MAA+B;IAE/B,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAA4B,CAAC,CAAA;AAClF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ 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, useCommandStore, useProvideCommandContext, useSurfaceCommands, } from "./context.js";
|
|
9
|
+
export { CommandProvider, CommandSurfaceProvider, useActiveCommandSurface, useBuildCommandContext, useCommandContext, useCommandGroup, useCommandRegistry, useCommandSequenceState, useCommandStore, useCommandSurfaceId, useProvideCommandContext, useProvideCommandContextKey, useSurfaceCommands, } from "./context.js";
|
|
10
10
|
export { ROOT_SURFACE_ID, createCommandStore, selectActiveModalSurface, selectGroups, selectSequence, selectSurfaceCommandMap, selectSurfaceCommands, } from "./command-store.js";
|
|
11
11
|
export type { CommandStore, CommandStoreConfig, CommandStoreContext, CommandStoreInstance, ContextGetter, CreateCommandStoreOptions, KeyDispatchResult, SurfaceRecord, } from "./command-store.js";
|
|
12
12
|
export type { CommandProviderProps, CommandSurfaceProviderProps } from "./context.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,sBAAsB,GACvB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC5E,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAA;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,sBAAsB,GACvB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC5E,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAA;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ export { ModeProvider, useMode, useSetMode } from "./mode.js";
|
|
|
2
2
|
export { parseHotkey } from "./parse.js";
|
|
3
3
|
export { matchStep } from "./match.js";
|
|
4
4
|
export { DEFAULT_SEQUENCE_TIMEOUT_MS, SequenceTracker } from "./sequence.js";
|
|
5
|
-
export { CommandProvider, CommandSurfaceProvider, useActiveCommandSurface, useCommandContext, useCommandGroup, useCommandRegistry, useCommandSequenceState, useCommandStore, useProvideCommandContext, useSurfaceCommands, } from "./context.js";
|
|
5
|
+
export { CommandProvider, CommandSurfaceProvider, useActiveCommandSurface, useBuildCommandContext, useCommandContext, useCommandGroup, useCommandRegistry, useCommandSequenceState, useCommandStore, useCommandSurfaceId, useProvideCommandContext, useProvideCommandContextKey, useSurfaceCommands, } from "./context.js";
|
|
6
6
|
export { ROOT_SURFACE_ID, createCommandStore, selectActiveModalSurface, selectGroups, selectSequence, selectSurfaceCommandMap, selectSurfaceCommands, } from "./command-store.js";
|
|
7
7
|
export { useCommand } from "./use-command.js";
|
|
8
8
|
export { useActions } from "./use-actions.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAM5E,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAY3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAM5E,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAY3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/use-command.d.ts
CHANGED
|
@@ -11,6 +11,12 @@ export interface UseCommandOptions {
|
|
|
11
11
|
icon?: string;
|
|
12
12
|
when?: CommandWhen;
|
|
13
13
|
hidden?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Register the command (default true). `false` unregisters it entirely — it
|
|
16
|
+
* cannot be invoked and never appears in the palette or which-key. Use this
|
|
17
|
+
* for genuinely disabled features; use `when` for context-dependent ones.
|
|
18
|
+
*/
|
|
19
|
+
enabled?: boolean;
|
|
14
20
|
}
|
|
15
21
|
export declare function useCommand(options: UseCommandOptions): void;
|
|
16
22
|
//# sourceMappingURL=use-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-command.d.ts","sourceRoot":"","sources":["../src/use-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGrC,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"use-command.d.ts","sourceRoot":"","sources":["../src/use-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGrC,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CA0C3D"}
|
package/dist/use-command.js
CHANGED
|
@@ -11,6 +11,8 @@ export function useCommand(options) {
|
|
|
11
11
|
// register and observe commands, e.g. the command palette provider).
|
|
12
12
|
const modesKey = options.modes?.join("|") ?? "";
|
|
13
13
|
useEffect(() => {
|
|
14
|
+
if (options.enabled === false)
|
|
15
|
+
return;
|
|
14
16
|
const command = {
|
|
15
17
|
id: options.id,
|
|
16
18
|
title: options.title,
|
|
@@ -35,6 +37,7 @@ export function useCommand(options) {
|
|
|
35
37
|
options.group,
|
|
36
38
|
options.icon,
|
|
37
39
|
options.hidden,
|
|
40
|
+
options.enabled,
|
|
38
41
|
registry,
|
|
39
42
|
]);
|
|
40
43
|
}
|
package/dist/use-command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-command.js","sourceRoot":"","sources":["../src/use-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"use-command.js","sourceRoot":"","sources":["../src/use-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAqBjD,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAA;IAE5B,wEAAwE;IACxE,4EAA4E;IAC5E,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;YAAE,OAAM;QAErC,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,CAAC,GAAG,IAAoC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YACzF,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,uEAAuE;YACvE,8DAA8D;YAC9D,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YAClF,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAA;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC,EAAE;QACD,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK;QACb,OAAO,CAAC,MAAM;QACd,QAAQ;QACR,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,KAAK;QACb,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,OAAO;QACf,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tooee/commands",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Vim-inspired modal command system for Tooee",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -40,15 +40,15 @@
|
|
|
40
40
|
"@xstate/store-react": "^2"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@opentui/core": "^0.
|
|
44
|
-
"@opentui/react": "^0.
|
|
43
|
+
"@opentui/core": "^0.4.3",
|
|
44
|
+
"@opentui/react": "^0.4.3",
|
|
45
45
|
"@types/bun": "^1.3.10",
|
|
46
46
|
"@types/react": "^19.2.14",
|
|
47
47
|
"typescript": "^5.9.3"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@opentui/core": "^0.
|
|
51
|
-
"@opentui/react": "^0.
|
|
50
|
+
"@opentui/core": "^0.4.3",
|
|
51
|
+
"@opentui/react": "^0.4.3",
|
|
52
52
|
"react": "^18.0.0 || ^19.0.0"
|
|
53
53
|
}
|
|
54
54
|
}
|
package/src/context.tsx
CHANGED
|
@@ -371,6 +371,20 @@ export function useCommandContext(): { commands: Command[]; invoke: (id: string)
|
|
|
371
371
|
)
|
|
372
372
|
}
|
|
373
373
|
|
|
374
|
+
/**
|
|
375
|
+
* Builds the live command context of the nearest surface — the same value
|
|
376
|
+
* command handlers receive. For callers that must hand a context to something
|
|
377
|
+
* outside the dispatch path (e.g. a context-menu entry resolver).
|
|
378
|
+
*/
|
|
379
|
+
export function useBuildCommandContext(): () => CommandContext {
|
|
380
|
+
const ctx = useContext(CommandContext)
|
|
381
|
+
if (!ctx) {
|
|
382
|
+
throw new Error("useBuildCommandContext must be used within a CommandProvider")
|
|
383
|
+
}
|
|
384
|
+
const { surface } = ctx
|
|
385
|
+
return useCallback(() => surface.buildCtx(), [surface])
|
|
386
|
+
}
|
|
387
|
+
|
|
374
388
|
/**
|
|
375
389
|
* Internal: the stable registry facade for the nearest surface, without
|
|
376
390
|
* subscribing to store changes. Registration hooks (useCommand/useActions)
|
|
@@ -413,6 +427,20 @@ export function useCommandSequenceState(): CommandSequenceState | null {
|
|
|
413
427
|
return useContext(CommandSequenceContext)
|
|
414
428
|
}
|
|
415
429
|
|
|
430
|
+
/**
|
|
431
|
+
* Id of the command surface this subtree registers commands to: the nearest
|
|
432
|
+
* enclosing `CommandSurfaceProvider`'s id, or `ROOT_SURFACE_ID` at the app
|
|
433
|
+
* root. Compare against `useActiveCommandSurface()` to tell whether another
|
|
434
|
+
* modal surface currently owns keyboard input above this subtree.
|
|
435
|
+
*/
|
|
436
|
+
export function useCommandSurfaceId(): string {
|
|
437
|
+
const ctx = useContext(CommandContext)
|
|
438
|
+
if (!ctx) {
|
|
439
|
+
throw new Error("useCommandSurfaceId must be used within a CommandProvider")
|
|
440
|
+
}
|
|
441
|
+
return ctx.surface.id
|
|
442
|
+
}
|
|
443
|
+
|
|
416
444
|
/**
|
|
417
445
|
* Metadata for the topmost modal command surface, or null when the root app is
|
|
418
446
|
* the active surface. Intended for which-key/help to read shortcuts from the
|
|
@@ -529,3 +557,10 @@ export function useProvideCommandContext(getter: () => Partial<CommandContext>):
|
|
|
529
557
|
}
|
|
530
558
|
}, [commandStore])
|
|
531
559
|
}
|
|
560
|
+
|
|
561
|
+
export function useProvideCommandContextKey<K extends keyof CommandContext>(
|
|
562
|
+
key: K,
|
|
563
|
+
getter: () => CommandContext[K],
|
|
564
|
+
): void {
|
|
565
|
+
useProvideCommandContext(() => ({ [key]: getter() }) as Pick<CommandContext, K>)
|
|
566
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -29,12 +29,15 @@ export {
|
|
|
29
29
|
CommandProvider,
|
|
30
30
|
CommandSurfaceProvider,
|
|
31
31
|
useActiveCommandSurface,
|
|
32
|
+
useBuildCommandContext,
|
|
32
33
|
useCommandContext,
|
|
33
34
|
useCommandGroup,
|
|
34
35
|
useCommandRegistry,
|
|
35
36
|
useCommandSequenceState,
|
|
36
37
|
useCommandStore,
|
|
38
|
+
useCommandSurfaceId,
|
|
37
39
|
useProvideCommandContext,
|
|
40
|
+
useProvideCommandContextKey,
|
|
38
41
|
useSurfaceCommands,
|
|
39
42
|
} from "./context.js"
|
|
40
43
|
export {
|
package/src/use-command.ts
CHANGED
|
@@ -14,6 +14,12 @@ export interface UseCommandOptions {
|
|
|
14
14
|
icon?: string
|
|
15
15
|
when?: CommandWhen
|
|
16
16
|
hidden?: boolean
|
|
17
|
+
/**
|
|
18
|
+
* Register the command (default true). `false` unregisters it entirely — it
|
|
19
|
+
* cannot be invoked and never appears in the palette or which-key. Use this
|
|
20
|
+
* for genuinely disabled features; use `when` for context-dependent ones.
|
|
21
|
+
*/
|
|
22
|
+
enabled?: boolean
|
|
17
23
|
}
|
|
18
24
|
|
|
19
25
|
export function useCommand(options: UseCommandOptions): void {
|
|
@@ -29,6 +35,8 @@ export function useCommand(options: UseCommandOptions): void {
|
|
|
29
35
|
const modesKey = options.modes?.join("|") ?? ""
|
|
30
36
|
|
|
31
37
|
useEffect(() => {
|
|
38
|
+
if (options.enabled === false) return
|
|
39
|
+
|
|
32
40
|
const command: Command = {
|
|
33
41
|
id: options.id,
|
|
34
42
|
title: options.title,
|
|
@@ -53,6 +61,7 @@ export function useCommand(options: UseCommandOptions): void {
|
|
|
53
61
|
options.group,
|
|
54
62
|
options.icon,
|
|
55
63
|
options.hidden,
|
|
64
|
+
options.enabled,
|
|
56
65
|
registry,
|
|
57
66
|
])
|
|
58
67
|
}
|