@flyingrobots/bijou-tui 4.0.0 → 4.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.
Files changed (95) hide show
  1. package/README.md +24 -7
  2. package/dist/app-frame-actions.d.ts +5 -5
  3. package/dist/app-frame-actions.d.ts.map +1 -1
  4. package/dist/app-frame-actions.js +71 -5
  5. package/dist/app-frame-actions.js.map +1 -1
  6. package/dist/app-frame-i18n.d.ts +12 -0
  7. package/dist/app-frame-i18n.d.ts.map +1 -0
  8. package/dist/app-frame-i18n.js +92 -0
  9. package/dist/app-frame-i18n.js.map +1 -0
  10. package/dist/app-frame-layers.d.ts +33 -0
  11. package/dist/app-frame-layers.d.ts.map +1 -0
  12. package/dist/app-frame-layers.js +136 -0
  13. package/dist/app-frame-layers.js.map +1 -0
  14. package/dist/app-frame-palette.d.ts +6 -2
  15. package/dist/app-frame-palette.d.ts.map +1 -1
  16. package/dist/app-frame-palette.js +42 -10
  17. package/dist/app-frame-palette.js.map +1 -1
  18. package/dist/app-frame-render.d.ts +13 -5
  19. package/dist/app-frame-render.d.ts.map +1 -1
  20. package/dist/app-frame-render.js +216 -70
  21. package/dist/app-frame-render.js.map +1 -1
  22. package/dist/app-frame-types.d.ts +120 -20
  23. package/dist/app-frame-types.d.ts.map +1 -1
  24. package/dist/app-frame-types.js +8 -6
  25. package/dist/app-frame-types.js.map +1 -1
  26. package/dist/app-frame-utils.d.ts +8 -3
  27. package/dist/app-frame-utils.d.ts.map +1 -1
  28. package/dist/app-frame-utils.js +42 -27
  29. package/dist/app-frame-utils.js.map +1 -1
  30. package/dist/app-frame.d.ts +125 -11
  31. package/dist/app-frame.d.ts.map +1 -1
  32. package/dist/app-frame.js +1406 -158
  33. package/dist/app-frame.js.map +1 -1
  34. package/dist/browsable-list.d.ts.map +1 -1
  35. package/dist/browsable-list.js +15 -5
  36. package/dist/browsable-list.js.map +1 -1
  37. package/dist/collection-surface.d.ts +8 -0
  38. package/dist/collection-surface.d.ts.map +1 -0
  39. package/dist/collection-surface.js +41 -0
  40. package/dist/collection-surface.js.map +1 -0
  41. package/dist/command-palette.d.ts.map +1 -1
  42. package/dist/command-palette.js +8 -3
  43. package/dist/command-palette.js.map +1 -1
  44. package/dist/commands.js +1 -1
  45. package/dist/commands.js.map +1 -1
  46. package/dist/eventbus.d.ts.map +1 -1
  47. package/dist/eventbus.js +21 -1
  48. package/dist/eventbus.js.map +1 -1
  49. package/dist/focus-area.d.ts +7 -0
  50. package/dist/focus-area.d.ts.map +1 -1
  51. package/dist/focus-area.js +33 -15
  52. package/dist/focus-area.js.map +1 -1
  53. package/dist/index.d.ts +7 -2
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +6 -2
  56. package/dist/index.js.map +1 -1
  57. package/dist/inspector-drawer.d.ts +36 -0
  58. package/dist/inspector-drawer.d.ts.map +1 -0
  59. package/dist/inspector-drawer.js +68 -0
  60. package/dist/inspector-drawer.js.map +1 -0
  61. package/dist/layout-node-surface.d.ts +8 -0
  62. package/dist/layout-node-surface.d.ts.map +1 -1
  63. package/dist/layout-node-surface.js +26 -7
  64. package/dist/layout-node-surface.js.map +1 -1
  65. package/dist/notification.d.ts +10 -1
  66. package/dist/notification.d.ts.map +1 -1
  67. package/dist/notification.js +142 -17
  68. package/dist/notification.js.map +1 -1
  69. package/dist/overlay.d.ts +8 -0
  70. package/dist/overlay.d.ts.map +1 -1
  71. package/dist/overlay.js +23 -10
  72. package/dist/overlay.js.map +1 -1
  73. package/dist/runtime-engine.d.ts +223 -0
  74. package/dist/runtime-engine.d.ts.map +1 -0
  75. package/dist/runtime-engine.js +457 -0
  76. package/dist/runtime-engine.js.map +1 -0
  77. package/dist/runtime.d.ts.map +1 -1
  78. package/dist/runtime.js +27 -7
  79. package/dist/runtime.js.map +1 -1
  80. package/dist/shell-quit.d.ts +12 -0
  81. package/dist/shell-quit.d.ts.map +1 -0
  82. package/dist/shell-quit.js +36 -0
  83. package/dist/shell-quit.js.map +1 -0
  84. package/dist/subapp/mount.d.ts.map +1 -1
  85. package/dist/subapp/mount.js +3 -0
  86. package/dist/subapp/mount.js.map +1 -1
  87. package/dist/types.d.ts +19 -5
  88. package/dist/types.d.ts.map +1 -1
  89. package/dist/types.js +11 -0
  90. package/dist/types.js.map +1 -1
  91. package/dist/view-output.d.ts +1 -0
  92. package/dist/view-output.d.ts.map +1 -1
  93. package/dist/view-output.js +25 -15
  94. package/dist/view-output.js.map +1 -1
  95. package/package.json +5 -2
