@webitel/ui-sdk 25.10.66 → 25.10.68
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/img/sprite/index.js +2 -0
- package/dist/img/sprite/tile.svg +6 -0
- package/dist/{install-CW8oHjb5.js → install-BX7DtU4E.js} +29181 -25087
- package/dist/ui-sdk.css +1 -1
- package/dist/ui-sdk.js +1 -1
- package/dist/ui-sdk.umd.cjs +1130 -609
- package/dist/{vidstack-Bq6c3Bam-LsSTFDin.js → vidstack-Bq6c3Bam-CcgXYtx3.js} +2 -2
- package/dist/{vidstack-D2pY00kU-BwJtWNq2.js → vidstack-D2pY00kU-Dd_evVt0.js} +2 -2
- package/dist/{vidstack-DDXt6fpN-CA2iLYFD.js → vidstack-DDXt6fpN-C7cfgYWh.js} +1 -1
- package/dist/{vidstack-D_-9AA6_-PulLI2mI.js → vidstack-D_-9AA6_-Dg186Vwc.js} +1 -1
- package/dist/{vidstack-DqAw8m9J-CfsZRUOX.js → vidstack-DqAw8m9J-C_JvCAxU.js} +1 -1
- package/dist/{vidstack-audio-CnObeLGZ.js → vidstack-audio-DsdkNpLr.js} +2 -2
- package/dist/{vidstack-dash-CrnWMZAr.js → vidstack-dash-CTibUY2Y.js} +3 -3
- package/dist/{vidstack-google-cast-C7wR4EmH.js → vidstack-google-cast-B7elqrpL.js} +3 -3
- package/dist/{vidstack-hls-C6Idke2U.js → vidstack-hls-CVaO-8ff.js} +3 -3
- package/dist/{vidstack-video-CdqnqAr9.js → vidstack-video-Bu1K77pl.js} +2 -2
- package/dist/{vidstack-vimeo-9Y9DFwy9.js → vidstack-vimeo-DnvfVz1H.js} +3 -3
- package/dist/{vidstack-youtube-C3w6gYqB.js → vidstack-youtube-Cj2UsmZj.js} +2 -2
- package/package.json +2 -2
- package/src/assets/icons/sprite/index.js +2 -0
- package/src/assets/icons/sprite/tile.svg +6 -0
- package/src/components/index.js +3 -0
- package/src/components/wt-galleria/types/WtGalleria.d.ts +6 -0
- package/src/components/wt-galleria/wt-galleria.vue +229 -0
- package/src/components/wt-popup/_variables.scss +1 -1
- package/src/composables/index.ts +1 -0
- package/src/composables/useCard/useCardComponent.js +4 -0
- package/src/composables/useGalleriaFullscreen/useGalleriaFullscreen.ts +65 -0
- package/src/modules/CardStoreModule/composables/useCardStore.js +9 -3
- package/src/plugins/primevue/primevue.plugin.js +2 -0
- package/src/plugins/primevue/theme/components/components.js +2 -0
- package/src/plugins/primevue/theme/components/galleria/galleria.js +71 -0
- package/types/components/index.d.ts +3 -1
- package/types/components/wt-galleria/wt-galleria.vue.d.ts +22 -0
- package/types/components/wt-popup/wt-popup.vue.d.ts +1 -1
- package/types/composables/index.d.ts +1 -0
- package/types/composables/useGalleriaFullscreen/useGalleriaFullscreen.d.ts +4 -0
- package/types/modules/CardStoreModule/composables/useCardStore.d.ts +4 -2
- package/types/modules/Filters/components/filter-pagination.vue.d.ts +2 -2
- package/types/modules/Filters/components/filter-table-fields.vue.d.ts +2 -2
- package/types/plugins/primevue/theme/components/components.d.ts +2 -0
- package/types/plugins/primevue/theme/components/galleria/galleria.d.ts +233 -0
|
@@ -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 M = (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 { y as Yt, x as ut, z as j, A as Zt, b as ti, E as nt, e as lt, B as _, C as ii, F as ei, d as si, G as ai, l as rt, H as dt, D as ni, L as Y, J as Z } from "./install-
|
|
9
|
-
import { R as ri } from "./vidstack-DqAw8m9J-
|
|
8
|
+
import { y as Yt, x as ut, z as j, A as Zt, b as ti, E as nt, e as lt, B as _, C as ii, F as ei, d as si, G as ai, l as rt, H as dt, D as ni, L as Y, J as Z } from "./install-BX7DtU4E.js";
|
|
9
|
+
import { R as ri } from "./vidstack-DqAw8m9J-C_JvCAxU.js";
|
|
10
10
|
let q = null, z = [], J = [];
|
|
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, h as A, S as O, C as D, d as R, m as M } from "./install-
|
|
8
|
+
import { l as b, h as A, S as O, C as D, d as R, m as M } from "./install-BX7DtU4E.js";
|
|
9
9
|
function G() {
|
|
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-
|
|
97
|
+
return new (await import("./vidstack-google-cast-B7elqrpL.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 w = (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) => w(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 { J as M, l as f, e as A, d as P, R as O, b as S } from "./install-
|
|
8
|
+
import { J as M, l as f, e as A, d as P, R as O, b as S } from "./install-BX7DtU4E.js";
|
|
9
9
|
var r, o, b, m;
|
|
10
10
|
class W {
|
|
11
11
|
constructor(t) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as d, a as i, I as l, e as m } from "./install-
|
|
1
|
+
import { c as d, a as i, I as l, e as m } from "./install-BX7DtU4E.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 c = (i, t, s) => t.has(i) || l("Cannot " + s);
|
|
5
5
|
var r = (i, t, s) => (c(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) => (c(i, t, "write to private field"), f ? f.call(i, s) : t.set(i, s), s), m = (i, t, s) => (c(i, t, "access private method"), s);
|
|
6
|
-
import { j as p, t as u } from "./install-
|
|
6
|
+
import { j as p, t as u } from "./install-BX7DtU4E.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-
|
|
5
|
-
import { H as d, a as u } from "./vidstack-Bq6c3Bam-
|
|
4
|
+
import { s as p } from "./install-BX7DtU4E.js";
|
|
5
|
+
import { H as d, a as u } from "./vidstack-Bq6c3Bam-CcgXYtx3.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 { o as Et, b as _, p as Lt, d as At, Q as z, l as J, e as Dt, D as N, f as xt, g as O, T as Mt, L as q, q as Ct, r as Nt, t as Rt, h as Ft, j as Z, k as Pt, m as qt, n as _t } from "./install-
|
|
9
|
-
import { VideoProvider as $t } from "./vidstack-video-
|
|
10
|
-
import { R as jt } from "./vidstack-DqAw8m9J-
|
|
8
|
+
import { o as Et, b as _, p as Lt, d as At, Q as z, l as J, e as Dt, D as N, f as xt, g as O, T as Mt, L as q, q as Ct, r as Nt, t as Rt, h as Ft, j as Z, k as Pt, m as qt, n as _t } from "./install-BX7DtU4E.js";
|
|
9
|
+
import { VideoProvider as $t } from "./vidstack-video-Bu1K77pl.js";
|
|
10
|
+
import { R as jt } from "./vidstack-DqAw8m9J-C_JvCAxU.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 W = (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) || W("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) ? W("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 { y as St, K as L, U as Z, x as At, D as tt, d as V, l as et, e as It, V as bt, L as Rt } from "./install-
|
|
9
|
-
import { R as wt } from "./vidstack-DqAw8m9J-
|
|
10
|
-
import { g as Mt, a as Dt, b as it, h as st, l as Nt, c as Pt } from "./vidstack-D2pY00kU-
|
|
8
|
+
import { y as St, K as L, U as Z, x as At, D as tt, d as V, l as et, e as It, V as bt, L as Rt } from "./install-BX7DtU4E.js";
|
|
9
|
+
import { R as wt } from "./vidstack-DqAw8m9J-C_JvCAxU.js";
|
|
10
|
+
import { g as Mt, a as Dt, b as it, h as st, l as Nt, c as Pt } from "./vidstack-D2pY00kU-Dd_evVt0.js";
|
|
11
11
|
var g, _, at;
|
|
12
12
|
class _t {
|
|
13
13
|
constructor(t) {
|
|
@@ -5,9 +5,9 @@ var N = (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) || N("Cannot " + i);
|
|
7
7
|
var e = (n, t, i) => (R(n, t, "read from private field"), i ? i.call(n) : t.get(n)), p = (n, t, i) => t.has(n) ? N("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(n) : t.set(n, i), f = (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, p as at, d as O, Q as V, l as j, e as dt, D as x, f as ut, T as ct, g as k, L as $, h as lt, j as q, k as pt, m as ft, n as vt } from "./install-
|
|
9
|
-
import { VideoProvider as yt } from "./vidstack-video-
|
|
10
|
-
import { R as gt } from "./vidstack-DqAw8m9J-
|
|
8
|
+
import { i as ht, b as C, p as at, d as O, Q as V, l as j, e as dt, D as x, f as ut, T as ct, g as k, L as $, h as lt, j as q, k as pt, m as ft, n as vt } from "./install-BX7DtU4E.js";
|
|
9
|
+
import { VideoProvider as yt } from "./vidstack-video-Bu1K77pl.js";
|
|
10
|
+
import { R as gt } from "./vidstack-DqAw8m9J-C_JvCAxU.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 m = (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, u as V, v as A, w as q, x as C, l as F, D as Y, E as _, T as j, g as v } from "./install-
|
|
9
|
-
import { H as z, a as B } from "./vidstack-Bq6c3Bam-
|
|
8
|
+
import { s as U, u as V, v as A, w as q, x as C, l as F, D as Y, E as _, T as j, g as v } from "./install-BX7DtU4E.js";
|
|
9
|
+
import { H as z, a as B } from "./vidstack-Bq6c3Bam-CcgXYtx3.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 { y as fe, J as U, K as C, p as pe, e as q, d as Q, b as ye, M as _, L as R, l as be, N as ke, T as ve, Q as J } from "./install-
|
|
9
|
-
import { R as me } from "./vidstack-DqAw8m9J-
|
|
10
|
-
import { E as we } from "./vidstack-DDXt6fpN-
|
|
8
|
+
import { y as fe, J as U, K as C, p as pe, e as q, d as Q, b as ye, M as _, L as R, l as be, N as ke, T as ve, Q as J } from "./install-BX7DtU4E.js";
|
|
9
|
+
import { R as me } from "./vidstack-DqAw8m9J-C_JvCAxU.js";
|
|
10
|
+
import { E as we } from "./vidstack-DDXt6fpN-C7cfgYWh.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 N = (r, n, e) => n in r ? K(r, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[n] = e;
|
|
6
6
|
var T = (r, n, e) => N(r, typeof n != "symbol" ? n + "" : n, e), R = (r, n, e) => n.has(r) || B("Cannot " + e);
|
|
7
7
|
var s = (r, n, e) => (R(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) => (R(r, n, "write to private field"), t ? t.call(r, e) : n.set(r, e), e), o = (r, n, e) => (R(r, n, "access private method"), e);
|
|
8
|
-
import { y as q, J as z, p as A, e as G, b as H, M as Q, K as C, O as W, t as $, P as X } from "./install-
|
|
9
|
-
import { E as Z } from "./vidstack-DDXt6fpN-
|
|
8
|
+
import { y as q, J as z, p as A, e as G, b as H, M as Q, K as C, O as W, t as $, P as X } from "./install-BX7DtU4E.js";
|
|
9
|
+
import { E as Z } from "./vidstack-DDXt6fpN-C7cfgYWh.js";
|
|
10
10
|
import { resolveYouTubeVideoId as ee } from "./vidstack-Dm1xEU9Q-qSXq3AI-.js";
|
|
11
11
|
const b = {
|
|
12
12
|
Ended: 0,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webitel/ui-sdk",
|
|
3
|
-
"version": "25.10.
|
|
3
|
+
"version": "25.10.68",
|
|
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.60",
|
|
59
|
-
"@webitel/styleguide": "^24.12.
|
|
59
|
+
"@webitel/styleguide": "^24.12.80",
|
|
60
60
|
"autosize": "^6.0.1",
|
|
61
61
|
"axios": "^1.8.3",
|
|
62
62
|
"clipboard-copy": "^4.0.1",
|
|
@@ -201,6 +201,7 @@ import sttSearch from './stt-search.svg';
|
|
|
201
201
|
import table from './table.svg';
|
|
202
202
|
import telegramBot from './telegram-bot.svg';
|
|
203
203
|
import tick from './tick.svg';
|
|
204
|
+
import tile from './tile.svg';
|
|
204
205
|
import treeCollapse from './tree-collapse.svg';
|
|
205
206
|
import treeCorner from './tree-corner.svg';
|
|
206
207
|
import treeCross from './tree-cross.svg';
|
|
@@ -446,6 +447,7 @@ export default objCamelToKebab({
|
|
|
446
447
|
checkboxTick,
|
|
447
448
|
log,
|
|
448
449
|
downloadPdf,
|
|
450
|
+
tile,
|
|
449
451
|
|
|
450
452
|
recordStart,
|
|
451
453
|
recordStop,
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 13C9.65685 13 11 14.3431 11 16V19C11 20.6569 9.65685 22 8 22H5C3.34315 22 2 20.6569 2 19V16C2 14.3431 3.34315 13 5 13H8ZM5 15H8C8.55229 15 9 15.4477 9 16V19C9 19.5523 8.55228 20 8 20H5C4.44772 20 4 19.5523 4 19V16C4 15.4477 4.44772 15 5 15Z"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 2C9.65685 2 11 3.34315 11 5V8C11 9.65685 9.65685 11 8 11H5C3.34315 11 2 9.65685 2 8V5C2 3.34315 3.34315 2 5 2H8ZM5 4H8C8.55229 4 9 4.44772 9 5V8C9 8.55228 8.55228 9 8 9H5C4.44772 9 4 8.55228 4 8V5C4 4.44771 4.44772 4 5 4Z"/>
|
|
4
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M19 13C20.6569 13 22 14.3431 22 16V19C22 20.6569 20.6569 22 19 22H16C14.3431 22 13 20.6569 13 19V16C13 14.3431 14.3431 13 16 13H19ZM16 15H19C19.5523 15 20 15.4477 20 16V19C20 19.5523 19.5523 20 19 20H16C15.4477 20 15 19.5523 15 19V16C15 15.4477 15.4477 15 16 15Z"/>
|
|
5
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M19 2C20.6569 2 22 3.34315 22 5V8C22 9.65685 20.6569 11 19 11H16C14.3431 11 13 9.65685 13 8V5C13 3.34315 14.3431 2 16 2H19ZM16 4H19C19.5523 4 20 4.44772 20 5V8C20 8.55228 19.5523 9 19 9H16C15.4477 9 15 8.55228 15 8V5C15 4.44771 15.4477 4 16 4Z"/>
|
|
6
|
+
</svg>
|
package/src/components/index.js
CHANGED
|
@@ -27,6 +27,7 @@ import WtEmpty from './wt-empty/wt-empty.vue';
|
|
|
27
27
|
import WtErrorPage from './wt-error-page/wt-error-page.vue';
|
|
28
28
|
import WtExpansionPanel from './wt-expansion-panel/wt-expansion-panel.vue';
|
|
29
29
|
import WtFiltersPanelWrapper from './wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue';
|
|
30
|
+
import WtGalleria from './wt-galleria/wt-galleria.vue';
|
|
30
31
|
import WtHeadline from './wt-headline/wt-headline.vue';
|
|
31
32
|
import WtHint from './wt-hint/wt-hint.vue';
|
|
32
33
|
import WtIcon from './wt-icon/wt-icon.vue';
|
|
@@ -145,6 +146,7 @@ const Components = {
|
|
|
145
146
|
WtStartPage,
|
|
146
147
|
WtSelectionPopup,
|
|
147
148
|
WtDisplayChipItems,
|
|
149
|
+
WtGalleria,
|
|
148
150
|
WtVidstackPlayer,
|
|
149
151
|
WtChatEmoji,
|
|
150
152
|
};
|
|
@@ -173,6 +175,7 @@ export {
|
|
|
173
175
|
WtErrorPage,
|
|
174
176
|
WtExpansionPanel,
|
|
175
177
|
WtFiltersPanelWrapper,
|
|
178
|
+
WtGalleria,
|
|
176
179
|
WtHeaderActions,
|
|
177
180
|
WtHeadline,
|
|
178
181
|
WtHint,
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<p-galleria
|
|
3
|
+
ref="galleria"
|
|
4
|
+
v-model:visible="visible"
|
|
5
|
+
v-model:active-index="activeIndex"
|
|
6
|
+
:value="value"
|
|
7
|
+
:show-thumbnails="showThumbnails"
|
|
8
|
+
full-screen
|
|
9
|
+
circular
|
|
10
|
+
show-item-navigators
|
|
11
|
+
:num-visible="5"
|
|
12
|
+
:pt="{
|
|
13
|
+
root: {
|
|
14
|
+
class: [{ 'flex flex-col': fullScreen }],
|
|
15
|
+
},
|
|
16
|
+
content: {
|
|
17
|
+
class: ['relative', { 'wt-galleria__content--fullscreen': fullScreen }]
|
|
18
|
+
},
|
|
19
|
+
thumbnails: 'wt-galleria__thumbnails',
|
|
20
|
+
closeButton: {
|
|
21
|
+
style: { display: fullScreen ? 'none' : 'block' },
|
|
22
|
+
},
|
|
23
|
+
}"
|
|
24
|
+
>
|
|
25
|
+
<template #item="{item}: {item: WtGalleriaItem}">
|
|
26
|
+
<div
|
|
27
|
+
class="wt-galleria__image-container"
|
|
28
|
+
:class="{ 'wt-galleria__image-container--preview': !fullScreen }"
|
|
29
|
+
>
|
|
30
|
+
<wt-loader v-if="isImageOnLoad" />
|
|
31
|
+
<img
|
|
32
|
+
v-show="!isImageOnLoad"
|
|
33
|
+
class="wt-galleria__image"
|
|
34
|
+
:class="{ 'wt-galleria__image--fullscreen': fullScreen }"
|
|
35
|
+
:src="item.src"
|
|
36
|
+
:alt="item.title"
|
|
37
|
+
@load="onImageLoad"
|
|
38
|
+
/>
|
|
39
|
+
</div>
|
|
40
|
+
</template>
|
|
41
|
+
<template #thumbnail="{item}: {item: WtGalleriaItem}">
|
|
42
|
+
<img :src="item.thumbnailSrc" :alt="item.title" class="wt-galleria__thumbnail" />
|
|
43
|
+
</template>
|
|
44
|
+
<template #closeicon>
|
|
45
|
+
<wt-icon
|
|
46
|
+
icon="close"
|
|
47
|
+
/>
|
|
48
|
+
</template>
|
|
49
|
+
<template #previousitemicon>
|
|
50
|
+
<wt-icon
|
|
51
|
+
icon="arrow-left"
|
|
52
|
+
/>
|
|
53
|
+
</template>
|
|
54
|
+
<template #nextitemicon>
|
|
55
|
+
<wt-icon
|
|
56
|
+
icon="arrow-right"
|
|
57
|
+
/>
|
|
58
|
+
</template>
|
|
59
|
+
<template #previousthumbnailicon>
|
|
60
|
+
<wt-icon
|
|
61
|
+
icon="arrow-left"
|
|
62
|
+
/>
|
|
63
|
+
</template>
|
|
64
|
+
<template #nextthumbnailicon>
|
|
65
|
+
<wt-icon
|
|
66
|
+
icon="arrow-right"
|
|
67
|
+
/>
|
|
68
|
+
</template>
|
|
69
|
+
<template #footer>
|
|
70
|
+
<div class="wt-galleria__footer">
|
|
71
|
+
<wt-icon
|
|
72
|
+
icon="tile"
|
|
73
|
+
@click="toggleThumbnails"
|
|
74
|
+
/>
|
|
75
|
+
<span v-if="value.length" class="wt-galleria__footer-info">
|
|
76
|
+
<span>{{ activeIndex + 1 }}/{{ value.length }}</span>
|
|
77
|
+
<span>{{ value[activeIndex].title }}</span>
|
|
78
|
+
<span>{{ value[activeIndex].description }}</span>
|
|
79
|
+
</span>
|
|
80
|
+
<div class="wt-galleria__footer-actions">
|
|
81
|
+
<wt-icon
|
|
82
|
+
icon="download"
|
|
83
|
+
@click="emit('download', activeIndex)"
|
|
84
|
+
/>
|
|
85
|
+
<wt-icon
|
|
86
|
+
icon="bucket"
|
|
87
|
+
@click="handleDelete"
|
|
88
|
+
/>
|
|
89
|
+
<wt-icon
|
|
90
|
+
:icon="fullScreen ? 'collapse' : 'expand'"
|
|
91
|
+
@click="toggleFullScreen"
|
|
92
|
+
/>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</template>
|
|
96
|
+
</p-galleria>
|
|
97
|
+
<delete-confirmation-popup
|
|
98
|
+
:shown="isDeleteConfirmationPopup"
|
|
99
|
+
:callback="deleteCallback"
|
|
100
|
+
:delete-count="deleteCount"
|
|
101
|
+
@close="closeDelete"
|
|
102
|
+
/>
|
|
103
|
+
</template>
|
|
104
|
+
|
|
105
|
+
<script setup lang="ts">
|
|
106
|
+
import { useDeleteConfirmationPopup } from '@webitel/ui-sdk/src/modules/DeleteConfirmationPopup/composables/useDeleteConfirmationPopup';
|
|
107
|
+
import type { GalleriaProps } from 'primevue';
|
|
108
|
+
import { computed, defineModel, defineProps, ref, useTemplateRef,watch } from 'vue';
|
|
109
|
+
|
|
110
|
+
import { useGalleriaFullscreen } from '../../composables'
|
|
111
|
+
import DeleteConfirmationPopup from '../../modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue';
|
|
112
|
+
import type { WtGalleriaItem } from './types/WtGalleria.d.ts';
|
|
113
|
+
interface Props extends GalleriaProps{
|
|
114
|
+
value: WtGalleriaItem[];
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const props = defineProps<Props>();
|
|
118
|
+
|
|
119
|
+
const emit = defineEmits(['download', 'delete']);
|
|
120
|
+
|
|
121
|
+
const visible = defineModel<boolean>('visible', { required: true });
|
|
122
|
+
const activeIndex = defineModel<number>('activeIndex', { default: 0, required: false });
|
|
123
|
+
const currentImage = computed(() => props.value[activeIndex.value]);
|
|
124
|
+
const galleria = useTemplateRef('galleria')
|
|
125
|
+
const isImageOnLoad = ref(true)
|
|
126
|
+
|
|
127
|
+
const showThumbnails = ref(true);
|
|
128
|
+
|
|
129
|
+
const {
|
|
130
|
+
fullScreen,
|
|
131
|
+
toggleFullScreen
|
|
132
|
+
} = useGalleriaFullscreen(galleria)
|
|
133
|
+
|
|
134
|
+
const {
|
|
135
|
+
isVisible: isDeleteConfirmationPopup,
|
|
136
|
+
deleteCount,
|
|
137
|
+
deleteCallback,
|
|
138
|
+
|
|
139
|
+
askDeleteConfirmation,
|
|
140
|
+
closeDelete,
|
|
141
|
+
} = useDeleteConfirmationPopup();
|
|
142
|
+
|
|
143
|
+
const toggleThumbnails = () => {
|
|
144
|
+
showThumbnails.value = !showThumbnails.value
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
const onImageLoad = () => {
|
|
148
|
+
isImageOnLoad.value = false
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
const handleDelete = () => {
|
|
152
|
+
if (fullScreen.value) toggleFullScreen()
|
|
153
|
+
askDeleteConfirmation({
|
|
154
|
+
deleteCount: 1,
|
|
155
|
+
callback: () => emit('delete', activeIndex)
|
|
156
|
+
})
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
watch(() => currentImage.value, () => {
|
|
160
|
+
isImageOnLoad.value = true
|
|
161
|
+
}, { deep: true })
|
|
162
|
+
|
|
163
|
+
watch(() => visible.value, () => {
|
|
164
|
+
if (!visible.value) {
|
|
165
|
+
activeIndex.value = 0
|
|
166
|
+
}
|
|
167
|
+
})
|
|
168
|
+
|
|
169
|
+
watch(() => props.value, () => {
|
|
170
|
+
if (!props.value.length) {
|
|
171
|
+
visible.value = false
|
|
172
|
+
}
|
|
173
|
+
})
|
|
174
|
+
</script>
|
|
175
|
+
|
|
176
|
+
<style lang="scss">
|
|
177
|
+
@use '@webitel/styleguide/typography' as *;
|
|
178
|
+
|
|
179
|
+
.wt-galleria__image-container {
|
|
180
|
+
max-width: 100%;
|
|
181
|
+
display: flex;
|
|
182
|
+
align-items: center;
|
|
183
|
+
background: transparent;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.wt-galleria__content--fullscreen {
|
|
187
|
+
flex: 1 1 0;
|
|
188
|
+
justify-content: center;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.wt-galleria__image {
|
|
192
|
+
width: 100%;
|
|
193
|
+
height: 100%;
|
|
194
|
+
object-fit: contain;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.wt-galleria__thumbnails {
|
|
198
|
+
position: absolute;
|
|
199
|
+
width: 100%;
|
|
200
|
+
left: 0;
|
|
201
|
+
bottom: 0;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.wt-galleria__thumbnail {
|
|
205
|
+
object-fit: cover;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.wt-galleria__footer {
|
|
209
|
+
display: flex;
|
|
210
|
+
align-items: center;
|
|
211
|
+
gap: 0.5rem;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.wt-galleria__footer-info {
|
|
215
|
+
display: flex;
|
|
216
|
+
gap: 0.5rem;
|
|
217
|
+
@extend %typo-body-2
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.wt-galleria__footer svg {
|
|
221
|
+
cursor: pointer;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.wt-galleria__footer-actions {
|
|
225
|
+
margin-left: auto;
|
|
226
|
+
display: flex;
|
|
227
|
+
gap: 0.5rem;
|
|
228
|
+
}
|
|
229
|
+
</style>
|
package/src/composables/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './useCard/useCardComponent';
|
|
|
5
5
|
export * from './useCard/useCardTabs';
|
|
6
6
|
export * from './useClose/useClose';
|
|
7
7
|
export * from './useDestroyableSortable/useDestroyableSortable';
|
|
8
|
+
export * from './useGalleriaFullscreen/useGalleriaFullscreen';
|
|
8
9
|
export * from './useRepresentableAgentPauseCause/useRepresentableAgentPauseCause';
|
|
9
10
|
export * from './useValidate/useValidate';
|
|
10
11
|
export * from './useWtTable/useWtTable';
|
|
@@ -15,6 +15,7 @@ export const useCardComponent = (params) => {
|
|
|
15
15
|
updateItem,
|
|
16
16
|
setId,
|
|
17
17
|
resetState,
|
|
18
|
+
onLoadErrorHandler,
|
|
18
19
|
} = params;
|
|
19
20
|
|
|
20
21
|
const router = useRouter();
|
|
@@ -63,6 +64,9 @@ export const useCardComponent = (params) => {
|
|
|
63
64
|
const { id } = route.params;
|
|
64
65
|
await setId(id);
|
|
65
66
|
await loadItem();
|
|
67
|
+
} catch (err) {
|
|
68
|
+
if (!onLoadErrorHandler) throw err;
|
|
69
|
+
onLoadErrorHandler(err)
|
|
66
70
|
} finally {
|
|
67
71
|
isLoading.value = false;
|
|
68
72
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { computed, onMounted, onUnmounted,ref } from 'vue';
|
|
2
|
+
|
|
3
|
+
export const useGalleriaFullscreen = (galleriaRef) => {
|
|
4
|
+
const containerId = computed(() => galleriaRef.value?.container?.$id);
|
|
5
|
+
const fullScreen = ref(false);
|
|
6
|
+
const toggleFullScreen = () => {
|
|
7
|
+
if (fullScreen.value) {
|
|
8
|
+
closeFullScreen();
|
|
9
|
+
} else {
|
|
10
|
+
openFullScreen();
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const onFullScreenChange = () => {
|
|
14
|
+
fullScreen.value = !fullScreen.value;
|
|
15
|
+
};
|
|
16
|
+
const openFullScreen = () => {
|
|
17
|
+
const element = document.getElementById(containerId.value)
|
|
18
|
+
if (element.requestFullscreen) {
|
|
19
|
+
element.requestFullscreen();
|
|
20
|
+
} else if (element.mozRequestFullScreen) {
|
|
21
|
+
/* Firefox */
|
|
22
|
+
element.mozRequestFullScreen();
|
|
23
|
+
} else if (element.webkitRequestFullscreen) {
|
|
24
|
+
/* Chrome, Safari & Opera */
|
|
25
|
+
element.webkitRequestFullscreen();
|
|
26
|
+
} else if (element.msRequestFullscreen) {
|
|
27
|
+
/* IE/Edge */
|
|
28
|
+
element.msRequestFullscreen();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const closeFullScreen = () => {
|
|
32
|
+
if (document.exitFullscreen) {
|
|
33
|
+
document.exitFullscreen();
|
|
34
|
+
} else if (document.mozCancelFullScreen) {
|
|
35
|
+
document.mozCancelFullScreen();
|
|
36
|
+
} else if (document.webkitExitFullscreen) {
|
|
37
|
+
document.webkitExitFullscreen();
|
|
38
|
+
} else if (document.msExitFullscreen) {
|
|
39
|
+
document.msExitFullscreen();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const bindDocumentListeners = () => {
|
|
43
|
+
document.addEventListener('fullscreenchange', onFullScreenChange);
|
|
44
|
+
document.addEventListener('mozfullscreenchange', onFullScreenChange);
|
|
45
|
+
document.addEventListener('webkitfullscreenchange', onFullScreenChange);
|
|
46
|
+
document.addEventListener('msfullscreenchange', onFullScreenChange);
|
|
47
|
+
};
|
|
48
|
+
const unbindDocumentListeners = () => {
|
|
49
|
+
document.removeEventListener('fullscreenchange', onFullScreenChange);
|
|
50
|
+
document.removeEventListener('mozfullscreenchange', onFullScreenChange);
|
|
51
|
+
document.removeEventListener('webkitfullscreenchange', onFullScreenChange);
|
|
52
|
+
document.removeEventListener('msfullscreenchange', onFullScreenChange);
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
onMounted(() => {
|
|
56
|
+
bindDocumentListeners();
|
|
57
|
+
});
|
|
58
|
+
onUnmounted(() => {
|
|
59
|
+
unbindDocumentListeners();
|
|
60
|
+
});
|
|
61
|
+
return {
|
|
62
|
+
fullScreen,
|
|
63
|
+
toggleFullScreen,
|
|
64
|
+
};
|
|
65
|
+
};
|
|
@@ -4,7 +4,8 @@ import { useStore } from 'vuex';
|
|
|
4
4
|
import getNamespacedState from '../../../store/helpers/getNamespacedState.js';
|
|
5
5
|
|
|
6
6
|
// eslint-disable-next-line import/prefer-default-export
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
export const useCardStore = (namespace, { onLoadErrorHandler }) => {
|
|
8
9
|
const store = useStore();
|
|
9
10
|
|
|
10
11
|
const cardNamespace = `${namespace}/card`;
|
|
@@ -16,8 +17,13 @@ export const useCardStore = (namespace) => {
|
|
|
16
17
|
() => getNamespacedState(store.state, cardNamespace).itemInstance,
|
|
17
18
|
);
|
|
18
19
|
|
|
19
|
-
function loadItem(payload) {
|
|
20
|
-
|
|
20
|
+
async function loadItem(payload) {
|
|
21
|
+
try {
|
|
22
|
+
return await store.dispatch(`${cardNamespace}/LOAD_ITEM`, payload);
|
|
23
|
+
} catch (err) {
|
|
24
|
+
if (!onLoadErrorHandler) throw err;
|
|
25
|
+
onLoadErrorHandler(err)
|
|
26
|
+
}
|
|
21
27
|
}
|
|
22
28
|
|
|
23
29
|
function addItem(payload) {
|
|
@@ -8,6 +8,7 @@ import PColumn from 'primevue/column';
|
|
|
8
8
|
import PrimeVue from 'primevue/config';
|
|
9
9
|
import PTable from 'primevue/datatable';
|
|
10
10
|
import PDivider from 'primevue/divider';
|
|
11
|
+
import PGalleria from 'primevue/galleria';
|
|
11
12
|
import PImage from 'primevue/image';
|
|
12
13
|
import PInputText from 'primevue/inputtext';
|
|
13
14
|
import PMenubar from 'primevue/menubar';
|
|
@@ -53,6 +54,7 @@ const initPrimevue = (app) => {
|
|
|
53
54
|
app.component('PSlider', changeComponentCompatMode(PSlider));
|
|
54
55
|
app.component('PDivider', changeComponentCompatMode(PDivider));
|
|
55
56
|
app.component('PImage', changeComponentCompatMode(PImage));
|
|
57
|
+
app.component('PGalleria', changeComponentCompatMode(PGalleria));
|
|
56
58
|
|
|
57
59
|
app.directive('tooltip', Tooltip);
|
|
58
60
|
};
|
|
@@ -5,6 +5,7 @@ import button from './button/button.js';
|
|
|
5
5
|
import checkbox from './checkbox/checkbox.js';
|
|
6
6
|
import chip from './chip/chip.js';
|
|
7
7
|
import divider from './divider/divider.js';
|
|
8
|
+
import galleria from './galleria/galleria.js';
|
|
8
9
|
import image from './image/image.js';
|
|
9
10
|
import menubar from './menubar/menubar.js';
|
|
10
11
|
import popover from './popover/popover.js';
|
|
@@ -32,6 +33,7 @@ const components = {
|
|
|
32
33
|
tooltip,
|
|
33
34
|
datatable: table,
|
|
34
35
|
toolbar,
|
|
36
|
+
galleria,
|
|
35
37
|
};
|
|
36
38
|
|
|
37
39
|
export default components;
|