@snapcall/stream-ui 1.11.5 → 1.12.0
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/stream-ui.esm.js +769 -312
- package/dist/stream-ui.js +765 -308
- package/dist/stream-ui.umd.js +225 -225
- package/dist/types.d.ts +5 -3
- package/package.json +1 -1
package/dist/stream-ui.js
CHANGED
|
@@ -19,10 +19,10 @@ var $jQDcL$qrcode = require("qrcode");
|
|
|
19
19
|
var $jQDcL$reactstately = require("react-stately");
|
|
20
20
|
var $jQDcL$classnames = require("classnames");
|
|
21
21
|
var $jQDcL$reactaria = require("react-aria");
|
|
22
|
-
var $jQDcL$reactariaoverlays = require("@react-aria/overlays");
|
|
23
22
|
var $jQDcL$reactariautils = require("@react-aria/utils");
|
|
24
23
|
var $jQDcL$reacttransitiongroup = require("react-transition-group");
|
|
25
24
|
var $jQDcL$reactariainteractions = require("@react-aria/interactions");
|
|
25
|
+
var $jQDcL$reactariaoverlays = require("@react-aria/overlays");
|
|
26
26
|
var $jQDcL$reactcontentloader = require("react-content-loader");
|
|
27
27
|
|
|
28
28
|
function $parcel$interopDefault(a) {
|
|
@@ -472,6 +472,8 @@ const $91fcbf58e59aae79$export$84584c2a98eb6753 = {
|
|
|
472
472
|
someone: "Someone",
|
|
473
473
|
camera: "Camera",
|
|
474
474
|
microphone: "Microphone",
|
|
475
|
+
photo: "Photo",
|
|
476
|
+
video: "Video",
|
|
475
477
|
screen: "Screen",
|
|
476
478
|
speaker: "Speaker",
|
|
477
479
|
user: "User",
|
|
@@ -479,7 +481,10 @@ const $91fcbf58e59aae79$export$84584c2a98eb6753 = {
|
|
|
479
481
|
from: "From",
|
|
480
482
|
accept: "Accept",
|
|
481
483
|
decline: "Decline",
|
|
482
|
-
you: "You"
|
|
484
|
+
you: "You",
|
|
485
|
+
cancel: "Cancel",
|
|
486
|
+
confirm: "Confirm",
|
|
487
|
+
remove: "Remove"
|
|
483
488
|
},
|
|
484
489
|
greeting: {
|
|
485
490
|
mainTitle: "Welcome to SnapCall",
|
|
@@ -489,6 +494,46 @@ const $91fcbf58e59aae79$export$84584c2a98eb6753 = {
|
|
|
489
494
|
nameSubmit: "Join Conversation",
|
|
490
495
|
footerTitle: "Powered by SnapCall",
|
|
491
496
|
footerDescription: "Meet SnapCall, the easiest way to add real-time video to platform, product or service."
|
|
497
|
+
},
|
|
498
|
+
recorder: {
|
|
499
|
+
submissionTitle: "Thank you for your submission!",
|
|
500
|
+
submissionDescription: "Your photo/video has been successfully sent. We will review it and get back to you soon.",
|
|
501
|
+
confirmRemovalTitle: "Confirm removal",
|
|
502
|
+
confirmRemovalDescription: "Are you sure you want to remove this photo/video? This action cannot be undone.",
|
|
503
|
+
elementBeingProcessed: "Please wait a moment while your {{ type }} is being processed...",
|
|
504
|
+
waitVideo: "It may take up to 15 seconds for a video to be ready.",
|
|
505
|
+
elementCaptureSuccess: "{{ type }} successfully captured",
|
|
506
|
+
takeNewElement: "Take new {{ type }}",
|
|
507
|
+
sendElement: "Send {{ type }}",
|
|
508
|
+
sendElements: "Send {{ count }} elements",
|
|
509
|
+
allowAccess: "Allow access",
|
|
510
|
+
okay: "Okay",
|
|
511
|
+
allowCamMicAccess: "Allow access to cam/mic",
|
|
512
|
+
allowScreenShareAccess: "Allow access to screen sharing",
|
|
513
|
+
permissionDeniedTitle: "Something went wrong!",
|
|
514
|
+
permissionDeniedDescription: "Without camera and microphone access, you can't take photos or videos to share with the support team. Please grant access in your browser settings.",
|
|
515
|
+
photoInstructionsTitle: "Ready to take a shot?",
|
|
516
|
+
videoInstructionsTitle: "Ready to record a video?",
|
|
517
|
+
screenShareInstructionsTitle: "Ready to capture your screen?",
|
|
518
|
+
instructions: {
|
|
519
|
+
allowAccessOnPrompt: "When prompted, <1>allow access</1> to camera and microphone.",
|
|
520
|
+
tapPhotoButton: "Tap the <1 /><2> Camera button</2> to take a photo.",
|
|
521
|
+
multiplePhotos: "Don't hesitate to take multiple photos for more detail.",
|
|
522
|
+
reviewAndSendPhotos: "You can review your photo and then <1>send it when you're done.</1>",
|
|
523
|
+
tapVideoButton: "Tap the <1 /><2> Record button</2> to start a recording.",
|
|
524
|
+
videoSpeech: "You can <1>speak during</1> the recording for added detail.",
|
|
525
|
+
tapStopVideoButton: "When you're finished, tap the <1 /><2> Stop button</2>.",
|
|
526
|
+
reviewAndSendVideos: "You can review your video and then <1>send it when you're done</2>.",
|
|
527
|
+
tapScreenShareButton: "Tap on <1> Record my screen</1> to start a recording.",
|
|
528
|
+
tapStopScreenShareButton: "When you're finished, tap on <1>Stop recording</1>.",
|
|
529
|
+
reviewAnsSendScreenShare: "You can review your video and then <1>send it when you're done</1>."
|
|
530
|
+
},
|
|
531
|
+
switchToMobileTitle: "Switch to your mobile",
|
|
532
|
+
switchToMobileDescription: "Enjoy an even more convenient experience by using your phone to take photos and record videos.",
|
|
533
|
+
useDesktopVersion: "Use desktop version",
|
|
534
|
+
scanQRCode: "Scan this QR code with a compatible device.",
|
|
535
|
+
startScreenShareButton: "Record my screen",
|
|
536
|
+
stopScreenShareButton: "Stop recording"
|
|
492
537
|
}
|
|
493
538
|
}
|
|
494
539
|
};
|
|
@@ -626,6 +671,8 @@ const $e52ca91c2b296e41$export$acb2a88f7d552ebf = {
|
|
|
626
671
|
someone: "Quelqu'un",
|
|
627
672
|
camera: "Cam\xe9ra",
|
|
628
673
|
microphone: "Micro",
|
|
674
|
+
photo: "Photo",
|
|
675
|
+
video: "Vid\xe9o",
|
|
629
676
|
screen: "\xc9cran",
|
|
630
677
|
speaker: "Haut-parleur",
|
|
631
678
|
user: "Utilisateur",
|
|
@@ -633,7 +680,10 @@ const $e52ca91c2b296e41$export$acb2a88f7d552ebf = {
|
|
|
633
680
|
from: "Depuis",
|
|
634
681
|
accept: "Accepter",
|
|
635
682
|
decline: "D\xe9cliner",
|
|
636
|
-
you: "Vous"
|
|
683
|
+
you: "Vous",
|
|
684
|
+
cancel: "Annuler",
|
|
685
|
+
confirm: "Confirmer",
|
|
686
|
+
remove: "Enlever"
|
|
637
687
|
},
|
|
638
688
|
greeting: {
|
|
639
689
|
mainTitle: "Bienvenue sur SnapCall",
|
|
@@ -643,6 +693,46 @@ const $e52ca91c2b296e41$export$acb2a88f7d552ebf = {
|
|
|
643
693
|
nameSubmit: "Rejoindre la conversation",
|
|
644
694
|
footerTitle: "Propuls\xe9 par SnapCall",
|
|
645
695
|
footerDescription: "D\xe9couvrez SnapCall, ajoutez de la vid\xe9o en temps r\xe9el \xe0 n'importe quelle plateforme, produit ou service."
|
|
696
|
+
},
|
|
697
|
+
recorder: {
|
|
698
|
+
submissionTitle: "Merci pour votre soumission!",
|
|
699
|
+
submissionDescription: "Votre photo/vid\xe9o a \xe9t\xe9 envoy\xe9e avec succ\xe8s. Nous l'examinerons et reviendrons vers vous bient\xf4t.",
|
|
700
|
+
confirmRemovalTitle: "Confirmer la suppression",
|
|
701
|
+
confirmRemovalDescription: "Voulez-vous vraiment supprimer cette photo/vid\xe9o? Cette action ne peut pas \xeatre annul\xe9e.",
|
|
702
|
+
elementBeingProcessed: "Veuillez patienter un moment pendant que votre {{ type }} est en cours de traitement...",
|
|
703
|
+
waitVideo: "Cela peut prendre jusqu'\xe0 15 secondes pour qu'une vid\xe9o soit pr\xeate.",
|
|
704
|
+
elementCaptureSuccess: "{{ type }} captur\xe9e avec succ\xe8s",
|
|
705
|
+
takeNewElement: "Prendre une nouvelle {{ type }}",
|
|
706
|
+
sendElement: "Envoyer une {{ type }}",
|
|
707
|
+
sendElements: "Envoyer {{ count }} \xe9l\xe9ments",
|
|
708
|
+
allowAccess: "Permettre l'acc\xe8s",
|
|
709
|
+
okay: "D'accord",
|
|
710
|
+
allowCamMicAccess: "Autoriser l'acc\xe8s \xe0 la cam\xe9ra/au micro",
|
|
711
|
+
allowScreenShareAccess: "Autoriser l'acc\xe8s au partage d'\xe9cran",
|
|
712
|
+
permissionDeniedTitle: "Quelque chose s'est mal pass\xe9!",
|
|
713
|
+
permissionDeniedDescription: "Sans acc\xe8s \xe0 la cam\xe9ra et au microphone, vous ne pouvez pas prendre de photos ou de vid\xe9os \xe0 partager avec l'\xe9quipe d'assistance. Veuillez accorder l'acc\xe8s dans les param\xe8tres de votre navigateur.",
|
|
714
|
+
photoInstructionsTitle: "Pr\xeat \xe0 prendre une photo?",
|
|
715
|
+
videoInstructionsTitle: "Pr\xeat \xe0 enregistrer une vid\xe9o?",
|
|
716
|
+
screenShareInstructionsTitle: "Pr\xeat \xe0 capturer votre \xe9cran?",
|
|
717
|
+
instructions: {
|
|
718
|
+
allowAccessOnPrompt: "Lorsque vous y \xeates invit\xe9, <1>autorisez l'acc\xe8s</1> \xe0 la cam\xe9ra et au microphone.",
|
|
719
|
+
tapPhotoButton: "Appuyez sur le <1 /><2>bouton Appareil photo</2> pour prendre une photo.",
|
|
720
|
+
multiplePhotos: "N'h\xe9sitez pas \xe0 prendre plusieurs photos pour plus de d\xe9tails.",
|
|
721
|
+
reviewAndSendPhotos: "Vous pouvez revoir votre photo, puis <1>l'envoyer lorsque vous avez termin\xe9.</1>",
|
|
722
|
+
tapVideoButton: "Appuyez sur le <1 /><2>bouton d'enregistrement</2> pour d\xe9marrer un enregistrement.",
|
|
723
|
+
videoSpeech: "Vous pouvez <1>parler pendant</1> l'enregistrement pour plus de d\xe9tails.",
|
|
724
|
+
tapStopVideoButton: "Lorsque vous avez termin\xe9, appuyez sur le <1 /><2>bouton Arr\xeater</2>.",
|
|
725
|
+
reviewAndSendVideos: "Vous pouvez revoir votre vid\xe9o, puis <1>l'envoyer lorsque vous avez termin\xe9</2>.",
|
|
726
|
+
tapScreenShareButton: "Appuyez sur <1>Enregistrer mon \xe9cran</1> pour d\xe9marrer un enregistrement.",
|
|
727
|
+
tapStopScreenShareButton: "Lorsque vous avez termin\xe9, appuyez sur <1>Arr\xeater l'enregistrement</1>.",
|
|
728
|
+
reviewAnsSendScreenShare: "Vous pouvez revoir votre vid\xe9o, puis <1>l'envoyer lorsque vous avez termin\xe9</1>."
|
|
729
|
+
},
|
|
730
|
+
switchToMobileTitle: "Basculez vers votre mobile",
|
|
731
|
+
switchToMobileDescription: "Profitez d'une exp\xe9rience encore plus pratique en utilisant votre t\xe9l\xe9phone pour prendre des photos et enregistrer des vid\xe9os.",
|
|
732
|
+
useDesktopVersion: "Utiliser la version de bureau",
|
|
733
|
+
scanQRCode: "Scannez ce code QR avec un appareil compatible.",
|
|
734
|
+
startScreenShareButton: "Enregistrer mon \xe9cran",
|
|
735
|
+
stopScreenShareButton: "Arr\xeater d'enregistrer"
|
|
646
736
|
}
|
|
647
737
|
}
|
|
648
738
|
};
|
|
@@ -784,6 +874,8 @@ const $e0ae3d23c2381da3$export$3486a10f30cf1ee4 = {
|
|
|
784
874
|
someone: "Qualcuno",
|
|
785
875
|
camera: "Telecamera",
|
|
786
876
|
microphone: "Microfono",
|
|
877
|
+
photo: "Foto",
|
|
878
|
+
video: "Video",
|
|
787
879
|
screen: "Schermo",
|
|
788
880
|
speaker: "Altoparlante",
|
|
789
881
|
user: "Utente",
|
|
@@ -791,7 +883,10 @@ const $e0ae3d23c2381da3$export$3486a10f30cf1ee4 = {
|
|
|
791
883
|
from: "Da",
|
|
792
884
|
accept: "Accettare",
|
|
793
885
|
decline: "Declinare",
|
|
794
|
-
you: "Voi"
|
|
886
|
+
you: "Voi",
|
|
887
|
+
cancel: "Annulla",
|
|
888
|
+
confirm: "Confermare",
|
|
889
|
+
remove: "Rimuovere"
|
|
795
890
|
},
|
|
796
891
|
greeting: {
|
|
797
892
|
mainTitle: "Benvenuto a SnapCall",
|
|
@@ -801,6 +896,46 @@ const $e0ae3d23c2381da3$export$3486a10f30cf1ee4 = {
|
|
|
801
896
|
nameSubmit: "Partecipa alla conversazione",
|
|
802
897
|
footerTitle: "Offerto da SnapCall",
|
|
803
898
|
footerDescription: "Incontrare SnapCall, il modo pi\xf9 semplice per aggiungere video in tempo reale a piattaforma, prodotto o servizio."
|
|
899
|
+
},
|
|
900
|
+
recorder: {
|
|
901
|
+
submissionTitle: "Grazie per la vostra presentazione!",
|
|
902
|
+
submissionDescription: "La tua foto/video \xe8 stato inviato con successo. Lo esamineremo e ti ricontatteremo presto.",
|
|
903
|
+
confirmRemovalTitle: "Conferma la rimozione",
|
|
904
|
+
confirmRemovalDescription: "Sei sicuro di voler rimuovere questa foto/video? Questa azione non pu\xf2 essere annullata.",
|
|
905
|
+
elementBeingProcessed: "Attendi un momento mentre la tua {{ type }} \xe8 in fase di elaborazione...",
|
|
906
|
+
waitVideo: "Potrebbero essere necessari fino a 15 secondi prima che un video sia pronto.",
|
|
907
|
+
elementCaptureSuccess: "{{ type }} catturato con successo",
|
|
908
|
+
takeNewElement: "Scatta una nuova {{ type }}",
|
|
909
|
+
sendElement: "Invia una {{ type }}",
|
|
910
|
+
sendElements: "Invia {{ count }} elementi",
|
|
911
|
+
allowAccess: "Consentire l'accesso",
|
|
912
|
+
okay: "Va bene",
|
|
913
|
+
allowCamMicAccess: "Consenti l'accesso a cam/microfono",
|
|
914
|
+
allowScreenShareAccess: "Consenti l'accesso alla condivisione dello schermo",
|
|
915
|
+
permissionDeniedTitle: "Qualcosa \xe8 andato storto!",
|
|
916
|
+
permissionDeniedDescription: "Senza l'accesso alla fotocamera e al microfono, non puoi scattare foto o registrare video da condividere con il team di supporto. Concedi l'accesso nelle impostazioni del tuo browser.",
|
|
917
|
+
photoInstructionsTitle: "Pronto a fare un tentativo?",
|
|
918
|
+
videoInstructionsTitle: "Pronto a registrare un video?",
|
|
919
|
+
screenShareInstructionsTitle: "Pronto a catturare il tuo schermo?",
|
|
920
|
+
instructions: {
|
|
921
|
+
allowAccessOnPrompt: "Quando richiesto, <1>consenti l'accesso</1> alla videocamera e al microfono.",
|
|
922
|
+
tapPhotoButton: "Tocca il <1 /><2> pulsante Fotocamera</2> per scattare una foto.",
|
|
923
|
+
multiplePhotos: "Non esitate a scattare pi\xf9 foto per maggiori dettagli.",
|
|
924
|
+
reviewAndSendPhotos: "Puoi rivedere la tua foto e poi <1>inviarla quando hai finito.</1>",
|
|
925
|
+
tapVideoButton: "Tocca il <1 /><2> pulsante Registra</2> per avviare una registrazione.",
|
|
926
|
+
videoSpeech: "Puoi <1>parlare durante</1> la registrazione per ulteriori dettagli.",
|
|
927
|
+
tapStopVideoButton: "Al termine, tocca il <1 /><2> pulsante Interrompi</2>.",
|
|
928
|
+
reviewAndSendVideos: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito</2>.",
|
|
929
|
+
tapScreenShareButton: "Tocca <1> Registra il mio schermo</1> per avviare una registrazione.",
|
|
930
|
+
tapStopScreenShareButton: "Al termine, tocca <1>Interrompi registrazione</1>.",
|
|
931
|
+
reviewAnsSendScreenShare: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito</1>."
|
|
932
|
+
},
|
|
933
|
+
switchToMobileTitle: "Passa al tuo cellulare",
|
|
934
|
+
switchToMobileDescription: "Goditi un'esperienza ancora pi\xf9 comoda utilizzando il telefono per scattare foto e registrare video.",
|
|
935
|
+
useDesktopVersion: "Usa la versione desktop",
|
|
936
|
+
scanQRCode: "Scansiona questo codice QR con un dispositivo compatibile.",
|
|
937
|
+
startScreenShareButton: "Registra il mio schermo",
|
|
938
|
+
stopScreenShareButton: "Interrompi la registrazione"
|
|
804
939
|
}
|
|
805
940
|
}
|
|
806
941
|
};
|
|
@@ -1444,6 +1579,49 @@ class $cb913ea078a876a6$export$2e2bcd8739ae039 {
|
|
|
1444
1579
|
}
|
|
1445
1580
|
|
|
1446
1581
|
|
|
1582
|
+
const $93041e14f6aa3f24$var$audioContextConstructor = window.AudioContext || window.webkitAudioContext;
|
|
1583
|
+
class $93041e14f6aa3f24$export$22ddc20344c01547 {
|
|
1584
|
+
audioSources = {};
|
|
1585
|
+
tracks = {};
|
|
1586
|
+
constructor(){
|
|
1587
|
+
this.audioContext = new $93041e14f6aa3f24$var$audioContextConstructor();
|
|
1588
|
+
this.audioDestination = this.audioContext.createMediaStreamDestination();
|
|
1589
|
+
}
|
|
1590
|
+
getSetting(identifier) {
|
|
1591
|
+
return this.tracks[identifier]?.getSettings();
|
|
1592
|
+
}
|
|
1593
|
+
removeTrack(identifier) {
|
|
1594
|
+
const track = this.tracks[identifier];
|
|
1595
|
+
if (track) {
|
|
1596
|
+
this.audioSources[identifier]?.disconnect();
|
|
1597
|
+
delete this.tracks[identifier];
|
|
1598
|
+
delete this.audioSources[identifier];
|
|
1599
|
+
track.stop();
|
|
1600
|
+
}
|
|
1601
|
+
}
|
|
1602
|
+
addTrack(identifier, track) {
|
|
1603
|
+
if (track.kind === "audio") {
|
|
1604
|
+
this.removeTrack(identifier);
|
|
1605
|
+
const stream = new MediaStream([
|
|
1606
|
+
track
|
|
1607
|
+
]);
|
|
1608
|
+
const audioSource = this.audioContext.createMediaStreamSource(stream);
|
|
1609
|
+
this.audioSources[identifier] = audioSource;
|
|
1610
|
+
this.tracks[identifier] = track;
|
|
1611
|
+
if (this.audioDestination) audioSource.connect(this.audioDestination);
|
|
1612
|
+
}
|
|
1613
|
+
}
|
|
1614
|
+
getFinalTrack() {
|
|
1615
|
+
return this.audioDestination.stream.getTracks()[0];
|
|
1616
|
+
}
|
|
1617
|
+
removeAll() {
|
|
1618
|
+
Object.keys(this.tracks).forEach((identifier)=>{
|
|
1619
|
+
this.removeTrack(identifier);
|
|
1620
|
+
});
|
|
1621
|
+
}
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
|
|
1447
1625
|
const $1dedebd5ff3002eb$var$log = new (0, $d0c6baf97675ab49$export$2e2bcd8739ae039)("StreamerClient");
|
|
1448
1626
|
const $1dedebd5ff3002eb$export$103bedf43ba882db = {
|
|
1449
1627
|
WEBRTC_FAILED: "WRTC1",
|
|
@@ -1983,6 +2161,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
|
|
|
1983
2161
|
this.audioLevel?.release();
|
|
1984
2162
|
this.audioLevel = undefined;
|
|
1985
2163
|
if (this.micProducer && this.micProducer.track) {
|
|
2164
|
+
this.audioMedia?.removeTrack("mic");
|
|
1986
2165
|
this.micProducer?.track?.stop();
|
|
1987
2166
|
$1dedebd5ff3002eb$var$log.log("switchMicrophone", "stopping previous track");
|
|
1988
2167
|
}
|
|
@@ -1995,7 +2174,9 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
|
|
|
1995
2174
|
}));
|
|
1996
2175
|
this.audioLevel = new (0, $6a90fae7e584afd4$export$ea669869acd8f177)(stream, this);
|
|
1997
2176
|
// this.audioLevel.analyse();
|
|
2177
|
+
this.audioMedia = this.audioMedia || new (0, $93041e14f6aa3f24$export$22ddc20344c01547)();
|
|
1998
2178
|
const track = stream.getAudioTracks()[0];
|
|
2179
|
+
this.audioMedia.addTrack("mic", track);
|
|
1999
2180
|
await this.micProducer?.replaceTrack({
|
|
2000
2181
|
track: track
|
|
2001
2182
|
});
|
|
@@ -2071,10 +2252,12 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
|
|
|
2071
2252
|
const transport = await this.getTransport("audio", "send");
|
|
2072
2253
|
this.audioLevel = new (0, $6a90fae7e584afd4$export$ea669869acd8f177)(stream, this);
|
|
2073
2254
|
// this.audioLevel.analyse();
|
|
2255
|
+
this.audioMedia = this.audioMedia || new (0, $93041e14f6aa3f24$export$22ddc20344c01547)();
|
|
2074
2256
|
const track = stream.getAudioTracks()[0];
|
|
2257
|
+
this.audioMedia.addTrack("mic", track);
|
|
2075
2258
|
const deviceType = "microphone";
|
|
2076
2259
|
const micProducer = await transport.produce({
|
|
2077
|
-
track:
|
|
2260
|
+
track: this.audioMedia.getFinalTrack(),
|
|
2078
2261
|
codecOptions: {
|
|
2079
2262
|
opusStereo: true,
|
|
2080
2263
|
opusDtx: true
|
|
@@ -2151,6 +2334,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
|
|
|
2151
2334
|
this.mediaPipe.clean();
|
|
2152
2335
|
this.mediaPipe = undefined;
|
|
2153
2336
|
}
|
|
2337
|
+
this.audioMedia?.removeAll();
|
|
2154
2338
|
this.webcamTrack?.stop();
|
|
2155
2339
|
this.webcamTrack = null;
|
|
2156
2340
|
this.protooTransport.close();
|
|
@@ -2499,10 +2683,13 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
|
|
|
2499
2683
|
});
|
|
2500
2684
|
this.dispatchEvent(event);
|
|
2501
2685
|
}
|
|
2502
|
-
async enableScreenshare(
|
|
2686
|
+
async enableScreenshare(option = {
|
|
2687
|
+
audioTransportOption: "classic"
|
|
2688
|
+
}) {
|
|
2503
2689
|
if (!this.permissions.find((permission)=>permission === "screen_sharing")) throw new Error("feature not allowed");
|
|
2690
|
+
if (option.audioTransportOption === "mix" && !this.micProducer) throw new Error("microphone not activated and audio mix transport requested");
|
|
2504
2691
|
const stream = await this.handleGetUserMediaError("screen", navigator.mediaDevices.getDisplayMedia({
|
|
2505
|
-
audio:
|
|
2692
|
+
audio: option.audioTransportOption !== "none",
|
|
2506
2693
|
video: {
|
|
2507
2694
|
displaySurface: "monitor",
|
|
2508
2695
|
logicalSurface: true,
|
|
@@ -2522,13 +2709,23 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
|
|
|
2522
2709
|
const audioTransport = await this.getTransport("audio", "send");
|
|
2523
2710
|
const audioTrack = stream.getAudioTracks()[0];
|
|
2524
2711
|
if (audioTrack) {
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
this.screenshareVideoProducer
|
|
2531
|
-
|
|
2712
|
+
if (option.audioTransportOption === "classic") {
|
|
2713
|
+
this.screenshareAudioProducer = await this.streamerMediasoup?.produceAudio(audioTransport, audioTrack, {
|
|
2714
|
+
deviceType: deviceType,
|
|
2715
|
+
share: true
|
|
2716
|
+
});
|
|
2717
|
+
this.screenshareVideoProducer?.on("transportclose", ()=>{
|
|
2718
|
+
this.screenshareVideoProducer = undefined;
|
|
2719
|
+
});
|
|
2720
|
+
} else if (option.audioTransportOption === "mix") {
|
|
2721
|
+
this.audioMedia = this.audioMedia || new (0, $93041e14f6aa3f24$export$22ddc20344c01547)();
|
|
2722
|
+
this.audioMedia.addTrack("screen", audioTrack);
|
|
2723
|
+
const finalTracks = this.audioMedia.getFinalTrack();
|
|
2724
|
+
// currently microphone producer has to be enabled before.
|
|
2725
|
+
if (finalTracks && this.micProducer) this.micProducer.replaceTrack({
|
|
2726
|
+
track: finalTracks
|
|
2727
|
+
});
|
|
2728
|
+
}
|
|
2532
2729
|
}
|
|
2533
2730
|
const track = stream.getVideoTracks()[0];
|
|
2534
2731
|
const videoTransport = await this.getTransport("video", "send");
|
|
@@ -2555,6 +2752,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
|
|
|
2555
2752
|
});
|
|
2556
2753
|
this.screenshareVideoProducer = undefined;
|
|
2557
2754
|
}
|
|
2755
|
+
this.audioMedia?.removeTrack("screen");
|
|
2558
2756
|
if (this.screenshareAudioProducer) {
|
|
2559
2757
|
this.screenshareAudioProducer.close();
|
|
2560
2758
|
if (this.protoo.connected) await this.protoo.request("closeProducer", {
|
|
@@ -2852,7 +3050,7 @@ class $1dedebd5ff3002eb$export$2e2bcd8739ae039 extends $1dedebd5ff3002eb$var$Str
|
|
|
2852
3050
|
return this.webcam;
|
|
2853
3051
|
}
|
|
2854
3052
|
getCurrentMicrophoneId() {
|
|
2855
|
-
return this.micProducer?.track?.getSettings().deviceId;
|
|
3053
|
+
return this.audioMedia?.getSetting("mic") || this.micProducer?.track?.getSettings().deviceId;
|
|
2856
3054
|
}
|
|
2857
3055
|
getCurrentSpeakerId() {
|
|
2858
3056
|
const audioRendererKeys = Object.keys(this.audioRenderers);
|
|
@@ -10526,6 +10724,8 @@ const $e3bb2c5d0e5b45b5$export$914ddf2021ea8ee6 = (0, ($parcel$interopDefault($j
|
|
|
10526
10724
|
|
|
10527
10725
|
|
|
10528
10726
|
|
|
10727
|
+
|
|
10728
|
+
|
|
10529
10729
|
|
|
10530
10730
|
|
|
10531
10731
|
|
|
@@ -10571,6 +10771,61 @@ const $6e29654b44f114e1$export$d2b052e7b4be1756 = /*#__PURE__*/ (0, $jQDcL$react
|
|
|
10571
10771
|
|
|
10572
10772
|
|
|
10573
10773
|
|
|
10774
|
+
const $6fa093aef38ba660$export$a703eb468fcf7e69 = (props)=>{
|
|
10775
|
+
const { state: state , children: children } = props;
|
|
10776
|
+
const ref = (0, $jQDcL$react.useRef)(null);
|
|
10777
|
+
const { modalProps: modalProps , underlayProps: underlayProps } = (0, $jQDcL$reactaria.useModalOverlay)({
|
|
10778
|
+
isDismissable: true,
|
|
10779
|
+
...props
|
|
10780
|
+
}, state, ref);
|
|
10781
|
+
const [exited, setExited] = (0, $jQDcL$react.useState)(!state.isOpen);
|
|
10782
|
+
if (!(state.isOpen || !exited)) return null;
|
|
10783
|
+
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reactaria.Overlay), {
|
|
10784
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacttransitiongroup.CSSTransition), {
|
|
10785
|
+
in: state.isOpen,
|
|
10786
|
+
appear: true,
|
|
10787
|
+
onEntered: ()=>setExited(false),
|
|
10788
|
+
onExited: ()=>setExited(true),
|
|
10789
|
+
timeout: {
|
|
10790
|
+
enter: 0,
|
|
10791
|
+
exit: 300
|
|
10792
|
+
},
|
|
10793
|
+
classNames: {
|
|
10794
|
+
enter: "opacity-0",
|
|
10795
|
+
enterDone: "opacity-1 transition ease-in",
|
|
10796
|
+
exit: "opacity-0 transition ease-out"
|
|
10797
|
+
},
|
|
10798
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
10799
|
+
className: "fixed z-[100] inset-0 bg-black bg-opacity-90 flex justify-center items-center inter",
|
|
10800
|
+
...underlayProps,
|
|
10801
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reacttransitiongroup.CSSTransition), {
|
|
10802
|
+
in: state.isOpen,
|
|
10803
|
+
appear: true,
|
|
10804
|
+
nodeRef: ref,
|
|
10805
|
+
timeout: {
|
|
10806
|
+
enter: 0,
|
|
10807
|
+
exit: 300
|
|
10808
|
+
},
|
|
10809
|
+
classNames: {
|
|
10810
|
+
appear: "translate-y-2",
|
|
10811
|
+
appearDone: "translate-y-0 transition ease-in",
|
|
10812
|
+
exit: "translate-y-2 transition ease-out"
|
|
10813
|
+
},
|
|
10814
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
10815
|
+
...modalProps,
|
|
10816
|
+
ref: ref,
|
|
10817
|
+
children: children
|
|
10818
|
+
})
|
|
10819
|
+
})
|
|
10820
|
+
})
|
|
10821
|
+
})
|
|
10822
|
+
});
|
|
10823
|
+
};
|
|
10824
|
+
|
|
10825
|
+
|
|
10826
|
+
|
|
10827
|
+
|
|
10828
|
+
|
|
10574
10829
|
|
|
10575
10830
|
|
|
10576
10831
|
|
|
@@ -10586,6 +10841,7 @@ const $f98f91fb267f52c8$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $jQDcL$react
|
|
|
10586
10841
|
primary: (0, ($parcel$interopDefault($jQDcL$classnames)))(isActive ? "bg-primaryLight" : "bg-primary", "text-white disabled:bg-secondaryLight"),
|
|
10587
10842
|
secondary: (0, ($parcel$interopDefault($jQDcL$classnames)))(isActive ? "bg-graySelected" : "bg-transparent", "text-primary border border-secondaryLight disabled:text-secondaryLight disabled:bg-graySelected"),
|
|
10588
10843
|
basic: (0, ($parcel$interopDefault($jQDcL$classnames)))(isActive ? "bg-graySelected" : "bg-white", "text-primary disabled:text-secondaryLight disabled:bg-graySelected"),
|
|
10844
|
+
tertiary: (0, ($parcel$interopDefault($jQDcL$classnames)))(isActive ? "bg-tertiarySelected" : "bg-tertiary", "text-mainBlue disabled:opacity-50"),
|
|
10589
10845
|
custom: ""
|
|
10590
10846
|
};
|
|
10591
10847
|
const sizeStyle = {
|
|
@@ -10613,12 +10869,6 @@ const $f98f91fb267f52c8$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $jQDcL$react
|
|
|
10613
10869
|
|
|
10614
10870
|
function $48c2553f62767e40$export$2b77a92f1a5ad772(props) {
|
|
10615
10871
|
const { children: children , state: state , size: size = "small" , title: title , description: description , primaryAction: primaryAction , secondaryAction: secondaryAction , centered: centered = false } = props;
|
|
10616
|
-
const ref = (0, ($parcel$interopDefault($jQDcL$react))).useRef(null);
|
|
10617
|
-
const { modalProps: modalProps , underlayProps: underlayProps } = (0, $jQDcL$reactariaoverlays.useModalOverlay)({
|
|
10618
|
-
isDismissable: true,
|
|
10619
|
-
...props
|
|
10620
|
-
}, state, ref);
|
|
10621
|
-
const [exited, setExited] = (0, $jQDcL$react.useState)(!state.isOpen);
|
|
10622
10872
|
const viewport = (0, $jQDcL$reactariautils.useViewportSize)();
|
|
10623
10873
|
const maxHeight = viewport.height - 64;
|
|
10624
10874
|
const modalSize = {
|
|
@@ -10626,96 +10876,60 @@ function $48c2553f62767e40$export$2b77a92f1a5ad772(props) {
|
|
|
10626
10876
|
medium: "max-w-[600px]",
|
|
10627
10877
|
large: "max-w-[800px]"
|
|
10628
10878
|
};
|
|
10629
|
-
|
|
10630
|
-
|
|
10631
|
-
|
|
10632
|
-
|
|
10633
|
-
|
|
10634
|
-
|
|
10635
|
-
onEntered: ()=>setExited(false),
|
|
10636
|
-
onExited: ()=>setExited(true),
|
|
10637
|
-
timeout: {
|
|
10638
|
-
enter: 0,
|
|
10639
|
-
exit: 300
|
|
10640
|
-
},
|
|
10641
|
-
classNames: {
|
|
10642
|
-
enter: "opacity-0",
|
|
10643
|
-
enterDone: "opacity-1 transition ease-in",
|
|
10644
|
-
exit: "opacity-0 transition ease-out"
|
|
10879
|
+
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6fa093aef38ba660$export$a703eb468fcf7e69), {
|
|
10880
|
+
state: state,
|
|
10881
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
10882
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("bg-white rounded-[10px] z-[1] overflow-x-auto focus:outline-none", modalSize[size]),
|
|
10883
|
+
style: {
|
|
10884
|
+
maxHeight: `${maxHeight}px`
|
|
10645
10885
|
},
|
|
10646
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
10647
|
-
className: "
|
|
10648
|
-
|
|
10649
|
-
|
|
10650
|
-
|
|
10651
|
-
|
|
10652
|
-
|
|
10653
|
-
|
|
10654
|
-
|
|
10655
|
-
exit: 300
|
|
10656
|
-
},
|
|
10657
|
-
classNames: {
|
|
10658
|
-
appear: "translate-y-2",
|
|
10659
|
-
appearDone: "translate-y-0 transition ease-in",
|
|
10660
|
-
exit: "translate-y-2 transition ease-out"
|
|
10661
|
-
},
|
|
10662
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
10663
|
-
...modalProps,
|
|
10664
|
-
ref: ref,
|
|
10665
|
-
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("bg-white rounded-[10px] z-[1] overflow-x-auto focus:outline-none", modalSize[size]),
|
|
10666
|
-
style: {
|
|
10667
|
-
maxHeight: `${maxHeight}px`
|
|
10668
|
-
},
|
|
10669
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
10670
|
-
className: "flex flex-col gap-5 px-5 py-[25px] max-h-[inherit]",
|
|
10671
|
-
children: [
|
|
10672
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
10673
|
-
className: "flex flex-col gap-5 overflow-auto",
|
|
10674
|
-
children: [
|
|
10675
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
10676
|
-
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("flex flex-col gap-[5px]", {
|
|
10677
|
-
"text-center": centered
|
|
10678
|
-
}),
|
|
10679
|
-
children: [
|
|
10680
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("h2", {
|
|
10681
|
-
className: "text-xl font-medium",
|
|
10682
|
-
children: title
|
|
10683
|
-
}),
|
|
10684
|
-
description && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("p", {
|
|
10685
|
-
className: "text-sm text-secondary",
|
|
10686
|
-
children: description
|
|
10687
|
-
})
|
|
10688
|
-
]
|
|
10689
|
-
}),
|
|
10690
|
-
children
|
|
10691
|
-
]
|
|
10886
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
10887
|
+
className: "flex flex-col gap-5 px-5 py-[25px] max-h-[inherit]",
|
|
10888
|
+
children: [
|
|
10889
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
10890
|
+
className: "flex flex-col gap-5 overflow-auto",
|
|
10891
|
+
children: [
|
|
10892
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
10893
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("flex flex-col gap-[5px]", {
|
|
10894
|
+
"text-center": centered
|
|
10692
10895
|
}),
|
|
10693
|
-
|
|
10694
|
-
|
|
10695
|
-
|
|
10696
|
-
|
|
10697
|
-
|
|
10698
|
-
|
|
10699
|
-
|
|
10700
|
-
|
|
10701
|
-
|
|
10702
|
-
|
|
10703
|
-
|
|
10704
|
-
|
|
10705
|
-
|
|
10706
|
-
|
|
10707
|
-
|
|
10708
|
-
|
|
10709
|
-
|
|
10710
|
-
|
|
10711
|
-
|
|
10712
|
-
|
|
10713
|
-
|
|
10714
|
-
|
|
10715
|
-
|
|
10716
|
-
|
|
10896
|
+
children: [
|
|
10897
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("h2", {
|
|
10898
|
+
className: "text-xl font-medium",
|
|
10899
|
+
children: title
|
|
10900
|
+
}),
|
|
10901
|
+
description && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("p", {
|
|
10902
|
+
className: "text-sm text-secondary",
|
|
10903
|
+
children: description
|
|
10904
|
+
})
|
|
10905
|
+
]
|
|
10906
|
+
}),
|
|
10907
|
+
children
|
|
10908
|
+
]
|
|
10909
|
+
}),
|
|
10910
|
+
(primaryAction || secondaryAction) && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
10911
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("flex justify-end gap-2.5", centered ? "justify-center" : "justify-end"),
|
|
10912
|
+
children: [
|
|
10913
|
+
typeof secondaryAction === "string" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
10914
|
+
variant: "secondary",
|
|
10915
|
+
onPress: state.close,
|
|
10916
|
+
fullWidth: centered,
|
|
10917
|
+
children: secondaryAction
|
|
10918
|
+
}),
|
|
10919
|
+
typeof secondaryAction === "function" && secondaryAction({
|
|
10920
|
+
close: state.close
|
|
10921
|
+
}),
|
|
10922
|
+
typeof primaryAction === "string" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
10923
|
+
onPress: state.close,
|
|
10924
|
+
fullWidth: centered,
|
|
10925
|
+
children: primaryAction
|
|
10926
|
+
}),
|
|
10927
|
+
typeof primaryAction === "function" && primaryAction({
|
|
10928
|
+
close: state.close
|
|
10929
|
+
})
|
|
10930
|
+
]
|
|
10717
10931
|
})
|
|
10718
|
-
|
|
10932
|
+
]
|
|
10719
10933
|
})
|
|
10720
10934
|
})
|
|
10721
10935
|
});
|
|
@@ -10811,32 +11025,39 @@ const $b46da51ab7ae33e7$var$InstructionRow = ({ children: children , index: inde
|
|
|
10811
11025
|
]
|
|
10812
11026
|
});
|
|
10813
11027
|
const $b46da51ab7ae33e7$export$788cb893d96254c8 = ({ state: state , type: type })=>{
|
|
11028
|
+
const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
|
|
10814
11029
|
const [permissionsState, setPermissionsState] = (0, $jQDcL$react.useState)("idle");
|
|
11030
|
+
(0, $jQDcL$react.useEffect)(()=>{
|
|
11031
|
+
const { deviceState: deviceState } = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getState();
|
|
11032
|
+
if (deviceState.screenshare.enabled && type === "screen") return setPermissionsState("granted");
|
|
11033
|
+
if (deviceState.camera.enabled && type !== "screen") return setPermissionsState("granted");
|
|
11034
|
+
setPermissionsState("idle");
|
|
11035
|
+
}, [
|
|
11036
|
+
type
|
|
11037
|
+
]);
|
|
11038
|
+
const { deviceState: deviceState } = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).getState();
|
|
10815
11039
|
const [isRoomReady, setRoomReady] = (0, $jQDcL$react.useState)(false);
|
|
10816
11040
|
const { orientation: orientation } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
|
|
10817
11041
|
const device = orientation === "landscape" ? "desktop" : "mobile";
|
|
10818
11042
|
const videoLength = permissionsState === "granted" ? "short" : "full";
|
|
10819
|
-
const videoType = type === "
|
|
10820
|
-
const onDeviceEnabled = ()=>setPermissionsState("granted");
|
|
11043
|
+
const videoType = type === "photo" ? "photo" : "video";
|
|
10821
11044
|
const onEnterRoom = ()=>setRoomReady(true);
|
|
10822
11045
|
const onLeaveRoom = ()=>setRoomReady(false);
|
|
10823
11046
|
const ref = (0, $jQDcL$react.useRef)(null);
|
|
10824
11047
|
const title = (0, $jQDcL$react.useMemo)(()=>{
|
|
10825
|
-
if (permissionsState === "refused") return "
|
|
10826
|
-
if (type === "
|
|
10827
|
-
|
|
11048
|
+
if (permissionsState === "refused") return t("recorder.permissionDeniedTitle");
|
|
11049
|
+
if (type === "photo") return t("recorder.photoInstructionsTitle");
|
|
11050
|
+
else if (type === "video") return t("recorder.videoInstructionsTitle");
|
|
11051
|
+
else return t("recorder.screenShareInstructionsTitle");
|
|
10828
11052
|
}, [
|
|
10829
11053
|
permissionsState,
|
|
10830
|
-
type
|
|
11054
|
+
type,
|
|
11055
|
+
t
|
|
10831
11056
|
]);
|
|
10832
11057
|
(0, $jQDcL$react.useEffect)(()=>{
|
|
10833
|
-
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener("localVideoAvailable", onDeviceEnabled);
|
|
10834
|
-
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener("microphoneEnabled", onDeviceEnabled);
|
|
10835
11058
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener("enterRoom", onEnterRoom);
|
|
10836
11059
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener("leaveRoom", onLeaveRoom);
|
|
10837
11060
|
return ()=>{
|
|
10838
|
-
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener("localVideoAvailable", onDeviceEnabled);
|
|
10839
|
-
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener("microphoneEnabled", onDeviceEnabled);
|
|
10840
11061
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener("enterRoom", onEnterRoom);
|
|
10841
11062
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener("leaveRoom", onLeaveRoom);
|
|
10842
11063
|
};
|
|
@@ -10851,36 +11072,50 @@ const $b46da51ab7ae33e7$export$788cb893d96254c8 = ({ state: state , type: type
|
|
|
10851
11072
|
children: permissionsState === "refused" ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
10852
11073
|
fullWidth: true,
|
|
10853
11074
|
onPress: ()=>window.location.reload(),
|
|
10854
|
-
children: "
|
|
11075
|
+
children: t("recorder.allowAccess")
|
|
10855
11076
|
}) : /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $jQDcL$reactjsxruntime.Fragment), {
|
|
10856
11077
|
children: permissionsState === "granted" ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
10857
11078
|
fullWidth: true,
|
|
10858
11079
|
onPress: state.close,
|
|
10859
|
-
children: "
|
|
11080
|
+
children: t("recorder.okay")
|
|
10860
11081
|
}) : /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
10861
11082
|
fullWidth: true,
|
|
10862
11083
|
isDisabled: permissionsState === "requesting" || isRoomReady === false,
|
|
10863
11084
|
onPress: async ()=>{
|
|
10864
11085
|
setPermissionsState("requesting");
|
|
10865
11086
|
try {
|
|
10866
|
-
|
|
10867
|
-
|
|
10868
|
-
|
|
10869
|
-
|
|
10870
|
-
|
|
10871
|
-
|
|
10872
|
-
|
|
10873
|
-
|
|
10874
|
-
|
|
10875
|
-
|
|
10876
|
-
|
|
10877
|
-
|
|
11087
|
+
if (!deviceState.microphone.enabled) {
|
|
11088
|
+
const mediaResult = await navigator.mediaDevices.getUserMedia({
|
|
11089
|
+
audio: true,
|
|
11090
|
+
video: type !== "screen"
|
|
11091
|
+
});
|
|
11092
|
+
mediaResult.getTracks().forEach((track)=>track.stop());
|
|
11093
|
+
}
|
|
11094
|
+
if (!deviceState.microphone.enabled) await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).enableMicrophone();
|
|
11095
|
+
if (!deviceState.camera.enabled && type !== "screen") {
|
|
11096
|
+
await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).disableScreenshare();
|
|
11097
|
+
await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).enableVideo({
|
|
11098
|
+
resolution: "vga",
|
|
11099
|
+
frameRate: 20,
|
|
11100
|
+
facingMode: "environment"
|
|
11101
|
+
});
|
|
11102
|
+
}
|
|
11103
|
+
if (!deviceState.screenshare.enabled && type === "screen") {
|
|
11104
|
+
await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).disableVideo();
|
|
11105
|
+
await (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).enableScreenshare({
|
|
11106
|
+
audioTransportOption: "mix"
|
|
11107
|
+
});
|
|
11108
|
+
}
|
|
11109
|
+
setPermissionsState("granted");
|
|
11110
|
+
state.close();
|
|
11111
|
+
} catch (error) {
|
|
11112
|
+
console.log("error", error);
|
|
10878
11113
|
setPermissionsState("refused");
|
|
10879
11114
|
}
|
|
10880
11115
|
},
|
|
10881
11116
|
children: [
|
|
10882
11117
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $41e530447f5fd995$export$2e2bcd8739ae039), {}),
|
|
10883
|
-
"
|
|
11118
|
+
type !== "screen" ? t("recorder.allowCamMicAccess") : t("recorder.allowScreenShareAccess")
|
|
10884
11119
|
]
|
|
10885
11120
|
})
|
|
10886
11121
|
})
|
|
@@ -10892,51 +11127,61 @@ const $b46da51ab7ae33e7$export$788cb893d96254c8 = ({ state: state , type: type
|
|
|
10892
11127
|
className: "flex flex-col gap-[10px]",
|
|
10893
11128
|
ref: ref,
|
|
10894
11129
|
children: permissionsState === "refused" ? /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
10895
|
-
children: "
|
|
11130
|
+
children: t("recorder.permissionDeniedDescription")
|
|
10896
11131
|
}) : /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reactjsxruntime.Fragment), {
|
|
10897
11132
|
children: [
|
|
10898
11133
|
permissionsState !== "granted" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
10899
11134
|
index: 1,
|
|
10900
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
10901
|
-
children:
|
|
10902
|
-
|
|
10903
|
-
|
|
10904
|
-
|
|
10905
|
-
|
|
10906
|
-
|
|
10907
|
-
|
|
11135
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11136
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11137
|
+
i18nKey: "recorder.instructions.allowAccessOnPrompt",
|
|
11138
|
+
children: [
|
|
11139
|
+
"When prompted, ",
|
|
11140
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11141
|
+
children: "allow access"
|
|
11142
|
+
}),
|
|
11143
|
+
" to camera and microphone."
|
|
11144
|
+
]
|
|
11145
|
+
})
|
|
10908
11146
|
})
|
|
10909
11147
|
}),
|
|
10910
|
-
type === "
|
|
11148
|
+
type === "photo" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reactjsxruntime.Fragment), {
|
|
10911
11149
|
children: [
|
|
10912
11150
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
10913
11151
|
index: 1 + permissionsInstructionIndex,
|
|
10914
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
10915
|
-
children:
|
|
10916
|
-
|
|
10917
|
-
|
|
10918
|
-
|
|
10919
|
-
|
|
10920
|
-
|
|
10921
|
-
|
|
10922
|
-
|
|
11152
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11153
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11154
|
+
i18nKey: "recorder.instructions.tapPhotoButton",
|
|
11155
|
+
com: true,
|
|
11156
|
+
children: [
|
|
11157
|
+
"Tap the ",
|
|
11158
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $bec7bca3a7448591$export$dce36e07153365d), {}),
|
|
11159
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11160
|
+
children: " Camera button"
|
|
11161
|
+
}),
|
|
11162
|
+
" to take a photo."
|
|
11163
|
+
]
|
|
11164
|
+
})
|
|
10923
11165
|
})
|
|
10924
11166
|
}),
|
|
10925
11167
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
10926
11168
|
index: 2 + permissionsInstructionIndex,
|
|
10927
11169
|
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
10928
|
-
children: "
|
|
11170
|
+
children: t("recorder.instructions.multiplePhotos")
|
|
10929
11171
|
})
|
|
10930
11172
|
}),
|
|
10931
11173
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
10932
11174
|
index: 3 + permissionsInstructionIndex,
|
|
10933
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
10934
|
-
children:
|
|
10935
|
-
|
|
10936
|
-
|
|
10937
|
-
|
|
10938
|
-
|
|
10939
|
-
|
|
11175
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11176
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11177
|
+
i18nKey: "recorder.instructions.reviewAndSendPhotos",
|
|
11178
|
+
children: [
|
|
11179
|
+
"You can review your photo and then ",
|
|
11180
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11181
|
+
children: "send it when you're done."
|
|
11182
|
+
})
|
|
11183
|
+
]
|
|
11184
|
+
})
|
|
10940
11185
|
})
|
|
10941
11186
|
})
|
|
10942
11187
|
]
|
|
@@ -10945,52 +11190,128 @@ const $b46da51ab7ae33e7$export$788cb893d96254c8 = ({ state: state , type: type
|
|
|
10945
11190
|
children: [
|
|
10946
11191
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
10947
11192
|
index: 1 + permissionsInstructionIndex,
|
|
10948
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
10949
|
-
children:
|
|
10950
|
-
|
|
10951
|
-
|
|
10952
|
-
|
|
10953
|
-
|
|
10954
|
-
|
|
10955
|
-
|
|
10956
|
-
|
|
11193
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11194
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11195
|
+
i18nKey: "recorder.instructions.tapVideoButton",
|
|
11196
|
+
children: [
|
|
11197
|
+
"Tap the ",
|
|
11198
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $bec7bca3a7448591$export$f9da3144ae2525a3), {}),
|
|
11199
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11200
|
+
children: " Record button"
|
|
11201
|
+
}),
|
|
11202
|
+
" to start a recording."
|
|
11203
|
+
]
|
|
11204
|
+
})
|
|
10957
11205
|
})
|
|
10958
11206
|
}),
|
|
10959
11207
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
10960
11208
|
index: 2 + permissionsInstructionIndex,
|
|
10961
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
10962
|
-
children:
|
|
10963
|
-
|
|
10964
|
-
|
|
10965
|
-
|
|
10966
|
-
|
|
10967
|
-
|
|
10968
|
-
|
|
11209
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11210
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11211
|
+
i18nKey: "recorder.instructions.videoSpeech",
|
|
11212
|
+
children: [
|
|
11213
|
+
"You can ",
|
|
11214
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11215
|
+
children: "speak during"
|
|
11216
|
+
}),
|
|
11217
|
+
" the recording for added detail."
|
|
11218
|
+
]
|
|
11219
|
+
})
|
|
10969
11220
|
})
|
|
10970
11221
|
}),
|
|
10971
11222
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
10972
11223
|
index: 3 + permissionsInstructionIndex,
|
|
10973
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
10974
|
-
children:
|
|
10975
|
-
|
|
10976
|
-
|
|
10977
|
-
|
|
10978
|
-
|
|
10979
|
-
|
|
10980
|
-
|
|
10981
|
-
|
|
11224
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11225
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11226
|
+
i18nKey: "recorder.instructions.tapStopVideoButton",
|
|
11227
|
+
children: [
|
|
11228
|
+
"When you're finished, tap the ",
|
|
11229
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $bec7bca3a7448591$export$c6a849fd9d9d93a2), {}),
|
|
11230
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11231
|
+
children: " Stop button"
|
|
11232
|
+
}),
|
|
11233
|
+
"."
|
|
11234
|
+
]
|
|
11235
|
+
})
|
|
10982
11236
|
})
|
|
10983
11237
|
}),
|
|
10984
11238
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
10985
11239
|
index: 4 + permissionsInstructionIndex,
|
|
10986
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
10987
|
-
children:
|
|
10988
|
-
|
|
10989
|
-
|
|
10990
|
-
|
|
10991
|
-
|
|
10992
|
-
|
|
10993
|
-
|
|
11240
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11241
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11242
|
+
i18nKey: "recorder.instructions.reviewAndSendVideos",
|
|
11243
|
+
children: [
|
|
11244
|
+
"You can review your video and then ",
|
|
11245
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11246
|
+
children: "send it when you're done"
|
|
11247
|
+
}),
|
|
11248
|
+
"."
|
|
11249
|
+
]
|
|
11250
|
+
})
|
|
11251
|
+
})
|
|
11252
|
+
})
|
|
11253
|
+
]
|
|
11254
|
+
}),
|
|
11255
|
+
type === "screen" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reactjsxruntime.Fragment), {
|
|
11256
|
+
children: [
|
|
11257
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
11258
|
+
index: 1 + permissionsInstructionIndex,
|
|
11259
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11260
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11261
|
+
i18nKey: "recorder.instructions.tapScreenShareButton",
|
|
11262
|
+
children: [
|
|
11263
|
+
"Tap on",
|
|
11264
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11265
|
+
children: " Record my screen"
|
|
11266
|
+
}),
|
|
11267
|
+
" to start a recording."
|
|
11268
|
+
]
|
|
11269
|
+
})
|
|
11270
|
+
})
|
|
11271
|
+
}),
|
|
11272
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
11273
|
+
index: 2 + permissionsInstructionIndex,
|
|
11274
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11275
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11276
|
+
i18nKey: "recorder.instructions.videoSpeech",
|
|
11277
|
+
children: [
|
|
11278
|
+
"You can ",
|
|
11279
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11280
|
+
children: "speak during"
|
|
11281
|
+
}),
|
|
11282
|
+
" the recording for added detail."
|
|
11283
|
+
]
|
|
11284
|
+
})
|
|
11285
|
+
})
|
|
11286
|
+
}),
|
|
11287
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
11288
|
+
index: 3 + permissionsInstructionIndex,
|
|
11289
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11290
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11291
|
+
i18nKey: "recorder.instructions.tapStopScreenShareButton",
|
|
11292
|
+
children: [
|
|
11293
|
+
"When you're finished, tap on ",
|
|
11294
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11295
|
+
children: "Stop recording"
|
|
11296
|
+
}),
|
|
11297
|
+
"."
|
|
11298
|
+
]
|
|
11299
|
+
})
|
|
11300
|
+
})
|
|
11301
|
+
}),
|
|
11302
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$InstructionRow, {
|
|
11303
|
+
index: 4 + permissionsInstructionIndex,
|
|
11304
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Text, {
|
|
11305
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reacti18next.Trans), {
|
|
11306
|
+
i18nKey: "recorder.instructions.reviewAnsSendScreenShare",
|
|
11307
|
+
children: [
|
|
11308
|
+
"You can review your video and then ",
|
|
11309
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)($b46da51ab7ae33e7$var$Bold, {
|
|
11310
|
+
children: "send it when you're done"
|
|
11311
|
+
}),
|
|
11312
|
+
"."
|
|
11313
|
+
]
|
|
11314
|
+
})
|
|
10994
11315
|
})
|
|
10995
11316
|
})
|
|
10996
11317
|
]
|
|
@@ -11022,7 +11343,9 @@ const $b46da51ab7ae33e7$export$788cb893d96254c8 = ({ state: state , type: type
|
|
|
11022
11343
|
|
|
11023
11344
|
|
|
11024
11345
|
|
|
11346
|
+
|
|
11025
11347
|
const $4dac51e936eb334f$export$f9d8408fefd786da = ({ state: state , setReady: setReady })=>{
|
|
11348
|
+
const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
|
|
11026
11349
|
const QRCodeRef = (0, $jQDcL$react.useRef)(null);
|
|
11027
11350
|
const { options: options } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
|
|
11028
11351
|
const [QRCodeContainerRef, { width: QRCodeContainerWidth }] = (0, $56e1e7a85d8bf4bb$export$e295b0c537d32d7d)();
|
|
@@ -11039,8 +11362,8 @@ const $4dac51e936eb334f$export$f9d8408fefd786da = ({ state: state , setReady: se
|
|
|
11039
11362
|
]);
|
|
11040
11363
|
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $48c2553f62767e40$export$2b77a92f1a5ad772), {
|
|
11041
11364
|
centered: true,
|
|
11042
|
-
title: "
|
|
11043
|
-
description: "
|
|
11365
|
+
title: t("recorder.switchToMobileTitle"),
|
|
11366
|
+
description: t("recorder.switchToMobileDescription"),
|
|
11044
11367
|
isDismissable: false,
|
|
11045
11368
|
state: state,
|
|
11046
11369
|
primaryAction: ()=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
@@ -11049,7 +11372,7 @@ const $4dac51e936eb334f$export$f9d8408fefd786da = ({ state: state , setReady: se
|
|
|
11049
11372
|
setReady(true);
|
|
11050
11373
|
state.close();
|
|
11051
11374
|
},
|
|
11052
|
-
children: "
|
|
11375
|
+
children: t("recorder.useDesktopVersion")
|
|
11053
11376
|
}),
|
|
11054
11377
|
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11055
11378
|
className: "flex flex-col gap-[20px]",
|
|
@@ -11069,7 +11392,7 @@ const $4dac51e936eb334f$export$f9d8408fefd786da = ({ state: state , setReady: se
|
|
|
11069
11392
|
}),
|
|
11070
11393
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("p", {
|
|
11071
11394
|
className: "flex items-center justify-center text-xs text-primaryLight text-center",
|
|
11072
|
-
children: "
|
|
11395
|
+
children: t("recorder.scanQRCode")
|
|
11073
11396
|
})
|
|
11074
11397
|
]
|
|
11075
11398
|
})
|
|
@@ -11080,29 +11403,21 @@ const $4dac51e936eb334f$export$f9d8408fefd786da = ({ state: state , setReady: se
|
|
|
11080
11403
|
function $d7eacc710221ffb1$export$fc3bf4634b488af8({ mode: mode }) {
|
|
11081
11404
|
const { orientation: orientation } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
|
|
11082
11405
|
const desktop = orientation === "landscape";
|
|
11083
|
-
const [ready, setReady] = (0, $jQDcL$react.useState)(!desktop);
|
|
11406
|
+
const [ready, setReady] = (0, $jQDcL$react.useState)(mode === "screen" || !desktop);
|
|
11407
|
+
const [isInstructionsModalOpen, setIsInstructionsModalOpen] = (0, $jQDcL$react.useState)(ready);
|
|
11408
|
+
const modalState = (0, $jQDcL$reactstately.useOverlayTriggerState)({
|
|
11409
|
+
isOpen: isInstructionsModalOpen && ready,
|
|
11410
|
+
onOpenChange: setIsInstructionsModalOpen
|
|
11411
|
+
});
|
|
11084
11412
|
(0, $jQDcL$react.useEffect)(()=>{
|
|
11085
|
-
|
|
11086
|
-
setIsPhotoInstructionsModalOpen(mode === "photo" && ready);
|
|
11087
|
-
setIsVideoInstructionsModalOpen(mode === "video" && ready);
|
|
11088
|
-
}
|
|
11413
|
+
setIsInstructionsModalOpen(true);
|
|
11089
11414
|
}, [
|
|
11090
11415
|
ready,
|
|
11091
11416
|
mode
|
|
11092
11417
|
]);
|
|
11093
|
-
const [isPhotoInstructionsModalOpen, setIsPhotoInstructionsModalOpen] = (0, $jQDcL$react.useState)(mode === "photo" && ready);
|
|
11094
|
-
const [isVideoInstructionsModalOpen, setIsVideoInstructionsModalOpen] = (0, $jQDcL$react.useState)(mode === "video" && ready);
|
|
11095
|
-
const photoInstructionsModalState = (0, $jQDcL$reactstately.useOverlayTriggerState)({
|
|
11096
|
-
isOpen: isPhotoInstructionsModalOpen,
|
|
11097
|
-
onOpenChange: setIsPhotoInstructionsModalOpen
|
|
11098
|
-
});
|
|
11099
|
-
const videoInstructionsModalState = (0, $jQDcL$reactstately.useOverlayTriggerState)({
|
|
11100
|
-
isOpen: isVideoInstructionsModalOpen,
|
|
11101
|
-
onOpenChange: setIsVideoInstructionsModalOpen
|
|
11102
|
-
});
|
|
11103
11418
|
return {
|
|
11104
|
-
|
|
11105
|
-
|
|
11419
|
+
mode: mode,
|
|
11420
|
+
modalState: modalState,
|
|
11106
11421
|
ready: ready,
|
|
11107
11422
|
setReady: setReady
|
|
11108
11423
|
};
|
|
@@ -11116,12 +11431,8 @@ const $d7eacc710221ffb1$export$bee10e8ab511933f = ({ state: state })=>{
|
|
|
11116
11431
|
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reactjsxruntime.Fragment), {
|
|
11117
11432
|
children: [
|
|
11118
11433
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $b46da51ab7ae33e7$export$788cb893d96254c8), {
|
|
11119
|
-
state: state.
|
|
11120
|
-
type:
|
|
11121
|
-
}),
|
|
11122
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $b46da51ab7ae33e7$export$788cb893d96254c8), {
|
|
11123
|
-
state: state.videoInstructionsModalState,
|
|
11124
|
-
type: "video"
|
|
11434
|
+
state: state.modalState,
|
|
11435
|
+
type: state.mode
|
|
11125
11436
|
}),
|
|
11126
11437
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $4dac51e936eb334f$export$f9d8408fefd786da), {
|
|
11127
11438
|
state: switchToMobileModalState,
|
|
@@ -11132,22 +11443,54 @@ const $d7eacc710221ffb1$export$bee10e8ab511933f = ({ state: state })=>{
|
|
|
11132
11443
|
};
|
|
11133
11444
|
|
|
11134
11445
|
|
|
11135
|
-
|
|
11136
|
-
|
|
11446
|
+
|
|
11447
|
+
|
|
11448
|
+
|
|
11449
|
+
const $a55fb1fbe863b99c$export$4e594bceac139abd = (props)=>{
|
|
11450
|
+
const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
|
|
11451
|
+
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11452
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("flex rounded-full h-[40px] p-[10px] border-2 border-white text-white justify-center items-center align-middle", "font-semibold", "cursor-pointer", {
|
|
11453
|
+
"bg-[#f12828]": !props.state.streaming
|
|
11454
|
+
}),
|
|
11455
|
+
onClick: ()=>props.onCapturePress(),
|
|
11456
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11457
|
+
children: props.state.streaming ? t("recorder.stopScreenShareButton") : t("recorder.startScreenShareButton")
|
|
11458
|
+
})
|
|
11459
|
+
});
|
|
11460
|
+
};
|
|
11461
|
+
const $a55fb1fbe863b99c$export$f9da3144ae2525a3 = (props)=>{
|
|
11462
|
+
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11463
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("bg-white rounded-full w-[72px] h-[72px] p-[3px]"),
|
|
11464
|
+
onClick: ()=>props.onCapturePress(),
|
|
11465
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11466
|
+
className: "bg-primary rounded-full w-full h-full p-[3px] flex items-center justify-center cursor-pointer",
|
|
11467
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11468
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("w-full h-full transition-[transform,border-radius] duration-300", props.state.mode === "photo" ? "bg-white" : "bg-[#f12828]", props.state.streaming ? "rounded-[5px] scale-[0.4]" : "rounded-[60px]")
|
|
11469
|
+
})
|
|
11470
|
+
})
|
|
11471
|
+
});
|
|
11472
|
+
};
|
|
11473
|
+
|
|
11474
|
+
|
|
11475
|
+
function $6f223c293b335d40$export$bd7b6af6aa16550c({ state: state = "photo" }) {
|
|
11476
|
+
const [currentMode, setMode] = (0, $jQDcL$react.useState)(state);
|
|
11137
11477
|
const [streaming, setStreaming] = (0, $jQDcL$react.useState)(false);
|
|
11138
11478
|
return {
|
|
11139
|
-
|
|
11140
|
-
|
|
11479
|
+
mode: currentMode,
|
|
11480
|
+
setMode: (mode)=>{
|
|
11481
|
+
setMode(mode);
|
|
11482
|
+
},
|
|
11141
11483
|
streaming: streaming,
|
|
11142
11484
|
setStreaming: setStreaming
|
|
11143
11485
|
};
|
|
11144
11486
|
}
|
|
11145
11487
|
const $6f223c293b335d40$export$11a6fe490bbc4873 = (props)=>{
|
|
11488
|
+
const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
|
|
11146
11489
|
const setupModalsState = (0, $d7eacc710221ffb1$export$fc3bf4634b488af8)({
|
|
11147
|
-
mode: props.state.
|
|
11490
|
+
mode: props.state.mode
|
|
11148
11491
|
});
|
|
11149
11492
|
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11150
|
-
className: "flex flex-col bg-primary h-[150px] w-full max-w-[
|
|
11493
|
+
className: "flex flex-col bg-primary h-[150px] w-full max-w-[500px] rounded-[15px] p-2.5 gap-2.5",
|
|
11151
11494
|
children: [
|
|
11152
11495
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $d7eacc710221ffb1$export$bee10e8ab511933f), {
|
|
11153
11496
|
state: setupModalsState
|
|
@@ -11168,25 +11511,39 @@ const $6f223c293b335d40$export$11a6fe490bbc4873 = (props)=>{
|
|
|
11168
11511
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11169
11512
|
className: "flex flex-row justify-end flex-auto items-center gap-[10px] ",
|
|
11170
11513
|
children: [
|
|
11171
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
11172
|
-
|
|
11173
|
-
|
|
11174
|
-
|
|
11175
|
-
|
|
11176
|
-
|
|
11177
|
-
|
|
11178
|
-
|
|
11179
|
-
|
|
11514
|
+
props.state.mode !== "screen" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $jQDcL$reactjsxruntime.Fragment), {
|
|
11515
|
+
children: [
|
|
11516
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6e29654b44f114e1$export$d2b052e7b4be1756), {
|
|
11517
|
+
onPress: ()=>{
|
|
11518
|
+
if (!props.state.streaming) {
|
|
11519
|
+
props.state.setMode("photo");
|
|
11520
|
+
setupModalsState.modalState.open();
|
|
11521
|
+
}
|
|
11522
|
+
},
|
|
11523
|
+
isSelected: props.state.mode === "photo",
|
|
11524
|
+
children: t("misc.photo")
|
|
11525
|
+
}),
|
|
11526
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6e29654b44f114e1$export$d2b052e7b4be1756), {
|
|
11527
|
+
onPress: ()=>{
|
|
11528
|
+
if (!props.state.streaming) {
|
|
11529
|
+
props.state.setMode("video");
|
|
11530
|
+
setupModalsState.modalState.open();
|
|
11531
|
+
}
|
|
11532
|
+
},
|
|
11533
|
+
isSelected: props.state.mode === "video",
|
|
11534
|
+
children: t("misc.video")
|
|
11535
|
+
})
|
|
11536
|
+
]
|
|
11180
11537
|
}),
|
|
11181
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6e29654b44f114e1$export$d2b052e7b4be1756), {
|
|
11538
|
+
props.state.mode === "screen" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6e29654b44f114e1$export$d2b052e7b4be1756), {
|
|
11182
11539
|
onPress: ()=>{
|
|
11183
11540
|
if (!props.state.streaming) {
|
|
11184
|
-
props.state.
|
|
11185
|
-
setupModalsState.
|
|
11541
|
+
props.state.setMode("screen");
|
|
11542
|
+
setupModalsState.modalState.open();
|
|
11186
11543
|
}
|
|
11187
11544
|
},
|
|
11188
|
-
isSelected:
|
|
11189
|
-
children: "
|
|
11545
|
+
isSelected: props.state.mode === "screen",
|
|
11546
|
+
children: t("misc.screen")
|
|
11190
11547
|
})
|
|
11191
11548
|
]
|
|
11192
11549
|
})
|
|
@@ -11199,20 +11556,18 @@ const $6f223c293b335d40$export$11a6fe490bbc4873 = (props)=>{
|
|
|
11199
11556
|
className: "w-[60px] h-[60px]",
|
|
11200
11557
|
children: props.thumbnail
|
|
11201
11558
|
}),
|
|
11202
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)(
|
|
11203
|
-
|
|
11204
|
-
|
|
11205
|
-
|
|
11206
|
-
|
|
11207
|
-
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11208
|
-
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("w-full h-full transition-[transform,border-radius] duration-300", props.state.photo ? "bg-white" : "bg-[#f12828]", props.state.streaming ? "rounded-[5px] scale-[0.4]" : "rounded-[60px]")
|
|
11209
|
-
})
|
|
11210
|
-
})
|
|
11559
|
+
props.state.mode === "screen" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $a55fb1fbe863b99c$export$4e594bceac139abd), {
|
|
11560
|
+
...props
|
|
11561
|
+
}),
|
|
11562
|
+
props.state.mode !== "screen" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $a55fb1fbe863b99c$export$f9da3144ae2525a3), {
|
|
11563
|
+
...props
|
|
11211
11564
|
}),
|
|
11212
11565
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11213
11566
|
onClick: props.onSwitch,
|
|
11214
|
-
className: "
|
|
11215
|
-
|
|
11567
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("rounded-full w-[56px] h-[56px] flex items-center justify-center", {
|
|
11568
|
+
"bg-[#565656] cursor-pointer": props.state.mode !== "screen"
|
|
11569
|
+
}),
|
|
11570
|
+
children: props.state.mode !== "screen" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $ec8eb252693ca260$export$aefffb14595958fe), {})
|
|
11216
11571
|
})
|
|
11217
11572
|
]
|
|
11218
11573
|
})
|
|
@@ -11232,6 +11587,7 @@ const $6f223c293b335d40$export$11a6fe490bbc4873 = (props)=>{
|
|
|
11232
11587
|
|
|
11233
11588
|
|
|
11234
11589
|
|
|
11590
|
+
|
|
11235
11591
|
function $14fb55a0ce44e022$export$4589ed81930b555c(props) {
|
|
11236
11592
|
const { children: children , state: state } = props;
|
|
11237
11593
|
const ref = (0, ($parcel$interopDefault($jQDcL$react))).useRef(null);
|
|
@@ -11299,6 +11655,8 @@ function $14fb55a0ce44e022$export$4589ed81930b555c(props) {
|
|
|
11299
11655
|
|
|
11300
11656
|
|
|
11301
11657
|
|
|
11658
|
+
|
|
11659
|
+
|
|
11302
11660
|
const $f4dfc8739f142557$export$480db61f4dcd7727 = ()=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("svg", {
|
|
11303
11661
|
width: "12",
|
|
11304
11662
|
height: "15",
|
|
@@ -11355,26 +11713,61 @@ const $b0f41bfff6a6128d$export$28e1ba20e0688eb7 = ()=>/*#__PURE__*/ (0, $jQDcL$r
|
|
|
11355
11713
|
});
|
|
11356
11714
|
|
|
11357
11715
|
|
|
11358
|
-
|
|
11359
|
-
|
|
11360
|
-
|
|
11361
|
-
const $
|
|
11362
|
-
|
|
11363
|
-
|
|
11364
|
-
|
|
11365
|
-
|
|
11366
|
-
|
|
11367
|
-
|
|
11368
|
-
|
|
11716
|
+
|
|
11717
|
+
|
|
11718
|
+
|
|
11719
|
+
const $af5bf6f1b1afdb63$export$f56b3b5841ad32ae = ({ asset: asset , state: state })=>{
|
|
11720
|
+
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6fa093aef38ba660$export$a703eb468fcf7e69), {
|
|
11721
|
+
state: state,
|
|
11722
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11723
|
+
className: "flex flex-col items-center w-screen h-screen p-[15px] gap-[10px]",
|
|
11724
|
+
children: [
|
|
11725
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11726
|
+
className: "flex items-center max-w-[400px] w-full h-full",
|
|
11727
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11728
|
+
className: "min-w-full rounded-[10px] overflow-hidden",
|
|
11729
|
+
children: [
|
|
11730
|
+
asset.type === "picture" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("img", {
|
|
11731
|
+
src: asset.objectUrl,
|
|
11732
|
+
alt: `Asset-${asset.assetId}`,
|
|
11733
|
+
className: "object-fill"
|
|
11734
|
+
}),
|
|
11735
|
+
asset.type === "video" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("video", {
|
|
11736
|
+
src: asset.objectUrl,
|
|
11737
|
+
playsInline: true,
|
|
11738
|
+
autoPlay: true,
|
|
11739
|
+
controls: true
|
|
11740
|
+
})
|
|
11741
|
+
]
|
|
11742
|
+
})
|
|
11743
|
+
}),
|
|
11744
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11745
|
+
className: "max-w-[135px] w-1/3",
|
|
11746
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
11747
|
+
onPress: state.close,
|
|
11748
|
+
variant: "tertiary",
|
|
11749
|
+
size: "large",
|
|
11750
|
+
fullWidth: true,
|
|
11751
|
+
children: "Close"
|
|
11752
|
+
})
|
|
11753
|
+
})
|
|
11754
|
+
]
|
|
11755
|
+
})
|
|
11756
|
+
});
|
|
11757
|
+
};
|
|
11758
|
+
|
|
11759
|
+
|
|
11369
11760
|
const $1571ff3dce984dbd$export$c9169049516d8bcf = ({ asset: asset , index: index , removeAsset: removeAsset })=>{
|
|
11761
|
+
const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
|
|
11370
11762
|
const confirmRemovalModalState = (0, $jQDcL$reactstately.useOverlayTriggerState)({});
|
|
11763
|
+
const previewAssetModalProps = (0, $jQDcL$reactstately.useOverlayTriggerState)({});
|
|
11371
11764
|
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11372
11765
|
className: "flex flex-row justify-between items-center",
|
|
11373
11766
|
children: [
|
|
11374
11767
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $48c2553f62767e40$export$2b77a92f1a5ad772), {
|
|
11375
|
-
title: "
|
|
11768
|
+
title: t("recorder.confirmRemovalTitle"),
|
|
11376
11769
|
state: confirmRemovalModalState,
|
|
11377
|
-
description: "
|
|
11770
|
+
description: t("recorder.confirmRemovalDescription"),
|
|
11378
11771
|
primaryAction: ({ close: close })=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
11379
11772
|
onPress: async ()=>{
|
|
11380
11773
|
await removeAsset(asset);
|
|
@@ -11382,29 +11775,34 @@ const $1571ff3dce984dbd$export$c9169049516d8bcf = ({ asset: asset , index: index
|
|
|
11382
11775
|
},
|
|
11383
11776
|
children: [
|
|
11384
11777
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $b0f41bfff6a6128d$export$28e1ba20e0688eb7), {}),
|
|
11385
|
-
"
|
|
11778
|
+
t("misc.confirm")
|
|
11386
11779
|
]
|
|
11387
11780
|
}),
|
|
11388
|
-
secondaryAction: "
|
|
11781
|
+
secondaryAction: t("misc.cancel")
|
|
11389
11782
|
}),
|
|
11390
11783
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11391
11784
|
className: "flex flex-row gap-[10px] items-center",
|
|
11392
11785
|
children: [
|
|
11393
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $
|
|
11786
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $af5bf6f1b1afdb63$export$f56b3b5841ad32ae), {
|
|
11787
|
+
state: previewAssetModalProps,
|
|
11394
11788
|
asset: asset
|
|
11395
11789
|
}),
|
|
11790
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $dc46069ab394f8fc$export$1cd1efc78cb52ca5), {
|
|
11791
|
+
asset: asset,
|
|
11792
|
+
onClick: previewAssetModalProps.open
|
|
11793
|
+
}),
|
|
11396
11794
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("span", {
|
|
11397
11795
|
className: "text-sm",
|
|
11398
11796
|
style: {
|
|
11399
11797
|
hyphens: "manual"
|
|
11400
11798
|
},
|
|
11401
11799
|
children: [
|
|
11402
|
-
asset.type === "picture" ? "
|
|
11800
|
+
asset.type === "picture" ? t("misc.photo") : t("misc.video"),
|
|
11403
11801
|
" ",
|
|
11404
11802
|
index + 1,
|
|
11405
11803
|
" \xb7",
|
|
11406
11804
|
" ",
|
|
11407
|
-
$
|
|
11805
|
+
(0, $7925c01e7577d264$export$3ae94a2503e890a1)(new Date(asset.timestamp))
|
|
11408
11806
|
]
|
|
11409
11807
|
})
|
|
11410
11808
|
]
|
|
@@ -11412,7 +11810,7 @@ const $1571ff3dce984dbd$export$c9169049516d8bcf = ({ asset: asset , index: index
|
|
|
11412
11810
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("span", {
|
|
11413
11811
|
className: "text-xs font-bold underline cursor-pointer ml-[10px]",
|
|
11414
11812
|
onClick: confirmRemovalModalState.open,
|
|
11415
|
-
children: "
|
|
11813
|
+
children: t("misc.remove")
|
|
11416
11814
|
})
|
|
11417
11815
|
]
|
|
11418
11816
|
}, asset.assetId);
|
|
@@ -11495,6 +11893,7 @@ const $aaab1e39040d455b$export$4fa52f68b1c78fbf = ()=>/*#__PURE__*/ (0, $jQDcL$r
|
|
|
11495
11893
|
|
|
11496
11894
|
|
|
11497
11895
|
const $0bca8bbbf74ddff9$export$5c334f209b1aa661 = ({ assets: assets , state: state , onSendAssets: onSendAssets , removeAsset: removeAsset , loading: loading })=>{
|
|
11896
|
+
const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
|
|
11498
11897
|
const ref = (0, $jQDcL$react.useRef)(null);
|
|
11499
11898
|
const [assetKind, setAssetKind] = (0, $jQDcL$react.useState)(assets[assets.length - 1]?.type === "picture" ? "photo" : "video");
|
|
11500
11899
|
const { orientation: orientation } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
|
|
@@ -11522,7 +11921,7 @@ const $0bca8bbbf74ddff9$export$5c334f209b1aa661 = ({ assets: assets , state: sta
|
|
|
11522
11921
|
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11523
11922
|
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("fixed justify-center w-screen h-screen top-0 left-0 bg-black z-[1]", state.isOpen ? "flex" : "hidden"),
|
|
11524
11923
|
children: loading && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11525
|
-
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("flex mt-[50px] h-fit opacity-1", desktop ? "flex-row items-center w-[
|
|
11924
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("flex mt-[50px] h-fit opacity-1", desktop ? "flex-row items-center w-[450px]" : "flex-col items-center text-center w-[320px]"),
|
|
11526
11925
|
children: [
|
|
11527
11926
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11528
11927
|
className: "w-[24px] h-[24px] m-[10px]",
|
|
@@ -11531,10 +11930,10 @@ const $0bca8bbbf74ddff9$export$5c334f209b1aa661 = ({ assets: assets , state: sta
|
|
|
11531
11930
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("span", {
|
|
11532
11931
|
className: "text-sm text-white",
|
|
11533
11932
|
children: [
|
|
11534
|
-
"
|
|
11535
|
-
|
|
11536
|
-
|
|
11537
|
-
loading === "video"
|
|
11933
|
+
t("recorder.elementBeingProcessed", {
|
|
11934
|
+
type: loading === "picture" ? t("misc.photo").toLocaleLowerCase() : t("misc.video").toLocaleLowerCase()
|
|
11935
|
+
}),
|
|
11936
|
+
loading === "video" && t("recorder.waitVideo")
|
|
11538
11937
|
]
|
|
11539
11938
|
})
|
|
11540
11939
|
]
|
|
@@ -11553,12 +11952,11 @@ const $0bca8bbbf74ddff9$export$5c334f209b1aa661 = ({ assets: assets , state: sta
|
|
|
11553
11952
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11554
11953
|
className: "flex flex-row justify-between p-[12px]",
|
|
11555
11954
|
children: [
|
|
11556
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
11955
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("h1", {
|
|
11557
11956
|
className: "text-lg first-letter:capitalize",
|
|
11558
|
-
children:
|
|
11559
|
-
assetKind
|
|
11560
|
-
|
|
11561
|
-
]
|
|
11957
|
+
children: t("recorder.elementCaptureSuccess", {
|
|
11958
|
+
type: t(`misc.${assetKind}`)
|
|
11959
|
+
})
|
|
11562
11960
|
}),
|
|
11563
11961
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11564
11962
|
className: "flex justify-center items-center rounded-full bg-[#f3f3f3] h-[30px] w-[30px] cursor-pointer",
|
|
@@ -11577,23 +11975,23 @@ const $0bca8bbbf74ddff9$export$5c334f209b1aa661 = ({ assets: assets , state: sta
|
|
|
11577
11975
|
index: index,
|
|
11578
11976
|
removeAsset: removeAsset
|
|
11579
11977
|
}, asset.assetId)),
|
|
11580
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
11978
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
11581
11979
|
variant: "secondary",
|
|
11582
11980
|
onPress: state.close,
|
|
11583
|
-
children:
|
|
11584
|
-
|
|
11585
|
-
|
|
11586
|
-
]
|
|
11981
|
+
children: t("recorder.takeNewElement", {
|
|
11982
|
+
type: t(`misc.${assetKind}`).toLocaleLowerCase()
|
|
11983
|
+
})
|
|
11587
11984
|
}),
|
|
11588
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
11985
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $f98f91fb267f52c8$export$353f5b6fc5456de1), {
|
|
11589
11986
|
onPress: ()=>{
|
|
11590
11987
|
onSendAssets();
|
|
11591
11988
|
state.close();
|
|
11592
11989
|
},
|
|
11593
|
-
children:
|
|
11594
|
-
|
|
11595
|
-
|
|
11596
|
-
|
|
11990
|
+
children: assets.length > 1 ? t("recorder.sendElements", {
|
|
11991
|
+
count: assets.length
|
|
11992
|
+
}) : t("recorder.sendElement", {
|
|
11993
|
+
type: t(`misc.${assetKind}`).toLocaleLowerCase()
|
|
11994
|
+
})
|
|
11597
11995
|
})
|
|
11598
11996
|
]
|
|
11599
11997
|
})
|
|
@@ -11641,7 +12039,18 @@ const $7925c01e7577d264$var$timerText = (delta)=>{
|
|
|
11641
12039
|
].map((n)=>`${n < 10 ? "0" : ""}${n}`);
|
|
11642
12040
|
return d.join(":");
|
|
11643
12041
|
};
|
|
12042
|
+
const $7925c01e7577d264$var$dateFormat = new Intl.DateTimeFormat("default", {
|
|
12043
|
+
dateStyle: "short"
|
|
12044
|
+
});
|
|
12045
|
+
const $7925c01e7577d264$var$timeFormat = new Intl.DateTimeFormat("default", {
|
|
12046
|
+
hour: "numeric",
|
|
12047
|
+
minute: "2-digit"
|
|
12048
|
+
});
|
|
12049
|
+
function $7925c01e7577d264$export$3ae94a2503e890a1(date) {
|
|
12050
|
+
return `${$7925c01e7577d264$var$dateFormat.format(date)} at ${$7925c01e7577d264$var$timeFormat.format(date)}`;
|
|
12051
|
+
}
|
|
11644
12052
|
const $7925c01e7577d264$export$336a011955157f9a = ()=>{
|
|
12053
|
+
const { t: t } = (0, $jQDcL$reacti18next.useTranslation)();
|
|
11645
12054
|
const { options: options } = (0, $jQDcL$react.useContext)((0, $8b39f32976a7698a$export$2e2bcd8739ae039));
|
|
11646
12055
|
const [startRecordTime, setStartRecordTime] = (0, $jQDcL$react.useState)(undefined);
|
|
11647
12056
|
const [timer, setTimer] = (0, $jQDcL$react.useState)(0);
|
|
@@ -11658,7 +12067,7 @@ const $7925c01e7577d264$export$336a011955157f9a = ()=>{
|
|
|
11658
12067
|
const sendAssetsModalState = (0, $jQDcL$reactstately.useOverlayTriggerState)({});
|
|
11659
12068
|
const [flashAnimation, setFlashAnimation] = (0, $jQDcL$react.useState)(false);
|
|
11660
12069
|
const menuBarState = (0, $6f223c293b335d40$export$bd7b6af6aa16550c)({
|
|
11661
|
-
|
|
12070
|
+
state: options?.recorder?.defaultState || "photo"
|
|
11662
12071
|
});
|
|
11663
12072
|
const exitStreaming = (0, $jQDcL$react.useCallback)(()=>{
|
|
11664
12073
|
menuBarState.setStreaming(false);
|
|
@@ -11673,6 +12082,10 @@ const $7925c01e7577d264$export$336a011955157f9a = ()=>{
|
|
|
11673
12082
|
const { facingMode: newFacingMode } = (0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).requestLocalVideo(videoElementRef?.current);
|
|
11674
12083
|
setFacingMode(newFacingMode);
|
|
11675
12084
|
};
|
|
12085
|
+
const onScreenshareEnabled = (event)=>{
|
|
12086
|
+
if (!videoElementRef.current) return;
|
|
12087
|
+
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).requestLocalScreenshare(videoElementRef.current);
|
|
12088
|
+
};
|
|
11676
12089
|
const onStopRecord = (0, $jQDcL$react.useCallback)((event)=>{
|
|
11677
12090
|
const { url: url , assetId: assetId } = event.detail;
|
|
11678
12091
|
exitStreaming();
|
|
@@ -11736,10 +12149,12 @@ const $7925c01e7577d264$export$336a011955157f9a = ()=>{
|
|
|
11736
12149
|
]);
|
|
11737
12150
|
(0, $jQDcL$react.useEffect)(()=>{
|
|
11738
12151
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener("localVideoAvailable", onLocalVideoChange);
|
|
12152
|
+
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener("screenshareEnabled", onScreenshareEnabled);
|
|
11739
12153
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener("localVideoChange", onLocalVideoChange);
|
|
11740
12154
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).addEventListener("recordStopped", onStopRecord);
|
|
11741
12155
|
return ()=>{
|
|
11742
12156
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener("localVideoChange", onLocalVideoChange);
|
|
12157
|
+
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener("screenshareEnabled", onScreenshareEnabled);
|
|
11743
12158
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener("localVideoAvailable", onLocalVideoChange);
|
|
11744
12159
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).removeEventListener("recordStopped", onStopRecord);
|
|
11745
12160
|
};
|
|
@@ -11747,16 +12162,18 @@ const $7925c01e7577d264$export$336a011955157f9a = ()=>{
|
|
|
11747
12162
|
onStopRecord
|
|
11748
12163
|
]);
|
|
11749
12164
|
return /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11750
|
-
className: "bg-[#000] w-full h-full justify-center flex flex-col antialiased inter",
|
|
12165
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("bg-[#000] w-full h-full justify-center flex flex-col antialiased inter", {
|
|
12166
|
+
"bg-[url('https://cdn.snapcall.io/img/assist/gradient-bg.jpg')] bg-cover": menuBarState.mode === "screen"
|
|
12167
|
+
}),
|
|
11751
12168
|
children: [
|
|
11752
|
-
|
|
12169
|
+
(menuBarState.mode === "video" || menuBarState.mode === "screen" && menuBarState.streaming) && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11753
12170
|
className: "text-base text-white text-center font-medium pt-2.5",
|
|
11754
12171
|
children: $7925c01e7577d264$var$timerText(timer)
|
|
11755
12172
|
}),
|
|
11756
12173
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11757
|
-
className: "flex-1 min-h-0 p-2.5",
|
|
12174
|
+
className: "flex-1 min-h-0 p-2.5 ",
|
|
11758
12175
|
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
11759
|
-
className: "relative w-full h-full rounded-[10px]",
|
|
12176
|
+
className: "relative w-full h-full rounded-[10px] ",
|
|
11760
12177
|
children: [
|
|
11761
12178
|
countdownVisible && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $47dee8347993fb81$export$53819c0e58f98d49), {
|
|
11762
12179
|
initialValue: 3,
|
|
@@ -11774,7 +12191,20 @@ const $7925c01e7577d264$export$336a011955157f9a = ()=>{
|
|
|
11774
12191
|
assetsPopupState.open();
|
|
11775
12192
|
}
|
|
11776
12193
|
}),
|
|
11777
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("
|
|
12194
|
+
menuBarState.mode === "screen" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
12195
|
+
className: "object-fit h-full",
|
|
12196
|
+
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("video", {
|
|
12197
|
+
autoPlay: true,
|
|
12198
|
+
muted: true,
|
|
12199
|
+
playsInline: true,
|
|
12200
|
+
ref: videoElementRef,
|
|
12201
|
+
className: (0, ($parcel$interopDefault($jQDcL$classnames)))("w-full h-full rounded-[inherit]", {
|
|
12202
|
+
"scale-x-[-1]": facingMode === "user" && menuBarState.mode !== "screen",
|
|
12203
|
+
"max-w-[screen]": menuBarState.mode === "screen"
|
|
12204
|
+
})
|
|
12205
|
+
})
|
|
12206
|
+
}),
|
|
12207
|
+
menuBarState.mode !== "screen" && /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("video", {
|
|
11778
12208
|
autoPlay: true,
|
|
11779
12209
|
muted: true,
|
|
11780
12210
|
playsInline: true,
|
|
@@ -11787,7 +12217,7 @@ const $7925c01e7577d264$export$336a011955157f9a = ()=>{
|
|
|
11787
12217
|
})
|
|
11788
12218
|
}),
|
|
11789
12219
|
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
11790
|
-
className: "flex justify-center px-2.5 pb-2.5",
|
|
12220
|
+
className: "flex justify-center px-2.5 pb-2.5 z-10",
|
|
11791
12221
|
children: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $6f223c293b335d40$export$11a6fe490bbc4873), {
|
|
11792
12222
|
state: menuBarState,
|
|
11793
12223
|
thumbnail: /*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $dc46069ab394f8fc$export$1cd1efc78cb52ca5), {
|
|
@@ -11798,16 +12228,16 @@ const $7925c01e7577d264$export$336a011955157f9a = ()=>{
|
|
|
11798
12228
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).rotateVideo();
|
|
11799
12229
|
},
|
|
11800
12230
|
onCapturePress: ()=>{
|
|
11801
|
-
if (menuBarState.photo && videoElementRef.current) {
|
|
12231
|
+
if (menuBarState.mode === "photo" && videoElementRef.current) {
|
|
11802
12232
|
onPhotoCapture(videoElementRef.current);
|
|
11803
12233
|
setFlashAnimation(true);
|
|
11804
12234
|
}
|
|
11805
|
-
if (
|
|
12235
|
+
if (menuBarState.mode !== "photo" && !menuBarState.streaming) {
|
|
11806
12236
|
menuBarState.setStreaming(true);
|
|
11807
12237
|
setTimer(0);
|
|
11808
12238
|
setCountdownVisible(true);
|
|
11809
12239
|
}
|
|
11810
|
-
if (
|
|
12240
|
+
if (menuBarState.mode !== "photo" && menuBarState.streaming) {
|
|
11811
12241
|
exitStreaming();
|
|
11812
12242
|
if (startRecordTime) {
|
|
11813
12243
|
(0, $c48c1ecc38fed4e9$export$2f377c2162fd02b2).stopRecord();
|
|
@@ -11828,14 +12258,41 @@ const $7925c01e7577d264$export$336a011955157f9a = ()=>{
|
|
|
11828
12258
|
removeAsset: removeAsset,
|
|
11829
12259
|
loading: assetLoading
|
|
11830
12260
|
}),
|
|
11831
|
-
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.
|
|
11832
|
-
title: "
|
|
12261
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)((0, $48c2553f62767e40$export$2b77a92f1a5ad772), {
|
|
12262
|
+
title: t("recorder.submissionTitle"),
|
|
11833
12263
|
state: sendAssetsModalState,
|
|
11834
12264
|
isDismissable: false,
|
|
11835
|
-
children:
|
|
11836
|
-
|
|
11837
|
-
|
|
11838
|
-
|
|
12265
|
+
children: [
|
|
12266
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("span", {
|
|
12267
|
+
className: "text-base text-primaryLight",
|
|
12268
|
+
children: t("recorder.submissionDescription")
|
|
12269
|
+
}),
|
|
12270
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)("div", {
|
|
12271
|
+
className: "flex flex-col gap-[20px] border-t border-secondaryVLight pt-[20px]",
|
|
12272
|
+
children: assets.map((asset, index)=>/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("div", {
|
|
12273
|
+
className: "flex flex-row items-center gap-[10px]",
|
|
12274
|
+
children: [
|
|
12275
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsx)((0, $dc46069ab394f8fc$export$1cd1efc78cb52ca5), {
|
|
12276
|
+
asset: asset
|
|
12277
|
+
}),
|
|
12278
|
+
/*#__PURE__*/ (0, $jQDcL$reactjsxruntime.jsxs)("span", {
|
|
12279
|
+
className: "text-sm",
|
|
12280
|
+
style: {
|
|
12281
|
+
hyphens: "manual"
|
|
12282
|
+
},
|
|
12283
|
+
children: [
|
|
12284
|
+
asset.type === "picture" ? "Photo" : "Video",
|
|
12285
|
+
" ",
|
|
12286
|
+
index + 1,
|
|
12287
|
+
" \xb7",
|
|
12288
|
+
" ",
|
|
12289
|
+
$7925c01e7577d264$export$3ae94a2503e890a1(new Date(asset.timestamp))
|
|
12290
|
+
]
|
|
12291
|
+
})
|
|
12292
|
+
]
|
|
12293
|
+
}))
|
|
12294
|
+
})
|
|
12295
|
+
]
|
|
11839
12296
|
})
|
|
11840
12297
|
]
|
|
11841
12298
|
});
|
|
@@ -12584,7 +13041,7 @@ var $3305ca02e86dabd1$export$2e2bcd8739ae039 = $3305ca02e86dabd1$var$GreetingVie
|
|
|
12584
13041
|
|
|
12585
13042
|
|
|
12586
13043
|
var $54541b0286afc2de$exports = {};
|
|
12587
|
-
$54541b0286afc2de$exports = "*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #3b82f680;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.visible {\n visibility: visible;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.inset-0 {\n inset: 0;\n}\n\n.left-0 {\n left: 0;\n}\n\n.top-0 {\n top: 0;\n}\n\n.z-50 {\n z-index: 50;\n}\n\n.z-\\[100\\] {\n z-index: 100;\n}\n\n.z-\\[1\\] {\n z-index: 1;\n}\n\n.m-\\[10px\\] {\n margin: 10px;\n}\n\n.mx-\\[20px\\] {\n margin-left: 20px;\n margin-right: 20px;\n}\n\n.ml-\\[10px\\] {\n margin-left: 10px;\n}\n\n.mt-\\[10px\\] {\n margin-top: 10px;\n}\n\n.mt-\\[50px\\] {\n margin-top: 50px;\n}\n\n.block {\n display: block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.table {\n display: table;\n}\n\n.hidden {\n display: none;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-\\[150px\\] {\n height: 150px;\n}\n\n.h-\\[60px\\] {\n height: 60px;\n}\n\n.h-\\[72px\\] {\n height: 72px;\n}\n\n.h-\\[56px\\] {\n height: 56px;\n}\n\n.h-\\[40px\\] {\n height: 40px;\n}\n\n.h-\\[235px\\] {\n height: 235px;\n}\n\n.h-\\[93px\\] {\n height: 93px;\n}\n\n.h-screen {\n height: 100vh;\n}\n\n.h-fit {\n height: -moz-fit-content;\n height: fit-content;\n}\n\n.h-\\[24px\\] {\n height: 24px;\n}\n\n.h-\\[30px\\] {\n height: 30px;\n}\n\n.h-1\\/3 {\n height: 33.3333%;\n}\n\n.max-h-\\[inherit\\] {\n max-height: inherit;\n}\n\n.max-h-\\[70px\\] {\n max-height: 70px;\n}\n\n.min-h-0 {\n min-height: 0;\n}\n\n.min-h-\\[100\\%\\] {\n min-height: 100%;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-\\[60px\\] {\n width: 60px;\n}\n\n.w-\\[72px\\] {\n width: 72px;\n}\n\n.w-\\[56px\\] {\n width: 56px;\n}\n\n.w-\\[76px\\] {\n width: 76px;\n}\n\n.w-screen {\n width: 100vw;\n}\n\n.w-\\[360px\\] {\n width: 360px;\n}\n\n.w-\\[400px\\] {\n width: 400px;\n}\n\n.w-\\[320px\\] {\n width: 320px;\n}\n\n.w-\\[24px\\] {\n width: 24px;\n}\n\n.w-\\[30px\\] {\n width: 30px;\n}\n\n.w-1\\/3 {\n width: 33.3333%;\n}\n\n.min-w-\\[100\\%\\] {\n min-width: 100%;\n}\n\n.min-w-\\[24px\\] {\n min-width: 24px;\n}\n\n.max-w-\\[400px\\] {\n max-width: 400px;\n}\n\n.max-w-\\[600px\\] {\n max-width: 600px;\n}\n\n.max-w-\\[800px\\] {\n max-width: 800px;\n}\n\n.max-w-\\[70px\\] {\n max-width: 70px;\n}\n\n.flex-1 {\n flex: 1;\n}\n\n.flex-auto {\n flex: auto;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.translate-y-2 {\n --tw-translate-y: .5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-0 {\n --tw-translate-y: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-\\[200\\%\\] {\n --tw-translate-y: 200%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-full {\n --tw-translate-y: 100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.scale-\\[0\\.4\\] {\n --tw-scale-x: .4;\n --tw-scale-y: .4;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.scale-x-\\[-1\\] {\n --tw-scale-x: -1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.resize {\n resize: both;\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.items-end {\n align-items: flex-end;\n}\n\n.items-center {\n align-items: center;\n}\n\n.justify-end {\n justify-content: flex-end;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-\\[5px\\] {\n gap: 5px;\n}\n\n.gap-2\\.5 {\n gap: .625rem;\n}\n\n.gap-2 {\n gap: .5rem;\n}\n\n.gap-\\[10px\\] {\n gap: 10px;\n}\n\n.gap-5 {\n gap: 1.25rem;\n}\n\n.gap-\\[20px\\] {\n gap: 20px;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-x-auto {\n overflow-x: auto;\n}\n\n.rounded-lg {\n border-radius: .5rem;\n}\n\n.rounded-md {\n border-radius: .375rem;\n}\n\n.rounded-\\[15px\\] {\n border-radius: 15px;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-\\[5px\\] {\n border-radius: 5px;\n}\n\n.rounded-\\[60px\\] {\n border-radius: 60px;\n}\n\n.rounded-\\[10px\\] {\n border-radius: 10px;\n}\n\n.rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n\n.rounded-\\[8px\\] {\n border-radius: 8px;\n}\n\n.rounded-\\[50\\%\\] {\n border-radius: 50%;\n}\n\n.rounded-t-\\[15px\\] {\n border-top-left-radius: 15px;\n border-top-right-radius: 15px;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-secondaryLight {\n --tw-border-opacity: 1;\n border-color: rgb(179 179 179 / var(--tw-border-opacity));\n}\n\n.border-primaryLight {\n --tw-border-opacity: 1;\n border-color: rgb(86 86 86 / var(--tw-border-opacity));\n}\n\n.bg-primaryLight {\n --tw-bg-opacity: 1;\n background-color: rgb(86 86 86 / var(--tw-bg-opacity));\n}\n\n.bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(29 28 32 / var(--tw-bg-opacity));\n}\n\n.bg-graySelected {\n --tw-bg-opacity: 1;\n background-color: rgb(245 245 245 / var(--tw-bg-opacity));\n}\n\n.bg-transparent {\n background-color: #0000;\n}\n\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.bg-black\\/\\[\\.6\\] {\n background-color: #0009;\n}\n\n.bg-\\[\\#f12828\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(241 40 40 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#565656\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(86 86 86 / var(--tw-bg-opacity));\n}\n\n.bg-black, .bg-\\[\\#000\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#FFFFFF\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.bg-underlay {\n background-color: #00000040;\n}\n\n.bg-\\[\\#f3f3f3\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(243 243 243 / var(--tw-bg-opacity));\n}\n\n.bg-secondaryVLight {\n --tw-bg-opacity: 1;\n background-color: rgb(235 235 235 / var(--tw-bg-opacity));\n}\n\n.bg-opacity-90 {\n --tw-bg-opacity: .9;\n}\n\n.object-cover {\n object-fit: cover;\n}\n\n.p-2\\.5 {\n padding: .625rem;\n}\n\n.p-2 {\n padding: .5rem;\n}\n\n.p-\\[3px\\] {\n padding: 3px;\n}\n\n.p-\\[12px\\] {\n padding: 12px;\n}\n\n.py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.py-\\[9px\\] {\n padding-top: 9px;\n padding-bottom: 9px;\n}\n\n.px-3\\.5 {\n padding-left: .875rem;\n padding-right: .875rem;\n}\n\n.px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.py-1\\.5 {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.px-2\\.5 {\n padding-left: .625rem;\n padding-right: .625rem;\n}\n\n.py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.px-\\[10px\\] {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n.py-\\[25px\\] {\n padding-top: 25px;\n padding-bottom: 25px;\n}\n\n.px-\\[20px\\] {\n padding-left: 20px;\n padding-right: 20px;\n}\n\n.pt-2\\.5 {\n padding-top: .625rem;\n}\n\n.pt-2 {\n padding-top: .5rem;\n}\n\n.pb-2\\.5 {\n padding-bottom: .625rem;\n}\n\n.pb-2 {\n padding-bottom: .5rem;\n}\n\n.pb-\\[25px\\] {\n padding-bottom: 25px;\n}\n\n.text-center {\n text-align: center;\n}\n\n.text-base {\n letter-spacing: -.02em;\n font-size: 16px;\n line-height: 19px;\n}\n\n.text-sm {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 17px;\n}\n\n.text-xs {\n letter-spacing: -.02em;\n font-size: 12px;\n line-height: 14px;\n}\n\n.text-\\[112px\\] {\n font-size: 112px;\n}\n\n.text-xl {\n letter-spacing: -.02em;\n font-size: 20px;\n line-height: 24px;\n}\n\n.text-lg {\n letter-spacing: -.02em;\n font-size: 18px;\n line-height: 22px;\n}\n\n.font-medium {\n font-weight: 500;\n}\n\n.font-bold {\n font-weight: 700;\n}\n\n.font-normal {\n font-weight: 400;\n}\n\n.leading-\\[20px\\] {\n line-height: 20px;\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.text-primary {\n --tw-text-opacity: 1;\n color: rgb(29 28 32 / var(--tw-text-opacity));\n}\n\n.text-white\\/80 {\n color: #fffc;\n}\n\n.text-secondary {\n --tw-text-opacity: 1;\n color: rgb(134 134 134 / var(--tw-text-opacity));\n}\n\n.text-primaryLight {\n --tw-text-opacity: 1;\n color: rgb(86 86 86 / var(--tw-text-opacity));\n}\n\n.text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n}\n\n.underline {\n text-decoration-line: underline;\n}\n\n.antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-50 {\n opacity: .5;\n}\n\n.opacity-\\[0\\.4\\] {\n opacity: .4;\n}\n\n.opacity-90 {\n opacity: .9;\n}\n\n.outline {\n outline-style: solid;\n}\n\n.ring-\\[3px\\] {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.ring-cta {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(38 138 250 / var(--tw-ring-opacity));\n}\n\n.blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition-\\[transform\\,border-radius\\] {\n transition-property: transform, border-radius;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.duration-300 {\n transition-duration: .3s;\n}\n\n.ease-in-out {\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.ease-in {\n transition-timing-function: cubic-bezier(.4, 0, 1, 1);\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.inter {\n font-family: Inter, sans-serif;\n}\n\n@supports (font-variation-settings: normal) {\n .inter {\n font-family: Inter var, sans-serif;\n }\n}\n\n.first-letter\\:capitalize:first-letter {\n text-transform: capitalize;\n}\n\n.focus\\:outline-none:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.disabled\\:bg-secondaryLight:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(179 179 179 / var(--tw-bg-opacity));\n}\n\n.disabled\\:bg-graySelected:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(245 245 245 / var(--tw-bg-opacity));\n}\n\n.disabled\\:text-secondaryLight:disabled {\n --tw-text-opacity: 1;\n color: rgb(179 179 179 / var(--tw-text-opacity));\n}\n\n";
|
|
13044
|
+
$54541b0286afc2de$exports = "*, :before, :after, ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #3b82f680;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.visible {\n visibility: visible;\n}\n\n.fixed {\n position: fixed;\n}\n\n.absolute {\n position: absolute;\n}\n\n.relative {\n position: relative;\n}\n\n.inset-0 {\n inset: 0;\n}\n\n.left-0 {\n left: 0;\n}\n\n.top-0 {\n top: 0;\n}\n\n.z-\\[100\\] {\n z-index: 100;\n}\n\n.z-50 {\n z-index: 50;\n}\n\n.z-\\[1\\] {\n z-index: 1;\n}\n\n.z-10 {\n z-index: 10;\n}\n\n.m-\\[10px\\] {\n margin: 10px;\n}\n\n.mx-\\[20px\\] {\n margin-left: 20px;\n margin-right: 20px;\n}\n\n.ml-\\[10px\\] {\n margin-left: 10px;\n}\n\n.mt-\\[10px\\] {\n margin-top: 10px;\n}\n\n.mt-\\[50px\\] {\n margin-top: 50px;\n}\n\n.block {\n display: block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.table {\n display: table;\n}\n\n.hidden {\n display: none;\n}\n\n.h-screen {\n height: 100vh;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-\\[150px\\] {\n height: 150px;\n}\n\n.h-\\[60px\\] {\n height: 60px;\n}\n\n.h-\\[56px\\] {\n height: 56px;\n}\n\n.h-\\[40px\\] {\n height: 40px;\n}\n\n.h-\\[72px\\] {\n height: 72px;\n}\n\n.h-\\[235px\\] {\n height: 235px;\n}\n\n.h-\\[93px\\] {\n height: 93px;\n}\n\n.h-fit {\n height: -moz-fit-content;\n height: fit-content;\n}\n\n.h-\\[24px\\] {\n height: 24px;\n}\n\n.h-\\[30px\\] {\n height: 30px;\n}\n\n.h-1\\/3 {\n height: 33.3333%;\n}\n\n.max-h-\\[inherit\\] {\n max-height: inherit;\n}\n\n.max-h-\\[70px\\] {\n max-height: 70px;\n}\n\n.min-h-0 {\n min-height: 0;\n}\n\n.min-h-\\[100\\%\\] {\n min-height: 100%;\n}\n\n.w-screen {\n width: 100vw;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-1\\/3 {\n width: 33.3333%;\n}\n\n.w-\\[60px\\] {\n width: 60px;\n}\n\n.w-\\[56px\\] {\n width: 56px;\n}\n\n.w-\\[72px\\] {\n width: 72px;\n}\n\n.w-\\[76px\\] {\n width: 76px;\n}\n\n.w-\\[360px\\] {\n width: 360px;\n}\n\n.w-\\[450px\\] {\n width: 450px;\n}\n\n.w-\\[320px\\] {\n width: 320px;\n}\n\n.w-\\[24px\\] {\n width: 24px;\n}\n\n.w-\\[30px\\] {\n width: 30px;\n}\n\n.min-w-full, .min-w-\\[100\\%\\] {\n min-width: 100%;\n}\n\n.min-w-\\[24px\\] {\n min-width: 24px;\n}\n\n.max-w-\\[400px\\] {\n max-width: 400px;\n}\n\n.max-w-\\[135px\\] {\n max-width: 135px;\n}\n\n.max-w-\\[500px\\] {\n max-width: 500px;\n}\n\n.max-w-\\[600px\\] {\n max-width: 600px;\n}\n\n.max-w-\\[800px\\] {\n max-width: 800px;\n}\n\n.max-w-\\[screen\\] {\n max-width: screen;\n}\n\n.max-w-\\[70px\\] {\n max-width: 70px;\n}\n\n.flex-1 {\n flex: 1;\n}\n\n.flex-auto {\n flex: auto;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.translate-y-2 {\n --tw-translate-y: .5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-0 {\n --tw-translate-y: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-\\[200\\%\\] {\n --tw-translate-y: 200%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.translate-y-full {\n --tw-translate-y: 100%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.scale-\\[0\\.4\\] {\n --tw-scale-x: .4;\n --tw-scale-y: .4;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.scale-x-\\[-1\\] {\n --tw-scale-x: -1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.resize {\n resize: both;\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.items-end {\n align-items: flex-end;\n}\n\n.items-center {\n align-items: center;\n}\n\n.justify-end {\n justify-content: flex-end;\n}\n\n.justify-center {\n justify-content: center;\n}\n\n.justify-between {\n justify-content: space-between;\n}\n\n.gap-\\[10px\\] {\n gap: 10px;\n}\n\n.gap-\\[5px\\] {\n gap: 5px;\n}\n\n.gap-2\\.5 {\n gap: .625rem;\n}\n\n.gap-2 {\n gap: .5rem;\n}\n\n.gap-5 {\n gap: 1.25rem;\n}\n\n.gap-\\[20px\\] {\n gap: 20px;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-x-auto {\n overflow-x: auto;\n}\n\n.rounded-\\[10px\\] {\n border-radius: 10px;\n}\n\n.rounded-lg {\n border-radius: .5rem;\n}\n\n.rounded-md {\n border-radius: .375rem;\n}\n\n.rounded-\\[15px\\] {\n border-radius: 15px;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-\\[5px\\] {\n border-radius: 5px;\n}\n\n.rounded-\\[60px\\] {\n border-radius: 60px;\n}\n\n.rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n\n.rounded-\\[8px\\] {\n border-radius: 8px;\n}\n\n.rounded-\\[50\\%\\] {\n border-radius: 50%;\n}\n\n.rounded-t-\\[15px\\] {\n border-top-left-radius: 15px;\n border-top-right-radius: 15px;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-2 {\n border-width: 2px;\n}\n\n.border-t {\n border-top-width: 1px;\n}\n\n.border-secondaryLight {\n --tw-border-opacity: 1;\n border-color: rgb(179 179 179 / var(--tw-border-opacity));\n}\n\n.border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n\n.border-secondaryVLight {\n --tw-border-opacity: 1;\n border-color: rgb(235 235 235 / var(--tw-border-opacity));\n}\n\n.border-primaryLight {\n --tw-border-opacity: 1;\n border-color: rgb(86 86 86 / var(--tw-border-opacity));\n}\n\n.bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n\n.bg-primaryLight {\n --tw-bg-opacity: 1;\n background-color: rgb(86 86 86 / var(--tw-bg-opacity));\n}\n\n.bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(29 28 32 / var(--tw-bg-opacity));\n}\n\n.bg-graySelected {\n --tw-bg-opacity: 1;\n background-color: rgb(245 245 245 / var(--tw-bg-opacity));\n}\n\n.bg-transparent {\n background-color: #0000;\n}\n\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.bg-tertiarySelected {\n --tw-bg-opacity: 1;\n background-color: rgb(216 216 216 / var(--tw-bg-opacity));\n}\n\n.bg-tertiary {\n --tw-bg-opacity: 1;\n background-color: rgb(245 245 245 / var(--tw-bg-opacity));\n}\n\n.bg-black\\/\\[\\.6\\] {\n background-color: #0009;\n}\n\n.bg-\\[\\#565656\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(86 86 86 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#f12828\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(241 40 40 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#000\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#FFFFFF\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.bg-underlay {\n background-color: #00000040;\n}\n\n.bg-\\[\\#f3f3f3\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(243 243 243 / var(--tw-bg-opacity));\n}\n\n.bg-secondaryVLight {\n --tw-bg-opacity: 1;\n background-color: rgb(235 235 235 / var(--tw-bg-opacity));\n}\n\n.bg-opacity-90 {\n --tw-bg-opacity: .9;\n}\n\n.bg-\\[url\\(\\'https\\:\\/\\/cdn\\.snapcall\\.io\\/img\\/assist\\/gradient-bg\\.jpg\\'\\)\\] {\n background-image: url(\"https://cdn.snapcall.io/img/assist/gradient-bg.jpg\");\n}\n\n.bg-cover {\n background-size: cover;\n}\n\n.object-cover {\n object-fit: cover;\n}\n\n.object-fill {\n object-fit: fill;\n}\n\n.p-\\[15px\\] {\n padding: 15px;\n}\n\n.p-2\\.5 {\n padding: .625rem;\n}\n\n.p-2 {\n padding: .5rem;\n}\n\n.p-\\[10px\\] {\n padding: 10px;\n}\n\n.p-\\[3px\\] {\n padding: 3px;\n}\n\n.p-\\[12px\\] {\n padding: 12px;\n}\n\n.py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.py-\\[9px\\] {\n padding-top: 9px;\n padding-bottom: 9px;\n}\n\n.px-3\\.5 {\n padding-left: .875rem;\n padding-right: .875rem;\n}\n\n.px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.py-1\\.5 {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.px-2\\.5 {\n padding-left: .625rem;\n padding-right: .625rem;\n}\n\n.py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.px-\\[10px\\] {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n.py-\\[25px\\] {\n padding-top: 25px;\n padding-bottom: 25px;\n}\n\n.px-\\[20px\\] {\n padding-left: 20px;\n padding-right: 20px;\n}\n\n.pt-2\\.5 {\n padding-top: .625rem;\n}\n\n.pt-2 {\n padding-top: .5rem;\n}\n\n.pb-2\\.5 {\n padding-bottom: .625rem;\n}\n\n.pb-2 {\n padding-bottom: .5rem;\n}\n\n.pt-\\[20px\\] {\n padding-top: 20px;\n}\n\n.pb-\\[25px\\] {\n padding-bottom: 25px;\n}\n\n.text-center {\n text-align: center;\n}\n\n.align-middle {\n vertical-align: middle;\n}\n\n.text-base {\n letter-spacing: -.02em;\n font-size: 16px;\n line-height: 19px;\n}\n\n.text-sm {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 17px;\n}\n\n.text-xs {\n letter-spacing: -.02em;\n font-size: 12px;\n line-height: 14px;\n}\n\n.text-\\[112px\\] {\n font-size: 112px;\n}\n\n.text-xl {\n letter-spacing: -.02em;\n font-size: 20px;\n line-height: 24px;\n}\n\n.text-lg {\n letter-spacing: -.02em;\n font-size: 18px;\n line-height: 22px;\n}\n\n.font-medium {\n font-weight: 500;\n}\n\n.font-semibold {\n font-weight: 600;\n}\n\n.font-bold {\n font-weight: 700;\n}\n\n.font-normal {\n font-weight: 400;\n}\n\n.leading-\\[20px\\] {\n line-height: 20px;\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.text-primary {\n --tw-text-opacity: 1;\n color: rgb(29 28 32 / var(--tw-text-opacity));\n}\n\n.text-mainBlue {\n --tw-text-opacity: 1;\n color: rgb(0 106 255 / var(--tw-text-opacity));\n}\n\n.text-white\\/80 {\n color: #fffc;\n}\n\n.text-secondary {\n --tw-text-opacity: 1;\n color: rgb(134 134 134 / var(--tw-text-opacity));\n}\n\n.text-primaryLight {\n --tw-text-opacity: 1;\n color: rgb(86 86 86 / var(--tw-text-opacity));\n}\n\n.text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n}\n\n.underline {\n text-decoration-line: underline;\n}\n\n.antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-50 {\n opacity: .5;\n}\n\n.opacity-\\[0\\.4\\] {\n opacity: .4;\n}\n\n.opacity-90 {\n opacity: .9;\n}\n\n.outline {\n outline-style: solid;\n}\n\n.ring-\\[3px\\] {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.ring-cta {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(38 138 250 / var(--tw-ring-opacity));\n}\n\n.blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.transition-\\[transform\\,border-radius\\] {\n transition-property: transform, border-radius;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.duration-300 {\n transition-duration: .3s;\n}\n\n.ease-in {\n transition-timing-function: cubic-bezier(.4, 0, 1, 1);\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.ease-in-out {\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.inter {\n font-family: Inter, sans-serif;\n}\n\n@supports (font-variation-settings: normal) {\n .inter {\n font-family: Inter var, sans-serif;\n }\n}\n\n.first-letter\\:capitalize:first-letter {\n text-transform: capitalize;\n}\n\n.focus\\:outline-none:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.disabled\\:bg-secondaryLight:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(179 179 179 / var(--tw-bg-opacity));\n}\n\n.disabled\\:bg-graySelected:disabled {\n --tw-bg-opacity: 1;\n background-color: rgb(245 245 245 / var(--tw-bg-opacity));\n}\n\n.disabled\\:text-secondaryLight:disabled {\n --tw-text-opacity: 1;\n color: rgb(179 179 179 / var(--tw-text-opacity));\n}\n\n.disabled\\:opacity-50:disabled {\n opacity: .5;\n}\n\n";
|
|
12588
13045
|
|
|
12589
13046
|
|
|
12590
13047
|
var $9833f4335ab609cd$exports = {};
|