@teaui/core 1.5.8 → 1.7.8

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 (106) hide show
  1. package/.dist/Screen.d.ts +6 -6
  2. package/.dist/Screen.js +9 -8
  3. package/.dist/Screen.js.map +1 -1
  4. package/.dist/Viewport.d.ts +12 -1
  5. package/.dist/Viewport.js +17 -2
  6. package/.dist/Viewport.js.map +1 -1
  7. package/.dist/components/Accordion.js +1 -1
  8. package/.dist/components/Accordion.js.map +1 -1
  9. package/.dist/components/Breadcrumb.d.ts +93 -0
  10. package/.dist/components/Breadcrumb.js +287 -0
  11. package/.dist/components/Breadcrumb.js.map +1 -0
  12. package/.dist/components/Button.js +23 -11
  13. package/.dist/components/Button.js.map +1 -1
  14. package/.dist/components/Calendar.d.ts +36 -0
  15. package/.dist/components/Calendar.js +721 -0
  16. package/.dist/components/Calendar.js.map +1 -0
  17. package/.dist/components/Canvas.d.ts +48 -0
  18. package/.dist/components/Canvas.js +230 -0
  19. package/.dist/components/Canvas.js.map +1 -0
  20. package/.dist/components/Checkbox.d.ts +3 -2
  21. package/.dist/components/Checkbox.js +31 -9
  22. package/.dist/components/Checkbox.js.map +1 -1
  23. package/.dist/components/Digits.js +18 -6
  24. package/.dist/components/Digits.js.map +1 -1
  25. package/.dist/components/Dropdown.d.ts +1 -1
  26. package/.dist/components/Dropdown.js +14 -6
  27. package/.dist/components/Dropdown.js.map +1 -1
  28. package/.dist/components/Geometry.d.ts +29 -0
  29. package/.dist/components/Geometry.js +40 -0
  30. package/.dist/components/Geometry.js.map +1 -0
  31. package/.dist/components/HotKey.js +3 -4
  32. package/.dist/components/HotKey.js.map +1 -1
  33. package/.dist/components/Input.js +4 -0
  34. package/.dist/components/Input.js.map +1 -1
  35. package/.dist/components/Keyboard.d.ts +20 -0
  36. package/.dist/components/Keyboard.js +31 -0
  37. package/.dist/components/Keyboard.js.map +1 -0
  38. package/.dist/components/Log.js +1 -1
  39. package/.dist/components/Log.js.map +1 -1
  40. package/.dist/components/Logo.d.ts +19 -0
  41. package/.dist/components/Logo.js +204 -0
  42. package/.dist/components/Logo.js.map +1 -0
  43. package/.dist/components/Modal.d.ts +74 -0
  44. package/.dist/components/Modal.js +113 -0
  45. package/.dist/components/Modal.js.map +1 -0
  46. package/.dist/components/Mouse.d.ts +25 -0
  47. package/.dist/components/Mouse.js +46 -0
  48. package/.dist/components/Mouse.js.map +1 -0
  49. package/.dist/components/Pane.d.ts +43 -0
  50. package/.dist/components/Pane.js +321 -0
  51. package/.dist/components/Pane.js.map +1 -0
  52. package/.dist/components/Pin.d.ts +25 -0
  53. package/.dist/components/Pin.js +80 -0
  54. package/.dist/components/Pin.js.map +1 -0
  55. package/.dist/components/Plot.d.ts +25 -0
  56. package/.dist/components/Plot.js +171 -0
  57. package/.dist/components/Plot.js.map +1 -0
  58. package/.dist/components/Scrollable.d.ts +6 -0
  59. package/.dist/components/Scrollable.js +14 -2
  60. package/.dist/components/Scrollable.js.map +1 -1
  61. package/.dist/components/ScrollableList.d.ts +2 -2
  62. package/.dist/components/ScrollableList.js +4 -4
  63. package/.dist/components/ScrollableList.js.map +1 -1
  64. package/.dist/components/Slider.d.ts +2 -0
  65. package/.dist/components/Slider.js +11 -1
  66. package/.dist/components/Slider.js.map +1 -1
  67. package/.dist/components/Table.d.ts +79 -0
  68. package/.dist/components/Table.js +603 -0
  69. package/.dist/components/Table.js.map +1 -0
  70. package/.dist/components/Tabs.d.ts +2 -0
  71. package/.dist/components/Tabs.js +14 -1
  72. package/.dist/components/Tabs.js.map +1 -1
  73. package/.dist/components/ZStack.d.ts +19 -0
  74. package/.dist/components/ZStack.js +34 -0
  75. package/.dist/components/ZStack.js.map +1 -0
  76. package/.dist/components/charts/BarChart.d.ts +27 -0
  77. package/.dist/components/charts/BarChart.js +122 -0
  78. package/.dist/components/charts/BarChart.js.map +1 -0
  79. package/.dist/components/charts/Chart.d.ts +43 -0
  80. package/.dist/components/charts/Chart.js +41 -0
  81. package/.dist/components/charts/Chart.js.map +1 -0
  82. package/.dist/components/charts/LineChart.d.ts +23 -0
  83. package/.dist/components/charts/LineChart.js +109 -0
  84. package/.dist/components/charts/LineChart.js.map +1 -0
  85. package/.dist/components/charts/index.d.ts +3 -0
  86. package/.dist/components/charts/index.js +4 -0
  87. package/.dist/components/charts/index.js.map +1 -0
  88. package/.dist/components/index.d.ts +14 -0
  89. package/.dist/components/index.js +14 -0
  90. package/.dist/components/index.js.map +1 -1
  91. package/.dist/iTerm2.js +1 -3
  92. package/.dist/iTerm2.js.map +1 -1
  93. package/.dist/inspect.js +1 -1
  94. package/.dist/inspect.js.map +1 -1
  95. package/.dist/managers/FocusManager.d.ts +5 -0
  96. package/.dist/managers/FocusManager.js +16 -0
  97. package/.dist/managers/FocusManager.js.map +1 -1
  98. package/.dist/managers/ModalManager.d.ts +2 -1
  99. package/.dist/managers/ModalManager.js +23 -51
  100. package/.dist/managers/ModalManager.js.map +1 -1
  101. package/.dist/renderToAnsi.js +1 -0
  102. package/.dist/renderToAnsi.js.map +1 -1
  103. package/.dist/testing.d.ts +5 -0
  104. package/.dist/testing.js +22 -3
  105. package/.dist/testing.js.map +1 -1
  106. package/package.json +3 -3
