@webitel/ui-sdk 23.12.43 → 23.12.44

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 (35) hide show
  1. package/dist/img/sprite/index.js +1 -0
  2. package/dist/img/sprite/variable-select.svg +9 -0
  3. package/dist/ui-sdk.css +1 -1
  4. package/dist/ui-sdk.mjs +4300 -4301
  5. package/dist/ui-sdk.umd.js +6 -6
  6. package/package.json +1 -1
  7. package/src/components/wt-checkbox/wt-checkbox.vue +3 -41
  8. package/src/components/wt-chip/_variables.scss +25 -2
  9. package/src/components/wt-chip/wt-chip.scss +20 -17
  10. package/src/components/wt-chip/wt-chip.vue +4 -2
  11. package/src/components/wt-icon-btn/wt-icon-btn.vue +2 -1
  12. package/src/components/wt-input/wt-input.vue +1 -1
  13. package/src/components/wt-popup/_variables.scss +4 -3
  14. package/src/components/wt-popup/wt-popup.vue +5 -3
  15. package/src/components/wt-select/_multiselect.scss +48 -52
  16. package/src/components/wt-select/_variables.scss +0 -3
  17. package/src/components/wt-select/wt-select.vue +8 -21
  18. package/src/components/wt-switcher/_variables.scss +30 -7
  19. package/src/components/wt-switcher/wt-switcher.vue +44 -28
  20. package/src/components/wt-table/_variables.scss +8 -5
  21. package/src/components/wt-table/wt-table.vue +13 -18
  22. package/src/components/wt-table-column-select/wt-table-column-select.vue +5 -2
  23. package/src/components/wt-tabs/_variables.scss +4 -4
  24. package/src/components/wt-tabs/wt-tabs.vue +8 -6
  25. package/src/components/wt-tags-input/wt-tags-input.vue +3 -20
  26. package/src/components/wt-textarea/wt-textarea.vue +6 -23
  27. package/src/components/wt-time-input/wt-time-input.vue +17 -50
  28. package/src/components/wt-timepicker/wt-timepicker.vue +0 -12
  29. package/src/components/wt-tooltip/__tests__/WtTooltip.spec.js +0 -10
  30. package/src/components/wt-tooltip/_variables.scss +2 -4
  31. package/src/components/wt-tooltip/wt-tooltip.vue +2 -14
  32. package/src/css/styleguide/colors/_colors.scss +6 -6
  33. package/src/css/styleguide/colors/reusable/_text-field.scss +16 -0
  34. package/src/css/styleguide/placeholder/_placeholder.scss +5 -0
  35. package/src/components/wt-tags-input/_variables.scss +0 -24
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "23.12.43",
3
+ "version": "23.12.44",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "dev": "vite",
@@ -3,12 +3,12 @@
3
3
  class="wt-checkbox"
4
4
  :class="{
5
5
  'wt-checkbox--active': isChecked,
6
- 'wt-checkbox--outline': outline,
7
6
  'wt-checkbox--disabled': disabled,
8
7
  }"
9
8
  >
10
9
  <wt-label
11
10
  v-bind="labelProps"
11
+ :disabled="disabled"
12
12
  class="wt-checkbox__wrapper"
13
13
  >
14
14
  <input
@@ -65,10 +65,6 @@ export default {
65
65
  type: Boolean,
66
66
  default: false,
67
67
  },
