@webitel/ui-sdk 26.2.97 → 26.2.99

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 (64) hide show
  1. package/dist/{index-CIE2QeHL.js → index-C_UXGo2O.js} +1 -1
  2. package/dist/{index-sqohw3QE.js → index-tVqKxDM9.js} +1 -1
  3. package/dist/{install-BBw_I2Du.js → install-_y7woivq.js} +40 -38
  4. package/dist/{isObject-B3N5WXLK.js → isObject-CoRQk242.js} +1 -1
  5. package/dist/ui-sdk.css +1 -1
  6. package/dist/ui-sdk.js +1 -1
  7. package/dist/ui-sdk.umd.cjs +1 -1
  8. package/dist/{vidstack-Bq6c3Bam-CuAohe08.js → vidstack-Bq6c3Bam-7xeVs36h.js} +2 -2
  9. package/dist/{vidstack-D2pY00kU-B6IWbukl.js → vidstack-D2pY00kU-CPvKC0f1.js} +2 -2
  10. package/dist/{vidstack-DDXt6fpN-BhVYt4Rg.js → vidstack-DDXt6fpN-BnvnWmCT.js} +1 -1
  11. package/dist/{vidstack-D_-9AA6_-Daskar-l.js → vidstack-D_-9AA6_-DIpdAHJx.js} +1 -1
  12. package/dist/{vidstack-DqAw8m9J-CSrJn_66.js → vidstack-DqAw8m9J-CH0RQZQL.js} +1 -1
  13. package/dist/{vidstack-audio-BgeHEzdz.js → vidstack-audio-mp_TLPKd.js} +2 -2
  14. package/dist/{vidstack-dash-DBsPxYc-.js → vidstack-dash-CMBwvCZJ.js} +3 -3
  15. package/dist/{vidstack-google-cast-bKcGwpxx.js → vidstack-google-cast-uwJe-HGB.js} +3 -3
  16. package/dist/{vidstack-hls-Dm2UFXOA.js → vidstack-hls-DcGqPWbm.js} +3 -3
  17. package/dist/{vidstack-video-DrU7yf_f.js → vidstack-video-DQ5_xt3a.js} +2 -2
  18. package/dist/{vidstack-vimeo-RYLf6vXe.js → vidstack-vimeo-DqlS9H2R.js} +3 -3
  19. package/dist/{vidstack-youtube-CK4qcn0H.js → vidstack-youtube-CxiaENCC.js} +2 -2
  20. package/dist/{wt-action-bar-BdqZMtIl.js → wt-action-bar-1MxhyLn-.js} +1 -1
  21. package/dist/{wt-button-select-C2-h6AzY.js → wt-button-select-CW1xth4d.js} +1 -1
  22. package/dist/{wt-chat-emoji-BGm2HZ5P.js → wt-chat-emoji-Bf1hgkVk.js} +2 -2
  23. package/dist/{wt-confirm-dialog-DTy9gpuQ.js → wt-confirm-dialog-aZddppXV.js} +1 -1
  24. package/dist/{wt-context-menu-DTRKXXEW.js → wt-context-menu-CXgEmDmT.js} +1 -1
  25. package/dist/{wt-copy-action-jl-iK3QF.js → wt-copy-action-B1Km_F3k.js} +1 -1
  26. package/dist/{wt-datepicker--K8SqQCm.js → wt-datepicker-CfV3BU2N.js} +1 -1
  27. package/dist/{wt-display-chip-items-BzgGUUs2.js → wt-display-chip-items-ZaqziG__.js} +1 -1
  28. package/dist/{wt-dual-panel-CGqjUiAJ.js → wt-dual-panel-DLkrW-CP.js} +1 -1
  29. package/dist/{wt-dummy-4oiqiq8H.js → wt-dummy-BERgAbeQ.js} +1 -1
  30. package/dist/{wt-error-page-DVzFWk_q.js → wt-error-page-BTkRNv7A.js} +1 -1
  31. package/dist/{wt-expansion-card-Bvoy-Ecw.js → wt-expansion-card-D94d6O9H.js} +1 -1
  32. package/dist/{wt-expansion-panel-DvrfSCj-.js → wt-expansion-panel-syO-2wQd.js} +1 -1
  33. package/dist/{wt-filters-panel-wrapper-sDTSMZDB.js → wt-filters-panel-wrapper-9jasOA6m.js} +1 -1
  34. package/dist/{wt-galleria-BlDeFTsw.js → wt-galleria-CxQZMXH5.js} +1 -1
  35. package/dist/{wt-navigation-menu-BDcuHyxd.js → wt-navigation-menu-B3DayjkY.js} +1 -1
  36. package/dist/{wt-notifications-bar-Csa5dvDC.js → wt-notifications-bar-dbz6DjG2.js} +2 -2
  37. package/dist/{wt-page-header-ByBsfiyu.js → wt-page-header-DMOtSlJR.js} +1 -1
  38. package/dist/{wt-pagination-C-p6SXsh.js → wt-pagination-DRpxziCL.js} +1 -1
  39. package/dist/{wt-player-CkGDvuZH.js → wt-player-DOCoyz4Z.js} +1 -1
  40. package/dist/{wt-search-bar-BC5aVq8q.js → wt-search-bar-CNyBGfiT.js} +1 -1
  41. package/dist/{wt-selection-popup-CioPEz5j.js → wt-selection-popup-9QPiIMkZ.js} +1 -1
  42. package/dist/{wt-start-page-BEICkEsF.js → wt-start-page-uqD_fS5n.js} +1 -1
  43. package/dist/{wt-status-select-C_qnaYpz.js → wt-status-select-DkEXj7h-.js} +1 -1
  44. package/dist/{wt-stepper-CL8ovzwC.js → wt-stepper-MIpi_L_N.js} +1 -1
  45. package/dist/{wt-table-CzN3AkBx.js → wt-table-C6lGg4F7.js} +1 -1
  46. package/dist/{wt-table-actions-HbCwwdUG.js → wt-table-actions-DzK2i1JI.js} +1 -1
  47. package/dist/{wt-table-column-select-DwYGmWHL.js → wt-table-column-select-DaEMIgyq.js} +2 -2
  48. package/dist/{wt-tabs-wE82XKh0.js → wt-tabs-JCqwY4fT.js} +1 -1
  49. package/dist/{wt-tags-input-HC6QGKW6.js → wt-tags-input-CRImYcfm.js} +2 -2
  50. package/dist/{wt-timepicker-MUKkxRJM.js → wt-timepicker-gTRPVO-C.js} +1 -1
  51. package/dist/{wt-tree-CuLUbiWR.js → wt-tree-DzkJKfvR.js} +2 -2
  52. package/dist/{wt-tree-table-CYqQ97mq.js → wt-tree-table-DT74gPqB.js} +1 -1
  53. package/dist/{wt-type-extension-value-input-WXk9cxF0.js → wt-type-extension-value-input-CSabKSkq.js} +2 -2
  54. package/dist/{wt-vidstack-player-iKA_300w.js → wt-vidstack-player-DusOo_yS.js} +9 -9
  55. package/package.json +5 -1
  56. package/src/components/wt-avatar/wt-avatar.vue +9 -1
  57. package/src/modules/FilesExport/v2/composables/useFilesExport.ts +132 -0
  58. package/src/modules/FilesExport/v2/index.ts +1 -0
  59. package/src/modules/FilesExport/v2/types/types.ts +30 -0
  60. package/src/modules/FilesExport/v2/utils/utils.ts +31 -0
  61. package/types/modules/FilesExport/v2/composables/useFilesExport.d.ts +23 -0
  62. package/types/modules/FilesExport/v2/index.d.ts +1 -0
  63. package/types/modules/FilesExport/v2/types/types.d.ts +29 -0
  64. package/types/modules/FilesExport/v2/utils/utils.d.ts +4 -0
