@profullstack/hqtui 0.3.0 → 0.5.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 (116) hide show
  1. package/dist/ansi.d.ts +10 -0
  2. package/dist/ansi.d.ts.map +1 -1
  3. package/dist/ansi.js +18 -0
  4. package/dist/ansi.js.map +1 -1
  5. package/dist/app.d.ts +25 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +96 -29
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli.js +1 -1
  10. package/dist/diff.d.ts +37 -1
  11. package/dist/diff.d.ts.map +1 -1
  12. package/dist/diff.js +79 -4
  13. package/dist/diff.js.map +1 -1
  14. package/dist/graphics/braille.d.ts.map +1 -1
  15. package/dist/graphics/braille.js +15 -2
  16. package/dist/graphics/braille.js.map +1 -1
  17. package/dist/graphics/canvas.d.ts +76 -0
  18. package/dist/graphics/canvas.d.ts.map +1 -0
  19. package/dist/graphics/canvas.js +110 -0
  20. package/dist/graphics/canvas.js.map +1 -0
  21. package/dist/graphics/chart.d.ts +70 -0
  22. package/dist/graphics/chart.d.ts.map +1 -0
  23. package/dist/graphics/chart.js +249 -0
  24. package/dist/graphics/chart.js.map +1 -0
  25. package/dist/graphics/index.d.ts +3 -0
  26. package/dist/graphics/index.d.ts.map +1 -1
  27. package/dist/graphics/index.js +3 -0
  28. package/dist/graphics/index.js.map +1 -1
  29. package/dist/graphics/world-data.d.ts +22 -0
  30. package/dist/graphics/world-data.d.ts.map +1 -0
  31. package/dist/graphics/world-data.js +1300 -0
  32. package/dist/graphics/world-data.js.map +1 -0
  33. package/dist/graphics/world.d.ts +70 -0
  34. package/dist/graphics/world.d.ts.map +1 -0
  35. package/dist/graphics/world.js +137 -0
  36. package/dist/graphics/world.js.map +1 -0
  37. package/dist/index.d.ts +6 -5
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +5 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/input.d.ts +7 -0
  42. package/dist/input.d.ts.map +1 -1
  43. package/dist/input.js +1 -0
  44. package/dist/input.js.map +1 -1
  45. package/dist/layout.d.ts +21 -1
  46. package/dist/layout.d.ts.map +1 -1
  47. package/dist/layout.js +54 -4
  48. package/dist/layout.js.map +1 -1
  49. package/dist/richtext.d.ts +8 -0
  50. package/dist/richtext.d.ts.map +1 -1
  51. package/dist/richtext.js +29 -1
  52. package/dist/richtext.js.map +1 -1
  53. package/dist/surface.d.ts +28 -0
  54. package/dist/surface.d.ts.map +1 -1
  55. package/dist/surface.js +83 -15
  56. package/dist/surface.js.map +1 -1
  57. package/dist/terminal.d.ts +81 -0
  58. package/dist/terminal.d.ts.map +1 -1
  59. package/dist/terminal.js +131 -4
  60. package/dist/terminal.js.map +1 -1
  61. package/dist/testing.d.ts +12 -0
  62. package/dist/testing.d.ts.map +1 -1
  63. package/dist/testing.js +10 -1
  64. package/dist/testing.js.map +1 -1
  65. package/dist/ui.d.ts +152 -3
  66. package/dist/ui.d.ts.map +1 -1
  67. package/dist/ui.js +210 -15
  68. package/dist/ui.js.map +1 -1
  69. package/dist/unicode.d.ts +9 -0
  70. package/dist/unicode.d.ts.map +1 -1
  71. package/dist/unicode.js +25 -0
  72. package/dist/unicode.js.map +1 -1
  73. package/dist/widgets/calendar.d.ts +67 -0
  74. package/dist/widgets/calendar.d.ts.map +1 -0
  75. package/dist/widgets/calendar.js +118 -0
  76. package/dist/widgets/calendar.js.map +1 -0
  77. package/dist/widgets/chart.d.ts +24 -0
  78. package/dist/widgets/chart.d.ts.map +1 -0
  79. package/dist/widgets/chart.js +80 -0
  80. package/dist/widgets/chart.js.map +1 -0
  81. package/dist/widgets/controls.d.ts +22 -0
  82. package/dist/widgets/controls.d.ts.map +1 -1
  83. package/dist/widgets/controls.js +20 -7
  84. package/dist/widgets/controls.js.map +1 -1
  85. package/dist/widgets/index.d.ts +6 -0
  86. package/dist/widgets/index.d.ts.map +1 -1
  87. package/dist/widgets/index.js +6 -0
  88. package/dist/widgets/index.js.map +1 -1
  89. package/dist/widgets/meters.d.ts.map +1 -1
  90. package/dist/widgets/meters.js +11 -1
  91. package/dist/widgets/meters.js.map +1 -1
  92. package/dist/widgets/scrollbar.d.ts +66 -0
  93. package/dist/widgets/scrollbar.d.ts.map +1 -0
  94. package/dist/widgets/scrollbar.js +89 -0
  95. package/dist/widgets/scrollbar.js.map +1 -0
  96. package/dist/widgets/shadow.d.ts +42 -0
  97. package/dist/widgets/shadow.d.ts.map +1 -0
  98. package/dist/widgets/shadow.js +73 -0
  99. package/dist/widgets/shadow.js.map +1 -0
  100. package/dist/widgets/surface.d.ts +33 -0
  101. package/dist/widgets/surface.d.ts.map +1 -0
  102. package/dist/widgets/surface.js +37 -0
  103. package/dist/widgets/surface.js.map +1 -0
  104. package/dist/widgets/table.d.ts +1 -2
  105. package/dist/widgets/table.d.ts.map +1 -1
  106. package/dist/widgets/table.js +4 -12
  107. package/dist/widgets/table.js.map +1 -1
  108. package/dist/widgets/text.d.ts +26 -2
  109. package/dist/widgets/text.d.ts.map +1 -1
  110. package/dist/widgets/text.js +30 -8
  111. package/dist/widgets/text.js.map +1 -1
  112. package/dist/widgets/world.d.ts +32 -0
  113. package/dist/widgets/world.d.ts.map +1 -0
  114. package/dist/widgets/world.js +31 -0
  115. package/dist/widgets/world.js.map +1 -0
  116. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAsB,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IAC5B,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAEtC;;;GAGG;AACH,qBAAa,QAAQ;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,OAAO,CAAC,OAAO,CAAwH;IACvI,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,MAAM,CAaZ;IAEF,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,QAAQ,CAGd;IAEF,YAAY,OAAO,GAAE,eAAoB,EAcxC;IAED,IAAI,IAAI,YAAY,CAYnB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGxB;IAED,0CAA0C;IAC1C,KAAK,IAAI,IAAI,CAwBZ;IAED,yEAAyE;IACzE,OAAO,IAAI,IAAI,CAwBd;IAED,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAGlD;IAED,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAG1D;IAED;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAG3C;IAED,OAAO,CAAC,mBAAmB;CAiD5B;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAEtE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,MAAM,CAAC,WAA4B,GAAG,IAAI,CAQlF"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAsB,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IAC5B,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAEtC;;;GAGG;AACH,qBAAa,QAAQ;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,OAAO,CAAC,OAAO,CAAqI;IACpJ,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAS;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,YAAY,CAAoC;IACxD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,MAAM,CAaZ;IAEF,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,QAAQ,CAGd;IAEF,YAAY,OAAO,GAAE,eAAoB,EAkBxC;IAED,IAAI,IAAI,YAAY,CAYnB;IAED,6CAA6C;IAC7C,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED;;;;;;;OAOG;IACH,YAAY,IAAI,IAAI,CAmBnB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGxB;IAED,0CAA0C;IAC1C,KAAK,IAAI,IAAI,CA4BZ;IAED,yEAAyE;IACzE,OAAO,IAAI,IAAI,CAgCd;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAYlC;IAED,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAGlD;IAED,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAG1D;IAED;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAG3C;IAED,OAAO,CAAC,mBAAmB;CAiD5B;AA0BD,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAEtE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,MAAM,CAAC,WAA4B,GAAG,IAAI,CAQlF"}
