@webitel/ui-sdk 24.12.1 → 24.12.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webitel/ui-sdk",
3
- "version": "24.12.1",
3
+ "version": "24.12.3",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "dev": "vite",
@@ -104,62 +104,61 @@
104
104
  "CHANGELOG.md"
105
105
  ],
106
106
  "dependencies": {
107
- "@floating-ui/vue": "^1.0.1",
108
- "@morev/vue-transitions": "^3.0.2",
107
+ "@floating-ui/vue": "^1.1.5",
108
+ "@morev/vue-transitions": "^3.0.5",
109
109
  "@vuelidate/core": "^2.0.3",
110
110
  "@vuelidate/validators": "^2.0.4",
111
- "@vuepic/vue-datepicker": "^4.4.0",
112
- "@vueuse/components": "^10.7.2",
111
+ "@vuepic/vue-datepicker": "^10.0.0",
112
+ "@vueuse/components": "^11.2.0",
113
113
  "autosize": "^6.0.1",
114
- "axios": "^1.7.1",
114
+ "axios": "^1.7.7",
115
115
  "clipboard-copy": "^4.0.1",
116
116
  "csv-stringify": "^5.5.3",
117
117
  "deep-copy": "^1.4.2",
118
- "deep-equal": "^2.0.3",
118
+ "deep-equal": "^2.2.3",
119
119
  "deepmerge": "^4.3.1",
120
120
  "file-saver-es": "^2.0.5",
121
121
  "flat": "^6.0.1",
122
122
  "is-valid-domain": "^0.1.6",
123
- "jszip": "^3.5.0",
123
+ "jszip": "^3.10.1",
124
124
  "jszip-utils": "^0.1.0",
125
125
  "lodash": "^4.17.21",
126
126
  "mitt": "3.0.1",
127
127
  "path-browserify": "^1.0.1",
128
- "plyr": "3.6.3",
129
- "query-string": "^8.1.0",
130
- "sortablejs": "^1.15.0",
131
- "vue-i18n": "^9.2.2",
132
- "vue-multiselect": "^3.0.0-beta.3",
128
+ "plyr": "3.7.8",
129
+ "query-string": "^9.1.1",
130
+ "sortablejs": "^1.15.3",
131
+ "vue-i18n": "^9.14.1",
132
+ "vue-multiselect": "^3.1.0",
133
133
  "vue-observe-visibility": "^2.0.0-alpha.1",
134
- "vue-router": "^4.1.6",
135
- "webitel-sdk": "^24.08.08",
134
+ "vue-router": "^4.4.5",
135
+ "webitel-sdk": "^24.8.8",
136
136
  "xlsx": "^0.18.5"
137
137
  },
138
138
  "devDependencies": {
139
139
  "@biomejs/biome": "1.9.4",
140
- "@vitejs/plugin-vue": "5.1.5",
141
- "@vitest/coverage-v8": "^2.1.4",
142
- "@vue/compat": "^3.5.12",
143
- "@vue/compiler-sfc": "^3.5.12",
140
+ "@vitejs/plugin-vue": "^5.2.0",
141
+ "@vitest/coverage-v8": "^2.1.5",
142
+ "@vue/compat": "^3.5.13",
143
+ "@vue/compiler-sfc": "^3.5.13",
144
144
  "@vue/test-utils": "^2.4.6",
145
145
  "globby": "^14.0.2",
146
- "happy-dom": "^15.11.0",
146
+ "happy-dom": "^15.11.6",
147
147
  "markdown-it": "^14.1.0",
148
148
  "markdown-table": "^3.0.4",
149
149
  "path": "^0.12.7",
150
- "postcss": "^8.4.48",
150
+ "postcss": "^8.4.49",
151
151
  "postcss-prefix-selector": "^2.1.0",
152
152
  "prismjs": "^1.29.0",
153
- "sass": "^1.80.6",
154
- "tslib": "^2.8.1",
153
+ "sass": "^1.81.0",
155
154
  "vite": "^5.4.11",
156
155
  "vite-plugin-node-polyfills": "^0.22.0",
157
156
  "vite-plugin-static-copy": "^2.1.0",
158
157
  "vite-plugin-svg-sprite": "^0.5.2",
159
158
  "vite-plugin-vue-docgen": "^0.3.4",
160
159
  "vitepress": "1.5.0",
161
- "vitest": "^2.1.4",
162
- "vue": "^3.5.12",
160
+ "vitest": "^2.1.5",
161
+ "vue": "^3.5.13",
163
162
  "vuex": "^4.1.0"
164
163
  },