68
- outline: {
69
- type: Boolean,
70
- default: false,
71
- },
72
68
  labelProps: {
73
69
  type: Object,
74
70
  description: 'Object with props, passed down to wt-label as props',
@@ -151,46 +147,12 @@ export default {
151
147
  }
152
148
 
153
149
  .wt-checkbox:hover {
154
- .wt-checkbox__label {
155
- color: var(--form-label--hover-color);
156
- }
157
-
158
- ::v-deep .wt-icon__icon {
159
- fill: var(--icon-color--hover);
160
- }
161
- }
162
-
163
- .wt-checkbox--active {
164
- .wt-checkbox__label {
165
- color: var(--form-label--active-color);
166
- }
167
- }
168
-
169
- .wt-checkbox--outline {
170
- .wt-checkbox__label {
171
- color: var(--form-outline-label-color);
172
- }
173
-
174
- ::v-deep .wt-icon__icon {
175
- fill: var(--icon-outline-color);
176
- }
177
-
178
- &.wt-checkbox--active {
179
- .wt-checkbox__label {
180
- color: var(--form-label--active-color);
181
- }
182
-
183
- ::v-deep .wt-icon__icon {
184
- fill: var(--icon-outline--active-color);
185
- }
150
+ :deep .wt-icon__icon {
151
+ fill: var(--icon-active-color);
186
152
  }
187
153
  }
188
154
 
189
155
  .wt-checkbox--disabled {
190
156
  pointer-events: none;
191
-
192
- .wt-checkbox__label {
193
- color: var(--form-label--disabled-color);
194
- }
195
157
  }
196
158
  </style>
@@ -2,6 +2,29 @@
2
2
  :root {
3
3
  --chip-padding: var(--spacing-2xs) var(--spacing-sm);
4
4
  --chip-border-radius: var(--spacing-lg);
5
- --chip-bg-color: var(--accent-secondary-color);
6
- --chip-bg-color--outline: var(--secondary-color);
5
+
6
+ --wt-chip-main-background-color: var(--primary-light-color);
7
+ --wt-chip-main-text-color: var(--primary-on-color);
8
+
9
+ --wt-chip-primary-background-color: var(--primary-color);
10
+ --wt-chip-primary-text-color: var(--primary-on-color);
11
+
12
+ --wt-chip-secondary-background-color: var(--dp-14-surface-color);
13
+ --wt-chip-secondary-text-color: var(--grey-darken-4);
14
+
15
+ --wt-chip-success-background-color: var(--success-color);
16
+ --wt-chip-success-text-color: var(--success-on-color);
17
+
18
+ --wt-chip-warning-background-color: var(--warning-color);
19
+ --wt-chip-warning-text-color: var(--warning-on-color);
20
+
21
+ --wt-chip-error-background-color: var(--error-color);
22
+ --wt-chip-error-text-color: var(--error-on-color);
23
+
24
+ --wt-chip-transfer-background-color: var(--transfer-color);
25
+ --wt-chip-transfer-text-color: var(--transfer-on-color);
26
+ }
27
+
28
+ :root.theme--dark {
29
+ --wt-chip-secondary-text-color: var(--grey-lighten-4);
7
30
  }
@@ -3,39 +3,42 @@
3
3
 
4
4
  display: inline-block;
5
5
  padding: var(--chip-padding);
6
- color: var(--text-primary-color);
6
+ color: var(--wt-chip-main-text-color);
7
7
  border-radius: var(--chip-border-radius);
8
- background: var(--chip-bg-color);
8
+ background: var(--wt-chip-main-background-color);
9
9
 
10
10
  &--main-color {
11
- background: var(--chip-bg-color);
11
+ background: var(--wt-chip-main-background-color);
12
+ color: var(--wt-chip-main-text-color);
12
13
  }
13
14
 
14
- &--outline-color {
15
- background: var(--chip-bg-color--outline);
16
- }
17
-
18
- &--accent-color {
19
- background: var(--primary-color);
15
+ &--primary-color {
16
+ background: var(--wt-chip-primary-background-color);
17
+ color: var(--wt-chip-primary-text-color);
20
18
  }
21
19
 
22
20
  &--secondary-color {
23
- background: var(--secondary-color);
21
+ background: var(--wt-chip-secondary-background-color);
22
+ color: var(--wt-chip-secondary-text-color);
24
23
  }
25
24
 
26
- &--secondary-50-color {
27
- background: var(--secondary-color-50);
25
+ &--success-color {
26
+ background: var(--wt-chip-success-background-color);
27
+ color: var(--wt-chip-success-text-color);
28
28
  }
29
29
 
30
- &--success-color {
31
- background: var(--true-color);
30
+ &--warning-color {
31
+ background: var(--wt-chip-warning-background-color);
32
+ color: var(--wt-chip-warning-text-color);
32
33
  }
33
34
 
34
- &--danger-color {
35
- background: var(--false-color);
35
+ &--error-color {
36
+ background: var(--wt-chip-error-background-color);
37
+ color: var(--wt-chip-error-text-color);
36
38
  }
37
39
 
38
40
  &--transfer-color {
39
- background: var(--transfer-color);
41
+ background: var(--wt-chip-transfer-background-color);
42
+ color: var(--wt-chip-transfer-text-color);
40
43
  }
41
44
  }
@@ -11,11 +11,13 @@
11
11
  export default {
12
12
  name: 'WtChip',
13
13
  props: {
14
+ /**
15
+ * The color of the chip
16
+ * @values main, primary, secondary, success, warning, error, transfer
17
+ */
14
18
  color: {
15
19
  type: String,
16
20
  default: 'main',
17
- options: ['main', 'outline', 'accent', 'secondary', 'secondary-50', 'success', 'danger', 'transfer'],
18
- notes: '"main" and "outline" are chip-specific colors',
19
21
  },
20
22
  },
21
23
  };
@@ -5,8 +5,9 @@
5
5
  type="button"
6
6
  @click="emit('click', $event)"
7
7
  >
8
+ <!-- prevent icon-btn classes to fall to wt-icon -->
8
9
  <wt-icon
9
- v-bind="$attrs"
10
+ v-bind="{ ...$attrs, class: '' }"
10
11
  :disabled="disabled"
11
12
  />
12
13
  </button>
@@ -307,7 +307,7 @@ onMounted(() => {
307
307
  .wt-input--disabled & {
308
308
  @include wt-placeholder('disabled');
309
309
  border-color: var(--wt-text-field-input-border-disabled-color);
310
- background: var(--form-border--disabled-color);
310
+ background: var(--wt-text-field-input-background-disabled-color);
311
311
  }
312
312
  }
313
313
 
@@ -3,16 +3,17 @@
3
3
  --popup-wrapper-z-index: 11;
4
4
 
5
5
  --popup-shadow-opacity: 0.8;
6
- --popup-shadow-color: hsla(var(--_contrast-color), var(--popup-shadow-opacity));
6
+ --wt-popup-shadow-color: hsla(0, 0%, 0%, var(--popup-shadow-opacity));
7
7
 
8
8
  --popup-max-height: 90%;
9
9
 
10
- --popup-bg-color: var(--main-color);
10
+ --wt-popup-background-color: var(--dp-24-surface-color);
11
11
  --popup-sections-gap: var(--spacing-sm);
12
12
  --popup-padding: var(--popup-sections-gap);
13
13
 
14
14
  --popup-header-padding: var(--spacing-xs);
15
- --popup-header-bg-color: var(--secondary-color);
15
+ --wt-popup-header-background-color: var(--dp-18-surface-color);
16
+ --wt-popup-header-text-color: var(--text-main-color);
16
17
 
17
18
  --popup-main-section-padding-right: var(--spacing-xs); // scroll offset
18
19
 
@@ -50,6 +50,7 @@ export default {
50
50
  default: false,
51
51
  },
52
52
  },
53
+ emits: ['close'],
53
54
  computed: {
54
55
  popupStyle() {
55
56
  let style = '';
@@ -77,7 +78,7 @@ export default {
77
78
  display: flex;
78
79
  align-items: center;
79
80
  justify-content: center;
80
- background: var(--popup-shadow-color);
81
+ background: var(--wt-popup-shadow-color);
81
82
  }
82
83
 
83
84
  .wt-popup__popup {
@@ -88,7 +89,7 @@ export default {
88
89
  margin: var(--popup-padding);
89
90
  padding: var(--popup-padding);
90
91
  border-radius: var(--border-radius);
91
- background: var(--popup-bg-color);
92
+ background: var(--wt-popup-background-color);
92
93
  box-shadow: var(--elevation-10);
93
94
  gap: var(--popup-sections-gap);
94
95
  }
@@ -99,9 +100,10 @@ export default {
99
100
  display: flex;
100
101
  align-items: center;
101
102
  justify-content: space-between;
103
+ color: var(--wt-popup-header-text-color);
102
104
  padding: var(--popup-header-padding);
103
105
  border-radius: var(--border-radius);
104
- background: var(--popup-header-bg-color);
106
+ background: var(--wt-popup-header-background-color);
105
107
  gap: var(--popup-header-padding);
106
108
 
107
109
  .wt-popup__title {
@@ -1,5 +1,5 @@
1
1
 
2
- .multiselect ::v-deep {
2
+ .multiselect :deep {
3
3
  cursor: pointer;
4
4
  position: relative;
5
5
 
@@ -11,6 +11,7 @@
11
11
  transition: var(--transition);
12
12
  width: fit-content; // reset default
13
13
  height: fit-content; // reset default
14
+ background: transparent;
14
15
 
15
16
  &:before {
16
17
  display: none; // reset default
@@ -29,12 +30,13 @@
29
30
  }
30
31
 
31
32
 
33
+ // visible select input wrapper
32
34
  .multiselect__tags {
33
35
  padding: calc(var(--spacing-xs) - 1px); // borders
34
- color: var(--form-input-color);
35
36
  border: var(--select-tags-border);
36
- border-color: var(--form-border-color);
37
+ border-color: var(--wt-text-field-input-border-color);
37
38
  border-radius: var(--border-radius);
39
+ background: transparent;
38
40
  }
39
41
 
40
42
 
@@ -48,13 +50,9 @@
48
50
  margin: 0; // reset default
49
51
  }
50
52
 
51
- .multiselect__input:focus {
52
- @include wt-placeholder('focus');
53
- }
54
-
55
53
  .multiselect__custom-tag,
56
54
  .multiselect__single-label {
57
- color: var(--form-input-color);
55
+ color: var(--wt-text-field-placeholder-color);
58
56
  }
59
57
 
60
58
  .multiselect__placeholder {
@@ -68,17 +66,22 @@
68
66
  text-overflow: ellipsis;
69
67
  }
70
68
 
69
+ // select options wrapper
71
70
  .multiselect__content-wrapper {
72
71
  @extend %wt-distant-scrollbar;
73
72
  transition: var(--transition);
74
73
  border: var(--select-tags-border);
75
- border-color: var(--form-border-color);
74
+ border-color: var(--wt-text-field-select-option-wrapper-border-color);
76
75
  border-radius: var(--border-radius);
76
+ box-shadow: var(--elevation-10);
77
77
  }
78
78
 
79
+ // select options
79
80
  .multiselect__option {
80
81
  @extend %typo-body-1;
81
82
  padding: var(--select-options-padding);
83
+ color: var(--wt-text-field-select-option-text-color);
84
+ background: var(--wt-text-field-select-option-background-color);
82
85
 
83
86
  &:after {
84
87
  display: none;
@@ -86,53 +89,28 @@
86
89
 
87
90
 
88
91
  &--highlight {
89
- color: var(--form-input-color);
90
- //background: var(--select-option--hover-color);
91
- background: none;
92
+ color: var(--wt-text-field-select-option-text-hover-color);
93
+ background: var(--wt-text-field-select-option-background-hover-color);
92
94
  }
93
95
 
94
96
 
95
97
  &--selected {
96
- font-weight: normal;
97
- background: var(--select-option--active-color)
98
+ font-weight: normal; // reset
99
+ color: var(--wt-text-field-select-option-text-selected-color);
100
+ background: var(--wt-text-field-select-option-background-selected-color)
98
101
  }
99
102
  }
100
103
  }
101
104
 
102
- .multiselect--active ::v-deep {
105
+ .multiselect--active :deep {
103
106
  .multiselect__select .wt-icon__icon {
104
- fill: var(--icon-color--hover);
105
- }
106
-
107
- .multiselect__tags {
108
- border-color: var(--form-border--active-color);
109
-
110
- .multiselect__placeholder {
111
- //@extend %wt-placeholder--focus;
112
- }
113
- }
114
-
115
- }
116
-
117
- .wt-select:hover,
118
- .wt-tags-input:hover {
119
- .multiselect ::v-deep {
120
- .multiselect__tags {
121
- border-color: var(--form-border--hover-color);
122
- }
123
-
124
- .multiselect__select,
125
- .multiselect__clear {
126
- .wt-icon__icon {
127
- fill: var(--icon-color--hover);
128
- }
129
- }
107
+ fill: var(--icon-active-color);
130
108
  }
131
109
  }
132
110
 
133
111
  .wt-select--loading,
134
112
  .wt-tags-input--loading {
135
- ::v-deep {
113
+ :deep {
136
114
  .multiselect__content-wrapper {
137
115
  overflow-y: hidden;
138
116
  }
@@ -155,11 +133,21 @@
155
133
 
156
134
  .wt-select.wt-select--invalid,
157
135
  .wt-tags-input.wt-tags-input--invalid {
158
- .multiselect ::v-deep {
136
+ .multiselect :deep {
159
137
  .multiselect__tags {
160
- border-color: var(--false-color);
138
+ border-color: var(--wt-text-field-input-border-error-color);
161
139
  outline: none; // prevent outline overlapping false color
162
140
  }
141
+
142
+ .multiselect__custom-tag,
143
+ .multiselect__single-label {
144
+ color: var(--wt-text-field-placeholder-error-color);
145
+ }
146
+
147
+ .multiselect__placeholder {
148
+ @extend %wt-placeholder--error;
149
+ //color: var(--form-placeholder--disabled-color);
150
+ }
163
151
  }
164
152
  }
165
153
 
@@ -176,16 +164,11 @@
176
164
  background: transparent; // reset default
177
165
  }
178
166
 
179
- .multiselect__arrow-caret ::v-deep .wt-icon__icon,
180
- .multiselect__clear ::v-deep .wt-icon__icon {
181
- fill: var(--icon-color-disabled);
182
- }
183
-
184
167
  .multiselect {
185
- ::v-deep {
168
+ :deep {
186
169
  .multiselect__tags {
187
- border-color: var(--form-border--disabled-color);
188
- background: var(--form-border--disabled-color);
170
+ border-color: var(--wt-text-field-input-border-disabled-color);
171
+ background: var(--wt-text-field-input-background-disabled-color);
189
172
 
190
173
  .multiselect__placeholder {
191
174
  @extend %wt-placeholder--disabled;
@@ -195,3 +178,16 @@
195
178
  }
196
179
  }
197
180
  }
181
+
182
+ // override .wt-select colors on chips
183
+ .wt-tags-input,
184
+ .wt-tags-input--invalid {
185
+ .multiselect :deep {
186
+ .multiselect__tags {
187
+ .multiselect__custom-tag,
188
+ .multiselect__single-label {
189
+ color: var(--wt-chip-main-text-color);
190
+ }
191
+ }
192
+ }
193
+ }
@@ -8,7 +8,4 @@
8
8
  --select-tags-border: var(--input-border); // right pos = 10px spacing + clear icon size + clear offset
9
9
 
10
10
  --select-options-padding: var(--input-padding);
11
-
12
- --select-option--hover-color: var(--accent-secondary-color);
13
- --select-option--active-color: var(--accent-secondary-color);
14
11
  }
@@ -176,21 +176,7 @@ export default {
176
176
  min-width: 0;
177
177
  }
178
178
 
179
- .wt-label {
180
- .wt-select:hover &,
181
- .wt-select:focus-within &, {
182
- color: var(--form-label--hover-color);
183
- }
184
- }
185
-
186
- .wt-select--invalid,
187
- .wt-select--invalid:hover {
188
- .wt-label {
189
- color: var(--false-color);
190
- }
191
- }
192
-
193
- .multiselect ::v-deep {
179
+ .multiselect :deep {
194
180
  .multiselect__custom-tag,
195
181
  .multiselect__single-label {
196
182
  // text overflow 3 dots
@@ -202,7 +188,7 @@ export default {
202
188
  }
203
189
  }
204
190
 
205
- .multiselect--active ::v-deep {
191
+ .multiselect--active :deep {
206
192
  .multiselect__tags-wrap,
207
193
  .multiselect__strong {
208
194
  display: none;
@@ -214,7 +200,7 @@ export default {
214
200
  // default case
215
201
  .wt-select {
216
202
  // all is fine
217
- .multiselect ::v-deep {
203
+ .multiselect :deep {
218
204
  .multiselect__tags {
219
205
  padding: var(--input-padding) calc(
220
206
  var(--input-padding)
@@ -227,7 +213,7 @@ export default {
227
213
 
228
214
  // only chip
229
215
  .wt-select.wt-select--multiple:not(.wt-select--clearable) {
230
- .multiselect ::v-deep {
216
+ .multiselect :deep {
231
217
  $multiselect-limit-right-pos: calc(
232
218
  var(--select-caret-right-pos) // caret offet from border
233
219
  + var(--icon-md-size) // caret size
@@ -248,9 +234,9 @@ export default {
248
234
 
249
235
  // only clearable
250
236
  .wt-select.wt-select--clearable:not(.wt-select--multiple) {
251
- .multiselect ::v-deep {
237
+ .multiselect :deep {
252
238
  $multiselect-clear-right-pos: calc(
253
- var(--select-caret-right-pos) // caret offet from border
239
+ var(--select-caret-right-pos) // caret offset from border
254
240
  + var(--icon-md-size) // caret size
255
241
  + var(--input-padding) // caret-to-chip offset
256
242
  );
@@ -268,8 +254,9 @@ export default {
268
254
  }
269
255
  }
270
256
 
257
+ // clearable and chip
271
258
  .wt-select.wt-select--multiple.wt-select--clearable {
272
- .multiselect ::v-deep {
259
+ .multiselect :deep {
273
260
  $multiselect-clear-right-pos: calc(
274
261
  var(--select-caret-right-pos)// caret offet from border
275
262
  + var(--icon-md-size)// caret size
@@ -6,12 +6,35 @@
6
6
  --switcher-cicle-size: 14px;
7
7
  --switcher-cicle-margin: 4px;
8
8
  --switcher-cicle-translateX: 17px;
9
- --switcher-bg-color--off: hsla(var(--_icon-color), var(--_opacity--default));
10
- --switcher-bg-color--on: hsla(var(--_accent-color), var(--_opacity--default));
11
- --switcher-bg-color--off--hover: hsla(var(--_icon-color), var(--_opacity--hover));
12
- --switcher-bg-color--on--hover: hsla(var(--_accent-color), var(--_opacity--hover));
13
- --switcher-bg-color--off--disabled: hsla(var(--_icon-color), var(--_opacity--disabled));
14
- --switcher-bg-color--on--disabled: hsla(var(--_accent-color), var(--_opacity--disabled));
15
- --switcher-circle-bg-color: var(--main-color);
16
9
  --switcher-border-radius: 24px;
10
+
11
+ // circle
12
+ --wt-switcher-circle-background-color-on: var(--grey-darken-3);
13
+ --wt-switcher-circle-background-color-on-hover: var(--grey-darken-4);
14
+ --wt-switcher-circle-background-color-on-disabled: var(--grey-darken-3);
15
+
16
+ --wt-switcher-circle-background-color-off: var(--grey-lighten-4);
17
+ --wt-switcher-circle-background-color-off-hover: var(--grey-lighten-5);
18
+ --wt-switcher-circle-background-color-off-disabled: var(--grey-lighten-3);
19
+
20
+ // background
21
+ --wt-switcher-background-color-on: var(--primary-color);
22
+ --wt-switcher-background-color-on-hover: var(--primary-hover-color);
23
+ --wt-switcher-background-color-on-disabled: var(--primary-light-color);
24
+
25
+ --wt-switcher-background-color-off: var(--grey-darken-2);
26
+ --wt-switcher-background-color-off-hover: var(--grey-darken-1);
27
+ --wt-switcher-background-color-off-disabled: var(--grey-lighten-4);
28
+ }
29
+
30
+ :root.theme--dark {
31
+ // circle
32
+ --wt-switcher-circle-background-color-off: var(--grey-darken-4);
33
+ --wt-switcher-circle-background-color-off-hover: var(--grey-darken-3);
34
+ --wt-switcher-circle-background-color-off-disabled: var(--grey-darken-3);
35
+
36
+ // background
37
+ --wt-switcher-background-color-off: var(--grey-lighten-1);
38
+ --wt-switcher-background-color-off-hover: var(--grey-lighten-2);
39
+ --wt-switcher-background-color-off-disabled: var(--grey-darken-2);
17
40
  }