@next_term/react 0.1.0-next.3 → 0.1.0-next.5

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Rahul Pandita
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,4 +1,5 @@
1
1
  import type { Theme } from "@next_term/core";
2
+ import type { SharedWebGLContext } from "@next_term/web";
2
3
  import type React from "react";
3
4
  export interface TerminalProps {
4
5
  cols?: number;
@@ -22,6 +23,10 @@ export interface TerminalProps {
22
23
  renderer?: "auto" | "webgl" | "canvas2d";
23
24
  /** Whether to use a Web Worker for VT parsing. */
24
25
  useWorker?: boolean;
26
+ /** Shared WebGL context for multi-pane rendering. */
27
+ sharedContext?: SharedWebGLContext;
28
+ /** Pane ID within the shared context. Required when sharedContext is provided. */
29
+ paneId?: string;
25
30
  }
26
31
  export interface TerminalHandle {
27
32
  write(data: string | Uint8Array): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Terminal.d.ts","sourceRoot":"","sources":["../src/Terminal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC3C,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IACzC,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,GAAG,IAAI,IAAI,CAAC;CACb;AAED,eAAO,MAAM,QAAQ,sFA+KnB,CAAC"}
1
+ {"version":3,"file":"Terminal.d.ts","sourceRoot":"","sources":["../src/Terminal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC3C,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IACzC,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qDAAqD;IACrD,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,GAAG,IAAI,IAAI,CAAC;CACb;AAED,eAAO,MAAM,QAAQ,sFA+LnB,CAAC"}
package/dist/Terminal.js CHANGED
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { calculateFit, WebTerminal } from "@next_term/web";
3
3
  import { forwardRef, useEffect, useImperativeHandle, useRef } from "react";
4
4
  export const Terminal = forwardRef(function Terminal(props, ref) {
5
- const { cols = 80, rows = 24, fontSize = 16, fontFamily = "'Courier New', monospace", theme, scrollback = 1000, onData, onResize, onTitleChange, autoFit = false, className, style, renderMode, renderer: rendererProp, useWorker, } = props;
5
+ const { cols = 80, rows = 24, fontSize = 16, fontFamily = "'Courier New', monospace", theme, scrollback = 1000, onData, onResize, onTitleChange, autoFit = false, className, style, renderMode, renderer: rendererProp, useWorker, sharedContext, paneId, } = props;
6
6
  const containerRef = useRef(null);
7
7
  const termRef = useRef(null);
8
8
  const initialized = useRef(false);
@@ -63,6 +63,8 @@ export const Terminal = forwardRef(function Terminal(props, ref) {
63
63
  renderMode,
64
64
  renderer: rendererProp,
65
65
  useWorker,
66
+ sharedContext,
67
+ paneId,
66
68
  onData: (data) => onDataRef.current?.(data),
67
69
  onResize: (size) => onResizeRef.current?.(size),
68
70
  onTitleChange: (title) => onTitleChangeRef.current?.(title),
@@ -73,7 +75,19 @@ export const Terminal = forwardRef(function Terminal(props, ref) {
73
75
  termRef.current = null;
74
76
  initialized.current = false;
75
77
  };
76
- }, [cols, fontFamily, fontSize, renderMode, rendererProp, rows, scrollback, theme, useWorker]); // eslint-disable-line react-hooks/exhaustive-deps
78
+ }, [
79
+ cols,
80
+ fontFamily,
81
+ fontSize,
82
+ paneId,
83
+ renderMode,
84
+ rendererProp,
85
+ rows,
86
+ scrollback,
87
+ sharedContext,
88
+ theme,
89
+ useWorker,
90
+ ]); // eslint-disable-line react-hooks/exhaustive-deps
77
91
  // Update theme when it changes
78
92
  useEffect(() => {
79
93
  if (termRef.current && theme) {
@@ -1 +1 @@
1
- {"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../src/Terminal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../src/Terminal.tsx"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@
2
2
  * TerminalPane — a container component that manages multiple terminal
3
3
  * instances in a split-pane layout.
4
4
  *
5
- * All panes share rendering resources (e.g. the same WebGL context when
6
- * using the WebGL backend), which avoids hitting Chrome's 16-context limit.
5
+ * All panes share rendering resources via a single SharedWebGLContext,
6
+ * which avoids hitting Chrome's 16-context limit. If WebGL2 initialization
7
+ * fails, panes fall back to independent per-pane rendering.
7
8
  *
8
9
  * Layout is described as a recursive tree of horizontal / vertical splits.
9
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalPane.d.ts","sourceRoot":"","sources":["../src/TerminalPane.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IACnD,wBAAwB;IACxB,UAAU,IAAI,MAAM,EAAE,CAAC;CACxB;AAiID,eAAO,MAAM,YAAY,8FA8CxB,CAAC"}
1
+ {"version":3,"file":"TerminalPane.d.ts","sourceRoot":"","sources":["../src/TerminalPane.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IACnD,wBAAwB;IACxB,UAAU,IAAI,MAAM,EAAE,CAAC;CACxB;AAkLD,eAAO,MAAM,YAAY,8FAiIxB,CAAC"}
@@ -1,23 +1,44 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from "react";
2
+ import { SharedWebGLContext } from "@next_term/web";
3
+ import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from "react";
3
4
  import { collectPaneIds } from "./pane-layout.js";
4
5
  import { Terminal } from "./Terminal.js";
5
- function PaneLeaf({ id, onData, theme, fontSize, fontFamily, onRef }) {
6
+ function PaneLeaf({ id, onData, theme, fontSize, fontFamily, onRef, sharedContext, }) {
6
7
  const termRef = useRef(null);
8
+ const containerRef = useRef(null);
7
9
  useEffect(() => {
8
10
  onRef(id, termRef.current);
9
11
  return () => {
10
12
  onRef(id, null);
11
13
  };
12
14
  }, [id, onRef]);
15
+ // Sync viewport position with shared context via ResizeObserver
16
+ useEffect(() => {
17
+ if (!sharedContext || !containerRef.current)
18
+ return;
19
+ const syncViewport = () => {
20
+ const el = containerRef.current;
21
+ const parent = sharedContext.getCanvas().parentElement;
22
+ if (!el || !parent)
23
+ return;
24
+ const parentRect = parent.getBoundingClientRect();
25
+ const elRect = el.getBoundingClientRect();
26
+ sharedContext.setViewport(id, elRect.left - parentRect.left, elRect.top - parentRect.top, elRect.width, elRect.height);
27
+ };
28
+ // Measure once on mount so panes that are already laid out get a viewport
29
+ syncViewport();
30
+ const observer = new ResizeObserver(syncViewport);
31
+ observer.observe(containerRef.current);
32
+ return () => observer.disconnect();
33
+ }, [id, sharedContext]);
13
34
  const handleData = useCallback((data) => {
14
35
  onData?.(id, data);
15
36
  }, [id, onData]);
16
- return (_jsx(Terminal, { ref: termRef, autoFit: true, theme: theme, fontSize: fontSize, fontFamily: fontFamily, onData: handleData, style: { width: "100%", height: "100%" } }));
37
+ return (_jsx("div", { ref: containerRef, style: { width: "100%", height: "100%" }, children: _jsx(Terminal, { ref: termRef, autoFit: true, theme: theme, fontSize: fontSize, fontFamily: fontFamily, onData: handleData, sharedContext: sharedContext ?? undefined, paneId: sharedContext ? id : undefined, style: { width: "100%", height: "100%" } }) }));
17
38
  }
18
- function PaneNode({ layout, onData, theme, fontSize, fontFamily, onRef }) {
39
+ function PaneNode({ layout, onData, theme, fontSize, fontFamily, onRef, sharedContext, }) {
19
40
  if (layout.type === "single") {
20
- return (_jsx(PaneLeaf, { id: layout.id, onData: onData, theme: theme, fontSize: fontSize, fontFamily: fontFamily, onRef: onRef }));
41
+ return (_jsx(PaneLeaf, { id: layout.id, onData: onData, theme: theme, fontSize: fontSize, fontFamily: fontFamily, onRef: onRef, sharedContext: sharedContext }));
21
42
  }
22
43
  const isHorizontal = layout.type === "horizontal";
23
44
  const children = layout.children;
@@ -41,7 +62,7 @@ function PaneNode({ layout, onData, theme, fontSize, fontFamily, onRef }) {
41
62
  ? { borderLeft: "1px solid #444" }
42
63
  : { borderTop: "1px solid #444" }
43
64
  : {}),
44
- }, children: _jsx(PaneNode, { layout: child, onData: onData, theme: theme, fontSize: fontSize, fontFamily: fontFamily, onRef: onRef }) }, child.type === "single" ? child.id : `split-${i}`));
65
+ }, children: _jsx(PaneNode, { layout: child, onData: onData, theme: theme, fontSize: fontSize, fontFamily: fontFamily, onRef: onRef, sharedContext: sharedContext }) }, child.type === "single" ? child.id : `split-${i}`));
45
66
  }) }));