165
164
  "optionalDependencies": {
@@ -147,7 +147,7 @@ export default {
147
147
  }
148
148
 
149
149
  .wt-checkbox:hover {
150
- :deep .wt-icon__icon {
150
+ :deep(.wt-icon__icon) {
151
151
  fill: var(--icon-active-color);
152
152
  }
153
153
  }
@@ -38,7 +38,7 @@ const emit = defineEmits(['click', 'mousedown']);
38
38
  width: fit-content;
39
39
  line-height: 0;
40
40
 
41
- &:hover .wt-icon--color-default :deep .wt-icon__icon {
41
+ &:hover .wt-icon--color-default :deep(.wt-icon__icon) {
42
42
  fill: var(--icon-btn-hover-color);
43
43
  }
44
44
 
@@ -200,72 +200,70 @@ export default {
200
200
  }
201
201
  }
202
202
 
203
- :deep {
204
- .plyr {
203
+ :deep(.plyr) {
205
204
  max-width: 100%; // prevents <video> container overflow
206
205
  border-radius: var(--border-radius);
207
206
  box-shadow: var(--elevation-10);
208
- }
209
-
210
- .plyr__controls > .plyr__control,
211
- .plyr__controls > .plyr__controls__item > .plyr__control {
212
- padding: var(--plyr-controls-icon-padding);
213
- }
214
-
215
- .plyr__controls > .plyr__control > svg,
216
- .plyr__controls > .plyr__controls__item > .plyr__control > svg {
217
- width: var(--plyr-controls-icon-size);
218
- height: var(--plyr-controls-icon-size);
219
- }
220
-
221
- .plyr__control--overlaid svg {
222
- left: 0; // reset plyr style for video "play" button icon
223
- }
224
-
225
- .plyr__progress__buffer {
226
- background: var(--wt-player-audio-progress-background);
227
- }
228
-
229
- .plyr__progress input,
230
- .plyr__volume input {
231
- cursor: pointer;
232
-
233
- &::-webkit-slider-thumb {
234
- transition: var(--transition);
235
- border: var(--wt-slider-border);
236
- border-radius: var(--wt-slider-pointer-radius);
237
- background: var(--wt-slider-pointer-background-color);
238
- -webkit-appearance: none;
239
- }
240
207
 
241
- &::-webkit-slider-runnable-track {
242
- -webkit-appearance: none;
208
+ .plyr__controls > .plyr__control,
209
+ .plyr__controls > .plyr__controls__item > .plyr__control {
210
+ padding: var(--plyr-controls-icon-padding);
243
211
  }
244
212
 
245
- &::-moz-range-thumb {
246
- width: var(--wt-slider-pointer-size);
247
- height: var(--wt-slider-pointer-size);
248
- transition: var(--transition);
249
- border: var(--wt-slider-border);
250
- border-color: var(--wt-slider-pointer-border-color);
251
- border-radius: var(--wt-slider-pointer-radius);
252
- background: var(--wt-slider-pointer-background-color);
253
- -moz-appearance: none;
213
+ .plyr__controls > .plyr__control > svg,
214
+ .plyr__controls > .plyr__controls__item > .plyr__control > svg {
215
+ width: var(--plyr-controls-icon-size);
216
+ height: var(--plyr-controls-icon-size);
254
217
  }
255
218
 
256
- &::-moz-range-track {
257
- -moz-appearance: none;
219
+ .plyr__control--overlaid svg {
220
+ left: 0; // reset plyr style for video "play" button icon
258
221
  }
259
222
 
260
- &::-ms-thumb {
261
- appearance: none;
223
+ .plyr__progress__buffer {
224
+ background: var(--wt-player-audio-progress-background);
262
225
  }
263
226
 
264
- &::-ms-track {
265
- appearance: none;
227
+ .plyr__progress input,
228
+ .plyr__volume input {
229
+ cursor: pointer;
230
+
231
+ &::-webkit-slider-thumb {
232
+ transition: var(--transition);
233
+ border: var(--wt-slider-border);
234
+ border-radius: var(--wt-slider-pointer-radius);
235
+ background: var(--wt-slider-pointer-background-color);
236
+ -webkit-appearance: none;
237
+ }
238
+
239
+ &::-webkit-slider-runnable-track {
240
+ -webkit-appearance: none;
241
+ }
242
+
243
+ &::-moz-range-thumb {
244
+ width: var(--wt-slider-pointer-size);
245
+ height: var(--wt-slider-pointer-size);
246
+ transition: var(--transition);
247
+ border: var(--wt-slider-border);
248
+ border-color: var(--wt-slider-pointer-border-color);
249
+ border-radius: var(--wt-slider-pointer-radius);
250
+ background: var(--wt-slider-pointer-background-color);
251
+ -moz-appearance: none;
252
+ }
253
+
254
+ &::-moz-range-track {
255
+ -moz-appearance: none;
256
+ }
257
+
258
+ &::-ms-thumb {
259
+ appearance: none;
260
+ }
261
+
262
+ &::-ms-track {
263
+ appearance: none;
264
+ }
266
265
  }
267
266
  }
268
267
  }
269
- }
270
268
 
271
269
  </style>
@@ -131,13 +131,13 @@ export default {
131
131
  }
132
132
 
133
133
  .wt-radio:hover {
134
- :deep .wt-icon__icon {
134
+ :deep(.wt-icon__icon) {
135
135
  fill: var(--icon-btn-hover-color);
136
136
  }
137
137
  }
138
138
 
139
139
  .wt-radio--active {
140
- :deep .wt-icon__icon {
140
+ :deep(.wt-icon__icon) {
141
141
  fill: var(--icon-active-color);
142
142
  }
143
143
  }
@@ -145,7 +145,7 @@ export default {
145
145
  .wt-radio--disabled {
146
146
  pointer-events: none;
147
147
 
148
- :deep .wt-icon__icon {
148
+ :deep(.wt-icon__icon) {
149
149
  fill: var(--icon-disabled-color);
150
150
  }
151
151
  }
@@ -1,6 +1,6 @@
1
1
  @import '../../../src/css/main.scss';
2
2
 
3
- .multiselect :deep {
3
+ :deep(.multiselect) {
4
4
  position: relative;
5
5
  cursor: pointer;
6
6
 
@@ -106,7 +106,7 @@
106
106
  }
107
107
  }
108
108
 
109
- .multiselect--active :deep {
109
+ :deep(.multiselect--active) {
110
110
  .multiselect__select.multiselect__arrow .wt-icon__icon {
111
111
  fill: var(--icon-active-color);
112
112
  }
@@ -118,7 +118,7 @@
118
118
 
119
119
  .wt-select--loading,
120
120
  .wt-tags-input--loading {
121
- :deep {
121
+ :deep(.multiselect) {
122
122
  .multiselect__content-wrapper {
123
123
  overflow-y: hidden;
124
124
  }
@@ -141,7 +141,7 @@
141
141
 
142
142
  .wt-select.wt-select--invalid,
143
143
  .wt-tags-input.wt-tags-input--invalid {
144
- .multiselect :deep {
144
+ :deep(.multiselect) {
145
145
  .multiselect__tags {
146
146
  border-color: var(--wt-text-field-input-border-error-color);
147
147
  outline: none; // prevent outline overlapping false color
@@ -172,8 +172,7 @@
172
172
  background: transparent; // reset default
173
173
  }
174
174
 
175
- .multiselect {
176
- :deep {
175
+ :deep(.multiselect) {
177
176
  .multiselect__tags {
178
177
  border-color: var(--wt-text-field-input-border-disabled-color);
179
178
  background: var(--wt-text-field-input-background-disabled-color);
@@ -184,13 +183,13 @@
184
183
  }
185
184
  }
186
185
  }
187
- }
188
186
  }
189
187
 
188
+
190
189
  // override .wt-select colors on chips
191
190
  .wt-tags-input,
192
191
  .wt-tags-input--invalid {
193
- .multiselect :deep {
192
+ :deep(.multiselect) {
194
193
  .multiselect__tags {
195
194
  .multiselect__custom-tag,
196
195
  .multiselect__single-label {
@@ -285,7 +285,7 @@ export default {
285
285
  min-width: 0;
286
286
  }
287
287
 
288
- .multiselect :deep {
288
+ :deep(.multiselect) {
289
289
  .multiselect__custom-tag,
290
290
  .multiselect__single-label {
291
291
  // text overflow 3 dots
@@ -297,7 +297,7 @@ export default {
297
297
  }
298
298
  }
299
299
 
300
- .multiselect--active :deep {
300
+ :deep(.multiselect--active) {
301
301
  .multiselect__tags-wrap,
302
302
  .multiselect__strong {
303
303
  display: none;
@@ -309,7 +309,7 @@ export default {
309
309
  // default case
310
310
  .wt-select {
311
311
  // all is fine
312
- .multiselect :deep {
312
+ :deep(.multiselect) {
313
313
  .multiselect__tags {
314
314
  padding: var(--input-padding) calc(
315
315
  var(--input-padding)
@@ -322,7 +322,7 @@ export default {
322
322
 
323
323
  // only chip
324
324
  .wt-select.wt-select--multiple:not(.wt-select--clearable) {
325
- .multiselect :deep {
325
+ :deep(.multiselect) {
326
326
  $multiselect-limit-right-pos: calc(
327
327
  var(--select-caret-right-pos)// caret offet from border
328
328
  + var(--icon-md-size)// caret size
@@ -345,7 +345,7 @@ export default {
345
345
 
346
346
  // only clearable
347
347
  .wt-select.wt-select--clearable:not(.wt-select--multiple) {
348
- .multiselect :deep {
348
+ :deep(.multiselect) {
349
349
  $multiselect-clear-right-pos: calc(
350
350
  var(--select-caret-right-pos)// caret offset from border
351
351
  + var(--icon-md-size)// caret size
@@ -368,7 +368,7 @@ export default {
368
368
 
369
369
  // clearable and chip
370
370
  .wt-select.wt-select--multiple.wt-select--clearable {
371
- .multiselect :deep {
371
+ :deep(.multiselect) {
372
372
  $multiselect-clear-right-pos: calc(
373
373
  var(--select-caret-right-pos)// caret offet from border
374
374
  + var(--icon-md-size)// caret size
@@ -354,7 +354,7 @@ export default {
354
354
  &--sortable {
355
355
  cursor: pointer;
356
356
 
357
- &:hover :deep .wt-icon__icon {
357
+ &:hover :deep(.wt-icon__icon) {
358
358
  fill: var(--icon-active-color);
359
359
  }
360
360
  }
@@ -192,7 +192,7 @@ export default {
192
192
  }
193
193
 
194
194
  // paddings recalc
195
- .wt-tags-input .multiselect :deep {
195
+ .wt-tags-input :deep(.multiselect) {
196
196
  .multiselect__tags {
197
197
  padding-right: calc(
198
198
  var(--input-padding)
@@ -6,7 +6,7 @@ export const useCardTabs = (tabs) => {
6
6
  const route = useRoute();
7
7
 
8
8
  const currentTab = computed(() => {
9
- return tabs.find(({ pathName }) => route.name === pathName) || tabs[0];
9
+ return tabs?.value.find(({ pathName }) => route.name === pathName) || tabs?.value[0];
10
10
  });
11
11
 
12
12
  function changeTab(tab) {
@@ -5,6 +5,6 @@ export const useValidate = (schema, data) => {
5
5
 
6
6
  return {
7
7
  v$,
8
- invalid: v$.$invalid,
8
+ invalid: v$.value?.$invalid,
9
9
  };
10
10
  }
@@ -0,0 +1,13 @@
1
+ const convertDurationWithMinutes = (duration) => {
2
+ if (!duration) return '00:00';
3
+
4
+ let hour = `${Math.floor(duration / 60)}`;
5
+ let min = `${Math.floor(duration % 60)}`;
6
+
7
+ if (hour.length === 1) hour = `0${hour}`;
8
+ if (min.length === 1) min = `0${min}`;
9
+
10
+ return `${hour}:${min}`;
11
+ };
12
+
13
+ export default convertDurationWithMinutes;