@webitel/ui-sdk 25.12.40 → 25.12.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/{install-DGNb9nVr.js → install-B4Nk3OEz.js} +63 -58
  2. package/dist/{plyr-ByorDhcr.js → plyr-KaDfMO3z.js} +1 -1
  3. package/dist/ui-sdk.css +1 -1
  4. package/dist/ui-sdk.js +1 -1
  5. package/dist/ui-sdk.umd.cjs +541 -541
  6. package/dist/{vidstack-Bq6c3Bam-D5KBuWRZ.js → vidstack-Bq6c3Bam-wTVq5dCD.js} +2 -2
  7. package/dist/{vidstack-D2pY00kU-Ws1Jvjkb.js → vidstack-D2pY00kU-BDY1tl0N.js} +2 -2
  8. package/dist/{vidstack-DDXt6fpN-CMGNnPQV.js → vidstack-DDXt6fpN-DFzqLOOW.js} +1 -1
  9. package/dist/{vidstack-D_-9AA6_-DLAWXBQ4.js → vidstack-D_-9AA6_-Doy3hgnN.js} +1 -1
  10. package/dist/{vidstack-DqAw8m9J-BPmv6sOh.js → vidstack-DqAw8m9J-CF8Kjm2j.js} +1 -1
  11. package/dist/{vidstack-audio-BIY4ys0T.js → vidstack-audio-CP2NCp0l.js} +2 -2
  12. package/dist/{vidstack-dash-HCChLXEY.js → vidstack-dash-D2mGrqE7.js} +3 -3
  13. package/dist/{vidstack-google-cast-Be_1pOC-.js → vidstack-google-cast-Buijkdak.js} +3 -3
  14. package/dist/{vidstack-hls-BbnSLJID.js → vidstack-hls-CmjSG0jl.js} +3 -3
  15. package/dist/{vidstack-video-Dxw2U6Fe.js → vidstack-video-1yX47WpZ.js} +2 -2
  16. package/dist/{vidstack-vimeo-G_rdpj4P.js → vidstack-vimeo-CHLHywMZ.js} +3 -3
  17. package/dist/{vidstack-youtube-Csh5czsD.js → vidstack-youtube-DT3G83C6.js} +2 -2
  18. package/dist/{vuex.esm-bundler-VVqVSpHV.js → vuex.esm-bundler-GW6Qg-nV.js} +1 -1
  19. package/package.json +2 -2
  20. package/src/components/wt-vidstack-player/components/layouts/video-layout.vue +4 -3
  21. package/src/components/wt-vidstack-player/components/panels/media-controls-panel/media-controls-panel.vue +4 -0
  22. package/src/components/wt-vidstack-player/components/panels/video-display-panel/video-display-panel.vue +4 -1
  23. package/src/components/wt-vidstack-player/wt-vidstack-player.vue +27 -7
  24. package/src/modules/CallSession/modules/VideoCall/video-call.vue +73 -68
  25. package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +2 -1
  26. package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +2 -1
  27. package/types/modules/CallSession/modules/VideoCall/video-call.vue.d.ts +19 -1
