@webitel/ui-sdk 26.8.50 → 26.8.52

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/clients-jhkEj9YI.js +39275 -0
  2. package/dist/{components-2ISVk3oW.js → components-C4rE9PlV.js} +639 -631
  3. package/dist/{enums-De8CDKZ1.js → enums-DY3jIXFF.js} +50 -29
  4. package/dist/ui-sdk.js +3 -3
  5. package/dist/ui-sdk.umd.cjs +396 -396
  6. package/dist/{useValidation-D6P-wRwq.js → useValidation-BD4S-sEW.js} +1 -1
  7. package/dist/{wt-action-bar-HBm22ay5.js → wt-action-bar-C4JukltF.js} +2 -2
  8. package/dist/{wt-button-B7B7qITq.js → wt-button-2_aOV7LX.js} +4 -4
  9. package/dist/{wt-chat-emoji-ytWQWd8E.js → wt-chat-emoji-DVIlMP3o.js} +4 -4
  10. package/dist/{wt-datepicker-B8PRf5QY.js → wt-datepicker-H4E0JyRE.js} +6 -6
  11. package/dist/{wt-display-chip-items-BzQFwYws.js → wt-display-chip-items-DwMS-DJc.js} +1 -1
  12. package/dist/{wt-dual-panel-BEGLGU7F.js → wt-dual-panel-C98aGU8o.js} +1 -1
  13. package/dist/{wt-expansion-card-CpmnVJ03.js → wt-expansion-card-CEMaWXCy.js} +1 -1
  14. package/dist/{wt-expansion-panel-Br7JPc5X.js → wt-expansion-panel-BjeXHSay.js} +1 -1
  15. package/dist/{wt-icon-09f_Vpk_.js → wt-icon-Ct0E7k_d.js} +1 -1
  16. package/dist/{wt-icon-action-BBmutGsL.js → wt-icon-action-DB6P4E4K.js} +1 -1
  17. package/dist/{wt-icon-btn-DvrrxhWx.js → wt-icon-btn-DZa_qsai.js} +1 -1
  18. package/dist/{wt-notifications-bar-0o0yhR7P.js → wt-notifications-bar-BEomlIrN.js} +2 -2
  19. package/dist/{wt-player-D_kVPIdJ.js → wt-player-1-8X7Uo8.js} +3 -3
  20. package/dist/{wt-search-bar-Dnjkgro3.js → wt-search-bar-DzzSQyB3.js} +1 -1
  21. package/dist/{wt-send-message-popup-BuTlCwnq.js → wt-send-message-popup-DPjllTAk.js} +2 -2
  22. package/dist/{wt-status-select-DL1bOn9G.js → wt-status-select-BuojqV_1.js} +9 -9
  23. package/dist/{wt-timepicker-CAkO0jFY.js → wt-timepicker-RhM7Sln_.js} +2 -2
  24. package/dist/{wt-toast-DrfbAfTj.js → wt-toast-eWzfeYuz.js} +2 -2
  25. package/dist/{wt-tree-table-DJGISZ65.js → wt-tree-table-DvG6KLLB.js} +1 -1
  26. package/dist/{wt-type-extension-value-input-DVpMso5z.js → wt-type-extension-value-input-BO44atDh.js} +3 -3
  27. package/dist/{wt-vidstack-player-DhaLynZB.js → wt-vidstack-player-BD28KRTU.js} +4 -4
  28. package/package.json +3 -1
  29. package/src/composables/index.ts +0 -1
  30. package/src/enums/QueueType/QueueType.enum.ts +12 -31
  31. package/src/enums/RelativeDatetimeValue/RelativeDatetimeValue.ts +1 -11
  32. package/src/locale/en/en.js +64 -0
  33. package/src/locale/es/es.js +64 -0
  34. package/src/locale/kz/kz.js +64 -0
  35. package/src/locale/pl/pl.js +64 -0
  36. package/src/locale/ro/ro.js +64 -0
  37. package/src/locale/ru/ru.js +64 -0
  38. package/src/locale/uk/uk.js +64 -0
  39. package/src/locale/uz/uz.js +64 -0
  40. package/src/locale/vi/vi.js +64 -0
  41. package/src/modules/AgentPdfs/components/agent-pdfs-tab.vue +1 -1
  42. package/src/modules/TableComponentModule/composables/{useTableEmpty.js → useTableEmpty.ts} +40 -12
  43. package/src/scripts/normalizeDatetime.ts +7 -88
  44. package/types/.tsbuildinfo +1 -1
  45. package/types/composables/index.d.ts +0 -1
  46. package/types/enums/QueueType/QueueType.enum.d.ts +9 -28
  47. package/types/enums/RelativeDatetimeValue/RelativeDatetimeValue.d.ts +1 -7
  48. package/types/locale/en/en.d.ts +64 -0
  49. package/types/locale/es/es.d.ts +87 -3
  50. package/types/locale/i18n.d.ts +576 -0
  51. package/types/locale/index.d.ts +576 -0
  52. package/types/locale/kz/kz.d.ts +87 -3
  53. package/types/locale/pl/pl.d.ts +87 -3
  54. package/types/locale/ro/ro.d.ts +87 -3
  55. package/types/locale/ru/ru.d.ts +87 -3
  56. package/types/locale/uk/uk.d.ts +87 -3
  57. package/types/locale/uz/uz.d.ts +87 -3
  58. package/types/locale/vi/vi.d.ts +87 -3
  59. package/types/modules/Flow/lookups/FlowTypeApplications.lookup.d.ts +1 -1
  60. package/types/modules/TableComponentModule/composables/useTableEmpty.d.ts +38 -13
  61. package/types/scripts/normalizeDatetime.d.ts +1 -8
  62. package/dist/clients-DBqdsc05.js +0 -38757
  63. package/src/composables/useCard/useCardTabs.js +0 -29
  64. package/types/composables/useCard/useCardTabs.d.ts +0 -4
