@industry-theme/xterm-terminal-panel 0.10.5 → 0.10.6
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 +96 -25
- package/dist/src/hooks/useTerminalCwds.d.ts +3 -0
- package/dist/src/hooks/useTerminalCwds.d.ts.map +1 -0
- package/dist/src/panel-types/index.d.ts +4 -0
- package/dist/src/panel-types/index.d.ts.map +1 -1
- package/dist/src/panels/TabbedTerminalPanel.d.ts.map +1 -1
- package/dist/src/utils/terminalCwd.d.ts +11 -0
- package/dist/src/utils/terminalCwd.d.ts.map +1 -0
- package/package.json +1 -1
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.6",
|
|
191
191
|
description: "Industry-themed xterm.js terminal components with panel framework integration",
|
|
192
192
|
type: "module",
|
|
193
193
|
sideEffects: [
|
|
@@ -3080,9 +3080,9 @@ var useTabKeyboardShortcuts = ({
|
|
|
3080
3080
|
import { useTheme as useTheme9 } from "@principal-ade/industry-theme";
|
|
3081
3081
|
import { Terminal as TerminalIcon2, Box, Boxes } from "lucide-react";
|
|
3082
3082
|
import React3, {
|
|
3083
|
-
useState as
|
|
3083
|
+
useState as useState5,
|
|
3084
3084
|
useCallback as useCallback6,
|
|
3085
|
-
useEffect as
|
|
3085
|
+
useEffect as useEffect7,
|
|
3086
3086
|
useRef as useRef5
|
|
3087
3087
|
} from "react";
|
|
3088
3088
|
|
|
@@ -3220,6 +3220,68 @@ var TerminalStatusBar = ({
|
|
|
3220
3220
|
};
|
|
3221
3221
|
TerminalStatusBar.displayName = "TerminalStatusBar";
|
|
3222
3222
|
|
|
3223
|
+
// src/hooks/useTerminalCwds.ts
|
|
3224
|
+
import { useEffect as useEffect6, useState as useState4 } from "react";
|
|
3225
|
+
|
|
3226
|
+
// src/utils/terminalCwd.ts
|
|
3227
|
+
function observeTerminalCwds(actions, onUpdate) {
|
|
3228
|
+
if (!actions.onTerminalCwdChange) return () => {
|
|
3229
|
+
};
|
|
3230
|
+
let disposed = false;
|
|
3231
|
+
const liveSessions = /* @__PURE__ */ new Set();
|
|
3232
|
+
const unsubscribe = actions.onTerminalCwdChange((update) => {
|
|
3233
|
+
if (disposed || !update.cwd) return;
|
|
3234
|
+
liveSessions.add(update.sessionId);
|
|
3235
|
+
onUpdate(update);
|
|
3236
|
+
});
|
|
3237
|
+
const hydrate = async () => {
|
|
3238
|
+
try {
|
|
3239
|
+
const sessions = await actions.listTerminalSessions();
|
|
3240
|
+
if (disposed) return;
|
|
3241
|
+
for (const session of sessions) {
|
|
3242
|
+
if (session.cwd && !liveSessions.has(session.id)) {
|
|
3243
|
+
onUpdate({ sessionId: session.id, cwd: session.cwd });
|
|
3244
|
+
}
|
|
3245
|
+
}
|
|
3246
|
+
} catch {
|
|
3247
|
+
}
|
|
3248
|
+
};
|
|
3249
|
+
void hydrate();
|
|
3250
|
+
return () => {
|
|
3251
|
+
disposed = true;
|
|
3252
|
+
unsubscribe();
|
|
3253
|
+
};
|
|
3254
|
+
}
|
|
3255
|
+
function withTerminalCwd(tab, sessionId, cwds) {
|
|
3256
|
+
if (tab.contentType !== "terminal" || !sessionId) return tab;
|
|
3257
|
+
const cwd = cwds.get(sessionId);
|
|
3258
|
+
if (!cwd || "directory" in tab && tab.directory === cwd) return tab;
|
|
3259
|
+
return { ...tab, directory: cwd };
|
|
3260
|
+
}
|
|
3261
|
+
|
|
3262
|
+
// src/hooks/useTerminalCwds.ts
|
|
3263
|
+
function useTerminalCwds(actions, sessionIds) {
|
|
3264
|
+
const [cwds, setCwds] = useState4(/* @__PURE__ */ new Map());
|
|
3265
|
+
const { onTerminalCwdChange, listTerminalSessions } = actions;
|
|
3266
|
+
useEffect6(() => {
|
|
3267
|
+
const knownSessions = new Set(sessionIds.values());
|
|
3268
|
+
setCwds((previous) => {
|
|
3269
|
+
const next = new Map([...previous].filter(([id]) => knownSessions.has(id)));
|
|
3270
|
+
return next.size === previous.size ? previous : next;
|
|
3271
|
+
});
|
|
3272
|
+
return observeTerminalCwds({ onTerminalCwdChange, listTerminalSessions }, (update) => {
|
|
3273
|
+
if (!knownSessions.has(update.sessionId)) return;
|
|
3274
|
+
setCwds((previous) => {
|
|
3275
|
+
if (previous.get(update.sessionId) === update.cwd) return previous;
|
|
3276
|
+
const next = new Map(previous);
|
|
3277
|
+
next.set(update.sessionId, update.cwd);
|
|
3278
|
+
return next;
|
|
3279
|
+
});
|
|
3280
|
+
});
|
|
3281
|
+
}, [onTerminalCwdChange, listTerminalSessions, sessionIds]);
|
|
3282
|
+
return cwds;
|
|
3283
|
+
}
|
|
3284
|
+
|
|
3223
3285
|
// src/panels/TabbedTerminalPanel.tsx
|
|
3224
3286
|
import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
3225
3287
|
var ActivityIndicator = ({ color, isAnimating }) => /* @__PURE__ */ jsxs10("div", { style: { display: "flex", gap: 1, alignItems: "center", height: 12 }, children: [
|
|
@@ -3263,7 +3325,7 @@ function TerminalTabContentInner(props, ref) {
|
|
|
3263
3325
|
autoShowBlinds = false,
|
|
3264
3326
|
onActivityStateChange
|
|
3265
3327
|
} = props;
|
|
3266
|
-
const [isWorkingFromActivity, setIsWorkingFromActivity] =
|
|
3328
|
+
const [isWorkingFromActivity, setIsWorkingFromActivity] = useState5(false);
|
|
3267
3329
|
const sessionRef = useRef5(null);
|
|
3268
3330
|
const handleSessionCreated = useCallback6(
|
|
3269
3331
|
(sid) => onSessionCreated(tab.id, sid),
|
|
@@ -3390,9 +3452,9 @@ var TabbedTerminalPanelInner = ({
|
|
|
3390
3452
|
renderer
|
|
3391
3453
|
}) => {
|
|
3392
3454
|
const { theme } = useTheme9();
|
|
3393
|
-
const [ownedTabs, setOwnedTabs] =
|
|
3394
|
-
const [foreignTabs, setForeignTabs] =
|
|
3395
|
-
const [internalActiveTabId, setInternalActiveTabId] =
|
|
3455
|
+
const [ownedTabs, setOwnedTabs] = useState5(initialTabs);
|
|
3456
|
+
const [foreignTabs, setForeignTabs] = useState5([]);
|
|
3457
|
+
const [internalActiveTabId, setInternalActiveTabId] = useState5(null);
|
|
3396
3458
|
const isControlled = activeTabIdProp !== void 0;
|
|
3397
3459
|
const activeTabId = isControlled ? activeTabIdProp : internalActiveTabId;
|
|
3398
3460
|
const setActiveTabId = React3.useCallback((tabId) => {
|
|
@@ -3403,7 +3465,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3403
3465
|
onActiveTabChange?.(tabId);
|
|
3404
3466
|
}
|
|
3405
3467
|
}, [isControlled, onActiveTabChange]);
|
|
3406
|
-
const [activatedTabs, setActivatedTabs] =
|
|
3468
|
+
const [activatedTabs, setActivatedTabs] = useState5(() => /* @__PURE__ */ new Set());
|
|
3407
3469
|
React3.useEffect(() => {
|
|
3408
3470
|
if (activeTabId && !activatedTabs.has(activeTabId)) {
|
|
3409
3471
|
setActivatedTabs((prev) => new Set(prev).add(activeTabId));
|
|
@@ -3416,13 +3478,14 @@ var TabbedTerminalPanelInner = ({
|
|
|
3416
3478
|
order.push(activeTabId);
|
|
3417
3479
|
activationOrderRef.current = order;
|
|
3418
3480
|
}, [activeTabId]);
|
|
3419
|
-
const [sessionIds, setSessionIds] =
|
|
3420
|
-
const
|
|
3481
|
+
const [sessionIds, setSessionIds] = useState5(/* @__PURE__ */ new Map());
|
|
3482
|
+
const terminalCwds = useTerminalCwds(actions, sessionIds);
|
|
3483
|
+
const [activityStates, setActivityStates] = useState5(/* @__PURE__ */ new Map());
|
|
3421
3484
|
const customTabsKey = React3.useMemo(() => {
|
|
3422
3485
|
const customTabs = initialTabs.filter((tab) => tab.contentType !== "terminal");
|
|
3423
3486
|
return JSON.stringify(customTabs);
|
|
3424
3487
|
}, [initialTabs]);
|
|
3425
|
-
|
|
3488
|
+
useEffect7(() => {
|
|
3426
3489
|
const customTabsFromProp = initialTabs.filter((tab) => tab.contentType !== "terminal");
|
|
3427
3490
|
setOwnedTabs((prevTabs) => {
|
|
3428
3491
|
const prevCustomTabs = prevTabs.filter((tab) => tab.contentType !== "terminal");
|
|
@@ -3443,7 +3506,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3443
3506
|
return [...kept, ...added];
|
|
3444
3507
|
});
|
|
3445
3508
|
}, [customTabsKey]);
|
|
3446
|
-
|
|
3509
|
+
useEffect7(() => {
|
|
3447
3510
|
if (!requestFocusTabId) {
|
|
3448
3511
|
return;
|
|
3449
3512
|
}
|
|
@@ -3458,23 +3521,31 @@ var TabbedTerminalPanelInner = ({
|
|
|
3458
3521
|
onFocusTabHandled?.();
|
|
3459
3522
|
}
|
|
3460
3523
|
}, [requestFocusTabId, ownedTabs, foreignTabs, setActiveTabId, onFocusTabHandled, activeTabId]);
|
|
3461
|
-
const getOwnedTabLabel = useCallback6((index,
|
|
3524
|
+
const getOwnedTabLabel = useCallback6((index, directory2) => {
|
|
3462
3525
|
if (tabLabelPrefix) {
|
|
3463
3526
|
return `${tabLabelPrefix} ${index + 1}`;
|
|
3464
3527
|
}
|
|
3465
|
-
return
|
|
3528
|
+
return directory2.split(/[\\/]/).filter(Boolean).pop() || directory2;
|
|
3466
3529
|
}, [tabLabelPrefix]);
|
|
3467
3530
|
const tabs = React3.useMemo(() => {
|
|
3468
|
-
const labeledOwnedTabs = ownedTabs.map((
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3531
|
+
const labeledOwnedTabs = ownedTabs.map((originalTab, index) => {
|
|
3532
|
+
const tab = withTerminalCwd(originalTab, sessionIds.get(originalTab.id), terminalCwds);
|
|
3533
|
+
return {
|
|
3534
|
+
...tab,
|
|
3535
|
+
// Only overwrite label for terminal tabs, preserve original label for custom tabs
|
|
3536
|
+
label: tab.contentType === "terminal" ? getOwnedTabLabel(index, tab.directory) : tab.label
|
|
3537
|
+
};
|
|
3538
|
+
});
|
|
3539
|
+
const sortedForeignTabs = foreignTabs.map((originalTab) => {
|
|
3540
|
+
const tab = withTerminalCwd(originalTab, sessionIds.get(originalTab.id), terminalCwds);
|
|
3541
|
+
if (tab === originalTab || tab.contentType !== "terminal") return tab;
|
|
3542
|
+
const cwd = tab.directory;
|
|
3543
|
+
return { ...tab, label: cwd.split(/[\\/]/).filter(Boolean).pop() || cwd };
|
|
3544
|
+
}).sort(
|
|
3474
3545
|
(a, b) => a.label.localeCompare(b.label)
|
|
3475
3546
|
);
|
|
3476
3547
|
return [...labeledOwnedTabs, ...sortedForeignTabs];
|
|
3477
|
-
}, [ownedTabs, foreignTabs, getOwnedTabLabel]);
|
|
3548
|
+
}, [ownedTabs, foreignTabs, getOwnedTabLabel, sessionIds, terminalCwds]);
|
|
3478
3549
|
const genericTabs = React3.useMemo(() => {
|
|
3479
3550
|
return tabs.map((tab) => ({
|
|
3480
3551
|
id: tab.id,
|
|
@@ -3601,12 +3672,12 @@ var TabbedTerminalPanelInner = ({
|
|
|
3601
3672
|
return [];
|
|
3602
3673
|
});
|
|
3603
3674
|
}, []);
|
|
3604
|
-
|
|
3675
|
+
useEffect7(() => {
|
|
3605
3676
|
if (hasInitializedRef.current) return;
|
|
3606
3677
|
hasInitializedRef.current = true;
|
|
3607
3678
|
restoreOwnedSessions();
|
|
3608
3679
|
}, []);
|
|
3609
|
-
|
|
3680
|
+
useEffect7(() => {
|
|
3610
3681
|
const handleSessionCreated2 = (event) => {
|
|
3611
3682
|
const customEvent = event;
|
|
3612
3683
|
const { context: context2 } = customEvent.detail || {};
|
|
@@ -3620,7 +3691,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3620
3691
|
window.removeEventListener("terminal-session-created", handleSessionCreated2);
|
|
3621
3692
|
};
|
|
3622
3693
|
}, [terminalContext, restoreOwnedSessions]);
|
|
3623
|
-
|
|
3694
|
+
useEffect7(() => {
|
|
3624
3695
|
if (showAllTerminals) {
|
|
3625
3696
|
fetchForeignSessions();
|
|
3626
3697
|
} else {
|
|
@@ -3753,7 +3824,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3753
3824
|
},
|
|
3754
3825
|
[activeTabId, sessionIds, actions, onTabsChange, isForeignTab, ownedTabs, foreignTabs]
|
|
3755
3826
|
);
|
|
3756
|
-
|
|
3827
|
+
useEffect7(() => {
|
|
3757
3828
|
if (!requestCloseTabId) return;
|
|
3758
3829
|
closeTab(requestCloseTabId);
|
|
3759
3830
|
}, [requestCloseTabId]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTerminalCwds.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTerminalCwds.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAI3D,wBAAgB,eAAe,CAC7B,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAuB7B"}
|
|
@@ -83,6 +83,10 @@ export interface TerminalPanelActions extends CorePanelActions {
|
|
|
83
83
|
reason?: string;
|
|
84
84
|
}>;
|
|
85
85
|
onTerminalData: (sessionId: string, callback: (data: string) => void) => () => void;
|
|
86
|
+
onTerminalCwdChange?: (callback: (data: {
|
|
87
|
+
sessionId: string;
|
|
88
|
+
cwd: string;
|
|
89
|
+
}) => void) => () => void;
|
|
86
90
|
listTerminalSessions: () => Promise<TerminalSessionInfo[]>;
|
|
87
91
|
getTerminalBuffer?: (sessionId: string) => Promise<string | null>;
|
|
88
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panel-types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panel-types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabbedTerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TabbedTerminalPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAKN,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TabbedTerminalPanel.d.ts","sourceRoot":"","sources":["../../../src/panels/TabbedTerminalPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAKN,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EACV,wBAAwB,EACxB,WAAW,EAEZ,MAAM,gBAAgB,CAAC;AAoExB,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAoqCD,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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TerminalPanelActions } from '../panel-types';
|
|
2
|
+
import type { BaseTab } from '../types/tab';
|
|
3
|
+
type CwdActions = Pick<TerminalPanelActions, 'onTerminalCwdChange' | 'listTerminalSessions'>;
|
|
4
|
+
type CwdUpdate = {
|
|
5
|
+
sessionId: string;
|
|
6
|
+
cwd: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function observeTerminalCwds(actions: CwdActions, onUpdate: (update: CwdUpdate) => void): () => void;
|
|
9
|
+
export declare function withTerminalCwd<TTab extends BaseTab>(tab: TTab, sessionId: string | undefined, cwds: ReadonlyMap<string, string>): TTab;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=terminalCwd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminalCwd.d.ts","sourceRoot":"","sources":["../../../src/utils/terminalCwd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,KAAK,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,GAAG,sBAAsB,CAAC,CAAC;AAC7F,KAAK,SAAS,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAGpD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,GACpC,MAAM,IAAI,CAgCZ;AAGD,wBAAgB,eAAe,CAAC,IAAI,SAAS,OAAO,EAClD,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,IAAI,CAKN"}
|