@industry-theme/xterm-terminal-panel 0.1.2 → 0.1.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/dist/index.js CHANGED
@@ -1,27 +1,3 @@
1
- var __create = Object.create;
2
- var __getProtoOf = Object.getPrototypeOf;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __toESM = (mod, isNodeMode, target) => {
7
- target = mod != null ? __create(__getProtoOf(mod)) : {};
8
- const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
9
- for (let key of __getOwnPropNames(mod))
10
- if (!__hasOwnProp.call(to, key))
11
- __defProp(to, key, {
12
- get: () => mod[key],
13
- enumerable: true
14
- });
15
- return to;
16
- };
17
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
18
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
19
- }) : x)(function(x) {
20
- if (typeof require !== "undefined")
21
- return require.apply(this, arguments);
22
- throw Error('Dynamic require of "' + x + '" is not supported');
23
- });
24
-
25
1
  // src/components/ThemedTerminal.tsx
26
2
  import { FitAddon } from "@xterm/addon-fit";
27
3
  import { SearchAddon } from "@xterm/addon-search";
@@ -108,8 +84,6 @@ var ThemedTerminal = forwardRef(({
108
84
  scrollback = 1e4,
109
85
  fontFamily,
110
86
  fontSize = 14,
111
- enableWebGL = false,
112
- enableUnicode11 = false,
113
87
  enableSearch = true,
114
88
  enableWebLinks = true
115
89
  }, ref) => {
@@ -233,17 +207,27 @@ var ThemedTerminal = forwardRef(({
233
207
  isScrollLocked: () => isScrollLockedRef.current,
234
208
  getScrollPosition
235
209
  }), [terminal]);
210
+ const initialConfigRef = useRef({
211
+ cursorBlink,
212
+ cursorStyle,
213
+ fontSize,
214
+ fontFamily: fontFamily || 'Menlo, Monaco, "Courier New", monospace',
215
+ scrollback,
216
+ enableSearch,
217
+ enableWebLinks
218
+ });
236
219
  useEffect(() => {
237
220
  if (!terminalRef.current || terminal) {
238
221
  return;
239
222
  }
223
+ const config = initialConfigRef.current;
240
224
  const term = new Terminal({
241
- cursorBlink,
242
- cursorStyle,
243
- fontSize,
244
- fontFamily: fontFamily || 'Menlo, Monaco, "Courier New", monospace',
225
+ cursorBlink: config.cursorBlink,
226
+ cursorStyle: config.cursorStyle,
227
+ fontSize: config.fontSize,
228
+ fontFamily: config.fontFamily,
245
229
  theme: createTerminalTheme(theme),
246
- scrollback,
230
+ scrollback: config.scrollback,
247
231
  allowProposedApi: true,
248
232
  lineHeight: 1,
249
233
  letterSpacing: 0,
@@ -257,21 +241,12 @@ var ThemedTerminal = forwardRef(({
257
241
  const fitAddon = new FitAddon;
258
242
  fitAddonRef.current = fitAddon;
259
243
  term.loadAddon(fitAddon);
260
- if (enableSearch) {
244
+ if (config.enableSearch) {
261
245
  const searchAddon = new SearchAddon;
262
246
  searchAddonRef.current = searchAddon;
263
247
  term.loadAddon(searchAddon);
264
248
  }
265
- if (enableUnicode11) {
266
- import("@xterm/addon-unicode11").then(({ Unicode11Addon }) => {
267
- const unicode11Addon = new Unicode11Addon;
268
- term.loadAddon(unicode11Addon);
269
- term.unicode.activeVersion = "11";
270
- }).catch(() => {
271
- console.warn("[Terminal] Unicode11Addon not available");
272
- });
273
- }
274
- if (enableWebLinks) {
249
+ if (config.enableWebLinks) {
275
250
  const webLinksAddon = new WebLinksAddon((event, uri) => {
276
251
  event.preventDefault();
277
252
  if (onLinkClick) {
@@ -295,22 +270,6 @@ var ThemedTerminal = forwardRef(({
295
270
  });
296
271
  }
297
272
  });
298
- if (enableWebGL) {
299
- import("@xterm/addon-webgl").then(({ WebglAddon }) => {
300
- try {
301
- const webglAddon = new WebglAddon;
302
- webglAddon.onContextLoss(() => {
303
- webglAddon.dispose();
304
- console.warn("[Terminal] WebGL context lost, falling back to canvas renderer");
305
- });
306
- term.loadAddon(webglAddon);
307
- } catch (e) {
308
- console.warn("[Terminal] WebGL renderer not supported, using canvas renderer", e);
309
- }
310
- }).catch(() => {
311
- console.warn("[Terminal] WebglAddon not available");
312
- });
313
- }
314
273
  setTerminal(term);
315
274
  const performFit = () => {
316
275
  if (!fitAddonRef.current || !terminalRef.current || !term || !isVisibleRef.current) {
@@ -346,7 +305,12 @@ var ThemedTerminal = forwardRef(({
346
305
  }
347
306
  term.dispose();
348
307
  };
349
- }, [theme, onLinkClick, cursorBlink, cursorStyle, scrollback, fontSize, fontFamily, enableSearch, enableWebLinks, enableUnicode11, enableWebGL]);
308
+ }, [onLinkClick]);
309
+ useEffect(() => {
310
+ if (terminal) {
311
+ terminal.options.theme = createTerminalTheme(theme);
312
+ }
313
+ }, [terminal, theme]);
350
314
  useEffect(() => {
351
315
  if (!terminal || !onReady) {
352
316
  return;
@@ -1068,8 +1032,6 @@ var TerminalPanel = ({
1068
1032
  convertEol: true,
1069
1033
  cursorBlink: true,
1070
1034
  scrollback: 1e4,
1071
- enableWebGL: true,
1072
- enableUnicode11: true,
1073
1035
  enableSearch: true,
1074
1036
  enableWebLinks: true
1075
1037
  })
@@ -1087,7 +1049,8 @@ import React, {
1087
1049
  useRef as useRef3
1088
1050
  } from "react";
1089
1051
  import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
1090
- var TerminalTabContentInner = ({ tab, sessionId, isActive, isVisible, actions, terminalContext, onSessionCreated, onScrollPositionChange, isForeign = false }, ref) => {
1052
+ function TerminalTabContentInner(props, ref) {
1053
+ const { tab, sessionId, isActive, isVisible, actions, terminalContext, onSessionCreated, onScrollPositionChange, isForeign = false } = props;
1091
1054
  const terminalRef = useRef3(null);
1092
1055
  const [localSessionId, setLocalSessionId] = useState3(sessionId);
1093
1056
  const [isInitialized, setIsInitialized] = useState3(false);
@@ -1282,17 +1245,33 @@ var TerminalTabContentInner = ({ tab, sessionId, isActive, isVisible, actions, t
1282
1245
  convertEol: true,
1283
1246
  cursorBlink: shouldRenderTerminal,
1284
1247
  scrollback: 1e4,
1285
- enableWebGL: true,
1286
- enableUnicode11: true,
1287
1248
  enableSearch: true,
1288
1249
  enableWebLinks: true,
1289
1250
  overlayState
1290
1251
  }, shouldRenderTerminal ? "active" : "overlay")
1291
1252
  });
1253
+ }
1254
+ var areTerminalTabContentPropsEqual = (prevProps, nextProps) => {
1255
+ const tabEqual = prevProps.tab.id === nextProps.tab.id && prevProps.tab.directory === nextProps.tab.directory && prevProps.tab.isActive === nextProps.tab.isActive && prevProps.tab.label === nextProps.tab.label;
1256
+ const changes = [];
1257
+ if (!tabEqual)
1258
+ changes.push("tab");
1259
+ if (prevProps.sessionId !== nextProps.sessionId)
1260
+ changes.push("sessionId");
1261
+ if (prevProps.isActive !== nextProps.isActive)
1262
+ changes.push("isActive");
1263
+ if (prevProps.isVisible !== nextProps.isVisible)
1264
+ changes.push("isVisible");
1265
+ if (prevProps.terminalContext !== nextProps.terminalContext)
1266
+ changes.push("terminalContext");
1267
+ if (prevProps.isForeign !== nextProps.isForeign)
1268
+ changes.push("isForeign");
1269
+ return changes.length === 0;
1292
1270
  };
1293
- var TerminalTabContent = React.memo(React.forwardRef(TerminalTabContentInner));
1271
+ var TerminalTabContentForwarded = React.forwardRef(TerminalTabContentInner);
1272
+ var TerminalTabContent = React.memo(TerminalTabContentForwarded, areTerminalTabContentPropsEqual);
1294
1273
  TerminalTabContent.displayName = "TerminalTabContent";
1295
- var TabbedTerminalPanel = ({
1274
+ var TabbedTerminalPanelInner = ({
1296
1275
  context: _context,
1297
1276
  actions,
1298
1277
  events: _events,
@@ -1328,6 +1307,21 @@ var TabbedTerminalPanel = ({
1328
1307
  return [...labeledOwnedTabs, ...sortedForeignTabs];
1329
1308
  }, [ownedTabs, foreignTabs, getOwnedTabLabel]);
1330
1309
  const tabRefsMap = useRef3(new Map);
1310
+ const refCallbacksMap = useRef3(new Map);
1311
+ const getRefCallback = useCallback((tabId) => {
1312
+ let callback = refCallbacksMap.current.get(tabId);
1313
+ if (!callback) {
1314
+ callback = (ref) => {
1315
+ if (ref) {
1316
+ tabRefsMap.current.set(tabId, ref);
1317
+ } else {
1318
+ tabRefsMap.current.delete(tabId);
1319
+ }
1320
+ };
1321
+ refCallbacksMap.current.set(tabId, callback);
1322
+ }
1323
+ return callback;
1324
+ }, []);
1331
1325
  const hasInitializedRef = useRef3(false);
1332
1326
  const isCreatingTabRef = useRef3(false);
1333
1327
  const headerRef = useRef3(null);
@@ -1788,13 +1782,7 @@ var TabbedTerminalPanel = ({
1788
1782
  },
1789
1783
  children: [
1790
1784
  tabs.map((tab) => /* @__PURE__ */ jsx4(TerminalTabContent, {
1791
- ref: (ref) => {
1792
- if (ref) {
1793
- tabRefsMap.current.set(tab.id, ref);
1794
- } else {
1795
- tabRefsMap.current.delete(tab.id);
1796
- }
1797
- },
1785
+ ref: getRefCallback(tab.id),
1798
1786
  tab,
1799
1787
  sessionId: sessionIds.get(tab.id) || null,
1800
1788
  isActive: tab.id === activeTabId,
@@ -1844,6 +1832,31 @@ var TabbedTerminalPanel = ({
1844
1832
  ]
1845
1833
  });
1846
1834
  };
1835
+ TabbedTerminalPanelInner.displayName = "TabbedTerminalPanelInner";
1836
+ var TabbedTerminalPanel = React.memo(TabbedTerminalPanelInner, (prevProps, nextProps) => {
1837
+ const changes = [];
1838
+ if (prevProps.terminalContext !== nextProps.terminalContext)
1839
+ changes.push("terminalContext");
1840
+ if (prevProps.directory !== nextProps.directory)
1841
+ changes.push("directory");
1842
+ if (prevProps.hideHeader !== nextProps.hideHeader)
1843
+ changes.push("hideHeader");
1844
+ if (prevProps.isVisible !== nextProps.isVisible)
1845
+ changes.push("isVisible");
1846
+ if (prevProps.showAllTerminals !== nextProps.showAllTerminals)
1847
+ changes.push("showAllTerminals");
1848
+ if (prevProps.tabLabelPrefix !== nextProps.tabLabelPrefix)
1849
+ changes.push("tabLabelPrefix");
1850
+ if (prevProps.actions !== nextProps.actions)
1851
+ changes.push("actions");
1852
+ if (prevProps.onTabsChange !== nextProps.onTabsChange)
1853
+ changes.push("onTabsChange");
1854
+ if (prevProps.onShowAllTerminalsChange !== nextProps.onShowAllTerminalsChange)
1855
+ changes.push("onShowAllTerminalsChange");
1856
+ if (prevProps.initialTabs !== nextProps.initialTabs)
1857
+ changes.push("initialTabs");
1858
+ return changes.length === 0;
1859
+ });
1847
1860
  TabbedTerminalPanel.displayName = "TabbedTerminalPanel";
1848
1861
  // src/tools/index.ts
1849
1862
  var createTerminalSessionTool = {
@@ -1 +1 @@
1
- {"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAwB3D,OAAO,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAsBD,eAAO,MAAM,cAAc,4HA4sB1B,CAAC"}
1
+ {"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAqB3D,OAAO,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAsBD,eAAO,MAAM,cAAc,4HAksB1B,CAAC"}
@@ -4,5 +4,5 @@ export interface TerminalTabContentRef {
4
4
  scrollToBottom: () => void;
5
5
  toggleScrollLock: () => void;
6
6
  }
7
- export declare const TabbedTerminalPanel: React.FC<TabbedTerminalPanelProps>;
7
+ export declare const TabbedTerminalPanel: React.NamedExoticComponent<TabbedTerminalPanelProps>;
8
8
  //# sourceMappingURL=TabbedTerminalPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabbedTerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TabbedTerminalPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAKN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,gBAAgB,CAAC;AAuBxB,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AA+TD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAsrBlE,CAAC"}
1
+ {"version":3,"file":"TabbedTerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TabbedTerminalPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAKN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,gBAAgB,CAAC;AAuBxB,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAsiCD,eAAO,MAAM,mBAAmB,sDAmB9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TerminalPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,gBAAgB,CAAC;AAqBxE,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyZtD,CAAC"}
1
+ {"version":3,"file":"TerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TerminalPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,gBAAgB,CAAC;AAqBxE,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuZtD,CAAC"}
@@ -44,8 +44,6 @@ export interface ThemedTerminalProps {
44
44
  scrollback?: number;
45
45
  fontFamily?: string;
46
46
  fontSize?: number;
47
- enableWebGL?: boolean;
48
- enableUnicode11?: boolean;
49
47
  enableSearch?: boolean;
50
48
  enableWebLinks?: boolean;
51
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.types.d.ts","sourceRoot":"","sources":["../../../src/types/terminal.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.types.d.ts","sourceRoot":"","sources":["../../../src/types/terminal.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@industry-theme/xterm-terminal-panel",
3
- "version": "0.1.2",
3
+ "version": "0.1.5",
4
4
  "description": "Industry-themed xterm.js terminal components with panel framework integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "scripts": {
26
26
  "build": "bun run clean && bun run build:esm && bun run build:tools && bun run build:types && bun run build:styles",
27
- "build:esm": "NODE_ENV=production bun build ./index.ts --outdir ./dist --entry-naming [dir]/[name].[ext] --format esm --target browser --external react --external react-dom --external @xterm/xterm --external @xterm/addon-fit --external @xterm/addon-search --external @xterm/addon-web-links --external @xterm/addon-unicode11 --external @xterm/addon-webgl --external @principal-ade/industry-theme --external @principal-ade/panel-framework-core --external lucide-react --external clsx",
27
+ "build:esm": "NODE_ENV=production bun build ./index.ts --outdir ./dist --entry-naming [dir]/[name].[ext] --format esm --target browser --external react --external react-dom --external @xterm/xterm --external @xterm/addon-fit --external @xterm/addon-search --external @xterm/addon-web-links --external @principal-ade/industry-theme --external @principal-ade/panel-framework-core --external lucide-react --external clsx",
28
28
  "build:tools": "bun build ./src/tools/index.ts --outfile ./dist/tools.bundle.js --format esm --target browser",
29
29
  "build:types": "tsc --project tsconfig.build.json --emitDeclarationOnly --declaration --declarationMap",
30
30
  "build:styles": "cp src/styles/terminal-theme.css dist/styles.css",
@@ -62,21 +62,13 @@
62
62
  "peerDependencies": {
63
63
  "@xterm/addon-fit": ">=0.10.0",
64
64
  "@xterm/addon-search": ">=0.15.0",
65
- "@xterm/addon-unicode11": ">=0.8.0",
66
65
  "@xterm/addon-web-links": ">=0.11.0",
67
- "@xterm/addon-webgl": ">=0.18.0",
68
66
  "@xterm/xterm": ">=5.5.0",
69
67
  "lucide-react": ">=0.263.0",
70
68
  "react": ">=19.0.0",
71
69
  "react-dom": ">=19.0.0"
72
70
  },
73
71
  "peerDependenciesMeta": {
74
- "@xterm/addon-unicode11": {
75
- "optional": true
76
- },
77
- "@xterm/addon-webgl": {
78
- "optional": true
79
- },
80
72
  "lucide-react": {
81
73
  "optional": true
82
74
  }
@@ -97,9 +89,7 @@
97
89
  "@vitejs/plugin-react": "^4.3.4",
98
90
  "@xterm/addon-fit": "^0.10.0",
99
91
  "@xterm/addon-search": "^0.15.0",
100
- "@xterm/addon-unicode11": "^0.8.0",
101
92
  "@xterm/addon-web-links": "^0.11.0",
102
- "@xterm/addon-webgl": "^0.18.0",
103
93
  "@xterm/xterm": "^5.5.0",
104
94
  "esbuild": "^0.25.8",
105
95
  "eslint": "^9.32.0",