@simon_he/vue-tui 0.0.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/README.md +142 -30
  2. package/dist/TSelect-BwJJbuTt.js +6089 -0
  3. package/dist/TTree-DK_DQBYm.js +6480 -0
  4. package/dist/agent.cjs +39416 -0
  5. package/dist/agent.d.cts +44 -0
  6. package/dist/agent.d.ts +44 -0
  7. package/dist/agent.js +828 -0
  8. package/dist/ansi-palette-CNXqFciC.js +57 -0
  9. package/dist/ansi-styles.d.ts +200 -0
  10. package/dist/block-source-CKUOnkgT.js +1663 -0
  11. package/dist/cli/headless-renderer.d.ts +29 -0
  12. package/dist/cli/input.d.ts +49 -0
  13. package/dist/cli/node-file-writers.d.ts +13 -0
  14. package/dist/cli/node-module.d.ts +2 -0
  15. package/dist/cli/parse-kitty.d.ts +2 -0
  16. package/dist/cli/parse-mouse.d.ts +2 -0
  17. package/dist/cli/parse-utils.d.ts +14 -0
  18. package/dist/cli/parse-xterm.d.ts +2 -0
  19. package/dist/cli/path-provider-types.d.ts +1 -0
  20. package/dist/cli/path-provider.d.ts +4 -0
  21. package/dist/cli/path-suggest-core.d.ts +1 -0
  22. package/dist/cli/path-suggest.d.ts +15 -0
  23. package/dist/cli/recording.d.ts +4 -0
  24. package/dist/cli/stdin-buffer.d.ts +33 -0
  25. package/dist/cli.cjs +11061 -0
  26. package/dist/cli.d.cts +23 -0
  27. package/dist/cli.d.ts +23 -0
  28. package/dist/cli.js +9875 -0
  29. package/dist/core/ansi/capability.d.ts +20 -0
  30. package/dist/core/ansi/colors.d.ts +41 -0
  31. package/dist/core/ansi/sgr.d.ts +7 -0
  32. package/dist/core/ansi/theme.d.ts +6 -0
  33. package/dist/core/ansi-palette.d.ts +14 -0
  34. package/dist/core/buffer/buffer.d.ts +54 -0
  35. package/dist/core/buffer/width.d.ts +4 -0
  36. package/dist/core/debug-logger.d.ts +18 -0
  37. package/dist/core/hyperlink.d.ts +9 -0
  38. package/dist/core/index.d.ts +4 -0
  39. package/dist/core/path-provider-types.d.ts +24 -0
  40. package/dist/core/path-suggest.d.ts +35 -0
  41. package/dist/core/render-plane.d.ts +3 -0
  42. package/dist/core/terminal/create-terminal.d.ts +8 -0
  43. package/dist/core/terminal/emitter.d.ts +7 -0
  44. package/dist/core/types.d.ts +107 -0
  45. package/dist/core.cjs +3153 -0
  46. package/dist/core.d.cts +14 -0
  47. package/dist/core.d.ts +14 -0
  48. package/dist/core.js +424 -0
  49. package/dist/create-terminal-C2oiWFJU.js +1434 -0
  50. package/dist/create-terminal-app.d.ts +36 -0
  51. package/dist/dom-renderer-BqGijQID.js +1173 -0
  52. package/dist/env-Cl8qmNFN.js +19 -0
  53. package/dist/events/index.d.ts +6 -0
  54. package/dist/events/manager/cli-event-manager.d.ts +22 -0
  55. package/dist/events/manager/event-manager.d.ts +30 -0
  56. package/dist/events/manager/selection-suppression.d.ts +3 -0
  57. package/dist/events/manager/types.d.ts +108 -0
  58. package/dist/events/recording.d.ts +44 -0
  59. package/dist/experimental.cjs +4412 -1641
  60. package/dist/experimental.d.cts +42 -0
  61. package/dist/experimental.d.ts +42 -825
  62. package/dist/experimental.js +31 -7392
  63. package/dist/frame-perf-C6Xfg85O.js +24 -0
  64. package/dist/hyperlink-Bn02UXJb.js +419 -0
  65. package/dist/index.cjs +14765 -17582
  66. package/dist/index.d.cts +35 -0
  67. package/dist/index.d.ts +35 -1528
  68. package/dist/index.js +17 -20026
  69. package/dist/linkify-D_gzn9Xq.js +562 -0
  70. package/dist/markdown.cjs +9321 -7623
  71. package/dist/markdown.d.cts +11 -0
  72. package/dist/markdown.d.ts +11 -112
  73. package/dist/markdown.js +36 -1427
  74. package/dist/observability/cli-latency-node.d.ts +3 -0
  75. package/dist/observability/cli-latency-types.d.ts +41 -0
  76. package/dist/observability/cli-latency.d.ts +3 -0
  77. package/dist/observability/frame-perf-store.d.ts +18 -0
  78. package/dist/observability/frame-perf.d.ts +40 -0
  79. package/dist/observability/perf-sink.d.ts +56 -0
  80. package/dist/observability/trace.d.ts +40 -0
  81. package/dist/observability/tui-profiler.d.ts +33 -0
  82. package/dist/observability.cjs +221 -0
  83. package/dist/observability.d.cts +8 -0
  84. package/dist/observability.d.ts +8 -0
  85. package/dist/observability.js +4 -0
  86. package/dist/path-mnSgEpCm.js +81 -0
  87. package/dist/path-suggest-BNqcuE3-.js +274 -0
  88. package/dist/path-suggest-Dk9TRLh5.js +3 -0
  89. package/dist/{path-suggest-DmrmeueH.js → path-suggest-bvR9SY6Q.js} +86 -18
  90. package/dist/renderer/capabilities.d.ts +13 -0
  91. package/dist/renderer/cli/index.d.ts +2 -0
  92. package/dist/renderer/cli/stdout-metrics.d.ts +18 -0
  93. package/dist/renderer/cli/stdout-renderer.d.ts +48 -0
  94. package/dist/renderer/dom/dom-renderer.d.ts +157 -0
  95. package/dist/renderer/dom/index.d.ts +2 -0
  96. package/dist/renderer/index.d.ts +2 -0
  97. package/dist/renderer-dom.cjs +1505 -0
  98. package/dist/renderer-dom.d.cts +4 -0
  99. package/dist/renderer-dom.d.ts +4 -0
  100. package/dist/renderer-dom.js +7 -0
  101. package/dist/runtime/index.d.ts +36 -0
  102. package/dist/runtime/osc52.d.ts +9 -0
  103. package/dist/runtime-rfcZCyJq.js +1197 -0
  104. package/dist/runtime.cjs +1698 -0
  105. package/dist/runtime.d.cts +9 -0
  106. package/dist/runtime.d.ts +9 -0
  107. package/dist/runtime.js +4 -0
  108. package/dist/selection/terminal-selection.d.ts +123 -0
  109. package/dist/sgr-BmzxEjAO.js +304 -0
  110. package/dist/terminal-selection-DBinO6p5.js +330 -0
  111. package/dist/tlog-theme-qPBt5rge.js +9254 -0
  112. package/dist/trace-CjzYeIxN.js +182 -0
  113. package/dist/utils/env.d.ts +3 -0
  114. package/dist/utils/grapheme.d.ts +5 -0
  115. package/dist/utils/newlines.d.ts +1 -0
  116. package/dist/utils/path.d.ts +7 -0
  117. package/dist/utils/url-safety.d.ts +2 -0
  118. package/dist/vue/agent/view-models.d.ts +98 -0
  119. package/dist/vue/components/TAnchor.d.ts +108 -0
  120. package/dist/vue/components/TBox.d.ts +144 -0
  121. package/dist/vue/components/TCommandPalette.d.ts +587 -0
  122. package/dist/vue/components/TDataTable.d.ts +367 -0
  123. package/dist/vue/components/TDebugOverlay.d.ts +43 -0
  124. package/dist/vue/components/TDialog.d.ts +255 -0
  125. package/dist/vue/components/TFeedback.d.ts +635 -0
  126. package/dist/vue/components/TFlow.d.ts +85 -0
  127. package/dist/vue/components/TForm.d.ts +1230 -0
  128. package/dist/vue/components/TInput.d.ts +545 -0
  129. package/dist/vue/components/TInputBox.d.ts +158 -0
  130. package/dist/vue/components/TJsonEditor.d.ts +165 -0
  131. package/dist/vue/components/TLink.d.ts +239 -0
  132. package/dist/vue/components/TLinkifyText.d.ts +141 -0
  133. package/dist/vue/components/TList.d.ts +119 -0
  134. package/dist/vue/components/TLogLinksPanel.d.ts +238 -0
  135. package/dist/vue/components/TLogMinimap.d.ts +263 -0
  136. package/dist/vue/components/TLogScrollbar.d.ts +236 -0
  137. package/dist/vue/components/TLogSearchBar.d.ts +267 -0
  138. package/dist/vue/components/TLogSearchPager.d.ts +162 -0
  139. package/dist/vue/components/TLogSearchResults.d.ts +200 -0
  140. package/dist/vue/components/TLogView.d.ts +536 -0
  141. package/dist/vue/components/TLogVirtualLinksPanel.d.ts +141 -0
  142. package/dist/vue/components/TLogVirtualSearchResults.d.ts +146 -0
  143. package/dist/vue/components/TMarkdownText.d.ts +134 -0
  144. package/dist/vue/components/TMultilineModal.d.ts +62 -0
  145. package/dist/vue/components/TNavigation.d.ts +324 -0
  146. package/dist/vue/components/TOverlay.d.ts +366 -0
  147. package/dist/vue/components/TPanels.d.ts +244 -0
  148. package/dist/vue/components/TPathPicker.d.ts +213 -0
  149. package/dist/vue/components/TRenderLayer.d.ts +16 -0
  150. package/dist/vue/components/TRenderPlane.d.ts +17 -0
  151. package/dist/vue/components/TSelect.d.ts +335 -0
  152. package/dist/vue/components/TTable.d.ts +317 -0
  153. package/dist/vue/components/TText.d.ts +116 -0
  154. package/dist/vue/components/TThinkingView.d.ts +233 -0
  155. package/dist/vue/components/TToolCallView.d.ts +384 -0
  156. package/dist/vue/components/TTranscriptView.d.ts +221 -0
  157. package/dist/vue/components/TTransition.d.ts +83 -0
  158. package/dist/vue/components/TTree.d.ts +200 -0
  159. package/dist/vue/components/TUserMessageView.d.ts +344 -0
  160. package/dist/vue/components/TView.d.ts +127 -0
  161. package/dist/vue/components/TVirtualList.d.ts +182 -0
  162. package/dist/vue/components/TVirtualMarkdown.d.ts +168 -0
  163. package/dist/vue/components/TVirtualRows.d.ts +247 -0
  164. package/dist/vue/components/TerminalProvider.d.ts +218 -0
  165. package/dist/vue/components/input/host.d.ts +17 -0
  166. package/dist/vue/components/input/plugins/hostPlugin.d.ts +7 -0
  167. package/dist/vue/components/input/plugins/hostPlugin.node.d.ts +15 -0
  168. package/dist/vue/components/input/plugins/mentionUtils.d.ts +17 -0
  169. package/dist/vue/components/input/plugins/nodeMentionPathProvider.d.ts +2 -0
  170. package/dist/vue/components/input/plugins/promptMentionPlugin.d.ts +8 -0
  171. package/dist/vue/components/input/plugins/promptMentionState.d.ts +98 -0
  172. package/dist/vue/components/input/plugins/restrictText.d.ts +27 -0
  173. package/dist/vue/components/input/plugins/types.d.ts +90 -0
  174. package/dist/vue/components/input/utils/inlineText.d.ts +57 -0
  175. package/dist/vue/components/input/utils/inlineTextTokens.d.ts +34 -0
  176. package/dist/vue/components/input/utils/primitives.d.ts +3 -0
  177. package/dist/vue/components/input/utils/wordNavigation.d.ts +6 -0
  178. package/dist/vue/components/link/host.d.ts +15 -0
  179. package/dist/vue/components/list/list-geometry.d.ts +16 -0
  180. package/dist/vue/components/list/list-paint.d.ts +1 -0
  181. package/dist/vue/components/list/scroll-state.d.ts +25 -0
  182. package/dist/vue/components/list/selection-state.d.ts +6 -0
  183. package/dist/vue/components/simple-utils.d.ts +5 -0
  184. package/dist/vue/components/terminal-provider/copy-toast.d.ts +6 -0
  185. package/dist/vue/components/terminal-provider/portals.d.ts +17 -0
  186. package/dist/vue/components/terminal-provider/scheduler.d.ts +29 -0
  187. package/dist/vue/components/terminal-provider/selection-config.d.ts +15 -0
  188. package/dist/vue/components/terminal-provider/utils.d.ts +5 -0
  189. package/dist/vue/composables/use-layout.d.ts +2 -0
  190. package/dist/vue/composables/use-render-node.d.ts +19 -0
  191. package/dist/vue/composables/use-render-stack.d.ts +3 -0
  192. package/dist/vue/composables/use-runtime.d.ts +5 -0
  193. package/dist/vue/composables/use-terminal-node.d.ts +14 -0
  194. package/dist/vue/composables/use-terminal.d.ts +2 -0
  195. package/dist/vue/composables/use-visibility.d.ts +12 -0
  196. package/dist/vue/context.d.ts +153 -0
  197. package/dist/vue/index.d.ts +69 -0
  198. package/dist/vue/injection-key.d.ts +2 -0
  199. package/dist/vue/linkify.d.ts +11 -0
  200. package/dist/vue/log/append-only-log-store.d.ts +2 -0
  201. package/dist/vue/log/tlog-keymap.d.ts +28 -0
  202. package/dist/vue/log/tlog-plugins.d.ts +144 -0
  203. package/dist/vue/log/tlog-session.d.ts +81 -0
  204. package/dist/vue/log/tlog-theme.d.ts +68 -0
  205. package/dist/vue/log/types.d.ts +43 -0
  206. package/dist/vue/log/use-tlog-link-controller.d.ts +31 -0
  207. package/dist/vue/log/use-tlog-retained-index.d.ts +26 -0
  208. package/dist/vue/log/use-tlog-search-controller.d.ts +51 -0
  209. package/dist/vue/log/use-tlog-search-results-page.d.ts +31 -0
  210. package/dist/vue/log/use-tlog-virtual-search-results.d.ts +22 -0
  211. package/dist/vue/markdown/ast.d.ts +3 -0
  212. package/dist/vue/markdown/block-source.d.ts +22 -0
  213. package/dist/vue/markdown/document.d.ts +20 -0
  214. package/dist/vue/markdown/layout.d.ts +21 -0
  215. package/dist/vue/markdown/parser.d.ts +11 -0
  216. package/dist/vue/markdown/render.d.ts +10 -0
  217. package/dist/vue/markdown/theme.d.ts +186 -0
  218. package/dist/vue/markdown/types.d.ts +59 -0
  219. package/dist/vue/overlay.d.ts +27 -0
  220. package/dist/vue/render/context.d.ts +3 -0
  221. package/dist/vue/render/render-manager.d.ts +94 -0
  222. package/dist/vue/router/RouterView.d.ts +25 -0
  223. package/dist/vue/router/composables.d.ts +4 -0
  224. package/dist/vue/router/context.d.ts +4 -0
  225. package/dist/vue/router/router.d.ts +7 -0
  226. package/dist/vue/router/types.d.ts +29 -0
  227. package/dist/vue/scheduler/frame-mailbox.d.ts +55 -0
  228. package/dist/vue/scheduler/frame-scheduler.d.ts +51 -0
  229. package/dist/vue/theme.d.ts +48 -0
  230. package/dist/vue/transcript/hit-regions.d.ts +2 -0
  231. package/dist/vue/transcript/layout.d.ts +20 -0
  232. package/dist/vue/transcript/plain-text.d.ts +2 -0
  233. package/dist/vue/transcript/types.d.ts +122 -0
  234. package/dist/vue/utils/frame-task.d.ts +6 -0
  235. package/dist/vue/utils/rect.d.ts +4 -0
  236. package/dist/vue/utils/row-scroll.d.ts +25 -0
  237. package/dist/vue/utils/style-cache.d.ts +3 -0
  238. package/dist/vue/utils/text.d.ts +27 -0
  239. package/dist/vue/utils/wheel-scroll.d.ts +18 -0
  240. package/dist/vue.cjs +23668 -0
  241. package/dist/vue.d.cts +1 -0
  242. package/dist/vue.d.ts +1 -0
  243. package/dist/vue.js +3957 -0
  244. package/dist/{wheel-scroll-CiNsasLf.js → wheel-scroll-vBRaQ7p-.js} +404 -405
  245. package/package.json +185 -35
  246. package/dist/path-suggest-BeV6n7m-.js +0 -3
  247. package/dist/sgr-Tko2EQ0U.js +0 -484
  248. package/dist/theme-Bsm65g8k.d.ts +0 -32
  249. package/dist/types-ClIV2h1o.d.ts +0 -103
