@webitel/ui-sdk 26.6.56 → 26.6.58

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 (128) hide show
  1. package/dist/{clients-BylvVtUg.js → clients-CX7SniM1.js} +6 -6
  2. package/dist/{components-Ceu_o5QZ.js → components-reoSYpZx.js} +2063 -1152
  3. package/dist/{composables-DJlgUtl5.js → composables-Ckg9IFyC.js} +3 -3
  4. package/dist/{debounce-DPzXwiOS.js → debounce-Bp3jy7S5.js} +2 -2
  5. package/dist/{deep-copy-CQw5yeEH.js → deep-copy-CTgLtgMO.js} +1 -1
  6. package/dist/{dist-BYiYpK00.js → dist-CAOIU8xq.js} +1 -1
  7. package/dist/{dist-05Bf47Wg.js → dist-Crpfx4FA.js} +1 -1
  8. package/dist/dist-uCh8HaP3.js +1910 -0
  9. package/dist/{enums-DW1oVune.js → enums-CBWwTuq7.js} +14 -10
  10. package/dist/{floating-ui.dom-n2j9PKCB.js → floating-ui.dom-Ch9ml4Rx.js} +322 -352
  11. package/dist/{generateInstance-BD4pC4PS.js → generateInstance-DpLUt03M.js} +3 -3
  12. package/dist/{chunk-CY3AvKd6.js → rolldown-runtime-BEcgMyyN.js} +8 -1
  13. package/dist/{side-channel-Cyte-MzW.js → side-channel-8SnAuRMA.js} +18 -18
  14. package/dist/ui-sdk.js +831 -25977
  15. package/dist/ui-sdk.umd.cjs +1849 -7448
  16. package/dist/{useValidation-NX7UjlXi.js → useValidation-B0voza7s.js} +2 -2
  17. package/dist/{useVidstackSrc-jCDCYTce.js → useVidstackSrc-epUQZhkL.js} +6 -4
  18. package/dist/{useWtTable-tqmVOvve.js → useWtTable-DrrvvB6k.js} +1 -1
  19. package/dist/vidstack-BLEs9rMG-Agxpv9v8.js +11 -0
  20. package/dist/{vidstack-video-IgjC6GLU.js → vidstack-C6nBVWwn-BlZqtkYB.js} +11 -11
  21. package/dist/{vidstack-C9vIqaYT-C1EgPq17.js → vidstack-CDOoBnJL-BCwLE1fB.js} +2 -2
  22. package/dist/{vidstack-Bq6c3Bam-hoRopLll.js → vidstack-CI5oafcm-DAV7Lilr.js} +38 -37
  23. package/dist/{vidstack-D_-9AA6_-Dq3APB0-.js → vidstack-CXo4cwSP2-6kDG00FC.js} +3 -3
  24. package/dist/{vidstack-Dihypf8P-ibWMCHK-.js → vidstack-CZQo98ic-D3uTuzB9.js} +1 -1
  25. package/dist/{vidstack-DDXt6fpN-Don_e6LS.js → vidstack-CceZzgm4-C37rtwSQ.js} +13 -13
  26. package/dist/{vidstack-ChQTHmIQ-nTO94M6P.js → vidstack-CdfyZegh-Bn47J4h6.js} +3 -3
  27. package/dist/{vidstack-C2US-gSO-DeIgENrW.js → vidstack-CgfrU1hS-CNTJkyzm.js} +26 -26
  28. package/dist/{vidstack-BGSTndAW-CyKM_CM4.js → vidstack-D9mvYVIz-DesuYgKV.js} +179 -278
  29. package/dist/{vidstack-BQlOPwOu-ChhdffAJ.js → vidstack-DATGlkSz2-BnlUxvSa.js} +2 -2
  30. package/dist/{vidstack-D2pY00kU-dXPuSPZl.js → vidstack-DUnfBERX2-Cl6yTfB3.js} +6 -6
  31. package/dist/{vidstack-Ci54COQW-CAAXpwzv.js → vidstack-DYPyTdYw-BzqKxwCK.js} +49 -44
  32. package/dist/vidstack-IMa-zkAV-DevzBPj3.js +35 -0
  33. package/dist/{vidstack-B01xzxC4-DeYSgDZy.js → vidstack-_E7LrUjK-DaCLs8ge.js} +1 -1
  34. package/dist/{vidstack-audio-CCSR8cXr.js → vidstack-audio-CH4wIf0F.js} +2 -2
  35. package/dist/{vidstack-dash-CNcNULYU.js → vidstack-dash-CmlmZIFT.js} +31 -32
  36. package/dist/{vidstack-google-cast-Co5Q_rfL.js → vidstack-google-cast-COyApZ_Z.js} +17 -18
  37. package/dist/{vidstack-hls-BP6P23Cc.js → vidstack-hls-D1sxUvBd.js} +70 -71
  38. package/dist/vidstack-ijoHbXQB-DBClSWHE.js +32 -0
  39. package/dist/{vidstack-CTojmhKq-D7sZJxgm.js → vidstack-mvRkf9tF-CoFf7dS9.js} +7 -7
  40. package/dist/vidstack-q-9soyHT-CiZ4hFSF.js +50 -0
  41. package/dist/vidstack-video-iy3-Vo1A.js +2 -0
  42. package/dist/{vidstack-vimeo-EzzPpggD.js → vidstack-vimeo-BhNQpz6m.js} +58 -58
  43. package/dist/{vidstack-youtube-C1_NAfWa.js → vidstack-youtube-BIhUrYs-.js} +33 -30
  44. package/dist/{vue-i18n-B8Px6VcD.js → vue-i18n-lTFLGg_9.js} +796 -728
  45. package/dist/{wt-action-bar-BHg0dHh-.js → wt-action-bar-B17FBHD7.js} +2 -2
  46. package/dist/{wt-button-Cv7wRtF5.js → wt-button-0kP5bPMs.js} +30 -30
  47. package/dist/wt-chat-emoji-C_fb9LZF.js +1372 -0
  48. package/dist/{wt-datepicker-DmmqWre1.js → wt-datepicker-baNcFWZ1.js} +765 -765
  49. package/dist/{wt-display-chip-items-CIW2Kmd1.js → wt-display-chip-items-CgrbKQ5R.js} +1 -1
  50. package/dist/{wt-dual-panel-Cnzr4m-k.js → wt-dual-panel-C5LZm1Tr.js} +1 -1
  51. package/dist/{wt-expansion-card-B3J3dMdV.js → wt-expansion-card-C2qETdn0.js} +2 -2
  52. package/dist/{wt-expansion-panel-CYZR6tYG.js → wt-expansion-panel-Dvzj9PTk.js} +1 -1
  53. package/dist/{wt-galleria-AICD8wZ_.js → wt-galleria-DL3svAQs.js} +2 -2
  54. package/dist/{wt-icon-CqEgBu_3.js → wt-icon-DIdpwmpC.js} +224 -219
  55. package/dist/{wt-icon-action-DlZx4RV6.js → wt-icon-action-C8WN2oVD.js} +2 -2
  56. package/dist/{wt-icon-btn-B66HR8qM.js → wt-icon-btn-BLnhJADA.js} +1 -1
  57. package/dist/{wt-notifications-bar-Bbzp4mi1.js → wt-notifications-bar-Dx1YPqFu.js} +7 -8
  58. package/dist/{wt-pagination-CZuQFM3-.js → wt-pagination-G2ZGU4Pi.js} +1 -1
  59. package/dist/{wt-player-CFL51-s6.js → wt-player-CCwEyUzv.js} +6 -6
  60. package/dist/{wt-popover-CJin-2BO.js → wt-popover-BdwrokVy.js} +1 -1
  61. package/dist/{wt-search-bar--ACLsoNo.js → wt-search-bar-CiQJ9ViN.js} +4 -4
  62. package/dist/{wt-selection-popup-B77UY7Yu.js → wt-selection-popup-Bh9D7VtA.js} +1 -1
  63. package/dist/{wt-send-message-popup-D5_uap5F.js → wt-send-message-popup-CIH2cusg.js} +3 -3
  64. package/dist/{wt-slider-BS3SoGht.js → wt-slider-BPzRTeYU.js} +1 -1
  65. package/dist/{wt-start-page-eN1PEokc.js → wt-start-page-DMXRhA9E.js} +1 -1
  66. package/dist/{wt-table-2AC3hrK9.js → wt-table-25p4E01H.js} +2 -2
  67. package/dist/{wt-table-column-select-DFF6z3a3.js → wt-table-column-select-C3ma6jxK.js} +3 -3
  68. package/dist/{wt-timepicker-DpZmWZdv.js → wt-timepicker-DyM1OQX4.js} +3 -3
  69. package/dist/wt-toast-KTAx-8zA.js +71 -0
  70. package/dist/{wt-tree-ZyoPrNOl.js → wt-tree-DZ9ErOGj.js} +22 -12
  71. package/dist/{wt-tree-table-DkK3EyzZ.js → wt-tree-table-BlZEw4tr.js} +41 -41
  72. package/dist/{wt-type-extension-value-input-f5i8mReW.js → wt-type-extension-value-input-Dw24yOLg.js} +4 -4
  73. package/dist/{wt-vidstack-player-Ba6-mEdW.js → wt-vidstack-player-CLtfGaGj.js} +1601 -1453
  74. package/package.json +1 -1
  75. package/src/assets/icons/sprite/index.ts +7 -0
  76. package/src/assets/icons/sprite/ws-signal-high.svg +11 -0
  77. package/src/assets/icons/sprite/ws-signal-low.svg +11 -0
  78. package/src/assets/icons/sprite/ws-signal-medium.svg +11 -0
  79. package/src/components/index.js +3 -0
  80. package/src/components/wt-call-media-metric/wt-call-media-metric.vue +41 -0
  81. package/src/components/wt-toast/wt-toast.vue +2 -2
  82. package/src/enums/ConnectionQualityLevel/ConnectionQualityLevel.enum.ts +8 -0
  83. package/src/enums/index.ts +6 -0
  84. package/src/locale/en/en.js +5 -0
  85. package/src/locale/es/es.js +5 -0
  86. package/src/locale/kz/kz.js +5 -0
  87. package/src/locale/pl/pl.js +5 -0
  88. package/src/locale/ro/ro.js +5 -0
  89. package/src/locale/ru/ru.js +5 -0
  90. package/src/locale/uk/uk.js +5 -0
  91. package/src/locale/uz/uz.js +5 -0
  92. package/src/locale/vi/vi.js +5 -0
  93. package/src/scripts/getConnectionQuality.ts +13 -0
  94. package/src/scripts/index.js +2 -0
  95. package/types/components/wt-call-media-metric/wt-call-media-metric.vue.d.ts +13 -0
  96. package/types/components/wt-galleria/wt-galleria.vue.d.ts +2 -6
  97. package/types/components/wt-input-number/wt-input-number.vue.d.ts +2 -2
  98. package/types/components/wt-input-text/wt-input-text.vue.d.ts +2 -2
  99. package/types/components/wt-switcher/wt-switcher.vue.d.ts +2 -2
  100. package/types/components/wt-table/wt-table.vue.d.ts +1 -1
  101. package/types/components/wt-textarea/wt-textarea.vue.d.ts +1 -9
  102. package/types/enums/ConnectionQualityLevel/ConnectionQualityLevel.enum.d.ts +6 -0
  103. package/types/enums/index.d.ts +3 -2
  104. package/types/locale/en/en.d.ts +5 -0
  105. package/types/locale/es/es.d.ts +5 -0
  106. package/types/locale/i18n.d.ts +45 -0
  107. package/types/locale/index.d.ts +45 -0
  108. package/types/locale/kz/kz.d.ts +5 -0
  109. package/types/locale/pl/pl.d.ts +5 -0
  110. package/types/locale/ro/ro.d.ts +5 -0
  111. package/types/locale/ru/ru.d.ts +5 -0
  112. package/types/locale/uk/uk.d.ts +5 -0
  113. package/types/locale/uz/uz.d.ts +5 -0
  114. package/types/locale/vi/vi.d.ts +5 -0
  115. package/types/modules/AuditForm/components/audit-form-question-write-wrapper.vue.d.ts +1 -5
  116. package/types/modules/AuditForm/components/audit-form.vue.d.ts +4 -10
  117. package/types/modules/Flow/lookups/FlowTypeApplications.lookup.d.ts +5 -5
  118. package/types/scripts/getConnectionQuality.d.ts +2 -0
  119. package/types/scripts/index.d.ts +2 -1
  120. package/dist/dist-Dz55hlwp.js +0 -1371
  121. package/dist/eventBus-By3thVlR.js +0 -31
  122. package/dist/usetoast-BECIyaas.js +0 -10
  123. package/dist/vidstack-D5EzK014-DOe01V3H.js +0 -14
  124. package/dist/vidstack-Dm1xEU9Q-VlefmrP8.js +0 -31
  125. package/dist/vidstack-DqAw8m9J-Dk1GT3Oe.js +0 -22
  126. package/dist/vidstack-krOAtKMi-DN1WZC3p.js +0 -30
  127. package/dist/wt-chat-emoji-Dnu07Or5.js +0 -2226
  128. package/dist/wt-toast-gaZL33Am.js +0 -44
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "26.6.56",
3
+ "version": "26.6.58",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "dev": "npm run docs:dev",
@@ -241,6 +241,9 @@ import violation from './violation.svg?raw';
241
241
  import violationFilled from './violation--filled.svg?raw';
