@omg-dev/app 0.6.1 → 0.6.3
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-lib/{ChangelogPage-Cjj_DiYL.js → ChangelogPage-Bv_rKSK3.js} +30 -1
- package/dist-lib/{SessionFilesPanel-DxVJ43fE.js → SessionFilesPanel-BTJ9vqdn.js} +8 -8
- package/dist-lib/{TermView-B4V-DyD-.js → TermView-BTJAs7MJ.js} +133 -149
- package/dist-lib/{chat-engine-CUiDTHFP.js → chat-engine-B40IRpBU.js} +1 -1
- package/dist-lib/{coding-agents-page-DtxZ0nbQ.js → coding-agents-page-DQKPO5Bl.js} +1 -1
- package/dist-lib/{computer-page-DIJeFOZz.js → computer-page-DovSToHI.js} +1770 -1640
- package/dist-lib/{embedded-PUsgcSTE.js → embedded-DPWsHnEw.js} +9167 -9045
- package/dist-lib/index.d.ts +7 -0
- package/dist-lib/index.js +1 -1
- package/dist-lib/keyboard-B1h20l1J.js +21 -0
- package/dist-lib/{resume-session-sheet-DTe_2QtJ.js → resume-session-sheet-CNJj84m_.js} +1 -1
- package/dist-lib/{session-token-usage-DY4vFlfs.js → session-token-usage-DMGD9_8J.js} +1 -1
- package/dist-lib/{shipped-page-B-ruG8li.js → shipped-page-CLVvmH2T.js} +32 -32
- package/dist-lib/{streamdown-response-BQy3geXs.js → streamdown-response-CaF9L4PO.js} +1 -1
- package/dist-lib/styles.css +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as r, jsx as k, Fragment as vA } from "react/jsx-runtime";
|
|
2
2
|
import { useState as L, useRef as R, useEffect as p, useCallback as q } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { f as UA, o as iQ, X as CA, a9 as wQ, y as sQ, aa as tQ, ab as eQ, a3 as aQ, ac as MQ, R as hQ, C as NQ } from "./embedded-DPWsHnEw.js";
|
|
4
|
+
import { K as ZA } from "./keyboard-B1h20l1J.js";
|
|
4
5
|
/**
|
|
5
6
|
* @license lucide-react v0.577.0 - ISC
|
|
6
7
|
*
|
|
@@ -13,7 +14,7 @@ const cQ = [
|
|
|
13
14
|
["path", { d: "m17 18 4-4-4-4", key: "z2g111" }],
|
|
14
15
|
["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113", key: "bjbb7m" }],
|
|
15
16
|
["rect", { x: "8", y: "2", width: "8", height: "4", rx: "1", key: "ublpy" }]
|
|
16
|
-
],
|
|
17
|
+
], jA = UA("clipboard-paste", cQ);
|
|
17
18
|
/**
|
|
18
19
|
* @license lucide-react v0.577.0 - ISC
|
|
19
20
|
*
|
|
@@ -21,23 +22,6 @@ const cQ = [
|
|
|
21
22
|
* See the LICENSE file in the root directory of this source tree.
|
|
22
23
|
*/
|
|
23
24
|
const kQ = [
|
|
24
|
-
["path", { d: "M10 8h.01", key: "1r9ogq" }],
|
|
25
|
-
["path", { d: "M12 12h.01", key: "1mp3jc" }],
|
|
26
|
-
["path", { d: "M14 8h.01", key: "1primd" }],
|
|
27
|
-
["path", { d: "M16 12h.01", key: "1l6xoz" }],
|
|
28
|
-
["path", { d: "M18 8h.01", key: "emo2bl" }],
|
|
29
|
-
["path", { d: "M6 8h.01", key: "x9i8wu" }],
|
|
30
|
-
["path", { d: "M7 16h10", key: "wp8him" }],
|
|
31
|
-
["path", { d: "M8 12h.01", key: "czm47f" }],
|
|
32
|
-
["rect", { width: "20", height: "16", x: "2", y: "4", rx: "2", key: "18n3k1" }]
|
|
33
|
-
], jA = NA("keyboard", kQ);
|
|
34
|
-
/**
|
|
35
|
-
* @license lucide-react v0.577.0 - ISC
|
|
36
|
-
*
|
|
37
|
-
* This source code is licensed under the ISC license.
|
|
38
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
39
|
-
*/
|
|
40
|
-
const GQ = [
|
|
41
25
|
["path", { d: "M12 17v5", key: "bb1du9" }],
|
|
42
26
|
["path", { d: "M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89", key: "znwnzq" }],
|
|
43
27
|
["path", { d: "m2 2 20 20", key: "1ooewy" }],
|
|
@@ -48,14 +32,14 @@ const GQ = [
|
|
|
48
32
|
key: "c9qhm2"
|
|
49
33
|
}
|
|
50
34
|
]
|
|
51
|
-
],
|
|
35
|
+
], GQ = UA("pin-off", kQ);
|
|
52
36
|
/**
|
|
53
37
|
* @license lucide-react v0.577.0 - ISC
|
|
54
38
|
*
|
|
55
39
|
* This source code is licensed under the ISC license.
|
|
56
40
|
* See the LICENSE file in the root directory of this source tree.
|
|
57
41
|
*/
|
|
58
|
-
const
|
|
42
|
+
const FQ = [
|
|
59
43
|
[
|
|
60
44
|
"path",
|
|
61
45
|
{
|
|
@@ -64,8 +48,8 @@ const JQ = [
|
|
|
64
48
|
}
|
|
65
49
|
],
|
|
66
50
|
["path", { d: "M6 12h16", key: "s4cdu5" }]
|
|
67
|
-
],
|
|
68
|
-
var
|
|
51
|
+
], JQ = UA("send-horizontal", FQ);
|
|
52
|
+
var rA = /* @__PURE__ */ ((Q) => (Q[Q.CURSOR_KEY_APPLICATION = 0] = "CURSOR_KEY_APPLICATION", Q[Q.KEYPAD_KEY_APPLICATION = 1] = "KEYPAD_KEY_APPLICATION", Q[Q.IGNORE_KEYPAD_WITH_NUMLOCK = 2] = "IGNORE_KEYPAD_WITH_NUMLOCK", Q[Q.ALT_ESC_PREFIX = 3] = "ALT_ESC_PREFIX", Q[Q.MODIFY_OTHER_KEYS_STATE_2 = 4] = "MODIFY_OTHER_KEYS_STATE_2", Q[Q.KITTY_KEYBOARD_FLAGS = 5] = "KITTY_KEYBOARD_FLAGS", Q))(rA || {}), PA = /* @__PURE__ */ ((Q) => (Q[Q.RELEASE = 0] = "RELEASE", Q[Q.PRESS = 1] = "PRESS", Q[Q.REPEAT = 2] = "REPEAT", Q))(PA || {}), o = /* @__PURE__ */ ((Q) => (Q[Q.UNIDENTIFIED = 0] = "UNIDENTIFIED", Q[Q.GRAVE = 1] = "GRAVE", Q[Q.BACKSLASH = 2] = "BACKSLASH", Q[Q.BRACKET_LEFT = 3] = "BRACKET_LEFT", Q[Q.BRACKET_RIGHT = 4] = "BRACKET_RIGHT", Q[Q.COMMA = 5] = "COMMA", Q[Q.ZERO = 6] = "ZERO", Q[Q.ONE = 7] = "ONE", Q[Q.TWO = 8] = "TWO", Q[Q.THREE = 9] = "THREE", Q[Q.FOUR = 10] = "FOUR", Q[Q.FIVE = 11] = "FIVE", Q[Q.SIX = 12] = "SIX", Q[Q.SEVEN = 13] = "SEVEN", Q[Q.EIGHT = 14] = "EIGHT", Q[Q.NINE = 15] = "NINE", Q[Q.EQUAL = 16] = "EQUAL", Q[Q.INTL_BACKSLASH = 17] = "INTL_BACKSLASH", Q[Q.INTL_RO = 18] = "INTL_RO", Q[Q.INTL_YEN = 19] = "INTL_YEN", Q[Q.A = 20] = "A", Q[Q.B = 21] = "B", Q[Q.C = 22] = "C", Q[Q.D = 23] = "D", Q[Q.E = 24] = "E", Q[Q.F = 25] = "F", Q[Q.G = 26] = "G", Q[Q.H = 27] = "H", Q[Q.I = 28] = "I", Q[Q.J = 29] = "J", Q[Q.K = 30] = "K", Q[Q.L = 31] = "L", Q[Q.M = 32] = "M", Q[Q.N = 33] = "N", Q[Q.O = 34] = "O", Q[Q.P = 35] = "P", Q[Q.Q = 36] = "Q", Q[Q.R = 37] = "R", Q[Q.S = 38] = "S", Q[Q.T = 39] = "T", Q[Q.U = 40] = "U", Q[Q.V = 41] = "V", Q[Q.W = 42] = "W", Q[Q.X = 43] = "X", Q[Q.Y = 44] = "Y", Q[Q.Z = 45] = "Z", Q[Q.MINUS = 46] = "MINUS", Q[Q.PERIOD = 47] = "PERIOD", Q[Q.QUOTE = 48] = "QUOTE", Q[Q.SEMICOLON = 49] = "SEMICOLON", Q[Q.SLASH = 50] = "SLASH", Q[Q.ALT_LEFT = 51] = "ALT_LEFT", Q[Q.ALT_RIGHT = 52] = "ALT_RIGHT", Q[Q.BACKSPACE = 53] = "BACKSPACE", Q[Q.CAPS_LOCK = 54] = "CAPS_LOCK", Q[Q.CONTEXT_MENU = 55] = "CONTEXT_MENU", Q[Q.CONTROL_LEFT = 56] = "CONTROL_LEFT", Q[Q.CONTROL_RIGHT = 57] = "CONTROL_RIGHT", Q[Q.ENTER = 58] = "ENTER", Q[Q.META_LEFT = 59] = "META_LEFT", Q[Q.META_RIGHT = 60] = "META_RIGHT", Q[Q.SHIFT_LEFT = 61] = "SHIFT_LEFT", Q[Q.SHIFT_RIGHT = 62] = "SHIFT_RIGHT", Q[Q.SPACE = 63] = "SPACE", Q[Q.TAB = 64] = "TAB", Q[Q.CONVERT = 65] = "CONVERT", Q[Q.KANA_MODE = 66] = "KANA_MODE", Q[Q.NON_CONVERT = 67] = "NON_CONVERT", Q[Q.DELETE = 68] = "DELETE", Q[Q.END = 69] = "END", Q[Q.HELP = 70] = "HELP", Q[Q.HOME = 71] = "HOME", Q[Q.INSERT = 72] = "INSERT", Q[Q.PAGE_DOWN = 73] = "PAGE_DOWN", Q[Q.PAGE_UP = 74] = "PAGE_UP", Q[Q.DOWN = 75] = "DOWN", Q[Q.LEFT = 76] = "LEFT", Q[Q.RIGHT = 77] = "RIGHT", Q[Q.UP = 78] = "UP", Q[Q.NUM_LOCK = 79] = "NUM_LOCK", Q[Q.KP_0 = 80] = "KP_0", Q[Q.KP_1 = 81] = "KP_1", Q[Q.KP_2 = 82] = "KP_2", Q[Q.KP_3 = 83] = "KP_3", Q[Q.KP_4 = 84] = "KP_4", Q[Q.KP_5 = 85] = "KP_5", Q[Q.KP_6 = 86] = "KP_6", Q[Q.KP_7 = 87] = "KP_7", Q[Q.KP_8 = 88] = "KP_8", Q[Q.KP_9 = 89] = "KP_9", Q[Q.KP_PLUS = 90] = "KP_PLUS", Q[Q.KP_BACKSPACE = 91] = "KP_BACKSPACE", Q[Q.KP_CLEAR = 92] = "KP_CLEAR", Q[Q.KP_CLEAR_ENTRY = 93] = "KP_CLEAR_ENTRY", Q[Q.KP_COMMA = 94] = "KP_COMMA", Q[Q.KP_PERIOD = 95] = "KP_PERIOD", Q[Q.KP_DIVIDE = 96] = "KP_DIVIDE", Q[Q.KP_ENTER = 97] = "KP_ENTER", Q[Q.KP_EQUAL = 98] = "KP_EQUAL", Q[Q.KP_MEMORY_ADD = 99] = "KP_MEMORY_ADD", Q[Q.KP_MEMORY_CLEAR = 100] = "KP_MEMORY_CLEAR", Q[Q.KP_MEMORY_RECALL = 101] = "KP_MEMORY_RECALL", Q[Q.KP_MEMORY_STORE = 102] = "KP_MEMORY_STORE", Q[Q.KP_MEMORY_SUBTRACT = 103] = "KP_MEMORY_SUBTRACT", Q[Q.KP_MULTIPLY = 104] = "KP_MULTIPLY", Q[Q.KP_PAREN_LEFT = 105] = "KP_PAREN_LEFT", Q[Q.KP_PAREN_RIGHT = 106] = "KP_PAREN_RIGHT", Q[Q.KP_MINUS = 107] = "KP_MINUS", Q[Q.KP_SEPARATOR = 108] = "KP_SEPARATOR", Q[Q.NUMPAD_UP = 109] = "NUMPAD_UP", Q[Q.NUMPAD_DOWN = 110] = "NUMPAD_DOWN", Q[Q.NUMPAD_RIGHT = 111] = "NUMPAD_RIGHT", Q[Q.NUMPAD_LEFT = 112] = "NUMPAD_LEFT", Q[Q.NUMPAD_BEGIN = 113] = "NUMPAD_BEGIN", Q[Q.NUMPAD_HOME = 114] = "NUMPAD_HOME", Q[Q.NUMPAD_END = 115] = "NUMPAD_END", Q[Q.NUMPAD_INSERT = 116] = "NUMPAD_INSERT", Q[Q.NUMPAD_DELETE = 117] = "NUMPAD_DELETE", Q[Q.NUMPAD_PAGE_UP = 118] = "NUMPAD_PAGE_UP", Q[Q.NUMPAD_PAGE_DOWN = 119] = "NUMPAD_PAGE_DOWN", Q[Q.ESCAPE = 120] = "ESCAPE", Q[Q.F1 = 121] = "F1", Q[Q.F2 = 122] = "F2", Q[Q.F3 = 123] = "F3", Q[Q.F4 = 124] = "F4", Q[Q.F5 = 125] = "F5", Q[Q.F6 = 126] = "F6", Q[Q.F7 = 127] = "F7", Q[Q.F8 = 128] = "F8", Q[Q.F9 = 129] = "F9", Q[Q.F10 = 130] = "F10", Q[Q.F11 = 131] = "F11", Q[Q.F12 = 132] = "F12", Q[Q.F13 = 133] = "F13", Q[Q.F14 = 134] = "F14", Q[Q.F15 = 135] = "F15", Q[Q.F16 = 136] = "F16", Q[Q.F17 = 137] = "F17", Q[Q.F18 = 138] = "F18", Q[Q.F19 = 139] = "F19", Q[Q.F20 = 140] = "F20", Q[Q.F21 = 141] = "F21", Q[Q.F22 = 142] = "F22", Q[Q.F23 = 143] = "F23", Q[Q.F24 = 144] = "F24", Q[Q.F25 = 145] = "F25", Q[Q.FN_LOCK = 146] = "FN_LOCK", Q[Q.PRINT_SCREEN = 147] = "PRINT_SCREEN", Q[Q.SCROLL_LOCK = 148] = "SCROLL_LOCK", Q[Q.PAUSE = 149] = "PAUSE", Q[Q.BROWSER_BACK = 150] = "BROWSER_BACK", Q[Q.BROWSER_FAVORITES = 151] = "BROWSER_FAVORITES", Q[Q.BROWSER_FORWARD = 152] = "BROWSER_FORWARD", Q[Q.BROWSER_HOME = 153] = "BROWSER_HOME", Q[Q.BROWSER_REFRESH = 154] = "BROWSER_REFRESH", Q[Q.BROWSER_SEARCH = 155] = "BROWSER_SEARCH", Q[Q.BROWSER_STOP = 156] = "BROWSER_STOP", Q[Q.EJECT = 157] = "EJECT", Q[Q.LAUNCH_APP_1 = 158] = "LAUNCH_APP_1", Q[Q.LAUNCH_APP_2 = 159] = "LAUNCH_APP_2", Q[Q.LAUNCH_MAIL = 160] = "LAUNCH_MAIL", Q[Q.MEDIA_PLAY_PAUSE = 161] = "MEDIA_PLAY_PAUSE", Q[Q.MEDIA_SELECT = 162] = "MEDIA_SELECT", Q[Q.MEDIA_STOP = 163] = "MEDIA_STOP", Q[Q.MEDIA_TRACK_NEXT = 164] = "MEDIA_TRACK_NEXT", Q[Q.MEDIA_TRACK_PREVIOUS = 165] = "MEDIA_TRACK_PREVIOUS", Q[Q.POWER = 166] = "POWER", Q[Q.SLEEP = 167] = "SLEEP", Q[Q.AUDIO_VOLUME_DOWN = 168] = "AUDIO_VOLUME_DOWN", Q[Q.AUDIO_VOLUME_MUTE = 169] = "AUDIO_VOLUME_MUTE", Q[Q.AUDIO_VOLUME_UP = 170] = "AUDIO_VOLUME_UP", Q[Q.WAKE_UP = 171] = "WAKE_UP", Q[Q.COPY = 172] = "COPY", Q[Q.CUT = 173] = "CUT", Q[Q.PASTE = 174] = "PASTE", Q))(o || {}), u = /* @__PURE__ */ ((Q) => (Q[Q.NONE = 0] = "NONE", Q[Q.SHIFT = 1] = "SHIFT", Q[Q.CTRL = 2] = "CTRL", Q[Q.ALT = 4] = "ALT", Q[Q.SUPER = 8] = "SUPER", Q[Q.CAPSLOCK = 16] = "CAPSLOCK", Q[Q.NUMLOCK = 32] = "NUMLOCK", Q))(u || {}), JA = /* @__PURE__ */ ((Q) => (Q[Q.NONE = 0] = "NONE", Q[Q.PARTIAL = 1] = "PARTIAL", Q[Q.FULL = 2] = "FULL", Q))(JA || {});
|
|
69
53
|
const TA = 80;
|
|
70
54
|
var y = /* @__PURE__ */ ((Q) => (Q[Q.BOLD = 1] = "BOLD", Q[Q.ITALIC = 2] = "ITALIC", Q[Q.UNDERLINE = 4] = "UNDERLINE", Q[Q.STRIKETHROUGH = 8] = "STRIKETHROUGH", Q[Q.INVERSE = 16] = "INVERSE", Q[Q.INVISIBLE = 32] = "INVISIBLE", Q[Q.BLINK = 64] = "BLINK", Q[Q.FAINT = 128] = "FAINT", Q))(y || {});
|
|
71
55
|
class IA {
|
|
@@ -73,7 +57,7 @@ class IA {
|
|
|
73
57
|
this.exports = A.exports, this.memory = this.exports.memory;
|
|
74
58
|
}
|
|
75
59
|
createKeyEncoder() {
|
|
76
|
-
return new
|
|
60
|
+
return new KQ(this.exports);
|
|
77
61
|
}
|
|
78
62
|
createTerminal(A = 80, B = 24, g) {
|
|
79
63
|
return new UQ(this.exports, this.memory, A, B, g);
|
|
@@ -134,7 +118,7 @@ class IA {
|
|
|
134
118
|
return new IA(E);
|
|
135
119
|
}
|
|
136
120
|
}
|
|
137
|
-
class
|
|
121
|
+
class KQ {
|
|
138
122
|
constructor(A) {
|
|
139
123
|
this.encoder = 0, this.exports = A;
|
|
140
124
|
const B = this.exports.ghostty_wasm_alloc_opaque(), g = this.exports.ghostty_key_encoder_new(0, B);
|
|
@@ -148,7 +132,7 @@ class rQ {
|
|
|
148
132
|
new DataView(this.exports.memory.buffer).setUint8(g, typeof B == "boolean" ? B ? 1 : 0 : B), this.exports.ghostty_key_encoder_setopt(this.encoder, A, g), this.exports.ghostty_wasm_free_u8(g);
|
|
149
133
|
}
|
|
150
134
|
setKittyFlags(A) {
|
|
151
|
-
this.setOption(
|
|
135
|
+
this.setOption(rA.KITTY_KEYBOARD_FLAGS, A);
|
|
152
136
|
}
|
|
153
137
|
encode(A) {
|
|
154
138
|
const B = this.exports.ghostty_wasm_alloc_opaque(), g = this.exports.ghostty_key_event_new(0, B);
|
|
@@ -314,14 +298,14 @@ const XA = class m {
|
|
|
314
298
|
}
|
|
315
299
|
/** For compatibility with old API */
|
|
316
300
|
isDirty() {
|
|
317
|
-
return this.update() !==
|
|
301
|
+
return this.update() !== JA.NONE;
|
|
318
302
|
}
|
|
319
303
|
/**
|
|
320
304
|
* Check if a full redraw is needed (screen change, resize, etc.)
|
|
321
305
|
* Note: This calls update() to ensure fresh state. Safe to call multiple times.
|
|
322
306
|
*/
|
|
323
307
|
needsFullRedraw() {
|
|
324
|
-
return this.update() ===
|
|
308
|
+
return this.update() === JA.FULL;
|
|
325
309
|
}
|
|
326
310
|
/** Mark render state as clean after rendering */
|
|
327
311
|
clearDirty() {
|
|
@@ -539,7 +523,7 @@ class S {
|
|
|
539
523
|
this.listeners = [];
|
|
540
524
|
}
|
|
541
525
|
}
|
|
542
|
-
class
|
|
526
|
+
class rQ {
|
|
543
527
|
constructor(A) {
|
|
544
528
|
this.bufferChangeEmitter = new S(), this.terminal = A;
|
|
545
529
|
}
|
|
@@ -580,7 +564,7 @@ class mA {
|
|
|
580
564
|
hyperlink_id: 0,
|
|
581
565
|
grapheme_len: 0
|
|
582
566
|
};
|
|
583
|
-
this.nullCell = new
|
|
567
|
+
this.nullCell = new KA(g, 0);
|
|
584
568
|
}
|
|
585
569
|
get type() {
|
|
586
570
|
return this.bufferType;
|
|
@@ -615,7 +599,7 @@ class mA {
|
|
|
615
599
|
} else
|
|
616
600
|
C = this.bufferType === "normal" ? A - g : A, E = B.getLine(C), I = B.isRowWrapped(C);
|
|
617
601
|
if (E)
|
|
618
|
-
return new
|
|
602
|
+
return new yQ(E, I, B.cols);
|
|
619
603
|
}
|
|
620
604
|
getNullCell() {
|
|
621
605
|
return this.nullCell;
|
|
@@ -624,7 +608,7 @@ class mA {
|
|
|
624
608
|
return this.terminal.wasmTerm;
|
|
625
609
|
}
|
|
626
610
|
}
|
|
627
|
-
class
|
|
611
|
+
class yQ {
|
|
628
612
|
constructor(A, B, g) {
|
|
629
613
|
this.cells = A, this._isWrapped = B, this._length = g;
|
|
630
614
|
}
|
|
@@ -636,7 +620,7 @@ class nQ {
|
|
|
636
620
|
}
|
|
637
621
|
getCell(A) {
|
|
638
622
|
if (!(A < 0 || A >= this._length))
|
|
639
|
-
return A >= this.cells.length ? new
|
|
623
|
+
return A >= this.cells.length ? new KA(
|
|
640
624
|
{
|
|
641
625
|
codepoint: 0,
|
|
642
626
|
fg_r: 204,
|
|
@@ -651,7 +635,7 @@ class nQ {
|
|
|
651
635
|
grapheme_len: 0
|
|
652
636
|
},
|
|
653
637
|
A
|
|
654
|
-
) : new
|
|
638
|
+
) : new KA(this.cells[A], A);
|
|
655
639
|
}
|
|
656
640
|
translateToString(A = !1, B = 0, g = this._length) {
|
|
657
641
|
const E = Math.max(0, Math.min(B, this._length)), C = Math.max(E, Math.min(g, this._length));
|
|
@@ -666,7 +650,7 @@ class nQ {
|
|
|
666
650
|
return A && (I = I.trimEnd()), I;
|
|
667
651
|
}
|
|
668
652
|
}
|
|
669
|
-
class
|
|
653
|
+
class KA {
|
|
670
654
|
constructor(A, B) {
|
|
671
655
|
this.cell = A, this.x = B;
|
|
672
656
|
}
|
|
@@ -738,7 +722,7 @@ class rA {
|
|
|
738
722
|
return (this.cell.flags & y.FAINT) !== 0;
|
|
739
723
|
}
|
|
740
724
|
}
|
|
741
|
-
const
|
|
725
|
+
const nQ = {
|
|
742
726
|
// Letters
|
|
743
727
|
KeyA: o.A,
|
|
744
728
|
KeyB: o.B,
|
|
@@ -859,7 +843,7 @@ const lQ = {
|
|
|
859
843
|
F23: o.F23,
|
|
860
844
|
F24: o.F24
|
|
861
845
|
};
|
|
862
|
-
class
|
|
846
|
+
class lQ {
|
|
863
847
|
/**
|
|
864
848
|
* Create a new InputHandler
|
|
865
849
|
* @param ghostty - Ghostty instance (for creating KeyEncoder)
|
|
@@ -891,7 +875,7 @@ class qQ {
|
|
|
891
875
|
* @returns Key enum value or null if unmapped
|
|
892
876
|
*/
|
|
893
877
|
mapKeyCode(A) {
|
|
894
|
-
return
|
|
878
|
+
return nQ[A] ?? null;
|
|
895
879
|
}
|
|
896
880
|
/**
|
|
897
881
|
* Extract modifier flags from KeyboardEvent
|
|
@@ -1010,7 +994,7 @@ class qQ {
|
|
|
1010
994
|
try {
|
|
1011
995
|
if (this.getModeCallback) {
|
|
1012
996
|
const i = this.getModeCallback(1);
|
|
1013
|
-
this.encoder.setOption(
|
|
997
|
+
this.encoder.setOption(rA.CURSOR_KEY_APPLICATION, i);
|
|
1014
998
|
}
|
|
1015
999
|
const C = A.key.length === 1 && A.key.charCodeAt(0) < 128 ? A.key.toLowerCase() : void 0, I = this.encoder.encode({
|
|
1016
1000
|
action: E,
|
|
@@ -1082,7 +1066,7 @@ class qQ {
|
|
|
1082
1066
|
return !this.isDisposed;
|
|
1083
1067
|
}
|
|
1084
1068
|
}
|
|
1085
|
-
class
|
|
1069
|
+
class qQ {
|
|
1086
1070
|
// Terminal instance for buffer access
|
|
1087
1071
|
constructor(A) {
|
|
1088
1072
|
this.terminal = A, this.providers = [], this.linkCache = /* @__PURE__ */ new Map(), this.scannedRows = /* @__PURE__ */ new Set();
|
|
@@ -1197,7 +1181,7 @@ class YQ {
|
|
|
1197
1181
|
this.providers = [];
|
|
1198
1182
|
}
|
|
1199
1183
|
}
|
|
1200
|
-
class
|
|
1184
|
+
class YQ {
|
|
1201
1185
|
constructor(A) {
|
|
1202
1186
|
this.terminal = A;
|
|
1203
1187
|
}
|
|
@@ -1372,7 +1356,7 @@ const yA = class EA {
|
|
|
1372
1356
|
};
|
|
1373
1357
|
yA.URL_REGEX = /(?:https?:\/\/|mailto:|ftp:\/\/|ssh:\/\/|git:\/\/|tel:|magnet:|gemini:\/\/|gopher:\/\/|news:)[\w\-.~:\/?#@!$&*+,;=%]+/gi;
|
|
1374
1358
|
yA.TRAILING_PUNCTUATION = /[.,;!?)\]]+$/;
|
|
1375
|
-
let
|
|
1359
|
+
let LQ = yA;
|
|
1376
1360
|
const bA = {
|
|
1377
1361
|
foreground: "#d4d4d4",
|
|
1378
1362
|
background: "#1e1e1e",
|
|
@@ -1399,7 +1383,7 @@ const bA = {
|
|
|
1399
1383
|
brightCyan: "#29b8db",
|
|
1400
1384
|
brightWhite: "#ffffff"
|
|
1401
1385
|
};
|
|
1402
|
-
class
|
|
1386
|
+
class RQ {
|
|
1403
1387
|
constructor(A, B = {}) {
|
|
1404
1388
|
this.cursorVisible = !0, this.lastCursorPosition = { x: 0, y: 0 }, this.lastViewportY = 0, this.currentBuffer = null, this.currentSelectionCoords = null, this.hoveredHyperlinkId = 0, this.previousHoveredHyperlinkId = 0, this.hoveredLinkRange = null, this.previousHoveredLinkRange = null, this.canvas = A;
|
|
1405
1389
|
const g = A.getContext("2d", { alpha: !0 });
|
|
@@ -1497,17 +1481,17 @@ class SQ {
|
|
|
1497
1481
|
let G = null;
|
|
1498
1482
|
if (g > 0)
|
|
1499
1483
|
if (M < g && E) {
|
|
1500
|
-
const
|
|
1501
|
-
G = E.getScrollbackLine(
|
|
1484
|
+
const U = s - Math.floor(g) + M;
|
|
1485
|
+
G = E.getScrollbackLine(U);
|
|
1502
1486
|
} else {
|
|
1503
|
-
const
|
|
1504
|
-
G = A.getLine(
|
|
1487
|
+
const U = M - Math.floor(g);
|
|
1488
|
+
G = A.getLine(U);
|
|
1505
1489
|
}
|
|
1506
1490
|
else
|
|
1507
1491
|
G = A.getLine(M);
|
|
1508
1492
|
if (G) {
|
|
1509
|
-
for (const
|
|
1510
|
-
if (
|
|
1493
|
+
for (const U of G)
|
|
1494
|
+
if (U.hyperlink_id === this.hoveredHyperlinkId || U.hyperlink_id === this.previousHoveredHyperlinkId) {
|
|
1511
1495
|
w.add(M);
|
|
1512
1496
|
break;
|
|
1513
1497
|
}
|
|
@@ -1533,11 +1517,11 @@ class SQ {
|
|
|
1533
1517
|
let G = null;
|
|
1534
1518
|
if (g > 0)
|
|
1535
1519
|
if (M < g && E) {
|
|
1536
|
-
const
|
|
1537
|
-
G = E.getScrollbackLine(
|
|
1520
|
+
const U = s - Math.floor(g) + M;
|
|
1521
|
+
G = E.getScrollbackLine(U);
|
|
1538
1522
|
} else {
|
|
1539
|
-
const
|
|
1540
|
-
G = A.getLine(
|
|
1523
|
+
const U = g > 0 ? M - Math.floor(g) : M;
|
|
1524
|
+
G = A.getLine(U);
|
|
1541
1525
|
}
|
|
1542
1526
|
else
|
|
1543
1527
|
G = A.getLine(M);
|
|
@@ -1788,7 +1772,7 @@ class SQ {
|
|
|
1788
1772
|
this.stopCursorBlink();
|
|
1789
1773
|
}
|
|
1790
1774
|
}
|
|
1791
|
-
const
|
|
1775
|
+
const NA = class MA {
|
|
1792
1776
|
// ms between scroll steps
|
|
1793
1777
|
constructor(A, B, g, E) {
|
|
1794
1778
|
this.selectionStart = null, this.selectionEnd = null, this.isSelecting = !1, this.mouseDownTarget = null, this.dirtySelectionRows = /* @__PURE__ */ new Set(), this.selectionChangedEmitter = new S(), this.boundMouseUpHandler = null, this.boundContextMenuHandler = null, this.boundClickHandler = null, this.boundDocumentMouseMoveHandler = null, this.autoScrollInterval = null, this.autoScrollDirection = 0, this.terminal = A, this.renderer = B, this.wasmTerm = g, this.textarea = E, this.attachEventListeners();
|
|
@@ -2159,11 +2143,11 @@ const cA = class MA {
|
|
|
2159
2143
|
requestRender() {
|
|
2160
2144
|
}
|
|
2161
2145
|
};
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
let
|
|
2166
|
-
class
|
|
2146
|
+
NA.AUTO_SCROLL_EDGE_SIZE = 30;
|
|
2147
|
+
NA.AUTO_SCROLL_SPEED = 3;
|
|
2148
|
+
NA.AUTO_SCROLL_INTERVAL = 50;
|
|
2149
|
+
let SQ = NA;
|
|
2150
|
+
class OQ {
|
|
2167
2151
|
// 200ms fade animation
|
|
2168
2152
|
constructor(A = {}) {
|
|
2169
2153
|
this.unicode = {
|
|
@@ -2253,13 +2237,13 @@ class HQ {
|
|
|
2253
2237
|
if (D >= G && D <= G + K)
|
|
2254
2238
|
this.isDraggingScrollbar = !0, this.scrollbarDragStart = D, this.scrollbarDragStartViewportY = this.viewportY, this.canvas && (this.canvas.style.userSelect = "none", this.canvas.style.webkitUserSelect = "none");
|
|
2255
2239
|
else {
|
|
2256
|
-
const
|
|
2240
|
+
const U = 1 - (D - t) / w, n = Math.round(U * E);
|
|
2257
2241
|
this.scrollToLine(Math.max(0, Math.min(E, n)));
|
|
2258
2242
|
}
|
|
2259
2243
|
}
|
|
2260
2244
|
}, this.handleMouseUp = () => {
|
|
2261
2245
|
this.isDraggingScrollbar && (this.isDraggingScrollbar = !1, this.scrollbarDragStart = null, this.canvas && (this.canvas.style.userSelect = "", this.canvas.style.webkitUserSelect = ""), this.scrollbarVisible && this.getScrollbackLength() > 0 && this.showScrollbar());
|
|
2262
|
-
}, this.ghostty = A.ghostty ??
|
|
2246
|
+
}, this.ghostty = A.ghostty ?? bQ();
|
|
2263
2247
|
const B = {
|
|
2264
2248
|
cols: A.cols ?? 80,
|
|
2265
2249
|
rows: A.rows ?? 24,
|
|
@@ -2280,7 +2264,7 @@ class HQ {
|
|
|
2280
2264
|
const I = g[E];
|
|
2281
2265
|
return g[E] = C, this.isOpen && this.handleOptionChange(E, C, I), !0;
|
|
2282
2266
|
}
|
|
2283
|
-
}), this.cols = this.options.cols, this.rows = this.options.rows, this.buffer = new
|
|
2267
|
+
}), this.cols = this.options.cols, this.rows = this.options.rows, this.buffer = new rQ(this);
|
|
2284
2268
|
}
|
|
2285
2269
|
// ==========================================================================
|
|
2286
2270
|
// Option Change Handling (for mutable options)
|
|
@@ -2401,13 +2385,13 @@ class HQ {
|
|
|
2401
2385
|
E.preventDefault(), g.focus();
|
|
2402
2386
|
}), this.canvas.addEventListener("touchend", (E) => {
|
|
2403
2387
|
E.preventDefault(), g.focus();
|
|
2404
|
-
}), this.renderer = new
|
|
2388
|
+
}), this.renderer = new RQ(this.canvas, {
|
|
2405
2389
|
fontSize: this.options.fontSize,
|
|
2406
2390
|
fontFamily: this.options.fontFamily,
|
|
2407
2391
|
cursorStyle: this.options.cursorStyle,
|
|
2408
2392
|
cursorBlink: this.options.cursorBlink,
|
|
2409
2393
|
theme: this.options.theme
|
|
2410
|
-
}), this.renderer.resize(this.cols, this.rows), this.inputHandler = new
|
|
2394
|
+
}), this.renderer.resize(this.cols, this.rows), this.inputHandler = new lQ(
|
|
2411
2395
|
this.ghostty,
|
|
2412
2396
|
A,
|
|
2413
2397
|
(E) => {
|
|
@@ -2424,7 +2408,7 @@ class HQ {
|
|
|
2424
2408
|
var C;
|
|
2425
2409
|
return ((C = this.wasmTerm) == null ? void 0 : C.getMode(E, !1)) ?? !1;
|
|
2426
2410
|
}
|
|
2427
|
-
), this.selectionManager = new
|
|
2411
|
+
), this.selectionManager = new SQ(
|
|
2428
2412
|
this,
|
|
2429
2413
|
this.renderer,
|
|
2430
2414
|
this.wasmTerm,
|
|
@@ -2436,7 +2420,7 @@ class HQ {
|
|
|
2436
2420
|
E.preventDefault(), E.stopPropagation();
|
|
2437
2421
|
const I = (C = E.clipboardData) == null ? void 0 : C.getData("text");
|
|
2438
2422
|
I && this.paste(I);
|
|
2439
|
-
}), this.linkDetector = new
|
|
2423
|
+
}), this.linkDetector = new qQ(this), this.linkDetector.registerProvider(new YQ(this)), this.linkDetector.registerProvider(new LQ(this)), A.addEventListener("mousedown", this.handleMouseDown, { capture: !0 }), A.addEventListener("mousemove", this.handleMouseMove), A.addEventListener("mouseleave", this.handleMouseLeave), A.addEventListener("click", this.handleClick), document.addEventListener("mouseup", this.handleMouseUp), A.addEventListener("wheel", this.handleWheel, { passive: !1, capture: !0 }), this.renderer.render(this.wasmTerm, !0, this.viewportY, this, this.scrollbarOpacity), this.startRenderLoop(), this.focus();
|
|
2440
2424
|
} catch (B) {
|
|
2441
2425
|
throw this.isOpen = !1, this.cleanupComponents(), new Error(`Failed to open terminal: ${B}`);
|
|
2442
2426
|
}
|
|
@@ -2780,7 +2764,7 @@ class HQ {
|
|
|
2780
2764
|
var J, K, M, G;
|
|
2781
2765
|
if (e !== this.currentHoveredLink && ((K = (J = this.currentHoveredLink) == null ? void 0 : J.hover) == null || K.call(J, !1), this.currentHoveredLink = e, (M = e?.hover) == null || M.call(e, !0), this.element && (this.element.style.cursor = e ? "pointer" : "text"), this.renderer))
|
|
2782
2766
|
if (e) {
|
|
2783
|
-
const
|
|
2767
|
+
const U = ((G = this.wasmTerm) == null ? void 0 : G.getScrollbackLength()) || 0, n = this.getViewportY(), Z = Math.max(0, Math.floor(n)), j = e.range.start.y - U + Z, DA = e.range.end.y - U + Z;
|
|
2784
2768
|
j < this.rows && DA >= 0 ? this.renderer.setHoveredLinkRange({
|
|
2785
2769
|
startX: e.range.start.x,
|
|
2786
2770
|
startY: Math.max(0, j),
|
|
@@ -2900,8 +2884,8 @@ class HQ {
|
|
|
2900
2884
|
return this.assertOpen(), this.wasmTerm.hasMouseTracking();
|
|
2901
2885
|
}
|
|
2902
2886
|
}
|
|
2903
|
-
const
|
|
2904
|
-
class
|
|
2887
|
+
const HQ = 2, pQ = 1, xQ = 15, dQ = 100;
|
|
2888
|
+
class TQ {
|
|
2905
2889
|
constructor() {
|
|
2906
2890
|
this._isResizing = !1;
|
|
2907
2891
|
}
|
|
@@ -2968,7 +2952,7 @@ class mQ {
|
|
|
2968
2952
|
const C = window.getComputedStyle(E), I = Number.parseInt(C.getPropertyValue("padding-top")) || 0, D = Number.parseInt(C.getPropertyValue("padding-bottom")) || 0, i = Number.parseInt(C.getPropertyValue("padding-left")) || 0, s = Number.parseInt(C.getPropertyValue("padding-right")) || 0, a = E.clientWidth, c = E.clientHeight;
|
|
2969
2953
|
if (a === 0 || c === 0)
|
|
2970
2954
|
return;
|
|
2971
|
-
const t = a - i - s -
|
|
2955
|
+
const t = a - i - s - xQ, w = c - I - D, e = Math.max(HQ, Math.floor(t / g.width)), J = Math.max(pQ, Math.floor(w / g.height));
|
|
2972
2956
|
return { cols: e, rows: J };
|
|
2973
2957
|
}
|
|
2974
2958
|
/**
|
|
@@ -2985,15 +2969,15 @@ class mQ {
|
|
|
2985
2969
|
(A = this._terminal) != null && A.element && (this._resizeObserver || (this._resizeObserver = new ResizeObserver((B) => {
|
|
2986
2970
|
this._isResizing || !B[0] || (this._resizeDebounceTimer && clearTimeout(this._resizeDebounceTimer), this._resizeDebounceTimer = setTimeout(() => {
|
|
2987
2971
|
this.fit();
|
|
2988
|
-
},
|
|
2972
|
+
}, dQ));
|
|
2989
2973
|
}), this._resizeObserver.observe(this._terminal.element)));
|
|
2990
2974
|
}
|
|
2991
2975
|
}
|
|
2992
2976
|
let hA = null;
|
|
2993
|
-
async function
|
|
2977
|
+
async function mQ() {
|
|
2994
2978
|
hA || (hA = await IA.load());
|
|
2995
2979
|
}
|
|
2996
|
-
function
|
|
2980
|
+
function bQ() {
|
|
2997
2981
|
if (!hA)
|
|
2998
2982
|
throw new Error(
|
|
2999
2983
|
`ghostty-web not initialized. Call init() before creating Terminal instances.
|
|
@@ -3009,16 +2993,16 @@ For tests, pass a Ghostty instance directly:
|
|
|
3009
2993
|
);
|
|
3010
2994
|
return hA;
|
|
3011
2995
|
}
|
|
3012
|
-
let
|
|
3013
|
-
const
|
|
2996
|
+
let fQ = null;
|
|
2997
|
+
const uQ = () => fQ ??= mQ(), zQ = {
|
|
3014
2998
|
background: "#0b0b0d",
|
|
3015
2999
|
foreground: "#d4d4d8",
|
|
3016
3000
|
cursor: "#fafafa",
|
|
3017
3001
|
cursorAccent: "#0b0b0d",
|
|
3018
3002
|
selectionBackground: "#3f3f46",
|
|
3019
3003
|
selectionForeground: "#fafafa"
|
|
3020
|
-
},
|
|
3021
|
-
function
|
|
3004
|
+
}, FA = 1;
|
|
3005
|
+
function VQ(Q, A, B = 8) {
|
|
3022
3006
|
const g = /* @__PURE__ */ new Set(), E = [];
|
|
3023
3007
|
for (let I = A.length - 1; I >= 0; I--) {
|
|
3024
3008
|
const D = A[I];
|
|
@@ -3095,9 +3079,9 @@ const F = {
|
|
|
3095
3079
|
{ id: "delete", hint: "x", label: "Del", desc: "delete", sequence: F.delete, ariaLabel: "Delete" }
|
|
3096
3080
|
]
|
|
3097
3081
|
}
|
|
3098
|
-
],
|
|
3082
|
+
], WQ = new Map(
|
|
3099
3083
|
_A.flatMap((Q) => Q.keys.map((A) => [A.hint, A]))
|
|
3100
|
-
), H = { insert: "i", paste: "P", repeat: ".", command: ":", stick: "s" }, fA = "lfg_term_deck_sticky",
|
|
3084
|
+
), H = { insert: "i", paste: "P", repeat: ".", command: ":", stick: "s" }, fA = "lfg_term_deck_sticky", vQ = {
|
|
3101
3085
|
esc: F.esc,
|
|
3102
3086
|
escape: F.esc,
|
|
3103
3087
|
tab: F.tab,
|
|
@@ -3125,7 +3109,7 @@ const F = {
|
|
|
3125
3109
|
pagedown: F.pageDown,
|
|
3126
3110
|
"page-down": F.pageDown,
|
|
3127
3111
|
space: " "
|
|
3128
|
-
},
|
|
3112
|
+
}, ZQ = {
|
|
3129
3113
|
f1: "\x1BOP",
|
|
3130
3114
|
f2: "\x1BOQ",
|
|
3131
3115
|
f3: "\x1BOR",
|
|
@@ -3138,7 +3122,7 @@ const F = {
|
|
|
3138
3122
|
f10: "\x1B[21~",
|
|
3139
3123
|
f11: "\x1B[23~",
|
|
3140
3124
|
f12: "\x1B[24~"
|
|
3141
|
-
},
|
|
3125
|
+
}, jQ = {
|
|
3142
3126
|
"↑": "up",
|
|
3143
3127
|
"↓": "down",
|
|
3144
3128
|
"←": "left",
|
|
@@ -3154,22 +3138,22 @@ const F = {
|
|
|
3154
3138
|
"page-down": "pagedown"
|
|
3155
3139
|
};
|
|
3156
3140
|
function nA(Q) {
|
|
3157
|
-
return
|
|
3141
|
+
return jQ[Q] ?? Q;
|
|
3158
3142
|
}
|
|
3159
3143
|
function uA(Q) {
|
|
3160
3144
|
const A = nA(Q);
|
|
3161
3145
|
return /^[a-z]$/.test(A) ? String.fromCharCode(A.toUpperCase().charCodeAt(0) - 64) : A === "space" || A === "@" ? "\0" : A === "[" || A === "esc" ? "\x1B" : A === "\\" ? "" : A === "]" ? "" : A === "^" ? "" : A === "_" ? "" : A === "?" ? "" : null;
|
|
3162
3146
|
}
|
|
3163
|
-
function
|
|
3147
|
+
function PQ(Q, A) {
|
|
3164
3148
|
if (!A.alt && !A.ctrl) return null;
|
|
3165
3149
|
const B = nA(Q), g = 1 + (A.alt ? 2 : 0) + (A.ctrl ? 4 : 0);
|
|
3166
3150
|
return B === "up" ? `\x1B[1;${g}A` : B === "down" ? `\x1B[1;${g}B` : B === "right" ? `\x1B[1;${g}C` : B === "left" ? `\x1B[1;${g}D` : B === "home" ? `\x1B[1;${g}H` : B === "end" ? `\x1B[1;${g}F` : null;
|
|
3167
3151
|
}
|
|
3168
|
-
function
|
|
3152
|
+
function XQ(Q) {
|
|
3169
3153
|
const A = nA(Q);
|
|
3170
|
-
return A.length === 1 ? A :
|
|
3154
|
+
return A.length === 1 ? A : vQ[A] ?? ZQ[A] ?? null;
|
|
3171
3155
|
}
|
|
3172
|
-
function
|
|
3156
|
+
function _Q(Q) {
|
|
3173
3157
|
const A = Q.trim();
|
|
3174
3158
|
if (!A) return null;
|
|
3175
3159
|
const B = A.replace(/[+]/g, "+").replace(/\s*\+\s*/g, "+").replace(/\s+/g, "+").toLowerCase();
|
|
@@ -3182,16 +3166,16 @@ function $Q(Q) {
|
|
|
3182
3166
|
a === "alt" || a === "option" || a === "opt" ? E = !0 : a === "ctrl" || a === "control" || a === "ctl" ? C = !0 : I.push(a);
|
|
3183
3167
|
const D = I.join("+");
|
|
3184
3168
|
if (!D) return null;
|
|
3185
|
-
const i =
|
|
3169
|
+
const i = PQ(D, { alt: E, ctrl: C });
|
|
3186
3170
|
if (i) return i;
|
|
3187
|
-
const s = C ? uA(D) :
|
|
3171
|
+
const s = C ? uA(D) : XQ(D);
|
|
3188
3172
|
return s == null ? null : E ? `\x1B${s}` : s;
|
|
3189
3173
|
}
|
|
3190
|
-
function
|
|
3174
|
+
function cA(Q) {
|
|
3191
3175
|
return Q?.textarea ?? null;
|
|
3192
3176
|
}
|
|
3193
3177
|
function $A(Q) {
|
|
3194
|
-
const A =
|
|
3178
|
+
const A = cA(Q);
|
|
3195
3179
|
if (A) {
|
|
3196
3180
|
A.setAttribute("autocapitalize", "none"), A.setAttribute("autocorrect", "off"), A.setAttribute("autocomplete", "off"), A.setAttribute("spellcheck", "false");
|
|
3197
3181
|
try {
|
|
@@ -3201,10 +3185,10 @@ function $A(Q) {
|
|
|
3201
3185
|
}
|
|
3202
3186
|
}
|
|
3203
3187
|
function AA(Q) {
|
|
3204
|
-
Q && (Q.focus(), $A(Q),
|
|
3188
|
+
Q && (Q.focus(), $A(Q), cA(Q)?.focus());
|
|
3205
3189
|
}
|
|
3206
|
-
function
|
|
3207
|
-
|
|
3190
|
+
function $Q(Q) {
|
|
3191
|
+
cA(Q)?.blur(), Q?.blur();
|
|
3208
3192
|
}
|
|
3209
3193
|
function z(Q) {
|
|
3210
3194
|
try {
|
|
@@ -3235,22 +3219,22 @@ function W(Q) {
|
|
|
3235
3219
|
function VA(Q) {
|
|
3236
3220
|
return Q === 0 ? 0 : Q === 1 ? 1 : Q === 2 ? 2 : null;
|
|
3237
3221
|
}
|
|
3238
|
-
function
|
|
3222
|
+
function AB(Q) {
|
|
3239
3223
|
return Q & 1 ? 0 : Q & 4 ? 1 : Q & 2 ? 2 : null;
|
|
3240
3224
|
}
|
|
3241
3225
|
function WA(Q, A, B, g, E) {
|
|
3242
3226
|
if (z(Q).sgr) return `\x1B[<${A};${B};${g}${E}`;
|
|
3243
3227
|
if (B > 223 || g > 223) return "";
|
|
3244
|
-
const I = E === "m" ? 3 +
|
|
3228
|
+
const I = E === "m" ? 3 + QB(A) : A;
|
|
3245
3229
|
return `\x1B[M${String.fromCharCode(32 + I)}${String.fromCharCode(32 + B)}${String.fromCharCode(32 + g)}`;
|
|
3246
3230
|
}
|
|
3247
|
-
function
|
|
3231
|
+
function QB(Q) {
|
|
3248
3232
|
return Q & 28;
|
|
3249
3233
|
}
|
|
3250
3234
|
function v(Q) {
|
|
3251
3235
|
Q.preventDefault(), Q.stopPropagation(), "stopImmediatePropagation" in Q && Q.stopImmediatePropagation();
|
|
3252
3236
|
}
|
|
3253
|
-
function
|
|
3237
|
+
function BB(Q, A, B) {
|
|
3254
3238
|
let g = 0;
|
|
3255
3239
|
const E = (t, w, e, J) => {
|
|
3256
3240
|
const K = zA(A, t, w);
|
|
@@ -3265,7 +3249,7 @@ function gB(Q, A, B) {
|
|
|
3265
3249
|
}, I = (t) => {
|
|
3266
3250
|
const w = z(A);
|
|
3267
3251
|
if (!w.enabled || !w.drag && !w.any) return;
|
|
3268
|
-
const e =
|
|
3252
|
+
const e = AB(t.buttons);
|
|
3269
3253
|
if (e == null && !w.any) return;
|
|
3270
3254
|
const J = (e ?? 3) + 32 + W(t);
|
|
3271
3255
|
E(t.clientX, t.clientY, J, "M") && v(t);
|
|
@@ -3312,7 +3296,7 @@ function aA({
|
|
|
3312
3296
|
disabled: E,
|
|
3313
3297
|
active: C
|
|
3314
3298
|
}) {
|
|
3315
|
-
return /* @__PURE__ */
|
|
3299
|
+
return /* @__PURE__ */ r(
|
|
3316
3300
|
"button",
|
|
3317
3301
|
{
|
|
3318
3302
|
type: "button",
|
|
@@ -3336,7 +3320,7 @@ function aA({
|
|
|
3336
3320
|
}
|
|
3337
3321
|
);
|
|
3338
3322
|
}
|
|
3339
|
-
function
|
|
3323
|
+
function gB({
|
|
3340
3324
|
open: Q,
|
|
3341
3325
|
sticky: A,
|
|
3342
3326
|
lastKey: B,
|
|
@@ -3356,7 +3340,7 @@ function EB({
|
|
|
3356
3340
|
const K = q(
|
|
3357
3341
|
(M) => {
|
|
3358
3342
|
M?.preventDefault();
|
|
3359
|
-
const G =
|
|
3343
|
+
const G = _Q(c);
|
|
3360
3344
|
if (G == null) {
|
|
3361
3345
|
e(!0), J.current?.focus();
|
|
3362
3346
|
return;
|
|
@@ -3373,11 +3357,11 @@ function EB({
|
|
|
3373
3357
|
return;
|
|
3374
3358
|
}
|
|
3375
3359
|
if (s === "command" || G.metaKey || G.ctrlKey || G.altKey) return;
|
|
3376
|
-
const
|
|
3360
|
+
const U = WQ.get(G.key), n = () => {
|
|
3377
3361
|
G.preventDefault(), G.stopPropagation();
|
|
3378
3362
|
};
|
|
3379
|
-
if (
|
|
3380
|
-
n(), g(
|
|
3363
|
+
if (U) {
|
|
3364
|
+
n(), g(U);
|
|
3381
3365
|
return;
|
|
3382
3366
|
}
|
|
3383
3367
|
switch (G.key) {
|
|
@@ -3402,22 +3386,22 @@ function EB({
|
|
|
3402
3386
|
}
|
|
3403
3387
|
};
|
|
3404
3388
|
return window.addEventListener("keydown", M, !0), () => window.removeEventListener("keydown", M, !0);
|
|
3405
|
-
}, [Q, s, B, i, I, C, g, D]), Q ? /* @__PURE__ */
|
|
3389
|
+
}, [Q, s, B, i, I, C, g, D]), Q ? /* @__PURE__ */ r(
|
|
3406
3390
|
"div",
|
|
3407
3391
|
{
|
|
3408
3392
|
role: "dialog",
|
|
3409
3393
|
"aria-label": "Terminal keys",
|
|
3410
3394
|
className: "lfg-term-deck absolute inset-x-0 bottom-0 z-30 border-t border-white/10 bg-[#0b0b0d]/97 backdrop-blur-md",
|
|
3411
3395
|
children: [
|
|
3412
|
-
/* @__PURE__ */
|
|
3396
|
+
/* @__PURE__ */ r("div", { className: "flex items-center gap-2 px-2.5 pb-1 pt-2", children: [
|
|
3413
3397
|
/* @__PURE__ */ k("span", { className: "text-[10px] font-semibold uppercase tracking-wide text-white/35", children: "Keys" }),
|
|
3414
3398
|
/* @__PURE__ */ k("span", { className: "rounded bg-white/10 px-1.5 py-0.5 font-mono text-[10px] text-white/60", children: s === "command" ? ":" : "normal" }),
|
|
3415
|
-
/* @__PURE__ */
|
|
3399
|
+
/* @__PURE__ */ r("span", { className: "hidden truncate text-[10px] text-white/30 sm:inline", children: [
|
|
3416
3400
|
"press a hint · ",
|
|
3417
3401
|
H.command,
|
|
3418
3402
|
" any key · q close"
|
|
3419
3403
|
] }),
|
|
3420
|
-
/* @__PURE__ */
|
|
3404
|
+
/* @__PURE__ */ r("div", { className: "ml-auto flex shrink-0 items-center gap-1", children: [
|
|
3421
3405
|
/* @__PURE__ */ k(
|
|
3422
3406
|
"button",
|
|
3423
3407
|
{
|
|
@@ -3428,7 +3412,7 @@ function EB({
|
|
|
3428
3412
|
title: A ? "Unstick — close after each key (s)" : "Stick open — stay open after a key (s)",
|
|
3429
3413
|
"aria-label": A ? "Unstick key deck" : "Stick key deck open",
|
|
3430
3414
|
className: `grid size-7 place-items-center rounded-md ${A ? "bg-white text-black" : "bg-white/10 text-white/60 active:bg-white/25"}`,
|
|
3431
|
-
children: A ? /* @__PURE__ */ k(MQ, { className: "size-3.5" }) : /* @__PURE__ */ k(
|
|
3415
|
+
children: A ? /* @__PURE__ */ k(MQ, { className: "size-3.5" }) : /* @__PURE__ */ k(GQ, { className: "size-3.5" })
|
|
3432
3416
|
}
|
|
3433
3417
|
),
|
|
3434
3418
|
/* @__PURE__ */ k(
|
|
@@ -3445,9 +3429,9 @@ function EB({
|
|
|
3445
3429
|
)
|
|
3446
3430
|
] })
|
|
3447
3431
|
] }),
|
|
3448
|
-
/* @__PURE__ */ k("div", { className: "max-h-[42vh] overflow-y-auto px-2.5 pb-1.5", children: _A.map((M) => /* @__PURE__ */
|
|
3432
|
+
/* @__PURE__ */ k("div", { className: "max-h-[42vh] overflow-y-auto px-2.5 pb-1.5", children: _A.map((M) => /* @__PURE__ */ r("div", { className: "mb-2 last:mb-0", children: [
|
|
3449
3433
|
/* @__PURE__ */ k("div", { className: "mb-1 text-[10px] font-semibold uppercase tracking-wide text-white/25", children: M.label }),
|
|
3450
|
-
/* @__PURE__ */ k("div", { className: "flex flex-wrap gap-1.5", children: M.keys.map((G) => /* @__PURE__ */
|
|
3434
|
+
/* @__PURE__ */ k("div", { className: "flex flex-wrap gap-1.5", children: M.keys.map((G) => /* @__PURE__ */ r(
|
|
3451
3435
|
"button",
|
|
3452
3436
|
{
|
|
3453
3437
|
type: "button",
|
|
@@ -3464,7 +3448,7 @@ function EB({
|
|
|
3464
3448
|
G.id
|
|
3465
3449
|
)) })
|
|
3466
3450
|
] }, M.id)) }),
|
|
3467
|
-
/* @__PURE__ */ k("div", { className: "flex items-center gap-1.5 border-t border-white/[0.07] px-2.5 py-2 pb-[calc(0.5rem+var(--lfg-safe-bottom,0px))]", children: s === "command" ? /* @__PURE__ */
|
|
3451
|
+
/* @__PURE__ */ k("div", { className: "flex items-center gap-1.5 border-t border-white/[0.07] px-2.5 py-2 pb-[calc(0.5rem+var(--lfg-safe-bottom,0px))]", children: s === "command" ? /* @__PURE__ */ r(
|
|
3468
3452
|
"form",
|
|
3469
3453
|
{
|
|
3470
3454
|
onSubmit: K,
|
|
@@ -3501,7 +3485,7 @@ function EB({
|
|
|
3501
3485
|
className: "grid size-7 shrink-0 place-items-center rounded-md bg-white/10 text-white/85 active:bg-white/25",
|
|
3502
3486
|
"aria-label": "Send terminal key",
|
|
3503
3487
|
title: "Send terminal key",
|
|
3504
|
-
children: /* @__PURE__ */ k(
|
|
3488
|
+
children: /* @__PURE__ */ k(JQ, { className: "size-3.5" })
|
|
3505
3489
|
}
|
|
3506
3490
|
),
|
|
3507
3491
|
/* @__PURE__ */ k(
|
|
@@ -3518,13 +3502,13 @@ function EB({
|
|
|
3518
3502
|
)
|
|
3519
3503
|
]
|
|
3520
3504
|
}
|
|
3521
|
-
) : /* @__PURE__ */
|
|
3505
|
+
) : /* @__PURE__ */ r(vA, { children: [
|
|
3522
3506
|
/* @__PURE__ */ k(
|
|
3523
3507
|
aA,
|
|
3524
3508
|
{
|
|
3525
3509
|
hint: H.insert,
|
|
3526
3510
|
label: "Insert",
|
|
3527
|
-
icon:
|
|
3511
|
+
icon: ZA,
|
|
3528
3512
|
onClick: I
|
|
3529
3513
|
}
|
|
3530
3514
|
),
|
|
@@ -3533,7 +3517,7 @@ function EB({
|
|
|
3533
3517
|
{
|
|
3534
3518
|
hint: H.paste,
|
|
3535
3519
|
label: "Paste",
|
|
3536
|
-
icon:
|
|
3520
|
+
icon: jA,
|
|
3537
3521
|
onClick: C
|
|
3538
3522
|
}
|
|
3539
3523
|
),
|
|
@@ -3566,9 +3550,9 @@ function oB({
|
|
|
3566
3550
|
label: A,
|
|
3567
3551
|
onClose: B
|
|
3568
3552
|
} = {}) {
|
|
3569
|
-
const [g, E] = L(() => localStorage.getItem("lfg_term_session") || "main"), C = R(null), I = R(null), D = R(null), [i, s] = L("connecting"), [a, c] = L([]), [t, w] = L(null), [e, J] = L(!1), [K, M] = L(!1), [G,
|
|
3553
|
+
const [g, E] = L(() => localStorage.getItem("lfg_term_session") || "main"), C = R(null), I = R(null), D = R(null), [i, s] = L("connecting"), [a, c] = L([]), [t, w] = L(null), [e, J] = L(!1), [K, M] = L(!1), [G, U] = L(null), [n, Z] = L(!1), [j, DA] = L(
|
|
3570
3554
|
() => localStorage.getItem(fA) === "1"
|
|
3571
|
-
), [AQ, QQ] = L(null), oA = R(null), V = R(null),
|
|
3555
|
+
), [AQ, QQ] = L(null), oA = R(null), V = R(null), kA = R(!1), lA = R(null), QA = R(null), qA = R(!1), BA = R(!1), GA = R(!1), iA = Q ? `sessionId=${encodeURIComponent(Q)}` : `session=${encodeURIComponent(g)}`;
|
|
3572
3556
|
p(() => {
|
|
3573
3557
|
if (Q) return;
|
|
3574
3558
|
const N = () => E(localStorage.getItem("lfg_term_session") || "main");
|
|
@@ -3578,18 +3562,18 @@ function oB({
|
|
|
3578
3562
|
qA.current = N, M(N);
|
|
3579
3563
|
}, []), O = q((N) => {
|
|
3580
3564
|
const h = I.current;
|
|
3581
|
-
h && h.readyState ===
|
|
3565
|
+
h && h.readyState === FA && h.send(new TextEncoder().encode(N));
|
|
3582
3566
|
}, []), x = q(() => {
|
|
3583
3567
|
oA.current && (clearTimeout(oA.current), oA.current = null);
|
|
3584
3568
|
}, []), P = q(() => {
|
|
3585
|
-
BA.current || (BA.current = !0,
|
|
3569
|
+
BA.current || (BA.current = !0, GA.current = qA.current, $Q(D.current), b(!1), Z(!0));
|
|
3586
3570
|
}, [b]), BQ = q(
|
|
3587
3571
|
(N) => {
|
|
3588
3572
|
const h = N.touches[0];
|
|
3589
3573
|
if (!h) return;
|
|
3590
3574
|
V.current = { x: h.clientX, y: h.clientY };
|
|
3591
3575
|
const Y = C.current?.getBoundingClientRect();
|
|
3592
|
-
|
|
3576
|
+
kA.current = !!Y && h.clientY >= Y.bottom - 36, x(), oA.current = setTimeout(
|
|
3593
3577
|
() => w({ x: h.clientX, y: h.clientY }),
|
|
3594
3578
|
450
|
|
3595
3579
|
);
|
|
@@ -3600,8 +3584,8 @@ function oB({
|
|
|
3600
3584
|
const h = N.touches[0];
|
|
3601
3585
|
if (!h || !V.current) return;
|
|
3602
3586
|
const Y = V.current.y - h.clientY;
|
|
3603
|
-
if (
|
|
3604
|
-
|
|
3587
|
+
if (kA.current && Y > 28 && Math.abs(h.clientX - V.current.x) < 48) {
|
|
3588
|
+
kA.current = !1, V.current = null, x(), P();
|
|
3605
3589
|
return;
|
|
3606
3590
|
}
|
|
3607
3591
|
Math.hypot(h.clientX - V.current.x, h.clientY - V.current.y) > 12 && x();
|
|
@@ -3622,9 +3606,9 @@ function oB({
|
|
|
3622
3606
|
const N = lA.current?.value ?? "";
|
|
3623
3607
|
N && O(N), J(!1), AA(D.current);
|
|
3624
3608
|
}, [O]), X = q(() => {
|
|
3625
|
-
BA.current = !1, Z(!1),
|
|
3609
|
+
BA.current = !1, Z(!1), GA.current && (AA(D.current), b(!0));
|
|
3626
3610
|
}, [b]), EQ = q(() => {
|
|
3627
|
-
|
|
3611
|
+
GA.current = !0, BA.current = !1, Z(!1), AA(D.current), b(!0);
|
|
3628
3612
|
}, [b]), CQ = q(() => {
|
|
3629
3613
|
DA((N) => {
|
|
3630
3614
|
const h = !N;
|
|
@@ -3662,7 +3646,7 @@ function oB({
|
|
|
3662
3646
|
const h = document.createElement("textarea");
|
|
3663
3647
|
h.value = N, h.setAttribute("readonly", ""), h.style.position = "fixed", h.style.left = "-9999px", document.body.appendChild(h), h.select(), document.execCommand("copy"), h.remove();
|
|
3664
3648
|
}
|
|
3665
|
-
|
|
3649
|
+
U(N), QA.current && clearTimeout(QA.current), QA.current = setTimeout(() => U(null), 1200);
|
|
3666
3650
|
}, []);
|
|
3667
3651
|
return p(() => {
|
|
3668
3652
|
let N = !1, h = null, Y = null, wA = null, d = null, sA = null, RA = null, SA = 0, tA = !1;
|
|
@@ -3699,14 +3683,14 @@ function oB({
|
|
|
3699
3683
|
});
|
|
3700
3684
|
}
|
|
3701
3685
|
return (async () => {
|
|
3702
|
-
if (await
|
|
3703
|
-
h = new
|
|
3686
|
+
if (await uQ(), N || !C.current) return;
|
|
3687
|
+
h = new OQ({
|
|
3704
3688
|
fontSize: 13,
|
|
3705
3689
|
scrollback: 8e3,
|
|
3706
3690
|
cursorBlink: !0,
|
|
3707
|
-
theme:
|
|
3708
|
-
}), Y = new
|
|
3709
|
-
const l =
|
|
3691
|
+
theme: zQ
|
|
3692
|
+
}), Y = new TQ(), h.loadAddon(Y), h.open(C.current), sA = BB(C.current, h, O), $A(h);
|
|
3693
|
+
const l = cA(h), f = () => b(!0), eA = () => b(!1);
|
|
3710
3694
|
C.current.addEventListener("focusin", f), C.current.addEventListener("focusout", eA), l?.addEventListener("focus", f), l?.addEventListener("blur", eA), RA = () => {
|
|
3711
3695
|
C.current?.removeEventListener("focusin", f), C.current?.removeEventListener("focusout", eA), l?.removeEventListener("focus", f), l?.removeEventListener("blur", eA);
|
|
3712
3696
|
};
|
|
@@ -3716,10 +3700,10 @@ function oB({
|
|
|
3716
3700
|
}
|
|
3717
3701
|
D.current = h, h.onData((_) => {
|
|
3718
3702
|
const T = I.current;
|
|
3719
|
-
T && T.readyState ===
|
|
3703
|
+
T && T.readyState === FA && T.send(new TextEncoder().encode(_));
|
|
3720
3704
|
}), h.onResize(({ cols: _, rows: T }) => {
|
|
3721
3705
|
const $ = I.current;
|
|
3722
|
-
$ && $.readyState ===
|
|
3706
|
+
$ && $.readyState === FA && $.send(JSON.stringify({ t: "resize", cols: _, rows: T }));
|
|
3723
3707
|
});
|
|
3724
3708
|
let pA = 0, xA = 0;
|
|
3725
3709
|
wA = new ResizeObserver((_) => {
|
|
@@ -3763,7 +3747,7 @@ function oB({
|
|
|
3763
3747
|
const h = async () => {
|
|
3764
3748
|
try {
|
|
3765
3749
|
const d = await (await aQ(`/api/term/scan?${iA}`)).json();
|
|
3766
|
-
N && Array.isArray(d.urls) && d.urls.length && c((sA) =>
|
|
3750
|
+
N && Array.isArray(d.urls) && d.urls.length && c((sA) => VQ(sA, d.urls));
|
|
3767
3751
|
} catch {
|
|
3768
3752
|
}
|
|
3769
3753
|
};
|
|
@@ -3779,11 +3763,11 @@ function oB({
|
|
|
3779
3763
|
if (!N) return;
|
|
3780
3764
|
const h = N.getAttribute("content") ?? "";
|
|
3781
3765
|
return N.setAttribute("content", h + ", maximum-scale=1, user-scalable=no"), () => N.setAttribute("content", h);
|
|
3782
|
-
}, []), /* @__PURE__ */
|
|
3783
|
-
/* @__PURE__ */
|
|
3766
|
+
}, []), /* @__PURE__ */ r("div", { className: "relative flex h-full flex-col overflow-hidden rounded-2xl border border-border bg-[#0b0b0d]", children: [
|
|
3767
|
+
/* @__PURE__ */ r("div", { className: "flex items-center gap-2 border-b border-white/10 px-2.5 py-1 text-[11px] text-white/55", children: [
|
|
3784
3768
|
/* @__PURE__ */ k(iQ, { className: "size-3.5 shrink-0" }),
|
|
3785
3769
|
/* @__PURE__ */ k("span", { className: "min-w-0 truncate font-medium text-white/75", children: A ?? `terminal · ${g}` }),
|
|
3786
|
-
/* @__PURE__ */
|
|
3770
|
+
/* @__PURE__ */ r(
|
|
3787
3771
|
"span",
|
|
3788
3772
|
{
|
|
3789
3773
|
className: `inline-flex shrink-0 items-center gap-1 ${i === "open" ? "text-emerald-400" : i === "closed" ? "text-destructive" : "text-white/50"}`,
|
|
@@ -3794,8 +3778,8 @@ function oB({
|
|
|
3794
3778
|
]
|
|
3795
3779
|
}
|
|
3796
3780
|
),
|
|
3797
|
-
/* @__PURE__ */
|
|
3798
|
-
/* @__PURE__ */
|
|
3781
|
+
/* @__PURE__ */ r("div", { className: "ml-auto flex shrink-0 items-center gap-1", children: [
|
|
3782
|
+
/* @__PURE__ */ r(
|
|
3799
3783
|
"button",
|
|
3800
3784
|
{
|
|
3801
3785
|
type: "button",
|
|
@@ -3806,7 +3790,7 @@ function oB({
|
|
|
3806
3790
|
title: "Terminal keys (⌃⇧K)",
|
|
3807
3791
|
className: `flex h-6 items-center gap-1 rounded-md px-1.5 text-[11px] font-medium ${n ? "bg-white text-black" : "bg-white/10 text-white/70 active:bg-white/25"}`,
|
|
3808
3792
|
children: [
|
|
3809
|
-
/* @__PURE__ */ k(
|
|
3793
|
+
/* @__PURE__ */ k(ZA, { className: "size-3.5" }),
|
|
3810
3794
|
/* @__PURE__ */ k("span", { className: "hidden sm:inline", children: "Keys" }),
|
|
3811
3795
|
/* @__PURE__ */ k(
|
|
3812
3796
|
"kbd",
|
|
@@ -3832,7 +3816,7 @@ function oB({
|
|
|
3832
3816
|
) : null
|
|
3833
3817
|
] })
|
|
3834
3818
|
] }),
|
|
3835
|
-
/* @__PURE__ */
|
|
3819
|
+
/* @__PURE__ */ r("div", { className: "relative flex min-h-0 flex-1 flex-col", children: [
|
|
3836
3820
|
/* @__PURE__ */ k(
|
|
3837
3821
|
"div",
|
|
3838
3822
|
{
|
|
@@ -3872,9 +3856,9 @@ function oB({
|
|
|
3872
3856
|
}
|
|
3873
3857
|
)
|
|
3874
3858
|
] }),
|
|
3875
|
-
a.length > 0 ? /* @__PURE__ */
|
|
3859
|
+
a.length > 0 ? /* @__PURE__ */ r("div", { className: "flex items-center gap-1.5 border-t border-white/10 px-2 py-1.5", children: [
|
|
3876
3860
|
/* @__PURE__ */ k(wQ, { className: "size-3.5 shrink-0 text-white/40" }),
|
|
3877
|
-
/* @__PURE__ */ k("div", { className: "flex min-w-0 flex-1 gap-1.5 overflow-x-auto", children: a.map((N) => /* @__PURE__ */
|
|
3861
|
+
/* @__PURE__ */ k("div", { className: "flex min-w-0 flex-1 gap-1.5 overflow-x-auto", children: a.map((N) => /* @__PURE__ */ r(
|
|
3878
3862
|
"div",
|
|
3879
3863
|
{
|
|
3880
3864
|
style: { touchAction: "manipulation" },
|
|
@@ -3919,7 +3903,7 @@ function oB({
|
|
|
3919
3903
|
)
|
|
3920
3904
|
] }) : null,
|
|
3921
3905
|
/* @__PURE__ */ k(
|
|
3922
|
-
|
|
3906
|
+
gB,
|
|
3923
3907
|
{
|
|
3924
3908
|
open: n,
|
|
3925
3909
|
sticky: j,
|
|
@@ -3934,7 +3918,7 @@ function oB({
|
|
|
3934
3918
|
onClose: X
|
|
3935
3919
|
}
|
|
3936
3920
|
),
|
|
3937
|
-
t ? /* @__PURE__ */
|
|
3921
|
+
t ? /* @__PURE__ */ r(vA, { children: [
|
|
3938
3922
|
/* @__PURE__ */ k(
|
|
3939
3923
|
"button",
|
|
3940
3924
|
{
|
|
@@ -3944,7 +3928,7 @@ function oB({
|
|
|
3944
3928
|
"aria-label": "Dismiss paste menu"
|
|
3945
3929
|
}
|
|
3946
3930
|
),
|
|
3947
|
-
/* @__PURE__ */
|
|
3931
|
+
/* @__PURE__ */ r(
|
|
3948
3932
|
"button",
|
|
3949
3933
|
{
|
|
3950
3934
|
type: "button",
|
|
@@ -3957,13 +3941,13 @@ function oB({
|
|
|
3957
3941
|
},
|
|
3958
3942
|
className: "z-50 flex items-center gap-1.5 rounded-xl bg-white px-4 py-2.5 text-sm font-semibold text-black shadow-xl active:scale-95",
|
|
3959
3943
|
children: [
|
|
3960
|
-
/* @__PURE__ */ k(
|
|
3944
|
+
/* @__PURE__ */ k(jA, { className: "size-4" }),
|
|
3961
3945
|
"Paste"
|
|
3962
3946
|
]
|
|
3963
3947
|
}
|
|
3964
3948
|
)
|
|
3965
3949
|
] }) : null,
|
|
3966
|
-
e ? /* @__PURE__ */
|
|
3950
|
+
e ? /* @__PURE__ */ r("div", { className: "fixed inset-x-0 bottom-0 z-50 flex items-center gap-2 border-t border-white/10 bg-[#0b0b0d] p-2 pb-[calc(0.5rem+var(--lfg-safe-bottom))]", children: [
|
|
3967
3951
|
/* @__PURE__ */ k(
|
|
3968
3952
|
"input",
|
|
3969
3953
|
{
|