tabby-rdp 0.2.7 → 0.3.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.
Files changed (57) hide show
  1. package/CHANGELOG.md +61 -2
  2. package/README.md +181 -21
  3. package/dist/connectionStatus.js +140 -0
  4. package/dist/connectionStatus.js.map +1 -0
  5. package/dist/desk.js +21 -10
  6. package/dist/desk.js.map +1 -1
  7. package/dist/deskScript.js +3 -0
  8. package/dist/deskScript.js.map +1 -1
  9. package/dist/desktop.service.js +993 -53
  10. package/dist/desktop.service.js.map +1 -1
  11. package/dist/desktopForm.js +64 -19
  12. package/dist/desktopForm.js.map +1 -1
  13. package/dist/desktops.js +60 -21
  14. package/dist/desktops.js.map +1 -1
  15. package/dist/fileTransfer.js +152 -5
  16. package/dist/fileTransfer.js.map +1 -1
  17. package/dist/header.js +22 -7
  18. package/dist/header.js.map +1 -1
  19. package/dist/help.js +235 -0
  20. package/dist/help.js.map +1 -0
  21. package/dist/index.js +14 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/keyboard.js +142 -5
  24. package/dist/keyboard.js.map +1 -1
  25. package/dist/microphone.js +295 -0
  26. package/dist/microphone.js.map +1 -0
  27. package/dist/osd.js +79 -0
  28. package/dist/osd.js.map +1 -0
  29. package/dist/probe.js +33 -0
  30. package/dist/probe.js.map +1 -0
  31. package/dist/rdcleanpath.js +132 -7
  32. package/dist/rdcleanpath.js.map +1 -1
  33. package/dist/rdpFile.js +47 -0
  34. package/dist/rdpFile.js.map +1 -0
  35. package/dist/rdpProfile.js +367 -0
  36. package/dist/rdpProfile.js.map +1 -0
  37. package/dist/remoteSetup.js +90 -11
  38. package/dist/remoteSetup.js.map +1 -1
  39. package/dist/settingsPage.js +538 -0
  40. package/dist/settingsPage.js.map +1 -0
  41. package/dist/signin.js +21 -2
  42. package/dist/signin.js.map +1 -1
  43. package/dist/ssh.js +28 -0
  44. package/dist/ssh.js.map +1 -1
  45. package/dist/targets.js +148 -8
  46. package/dist/targets.js.map +1 -1
  47. package/dist/ui.js +154 -24
  48. package/dist/ui.js.map +1 -1
  49. package/dist/vms.js +90 -0
  50. package/dist/vms.js.map +1 -0
  51. package/dist/wake.js +124 -0
  52. package/dist/wake.js.map +1 -0
  53. package/package.json +2 -1
  54. package/vendor/IRONRDP-LICENSE +3 -3
  55. package/vendor/iron-remote-desktop-rdp.js +698 -451
  56. package/vendor/iron-remote-desktop.js +87 -81
  57. package/vendor/ironrdp_web_bg.wasm +0 -0
@@ -10,7 +10,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
10
10
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
11
11
  var _t2, _e2, _a, _b;
12
12
  typeof window < "u" && (window.__svelte || (window.__svelte = { v: /* @__PURE__ */ new Set() })).v.add("5");
13
- const dr = 2, fr = "[", hr = "]", Je = {}, V = Symbol(), si = false, Z = 2, gi = 4, St = 8, Yt = 16, ye = 32, Ie = 64, pt = 128, G = 256, vt = 512, j = 1024, Ce = 2048, We = 4096, wt = 8192, Dt = 16384, br = 32768, pr = 65536, vr = 1 << 19, _i = 1 << 20, ct = Symbol("$state"), wr = Symbol("legacy props");
13
+ const dr = 2, fr = "[", hr = "]", Je = {}, W = Symbol(), si = false, Z = 2, gi = 4, St = 8, Yt = 16, ye = 32, Ie = 64, pt = 128, G = 256, vt = 512, j = 1024, Ce = 2048, Ke = 4096, wt = 8192, Dt = 16384, br = 32768, pr = 65536, vr = 1 << 19, _i = 1 << 20, ct = Symbol("$state"), wr = Symbol("legacy props");
14
14
  var xi = Array.isArray, mr = Array.prototype.indexOf, gr = Array.from, mt = Object.keys, gt = Object.defineProperty, ze = Object.getOwnPropertyDescriptor, _r = Object.getOwnPropertyDescriptors, xr = Object.prototype, yr = Array.prototype, yi = Object.getPrototypeOf;
15
15
  const dt = () => {
16
16
  };
