@3deye-toolkit/react-camera 0.0.1-alpha.21

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.
@@ -0,0 +1,739 @@
1
+ .x-3deye-player * {
2
+ box-sizing: border-box;
3
+ }
4
+
5
+ .x-3deye-player {
6
+ position: relative;
7
+ background-color: black;
8
+ overflow: hidden;
9
+ }
10
+
11
+ .x-3deye-player__zoomable {
12
+ width: 100%;
13
+ height: 100%;
14
+ }
15
+
16
+ .x-3deye-player video {
17
+ width: 100%;
18
+ height: 100%;
19
+ position: absolute;
20
+ top: 0;
21
+ left: 0;
22
+ bottom: 0;
23
+ right: 0;
24
+ }
25
+
26
+ .x-3deye-button {
27
+ color: inherit;
28
+ background: none;
29
+ border: none;
30
+ position: relative;
31
+ padding: 4px;
32
+ text-transform: uppercase;
33
+ -webkit-user-select: none;
34
+ -moz-user-select: none;
35
+ -ms-user-select: none;
36
+ user-select: none;
37
+ font-family: 'Roboto', sans-serif;
38
+ text-align: center;
39
+ align-items: flex-start;
40
+ }
41
+
42
+ .x-3deye-button.fullwidth {
43
+ width: 100%;
44
+ }
45
+
46
+ .x-3deye-button:focus, .x-3deye-button.x-3deye-button--icon:not(:disabled):hover {
47
+ background-color: rgba(var(--surface-highlight-rgb), 0.1);
48
+ }
49
+
50
+ .x-3deye-button--icon {
51
+ border-radius: 16px;
52
+ width: 32px;
53
+ height: 32px;
54
+ display: inline-flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ }
58
+
59
+ .x-3deye-button:disabled {
60
+ opacity: 0.4;
61
+ }
62
+
63
+ .x-3deye-button.x-3deye-button--save, .x-3deye-button.x-3deye-button--cancel {
64
+ color: white;
65
+ border-radius: 4px;
66
+ text-transform: none;
67
+ margin: 4px;
68
+ min-width: 80px;
69
+ }
70
+
71
+ .x-3deye-button.x-3deye-button--save.fullwidth, .x-3deye-button.x-3deye-button--cancel.fullwidth {
72
+ width: calc(100% - 8px);
73
+ }
74
+
75
+ .x-3deye-button:not(:disabled) {
76
+ cursor: pointer;
77
+ }
78
+
79
+ .x-3deye-button.x-3deye-button--save {
80
+ background-color: #27B9A1;
81
+ }
82
+
83
+ .x-3deye-button.x-3deye-button--save:focus {
84
+ transition: box-shadow 0.2s cubic-bezier(0.215, 0.610, 0.355, 1);
85
+ box-shadow: 0 0 0 2px rgba(39, 185, 161, 0.33);
86
+ }
87
+
88
+ .x-3deye-button.x-3deye-button--cancel {
89
+ background-color: rgb(119, 87, 178);
90
+ }
91
+
92
+ .x-3deye-button.x-3deye-button--cancel:focus {
93
+ transition: box-shadow 0.2s cubic-bezier(0.215, 0.610, 0.355, 1);
94
+ box-shadow: 0 0 0 2px rgba(119, 87, 178, 0.33);
95
+ }
96
+
97
+
98
+ .x-3deye-button canvas {
99
+ color: rgb(var(--surface-highlight-rgb));
100
+ }
101
+
102
+ :root {
103
+ --reach-tooltip: 1;
104
+ }
105
+
106
+ [data-reach-tooltip] {
107
+ z-index: 1;
108
+ pointer-events: none;
109
+ position: absolute;
110
+ padding: 0.25em 0.5em;
111
+ box-shadow: 2px 2px 10px hsla(0, 0%, 0%, 0.1);
112
+ white-space: nowrap;
113
+ font-size: 85%;
114
+ background: #f0f0f0;
115
+ color: #444;
116
+ border: solid 1px #ccc;
117
+ }
118
+
119
+ .spinner {
120
+ -webkit-animation: spinner-rotation 1.5s linear infinite;
121
+ animation: spinner-rotation 1.5s linear infinite;
122
+ width: 65px;
123
+ height: 65px;
124
+ }
125
+
126
+ .spinner circle {
127
+ stroke-dasharray: 207.34;
128
+ stroke-dashoffset: 0;
129
+ transform-origin: center;
130
+ -webkit-animation: spinner-dash 1.5s ease-in-out infinite;
131
+ animation: spinner-dash 1.5s ease-in-out infinite;
132
+ }
133
+
134
+ @-webkit-keyframes spinner-rotation {
135
+ 0% {
136
+ transform: rotate(0deg);
137
+ }
138
+ 100% {
139
+ transform: rotate(270deg);
140
+ }
141
+ }
142
+
143
+ @keyframes spinner-rotation {
144
+ 0% {
145
+ transform: rotate(0deg);
146
+ }
147
+ 100% {
148
+ transform: rotate(270deg);
149
+ }
150
+ }
151
+
152
+ @-webkit-keyframes spinner-dash {
153
+ 0% {
154
+ stroke-dashoffset: 207.34;
155
+ }
156
+ 50% {
157
+ stroke-dashoffset: 51.835; /* offset / 4 */
158
+ transform: rotate(135deg);
159
+ }
160
+ 100% {
161
+ stroke-dashoffset: 207.34;
162
+ transform: rotate(450deg);
163
+ }
164
+ }
165
+
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
+ }
178
+ }
179
+
180
+ .x-3deye-player__camera-name-popover.x-3deye-popover-body {
181
+ border-radius: 2px;
182
+ background-color: rgba(15, 15, 20, 0.8);
183
+ box-shadow: none;
184
+ color: white;
185
+ white-space: nowrap;
186
+ }
187
+
188
+ .x-3deye-player__camera-name-popover.x-3deye-popover-body svg {
189
+ fill: rgba(15, 15, 20, 0.8);
190
+ }
191
+
192
+ .x-3deye-player__camera-name-popover.x-3deye-popover-body button.x-3deye-button {
193
+ pointer-events: auto;
194
+ font-size: inherit;
195
+ }
196
+
197
+ .x-3deye-player__camera-name-popover.x-3deye-popover-body button.x-3deye-button:hover {
198
+ text-decoration: underline;
199
+ }
200
+
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);
211
+ }
212
+
213
+ .x-3deye-player__camera-name:hover {
214
+ text-decoration: underline;
215
+ }
216
+
217
+ .x-3deye-popover {
218
+ position: relative;
219
+ }
220
+
221
+ .x-3deye-popover-body {
222
+ background-color: white;
223
+ padding: 8px;
224
+ border-radius: 8px;
225
+ box-shadow: 0 0 8px 0px black;
226
+ }
227
+
228
+ .x-3deye-player__stats > summary:hover {
229
+ text-decoration: underline;
230
+ }
231
+
232
+ .x-3deye-player__stats dl {
233
+ display: table;
234
+ }
235
+
236
+ .x-3deye-player__stats dl > div {
237
+ display: table-row;
238
+ }
239
+
240
+ .x-3deye-player__stats dl > div > dt, .x-3deye-player__stats dl > div > dd {
241
+ display: table-cell;
242
+ }
243
+
244
+ .x-3deye-player__stats dl > div > dd {
245
+ text-align: right;
246
+ }
247
+
248
+ .x-3deye-live-indicator {
249
+ -webkit-user-select: none;
250
+ -moz-user-select: none;
251
+ -ms-user-select: none;
252
+ user-select: none;
253
+ padding: 0 5px;
254
+ color: rgba(0, 0, 0, 0.7);
255
+ background-color: white;
256
+ font-weight: bold;
257
+ text-transform: uppercase;
258
+ opacity: 0.8;
259
+ }
260
+
261
+ .x-3deye-button--live {
262
+ height: 24px;
263
+ padding: 0 12px;
264
+ background-color: rgba(0, 0, 0, 0.25);
265
+ border-radius: 15px;
266
+ margin: 0;
267
+ color: orange;
268
+ text-shadow: 1px 1px 1px black;
269
+ }
270
+
271
+ .x-3deye-player__overlay .x-3deye-button-go-live:focus {
272
+ box-shadow: 0 0 2px orange;
273
+ }
274
+
275
+ .x-3deye-delay-indicator:hover {
276
+ text-decoration: underline;
277
+ }
278
+
279
+ .x-3deye-delay-indicator {
280
+ background-color: rgba(0, 0, 0, 0.25);
281
+ border-radius: 15px;
282
+ padding: 2px 8px;
283
+ }
284
+
285
+ .x-3deye-player__playback-indicator {
286
+ pointer-events: none;
287
+ position: absolute;
288
+ top: 50%;
289
+ left: 50%;
290
+ transform: translate(-50%, -50%);
291
+ -webkit-animation: playback-indicator-fade-out 0.5s linear forwards;
292
+ animation: playback-indicator-fade-out 0.5s linear forwards;
293
+ display: none;
294
+ background-color: rgba(0, 0, 0, 0.5);
295
+ width: 48px;
296
+ height: 48px;
297
+ padding: 8px;
298
+ border-radius: 48px;
299
+ }
300
+
301
+ @-webkit-keyframes playback-indicator-fade-out {
302
+ 0% {
303
+ opacity: 1;
304
+ transform: translate(-50%, -50%) scale(1);
305
+ }
306
+
307
+ 100% {
308
+ opacity: 0;
309
+ transform: translate(-50%, -50%) scale(2);
310
+ }
311
+ }
312
+
313
+ @keyframes playback-indicator-fade-out {
314
+ 0% {
315
+ opacity: 1;
316
+ transform: translate(-50%, -50%) scale(1);
317
+ }
318
+
319
+ 100% {
320
+ opacity: 0;
321
+ transform: translate(-50%, -50%) scale(2);
322
+ }
323
+ }
324
+
325
+ .x-3deye-player__overlay {
326
+ position: absolute;
327
+ top: 0;
328
+ left: 0;
329
+ bottom: 0;
330
+ right: 0;
331
+ color: white;
332
+ }
333
+
334
+ .x-3deye-player__controls {
335
+ position: absolute;
336
+ left: 0;
337
+ bottom: 0;
338
+ right: 0;
339
+ height: 54px;
340
+ opacity: 0;
341
+ display: flex;
342
+ pointer-events: none;
343
+ }
344
+
345
+ .x-3deye-player__controls > * {
346
+ pointer-events: auto;
347
+ }
348
+
349
+ .x-3deye-player__overlay:hover .x-3deye-player__controls, .x-3deye-player__controls:focus-within, .x-3deye-player--paused .x-3deye-player__controls {
350
+ opacity: 1;
351
+ }
352
+
353
+ .x-3deye-player__indicators {
354
+ display: flex;
355
+ pointer-events: none;
356
+ align-items: center;
357
+ }
358
+
359
+ .x-3deye-player__indicators > * {
360
+ margin: 5px;
361
+ }
362
+
363
+ .x-3deye-player__overlay .x-3deye-button--live {
364
+ opacity: 0;
365
+ margin: 3px 5px;
366
+ }
367
+
368
+ .x-3deye-player__overlay:hover .x-3deye-button--live, .x-3deye-button--live:focus {
369
+ opacity: 1;
370
+ }
371
+
372
+ .x-3deye-player__overlay .x-3deye-player__camera-name {
373
+ pointer-events: auto;
374
+ }
375
+
376
+ .x-3deye-player__current-time {
377
+ line-height: 16px;
378
+ font-size: 11px;
379
+ text-shadow: 1px 1px 1px black;
380
+ background-color: rgba(0, 0, 0, 0.25);
381
+ padding: 2px 16px;
382
+ border-radius: 16px;
383
+ }
384
+
385
+ .x-3deye-player__current-time--synced {
386
+ background-color: rgb(147, 221, 30, 0.6);
387
+ }
388
+
389
+ .x-3deye-player__zoom-preview {
390
+ display: flex;
391
+ flex-direction: column;
392
+ position: absolute;
393
+ right: 40px;
394
+ top: 50%;
395
+ transform: translateY(-50%);
396
+ background-color: rgba(0, 0, 0, 0.7);
397
+ border: 1px solid white;
398
+ }
399
+
400
+ .x-3deye-player__zoom-preview .zoom-value {
401
+ position: absolute;
402
+ top: 0;
403
+ left: 0;
404
+ right: 0;
405
+ bottom: 0;
406
+ display: flex;
407
+ justify-content: center;
408
+ align-items: center;
409
+ font-family: monospace;
410
+ font-size: 32px;
411
+ font-weight: bold;
412
+ color: white;
413
+ text-shadow: 0 1px 1px black;
414
+ }
415
+
416
+ .x-3deye-player__zoom-preview .x-3deye-player__zoomable {
417
+ position: relative;
418
+ flex: 1;
419
+ background-color: rgba(255, 255, 255, 0.5);
420
+ }
421
+
422
+ .x-3deye-player__zoom-slider {
423
+ position: absolute;
424
+ right: 10px;
425
+ top: 50%;
426
+ transform: translateY(-50%);
427
+ width: 30px;
428
+ padding: 10px 5px;
429
+ background-color: rgba(0, 0, 0, 0.5);
430
+ border-radius: 4px;
431
+ -webkit-backdrop-filter: blur(2px);
432
+ backdrop-filter: blur(2px);
433
+ }
434
+
435
+ .x-3deye-player__zoom-slider .tick {
436
+ margin-left: 4px;
437
+ width: 12px;
438
+ height: 10px;
439
+ border-top: 1px solid rgba(255, 255, 255, 0.4);
440
+ }
441
+
442
+ .x-3deye-player__zoom-slider .tick:nth-child(5n + 1) {
443
+ margin-left: 0px;
444
+ width: 20px;
445
+ border-top-width: 2px;
446
+ }
447
+
448
+ .x-3deye-player__zoom-slider .tick:last-child {
449
+ height: 0;
450
+ }
451
+
452
+ .x-3deye-player__zoom-slider .rotation-button {
453
+ margin-left: -4px;
454
+ margin-bottom: -4px;
455
+ width: 28px;
456
+ text-align: right;
457
+ color: white;
458
+ }
459
+
460
+ .x-3deye-player__zoom-preview {
461
+ display: none;
462
+ }
463
+
464
+ .x-3deye-player__zoom-slider:hover + .x-3deye-player__zoom-preview,
465
+ .x-3deye-player__zoom-slider + .x-3deye-player__zoom-preview:focus,
466
+ .x-3deye-player__zoom-preview:hover,
467
+ .x-3deye-player__zoom-preview:focus {
468
+ display: block;
469
+ }
470
+
471
+ .x-3deye-player__controls {
472
+ display: flex;
473
+ padding: 8px;
474
+ }
475
+
476
+ .x-3deye-player__controls .spacer {
477
+ pointer-events: none;
478
+ flex: 1;
479
+ }
480
+
481
+ .x-3deye-player__control {
482
+ width: 38px;
483
+ height: 38px;
484
+ background-color: rgb(26,30,29, 0.8);
485
+ color: rgba(255, 255, 255, 0.6);
486
+ display: flex;
487
+ justify-content: center;
488
+ align-items: center;
489
+ }
490
+
491
+ .x-3deye-player__controls--compact .x-3deye-player__control {
492
+ padding: 0;
493
+ }
494
+
495
+ .x-3deye-player__control--reflowed {
496
+ width: 20px;
497
+ }
498
+
499
+ .x-3deye-player__control + .x-3deye-player__control {
500
+ border-left: 1px solid rgb(26,30,29);
501
+ }
502
+
503
+ .x-3deye-player__control:hover {
504
+ background-color: #2a2e2d;
505
+ color: white;
506
+ }
507
+
508
+ .x-3deye-player__control:focus {
509
+ box-shadow: 0 0 0 0.2rem rgba(52,58,64,.5);
510
+ background-color: rgb(26,30,29, 0.8);
511
+ z-index: 1;
512
+ }
513
+
514
+ .x-3deye-player__control:first-child {
515
+ border-top-left-radius: 4px;
516
+ border-bottom-left-radius: 4px;
517
+ }
518
+
519
+ .x-3deye-player__controls > .x-3deye-player__control:last-child {
520
+ border-top-right-radius: 4px;
521
+ border-bottom-right-radius: 4px;
522
+ }
523
+
524
+ .x-3deye-player__controls--spaced > .spacer+.x-3deye-player__control {
525
+ border-top-left-radius: 4px;
526
+ border-bottom-left-radius: 4px;
527
+ }
528
+
529
+ .x-3deye-player__controls--spaced > .x-3deye-player__control.before-spacer {
530
+ border-top-right-radius: 4px;
531
+ border-bottom-right-radius: 4px;
532
+ }
533
+
534
+ .x-3deye-player__control-close {
535
+ background-color: rgba(156, 51, 49, 0.8);
536
+ }
537
+
538
+ .x-3deye-player__control-close:hover {
539
+ background-color: rgba(156, 51, 49);
540
+ }
541
+
542
+ .x-3deye-player__control-close:focus {
543
+ background-color: rgba(156, 51, 49, 0.8);
544
+ box-shadow: 0 0 0 0.2rem rgba(101, 20, 46, 0.5);
545
+ }
546
+
547
+ .x-3deye-player--paused .x-3deye-player__control-playpause {
548
+ background-color: rgba(49, 106, 156, 0.8);
549
+ }
550
+
551
+ .x-3deye-player--paused .x-3deye-player__control-playpause:hover {
552
+ background-color: rgba(49, 106, 156);
553
+ }
554
+
555
+ .x-3deye-player--paused .x-3deye-player__control-playpause:focus {
556
+ background-color: rgba(49, 106, 156, 0.8);
557
+ box-shadow: 0 0 0 0.2rem rgba(20, 69, 101, 0.5);
558
+ }
559
+
560
+ .volume-control:hover .volume-range, .volume-control:focus .volume-range {
561
+ visibility: visible;
562
+ transition: visibility 0s;
563
+ }
564
+
565
+ .volume-range {
566
+ background-color: rgba(26,30,29, 0.5);
567
+ padding: 4px;
568
+ border-radius: 4px;
569
+ position: absolute;
570
+ height: 32px;
571
+ top: -28px;
572
+ left: 0;
573
+ visibility: hidden;
574
+ transition: visibility 0s 0.5s;
575
+ transform-origin: 16px 12px;
576
+ transform: rotate(270deg);
577
+ }
578
+
579
+
580
+ .box-selector {
581
+ border: 2px solid deepskyblue;
582
+ background-color: rgba(0, 191, 255, 0.5);
583
+ }
584
+
585
+ .box-selector-close {
586
+ background-color: skyblue;
587
+ transition: 0.2s ease-in;
588
+ color: #026282;
589
+ }
590
+
591
+ .box-selector-close:hover {
592
+ color: white;
593
+ }
594
+
595
+ .box-selector-preview {
596
+ width: 40px;
597
+ height: 40px;
598
+ position: relative;
599
+ margin: 20px 20px 0px 10px;
600
+ }
601
+
602
+ @-webkit-keyframes expand-box-selector-preview {
603
+ from {
604
+ width: 20px;
605
+ height: 16px;
606
+ }
607
+
608
+ to {
609
+ width: 50px;
610
+ height: 30px;
611
+ }
612
+ }
613
+
614
+ @keyframes expand-box-selector-preview {
615
+ from {
616
+ width: 20px;
617
+ height: 16px;
618
+ }
619
+
620
+ to {
621
+ width: 50px;
622
+ height: 30px;
623
+ }
624
+ }
625
+
626
+ .box-selector-preview .box-selector {
627
+ /* width: 20px;
628
+ height: 16px; */
629
+ width: 50px;
630
+ height: 30px;
631
+ position: relative;
632
+ will-change: width, height;
633
+
634
+ -webkit-animation-duration: 0.5s;
635
+
636
+ animation-duration: 0.5s;
637
+ -webkit-animation-name: expand-box-selector-preview;
638
+ animation-name: expand-box-selector-preview;
639
+ }
640
+
641
+ .box-selector-preview .icon {
642
+ position: absolute;
643
+ bottom: -7px;
644
+ right: -7px;
645
+ }
646
+
647
+ /* .box-selector-select:hover .box-selector {
648
+ width: 50px;
649
+ height: 30px;
650
+ } */
651
+
652
+ .box-selector-select {
653
+ color: rgba(255, 255, 255, 0.8);
654
+ background-color: rgba(0, 0, 0, 0.5);
655
+ -webkit-backdrop-filter: blur(2px);
656
+ backdrop-filter: blur(2px);
657
+ text-transform: uppercase;
658
+ font-weight: bold;
659
+ text-align: center;
660
+ border-radius: 4px;
661
+ padding: 8px;
662
+ width: content-width;
663
+ }
664
+
665
+ .box-selector-cancel {
666
+ pointer-events: auto;
667
+ }
668
+
669
+ .ptz-popover.x-3deye-popover-body {
670
+ border-radius: 6px;
671
+ background-color: rgba(15, 15, 20, 0.5);
672
+ box-shadow: none;
673
+ color: rgba(255, 255, 255, 0.8);
674
+ }
675
+
676
+ .ptz-popover .tip {
677
+ fill: rgba(15, 15, 20, 0.5);
678
+ }
679
+
680
+ .segmented-control-wrapper {
681
+ display: inline-grid;
682
+ border-radius: 6px;
683
+ background: rgba(0, 0, 0, 0.065);
684
+ }
685
+
686
+ .segmented-control {
687
+ display: grid;
688
+ margin: 2px;
689
+ position: relative;
690
+ grid-auto-flow: column;
691
+ grid-auto-columns: 1fr;
692
+ --indicator-offset: 0%;
693
+ }
694
+
695
+ .segmented-control-indicator {
696
+ position: absolute;
697
+ height: 100%;
698
+ pointer-events: none;
699
+ transform: translateX(var(--indicator-offset));
700
+ transition: 0.2s ease-in-out;
701
+ }
702
+
703
+ .segmented-control-indicator-inner {
704
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.16);
705
+ border-radius: 6px;
706
+ background: #fff;
707
+ transition: 0.2s;
708
+ transform: scale(1);
709
+ position: absolute;
710
+ inset: 0;
711
+ }
712
+
713
+ .segmented-control-indicator.active .segmented-control-indicator-inner {
714
+ transform: scale(0.95);
715
+ }
716
+
717
+ .segmented-control-button {
718
+ font-family: inherit;
719
+ min-height: 24px;
720
+ margin: 2px;
721
+ background: none;
722
+ border: none;
723
+ color: currentColor;
724
+ -webkit-user-select: none;
725
+ -moz-user-select: none;
726
+ -ms-user-select: none;
727
+ user-select: none;
728
+ text-overflow: ellipsis;
729
+ overflow: hidden;
730
+ z-index: 1;
731
+ }
732
+
733
+ .segmented-control-button:not(.current):hover {
734
+ opacity: 0.6;
735
+ }
736
+
737
+ .segmented-control-button.current {
738
+ color: black;
739
+ }