@douyinfe/semi-foundation 2.79.0 → 2.80.0-alpha.2
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/cascader/foundation.ts +2 -2
- package/lib/cjs/cascader/foundation.js +1 -1
- package/lib/cjs/tooltip/foundation.js +4 -1
- package/lib/cjs/tree/treeUtil.d.ts +1 -1
- package/lib/cjs/videoPlayer/animation.scss +7 -0
- package/lib/cjs/videoPlayer/constants.d.ts +30 -0
- package/lib/cjs/videoPlayer/constants.js +48 -0
- package/lib/cjs/videoPlayer/foundation.d.ts +75 -0
- package/lib/cjs/videoPlayer/foundation.js +291 -0
- package/lib/cjs/videoPlayer/progressFoundation.d.ts +38 -0
- package/lib/cjs/videoPlayer/progressFoundation.js +131 -0
- package/lib/cjs/videoPlayer/variables.scss +75 -0
- package/lib/cjs/videoPlayer/videoPlayer.css +279 -0
- package/lib/cjs/videoPlayer/videoPlayer.scss +323 -0
- package/lib/es/cascader/foundation.js +1 -1
- package/lib/es/tooltip/foundation.js +4 -1
- package/lib/es/tree/treeUtil.d.ts +1 -1
- package/lib/es/videoPlayer/animation.scss +7 -0
- package/lib/es/videoPlayer/constants.d.ts +30 -0
- package/lib/es/videoPlayer/constants.js +43 -0
- package/lib/es/videoPlayer/foundation.d.ts +75 -0
- package/lib/es/videoPlayer/foundation.js +283 -0
- package/lib/es/videoPlayer/progressFoundation.d.ts +38 -0
- package/lib/es/videoPlayer/progressFoundation.js +123 -0
- package/lib/es/videoPlayer/variables.scss +75 -0
- package/lib/es/videoPlayer/videoPlayer.css +279 -0
- package/lib/es/videoPlayer/videoPlayer.scss +323 -0
- package/package.json +4 -4
- package/tooltip/foundation.ts +4 -1
- package/videoPlayer/animation.scss +7 -0
- package/videoPlayer/constants.ts +39 -0
- package/videoPlayer/foundation.ts +332 -0
- package/videoPlayer/progressFoundation.ts +136 -0
- package/videoPlayer/variables.scss +75 -0
- package/videoPlayer/videoPlayer.scss +323 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// Color
|
|
2
|
+
$color-videoPlayer_theme_dark-text: var(--semi-color-bg-0); // dark theme 字体色
|
|
3
|
+
$color-videoPlayer_theme_dark-bg: rgba(var(--semi-grey-8), 1); // dark theme 背景色
|
|
4
|
+
$color-videoPlayer_theme_light-text: rgba(var(--semi-grey-8), 1); // light theme 字体色
|
|
5
|
+
$color-videoPlayer_theme_light-bg: var(--semi-color-disabled-bg); // light theme 背景色
|
|
6
|
+
$color-videoPlayer_pause-bg: var(--semi-color-text-1); // 暂停按钮颜色
|
|
7
|
+
$color-videoPlayer_notification-bg: var(--semi-color-overlay-bg); // notification 背景色
|
|
8
|
+
$color-videoPlayer_notification-text: var(--semi-color-default); // notification 字体色
|
|
9
|
+
$color-videoPlayer_controls-bg: rgba(28, 31, 35, 0.8); // 控制栏背景色
|
|
10
|
+
$color-videoPlayer_controls_item-bg: var(--semi-color-overlay-bg); // 控制栏 item 背景色
|
|
11
|
+
$color-videoPlayer_controls-text: #fff; // 控制栏文字色
|
|
12
|
+
$color-videoPlayer_controls_item_popup-bg-default: var(--semi-color-overlay-bg); // 控制栏弹层背景色
|
|
13
|
+
$color-videoPlayer_controls_item_popup-bg-hover: rgba(67, 68, 74, 1); // 控制栏弹层背景色 - hover
|
|
14
|
+
$color-videoPlayer_controls_popup_item-text-default: rgba(#fff, 0.7); // 控制栏文字色
|
|
15
|
+
$color-videoPlayer_controls_popup_item-text-active: var(--semi-color-primary); // 控制栏弹层文字色 - 选中
|
|
16
|
+
$color-videoPlayer_progress_bar-bg-played: var(--semi-color-primary); // 进度条已播放部分背景色
|
|
17
|
+
$color-videoPlayer_progress_bar-bg-loaded: rgba(var(--semi-grey-3), 1); // 进度条已加载部分背景色
|
|
18
|
+
$color-videoPlayer_progress_bar-bg-unplayed: rgba(var(--semi-grey-5), 1); // 进度条未播放部分背景色
|
|
19
|
+
$color-videoPlayer_progress_bar_handle-bg: #fff; // handle 背景色
|
|
20
|
+
$color-videoPlayer_progress_bar_handle-border: var(--semi-color-primary); // handle 边框色
|
|
21
|
+
$color-videoPlayer_progress_bar_handle-shadow: var(--semi-color-shadow); // handle 阴影色
|
|
22
|
+
|
|
23
|
+
// Width/Height
|
|
24
|
+
$height-videoPlayer_progress_bar_hotSpot-default: 20px; // 进度条热区 default 高度
|
|
25
|
+
$height-videoPlayer_progress_bar-default: 4px; // 进度条 default 高度
|
|
26
|
+
$height-videoPlayer_progress_bar-hover: 10px; // 进度条 hover 高度
|
|
27
|
+
$height-videoPlayer_progress_bar_handle: 16px; // 进度条 handle 高度
|
|
28
|
+
$height-videoPlayer_controls_menu-default: 56px; // 控制栏 default 高度
|
|
29
|
+
$height-videoPlayer_controls_volume-default: 160px; // 控制栏音量 default 高度
|
|
30
|
+
$height-videoPlayer_controls_popup-default: 24px; // 控制栏弹层类元素 default 高度
|
|
31
|
+
$height-videoPlayer_controls_popup_item-default: 32px; // 控制栏弹层类元素 item default 高度
|
|
32
|
+
$width-videoPlayer_controls_volume-default: 40px; // 控制栏音量 default 宽度
|
|
33
|
+
$width-videoPlayer_controls_popup_item-default: 50px; // 控制栏弹层类元素 default 宽度
|
|
34
|
+
$width-videoPlayer_controls_popup-default: 48px; // 控制栏弹层 default 宽度
|
|
35
|
+
|
|
36
|
+
// Spacing
|
|
37
|
+
$spacing-videoPlayer-progress_bar_chapter-marginRight: 2px; // 进度条分节间距
|
|
38
|
+
$spacing-videoPlayer_notification-bottom: 22px; // notification 距离菜单栏距离
|
|
39
|
+
$spacing-videoPlayer_notification-left: 8px; // notification 距离菜单栏左侧距离
|
|
40
|
+
$spacing-videoPlayer_notification_text-paddingY: 8px; // notification 文字垂直方向 padding
|
|
41
|
+
$spacing-videoPlayer_notification_text-paddingX: 12px; // notification 文字水平方向 padding
|
|
42
|
+
$spacing-videoPlayer-controls-padding: $spacing-base-tight $spacing-base; // 控制栏 padding
|
|
43
|
+
$spacing-videoPlayer-controls_item-gap: $spacing-tight; // 控制栏 item 间距
|
|
44
|
+
$spacing-videoPlayer-controls_time-paddingX: 8px; // 控制栏时间 paddingX
|
|
45
|
+
$spacing-videoPlayer-controls_volume_title-paddingX: 10px; // 控制栏音量标题文字 paddingX
|
|
46
|
+
$spacing-videoPlayer-controls_volume_title-paddingY: 0px; // 控制栏音量标题文字 paddingX
|
|
47
|
+
$spacing-videoPlayer-controls_volume_popup-paddingY: 0px; // 控制栏音量弹层 paddingX
|
|
48
|
+
$spacing-videoPlayer-controls_volume_popup-paddingX: $spacing-extra-tight; // 控制栏音量弹层 paddingX
|
|
49
|
+
$spacing-videoPlayer-controls_popup-paddingX: $spacing-tight; // 控制栏弹层元素 paddingX
|
|
50
|
+
$spacing-videoPlayer-controls_popup-paddingY: 0px; // 控制栏弹层元素 paddingY
|
|
51
|
+
$spacing-videoPlayer-progress_bar_wrapper-marginX: $spacing-tight; // 进度条 wrapper marginX
|
|
52
|
+
$spacing-videoPlayer-progress_bar_wrapper-marginY: 0px; // 进度条 wrapper marginY
|
|
53
|
+
$spacing-videoPlayer-progress_bar_tooltip-top: 6px; // 进度条 Tooltip top 值
|
|
54
|
+
$spacing-videoPlayer_progress_bar_handle-top: 15px; // 进度条 handle top 值
|
|
55
|
+
$spacing-videoPlayer_error_svg-marginBottom: 12px; // error svg marginBottom
|
|
56
|
+
|
|
57
|
+
// Radius
|
|
58
|
+
$radius-videoPlayer_notification: 3px; // notification 圆角
|
|
59
|
+
$radius-videoPlayer_progress_bar_handle: 50%; // 进度条 handle 圆角
|
|
60
|
+
$radius-videoPlayer_progress_bar: 999px; // 进度条圆角
|
|
61
|
+
$radius-videoPlayer_controls_item: 3px; // 控制栏 item 圆角
|
|
62
|
+
$radius-videoPlayer_controls_popup: 4px; // 控制栏弹层圆角
|
|
63
|
+
|
|
64
|
+
// Font
|
|
65
|
+
$font-videoPlayer_notification-fontSize: $font-size-regular; // notification 字体大小
|
|
66
|
+
$font-videoPlayer_controls_item-fontSize: $font-size-small; // 控制栏 item 字体大小
|
|
67
|
+
$font-videoPlayer_controls_time_text-fontSize: $font-size-regular; // 控制栏时间字体大小
|
|
68
|
+
$font-videoPlayer_error-fontSize: $font-size-regular; // error 字体大小
|
|
69
|
+
$font-videoPlayer_notification-lineHeight: 20px; // notification 行高
|
|
70
|
+
$font-videoPlayer_controls_popup_item-lineHeight: 16px; // 控制栏 item 行高
|
|
71
|
+
$font-videoPlayer_controls_popup_item-fontWeight: 600; // 控制栏 item 字体粗细
|
|
72
|
+
$font-videoPlayer_error-fontWeight: 600; // error 字体粗细
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/* shadow */
|
|
2
|
+
/* sizing */
|
|
3
|
+
/* spacing */
|
|
4
|
+
.semi-videoPlayer {
|
|
5
|
+
position: relative;
|
|
6
|
+
display: inline-block;
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 100%;
|
|
9
|
+
}
|
|
10
|
+
.semi-videoPlayer ::-webkit-media-controls {
|
|
11
|
+
display: none;
|
|
12
|
+
}
|
|
13
|
+
.semi-videoPlayer-wrapper {
|
|
14
|
+
width: 100%;
|
|
15
|
+
height: 100%;
|
|
16
|
+
position: relative;
|
|
17
|
+
line-height: 0;
|
|
18
|
+
}
|
|
19
|
+
.semi-videoPlayer-wrapper video {
|
|
20
|
+
width: 100%;
|
|
21
|
+
height: 100%;
|
|
22
|
+
object-fit: contain;
|
|
23
|
+
}
|
|
24
|
+
.semi-videoPlayer-wrapper-dark {
|
|
25
|
+
background-color: rgba(var(--semi-grey-8), 1);
|
|
26
|
+
color: var(--semi-color-bg-0);
|
|
27
|
+
}
|
|
28
|
+
.semi-videoPlayer-wrapper-light {
|
|
29
|
+
background-color: var(--semi-color-disabled-bg);
|
|
30
|
+
color: rgba(var(--semi-grey-8), 1);
|
|
31
|
+
}
|
|
32
|
+
.semi-videoPlayer-pause {
|
|
33
|
+
top: 0;
|
|
34
|
+
left: 0;
|
|
35
|
+
width: 100%;
|
|
36
|
+
height: 100%;
|
|
37
|
+
position: absolute;
|
|
38
|
+
display: flex;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
align-items: center;
|
|
41
|
+
pointer-events: none;
|
|
42
|
+
}
|
|
43
|
+
.semi-videoPlayer-pause svg {
|
|
44
|
+
font-size: 88px;
|
|
45
|
+
color: var(--semi-color-text-1);
|
|
46
|
+
pointer-events: none;
|
|
47
|
+
}
|
|
48
|
+
.semi-videoPlayer-error {
|
|
49
|
+
top: 0;
|
|
50
|
+
left: 0;
|
|
51
|
+
width: 100%;
|
|
52
|
+
height: 100%;
|
|
53
|
+
position: absolute;
|
|
54
|
+
display: flex;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
align-items: center;
|
|
57
|
+
flex-direction: column;
|
|
58
|
+
font-weight: 600;
|
|
59
|
+
font-size: 14px;
|
|
60
|
+
}
|
|
61
|
+
.semi-videoPlayer-error-svg {
|
|
62
|
+
margin-bottom: 12px;
|
|
63
|
+
}
|
|
64
|
+
.semi-videoPlayer-error-dark {
|
|
65
|
+
background-color: rgba(var(--semi-grey-8), 1);
|
|
66
|
+
color: var(--semi-color-bg-0);
|
|
67
|
+
}
|
|
68
|
+
.semi-videoPlayer-error-dark path {
|
|
69
|
+
fill: var(--semi-color-bg-0);
|
|
70
|
+
}
|
|
71
|
+
.semi-videoPlayer-error-light {
|
|
72
|
+
background-color: var(--semi-color-disabled-bg);
|
|
73
|
+
color: rgba(var(--semi-grey-8), 1);
|
|
74
|
+
}
|
|
75
|
+
.semi-videoPlayer-error-light path {
|
|
76
|
+
fill: rgba(var(--semi-grey-8), 1);
|
|
77
|
+
}
|
|
78
|
+
.semi-videoPlayer-poster {
|
|
79
|
+
position: absolute;
|
|
80
|
+
top: 0;
|
|
81
|
+
left: 0;
|
|
82
|
+
width: 100%;
|
|
83
|
+
height: 100%;
|
|
84
|
+
pointer-events: none;
|
|
85
|
+
}
|
|
86
|
+
.semi-videoPlayer-poster-hide {
|
|
87
|
+
opacity: 0;
|
|
88
|
+
}
|
|
89
|
+
.semi-videoPlayer-notification {
|
|
90
|
+
position: absolute;
|
|
91
|
+
bottom: 78px;
|
|
92
|
+
left: 8px;
|
|
93
|
+
text-align: center;
|
|
94
|
+
background-color: var(--semi-color-overlay-bg);
|
|
95
|
+
color: var(--semi-color-default);
|
|
96
|
+
padding: 8px 12px;
|
|
97
|
+
line-height: 20px;
|
|
98
|
+
border-radius: 3px;
|
|
99
|
+
font-size: 14px;
|
|
100
|
+
}
|
|
101
|
+
.semi-videoPlayer-mirror video {
|
|
102
|
+
transform: rotateX(0deg) rotateY(180deg);
|
|
103
|
+
}
|
|
104
|
+
.semi-videoPlayer-controls {
|
|
105
|
+
position: absolute;
|
|
106
|
+
bottom: 0;
|
|
107
|
+
left: 0;
|
|
108
|
+
right: 0;
|
|
109
|
+
height: fit-content;
|
|
110
|
+
opacity: 1;
|
|
111
|
+
transition: opacity 500ms ease-in-out;
|
|
112
|
+
z-index: 1;
|
|
113
|
+
}
|
|
114
|
+
.semi-videoPlayer-controls-hide {
|
|
115
|
+
opacity: 0;
|
|
116
|
+
}
|
|
117
|
+
.semi-videoPlayer-controls-menu {
|
|
118
|
+
display: flex;
|
|
119
|
+
justify-content: space-between;
|
|
120
|
+
align-items: center;
|
|
121
|
+
box-sizing: border-box;
|
|
122
|
+
height: 56px;
|
|
123
|
+
background-color: rgba(28, 31, 35, 0.8);
|
|
124
|
+
padding: 12px 16px;
|
|
125
|
+
}
|
|
126
|
+
.semi-videoPlayer-controls-menu-left, .semi-videoPlayer-controls-menu-right {
|
|
127
|
+
display: flex;
|
|
128
|
+
align-items: center;
|
|
129
|
+
}
|
|
130
|
+
.semi-videoPlayer-controls-menu-item {
|
|
131
|
+
margin-right: 8px;
|
|
132
|
+
}
|
|
133
|
+
.semi-videoPlayer-controls-menu-button svg {
|
|
134
|
+
color: #fff;
|
|
135
|
+
}
|
|
136
|
+
.semi-videoPlayer-controls-time {
|
|
137
|
+
color: #fff;
|
|
138
|
+
font-size: 14px;
|
|
139
|
+
margin-right: 8px;
|
|
140
|
+
padding: 0 8px;
|
|
141
|
+
font-variant-numeric: tabular-nums;
|
|
142
|
+
}
|
|
143
|
+
.semi-videoPlayer-controls-popover {
|
|
144
|
+
background-color: transparent;
|
|
145
|
+
}
|
|
146
|
+
.semi-videoPlayer-controls-volume {
|
|
147
|
+
box-sizing: border-box;
|
|
148
|
+
width: 40px;
|
|
149
|
+
height: 160px;
|
|
150
|
+
background-color: var(--semi-color-overlay-bg);
|
|
151
|
+
color: rgba(255, 255, 255, 0.7);
|
|
152
|
+
border-radius: 4px;
|
|
153
|
+
padding: 0px 4px;
|
|
154
|
+
line-height: 16px;
|
|
155
|
+
font-size: 12px;
|
|
156
|
+
user-select: none;
|
|
157
|
+
}
|
|
158
|
+
.semi-videoPlayer-controls-volume-title {
|
|
159
|
+
padding: 10px 0px;
|
|
160
|
+
text-align: center;
|
|
161
|
+
}
|
|
162
|
+
.semi-videoPlayer-controls-popup {
|
|
163
|
+
display: flex;
|
|
164
|
+
justify-content: center;
|
|
165
|
+
align-items: center;
|
|
166
|
+
width: 50px;
|
|
167
|
+
height: 24px;
|
|
168
|
+
background-color: var(--semi-color-overlay-bg);
|
|
169
|
+
color: #fff;
|
|
170
|
+
font-weight: 600;
|
|
171
|
+
font-size: 12px;
|
|
172
|
+
line-height: 16px;
|
|
173
|
+
border-radius: 3px;
|
|
174
|
+
cursor: pointer;
|
|
175
|
+
}
|
|
176
|
+
.semi-videoPlayer-controls-popup-menu {
|
|
177
|
+
width: 48px;
|
|
178
|
+
background-color: var(--semi-color-overlay-bg);
|
|
179
|
+
border-radius: 4px;
|
|
180
|
+
}
|
|
181
|
+
.semi-videoPlayer-controls-popup-menu-item {
|
|
182
|
+
display: flex;
|
|
183
|
+
justify-content: center;
|
|
184
|
+
align-items: center;
|
|
185
|
+
padding: 0px 8px;
|
|
186
|
+
height: 32px;
|
|
187
|
+
color: #fff;
|
|
188
|
+
font-size: 12px;
|
|
189
|
+
}
|
|
190
|
+
.semi-videoPlayer-controls-popup-menu-item:hover {
|
|
191
|
+
background-color: rgb(67, 68, 74) !important;
|
|
192
|
+
}
|
|
193
|
+
.semi-videoPlayer-controls-popup-menu .semi-dropdown-item-active {
|
|
194
|
+
color: var(--semi-color-primary);
|
|
195
|
+
font-weight: 600;
|
|
196
|
+
cursor: pointer;
|
|
197
|
+
}
|
|
198
|
+
.semi-videoPlayer-progress {
|
|
199
|
+
position: relative;
|
|
200
|
+
height: 20px;
|
|
201
|
+
display: flex;
|
|
202
|
+
align-items: center;
|
|
203
|
+
justify-content: center;
|
|
204
|
+
cursor: pointer;
|
|
205
|
+
margin: 0px 8px;
|
|
206
|
+
}
|
|
207
|
+
.semi-videoPlayer-progress-markers {
|
|
208
|
+
position: absolute;
|
|
209
|
+
width: 100%;
|
|
210
|
+
height: 100%;
|
|
211
|
+
}
|
|
212
|
+
.semi-videoPlayer-progress-tooltip {
|
|
213
|
+
top: 6px;
|
|
214
|
+
}
|
|
215
|
+
.semi-videoPlayer-progress-tooltip-content {
|
|
216
|
+
display: flex;
|
|
217
|
+
justify-content: center;
|
|
218
|
+
align-items: center;
|
|
219
|
+
}
|
|
220
|
+
.semi-videoPlayer-progress-slider {
|
|
221
|
+
position: absolute;
|
|
222
|
+
width: 100%;
|
|
223
|
+
height: 100%;
|
|
224
|
+
left: 0;
|
|
225
|
+
bottom: 0;
|
|
226
|
+
border-radius: 999px;
|
|
227
|
+
}
|
|
228
|
+
.semi-videoPlayer-progress-slider-active .semi-videoPlayer-progress-slider-list,
|
|
229
|
+
.semi-videoPlayer-progress-slider-active .semi-videoPlayer-progress-slider-played,
|
|
230
|
+
.semi-videoPlayer-progress-slider-active .semi-videoPlayer-progress-slider-buffered, .semi-videoPlayer-progress-slider:hover .semi-videoPlayer-progress-slider-list,
|
|
231
|
+
.semi-videoPlayer-progress-slider:hover .semi-videoPlayer-progress-slider-played,
|
|
232
|
+
.semi-videoPlayer-progress-slider:hover .semi-videoPlayer-progress-slider-buffered {
|
|
233
|
+
height: 10px;
|
|
234
|
+
transition: transform 300ms;
|
|
235
|
+
transition-timing-function: cubic-bezier(0.62, 0.05, 0.36, 0.95);
|
|
236
|
+
}
|
|
237
|
+
.semi-videoPlayer-progress-slider-list {
|
|
238
|
+
position: absolute;
|
|
239
|
+
bottom: 0;
|
|
240
|
+
left: 0;
|
|
241
|
+
background-color: rgba(var(--semi-grey-5), 1);
|
|
242
|
+
height: 4px;
|
|
243
|
+
width: calc(100% - 2px);
|
|
244
|
+
margin-right: 2px;
|
|
245
|
+
border-radius: 999px;
|
|
246
|
+
transition: transform 300ms;
|
|
247
|
+
transition-timing-function: cubic-bezier(0.62, 0.05, 0.36, 0.95);
|
|
248
|
+
}
|
|
249
|
+
.semi-videoPlayer-progress-slider-played {
|
|
250
|
+
position: absolute;
|
|
251
|
+
bottom: 0;
|
|
252
|
+
left: 0;
|
|
253
|
+
background-color: var(--semi-color-primary);
|
|
254
|
+
height: 4px;
|
|
255
|
+
border-radius: 999px;
|
|
256
|
+
transition: transform 300ms;
|
|
257
|
+
transition-timing-function: cubic-bezier(0.62, 0.05, 0.36, 0.95);
|
|
258
|
+
}
|
|
259
|
+
.semi-videoPlayer-progress-slider-buffered {
|
|
260
|
+
position: absolute;
|
|
261
|
+
bottom: 0;
|
|
262
|
+
left: 0;
|
|
263
|
+
background-color: rgba(var(--semi-grey-3), 1);
|
|
264
|
+
height: 4px;
|
|
265
|
+
border-radius: 999px;
|
|
266
|
+
transition: transform 300ms;
|
|
267
|
+
transition-timing-function: cubic-bezier(0.62, 0.05, 0.36, 0.95);
|
|
268
|
+
}
|
|
269
|
+
.semi-videoPlayer-progress-handle {
|
|
270
|
+
box-sizing: border-box;
|
|
271
|
+
position: absolute;
|
|
272
|
+
width: 16px;
|
|
273
|
+
height: 16px;
|
|
274
|
+
background-color: #fff;
|
|
275
|
+
border: 1px solid var(--semi-color-primary);
|
|
276
|
+
box-shadow: 0px 0px 4px 0px var(--semi-color-shadow);
|
|
277
|
+
border-radius: 50%;
|
|
278
|
+
top: 15px;
|
|
279
|
+
}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
@import './variables.scss';
|
|
2
|
+
@import './animation.scss';
|
|
3
|
+
|
|
4
|
+
$module: #{$prefix}-videoPlayer;
|
|
5
|
+
|
|
6
|
+
.#{$module} {
|
|
7
|
+
position: relative;
|
|
8
|
+
display: inline-block;
|
|
9
|
+
width: 100%;
|
|
10
|
+
height: 100%;
|
|
11
|
+
|
|
12
|
+
// Hide native controls
|
|
13
|
+
::-webkit-media-controls {
|
|
14
|
+
display: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&-wrapper {
|
|
18
|
+
width: 100%;
|
|
19
|
+
height: 100%;
|
|
20
|
+
position: relative;
|
|
21
|
+
line-height: 0;
|
|
22
|
+
|
|
23
|
+
video {
|
|
24
|
+
width: 100%;
|
|
25
|
+
height: 100%;
|
|
26
|
+
object-fit: contain;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&-dark {
|
|
30
|
+
background-color: $color-videoPlayer_theme_dark-bg;
|
|
31
|
+
color: $color-videoPlayer_theme_dark-text;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&-light {
|
|
35
|
+
background-color: $color-videoPlayer_theme_light-bg;
|
|
36
|
+
color: $color-videoPlayer_theme_light-text;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&-pause {
|
|
42
|
+
top: 0;
|
|
43
|
+
left: 0;
|
|
44
|
+
width: 100%;
|
|
45
|
+
height: 100%;
|
|
46
|
+
position: absolute;
|
|
47
|
+
@include all-center;
|
|
48
|
+
pointer-events: none;
|
|
49
|
+
|
|
50
|
+
svg {
|
|
51
|
+
font-size: 88px;
|
|
52
|
+
color: $color-videoPlayer_pause-bg;
|
|
53
|
+
pointer-events: none;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&-error {
|
|
58
|
+
top: 0;
|
|
59
|
+
left: 0;
|
|
60
|
+
width: 100%;
|
|
61
|
+
height: 100%;
|
|
62
|
+
position: absolute;
|
|
63
|
+
@include all-center;
|
|
64
|
+
flex-direction: column;
|
|
65
|
+
font-weight: $font-videoPlayer_error-fontWeight;
|
|
66
|
+
font-size: $font-videoPlayer_error-fontSize;
|
|
67
|
+
|
|
68
|
+
&-svg {
|
|
69
|
+
margin-bottom: $spacing-videoPlayer_error_svg-marginBottom;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&-dark {
|
|
73
|
+
background-color: $color-videoPlayer_theme_dark-bg;
|
|
74
|
+
color: $color-videoPlayer_theme_dark-text;
|
|
75
|
+
|
|
76
|
+
path {
|
|
77
|
+
fill: $color-videoPlayer_theme_dark-text;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
&-light {
|
|
83
|
+
background-color: $color-videoPlayer_theme_light-bg;
|
|
84
|
+
color: $color-videoPlayer_theme_light-text;
|
|
85
|
+
|
|
86
|
+
path {
|
|
87
|
+
fill: $color-videoPlayer_theme_light-text;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&-poster {
|
|
93
|
+
position: absolute;
|
|
94
|
+
top: 0;
|
|
95
|
+
left: 0;
|
|
96
|
+
width: 100%;
|
|
97
|
+
height: 100%;
|
|
98
|
+
pointer-events: none;
|
|
99
|
+
|
|
100
|
+
&-hide {
|
|
101
|
+
opacity: 0;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&-notification {
|
|
106
|
+
position: absolute;
|
|
107
|
+
bottom: $height-videoPlayer_controls_menu-default + $spacing-videoPlayer_notification-bottom;
|
|
108
|
+
left: $spacing-videoPlayer_notification-left;
|
|
109
|
+
text-align: center;
|
|
110
|
+
background-color: $color-videoPlayer_notification-bg;
|
|
111
|
+
color: $color-videoPlayer_notification-text;
|
|
112
|
+
padding: $spacing-videoPlayer_notification_text-paddingY $spacing-videoPlayer_notification_text-paddingX;
|
|
113
|
+
line-height: $font-videoPlayer_notification-lineHeight;
|
|
114
|
+
border-radius: $radius-videoPlayer_notification;
|
|
115
|
+
font-size: $font-videoPlayer_notification-fontSize;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
&-mirror {
|
|
119
|
+
video {
|
|
120
|
+
transform: rotateX(0deg) rotateY(180deg);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
&-controls {
|
|
125
|
+
position: absolute;
|
|
126
|
+
bottom: 0;
|
|
127
|
+
left: 0;
|
|
128
|
+
right: 0;
|
|
129
|
+
height: fit-content;
|
|
130
|
+
opacity: 1;
|
|
131
|
+
transition: opacity $animation_duration-videoPlayer_controls-show ease-in-out;
|
|
132
|
+
z-index: 1;
|
|
133
|
+
|
|
134
|
+
&-hide {
|
|
135
|
+
opacity: 0;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&-menu {
|
|
139
|
+
display: flex;
|
|
140
|
+
justify-content: space-between;
|
|
141
|
+
align-items: center;
|
|
142
|
+
box-sizing: border-box;
|
|
143
|
+
height: $height-videoPlayer_controls_menu-default;
|
|
144
|
+
background-color: $color-videoPlayer_controls-bg;
|
|
145
|
+
padding: $spacing-videoPlayer-controls-padding;
|
|
146
|
+
|
|
147
|
+
&-left,
|
|
148
|
+
&-right {
|
|
149
|
+
display: flex;
|
|
150
|
+
align-items: center;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
&-item {
|
|
154
|
+
margin-right: $spacing-videoPlayer-controls_item-gap;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
&-button {
|
|
158
|
+
svg {
|
|
159
|
+
color: $color-videoPlayer_controls-text;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
&-time {
|
|
165
|
+
color: $color-videoPlayer_controls-text;
|
|
166
|
+
font-size: $font-videoPlayer_controls_time_text-fontSize;
|
|
167
|
+
margin-right: $spacing-videoPlayer-controls_item-gap;
|
|
168
|
+
padding: 0 $spacing-videoPlayer-controls_time-paddingX;
|
|
169
|
+
font-variant-numeric: tabular-nums;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
&-popover {
|
|
173
|
+
background-color: transparent;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
&-volume {
|
|
177
|
+
box-sizing: border-box;
|
|
178
|
+
width: $width-videoPlayer_controls_volume-default;
|
|
179
|
+
height: $height-videoPlayer_controls_volume-default;
|
|
180
|
+
background-color: $color-videoPlayer_controls_item-bg;
|
|
181
|
+
color: $color-videoPlayer_controls_popup_item-text-default;
|
|
182
|
+
border-radius: $radius-videoPlayer_controls_popup;
|
|
183
|
+
padding: $spacing-videoPlayer-controls_volume_popup-paddingY $spacing-videoPlayer-controls_volume_popup-paddingX;
|
|
184
|
+
line-height: $font-videoPlayer_controls_popup_item-lineHeight;
|
|
185
|
+
font-size: $font-videoPlayer_controls_item-fontSize;
|
|
186
|
+
user-select: none;
|
|
187
|
+
|
|
188
|
+
&-title {
|
|
189
|
+
padding: $spacing-videoPlayer-controls_volume_title-paddingX $spacing-videoPlayer-controls_volume_title-paddingY;
|
|
190
|
+
text-align: center;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
&-popup {
|
|
195
|
+
@include all-center;
|
|
196
|
+
width: $width-videoPlayer_controls_popup_item-default;
|
|
197
|
+
height: $height-videoPlayer_controls_popup-default;
|
|
198
|
+
background-color: $color-videoPlayer_controls_item_popup-bg-default;
|
|
199
|
+
color: $color-videoPlayer_controls-text;
|
|
200
|
+
font-weight: $font-videoPlayer_controls_popup_item-fontWeight;
|
|
201
|
+
font-size: $font-videoPlayer_controls_item-fontSize;
|
|
202
|
+
line-height: $font-videoPlayer_controls_popup_item-lineHeight;
|
|
203
|
+
border-radius: $radius-videoPlayer_controls_item;
|
|
204
|
+
cursor: pointer;
|
|
205
|
+
|
|
206
|
+
&-menu {
|
|
207
|
+
width: $width-videoPlayer_controls_popup-default;
|
|
208
|
+
background-color: $color-videoPlayer_controls_item_popup-bg-default;
|
|
209
|
+
border-radius: $radius-videoPlayer_controls_popup;
|
|
210
|
+
|
|
211
|
+
&-item {
|
|
212
|
+
@include all-center;
|
|
213
|
+
padding: $spacing-videoPlayer-controls_popup-paddingY $spacing-videoPlayer-controls_popup-paddingX;
|
|
214
|
+
height: $height-videoPlayer_controls_popup_item-default;
|
|
215
|
+
color: $color-videoPlayer_controls-text;
|
|
216
|
+
font-size: $font-videoPlayer_controls_item-fontSize;
|
|
217
|
+
|
|
218
|
+
&:hover {
|
|
219
|
+
background-color: $color-videoPlayer_controls_item_popup-bg-hover !important;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.#{$prefix}-dropdown-item-active {
|
|
224
|
+
color: $color-videoPlayer_controls_popup_item-text-active;
|
|
225
|
+
font-weight: $font-videoPlayer_controls_popup_item-fontWeight;
|
|
226
|
+
cursor: pointer;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
&-progress {
|
|
234
|
+
position: relative;
|
|
235
|
+
height: $height-videoPlayer_progress_bar_hotSpot-default;
|
|
236
|
+
display: flex;
|
|
237
|
+
align-items: center;
|
|
238
|
+
justify-content: center;
|
|
239
|
+
cursor: pointer;
|
|
240
|
+
margin: $spacing-videoPlayer-progress_bar_wrapper-marginY $spacing-videoPlayer-progress_bar_wrapper-marginX;
|
|
241
|
+
|
|
242
|
+
&-markers {
|
|
243
|
+
position: absolute;
|
|
244
|
+
width: 100%;
|
|
245
|
+
height: 100%;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
&-tooltip {
|
|
249
|
+
top: $spacing-videoPlayer-progress_bar_tooltip-top;
|
|
250
|
+
|
|
251
|
+
&-content {
|
|
252
|
+
@include all-center;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
&-slider {
|
|
257
|
+
position: absolute;
|
|
258
|
+
width: 100%;
|
|
259
|
+
height: 100%;
|
|
260
|
+
left: 0;
|
|
261
|
+
bottom: 0;
|
|
262
|
+
border-radius: $radius-videoPlayer_progress_bar;
|
|
263
|
+
|
|
264
|
+
&-active, &:hover {
|
|
265
|
+
.#{$module}-progress-slider-list,
|
|
266
|
+
.#{$module}-progress-slider-played,
|
|
267
|
+
.#{$module}-progress-slider-buffered {
|
|
268
|
+
height: $height-videoPlayer_progress_bar-hover;
|
|
269
|
+
transition: transform $animation_duration-videoPlayer_slider-in;
|
|
270
|
+
transition-timing-function: $animation_function-videoPlayer_slider-in;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
&-list {
|
|
275
|
+
position: absolute;
|
|
276
|
+
bottom: 0;
|
|
277
|
+
left: 0;
|
|
278
|
+
background-color: $color-videoPlayer_progress_bar-bg-unplayed;
|
|
279
|
+
height: $height-videoPlayer_progress_bar-default;
|
|
280
|
+
width: calc(100% - $spacing-videoPlayer-progress_bar_chapter-marginRight);
|
|
281
|
+
margin-right: $spacing-videoPlayer-progress_bar_chapter-marginRight;
|
|
282
|
+
border-radius: $radius-videoPlayer_progress_bar;
|
|
283
|
+
transition: transform $animation_duration-videoPlayer_slider-in;
|
|
284
|
+
transition-timing-function: $animation_function-videoPlayer_slider-out;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
&-played {
|
|
288
|
+
position: absolute;
|
|
289
|
+
bottom: 0;
|
|
290
|
+
left: 0;
|
|
291
|
+
background-color: $color-videoPlayer_progress_bar-bg-played;
|
|
292
|
+
height: $height-videoPlayer_progress_bar-default;
|
|
293
|
+
border-radius: $radius-videoPlayer_progress_bar;
|
|
294
|
+
transition: transform $animation_duration-videoPlayer_slider-in;
|
|
295
|
+
transition-timing-function: $animation_function-videoPlayer_slider-out;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
&-buffered {
|
|
299
|
+
position: absolute;
|
|
300
|
+
bottom: 0;
|
|
301
|
+
left: 0;
|
|
302
|
+
background-color: $color-videoPlayer_progress_bar-bg-loaded;
|
|
303
|
+
height: $height-videoPlayer_progress_bar-default;
|
|
304
|
+
border-radius: $radius-videoPlayer_progress_bar;
|
|
305
|
+
transition: transform $animation_duration-videoPlayer_slider-in;
|
|
306
|
+
transition-timing-function: $animation_function-videoPlayer_slider-out;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
&-handle {
|
|
311
|
+
box-sizing: border-box;
|
|
312
|
+
position: absolute;
|
|
313
|
+
width: $height-videoPlayer_progress_bar_handle;
|
|
314
|
+
height: $height-videoPlayer_progress_bar_handle;
|
|
315
|
+
background-color: $color-videoPlayer_progress_bar_handle-bg;
|
|
316
|
+
border: 1px solid $color-videoPlayer_progress_bar_handle-border;
|
|
317
|
+
box-shadow: 0px 0px 4px 0px $color-videoPlayer_progress_bar_handle-shadow;
|
|
318
|
+
border-radius: $radius-videoPlayer_progress_bar_handle;
|
|
319
|
+
top: $spacing-videoPlayer_progress_bar_handle-top;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
}
|
|
323
|
+
}
|
|
@@ -316,7 +316,7 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
316
316
|
}
|
|
317
317
|
keyEntities[key] = optionNotExist;
|
|
318
318
|
// Fix: 1155, if the data is loaded asynchronously to update treeData, the emptying operation should not be done when entering the updateSelectedKey method
|
|
319
|
-
} else if (loading) {
|
|
319
|
+
} else if (loading || (loadingKeys === null || loadingKeys === void 0 ? void 0 : loadingKeys.size)) {
|
|
320
320
|
// Use assign to avoid overwriting the'not-exist- * 'property of keyEntities after asynchronous loading
|
|
321
321
|
// Overwriting'not-exist- * 'will cause selectionContent to be emptied unexpectedly when clicking on a dropDown item
|
|
322
322
|
updateStates.keyEntities = _assign(keyEntityState, keyEntities);
|