@@ -110,7 +110,7 @@ function Ti(t, e) {
110
110
  (c & Ce) === 0 && (ue(o, e), (c & (j | G)) !== 0 && ((c & Z) !== 0 ? Ti(
111
111
  /** @type {Derived} */
112
112
  o,
113
- We
113
+ Ke
114
114
  ) : ei(
115
115
  /** @type {Effect} */
116
116
  o
@@ -173,7 +173,7 @@ function Ur(t) {
173
173
  return e;
174
174
  }
175
175
  function Ai(t) {
176
- var e = Ur(t), i = (me || (t.f & G) !== 0) && t.deps !== null ? We : j;
176
+ var e = Ur(t), i = (me || (t.f & G) !== 0) && t.deps !== null ? Ke : j;
177
177
  ue(t, i), t.equals(e) || (t.v = e, t.wv = Ui());
178
178
  }
179
179
  function Zt(t) {
@@ -226,7 +226,7 @@ function Se(t, e = null, i) {
226
226
  deleteProperty(h, d) {
227
227
  var p = n.get(d);
228
228
  if (p === void 0)
229
- d in h && n.set(d, re(V));
229
+ d in h && n.set(d, re(W));
230
230
  else {
231
231
  if (o && typeof d == "string") {
232
232
  var w = (
@@ -235,7 +235,7 @@ function Se(t, e = null, i) {
235
235
  ), s = Number(d);
236
236
  Number.isInteger(s) && s < w.v && H(w, s);
237
237
  }
238
- H(p, V), ai(c);
238
+ H(p, W), ai(c);
239
239
  }
240
240
  return true;
241
241
  },
@@ -244,9 +244,9 @@ function Se(t, e = null, i) {
244
244
  if (d === ct)
245
245
  return t;
246
246
  var w = n.get(d), s = d in h;
247
- if (w === void 0 && (!s || ((_a2 = ze(h, d)) == null ? void 0 : _a2.writable)) && (w = re(Se(s ? h[d] : V, f)), n.set(d, w)), w !== void 0) {
247
+ if (w === void 0 && (!s || ((_a2 = ze(h, d)) == null ? void 0 : _a2.writable)) && (w = re(Se(s ? h[d] : W, f)), n.set(d, w)), w !== void 0) {
248
248
  var a = P(w);
249
- return a === V ? void 0 : a;
249
+ return a === W ? void 0 : a;
250
250
  }
251
251
  return Reflect.get(h, d, p);
252
252
  },
@@ -257,7 +257,7 @@ function Se(t, e = null, i) {
257
257
  w && (p.value = P(w));
258
258
  } else if (p === void 0) {
259
259
  var s = n.get(d), a = s == null ? void 0 : s.v;
260
- if (s !== void 0 && a !== V)
260
+ if (s !== void 0 && a !== W)
261
261
  return {
262
262
  enumerable: true,
263
263
  configurable: true,
@@ -271,11 +271,11 @@ function Se(t, e = null, i) {
271
271
  var _a2;
272
272
  if (d === ct)
273
273
  return true;
274
- var p = n.get(d), w = p !== void 0 && p.v !== V || Reflect.has(h, d);
274
+ var p = n.get(d), w = p !== void 0 && p.v !== W || Reflect.has(h, d);
275
275
  if (p !== void 0 || D !== null && (!w || ((_a2 = ze(h, d)) == null ? void 0 : _a2.writable))) {
276
- p === void 0 && (p = re(w ? Se(h[d], f) : V), n.set(d, p));
276
+ p === void 0 && (p = re(w ? Se(h[d], f) : W), n.set(d, p));
277
277
  var s = P(p);
278
- if (s === V)
278
+ if (s === W)
279
279
  return false;
280
280
  }
281
281
  return w;
@@ -287,9 +287,9 @@ function Se(t, e = null, i) {
287
287
  for (var l = p; l < /** @type {Source<number>} */
288
288
  s.v; l += 1) {
289
289
  var u = n.get(l + "");
290
- u !== void 0 ? H(u, V) : l in h && (u = re(V), n.set(l + "", u));
290
+ u !== void 0 ? H(u, W) : l in h && (u = re(W), n.set(l + "", u));
291
291
  }
292
- s === void 0 ? (!a || ((_a2 = ze(h, d)) == null ? void 0 : _a2.writable)) && (s = re(void 0), H(s, Se(p, f)), n.set(d, s)) : (a = s.v !== V, H(s, Se(p, f)));
292
+ s === void 0 ? (!a || ((_a2 = ze(h, d)) == null ? void 0 : _a2.writable)) && (s = re(void 0), H(s, Se(p, f)), n.set(d, s)) : (a = s.v !== W, H(s, Se(p, f)));
293
293
  var b = Reflect.getOwnPropertyDescriptor(h, d);
294
294
  if ((b == null ? void 0 : b.set) && b.set.call(w, p), !a) {
295
295
  if (o && typeof d == "string") {
@@ -307,10 +307,10 @@ function Se(t, e = null, i) {
307
307
  P(c);
308
308
  var d = Reflect.ownKeys(h).filter((s) => {
309
309
  var a = n.get(s);
310
- return a === void 0 || a.v !== V;
310
+ return a === void 0 || a.v !== W;
311
311
  });
312
312
  for (var [p, w] of n)
313
- w.v !== V && !(p in h) && d.push(p);
313
+ w.v !== W && !(p in h) && d.push(p);
314
314
  return d;
315
315
  },
316
316
  setPrototypeOf() {
@@ -323,7 +323,7 @@ function ai(t, e = 1) {
323
323
  H(t, t.v + e);
324
324
  }
325
325
  var li, Li, Mi, Fi;
326
- function Wt() {
326
+ function Kt() {
327
327
  if (li === void 0) {
328
328
  li = window, Li = /Firefox/.test(navigator.userAgent);
329
329
  var t = Element.prototype, e = Node.prototype;
@@ -383,7 +383,7 @@ function Rt(t) {
383
383
  var e = t.f;
384
384
  if ((e & Ce) !== 0)
385
385
  return true;
386
- if ((e & We) !== 0) {
386
+ if ((e & Ke) !== 0) {
387
387
  var i = t.deps, r = (e & G) !== 0;
388
388
  if (i !== null) {
389
389
  var n, o, c = (e & vt) !== 0, f = r && D !== null && !me, h = i.length;
@@ -410,7 +410,7 @@ function Rt(t) {
410
410
  }
411
411
  return false;
412
412
  }
413
- function Wr(t, e) {
413
+ function Kr(t, e) {
414
414
  for (var i = e; i !== null; ) {
415
415
  if ((i.f & pt) !== 0)
416
416
  try {
@@ -423,18 +423,18 @@ function Wr(t, e) {
423
423
  }
424
424
  throw ft = false, t;
425
425
  }
426
- function Vr(t) {
426
+ function Wr(t) {
427
427
  return (t.f & Dt) === 0 && (t.parent === null || (t.parent.f & pt) === 0);
428
428
  }
429
429
  function $t(t, e, i, r) {
430
430
  if (ft) {
431
- if (i === null && (ft = false), Vr(e))
431
+ if (i === null && (ft = false), Wr(e))
432
432
  throw t;
433
433
  return;
434
434
  }
435
435
  i !== null && (ft = true);
436
436
  {
437
- Wr(t, e);
437
+ Kr(t, e);
438
438
  return;
439
439
  }
440
440
  }
@@ -448,7 +448,7 @@ function Bi(t, e, i = true) {
448
448
  o,
449
449
  e,
450
450
  false
451
- ) : e === o && (i ? ue(o, Ce) : (o.f & j) !== 0 && ue(o, We), ei(
451
+ ) : e === o && (i ? ue(o, Ce) : (o.f & j) !== 0 && ue(o, Ke), ei(
452
452
  /** @type {Effect} */
453
453
  o
454
454
  ));
@@ -475,7 +475,7 @@ function zi(t) {
475
475
  for (s = q; s < w.length; s++)
476
476
  ((_a2 = w[s]).reactions ?? (_a2.reactions = [])).push(t);
477
477
  } else w !== null && q < w.length && (kt(t, q), w.length = q);
478
- if (Xi() && ae !== null && !X && w !== null && (t.f & (Z | We | Ce)) === 0)
478
+ if (Xi() && ae !== null && !X && w !== null && (t.f & (Z | Ke | Ce)) === 0)
479
479
  for (s = 0; s < /** @type {Source[]} */
480
480
  ae.length; s++)
481
481
  Bi(
@@ -488,7 +488,7 @@ function zi(t) {
488
488
  N = e, q = i, ae = r, k = n, me = o, ne = c, ci(f), X = h;
489
489
  }
490
490
  }
491
- function Kr(t, e) {
491
+ function Vr(t, e) {
492
492
  let i = e.reactions;
493
493
  if (i !== null) {
494
494
  var r = mr.call(i, t);
@@ -500,7 +500,7 @@ function Kr(t, e) {
500
500
  i === null && (e.f & Z) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear
501
501
  // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`
502
502
  // allows us to skip the expensive work of disconnecting and immediately reconnecting it
503
- (N === null || !N.includes(e)) && (ue(e, We), (e.f & (G | vt)) === 0 && (e.f ^= vt), $i(
503
+ (N === null || !N.includes(e)) && (ue(e, Ke), (e.f & (G | vt)) === 0 && (e.f ^= vt), $i(
504
504
  /** @type {Derived} **/
505
505
  e
506
506
  ), kt(
@@ -513,7 +513,7 @@ function kt(t, e) {
513
513
  var i = t.deps;
514
514
  if (i !== null)
515
515
  for (var r = e; r < i.length; r++)
516
- Kr(t, i[r]);
516
+ Vr(t, i[r]);
517
517
  }
518
518
  function Jt(t) {
519
519
  var e = t.f;
@@ -522,7 +522,7 @@ function Jt(t) {
522
522
  var i = D, r = U, n = ht;
523
523
  D = t, ht = true;
524
524
  try {
525
- (e & Yt) !== 0 ? sn(t) : Ki(t), Vi(t);
525
+ (e & Yt) !== 0 ? sn(t) : Vi(t), Wi(t);
526
526
  var o = zi(t);
527
527
  t.teardown = typeof o == "function" ? o : null, t.wv = Pi;
528
528
  var c = t.deps, f;
@@ -735,7 +735,7 @@ function en(t) {
735
735
  function ti(t) {
736
736
  return De(gi, t, false);
737
737
  }
738
- function Wi(t) {
738
+ function Ki(t) {
739
739
  return De(St, t, true);
740
740
  }
741
741
  function tn(t, e = [], i = Ri) {
@@ -748,7 +748,7 @@ function rn(t, e = 0) {
748
748
  function nn(t, e = true) {
749
749
  return De(St | ye, t, true, e);
750
750
  }
751
- function Vi(t) {
751
+ function Wi(t) {
752
752
  var e = t.teardown;
753
753
  if (e !== null) {
754
754
  const i = Qt, r = k;
@@ -760,7 +760,7 @@ function Vi(t) {
760
760
  }
761
761
  }
762
762
  }
763
- function Ki(t, e = false) {
763
+ function Vi(t, e = false) {
764
764
  var i = t.first;
765
765
  for (t.first = t.last = null; i !== null; ) {
766
766
  var r = i.next;
@@ -785,12 +785,12 @@ function xe(t, e = true) {
785
785
  }
786
786
  i = true;
787
787
  }
788
- Ki(t, e && !i), kt(t, 0), ue(t, Dt);
788
+ Vi(t, e && !i), kt(t, 0), ue(t, Dt);
789
789
  var c = t.transitions;
790
790
  if (c !== null)
791
791
  for (const h of c)
792
792
  h.stop();
793
- Vi(t);
793
+ Wi(t);
794
794
  var f = t.parent;
795
795
  f !== null && f.first !== null && qi(t), t.next = t.prev = t.teardown = t.ctx = t.deps = t.fn = t.nodes_start = t.nodes_end = null;
796
796
  }
@@ -880,7 +880,7 @@ function cn(t) {
880
880
  ge(e), _e(i);
881
881
  }
882
882
  }
883
- const Zi = /* @__PURE__ */ new Set(), Vt = /* @__PURE__ */ new Set();
883
+ const Zi = /* @__PURE__ */ new Set(), Wt = /* @__PURE__ */ new Set();
884
884
  function dn(t, e, i, r = {}) {
885
885
  function n(o) {
886
886
  if (r.capture || Xe.call(e, o), !o.cancelBubble)
@@ -899,7 +899,7 @@ function lt(t, e, i, r, n) {
899
899
  function fn(t) {
900
900
  for (var e = 0; e < t.length; e++)
901
901
  Zi.add(t[e]);
902
- for (var i of Vt)
902
+ for (var i of Wt)
903
903
  i(t);
904
904
  }
905
905
  function Xe(t) {
@@ -971,7 +971,7 @@ function hn(t) {
971
971
  var e = document.createElement("template");
972
972
  return e.innerHTML = t, e.content;
973
973
  }
974
- function Kt(t, e) {
974
+ function Vt(t, e) {
975
975
  var i = (
976
976
  /** @type {Effect} */
977
977
  D
@@ -983,14 +983,14 @@ function bn(t, e) {
983
983
  var i = (e & dr) !== 0, r, n = !t.startsWith("<!>");
984
984
  return () => {
985
985
  if (Q)
986
- return Kt(z, null), z;
986
+ return Vt(z, null), z;
987
987
  r === void 0 && (r = hn(n ? t : "<!>" + t), r = /** @type {Node} */
988
988
  /* @__PURE__ */ xt(r));
989
989
  var o = (
990
990
  /** @type {TemplateNode} */
991
991
  i || Li ? document.importNode(r, true) : r.cloneNode(true)
992
992
  );
993
- return Kt(o, o), o;
993
+ return Vt(o, o), o;
994
994
  };
995
995
  }
996
996
  function Qi(t, e) {
@@ -1007,7 +1007,7 @@ function Ji(t, e) {
1007
1007
  return er(t, e);
1008
1008
  }
1009
1009
  function pn(t, e) {
1010
- Wt(), e.intro = e.intro ?? false;
1010
+ Kt(), e.intro = e.intro ?? false;
1011
1011
  const i = e.target, r = Q, n = z;
1012
1012
  try {
1013
1013
  for (var o = (
@@ -1031,7 +1031,7 @@ function pn(t, e) {
1031
1031
  c;
1032
1032
  } catch (c) {
1033
1033
  if (c === Je)
1034
- return e.recover === false && Rr(), Wt(), Br(i), at(false), Ji(t, e);
1034
+ return e.recover === false && Rr(), Kt(), Br(i), at(false), Ji(t, e);
1035
1035
  throw c;
1036
1036
  } finally {
1037
1037
  at(r), _t(n);
@@ -1039,7 +1039,7 @@ function pn(t, e) {
1039
1039
  }
1040
1040
  const Ne = /* @__PURE__ */ new Map();
1041
1041
  function er(t, { target: e, anchor: i, props: r = {}, events: n, context: o, intro: c = true }) {
1042
- Wt();
1042
+ Kt();
1043
1043
  var f = /* @__PURE__ */ new Set(), h = (w) => {
1044
1044
  for (var s = 0; s < w.length; s++) {
1045
1045
  var a = w[s];
@@ -1052,7 +1052,7 @@ function er(t, { target: e, anchor: i, props: r = {}, events: n, context: o, int
1052
1052
  }
1053
1053
  }
1054
1054
  };
1055
- h(gr(Zi)), Vt.add(h);
1055
+ h(gr(Zi)), Wt.add(h);
1056
1056
  var d = void 0, p = en(() => {
1057
1057
  var w = i ?? e.appendChild(Ni());
1058
1058
  return nn(() => {
@@ -1064,7 +1064,7 @@ function er(t, { target: e, anchor: i, props: r = {}, events: n, context: o, int
1064
1064
  );
1065
1065
  s.c = o;
1066
1066
  }
1067
- n && (r.$$events = n), Q && Kt(
1067
+ n && (r.$$events = n), Q && Vt(
1068
1068
  /** @type {TemplateNode} */
1069
1069
  w,
1070
1070
  null
@@ -1079,7 +1079,7 @@ function er(t, { target: e, anchor: i, props: r = {}, events: n, context: o, int
1079
1079
  );
1080
1080
  --a === 0 ? (document.removeEventListener(s, Xe), Ne.delete(s)) : Ne.set(s, a);
1081
1081
  }
1082
- Vt.delete(h), w !== i && ((_a2 = w.parentNode) == null ? void 0 : _a2.removeChild(w));
1082
+ Wt.delete(h), w !== i && ((_a2 = w.parentNode) == null ? void 0 : _a2.removeChild(w));
1083
1083
  };
1084
1084
  });
1085
1085
  return qt.set(d, p), d;
@@ -1159,7 +1159,7 @@ function bi(t, e) {
1159
1159
  function Ut(t = {}, e, i, r) {
1160
1160
  return ti(() => {
1161
1161
  var n, o;
1162
- return Wi(() => {
1162
+ return Ki(() => {
1163
1163
  n = o, o = [], it(() => {
1164
1164
  t !== i(...o) && (e(t, ...o), n && bi(i(...n), t) && e(null, ...n));
1165
1165
  });
@@ -1425,7 +1425,7 @@ typeof HTMLElement == "function" && (nr = class extends HTMLElement {
1425
1425
  $$host: this
1426
1426
  }
1427
1427
  }), this.$$me = Jr(() => {
1428
- Wi(() => {
1428
+ Ki(() => {
1429
1429
  var _a2;
1430
1430
  this.$$r = true;
1431
1431
  for (const r of mt(this.$$c)) {
@@ -1570,7 +1570,7 @@ var Ze = { exports: {} }, Rn = Ze.exports, pi;
1570
1570
  function $n() {
1571
1571
  return pi || (pi = 1, (function(t, e) {
1572
1572
  (function(i, r) {
1573
- var n = "1.0.41", o = "", c = "?", f = "function", h = "undefined", d = "object", p = "string", w = "major", s = "model", a = "name", l = "type", u = "vendor", b = "version", $ = "architecture", M = "console", _ = "mobile", m = "tablet", A = "smarttv", O = "wearable", ce = "embedded", Ve = 500, Te = "Amazon", de = "Apple", fe = "ASUS", rt = "BlackBerry", Re = "Browser", $e = "Chrome", At = "Edge", Ee = "Firefox", Ae = "Google", nt = "Honor", st = "Huawei", Ot = "Lenovo", Oe = "LG", Le = "Microsoft", Ke = "Motorola", qe = "Nvidia", He = "OnePlus", he = "Opera", Me = "OPPO", J = "Samsung", be = "Sharp", pe = "Sony", ke = "Xiaomi", I = "Zebra", v = "Facebook", T = "Chromium OS", F = "Mac OS", R = " Browser", W = function(y, C) {
1573
+ var n = "1.0.41", o = "", c = "?", f = "function", h = "undefined", d = "object", p = "string", w = "major", s = "model", a = "name", l = "type", u = "vendor", b = "version", $ = "architecture", M = "console", _ = "mobile", m = "tablet", A = "smarttv", O = "wearable", ce = "embedded", We = 500, Te = "Amazon", de = "Apple", fe = "ASUS", rt = "BlackBerry", Re = "Browser", $e = "Chrome", At = "Edge", Ee = "Firefox", Ae = "Google", nt = "Honor", st = "Huawei", Ot = "Lenovo", Oe = "LG", Le = "Microsoft", Ve = "Motorola", qe = "Nvidia", He = "OnePlus", he = "Opera", Me = "OPPO", J = "Samsung", be = "Sharp", pe = "Sony", ke = "Xiaomi", I = "Zebra", v = "Facebook", T = "Chromium OS", F = "Mac OS", R = " Browser", K = function(y, C) {
1574
1574
  var x = {};
1575
1575
  for (var S in y)
1576
1576
  C[S] && C[S].length % 2 === 0 ? x[S] = C[S].concat(y[S]) : x[S] = y[S];
@@ -1587,7 +1587,7 @@ function $n() {
1587
1587
  return typeof y === p ? y.replace(/[^\d\.]/g, o).split(".")[0] : r;
1588
1588
  }, Lt = function(y, C) {
1589
1589
  if (typeof y === p)
1590
- return y = y.replace(/^\s\s*/, o), typeof C === h ? y : y.substring(0, Ve);
1590
+ return y = y.replace(/^\s\s*/, o), typeof C === h ? y : y.substring(0, We);
1591
1591
  }, je = function(y, C) {
1592
1592
  for (var x = 0, S, oe, ee, E, g, te; x < C.length && !g; ) {
1593
1593
  var Mt = C[x], ni = C[x + 1];
@@ -2098,11 +2098,11 @@ function $n() {
2098
2098
  /\bmot(?:orola)?[- ](\w*)/i,
2099
2099
  /((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i
2100
2100
  ],
2101
- [s, [u, Ke], [l, _]],
2101
+ [s, [u, Ve], [l, _]],
2102
2102
  [
2103
2103
  /\b(mz60\d|xoom[2 ]{0,2}) build\//i
2104
2104
  ],
2105
- [s, [u, Ke], [l, m]],
2105
+ [s, [u, Ve], [l, m]],
2106
2106
  [
2107
2107
  // LG
2108
2108
  /((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
@@ -2582,7 +2582,7 @@ function $n() {
2582
2582
  /(moto 360)/i
2583
2583
  // Motorola 360
2584
2584
  ],
2585
- [s, [u, Ke], [l, O]],
2585
+ [s, [u, Ve], [l, O]],
2586
2586
  [
2587
2587
  /(smartwatch 3)/i
2588
2588
  // Sony SmartWatch
@@ -2845,7 +2845,7 @@ function $n() {
2845
2845
  }, Y = function(y, C) {
2846
2846
  if (typeof y === d && (C = y, y = r), !(this instanceof Y))
2847
2847
  return new Y(y, C).getResult();
2848
- var x = typeof i !== h && i.navigator ? i.navigator : r, S = y || (x && x.userAgent ? x.userAgent : o), oe = x && x.userAgentData ? x.userAgentData : r, ee = C ? W(ri, C) : ri, E = x && x.userAgent == S;
2848
+ var x = typeof i !== h && i.navigator ? i.navigator : r, S = y || (x && x.userAgent ? x.userAgent : o), oe = x && x.userAgentData ? x.userAgentData : r, ee = C ? K(ri, C) : ri, E = x && x.userAgent == S;
2849
2849
  return this.getBrowser = function() {
2850
2850
  var g = {};
2851
2851
  return g[a] = r, g[b] = r, je.call(g, S, ee.browser), g[w] = ur(g[b]), E && x && x.brave && typeof x.brave.isBrave == f && (g[a] = "Brave"), g;
@@ -2873,7 +2873,7 @@ function $n() {
2873
2873
  }, this.getUA = function() {
2874
2874
  return S;
2875
2875
  }, this.setUA = function(g) {
2876
- return S = typeof g === p && g.length > Ve ? Lt(g, Ve) : g, this;
2876
+ return S = typeof g === p && g.length > We ? Lt(g, We) : g, this;
2877
2877
  }, this.setUA(S), this;
2878
2878
  };
2879
2879
  Y.VERSION = n, Y.BROWSER = B([a, b, w]), Y.CPU = B([$]), Y.DEVICE = B([s, u, l, M, _, A, m, O, ce]), Y.ENGINE = Y.OS = B([a, b]), t.exports && (e = t.exports = Y), e.UAParser = Y;
@@ -3572,6 +3572,11 @@ class zn {
3572
3572
  ctrlV() {
3573
3573
  this.remoteDesktopService.sendSpecialCombination(le.CTRL_V);
3574
3574
  }
3575
+ // Keys for this session whether or not its canvas has the focus, for a host that routes the keyboard itself (the
3576
+ // same keys to several sessions, for one). Handled as the canvas's own: codes as scancodes, modifiers kept in sync.
3577
+ sendKeyboardEvent(e) {
3578
+ this.remoteDesktopService.sendKeyboardEvent(e);
3579
+ }
3575
3580
  setVisibility(e) {
3576
3581
  L.info(`Change component visibility to: ${e}`), this.remoteDesktopService.setVisibility(e);
3577
3582
  }
@@ -3631,6 +3636,7 @@ class zn {
3631
3636
  metaKey: this.metaKey.bind(this),
3632
3637
  ctrlC: this.ctrlC.bind(this),
3633
3638
  ctrlV: this.ctrlV.bind(this),
3639
+ sendKeyboardEvent: this.sendKeyboardEvent.bind(this),
3634
3640
  shutdown: this.shutdown.bind(this),
3635
3641
  setKeyboardUnicodeMode: this.setKeyboardUnicodeMode.bind(this),
3636
3642
  setCursorStyleOverride: this.setCursorStyleOverride.bind(this),
@@ -3662,19 +3668,19 @@ function In() {
3662
3668
  };
3663
3669
  }
3664
3670
  const Gt = In();
3665
- var K = /* @__PURE__ */ ((t) => (t[t.Full = 0] = "Full", t[t.TextOnly = 1] = "TextOnly", t[t.TextOnlyServerOnly = 2] = "TextOnlyServerOnly", t[t.None = 3] = "None", t))(K || {}), or = /* @__PURE__ */ ((t) => (t[t.General = 0] = "General", t[t.WrongPassword = 1] = "WrongPassword", t[t.LogonFailure = 2] = "LogonFailure", t[t.AccessDenied = 3] = "AccessDenied", t[t.RDCleanPath = 4] = "RDCleanPath", t[t.ProxyConnect = 5] = "ProxyConnect", t[t.NegotiationFailure = 6] = "NegotiationFailure", t))(or || {});
3666
- const Wn = 100;
3671
+ var V = /* @__PURE__ */ ((t) => (t[t.Full = 0] = "Full", t[t.TextOnly = 1] = "TextOnly", t[t.TextOnlyServerOnly = 2] = "TextOnlyServerOnly", t[t.None = 3] = "None", t))(V || {}), or = /* @__PURE__ */ ((t) => (t[t.General = 0] = "General", t[t.WrongPassword = 1] = "WrongPassword", t[t.LogonFailure = 2] = "LogonFailure", t[t.AccessDenied = 3] = "AccessDenied", t[t.RDCleanPath = 4] = "RDCleanPath", t[t.ProxyConnect = 5] = "ProxyConnect", t[t.NegotiationFailure = 6] = "NegotiationFailure", t))(or || {});
3672
+ const Kn = 100;
3667
3673
  function ie(t) {
3668
3674
  throw {
3669
3675
  kind: () => or.General,
3670
3676
  backtrace: () => t
3671
3677
  };
3672
3678
  }
3673
- class Vn {
3679
+ class Wn {
3674
3680
  constructor(e, i) {
3675
3681
  __publicField(this, "remoteDesktopService");
3676
3682
  __publicField(this, "module");
3677
- __publicField(this, "ClipboardApiSupported", K.None);
3683
+ __publicField(this, "ClipboardApiSupported", V.None);
3678
3684
  __publicField(this, "lastClientClipboardItems", {});
3679
3685
  __publicField(this, "lastReceivedClipboardData", {});
3680
3686
  __publicField(this, "lastSentClipboardData", null);
@@ -3712,29 +3718,29 @@ class Vn {
3712
3718
  this.remoteDesktopService.emitWarningEvent("Clipboard is available only in secure contexts (HTTPS).");
3713
3719
  return;
3714
3720
  }
3715
- if (navigator.clipboard != null && (navigator.clipboard.read != null && navigator.clipboard.write != null ? this.ClipboardApiSupported = K.Full : navigator.clipboard.readText != null ? (this.ClipboardApiSupported = K.TextOnly, this.remoteDesktopService.emitWarningEvent(
3721
+ if (navigator.clipboard != null && (navigator.clipboard.read != null && navigator.clipboard.write != null ? this.ClipboardApiSupported = V.Full : navigator.clipboard.readText != null ? (this.ClipboardApiSupported = V.TextOnly, this.remoteDesktopService.emitWarningEvent(
3716
3722
  "Clipboard is limited to text-only data types due to an outdated browser version!"
3717
- )) : navigator.clipboard.writeText != null && (this.ClipboardApiSupported = K.TextOnlyServerOnly, this.remoteDesktopService.emitWarningEvent(
3723
+ )) : navigator.clipboard.writeText != null && (this.ClipboardApiSupported = V.TextOnlyServerOnly, this.remoteDesktopService.emitWarningEvent(
3718
3724
  "Clipboard reading is not supported and writing is limited to text-only data types due to an outdated browser version!"
3719
- ))), this.ClipboardApiSupported === K.Full)
3725
+ ))), this.ClipboardApiSupported === V.Full)
3720
3726
  try {
3721
3727
  (await navigator.permissions.query({
3722
3728
  name: "clipboard-read"
3723
- })).state === "denied" && (this.ClipboardApiSupported = K.TextOnly);
3729
+ })).state === "denied" && (this.ClipboardApiSupported = V.TextOnly);
3724
3730
  } catch {
3725
3731
  try {
3726
3732
  await navigator.clipboard.read();
3727
3733
  } catch {
3728
- this.ClipboardApiSupported = K.TextOnly;
3734
+ this.ClipboardApiSupported = V.TextOnly;
3729
3735
  }
3730
3736
  }
3731
- if (this.ClipboardApiSupported === K.None) {
3737
+ if (this.ClipboardApiSupported === V.None) {
3732
3738
  this.remoteDesktopService.emitWarningEvent(
3733
3739
  "Clipboard is not supported due to an outdated browser version!"
3734
3740
  );
3735
3741
  return;
3736
3742
  }
3737
- this.remoteDesktopService.setOnForceClipboardUpdate(this.onForceClipboardUpdate.bind(this)), this.ClipboardApiSupported === K.Full ? this.remoteDesktopService.autoClipboard ? (this.remoteDesktopService.setOnRemoteClipboardChanged(this.onRemoteClipboardChangedAutoMode.bind(this)), this.remoteDesktopService.sessionStartedObservable.subscribe((e) => {
3743
+ this.remoteDesktopService.setOnForceClipboardUpdate(this.onForceClipboardUpdate.bind(this)), this.ClipboardApiSupported === V.Full ? this.remoteDesktopService.autoClipboard ? (this.remoteDesktopService.setOnRemoteClipboardChanged(this.onRemoteClipboardChangedAutoMode.bind(this)), this.remoteDesktopService.sessionStartedObservable.subscribe((e) => {
3738
3744
  this.scheduleOnMonitorClipboardUpdate();
3739
3745
  })) : this.remoteDesktopService.setOnRemoteClipboardChanged(
3740
3746
  this.onRemoteClipboardChangedManualMode.bind(this)
@@ -3743,7 +3749,7 @@ class Vn {
3743
3749
  // Copies clipboard content received from the server to the local clipboard.
3744
3750
  // Returns the result of the operation. On failure, it additionally raises an error session event.
3745
3751
  async saveRemoteClipboardData() {
3746
- if (this.ClipboardApiSupported !== K.Full)
3752
+ if (this.ClipboardApiSupported !== V.Full)
3747
3753
  return await this.ffSaveRemoteClipboardData();
3748
3754
  this.clipboardDataToSave == null && ie("The server did not send the clipboard data.");
3749
3755
  try {
@@ -3756,7 +3762,7 @@ class Vn {
3756
3762
  // Sends local clipboard's content to the server.
3757
3763
  // Returns the result of the operation. On failure, it additionally raises an error session event.
3758
3764
  async sendClipboardData() {
3759
- if (this.ClipboardApiSupported !== K.Full)
3765
+ if (this.ClipboardApiSupported !== V.Full)
3760
3766
  return await this.ffSendClipboardData();
3761
3767
  const e = await navigator.clipboard.read().catch((n) => {
3762
3768
  ie("Failed to read from the clipboard: " + n);
@@ -3772,7 +3778,7 @@ class Vn {
3772
3778
  r.isEmpty() || (this.lastSentClipboardData = r, await this.remoteDesktopService.onClipboardChanged(r));
3773
3779
  }
3774
3780
  scheduleOnMonitorClipboardUpdate() {
3775
- setTimeout(this.onMonitorClipboard.bind(this), Wn);
3781
+ setTimeout(this.onMonitorClipboard.bind(this), Kn);
3776
3782
  }
3777
3783
  runWhenWindowFocused(e) {
3778
3784
  document.hasFocus() ? e() : Gt.enqueue(e);
@@ -3891,7 +3897,7 @@ class Vn {
3891
3897
  // Sends local clipboard's content to the server.
3892
3898
  // Returns the result of the operation. On failure, it additionally raises an error session event.
3893
3899
  async ffSendClipboardData() {
3894
- this.ClipboardApiSupported !== K.TextOnly && ie("The browser does not support clipboard read.");
3900
+ this.ClipboardApiSupported !== V.TextOnly && ie("The browser does not support clipboard read.");
3895
3901
  const e = await navigator.clipboard.readText().catch((r) => {
3896
3902
  ie("Failed to read from the clipboard: " + r);
3897
3903
  });
@@ -3907,7 +3913,7 @@ function ar(t = window) {
3907
3913
  y: t.innerHeight ?? e.clientHeight ?? i.clientHeight
3908
3914
  };
3909
3915
  }
3910
- function Kn(t, e = window) {
3916
+ function Vn(t, e = window) {
3911
3917
  if (t) {
3912
3918
  const i = t.getBoundingClientRect();
3913
3919
  if (i.width > 0 && i.height > 0)
@@ -3928,12 +3934,12 @@ function lr(t, e) {
3928
3934
  capturingInputs: ${document.activeElement === p}
3929
3935
  current active element: ${document.activeElement}
3930
3936
  `), ((_b2 = (_a2 = document.activeElement) == null ? void 0 : _a2.shadowRoot) == null ? void 0 : _b2.firstElementChild) === h;
3931
- }, h, d, p, w = Ft(""), s = Ft(""), a = new Bn(o()), l = new Vn(a, o()), u = new zn(a, l), b = we.Fit;
3937
+ }, h, d, p, w = Ft(""), s = Ft(""), a = new Bn(o()), l = new Wn(a, o()), u = new zn(a, l), b = we.Fit;
3932
3938
  function $(v) {
3933
3939
  f() && Ot(v);
3934
3940
  }
3935
3941
  function M() {
3936
- Ve(), Te(), window.addEventListener("keydown", $, false), window.addEventListener("keyup", $, false), window.addEventListener("focus", He), window.addEventListener("blur", he), document.addEventListener("visibilitychange", Me);
3942
+ We(), Te(), window.addEventListener("keydown", $, false), window.addEventListener("keyup", $, false), window.addEventListener("focus", He), window.addEventListener("blur", he), document.addEventListener("visibilitychange", Me);
3937
3943
  }
3938
3944
  function _() {
3939
3945
  n() === "true" && (h.style.flexGrow = "", h.style.display = "", h.style.justifyContent = "", h.style.alignItems = "");
@@ -3951,7 +3957,7 @@ function lr(t, e) {
3951
3957
  const ce = (v) => {
3952
3958
  fe(i());
3953
3959
  };
3954
- function Ve() {
3960
+ function We() {
3955
3961
  a.resizeObservable.subscribe((v) => {
3956
3962
  L.info(`Resize canvas to: ${v.desktopSize.width}x${v.desktopSize.height}`), p.width = v.desktopSize.width, p.height = v.desktopSize.height, fe(i());
3957
3963
  });
@@ -3987,15 +3993,15 @@ function lr(t, e) {
3987
3993
  }
3988
3994
  function rt() {
3989
3995
  const v = Oe(), T = v.x, F = v.y;
3990
- let R = p.width, W = p.height;
3996
+ let R = p.width, K = p.height;
3991
3997
  const B = Math.min(T / p.width, F / p.height);
3992
- R = R * B, W = W * B, O(`${F}px`, `${T}px`, "hidden"), R = R > 0 ? R : 0, W = W > 0 ? W : 0, A(`${W}px`, `${R}px`);
3998
+ R = R * B, K = K * B, O(`${F}px`, `${T}px`, "hidden"), R = R > 0 ? R : 0, K = K > 0 ? K : 0, A(`${K}px`, `${R}px`);
3993
3999
  }
3994
4000
  function Re(v = false) {
3995
- const T = Le(), F = d.getBoundingClientRect(), R = T.x - F.x, W = T.y - F.y;
4001
+ const T = Le(), F = d.getBoundingClientRect(), R = T.x - F.x, K = T.y - F.y;
3996
4002
  let B = p.width, se = p.height;
3997
- if (!v || R < p.width || W < p.height) {
3998
- const ve = Math.min(R / p.width, W / p.height);
4003
+ if (!v || R < p.width || K < p.height) {
4004
+ const ve = Math.min(R / p.width, K / p.height);
3999
4005
  B = B * ve, se = se * ve;
4000
4006
  }
4001
4007
  B = B > 0 ? B : 0, se = se > 0 ? se : 0, O("initial", "initial", "hidden"), A(`${se}px`, `${B}px`), m();
@@ -4005,11 +4011,11 @@ function lr(t, e) {
4005
4011
  F < p.width || R < p.height ? O(`${Math.min(R, p.height)}px`, `${Math.min(F, p.width)}px`, "auto") : O("initial", "initial", "initial"), A(`${p.height}px`, `${p.width}px`), m();
4006
4012
  }
4007
4013
  function At(v) {
4008
- const T = p == null ? void 0 : p.getBoundingClientRect(), F = (p == null ? void 0 : p.width) / T.width, R = (p == null ? void 0 : p.height) / T.height, W = {
4014
+ const T = p == null ? void 0 : p.getBoundingClientRect(), F = (p == null ? void 0 : p.width) / T.width, R = (p == null ? void 0 : p.height) / T.height, K = {
4009
4015
  x: Math.round((v.clientX - T.left) * F),
4010
4016
  y: Math.round((v.clientY - T.top) * R)
4011
4017
  };
4012
- a.updateMousePosition(W);
4018
+ a.updateMousePosition(K);
4013
4019
  }
4014
4020
  function Ee(v, T) {
4015
4021
  a.mouseButtonState(v, T, true);
@@ -4030,9 +4036,9 @@ function lr(t, e) {
4030
4036
  return ar();
4031
4037
  }
4032
4038
  function Le() {
4033
- return Kn(e.$$host);
4039
+ return Vn(e.$$host);
4034
4040
  }
4035
- async function Ke() {
4041
+ async function Ve() {
4036
4042
  L.info("Start canvas initialization..."), p.width = 800, p.height = 600, a.setCanvas(p), a.setOnCanvasResized(de), M();
4037
4043
  }
4038
4044
  function qe() {
@@ -4061,7 +4067,7 @@ function lr(t, e) {
4061
4067
  document.visibilityState === "hidden" && a.focusLost();
4062
4068
  }
4063
4069
  tr(async () => {
4064
- jt.set(false), L.verbose = r() === "true", L.info("Dom ready"), await Ke();
4070
+ jt.set(false), L.verbose = r() === "true", L.info("Dom ready"), await Ve();
4065
4071
  try {
4066
4072
  await l.initClipboard();
4067
4073
  } catch (v) {
Binary file