@webitel/ui-sdk 25.4.37 → 25.4.39

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 (182) hide show
  1. package/CHANGELOG.md +391 -238
  2. package/dist/ui-sdk.css +1 -1
  3. package/dist/ui-sdk.js +8737 -8361
  4. package/dist/ui-sdk.umd.cjs +20 -17
  5. package/package.json +42 -37
  6. package/src/api/clients/casePriorities/casePriorities.js +13 -3
  7. package/src/api/clients/caseSources/caseSources.js +13 -24
  8. package/src/api/clients/slas/slas.js +16 -26
  9. package/src/api/clients//321/201ontacts/contacts.js +1 -0
  10. package/src/api/transformers/skipIf/skipIf.ts +8 -3
  11. package/src/api/websocket/WebSocketClientController.js +21 -14
  12. package/src/api/websocket/config.js +5 -4
  13. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-1.vue +2 -2
  14. package/src/components/on-demand/wt-navigation-menu/components/_internals/nav-menu-lvl-2.vue +4 -4
  15. package/src/components/on-demand/wt-navigation-menu/components/wt-navigation-menu.vue +5 -5
  16. package/src/components/on-demand/wt-navigation-menu/css/_nav-menu.scss +5 -5
  17. package/src/components/on-demand/wt-save-failed-popup/wt-save-failed-popup.vue +1 -1
  18. package/src/components/on-demand/wt-selection-popup/wt-selection-popup.vue +3 -3
  19. package/src/components/on-demand/wt-start-page/components/start-page-card.vue +6 -6
  20. package/src/components/on-demand/wt-start-page/components/start-page-logo.vue +1 -1
  21. package/src/components/on-demand/wt-start-page/components/wt-start-page.vue +2 -2
  22. package/src/components/transitions/wt-expand-transition.vue +1 -1
  23. package/src/components/wt-action-bar/wt-action-bar.vue +1 -1
  24. package/src/components/wt-app-header/wt-app-header.vue +4 -4
  25. package/src/components/wt-app-header/wt-app-navigator.vue +14 -14
  26. package/src/components/wt-app-header/wt-header-actions.vue +19 -14
  27. package/src/components/wt-avatar/wt-avatar.vue +4 -4
  28. package/src/components/wt-badge/wt-badge.vue +1 -1
  29. package/src/components/wt-button/wt-button.vue +18 -18
  30. package/src/components/wt-button-select/wt-button-select.vue +4 -4
  31. package/src/components/wt-checkbox/wt-checkbox.vue +4 -4
  32. package/src/components/wt-chip/wt-chip.scss +9 -9
  33. package/src/components/wt-confirm-dialog/wt-confirm-dialog.vue +2 -2
  34. package/src/components/wt-context-menu/wt-context-menu.vue +4 -4
  35. package/src/components/wt-datepicker/wt-datepicker.vue +4 -4
  36. package/src/components/wt-divider/wt-divider.vue +11 -11
  37. package/src/components/wt-dual-panel/wt-dual-panel.vue +11 -11
  38. package/src/components/wt-dummy/wt-dummy.vue +2 -2
  39. package/src/components/wt-empty/wt-empty.vue +9 -9
  40. package/src/components/wt-error-page/wt-error-page.vue +4 -4
  41. package/src/components/wt-expansion-panel/wt-expansion-panel.vue +4 -4
  42. package/src/components/wt-headline/wt-headline.vue +4 -4
  43. package/src/components/wt-headline-nav/wt-headline-nav.vue +4 -4
  44. package/src/components/wt-icon/wt-icon.vue +2 -2
  45. package/src/components/wt-icon-action/wt-icon-action.vue +1 -1
  46. package/src/components/wt-icon-btn/wt-icon-btn.vue +1 -1
  47. package/src/components/wt-image/wt-image.vue +1 -1
  48. package/src/components/wt-indicator/wt-indicator.vue +2 -2
  49. package/src/components/wt-input/wt-input.vue +10 -10
  50. package/src/components/wt-input-info/wt-input-info.vue +1 -1
  51. package/src/components/wt-item-link/wt-item-link.vue +1 -1
  52. package/src/components/wt-label/wt-label.vue +1 -1
  53. package/src/components/wt-load-bar/wt-load-bar.vue +5 -5
  54. package/src/components/wt-loader/_internals/wt-loader--md.vue +5 -5
  55. package/src/components/wt-loader/_internals/wt-loader--sm.vue +1 -1
  56. package/src/components/wt-logo/wt-logo.vue +13 -4
  57. package/src/components/wt-navigation-bar/types/WtNavigationBar.d.ts +8 -9
  58. package/src/components/wt-navigation-bar/wt-navigation-bar.vue +17 -17
  59. package/src/components/wt-notification/wt-notification.vue +7 -7
  60. package/src/components/wt-notifications-bar/wt-notifications-bar.vue +2 -2
  61. package/src/components/wt-page-wrapper/wt-page-wrapper.vue +4 -4
  62. package/src/components/wt-player/wt-player.vue +6 -6
  63. package/src/components/wt-popup/wt-popup.vue +18 -18
  64. package/src/components/wt-progress-bar/wt-progress-bar.vue +6 -6
  65. package/src/components/wt-radio/wt-radio.vue +3 -3
  66. package/src/components/wt-rounded-action/wt-rounded-action.vue +3 -3
  67. package/src/components/wt-search-bar/wt-search-bar.vue +9 -9
  68. package/src/components/wt-select/_multiselect.scss +18 -18
  69. package/src/components/wt-select/wt-select.vue +3 -3
  70. package/src/components/wt-slider/wt-slider.vue +12 -12
  71. package/src/components/wt-status-select/wt-status-select.vue +4 -4
  72. package/src/components/wt-stepper/wt-stepper.vue +2 -2
  73. package/src/components/wt-switcher/wt-switcher.vue +8 -8
  74. package/src/components/wt-table/wt-table.vue +5 -5
  75. package/src/components/wt-table-actions/wt-table-actions.vue +1 -1
  76. package/src/components/wt-table-column-select/wt-table-column-select.vue +4 -4
  77. package/src/components/wt-tabs/wt-tabs.vue +9 -9
  78. package/src/components/wt-tags-input/wt-tags-input.vue +8 -8
  79. package/src/components/wt-textarea/wt-textarea.vue +11 -11
  80. package/src/components/wt-time-input/wt-time-input.vue +6 -6
  81. package/src/components/wt-timepicker/wt-timepicker.vue +1 -1
  82. package/src/components/wt-tooltip/wt-tooltip.vue +4 -4
  83. package/src/components/wt-tree/types/WtTreeMode.js +2 -2
  84. package/src/components/wt-tree/wt-tree.vue +9 -9
  85. package/src/components/wt-tree-line/_variables.scss +0 -1
  86. package/src/components/wt-tree-line/types/wt-tree-nested-icons.ts +3 -3
  87. package/src/components/wt-tree-line/wt-tree-line.vue +2 -2
  88. package/src/components/wt-tree-table/wt-tree-table.vue +3 -3
  89. package/src/components/wt-tree-table-row/wt-tree-table-row.vue +1 -1
  90. package/src/composables/useAccessControl/v2/createUserAccessControl.ts +7 -4
  91. package/src/composables/useAccessControl/v2/types/CreateUserAccessControl.d.ts +6 -4
  92. package/src/composables/useWtTable/useWtTable.js +20 -19
  93. package/src/css/main.scss +6 -6
  94. package/src/css/pages/card-page.scss +6 -6
  95. package/src/css/pages/table-page.scss +5 -5
  96. package/src/enums/ComponentSize/ComponentSize.js +9 -9
  97. package/src/enums/CrudAction/CrudAction.js +4 -4
  98. package/src/enums/WebitelApplications/AdminSections.js +37 -37
  99. package/src/enums/WebitelApplications/AuditorSections.js +1 -1
  100. package/src/enums/WebitelApplications/CrmSections.enum.js +2 -1
  101. package/src/enums/WebitelApplications/CrmSections.js +12 -12
  102. package/src/enums/WebitelApplications/CrmSections.ts +13 -13
  103. package/src/enums/WebitelApplications/SupervisorSections.js +3 -3
  104. package/src/enums/WebitelApplications/WtApplication.js +7 -7
  105. package/src/enums/index.js +17 -1
  106. package/src/locale/ru/ru.js +2 -1
  107. package/src/locale/ua/ua.js +2 -1
  108. package/src/mixins/validationMixin/useValidation.js +3 -1
  109. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-pause-cause-popup.vue +1 -1
  110. package/src/modules/AgentStatusSelect/components/_internals/wt-cc-status-select-error-popup.vue +1 -1
  111. package/src/modules/AuditForm/components/audit-form-question-read-wrapper.vue +3 -3
  112. package/src/modules/AuditForm/components/audit-form-question-write-wrapper.vue +4 -4
  113. package/src/modules/AuditForm/components/audit-form-question.vue +2 -2
  114. package/src/modules/AuditForm/components/questions/score/audit-form-question-score.vue +1 -1
  115. package/src/modules/DeleteConfirmationPopup/components/delete-confirmation-popup.vue +1 -1
  116. package/src/modules/Filters/v2/filter-presets/components/_shared/input-fields/preset-description-field.vue +3 -7
  117. package/src/modules/Filters/v2/filter-presets/components/_shared/input-fields/preset-name-field.vue +3 -6
  118. package/src/modules/Filters/v2/filter-presets/components/_shared/preset-filters-preview.vue +8 -15
  119. package/src/modules/Filters/v2/filter-presets/components/apply-preset/apply-preset-action.vue +55 -49
  120. package/src/modules/Filters/v2/filter-presets/components/apply-preset/preset-preview.vue +39 -27
  121. package/src/modules/Filters/v2/filter-presets/components/save-preset/overwrite-preset-popup.vue +3 -1
  122. package/src/modules/Filters/v2/filter-presets/components/save-preset/save-preset-action.vue +40 -24
  123. package/src/modules/Filters/v2/filter-presets/components/save-preset/save-preset-popup.vue +2 -2
  124. package/src/modules/Filters/v2/filter-presets/index.ts +3 -8
  125. package/src/modules/Filters/v2/filter-presets/stores/createFilterPresetsStore.ts +11 -9
  126. package/src/modules/Filters/v2/filter-presets/stores/headers/headers.ts +21 -21
  127. package/src/modules/Filters/v2/filters/components/config/dynamic-filter-config-form.vue +2 -2
  128. package/src/modules/Filters/v2/filters/components/dynamic-filter-add-action.vue +3 -3
  129. package/src/modules/Filters/v2/filters/components/dynamic-filter-panel-wrapper.vue +10 -7
  130. package/src/modules/Filters/v2/filters/components/filter-options/_shared/composables/booleanFilterToolkit.ts +30 -24
  131. package/src/modules/Filters/v2/filters/components/filter-options/_shared/composables/useFromToSecToPreviewTime.ts +28 -28
  132. package/src/modules/Filters/v2/filters/components/filter-options/_shared/date-time-filter/date-time-filter-value-field.vue +9 -6
  133. package/src/modules/Filters/v2/filters/components/filter-options/_shared/has-options/has-option-filter-value-field.vue +2 -2
  134. package/src/modules/Filters/v2/filters/components/filter-options/agent/agent-filter-value-preview.vue +4 -6
  135. package/src/modules/Filters/v2/filters/components/filter-options/amd-result/amd-result-filter-value-preview.vue +0 -2
  136. package/src/modules/Filters/v2/filters/components/filter-options/assignee/assignee-filter-value-preview.vue +8 -13
  137. package/src/modules/Filters/v2/filters/components/filter-options/author/author-filter-value-preview.vue +4 -6
  138. package/src/modules/Filters/v2/filters/components/filter-options/cause/cause-filter-value-preview.vue +0 -1
  139. package/src/modules/Filters/v2/filters/components/filter-options/close-reason-groups-case/close-reason-groups-case-filter-value-field.vue +7 -4
  140. package/src/modules/Filters/v2/filters/components/filter-options/close-reason-groups-case/close-reason-groups-case-filter-value-preview.vue +6 -7
  141. package/src/modules/Filters/v2/filters/components/filter-options/close-reason-groups-case/config.js +2 -1
  142. package/src/modules/Filters/v2/filters/components/filter-options/contact/contact-filter-value-preview.vue +4 -6
  143. package/src/modules/Filters/v2/filters/components/filter-options/contact-group/contact-group-filter-value-preview.vue +5 -10
  144. package/src/modules/Filters/v2/filters/components/filter-options/created-at-from/created-at-from-filter-value-preview.vue +1 -1
  145. package/src/modules/Filters/v2/filters/components/filter-options/created-at-to/created-at-to-filter-value-preview.vue +1 -1
  146. package/src/modules/Filters/v2/filters/components/filter-options/direction/direction-filter-value-preview.vue +1 -1
  147. package/src/modules/Filters/v2/filters/components/filter-options/gateway/gateway-filter-value-preview.vue +4 -6
  148. package/src/modules/Filters/v2/filters/components/filter-options/grantee/grantee-filter-value-preview.vue +4 -6
  149. package/src/modules/Filters/v2/filters/components/filter-options/has-attachment/has-attachment-filter-value-preview.vue +3 -1
  150. package/src/modules/Filters/v2/filters/components/filter-options/has-file/has-file-filter-value-field.vue +1 -1
  151. package/src/modules/Filters/v2/filters/components/filter-options/has-file/has-file-filter-value-preview.vue +2 -4
  152. package/src/modules/Filters/v2/filters/components/filter-options/has-rating/has-rating-filter-value-field.vue +2 -2
  153. package/src/modules/Filters/v2/filters/components/filter-options/has-rating/has-rating-filter-value-preview.vue +2 -4
  154. package/src/modules/Filters/v2/filters/components/filter-options/has-transcription/has-transcription-filter-value-field.vue +2 -3
  155. package/src/modules/Filters/v2/filters/components/filter-options/has-transcription/has-transcription-filter-value-preview.vue +2 -4
  156. package/src/modules/Filters/v2/filters/components/filter-options/impacted/impacted-filter-value-preview.vue +4 -6
  157. package/src/modules/Filters/v2/filters/components/filter-options/index.ts +48 -44
  158. package/src/modules/Filters/v2/filters/components/filter-options/priority-case/config.js +1 -2
  159. package/src/modules/Filters/v2/filters/components/filter-options/priority-case/priority-case-filter-value-preview.vue +4 -6
  160. package/src/modules/Filters/v2/filters/components/filter-options/queue/queue-filter-value-preview.vue +4 -6
  161. package/src/modules/Filters/v2/filters/components/filter-options/rated-by/rated-by-filter-value-preview.vue +4 -6
  162. package/src/modules/Filters/v2/filters/components/filter-options/reporter/reporter-filter-value-preview.vue +4 -6
  163. package/src/modules/Filters/v2/filters/components/filter-options/score/score-from-to-filter-value-field.vue +1 -1
  164. package/src/modules/Filters/v2/filters/components/filter-options/service-case/service-case-filter-value-field.vue +5 -5
  165. package/src/modules/Filters/v2/filters/components/filter-options/sla/sla-filter-value-preview.vue +4 -6
  166. package/src/modules/Filters/v2/filters/components/filter-options/source-case/config.js +1 -2
  167. package/src/modules/Filters/v2/filters/components/filter-options/source-case/source-case-filter-value-preview.vue +4 -6
  168. package/src/modules/Filters/v2/filters/components/filter-options/status-case/config.js +2 -1
  169. package/src/modules/Filters/v2/filters/components/filter-options/status-case/status-case-filter-value-field.vue +7 -4
  170. package/src/modules/Filters/v2/filters/components/filter-options/talk-duration/TalkDurationFilter.d.ts +2 -2
  171. package/src/modules/Filters/v2/filters/components/filter-options/team/team-filter-value-preview.vue +4 -6
  172. package/src/modules/Filters/v2/filters/components/filter-options/total-duration/TotalDurationFilter.d.ts +2 -2
  173. package/src/modules/Filters/v2/filters/components/filter-options/user/user-filter-value-preview.vue +4 -6
  174. package/src/modules/Filters/v2/filters/components/filter-options/variable/variable-filter-value-field.vue +1 -2
  175. package/src/modules/Filters/v2/filters/components/preview/dynamic-filter-preview.vue +4 -6
  176. package/src/modules/Filters/v2/filters/enums/FilterOption.ts +40 -40
  177. package/src/modules/ObjectPermissions/_internals/components/permissions-role-row.vue +1 -1
  178. package/src/modules/ObjectPermissions/components/permissions-tab.vue +56 -57
  179. package/src/modules/TableComponentModule/composables/useTableEmpty.js +1 -1
  180. package/src/modules/Userinfo/v2/stores/__tests__/accessStore.spec.ts +16 -16
  181. package/src/scripts/compareSize.js +9 -9
  182. package/src/scripts/prettifyFileSize.js +0 -1
