@industry-theme/xterm-terminal-panel 0.10.1 → 0.10.2
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
|
@@ -187,7 +187,7 @@ import {
|
|
|
187
187
|
// package.json
|
|
188
188
|
var package_default = {
|
|
189
189
|
name: "@industry-theme/xterm-terminal-panel",
|
|
190
|
-
version: "0.10.
|
|
190
|
+
version: "0.10.2",
|
|
191
191
|
description: "Industry-themed xterm.js terminal components with panel framework integration",
|
|
192
192
|
type: "module",
|
|
193
193
|
sideEffects: [
|
|
@@ -2609,7 +2609,7 @@ function useThemedTerminal() {
|
|
|
2609
2609
|
// src/components/TabBar/TabBar.tsx
|
|
2610
2610
|
import { useTheme as useTheme7 } from "@principal-ade/industry-theme";
|
|
2611
2611
|
import { Plus } from "lucide-react";
|
|
2612
|
-
import React, { useCallback as useCallback5, useState as useState3 } from "react";
|
|
2612
|
+
import React, { useCallback as useCallback5, useEffect as useEffect4, useState as useState3 } from "react";
|
|
2613
2613
|
|
|
2614
2614
|
// src/components/TabBar/TabButton.tsx
|
|
2615
2615
|
import { useTheme as useTheme6 } from "@principal-ade/industry-theme";
|
|
@@ -2627,6 +2627,7 @@ var TabButton = ({
|
|
|
2627
2627
|
onClick,
|
|
2628
2628
|
onClose,
|
|
2629
2629
|
keyboardHint,
|
|
2630
|
+
keyboardHintVisible = true,
|
|
2630
2631
|
renderAccessory,
|
|
2631
2632
|
renderIcon,
|
|
2632
2633
|
renderLabel,
|
|
@@ -2666,10 +2667,7 @@ var TabButton = ({
|
|
|
2666
2667
|
// just when the button is shown) so the layout doesn't shift on hover.
|
|
2667
2668
|
paddingLeft: closable ? `${CLOSE_BUTTON_GUTTER}px` : "8px",
|
|
2668
2669
|
backgroundColor: isActive ? theme.colors.background : theme.colors.backgroundDark ?? theme.colors.backgroundSecondary,
|
|
2669
|
-
|
|
2670
|
-
// it, the active tab leaves a gap so it reads as connected to the
|
|
2671
|
-
// terminal content below.
|
|
2672
|
-
borderBottom: isActive ? "1px solid transparent" : `1px solid ${theme.colors.border}`,
|
|
2670
|
+
borderBottom: `1px solid ${theme.colors.border}`,
|
|
2673
2671
|
cursor: draggable ? isBeingDragged ? "grabbing" : "grab" : "pointer",
|
|
2674
2672
|
opacity: isBeingDragged ? 0.55 : 1,
|
|
2675
2673
|
userSelect: "none",
|
|
@@ -2766,7 +2764,8 @@ var TabButton = ({
|
|
|
2766
2764
|
fontSize: theme.fontSizes[0],
|
|
2767
2765
|
color: theme.colors.textSecondary,
|
|
2768
2766
|
opacity: 0.6,
|
|
2769
|
-
flexShrink: 0
|
|
2767
|
+
flexShrink: 0,
|
|
2768
|
+
visibility: keyboardHintVisible ? "visible" : "hidden"
|
|
2770
2769
|
},
|
|
2771
2770
|
children: keyboardHint
|
|
2772
2771
|
}
|
|
@@ -2800,6 +2799,23 @@ var TabBar = ({
|
|
|
2800
2799
|
const [hoveredTabId, setHoveredTabId] = useState3(null);
|
|
2801
2800
|
const [draggedTabId, setDraggedTabId] = useState3(null);
|
|
2802
2801
|
const [dropTarget, setDropTarget] = useState3(null);
|
|
2802
|
+
const [isCommandPressed, setIsCommandPressed] = useState3(false);
|
|
2803
|
+
useEffect4(() => {
|
|
2804
|
+
const handleKeyChange = (event) => {
|
|
2805
|
+
setIsCommandPressed(event.metaKey);
|
|
2806
|
+
};
|
|
2807
|
+
const resetCommandPressed = () => setIsCommandPressed(false);
|
|
2808
|
+
window.addEventListener("keydown", handleKeyChange, true);
|
|
2809
|
+
window.addEventListener("keyup", handleKeyChange, true);
|
|
2810
|
+
window.addEventListener("blur", resetCommandPressed);
|
|
2811
|
+
document.addEventListener("visibilitychange", resetCommandPressed);
|
|
2812
|
+
return () => {
|
|
2813
|
+
window.removeEventListener("keydown", handleKeyChange, true);
|
|
2814
|
+
window.removeEventListener("keyup", handleKeyChange, true);
|
|
2815
|
+
window.removeEventListener("blur", resetCommandPressed);
|
|
2816
|
+
document.removeEventListener("visibilitychange", resetCommandPressed);
|
|
2817
|
+
};
|
|
2818
|
+
}, []);
|
|
2803
2819
|
const reorderEnabled = onTabReorder !== void 0 && (enableTabReorder ?? true);
|
|
2804
2820
|
const isReorderable = useCallback5(
|
|
2805
2821
|
(tabId) => reorderEnabled && (canReorderTab ? canReorderTab(tabId) : true),
|
|
@@ -2936,6 +2952,7 @@ var TabBar = ({
|
|
|
2936
2952
|
onClick: () => onTabClick(tab.id),
|
|
2937
2953
|
onClose: () => onTabClose(tab.id),
|
|
2938
2954
|
keyboardHint: showKeyboardHints && index < 9 ? `\u2318 ${index + 1}` : void 0,
|
|
2955
|
+
keyboardHintVisible: isCommandPressed,
|
|
2939
2956
|
renderAccessory: renderTabAccessory,
|
|
2940
2957
|
renderIcon: renderTabIcon,
|
|
2941
2958
|
renderLabel: renderTabLabel,
|
|
@@ -3021,14 +3038,14 @@ function isTabOfType(tab, contentType) {
|
|
|
3021
3038
|
}
|
|
3022
3039
|
|
|
3023
3040
|
// src/hooks/useTabKeyboardShortcuts.ts
|
|
3024
|
-
import { useEffect as
|
|
3041
|
+
import { useEffect as useEffect5 } from "react";
|
|
3025
3042
|
var useTabKeyboardShortcuts = ({
|
|
3026
3043
|
onNewTab,
|
|
3027
3044
|
onCloseTab,
|
|
3028
3045
|
onSwitchToTab,
|
|
3029
3046
|
enabled = true
|
|
3030
3047
|
}) => {
|
|
3031
|
-
|
|
3048
|
+
useEffect5(() => {
|
|
3032
3049
|
if (!enabled) return;
|
|
3033
3050
|
const handleKeyDown = (e) => {
|
|
3034
3051
|
const isCmdOrCtrl = e.metaKey || e.ctrlKey;
|
|
@@ -3063,7 +3080,7 @@ import { Terminal as TerminalIcon2, Box, Boxes } from "lucide-react";
|
|
|
3063
3080
|
import React3, {
|
|
3064
3081
|
useState as useState4,
|
|
3065
3082
|
useCallback as useCallback6,
|
|
3066
|
-
useEffect as
|
|
3083
|
+
useEffect as useEffect6,
|
|
3067
3084
|
useRef as useRef5
|
|
3068
3085
|
} from "react";
|
|
3069
3086
|
|
|
@@ -3402,7 +3419,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3402
3419
|
const customTabs = initialTabs.filter((tab) => tab.contentType !== "terminal");
|
|
3403
3420
|
return JSON.stringify(customTabs);
|
|
3404
3421
|
}, [initialTabs]);
|
|
3405
|
-
|
|
3422
|
+
useEffect6(() => {
|
|
3406
3423
|
const customTabsFromProp = initialTabs.filter((tab) => tab.contentType !== "terminal");
|
|
3407
3424
|
setOwnedTabs((prevTabs) => {
|
|
3408
3425
|
const prevCustomTabs = prevTabs.filter((tab) => tab.contentType !== "terminal");
|
|
@@ -3423,7 +3440,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3423
3440
|
return [...kept, ...added];
|
|
3424
3441
|
});
|
|
3425
3442
|
}, [customTabsKey]);
|
|
3426
|
-
|
|
3443
|
+
useEffect6(() => {
|
|
3427
3444
|
if (!requestFocusTabId) {
|
|
3428
3445
|
return;
|
|
3429
3446
|
}
|
|
@@ -3581,12 +3598,12 @@ var TabbedTerminalPanelInner = ({
|
|
|
3581
3598
|
return [];
|
|
3582
3599
|
});
|
|
3583
3600
|
}, []);
|
|
3584
|
-
|
|
3601
|
+
useEffect6(() => {
|
|
3585
3602
|
if (hasInitializedRef.current) return;
|
|
3586
3603
|
hasInitializedRef.current = true;
|
|
3587
3604
|
restoreOwnedSessions();
|
|
3588
3605
|
}, []);
|
|
3589
|
-
|
|
3606
|
+
useEffect6(() => {
|
|
3590
3607
|
const handleSessionCreated2 = (event) => {
|
|
3591
3608
|
const customEvent = event;
|
|
3592
3609
|
const { context: context2 } = customEvent.detail || {};
|
|
@@ -3600,7 +3617,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3600
3617
|
window.removeEventListener("terminal-session-created", handleSessionCreated2);
|
|
3601
3618
|
};
|
|
3602
3619
|
}, [terminalContext, restoreOwnedSessions]);
|
|
3603
|
-
|
|
3620
|
+
useEffect6(() => {
|
|
3604
3621
|
if (showAllTerminals) {
|
|
3605
3622
|
fetchForeignSessions();
|
|
3606
3623
|
} else {
|
|
@@ -3733,7 +3750,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3733
3750
|
},
|
|
3734
3751
|
[activeTabId, sessionIds, actions, onTabsChange, isForeignTab, ownedTabs, foreignTabs]
|
|
3735
3752
|
);
|
|
3736
|
-
|
|
3753
|
+
useEffect6(() => {
|
|
3737
3754
|
if (!requestCloseTabId) return;
|
|
3738
3755
|
closeTab(requestCloseTabId);
|
|
3739
3756
|
}, [requestCloseTabId]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../src/components/TabBar/TabBar.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../src/components/TabBar/TabBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAC;AAwBvE,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoTxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabButton.d.ts","sourceRoot":"","sources":["../../../../src/components/TabBar/TabButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAiBtD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"TabButton.d.ts","sourceRoot":"","sources":["../../../../src/components/TabBar/TabButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAiBtD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgL9C,CAAC"}
|
package/dist/src/types/tab.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export interface TabButtonProps {
|
|
|
43
43
|
onClick: () => void;
|
|
44
44
|
onClose: () => void;
|
|
45
45
|
keyboardHint?: string;
|
|
46
|
+
keyboardHintVisible?: boolean;
|
|
46
47
|
renderAccessory?: (tab: Tab) => ReactNode;
|
|
47
48
|
renderIcon?: (tab: Tab) => ReactNode;
|
|
48
49
|
renderLabel?: (tab: Tab) => ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../src/types/tab.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../../src/types/tab.ts"],"names":[],"mappings":"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"}
|