lit-shell.js 1.1.0 → 1.2.1

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +438 -9
  3. package/dist/client/browser-bundle.js +61 -1
  4. package/dist/client/browser-bundle.js.map +3 -3
  5. package/dist/client/index.d.ts +1 -0
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/index.js +1 -0
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/client/terminal-client.d.ts +19 -0
  10. package/dist/client/terminal-client.d.ts.map +1 -1
  11. package/dist/client/terminal-client.js +61 -0
  12. package/dist/client/terminal-client.js.map +1 -1
  13. package/dist/server/index.d.ts +1 -0
  14. package/dist/server/index.d.ts.map +1 -1
  15. package/dist/server/index.js +1 -0
  16. package/dist/server/index.js.map +1 -1
  17. package/dist/server/session-manager.d.ts +6 -0
  18. package/dist/server/session-manager.d.ts.map +1 -1
  19. package/dist/server/session-manager.js +12 -2
  20. package/dist/server/session-manager.js.map +1 -1
  21. package/dist/server/terminal-server.d.ts.map +1 -1
  22. package/dist/server/terminal-server.js +23 -4
  23. package/dist/server/terminal-server.js.map +1 -1
  24. package/dist/shared/types.d.ts +6 -0
  25. package/dist/shared/types.d.ts.map +1 -1
  26. package/dist/ui/browser-bundle.js +1625 -96
  27. package/dist/ui/browser-bundle.js.map +4 -4
  28. package/dist/ui/index.d.ts +1 -0
  29. package/dist/ui/index.d.ts.map +1 -1
  30. package/dist/ui/index.js +1 -0
  31. package/dist/ui/index.js.map +1 -1
  32. package/dist/ui/lit-shell-terminal.d.ts +225 -6
  33. package/dist/ui/lit-shell-terminal.d.ts.map +1 -1
  34. package/dist/ui/lit-shell-terminal.js +1605 -60
  35. package/dist/ui/lit-shell-terminal.js.map +1 -1
  36. package/dist/ui/styles.d.ts.map +1 -1
  37. package/dist/ui/styles.js +22 -0
  38. package/dist/ui/styles.js.map +1 -1
  39. package/dist/version.d.ts +6 -0
  40. package/dist/version.d.ts.map +1 -0
  41. package/dist/version.js +6 -0
  42. package/dist/version.js.map +1 -0
  43. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * lit-shell.js UI exports
3
3
  */
4
+ export { VERSION } from '../version.js';
4
5
  export { LitShellTerminal } from './lit-shell-terminal.js';
5
6
  export { sharedStyles, buttonStyles, themeStyles } from './styles.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
package/dist/ui/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * lit-shell.js UI exports
3
3
  */
4
+ export { VERSION } from '../version.js';
4
5
  export { LitShellTerminal } from './lit-shell-terminal.js';
5
6
  export { sharedStyles, buttonStyles, themeStyles } from './styles.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * lit-shell-terminal web component
3
3
  *
4
4
  * A ready-to-use terminal component that wraps xterm.js and
5
- * connects to a lit-shell server via WebSocket.
5
+ * connects to an lit-shell server via WebSocket.
6
6
  *
7
7
  * Usage:
8
8
  * ```html
@@ -15,8 +15,64 @@
15
15
  * ```
16
16
  */
17
17
  import { LitElement } from 'lit';