242
242
  import warning from './warning.svg?raw';
243
243
  import webitelLogo from './webitel-logo.svg?raw';
244
+ import wsSignalHigh from './ws-signal-high.svg?raw';
245
+ import wsSignalLow from './ws-signal-low.svg?raw';
246
+ import wsSignalMedium from './ws-signal-medium.svg?raw';
244
247
  import zoomIn from './zoom-in.svg?raw';
245
248
  import zoomOut from './zoom-out.svg?raw';
246
249
 
@@ -454,6 +457,10 @@ export default objCamelToKebab({
454
457
 
455
458
  webitelLogo,
456
459
 
460
+ wsSignalHigh,
461
+ wsSignalMedium,
462
+ wsSignalLow,
463
+
457
464
  portal,
458
465
 
459
466
  previewTagAudio,
@@ -0,0 +1,11 @@
1
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="2" y="12" width="3" height="9" fill="#2DD264"/>
3
+ <path d="M5 12L7 11V20L5 21V12Z" fill="#24A850"/>
4
+ <path d="M4 11H7L5 12H2L4 11Z" fill="#28BD5A"/>
5
+ <path d="M11 8H14L12 9H9L11 8Z" fill="#28BD5A"/>
6
+ <path d="M18 4H21L19 5H16L18 4Z" fill="#28BD5A"/>
7
+ <rect x="9" y="9" width="3" height="12" fill="#2DD264"/>
8
+ <rect x="16" y="5" width="3" height="16" fill="#2DD264"/>
9
+ <path d="M12 9L14 8V20L12 21V9Z" fill="#24A850"/>
10
+ <path d="M19 5L21.0001 4V20L19 21V5Z" fill="#24A850"/>
11
+ </svg>
@@ -0,0 +1,11 @@
1
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="2" y="12" width="3" height="9" fill="#EC7979"/>
3
+ <path d="M5 12L7 11V20L5 21V12Z" fill="#E54C4C"/>
4
+ <path d="M4 11H7L5 12H2L4 11Z" fill="#E96363"/>
5
+ <path d="M11 8H14L12 9H9L11 8Z" fill="#C2C7D6"/>
6
+ <path d="M18 4H21L19 5H16L18 4Z" fill="#C2C7D6"/>
7
+ <rect x="9" y="9" width="3" height="12" fill="#E0E3EB"/>
8
+ <rect x="16" y="5" width="3" height="16" fill="#E0E3EB"/>
9
+ <path d="M12 9L14 8V20L12 21V9Z" fill="#B3B9CC"/>
10
+ <path d="M19 5L21.0001 4V20L19 21V5Z" fill="#A3ABC2"/>
11
+ </svg>
@@ -0,0 +1,11 @@
1
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="2" y="12" width="3" height="9" fill="#E99D63"/>
3
+ <path d="M5 12L7 11V20L5 21V12Z" fill="#E28136"/>
4
+ <path d="M4 11H7L5 12H2L4 11Z" fill="#E58E4C"/>
5
+ <path d="M11 8H14L12 9H9L11 8Z" fill="#E58E4C"/>
6
+ <path d="M18 4H21L19 5H16L18 4Z" fill="#C2C7D6"/>
7
+ <rect x="9" y="9" width="3" height="12" fill="#E99D63"/>
8
+ <rect x="16" y="5" width="3" height="16" fill="#E0E3EB"/>
9
+ <path d="M12 9L14 8V20L12 21V9Z" fill="#E28136"/>
10
+ <path d="M19 5L21.0001 4V20L19 21V5Z" fill="#A3ABC2"/>
11
+ </svg>
@@ -9,6 +9,7 @@ import WtBadge from './wt-badge/wt-badge.vue';
9
9
  import WtBadgeNew from './wt-badge-new/wt-badge.vue';
10
10
  import WtBreadcrumb from './wt-breadcrumb/wt-breadcrumb.vue';
11
11
  import WtButton from './wt-button/wt-button.vue';
12
+ import WtCallMediaMetric from './wt-call-media-metric/wt-call-media-metric.vue';
12
13
  import WtCheckbox from './wt-checkbox/wt-checkbox.vue';
13
14
  import WtChip from './wt-chip/wt-chip.vue';
14
15
  import WtDatetimeText from './wt-datetime-text/wt-datetime-text.vue';
@@ -255,6 +256,7 @@ const Components = {
255
256
  WtScreenRecordingsAction,
256
257
  WtInlineAddPanel,
257
258
  WtCallMediaAction,
259
+ WtCallMediaMetric,
258
260
  WtSendMessagePopup,
259
261
  };
260
262
 
@@ -269,6 +271,7 @@ export {
269
271
  WtButton,
270
272
  WtButtonSelect,
271
273
  WtCallMediaAction,
274
+ WtCallMediaMetric,
272
275
  WtChatEmoji,
273
276
  WtCheckbox,
274
277
  WtChip,
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <wt-icon
3
+ v-if="resolvedQuality"
4
+ v-tooltip.bottom="showTooltip ? tooltip : undefined"
5
+ :icon="`ws-signal-${resolvedQuality}`"
6
+ :size="size"
7
+ />
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import { computed } from 'vue';
12
+ import { useI18n } from 'vue-i18n';
13
+ import { ComponentSize, type ConnectionQualityLevelsType } from '../../enums';
14
+ import { getConnectionQuality } from '../../scripts';
15
+
16
+ const props = withDefaults(
17
+ defineProps<{
18
+ quality?: ConnectionQualityLevelsType | null;
19
+ mosAvg?: number | null;
20
+ size?: (typeof ComponentSize)[keyof typeof ComponentSize];
21
+ showTooltip?: boolean;
22
+ }>(),
23
+ {
24
+ size: ComponentSize.MD,
25
+ showTooltip: false,
26
+ },
27
+ );
28
+
29
+ const { t } = useI18n();
30
+
31
+ const resolvedQuality = computed(() => {
32
+ if (props.quality) return props.quality;
33
+ return getConnectionQuality(props.mosAvg ?? undefined);
34
+ });
35
+
36
+ const tooltip = computed(() =>
37
+ resolvedQuality.value
38
+ ? t(`connectionQuality.${resolvedQuality.value}`)
39
+ : undefined,
40
+ );
41
+ </script>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <PToast v-bind="attrs">
2
+ <p-toast v-bind="attrs">
3
3
  <template #message="{ message }">
4
4
  <template v-if="message">
5
5
  <wt-icon
@@ -16,7 +16,7 @@
16
16
  <template #closeicon>
17
17
  <wt-icon icon="close" :size="ComponentSize.SM" />
18
18
  </template>
19
- </PToast>
19
+ </p-toast>
20
20
  </template>
21
21
 
22
22
  <script setup lang="ts">
@@ -0,0 +1,8 @@
1
+ export const ConnectionQualityLevels = {
2
+ High: 'high',
3
+ Medium: 'medium',
4
+ Low: 'low',
5
+ } as const;
6
+
7
+ export type ConnectionQualityLevelsType =
8
+ (typeof ConnectionQualityLevels)[keyof typeof ConnectionQualityLevels];
@@ -12,6 +12,10 @@ import ChatGatewayProvider from './ChatGatewayProvider/ChatGatewayProvider.enum.
12
12
  import ProviderIconType from './ChatGatewayProvider/ProviderIconType.enum';
13
13
  import { ChipColor } from './ChipColor/ChipColor';
14
14
  import { ComponentSize } from './ComponentSize/ComponentSize';
15
+ import {
16
+ ConnectionQualityLevels,
17
+ type ConnectionQualityLevelsType,
18
+ } from './ConnectionQualityLevel/ConnectionQualityLevel.enum';
15
19
  import { CrudAction } from './CrudAction/CrudAction';
16
20
  import { DefaultWorkspaceTabSettings } from './DefaultWorkspaceTabSettings/DefaultWorkspaceTabSettings';
17
21
  import { EmptyCause } from './EmptyCause/EmptyCause';
@@ -37,6 +41,7 @@ import { WtObject } from './WtObject/WtObject';
37
41
  import { WtTypeExtensionFieldKind } from './WtTypeExtensionFieldKind/WtTypeExtensionFieldKind';
38
42
 
39
43
  export type {
44
+ ConnectionQualityLevelsType,
40
45
  UserSettingsBroadcastMessage,
41
46
  WebphoneBroadcastMessage,
42
47
  WebphoneBroadcastPayload,
@@ -53,6 +58,7 @@ export {
53
58
  ChatGatewayProvider,
54
59
  ChipColor,
55
60
  ComponentSize,
61
+ ConnectionQualityLevels,
56
62
  CrmSections,
57
63
  CrudAction,
58
64
  DefaultWorkspaceTabSettings,
@@ -873,6 +873,11 @@ export default deepmerge(
873
873
  chatHistoryApi: 'There was an error loading the chat history',
874
874
  markChatProcessed: 'Failed to move the chat to “Closed”',
875
875
  },
876
+ connectionQuality: {
877
+ high: 'Excellent network quality.',
878
+ medium: 'There might be some delay, please check your network.',
879
+ low: 'Network quality is poor, please check your network.',
880
+ },
876
881
  },
877
882
  notTranslatable,
878
883
  );
@@ -858,4 +858,9 @@ export default {
858
858
  chatHistoryApi: 'Hubo un error al cargar el historial del chat',
859
859
  markChatProcessed: 'Error al mover el chat a "Cerrado"',
860
860
  },
861
+ connectionQuality: {
862
+ high: 'Excelente calidad de red.',
863
+ medium: 'Puede haber retrasos, compruebe su red.',
864
+ low: 'La calidad de red es deficiente, compruebe su red.',
865
+ },
861
866
  };
@@ -859,4 +859,9 @@ export default {
859
859
  chatHistoryApi: 'Чат тарихын жүктеу кезінде қате орын алды',
860
860
  markChatProcessed: 'Чатты "Жабылған" күйіне ауыстыру сәтсіз аяқталды',
861
861
  },
862
+ connectionQuality: {
863
+ high: 'Желі сапасы отличная.',
864
+ medium: 'Кідіріс болуы мүмкін, желіні тексеріңіз.',
865
+ low: 'Желі сапасы нашар, желіні тексеріңіз.',
866
+ },
862
867
  };
@@ -859,4 +859,9 @@ export default {
859
859
  chatHistoryApi: 'Wystąpił błąd podczas ładowania historii czatu',
860
860
  markChatProcessed: 'Nie udało się przenieść czatu do "Zamkniętych"',
861
861
  },
862
+ connectionQuality: {
863
+ high: 'Doskonała jakość sieci.',
864
+ medium: 'Możliwe opóźnienia, sprawdź sieć.',
865
+ low: 'Słaba jakość sieci, sprawdź sieć.',
866
+ },
862
867
  };
