@industry-theme/xterm-terminal-panel 0.7.2 → 0.8.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.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +239 -106
- package/dist/src/components/SelectionDragChip.d.ts +14 -0
- package/dist/src/components/SelectionDragChip.d.ts.map +1 -0
- package/dist/src/components/ThemedTerminal.d.ts.map +1 -1
- package/dist/src/renderer/XtermRenderer.d.ts +4 -0
- package/dist/src/renderer/XtermRenderer.d.ts.map +1 -1
- package/dist/src/types/terminal.types.d.ts +4 -0
- package/dist/src/types/terminal.types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export { ThemedTerminal } from './src/components/ThemedTerminal';
|
|
|
2
2
|
export { ThemedTerminalWithProvider } from './src/components/ThemedTerminalWithProvider';
|
|
3
3
|
export { WorkingOverlay } from './src/components/WorkingOverlay';
|
|
4
4
|
export type { WorkingOverlayProps } from './src/components/WorkingOverlay';
|
|
5
|
+
export { SelectionDragChip } from './src/components/SelectionDragChip';
|
|
6
|
+
export type { SelectionDragChipProps } from './src/components/SelectionDragChip';
|
|
5
7
|
export { XtermRenderer } from './src/renderer/XtermRenderer';
|
|
6
8
|
export type { XtermRendererProps } from './src/renderer/XtermRenderer';
|
|
7
9
|
export type { TerminalRendererProps, TerminalRendererHandle, TerminalRendererComponent, } from './src/renderer/TerminalRenderer';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/components/ThemedTerminal.tsx
|
|
2
2
|
import {
|
|
3
|
-
DATA_TYPES,
|
|
3
|
+
DATA_TYPES as DATA_TYPES2,
|
|
4
4
|
sanitizePath,
|
|
5
5
|
useDropZone
|
|
6
6
|
} from "@principal-ade/panel-framework-core";
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
// package.json
|
|
36
36
|
var package_default = {
|
|
37
37
|
name: "@industry-theme/xterm-terminal-panel",
|
|
38
|
-
version: "0.
|
|
38
|
+
version: "0.8.0",
|
|
39
39
|
description: "Industry-themed xterm.js terminal components with panel framework integration",
|
|
40
40
|
type: "module",
|
|
41
41
|
main: "dist/index.js",
|
|
@@ -233,8 +233,88 @@ function getTerminalCSSVariables(theme) {
|
|
|
233
233
|
};
|
|
234
234
|
}
|
|
235
235
|
|
|
236
|
-
// src/components/
|
|
236
|
+
// src/components/SelectionDragChip.tsx
|
|
237
|
+
import {
|
|
238
|
+
createDragPreview,
|
|
239
|
+
DATA_TYPES,
|
|
240
|
+
DRAG_ACTIONS,
|
|
241
|
+
PANEL_TYPES,
|
|
242
|
+
useDraggable
|
|
243
|
+
} from "@principal-ade/panel-framework-core";
|
|
244
|
+
import { GripVertical } from "lucide-react";
|
|
237
245
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
246
|
+
function SelectionDragChip({
|
|
247
|
+
text,
|
|
248
|
+
x,
|
|
249
|
+
y,
|
|
250
|
+
theme,
|
|
251
|
+
label = "Drag to notes",
|
|
252
|
+
sourcePanel = PANEL_TYPES.TERMINAL,
|
|
253
|
+
metadata,
|
|
254
|
+
onDragStart,
|
|
255
|
+
onDragEnd
|
|
256
|
+
}) {
|
|
257
|
+
const snippet = text.length > 80 ? `${text.slice(0, 77)}…` : text;
|
|
258
|
+
const { isDragging, ...dragProps } = useDraggable({
|
|
259
|
+
dataType: DATA_TYPES.TEXT_SELECTION,
|
|
260
|
+
primaryData: text,
|
|
261
|
+
sourcePanel,
|
|
262
|
+
suggestedActions: [DRAG_ACTIONS.INSERT_CONTENT, DRAG_ACTIONS.REFERENCE],
|
|
263
|
+
metadata: { snippet, ...metadata },
|
|
264
|
+
dragPreview: createDragPreview(snippet, {
|
|
265
|
+
backgroundColor: theme.colors.primary,
|
|
266
|
+
color: "#ffffff"
|
|
267
|
+
})
|
|
268
|
+
});
|
|
269
|
+
const style = {
|
|
270
|
+
position: "absolute",
|
|
271
|
+
left: x,
|
|
272
|
+
top: y,
|
|
273
|
+
zIndex: 1001,
|
|
274
|
+
display: "flex",
|
|
275
|
+
alignItems: "center",
|
|
276
|
+
gap: "4px",
|
|
277
|
+
padding: "3px 8px 3px 4px",
|
|
278
|
+
borderRadius: "6px",
|
|
279
|
+
border: `1px solid ${theme.colors.border}`,
|
|
280
|
+
backgroundColor: theme.colors.backgroundSecondary,
|
|
281
|
+
color: theme.colors.text,
|
|
282
|
+
fontSize: "11px",
|
|
283
|
+
fontWeight: 500,
|
|
284
|
+
lineHeight: 1,
|
|
285
|
+
cursor: "grab",
|
|
286
|
+
userSelect: "none",
|
|
287
|
+
boxShadow: "0 2px 8px rgba(0, 0, 0, 0.35)",
|
|
288
|
+
opacity: isDragging ? 0.5 : 1,
|
|
289
|
+
transition: "opacity 0.12s ease",
|
|
290
|
+
whiteSpace: "nowrap"
|
|
291
|
+
};
|
|
292
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
293
|
+
...dragProps,
|
|
294
|
+
onDragStart: (e) => {
|
|
295
|
+
dragProps.onDragStart(e);
|
|
296
|
+
onDragStart?.();
|
|
297
|
+
},
|
|
298
|
+
onDragEnd: (e) => {
|
|
299
|
+
dragProps.onDragEnd(e);
|
|
300
|
+
onDragEnd?.();
|
|
301
|
+
},
|
|
302
|
+
onMouseDown: (e) => e.stopPropagation(),
|
|
303
|
+
style,
|
|
304
|
+
title: `Drag selection — ${label}`,
|
|
305
|
+
"aria-label": `Drag selected terminal text — ${label}`,
|
|
306
|
+
children: [
|
|
307
|
+
/* @__PURE__ */ jsx(GripVertical, {
|
|
308
|
+
size: 13,
|
|
309
|
+
color: theme.colors.textSecondary
|
|
310
|
+
}),
|
|
311
|
+
label
|
|
312
|
+
]
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
// src/components/WorkingOverlay.tsx
|
|
317
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
238
318
|
var WorkingOverlay = ({
|
|
239
319
|
theme,
|
|
240
320
|
message = "Agent working...",
|
|
@@ -247,7 +327,7 @@ var WorkingOverlay = ({
|
|
|
247
327
|
onCloseComplete();
|
|
248
328
|
}
|
|
249
329
|
};
|
|
250
|
-
return /* @__PURE__ */
|
|
330
|
+
return /* @__PURE__ */ jsxs2("div", {
|
|
251
331
|
className: `terminal-working-overlay${isClosing ? " closing" : ""}`,
|
|
252
332
|
onAnimationEnd: handleAnimationEnd,
|
|
253
333
|
style: {
|
|
@@ -266,14 +346,14 @@ var WorkingOverlay = ({
|
|
|
266
346
|
zIndex: 10
|
|
267
347
|
},
|
|
268
348
|
children: [
|
|
269
|
-
/* @__PURE__ */
|
|
349
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
270
350
|
style: {
|
|
271
351
|
display: "flex",
|
|
272
352
|
gap: "6px",
|
|
273
353
|
marginBottom: "8px"
|
|
274
354
|
},
|
|
275
355
|
children: [
|
|
276
|
-
/* @__PURE__ */
|
|
356
|
+
/* @__PURE__ */ jsx2("div", {
|
|
277
357
|
className: "working-dot",
|
|
278
358
|
style: {
|
|
279
359
|
width: "8px",
|
|
@@ -283,7 +363,7 @@ var WorkingOverlay = ({
|
|
|
283
363
|
animation: "pulse 1.4s ease-in-out infinite"
|
|
284
364
|
}
|
|
285
365
|
}),
|
|
286
|
-
/* @__PURE__ */
|
|
366
|
+
/* @__PURE__ */ jsx2("div", {
|
|
287
367
|
className: "working-dot",
|
|
288
368
|
style: {
|
|
289
369
|
width: "8px",
|
|
@@ -293,7 +373,7 @@ var WorkingOverlay = ({
|
|
|
293
373
|
animation: "pulse 1.4s ease-in-out 0.2s infinite"
|
|
294
374
|
}
|
|
295
375
|
}),
|
|
296
|
-
/* @__PURE__ */
|
|
376
|
+
/* @__PURE__ */ jsx2("div", {
|
|
297
377
|
className: "working-dot",
|
|
298
378
|
style: {
|
|
299
379
|
width: "8px",
|
|
@@ -305,7 +385,7 @@ var WorkingOverlay = ({
|
|
|
305
385
|
})
|
|
306
386
|
]
|
|
307
387
|
}),
|
|
308
|
-
/* @__PURE__ */
|
|
388
|
+
/* @__PURE__ */ jsx2("div", {
|
|
309
389
|
style: {
|
|
310
390
|
fontSize: "15px",
|
|
311
391
|
fontWeight: "500",
|
|
@@ -314,7 +394,7 @@ var WorkingOverlay = ({
|
|
|
314
394
|
},
|
|
315
395
|
children: message
|
|
316
396
|
}),
|
|
317
|
-
subtitle && /* @__PURE__ */
|
|
397
|
+
subtitle && /* @__PURE__ */ jsx2("div", {
|
|
318
398
|
style: {
|
|
319
399
|
fontSize: "13px",
|
|
320
400
|
color: theme.colors.textSecondary,
|
|
@@ -327,7 +407,7 @@ var WorkingOverlay = ({
|
|
|
327
407
|
};
|
|
328
408
|
|
|
329
409
|
// src/components/ThemedTerminal.tsx
|
|
330
|
-
import { jsx as
|
|
410
|
+
import { jsx as jsx3, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
|
|
331
411
|
var SCROLL_DEBOUNCE_MS = 1000;
|
|
332
412
|
var DEBUG_RESIZE = true;
|
|
333
413
|
var ThemedTerminal = forwardRef(({
|
|
@@ -366,6 +446,10 @@ var ThemedTerminal = forwardRef(({
|
|
|
366
446
|
fontSize = 14,
|
|
367
447
|
enableSearch = true,
|
|
368
448
|
enableWebLinks = true,
|
|
449
|
+
enableSelectionDrag = true,
|
|
450
|
+
selectionDragLabel = "Drag to notes",
|
|
451
|
+
selectionDragSourcePanel,
|
|
452
|
+
selectionDragMetadata,
|
|
369
453
|
allowTransparency = false,
|
|
370
454
|
backgroundColor
|
|
371
455
|
}, ref) => {
|
|
@@ -373,6 +457,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
373
457
|
const terminalRef = useRef(null);
|
|
374
458
|
const [terminal, setTerminal] = useState(null);
|
|
375
459
|
const [isClosingOverlay, setIsClosingOverlay] = useState(false);
|
|
460
|
+
const [selectionDrag, setSelectionDrag] = useState(null);
|
|
376
461
|
const fitAddonRef = useRef(null);
|
|
377
462
|
const searchAddonRef = useRef(null);
|
|
378
463
|
const webglAddonRef = useRef(null);
|
|
@@ -491,14 +576,14 @@ var ThemedTerminal = forwardRef(({
|
|
|
491
576
|
const { isDragOver, ...dropZoneProps } = useDropZone({
|
|
492
577
|
handlers: [
|
|
493
578
|
{
|
|
494
|
-
dataType: [
|
|
579
|
+
dataType: [DATA_TYPES2.FILE_PATH, DATA_TYPES2.DIRECTORY_PATH],
|
|
495
580
|
onDrop: (data) => {
|
|
496
581
|
const safePath = sanitizePath(data.primaryData);
|
|
497
582
|
handleDroppedContent(safePath);
|
|
498
583
|
}
|
|
499
584
|
},
|
|
500
585
|
{
|
|
501
|
-
dataType:
|
|
586
|
+
dataType: DATA_TYPES2.TEXT_SELECTION,
|
|
502
587
|
onDrop: (data) => {
|
|
503
588
|
handleDroppedContent(data.primaryData);
|
|
504
589
|
}
|
|
@@ -924,6 +1009,43 @@ var ThemedTerminal = forwardRef(({
|
|
|
924
1009
|
disposable.dispose();
|
|
925
1010
|
};
|
|
926
1011
|
}, [terminal, onResize]);
|
|
1012
|
+
useEffect(() => {
|
|
1013
|
+
if (!terminal || !enableSelectionDrag) {
|
|
1014
|
+
setSelectionDrag(null);
|
|
1015
|
+
return;
|
|
1016
|
+
}
|
|
1017
|
+
const el = terminalRef.current;
|
|
1018
|
+
if (!el)
|
|
1019
|
+
return;
|
|
1020
|
+
const updateFromSelection = (clientX, clientY) => {
|
|
1021
|
+
const text = terminal.getSelection();
|
|
1022
|
+
if (!text || text.trim().length === 0) {
|
|
1023
|
+
setSelectionDrag(null);
|
|
1024
|
+
return;
|
|
1025
|
+
}
|
|
1026
|
+
const rect = el.getBoundingClientRect();
|
|
1027
|
+
const x = Math.min(Math.max(clientX - rect.left + 8, 4), rect.width - 110);
|
|
1028
|
+
const y = Math.min(Math.max(clientY - rect.top + 12, 4), rect.height - 28);
|
|
1029
|
+
setSelectionDrag({ text, x, y });
|
|
1030
|
+
};
|
|
1031
|
+
const handleMouseUp = (e) => {
|
|
1032
|
+
const { clientX, clientY } = e;
|
|
1033
|
+
requestAnimationFrame(() => updateFromSelection(clientX, clientY));
|
|
1034
|
+
};
|
|
1035
|
+
el.addEventListener("mouseup", handleMouseUp);
|
|
1036
|
+
const selDisposable = terminal.onSelectionChange(() => {
|
|
1037
|
+
const text = terminal.getSelection();
|
|
1038
|
+
if (!text || text.trim().length === 0) {
|
|
1039
|
+
setSelectionDrag(null);
|
|
1040
|
+
}
|
|
1041
|
+
});
|
|
1042
|
+
const scrollDisposable = terminal.onScroll(() => setSelectionDrag(null));
|
|
1043
|
+
return () => {
|
|
1044
|
+
el.removeEventListener("mouseup", handleMouseUp);
|
|
1045
|
+
selDisposable.dispose();
|
|
1046
|
+
scrollDisposable.dispose();
|
|
1047
|
+
};
|
|
1048
|
+
}, [terminal, enableSelectionDrag]);
|
|
927
1049
|
useEffect(() => {
|
|
928
1050
|
const terminalElement = terminalRef.current;
|
|
929
1051
|
if (!terminalElement)
|
|
@@ -976,7 +1098,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
976
1098
|
}
|
|
977
1099
|
}
|
|
978
1100
|
};
|
|
979
|
-
return /* @__PURE__ */
|
|
1101
|
+
return /* @__PURE__ */ jsxs3("div", {
|
|
980
1102
|
className,
|
|
981
1103
|
style: {
|
|
982
1104
|
display: "flex",
|
|
@@ -986,7 +1108,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
986
1108
|
backgroundColor: allowTransparency ? transparentBg ?? "transparent" : theme.colors.background
|
|
987
1109
|
},
|
|
988
1110
|
children: [
|
|
989
|
-
!hideHeader && /* @__PURE__ */
|
|
1111
|
+
!hideHeader && /* @__PURE__ */ jsxs3("div", {
|
|
990
1112
|
style: {
|
|
991
1113
|
display: "flex",
|
|
992
1114
|
alignItems: "center",
|
|
@@ -996,14 +1118,14 @@ var ThemedTerminal = forwardRef(({
|
|
|
996
1118
|
backgroundColor: allowTransparency ? "transparent" : theme.colors.backgroundSecondary || theme.colors.background
|
|
997
1119
|
},
|
|
998
1120
|
children: [
|
|
999
|
-
/* @__PURE__ */
|
|
1121
|
+
/* @__PURE__ */ jsxs3("div", {
|
|
1000
1122
|
style: { display: "flex", alignItems: "center", gap: "8px" },
|
|
1001
1123
|
children: [
|
|
1002
|
-
/* @__PURE__ */
|
|
1124
|
+
/* @__PURE__ */ jsx3(TerminalIcon, {
|
|
1003
1125
|
size: 16,
|
|
1004
1126
|
color: theme.colors.text
|
|
1005
1127
|
}),
|
|
1006
|
-
/* @__PURE__ */
|
|
1128
|
+
/* @__PURE__ */ jsx3("span", {
|
|
1007
1129
|
style: {
|
|
1008
1130
|
fontSize: "14px",
|
|
1009
1131
|
color: theme.colors.text,
|
|
@@ -1011,23 +1133,23 @@ var ThemedTerminal = forwardRef(({
|
|
|
1011
1133
|
},
|
|
1012
1134
|
children: headerTitle
|
|
1013
1135
|
}),
|
|
1014
|
-
headerSubtitle && /* @__PURE__ */
|
|
1136
|
+
headerSubtitle && /* @__PURE__ */ jsx3("span", {
|
|
1015
1137
|
style: {
|
|
1016
1138
|
fontSize: "12px",
|
|
1017
1139
|
color: theme.colors.textSecondary
|
|
1018
1140
|
},
|
|
1019
1141
|
children: headerSubtitle
|
|
1020
1142
|
}),
|
|
1021
|
-
headerBadge && /* @__PURE__ */
|
|
1143
|
+
headerBadge && /* @__PURE__ */ jsxs3(Fragment, {
|
|
1022
1144
|
children: [
|
|
1023
|
-
/* @__PURE__ */
|
|
1145
|
+
/* @__PURE__ */ jsx3("span", {
|
|
1024
1146
|
style: {
|
|
1025
1147
|
fontSize: "12px",
|
|
1026
1148
|
color: theme.colors.textSecondary
|
|
1027
1149
|
},
|
|
1028
1150
|
children: "•"
|
|
1029
1151
|
}),
|
|
1030
|
-
/* @__PURE__ */
|
|
1152
|
+
/* @__PURE__ */ jsx3("span", {
|
|
1031
1153
|
style: {
|
|
1032
1154
|
fontSize: "12px",
|
|
1033
1155
|
color: headerBadge.color || theme.colors.primary
|
|
@@ -1038,10 +1160,10 @@ var ThemedTerminal = forwardRef(({
|
|
|
1038
1160
|
})
|
|
1039
1161
|
]
|
|
1040
1162
|
}),
|
|
1041
|
-
/* @__PURE__ */
|
|
1163
|
+
/* @__PURE__ */ jsxs3("div", {
|
|
1042
1164
|
style: { display: "flex", gap: "8px" },
|
|
1043
1165
|
children: [
|
|
1044
|
-
onPopOut && /* @__PURE__ */
|
|
1166
|
+
onPopOut && /* @__PURE__ */ jsx3("button", {
|
|
1045
1167
|
type: "button",
|
|
1046
1168
|
"aria-label": "Pop out terminal to new window",
|
|
1047
1169
|
onClick: onPopOut,
|
|
@@ -1066,11 +1188,11 @@ var ThemedTerminal = forwardRef(({
|
|
|
1066
1188
|
e.currentTarget.style.color = theme.colors.textSecondary;
|
|
1067
1189
|
},
|
|
1068
1190
|
title: "Open terminal in new window",
|
|
1069
|
-
children: /* @__PURE__ */
|
|
1191
|
+
children: /* @__PURE__ */ jsx3(ExternalLink, {
|
|
1070
1192
|
size: 16
|
|
1071
1193
|
})
|
|
1072
1194
|
}),
|
|
1073
|
-
onClose && /* @__PURE__ */
|
|
1195
|
+
onClose && /* @__PURE__ */ jsx3("button", {
|
|
1074
1196
|
type: "button",
|
|
1075
1197
|
"aria-label": "Hide terminal",
|
|
1076
1198
|
onClick: onClose,
|
|
@@ -1095,11 +1217,11 @@ var ThemedTerminal = forwardRef(({
|
|
|
1095
1217
|
e.currentTarget.style.color = theme.colors.textSecondary;
|
|
1096
1218
|
},
|
|
1097
1219
|
title: "Hide terminal (keeps session running)",
|
|
1098
|
-
children: /* @__PURE__ */
|
|
1220
|
+
children: /* @__PURE__ */ jsx3(ChevronDown, {
|
|
1099
1221
|
size: 16
|
|
1100
1222
|
})
|
|
1101
1223
|
}),
|
|
1102
|
-
onDestroy && /* @__PURE__ */
|
|
1224
|
+
onDestroy && /* @__PURE__ */ jsx3("button", {
|
|
1103
1225
|
type: "button",
|
|
1104
1226
|
"aria-label": "Close terminal session",
|
|
1105
1227
|
onClick: handleDestroy,
|
|
@@ -1124,7 +1246,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
1124
1246
|
e.currentTarget.style.color = theme.colors.textSecondary;
|
|
1125
1247
|
},
|
|
1126
1248
|
title: "Close terminal session (terminate process)",
|
|
1127
|
-
children: /* @__PURE__ */
|
|
1249
|
+
children: /* @__PURE__ */ jsx3(X, {
|
|
1128
1250
|
size: 16
|
|
1129
1251
|
})
|
|
1130
1252
|
})
|
|
@@ -1132,7 +1254,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
1132
1254
|
})
|
|
1133
1255
|
]
|
|
1134
1256
|
}),
|
|
1135
|
-
/* @__PURE__ */
|
|
1257
|
+
/* @__PURE__ */ jsxs3("div", {
|
|
1136
1258
|
ref: terminalRef,
|
|
1137
1259
|
...dropZoneProps,
|
|
1138
1260
|
className: `terminal-container-fix${scrollbarFlush ? " flush-scrollbar" : ""}${scrollbarStyle === "hidden" ? " hide-scrollbar" : scrollbarStyle === "thin" ? " thin-scrollbar" : scrollbarStyle === "auto-hide" ? " auto-hide-scrollbar" : ""}`,
|
|
@@ -1145,7 +1267,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
1145
1267
|
minHeight: 0
|
|
1146
1268
|
},
|
|
1147
1269
|
children: [
|
|
1148
|
-
isDragOver && /* @__PURE__ */
|
|
1270
|
+
isDragOver && /* @__PURE__ */ jsx3("div", {
|
|
1149
1271
|
style: {
|
|
1150
1272
|
position: "absolute",
|
|
1151
1273
|
inset: 0,
|
|
@@ -1158,7 +1280,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
1158
1280
|
pointerEvents: "none",
|
|
1159
1281
|
zIndex: 1000
|
|
1160
1282
|
},
|
|
1161
|
-
children: /* @__PURE__ */
|
|
1283
|
+
children: /* @__PURE__ */ jsx3("div", {
|
|
1162
1284
|
style: {
|
|
1163
1285
|
padding: "8px 16px",
|
|
1164
1286
|
background: "#3b82f6",
|
|
@@ -1170,7 +1292,17 @@ var ThemedTerminal = forwardRef(({
|
|
|
1170
1292
|
children: "Drop to insert"
|
|
1171
1293
|
})
|
|
1172
1294
|
}),
|
|
1173
|
-
|
|
1295
|
+
enableSelectionDrag && selectionDrag && /* @__PURE__ */ jsx3(SelectionDragChip, {
|
|
1296
|
+
text: selectionDrag.text,
|
|
1297
|
+
x: selectionDrag.x,
|
|
1298
|
+
y: selectionDrag.y,
|
|
1299
|
+
theme,
|
|
1300
|
+
label: selectionDragLabel,
|
|
1301
|
+
sourcePanel: selectionDragSourcePanel,
|
|
1302
|
+
metadata: selectionDragMetadata,
|
|
1303
|
+
onDragEnd: () => setSelectionDrag(null)
|
|
1304
|
+
}),
|
|
1305
|
+
overlayState && /* @__PURE__ */ jsxs3("div", {
|
|
1174
1306
|
style: {
|
|
1175
1307
|
position: "absolute",
|
|
1176
1308
|
top: 0,
|
|
@@ -1188,11 +1320,11 @@ var ThemedTerminal = forwardRef(({
|
|
|
1188
1320
|
zIndex: 10
|
|
1189
1321
|
},
|
|
1190
1322
|
children: [
|
|
1191
|
-
/* @__PURE__ */
|
|
1323
|
+
/* @__PURE__ */ jsx3(Monitor, {
|
|
1192
1324
|
size: 48,
|
|
1193
1325
|
color: theme.colors.textSecondary
|
|
1194
1326
|
}),
|
|
1195
|
-
/* @__PURE__ */
|
|
1327
|
+
/* @__PURE__ */ jsx3("div", {
|
|
1196
1328
|
style: {
|
|
1197
1329
|
fontSize: "16px",
|
|
1198
1330
|
fontWeight: "500",
|
|
@@ -1201,7 +1333,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
1201
1333
|
},
|
|
1202
1334
|
children: overlayState.message
|
|
1203
1335
|
}),
|
|
1204
|
-
overlayState.subtitle && /* @__PURE__ */
|
|
1336
|
+
overlayState.subtitle && /* @__PURE__ */ jsx3("div", {
|
|
1205
1337
|
style: {
|
|
1206
1338
|
fontSize: "14px",
|
|
1207
1339
|
color: theme.colors.textSecondary,
|
|
@@ -1210,13 +1342,13 @@ var ThemedTerminal = forwardRef(({
|
|
|
1210
1342
|
},
|
|
1211
1343
|
children: overlayState.subtitle
|
|
1212
1344
|
}),
|
|
1213
|
-
overlayState.actions && overlayState.actions.length > 0 && /* @__PURE__ */
|
|
1345
|
+
overlayState.actions && overlayState.actions.length > 0 && /* @__PURE__ */ jsx3("div", {
|
|
1214
1346
|
style: {
|
|
1215
1347
|
display: "flex",
|
|
1216
1348
|
gap: "12px",
|
|
1217
1349
|
marginTop: "8px"
|
|
1218
1350
|
},
|
|
1219
|
-
children: overlayState.actions.map((action) => /* @__PURE__ */
|
|
1351
|
+
children: overlayState.actions.map((action) => /* @__PURE__ */ jsxs3("button", {
|
|
1220
1352
|
type: "button",
|
|
1221
1353
|
onClick: action.onClick,
|
|
1222
1354
|
style: {
|
|
@@ -1255,7 +1387,7 @@ var ThemedTerminal = forwardRef(({
|
|
|
1255
1387
|
})
|
|
1256
1388
|
]
|
|
1257
1389
|
}),
|
|
1258
|
-
showWorkingOverlay && !overlayState && /* @__PURE__ */
|
|
1390
|
+
showWorkingOverlay && !overlayState && /* @__PURE__ */ jsx3(WorkingOverlay, {
|
|
1259
1391
|
theme,
|
|
1260
1392
|
message: workingMessage,
|
|
1261
1393
|
subtitle: workingSubtitle,
|
|
@@ -1271,10 +1403,10 @@ ThemedTerminal.displayName = "ThemedTerminal";
|
|
|
1271
1403
|
// src/components/ThemedTerminalWithProvider.tsx
|
|
1272
1404
|
import { useTheme } from "@principal-ade/industry-theme";
|
|
1273
1405
|
import { forwardRef as forwardRef2 } from "react";
|
|
1274
|
-
import { jsx as
|
|
1406
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
1275
1407
|
var ThemedTerminalWithProvider = forwardRef2((props, ref) => {
|
|
1276
1408
|
const { theme } = useTheme();
|
|
1277
|
-
return /* @__PURE__ */
|
|
1409
|
+
return /* @__PURE__ */ jsx4(ThemedTerminal, {
|
|
1278
1410
|
ref,
|
|
1279
1411
|
theme,
|
|
1280
1412
|
...props
|
|
@@ -1283,7 +1415,7 @@ var ThemedTerminalWithProvider = forwardRef2((props, ref) => {
|
|
|
1283
1415
|
ThemedTerminalWithProvider.displayName = "ThemedTerminalWithProvider";
|
|
1284
1416
|
// src/renderer/XtermRenderer.tsx
|
|
1285
1417
|
import { forwardRef as forwardRef3, useImperativeHandle as useImperativeHandle2, useRef as useRef2 } from "react";
|
|
1286
|
-
import { jsx as
|
|
1418
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
1287
1419
|
var XtermRenderer = forwardRef3((props, ref) => {
|
|
1288
1420
|
const {
|
|
1289
1421
|
transparent,
|
|
@@ -1318,7 +1450,7 @@ var XtermRenderer = forwardRef3((props, ref) => {
|
|
|
1318
1450
|
},
|
|
1319
1451
|
isScrollLocked: () => innerRef.current?.isScrollLocked() ?? false
|
|
1320
1452
|
}), []);
|
|
1321
|
-
return /* @__PURE__ */
|
|
1453
|
+
return /* @__PURE__ */ jsx5(ThemedTerminalWithProvider, {
|
|
1322
1454
|
ref: innerRef,
|
|
1323
1455
|
...rest,
|
|
1324
1456
|
enableSearch,
|
|
@@ -1344,8 +1476,8 @@ import {
|
|
|
1344
1476
|
|
|
1345
1477
|
// src/components/TerminalOverlay.tsx
|
|
1346
1478
|
import { Monitor as Monitor2 } from "lucide-react";
|
|
1347
|
-
import { jsx as
|
|
1348
|
-
var TerminalOverlay = ({ state, theme }) => /* @__PURE__ */
|
|
1479
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1480
|
+
var TerminalOverlay = ({ state, theme }) => /* @__PURE__ */ jsxs4("div", {
|
|
1349
1481
|
style: {
|
|
1350
1482
|
position: "absolute",
|
|
1351
1483
|
top: 0,
|
|
@@ -1363,11 +1495,11 @@ var TerminalOverlay = ({ state, theme }) => /* @__PURE__ */ jsxs3("div", {
|
|
|
1363
1495
|
zIndex: 10
|
|
1364
1496
|
},
|
|
1365
1497
|
children: [
|
|
1366
|
-
/* @__PURE__ */
|
|
1498
|
+
/* @__PURE__ */ jsx6(Monitor2, {
|
|
1367
1499
|
size: 48,
|
|
1368
1500
|
color: theme.colors.textSecondary
|
|
1369
1501
|
}),
|
|
1370
|
-
/* @__PURE__ */
|
|
1502
|
+
/* @__PURE__ */ jsx6("div", {
|
|
1371
1503
|
style: {
|
|
1372
1504
|
fontSize: "16px",
|
|
1373
1505
|
fontWeight: "500",
|
|
@@ -1376,7 +1508,7 @@ var TerminalOverlay = ({ state, theme }) => /* @__PURE__ */ jsxs3("div", {
|
|
|
1376
1508
|
},
|
|
1377
1509
|
children: state.message
|
|
1378
1510
|
}),
|
|
1379
|
-
state.subtitle && /* @__PURE__ */
|
|
1511
|
+
state.subtitle && /* @__PURE__ */ jsx6("div", {
|
|
1380
1512
|
style: {
|
|
1381
1513
|
fontSize: "14px",
|
|
1382
1514
|
color: theme.colors.textSecondary,
|
|
@@ -1385,13 +1517,13 @@ var TerminalOverlay = ({ state, theme }) => /* @__PURE__ */ jsxs3("div", {
|
|
|
1385
1517
|
},
|
|
1386
1518
|
children: state.subtitle
|
|
1387
1519
|
}),
|
|
1388
|
-
state.actions && state.actions.length > 0 && /* @__PURE__ */
|
|
1520
|
+
state.actions && state.actions.length > 0 && /* @__PURE__ */ jsx6("div", {
|
|
1389
1521
|
style: {
|
|
1390
1522
|
display: "flex",
|
|
1391
1523
|
gap: "12px",
|
|
1392
1524
|
marginTop: "8px"
|
|
1393
1525
|
},
|
|
1394
|
-
children: state.actions.map((action) => /* @__PURE__ */
|
|
1526
|
+
children: state.actions.map((action) => /* @__PURE__ */ jsxs4("button", {
|
|
1395
1527
|
type: "button",
|
|
1396
1528
|
onClick: action.onClick,
|
|
1397
1529
|
style: {
|
|
@@ -1432,7 +1564,7 @@ var TerminalOverlay = ({ state, theme }) => /* @__PURE__ */ jsxs3("div", {
|
|
|
1432
1564
|
});
|
|
1433
1565
|
|
|
1434
1566
|
// src/components/TerminalSession.tsx
|
|
1435
|
-
import { jsx as
|
|
1567
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1436
1568
|
var TerminalSession = forwardRef4((props, ref) => {
|
|
1437
1569
|
const {
|
|
1438
1570
|
actions,
|
|
@@ -1768,7 +1900,7 @@ var TerminalSession = forwardRef4((props, ref) => {
|
|
|
1768
1900
|
getSessionId: () => localSessionId
|
|
1769
1901
|
}), [scrollPosition.isScrollLocked, localSessionId]);
|
|
1770
1902
|
if (!isInitialized) {
|
|
1771
|
-
return /* @__PURE__ */
|
|
1903
|
+
return /* @__PURE__ */ jsxs5("div", {
|
|
1772
1904
|
style: {
|
|
1773
1905
|
display: "flex",
|
|
1774
1906
|
height: "100%",
|
|
@@ -1777,7 +1909,7 @@ var TerminalSession = forwardRef4((props, ref) => {
|
|
|
1777
1909
|
padding: "10px 0 0 10px"
|
|
1778
1910
|
},
|
|
1779
1911
|
children: [
|
|
1780
|
-
/* @__PURE__ */
|
|
1912
|
+
/* @__PURE__ */ jsx7("div", {
|
|
1781
1913
|
style: {
|
|
1782
1914
|
width: "8px",
|
|
1783
1915
|
height: "17px",
|
|
@@ -1785,7 +1917,7 @@ var TerminalSession = forwardRef4((props, ref) => {
|
|
|
1785
1917
|
animation: "terminal-session-cursor-blink 1s step-end infinite"
|
|
1786
1918
|
}
|
|
1787
1919
|
}),
|
|
1788
|
-
/* @__PURE__ */
|
|
1920
|
+
/* @__PURE__ */ jsx7("style", {
|
|
1789
1921
|
children: `@keyframes terminal-session-cursor-blink {
|
|
1790
1922
|
0%, 100% { opacity: 1; }
|
|
1791
1923
|
50% { opacity: 0; }
|
|
@@ -1807,10 +1939,10 @@ var TerminalSession = forwardRef4((props, ref) => {
|
|
|
1807
1939
|
opacity: 1
|
|
1808
1940
|
} : undefined;
|
|
1809
1941
|
const effectiveOverlay = ownershipLostOverlay ?? overlayState;
|
|
1810
|
-
return /* @__PURE__ */
|
|
1942
|
+
return /* @__PURE__ */ jsxs5("div", {
|
|
1811
1943
|
style: { position: "relative", height: "100%", width: "100%" },
|
|
1812
1944
|
children: [
|
|
1813
|
-
/* @__PURE__ */
|
|
1945
|
+
/* @__PURE__ */ jsx7(Renderer, {
|
|
1814
1946
|
ref: rendererRef,
|
|
1815
1947
|
onData: shouldRenderTerminal ? handleData : undefined,
|
|
1816
1948
|
onResize: shouldRenderTerminal ? handleResize : undefined,
|
|
@@ -1825,11 +1957,11 @@ var TerminalSession = forwardRef4((props, ref) => {
|
|
|
1825
1957
|
transparent,
|
|
1826
1958
|
backgroundColor
|
|
1827
1959
|
}, shouldRenderTerminal ? "active" : "overlay"),
|
|
1828
|
-
effectiveOverlay && /* @__PURE__ */
|
|
1960
|
+
effectiveOverlay && /* @__PURE__ */ jsx7(TerminalOverlay, {
|
|
1829
1961
|
state: effectiveOverlay,
|
|
1830
1962
|
theme
|
|
1831
1963
|
}),
|
|
1832
|
-
isWorking && !effectiveOverlay && /* @__PURE__ */
|
|
1964
|
+
isWorking && !effectiveOverlay && /* @__PURE__ */ jsx7(WorkingOverlay, {
|
|
1833
1965
|
theme,
|
|
1834
1966
|
message: workingMessage,
|
|
1835
1967
|
subtitle: workingSubtitle
|
|
@@ -1881,7 +2013,7 @@ import { useState as useState3, useCallback as useCallback4 } from "react";
|
|
|
1881
2013
|
// src/components/TabBar/TabButton.tsx
|
|
1882
2014
|
import { useTheme as useTheme4 } from "@principal-ade/industry-theme";
|
|
1883
2015
|
import { useCallback as useCallback3 } from "react";
|
|
1884
|
-
import { jsx as
|
|
2016
|
+
import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1885
2017
|
var TabButton = ({
|
|
1886
2018
|
tab,
|
|
1887
2019
|
isActive,
|
|
@@ -1966,7 +2098,7 @@ var TabButton = ({
|
|
|
1966
2098
|
}
|
|
1967
2099
|
return {};
|
|
1968
2100
|
};
|
|
1969
|
-
return /* @__PURE__ */
|
|
2101
|
+
return /* @__PURE__ */ jsxs6("div", {
|
|
1970
2102
|
"data-tab-id": tab.id,
|
|
1971
2103
|
draggable,
|
|
1972
2104
|
onDragStart: draggable ? handleDragStart : undefined,
|
|
@@ -2002,7 +2134,7 @@ var TabButton = ({
|
|
|
2002
2134
|
...getDragOverStyles()
|
|
2003
2135
|
},
|
|
2004
2136
|
children: [
|
|
2005
|
-
closable && showCloseButton && /* @__PURE__ */
|
|
2137
|
+
closable && showCloseButton && /* @__PURE__ */ jsx8("button", {
|
|
2006
2138
|
onClick: (e) => {
|
|
2007
2139
|
e.stopPropagation();
|
|
2008
2140
|
onClose();
|
|
@@ -2034,7 +2166,7 @@ var TabButton = ({
|
|
|
2034
2166
|
(() => {
|
|
2035
2167
|
const icon = renderIcon ? renderIcon(tab) : undefined;
|
|
2036
2168
|
const displayIcon = icon !== undefined ? icon : tab.icon;
|
|
2037
|
-
return displayIcon ? /* @__PURE__ */
|
|
2169
|
+
return displayIcon ? /* @__PURE__ */ jsx8("div", {
|
|
2038
2170
|
style: { flexShrink: 0, display: "flex", alignItems: "center", pointerEvents: "none" },
|
|
2039
2171
|
children: displayIcon
|
|
2040
2172
|
}) : null;
|
|
@@ -2042,7 +2174,7 @@ var TabButton = ({
|
|
|
2042
2174
|
(() => {
|
|
2043
2175
|
const label = renderLabel ? renderLabel(tab) : undefined;
|
|
2044
2176
|
const displayLabel = label !== undefined ? label : tab.label;
|
|
2045
|
-
return /* @__PURE__ */
|
|
2177
|
+
return /* @__PURE__ */ jsx8("span", {
|
|
2046
2178
|
style: {
|
|
2047
2179
|
overflow: "hidden",
|
|
2048
2180
|
textOverflow: "ellipsis",
|
|
@@ -2053,7 +2185,7 @@ var TabButton = ({
|
|
|
2053
2185
|
children: displayLabel
|
|
2054
2186
|
});
|
|
2055
2187
|
})(),
|
|
2056
|
-
renderAccessory ? renderAccessory(tab) : keyboardHint && /* @__PURE__ */
|
|
2188
|
+
renderAccessory ? renderAccessory(tab) : keyboardHint && /* @__PURE__ */ jsx8("span", {
|
|
2057
2189
|
style: {
|
|
2058
2190
|
fontSize: theme.fontSizes[0],
|
|
2059
2191
|
color: theme.colors.textSecondary,
|
|
@@ -2068,7 +2200,7 @@ var TabButton = ({
|
|
|
2068
2200
|
TabButton.displayName = "TabButton";
|
|
2069
2201
|
|
|
2070
2202
|
// src/components/TabBar/TabBar.tsx
|
|
2071
|
-
import { jsx as
|
|
2203
|
+
import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
2072
2204
|
var TabBar = ({
|
|
2073
2205
|
tabs,
|
|
2074
2206
|
activeTabId,
|
|
@@ -2110,7 +2242,7 @@ var TabBar = ({
|
|
|
2110
2242
|
const handleDragLeave = useCallback4(() => {
|
|
2111
2243
|
setDragOverTabId(null);
|
|
2112
2244
|
}, []);
|
|
2113
|
-
return /* @__PURE__ */
|
|
2245
|
+
return /* @__PURE__ */ jsxs7("div", {
|
|
2114
2246
|
className,
|
|
2115
2247
|
style: {
|
|
2116
2248
|
display: "flex",
|
|
@@ -2120,7 +2252,7 @@ var TabBar = ({
|
|
|
2120
2252
|
boxSizing: "border-box"
|
|
2121
2253
|
},
|
|
2122
2254
|
children: [
|
|
2123
|
-
leftSection && /* @__PURE__ */
|
|
2255
|
+
leftSection && /* @__PURE__ */ jsx9("div", {
|
|
2124
2256
|
style: {
|
|
2125
2257
|
display: "flex",
|
|
2126
2258
|
alignItems: "center",
|
|
@@ -2133,7 +2265,7 @@ var TabBar = ({
|
|
|
2133
2265
|
},
|
|
2134
2266
|
children: leftSection
|
|
2135
2267
|
}),
|
|
2136
|
-
/* @__PURE__ */
|
|
2268
|
+
/* @__PURE__ */ jsx9("div", {
|
|
2137
2269
|
style: {
|
|
2138
2270
|
display: "flex",
|
|
2139
2271
|
alignItems: "center",
|
|
@@ -2145,7 +2277,7 @@ var TabBar = ({
|
|
|
2145
2277
|
},
|
|
2146
2278
|
children: tabs.map((tab, index) => {
|
|
2147
2279
|
const canDrop = enableDragAndDrop && draggedTabId !== null && draggedTabId !== tab.id ? canDropOnTab ? canDropOnTab(draggedTabId, tab.id) : true : false;
|
|
2148
|
-
return /* @__PURE__ */
|
|
2280
|
+
return /* @__PURE__ */ jsx9(TabButton, {
|
|
2149
2281
|
tab,
|
|
2150
2282
|
isActive: tab.id === activeTabId,
|
|
2151
2283
|
isHovered: tab.id === hoveredTabId,
|
|
@@ -2169,7 +2301,7 @@ var TabBar = ({
|
|
|
2169
2301
|
}, tab.id);
|
|
2170
2302
|
})
|
|
2171
2303
|
}),
|
|
2172
|
-
rightSection !== undefined ? rightSection && /* @__PURE__ */
|
|
2304
|
+
rightSection !== undefined ? rightSection && /* @__PURE__ */ jsx9("div", {
|
|
2173
2305
|
style: {
|
|
2174
2306
|
display: "flex",
|
|
2175
2307
|
alignItems: "center",
|
|
@@ -2181,7 +2313,7 @@ var TabBar = ({
|
|
|
2181
2313
|
boxSizing: "border-box"
|
|
2182
2314
|
},
|
|
2183
2315
|
children: rightSection
|
|
2184
|
-
}) : onNewTab && /* @__PURE__ */
|
|
2316
|
+
}) : onNewTab && /* @__PURE__ */ jsx9("div", {
|
|
2185
2317
|
style: {
|
|
2186
2318
|
display: "flex",
|
|
2187
2319
|
alignItems: "center",
|
|
@@ -2192,7 +2324,7 @@ var TabBar = ({
|
|
|
2192
2324
|
borderBottom: `1px solid ${theme.colors.border}`,
|
|
2193
2325
|
boxSizing: "border-box"
|
|
2194
2326
|
},
|
|
2195
|
-
children: /* @__PURE__ */
|
|
2327
|
+
children: /* @__PURE__ */ jsx9("button", {
|
|
2196
2328
|
onClick: onNewTab,
|
|
2197
2329
|
style: {
|
|
2198
2330
|
display: "flex",
|
|
@@ -2213,7 +2345,7 @@ var TabBar = ({
|
|
|
2213
2345
|
e.currentTarget.style.backgroundColor = "transparent";
|
|
2214
2346
|
},
|
|
2215
2347
|
title: "New Tab (⌘T)",
|
|
2216
|
-
children: /* @__PURE__ */
|
|
2348
|
+
children: /* @__PURE__ */ jsx9(Plus, {
|
|
2217
2349
|
size: 14
|
|
2218
2350
|
})
|
|
2219
2351
|
})
|
|
@@ -2273,11 +2405,11 @@ import React3, {
|
|
|
2273
2405
|
useEffect as useEffect4,
|
|
2274
2406
|
useRef as useRef4
|
|
2275
2407
|
} from "react";
|
|
2276
|
-
import { jsx as
|
|
2277
|
-
var ActivityIndicator = ({ color, isAnimating }) => /* @__PURE__ */
|
|
2408
|
+
import { jsx as jsx10, jsxs as jsxs8, Fragment as Fragment2 } from "react/jsx-runtime";
|
|
2409
|
+
var ActivityIndicator = ({ color, isAnimating }) => /* @__PURE__ */ jsxs8("div", {
|
|
2278
2410
|
style: { display: "flex", gap: 1, alignItems: "center", height: 12 },
|
|
2279
2411
|
children: [
|
|
2280
|
-
[0, 1, 2, 3, 4].map((i) => /* @__PURE__ */
|
|
2412
|
+
[0, 1, 2, 3, 4].map((i) => /* @__PURE__ */ jsx10("div", {
|
|
2281
2413
|
style: {
|
|
2282
2414
|
width: 2,
|
|
2283
2415
|
height: 10,
|
|
@@ -2288,7 +2420,7 @@ var ActivityIndicator = ({ color, isAnimating }) => /* @__PURE__ */ jsxs7("div",
|
|
|
2288
2420
|
animation: isAnimating ? `waveSine 1.2s ease-in-out ${i * 0.1}s infinite` : "none"
|
|
2289
2421
|
}
|
|
2290
2422
|
}, i)),
|
|
2291
|
-
/* @__PURE__ */
|
|
2423
|
+
/* @__PURE__ */ jsx10("style", {
|
|
2292
2424
|
children: `
|
|
2293
2425
|
@keyframes waveSine {
|
|
2294
2426
|
0%, 100% { transform: scaleY(0.4); }
|
|
@@ -2335,14 +2467,14 @@ function TerminalTabContentInner(props, ref) {
|
|
|
2335
2467
|
scrollToBottom: () => sessionRef.current?.scrollToBottom(),
|
|
2336
2468
|
toggleScrollLock: () => sessionRef.current?.toggleScrollLock()
|
|
2337
2469
|
}), []);
|
|
2338
|
-
return /* @__PURE__ */
|
|
2470
|
+
return /* @__PURE__ */ jsx10("div", {
|
|
2339
2471
|
style: {
|
|
2340
2472
|
display: "flex",
|
|
2341
2473
|
flexDirection: "column",
|
|
2342
2474
|
height: "100%",
|
|
2343
2475
|
width: "100%"
|
|
2344
2476
|
},
|
|
2345
|
-
children: /* @__PURE__ */
|
|
2477
|
+
children: /* @__PURE__ */ jsx10(TerminalSession, {
|
|
2346
2478
|
ref: sessionRef,
|
|
2347
2479
|
actions,
|
|
2348
2480
|
events,
|
|
@@ -2809,9 +2941,9 @@ var TabbedTerminalPanelInner = ({
|
|
|
2809
2941
|
if (!isActive)
|
|
2810
2942
|
return null;
|
|
2811
2943
|
const scrollPosition = scrollPositions.get(tab.id) ?? defaultScrollPosition;
|
|
2812
|
-
return /* @__PURE__ */
|
|
2944
|
+
return /* @__PURE__ */ jsxs8(Fragment2, {
|
|
2813
2945
|
children: [
|
|
2814
|
-
/* @__PURE__ */
|
|
2946
|
+
/* @__PURE__ */ jsx10("button", {
|
|
2815
2947
|
onClick: (e) => {
|
|
2816
2948
|
e.stopPropagation();
|
|
2817
2949
|
handleToggleScrollLock();
|
|
@@ -2836,13 +2968,13 @@ var TabbedTerminalPanelInner = ({
|
|
|
2836
2968
|
e.currentTarget.style.backgroundColor = "transparent";
|
|
2837
2969
|
},
|
|
2838
2970
|
title: scrollPosition.isScrollLocked ? "Scroll locked" : "Scroll unlocked",
|
|
2839
|
-
children: scrollPosition.isScrollLocked ? /* @__PURE__ */
|
|
2971
|
+
children: scrollPosition.isScrollLocked ? /* @__PURE__ */ jsx10(Lock, {
|
|
2840
2972
|
size: 10
|
|
2841
|
-
}) : /* @__PURE__ */
|
|
2973
|
+
}) : /* @__PURE__ */ jsx10(Unlock, {
|
|
2842
2974
|
size: 10
|
|
2843
2975
|
})
|
|
2844
2976
|
}),
|
|
2845
|
-
/* @__PURE__ */
|
|
2977
|
+
/* @__PURE__ */ jsx10("div", {
|
|
2846
2978
|
style: {
|
|
2847
2979
|
position: "absolute",
|
|
2848
2980
|
right: "8px",
|
|
@@ -2853,7 +2985,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
2853
2985
|
height: "16px"
|
|
2854
2986
|
},
|
|
2855
2987
|
title: isWorking ? "Terminal active" : "Terminal idle",
|
|
2856
|
-
children: /* @__PURE__ */
|
|
2988
|
+
children: /* @__PURE__ */ jsx10(ActivityIndicator, {
|
|
2857
2989
|
color: theme.colors.primary,
|
|
2858
2990
|
isAnimating: isWorking ?? false
|
|
2859
2991
|
})
|
|
@@ -2862,7 +2994,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
2862
2994
|
});
|
|
2863
2995
|
}, [activeTabId, scrollPositions, defaultScrollPosition, handleToggleScrollLock, theme, sessionIds, workingStates, activityStates]);
|
|
2864
2996
|
const renderTerminalWithAssociation = useCallback5((tab, isActive, sessionId, association) => {
|
|
2865
|
-
const terminalContent = /* @__PURE__ */
|
|
2997
|
+
const terminalContent = /* @__PURE__ */ jsx10(TerminalTabContent, {
|
|
2866
2998
|
ref: getRefCallback(tab.id),
|
|
2867
2999
|
tab,
|
|
2868
3000
|
sessionId,
|
|
@@ -2881,7 +3013,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
2881
3013
|
onActivityStateChange: handleActivityStateChange
|
|
2882
3014
|
}, `terminal-${tab.id}`);
|
|
2883
3015
|
const hasAssociation = !!association;
|
|
2884
|
-
const secondaryContent = hasAssociation && renderAssociatedContent ? renderAssociatedContent(association.associatedTabId, isActive) : /* @__PURE__ */
|
|
3016
|
+
const secondaryContent = hasAssociation && renderAssociatedContent ? renderAssociatedContent(association.associatedTabId, isActive) : /* @__PURE__ */ jsx10("div", {
|
|
2885
3017
|
style: {
|
|
2886
3018
|
height: "100%",
|
|
2887
3019
|
display: "flex",
|
|
@@ -2893,12 +3025,12 @@ var TabbedTerminalPanelInner = ({
|
|
|
2893
3025
|
},
|
|
2894
3026
|
children: "Drag a tab here to associate it with this terminal"
|
|
2895
3027
|
});
|
|
2896
|
-
const headerConfig = hasAssociation && getAssociatedHeader ? getAssociatedHeader(association.associatedTabId) : { title: "Drop zone", icon: /* @__PURE__ */
|
|
3028
|
+
const headerConfig = hasAssociation && getAssociatedHeader ? getAssociatedHeader(association.associatedTabId) : { title: "Drop zone", icon: /* @__PURE__ */ jsx10(Paperclip, {
|
|
2897
3029
|
size: 14
|
|
2898
3030
|
}) };
|
|
2899
3031
|
const isCollapsed = hasAssociation ? association.collapsed : true;
|
|
2900
3032
|
const handleCollapsedChange = hasAssociation ? (collapsed) => onAssociationCollapsedChange?.(tab.id, collapsed) : undefined;
|
|
2901
|
-
return /* @__PURE__ */
|
|
3033
|
+
return /* @__PURE__ */ jsx10(CollapsibleSplitPane, {
|
|
2902
3034
|
style: { height: "100%" },
|
|
2903
3035
|
primaryContent: terminalContent,
|
|
2904
3036
|
secondaryContent,
|
|
@@ -2973,7 +3105,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
2973
3105
|
setActiveTabId(activeTabId);
|
|
2974
3106
|
}
|
|
2975
3107
|
}, [activeTabId, tabs, onTabAssociate, setActiveTabId]);
|
|
2976
|
-
return /* @__PURE__ */
|
|
3108
|
+
return /* @__PURE__ */ jsxs8("div", {
|
|
2977
3109
|
style: {
|
|
2978
3110
|
display: "flex",
|
|
2979
3111
|
flexDirection: "column",
|
|
@@ -2981,15 +3113,15 @@ var TabbedTerminalPanelInner = ({
|
|
|
2981
3113
|
backgroundColor: theme.colors.background
|
|
2982
3114
|
},
|
|
2983
3115
|
children: [
|
|
2984
|
-
!hideHeader && /* @__PURE__ */
|
|
3116
|
+
!hideHeader && /* @__PURE__ */ jsx10("div", {
|
|
2985
3117
|
ref: headerRef,
|
|
2986
|
-
children: /* @__PURE__ */
|
|
3118
|
+
children: /* @__PURE__ */ jsx10(TabBar, {
|
|
2987
3119
|
tabs: genericTabs,
|
|
2988
3120
|
activeTabId,
|
|
2989
3121
|
onTabClick: switchTab,
|
|
2990
3122
|
onTabClose: closeTab,
|
|
2991
3123
|
onNewTab: addNewTab,
|
|
2992
|
-
leftSection: /* @__PURE__ */
|
|
3124
|
+
leftSection: /* @__PURE__ */ jsx10("button", {
|
|
2993
3125
|
onClick: () => onShowAllTerminalsChange?.(!showAllTerminals),
|
|
2994
3126
|
style: {
|
|
2995
3127
|
display: "flex",
|
|
@@ -3014,9 +3146,9 @@ var TabbedTerminalPanelInner = ({
|
|
|
3014
3146
|
}
|
|
3015
3147
|
},
|
|
3016
3148
|
title: showAllTerminals ? "Showing all terminals (click to filter by context)" : "Show all terminals",
|
|
3017
|
-
children: showAllTerminals ? /* @__PURE__ */
|
|
3149
|
+
children: showAllTerminals ? /* @__PURE__ */ jsx10(Boxes, {
|
|
3018
3150
|
size: 14
|
|
3019
|
-
}) : /* @__PURE__ */
|
|
3151
|
+
}) : /* @__PURE__ */ jsx10(Box, {
|
|
3020
3152
|
size: 14
|
|
3021
3153
|
})
|
|
3022
3154
|
}),
|
|
@@ -3029,7 +3161,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3029
3161
|
canDropOnTab
|
|
3030
3162
|
})
|
|
3031
3163
|
}),
|
|
3032
|
-
/* @__PURE__ */
|
|
3164
|
+
/* @__PURE__ */ jsxs8("div", {
|
|
3033
3165
|
style: {
|
|
3034
3166
|
flex: 1,
|
|
3035
3167
|
display: "flex",
|
|
@@ -3083,7 +3215,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3083
3215
|
const customContent = renderTabContent(tab, isActive, sessionId, width);
|
|
3084
3216
|
if (customContent === null && tab.contentType === "terminal") {
|
|
3085
3217
|
const association = associations?.[tab.id];
|
|
3086
|
-
return /* @__PURE__ */
|
|
3218
|
+
return /* @__PURE__ */ jsx10("div", {
|
|
3087
3219
|
inert: !isActive,
|
|
3088
3220
|
style: {
|
|
3089
3221
|
position: "absolute",
|
|
@@ -3096,7 +3228,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3096
3228
|
}, tab.id);
|
|
3097
3229
|
}
|
|
3098
3230
|
const hasBeenActivated = activatedTabs.has(tab.id);
|
|
3099
|
-
return /* @__PURE__ */
|
|
3231
|
+
return /* @__PURE__ */ jsx10("div", {
|
|
3100
3232
|
inert: !isActive,
|
|
3101
3233
|
style: {
|
|
3102
3234
|
position: "absolute",
|
|
@@ -3110,7 +3242,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3110
3242
|
}
|
|
3111
3243
|
if (tab.contentType === "terminal") {
|
|
3112
3244
|
const association = associations?.[tab.id];
|
|
3113
|
-
return /* @__PURE__ */
|
|
3245
|
+
return /* @__PURE__ */ jsx10("div", {
|
|
3114
3246
|
inert: !isActive,
|
|
3115
3247
|
style: {
|
|
3116
3248
|
position: "absolute",
|
|
@@ -3122,7 +3254,7 @@ var TabbedTerminalPanelInner = ({
|
|
|
3122
3254
|
children: renderTerminalWithAssociation(tab, isActive, sessionId, association)
|
|
3123
3255
|
}, tab.id);
|
|
3124
3256
|
}
|
|
3125
|
-
return /* @__PURE__ */
|
|
3257
|
+
return /* @__PURE__ */ jsxs8("div", {
|
|
3126
3258
|
inert: !isActive,
|
|
3127
3259
|
style: {
|
|
3128
3260
|
position: "absolute",
|
|
@@ -3134,20 +3266,20 @@ var TabbedTerminalPanelInner = ({
|
|
|
3134
3266
|
color: theme.colors.textSecondary
|
|
3135
3267
|
},
|
|
3136
3268
|
children: [
|
|
3137
|
-
/* @__PURE__ */
|
|
3269
|
+
/* @__PURE__ */ jsxs8("p", {
|
|
3138
3270
|
children: [
|
|
3139
3271
|
"Unknown content type: ",
|
|
3140
3272
|
tab.contentType
|
|
3141
3273
|
]
|
|
3142
3274
|
}),
|
|
3143
|
-
/* @__PURE__ */
|
|
3275
|
+
/* @__PURE__ */ jsx10("p", {
|
|
3144
3276
|
style: { fontSize: theme.fontSizes[0], marginTop: "8px" },
|
|
3145
3277
|
children: "Provide a renderTabContent prop to render custom tab types"
|
|
3146
3278
|
})
|
|
3147
3279
|
]
|
|
3148
3280
|
}, tab.id);
|
|
3149
3281
|
}),
|
|
3150
|
-
tabs.length === 0 && /* @__PURE__ */
|
|
3282
|
+
tabs.length === 0 && /* @__PURE__ */ jsxs8("div", {
|
|
3151
3283
|
style: {
|
|
3152
3284
|
display: "flex",
|
|
3153
3285
|
flexDirection: "column",
|
|
@@ -3157,11 +3289,11 @@ var TabbedTerminalPanelInner = ({
|
|
|
3157
3289
|
color: theme.colors.textSecondary
|
|
3158
3290
|
},
|
|
3159
3291
|
children: [
|
|
3160
|
-
/* @__PURE__ */
|
|
3292
|
+
/* @__PURE__ */ jsx10(TerminalIcon2, {
|
|
3161
3293
|
size: 32,
|
|
3162
3294
|
style: { opacity: 0.5, marginBottom: "16px" }
|
|
3163
3295
|
}),
|
|
3164
|
-
/* @__PURE__ */
|
|
3296
|
+
/* @__PURE__ */ jsx10("button", {
|
|
3165
3297
|
onClick: () => addNewTab(),
|
|
3166
3298
|
style: {
|
|
3167
3299
|
marginTop: "16px",
|
|
@@ -3467,5 +3599,6 @@ export {
|
|
|
3467
3599
|
TabBar,
|
|
3468
3600
|
TRACER_VERSION,
|
|
3469
3601
|
TRACER_NAME,
|
|
3470
|
-
SpanStatusCode
|
|
3602
|
+
SpanStatusCode,
|
|
3603
|
+
SelectionDragChip
|
|
3471
3604
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Theme } from '@principal-ade/industry-theme';
|
|
2
|
+
export interface SelectionDragChipProps {
|
|
3
|
+
text: string;
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
theme: Theme;
|
|
7
|
+
label?: string;
|
|
8
|
+
sourcePanel?: string;
|
|
9
|
+
metadata?: Record<string, unknown>;
|
|
10
|
+
onDragStart?: () => void;
|
|
11
|
+
onDragEnd?: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function SelectionDragChip({ text, x, y, theme, label, sourcePanel, metadata, onDragStart, onDragEnd, }: SelectionDragChipProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=SelectionDragChip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionDragChip.d.ts","sourceRoot":"","sources":["../../../src/components/SelectionDragChip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAW3D,MAAM,WAAW,sBAAsB;IAErC,IAAI,EAAE,MAAM,CAAC;IAEb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IAEV,KAAK,EAAE,KAAK,CAAC;IAEb,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAYD,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,CAAC,EACD,CAAC,EACD,KAAK,EACL,KAAuB,EACvB,WAAkC,EAClC,QAAQ,EACR,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,2CA4DxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAkC3D,OAAO,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAGV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ThemedTerminal.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedTerminal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAkC3D,OAAO,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAGV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,8BAA8B,CAAC;AAEtC,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,KAAK,EAAE,KAAK,CAAC;CACd;AAsBD,eAAO,MAAM,cAAc,4HA6tC1B,CAAC"}
|
|
@@ -9,6 +9,10 @@ export interface XtermRendererProps extends TerminalRendererProps {
|
|
|
9
9
|
scrollbarFlush?: boolean;
|
|
10
10
|
enableSearch?: boolean;
|
|
11
11
|
enableWebLinks?: boolean;
|
|
12
|
+
enableSelectionDrag?: boolean;
|
|
13
|
+
selectionDragLabel?: string;
|
|
14
|
+
selectionDragSourcePanel?: string;
|
|
15
|
+
selectionDragMetadata?: Record<string, unknown>;
|
|
12
16
|
}
|
|
13
17
|
export declare const XtermRenderer: import("react").ForwardRefExoticComponent<XtermRendererProps & import("react").RefAttributes<TerminalRendererHandle>>;
|
|
14
18
|
//# sourceMappingURL=XtermRenderer.d.ts.map
|
|
@@ -1 +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;
|
|
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;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjD;AAcD,eAAO,MAAM,aAAa,uHA0DzB,CAAC"}
|
|
@@ -72,6 +72,10 @@ export interface ThemedTerminalProps {
|
|
|
72
72
|
fontSize?: number;
|
|
73
73
|
enableSearch?: boolean;
|
|
74
74
|
enableWebLinks?: boolean;
|
|
75
|
+
enableSelectionDrag?: boolean;
|
|
76
|
+
selectionDragLabel?: string;
|
|
77
|
+
selectionDragSourcePanel?: string;
|
|
78
|
+
selectionDragMetadata?: Record<string, unknown>;
|
|
75
79
|
allowTransparency?: boolean;
|
|
76
80
|
backgroundColor?: string;
|
|
77
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.types.d.ts","sourceRoot":"","sources":["../../../src/types/terminal.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"terminal.types.d.ts","sourceRoot":"","sources":["../../../src/types/terminal.types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED