@teaui/core 1.10.8 → 1.11.9

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 (180) hide show
  1. package/.dist/Buffer.d.ts +5 -0
  2. package/.dist/Buffer.js +150 -7
  3. package/.dist/Buffer.js.map +1 -1
  4. package/.dist/HeadlessProgram.d.ts +24 -0
  5. package/.dist/HeadlessProgram.js +41 -0
  6. package/.dist/HeadlessProgram.js.map +1 -0
  7. package/.dist/{Theme.d.ts → Palette.d.ts} +16 -15
  8. package/.dist/{Theme.js → Palette.js} +43 -28
  9. package/.dist/Palette.js.map +1 -0
  10. package/.dist/Screen.d.ts +43 -24
  11. package/.dist/Screen.js +102 -90
  12. package/.dist/Screen.js.map +1 -1
  13. package/.dist/Style.js +11 -10
  14. package/.dist/Style.js.map +1 -1
  15. package/.dist/TestProgram.d.ts +28 -0
  16. package/.dist/TestProgram.js +52 -0
  17. package/.dist/TestProgram.js.map +1 -0
  18. package/.dist/{testing.d.ts → TestScreen.d.ts} +4 -6
  19. package/.dist/TestScreen.js +99 -0
  20. package/.dist/TestScreen.js.map +1 -0
  21. package/.dist/TestTerminal.js +5 -23
  22. package/.dist/TestTerminal.js.map +1 -1
  23. package/.dist/UI.d.ts +2 -2
  24. package/.dist/UI.js +20 -20
  25. package/.dist/UI.js.map +1 -1
  26. package/.dist/View.d.ts +12 -7
  27. package/.dist/View.js +17 -10
  28. package/.dist/View.js.map +1 -1
  29. package/.dist/Viewport.d.ts +26 -0
  30. package/.dist/Viewport.js +57 -7
  31. package/.dist/Viewport.js.map +1 -1
  32. package/.dist/components/AbstractLegend.d.ts +30 -0
  33. package/.dist/components/AbstractLegend.js +195 -0
  34. package/.dist/components/AbstractLegend.js.map +1 -0
  35. package/.dist/components/Accordion.js +1 -1
  36. package/.dist/components/Accordion.js.map +1 -1
  37. package/.dist/components/Alert.d.ts +1 -1
  38. package/.dist/components/Alert.js +1 -1
  39. package/.dist/components/At.d.ts +57 -0
  40. package/.dist/components/At.js +182 -0
  41. package/.dist/components/At.js.map +1 -0
  42. package/.dist/components/AutoLegend.d.ts +21 -0
  43. package/.dist/components/AutoLegend.js +68 -0
  44. package/.dist/components/AutoLegend.js.map +1 -0
  45. package/.dist/components/Badge.d.ts +16 -0
  46. package/.dist/components/Badge.js +54 -0
  47. package/.dist/components/Badge.js.map +1 -0
  48. package/.dist/components/Box.d.ts +1 -1
  49. package/.dist/components/Box.js +4 -5
  50. package/.dist/components/Box.js.map +1 -1
  51. package/.dist/components/Breadcrumb.js +1 -1
  52. package/.dist/components/Breadcrumb.js.map +1 -1
  53. package/.dist/components/Button.d.ts +3 -2
  54. package/.dist/components/Button.js +13 -7
  55. package/.dist/components/Button.js.map +1 -1
  56. package/.dist/components/Calendar.d.ts +3 -1
  57. package/.dist/components/Calendar.js +34 -24
  58. package/.dist/components/Calendar.js.map +1 -1
  59. package/.dist/components/Callout.js +16 -16
  60. package/.dist/components/Callout.js.map +1 -1
  61. package/.dist/components/Canvas.js +1 -1
  62. package/.dist/components/Canvas.js.map +1 -1
  63. package/.dist/components/Checkbox.d.ts +3 -1
  64. package/.dist/components/Checkbox.js +11 -5
  65. package/.dist/components/Checkbox.js.map +1 -1
  66. package/.dist/components/Collapsible.js +1 -1
  67. package/.dist/components/Collapsible.js.map +1 -1
  68. package/.dist/components/CollapsibleText.js +1 -1
  69. package/.dist/components/CollapsibleText.js.map +1 -1
  70. package/.dist/components/Digits.d.ts +1 -1
  71. package/.dist/components/Digits.js +1 -1
  72. package/.dist/components/Digits.js.map +1 -1
  73. package/.dist/components/Drawer.d.ts +5 -3
  74. package/.dist/components/Drawer.js +20 -14
  75. package/.dist/components/Drawer.js.map +1 -1
  76. package/.dist/components/Dropdown.d.ts +1 -1
  77. package/.dist/components/Dropdown.js +25 -15
  78. package/.dist/components/Dropdown.js.map +1 -1
  79. package/.dist/components/HotKey.d.ts +7 -4
  80. package/.dist/components/HotKey.js +12 -4
  81. package/.dist/components/HotKey.js.map +1 -1
  82. package/.dist/components/Input.d.ts +3 -1
  83. package/.dist/components/Input.js +369 -45
  84. package/.dist/components/Input.js.map +1 -1
  85. package/.dist/components/Legend.d.ts +7 -13
  86. package/.dist/components/Legend.js +15 -163
  87. package/.dist/components/Legend.js.map +1 -1
  88. package/.dist/components/Log.d.ts +1 -0
  89. package/.dist/components/Log.js +5 -2
  90. package/.dist/components/Log.js.map +1 -1
  91. package/.dist/components/Modal.d.ts +2 -1
  92. package/.dist/components/Modal.js +2 -2
  93. package/.dist/components/Modal.js.map +1 -1
  94. package/.dist/components/Notification.d.ts +1 -1
  95. package/.dist/components/Notification.js +3 -3
  96. package/.dist/components/Notification.js.map +1 -1
  97. package/.dist/components/Page.js +5 -14
  98. package/.dist/components/Page.js.map +1 -1
  99. package/.dist/components/Pane.js +13 -10
  100. package/.dist/components/Pane.js.map +1 -1
  101. package/.dist/components/Plot.js +1 -1
  102. package/.dist/components/Plot.js.map +1 -1
  103. package/.dist/components/Progress.js +2 -2
  104. package/.dist/components/Progress.js.map +1 -1
  105. package/.dist/components/Scrollable.js +4 -4
  106. package/.dist/components/Scrollable.js.map +1 -1
  107. package/.dist/components/ScrollableList.js +4 -4
  108. package/.dist/components/ScrollableList.js.map +1 -1
  109. package/.dist/components/Separator.js +1 -1
  110. package/.dist/components/Separator.js.map +1 -1
  111. package/.dist/components/Slider.d.ts +3 -2
  112. package/.dist/components/Slider.js +14 -4
  113. package/.dist/components/Slider.js.map +1 -1
  114. package/.dist/components/Space.d.ts +1 -1
  115. package/.dist/components/Space.js +1 -1
  116. package/.dist/components/Space.js.map +1 -1
  117. package/.dist/components/Spinner.d.ts +3 -1
  118. package/.dist/components/Spinner.js +11 -1
  119. package/.dist/components/Spinner.js.map +1 -1
  120. package/.dist/components/Table.d.ts +1 -2
  121. package/.dist/components/Table.js +5 -5
  122. package/.dist/components/Table.js.map +1 -1
  123. package/.dist/components/Tabs.d.ts +3 -2
  124. package/.dist/components/Tabs.js +42 -3
  125. package/.dist/components/Tabs.js.map +1 -1
  126. package/.dist/components/Text.d.ts +1 -1
  127. package/.dist/components/Text.js +8 -1
  128. package/.dist/components/Text.js.map +1 -1
  129. package/.dist/components/Toggle.d.ts +26 -0
  130. package/.dist/components/Toggle.js +151 -0
  131. package/.dist/components/Toggle.js.map +1 -0
  132. package/.dist/components/ToggleGroup.d.ts +1 -1
  133. package/.dist/components/ToggleGroup.js +22 -4
  134. package/.dist/components/ToggleGroup.js.map +1 -1
  135. package/.dist/components/ZStack.js +3 -1
  136. package/.dist/components/ZStack.js.map +1 -1
  137. package/.dist/components/charts/BarChart.js +2 -2
  138. package/.dist/components/charts/BarChart.js.map +1 -1
  139. package/.dist/components/index.d.ts +6 -2
  140. package/.dist/components/index.js +6 -2
  141. package/.dist/components/index.js.map +1 -1
  142. package/.dist/components/utility/TrackMouse.d.ts +3 -5
  143. package/.dist/components/utility/TrackMouse.js +1 -2
  144. package/.dist/components/utility/TrackMouse.js.map +1 -1
  145. package/.dist/events/key.d.ts +10 -6
  146. package/.dist/events/key.js +29 -6
  147. package/.dist/events/key.js.map +1 -1
  148. package/.dist/events/mouse.d.ts +1 -1
  149. package/.dist/events/translate.js +6 -6
  150. package/.dist/events/translate.js.map +1 -1
  151. package/.dist/iTerm2.d.ts +1 -1
  152. package/.dist/iTerm2.js +1 -1
  153. package/.dist/iTerm2.js.map +1 -1
  154. package/.dist/index.d.ts +6 -5
  155. package/.dist/index.js +6 -5
  156. package/.dist/index.js.map +1 -1
  157. package/.dist/log.d.ts +7 -2
  158. package/.dist/log.js +10 -3
  159. package/.dist/log.js.map +1 -1
  160. package/.dist/managers/FocusManager.d.ts +5 -2
  161. package/.dist/managers/FocusManager.js +58 -46
  162. package/.dist/managers/FocusManager.js.map +1 -1
  163. package/.dist/managers/MouseManager.js +1 -1
  164. package/.dist/managers/MouseManager.js.map +1 -1
  165. package/.dist/managers/TickManager.d.ts +1 -1
  166. package/.dist/managers/TickManager.js +4 -4
  167. package/.dist/managers/TickManager.js.map +1 -1
  168. package/.dist/renderToAnsi.d.ts +0 -7
  169. package/.dist/renderToAnsi.js +7 -36
  170. package/.dist/renderToAnsi.js.map +1 -1
  171. package/.dist/terminal.d.ts +1 -0
  172. package/.dist/types.d.ts +32 -0
  173. package/.dist/types.js.map +1 -1
  174. package/package.json +8 -4
  175. package/.dist/Theme.js.map +0 -1
  176. package/.dist/inspect.d.ts +0 -14
  177. package/.dist/inspect.js +0 -172
  178. package/.dist/inspect.js.map +0 -1
  179. package/.dist/testing.js +0 -190
  180. package/.dist/testing.js.map +0 -1