@@ -864,4 +864,9 @@ export default {
864
864
  chatHistoryApi: 'A apărut o eroare la încărcarea istoricului chat-ului',
865
865
  markChatProcessed: 'Nu s-a putut muta chat-ul în "Închis"',
866
866
  },
867
+ connectionQuality: {
868
+ high: 'Calitate excelentă a rețelei.',
869
+ medium: 'Pot exista întârzieri, verificați rețeaua.',
870
+ low: 'Calitatea rețelei este slabă, verificați rețeaua.',
871
+ },
867
872
  };
@@ -855,4 +855,9 @@ export default {
855
855
  chatHistoryApi: 'Произошла ошибка загрузки истории чата',
856
856
  markChatProcessed: 'Не удалось переместить чат в “Закрытые”',
857
857
  },
858
+ connectionQuality: {
859
+ high: 'Отличное качество сети.',
860
+ medium: 'Возможны задержки, проверьте сеть.',
861
+ low: 'Плохое качество сети, проверьте сеть.',
862
+ },
858
863
  };
@@ -853,4 +853,9 @@ export default {
853
853
  chatHistoryApi: 'Сталася помилка завантаження історії чату',
854
854
  markChatProcessed: 'Не вдалося перемістити чат у "Закриті"',
855
855
  },
856
+ connectionQuality: {
857
+ high: 'Відмінна якість мережі.',
858
+ medium: 'Можливі затримки, перевірте мережу.',
859
+ low: 'Погана якість мережі, перевірте мережу.',
860
+ },
856
861
  };