@@ -1,5 +1,5 @@
1
1
  import { computed as f, resolveComponent as r, createBlock as i, openBlock as l, withCtx as a, renderSlot as n, createCommentVNode as c, createVNode as p, createTextVNode as s, toDisplayString as u } from "vue";
2
- import { _ as b } from "./install-BBw_I2Du.js";
2
+ import { _ as b } from "./install-_y7woivq.js";
3
3
  const h = {
4
4
  __name: "wt-page-header",
5
5
  props: {
@@ -1,4 +1,4 @@
1
- import { _ as p, D as _ } from "./install-BBw_I2Du.js";
1
+ import { _ as p, D as _ } from "./install-_y7woivq.js";
2
2
  import { resolveComponent as c, resolveDirective as u, createElementBlock as g, openBlock as h, createElementVNode as o, createVNode as a, toDisplayString as m, withDirectives as d } from "vue";
3
3
  const f = {
4
4
  name: "WtPagination",
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as y, computed as m, watch as r, onMounted as w, createElementBlock as v, openBlock as B, normalizeClass as g, createElementVNode as s, createVNode as o } from "vue";
2
- import { E as e, _ as x } from "./install-BBw_I2Du.js";
2
+ import { E as e, _ as x } from "./install-_y7woivq.js";
3
3
  const V = ["src", "loop", "autoplay"], _ = ["controls", "download"], b = /* @__PURE__ */ y({
4
4
  __name: "wt-player",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as O, toRefs as $, computed as y, resolveComponent as o, resolveDirective as A, createBlock as l, openBlock as s, unref as h, createSlots as E, withCtx as n, createVNode as p, createElementVNode as U, createCommentVNode as m, renderSlot as j, createTextVNode as K, toDisplayString as z, withDirectives as H } from "vue";
2
- import { z as P, D as R, _ as T } from "./install-BBw_I2Du.js";
2
+ import { z as P, D as R, _ as T } from "./install-_y7woivq.js";
3
3
  const q = { class: "wt-search-bar__icon-controls" }, F = /* @__PURE__ */ O({
4
4
  __name: "wt-search-bar",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { resolveComponent as i, resolveDirective as $, createBlock as r, openBlock as t, mergeProps as x, withCtx as c, createVNode as f, createTextVNode as a, toDisplayString as s, unref as w, createElementVNode as h, renderSlot as k, createElementBlock as d, Fragment as z, renderList as D, normalizeClass as E, createCommentVNode as p, withDirectives as I } from "vue";
2
- import { _ as O, B as P } from "./install-BBw_I2Du.js";
2
+ import { _ as O, B as P } from "./install-_y7woivq.js";
3
3
  const j = { class: "wt-selection-popup__options" }, A = ["onClick"], F = { class: "wt-selection-popup__item-header typo-subtitle-2" }, L = {
4
4
  key: 1,
5
5
  class: "popup-options__item-text"
@@ -1,5 +1,5 @@
1
1
  import { inject as y, resolveComponent as _, createElementBlock as d, openBlock as a, createElementVNode as o, createBlock as u, createCommentVNode as h, createTextVNode as g, toDisplayString as l, createVNode as N, withCtx as f, defineComponent as w, computed as m, Fragment as E, renderList as k } from "vue";
2
- import { L as n, _ as p } from "./install-BBw_I2Du.js";
2
+ import { L as n, _ as p } from "./install-_y7woivq.js";
3
3
  n.env.NODE_ENV;
4
4
  n.env.NODE_ENV;
5
5
  n.env.NODE_ENV;
@@ -1,5 +1,5 @@
1
1
  import { resolveComponent as u, createBlock as d, openBlock as f, withCtx as c, createVNode as i } from "vue";
2
- import { _ as h } from "./install-BBw_I2Du.js";
2
+ import { _ as h } from "./install-_y7woivq.js";
3
3
  const s = Object.freeze({
4
4
  ONLINE: "online",
5
5
  PAUSE: "pause",
@@ -1,5 +1,5 @@
1
1
  import { computed as i, resolveComponent as w, createElementBlock as s, openBlock as p, createElementVNode as r, renderSlot as n, Fragment as h, renderList as f, createCommentVNode as y, createVNode as S, normalizeClass as C, withCtx as N, createTextVNode as V, toDisplayString as d } from "vue";
2
- import { _ as k } from "./install-BBw_I2Du.js";
2
+ import { _ as k } from "./install-_y7woivq.js";
3
3
  const x = { class: "wt-stepper" }, b = { class: "wt-stepper-header" }, g = { class: "wt-stepper-steps" }, B = { class: "wt-stepper-steps__wrapper" }, E = { class: "wt-stepper-description" }, $ = {
4
4
  __name: "wt-stepper",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as ee, useSlots as te, useTemplateRef as oe, ref as H, computed as _, onMounted as le, onUnmounted as ae, resolveComponent as L, resolveDirective as re, createBlock as f, openBlock as c, createSlots as W, withCtx as i, createCommentVNode as b, createElementBlock as U, createVNode as q, withModifiers as ne, Fragment as se, renderList as de, createElementVNode as $, normalizeStyle as ie, renderSlot as h, createTextVNode as K, toDisplayString as V, withDirectives as ce, nextTick as ue } from "vue";
2
- import { B as pe, _ as fe } from "./install-BBw_I2Du.js";
2
+ import { B as pe, _ as fe } from "./install-_y7woivq.js";
3
3
  import { g as me } from "./sortQueryAdapters-M9bNEM3P.js";
4
4
  const ye = (r, C) => {
5
5
  let o = null, p = null, w = null, d = !1;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as C, computed as l, resolveComponent as p, resolveDirective as g, createElementBlock as S, openBlock as n, renderSlot as y, withDirectives as r, createCommentVNode as u, createVNode as A, createBlock as a, withCtx as B, normalizeClass as I } from "vue";
2
- import { _ as O } from "./install-BBw_I2Du.js";
2
+ import { _ as O } from "./install-_y7woivq.js";
3
3
  const R = { class: "wt-table-actions" }, U = /* @__PURE__ */ C({
4
4
  __name: "wt-table-actions",
5
5
  props: {
@@ -1,6 +1,6 @@
1
- import { d as C } from "./index-CIE2QeHL.js";
1
+ import { d as C } from "./index-C_UXGo2O.js";
2
2
  import { resolveComponent as a, resolveDirective as g, createElementBlock as c, openBlock as r, withDirectives as v, createVNode as s, withCtx as n, createTextVNode as i, toDisplayString as p, createElementVNode as h, normalizeClass as S, Fragment as k, renderList as D, withModifiers as y } from "vue";
3
- import { _ as P } from "./install-BBw_I2Du.js";
3
+ import { _ as P } from "./install-_y7woivq.js";
4
4
  const H = {
5
5
  name: "WtTableColumnSelect",
6
6
  model: {
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as n, openBlock as r, normalizeClass as o, createElementVNode as a, Fragment as c, renderList as d, renderSlot as f, normalizeProps as h, guardReactiveProps as u, toDisplayString as v, normalizeStyle as m } from "vue";
2
- import { _ as p } from "./install-BBw_I2Du.js";
2
+ import { _ as p } from "./install-_y7woivq.js";
3
3
  const _ = {
4
4
  name: "WtTabs",
5
5
  model: {
@@ -1,5 +1,5 @@
1
- import { d as O } from "./index-sqohw3QE.js";
2
- import { F as h, _ as E, C as S, M as z, G as A, H as B } from "./install-BBw_I2Du.js";
1
+ import { d as O } from "./index-tVqKxDM9.js";
2
+ import { F as h, _ as E, C as S, M as z, G as A, H as B } from "./install-_y7woivq.js";
3
3
  import { resolveComponent as n, resolveDirective as R, createElementBlock as I, openBlock as v, normalizeClass as P, createBlock as p, createCommentVNode as c, createVNode as o, mergeProps as g, withCtx as a, renderSlot as b, normalizeProps as f, guardReactiveProps as $, createTextVNode as d, toDisplayString as r, toHandlers as j, createSlots as q, withDirectives as V, createElementVNode as w, vShow as H, withModifiers as N } from "vue";
4
4
  const D = {
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as q, toRefs as R, computed as o, resolveComponent as w, createElementBlock as O, openBlock as d, normalizeClass as j, unref as t, createBlock as r, createCommentVNode as m, createElementVNode as A, mergeProps as F, withCtx as x, renderSlot as G, normalizeProps as J, guardReactiveProps as K, createTextVNode as S, toDisplayString as y, nextTick as Q } from "vue";
2
- import { B as W, z as X, C as Y, M as Z, _ as ee } from "./install-BBw_I2Du.js";
2
+ import { B as W, z as X, C as Y, M as Z, _ as ee } from "./install-_y7woivq.js";
3
3
  const le = { class: "wt-timepicker__wrapper" }, c = 3600, M = 60, ae = /* @__PURE__ */ q({
4
4
  __name: "wt-timepicker",
5
5
  props: {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as z, computed as L, ref as J, onMounted as K, watch as Q, resolveComponent as I, createElementBlock as v, openBlock as i, Fragment as x, createElementVNode as D, withDirectives as X, renderSlot as T, createBlock as w, createCommentVNode as b, renderList as A, normalizeClass as M, toDisplayString as O, createVNode as Y, withCtx as W, createSlots as U, normalizeProps as q, guardReactiveProps as F, vShow as Z, unref as N } from "vue";
2
- import { d as P } from "./index-sqohw3QE.js";
3
- import { W as _, _ as R } from "./install-BBw_I2Du.js";
2
+ import { d as P } from "./index-tVqKxDM9.js";
3
+ import { W as _, _ as R } from "./install-_y7woivq.js";
4
4
  const ee = { class: "wt-tree-line" }, te = { class: "wt-tree-line__icon-wrapper" }, ae = { class: "wt-tree-line__label typo-body-1" }, le = /* @__PURE__ */ z({
5
5
  __name: "wt-tree-line",
6
6
  props: {
@@ -1,5 +1,5 @@
1
1
  import { computed as C, unref as B, defineComponent as z, ref as O, onMounted as D, resolveComponent as L, createElementBlock as d, openBlock as l, Fragment as $, createElementVNode as u, createCommentVNode as b, normalizeClass as T, renderList as m, renderSlot as p, createBlock as x, createTextVNode as U, toDisplayString as H, createSlots as W, withCtx as I, toRef as F, normalizeStyle as j, withModifiers as q, createVNode as G } from "vue";
2
- import { B as J, O as R, P as Q, _ as M } from "./install-BBw_I2Du.js";
2
+ import { B as J, O as R, P as Q, _ as M } from "./install-_y7woivq.js";
3
3
  import { g as X } from "./sortQueryAdapters-M9bNEM3P.js";
4
4
  const Y = ({ headers: e }) => {
5
5
  const { t: y } = J();
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as Ae, mergeModels as Te, useModel as De, computed as _, resolveComponent as J, createBlock as Z, renderSlot as N, createCommentVNode as we, unref as w, openBlock as ee, mergeProps as x, createVNode as P } from "vue";
2
- import { ae as ve, af as Oe, N as qe, ag as ke, ah as Ee, B as Se, ai as Ce, aj as te, ak as _e } from "./install-BBw_I2Du.js";
3
- import { d as xe } from "./index-CIE2QeHL.js";
2
+ import { ae as ve, af as Oe, N as qe, ag as ke, ah as Ee, B as Se, ai as Ce, aj as te, ak as _e } from "./install-_y7woivq.js";
3
+ import { d as xe } from "./index-C_UXGo2O.js";
4
4
  import { get as Ue, set as Le } from "lodash-es";
5
5
  import "@aliasedDeps/api-services/axios";
6
6
  import * as e from "zod";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as qe, createElementBlock as Ie, openBlock as gt, createVNode as ie, useTemplateRef as ha, inject as nn, onMounted as ca, onBeforeUnmount as ua, normalizeClass as Xs, unref as Js, createElementVNode as yt, createBlock as is, createCommentVNode as ve, toDisplayString as da, renderSlot as os, ref as Ci, provide as pa, computed as Pi, withCtx as xi } from "vue";
2
- import { R as fa, S as ma, T as ga, U as ya, P as Ce, _ as Oe, V as ba, C as at } from "./install-BBw_I2Du.js";
2
+ import { R as fa, S as ma, T as ga, U as ya, P as Ce, _ as Oe, V as ba, C as at } from "./install-_y7woivq.js";
3
3
  const dt = /* @__PURE__ */ Symbol(0);
4
4
  let ls = !1, Fs = !1, ot = null, ee = null, et = null, X = 0, te = [], Zs = {};
5
5
  const $a = () => {
@@ -3263,7 +3263,7 @@ class To {
3263
3263
  return "audio";
3264
3264
  }
3265
3265
  async load(t) {
3266
- return new (await import("./vidstack-audio-BgeHEzdz.js")).AudioProvider(this.target, t);
3266
+ return new (await import("./vidstack-audio-mp_TLPKd.js")).AudioProvider(this.target, t);
3267
3267
  }
3268
3268
  }
3269
3269
  class di {
@@ -3276,7 +3276,7 @@ class di {
3276
3276
  return "video";
3277
3277
  }
3278
3278
  async load(t) {
3279
- return new (await import("./vidstack-video-DrU7yf_f.js")).VideoProvider(this.target, t);
3279
+ return new (await import("./vidstack-video-DQ5_xt3a.js")).VideoProvider(this.target, t);
3280
3280
  }
3281
3281
  }
3282
3282
  class pi extends di {
@@ -3286,7 +3286,7 @@ class pi extends di {
3286
3286
  return pi.supported && De(t);
3287
3287
  }
3288
3288
  async load(t) {
3289
- return new (await import("./vidstack-hls-Dm2UFXOA.js")).HLSProvider(this.target, t);
3289
+ return new (await import("./vidstack-hls-DcGqPWbm.js")).HLSProvider(this.target, t);
3290
3290
  }
3291
3291
  }
3292
3292
  class fi extends di {
@@ -3296,7 +3296,7 @@ class fi extends di {
3296
3296
  return fi.supported && li(t);
3297
3297
  }
3298
3298
  async load(t) {
3299
- return new (await import("./vidstack-dash-DBsPxYc-.js")).DASHProvider(this.target, t);
3299
+ return new (await import("./vidstack-dash-CMBwvCZJ.js")).DASHProvider(this.target, t);
3300
3300
  }
3301
3301
  }
3302
3302
  class So {
@@ -3318,7 +3318,7 @@ class So {
3318
3318
  return "video";
3319
3319
  }
3320
3320
  async load(t) {
3321
- return new (await import("./vidstack-vimeo-RYLf6vXe.js")).VimeoProvider(this.target, t);
3321
+ return new (await import("./vidstack-vimeo-DqlS9H2R.js")).VimeoProvider(this.target, t);
3322
3322
  }
3323
3323
  async loadPoster(t, e, s) {
3324
3324
  const { resolveVimeoVideoId: n, getVimeoVideoInfo: a } = await import("./vidstack-krOAtKMi-C50BTxmn.js");
@@ -3350,7 +3350,7 @@ class ko {
3350
3350
  return "video";
3351
3351
  }
3352
3352
  async load(t) {
3353
- return new (await import("./vidstack-youtube-CK4qcn0H.js")).YouTubeProvider(this.target, t);
3353
+ return new (await import("./vidstack-youtube-CxiaENCC.js")).YouTubeProvider(this.target, t);
3354
3354
  }
3355
3355
  async loadPoster(t, e, s) {
3356
3356
  const { findYouTubePoster: n, resolveYouTubeVideoId: a } = await import("./vidstack-Dm1xEU9Q-CXHNvShT.js"), r = v(t.src) && a(t.src);
@@ -3818,7 +3818,7 @@ class Ao extends Qt {
3818
3818
  throw n.code = "CAST_NOT_AVAILABLE", n;
3819
3819
  }
3820
3820
  if (_e("https://www.gstatic.com"), !this.#$) {
3821
- const n = await import("./vidstack-D2pY00kU-B6IWbukl.js").then((a) => a.v);
3821
+ const n = await import("./vidstack-D2pY00kU-CPvKC0f1.js").then((a) => a.v);
3822
3822
  this.#$ = new n.GoogleCastLoader();
3823
3823
  }
3824
3824
  await this.#$.prompt(this.#s), t && this.#e.queue.enqueue("media-google-cast-request", t);
@@ -5511,7 +5511,7 @@ class Bo extends $(HTMLElement, Hn) {
5511
5511
  if (this.#e?.classList.contains("vds-google-cast"))
5512
5512
  return this.#e;
5513
5513
  const t = document.createElement("div");
5514
- return t.classList.add("vds-google-cast"), import("./vidstack-D_-9AA6_-Daskar-l.js").then(({ insertContent: e }) => {
5514
+ return t.classList.add("vds-google-cast"), import("./vidstack-D_-9AA6_-DIpdAHJx.js").then(({ insertContent: e }) => {
5515
5515
  e(t, this.#t.$state);
5516
5516
  }), t;
5517
5517
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "26.2.97",
3
+ "version": "26.2.99",
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 biome:format:all || true) && npm run publish-lib",
@@ -305,6 +305,10 @@
305
305
  "types": "./types/modules*",
306
306
  "import": "./src/modules*"
307
307
  },
308
+ "./modules/FilesExport": {
309
+ "types": "./types/modules/FilesExport/v2/index.d.ts",
310
+ "import": "./src/modules/FilesExport/v2/index.ts"
311
+ },
308
312
  "./modules/CallSession": {
309
313
  "types": "./types/modules/CallSession/index.d.ts",
310
314
  "import": "./src/modules/CallSession/index.ts"
@@ -91,6 +91,8 @@ const isLetterAvatar = computed(() => !props.src && props.username);
91
91
  const avatarLetters = computed(() => {
92
92
  if (!props.username) return false;
93
93
  const abbreviation = props.username
94
+ .trim()
95
+ .replace(/\s+/g, ' ') //change several spaces to one
94
96
  .split(' ')
95
97
  .map((word) => word.at(0).toUpperCase())
96
98
  .join('');
@@ -159,7 +161,13 @@ const avatarLettersBackground = computed(() => {
159
161
  },
160
162
  ];
161
163
  const searchedLetter = letterList.find(({ letters }) =>
162
- letters.includes(avatarLetters.value.at(0).toUpperCase()),
164
+ letters.includes(
165
+ avatarLetters.value
166
+ .at(0)
167
+ .trim()
168
+ .replace(/\s+/g, ' ') //change several spaces to one
169
+ .toUpperCase(),
170
+ ),
163
171
  );
164
172
  return searchedLetter?.color || '--p-avatar-letters-p1-color';
165
173
  });
@@ -0,0 +1,132 @@
1
+ import JSZip from 'jszip';
2
+ import { ref } from 'vue';
3
+ import { _wtUiLog } from '../../../../scripts/logger';
4
+ import { UseFilesExportOptions, UseFilesExportReturn } from '../types/types';
5
+ import { fetchFileBinary, handleMimeType, saveZip } from '../utils/utils';
6
+
7
+ export const useFilesExportProgress = () => {
8
+ const isLoading = ref(false);
9
+ const downloadStatus = ref<{
10
+ count: number;
11
+ }>({
12
+ count: 0,
13
+ });
14
+ const zippingStatus = ref<{
15
+ percent: number;
16
+ }>({
17
+ percent: 0,
18
+ });
19
+
20
+ const updateDownloadStatus = (count: number) => {
21
+ downloadStatus.value = {
22
+ count,
23
+ };
24
+ };
25
+ const updateZippingStatus = (percent: number) => {
26
+ zippingStatus.value = {
27
+ percent,
28
+ };
29
+ };
30
+
31
+ const start = () => {
32
+ isLoading.value = true;
33
+ };
34
+
35
+ const reset = () => {
36
+ isLoading.value = false;
37
+ downloadStatus.value = {
38
+ count: 0,
39
+ };
40
+ zippingStatus.value = {
41
+ percent: 0,
42
+ };
43
+ };
44
+
45
+ return {
46
+ isLoading,
47
+ downloadStatus,
48
+ zippingStatus,
49
+
50
+ start,
51
+ updateDownloadStatus,
52
+ updateZippingStatus,
53
+ reset,
54
+ };
55
+ };
56
+
57
+ export const useFilesExport = ({
58
+ getFileURL,
59
+ fetch,
60
+ filename,
61
+ skipFilesWithError,
62
+ }: UseFilesExportOptions): UseFilesExportReturn => {
63
+ const {
64
+ isLoading,
65
+ downloadStatus,
66
+ zippingStatus,
67
+ start: startProgress,
68
+ updateDownloadStatus,
69
+ updateZippingStatus,
70
+ reset: resetProgress,
71
+ } = useFilesExportProgress();
72
+
73
+ const fillZip = async (zip: JSZip) => {
74
+ let page = 1;
75
+ let hasNext = true;
76
+ do {
77
+ const { items, next } = await fetch({
78
+ page,
79
+ size: 1000,
80
+ });
81
+ for (const item of items) {
82
+ try {
83
+ const binary = await fetchFileBinary(getFileURL(item));
84
+ const itemFilename = handleMimeType(item);
85
+ zip.file(itemFilename, binary);
86
+ updateDownloadStatus(downloadStatus.value.count + 1);
87
+ } catch (err) {
88
+ _wtUiLog.warn({
89
+ entity: 'script',
90
+ module: 'FilesExport',
91
+ })(`An error occurred while downloading a file id=${item.id}`, err);
92
+ if (!skipFilesWithError) {
93
+ throw err;
94
+ }
95
+ }
96
+ }
97
+ hasNext = next;
98
+ page++;
99
+ } while (hasNext);
100
+ };
101
+
102
+ const generateZip = async (zip: JSZip): Promise<Blob> => {
103
+ return zip.generateAsync(
104
+ {
105
+ type: 'blob',
106
+ },
107
+ (progress) => {
108
+ updateZippingStatus(progress.percent);
109
+ },
110
+ );
111
+ };
112
+
113
+ const exportFiles = async () => {
114
+ startProgress();
115
+ try {
116
+ const zip = new JSZip();
117
+ await fillZip(zip);
118
+ const blob = await generateZip(zip);
119
+ saveZip(blob, filename);
120
+ } finally {
121
+ resetProgress();
122
+ }
123
+ };
124
+
125
+ return {
126
+ isLoading,
127
+ downloadStatus,
128
+ zippingStatus,
129
+
130
+ exportFiles,
131
+ };
132
+ };
@@ -0,0 +1 @@
1
+ export { useFilesExport } from './composables/useFilesExport';
@@ -0,0 +1,30 @@
1
+ import { Ref } from 'vue';
2
+
3
+ export type ExportedItem = {
4
+ name: string; // file name inside zip
5
+ mimeType?: string;
6
+ } & Record<string, unknown>;
7
+
8
+ export type UseFilesExportOptions = {
9
+ getFileURL: (item: ExportedItem) => string;
10
+ fetch: ({ page, size }: { page: number; size?: number }) => Promise<{
11
+ items: ExportedItem[];
12
+ next: boolean;
13
+ }>;
14
+ filename?: string;
15
+ skipFilesWithError?: boolean;
16
+ };
17
+
18
+ export type FilesExportProgressStatus = {
19
+ isLoading: Ref<boolean>;
20
+ downloadStatus: Ref<{
21
+ count: number;
22
+ }>;
23
+ zippingStatus: Ref<{
24
+ percent: number;
25
+ }>;
26
+ };
27
+
28
+ export type UseFilesExportReturn = {
29
+ exportFiles: () => Promise<void>;
30
+ } & FilesExportProgressStatus;
@@ -0,0 +1,31 @@
1
+ import { saveAs } from 'file-saver-es';
2
+ import jszipUtils from 'jszip-utils';
3
+
4
+ import type { ExportedItem } from '../types/types';
5
+
6
+ export function saveZip(blob: Blob, filename: string) {
7
+ saveAs(blob, `${filename}.zip`);
8
+ }
9
+
10
+ export function fetchFileBinary(url: string): Promise<string | ArrayBuffer> {
11
+ return new Promise((resolve, reject) => {
12
+ jszipUtils.getBinaryContent(url, (err, data) => {
13
+ if (err) reject(err);
14
+ else resolve(data);
15
+ });
16
+ });
17
+ }
18
+
19
+ export function handleMimeType(item: ExportedItem): string {
20
+ const assertedExt = item.name.split('.').pop();
21
+ const nameWithoutExt = assertedExt
22
+ ? item.name.split('.').slice(0, -1).join('.')
23
+ : item.name;
24
+ const mimeExt = item.mimeType?.split('/').pop();
25
+ if (assertedExt) {
26
+ return `${nameWithoutExt}.${assertedExt}`;
27
+ } else if (mimeExt) {
28
+ return `${nameWithoutExt}.${mimeExt}`;
29
+ }
30
+ return nameWithoutExt;
31
+ }
@@ -0,0 +1,23 @@
1
+ import { UseFilesExportOptions, UseFilesExportReturn } from '../types/types';
2
+ export declare const useFilesExportProgress: () => {
3
+ isLoading: import("vue").Ref<boolean, boolean>;
4
+ downloadStatus: import("vue").Ref<{
5
+ count: number;
6
+ }, {
7
+ count: number;
8
+ } | {
9
+ count: number;
10
+ }>;
11
+ zippingStatus: import("vue").Ref<{
12
+ percent: number;
13
+ }, {
14
+ percent: number;
15
+ } | {
16
+ percent: number;
17
+ }>;
18
+ start: () => void;
19
+ updateDownloadStatus: (count: number) => void;
20
+ updateZippingStatus: (percent: number) => void;
21
+ reset: () => void;
22
+ };
23
+ export declare const useFilesExport: ({ getFileURL, fetch, filename, skipFilesWithError, }: UseFilesExportOptions) => UseFilesExportReturn;
@@ -0,0 +1 @@
1
+ export { useFilesExport } from './composables/useFilesExport';
@@ -0,0 +1,29 @@
1
+ import { Ref } from 'vue';
2
+ export type ExportedItem = {
3
+ name: string;
4
+ mimeType?: string;
5
+ } & Record<string, unknown>;
6
+ export type UseFilesExportOptions = {
7
+ getFileURL: (item: ExportedItem) => string;
8
+ fetch: ({ page, size }: {
9
+ page: number;
10
+ size?: number;
11
+ }) => Promise<{
12
+ items: ExportedItem[];
13
+ next: boolean;
14
+ }>;
15
+ filename?: string;
16
+ skipFilesWithError?: boolean;
17
+ };
18
+ export type FilesExportProgressStatus = {
19
+ isLoading: Ref<boolean>;
20
+ downloadStatus: Ref<{
21
+ count: number;
22
+ }>;
23
+ zippingStatus: Ref<{
24
+ percent: number;
25
+ }>;
26
+ };
27
+ export type UseFilesExportReturn = {
28
+ exportFiles: () => Promise<void>;
29
+ } & FilesExportProgressStatus;
@@ -0,0 +1,4 @@
1
+ import type { ExportedItem } from '../types/types';
2
+ export declare function saveZip(blob: Blob, filename: string): void;
3
+ export declare function fetchFileBinary(url: string): Promise<string | ArrayBuffer>;
4
+ export declare function handleMimeType(item: ExportedItem): string;