package/.dist/iTerm2.js CHANGED
@@ -1,4 +1,3 @@
1
- import { StringDecoder } from 'string_decoder';
2
1
  import { colorToHex } from './Color.js';
3
2
  /**
4
3
  * Sets iTerm2 proprietary ANSI codes
@@ -22,8 +21,7 @@ export class iTerm2 {
22
21
  return new Promise(resolve => {
23
22
  const hex = colorToHex(bg).slice(1);
24
23
  program.once('data', (input) => {
25
- const decoder = new StringDecoder('utf8');
26
- const response = decoder.write(input);
24
+ const response = typeof input === 'string' ? input : new TextDecoder().decode(input);
27
25
  iTerm2._restoreBg = parseBackgroundResponse(response);
28
26
  program.write(setBackgroundCommand(hex));
29
27
  setTimeout(resolve, 5);
@@ -1 +1 @@
1
- {"version":3,"file":"iTerm2.js","sourceRoot":"","sources":["../lib/iTerm2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAOrC;;GAEG;AACH,MAAM,OAAO,MAAM;IACjB,MAAM,CAAC,UAAU,CAAoB;IAErC;;;;;;;;;OASG;IACH,MAAM,CAAC,aAAa,CAAC,OAAwB,EAAE,EAAS;QACtD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAEnC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBAClC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;gBACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACrC,MAAM,CAAC,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAA;gBAErD,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;gBACxC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;YAEF,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAEvB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAwB;QACvC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;CACF;AAED,SAAS,yBAAyB;IAChC,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;IAC9E,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,OAAO,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAA;AAC/C,CAAC"}
1
+ {"version":3,"file":"iTerm2.js","sourceRoot":"","sources":["../lib/iTerm2.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAOrC;;GAEG;AACH,MAAM,OAAO,MAAM;IACjB,MAAM,CAAC,UAAU,CAAoB;IAErC;;;;;;;;;OASG;IACH,MAAM,CAAC,aAAa,CAAC,OAAwB,EAAE,EAAS;QACtD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAEnC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBAClC,MAAM,QAAQ,GACZ,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACrE,MAAM,CAAC,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAA;gBAErD,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAA;gBACxC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YACxB,CAAC,CAAC,CAAA;YAEF,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAEvB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAwB;QACvC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;CACF;AAED,SAAS,yBAAyB;IAChC,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAgB;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;IAC9E,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,OAAO,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAA;AAC/C,CAAC"}
package/.dist/inspect.js CHANGED
@@ -69,7 +69,7 @@ export function inspect(value, wrap = true, recursionDepth = 0, visited = new Se
69
69
  return colorize.format(value);
70
70
  }
71
71
  else if (typeof value === 'function') {
72
- return `function${value.name ? ` ${value.name}` : ''}() {…}`;
72
+ return `function${value.name ? ` ${value.name}` : ''}() {${value}}`;
73
73
  }
74
74
  else if (value instanceof Object &&
75
75
  value.constructor !== Object &&
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../lib/inspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../lib/inspect.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,11 @@ export declare class FocusManager {
17
17
  */
