@webitel/ui-sdk 25.4.36 → 25.4.38

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 +381 -237
  2. package/dist/ui-sdk.css +1 -1
  3. package/dist/ui-sdk.js +8800 -8425
  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 +13 -13
  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 +3 -3
  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 {
@@ -39,14 +39,14 @@ export default {
39
39
  @use '@webitel/styleguide/typography' as *;
40
40
 
41
41
  .wt-label {
42
- @extend %typo-subtitle-2;
42
+ @extend %typo-body-1;
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
- padding: var(--wt-label-padding);
49
+ //padding: var(--wt-label-padding);
50
50
 
51
51
  &--invalid {
52
52
  color: var(--wt-label-error-color);
@@ -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 {