package/README.md CHANGED
@@ -4,27 +4,27 @@ The high-fidelity TEA runtime for Bijou.
4
4
 
5
5
  `bijou-tui` provides the application loop, layout primitives, motion, and orchestration needed to build complex interactive terminal apps on top of the Bijou core.
6
6
 
7
- ## V3.0.0 Evolution
7
+ ## Package Role
8
8
 
9
- The TUI package has been completely overhauled in v3.0.0 to operate as a true graphics engine.
9
+ The TUI package is the surface-first fullscreen runtime in the Bijou stack.
10
10
 
11
- ### 🌟 What's New
11
+ ### What's Included
12
12
  - **Pure view contract:** `App.view` and framed pane renderers now speak `ViewOutput` (`Surface | LayoutNode`).
13
13
  - **Programmable Rendering Pipeline:** The TEA `view` output is now processed through a 5-stage middleware pipeline (`Layout -> Paint -> PostProcess -> Diff -> Output`). Add custom fragment shaders or logging middleware effortlessly.
14
14
  - **Fractal TEA (Sub-Apps):** Compose nested apps with `initSubApp()`, `updateSubApp()`, `mount()`, and `mapCmds()` instead of flattening everything into one update loop.
15
- - **Bijou CSS (BCSS):** Style supported V3 surface components and frame shell regions with type/class/id selectors, `var()` token lookups, and terminal-aware media queries (`@media (width < 80)`). This is not yet a global cascade across arbitrary layout nodes.
15
+ - **Bijou CSS (BCSS):** Style supported runtime surface components and frame shell regions with type/class/id selectors, `var()` token lookups, and terminal-aware media queries (`@media (width < 80)`). This is not yet a global cascade across arbitrary layout nodes.
16
16
  - **Declarative Motion:** Wrap any component in `motion({ key: 'id' }, ...)` and watch it smoothly interpolate layout changes (move, resize) using physics-based springs.
17
17
  - **Unified Heartbeat:** All animations and physics calculations are now synchronized to a single `PulseMsg`, eliminating timer jitter and saving CPU.
18
18
 
19
19
  ## Installation
20
20
 
21
21
  ```bash
22
- npm install @flyingrobots/bijou@3.0.0 @flyingrobots/bijou-node@3.0.0 @flyingrobots/bijou-tui@3.0.0
22
+ npm install @flyingrobots/bijou @flyingrobots/bijou-node @flyingrobots/bijou-tui
23
23
  ```
24
24
 
25
25
  If you are upgrading an existing app, see [`../../docs/MIGRATING_TO_V4.md`](../../docs/MIGRATING_TO_V4.md).
26
26
 
27
- ## Quick Start (V3 Sub-App Composition)
27
+ ## Quick Start (Sub-App Composition)
28
28
 
29
29
  ```typescript
30
30
  import { initDefaultContext } from '@flyingrobots/bijou-node';
@@ -111,6 +111,17 @@ run(app);
111
111
 
112
112
  In non-interactive modes, there is no normal interactive event loop.
113
113
 
114
+ ## Command Model
115
+
116
+ `Cmd<M>` may resolve synchronously or asynchronously to:
117
+
118
+ - a final message
119
+ - `QUIT`
120
+ - a cleanup handle or cleanup function for a long-lived effect
121
+ - `void`
122
+
123
+ If a command installs a long-lived effect through `onPulse()` or another runtime-backed capability, return that cleanup so the event bus/runtime can dispose it on shutdown.
124
+
114
125
  ## Features Breakdown
115
126
 
116
127
  - **TEA runtime core**: deterministic model/update/view loop with command-driven side effects.
@@ -385,7 +396,7 @@ const bus = createEventBus<MyMsg>();
385
396
  bus.connectIO(ctx.io); // keyboard + resize
386
397
  bus.on((msg) => { /* ... */ }); // single subscription
387
398
  bus.emit(customMsg); // synthetic events
388
- bus.runCmd(someCommand); // command results re-emitted
399
+ bus.runCmd(someCommand); // final messages re-emitted, cleanup retained
389
400
  bus.dispose(); // clean shutdown
390
401
  ```
391
402
 
@@ -513,6 +524,12 @@ Use `drawer()` when the user should keep the main task visible while consulting
513
524
 
514
525
  Pane renderers return a `Surface` or a `LayoutNode`. The shell normalizes those outputs into the framed scroll/focus path for you.
515
526
 