46
67
  }
47
68
  // ---------------------------------------------------------------------------
@@ -49,7 +70,10 @@ function PaneNode({ layout, onData, theme, fontSize, fontFamily, onRef }) {
49
70
  // ---------------------------------------------------------------------------
50
71
  export const TerminalPane = forwardRef(function TerminalPane(props, ref) {
51
72
  const { layout, onData, theme, fontSize, fontFamily, className, style } = props;
73
+ const containerRef = useRef(null);
52
74
  const terminalsRef = useRef(new Map());
75
+ const sharedContextRef = useRef(null);
76
+ const [sharedContext, setSharedContext] = useState(null);
53
77
  const handleRef = useCallback((id, handle) => {
54
78
  if (handle) {
55
79
  terminalsRef.current.set(id, handle);
@@ -58,6 +82,77 @@ export const TerminalPane = forwardRef(function TerminalPane(props, ref) {
58
82
  terminalsRef.current.delete(id);
59
83
  }
60
84
  }, []);
85
+ // Create and manage the shared WebGL context
86
+ // biome-ignore lint/correctness/useExhaustiveDependencies: theme handled via separate setTheme effect
87
+ useEffect(() => {
88
+ const container = containerRef.current;
89
+ if (!container)
90
+ return;
91
+ let ctx = null;
92
+ try {
93
+ ctx = new SharedWebGLContext({
94
+ fontSize,
95
+ fontFamily,
96
+ theme,
97
+ });
98
+ const canvas = ctx.getCanvas();
99
+ canvas.style.position = "absolute";
100
+ canvas.style.top = "0";
101
+ canvas.style.left = "0";
102
+ canvas.style.width = "100%";
103
+ canvas.style.height = "100%";
104
+ canvas.style.pointerEvents = "none";
105
+ canvas.style.zIndex = "1";
106
+ container.appendChild(canvas);
107
+ ctx.init();
108
+ // Sync canvas size with container (debounced via rAF to avoid
109
+ // clearing the canvas on every pixel of a drag-resize)
110
+ const activeCtx = ctx;
111
+ let resizeRafId = 0;
112
+ const ro = new ResizeObserver((entries) => {
113
+ cancelAnimationFrame(resizeRafId);
114
+ resizeRafId = requestAnimationFrame(() => {
115
+ for (const entry of entries) {
116
+ const { width, height } = entry.contentRect;
117
+ activeCtx.syncCanvasSize(width, height);
118
+ }
119
+ });
120
+ });
121
+ ro.observe(container);
122
+ ctx.startRenderLoop();
123
+ sharedContextRef.current = ctx;
124
+ setSharedContext(ctx);
125
+ return () => {
126
+ cancelAnimationFrame(resizeRafId);
127
+ activeCtx.stopRenderLoop();
128
+ activeCtx.dispose();
129
+ ro.disconnect();
130
+ sharedContextRef.current = null;
131
+ setSharedContext(null);
132
+ };
133
+ }
134
+ catch {
135
+ // WebGL2 init failed — fall back to independent per-pane rendering
136
+ console.warn("[TerminalPane] SharedWebGLContext init failed, falling back to per-pane rendering");
137
+ if (ctx) {
138
+ try {
139
+ ctx.dispose();
140
+ }
141
+ catch {
142
+ // ignore
143
+ }
144
+ }
145
+ sharedContextRef.current = null;
146
+ setSharedContext(null);
147
+ return;
148
+ }
149
+ }, [fontSize, fontFamily]); // theme handled via separate setTheme effect below
150
+ // Update theme on existing context without recreating GL resources
151
+ useEffect(() => {
152
+ if (sharedContextRef.current && theme) {
153
+ sharedContextRef.current.setTheme(theme);
154
+ }
155
+ }, [theme]);
61
156
  useImperativeHandle(ref, () => ({
62
157
  getTerminal(paneId) {
63
158
  return terminalsRef.current.get(paneId) ?? null;
@@ -66,10 +161,10 @@ export const TerminalPane = forwardRef(function TerminalPane(props, ref) {
66
161
  return collectPaneIds(layout);
67
162
  },
68
163
  }), [layout]);
69
- return (_jsx("div", { className: className, style: {
164
+ return (_jsx("div", { ref: containerRef, className: className, style: {
70
165
  position: "relative",
71
166
  overflow: "hidden",
72
167
  ...style,
73
- }, children: _jsx(PaneNode, { layout: layout, onData: onData, theme: theme, fontSize: fontSize, fontFamily: fontFamily, onRef: handleRef }) }));
168
+ }, children: _jsx(PaneNode, { layout: layout, onData: onData, theme: theme, fontSize: fontSize, fontFamily: fontFamily, onRef: handleRef, sharedContext: sharedContext }) }));
74
169
  });
75
170
  //# sourceMappingURL=TerminalPane.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalPane.js","sourceRoot":"","sources":["../src/TerminalPane.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACxF,OAAO,EAAE,cAAc,EAAmB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA4CzC,SAAS,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAiB;IACjF,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhB,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,IAAgB,EAAE,EAAE;QACnB,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,EAAE,EAAE,MAAM,CAAC,CACb,CAAC;IAEF,OAAO,CACL,KAAC,QAAQ,IACP,GAAG,EAAE,OAAO,EACZ,OAAO,QACP,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GACxC,CACH,CAAC;AACJ,CAAC;AAeD,SAAS,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAiB;IACrF,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CACL,KAAC,QAAQ,IACP,EAAE,EAAE,MAAM,CAAC,EAAE,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEtE,OAAO,CACL,cACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YAC9C,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;SACf,YAEA,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;YAC5D,OAAO,CACL,cAEE,KAAK,EAAE;oBACL,SAAS,EAAE,KAAK;oBAChB,QAAQ,EAAE,CAAC;oBACX,UAAU,EAAE,CAAC;oBACb,QAAQ,EAAE,QAAQ;oBAClB,QAAQ,EAAE,UAAU;oBACpB,mCAAmC;oBACnC,GAAG,CAAC,CAAC,GAAG,CAAC;wBACP,CAAC,CAAC,YAAY;4BACZ,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE;4BAClC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;wBACnC,CAAC,CAAC,EAAE,CAAC;iBACR,YAED,KAAC,QAAQ,IACP,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,GACZ,IAtBG,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAuBlD,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CACpC,SAAS,YAAY,CAAC,KAAK,EAAE,GAAG;IAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAChF,MAAM,YAAY,GAAG,MAAM,CAA8B,IAAI,GAAG,EAAE,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,MAA6B,EAAE,EAAE;QAC1E,IAAI,MAAM,EAAE,CAAC;YACX,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,WAAW,CAAC,MAAc;YACxB,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QAClD,CAAC;QACD,UAAU;YACR,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF,CAAC,EACF,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO,CACL,cACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,QAAQ;YAClB,GAAG,KAAK;SACT,YAED,KAAC,QAAQ,IACP,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,SAAS,GAChB,GACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"TerminalPane.js","sourceRoot":"","sources":["../src/TerminalPane.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next_term/react",
3
- "version": "0.1.0-next.3",
3
+ "version": "0.1.0-next.5",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,9 +16,6 @@
16
16
  "import": "./dist/index.js"
17
17
  }
18
18
  },
19
- "scripts": {
20
- "build": "tsc"
21
- },
22
19
  "files": [
23
20
  "dist",
24
21
  "!dist/__tests__"
@@ -31,8 +28,8 @@
31
28
  "react-dom": "^18.0.0 || ^19.0.0"
32
29
  },
33
30
  "dependencies": {
34
- "@next_term/core": "workspace:*",
35
- "@next_term/web": "workspace:*"
31
+ "@next_term/core": "0.0.1-next.5",
32
+ "@next_term/web": "0.1.0-next.5"
36
33
  },
37
34
  "devDependencies": {
38
35
  "typescript": "^5.5.0",
@@ -40,5 +37,8 @@
40
37
  "react-dom": "^19.0.0",
41
38
  "@types/react": "^19.0.0",
42
39
  "@types/react-dom": "^19.0.0"
40
+ },
41
+ "scripts": {
42
+ "build": "tsc"
43
43
  }
44
- }
44
+ }