@usefy/screen-recorder 0.2.1 → 0.2.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/dist/index.js CHANGED
@@ -2122,7 +2122,7 @@ ScreenRecorder.displayName = "ScreenRecorder";
2122
2122
  if (document.getElementById(id)) return;
2123
2123
  var style = document.createElement('style');
2124
2124
  style.id = id;
2125
- style.textContent = `/* components/Countdown/Countdown.module.scss */
2125
+ style.textContent = `/* components/Trigger/Trigger.module.scss */
2126
2126
  @keyframes pulse {
2127
2127
  0%, 100% {
2128
2128
  opacity: 1;
@@ -2179,46 +2179,7 @@ ScreenRecorder.displayName = "ScreenRecorder";
2179
2179
  opacity: 1;
2180
2180
  }
2181
2181
  }
2182
- .Countdown_overlay__cif1q {
2183
- position: fixed;
2184
- top: 0;
2185
- right: 0;
2186
- bottom: 0;
2187
- left: 0;
2188
- display: flex;
2189
- flex-direction: column;
2190
- align-items: center;
2191
- justify-content: center;
2192
- background-color: rgba(0, 0, 0, 0.5);
2193
- backdrop-filter: blur(4px);
2194
- -webkit-backdrop-filter: blur(4px);
2195
- animation: fade-in 200ms ease-out;
2196
- }
2197
-
2198
- .Countdown_countdownCircle__cif1q {
2199
- display: flex;
2200
- align-items: center;
2201
- justify-content: center;
2202
- width: 8rem;
2203
- height: 8rem;
2204
- border-radius: 9999px;
2205
- background-color: rgba(255, 255, 255, 0.1);
2206
- border: 4px solid rgba(255, 255, 255, 0.3);
2207
- color: white;
2208
- font-size: 4.5rem;
2209
- font-weight: 700;
2210
- animation: countdown-scale 500ms ease-out;
2211
- }
2212
-
2213
- .Countdown_message__cif1q {
2214
- margin-top: 1.5rem;
2215
- color: rgba(255, 255, 255, 0.8);
2216
- font-size: 1.125rem;
2217
- line-height: 1.25;
2218
- font-weight: 500;
2219
- }
2220
-
2221
- .Countdown_cancelButton__cif1q {
2182
+ .Trigger_trigger__dtqfb {
2222
2183
  -webkit-appearance: none;
2223
2184
  -moz-appearance: none;
2224
2185
  appearance: none;
@@ -2230,28 +2191,71 @@ ScreenRecorder.displayName = "ScreenRecorder";
2230
2191
  color: inherit;
2231
2192
  cursor: pointer;
2232
2193
  }
2233
- .Countdown_cancelButton__cif1q:disabled {
2194
+ .Trigger_trigger__dtqfb:disabled {
2234
2195
  cursor: not-allowed;
2235
2196
  }
2236
- .Countdown_cancelButton__cif1q {
2237
- margin-top: 2rem;
2238
- padding: 0.5rem 1.5rem;
2197
+ .Trigger_trigger__dtqfb {
2198
+ position: fixed;
2199
+ display: flex;
2200
+ align-items: center;
2201
+ justify-content: center;
2202
+ gap: 0.5rem;
2203
+ padding: 0.625rem 1rem;
2239
2204
  border-radius: 9999px;
2240
- background-color: rgba(255, 255, 255, 0.1);
2241
- color: white;
2205
+ font-weight: 500;
2242
2206
  font-size: 0.875rem;
2243
2207
  line-height: 1.5;
2244
- font-weight: 500;
2245
- transition-property: color, background-color, border-color;
2208
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
2209
+ background-color: #dc2626;
2210
+ color: white;
2211
+ transition-property: all;
2246
2212
  transition-duration: 200ms;
2247
2213
  transition-timing-function: ease-out;
2248
2214
  }
2249
- .Countdown_cancelButton__cif1q:hover {
2250
- background-color: rgba(255, 255, 255, 0.2);
2215
+ .Trigger_trigger__dtqfb:hover:not(:disabled) {
2216
+ background-color: #b91c1c;
2217
+ transform: scale(1.05);
2251
2218
  }
2252
- .Countdown_cancelButton__cif1q:focus {
2219
+ .Trigger_trigger__dtqfb:active:not(:disabled) {
2220
+ background-color: #991b1b;
2221
+ transform: scale(0.95);
2222
+ }
2223
+ .Trigger_trigger__dtqfb:focus {
2253
2224
  outline: none;
2254
- box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
2225
+ 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;
2226
+ }
2227
+ .Trigger_trigger__dtqfb:disabled {
2228
+ opacity: 0.5;
2229
+ cursor: not-allowed;
2230
+ }
2231
+ .Trigger_trigger__dtqfb:disabled:hover {
2232
+ background-color: #dc2626;
2233
+ transform: none;
2234
+ }
2235
+
2236
+ .Trigger_topLeft__dtqfb {
2237
+ top: 1rem;
2238
+ left: 1rem;
2239
+ }
2240
+
2241
+ .Trigger_topRight__dtqfb {
2242
+ top: 1rem;
2243
+ right: 1rem;
2244
+ }
2245
+
2246
+ .Trigger_bottomLeft__dtqfb {
2247
+ bottom: 1rem;
2248
+ left: 1rem;
2249
+ }
2250
+
2251
+ .Trigger_bottomRight__dtqfb {
2252
+ bottom: 1rem;
2253
+ right: 1rem;
2254
+ }
2255
+
2256
+ .Trigger_icon__dtqfb {
2257
+ width: 1.25rem;
2258
+ height: 1.25rem;
2255
2259
  }
2256
2260
 
2257
2261
  /* components/Status/StatusBadge.module.scss */
@@ -2461,6 +2465,138 @@ ScreenRecorder.displayName = "ScreenRecorder";
2461
2465
  color: #9ca3af;
2462
2466
  }
2463
2467
 
2468
+ /* components/Countdown/Countdown.module.scss */
2469
+ @keyframes pulse {
2470
+ 0%, 100% {
2471
+ opacity: 1;
2472
+ }
2473
+ 50% {
2474
+ opacity: 0.5;
2475
+ }
2476
+ }
2477
+ @keyframes pulse-record {
2478
+ 0%, 100% {
2479
+ opacity: 1;
2480
+ }
2481
+ 50% {
2482
+ opacity: 0.5;
2483
+ }
2484
+ }
2485
+ @keyframes spin {
2486
+ from {
2487
+ transform: rotate(0deg);
2488
+ }
2489
+ to {
2490
+ transform: rotate(360deg);
2491
+ }
2492
+ }
2493
+ @keyframes fade-in {
2494
+ 0% {
2495
+ opacity: 0;
2496
+ }
2497
+ 100% {
2498
+ opacity: 1;
2499
+ }
2500
+ }
2501
+ @keyframes slide-up {
2502
+ 0% {
2503
+ transform: translateY(10px);
2504
+ opacity: 0;
2505
+ }
2506
+ 100% {
2507
+ transform: translateY(0);
2508
+ opacity: 1;
2509
+ }
2510
+ }
2511
+ @keyframes countdown-scale {
2512
+ 0% {
2513
+ transform: scale(0.5);
2514
+ opacity: 0;
2515
+ }
2516
+ 50% {
2517
+ transform: scale(1.2);
2518
+ opacity: 1;
2519
+ }
2520
+ 100% {
2521
+ transform: scale(1);
2522
+ opacity: 1;
2523
+ }
2524
+ }
2525
+ .Countdown_overlay__cif1q {
2526
+ position: fixed;
2527
+ top: 0;
2528
+ right: 0;
2529
+ bottom: 0;
2530
+ left: 0;
2531
+ display: flex;
2532
+ flex-direction: column;
2533
+ align-items: center;
2534
+ justify-content: center;
2535
+ background-color: rgba(0, 0, 0, 0.5);
2536
+ backdrop-filter: blur(4px);
2537
+ -webkit-backdrop-filter: blur(4px);
2538
+ animation: fade-in 200ms ease-out;
2539
+ }
2540
+
2541
+ .Countdown_countdownCircle__cif1q {
2542
+ display: flex;
2543
+ align-items: center;
2544
+ justify-content: center;
2545
+ width: 8rem;
2546
+ height: 8rem;
2547
+ border-radius: 9999px;
2548
+ background-color: rgba(255, 255, 255, 0.1);
2549
+ border: 4px solid rgba(255, 255, 255, 0.3);
2550
+ color: white;
2551
+ font-size: 4.5rem;
2552
+ font-weight: 700;
2553
+ animation: countdown-scale 500ms ease-out;
2554
+ }
2555
+
2556
+ .Countdown_message__cif1q {
2557
+ margin-top: 1.5rem;
2558
+ color: rgba(255, 255, 255, 0.8);
2559
+ font-size: 1.125rem;
2560
+ line-height: 1.25;
2561
+ font-weight: 500;
2562
+ }
2563
+
2564
+ .Countdown_cancelButton__cif1q {
2565
+ -webkit-appearance: none;
2566
+ -moz-appearance: none;
2567
+ appearance: none;
2568
+ background: none;
2569
+ border: none;
2570
+ padding: 0;
2571
+ margin: 0;
2572
+ font: inherit;
2573
+ color: inherit;
2574
+ cursor: pointer;
2575
+ }
2576
+ .Countdown_cancelButton__cif1q:disabled {
2577
+ cursor: not-allowed;
2578
+ }
2579
+ .Countdown_cancelButton__cif1q {
2580
+ margin-top: 2rem;
2581
+ padding: 0.5rem 1.5rem;
2582
+ border-radius: 9999px;
2583
+ background-color: rgba(255, 255, 255, 0.1);
2584
+ color: white;
2585
+ font-size: 0.875rem;
2586
+ line-height: 1.5;
2587
+ font-weight: 500;
2588
+ transition-property: color, background-color, border-color;
2589
+ transition-duration: 200ms;
2590
+ transition-timing-function: ease-out;
2591
+ }
2592
+ .Countdown_cancelButton__cif1q:hover {
2593
+ background-color: rgba(255, 255, 255, 0.2);
2594
+ }
2595
+ .Countdown_cancelButton__cif1q:focus {
2596
+ outline: none;
2597
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
2598
+ }
2599
+
2464
2600
  /* components/Status/ErrorMessage.module.scss */
2465
2601
  @keyframes pulse {
2466
2602
  0%, 100% {
@@ -2681,7 +2817,7 @@ ScreenRecorder.displayName = "ScreenRecorder";
2681
2817
  background-color: #991b1b;
2682
2818
  }
2683
2819
 
2684
- /* components/Trigger/Trigger.module.scss */
2820
+ /* components/Controls/Timer.module.scss */
2685
2821
  @keyframes pulse {
2686
2822
  0%, 100% {
2687
2823
  opacity: 1;
@@ -2738,86 +2874,50 @@ ScreenRecorder.displayName = "ScreenRecorder";
2738
2874
  opacity: 1;
2739
2875
  }
2740
2876
  }
2741
- .Trigger_trigger__dtqfb {
2742
- -webkit-appearance: none;
2743
- -moz-appearance: none;
2744
- appearance: none;
2745
- background: none;
2746
- border: none;
2747
- padding: 0;
2748
- margin: 0;
2749
- font: inherit;
2750
- color: inherit;
2751
- cursor: pointer;
2752
- }
2753
- .Trigger_trigger__dtqfb:disabled {
2754
- cursor: not-allowed;
2755
- }
2756
- .Trigger_trigger__dtqfb {
2757
- position: fixed;
2758
- display: flex;
2759
- align-items: center;
2760
- justify-content: center;
2761
- gap: 0.5rem;
2762
- padding: 0.625rem 1rem;
2763
- border-radius: 9999px;
2764
- font-weight: 500;
2877
+ .Timer_timer__qru97 {
2878
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
2765
2879
  font-size: 0.875rem;
2766
2880
  line-height: 1.5;
2767
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
2768
- background-color: #dc2626;
2769
- color: white;
2770
- transition-property: all;
2771
- transition-duration: 200ms;
2772
- transition-timing-function: ease-out;
2773
- }
2774
- .Trigger_trigger__dtqfb:hover:not(:disabled) {
2775
- background-color: #b91c1c;
2776
- transform: scale(1.05);
2881
+ font-weight: 500;
2882
+ font-variant-numeric: tabular-nums;
2777
2883
  }
2778
- .Trigger_trigger__dtqfb:active:not(:disabled) {
2779
- background-color: #991b1b;
2780
- transform: scale(0.95);
2884
+
2885
+ .Timer_colorDefault__qru97 {
2886
+ color: #374151;
2781
2887
  }
2782
- .Trigger_trigger__dtqfb:focus {
2783
- outline: none;
2784
- 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;
2888
+ .dark .Timer_colorDefault__qru97 {
2889
+ color: #d1d5db;
2785
2890
  }
2786
- .Trigger_trigger__dtqfb:disabled {
2787
- opacity: 0.5;
2788
- cursor: not-allowed;
2891
+
2892
+ .Timer_colorPaused__qru97 {
2893
+ color: #d97706;
2789
2894
  }
2790
- .Trigger_trigger__dtqfb:disabled:hover {
2791
- background-color: #dc2626;
2792
- transform: none;
2895
+ .dark .Timer_colorPaused__qru97 {
2896
+ color: #fbbf24;
2793
2897
  }
2794
2898
 
2795
- .Trigger_topLeft__dtqfb {
2796
- top: 1rem;
2797
- left: 1rem;
2899
+ .Timer_colorWarning__qru97 {
2900
+ color: #d97706;
2798
2901
  }
2799
-
2800
- .Trigger_topRight__dtqfb {
2801
- top: 1rem;
2802
- right: 1rem;
2902
+ .dark .Timer_colorWarning__qru97 {
2903
+ color: #fbbf24;
2803
2904
  }
2804
2905
 
2805
- .Trigger_bottomLeft__dtqfb {
2806
- bottom: 1rem;
2807
- left: 1rem;
2906
+ .Timer_colorCritical__qru97 {
2907
+ color: #dc2626;
2808
2908
  }
2809
-
2810
- .Trigger_bottomRight__dtqfb {
2811
- bottom: 1rem;
2812
- right: 1rem;
2909
+ .dark .Timer_colorCritical__qru97 {
2910
+ color: #f87171;
2813
2911
  }
2814
2912
 
2815
- .Trigger_icon__dtqfb {
2816
- width: 1.25rem;
2817
- height: 1.25rem;
2913
+ .Timer_maxDuration__qru97 {
2914
+ color: #9ca3af;
2915
+ }
2916
+ .dark .Timer_maxDuration__qru97 {
2917
+ color: #6b7280;
2818
2918
  }
2819
2919
 
2820
- /* components/Controls/Timer.module.scss */
2920
+ /* components/Controls/RecordingControls.module.scss */
2821
2921
  @keyframes pulse {
2822
2922
  0%, 100% {
2823
2923
  opacity: 1;
@@ -2874,47 +2974,174 @@ ScreenRecorder.displayName = "ScreenRecorder";
2874
2974
  opacity: 1;
2875
2975
  }
2876
2976
  }
2877
- .Timer_timer__qru97 {
2878
- font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
2879
- font-size: 0.875rem;
2880
- line-height: 1.5;
2881
- font-weight: 500;
2882
- font-variant-numeric: tabular-nums;
2977
+ .RecordingControls_controls__aqrrv {
2978
+ position: fixed;
2979
+ display: flex;
2980
+ align-items: center;
2981
+ justify-content: center;
2982
+ gap: 0.75rem;
2983
+ padding: 0.625rem 1rem;
2984
+ border-radius: 9999px;
2985
+ background-color: white;
2986
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
2987
+ border: 1px solid #e5e7eb;
2988
+ animation: slide-up 300ms ease-out;
2989
+ }
2990
+ .dark .RecordingControls_controls__aqrrv {
2991
+ background-color: #1f2937;
2992
+ border-color: #374151;
2883
2993
  }
2884
2994
 
2885
- .Timer_colorDefault__qru97 {
2886
- color: #374151;
2995
+ .RecordingControls_topLeft__aqrrv {
2996
+ top: 1rem;
2997
+ left: 1rem;
2887
2998
  }
2888
- .dark .Timer_colorDefault__qru97 {
2889
- color: #d1d5db;
2999
+
3000
+ .RecordingControls_topRight__aqrrv {
3001
+ top: 1rem;
3002
+ right: 1rem;
2890
3003
  }
2891
3004
 
2892
- .Timer_colorPaused__qru97 {
2893
- color: #d97706;
3005
+ .RecordingControls_bottomLeft__aqrrv {
3006
+ bottom: 1rem;
3007
+ left: 1rem;
2894
3008
  }
2895
- .dark .Timer_colorPaused__qru97 {
2896
- color: #fbbf24;
3009
+
3010
+ .RecordingControls_bottomRight__aqrrv {
3011
+ bottom: 1rem;
3012
+ right: 1rem;
2897
3013
  }
2898
3014
 
2899
- .Timer_colorWarning__qru97 {
2900
- color: #d97706;
3015
+ .RecordingControls_statusSection__aqrrv {
3016
+ display: flex;
3017
+ align-items: center;
3018
+ justify-content: center;
3019
+ gap: 0.5rem;
2901
3020
  }
2902
- .dark .Timer_colorWarning__qru97 {
2903
- color: #fbbf24;
3021
+
3022
+ .RecordingControls_statusIndicator__aqrrv {
3023
+ display: flex;
3024
+ align-items: center;
3025
+ justify-content: center;
3026
+ gap: 0.375rem;
2904
3027
  }
2905
3028
 
2906
- .Timer_colorCritical__qru97 {
2907
- color: #dc2626;
3029
+ .RecordingControls_statusRecording__aqrrv {
3030
+ color: #ef4444;
2908
3031
  }
2909
- .dark .Timer_colorCritical__qru97 {
2910
- color: #f87171;
3032
+
3033
+ .RecordingControls_statusPaused__aqrrv {
3034
+ color: #f59e0b;
2911
3035
  }
2912
3036
 
2913
- .Timer_maxDuration__qru97 {
2914
- color: #9ca3af;
3037
+ .RecordingControls_recordingIcon__aqrrv {
3038
+ width: 0.75rem;
3039
+ height: 0.75rem;
3040
+ animation: pulse-record 1s ease-in-out infinite;
2915
3041
  }
2916
- .dark .Timer_maxDuration__qru97 {
2917
- color: #6b7280;
3042
+
3043
+ .RecordingControls_pauseIconSmall__aqrrv {
3044
+ width: 0.75rem;
3045
+ height: 0.75rem;
3046
+ }
3047
+
3048
+ .RecordingControls_statusLabel__aqrrv {
3049
+ font-size: 0.75rem;
3050
+ line-height: 1.5;
3051
+ font-weight: 600;
3052
+ text-transform: uppercase;
3053
+ }
3054
+
3055
+ .RecordingControls_buttonGroup__aqrrv {
3056
+ display: flex;
3057
+ align-items: center;
3058
+ justify-content: center;
3059
+ gap: 0.25rem;
3060
+ margin-left: 0.5rem;
3061
+ }
3062
+
3063
+ .RecordingControls_controlButton__aqrrv {
3064
+ -webkit-appearance: none;
3065
+ -moz-appearance: none;
3066
+ appearance: none;
3067
+ background: none;
3068
+ border: none;
3069
+ padding: 0;
3070
+ margin: 0;
3071
+ font: inherit;
3072
+ color: inherit;
3073
+ cursor: pointer;
3074
+ }
3075
+ .RecordingControls_controlButton__aqrrv:disabled {
3076
+ cursor: not-allowed;
3077
+ }
3078
+ .RecordingControls_controlButton__aqrrv {
3079
+ padding: 0.5rem;
3080
+ border-radius: 9999px;
3081
+ transition-property: color, background-color, border-color;
3082
+ transition-duration: 200ms;
3083
+ transition-timing-function: ease-out;
3084
+ }
3085
+ .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
3086
+ background-color: #f3f4f6;
3087
+ }
3088
+ .RecordingControls_controlButton__aqrrv:focus {
3089
+ outline: none;
3090
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #3b82f6;
3091
+ }
3092
+ .dark .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
3093
+ background-color: #374151;
3094
+ }
3095
+
3096
+ .RecordingControls_stopButton__aqrrv {
3097
+ -webkit-appearance: none;
3098
+ -moz-appearance: none;
3099
+ appearance: none;
3100
+ background: none;
3101
+ border: none;
3102
+ padding: 0;
3103
+ margin: 0;
3104
+ font: inherit;
3105
+ color: inherit;
3106
+ cursor: pointer;
3107
+ }
3108
+ .RecordingControls_stopButton__aqrrv:disabled {
3109
+ cursor: not-allowed;
3110
+ }
3111
+ .RecordingControls_stopButton__aqrrv {
3112
+ padding: 0.5rem;
3113
+ border-radius: 9999px;
3114
+ transition-property: color, background-color, border-color;
3115
+ transition-duration: 200ms;
3116
+ transition-timing-function: ease-out;
3117
+ }
3118
+ .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
3119
+ background-color: #fee2e2;
3120
+ }
3121
+ .RecordingControls_stopButton__aqrrv:focus {
3122
+ outline: none;
3123
+ box-shadow: 0 0 0 2px white, 0 0 0 4px #ef4444;
3124
+ }
3125
+ .dark .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
3126
+ background-color: rgba(127, 29, 29, 0.3);
3127
+ }
3128
+
3129
+ .RecordingControls_buttonIcon__aqrrv {
3130
+ width: 1rem;
3131
+ height: 1rem;
3132
+ color: #4b5563;
3133
+ }
3134
+ .dark .RecordingControls_buttonIcon__aqrrv {
3135
+ color: #d1d5db;
3136
+ }
3137
+
3138
+ .RecordingControls_stopIcon__aqrrv {
3139
+ width: 1rem;
3140
+ height: 1rem;
3141
+ color: #dc2626;
3142
+ }
3143
+ .dark .RecordingControls_stopIcon__aqrrv {
3144
+ color: #f87171;
2918
3145
  }
2919
3146
 
2920
3147
  /* ScreenRecorder.module.scss */
@@ -3168,233 +3395,6 @@ ScreenRecorder.displayName = "ScreenRecorder";
3168
3395
  font-variant-numeric: tabular-nums;
3169
3396
  }
3170
3397
 
3171
- /* components/Controls/RecordingControls.module.scss */
3172
- @keyframes pulse {
3173
- 0%, 100% {
3174
- opacity: 1;
3175
- }
3176
- 50% {
3177
- opacity: 0.5;
3178
- }
3179
- }
3180
- @keyframes pulse-record {
3181
- 0%, 100% {
3182
- opacity: 1;
3183
- }
3184
- 50% {
3185
- opacity: 0.5;
3186
- }
3187
- }
3188
- @keyframes spin {
3189
- from {
3190
- transform: rotate(0deg);
3191
- }
3192
- to {
3193
- transform: rotate(360deg);
3194
- }
3195
- }
3196
- @keyframes fade-in {
3197
- 0% {
3198
- opacity: 0;
3199
- }
3200
- 100% {
3201
- opacity: 1;
3202
- }
3203
- }
3204
- @keyframes slide-up {
3205
- 0% {
3206
- transform: translateY(10px);
3207
- opacity: 0;
3208
- }
3209
- 100% {
3210
- transform: translateY(0);
3211
- opacity: 1;
3212
- }
3213
- }
3214
- @keyframes countdown-scale {
3215
- 0% {
3216
- transform: scale(0.5);
3217
- opacity: 0;
3218
- }
3219
- 50% {
3220
- transform: scale(1.2);
3221
- opacity: 1;
3222
- }
3223
- 100% {
3224
- transform: scale(1);
3225
- opacity: 1;
3226
- }
3227
- }
3228
- .RecordingControls_controls__aqrrv {
3229
- position: fixed;
3230
- display: flex;
3231
- align-items: center;
3232
- justify-content: center;
3233
- gap: 0.75rem;
3234
- padding: 0.625rem 1rem;
3235
- border-radius: 9999px;
3236
- background-color: white;
3237
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
3238
- border: 1px solid #e5e7eb;
3239
- animation: slide-up 300ms ease-out;
3240
- }
3241
- .dark .RecordingControls_controls__aqrrv {
3242
- background-color: #1f2937;
3243
- border-color: #374151;
3244
- }
3245
-
3246
- .RecordingControls_topLeft__aqrrv {
3247
- top: 1rem;
3248
- left: 1rem;
3249
- }
3250
-
3251
- .RecordingControls_topRight__aqrrv {
3252
- top: 1rem;
3253
- right: 1rem;
3254
- }
3255
-
3256
- .RecordingControls_bottomLeft__aqrrv {
3257
- bottom: 1rem;
3258
- left: 1rem;
3259
- }
3260
-
3261
- .RecordingControls_bottomRight__aqrrv {
3262
- bottom: 1rem;
3263
- right: 1rem;
3264
- }
3265
-
3266
- .RecordingControls_statusSection__aqrrv {
3267
- display: flex;
3268
- align-items: center;
3269
- justify-content: center;
3270
- gap: 0.5rem;
3271
- }
3272
-
3273
- .RecordingControls_statusIndicator__aqrrv {
3274
- display: flex;
3275
- align-items: center;
3276
- justify-content: center;
3277
- gap: 0.375rem;
3278
- }
3279
-
3280
- .RecordingControls_statusRecording__aqrrv {
3281
- color: #ef4444;
3282
- }
3283
-
3284
- .RecordingControls_statusPaused__aqrrv {
3285
- color: #f59e0b;
3286
- }
3287
-
3288
- .RecordingControls_recordingIcon__aqrrv {
3289
- width: 0.75rem;
3290
- height: 0.75rem;
3291
- animation: pulse-record 1s ease-in-out infinite;
3292
- }
3293
-
3294
- .RecordingControls_pauseIconSmall__aqrrv {
3295
- width: 0.75rem;
3296
- height: 0.75rem;
3297
- }
3298
-
3299
- .RecordingControls_statusLabel__aqrrv {
3300
- font-size: 0.75rem;
3301
- line-height: 1.5;
3302
- font-weight: 600;
3303
- text-transform: uppercase;
3304
- }
3305
-
3306
- .RecordingControls_buttonGroup__aqrrv {
3307
- display: flex;
3308
- align-items: center;
3309
- justify-content: center;
3310
- gap: 0.25rem;
3311
- margin-left: 0.5rem;
3312
- }
3313
-
3314
- .RecordingControls_controlButton__aqrrv {
3315
- -webkit-appearance: none;
3316
- -moz-appearance: none;
3317
- appearance: none;
3318
- background: none;
3319
- border: none;
3320
- padding: 0;
3321
- margin: 0;
3322
- font: inherit;
3323
- color: inherit;
3324
- cursor: pointer;
3325
- }
3326
- .RecordingControls_controlButton__aqrrv:disabled {
3327
- cursor: not-allowed;
3328
- }
3329
- .RecordingControls_controlButton__aqrrv {
3330
- padding: 0.5rem;
3331
- border-radius: 9999px;
3332
- transition-property: color, background-color, border-color;
3333
- transition-duration: 200ms;
3334
- transition-timing-function: ease-out;
3335
- }
3336
- .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
3337
- background-color: #f3f4f6;
3338
- }
3339
- .RecordingControls_controlButton__aqrrv:focus {
3340
- outline: none;
3341
- box-shadow: 0 0 0 2px white, 0 0 0 4px #3b82f6;
3342
- }
3343
- .dark .RecordingControls_controlButton__aqrrv:hover:not(:disabled) {
3344
- background-color: #374151;
3345
- }
3346
-
3347
- .RecordingControls_stopButton__aqrrv {
3348
- -webkit-appearance: none;
3349
- -moz-appearance: none;
3350
- appearance: none;
3351
- background: none;
3352
- border: none;
3353
- padding: 0;
3354
- margin: 0;
3355
- font: inherit;
3356
- color: inherit;
3357
- cursor: pointer;
3358
- }
3359
- .RecordingControls_stopButton__aqrrv:disabled {
3360
- cursor: not-allowed;
3361
- }
3362
- .RecordingControls_stopButton__aqrrv {
3363
- padding: 0.5rem;
3364
- border-radius: 9999px;
3365
- transition-property: color, background-color, border-color;
3366
- transition-duration: 200ms;
3367
- transition-timing-function: ease-out;
3368
- }
3369
- .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
3370
- background-color: #fee2e2;
3371
- }
3372
- .RecordingControls_stopButton__aqrrv:focus {
3373
- outline: none;
3374
- box-shadow: 0 0 0 2px white, 0 0 0 4px #ef4444;
3375
- }
3376
- .dark .RecordingControls_stopButton__aqrrv:hover:not(:disabled) {
3377
- background-color: rgba(127, 29, 29, 0.3);
3378
- }
3379
-
3380
- .RecordingControls_buttonIcon__aqrrv {
3381
- width: 1rem;
3382
- height: 1rem;
3383
- color: #4b5563;
3384
- }
3385
- .dark .RecordingControls_buttonIcon__aqrrv {
3386
- color: #d1d5db;
3387
- }
3388
-
3389
- .RecordingControls_stopIcon__aqrrv {
3390
- width: 1rem;
3391
- height: 1rem;
3392
- color: #dc2626;
3393
- }
3394
- .dark .RecordingControls_stopIcon__aqrrv {
3395
- color: #f87171;
3396
- }
3397
-
3398
3398
  /* components/Preview/PreviewModal.module.scss */
3399
3399
  @keyframes pulse {
3400
3400
  0%, 100% {