@industry-theme/xterm-terminal-panel 0.5.35 → 0.6.0
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.css +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +678 -177
- package/dist/src/components/TerminalOverlay.d.ts +8 -0
- package/dist/src/components/TerminalOverlay.d.ts.map +1 -0
- package/dist/src/components/TerminalSession.d.ts +43 -0
- package/dist/src/components/TerminalSession.d.ts.map +1 -0
- package/dist/src/renderer/TerminalRenderer.d.ts +34 -0
- package/dist/src/renderer/TerminalRenderer.d.ts.map +1 -0
- package/dist/src/renderer/XtermRenderer.d.ts +14 -0
- package/dist/src/renderer/XtermRenderer.d.ts.map +1 -0
- package/dist/styles.css +5 -0
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Theme } from '@principal-ade/industry-theme';
|
|
2
|
+
import type { TerminalOverlayState } from '../types/terminal.types';
|
|
3
|
+
export interface TerminalOverlayProps {
|
|
4
|
+
state: TerminalOverlayState;
|
|
5
|
+
theme: Theme;
|
|
6
|
+
}
|
|
7
|
+
export declare const TerminalOverlay: React.FC<TerminalOverlayProps>;
|
|
8
|
+
//# sourceMappingURL=TerminalOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/TerminalOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;CACd;AAQD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAgG1D,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { PanelEventEmitter } from '@principal-ade/panel-framework-core';
|
|
2
|
+
import type { TerminalActivityChangedEvent, TerminalPanelActions } from '../panel-types';
|
|
3
|
+
import type { TerminalRendererComponent } from '../renderer/TerminalRenderer';
|
|
4
|
+
import type { LinkClickModifiers, TerminalActivityState, TerminalOverlayState, TerminalScrollPosition, TerminalShortcutEvent } from '../types/terminal.types';
|
|
5
|
+
export interface TerminalSessionProps {
|
|
6
|
+
actions: TerminalPanelActions;
|
|
7
|
+
renderer?: TerminalRendererComponent;
|
|
8
|
+
transparent?: boolean;
|
|
9
|
+
backgroundColor?: string;
|
|
10
|
+
defaultScrollLocked?: boolean;
|
|
11
|
+
autoFocus?: boolean;
|
|
12
|
+
isVisible?: boolean;
|
|
13
|
+
scrollback?: number;
|
|
14
|
+
sessionId?: string | null;
|
|
15
|
+
onSessionCreated?: (sessionId: string) => void;
|
|
16
|
+
cwd?: string;
|
|
17
|
+
command?: string;
|
|
18
|
+
sessionContext?: string;
|
|
19
|
+
persistOnUnmount?: boolean;
|
|
20
|
+
enableOwnership?: boolean;
|
|
21
|
+
isForeign?: boolean;
|
|
22
|
+
events?: PanelEventEmitter;
|
|
23
|
+
activityDetection?: boolean;
|
|
24
|
+
activityTimeout?: number;
|
|
25
|
+
onActivityChange?: (state: TerminalActivityState) => void;
|
|
26
|
+
onScrollPositionChange?: (position: TerminalScrollPosition) => void;
|
|
27
|
+
onLinkClick?: (url: string, modifiers: LinkClickModifiers) => void;
|
|
28
|
+
onShortcut?: (event: TerminalShortcutEvent) => void;
|
|
29
|
+
overlayState?: TerminalOverlayState;
|
|
30
|
+
isWorking?: boolean;
|
|
31
|
+
workingMessage?: string;
|
|
32
|
+
workingSubtitle?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface TerminalSessionHandle {
|
|
35
|
+
scrollToBottom: () => void;
|
|
36
|
+
toggleScrollLock: () => void;
|
|
37
|
+
focus: () => void;
|
|
38
|
+
clear: () => void;
|
|
39
|
+
getSessionId: () => string | null;
|
|
40
|
+
}
|
|
41
|
+
export declare const TerminalSession: import("react").ForwardRefExoticComponent<TerminalSessionProps & import("react").RefAttributes<TerminalSessionHandle>>;
|
|
42
|
+
export type { TerminalActivityChangedEvent };
|
|
43
|
+
//# sourceMappingURL=TerminalSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalSession.d.ts","sourceRoot":"","sources":["../../../src/components/TerminalSession.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAU7E,OAAO,KAAK,EACV,4BAA4B,EAE5B,oBAAoB,EAErB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,yBAAyB,EAE1B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAKjC,MAAM,WAAW,oBAAoB;IAGnC,OAAO,EAAE,oBAAoB,CAAC;IAI9B,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC;IAMxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAI3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAQ3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAG1D,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACnE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAIpD,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAEpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACnC;AAqBD,eAAO,MAAM,eAAe,wHAyc3B,CAAC;AAMF,YAAY,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import type { LinkClickModifiers, TerminalScrollPosition, TerminalShortcutEvent } from '../types/terminal.types';
|
|
3
|
+
export interface TerminalRendererProps {
|
|
4
|
+
onData?: (data: string) => void;
|
|
5
|
+
onResize?: (cols: number, rows: number) => void;
|
|
6
|
+
onReady?: (cols: number, rows: number) => void;
|
|
7
|
+
onLinkClick?: (url: string, modifiers: LinkClickModifiers) => void;
|
|
8
|
+
onScrollPositionChange?: (position: TerminalScrollPosition) => void;
|
|
9
|
+
onShortcut?: (event: TerminalShortcutEvent) => void;
|
|
10
|
+
isVisible?: boolean;
|
|
11
|
+
autoFocus?: boolean;
|
|
12
|
+
defaultScrollLocked?: boolean;
|
|
13
|
+
scrollback?: number;
|
|
14
|
+
transparent?: boolean;
|
|
15
|
+
backgroundColor?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface TerminalRendererHandle {
|
|
18
|
+
write: (data: string | Uint8Array) => void;
|
|
19
|
+
clear: () => void;
|
|
20
|
+
focus: () => void;
|
|
21
|
+
blur: () => void;
|
|
22
|
+
fit: () => void;
|
|
23
|
+
resize: (cols: number, rows: number) => void;
|
|
24
|
+
scrollToBottom: () => void;
|
|
25
|
+
scrollLines: (delta: number) => void;
|
|
26
|
+
getDimensions: () => {
|
|
27
|
+
cols: number;
|
|
28
|
+
rows: number;
|
|
29
|
+
} | null;
|
|
30
|
+
getScrollPosition: () => TerminalScrollPosition;
|
|
31
|
+
isScrollLocked: () => boolean;
|
|
32
|
+
}
|
|
33
|
+
export type TerminalRendererComponent = React.ForwardRefExoticComponent<TerminalRendererProps & React.RefAttributes<TerminalRendererHandle>>;
|
|
34
|
+
//# sourceMappingURL=TerminalRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalRenderer.d.ts","sourceRoot":"","sources":["../../../src/renderer/TerminalRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AASjC,MAAM,WAAW,qBAAqB;IAEpC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAEnE,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAEpE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAGpD,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC;IAC3C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,GAAG,EAAE,MAAM,IAAI,CAAC;IAEhB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC,aAAa,EAAE,MAAM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3D,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;IAChD,cAAc,EAAE,MAAM,OAAO,CAAC;CAC/B;AAMD,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,yBAAyB,CACrE,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,CACpE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TerminalRendererHandle, TerminalRendererProps } from './TerminalRenderer';
|
|
2
|
+
export interface XtermRendererProps extends TerminalRendererProps {
|
|
3
|
+
cursorBlink?: boolean;
|
|
4
|
+
cursorStyle?: 'block' | 'underline' | 'bar';
|
|
5
|
+
convertEol?: boolean;
|
|
6
|
+
fontFamily?: string;
|
|
7
|
+
fontSize?: number;
|
|
8
|
+
scrollbarStyle?: 'overlay' | 'thin' | 'hidden' | 'auto-hide';
|
|
9
|
+
scrollbarFlush?: boolean;
|
|
10
|
+
enableSearch?: boolean;
|
|
11
|
+
enableWebLinks?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const XtermRenderer: import("react").ForwardRefExoticComponent<XtermRendererProps & import("react").RefAttributes<TerminalRendererHandle>>;
|
|
14
|
+
//# sourceMappingURL=XtermRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XtermRenderer.d.ts","sourceRoot":"","sources":["../../../src/renderer/XtermRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAQ5B,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,KAAK,CAAC;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAcD,eAAO,MAAM,aAAa,uHA6CzB,CAAC"}
|
package/dist/styles.css
CHANGED
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
/* Remove default xterm padding */
|
|
14
14
|
.terminal-container-fix .xterm {
|
|
15
|
+
/* border-box so the 10px top/left padding fits inside the 100% height
|
|
16
|
+
instead of pushing the element 10px taller than its parent — without
|
|
17
|
+
this the last row gets clipped by the parent's overflow:hidden, and
|
|
18
|
+
the user can't scroll all the way to the bottom. */
|
|
19
|
+
box-sizing: border-box;
|
|
15
20
|
padding: 10px 0 0 10px;
|
|
16
21
|
margin: 0;
|
|
17
22
|
height: 100%;
|
package/package.json
CHANGED