@@ -863,4 +863,9 @@ export default {
863
863
  chatHistoryApi: 'Chat tarixini yuklashda xatolik yuz berdi',
864
864
  markChatProcessed: 'Chatni "Yopilgan" holatiga o\'tkazib bo\'lmadi',
865
865
  },
866
+ connectionQuality: {
867
+ high: "A'lo tarmoq sifati.",
868
+ medium: "Kechikishlar bo'lishi mumkin, tarmoqni tekshiring.",
869
+ low: 'Tarmoq sifati past, tarmoqni tekshiring.',
870
+ },
866
871
  };
@@ -862,4 +862,9 @@ export default {
862
862
  chatHistoryApi: 'Đã xảy ra lỗi khi tải lịch sử trò chuyện',
863
863
  markChatProcessed: 'Không thể chuyển trò chuyện sang trạng thái "Đã đóng"',
864
864
  },
865
+ connectionQuality: {
866
+ high: 'Chất lượng mạng tuyệt vời.',
867
+ medium: 'Có thể có độ trễ, vui lòng kiểm tra mạng.',
868
+ low: 'Chất lượng mạng kém, vui lòng kiểm tra mạng.',
869
+ },
865
870
  };
@@ -0,0 +1,13 @@
1
+ import {
2
+ ConnectionQualityLevels,
3
+ type ConnectionQualityLevelsType,
4
+ } from '../enums';
5
+
6
+ export const getConnectionQuality = (
7
+ mosAvg?: number,
8
+ ): ConnectionQualityLevelsType | null => {
9
+ if (mosAvg == null) return null;
10
+ if (mosAvg >= 4) return ConnectionQualityLevels.High;
11
+ if (mosAvg >= 3.5) return ConnectionQualityLevels.Medium;
12
+ return ConnectionQualityLevels.Low;
13
+ };
@@ -20,6 +20,7 @@ import convertDuration from './convertDuration.js';
20
20
  import debounce from './debounce.js';
