@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.
- package/README.md +142 -30
- package/dist/TSelect-BwJJbuTt.js +6089 -0
- package/dist/TTree-DK_DQBYm.js +6480 -0
- package/dist/agent.cjs +39416 -0
- package/dist/agent.d.cts +44 -0
- package/dist/agent.d.ts +44 -0
- package/dist/agent.js +828 -0
- package/dist/ansi-palette-CNXqFciC.js +57 -0
- package/dist/ansi-styles.d.ts +200 -0
- package/dist/block-source-CKUOnkgT.js +1663 -0
- package/dist/cli/headless-renderer.d.ts +29 -0
- package/dist/cli/input.d.ts +49 -0
- package/dist/cli/node-file-writers.d.ts +13 -0
- package/dist/cli/node-module.d.ts +2 -0
- package/dist/cli/parse-kitty.d.ts +2 -0
- package/dist/cli/parse-mouse.d.ts +2 -0
- package/dist/cli/parse-utils.d.ts +14 -0
- package/dist/cli/parse-xterm.d.ts +2 -0
- package/dist/cli/path-provider-types.d.ts +1 -0
- package/dist/cli/path-provider.d.ts +4 -0
- package/dist/cli/path-suggest-core.d.ts +1 -0
- package/dist/cli/path-suggest.d.ts +15 -0
- package/dist/cli/recording.d.ts +4 -0
- package/dist/cli/stdin-buffer.d.ts +33 -0
- package/dist/cli.cjs +11061 -0
- package/dist/cli.d.cts +23 -0
- package/dist/cli.d.ts +23 -0
- package/dist/cli.js +9875 -0
- package/dist/core/ansi/capability.d.ts +20 -0
- package/dist/core/ansi/colors.d.ts +41 -0
- package/dist/core/ansi/sgr.d.ts +7 -0
- package/dist/core/ansi/theme.d.ts +6 -0
- package/dist/core/ansi-palette.d.ts +14 -0
- package/dist/core/buffer/buffer.d.ts +54 -0
- package/dist/core/buffer/width.d.ts +4 -0
- package/dist/core/debug-logger.d.ts +18 -0
- package/dist/core/hyperlink.d.ts +9 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/path-provider-types.d.ts +24 -0
- package/dist/core/path-suggest.d.ts +35 -0
- package/dist/core/render-plane.d.ts +3 -0
- package/dist/core/terminal/create-terminal.d.ts +8 -0
- package/dist/core/terminal/emitter.d.ts +7 -0
- package/dist/core/types.d.ts +107 -0
- package/dist/core.cjs +3153 -0
- package/dist/core.d.cts +14 -0
- package/dist/core.d.ts +14 -0
- package/dist/core.js +424 -0
- package/dist/create-terminal-C2oiWFJU.js +1434 -0
- package/dist/create-terminal-app.d.ts +36 -0
- package/dist/dom-renderer-BqGijQID.js +1173 -0
- package/dist/env-Cl8qmNFN.js +19 -0
- package/dist/events/index.d.ts +6 -0
- package/dist/events/manager/cli-event-manager.d.ts +22 -0
- package/dist/events/manager/event-manager.d.ts +30 -0
- package/dist/events/manager/selection-suppression.d.ts +3 -0
- package/dist/events/manager/types.d.ts +108 -0
- package/dist/events/recording.d.ts +44 -0
- package/dist/experimental.cjs +4412 -1641
- package/dist/experimental.d.cts +42 -0
- package/dist/experimental.d.ts +42 -825
- package/dist/experimental.js +31 -7392
- package/dist/frame-perf-C6Xfg85O.js +24 -0
- package/dist/hyperlink-Bn02UXJb.js +419 -0
- package/dist/index.cjs +14765 -17582
- package/dist/index.d.cts +35 -0
- package/dist/index.d.ts +35 -1528
- package/dist/index.js +17 -20026
- package/dist/linkify-D_gzn9Xq.js +562 -0
- package/dist/markdown.cjs +9321 -7623
- package/dist/markdown.d.cts +11 -0
- package/dist/markdown.d.ts +11 -112
- package/dist/markdown.js +36 -1427
- package/dist/observability/cli-latency-node.d.ts +3 -0
- package/dist/observability/cli-latency-types.d.ts +41 -0
- package/dist/observability/cli-latency.d.ts +3 -0
- package/dist/observability/frame-perf-store.d.ts +18 -0
- package/dist/observability/frame-perf.d.ts +40 -0
- package/dist/observability/perf-sink.d.ts +56 -0
- package/dist/observability/trace.d.ts +40 -0
- package/dist/observability/tui-profiler.d.ts +33 -0
- package/dist/observability.cjs +221 -0
- package/dist/observability.d.cts +8 -0
- package/dist/observability.d.ts +8 -0
- package/dist/observability.js +4 -0
- package/dist/path-mnSgEpCm.js +81 -0
- package/dist/path-suggest-BNqcuE3-.js +274 -0
- package/dist/path-suggest-Dk9TRLh5.js +3 -0
- package/dist/{path-suggest-DmrmeueH.js → path-suggest-bvR9SY6Q.js} +86 -18
- package/dist/renderer/capabilities.d.ts +13 -0
- package/dist/renderer/cli/index.d.ts +2 -0
- package/dist/renderer/cli/stdout-metrics.d.ts +18 -0
- package/dist/renderer/cli/stdout-renderer.d.ts +48 -0
- package/dist/renderer/dom/dom-renderer.d.ts +157 -0
- package/dist/renderer/dom/index.d.ts +2 -0
- package/dist/renderer/index.d.ts +2 -0
- package/dist/renderer-dom.cjs +1505 -0
- package/dist/renderer-dom.d.cts +4 -0
- package/dist/renderer-dom.d.ts +4 -0
- package/dist/renderer-dom.js +7 -0
- package/dist/runtime/index.d.ts +36 -0
- package/dist/runtime/osc52.d.ts +9 -0
- package/dist/runtime-rfcZCyJq.js +1197 -0
- package/dist/runtime.cjs +1698 -0
- package/dist/runtime.d.cts +9 -0
- package/dist/runtime.d.ts +9 -0
- package/dist/runtime.js +4 -0
- package/dist/selection/terminal-selection.d.ts +123 -0
- package/dist/sgr-BmzxEjAO.js +304 -0
- package/dist/terminal-selection-DBinO6p5.js +330 -0
- package/dist/tlog-theme-qPBt5rge.js +9254 -0
- package/dist/trace-CjzYeIxN.js +182 -0
- package/dist/utils/env.d.ts +3 -0
- package/dist/utils/grapheme.d.ts +5 -0
- package/dist/utils/newlines.d.ts +1 -0
- package/dist/utils/path.d.ts +7 -0
- package/dist/utils/url-safety.d.ts +2 -0
- package/dist/vue/agent/view-models.d.ts +98 -0
- package/dist/vue/components/TAnchor.d.ts +108 -0
- package/dist/vue/components/TBox.d.ts +144 -0
- package/dist/vue/components/TCommandPalette.d.ts +587 -0
- package/dist/vue/components/TDataTable.d.ts +367 -0
- package/dist/vue/components/TDebugOverlay.d.ts +43 -0
- package/dist/vue/components/TDialog.d.ts +255 -0
- package/dist/vue/components/TFeedback.d.ts +635 -0
- package/dist/vue/components/TFlow.d.ts +85 -0
- package/dist/vue/components/TForm.d.ts +1230 -0
- package/dist/vue/components/TInput.d.ts +545 -0
- package/dist/vue/components/TInputBox.d.ts +158 -0
- package/dist/vue/components/TJsonEditor.d.ts +165 -0
- package/dist/vue/components/TLink.d.ts +239 -0
- package/dist/vue/components/TLinkifyText.d.ts +141 -0
- package/dist/vue/components/TList.d.ts +119 -0
- package/dist/vue/components/TLogLinksPanel.d.ts +238 -0
- package/dist/vue/components/TLogMinimap.d.ts +263 -0
- package/dist/vue/components/TLogScrollbar.d.ts +236 -0
- package/dist/vue/components/TLogSearchBar.d.ts +267 -0
- package/dist/vue/components/TLogSearchPager.d.ts +162 -0
- package/dist/vue/components/TLogSearchResults.d.ts +200 -0
- package/dist/vue/components/TLogView.d.ts +536 -0
- package/dist/vue/components/TLogVirtualLinksPanel.d.ts +141 -0
- package/dist/vue/components/TLogVirtualSearchResults.d.ts +146 -0
- package/dist/vue/components/TMarkdownText.d.ts +134 -0
- package/dist/vue/components/TMultilineModal.d.ts +62 -0
- package/dist/vue/components/TNavigation.d.ts +324 -0
- package/dist/vue/components/TOverlay.d.ts +366 -0
- package/dist/vue/components/TPanels.d.ts +244 -0
- package/dist/vue/components/TPathPicker.d.ts +213 -0
- package/dist/vue/components/TRenderLayer.d.ts +16 -0
- package/dist/vue/components/TRenderPlane.d.ts +17 -0
- package/dist/vue/components/TSelect.d.ts +335 -0
- package/dist/vue/components/TTable.d.ts +317 -0
- package/dist/vue/components/TText.d.ts +116 -0
- package/dist/vue/components/TThinkingView.d.ts +233 -0
- package/dist/vue/components/TToolCallView.d.ts +384 -0
- package/dist/vue/components/TTranscriptView.d.ts +221 -0
- package/dist/vue/components/TTransition.d.ts +83 -0
- package/dist/vue/components/TTree.d.ts +200 -0
- package/dist/vue/components/TUserMessageView.d.ts +344 -0
- package/dist/vue/components/TView.d.ts +127 -0
- package/dist/vue/components/TVirtualList.d.ts +182 -0
- package/dist/vue/components/TVirtualMarkdown.d.ts +168 -0
- package/dist/vue/components/TVirtualRows.d.ts +247 -0
- package/dist/vue/components/TerminalProvider.d.ts +218 -0
- package/dist/vue/components/input/host.d.ts +17 -0
- package/dist/vue/components/input/plugins/hostPlugin.d.ts +7 -0
- package/dist/vue/components/input/plugins/hostPlugin.node.d.ts +15 -0
- package/dist/vue/components/input/plugins/mentionUtils.d.ts +17 -0
- package/dist/vue/components/input/plugins/nodeMentionPathProvider.d.ts +2 -0
- package/dist/vue/components/input/plugins/promptMentionPlugin.d.ts +8 -0
- package/dist/vue/components/input/plugins/promptMentionState.d.ts +98 -0
- package/dist/vue/components/input/plugins/restrictText.d.ts +27 -0
- package/dist/vue/components/input/plugins/types.d.ts +90 -0
- package/dist/vue/components/input/utils/inlineText.d.ts +57 -0
- package/dist/vue/components/input/utils/inlineTextTokens.d.ts +34 -0
- package/dist/vue/components/input/utils/primitives.d.ts +3 -0
- package/dist/vue/components/input/utils/wordNavigation.d.ts +6 -0
- package/dist/vue/components/link/host.d.ts +15 -0
- package/dist/vue/components/list/list-geometry.d.ts +16 -0
- package/dist/vue/components/list/list-paint.d.ts +1 -0
- package/dist/vue/components/list/scroll-state.d.ts +25 -0
- package/dist/vue/components/list/selection-state.d.ts +6 -0
- package/dist/vue/components/simple-utils.d.ts +5 -0
- package/dist/vue/components/terminal-provider/copy-toast.d.ts +6 -0
- package/dist/vue/components/terminal-provider/portals.d.ts +17 -0
- package/dist/vue/components/terminal-provider/scheduler.d.ts +29 -0
- package/dist/vue/components/terminal-provider/selection-config.d.ts +15 -0
- package/dist/vue/components/terminal-provider/utils.d.ts +5 -0
- package/dist/vue/composables/use-layout.d.ts +2 -0
- package/dist/vue/composables/use-render-node.d.ts +19 -0
- package/dist/vue/composables/use-render-stack.d.ts +3 -0
- package/dist/vue/composables/use-runtime.d.ts +5 -0
- package/dist/vue/composables/use-terminal-node.d.ts +14 -0
- package/dist/vue/composables/use-terminal.d.ts +2 -0
- package/dist/vue/composables/use-visibility.d.ts +12 -0
- package/dist/vue/context.d.ts +153 -0
- package/dist/vue/index.d.ts +69 -0
- package/dist/vue/injection-key.d.ts +2 -0
- package/dist/vue/linkify.d.ts +11 -0
- package/dist/vue/log/append-only-log-store.d.ts +2 -0
- package/dist/vue/log/tlog-keymap.d.ts +28 -0
- package/dist/vue/log/tlog-plugins.d.ts +144 -0
- package/dist/vue/log/tlog-session.d.ts +81 -0
- package/dist/vue/log/tlog-theme.d.ts +68 -0
- package/dist/vue/log/types.d.ts +43 -0
- package/dist/vue/log/use-tlog-link-controller.d.ts +31 -0
- package/dist/vue/log/use-tlog-retained-index.d.ts +26 -0
- package/dist/vue/log/use-tlog-search-controller.d.ts +51 -0
- package/dist/vue/log/use-tlog-search-results-page.d.ts +31 -0
- package/dist/vue/log/use-tlog-virtual-search-results.d.ts +22 -0
- package/dist/vue/markdown/ast.d.ts +3 -0
- package/dist/vue/markdown/block-source.d.ts +22 -0
- package/dist/vue/markdown/document.d.ts +20 -0
- package/dist/vue/markdown/layout.d.ts +21 -0
- package/dist/vue/markdown/parser.d.ts +11 -0
- package/dist/vue/markdown/render.d.ts +10 -0
- package/dist/vue/markdown/theme.d.ts +186 -0
- package/dist/vue/markdown/types.d.ts +59 -0
- package/dist/vue/overlay.d.ts +27 -0
- package/dist/vue/render/context.d.ts +3 -0
- package/dist/vue/render/render-manager.d.ts +94 -0
- package/dist/vue/router/RouterView.d.ts +25 -0
- package/dist/vue/router/composables.d.ts +4 -0
- package/dist/vue/router/context.d.ts +4 -0
- package/dist/vue/router/router.d.ts +7 -0
- package/dist/vue/router/types.d.ts +29 -0
- package/dist/vue/scheduler/frame-mailbox.d.ts +55 -0
- package/dist/vue/scheduler/frame-scheduler.d.ts +51 -0
- package/dist/vue/theme.d.ts +48 -0
- package/dist/vue/transcript/hit-regions.d.ts +2 -0
- package/dist/vue/transcript/layout.d.ts +20 -0
- package/dist/vue/transcript/plain-text.d.ts +2 -0
- package/dist/vue/transcript/types.d.ts +122 -0
- package/dist/vue/utils/frame-task.d.ts +6 -0
- package/dist/vue/utils/rect.d.ts +4 -0
- package/dist/vue/utils/row-scroll.d.ts +25 -0
- package/dist/vue/utils/style-cache.d.ts +3 -0
- package/dist/vue/utils/text.d.ts +27 -0
- package/dist/vue/utils/wheel-scroll.d.ts +18 -0
- package/dist/vue.cjs +23668 -0
- package/dist/vue.d.cts +1 -0
- package/dist/vue.d.ts +1 -0
- package/dist/vue.js +3957 -0
- package/dist/{wheel-scroll-CiNsasLf.js → wheel-scroll-vBRaQ7p-.js} +404 -405
- package/package.json +185 -35
- package/dist/path-suggest-BeV6n7m-.js +0 -3
- package/dist/sgr-Tko2EQ0U.js +0 -484
- package/dist/theme-Bsm65g8k.d.ts +0 -32
- 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
|
+
}>;
|