@flyingrobots/bijou-tui 4.0.0 → 4.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 +24 -7
- package/dist/app-frame-actions.d.ts +5 -5
- package/dist/app-frame-actions.d.ts.map +1 -1
- package/dist/app-frame-actions.js +71 -5
- package/dist/app-frame-actions.js.map +1 -1
- package/dist/app-frame-i18n.d.ts +12 -0
- package/dist/app-frame-i18n.d.ts.map +1 -0
- package/dist/app-frame-i18n.js +92 -0
- package/dist/app-frame-i18n.js.map +1 -0
- package/dist/app-frame-layers.d.ts +29 -0
- package/dist/app-frame-layers.d.ts.map +1 -0
- package/dist/app-frame-layers.js +104 -0
- package/dist/app-frame-layers.js.map +1 -0
- package/dist/app-frame-palette.d.ts +6 -2
- package/dist/app-frame-palette.d.ts.map +1 -1
- package/dist/app-frame-palette.js +42 -10
- package/dist/app-frame-palette.js.map +1 -1
- package/dist/app-frame-render.d.ts +13 -5
- package/dist/app-frame-render.d.ts.map +1 -1
- package/dist/app-frame-render.js +216 -70
- package/dist/app-frame-render.js.map +1 -1
- package/dist/app-frame-types.d.ts +40 -20
- package/dist/app-frame-types.d.ts.map +1 -1
- package/dist/app-frame-types.js +8 -6
- package/dist/app-frame-types.js.map +1 -1
- package/dist/app-frame-utils.d.ts +8 -3
- package/dist/app-frame-utils.d.ts.map +1 -1
- package/dist/app-frame-utils.js +42 -27
- package/dist/app-frame-utils.js.map +1 -1
- package/dist/app-frame.d.ts +125 -11
- package/dist/app-frame.d.ts.map +1 -1
- package/dist/app-frame.js +1184 -91
- package/dist/app-frame.js.map +1 -1
- package/dist/browsable-list.d.ts.map +1 -1
- package/dist/browsable-list.js +15 -5
- package/dist/browsable-list.js.map +1 -1
- package/dist/collection-surface.d.ts +8 -0
- package/dist/collection-surface.d.ts.map +1 -0
- package/dist/collection-surface.js +41 -0
- package/dist/collection-surface.js.map +1 -0
- package/dist/command-palette.d.ts.map +1 -1
- package/dist/command-palette.js +8 -3
- package/dist/command-palette.js.map +1 -1
- package/dist/commands.js +1 -1
- package/dist/commands.js.map +1 -1
- package/dist/eventbus.d.ts.map +1 -1
- package/dist/eventbus.js +21 -1
- package/dist/eventbus.js.map +1 -1
- package/dist/focus-area.d.ts +7 -0
- package/dist/focus-area.d.ts.map +1 -1
- package/dist/focus-area.js +33 -15
- package/dist/focus-area.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/inspector-drawer.d.ts +36 -0
- package/dist/inspector-drawer.d.ts.map +1 -0
- package/dist/inspector-drawer.js +68 -0
- package/dist/inspector-drawer.js.map +1 -0
- package/dist/layout-node-surface.d.ts +8 -0
- package/dist/layout-node-surface.d.ts.map +1 -1
- package/dist/layout-node-surface.js +26 -7
- package/dist/layout-node-surface.js.map +1 -1
- package/dist/notification.d.ts +10 -1
- package/dist/notification.d.ts.map +1 -1
- package/dist/notification.js +142 -17
- package/dist/notification.js.map +1 -1
- package/dist/overlay.d.ts +8 -0
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +23 -10
- package/dist/overlay.js.map +1 -1
- package/dist/runtime-engine.d.ts +223 -0
- package/dist/runtime-engine.d.ts.map +1 -0
- package/dist/runtime-engine.js +457 -0
- package/dist/runtime-engine.js.map +1 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +27 -7
- package/dist/runtime.js.map +1 -1
- package/dist/shell-quit.d.ts +12 -0
- package/dist/shell-quit.d.ts.map +1 -0
- package/dist/shell-quit.js +36 -0
- package/dist/shell-quit.js.map +1 -0
- package/dist/subapp/mount.d.ts.map +1 -1
- package/dist/subapp/mount.js +3 -0
- package/dist/subapp/mount.js.map +1 -1
- package/dist/types.d.ts +19 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -1
- package/dist/view-output.d.ts +1 -0
- package/dist/view-output.d.ts.map +1 -1
- package/dist/view-output.js +25 -15
- package/dist/view-output.js.map +1 -1
- package/package.json +5 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-frame-types.d.ts","sourceRoot":"","sources":["../src/app-frame-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"app-frame-types.d.ts","sourceRoot":"","sources":["../src/app-frame-types.ts"],"names":[],"mappings":"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"}
|
package/dist/app-frame-types.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Shared types and message utilities for `app-frame.ts`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* This module contains the public framed-app message wrappers plus the
|
|
5
|
+
* internal wiring used by `createFramedApp`.
|
|
6
6
|
*/
|
|
7
|
-
import { QUIT } from './types.js';
|
|
7
|
+
import { QUIT, isCmdCleanup } from './types.js';
|
|
8
8
|
// ---------------------------------------------------------------------------
|
|
9
9
|
// Symbols
|
|
10
10
|
// ---------------------------------------------------------------------------
|
|
11
11
|
export const PAGE_MSG_TOKEN = Symbol('app-frame-page-msg');
|
|
12
12
|
export const FRAME_MSG_TOKEN = Symbol('app-frame-frame-msg');
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
|
-
// Message
|
|
14
|
+
// Message wrappers
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
16
|
/** Type guard: is this message a frame-internal action wrapper? */
|
|
17
17
|
export function isFrameScopedMsg(value) {
|
|
@@ -34,7 +34,7 @@ export function isPageScopedMsg(value) {
|
|
|
34
34
|
&& PAGE_MSG_TOKEN in value
|
|
35
35
|
&& value[PAGE_MSG_TOKEN] === true;
|
|
36
36
|
}
|
|
37
|
-
/** Tag a
|
|
37
|
+
/** Tag a page-bound message with its originating page ID. */
|
|
38
38
|
export function wrapPageMsg(pageId, msg) {
|
|
39
39
|
return {
|
|
40
40
|
[PAGE_MSG_TOKEN]: true,
|
|
@@ -56,6 +56,8 @@ export function wrapCmdForPage(pageId, cmd) {
|
|
|
56
56
|
const result = await cmd((msg) => emit(wrapPageMsg(pageId, msg)), caps);
|
|
57
57
|
if (result === undefined || result === QUIT)
|
|
58
58
|
return result;
|
|
59
|
+
if (isCmdCleanup(result))
|
|
60
|
+
return result;
|
|
59
61
|
return wrapPageMsg(pageId, result);
|
|
60
62
|
};
|
|
61
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-frame-types.js","sourceRoot":"","sources":["../src/app-frame-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"app-frame-types.js","sourceRoot":"","sources":["../src/app-frame-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAMhD,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAqH7D,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,mEAAmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,KAAK,IAAI;WACd,eAAe,IAAI,KAAK;WACvB,KAAwB,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;AAC3D,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,OAAO;QACL,CAAC,eAAe,CAAC,EAAE,IAAI;QACvB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,eAAe,CAAM,KAAc;IACjD,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,KAAK,IAAI;WACd,cAAc,IAAI,KAAK;WACtB,KAA4B,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CAAM,MAAc,EAAE,GAAsB;IACrE,OAAO;QACL,CAAC,cAAc,CAAC,EAAE,IAAI;QACtB,MAAM;QACN,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,OAAO,CAAM,GAAQ;IACnC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAM,MAAc,EAAE,GAAsB;IACxE,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAM,MAAc,EAAE,GAAa;IAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAC3D,IAAI,YAAY,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACxC,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,OAAoB;IAC7C,OAAO;QACL,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG;QACtB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;KAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -10,6 +10,7 @@ import type { LayoutRect } from './layout-rect.js';
|
|
|
10
10
|
import type { PanelVisibilityState } from './panel-state.js';
|
|
11
11
|
import { type KeyMap } from './keybindings.js';
|
|
12
12
|
import type { BindingSource } from './help.js';
|
|
13
|
+
import type { I18nRuntime } from '@flyingrobots/bijou-i18n';
|
|
13
14
|
/** Recursively collect all pane IDs from a layout tree in declaration order. */
|
|
14
15
|
export declare function collectPaneIds(node: FrameLayoutNode): string[];
|
|
15
16
|
/** Extract unique area names from CSS-grid-style template strings. */
|
|
@@ -26,12 +27,16 @@ export declare function isPaneMinimized(node: FrameLayoutNode, visibility: Panel
|
|
|
26
27
|
export declare function mergeMaps<K, V>(a: ReadonlyMap<K, V>, b: ReadonlyMap<K, V>): Map<K, V>;
|
|
27
28
|
/** Translate a layout rect by the given row and column offsets. */
|
|
28
29
|
export declare function offsetRect(rect: LayoutRect, rowOffset: number, colOffset: number): LayoutRect;
|
|
29
|
-
/** Compute the available rect for page content
|
|
30
|
-
export declare function frameBodyRect(columns: number, rows: number): LayoutRect;
|
|
30
|
+
/** Compute the available rect for page content after reserving shell chrome rows. */
|
|
31
|
+
export declare function frameBodyRect(columns: number, rows: number, topRows?: number, bottomRows?: number): LayoutRect;
|
|
31
32
|
/** Clip or pad a single line to exactly `width` visible columns. */
|
|
32
33
|
export declare function fitLine(line: string, width: number): string;
|
|
33
34
|
/** Combine multiple binding sources into a single source for help display. */
|
|
34
35
|
export declare function mergeBindingSources(...sources: Array<BindingSource | undefined>): BindingSource;
|
|
35
36
|
/** Build the default key map for frame-level actions (tabs, panes, scroll, help '?', command palette 'ctrl+p'/':'). */
|
|
36
|
-
export declare function createFrameKeyMap(
|
|
37
|
+
export declare function createFrameKeyMap(options?: {
|
|
38
|
+
readonly enableSettings?: boolean;
|
|
39
|
+
readonly enableNotifications?: boolean;
|
|
40
|
+
readonly i18n?: I18nRuntime;
|
|
41
|
+
}): KeyMap<FrameAction>;
|
|
37
42
|
//# sourceMappingURL=app-frame-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-frame-utils.d.ts","sourceRoot":"","sources":["../src/app-frame-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"app-frame-utils.d.ts","sourceRoot":"","sources":["../src/app-frame-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,EAAE,CAW9D;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAQpE;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAQnF;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAQ1H;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAKhG;AAED,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAKrF;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAO7F;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,SAAI,EACX,UAAU,SAAI,GACb,UAAU,CASZ;AAED,oEAAoE;AACpE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,aAAa,CAW/F;AAED,uHAAuH;AACvH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE;IAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;CAAO,GACvH,MAAM,CAAC,WAAW,CAAC,CA4CrB"}
|
package/dist/app-frame-utils.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { isMinimized } from './panel-state.js';
|
|
8
8
|
import { createKeyMap } from './keybindings.js';
|
|
9
9
|
import { clipToWidth, visibleLength } from './viewport.js';
|
|
10
|
+
import { frameMessage } from './app-frame-i18n.js';
|
|
10
11
|
/** Recursively collect all pane IDs from a layout tree in declaration order. */
|
|
11
12
|
export function collectPaneIds(node) {
|
|
12
13
|
if (node.kind === 'pane')
|
|
@@ -82,13 +83,15 @@ export function offsetRect(rect, rowOffset, colOffset) {
|
|
|
82
83
|
height: rect.height,
|
|
83
84
|
};
|
|
84
85
|
}
|
|
85
|
-
/** Compute the available rect for page content
|
|
86
|
-
export function frameBodyRect(columns, rows) {
|
|
86
|
+
/** Compute the available rect for page content after reserving shell chrome rows. */
|
|
87
|
+
export function frameBodyRect(columns, rows, topRows = 1, bottomRows = 1) {
|
|
88
|
+
const reservedTop = Math.max(0, Math.floor(topRows));
|
|
89
|
+
const reservedBottom = Math.max(0, Math.floor(bottomRows));
|
|
87
90
|
return {
|
|
88
|
-
row: Math.min(
|
|
91
|
+
row: Math.min(reservedTop, Math.max(0, rows)),
|
|
89
92
|
col: 0,
|
|
90
93
|
width: Math.max(0, columns),
|
|
91
|
-
height: Math.max(0, rows -
|
|
94
|
+
height: Math.max(0, rows - reservedTop - reservedBottom),
|
|
92
95
|
};
|
|
93
96
|
}
|
|
94
97
|
/** Clip or pad a single line to exactly `width` visible columns. */
|
|
@@ -111,31 +114,43 @@ export function mergeBindingSources(...sources) {
|
|
|
111
114
|
};
|
|
112
115
|
}
|
|
113
116
|
/** Build the default key map for frame-level actions (tabs, panes, scroll, help '?', command palette 'ctrl+p'/':'). */
|
|
114
|
-
export function createFrameKeyMap() {
|
|
115
|
-
|
|
117
|
+
export function createFrameKeyMap(options = {}) {
|
|
118
|
+
const t = (id, fallback) => frameMessage(options.i18n, id, fallback);
|
|
119
|
+
const keyMap = createKeyMap()
|
|
116
120
|
.group('Frame', (g) => g
|
|
117
|
-
.bind('?', 'Toggle help', { type: 'toggle-help' })
|
|
118
|
-
.bind('[', 'Previous tab', { type: 'prev-tab' })
|
|
119
|
-
.bind(']', 'Next tab', { type: 'next-tab' })
|
|
120
|
-
.bind('tab', 'Next pane', { type: 'next-pane' })
|
|
121
|
-
.bind('shift+tab', 'Previous pane', { type: 'prev-pane' })
|
|
122
|
-
.bind('
|
|
123
|
-
.bind('
|
|
124
|
-
.bind('
|
|
125
|
-
.bind('ctrl+
|
|
121
|
+
.bind('?', t('key.toggleHelp', 'Toggle help'), { type: 'toggle-help' })
|
|
122
|
+
.bind('[', t('key.prevTab', 'Previous tab'), { type: 'prev-tab' })
|
|
123
|
+
.bind(']', t('key.nextTab', 'Next tab'), { type: 'next-tab' })
|
|
124
|
+
.bind('tab', t('key.nextPane', 'Next pane'), { type: 'next-pane' })
|
|
125
|
+
.bind('shift+tab', t('key.prevPane', 'Previous pane'), { type: 'prev-pane' })
|
|
126
|
+
.bind('/', t('key.search', 'Search'), { type: 'open-search' })
|
|
127
|
+
.bind('ctrl+p', t('key.openPalette', 'Open command palette'), { type: 'open-palette' })
|
|
128
|
+
.bind(':', t('key.openPalette', 'Open command palette'), { type: 'open-palette' })
|
|
129
|
+
.bind('ctrl+m', t('key.toggleMinimize', 'Fold/unfold pane'), { type: 'toggle-minimize' })
|
|
130
|
+
.bind('ctrl+f', t('key.toggleMaximize', 'Full-screen pane'), { type: 'toggle-maximize' }))
|
|
126
131
|
.group('Dock', (g) => g
|
|
127
|
-
.bind('ctrl+shift+up', 'Move pane up', { type: 'dock-up' })
|
|
128
|
-
.bind('ctrl+shift+down', 'Move pane down', { type: 'dock-down' })
|
|
129
|
-
.bind('ctrl+shift+left', 'Move pane left', { type: 'dock-left' })
|
|
130
|
-
.bind('ctrl+shift+right', 'Move pane right', { type: 'dock-right' }))
|
|
132
|
+
.bind('ctrl+shift+up', t('key.dockUp', 'Move pane up'), { type: 'dock-up' })
|
|
133
|
+
.bind('ctrl+shift+down', t('key.dockDown', 'Move pane down'), { type: 'dock-down' })
|
|
134
|
+
.bind('ctrl+shift+left', t('key.dockLeft', 'Move pane left'), { type: 'dock-left' })
|
|
135
|
+
.bind('ctrl+shift+right', t('key.dockRight', 'Move pane right'), { type: 'dock-right' }))
|
|
131
136
|
.group('Scroll', (g) => g
|
|
132
|
-
.bind('j', 'Scroll down', { type: 'scroll-down' })
|
|
133
|
-
.bind('k', 'Scroll up', { type: 'scroll-up' })
|
|
134
|
-
.bind('d', 'Page down', { type: 'page-down' })
|
|
135
|
-
.bind('u', 'Page up', { type: 'page-up' })
|
|
136
|
-
.bind('g', 'Top', { type: 'top' })
|
|
137
|
-
.bind('shift+g', 'Bottom', { type: 'bottom' })
|
|
138
|
-
.bind('h', 'Scroll left', { type: 'scroll-left' })
|
|
139
|
-
.bind('l', 'Scroll right', { type: 'scroll-right' }));
|
|
137
|
+
.bind('j', t('key.scrollDown', 'Scroll down'), { type: 'scroll-down' })
|
|
138
|
+
.bind('k', t('key.scrollUp', 'Scroll up'), { type: 'scroll-up' })
|
|
139
|
+
.bind('d', t('key.pageDown', 'Page down'), { type: 'page-down' })
|
|
140
|
+
.bind('u', t('key.pageUp', 'Page up'), { type: 'page-up' })
|
|
141
|
+
.bind('g', t('key.top', 'Top'), { type: 'top' })
|
|
142
|
+
.bind('shift+g', t('key.bottom', 'Bottom'), { type: 'bottom' })
|
|
143
|
+
.bind('h', t('key.scrollLeft', 'Scroll left'), { type: 'scroll-left' })
|
|
144
|
+
.bind('l', t('key.scrollRight', 'Scroll right'), { type: 'scroll-right' }));
|
|
145
|
+
if (options.enableSettings) {
|
|
146
|
+
keyMap.group('Shell', (g) => g
|
|
147
|
+
.bind('ctrl+,', t('key.settings', 'Settings'), { type: 'toggle-settings' })
|
|
148
|
+
.bind('f2', t('key.settings', 'Settings'), { type: 'toggle-settings' }));
|
|
149
|
+
}
|
|
150
|
+
if (options.enableNotifications) {
|
|
151
|
+
keyMap.group('Shell', (g) => g
|
|
152
|
+
.bind('shift+n', t('key.notifications', 'Notifications'), { type: 'toggle-notifications' }));
|
|
153
|
+
}
|
|
154
|
+
return keyMap;
|
|
140
155
|
}
|
|
141
156
|
//# sourceMappingURL=app-frame-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-frame-utils.js","sourceRoot":"","sources":["../src/app-frame-utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"app-frame-utils.js","sourceRoot":"","sources":["../src/app-frame-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/app-frame.d.ts
CHANGED
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
* Provides tabs, pane focus/scroll isolation, shell key handling, help,
|
|
5
5
|
* panel-scoped overlay context, and optional frame-level command palette.
|
|
6
6
|
*/
|
|
7
|
-
import { type OverflowBehavior } from '@flyingrobots/bijou';
|
|
7
|
+
import { type PreferenceListTheme, type OverflowBehavior, type TokenValue } from '@flyingrobots/bijou';
|
|
8
|
+
import type { I18nRuntime } from '@flyingrobots/bijou-i18n';
|
|
8
9
|
import { type BindingSource } from './help.js';
|
|
9
|
-
import type
|
|
10
|
-
import type {
|
|
10
|
+
import { type KeyMap } from './keybindings.js';
|
|
11
|
+
import type { KeyMsg, MouseMsg } from './types.js';
|
|
11
12
|
import type { Overlay } from './overlay.js';
|
|
12
13
|
import type { TransitionShaderFn } from './transition-shaders.js';
|
|
13
14
|
import { type BuiltinTransition } from './transition-shaders.js';
|
|
@@ -22,8 +23,8 @@ import type { SerializedLayoutState } from './layout-preset.js';
|
|
|
22
23
|
import type { OverflowX } from './focus-area.js';
|
|
23
24
|
import type { Timeline, TimelineState } from './timeline.js';
|
|
24
25
|
import type { ViewOutput } from './view-output.js';
|
|
25
|
-
import { type NotificationPlacement, type NotificationState } from './notification.js';
|
|
26
|
-
import type { FrameAction } from './app-frame-types.js';
|
|
26
|
+
import { type NotificationHistoryFilter, type NotificationPlacement, type NotificationState, type NotificationTone } from './notification.js';
|
|
27
|
+
import type { FrameAction, FramePageMsg, FramePageUpdateResult, FramedApp } from './app-frame-types.js';
|
|
27
28
|
/** Page declaration consumed by {@link createFramedApp}. */
|
|
28
29
|
export interface FramePage<PageModel, Msg> {
|
|
29
30
|
/** Stable page id. */
|
|
@@ -31,25 +32,92 @@ export interface FramePage<PageModel, Msg> {
|
|
|
31
32
|
/** Tab title. */
|
|
32
33
|
readonly title: string;
|
|
33
34
|
/** Page-level initializer. */
|
|
34
|
-
init():
|
|
35
|
-
/** Page-level updater (custom messages
|
|
36
|
-
update(msg: Msg
|
|
35
|
+
init(): FramePageUpdateResult<PageModel, Msg>;
|
|
36
|
+
/** Page-level updater (custom messages plus raw mouse forwarding). */
|
|
37
|
+
update(msg: FramePageMsg<Msg>, model: PageModel): FramePageUpdateResult<PageModel, Msg>;
|
|
37
38
|
/** Page layout tree. */
|
|
38
39
|
layout(model: PageModel): FrameLayoutNode;
|
|
39
40
|
/** Optional page keymap. */
|
|
40
41
|
keyMap?: KeyMap<Msg>;
|
|
42
|
+
/** Optional pane-scoped input layers owned by the focused pane. */
|
|
43
|
+
inputAreas?: (model: PageModel) => readonly FrameInputArea<PageModel, Msg>[];
|
|
41
44
|
/** Optional modal keymap. When present, it captures all keys until dismissed. */
|
|
42
45
|
modalKeyMap?: (model: PageModel) => KeyMap<Msg> | undefined;
|
|
43
46
|
/** Optional help source override. */
|
|
44
47
|
helpSource?: BindingSource;
|
|
45
48
|
/** Optional page-scoped command items for command palette listing/execution. */
|
|
46
49
|
commandItems?: (model: PageModel) => readonly FrameCommandItem<Msg>[];
|
|
50
|
+
/** Optional page-scoped search items opened by the shell search action. */
|
|
51
|
+
searchItems?: (model: PageModel) => readonly FrameCommandItem<Msg>[];
|
|
52
|
+
/** Optional title used by the shell search surface. */
|
|
53
|
+
readonly searchTitle?: string;
|
|
47
54
|
}
|
|
48
55
|
/** Custom command-palette item with optional message dispatch action. */
|
|
49
56
|
export interface FrameCommandItem<Msg> extends CommandPaletteItem {
|
|
50
57
|
/** Message dispatched when this item is selected. */
|
|
51
58
|
readonly action?: Msg;
|
|
52
59
|
}
|
|
60
|
+
/** Declarative input ownership for a specific pane inside a frame page. */
|
|
61
|
+
export interface FrameInputArea<PageModel, Msg> {
|
|
62
|
+
/** Target pane id. */
|
|
63
|
+
readonly paneId: string;
|
|
64
|
+
/** Optional pane-scoped key bindings. */
|
|
65
|
+
readonly keyMap?: KeyMap<Msg>;
|
|
66
|
+
/** Optional focused-pane help bindings. */
|
|
67
|
+
readonly helpSource?: BindingSource;
|
|
68
|
+
/** Optional pane-scoped mouse mapper. */
|
|
69
|
+
readonly mouse?: (args: {
|
|
70
|
+
readonly msg: MouseMsg;
|
|
71
|
+
readonly model: PageModel;
|
|
72
|
+
readonly rect: LayoutRect;
|
|
73
|
+
}) => Msg | undefined;
|
|
74
|
+
}
|
|
75
|
+
/** A single declarative settings row rendered by the frame shell. */
|
|
76
|
+
export interface FrameSettingRow<Msg> {
|
|
77
|
+
readonly id: string;
|
|
78
|
+
readonly label: string;
|
|
79
|
+
readonly description?: string;
|
|
80
|
+
readonly valueLabel?: string;
|
|
81
|
+
readonly checked?: boolean;
|
|
82
|
+
readonly action?: Msg;
|
|
83
|
+
readonly feedback?: FrameSettingFeedback;
|
|
84
|
+
readonly kind?: 'action' | 'toggle' | 'choice' | 'info';
|
|
85
|
+
readonly enabled?: boolean;
|
|
86
|
+
}
|
|
87
|
+
/** Shell-owned feedback shown after a settings row is activated. */
|
|
88
|
+
export interface FrameSettingFeedback {
|
|
89
|
+
readonly title?: string;
|
|
90
|
+
readonly message: string;
|
|
91
|
+
readonly tone?: NotificationTone;
|
|
92
|
+
readonly durationMs?: number | null;
|
|
93
|
+
}
|
|
94
|
+
/** A titled section inside the frame-owned settings drawer. */
|
|
95
|
+
export interface FrameSettingSection<Msg> {
|
|
96
|
+
readonly id: string;
|
|
97
|
+
readonly title: string;
|
|
98
|
+
readonly rows: readonly FrameSettingRow<Msg>[];
|
|
99
|
+
}
|
|
100
|
+
/** Structured settings content supplied by the app and rendered by the frame shell. */
|
|
101
|
+
export interface FrameSettings<Msg> {
|
|
102
|
+
readonly title?: string;
|
|
103
|
+
readonly borderToken?: TokenValue;
|
|
104
|
+
readonly bgToken?: TokenValue;
|
|
105
|
+
readonly listTheme?: PreferenceListTheme;
|
|
106
|
+
readonly sections: readonly FrameSettingSection<Msg>[];
|
|
107
|
+
}
|
|
108
|
+
/** Structured notification review content supplied by the app and rendered by the frame shell. */
|
|
109
|
+
export interface FrameNotificationCenter<Msg> {
|
|
110
|
+
readonly title?: string;
|
|
111
|
+
readonly state: NotificationState<Msg>;
|
|
112
|
+
readonly filters?: readonly NotificationHistoryFilter[];
|
|
113
|
+
readonly activeFilter?: NotificationHistoryFilter;
|
|
114
|
+
readonly onFilterChange?: (filter: NotificationHistoryFilter) => Msg | undefined;
|
|
115
|
+
}
|
|
116
|
+
/** Optional styling overrides for the frame-owned header line. */
|
|
117
|
+
export interface FrameHeaderStyle {
|
|
118
|
+
/** Foreground token for the active tab/page label in the header. */
|
|
119
|
+
readonly activeTabToken?: TokenValue;
|
|
120
|
+
}
|
|
53
121
|
/** Declarative frame layout node. */
|
|
54
122
|
export type FrameLayoutNode = {
|
|
55
123
|
readonly kind: 'pane';
|
|
@@ -57,6 +125,8 @@ export type FrameLayoutNode = {
|
|
|
57
125
|
/** Pane content must be a Surface or LayoutNode. */
|
|
58
126
|
readonly render: (width: number, height: number) => ViewOutput;
|
|
59
127
|
readonly overflowX?: OverflowX;
|
|
128
|
+
readonly focusedGutterToken?: TokenValue;
|
|
129
|
+
readonly unfocusedGutterToken?: TokenValue;
|
|
60
130
|
} | {
|
|
61
131
|
readonly kind: 'split';
|
|
62
132
|
readonly splitId: string;
|
|
@@ -112,25 +182,50 @@ export interface CreateFramedAppOptions<PageModel, Msg> {
|
|
|
112
182
|
readonly defaultPageId?: string;
|
|
113
183
|
/** Optional frame title. */
|
|
114
184
|
readonly title?: string;
|
|
185
|
+
/** Optional app-owned styling override for the active header tab/page label. */
|
|
186
|
+
readonly headerStyle?: (args: {
|
|
187
|
+
readonly model: FrameModel<PageModel>;
|
|
188
|
+
readonly activePage: FramePage<PageModel, Msg>;
|
|
189
|
+
readonly pageModel: PageModel;
|
|
190
|
+
}) => FrameHeaderStyle | undefined;
|
|
115
191
|
/** Initial terminal width before runtime resize events. Default: 80. */
|
|
116
192
|
readonly initialColumns?: number;
|
|
117
193
|
/** Initial terminal height before runtime resize events. Default: 24. */
|
|
118
194
|
readonly initialRows?: number;
|
|
195
|
+
/** Number of reserved top chrome rows above page content. Default: 1. */
|
|
196
|
+
readonly bodyTopRows?: number;
|
|
197
|
+
/** Number of reserved bottom chrome rows below page content. Default: 1. */
|
|
198
|
+
readonly bodyBottomRows?: number;
|
|
119
199
|
/** Optional global keymap layered above page keymap. */
|
|
120
200
|
readonly globalKeys?: KeyMap<Msg>;
|
|
201
|
+
/** Optional shell localization runtime for frame-owned copy and direction. */
|
|
202
|
+
readonly i18n?: I18nRuntime;
|
|
121
203
|
/** Resolve key conflicts in favor of the frame shell or the active page. Default: 'frame-first'. */
|
|
122
204
|
readonly keyPriority?: 'frame-first' | 'page-first';
|
|
123
|
-
/** Optional override for the short
|
|
205
|
+
/** Optional override for the short footer hint source shown beneath the frame workspace. */
|
|
124
206
|
readonly helpLineSource?: (args: {
|
|
125
207
|
readonly model: FrameModel<PageModel>;
|
|
126
208
|
readonly activePage: FramePage<PageModel, Msg>;
|
|
127
209
|
readonly frameKeys: KeyMap<FrameAction>;
|
|
128
210
|
readonly globalKeys?: KeyMap<Msg>;
|
|
129
|
-
}) => BindingSource | undefined;
|
|
211
|
+
}) => BindingSource | string | undefined;
|
|
130
212
|
/** Optional observer that receives every key plus the route that handled it. Returned messages are scoped to the active page. */
|
|
131
213
|
readonly observeKey?: (msg: KeyMsg, route: 'palette' | 'help' | 'frame' | 'global' | 'page' | 'unhandled') => Msg | undefined;
|
|
132
214
|
/** Enable frame-level command palette (`ctrl+p` / `:`). */
|
|
133
215
|
readonly enableCommandPalette?: boolean;
|
|
216
|
+
/** Optional shell-owned settings drawer content. */
|
|
217
|
+
readonly settings?: (args: {
|
|
218
|
+
readonly model: FrameModel<PageModel>;
|
|
219
|
+
readonly activePage: FramePage<PageModel, Msg>;
|
|
220
|
+
readonly pageModel: PageModel;
|
|
221
|
+
}) => FrameSettings<Msg> | undefined;
|
|
222
|
+
/** Optional shell-owned notification center content. */
|
|
223
|
+
readonly notificationCenter?: (args: {
|
|
224
|
+
readonly model: FrameModel<PageModel>;
|
|
225
|
+
readonly activePage: FramePage<PageModel, Msg>;
|
|
226
|
+
readonly pageModel: PageModel;
|
|
227
|
+
readonly runtimeNotifications: NotificationState<never>;
|
|
228
|
+
}) => FrameNotificationCenter<Msg> | undefined;
|
|
134
229
|
/** Optional overlay provider (receives pane rects for panel scoping). */
|
|
135
230
|
readonly overlayFactory?: (ctx: FrameOverlayContext<PageModel>) => readonly Overlay[];
|
|
136
231
|
/** Optional runtime warning/error notifications managed by the frame shell. */
|
|
@@ -195,6 +290,20 @@ export interface FrameModel<PageModel> {
|
|
|
195
290
|
readonly helpOpen: boolean;
|
|
196
291
|
/** Command palette state (undefined when closed). */
|
|
197
292
|
readonly commandPalette?: CommandPaletteState;
|
|
293
|
+
/** Kind of active shell palette (`search` vs `command`). */
|
|
294
|
+
readonly commandPaletteKind?: 'command' | 'search';
|
|
295
|
+
/** Settings drawer visibility flag. */
|
|
296
|
+
readonly settingsOpen: boolean;
|
|
297
|
+
/** Notification center visibility flag. */
|
|
298
|
+
readonly notificationCenterOpen: boolean;
|
|
299
|
+
/** Quit-confirm modal visibility flag. */
|
|
300
|
+
readonly quitConfirmOpen: boolean;
|
|
301
|
+
/** Active settings row index. */
|
|
302
|
+
readonly settingsFocusIndex: number;
|
|
303
|
+
/** Vertical scroll offset for the settings drawer. */
|
|
304
|
+
readonly settingsScrollY: number;
|
|
305
|
+
/** Vertical scroll offset for the notification center. */
|
|
306
|
+
readonly notificationCenterScrollY: number;
|
|
198
307
|
/** ID of the page we are transitioning away from. */
|
|
199
308
|
readonly previousPageId?: string;
|
|
200
309
|
/** Transition progress (0 to 1). */
|
|
@@ -221,11 +330,16 @@ export interface FrameModel<PageModel> {
|
|
|
221
330
|
readonly splitRatioOverrides: Readonly<Record<string, Readonly<Record<string, number>>>>;
|
|
222
331
|
/** Frame-managed runtime notifications. */
|
|
223
332
|
readonly runtimeNotifications: NotificationState<never>;
|
|
333
|
+
/** Active filter for the shell fallback notification center. */
|
|
334
|
+
readonly runtimeNotificationHistoryFilter: NotificationHistoryFilter;
|
|
224
335
|
/** Whether the runtime notification tick loop is active. */
|
|
225
336
|
readonly runtimeNotificationLoopActive: boolean;
|
|
226
337
|
}
|
|
338
|
+
export type { FramePageMsg, FramePageUpdateResult, FramedApp, FramedAppMsg, FramedAppUpdateResult, FrameScopedMsg, PageScopedMsg, } from './app-frame-types.js';
|
|
339
|
+
export type { FrameLayerHintSource, FrameLayerKind, FrameLayerMetadata, FrameLayerOwner, FrameLayerDescriptor, DescribeFrameLayerStackOptions, } from './app-frame-layers.js';
|
|
340
|
+
export { activeFrameLayer, describeFrameLayerStack, underlyingFrameLayer, } from './app-frame-layers.js';
|
|
227
341
|
/**
|
|
228
342
|
* Create a fully framed TEA app shell.
|
|
229
343
|
*/
|
|
230
|
-
export declare function createFramedApp<PageModel, Msg>(options: CreateFramedAppOptions<PageModel, Msg>):
|
|
344
|
+
export declare function createFramedApp<PageModel, Msg>(options: CreateFramedAppOptions<PageModel, Msg>): FramedApp<PageModel, Msg>;
|
|
231
345
|
//# sourceMappingURL=app-frame.d.ts.map
|
package/dist/app-frame.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-frame.d.ts","sourceRoot":"","sources":["../src/app-frame.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-frame.d.ts","sourceRoot":"","sources":["../src/app-frame.ts"],"names":[],"mappings":"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"}
|