@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.esm.js
CHANGED
|
@@ -6,7 +6,7 @@ import $3Sbms$styledcomponents, {keyframes as $3Sbms$keyframes, ThemeProvider as
|
|
|
6
6
|
import $3Sbms$react, {useState as $3Sbms$useState, useRef as $3Sbms$useRef, useEffect as $3Sbms$useEffect, useContext as $3Sbms$useContext, useMemo as $3Sbms$useMemo, createContext as $3Sbms$createContext, useReducer as $3Sbms$useReducer, useLayoutEffect as $3Sbms$useLayoutEffect, useCallback as $3Sbms$useCallback, forwardRef as $3Sbms$forwardRef} from "react";
|
|
7
7
|
import "inobounce";
|
|
8
8
|
import $3Sbms$i18next from "i18next";
|
|
9
|
-
import {initReactI18next as $3Sbms$initReactI18next, useTranslation as $3Sbms$useTranslation} from "react-i18next";
|
|
9
|
+
import {initReactI18next as $3Sbms$initReactI18next, useTranslation as $3Sbms$useTranslation, Trans as $3Sbms$Trans} from "react-i18next";
|
|
10
10
|
import {parse as $3Sbms$parse, getParser as $3Sbms$getParser} from "bowser";
|
|
11
11
|
import {v4 as $3Sbms$v4} from "uuid";
|
|
12
12
|
import {WebSocketTransport as $3Sbms$WebSocketTransport, Peer as $3Sbms$Peer} from "protoo-client";
|
|
@@ -18,11 +18,11 @@ import {createPortal as $3Sbms$createPortal} from "react-dom";
|
|
|
18
18
|
import {toCanvas as $3Sbms$toCanvas} from "qrcode";
|
|
19
19
|
import {useOverlayTriggerState as $3Sbms$useOverlayTriggerState, useToggleState as $3Sbms$useToggleState} from "react-stately";
|
|
20
20
|
import $3Sbms$classnames from "classnames";
|
|
21
|
-
import {useToggleButton as $3Sbms$useToggleButton, useFocusRing as $3Sbms$useFocusRing, useButton as $3Sbms$useButton} from "react-aria";
|
|
22
|
-
import {useModalOverlay as $3Sbms$useModalOverlay, Overlay as $3Sbms$Overlay} from "@react-aria/overlays";
|
|
21
|
+
import {useToggleButton as $3Sbms$useToggleButton, useFocusRing as $3Sbms$useFocusRing, useModalOverlay as $3Sbms$useModalOverlay, Overlay as $3Sbms$Overlay, useButton as $3Sbms$useButton} from "react-aria";
|
|
23
22
|
import {useViewportSize as $3Sbms$useViewportSize} from "@react-aria/utils";
|
|
24
23
|
import {CSSTransition as $3Sbms$CSSTransition} from "react-transition-group";
|
|
25
24
|
import {useHover as $3Sbms$useHover} from "@react-aria/interactions";
|
|
25
|
+
import {useModalOverlay as $3Sbms$useModalOverlay1, Overlay as $3Sbms$Overlay1} from "@react-aria/overlays";
|
|
26
26
|
import $3Sbms$reactcontentloader from "react-content-loader";
|
|
27
27
|
|
|
28
28
|
function $parcel$interopDefault(a) {
|
|
@@ -467,6 +467,8 @@ const $18fb8799f38eb407$export$84584c2a98eb6753 = {
|
|
|
467
467
|
someone: "Someone",
|
|
468
468
|
camera: "Camera",
|
|
469
469
|
microphone: "Microphone",
|
|
470
|
+
photo: "Photo",
|
|
471
|
+
video: "Video",
|
|
470
472
|
screen: "Screen",
|
|
471
473
|
speaker: "Speaker",
|
|
472
474
|
user: "User",
|
|
@@ -474,7 +476,10 @@ const $18fb8799f38eb407$export$84584c2a98eb6753 = {
|
|
|
474
476
|
from: "From",
|
|
475
477
|
accept: "Accept",
|
|
476
478
|
decline: "Decline",
|
|
477
|
-
you: "You"
|
|
479
|
+
you: "You",
|
|
480
|
+
cancel: "Cancel",
|
|
481
|
+
confirm: "Confirm",
|
|
482
|
+
remove: "Remove"
|
|
478
483
|
},
|
|
479
484
|
greeting: {
|
|
480
485
|
mainTitle: "Welcome to SnapCall",
|
|
@@ -484,6 +489,46 @@ const $18fb8799f38eb407$export$84584c2a98eb6753 = {
|
|
|
484
489
|
nameSubmit: "Join Conversation",
|
|
485
490
|
footerTitle: "Powered by SnapCall",
|
|
486
491
|
footerDescription: "Meet SnapCall, the easiest way to add real-time video to platform, product or service."
|
|
492
|
+
},
|
|
493
|
+
recorder: {
|
|
494
|
+
submissionTitle: "Thank you for your submission!",
|
|
495
|
+
submissionDescription: "Your photo/video has been successfully sent. We will review it and get back to you soon.",
|
|
496
|
+
confirmRemovalTitle: "Confirm removal",
|
|
497
|
+
confirmRemovalDescription: "Are you sure you want to remove this photo/video? This action cannot be undone.",
|
|
498
|
+
elementBeingProcessed: "Please wait a moment while your {{ type }} is being processed...",
|
|
499
|
+
waitVideo: "It may take up to 15 seconds for a video to be ready.",
|
|
500
|
+
elementCaptureSuccess: "{{ type }} successfully captured",
|
|
501
|
+
takeNewElement: "Take new {{ type }}",
|
|
502
|
+
sendElement: "Send {{ type }}",
|
|
503
|
+
sendElements: "Send {{ count }} elements",
|
|
504
|
+
allowAccess: "Allow access",
|
|
505
|
+
okay: "Okay",
|
|
506
|
+
allowCamMicAccess: "Allow access to cam/mic",
|
|
507
|
+
allowScreenShareAccess: "Allow access to screen sharing",
|
|
508
|
+
permissionDeniedTitle: "Something went wrong!",
|
|
509
|
+
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.",
|
|
510
|
+
photoInstructionsTitle: "Ready to take a shot?",
|
|
511
|
+
videoInstructionsTitle: "Ready to record a video?",
|
|
512
|
+
screenShareInstructionsTitle: "Ready to capture your screen?",
|
|
513
|
+
instructions: {
|
|
514
|
+
allowAccessOnPrompt: "When prompted, <1>allow access</1> to camera and microphone.",
|
|
515
|
+
tapPhotoButton: "Tap the <1 /><2> Camera button</2> to take a photo.",
|
|
516
|
+
multiplePhotos: "Don't hesitate to take multiple photos for more detail.",
|
|
517
|
+
reviewAndSendPhotos: "You can review your photo and then <1>send it when you're done.</1>",
|
|
518
|
+
tapVideoButton: "Tap the <1 /><2> Record button</2> to start a recording.",
|
|
519
|
+
videoSpeech: "You can <1>speak during</1> the recording for added detail.",
|
|
520
|
+
tapStopVideoButton: "When you're finished, tap the <1 /><2> Stop button</2>.",
|
|
521
|
+
reviewAndSendVideos: "You can review your video and then <1>send it when you're done</2>.",
|
|
522
|
+
tapScreenShareButton: "Tap on <1> Record my screen</1> to start a recording.",
|
|
523
|
+
tapStopScreenShareButton: "When you're finished, tap on <1>Stop recording</1>.",
|
|
524
|
+
reviewAnsSendScreenShare: "You can review your video and then <1>send it when you're done</1>."
|
|
525
|
+
},
|
|
526
|
+
switchToMobileTitle: "Switch to your mobile",
|
|
527
|
+
switchToMobileDescription: "Enjoy an even more convenient experience by using your phone to take photos and record videos.",
|
|
528
|
+
useDesktopVersion: "Use desktop version",
|
|
529
|
+
scanQRCode: "Scan this QR code with a compatible device.",
|
|
530
|
+
startScreenShareButton: "Record my screen",
|
|
531
|
+
stopScreenShareButton: "Stop recording"
|
|
487
532
|
}
|
|
488
533
|
}
|
|
489
534
|
};
|
|
@@ -621,6 +666,8 @@ const $c5472fb74fa04782$export$acb2a88f7d552ebf = {
|
|
|
621
666
|
someone: "Quelqu'un",
|
|
622
667
|
camera: "Cam\xe9ra",
|
|
623
668
|
microphone: "Micro",
|
|
669
|
+
photo: "Photo",
|
|
670
|
+
video: "Vid\xe9o",
|
|
624
671
|
screen: "\xc9cran",
|
|
625
672
|
speaker: "Haut-parleur",
|
|
626
673
|
user: "Utilisateur",
|
|
@@ -628,7 +675,10 @@ const $c5472fb74fa04782$export$acb2a88f7d552ebf = {
|
|
|
628
675
|
from: "Depuis",
|
|
629
676
|
accept: "Accepter",
|
|
630
677
|
decline: "D\xe9cliner",
|
|
631
|
-
you: "Vous"
|
|
678
|
+
you: "Vous",
|
|
679
|
+
cancel: "Annuler",
|
|
680
|
+
confirm: "Confirmer",
|
|
681
|
+
remove: "Enlever"
|
|
632
682
|
},
|
|
633
683
|
greeting: {
|
|
634
684
|
mainTitle: "Bienvenue sur SnapCall",
|
|
@@ -638,6 +688,46 @@ const $c5472fb74fa04782$export$acb2a88f7d552ebf = {
|
|
|
638
688
|
nameSubmit: "Rejoindre la conversation",
|
|
639
689
|
footerTitle: "Propuls\xe9 par SnapCall",
|
|
640
690
|
footerDescription: "D\xe9couvrez SnapCall, ajoutez de la vid\xe9o en temps r\xe9el \xe0 n'importe quelle plateforme, produit ou service."
|
|
691
|
+
},
|
|
692
|
+
recorder: {
|
|
693
|
+
submissionTitle: "Merci pour votre soumission!",
|
|
694
|
+
submissionDescription: "Votre photo/vid\xe9o a \xe9t\xe9 envoy\xe9e avec succ\xe8s. Nous l'examinerons et reviendrons vers vous bient\xf4t.",
|
|
695
|
+
confirmRemovalTitle: "Confirmer la suppression",
|
|
696
|
+
confirmRemovalDescription: "Voulez-vous vraiment supprimer cette photo/vid\xe9o? Cette action ne peut pas \xeatre annul\xe9e.",
|
|
697
|
+
elementBeingProcessed: "Veuillez patienter un moment pendant que votre {{ type }} est en cours de traitement...",
|
|
698
|
+
waitVideo: "Cela peut prendre jusqu'\xe0 15 secondes pour qu'une vid\xe9o soit pr\xeate.",
|
|
699
|
+
elementCaptureSuccess: "{{ type }} captur\xe9e avec succ\xe8s",
|
|
700
|
+
takeNewElement: "Prendre une nouvelle {{ type }}",
|
|
701
|
+
sendElement: "Envoyer une {{ type }}",
|
|
702
|
+
sendElements: "Envoyer {{ count }} \xe9l\xe9ments",
|
|
703
|
+
allowAccess: "Permettre l'acc\xe8s",
|
|
704
|
+
okay: "D'accord",
|
|
705
|
+
allowCamMicAccess: "Autoriser l'acc\xe8s \xe0 la cam\xe9ra/au micro",
|
|
706
|
+
allowScreenShareAccess: "Autoriser l'acc\xe8s au partage d'\xe9cran",
|
|
707
|
+
permissionDeniedTitle: "Quelque chose s'est mal pass\xe9!",
|
|
708
|
+
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.",
|
|
709
|
+
photoInstructionsTitle: "Pr\xeat \xe0 prendre une photo?",
|
|
710
|
+
videoInstructionsTitle: "Pr\xeat \xe0 enregistrer une vid\xe9o?",
|
|
711
|
+
screenShareInstructionsTitle: "Pr\xeat \xe0 capturer votre \xe9cran?",
|
|
712
|
+
instructions: {
|
|
713
|
+
allowAccessOnPrompt: "Lorsque vous y \xeates invit\xe9, <1>autorisez l'acc\xe8s</1> \xe0 la cam\xe9ra et au microphone.",
|
|
714
|
+
tapPhotoButton: "Appuyez sur le <1 /><2>bouton Appareil photo</2> pour prendre une photo.",
|
|
715
|
+
multiplePhotos: "N'h\xe9sitez pas \xe0 prendre plusieurs photos pour plus de d\xe9tails.",
|
|
716
|
+
reviewAndSendPhotos: "Vous pouvez revoir votre photo, puis <1>l'envoyer lorsque vous avez termin\xe9.</1>",
|
|
717
|
+
tapVideoButton: "Appuyez sur le <1 /><2>bouton d'enregistrement</2> pour d\xe9marrer un enregistrement.",
|
|
718
|
+
videoSpeech: "Vous pouvez <1>parler pendant</1> l'enregistrement pour plus de d\xe9tails.",
|
|
719
|
+
tapStopVideoButton: "Lorsque vous avez termin\xe9, appuyez sur le <1 /><2>bouton Arr\xeater</2>.",
|
|
720
|
+
reviewAndSendVideos: "Vous pouvez revoir votre vid\xe9o, puis <1>l'envoyer lorsque vous avez termin\xe9</2>.",
|
|
721
|
+
tapScreenShareButton: "Appuyez sur <1>Enregistrer mon \xe9cran</1> pour d\xe9marrer un enregistrement.",
|
|
722
|
+
tapStopScreenShareButton: "Lorsque vous avez termin\xe9, appuyez sur <1>Arr\xeater l'enregistrement</1>.",
|
|
723
|
+
reviewAnsSendScreenShare: "Vous pouvez revoir votre vid\xe9o, puis <1>l'envoyer lorsque vous avez termin\xe9</1>."
|
|
724
|
+
},
|
|
725
|
+
switchToMobileTitle: "Basculez vers votre mobile",
|
|
726
|
+
switchToMobileDescription: "Profitez d'une exp\xe9rience encore plus pratique en utilisant votre t\xe9l\xe9phone pour prendre des photos et enregistrer des vid\xe9os.",
|
|
727
|
+
useDesktopVersion: "Utiliser la version de bureau",
|
|
728
|
+
scanQRCode: "Scannez ce code QR avec un appareil compatible.",
|
|
729
|
+
startScreenShareButton: "Enregistrer mon \xe9cran",
|
|
730
|
+
stopScreenShareButton: "Arr\xeater d'enregistrer"
|
|
641
731
|
}
|
|
642
732
|
}
|
|
643
733
|
};
|
|
@@ -779,6 +869,8 @@ const $b7790fb9e48df5c4$export$3486a10f30cf1ee4 = {
|
|
|
779
869
|
someone: "Qualcuno",
|
|
780
870
|
camera: "Telecamera",
|
|
781
871
|
microphone: "Microfono",
|
|
872
|
+
photo: "Foto",
|
|
873
|
+
video: "Video",
|
|
782
874
|
screen: "Schermo",
|
|
783
875
|
speaker: "Altoparlante",
|
|
784
876
|
user: "Utente",
|
|
@@ -786,7 +878,10 @@ const $b7790fb9e48df5c4$export$3486a10f30cf1ee4 = {
|
|
|
786
878
|
from: "Da",
|
|
787
879
|
accept: "Accettare",
|
|
788
880
|
decline: "Declinare",
|
|
789
|
-
you: "Voi"
|
|
881
|
+
you: "Voi",
|
|
882
|
+
cancel: "Annulla",
|
|
883
|
+
confirm: "Confermare",
|
|
884
|
+
remove: "Rimuovere"
|
|
790
885
|
},
|
|
791
886
|
greeting: {
|
|
792
887
|
mainTitle: "Benvenuto a SnapCall",
|
|
@@ -796,6 +891,46 @@ const $b7790fb9e48df5c4$export$3486a10f30cf1ee4 = {
|
|
|
796
891
|
nameSubmit: "Partecipa alla conversazione",
|
|
797
892
|
footerTitle: "Offerto da SnapCall",
|
|
798
893
|
footerDescription: "Incontrare SnapCall, il modo pi\xf9 semplice per aggiungere video in tempo reale a piattaforma, prodotto o servizio."
|
|
894
|
+
},
|
|
895
|
+
recorder: {
|
|
896
|
+
submissionTitle: "Grazie per la vostra presentazione!",
|
|
897
|
+
submissionDescription: "La tua foto/video \xe8 stato inviato con successo. Lo esamineremo e ti ricontatteremo presto.",
|
|
898
|
+
confirmRemovalTitle: "Conferma la rimozione",
|
|
899
|
+
confirmRemovalDescription: "Sei sicuro di voler rimuovere questa foto/video? Questa azione non pu\xf2 essere annullata.",
|
|
900
|
+
elementBeingProcessed: "Attendi un momento mentre la tua {{ type }} \xe8 in fase di elaborazione...",
|
|
901
|
+
waitVideo: "Potrebbero essere necessari fino a 15 secondi prima che un video sia pronto.",
|
|
902
|
+
elementCaptureSuccess: "{{ type }} catturato con successo",
|
|
903
|
+
takeNewElement: "Scatta una nuova {{ type }}",
|
|
904
|
+
sendElement: "Invia una {{ type }}",
|
|
905
|
+
sendElements: "Invia {{ count }} elementi",
|
|
906
|
+
allowAccess: "Consentire l'accesso",
|
|
907
|
+
okay: "Va bene",
|
|
908
|
+
allowCamMicAccess: "Consenti l'accesso a cam/microfono",
|
|
909
|
+
allowScreenShareAccess: "Consenti l'accesso alla condivisione dello schermo",
|
|
910
|
+
permissionDeniedTitle: "Qualcosa \xe8 andato storto!",
|
|
911
|
+
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.",
|
|
912
|
+
photoInstructionsTitle: "Pronto a fare un tentativo?",
|
|
913
|
+
videoInstructionsTitle: "Pronto a registrare un video?",
|
|
914
|
+
screenShareInstructionsTitle: "Pronto a catturare il tuo schermo?",
|
|
915
|
+
instructions: {
|
|
916
|
+
allowAccessOnPrompt: "Quando richiesto, <1>consenti l'accesso</1> alla videocamera e al microfono.",
|
|
917
|
+
tapPhotoButton: "Tocca il <1 /><2> pulsante Fotocamera</2> per scattare una foto.",
|
|
918
|
+
multiplePhotos: "Non esitate a scattare pi\xf9 foto per maggiori dettagli.",
|
|
919
|
+
reviewAndSendPhotos: "Puoi rivedere la tua foto e poi <1>inviarla quando hai finito.</1>",
|
|
920
|
+
tapVideoButton: "Tocca il <1 /><2> pulsante Registra</2> per avviare una registrazione.",
|
|
921
|
+
videoSpeech: "Puoi <1>parlare durante</1> la registrazione per ulteriori dettagli.",
|
|
922
|
+
tapStopVideoButton: "Al termine, tocca il <1 /><2> pulsante Interrompi</2>.",
|
|
923
|
+
reviewAndSendVideos: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito</2>.",
|
|
924
|
+
tapScreenShareButton: "Tocca <1> Registra il mio schermo</1> per avviare una registrazione.",
|
|
925
|
+
tapStopScreenShareButton: "Al termine, tocca <1>Interrompi registrazione</1>.",
|
|
926
|
+
reviewAnsSendScreenShare: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito</1>."
|
|
927
|
+
},
|
|
928
|
+
switchToMobileTitle: "Passa al tuo cellulare",
|
|
929
|
+
switchToMobileDescription: "Goditi un'esperienza ancora pi\xf9 comoda utilizzando il telefono per scattare foto e registrare video.",
|
|
930
|
+
useDesktopVersion: "Usa la versione desktop",
|
|
931
|
+
scanQRCode: "Scansiona questo codice QR con un dispositivo compatibile.",
|
|
932
|
+
startScreenShareButton: "Registra il mio schermo",
|
|
933
|
+
stopScreenShareButton: "Interrompi la registrazione"
|
|
799
934
|
}
|
|
800
935
|
}
|
|
801
936
|
};
|
|
@@ -1439,6 +1574,49 @@ class $0148b6fd862a22e8$export$2e2bcd8739ae039 {
|
|
|
1439
1574
|
}
|
|
1440
1575
|
|
|
1441
1576
|
|
|
1577
|
+
const $107ba89b5d0109ab$var$audioContextConstructor = window.AudioContext || window.webkitAudioContext;
|
|
1578
|
+
class $107ba89b5d0109ab$export$22ddc20344c01547 {
|
|
1579
|
+
audioSources = {};
|
|
1580
|
+
tracks = {};
|
|
1581
|
+
constructor(){
|
|
1582
|
+
this.audioContext = new $107ba89b5d0109ab$var$audioContextConstructor();
|
|
1583
|
+
this.audioDestination = this.audioContext.createMediaStreamDestination();
|
|
1584
|
+
}
|
|
1585
|
+
getSetting(identifier) {
|
|
1586
|
+
return this.tracks[identifier]?.getSettings();
|
|
1587
|
+
}
|
|
1588
|
+
removeTrack(identifier) {
|
|
1589
|
+
const track = this.tracks[identifier];
|
|
1590
|
+
if (track) {
|
|
1591
|
+
this.audioSources[identifier]?.disconnect();
|
|
1592
|
+
delete this.tracks[identifier];
|
|
1593
|
+
delete this.audioSources[identifier];
|
|
1594
|
+
track.stop();
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
addTrack(identifier, track) {
|
|
1598
|
+
if (track.kind === "audio") {
|
|
1599
|
+
this.removeTrack(identifier);
|
|
1600
|
+
const stream = new MediaStream([
|
|
1601
|
+
track
|
|
1602
|
+
]);
|
|
1603
|
+
const audioSource = this.audioContext.createMediaStreamSource(stream);
|
|
1604
|
+
this.audioSources[identifier] = audioSource;
|
|
1605
|
+
this.tracks[identifier] = track;
|
|
1606
|
+
if (this.audioDestination) audioSource.connect(this.audioDestination);
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
getFinalTrack() {
|
|
1610
|
+
return this.audioDestination.stream.getTracks()[0];
|
|
1611
|
+
}
|
|
1612
|
+
removeAll() {
|
|
1613
|
+
Object.keys(this.tracks).forEach((identifier)=>{
|
|
1614
|
+
this.removeTrack(identifier);
|
|
1615
|
+
});
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
|
|
1619
|
+
|
|
1442
1620
|
const $c31e3fb4360572af$var$log = new (0, $0f65a9eaf4a1e910$export$2e2bcd8739ae039)("StreamerClient");
|
|
1443
1621
|
const $c31e3fb4360572af$export$103bedf43ba882db = {
|
|
1444
1622
|
WEBRTC_FAILED: "WRTC1",
|
|
@@ -1978,6 +2156,7 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
1978
2156
|
this.audioLevel?.release();
|
|
1979
2157
|
this.audioLevel = undefined;
|
|
1980
2158
|
if (this.micProducer && this.micProducer.track) {
|
|
2159
|
+
this.audioMedia?.removeTrack("mic");
|
|
1981
2160
|
this.micProducer?.track?.stop();
|
|
1982
2161
|
$c31e3fb4360572af$var$log.log("switchMicrophone", "stopping previous track");
|
|
1983
2162
|
}
|
|
@@ -1990,7 +2169,9 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
1990
2169
|
}));
|
|
1991
2170
|
this.audioLevel = new (0, $67e45b2e30dcc030$export$ea669869acd8f177)(stream, this);
|
|
1992
2171
|
// this.audioLevel.analyse();
|
|
2172
|
+
this.audioMedia = this.audioMedia || new (0, $107ba89b5d0109ab$export$22ddc20344c01547)();
|
|
1993
2173
|
const track = stream.getAudioTracks()[0];
|
|
2174
|
+
this.audioMedia.addTrack("mic", track);
|
|
1994
2175
|
await this.micProducer?.replaceTrack({
|
|
1995
2176
|
track: track
|
|
1996
2177
|
});
|
|
@@ -2066,10 +2247,12 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2066
2247
|
const transport = await this.getTransport("audio", "send");
|
|
2067
2248
|
this.audioLevel = new (0, $67e45b2e30dcc030$export$ea669869acd8f177)(stream, this);
|
|
2068
2249
|
// this.audioLevel.analyse();
|
|
2250
|
+
this.audioMedia = this.audioMedia || new (0, $107ba89b5d0109ab$export$22ddc20344c01547)();
|
|
2069
2251
|
const track = stream.getAudioTracks()[0];
|
|
2252
|
+
this.audioMedia.addTrack("mic", track);
|
|
2070
2253
|
const deviceType = "microphone";
|
|
2071
2254
|
const micProducer = await transport.produce({
|
|
2072
|
-
track:
|
|
2255
|
+
track: this.audioMedia.getFinalTrack(),
|
|
2073
2256
|
codecOptions: {
|
|
2074
2257
|
opusStereo: true,
|
|
2075
2258
|
opusDtx: true
|
|
@@ -2146,6 +2329,7 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2146
2329
|
this.mediaPipe.clean();
|
|
2147
2330
|
this.mediaPipe = undefined;
|
|
2148
2331
|
}
|
|
2332
|
+
this.audioMedia?.removeAll();
|
|
2149
2333
|
this.webcamTrack?.stop();
|
|
2150
2334
|
this.webcamTrack = null;
|
|
2151
2335
|
this.protooTransport.close();
|
|
@@ -2494,10 +2678,13 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2494
2678
|
});
|
|
2495
2679
|
this.dispatchEvent(event);
|
|
2496
2680
|
}
|
|
2497
|
-
async enableScreenshare(
|
|
2681
|
+
async enableScreenshare(option = {
|
|
2682
|
+
audioTransportOption: "classic"
|
|
2683
|
+
}) {
|
|
2498
2684
|
if (!this.permissions.find((permission)=>permission === "screen_sharing")) throw new Error("feature not allowed");
|
|
2685
|
+
if (option.audioTransportOption === "mix" && !this.micProducer) throw new Error("microphone not activated and audio mix transport requested");
|
|
2499
2686
|
const stream = await this.handleGetUserMediaError("screen", navigator.mediaDevices.getDisplayMedia({
|
|
2500
|
-
audio:
|
|
2687
|
+
audio: option.audioTransportOption !== "none",
|
|
2501
2688
|
video: {
|
|
2502
2689
|
displaySurface: "monitor",
|
|
2503
2690
|
logicalSurface: true,
|
|
@@ -2517,13 +2704,23 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2517
2704
|
const audioTransport = await this.getTransport("audio", "send");
|
|
2518
2705
|
const audioTrack = stream.getAudioTracks()[0];
|
|
2519
2706
|
if (audioTrack) {
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
this.screenshareVideoProducer
|
|
2526
|
-
|
|
2707
|
+
if (option.audioTransportOption === "classic") {
|
|
2708
|
+
this.screenshareAudioProducer = await this.streamerMediasoup?.produceAudio(audioTransport, audioTrack, {
|
|
2709
|
+
deviceType: deviceType,
|
|
2710
|
+
share: true
|
|
2711
|
+
});
|
|
2712
|
+
this.screenshareVideoProducer?.on("transportclose", ()=>{
|
|
2713
|
+
this.screenshareVideoProducer = undefined;
|
|
2714
|
+
});
|
|
2715
|
+
} else if (option.audioTransportOption === "mix") {
|
|
2716
|
+
this.audioMedia = this.audioMedia || new (0, $107ba89b5d0109ab$export$22ddc20344c01547)();
|
|
2717
|
+
this.audioMedia.addTrack("screen", audioTrack);
|
|
2718
|
+
const finalTracks = this.audioMedia.getFinalTrack();
|
|
2719
|
+
// currently microphone producer has to be enabled before.
|
|
2720
|
+
if (finalTracks && this.micProducer) this.micProducer.replaceTrack({
|
|
2721
|
+
track: finalTracks
|
|
2722
|
+
});
|
|
2723
|
+
}
|
|
2527
2724
|
}
|
|
2528
2725
|
const track = stream.getVideoTracks()[0];
|
|
2529
2726
|
const videoTransport = await this.getTransport("video", "send");
|
|
@@ -2550,6 +2747,7 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2550
2747
|
});
|
|
2551
2748
|
this.screenshareVideoProducer = undefined;
|
|
2552
2749
|
}
|
|
2750
|
+
this.audioMedia?.removeTrack("screen");
|
|
2553
2751
|
if (this.screenshareAudioProducer) {
|
|
2554
2752
|
this.screenshareAudioProducer.close();
|
|
2555
2753
|
if (this.protoo.connected) await this.protoo.request("closeProducer", {
|
|
@@ -2847,7 +3045,7 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2847
3045
|
return this.webcam;
|
|
2848
3046
|
}
|
|
2849
3047
|
getCurrentMicrophoneId() {
|
|
2850
|
-
return this.micProducer?.track?.getSettings().deviceId;
|
|
3048
|
+
return this.audioMedia?.getSetting("mic") || this.micProducer?.track?.getSettings().deviceId;
|
|
2851
3049
|
}
|
|
2852
3050
|
getCurrentSpeakerId() {
|
|
2853
3051
|
const audioRendererKeys = Object.keys(this.audioRenderers);
|
|
@@ -10521,6 +10719,8 @@ const $4fb4815baa04b470$export$914ddf2021ea8ee6 = (0, $3Sbms$styledcomponents).d
|
|
|
10521
10719
|
|
|
10522
10720
|
|
|
10523
10721
|
|
|
10722
|
+
|
|
10723
|
+
|
|
10524
10724
|
|
|
10525
10725
|
|
|
10526
10726
|
|
|
@@ -10566,6 +10766,61 @@ const $5a48b7481979330f$export$d2b052e7b4be1756 = /*#__PURE__*/ (0, $3Sbms$forwa
|
|
|
10566
10766
|
|
|
10567
10767
|
|
|
10568
10768
|
|
|
10769
|
+
const $91e337bf8187124b$export$a703eb468fcf7e69 = (props)=>{
|
|
10770
|
+
const { state: state , children: children } = props;
|
|
10771
|
+
const ref = (0, $3Sbms$useRef)(null);
|
|
10772
|
+
const { modalProps: modalProps , underlayProps: underlayProps } = (0, $3Sbms$useModalOverlay)({
|
|
10773
|
+
isDismissable: true,
|
|
10774
|
+
...props
|
|
10775
|
+
}, state, ref);
|
|
10776
|
+
const [exited, setExited] = (0, $3Sbms$useState)(!state.isOpen);
|
|
10777
|
+
if (!(state.isOpen || !exited)) return null;
|
|
10778
|
+
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Overlay), {
|
|
10779
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$CSSTransition), {
|
|
10780
|
+
in: state.isOpen,
|
|
10781
|
+
appear: true,
|
|
10782
|
+
onEntered: ()=>setExited(false),
|
|
10783
|
+
onExited: ()=>setExited(true),
|
|
10784
|
+
timeout: {
|
|
10785
|
+
enter: 0,
|
|
10786
|
+
exit: 300
|
|
10787
|
+
},
|
|
10788
|
+
classNames: {
|
|
10789
|
+
enter: "opacity-0",
|
|
10790
|
+
enterDone: "opacity-1 transition ease-in",
|
|
10791
|
+
exit: "opacity-0 transition ease-out"
|
|
10792
|
+
},
|
|
10793
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
10794
|
+
className: "fixed z-[100] inset-0 bg-black bg-opacity-90 flex justify-center items-center inter",
|
|
10795
|
+
...underlayProps,
|
|
10796
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$CSSTransition), {
|
|
10797
|
+
in: state.isOpen,
|
|
10798
|
+
appear: true,
|
|
10799
|
+
nodeRef: ref,
|
|
10800
|
+
timeout: {
|
|
10801
|
+
enter: 0,
|
|
10802
|
+
exit: 300
|
|
10803
|
+
},
|
|
10804
|
+
classNames: {
|
|
10805
|
+
appear: "translate-y-2",
|
|
10806
|
+
appearDone: "translate-y-0 transition ease-in",
|
|
10807
|
+
exit: "translate-y-2 transition ease-out"
|
|
10808
|
+
},
|
|
10809
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
10810
|
+
...modalProps,
|
|
10811
|
+
ref: ref,
|
|
10812
|
+
children: children
|
|
10813
|
+
})
|
|
10814
|
+
})
|
|
10815
|
+
})
|
|
10816
|
+
})
|
|
10817
|
+
});
|
|
10818
|
+
};
|
|
10819
|
+
|
|
10820
|
+
|
|
10821
|
+
|
|
10822
|
+
|
|
10823
|
+
|
|
10569
10824
|
|
|
10570
10825
|
|
|
10571
10826
|
|
|
@@ -10581,6 +10836,7 @@ const $0590ee3141e14968$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $3Sbms$forwa
|
|
|
10581
10836
|
primary: (0, $3Sbms$classnames)(isActive ? "bg-primaryLight" : "bg-primary", "text-white disabled:bg-secondaryLight"),
|
|
10582
10837
|
secondary: (0, $3Sbms$classnames)(isActive ? "bg-graySelected" : "bg-transparent", "text-primary border border-secondaryLight disabled:text-secondaryLight disabled:bg-graySelected"),
|
|
10583
10838
|
basic: (0, $3Sbms$classnames)(isActive ? "bg-graySelected" : "bg-white", "text-primary disabled:text-secondaryLight disabled:bg-graySelected"),
|
|
10839
|
+
tertiary: (0, $3Sbms$classnames)(isActive ? "bg-tertiarySelected" : "bg-tertiary", "text-mainBlue disabled:opacity-50"),
|
|
10584
10840
|
custom: ""
|
|
10585
10841
|
};
|
|
10586
10842
|
const sizeStyle = {
|
|
@@ -10608,12 +10864,6 @@ const $0590ee3141e14968$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $3Sbms$forwa
|
|
|
10608
10864
|
|
|
10609
10865
|
function $c0bb66c3d546ed81$export$2b77a92f1a5ad772(props) {
|
|
10610
10866
|
const { children: children , state: state , size: size = "small" , title: title , description: description , primaryAction: primaryAction , secondaryAction: secondaryAction , centered: centered = false } = props;
|
|
10611
|
-
const ref = (0, $3Sbms$react).useRef(null);
|
|
10612
|
-
const { modalProps: modalProps , underlayProps: underlayProps } = (0, $3Sbms$useModalOverlay)({
|
|
10613
|
-
isDismissable: true,
|
|
10614
|
-
...props
|
|
10615
|
-
}, state, ref);
|
|
10616
|
-
const [exited, setExited] = (0, $3Sbms$useState)(!state.isOpen);
|
|
10617
10867
|
const viewport = (0, $3Sbms$useViewportSize)();
|
|
10618
10868
|
const maxHeight = viewport.height - 64;
|
|
10619
10869
|
const modalSize = {
|
|
@@ -10621,96 +10871,60 @@ function $c0bb66c3d546ed81$export$2b77a92f1a5ad772(props) {
|
|
|
10621
10871
|
medium: "max-w-[600px]",
|
|
10622
10872
|
large: "max-w-[800px]"
|
|
10623
10873
|
};
|
|
10624
|
-
|
|
10625
|
-
|
|
10626
|
-
|
|
10627
|
-
|
|
10628
|
-
|
|
10629
|
-
|
|
10630
|
-
onEntered: ()=>setExited(false),
|
|
10631
|
-
onExited: ()=>setExited(true),
|
|
10632
|
-
timeout: {
|
|
10633
|
-
enter: 0,
|
|
10634
|
-
exit: 300
|
|
10635
|
-
},
|
|
10636
|
-
classNames: {
|
|
10637
|
-
enter: "opacity-0",
|
|
10638
|
-
enterDone: "opacity-1 transition ease-in",
|
|
10639
|
-
exit: "opacity-0 transition ease-out"
|
|
10874
|
+
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $91e337bf8187124b$export$a703eb468fcf7e69), {
|
|
10875
|
+
state: state,
|
|
10876
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
10877
|
+
className: (0, $3Sbms$classnames)("bg-white rounded-[10px] z-[1] overflow-x-auto focus:outline-none", modalSize[size]),
|
|
10878
|
+
style: {
|
|
10879
|
+
maxHeight: `${maxHeight}px`
|
|
10640
10880
|
},
|
|
10641
|
-
children: /*#__PURE__*/ (0, $3Sbms$
|
|
10642
|
-
className: "
|
|
10643
|
-
|
|
10644
|
-
|
|
10645
|
-
|
|
10646
|
-
|
|
10647
|
-
|
|
10648
|
-
|
|
10649
|
-
|
|
10650
|
-
exit: 300
|
|
10651
|
-
},
|
|
10652
|
-
classNames: {
|
|
10653
|
-
appear: "translate-y-2",
|
|
10654
|
-
appearDone: "translate-y-0 transition ease-in",
|
|
10655
|
-
exit: "translate-y-2 transition ease-out"
|
|
10656
|
-
},
|
|
10657
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
10658
|
-
...modalProps,
|
|
10659
|
-
ref: ref,
|
|
10660
|
-
className: (0, $3Sbms$classnames)("bg-white rounded-[10px] z-[1] overflow-x-auto focus:outline-none", modalSize[size]),
|
|
10661
|
-
style: {
|
|
10662
|
-
maxHeight: `${maxHeight}px`
|
|
10663
|
-
},
|
|
10664
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
10665
|
-
className: "flex flex-col gap-5 px-5 py-[25px] max-h-[inherit]",
|
|
10666
|
-
children: [
|
|
10667
|
-
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
10668
|
-
className: "flex flex-col gap-5 overflow-auto",
|
|
10669
|
-
children: [
|
|
10670
|
-
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
10671
|
-
className: (0, $3Sbms$classnames)("flex flex-col gap-[5px]", {
|
|
10672
|
-
"text-center": centered
|
|
10673
|
-
}),
|
|
10674
|
-
children: [
|
|
10675
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("h2", {
|
|
10676
|
-
className: "text-xl font-medium",
|
|
10677
|
-
children: title
|
|
10678
|
-
}),
|
|
10679
|
-
description && /*#__PURE__*/ (0, $3Sbms$jsx)("p", {
|
|
10680
|
-
className: "text-sm text-secondary",
|
|
10681
|
-
children: description
|
|
10682
|
-
})
|
|
10683
|
-
]
|
|
10684
|
-
}),
|
|
10685
|
-
children
|
|
10686
|
-
]
|
|
10881
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
10882
|
+
className: "flex flex-col gap-5 px-5 py-[25px] max-h-[inherit]",
|
|
10883
|
+
children: [
|
|
10884
|
+
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
10885
|
+
className: "flex flex-col gap-5 overflow-auto",
|
|
10886
|
+
children: [
|
|
10887
|
+
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
10888
|
+
className: (0, $3Sbms$classnames)("flex flex-col gap-[5px]", {
|
|
10889
|
+
"text-center": centered
|
|
10687
10890
|
}),
|
|
10688
|
-
|
|
10689
|
-
|
|
10690
|
-
|
|
10691
|
-
|
|
10692
|
-
|
|
10693
|
-
|
|
10694
|
-
|
|
10695
|
-
|
|
10696
|
-
|
|
10697
|
-
|
|
10698
|
-
|
|
10699
|
-
|
|
10700
|
-
|
|
10701
|
-
|
|
10702
|
-
|
|
10703
|
-
|
|
10704
|
-
|
|
10705
|
-
|
|
10706
|
-
|
|
10707
|
-
|
|
10708
|
-
|
|
10709
|
-
|
|
10710
|
-
|
|
10711
|
-
|
|
10891
|
+
children: [
|
|
10892
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("h2", {
|
|
10893
|
+
className: "text-xl font-medium",
|
|
10894
|
+
children: title
|
|
10895
|
+
}),
|
|
10896
|
+
description && /*#__PURE__*/ (0, $3Sbms$jsx)("p", {
|
|
10897
|
+
className: "text-sm text-secondary",
|
|
10898
|
+
children: description
|
|
10899
|
+
})
|
|
10900
|
+
]
|
|
10901
|
+
}),
|
|
10902
|
+
children
|
|
10903
|
+
]
|
|
10904
|
+
}),
|
|
10905
|
+
(primaryAction || secondaryAction) && /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
10906
|
+
className: (0, $3Sbms$classnames)("flex justify-end gap-2.5", centered ? "justify-center" : "justify-end"),
|
|
10907
|
+
children: [
|
|
10908
|
+
typeof secondaryAction === "string" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
10909
|
+
variant: "secondary",
|
|
10910
|
+
onPress: state.close,
|
|
10911
|
+
fullWidth: centered,
|
|
10912
|
+
children: secondaryAction
|
|
10913
|
+
}),
|
|
10914
|
+
typeof secondaryAction === "function" && secondaryAction({
|
|
10915
|
+
close: state.close
|
|
10916
|
+
}),
|
|
10917
|
+
typeof primaryAction === "string" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
10918
|
+
onPress: state.close,
|
|
10919
|
+
fullWidth: centered,
|
|
10920
|
+
children: primaryAction
|
|
10921
|
+
}),
|
|
10922
|
+
typeof primaryAction === "function" && primaryAction({
|
|
10923
|
+
close: state.close
|
|
10924
|
+
})
|
|
10925
|
+
]
|
|
10712
10926
|
})
|
|
10713
|
-
|
|
10927
|
+
]
|
|
10714
10928
|
})
|
|
10715
10929
|
})
|
|
10716
10930
|
});
|
|
@@ -10806,32 +11020,39 @@ const $96999d2514f71e51$var$InstructionRow = ({ children: children , index: inde
|
|
|
10806
11020
|
]
|
|
10807
11021
|
});
|
|
10808
11022
|
const $96999d2514f71e51$export$788cb893d96254c8 = ({ state: state , type: type })=>{
|
|
11023
|
+
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
10809
11024
|
const [permissionsState, setPermissionsState] = (0, $3Sbms$useState)("idle");
|
|
11025
|
+
(0, $3Sbms$useEffect)(()=>{
|
|
11026
|
+
const { deviceState: deviceState } = (0, $c9e496369b59be7a$export$2f377c2162fd02b2).getState();
|
|
11027
|
+
if (deviceState.screenshare.enabled && type === "screen") return setPermissionsState("granted");
|
|
11028
|
+
if (deviceState.camera.enabled && type !== "screen") return setPermissionsState("granted");
|
|
11029
|
+
setPermissionsState("idle");
|
|
11030
|
+
}, [
|
|
11031
|
+
type
|
|
11032
|
+
]);
|
|
11033
|
+
const { deviceState: deviceState } = (0, $c9e496369b59be7a$export$2f377c2162fd02b2).getState();
|
|
10810
11034
|
const [isRoomReady, setRoomReady] = (0, $3Sbms$useState)(false);
|
|
10811
11035
|
const { orientation: orientation } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
10812
11036
|
const device = orientation === "landscape" ? "desktop" : "mobile";
|
|
10813
11037
|
const videoLength = permissionsState === "granted" ? "short" : "full";
|
|
10814
|
-
const videoType = type === "
|
|
10815
|
-
const onDeviceEnabled = ()=>setPermissionsState("granted");
|
|
11038
|
+
const videoType = type === "photo" ? "photo" : "video";
|
|
10816
11039
|
const onEnterRoom = ()=>setRoomReady(true);
|
|
10817
11040
|
const onLeaveRoom = ()=>setRoomReady(false);
|
|
10818
11041
|
const ref = (0, $3Sbms$useRef)(null);
|
|
10819
11042
|
const title = (0, $3Sbms$useMemo)(()=>{
|
|
10820
|
-
if (permissionsState === "refused") return "
|
|
10821
|
-
if (type === "
|
|
10822
|
-
|
|
11043
|
+
if (permissionsState === "refused") return t("recorder.permissionDeniedTitle");
|
|
11044
|
+
if (type === "photo") return t("recorder.photoInstructionsTitle");
|
|
11045
|
+
else if (type === "video") return t("recorder.videoInstructionsTitle");
|
|
11046
|
+
else return t("recorder.screenShareInstructionsTitle");
|
|
10823
11047
|
}, [
|
|
10824
11048
|
permissionsState,
|
|
10825
|
-
type
|
|
11049
|
+
type,
|
|
11050
|
+
t
|
|
10826
11051
|
]);
|
|
10827
11052
|
(0, $3Sbms$useEffect)(()=>{
|
|
10828
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("localVideoAvailable", onDeviceEnabled);
|
|
10829
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("microphoneEnabled", onDeviceEnabled);
|
|
10830
11053
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("enterRoom", onEnterRoom);
|
|
10831
11054
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("leaveRoom", onLeaveRoom);
|
|
10832
11055
|
return ()=>{
|
|
10833
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("localVideoAvailable", onDeviceEnabled);
|
|
10834
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("microphoneEnabled", onDeviceEnabled);
|
|
10835
11056
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("enterRoom", onEnterRoom);
|
|
10836
11057
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("leaveRoom", onLeaveRoom);
|
|
10837
11058
|
};
|
|
@@ -10846,36 +11067,50 @@ const $96999d2514f71e51$export$788cb893d96254c8 = ({ state: state , type: type
|
|
|
10846
11067
|
children: permissionsState === "refused" ? /*#__PURE__*/ (0, $3Sbms$jsx)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
10847
11068
|
fullWidth: true,
|
|
10848
11069
|
onPress: ()=>window.location.reload(),
|
|
10849
|
-
children: "
|
|
11070
|
+
children: t("recorder.allowAccess")
|
|
10850
11071
|
}) : /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Fragment), {
|
|
10851
11072
|
children: permissionsState === "granted" ? /*#__PURE__*/ (0, $3Sbms$jsx)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
10852
11073
|
fullWidth: true,
|
|
10853
11074
|
onPress: state.close,
|
|
10854
|
-
children: "
|
|
11075
|
+
children: t("recorder.okay")
|
|
10855
11076
|
}) : /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
10856
11077
|
fullWidth: true,
|
|
10857
11078
|
isDisabled: permissionsState === "requesting" || isRoomReady === false,
|
|
10858
11079
|
onPress: async ()=>{
|
|
10859
11080
|
setPermissionsState("requesting");
|
|
10860
11081
|
try {
|
|
10861
|
-
|
|
10862
|
-
|
|
10863
|
-
|
|
10864
|
-
|
|
10865
|
-
|
|
10866
|
-
|
|
10867
|
-
|
|
10868
|
-
|
|
10869
|
-
|
|
10870
|
-
|
|
10871
|
-
|
|
10872
|
-
|
|
11082
|
+
if (!deviceState.microphone.enabled) {
|
|
11083
|
+
const mediaResult = await navigator.mediaDevices.getUserMedia({
|
|
11084
|
+
audio: true,
|
|
11085
|
+
video: type !== "screen"
|
|
11086
|
+
});
|
|
11087
|
+
mediaResult.getTracks().forEach((track)=>track.stop());
|
|
11088
|
+
}
|
|
11089
|
+
if (!deviceState.microphone.enabled) await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).enableMicrophone();
|
|
11090
|
+
if (!deviceState.camera.enabled && type !== "screen") {
|
|
11091
|
+
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableScreenshare();
|
|
11092
|
+
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).enableVideo({
|
|
11093
|
+
resolution: "vga",
|
|
11094
|
+
frameRate: 20,
|
|
11095
|
+
facingMode: "environment"
|
|
11096
|
+
});
|
|
11097
|
+
}
|
|
11098
|
+
if (!deviceState.screenshare.enabled && type === "screen") {
|
|
11099
|
+
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableVideo();
|
|
11100
|
+
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).enableScreenshare({
|
|
11101
|
+
audioTransportOption: "mix"
|
|
11102
|
+
});
|
|
11103
|
+
}
|
|
11104
|
+
setPermissionsState("granted");
|
|
11105
|
+
state.close();
|
|
11106
|
+
} catch (error) {
|
|
11107
|
+
console.log("error", error);
|
|
10873
11108
|
setPermissionsState("refused");
|
|
10874
11109
|
}
|
|
10875
11110
|
},
|
|
10876
11111
|
children: [
|
|
10877
11112
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $910dd7d7d872a463$export$2e2bcd8739ae039), {}),
|
|
10878
|
-
"
|
|
11113
|
+
type !== "screen" ? t("recorder.allowCamMicAccess") : t("recorder.allowScreenShareAccess")
|
|
10879
11114
|
]
|
|
10880
11115
|
})
|
|
10881
11116
|
})
|
|
@@ -10887,51 +11122,61 @@ const $96999d2514f71e51$export$788cb893d96254c8 = ({ state: state , type: type
|
|
|
10887
11122
|
className: "flex flex-col gap-[10px]",
|
|
10888
11123
|
ref: ref,
|
|
10889
11124
|
children: permissionsState === "refused" ? /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
10890
|
-
children: "
|
|
11125
|
+
children: t("recorder.permissionDeniedDescription")
|
|
10891
11126
|
}) : /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Fragment), {
|
|
10892
11127
|
children: [
|
|
10893
11128
|
permissionsState !== "granted" && /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
10894
11129
|
index: 1,
|
|
10895
|
-
children: /*#__PURE__*/ (0, $3Sbms$
|
|
10896
|
-
children:
|
|
10897
|
-
|
|
10898
|
-
|
|
10899
|
-
|
|
10900
|
-
|
|
10901
|
-
|
|
10902
|
-
|
|
11130
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11131
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11132
|
+
i18nKey: "recorder.instructions.allowAccessOnPrompt",
|
|
11133
|
+
children: [
|
|
11134
|
+
"When prompted, ",
|
|
11135
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11136
|
+
children: "allow access"
|
|
11137
|
+
}),
|
|
11138
|
+
" to camera and microphone."
|
|
11139
|
+
]
|
|
11140
|
+
})
|
|
10903
11141
|
})
|
|
10904
11142
|
}),
|
|
10905
|
-
type === "
|
|
11143
|
+
type === "photo" && /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Fragment), {
|
|
10906
11144
|
children: [
|
|
10907
11145
|
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
10908
11146
|
index: 1 + permissionsInstructionIndex,
|
|
10909
|
-
children: /*#__PURE__*/ (0, $3Sbms$
|
|
10910
|
-
children:
|
|
10911
|
-
|
|
10912
|
-
|
|
10913
|
-
|
|
10914
|
-
|
|
10915
|
-
|
|
10916
|
-
|
|
10917
|
-
|
|
11147
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11148
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11149
|
+
i18nKey: "recorder.instructions.tapPhotoButton",
|
|
11150
|
+
com: true,
|
|
11151
|
+
children: [
|
|
11152
|
+
"Tap the ",
|
|
11153
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $444e1dd9fa8f6883$export$dce36e07153365d), {}),
|
|
11154
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11155
|
+
children: " Camera button"
|
|
11156
|
+
}),
|
|
11157
|
+
" to take a photo."
|
|
11158
|
+
]
|
|
11159
|
+
})
|
|
10918
11160
|
})
|
|
10919
11161
|
}),
|
|
10920
11162
|
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
10921
11163
|
index: 2 + permissionsInstructionIndex,
|
|
10922
11164
|
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
10923
|
-
children: "
|
|
11165
|
+
children: t("recorder.instructions.multiplePhotos")
|
|
10924
11166
|
})
|
|
10925
11167
|
}),
|
|
10926
11168
|
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
10927
11169
|
index: 3 + permissionsInstructionIndex,
|
|
10928
|
-
children: /*#__PURE__*/ (0, $3Sbms$
|
|
10929
|
-
children:
|
|
10930
|
-
|
|
10931
|
-
|
|
10932
|
-
|
|
10933
|
-
|
|
10934
|
-
|
|
11170
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11171
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11172
|
+
i18nKey: "recorder.instructions.reviewAndSendPhotos",
|
|
11173
|
+
children: [
|
|
11174
|
+
"You can review your photo and then ",
|
|
11175
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11176
|
+
children: "send it when you're done."
|
|
11177
|
+
})
|
|
11178
|
+
]
|
|
11179
|
+
})
|
|
10935
11180
|
})
|
|
10936
11181
|
})
|
|
10937
11182
|
]
|
|
@@ -10940,52 +11185,128 @@ const $96999d2514f71e51$export$788cb893d96254c8 = ({ state: state , type: type
|
|
|
10940
11185
|
children: [
|
|
10941
11186
|
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
10942
11187
|
index: 1 + permissionsInstructionIndex,
|
|
10943
|
-
children: /*#__PURE__*/ (0, $3Sbms$
|
|
10944
|
-
children:
|
|
10945
|
-
|
|
10946
|
-
|
|
10947
|
-
|
|
10948
|
-
|
|
10949
|
-
|
|
10950
|
-
|
|
10951
|
-
|
|
11188
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11189
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11190
|
+
i18nKey: "recorder.instructions.tapVideoButton",
|
|
11191
|
+
children: [
|
|
11192
|
+
"Tap the ",
|
|
11193
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $444e1dd9fa8f6883$export$f9da3144ae2525a3), {}),
|
|
11194
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11195
|
+
children: " Record button"
|
|
11196
|
+
}),
|
|
11197
|
+
" to start a recording."
|
|
11198
|
+
]
|
|
11199
|
+
})
|
|
11200
|
+
})
|
|
11201
|
+
}),
|
|
11202
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
11203
|
+
index: 2 + permissionsInstructionIndex,
|
|
11204
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11205
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11206
|
+
i18nKey: "recorder.instructions.videoSpeech",
|
|
11207
|
+
children: [
|
|
11208
|
+
"You can ",
|
|
11209
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11210
|
+
children: "speak during"
|
|
11211
|
+
}),
|
|
11212
|
+
" the recording for added detail."
|
|
11213
|
+
]
|
|
11214
|
+
})
|
|
11215
|
+
})
|
|
11216
|
+
}),
|
|
11217
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
11218
|
+
index: 3 + permissionsInstructionIndex,
|
|
11219
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11220
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11221
|
+
i18nKey: "recorder.instructions.tapStopVideoButton",
|
|
11222
|
+
children: [
|
|
11223
|
+
"When you're finished, tap the ",
|
|
11224
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $444e1dd9fa8f6883$export$c6a849fd9d9d93a2), {}),
|
|
11225
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11226
|
+
children: " Stop button"
|
|
11227
|
+
}),
|
|
11228
|
+
"."
|
|
11229
|
+
]
|
|
11230
|
+
})
|
|
11231
|
+
})
|
|
11232
|
+
}),
|
|
11233
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
11234
|
+
index: 4 + permissionsInstructionIndex,
|
|
11235
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11236
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11237
|
+
i18nKey: "recorder.instructions.reviewAndSendVideos",
|
|
11238
|
+
children: [
|
|
11239
|
+
"You can review your video and then ",
|
|
11240
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11241
|
+
children: "send it when you're done"
|
|
11242
|
+
}),
|
|
11243
|
+
"."
|
|
11244
|
+
]
|
|
11245
|
+
})
|
|
11246
|
+
})
|
|
11247
|
+
})
|
|
11248
|
+
]
|
|
11249
|
+
}),
|
|
11250
|
+
type === "screen" && /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Fragment), {
|
|
11251
|
+
children: [
|
|
11252
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
11253
|
+
index: 1 + permissionsInstructionIndex,
|
|
11254
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11255
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11256
|
+
i18nKey: "recorder.instructions.tapScreenShareButton",
|
|
11257
|
+
children: [
|
|
11258
|
+
"Tap on",
|
|
11259
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11260
|
+
children: " Record my screen"
|
|
11261
|
+
}),
|
|
11262
|
+
" to start a recording."
|
|
11263
|
+
]
|
|
11264
|
+
})
|
|
10952
11265
|
})
|
|
10953
11266
|
}),
|
|
10954
11267
|
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
10955
11268
|
index: 2 + permissionsInstructionIndex,
|
|
10956
|
-
children: /*#__PURE__*/ (0, $3Sbms$
|
|
10957
|
-
children:
|
|
10958
|
-
|
|
10959
|
-
|
|
10960
|
-
|
|
10961
|
-
|
|
10962
|
-
|
|
10963
|
-
|
|
11269
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11270
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11271
|
+
i18nKey: "recorder.instructions.videoSpeech",
|
|
11272
|
+
children: [
|
|
11273
|
+
"You can ",
|
|
11274
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11275
|
+
children: "speak during"
|
|
11276
|
+
}),
|
|
11277
|
+
" the recording for added detail."
|
|
11278
|
+
]
|
|
11279
|
+
})
|
|
10964
11280
|
})
|
|
10965
11281
|
}),
|
|
10966
11282
|
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
10967
11283
|
index: 3 + permissionsInstructionIndex,
|
|
10968
|
-
children: /*#__PURE__*/ (0, $3Sbms$
|
|
10969
|
-
children:
|
|
10970
|
-
|
|
10971
|
-
|
|
10972
|
-
|
|
10973
|
-
|
|
10974
|
-
|
|
10975
|
-
|
|
10976
|
-
|
|
11284
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11285
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11286
|
+
i18nKey: "recorder.instructions.tapStopScreenShareButton",
|
|
11287
|
+
children: [
|
|
11288
|
+
"When you're finished, tap on ",
|
|
11289
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11290
|
+
children: "Stop recording"
|
|
11291
|
+
}),
|
|
11292
|
+
"."
|
|
11293
|
+
]
|
|
11294
|
+
})
|
|
10977
11295
|
})
|
|
10978
11296
|
}),
|
|
10979
11297
|
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$InstructionRow, {
|
|
10980
11298
|
index: 4 + permissionsInstructionIndex,
|
|
10981
|
-
children: /*#__PURE__*/ (0, $3Sbms$
|
|
10982
|
-
children:
|
|
10983
|
-
|
|
10984
|
-
|
|
10985
|
-
|
|
10986
|
-
|
|
10987
|
-
|
|
10988
|
-
|
|
11299
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
|
|
11300
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
|
|
11301
|
+
i18nKey: "recorder.instructions.reviewAnsSendScreenShare",
|
|
11302
|
+
children: [
|
|
11303
|
+
"You can review your video and then ",
|
|
11304
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
|
|
11305
|
+
children: "send it when you're done"
|
|
11306
|
+
}),
|
|
11307
|
+
"."
|
|
11308
|
+
]
|
|
11309
|
+
})
|
|
10989
11310
|
})
|
|
10990
11311
|
})
|
|
10991
11312
|
]
|
|
@@ -11017,7 +11338,9 @@ const $96999d2514f71e51$export$788cb893d96254c8 = ({ state: state , type: type
|
|
|
11017
11338
|
|
|
11018
11339
|
|
|
11019
11340
|
|
|
11341
|
+
|
|
11020
11342
|
const $1c8fc500105e5c78$export$f9d8408fefd786da = ({ state: state , setReady: setReady })=>{
|
|
11343
|
+
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
11021
11344
|
const QRCodeRef = (0, $3Sbms$useRef)(null);
|
|
11022
11345
|
const { options: options } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
11023
11346
|
const [QRCodeContainerRef, { width: QRCodeContainerWidth }] = (0, $af23c74942bdcae7$export$e295b0c537d32d7d)();
|
|
@@ -11034,8 +11357,8 @@ const $1c8fc500105e5c78$export$f9d8408fefd786da = ({ state: state , setReady: se
|
|
|
11034
11357
|
]);
|
|
11035
11358
|
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $c0bb66c3d546ed81$export$2b77a92f1a5ad772), {
|
|
11036
11359
|
centered: true,
|
|
11037
|
-
title: "
|
|
11038
|
-
description: "
|
|
11360
|
+
title: t("recorder.switchToMobileTitle"),
|
|
11361
|
+
description: t("recorder.switchToMobileDescription"),
|
|
11039
11362
|
isDismissable: false,
|
|
11040
11363
|
state: state,
|
|
11041
11364
|
primaryAction: ()=>/*#__PURE__*/ (0, $3Sbms$jsx)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
@@ -11044,7 +11367,7 @@ const $1c8fc500105e5c78$export$f9d8408fefd786da = ({ state: state , setReady: se
|
|
|
11044
11367
|
setReady(true);
|
|
11045
11368
|
state.close();
|
|
11046
11369
|
},
|
|
11047
|
-
children: "
|
|
11370
|
+
children: t("recorder.useDesktopVersion")
|
|
11048
11371
|
}),
|
|
11049
11372
|
children: /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11050
11373
|
className: "flex flex-col gap-[20px]",
|
|
@@ -11064,7 +11387,7 @@ const $1c8fc500105e5c78$export$f9d8408fefd786da = ({ state: state , setReady: se
|
|
|
11064
11387
|
}),
|
|
11065
11388
|
/*#__PURE__*/ (0, $3Sbms$jsx)("p", {
|
|
11066
11389
|
className: "flex items-center justify-center text-xs text-primaryLight text-center",
|
|
11067
|
-
children: "
|
|
11390
|
+
children: t("recorder.scanQRCode")
|
|
11068
11391
|
})
|
|
11069
11392
|
]
|
|
11070
11393
|
})
|
|
@@ -11075,29 +11398,21 @@ const $1c8fc500105e5c78$export$f9d8408fefd786da = ({ state: state , setReady: se
|
|
|
11075
11398
|
function $d48329960b5b412c$export$fc3bf4634b488af8({ mode: mode }) {
|
|
11076
11399
|
const { orientation: orientation } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
11077
11400
|
const desktop = orientation === "landscape";
|
|
11078
|
-
const [ready, setReady] = (0, $3Sbms$useState)(!desktop);
|
|
11401
|
+
const [ready, setReady] = (0, $3Sbms$useState)(mode === "screen" || !desktop);
|
|
11402
|
+
const [isInstructionsModalOpen, setIsInstructionsModalOpen] = (0, $3Sbms$useState)(ready);
|
|
11403
|
+
const modalState = (0, $3Sbms$useOverlayTriggerState)({
|
|
11404
|
+
isOpen: isInstructionsModalOpen && ready,
|
|
11405
|
+
onOpenChange: setIsInstructionsModalOpen
|
|
11406
|
+
});
|
|
11079
11407
|
(0, $3Sbms$useEffect)(()=>{
|
|
11080
|
-
|
|
11081
|
-
setIsPhotoInstructionsModalOpen(mode === "photo" && ready);
|
|
11082
|
-
setIsVideoInstructionsModalOpen(mode === "video" && ready);
|
|
11083
|
-
}
|
|
11408
|
+
setIsInstructionsModalOpen(true);
|
|
11084
11409
|
}, [
|
|
11085
11410
|
ready,
|
|
11086
11411
|
mode
|
|
11087
11412
|
]);
|
|
11088
|
-
const [isPhotoInstructionsModalOpen, setIsPhotoInstructionsModalOpen] = (0, $3Sbms$useState)(mode === "photo" && ready);
|
|
11089
|
-
const [isVideoInstructionsModalOpen, setIsVideoInstructionsModalOpen] = (0, $3Sbms$useState)(mode === "video" && ready);
|
|
11090
|
-
const photoInstructionsModalState = (0, $3Sbms$useOverlayTriggerState)({
|
|
11091
|
-
isOpen: isPhotoInstructionsModalOpen,
|
|
11092
|
-
onOpenChange: setIsPhotoInstructionsModalOpen
|
|
11093
|
-
});
|
|
11094
|
-
const videoInstructionsModalState = (0, $3Sbms$useOverlayTriggerState)({
|
|
11095
|
-
isOpen: isVideoInstructionsModalOpen,
|
|
11096
|
-
onOpenChange: setIsVideoInstructionsModalOpen
|
|
11097
|
-
});
|
|
11098
11413
|
return {
|
|
11099
|
-
|
|
11100
|
-
|
|
11414
|
+
mode: mode,
|
|
11415
|
+
modalState: modalState,
|
|
11101
11416
|
ready: ready,
|
|
11102
11417
|
setReady: setReady
|
|
11103
11418
|
};
|
|
@@ -11111,12 +11426,8 @@ const $d48329960b5b412c$export$bee10e8ab511933f = ({ state: state })=>{
|
|
|
11111
11426
|
return /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Fragment), {
|
|
11112
11427
|
children: [
|
|
11113
11428
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $96999d2514f71e51$export$788cb893d96254c8), {
|
|
11114
|
-
state: state.
|
|
11115
|
-
type:
|
|
11116
|
-
}),
|
|
11117
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $96999d2514f71e51$export$788cb893d96254c8), {
|
|
11118
|
-
state: state.videoInstructionsModalState,
|
|
11119
|
-
type: "video"
|
|
11429
|
+
state: state.modalState,
|
|
11430
|
+
type: state.mode
|
|
11120
11431
|
}),
|
|
11121
11432
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $1c8fc500105e5c78$export$f9d8408fefd786da), {
|
|
11122
11433
|
state: switchToMobileModalState,
|
|
@@ -11127,22 +11438,54 @@ const $d48329960b5b412c$export$bee10e8ab511933f = ({ state: state })=>{
|
|
|
11127
11438
|
};
|
|
11128
11439
|
|
|
11129
11440
|
|
|
11130
|
-
|
|
11131
|
-
|
|
11441
|
+
|
|
11442
|
+
|
|
11443
|
+
|
|
11444
|
+
const $39932392769664d0$export$4e594bceac139abd = (props)=>{
|
|
11445
|
+
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
11446
|
+
return /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11447
|
+
className: (0, $3Sbms$classnames)("flex rounded-full h-[40px] p-[10px] border-2 border-white text-white justify-center items-center align-middle", "font-semibold", "cursor-pointer", {
|
|
11448
|
+
"bg-[#f12828]": !props.state.streaming
|
|
11449
|
+
}),
|
|
11450
|
+
onClick: ()=>props.onCapturePress(),
|
|
11451
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11452
|
+
children: props.state.streaming ? t("recorder.stopScreenShareButton") : t("recorder.startScreenShareButton")
|
|
11453
|
+
})
|
|
11454
|
+
});
|
|
11455
|
+
};
|
|
11456
|
+
const $39932392769664d0$export$f9da3144ae2525a3 = (props)=>{
|
|
11457
|
+
return /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11458
|
+
className: (0, $3Sbms$classnames)("bg-white rounded-full w-[72px] h-[72px] p-[3px]"),
|
|
11459
|
+
onClick: ()=>props.onCapturePress(),
|
|
11460
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11461
|
+
className: "bg-primary rounded-full w-full h-full p-[3px] flex items-center justify-center cursor-pointer",
|
|
11462
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11463
|
+
className: (0, $3Sbms$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]")
|
|
11464
|
+
})
|
|
11465
|
+
})
|
|
11466
|
+
});
|
|
11467
|
+
};
|
|
11468
|
+
|
|
11469
|
+
|
|
11470
|
+
function $a94f21ef9007b90a$export$bd7b6af6aa16550c({ state: state = "photo" }) {
|
|
11471
|
+
const [currentMode, setMode] = (0, $3Sbms$useState)(state);
|
|
11132
11472
|
const [streaming, setStreaming] = (0, $3Sbms$useState)(false);
|
|
11133
11473
|
return {
|
|
11134
|
-
|
|
11135
|
-
|
|
11474
|
+
mode: currentMode,
|
|
11475
|
+
setMode: (mode)=>{
|
|
11476
|
+
setMode(mode);
|
|
11477
|
+
},
|
|
11136
11478
|
streaming: streaming,
|
|
11137
11479
|
setStreaming: setStreaming
|
|
11138
11480
|
};
|
|
11139
11481
|
}
|
|
11140
11482
|
const $a94f21ef9007b90a$export$11a6fe490bbc4873 = (props)=>{
|
|
11483
|
+
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
11141
11484
|
const setupModalsState = (0, $d48329960b5b412c$export$fc3bf4634b488af8)({
|
|
11142
|
-
mode: props.state.
|
|
11485
|
+
mode: props.state.mode
|
|
11143
11486
|
});
|
|
11144
11487
|
return /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11145
|
-
className: "flex flex-col bg-primary h-[150px] w-full max-w-[
|
|
11488
|
+
className: "flex flex-col bg-primary h-[150px] w-full max-w-[500px] rounded-[15px] p-2.5 gap-2.5",
|
|
11146
11489
|
children: [
|
|
11147
11490
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $d48329960b5b412c$export$bee10e8ab511933f), {
|
|
11148
11491
|
state: setupModalsState
|
|
@@ -11163,25 +11506,39 @@ const $a94f21ef9007b90a$export$11a6fe490bbc4873 = (props)=>{
|
|
|
11163
11506
|
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11164
11507
|
className: "flex flex-row justify-end flex-auto items-center gap-[10px] ",
|
|
11165
11508
|
children: [
|
|
11166
|
-
/*#__PURE__*/ (0, $3Sbms$
|
|
11167
|
-
|
|
11168
|
-
|
|
11169
|
-
|
|
11170
|
-
|
|
11171
|
-
|
|
11172
|
-
|
|
11173
|
-
|
|
11174
|
-
|
|
11509
|
+
props.state.mode !== "screen" && /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Fragment), {
|
|
11510
|
+
children: [
|
|
11511
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $5a48b7481979330f$export$d2b052e7b4be1756), {
|
|
11512
|
+
onPress: ()=>{
|
|
11513
|
+
if (!props.state.streaming) {
|
|
11514
|
+
props.state.setMode("photo");
|
|
11515
|
+
setupModalsState.modalState.open();
|
|
11516
|
+
}
|
|
11517
|
+
},
|
|
11518
|
+
isSelected: props.state.mode === "photo",
|
|
11519
|
+
children: t("misc.photo")
|
|
11520
|
+
}),
|
|
11521
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $5a48b7481979330f$export$d2b052e7b4be1756), {
|
|
11522
|
+
onPress: ()=>{
|
|
11523
|
+
if (!props.state.streaming) {
|
|
11524
|
+
props.state.setMode("video");
|
|
11525
|
+
setupModalsState.modalState.open();
|
|
11526
|
+
}
|
|
11527
|
+
},
|
|
11528
|
+
isSelected: props.state.mode === "video",
|
|
11529
|
+
children: t("misc.video")
|
|
11530
|
+
})
|
|
11531
|
+
]
|
|
11175
11532
|
}),
|
|
11176
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $5a48b7481979330f$export$d2b052e7b4be1756), {
|
|
11533
|
+
props.state.mode === "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $5a48b7481979330f$export$d2b052e7b4be1756), {
|
|
11177
11534
|
onPress: ()=>{
|
|
11178
11535
|
if (!props.state.streaming) {
|
|
11179
|
-
props.state.
|
|
11180
|
-
setupModalsState.
|
|
11536
|
+
props.state.setMode("screen");
|
|
11537
|
+
setupModalsState.modalState.open();
|
|
11181
11538
|
}
|
|
11182
11539
|
},
|
|
11183
|
-
isSelected:
|
|
11184
|
-
children: "
|
|
11540
|
+
isSelected: props.state.mode === "screen",
|
|
11541
|
+
children: t("misc.screen")
|
|
11185
11542
|
})
|
|
11186
11543
|
]
|
|
11187
11544
|
})
|
|
@@ -11194,20 +11551,18 @@ const $a94f21ef9007b90a$export$11a6fe490bbc4873 = (props)=>{
|
|
|
11194
11551
|
className: "w-[60px] h-[60px]",
|
|
11195
11552
|
children: props.thumbnail
|
|
11196
11553
|
}),
|
|
11197
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)(
|
|
11198
|
-
|
|
11199
|
-
|
|
11200
|
-
|
|
11201
|
-
|
|
11202
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11203
|
-
className: (0, $3Sbms$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]")
|
|
11204
|
-
})
|
|
11205
|
-
})
|
|
11554
|
+
props.state.mode === "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $39932392769664d0$export$4e594bceac139abd), {
|
|
11555
|
+
...props
|
|
11556
|
+
}),
|
|
11557
|
+
props.state.mode !== "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $39932392769664d0$export$f9da3144ae2525a3), {
|
|
11558
|
+
...props
|
|
11206
11559
|
}),
|
|
11207
11560
|
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11208
11561
|
onClick: props.onSwitch,
|
|
11209
|
-
className: "
|
|
11210
|
-
|
|
11562
|
+
className: (0, $3Sbms$classnames)("rounded-full w-[56px] h-[56px] flex items-center justify-center", {
|
|
11563
|
+
"bg-[#565656] cursor-pointer": props.state.mode !== "screen"
|
|
11564
|
+
}),
|
|
11565
|
+
children: props.state.mode !== "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $58d405d56c1abe95$export$aefffb14595958fe), {})
|
|
11211
11566
|
})
|
|
11212
11567
|
]
|
|
11213
11568
|
})
|
|
@@ -11227,18 +11582,19 @@ const $a94f21ef9007b90a$export$11a6fe490bbc4873 = (props)=>{
|
|
|
11227
11582
|
|
|
11228
11583
|
|
|
11229
11584
|
|
|
11585
|
+
|
|
11230
11586
|
function $38cdd553fb158eaa$export$4589ed81930b555c(props) {
|
|
11231
11587
|
const { children: children , state: state } = props;
|
|
11232
11588
|
const ref = (0, $3Sbms$react).useRef(null);
|
|
11233
11589
|
const { orientation: orientation } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
11234
|
-
const { modalProps: modalProps , underlayProps: underlayProps } = (0, $3Sbms$
|
|
11590
|
+
const { modalProps: modalProps , underlayProps: underlayProps } = (0, $3Sbms$useModalOverlay1)(props, state, ref);
|
|
11235
11591
|
const [exited, setExited] = (0, $3Sbms$useState)(!state.isOpen);
|
|
11236
11592
|
const viewport = (0, $3Sbms$useViewportSize)();
|
|
11237
11593
|
const maxHeight = viewport.height - 64;
|
|
11238
11594
|
const desktop = orientation === "landscape";
|
|
11239
11595
|
// Don't render anything if the modal is not open and we're not animating out.
|
|
11240
11596
|
if (!(state.isOpen || !exited)) return null;
|
|
11241
|
-
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$
|
|
11597
|
+
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Overlay1), {
|
|
11242
11598
|
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$CSSTransition), {
|
|
11243
11599
|
in: state.isOpen,
|
|
11244
11600
|
appear: true,
|
|
@@ -11294,6 +11650,8 @@ function $38cdd553fb158eaa$export$4589ed81930b555c(props) {
|
|
|
11294
11650
|
|
|
11295
11651
|
|
|
11296
11652
|
|
|
11653
|
+
|
|
11654
|
+
|
|
11297
11655
|
const $4425c0dfad3f82bb$export$480db61f4dcd7727 = ()=>/*#__PURE__*/ (0, $3Sbms$jsx)("svg", {
|
|
11298
11656
|
width: "12",
|
|
11299
11657
|
height: "15",
|
|
@@ -11350,26 +11708,61 @@ const $a879d6bc7f43b0c5$export$28e1ba20e0688eb7 = ()=>/*#__PURE__*/ (0, $3Sbms$j
|
|
|
11350
11708
|
});
|
|
11351
11709
|
|
|
11352
11710
|
|
|
11353
|
-
|
|
11354
|
-
|
|
11355
|
-
|
|
11356
|
-
const $
|
|
11357
|
-
|
|
11358
|
-
|
|
11359
|
-
|
|
11360
|
-
|
|
11361
|
-
|
|
11362
|
-
|
|
11363
|
-
|
|
11711
|
+
|
|
11712
|
+
|
|
11713
|
+
|
|
11714
|
+
const $a4b1c68ef470f35c$export$f56b3b5841ad32ae = ({ asset: asset , state: state })=>{
|
|
11715
|
+
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $91e337bf8187124b$export$a703eb468fcf7e69), {
|
|
11716
|
+
state: state,
|
|
11717
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11718
|
+
className: "flex flex-col items-center w-screen h-screen p-[15px] gap-[10px]",
|
|
11719
|
+
children: [
|
|
11720
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11721
|
+
className: "flex items-center max-w-[400px] w-full h-full",
|
|
11722
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11723
|
+
className: "min-w-full rounded-[10px] overflow-hidden",
|
|
11724
|
+
children: [
|
|
11725
|
+
asset.type === "picture" && /*#__PURE__*/ (0, $3Sbms$jsx)("img", {
|
|
11726
|
+
src: asset.objectUrl,
|
|
11727
|
+
alt: `Asset-${asset.assetId}`,
|
|
11728
|
+
className: "object-fill"
|
|
11729
|
+
}),
|
|
11730
|
+
asset.type === "video" && /*#__PURE__*/ (0, $3Sbms$jsx)("video", {
|
|
11731
|
+
src: asset.objectUrl,
|
|
11732
|
+
playsInline: true,
|
|
11733
|
+
autoPlay: true,
|
|
11734
|
+
controls: true
|
|
11735
|
+
})
|
|
11736
|
+
]
|
|
11737
|
+
})
|
|
11738
|
+
}),
|
|
11739
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11740
|
+
className: "max-w-[135px] w-1/3",
|
|
11741
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
11742
|
+
onPress: state.close,
|
|
11743
|
+
variant: "tertiary",
|
|
11744
|
+
size: "large",
|
|
11745
|
+
fullWidth: true,
|
|
11746
|
+
children: "Close"
|
|
11747
|
+
})
|
|
11748
|
+
})
|
|
11749
|
+
]
|
|
11750
|
+
})
|
|
11751
|
+
});
|
|
11752
|
+
};
|
|
11753
|
+
|
|
11754
|
+
|
|
11364
11755
|
const $77fb06ba253d6f7c$export$c9169049516d8bcf = ({ asset: asset , index: index , removeAsset: removeAsset })=>{
|
|
11756
|
+
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
11365
11757
|
const confirmRemovalModalState = (0, $3Sbms$useOverlayTriggerState)({});
|
|
11758
|
+
const previewAssetModalProps = (0, $3Sbms$useOverlayTriggerState)({});
|
|
11366
11759
|
return /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11367
11760
|
className: "flex flex-row justify-between items-center",
|
|
11368
11761
|
children: [
|
|
11369
11762
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $c0bb66c3d546ed81$export$2b77a92f1a5ad772), {
|
|
11370
|
-
title: "
|
|
11763
|
+
title: t("recorder.confirmRemovalTitle"),
|
|
11371
11764
|
state: confirmRemovalModalState,
|
|
11372
|
-
description: "
|
|
11765
|
+
description: t("recorder.confirmRemovalDescription"),
|
|
11373
11766
|
primaryAction: ({ close: close })=>/*#__PURE__*/ (0, $3Sbms$jsxs)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
11374
11767
|
onPress: async ()=>{
|
|
11375
11768
|
await removeAsset(asset);
|
|
@@ -11377,29 +11770,34 @@ const $77fb06ba253d6f7c$export$c9169049516d8bcf = ({ asset: asset , index: index
|
|
|
11377
11770
|
},
|
|
11378
11771
|
children: [
|
|
11379
11772
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $a879d6bc7f43b0c5$export$28e1ba20e0688eb7), {}),
|
|
11380
|
-
"
|
|
11773
|
+
t("misc.confirm")
|
|
11381
11774
|
]
|
|
11382
11775
|
}),
|
|
11383
|
-
secondaryAction: "
|
|
11776
|
+
secondaryAction: t("misc.cancel")
|
|
11384
11777
|
}),
|
|
11385
11778
|
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11386
11779
|
className: "flex flex-row gap-[10px] items-center",
|
|
11387
11780
|
children: [
|
|
11388
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $
|
|
11781
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $a4b1c68ef470f35c$export$f56b3b5841ad32ae), {
|
|
11782
|
+
state: previewAssetModalProps,
|
|
11389
11783
|
asset: asset
|
|
11390
11784
|
}),
|
|
11785
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $c7542aa0d9bb5f39$export$1cd1efc78cb52ca5), {
|
|
11786
|
+
asset: asset,
|
|
11787
|
+
onClick: previewAssetModalProps.open
|
|
11788
|
+
}),
|
|
11391
11789
|
/*#__PURE__*/ (0, $3Sbms$jsxs)("span", {
|
|
11392
11790
|
className: "text-sm",
|
|
11393
11791
|
style: {
|
|
11394
11792
|
hyphens: "manual"
|
|
11395
11793
|
},
|
|
11396
11794
|
children: [
|
|
11397
|
-
asset.type === "picture" ? "
|
|
11795
|
+
asset.type === "picture" ? t("misc.photo") : t("misc.video"),
|
|
11398
11796
|
" ",
|
|
11399
11797
|
index + 1,
|
|
11400
11798
|
" \xb7",
|
|
11401
11799
|
" ",
|
|
11402
|
-
$
|
|
11800
|
+
(0, $92672d57809ea9d3$export$3ae94a2503e890a1)(new Date(asset.timestamp))
|
|
11403
11801
|
]
|
|
11404
11802
|
})
|
|
11405
11803
|
]
|
|
@@ -11407,7 +11805,7 @@ const $77fb06ba253d6f7c$export$c9169049516d8bcf = ({ asset: asset , index: index
|
|
|
11407
11805
|
/*#__PURE__*/ (0, $3Sbms$jsx)("span", {
|
|
11408
11806
|
className: "text-xs font-bold underline cursor-pointer ml-[10px]",
|
|
11409
11807
|
onClick: confirmRemovalModalState.open,
|
|
11410
|
-
children: "
|
|
11808
|
+
children: t("misc.remove")
|
|
11411
11809
|
})
|
|
11412
11810
|
]
|
|
11413
11811
|
}, asset.assetId);
|
|
@@ -11490,6 +11888,7 @@ const $7436fc0a14c16764$export$4fa52f68b1c78fbf = ()=>/*#__PURE__*/ (0, $3Sbms$j
|
|
|
11490
11888
|
|
|
11491
11889
|
|
|
11492
11890
|
const $d4d374dc7955cc18$export$5c334f209b1aa661 = ({ assets: assets , state: state , onSendAssets: onSendAssets , removeAsset: removeAsset , loading: loading })=>{
|
|
11891
|
+
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
11493
11892
|
const ref = (0, $3Sbms$useRef)(null);
|
|
11494
11893
|
const [assetKind, setAssetKind] = (0, $3Sbms$useState)(assets[assets.length - 1]?.type === "picture" ? "photo" : "video");
|
|
11495
11894
|
const { orientation: orientation } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
@@ -11517,7 +11916,7 @@ const $d4d374dc7955cc18$export$5c334f209b1aa661 = ({ assets: assets , state: sta
|
|
|
11517
11916
|
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11518
11917
|
className: (0, $3Sbms$classnames)("fixed justify-center w-screen h-screen top-0 left-0 bg-black z-[1]", state.isOpen ? "flex" : "hidden"),
|
|
11519
11918
|
children: loading && /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11520
|
-
className: (0, $3Sbms$classnames)("flex mt-[50px] h-fit opacity-1", desktop ? "flex-row items-center w-[
|
|
11919
|
+
className: (0, $3Sbms$classnames)("flex mt-[50px] h-fit opacity-1", desktop ? "flex-row items-center w-[450px]" : "flex-col items-center text-center w-[320px]"),
|
|
11521
11920
|
children: [
|
|
11522
11921
|
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11523
11922
|
className: "w-[24px] h-[24px] m-[10px]",
|
|
@@ -11526,10 +11925,10 @@ const $d4d374dc7955cc18$export$5c334f209b1aa661 = ({ assets: assets , state: sta
|
|
|
11526
11925
|
/*#__PURE__*/ (0, $3Sbms$jsxs)("span", {
|
|
11527
11926
|
className: "text-sm text-white",
|
|
11528
11927
|
children: [
|
|
11529
|
-
"
|
|
11530
|
-
|
|
11531
|
-
|
|
11532
|
-
loading === "video"
|
|
11928
|
+
t("recorder.elementBeingProcessed", {
|
|
11929
|
+
type: loading === "picture" ? t("misc.photo").toLocaleLowerCase() : t("misc.video").toLocaleLowerCase()
|
|
11930
|
+
}),
|
|
11931
|
+
loading === "video" && t("recorder.waitVideo")
|
|
11533
11932
|
]
|
|
11534
11933
|
})
|
|
11535
11934
|
]
|
|
@@ -11548,12 +11947,11 @@ const $d4d374dc7955cc18$export$5c334f209b1aa661 = ({ assets: assets , state: sta
|
|
|
11548
11947
|
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11549
11948
|
className: "flex flex-row justify-between p-[12px]",
|
|
11550
11949
|
children: [
|
|
11551
|
-
/*#__PURE__*/ (0, $3Sbms$
|
|
11950
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("h1", {
|
|
11552
11951
|
className: "text-lg first-letter:capitalize",
|
|
11553
|
-
children:
|
|
11554
|
-
assetKind
|
|
11555
|
-
|
|
11556
|
-
]
|
|
11952
|
+
children: t("recorder.elementCaptureSuccess", {
|
|
11953
|
+
type: t(`misc.${assetKind}`)
|
|
11954
|
+
})
|
|
11557
11955
|
}),
|
|
11558
11956
|
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11559
11957
|
className: "flex justify-center items-center rounded-full bg-[#f3f3f3] h-[30px] w-[30px] cursor-pointer",
|
|
@@ -11572,23 +11970,23 @@ const $d4d374dc7955cc18$export$5c334f209b1aa661 = ({ assets: assets , state: sta
|
|
|
11572
11970
|
index: index,
|
|
11573
11971
|
removeAsset: removeAsset
|
|
11574
11972
|
}, asset.assetId)),
|
|
11575
|
-
/*#__PURE__*/ (0, $3Sbms$
|
|
11973
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
11576
11974
|
variant: "secondary",
|
|
11577
11975
|
onPress: state.close,
|
|
11578
|
-
children:
|
|
11579
|
-
|
|
11580
|
-
|
|
11581
|
-
]
|
|
11976
|
+
children: t("recorder.takeNewElement", {
|
|
11977
|
+
type: t(`misc.${assetKind}`).toLocaleLowerCase()
|
|
11978
|
+
})
|
|
11582
11979
|
}),
|
|
11583
|
-
/*#__PURE__*/ (0, $3Sbms$
|
|
11980
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $0590ee3141e14968$export$353f5b6fc5456de1), {
|
|
11584
11981
|
onPress: ()=>{
|
|
11585
11982
|
onSendAssets();
|
|
11586
11983
|
state.close();
|
|
11587
11984
|
},
|
|
11588
|
-
children:
|
|
11589
|
-
|
|
11590
|
-
|
|
11591
|
-
|
|
11985
|
+
children: assets.length > 1 ? t("recorder.sendElements", {
|
|
11986
|
+
count: assets.length
|
|
11987
|
+
}) : t("recorder.sendElement", {
|
|
11988
|
+
type: t(`misc.${assetKind}`).toLocaleLowerCase()
|
|
11989
|
+
})
|
|
11592
11990
|
})
|
|
11593
11991
|
]
|
|
11594
11992
|
})
|
|
@@ -11636,7 +12034,18 @@ const $92672d57809ea9d3$var$timerText = (delta)=>{
|
|
|
11636
12034
|
].map((n)=>`${n < 10 ? "0" : ""}${n}`);
|
|
11637
12035
|
return d.join(":");
|
|
11638
12036
|
};
|
|
12037
|
+
const $92672d57809ea9d3$var$dateFormat = new Intl.DateTimeFormat("default", {
|
|
12038
|
+
dateStyle: "short"
|
|
12039
|
+
});
|
|
12040
|
+
const $92672d57809ea9d3$var$timeFormat = new Intl.DateTimeFormat("default", {
|
|
12041
|
+
hour: "numeric",
|
|
12042
|
+
minute: "2-digit"
|
|
12043
|
+
});
|
|
12044
|
+
function $92672d57809ea9d3$export$3ae94a2503e890a1(date) {
|
|
12045
|
+
return `${$92672d57809ea9d3$var$dateFormat.format(date)} at ${$92672d57809ea9d3$var$timeFormat.format(date)}`;
|
|
12046
|
+
}
|
|
11639
12047
|
const $92672d57809ea9d3$export$336a011955157f9a = ()=>{
|
|
12048
|
+
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
11640
12049
|
const { options: options } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
11641
12050
|
const [startRecordTime, setStartRecordTime] = (0, $3Sbms$useState)(undefined);
|
|
11642
12051
|
const [timer, setTimer] = (0, $3Sbms$useState)(0);
|
|
@@ -11653,7 +12062,7 @@ const $92672d57809ea9d3$export$336a011955157f9a = ()=>{
|
|
|
11653
12062
|
const sendAssetsModalState = (0, $3Sbms$useOverlayTriggerState)({});
|
|
11654
12063
|
const [flashAnimation, setFlashAnimation] = (0, $3Sbms$useState)(false);
|
|
11655
12064
|
const menuBarState = (0, $a94f21ef9007b90a$export$bd7b6af6aa16550c)({
|
|
11656
|
-
|
|
12065
|
+
state: options?.recorder?.defaultState || "photo"
|
|
11657
12066
|
});
|
|
11658
12067
|
const exitStreaming = (0, $3Sbms$useCallback)(()=>{
|
|
11659
12068
|
menuBarState.setStreaming(false);
|
|
@@ -11668,6 +12077,10 @@ const $92672d57809ea9d3$export$336a011955157f9a = ()=>{
|
|
|
11668
12077
|
const { facingMode: newFacingMode } = (0, $c9e496369b59be7a$export$2f377c2162fd02b2).requestLocalVideo(videoElementRef?.current);
|
|
11669
12078
|
setFacingMode(newFacingMode);
|
|
11670
12079
|
};
|
|
12080
|
+
const onScreenshareEnabled = (event)=>{
|
|
12081
|
+
if (!videoElementRef.current) return;
|
|
12082
|
+
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).requestLocalScreenshare(videoElementRef.current);
|
|
12083
|
+
};
|
|
11671
12084
|
const onStopRecord = (0, $3Sbms$useCallback)((event)=>{
|
|
11672
12085
|
const { url: url , assetId: assetId } = event.detail;
|
|
11673
12086
|
exitStreaming();
|
|
@@ -11731,10 +12144,12 @@ const $92672d57809ea9d3$export$336a011955157f9a = ()=>{
|
|
|
11731
12144
|
]);
|
|
11732
12145
|
(0, $3Sbms$useEffect)(()=>{
|
|
11733
12146
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("localVideoAvailable", onLocalVideoChange);
|
|
12147
|
+
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("screenshareEnabled", onScreenshareEnabled);
|
|
11734
12148
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("localVideoChange", onLocalVideoChange);
|
|
11735
12149
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("recordStopped", onStopRecord);
|
|
11736
12150
|
return ()=>{
|
|
11737
12151
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("localVideoChange", onLocalVideoChange);
|
|
12152
|
+
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("screenshareEnabled", onScreenshareEnabled);
|
|
11738
12153
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("localVideoAvailable", onLocalVideoChange);
|
|
11739
12154
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("recordStopped", onStopRecord);
|
|
11740
12155
|
};
|
|
@@ -11742,16 +12157,18 @@ const $92672d57809ea9d3$export$336a011955157f9a = ()=>{
|
|
|
11742
12157
|
onStopRecord
|
|
11743
12158
|
]);
|
|
11744
12159
|
return /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11745
|
-
className: "bg-[#000] w-full h-full justify-center flex flex-col antialiased inter",
|
|
12160
|
+
className: (0, $3Sbms$classnames)("bg-[#000] w-full h-full justify-center flex flex-col antialiased inter", {
|
|
12161
|
+
"bg-[url('https://cdn.snapcall.io/img/assist/gradient-bg.jpg')] bg-cover": menuBarState.mode === "screen"
|
|
12162
|
+
}),
|
|
11746
12163
|
children: [
|
|
11747
|
-
|
|
12164
|
+
(menuBarState.mode === "video" || menuBarState.mode === "screen" && menuBarState.streaming) && /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11748
12165
|
className: "text-base text-white text-center font-medium pt-2.5",
|
|
11749
12166
|
children: $92672d57809ea9d3$var$timerText(timer)
|
|
11750
12167
|
}),
|
|
11751
12168
|
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11752
|
-
className: "flex-1 min-h-0 p-2.5",
|
|
12169
|
+
className: "flex-1 min-h-0 p-2.5 ",
|
|
11753
12170
|
children: /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
11754
|
-
className: "relative w-full h-full rounded-[10px]",
|
|
12171
|
+
className: "relative w-full h-full rounded-[10px] ",
|
|
11755
12172
|
children: [
|
|
11756
12173
|
countdownVisible && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $db82628e5503d51b$export$53819c0e58f98d49), {
|
|
11757
12174
|
initialValue: 3,
|
|
@@ -11769,7 +12186,20 @@ const $92672d57809ea9d3$export$336a011955157f9a = ()=>{
|
|
|
11769
12186
|
assetsPopupState.open();
|
|
11770
12187
|
}
|
|
11771
12188
|
}),
|
|
11772
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("
|
|
12189
|
+
menuBarState.mode === "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
12190
|
+
className: "object-fit h-full",
|
|
12191
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)("video", {
|
|
12192
|
+
autoPlay: true,
|
|
12193
|
+
muted: true,
|
|
12194
|
+
playsInline: true,
|
|
12195
|
+
ref: videoElementRef,
|
|
12196
|
+
className: (0, $3Sbms$classnames)("w-full h-full rounded-[inherit]", {
|
|
12197
|
+
"scale-x-[-1]": facingMode === "user" && menuBarState.mode !== "screen",
|
|
12198
|
+
"max-w-[screen]": menuBarState.mode === "screen"
|
|
12199
|
+
})
|
|
12200
|
+
})
|
|
12201
|
+
}),
|
|
12202
|
+
menuBarState.mode !== "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)("video", {
|
|
11773
12203
|
autoPlay: true,
|
|
11774
12204
|
muted: true,
|
|
11775
12205
|
playsInline: true,
|
|
@@ -11782,7 +12212,7 @@ const $92672d57809ea9d3$export$336a011955157f9a = ()=>{
|
|
|
11782
12212
|
})
|
|
11783
12213
|
}),
|
|
11784
12214
|
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
11785
|
-
className: "flex justify-center px-2.5 pb-2.5",
|
|
12215
|
+
className: "flex justify-center px-2.5 pb-2.5 z-10",
|
|
11786
12216
|
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $a94f21ef9007b90a$export$11a6fe490bbc4873), {
|
|
11787
12217
|
state: menuBarState,
|
|
11788
12218
|
thumbnail: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $c7542aa0d9bb5f39$export$1cd1efc78cb52ca5), {
|
|
@@ -11793,16 +12223,16 @@ const $92672d57809ea9d3$export$336a011955157f9a = ()=>{
|
|
|
11793
12223
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).rotateVideo();
|
|
11794
12224
|
},
|
|
11795
12225
|
onCapturePress: ()=>{
|
|
11796
|
-
if (menuBarState.photo && videoElementRef.current) {
|
|
12226
|
+
if (menuBarState.mode === "photo" && videoElementRef.current) {
|
|
11797
12227
|
onPhotoCapture(videoElementRef.current);
|
|
11798
12228
|
setFlashAnimation(true);
|
|
11799
12229
|
}
|
|
11800
|
-
if (
|
|
12230
|
+
if (menuBarState.mode !== "photo" && !menuBarState.streaming) {
|
|
11801
12231
|
menuBarState.setStreaming(true);
|
|
11802
12232
|
setTimer(0);
|
|
11803
12233
|
setCountdownVisible(true);
|
|
11804
12234
|
}
|
|
11805
|
-
if (
|
|
12235
|
+
if (menuBarState.mode !== "photo" && menuBarState.streaming) {
|
|
11806
12236
|
exitStreaming();
|
|
11807
12237
|
if (startRecordTime) {
|
|
11808
12238
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).stopRecord();
|
|
@@ -11823,14 +12253,41 @@ const $92672d57809ea9d3$export$336a011955157f9a = ()=>{
|
|
|
11823
12253
|
removeAsset: removeAsset,
|
|
11824
12254
|
loading: assetLoading
|
|
11825
12255
|
}),
|
|
11826
|
-
/*#__PURE__*/ (0, $3Sbms$
|
|
11827
|
-
title: "
|
|
12256
|
+
/*#__PURE__*/ (0, $3Sbms$jsxs)((0, $c0bb66c3d546ed81$export$2b77a92f1a5ad772), {
|
|
12257
|
+
title: t("recorder.submissionTitle"),
|
|
11828
12258
|
state: sendAssetsModalState,
|
|
11829
12259
|
isDismissable: false,
|
|
11830
|
-
children:
|
|
11831
|
-
|
|
11832
|
-
|
|
11833
|
-
|
|
12260
|
+
children: [
|
|
12261
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("span", {
|
|
12262
|
+
className: "text-base text-primaryLight",
|
|
12263
|
+
children: t("recorder.submissionDescription")
|
|
12264
|
+
}),
|
|
12265
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
12266
|
+
className: "flex flex-col gap-[20px] border-t border-secondaryVLight pt-[20px]",
|
|
12267
|
+
children: assets.map((asset, index)=>/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
12268
|
+
className: "flex flex-row items-center gap-[10px]",
|
|
12269
|
+
children: [
|
|
12270
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $c7542aa0d9bb5f39$export$1cd1efc78cb52ca5), {
|
|
12271
|
+
asset: asset
|
|
12272
|
+
}),
|
|
12273
|
+
/*#__PURE__*/ (0, $3Sbms$jsxs)("span", {
|
|
12274
|
+
className: "text-sm",
|
|
12275
|
+
style: {
|
|
12276
|
+
hyphens: "manual"
|
|
12277
|
+
},
|
|
12278
|
+
children: [
|
|
12279
|
+
asset.type === "picture" ? "Photo" : "Video",
|
|
12280
|
+
" ",
|
|
12281
|
+
index + 1,
|
|
12282
|
+
" \xb7",
|
|
12283
|
+
" ",
|
|
12284
|
+
$92672d57809ea9d3$export$3ae94a2503e890a1(new Date(asset.timestamp))
|
|
12285
|
+
]
|
|
12286
|
+
})
|
|
12287
|
+
]
|
|
12288
|
+
}))
|
|
12289
|
+
})
|
|
12290
|
+
]
|
|
11834
12291
|
})
|
|
11835
12292
|
]
|
|
11836
12293
|
});
|
|
@@ -12579,7 +13036,7 @@ var $f8d57e3d223f5089$export$2e2bcd8739ae039 = $f8d57e3d223f5089$var$GreetingVie
|
|
|
12579
13036
|
|
|
12580
13037
|
|
|
12581
13038
|
var $1e2747ca72d0ab49$exports = {};
|
|
12582
|
-
$1e2747ca72d0ab49$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";
|
|
13039
|
+
$1e2747ca72d0ab49$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";
|
|
12583
13040
|
|
|
12584
13041
|
|
|
12585
13042
|
var $e02c50a47b475960$exports = {};
|