@flyingrobots/bijou-tui 3.1.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.
Files changed (158) hide show
  1. package/LICENSE +159 -21
  2. package/README.md +205 -39
  3. package/dist/app-frame-actions.d.ts +5 -5
  4. package/dist/app-frame-actions.d.ts.map +1 -1
  5. package/dist/app-frame-actions.js +74 -9
  6. package/dist/app-frame-actions.js.map +1 -1
  7. package/dist/app-frame-i18n.d.ts +12 -0
  8. package/dist/app-frame-i18n.d.ts.map +1 -0
  9. package/dist/app-frame-i18n.js +92 -0
  10. package/dist/app-frame-i18n.js.map +1 -0
  11. package/dist/app-frame-layers.d.ts +29 -0
  12. package/dist/app-frame-layers.d.ts.map +1 -0
  13. package/dist/app-frame-layers.js +104 -0
  14. package/dist/app-frame-layers.js.map +1 -0
  15. package/dist/app-frame-palette.d.ts +6 -2
  16. package/dist/app-frame-palette.d.ts.map +1 -1
  17. package/dist/app-frame-palette.js +42 -10
  18. package/dist/app-frame-palette.js.map +1 -1
  19. package/dist/app-frame-render.d.ts +28 -14
  20. package/dist/app-frame-render.d.ts.map +1 -1
  21. package/dist/app-frame-render.js +285 -138
  22. package/dist/app-frame-render.js.map +1 -1
  23. package/dist/app-frame-types.d.ts +41 -21
  24. package/dist/app-frame-types.d.ts.map +1 -1
  25. package/dist/app-frame-types.js +8 -6
  26. package/dist/app-frame-types.js.map +1 -1
  27. package/dist/app-frame-utils.d.ts +8 -3
  28. package/dist/app-frame-utils.d.ts.map +1 -1
  29. package/dist/app-frame-utils.js +42 -27
  30. package/dist/app-frame-utils.js.map +1 -1
  31. package/dist/app-frame.d.ts +128 -12
  32. package/dist/app-frame.d.ts.map +1 -1
  33. package/dist/app-frame.js +1212 -91
  34. package/dist/app-frame.js.map +1 -1
  35. package/dist/browsable-list.d.ts +20 -1
  36. package/dist/browsable-list.d.ts.map +1 -1
  37. package/dist/browsable-list.js +48 -10
  38. package/dist/browsable-list.js.map +1 -1
  39. package/dist/collection-surface.d.ts +8 -0
  40. package/dist/collection-surface.d.ts.map +1 -0
  41. package/dist/collection-surface.js +41 -0
  42. package/dist/collection-surface.js.map +1 -0
  43. package/dist/command-palette.d.ts +17 -1
  44. package/dist/command-palette.d.ts.map +1 -1
  45. package/dist/command-palette.js +50 -20
  46. package/dist/command-palette.js.map +1 -1
  47. package/dist/commands.js +1 -1
  48. package/dist/commands.js.map +1 -1
  49. package/dist/css/text-style.d.ts +2 -1
  50. package/dist/css/text-style.d.ts.map +1 -1
  51. package/dist/css/text-style.js +33 -0
  52. package/dist/css/text-style.js.map +1 -1
  53. package/dist/design-language.d.ts +49 -0
  54. package/dist/design-language.d.ts.map +1 -0
  55. package/dist/design-language.js +70 -0
  56. package/dist/design-language.js.map +1 -0
  57. package/dist/driver.d.ts +6 -1
  58. package/dist/driver.d.ts.map +1 -1
  59. package/dist/driver.js +3 -0
  60. package/dist/driver.js.map +1 -1
  61. package/dist/eventbus.d.ts.map +1 -1
  62. package/dist/eventbus.js +21 -1
  63. package/dist/eventbus.js.map +1 -1
  64. package/dist/file-picker.d.ts +19 -1
  65. package/dist/file-picker.d.ts.map +1 -1
  66. package/dist/file-picker.js +47 -20
  67. package/dist/file-picker.js.map +1 -1
  68. package/dist/flex.d.ts +35 -1
  69. package/dist/flex.d.ts.map +1 -1
  70. package/dist/flex.js +127 -1
  71. package/dist/flex.js.map +1 -1
  72. package/dist/focus-area.d.ts +20 -1
  73. package/dist/focus-area.d.ts.map +1 -1
  74. package/dist/focus-area.js +107 -12
  75. package/dist/focus-area.js.map +1 -1
  76. package/dist/grid.d.ts +10 -0
  77. package/dist/grid.d.ts.map +1 -1
  78. package/dist/grid.js +25 -0
  79. package/dist/grid.js.map +1 -1
  80. package/dist/help.d.ts +41 -0
  81. package/dist/help.d.ts.map +1 -1
  82. package/dist/help.js +50 -0
  83. package/dist/help.js.map +1 -1
  84. package/dist/index.d.ts +23 -17
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +22 -16
  87. package/dist/index.js.map +1 -1
  88. package/dist/inspector-drawer.d.ts +36 -0
  89. package/dist/inspector-drawer.d.ts.map +1 -0
  90. package/dist/inspector-drawer.js +68 -0
  91. package/dist/inspector-drawer.js.map +1 -0
  92. package/dist/layout-node-surface.d.ts +17 -0
  93. package/dist/layout-node-surface.d.ts.map +1 -0
  94. package/dist/layout-node-surface.js +61 -0
  95. package/dist/layout-node-surface.js.map +1 -0
  96. package/dist/navigable-table.d.ts +16 -1
  97. package/dist/navigable-table.d.ts.map +1 -1
  98. package/dist/navigable-table.js +32 -1
  99. package/dist/navigable-table.js.map +1 -1
  100. package/dist/notification.d.ts +26 -1
  101. package/dist/notification.d.ts.map +1 -1
  102. package/dist/notification.js +294 -41
  103. package/dist/notification.js.map +1 -1
  104. package/dist/overlay.d.ts +29 -8
  105. package/dist/overlay.d.ts.map +1 -1
  106. package/dist/overlay.js +248 -137
  107. package/dist/overlay.js.map +1 -1
  108. package/dist/pager.d.ts +16 -0
  109. package/dist/pager.d.ts.map +1 -1
  110. package/dist/pager.js +61 -1
  111. package/dist/pager.js.map +1 -1
  112. package/dist/runtime-engine.d.ts +223 -0
  113. package/dist/runtime-engine.d.ts.map +1 -0
  114. package/dist/runtime-engine.js +457 -0
  115. package/dist/runtime-engine.js.map +1 -0
  116. package/dist/runtime.d.ts.map +1 -1
  117. package/dist/runtime.js +33 -19
  118. package/dist/runtime.js.map +1 -1
  119. package/dist/shell-quit.d.ts +12 -0
  120. package/dist/shell-quit.d.ts.map +1 -0
  121. package/dist/shell-quit.js +36 -0
  122. package/dist/shell-quit.js.map +1 -0
  123. package/dist/split-pane.d.ts +12 -1
  124. package/dist/split-pane.d.ts.map +1 -1
  125. package/dist/split-pane.js +31 -1
  126. package/dist/split-pane.js.map +1 -1
  127. package/dist/status-bar.d.ts +12 -0
  128. package/dist/status-bar.d.ts.map +1 -1
  129. package/dist/status-bar.js +45 -16
  130. package/dist/status-bar.js.map +1 -1
  131. package/dist/subapp/mount.d.ts.map +1 -1
  132. package/dist/subapp/mount.js +3 -0
  133. package/dist/subapp/mount.js.map +1 -1
  134. package/dist/surface-layout.d.ts +19 -0
  135. package/dist/surface-layout.d.ts.map +1 -0
  136. package/dist/surface-layout.js +87 -0
  137. package/dist/surface-layout.js.map +1 -0
  138. package/dist/transition-shaders.d.ts +10 -8
  139. package/dist/transition-shaders.d.ts.map +1 -1
  140. package/dist/transition-shaders.js +65 -19
  141. package/dist/transition-shaders.js.map +1 -1
  142. package/dist/types.d.ts +21 -7
  143. package/dist/types.d.ts.map +1 -1
  144. package/dist/types.js +11 -0
  145. package/dist/types.js.map +1 -1
  146. package/dist/view-output.d.ts +5 -4
  147. package/dist/view-output.d.ts.map +1 -1
  148. package/dist/view-output.js +37 -29
  149. package/dist/view-output.js.map +1 -1
  150. package/dist/viewport.d.ts +30 -1
  151. package/dist/viewport.d.ts.map +1 -1
  152. package/dist/viewport.js +77 -1
  153. package/dist/viewport.js.map +1 -1
  154. package/package.json +6 -3
  155. package/dist/layout-v3.d.ts +0 -10
  156. package/dist/layout-v3.d.ts.map +0 -1
  157. package/dist/layout-v3.js +0 -35
  158. package/dist/layout-v3.js.map +0 -1