@@ -0,0 +1,19 @@
1
+ //#region src/utils/env.ts
2
+ function firstNonEmptyEnv(env, primary, legacy) {
3
+ const primaryValue = env?.[primary];
4
+ if (String(primaryValue ?? "").trim() !== "") return primaryValue;
5
+ if (!legacy) return void 0;
6
+ const legacyValue = env?.[legacy];
7
+ if (String(legacyValue ?? "").trim() !== "") return legacyValue;
8
+ return void 0;
9
+ }
10
+ function envFlag(env, primary, legacy) {
11
+ const raw = String(firstNonEmptyEnv(env, primary, legacy) ?? "").trim().toLowerCase();
12
+ return raw === "1" || raw === "true" || raw === "yes" || raw === "on";
13
+ }
14
+ function envString(env, primary, legacy, fallback = "") {
15
+ return String(firstNonEmptyEnv(env, primary, legacy) ?? fallback).trim() || fallback;
16
+ }
17
+
18
+ //#endregion
19
+ export { envFlag, envString, firstNonEmptyEnv };
@@ -0,0 +1,6 @@
1
+ export type { CliEventManager } from "./manager/cli-event-manager.js";
2
+ export { createCliEventManager } from "./manager/cli-event-manager.js";
3
+ export type { EventManager } from "./manager/event-manager.js";
4
+ export { createEventManager } from "./manager/event-manager.js";
5
+ export type { Rect, TerminalBaseEvent, TerminalDebugNode, TerminalEventHandlerMap, TerminalEventType, TerminalInputEvent, TerminalKeyboardEvent, TerminalNode, TerminalPointerEvent, } from "./manager/types.js";
6
+ export type { TerminalEventRecord } from "./recording.js";
@@ -0,0 +1,22 @@
1
+ import type { CellMetrics } from "../../renderer/dom/dom-renderer.js";
2
+ import type { TerminalEventRecord } from "../recording.js";
3
+ import type { TerminalDebugNode, TerminalNode } from "./types.js";
4
+ export interface CliEventManager {
5
+ register: (node: Omit<TerminalNode, "id"> & {
6
+ id?: string;
7
+ }) => TerminalNode;
8
+ update: (id: string, next: Partial<Omit<TerminalNode, "id">>) => void;
9
+ unregister: (id: string) => void;
10
+ setMetrics: (next: CellMetrics) => void;
11
+ canSelectAt: (cellX: number, cellY: number) => boolean;
12
+ autoScrollSelectionAt: (originCellX: number, originCellY: number, pointerCellY: number) => number;
13
+ focus: (id: string | null) => void;
14
+ getFocused: () => string | null;
15
+ dispatch: (event: TerminalEventRecord) => boolean;
16
+ debugNodes: () => TerminalDebugNode[];
17
+ dispose: () => void;
18
+ }
19
+ export declare function createCliEventManager(options?: Readonly<{
20
+ record?: (event: TerminalEventRecord) => void;
21
+ onFocusChange?: (prev: string | null, next: string | null) => void;
22
+ }>): CliEventManager;
@@ -0,0 +1,30 @@
1
+ import type { CellMetrics } from "../../renderer/dom/dom-renderer.js";
2
+ import type { TerminalEventRecord } from "../recording.js";
3
+ import type { TerminalDebugNode, TerminalNode } from "./types.js";
4
+ export interface EventManager {
5
+ register: (node: Omit<TerminalNode, "id"> & {
6
+ id?: string;
7
+ }) => TerminalNode;
8
+ update: (id: string, next: Partial<Omit<TerminalNode, "id">>) => void;
9
+ unregister: (id: string) => void;
10
+ setMetrics: (next: CellMetrics) => void;
11
+ canSelectAt: (cellX: number, cellY: number) => boolean;
12
+ autoScrollSelectionAt: (originCellX: number, originCellY: number, pointerCellY: number) => number;
13
+ focus: (id: string | null) => void;
14
+ getFocused: () => string | null;
15
+ debugNodes: () => TerminalDebugNode[];
16
+ attach: () => void;
17
+ dispose: () => void;
18
+ }
19
+ export declare function createEventManager(container: HTMLElement, metrics: CellMetrics, options?: Readonly<{
20
+ record?: (event: TerminalEventRecord) => void;
21
+ textInputTarget?: HTMLElement | null;
22
+ debugIme?: boolean;
23
+ onFocusChange?: (prev: string | null, next: string | null) => void;
24
+ /**
25
+ * When true, native DOM listeners are not attached until manager.attach()
26
+ * is called explicitly. Used by TerminalProvider so selection capture
27
+ * listeners can be registered first.
28
+ */
29
+ deferAttach?: boolean;
30
+ }>): EventManager;
@@ -0,0 +1,3 @@
1
+ export declare const SUPPRESS_TERMINAL_POINTER_UP = "__vueTuiSuppressTerminalPointerUp";
2
+ export declare const SUPPRESS_TERMINAL_POINTER_DOWN = "__vueTuiSuppressTerminalPointerDown";
3
+ export declare const SUPPRESS_TERMINAL_POINTER_MOVE = "__vueTuiSuppressTerminalPointerMove";
@@ -0,0 +1,108 @@
1
+ export type Rect = Readonly<{
2
+ x: number;
3
+ y: number;
4
+ w: number;
5
+ h: number;
6
+ }>;
7
+ export type TerminalEventType = "click" | "dblclick" | "contextmenu" | "pointerdown" | "pointerup" | "pointermove" | "pointerenter" | "pointerleave" | "wheel" | "keydown" | "keyup" | "beforeinput" | "input" | "compositionstart" | "compositionupdate" | "compositionend" | "paste" | "focus" | "blur";
8
+ export interface TerminalBaseEvent {
9
+ type: TerminalEventType;
10
+ target: TerminalNode | null;
11
+ currentTarget: TerminalNode | null;
12
+ eventPhase: 1 | 2 | 3;
13
+ bubbles: boolean;
14
+ cancelable: boolean;
15
+ defaultPrevented: boolean;
16
+ timeStamp: number;
17
+ stopPropagation: () => void;
18
+ preventDefault: () => void;
19
+ composedPath: () => TerminalNode[];
20
+ nativeEvent?: Event;
21
+ }
22
+ export type TerminalPointerEvent = TerminalBaseEvent & {
23
+ clientX: number;
24
+ clientY: number;
25
+ cellX: number;
26
+ cellY: number;
27
+ button?: number;
28
+ buttons?: number;
29
+ ctrlKey?: boolean;
30
+ shiftKey?: boolean;
31
+ altKey?: boolean;
32
+ metaKey?: boolean;
33
+ deltaY?: number;
34
+ deltaMode?: number;
35
+ };
36
+ export type TerminalKeyboardEvent = TerminalBaseEvent & {
37
+ key: string;
38
+ code: string;
39
+ combo: string;
40
+ ctrlKey?: boolean;
41
+ shiftKey?: boolean;
42
+ altKey?: boolean;
43
+ metaKey?: boolean;
44
+ repeat?: boolean;
45
+ };
46
+ export type TerminalInputEvent = TerminalBaseEvent & {
47
+ inputType?: string;
48
+ data?: string;
49
+ isComposing?: boolean;
50
+ text?: string;
51
+ };
52
+ export type TerminalEventHandlerMap = Partial<{
53
+ clickCapture: (e: TerminalPointerEvent) => void;
54
+ click: (e: TerminalPointerEvent) => void;
55
+ dblclickCapture: (e: TerminalPointerEvent) => void;
56
+ dblclick: (e: TerminalPointerEvent) => void;
57
+ contextmenuCapture: (e: TerminalPointerEvent) => void;
58
+ contextmenu: (e: TerminalPointerEvent) => void;
59
+ pointerdownCapture: (e: TerminalPointerEvent) => void;
60
+ pointerdown: (e: TerminalPointerEvent) => void;
61
+ pointerupCapture: (e: TerminalPointerEvent) => void;
62
+ pointerup: (e: TerminalPointerEvent) => void;
63
+ pointermoveCapture: (e: TerminalPointerEvent) => void;
64
+ pointermove: (e: TerminalPointerEvent) => void;
65
+ pointerenterCapture: (e: TerminalPointerEvent) => void;
66
+ pointerenter: (e: TerminalPointerEvent) => void;
67
+ pointerleaveCapture: (e: TerminalPointerEvent) => void;
68
+ pointerleave: (e: TerminalPointerEvent) => void;
69
+ wheelCapture: (e: TerminalPointerEvent) => void;
70
+ wheel: (e: TerminalPointerEvent) => void;
71
+ keydownCapture: (e: TerminalKeyboardEvent) => void;
72
+ keydown: (e: TerminalKeyboardEvent) => void;
73
+ keyupCapture: (e: TerminalKeyboardEvent) => void;
74
+ keyup: (e: TerminalKeyboardEvent) => void;
75
+ beforeinputCapture: (e: TerminalInputEvent) => void;
76
+ beforeinput: (e: TerminalInputEvent) => void;
77
+ inputCapture: (e: TerminalInputEvent) => void;
78
+ input: (e: TerminalInputEvent) => void;
79
+ compositionstartCapture: (e: TerminalInputEvent) => void;
80
+ compositionstart: (e: TerminalInputEvent) => void;
81
+ compositionupdateCapture: (e: TerminalInputEvent) => void;
82
+ compositionupdate: (e: TerminalInputEvent) => void;
83
+ compositionendCapture: (e: TerminalInputEvent) => void;
84
+ compositionend: (e: TerminalInputEvent) => void;
85
+ pasteCapture: (e: TerminalInputEvent) => void;
86
+ paste: (e: TerminalInputEvent) => void;
87
+ focusCapture: (e: TerminalBaseEvent) => void;
88
+ focus: (e: TerminalBaseEvent) => void;
89
+ blurCapture: (e: TerminalBaseEvent) => void;
90
+ blur: (e: TerminalBaseEvent) => void;
91
+ }>;
92
+ export interface TerminalNode {
93
+ id: string;
94
+ rect: Rect;
95
+ zIndex: number;
96
+ visible?: boolean;
97
+ focusable?: boolean;
98
+ selectable?: boolean;
99
+ selectionScrollBy?: (deltaRows: number) => boolean | void;
100
+ handlers: TerminalEventHandlerMap;
101
+ }
102
+ export type TerminalDebugNode = Readonly<{
103
+ id: string;
104
+ rect: Rect;
105
+ zIndex: number;
106
+ visible: boolean;
107
+ focusable: boolean;
108
+ }>;
@@ -0,0 +1,44 @@
1
+ export type TerminalEventRecord = Readonly<{
2
+ type: "keydown" | "keyup";
3
+ key: string;
4
+ code?: string;
5
+ ctrlKey?: boolean;
6
+ shiftKey?: boolean;
7
+ altKey?: boolean;
8
+ metaKey?: boolean;
9
+ repeat?: boolean;
10
+ time?: number;
11
+ }> | Readonly<{
12
+ type: "pointerdown" | "pointerup" | "pointermove" | "click" | "dblclick" | "contextmenu";
13
+ cellX: number;
14
+ cellY: number;
15
+ clientX?: number;
16
+ clientY?: number;
17
+ button?: number;
18
+ buttons?: number;
19
+ ctrlKey?: boolean;
20
+ shiftKey?: boolean;
21
+ altKey?: boolean;
22
+ metaKey?: boolean;
23
+ time?: number;
24
+ }> | Readonly<{
25
+ type: "wheel";
26
+ cellX: number;
27
+ cellY: number;
28
+ clientX?: number;
29
+ clientY?: number;
30
+ deltaY: number;
31
+ deltaMode?: number;
32
+ ctrlKey?: boolean;
33
+ shiftKey?: boolean;
34
+ altKey?: boolean;
35
+ metaKey?: boolean;
36
+ time?: number;
37
+ }> | Readonly<{
38
+ type: "beforeinput" | "input" | "compositionstart" | "compositionupdate" | "compositionend" | "paste";
39
+ data?: string;
40
+ inputType?: string;
41
+ isComposing?: boolean;
42
+ text?: string;
43
+ time?: number;
44
+ }>;