@@ -5,8 +5,8 @@ var ot = (n) => {
5
5
  var Xt = (n, t, s) => t in n ? Qt(n, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : n[t] = s;
6
6
  var N = (n, t, s) => Xt(n, typeof t != "symbol" ? t + "" : t, s), X = (n, t, s) => t.has(n) || ot("Cannot " + s);
7
7
  var i = (n, t, s) => (X(n, t, "read from private field"), s ? s.call(n) : t.get(n)), d = (n, t, s) => t.has(n) ? ot("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, s), c = (n, t, s, r) => (X(n, t, "write to private field"), r ? r.call(n, s) : t.set(n, s), s), a = (n, t, s) => (X(n, t, "access private method"), s);
8
- import { A as Yt, z as ut, B as j, C as Zt, b as ti, E as nt, e as lt, F as _, G as ii, H as ei, f as si, J as ai, l as rt, K as dt, D as ni, L as Y, M as Z } from "./install-DGNb9nVr.js";
9
- import { R as ri } from "./vidstack-DqAw8m9J-BPmv6sOh.js";
8
+ import { A as Yt, z as ut, B as j, C as Zt, b as ti, E as nt, e as lt, F as _, G as ii, H as ei, f as si, J as ai, l as rt, K as dt, D as ni, L as Y, M as Z } from "./install-B4Nk3OEz.js";
9
+ import { R as ri } from "./vidstack-DqAw8m9J-CF8Kjm2j.js";
10
10
  let q = null, K = [], z = [];
11
11
  function ht() {
12
12
  return q ?? (q = new AudioContext());
@@ -5,7 +5,7 @@ var w = (t) => {
5
5
  var P = (t, e, a) => e in t ? _(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a;
6
6
  var u = (t, e, a) => P(t, typeof e != "symbol" ? e + "" : e, a), C = (t, e, a) => e.has(t) || w("Cannot " + a);
7
7
  var c = (t, e, a) => (C(t, e, "read from private field"), a ? a.call(t) : e.get(t)), m = (t, e, a) => e.has(t) ? w("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, a), y = (t, e, a, o) => (C(t, e, "write to private field"), o ? o.call(t, a) : e.set(t, a), a), s = (t, e, a) => (C(t, e, "access private method"), a);
8
- import { l as b, k as A, V as O, G as D, f as R, o as G } from "./install-DGNb9nVr.js";
8
+ import { l as b, k as A, V as O, G as D, f as R, o as G } from "./install-B4Nk3OEz.js";
9
9
  function M() {
10
10
  return "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";
11
11
  }
@@ -94,7 +94,7 @@ class F {
94
94
  async load(e) {
95
95
  if (!c(this, n))
96
96
  throw Error("[vidstack] google cast player was not initialized");
97
- return new (await import("./vidstack-google-cast-Be_1pOC-.js")).GoogleCastProvider(c(this, n), e);
97
+ return new (await import("./vidstack-google-cast-Buijkdak.js")).GoogleCastProvider(c(this, n), e);
98
98
  }
99
99
  }
100
100
  n = new WeakMap(), r = new WeakSet(), S = async function(e) {
@@ -5,7 +5,7 @@ var g = (s) => {
5
5
  var M = (s, t, i) => t in s ? y(s, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : s[t] = i;
6
6
  var c = (s, t, i) => M(s, typeof t != "symbol" ? t + "" : t, i), h = (s, t, i) => t.has(s) || g("Cannot " + i);
7
7
  var e = (s, t, i) => (h(s, t, "read from private field"), i ? i.call(s) : t.get(s)), l = (s, t, i) => t.has(s) ? g("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(s) : t.set(s, i), p = (s, t, i, a) => (h(s, t, "write to private field"), a ? a.call(s, i) : t.set(s, i), i), u = (s, t, i) => (h(s, t, "access private method"), i);
8
- import { M as w, l as f, e as A, f as P, U as O, b as S } from "./install-DGNb9nVr.js";
8
+ import { M as w, l as f, e as A, f as P, U as O, b as S } from "./install-B4Nk3OEz.js";
9
9
  var r, o, b, m;
10
10
  class J {
11
11
  constructor(t) {
@@ -1,4 +1,4 @@
1
- import { c as d, a as i, I as l, e as m } from "./install-DGNb9nVr.js";
1
+ import { c as d, a as i, I as l, e as m } from "./install-B4Nk3OEz.js";
2
2
  const p = /* @__PURE__ */ i(
3
3
  '<svg viewBox="0 0 32 32" fill="none" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"></svg>'
4
4
  );
@@ -3,7 +3,7 @@ var l = (i) => {
3
3
  };
4
4
  var m = (i, t, s) => t.has(i) || l("Cannot " + s);
5
5
  var r = (i, t, s) => (m(i, t, "read from private field"), s ? s.call(i) : t.get(i)), e = (i, t, s) => t.has(i) ? l("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(i) : t.set(i, s), h = (i, t, s, f) => (m(i, t, "write to private field"), f ? f.call(i, s) : t.set(i, s), s), c = (i, t, s) => (m(i, t, "access private method"), s);
6
- import { m as p, v as u } from "./install-DGNb9nVr.js";
6
+ import { m as p, v as u } from "./install-B4Nk3OEz.js";
7
7
  var o, a, n, d;
8
8
  class F {
9
9
  constructor(t) {
@@ -1,8 +1,8 @@
1
1
  var a = Object.defineProperty;
2
2
  var o = (i, e, t) => e in i ? a(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
3
3
  var r = (i, e, t) => o(i, typeof e != "symbol" ? e + "" : e, t);
4
- import { s as p } from "./install-DGNb9nVr.js";
5
- import { H as d, a as u } from "./vidstack-Bq6c3Bam-D5KBuWRZ.js";
4
+ import { s as p } from "./install-B4Nk3OEz.js";
5
+ import { H as d, a as u } from "./vidstack-Bq6c3Bam-wTVq5dCD.js";
6
6
  class n extends d {
7
7
  constructor(t, s) {
8
8
  super(t, s);
@@ -5,9 +5,9 @@ var Y = (n) => {
5
5
  var wt = (n, t, e) => t in n ? vt(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
6
6
  var I = (n, t, e) => wt(n, typeof t != "symbol" ? t + "" : t, e), b = (n, t, e) => t.has(n) || Y("Cannot " + e);
7
7
  var i = (n, t, e) => (b(n, t, "read from private field"), e ? e.call(n) : t.get(n)), f = (n, t, e) => t.has(n) ? Y("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, e), p = (n, t, e, r) => (b(n, t, "write to private field"), r ? r.call(n, e) : t.set(n, e), e), h = (n, t, e) => (b(n, t, "access private method"), e);
8
- import { r as Et, b as _, d as Lt, f as At, Q as z, l as J, e as Dt, D as N, h as xt, j as O, T as Mt, L as q, t as Ct, u as Nt, v as Rt, k as Ft, m as Z, n as Pt, o as qt, q as _t } from "./install-DGNb9nVr.js";
9
- import { VideoProvider as $t } from "./vidstack-video-Dxw2U6Fe.js";
10
- import { R as jt } from "./vidstack-DqAw8m9J-BPmv6sOh.js";
8
+ import { r as Et, b as _, d as Lt, f as At, Q as z, l as J, e as Dt, D as N, h as xt, j as O, T as Mt, L as q, t as Ct, u as Nt, v as Rt, k as Ft, m as Z, n as Pt, o as qt, q as _t } from "./install-B4Nk3OEz.js";
9
+ import { VideoProvider as $t } from "./vidstack-video-1yX47WpZ.js";
10
+ import { R as jt } from "./vidstack-DqAw8m9J-CF8Kjm2j.js";
11
11
  function W(n) {
12
12
  try {
13
13
  return new Intl.DisplayNames(navigator.languages, { type: "language" }).of(n) ?? null;
@@ -5,9 +5,9 @@ var Q = (d) => {
5
5
  var vt = (d, t, s) => t in d ? Lt(d, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : d[t] = s;
6
6
  var G = (d, t, s) => vt(d, typeof t != "symbol" ? t + "" : t, s), O = (d, t, s) => t.has(d) || Q("Cannot " + s);
7
7
  var e = (d, t, s) => (O(d, t, "read from private field"), s ? s.call(d) : t.get(d)), T = (d, t, s) => t.has(d) ? Q("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(d) : t.set(d, s), l = (d, t, s, i) => (O(d, t, "write to private field"), i ? i.call(d, s) : t.set(d, s), s), r = (d, t, s) => (O(d, t, "access private method"), s);
8
- import { A as St, N as L, W as Z, z as At, D as tt, f as V, l as et, e as It, X as bt, L as Rt } from "./install-DGNb9nVr.js";
9
- import { R as wt } from "./vidstack-DqAw8m9J-BPmv6sOh.js";
10
- import { g as Mt, a as Dt, b as it, h as st, l as Nt, c as Pt } from "./vidstack-D2pY00kU-Ws1Jvjkb.js";
8
+ import { A as St, N as L, W as Z, z as At, D as tt, f as V, l as et, e as It, X as bt, L as Rt } from "./install-B4Nk3OEz.js";
9
+ import { R as wt } from "./vidstack-DqAw8m9J-CF8Kjm2j.js";
10
+ import { g as Mt, a as Dt, b as it, h as st, l as Nt, c as Pt } from "./vidstack-D2pY00kU-BDY1tl0N.js";
11
11
  var g, _, at;
12
12
  class _t {
13
13
  constructor(t) {
@@ -5,9 +5,9 @@ var q = (n) => {
5
5
  var ot = (n, t, i) => t in n ? rt(n, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : n[t] = i;
6
6
  var _ = (n, t, i) => ot(n, typeof t != "symbol" ? t + "" : t, i), R = (n, t, i) => t.has(n) || q("Cannot " + i);
7
7
  var e = (n, t, i) => (R(n, t, "read from private field"), i ? i.call(n) : t.get(n)), f = (n, t, i) => t.has(n) ? q("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, i), p = (n, t, i, s) => (R(n, t, "write to private field"), s ? s.call(n, i) : t.set(n, i), i), a = (n, t, i) => (R(n, t, "access private method"), i);
8
- import { i as ht, b as C, d as at, f as O, Q as N, l as V, e as dt, D as x, h as ut, T as ct, j, L as $, k as lt, m as k, n as ft, o as pt, q as vt } from "./install-DGNb9nVr.js";
9
- import { VideoProvider as yt } from "./vidstack-video-Dxw2U6Fe.js";
10
- import { R as gt } from "./vidstack-DqAw8m9J-BPmv6sOh.js";
8
+ import { i as ht, b as C, d as at, f as O, Q as N, l as V, e as dt, D as x, h as ut, T as ct, j, L as $, k as lt, m as k, n as ft, o as pt, q as vt } from "./install-B4Nk3OEz.js";
9
+ import { VideoProvider as yt } from "./vidstack-video-1yX47WpZ.js";
10
+ import { R as gt } from "./vidstack-DqAw8m9J-CF8Kjm2j.js";
11
11
  const Lt = (n) => ut(n);
12
12
  var T, h, o, D, b, r, E, M, U, F, Q, K, W, B, J, X, Y, z, G, Z, tt;
13
13
  class St {
@@ -5,8 +5,8 @@ var b = (i) => {
5
5
  var N = (i, t, e) => t in i ? $(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
6
6
  var y = (i, t, e) => N(i, typeof t != "symbol" ? t + "" : t, e), E = (i, t, e) => t.has(i) || b("Cannot " + e);
7
7
  var s = (i, t, e) => (E(i, t, "read from private field"), e ? e.call(i) : t.get(i)), r = (i, t, e) => t.has(i) ? b("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(i) : t.set(i, e), c = (i, t, e, n) => (E(i, t, "write to private field"), n ? n.call(i, e) : t.set(i, e), e), p = (i, t, e) => (E(i, t, "access private method"), e);
8
- import { s as U, w as V, x as A, y as j, z as C, l as q, D as z, E as F, T as Y, j as v } from "./install-DGNb9nVr.js";
9
- import { H as _, a as B } from "./vidstack-Bq6c3Bam-D5KBuWRZ.js";
8
+ import { s as U, w as V, x as A, y as j, z as C, l as q, D as z, E as F, T as Y, j as v } from "./install-B4Nk3OEz.js";
9
+ import { H as _, a as B } from "./vidstack-Bq6c3Bam-wTVq5dCD.js";
10
10
  var P, f, k, D, H;
11
11
  class G {
12
12
  constructor(t, e) {
@@ -5,9 +5,9 @@ var N = (r) => {
5
5
  var de = (r, c, e) => c in r ? ue(r, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[c] = e;
6
6
  var b = (r, c, e) => de(r, typeof c != "symbol" ? c + "" : c, e), S = (r, c, e) => c.has(r) || N("Cannot " + e);
7
7
  var t = (r, c, e) => (S(r, c, "read from private field"), e ? e.call(r) : c.get(r)), f = (r, c, e) => c.has(r) ? N("Cannot add the same private member more than once") : c instanceof WeakSet ? c.add(r) : c.set(r, e), u = (r, c, e, i) => (S(r, c, "write to private field"), i ? i.call(r, e) : c.set(r, e), e), o = (r, c, e) => (S(r, c, "access private method"), e);
8
- import { A as fe, M as U, N as C, d as pe, e as q, f as Q, b as ye, O as _, L as R, l as be, P as ke, T as ve, Q as W } from "./install-DGNb9nVr.js";
9
- import { R as me } from "./vidstack-DqAw8m9J-BPmv6sOh.js";
10
- import { E as we } from "./vidstack-DDXt6fpN-CMGNnPQV.js";
8
+ import { A as fe, M as U, N as C, d as pe, e as q, f as Q, b as ye, O as _, L as R, l as be, P as ke, T as ve, Q as W } from "./install-B4Nk3OEz.js";
9
+ import { R as me } from "./vidstack-DqAw8m9J-CF8Kjm2j.js";
10
+ import { E as we } from "./vidstack-DDXt6fpN-DFzqLOOW.js";
11
11
  import { resolveVimeoVideoId as Pe, getVimeoVideoInfo as Te } from "./vidstack-krOAtKMi-B4IZWKdc.js";
12
12
  const Ce = [
13
13
  "bufferend",
@@ -5,8 +5,8 @@ var B = (r) => {
5
5
  var q = (r, n, e) => n in r ? A(r, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[n] = e;
6
6
  var T = (r, n, e) => q(r, typeof n != "symbol" ? n + "" : n, e), M = (r, n, e) => n.has(r) || B("Cannot " + e);
7
7
  var s = (r, n, e) => (M(r, n, "read from private field"), e ? e.call(r) : n.get(r)), p = (r, n, e) => n.has(r) ? B("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(r) : n.set(r, e), l = (r, n, e, t) => (M(r, n, "write to private field"), t ? t.call(r, e) : n.set(r, e), e), o = (r, n, e) => (M(r, n, "access private method"), e);
8
- import { A as z, M as G, d as H, e as J, b as K, O as Q, N as C, R as W, v as $, S as X } from "./install-DGNb9nVr.js";
9
- import { E as Z } from "./vidstack-DDXt6fpN-CMGNnPQV.js";
8
+ import { A as z, M as G, d as H, e as J, b as K, O as Q, N as C, R as W, v as $, S as X } from "./install-B4Nk3OEz.js";
9
+ import { E as Z } from "./vidstack-DDXt6fpN-DFzqLOOW.js";
10
10
  import { resolveYouTubeVideoId as ee } from "./vidstack-Dm1xEU9Q-qSXq3AI-.js";
11
11
  const b = {
12
12
  Ended: 0,
@@ -1,4 +1,4 @@
1
- import { p as d } from "./install-DGNb9nVr.js";
1
+ import { p as d } from "./install-B4Nk3OEz.js";
2
2
  import { inject as lt, effectScope as dt, reactive as vt, watch as J, computed as pt } from "vue";
3
3
  function ht() {
4
4
  return W().__VUE_DEVTOOLS_GLOBAL_HOOK__;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "25.12.40",
3
+ "version": "25.12.41",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "make-all": "npm version patch --git-tag-version false && npm run build && (npm run build:types || true) && (npm run lint:fix || true) && npm run publish-lib",
@@ -56,7 +56,7 @@
56
56
  "@vuepic/vue-datepicker": "^4.5.1",
57
57
  "@vueuse/components": "^13.0.0",
58
58
  "@webitel/api-services": "^0.0.89",
59
- "@webitel/styleguide": "^24.12.87",
59
+ "@webitel/styleguide": "^24.12.89",
60
60
  "autosize": "^6.0.1",
61
61
  "axios": "^1.8.3",
62
62
  "clipboard-copy": "^4.0.1",
@@ -4,7 +4,7 @@
4
4
  :class="`video-layout--${size}`"
5
5
  >
6
6
  <video-display-panel
7
- :class="{'video-display-panel--hidden': props.hideDisplayPanel}"
7
+ :class="{'video-display-panel--hidden': props.hideHeader}"
8
8
  :title="props.title"
9
9
  :username="props.username"
10
10
  :closable="props.closable"
@@ -15,7 +15,7 @@
15
15
  <slot name="content" />
16
16
  </media-controls-group>
17
17
 
18
- <slot name="controls-panel">
18
+ <slot v-if="!props.hideControlsPanel" name="controls-panel">
19
19
  <media-controls-panel />
20
20
  </slot>
21
21
  </media-controls>
@@ -33,7 +33,8 @@ const props = defineProps<{
33
33
  title?: string;
34
34
  username?: string;
35
35
  closable?: boolean;
36
- hideDisplayPanel?: boolean
36
+ hideHeader?: boolean
37
+ hideControlsPanel?: boolean
37
38
  }>();
38
39
 
39
40
  const emit = defineEmits<{
@@ -17,4 +17,8 @@ import TimeGroup from "./components/time-group.vue";
17
17
  </script>
18
18
 
19
19
  <style scoped lang="scss">
20
+ .media-control-panel {
21
+ width: 100%;
22
+ max-width: 100%;
23
+ }
20
24
  </style>
@@ -45,7 +45,7 @@ import WtIconBtn from "../../../../wt-icon-btn/wt-icon-btn.vue";
45
45
  import FullscreenButton from "../../buttons/fullscreen-button.vue";
46
46
  import ToggleButton from "../../toggle-button.vue";
47
47
 
48
- const { size, changeSize } = inject('size');
48
+ const { size, fullscreen, changeSize } = inject('size');
49
49
 
50
50
  const props = defineProps<{
51
51
  title?: string;
@@ -69,10 +69,12 @@ const emit = defineEmits<{
69
69
  const handleFullscreen = (value: boolean) => {
70
70
  if (value) {
71
71
  if (size.value !== ComponentSize.LG) {
72
+ fullscreen.value = true
72
73
  changeSize(ComponentSize.LG)
73
74
  }
74
75
  } else if (size.value === ComponentSize.LG) {
75
76
  exitFullscreen()
77
+ fullscreen.value = false
76
78
  changeSize(ComponentSize.SM)
77
79
  }
78
80
  }
@@ -84,6 +86,7 @@ const handlePlayerSize = () => {
84
86
  changeSize(ComponentSize.SM)
85
87
  } else if (size.value === ComponentSize.LG) {
86
88
  exitFullscreen()
89
+ fullscreen.value = false
87
90
  changeSize(ComponentSize.MD)
88
91
  }
89
92
  }
@@ -2,7 +2,8 @@
2
2
  <div
3
3
  class="wt-vidstack-player"
4
4
  :class="[
5
- props.resizable && `wt-vidstack-player--${size}`,
5
+ `wt-vidstack-player--${size}`,
6
+ fullscreen && `wt-vidstack-player--fullscreen`,
6
7
  props.static && 'wt-vidstack-player--static',
7
8
  props.hideBackground && 'wt-vidstack-player--hide-background'
8
9
  ]"
@@ -23,15 +24,15 @@
23
24
  ></media-provider>
24
25
 
25
26
  <video-layout
26
- v-if="props.resizable"
27
- :hide-display-panel="props.hideDisplayPanel"
27
+ :hide-header="props.hideHeader"
28
+ :hide-controls-panel="props.hideControlsPanel"
28
29
  :closable="props.closable"
29
30
  :autoplay="props.autoplay"
30
31
  :title="props.title"
31
32
  :username="props.username"
32
33
  @close-player="emit('close')"
33
34
  >
34
- <template #controls-panel>
35
+ <template #controls-panel>
35
36
  <slot name="controls-panel" :size="size" />
36
37
  </template>
37
38
 
@@ -66,7 +67,8 @@ interface Props {
66
67
  static?: boolean;
67
68
  stream?: MediaStream
68
69
  size?: ComponentSize
69
- hideDisplayPanel?: boolean
70
+ hideHeader?: boolean
71
+ hideControlsPanel?: boolean
70
72
  hideBackground?: boolean
71
73
  }
72
74
 
@@ -88,6 +90,7 @@ const emit = defineEmits<{
88
90
 
89
91
  const player = useTemplateRef<MediaPlayerElement>('player');
90
92
  const size = ref(props.size || ComponentSize.SM);
93
+ const fullscreen = ref(false)
91
94
 
92
95
  const changeSize = (value) => {
93
96
  size.value = value;
@@ -95,9 +98,8 @@ const changeSize = (value) => {
95
98
 
96
99
  /** @author liza-pohranichna
97
100
  * options: [sm, md, lg]
98
- * lg-size is fullscreen
99
101
  */
100
- provide('size', {size, changeSize});
102
+ provide('size', {size, fullscreen, changeSize});
101
103
 
102
104
  const normalizedType = computed(() => { // https://vidstack.io/docs/wc/player/core-concepts/loading/?styling=css#source-types
103
105
  if (props.mime) return props.mime;
@@ -134,6 +136,8 @@ const normalizedSrc = computed(() => {
134
136
  .wt-vidstack-player {
135
137
  width: 100%;
136
138
  height: 100%;
139
+ max-width: 100%;
140
+ max-height: 100%;
137
141
  transition: var(--transition);
138
142
 
139
143
  &__player {
@@ -161,8 +165,17 @@ const normalizedSrc = computed(() => {
161
165
  }
162
166
 
163
167
  &--md {
168
+ border-radius: var(--p-player-wrapper-md-border-radius);
169
+ overflow: hidden;
170
+ max-width: var(--p-player-wrapper-md-width);
171
+ max-height: var(--p-player-wrapper-md-height);
172
+ flex: 0 0 auto;
173
+
164
174
  &:not(.wt-vidstack-player--static) {
165
175
  @include popup-wrapper;
176
+ border-radius: 0;
177
+ max-width: 100%;
178
+ max-height: 100%;
166
179
 
167
180
  /** @author liza-pohranichna
168
181
  * need to use wt-popup styles for md size https://webitel.atlassian.net/browse/WTEL-7723 */
@@ -188,6 +201,9 @@ const normalizedSrc = computed(() => {
188
201
  }
189
202
 
190
203
  &--lg {
204
+ border-radius: var(--p-player-wrapper-lg-border-radius);
205
+ overflow: hidden;
206
+
191
207
  .wt-vidstack-player {
192
208
  &__player {
193
209
  display: flex;
@@ -201,6 +217,10 @@ const normalizedSrc = computed(() => {
201
217
  }
202
218
  }
203
219
 
220
+ &--fullscreen {
221
+ border-radius: 0;
222
+ }
223
+
204
224
  &--static {
205
225
  position: relative;
206
226
  right: unset;
@@ -3,8 +3,10 @@
3
3
  :stream="mainStream"
4
4
  :static="props.static"
5
5
  :size="props.size"
6
- :class="`video-call-position--${props.position}`"
6
+ :class="[!props.static && `video-call-position--${props.position}`]"
7
7
  :username="props.username"
8
+ :resizable="props.resizable"
9
+ :hide-header="props.hideHeader"
8
10
  class="video-call"
9
11
  hide-background
10
12
  autoplay
@@ -12,59 +14,55 @@
12
14
  @change-size="(payload) => emit('change-size', payload)"
13
15
  >
14
16
  <template #content="{ size: innerSize }">
17
+ <slot name="content" :size="innerSize" />
18
+
19
+ <slot name="overlay" :size="innerSize">
20
+ <div class="video-call-overlay"></div>
21
+ </slot>
22
+
15
23
  <div
16
- :class="`video-call-content--${innerSize}`"
17
- class="video-call-content"
24
+ :class="`video-call-content-wrapper--${innerSize}`"
25
+ class="video-call-content-wrapper"
18
26
  >
19
- <template v-if="props['receiver:stream'] && !props['sender:video:enabled']">
27
+ <screenshot-box
28
+ :src="props['screenshot:src']"
29
+ :size="innerSize"
30
+ @zoom="emit(`action:${VideoCallAction.ZoomScreenshot}`)"
31
+ @close="emit(`action:${VideoCallAction.CloseScreenshot}`)"
32
+ />
33
+
34
+ <template v-if="props['receiver:stream'] && !props['receiver:video:enabled']">
20
35
  <div
21
- :class="`video-call-sender--${innerSize}`"
22
- class="video-call-sender video-call-sender--muted"
36
+ :class="`video-call-receiver--${innerSize}`"
37
+ class="video-call-receiver video-call-receiver--muted"
23
38
  >
24
- <wt-icon :size="receiverVideoMutedIconSizes[innerSize]" icon="video-cam-off--filled" />
39
+ <wt-icon :size="senderVideoMutedIconSizes[innerSize]" icon="video-cam-off--filled" />
25
40
  </div>
26
41
  </template>
27
42
 
28
- <div class="video-call-content-wrapper">
29
- <screenshot-box
30
- :src="props['screenshot:src']"
31
- :size="innerSize"
32
- @zoom="emit(`action:${VideoCallAction.ZoomScreenshot}`)"
33
- @close="emit(`action:${VideoCallAction.CloseScreenshot}`)"
43
+ <template v-else-if="props['receiver:stream']">
44
+ <wt-vidstack-player
45
+ :stream="props['receiver:stream']"
46
+ :resizable="false"
47
+ :class="`video-call-receiver--${innerSize}`"
48
+ hide-header
49
+ hide-controls-panel
50
+ static
51
+ autoplay
52
+ muted
53
+ class="video-call-receiver"
34
54
  />
55
+ </template>
56
+ </div>
35
57
 
36
- <template v-if="props['receiver:stream'] && !props['receiver:video:enabled']">
37
- <div
38
- :class="`video-call-receiver--${innerSize}`"
39
- class="video-call-receiver video-call-receiver--muted"
40
- >
41
- <wt-icon :size="senderVideoMutedIconSizes[innerSize]" icon="video-cam-off--filled" />
42
- </div>
43
- </template>
44
-
45
- <template v-else-if="props['receiver:stream']">
46
- <wt-vidstack-player
47
- :stream="props['receiver:stream']"
48
- :resizable="false"
49
- :class="`video-call-receiver--${innerSize}`"
50
- hide-display-panel
51
- static
52
- autoplay
53
- muted
54
- class="video-call-receiver"
55
- />
56
- </template>
57
- </div>
58
-
59
- <div
60
- :class="`video-call__indicator--${innerSize}`"
61
- class="video-call__indicator"
62
- >
63
- <recording-indicator
64
- v-if="props.recordings"
65
- :recording="props.recordings"
66
- />
67
- </div>
58
+ <div
59
+ :class="`video-call__indicator--${innerSize}`"
60
+ class="video-call__indicator"
61
+ >
62
+ <recording-indicator
63
+ v-if="props.recordings"
64
+ :recording="props.recordings"
65
+ />
68
66
  </div>
69
67
  </template>
70
68
 
@@ -127,6 +125,8 @@ const props = withDefaults(defineProps<{
127
125
  static?: boolean;
128
126
  position?: 'left-bottom' | 'right-bottom';
129
127
  size?: ComponentSize
128
+ hideHeader?: boolean
129
+ resizable?: boolean;
130
130
 
131
131
  actions: VideoCallAction[];
132
132
  username: string;
@@ -153,12 +153,6 @@ const mainStream = computed(() => {
153
153
  return props['receiver:stream'] || props['sender:stream'];
154
154
  })
155
155
 
156
- const receiverVideoMutedIconSizes = {
157
- [ComponentSize.SM]: ComponentSize.MD,
158
- [ComponentSize.MD]: ComponentSize.LG,
159
- [ComponentSize.LG]: ComponentSize.XXL,
160
- }
161
-
162
156
  const senderVideoMutedIconSizes = {
163
157
  [ComponentSize.SM]: ComponentSize.MD,
164
158
  [ComponentSize.MD]: ComponentSize['4XL'],
@@ -168,6 +162,8 @@ const senderVideoMutedIconSizes = {
168
162
 
169
163
  <style lang="scss" scoped>
170
164
  .video-call {
165
+ flex: 0 0 auto;
166
+
171
167
  &-position {
172
168
  &--left-bottom {
173
169
  &.wt-vidstack-player {
@@ -204,6 +200,17 @@ const senderVideoMutedIconSizes = {
204
200
  }
205
201
  }
206
202
 
203
+ &-overlay {
204
+ width: 100%;
205
+ height: 100%;
206
+ display: block;
207
+ position: absolute;
208
+ left: 0;
209
+ top: 0;
210
+ z-index: 0;
211
+ background: var(--p-player-wrapper-background);
212
+ }
213
+
207
214
  &-content {
208
215
  height: 100%;
209
216
  padding: var(--p-player-counter-position-padding-sm);
@@ -220,27 +227,24 @@ const senderVideoMutedIconSizes = {
220
227
  }
221
228
 
222
229
  &-wrapper {
230
+ position: absolute;
223
231
  display: flex;
224
232
  flex-direction: column;
225
233
  gap: var(--p-player-control-bar-sm-gap);
226
- }
227
- }
228
234
 
229
- &-sender {
230
- position: absolute;
231
- left: 0;
232
- top: 0;
233
- width: 100%;
234
- height: 100%;
235
- display: flex;
236
- align-items: center;
237
- justify-content: center;
238
- z-index: -1;
239
- background: var(--p-player-wrapper-background);
235
+ &--sm {
236
+ left: var(--p-player-counter-position-padding-sm);
237
+ bottom: calc(var(--p-player-counter-position-padding-sm) + var(--p-player-control-bar-sm-height));
238
+ }
240
239
 
241
- &--sm {
242
- &.video-call-sender--muted {
243
- padding-bottom: var(--p-player-control-bar-sm-height);
240
+ &--md {
241
+ left: var(--p-player-counter-position-padding-md);
242
+ bottom: var(--p-player-counter-position-padding-md);
243
+ }
244
+
245
+ &--lg {
246
+ left: var(--p-player-counter-position-padding-lg);
247
+ bottom: var(--p-player-counter-position-padding-lg);
244
248
  }
245
249
  }
246
250
  }
@@ -318,7 +322,8 @@ const senderVideoMutedIconSizes = {
318
322
  justify-content: flex-end;
319
323
 
320
324
  &--sm {
321
- position: relative;
325
+ right: var(--p-player-counter-position-padding-sm);
326
+ bottom: calc(var(--p-player-counter-position-padding-sm) + var(--p-player-control-bar-sm-height));
322
327
  }
323
328
 
324
329
  &--md {
@@ -2,7 +2,8 @@ type __VLS_Props = {
2
2
  title?: string;
3
3
  username?: string;
4
4
  closable?: boolean;
5
- hideDisplayPanel?: boolean;
5
+ hideHeader?: boolean;
6
+ hideControlsPanel?: boolean;
6
7
  };
7
8
  declare var __VLS_17: {}, __VLS_19: {};
8
9
  type __VLS_Slots = {} & {
@@ -16,7 +16,8 @@ interface Props {
16
16
  static?: boolean;
17
17
  stream?: MediaStream;
18
18
  size?: ComponentSize;
19
- hideDisplayPanel?: boolean;
19
+ hideHeader?: boolean;
20
+ hideControlsPanel?: boolean;
20
21
  hideBackground?: boolean;
21
22
  }
22
23
  declare var __VLS_24: {
@@ -17,10 +17,22 @@ type __VLS_Props = {
17
17
  static?: boolean;
18
18
  position?: 'left-bottom' | 'right-bottom';
19
19
  size?: ComponentSize;
20
+ hideHeader?: boolean;
21
+ resizable?: boolean;
20
22
  actions: VideoCallAction[];
21
23
  username: string;
22
24
  };
23
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
+ declare var __VLS_10: {
26
+ size: ComponentSize;
27
+ }, __VLS_12: {
28
+ size: ComponentSize;
29
+ };
30
+ type __VLS_Slots = {} & {
31
+ content?: (props: typeof __VLS_10) => any;
32
+ } & {
33
+ overlay?: (props: typeof __VLS_12) => any;
34
+ };
35
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
36
  [x: string]: any;
25
37
  } & {
26
38
  [x: string]: any;
@@ -29,4 +41,10 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
29
41
  }>, {
30
42
  position: "left-bottom" | "right-bottom";
31
43
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
32
45
  export default _default;
46
+ type __VLS_WithSlots<T, S> = T & {
47
+ new (): {
48
+ $slots: S;
49
+ };
50
+ };