@flyingrobots/bijou-tui 4.4.1 → 5.0.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 (139) hide show
  1. package/README.md +92 -20
  2. package/dist/app-frame-actions.d.ts.map +1 -1
  3. package/dist/app-frame-actions.js +2 -0
  4. package/dist/app-frame-actions.js.map +1 -1
  5. package/dist/app-frame-i18n.d.ts.map +1 -1
  6. package/dist/app-frame-i18n.js +49 -0
  7. package/dist/app-frame-i18n.js.map +1 -1
  8. package/dist/app-frame-layers.d.ts +11 -1
  9. package/dist/app-frame-layers.d.ts.map +1 -1
  10. package/dist/app-frame-layers.js +19 -0
  11. package/dist/app-frame-layers.js.map +1 -1
  12. package/dist/app-frame-overlays.d.ts +82 -0
  13. package/dist/app-frame-overlays.d.ts.map +1 -0
  14. package/dist/app-frame-overlays.js +480 -0
  15. package/dist/app-frame-overlays.js.map +1 -0
  16. package/dist/app-frame-render.js +2 -2
  17. package/dist/app-frame-render.js.map +1 -1
  18. package/dist/app-frame-types.d.ts +119 -5
  19. package/dist/app-frame-types.d.ts.map +1 -1
  20. package/dist/app-frame-types.js +17 -1
  21. package/dist/app-frame-types.js.map +1 -1
  22. package/dist/app-frame-utils.d.ts.map +1 -1
  23. package/dist/app-frame-utils.js +6 -5
  24. package/dist/app-frame-utils.js.map +1 -1
  25. package/dist/app-frame.d.ts +18 -84
  26. package/dist/app-frame.d.ts.map +1 -1
  27. package/dist/app-frame.js +377 -625
  28. package/dist/app-frame.js.map +1 -1
  29. package/dist/browsable-list.d.ts +12 -0
  30. package/dist/browsable-list.d.ts.map +1 -1
  31. package/dist/browsable-list.js +17 -6
  32. package/dist/browsable-list.js.map +1 -1
  33. package/dist/canvas.d.ts.map +1 -1
  34. package/dist/canvas.js +27 -7
  35. package/dist/canvas.js.map +1 -1
  36. package/dist/collection-surface.d.ts +8 -0
  37. package/dist/collection-surface.d.ts.map +1 -1
  38. package/dist/collection-surface.js +72 -8
  39. package/dist/collection-surface.js.map +1 -1
  40. package/dist/css/text-style.d.ts +2 -0
  41. package/dist/css/text-style.d.ts.map +1 -1
  42. package/dist/css/text-style.js +18 -8
  43. package/dist/css/text-style.js.map +1 -1
  44. package/dist/debug-overlay.d.ts +19 -0
  45. package/dist/debug-overlay.d.ts.map +1 -0
  46. package/dist/debug-overlay.js +25 -0
  47. package/dist/debug-overlay.js.map +1 -0
  48. package/dist/design-language.d.ts.map +1 -1
  49. package/dist/design-language.js +4 -5
  50. package/dist/design-language.js.map +1 -1
  51. package/dist/driver.d.ts +102 -0
  52. package/dist/driver.d.ts.map +1 -1
  53. package/dist/driver.js +259 -19
  54. package/dist/driver.js.map +1 -1
  55. package/dist/file-picker.d.ts.map +1 -1
  56. package/dist/file-picker.js +2 -2
  57. package/dist/file-picker.js.map +1 -1
  58. package/dist/flex.d.ts.map +1 -1
  59. package/dist/flex.js +6 -6
  60. package/dist/flex.js.map +1 -1
  61. package/dist/focus-area.d.ts +9 -1
  62. package/dist/focus-area.d.ts.map +1 -1
  63. package/dist/focus-area.js +52 -11
  64. package/dist/focus-area.js.map +1 -1
  65. package/dist/grid.d.ts +2 -2
  66. package/dist/grid.d.ts.map +1 -1
  67. package/dist/grid.js +11 -148
  68. package/dist/grid.js.map +1 -1
  69. package/dist/help.d.ts +2 -0
  70. package/dist/help.d.ts.map +1 -1
  71. package/dist/help.js +6 -4
  72. package/dist/help.js.map +1 -1
  73. package/dist/icon-presentation.d.ts +10 -0
  74. package/dist/icon-presentation.d.ts.map +1 -0
  75. package/dist/icon-presentation.js +12 -0
  76. package/dist/icon-presentation.js.map +1 -0
  77. package/dist/index.d.ts +14 -8
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +7 -5
  80. package/dist/index.js.map +1 -1
  81. package/dist/layout-preset.d.ts +1 -1
  82. package/dist/layout-preset.d.ts.map +1 -1
  83. package/dist/motion/reconciler.d.ts +6 -2
  84. package/dist/motion/reconciler.d.ts.map +1 -1
  85. package/dist/motion/reconciler.js +40 -10
  86. package/dist/motion/reconciler.js.map +1 -1
  87. package/dist/motion/types.d.ts +3 -1
  88. package/dist/motion/types.d.ts.map +1 -1
  89. package/dist/navigable-table.d.ts +9 -10
  90. package/dist/navigable-table.d.ts.map +1 -1
  91. package/dist/navigable-table.js +33 -14
  92. package/dist/navigable-table.js.map +1 -1
  93. package/dist/notification.d.ts +15 -0
  94. package/dist/notification.d.ts.map +1 -1
  95. package/dist/notification.js +98 -29
  96. package/dist/notification.js.map +1 -1
  97. package/dist/overlay.d.ts.map +1 -1
  98. package/dist/overlay.js +40 -14
  99. package/dist/overlay.js.map +1 -1
  100. package/dist/pager.d.ts +3 -1
  101. package/dist/pager.d.ts.map +1 -1
  102. package/dist/pager.js +4 -0
  103. package/dist/pager.js.map +1 -1
  104. package/dist/pipeline/middleware/grayscale.d.ts.map +1 -1
  105. package/dist/pipeline/middleware/grayscale.js +5 -5
  106. package/dist/pipeline/middleware/grayscale.js.map +1 -1
  107. package/dist/pipeline/middleware/motion.js +2 -2
  108. package/dist/pipeline/middleware/motion.js.map +1 -1
  109. package/dist/pipeline/middleware/surface-shaders.d.ts +37 -0
  110. package/dist/pipeline/middleware/surface-shaders.d.ts.map +1 -0
  111. package/dist/pipeline/middleware/surface-shaders.js +164 -0
  112. package/dist/pipeline/middleware/surface-shaders.js.map +1 -0
  113. package/dist/pipeline/pipeline.d.ts +29 -1
  114. package/dist/pipeline/pipeline.d.ts.map +1 -1
  115. package/dist/pipeline/pipeline.js +86 -23
  116. package/dist/pipeline/pipeline.js.map +1 -1
  117. package/dist/runtime.d.ts +19 -0
  118. package/dist/runtime.d.ts.map +1 -1
  119. package/dist/runtime.js +183 -30
  120. package/dist/runtime.js.map +1 -1
  121. package/dist/split-pane.d.ts +2 -2
  122. package/dist/split-pane.d.ts.map +1 -1
  123. package/dist/split-pane.js +28 -49
  124. package/dist/split-pane.js.map +1 -1
  125. package/dist/subapp/mount.d.ts +17 -0
  126. package/dist/subapp/mount.d.ts.map +1 -1
  127. package/dist/subapp/mount.js +13 -0
  128. package/dist/subapp/mount.js.map +1 -1
  129. package/dist/surface-layout.d.ts +8 -3
  130. package/dist/surface-layout.d.ts.map +1 -1
  131. package/dist/surface-layout.js +27 -12
  132. package/dist/surface-layout.js.map +1 -1
  133. package/dist/view-output.js +2 -2
  134. package/dist/view-output.js.map +1 -1
  135. package/dist/viewport.d.ts +13 -1
  136. package/dist/viewport.d.ts.map +1 -1
  137. package/dist/viewport.js +33 -11
  138. package/dist/viewport.js.map +1 -1
  139. package/package.json +3 -3
