@usefy/screen-recorder 0.2.2 → 0.2.3

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/dist/styles.css CHANGED
@@ -1,4 +1,4 @@
1
- /* components/Trigger/Trigger.module.scss */
1
+ /* components/Countdown/Countdown.module.scss */
2
2
  @keyframes pulse {
3
3
  0%, 100% {
4
4
  opacity: 1;
@@ -55,7 +55,46 @@
55
55
  opacity: 1;
56
56
  }
57
57
  }
58
- .Trigger_trigger__dtqfb {
58
+ .Countdown_overlay__cif1q {
59
+ position: fixed;
60
+ top: 0;
61
+ right: 0;
62
+ bottom: 0;
63
+ left: 0;
64
+ display: flex;
65
+ flex-direction: column;
66
+ align-items: center;
67
+ justify-content: center;
68
+ background-color: rgba(0, 0, 0, 0.5);
69
+ backdrop-filter: blur(4px);
70
+ -webkit-backdrop-filter: blur(4px);
71
+ animation: fade-in 200ms ease-out;
72
+ }
73
+
74
+ .Countdown_countdownCircle__cif1q {
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ width: 8rem;
79
+ height: 8rem;
80
+ border-radius: 9999px;
81
+ background-color: rgba(255, 255, 255, 0.1);
82
+ border: 4px solid rgba(255, 255, 255, 0.3);
83
+ color: white;
84
+ font-size: 4.5rem;
85
+ font-weight: 700;
86
+ animation: countdown-scale 500ms ease-out;
87
+ }
88
+
89
+ .Countdown_message__cif1q {
90
+ margin-top: 1.5rem;
91
+ color: rgba(255, 255, 255, 0.8);
92
+ font-size: 1.125rem;
93
+ line-height: 1.25;
94
+ font-weight: 500;
95
+ }
96
+
97
+ .Countdown_cancelButton__cif1q {
59
98
  -webkit-appearance: none;
60
99
  -moz-appearance: none;
61
100
  appearance: none;
@@ -67,71 +106,28 @@
67
106
  color: inherit;
68
107
  cursor: pointer;
69
108
  }
70
- .Trigger_trigger__dtqfb:disabled {
109
+ .Countdown_cancelButton__cif1q:disabled {
71
110
  cursor: not-allowed;
72
111
  }
73
- .Trigger_trigger__dtqfb {
74
- position: fixed;
75
- display: flex;
76
- align-items: center;
77
- justify-content: center;
78
- gap: 0.5rem;
79
- padding: 0.625rem 1rem;
112
+ .Countdown_cancelButton__cif1q {
113
+ margin-top: 2rem;
114
+ padding: 0.5rem 1.5rem;
80
115
  border-radius: 9999px;
81
- font-weight: 500;
116
+ background-color: rgba(255, 255, 255, 0.1);
117
+ color: white;
82
118
  font-size: 0.875rem;
83
119
  line-height: 1.5;
84
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
85
- background-color: #dc2626;
86
- color: white;
87
- transition-property: all;
120
+ font-weight: 500;
121
+ transition-property: color, background-color, border-color;
88
122
  transition-duration: 200ms;
89
123
  transition-timing-function: ease-out;
90
124
  }
91
- .Trigger_trigger__dtqfb:hover:not(:disabled) {
92
- background-color: #b91c1c;
93
- transform: scale(1.05);
94
- }
95
- .Trigger_trigger__dtqfb:active:not(:disabled) {
96
- background-color: #991b1b;
97
- transform: scale(0.95);
125
+ .Countdown_cancelButton__cif1q:hover {
126
+ background-color: rgba(255, 255, 255, 0.2);
98
127
  }
99
- .Trigger_trigger__dtqfb:focus {
128
+ .Countdown_cancelButton__cif1q:focus {
100
129
  outline: none;
101
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1), 0 0 0 2px white, 0 0 0 4px #ef4444;
102
- }
103
- .Trigger_trigger__dtqfb:disabled {
104
- opacity: 0.5;
105
- cursor: not-allowed;
106
- }
107
- .Trigger_trigger__dtqfb:disabled:hover {
108
- background-color: #dc2626;
109
- transform: none;
110
- }
111
-
112
- .Trigger_topLeft__dtqfb {
113
- top: 1rem;
114
- left: 1rem;
115
- }
116
-
117
- .Trigger_topRight__dtqfb {
118
- top: 1rem;
119
- right: 1rem;
120
- }
121
-
122
- .Trigger_bottomLeft__dtqfb {
123
- bottom: 1rem;
124
- left: 1rem;
125
- }
126
-
127
- .Trigger_bottomRight__dtqfb {
128
- bottom: 1rem;
129
- right: 1rem;
130
- }
131
-
132
- .Trigger_icon__dtqfb {
133
- width: 1.25rem;
134
- height: 1.25rem;
130
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
135
131
  }
136
132
 
137
133
  /* components/Status/StatusBadge.module.scss */
@@ -341,138 +337,6 @@
341
337
  color: #9ca3af;
342
338
  }
343
339
 
344
- /* components/Countdown/Countdown.module.scss */
345
- @keyframes pulse {
346
- 0%, 100% {
347
- opacity: 1;
348
- }
349
- 50% {
350
- opacity: 0.5;
351
- }
352
- }
353
- @keyframes pulse-record {
354
- 0%, 100% {
355
- opacity: 1;
356
- }
357
- 50% {
358
- opacity: 0.5;
359
- }
360
- }
361
- @keyframes spin {
362
- from {
363
- transform: rotate(0deg);
364
- }
365
- to {
366
- transform: rotate(360deg);
367
- }
368
- }
369
- @keyframes fade-in {
370
- 0% {
371
- opacity: 0;
372
- }
373
- 100% {
374
- opacity: 1;
375
- }
376
- }
377
- @keyframes slide-up {
378
- 0% {
379
- transform: translateY(10px);
380
- opacity: 0;
381
- }
382
- 100% {
383
- transform: translateY(0);
384
- opacity: 1;
385
- }
386
- }
387
- @keyframes countdown-scale {
388
- 0% {
389
- transform: scale(0.5);
390
- opacity: 0;
391
- }
392
- 50% {
393
- transform: scale(1.2);
394
- opacity: 1;
395
- }
396
- 100% {
397
- transform: scale(1);
398
- opacity: 1;
399
- }
400
- }
401
- .Countdown_overlay__cif1q {
402
- position: fixed;
403
- top: 0;
404
- right: 0;
405
- bottom: 0;
406
- left: 0;
407
- display: flex;
408
- flex-direction: column;
409
- align-items: center;
410
- justify-content: center;
411
- background-color: rgba(0, 0, 0, 0.5);
412
- backdrop-filter: blur(4px);
413
- -webkit-backdrop-filter: blur(4px);
414
- animation: fade-in 200ms ease-out;
415
- }
416
-
417
- .Countdown_countdownCircle__cif1q {
418
- display: flex;
419
- align-items: center;
420
- justify-content: center;
421
- width: 8rem;
422
- height: 8rem;
423
- border-radius: 9999px;
424
- background-color: rgba(255, 255, 255, 0.1);
425
- border: 4px solid rgba(255, 255, 255, 0.3);
426
- color: white;
427
- font-size: 4.5rem;
428
- font-weight: 700;
429
- animation: countdown-scale 500ms ease-out;
430
- }
431
-
432
- .Countdown_message__cif1q {
433
- margin-top: 1.5rem;
434
- color: rgba(255, 255, 255, 0.8);
435
- font-size: 1.125rem;
436
- line-height: 1.25;
437
- font-weight: 500;
438
- }
439
-
440
- .Countdown_cancelButton__cif1q {
441
- -webkit-appearance: none;
442
- -moz-appearance: none;
443
- appearance: none;
444
- background: none;
445
- border: none;
446
- padding: 0;
447
- margin: 0;
448
- font: inherit;
449
- color: inherit;
450
- cursor: pointer;
451
- }
452
- .Countdown_cancelButton__cif1q:disabled {
453
- cursor: not-allowed;
454
- }
455
- .Countdown_cancelButton__cif1q {
456
- margin-top: 2rem;
457
- padding: 0.5rem 1.5rem;
458
- border-radius: 9999px;
459
- background-color: rgba(255, 255, 255, 0.1);
460
- color: white;
461
- font-size: 0.875rem;
462
- line-height: 1.5;
463
- font-weight: 500;
464
- transition-property: color, background-color, border-color;
465
- transition-duration: 200ms;
466
- transition-timing-function: ease-out;
467
- }
468
- .Countdown_cancelButton__cif1q:hover {
469
- background-color: rgba(255, 255, 255, 0.2);
470
- }
471
- .Countdown_cancelButton__cif1q:focus {
472
- outline: none;
473
- box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
474
- }
475
-
476
340
  /* components/Status/ErrorMessage.module.scss */
477
341
  @keyframes pulse {
478
342
  0%, 100% {
@@ -793,7 +657,7 @@
793
657
  color: #6b7280;
794
658
  }
795
659
 
796
- /* components/Controls/RecordingControls.module.scss */
660
+ /* components/Preview/VideoPlayer.module.scss */
797
661
  @keyframes pulse {
798
662
  0%, 100% {
799
663
  opacity: 1;
@@ -850,126 +714,75 @@
850
714
  opacity: 1;
851
715
  }
852
716
  }
853
- .RecordingControls_controls__aqrrv {
854
- position: fixed;
855
- display: flex;
856
- align-items: center;
857
- justify-content: center;
858
- gap: 0.75rem;
859
- padding: 0.625rem 1rem;
860
- border-radius: 9999px;
861
- background-color: white;
862
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
863
- border: 1px solid #e5e7eb;
864
- animation: slide-up 300ms ease-out;
865
- }
866
- .dark .RecordingControls_controls__aqrrv {
867
- background-color: #1f2937;
868
- border-color: #374151;
869
- }
870
-
871
- .RecordingControls_topLeft__aqrrv {
872
- top: 1rem;
873
- left: 1rem;
874
- }
875
-
876
- .RecordingControls_topRight__aqrrv {
877
- top: 1rem;
878
- right: 1rem;
717
+ .VideoPlayer_container__4wok5 {
718
+ position: relative;
719
+ background-color: black;
720
+ border-radius: 0.5rem;
721
+ overflow: hidden;
879
722
  }
880
723
 
881
- .RecordingControls_bottomLeft__aqrrv {
882
- bottom: 1rem;
883
- left: 1rem;
724
+ .VideoPlayer_video__4wok5 {
725
+ width: 100%;
726
+ height: auto;
884
727
  }
885
728
 
886
- .RecordingControls_bottomRight__aqrrv {
887
- bottom: 1rem;
888
- right: 1rem;
729
+ .VideoPlayer_controlsOverlay__4wok5 {
730
+ position: absolute;
731
+ bottom: 0;
732
+ left: 0;
733
+ right: 0;
734
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
735
+ padding: 0.75rem;
889
736
  }
890
737
 
891
- .RecordingControls_statusSection__aqrrv {
738
+ .VideoPlayer_progressWrapper__4wok5 {
892
739
  display: flex;
893
740
  align-items: center;
894
741
  justify-content: center;
895
742
  gap: 0.5rem;
743
+ margin-bottom: 0.5rem;
896
744
  }
897
745
 
898
- .RecordingControls_statusIndicator__aqrrv {
899
- display: flex;
900
- align-items: center;
901
- justify-content: center;
902
- gap: 0.375rem;
903
- }
904
-
905
- .RecordingControls_statusRecording__aqrrv {
906
- color: #ef4444;
907
- }
908
-
909
- .RecordingControls_statusPaused__aqrrv {
910
- color: #f59e0b;
746
+ .VideoPlayer_progressSlider__4wok5 {
747
+ flex: 1;
748
+ height: 0.25rem;
749
+ border-radius: 9999px;
750
+ -webkit-appearance: none;
751
+ -moz-appearance: none;
752
+ appearance: none;
753
+ cursor: pointer;
754
+ background-color: rgba(255, 255, 255, 0.3);
911
755
  }
912
-
913
- .RecordingControls_recordingIcon__aqrrv {
756
+ .VideoPlayer_progressSlider__4wok5::-webkit-slider-thumb {
757
+ -webkit-appearance: none;
758
+ appearance: none;
914
759
  width: 0.75rem;
915
760
  height: 0.75rem;
916
- animation: pulse-record 1s ease-in-out infinite;
761
+ border-radius: 9999px;
762
+ background-color: white;
917
763
  }
918
-
919
- .RecordingControls_pauseIconSmall__aqrrv {
764
+ .VideoPlayer_progressSlider__4wok5::-moz-range-thumb {
920
765
  width: 0.75rem;
921
766
  height: 0.75rem;
767
+ border-radius: 9999px;
768
+ background-color: white;
769
+ border: none;
922
770
  }
923
771
 
924
- .RecordingControls_statusLabel__aqrrv {
925
- font-size: 0.75rem;
926
- line-height: 1.5;
927
- font-weight: 600;
928
- text-transform: uppercase;
772
+ .VideoPlayer_bottomControls__4wok5 {
773
+ display: flex;
774
+ align-items: center;
775
+ justify-content: space-between;
929
776
  }
930
777
 
931
- .RecordingControls_buttonGroup__aqrrv {
778
+ .VideoPlayer_leftControls__4wok5 {
932
779
  display: flex;
933
780
  align-items: center;
934
781
  justify-content: center;
935
- gap: 0.25rem;
936
- margin-left: 0.5rem;
937
- }
938
-
939
- .RecordingControls_controlButton__aqrrv {
940
- -webkit-appearance: none;
941
- -moz-appearance: none;
942
- appearance: none;
943
- background: none;
944
- border: none;
945
- padding: 0;
946
- margin: 0;
947
- font: inherit;
948
- color: inherit;
949
- cursor: pointer;
950
- }
951
- .RecordingControls_controlButton__aqrrv:disabled {
952
- cursor: not-allowed;
953
- }
954
- .RecordingControls_controlButton__aqrrv {
955
- padding: 0.5rem;
956
- border-radius: 9999px;
957
- transition-property: color, background-color, border-color;
958
- transition-duration: 200ms;
959
- transition-timing-function: ease-out;
960
- }
961
- .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
962
- background-color: #f3f4f6;
963
- }
964
- .RecordingControls_controlButton__aqrrv:focus {
965
- outline: none;
966
- box-shadow: 0 0 0 2px white, 0 0 0 4px #3b82f6;
967
- }
968
- .dark .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
969
- background-color: #374151;
782
+ gap: 0.5rem;
970
783
  }
971
784
 
972
- .RecordingControls_stopButton__aqrrv {
785
+ .VideoPlayer_playButton__4wok5 {
973
786
  -webkit-appearance: none;
974
787
  -moz-appearance: none;
975
788
  appearance: none;
@@ -981,43 +794,36 @@
981
794
  color: inherit;
982
795
  cursor: pointer;
983
796
  }
984
- .RecordingControls_stopButton__aqrrv:disabled {
797
+ .VideoPlayer_playButton__4wok5:disabled {
985
798
  cursor: not-allowed;
986
799
  }
987
- .RecordingControls_stopButton__aqrrv {
988
- padding: 0.5rem;
800
+ .VideoPlayer_playButton__4wok5 {
801
+ padding: 0.375rem;
989
802
  border-radius: 9999px;
990
803
  transition-property: color, background-color, border-color;
991
804
  transition-duration: 200ms;
992
805
  transition-timing-function: ease-out;
993
806
  }
994
- .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
995
- background-color: #fee2e2;
807
+ .VideoPlayer_playButton__4wok5:hover {
808
+ background-color: rgba(255, 255, 255, 0.2);
996
809
  }
997
- .RecordingControls_stopButton__aqrrv:focus {
810
+ .VideoPlayer_playButton__4wok5:focus {
998
811
  outline: none;
999
- box-shadow: 0 0 0 2px white, 0 0 0 4px #ef4444;
1000
- }
1001
- .dark .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
1002
- background-color: rgba(127, 29, 29, 0.3);
812
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
1003
813
  }
1004
814
 
1005
- .RecordingControls_buttonIcon__aqrrv {
815
+ .VideoPlayer_playIcon__4wok5 {
1006
816
  width: 1rem;
1007
817
  height: 1rem;
1008
- color: #4b5563;
1009
- }
1010
- .dark .RecordingControls_buttonIcon__aqrrv {
1011
- color: #d1d5db;
818
+ color: white;
1012
819
  }
1013
820
 
1014
- .RecordingControls_stopIcon__aqrrv {
1015
- width: 1rem;
1016
- height: 1rem;
1017
- color: #dc2626;
1018
- }
1019
- .dark .RecordingControls_stopIcon__aqrrv {
1020
- color: #f87171;
821
+ .VideoPlayer_timeDisplay__4wok5 {
822
+ color: rgba(255, 255, 255, 0.8);
823
+ font-size: 0.75rem;
824
+ line-height: 1.5;
825
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
826
+ font-variant-numeric: tabular-nums;
1021
827
  }
1022
828
 
1023
829
  /* ScreenRecorder.module.scss */
@@ -1102,7 +908,7 @@
1102
908
  opacity: 0.75;
1103
909
  }
1104
910
 
1105
- /* components/Preview/VideoPlayer.module.scss */
911
+ /* components/Trigger/Trigger.module.scss */
1106
912
  @keyframes pulse {
1107
913
  0%, 100% {
1108
914
  opacity: 1;
@@ -1159,75 +965,229 @@
1159
965
  opacity: 1;
1160
966
  }
1161
967
  }
1162
- .VideoPlayer_container__4wok5 {
1163
- position: relative;
1164
- background-color: black;
1165
- border-radius: 0.5rem;
1166
- overflow: hidden;
968
+ .Trigger_trigger__dtqfb {
969
+ -webkit-appearance: none;
970
+ -moz-appearance: none;
971
+ appearance: none;
972
+ background: none;
973
+ border: none;
974
+ padding: 0;
975
+ margin: 0;
976
+ font: inherit;
977
+ color: inherit;
978
+ cursor: pointer;
979
+ }
980
+ .Trigger_trigger__dtqfb:disabled {
981
+ cursor: not-allowed;
982
+ }
983
+ .Trigger_trigger__dtqfb {
984
+ position: fixed;
985
+ display: flex;
986
+ align-items: center;
987
+ justify-content: center;
988
+ gap: 0.5rem;
989
+ padding: 0.625rem 1rem;
990
+ border-radius: 9999px;
991
+ font-weight: 500;
992
+ font-size: 0.875rem;
993
+ line-height: 1.5;
994
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
995
+ background-color: #dc2626;
996
+ color: white;
997
+ transition-property: all;
998
+ transition-duration: 200ms;
999
+ transition-timing-function: ease-out;
1000
+ }
1001
+ .Trigger_trigger__dtqfb:hover:not(:disabled) {
1002
+ background-color: #b91c1c;
1003
+ transform: scale(1.05);
1004
+ }
1005
+ .Trigger_trigger__dtqfb:active:not(:disabled) {
1006
+ background-color: #991b1b;
1007
+ transform: scale(0.95);
1008
+ }
1009
+ .Trigger_trigger__dtqfb:focus {
1010
+ outline: none;
1011
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1), 0 0 0 2px white, 0 0 0 4px #ef4444;
1012
+ }
1013
+ .Trigger_trigger__dtqfb:disabled {
1014
+ opacity: 0.5;
1015
+ cursor: not-allowed;
1016
+ }
1017
+ .Trigger_trigger__dtqfb:disabled:hover {
1018
+ background-color: #dc2626;
1019
+ transform: none;
1167
1020
  }
1168
1021
 
1169
- .VideoPlayer_video__4wok5 {
1170
- width: 100%;
1171
- height: auto;
1022
+ .Trigger_topLeft__dtqfb {
1023
+ top: 1rem;
1024
+ left: 1rem;
1172
1025
  }
1173
1026
 
1174
- .VideoPlayer_controlsOverlay__4wok5 {
1175
- position: absolute;
1176
- bottom: 0;
1177
- left: 0;
1178
- right: 0;
1179
- background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
1180
- padding: 0.75rem;
1027
+ .Trigger_topRight__dtqfb {
1028
+ top: 1rem;
1029
+ right: 1rem;
1181
1030
  }
1182
1031
 
1183
- .VideoPlayer_progressWrapper__4wok5 {
1032
+ .Trigger_bottomLeft__dtqfb {
1033
+ bottom: 1rem;
1034
+ left: 1rem;
1035
+ }
1036
+
1037
+ .Trigger_bottomRight__dtqfb {
1038
+ bottom: 1rem;
1039
+ right: 1rem;
1040
+ }
1041
+
1042
+ .Trigger_icon__dtqfb {
1043
+ width: 1.25rem;
1044
+ height: 1.25rem;
1045
+ }
1046
+
1047
+ /* components/Controls/RecordingControls.module.scss */
1048
+ @keyframes pulse {
1049
+ 0%, 100% {
1050
+ opacity: 1;
1051
+ }
1052
+ 50% {
1053
+ opacity: 0.5;
1054
+ }
1055
+ }
1056
+ @keyframes pulse-record {
1057
+ 0%, 100% {
1058
+ opacity: 1;
1059
+ }
1060
+ 50% {
1061
+ opacity: 0.5;
1062
+ }
1063
+ }
1064
+ @keyframes spin {
1065
+ from {
1066
+ transform: rotate(0deg);
1067
+ }
1068
+ to {
1069
+ transform: rotate(360deg);
1070
+ }
1071
+ }
1072
+ @keyframes fade-in {
1073
+ 0% {
1074
+ opacity: 0;
1075
+ }
1076
+ 100% {
1077
+ opacity: 1;
1078
+ }
1079
+ }
1080
+ @keyframes slide-up {
1081
+ 0% {
1082
+ transform: translateY(10px);
1083
+ opacity: 0;
1084
+ }
1085
+ 100% {
1086
+ transform: translateY(0);
1087
+ opacity: 1;
1088
+ }
1089
+ }
1090
+ @keyframes countdown-scale {
1091
+ 0% {
1092
+ transform: scale(0.5);
1093
+ opacity: 0;
1094
+ }
1095
+ 50% {
1096
+ transform: scale(1.2);
1097
+ opacity: 1;
1098
+ }
1099
+ 100% {
1100
+ transform: scale(1);
1101
+ opacity: 1;
1102
+ }
1103
+ }
1104
+ .RecordingControls_controls__aqrrv {
1105
+ position: fixed;
1106
+ display: flex;
1107
+ align-items: center;
1108
+ justify-content: center;
1109
+ gap: 0.75rem;
1110
+ padding: 0.625rem 1rem;
1111
+ border-radius: 9999px;
1112
+ background-color: white;
1113
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
1114
+ border: 1px solid #e5e7eb;
1115
+ animation: slide-up 300ms ease-out;
1116
+ }
1117
+ .dark .RecordingControls_controls__aqrrv {
1118
+ background-color: #1f2937;
1119
+ border-color: #374151;
1120
+ }
1121
+
1122
+ .RecordingControls_topLeft__aqrrv {
1123
+ top: 1rem;
1124
+ left: 1rem;
1125
+ }
1126
+
1127
+ .RecordingControls_topRight__aqrrv {
1128
+ top: 1rem;
1129
+ right: 1rem;
1130
+ }
1131
+
1132
+ .RecordingControls_bottomLeft__aqrrv {
1133
+ bottom: 1rem;
1134
+ left: 1rem;
1135
+ }
1136
+
1137
+ .RecordingControls_bottomRight__aqrrv {
1138
+ bottom: 1rem;
1139
+ right: 1rem;
1140
+ }
1141
+
1142
+ .RecordingControls_statusSection__aqrrv {
1184
1143
  display: flex;
1185
1144
  align-items: center;
1186
1145
  justify-content: center;
1187
1146
  gap: 0.5rem;
1188
- margin-bottom: 0.5rem;
1189
1147
  }
1190
1148
 
1191
- .VideoPlayer_progressSlider__4wok5 {
1192
- flex: 1;
1193
- height: 0.25rem;
1194
- border-radius: 9999px;
1195
- -webkit-appearance: none;
1196
- -moz-appearance: none;
1197
- appearance: none;
1198
- cursor: pointer;
1199
- background-color: rgba(255, 255, 255, 0.3);
1149
+ .RecordingControls_statusIndicator__aqrrv {
1150
+ display: flex;
1151
+ align-items: center;
1152
+ justify-content: center;
1153
+ gap: 0.375rem;
1200
1154
  }
1201
- .VideoPlayer_progressSlider__4wok5::-webkit-slider-thumb {
1202
- -webkit-appearance: none;
1203
- appearance: none;
1155
+
1156
+ .RecordingControls_statusRecording__aqrrv {
1157
+ color: #ef4444;
1158
+ }
1159
+
1160
+ .RecordingControls_statusPaused__aqrrv {
1161
+ color: #f59e0b;
1162
+ }
1163
+
1164
+ .RecordingControls_recordingIcon__aqrrv {
1204
1165
  width: 0.75rem;
1205
1166
  height: 0.75rem;
1206
- border-radius: 9999px;
1207
- background-color: white;
1167
+ animation: pulse-record 1s ease-in-out infinite;
1208
1168
  }
1209
- .VideoPlayer_progressSlider__4wok5::-moz-range-thumb {
1169
+
1170
+ .RecordingControls_pauseIconSmall__aqrrv {
1210
1171
  width: 0.75rem;
1211
1172
  height: 0.75rem;
1212
- border-radius: 9999px;
1213
- background-color: white;
1214
- border: none;
1215
1173
  }
1216
1174
 
1217
- .VideoPlayer_bottomControls__4wok5 {
1218
- display: flex;
1219
- align-items: center;
1220
- justify-content: space-between;
1175
+ .RecordingControls_statusLabel__aqrrv {
1176
+ font-size: 0.75rem;
1177
+ line-height: 1.5;
1178
+ font-weight: 600;
1179
+ text-transform: uppercase;
1221
1180
  }
1222
1181
 
1223
- .VideoPlayer_leftControls__4wok5 {
1182
+ .RecordingControls_buttonGroup__aqrrv {
1224
1183
  display: flex;
1225
1184
  align-items: center;
1226
1185
  justify-content: center;
1227
- gap: 0.5rem;
1186
+ gap: 0.25rem;
1187
+ margin-left: 0.5rem;
1228
1188
  }
1229
1189
 
1230
- .VideoPlayer_playButton__4wok5 {
1190
+ .RecordingControls_controlButton__aqrrv {
1231
1191
  -webkit-appearance: none;
1232
1192
  -moz-appearance: none;
1233
1193
  appearance: none;
@@ -1239,36 +1199,76 @@
1239
1199
  color: inherit;
1240
1200
  cursor: pointer;
1241
1201
  }
1242
- .VideoPlayer_playButton__4wok5:disabled {
1202
+ .RecordingControls_controlButton__aqrrv:disabled {
1243
1203
  cursor: not-allowed;
1244
1204
  }
1245
- .VideoPlayer_playButton__4wok5 {
1246
- padding: 0.375rem;
1205
+ .RecordingControls_controlButton__aqrrv {
1206
+ padding: 0.5rem;
1247
1207
  border-radius: 9999px;
1248
1208
  transition-property: color, background-color, border-color;
1249
1209
  transition-duration: 200ms;
1250
1210
  transition-timing-function: ease-out;
1251
1211
  }
1252
- .VideoPlayer_playButton__4wok5:hover {
1253
- background-color: rgba(255, 255, 255, 0.2);
1212
+ .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
1213
+ background-color: #f3f4f6;
1254
1214
  }
1255
- .VideoPlayer_playButton__4wok5:focus {
1215
+ .RecordingControls_controlButton__aqrrv:focus {
1256
1216
  outline: none;
1257
- box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
1217
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #3b82f6;
1218
+ }
1219
+ .dark .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
1220
+ background-color: #374151;
1258
1221
  }
1259
1222
 
1260
- .VideoPlayer_playIcon__4wok5 {
1223
+ .RecordingControls_stopButton__aqrrv {
1224
+ -webkit-appearance: none;
1225
+ -moz-appearance: none;
1226
+ appearance: none;
1227
+ background: none;
1228
+ border: none;
1229
+ padding: 0;
1230
+ margin: 0;
1231
+ font: inherit;
1232
+ color: inherit;
1233
+ cursor: pointer;
1234
+ }
1235
+ .RecordingControls_stopButton__aqrrv:disabled {
1236
+ cursor: not-allowed;
1237
+ }
1238
+ .RecordingControls_stopButton__aqrrv {
1239
+ padding: 0.5rem;
1240
+ border-radius: 9999px;
1241
+ transition-property: color, background-color, border-color;
1242
+ transition-duration: 200ms;
1243
+ transition-timing-function: ease-out;
1244
+ }
1245
+ .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
1246
+ background-color: #fee2e2;
1247
+ }
1248
+ .RecordingControls_stopButton__aqrrv:focus {
1249
+ outline: none;
1250
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #ef4444;
1251
+ }
1252
+ .dark .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
1253
+ background-color: rgba(127, 29, 29, 0.3);
1254
+ }
1255
+
1256
+ .RecordingControls_buttonIcon__aqrrv {
1261
1257
  width: 1rem;
1262
1258
  height: 1rem;
1263
- color: white;
1259
+ color: #4b5563;
1260
+ }
1261
+ .dark .RecordingControls_buttonIcon__aqrrv {
1262
+ color: #d1d5db;
1264
1263
  }
1265
1264
 
1266
- .VideoPlayer_timeDisplay__4wok5 {
1267
- color: rgba(255, 255, 255, 0.8);
1268
- font-size: 0.75rem;
1269
- line-height: 1.5;
1270
- font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
1271
- font-variant-numeric: tabular-nums;
1265
+ .RecordingControls_stopIcon__aqrrv {
1266
+ width: 1rem;
1267
+ height: 1rem;
1268
+ color: #dc2626;
1269
+ }
1270
+ .dark .RecordingControls_stopIcon__aqrrv {
1271
+ color: #f87171;
1272
1272
  }
1273
1273
 
1274
1274
  /* components/Preview/PreviewModal.module.scss */