@webitel/ui-sdk 26.4.86 → 26.4.88

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 (96) hide show
  1. package/dist/{contacts-DaoMrXCH.js → contacts-CWWcfiCE.js} +2 -2
  2. package/dist/{index-Bskc5dAz.js → index-DoEanJ-O.js} +1 -1
  3. package/dist/{index-T8OHzT-M.js → index-O9e1CFXo.js} +1 -1
  4. package/dist/{install-DRmtBDPZ.js → install-Cbk4uI4d.js} +3785 -3755
  5. package/dist/{isObject-Ded7XstI.js → isObject-BpFBfdDM.js} +1 -1
  6. package/dist/ui-sdk.css +1 -1
  7. package/dist/ui-sdk.js +1 -1
  8. package/dist/ui-sdk.umd.cjs +490 -465
  9. package/dist/{useVidstackSrc-wxHifGCo.js → useVidstackSrc-BbDbGbdc.js} +1 -1
  10. package/dist/{vidstack-Bq6c3Bam-CAA9SbBT.js → vidstack-Bq6c3Bam-Bcd_Dqxm.js} +3 -3
  11. package/dist/{vidstack-D2pY00kU-BSATxysV.js → vidstack-D2pY00kU-DvjLYlfP.js} +3 -3
  12. package/dist/{vidstack-DDXt6fpN-D7sjYTht.js → vidstack-DDXt6fpN-Kvp8-Z71.js} +2 -2
  13. package/dist/{vidstack-D_-9AA6_-Bt9c3nq9.js → vidstack-D_-9AA6_-BDnms3zl.js} +2 -2
  14. package/dist/{vidstack-DqAw8m9J-I-N7rkjc.js → vidstack-DqAw8m9J-B-b1Zn2U.js} +1 -1
  15. package/dist/{vidstack-audio-tpKaCI-R.js → vidstack-audio-C07mh5HA.js} +2 -2
  16. package/dist/{vidstack-dash-R8I4VAOs.js → vidstack-dash-BTtUaGXq.js} +4 -4
  17. package/dist/{vidstack-google-cast-BcqPHeDY.js → vidstack-google-cast-C8HRnkji.js} +4 -4
  18. package/dist/{vidstack-hls-C_XtAf2h.js → vidstack-hls-BE2LBeBA.js} +4 -4
  19. package/dist/{vidstack-video-JJIOEHce.js → vidstack-video-DAamzQJo.js} +3 -3
  20. package/dist/{vidstack-vimeo-5c2uttJk.js → vidstack-vimeo-CwFB8n3j.js} +4 -4
  21. package/dist/{vidstack-youtube-B-AELVQR.js → vidstack-youtube-LnU8iAWB.js} +3 -3
  22. package/dist/{wt-action-bar-BNmBgARo.js → wt-action-bar-CAUwQ-CN.js} +1 -1
  23. package/dist/{wt-button-select-C2CjXkpL.js → wt-button-select-NmqrUMmT.js} +1 -1
  24. package/dist/{wt-call-media-action-CjG_tL-k.js → wt-call-media-action-C2biFUCi.js} +1 -1
  25. package/dist/{wt-chat-emoji-T-xI5PI0.js → wt-chat-emoji-G7W4o8aF.js} +2 -2
  26. package/dist/{wt-confirm-dialog-B_zetCWp.js → wt-confirm-dialog-BaIdNkOk.js} +1 -1
  27. package/dist/{wt-context-menu-ky-uMZ1-.js → wt-context-menu-BO0HssSf.js} +1 -1
  28. package/dist/{wt-copy-action-C8vNcw8q.js → wt-copy-action-c8uhf4eo.js} +1 -1
  29. package/dist/{wt-datepicker-BHOEBeW0.js → wt-datepicker-FLxT3c5r.js} +1 -1
  30. package/dist/{wt-display-chip-items-Cra60yCN.js → wt-display-chip-items-BpQweJWj.js} +1 -1
  31. package/dist/{wt-dual-panel-prIHoroh.js → wt-dual-panel-ORsyw0wt.js} +1 -1
  32. package/dist/{wt-dummy-f6SNJubN.js → wt-dummy-ClQKPnOX.js} +1 -1
  33. package/dist/{wt-error-page-Cen2rI3S.js → wt-error-page-CP3Eb2Ze.js} +1 -1
  34. package/dist/{wt-expansion-card-CBfq9SeM.js → wt-expansion-card-DUcAJzLW.js} +1 -1
  35. package/dist/{wt-expansion-panel-mSkCV-Bf.js → wt-expansion-panel-RGcKbweA.js} +1 -1
  36. package/dist/{wt-filters-panel-wrapper-DoTuK-7E.js → wt-filters-panel-wrapper-t20QKufp.js} +1 -1
  37. package/dist/{wt-galleria-SUAuJaJi.js → wt-galleria-DSR7VvEr.js} +1 -1
  38. package/dist/{wt-inline-add-panel-DVx2SBXY.js → wt-inline-add-panel-DSJTghWj.js} +1 -1
  39. package/dist/{wt-navigation-menu-CC_nClkF.js → wt-navigation-menu-DGT2Id2u.js} +1 -1
  40. package/dist/{wt-notifications-bar-yvx84URU.js → wt-notifications-bar-CYZ0EdvC.js} +2 -2
  41. package/dist/{wt-pagination-BNBAaYSc.js → wt-pagination-DZW-f2jt.js} +1 -1
  42. package/dist/wt-player-Bf5oXO4f.js +267 -0
  43. package/dist/wt-popover-BIpMrvmo.js +4 -0
  44. package/dist/{wt-popover-U7JE0uoX.js → wt-popover.vue_vue_type_style_index_0_lang-BxD5Zt_u.js} +1 -1
  45. package/dist/{wt-screen-recordings-action-CWxUqvy8.js → wt-screen-recordings-action-BJ1QZRpU.js} +1 -1
  46. package/dist/{wt-search-bar-CyGDHAHW.js → wt-search-bar-Bb_YHcUP.js} +1 -1
  47. package/dist/{wt-selection-popup-Bnunc1zw.js → wt-selection-popup-DXZdiQDh.js} +1 -1
  48. package/dist/{wt-send-message-popup-DUi2a0oC.js → wt-send-message-popup-DvNl_0Jx.js} +3 -3
  49. package/dist/{wt-start-page-Dc7SJ046.js → wt-start-page-FiEKb7n5.js} +8 -8
  50. package/dist/{wt-status-select-FdVixKcb.js → wt-status-select-B_fDSp8a.js} +1 -1
  51. package/dist/{wt-stepper-DfkBGYPA.js → wt-stepper-Dbq_S7k5.js} +1 -1
  52. package/dist/{wt-table-actions-7O5nvYa6.js → wt-table-actions-wxzzEC0B.js} +1 -1
  53. package/dist/{wt-table-column-select-Bx6xnTPb.js → wt-table-column-select-CrNmO1uD.js} +2 -2
  54. package/dist/{wt-table-BeHUeZQz.js → wt-table-gQ9RbWpz.js} +10 -10
  55. package/dist/{wt-tabs-DvjqNhtm.js → wt-tabs--A679Va_.js} +1 -1
  56. package/dist/{wt-tags-input-J1MeEqwd.js → wt-tags-input-BrwgY8Kt.js} +4 -4
  57. package/dist/{wt-timepicker-DO4l9JZy.js → wt-timepicker-DH7UCuNW.js} +1 -1
  58. package/dist/{wt-tree-CRqxdWqd.js → wt-tree-DS96366z.js} +2 -2
  59. package/dist/{wt-tree-table-BGTRl-0w.js → wt-tree-table-COuGP-Hf.js} +16 -16
  60. package/dist/{wt-type-extension-value-input-BylVxdpz.js → wt-type-extension-value-input-CoC9qSmV.js} +3 -3
  61. package/dist/{wt-vidstack-player-6rScqMhF.js → wt-vidstack-player-CguVTRe8.js} +10 -10
  62. package/package.json +1 -1
  63. package/src/assets/icons/sprite/index.ts +10 -0
  64. package/src/assets/icons/sprite/playback-0.50.svg +5 -0
  65. package/src/assets/icons/sprite/playback-0.75.svg +6 -0
  66. package/src/assets/icons/sprite/playback-1.00.svg +3 -0
  67. package/src/assets/icons/sprite/playback-1.50.svg +5 -0
  68. package/src/assets/icons/sprite/playback-1.75.svg +6 -0
  69. package/src/components/_shared/settings-panel/settings-panel.vue +71 -0
  70. package/src/components/wt-button/wt-button.vue +4 -4
  71. package/src/components/wt-player/src/components/buttons/play-button.vue +1 -1
  72. package/src/components/wt-player/src/components/speed-settings/speed-settings.vue +163 -0
  73. package/src/components/wt-player/wt-player.vue +48 -5
  74. package/src/components/wt-popover/wt-popover.vue +6 -0
  75. package/src/locale/es/es.js +9 -9
  76. package/src/locale/kz/kz.js +9 -9
  77. package/src/locale/pl/pl.js +9 -9
  78. package/src/locale/ro/ro.js +9 -9
  79. package/src/locale/ru/ru.js +9 -9
  80. package/src/locale/uk/uk.js +9 -9
  81. package/src/locale/uz/uz.js +9 -9
  82. package/src/locale/vi/vi.js +9 -9
  83. package/types/components/_shared/settings-panel/settings-panel.vue.d.ts +15 -0
  84. package/types/components/wt-player/src/components/speed-settings/speed-settings.vue.d.ts +12 -0
  85. package/types/components/wt-player/wt-player.vue.d.ts +7 -0
  86. package/types/locale/es/es.d.ts +9 -9
  87. package/types/locale/i18n.d.ts +72 -72
  88. package/types/locale/index.d.ts +72 -72
  89. package/types/locale/kz/kz.d.ts +9 -9
  90. package/types/locale/pl/pl.d.ts +9 -9
  91. package/types/locale/ro/ro.d.ts +9 -9
  92. package/types/locale/ru/ru.d.ts +9 -9
  93. package/types/locale/uk/uk.d.ts +9 -9
  94. package/types/locale/uz/uz.d.ts +9 -9
  95. package/types/locale/vi/vi.d.ts +9 -9
  96. package/dist/wt-player-BSqOMJ4Q.js +0 -132