18
18
  registerFocus(view: View): boolean;
19
19
  registerHotKey(view: View, key: HotKeyDef): void;
20
+ /**
21
+ * Registers a fallback keyboard listener. When no hotkey matches and no view
22
+ * has focus, key events are sent to the last (innermost) registered listener.
23
+ */
24
+ registerKeyboard(view: View): void;
20
25
  requestFocus(view: View): boolean;
21
26
  unfocus(): void;
22
27
  /**
@@ -7,6 +7,7 @@ export class FocusManager {
7
7
  #lastCommittedFocus;
8
8
  #focusRing = [];
9
9
  #hotKeys = [];
10
+ #keyboardListeners = [];
10
11
  /**
11
12
  * If the previous focus-view is not mounted, we can clear out the current
12
13
  * focus-view and focus the first that registers.
@@ -22,6 +23,7 @@ export class FocusManager {
22
23
  this.#currentFocus = undefined;
23
24
  this.#focusRing = [];
24
25
  this.#hotKeys = [];
26
+ this.#keyboardListeners = [];
25
27
  this.#didCommit = false;
26
28
  }
27
29
  trigger(event) {
@@ -41,6 +43,10 @@ export class FocusManager {
41
43
  else if (this.#currentFocus && this.#currentFocus !== UNFOCUS) {
42
44
  this.#currentFocus.receiveKey(event);
43
45
  }
46
+ else if (this.#keyboardListeners.length > 0) {
47
+ // Last registered = innermost view = highest priority
48
+ this.#keyboardListeners[this.#keyboardListeners.length - 1].receiveKey(event);
49
+ }
44
50
  }
45
51
  /**
46
52
  * Returns whether the current view has focus.
@@ -66,6 +72,16 @@ export class FocusManager {
66
72
  }
67
73
  this.#hotKeys.push([view, key]);
68
74
  }
75
+ /**
76
+ * Registers a fallback keyboard listener. When no hotkey matches and no view
77
+ * has focus, key events are sent to the last (innermost) registered listener.
78
+ */
79
+ registerKeyboard(view) {
80
+ if (this.#didCommit) {
81
+ return;
82
+ }
83
+ this.#keyboardListeners.push(view);
84
+ }
69
85
  requestFocus(view) {
70
86
  this.#currentFocus = view;
71
87
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"FocusManager.js","sourceRoot":"","sources":["../../lib/managers/FocusManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FocusManager.js","sourceRoot":"","sources":["../../lib/managers/FocusManager.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,10 @@ import type { View } from '../View.js';
2
2
  import type { Viewport } from '../Viewport.js';
3
3
  import type { Screen } from '../Screen.js';
4
4
  import type { Rect } from '../geometry.js';
5
+ import { Modal } from '../components/Modal.js';
5
6
  export declare class ModalManager {
6
7
  #private;
7
8
  reset(): void;
8
- requestModal(parent: View, modal: View, onClose: () => void, rect: Rect): boolean;
9
+ requestModal(modal: Modal, rect: Rect): boolean;
9
10
  renderModals(screen: Screen, viewport: Viewport): View;
10
11
  }
@@ -1,63 +1,35 @@
1
- import { Container } from '../Container.js';
2
- import { isMouseClicked } from '../events/index.js';
3
1
  export class ModalManager {
4
- #modalView = new Modal();
5
- #modal;
2
+ #stack = [];
6
3
  reset() {
7
- this.#modal = undefined;
4
+ this.#stack = [];
8
5
  }
9
- requestModal(parent, modal, onClose, rect) {
10
- if (!this.#canRequestModal(parent)) {
11
- return false;
12
- }
13
- if (this.#modal && this.#modal[0] !== modal) {
14
- this.#modal[1]();
15
- }
16
- this.#modal = [modal, onClose, rect];
6
+ requestModal(modal, rect) {
7
+ this.#stack.push({ modal, presentedRect: rect });
17
8
  return true;
18
9
  }
19
10
  renderModals(screen, viewport) {
20
- this.#modalView.moveToScreen(screen);
21
11
  let lastView = screen.rootView;
22
- // this.#modal can be assigned _another modal_
23
- while (this.#modal) {
24
- const [view, onClose, rect] = this.#modal;
25
- // preRender calls reset() which assigns this.#modal = undefined
26
- screen.preRender(view);
27
- lastView = view;
28
- this.#modalView.updateView(view, onClose);
29
- this.#modalView.naturalSize(viewport.contentSize);
30
- viewport.parentRect = rect;
31
- this.#modalView.render(viewport);
12
+ // Drain the stack: process entries one at a time.
13
+ // screen.preRender() resets the modal manager (calls reset()), which
14
+ // clears the stack. So we shift entries off one by one rather than
15
+ // snapshotting, ensuring that nested modals pushed during render()
16
+ // are appended to the stack and processed in subsequent iterations.
17
+ while (this.#stack.length > 0) {
18
+ const { modal, presentedRect } = this.#stack.shift();
19
+ modal.presentedRect = presentedRect;
20
+ modal.windowSize = viewport.contentSize;
21
+ // preRender resets managers (including this one via reset()).
22
+ // Any modals already in the stack are lost — but we shifted ours
23
+ // out first, and new modals pushed during render() go onto the
24
+ // now-empty stack.
25
+ screen.preRender(modal);
26
+ lastView = modal;
27
+ modal.moveToScreen(screen);
28
+ modal.naturalSize(viewport.contentSize);
29
+ viewport.parentRect = presentedRect;
30
+ modal.render(viewport);
32
31
  }
33
32
  return lastView;
34
33
  }
35
- #canRequestModal(view) {
36
- return this.#modal === undefined;
37
- }
38
- }
39
- class Modal extends Container {
40
- #view = null;
41
- #onClose = null;
42
- updateView(view, onClose) {
43
- this.#onClose = onClose;
44
- if (this.#view === view) {
45
- return;
46
- }
47
- if (this.#view) {
48
- this.removeChild(this.#view);
49
- }
50
- this.add(view);
51
- this.#view = view;
52
- }
53
- receiveMouse(event) {
54
- if (isMouseClicked(event)) {
55
- this.#onClose?.();
56
- }
57
- }
58
- render(viewport) {
59
- viewport.registerMouse('mouse.button.left');
60
- super.render(viewport);
61
- }
62
34
  }
63
35
  //# sourceMappingURL=ModalManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalManager.js","sourceRoot":"","sources":["../../lib/managers/ModalManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;AAIzC,OAAO,EAAkB,cAAc,EAAC,MAAM,oBAAoB,CAAA;AAElE,MAAM,OAAO,YAAY;IACvB,UAAU,GAAG,IAAI,KAAK,EAAE,CAAA;IACxB,MAAM,CAAsC;IAE5C,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IACzB,CAAC;IAED,YAAY,CACV,MAAY,EACZ,KAAW,EACX,OAAmB,EACnB,IAAU;QAEV,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;QAClB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAEpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,QAAkB;QAC7C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAEpC,IAAI,QAAQ,GAAS,MAAM,CAAC,QAAQ,CAAA;QACpC,8CAA8C;QAC9C,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;YAEzC,gEAAgE;YAChE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACtB,QAAQ,GAAG,IAAI,CAAA;YAEf,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACzC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAEjD,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAA;YAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,gBAAgB,CAAC,IAAU;QACzB,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAA;IAClC,CAAC;CACF;AAED,MAAM,KAAM,SAAQ,SAAS;IAC3B,KAAK,GAAgB,IAAI,CAAA;IACzB,QAAQ,GAAwB,IAAI,CAAA;IAEpC,UAAU,CAAC,IAAU,EAAE,OAAmB;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QAEvB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,YAAY,CAAC,KAAiB;QAC5B,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAA;QACnB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAkB;QACvB,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAA;QAC3C,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"ModalManager.js","sourceRoot":"","sources":["../../lib/managers/ModalManager.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,YAAY;IACvB,MAAM,GAAiB,EAAE,CAAA;IAEzB,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,YAAY,CAAC,KAAY,EAAE,IAAU;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAC,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,QAAkB;QAC7C,IAAI,QAAQ,GAAS,MAAM,CAAC,QAAQ,CAAA;QAEpC,kDAAkD;QAClD,qEAAqE;QACrE,mEAAmE;QACnE,mEAAmE;QACnE,oEAAoE;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAC,KAAK,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,CAAA;YAEnD,KAAK,CAAC,aAAa,GAAG,aAAa,CAAA;YACnC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAA;YAEvC,8DAA8D;YAC9D,iEAAiE;YACjE,+DAA+D;YAC/D,mBAAmB;YACnB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACvB,QAAQ,GAAG,KAAK,CAAA;YAEhB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAC1B,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAEvC,QAAQ,CAAC,UAAU,GAAG,aAAa,CAAA;YACnC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxB,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF"}
@@ -15,6 +15,7 @@ export function createHeadlessScreen() {
15
15
  return false;
16
16
  },
17
17
  registerHotKey(_view, _key) { },
18
+ registerKeyboard(_view) { },
18
19
  registerFocus(_view) {
19
20
  return false;
20
21
  },
@@ -1 +1 @@
1
- {"version":3,"file":"renderToAnsi.js","sourceRoot":"","sources":["../lib/renderToAnsi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAA;AAKlD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,MAAM,KAAI,CAAC;QACX,WAAW,KAAI,CAAC;QAChB,YAAY;YACV,OAAO,KAAK,CAAA;QACd,CAAC;QACD,cAAc,CAAC,KAAW,EAAE,IAAe,IAAG,CAAC;QAC/C,aAAa,CAAC,KAAW;YACvB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,aAAa,CACX,KAAW,EACX,OAAY,EACZ,MAAW,EACX,OAAiC,IAChC,CAAC;QACJ,YAAY,CAAC,KAAW,IAAG,CAAC;QAC5B,UAAU,CAAC,KAAW,EAAE,EAAU,EAAE,EAAU,IAAG,CAAC;KAC9B,CAAA;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAU,EACV,IAAqC;IAErC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEvB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAA;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAErB,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAA;IAC1E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEtB,OAAO,QAAQ,CAAC,MAAM,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"renderToAnsi.js","sourceRoot":"","sources":["../lib/renderToAnsi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAA;AAKlD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,MAAM,KAAI,CAAC;QACX,WAAW,KAAI,CAAC;QAChB,YAAY;YACV,OAAO,KAAK,CAAA;QACd,CAAC;QACD,cAAc,CAAC,KAAW,EAAE,IAAe,IAAG,CAAC;QAC/C,gBAAgB,CAAC,KAAW,IAAG,CAAC;QAChC,aAAa,CAAC,KAAW;YACvB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,aAAa,CACX,KAAW,EACX,OAAY,EACZ,MAAW,EACX,OAAiC,IAChC,CAAC;QACJ,YAAY,CAAC,KAAW,IAAG,CAAC;QAC5B,UAAU,CAAC,KAAW,EAAE,EAAU,EAAE,EAAU,IAAG,CAAC;KAC9B,CAAA;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAU,EACV,IAAqC;IAErC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEvB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAA;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAErB,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAA;IAC1E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEtB,OAAO,QAAQ,CAAC,MAAM,CAAA;AACxB,CAAC"}
@@ -10,6 +10,11 @@ declare class TestScreen {
10
10
  });
11
11
  get terminal(): TestTerminal;
12
12
  get view(): View;
13
+ /**
14
+ * Advance time by `dt` milliseconds, triggering any registered tick
15
+ * animations and re-rendering.
16
+ */
17
+ tick(dt: number): void;
13
18
  asScreen(): Screen;
14
19
  render(): void;
15
20
  sendKey(key: string, mods?: {
package/.dist/testing.js CHANGED
@@ -52,16 +52,33 @@ class TestScreen {
52
52
  get view() {
53
53
  return this.#view;
54
54
  }
55
+ /**
56
+ * Advance time by `dt` milliseconds, triggering any registered tick
57
+ * animations and re-rendering.
58
+ */
59
+ tick(dt) {
60
+ this.#tickManager.triggerTick(dt);
61
+ this.render();
62
+ }
55
63
  asScreen() {
56
64
  // Cache the screen proxy so moveToScreen identity checks work
57
65
  if (!this.#screenProxy) {
58
66
  this.#screenProxy = {
59
- requestModal: (parent, modal, onClose, rect) => {
60
- return this.#modalManager.requestModal(parent, modal, onClose, rect);
67
+ rootView: this.#view,
68
+ preRender: (view) => {
69
+ this.#modalManager.reset();
70
+ this.#mouseManager.reset();
71
+ this.#focusManager.reset(view === this.#view);
72
+ },
73
+ requestModal: (modal, rect) => {
74
+ return this.#modalManager.requestModal(modal, rect);
61
75
  },
62
76
  registerHotKey: (view, key) => {
63
77
  this.#focusManager.registerHotKey(view, key);
64
78
  },
79
+ registerKeyboard: (view) => {
80
+ this.#focusManager.registerKeyboard(view);
81
+ },
65
82
  registerFocus: (view) => {
66
83
  return this.#focusManager.registerFocus(view);
67
84
  },
@@ -83,17 +100,19 @@ class TestScreen {
83
100
  }
84
101
  render() {
85
102
  this.#buffer.resize(this.#size);
103
+ this.#modalManager.reset();
86
104
  this.#focusManager.reset(true);
87
105
  this.#mouseManager.reset();
88
106
  const renderSize = this.#view.naturalSize(this.#size).min(this.#size);
89
107
  const viewport = new Viewport(this.asScreen(), this.#buffer, renderSize);
90
108
  this.#view.render(viewport);
109
+ const rerenderView = this.#modalManager.renderModals(this.asScreen(), viewport);
91
110
  const focusNeedsRender = this.#focusManager.commit();
92
111
  if (focusNeedsRender) {
93
112
  this.#focusManager.reset(true);
94
113
  this.#mouseManager.reset();
95
114
  const viewport2 = new Viewport(this.asScreen(), this.#buffer, renderSize);
96
- this.#view.render(viewport2);
115
+ rerenderView.render(viewport2);
97
116
  this.#focusManager.commit();
98
117
  }
99
118
  this.#tickManager.endRender();
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../lib/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../lib/testing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "contributors": [
6
6
  "Shawn Chen <meishangchen@gmail.com>"
7
7
  ],
8
- "version": "1.5.8",
8
+ "version": "1.7.8",
9
9
  "license": "MIT",
10
10
  "type": "module",
11
11
  "preferGlobal": false,
@@ -38,10 +38,10 @@
38
38
  "node": ">= 18.12.0"
39
39
  },
40
40
  "dependencies": {
41
- "@teaui/term": "1.5.8"
41
+ "@teaui/term": "1.7.8"
42
42
  },
43
43
  "devDependencies": {
44
- "@teaui/shared": "1.5.8"
44
+ "@teaui/shared": "1.7.8"
45
45
  },
46
46
  "scripts": {
47
47
  "gittag": "git tag $(node -e 'process.stdout.write(require(\"./package\").version)')",