@webitel/ui-sdk 23.12.50 → 23.12.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/img/plyr.svg +4 -2
  2. package/dist/ui-sdk.css +1 -1
  3. package/dist/ui-sdk.mjs +1558 -1556
  4. package/dist/ui-sdk.umd.js +6 -6
  5. package/package.json +1 -1
  6. package/src/components/wt-app-header/_variables.scss +1 -1
  7. package/src/components/wt-app-header/wt-header-actions.vue +5 -1
  8. package/src/components/wt-avatar/_variables.scss +30 -26
  9. package/src/components/wt-avatar/wt-avatar.vue +32 -31
  10. package/src/components/wt-badge/wt-badge.vue +1 -1
  11. package/src/components/wt-button/wt-button.vue +3 -2
  12. package/src/components/wt-context-menu/_variables.scss +9 -5
  13. package/src/components/wt-context-menu/wt-context-menu.vue +6 -4
  14. package/src/components/wt-datepicker/_variables.scss +12 -12
  15. package/src/components/wt-divider/_variables.scss +6 -2
  16. package/src/components/wt-dummy/_variables.scss +4 -0
  17. package/src/components/wt-dummy/wt-dummy.vue +5 -0
  18. package/src/components/wt-error-page/_variables.scss +5 -0
  19. package/src/components/wt-error-page/wt-error-page.vue +2 -2
  20. package/src/components/wt-expansion-panel/_variables.scss +7 -0
  21. package/src/components/wt-expansion-panel/wt-expansion-panel.vue +15 -2
  22. package/src/components/wt-headline/_variables.scss +3 -3
  23. package/src/components/wt-headline/wt-headline.vue +1 -1
  24. package/src/components/wt-input-info/_variables.scss +0 -2
  25. package/src/components/wt-input-info/wt-input-info.vue +2 -2
  26. package/src/components/wt-item-link/_variables.scss +4 -0
  27. package/src/components/wt-item-link/wt-item-link.vue +5 -0
  28. package/src/components/wt-load-bar/_variables.scss +2 -0
  29. package/src/components/wt-load-bar/wt-load-bar.vue +2 -2
  30. package/src/components/wt-loader/_internals/wt-loader--md.vue +2 -2
  31. package/src/components/wt-loader/_internals/wt-loader--sm.vue +10 -4
  32. package/src/components/wt-loader/_variables.scss +15 -2
  33. package/src/components/wt-loader/wt-loader.vue +2 -2
  34. package/src/components/wt-navigation-bar/_variables.scss +18 -12
  35. package/src/components/wt-navigation-bar/wt-navigation-bar.vue +17 -15
  36. package/src/components/wt-notification/_variables.scss +7 -7
  37. package/src/components/wt-notification/wt-notification.vue +6 -6
  38. package/src/components/wt-page-wrapper/_variables.scss +6 -0
  39. package/src/components/wt-page-wrapper/wt-page-wrapper.vue +1 -1
  40. package/src/components/wt-player/_variables.scss +10 -1
  41. package/src/components/wt-player/wt-player.vue +55 -26
  42. package/src/components/wt-rounded-action/wt-rounded-action.vue +1 -5
  43. package/src/components/wt-search-bar/wt-search-bar.vue +1 -1
  44. package/src/components/wt-select/_multiselect.scss +1 -1
  45. package/src/components/wt-status-select/_variables.scss +2 -0
  46. package/src/components/wt-status-select/wt-status-select.vue +1 -0
  47. package/src/css/styleguide/colors/_colors.scss +1 -1
  48. package/src/css/styleguide/colors/reusable/_text-field.scss +8 -1
  49. package/src/mixins/validationMixin/useValidation.js +10 -8