527
+ Typed shell notes:
528
+
529
+ - `createFramedApp<PageModel, Msg>()` returns `FramedApp<PageModel, Msg>`
530
+ - page `update()` receives `FramePageMsg<Msg>` so raw `mouse` / `pulse` delivery is explicit
531
+ - wrapped shell commands carry `FramedAppMsg<Msg>` instead of collapsing frame/page wrappers into plain `Msg`
532
+
516
533
  See `examples/release-workbench/main.ts` for the canonical shell demo and `examples/app-frame/main.ts` for a compact focused example.
517
534
 
518
535
  Shell role split matters:
@@ -5,19 +5,19 @@
5
5
  * page frame state sync, and transition tick command.
6
6
  */
7
7
  import type { FramePage, CreateFramedAppOptions } from './app-frame.js';
8
- import type { InternalFrameModel, FrameAction } from './app-frame-types.js';
8
+ import type { InternalFrameModel, FrameAction, FramedAppMsg } from './app-frame-types.js';
9
9
  import type { Cmd } from './types.js';
10
10
  import type { DockDirection } from './panel-dock.js';
11
11
  /** Dispatch a frame-level action (tab switch, pane cycle, scroll, palette, help toggle, transitions). */
12
- export declare function applyFrameAction<PageModel, Msg>(action: FrameAction, model: InternalFrameModel<PageModel, Msg>, options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): [InternalFrameModel<PageModel, Msg>, Cmd<Msg>[]];
12
+ export declare function applyFrameAction<PageModel, Msg>(action: FrameAction, model: InternalFrameModel<PageModel, Msg>, options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): [InternalFrameModel<PageModel, Msg>, Cmd<FramedAppMsg<Msg>>[]];
13
13
  /** Cycle the active tab by `delta` positions, optionally starting a transition. */
14
- export declare function switchTab<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, delta: number, pagesById: Map<string, FramePage<PageModel, Msg>>, options: CreateFramedAppOptions<PageModel, Msg>): [InternalFrameModel<PageModel, Msg>, Cmd<Msg>[]];
14
+ export declare function switchTab<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, delta: number, pagesById: Map<string, FramePage<PageModel, Msg>>, options: CreateFramedAppOptions<PageModel, Msg>): [InternalFrameModel<PageModel, Msg>, Cmd<FramedAppMsg<Msg>>[]];
15
15
  /** Move focus to the next or previous pane in the active page's layout. */
16
16
  export declare function cyclePane<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, delta: number, pagesById: Map<string, FramePage<PageModel, Msg>>): InternalFrameModel<PageModel, Msg>;
17
17
  /** Apply a scroll action to the currently focused pane. */
18
18
  export declare function scrollFocusedPane<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, action: Extract<FrameAction, {
19
19
  type: 'scroll-up' | 'scroll-down' | 'page-up' | 'page-down' | 'top' | 'bottom' | 'scroll-left' | 'scroll-right';
20
- }>, pagesById: Map<string, FramePage<PageModel, Msg>>): InternalFrameModel<PageModel, Msg>;
20
+ }>, pagesById: Map<string, FramePage<PageModel, Msg>>, options: CreateFramedAppOptions<PageModel, Msg>): InternalFrameModel<PageModel, Msg>;
21
21
  /** Toggle minimize on the focused pane of the active page. */
22
22
  export declare function applyToggleMinimize<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): InternalFrameModel<PageModel, Msg>;
23
23
  /** Toggle maximize on the focused pane of the active page. */
