@webitel/ui-sdk 23.12.40 → 23.12.43

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 (145) hide show
  1. package/dist/favicon.ico +0 -0
  2. package/dist/img/sprite/index.js +147 -1
  3. package/dist/plyr.svg +70 -0
  4. package/dist/ui-sdk.css +1 -1
  5. package/dist/ui-sdk.mjs +22672 -0
  6. package/dist/ui-sdk.umd.js +37 -43322
  7. package/package.json +33 -41
  8. package/src/components/on-demand/wt-cc-agent-status-timers/wt-cc-agent-status-timers.vue +3 -3
  9. package/src/components/transitions/wt-expand-transition.vue +2 -2
  10. package/src/components/wt-app-header/wt-app-header.vue +2 -2
  11. package/src/components/wt-app-header/wt-app-navigator.vue +6 -5
  12. package/src/components/wt-app-header/wt-header-actions.vue +30 -14
  13. package/src/components/wt-avatar/wt-avatar.vue +2 -2
  14. package/src/components/wt-badge/wt-badge.vue +3 -3
  15. package/src/components/wt-button/wt-button.vue +5 -3
  16. package/src/components/wt-button-select/__tests__/WtButtonSelect.spec.js +4 -4
  17. package/src/components/wt-button-select/wt-button-select.vue +3 -3
  18. package/src/components/wt-checkbox/wt-checkbox.vue +12 -7
  19. package/src/components/wt-chip/wt-chip.vue +6 -3
  20. package/src/components/wt-context-menu/wt-context-menu.vue +4 -4
  21. package/src/components/wt-copy-action/wt-copy-action.vue +6 -6
  22. package/src/components/wt-datepicker/wt-datepicker.vue +14 -12
  23. package/src/components/wt-divider/wt-divider.vue +1 -1
  24. package/src/components/wt-dummy/wt-dummy.vue +6 -2
  25. package/src/components/wt-error-page/wt-error-page.vue +10 -4
  26. package/src/components/wt-expansion-panel/wt-expansion-panel.vue +4 -4
  27. package/src/components/wt-filters-panel-wrapper/wt-filters-panel-wrapper.vue +7 -4
  28. package/src/components/wt-headline/wt-headline.vue +4 -4
  29. package/src/components/wt-headline-nav/wt-headline-nav.vue +11 -4
  30. package/src/components/wt-hint/wt-hint.vue +4 -4
  31. package/src/components/wt-icon/wt-icon.vue +5 -5
  32. package/src/components/wt-icon-action/_internals/wt-add-icon-action.vue +2 -2
  33. package/src/components/wt-icon-action/_internals/wt-delete-icon-action.vue +2 -2
  34. package/src/components/wt-icon-action/_internals/wt-download-icon-action.vue +2 -2
  35. package/src/components/wt-icon-action/_internals/wt-edit-icon-action.vue +2 -2
  36. package/src/components/wt-icon-action/_internals/wt-history-icon-action.vue +2 -2
  37. package/src/components/wt-icon-action/_internals/wt-refresh-icon-action.vue +2 -2
  38. package/src/components/wt-icon-action/wt-icon-action.vue +1 -1
  39. package/src/components/wt-icon-btn/wt-icon-btn.vue +1 -1
  40. package/src/components/wt-indicator/wt-indicator.vue +6 -3
  41. package/src/components/wt-input/wt-input.vue +189 -198
  42. package/src/components/wt-input-info/wt-input-info.vue +2 -2
  43. package/src/components/wt-item-link/wt-item-link.vue +1 -1
  44. package/src/components/wt-label/_variables.scss +4 -2
  45. package/src/components/wt-label/wt-label.vue +5 -18
  46. package/src/components/wt-load-bar/wt-load-bar.vue +5 -2
  47. package/src/components/wt-loader/_internals/wt-loader--md.vue +11 -2
  48. package/src/components/wt-loader/_internals/wt-loader--sm.vue +9 -2
  49. package/src/components/wt-loader/wt-loader.vue +10 -3
  50. package/src/components/wt-navigation-bar/wt-navigation-bar.vue +16 -8
  51. package/src/components/wt-notification/wt-notification.vue +3 -3
  52. package/src/components/wt-notifications-bar/wt-notifications-bar.vue +9 -5
  53. package/src/components/wt-page-header/wt-page-header.vue +7 -8
  54. package/src/components/wt-page-wrapper/wt-page-wrapper.vue +8 -5
  55. package/src/components/wt-pagination/wt-pagination.vue +17 -15
  56. package/src/components/wt-player/wt-player.vue +16 -16
  57. package/src/components/wt-popup/wt-popup.vue +13 -7
  58. package/src/components/wt-progress-bar/wt-progress-bar.vue +11 -7
  59. package/src/components/wt-radio/wt-radio.vue +15 -7
  60. package/src/components/wt-rounded-action/wt-rounded-action.vue +2 -2
  61. package/src/components/wt-search-bar/__tests__/WtSearchBar.spec.js +1 -1
  62. package/src/components/wt-search-bar/wt-search-bar.vue +6 -5
  63. package/src/components/wt-select/_multiselect.scss +1 -2
  64. package/src/components/wt-select/wt-select.vue +33 -19
  65. package/src/components/wt-slider/wt-slider.vue +5 -5
  66. package/src/components/wt-status-select/wt-status-select.vue +9 -9
  67. package/src/components/wt-stepper/wt-stepper.vue +8 -6
  68. package/src/components/wt-switcher/wt-switcher.vue +12 -7
  69. package/src/components/wt-table/wt-table.vue +110 -72
  70. package/src/components/wt-table-actions/wt-table-actions.vue +14 -14
  71. package/src/components/wt-table-column-select/wt-table-column-select.vue +28 -26
  72. package/src/components/wt-tabs/wt-tabs.vue +7 -7
  73. package/src/components/wt-tags-input/wt-tags-input.vue +23 -15
  74. package/src/components/wt-textarea/wt-textarea.vue +16 -11
  75. package/src/components/wt-time-input/wt-time-input.vue +8 -5
  76. package/src/components/wt-timepicker/wt-timepicker.vue +20 -16
  77. package/src/components/wt-tooltip/_internals/wt-tooltip-floating.vue +2 -2
  78. package/src/components/wt-tooltip/wt-tooltip.vue +4 -4
  79. package/src/composables/useCachedInterval/__tests__/useCachedInterval.spec.js +5 -5
  80. package/src/css/styleguide/colors/_colors.scss +9 -8
  81. package/src/css/styleguide/colors/reusable/_text-field.scss +20 -0
  82. package/src/css/styleguide/placeholder/_placeholder.scss +6 -11
  83. package/src/locale/i18n.js +1 -1
  84. package/src/locale/kz/kz.js +74 -78
  85. package/src/mixins/validationMixin/useValidation.js +2 -2
  86. package/src/modules/AgentStatusSelect/components/__tests__/wt-cc-agent-status-select.spec.js +4 -4
  87. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +11 -9
  88. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-status-select-error-popup.vue +6 -5
  89. package/src/modules/AgentStatusSelect/components/wt-cc-agent-status-select.vue +3 -3
  90. package/src/modules/AuditForm/components/__tests__/audit-form.spec.js +1 -1
  91. package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +10 -6
  92. package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +8 -8
  93. package/src/modules/AuditForm/components/audit-form-question.vue +8 -8
  94. package/src/modules/AuditForm/components/audit-form.vue +6 -5
  95. package/src/modules/AuditForm/components/questions/options/audit-form-question-options-write-row.vue +4 -4
  96. package/src/modules/AuditForm/components/questions/options/audit-form-question-options.vue +7 -4
  97. package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +3 -3
  98. package/src/modules/CSVExport/__tests__/CSVExport.spec.js +5 -2
  99. package/src/modules/DeleteConfirmationPopup/__tests__/delete-confirmation-popup.spec.js +6 -6
  100. package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +13 -6
  101. package/src/modules/FilesExport/__tests__/FilesExport.spec.js +6 -3
  102. package/src/modules/Filters/components/filter-pagination.vue +1 -1
  103. package/src/modules/Filters/components/filter-table-fields.vue +1 -1
  104. package/src/modules/Notifications/store/__tests__/NotificationsStoreModule.actions.spec.js +6 -6
  105. package/src/modules/QueryFilters/classes/__tests__/ApiFilterSchema.spec.js +1 -1
  106. package/src/modules/QueryFilters/components/__tests__/abstract-api-filter.spec.js +4 -4
  107. package/src/modules/QueryFilters/components/__tests__/filter-datetime.spec.js +2 -2
  108. package/src/modules/QueryFilters/components/__tests__/filter-from-to.spec.js +4 -4
  109. package/src/modules/QueryFilters/components/__tests__/filter-search.spec.js +2 -2
  110. package/src/modules/QueryFilters/components/abstract-api-filter.vue +2 -2
  111. package/src/modules/QueryFilters/components/abstract-enum-filter.vue +2 -2
  112. package/src/modules/QueryFilters/components/filter-datetime.vue +2 -2
  113. package/src/modules/QueryFilters/components/filter-from-to.vue +12 -10
  114. package/src/modules/QueryFilters/components/filter-search.vue +2 -2
  115. package/src/modules/QueryFilters/components/filter-table-fields.vue +7 -7
  116. package/src/modules/QueryFilters/mixins/__tests__/apiFilterMixin.spec.js +1 -1
  117. package/src/modules/QueryFilters/mixins/__tests__/enumFilterMixin.spec.js +2 -2
  118. package/src/modules/QueryFilters/mixins/__tests__/paginationFilterMixin.spec.js +2 -2
  119. package/src/modules/QueryFilters/mixins/__tests__/sortFilterMixin.spec.js +1 -1
  120. package/src/modules/QueryFilters/store/__tests__/QueryFiltersStoreModule.spec.js +2 -2
  121. package/src/modules/Userinfo/components/__tests__/auth.spec.js +7 -8
  122. package/src/modules/Userinfo/components/the-auth.vue +7 -4
  123. package/src/scripts/saveAsJSON.js +3 -1
  124. package/src/store/BaseStoreModules/__tests__/BaseStoreModule.spec.js +6 -6
  125. package/dist/demo.html +0 -1
  126. package/dist/ui-sdk.common.js +0 -43304
  127. package/dist/ui-sdk.common.js.map +0 -1
  128. package/dist/ui-sdk.umd.js.map +0 -1
  129. package/dist/ui-sdk.umd.min.js +0 -35
  130. package/dist/ui-sdk.umd.min.js.map +0 -1
  131. package/src/components/wt-button/Readme.md +0 -23
  132. package/src/components/wt-button-select/Readme.md +0 -13
  133. package/src/components/wt-headline-nav/Readme.md +0 -9
  134. package/src/components/wt-icon/Readme.md +0 -327
  135. package/src/components/wt-icon/docs/cleanup-svg-fill-none.png +0 -0
  136. package/src/components/wt-icon/docs/cleanup-svg-fill.png +0 -0
  137. package/src/components/wt-icon/docs/cleanup-svg-viewbox-correct.png +0 -0
  138. package/src/components/wt-icon/docs/cleanup-svg-viewbox-incorrect.png +0 -0
  139. package/src/components/wt-icon/docs/cleanup-svg-width-height.png +0 -0
  140. package/src/components/wt-icon/docs/svg-icon-code-example.png +0 -0
  141. package/src/components/wt-icon/docs/svg-sprite-in-dom.png +0 -0
  142. package/src/components/wt-icon-btn/Readme.md +0 -10
  143. package/src/components/wt-rounded-action/Readme.md +0 -68
  144. package/src/validators/variableSearchValidator/Readme.md +0 -13
  145. package/src/validators/websocketValidator/Readme.md +0 -7