@@ -0,0 +1,480 @@
1
+ import { createSurface, preparePreferenceSections, preferenceListSurface, resolvePreferenceRowLayout, } from '@flyingrobots/bijou';
2
+ import { helpViewSurface } from './help.js';
3
+ import { frameEndAnchor, frameMessage, frameNotificationCue, frameNotificationFilterLabel, frameStartAnchor, } from './app-frame-i18n.js';
4
+ import { drawer } from './overlay.js';
5
+ import { countNotificationHistory, renderNotificationHistorySurface, renderNotificationReviewEntrySurface, } from './notification.js';
6
+ import { createPagerStateForSurface, pagerSurface } from './pager.js';
7
+ import { insetLineSurface } from './collection-surface.js';
8
+ import { vstackSurface } from './surface-layout.js';
9
+ import { emitMsgForPage } from './app-frame-types.js';
10
+ export const FRAME_SHELL_THEME_ROW_ID = '__frame-shell-theme__';
11
+ const DEFAULT_NOTIFICATION_CENTER_FILTERS = [
12
+ 'ALL',
13
+ 'ACTIONABLE',
14
+ 'ERROR',
15
+ 'WARNING',
16
+ 'SUCCESS',
17
+ 'INFO',
18
+ ];
19
+ export function renderHelpOverlay(model, source, i18n) {
20
+ const maxDialogWidth = Math.max(28, Math.min(model.columns - 4, 88));
21
+ const bodyWidth = Math.max(20, maxDialogWidth - 4);
22
+ const helpSurface = helpViewSurface(source, {
23
+ title: undefined,
24
+ width: bodyWidth,
25
+ defaultGroupName: frameMessage(i18n, 'help.group.general', 'General'),
26
+ });
27
+ const pagerHeight = Math.max(4, Math.min(helpSurface.height + 1, Math.max(4, model.rows - 8)));
28
+ const pagerState = createPagerStateForSurface(helpSurface, {
29
+ width: bodyWidth,
30
+ height: pagerHeight,
31
+ });
32
+ const scrollY = Math.max(0, Math.min(model.helpScrollY, pagerState.scroll.maxY));
33
+ const scrolledState = {
34
+ ...pagerState,
35
+ scroll: {
36
+ ...pagerState.scroll,
37
+ y: scrollY,
38
+ },
39
+ };
40
+ return {
41
+ body: pagerSurface(helpSurface, scrolledState, { showScrollbar: true, showStatus: true }),
42
+ maxScrollY: pagerState.scroll.maxY,
43
+ scrollY,
44
+ };
45
+ }
46
+ export function isHelpScrollAction(action) {
47
+ return action.type === 'scroll-up'
48
+ || action.type === 'scroll-down'
49
+ || action.type === 'page-up'
50
+ || action.type === 'page-down'
51
+ || action.type === 'top'
52
+ || action.type === 'bottom';
53
+ }
54
+ export function resolveShellThemeOptionsText(shellThemes, i18n) {
55
+ const labels = shellThemes.map((theme) => theme.label);
56
+ if (labels.length === 0)
57
+ return '';
58
+ if (i18n == null)
59
+ return labels.join(', ');
60
+ return i18n.formatList(labels, i18n.locale);
61
+ }
62
+ export function resolveCurrentShellTheme(shellThemes, activeShellThemeId) {
63
+ return shellThemes.find((theme) => theme.id === activeShellThemeId) ?? shellThemes[0];
64
+ }
65
+ export function resolveNextShellTheme(shellThemes, activeShellThemeId) {
66
+ if (shellThemes.length === 0)
67
+ return undefined;
68
+ const currentIndex = Math.max(0, shellThemes.findIndex((theme) => theme.id === activeShellThemeId));
69
+ return shellThemes[(currentIndex + 1) % shellThemes.length];
70
+ }
71
+ export function resolveShellThemeForContext(shellThemes, ctx) {
72
+ if (ctx == null)
73
+ return undefined;
74
+ return shellThemes.find((theme) => theme.resolvedTheme.theme === ctx.theme.theme);
75
+ }
76
+ export function mergeShellThemeSettings(settings, shellThemes, activeShellThemeId, i18n) {
77
+ if (shellThemes.length < 2)
78
+ return settings;
79
+ const currentTheme = resolveCurrentShellTheme(shellThemes, activeShellThemeId);
80
+ const nextTheme = resolveNextShellTheme(shellThemes, activeShellThemeId);
81
+ if (currentTheme == null || nextTheme == null)
82
+ return settings;
83
+ const row = {
84
+ id: FRAME_SHELL_THEME_ROW_ID,
85
+ label: frameMessage(i18n, 'settings.shellTheme.label', 'Shell theme'),
86
+ description: currentTheme.description ?? frameMessage(i18n, 'settings.shellTheme.description', 'Current theme: {theme}. Options: {options}.', {
87
+ theme: currentTheme.label,
88
+ options: resolveShellThemeOptionsText(shellThemes, i18n),
89
+ }),
90
+ valueLabel: currentTheme.label,
91
+ kind: 'choice',
92
+ feedback: {
93
+ title: frameMessage(i18n, 'settings.title', 'Settings'),
94
+ message: frameMessage(i18n, 'settings.shellTheme.feedback', 'Shell theme set to {theme}.', { theme: nextTheme.label }),
95
+ },
96
+ };
97
+ const shellSectionTitle = frameMessage(i18n, 'settings.section.shell', 'Shell');
98
+ if (settings == null) {
99
+ return {
100
+ title: frameMessage(i18n, 'settings.title', 'Settings'),
101
+ sections: [{ id: 'shell', title: shellSectionTitle, rows: [row] }],
102
+ };
103
+ }
104
+ const shellSectionIndex = settings.sections.findIndex((section) => section.id === 'shell');
105
+ if (shellSectionIndex >= 0) {
106
+ const shellSection = settings.sections[shellSectionIndex];
107
+ const existingRowIndex = shellSection.rows.findIndex((existingRow) => existingRow.id === FRAME_SHELL_THEME_ROW_ID);
108
+ const nextRows = existingRowIndex >= 0
109
+ ? shellSection.rows.map((existingRow, index) => (index === existingRowIndex ? row : existingRow))
110
+ : [...shellSection.rows, row];
111
+ return {
112
+ ...settings,
113
+ sections: settings.sections.map((section, index) => (index === shellSectionIndex
114
+ ? { ...shellSection, rows: nextRows }
115
+ : section)),
116
+ };
117
+ }
118
+ return {
119
+ ...settings,
120
+ sections: [
121
+ { id: 'shell', title: shellSectionTitle, rows: [row] },
122
+ ...settings.sections,
123
+ ],
124
+ };
125
+ }
126
+ export function resolveFrameSettings(model, options, pagesById, shellThemes) {
127
+ const activePage = pagesById.get(model.activePageId);
128
+ const provided = options.settings?.({
129
+ model,
130
+ activePage,
131
+ pageModel: model.pageModels[model.activePageId],
132
+ });
133
+ return mergeShellThemeSettings(provided, shellThemes, model.activeShellThemeId, options.i18n);
134
+ }
135
+ export function resolveFrameNotificationCenter(model, options, pagesById) {
136
+ const activePage = pagesById.get(model.activePageId);
137
+ const pageModel = model.pageModels[model.activePageId];
138
+ const provided = options.notificationCenter?.({
139
+ model,
140
+ activePage,
141
+ pageModel,
142
+ runtimeNotifications: model.runtimeNotifications,
143
+ });
144
+ if (provided != null) {
145
+ const filters = provided.filters != null && provided.filters.length > 0
146
+ ? provided.filters
147
+ : DEFAULT_NOTIFICATION_CENTER_FILTERS;
148
+ const activeFilter = filters.includes(provided.activeFilter ?? 'ALL')
149
+ ? (provided.activeFilter ?? 'ALL')
150
+ : filters[0];
151
+ return {
152
+ title: provided.title ?? frameMessage(options.i18n, 'notifications.title', 'Notifications'),
153
+ state: provided.state,
154
+ filters,
155
+ activeFilter,
156
+ onFilterChange: provided.onFilterChange,
157
+ };
158
+ }
159
+ if (options.runtimeNotifications === false)
160
+ return undefined;
161
+ return {
162
+ title: frameMessage(options.i18n, 'notifications.title', 'Notifications'),
163
+ state: model.runtimeNotifications,
164
+ filters: DEFAULT_NOTIFICATION_CENTER_FILTERS,
165
+ activeFilter: model.runtimeNotificationHistoryFilter,
166
+ };
167
+ }
168
+ export function resolveSettingsLayout(model, options, pagesById, shellThemes) {
169
+ const settings = resolveFrameSettings(model, options, pagesById, shellThemes);
170
+ if (settings == null)
171
+ return undefined;
172
+ const sections = settings.sections.filter((section) => section.rows.length > 0);
173
+ if (sections.length === 0)
174
+ return undefined;
175
+ const drawerWidth = resolveSettingsDrawerWidth(model.columns);
176
+ const anchor = frameStartAnchor(options.i18n);
177
+ const startCol = anchor === 'left' ? 0 : Math.max(0, model.columns - drawerWidth);
178
+ const contentWidth = Math.max(16, drawerWidth - 4);
179
+ const preferenceSections = preparePreferenceSections(toPreferenceSections(sections));
180
+ const rows = [];
181
+ let line = 0;
182
+ for (let sectionIndex = 0; sectionIndex < preferenceSections.length; sectionIndex++) {
183
+ const section = preferenceSections[sectionIndex];
184
+ if (sectionIndex > 0) {
185
+ line += 1;
186
+ }
187
+ line += 1;
188
+ line += 1;
189
+ for (let rowIndex = 0; rowIndex < section.rows.length; rowIndex++) {
190
+ const preparedRow = section.rows[rowIndex];
191
+ const row = sections[sectionIndex].rows[rowIndex];
192
+ const rowLayout = resolvePreferenceRowLayout(preparedRow, contentWidth);
193
+ rows.push({
194
+ index: rows.length,
195
+ line,
196
+ height: rowLayout.height,
197
+ row,
198
+ behavior: row.id === FRAME_SHELL_THEME_ROW_ID ? 'cycle-shell-theme' : undefined,
199
+ });
200
+ line += rowLayout.height;
201
+ if (rowIndex < section.rows.length - 1) {
202
+ line += 1;
203
+ }
204
+ }
205
+ }
206
+ const contentHeight = Math.max(1, model.rows - 2);
207
+ const totalLines = Math.max(1, line);
208
+ const maxScrollY = Math.max(0, totalLines - contentHeight);
209
+ return {
210
+ settings: {
211
+ ...settings,
212
+ sections,
213
+ },
214
+ preferenceSections,
215
+ rows,
216
+ anchor,
217
+ startCol,
218
+ drawerWidth,
219
+ contentWidth,
220
+ contentHeight,
221
+ totalLines,
222
+ maxScrollY,
223
+ };
224
+ }
225
+ export function resolveNotificationCenterLayout(model, options, pagesById, ctx) {
226
+ const center = resolveFrameNotificationCenter(model, options, pagesById);
227
+ if (center == null)
228
+ return undefined;
229
+ const drawerWidth = resolveNotificationCenterDrawerWidth(model.columns);
230
+ const anchor = frameEndAnchor(options.i18n);
231
+ const startCol = anchor === 'left' ? 0 : Math.max(0, model.columns - drawerWidth);
232
+ const contentWidth = Math.max(18, drawerWidth - 4);
233
+ const content = renderNotificationCenterSurface(center, contentWidth, options.i18n, ctx);
234
+ const contentHeight = Math.max(1, model.rows - 2);
235
+ const pagerState = createPagerStateForSurface(content, {
236
+ width: contentWidth,
237
+ height: contentHeight,
238
+ });
239
+ return {
240
+ center,
241
+ anchor,
242
+ startCol,
243
+ drawerWidth,
244
+ contentWidth,
245
+ contentHeight,
246
+ content,
247
+ maxScrollY: pagerState.scroll.maxY,
248
+ };
249
+ }
250
+ export function clampSettingsFocus(model, layout) {
251
+ if (layout.rows.length === 0)
252
+ return 0;
253
+ return Math.max(0, Math.min(model.settingsFocusIndex, layout.rows.length - 1));
254
+ }
255
+ export function resolveInputAreas(page, pageModel) {
256
+ return page.inputAreas?.(pageModel) ?? [];
257
+ }
258
+ export function findInputAreaByPaneId(inputAreas, paneId) {
259
+ if (paneId == null)
260
+ return undefined;
261
+ return inputAreas.find((area) => area.paneId === paneId);
262
+ }
263
+ export function moveSettingsFocus(model, layout, delta) {
264
+ if (layout.rows.length === 0)
265
+ return model;
266
+ const nextFocus = Math.max(0, Math.min(clampSettingsFocus(model, layout) + delta, layout.rows.length - 1));
267
+ const focusedRow = layout.rows[nextFocus];
268
+ return {
269
+ ...model,
270
+ settingsFocusIndex: nextFocus,
271
+ settingsScrollY: ensureSettingsRangeVisible(focusedRow.line, focusedRow.height, clampSettingsScroll(model, layout), layout.contentHeight, layout.maxScrollY),
272
+ };
273
+ }
274
+ export function scrollSettingsBy(model, layout, delta) {
275
+ return {
276
+ ...model,
277
+ settingsScrollY: Math.max(0, Math.min(clampSettingsScroll(model, layout) + delta, layout.maxScrollY)),
278
+ };
279
+ }
280
+ export function scrollNotificationCenterBy(model, layout, delta) {
281
+ return {
282
+ ...model,
283
+ notificationCenterScrollY: Math.max(0, Math.min(model.notificationCenterScrollY + delta, layout.maxScrollY)),
284
+ };
285
+ }
286
+ export function cycleNotificationCenterFilter(model, layout) {
287
+ const filters = layout.center.filters;
288
+ if (filters.length < 2)
289
+ return [model, []];
290
+ const currentIndex = Math.max(0, filters.indexOf(layout.center.activeFilter));
291
+ const nextFilter = filters[(currentIndex + 1) % filters.length];
292
+ if (layout.center.onFilterChange != null) {
293
+ const action = layout.center.onFilterChange(nextFilter);
294
+ return [{
295
+ ...model,
296
+ notificationCenterScrollY: 0,
297
+ }, action === undefined ? [] : [emitMsgForPage(model.activePageId, action)]];
298
+ }
299
+ return [{
300
+ ...model,
301
+ runtimeNotificationHistoryFilter: nextFilter,
302
+ notificationCenterScrollY: 0,
303
+ }, []];
304
+ }
305
+ export function renderSettingsDrawer(model, options, pagesById, shellThemes, titleOverride, ctx) {
306
+ const layout = resolveSettingsLayout(model, options, pagesById, shellThemes);
307
+ if (layout == null)
308
+ return undefined;
309
+ const scrollY = clampSettingsScroll(model, layout);
310
+ const content = renderSettingsSurface(layout, model, ctx);
311
+ const pagerState = createPagerStateForSurface(content, {
312
+ width: layout.contentWidth,
313
+ height: layout.contentHeight,
314
+ });
315
+ const scrolledState = {
316
+ ...pagerState,
317
+ scroll: {
318
+ ...pagerState.scroll,
319
+ y: scrollY,
320
+ },
321
+ };
322
+ const body = pagerSurface(content, scrolledState, {
323
+ showScrollbar: layout.maxScrollY > 0,
324
+ showStatus: false,
325
+ });
326
+ return drawer({
327
+ anchor: layout.anchor,
328
+ title: titleOverride ?? layout.settings.title ?? frameMessage(options.i18n, 'settings.title', 'Settings'),
329
+ content: body,
330
+ borderToken: layout.settings.borderToken,
331
+ bgToken: layout.settings.bgToken,
332
+ ctx,
333
+ width: layout.drawerWidth,
334
+ screenWidth: model.columns,
335
+ screenHeight: model.rows,
336
+ });
337
+ }
338
+ export function renderNotificationCenterDrawer(model, options, pagesById, titleOverride, ctx) {
339
+ const layout = resolveNotificationCenterLayout(model, options, pagesById, ctx);
340
+ if (layout == null)
341
+ return undefined;
342
+ const pagerState = createPagerStateForSurface(layout.content, {
343
+ width: layout.contentWidth,
344
+ height: layout.contentHeight,
345
+ });
346
+ const scrolledState = {
347
+ ...pagerState,
348
+ scroll: {
349
+ ...pagerState.scroll,
350
+ y: Math.max(0, Math.min(model.notificationCenterScrollY, layout.maxScrollY)),
351
+ },
352
+ };
353
+ const body = pagerSurface(layout.content, scrolledState, {
354
+ showScrollbar: layout.maxScrollY > 0,
355
+ showStatus: false,
356
+ });
357
+ return drawer({
358
+ anchor: layout.anchor,
359
+ title: titleOverride ?? `${layout.center.title} • ${frameNotificationFilterLabel(options.i18n, layout.center.activeFilter)}`,
360
+ content: body,
361
+ borderToken: ctx?.border('primary'),
362
+ bgToken: ctx?.surface('elevated'),
363
+ ctx,
364
+ width: layout.drawerWidth,
365
+ screenWidth: model.columns,
366
+ screenHeight: model.rows,
367
+ });
368
+ }
369
+ export function resolveNotificationFooterCue(model, options, pagesById) {
370
+ const center = resolveFrameNotificationCenter(model, options, pagesById);
371
+ if (center == null)
372
+ return undefined;
373
+ const liveCount = center.state.items.length;
374
+ const archivedCount = countNotificationHistory(center.state, center.activeFilter);
375
+ return frameNotificationCue(options.i18n, liveCount, archivedCount);
376
+ }
377
+ function resolveNotificationCenterDrawerWidth(columns) {
378
+ const boundedColumns = Math.max(28, columns);
379
+ return Math.min(Math.max(32, Math.floor(boundedColumns * 0.34)), Math.max(32, boundedColumns - 4), 52);
380
+ }
381
+ function resolveSettingsDrawerWidth(columns) {
382
+ const boundedColumns = Math.max(24, columns);
383
+ return Math.min(Math.max(28, Math.floor(boundedColumns * 0.3)), Math.max(28, boundedColumns - 4), 42);
384
+ }
385
+ export function clampSettingsScroll(model, layout) {
386
+ return Math.max(0, Math.min(model.settingsScrollY, layout.maxScrollY));
387
+ }
388
+ function ensureSettingsRangeVisible(startLine, height, scrollY, visibleLines, maxScrollY) {
389
+ let next = scrollY;
390
+ const endLine = startLine + Math.max(1, height) - 1;
391
+ if (startLine < next) {
392
+ next = startLine;
393
+ }
394
+ else if (endLine >= next + visibleLines) {
395
+ next = endLine - visibleLines + 1;
396
+ }
397
+ return Math.max(0, Math.min(next, maxScrollY));
398
+ }
399
+ function renderSettingsSurface(layout, model, ctx) {
400
+ const focusedIndex = clampSettingsFocus(model, layout);
401
+ return preferenceListSurface(layout.preferenceSections, {
402
+ width: layout.contentWidth,
403
+ selectedRowId: layout.rows[focusedIndex]?.row.id,
404
+ ctx,
405
+ theme: layout.settings.listTheme,
406
+ });
407
+ }
408
+ function toPreferenceSections(sections) {
409
+ return sections.map((section) => ({
410
+ id: section.id,
411
+ title: section.title,
412
+ rows: section.rows.map((row) => toPreferenceRow(row)),
413
+ }));
414
+ }
415
+ function toPreferenceRow(row) {
416
+ return {
417
+ id: row.id,
418
+ label: row.label,
419
+ description: row.description,
420
+ valueLabel: row.valueLabel,
421
+ kind: row.kind,
422
+ checked: row.checked,
423
+ enabled: row.enabled,
424
+ };
425
+ }
426
+ function notificationHistoryLabels(i18n) {
427
+ return {
428
+ filterLabel: (filter) => frameNotificationFilterLabel(i18n, filter),
429
+ headerLabel: ({ filterLabel, start, end, total }) => frameMessage(i18n, 'notifications.history.title', 'History • {filter} • {range}', {
430
+ filter: filterLabel,
431
+ range: total === 0
432
+ ? frameMessage(i18n, 'notifications.history.range.empty', '0 items')
433
+ : frameMessage(i18n, 'notifications.history.range.window', '{start}-{end} of {total}', {
434
+ start,
435
+ end,
436
+ total,
437
+ }),
438
+ }),
439
+ emptyLabel: ({ filterLabel }) => frameMessage(i18n, 'notifications.history.empty', 'No archived notifications for {filter} yet.', { filter: filterLabel }),
440
+ actionLabel: (label) => frameMessage(i18n, 'notifications.history.action', 'Action: {label}', { label }),
441
+ };
442
+ }
443
+ function renderNotificationCenterSurface(center, width, i18n, ctx) {
444
+ const historyLabels = notificationHistoryLabels(i18n);
445
+ const rows = [
446
+ insetLineSurface(frameMessage(i18n, 'notifications.summary.liveArchived', 'Live: {liveCount} • Archived: {archivedCount}', {
447
+ liveCount: center.state.items.length,
448
+ archivedCount: center.state.history.length,
449
+ }), width),
450
+ insetLineSurface(frameMessage(i18n, 'notifications.summary.filter', 'Filter: {filter}', { filter: frameNotificationFilterLabel(i18n, center.activeFilter) }), width),
451
+ ];
452
+ const liveItems = [...center.state.items].sort((left, right) => right.updatedAtMs - left.updatedAtMs || right.id - left.id);
453
+ if (liveItems.length > 0) {
454
+ rows.push(createSurface(width, 1));
455
+ rows.push(insetLineSurface(ctx == null
456
+ ? frameMessage(i18n, 'notifications.currentStack', 'Current stack')
457
+ : ctx.style.bold(frameMessage(i18n, 'notifications.currentStack', 'Current stack')), width));
458
+ rows.push(createSurface(width, 1));
459
+ for (let index = 0; index < liveItems.length; index++) {
460
+ rows.push(renderNotificationReviewEntrySurface(liveItems[index], {
461
+ width,
462
+ ctx,
463
+ actionLabel: historyLabels.actionLabel,
464
+ metaLabel: `${liveItems[index].variant} • live`,
465
+ }));
466
+ if (index < liveItems.length - 1)
467
+ rows.push(createSurface(width, 1));
468
+ }
469
+ }
470
+ rows.push(createSurface(width, 1));
471
+ rows.push(renderNotificationHistorySurface(center.state, {
472
+ width,
473
+ height: Number.MAX_SAFE_INTEGER,
474
+ filter: center.activeFilter,
475
+ ctx,
476
+ labels: historyLabels,
477
+ }));
478
+ return vstackSurface(...rows);
479
+ }
480
+ //# sourceMappingURL=app-frame-overlays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-frame-overlays.js","sourceRoot":"","sources":["../src/app-frame-overlays.ts"],"names":[],"mappings":"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"}
@@ -92,11 +92,11 @@ function paintActiveHeaderTab(surface, tabTargets, activePageId, ctx, tokenOverr
92
92
  if (activeTarget == null)
93
93
  return;
94
94
  const sampleCell = surface.get(activeTarget.startCol, 0);
95
- const backgroundHex = sampleCell.bg
95
+ const backgroundHex = (typeof sampleCell.bg === 'string' ? sampleCell.bg : sampleCell.bg?.hex)
96
96
  ?? ctx.surface('primary').bg
97
97
  ?? ctx.surface('secondary').bg
98
98
  ?? '#000000';
99
- const baseHex = sampleCell.fg
99
+ const baseHex = (typeof sampleCell.fg === 'string' ? sampleCell.fg : sampleCell.fg?.hex)
100
100
  ?? ctx.surface('primary').hex
101
101
  ?? ctx.semantic('primary').hex;
102
102
  const token = tokenOverride ?? deriveActiveHeaderTabToken(ctx, backgroundHex, baseHex);
@@ -1 +1 @@
1
- {"version":3,"file":"app-frame-render.js","sourceRoot":"","sources":["../src/app-frame-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-frame-render.js","sourceRoot":"","sources":["../src/app-frame-render.ts"],"names":[],"mappings":"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"}