@@ -29,5 +29,5 @@ export declare function syncPageFrameState<PageModel, Msg>(model: InternalFrameM
29
29
  /**
30
30
  * Create a TEA command that drives transition re-renders from the shared pulse.
31
31
  */
32
- export declare function createTransitionTickCmd<Msg>(durationMs: number, generation: number): Cmd<Msg>;
32
+ export declare function createTransitionTickCmd<Msg>(durationMs: number, generation: number): Cmd<FramedAppMsg<Msg>>;
33
33
  //# sourceMappingURL=app-frame-actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-actions.d.ts","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-actions.d.ts","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * page frame state sync, and transition tick command.
6
6
  */
7
7
  import { wrapFrameMsg } from './app-frame-types.js';
8
+ import { createSurface } from '@flyingrobots/bijou';
8
9
  import { createPanelVisibilityState, createPanelMaximizeState, toggleMinimized, restorePane, isMinimized, toggleMaximize, } from './panel-state.js';
9
10
  import { createPanelDockState, movePaneInContainer, resolveChildOrder, findPaneContainer, } from './panel-dock.js';
10
11
  import { createFocusAreaStateForSurface, focusAreaScrollBy, focusAreaScrollByX, focusAreaScrollToBottom, focusAreaScrollToTop, focusAreaPageDown, focusAreaPageUp, focusAreaScrollTo, focusAreaScrollToX, } from './focus-area.js';
@@ -12,11 +13,62 @@ import { timeline } from './timeline.js';
12
13
  import { EASINGS } from './spring.js';
13
14
  import { collectPaneIds, assertUniquePaneIds, findPaneNode, frameBodyRect, } from './app-frame-utils.js';
14
15
  import { framePaneOutputToSurface, renderFrameNode } from './app-frame-render.js';
16
+ let focusedPaneMeasureScratch = null;
17
+ function renderPaneSurfaceForMeasurement(output, width, height) {
18
+ const scratch = focusedPaneMeasureScratch;
19
+ focusedPaneMeasureScratch = framePaneOutputToSurface(output, width, height, scratch != null && scratch.width === width && scratch.height === height
20
+ ? scratch
21
+ : createSurface(width, height));
22
+ return focusedPaneMeasureScratch;
23
+ }
15
24
  /** Dispatch a frame-level action (tab switch, pane cycle, scroll, palette, help toggle, transitions). */
16
25
  export function applyFrameAction(action, model, options, pagesById) {
17
26
  switch (action.type) {
18
27
  case 'toggle-help':
19
28
  return [{ ...model, helpOpen: !model.helpOpen }, []];
29
+ case 'toggle-settings': {
30
+ const activePage = pagesById.get(model.activePageId);
31
+ const settings = options.settings?.({
32
+ model,
33
+ activePage,
34
+ pageModel: model.pageModels[model.activePageId],
35
+ });
36
+ if (settings == null || settings.sections.every((section) => section.rows.length === 0)) {
37
+ return [model, []];
38
+ }
39
+ const opening = !model.settingsOpen;
40
+ return [{
41
+ ...model,
42
+ settingsOpen: opening,
43
+ settingsFocusIndex: opening ? 0 : model.settingsFocusIndex,
44
+ settingsScrollY: opening ? 0 : model.settingsScrollY,
45
+ notificationCenterOpen: opening ? false : model.notificationCenterOpen,
46
+ helpOpen: opening ? false : model.helpOpen,
47
+ helpScrollY: opening ? 0 : model.helpScrollY,
48
+ commandPalette: opening ? undefined : model.commandPalette,
49
+ commandPaletteEntries: opening ? undefined : model.commandPaletteEntries,
50
+ commandPaletteTitle: opening ? undefined : model.commandPaletteTitle,
51
+ commandPaletteKind: opening ? undefined : model.commandPaletteKind,
52
+ }, []];
53
+ }
54
+ case 'toggle-notifications': {
55
+ if (!hasNotificationCenter(model, options, pagesById)) {
56
+ return [model, []];
57
+ }
58
+ return [{
59
+ ...model,
60
+ notificationCenterOpen: !model.notificationCenterOpen,
61
+ notificationCenterScrollY: model.notificationCenterOpen ? model.notificationCenterScrollY : 0,
62
+ settingsOpen: false,
63
+ helpOpen: false,
64
+ helpScrollY: 0,
65
+ commandPalette: undefined,
66
+ commandPaletteEntries: undefined,
67
+ commandPaletteTitle: undefined,
68
+ commandPaletteKind: undefined,
69
+ quitConfirmOpen: false,
70
+ }, []];
71
+ }
20
72
  case 'prev-tab':
21
73
  return switchTab(model, -1, pagesById, options);
22
74
  case 'next-tab':
@@ -26,10 +78,11 @@ export function applyFrameAction(action, model, options, pagesById) {
26
78
  case 'prev-pane':
27
79
  return [cyclePane(model, -1, pagesById), []];
28
80
  case 'open-palette':
81
+ case 'open-search':
29
82
  // Palette opening is gated by `enableCommandPalette` and handled in the
30
83
  // key-handler path of app-frame.ts → openCommandPalette(). This no-op
31
84
  // covers the recursive case (e.g., a palette frame-action entry that
32
- // would re-trigger open-palette while the palette is already open).
85
+ // would re-trigger palette opening while the palette is already open).
33
86
  return [model, []];
34
87
  case 'toggle-minimize':
35
88
  return [applyToggleMinimize(model, pagesById), []];
@@ -50,7 +103,7 @@ export function applyFrameAction(action, model, options, pagesById) {
50
103
  case 'bottom':
51
104
  case 'scroll-left':
52
105
  case 'scroll-right':
53
- return [scrollFocusedPane(model, action, pagesById), []];
106
+ return [scrollFocusedPane(model, action, pagesById, options), []];
54
107
  case 'runtime-issue':
55
108
  case 'notification-tick':
56
109
  return [model, []];
@@ -59,6 +112,19 @@ export function applyFrameAction(action, model, options, pagesById) {
59
112
  return [model, []];
60
113
  }
61
114
  }
115
+ function hasNotificationCenter(model, options, pagesById) {
116
+ const activePage = pagesById.get(model.activePageId);
117
+ if (activePage == null)
118
+ return options.runtimeNotifications !== false;
119
+ const pageModel = model.pageModels[model.activePageId];
120
+ const provided = options.notificationCenter?.({
121
+ model,
122
+ activePage,
123
+ pageModel,
124
+ runtimeNotifications: model.runtimeNotifications,
125
+ });
126
+ return provided != null || options.runtimeNotifications !== false;
127
+ }
62
128
  /** Cycle the active tab by `delta` positions, optionally starting a transition. */
63
129
  export function switchTab(model, delta, pagesById, options) {
64
130
  const idx = model.pageOrder.indexOf(model.activePageId);
@@ -129,14 +195,14 @@ export function cyclePane(model, delta, pagesById) {
129
195
  };
130
196
  }
131
197
  /** Apply a scroll action to the currently focused pane. */
132
- export function scrollFocusedPane(model, action, pagesById) {
198
+ export function scrollFocusedPane(model, action, pagesById, options) {
133
199
  const pageId = model.activePageId;
134
200
  const focusedPaneId = model.focusedPaneByPage[pageId];
135
201
  if (focusedPaneId == null)
136
202
  return model;
137
203
  const page = pagesById.get(pageId);
138
204
  const layoutTree = page.layout(model.pageModels[pageId]);
139
- const bodyRect = frameBodyRect(model.columns, model.rows);
205
+ const bodyRect = frameBodyRect(model.columns, model.rows, options.bodyTopRows ?? 1, options.bodyBottomRows ?? 1);
140
206
  const resolved = renderFrameNode(layoutTree, bodyRect, {
141
207
  model,
142
208
  pageId,
@@ -151,7 +217,7 @@ export function scrollFocusedPane(model, action, pagesById) {
151
217
  const paneNode = findPaneNode(layoutTree, focusedPaneId);
152
218
  if (paneNode == null)
153
219
  return model;
154
- const contentSurface = framePaneOutputToSurface(paneNode.render(paneRect.width, paneRect.height), paneRect.width, paneRect.height);
220
+ const contentSurface = renderPaneSurfaceForMeasurement(paneNode.render(paneRect.width, paneRect.height), paneRect.width, paneRect.height);
155
221
  let state = createFocusAreaStateForSurface(contentSurface, {
156
222
  width: paneRect.width,
157
223
  height: paneRect.height,
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-actions.js","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-actions.js","sourceRoot":"","sources":["../src/app-frame-actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { I18nCatalog, I18nCatalogKey, I18nDirection, I18nRuntime } from '@flyingrobots/bijou-i18n';
2
+ import type { NotificationHistoryFilter } from './notification.js';
3
+ export declare const FRAME_I18N_CATALOG: I18nCatalog;
4
+ export declare function frameMessage(i18n: I18nRuntime | undefined, id: string, fallback: string, values?: Readonly<Record<string, unknown>>): string;
5
+ export declare function frameKey(id: string): I18nCatalogKey;
6
+ export declare function frameDirection(i18n: I18nRuntime | undefined): I18nDirection;
7
+ export declare function frameStartAnchor(i18n: I18nRuntime | undefined): 'left' | 'right';
8
+ export declare function frameEndAnchor(i18n: I18nRuntime | undefined): 'left' | 'right';
9
+ export declare function frameModeLabel(i18n: I18nRuntime | undefined, mode: 'NORMAL' | 'PALETTE' | 'HELP' | 'QUIT' | 'SETTINGS' | 'NOTICES' | 'MODAL'): string;
10
+ export declare function frameNotificationFilterLabel(i18n: I18nRuntime | undefined, filter: NotificationHistoryFilter): string;
11
+ export declare function frameNotificationCue(i18n: I18nRuntime | undefined, liveCount: number, archivedCount: number): string | undefined;
12
+ //# sourceMappingURL=app-frame-i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-frame-i18n.d.ts","sourceRoot":"","sources":["../src/app-frame-i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAInE,eAAO,MAAM,kBAAkB,EAAE,WA4BhC,CAAC;AAkBF,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,GAC7C,MAAM,CAUR;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAEnD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAEhF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAE9E;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAC9E,MAAM,CAER;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,MAAM,EAAE,yBAAyB,GAChC,MAAM,CAQR;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAgBpB"}
@@ -0,0 +1,92 @@
1
+ const FRAME_I18N_NAMESPACE = 'bijou.shell';
2
+ export const FRAME_I18N_CATALOG = {
3
+ namespace: FRAME_I18N_NAMESPACE,
4
+ entries: [
5
+ message('palette.title', 'Command Palette'),
6
+ message('palette.hint', 'Enter select • Esc close'),
7
+ message('search.title', 'Search'),
8
+ message('settings.title', 'Settings'),
9
+ message('settings.footer', 'F2/Esc close • ↑/↓ rows • Enter toggle • / search • q quit'),
10
+ message('notifications.title', 'Notifications'),
11
+ message('notifications.footer', 'Shift+N close • f filter • j/k scroll • q quit'),
12
+ message('notifications.cue.liveArchived', 'notices:{liveCount}+{archivedCount}'),
13
+ message('notifications.cue.liveOnly', 'notices:{liveCount}'),
14
+ message('notifications.cue.archivedOnly', 'notices:{archivedCount}'),
15
+ message('notifications.filter.all', 'All'),
16
+ message('notifications.filter.actionable', 'Actionable'),
17
+ message('help.title', 'Keyboard Help'),
18
+ message('help.hint', 'j/k scroll • d/u page • g/G top/bottom • mouse wheel • ?/Esc close'),
19
+ message('quit.title', 'Quit?'),
20
+ message('quit.body', 'Quit this app?\n\nY quit • N stay'),
21
+ message('quit.footer', 'Y quit • N stay'),
22
+ message('mode.normal', 'NORMAL'),
23
+ message('mode.palette', 'PALETTE'),
24
+ message('mode.help', 'HELP'),
25
+ message('mode.quit', 'QUIT'),
26
+ message('mode.settings', 'SETTINGS'),
27
+ message('mode.notices', 'NOTICES'),
28
+ message('mode.modal', 'MODAL'),
29
+ ],
30
+ };
31
+ function message(id, value) {
32
+ return {
33
+ key: { namespace: FRAME_I18N_NAMESPACE, id },
34
+ kind: 'message',
35
+ sourceLocale: 'en',
36
+ values: { en: value },
37
+ };
38
+ }
39
+ function interpolate(template, values) {
40
+ return template.replace(/\{([^}]+)\}/g, (_match, rawKey) => {
41
+ const value = values[rawKey];
42
+ return value === undefined ? `{${rawKey}}` : String(value);
43
+ });
44
+ }
45
+ export function frameMessage(i18n, id, fallback, values = {}) {
46
+ if (i18n == null) {
47
+ return interpolate(fallback, values);
48
+ }
49
+ try {
50
+ return i18n.t(frameKey(id), values);
51
+ }
52
+ catch {
53
+ return interpolate(fallback, values);
54
+ }
55
+ }
56
+ export function frameKey(id) {
57
+ return { namespace: FRAME_I18N_NAMESPACE, id };
58
+ }
59
+ export function frameDirection(i18n) {
60
+ return i18n?.direction ?? 'ltr';
61
+ }
62
+ export function frameStartAnchor(i18n) {
63
+ return frameDirection(i18n) === 'rtl' ? 'right' : 'left';
64
+ }
65
+ export function frameEndAnchor(i18n) {
66
+ return frameDirection(i18n) === 'rtl' ? 'left' : 'right';
67
+ }
68
+ export function frameModeLabel(i18n, mode) {
69
+ return frameMessage(i18n, `mode.${mode.toLowerCase()}`, mode);
70
+ }
71
+ export function frameNotificationFilterLabel(i18n, filter) {
72
+ if (filter === 'ALL') {
73
+ return frameMessage(i18n, 'notifications.filter.all', 'All');
74
+ }
75
+ if (filter === 'ACTIONABLE') {
76
+ return frameMessage(i18n, 'notifications.filter.actionable', 'Actionable');
77
+ }
78
+ return filter;
79
+ }
80
+ export function frameNotificationCue(i18n, liveCount, archivedCount) {
81
+ if (liveCount > 0 && archivedCount > 0) {
82
+ return frameMessage(i18n, 'notifications.cue.liveArchived', 'notices:{liveCount}+{archivedCount}', { liveCount, archivedCount });
83
+ }
84
+ if (liveCount > 0) {
85
+ return frameMessage(i18n, 'notifications.cue.liveOnly', 'notices:{liveCount}', { liveCount });
86
+ }
87
+ if (archivedCount > 0) {
88
+ return frameMessage(i18n, 'notifications.cue.archivedOnly', 'notices:{archivedCount}', { archivedCount });
89
+ }
90
+ return undefined;
91
+ }
92
+ //# sourceMappingURL=app-frame-i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-frame-i18n.js","sourceRoot":"","sources":["../src/app-frame-i18n.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { FrameModel } from './app-frame.js';
2
+ import type { BindingSource } from './help.js';
3
+ import { type RuntimeStackLayer, type RuntimeViewStack } from './runtime-engine.js';
4
+ export type FrameLayerKind = 'workspace' | 'page-modal' | 'help' | 'settings' | 'notification-center' | 'search' | 'command-palette' | 'quit-confirm';
5
+ export type FrameLayerOwner = 'frame' | 'page';
6
+ export type FrameLayerHintSource = string | BindingSource;
7
+ export interface FrameLayerMetadata {
8
+ readonly title?: string;
9
+ readonly hintSource?: FrameLayerHintSource;
10
+ readonly helpSource?: BindingSource;
11
+ }
12
+ export interface FrameLayerDescriptor {
13
+ readonly id: string;
14
+ readonly kind: FrameLayerKind;
15
+ readonly owner: FrameLayerOwner;
16
+ readonly inputMapId: string;
17
+ readonly dismissible: boolean;
18
+ readonly blocksUnderlyingInput: boolean;
19
+ readonly title?: string;
20
+ readonly hintSource?: FrameLayerHintSource;
21
+ readonly helpSource?: BindingSource;
22
+ }
23
+ export interface DescribeFrameLayerStackOptions {
24
+ readonly pageModalOpen?: boolean;
25
+ readonly layers?: Partial<Record<FrameLayerKind, FrameLayerMetadata>>;
26
+ }
27
+ export type FrameRuntimeLayer = RuntimeStackLayer<FrameLayerDescriptor>;
28
+ export type FrameRuntimeViewStack = RuntimeViewStack<FrameLayerDescriptor>;
29
+ export declare function describeFrameRuntimeViewStack<PageModel>(model: Pick<FrameModel<PageModel>, 'helpOpen' | 'commandPalette' | 'commandPaletteKind' | 'settingsOpen' | 'notificationCenterOpen' | 'quitConfirmOpen'>, options?: DescribeFrameLayerStackOptions): FrameRuntimeViewStack;
30
+ export declare function describeFrameLayerStack<PageModel>(model: Pick<FrameModel<PageModel>, 'helpOpen' | 'commandPalette' | 'commandPaletteKind' | 'settingsOpen' | 'notificationCenterOpen' | 'quitConfirmOpen'>, options?: DescribeFrameLayerStackOptions): readonly FrameLayerDescriptor[];
31
+ export declare function activeFrameLayer<PageModel>(model: Pick<FrameModel<PageModel>, 'helpOpen' | 'commandPalette' | 'commandPaletteKind' | 'settingsOpen' | 'notificationCenterOpen' | 'quitConfirmOpen'>, options?: DescribeFrameLayerStackOptions): FrameLayerDescriptor;
32
+ export declare function underlyingFrameLayer<PageModel>(model: Pick<FrameModel<PageModel>, 'helpOpen' | 'commandPalette' | 'commandPaletteKind' | 'settingsOpen' | 'notificationCenterOpen' | 'quitConfirmOpen'>, options?: DescribeFrameLayerStackOptions): FrameLayerDescriptor | undefined;
33
+ //# sourceMappingURL=app-frame-layers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-frame-layers.d.ts","sourceRoot":"","sources":["../src/app-frame-layers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAIL,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,YAAY,GACZ,MAAM,GACN,UAAU,GACV,qBAAqB,GACrB,QAAQ,GACR,iBAAiB,GACjB,cAAc,CAAC;AAEnB,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,aAAa,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAyG3E,wBAAgB,6BAA6B,CAAC,SAAS,EACrD,KAAK,EAAE,IAAI,CACT,UAAU,CAAC,SAAS,CAAC,EACnB,UAAU,GACV,gBAAgB,GAChB,oBAAoB,GACpB,cAAc,GACd,wBAAwB,GACxB,iBAAiB,CACpB,EACD,OAAO,GAAE,8BAAmC,GAC3C,qBAAqB,CAqCvB;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAC/C,KAAK,EAAE,IAAI,CACT,UAAU,CAAC,SAAS,CAAC,EACnB,UAAU,GACV,gBAAgB,GAChB,oBAAoB,GACpB,cAAc,GACd,wBAAwB,GACxB,iBAAiB,CACpB,EACD,OAAO,GAAE,8BAAmC,GAC3C,SAAS,oBAAoB,EAAE,CAQjC;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EACxC,KAAK,EAAE,IAAI,CACT,UAAU,CAAC,SAAS,CAAC,EACnB,UAAU,GACV,gBAAgB,GAChB,oBAAoB,GACpB,cAAc,GACd,wBAAwB,GACxB,iBAAiB,CACpB,EACD,OAAO,GAAE,8BAAmC,GAC3C,oBAAoB,CAOtB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAC5C,KAAK,EAAE,IAAI,CACT,UAAU,CAAC,SAAS,CAAC,EACnB,UAAU,GACV,gBAAgB,GAChB,oBAAoB,GACpB,cAAc,GACd,wBAAwB,GACxB,iBAAiB,CACpB,EACD,OAAO,GAAE,8BAAmC,GAC3C,oBAAoB,GAAG,SAAS,CAKlC"}
@@ -0,0 +1,136 @@
1
+ import { activeRuntimeView, createRuntimeViewStack, pushRuntimeView, } from './runtime-engine.js';
2
+ const FRAME_LAYER_BASE = {
3
+ workspace: {
4
+ id: 'workspace',
5
+ kind: 'workspace',
6
+ owner: 'frame',
7
+ inputMapId: 'frame-workspace',
8
+ dismissible: false,
9
+ blocksUnderlyingInput: false,
10
+ },
11
+ 'page-modal': {
12
+ id: 'page-modal',
13
+ kind: 'page-modal',
14
+ owner: 'page',
15
+ inputMapId: 'page-modal',
16
+ dismissible: true,
17
+ blocksUnderlyingInput: true,
18
+ },
19
+ help: {
20
+ id: 'help',
21
+ kind: 'help',
22
+ owner: 'frame',
23
+ inputMapId: 'frame-help',
24
+ dismissible: true,
25
+ blocksUnderlyingInput: true,
26
+ },
27
+ settings: {
28
+ id: 'settings',
29
+ kind: 'settings',
30
+ owner: 'frame',
31
+ inputMapId: 'frame-settings',
32
+ dismissible: true,
33
+ blocksUnderlyingInput: true,
34
+ },
35
+ 'notification-center': {
36
+ id: 'notification-center',
37
+ kind: 'notification-center',
38
+ owner: 'frame',
39
+ inputMapId: 'frame-notification-center',
40
+ dismissible: true,
41
+ blocksUnderlyingInput: true,
42
+ },
43
+ search: {
44
+ id: 'search',
45
+ kind: 'search',
46
+ owner: 'frame',
47
+ inputMapId: 'frame-search',
48
+ dismissible: true,
49
+ blocksUnderlyingInput: true,
50
+ },
51
+ 'command-palette': {
52
+ id: 'command-palette',
53
+ kind: 'command-palette',
54
+ owner: 'frame',
55
+ inputMapId: 'frame-command-palette',
56
+ dismissible: true,
57
+ blocksUnderlyingInput: true,
58
+ },
59
+ 'quit-confirm': {
60
+ id: 'quit-confirm',
61
+ kind: 'quit-confirm',
62
+ owner: 'frame',
63
+ inputMapId: 'frame-quit-confirm',
64
+ dismissible: true,
65
+ blocksUnderlyingInput: true,
66
+ },
67
+ };
68
+ function frameLayer(kind, options) {
69
+ return {
70
+ ...FRAME_LAYER_BASE[kind],
71
+ ...options.layers?.[kind],
72
+ };
73
+ }
74
+ function toRuntimeViewLayer(descriptor) {
75
+ return {
76
+ id: descriptor.id,
77
+ kind: descriptor.kind,
78
+ dismissible: descriptor.dismissible,
79
+ blocksBelow: descriptor.blocksUnderlyingInput,
80
+ model: descriptor,
81
+ };
82
+ }
83
+ function descriptorFromRuntimeLayer(layer) {
84
+ if (layer == null) {
85
+ return undefined;
86
+ }
87
+ if (layer.model == null) {
88
+ throw new Error(`describeFrameRuntimeViewStack: runtime layer "${layer.id}" is missing its frame descriptor model`);
89
+ }
90
+ return layer.model;
91
+ }
92
+ export function describeFrameRuntimeViewStack(model, options = {}) {
93
+ let stack = createRuntimeViewStack(toRuntimeViewLayer(frameLayer('workspace', options)));
94
+ if (options.pageModalOpen) {
95
+ stack = pushRuntimeView(stack, toRuntimeViewLayer(frameLayer('page-modal', options)));
96
+ }
97
+ if (model.settingsOpen) {
98
+ stack = pushRuntimeView(stack, toRuntimeViewLayer(frameLayer('settings', options)));
99
+ }
100
+ if (model.helpOpen) {
101
+ stack = pushRuntimeView(stack, toRuntimeViewLayer(frameLayer('help', options)));
102
+ }
103
+ if (model.notificationCenterOpen) {
104
+ stack = pushRuntimeView(stack, toRuntimeViewLayer(frameLayer('notification-center', options)));
105
+ }
106
+ if (model.commandPalette != null) {
107
+ const kind = model.commandPaletteKind === 'search' ? 'search' : 'command-palette';
108
+ stack = pushRuntimeView(stack, toRuntimeViewLayer(frameLayer(kind, options)));
109
+ }
110
+ if (model.quitConfirmOpen) {
111
+ stack = pushRuntimeView(stack, toRuntimeViewLayer(frameLayer('quit-confirm', options)));
112
+ }
113
+ return stack;
114
+ }
115
+ export function describeFrameLayerStack(model, options = {}) {
116
+ return describeFrameRuntimeViewStack(model, options).layers.map((layer) => {
117
+ const descriptor = descriptorFromRuntimeLayer(layer);
118
+ if (descriptor == null) {
119
+ throw new Error(`describeFrameLayerStack: runtime layer "${layer.id}" is missing its frame descriptor model`);
120
+ }
121
+ return descriptor;
122
+ });
123
+ }
124
+ export function activeFrameLayer(model, options = {}) {
125
+ const activeLayer = activeRuntimeView(describeFrameRuntimeViewStack(model, options));
126
+ const descriptor = descriptorFromRuntimeLayer(activeLayer);
127
+ if (descriptor == null) {
128
+ throw new Error('activeFrameLayer: frame layer stack is missing an active descriptor');
129
+ }
130
+ return descriptor;
131
+ }
132
+ export function underlyingFrameLayer(model, options = {}) {
133
+ const stack = describeFrameRuntimeViewStack(model, options);
134
+ return descriptorFromRuntimeLayer(stack.layers.length > 1 ? stack.layers[stack.layers.length - 2] : undefined);
135
+ }
136
+ //# sourceMappingURL=app-frame-layers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-frame-layers.js","sourceRoot":"","sources":["../src/app-frame-layers.ts"],"names":[],"mappings":"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"}