@3deye-toolkit/react-camera 0.0.1-alpha.24 → 0.0.1-alpha.25

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.
@@ -40,12 +40,21 @@
40
40
  -moz-user-select: none;
41
41
  -ms-user-select: none;
42
42
  user-select: none;
43
- text-align: center;
44
- align-items: flex-start;
43
+ display: inline-flex;
44
+ justify-content: center;
45
+ align-items: center;
45
46
  border-radius: 4px;
47
+ letter-spacing: .0107142857em;
48
+ font-weight: 500;
49
+ }
50
+
51
+ .x-3deye-button sup {
52
+ position: relative;
53
+ top: -0.5em;
54
+ left: 0.25em;
46
55
  }
47
56
 
48
- .x-3deye-button.fullwidth {
57
+ .x-3deye-button.x-3deye-button--fullwidth {
49
58
  width: 100%;
50
59
  }
51
60
 
@@ -68,50 +77,49 @@
68
77
  opacity: 0.4;
69
78
  }
70
79
 
71
- .x-3deye-button.x-3deye-button--ok,
72
- .x-3deye-button.x-3deye-button--cancel {
73
- color: white;
74
- text-transform: none;
75
- min-width: 80px;
76
- }
77
-
78
- .x-3deye-button.x-3deye-button--ok.fullwidth,
79
- .x-3deye-button.x-3deye-button--cancel.fullwidth {
80
- width: calc(100% - 8px);
81
- }
82
-
83
80
  .x-3deye-button:not(:disabled) {
84
81
  cursor: pointer;
85
82
  }
86
83
 