@@ -0,0 +1,71 @@
1
+ <template>
2
+ <wt-popover class="settings-panel">
3
+ <template #activator="{ toggle }">
4
+ <media-button class="settings-panel__button" @click="toggle">
5
+ <wt-icon-btn
6
+ icon="plyr-settings"
7
+ :size="ComponentSize.SM"
8
+ />
9
+ </media-button>
10
+ </template>
11
+
12
+ <speed-settings
13
+ :model-value="modelValue.playbackRate"
14
+ @update:model-value="handlePlaybackRateUpdate"
15
+ />
16
+ </wt-popover>
17
+ </template>
18
+
19
+ <script setup lang="ts">
20
+ import { ComponentSize } from '../../../enums';
21
+ import WtPopover from '../../wt-popover/wt-popover.vue';
22
+ import SpeedSettings from './components/speed-settings/speed-settings.vue';
23
+
24
+ export interface MediaSettings {
25
+ playbackRate: number;
26
+ }
27
+
28
+ interface Props {
29
+ modelValue: MediaSettings;
30
+ }
31
+
32
+ const props = withDefaults(defineProps<Props>(), {
33
+ modelValue: () => ({
34
+ playbackRate: 1,
35
+ }),
36
+ });
37
+
38
+ const emit = defineEmits<{
39
+ 'update:modelValue': [
40
+ value: MediaSettings,
41
+ ];
42
+ }>();
43
+
44
+ function handlePlaybackRateUpdate(playbackRate: number) {
45
+ emit('update:modelValue', {
46
+ ...props.modelValue,
47
+ playbackRate,
48
+ });
49
+ }
50
+ </script>
51
+
52
+ <style scoped>
53
+ .settings-panel {
54
+ display: flex;
55
+ }
56
+
57
+ /*
58
+ * @author @Oleksandr Palonnyi
59
+ *
60
+ * [WTEL-9163](https://webitel.atlassian.net/browse/WTEL-9163)
61
+ *
62
+ * comment link - https://webitel.atlassian.net/browse/WTEL-9163?focusedCommentId=759364
63
+ */
64
+ .settings-panel__button {
65
+ display: flex;
66
+ align-items: center;
67
+ cursor: pointer;
68
+ margin: 0 calc(var(--spacing-2xs) * -1);
69
+ padding: 0 var(--spacing-2xs);
70
+ }
71
+ </style>
@@ -42,7 +42,7 @@
42
42
 
