@opentui/keymap 0.2.1 → 0.2.2
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 +10 -0
- package/package.json +30 -20
- package/{addons → src/addons}/index.js +310 -61
- package/{addons → src/addons}/opentui/index.js +347 -98
- package/src/addons/universal/binding-overrides.d.ts +6 -0
- package/src/addons/universal/index.d.ts +1 -0
- package/src/extras/binding-sections.d.ts +18 -0
- package/src/extras/command-bindings.d.ts +19 -0
- package/src/extras/formatting.d.ts +24 -0
- package/src/extras/index.d.ts +6 -0
- package/src/extras/index.js +226 -0
- package/{html.js → src/html.js} +259 -59
- package/src/index.d.ts +1 -1
- package/{index.js → src/index.js} +259 -59
- package/src/keymap.d.ts +7 -3
- package/{opentui.js → src/opentui.js} +259 -59
- package/src/runtime-modules.d.ts +18 -0
- package/src/runtime-modules.js +23 -0
- package/src/services/command-catalog.d.ts +12 -4
- package/src/services/command-executor.d.ts +1 -1
- package/src/services/compiler.d.ts +3 -1
- package/src/services/environment.d.ts +4 -1
- package/src/services/layers.d.ts +1 -0
- package/src/services/primitives/binding-inputs.d.ts +2 -2
- package/src/services/primitives/command-normalization.d.ts +3 -0
- package/src/services/state.d.ts +2 -1
- package/src/types.d.ts +18 -2
- /package/{react → src/react}/index.js +0 -0
- /package/{solid → src/solid}/index.js +0 -0
package/src/types.d.ts
CHANGED
|
@@ -91,6 +91,7 @@ export interface KeySequencePart {
|
|
|
91
91
|
}
|
|
92
92
|
export interface StringifyOptions {
|
|
93
93
|
preferDisplay?: boolean;
|
|
94
|
+
separator?: string;
|
|
94
95
|
}
|
|
95
96
|
export type KeyStringifyInput = KeyStrokeInput | NormalizedKeyStroke | KeySequencePart | {
|
|
96
97
|
stroke: NormalizedKeyStroke;
|
|
@@ -116,6 +117,11 @@ export interface CommandQuery<TTarget extends object = object> {
|
|
|
116
117
|
searchIn?: readonly string[];
|
|
117
118
|
filter?: CommandFilter;
|
|
118
119
|
}
|
|
120
|
+
export interface CommandBindingsQuery<TTarget extends object = object> {
|
|
121
|
+
visibility?: "reachable" | "active" | "registered";
|
|
122
|
+
focused?: TTarget | null;
|
|
123
|
+
commands: readonly string[];
|
|
124
|
+
}
|
|
119
125
|
export interface RunCommandOptions<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {
|
|
120
126
|
event?: TEvent;
|
|
121
127
|
focused?: TTarget | null;
|
|
@@ -167,8 +173,7 @@ export interface BindingInput<TTarget extends object = object, TEvent extends Ke
|
|
|
167
173
|
fallthrough?: boolean;
|
|
168
174
|
[key: string]: unknown;
|
|
169
175
|
}
|
|
170
|
-
export type
|
|
171
|
-
export type Bindings<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = BindingInput<TTarget, TEvent>[] | BindingShorthand<TTarget, TEvent>;
|
|
176
|
+
export type Bindings<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = readonly BindingInput<TTarget, TEvent>[];
|
|
172
177
|
export type TargetMode = "focus" | "focus-within";
|
|
173
178
|
export interface LayerFields<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {
|
|
174
179
|
priority?: number;
|
|
@@ -362,6 +367,17 @@ export interface BindingTransformerContext<TTarget extends object = object, TEve
|
|
|
362
367
|
skipOriginal(): void;
|
|
363
368
|
}
|
|
364
369
|
export type BindingTransformer<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = (binding: ParsedBindingInput<TTarget, TEvent>, ctx: BindingTransformerContext<TTarget, TEvent>) => void;
|
|
370
|
+
export type BindingInputsValidationResult = {
|
|
371
|
+
ok: true;
|
|
372
|
+
} | {
|
|
373
|
+
ok: false;
|
|
374
|
+
reason: string;
|
|
375
|
+
};
|
|
376
|
+
export interface LayerBindingsTransformerContext<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> {
|
|
377
|
+
layer: Readonly<Layer<TTarget, TEvent>>;
|
|
378
|
+
validateBindings(bindings: unknown): BindingInputsValidationResult;
|
|
379
|
+
}
|
|
380
|
+
export type LayerBindingsTransformer<TTarget extends object = object, TEvent extends KeymapEvent = KeymapEvent> = (bindings: readonly BindingInput<TTarget, TEvent>[], ctx: LayerBindingsTransformerContext<TTarget, TEvent>) => readonly BindingInput<TTarget, TEvent>[] | void;
|
|
365
381
|
export interface CommandFieldContext {
|
|
366
382
|
require(name: string, value: unknown): void;
|
|
367
383
|
attr(name: string, value: unknown): void;
|
|
File without changes
|
|
File without changes
|