@@ -229,6 +229,34 @@ export default {
229
229
  [snakeToCamel(AgentStatus.BreakOut)]: 'Принудительный перерыв',
230
230
  },
231
231
  },
232
+ bucket: 'Бакет | Бакеттер',
233
+ joinedAt: 'Қосылған күні',
234
+ leavingAt: 'Шыққан күні',
235
+ offeringAt: 'Ұсынылған күні',
236
+ stopCause: {
237
+ stopCause: 'Аяқталу себебі',
238
+ abandoned: 'Абандондалды',
239
+ timeout: 'Таймақ',
240
+ cancel: 'Болдырмау',
241
+ success: 'Сәтті',
242
+ failed: 'Ақау',
243
+ missed: 'Жоқ',
244
+ expired: 'Төмендеді',
245
+ canceledByTimeout: 'Күту уақыты бойынша болдырылмады',
246
+ },
247
+ memberPriority: 'Приоритет',
248
+ attempts: 'Сынамалар',
249
+ callReportingResult: {
250
+ result: 'Нәтиже',
251
+ abandoned: 'Абандондалды',
252
+ cancel: 'Болдырмау',
253
+ success: 'Сәтті',
254
+ failed: 'Ақау',
255
+ missed: 'Жоқ',
256
+ timeout: 'Таймақ',
257
+ endless: 'Аяқсыз',
258
+ transferred: 'Ауыстырылды',
259
+ },
232
260
  flow: {
233
261
  name: 'Ағын схемасы | Ағын схемалары',
234
262
  type: {
@@ -703,6 +731,9 @@ export default {
703
731
  author: ({ linked }) => {
704
732
  return linked('cases.author');
705
733
  },
734
+ bucket: ({ linked }) => {
735
+ return linked('objects.bucket');
736
+ },
706
737
  cause: ({ linked }) => {
707
738
  return linked('objects.hangupCause');
708
739
  },
@@ -745,6 +776,39 @@ export default {
745
776
  hasUser: ({ linked }) => {
746
777
  return linked('objects.user');
747
778
  },
779
+ joinedAt: ({ linked }) => {
780
+ return linked('objects.joinedAt');
781
+ },
782
+ leavingAt: ({ linked }) => {
783
+ return linked('objects.leavingAt');
784
+ },
785
+ offeringAt: ({ linked }) => {
786
+ return linked('objects.offeringAt');
787
+ },
788
+ stopCause: ({ linked }) => {
789
+ return linked('objects.stopCause.stopCause');
790
+ },
791
+ memberPriority: ({ linked }) => {
792
+ return linked('objects.memberPriority');
793
+ },
794
+ attempts: ({ linked }) => {
795
+ return linked('objects.attempts');
796
+ },
797
+ name: ({ linked }) => {
798
+ return linked('reusable.name');
799
+ },
800
+ destination: ({ linked }) => {
801
+ return linked('vocabulary.destination');
802
+ },
803
+ duration: ({ linked }) => {
804
+ return linked('vocabulary.duration');
805
+ },
806
+ result: ({ linked }) => {
807
+ return linked('objects.callReportingResult.result');
808
+ },
809
+ tags: ({ linked }) => {
810
+ return linked('vocabulary.tag');
811
+ },
748
812
  impacted: ({ linked }) => {
749
813
  return linked('cases.impacted');
750
814
  },
@@ -229,6 +229,34 @@ export default {
229
229
  [snakeToCamel(AgentStatus.BreakOut)]: 'Przerwa',
230
230
  },
231
231
  },
232
+ bucket: 'Kubeł | Kubeły',
233
+ joinedAt: 'Dołączono',
234
+ leavingAt: 'Opuszczono',
235
+ offeringAt: 'Zaoferowano',
236
+ stopCause: {
237
+ stopCause: 'Przyczyna zakończenia',
238
+ abandoned: 'Porzucone',
239
+ timeout: 'Przekroczono czas',
240
+ cancel: 'Anulowane',
241
+ success: 'Sukces',
242
+ failed: 'Niepowodzenie',
243
+ missed: 'Przegapione',
244
+ expired: 'Wygasło',
245
+ canceledByTimeout: 'Anulowano z powodu przekroczenia czasu',
246
+ },
247
+ memberPriority: 'Priorytet',
248
+ attempts: 'Próby',
249
+ callReportingResult: {
250
+ result: 'Wynik',
251
+ abandoned: 'Porzucone',
252
+ cancel: 'Anulowane',
253
+ success: 'Sukces',
254
+ failed: 'Niepowodzenie',
255
+ missed: 'Przegapione',
256
+ timeout: 'Przekroczono czas',
257
+ endless: 'Nieskończony',
258
+ transferred: 'Przekazane',
259
+ },
232
260
  flow: {
233
261
  name: 'Schemat przepływu | Schematy przepływu',
234
262
  type: {
@@ -701,6 +729,9 @@ export default {
701
729
  author: ({ linked }) => {
702
730
  return linked('cases.author');
703
731
  },
732
+ bucket: ({ linked }) => {
733
+ return linked('objects.bucket');
734
+ },
704
735
  cause: ({ linked }) => {
705
736
  return linked('objects.hangupCause');
706
737
  },
@@ -743,6 +774,39 @@ export default {
743
774
  hasUser: ({ linked }) => {
744
775
  return linked('objects.user');
745
776
  },
777
+ joinedAt: ({ linked }) => {
778
+ return linked('objects.joinedAt');
779
+ },
780
+ leavingAt: ({ linked }) => {
781
+ return linked('objects.leavingAt');
782
+ },
783
+ offeringAt: ({ linked }) => {
784
+ return linked('objects.offeringAt');
785
+ },
786
+ stopCause: ({ linked }) => {
787
+ return linked('objects.stopCause.stopCause');
788
+ },
789
+ memberPriority: ({ linked }) => {
790
+ return linked('objects.memberPriority');
791
+ },
792
+ attempts: ({ linked }) => {
793
+ return linked('objects.attempts');
794
+ },
795
+ name: ({ linked }) => {
796
+ return linked('reusable.name');
797
+ },
798
+ destination: ({ linked }) => {
799
+ return linked('vocabulary.destination');
800
+ },
801
+ duration: ({ linked }) => {
802
+ return linked('vocabulary.duration');
803
+ },
804
+ result: ({ linked }) => {
805
+ return linked('objects.callReportingResult.result');
806
+ },
807
+ tags: ({ linked }) => {
808
+ return linked('vocabulary.tag');
809
+ },
746
810
  impacted: ({ linked }) => {
747
811
  return linked('cases.impacted');
748
812
  },
@@ -229,6 +229,34 @@ export default {
229
229
  [snakeToCamel(AgentStatus.BreakOut)]: 'Pauză mare',
230
230
  },
231
231
  },
232
+ bucket: 'Balon | Baloane',
233
+ joinedAt: 'Alăturat la',
234
+ leavingAt: 'Părăsit la',
235
+ offeringAt: 'Ofertat la',
236
+ stopCause: {
237
+ stopCause: 'Motiv sfârșit',
238
+ abandoned: 'Abandonat',
239
+ timeout: 'Timp de așteptare',
240
+ cancel: 'Anulat',
241
+ success: 'Succes',
242
+ failed: 'Eșuat',
243
+ missed: 'Pierdut',
244
+ expired: 'Expirat',
245
+ canceledByTimeout: 'Anulat din cauza timpului expirat',
246
+ },
247
+ memberPriority: 'Prioritate',
248
+ attempts: 'Încercări',
249
+ callReportingResult: {
250
+ result: 'Rezultat',
251
+ abandoned: 'Abandonat',
252
+ cancel: 'Anulat',
253
+ success: 'Succes',
254
+ failed: 'Eșuat',
255
+ missed: 'Pierdut',
256
+ timeout: 'Timp de așteptare',
257
+ endless: 'Nelimitat',
258
+ transferred: 'Transferat',
259
+ },
232
260
  flow: {
233
261
  name: 'Schemă flux | Scheme flux',
234
262
  type: {
@@ -707,6 +735,9 @@ export default {
707
735
  author: ({ linked }) => {
708
736
  return linked('cases.author');
709
737
  },
738
+ bucket: ({ linked }) => {
739
+ return linked('objects.bucket');
740
+ },
710
741
  cause: ({ linked }) => {
711
742
  return linked('objects.hangupCause');
712
743
  },
@@ -749,6 +780,39 @@ export default {
749
780
  hasUser: ({ linked }) => {
750
781
  return linked('objects.user');
751
782
  },
783
+ joinedAt: ({ linked }) => {
784
+ return linked('objects.joinedAt');
785
+ },
786
+ leavingAt: ({ linked }) => {
787
+ return linked('objects.leavingAt');
788
+ },
789
+ offeringAt: ({ linked }) => {
790
+ return linked('objects.offeringAt');
791
+ },
792
+ stopCause: ({ linked }) => {
793
+ return linked('objects.stopCause.stopCause');
794
+ },
795
+ memberPriority: ({ linked }) => {
796
+ return linked('objects.memberPriority');
797
+ },
798
+ attempts: ({ linked }) => {
799
+ return linked('objects.attempts');
800
+ },
801
+ name: ({ linked }) => {
802
+ return linked('reusable.name');
803
+ },
804
+ destination: ({ linked }) => {
805
+ return linked('vocabulary.destination');
806
+ },
807
+ duration: ({ linked }) => {
808
+ return linked('vocabulary.duration');
809
+ },
810
+ result: ({ linked }) => {
811
+ return linked('objects.callReportingResult.result');
812
+ },
813
+ tags: ({ linked }) => {
814
+ return linked('vocabulary.tag');
815
+ },
752
816
  impacted: ({ linked }) => {
753
817
  return linked('cases.impacted');
754
818
  },
@@ -225,6 +225,34 @@ export default {
225
225
  [snakeToCamel(AgentStatus.BreakOut)]: 'Принудительный перерыв',
226
226
  },
227
227
  },
228
+ bucket: 'Корзина | Корзины',
229
+ joinedAt: 'Присоединено',
230
+ leavingAt: 'Покинуто',
231
+ offeringAt: 'Предложено',
232
+ stopCause: {
233
+ stopCause: 'Причина прекращения',
234
+ abandoned: 'Потерянный',
235
+ timeout: 'Тайм-аут',
236
+ cancel: 'Отменённый',
237
+ success: 'Успешный',
238
+ failed: 'Неудачный',
239
+ missed: 'Пропущенный',
240
+ expired: 'Истекший',
241
+ canceledByTimeout: 'Отменен по тайм-ауту',
242
+ },
243
+ memberPriority: 'Приоритет',
244
+ attempts: 'Попыток',
245
+ callReportingResult: {
246
+ result: 'Результат',
247
+ abandoned: 'Потерянный',
248
+ cancel: 'Отменённый',
249
+ success: 'Успешный',
250
+ failed: 'Неудачный',
251
+ missed: 'Пропущенный',
252
+ timeout: 'Тайм-аут',
253
+ endless: 'Бесконечный',
254
+ transferred: 'Переведен',
255
+ },
228
256
  flow: {
229
257
  name: 'Схема | Схемы',
230
258
  type: {
@@ -697,6 +725,9 @@ export default {
697
725
  author: ({ linked }) => {
698
726
  return linked('cases.author');
699
727
  },
728
+ bucket: ({ linked }) => {
729
+ return linked('objects.bucket');
730
+ },
700
731
  cause: ({ linked }) => {
701
732
  return linked('objects.hangupCause');
702
733
  },
@@ -739,6 +770,39 @@ export default {
739
770
  hasUser: ({ linked }) => {
740
771
  return linked('objects.user');
741
772
  },
773
+ joinedAt: ({ linked }) => {
774
+ return linked('objects.joinedAt');
775
+ },
776
+ leavingAt: ({ linked }) => {
777
+ return linked('objects.leavingAt');
778
+ },
779
+ offeringAt: ({ linked }) => {
780
+ return linked('objects.offeringAt');
781
+ },
782
+ stopCause: ({ linked }) => {
783
+ return linked('objects.stopCause.stopCause');
784
+ },
785
+ memberPriority: ({ linked }) => {
786
+ return linked('objects.memberPriority');
787
+ },
788
+ attempts: ({ linked }) => {
789
+ return linked('objects.attempts');
790
+ },
791
+ name: ({ linked }) => {
792
+ return linked('reusable.name');
793
+ },
794
+ destination: ({ linked }) => {
795
+ return linked('vocabulary.destination');
796
+ },
797
+ duration: ({ linked }) => {
798
+ return linked('vocabulary.duration');
799
+ },
800
+ result: ({ linked }) => {
801
+ return linked('objects.callReportingResult.result');
802
+ },
803
+ tags: ({ linked }) => {
804
+ return linked('vocabulary.tag');
805
+ },
742
806
  impacted: ({ linked }) => {
743
807
  return linked('cases.impacted');
744
808
  },
@@ -224,6 +224,34 @@ export default {
224
224
  [snakeToCamel(AgentStatus.BreakOut)]: 'Примусова перерва',
225
225
  },
226
226
  },
227
+ bucket: 'Кошик | Кошики',
228
+ joinedAt: 'Приєднано',
229
+ leavingAt: 'Покинуто',
230
+ offeringAt: 'Запропоновано',
231
+ stopCause: {
232
+ stopCause: 'Причина припинення',
233
+ abandoned: 'Втрачений',
234
+ timeout: 'Тайм-аут',
235
+ cancel: 'Скасований',
236
+ success: 'Успішний',
237
+ failed: 'Неуспішний',
238
+ missed: 'Пропущений',
239
+ expired: 'Час вийшов',
240
+ canceledByTimeout: 'Скасовано по тайм-ауту',
241
+ },
242
+ memberPriority: 'Пріоритет',
243
+ attempts: 'Спроб',
244
+ callReportingResult: {
245
+ result: 'Результат',
246
+ abandoned: 'Втрачений',
247
+ cancel: 'Скасований',
248
+ success: 'Успішний',
249
+ failed: 'Неуспішний',
250
+ missed: 'Пропущений',
251
+ timeout: 'Тайм-аут',
252
+ endless: 'Нескінченний',
253
+ transferred: 'Переведений',
254
+ },
227
255
  flow: {
228
256
  name: 'Схема | Схеми',
229
257
  type: {
@@ -695,6 +723,9 @@ export default {
695
723
  author: ({ linked }) => {
696
724
  return linked('cases.author');
697
725
  },
726
+ bucket: ({ linked }) => {
727
+ return linked('objects.bucket');
728
+ },
698
729
  cause: ({ linked }) => {
699
730
  return linked('objects.hangupCause');
700
731
  },
@@ -737,6 +768,39 @@ export default {
737
768
  hasUser: ({ linked }) => {
738
769
  return linked('objects.user');
739
770
  },
771
+ joinedAt: ({ linked }) => {
772
+ return linked('objects.joinedAt');
773
+ },
774
+ leavingAt: ({ linked }) => {
775
+ return linked('objects.leavingAt');
776
+ },
777
+ offeringAt: ({ linked }) => {
778
+ return linked('objects.offeringAt');
779
+ },
780
+ stopCause: ({ linked }) => {
781
+ return linked('objects.stopCause.stopCause');
782
+ },
783
+ memberPriority: ({ linked }) => {
784
+ return linked('objects.memberPriority');
785
+ },
786
+ attempts: ({ linked }) => {
787
+ return linked('objects.attempts');
788
+ },
789
+ name: ({ linked }) => {
790
+ return linked('reusable.name');
791
+ },
792
+ destination: ({ linked }) => {
793
+ return linked('vocabulary.destination');
794
+ },
795
+ duration: ({ linked }) => {
796
+ return linked('vocabulary.duration');
797
+ },
798
+ result: ({ linked }) => {
799
+ return linked('objects.callReportingResult.result');
800
+ },
801
+ tags: ({ linked }) => {
802
+ return linked('vocabulary.tag');
803
+ },
740
804
  impacted: ({ linked }) => {
741
805
  return linked('cases.impacted');
742
806
  },
@@ -229,6 +229,34 @@ export default {
229
229
  [snakeToCamel(AgentStatus.BreakOut)]: 'Tanaffus',
230
230
  },
231
231
  },
232
+ bucket: 'Bucket | Buckets',
233
+ joinedAt: "Qo'shilgan sana",
234
+ leavingAt: 'Chiqilgan sana',
235
+ offeringAt: 'Taklif qilingan sana',
236
+ stopCause: {
237
+ stopCause: 'Tugatish sababi',
238
+ abandoned: 'Abandoned',
239
+ timeout: 'Vaqt',
240
+ cancel: 'Bekor qilish',
241
+ success: 'Muvaffaqiyatli',
242
+ failed: 'Yaroqsiz',
243
+ missed: 'Bekor qilindi',
244
+ expired: 'Yaroqli',
245
+ canceledByTimeout: 'Vaqt tugashi sababli bekor qilindi',
246
+ },
247
+ memberPriority: 'Prioritet',
248
+ attempts: 'Urinishlar',
249
+ callReportingResult: {
250
+ result: 'Natija',
251
+ abandoned: 'Bekor qilindi',
252
+ cancel: 'Bekor qilindi',
253
+ success: 'Muvaffaqiyatli',
254
+ failed: 'Yaroqsiz',
255
+ missed: 'Bekor qilindi',
256
+ timeout: 'Vaqt',
257
+ endless: 'Cheksiz',
258
+ transferred: 'Uzatilgan',
259
+ },
232
260
  flow: {
233
261
  name: 'Oqim sxemasi | Oqim sxemalari',
234
262
  type: {
@@ -706,6 +734,9 @@ export default {
706
734
  author: ({ linked }) => {
707
735
  return linked('cases.author');
708
736
  },
737
+ bucket: ({ linked }) => {
738
+ return linked('objects.bucket');
739
+ },
709
740
  cause: ({ linked }) => {
710
741
  return linked('objects.hangupCause');
711
742
  },
@@ -748,6 +779,39 @@ export default {
748
779
  hasUser: ({ linked }) => {
749
780
  return linked('objects.user');
750
781
  },
782
+ joinedAt: ({ linked }) => {
783
+ return linked('objects.joinedAt');
784
+ },
785
+ leavingAt: ({ linked }) => {
786
+ return linked('objects.leavingAt');
787
+ },
788
+ offeringAt: ({ linked }) => {
789
+ return linked('objects.offeringAt');
790
+ },
791
+ stopCause: ({ linked }) => {
792
+ return linked('objects.stopCause.stopCause');
793
+ },
794
+ memberPriority: ({ linked }) => {
795
+ return linked('objects.memberPriority');
796
+ },
797
+ attempts: ({ linked }) => {
798
+ return linked('objects.attempts');
799
+ },
800
+ name: ({ linked }) => {
801
+ return linked('reusable.name');
802
+ },
803
+ destination: ({ linked }) => {
804
+ return linked('vocabulary.destination');
805
+ },
806
+ duration: ({ linked }) => {
807
+ return linked('vocabulary.duration');
808
+ },
809
+ result: ({ linked }) => {
810
+ return linked('objects.callReportingResult.result');
811
+ },
812
+ tags: ({ linked }) => {
813
+ return linked('vocabulary.tag');
814
+ },
751
815
  impacted: ({ linked }) => {
752
816
  return linked('cases.impacted');
753
817
  },
@@ -229,6 +229,34 @@ export default {
229
229
  [snakeToCamel(AgentStatus.BreakOut)]: 'Giải lao',
230
230
  },
231
231
  },
232
+ bucket: 'Thùng chứa',
233
+ joinedAt: 'Tham gia lúc',
234
+ leavingAt: 'Rời lúc',
235
+ offeringAt: 'Đề xuất lúc',
236
+ stopCause: {
237
+ stopCause: 'Nguyên nhân kết thúc',
238
+ abandoned: 'Bỏ qua',
239
+ timeout: 'Hết thời gian',
240
+ cancel: 'Hủy',
241
+ success: 'Thành công',
242
+ failed: 'Thất bại',
243
+ missed: 'Bỏ qua',
244
+ expired: 'Hết hạn',
245
+ canceledByTimeout: 'Đã hủy do hết thời gian chờ',
246
+ },
247
+ memberPriority: 'Ưu tiên',
248
+ attempts: 'Lần thử',
249
+ callReportingResult: {
250
+ result: 'Kết quả',
251
+ abandoned: 'Bỏ qua',
252
+ cancel: 'Hủy',
253
+ success: 'Thành công',
254
+ failed: 'Thất bại',
255
+ missed: 'Bỏ qua',
256
+ timeout: 'Hết thời gian',
257
+ endless: 'Vô hạn',
258
+ transferred: 'Chuyển đổi',
259
+ },
232
260
  flow: {
233
261
  name: 'Sơ đồ luồng | Sơ đồ luồng',
234
262
  type: {
@@ -704,6 +732,9 @@ export default {
704
732
  author: ({ linked }) => {
705
733
  return linked('cases.author');
706
734
  },
735
+ bucket: ({ linked }) => {
736
+ return linked('objects.bucket');
737
+ },
707
738
  cause: ({ linked }) => {
708
739
  return linked('objects.hangupCause');
709
740
  },
@@ -746,6 +777,39 @@ export default {
746
777
  hasUser: ({ linked }) => {
747
778
  return linked('objects.user');
748
779
  },
780
+ joinedAt: ({ linked }) => {
781
+ return linked('objects.joinedAt');
782
+ },
783
+ leavingAt: ({ linked }) => {
784
+ return linked('objects.leavingAt');
785
+ },
786
+ offeringAt: ({ linked }) => {
787
+ return linked('objects.offeringAt');
788
+ },
789
+ stopCause: ({ linked }) => {
790
+ return linked('objects.stopCause.stopCause');
791
+ },
792
+ memberPriority: ({ linked }) => {
793
+ return linked('objects.memberPriority');
794
+ },
795
+ attempts: ({ linked }) => {
796
+ return linked('objects.attempts');
797
+ },
798
+ name: ({ linked }) => {
799
+ return linked('reusable.name');
800
+ },
801
+ destination: ({ linked }) => {
802
+ return linked('vocabulary.destination');
803
+ },
804
+ duration: ({ linked }) => {
805
+ return linked('vocabulary.duration');
806
+ },
807
+ result: ({ linked }) => {
808
+ return linked('objects.callReportingResult.result');
809
+ },
810
+ tags: ({ linked }) => {
811
+ return linked('vocabulary.tag');
812
+ },
749
813
  impacted: ({ linked }) => {
750
814
  return linked('cases.impacted');
751
815
  },
@@ -252,7 +252,7 @@ const {
252
252
  } = useTableEmpty({
253
253
  dataList,
254
254
  error,
255
- filters: tabFilters.value,
255
+ filters: tabFilters,
256
256
  isLoading,
257
257
  });
258
258
 
@@ -1,5 +1,5 @@
1
1
  import deepmerge from 'deepmerge';
2
- import { computed, inject, toRef } from 'vue';
2
+ import { computed, inject, type MaybeRefOrGetter, toRef, toValue } from 'vue';
3
3
  import { useI18n } from 'vue-i18n';
4
4
 
5
5
  import { EmptyCause } from '../../../enums/index';
@@ -9,18 +9,46 @@ import EmptyFiltersLight from '../_internals/assets/empty-filters-light.svg';
9
9
  import EmptyTableDark from '../_internals/assets/empty-table-dark.svg';
10
10
  import EmptyTableLight from '../_internals/assets/empty-table-light.svg';
11
11
 
12
- /**
13
- * @param {{ dataList?: unknown; filters?: unknown; error?: unknown; isLoading?: unknown }} [source]
14
- * @param {object} [overrides]
15
- */
12
+ interface EmptyImageSet {
13
+ dark: string;
14
+ light: string;
15
+ }
16
+
17
+ interface EmptyStateVariants<T> {
18
+ filters: T;
19
+ error: T;
20
+ empty: T;
21
+ }
22
+
23
+ interface EmptyStateConfig {
24
+ image: EmptyStateVariants<EmptyImageSet>;
25
+ headline: EmptyStateVariants<string>;
26
+ title: EmptyStateVariants<string>;
27
+ text: EmptyStateVariants<string>;
28
+ primaryActionText: EmptyStateVariants<string>;
29
+ secondaryActionText: EmptyStateVariants<string>;
30
+ }
31
+
32
+ /** duck-typed readable ref — accepts `Ref`/`ComputedRef`/Pinia `ToRef` alike, only `.value` is ever read */
33
+ type Readable<T> = {
34
+ value: T;
35
+ };
36
+
37
+ export interface UseTableEmptySource {
38
+ dataList?: Readable<unknown[] | undefined>;
39
+ filters?: Readable<Record<string, unknown> | undefined>;
40
+ error?: Readable<unknown>;
41
+ isLoading?: Readable<boolean | undefined>;
42
+ }
43
+
16
44
  export const useTableEmpty = (
17
- { dataList, filters, error, isLoading } = {},
18
- overrides = {},
45
+ { dataList, filters, error, isLoading }: UseTableEmptySource = {},
46
+ overrides: MaybeRefOrGetter<Partial<EmptyStateConfig>> = {},
19
47
  ) => {
20
48
  const { t } = useI18n();
21
49
 
22
50
  // use computed, so that at locale change, texts will be updated too
23
- const defaults = computed(() => ({
51
+ const defaults = computed<EmptyStateConfig>(() => ({
24
52
  image: {
25
53
  filters: {
26
54
  dark: EmptyFiltersDark,
@@ -62,18 +90,18 @@ export const useTableEmpty = (
62
90
  },
63
91
  }));
64
92
 
65
- const merged = computed(() => deepmerge(defaults.value, overrides));
93
+ const merged = computed(() => deepmerge(defaults.value, toValue(overrides)));
66
94
 
67
- const darkMode = toRef(inject('darkMode'));
95
+ const darkMode = toRef(inject<boolean>('darkMode'));
68
96
 
69
97
  const emptyState = computed(() => {
70
98
  return !isLoading?.value && !error?.value && !dataList?.value?.length;
71
99
  });
72
100
 
73
- const emptyCause = computed(() => {
101
+ const emptyCause = computed<EmptyCause | null>(() => {
74
102
  if (!emptyState?.value) return null;
75
103
 
76
- if (error.value) return EmptyCause.ERROR;
104
+ if (error?.value) return EmptyCause.ERROR;
77
105
  if (filters?.value) {
78
106
  const uncheckedFilters = [
79
107
  'page',