21
21
  import downloadFile from './downloadFile/downloadFile';
22
22
  import eventBus from './eventBus.js';
23
+ import { getConnectionQuality } from './getConnectionQuality.ts';
23
24
  import { getEndOfDay, getStartOfDay } from './getDefaultFilterDate.js';
24
25
  import isEmpty from './isEmpty.js';
25
26
  import { wtlog } from './logger.js';
@@ -46,6 +47,7 @@ export {
46
47
  debounce,
47
48
  downloadFile,
48
49
  eventBus,
50
+ getConnectionQuality,
49
51
  getEndOfDay,
50
52
  getNextSortOrder,
51
53
  getStartOfDay,
@@ -0,0 +1,13 @@
1
+ import { ComponentSize, type ConnectionQualityLevelsType } from '../../enums';
2
+ type __VLS_Props = {
3
+ quality?: ConnectionQualityLevelsType | null;
4
+ mosAvg?: number | null;
5
+ size?: (typeof ComponentSize)[keyof typeof ComponentSize];
6
+ showTooltip?: boolean;
7
+ };
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
9
+ size: (typeof ComponentSize)[keyof typeof ComponentSize];
10
+ showTooltip: boolean;
11
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -27,13 +27,9 @@ type __VLS_ModelProps = {
27
27
  };
28
28
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
29
29
  declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
30
- delete: (...args: any[]) => void;
31
- download: (...args: any[]) => void;
32
- "update:visible": (value: boolean) => void;
33
- "update:activeIndex": (value: number) => void;
30
+ "update:visible": (value: boolean) => any;
31
+ "update:activeIndex": (value: number) => any;
34
32
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
35
- onDelete?: (...args: any[]) => any;
36
- onDownload?: (...args: any[]) => any;
37
33
  "onUpdate:visible"?: (value: boolean) => any;
38
34
  "onUpdate:activeIndex"?: (value: number) => any;
39
35
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -36,9 +36,9 @@ type __VLS_Slots = {} & {
36
36
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
37
37
  focus: () => void;
38
38
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
39
- "update:modelValue": (...args: any[]) => void;
39
+ "update:modelValue": (value: number) => any;
40
40
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
41
- "onUpdate:modelValue"?: (...args: any[]) => any;
41
+ "onUpdate:modelValue"?: (value: number) => any;
42
42
  }>, {
43
43
  required: boolean;
44
44
  label: string;
@@ -32,9 +32,9 @@ type __VLS_Slots = {} & {
32
32
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
33
33
  focus: () => void;
34
34
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
35
- "update:modelValue": (...args: any[]) => void;
35
+ "update:modelValue": (value: string) => any;
36
36
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
37
- "onUpdate:modelValue"?: (...args: any[]) => any;
37
+ "onUpdate:modelValue"?: (value: string) => any;
38
38
  }>, {
39
39
  type: string;
40
40
  required: boolean;
@@ -51,9 +51,9 @@ type __VLS_Slots = {} & {
51
51
  label?: (props: typeof __VLS_14) => any;
52
52
  };
53
53
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
54
- "update:modelValue": (...args: any[]) => void;
54
+ "update:modelValue": (value: boolean) => any;
55
55
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
56
- "onUpdate:modelValue"?: (...args: any[]) => any;
56
+ "onUpdate:modelValue"?: (value: boolean) => any;
57
57
  }>, {
58
58
  label: string;
59
59
  disabled: boolean;
@@ -104,6 +104,7 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
104
104
  }>, {
105
105
  headers: WtTableHeader[];
106
106
  data: Array<unknown>;
107
+ lazy: boolean;
107
108
  dataKey: string;
108
109
  sortable: boolean;
109
110
  selectable: boolean;
@@ -120,7 +121,6 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
120
121
  resizableColumns: boolean;
121
122
  reorderableColumns: boolean;
122
123
  rowExpansionDisabled: (row: object) => boolean;
123
- lazy: boolean;
124
124
  itemSize: number | undefined;
125
125
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
126
126
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -91,16 +91,8 @@ type __VLS_Slots = {} & {
91
91
  label?: (props: typeof __VLS_7) => any;
92
92
  };
93
93
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
94
- enter: (...args: any[]) => void;
95
- blur: (...args: any[]) => void;
96
- keydown: (...args: any[]) => void;
97
- paste: (...args: any[]) => void;
98
- "update:modelValue": (value: string) => void;
94
+ "update:modelValue": (value: string) => any;
99
95
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
100
- onEnter?: (...args: any[]) => any;
101
- onBlur?: (...args: any[]) => any;
102
- onKeydown?: (...args: any[]) => any;
103
- onPaste?: (...args: any[]) => any;
104
96
  "onUpdate:modelValue"?: (value: string) => any;
105
97
  }>, {
106
98
  name: string;
@@ -0,0 +1,6 @@
1
+ export declare const ConnectionQualityLevels: {
2
+ readonly High: "high";
3
+ readonly Medium: "medium";
4
+ readonly Low: "low";
5
+ };
6
+ export type ConnectionQualityLevelsType = (typeof ConnectionQualityLevels)[keyof typeof ConnectionQualityLevels];
@@ -8,6 +8,7 @@ import ChatGatewayProvider from './ChatGatewayProvider/ChatGatewayProvider.enum.
8
8
  import ProviderIconType from './ChatGatewayProvider/ProviderIconType.enum';
9
9
  import { ChipColor } from './ChipColor/ChipColor';
10
10
  import { ComponentSize } from './ComponentSize/ComponentSize';
11
+ import { ConnectionQualityLevels, type ConnectionQualityLevelsType } from './ConnectionQualityLevel/ConnectionQualityLevel.enum';
11
12
  import { CrudAction } from './CrudAction/CrudAction';
12
13
  import { DefaultWorkspaceTabSettings } from './DefaultWorkspaceTabSettings/DefaultWorkspaceTabSettings';
13
14
  import { EmptyCause } from './EmptyCause/EmptyCause';
@@ -31,5 +32,5 @@ import { WfmSections } from './WebitelApplications/WfmSections';
31
32
  import { WtApplication } from './WebitelApplications/WtApplication';
32
33
  import { WtObject } from './WtObject/WtObject';
33
34
  import { WtTypeExtensionFieldKind } from './WtTypeExtensionFieldKind/WtTypeExtensionFieldKind';
34
- export type { UserSettingsBroadcastMessage, WebphoneBroadcastMessage, WebphoneBroadcastPayload, };
35
- export { AbstractUserStatus, AdminSections, AgentStatus, AuditorSections, BroadcastChannelName, ButtonColor, ButtonVariant, ChatGatewayProvider, ChipColor, ComponentSize, CrmSections, CrudAction, DefaultWorkspaceTabSettings, EmptyCause, FormatDateMode, IconAction, IconColor, LoginOptions, MessageColor, MessageVariant, MimeTypes, ProcessingTableColumnType, ProviderIconType, QueueType, QueueTypeName, RelativeDatetimeValue, RingtoneType, SupervisorSections, TypesExportedSettings, WfmSections, WtApplication, WtObject, WtTypeExtensionFieldKind, };
35
+ export type { ConnectionQualityLevelsType, UserSettingsBroadcastMessage, WebphoneBroadcastMessage, WebphoneBroadcastPayload, };
36
+ export { AbstractUserStatus, AdminSections, AgentStatus, AuditorSections, BroadcastChannelName, ButtonColor, ButtonVariant, ChatGatewayProvider, ChipColor, ComponentSize, ConnectionQualityLevels, CrmSections, CrudAction, DefaultWorkspaceTabSettings, EmptyCause, FormatDateMode, IconAction, IconColor, LoginOptions, MessageColor, MessageVariant, MimeTypes, ProcessingTableColumnType, ProviderIconType, QueueType, QueueTypeName, RelativeDatetimeValue, RingtoneType, SupervisorSections, TypesExportedSettings, WfmSections, WtApplication, WtObject, WtTypeExtensionFieldKind, };
@@ -817,6 +817,11 @@ declare const _default: {
817
817
  chatHistoryApi: string;
818
818
  markChatProcessed: string;
819
819
  };
820
+ connectionQuality: {
821
+ high: string;
822
+ medium: string;
823
+ low: string;
824
+ };
820
825
  } & {
821
826
  reusable: {
822
827
  lang: {
@@ -933,5 +933,10 @@ declare namespace _default {
933
933
  let chatHistoryApi: string;
934
934
  let markChatProcessed: string;
935
935
  }
936
+ export namespace connectionQuality {
937
+ let high: string;
938
+ let medium: string;
939
+ let low: string;
940
+ }
936
941
  }
937
942
  export default _default;
@@ -818,6 +818,11 @@ declare const _default: import("vue-i18n").I18n<{
818
818
  chatHistoryApi: string;
819
819
  markChatProcessed: string;
820
820
  };
821
+ connectionQuality: {
822
+ high: string;
823
+ medium: string;
824
+ low: string;
825
+ };
821
826
  } & {
822
827
  reusable: {
823
828
  lang: {
@@ -1651,6 +1656,11 @@ declare const _default: import("vue-i18n").I18n<{
1651
1656
  chatHistoryApi: string;
1652
1657
  markChatProcessed: string;
1653
1658
  };
1659
+ connectionQuality: {
1660
+ high: string;
1661
+ medium: string;
1662
+ low: string;
1663
+ };
1654
1664
  };
1655
1665
  ru: {
1656
1666
  reusable: {
@@ -2468,6 +2478,11 @@ declare const _default: import("vue-i18n").I18n<{
2468
2478
  chatHistoryApi: string;
2469
2479
  markChatProcessed: string;
2470
2480
  };
2481
+ connectionQuality: {
2482
+ high: string;
2483
+ medium: string;
2484
+ low: string;
2485
+ };
2471
2486
  };
2472
2487
  ro: {
2473
2488
  reusable: {
@@ -3287,6 +3302,11 @@ declare const _default: import("vue-i18n").I18n<{
3287
3302
  chatHistoryApi: string;
3288
3303
  markChatProcessed: string;
3289
3304
  };
3305
+ connectionQuality: {
3306
+ high: string;
3307
+ medium: string;
3308
+ low: string;
3309
+ };
3290
3310
  };
3291
3311
  uk: {
3292
3312
  reusable: {
@@ -4104,6 +4124,11 @@ declare const _default: import("vue-i18n").I18n<{
4104
4124
  chatHistoryApi: string;
4105
4125
  markChatProcessed: string;
4106
4126
  };
4127
+ connectionQuality: {
4128
+ high: string;
4129
+ medium: string;
4130
+ low: string;
4131
+ };
4107
4132
  };
4108
4133
  kz: {
4109
4134
  reusable: {
@@ -4923,6 +4948,11 @@ declare const _default: import("vue-i18n").I18n<{
4923
4948
  chatHistoryApi: string;
4924
4949
  markChatProcessed: string;
4925
4950
  };
4951
+ connectionQuality: {
4952
+ high: string;
4953
+ medium: string;
4954
+ low: string;
4955
+ };
4926
4956
  };
4927
4957
  pl: {
4928
4958
  reusable: {
@@ -5742,6 +5772,11 @@ declare const _default: import("vue-i18n").I18n<{
5742
5772
  chatHistoryApi: string;
5743
5773
  markChatProcessed: string;
5744
5774
  };
5775
+ connectionQuality: {
5776
+ high: string;
5777
+ medium: string;
5778
+ low: string;
5779
+ };
5745
5780
  };
5746
5781
  uz: {
5747
5782
  reusable: {
@@ -6562,6 +6597,11 @@ declare const _default: import("vue-i18n").I18n<{
6562
6597
  chatHistoryApi: string;
6563
6598
  markChatProcessed: string;
6564
6599
  };
6600
+ connectionQuality: {
6601
+ high: string;
6602
+ medium: string;
6603
+ low: string;
6604
+ };
6565
6605
  };
6566
6606
  vi: {
6567
6607
  reusable: {
@@ -7381,6 +7421,11 @@ declare const _default: import("vue-i18n").I18n<{
7381
7421
  chatHistoryApi: string;
7382
7422
  markChatProcessed: string;
7383
7423
  };
7424
+ connectionQuality: {
7425
+ high: string;
7426
+ medium: string;
7427
+ low: string;
7428
+ };
7384
7429
  };
7385
7430
  }, {}, {}, string, false>;
7386
7431
  export default _default;