@@ -13,14 +13,14 @@
13
13
  <style lang="scss" scoped>
14
14
  .wt-app-header {
15
15
  display: flex;
16
- align-items: center;
17
16
  justify-content: flex-end;
17
+ align-items: center;
18
+ gap: var(--wt-app-header-content-gap);
18
19
  box-sizing: border-box;
20
+ background: var(--wt-app-header-background);
21
+ padding: var(--wt-app-header-padding);
19
22
  min-height: var(
20
23
  --wt-app-header-min-height
21
24
  ); // fixed height because anything can be put inside slot, so padding won't work properly
22
- padding: var(--wt-app-header-padding);
23
- background: var(--wt-app-header-background);
24
- gap: var(--wt-app-header-content-gap);
25
25
  }
26
26
  </style>
@@ -154,10 +154,10 @@ function close() {
154
154
  @use '@webitel/styleguide/typography' as *;
155
155
 
156
156
  .wt-app-navigator {
157
- position: relative;
158
- z-index: var(--wt-app-header-content-z-index);
159
157
  display: flex;
158
+ position: relative;
160
159
  align-items: center;
160
+ z-index: var(--wt-app-header-content-z-index);
161
161
  }
162
162
 
163
163
  // dropdown part
@@ -166,14 +166,14 @@ function close() {
166
166
  position: absolute;
167
167
  top: 100%; // icon
168
168
  right: 0;
169
- overflow: auto;
170
- max-height: var(--wt-app-navigator-max-height);
171
- margin-top: var(--wt-app-header-content-panel-margin);
172
- padding: var(--wt-app-header-content-gap);
173
169
  transition: var(--transition);
170
+ margin-top: var(--wt-app-header-content-panel-margin);
171
+ box-shadow: var(--elevation-10);
174
172
  border-radius: var(--border-radius);
175
173
  background: var(--wt-app-header-content-bg-color);
176
- box-shadow: var(--elevation-10);
174
+ padding: var(--wt-app-header-content-gap);
175
+ max-height: var(--wt-app-navigator-max-height);
176
+ overflow: auto;
177
177
  }
178
178
 
179
179
  .wt-app-navigator__nav-title {
@@ -191,13 +191,13 @@ function close() {
191
191
  }
192
192
 
193
193
  .wt-app-navigator__card {
194
- box-sizing: border-box;
195
- width: var(--wt-app-navigator-item-width);
196
- height: var(--wt-app-navigator-item-height);
197
194
  transition: var(--transition);
195
+ box-sizing: border-box;
198
196
  border: var(--wt-app-navigator-item-border);
199
197
  border-color: var(--wt-app-navigator-item-border-color);
200
198
  border-radius: var(--border-radius);
199
+ width: var(--wt-app-navigator-item-width);
200
+ height: var(--wt-app-navigator-item-height);
201
201
 
202
202
  &.active,
203
203
  &:hover {
@@ -210,24 +210,24 @@ function close() {
210
210
  display: inline-flex;
211
211
  flex-direction: column;
212
212
  justify-content: space-between;
213
+ cursor: pointer;
213
214
  box-sizing: border-box;
215
+ padding: var(--wt-app-navigator-item-padding);
214
216
  width: 100%;
215
217
  height: 100%;
216
- padding: var(--wt-app-navigator-item-padding);
217
- cursor: pointer;
218
218
  }
219
219
 
220
220
  // img inside a
221
221
  .wt-app-navigator__card__img {
222
+ margin: auto;
222
223
  width: var(--wt-app-navigator-item-pic-size);
223
224
  height: var(--wt-app-navigator-item-pic-size);
224
- margin: auto;
225
225
  }
226
226
 
227
227
  // app title
228
228
  .wt-app-navigator__card__title {
229
229
  @extend %typo-overline;
230
- text-align: center;
231
230
  color: var(--text-main-color);
231
+ text-align: center;
232
232
  }
233
233
  </style>
@@ -108,7 +108,12 @@ export default {
108
108
  return this.user.preferredUsername || this.user.account;
109
109
  },
110
110
  buildVersion() {
111
- return `${this.$t('webitelUI.headerActions.buildVersion')}: v${this.buildInfo.release}-${this.buildInfo.build}`;
111
+ let buildString = '';
112
+ buildString = `${this.$t('webitelUI.headerActions.buildVersion')}: v${this.buildInfo.release}-${this.buildInfo.build}`;
113
+ if (this.buildInfo.timestamp) {
114
+ buildString += `, ${new Date(this.buildInfo.timestamp).toLocaleString()}`;
115
+ }
116
+ return buildString;
112
117
  },
113
118
  },
114
119
 
@@ -134,38 +139,38 @@ export default {
134
139
  @use '@webitel/styleguide/typography' as *;
135
140
 
136
141
  .wt-header-actions {
137
- position: relative;
138
- z-index: var(--wt-app-header-content-z-index);
139
142
  display: flex;
143
+ position: relative;
140
144
  align-items: center;
145
+ z-index: var(--wt-app-header-content-z-index);
141
146
  }
142
147
 
143
148
  .wt-header-actions__panel-wrapper {
149
+ display: flex;
144
150
  position: absolute;
145
151
  top: 100%; // icon
146
152
  right: 0;
147
- display: flex;
148
153
  flex-direction: column;
149
- min-width: var(--wt-header-actions-min-width);
150
- margin-top: var(--wt-app-header-content-panel-margin);
151
- padding: var(--wt-header-actions-padding);
154
+ gap: var(--wt-header-actions-content-sections-gap);
152
155
  transition: var(--transition);
156
+ margin-top: var(--wt-app-header-content-panel-margin);
157
+ box-shadow: var(--elevation-10);
153
158
  border-radius: var(--border-radius);
154
159
  background: var(--wt-app-header-content-bg-color);
155
- box-shadow: var(--elevation-10);
156
- gap: var(--wt-header-actions-content-sections-gap);
160
+ padding: var(--wt-header-actions-padding);
161
+ min-width: var(--wt-header-actions-min-width);
157
162
  }
158
163
 
159
164
  .wt-header-actions__name {
160
165
  @extend %typo-subtitle-1;
161
- white-space: nowrap;
162
166
  color: var(--text-main-color);
167
+ white-space: nowrap;
163
168
  }
164
169
 
165
170
  .wt-header-actions__account {
166
171
  @extend %typo-body-1;
167
- white-space: nowrap;
168
172
  color: var(--text-main-color);
173
+ white-space: nowrap;
169
174
  }
170
175
 
171
176
  .wt-header-actions__action {
@@ -180,9 +185,9 @@ export default {
180
185
  @extend %typo-body-1;
181
186
  display: flex;
182
187
  align-items: center;
183
- width: 100%;
184
- padding: var(--wt-header-actions-action-link-padding);
185
188
  cursor: pointer;
189
+ padding: var(--wt-header-actions-action-link-padding);
190
+ width: 100%;
186
191
  color: var(--text-main-color);
187
192
 
188
193
  .wt-icon {
@@ -197,7 +202,7 @@ export default {
197
202
 
198
203
  .wt-header-actions__build__version {
199
204
  @extend %typo-caption;
200
- white-space: nowrap;
201
205
  color: var(--text-main-color);
206
+ white-space: nowrap;
202
207
  }
203
208
  </style>
@@ -151,24 +151,24 @@ const badgeColorVar = computed(() => {
151
151
 
152
152
  .wt-avatar {
153
153
  position: relative;
154
+ border-radius: 50%;
154
155
  width: var(--wt-avatar-size);
155
156
  height: var(--wt-avatar-size);
156
157
  user-select: none;
157
- border-radius: 50%;
158
158
 
159
159
  &__letters {
160
160
  display: flex;
161
- align-items: center;
162
161
  justify-content: center;
162
+ align-items: center;
163
+ border-radius: 50%;
163
164
  height: 100%;
164
165
  color: var(--wt-avatar-text-color);
165
- border-radius: 50%;
166
166
  }
167
167
 
168
168
  &__img {
169
+ border-radius: 50%;
169
170
  width: 100%;
170
171
  height: 100%;
171
- border-radius: 50%;
172
172
  }
173
173
 
174
174
  &--size-xs {
@@ -91,9 +91,9 @@ export default {
91
91
  position: absolute;
92
92
  top: 0;
93
93
  right: 0;
94
+ border-radius: 50%;
94
95
  width: var(--wt-badge-size);
95
96
  height: var(--wt-badge-size);
96
- border-radius: 50%;
97
97
 
98
98
  &__pic {
99
99
  position: absolute;
@@ -1,5 +1,7 @@
1
1
  <template>
2
2
  <button
3
+ type="button"
4
+ :disabled="disabled"
3
5
  :class="[
4
6
  colorClass,
5
7
  `wt-button--size-${size}`,
@@ -11,9 +13,7 @@
11
13
  'wt-button--loading': showLoader,
12
14
  },
13
15
  ]"
14
- :disabled="disabled"
15
16
  class="wt-button"
16
- type="button"
17
17
  @click="$emit('click', $event)"
18
18
  >
19
19
  <!-- Show loader and button contents at the same time to prevent width shift if content > min-width of button -->
@@ -23,7 +23,7 @@
23
23
  size="sm"
24
24
  />
25
25
  <div class="wt-button__contents">
26
- <slot> no content provided </slot>
26
+ <slot> no content provided</slot>
27
27
  </div>
28
28
  </button>
29
29
  </template>
@@ -120,18 +120,18 @@ export default {
120
120
  @use '@webitel/styleguide/typography' as *;
121
121
 
122
122
  .wt-button {
123
+ cursor: pointer;
124
+ background-clip: padding-box;
123
125
  @extend %typo-button;
124
- position: relative;
125
126
  display: inline-block;
126
- box-sizing: border-box;
127
- min-width: var(--btn-min-width);
128
- padding: var(--btn-padding);
129
- cursor: pointer;
127
+ position: relative;
130
128
  transition: var(--transition);
131
- color: var(--btn-primary-text-color);
129
+ box-sizing: border-box;
132
130
  border-radius: var(--border-radius);
133
131
  background-color: var(--btn-primary-color);
134
- background-clip: padding-box;
132
+ padding: var(--btn-padding);
133
+ min-width: var(--btn-min-width);
134
+ color: var(--btn-primary-text-color);
135
135
 
136
136
  &__contents {
137
137
  display: contents;
@@ -181,8 +181,8 @@ export default {
181
181
  }
182
182
 
183
183
  &.secondary {
184
- color: var(--btn-secondary-text-color);
185
184
  background-color: var(--btn-secondary-color);
185
+ color: var(--btn-secondary-text-color);
186
186
 
187
187
  &:hover,
188
188
  &:active {
@@ -191,8 +191,8 @@ export default {
191
191
  }
192
192
 
193
193
  &.success {
194
- color: var(--btn-success-text-color);
195
194
  background-color: var(--btn-success-color);
195
+ color: var(--btn-success-text-color);
196
196
 
197
197
  &:hover,
198
198
  &:active {
@@ -201,8 +201,8 @@ export default {
201
201
  }
202
202
 
203
203
  &.info {
204
- color: var(--btn-info-text-color);
205
204
  background-color: var(--btn-info-color);
205
+ color: var(--btn-info-text-color);
206
206
 
207
207
  &:hover,
208
208
  &:active {
@@ -211,8 +211,8 @@ export default {
211
211
  }
212
212
 
213
213
  &.job {
214
- color: var(--btn-job-text-color);
215
214
  background-color: var(--btn-job-color);
215
+ color: var(--btn-job-text-color);
216
216
 
217
217
  &:hover,
218
218
  &:active {
@@ -221,8 +221,8 @@ export default {
221
221
  }
222
222
 
223
223
  &.transfer {
224
- color: var(--btn-transfer-text-color);
225
224
  background-color: var(--btn-transfer-color);
225
+ color: var(--btn-transfer-text-color);
226
226
 
227
227
  &:hover,
228
228
  &:active {
@@ -231,8 +231,8 @@ export default {
231
231
  }
232
232
 
233
233
  &.error {
234
- color: var(--btn-error-text-color);
235
234
  background-color: var(--btn-error-color);
235
+ color: var(--btn-error-text-color);
236
236
 
237
237
  &:hover,
238
238
  &:active {
@@ -242,10 +242,10 @@ export default {
242
242
 
243
243
  &.wt-button--disabled {
244
244
  cursor: auto;
245
+ box-shadow: none;
246
+ background-color: var(--btn-disabled-color);
245
247
  pointer-events: none;
246
248
  color: var(--btn-disabled-text-color);
247
- background-color: var(--btn-disabled-color);
248
- box-shadow: none;
249
249
  }
250
250
 
251
251
  .wt-loader {
@@ -101,20 +101,20 @@ const atClickaway = () => {
101
101
 
102
102
  <style lang="scss" scoped>
103
103
  .wt-button-select {
104
- position: relative;
105
104
  display: inline-flex;
105
+ position: relative;
106
106
  align-items: center;
107
107
  gap: var(--button-select-buttons-gap);
108
108
 
109
109
  .wt-button-select__button {
110
- padding: var(--button-select-button-padding);
111
110
  border-radius: var(--border-radius) 0 0 var(--border-radius);
111
+ padding: var(--button-select-button-padding);
112
112
  }
113
113
 
114
114
  .wt-button-select__select-btn {
115
- min-width: auto;
116
- padding: var(--button-select-icon-button-padding);
117
115
  border-radius: 0 var(--border-radius) var(--border-radius) 0;
116
+ padding: var(--button-select-icon-button-padding);
117
+ min-width: auto;
118
118
 
119
119
  // OPEN AND SHUT ARROW
120
120
  .wt-button-select__select-arrow {
@@ -120,8 +120,8 @@ export default {
120
120
  }
121
121
 
122
122
  .wt-checkbox__wrapper {
123
- position: relative;
124
123
  display: flex;
124
+ position: relative;
125
125
  align-items: center;
126
126
  user-select: none;
127
127
 
@@ -131,18 +131,18 @@ export default {
131
131
  }
132
132
 
133
133
  .wt-checkbox__label {
134
- margin-left: var(--checkbox-icon-margin);
135
- cursor: pointer;
136
134
  transition: var(--transition);
135
+ cursor: pointer;
136
+ margin-left: var(--checkbox-icon-margin);
137
137
  }
138
138
 
139
139
  /* Hide the browser's default checkbox */
140
140
  .wt-checkbox__input {
141
141
  position: absolute;
142
+ opacity: 0;
142
143
  width: 0;
143
144
  height: 0;
144
145
  pointer-events: none;
145
- opacity: 0;
146
146
  }
147
147
 
148
148
  .wt-checkbox:hover {
@@ -4,43 +4,43 @@
4
4
  @extend %typo-body-2;
5
5
 
6
6
  display: inline-block;
7
- padding: var(--chip-padding);
8
- color: var(--wt-chip-main-text-color);
9
7
  border-radius: var(--chip-border-radius);
10
8
  background: var(--wt-chip-main-background-color);
9
+ padding: var(--chip-padding);
10
+ color: var(--wt-chip-main-text-color);
11
11
 
12
12
  &--main-color {
13
- color: var(--wt-chip-main-text-color);
14
13
  background: var(--wt-chip-main-background-color);
14
+ color: var(--wt-chip-main-text-color);
15
15
  }
16
16
 
17
17
  &--primary-color {
18
- color: var(--wt-chip-primary-text-color);
19
18
  background: var(--wt-chip-primary-background-color);
19
+ color: var(--wt-chip-primary-text-color);
20
20
  }
21
21
 
22
22
  &--secondary-color {
23
- color: var(--wt-chip-secondary-text-color);
24
23
  background: var(--wt-chip-secondary-background-color);
24
+ color: var(--wt-chip-secondary-text-color);
25
25
  }
26
26
 
27
27
  &--success-color {
28
- color: var(--wt-chip-success-text-color);
29
28
  background: var(--wt-chip-success-background-color);
29
+ color: var(--wt-chip-success-text-color);
30
30
  }
31
31
 
32
32
  &--warning-color {
33
- color: var(--wt-chip-warning-text-color);
34
33
  background: var(--wt-chip-warning-background-color);
34
+ color: var(--wt-chip-warning-text-color);
35
35
  }
36
36
 
37
37
  &--error-color {
38
- color: var(--wt-chip-error-text-color);
39
38
  background: var(--wt-chip-error-background-color);
39
+ color: var(--wt-chip-error-text-color);
40
40
  }
41
41
 
42
42
  &--transfer-color {
43
- color: var(--wt-chip-transfer-text-color);
44
43
  background: var(--wt-chip-transfer-background-color);
44
+ color: var(--wt-chip-transfer-text-color);
45
45
  }
46
46
  }
@@ -26,7 +26,7 @@
26
26
  <template #actions>
27
27
  <slot
28
28
  name="actions"
29
- :isDeleting="isDeleting"
29
+ :is-deleting="isDeleting"
30
30
  :confirm="confirm"
31
31
  :close="close"
32
32
  >
@@ -96,8 +96,8 @@ async function confirm() {
96
96
  <style scoped>
97
97
  .wt-confirm-dialog__content {
98
98
  display: flex;
99
- align-items: center;
100
99
  flex-direction: column;
100
+ align-items: center;
101
101
  gap: var(--spacing-sm);
102
102
  }
103
103
 
@@ -100,9 +100,9 @@ function handleOptionClick({ option, index, hide }) {
100
100
  @extend %typo-body-2;
101
101
  z-index: 1;
102
102
  transition: var(--transition);
103
+ box-shadow: var(--box-shadow);
103
104
  border-radius: var(--border-radius);
104
105
  background-color: var(--wt-context-menu-background-color);
105
- box-shadow: var(--box-shadow);
106
106
  }
107
107
 
108
108
  .wt-context-menu__option-wrapper {
@@ -121,9 +121,9 @@ function handleOptionClick({ option, index, hide }) {
121
121
 
122
122
  .wt-context-menu__option {
123
123
  display: block;
124
- padding: var(--wt-context-menu-option-padding);
125
- cursor: pointer;
126
124
  transition: var(--transition);
125
+ cursor: pointer;
126
+ padding: var(--wt-context-menu-option-padding);
127
127
  color: var(--wt-context-menu-option-text-color);
128
128
 
129
129
  &:hover {
@@ -131,9 +131,9 @@ function handleOptionClick({ option, index, hide }) {
131
131
  }
132
132
 
133
133
  &--disabled {
134
+ background-color: var(--wt-context-menu-option-background-disabled-color);
134
135
  pointer-events: none;
135
136
  color: var(--wt-context-menu-option-text-disabled-color);
136
- background-color: var(--wt-context-menu-option-background-disabled-color);
137
137
  }
138
138
  }
139
139
  </style>
@@ -207,11 +207,11 @@ const clearValue = () => {
207
207
 
208
208
  .dp__menu {
209
209
  box-sizing: border-box;
210
+ box-shadow: var(--elevation-10);
211
+ border-radius: var(--border-radius);
212
+ padding: var(--spacing-xs);
210
213
  width: 196px;
211
214
  min-width: 196px;
212
- padding: var(--spacing-xs);
213
- border-radius: var(--border-radius);
214
- box-shadow: var(--elevation-10);
215
215
  }
216
216
 
217
217
  .dp__calendar_wrap {
@@ -259,8 +259,8 @@ const clearValue = () => {
259
259
  .datepicker__timepicker {
260
260
  display: flex;
261
261
  align-items: center;
262
- margin-top: var(--spacing-xs);
263
262
  gap: var(--spacing-xs);
263
+ margin-top: var(--spacing-xs);
264
264
 
265
265
  .wt-time-input {
266
266
  flex-grow: 1;
@@ -26,32 +26,32 @@ export default {
26
26
  display: block;
27
27
  box-sizing: border-box;
28
28
  margin: 0;
29
- padding: 0;
30
29
  border-color: var(--divider-border-color);
30
+ padding: 0;
31
31
 
32
32
  &-vertical {
33
- min-height: 100%;
34
33
  display: flex;
35
34
  position: relative;
36
35
  justify-content: center;
37
- width: 1px;
38
- padding: var(--spacing-md) 0 0;
39
- border-left: 0;
40
- border-bottom: 0;
41
36
  border-top: 0;
42
37
  border-right: var(--divider-border-color) solid 1px;
38
+ border-bottom: 0;
39
+ border-left: 0;
40
+ padding: var(--spacing-md) 0 0;
41
+ width: 1px;
42
+ min-height: 100%;
43
43
  }
44
44
 
45
45
  &-horizontal {
46
+ border-top: var(--divider-border-color) solid 1px;
47
+ border-right: 0;
48
+ border-bottom: 0;
49
+ border-left: 0;
50
+ border-top-width: thin;
46
51
  width: 100%;
47
52
  max-width: 100%;
48
53
  height: 0;
49
54
  max-height: 0;
50
- border-top: var(--divider-border-color) solid 1px;
51
- border-left: 0;
52
- border-bottom: 0;
53
- border-right: 0;
54
- border-top-width: thin;
55
55
  }
56
56
  }
57
57
  </style>
@@ -74,26 +74,26 @@ $side-panel-md-width: 320px;
74
74
  .wt-dual-panel {
75
75
  display: flex;
76
76
  flex-direction: column;
77
+ gap: var(--wt-dual-panel-section-gap);
77
78
  box-sizing: border-box;
79
+ background: var(--wt-dual-panel-background-color);
80
+ padding: var(--wt-dual-panel-padding);
78
81
  max-width: 100%;
79
82
  height: 100%;
80
- padding: var(--wt-dual-panel-padding);
81
- background: var(--wt-dual-panel-background-color);
82
- gap: var(--wt-dual-panel-section-gap);
83
83
 
84
84
  &__header,
85
85
  &__actions-panel,
86
86
  &__main {
87
87
  box-sizing: border-box;
88
- padding: var(--wt-dual-panel-section-padding);
89
88
  border-radius: var(--border-radius);
90
89
  background: var(--wt-dual-panel-content-wrapper-color);
90
+ padding: var(--wt-dual-panel-section-padding);
91
91
  }
92
92
 
93
93
  &__main {
94
94
  @extend %wt-scrollbar;
95
- overflow: auto;
96
95
  flex: 1 1 auto;
96
+ overflow: auto;
97
97
  }
98
98
 
99
99
  &__header,
@@ -104,21 +104,21 @@ $side-panel-md-width: 320px;
104
104
  &__content {
105
105
  display: flex;
106
106
  flex-grow: 1;
107
- min-height: 0;
108
107
  gap: var(--spacing-sm);
108
+ min-height: 0;
109
109
  }
110
110
 
111
111
  &__side-panel {
112
112
  @extend %wt-scrollbar;
113
- overflow: auto;
114
113
  display: flex;
115
114
  flex-direction: column;
116
- min-width: 0;
117
- padding: var(--wt-dual-panel-section-padding);
115
+ gap: var(--wt-dual-panel-section-gap);
118
116
  transition: var(--transition);
119
- background: var(--wt-dual-panel-content-wrapper-color);
120
117
  will-change: width;
121
- gap: var(--wt-dual-panel-section-gap);
118
+ background: var(--wt-dual-panel-content-wrapper-color);
119
+ padding: var(--wt-dual-panel-section-padding);
120
+ min-width: 0;
121
+ overflow: auto;
122
122
 
123
123
  &--md {
124
124
  flex: 0 0 $side-panel-md-width;
@@ -71,11 +71,11 @@ const dummy = computed(() => (props.darkMode ? dummyDark : dummyLight));
71
71
 
72
72
  .wt-dummy {
73
73
  display: flex;
74
- align-items: center;
75
74
  flex-direction: column;
76
75
  justify-content: center;
77
- text-align: center;
76
+ align-items: center;
78
77
  gap: var(--spacing-sm);
78
+ text-align: center;
79
79
 
80
80
  &__img {
81
81
  width: 200px;