18
- import type { TerminalOptions } from '../shared/types.js';
18
+ import { TerminalClient } from '../client/terminal-client.js';
19
+ import type { TerminalOptions, SessionInfo, SharedSessionInfo } from '../shared/types.js';
20
+ interface ITerminalOptions {
21
+ theme?: {
22
+ background?: string;
23
+ foreground?: string;
24
+ cursor?: string;
25
+ cursorAccent?: string;
26
+ selection?: string;
27
+ selectionForeground?: string;
28
+ };
29
+ fontSize?: number;
30
+ fontFamily?: string;
31
+ cursorBlink?: boolean;
32
+ }
33
+ interface ITerminal {
34
+ open(parent: HTMLElement): void;
35
+ write(data: string): void;
36
+ writeln(data: string): void;
37
+ clear(): void;
38
+ focus(): void;
39
+ dispose(): void;
40
+ onData(handler: (data: string) => void): {
41
+ dispose(): void;
42
+ };
43
+ onResize(handler: (size: {
44
+ cols: number;
45
+ rows: number;
46
+ }) => void): {
47
+ dispose(): void;
48
+ };
49
+ loadAddon(addon: any): void;
50
+ cols: number;
51
+ rows: number;
52
+ options: ITerminalOptions;
53
+ }
54
+ interface IFitAddon {
55
+ fit(): void;
56
+ proposeDimensions(): {
57
+ cols: number;
58
+ rows: number;
59
+ } | undefined;
60
+ }
61
+ interface Tab {
62
+ id: string;
63
+ label: string;
64
+ client: TerminalClient | null;
65
+ terminal: ITerminal | null;
66
+ fitAddon: IFitAddon | null;
67
+ connected: boolean;
68
+ sessionActive: boolean;
69
+ sessionInfo: SessionInfo | null;
70
+ clientCount: number;
71
+ containerEl: HTMLElement | null;
72
+ }
19
73
  export declare class LitShellTerminal extends LitElement {
74
+ /** lit-shell.js version */
75
+ static readonly VERSION = "1.2.1";
20
76
  static styles: import("lit").CSSResult[];
21
77
  url: string;
22
78
  shell: string;
@@ -27,6 +83,14 @@ export declare class LitShellTerminal extends LitElement {
27
83
  noHeader: boolean;
28
84
  autoConnect: boolean;
29
85
  autoSpawn: boolean;
86
+ container: string;
87
+ containerShell: string;
88
+ containerUser: string;
89
+ containerCwd: string;
90
+ showConnectionPanel: boolean;
91
+ showSettings: boolean;
92
+ showStatusBar: boolean;
93
+ showTabs: boolean;
30
94
  fontSize: number;
31
95
  fontFamily: string;
32
96
  private client;
@@ -37,20 +101,48 @@ export declare class LitShellTerminal extends LitElement {
37
101
  private loading;
38
102
  private error;
39
103
  private sessionInfo;
104
+ private containers;
105
+ private serverInfo;
106
+ private selectedContainer;
107
+ private selectedShell;
108
+ private connectionMode;
109
+ private orphanTimeout;
110
+ private useTmux;
111
+ private availableSessions;
112
+ private selectedSessionId;
113
+ private clientCount;
114
+ private settingsMenuOpen;
115
+ private showReconnectDialog;
116
+ private reconnectSessionId;
117
+ private isMobile;
118
+ private showTouchKeyboard;
119
+ private showExtraKeyRows;
120
+ private statusMessage;
121
+ private statusType;
122
+ private tabs;
123
+ private activeTabId;
124
+ private tabCounter;
40
125
  private xtermModule;
41
126
  private fitAddonModule;
42
127
  private resizeObserver;
43
128
  connectedCallback(): void;
129
+ /**
130
+ * Detect if running on a mobile device
131
+ */
132
+ private detectMobile;
133
+ /**
134
+ * Update mobile attribute for CSS targeting
135
+ */
136
+ private updateMobileAttribute;
44
137
  disconnectedCallback(): void;
45
138
  /**
46
139
  * Load xterm.js dynamically
47
140
  */
48
141
  private loadXterm;
49
142
  /**
50
- * Load xterm.css into the shadow DOM
51
- * This is necessary because CSS loaded in the main document doesn't apply inside shadow DOM
143
+ * Inject xterm.js CSS into shadow DOM
52
144
  */
53
- private loadXtermStyles;
145
+ private injectXtermCSS;
54
146
  /**
55
147
  * Connect to the terminal server
56
148
  */
@@ -62,7 +154,7 @@ export declare class LitShellTerminal extends LitElement {
62
154
  /**
63
155
  * Spawn a terminal session
64
156
  */
65
- spawn(options?: TerminalOptions): Promise<void>;
157
+ spawn(options?: TerminalOptions): Promise<SessionInfo>;
66
158
  /**
67
159
  * Initialize xterm.js UI
68
160
  */
@@ -95,6 +187,132 @@ export declare class LitShellTerminal extends LitElement {
95
187
  * Cleanup resources
96
188
  */
97
189
  private cleanup;
190
+ /**
191
+ * Get the active tab
192
+ */
193
+ private getActiveTab;
194
+ /**
195
+ * Create a new tab
196
+ */
197
+ createTab(label?: string): Tab;
198
+ /**
199
+ * Switch to a tab
200
+ */
201
+ switchTab(tabId: string): void;
202
+ /**
203
+ * Close a tab
204
+ */
205
+ closeTab(tabId: string): void;
206
+ /**
207
+ * Update the active tab's state from component state
208
+ */
209
+ private syncStateToActiveTab;
210
+ /**
211
+ * Render the tab bar
212
+ */
213
+ private renderTabBar;
214
+ /**
215
+ * Set status message
216
+ */
217
+ private setStatus;
218
+ /**
219
+ * Clear status message
220
+ */
221
+ clearStatus(): void;
222
+ /**
223
+ * Handle theme change
224
+ */
225
+ private handleThemeChange;
226
+ /**
227
+ * Apply current theme to xterm.js terminal
228
+ */
229
+ private applyTerminalTheme;
230
+ /**
231
+ * Apply current font size to xterm.js terminal
232
+ */
233
+ private applyTerminalFontSize;
234
+ /**
235
+ * Handle connection mode change
236
+ */
237
+ private handleModeChange;
238
+ /**
239
+ * Refresh session list
240
+ */
241
+ private refreshSessions;
242
+ /**
243
+ * Join an existing session
244
+ */
245
+ join(sessionId: string, requestHistory?: boolean): Promise<SharedSessionInfo>;
246
+ /**
247
+ * Leave current session without killing it
248
+ */
249
+ leave(): void;
250
+ /**
251
+ * Handle connect from connection panel
252
+ */
253
+ private handlePanelConnect;
254
+ /**
255
+ * Toggle settings menu
256
+ */
257
+ private toggleSettingsMenu;
258
+ /**
259
+ * Handle reconnect dialog - Yes button
260
+ */
261
+ private handleReconnectYes;
262
+ /**
263
+ * Handle reconnect dialog - No button
264
+ */
265
+ private handleReconnectNo;
266
+ /**
267
+ * Render reconnect dialog
268
+ */
269
+ private renderReconnectDialog;
270
+ /**
271
+ * Render connection panel
272
+ */
273
+ private renderConnectionPanel;
274
+ /**
275
+ * Render settings dropdown
276
+ */
277
+ private renderSettingsDropdown;
278
+ private ctrlPressed;
279
+ private altPressed;
280
+ /**
281
+ * Send a special key sequence to the terminal
282
+ */
283
+ private sendKey;
284
+ /**
285
+ * Send ANSI escape sequence
286
+ */
287
+ private sendEscape;
288
+ /**
289
+ * Send control character directly
290
+ */
291
+ private sendCtrl;
292
+ /**
293
+ * Toggle Ctrl modifier
294
+ */
295
+ private toggleCtrl;
296
+ /**
297
+ * Toggle Alt modifier
298
+ */
299
+ private toggleAlt;
300
+ /**
301
+ * Toggle extra key rows visibility
302
+ */
303
+ private toggleExtraRows;
304
+ /**
305
+ * Toggle touch keyboard visibility
306
+ */
307
+ private toggleTouchKeyboard;
308
+ /**
309
+ * Render touch keyboard for mobile
310
+ */
311
+ private renderTouchKeyboard;
312
+ /**
313
+ * Render status bar
314
+ */
315
+ private renderStatusBar;
98
316
  render(): import("lit-html").TemplateResult<1>;
99
317
  }
100
318
  declare global {
@@ -102,4 +320,5 @@ declare global {
102
320
  'lit-shell-terminal': LitShellTerminal;
103
321
  }
104
322
  }
323
+ export {};
105
324
  //# sourceMappingURL=lit-shell-terminal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lit-shell-terminal.d.ts","sourceRoot":"","sources":["../../src/ui/lit-shell-terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,oBAAoB,CAAC;AAsBvE,qBACa,gBAAiB,SAAQ,UAAU;IAC9C,OAAgB,MAAM,4BAwGpB;IAG0B,GAAG,SAAM;IACT,KAAK,SAAM;IACX,GAAG,SAAM;IACT,IAAI,SAAM;IACV,IAAI,SAAM;IACK,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAU;IAChC,QAAQ,UAAS;IACd,WAAW,UAAS;IACtB,SAAS,UAAS;IAGpB,QAAQ,SAAM;IACZ,UAAU,SACpB;IAGnC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,WAAW,CAA4B;IAGxD,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAA+B;IAE5C,iBAAiB;IAQjB,oBAAoB;IAK7B;;OAEG;YACW,SAAS;IAyBvB;;;OAGG;YACW,eAAe;IAyB7B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuE9B;;OAEG;IACH,UAAU,IAAI,IAAI;IASlB;;OAEG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCrD;;OAEG;YACW,cAAc;IA4D5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM3B;;OAEG;IACM,KAAK,IAAI,IAAI;IAMtB;;OAEG;IACH,OAAO,CAAC,OAAO;IAmBN,MAAM;CA0ChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
1
+ {"version":3,"file":"lit-shell-terminal.d.ts","sourceRoot":"","sources":["../../src/ui/lit-shell-terminal.ts"],"names":[],"mappings":"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"}