@@ -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,18 +5,70 @@
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
- import { createFocusAreaState, focusAreaScrollBy, focusAreaScrollByX, focusAreaScrollToBottom, focusAreaScrollToTop, focusAreaPageDown, focusAreaPageUp, focusAreaScrollTo, focusAreaScrollToX, } from './focus-area.js';
11
+ import { createFocusAreaStateForSurface, focusAreaScrollBy, focusAreaScrollByX, focusAreaScrollToBottom, focusAreaScrollToTop, focusAreaPageDown, focusAreaPageUp, focusAreaScrollTo, focusAreaScrollToX, } from './focus-area.js';
11
12
  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
- import { framePaneOutputToString, renderFrameNode } from './app-frame-render.js';
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,9 +217,8 @@ export function scrollFocusedPane(model, action, pagesById) {
151
217
  const paneNode = findPaneNode(layoutTree, focusedPaneId);
152
218
  if (paneNode == null)
153
219
  return model;
154
- const content = framePaneOutputToString(paneNode.render(paneRect.width, paneRect.height), paneRect.width, paneRect.height);
155
- let state = createFocusAreaState({
156
- content,
220
+ const contentSurface = renderPaneSurfaceForMeasurement(paneNode.render(paneRect.width, paneRect.height), paneRect.width, paneRect.height);
221
+ let state = createFocusAreaStateForSurface(contentSurface, {
157
222
  width: paneRect.width,
158
223
  height: paneRect.height,
159
224
  overflowX: paneNode.overflowX ?? 'hidden',
@@ -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,29 @@
1
+ import type { FrameModel } from './app-frame.js';
2
+ import type { BindingSource } from './help.js';
3
+ export type FrameLayerKind = 'workspace' | 'page-modal' | 'help' | 'settings' | 'notification-center' | 'search' | 'command-palette' | 'quit-confirm';
4
+ export type FrameLayerOwner = 'frame' | 'page';
5
+ export type FrameLayerHintSource = string | BindingSource;
6
+ export interface FrameLayerMetadata {
7
+ readonly title?: string;
8
+ readonly hintSource?: FrameLayerHintSource;
9
+ readonly helpSource?: BindingSource;
10
+ }
11
+ export interface FrameLayerDescriptor {
12
+ readonly id: string;
13
+ readonly kind: FrameLayerKind;
14
+ readonly owner: FrameLayerOwner;
15
+ readonly inputMapId: string;
16
+ readonly dismissible: boolean;
17
+ readonly blocksUnderlyingInput: boolean;
18
+ readonly title?: string;
19
+ readonly hintSource?: FrameLayerHintSource;
20
+ readonly helpSource?: BindingSource;
21
+ }
22
+ export interface DescribeFrameLayerStackOptions {
23
+ readonly pageModalOpen?: boolean;
24
+ readonly layers?: Partial<Record<FrameLayerKind, FrameLayerMetadata>>;
25
+ }
26
+ export declare function describeFrameLayerStack<PageModel>(model: Pick<FrameModel<PageModel>, 'helpOpen' | 'commandPalette' | 'commandPaletteKind' | 'settingsOpen' | 'notificationCenterOpen' | 'quitConfirmOpen'>, options?: DescribeFrameLayerStackOptions): readonly FrameLayerDescriptor[];
27
+ export declare function activeFrameLayer<PageModel>(model: Pick<FrameModel<PageModel>, 'helpOpen' | 'commandPalette' | 'commandPaletteKind' | 'settingsOpen' | 'notificationCenterOpen' | 'quitConfirmOpen'>, options?: DescribeFrameLayerStackOptions): FrameLayerDescriptor;
28
+ export declare function underlyingFrameLayer<PageModel>(model: Pick<FrameModel<PageModel>, 'helpOpen' | 'commandPalette' | 'commandPaletteKind' | 'settingsOpen' | 'notificationCenterOpen' | 'quitConfirmOpen'>, options?: DescribeFrameLayerStackOptions): FrameLayerDescriptor | undefined;
29
+ //# 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;AAE/C,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;AA+ED,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,CA6BjC;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,CAGtB;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,CAGlC"}
@@ -0,0 +1,104 @@
1
+ const FRAME_LAYER_BASE = {
2
+ workspace: {
3
+ id: 'workspace',
4
+ kind: 'workspace',
5
+ owner: 'frame',
6
+ inputMapId: 'frame-workspace',
7
+ dismissible: false,
8
+ blocksUnderlyingInput: false,
9
+ },
10
+ 'page-modal': {
11
+ id: 'page-modal',
12
+ kind: 'page-modal',
13
+ owner: 'page',
14
+ inputMapId: 'page-modal',
15
+ dismissible: true,
16
+ blocksUnderlyingInput: true,
17
+ },
18
+ help: {
19
+ id: 'help',
20
+ kind: 'help',
21
+ owner: 'frame',
22
+ inputMapId: 'frame-help',
23
+ dismissible: true,
24
+ blocksUnderlyingInput: true,
25
+ },
26
+ settings: {
27
+ id: 'settings',
28
+ kind: 'settings',
29
+ owner: 'frame',
30
+ inputMapId: 'frame-settings',
31
+ dismissible: true,
32
+ blocksUnderlyingInput: true,
33
+ },
34
+ 'notification-center': {
35
+ id: 'notification-center',
36
+ kind: 'notification-center',
37
+ owner: 'frame',
38
+ inputMapId: 'frame-notification-center',
39
+ dismissible: true,
40
+ blocksUnderlyingInput: true,
41
+ },
42
+ search: {
43
+ id: 'search',
44
+ kind: 'search',
45
+ owner: 'frame',
46
+ inputMapId: 'frame-search',
47
+ dismissible: true,
48
+ blocksUnderlyingInput: true,
49
+ },
50
+ 'command-palette': {
51
+ id: 'command-palette',
52
+ kind: 'command-palette',
53
+ owner: 'frame',
54
+ inputMapId: 'frame-command-palette',
55
+ dismissible: true,
56
+ blocksUnderlyingInput: true,
57
+ },
58
+ 'quit-confirm': {
59
+ id: 'quit-confirm',
60
+ kind: 'quit-confirm',
61
+ owner: 'frame',
62
+ inputMapId: 'frame-quit-confirm',
63
+ dismissible: true,
64
+ blocksUnderlyingInput: true,
65
+ },
66
+ };
67
+ function frameLayer(kind, options) {
68
+ return {
69
+ ...FRAME_LAYER_BASE[kind],
70
+ ...options.layers?.[kind],
71
+ };
72
+ }
73
+ export function describeFrameLayerStack(model, options = {}) {
74
+ const stack = [frameLayer('workspace', options)];
75
+ if (options.pageModalOpen) {
76
+ stack.push(frameLayer('page-modal', options));
77
+ }
78
+ if (model.settingsOpen) {
79
+ stack.push(frameLayer('settings', options));
80
+ }
81
+ if (model.helpOpen) {
82
+ stack.push(frameLayer('help', options));
83
+ }
84
+ if (model.notificationCenterOpen) {
85
+ stack.push(frameLayer('notification-center', options));
86
+ }
87
+ if (model.commandPalette != null) {
88
+ const kind = model.commandPaletteKind === 'search' ? 'search' : 'command-palette';
89
+ stack.push(frameLayer(kind, options));
90
+ }
91
+ if (model.quitConfirmOpen) {
92
+ stack.push(frameLayer('quit-confirm', options));
93
+ }
94
+ return stack;
95
+ }
96
+ export function activeFrameLayer(model, options = {}) {
97
+ const stack = describeFrameLayerStack(model, options);
98
+ return stack[stack.length - 1];
99
+ }
100
+ export function underlyingFrameLayer(model, options = {}) {
101
+ const stack = describeFrameLayerStack(model, options);
102
+ return stack.length > 1 ? stack[stack.length - 2] : undefined;
103
+ }
104
+ //# 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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"}
@@ -4,13 +4,17 @@
4
4
  * Handles palette key routing, entry building, and palette state management.
5
5
  */
6
6
  import type { FramePage, CreateFramedAppOptions } from './app-frame.js';
7
- import type { InternalFrameModel, FrameAction, PaletteAction, PaletteEntry } from './app-frame-types.js';
7
+ import type { InternalFrameModel, FrameAction, PaletteAction, PaletteEntry, FramedAppMsg } from './app-frame-types.js';
8
8
  import type { Cmd, KeyMsg } from './types.js';
9
9
  import type { KeyMap } from './keybindings.js';
10
10
  /** Route a key press through the command palette, returning updated model and commands. */
11
- export declare function handlePaletteKey<PageModel, Msg>(msg: KeyMsg, model: InternalFrameModel<PageModel, Msg>, paletteKeys: KeyMap<PaletteAction>, options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): [InternalFrameModel<PageModel, Msg>, Cmd<Msg>[]];
11
+ export declare function handlePaletteKey<PageModel, Msg>(msg: KeyMsg, model: InternalFrameModel<PageModel, Msg>, paletteKeys: KeyMap<PaletteAction>, options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): [InternalFrameModel<PageModel, Msg>, Cmd<FramedAppMsg<Msg>>[]];
12
12
  /** Initialize the command palette with entries from frame, global, page key maps, and custom page command items. */
13
13
  export declare function openCommandPalette<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, frameKeys: KeyMap<FrameAction>, options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): InternalFrameModel<PageModel, Msg>;
14
+ /** Initialize a page-scoped search palette, falling back to page command items when needed. */
15
+ export declare function openSearchPalette<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, frameKeys: KeyMap<FrameAction>, options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): InternalFrameModel<PageModel, Msg>;
14
16
  /** Collect all available commands from frame, global, page, and custom sources. */
15
17
  export declare function buildPaletteEntries<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, frameKeys: KeyMap<FrameAction>, options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): readonly PaletteEntry<Msg>[];
18
+ /** Collect page-scoped search items, falling back to page command items when search items are absent. */
19
+ export declare function buildSearchEntries<PageModel, Msg>(model: InternalFrameModel<PageModel, Msg>, _frameKeys: KeyMap<FrameAction>, _options: CreateFramedAppOptions<PageModel, Msg>, pagesById: Map<string, FramePage<PageModel, Msg>>): readonly PaletteEntry<Msg>[];
16
20
  //# sourceMappingURL=app-frame-palette.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-palette.d.ts","sourceRoot":"","sources":["../src/app-frame-palette.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,YAAY,EACb,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAY/C,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAC7C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EACzC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,EAClC,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,EAC/C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAChD,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CA4DlD;AAED,oHAAoH;AACpH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAC/C,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EACzC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAC9B,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,EAC/C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAChD,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAQpC;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAChD,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EACzC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAC9B,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,EAC/C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAChD,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CA+E9B"}
1
+ {"version":3,"file":"app-frame-palette.d.ts","sourceRoot":"","sources":["../src/app-frame-palette.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,YAAY,EAEZ,YAAY,EACb,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAa/C,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAC7C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EACzC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,EAClC,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,EAC/C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAChD,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CA4DhE;AAED,oHAAoH;AACpH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAC/C,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EACzC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAC9B,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,EAC/C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAChD,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAQpC;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAC9C,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EACzC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAC9B,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,EAC/C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAChD,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,CAKpC;AAkBD,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAChD,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EACzC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAC9B,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,EAC/C,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAChD,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CA+E9B;AAED,yGAAyG;AACzG,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAC/C,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE,GAAG,CAAC,EACzC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,EAC/B,QAAQ,EAAE,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC,EAChD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAChD,SAAS,YAAY,CAAC,GAAG,CAAC,EAAE,CAgB9B"}
@@ -6,6 +6,7 @@
6
6
  import { comboToMsg, emitMsg, emitMsgForPage } from './app-frame-types.js';
7
7
  import { applyFrameAction } from './app-frame-actions.js';
8
8
  import { formatKeyCombo } from './keybindings.js';
9
+ import { frameMessage } from './app-frame-i18n.js';
9
10
  import { createCommandPaletteState, cpFilter, cpFocusNext, cpFocusPrev, cpPageDown, cpPageUp, cpSelectedItem, } from './command-palette.js';
10
11
  /** Route a key press through the command palette, returning updated model and commands. */
11
12
  export function handlePaletteKey(msg, model, paletteKeys, options, pagesById) {
@@ -22,15 +23,21 @@ export function handlePaletteKey(msg, model, paletteKeys, options, pagesById) {
22
23
  case 'cp-page-up':
23
24
  return [{ ...model, commandPalette: cpPageUp(cp) }, []];
24
25
  case 'cp-close':
25
- return [{ ...model, commandPalette: undefined, commandPaletteEntries: undefined }, []];
26
+ return [{ ...model, commandPalette: undefined, commandPaletteEntries: undefined, commandPaletteTitle: undefined, commandPaletteKind: undefined }, []];
26
27
  case 'cp-select': {
27
28
  const selected = cpSelectedItem(cp);
28
29
  if (selected == null) {
29
- return [{ ...model, commandPalette: undefined, commandPaletteEntries: undefined }, []];
30
+ return [{ ...model, commandPalette: undefined, commandPaletteEntries: undefined, commandPaletteTitle: undefined, commandPaletteKind: undefined }, []];
30
31
  }
31
32
  const entry = model.commandPaletteEntries?.find((x) => x.id === selected.id);
32
33
  if (entry?.frameAction != null) {
33
- const closed = { ...model, commandPalette: undefined, commandPaletteEntries: undefined };
34
+ const closed = {
35
+ ...model,
36
+ commandPalette: undefined,
37
+ commandPaletteEntries: undefined,
38
+ commandPaletteTitle: undefined,
39
+ commandPaletteKind: undefined,
40
+ };
34
41
  return applyFrameAction(entry.frameAction, closed, options, pagesById);
35
42
  }
36
43
  if (entry?.msgAction !== undefined) {
@@ -41,9 +48,11 @@ export function handlePaletteKey(msg, model, paletteKeys, options, pagesById) {
41
48
  ...model,
42
49
  commandPalette: undefined,
43
50
  commandPaletteEntries: undefined,
51
+ commandPaletteTitle: undefined,
52
+ commandPaletteKind: undefined,
44
53
  }, [cmd]];
45
54
  }
46
- return [{ ...model, commandPalette: undefined, commandPaletteEntries: undefined }, []];
55
+ return [{ ...model, commandPalette: undefined, commandPaletteEntries: undefined, commandPaletteTitle: undefined, commandPaletteKind: undefined }, []];
47
56
  }
48
57
  }
49
58
  }
@@ -51,12 +60,6 @@ export function handlePaletteKey(msg, model, paletteKeys, options, pagesById) {
51
60
  const next = cpFilter(cp, cp.query.slice(0, -1));
52
61
  return [{ ...model, commandPalette: next }, []];
53
62
  }
54
- if (msg.ctrl && msg.key === 'c') {
55
- return [{ ...model, commandPalette: undefined, commandPaletteEntries: undefined }, []];
56
- }
57
- if (!msg.ctrl && !msg.alt && !msg.shift && msg.key === 'q' && cp.query.length === 0) {
58
- return [{ ...model, commandPalette: undefined, commandPaletteEntries: undefined }, []];
59
- }
60
63
  if (!msg.ctrl && !msg.alt && msg.key.length === 1) {
61
64
  const next = cpFilter(cp, cp.query + msg.key);
62
65
  return [{ ...model, commandPalette: next }, []];
@@ -66,11 +69,23 @@ export function handlePaletteKey(msg, model, paletteKeys, options, pagesById) {
66
69
  /** Initialize the command palette with entries from frame, global, page key maps, and custom page command items. */
67
70
  export function openCommandPalette(model, frameKeys, options, pagesById) {
68
71
  const entries = buildPaletteEntries(model, frameKeys, options, pagesById);
72
+ return openPaletteModel(model, entries, frameMessage(options.i18n, 'palette.title', 'Command Palette'), 'command');
73
+ }
74
+ /** Initialize a page-scoped search palette, falling back to page command items when needed. */
75
+ export function openSearchPalette(model, frameKeys, options, pagesById) {
76
+ const page = pagesById.get(model.activePageId);
77
+ const entries = buildSearchEntries(model, frameKeys, options, pagesById);
78
+ const title = page.searchTitle ?? frameMessage(options.i18n, 'search.title', 'Search');
79
+ return openPaletteModel(model, entries, title, 'search');
80
+ }
81
+ function openPaletteModel(model, entries, title, kind) {
69
82
  const items = entries.map((x) => x.item);
70
83
  return {
71
84
  ...model,
72
85
  commandPalette: createCommandPaletteState(items, Math.max(5, Math.min(10, model.rows - 8))),
73
86
  commandPaletteEntries: entries,
87
+ commandPaletteTitle: title,
88
+ commandPaletteKind: kind,
74
89
  };
75
90
  }
76
91
  /** Collect all available commands from frame, global, page, and custom sources. */
@@ -155,4 +170,21 @@ export function buildPaletteEntries(model, frameKeys, options, pagesById) {
155
170
  }
156
171
  return entries;
157
172
  }
173
+ /** Collect page-scoped search items, falling back to page command items when search items are absent. */
174
+ export function buildSearchEntries(model, _frameKeys, _options, pagesById) {
175
+ const page = pagesById.get(model.activePageId);
176
+ const items = page.searchItems?.(model.pageModels[model.activePageId])
177
+ ?? page.commandItems?.(model.pageModels[model.activePageId])
178
+ ?? [];
179
+ return items.map((item, index) => ({
180
+ id: `search:${index}`,
181
+ item: {
182
+ ...item,
183
+ id: `search:${index}`,
184
+ category: item.category ?? page.title,
185
+ },
186
+ msgAction: item.action,
187
+ targetPageId: model.activePageId,
188
+ }));
189
+ }
158
190
  //# sourceMappingURL=app-frame-palette.js.map