@@ -1,13 +1,19 @@
1
1
  <template>
2
- <aside v-clickaway="close" class="wt-navigation-bar">
2
+ <aside
3
+ v-clickaway="close"
4
+ class="wt-navigation-bar"
5
+ >
3
6
  <wt-icon-btn
4
7
  :class="{'active': isOpened}"
5
8
  class="wt-navigation-bar__menu-btn"
6
9
  icon="menu"
7
10
  @click="isOpened = !isOpened"
8
- ></wt-icon-btn>
11
+ />
9
12
  <transition name="fade">
10
- <nav v-show="isOpened" class="wt-navigation-bar__nav">
13
+ <nav
14
+ v-show="isOpened"
15
+ class="wt-navigation-bar__nav"
16
+ >
11
17
  <header class="wt-navigation-bar__nav-header">
12
18
  <!-- vue cli build target lib cant handle dynamic require :( -->
13
19
  <img
@@ -50,7 +56,7 @@
50
56
  class="wt-navigation-bar__nav-close"
51
57
  icon="close"
52
58
  @click="isOpened = false"
53
- ></wt-icon-btn>
59
+ />
54
60
  </header>
55
61
  <wt-divider />
56
62
  <ul class="wt-navigation-bar__nav-list">
@@ -66,7 +72,8 @@
66
72
  :to="navItem.route"
67
73
  class="wt-navigation-bar__nav-item-link"
68
74
  @click="close"
69
- > {{ navItem.name || navItem.value }}
75
+ >
76
+ {{ navItem.name || navItem.value }}
70
77
  </router-link>
71
78
  </div>
72
79
  </div>
@@ -85,7 +92,7 @@
85
92
  class="wt-navigation-bar__expansion-arrow"
86
93
  color="active"
87
94
  icon="arrow-right"
88
- ></wt-icon>
95
+ />
89
96
  </button>
90
97
  <expand-transition>
91
98
  <ul v-if="isExpanded(navItem)">
@@ -100,7 +107,8 @@
100
107
  :to="nestedRoute(subNavItem, navItem)"
101
108
  class="wt-navigation-bar__nav-item-link wt-navigation-bar__nav-item-link--subnav"
102
109
  @click="close"
103
- >{{ subNavItem.name || subNavItem.value }}
110
+ >
111
+ {{ subNavItem.name || subNavItem.value }}
104
112
  </router-link>
105
113
  </div>
106
114
  </li>
@@ -118,7 +126,7 @@
118
126
  import ExpandTransition from '../transitions/wt-expand-transition.vue';
119
127
 
120
128
  export default {
121
- name: 'wt-navigation-bar',
129
+ name: 'WtNavigationBar',
122
130
  components: { ExpandTransition },
123
131
  props: {
124
132
  currentApp: {
@@ -7,10 +7,10 @@
7
7
  class="wt-notification__icon"
8
8
  :icon="notificationIcon"
9
9
  :color="notificationIconColor"
10
- ></wt-icon>
10
+ />
11
11
 
12
12
  <p class="wt-notification__text">
13
- <slot></slot>
13
+ <slot />
14
14
  </p>
15
15
  </article>
16
16
  </template>
@@ -18,7 +18,7 @@
18
18
  <script>
19
19
 
20
20
  export default {
21
- name: 'wt-notification',
21
+ name: 'WtNotification',
22
22
  props: {
23
23
  type: {
24
24
  type: String,
@@ -1,12 +1,16 @@
1
1
  <template>
2
2
  <aside class="wt-notifications-bar">
3
- <transition-group name="wt-notifications-transition" tag="div">
3
+ <transition-group
4
+ name="wt-notifications-transition"
5
+ tag="div"
6
+ >
4
7
  <wt-notification
5
8
  v-for="(notification, key) of notifications"
6
- :type="notification.type"
7
9
  :key="key+notification.text"
10
+ :type="notification.type"
8
11
  @close="closeNotification(notification)"
9
- >{{ notification.text }}
12
+ >
13
+ {{ notification.text }}
10
14
  </wt-notification>
11
15
  </transition-group>
12
16
  </aside>
@@ -14,7 +18,7 @@
14
18
 
15
19
  <script>
16
20
  export default {
17
- name: 'wt-notifications-bar',
21
+ name: 'WtNotificationsBar',
18
22
  inject: ['$eventBus'],
19
23
  data: () => ({
20
24
  notificationDuration: 4000,
@@ -27,7 +31,7 @@ export default {
27
31
  console.error('wt-notifications-bar cannot work without globally registered eventBus', err);
28
32
  }
29
33
  },
30
- destroyed() {
34
+ unmounted() {
31
35
  this.$eventBus.$off('notification', this.showNotification);
32
36
  },
33
37
  methods: {
@@ -1,17 +1,16 @@
1
1
  <template>
2
2
  <wt-headline>
3
- <template v-slot:title-wrapper>
4
- <slot>
5
- </slot>
3
+ <template #title-wrapper>
4
+ <slot />
6
5
  </template>
7
- <template v-slot:title>
8
- <slot name="title"></slot>
6
+ <template #title>
7
+ <slot name="title" />
9
8
  </template>
10
- <template v-slot:actions>
11
- <slot name="actions"></slot>
9
+ <template #actions>
10
+ <slot name="actions" />
12
11
  <slot
13
- name="primary-action"
14
12
  v-if="!hidePrimary"
13
+ name="primary-action"
15
14
  >
16
15
  <wt-button
17
16
  :disabled="primaryDisabled"
@@ -1,20 +1,23 @@
1
1
  <template>
2
2
  <section class="wt-page-wrapper">
3
3
  <div class="wt-page-wrapper__header">
4
- <slot name="header"></slot>
4
+ <slot name="header" />
5
5
  </div>
6
- <div v-if="actionsPanel" class="wt-page-wrapper__actions-panel">
7
- <slot name="actions-panel"></slot>
6
+ <div
7
+ v-if="actionsPanel"
8
+ class="wt-page-wrapper__actions-panel"
9
+ >
10
+ <slot name="actions-panel" />
8
11
  </div>
9
12
  <div class="wt-page-wrapper__main">
10
- <slot name="main"></slot>
13
+ <slot name="main" />
11
14
  </div>
12
15
  </section>
13
16
  </template>
14
17
 
15
18
  <script>
16
19
  export default {
17
- name: 'wt-page-wrapper',
20
+ name: 'WtPageWrapper',
18
21
  props: {
19
22
  actionsPanel: {
20
23
  type: Boolean,
@@ -1,7 +1,9 @@
1
1
  <template>
2
2
  <footer class="wt-pagination">
3
3
  <div class="wt-pagination__size">
4
- <div class="wt-pagination__size-text">{{ $t('webitelUI.pagination.sizeText') }}</div>
4
+ <div class="wt-pagination__size-text">
5
+ {{ $t('webitelUI.pagination.sizeText') }}
6
+ </div>
5
7
  <wt-input
6
8
  :number-max="1000"
7
9
  :number-min="1"
@@ -9,28 +11,28 @@
9
11
  class="wt-pagination__size-input"
10
12
  type="number"
11
13
  @input="inputHandler"
12
- ></wt-input>
14
+ />
13
15
  </div>
14
16
  <div class="wt-pagination__page-controls">
15
17
  <wt-tooltip>
16
- <template v-slot:activator>
18
+ <template #activator>
17
19
  <wt-icon-btn
18
20
  :disabled="!prev"
19
21
  class="wt-pagination__page-control"
20
22
  icon="arrow-left"
21
23
  @click="goPrev"
22
- ></wt-icon-btn>
24
+ />
23
25
  </template>
24
26
  {{ $t('webitelUI.pagination.prev') }}
25
27
  </wt-tooltip>
26
28
  <wt-tooltip>
27
- <template v-slot:activator>
29
+ <template #activator>
28
30
  <wt-icon-btn
29
31
  :disabled="!next"
30
32
  class="wt-pagination__page-control"
31
33
  icon="arrow-right"
32
34
  @click="goNext"
33
- ></wt-icon-btn>
35
+ />
34
36
  </template>
35
37
  {{ $t('webitelUI.pagination.next') }}
36
38
  </wt-tooltip>
@@ -42,7 +44,11 @@
42
44
  import debounce from '../../scripts/debounce';
43
45
 
44
46
  export default {
45
- name: 'wt-pagination',
47
+ name: 'WtPagination',
48
+ model: {
49
+ prop: 'size',
50
+ event: 'change',
51
+ },
46
52
  props: {
47
53
  size: {
48
54
  type: [String, Number],
@@ -65,10 +71,10 @@ export default {
65
71
  },
66
72
  },
67
73
  emits: ['change', 'input', 'prev', 'next'],
68
- model: {
69
- prop: 'size',
70
- event: 'change',
71
- },
74
+
75
+ data: () => ({
76
+ defaultSize: '10',
77
+ }),
72
78
 
73
79
  watch: {
74
80
  size(value) {
@@ -76,10 +82,6 @@ export default {
76
82
  },
77
83
  },
78
84
 
79
- data: () => ({
80
- defaultSize: '10',
81
- }),
82
-
83
85
  created() {
84
86
  if (this.debounce) this.changeSize = debounce(this.changeSize, this.debounceDelay);
85
87
  },
@@ -5,22 +5,22 @@
5
5
  >
6
6
  <component
7
7
  :is="playerType"
8
- class="wt-player__player"
9
8
  ref="player"
9
+ class="wt-player__player"
10
10
  :src="src"
11
11
  :autoplay="autoplay"
12
12
  controls
13
13
  v-on="listeners"
14
- ></component>
14
+ />
15
15
 
16
16
  <!-- The "wt-icon-btn" component is append in to "audio" element by "setCloseIcon" method-->
17
17
  <wt-icon-btn
18
18
  v-if="closable"
19
- class="wt-player__close-icon"
20
19
  ref="close-icon"
20
+ class="wt-player__close-icon"
21
21
  icon="close"
22
22
  @click="$emit('close')"
23
- ></wt-icon-btn>
23
+ />
24
24
  </aside>
25
25
  </template>
26
26
 
@@ -28,7 +28,7 @@
28
28
  import Plyr from 'plyr';
29
29
 
30
30
  export default {
31
- name: 'wt-player',
31
+ name: 'WtPlayer',
32
32
  props: {
33
33
  src: {},
34
34
  autoplay: {
@@ -74,6 +74,17 @@ export default {
74
74
  player: null,
75
75
  }),
76
76
 
77
+ computed: {
78
+ listeners() {
79
+ return {
80
+ ...this.$listeners,
81
+ };
82
+ },
83
+ playerType() {
84
+ return this.mime.includes('video') ? 'video' : 'audio';
85
+ },
86
+ },
87
+
77
88
  watch: {
78
89
  src() {
79
90
  this.setupDownload();
@@ -87,17 +98,6 @@ export default {
87
98
  this.setupPlayer();
88
99
  },
89
100
 
90
- computed: {
91
- listeners() {
92
- return {
93
- ...this.$listeners,
94
- };
95
- },
96
- playerType() {
97
- return this.mime.includes('video') ? 'video' : 'audio';
98
- },
99
- },
100
-
101
101
  methods: {
102
102
  async setupPlayer() {
103
103
  await this.$nextTick(); // test is failing to render component if element is passed to Plyr as Vue $ref
@@ -10,20 +10,26 @@
10
10
  <header class="wt-popup__header">
11
11
  <slot name="header">
12
12
  <h3 class="wt-popup__title">
13
- <slot name="title"></slot>
13
+ <slot name="title" />
14
14
  </h3>
15
15
  </slot>
16
16
  <wt-icon-btn
17
17
  class="wt-popup__close-btn"
18
18
  icon="close"
19
19
  @click="$emit('close')"
20
- ></wt-icon-btn>
20
+ />
21
21
  </header>
22
- <section v-if="$slots.main" class="wt-popup__main">
23
- <slot name="main"></slot>
22
+ <section
23
+ v-if="$slots.main"
24
+ class="wt-popup__main"
25
+ >
26
+ <slot name="main" />
24
27
  </section>
25
- <footer v-if="$slots.actions" class="wt-popup__actions">
26
- <slot name="actions"></slot>
28
+ <footer
29
+ v-if="$slots.actions"
30
+ class="wt-popup__actions"
31
+ >
32
+ <slot name="actions" />
27
33
  </footer>
28
34
  </aside>
29
35
  </div>
@@ -31,7 +37,7 @@
31
37
 
32
38
  <script>
33
39
  export default {
34
- name: 'wt-popup',
40
+ name: 'WtPopup',
35
41
  props: {
36
42
  minWidth: {
37
43
  type: [Number, String],
@@ -1,18 +1,22 @@
1
1
  <template>
2
2
  <div
3
- class="wt-progress-bar" :class="[{
4
- 'wt-progress-bar--overflow': isOverflow,
5
- },
6
- `wt-progress-bar--${color}`
7
- ]"
3
+ class="wt-progress-bar"
4
+ :class="[{
5
+ 'wt-progress-bar--overflow': isOverflow,
6
+ },
7
+ `wt-progress-bar--${color}`
8
+ ]"
8
9
  >
9
- <span class="wt-progress-bar__progress" :style="`width: ${this.progressWidth}%;`"></span>
10
+ <span
11
+ class="wt-progress-bar__progress"
12
+ :style="`width: ${progressWidth}%;`"
13
+ />
10
14
  </div>
11
15
  </template>
12
16
 
13
17
  <script>
14
18
  export default {
15
- name: 'wt-progress-bar',
19
+ name: 'WtProgressBar',
16
20
  props: {
17
21
  max: {
18
22
  type: [Number, String],
@@ -16,13 +16,21 @@
16
16
  :disabled="disabled"
17
17
  @input="inputHandler"
18
18
  >
19
- <wt-icon class="wt-radio__icon" :icon="radioIcon"></wt-icon>
19
+ <wt-icon
20
+ class="wt-radio__icon"
21
+ :icon="radioIcon"
22
+ />
20
23
  <!-- @slot Custom input label -->
21
24
  <slot
22
25
  v-bind="{ label, isChecked, disabled }"
23
26
  name="label"
24
27
  >
25
- <div v-if="label" class="wt-radio__label">{{ label }}</div>
28
+ <div
29
+ v-if="label"
30
+ class="wt-radio__label"
31
+ >
32
+ {{ label }}
33
+ </div>
26
34
  </slot>
27
35
  </wt-label>
28
36
  </div>
@@ -30,7 +38,11 @@
30
38
 
31
39
  <script>
32
40
  export default {
33
- name: 'wt-radio',
41
+ name: 'WtRadio',
42
+ model: {
43
+ prop: 'selected',
44
+ event: 'input',
45
+ },
34
46
  props: {
35
47
  // value, set by radio
36
48
  value: {
@@ -59,10 +71,6 @@ export default {
59
71
  default: false,
60
72
  },
61
73
  },
62
- model: {
63
- prop: 'selected',
64
- event: 'input',
65
- },
66
74
  computed: {
67
75
  isChecked() {
68
76
  return this.value === this.selected;
@@ -15,13 +15,13 @@
15
15
  v-if="loading"
16
16
  size="sm"
17
17
  :color="loaderColor"
18
- ></wt-loader>
18
+ />
19
19
  <wt-icon
20
20
  v-else
21
21
  :color="iColor"
22
22
  :icon="icon"
23
23
  :size="size"
24
- ></wt-icon>
24
+ />
25
25
  </button>
26
26
  </template>
27
27
 
@@ -3,7 +3,7 @@ import { shallowMount } from '@vue/test-utils';
3
3
  import WtSearchBar from '../wt-search-bar.vue';
4
4
  import { useValidation } from '../../../mixins/validationMixin/useValidation';
5
5
 
6
- jest.mock('../../../mixins/validationMixin/useValidation');
6
+ vi.mock('../../../mixins/validationMixin/useValidation');
7
7
  useValidation.mockImplementation(() => ({
8
8
  isValidation: ref(false),
9
9
  invalid: ref(false),
@@ -15,7 +15,7 @@
15
15
  <wt-icon
16
16
  :color="invalidColorProvider"
17
17
  icon="search"
18
- ></wt-icon>
18
+ />
19
19
  </slot>
20
20
  </div>
21
21
  <input
@@ -33,16 +33,17 @@
33
33
  class="wt-search-bar__reset-icon-btn"
34
34
  icon="close"
35
35
  @click="handleInput('')"
36
- ></wt-icon-btn>
36
+ />
37
37
  <wt-hint
38
38
  v-if="hint"
39
- :iconColor="invalidColorProvider"
40
- >{{ hint }}
39
+ :icon-color="invalidColorProvider"
40
+ >
41
+ {{ hint }}
41
42
  </wt-hint>
42
43
  <slot
43
44
  :invalid="invalid"
44
45
  name="additional-actions"
45
- ></slot>
46
+ />
46
47
  </div>
47
48
  </div>
48
49
  </div>
@@ -1,4 +1,3 @@
1
- @import '~vue-multiselect/dist/vue3-multiselect.css';
2
1
 
3
2
  .multiselect ::v-deep {
4
3
  cursor: pointer;
@@ -109,7 +108,7 @@
109
108
  border-color: var(--form-border--active-color);
110
109
 
111
110
  .multiselect__placeholder {
112
- @extend %wt-placeholder--focus;
111
+ //@extend %wt-placeholder--focus;
113
112
  }
114
113
  }
115
114
 
@@ -10,8 +10,8 @@
10
10
  class="wt-select"
11
11
  >
12
12
  <wt-label
13
- v-bind="labelProps"
14
13
  v-if="hasLabel"
14
+ v-bind="labelProps"
15
15
  :disabled="disabled"
16
16
  :invalid="invalid"
17
17
  class="wt-select__label"
@@ -20,7 +20,9 @@
20
20
  <slot
21
21
  v-bind="{ label }"
22
22
  name="label"
23
- >{{ requiredLabel }}</slot>
23
+ >
24
+ {{ requiredLabel }}
25
+ </slot>
24
26
  </wt-label>
25
27
  <vue-multiselect
26
28
  v-bind="$attrs"
@@ -41,19 +43,24 @@
41
43
  @open="isOpened = true"
42
44
  v-on="listeners"
43
45
  >
44
- <template v-if="!isOpened" v-slot:limit>
45
- <wt-chip class="multiselect__limit">+{{ value.length - 1 }}</wt-chip>
46
+ <template
47
+ v-if="!isOpened"
48
+ #limit
49
+ >
50
+ <wt-chip class="multiselect__limit">
51
+ +{{ value.length - 1 }}
52
+ </wt-chip>
46
53
  </template>
47
54
 
48
55
  <!-- Slot that is used for all selected options (tags)-->
49
- <template v-slot:tag="{ option }">
56
+ <template #tag="{ option }">
50
57
  <span class="multiselect__custom-tag">
51
- {{ getOptionLabel({ option, optionLabel }) }}
58
+ {{ getOptionLabel({ option, optionLabel }) }}
52
59
  </span>
53
60
  </template>
54
61
 
55
62
  <!-- Slot for custom label template for single select-->
56
- <template v-slot:singleLabel="{ option }">
63
+ <template #singleLabel="{ option }">
57
64
  <slot
58
65
  v-bind="{ option, optionLabel }"
59
66
  name="singleLabel"
@@ -65,7 +72,7 @@
65
72
  </template>
66
73
 
67
74
  <!-- Slot for custom option template -->
68
- <template v-slot:option="{ option }">
75
+ <template #option="{ option }">
69
76
  <slot
70
77
  v-bind="{ option, optionLabel }"
71
78
  name="option"
@@ -75,18 +82,18 @@
75
82
  </template>
76
83
 
77
84
  <!-- Element for opening and closing the dropdown -->
78
- <template v-slot:caret="{ toggle }">
85
+ <template #caret="{ toggle }">
79
86
  <!-- @mousedown.native.prevent.stop="toggle": https://github.com/shentao/vue-multiselect/issues/1204#issuecomment-615114727 -->
80
87
  <wt-icon-btn
81
88
  :disabled="disabled"
82
89
  class="multiselect__select"
83
90
  icon="arrow-down"
84
91
  @mousedown.prevent.stop="toggle"
85
- ></wt-icon-btn>
92
+ />
86
93
  </template>
87
94
 
88
95
  <!-- Slot located before the tags -->
89
- <template v-slot:clear="{}">
96
+ <template #clear="{}">
90
97
  <wt-icon-btn
91
98
  v-if="clearable"
92
99
  :class="{ 'hidden': !isValue }"
@@ -94,23 +101,30 @@
94
101
  class="multiselect__clear"
95
102
  icon="close"
96
103
  @click="clearValue"
97
- ></wt-icon-btn>
104
+ />
98
105
  </template>
99
106
 
100
- <template v-slot:beforeList>
101
- <div v-show="isLoading" class="multiselect__loading-wrapper">
102
- <wt-loader size="sm"></wt-loader>
107
+ <template #beforeList>
108
+ <div
109
+ v-show="isLoading"
110
+ class="multiselect__loading-wrapper"
111
+ >
112
+ <wt-loader size="sm" />
103
113
  </div>
104
114
  </template>
105
115
 
106
- <template v-if="showIntersectionObserver" v-slot:afterList>
107
- <div v-observe-visibility="handleAfterListIntersect"></div>
116
+ <template
117
+ v-if="showIntersectionObserver"
118
+ #afterList
119
+ >
120
+ <div v-observe-visibility="handleAfterListIntersect" />
108
121
  </template>
109
122
  </vue-multiselect>
110
123
  <wt-input-info
111
124
  v-if="isValidation"
112
125
  :invalid="invalid"
113
- >{{ validationText }}
126
+ >
127
+ {{ validationText }}
114
128
  </wt-input-info>
115
129
  </div>
116
130
  </template>
@@ -119,7 +133,7 @@
119
133
  import multiselectMixin from './mixins/multiselectMixin';
120
134
 
121
135
  export default {
122
- name: 'wt-select',
136
+ name: 'WtSelect',
123
137
  mixins: [multiselectMixin],
124
138
  props: {
125
139
  value: {},