package/.dist/Viewport.js CHANGED
@@ -12,6 +12,7 @@ export class Viewport {
12
12
  #terminal;
13
13
  #currentRender = null;
14
14
  #contentSize;
15
+ #availableRect;
15
16
  #visibleRect;
16
17
  #offset;
17
18
  #screen;
@@ -26,6 +27,7 @@ export class Viewport {
26
27
  this.#terminal = terminal;
27
28
  this.#screen = screen;
28
29
  this.#contentSize = contentSize;
30
+ this.#availableRect = rect;
29
31
  this.parentRect = rect;
30
32
  this.#visibleRect = rect;
31
33
  this.#offset = Point.zero;
@@ -43,6 +45,19 @@ export class Viewport {
43
45
  get contentSize() {
44
46
  return this.#contentSize;
45
47
  }
48
+ /**
49
+ * In most cases, `availableRect` is synonymous with `contentRect`, but in some
50
+ * rare cases (e.g. drawing on top of box borders) the `availableRect` is larger.
51
+ * The available Rect will always be positioned outside or overlapping the
52
+ * `contentRect`, i.e.
53
+ * availableRect.origin.x <= 0
54
+ * availableRect.origin.y <= 0
55
+ * availableRect.size.width >= contentRect.size.width
56
+ * availableRect.size.height >= contentRect.size.height
57
+ */
58
+ get availableRect() {
59
+ return this.#availableRect;
60
+ }
46
61
  /*
47
62
  * `visibleRect` can be used to optimize drawing. `visibleRect.origin`
48
63
  * represents the first visible point, taking clipping into account.
@@ -136,7 +151,11 @@ export class Viewport {
136
151
  }
137
152
  else {
138
153
  region ??= this.visibleRect;
139
- region.forEachPoint(pt => this.write(BG_DRAW, pt, defaultStyle));
154
+ const minX = Math.max(region.minX(), this.#visibleRect.minX());
155
+ const maxX = Math.min(region.maxX(), this.#visibleRect.maxX());
156
+ const minY = Math.max(region.minY(), this.#visibleRect.minY());
157
+ const maxY = Math.min(region.maxY(), this.#visibleRect.maxY());
158
+ this.#terminal.paintRect(defaultStyle, minX + this.#offset.x, minY + this.#offset.y, maxX + this.#offset.x, maxY + this.#offset.y);
140
159
  }
141
160
  }
142
161
  /**
@@ -170,12 +189,7 @@ export class Viewport {
170
189
  let x = to.x, y = to.y;
171
190
  for (const char of unicode.printableChars(input)) {
172
191
  if (char === '\n') {
173
- x = to.x;
174
- y += 1;
175
- if (y >= maxY) {
176
- break;
177
- }
178
- continue;
192
+ break;
179
193
  }
180
194
  if (x >= maxX) {
181
195
  continue;
@@ -259,22 +273,58 @@ export class Viewport {
259
273
  this.#visibleRect.size.height -
260
274
  clip.origin.y);
261
275
  const contentSize = new Size(contentWidth, contentHeight);
276
+ const availableRect = new Rect(new Point(this.#availableRect.origin.x - clip.origin.x, this.#availableRect.origin.y - clip.origin.y), this.#availableRect.size);
262
277
  const visibleRect = new Rect(new Point(visibleMinX, visibleMinY), new Size(visibleMaxX - visibleMinX, visibleMaxY - visibleMinY));
263
278
  const offset = new Point(offsetX, offsetY);
264
279
  const prevContentSize = this.#contentSize;
280
+ const prevAvailableRect = this.#availableRect;
265
281
  const prevVisibleRect = this.#visibleRect;
266
282
  const prevOffset = this.#offset;
267
283
  const prevStyle = this.#style;
268
284
  this.#contentSize = contentSize;
285
+ this.#availableRect = availableRect;
269
286
  this.#visibleRect = visibleRect;
270
287
  this.#offset = offset;
271
288
  this.#style = style;
272
289
  draw(this);
273
290
  this.#contentSize = prevContentSize;
291
+ this.#availableRect = prevAvailableRect;
274
292
  this.#visibleRect = prevVisibleRect;
275
293
  this.#offset = prevOffset;
276
294
  this.#style = prevStyle;
277
295
  }
296
+ /**
297
+ * Shifts the viewport origin inward (to `rect.origin`) and sets contentSize to
298
+ * `rect.size`, without changing the clip boundary. This makes `availableRect`
299
+ * extend beyond `contentRect` so children can draw "on top of" the surrounding
300
+ * area (e.g. box borders).
301
+ *
302
+ * Must be called inside a `clipped()` callback — the enclosing `clipped` will
303
+ * restore the previous state.
304
+ *
305
+ * viewport.clipped(outerRect, inside => {
306
+ * inside.inset(innerRect)
307
+ * super.render(inside)
308
+ * })
309
+ */
310
+ inset(rect, draw) {
311
+ const prevAvailableRect = this.#availableRect;
312
+ const prevContentSize = this.#contentSize;
313
+ const prevOffset = this.#offset;
314
+ const prevVisibleRect = this.#visibleRect;
315
+ // The enclosing clip area, expressed in the inset coordinate system
316
+ this.#availableRect = new Rect(new Point(-rect.origin.x, -rect.origin.y), this.#contentSize);
317
+ this.#contentSize = rect.size;
318
+ // Shift the offset so writes at (0,0) map to the inset origin
319
+ this.#offset = new Point(this.#offset.x + rect.origin.x, this.#offset.y + rect.origin.y);
320
+ // Adjust visibleRect to the new coordinate system
321
+ this.#visibleRect = new Rect(new Point(this.#visibleRect.origin.x - rect.origin.x, this.#visibleRect.origin.y - rect.origin.y), this.#visibleRect.size);
322
+ draw(this);
323
+ this.#availableRect = prevAvailableRect;
324
+ this.#contentSize = prevContentSize;
325
+ this.#offset = prevOffset;
326
+ this.#visibleRect = prevVisibleRect;
327
+ }
278
328
  }
279
329
  class Pen {
280
330
  #setter;
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../lib/Viewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../lib/Viewport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { Viewport } from '../Viewport.js';
2
+ import type { Props as ViewProps } from '../View.js';
3
+ import { View } from '../View.js';
4
+ import { Size } from '../geometry.js';
5
+ export interface LegendItem {
6
+ key: string | string[];
7
+ label: string;
8
+ }
9
+ export interface Props extends ViewProps {
10
+ separator?: string;
11
+ }
12
+ export interface ComputedItem {
13
+ keyText: string;
14
+ keyWidth: number;
15
+ label: string;
16
+ labelWidth: number;
17
+ totalWidth: number;
18
+ }
19
+ export declare abstract class AbstractLegend extends View {
20
+ #private;
21
+ constructor(props: Props);
22
+ update(props: Props): void;
23
+ computeItems(items: LegendItem[]): ComputedItem[];
24
+ /**
25
+ * called during render and naturalSize - subclasses cache the result.
26
+ */
27
+ abstract collectItems(): ComputedItem[];
28
+ naturalSize(available: Size): Size;
29
+ render(viewport: Viewport): void;
30
+ }
@@ -0,0 +1,195 @@
1
+ import * as unicode from '@teaui/term';
2
+ import { View } from '../View.js';
3
+ import { Point, Size } from '../geometry.js';
4
+ import { Style } from '../Style.js';
5
+ import { mapKey } from '../events/key.js';
6
+ function formatKey(key) {
7
+ // Handle 'C-a', 'A-S-x' style modifier prefixes
8
+ const modRe = /^([CAGS]-)+/;
9
+ const modMatch = key.match(modRe);
10
+ if (modMatch) {
11
+ const modStr = modMatch[0];
12
+ const base = key.slice(modStr.length);
13
+ let sigils = '';
14
+ if (modStr.includes('C-'))
15
+ sigils += MODIFIER_SIGILS.ctrl;
16
+ if (modStr.includes('A-'))
17
+ sigils += MODIFIER_SIGILS.alt;
18
+ if (modStr.includes('G-'))
19
+ sigils += MODIFIER_SIGILS.gui;
20
+ if (modStr.includes('S-'))
21
+ sigils += MODIFIER_SIGILS.shift;
22
+ return sigils + mapKey(base);
23
+ }
24
+ return mapKey(key);
25
+ }
26
+ function formatKeys(key) {
27
+ if (Array.isArray(key)) {
28
+ return key.map(formatKey).join(KEY_SEPARATOR);
29
+ }
30
+ return formatKey(key);
31
+ }
32
+ export class AbstractLegend extends View {
33
+ #separator = ' ';
34
+ constructor(props) {
35
+ super(props);
36
+ this.#update(props);
37
+ }
38
+ update(props) {
39
+ this.#update(props);
40
+ super.update(props);
41
+ }
42
+ #update({ separator }) {
43
+ this.#separator = separator ?? ' ';
44
+ }
45
+ computeItems(items) {
46
+ return items.map(item => {
47
+ const keyText = formatKeys(item.key);
48
+ const keyWidth = unicode.lineWidth(keyText);
49
+ const labelWidth = unicode.lineWidth(item.label);
50
+ return {
51
+ keyText,
52
+ keyWidth,
53
+ label: item.label,
54
+ labelWidth,
55
+ totalWidth: keyWidth + 1 + labelWidth, // key + space + label
56
+ };
57
+ });
58
+ }
59
+ /**
60
+ * Lay out items into rows. Returns an array of rows, each row being
61
+ * an array of indices into the computed items array, plus per-row column
62
+ * widths for alignment.
63
+ */
64
+ #layout(computed, availableWidth) {
65
+ if (computed.length === 0) {
66
+ return { rows: [], maxKeyWidth: 0, maxLabelWidth: 0 };
67
+ }
68
+ const sepWidth = unicode.lineWidth(this.#separator);
69
+ // Try to fit as many items per row as possible
70
+ const rows = [];
71
+ let currentRow = [];
72
+ let currentWidth = 0;
73
+ for (let i = 0; i < computed.length; i++) {
74
+ const item = computed[i];
75
+ const neededWidth = currentRow.length === 0 ? item.totalWidth : sepWidth + item.totalWidth;
76
+ if (currentRow.length > 0 &&
77
+ currentWidth + neededWidth > availableWidth) {
78
+ rows.push(currentRow);
79
+ currentRow = [i];
80
+ currentWidth = item.totalWidth;
81
+ }
82
+ else {
83
+ currentRow.push(i);
84
+ currentWidth += neededWidth;
85
+ }
86
+ }
87
+ if (currentRow.length > 0) {
88
+ rows.push(currentRow);
89
+ }
90
+ // If only one row, no column alignment needed
91
+ if (rows.length <= 1) {
92
+ const maxKeyWidth = Math.max(...computed.map(c => c.keyWidth));
93
+ const maxLabelWidth = Math.max(...computed.map(c => c.labelWidth));
94
+ return { rows, maxKeyWidth, maxLabelWidth };
95
+ }
96
+ // Calculate max key and label widths per column
97
+ let maxKeyWidth = 0;
98
+ let maxLabelWidth = 0;
99
+ for (const row of rows) {
100
+ for (const idx of row) {
101
+ maxKeyWidth = Math.max(maxKeyWidth, computed[idx].keyWidth);
102
+ maxLabelWidth = Math.max(maxLabelWidth, computed[idx].labelWidth);
103
+ }
104
+ }
105
+ return { rows, maxKeyWidth, maxLabelWidth };
106
+ }
107
+ naturalSize(available) {
108
+ const computed = this.collectItems();
109
+ if (computed.length === 0) {
110
+ return Size.zero;
111
+ }
112
+ const sepWidth = unicode.lineWidth(this.#separator);
113
+ const { rows, maxKeyWidth, maxLabelWidth } = this.#layout(computed, available.width);
114
+ if (rows.length <= 1) {
115
+ // Single row: tight width
116
+ let width = 0;
117
+ for (let i = 0; i < computed.length; i++) {
118
+ if (i > 0)
119
+ width += sepWidth;
120
+ width += computed[i].totalWidth;
121
+ }
122
+ return new Size(Math.min(width, available.width), 1);
123
+ }
124
+ // Multi-row: use column-aligned width
125
+ const colWidth = maxKeyWidth + 1 + maxLabelWidth;
126
+ const numCols = Math.max(...rows.map(r => r.length));
127
+ const width = numCols * colWidth + (numCols - 1) * sepWidth;
128
+ return new Size(Math.min(width, available.width), rows.length);
129
+ }
130
+ render(viewport) {
131
+ if (viewport.isEmpty) {
132
+ return;
133
+ }
134
+ const computed = this.collectItems();
135
+ if (computed.length === 0) {
136
+ return;
137
+ }
138
+ const { rows, maxKeyWidth, maxLabelWidth } = this.#layout(computed, viewport.contentSize.width);
139
+ const keyStyle = new Style({
140
+ foreground: this.purpose.contrastTextColor,
141
+ bold: true,
142
+ });
143
+ const labelStyle = new Style({
144
+ foreground: this.purpose.dimTextColor,
145
+ });
146
+ const sepStyle = new Style({
147
+ foreground: this.purpose.dimTextColor,
148
+ });
149
+ const sepWidth = unicode.lineWidth(this.#separator);
150
+ const multiRow = rows.length > 1;
151
+ const colWidth = multiRow ? maxKeyWidth + 1 + maxLabelWidth : 0;
152
+ for (let rowIdx = 0; rowIdx < rows.length; rowIdx++) {
153
+ if (rowIdx >= viewport.contentSize.height)
154
+ break;
155
+ const row = rows[rowIdx];
156
+ let x = 0;
157
+ for (let colIdx = 0; colIdx < row.length; colIdx++) {
158
+ const itemIdx = row[colIdx];
159
+ const item = computed[itemIdx];
160
+ if (colIdx > 0) {
161
+ viewport.write(this.#separator, new Point(x, rowIdx), sepStyle);
162
+ x += sepWidth;
163
+ }
164
+ // Write key (right-aligned within maxKeyWidth for multi-row)
165
+ if (multiRow) {
166
+ const pad = maxKeyWidth - item.keyWidth;
167
+ viewport.write(item.keyText, new Point(x + pad, rowIdx), keyStyle);
168
+ x += maxKeyWidth;
169
+ }
170
+ else {
171
+ viewport.write(item.keyText, new Point(x, rowIdx), keyStyle);
172
+ x += item.keyWidth;
173
+ }
174
+ // Space between key and label
175
+ x += 1;
176
+ // Write label
177
+ viewport.write(item.label, new Point(x, rowIdx), labelStyle);
178
+ if (multiRow) {
179
+ x += maxLabelWidth;
180
+ }
181
+ else {
182
+ x += item.labelWidth;
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
188
+ const KEY_SEPARATOR = '/';
189
+ const MODIFIER_SIGILS = {
190
+ ctrl: '⌃',
191
+ alt: '⌥',
192
+ gui: '⌘',
193
+ shift: '⇧',
194
+ };
195
+ //# sourceMappingURL=AbstractLegend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractLegend.js","sourceRoot":"","sources":["../../lib/components/AbstractLegend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,aAAa,CAAA;AAItC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAWvC,SAAS,SAAS,CAAC,GAAW;IAC5B,gDAAgD;IAChD,MAAM,KAAK,GAAG,aAAa,CAAA;IAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrC,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAA;QACzD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,CAAA;QACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,CAAA;QACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,KAAK,CAAA;QAC1D,OAAO,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,GAAsB;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC;AAUD,MAAM,OAAgB,cAAe,SAAQ,IAAI;IAC/C,UAAU,GAAW,IAAI,CAAA;IAEzB,YAAY,KAAY;QACtB,KAAK,CAAC,KAAK,CAAC,CAAA;QACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACnB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,EAAC,SAAS,EAAQ;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,IAAI,CAAA;IACrC,CAAC;IAED,YAAY,CAAC,KAAmB;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAChD,OAAO;gBACL,OAAO;gBACP,QAAQ;gBACR,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU;gBACV,UAAU,EAAE,QAAQ,GAAG,CAAC,GAAG,UAAU,EAAE,sBAAsB;aAC9D,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,OAAO,CACL,QAAwB,EACxB,cAAsB;QAEtB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAC,CAAA;QACrD,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAEnD,+CAA+C;QAC/C,MAAM,IAAI,GAAe,EAAE,CAAA;QAC3B,IAAI,UAAU,GAAa,EAAE,CAAA;QAC7B,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACxB,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAA;YAExE,IACE,UAAU,CAAC,MAAM,GAAG,CAAC;gBACrB,YAAY,GAAG,WAAW,GAAG,cAAc,EAC3C,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACrB,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;gBAChB,YAAY,GAAG,IAAI,CAAC,UAAU,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAClB,YAAY,IAAI,WAAW,CAAA;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvB,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;YAClE,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAC,CAAA;QAC3C,CAAC;QAED,gDAAgD;QAChD,IAAI,WAAW,GAAG,CAAC,CAAA;QACnB,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;gBAC3D,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAED,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAC,CAAA;IAC3C,CAAC;IAOD,WAAW,CAAC,SAAe;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,MAAM,EAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,OAAO,CACrD,QAAQ,EACR,SAAS,CAAC,KAAK,CAChB,CAAA;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrB,0BAA0B;YAC1B,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC;oBAAE,KAAK,IAAI,QAAQ,CAAA;gBAC5B,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;YACjC,CAAC;YACD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACtD,CAAC;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,GAAG,aAAa,CAAA;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;QAC3D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAC,QAAkB;QACvB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QAED,MAAM,EAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,OAAO,CACrD,QAAQ,EACR,QAAQ,CAAC,WAAW,CAAC,KAAK,CAC3B,CAAA;QAED,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC;YACzB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;YAC1C,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC;YAC3B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;SACtC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC;YACzB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;SACtC,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;QAE/D,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YACpD,IAAI,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM;gBAAE,MAAK;YAEhD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;YACxB,IAAI,CAAC,GAAG,CAAC,CAAA;YAET,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;gBAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;gBAE9B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBACf,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;oBAC/D,CAAC,IAAI,QAAQ,CAAA;gBACf,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAA;oBACvC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;oBAClE,CAAC,IAAI,WAAW,CAAA;gBAClB,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;oBAC5D,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAA;gBACpB,CAAC;gBAED,8BAA8B;gBAC9B,CAAC,IAAI,CAAC,CAAA;gBAEN,cAAc;gBACd,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;gBAE5D,IAAI,QAAQ,EAAE,CAAC;oBACb,CAAC,IAAI,aAAa,CAAA;gBACpB,CAAC;qBAAM,CAAC;oBACN,CAAC,IAAI,IAAI,CAAC,UAAU,CAAA;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,aAAa,GAAG,GAAG,CAAA;AACzB,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;CACX,CAAA"}
@@ -208,7 +208,7 @@ class Section extends Container {
208
208
  viewport.registerTick();
209
209
  }
210
210
  viewport.registerMouse(['mouse.button.left', 'mouse.move']);
211
- const textStyle = this.theme.text();
211
+ const textStyle = this.purpose.text();
212
212
  const textSize = this.#titleView
213
213
  .naturalSize(viewport.contentSize)
214
214
  .mutableCopy();
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../lib/components/Accordion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../lib/components/Accordion.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export interface Props extends NotificationProps {
44
44
  * title: 'Confirm Delete',
45
45
  * purpose: 'cancel',
46
46
  * dismissOnEsc: true,
47
- * onDismiss() { console.log('dismissed') },
47
+ * onDismiss() { console.info('dismissed') },
48
48
  * children: [
49
49
  * new Text({text: 'Are you sure?'}),
50
50
  * new Button({title: 'Cancel', onClick() { alert.dismiss() }}),
@@ -45,7 +45,7 @@ class AlertLayout extends BaseContainer {
45
45
  * title: 'Confirm Delete',
46
46
  * purpose: 'cancel',
47
47
  * dismissOnEsc: true,
48
- * onDismiss() { console.log('dismissed') },
48
+ * onDismiss() { console.info('dismissed') },
49
49
  * children: [
50
50
  * new Text({text: 'Are you sure?'}),
51
51
  * new Button({title: 'Cancel', onClick() { alert.dismiss() }}),
@@ -0,0 +1,57 @@
1
+ import type { Viewport } from '../Viewport.js';
2
+ import { type Props as ViewProps, View } from '../View.js';
3
+ import { Container } from '../Container.js';
4
+ import { Size } from '../geometry.js';
5
+ import type { Location } from './ZStack.js';
6
+ interface Props extends ViewProps {
7
+ children?: View[];
8
+ child?: View;
9
+ location?: Location;
10
+ useAvailable?: boolean;
11
+ }
12
+ type ShorthandProps = NonNullable<Props['children']> | Omit<Props, 'location'>;
13
+ /**
14
+ * Positions its children at a fixed location within the available space.
15
+ * Children are rendered as a ZStack (overlaid on top of each other), then
16
+ * placed according to `location`.
17
+ *
18
+ * Designed for use inside a ZStack to anchor content at edges or corners.
19
+ *
20
+ * When `useAvailable` is true, the component uses the viewport's
21
+ * `availableRect` instead of `contentRect` for sizing and placement.
22
+ *
23
+ * ```ts
24
+ * new ZStack({
25
+ * children: [
26
+ * new Space({background: '#333'}),
27
+ * At.topRight([new Text({text: 'top-right'})]),
28
+ * At.bottomCenter([new Text({text: 'bottom'})]),
29
+ * ],
30
+ * })
31
+ * ```
32
+ */
33
+ export declare class At extends Container {
34
+ #private;
35
+ static topLeft(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'location'>): At;
36
+ static topCenter(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'location'>): At;
37
+ static topRight(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'location'>): At;
38
+ static left(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'location'>): At;
39
+ static center(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'location'>): At;
40
+ static right(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'location'>): At;
41
+ static bottomLeft(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'location'>): At;
42
+ static bottomCenter(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'location'>): At;
43
+ static bottomRight(props?: ShorthandProps, extraProps?: Omit<Props, 'children' | 'location'>): At;
44
+ constructor({ children, child, location, useAvailable, ...viewProps }: Props);
45
+ get location(): Location;
46
+ set location(value: Location);
47
+ get useAvailable(): boolean;
48
+ set useAvailable(value: boolean);
49
+ update({ children, child, location, useAvailable, ...props }: Props): void;
50
+ /**
51
+ * The At component fills all available space — it's meant to be used
52
+ * inside a ZStack layer.
53
+ */
54
+ naturalSize(available: Size): Size;
55
+ render(viewport: Viewport): void;
56
+ }
57
+ export {};