@3deye-toolkit/react-camera 0.0.1-alpha.8 → 0.0.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.
@@ -1,476 +1,912 @@
1
- .player * {
2
- box-sizing: border-box;
1
+ .x-3deye-player * {
2
+ box-sizing: border-box;
3
3
  }
4
4
 
5
- .player {
6
- flex: 1;
7
- position: relative;
8
- background-color: black;
9
- overflow: hidden;
5
+ .x-3deye-player {
6
+ position: relative;
7
+ background-color: black;
10
8
  }
11
9
 
12
- .player .zoomable {
13
- width: 100%;
14
- height: 100%;
10
+ .x-3deye-player__zoomable-wrapper {
11
+ width: 100%;
12
+ height: 100%;
13
+ overflow: hidden;
15
14
  }
16
15
 
17
- .player video {
18
- /* object-fit: fill; */
19
- width: 100%;
20
- height: 100%;
21
- position: absolute;
22
- top: 0;
23
- left: 0;
24
- bottom: 0;
25
- right: 0;
16
+ .x-3deye-player__zoomable {
17
+ width: 100%;
18
+ height: 100%;
26
19
  }
27
20
 
28
- .player-overlay {
29
- position: absolute;
30
- top: 0;
31
- left: 0;
32
- bottom: 0;
33
- right: 0;
34
- color: white;
21
+ .x-3deye-player video {
22
+ width: 100%;
23
+ height: 100%;
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ bottom: 0;
28
+ right: 0;
35
29
  }
36
30
 
37
- .player-overlay .playback-indicator {
38
- pointer-events: none;
39
- position: absolute;
40
- top: 50%;
41
- left: 50%;
42
- transform: translate(-50%, -50%);
43
- animation: playback-indicator-fade-out 0.5s linear forwards;
44
- display: none;
45
- background-color: rgba(0, 0, 0, 0.5);
46
- width: 48px;
47
- height: 48px;
48
- padding: 8px;
49
- border-radius: 48px;
31
+ .x-3deye-button {
32
+ color: inherit;
33
+ background: none;
34
+ border: none;
35
+ position: relative;
36
+ padding: 0 8px;
37
+ height: 32px;
38
+ -webkit-user-select: none;
39
+ -moz-user-select: none;
40
+ -ms-user-select: none;
41
+ user-select: none;
42
+ display: inline-flex;
43
+ justify-content: center;
44
+ align-items: center;
45
+ border-radius: 4px;
46
+ letter-spacing: 0.0107142857em;
47
+ font-weight: 500;
50
48
  }
51
49
 
52
- @keyframes playback-indicator-fade-out {
53
- 0% {
54
- opacity: 1;
55
- transform: translate(-50%, -50%) scale(1);
56
- }
50
+ .x-3deye-button sup {
51
+ position: relative;
52
+ top: -0.5em;
53
+ left: 0.25em;
54
+ }
57
55
 
58
- 100% {
59
- opacity: 0;
60
- transform: translate(-50%, -50%) scale(2);
61
- }
56
+ .x-3deye-button.x-3deye-button--fullwidth {
57
+ width: 100%;
62
58
  }
63
59
 
64
- .player-overlay .controls {
65
- position: absolute;
66
- left: 0;
67
- bottom: 0;
68
- right: 0;
69
- height: 54px;
70
- opacity: 0;
71
- display: flex;
72
- pointer-events: none;
60
+ .x-3deye-button:focus,
61
+ .x-3deye-button.x-3deye-button:not(:disabled):hover {
62
+ background-color: rgba(var(--surface-highlight-rgb), 0.1);
73
63
  }
74
64
 
75
- .player-overlay .controls > * {
76
- pointer-events: auto;
65
+ .x-3deye-button--icon {
66
+ border-radius: 16px;
67
+ padding: 4px;
68
+ width: 32px;
69
+ height: 32px;
70
+ display: inline-flex;
71
+ align-items: center;
72
+ justify-content: center;
77
73
  }
78
74
 
79
- .player-overlay:hover .controls, .player-overlay .controls:focus-within, .player.paused .controls {
80
- opacity: 1;
75
+ .x-3deye-button:disabled {
76
+ opacity: 0.4;
81
77
  }
82
78
 
83
- .player-overlay .indicators {
84
- display: flex;
85
- pointer-events: none;
86
- align-items: center;
79
+ .x-3deye-button:not(:disabled) {
80
+ cursor: pointer;
87
81
  }
88
82
 
89
- .player-overlay .indicators > * {
90
- margin: 5px;
83
+ .x-3deye-button.x-3deye-button--filled,
84
+ .x-3deye-button.x-3deye-button--text {
85
+ min-width: 80px;
86
+ text-transform: capitalize;
87
+ font-family: 'Roboto', sans-serif;
88
+ font-size: 0.875rem;
89
+ font-weight: 500;
90
+ border-radius: 0.25rem;
91
+ padding: 0 1rem;
91
92
  }
92
93
 
93
- .player-overlay .live-indicator {
94
- user-select: none;
95
- padding: 0 5px;
96
- color: rgba(0, 0, 0, 0.7);
97
- background-color: white;
98
- font-weight: bold;
99
- text-transform: uppercase;
100
- opacity: 0.8;
94
+ .x-3deye-button.x-3deye-button--filled {
95
+ background-color: rgb(39, 185, 161);
96
+ color: white;
101
97
  }
102
98
 
103
- .player-overlay .camera-name {
104
- pointer-events: auto;
105
- background-color: rgba(0, 0, 0, 0.25);
106
- text-shadow: 1px 1px 1px black;
107
- opacity: 0.8;
108
- padding: 2px 16px;
109
- border-radius: 16px;
110
- line-height: 16px;
111
- cursor: pointer;
99
+ .x-3deye-button.x-3deye-button--filled:not(:disabled):hover {
100
+ background-color: rgb(34, 163, 142);
112
101
  }
113
102
 
114
- .player-overlay .camera-name:hover {
115
- text-decoration: underline;
103
+ .x-3deye-button.x-3deye-button--filled:focus {
104
+ transition: box-shadow 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
105
+ box-shadow: 0 0 0 2px rgba(39, 185, 161, 0.33);
116
106
  }
117
107
 
118
- .player-overlay .button-go-live {
119
- height: 24px;
120
- padding: 0 12px;
121
- background-color: rgba(0, 0, 0, 0.25);
122
- border-radius: 15px;
123
- margin: 0;
124
- opacity: 0;
125
- color: orange;
126
- text-shadow: 1px 1px 1px black;
108
+ .x-3deye-button canvas {
109
+ color: rgb(var(--surface-highlight-rgb));
127
110
  }
128
111
 
129
- .player-overlay .button-go-live:focus {
130
- box-shadow: 0 0 2px orange;
112
+ .x-3deye-button--overlay {
113
+ pointer-events: auto;
114
+ background: rgba(0, 0, 0, 0.5);
115
+ border: 2px solid rgba(255, 255, 255, 0.25);
116
+ color: white;
131
117
  }
132
118
 
133
- .player-overlay:hover .button-go-live, .button-go-live:focus {
134
- opacity: 1;
119
+ .x-3deye-button.x-3deye-button--overlay:focus,
120
+ .x-3deye-button.x-3deye-button--overlay:not(:disabled):hover {
121
+ background: rgba(0, 0, 0, 0.5);
122
+ border: 2px solid rgba(255, 255, 255, 0.5);
135
123
  }
136
124
 
137
- .player-overlay .delay-indicator:hover {
138
- text-decoration: underline;
125
+ .x-3deye-button.x-3deye-button--overlay.x-3deye-button--overlay-danger:not(
126
+ :disabled
127
+ ),
128
+ .x-3deye-button.x-3deye-button--overlay.x-3deye-button--overlay-danger:not(
129
+ :disabled
130
+ ):hover {
131
+ background-color: rgba(156, 51, 49, 0.5);
139
132
  }
140
133
 
141
- .player-overlay .delay-indicator {
142
- background-color: rgba(0, 0, 0, 0.25);
143
- border-radius: 15px;
144
- padding: 2px 8px;
134
+ .x-3deye-tooltip {
135
+ background: rgb(0 0 0 / 0.9);
136
+ color: white;
137
+ border: none;
138
+ border-radius: 4px;
139
+ padding: 0.5em 1em;
140
+ font-size: 12px;
141
+ border: rgb(255 255 255 / 0.15) 1px solid;
145
142
  }
146
143
 
147
- .camera-name-popover.popover-body {
148
- border-radius: 2px;
149
- background-color: rgba(15, 15, 20, 0.8);
150
- box-shadow: none;
151
- color: white;
152
- white-space: nowrap;
144
+ .spinner {
145
+ animation: spinner-rotation 1.5s linear infinite;
146
+ width: 65px;
147
+ height: 65px;
153
148
  }
154
149
 
155
- .camera-name-popover.popover-body svg {
156
- fill: rgba(15, 15, 20, 0.8);
150
+ .spinner circle {
151
+ stroke-dasharray: 207.34;
152
+ stroke-dashoffset: 0;
153
+ transform-origin: center;
154
+ animation: spinner-dash 1.5s ease-in-out infinite;
157
155
  }
158
156
 
159
- .camera-name-popover.popover-body button.button {
160
- pointer-events: auto;
161
- font-size: inherit;
157
+ @keyframes spinner-rotation {
158
+ 0% {
159
+ transform: rotate(0deg);
160
+ }
161
+ 100% {
162
+ transform: rotate(270deg);
163
+ }
162
164
  }
163
165
 
164
- .camera-name-popover.popover-body button.button:hover {
165
- text-decoration: underline;
166
+ @keyframes spinner-dash {
167
+ 0% {
168
+ stroke-dashoffset: 207.34;
169
+ }
170
+ 50% {
171
+ stroke-dashoffset: 51.835; /* offset / 4 */
172
+ transform: rotate(135deg);
173
+ }
174
+ 100% {
175
+ stroke-dashoffset: 207.34;
176
+ transform: rotate(450deg);
177
+ }
166
178
  }
167
179
 
168
- .player-overlay .current-time {
169
- line-height: 16px;
170
- font-size: 11px;
171
- text-shadow: 1px 1px 1px black;
172
- background-color: rgba(0, 0, 0, 0.25);
173
- padding: 2px 16px;
174
- border-radius: 16px;
180
+ .x-3deye-player__camera-name-popover {
181
+ background-color: rgba(15, 15, 20, 0.8);
182
+ box-shadow: none;
183
+ color: white;
184
+ white-space: nowrap;
175
185
  }
176
186
 
177
- .player-overlay .current-time.synced {
178
- background-color: rgb(147, 221, 30, 0.6);
187
+ .x-3deye-popover-container.x-3deye-player__camera-name-popover svg {
188
+ --tip-background: rgb(15, 15, 20);
189
+ opacity: 0.8;
179
190
  }
180
191
 
181
- .zoom-preview {
182
- display: flex;
183
- flex-direction: column;
184
- position: absolute;
185
- right: 40px;
186
- top: 50%;
187
- transform: translateY(-50%);
188
- background-color: rgba(0, 0, 0, 0.7);
189
- border: 1px solid white;
192
+ .x-3deye-player__camera-name-popover button.x-3deye-button {
193
+ pointer-events: auto;
194
+ font-size: inherit;
190
195
  }
191
196
 
192
- .zoom-preview .zoom-value {
193
- position: absolute;
194
- top: 0;
195
- left: 0;
196
- right: 0;
197
- bottom: 0;
198
- display: flex;
199
- justify-content: center;
200
- align-items: center;
201
- font-family: monospace;
202
- font-size: 32px;
203
- font-weight: bold;
204
- color: white;
205
- text-shadow: 0 1px 1px black;
197
+ .x-3deye-player__camera-name-popover button.x-3deye-button:hover {
198
+ text-decoration: underline;
206
199
  }
207
200
 
208
- .zoom-preview .zoomable {
209
- position: relative;
210
- flex: 1;
211
- background-color: rgba(255, 255, 255, 0.5);
201
+ .x-3deye-player__camera-name {
202
+ background-color: rgba(0, 0, 0, 0.25);
203
+ text-shadow: 1px 1px 1px black;
204
+ opacity: 0.8;
205
+ padding: 2px 16px;
206
+ border-radius: 16px;
207
+ line-height: 16px;
208
+ cursor: pointer;
209
+ -webkit-backdrop-filter: blur(3px);
210
+ backdrop-filter: blur(3px);
212
211
  }
213
212
 
214
- .zoom-slider {
215
- position: absolute;
216
- right: 10px;
217
- top: 50%;
218
- transform: translateY(-50%);
219
- width: 30px;
220
- padding: 10px 5px;
221
- background-color: rgba(0, 0, 0, 0.5);
222
- border-radius: 4px;
213
+ .x-3deye-player__camera-name:hover {
214
+ text-decoration: underline;
223
215
  }
224
216
 
225
- .zoom-slider .tick {
226
- margin-left: 4px;
227
- width: 12px;
228
- height: 10px;
229
- border-top: 1px solid rgba(255, 255, 255, 0.4);
217
+ .x-3deye-popover-container {
218
+ background: #222;
219
+ box-shadow: 0 12px 28px 0 rgba(0, 0, 0, 0.2), 0 2px 4px 0 rgb(0 0 0 / 0.1),
220
+ inset 0 0 0 1px rgb(255 255 255 /0.05);
221
+ color: white;
222
+ border-radius: 6px;
223
+ padding: 8px;
224
+ text-align: left;
225
+ animation: slide-in 0.15s ease-in;
230
226
  }
231
227
 
232
- .zoom-slider .tick:nth-child(5n + 1) {
233
- margin-left: 0px;
234
- width: 20px;
235
- border-top-width: 2px;
228
+ @media (prefers-reduced-motion: reduce) {
229
+ .x-3deye-popover-container {
230
+ animation: none;
231
+ }
236
232
  }
237
233
 
238
- .zoom-slider .tick:last-child {
239
- height: 0;
234
+ .x-3deye-popover-container .tip {
235
+ --tip-background: #222;
236
+ --tip-border: rgb(255 255 255 /0.05);
240
237
  }
241
238
 
242
- .zoom-slider .rotation-button {
243
- margin-left: -4px;
244
- margin-bottom: -4px;
245
- width: 28px;
246
- text-align: right;
247
- color: white;
239
+ .x-3deye-player__stats > summary {
240
+ line-height: 24px;
248
241
  }
249
242
 
250
- .zoom-preview {
251
- display: none;
243
+ .x-3deye-player__stats > summary:hover {
244
+ text-decoration: underline;
252
245
  }
253
246
 
254
- .zoom-slider:hover + .zoom-preview,
255
- .zoom-slider + .zoom-preview:focus,
256
- .zoom-preview:hover,
257
- .zoom-preview:focus {
258
- display: block;
247
+ .x-3deye-player__stats dl {
248
+ font-size: 0.75rem;
249
+ line-height: 1.25rem;
250
+ display: table;
251
+ margin-top: 0;
252
+ margin-bottom: 0.75rem;
259
253
  }
260
- .button {
261
- color: inherit;
262
- background: none;
263
- border: none;
264
- position: relative;
265
- padding: 4px;
266
- text-transform: uppercase;
267
- user-select: none;
268
- font-family: 'Roboto', sans-serif;
269
- text-align: center;
270
- align-items: flex-start;
254
+
255
+ .x-3deye-player__stats dl > div {
256
+ display: table-row;
271
257
  }
272
258
 
273
- .button.fullwidth {
274
- width: 100%;
259
+ .x-3deye-player__stats dl > div > dt,
260
+ .x-3deye-player__stats dl > div > dd {
261
+ display: table-cell;
275
262
  }
276
263
 
277
- .button:focus {
278
- background-color: rgba(255, 255, 255, 0.1);
264
+ .x-3deye-player__stats dl > div > dd {
265
+ font-variant-numeric: tabular-nums;
266
+ text-align: right;
267
+ min-width: 100px;
279
268
  }
280
269
 
281
- .button-icon {
282
- border-radius: 16px;
283
- width: 32px;
284
- height: 32px;
270
+ .x-3deye-live-indicator {
271
+ -webkit-user-select: none;
272
+ -moz-user-select: none;
273
+ -ms-user-select: none;
274
+ user-select: none;
275
+ padding: 0 5px;
276
+ color: rgba(0, 0, 0, 0.7);
277
+ background-color: white;
278
+ font-weight: bold;
279
+ text-transform: uppercase;
280
+ opacity: 0.8;
285
281
  }
286
282
 
287
- .button:disabled {
288
- opacity: 0.6;
283
+ .x-3deye-button--live {
284
+ height: 24px;
285
+ padding: 0 12px;
286
+ background-color: rgba(0, 0, 0, 0.25);
287
+ border-radius: 15px;
288
+ margin: 0;
289
+ color: orange;
290
+ text-shadow: 1px 1px 1px black;
291
+ text-transform: uppercase;
289
292
  }
290
293
 
291
- .button.button-save, .button.button-cancel {
292
- color: white;
293
- border-radius: 4px;
294
- text-transform: none;
295
- margin: 4px;
296
- min-width: 80px;
294
+ .x-3deye-player__overlay .x-3deye-button-go-live:focus {
295
+ box-shadow: 0 0 2px orange;
297
296
  }
298
297
 
299
- .button.button-save.fullwidth, .button.button-cancel.fullwidth {
300
- width: calc(100% - 8px);
298
+ .x-3deye-delay-indicator:hover {
299
+ text-decoration: underline;
301
300
  }
302
301
 
303
- .button:not(:disabled) {
304
- cursor: pointer;
302
+ .x-3deye-delay-indicator {
303
+ background-color: rgba(0, 0, 0, 0.25);
304
+ border-radius: 15px;
305
+ padding: 2px 8px;
305
306
  }
306
307
 
307
- .button.button-save {
308
- background-color: #27B9A1;
308
+ .x-3deye-player__playback-indicator {
309
+ pointer-events: none;
310
+ position: absolute;
311
+ top: 50%;
312
+ left: 50%;
313
+ transform: translate(-50%, -50%);
314
+ animation: playback-indicator-fade-out 0.5s linear forwards;
315
+ display: none;
316
+ background-color: rgba(0, 0, 0, 0.5);
317
+ width: 48px;
318
+ height: 48px;
319
+ padding: 8px;
320
+ border-radius: 48px;
309
321
  }
310
322
 
311
- .button.button-cancel {
312
- background-color: #7758B2;
323
+ @keyframes playback-indicator-fade-out {
324
+ 0% {
325
+ opacity: 1;
326
+ transform: translate(-50%, -50%) scale(1);
327
+ }
328
+
329
+ 100% {
330
+ opacity: 0;
331
+ transform: translate(-50%, -50%) scale(2);
332
+ }
313
333
  }
314
- .popover {
315
- position: relative;
334
+
335
+ .x-3deye-player__overlay {
336
+ position: absolute;
337
+ top: 0;
338
+ left: 0;
339
+ bottom: 0;
340
+ right: 0;
341
+ color: white;
316
342
  }
317
343
 
318
- .popover-body {
319
- background-color: white;
320
- padding: 8px;
321
- border-radius: 8px;
322
- box-shadow: 0 0 8px 0px black;
344
+ .x-3deye-player__controls {
345
+ position: absolute;
346
+ left: 0;
347
+ bottom: 0;
348
+ right: 0;
349
+ height: 54px;
350
+ opacity: 0;
351
+ display: flex;
352
+ pointer-events: none;
323
353
  }
324
- .spinner {
325
- animation: spinner-rotation 1.5s linear infinite;
326
- width: 65px;
327
- height: 65px;
354
+
355
+ .x-3deye-player__controls > * {
356
+ pointer-events: auto;
328
357
  }
329
358
 
330
- .spinner circle {
331
- stroke-dasharray: 207.34;
332
- stroke-dashoffset: 0;
333
- transform-origin: center;
334
- animation: spinner-dash 1.5s ease-in-out infinite;
359
+ .x-3deye-player__overlay:hover .x-3deye-player__controls,
360
+ .x-3deye-player__controls:focus-within,
361
+ .x-3deye-player--paused .x-3deye-player__controls {
362
+ opacity: 1;
335
363
  }
336
364
 
337
- @keyframes spinner-rotation {
338
- 0% {
339
- transform: rotate(0deg);
340
- }
341
- 100% {
342
- transform: rotate(270deg);
343
- }
365
+ .x-3deye-player__indicators {
366
+ display: flex;
367
+ pointer-events: none;
368
+ align-items: center;
344
369
  }
345
370
 
346
- @keyframes spinner-dash {
347
- 0% {
348
- stroke-dashoffset: 207.34;
349
- }
350
- 50% {
351
- stroke-dashoffset: 51.835; /* offset / 4 */
352
- transform: rotate(135deg);
353
- }
354
- 100% {
355
- stroke-dashoffset: 207.34;
356
- transform: rotate(450deg);
357
- }
371
+ .x-3deye-player__indicators > * {
372
+ margin: 5px;
358
373
  }
359
- .controls {
360
- display: flex;
361
- padding: 8px;
374
+
375
+ .x-3deye-player__overlay .x-3deye-button--live {
376
+ opacity: 0;
377
+ margin: 3px 5px;
362
378
  }
363
379
 
364
- .controls .spacer {
365
- pointer-events: none;
366
- flex: 1;
380
+ .x-3deye-player__overlay:hover .x-3deye-button--live,
381
+ .x-3deye-button--live:focus {
382
+ opacity: 1;
367
383
  }
368
384
 
369
- .control {
370
- width: 38px;
371
- height: 38px;
372
- background-color: rgb(26,30,29, 0.8);
373
- color: rgba(255, 255, 255, 0.6);
385
+ .x-3deye-player__overlay .x-3deye-player__camera-name {
386
+ pointer-events: auto;
374
387
  }
375
388
 
376
- .control.close {
377
- background-color: rgba(156, 51, 49, 0.8);
389
+ .x-3deye-player__current-time {
390
+ line-height: 16px;
391
+ font-size: 11px;
392
+ text-shadow: 1px 1px 1px black;
393
+ background-color: rgba(0, 0, 0, 0.25);
394
+ padding: 2px 16px;
395
+ border-radius: 16px;
378
396
  }
379
397
 
380
- .player.paused .control.playpause {
381
- background-color: rgba(49, 106, 156, 0.8);
398
+ .x-3deye-player__current-time--synced {
399
+ background-color: rgb(147, 221, 30, 0.6);
382
400
  }
383
401
 
384
- .controls.compact .control {
385
- padding: 0;
402
+ .x-3deye-player__zoom-preview {
403
+ display: flex;
404
+ flex-direction: column;
405
+ position: absolute;
406
+ right: 44px;
407
+ top: 50%;
408
+ transform: translateY(-50%);
409
+ background-color: rgba(0, 0, 0, 0.7);
410
+ border: 1px solid white;
386
411
  }
387
412
 
388
- .controls.compact .control.reflowed {
389
- width: 20px;
413
+ .x-3deye-player__zoom-preview .zoom-value {
414
+ position: absolute;
415
+ top: 0;
416
+ left: 0;
417
+ right: 0;
418
+ bottom: 0;
419
+ display: flex;
420
+ justify-content: center;
421
+ align-items: center;
422
+ font-family: monospace;
423
+ font-size: 32px;
424
+ font-weight: bold;
425
+ color: white;
426
+ text-shadow: 0 1px 1px black;
390
427
  }
391
428
 
392
- .control + .control {
393
- border-left: 1px solid rgb(26,30,29);
429
+ .x-3deye-player__zoom-preview .x-3deye-player__zoomable {
430
+ position: relative;
431
+ flex: 1;
432
+ background-color: rgba(255, 255, 255, 0.5);
394
433
  }
395
434
 
396
- .control:hover {
397
- background-color: #2a2e2d;
435
+ .x-3deye-player__zoom-slider {
436
+ position: absolute;
437
+ right: 10px;
438
+ top: 50%;
439
+ transform: translateY(-50%);
440
+ width: 34px;
441
+ padding: 10px 5px;
442
+ background-color: rgba(0, 0, 0, 0.5);
443
+ border: 2px solid rgba(255, 255, 255, 0.25);
444
+ border-radius: 4px;
445
+ -webkit-backdrop-filter: blur(2px);
446
+ backdrop-filter: blur(2px);
447
+ }
448
+
449
+ .x-3deye-player__zoom-slider .tick {
450
+ margin-left: 4px;
451
+ width: 12px;
452
+ height: 10px;
453
+ border-top: 1px solid rgba(255, 255, 255, 0.4);
454
+ }
455
+
456
+ .x-3deye-player__zoom-slider .tick:nth-child(5n + 1) {
457
+ margin-left: 0px;
458
+ width: 20px;
459
+ border-top-width: 2px;
460
+ }
461
+
462
+ .x-3deye-player__zoom-slider .tick:last-child {
463
+ height: 0;
464
+ }
465
+
466
+ .x-3deye-player__zoom-slider .rotation-button {
467
+ padding: 0;
468
+ margin-left: -4px;
469
+ margin-bottom: -4px;
470
+ width: 28px;
471
+ text-align: right;
398
472
  color: white;
399
473
  }
400
474
 
401
- .control.close:hover {
402
- background-color: rgba(156, 51, 49);
475
+ .x-3deye-player__zoom-preview {
476
+ display: none;
477
+ }
478
+
479
+ .x-3deye-player__zoom-slider:hover + .x-3deye-player__zoom-preview,
480
+ .x-3deye-player__zoom-slider + .x-3deye-player__zoom-preview:focus,
481
+ .x-3deye-player__zoom-preview:hover,
482
+ .x-3deye-player__zoom-preview:focus {
483
+ display: block;
484
+ }
485
+
486
+ .x-3deye-player__controls {
487
+ display: flex;
488
+ padding: 8px;
489
+ }
490
+
491
+ .x-3deye-player__controls .spacer {
492
+ pointer-events: none;
493
+ flex: 1;
494
+ }
495
+
496
+ .x-3deye-button.x-3deye-player__control {
497
+ width: 38px;
498
+ height: 38px;
499
+ background-color: rgb(26, 30, 29, 0.8);
500
+ color: rgba(255, 255, 255, 0.6);
501
+ border-radius: 0;
502
+ display: flex;
503
+ justify-content: center;
504
+ align-items: center;
505
+ }
506
+
507
+ .x-3deye-player__controls--compact .x-3deye-player__control {
508
+ padding: 0;
509
+ }
510
+
511
+ .x-3deye-player__controls--compact .x-3deye-player__control .icon {
512
+ width: 20px;
403
513
  }
404
514
 
405
- .player.paused .control.playpause:hover {
406
- background-color: rgba(49, 106, 156);
515
+ .x-3deye-player__control--reflowed {
516
+ width: 20px;
407
517
  }
408
518
 
409
- .control:focus {
410
- box-shadow: 0 0 0 0.2rem rgba(52,58,64,.5);
411
- background-color: rgb(26,30,29, 0.8);
412
- z-index: 1;
519
+ .x-3deye-player__control + .x-3deye-player__control {
520
+ border-left: 1px solid rgb(26, 30, 29);
413
521
  }
414
522
 
415
- .control.close:focus {
416
- background-color: rgba(156, 51, 49, 0.8);
417
- box-shadow: 0 0 0 0.2rem rgba(101, 20, 46, 0.5);
523
+ .x-3deye-button.x-3deye-button:not(:disabled).x-3deye-player__control:hover {
524
+ background-color: #2a2e2d;
525
+ color: white;
418
526
  }
419
527
 
420
- .player.paused .control.playpause:focus {
421
- background-color: rgba(49, 106, 156, 0.8);
422
- box-shadow: 0 0 0 0.2rem rgba(20, 69, 101, 0.5);
528
+ .x-3deye-button.x-3deye-button:not(:disabled).x-3deye-player__control:focus {
529
+ box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
530
+ background-color: rgb(26, 30, 29, 0.8);
531
+ z-index: 1;
423
532
  }
424
533
 
425
- .controls > .control:first-child {
534
+ .x-3deye-player__control:first-child {
426
535
  border-top-left-radius: 4px;
427
536
  border-bottom-left-radius: 4px;
428
537
  }
429
538
 
430
- .controls > .control:last-child {
431
- border-top-right-radius: 4px;
539
+ .x-3deye-player__controls > .x-3deye-player__control:last-child {
540
+ border-top-right-radius: 4px;
432
541
  border-bottom-right-radius: 4px;
433
542
  }
434
543
 
435
- .controls.spaced > .spacer+.control {
436
- border-top-left-radius: 4px;
544
+ .x-3deye-player__controls--spaced > .spacer + .x-3deye-player__control {
545
+ border-top-left-radius: 4px;
437
546
  border-bottom-left-radius: 4px;
438
547
  }
439
548
 
440
- .controls.spaced > .control.before-spacer {
441
- border-top-right-radius: 4px;
549
+ .x-3deye-player__controls--spaced > .x-3deye-player__control.before-spacer {
550
+ border-top-right-radius: 4px;
442
551
  border-bottom-right-radius: 4px;
443
552
  }
444
- .volume-control:hover .volume-range, .volume-control:focus .volume-range {
445
- visibility: visible;
446
- transition: visibility 0s;
553
+
554
+ .x-3deye-button.x-3deye-player__control-close {
555
+ background-color: rgba(156, 51, 49, 0.8);
556
+ }
557
+
558
+ .x-3deye-button.x-3deye-button:not(
559
+ :disabled
560
+ ).x-3deye-player__control-close:hover {
561
+ background-color: rgba(156, 51, 49);
562
+ }
563
+
564
+ .x-3deye-button.x-3deye-button:not(
565
+ :disabled
566
+ ).x-3deye-player__control-close:focus {
567
+ background-color: rgba(156, 51, 49, 0.8);
568
+ box-shadow: 0 0 0 0.2rem rgba(101, 20, 46, 0.5);
569
+ }
570
+
571
+ .x-3deye-player--paused
572
+ .x-3deye-button.x-3deye-button:not(
573
+ :disabled
574
+ ).x-3deye-player__control-playpause {
575
+ background-color: rgba(49, 106, 156, 0.8);
576
+ }
577
+
578
+ .x-3deye-player--paused
579
+ .x-3deye-button.x-3deye-button:not(
580
+ :disabled
581
+ ).x-3deye-player__control-playpause:hover {
582
+ background-color: rgba(49, 106, 156);
583
+ }
584
+
585
+ .x-3deye-player--paused
586
+ .x-3deye-button.x-3deye-button:not(
587
+ :disabled
588
+ ).x-3deye-player__control-playpause:focus {
589
+ background-color: rgba(49, 106, 156, 0.8);
590
+ box-shadow: 0 0 0 0.2rem rgba(20, 69, 101, 0.5);
591
+ }
592
+
593
+ .x-3deye-popover-container.popover-playbackrate {
594
+ background: white;
595
+ color: black;
596
+ }
597
+
598
+ .x-3deye-popover-container.popover-playbackrate .tip {
599
+ --tip-background: white;
600
+ --tip-border: transparent;
601
+ }
602
+
603
+ .volume-control:hover .volume-range,
604
+ .volume-control:focus .volume-range,
605
+ .volume-control:focus-within .volume-range {
606
+ visibility: visible;
607
+ transition: visibility 0s;
447
608
  }
448
609
 
449
610
  .volume-range {
450
- background-color: rgba(26,30,29, 0.5);
451
- padding: 4px;
452
- border-radius: 4px;
453
- position: absolute;
454
- height: 32px;
455
- top: -28px;
456
- left: 0;
457
- visibility: hidden;
458
- transition: visibility 0s 0.5s;
459
- transform-origin: 16px 12px;
460
- transform: rotate(270deg);
611
+ --surface-inverse: rgba(255, 255, 255, 0.15);
612
+ --surface-highlight-rgb: 255, 255, 255;
613
+ --primary-color: #0067ac;
614
+ --on-primary-color: white;
615
+ background-color: rgba(26, 30, 29, 0.5);
616
+ padding: 16px 4px;
617
+ border-radius: 4px;
618
+ position: absolute;
619
+ display: flex;
620
+ justify-content: center;
621
+ width: 32px;
622
+ height: 140px;
623
+ bottom: 100%;
624
+ left: 0;
625
+ visibility: hidden;
626
+ transition: visibility 0s 0.5s;
627
+ transform-origin: 16px 12px;
628
+ }
629
+
630
+ .x-3deye-slider {
631
+ position: relative;
632
+ display: flex;
633
+ align-items: center;
634
+ }
635
+
636
+ .x-3deye-slider:focus-visible {
637
+ outline: none;
638
+ }
639
+
640
+ .x-3deye-slider.horizontal {
641
+ width: 100%;
642
+ height: 20px;
643
+ }
644
+
645
+ .x-3deye-slider.vertical {
646
+ width: 20px;
647
+ height: 100%;
648
+ flex-direction: column;
649
+ }
650
+
651
+ .x-3deye-slider__track {
652
+ background: var(--surface-inverse, gainsboro);
653
+ position: relative;
654
+ flex: 1;
655
+ }
656
+
657
+ .x-3deye-slider__bar {
658
+ background-color: var(--primary-color, #0067ac);
659
+ position: absolute;
660
+ }
661
+
662
+ .x-3deye-slider.disabled .x-3deye-slider__bar {
663
+ background-color: rgb(165, 165, 165);
664
+ }
665
+
666
+ .x-3deye-slider.horizontal .x-3deye-slider__bar {
667
+ top: 0;
668
+ bottom: 0;
669
+ left: 0;
670
+ }
671
+
672
+ .x-3deye-slider.vertical .x-3deye-slider__bar {
673
+ bottom: 0;
674
+ left: 0;
675
+ right: 0;
676
+ }
677
+
678
+ .x-3deye-slider.horizontal .x-3deye-slider__track {
679
+ height: 3px;
680
+ }
681
+
682
+ .x-3deye-slider.vertical .x-3deye-slider__track {
683
+ width: 3px;
684
+ }
685
+
686
+ .x-3deye-slider__thumb {
687
+ will-change: transform box-shadow;
688
+ background: white;
689
+ box-shadow: 0 0 0 6px rgba(0, 100, 255, 0), 0 0 0 1px rgba(0, 0, 0, 0.1) inset,
690
+ 1px 1px 2px 0 rgba(0, 0, 0, 0.25);
691
+ width: 20px;
692
+ height: 20px;
693
+ border-radius: 50%;
694
+ transition: box-shadow 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95) 0ms;
695
+ }
696
+
697
+ .x-3deye-slider:not(.disabled) .x-3deye-slider__thumb:hover,
698
+ .x-3deye-slider:focus .x-3deye-slider__thumb {
699
+ box-shadow: 0 0 0 6px rgba(var(--surface-highlight-rgb, 0, 100, 255), 0.1),
700
+ 0 0 0 1px rgba(0, 0, 0, 0.1) inset, 1px 1px 2px 0 rgba(0, 0, 0, 0.25);
701
+ }
702
+
703
+ .x-3deye-slider:focus .x-3deye-slider__thumb.active {
704
+ box-shadow: 0 0 0 6px rgba(var(--surface-highlight-rgb, 0, 100, 255), 0.2),
705
+ 0 0 0 1px rgba(0, 0, 0, 0.1) inset, 1px 1px 2px 0 rgba(0, 0, 0, 0.25);
706
+ }
707
+
708
+ .x-3deye-slider.horizontal .x-3deye-slider__thumb {
709
+ margin-left: -10px;
710
+ }
711
+
712
+ .x-3deye-slider.vertical .x-3deye-slider__thumb {
713
+ margin-bottom: -10px;
714
+ }
715
+
716
+ .x-3deye-slider__label {
717
+ pointer-events: none;
718
+ touch-action: none;
719
+ will-change: transform;
720
+ transform: translate(-50%, -100%) scale(0);
721
+ background: var(--primary-color, #0067ac);
722
+ bottom: 50%;
723
+ left: 50%;
724
+ color: var(--on-primary-color, white);
725
+ font-size: 0.75rem;
726
+ border-radius: 4px;
727
+ width: -moz-fit-content;
728
+ width: fit-content;
729
+ min-width: 24px;
730
+ padding: 4px 8px;
731
+ position: relative;
732
+ transition: transform 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95) 0ms;
733
+ transform-origin: center bottom;
734
+ }
735
+
736
+ .x-3deye-slider__label.open,
737
+ .x-3deye-slider:not(.disabled)
738
+ .x-3deye-slider__thumb:hover
739
+ .x-3deye-slider__label,
740
+ .x-3deye-slider:focus .x-3deye-slider__label {
741
+ transform: translate(-50%, -100%) scale(1);
742
+ }
743
+
744
+ .x-3deye-slider__label::before {
745
+ content: '';
746
+ display: block;
747
+ position: absolute;
748
+ top: 100%;
749
+ left: calc(50% - 5px);
750
+ width: 0;
751
+ height: 0;
752
+ border-left: 5px solid transparent;
753
+ border-right: 5px solid transparent;
754
+ border-top: 5px solid var(--primary-color, #0067ac);
755
+ }
756
+
757
+ .ptz-popover.x-3deye-popover-container {
758
+ border-radius: 6px;
759
+ background-color: rgba(15, 15, 20, 0.7);
760
+ box-shadow: none;
761
+ color: rgba(255, 255, 255, 0.8);
762
+ border: 1px solid rgba(255, 255, 255, 0.2);
763
+ -webkit-backdrop-filter: blur(1px);
764
+ backdrop-filter: blur(1px);
765
+ }
766
+
767
+ .ptz-popover .tip {
768
+ --tip-background: rgba(15, 15, 20, 0.5);
769
+ --tip-border: rgba(255, 255, 255, 0.2);
770
+ }
771
+
772
+ .ptz-popover {
773
+ --surface-inverse: rgba(255, 255, 255, 0.15);
774
+ --surface-highlight-rgb: 255, 255, 255;
775
+ --primary-color: #0067ac;
776
+ --on-primary-color: white;
777
+ }
778
+
779
+ .segmented-control-wrapper {
780
+ display: inline-grid;
781
+ border-radius: 6px;
782
+ background-color: var(--surface-inverse);
783
+ }
784
+
785
+ .segmented-control {
786
+ display: grid;
787
+ margin: 2px;
788
+ position: relative;
789
+ grid-auto-flow: column;
790
+ grid-auto-columns: 1fr;
791
+ --indicator-offset: 0%;
792
+ }
793
+
794
+ .segmented-control-indicator {
795
+ position: absolute;
796
+ height: 100%;
797
+ pointer-events: none;
798
+ transform: translateX(var(--indicator-offset));
799
+ transition: 0.2s ease-in-out;
800
+ }
801
+
802
+ .segmented-control-indicator-inner {
803
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
804
+ border-radius: 6px;
805
+ background: #fff;
806
+ transition: 0.2s;
807
+ transform: scale(1);
808
+ position: absolute;
809
+ inset: 0;
810
+ }
811
+
812
+ .segmented-control-indicator.active .segmented-control-indicator-inner {
813
+ transform: scale(0.95);
814
+ }
815
+
816
+ .segmented-control-button {
817
+ font-family: inherit;
818
+ min-height: 24px;
819
+ margin: 2px;
820
+ background: none;
821
+ border: none;
822
+ color: currentColor;
823
+ -webkit-user-select: none;
824
+ -moz-user-select: none;
825
+ -ms-user-select: none;
826
+ user-select: none;
827
+ text-overflow: ellipsis;
828
+ overflow: hidden;
829
+ z-index: 1;
830
+ }
831
+
832
+ .segmented-control-button:not(.current):hover {
833
+ opacity: 0.6;
834
+ }
835
+
836
+ .segmented-control-button.current {
837
+ color: black;
461
838
  }
462
839
 
463
840
  .box-selector {
464
- border: 2px solid deepskyblue;
465
- background-color: rgba(0, 191, 255, 0.5);
841
+ border: 2px solid deepskyblue;
842
+ background-color: rgba(0, 191, 255, 0.5);
466
843
  }
467
844
 
468
845
  .box-selector-close {
469
- background-color: skyblue;
470
- transition: 0.2s ease-in;
471
- color: #026282;
846
+ background-color: skyblue;
847
+ transition: 0.2s ease-in;
848
+ color: #026282;
472
849
  }
473
850
 
474
851
  .box-selector-close:hover {
475
- color: white;
852
+ color: white;
853
+ }
854
+
855
+ .box-selector-preview {
856
+ width: 40px;
857
+ height: 40px;
858
+ position: relative;
859
+ margin: 20px 20px 0px 10px;
860
+ }
861
+
862
+ @keyframes expand-box-selector-preview {
863
+ from {
864
+ width: 20px;
865
+ height: 16px;
866
+ }
867
+
868
+ to {
869
+ width: 50px;
870
+ height: 30px;
871
+ }
872
+ }
873
+
874
+ .box-selector-preview .box-selector {
875
+ /* width: 20px;
876
+ height: 16px; */
877
+ width: 50px;
878
+ height: 30px;
879
+ position: relative;
880
+ will-change: width, height;
881
+
882
+ animation-duration: 0.5s;
883
+ animation-name: expand-box-selector-preview;
884
+ }
885
+
886
+ .box-selector-preview .icon {
887
+ position: absolute;
888
+ bottom: -7px;
889
+ right: -7px;
890
+ }
891
+
892
+ /* .box-selector-select:hover .box-selector {
893
+ width: 50px;
894
+ height: 30px;
895
+ } */
896
+
897
+ .box-selector-select {
898
+ color: rgba(255, 255, 255, 0.8);
899
+ background-color: rgba(0, 0, 0, 0.5);
900
+ -webkit-backdrop-filter: blur(2px);
901
+ backdrop-filter: blur(2px);
902
+ text-transform: uppercase;
903
+ font-weight: bold;
904
+ text-align: center;
905
+ border-radius: 4px;
906
+ padding: 8px;
907
+ width: content-width;
908
+ }
909
+
910
+ .box-selector-cancel {
911
+ pointer-events: auto;
476
912
  }