jssz-meeting-component 1.2.9 → 1.2.11

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.esm.js CHANGED
@@ -8820,8 +8820,8 @@ var I$1 = ze$1(() => {
8820
8820
  Ef();
8821
8821
  });
8822
8822
  function tw() {
8823
- if (Af) return On;
8824
- Af = true, On.byteLength = a2, On.toByteArray = f2, On.fromByteArray = m2;
8823
+ if (Af) return On$1;
8824
+ Af = true, On$1.byteLength = a2, On$1.toByteArray = f2, On$1.fromByteArray = m2;
8825
8825
  for (var t2 = [], e2 = [], r2 = typeof Uint8Array < "u" ? Uint8Array : Array, n2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", i2 = 0, s2 = n2.length; i2 < s2; ++i2) t2[i2] = n2[i2], e2[n2.charCodeAt(i2)] = i2;
8826
8826
  e2[45] = 62, e2[95] = 63;
8827
8827
  function o2(g2) {
@@ -8855,7 +8855,7 @@ function tw() {
8855
8855
  for (var P2, S2 = g2.length, b2 = S2 % 3, w2 = [], _2 = 16383, R2 = 0, T2 = S2 - b2; R2 < T2; R2 += _2) w2.push(d2(g2, R2, R2 + _2 > T2 ? T2 : R2 + _2));
8856
8856
  return b2 === 1 ? (P2 = g2[S2 - 1], w2.push(t2[P2 >> 2] + t2[P2 << 4 & 63] + "==")) : b2 === 2 && (P2 = (g2[S2 - 2] << 8) + g2[S2 - 1], w2.push(t2[P2 >> 10] + t2[P2 >> 4 & 63] + t2[P2 << 2 & 63] + "=")), w2.join("");
8857
8857
  }
8858
- return On;
8858
+ return On$1;
8859
8859
  }
8860
8860
  function rw() {
8861
8861
  if (If) return ki;
@@ -9635,11 +9635,11 @@ function Tf() {
9635
9635
  }
9636
9636
  return mr$1;
9637
9637
  }
9638
- var On, Af, ki, If, mr$1, xf, Pf = ze$1(() => {
9638
+ var On$1, Af, ki, If, mr$1, xf, Pf = ze$1(() => {
9639
9639
  A$1();
9640
9640
  x$1();
9641
9641
  I$1();
9642
- On = {}, Af = false;
9642
+ On$1 = {}, Af = false;
9643
9643
  ki = {}, If = false;
9644
9644
  mr$1 = {}, xf = false;
9645
9645
  });
@@ -9935,7 +9935,7 @@ var Yr$1 = j$1((cO, Mi) => {
9935
9935
  Mi.exports.default = Mf;
9936
9936
  });
9937
9937
  var Zt$1 = {};
9938
- Kr$1(Zt$1, { EventEmitter: () => gw, default: () => Rn, defaultMaxListeners: () => bw, init: () => ww, listenerCount: () => mw, on: () => _w, once: () => vw });
9938
+ Kr$1(Zt$1, { EventEmitter: () => gw, default: () => Rn$1, defaultMaxListeners: () => bw, init: () => ww, listenerCount: () => mw, on: () => _w, once: () => vw });
9939
9939
  function yw() {
9940
9940
  if (Nf) return Ni;
9941
9941
  Nf = true;
@@ -10107,14 +10107,14 @@ function yw() {
10107
10107
  }
10108
10108
  return Ni;
10109
10109
  }
10110
- var Ni, Nf, Rn, gw, bw, ww, mw, _w, vw, er$1 = ze$1(() => {
10110
+ var Ni, Nf, Rn$1, gw, bw, ww, mw, _w, vw, er$1 = ze$1(() => {
10111
10111
  A$1();
10112
10112
  x$1();
10113
10113
  I$1();
10114
10114
  Ni = {}, Nf = false;
10115
- Rn = yw();
10116
- Rn.once;
10117
- Rn.once = function(t2, e2) {
10115
+ Rn$1 = yw();
10116
+ Rn$1.once;
10117
+ Rn$1.once = function(t2, e2) {
10118
10118
  return new Promise((r2, n2) => {
10119
10119
  function i2(...o2) {
10120
10120
  s2 !== void 0 && t2.removeListener("error", s2), r2(o2);
@@ -10125,7 +10125,7 @@ var Ni, Nf, Rn, gw, bw, ww, mw, _w, vw, er$1 = ze$1(() => {
10125
10125
  }, t2.once("error", s2)), t2.once(e2, i2);
10126
10126
  });
10127
10127
  };
10128
- Rn.on = function(t2, e2) {
10128
+ Rn$1.on = function(t2, e2) {
10129
10129
  let r2 = [], n2 = [], i2 = null, s2 = false, o2 = { async next() {
10130
10130
  let f2 = r2.shift();
10131
10131
  if (f2) return createIterResult(f2, false);
@@ -10154,7 +10154,7 @@ var Ni, Nf, Rn, gw, bw, ww, mw, _w, vw, er$1 = ze$1(() => {
10154
10154
  h2 ? h2.reject(f2) : i2 = f2, o2.return();
10155
10155
  }
10156
10156
  };
10157
- ({ EventEmitter: gw, defaultMaxListeners: bw, init: ww, listenerCount: mw, on: _w, once: vw } = Rn);
10157
+ ({ EventEmitter: gw, defaultMaxListeners: bw, init: ww, listenerCount: mw, on: _w, once: vw } = Rn$1);
10158
10158
  });
10159
10159
  var $e$1 = j$1((OO, ys) => {
10160
10160
  A$1();
@@ -10992,8 +10992,8 @@ var Qh = j$1((Kh) => {
10992
10992
  if (typeof e2 != "string" && (Ls.isEncoding === zh || !zh(t2))) throw new Error("Unknown encoding: " + t2);
10993
10993
  return e2 || t2;
10994
10994
  }
10995
- Kh.StringDecoder = Bn;
10996
- function Bn(t2) {
10995
+ Kh.StringDecoder = Bn2;
10996
+ function Bn2(t2) {
10997
10997
  this.encoding = O_(t2);
10998
10998
  var e2;
10999
10999
  switch (this.encoding) {
@@ -11012,7 +11012,7 @@ var Qh = j$1((Kh) => {
11012
11012
  }
11013
11013
  this.lastNeed = 0, this.lastTotal = 0, this.lastChar = Ls.allocUnsafe(e2);
11014
11014
  }
11015
- Bn.prototype.write = function(t2) {
11015
+ Bn2.prototype.write = function(t2) {
11016
11016
  if (t2.length === 0) return "";
11017
11017
  var e2, r2;
11018
11018
  if (this.lastNeed) {
@@ -11021,9 +11021,9 @@ var Qh = j$1((Kh) => {
11021
11021
  } else r2 = 0;
11022
11022
  return r2 < t2.length ? e2 ? e2 + this.text(t2, r2) : this.text(t2, r2) : e2 || "";
11023
11023
  };
11024
- Bn.prototype.end = M_;
11025
- Bn.prototype.text = B_;
11026
- Bn.prototype.fillLast = function(t2) {
11024
+ Bn2.prototype.end = M_;
11025
+ Bn2.prototype.text = B_;
11026
+ Bn2.prototype.fillLast = function(t2) {
11027
11027
  if (this.lastNeed <= t2.length) return t2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal);
11028
11028
  t2.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, t2.length), this.lastNeed -= t2.length;
11029
11029
  };
@@ -11538,11 +11538,11 @@ var ro = j$1((aC, Od) => {
11538
11538
  Ed(Ie2, qn);
11539
11539
  function Qs() {
11540
11540
  }
11541
- var sn = Uv("kOnFinished");
11541
+ var sn2 = Uv("kOnFinished");
11542
11542
  function Un(t2, e2, r2) {
11543
11543
  typeof r2 != "boolean" && (r2 = e2 instanceof St$1()), this.objectMode = !!(t2 && t2.objectMode), r2 && (this.objectMode = this.objectMode || !!(t2 && t2.writableObjectMode)), this.highWaterMark = t2 ? Wv(this, t2, "writableHighWaterMark", r2) : $v(false), this.finalCalled = false, this.needDrain = false, this.ending = false, this.ended = false, this.finished = false, this.destroyed = false;
11544
11544
  let n2 = !!(t2 && t2.decodeStrings === false);
11545
- this.decodeStrings = !n2, this.defaultEncoding = t2 && t2.defaultEncoding || "utf8", this.length = 0, this.writing = false, this.corked = 0, this.sync = true, this.bufferProcessing = false, this.onwrite = Jv.bind(void 0, e2), this.writecb = null, this.writelen = 0, this.afterWriteTickInfo = null, eo(this), this.pendingcb = 0, this.constructed = true, this.prefinished = false, this.errorEmitted = false, this.emitClose = !t2 || t2.emitClose !== false, this.autoDestroy = !t2 || t2.autoDestroy !== false, this.errored = null, this.closed = false, this.closeEmitted = false, this[sn] = [];
11545
+ this.decodeStrings = !n2, this.defaultEncoding = t2 && t2.defaultEncoding || "utf8", this.length = 0, this.writing = false, this.corked = 0, this.sync = true, this.bufferProcessing = false, this.onwrite = Jv.bind(void 0, e2), this.writecb = null, this.writelen = 0, this.afterWriteTickInfo = null, eo(this), this.pendingcb = 0, this.constructed = true, this.prefinished = false, this.errorEmitted = false, this.emitClose = !t2 || t2.emitClose !== false, this.autoDestroy = !t2 || t2.autoDestroy !== false, this.errored = null, this.closed = false, this.closeEmitted = false, this[sn2] = [];
11546
11546
  }
11547
11547
  function eo(t2) {
11548
11548
  t2.buffered = [], t2.bufferedIndex = 0, t2.allBuffers = true, t2.allNoop = true;
@@ -11631,7 +11631,7 @@ var ro = j$1((aC, Od) => {
11631
11631
  let { chunk: s2, callback: o2 } = t2.buffered[i2], a2 = t2.objectMode ? 1 : s2.length;
11632
11632
  t2.length -= a2, o2((e2 = t2.errored) !== null && e2 !== void 0 ? e2 : new Ln("write"));
11633
11633
  }
11634
- let r2 = t2[sn].splice(0);
11634
+ let r2 = t2[sn2].splice(0);
11635
11635
  for (let i2 = 0; i2 < r2.length; i2++) {
11636
11636
  var n2;
11637
11637
  r2[i2]((n2 = t2.errored) !== null && n2 !== void 0 ? n2 : new Ln("end"));
@@ -11673,7 +11673,7 @@ var ro = j$1((aC, Od) => {
11673
11673
  let s2 = xd(this, t2, e2);
11674
11674
  s2 instanceof Nv && (i2 = s2);
11675
11675
  }
11676
- return n2.corked && (n2.corked = 1, this.uncork()), i2 || (!n2.errored && !n2.ending ? (n2.ending = true, Xs(this, n2, true), n2.ended = true) : n2.finished ? i2 = new zv("end") : n2.destroyed && (i2 = new Ln("end"))), typeof r2 == "function" && (i2 || n2.finished ? Tr2.nextTick(r2, i2) : n2[sn].push(r2)), this;
11676
+ return n2.corked && (n2.corked = 1, this.uncork()), i2 || (!n2.errored && !n2.ending ? (n2.ending = true, Xs(this, n2, true), n2.ended = true) : n2.finished ? i2 = new zv("end") : n2.destroyed && (i2 = new Ln("end"))), typeof r2 == "function" && (i2 || n2.finished ? Tr2.nextTick(r2, i2) : n2[sn2].push(r2)), this;
11677
11677
  };
11678
11678
  function Zi(t2) {
11679
11679
  return t2.ending && !t2.destroyed && t2.constructed && t2.length === 0 && !t2.errored && t2.buffered.length === 0 && !t2.finished && !t2.writing && !t2.errorEmitted && !t2.closeEmitted;
@@ -11686,7 +11686,7 @@ var ro = j$1((aC, Od) => {
11686
11686
  return;
11687
11687
  }
11688
11688
  if (r2 = true, e2.pendingcb--, i2) {
11689
- let s2 = e2[sn].splice(0);
11689
+ let s2 = e2[sn2].splice(0);
11690
11690
  for (let o2 = 0; o2 < s2.length; o2++) s2[o2](i2);
11691
11691
  on2(t2, i2, e2.sync);
11692
11692
  } else Zi(e2) && (e2.prefinished = true, t2.emit("prefinish"), e2.pendingcb++, Tr2.nextTick(Ks, t2, e2));
@@ -11709,7 +11709,7 @@ var ro = j$1((aC, Od) => {
11709
11709
  }
11710
11710
  function Ks(t2, e2) {
11711
11711
  e2.pendingcb--, e2.finished = true;
11712
- let r2 = e2[sn].splice(0);
11712
+ let r2 = e2[sn2].splice(0);
11713
11713
  for (let n2 = 0; n2 < r2.length; n2++) r2[n2]();
11714
11714
  if (t2.emit("finish"), e2.autoDestroy) {
11715
11715
  let n2 = t2._readableState;
@@ -11752,7 +11752,7 @@ var ro = j$1((aC, Od) => {
11752
11752
  var t0 = to.destroy;
11753
11753
  Ie2.prototype.destroy = function(t2, e2) {
11754
11754
  let r2 = this._writableState;
11755
- return !r2.destroyed && (r2.bufferedIndex < r2.buffered.length || r2[sn].length) && Tr2.nextTick(Ys, r2), t0.call(this, t2, e2), this;
11755
+ return !r2.destroyed && (r2.bufferedIndex < r2.buffered.length || r2[sn2].length) && Tr2.nextTick(Ys, r2), t0.call(this, t2, e2), this;
11756
11756
  };
11757
11757
  Ie2.prototype._undestroy = to.undestroy;
11758
11758
  Ie2.prototype._destroy = function(t2, e2) {
@@ -11776,7 +11776,7 @@ var Hd = j$1((bC, $d) => {
11776
11776
  A$1();
11777
11777
  x$1();
11778
11778
  I$1();
11779
- var Zs = tr$1(), r0 = (ke(), me$1(qe$1)), { isReadable: n0, isWritable: i0, isIterable: Rd, isNodeStream: o0, isReadableNodeStream: kd, isWritableNodeStream: Cd, isDuplexNodeStream: s0, isReadableStream: Bd, isWritableStream: Md } = mt$1(), Nd = Ut$1(), { AbortError: Fd, codes: { ERR_INVALID_ARG_TYPE: a0, ERR_INVALID_RETURN_VALUE: qd } } = De$1(), { destroyer: un } = Ar$1(), u0 = St$1(), Wd = Nn(), l0 = ro(), { createDeferredPromise: Ld } = $e$1(), Ud = Us(), Dd = globalThis.Blob || r0.Blob, c0 = typeof Dd < "u" ? function(e2) {
11779
+ var Zs = tr$1(), r0 = (ke(), me$1(qe$1)), { isReadable: n0, isWritable: i0, isIterable: Rd, isNodeStream: o0, isReadableNodeStream: kd, isWritableNodeStream: Cd, isDuplexNodeStream: s0, isReadableStream: Bd, isWritableStream: Md } = mt$1(), Nd = Ut$1(), { AbortError: Fd, codes: { ERR_INVALID_ARG_TYPE: a0, ERR_INVALID_RETURN_VALUE: qd } } = De$1(), { destroyer: un2 } = Ar$1(), u0 = St$1(), Wd = Nn(), l0 = ro(), { createDeferredPromise: Ld } = $e$1(), Ud = Us(), Dd = globalThis.Blob || r0.Blob, c0 = typeof Dd < "u" ? function(e2) {
11780
11780
  return e2 instanceof Dd;
11781
11781
  } : function(e2) {
11782
11782
  return false;
@@ -11787,11 +11787,11 @@ var Hd = j$1((bC, $d) => {
11787
11787
  };
11788
11788
  $d.exports = function t2(e2, r2) {
11789
11789
  if (s0(e2)) return e2;
11790
- if (kd(e2)) return an({ readable: e2 });
11791
- if (Cd(e2)) return an({ writable: e2 });
11792
- if (o0(e2)) return an({ writable: false, readable: false });
11793
- if (Bd(e2)) return an({ readable: Wd.fromWeb(e2) });
11794
- if (Md(e2)) return an({ writable: l0.fromWeb(e2) });
11790
+ if (kd(e2)) return an2({ readable: e2 });
11791
+ if (Cd(e2)) return an2({ writable: e2 });
11792
+ if (o0(e2)) return an2({ writable: false, readable: false });
11793
+ if (Bd(e2)) return an2({ readable: Wd.fromWeb(e2) });
11794
+ if (Md(e2)) return an2({ writable: l0.fromWeb(e2) });
11795
11795
  if (typeof e2 == "function") {
11796
11796
  let { value: i2, write: s2, final: o2, destroy: a2 } = h0(e2);
11797
11797
  if (Rd(i2)) return Ud(ir2, i2, { objectMode: true, write: s2, final: o2, destroy: a2 });
@@ -11800,7 +11800,7 @@ var Hd = j$1((bC, $d) => {
11800
11800
  let f2, h2 = jd(c2, i2, (d2) => {
11801
11801
  if (d2 != null) throw new qd("nully", "body", d2);
11802
11802
  }, (d2) => {
11803
- un(f2, d2);
11803
+ un2(f2, d2);
11804
11804
  });
11805
11805
  return f2 = new ir2({ objectMode: true, readable: false, write: s2, final(d2) {
11806
11806
  o2(async () => {
@@ -11819,7 +11819,7 @@ var Hd = j$1((bC, $d) => {
11819
11819
  if (Bd(e2 == null ? void 0 : e2.readable) && Md(e2 == null ? void 0 : e2.writable)) return ir2.fromWeb(e2);
11820
11820
  if (typeof (e2 == null ? void 0 : e2.writable) == "object" || typeof (e2 == null ? void 0 : e2.readable) == "object") {
11821
11821
  let i2 = e2 != null && e2.readable ? kd(e2 == null ? void 0 : e2.readable) ? e2 == null ? void 0 : e2.readable : t2(e2.readable) : void 0, s2 = e2 != null && e2.writable ? Cd(e2 == null ? void 0 : e2.writable) ? e2 == null ? void 0 : e2.writable : t2(e2.writable) : void 0;
11822
- return an({ readable: i2, writable: s2 });
11822
+ return an2({ readable: i2, writable: s2 });
11823
11823
  }
11824
11824
  let n2 = e2 == null ? void 0 : e2.then;
11825
11825
  if (typeof n2 == "function") {
@@ -11827,7 +11827,7 @@ var Hd = j$1((bC, $d) => {
11827
11827
  return jd(n2, e2, (s2) => {
11828
11828
  s2 != null && i2.push(s2), i2.push(null);
11829
11829
  }, (s2) => {
11830
- un(i2, s2);
11830
+ un2(i2, s2);
11831
11831
  }), i2 = new ir2({ objectMode: true, writable: false, read() {
11832
11832
  } });
11833
11833
  }
@@ -11854,14 +11854,14 @@ var Hd = j$1((bC, $d) => {
11854
11854
  n2.abort(), a2(o2);
11855
11855
  } };
11856
11856
  }
11857
- function an(t2) {
11857
+ function an2(t2) {
11858
11858
  let e2 = t2.readable && typeof t2.readable.read != "function" ? Wd.wrap(t2.readable) : t2.readable, r2 = t2.writable, n2 = !!n0(e2), i2 = !!i0(r2), s2, o2, a2, c2, f2;
11859
11859
  function h2(d2) {
11860
11860
  let m2 = c2;
11861
11861
  c2 = null, m2 ? m2(d2) : d2 && f2.destroy(d2);
11862
11862
  }
11863
11863
  return f2 = new ir2({ readableObjectMode: !!(e2 != null && e2.readableObjectMode), writableObjectMode: !!(r2 != null && r2.writableObjectMode), readable: n2, writable: i2 }), i2 && (Nd(r2, (d2) => {
11864
- i2 = false, d2 && un(e2, d2), h2(d2);
11864
+ i2 = false, d2 && un2(e2, d2), h2(d2);
11865
11865
  }), f2._write = function(d2, m2, g2) {
11866
11866
  r2.write(d2, m2) ? g2() : s2 = g2;
11867
11867
  }, f2._final = function(d2) {
@@ -11877,7 +11877,7 @@ var Hd = j$1((bC, $d) => {
11877
11877
  o2 = null, d2();
11878
11878
  }
11879
11879
  })), n2 && (Nd(e2, (d2) => {
11880
- n2 = false, d2 && un(e2, d2), h2(d2);
11880
+ n2 = false, d2 && un2(e2, d2), h2(d2);
11881
11881
  }), e2.on("readable", function() {
11882
11882
  if (a2) {
11883
11883
  let d2 = a2;
@@ -11895,7 +11895,7 @@ var Hd = j$1((bC, $d) => {
11895
11895
  if (!f2.push(d2)) return;
11896
11896
  }
11897
11897
  }), f2._destroy = function(d2, m2) {
11898
- !d2 && c2 !== null && (d2 = new Fd()), a2 = null, s2 = null, o2 = null, c2 === null ? m2(d2) : (c2 = m2, un(r2, d2), un(e2, d2));
11898
+ !d2 && c2 !== null && (d2 = new Fd()), a2 = null, s2 = null, o2 = null, c2 === null ? m2(d2) : (c2 = m2, un2(r2, d2), un2(e2, d2));
11899
11899
  }, f2;
11900
11900
  }
11901
11901
  });
@@ -11992,15 +11992,15 @@ var aa = j$1((zC, Jd) => {
11992
11992
  x$1();
11993
11993
  I$1();
11994
11994
  var { ObjectSetPrototypeOf: Yd } = Ee$1();
11995
- Jd.exports = ln;
11995
+ Jd.exports = ln2;
11996
11996
  var sa = oa();
11997
- Yd(ln.prototype, sa.prototype);
11998
- Yd(ln, sa);
11999
- function ln(t2) {
12000
- if (!(this instanceof ln)) return new ln(t2);
11997
+ Yd(ln2.prototype, sa.prototype);
11998
+ Yd(ln2, sa);
11999
+ function ln2(t2) {
12000
+ if (!(this instanceof ln2)) return new ln2(t2);
12001
12001
  sa.call(this, t2);
12002
12002
  }
12003
- ln.prototype._transform = function(t2, e2, r2) {
12003
+ ln2.prototype._transform = function(t2, e2, r2) {
12004
12004
  r2(null, t2);
12005
12005
  };
12006
12006
  });
@@ -12008,7 +12008,7 @@ var so = j$1((nB, rp) => {
12008
12008
  A$1();
12009
12009
  x$1();
12010
12010
  I$1();
12011
- var jn = tr$1(), { ArrayIsArray: m0, Promise: _0, SymbolAsyncIterator: v0, SymbolDispose: S0 } = Ee$1(), oo = Ut$1(), { once: E0 } = $e$1(), A0 = Ar$1(), Xd = St$1(), { aggregateTwoErrors: I0, codes: { ERR_INVALID_ARG_TYPE: ga, ERR_INVALID_RETURN_VALUE: ua, ERR_MISSING_ARGS: x0, ERR_STREAM_DESTROYED: T0, ERR_STREAM_PREMATURE_CLOSE: P0 }, AbortError: O0 } = De$1(), { validateFunction: R0, validateAbortSignal: k0 } = Xr$1(), { isIterable: Pr2, isReadable: la, isReadableNodeStream: io, isNodeStream: Zd, isTransformStream: cn, isWebStream: C0, isReadableStream: ca, isReadableFinished: B0 } = mt$1(), M0 = globalThis.AbortController || Yr$1().AbortController, fa, ha, da;
12011
+ var jn = tr$1(), { ArrayIsArray: m0, Promise: _0, SymbolAsyncIterator: v0, SymbolDispose: S0 } = Ee$1(), oo = Ut$1(), { once: E0 } = $e$1(), A0 = Ar$1(), Xd = St$1(), { aggregateTwoErrors: I0, codes: { ERR_INVALID_ARG_TYPE: ga, ERR_INVALID_RETURN_VALUE: ua, ERR_MISSING_ARGS: x0, ERR_STREAM_DESTROYED: T0, ERR_STREAM_PREMATURE_CLOSE: P0 }, AbortError: O0 } = De$1(), { validateFunction: R0, validateAbortSignal: k0 } = Xr$1(), { isIterable: Pr2, isReadable: la, isReadableNodeStream: io, isNodeStream: Zd, isTransformStream: cn2, isWebStream: C0, isReadableStream: ca, isReadableFinished: B0 } = mt$1(), M0 = globalThis.AbortController || Yr$1().AbortController, fa, ha, da;
12012
12012
  function ep(t2, e2, r2) {
12013
12013
  let n2 = false;
12014
12014
  t2.on("close", () => {
@@ -12056,7 +12056,7 @@ var so = j$1((nB, rp) => {
12056
12056
  }
12057
12057
  }
12058
12058
  async function ya(t2, e2, r2, { end: n2 }) {
12059
- cn(e2) && (e2 = e2.writable);
12059
+ cn2(e2) && (e2 = e2.writable);
12060
12060
  let i2 = e2.getWriter();
12061
12061
  try {
12062
12062
  for await (let s2 of t2) await i2.ready, i2.write(s2).catch(() => {
@@ -12111,9 +12111,9 @@ var so = j$1((nB, rp) => {
12111
12111
  }
12112
12112
  if (R2 === 0) if (typeof T2 == "function") {
12113
12113
  if (S2 = T2({ signal: i2 }), !Pr2(S2)) throw new ua("Iterable, AsyncIterable or Stream", "source", S2);
12114
- } else Pr2(T2) || io(T2) || cn(T2) ? S2 = T2 : S2 = Xd.from(T2);
12114
+ } else Pr2(T2) || io(T2) || cn2(T2) ? S2 = T2 : S2 = Xd.from(T2);
12115
12115
  else if (typeof T2 == "function") {
12116
- if (cn(S2)) {
12116
+ if (cn2(S2)) {
12117
12117
  var b2;
12118
12118
  S2 = pa((b2 = S2) === null || b2 === void 0 ? void 0 : b2.readable);
12119
12119
  } else S2 = pa(S2);
@@ -12129,7 +12129,7 @@ var so = j$1((nB, rp) => {
12129
12129
  F2.destroy(H2), jn.nextTick(g2, H2);
12130
12130
  });
12131
12131
  else if (Pr2(S2, true)) m2++, no(S2, F2, g2, { end: v2 });
12132
- else if (ca(S2) || cn(S2)) {
12132
+ else if (ca(S2) || cn2(S2)) {
12133
12133
  let H2 = S2.readable || S2;
12134
12134
  m2++, no(H2, F2, g2, { end: v2 });
12135
12135
  } else throw new ua("AsyncIterable or Promise", "destination", S2);
@@ -12142,7 +12142,7 @@ var so = j$1((nB, rp) => {
12142
12142
  m2 += 2;
12143
12143
  let F2 = U0(S2, T2, g2, { end: v2 });
12144
12144
  la(T2) && M2 && o2.push(F2);
12145
- } else if (cn(S2) || ca(S2)) {
12145
+ } else if (cn2(S2) || ca(S2)) {
12146
12146
  let F2 = S2.readable || S2;
12147
12147
  m2++, no(F2, T2, g2, { end: v2 });
12148
12148
  } else if (Pr2(S2)) m2++, no(S2, T2, g2, { end: v2 });
@@ -12151,7 +12151,7 @@ var so = j$1((nB, rp) => {
12151
12151
  } else if (C0(T2)) {
12152
12152
  if (io(S2)) m2++, ya(pa(S2), T2, g2, { end: v2 });
12153
12153
  else if (ca(S2) || Pr2(S2)) m2++, ya(S2, T2, g2, { end: v2 });
12154
- else if (cn(S2)) m2++, ya(S2.readable, T2, g2, { end: v2 });
12154
+ else if (cn2(S2)) m2++, ya(S2.readable, T2, g2, { end: v2 });
12155
12155
  else throw new ga("val", ["Readable", "Iterable", "AsyncIterable", "ReadableStream", "TransformStream"], S2);
12156
12156
  S2 = T2;
12157
12157
  } else S2 = Xd.from(T2);
@@ -14298,7 +14298,7 @@ var Sy = j$1((_o) => {
14298
14298
  t2 && (t2 = false, _y("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", e2));
14299
14299
  };
14300
14300
  }
14301
- var NE = (t2) => !my.has(t2), lr2 = (t2) => t2 && t2 === Math.floor(t2) && t2 > 0 && isFinite(t2), vy = (t2) => lr2(t2) ? t2 <= Math.pow(2, 8) ? Uint8Array : t2 <= Math.pow(2, 16) ? Uint16Array : t2 <= Math.pow(2, 32) ? Uint32Array : t2 <= Number.MAX_SAFE_INTEGER ? bn2 : null : null, bn2 = class extends Array {
14301
+ var NE = (t2) => !my.has(t2), lr2 = (t2) => t2 && t2 === Math.floor(t2) && t2 > 0 && isFinite(t2), vy = (t2) => lr2(t2) ? t2 <= Math.pow(2, 8) ? Uint8Array : t2 <= Math.pow(2, 16) ? Uint16Array : t2 <= Math.pow(2, 32) ? Uint32Array : t2 <= Number.MAX_SAFE_INTEGER ? bn : null : null, bn = class extends Array {
14302
14302
  constructor(e2) {
14303
14303
  super(e2), this.fill(0);
14304
14304
  }
@@ -14654,7 +14654,7 @@ var Sy = j$1((_o) => {
14654
14654
  return __privateMethod(this, _t_instances, j_fn).call(this, "delete");
14655
14655
  }
14656
14656
  }, _u2 = new WeakMap(), _f2 = new WeakMap(), _y2 = new WeakMap(), _g2 = new WeakMap(), _R = new WeakMap(), _k = new WeakMap(), _i2 = new WeakMap(), _b26 = new WeakMap(), _n = new WeakMap(), _r2 = new WeakMap(), _e = new WeakMap(), _l2 = new WeakMap(), _h = new WeakMap(), _a26 = new WeakMap(), _o2 = new WeakMap(), _w2 = new WeakMap(), _s = new WeakMap(), _m = new WeakMap(), __ = new WeakMap(), _d2 = new WeakMap(), _v = new WeakMap(), _x2 = new WeakMap(), _c3 = new WeakMap(), _t_instances = new WeakSet(), N_fn = function() {
14657
- let e2 = new bn2(__privateGet(this, _u2)), r2 = new bn2(__privateGet(this, _u2));
14657
+ let e2 = new bn(__privateGet(this, _u2)), r2 = new bn(__privateGet(this, _u2));
14658
14658
  __privateSet(this, _d2, e2), __privateSet(this, __, r2), __privateSet(this, _q, (s2, o2, a2 = gn.now()) => {
14659
14659
  if (r2[s2] = o2 !== 0 ? a2 : 0, e2[s2] = o2, o2 !== 0 && this.ttlAutopurge) {
14660
14660
  let c2 = setTimeout(() => {
@@ -14694,7 +14694,7 @@ var Sy = j$1((_o) => {
14694
14694
  return !!a2 && !!o2 && (n2 || i2()) - o2 > a2;
14695
14695
  });
14696
14696
  }, _T = new WeakMap(), _I2 = new WeakMap(), _q = new WeakMap(), _p = new WeakMap(), F_fn = function() {
14697
- let e2 = new bn2(__privateGet(this, _u2));
14697
+ let e2 = new bn(__privateGet(this, _u2));
14698
14698
  __privateSet(this, _b26, 0), __privateSet(this, _m, e2), __privateSet(this, _P, (r2) => {
14699
14699
  __privateSet(this, _b26, __privateGet(this, _b26) - e2[r2]), e2[r2] = 0;
14700
14700
  }), __privateSet(this, _L, (r2, n2, i2, s2) => {
@@ -15499,12 +15499,12 @@ var Py = j$1((ko) => {
15499
15499
  }, n1 = nu;
15500
15500
  ko.default = n1;
15501
15501
  });
15502
- var Oy = j$1((wn2) => {
15502
+ var Oy = j$1((wn) => {
15503
15503
  A$1();
15504
15504
  x$1();
15505
15505
  I$1();
15506
- Object.defineProperty(wn2, "t", { value: true });
15507
- wn2.TreeNodeEnableIndex = wn2.TreeNode = void 0;
15506
+ Object.defineProperty(wn, "t", { value: true });
15507
+ wn.TreeNodeEnableIndex = wn.TreeNode = void 0;
15508
15508
  var Co = class {
15509
15509
  constructor(e2, r2) {
15510
15510
  this.ee = 1, this.u = void 0, this.l = void 0, this.U = void 0, this.W = void 0, this.tt = void 0, this.u = e2, this.l = r2;
@@ -15540,7 +15540,7 @@ var Oy = j$1((wn2) => {
15540
15540
  return e2.tt === this ? e2.tt = r2 : e2.U === this ? e2.U = r2 : e2.W = r2, r2.tt = e2, r2.W = this, this.tt = r2, this.U = n2, n2 && (n2.tt = this), r2;
15541
15541
  }
15542
15542
  };
15543
- wn2.TreeNode = Co;
15543
+ wn.TreeNode = Co;
15544
15544
  var iu = class extends Co {
15545
15545
  constructor() {
15546
15546
  super(...arguments), this.rt = 1;
@@ -15557,7 +15557,7 @@ var Oy = j$1((wn2) => {
15557
15557
  this.rt = 1, this.U && (this.rt += this.U.rt), this.W && (this.rt += this.W.rt);
15558
15558
  }
15559
15559
  };
15560
- wn2.TreeNodeEnableIndex = iu;
15560
+ wn.TreeNodeEnableIndex = iu;
15561
15561
  });
15562
15562
  var su = j$1((Bo) => {
15563
15563
  A$1();
@@ -18379,23 +18379,23 @@ function wl(t2) {
18379
18379
  throw new Error("Node.js process " + t2 + " is not supported by JSPM core outside of Node.js");
18380
18380
  }
18381
18381
  function hI() {
18382
- !En || !$r$1 || (En = false, $r$1.length ? zt$1 = $r$1.concat(zt$1) : Ko = -1, zt$1.length && cb());
18382
+ !En$1 || !$r$1 || (En$1 = false, $r$1.length ? zt$1 = $r$1.concat(zt$1) : Ko = -1, zt$1.length && cb());
18383
18383
  }
18384
18384
  function cb() {
18385
- if (!En) {
18385
+ if (!En$1) {
18386
18386
  var t2 = setTimeout(hI, 0);
18387
- En = true;
18387
+ En$1 = true;
18388
18388
  for (var e2 = zt$1.length; e2; ) {
18389
18389
  for ($r$1 = zt$1, zt$1 = []; ++Ko < e2; ) $r$1 && $r$1[Ko].run();
18390
18390
  Ko = -1, e2 = zt$1.length;
18391
18391
  }
18392
- $r$1 = null, En = false, clearTimeout(t2);
18392
+ $r$1 = null, En$1 = false, clearTimeout(t2);
18393
18393
  }
18394
18394
  }
18395
18395
  function dI(t2) {
18396
18396
  var e2 = new Array(arguments.length - 1);
18397
18397
  if (arguments.length > 1) for (var r2 = 1; r2 < arguments.length; r2++) e2[r2 - 1] = arguments[r2];
18398
- zt$1.push(new fb(t2, e2)), zt$1.length === 1 && !En && setTimeout(cb, 0);
18398
+ zt$1.push(new fb(t2, e2)), zt$1.length === 1 && !En$1 && setTimeout(cb, 0);
18399
18399
  }
18400
18400
  function fb(t2, e2) {
18401
18401
  this.fun = t2, this.array = e2;
@@ -18433,11 +18433,11 @@ function pr$1() {
18433
18433
  function Ix(t2) {
18434
18434
  return [];
18435
18435
  }
18436
- var zt$1, En, $r$1, Ko, pI, yI, gI, bI, wI, mI, _I, vI, SI, EI, AI, II, xI, TI, PI, OI, kI, CI, BI, LI, UI, ml, DI, jI, FI, WI, $I, HI, GI, zI, KI, YI, JI, XI, ZI, ex, tx, rx, nx, ix, ox, sx, ax, ux, lx, cx, fx, dr$1, yl, gl, dx, px, yx, gx, bx, mx, _x, vx, Sx, Ex, Ax, _l, vl = ze$1(() => {
18436
+ var zt$1, En$1, $r$1, Ko, pI, yI, gI, bI, wI, mI, _I, vI, SI, EI, AI, II, xI, TI, PI, OI, kI, CI, BI, LI, UI, ml, DI, jI, FI, WI, $I, HI, GI, zI, KI, YI, JI, XI, ZI, ex, tx, rx, nx, ix, ox, sx, ax, ux, lx, cx, fx, dr$1, yl, gl, dx, px, yx, gx, bx, mx, _x, vx, Sx, Ex, Ax, _l, vl = ze$1(() => {
18437
18437
  A$1();
18438
18438
  x$1();
18439
18439
  I$1();
18440
- zt$1 = [], En = false, Ko = -1;
18440
+ zt$1 = [], En$1 = false, Ko = -1;
18441
18441
  fb.prototype.run = function() {
18442
18442
  this.fun.apply(null, this.array);
18443
18443
  };
@@ -18691,8 +18691,8 @@ function Px() {
18691
18691
  return typeof B2 == "object" && !z2 ? p2(ec) : ec;
18692
18692
  }
18693
18693
  if (Xo(B2)) {
18694
- for (var Pn2 = "<" + y2.call(String(B2.nodeName)), ts = B2.attributes || [], xi = 0; xi < ts.length; xi++) Pn2 += " " + ts[xi].name + "=" + ce2(Z2(ts[xi].value), "double", fe);
18695
- return Pn2 += ">", B2.childNodes && B2.childNodes.length && (Pn2 += "..."), Pn2 += "</" + y2.call(String(B2.nodeName)) + ">", Pn2;
18694
+ for (var Pn = "<" + y2.call(String(B2.nodeName)), ts = B2.attributes || [], xi = 0; xi < ts.length; xi++) Pn += " " + ts[xi].name + "=" + ce2(Z2(ts[xi].value), "double", fe);
18695
+ return Pn += ">", B2.childNodes && B2.childNodes.length && (Pn += "..."), Pn += "</" + y2.call(String(B2.nodeName)) + ">", Pn;
18696
18696
  }
18697
18697
  if (ne2(B2)) {
18698
18698
  if (B2.length === 0) return "[]";
@@ -19755,7 +19755,7 @@ var Ql = j$1((Kl) => {
19755
19755
  x$1();
19756
19756
  I$1();
19757
19757
  Object.defineProperty(Kl, "__esModule", { value: true });
19758
- var zl = (ke(), me$1(qe$1)), OT = or$1(), RT = Qo(), Kt2, Ei, An2, Db = false;
19758
+ var zl = (ke(), me$1(qe$1)), OT = or$1(), RT = Qo(), Kt2, Ei, An, Db = false;
19759
19759
  function kT() {
19760
19760
  let t2 = new OT.Transform();
19761
19761
  return t2._write = (e2, r2, n2) => {
@@ -19779,7 +19779,7 @@ var Ql = j$1((Kl) => {
19779
19779
  }
19780
19780
  function MT() {
19781
19781
  Db || (Db = true, Kt2.onSocketOpen(() => {
19782
- An2.socketReady();
19782
+ An.socketReady();
19783
19783
  }), Kt2.onSocketMessage((t2) => {
19784
19784
  if (typeof t2.data == "string") {
19785
19785
  let e2 = zl.Buffer.from(t2.data, "base64");
@@ -19795,9 +19795,9 @@ var Ql = j$1((Kl) => {
19795
19795
  }), e2.readAsArrayBuffer(t2.data);
19796
19796
  }
19797
19797
  }), Kt2.onSocketClose(() => {
19798
- An2.end(), An2.destroy();
19798
+ An.end(), An.destroy();
19799
19799
  }), Kt2.onSocketError((t2) => {
19800
- An2.destroy(t2);
19800
+ An.destroy(t2);
19801
19801
  }));
19802
19802
  }
19803
19803
  var NT = (t2, e2) => {
@@ -19805,7 +19805,7 @@ var Ql = j$1((Kl) => {
19805
19805
  let r2 = e2.protocolId === "MQIsdp" && e2.protocolVersion === 3 ? "mqttv3.1" : "mqtt";
19806
19806
  CT(e2);
19807
19807
  let n2 = BT(e2, t2);
19808
- return Kt2 = e2.my, Kt2.connectSocket({ url: n2, protocols: r2 }), Ei = kT(), An2 = new RT.BufferedDuplex(e2, Ei, Kt2), MT(), An2;
19808
+ return Kt2 = e2.my, Kt2.connectSocket({ url: n2, protocols: r2 }), Ei = kT(), An = new RT.BufferedDuplex(e2, Ei, Kt2), MT(), An;
19809
19809
  };
19810
19810
  Kl.default = NT;
19811
19811
  });
@@ -31311,7 +31311,7 @@ var e = { 5964: (e2, t2, r2) => {
31311
31311
  }, 477: () => {
31312
31312
  }, 5995: () => {
31313
31313
  }, 6351: (e2) => {
31314
- e2.exports = { version: "0.5.3" };
31314
+ e2.exports = { version: "0.5.5" };
31315
31315
  } }, t = {};
31316
31316
  function r(n2) {
31317
31317
  var i2 = t[n2];
@@ -31333,7 +31333,7 @@ r.n = (e2) => {
31333
31333
  }
31334
31334
  }(), r.o = (e2, t2) => Object.prototype.hasOwnProperty.call(e2, t2), r.nmd = (e2) => (e2.paths = [], e2.children || (e2.children = []), e2);
31335
31335
  var n = {};
31336
- r.d(n, { Yk: () => Wr, Mz: () => nr, Ne: () => R, _N: () => sr, bq: () => B, hj: () => o, h4: () => c, xk: () => a, J: () => Lr, a7: () => Vr, tg: () => Yr, s_: () => jr, VO: () => Ur, VF: () => zr, M0: () => Fr, $b: () => G, WI: () => $, cp: () => qr, ez: () => br, EQ: () => vr, $t: () => kr, jL: () => rn, Ps: () => $r, VV: () => Kr, _b: () => I, dT: () => qt, CM: () => M, Zq: () => mr });
31336
+ r.d(n, { Yk: () => $r, Mz: () => nr, Ne: () => R, _N: () => sr, bq: () => B, hj: () => o, h4: () => c, xk: () => a, J: () => Ur, a7: () => qr, tg: () => rn, s_: () => Vr, VO: () => Fr, VF: () => Hr, M0: () => zr, $b: () => G, WI: () => $, cp: () => Wr, PN: () => Lr, ez: () => br, EQ: () => vr, $t: () => kr, jL: () => cn, Ps: () => Qr, VV: () => Gr, _b: () => I, dT: () => qt, CM: () => M, Zq: () => mr });
31337
31337
  class i {
31338
31338
  }
31339
31339
  __publicField(i, "CHANNEL_UPDATE", "channel_update");
@@ -33000,8 +33000,9 @@ class Ft {
33000
33000
  get joinVersion() {
33001
33001
  return this.buildInfo().version;
33002
33002
  }
33003
- async join(e2, t2 = { autoSubscribeAudio: false, autoSubscribeVideo: false }) {
33003
+ async join(e2, t2 = {}) {
33004
33004
  if (this.channel) throw new N("请先退出频道");
33005
+ t2 = { autoSubscribeAudio: false, autoSubscribeVideo: false, adaptiveStream: true, ...t2 };
33005
33006
  const r2 = Math.floor(Date.now() / 1e3);
33006
33007
  let n2 = A(e2);
33007
33008
  if (n2.exp_at && n2.exp_at < r2) throw D;
@@ -35449,11 +35450,95 @@ __publicField(_Nr, "debouncedDeviceChangeHandler", Zt(async () => {
35449
35450
  }, 100, { isImmediate: false }));
35450
35451
  __publicField(_Nr, "waitingMediaDevicePromises", []);
35451
35452
  let Nr = _Nr;
35452
- class Lr extends fr {
35453
+ class Lr {
35454
+ constructor(e2) {
35455
+ __publicField(this, "name");
35456
+ __publicField(this, "processedTrack");
35457
+ __publicField(this, "processors");
35458
+ __publicField(this, "ownedAudioContext");
35459
+ if (!e2.length) throw new N("ProcessorPipeline 至少需要一个处理器");
35460
+ this.processors = e2, this.name = e2.map((e3) => e3.name).join(" -> ");
35461
+ }
35462
+ async init(e2) {
35463
+ let t2 = e2.audioContext;
35464
+ e2.kind !== I.Audio || t2 || (t2 = new (window.AudioContext || window.webkitAudioContext)({ sampleRate: 48e3, latencyHint: "interactive" }), this.ownedAudioContext = t2);
35465
+ let r2 = e2.track;
35466
+ for (const n2 of this.processors) {
35467
+ if (await n2.init({ track: r2, kind: e2.kind, audioContext: t2 }), !n2.processedTrack) throw new N(`处理器 ${n2.name} 未产出 processedTrack`);
35468
+ r2 = n2.processedTrack;
35469
+ }
35470
+ this.processedTrack = r2;
35471
+ }
35472
+ async destroy() {
35473
+ for (const e2 of [...this.processors].reverse()) try {
35474
+ await e2.destroy();
35475
+ } catch (t2) {
35476
+ J.warn("ProcessorPipeline", `处理器 ${e2.name} 释放失败`, t2);
35477
+ }
35478
+ this.ownedAudioContext && "closed" !== this.ownedAudioContext.state && await this.ownedAudioContext.close(), this.ownedAudioContext = void 0, this.processedTrack = void 0;
35479
+ }
35480
+ }
35481
+ class Dr {
35482
+ constructor(e2) {
35483
+ __publicField(this, "track");
35484
+ __publicField(this, "processor");
35485
+ __publicField(this, "originMsTrack");
35486
+ __publicField(this, "applying", false);
35487
+ this.track = e2, this.onMsTrackReplaced = this.onMsTrackReplaced.bind(this), this.track.on(ir.MSTRACK_REPLACED, this.onMsTrackReplaced);
35488
+ }
35489
+ async setProcessor(e2) {
35490
+ const t2 = this.track.getMediaStreamTrack();
35491
+ if (!t2) throw new N("请先 startCapture 采集到轨道,再设置处理器");
35492
+ this.processor && await this.removeProcessor();
35493
+ const r2 = Array.isArray(e2) ? new Lr(e2) : e2;
35494
+ this.applying = true;
35495
+ try {
35496
+ await this.applyProcessor(r2, t2);
35497
+ } finally {
35498
+ this.applying = false;
35499
+ }
35500
+ }
35501
+ async removeProcessor() {
35502
+ const e2 = this.processor;
35503
+ e2 && (this.processor = void 0, this.originMsTrack && this.track.setMediaStreamTrack(this.originMsTrack), this.originMsTrack = void 0, await e2.destroy());
35504
+ }
35505
+ getProcessor() {
35506
+ return this.processor;
35507
+ }
35508
+ async applyProcessor(e2, t2) {
35509
+ await e2.init({ track: t2, kind: this.track.kind });
35510
+ const r2 = e2.processedTrack;
35511
+ if (!r2) throw new N(`处理器 ${e2.name} 未产出 processedTrack`);
35512
+ this.processor = e2, this.originMsTrack = t2, this.track.setMediaStreamTrack(r2);
35513
+ }
35514
+ onMsTrackReplaced() {
35515
+ if (!this.processor || this.applying) return;
35516
+ const e2 = this.track.getMediaStreamTrack();
35517
+ if (!e2 || e2 === this.processor.processedTrack) return;
35518
+ const t2 = this.processor, r2 = e2;
35519
+ this.applying = true, (async () => {
35520
+ try {
35521
+ await t2.destroy(), await this.applyProcessor(t2, r2);
35522
+ } catch (e3) {
35523
+ J.warn("ProcessorController", "切换设备后自动重挂处理器失败", e3);
35524
+ } finally {
35525
+ this.applying = false;
35526
+ }
35527
+ })();
35528
+ }
35529
+ }
35530
+ class Ur extends fr {
35453
35531
  constructor() {
35454
35532
  super({ id: T(20), kind: I.Audio, track: -1 }, "");
35455
35533
  __publicField(this, "playTrait");
35456
- this.playTrait = new dr(this);
35534
+ __publicField(this, "processorCtrl");
35535
+ this.playTrait = new dr(this), this.processorCtrl = new Dr(this);
35536
+ }
35537
+ async setProcessor(e2) {
35538
+ return this.processorCtrl.setProcessor(e2);
35539
+ }
35540
+ async removeProcessor() {
35541
+ return this.processorCtrl.removeProcessor();
35457
35542
  }
35458
35543
  getVolume() {
35459
35544
  return 0;
@@ -35473,7 +35558,7 @@ class Lr extends fr {
35473
35558
  this.playTrait.stopPlay();
35474
35559
  }
35475
35560
  }
35476
- class Dr extends Lr {
35561
+ class jr extends Ur {
35477
35562
  constructor() {
35478
35563
  super();
35479
35564
  __publicField(this, "audioMixTrait");
@@ -35495,7 +35580,7 @@ class Dr extends Lr {
35495
35580
  return "本地混音流轨道";
35496
35581
  }
35497
35582
  }
35498
- class Ur extends Lr {
35583
+ class Fr extends Ur {
35499
35584
  constructor(e2) {
35500
35585
  super();
35501
35586
  __publicField(this, "captureOptions");
@@ -35509,7 +35594,7 @@ class Ur extends Lr {
35509
35594
  e2 ? (e2.stop(), this.setMediaStreamTrack(void 0)) : J.warn(this.toString() + "的mediaStreamTrack不存在,无需停止采集");
35510
35595
  }
35511
35596
  }
35512
- class jr extends Lr {
35597
+ class Vr extends Ur {
35513
35598
  constructor(e2) {
35514
35599
  super();
35515
35600
  __publicField(this, "captureOptions");
@@ -35541,13 +35626,20 @@ class jr extends Lr {
35541
35626
  return this.captureOptions.deviceId = e2, this.getMediaStreamTrack() ? (this.stopCapture(), this.startCapture()) : void 0;
35542
35627
  }
35543
35628
  }
35544
- class Fr extends fr {
35629
+ class zr extends fr {
35545
35630
  constructor() {
35546
35631
  super({ id: T(20), kind: I.Video, track: -1 }, "");
35547
35632
  __publicField(this, "playTrait");
35548
35633
  __publicField(this, "simulcastTracks", {});
35549
35634
  __publicField(this, "scaleResolutionDownBy", 1);
35550
- this.playTrait = new pr(this);
35635
+ __publicField(this, "processorCtrl");
35636
+ this.playTrait = new pr(this), this.processorCtrl = new Dr(this);
35637
+ }
35638
+ async setProcessor(e2) {
35639
+ return this.processorCtrl.setProcessor(e2);
35640
+ }
35641
+ async removeProcessor() {
35642
+ return this.processorCtrl.removeProcessor();
35551
35643
  }
35552
35644
  strPrefix() {
35553
35645
  return "本地视频流轨道";
@@ -35561,7 +35653,7 @@ class Fr extends fr {
35561
35653
  if (!e2.desc) throw new N("联播轨道发布描述不能为空");
35562
35654
  let n2 = this.simulcastTracks[e2.desc];
35563
35655
  if (!n2) {
35564
- n2 = this.simulcastTracks[e2.desc] = new Fr();
35656
+ n2 = this.simulcastTracks[e2.desc] = new zr();
35565
35657
  const i2 = Math.min(t2 || ((_a25 = this.mediaStreamTrack) == null ? void 0 : _a25.getSettings().width) || 0, r2 || ((_b25 = this.mediaStreamTrack) == null ? void 0 : _b25.getSettings().height) || 0);
35566
35658
  i2 > 0 && e2.width && e2.height && (n2.scaleResolutionDownBy = Math.max(1, i2 / Math.min(e2.width, e2.height)), J.debug(n2.toString(), `编码缩放倍数:${n2.scaleResolutionDownBy}`)), n2.setMediaStreamTrack(this.mediaStreamTrack);
35567
35659
  }
@@ -35604,7 +35696,7 @@ class Fr extends fr {
35604
35696
  return this.playTrait.isPopOut(e2);
35605
35697
  }
35606
35698
  }
35607
- class Vr extends Fr {
35699
+ class qr extends zr {
35608
35700
  constructor(e2) {
35609
35701
  super();
35610
35702
  __publicField(this, "captureOptions");
@@ -35639,7 +35731,7 @@ class Vr extends Fr {
35639
35731
  if (this.captureOptions.facingMode = "environment" == this.captureOptions.facingMode ? "user" : "environment", this.getMediaStreamTrack()) return this.stopCapture(), this.startCapture();
35640
35732
  }
35641
35733
  }
35642
- class zr extends Fr {
35734
+ class Hr extends zr {
35643
35735
  constructor(e2) {
35644
35736
  super();
35645
35737
  __publicField(this, "captureOptions");
@@ -35668,11 +35760,11 @@ class zr extends Fr {
35668
35760
  e2 ? (e2.stop(), this.setMediaStreamTrack(void 0), (_a25 = this.audioTrack) == null ? void 0 : _a25.stopCapture()) : J.warn(this.toString() + "的mediaStreamTrack不存在,无需停止采集");
35669
35761
  }
35670
35762
  }
35671
- const qr = { speech: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 1, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 24e3, priority: "high" } }, music: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 1, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 32e3, priority: "high" } }, musicStereo: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 2, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 48e3, priority: "high" } }, musicHighQuality: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 1, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 64e3, priority: "high" } }, musicHighQualityStereo: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 2, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 96e3, priority: "high" } } }, Hr = [{ desc: "camera_small", width: 320, height: 180, maxBitrate: 25e4, maxFramerate: 15 }], Wr = { "1080p": { capture: { width: 1920, height: 1080, frameRate: 15 }, publish: { desc: "camera_big", maxBitrate: 25e5, maxFramerate: 15, simulcasts: Hr, degradationPreference: "maintain-resolution" } }, "720p": { capture: { width: 1280, height: 720, frameRate: 15 }, publish: { desc: "camera_big", maxBitrate: 12e5, maxFramerate: 15, simulcasts: Hr, degradationPreference: "maintain-resolution" } }, "360p": { capture: { width: 640, height: 360, frameRate: 15 }, publish: { maxBitrate: 55e4, maxFramerate: 15 } }, "180p": { capture: { width: 320, height: 180, frameRate: 15 }, publish: { maxBitrate: 25e4, maxFramerate: 15 } } }, Kr = { "1080p": { capture: { width: 1920, height: 1080, frameRate: 10 }, publish: { desc: "screen", maxBitrate: 2e6, maxFramerate: 10, priority: "medium", degradationPreference: "maintain-resolution" } }, "720p": { capture: { width: 1280, height: 720, frameRate: 10 }, publish: { desc: "screen", maxBitrate: 15e5, maxFramerate: 10, priority: "medium", degradationPreference: "maintain-resolution" } } }, $r = { default: { capture: true, publish: { desc: "screen_audio", maxBitrate: 24e3, priority: "high" } } };
35672
- class Gr extends Dt {
35763
+ const Wr = { speech: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 1, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 24e3, priority: "high" } }, music: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 1, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 32e3, priority: "high" } }, musicStereo: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 2, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 48e3, priority: "high" } }, musicHighQuality: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 1, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 64e3, priority: "high" } }, musicHighQualityStereo: { capture: { autoGainControl: true, echoCancellation: true, noiseSuppression: true, channelCount: 2, sampleRate: 48e3 }, publish: { desc: "mic", maxBitrate: 96e3, priority: "high" } } }, Kr = [{ desc: "camera_small", width: 320, height: 180, maxBitrate: 25e4, maxFramerate: 15 }], $r = { "1080p": { capture: { width: 1920, height: 1080, frameRate: 15 }, publish: { desc: "camera_big", maxBitrate: 25e5, maxFramerate: 15, simulcasts: Kr, degradationPreference: "maintain-resolution" } }, "720p": { capture: { width: 1280, height: 720, frameRate: 15 }, publish: { desc: "camera_big", maxBitrate: 12e5, maxFramerate: 15, simulcasts: Kr, degradationPreference: "maintain-resolution" } }, "360p": { capture: { width: 640, height: 360, frameRate: 15 }, publish: { maxBitrate: 55e4, maxFramerate: 15 } }, "180p": { capture: { width: 320, height: 180, frameRate: 15 }, publish: { maxBitrate: 25e4, maxFramerate: 15 } } }, Gr = { "1080p": { capture: { width: 1920, height: 1080, frameRate: 10 }, publish: { desc: "screen", maxBitrate: 2e6, maxFramerate: 10, priority: "medium", degradationPreference: "maintain-resolution" } }, "720p": { capture: { width: 1280, height: 720, frameRate: 10 }, publish: { desc: "screen", maxBitrate: 15e5, maxFramerate: 10, priority: "medium", degradationPreference: "maintain-resolution" } } }, Qr = { default: { capture: true, publish: { desc: "screen_audio", maxBitrate: 24e3, priority: "high" } } };
35764
+ class Jr extends Dt {
35673
35765
  }
35674
- const Qr = "#101216", Jr = "rgba(0, 0, 0, 0.58)";
35675
- class Yr {
35766
+ const Yr = "#101216", Xr = "rgba(0, 0, 0, 0.58)", Zr = 1129136432, en = 1129136434, tn = 1129136441;
35767
+ class rn {
35676
35768
  constructor() {
35677
35769
  __publicField(this, "canvas");
35678
35770
  __publicField(this, "canvasContext");
@@ -35690,8 +35782,8 @@ class Yr {
35690
35782
  __publicField(this, "width", 1280);
35691
35783
  __publicField(this, "height", 720);
35692
35784
  __publicField(this, "fps", 15);
35693
- __publicField(this, "background", Qr);
35694
- __publicField(this, "labelBackground", Jr);
35785
+ __publicField(this, "background", Yr);
35786
+ __publicField(this, "labelBackground", Xr);
35695
35787
  __publicField(this, "animationFrameId", 0);
35696
35788
  __publicField(this, "onDataAvailable");
35697
35789
  __publicField(this, "render", () => {
@@ -35700,7 +35792,7 @@ class Yr {
35700
35792
  e2.fillStyle = this.background, e2.fillRect(0, 0, this.width, this.height), this.videoItems.forEach((t2) => {
35701
35793
  const r2 = t2.rect;
35702
35794
  e2.fillStyle = t2.background || "#1a1c22", e2.fillRect(r2.x, r2.y, r2.width, r2.height);
35703
- const n2 = this.videoElements.get(t2.id), i2 = n2 == null ? void 0 : n2.video;
35795
+ const n2 = this.resolveMediaStreamTrack(t2.track), i2 = n2 ? this.videoElements.get(n2) : void 0;
35704
35796
  i2 && i2.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA && i2.videoWidth > 0 && i2.videoHeight > 0 && this.drawVideo(e2, i2, t2), t2.label && this.drawLabel(e2, t2);
35705
35797
  }), this.animationFrameId = requestAnimationFrame(this.render);
35706
35798
  });
@@ -35714,7 +35806,7 @@ class Yr {
35714
35806
  var _a25;
35715
35807
  if ("inactive" !== this.getState()) return;
35716
35808
  if ("undefined" == typeof MediaRecorder) throw new Error("Current browser does not support MediaRecorder");
35717
- this.width = e2.width || 1280, this.height = e2.height || 720, this.fps = e2.fps || 15, this.background = e2.background || Qr, this.labelBackground = e2.labelBackground || Jr, this.onDataAvailable = e2.onDataAvailable, this.videoItems = e2.videoItems.slice(), this.canvas = document.createElement("canvas"), this.canvas.width = this.width, this.canvas.height = this.height;
35809
+ this.width = e2.width || 1280, this.height = e2.height || 720, this.fps = e2.fps || 15, this.background = e2.background || Yr, this.labelBackground = e2.labelBackground || Xr, this.onDataAvailable = e2.onDataAvailable, this.videoItems = e2.videoItems.slice(), this.canvas = document.createElement("canvas"), this.canvas.width = this.width, this.canvas.height = this.height;
35718
35810
  const t2 = this.canvas.getContext("2d");
35719
35811
  if (!t2) throw new Error("Failed to create recorder canvas context");
35720
35812
  this.canvasContext = t2, this.canvasStream = this.canvas.captureStream(this.fps), await this.initAudio(e2.audioTracks || []), this.syncTrackedTrackListeners(), this.syncVideoElements();
@@ -35771,6 +35863,11 @@ class Yr {
35771
35863
  resolveMediaStreamTrack(e2) {
35772
35864
  if (e2) return e2 instanceof MediaStreamTrack ? e2 : e2.getMediaStreamTrack();
35773
35865
  }
35866
+ resolveTrackAngle(e2) {
35867
+ var _a25;
35868
+ const t2 = e2;
35869
+ return t2 && "function" == typeof t2.getInfo ? ((_a25 = t2.getInfo()) == null ? void 0 : _a25.angle) ?? Zr : Zr;
35870
+ }
35774
35871
  isTrackLike(e2) {
35775
35872
  return !(!e2 || e2 instanceof MediaStreamTrack || "function" != typeof e2.getMediaStreamTrack || "function" != typeof e2.on || "function" != typeof e2.off);
35776
35873
  }
@@ -35800,22 +35897,32 @@ class Yr {
35800
35897
  this.videoItems.forEach((t2) => {
35801
35898
  const r2 = this.resolveMediaStreamTrack(t2.track);
35802
35899
  if (!r2 || "live" !== r2.readyState) return;
35803
- e2.add(t2.id);
35804
- const n2 = this.videoElements.get(t2.id);
35805
- if ((n2 == null ? void 0 : n2.trackId) === r2.id) return;
35806
- const i2 = document.createElement("video");
35807
- i2.muted = true, i2.autoplay = true, i2.playsInline = true, i2.srcObject = new MediaStream([r2]), i2.play().catch(() => {
35808
- }), this.videoElements.set(t2.id, { video: i2, trackId: r2.id });
35900
+ if (e2.add(r2), this.videoElements.has(r2)) return;
35901
+ const n2 = document.createElement("video");
35902
+ n2.muted = true, n2.autoplay = true, n2.playsInline = true, n2.srcObject = new MediaStream([r2]), n2.play().catch(() => {
35903
+ }), this.videoElements.set(r2, n2);
35809
35904
  }), this.videoElements.forEach((t2, r2) => {
35810
- e2.has(r2) || (t2.video.srcObject = null, this.videoElements.delete(r2));
35905
+ e2.has(r2) || (t2.srcObject = null, this.videoElements.delete(r2));
35811
35906
  });
35812
35907
  }
35813
35908
  drawVideo(e2, t2, r2) {
35814
- const n2 = r2.rect, i2 = r2.fit || "contain", o2 = t2.videoWidth / t2.videoHeight, s2 = n2.width / n2.height;
35815
- let a2 = n2.width, c2 = n2.height;
35816
- ("cover" === i2 ? o2 > s2 : o2 < s2) ? (c2 = n2.height, a2 = c2 * o2) : (a2 = n2.width, c2 = a2 / o2);
35817
- const u2 = n2.x + (n2.width - a2) / 2, l2 = n2.y + (n2.height - c2) / 2;
35818
- e2.save(), e2.beginPath(), e2.rect(n2.x, n2.y, n2.width, n2.height), e2.clip(), e2.drawImage(t2, u2, l2, a2, c2), e2.restore();
35909
+ const n2 = r2.rect, i2 = r2.fit || "contain", o2 = this.resolveTrackAngle(r2.track), s2 = /* @__PURE__ */ function(e3) {
35910
+ return e3 === en || e3 === tn;
35911
+ }(o2), a2 = s2 ? t2.videoHeight / t2.videoWidth : t2.videoWidth / t2.videoHeight, c2 = n2.width / n2.height;
35912
+ let u2, l2;
35913
+ ("cover" === i2 ? a2 > c2 : a2 < c2) ? (l2 = n2.height, u2 = l2 * a2) : (u2 = n2.width, l2 = u2 / a2);
35914
+ const h2 = s2 ? l2 : u2, f2 = s2 ? u2 : l2;
35915
+ switch (e2.save(), e2.beginPath(), e2.rect(n2.x, n2.y, n2.width, n2.height), e2.clip(), e2.translate(n2.x + n2.width / 2, n2.y + n2.height / 2), o2) {
35916
+ case tn:
35917
+ e2.scale(-1, 1), e2.rotate(-Math.PI / 2);
35918
+ break;
35919
+ case en:
35920
+ e2.rotate(3 * Math.PI / 2);
35921
+ break;
35922
+ case 1129136433:
35923
+ e2.rotate(Math.PI);
35924
+ }
35925
+ e2.drawImage(t2, -h2 / 2, -f2 / 2, h2, f2), e2.restore();
35819
35926
  }
35820
35927
  drawLabel(e2, t2) {
35821
35928
  const r2 = t2.rect, n2 = r2.x + 12, i2 = r2.y + r2.height - 42, o2 = Math.max(80, r2.width - 24);
@@ -35826,12 +35933,12 @@ class Yr {
35826
35933
  cancelAnimationFrame(this.animationFrameId), (_a25 = this.canvasStream) == null ? void 0 : _a25.getTracks().forEach((e2) => e2.stop()), (_b25 = this.recordStream) == null ? void 0 : _b25.getTracks().forEach((e2) => {
35827
35934
  var _a26;
35828
35935
  ((_a26 = this.canvasStream) == null ? void 0 : _a26.getTracks().includes(e2)) || e2.stop();
35829
- }), this.videoElements.forEach(({ video: e2 }) => {
35936
+ }), this.videoElements.forEach((e2) => {
35830
35937
  e2.srcObject = null;
35831
35938
  }), this.videoElements.clear(), this.clearAudioSources(), this.clearTrackedTrackListeners(), (_c2 = this.audioContext) == null ? void 0 : _c2.close(), this.audioContext = void 0, this.audioDestination = void 0, this.canvas = void 0, this.canvasContext = void 0, this.canvasStream = void 0, this.recordStream = void 0, this.mediaRecorder = void 0, this.audioInputTracks = [], this.videoItems = [], this.chunks = [], this.onDataAvailable = void 0;
35832
35939
  }
35833
35940
  }
35834
- class Xr extends Ar {
35941
+ class nn extends Ar {
35835
35942
  constructor() {
35836
35943
  super(...arguments);
35837
35944
  __publicField(this, "streamNameStates", {});
@@ -36034,10 +36141,10 @@ class Xr extends Ar {
36034
36141
  return e2.lossrate_up = E(f2 > 0 ? p2 / f2 * 100 : 0, 2), e2.lossrate_down = E(d2 > 0 ? g2 / d2 * 100 : 0, 2), this.prevMetric = { local_audios: c2, local_videos: u2, remote_audios: l2, remote_videos: h2, network: e2 };
36035
36142
  }
36036
36143
  }
36037
- class Zr extends Xr {
36144
+ class on extends nn {
36038
36145
  constructor() {
36039
36146
  super(...arguments);
36040
- __publicField(this, "localAudioMixTrack", new Dr());
36147
+ __publicField(this, "localAudioMixTrack", new jr());
36041
36148
  __publicField(this, "ability", { audioCodecs: [R.OPUS, R.AAC], videoCodecs: [R.H264, R.H265], audioMaxPub: 1, videoMaxPub: 7, audioMaxSub: 9, videoMaxSub: 32 });
36042
36149
  }
36043
36150
  vendor() {
@@ -36196,8 +36303,8 @@ class Zr extends Xr {
36196
36303
  return `${`${this.joinRsp.app_id}`}-${T(6)}`;
36197
36304
  }
36198
36305
  }
36199
- var en = r(7363);
36200
- class tn extends Xr {
36306
+ var sn = r(7363);
36307
+ class an extends nn {
36201
36308
  constructor(e2, t2, r2) {
36202
36309
  super(t2, r2);
36203
36310
  __publicField(this, "api");
@@ -36226,7 +36333,7 @@ class tn extends Xr {
36226
36333
  }
36227
36334
  reorderAnswerMLines(e2, t2) {
36228
36335
  if (!e2.sdp || !t2.sdp) return t2;
36229
- const r2 = en.qg(e2.sdp), n2 = en.qg(t2.sdp);
36336
+ const r2 = sn.qg(e2.sdp), n2 = sn.qg(t2.sdp);
36230
36337
  if (r2.media.length <= 1) return t2;
36231
36338
  const i2 = r2.media.map((e3) => String(e3.mid)), o2 = n2.media.map((e3) => String(e3.mid));
36232
36339
  if (i2.join(",") === o2.join(",")) return t2;
@@ -36237,7 +36344,7 @@ class tn extends Xr {
36237
36344
  t3 && s2.push(t3);
36238
36345
  }
36239
36346
  if (n2.media = s2, n2.groups) for (const e3 of n2.groups) "BUNDLE" === e3.type && (e3.mids = i2.join(" "));
36240
- return { type: t2.type, sdp: en.M9(n2) };
36347
+ return { type: t2.type, sdp: sn.M9(n2) };
36241
36348
  }
36242
36349
  async exchangeSDP(e2, t2, r2) {
36243
36350
  let n2 = await this.api.cdnURL({ vendor: this.vendor(), stream_name: t2, publish: e2 }), i2 = Date.now(), o2 = (r3, n3) => {
@@ -36259,7 +36366,7 @@ class tn extends Xr {
36259
36366
  });
36260
36367
  }
36261
36368
  }
36262
- class rn extends Ft {
36369
+ class cn extends Ft {
36263
36370
  constructor(e2) {
36264
36371
  super(e2);
36265
36372
  __publicField(this, "localTracks");
@@ -36309,13 +36416,13 @@ class rn extends Ft {
36309
36416
  }
36310
36417
  buildInfo() {
36311
36418
  let { version: e2 } = r(6351);
36312
- return { version: e2, timestamp: 1778250523 };
36419
+ return { version: e2, timestamp: 1780917396 };
36313
36420
  }
36314
36421
  getEnvInfo() {
36315
36422
  return Qt();
36316
36423
  }
36317
36424
  createLocalCompositeRecorder() {
36318
- return new Yr();
36425
+ return new rn();
36319
36426
  }
36320
36427
  getStoredDeviceId() {
36321
36428
  let e2 = localStorage.getItem("device_id");
@@ -36328,7 +36435,7 @@ class rn extends Ft {
36328
36435
  return new Xt(e2.app_id, e2.sid, e2.client_key, e2.client_api);
36329
36436
  }
36330
36437
  newRtcSocket(e2) {
36331
- return new Gr(e2);
36438
+ return new Jr(e2);
36332
36439
  }
36333
36440
  newChannel(e2, t2, r2, n2, i2) {
36334
36441
  return new Or(e2, t2, r2, n2, i2, (e3) => {
@@ -36339,9 +36446,9 @@ class rn extends Ft {
36339
36446
  switch (t2.stream_vendor) {
36340
36447
  case void 0:
36341
36448
  case Ht.OOK:
36342
- return new Zr(t2);
36449
+ return new on(t2);
36343
36450
  case Ht.WangsuCDN:
36344
- return new tn(r2, t2);
36451
+ return new an(r2, t2);
36345
36452
  case Ht.Seastart:
36346
36453
  return new xr(r2, t2, { preferVideoCodec: e2.preferVideoCodec, preferAudioCodec: e2.preferAudioCodec });
36347
36454
  default:
@@ -36350,7 +36457,7 @@ class rn extends Ft {
36350
36457
  }
36351
36458
  postLeave() {
36352
36459
  for (let e2 of this.localTracks.keys()) try {
36353
- e2 instanceof Lr ? e2.stopPlay() : e2 instanceof Fr && e2.removeAllPlayViews(), (e2 instanceof jr || e2 instanceof Vr || e2 instanceof zr) && (e2.stopCapture(), J.info("离开频道", e2.toString(), "自动停止采集"));
36460
+ e2 instanceof Ur ? e2.stopPlay() : e2 instanceof zr && e2.removeAllPlayViews(), (e2 instanceof Vr || e2 instanceof qr || e2 instanceof Hr) && (e2.stopCapture(), J.info("离开频道", e2.toString(), "自动停止采集"));
36354
36461
  } catch (e3) {
36355
36462
  }
36356
36463
  super.postLeave();
@@ -36359,7 +36466,7 @@ class rn extends Ft {
36359
36466
  super.onAppShow(e2);
36360
36467
  for (let e3 of this.localTracks.keys()) {
36361
36468
  let t2 = e3.getMediaStreamTrack();
36362
- t2 && ("ended" === t2.readyState && (J.warn(e3.toString(), "页面恢复时发现 track 已 ended,尝试重新采集"), (e3 instanceof jr || e3 instanceof Vr) && e3.startCapture().catch((t3) => {
36469
+ t2 && ("ended" === t2.readyState && (J.warn(e3.toString(), "页面恢复时发现 track 已 ended,尝试重新采集"), (e3 instanceof Vr || e3 instanceof qr) && e3.startCapture().catch((t3) => {
36363
36470
  J.error(e3.toString(), "页面恢复时重新采集失败", t3);
36364
36471
  })));
36365
36472
  }
@@ -36370,49 +36477,49 @@ class rn extends Ft {
36370
36477
  addTrackListeners(e2) {
36371
36478
  e2.listeners(s.MUTED).includes(this.muteCallback) || e2.on(s.MUTED, this.muteCallback), e2.listeners(s.UNMUTED).includes(this.unmuteCallback) || e2.on(s.UNMUTED, this.unmuteCallback), e2.listeners(s.ENDED).includes(this.endCallback) || e2.on(s.ENDED, this.endCallback), e2.listeners(ir.AUTOPLAY_FAIL).includes(this.autoPlayFailCallback) || e2.on(ir.AUTOPLAY_FAIL, this.autoPlayFailCallback), e2.listeners(ir.PIP_ENTER).includes(this.pipEnterCallback) || e2.on(ir.PIP_ENTER, this.pipEnterCallback), e2.listeners(ir.PIP_EXIT).includes(this.pipExitCallback) || e2.on(ir.PIP_EXIT, this.pipExitCallback), e2.listeners(ir.POPOUT_OPEN).includes(this.popOutOpenCallback) || e2.on(ir.POPOUT_OPEN, this.popOutOpenCallback), e2.listeners(ir.POPOUT_CLOSE).includes(this.popOutCloseCallback) || e2.on(ir.POPOUT_CLOSE, this.popOutCloseCallback);
36372
36479
  }
36373
- createLocalMicTrack(e2 = qr.music) {
36374
- let t2 = new jr(e2.capture);
36480
+ createLocalMicTrack(e2 = Wr.music) {
36481
+ let t2 = new Vr(e2.capture);
36375
36482
  return this.localTracks.set(t2, { ...e2.publish }), this.addTrackListeners(t2), t2;
36376
36483
  }
36377
36484
  createLocalCustomAudioTrack(e2) {
36378
36485
  if (e2.kind != I.Audio) throw new N("MediaStreamTrack必须是音频轨");
36379
- let t2 = new Lr();
36486
+ let t2 = new Ur();
36380
36487
  return t2.setMediaStreamTrack(e2), this.localTracks.set(t2, void 0), this.addTrackListeners(t2), t2;
36381
36488
  }
36382
- createLocalCameraTrack(e2 = Wr["720p"]) {
36383
- let t2 = new Vr(e2.capture);
36489
+ createLocalCameraTrack(e2 = $r["720p"]) {
36490
+ let t2 = new qr(e2.capture);
36384
36491
  return this.localTracks.set(t2, { width: e2.capture.width, height: e2.capture.height, ...e2.publish }), this.addTrackListeners(t2), t2;
36385
36492
  }
36386
- createLocalScreenTrack(e2 = Kr["1080p"], t2 = $r.default) {
36387
- let r2 = new zr(e2.capture);
36493
+ createLocalScreenTrack(e2 = Gr["1080p"], t2 = Qr.default) {
36494
+ let r2 = new Hr(e2.capture);
36388
36495
  if (this.localTracks.set(r2, { width: e2.capture.width, height: e2.capture.height, ...e2.publish }), this.addTrackListeners(r2), t2) {
36389
- let e3 = new Ur(t2.capture);
36496
+ let e3 = new Fr(t2.capture);
36390
36497
  this.localTracks.set(e3, { ...t2.publish }), this.addTrackListeners(e3), r2.setAudioTrack(e3);
36391
36498
  }
36392
36499
  return r2;
36393
36500
  }
36394
36501
  createLocalCustomVideoTrack(e2) {
36395
36502
  if (e2.kind != I.Video) throw new N("MediaStreamTrack必须是视频轨");
36396
- let t2 = new Fr();
36503
+ let t2 = new zr();
36397
36504
  return t2.setMediaStreamTrack(e2), this.localTracks.set(t2, void 0), this.addTrackListeners(t2), t2;
36398
36505
  }
36399
36506
  async enableLocalTrack(e2) {
36400
36507
  let t2 = e2.getMediaStreamTrack();
36401
36508
  if (t2 && "ended" === t2.readyState) {
36402
- if (J.warn(e2.toString(), "enableLocalTrack 时 track 已 ended,尝试重新采集"), e2 instanceof jr || e2 instanceof Vr) try {
36509
+ if (J.warn(e2.toString(), "enableLocalTrack 时 track 已 ended,尝试重新采集"), e2 instanceof Vr || e2 instanceof qr) try {
36403
36510
  await e2.startCapture();
36404
36511
  } catch (t3) {
36405
36512
  J.error(e2.toString(), "重新采集失败", t3);
36406
36513
  }
36407
36514
  } else t2 && (t2.enabled = true);
36408
- if (e2 instanceof zr) {
36515
+ if (e2 instanceof Hr) {
36409
36516
  let t3 = e2.getAudioTrack();
36410
36517
  t3 && t3.getMediaStreamTrack() && await this.enableLocalTrack(t3);
36411
36518
  }
36412
36519
  }
36413
36520
  disableLocalTrack(e2) {
36414
36521
  let t2 = e2.getMediaStreamTrack();
36415
- if (t2 && (t2.enabled = false), e2 instanceof zr) {
36522
+ if (t2 && (t2.enabled = false), e2 instanceof Hr) {
36416
36523
  let t3 = e2.getAudioTrack();
36417
36524
  t3 && t3.getMediaStreamTrack() && this.disableLocalTrack(t3);
36418
36525
  }
@@ -36421,7 +36528,7 @@ class rn extends Ft {
36421
36528
  if (!this.channel) throw L;
36422
36529
  let r2 = this.localTracks.get(e2);
36423
36530
  if (r2 && (t2 && _(r2, t2), t2 = r2), !t2) throw new N("轨道发布配置不能为空");
36424
- if (e2 instanceof zr) {
36531
+ if (e2 instanceof Hr) {
36425
36532
  let t3 = e2.getAudioTrack();
36426
36533
  t3 && t3.getMediaStreamTrack() && await this.publishLocalTrack(t3);
36427
36534
  }
@@ -36440,7 +36547,7 @@ class rn extends Ft {
36440
36547
  }
36441
36548
  async unpublishLocalTrack(e2) {
36442
36549
  if (!this.channel) throw L;
36443
- if (await this.channel.unpublishLocalTrack(e2), e2 instanceof zr) {
36550
+ if (await this.channel.unpublishLocalTrack(e2), e2 instanceof Hr) {
36444
36551
  let t2 = e2.getAudioTrack();
36445
36552
  t2 && t2.getMediaStreamTrack() && await this.unpublishLocalTrack(t2);
36446
36553
  }
@@ -36475,7 +36582,7 @@ class rn extends Ft {
36475
36582
  return super.getRemoteTrack(e2, t2, r2);
36476
36583
  }
36477
36584
  }
36478
- var nn = n.Yk, on = n.Mz;
36585
+ var un = n.Yk, ln = n.Mz;
36479
36586
  n.Ne;
36480
36587
  n._N;
36481
36588
  n.bq;
@@ -36489,14 +36596,15 @@ n.s_;
36489
36596
  n.VO;
36490
36597
  n.VF;
36491
36598
  n.M0;
36492
- var bn = n.$b, wn = n.WI;
36599
+ var En = n.$b, Tn = n.WI;
36493
36600
  n.cp;
36601
+ n.PN;
36494
36602
  n.ez;
36495
36603
  n.EQ;
36496
36604
  n.$t;
36497
- var Tn = n.jL;
36605
+ var Rn = n.jL;
36498
36606
  n.Ps;
36499
- var An = n.VV, Pn = n._b;
36607
+ var On = n.VV, Bn = n._b;
36500
36608
  n.dT;
36501
36609
  n.CM;
36502
36610
  n.Zq;
@@ -37274,7 +37382,7 @@ function pickPreferredVideoTrack(userinfo) {
37274
37382
  const uid = userinfo == null ? void 0 : userinfo.uid;
37275
37383
  if (!uid) return void 0;
37276
37384
  const tracks = (userinfo == null ? void 0 : userinfo.stream_tracks) || [];
37277
- const videos = tracks.filter((t2) => (t2 == null ? void 0 : t2.kind) === Pn.Video);
37385
+ const videos = tracks.filter((t2) => (t2 == null ? void 0 : t2.kind) === Bn.Video);
37278
37386
  if (!videos.length) return void 0;
37279
37387
  return videos.reduce((best, cur) => {
37280
37388
  const bestScore = getTrackPriority(uid, best == null ? void 0 : best.desc);
@@ -37728,27 +37836,27 @@ const meetingCreator = ref("");
37728
37836
  const isChannelShare = ref(false);
37729
37837
  const joinTime = ref(0);
37730
37838
  let expectedChannelDisconnect = false;
37731
- const srtc = new Tn({
37732
- logLevel: bn.DEBUG,
37733
- logTarget: wn.NONE
37839
+ const srtc = new Rn({
37840
+ logLevel: En.DEBUG,
37841
+ logTarget: Tn.NONE
37734
37842
  });
37735
37843
  srtc.onNotifyChannelEvent = async (evt) => {
37736
37844
  var _a25, _b25, _c2, _d, _e, _f2, _g2, _h, _i2, _j, _k, _l2, _m;
37737
37845
  switch (evt.type) {
37738
- case on.CONNECTION_QUALITY_CHANGED:
37846
+ case ln.CONNECTION_QUALITY_CHANGED:
37739
37847
  handleConnectionQualityChanged(evt.data);
37740
37848
  break;
37741
- case on.CPU_CONSTRAINED:
37849
+ case ln.CPU_CONSTRAINED:
37742
37850
  notifyCpuConstrained(evt.data);
37743
37851
  break;
37744
- case on.BANDWIDTH_CONSTRAINED:
37852
+ case ln.BANDWIDTH_CONSTRAINED:
37745
37853
  notifyBandwidthConstrained(evt.data);
37746
37854
  break;
37747
- case on.USER_TRACK_ADD: {
37855
+ case ln.USER_TRACK_ADD: {
37748
37856
  const payload = evt.data;
37749
37857
  const uid = (_a25 = payload == null ? void 0 : payload.user) == null ? void 0 : _a25.uid;
37750
37858
  const track = payload == null ? void 0 : payload.track;
37751
- if (uid && (track == null ? void 0 : track.kind) === Pn.Video) {
37859
+ if (uid && (track == null ? void 0 : track.kind) === Bn.Video) {
37752
37860
  const member = getMemberByUid(uid);
37753
37861
  if (member) {
37754
37862
  if (isScreenTrackDesc(track.desc)) {
@@ -37762,11 +37870,11 @@ srtc.onNotifyChannelEvent = async (evt) => {
37762
37870
  await ensurePreferredRemoteVideo(latest);
37763
37871
  break;
37764
37872
  }
37765
- case on.USER_TRACK_REMOVE: {
37873
+ case ln.USER_TRACK_REMOVE: {
37766
37874
  const payload = evt.data;
37767
37875
  const uid = (_b25 = payload == null ? void 0 : payload.user) == null ? void 0 : _b25.uid;
37768
37876
  const track = payload == null ? void 0 : payload.track;
37769
- if (uid && (track == null ? void 0 : track.id) && track.kind === Pn.Video) {
37877
+ if (uid && (track == null ? void 0 : track.id) && track.kind === Bn.Video) {
37770
37878
  const member = getMemberByUid(uid);
37771
37879
  if (member) {
37772
37880
  if (isScreenTrackDesc(track.desc)) {
@@ -37790,14 +37898,14 @@ srtc.onNotifyChannelEvent = async (evt) => {
37790
37898
  await ensurePreferredRemoteVideo(latest);
37791
37899
  break;
37792
37900
  }
37793
- case on.USER_TRACK_UPDATE: {
37901
+ case ln.USER_TRACK_UPDATE: {
37794
37902
  const payload = evt.data;
37795
37903
  const uid = (_d = payload == null ? void 0 : payload.user) == null ? void 0 : _d.uid;
37796
37904
  const latest = uid ? srtc.getUserInfo(uid) : payload == null ? void 0 : payload.user;
37797
37905
  await ensurePreferredRemoteVideo(latest);
37798
37906
  break;
37799
37907
  }
37800
- case on.USER_JOIN: {
37908
+ case ln.USER_JOIN: {
37801
37909
  console.log("USER_JOIN", evt.data);
37802
37910
  const data = evt.data;
37803
37911
  const uid = typeof (data == null ? void 0 : data.uid) === "undefined" ? "" : String(data.uid);
@@ -37838,28 +37946,28 @@ srtc.onNotifyChannelEvent = async (evt) => {
37838
37946
  }
37839
37947
  break;
37840
37948
  }
37841
- case on.USER_LEAVE: {
37949
+ case ln.USER_LEAVE: {
37842
37950
  const uid = evt.data.uid;
37843
37951
  removeMember(uid);
37844
37952
  break;
37845
37953
  }
37846
- case on.ME_UPDATE: {
37954
+ case ln.ME_UPDATE: {
37847
37955
  break;
37848
37956
  }
37849
- case on.USER_UPDATE: {
37957
+ case ln.USER_UPDATE: {
37850
37958
  break;
37851
37959
  }
37852
- case on.TRACK_ENDED:
37960
+ case ln.TRACK_ENDED:
37853
37961
  const endedTrackInfo = (_h = (_g2 = evt.data) == null ? void 0 : _g2.getInfo) == null ? void 0 : _h.call(_g2);
37854
37962
  if ((endedTrackInfo == null ? void 0 : endedTrackInfo.id) === ((_i2 = localTrack.localScreenTrack) == null ? void 0 : _i2.id) && (endedTrackInfo == null ? void 0 : endedTrackInfo.desc) === "screen") {
37855
37963
  closeScreen();
37856
37964
  }
37857
37965
  break;
37858
- case on.DEVICE_ADD:
37859
- case on.DEVICE_REMOVE:
37966
+ case ln.DEVICE_ADD:
37967
+ case ln.DEVICE_REMOVE:
37860
37968
  getDeviceList();
37861
37969
  break;
37862
- case on.TRACK_MUTED: {
37970
+ case ln.TRACK_MUTED: {
37863
37971
  const uid = getUidFromTrackEventData(evt.data);
37864
37972
  const trackId = uid ? (_j = videoSubscribeState[uid]) == null ? void 0 : _j.trackId : void 0;
37865
37973
  if (uid && trackId && hasRemoteVideoTrack(uid, trackId)) {
@@ -37867,7 +37975,7 @@ srtc.onNotifyChannelEvent = async (evt) => {
37867
37975
  }
37868
37976
  break;
37869
37977
  }
37870
- case on.TRACK_UNMUTED: {
37978
+ case ln.TRACK_UNMUTED: {
37871
37979
  const uid = getUidFromTrackEventData(evt.data);
37872
37980
  const trackId = uid ? (_k = videoSubscribeState[uid]) == null ? void 0 : _k.trackId : void 0;
37873
37981
  if (uid && trackId && hasRemoteVideoTrack(uid, trackId)) {
@@ -37876,14 +37984,14 @@ srtc.onNotifyChannelEvent = async (evt) => {
37876
37984
  }
37877
37985
  break;
37878
37986
  }
37879
- case on.TRACK_AUTOPLAY_FAIL:
37987
+ case ln.TRACK_AUTOPLAY_FAIL:
37880
37988
  break;
37881
- case on.DISCONNECTED:
37989
+ case ln.DISCONNECTED:
37882
37990
  if (!expectedChannelDisconnect) {
37883
37991
  markNetworkDisconnected();
37884
37992
  }
37885
37993
  break;
37886
- case on.CHANNEL_UPDATE:
37994
+ case ln.CHANNEL_UPDATE:
37887
37995
  isChannelShare.value = ((_m = (_l2 = evt.data) == null ? void 0 : _l2.props) == null ? void 0 : _m.share_state) || false;
37888
37996
  break;
37889
37997
  }
@@ -38374,7 +38482,7 @@ async function openCamera() {
38374
38482
  throw new Error((res == null ? void 0 : res.message) || "OPEN_CAMERA_FAILED");
38375
38483
  }
38376
38484
  await stopAndUnpublishLocalCameraTrack();
38377
- const track = localTrack.localCameraTrack = srtc.createLocalCameraTrack(nn["720p"]);
38485
+ const track = localTrack.localCameraTrack = srtc.createLocalCameraTrack(un["720p"]);
38378
38486
  await track.startCapture({
38379
38487
  deviceId: deviceInfo.cameraId
38380
38488
  });
@@ -38388,22 +38496,7 @@ async function openCamera() {
38388
38496
  }
38389
38497
  track.addPlayView(container);
38390
38498
  }
38391
- await srtc.publishLocalTrack(track, {
38392
- desc: "camera_big",
38393
- width: 1280,
38394
- height: 720,
38395
- maxBitrate: 25e5,
38396
- maxFramerate: 15,
38397
- simulcasts: [
38398
- {
38399
- desc: "camera_small",
38400
- width: 640,
38401
- height: 360,
38402
- maxBitrate: 35e4,
38403
- maxFramerate: 15
38404
- }
38405
- ]
38406
- });
38499
+ await srtc.publishLocalTrack(track, { degradationPreference: "maintain-resolution" });
38407
38500
  meState.cameraState = "1";
38408
38501
  meetingStore$1.upsertMember(getUserId(), {
38409
38502
  cameraStatus: "1",
@@ -38488,7 +38581,7 @@ async function openScreen() {
38488
38581
  flag: 1
38489
38582
  });
38490
38583
  const track = localTrack.localScreenTrack = srtc.createLocalScreenTrack(
38491
- An["1080p"]
38584
+ On["1080p"]
38492
38585
  );
38493
38586
  await track.startCapture();
38494
38587
  await srtc.publishLocalTrack(track);
@@ -40750,7 +40843,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
40750
40843
  };
40751
40844
  }
40752
40845
  });
40753
- const JSUser = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-3cb577c5"]]);
40846
+ const JSUser = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-9cf6c83a"]]);
40754
40847
  var RoomModalSelectType = /* @__PURE__ */ ((RoomModalSelectType2) => {
40755
40848
  RoomModalSelectType2["microphoneClick"] = "microphoneClick";
40756
40849
  RoomModalSelectType2["cameraClick"] = "cameraClick";
@@ -40771,17 +40864,146 @@ var RoomModalSelectType = /* @__PURE__ */ ((RoomModalSelectType2) => {
40771
40864
  RoomModalSelectType2["toggleFullscreenClick"] = "toggleFullscreenClick";
40772
40865
  return RoomModalSelectType2;
40773
40866
  })(RoomModalSelectType || {});
40774
- const _hoisted_1$p = { class: "section" };
40775
- const _hoisted_2$n = { class: "section-title" };
40776
- const _hoisted_3$m = ["onClick"];
40777
- const _hoisted_4$k = { class: "label" };
40778
- const _hoisted_5$h = {
40867
+ const _hoisted_1$p = { class: "js-video-container" };
40868
+ const _hoisted_2$n = {
40869
+ id: "my-video",
40870
+ class: "video-element"
40871
+ };
40872
+ const _hoisted_3$m = { class: "avatar-container" };
40873
+ const _hoisted_4$k = { class: "avatar small" };
40874
+ const _hoisted_5$h = { class: "js-minimized-actions" };
40875
+ const _hoisted_6$g = ["title"];
40876
+ const _hoisted_7$f = ["title"];
40877
+ const _hoisted_8$e = ["title"];
40878
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
40879
+ __name: "MinimizedMeeting",
40880
+ props: {
40881
+ visible: { type: Boolean, default: false },
40882
+ theme: { default: "dark" }
40883
+ },
40884
+ emits: ["restore", "onChange"],
40885
+ setup(__props, { emit: __emit }) {
40886
+ const props = __props;
40887
+ const { meState: meState2 } = storeToRefs(useMeetingStore());
40888
+ const emit = __emit;
40889
+ const isCollapsed = ref(false);
40890
+ const themeClass = computed(() => `theme-${props.theme}`);
40891
+ const componentHeight = computed(() => {
40892
+ return isCollapsed.value ? "38px" : "148px";
40893
+ });
40894
+ const toggleMic = () => {
40895
+ emit("onChange", RoomModalSelectType.microphoneClick);
40896
+ };
40897
+ const toggleCamera = () => {
40898
+ emit("onChange", RoomModalSelectType.cameraClick);
40899
+ };
40900
+ const handleToggleCollapse = async () => {
40901
+ isCollapsed.value = !isCollapsed.value;
40902
+ if (!isCollapsed.value && props.visible) {
40903
+ await nextTick();
40904
+ mountTracks();
40905
+ setTimeout(() => mountTracks(), 200);
40906
+ }
40907
+ };
40908
+ const handleRestore = () => {
40909
+ emit("restore");
40910
+ };
40911
+ watch(
40912
+ () => props.visible,
40913
+ async (visible) => {
40914
+ await nextTick();
40915
+ mountTracks();
40916
+ if (visible && !isCollapsed.value) {
40917
+ setTimeout(() => mountTracks(), 200);
40918
+ setTimeout(() => mountTracks(), 800);
40919
+ } else if (!visible) {
40920
+ setTimeout(() => mountTracks(), 200);
40921
+ }
40922
+ },
40923
+ { immediate: true }
40924
+ );
40925
+ return (_ctx, _cache) => {
40926
+ var _a25, _b25, _c2, _d, _e, _f2;
40927
+ const _directive_draggable = resolveDirective("draggable");
40928
+ return openBlock(), createBlock(Teleport, { to: "body" }, [
40929
+ _ctx.visible ? withDirectives((openBlock(), createElementBlock("div", {
40930
+ key: 0,
40931
+ class: normalizeClass(["js-minimized-meeting", themeClass.value]),
40932
+ style: normalizeStyle({ height: componentHeight.value })
40933
+ }, [
40934
+ withDirectives(createElementVNode("div", _hoisted_1$p, [
40935
+ withDirectives(createElementVNode("div", _hoisted_2$n, null, 512), [
40936
+ [vShow, ((_a25 = unref(meState2)) == null ? void 0 : _a25.cameraState) == "1"]
40937
+ ]),
40938
+ withDirectives(createElementVNode("div", _hoisted_3$m, [
40939
+ createElementVNode("div", _hoisted_4$k, toDisplayString((unref(meInfo).name || "").charAt(0)), 1)
40940
+ ], 512), [
40941
+ [vShow, ((_b25 = unref(meState2)) == null ? void 0 : _b25.cameraState) == "0"]
40942
+ ])
40943
+ ], 512), [
40944
+ [vShow, !isCollapsed.value]
40945
+ ]),
40946
+ createElementVNode("div", _hoisted_5$h, [
40947
+ createElementVNode("div", {
40948
+ class: "js-action-btn",
40949
+ title: ((_c2 = unref(meState2)) == null ? void 0 : _c2.microPhoneState) == "1" ? "静音" : "取消静音",
40950
+ onClick: withModifiers(toggleMic, ["stop"])
40951
+ }, [
40952
+ createVNode(SvgIcon, {
40953
+ name: ((_d = unref(meState2)) == null ? void 0 : _d.microPhoneState) == "1" ? "MicrophoneIcon" : "MicrophoneSlashIcon",
40954
+ size: 16
40955
+ }, null, 8, ["name"])
40956
+ ], 8, _hoisted_6$g),
40957
+ createElementVNode("div", {
40958
+ class: "js-action-btn",
40959
+ title: ((_e = unref(meState2)) == null ? void 0 : _e.cameraState) == "1" ? "关闭摄像头" : "打开摄像头",
40960
+ onClick: withModifiers(toggleCamera, ["stop"])
40961
+ }, [
40962
+ createVNode(SvgIcon, {
40963
+ name: ((_f2 = unref(meState2)) == null ? void 0 : _f2.cameraState) == "1" ? "CameraIcon" : "CameraSlashIcon",
40964
+ size: 16
40965
+ }, null, 8, ["name"])
40966
+ ], 8, _hoisted_7$f),
40967
+ createElementVNode("div", {
40968
+ class: "js-action-btn",
40969
+ title: "返回会议",
40970
+ onClick: withModifiers(handleRestore, ["stop"])
40971
+ }, [
40972
+ createVNode(SvgIcon, {
40973
+ name: "ExpandIcon",
40974
+ size: 16
40975
+ })
40976
+ ]),
40977
+ createElementVNode("div", {
40978
+ class: "js-action-btn",
40979
+ title: isCollapsed.value ? "展开画面小窗" : "收起画面小窗",
40980
+ onClick: withModifiers(handleToggleCollapse, ["stop"])
40981
+ }, [
40982
+ createVNode(SvgIcon, {
40983
+ name: isCollapsed.value ? "DownArrowIcon" : "UpArrowIcon",
40984
+ size: 16
40985
+ }, null, 8, ["name"])
40986
+ ], 8, _hoisted_8$e)
40987
+ ])
40988
+ ], 6)), [
40989
+ [_directive_draggable]
40990
+ ]) : createCommentVNode("", true)
40991
+ ]);
40992
+ };
40993
+ }
40994
+ });
40995
+ const MinimizedMeeting = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-c5834cc4"]]);
40996
+ const _hoisted_1$o = { class: "section" };
40997
+ const _hoisted_2$m = { class: "section-title" };
40998
+ const _hoisted_3$l = ["onClick"];
40999
+ const _hoisted_4$j = { class: "label" };
41000
+ const _hoisted_5$g = {
40779
41001
  key: 0,
40780
41002
  class: "empty-device"
40781
41003
  };
40782
- const _hoisted_6$g = { class: "section" };
40783
- const _hoisted_7$f = { class: "section-title" };
40784
- const _hoisted_8$e = ["onClick"];
41004
+ const _hoisted_6$f = { class: "section" };
41005
+ const _hoisted_7$e = { class: "section-title" };
41006
+ const _hoisted_8$d = ["onClick"];
40785
41007
  const _hoisted_9$c = { class: "label" };
40786
41008
  const _hoisted_10$c = {
40787
41009
  key: 0,
@@ -40798,7 +41020,7 @@ const _hoisted_15$7 = {
40798
41020
  key: 0,
40799
41021
  class: "empty-device"
40800
41022
  };
40801
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
41023
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
40802
41024
  __name: "DeviceSelector",
40803
41025
  props: {
40804
41026
  deviceType: {},
@@ -40862,8 +41084,8 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
40862
41084
  class: normalizeClass(["device-selector", themeClass.value])
40863
41085
  }, [
40864
41086
  _ctx.deviceType === "microphone" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
40865
- createElementVNode("div", _hoisted_1$p, [
40866
- createElementVNode("div", _hoisted_2$n, [
41087
+ createElementVNode("div", _hoisted_1$o, [
41088
+ createElementVNode("div", _hoisted_2$m, [
40867
41089
  createVNode(SvgIcon, {
40868
41090
  name: "SpeakerIcon",
40869
41091
  size: 14
@@ -40879,14 +41101,14 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
40879
41101
  createElementVNode("span", {
40880
41102
  class: normalizeClass(["check", { show: sp.deviceId === speakerId.value }])
40881
41103
  }, "✓", 2),
40882
- createElementVNode("span", _hoisted_4$k, toDisplayString(formatDeviceLabel(sp.label)), 1)
40883
- ], 8, _hoisted_3$m);
41104
+ createElementVNode("span", _hoisted_4$j, toDisplayString(formatDeviceLabel(sp.label)), 1)
41105
+ ], 8, _hoisted_3$l);
40884
41106
  }), 128)),
40885
- !speakers.value.length ? (openBlock(), createElementBlock("div", _hoisted_5$h, " 暂无扬声器,请检查电脑设备 ")) : createCommentVNode("", true)
41107
+ !speakers.value.length ? (openBlock(), createElementBlock("div", _hoisted_5$g, " 暂无扬声器,请检查电脑设备 ")) : createCommentVNode("", true)
40886
41108
  ]),
40887
41109
  _cache[2] || (_cache[2] = createElementVNode("div", { class: "divider" }, null, -1)),
40888
- createElementVNode("div", _hoisted_6$g, [
40889
- createElementVNode("div", _hoisted_7$f, [
41110
+ createElementVNode("div", _hoisted_6$f, [
41111
+ createElementVNode("div", _hoisted_7$e, [
40890
41112
  createVNode(SvgIcon, {
40891
41113
  name: "MicrophoneIcon",
40892
41114
  size: 17
@@ -40903,7 +41125,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
40903
41125
  class: normalizeClass(["check", { show: mic.deviceId === microPhoneId.value }])
40904
41126
  }, "✓", 2),
40905
41127
  createElementVNode("span", _hoisted_9$c, toDisplayString(formatDeviceLabel(mic.label)), 1)
40906
- ], 8, _hoisted_8$e);
41128
+ ], 8, _hoisted_8$d);
40907
41129
  }), 128)),
40908
41130
  !microPhones.value.length ? (openBlock(), createElementBlock("div", _hoisted_10$c, " 暂无麦克风,请检查电脑设备 ")) : createCommentVNode("", true)
40909
41131
  ])
@@ -40933,21 +41155,21 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
40933
41155
  };
40934
41156
  }
40935
41157
  });
40936
- const DeviceSelector = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-ced67da8"]]);
40937
- const _hoisted_1$o = ["title"];
40938
- const _hoisted_2$m = {
41158
+ const DeviceSelector = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-ced67da8"]]);
41159
+ const _hoisted_1$n = ["title"];
41160
+ const _hoisted_2$l = {
40939
41161
  class: "signal-bars",
40940
41162
  "aria-hidden": "true"
40941
41163
  };
40942
- const _hoisted_3$l = {
41164
+ const _hoisted_3$k = {
40943
41165
  key: 0,
40944
41166
  class: "signal-text"
40945
41167
  };
40946
- const _hoisted_4$j = { class: "network-quality-popup-shell" };
40947
- const _hoisted_5$g = { class: "popup-header" };
40948
- const _hoisted_6$f = { class: "popup-header-actions" };
40949
- const _hoisted_7$e = { class: "popup-summary" };
40950
- const _hoisted_8$d = {
41168
+ const _hoisted_4$i = { class: "network-quality-popup-shell" };
41169
+ const _hoisted_5$f = { class: "popup-header" };
41170
+ const _hoisted_6$e = { class: "popup-header-actions" };
41171
+ const _hoisted_7$d = { class: "popup-summary" };
41172
+ const _hoisted_8$c = {
40951
41173
  key: 0,
40952
41174
  class: "popup-reasons"
40953
41175
  };
@@ -40981,7 +41203,7 @@ const _hoisted_32$1 = {
40981
41203
  key: 1,
40982
41204
  class: "popup-empty"
40983
41205
  };
40984
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
41206
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
40985
41207
  __name: "NetworkQualitySignal",
40986
41208
  props: {
40987
41209
  theme: { default: "dark" },
@@ -41295,7 +41517,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
41295
41517
  title: unref(networkQualityState).summary,
41296
41518
  onClick: _cache[0] || (_cache[0] = ($event) => showPopup.value = !showPopup.value)
41297
41519
  }, [
41298
- createElementVNode("span", _hoisted_2$m, [
41520
+ createElementVNode("span", _hoisted_2$l, [
41299
41521
  (openBlock(), createElementBlock(Fragment, null, renderList(4, (index) => {
41300
41522
  return createElementVNode("span", {
41301
41523
  key: index,
@@ -41303,8 +41525,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
41303
41525
  }, null, 2);
41304
41526
  }), 64))
41305
41527
  ]),
41306
- _ctx.showText ? (openBlock(), createElementBlock("span", _hoisted_3$l, toDisplayString(unref(networkQualityState).label), 1)) : createCommentVNode("", true)
41307
- ], 10, _hoisted_1$o),
41528
+ _ctx.showText ? (openBlock(), createElementBlock("span", _hoisted_3$k, toDisplayString(unref(networkQualityState).label), 1)) : createCommentVNode("", true)
41529
+ ], 10, _hoisted_1$n),
41308
41530
  createVNode(SmartPopup, {
41309
41531
  visible: showPopup.value,
41310
41532
  "onUpdate:visible": _cache[3] || (_cache[3] = ($event) => showPopup.value = $event),
@@ -41312,13 +41534,13 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
41312
41534
  gap: 12
41313
41535
  }, {
41314
41536
  default: withCtx(() => [
41315
- createElementVNode("div", _hoisted_4$j, [
41537
+ createElementVNode("div", _hoisted_4$i, [
41316
41538
  createElementVNode("div", {
41317
41539
  class: normalizeClass(["network-quality-popup network-quality-main", themeClass.value])
41318
41540
  }, [
41319
- createElementVNode("div", _hoisted_5$g, [
41541
+ createElementVNode("div", _hoisted_5$f, [
41320
41542
  _cache[4] || (_cache[4] = createElementVNode("div", { class: "popup-title" }, "网络详情", -1)),
41321
- createElementVNode("div", _hoisted_6$f, [
41543
+ createElementVNode("div", _hoisted_6$e, [
41322
41544
  createElementVNode("button", {
41323
41545
  type: "button",
41324
41546
  class: "advanced-toggle",
@@ -41329,8 +41551,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
41329
41551
  }, toDisplayString(unref(networkQualityState).label), 3)
41330
41552
  ])
41331
41553
  ]),
41332
- createElementVNode("div", _hoisted_7$e, toDisplayString(unref(networkQualityState).summary), 1),
41333
- reasonText.value ? (openBlock(), createElementBlock("div", _hoisted_8$d, toDisplayString(reasonText.value), 1)) : createCommentVNode("", true),
41554
+ createElementVNode("div", _hoisted_7$d, toDisplayString(unref(networkQualityState).summary), 1),
41555
+ reasonText.value ? (openBlock(), createElementBlock("div", _hoisted_8$c, toDisplayString(reasonText.value), 1)) : createCommentVNode("", true),
41334
41556
  createElementVNode("div", _hoisted_9$b, [
41335
41557
  _cache[5] || (_cache[5] = createElementVNode("div", { class: "popup-section-title" }, "质量概览", -1)),
41336
41558
  createElementVNode("div", _hoisted_10$b, [
@@ -41429,9 +41651,9 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
41429
41651
  };
41430
41652
  }
41431
41653
  });
41432
- const NetworkQualitySignal = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-3378006f"]]);
41433
- const _hoisted_1$n = { class: "network-copy" };
41434
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
41654
+ const NetworkQualitySignal = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-3378006f"]]);
41655
+ const _hoisted_1$m = { class: "network-copy" };
41656
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41435
41657
  __name: "netWorkStatus",
41436
41658
  props: {
41437
41659
  theme: { default: "dark" }
@@ -41453,7 +41675,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
41453
41675
  theme: _ctx.theme,
41454
41676
  size: "compact"
41455
41677
  }, null, 8, ["theme"]),
41456
- createElementVNode("div", _hoisted_1$n, [
41678
+ createElementVNode("div", _hoisted_1$m, [
41457
41679
  createElementVNode("span", {
41458
41680
  class: normalizeClass(["network-label", `is-${unref(networkQualityState).level}`])
41459
41681
  }, toDisplayString(displayLabel.value), 3)
@@ -41462,25 +41684,25 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
41462
41684
  };
41463
41685
  }
41464
41686
  });
41465
- const NetWorkStatus = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-565d8abd"]]);
41466
- const _hoisted_1$m = {
41687
+ const NetWorkStatus = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-565d8abd"]]);
41688
+ const _hoisted_1$l = {
41467
41689
  key: 0,
41468
41690
  class: "sos-flash-overlay"
41469
41691
  };
41470
- const _hoisted_2$l = { class: "js-call-dialog-container" };
41471
- const _hoisted_3$k = { class: "status-bar" };
41472
- const _hoisted_4$i = { class: "status-left" };
41473
- const _hoisted_5$f = {
41692
+ const _hoisted_2$k = { class: "js-call-dialog-container" };
41693
+ const _hoisted_3$j = { class: "status-bar" };
41694
+ const _hoisted_4$h = { class: "status-left" };
41695
+ const _hoisted_5$e = {
41474
41696
  key: 0,
41475
41697
  class: "caller-info",
41476
41698
  title: "来电人"
41477
41699
  };
41478
- const _hoisted_6$e = {
41700
+ const _hoisted_6$d = {
41479
41701
  class: "avatar",
41480
41702
  style: { "width": "35px", "height": "35px", "font-size": "16px" }
41481
41703
  };
41482
- const _hoisted_7$d = { class: "caller-text" };
41483
- const _hoisted_8$c = { class: "caller-name" };
41704
+ const _hoisted_7$c = { class: "caller-text" };
41705
+ const _hoisted_8$b = { class: "caller-name" };
41484
41706
  const _hoisted_9$a = {
41485
41707
  key: 0,
41486
41708
  class: "caller-number"
@@ -41521,7 +41743,7 @@ const DEFAULT_SUB_VIDEO_WIDTH = 190;
41521
41743
  const SUB_VIDEO_GAP = 12;
41522
41744
  const CONTROL_BAR_HEIGHT = 90;
41523
41745
  const STATUS_BAR_HEIGHT = 48;
41524
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
41746
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
41525
41747
  __name: "call",
41526
41748
  props: {
41527
41749
  theme: { default: "dark" },
@@ -41701,6 +41923,9 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41701
41923
  );
41702
41924
  const onChange = async (type) => {
41703
41925
  switch (type) {
41926
+ case RoomModalSelectType.minimizeClick:
41927
+ handleMinimize();
41928
+ break;
41704
41929
  case RoomModalSelectType.microphoneClick:
41705
41930
  if (micOperationBusy.value) return;
41706
41931
  if (isAuthority.value) {
@@ -41733,6 +41958,17 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41733
41958
  break;
41734
41959
  }
41735
41960
  };
41961
+ const isMinimized = ref(false);
41962
+ const handleMinimize = async () => {
41963
+ isMinimized.value = true;
41964
+ await nextTick();
41965
+ mountTracks();
41966
+ };
41967
+ const handleRestoreMeeting = async () => {
41968
+ isMinimized.value = false;
41969
+ await nextTick();
41970
+ mountTracks();
41971
+ };
41736
41972
  const acceptCall = () => {
41737
41973
  const meetingInfo = JSON.parse(
41738
41974
  sessionStorage.getItem("JS_MEETING_INFO") || "{}"
@@ -41847,28 +42083,39 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41847
42083
  }
41848
42084
  });
41849
42085
  return (_ctx, _cache) => {
42086
+ const _directive_draggable = resolveDirective("draggable");
41850
42087
  return openBlock(), createBlock(Teleport, { to: "body" }, [
41851
- unref(sosFlashVisible) ? (openBlock(), createElementBlock("div", _hoisted_1$m)) : createCommentVNode("", true),
41852
- unref(visible) ? (openBlock(), createElementBlock("div", {
42088
+ unref(sosFlashVisible) ? (openBlock(), createElementBlock("div", _hoisted_1$l)) : createCommentVNode("", true),
42089
+ unref(visible) && !isMinimized.value ? (openBlock(), createElementBlock("div", {
41853
42090
  key: 1,
41854
42091
  class: normalizeClass(["js-dialog-overlay", themeClass.value])
41855
42092
  }, [
41856
- createElementVNode("div", _hoisted_2$l, [
41857
- createElementVNode("div", _hoisted_3$k, [
41858
- createElementVNode("div", _hoisted_4$i, [
42093
+ withDirectives((openBlock(), createElementBlock("div", _hoisted_2$k, [
42094
+ createElementVNode("div", _hoisted_3$j, [
42095
+ createElementVNode("div", _hoisted_4$h, [
41859
42096
  createElementVNode("div", null, [
41860
42097
  createVNode(NetWorkStatus, { theme: _ctx.theme }, null, 8, ["theme"])
41861
42098
  ]),
41862
- isReceiving.value && callerInfo.value ? (openBlock(), createElementBlock("div", _hoisted_5$f, [
41863
- createElementVNode("div", _hoisted_6$e, toDisplayString(unref(getUserAvatar)(callerInfo.value)), 1),
41864
- createElementVNode("div", _hoisted_7$d, [
41865
- createElementVNode("div", _hoisted_8$c, toDisplayString(callerInfo.value.memberName || "未知来电"), 1),
42099
+ isReceiving.value && callerInfo.value ? (openBlock(), createElementBlock("div", _hoisted_5$e, [
42100
+ createElementVNode("div", _hoisted_6$d, toDisplayString(unref(getUserAvatar)(callerInfo.value)), 1),
42101
+ createElementVNode("div", _hoisted_7$c, [
42102
+ createElementVNode("div", _hoisted_8$b, toDisplayString(callerInfo.value.memberName || "未知来电"), 1),
41866
42103
  callerInfo.value.shortNumber ? (openBlock(), createElementBlock("div", _hoisted_9$a, " 分机:" + toDisplayString(callerInfo.value.shortNumber), 1)) : createCommentVNode("", true)
41867
42104
  ])
41868
42105
  ])) : createCommentVNode("", true)
41869
42106
  ]),
41870
42107
  createElementVNode("div", _hoisted_10$a, [
41871
- createElementVNode("span", null, toDisplayString(statusText.value), 1)
42108
+ createElementVNode("span", null, toDisplayString(statusText.value), 1),
42109
+ createElementVNode("div", {
42110
+ class: "minimize-icon",
42111
+ title: "最小化",
42112
+ onClick: _cache[0] || (_cache[0] = ($event) => onChange(unref(RoomModalSelectType).minimizeClick))
42113
+ }, [
42114
+ createVNode(SvgIcon, {
42115
+ name: "MinimizeIcon",
42116
+ size: 16
42117
+ })
42118
+ ])
41872
42119
  ])
41873
42120
  ]),
41874
42121
  createElementVNode("div", {
@@ -41898,13 +42145,13 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41898
42145
  [vShow, (user == null ? void 0 : user.cameraStatus) !== "1"]
41899
42146
  ]),
41900
42147
  withDirectives(createElementVNode("div", _hoisted_16$5, [
41901
- _cache[6] || (_cache[6] = createElementVNode("div", { class: "video-loading-spinner" }, null, -1)),
42148
+ _cache[7] || (_cache[7] = createElementVNode("div", { class: "video-loading-spinner" }, null, -1)),
41902
42149
  createElementVNode("div", _hoisted_17$4, toDisplayString((user == null ? void 0 : user.videoRetrying) ? "重新加载中..." : "加载中..."), 1)
41903
42150
  ], 512), [
41904
42151
  [vShow, (user == null ? void 0 : user.loading) && (user == null ? void 0 : user.cameraStatus) === "1"]
41905
42152
  ]),
41906
42153
  withDirectives(createElementVNode("div", _hoisted_18$4, [
41907
- _cache[7] || (_cache[7] = createElementVNode("div", { class: "video-loading-text" }, "视频加载失败", -1)),
42154
+ _cache[8] || (_cache[8] = createElementVNode("div", { class: "video-loading-text" }, "视频加载失败", -1)),
41908
42155
  createElementVNode("button", {
41909
42156
  type: "button",
41910
42157
  class: "video-retry-button",
@@ -41920,7 +42167,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41920
42167
  ])
41921
42168
  ])
41922
42169
  ], 14, _hoisted_11$9);
41923
- }), 128)) : (openBlock(), createElementBlock("div", _hoisted_23$2, [..._cache[8] || (_cache[8] = [
42170
+ }), 128)) : (openBlock(), createElementBlock("div", _hoisted_23$2, [..._cache[9] || (_cache[9] = [
41924
42171
  createElementVNode("span", null, "等待成员加入...", -1)
41925
42172
  ])]))
41926
42173
  ], 2),
@@ -41936,17 +42183,17 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41936
42183
  }, [
41937
42184
  createElementVNode("button", {
41938
42185
  class: normalizeClass(["control-btn", { "is-disabled": unref(micOperationBusy) }]),
41939
- onClick: _cache[0] || (_cache[0] = ($event) => onChange(unref(RoomModalSelectType).microphoneClick))
42186
+ onClick: _cache[1] || (_cache[1] = ($event) => onChange(unref(RoomModalSelectType).microphoneClick))
41940
42187
  }, [
41941
42188
  createVNode(SvgIcon, {
41942
42189
  name: unref(meState2).microPhoneState == "1" ? "MicrophoneIcon" : "MicrophoneSlashIcon",
41943
42190
  size: 20
41944
42191
  }, null, 8, ["name"]),
41945
- _cache[9] || (_cache[9] = createElementVNode("span", null, "麦克风", -1))
42192
+ _cache[10] || (_cache[10] = createElementVNode("span", null, "麦克风", -1))
41946
42193
  ], 2),
41947
42194
  createElementVNode("div", {
41948
42195
  class: normalizeClass(["device-dropdown-trigger", { "is-disabled": unref(micOperationBusy) }]),
41949
- onClick: _cache[1] || (_cache[1] = ($event) => toggleDeviceSelector("microphone"))
42196
+ onClick: _cache[2] || (_cache[2] = ($event) => toggleDeviceSelector("microphone"))
41950
42197
  }, [
41951
42198
  createVNode(SvgIcon, {
41952
42199
  name: "TriangleIcon",
@@ -41963,7 +42210,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41963
42210
  name: "PhoneIcon",
41964
42211
  size: 21
41965
42212
  }),
41966
- _cache[10] || (_cache[10] = createElementVNode("span", null, "接听", -1))
42213
+ _cache[11] || (_cache[11] = createElementVNode("span", null, "接听", -1))
41967
42214
  ])) : createCommentVNode("", true),
41968
42215
  isCalling.value || isReceiving.value || isConnected.value ? (openBlock(), createElementBlock("button", {
41969
42216
  key: 2,
@@ -41987,7 +42234,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41987
42234
  size: 21,
41988
42235
  "color-class": "handUp"
41989
42236
  }),
41990
- _cache[11] || (_cache[11] = createElementVNode("span", null, "结束监听", -1))
42237
+ _cache[12] || (_cache[12] = createElementVNode("span", null, "结束监听", -1))
41991
42238
  ])) : createCommentVNode("", true),
41992
42239
  isForcibleInsertion.value ? (openBlock(), createElementBlock("button", {
41993
42240
  key: 4,
@@ -41998,7 +42245,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
41998
42245
  name: "HandUpIcon",
41999
42246
  size: 20
42000
42247
  }),
42001
- _cache[12] || (_cache[12] = createElementVNode("span", null, "退出通话", -1))
42248
+ _cache[13] || (_cache[13] = createElementVNode("span", null, "退出通话", -1))
42002
42249
  ])) : createCommentVNode("", true),
42003
42250
  isConnected.value || isForcibleInsertion.value ? (openBlock(), createElementBlock("div", {
42004
42251
  key: 5,
@@ -42007,17 +42254,17 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
42007
42254
  }, [
42008
42255
  createElementVNode("button", {
42009
42256
  class: normalizeClass(["control-btn", { "is-disabled": unref(cameraOperationBusy) }]),
42010
- onClick: _cache[2] || (_cache[2] = ($event) => onChange(unref(RoomModalSelectType).cameraClick))
42257
+ onClick: _cache[3] || (_cache[3] = ($event) => onChange(unref(RoomModalSelectType).cameraClick))
42011
42258
  }, [
42012
42259
  createVNode(SvgIcon, {
42013
42260
  name: unref(meState2).cameraState == "1" ? "CameraIcon" : "CameraSlashIcon",
42014
42261
  size: 20
42015
42262
  }, null, 8, ["name"]),
42016
- _cache[13] || (_cache[13] = createElementVNode("span", null, "摄像头", -1))
42263
+ _cache[14] || (_cache[14] = createElementVNode("span", null, "摄像头", -1))
42017
42264
  ], 2),
42018
42265
  createElementVNode("div", {
42019
42266
  class: normalizeClass(["device-dropdown-trigger", { "is-disabled": unref(cameraOperationBusy) }]),
42020
- onClick: _cache[3] || (_cache[3] = ($event) => toggleDeviceSelector("camera"))
42267
+ onClick: _cache[4] || (_cache[4] = ($event) => toggleDeviceSelector("camera"))
42021
42268
  }, [
42022
42269
  createVNode(SvgIcon, {
42023
42270
  name: "TriangleIcon",
@@ -42031,13 +42278,18 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
42031
42278
  name: "TranscribeIcon",
42032
42279
  size: 22
42033
42280
  }),
42034
- _cache[14] || (_cache[14] = createElementVNode("span", null, "录制中", -1))
42281
+ _cache[15] || (_cache[15] = createElementVNode("span", null, "录制中", -1))
42035
42282
  ])) : createCommentVNode("", true)
42036
42283
  ])
42284
+ ])), [
42285
+ [_directive_draggable, {
42286
+ handle: ".status-bar",
42287
+ disabled: !props.draggable
42288
+ }]
42037
42289
  ]),
42038
42290
  createVNode(SmartPopup, {
42039
42291
  visible: showDeviceSelector.value,
42040
- "onUpdate:visible": _cache[5] || (_cache[5] = ($event) => showDeviceSelector.value = $event),
42292
+ "onUpdate:visible": _cache[6] || (_cache[6] = ($event) => showDeviceSelector.value = $event),
42041
42293
  trigger: currentDeviceType.value == "microphone" ? micRef.value : cameraRef.value,
42042
42294
  gap: 10
42043
42295
  }, {
@@ -42045,17 +42297,23 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
42045
42297
  createVNode(DeviceSelector, {
42046
42298
  "device-type": currentDeviceType.value,
42047
42299
  theme: _ctx.theme,
42048
- onClose: _cache[4] || (_cache[4] = ($event) => showDeviceSelector.value = false)
42300
+ onClose: _cache[5] || (_cache[5] = ($event) => showDeviceSelector.value = false)
42049
42301
  }, null, 8, ["device-type", "theme"])
42050
42302
  ]),
42051
42303
  _: 1
42052
42304
  }, 8, ["visible", "trigger"])
42053
- ], 2)) : createCommentVNode("", true)
42305
+ ], 2)) : createCommentVNode("", true),
42306
+ createVNode(MinimizedMeeting, {
42307
+ visible: isMinimized.value,
42308
+ theme: props.theme,
42309
+ onRestore: handleRestoreMeeting,
42310
+ onOnChange: onChange
42311
+ }, null, 8, ["visible", "theme"])
42054
42312
  ]);
42055
42313
  };
42056
42314
  }
42057
42315
  });
42058
- const JSCall = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-65f08af1"]]);
42316
+ const JSCall = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-fece57cb"]]);
42059
42317
  const HANDOFF_SOURCE_TAB_ID_KEY = "JS_MEETING_MQTT_HANDOFF_SOURCE_TAB_ID";
42060
42318
  const HANDOFF_TARGET_TAB_ID_KEY = "JS_MEETING_MQTT_HANDOFF_TARGET_TAB_ID";
42061
42319
  const HANDOFF_ID_KEY = "JS_MEETING_MQTT_HANDOFF_ID";
@@ -42350,9 +42608,9 @@ function installMeetingMqttHandoffBridge(onReconnectRequested) {
42350
42608
  notifySourceTabForReconnect();
42351
42609
  });
42352
42610
  }
42353
- const _hoisted_1$l = { class: "js-dialog-header-title" };
42354
- const _hoisted_2$k = { class: "js-dialog-header-actions" };
42355
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
42611
+ const _hoisted_1$k = { class: "js-dialog-header-title" };
42612
+ const _hoisted_2$j = { class: "js-dialog-header-actions" };
42613
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
42356
42614
  __name: "meeting-header",
42357
42615
  props: {
42358
42616
  theme: {},
@@ -42400,8 +42658,8 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
42400
42658
  return openBlock(), createElementBlock("div", {
42401
42659
  class: normalizeClass(["js-dialog-header", themeClass.value])
42402
42660
  }, [
42403
- createElementVNode("div", _hoisted_1$l, toDisplayString(meetingInfo.value.meetingName), 1),
42404
- createElementVNode("div", _hoisted_2$k, [
42661
+ createElementVNode("div", _hoisted_1$k, toDisplayString(meetingInfo.value.meetingName), 1),
42662
+ createElementVNode("div", _hoisted_2$j, [
42405
42663
  createElementVNode("div", {
42406
42664
  title: "最小化",
42407
42665
  onClick: _cache[0] || (_cache[0] = ($event) => emit("onChange", unref(RoomModalSelectType).minimizeClick))
@@ -42454,23 +42712,23 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
42454
42712
  };
42455
42713
  }
42456
42714
  });
42457
- const MeetingHeader = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-1c047753"]]);
42458
- const _hoisted_1$k = { class: "js-dialog-content-inner" };
42459
- const _hoisted_2$j = { class: "js-dialog-content-inner-left" };
42460
- const _hoisted_3$j = { class: "js-dialog-content-inner-right" };
42461
- const _hoisted_4$h = { class: "grid-layout" };
42462
- const _hoisted_5$e = ["onClick"];
42463
- const _hoisted_6$d = {
42715
+ const MeetingHeader = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-1c047753"]]);
42716
+ const _hoisted_1$j = { class: "js-dialog-content-inner" };
42717
+ const _hoisted_2$i = { class: "js-dialog-content-inner-left" };
42718
+ const _hoisted_3$i = { class: "js-dialog-content-inner-right" };
42719
+ const _hoisted_4$g = { class: "grid-layout" };
42720
+ const _hoisted_5$d = ["onClick"];
42721
+ const _hoisted_6$c = {
42464
42722
  key: 0,
42465
42723
  class: "host-tag"
42466
42724
  };
42467
- const _hoisted_7$c = ["id"];
42468
- const _hoisted_8$b = { class: "avatar-container" };
42725
+ const _hoisted_7$b = ["id"];
42726
+ const _hoisted_8$a = { class: "avatar-container" };
42469
42727
  const _hoisted_9$9 = { class: "video-loading-overlay" };
42470
42728
  const _hoisted_10$9 = { class: "video-loading-text" };
42471
42729
  const _hoisted_11$8 = { class: "video-loading-overlay failed" };
42472
42730
  const _hoisted_12$8 = ["disabled", "onClick"];
42473
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
42731
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
42474
42732
  __name: "meeting-content",
42475
42733
  props: {
42476
42734
  layout: { default: "grid-9" },
@@ -42596,12 +42854,12 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
42596
42854
  });
42597
42855
  return (_ctx, _cache) => {
42598
42856
  return openBlock(), createElementBlock(Fragment, null, [
42599
- createElementVNode("div", _hoisted_1$k, [
42600
- createElementVNode("div", _hoisted_2$j, [
42857
+ createElementVNode("div", _hoisted_1$j, [
42858
+ createElementVNode("div", _hoisted_2$i, [
42601
42859
  createVNode(NetWorkStatus, { theme: _ctx.theme }, null, 8, ["theme"]),
42602
42860
  createElementVNode("span", null, "正在讲话:" + toDisplayString(speakingUserName.value || "无"), 1)
42603
42861
  ]),
42604
- createElementVNode("div", _hoisted_3$j, [
42862
+ createElementVNode("div", _hoisted_3$i, [
42605
42863
  createElementVNode("span", null, toDisplayString(joinTimeObj.value), 1),
42606
42864
  createVNode(SvgIcon, {
42607
42865
  name: _ctx.isFullscreen ? "NoFullscreenIcon" : "FullscreenIcon",
@@ -42613,8 +42871,8 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
42613
42871
  createElementVNode("div", {
42614
42872
  class: normalizeClass(["js-dialog-content", [layoutClass.value, { "is-fullscreen-layout": _ctx.isFullscreen }]])
42615
42873
  }, [
42616
- createElementVNode("div", _hoisted_4$h, [
42617
- !unref(members).length ? (openBlock(), createElementBlock(Fragment, { key: 0 }, renderList(12, (n2) => {
42874
+ createElementVNode("div", _hoisted_4$g, [
42875
+ !filteredMembers.value.length ? (openBlock(), createElementBlock(Fragment, { key: 0 }, renderList(12, (n2) => {
42618
42876
  return createElementVNode("div", {
42619
42877
  key: n2,
42620
42878
  class: "skeleton grid-item"
@@ -42639,18 +42897,18 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
42639
42897
  small: _ctx.layout === "speaker" && ((_g2 = user == null ? void 0 : user.member) == null ? void 0 : _g2.memberId) !== ((_i2 = (_h = speakerUser.value) == null ? void 0 : _h.member) == null ? void 0 : _i2.memberId)
42640
42898
  }])
42641
42899
  }, [
42642
- user.roleType === "1" ? (openBlock(), createElementBlock("div", _hoisted_6$d, "主持人")) : createCommentVNode("", true),
42900
+ user.roleType === "1" ? (openBlock(), createElementBlock("div", _hoisted_6$c, "主持人")) : createCommentVNode("", true),
42643
42901
  withDirectives((openBlock(), createElementBlock("div", {
42644
42902
  id: unref(userId) === (user == null ? void 0 : user.member.memberId) ? "my-video" : `other-${user == null ? void 0 : user.member.memberId}`,
42645
42903
  key: unref(userId) === (user == null ? void 0 : user.member.memberId) ? "my-video" : `other-${user == null ? void 0 : user.member.memberId}`,
42646
42904
  class: "video-element"
42647
- }, null, 8, _hoisted_7$c)), [
42905
+ }, null, 8, _hoisted_7$b)), [
42648
42906
  [
42649
42907
  vShow,
42650
42908
  ((user == null ? void 0 : user.cameraStatus) ?? "0") == "1" || ((user == null ? void 0 : user.shareScreenStatus) ?? "0") == "1"
42651
42909
  ]
42652
42910
  ]),
42653
- withDirectives(createElementVNode("div", _hoisted_8$b, [
42911
+ withDirectives(createElementVNode("div", _hoisted_8$a, [
42654
42912
  createElementVNode("div", {
42655
42913
  class: normalizeClass(["avatar", {
42656
42914
  large: _ctx.layout === "speaker" && ((_j = user == null ? void 0 : user.member) == null ? void 0 : _j.memberId) === ((_l2 = (_k = speakerUser.value) == null ? void 0 : _k.member) == null ? void 0 : _l2.memberId),
@@ -42716,7 +42974,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
42716
42974
  }])
42717
42975
  }, toDisplayString(getUserName2(user)), 3)
42718
42976
  ], 2)
42719
- ], 10, _hoisted_5$e);
42977
+ ], 10, _hoisted_5$d);
42720
42978
  }), 128))
42721
42979
  ])
42722
42980
  ], 2)
@@ -42724,12 +42982,12 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
42724
42982
  };
42725
42983
  }
42726
42984
  });
42727
- const MeetingContent = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-130e19b8"]]);
42728
- const _hoisted_1$j = { class: "js-dialog-footer" };
42729
- const _hoisted_2$i = { class: "js-dialog-footer-group js-dialog-footer-left" };
42730
- const _hoisted_3$i = { class: "js-dialog-footer-group js-dialog-footer-center" };
42731
- const _hoisted_4$g = ["onClick"];
42732
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
42985
+ const MeetingContent = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-dc401c6f"]]);
42986
+ const _hoisted_1$i = { class: "js-dialog-footer" };
42987
+ const _hoisted_2$h = { class: "js-dialog-footer-group js-dialog-footer-left" };
42988
+ const _hoisted_3$h = { class: "js-dialog-footer-group js-dialog-footer-center" };
42989
+ const _hoisted_4$f = ["onClick"];
42990
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
42733
42991
  __name: "meeting-footer",
42734
42992
  props: {
42735
42993
  currentLayout: { default: "grid-9" },
@@ -42818,8 +43076,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
42818
43076
  };
42819
43077
  return (_ctx, _cache) => {
42820
43078
  return openBlock(), createElementBlock(Fragment, null, [
42821
- createElementVNode("div", _hoisted_1$j, [
42822
- createElementVNode("div", _hoisted_2$i, [
43079
+ createElementVNode("div", _hoisted_1$i, [
43080
+ createElementVNode("div", _hoisted_2$h, [
42823
43081
  createElementVNode("div", {
42824
43082
  ref_key: "micRef",
42825
43083
  ref: micRef,
@@ -42872,7 +43130,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
42872
43130
  ], 2)
42873
43131
  ], 512)
42874
43132
  ]),
42875
- createElementVNode("div", _hoisted_3$i, [
43133
+ createElementVNode("div", _hoisted_3$h, [
42876
43134
  createElementVNode("div", {
42877
43135
  class: "js-dialog-footer-item",
42878
43136
  onClick: toggleScreenShare
@@ -42996,7 +43254,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
42996
43254
  size: 20
42997
43255
  }, null, 8, ["name"]),
42998
43256
  createElementVNode("span", null, toDisplayString(layout.label), 1)
42999
- ], 10, _hoisted_4$g);
43257
+ ], 10, _hoisted_4$f);
43000
43258
  }), 64))
43001
43259
  ], 2)
43002
43260
  ]),
@@ -43030,15 +43288,15 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
43030
43288
  };
43031
43289
  }
43032
43290
  });
43033
- const MeetingFooter = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-480c2c76"]]);
43034
- const _hoisted_1$i = { class: "js-search" };
43035
- const _hoisted_2$h = { class: "js-custom-tabs" };
43036
- const _hoisted_3$h = { class: "js-member-list" };
43037
- const _hoisted_4$f = ["onMouseenter"];
43038
- const _hoisted_5$d = { class: "js-default-avatar" };
43039
- const _hoisted_6$c = { class: "js-info" };
43040
- const _hoisted_7$b = { class: "js-name-line" };
43041
- const _hoisted_8$a = { class: "js-name" };
43291
+ const MeetingFooter = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-480c2c76"]]);
43292
+ const _hoisted_1$h = { class: "js-search" };
43293
+ const _hoisted_2$g = { class: "js-custom-tabs" };
43294
+ const _hoisted_3$g = { class: "js-member-list" };
43295
+ const _hoisted_4$e = ["onMouseenter"];
43296
+ const _hoisted_5$c = { class: "js-default-avatar" };
43297
+ const _hoisted_6$b = { class: "js-info" };
43298
+ const _hoisted_7$a = { class: "js-name-line" };
43299
+ const _hoisted_8$9 = { class: "js-name" };
43042
43300
  const _hoisted_9$8 = { key: 0 };
43043
43301
  const _hoisted_10$8 = { key: 1 };
43044
43302
  const _hoisted_11$7 = { class: "js-member-actions" };
@@ -43054,7 +43312,7 @@ const _hoisted_19$3 = {
43054
43312
  class: "js-empty-tip"
43055
43313
  };
43056
43314
  const _hoisted_20$3 = { class: "js-footer-btns" };
43057
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
43315
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
43058
43316
  __name: "ManageMembers",
43059
43317
  props: {
43060
43318
  theme: { default: "dark" }
@@ -43260,7 +43518,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
43260
43518
  return openBlock(), createElementBlock("div", {
43261
43519
  class: normalizeClass(["js-manage-members", themeClass.value])
43262
43520
  }, [
43263
- createElementVNode("div", _hoisted_1$i, [
43521
+ createElementVNode("div", _hoisted_1$h, [
43264
43522
  withDirectives(createElementVNode("input", {
43265
43523
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => search.value = $event),
43266
43524
  type: "text",
@@ -43275,7 +43533,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
43275
43533
  size: 16
43276
43534
  })
43277
43535
  ]),
43278
- createElementVNode("div", _hoisted_2$h, [
43536
+ createElementVNode("div", _hoisted_2$g, [
43279
43537
  createElementVNode("div", {
43280
43538
  class: normalizeClass(["js-tab-item", { active: activeTab.value === "inMeeting" }]),
43281
43539
  onClick: _cache[1] || (_cache[1] = ($event) => activeTab.value = "inMeeting")
@@ -43285,7 +43543,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
43285
43543
  onClick: _cache[2] || (_cache[2] = ($event) => activeTab.value = "notJoined")
43286
43544
  }, " 未进入 ", 2)
43287
43545
  ]),
43288
- createElementVNode("div", _hoisted_3$h, [
43546
+ createElementVNode("div", _hoisted_3$g, [
43289
43547
  (openBlock(true), createElementBlock(Fragment, null, renderList(filteredMembers.value, (member) => {
43290
43548
  return openBlock(), createElementBlock("div", {
43291
43549
  key: member.member.memberId,
@@ -43293,10 +43551,10 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
43293
43551
  onMouseenter: ($event) => hoveredMemberId.value = member.member.memberId,
43294
43552
  onMouseleave: handleMouseLeave
43295
43553
  }, [
43296
- createElementVNode("div", _hoisted_5$d, toDisplayString(unref(getUserAvatar)(member)), 1),
43297
- createElementVNode("div", _hoisted_6$c, [
43298
- createElementVNode("div", _hoisted_7$b, [
43299
- createElementVNode("span", _hoisted_8$a, toDisplayString(member.member.name), 1),
43554
+ createElementVNode("div", _hoisted_5$c, toDisplayString(unref(getUserAvatar)(member)), 1),
43555
+ createElementVNode("div", _hoisted_6$b, [
43556
+ createElementVNode("div", _hoisted_7$a, [
43557
+ createElementVNode("span", _hoisted_8$9, toDisplayString(member.member.name), 1),
43300
43558
  createElementVNode("div", null, [
43301
43559
  member.roleType == "1" ? (openBlock(), createElementBlock("span", _hoisted_9$8, "(主持人)")) : member.roleType == "0" ? (openBlock(), createElementBlock("span", _hoisted_10$8, " ")) : createCommentVNode("", true)
43302
43560
  ])
@@ -43360,7 +43618,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
43360
43618
  }, " 邀请 ", 8, _hoisted_18$3)) : createCommentVNode("", true)
43361
43619
  ], 64))
43362
43620
  ])
43363
- ], 40, _hoisted_4$f);
43621
+ ], 40, _hoisted_4$e);
43364
43622
  }), 128)),
43365
43623
  activeTab.value === "notJoined" && filteredMembers.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_19$3, " 暂无未进入成员 ")) : createCommentVNode("", true)
43366
43624
  ]),
@@ -43380,18 +43638,18 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
43380
43638
  };
43381
43639
  }
43382
43640
  });
43383
- const ManageMembers = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-0768f591"]]);
43384
- const _hoisted_1$h = { class: "chat-container" };
43385
- const _hoisted_2$g = { class: "chat-content" };
43386
- const _hoisted_3$g = { class: "chat-meta" };
43387
- const _hoisted_4$e = { class: "chat-user" };
43388
- const _hoisted_5$c = { class: "chat-time" };
43389
- const _hoisted_6$b = {
43641
+ const ManageMembers = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-0768f591"]]);
43642
+ const _hoisted_1$g = { class: "chat-container" };
43643
+ const _hoisted_2$f = { class: "chat-content" };
43644
+ const _hoisted_3$f = { class: "chat-meta" };
43645
+ const _hoisted_4$d = { class: "chat-user" };
43646
+ const _hoisted_5$b = { class: "chat-time" };
43647
+ const _hoisted_6$a = {
43390
43648
  key: 0,
43391
43649
  class: "chat-image-wrapper"
43392
43650
  };
43393
- const _hoisted_7$a = ["src", "onClick", "onError", "onLoad"];
43394
- const _hoisted_8$9 = {
43651
+ const _hoisted_7$9 = ["src", "onClick", "onError", "onLoad"];
43652
+ const _hoisted_8$8 = {
43395
43653
  key: 0,
43396
43654
  class: "image-error"
43397
43655
  };
@@ -43407,7 +43665,7 @@ const _hoisted_11$6 = { class: "chat-input-toolbar" };
43407
43665
  const _hoisted_12$6 = { class: "image-upload-wrapper" };
43408
43666
  const _hoisted_13$5 = { class: "emoji-picker-popup-global" };
43409
43667
  const _hoisted_14$4 = ["onClick"];
43410
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
43668
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
43411
43669
  __name: "Chat",
43412
43670
  setup(__props) {
43413
43671
  const userId = getUserId();
@@ -43851,7 +44109,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
43851
44109
  });
43852
44110
  });
43853
44111
  return (_ctx, _cache) => {
43854
- return openBlock(), createElementBlock("div", _hoisted_1$h, [
44112
+ return openBlock(), createElementBlock("div", _hoisted_1$g, [
43855
44113
  createElementVNode("div", {
43856
44114
  ref_key: "messagesRef",
43857
44115
  ref: messagesRef,
@@ -43862,12 +44120,12 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
43862
44120
  key: idx,
43863
44121
  class: normalizeClass(["chat-message", msg.userId !== unref(userId) ? "self" : "other"])
43864
44122
  }, [
43865
- createElementVNode("div", _hoisted_2$g, [
43866
- createElementVNode("div", _hoisted_3$g, [
43867
- createElementVNode("span", _hoisted_4$e, toDisplayString(msg.user), 1),
43868
- createElementVNode("span", _hoisted_5$c, toDisplayString(msg.time), 1)
44123
+ createElementVNode("div", _hoisted_2$f, [
44124
+ createElementVNode("div", _hoisted_3$f, [
44125
+ createElementVNode("span", _hoisted_4$d, toDisplayString(msg.user), 1),
44126
+ createElementVNode("span", _hoisted_5$b, toDisplayString(msg.time), 1)
43869
44127
  ]),
43870
- msg.imageUrl ? (openBlock(), createElementBlock("div", _hoisted_6$b, [
44128
+ msg.imageUrl ? (openBlock(), createElementBlock("div", _hoisted_6$a, [
43871
44129
  createElementVNode("img", {
43872
44130
  src: msg.imageUrl,
43873
44131
  alt: "图片",
@@ -43876,8 +44134,8 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
43876
44134
  onClick: ($event) => previewImage(msg.imageUrl),
43877
44135
  onError: ($event) => handleImageError($event, msg.imageUrl),
43878
44136
  onLoad: ($event) => handleImageLoad($event, msg.imageUrl)
43879
- }, null, 40, _hoisted_7$a),
43880
- msg.imageError ? (openBlock(), createElementBlock("div", _hoisted_8$9, "图片加载失败")) : createCommentVNode("", true)
44137
+ }, null, 40, _hoisted_7$9),
44138
+ msg.imageError ? (openBlock(), createElementBlock("div", _hoisted_8$8, "图片加载失败")) : createCommentVNode("", true)
43881
44139
  ])) : createCommentVNode("", true),
43882
44140
  msg.text ? (openBlock(), createElementBlock("div", _hoisted_9$7, toDisplayString(msg.text), 1)) : createCommentVNode("", true)
43883
44141
  ])
@@ -43957,19 +44215,19 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
43957
44215
  };
43958
44216
  }
43959
44217
  });
43960
- const Chat = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-4095c4e6"]]);
43961
- const _hoisted_1$g = { class: "monitor-container" };
43962
- const _hoisted_2$f = { class: "monitor-grid" };
43963
- const _hoisted_3$f = { class: "camera-header" };
43964
- const _hoisted_4$d = { class: "camera-name" };
43965
- const _hoisted_5$b = { class: "camera-video" };
43966
- const _hoisted_6$a = ["src"];
43967
- const _hoisted_7$9 = {
44218
+ const Chat = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-4095c4e6"]]);
44219
+ const _hoisted_1$f = { class: "monitor-container" };
44220
+ const _hoisted_2$e = { class: "monitor-grid" };
44221
+ const _hoisted_3$e = { class: "camera-header" };
44222
+ const _hoisted_4$c = { class: "camera-name" };
44223
+ const _hoisted_5$a = { class: "camera-video" };
44224
+ const _hoisted_6$9 = ["src"];
44225
+ const _hoisted_7$8 = {
43968
44226
  key: 1,
43969
44227
  class: "no-stream"
43970
44228
  };
43971
- const _hoisted_8$8 = { class: "camera-actions" };
43972
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
44229
+ const _hoisted_8$7 = { class: "camera-actions" };
44230
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
43973
44231
  __name: "Monitor",
43974
44232
  setup(__props) {
43975
44233
  const cameraList = ref([]);
@@ -44025,20 +44283,20 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
44025
44283
  };
44026
44284
  return (_ctx, _cache) => {
44027
44285
  const _component_el_button = resolveComponent("el-button");
44028
- return openBlock(), createElementBlock("div", _hoisted_1$g, [
44029
- createElementVNode("div", _hoisted_2$f, [
44286
+ return openBlock(), createElementBlock("div", _hoisted_1$f, [
44287
+ createElementVNode("div", _hoisted_2$e, [
44030
44288
  (openBlock(true), createElementBlock(Fragment, null, renderList(cameraList.value, (item) => {
44031
44289
  return openBlock(), createElementBlock("div", {
44032
44290
  key: item.id,
44033
44291
  class: "camera-card"
44034
44292
  }, [
44035
- createElementVNode("div", _hoisted_3$f, [
44036
- createElementVNode("div", _hoisted_4$d, [
44293
+ createElementVNode("div", _hoisted_3$e, [
44294
+ createElementVNode("div", _hoisted_4$c, [
44037
44295
  _cache[0] || (_cache[0] = createElementVNode("i", { class: "camera-icon" }, null, -1)),
44038
44296
  createTextVNode(" " + toDisplayString(item.displayName), 1)
44039
44297
  ])
44040
44298
  ]),
44041
- createElementVNode("div", _hoisted_5$b, [
44299
+ createElementVNode("div", _hoisted_5$a, [
44042
44300
  item.webStream ? (openBlock(), createElementBlock("iframe", {
44043
44301
  key: 0,
44044
44302
  src: item.webStream,
@@ -44046,9 +44304,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
44046
44304
  height: "150",
44047
44305
  frameborder: "0",
44048
44306
  allowfullscreen: ""
44049
- }, null, 8, _hoisted_6$a)) : (openBlock(), createElementBlock("div", _hoisted_7$9, "暂无视频流"))
44307
+ }, null, 8, _hoisted_6$9)) : (openBlock(), createElementBlock("div", _hoisted_7$8, "暂无视频流"))
44050
44308
  ]),
44051
- createElementVNode("div", _hoisted_8$8, [
44309
+ createElementVNode("div", _hoisted_8$7, [
44052
44310
  item.type !== "uav" ? (openBlock(), createBlock(_component_el_button, {
44053
44311
  key: 0,
44054
44312
  disabled: !item.webStream || isInMeeting(item) || isJoining(item),
@@ -44072,12 +44330,12 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
44072
44330
  };
44073
44331
  }
44074
44332
  });
44075
- const Monitor = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-0bb7bade"]]);
44076
- const _hoisted_1$f = { class: "js-dialog-sidebar-tabs" };
44077
- const _hoisted_2$e = ["onClick"];
44078
- const _hoisted_3$e = { class: "tab-content-wrapper" };
44079
- const _hoisted_4$c = { class: "js-dialog-sidebar-content" };
44080
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
44333
+ const Monitor = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-0bb7bade"]]);
44334
+ const _hoisted_1$e = { class: "js-dialog-sidebar-tabs" };
44335
+ const _hoisted_2$d = ["onClick"];
44336
+ const _hoisted_3$d = { class: "tab-content-wrapper" };
44337
+ const _hoisted_4$b = { class: "js-dialog-sidebar-content" };
44338
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
44081
44339
  __name: "meeting-sidebar",
44082
44340
  props: {
44083
44341
  openTabs: {},
@@ -44101,14 +44359,14 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
44101
44359
  return openBlock(), createElementBlock("div", {
44102
44360
  class: normalizeClass(["js-dialog-sidebar", themeClass.value])
44103
44361
  }, [
44104
- createElementVNode("div", _hoisted_1$f, [
44362
+ createElementVNode("div", _hoisted_1$e, [
44105
44363
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.activeTabs, (tab) => {
44106
44364
  return openBlock(), createElementBlock("div", {
44107
44365
  key: tab.id,
44108
44366
  class: normalizeClass(["tab-item", { active: _ctx.currentTab === tab.id }]),
44109
44367
  onClick: ($event) => _ctx.$emit("tab-change", tab.id)
44110
44368
  }, [
44111
- createElementVNode("div", _hoisted_3$e, [
44369
+ createElementVNode("div", _hoisted_3$d, [
44112
44370
  createVNode(SvgIcon, {
44113
44371
  name: getTabIconName(tab.id),
44114
44372
  size: 14,
@@ -44121,10 +44379,10 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
44121
44379
  size: 14,
44122
44380
  onClick: withModifiers(($event) => _ctx.$emit("tab-close", tab.id), ["stop"])
44123
44381
  }, null, 8, ["onClick"])
44124
- ], 10, _hoisted_2$e);
44382
+ ], 10, _hoisted_2$d);
44125
44383
  }), 128))
44126
44384
  ]),
44127
- createElementVNode("div", _hoisted_4$c, [
44385
+ createElementVNode("div", _hoisted_4$b, [
44128
44386
  _ctx.currentTab === "members" ? (openBlock(), createBlock(ManageMembers, {
44129
44387
  key: 0,
44130
44388
  theme: _ctx.theme
@@ -44142,8 +44400,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
44142
44400
  };
44143
44401
  }
44144
44402
  });
44145
- const MeetingSidebar = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-1b3ced89"]]);
44146
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
44403
+ const MeetingSidebar = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-1b3ced89"]]);
44404
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
44147
44405
  __name: "ScreenSharingIndicator",
44148
44406
  props: {
44149
44407
  visible: { type: Boolean, default: false },
@@ -44182,136 +44440,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
44182
44440
  };
44183
44441
  }
44184
44442
  });
44185
- const ScreenSharingIndicator = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-c5d77535"]]);
44186
- const _hoisted_1$e = { class: "js-video-container" };
44187
- const _hoisted_2$d = {
44188
- id: "my-video",
44189
- class: "video-element"
44190
- };
44191
- const _hoisted_3$d = { class: "avatar-container" };
44192
- const _hoisted_4$b = { class: "avatar small" };
44193
- const _hoisted_5$a = { class: "js-minimized-actions" };
44194
- const _hoisted_6$9 = ["title"];
44195
- const _hoisted_7$8 = ["title"];
44196
- const _hoisted_8$7 = ["title"];
44197
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
44198
- __name: "MinimizedMeeting",
44199
- props: {
44200
- visible: { type: Boolean, default: false },
44201
- theme: { default: "dark" }
44202
- },
44203
- emits: ["restore", "onChange"],
44204
- setup(__props, { emit: __emit }) {
44205
- const props = __props;
44206
- const { meState: meState2 } = storeToRefs(useMeetingStore());
44207
- const emit = __emit;
44208
- const isCollapsed = ref(false);
44209
- const themeClass = computed(() => `theme-${props.theme}`);
44210
- const componentHeight = computed(() => {
44211
- return isCollapsed.value ? "38px" : "148px";
44212
- });
44213
- const toggleMic = () => {
44214
- emit("onChange", RoomModalSelectType.microphoneClick);
44215
- };
44216
- const toggleCamera = () => {
44217
- emit("onChange", RoomModalSelectType.cameraClick);
44218
- };
44219
- const handleToggleCollapse = async () => {
44220
- isCollapsed.value = !isCollapsed.value;
44221
- if (!isCollapsed.value && props.visible) {
44222
- await nextTick();
44223
- mountTracks();
44224
- setTimeout(() => mountTracks(), 200);
44225
- }
44226
- };
44227
- const handleRestore = () => {
44228
- emit("restore");
44229
- };
44230
- watch(
44231
- () => props.visible,
44232
- async (visible) => {
44233
- await nextTick();
44234
- mountTracks();
44235
- if (visible && !isCollapsed.value) {
44236
- setTimeout(() => mountTracks(), 200);
44237
- setTimeout(() => mountTracks(), 800);
44238
- } else if (!visible) {
44239
- setTimeout(() => mountTracks(), 200);
44240
- }
44241
- },
44242
- { immediate: true }
44243
- );
44244
- return (_ctx, _cache) => {
44245
- var _a25, _b25, _c2, _d, _e, _f2;
44246
- const _directive_draggable = resolveDirective("draggable");
44247
- return openBlock(), createBlock(Teleport, { to: "body" }, [
44248
- _ctx.visible ? withDirectives((openBlock(), createElementBlock("div", {
44249
- key: 0,
44250
- class: normalizeClass(["js-minimized-meeting", themeClass.value]),
44251
- style: normalizeStyle({ height: componentHeight.value })
44252
- }, [
44253
- withDirectives(createElementVNode("div", _hoisted_1$e, [
44254
- withDirectives(createElementVNode("div", _hoisted_2$d, null, 512), [
44255
- [vShow, ((_a25 = unref(meState2)) == null ? void 0 : _a25.cameraState) == "1"]
44256
- ]),
44257
- withDirectives(createElementVNode("div", _hoisted_3$d, [
44258
- createElementVNode("div", _hoisted_4$b, toDisplayString((unref(meInfo).name || "").charAt(0)), 1)
44259
- ], 512), [
44260
- [vShow, ((_b25 = unref(meState2)) == null ? void 0 : _b25.cameraState) == "0"]
44261
- ])
44262
- ], 512), [
44263
- [vShow, !isCollapsed.value]
44264
- ]),
44265
- createElementVNode("div", _hoisted_5$a, [
44266
- createElementVNode("div", {
44267
- class: "js-action-btn",
44268
- title: ((_c2 = unref(meState2)) == null ? void 0 : _c2.microPhoneState) == "1" ? "静音" : "取消静音",
44269
- onClick: withModifiers(toggleMic, ["stop"])
44270
- }, [
44271
- createVNode(SvgIcon, {
44272
- name: ((_d = unref(meState2)) == null ? void 0 : _d.microPhoneState) == "1" ? "MicrophoneIcon" : "MicrophoneSlashIcon",
44273
- size: 16
44274
- }, null, 8, ["name"])
44275
- ], 8, _hoisted_6$9),
44276
- createElementVNode("div", {
44277
- class: "js-action-btn",
44278
- title: ((_e = unref(meState2)) == null ? void 0 : _e.cameraState) == "1" ? "关闭摄像头" : "打开摄像头",
44279
- onClick: withModifiers(toggleCamera, ["stop"])
44280
- }, [
44281
- createVNode(SvgIcon, {
44282
- name: ((_f2 = unref(meState2)) == null ? void 0 : _f2.cameraState) == "1" ? "CameraIcon" : "CameraSlashIcon",
44283
- size: 16
44284
- }, null, 8, ["name"])
44285
- ], 8, _hoisted_7$8),
44286
- createElementVNode("div", {
44287
- class: "js-action-btn",
44288
- title: "返回会议",
44289
- onClick: withModifiers(handleRestore, ["stop"])
44290
- }, [
44291
- createVNode(SvgIcon, {
44292
- name: "ExpandIcon",
44293
- size: 16
44294
- })
44295
- ]),
44296
- createElementVNode("div", {
44297
- class: "js-action-btn",
44298
- title: isCollapsed.value ? "展开画面小窗" : "收起画面小窗",
44299
- onClick: withModifiers(handleToggleCollapse, ["stop"])
44300
- }, [
44301
- createVNode(SvgIcon, {
44302
- name: isCollapsed.value ? "DownArrowIcon" : "UpArrowIcon",
44303
- size: 16
44304
- }, null, 8, ["name"])
44305
- ], 8, _hoisted_8$7)
44306
- ])
44307
- ], 6)), [
44308
- [_directive_draggable]
44309
- ]) : createCommentVNode("", true)
44310
- ]);
44311
- };
44312
- }
44313
- });
44314
- const MinimizedMeeting = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-2f74037e"]]);
44443
+ const ScreenSharingIndicator = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-c5d77535"]]);
44315
44444
  const _hoisted_1$d = {
44316
44445
  key: 0,
44317
44446
  class: "toggle"
@@ -44907,7 +45036,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
44907
45036
  };
44908
45037
  }
44909
45038
  });
44910
- const Invite = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-b2cd501c"]]);
45039
+ const Invite = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-deceb72d"]]);
44911
45040
  const _hoisted_1$a = { class: "js-meeting-invite-modal" };
44912
45041
  const _hoisted_2$a = { class: "js-meeting-invite-modal-header" };
44913
45042
  const _hoisted_3$a = { class: "js-meeting-invite-modal-title" };
@@ -45437,7 +45566,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
45437
45566
  };
45438
45567
  }
45439
45568
  });
45440
- const JSMeeting = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-2efb7c64"]]);
45569
+ const JSMeeting = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-8d418a2e"]]);
45441
45570
  const _hoisted_1$8 = { class: "modal" };
45442
45571
  const _hoisted_2$8 = { class: "modal-header" };
45443
45572
  const _hoisted_3$8 = { class: "tab-header" };
@@ -46003,7 +46132,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
46003
46132
  };
46004
46133
  }
46005
46134
  });
46006
- const JSCallList = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-60c3c6ab"]]);
46135
+ const JSCallList = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-42b67d6c"]]);
46007
46136
  const _hoisted_1$7 = { class: "dialog" };
46008
46137
  const _hoisted_2$7 = { class: "modal-header" };
46009
46138
  const _hoisted_3$7 = { class: "content" };
@@ -46180,7 +46309,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
46180
46309
  };
46181
46310
  }
46182
46311
  });
46183
- const JSSOSSetting = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-afadbc80"]]);
46312
+ const JSSOSSetting = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-e743e4f6"]]);
46184
46313
  const _hoisted_1$6 = { class: "dialog" };
46185
46314
  const _hoisted_2$6 = { class: "modal-header" };
46186
46315
  const _hoisted_3$6 = { class: "content" };
@@ -46407,7 +46536,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
46407
46536
  };
46408
46537
  }
46409
46538
  });
46410
- const JSUnattendedSetting = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-1a8b386c"]]);
46539
+ const JSUnattendedSetting = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-990b1312"]]);
46411
46540
  const _hoisted_1$5 = { class: "notification-container" };
46412
46541
  const _hoisted_2$5 = ["onClick"];
46413
46542
  const _hoisted_3$5 = { class: "notification-content" };
@@ -47368,7 +47497,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
47368
47497
  };
47369
47498
  }
47370
47499
  });
47371
- const JSSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-27234687"]]);
47500
+ const JSSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b420aee0"]]);
47372
47501
  function scheduleJoinRoom() {
47373
47502
  setTimeout(() => {
47374
47503
  try {