@@ -1,16 +1,22 @@
1
1
  :root {
2
- --navigation-bar-width: 340px;
3
- --navigation-bar-z-index: 10;
4
- --navigation-bar-bg-color: var(--main-color);
5
- --navigation-bar-padding: var(--spacing-sm);
2
+ --wt-navigation-bar-width: 340px;
3
+ --wt-navigation-bar-z-index: 10;
4
+ --wt-navigation-bar-padding: var(--spacing-sm);
6
5
 
7
- --navigation-bar-header-padding: var(--spacing-xs);
8
- --navigation-bar-app-pic-width: 200px;
9
- --navigation-bar-app-pic-height: 30px;
6
+ --wt-navigation-bar-header-padding: var(--spacing-xs);
7
+ --wt-navigation-bar-app-pic-width: 200px;
8
+ --wt-navigation-bar-app-pic-height: 30px;
10
9
 
11
- --navigation-bar-list-padding: var(--navigation-bar-padding);
12
- --navigation-bar-link-padding: var(--navigation-bar-padding);
13
- --navigation-bar-subnav-padding-left: var(--spacing-lg);
14
- --navigation-bar-active-expansion-flag-width: 5px;
15
- --navigation-bar-active-expansion-name-max-width: calc(100% - var(--icon-md-size) - var(--spacing-xs));
10
+ --wt-navigation-bar-list-padding: var(--wt-navigation-bar-padding);
11
+ --wt-navigation-bar-link-padding: var(--wt-navigation-bar-padding);
12
+ --wt-navigation-bar-subnav-padding-left: var(--spacing-lg);
13
+ --wt-navigation-bar-active-expansion-flag-width: 5px;
14
+ --wt-navigation-bar-active-expansion-name-max-width: calc(100% - var(--icon-md-size) - var(--spacing-xs));
15
+
16
+ --wt-navigation-bar-background-color: var(--dp-18-surface-color);
17
+ --wt-navigation-bar-option-text-color: var(--text-main-color);
18
+ --wt-navigation-bar-option-background-color: var(--wt-navigation-bar-background-color);
19
+ --wt-navigation-bar-option-background-hover-color: var(--dp-20-surface-color);
20
+ --wt-navigation-bar-option-background-active-color: var(--primary-light-color);
21
+ --wt-navigation-bar-expansion-ribbon-color: var(--primary-color);
16
22
  }