87
- .x-3deye-button.x-3deye-button--ok {
88
- background-color: #27b9a1;
84
+ .x-3deye-button.x-3deye-button--filled,
85
+ .x-3deye-button.x-3deye-button--text {
86
+ min-width: 80px;
87
+ text-transform: capitalize;
88
+ font-family: 'Roboto', sans-serif;
89
+ font-size: 0.875rem;
90
+ font-weight: 500;
91
+ border-radius: 0.25rem;
92
+ padding: 0 1rem;
89
93
  }
90
94
 
91
- .x-3deye-button.x-3deye-button--ok:not(:disabled):hover {
95
+ .x-3deye-button.x-3deye-button--filled {
96
+ background-color: #27b9a1;
97
+ color: white;
98
+ }
99
+
100
+ .x-3deye-button.x-3deye-button--filled:not(:disabled):hover {
92
101
  background-color: #61beaf;
93
102
  }
94
103
 
95
- .x-3deye-button.x-3deye-button--ok:focus {
104
+ .x-3deye-button.x-3deye-button--filled:focus {
96
105
  transition: box-shadow 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
97
106
  box-shadow: 0 0 0 2px rgba(39, 185, 161, 0.33);
98
107
  }
99
108
 
100
- .x-3deye-button.x-3deye-button--cancel {
101
- background-color: rgb(119, 87, 178);
102
- }
103
-
104
- .x-3deye-button.x-3deye-button--cancel:not(:disabled):hover {
105
- background-color: rgb(142, 122, 180);
109
+ .x-3deye-button canvas {
110
+ color: rgb(var(--surface-highlight-rgb));
106
111
  }
107
112
 
108
- .x-3deye-button.x-3deye-button--cancel:focus {
109
- transition: box-shadow 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
110
- box-shadow: 0 0 0 2px rgba(119, 87, 178, 0.33);
113
+ .x-3deye-button--overlay {
114
+ pointer-events: auto;
115
+ background: rgba(0, 0, 0, 0.5);
116
+ border: 2px solid rgba(255, 255, 255, 0.25);
117
+ color: white;
111
118
  }
112
119
 
113
- .x-3deye-button canvas {
114
- color: rgb(var(--surface-highlight-rgb));
120
+ .x-3deye-button.x-3deye-button--overlay:focus, .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);
115
123
  }
116
124
 
117
125
  :root {
@@ -513,6 +521,10 @@
513
521
  padding: 0;
514
522
  }
515
523
 
524
+ .x-3deye-player__controls--compact .x-3deye-player__control .icon {
525
+ width: 20px;
526
+ }
527
+
516
528
  .x-3deye-player__control--reflowed {
517
529
  width: 20px;
518
530
  }
@@ -578,133 +590,184 @@
578
590
  box-shadow: 0 0 0 0.2rem rgba(20, 69, 101, 0.5);
579
591
  }
580
592
 
581
- .volume-control:hover .volume-range, .volume-control:focus .volume-range {
582
- visibility: visible;
583
- transition: visibility 0s;
593
+ .volume-control:hover .volume-range,
594
+ .volume-control:focus .volume-range,
595
+ .volume-control:focus-within .volume-range {
596
+ visibility: visible;
597
+ transition: visibility 0s;
584
598
  }
585
599
 
586
600
  .volume-range {
587
- background-color: rgba(26,30,29, 0.5);
588
- padding: 4px;
589
- border-radius: 4px;
590
- position: absolute;
591
- height: 32px;
592
- top: -28px;
593
- left: 0;
594
- visibility: hidden;
595
- transition: visibility 0s 0.5s;
596
- transform-origin: 16px 12px;
597
- transform: rotate(270deg);
601
+ --surface-inverse: rgba(255, 255, 255, 0.15);
602
+ --surface-highlight-rgb: 255, 255, 255;
603
+ --primary-color: #0067ac;
604
+ --on-primary-color: white;
605
+ background-color: rgba(26, 30, 29, 0.5);
606
+ padding: 16px 4px;
607
+ border-radius: 4px;
608
+ position: absolute;
609
+ display: flex;
610
+ justify-content: center;
611
+ width: 32px;
612
+ height: 140px;
613
+ bottom: 100%;
614
+ left: 0;
615
+ visibility: hidden;
616
+ transition: visibility 0s 0.5s;
617
+ transform-origin: 16px 12px;
598
618
  }
599
619
 
620
+ .x-3deye-slider {
621
+ position: relative;
622
+ display: flex;
623
+ align-items: center;
624
+ }
600
625
 
601
- .box-selector {
602
- border: 2px solid deepskyblue;
603
- background-color: rgba(0, 191, 255, 0.5);
626
+ .x-3deye-slider:focus-visible {
627
+ outline: none;
604
628
  }
605
629
 
606
- .box-selector-close {
607
- background-color: skyblue;
608
- transition: 0.2s ease-in;
609
- color: #026282;
630
+ .x-3deye-slider.horizontal {
631
+ width: 100%;
632
+ height: 20px;
610
633
  }
611
634
 
612
- .box-selector-close:hover {
613
- color: white;
635
+ .x-3deye-slider.vertical {
636
+ width: 20px;
637
+ height: 100%;
638
+ flex-direction: column;
614
639
  }
615
640
 
616
- .box-selector-preview {
617
- width: 40px;
618
- height: 40px;
619
- position: relative;
620
- margin: 20px 20px 0px 10px;
641
+ .x-3deye-slider__track {
642
+ background: var(--surface-inverse, gainsboro);
643
+ position: relative;
644
+ flex: 1;
621
645
  }
622
646
 
623
- @-webkit-keyframes expand-box-selector-preview {
624
- from {
625
- width: 20px;
626
- height: 16px;
627
- }
647
+ .x-3deye-slider__bar {
648
+ background-color: var(--primary-color, #0067ac);
649
+ position: absolute;
650
+ }
628
651
 
629
- to {
630
- width: 50px;
631
- height: 30px;
632
- }
652
+ .x-3deye-slider.disabled .x-3deye-slider__bar {
653
+ background-color: rgb(165, 165, 165);
633
654
  }
634
655
 
635
- @keyframes expand-box-selector-preview {
636
- from {
637
- width: 20px;
638
- height: 16px;
639
- }
656
+ .x-3deye-slider.horizontal .x-3deye-slider__bar {
657
+ top: 0;
658
+ bottom: 0;
659
+ left: 0;
660
+ }
640
661
 
641
- to {
642
- width: 50px;
643
- height: 30px;
644
- }
662
+ .x-3deye-slider.vertical .x-3deye-slider__bar {
663
+ bottom: 0;
664
+ left: 0;
665
+ right: 0;
645
666
  }
646
667
 
647
- .box-selector-preview .box-selector {
648
- /* width: 20px;
649
- height: 16px; */
650
- width: 50px;
651
- height: 30px;
652
- position: relative;
653
- will-change: width, height;
668
+ .x-3deye-slider.horizontal .x-3deye-slider__track {
669
+ height: 3px;
670
+ }
654
671
 
655
- -webkit-animation-duration: 0.5s;
672
+ .x-3deye-slider.vertical .x-3deye-slider__track {
673
+ width: 3px;
674
+ }
656
675
 
657
- animation-duration: 0.5s;
658
- -webkit-animation-name: expand-box-selector-preview;
659
- animation-name: expand-box-selector-preview;
676
+ .x-3deye-slider__thumb {
677
+ will-change: transform box-shadow;
678
+ background: white;
679
+ box-shadow: 0 0 0 6px rgba(0, 100, 255, 0), 0 0 0 1px rgba(0, 0, 0, 0.1) inset, 1px 1px 2px 0 rgba(0, 0, 0, 0.25);
680
+ width: 20px;
681
+ height: 20px;
682
+ border-radius: 50%;
683
+ transition: box-shadow 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95) 0ms;
660
684
  }
661
685
 
662
- .box-selector-preview .icon {
663
- position: absolute;
664
- bottom: -7px;
665
- right: -7px;
686
+ .x-3deye-slider:not(.disabled) .x-3deye-slider__thumb:hover,
687
+ .x-3deye-slider:focus .x-3deye-slider__thumb {
688
+ box-shadow: 0 0 0 6px rgba(var(--surface-highlight-rgb, 0, 100, 255), 0.1), 0 0 0 1px rgba(0, 0, 0, 0.1) inset,
689
+ 1px 1px 2px 0 rgba(0, 0, 0, 0.25);
666
690
  }
667
691
 
668
- /* .box-selector-select:hover .box-selector {
669
- width: 50px;
670
- height: 30px;
671
- } */
692
+ .x-3deye-slider:focus .x-3deye-slider__thumb.active {
693
+ box-shadow: 0 0 0 6px rgba(var(--surface-highlight-rgb, 0, 100, 255), 0.2), 0 0 0 1px rgba(0, 0, 0, 0.1) inset,
694
+ 1px 1px 2px 0 rgba(0, 0, 0, 0.25);
695
+ }
672
696
 
673
- .box-selector-select {
674
- color: rgba(255, 255, 255, 0.8);
675
- background-color: rgba(0, 0, 0, 0.5);
676
- -webkit-backdrop-filter: blur(2px);
677
- backdrop-filter: blur(2px);
678
- text-transform: uppercase;
679
- font-weight: bold;
680
- text-align: center;
697
+ .x-3deye-slider.horizontal .x-3deye-slider__thumb {
698
+ margin-left: -10px;
699
+ }
700
+
701
+ .x-3deye-slider.vertical .x-3deye-slider__thumb {
702
+ margin-bottom: -10px;
703
+ }
704
+
705
+ .x-3deye-slider__label {
706
+ pointer-events: none;
707
+ touch-action: none;
708
+ will-change: transform;
709
+ transform: translate(-50%, -100%) scale(0);
710
+ background: var(--primary-color, #0067ac);
711
+ bottom: 50%;
712
+ left: 50%;
713
+ color: var(--on-primary-color, white);
714
+ font-size: 0.75rem;
681
715
  border-radius: 4px;
682
- padding: 8px;
683
- width: content-width;
716
+ width: -webkit-fit-content;
717
+ width: -moz-fit-content;
718
+ width: fit-content;
719
+ min-width: 24px;
720
+ padding: 4px 8px;
721
+ position: relative;
722
+ transition: transform 150ms cubic-bezier(0.45, 0.05, 0.55, 0.95) 0ms;
723
+ transform-origin: center bottom;
684
724
  }
685
725
 
686
- .box-selector-cancel {
687
- pointer-events: auto;
726
+ .x-3deye-slider__label.open,
727
+ .x-3deye-slider:not(.disabled) .x-3deye-slider__thumb:hover .x-3deye-slider__label,
728
+ .x-3deye-slider:focus .x-3deye-slider__label {
729
+ transform: translate(-50%, -100%) scale(1);
730
+ }
731
+
732
+ .x-3deye-slider__label::before {
733
+ content: '';
734
+ display: block;
735
+ position: absolute;
736
+ top: 100%;
737
+ left: calc(50% - 5px);
738
+ width: 0;
739
+ height: 0;
740
+ border-left: 5px solid transparent;
741
+ border-right: 5px solid transparent;
742
+ border-top: 5px solid var(--primary-color, #0067ac);
688
743
  }
689
744
 
690
745
  .ptz-popover.x-3deye-popover-body {
691
- border-radius: 6px;
692
- background-color: rgba(15, 15, 20, 0.7);
693
- box-shadow: none;
694
- color: rgba(255, 255, 255, 0.8);
695
- border: 1px solid rgba(255, 255, 255, 0.2);
696
- -webkit-backdrop-filter: blur(1px);
697
- backdrop-filter: blur(1px);
746
+ border-radius: 6px;
747
+ background-color: rgba(15, 15, 20, 0.7);
748
+ box-shadow: none;
749
+ color: rgba(255, 255, 255, 0.8);
750
+ border: 1px solid rgba(255, 255, 255, 0.2);
751
+ -webkit-backdrop-filter: blur(1px);
752
+ backdrop-filter: blur(1px);
698
753
  }
699
754
 
700
755
  .ptz-popover .tip {
701
- fill: rgba(15, 15, 20, 0.5);
756
+ fill: rgba(15, 15, 20, 0.5);
757
+ }
758
+
759
+ .ptz-popover {
760
+ --surface-inverse: rgba(255, 255, 255, 0.15);
761
+ --surface-highlight-rgb: 255, 255, 255;
762
+ --primary-color: #0067ac;
763
+ --on-primary-color: white;
702
764
  }
703
765
 
704
766
  .segmented-control-wrapper {
705
767
  display: inline-grid;
706
768
  border-radius: 6px;
707
- background: rgba(0, 0, 0, 0.065);
769
+ /* background: rgba(0, 0, 0, 0.065); */
770
+ background-color: var(--surface-inverse);
708
771
  }
709
772
 
710
773
  .segmented-control {
@@ -761,3 +824,92 @@
761
824
  .segmented-control-button.current {
762
825
  color: black;
763
826
  }
827
+
828
+ .box-selector {
829
+ border: 2px solid deepskyblue;
830
+ background-color: rgba(0, 191, 255, 0.5);
831
+ }
832
+
833
+ .box-selector-close {
834
+ background-color: skyblue;
835
+ transition: 0.2s ease-in;
836
+ color: #026282;
837
+ }
838
+
839
+ .box-selector-close:hover {
840
+ color: white;
841
+ }
842
+
843
+ .box-selector-preview {
844
+ width: 40px;
845
+ height: 40px;
846
+ position: relative;
847
+ margin: 20px 20px 0px 10px;
848
+ }
849
+
850
+ @-webkit-keyframes expand-box-selector-preview {
851
+ from {
852
+ width: 20px;
853
+ height: 16px;
854
+ }
855
+
856
+ to {
857
+ width: 50px;
858
+ height: 30px;
859
+ }
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
+ -webkit-animation-duration: 0.5s;
883
+
884
+ animation-duration: 0.5s;
885
+ -webkit-animation-name: expand-box-selector-preview;
886
+ animation-name: expand-box-selector-preview;
887
+ }
888
+
889
+ .box-selector-preview .icon {
890
+ position: absolute;
891
+ bottom: -7px;
892
+ right: -7px;
893
+ }
894
+
895
+ /* .box-selector-select:hover .box-selector {
896
+ width: 50px;
897
+ height: 30px;
898
+ } */
899
+
900
+ .box-selector-select {
901
+ color: rgba(255, 255, 255, 0.8);
902
+ background-color: rgba(0, 0, 0, 0.5);
903
+ -webkit-backdrop-filter: blur(2px);
904
+ backdrop-filter: blur(2px);
905
+ text-transform: uppercase;
906
+ font-weight: bold;
907
+ text-align: center;
908
+ border-radius: 4px;
909
+ padding: 8px;
910
+ width: content-width;
911
+ }
912
+
913
+ .box-selector-cancel {
914
+ pointer-events: auto;
915
+ }