43
43
  <wt-icon
44
44
  v-if="icon"
45
- :class="{ 'wt-button__icon--hidden': showLoader }"
45
+ :class="{ 'wt-button__icon--hidden': showLoader }"
46
46
  :icon="icon"
47
47
  :icon-prefix="iconPrefix"
48
48
  :size="iconButtonSizeMap[size]"
@@ -166,7 +166,7 @@ watch(
166
166
 
167
167
  <style>
168
168
  .wt-button {
169
- position: relative;
169
+ position: relative;
170
170
  }
171
171
 
172
172
  .p-button--with-badge {
@@ -177,9 +177,9 @@ watch(
177
177
  display: contents;
178
178
  }
179
179
 
180
- /*
180
+ /*
181
181
  @author HlukhovYe
182
- Hides the icon instantly when the loader is shown.
182
+ Hides the icon instantly when the loader is shown.
183
183
  */
184
184
  .wt-button__icon--hidden {
185
185
  opacity: 0;
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <media-play-button class="play-button">
3
- <wt-icon icon="plyr-play" type="play" class="play-icon" size="sm"/>
3
+ <wt-icon icon="plyr-play" type="play" class="play-icon" size="sm" />
4
4
  <wt-icon icon="plyr-pause" type="pause" class="pause-icon" size="sm" />
5
5
  </media-play-button>
6
6
  </template>
@@ -0,0 +1,163 @@
1
+ <template>
2
+ <div class="speed-settings">
3
+ <div class="speed-settings__controls">
4
+ <wt-button
5
+ :size="ComponentSize.SM"
6
+ :disabled="modelValue <= minSpeed"
7
+ class="speed-settings__step-button"
8
+ variant="outlined"
9
+ color="secondary"
10
+ @click="handleDecrease"
11
+ >
12
+ <template #default>
13
+ <wt-icon icon="minus" :size="ComponentSize.SM" />
14
+ </template>
15
+ </wt-button>
16
+
17
+ <span class="speed-settings__label">{{ formattedSpeed }}</span>
18
+
19
+ <wt-button
20
+ :size="ComponentSize.SM"
21
+ :disabled="modelValue >= maxSpeed"
22
+ class="speed-settings__step-button"
23
+ variant="outlined"
24
+ color="secondary"
25
+ @click="handleIncrease"
26
+ >
27
+ <template #default>
28
+ <wt-icon icon="plus" :size="ComponentSize.SM" />
29
+ </template>
30
+ </wt-button>
31
+ </div>
32
+
33
+ <wt-slider
34
+ class="speed-settings__slider"
35
+ :model-value="modelValue"
36
+ :min="minSpeed"
37
+ :max="maxSpeed"
38
+ :step="speedStep"
39
+ @update:model-value="$emit('update:modelValue', $event)"
40
+ />
41
+
42
+ <div class="speed-settings__presets">
43
+ <wt-button
44
+ v-for="speedPreset in speedPresets"
45
+ :key="speedPreset.speed"
46
+ :size="ComponentSize.SM"
47
+ variant="outlined"
48
+ class="speed-settings__preset-button"
49
+ color="secondary"
50
+ @click="$emit('update:modelValue', speedPreset.speed)"
51
+ >
52
+ <template #default>
53
+ <wt-icon :icon="speedPreset.icon" :size="ComponentSize.SM" />
54
+ </template>
55
+ </wt-button>
56
+ </div>
57
+ </div>
58
+ </template>
59
+
60
+ <script setup lang="ts">
61
+ import { computed } from 'vue';
62
+
63
+ import { ComponentSize } from '../../../../../enums';
64
+ import WtButton from '../../../../wt-button/wt-button.vue';
65
+ import WtIcon from '../../../../wt-icon/wt-icon.vue';
66
+ import WtSlider from '../../../../wt-slider/wt-slider.vue';
67
+
68
+ interface Props {
69
+ modelValue?: number;
70
+ }
71
+
72
+ const props = withDefaults(defineProps<Props>(), {
73
+ modelValue: 1,
74
+ });
75
+
76
+ const emit = defineEmits<{
77
+ 'update:modelValue': [
78
+ value: number,
79
+ ];
80
+ }>();
81
+
82
+ const minSpeed = 0.25;
83
+ const maxSpeed = 3;
84
+ const speedStep = 0.25;
85
+ const speedPresets = [
86
+ {
87
+ speed: 0.5,
88
+ icon: 'playback-0.50',
89
+ },
90
+ {
91
+ speed: 0.75,
92
+ icon: 'playback-0.75',
93
+ },
94
+ {
95
+ speed: 1,
96
+ icon: 'playback-1.00',
97
+ },
98
+ {
99
+ speed: 1.5,
100
+ icon: 'playback-1.50',
101
+ },
102
+ {
103
+ speed: 1.75,
104
+ icon: 'playback-1.75',
105
+ },
106
+ ];
107
+
108
+ const formattedSpeed = computed(() => `${props.modelValue.toFixed(2)}x`);
109
+
110
+ function handleDecrease() {
111
+ const decreasedSpeed = parseFloat((props.modelValue - speedStep).toFixed(2));
112
+ const clampedSpeed = Math.max(minSpeed, decreasedSpeed);
113
+ emit('update:modelValue', clampedSpeed);
114
+ }
115
+
116
+ function handleIncrease() {
117
+ const increasedSpeed = parseFloat((props.modelValue + speedStep).toFixed(2));
118
+ const clampedSpeed = Math.min(maxSpeed, increasedSpeed);
119
+ emit('update:modelValue', clampedSpeed);
120
+ }
121
+ </script>
122
+
123
+ <style scoped>
124
+ .speed-settings {
125
+ display: flex;
126
+ flex-direction: column;
127
+ gap: var(--spacing-sm);
128
+ min-width: 192px;
129
+ }
130
+ .speed-settings__step-button {
131
+ min-width: 0;
132
+ padding: var(--spacing-xs);
133
+ }
134
+
135
+ .speed-settings__controls {
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: space-between;
139
+ gap: var(--spacing-sm);
140
+ }
141
+
142
+ .speed-settings__label {
143
+ font-weight: 600;
144
+ font-size: var(--font-size-lg, 1rem);
145
+ text-align: center;
146
+ flex: 1;
147
+ }
148
+
149
+ .speed-settings__slider {
150
+ width: 100%;
151
+ }
152
+
153
+ .speed-settings__presets {
154
+ display: flex;
155
+ justify-content: space-between;
156
+ gap: var(--spacing-xs);
157
+ }
158
+
159
+ .speed-settings__preset-button {
160
+ min-width: 0;
161
+ padding: var(--spacing-xs);
162
+ }
163
+ </style>
@@ -5,6 +5,7 @@
5
5
  :src="normalizedSrcObject"
6
6
  :loop="props.loop"
7
7
  :autoplay="autoplay"
8
+ :playback-rate="playbackRate"
8
9
  @ended="handleEnded"
9
10
  >
10
11
 
@@ -18,6 +19,21 @@
18
19
  <mute-button v-if="!props.hideMuteButton" />
19
20
  <volume-slider v-if="!props.hideVolumeSlider" />
20
21
 
22
+ <wt-popover v-if="!props.hideSettings" class="settings-popover">
23
+ <template #activator="{ toggle }">
24
+ <media-button class="settings-button" @click="toggle">
25
+ <wt-icon-btn
26
+ icon="plyr-settings"
27
+ :size="ComponentSize.SM"
28
+ />
29
+ </media-button>
30
+ </template>
31
+
32
+ <speed-settings
33
+ v-model:model-value="playbackRate"
34
+ />
35
+ </wt-popover>
36
+
21
37
  <media-button
22
38
  v-if="props.download"
23
39
  class="download-button"
@@ -25,7 +41,7 @@
25
41
  >
26
42
  <wt-icon-btn
27
43
  icon="plyr-download"
28
- size="sm"
44
+ :size="ComponentSize.SM"
29
45
  />
30
46
  </media-button>
31
47
 
@@ -36,7 +52,7 @@
36
52
  >
37
53
  <wt-icon-btn
38
54
  icon="close"
39
- size="sm"
55
+ :size="ComponentSize.SM"
40
56
  />
41
57
  </media-button>
42
58
 
@@ -50,14 +66,16 @@
50
66
  >
51
67
  import 'vidstack/bundle';
52
68
  import type { MediaSrc } from 'vidstack';
53
- import { computed, toRefs } from 'vue';
54
-
69
+ import { ref, toRefs, watch } from 'vue';
70
+ import { ComponentSize } from '../../enums';
71
+ import WtPopover from '../wt-popover/wt-popover.vue';
55
72
  import TimeGroup from '../wt-vidstack-player/components/panels/playback-controls-panel/components/time-group.vue';
56
73
  import { useVidstackSrc } from '../wt-vidstack-player/composables/useVidstackSrc';
57
74
  import MuteButton from './src/components/buttons/mute-button.vue';
58
75
  import PlayButton from './src/components/buttons/play-button.vue';
59
76
  import TimeSlider from './src/components/sliders/time-slider.vue';
60
77
  import VolumeSlider from './src/components/sliders/volume-slider.vue';
78
+ import SpeedSettings from './src/components/speed-settings/speed-settings.vue';
61
79
 
62
80
  interface Props {
63
81
  /**
@@ -117,6 +135,12 @@ interface Props {
117
135
  * @default false
118
136
  */
119
137
  hideMuteButton?: boolean;
138
+ /**
139
+ * Hide settings button
140
+ * @type {boolean}
141
+ * @default false
142
+ */
143
+ hideSettings?: boolean;
120
144
  /**
121
145
  * Shows close button
122
146
  * @type {boolean}
@@ -141,6 +165,7 @@ const props = withDefaults(defineProps<Props>(), {
141
165
  invertTime: true,
142
166
  hideVolumeSlider: false,
143
167
  hideMuteButton: false,
168
+ hideSettings: false,
144
169
  resetVolume: false,
145
170
  closable: true,
146
171
  position: 'sticky',
@@ -151,6 +176,8 @@ const emit = defineEmits<{
151
176
  close: [];
152
177
  }>();
153
178
 
179
+ const playbackRate = ref(1);
180
+
154
181
  const { src: srcRef } = toRefs(props);
155
182
 
156
183
  const { normalizedSrcObject } = useVidstackSrc({
@@ -183,6 +210,17 @@ function handleEnded(event: Event) {
183
210
  const player = event.target as HTMLMediaElement;
184
211
  player.currentTime = 0;
185
212
  }
213
+
214
+ function resetPlayerSettings() {
215
+ playerSettings.value.playbackRate = 1;
216
+ }
217
+
218
+ watch(
219
+ () => props.src,
220
+ () => {
221
+ resetPlayerSettings();
222
+ },
223
+ );
186
224
  </script>
187
225
 
188
226
  <style scoped>
@@ -204,8 +242,13 @@ function handleEnded(event: Event) {
204
242
  gap: var(--spacing-sm);
205
243
  }
206
244
 
245
+ .settings-popover {
246
+ display: flex;
247
+ }
248
+
207
249
  .close-button,
208
- .download-button {
250
+ .download-button,
251
+ .settings-button {
209
252
  display: flex;
210
253
  align-items: center;
211
254
  cursor: pointer;
@@ -71,3 +71,9 @@ defineExpose({
71
71
  hide,
72
72
  });
73
73
  </script>
74
+
75
+ <style>
76
+ .p-popover {
77
+ box-shadow: var(--elevation-5);
78
+ }
79
+ </style>
@@ -255,15 +255,15 @@ export default {
255
255
  [WebitelMediaExporterExportStatus.Failed]: 'Error',
256
256
  },
257
257
  },
258
- },
259
- importCSV: 'Importar CSV',
260
- CSV: {
261
- skipHeaders: 'Omitir encabezados',
262
- charSet: 'Conjunto de caracteres',
263
- separator: 'Separador',
264
- CSVColumn: 'Columna CSV',
265
- fieldName: 'Nombre del campo',
266
- clearMember: 'Eliminar miembro',
258
+ importCSV: 'Importar CSV',
259
+ CSV: {
260
+ skipHeaders: 'Omitir encabezados',
261
+ charSet: 'Conjunto de caracteres',
262
+ separator: 'Separador',
263
+ CSVColumn: 'Columna CSV',
264
+ fieldName: 'Nombre del campo',
265
+ clearMember: 'Eliminar miembro',
266
+ },
267
267
  },
268
268
  channel: {
269
269
  state: {
@@ -260,15 +260,15 @@ export default {
260
260
  [WebitelMediaExporterExportStatus.Failed]: 'Қате',
261
261
  },
262
262
  },
263
- },
264
- importCSV: 'CSV импорттау',
265
- CSV: {
266
- skipHeaders: 'Тақырыптарды өткізіп жіберу',
267
- charSet: 'Таңбалар жиыны',
268
- separator: 'Бөлгіш',
269
- CSVColumn: 'CSV бағаны',
270
- fieldName: 'Өріс атауы',
271
- clearMember: 'Мүшені тазалау',
263
+ importCSV: 'CSV импорттау',
264
+ CSV: {
265
+ skipHeaders: 'Тақырыптарды өткізіп жіберу',
266
+ charSet: 'Таңбалар жиыны',
267
+ separator: 'Бөлгіш',
268
+ CSVColumn: 'CSV бағаны',
269
+ fieldName: 'Өріс атауы',
270
+ clearMember: 'Мүшені тазалау',
271
+ },
272
272
  },
273
273
  channel: {
274
274
  state: {
@@ -260,15 +260,15 @@ export default {
260
260
  [WebitelMediaExporterExportStatus.Failed]: 'Błąd',
261
261
  },
262
262
  },
263
- },
264
- importCSV: 'Importuj CSV',
265
- CSV: {
266
- skipHeaders: 'Pomiń nagłówki',
267
- charSet: 'Zestaw znaków',
268
- separator: 'Separator',
269
- CSVColumn: 'Kolumna CSV',
270
- fieldName: 'Nazwa pola',
271
- clearMember: 'Wyczyść członka',
263
+ importCSV: 'Importuj CSV',
264
+ CSV: {
265
+ skipHeaders: 'Pomiń nagłówki',
266
+ charSet: 'Zestaw znaków',
267
+ separator: 'Separator',
268
+ CSVColumn: 'Kolumna CSV',
269
+ fieldName: 'Nazwa pola',
270
+ clearMember: 'Wyczyść członka',
271
+ },
272
272
  },
273
273
  channel: {
274
274
  state: {
@@ -260,15 +260,15 @@ export default {
260
260
  [WebitelMediaExporterExportStatus.Failed]: 'Eroare',
261
261
  },
262
262
  },
263
- },
264
- importCSV: 'Importă CSV',
265
- CSV: {
266
- skipHeaders: 'Omite anteturile',
267
- charSet: 'Set de caractere',
268
- separator: 'Separator',
269
- CSVColumn: 'Coloană CSV',
270
- fieldName: 'Nume câmp',
271
- clearMember: 'Șterge membrul',
263
+ importCSV: 'Importă CSV',
264
+ CSV: {
265
+ skipHeaders: 'Omite anteturile',
266
+ charSet: 'Set de caractere',
267
+ separator: 'Separator',
268
+ CSVColumn: 'Coloană CSV',
269
+ fieldName: 'Nume câmp',
270
+ clearMember: 'Șterge membrul',
271
+ },
272
272
  },
273
273
  channel: {
274
274
  state: {
@@ -256,15 +256,15 @@ export default {
256
256
  [WebitelMediaExporterExportStatus.Failed]: 'Ошибка',
257
257
  },
258
258
  },
259
- },
260
- importCSV: 'Импорт CSV',
261
- CSV: {
262
- skipHeaders: 'Пропустить заголовки',
263
- charSet: 'Кодировка',
264
- separator: 'Разделитель',
265
- CSVColumn: 'Столбец CSV',
266
- fieldName: 'Имя поля',
267
- clearMember: 'Очистить участника',
259
+ importCSV: 'Импорт CSV',
260
+ CSV: {
261
+ skipHeaders: 'Пропустить заголовки',
262
+ charSet: 'Кодировка',
263
+ separator: 'Разделитель',
264
+ CSVColumn: 'Столбец CSV',
265
+ fieldName: 'Имя поля',
266
+ clearMember: 'Очистить участника',
267
+ },
268
268
  },
269
269
  channel: {
270
270
  state: {
@@ -255,15 +255,15 @@ export default {
255
255
  [WebitelMediaExporterExportStatus.Failed]: 'Помилка',
256
256
  },
257
257
  },
258
- },
259
- importCSV: 'Імпорт CSV',
260
- CSV: {
261
- skipHeaders: 'Пропустити заголовки',
262
- charSet: 'Кодування',
263
- separator: 'Розділювач',
264
- CSVColumn: 'Стовпець CSV',
265
- fieldName: 'Назва поля',
266
- clearMember: 'Очистити учасника',
258
+ importCSV: 'Імпорт CSV',
259
+ CSV: {
260
+ skipHeaders: 'Пропустити заголовки',
261
+ charSet: 'Кодування',
262
+ separator: 'Розділювач',
263
+ CSVColumn: 'Стовпець CSV',
264
+ fieldName: 'Назва поля',
265
+ clearMember: 'Очистити учасника',
266
+ },
267
267
  },
268
268
  channel: {
269
269
  state: {
@@ -261,15 +261,15 @@ export default {
261
261
  [WebitelMediaExporterExportStatus.Failed]: 'Xatolik',
262
262
  },
263
263
  },
264
- },
265
- importCSV: 'CSV import qilish',
266
- CSV: {
267
- skipHeaders: 'Sarlavhalarni otkazib yuborish',
268
- charSet: 'Belgilar to‘plami',
269
- separator: 'Ajratgich',
270
- CSVColumn: 'CSV ustuni',
271
- fieldName: 'Maydon nomi',
272
- clearMember: 'A’zoni tozalash',
264
+ importCSV: 'CSV import qilish',
265
+ CSV: {
266
+ skipHeaders: 'Sarlavhalarni o‘tkazib yuborish',
267
+ charSet: 'Belgilar toplami',
268
+ separator: 'Ajratgich',
269
+ CSVColumn: 'CSV ustuni',
270
+ fieldName: 'Maydon nomi',
271
+ clearMember: 'A’zoni tozalash',
272
+ },
273
273
  },
274
274
  channel: {
275
275
  state: {
@@ -260,15 +260,15 @@ export default {
260
260
  [WebitelMediaExporterExportStatus.Failed]: 'Lỗi',
261
261
  },
262
262
  },
263
- },
264
- importCSV: 'Nhập CSV',
265
- CSV: {
266
- skipHeaders: 'Bỏ qua tiêu đề',
267
- charSet: 'Bộ tự',
268
- separator: 'Dấu phân cách',
269
- CSVColumn: 'Cột CSV',
270
- fieldName: 'Tên trường',
271
- clearMember: 'Xóa thành viên',
263
+ importCSV: 'Nhập CSV',
264
+ CSV: {
265
+ skipHeaders: 'Bỏ qua tiêu đề',
266
+ charSet: 'Bộ tự',
267
+ separator: 'Dấu phân cách',
268
+ CSVColumn: 'Cột CSV',
269
+ fieldName: 'Tên trường',
270
+ clearMember: 'Xóa thành viên',
271
+ },
272
272
  },
273
273
  channel: {
274
274
  state: {
@@ -0,0 +1,15 @@
1
+ export interface MediaSettings {
2
+ playbackRate: number;
3
+ }
4
+ interface Props {
5
+ modelValue: MediaSettings;
6
+ }
7
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "update:modelValue": (value: MediaSettings) => any;
9
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
10
+ "onUpdate:modelValue"?: (value: MediaSettings) => any;
11
+ }>, {
12
+ modelValue: MediaSettings;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
@@ -0,0 +1,12 @@
1
+ interface Props {
2
+ modelValue?: number;
3
+ }
4
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
+ "update:modelValue": (value: number) => any;
6
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
7
+ "onUpdate:modelValue"?: (value: number) => any;
8
+ }>, {
9
+ modelValue: number;
10
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
@@ -58,6 +58,12 @@ interface Props {
58
58
  * @default false
59
59
  */
60
60
  hideMuteButton?: boolean;
61
+ /**
62
+ * Hide settings button
63
+ * @type {boolean}
64
+ * @default false
65
+ */
66
+ hideSettings?: boolean;
61
67
  /**
62
68
  * Shows close button
63
69
  * @type {boolean}
@@ -87,6 +93,7 @@ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {},
87
93
  resetOnEnd: boolean;
88
94
  hideVolumeSlider: boolean;
89
95
  hideMuteButton: boolean;
96
+ hideSettings: boolean;
90
97
  position: string;
91
98
  invertTime: boolean;
92
99
  resetVolume: boolean;