@webitel/ui-sdk 25.12.33 → 25.12.35

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 (42) hide show
  1. package/dist/{install-BmP9eUzZ.js → install-DlQCMKTl.js} +4703 -4664
  2. package/dist/{plyr-x8ciL9Nb.js → plyr-CKYeUDM3.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 +207 -193
  6. package/dist/{vidstack-Bq6c3Bam-DBg3Tj69.js → vidstack-Bq6c3Bam-iWQBEcgI.js} +2 -2
  7. package/dist/{vidstack-D2pY00kU-BJ7fdiO2.js → vidstack-D2pY00kU-6PuglEEA.js} +2 -2
  8. package/dist/{vidstack-DDXt6fpN-D9bfpp_X.js → vidstack-DDXt6fpN-BORLJUEd.js} +1 -1
  9. package/dist/{vidstack-D_-9AA6_-BbZ9Pvtf.js → vidstack-D_-9AA6_-C3Wsl_-m.js} +1 -1
  10. package/dist/{vidstack-DqAw8m9J-DGmPnOS4.js → vidstack-DqAw8m9J-C7lApj0X.js} +1 -1
  11. package/dist/{vidstack-audio-D-4zjl15.js → vidstack-audio-BzixbjHS.js} +2 -2
  12. package/dist/{vidstack-dash-ysOZfmK3.js → vidstack-dash-CYyL228R.js} +3 -3
  13. package/dist/{vidstack-google-cast-D2phhWpC.js → vidstack-google-cast-CpbQ2PVy.js} +3 -3
  14. package/dist/{vidstack-hls-Ao3jAjGg.js → vidstack-hls-BoTBrNOg.js} +3 -3
  15. package/dist/{vidstack-video-eosNCj40.js → vidstack-video-0JgvBoOn.js} +2 -2
  16. package/dist/{vidstack-vimeo-DoP-LM3_.js → vidstack-vimeo-D7tabHY3.js} +3 -3
  17. package/dist/{vidstack-youtube-B4Un0dIU.js → vidstack-youtube-D0MbYDls.js} +2 -2
  18. package/dist/{vuex.esm-bundler-Cab7BktO.js → vuex.esm-bundler-V_bpQW77.js} +1 -1
  19. package/package.json +2 -2
  20. package/src/components/wt-icon/_variables.scss +5 -0
  21. package/src/components/wt-vidstack-player/components/index.ts +1 -0
  22. package/src/components/wt-vidstack-player/components/layouts/video-layout.vue +5 -14
  23. package/src/components/wt-vidstack-player/components/screenshot-box/screenshot-box.vue +77 -0
  24. package/src/components/wt-vidstack-player/wt-vidstack-player.vue +37 -20
  25. package/src/enums/ComponentSize/ComponentSize.ts +5 -0
  26. package/src/modules/CallSession/modules/VideoCall/enums/VideoCallAction.enum.ts +4 -1
  27. package/src/modules/CallSession/modules/VideoCall/video-call.vue +122 -46
  28. package/src/modules/FilesExport/FilesExport.js +8 -4
  29. package/src/modules/FilesExport/mixins/exportFilesMixin.js +3 -1
  30. package/src/plugins/primevue/theme/extend/player/player.js +14 -0
  31. package/types/components/transitions/cases/wt-replace-transition.vue.d.ts +2 -2
  32. package/types/components/transitions/wt-transition.vue.d.ts +2 -2
  33. package/types/components/wt-vidstack-player/components/index.d.ts +1 -0
  34. package/types/components/wt-vidstack-player/components/layouts/video-layout.vue.d.ts +3 -3
  35. package/types/components/wt-vidstack-player/components/screenshot-box/screenshot-box.vue.d.ts +13 -0
  36. package/types/components/wt-vidstack-player/wt-vidstack-player.vue.d.ts +8 -5
  37. package/types/enums/ComponentSize/ComponentSize.d.ts +5 -0
  38. package/types/modules/CallSession/modules/VideoCall/enums/VideoCallAction.enum.d.ts +2 -0
  39. package/types/modules/CallSession/modules/VideoCall/video-call.vue.d.ts +13 -18
  40. package/types/modules/FilesExport/FilesExport.d.ts +3 -1
  41. package/src/modules/FilesExport/scripts/generateMediaURL.js +0 -8
  42. package/types/modules/FilesExport/scripts/generateMediaURL.d.ts +0 -2
@@ -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-BmP9eUzZ.js";
9
- import { R as ri } from "./vidstack-DqAw8m9J-DGmPnOS4.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-DlQCMKTl.js";
9
+ import { R as ri } from "./vidstack-DqAw8m9J-C7lApj0X.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-BmP9eUzZ.js";
8
+ import { l as b, k as A, V as O, G as D, f as R, o as G } from "./install-DlQCMKTl.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-D2phhWpC.js")).GoogleCastProvider(c(this, n), e);
97
+ return new (await import("./vidstack-google-cast-CpbQ2PVy.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-BmP9eUzZ.js";
8
+ import { M as w, l as f, e as A, f as P, U as O, b as S } from "./install-DlQCMKTl.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-BmP9eUzZ.js";
1
+ import { c as d, a as i, I as l, e as m } from "./install-DlQCMKTl.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-BmP9eUzZ.js";
6
+ import { m as p, v as u } from "./install-DlQCMKTl.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-BmP9eUzZ.js";
5
- import { H as d, a as u } from "./vidstack-Bq6c3Bam-DBg3Tj69.js";
4
+ import { s as p } from "./install-DlQCMKTl.js";
5
+ import { H as d, a as u } from "./vidstack-Bq6c3Bam-iWQBEcgI.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-BmP9eUzZ.js";
9
- import { VideoProvider as $t } from "./vidstack-video-eosNCj40.js";
10
- import { R as jt } from "./vidstack-DqAw8m9J-DGmPnOS4.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-DlQCMKTl.js";
9
+ import { VideoProvider as $t } from "./vidstack-video-0JgvBoOn.js";
10
+ import { R as jt } from "./vidstack-DqAw8m9J-C7lApj0X.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-BmP9eUzZ.js";
9
- import { R as wt } from "./vidstack-DqAw8m9J-DGmPnOS4.js";
10
- import { g as Mt, a as Dt, b as it, h as st, l as Nt, c as Pt } from "./vidstack-D2pY00kU-BJ7fdiO2.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-DlQCMKTl.js";
9
+ import { R as wt } from "./vidstack-DqAw8m9J-C7lApj0X.js";
10
+ import { g as Mt, a as Dt, b as it, h as st, l as Nt, c as Pt } from "./vidstack-D2pY00kU-6PuglEEA.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-BmP9eUzZ.js";
9
- import { VideoProvider as yt } from "./vidstack-video-eosNCj40.js";
10
- import { R as gt } from "./vidstack-DqAw8m9J-DGmPnOS4.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-DlQCMKTl.js";
9
+ import { VideoProvider as yt } from "./vidstack-video-0JgvBoOn.js";
10
+ import { R as gt } from "./vidstack-DqAw8m9J-C7lApj0X.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-BmP9eUzZ.js";
9
- import { H as _, a as B } from "./vidstack-Bq6c3Bam-DBg3Tj69.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-DlQCMKTl.js";
9
+ import { H as _, a as B } from "./vidstack-Bq6c3Bam-iWQBEcgI.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-BmP9eUzZ.js";
9
- import { R as me } from "./vidstack-DqAw8m9J-DGmPnOS4.js";
10
- import { E as we } from "./vidstack-DDXt6fpN-D9bfpp_X.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-DlQCMKTl.js";
9
+ import { R as me } from "./vidstack-DqAw8m9J-C7lApj0X.js";
10
+ import { E as we } from "./vidstack-DDXt6fpN-BORLJUEd.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-BmP9eUzZ.js";
9
- import { E as Z } from "./vidstack-DDXt6fpN-D9bfpp_X.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-DlQCMKTl.js";
9
+ import { E as Z } from "./vidstack-DDXt6fpN-BORLJUEd.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-BmP9eUzZ.js";
1
+ import { p as d } from "./install-DlQCMKTl.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.33",
3
+ "version": "25.12.35",
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.81",
59
- "@webitel/styleguide": "^24.12.84",
59
+ "@webitel/styleguide": "^24.12.87",
60
60
  "autosize": "^6.0.1",
61
61
  "axios": "^1.8.3",
62
62
  "clipboard-copy": "^4.0.1",
@@ -1,4 +1,9 @@
1
1
  :root {
2
+ --icon-8xl-size: 96px;
3
+ --icon-7xl-size: 88px;
4
+ --icon-6xl-size: 80px;
5
+ --icon-5xl-size: 72px;
6
+ --icon-4xl-size: 64px;
2
7
  --icon-3xl-size: 56px;
3
8
  --icon-2xl-size: 48px;
4
9
  --icon-xl-size: 40px;
@@ -4,3 +4,4 @@ export { default as MediaControlsPanel } from './panels/media-controls-panel/med
4
4
  export { default as ScreenSharingControlsPanel } from './panels/screen-sharing-controls-panel/screen-sharing-controls-panel.vue';
5
5
  export { default as VideoCallControlsPanel } from './panels/video-call-controls-panel/video-call-controls-panel.vue';
6
6
  export { default as RecordingIndicator } from './recording-indicator/recording-indicator.vue';
7
+ export { default as ScreenshotBox } from './screenshot-box/screenshot-box.vue';
@@ -11,9 +11,9 @@
11
11
  @close="emit('close-player')"
12
12
  />
13
13
 
14
- <wt-loader size="sm" color="on-dark" />
15
-
16
- <slot name="content" />
14
+ <media-controls-group>
15
+ <slot name="content" />
16
+ </media-controls-group>
17
17
 
18
18
  <slot name="controls-panel">
19
19
  <media-controls-panel />
@@ -24,7 +24,6 @@
24
24
  <script setup lang="ts">
25
25
  import {defineEmits, inject} from "vue";
26
26
 
27
- import WtLoader from "../../../wt-loader/wt-loader.vue";
28
27
  import {MediaControlsPanel} from "../index";
29
28
  import VideoDisplayPanel from "../panels/video-display-panel/video-display-panel.vue";
30
29
 
@@ -47,6 +46,7 @@ const emit = defineEmits<{
47
46
 
48
47
  <style scoped lang="scss">
49
48
  .video-layout {
49
+ background: var(--p-player-wrapper-background);
50
50
  position: relative;
51
51
 
52
52
  .video-display-panel {
@@ -72,20 +72,11 @@ const emit = defineEmits<{
72
72
  transition: all var(--transition) ease-out;
73
73
  }
74
74
 
75
- .wt-loader {
76
- display: flex;
77
- align-items: center;
78
- width: 100%;
79
- }
80
-
81
- .video-layout:not([data-buffering]) .wt-loader {
82
- display: none;
83
- }
84
-
85
75
  media-player[data-hocus] { // hover or focus within https://vidstack.io/docs/wc/player/components/core/player/?styling=css#player.attrs
86
76
  .video-display-panel {
87
77
  background: var(--p-player-head-line-hover-background);
88
78
  opacity: 1;
79
+ z-index: 10;
89
80
  }
90
81
  }
91
82
  </style>
@@ -0,0 +1,77 @@
1
+ <template>
2
+ <div
3
+ v-if="src"
4
+ class="screenshot-box"
5
+ :class="[`screenshot-box--${props.size}`]"
6
+ @click="onZoom"
7
+ >
8
+ <div class="preview-wrapper">
9
+ <wt-image
10
+ :class="[`preview-img--${props.size}`]"
11
+ :src="src"
12
+ class="preview-img"
13
+ overlay-icon="zoom-in"
14
+ />
15
+ <button class="close-btn" @click.stop="onClose">
16
+ <wt-icon icon="close--filled" size="sm" color="light" />
17
+ </button>
18
+ </div>
19
+ </div>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import {WtIcon,WtImage} from '@webitel/ui-sdk/components';
24
+
25
+ import {ComponentSize} from "../../../../enums";
26
+
27
+ const props = defineProps<{
28
+ src?: string;
29
+ size: ComponentSize
30
+ }>();
31
+
32
+ const emit = defineEmits<{
33
+ 'close': [];
34
+ 'zoom': [];
35
+ }>();
36
+
37
+ const onClose = () => emit('close');
38
+ const onZoom = () => emit('zoom');
39
+ </script>
40
+
41
+ <style scoped lang="scss">
42
+ .screenshot-box {
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: center;
46
+ }
47
+
48
+ .preview-wrapper {
49
+ position: relative;
50
+
51
+ width: 100%;
52
+ height: 100%;
53
+ border-radius: var(--p-content-border-radius);
54
+ }
55
+
56
+ .preview-img {
57
+ overflow: hidden;
58
+ width: 100%;
59
+ height: 100%;
60
+ object-fit: cover;
61
+
62
+ border-radius: var(--p-content-border-radius);
63
+ display: block;
64
+ }
65
+
66
+ .close-btn {
67
+ position: absolute;
68
+
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: center;
72
+
73
+ cursor: pointer;
74
+ padding: 0;
75
+ z-index: 3;
76
+ }
77
+ </style>
@@ -1,8 +1,11 @@
1
1
  <template>
2
2
  <div
3
3
  class="wt-vidstack-player"
4
- :class="{[`wt-vidstack-player--${size}`]: props.resizable,
5
- 'wt-vidstack-player--static': props.staticPosition}"
4
+ :class="[
5
+ props.resizable && `wt-vidstack-player--${size}`,
6
+ props.static && 'wt-vidstack-player--static',
7
+ props.hideBackground && 'wt-vidstack-player--hide-background'
8
+ ]"
6
9
  >
7
10
  <media-player
8
11
  ref="player"
@@ -46,7 +49,7 @@ import 'vidstack/player';
46
49
  import 'vidstack/player/ui';
47
50
 
48
51
  import type {MediaPlayerElement} from 'vidstack/elements';
49
- import {computed, defineEmits, defineProps, onBeforeUnmount, onMounted, provide, ref, useTemplateRef} from 'vue';
52
+ import {computed, defineEmits, defineProps, provide, ref, useTemplateRef} from 'vue';
50
53
 
51
54
  import {ComponentSize} from '../../enums';
52
55
  import {VideoLayout} from "./components";
@@ -60,10 +63,11 @@ interface Props {
60
63
  username?: string;
61
64
  closable?: boolean;
62
65
  resizable?: boolean;
63
- staticPosition?: boolean;
66
+ static?: boolean;
64
67
  stream?: MediaStream
65
- componentSize?: keyof typeof ComponentSize
68
+ size?: ComponentSize
66
69
  hideDisplayPanel?: boolean
70
+ hideBackground?: boolean
67
71
  }
68
72
 
69
73
  const props = withDefaults(defineProps<Props>(), {
@@ -73,16 +77,17 @@ const props = withDefaults(defineProps<Props>(), {
73
77
  title: '',
74
78
  username: '',
75
79
  closable: false,
76
- staticPosition: false,
80
+ static: false,
77
81
  resizable: true,
78
82
  });
79
83
 
80
84
  const emit = defineEmits<{
81
85
  'close': [],
86
+ 'change-size': [ComponentSize],
82
87
  }>()
83
88
 
84
89
  const player = useTemplateRef<MediaPlayerElement>('player');
85
- const size = ref(props.componentSize || ComponentSize.SM);
90
+ const size = ref(props.size || ComponentSize.SM);
86
91
 
87
92
  const changeSize = (value) => {
88
93
  size.value = value;
@@ -96,7 +101,7 @@ provide('size', {size, changeSize});
96
101
 
97
102
  const normalizedType = computed(() => { // https://vidstack.io/docs/wc/player/core-concepts/loading/?styling=css#source-types
98
103
  if (props.mime) return props.mime;
99
-
104
+
100
105
  if (typeof props.src === 'string') {
101
106
  if (props.src.includes('media')) return 'audio/mp3';
102
107
  if (props.src.includes('mp3')) return 'audio/mp3';
@@ -112,7 +117,7 @@ const normalizedSrc = computed(() => {
112
117
  }
113
118
 
114
119
  if (typeof props.src === 'string') {
115
- return { src: props.src, type: normalizedType.value };
120
+ return {src: props.src, type: normalizedType.value};
116
121
  }
117
122
 
118
123
  return {
@@ -156,25 +161,29 @@ const normalizedSrc = computed(() => {
156
161
  }
157
162
 
158
163
  &--md {
159
- &--md:not(.wt-vidstack-player--static) {
164
+ &:not(.wt-vidstack-player--static) {
160
165
  @include popup-wrapper;
161
166
 
167
+ /** @author liza-pohranichna
168
+ * need to use wt-popup styles for md size https://webitel.atlassian.net/browse/WTEL-7723 */
169
+
162
170
  .wt-vidstack-player__player {
163
171
  @include popup-container;
172
+
173
+ position: relative;
174
+ display: block;
175
+ max-width: var(--p-player-wrapper-md-width);
176
+ max-height: var(--p-player-wrapper-md-height);
177
+ padding: 0;
178
+ margin: 0;
179
+ border-radius: var(--p-player-wrapper-md-border-radius);
180
+ overflow: hidden;
181
+ box-shadow: var(--elevation-10);
164
182
  }
165
183
  }
166
184
 
167
- /** @author liza-pohranichna
168
- * need to use wt-popup styles for md size https://webitel.atlassian.net/browse/WTEL-7723 */
169
-
170
185
  .wt-vidstack-player__player {
171
- position: relative;
172
- display: block;
173
- max-width: var(--p-player-wrapper-md-width);
174
- padding: 0;
175
- border-radius: var(--p-player-wrapper-md-border-radius);
176
- overflow: hidden;
177
- box-shadow: var(--elevation-10);
186
+ width: 100%;
178
187
  }
179
188
  }
180
189
 
@@ -207,6 +216,14 @@ const normalizedSrc = computed(() => {
207
216
  height: 100%;
208
217
  }
209
218
  }
219
+
220
+ &--hide-background {
221
+ &.wt-vidstack-player {
222
+ &--md {
223
+ background: none;
224
+ }
225
+ }
226
+ }
210
227
  }
211
228
  </style>
212
229
 
@@ -8,6 +8,11 @@ export const ComponentSize = {
8
8
  XL: 'xl',
9
9
  XXL: '2xl',
10
10
  XXXL: '3xl',
11
+ '4XL': '4xl',
12
+ '5XL': '5xl',
13
+ '6XL': '6xl',
14
+ '7XL': '7xl',
15
+ '8XL': '8xl',
11
16
  } as const;
12
17
 
13
18
  export type ComponentSize = (typeof ComponentSize)[keyof typeof ComponentSize];
@@ -6,6 +6,9 @@ export const VideoCallAction = {
6
6
  Settings: 'settings',
7
7
  Chat: 'chat',
8
8
  Hangup: 'hangup',
9
+ ZoomScreenshot: 'zoom-screenshot',
10
+ CloseScreenshot: 'close-screenshot',
9
11
  } as const;
10
12
 
11
- export type VideoCallAction = (typeof VideoCallAction)[keyof typeof VideoCallAction];
13
+ export type VideoCallAction =
14
+ (typeof VideoCallAction)[keyof typeof VideoCallAction];