@industry-theme/xterm-terminal-panel 0.8.9 → 0.8.10

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
@@ -37,7 +37,7 @@ import {
37
37
  // package.json
38
38
  var package_default = {
39
39
  name: "@industry-theme/xterm-terminal-panel",
40
- version: "0.8.8",
40
+ version: "0.8.10",
41
41
  description: "Industry-themed xterm.js terminal components with panel framework integration",
42
42
  type: "module",
43
43
  sideEffects: [
@@ -2633,11 +2633,6 @@ var TabbedTerminalPanelInner = ({
2633
2633
  useEffect4(() => {
2634
2634
  const customTabsFromProp = initialTabs.filter((tab) => tab.contentType !== "terminal");
2635
2635
  setOwnedTabs((prevTabs) => {
2636
- const existingTerminalTabs = prevTabs.filter((tab) => tab.contentType === "terminal");
2637
- const mergedTabs = [
2638
- ...existingTerminalTabs,
2639
- ...customTabsFromProp
2640
- ];
2641
2636
  const prevCustomTabs = prevTabs.filter((tab) => tab.contentType !== "terminal");
2642
2637
  const customTabsChanged = prevCustomTabs.length !== customTabsFromProp.length || !customTabsFromProp.every((tab) => {
2643
2638
  const prev = prevCustomTabs.find((p) => p.id === tab.id);
@@ -2648,7 +2643,11 @@ var TabbedTerminalPanelInner = ({
2648
2643
  if (!customTabsChanged) {
2649
2644
  return prevTabs;
2650
2645
  }
2651
- return mergedTabs;
2646
+ const propById = new Map(customTabsFromProp.map((tab) => [tab.id, tab]));
2647
+ const prevCustomIds = new Set(prevCustomTabs.map((tab) => tab.id));
2648
+ const kept = prevTabs.filter((tab) => tab.contentType === "terminal" || propById.has(tab.id)).map((tab) => tab.contentType !== "terminal" && propById.has(tab.id) ? propById.get(tab.id) : tab);
2649
+ const added = customTabsFromProp.filter((tab) => !prevCustomIds.has(tab.id));
2650
+ return [...kept, ...added];
2652
2651
  });
2653
2652
  }, [customTabsKey]);
2654
2653
  useEffect4(() => {
@@ -2747,9 +2746,7 @@ var TabbedTerminalPanelInner = ({
2747
2746
  const tabsToAdd = newRestoredTabs.filter((t) => !existingIds.has(t.id));
2748
2747
  if (tabsToAdd.length === 0)
2749
2748
  return prevTabs;
2750
- const terminalTabs = prevTabs.filter((t) => t.contentType === "terminal");
2751
- const customTabs = prevTabs.filter((t) => t.contentType !== "terminal");
2752
- const merged = [...terminalTabs, ...tabsToAdd, ...customTabs];
2749
+ const merged = [...prevTabs, ...tabsToAdd];
2753
2750
  appendedTabs = merged;
2754
2751
  return merged;
2755
2752
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TabbedTerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TabbedTerminalPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAKN,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EACV,wBAAwB,EACxB,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AAgExB,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAmtCD,eAAO,MAAM,mBAAmB,EAAkC,CAAC,IAAI,SAAS,OAAO,cAAc,EAAE,OAAO,GAAG,WAAW,EAC1H,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,KAClC,KAAK,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"TabbedTerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TabbedTerminalPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAKN,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EACV,wBAAwB,EACxB,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AAgExB,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAqtCD,eAAO,MAAM,mBAAmB,EAAkC,CAAC,IAAI,SAAS,OAAO,cAAc,EAAE,OAAO,GAAG,WAAW,EAC1H,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,KAClC,KAAK,CAAC,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@industry-theme/xterm-terminal-panel",
3
- "version": "0.8.9",
3
+ "version": "0.8.10",
4
4
  "description": "Industry-themed xterm.js terminal components with panel framework integration",
5
5
  "type": "module",
6
6
  "sideEffects": [