@industry-theme/xterm-terminal-panel 0.10.4 → 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 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.4",
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 useState4,
3083
+ useState as useState5,
3084
3084
  useCallback as useCallback6,
3085
- useEffect as useEffect6,
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] = useState4(false);
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] = useState4(initialTabs);
3394
- const [foreignTabs, setForeignTabs] = useState4([]);
3395
- const [internalActiveTabId, setInternalActiveTabId] = useState4(null);
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] = useState4(() => /* @__PURE__ */ new Set());
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] = useState4(/* @__PURE__ */ new Map());
3420
- const [activityStates, setActivityStates] = useState4(/* @__PURE__ */ new Map());
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
- useEffect6(() => {
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
- useEffect6(() => {
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, _directory) => {
3524
+ const getOwnedTabLabel = useCallback6((index, directory2) => {
3462
3525
  if (tabLabelPrefix) {
3463
3526
  return `${tabLabelPrefix} ${index + 1}`;
3464
3527
  }
3465
- return `\u2318 ${index + 1}`;
3528
+ return directory2.split(/[\\/]/).filter(Boolean).pop() || directory2;
3466
3529
  }, [tabLabelPrefix]);
3467
3530
  const tabs = React3.useMemo(() => {
3468
- const labeledOwnedTabs = ownedTabs.map((tab, index) => ({
3469
- ...tab,
3470
- // Only overwrite label for terminal tabs, preserve original label for custom tabs
3471
- label: tab.contentType === "terminal" ? getOwnedTabLabel(index, tab.directory) : tab.label
3472
- }));
3473
- const sortedForeignTabs = [...foreignTabs].sort(
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
- useEffect6(() => {
3675
+ useEffect7(() => {
3605
3676
  if (hasInitializedRef.current) return;
3606
3677
  hasInitializedRef.current = true;
3607
3678
  restoreOwnedSessions();
3608
3679
  }, []);
3609
- useEffect6(() => {
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
- useEffect6(() => {
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
- useEffect6(() => {
3827
+ useEffect7(() => {
3757
3828
  if (!requestCloseTabId) return;
3758
3829
  closeTab(requestCloseTabId);
3759
3830
  }, [requestCloseTabId]);
@@ -3877,7 +3948,7 @@ var TabbedTerminalPanelInner = ({
3877
3948
  backgroundColor: theme.colors.background
3878
3949
  },
3879
3950
  children: [
3880
- !hideHeader && /* @__PURE__ */ jsx14("div", { ref: headerRef, children: /* @__PURE__ */ jsx14(
3951
+ !hideHeader && (tabs.length > 0 || showNewTabButton) && /* @__PURE__ */ jsx14("div", { ref: headerRef, children: /* @__PURE__ */ jsx14(
3881
3952
  TabBar,
3882
3953
  {
3883
3954
  tabs: genericTabs,
@@ -0,0 +1,3 @@
1
+ import type { TerminalPanelActions } from '../panel-types';
2
+ export declare function useTerminalCwds(actions: TerminalPanelActions, sessionIds: ReadonlyMap<string, string>): ReadonlyMap<string, string>;
3
+ //# sourceMappingURL=useTerminalCwds.d.ts.map
@@ -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":"AAQA,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EACV,YAAY,IAAI,gBAAgB,EAChC,mBAAmB,IAAI,uBAAuB,EAC9C,iBAAiB,EACjB,SAAS,EACV,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GAClB,CAAC;AAKF,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,uBAAuB,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,2BAA2B,CAAC;AAKhC,MAAM,WAAW,sBAAsB;IAErC,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAElB,QAAQ,EAAE,OAAO,CAAC;IAElB,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAKD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAKnD,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAAC;AAOzD,MAAM,WAAW,4BAA4B;IAE3C,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,EAAE,oBAAoB,CAAC;IAEnC,SAAS,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,4BAA4B;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAKD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAKD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC;CAC5C;AAOD,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAE5D,qBAAqB,EAAE,CACrB,OAAO,CAAC,EAAE,4BAA4B,KACnC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7D,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAUzF,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,mBAAmB,EAAE,EAC5B,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAGvB,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAU3C,mBAAmB,EAAE,CACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,KACvD,MAAM,IAAI,CAAC;IAGhB,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACxE,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACzF,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAO1E,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,KACtE,MAAM,IAAI,CAAC;IAGhB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAOzD,uBAAuB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAS/F,cAAc,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAC7B,MAAM,IAAI,CAAC;IAGhB,oBAAoB,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAO3D,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACnE;AAOD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,GAC/C,mBAAmB,EAAE,CAEvB;AAKD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,EAChD,SAAS,EAAE,MAAM,GAChB,mBAAmB,GAAG,SAAS,CAGjC;AAMD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAE3F;AAOD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;AAMvD,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAO7G,aAAa,CAAC,EAAE,aAAa,CAAC;IAS9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAS5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAKD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAE3E;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAE1E;AAKD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,iBAAiB,EAC1B,aAAa,GAAE,aAA4B,GAC1C,MAAM,GAAG,IAAI,CASf;AAMD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,GAC/C,SAAS,CAAC,mBAAmB,EAAE,CAAC,GAAG,SAAS,CAE9C;AAED,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C,MAAM,WAAW,oBAAoB;IAEnC,SAAS,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAGlB;AA0BD,MAAM,WAAW,wBAAwB,CAAC,IAAI,SAAS,OAAO,GAAG,WAAW,CAAE,SAAQ,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC;IAM7H,eAAe,EAAE,MAAM,CAAC;IAKxB,SAAS,EAAE,MAAM,CAAC;IAOlB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAW1B,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAC;IAMlE,UAAU,CAAC,EAAE,OAAO,CAAC;IAMrB,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAKtC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAQrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAO5B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAuBnD,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAOlC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAM/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAK3B,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAOtD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAMrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAQ3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAS3B,cAAc,CAAC,EAAE,MAAM,CAAC;IAwBxB,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IAkBhH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IAO/C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMlC,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAiBnC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IAiBhD,gBAAgB,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAMzC,KAAK,CAAC,EAAE,MAAM,CAAC;IAgBf,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAwBrD,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAUpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAO5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAOzB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
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;AAQf,OAAO,KAAK,EACV,wBAAwB,EACxB,WAAW,EAEZ,MAAM,gBAAgB,CAAC;AAmExB,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AA4pCD,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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@industry-theme/xterm-terminal-panel",
3
- "version": "0.10.4",
3
+ "version": "0.10.6",
4
4
  "description": "Industry-themed xterm.js terminal components with panel framework integration",
5
5
  "type": "module",
6
6
  "sideEffects": [