@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
@@ -75,7 +75,7 @@
75
75
  <!-- @slot custom content, between text and actions
76
76
  @scope `{ size }`
77
77
  -->
78
- <slot v-bind="{ size }"></slot>
78
+ <slot v-bind="{ size }" />
79
79
 
80
80
  <div
81
81
  v-if="showActions"
@@ -272,19 +272,19 @@ const onSecondaryClick = onClick('secondary');
272
272
  @use '@webitel/styleguide/typography' as *;
273
273
 
274
274
  .wt-empty {
275
- box-sizing: border-box;
276
275
  display: flex;
277
- align-items: center;
278
276
  flex-direction: column;
279
277
  flex-wrap: wrap;
280
278
  justify-content: center;
279
+ align-items: center;
280
+ gap: var(--spacing-md);
281
+ box-sizing: border-box;
282
+ margin: auto;
283
+ padding: var(--spacing-md);
281
284
  width: var(--wt-empty-width);
282
285
  min-width: var(--wt-empty-min-width);
283
286
  max-width: var(--wt-empty-max-width);
284
- margin: auto;
285
- padding: var(--spacing-md);
286
287
  text-align: center;
287
- gap: var(--spacing-md);
288
288
 
289
289
  &__info {
290
290
  display: flex;
@@ -318,8 +318,8 @@ const onSecondaryClick = onClick('secondary');
318
318
 
319
319
  &--size {
320
320
  &-sm.wt-empty {
321
- padding: var(--spacing-sm);
322
321
  gap: var(--spacing-sm);
322
+ padding: var(--spacing-sm);
323
323
 
324
324
  &__headline {
325
325
  @extend %typo-heading-4;
@@ -335,8 +335,8 @@ const onSecondaryClick = onClick('secondary');
335
335
  }
336
336
 
337
337
  &-md.wt-empty {
338
- padding: var(--spacing-md);
339
338
  gap: var(--spacing-md);
339
+ padding: var(--spacing-md);
340
340
 
341
341
  &__headline {
342
342
  @extend %typo-heading-4;
@@ -352,8 +352,8 @@ const onSecondaryClick = onClick('secondary');
352
352
  }
353
353
 
354
354
  &-lg.wt-empty {
355
- padding: var(--spacing-lg);
356
355
  gap: var(--spacing-lg);
356
+ padding: var(--spacing-lg);
357
357
 
358
358
  &__headline {
359
359
  @extend %typo-heading-4;
@@ -73,17 +73,17 @@ export default {
73
73
  <style lang="scss" scoped>
74
74
  .wt-error-page {
75
75
  display: flex;
76
- align-items: center;
77
76
  justify-content: center;
77
+ align-items: center;
78
78
  box-sizing: border-box;
79
+ background: var(--wt-error-page-background-color);
80
+ padding: 90px;
79
81
  min-width: 100vw;
80
82
  min-height: 100vh;
81
- padding: 90px;
82
- background: var(--wt-error-page-background-color);
83
83
 
84
84
  &__wrapper {
85
- text-align: center;
86
85
  color: var(--wt-error-page-text-color);
86
+ text-align: center;
87
87
  }
88
88
 
89
89
  &__img {
@@ -94,18 +94,18 @@ watch(
94
94
  .wt-expansion-panel-header {
95
95
  @extend %typo-subtitle-1;
96
96
  display: flex;
97
- align-items: center;
98
97
  justify-content: space-between;
99
- padding: var(--spacing-2xs) var(--spacing-xs);
98
+ align-items: center;
100
99
  cursor: pointer;
101
- color: var(--wt-expansion-panel-header-title-color);
102
100
  border-radius: var(--spacing-2xs);
103
101
  background-color: var(--wt-expansion-panel-header-background-color);
102
+ padding: var(--spacing-2xs) var(--spacing-xs);
103
+ color: var(--wt-expansion-panel-header-title-color);
104
104
  }
105
105
 
106
106
  .wt-expansion-panel-body {
107
- color: var(--wt-expansion-panel-content-text-color);
108
107
  background-color: var(--wt-expansion-panel-content-background-color);
108
+ color: var(--wt-expansion-panel-content-text-color);
109
109
  }
110
110
 
111
111
  .wt-expansion-panel-actions {
@@ -29,13 +29,13 @@ export default {
29
29
 
30
30
  .wt-headline {
31
31
  display: flex;
32
- align-items: center;
33
32
  justify-content: space-between;
33
+ align-items: center;
34
+ gap: var(--headline-nav-gap);
34
35
  box-sizing: border-box;
35
- min-height: var(--headline-min-height);
36
36
  border-radius: var(--border-radius);
37
37
  background: var(--wt-headline-background-color);
38
- gap: var(--headline-nav-gap);
38
+ min-height: var(--headline-min-height);
39
39
  }
40
40
 
41
41
  .wt-headline__title {
@@ -44,8 +44,8 @@ export default {
44
44
  }
45
45
 
46
46
  .wt-headline__actions-wrapper {
47
- position: relative;
48
47
  display: flex;
48
+ position: relative;
49
49
  align-items: center;
50
50
  }
51
51
  </style>
@@ -54,8 +54,8 @@ const props = defineProps({
54
54
  .wt-headline-nav {
55
55
  display: flex;
56
56
  align-items: center;
57
- max-width: 100%;
58
57
  gap: var(--headline-nav-gap);
58
+ max-width: 100%;
59
59
  }
60
60
 
61
61
  .wt-headline-nav__wrapper {
@@ -66,19 +66,19 @@ const props = defineProps({
66
66
 
67
67
  .wt-headline-nav__indicator {
68
68
  display: flex;
69
- align-items: center;
70
69
  flex-shrink: 0;
71
70
  justify-content: center;
71
+ align-items: center;
72
72
  width: var(--icon-md-size);
73
73
  height: var(--icon-md-size);
74
74
 
75
75
  &:before {
76
76
  display: block;
77
+ border-radius: 50%;
78
+ background: var(--headline-nav-indicator-color);
77
79
  width: var(--headline-nav-indicator-size);
78
80
  height: var(--headline-nav-indicator-size);
79
81
  content: '';
80
- border-radius: 50%;
81
- background: var(--headline-nav-indicator-color);
82
82
  }
83
83
  }
84
84
 
@@ -68,17 +68,17 @@ const iconName = computed(() => {
68
68
  <style lang="scss" scoped>
69
69
  .wt-icon {
70
70
  display: inline-flex;
71
- align-items: center;
72
71
  justify-content: center;
72
+ align-items: center;
73
73
  transition: var(--transition);
74
74
  }
75
75
 
76
76
  /*svg instead of .icon to override styles by .icon-icon-name-size without any other seelectors*/
77
77
  svg {
78
78
  display: block;
79
+ transition: var(--transition);
79
80
  width: 100%;
80
81
  height: 100%;
81
- transition: var(--transition);
82
82
  stroke-width: 0;
83
83
  fill: var(--icon-color);
84
84
  }
@@ -49,7 +49,7 @@ const props = defineProps({
49
49
  type: String,
50
50
  default: 'md',
51
51
  required: false,
52
- }
52
+ },
53
53
  });
54
54
 
55
55
  const emit = defineEmits(['click', 'mousedown']);
@@ -33,8 +33,8 @@ const emit = defineEmits<{
33
33
 
34
34
  <style lang="scss" scoped>
35
35
  .wt-icon-btn {
36
- position: relative;
37
36
  display: block;
37
+ position: relative;
38
38
  width: fit-content;
39
39
  line-height: 0;
40
40
 
@@ -114,8 +114,8 @@ const height = computed(() => {
114
114
 
115
115
  .wt-image {
116
116
  display: flex;
117
- align-items: center;
118
117
  justify-content: center;
118
+ align-items: center;
119
119
 
120
120
  &__img {
121
121
  max-width: 100%;
@@ -90,11 +90,11 @@ export default {
90
90
  }
91
91
 
92
92
  .wt-indicator__indicator {
93
- min-width: var(--wt-indicator-dot-size);
94
- height: var(--wt-indicator-dot-size);
95
93
  margin: var(--wt-indicator-dot-offset);
96
94
  border-radius: 50%;
97
95
  background: var(--wt-indicator-disabled-color);
96
+ min-width: var(--wt-indicator-dot-size);
97
+ height: var(--wt-indicator-dot-size);
98
98
 
99
99
  &--primary {
100
100
  background: var(--wt-indicator-primary-color);
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <div
3
+ class="wt-input"
3
4
  :class="{
4
5
  'wt-input--disabled': disabled,
5
6
  'wt-input--invalid': invalid,
6
7
  }"
7
- class="wt-input"
8
8
  >
9
9
  <wt-label
10
10
  v-if="hasLabel"
@@ -32,9 +32,9 @@
32
32
  :max="numberMax"
33
33
  :min="numberMin"
34
34
  :placeholder="placeholder || label"
35
+ class="wt-input__input"
35
36
  :type="inputType"
36
37
  :value="inputValue"
37
- class="wt-input__input"
38
38
  v-bind="$attrs"
39
39
  @input="inputHandler"
40
40
  @keyup="$emit('keyup', $event)"
@@ -300,21 +300,21 @@ defineExpose({
300
300
  @include wt-placeholder;
301
301
 
302
302
  display: block;
303
- box-sizing: border-box;
304
- width: 100%;
305
- padding: var(--input-padding);
306
303
  transition: var(--transition);
307
- color: var(--wt-text-field-text-color);
304
+ box-sizing: border-box;
308
305
  border: var(--input-border);
309
306
  border-color: var(--wt-text-field-input-border-color);
310
307
  border-radius: var(--border-radius);
311
308
  background: transparent;
309
+ padding: var(--input-padding);
310
+ width: 100%;
311
+ color: var(--wt-text-field-text-color);
312
312
 
313
313
  .wt-input--invalid &,
314
314
  .wt-input--invalid:hover & {
315
- color: var(--wt-text-field-error-text-color);
316
- border-color: var(--wt-text-field-input-border-error-color);
317
315
  outline: none; // prevent outline overlapping false color
316
+ border-color: var(--wt-text-field-input-border-error-color);
317
+ color: var(--wt-text-field-error-text-color);
318
318
  @include wt-placeholder('error');
319
319
  }
320
320
 
@@ -326,13 +326,13 @@ defineExpose({
326
326
  }
327
327
 
328
328
  .wt-input__after-wrapper {
329
+ display: flex;
329
330
  position: absolute;
330
331
  top: 50%;
331
332
  right: var(--input-icon-margin);
332
- display: flex;
333
333
  align-items: center;
334
+ gap: var(--input-after-wrapper-gap);
334
335
  transform: translateY(-50%);
335
336
  pointer-events: auto; // override --disabled p-events none
336
- gap: var(--input-after-wrapper-gap);
337
337
  }
338
338
  </style>
@@ -30,8 +30,8 @@ export default {
30
30
 
31
31
  .wt-input-info {
32
32
  @extend %typo-caption;
33
- min-height: var(--input-info-min-height);
34
33
  margin-top: var(--input-info-margin);
34
+ min-height: var(--input-info-min-height);
35
35
  color: var(--wt-helper-text-color);
36
36
 
37
37
  &--invalid {
@@ -79,8 +79,8 @@ const to = computed(
79
79
  align-items: center;
80
80
 
81
81
  :not(&--invisible) {
82
- cursor: pointer;
83
82
  transition: var(--transition);
83
+ cursor: pointer;
84
84
  color: var(--wt-item-link-text-color);
85
85
 
86
86
  &:hover {
@@ -43,8 +43,8 @@ export default {
43
43
 
44
44
  display: flex;
45
45
  align-items: center;
46
- cursor: text;
47
46
  transition: var(--transition);
47
+ cursor: text;
48
48
  color: var(--wt-label-color);
49
49
  //padding: var(--wt-label-padding);
50
50
 
@@ -39,19 +39,19 @@ export default {
39
39
  .wt-load-bar {
40
40
  position: relative;
41
41
  box-sizing: border-box;
42
- width: 100%;
43
- padding: var(--load-bar-padding);
44
- line-height: 0;
45
42
  border: 1px solid var(--wt-load-bar-progress-color);
46
43
  border-radius: var(--border-radius);
44
+ padding: var(--load-bar-padding);
45
+ width: 100%;
46
+ line-height: 0;
47
47
  }
48
48
 
49
49
  .wt-load-bar__progress {
50
50
  display: inline-block;
51
- height: var(--load-bar-height);
52
51
  transition: var(--transition);
52
+ will-change: width;
53
53
  border-radius: var(--load-bar-border-radius);
54
54
  background: var(--wt-load-bar-progress-color);
55
- will-change: width;
55
+ height: var(--load-bar-height);
56
56
  }
57
57
  </style>
@@ -25,22 +25,22 @@ export default {};
25
25
 
26
26
  .wt-loader--md {
27
27
  position: relative;
28
+ margin: auto;
28
29
  width: var(--loader-size);
29
30
  height: var(--loader-size);
30
- margin: auto;
31
31
 
32
32
  &:before {
33
+ display: block;
33
34
  position: absolute;
34
35
  top: 37px;
35
36
  left: 19px;
36
- display: block;
37
- width: var(--loader-dot-size);
38
- height: var(--loader-dot-size);
39
- content: '';
40
37
  transform: translate(-18px, -18px);
41
38
  animation: dotRect var(--loader-animation-duration) linear infinite;
42
39
  border-radius: 50%;
43
40
  background: var(--wt-loader-md-point-color);
41
+ width: var(--loader-dot-size);
42
+ height: var(--loader-dot-size);
43
+ content: '';
44
44
  }
45
45
 
46
46
  .wt-loader--md__svg {
@@ -33,9 +33,9 @@ export default {
33
33
  height: 24px;
34
34
 
35
35
  svg {
36
+ animation: rotate 1.5s linear infinite;
36
37
  width: 100%;
37
38
  height: 100%;
38
- animation: rotate 1.5s linear infinite;
39
39
  }
40
40
 
41
41
  circle {
@@ -22,7 +22,9 @@ const props = defineProps({
22
22
  default: false,
23
23
  },
24
24
  });
25
- const href = computed(() => props.logoHref || import.meta.env.VITE_START_PAGE_URL);
25
+ const href = computed(
26
+ () => props.logoHref || import.meta.env.VITE_START_PAGE_URL,
27
+ );
26
28
  const logoSrc = props.darkMode ? LogoDark : LogoLight;
27
29
 
28
30
  const linkComponent = props.disabled
@@ -39,8 +41,15 @@ const linkAttrs = props.disabled
39
41
  </script>
40
42
 
41
43
  <template>
42
- <component :is="linkComponent" v-bind="linkAttrs">
43
- <img :src="logoSrc" alt="Webitel" class="wt-logo" />
44
+ <component
45
+ :is="linkComponent"
46
+ v-bind="linkAttrs"
47
+ >
48
+ <img
49
+ :src="logoSrc"
50
+ alt="Webitel"
51
+ class="wt-logo"
52
+ />
44
53
  </component>
45
54
  </template>
46
55
 
@@ -50,8 +59,8 @@ const linkAttrs = props.disabled
50
59
 
51
60
  <style lang="scss" scoped>
52
61
  .wt-logo {
62
+ display: block;
53
63
  width: var(--wt-logo-width);
54
64
  height: var(--wt-logo-height);
55
- display: block;
56
65
  }
57
66
  </style>
@@ -1,18 +1,17 @@
1
1
  export interface WtNavigationBarExpansionNavItem {
2
- subNav: WtNavigationBarNavItem[];
2
+ subNav: WtNavigationBarNavItem[];
3
3
  }
4
4
 
5
5
  export interface WtNavigationBarRouteNavItem {
6
- route: string;
6
+ route: string;
7
7
  }
8
8
 
9
9
  export type WtNavigationBarNavItem = {
10
- value: string;
10
+ value: string;
11
11
 
12
- /**
13
- * Represents nav item text in menu
14
- * @default WtNavigationBarNavItem.value
15
- */
16
- name?: string;
12
+ /**
13
+ * Represents nav item text in menu
14
+ * @default WtNavigationBarNavItem.value
15
+ */
16
+ name?: string;
17
17
  } & (WtNavigationBarRouteNavItem | WtNavigationBarExpansionNavItem);
18
-
@@ -234,30 +234,30 @@ export default {
234
234
  .wt-navigation-bar__nav {
235
235
  @extend %wt-scrollbar;
236
236
  position: fixed;
237
- z-index: var(--wt-navigation-bar-z-index);
238
237
  top: 0;
239
238
  bottom: 0;
240
239
  left: 0;
241
- overflow: auto;
242
- width: var(--wt-navigation-bar-width);
243
- padding: var(--wt-navigation-bar-padding);
240
+ z-index: var(--wt-navigation-bar-z-index);
241
+ box-shadow: var(--elevation-10);
244
242
  border-radius: var(--border-radius);
245
243
  background: var(--wt-navigation-bar-background-color);
246
- box-shadow: var(--elevation-10);
244
+ padding: var(--wt-navigation-bar-padding);
245
+ width: var(--wt-navigation-bar-width);
246
+ overflow: auto;
247
247
 
248
248
  // expand animation optimization
249
249
  * {
250
250
  transform: translateZ(0);
251
- will-change: height;
252
- backface-visibility: hidden;
253
251
  perspective: 1000px;
252
+ backface-visibility: hidden;
253
+ will-change: height;
254
254
  }
255
255
  }
256
256
 
257
257
  .wt-navigation-bar__nav-header {
258
258
  display: flex;
259
- align-items: center;
260
259
  justify-content: space-between;
260
+ align-items: center;
261
261
  padding: var(--wt-navigation-bar-header-padding);
262
262
  }
263
263
 
@@ -269,8 +269,8 @@ export default {
269
269
  .wt-navigation-bar__nav-item-link {
270
270
  @extend %typo-body-1;
271
271
  display: block;
272
- padding: var(--wt-navigation-bar-link-padding);
273
272
  transition: var(--transition);
273
+ padding: var(--wt-navigation-bar-link-padding);
274
274
  word-wrap: break-word;
275
275
  color: var(--wt-navigation-bar-option-text-color);
276
276
 
@@ -279,33 +279,33 @@ export default {
279
279
  }
280
280
 
281
281
  &.wt-navigation-bar__nav-item-link--active {
282
- color: var(--wt-navigation-bar-option-text-active-color);
283
282
  background: var(--wt-navigation-bar-option-background-active-color);
283
+ color: var(--wt-navigation-bar-option-text-active-color);
284
284
  }
285
285
  }
286
286
 
287
287
  .wt-navigation-bar__nav-expansion {
288
288
  @extend %typo-subtitle-1;
289
- position: relative;
290
289
  display: flex;
291
- align-items: center;
290
+ position: relative;
292
291
  justify-content: space-between;
293
- width: 100%;
292
+ align-items: center;
293
+ outline: none;
294
294
  padding: var(--wt-navigation-bar-link-padding);
295
+ width: 100%;
295
296
  color: var(--wt-navigation-bar-option-text-color);
296
- outline: none;
297
297
 
298
298
  &:before {
299
299
  position: absolute;
300
300
  top: 0;
301
301
  bottom: 0;
302
302
  left: 0;
303
- width: var(--wt-navigation-bar-active-expansion-flag-width);
304
- content: '';
305
- transition: var(--transition);
306
303
  opacity: 0;
304
+ transition: var(--transition);
307
305
  border-radius: var(--border-radius);
308
306
  background: var(--wt-navigation-bar-expansion-ribbon-color);
307
+ width: var(--wt-navigation-bar-active-expansion-flag-width);
308
+ content: '';
309
309
  }
310
310
 
311
311
  .wt-navigation-bar__expansion-arrow {
@@ -55,19 +55,19 @@ export default {
55
55
 
56
56
  .wt-notification {
57
57
  @extend %typo-body-1;
58
- position: relative;
59
58
 
60
59
  display: flex;
60
+ position: relative;
61
61
  align-items: flex-start;
62
+ cursor: pointer;
63
+ box-shadow: var(--elevation-1);
64
+ border-radius: var(--border-radius);
65
+ background: var(--wt-notification-bg-color);
66
+ padding: var(--wt-notification-padding);
62
67
  width: fit-content;
63
68
  min-width: var(--wt-notification-min-width);
64
69
  max-width: var(--wt-notification-max-width);
65
- padding: var(--wt-notification-padding);
66
- cursor: pointer;
67
70
  color: var(--wt-notification-text-color);
68
- border-radius: var(--border-radius);
69
- background: var(--wt-notification-bg-color);
70
- box-shadow: var(--elevation-1);
71
71
  }
72
72
 
73
73
  .wt-notification__icon {
@@ -76,8 +76,8 @@ export default {
76
76
  }
77
77
 
78
78
  .wt-notification__text {
79
- align-self: center;
80
79
  flex-grow: 1;
80
+ align-self: center;
81
81
  margin: 0;
82
82
  }
83
83
  </style>
@@ -70,12 +70,12 @@ export default {
70
70
  @extend %wt-scrollbar;
71
71
 
72
72
  position: fixed;
73
- z-index: var(--notifications-bar-z-index);
74
73
  top: var(--notifications-bar-corner-margin);
75
74
  right: var(--notifications-bar-corner-margin);
75
+ z-index: var(--notifications-bar-z-index);
76
+ max-height: var(--notifications-bar-max-height);
76
77
  overflow-x: hidden;
77
78
  overflow-y: auto;
78
- max-height: var(--notifications-bar-max-height);
79
79
 
80
80
  .wt-notification {
81
81
  margin: var(--notifications-bar-notifications-margin);
@@ -35,21 +35,21 @@ export default {
35
35
  .wt-page-wrapper {
36
36
  display: flex;
37
37
  flex-direction: column;
38
+ gap: var(--page-wrapper-section-gap);
38
39
  box-sizing: border-box;
40
+ background: var(--wt-page-wrapper-background-color);
41
+ padding: var(--page-wrapper-padding);
39
42
  max-width: 100%;
40
43
  min-height: 100%;
41
- padding: var(--page-wrapper-padding);
42
- background: var(--wt-page-wrapper-background-color);
43
- gap: var(--page-wrapper-section-gap);
44
44
  }
45
45
 
46
46
  .wt-page-wrapper__header,
47
47
  .wt-page-wrapper__actions-panel,
48
48
  .wt-page-wrapper__main {
49
49
  box-sizing: border-box;
50
- padding: var(--page-wrapper-section-padding);
51
50
  border-radius: var(--border-radius);
52
51
  background: var(--wt-page-wrapper-content-wrapper-color);
52
+ padding: var(--page-wrapper-section-padding);
53
53
  }
54
54
 
55
55
  .wt-page-wrapper__main {
@@ -201,9 +201,9 @@ export default {
201
201
  }
202
202
 
203
203
  :deep(.plyr) {
204
- max-width: 100%; // prevents <video> container overflow
205
- border-radius: var(--border-radius);
206
204
  box-shadow: var(--elevation-10);
205
+ border-radius: var(--border-radius);
206
+ max-width: 100%; // prevents <video> container overflow
207
207
 
208
208
  .plyr__controls > .plyr__control,
209
209
  .plyr__controls > .plyr__controls__item > .plyr__control {
@@ -229,11 +229,11 @@ export default {
229
229
  cursor: pointer;
230
230
 
231
231
  &::-webkit-slider-thumb {
232
+ -webkit-appearance: none;
232
233
  transition: var(--transition);
233
234
  border: var(--wt-slider-border);
234
235
  border-radius: var(--wt-slider-pointer-radius);
235
236
  background: var(--wt-slider-pointer-background-color);
236
- -webkit-appearance: none;
237
237
  }
238
238
 
239
239
  &::-webkit-slider-runnable-track {
@@ -241,14 +241,14 @@ export default {
241
241
  }
242
242
 
243
243
  &::-moz-range-thumb {
244
- width: var(--wt-slider-pointer-size);
245
- height: var(--wt-slider-pointer-size);
244
+ -moz-appearance: none;
246
245
  transition: var(--transition);
247
246
  border: var(--wt-slider-border);
248
247
  border-color: var(--wt-slider-pointer-border-color);
249
248
  border-radius: var(--wt-slider-pointer-radius);
250
249
  background: var(--wt-slider-pointer-background-color);
251
- -moz-appearance: none;
250
+ width: var(--wt-slider-pointer-size);
251
+ height: var(--wt-slider-pointer-size);
252
252
  }
253
253
 
254
254
  &::-moz-range-track {