package/dist/terminal.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ansi, setTitle } from "./ansi.js";
1
+ import { ansi, moveTo, moveUp, setTitle } from "./ansi.js";
2
2
  import { detectCapabilities } from "./capabilities.js";
3
3
  import { InputParser } from "./input.js";
4
4
  /**
@@ -20,6 +20,13 @@ export class Terminal {
20
20
  cleanupHandlers = [];
21
21
  teardownListeners = new Set();
22
22
  escapeTimer = null;
23
+ viewportMode = { mode: "fullscreen" };
24
+ /**
25
+ * Rows an inline viewport has reserved below the anchor. Kept because a
26
+ * resize can shrink the terminal under it, and because `restore` has to know
27
+ * how far down to move before handing the shell back.
28
+ */
29
+ reserved = 0;
23
30
  onData = (chunk) => {
24
31
  const text = typeof chunk === "string" ? chunk : chunk.toString("utf8");
25
32
  this.dispatch(this.parser.parse(text));
@@ -51,8 +58,12 @@ export class Terminal {
51
58
  this.output = options.output ?? process.stdout;
52
59
  this.capabilities = detectCapabilities(options.capabilities ?? {}, process.env, this.output);
53
60
  this.escapeTimeout = options.escapeTimeout ?? 30;
61
+ this.viewportMode = options.viewport ?? { mode: "fullscreen" };
62
+ // Only a fullscreen app may take the alternate screen. The whole point of
63
+ // the other two is to leave what is already on the terminal alone.
64
+ const fullscreen = this.viewportMode.mode === "fullscreen";
54
65
  this.options = {
55
- alternateScreen: options.alternateScreen ?? true,
66
+ alternateScreen: fullscreen ? options.alternateScreen ?? true : false,
56
67
  mouse: options.mouse ?? this.capabilities.mouse,
57
68
  hideCursor: options.hideCursor ?? true,
58
69
  bracketedPaste: options.bracketedPaste ?? this.capabilities.bracketedPaste,
@@ -74,6 +85,38 @@ export class Terminal {
74
85
  rows: usable(this.output.rows) ?? usable(process.env.LINES) ?? 24,
75
86
  };
76
87
  }
88
+ /** How much of the terminal the app owns. */
89
+ get viewport() {
90
+ return this.viewportMode;
91
+ }
92
+ /**
93
+ * The region to draw into, in screen cells.
94
+ *
95
+ * For an inline viewport the `y` is a fiction -- it is always 0, because the
96
+ * strip is addressed from its own saved cursor rather than from the top of
97
+ * the screen -- but the width and height are real, and they are what the
98
+ * framebuffer is sized from.
99
+ */
100
+ viewportRect() {
101
+ const { columns, rows } = this.size();
102
+ const v = this.viewportMode;
103
+ if (v.mode === "inline") {
104
+ // A viewport taller than the terminal would scroll itself off the top
105
+ // every frame, so it gives up the rows it cannot have.
106
+ return { x: 0, y: 0, width: columns, height: Math.max(1, Math.min(v.height, rows)) };
107
+ }
108
+ if (v.mode === "fixed") {
109
+ const x = Math.max(0, Math.min(v.x, Math.max(0, columns - 1)));
110
+ const y = Math.max(0, Math.min(v.y, Math.max(0, rows - 1)));
111
+ return {
112
+ x,
113
+ y,
114
+ width: Math.max(0, Math.min(v.width, columns - x)),
115
+ height: Math.max(0, Math.min(v.height, rows - y)),
116
+ };
117
+ }
118
+ return { x: 0, y: 0, width: columns, height: rows };
119
+ }
77
120
  write(data) {
78
121
  if (data.length === 0)
79
122
  return;
@@ -97,8 +140,14 @@ export class Terminal {
97
140
  setup += ansi.focusOn;
98
141
  if (this.options.title)
99
142
  setup += setTitle(this.options.title);
100
- setup += ansi.clearScreen + ansi.cursorHome;
143
+ // Only a fullscreen app owns the grid, so only a fullscreen app may wipe
144
+ // it. An inline strip or a fixed region is a guest on somebody else's
145
+ // screen and has no business clearing it.
146
+ if (this.viewportMode.mode === "fullscreen")
147
+ setup += ansi.clearScreen + ansi.cursorHome;
101
148
  this.write(setup);
149
+ if (this.viewportMode.mode === "inline")
150
+ this.reserveInline();
102
151
  if (this.input.isTTY && typeof this.input.setRawMode === "function") {
103
152
  this.input.setRawMode(true);
104
153
  this.rawWasSet = true;
@@ -126,6 +175,12 @@ export class Terminal {
126
175
  }
127
176
  this.input.pause?.();
128
177
  let teardown = ansi.reset;
178
+ // An inline app leaves its last frame behind as part of the transcript, so
179
+ // the cursor has to come out below it rather than on top of it.
180
+ if (this.viewportMode.mode === "inline" && this.reserved > 0) {
181
+ teardown = toAnchor() + "\r" + "\n".repeat(this.reserved) + teardown;
182
+ this.reserved = 0;
183
+ }
129
184
  if (this.options.focusEvents)
130
185
  teardown += ansi.focusOff;
131
186
  if (this.options.bracketedPaste)
@@ -134,12 +189,62 @@ export class Terminal {
134
189
  teardown += ansi.mouseOff;
135
190
  if (this.options.hideCursor)
136
191
  teardown += ansi.cursorShow;
137
- teardown += this.options.alternateScreen ? ansi.alternateScreenOff : `\n`;
192
+ teardown += this.options.alternateScreen
193
+ ? ansi.alternateScreenOff
194
+ : this.viewportMode.mode === "inline" ? "" : `\n`;
138
195
  this.write(teardown);
139
196
  for (const off of this.cleanupHandlers)
140
197
  off();
141
198
  this.cleanupHandlers = [];
142
199
  }
200
+ /**
201
+ * Make room for an inline viewport and remember where it starts.
202
+ *
203
+ * There is no way to ask where the cursor is without a round trip the caller
204
+ * would have to await, and no way to trust the answer afterwards -- any
205
+ * output scrolls the screen and moves the strip without a word. So the
206
+ * anchor is never a number: it is a saved cursor position, re-saved whenever
207
+ * the strip moves.
208
+ *
209
+ * Printing the newlines first is what reserves the space. If the cursor was
210
+ * near the bottom the terminal scrolls, which is exactly what should happen;
211
+ * walking back up then lands on the strip's first row wherever it ended up.
212
+ */
213
+ reserveInline() {
214
+ const height = this.viewportRect().height;
215
+ this.reserved = height;
216
+ this.write("\r" + "\n".repeat(Math.max(0, height - 1)) + moveUp(height - 1) + "\r");
217
+ this.write(anchor());
218
+ }
219
+ /**
220
+ * Write lines above an inline viewport, permanently.
221
+ *
222
+ * This is the half of inline mode that makes it worth having: finished work
223
+ * scrolls away into the user's scrollback while the live rows stay put. The
224
+ * lines are printed where the strip currently begins and the strip is
225
+ * re-anchored below them, so if that runs off the bottom the terminal scrolls
226
+ * and the oldest lines leave through the top -- into scrollback, which is
227
+ * where they were always going.
228
+ *
229
+ * The caller repaints the viewport afterwards: everything below the anchor is
230
+ * now whatever the terminal happened to shift there.
231
+ */
232
+ insertBefore(lines) {
233
+ if (this.viewportMode.mode !== "inline" || lines.length === 0)
234
+ return;
235
+ const height = this.reserved;
236
+ let out = toAnchor() + "\r";
237
+ for (const line of lines)
238
+ out += ansi.clearLine + line + ansi.reset + "\r\n";
239
+ // Re-reserve from the new anchor, then walk back to it. Writing the rows
240
+ // is what forces the terminal to scroll if the strip no longer fits, and
241
+ // walking back afterwards finds it wherever the scroll left it.
242
+ out += ansi.clearLine;
243
+ for (let i = 1; i < height; i++)
244
+ out += "\r\n" + ansi.clearLine;
245
+ out += moveUp(height - 1) + "\r" + anchor();
246
+ this.write(out);
247
+ }
143
248
  onInput(listener) {
144
249
  this.inputListeners.add(listener);
145
250
  return () => this.inputListeners.delete(listener);
@@ -205,6 +310,28 @@ export class Terminal {
205
310
  });
206
311
  }
207
312
  }
313
+ /**
314
+ * Save the anchor an inline viewport measures from.
315
+ *
316
+ * The pen is reset first so that the saved graphic rendition is always the
317
+ * default one. DECRC restores attributes along with the position, so without
318
+ * that the colour in force at some arbitrary moment would come back with every
319
+ * jump and quietly desynchronise the renderer's model of the terminal.
320
+ */
321
+ function anchor() {
322
+ return ansi.reset + ansi.cursorSave;
323
+ }
324
+ /**
325
+ * Go back to the anchor, and immediately save it again.
326
+ *
327
+ * DECRC is a pop rather than a peek in some terminals: restore twice against
328
+ * one save and the second sends the cursor home, which is the top of the
329
+ * user's screen and not remotely where the viewport is. Re-arming after every
330
+ * restore makes the sequence mean the same thing on both kinds.
331
+ */
332
+ function toAnchor() {
333
+ return ansi.cursorRestore + anchor();
334
+ }
208
335
  export function createTerminal(options = {}) {
209
336
  return new Terminal(options);
210
337
  }
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAA+C,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AA0B1D;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACV,KAAK,CAAoB;IACzB,MAAM,CAAqB;IAC3B,YAAY,CAAe;IAC5B,OAAO,CAAwH;IAC/H,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;IAC3B,OAAO,GAAG,KAAK,CAAC;IACxB,0EAA0E;IACjE,aAAa,CAAS;IACvB,SAAS,GAAG,KAAK,CAAC;IAClB,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,eAAe,GAAmB,EAAE,CAAC;IACrC,iBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;IAC1C,WAAW,GAA0B,IAAI,CAAC;IAC1C,MAAM,GAAG,CAAC,KAAsB,EAAQ,EAAE;QAChD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,6DAA6D;QAC7D,IAAI,IAAI,CAAC,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACrC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEM,QAAQ,CAAC,MAAoB;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc;gBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACO,QAAQ,GAAG,GAAS,EAAE;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF,YAAY,OAAO,GAAoB,EAAE;QACvC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG;YACb,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;YAChD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK;YAC/C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc;YAC1E,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW;YACjE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,IAAI;YACxD,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;IACJ,CAAC;IAED,IAAI;QACF,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,MAAM,GAAG,CAAC,KAAc,EAAsB,EAAE;YACpD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,CAAC,CAAC;QACF,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YACzE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;SAClE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,0CAA0C;IAC1C,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe;YAAE,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC;QAClE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC;QACtD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK;YAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;QACzE,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc;YAAE,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAChE,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;QACpD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACpE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnE,CAAC;IAED,yEAAyE;IACzE,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAClE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAErB,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QACxD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc;YAAE,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACpE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAClD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC;QACzD,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAErB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe;YAAE,GAAG,EAAE,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,QAA8B;QACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,aAAa,CAAC,QAAgC;QAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,QAAoB;QAC7B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAEO,mBAAmB;QACzB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAErC,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAE,EAAE,CAAC,GAAG,EAAE;YAChD,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC/B,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,OAAO,GAAG,CAAC,KAAiD,EAAE,EAAE,CAAC,CAAC,KAAc,EAAE,EAAE;YACxF,uEAAuE;YACvE,yEAAyE;YACzE,kCAAkC;YAClC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;YACV,sEAAsE;YACtE,mCAAmC;YACnC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,iBAAiB;gBAAE,QAAQ,EAAE,CAAC;YAC1D,IAAI,UAAU;gBAAE,OAAO;YACvB,yEAAyE;YACzE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAElC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAE9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,OAAO,GAAoB,EAAE;IAC1D,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAM,GAAuB,OAAO,CAAC,MAAM;IAC1E,MAAM,CAAC,KAAK,CACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ;QACjE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAC5C,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC1E,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
package/dist/testing.d.ts CHANGED
@@ -31,6 +31,18 @@ export interface RenderedScreen {
31
31
  * only observable by running a real terminal.
32
32
  */
33
33
  regions: HitRegion[];
34
+ /**
35
+ * Press the mouse on a screen cell, exactly as the app would deliver it:
36
+ * the topmost region containing the cell takes it. Returns whether any
37
+ * region did, so a test can prove a click lands on the thing it looks like
38
+ * it lands on. `clicks: 2` is a double-click.
39
+ */
40
+ click(x: number, y: number, options?: {
41
+ button?: "left" | "middle" | "right";
42
+ clicks?: number;
43
+ }): boolean;
44
+ /** Turn the wheel over a cell. `delta` is -1 up, 1 down. */
45
+ scroll(x: number, y: number, delta: number): boolean;
34
46
  /** Plain text, one line per row, trailing spaces trimmed. */
35
47
  text(): string;
36
48
  /** One row of plain text. */
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,SAAS,EAAmC,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAgB,MAAM,YAAY,CAAC;AACtE,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEpG,OAAO,EAAiB,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IACnC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,KAAK,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB;;;;;OAKG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;IAC1G,4DAA4D;IAC5D,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACrD,6DAA6D;IAC7D,IAAI,IAAI,MAAM,CAAC;IACf,6BAA6B;IAC7B,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,sEAAsE;IACtE,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACzC,gDAAgD;IAChD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,oDAAoD;IACpD,MAAM,IAAI,YAAY,EAAE,EAAE,CAAC;CAC5B;AAaD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,KAAK,IAAI,EAChH,OAAO,GAAE,aAAkB,GAC1B,cAAc,CAmFhB;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAC1C,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAER;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAC1C,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAER;AAuBD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAC1C,OAAO,GAAE,aAAa,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;CAChB,GACL,MAAM,CAoER;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAC1C,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,cAAc,EAAE,CAIlB"}
package/dist/testing.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { FrameBuffer } from "./buffer.js";
2
2
  import { Encoder } from "./diff.js";
3
3
  import { createSurface, Surface } from "./surface.js";
4
- import { Container } from "./ui.js";
4
+ import { Container, dispatchHit } from "./ui.js";
5
5
  import { resolveTheme } from "./theme.js";
6
6
  import { detectCapabilities } from "./capabilities.js";
7
7
  import { CONTINUATION, cellText } from "./unicode.js";
@@ -61,6 +61,15 @@ export function renderToScreen(view, options = {}) {
61
61
  height,
62
62
  buffer,
63
63
  regions,
64
+ click: (x, y, options = {}) => dispatchHit(regions, {
65
+ action: "press",
66
+ x,
67
+ y,
68
+ button: options.button ?? "left",
69
+ scroll: 0,
70
+ clicks: options.clicks ?? 1,
71
+ }),
72
+ scroll: (x, y, delta) => dispatchHit(regions, { action: "scroll", x, y, button: "none", scroll: delta, clicks: 0 }),
64
73
  text: () => buffer.toText(),
65
74
  line: (y) => buffer.rowText(y).replace(/\s+$/, ""),
66
75
  ansi: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
package/dist/ui.d.ts CHANGED
@@ -1,17 +1,62 @@
1
- import type { Surface, BorderStyle, Align } from "./surface.ts";
1
+ import type { Surface, BorderStyle, Align, Sides } from "./surface.ts";
2
2
  import type { Color } from "./color.ts";
3
3
  import type { Theme } from "./theme.ts";
4
4
  import type { Capabilities } from "./capabilities.ts";
5
- import { type Rect, type Padding, type Size } from "./layout.ts";
5
+ import { type Justify, type Rect, type Padding, type Size } from "./layout.ts";
6
6
  import { type RichText } from "./richtext.ts";
7
7
  import { BrailleCanvas } from "./graphics/braille.ts";
8
+ import { type CanvasOptions } from "./graphics/canvas.ts";
9
+ import type { CountryOutline } from "./graphics/world.ts";
8
10
  import * as W from "./widgets/index.ts";
9
11
  export interface HitRegion {
10
12
  rect: Rect;
11
- onClick?: (x: number, y: number, button: string) => void;
13
+ /**
14
+ * A press inside the region, in coordinates relative to it. `clicks` is 1
15
+ * for a click and 2 for the second press of a double-click; the app always
16
+ * supplies it, and a test that calls the handler by hand may leave it out.
17
+ */
18
+ onClick?: (x: number, y: number, button: string, clicks?: number) => void;
12
19
  onScroll?: (delta: number) => void;
13
20
  onHover?: (x: number, y: number) => void;
14
21
  }
22
+ /** What a hit-test needs to know about a mouse event. */
23
+ export interface HitEvent {
24
+ action: "press" | "release" | "move" | "drag" | "scroll";
25
+ x: number;
26
+ y: number;
27
+ button: string;
28
+ scroll: number;
29
+ clicks: number;
30
+ }
31
+ /**
32
+ * Hand a mouse event to the region under it. Later regions are drawn on top,
33
+ * so they are tested first, and the first one that contains the point takes
34
+ * the event whether or not it has a handler for it: a dialog with no click
35
+ * handler still stops the click reaching what it covers. Returns whether any
36
+ * region took it.
37
+ */
38
+ export declare function dispatchHit(regions: readonly HitRegion[], event: HitEvent): boolean;
39
+ /** How long two presses on the same cell may be apart and still count as one double-click. */
40
+ export declare const DOUBLE_CLICK_MS = 400;
41
+ /**
42
+ * How many clicks a press makes, given the press before it: 2 when it lands
43
+ * on the same row, within a cell either way, inside the double-click window.
44
+ * Terminal cells are wide enough that a hand does not slip a whole column
45
+ * between presses, but it does slip a pixel, which is why the row is exact
46
+ * and the column is not.
47
+ */
48
+ export declare function countClicks(previous: {
49
+ at: number;
50
+ x: number;
51
+ y: number;
52
+ button: string;
53
+ clicks: number;
54
+ } | null, press: {
55
+ at: number;
56
+ x: number;
57
+ y: number;
58
+ button: string;
59
+ }): number;
15
60
  export interface FocusRegistration {
16
61
  index: number;
17
62
  focused: boolean;
@@ -44,11 +89,23 @@ export interface ScrollHandlers {
44
89
  onScroll?: (delta: number) => void;
45
90
  /** Click on a visible row, counted from the first body row. */
46
91
  onSelectRow?: (visibleRow: number) => void;
92
+ /**
93
+ * Double-click on a visible row. Fires after `onSelectRow` for the same
94
+ * press, so a directory is selected and then opened, the way a file manager
95
+ * does it.
96
+ */
97
+ onActivateRow?: (visibleRow: number) => void;
47
98
  /** Click anywhere on the widget, including its header. */
48
99
  onFocus?: () => void;
49
100
  }
50
101
  export interface ContainerOptions {
51
102
  gap?: number;
103
+ /**
104
+ * Where space left over by the children goes. Defaults to "start", which is
105
+ * what every layout did before this existed, and is inert unless the
106
+ * children actually leave slack.
107
+ */
108
+ justify?: Justify;
52
109
  padding?: Padding;
53
110
  /** Size along the parent's main axis. */
54
111
  size?: Size;
@@ -57,6 +114,21 @@ export interface ContainerOptions {
57
114
  min?: number;
58
115
  max?: number;
59
116
  background?: Color;
117
+ /**
118
+ * Treat this container's own edges as panel borders when collapsing.
119
+ *
120
+ * Collapsing merges a seam only where two bordered siblings meet, and a row
121
+ * or column is not itself bordered -- so wrapping a stack of panels in a
122
+ * column, which is the only way to put a stack beside one tall panel, used to
123
+ * make the seam down the middle of the screen the one seam that could never
124
+ * merge. Set this on such a wrapper and its edges join in.
125
+ *
126
+ * It is a declaration rather than something inferred, because the children
127
+ * are built only once the layout has been solved and the seam has to be
128
+ * known before that. True only if every child is a panel filling the
129
+ * container across the seam; otherwise a neighbour's border lands on content.
130
+ */
131
+ bordered?: boolean;
60
132
  }
61
133
  export interface PanelOptions extends ContainerOptions {
62
134
  title?: string;
@@ -67,10 +139,23 @@ export interface PanelOptions extends ContainerOptions {
67
139
  footer?: string;
68
140
  border?: BorderStyle;
69
141
  borderColor?: Color;
142
+ /**
143
+ * Which edges of the panel to draw. Defaults to all four. Use it for chrome
144
+ * that is not a box: a header rule, a sidebar rail, a footer that should not
145
+ * look boxed in.
146
+ */
147
+ sides?: Sides;
70
148
  /** Draws the focused border color and joins the Tab order. */
71
149
  focusable?: boolean;
72
150
  focused?: boolean;
73
151
  scroll?: number;
152
+ /**
153
+ * A click anywhere on the panel that no child claimed: the border, the
154
+ * title row, the padding, the empty space below a short list. Coordinates
155
+ * are relative to the panel's outer rect, so `y === 0` is the title row.
156
+ * The usual use is focusing the pane a click landed in.
157
+ */
158
+ onClick?: (x: number, y: number, button: string, clicks: number) => void;
74
159
  }
75
160
  export interface GridOptions extends ContainerOptions {
76
161
  columns?: Size[] | number;
@@ -90,6 +175,7 @@ export declare class Container {
90
175
  readonly direction: "row" | "column";
91
176
  private children;
92
177
  private gap;
178
+ private justify;
93
179
  private inner;
94
180
  constructor(surface: Surface, ctx: RenderContext, direction?: "row" | "column", options?: ContainerOptions);
95
181
  get theme(): Theme;
@@ -164,6 +250,16 @@ export declare class Container {
164
250
  */
165
251
  table<Row>(options: W.TableOptions<Row> & ContainerOptions & ScrollHandlers): this;
166
252
  list(options: W.ListOptions & ContainerOptions & ScrollHandlers): this;
253
+ /**
254
+ * A scrollbar over state you own, for anything that scrolls and is not a
255
+ * table: a wrapped paragraph, a canvas, a `draw()` of your own.
256
+ *
257
+ * The wheel and a click on the track both arrive as `onScroll`, so the same
258
+ * handler that drives the content drives the bar. A click reports the delta
259
+ * that would land the thumb where you clicked, which makes the bar a way to
260
+ * move rather than a picture of where you are.
261
+ */
262
+ scrollbar(options: W.ScrollbarOptions & ContainerOptions & ScrollHandlers): this;
167
263
  tree(options: W.TreeOptions & ContainerOptions & ScrollHandlers): this;
168
264
  /** Register the widget's rect so the wheel and clicks reach it. */
169
265
  private attachScroll;
@@ -175,6 +271,31 @@ export declare class Container {
175
271
  progress(options: W.ProgressOptions & ContainerOptions): this;
176
272
  /** Braille line/area graph. Fills the space it is given. */
177
273
  graph(options: W.GraphOptions & ContainerOptions): this;
274
+ /**
275
+ * A chart of arbitrary (x, y) data, with a domain on both axes.
276
+ *
277
+ * `graph` plots a history buffer, one sample per column. Use this when the
278
+ * data has its own x values: two series of different lengths then line up,
279
+ * and a point lands where its x says it does.
280
+ */
281
+ chart(options: W.ChartOptions & ContainerOptions): this;
282
+ /**
283
+ * Reset a region so an overlay can own it.
284
+ *
285
+ * Anything drawn into a region without clearing it first shows whatever was
286
+ * underneath through the cells it does not touch.
287
+ */
288
+ clear(options?: W.ClearOptions & ContainerOptions): this;
289
+ /** Flood a region with one repeated symbol and style. */
290
+ fill(options?: W.FillOptions & ContainerOptions): this;
291
+ /**
292
+ * A month as a grid, with per-day styling.
293
+ *
294
+ * Sized to the month it shows: a month spans four, five or six week rows
295
+ * depending on where its first day falls, and reserving five leaves some
296
+ * months a row short and others a blank row long.
297
+ */
298
+ calendar(options: W.CalendarOptions & ContainerOptions): this;
178
299
  /** A filled area graph — `graph` with `fill` on. */
179
300
  areaGraph(options: W.GraphOptions & ContainerOptions): this;
180
301
  /** Several series on one set of axes. */
@@ -213,6 +334,26 @@ export declare class Container {
213
334
  tooltip(options: W.TooltipOptions): this;
214
335
  /** Draw straight onto the framebuffer region. Nothing is off limits. */
215
336
  draw(fn: (surface: Surface) => void, options?: ContainerOptions): this;
337
+ /**
338
+ * A canvas drawn in your own coordinates rather than in pixels.
339
+ *
340
+ * `canvas` hands you the pixel grid and leaves the unit conversion to you,
341
+ * which means a drawing written for one panel size is wrong in the next.
342
+ * This takes bounds and shapes placed inside them, and y goes up.
343
+ */
344
+ shapes(options: CanvasOptions & ContainerOptions): this;
345
+ /**
346
+ * A world map, and the country under whatever gets clicked.
347
+ *
348
+ * The click is answered by turning the cell back into degrees and testing it
349
+ * against the outlines, so the answer is the country actually under the
350
+ * cursor. Bounding boxes would be cheaper and wrong: Russia's covers most of
351
+ * the northern hemisphere and Chile's covers Argentina.
352
+ */
353
+ worldMap(options?: W.WorldMapOptions & ContainerOptions & {
354
+ onSelect?: (country: CountryOutline | undefined) => void;
355
+ onHover?: (country: CountryOutline | undefined) => void;
356
+ }): this;
216
357
  /** A Braille pixel canvas sized to the region, blitted when you are done. */
217
358
  canvas(fn: (canvas: BrailleCanvas, surface: Surface) => void, options?: ContainerOptions & {
218
359
  color?: Color;
@@ -235,6 +376,14 @@ export declare class GridContainer {
235
376
  get theme(): Theme;
236
377
  private track;
237
378
  private push;
379
+ /**
380
+ * The gap between tracks, minus one where the whole grid is panels and
381
+ * collapsing is on, so neighbouring borders land in the same column and
382
+ * merge. A grid is one pair of track sizes rather than a list of siblings,
383
+ * so this is all or nothing: a single cell that is not a panel would have a
384
+ * neighbour's border drawn across its content.
385
+ */
386
+ private seam;
238
387
  /** A panel occupying the next free cell (or several, with colSpan/rowSpan). */
239
388
  panel(options?: PanelOptions & CellOptions, build?: (panel: Container) => void): this;
240
389
  cell(options?: CellOptions & ContainerOptions, build?: (cell: Container) => void): this;
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAc,MAAM,cAAc,CAAC;AAE5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EACY,KAAK,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EACpD,MAAM,aAAa,CAAC;AAErB,OAAO,EAAiC,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,yDAAyD;AACzD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,iBAAiB,CAAC;IACtD,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7C,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAaD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;IACrC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAU;IAEvB,YACE,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,aAAa,EAClB,SAAS,GAAE,KAAK,GAAG,QAAmB,EACtC,OAAO,GAAE,gBAAqB,EAQ/B;IAED,IAAI,KAAK,IAAI,KAAK,CAEjB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,+DAA+D;IAC/D,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,GAAG;IASX;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAOb;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,MAAM;IAQd,8EAA8E;IAC9E,KAAK,IAAI,IAAI,CAcZ;IAID,gEAAgE;IAChE,GAAG,CAAC,OAAO,GAAE,gBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAM1E;IAED,4BAA4B;IAC5B,MAAM,CAAC,OAAO,GAAE,gBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAMhF;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,OAAO,GAAE,WAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI,CAM3E;IAED,wEAAwE;IACxE,KAAK,CAAC,OAAO,GAAE,YAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAwB1E;IAED,oEAAoE;IACpE,GAAG,CAAC,OAAO,GAAE,YAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAEtE;IAED,mBAAmB;IACnB,MAAM,CAAC,IAAI,GAAE,IAAa,GAAG,IAAI,CAEhC;IAED,8CAA8C;IAC9C,OAAO,CAAC,OAAO,GAAE,CAAC,CAAC,cAAc,GAAG,gBAAqB,GAAG,IAAI,CAE/D;IAID;;;;;;;;OAQG;IACH,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAE,CAAC,CAAC,WAAW,GAAG,gBAAqB,GAAG,IAAI,CAK5E;IAED,4BAA4B;IAC5B,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAE,CAAC,CAAC,WAAW,GAAG,gBAAqB,GAAG,IAAI,CAE7E;IAED,+CAA+C;IAC/C,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAE,CAAC,CAAC,WAAW,GAAG,gBAAqB,GAAG,IAAI,CAE/E;IAED,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAEtD;IAED,iCAAiC;IACjC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,OAAO,GAAE,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,gBAAqB,GAAG,IAAI,CAEvG;IAID;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,gBAAgB,GAAG,cAAc,GAAG,IAAI,CAMjF;IAED,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,GAAG,gBAAgB,GAAG,cAAc,GAAG,IAAI,CAKrE;IAED,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,GAAG,gBAAgB,GAAG,cAAc,GAAG,IAAI,CAKrE;IAED,mEAAmE;IACnE,OAAO,CAAC,YAAY;IAapB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,cAAc,GAAG,IAAI,CAKnE;IAID,8BAA8B;IAC9B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAEtD;IAED,iCAAiC;IACjC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAE,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,gBAAqB,GAAG,IAAI,CAI7G;IAED,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,eAAe,GAAG,gBAAgB,GAAG,IAAI,CAE5D;IAED,4DAA4D;IAC5D,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAEtD;IAED,oDAAoD;IACpD,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAE1D;IAED,yCAAyC;IACzC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAE,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,gBAAqB,GAAG,IAAI,CAElH;IAED,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAE9D;IAED,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,GAAG,gBAAgB,GAAG,IAAI,CAE5D;IAED,+CAA+C;IAC/C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAEtD;IAED,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAEtD;IAED,uCAAuC;IACvC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,GAAG,gBAAgB,GAAG,IAAI,CAE1D;IAID,yEAAyE;IACzE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,GAAG,gBAAgB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAMnF;IAED,+CAA+C;IAC/C,OAAO,CACL,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,EAAE,EACrD,OAAO,GAAE,gBAAgB,GAAG;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAO,GACjD,IAAI,CASN;IAED,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,eAAe,GAAG,gBAAgB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAMxF;IAED,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,GAAG,gBAAgB,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAMlF;IAED,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAM9D;IAED,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,GAAG,gBAAgB,GAAG;QAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAgB7F;IAED,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,CAE9D;IAID,+DAA+D;IAC/D,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAUvE;IAED,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAGrD;IAED,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,GAAG,IAAI,CAGvC;IAID,wEAAwE;IACxE,IAAI,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI,CAEzE;IAED,6EAA6E;IAC7E,MAAM,CACJ,EAAE,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,EACrD,OAAO,GAAE,gBAAgB,GAAG;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAO,GACjD,IAAI,CAYN;IAED;;;OAGG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,CAOrE;IAED,iEAAiE;IACjE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAG7D;CACF;AAED,6DAA6D;AAC7D,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,KAAK,CAAmF;IAEhG,YAAY,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAIrE;IAED,IAAI,KAAK,IAAI,KAAK,CAEjB;IAED,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,IAAI;IAKZ,+EAA+E;IAC/E,KAAK,CAAC,OAAO,GAAE,YAAY,GAAG,WAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAMxF;IAED,IAAI,CAAC,OAAO,GAAE,WAAW,GAAG,gBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAM1F;IAED,GAAG,CAAC,OAAO,GAAE,WAAW,GAAG,gBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAMxF;IAED,KAAK,IAAI,IAAI,CAoEZ;CACF"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}