@@ -193,15 +193,15 @@ export default {
193
193
  .wt-navigation-bar__nav {
194
194
  @extend %wt-scrollbar;
195
195
  position: fixed;
196
- z-index: var(--navigation-bar-z-index);
196
+ z-index: var(--wt-navigation-bar-z-index);
197
197
  top: 0;
198
198
  bottom: 0;
199
199
  left: 0;
200
200
  overflow: auto;
201
- width: var(--navigation-bar-width);
202
- padding: var(--navigation-bar-padding);
201
+ width: var(--wt-navigation-bar-width);
202
+ padding: var(--wt-navigation-bar-padding);
203
203
  border-radius: var(--border-radius);
204
- background: var(--navigation-bar-bg-color);
204
+ background: var(--wt-navigation-bar-background-color);
205
205
  box-shadow: var(--elevation-10);
206
206
 
207
207
  // expand animation optimization
@@ -217,27 +217,28 @@ export default {
217
217
  display: flex;
218
218
  align-items: center;
219
219
  justify-content: space-between;
220
- padding: var(--navigation-bar-header-padding);
220
+ padding: var(--wt-navigation-bar-header-padding);
221
221
  }
222
222
 
223
223
  .wt-navigation-bar__app-pic {
224
- width: var(--navigation-bar-app-pic-width);
225
- height: var(--navigation-bar-app-pic-height);
224
+ width: var(--wt-navigation-bar-app-pic-width);
225
+ height: var(--wt-navigation-bar-app-pic-height);
226
226
  }
227
227
 
228
228
  .wt-navigation-bar__nav-item-link {
229
229
  @extend %typo-body-1;
230
230
  display: block;
231
- padding: var(--navigation-bar-link-padding);
231
+ padding: var(--wt-navigation-bar-link-padding);
232
232
  transition: var(--transition);
233
233
  word-wrap: break-word;
234
+ color: var(--wt-navigation-bar-option-text-color);
234
235
 
235
236
  &:hover {
236
- background: var(--accent-secondary-color);
237
+ background: var(--wt-navigation-bar-option-background-hover-color);
237
238
  }
238
239
 
239
240
  &--active {
240
- background: var(--accent-secondary-color);
241
+ background: var(--wt-navigation-bar-option-background-active-color);
241
242
  }
242
243
  }
243
244
 
@@ -248,20 +249,21 @@ export default {
248
249
  align-items: center;
249
250
  justify-content: space-between;
250
251
  width: 100%;
251
- padding: var(--navigation-bar-link-padding);
252
+ padding: var(--wt-navigation-bar-link-padding);
252
253
  outline: none;
254
+ color: var(--wt-navigation-bar-option-text-color);
253
255
 
254
256
  &:before {
255
257
  position: absolute;
256
258
  top: 0;
257
259
  bottom: 0;
258
260
  left: 0;
259
- width: var(--navigation-bar-active-expansion-flag-width);
261
+ width: var(--wt-navigation-bar-active-expansion-flag-width);
260
262
  content: '';
261
263
  transition: var(--transition);
262
264
  opacity: 0;
263
265
  border-radius: var(--border-radius);
264
- background: var(--primary-color);
266
+ background: var(--wt-navigation-bar-expansion-ribbon-color);
265
267
  }
266
268
 
267
269
  .wt-navigation-bar__expansion-arrow {
@@ -280,11 +282,11 @@ export default {
280
282
 
281
283
  .wt-navigation-bar__nav-expansion-name {
282
284
  display: block;
283
- max-width: var(--navigation-bar-active-expansion-name-max-width);
285
+ max-width: var(--wt-navigation-bar-active-expansion-name-max-width);
284
286
  word-wrap: break-word;
285
287
  }
286
288
 
287
289
  .wt-navigation-bar__nav-item-link--subnav {
288
- padding-left: var(--navigation-bar-subnav-padding-left);
290
+ padding-left: var(--wt-navigation-bar-subnav-padding-left);
289
291
  }
290
292
  </style>
@@ -1,10 +1,10 @@
1
1
 
2
2
  :root {
3
- --notification-min-width: 30vw;
4
- --notification-max-width: 40vw;
5
- --notification-padding: var(--spacing-xs);
6
- --notification-icon-margin: var(--spacing-xs);
3
+ --wt-notification-min-width: 30vw;
4
+ --wt-notification-max-width: 40vw;
5
+ --wt-notification-padding: var(--spacing-xs);
6
+ --wt-notification-icon-margin: var(--spacing-xs);
7
7
 
8
- --notification-text-color: var(--text-primary-color);
9
- --notification-bg-color: var(--main-color);
10
- }
8
+ --wt-notification-text-color: var(--text-main-color);
9
+ --wt-notification-bg-color: var(--content-wrapper-color);
10
+ }
@@ -63,11 +63,11 @@ export default {
63
63
  position: relative;
64
64
  display: flex;
65
65
  align-items: flex-start;
66
- min-width: var(--notification-min-width);
67
- max-width: var(--notification-max-width);
68
- padding: var(--notification-padding);
69
- color: var(--notification-text-color);
70
- background: var(--notification-bg-color);
66
+ min-width: var(--wt-notification-min-width);
67
+ max-width: var(--wt-notification-max-width);
68
+ padding: var(--wt-notification-padding);
69
+ color: var(--wt-notification-text-color);
70
+ background: var(--wt-notification-bg-color);
71
71
  border-radius: var(--border-radius);
72
72
  box-shadow: var(--elevation-1);
73
73
  cursor: pointer;
@@ -75,7 +75,7 @@ export default {
75
75
 
76
76
  .wt-notification__icon {
77
77
  flex: 0 0 var(--icon-md-size);
78
- margin-right: var(--notification-icon-margin);
78
+ margin-right: var(--wt-notification-icon-margin);
79
79
  }
80
80
 
81
81
  .wt-notification__text {
@@ -2,4 +2,10 @@
2
2
  --page-wrapper-padding: var(--spacing-sm);
3
3
  --page-wrapper-section-padding: var(--spacing-sm);
4
4
  --page-wrapper-section-gap: var(--spacing-sm);
5
+
6
+ --wt-page-wrapper-background-color: var(--grey-lighten-5);
7
+ }
8
+
9
+ :root.theme--dark {
10
+ --wt-page-wrapper-background-color: var(--grey-darken-4);
5
11
  }
@@ -49,7 +49,7 @@ export default {
49
49
  box-sizing: border-box;
50
50
  padding: var(--page-wrapper-section-padding);
51
51
  border-radius: var(--border-radius);
52
- background: var(--main-color);
52
+ background: var(--wt-page-wrapper-background-color);
53
53
  }
54
54
 
55
55
  .wt-page-wrapper__main {
@@ -1,6 +1,15 @@
1
1
  .wt-player {
2
2
  --plyr-color-main: var(--primary-color);
3
- --plyr-audio-control-color: var(--icon-primary-color);
3
+ --plyr-audio-control-color: var(--icon-color);
4
+ --plyr-audio-control-color-hover: var(--icon-btn-hover-color);
5
+ --plyr-audio-controls-background: var(--content-wrapper-color);
6
+ --plyr-control-icon-size: var(--icon-md-size);
7
+ --plyr-audio-control-background-hover: transparent;
8
+ --plyr-audio-progress-buffered-background: var(--dp-14-surface-color); // loaded color
9
+ --wt-player-audio-progress-background: var(--wt-slider-background-color); // not played color
10
+ --plyr-tooltip-background: var(--wt-tooltip-background-color);
11
+ --plyr-tooltip-color: var(--wt-tooltip-text-color);
12
+
4
13
  // --plyr-control-toggle-checked-background: var(--main-color);
5
14
  --player-close-icon-transform-translate-x: var(--spacing-md);
6
15
  // "-1 * var" for use the negative value of a variable
@@ -26,6 +26,7 @@
26
26
 
27
27
  <script>
28
28
  import Plyr from 'plyr';
29
+ import 'plyr/src/sass/plyr.scss';
29
30
 
30
31
  export default {
31
32
  name: 'WtPlayer',
@@ -70,6 +71,7 @@ export default {
70
71
  default: 'sticky',
71
72
  },
72
73
  },
74
+ emits: ['initialized', 'close'],
73
75
  data: () => ({
74
76
  player: null,
75
77
  }),
@@ -152,9 +154,10 @@ export default {
152
154
  </script>
153
155
 
154
156
  <style lang="scss">
155
- @import '../../../node_modules/plyr/src/sass/plyr';
156
157
  @import './variables.scss';
158
+ </style>
157
159
 
160
+ <style lang="scss" scoped>
158
161
  .wt-player {
159
162
  @extend %typo-body-2;
160
163
  bottom: 60px;
@@ -174,35 +177,61 @@ export default {
174
177
  }
175
178
  }
176
179
 
177
- .plyr {
178
- max-width: 100%; // prevents <video> container overflow
179
- border-radius: var(--border-radius);
180
- box-shadow: var(--box-shadow);
181
- }
180
+ :deep {
181
+ .plyr {
182
+ max-width: 100%; // prevents <video> container overflow
183
+ border-radius: var(--border-radius);
184
+ box-shadow: var(--elevation-10);
185
+ }
182
186
 
183
- &__close-icon {
184
- //transform: translate(var(--player-close-icon-transform-translate-x),
185
- // var(--player-close-icon-transform-translate-y));
186
- }
187
+ .plyr__control--overlaid svg {
188
+ left: 0; // reset plyr style for video "play" button icon
189
+ }
187
190
 
188
- .plyr__control:hover, {
189
- background: var(--accent-secondary-color);
190
- color: var(--text-primary-color);
191
- }
191
+ .plyr__progress__buffer {
192
+ background: var(--wt-player-audio-progress-background);
193
+ }
192
194
 
193
- .plyr__control--overlaid svg {
194
- left: 0; // reset plyr style for video "play" button icon
195
- }
195
+ .plyr__progress input,
196
+ .plyr__volume input {
197
+ cursor: pointer;
196
198
 
197
- //.plyr__control[role='menuitemradio']::before,
198
- //.plyr__control[role='menuitemradio']:hover::before {
199
- // border: 2px solid var(--secondary-color);
200
- // background: var(--main-color);
201
- //}
202
- //
203
- //.plyr__control[role='menuitemradio']::after {
204
- // background: var(--secondary-color);
205
- //}
199
+ &::-webkit-slider-thumb {
200
+ border: var(--wt-slider-border);
201
+ border-radius: var(--wt-slider-pointer-radius);
202
+ background: var(--wt-slider-pointer-background-color);
203
+ -webkit-appearance: none;
204
+ transition: var(--transition);
205
+ }
206
+
207
+ &::-webkit-slider-runnable-track {
208
+ -webkit-appearance: none;
209
+ }
210
+
211
+ &::-moz-range-thumb {
212
+ width: var(--wt-slider-pointer-size);
213
+ height: var(--wt-slider-pointer-size);
214
+ border: var(--wt-slider-border);
215
+ border-radius: var(--wt-slider-pointer-radius);
216
+ border-color: var(--wt-slider-pointer-border-color);
217
+ background: var(--wt-slider-pointer-background-color);
218
+ -moz-appearance: none;
219
+ transition: var(--transition);
220
+ }
221
+
222
+ &::-moz-range-track {
223
+ -moz-appearance: none;
224
+ }
225
+
226
+ &::-ms-thumb {
227
+ appearance: none;
228
+ }
229
+
230
+ &::-ms-track {
231
+ appearance: none;
232
+ }
233
+ }
234
+ }
206
235
  }
207
236
 
208
237
  </style>
@@ -14,7 +14,7 @@
14
14
  <wt-loader
15
15
  v-if="loading"
16
16
  size="sm"
17
- :color="loaderColor"
17
+ color="main"
18
18
  />
19
19
  <wt-icon
20
20
  v-else
@@ -81,10 +81,6 @@ const iColor = computed(() => {
81
81
  default: return props.color;
82
82
  }
83
83
  });
84
- const loaderColor = computed(() => {
85
- // if (['success', 'transfer', 'error'].includes(props.color)) return 'main';
86
- return 'contrast';
87
- });
88
84
  </script>
89
85
 
90
86
  <style lang="scss">
@@ -163,7 +163,7 @@ function handleKeyup(event) {
163
163
  width: 100%;
164
164
  padding: 0;
165
165
  transition: var(--transition);
166
- color: var(--wt-text-field-placeholder-color);
166
+ color: var(--wt-text-field-text-color);
167
167
  border: none;
168
168
  outline: none;
169
169
  }
@@ -52,7 +52,7 @@
52
52
 
53
53
  .multiselect__custom-tag,
54
54
  .multiselect__single-label {
55
- color: var(--wt-text-field-placeholder-color);
55
+ color: var(--wt-text-field-text-color);
56
56
  }
57
57
 
58
58
  .multiselect__placeholder {
@@ -6,4 +6,6 @@
6
6
  --wt-status-select-option-background-color: var(--dp-22-surface-color);
7
7
  --wt-status-select-option-background-hover-color: var(--secondary-light-color);
8
8
  //--wt-status-select-option-background-selected-color: var(--primary-light-color);
9
+
10
+ --wt-status-select-background-color: var(--wt-status-select-option-background-color);
9
11
  }
@@ -110,6 +110,7 @@ export default {
110
110
  min-height: 0;
111
111
  padding: var(--wt-status-select-padding);
112
112
  border: none;
113
+ background: var(--wt-status-select-background-color);
113
114
  }
114
115
 
115
116
  .multiselect__select {
@@ -30,7 +30,7 @@
30
30
  --dp-1-surface-color: hsl(225, 20%, 77%);
31
31
 
32
32
  // content wrapper
33
- --content-wrapper-color: var(--dp-24-surface-color);
33
+ --content-wrapper-color: var(--dp-22-surface-color);
34
34
 
35
35
  // success colors
36
36
  --success-color: var(--green-darken-4);
@@ -5,10 +5,14 @@
5
5
  // helper
6
6
  --wt-helper-text-color: var(--text-main-color);
7
7
  --wt-helper-text-disabled-color: var(--text-disabled-color);
8
+ --wt-helper-text-invalid-color: var(--text-error-color);
9
+
10
+ // text
11
+ --wt-text-field-text-color: var(--black);
8
12
 
9
13
  // placeholder
10
14
  --wt-text-field-error-text-color: var(--error-color);
11
- --wt-text-field-placeholder-color: var(--text-main-color);
15
+ --wt-text-field-placeholder-color: var(--grey-lighten-1);
12
16
  --wt-text-field-placeholder-error-color: var(--error-color);
13
17
  --wt-text-field-placeholder-disabled-color: var(--text-disabled-color);
14
18
 
@@ -32,5 +36,8 @@
32
36
  }
33
37
 
34
38
  :root.theme--dark {
39
+ // text
40
+ --wt-text-field-text-color: var(--white);
41
+
35
42
  --wt-text-field-input-border-color: var(--grey-lighten-1);
36
43
  }
@@ -1,4 +1,4 @@
1
- import { computed, isReactive } from 'vue';
1
+ import { computed, isReactive, isRef } from 'vue';
2
2
  import { useI18n } from 'vue-i18n';
3
3
 
4
4
  export function useValidation({ v: inputV, customValidators: inputCustomValidators }) {
@@ -12,15 +12,14 @@ export function useValidation({ v: inputV, customValidators: inputCustomValidato
12
12
  v = computed(() => inputV);
13
13
  customValidators = computed(() => inputCustomValidators);
14
14
  }
15
-
16
- // support end
15
+ // end
17
16
 
18
17
  const isValidation = computed(() => !!v && !!v.value && !!Object.keys(v.value).length);
19
18
  const invalid = computed(() => isValidation.value && v.value.$error);
20
19
 
21
20
  const validationText = computed(() => {
22
21
  let validationText = '';
23
- if (isValidation.value && invalid) {
22
+ if (isValidation.value && invalid.value) {
24
23
  if (v.value.required?.$invalid) validationText = t('validation.required');
25
24
  else if (v.value.numeric?.$invalid) validationText = t('validation.numeric');
26
25
  else if (v.value.email?.$invalid) validationText = t('validation.email');
@@ -39,11 +38,14 @@ export function useValidation({ v: inputV, customValidators: inputCustomValidato
39
38
  else if (v.value.websocketValidator?.$invalid) validationText = `${t('validation.websocketValidator')}`;
40
39
  else if (v.value.integer?.$invalid) validationText = `${t('validation.integer')}`;
41
40
  }
42
- // eslint-disable-next-line no-restricted-syntax
43
- for (const { name, text } of customValidators) {
44
- if (v.value[name]?.$invalid) validationText = text;
41
+
42
+ if (customValidators && customValidators.value) {
43
+ // eslint-disable-next-line no-restricted-syntax
44
+ for (const { name, text } of customValidators.value) {
45
+ if (v.value[name]?.$invalid) validationText = text;
46
+ }
47
+ return validationText;
45
48
  }
46
- return validationText;
47
49
  });
48
50
 
49
51
  return {