@flyingrobots/bijou-tui 5.0.0 → 7.1.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 +152 -1
- package/dist/animate.d.ts +4 -0
- package/dist/animate.d.ts.map +1 -1
- package/dist/animate.js +47 -20
- package/dist/animate.js.map +1 -1
- package/dist/app-frame-actions.d.ts.map +1 -1
- package/dist/app-frame-actions.js +56 -1
- package/dist/app-frame-actions.js.map +1 -1
- package/dist/app-frame-i18n.d.ts.map +1 -1
- package/dist/app-frame-i18n.js +3 -1
- package/dist/app-frame-i18n.js.map +1 -1
- package/dist/app-frame-overlays.d.ts +16 -1
- package/dist/app-frame-overlays.d.ts.map +1 -1
- package/dist/app-frame-overlays.js +63 -1
- package/dist/app-frame-overlays.js.map +1 -1
- package/dist/app-frame-palette.d.ts.map +1 -1
- package/dist/app-frame-palette.js +36 -16
- package/dist/app-frame-palette.js.map +1 -1
- package/dist/app-frame-render.d.ts.map +1 -1
- package/dist/app-frame-render.js +14 -5
- package/dist/app-frame-render.js.map +1 -1
- package/dist/app-frame-types.d.ts +22 -0
- package/dist/app-frame-types.d.ts.map +1 -1
- package/dist/app-frame-types.js.map +1 -1
- package/dist/app-frame-utils.d.ts +3 -1
- package/dist/app-frame-utils.d.ts.map +1 -1
- package/dist/app-frame-utils.js +5 -0
- package/dist/app-frame-utils.js.map +1 -1
- package/dist/app-frame.d.ts +68 -6
- package/dist/app-frame.d.ts.map +1 -1
- package/dist/app-frame.js +121 -17
- package/dist/app-frame.js.map +1 -1
- package/dist/canvas.d.ts +11 -3
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +122 -9
- package/dist/canvas.js.map +1 -1
- package/dist/cell-glyph-fit.d.ts +20 -0
- package/dist/cell-glyph-fit.d.ts.map +1 -0
- package/dist/cell-glyph-fit.js +82 -0
- package/dist/cell-glyph-fit.js.map +1 -0
- package/dist/command-palette.d.ts +2 -0
- package/dist/command-palette.d.ts.map +1 -1
- package/dist/command-palette.js +36 -19
- package/dist/command-palette.js.map +1 -1
- package/dist/eventbus.d.ts +20 -0
- package/dist/eventbus.d.ts.map +1 -1
- package/dist/eventbus.js +47 -0
- package/dist/eventbus.js.map +1 -1
- package/dist/file-picker.d.ts +4 -0
- package/dist/file-picker.d.ts.map +1 -1
- package/dist/file-picker.js +9 -1
- package/dist/file-picker.js.map +1 -1
- package/dist/focus-area.d.ts +6 -5
- package/dist/focus-area.d.ts.map +1 -1
- package/dist/focus-area.js +6 -5
- package/dist/focus-area.js.map +1 -1
- package/dist/focus-map.d.ts +40 -0
- package/dist/focus-map.d.ts.map +1 -0
- package/dist/focus-map.js +133 -0
- package/dist/focus-map.js.map +1 -0
- package/dist/index.d.ts +22 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -2
- package/dist/index.js.map +1 -1
- package/dist/input-map.d.ts +68 -0
- package/dist/input-map.d.ts.map +1 -0
- package/dist/input-map.js +162 -0
- package/dist/input-map.js.map +1 -0
- package/dist/input-routing-inspector.d.ts +24 -0
- package/dist/input-routing-inspector.d.ts.map +1 -0
- package/dist/input-routing-inspector.js +76 -0
- package/dist/input-routing-inspector.js.map +1 -0
- package/dist/keybindings.d.ts.map +1 -1
- package/dist/keybindings.js +3 -0
- package/dist/keybindings.js.map +1 -1
- package/dist/layout-inspector.d.ts +31 -0
- package/dist/layout-inspector.d.ts.map +1 -0
- package/dist/layout-inspector.js +133 -0
- package/dist/layout-inspector.js.map +1 -0
- package/dist/notification.d.ts.map +1 -1
- package/dist/notification.js +38 -5
- package/dist/notification.js.map +1 -1
- package/dist/pipeline/middleware/motion.d.ts.map +1 -1
- package/dist/pipeline/middleware/motion.js +2 -1
- package/dist/pipeline/middleware/motion.js.map +1 -1
- package/dist/pipeline/middleware/paint.d.ts.map +1 -1
- package/dist/pipeline/middleware/paint.js +2 -1
- package/dist/pipeline/middleware/paint.js.map +1 -1
- package/dist/pipeline/pipeline.d.ts +8 -1
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +43 -7
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/raster-glyph.d.ts +45 -0
- package/dist/raster-glyph.d.ts.map +1 -0
- package/dist/raster-glyph.js +405 -0
- package/dist/raster-glyph.js.map +1 -0
- package/dist/raytrace.d.ts +59 -0
- package/dist/raytrace.d.ts.map +1 -0
- package/dist/raytrace.js +121 -0
- package/dist/raytrace.js.map +1 -0
- package/dist/runtime-binding.d.ts +59 -0
- package/dist/runtime-binding.d.ts.map +1 -0
- package/dist/runtime-binding.js +271 -0
- package/dist/runtime-binding.js.map +1 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +51 -6
- package/dist/runtime.js.map +1 -1
- package/dist/shell-quit.js +1 -1
- package/dist/shell-quit.js.map +1 -1
- package/dist/surface-budget.d.ts +27 -0
- package/dist/surface-budget.d.ts.map +1 -0
- package/dist/surface-budget.js +61 -0
- package/dist/surface-budget.js.map +1 -0
- package/dist/surface-diff.d.ts +36 -0
- package/dist/surface-diff.d.ts.map +1 -0
- package/dist/surface-diff.js +202 -0
- package/dist/surface-diff.js.map +1 -0
- package/dist/surface-layout.d.ts +11 -0
- package/dist/surface-layout.d.ts.map +1 -1
- package/dist/surface-layout.js +16 -1
- package/dist/surface-layout.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input feature events and semantic action maps.
|
|
3
|
+
*
|
|
4
|
+
* This module sits above raw terminal input parsing and below app/frame
|
|
5
|
+
* reducers. It lets shells bind actions to semantic input feature events such
|
|
6
|
+
* as "keyboard.tab double-tap" without hard-coding gesture state into a single
|
|
7
|
+
* component.
|
|
8
|
+
*/
|
|
9
|
+
export const DEFAULT_DOUBLE_TAP_MS = 300;
|
|
10
|
+
export const KEYBOARD_INPUT_DEVICE_ID = 'keyboard';
|
|
11
|
+
export function defineInputDevice(device) {
|
|
12
|
+
return freezePlain({
|
|
13
|
+
...device,
|
|
14
|
+
id: normalizeId(device.id, 'input device id'),
|
|
15
|
+
kind: normalizeId(device.kind, 'input device kind'),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export function defineInputFeature(feature) {
|
|
19
|
+
return freezePlain({
|
|
20
|
+
...feature,
|
|
21
|
+
deviceId: normalizeId(feature.deviceId, 'input feature device id'),
|
|
22
|
+
id: normalizeId(feature.id, 'input feature id'),
|
|
23
|
+
kind: normalizeId(feature.kind, 'input feature kind'),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export function keyboardFeature(key) {
|
|
27
|
+
const normalizedKey = normalizeId(key, 'keyboard feature key');
|
|
28
|
+
return defineInputFeature({
|
|
29
|
+
deviceId: KEYBOARD_INPUT_DEVICE_ID,
|
|
30
|
+
id: `key.${normalizedKey}`,
|
|
31
|
+
kind: 'key',
|
|
32
|
+
label: normalizedKey,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export function keyboardModifierFeature(modifier) {
|
|
36
|
+
return defineInputFeature({
|
|
37
|
+
deviceId: KEYBOARD_INPUT_DEVICE_ID,
|
|
38
|
+
id: `modifier.${modifier}`,
|
|
39
|
+
kind: 'modifier',
|
|
40
|
+
label: modifier,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
export function inputFeatureEvent(feature, type, atMs) {
|
|
44
|
+
return freezePlain({
|
|
45
|
+
feature,
|
|
46
|
+
type: normalizeId(type, 'input feature event type'),
|
|
47
|
+
atMs: normalizeTimestamp(atMs),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
export function createInputGestureRecognizer(options = {}) {
|
|
51
|
+
const device = defineInputDevice(options.device ?? {
|
|
52
|
+
id: KEYBOARD_INPUT_DEVICE_ID,
|
|
53
|
+
kind: 'keyboard',
|
|
54
|
+
label: 'Keyboard',
|
|
55
|
+
});
|
|
56
|
+
const doubleTapMs = normalizePositiveDuration(options.doubleTapMs, DEFAULT_DOUBLE_TAP_MS);
|
|
57
|
+
let lastTap;
|
|
58
|
+
return {
|
|
59
|
+
observeKey(msg, atMs) {
|
|
60
|
+
const timestamp = normalizeTimestamp(atMs);
|
|
61
|
+
const featureEvents = [];
|
|
62
|
+
if (msg.ctrl) {
|
|
63
|
+
featureEvents.push(inputFeatureEvent(keyboardModifierFeature('ctrl'), 'held', timestamp));
|
|
64
|
+
}
|
|
65
|
+
if (msg.alt) {
|
|
66
|
+
featureEvents.push(inputFeatureEvent(keyboardModifierFeature('alt'), 'held', timestamp));
|
|
67
|
+
}
|
|
68
|
+
if (msg.shift) {
|
|
69
|
+
featureEvents.push(inputFeatureEvent(keyboardModifierFeature('shift'), 'held', timestamp));
|
|
70
|
+
}
|
|
71
|
+
const keyFeature = keyboardFeature(msg.key);
|
|
72
|
+
featureEvents.push(inputFeatureEvent(keyFeature, 'press', timestamp));
|
|
73
|
+
featureEvents.push(inputFeatureEvent(keyFeature, 'tap', timestamp));
|
|
74
|
+
const signature = keySignature(msg);
|
|
75
|
+
const isDoubleTap = lastTap != null
|
|
76
|
+
&& lastTap.signature === signature
|
|
77
|
+
&& timestamp - lastTap.atMs <= doubleTapMs;
|
|
78
|
+
if (isDoubleTap) {
|
|
79
|
+
featureEvents.push(inputFeatureEvent(keyFeature, 'double-tap', timestamp));
|
|
80
|
+
lastTap = undefined;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
lastTap = { signature, atMs: timestamp };
|
|
84
|
+
}
|
|
85
|
+
return freezePlain({
|
|
86
|
+
device,
|
|
87
|
+
featureEvents: Object.freeze(featureEvents),
|
|
88
|
+
atMs: timestamp,
|
|
89
|
+
});
|
|
90
|
+
},
|
|
91
|
+
reset() {
|
|
92
|
+
lastTap = undefined;
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
export function createInputActionMap() {
|
|
97
|
+
const bindings = [];
|
|
98
|
+
return {
|
|
99
|
+
bind(id, description, featureEvents, action) {
|
|
100
|
+
const normalizedFeatureEvents = featureEvents.map((featureEvent) => freezePlain({
|
|
101
|
+
...featureEvent,
|
|
102
|
+
featureId: normalizeId(featureEvent.featureId, 'input action feature id'),
|
|
103
|
+
type: normalizeId(featureEvent.type, 'input action event type'),
|
|
104
|
+
deviceId: featureEvent.deviceId != null
|
|
105
|
+
? normalizeId(featureEvent.deviceId, 'input action device id')
|
|
106
|
+
: undefined,
|
|
107
|
+
}));
|
|
108
|
+
bindings.push(freezePlain({
|
|
109
|
+
id: normalizeId(id, 'input action id'),
|
|
110
|
+
description,
|
|
111
|
+
featureEvents: Object.freeze(normalizedFeatureEvents),
|
|
112
|
+
action,
|
|
113
|
+
enabled: true,
|
|
114
|
+
}));
|
|
115
|
+
return this;
|
|
116
|
+
},
|
|
117
|
+
handle(event) {
|
|
118
|
+
return bindings.find((binding) => binding.enabled && inputEventMatches(event, binding.featureEvents))?.action;
|
|
119
|
+
},
|
|
120
|
+
bindings() {
|
|
121
|
+
return Object.freeze([...bindings]);
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export function inputEventMatches(event, patterns) {
|
|
126
|
+
return patterns.every((pattern) => event.featureEvents.some((featureEvent) => featureEvent.type === pattern.type
|
|
127
|
+
&& featureEvent.feature.id === pattern.featureId
|
|
128
|
+
&& (pattern.deviceId == null || featureEvent.feature.deviceId === pattern.deviceId)));
|
|
129
|
+
}
|
|
130
|
+
function keySignature(msg) {
|
|
131
|
+
return [
|
|
132
|
+
msg.ctrl ? 'ctrl' : '',
|
|
133
|
+
msg.alt ? 'alt' : '',
|
|
134
|
+
msg.shift ? 'shift' : '',
|
|
135
|
+
msg.key,
|
|
136
|
+
].join('|');
|
|
137
|
+
}
|
|
138
|
+
function normalizeId(value, label) {
|
|
139
|
+
const normalized = value.trim();
|
|
140
|
+
if (normalized === '') {
|
|
141
|
+
throw new Error(`${label} is required`);
|
|
142
|
+
}
|
|
143
|
+
return normalized;
|
|
144
|
+
}
|
|
145
|
+
function normalizeTimestamp(value) {
|
|
146
|
+
if (!Number.isFinite(value)) {
|
|
147
|
+
throw new Error('input event timestamp must be finite');
|
|
148
|
+
}
|
|
149
|
+
return value;
|
|
150
|
+
}
|
|
151
|
+
function normalizePositiveDuration(value, fallback) {
|
|
152
|
+
if (value == null)
|
|
153
|
+
return fallback;
|
|
154
|
+
if (!Number.isFinite(value) || value <= 0) {
|
|
155
|
+
throw new Error('input gesture doubleTapMs must be a positive finite number');
|
|
156
|
+
}
|
|
157
|
+
return value;
|
|
158
|
+
}
|
|
159
|
+
function freezePlain(value) {
|
|
160
|
+
return Object.freeze(value);
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=input-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-map.js","sourceRoot":"","sources":["../src/input-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type LayoutNode, type Surface } from '@flyingrobots/bijou';
|
|
2
|
+
import type { RuntimeInputEvent, RuntimeInputRouteResult } from './runtime-engine.js';
|
|
3
|
+
export interface InputRoutingInspectorRecord<Command = string, Effect = string, Node extends LayoutNode = LayoutNode> {
|
|
4
|
+
readonly rawInput?: string;
|
|
5
|
+
readonly atMs?: number;
|
|
6
|
+
readonly event: RuntimeInputEvent;
|
|
7
|
+
readonly result: RuntimeInputRouteResult<Command, Effect, Node>;
|
|
8
|
+
readonly commandLabels?: readonly string[];
|
|
9
|
+
readonly effectLabels?: readonly string[];
|
|
10
|
+
}
|
|
11
|
+
export interface InputRoutingInspectorHistory<Command = string, Effect = string, Node extends LayoutNode = LayoutNode> {
|
|
12
|
+
readonly records: readonly InputRoutingInspectorRecord<Command, Effect, Node>[];
|
|
13
|
+
}
|
|
14
|
+
export interface InputRoutingInspectorHistoryOptions {
|
|
15
|
+
readonly maxEvents?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface InputRoutingInspectorSurfaceOptions {
|
|
18
|
+
readonly width?: number;
|
|
19
|
+
readonly height?: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function appendInputRoutingRecord<Command = string, Effect = string, Node extends LayoutNode = LayoutNode>(history: InputRoutingInspectorHistory<Command, Effect, Node>, record: InputRoutingInspectorRecord<Command, Effect, Node>, options?: InputRoutingInspectorHistoryOptions): InputRoutingInspectorHistory<Command, Effect, Node>;
|
|
22
|
+
export declare function inputRoutingInspectorText(history: InputRoutingInspectorHistory): string;
|
|
23
|
+
export declare function inputRoutingInspectorSurface(history: InputRoutingInspectorHistory, options?: InputRoutingInspectorSurfaceOptions): Surface;
|
|
24
|
+
//# sourceMappingURL=input-routing-inspector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-routing-inspector.d.ts","sourceRoot":"","sources":["../src/input-routing-inspector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,2BAA2B,CAC1C,OAAO,GAAG,MAAM,EAChB,MAAM,GAAG,MAAM,EACf,IAAI,SAAS,UAAU,GAAG,UAAU;IAEpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAChE,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,4BAA4B,CAC3C,OAAO,GAAG,MAAM,EAChB,MAAM,GAAG,MAAM,EACf,IAAI,SAAS,UAAU,GAAG,UAAU;IAEpC,QAAQ,CAAC,OAAO,EAAE,SAAS,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;CACjF;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAWD,wBAAgB,wBAAwB,CACtC,OAAO,GAAG,MAAM,EAChB,MAAM,GAAG,MAAM,EACf,IAAI,SAAS,UAAU,GAAG,UAAU,EAEpC,OAAO,EAAE,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAC5D,MAAM,EAAE,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAC1D,OAAO,GAAE,mCAAwC,GAChD,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAOrD;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,4BAA4B,GACpC,MAAM,CAQR;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,4BAA4B,EACrC,OAAO,GAAE,mCAAwC,GAChD,OAAO,CAMT"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { stringToSurface } from '@flyingrobots/bijou';
|
|
2
|
+
const DEFAULT_MAX_EVENTS = 20;
|
|
3
|
+
const DEFAULT_SURFACE_WIDTH = 80;
|
|
4
|
+
const MIN_EVENT_COUNT = 1;
|
|
5
|
+
const MIN_SURFACE_WIDTH = 1;
|
|
6
|
+
const MIN_SURFACE_HEIGHT = 1;
|
|
7
|
+
const EMPTY_LABEL = '-';
|
|
8
|
+
const PATH_SEPARATOR = '>';
|
|
9
|
+
const LABEL_SEPARATOR = ',';
|
|
10
|
+
export function appendInputRoutingRecord(history, record, options = {}) {
|
|
11
|
+
const maxEvents = sanitizePositiveInteger(options.maxEvents, DEFAULT_MAX_EVENTS);
|
|
12
|
+
const records = [...history.records, record];
|
|
13
|
+
return {
|
|
14
|
+
records: records.slice(Math.max(0, records.length - maxEvents)),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export function inputRoutingInspectorText(history) {
|
|
18
|
+
const lines = [`input routing: ${history.records.length} events`];
|
|
19
|
+
history.records.forEach((record, index) => {
|
|
20
|
+
lines.push(inputRoutingRecordLine(record, index));
|
|
21
|
+
});
|
|
22
|
+
return lines.join('\n');
|
|
23
|
+
}
|
|
24
|
+
export function inputRoutingInspectorSurface(history, options = {}) {
|
|
25
|
+
const text = inputRoutingInspectorText(history);
|
|
26
|
+
const lineCount = text.split('\n').length;
|
|
27
|
+
const width = sanitizePositiveInteger(options.width, DEFAULT_SURFACE_WIDTH);
|
|
28
|
+
const height = sanitizePositiveInteger(options.height, Math.max(MIN_SURFACE_HEIGHT, lineCount));
|
|
29
|
+
return stringToSurface(text, Math.max(MIN_SURFACE_WIDTH, width), height);
|
|
30
|
+
}
|
|
31
|
+
function inputRoutingRecordLine(record, index) {
|
|
32
|
+
const result = record.result;
|
|
33
|
+
const swallowed = !result.handled && result.stoppedByViewId !== undefined;
|
|
34
|
+
const noop = result.handled && result.commands.length === 0 && result.effects.length === 0;
|
|
35
|
+
const raw = record.rawInput === undefined ? '' : ` raw=${record.rawInput}`;
|
|
36
|
+
const handledBy = result.handledByViewId ?? EMPTY_LABEL;
|
|
37
|
+
const stoppedBy = result.stoppedByViewId ?? EMPTY_LABEL;
|
|
38
|
+
const node = result.handledByNodeId ?? EMPTY_LABEL;
|
|
39
|
+
const hit = result.hit?.target.id ?? EMPTY_LABEL;
|
|
40
|
+
const visited = result.visitedViewIds.length === 0
|
|
41
|
+
? EMPTY_LABEL
|
|
42
|
+
: result.visitedViewIds.join(PATH_SEPARATOR);
|
|
43
|
+
return [
|
|
44
|
+
`[${index + 1}]`,
|
|
45
|
+
`${inputEventLabel(record.event)}${raw}`,
|
|
46
|
+
`handled=${String(result.handled)}`,
|
|
47
|
+
`visited=${visited}`,
|
|
48
|
+
`handledBy=${handledBy}`,
|
|
49
|
+
`stoppedBy=${stoppedBy}`,
|
|
50
|
+
`node=${node}`,
|
|
51
|
+
`hit=${hit}`,
|
|
52
|
+
`commands=${labelsOrCount(record.commandLabels, result.commands.length)}`,
|
|
53
|
+
`effects=${labelsOrCount(record.effectLabels, result.effects.length)}`,
|
|
54
|
+
`swallowed=${String(swallowed)}`,
|
|
55
|
+
`noop=${String(noop)}`,
|
|
56
|
+
].join(' ');
|
|
57
|
+
}
|
|
58
|
+
function inputEventLabel(event) {
|
|
59
|
+
if (event.kind === 'key') {
|
|
60
|
+
return `key ${event.key}`;
|
|
61
|
+
}
|
|
62
|
+
return `pointer ${event.action} ${event.button ?? EMPTY_LABEL} ${event.x},${event.y}`;
|
|
63
|
+
}
|
|
64
|
+
function labelsOrCount(labels, count) {
|
|
65
|
+
if (labels === undefined || labels.length === 0) {
|
|
66
|
+
return String(count);
|
|
67
|
+
}
|
|
68
|
+
return labels.join(LABEL_SEPARATOR);
|
|
69
|
+
}
|
|
70
|
+
function sanitizePositiveInteger(value, fallback) {
|
|
71
|
+
if (value === undefined || !Number.isFinite(value)) {
|
|
72
|
+
return fallback;
|
|
73
|
+
}
|
|
74
|
+
return Math.max(MIN_EVENT_COUNT, Math.floor(value));
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=input-routing-inspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-routing-inspector.js","sourceRoot":"","sources":["../src/input-routing-inspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../src/keybindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,iDAAiD;IACjD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,gDAAgD;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,gDAAgD;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7D;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE1E;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAEnC;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAEhE;;;;OAIG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;IAEjE;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;;;OAIG;IACH,QAAQ,IAAI,SAAS,WAAW,EAAE,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;CACnE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../src/keybindings.ts"],"names":[],"mappings":"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"}
|
package/dist/keybindings.js
CHANGED
|
@@ -33,6 +33,9 @@
|
|
|
33
33
|
* @throws {Error} If a modifier is duplicated, unknown, or the key part is empty.
|
|
34
34
|
*/
|
|
35
35
|
export function parseKeyCombo(descriptor) {
|
|
36
|
+
if (descriptor === '+') {
|
|
37
|
+
return { key: '+', ctrl: false, alt: false, shift: false };
|
|
38
|
+
}
|
|
36
39
|
// Lowercase the entire descriptor for consistency with parseKey(), which always
|
|
37
40
|
// returns lowercase key names (e.g., 'escape', 'enter', 'c' for Ctrl+C).
|
|
38
41
|
// Uppercase letter bindings should use 'shift+a' not 'A'.
|
package/dist/keybindings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keybindings.js","sourceRoot":"","sources":["../src/keybindings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keybindings.js","sourceRoot":"","sources":["../src/keybindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type Surface } from '@flyingrobots/bijou';
|
|
2
|
+
import { type LayoutRect } from './layout-rect.js';
|
|
3
|
+
export interface LayoutInspectorXYRect {
|
|
4
|
+
readonly x: number;
|
|
5
|
+
readonly y: number;
|
|
6
|
+
readonly width: number;
|
|
7
|
+
readonly height: number;
|
|
8
|
+
}
|
|
9
|
+
export type LayoutInspectorRect = LayoutInspectorXYRect | LayoutRect;
|
|
10
|
+
export interface LayoutInspectorScroll {
|
|
11
|
+
readonly x: number;
|
|
12
|
+
readonly y: number;
|
|
13
|
+
}
|
|
14
|
+
export interface LayoutInspectorRegion {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly role?: string;
|
|
17
|
+
readonly rect: LayoutInspectorRect;
|
|
18
|
+
readonly clip?: LayoutInspectorRect;
|
|
19
|
+
readonly scroll?: LayoutInspectorScroll;
|
|
20
|
+
readonly focused?: boolean;
|
|
21
|
+
readonly layer?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface LayoutInspectorOptions {
|
|
24
|
+
/** Draw region labels on the top border. Defaults to `true`. */
|
|
25
|
+
readonly showLabels?: boolean;
|
|
26
|
+
/** Maximum label width, before clipping to the visible region. */
|
|
27
|
+
readonly maxLabelWidth?: number;
|
|
28
|
+
}
|
|
29
|
+
export declare function layoutInspectorOverlay(background: Surface, regions: readonly LayoutInspectorRegion[], options?: LayoutInspectorOptions): Surface;
|
|
30
|
+
export declare function layoutInspectorText(regions: readonly LayoutInspectorRegion[]): string;
|
|
31
|
+
//# sourceMappingURL=layout-inspector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-inspector.d.ts","sourceRoot":"","sources":["../src/layout-inspector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAwBD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAST;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,GAAG,MAAM,CAKrF"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
const DEFAULT_MAX_LABEL_WIDTH = 32;
|
|
2
|
+
const MIN_VISIBLE_SIZE = 1;
|
|
3
|
+
const BORDER_TOP_LEFT = '+';
|
|
4
|
+
const BORDER_TOP_RIGHT = '+';
|
|
5
|
+
const BORDER_BOTTOM_LEFT = '+';
|
|
6
|
+
const BORDER_BOTTOM_RIGHT = '+';
|
|
7
|
+
const BORDER_HORIZONTAL = '-';
|
|
8
|
+
const BORDER_VERTICAL = '|';
|
|
9
|
+
const FOCUSED_PREFIX = '*';
|
|
10
|
+
const EMPTY_FIELD = '-';
|
|
11
|
+
const REGION_SEPARATOR = ' ';
|
|
12
|
+
const FIELD_SEPARATOR = '=';
|
|
13
|
+
const COORD_SEPARATOR = ',';
|
|
14
|
+
const SIZE_SEPARATOR = 'x';
|
|
15
|
+
export function layoutInspectorOverlay(background, regions, options = {}) {
|
|
16
|
+
const surface = background.clone();
|
|
17
|
+
const sortedRegions = [...regions].sort(compareRegions);
|
|
18
|
+
for (const region of sortedRegions) {
|
|
19
|
+
drawRegion(surface, region, options);
|
|
20
|
+
}
|
|
21
|
+
return surface;
|
|
22
|
+
}
|
|
23
|
+
export function layoutInspectorText(regions) {
|
|
24
|
+
return [...regions]
|
|
25
|
+
.sort(compareRegions)
|
|
26
|
+
.map(regionReportLine)
|
|
27
|
+
.join('\n');
|
|
28
|
+
}
|
|
29
|
+
function compareRegions(a, b) {
|
|
30
|
+
const layerDelta = (a.layer ?? 0) - (b.layer ?? 0);
|
|
31
|
+
if (layerDelta !== 0) {
|
|
32
|
+
return layerDelta;
|
|
33
|
+
}
|
|
34
|
+
return a.id.localeCompare(b.id);
|
|
35
|
+
}
|
|
36
|
+
function drawRegion(surface, region, options) {
|
|
37
|
+
const clipped = clipRect(region.rect, surface.width, surface.height);
|
|
38
|
+
if (clipped === undefined) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
drawBorder(surface, clipped);
|
|
42
|
+
if (options.showLabels === false) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
drawLabel(surface, clipped, region, options);
|
|
46
|
+
}
|
|
47
|
+
function clipRect(rect, width, height) {
|
|
48
|
+
const rectX = rectColumn(rect);
|
|
49
|
+
const rectY = rectRow(rect);
|
|
50
|
+
const left = Math.max(0, rectX);
|
|
51
|
+
const top = Math.max(0, rectY);
|
|
52
|
+
const right = Math.min(width, rectX + rect.width);
|
|
53
|
+
const bottom = Math.min(height, rectY + rect.height);
|
|
54
|
+
const clippedWidth = right - left;
|
|
55
|
+
const clippedHeight = bottom - top;
|
|
56
|
+
if (clippedWidth < MIN_VISIBLE_SIZE || clippedHeight < MIN_VISIBLE_SIZE) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
x: left,
|
|
61
|
+
y: top,
|
|
62
|
+
width: clippedWidth,
|
|
63
|
+
height: clippedHeight,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function drawBorder(surface, rect) {
|
|
67
|
+
const right = rect.x + rect.width - 1;
|
|
68
|
+
const bottom = rect.y + rect.height - 1;
|
|
69
|
+
for (let x = rect.x; x <= right; x++) {
|
|
70
|
+
writeChar(surface, x, rect.y, BORDER_HORIZONTAL);
|
|
71
|
+
writeChar(surface, x, bottom, BORDER_HORIZONTAL);
|
|
72
|
+
}
|
|
73
|
+
for (let y = rect.y; y <= bottom; y++) {
|
|
74
|
+
writeChar(surface, rect.x, y, BORDER_VERTICAL);
|
|
75
|
+
writeChar(surface, right, y, BORDER_VERTICAL);
|
|
76
|
+
}
|
|
77
|
+
writeChar(surface, rect.x, rect.y, BORDER_TOP_LEFT);
|
|
78
|
+
writeChar(surface, right, rect.y, BORDER_TOP_RIGHT);
|
|
79
|
+
writeChar(surface, rect.x, bottom, BORDER_BOTTOM_LEFT);
|
|
80
|
+
writeChar(surface, right, bottom, BORDER_BOTTOM_RIGHT);
|
|
81
|
+
}
|
|
82
|
+
function drawLabel(surface, rect, region, options) {
|
|
83
|
+
const writableWidth = Math.max(0, rect.width - 1);
|
|
84
|
+
if (writableWidth === 0) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const requestedMax = Math.floor(options.maxLabelWidth ?? DEFAULT_MAX_LABEL_WIDTH);
|
|
88
|
+
const maxLabelWidth = Math.max(0, Math.min(writableWidth, requestedMax));
|
|
89
|
+
const label = labelForRegion(region).slice(0, maxLabelWidth);
|
|
90
|
+
for (let index = 0; index < label.length; index++) {
|
|
91
|
+
writeChar(surface, rect.x + 1 + index, rect.y, label[index]);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function labelForRegion(region) {
|
|
95
|
+
return region.focused === true
|
|
96
|
+
? `${FOCUSED_PREFIX}${region.id}`
|
|
97
|
+
: region.id;
|
|
98
|
+
}
|
|
99
|
+
function writeChar(surface, x, y, char) {
|
|
100
|
+
const current = surface.get(x, y);
|
|
101
|
+
surface.set(x, y, {
|
|
102
|
+
...current,
|
|
103
|
+
char,
|
|
104
|
+
empty: false,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function regionReportLine(region) {
|
|
108
|
+
return [
|
|
109
|
+
region.id,
|
|
110
|
+
field('role', region.role ?? EMPTY_FIELD),
|
|
111
|
+
field('rect', rectLabel(region.rect)),
|
|
112
|
+
field('clip', region.clip === undefined ? EMPTY_FIELD : rectLabel(region.clip)),
|
|
113
|
+
field('scroll', region.scroll === undefined ? EMPTY_FIELD : scrollLabel(region.scroll)),
|
|
114
|
+
field('focused', String(region.focused === true)),
|
|
115
|
+
field('layer', String(region.layer ?? 0)),
|
|
116
|
+
].join(REGION_SEPARATOR);
|
|
117
|
+
}
|
|
118
|
+
function field(name, value) {
|
|
119
|
+
return `${name}${FIELD_SEPARATOR}${value}`;
|
|
120
|
+
}
|
|
121
|
+
function rectLabel(rect) {
|
|
122
|
+
return `${rectColumn(rect)}${COORD_SEPARATOR}${rectRow(rect)} ${rect.width}${SIZE_SEPARATOR}${rect.height}`;
|
|
123
|
+
}
|
|
124
|
+
function scrollLabel(scroll) {
|
|
125
|
+
return `${scroll.x}${COORD_SEPARATOR}${scroll.y}`;
|
|
126
|
+
}
|
|
127
|
+
function rectColumn(rect) {
|
|
128
|
+
return 'x' in rect ? rect.x : rect.col;
|
|
129
|
+
}
|
|
130
|
+
function rectRow(rect) {
|
|
131
|
+
return 'y' in rect ? rect.y : rect.row;
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=layout-inspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-inspector.js","sourceRoot":"","sources":["../src/layout-inspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,OAAO,EAEP,UAAU,EACX,MAAM,qBAAqB,CAAC;AAU7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA2BnD,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,eAAe,GACf,QAAQ,CAAC;AAEb,MAAM,MAAM,yBAAyB,GACjC,KAAK,GACL,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,kBAAkB,CAAC,GAAG;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB,CAAC,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CACtC;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,kBAAkB,CAAC,GAAG;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB,CAAC,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,MAAM,CAAC;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,KAAK,MAAM,CAAC;IACb,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE;QAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,KAAK,MAAM,CAAC;IACb,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAED,MAAM,MAAM,2BAA2B,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,uBAAuB,CAAC,GAAG;IAC1C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;CAC5C;AA+CD,wBAAgB,uBAAuB,CAAC,GAAG,KAAK,iBAAiB,CAAC,GAAG,CAAC,CAOrE;AAWD,wBAAgB,wBAAwB,CAAC,GAAG,EAC1C,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,MAAM,GAAE,yBAAiC,GACxC,MAAM,CAMR;AA4DD,wBAAgB,yBAAyB,CAAC,GAAG,EAC3C,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,OAAO,EAAE,gCAAgC,GACxC,MAAM,CA6DR;AAED,wBAAgB,oCAAoC,CAAC,GAAG,EACtD,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAC7B,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAgCT;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAClD,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAuET;AAkED,wBAAgB,gBAAgB,CAAC,GAAG,EAClC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAC3B,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAAC,GAAG,CAAC,CA4BxB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EACrC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAAC,GAAG,CAAC,CAgBxB;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAC5C,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAAC,GAAG,CAAC,CAGxB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EACvC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,SAAS,EAAE,qBAAqB,EAChC,KAAK,CAAC,EAAE,MAAM,GACb,iBAAiB,CAAC,GAAG,CAAC,CAoBxB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EACxC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAAC,GAAG,CAAC,CAaxB;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAC7C,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,KAAK,EAAE,MAAM,GACZ;IAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,CAQpE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EACnC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC7B,KAAK,EAAE,MAAM,GACZ,iBAAiB,CAAC,GAAG,CAAC,CA2ExB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,OAAO,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,OAAO,CAGjF;
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"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"}
|
package/dist/notification.js
CHANGED
|
@@ -603,12 +603,45 @@ function wrapLineSurface(surface, width) {
|
|
|
603
603
|
if (surface.width === 0)
|
|
604
604
|
return [createBlankLineSurface(safeWidth)];
|
|
605
605
|
const rows = [];
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
606
|
+
let offset = 0;
|
|
607
|
+
while (offset < surface.width) {
|
|
608
|
+
const hardEnd = Math.min(surface.width, offset + safeWidth);
|
|
609
|
+
const end = hardEnd >= surface.width
|
|
610
|
+
? surface.width
|
|
611
|
+
: wordBoundarySurfaceEnd(surface, offset, hardEnd);
|
|
612
|
+
rows.push(sliceLineSurface(surface, offset, end, safeWidth));
|
|
613
|
+
offset = hardEnd >= surface.width
|
|
614
|
+
? surface.width
|
|
615
|
+
: trimLeadingSurfaceWhitespace(surface, end < hardEnd ? end + 1 : hardEnd);
|
|
616
|
+
}
|
|
617
|
+
return rows.length === 0 ? [createBlankLineSurface(safeWidth)] : rows;
|
|
618
|
+
}
|
|
619
|
+
function sliceLineSurface(surface, start, end, width) {
|
|
620
|
+
const row = createSurface(width, 1);
|
|
621
|
+
const span = Math.max(0, Math.min(surface.width, end) - start);
|
|
622
|
+
if (span > 0) {
|
|
623
|
+
row.blit(surface, 0, 0, start, 0, span, 1);
|
|
610
624
|
}
|
|
611
|
-
return
|
|
625
|
+
return row;
|
|
626
|
+
}
|
|
627
|
+
function wordBoundarySurfaceEnd(surface, start, hardEnd) {
|
|
628
|
+
let breakAt = -1;
|
|
629
|
+
for (let index = start; index < hardEnd; index++) {
|
|
630
|
+
if (isWhitespaceSurfaceCell(surface, index)) {
|
|
631
|
+
breakAt = index;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
return breakAt > start ? breakAt : hardEnd;
|
|
635
|
+
}
|
|
636
|
+
function trimLeadingSurfaceWhitespace(surface, start) {
|
|
637
|
+
let offset = start;
|
|
638
|
+
while (offset < surface.width && isWhitespaceSurfaceCell(surface, offset)) {
|
|
639
|
+
offset++;
|
|
640
|
+
}
|
|
641
|
+
return offset;
|
|
642
|
+
}
|
|
643
|
+
function isWhitespaceSurfaceCell(surface, col) {
|
|
644
|
+
return /^\s+$/.test(surface.get(col, 0).char);
|
|
612
645
|
}
|
|
613
646
|
function renderPlainSurface(surface) {
|
|
614
647
|
const lines = [];
|