@snapcall/stream-ui 1.21.0 → 1.23.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 +380 -339
- package/dist/stream-ui.js +379 -338
- package/dist/stream-ui.umd.js +6 -6
- package/dist/streamerClient/index.js +4 -0
- package/dist/streamerClient/timer.ed477f04.js +1 -0
- package/dist/types.d.ts +56 -29
- package/package.json +11 -1
package/dist/stream-ui.esm.js
CHANGED
|
@@ -4,7 +4,7 @@ import $3Sbms$hotjarbrowser from "@hotjar/browser";
|
|
|
4
4
|
import $3Sbms$reacthottoast, {toast as $3Sbms$toast, Toaster as $3Sbms$Toaster1, ToastBar as $3Sbms$ToastBar} from "react-hot-toast";
|
|
5
5
|
import $3Sbms$styledcomponents, {keyframes as $3Sbms$keyframes, ThemeProvider as $3Sbms$ThemeProvider, ThemeContext as $3Sbms$ThemeContext, css as $3Sbms$css, createGlobalStyle as $3Sbms$createGlobalStyle} from "styled-components";
|
|
6
6
|
import {useState as $3Sbms$useState, useRef as $3Sbms$useRef, useCallback as $3Sbms$useCallback, useEffect as $3Sbms$useEffect, useContext as $3Sbms$useContext, useMemo as $3Sbms$useMemo, createContext as $3Sbms$createContext, useReducer as $3Sbms$useReducer, useLayoutEffect as $3Sbms$useLayoutEffect, cloneElement as $3Sbms$cloneElement, forwardRef as $3Sbms$forwardRef} from "react";
|
|
7
|
-
import {Toaster as $3Sbms$Toaster, UserPlus1Icon as $3Sbms$UserPlus1Icon, useToast as $3Sbms$useToast, Copy5Icon as $3Sbms$Copy5Icon, CheckIcon as $3Sbms$CheckIcon, AlertTriangleIcon as $3Sbms$AlertTriangleIcon, Dialog as $3Sbms$Dialog, DialogContent as $3Sbms$DialogContent, DialogHeader as $3Sbms$DialogHeader, DialogTitle as $3Sbms$DialogTitle, Tabs as $3Sbms$Tabs, TabsList as $3Sbms$TabsList, TabsTrigger as $3Sbms$TabsTrigger, TabsContent as $3Sbms$TabsContent, Button as $3Sbms$Button, CopyIcon as $3Sbms$CopyIcon, Form as $3Sbms$Form, FormField as $3Sbms$FormField, FormItem as $3Sbms$FormItem, FormLabel as $3Sbms$FormLabel, FormControl as $3Sbms$FormControl, CreatableSelect as $3Sbms$CreatableSelect, FormMessage as $3Sbms$FormMessage, Textarea as $3Sbms$Textarea,
|
|
7
|
+
import {Toaster as $3Sbms$Toaster, UserPlus1Icon as $3Sbms$UserPlus1Icon, useToast as $3Sbms$useToast, Copy5Icon as $3Sbms$Copy5Icon, CheckIcon as $3Sbms$CheckIcon, XCircleIcon as $3Sbms$XCircleIcon, Send3Icon as $3Sbms$Send3Icon, AlertTriangleIcon as $3Sbms$AlertTriangleIcon, Dialog as $3Sbms$Dialog, DialogContent as $3Sbms$DialogContent, DialogHeader as $3Sbms$DialogHeader, DialogTitle as $3Sbms$DialogTitle, Tabs as $3Sbms$Tabs, TabsList as $3Sbms$TabsList, TabsTrigger as $3Sbms$TabsTrigger, TabsContent as $3Sbms$TabsContent, Button as $3Sbms$Button, CopyIcon as $3Sbms$CopyIcon, Form as $3Sbms$Form, FormField as $3Sbms$FormField, FormItem as $3Sbms$FormItem, FormLabel as $3Sbms$FormLabel, FormControl as $3Sbms$FormControl, CreatableSelect as $3Sbms$CreatableSelect, FormMessage as $3Sbms$FormMessage, Textarea as $3Sbms$Textarea, Select as $3Sbms$Select, SelectTrigger as $3Sbms$SelectTrigger, PhoneCall1Icon as $3Sbms$PhoneCall1Icon, VideoRecorderIcon as $3Sbms$VideoRecorderIcon, SelectValue as $3Sbms$SelectValue, SelectContent as $3Sbms$SelectContent, SelectGroup as $3Sbms$SelectGroup, SelectItem as $3Sbms$SelectItem, ToastAction as $3Sbms$ToastAction, InfoCircleIcon as $3Sbms$InfoCircleIcon, MicrophoneOffIcon as $3Sbms$MicrophoneOffIcon, CheckCircleIcon as $3Sbms$CheckCircleIcon, DotsHorizontalIcon as $3Sbms$DotsHorizontalIcon, Monitor2Icon as $3Sbms$Monitor2Icon, RotateCcwIcon as $3Sbms$RotateCcwIcon, Recording2Icon as $3Sbms$Recording2Icon, AlertDialog as $3Sbms$AlertDialog, AlertDialogContent as $3Sbms$AlertDialogContent, AlertDialogHeader as $3Sbms$AlertDialogHeader, AlertDialogTitle as $3Sbms$AlertDialogTitle, AlertDialogFooter as $3Sbms$AlertDialogFooter, SpinnerIcon as $3Sbms$SpinnerIcon, QrCodeIcon as $3Sbms$QrCodeIcon, AlertDialogDescription as $3Sbms$AlertDialogDescription, Avatar as $3Sbms$Avatar, PlusCircleIcon as $3Sbms$PlusCircleIcon, DialogFooter as $3Sbms$DialogFooter, SendIcon as $3Sbms$SendIcon, TrashIcon as $3Sbms$TrashIcon, Hourglass3Icon as $3Sbms$Hourglass3Icon, AlertDialogCancel as $3Sbms$AlertDialogCancel, AlertDialogAction as $3Sbms$AlertDialogAction, DialogDescription as $3Sbms$DialogDescription, ShareArrowIcon as $3Sbms$ShareArrowIcon, SlashCircle1Icon as $3Sbms$SlashCircle1Icon, CalendarIcon as $3Sbms$CalendarIcon, Input as $3Sbms$Input, Microphone1Icon as $3Sbms$Microphone1Icon, VolumeMaxIcon as $3Sbms$VolumeMaxIcon, VideoRecorderOffIcon as $3Sbms$VideoRecorderOffIcon, MicrophoneOff1Icon as $3Sbms$MicrophoneOff1Icon, AlertCircleIcon as $3Sbms$AlertCircleIcon, Lock1Icon as $3Sbms$Lock1Icon, Lock3Icon as $3Sbms$Lock3Icon, VoicemailIcon as $3Sbms$VoicemailIcon} from "@snapcall/design-system";
|
|
8
8
|
import "inobounce";
|
|
9
9
|
import {QueryClient as $3Sbms$QueryClient, QueryClientProvider as $3Sbms$QueryClientProvider, useMutation as $3Sbms$useMutation, useQuery as $3Sbms$useQuery} from "react-query";
|
|
10
10
|
import {useTranslation as $3Sbms$useTranslation, initReactI18next as $3Sbms$initReactI18next, Trans as $3Sbms$Trans} from "react-i18next";
|
|
@@ -44,7 +44,7 @@ const $365e765f9890497b$var$isObject = (obj)=>{
|
|
|
44
44
|
};
|
|
45
45
|
const $365e765f9890497b$export$6969335ea1e4e77c = (...objects)=>objects.reduce((result, current)=>{
|
|
46
46
|
Object.keys(current).forEach((key)=>{
|
|
47
|
-
if (Array.isArray(result[key]) && Array.isArray(current[key])) result[key] =
|
|
47
|
+
if (Array.isArray(result[key]) && Array.isArray(current[key])) result[key] = current[key];
|
|
48
48
|
else if ($365e765f9890497b$var$isObject(result[key]) && $365e765f9890497b$var$isObject(current[key])) result[key] = $365e765f9890497b$export$6969335ea1e4e77c(result[key], current[key]);
|
|
49
49
|
else result[key] = current[key];
|
|
50
50
|
});
|
|
@@ -355,27 +355,27 @@ const $a3e657fb86ae23f3$export$604ba5624273df44 = ()=>{
|
|
|
355
355
|
|
|
356
356
|
|
|
357
357
|
var $cdb0576f0fea19f0$exports = {};
|
|
358
|
-
$cdb0576f0fea19f0$exports = JSON.parse('{"header":{"free":"Free version"},"loader":{"connection":"Connecting..."},"notifications":{"screensharingError":"An error occured when trying to toggle screensharing","microphoneError":"An error occured when trying to toggle the microphone","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","noCamera":"No camera available","blockedMicrophonePopupTitle":"Camera and microphone are blocked","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","reload":"Reload","criticalError":"A critical error has occurred (error {{code}}).","agentJoinError":"An error occured while trying to join the room as an agent","close":"Close","connectedTo":"Connected to {{name}}","recording":"Recording in progress"},"recordingPopup":{"recordingStartTitle":"Recording about to start.","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","dismiss":"Dismiss"},"requestAccess":{"wantToJoin":"<bold>{{name}}</bold> wants to join!","deny":"Deny","admit":"Admit","defaultName":"An user"},"endView":{"goBack":"Go back to call","tooLate":"You arrived too late","callIsOver":"The call is over or deleted","callEnded":"The call is now ended","callLeft":"You left the call","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later."},"menu":{"title":"Menu","new":"NEW","openNewTab":"Open new tab","quickConnect":"Quick Connect","pictureInPicture":"Picture-in-Picture","screenSharing":"Screen sharing","stopRecord":"Stop record","startRecord":"Record call"},"blockedFeature":{"titleConnected":"Upgrade to Pro","titleGuest":"Feature not available","descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissGuest":"Okay","dismissConnected":"Upgrade to Pro"},"copyLink":{"title":"Copy link","description":"Copy link into clipboard","error":"An error occured when trying to copy to clipboard","copied":"Link copied to clipboard","copy":"Copy"},"quickConnect":{"title":"Quick Connect","scanTitle":"Scan QR Code","scan":"Scan this QR code with your phone camera to open the call."},"settings":{"title":"Settings","preferences":"Preferences","language":"Language","devices":"Devices","help":"Help","helpCenter":"Go to help center"},"audioMenu":{"title":"Audio","blockedMicrophone":"Microphone is blocked.","microphonePermissions":"Please accept microphone sharing before accessing these options."},"videoMenu":{"title":"Video","lowDef":"Low definition (240p)","standardDef":"Standard definition (480p)","highDef":"High definition (720p)","blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","sendResolution":"Send Resolution (maximum)"},"shareLink":{"title":"Share link","title2":"Share a link","invalid":"Invalid link","sentToUsers":"Link sent to users","sentToUser":"Link sent to {{user}}","failed":"Failed to send link","poweredBy":"Powered by","invoice":"{{user}} sent you an invoice.","pay":"Pay"},"invitePeople":{"inviteRecordClip":"Invite to record clip","copyCallLinkDescription":"Copy this link and send it to anyone you wish to invite to join the call.","copyClipLinkDescription":"Copy this link and send it to anyone you wish to invite to record a clip.","inviteCall":"Invite to join call","sharePublicLink":"Share public link","inviteByEmail":"Invite by email","addEmailToInvite":"Add an email to invite.","email":"Email","emailPlaceholder":"Eg. john@acme.com","invite":"Invite","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","invalidEmail":"Invalid email format.","addEmails":"Add emails...","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","error":"Failed to send, please try again later.","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video clip now and provide us with more context to assist you better.","message":"Message"},"youtube":{"title":"Watch Together","url":"YOUTUBE URL","invalid":"Invalid YouTube URL","share":"Watch now"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"title":"Snapshot","shared":"Snapshot shared.","sentToUsers":"Snapshot sent to users.","sentToUser":"Snapshot sent to {{user}}","save":"Save photo","error":"An error occured when trying to send the snapshot"},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"requestDevice":{"requestInput":"Request input devices","request":"{{user}} would like you to share your {{device}}","timedOut":"Your request has timed out.","declined":"Your request has been declined.","userDeclined":"{{user}} has declined your request."},"leave":{"title":"Leave","leaveCall":"Leave call","endCall":"End call for all"},"virtualBackground":{"title":"Virtual Background","setBackground":"Set Background"},"misc":{"someone":"Someone","camera":"Camera","microphone":"Microphone","photo":"Photo","video":"Video","screen":"Screen","screenshot":"Screenshot","speaker":"Speaker","user":"User","open":"Open","from":"From","accept":"Accept","decline":"Decline","you":"You","cancel":"Cancel","confirm":"Confirm","remove":"Remove","proceed":"Proceed","audio":"Audio"},"greeting":{"mainTitle":"Welcome to SnapCall","sideTitle":"Hold tight, you\'re next!","sideDescription":"Please enter your name and adjust your camera and microphone","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","footerTitle":"Powered by SnapCall","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","cameraDisabled":"Camera is Off","microphoneDisabled":"Microphone is Off","cameraEnabled":"Camera is On","microphoneEnabled":"Microphone is On","scheduleACall":"Schedule a call","requestACall":"Request a call","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","setting":"Settings","askToJoin":"Ask to join","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in.","cantJoinCall":"You can\u2019t join this call","someoneDenied":"Someone in the call denied your request to join.","askingLetIn":"Asking to be let in...","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","cantWait":"Can\'t wait?","whatYouCanDo":"Here\u2019s what you can do","leaveMessage":"Leave a message","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","recordVideo":"Record video","recordVoice":"Record voice","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","mediaDenied":"Microphone and camera access denied","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar."},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","limit":"Video recording limited to 5 min.","replyAttached":"Your reply has been attached","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","openThread":"Open thread","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","clipSubmissionDescription":"Thank you for using SnapCall.","submissionTitle":"Thank you for your submission!","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","confirmRemovalTitle":"Confirm deletion","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","waitVideo":"A video may take up to 15 seconds to be ready.","elementCaptureSuccess":"{{ type }} captured successfully","takeNewElement":"Capture a new {{ type }}","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","allowAccess":"Allow access","okay":"Okay","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","permissionDeniedTitle":"Something went wrong!","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","photoInstructionsTitle":"Ready to snap a photo?","videoInstructionsTitle":"Ready to record a video?","screenShareInstructionsTitle":"Ready to share your screen?","audioInstructionsTitle":"Ready to record a voice message?","instructions":{"allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically."},"switchToMobileTitle":"Switch to your mobile device","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","useDesktopVersion":"Use the desktop version","scanQRCode":"Scan this QR code with a compatible device.","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","screenTitle":"Ready to capture your screen?","loggedAs":"Logged as","logIn":"Log in","audioLevelNotification":{"shortVideo":{"title":"Short video.","description":"This video is too short to get context."},"noSound":{"title":"No sound detected.","description":"Make sure your microphone is activated."},"spokenWordsQuestion":{"title":"Spoken words.","description":"Does your video include enough spoken details?"},"spokenWordsWarning":{"title":"No spoken words.","description":"The clip includes barely any spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","rememberSpeaking":"Remember to speak to provide context.","noSound":"No sound detected."}}}');
|
|
358
|
+
$cdb0576f0fea19f0$exports = JSON.parse('{"header":{"free":"Free version"},"loader":{"connection":"Connecting..."},"common":{"new":"new"},"notifications":{"screensharingError":"An error occured when trying to toggle screensharing","microphoneError":"An error occured when trying to toggle the microphone","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","noCamera":"No camera available","blockedMicrophonePopupTitle":"Camera and microphone are blocked","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","reload":"Reload","criticalError":"A critical error has occurred (error {{code}}).","agentJoinError":"An error occured while trying to join the room as an agent","close":"Close","connectedTo":"Connected to {{name}}","recording":"Recording in progress","invitationSentToFailed":"Sent to {{ name }} failed."},"recordingPopup":{"recordingStartTitle":"Recording about to start.","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","dismiss":"Dismiss"},"requestAccess":{"wantToJoin":"<bold>{{name}}</bold> wants to join!","deny":"Deny","admit":"Admit","defaultName":"An user"},"endView":{"goBack":"Go back to call","tooLate":"You arrived too late","callIsOver":"The call is over or deleted","callEnded":"The call is now ended","callLeft":"You left the call","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later."},"menu":{"title":"Menu","new":"NEW","openNewTab":"Open new tab","quickConnect":"Quick Connect","pictureInPicture":"Picture-in-Picture","screenSharing":"Screen sharing","stopRecord":"Stop record","startRecord":"Record call"},"blockedFeature":{"titleConnected":"Upgrade to Pro","titleGuest":"Feature not available","descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissGuest":"Okay","dismissConnected":"Upgrade to Pro"},"copyLink":{"title":"Copy link","description":"Copy link into clipboard","error":"An error occured when trying to copy to clipboard","copied":"Link copied to clipboard","copy":"Copy"},"quickConnect":{"title":"Quick Connect","scanTitle":"Scan QR Code","scan":"Scan this QR code with your phone camera to open the call."},"settings":{"title":"Settings","preferences":"Preferences","language":"Language","devices":"Devices","help":"Help","helpCenter":"Go to help center"},"audioMenu":{"title":"Audio","blockedMicrophone":"Microphone is blocked.","microphonePermissions":"Please accept microphone sharing before accessing these options."},"videoMenu":{"title":"Video","lowDef":"Low definition (240p)","standardDef":"Standard definition (480p)","highDef":"High definition (720p)","blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","sendResolution":"Send Resolution (maximum)"},"shareLink":{"title":"Share link","title2":"Share a link","invalid":"Invalid link","sentToUsers":"Link sent to users","sentToUser":"Link sent to {{user}}","failed":"Failed to send link","poweredBy":"Powered by","invoice":"{{user}} sent you an invoice.","pay":"Pay"},"invitePeople":{"invitePeople":"Invite people","inviteRecordClip":"Invite to record clip","copyCallLinkDescription":"Copy this link and send it to anyone you wish to invite to join the call.","copyClipLinkDescription":"Copy this link and send it to anyone you wish to invite to record a clip.","inviteCall":"Invite to join call","sharePublicLink":"Share public link","inviteByEmail":"Invite by email","inviteByEmailOrNumber":"Invite by email or sms","emailsOrNumberPlaceholder":"Eg. john@acme.com or +33612345678","addEmailToInvite":"Add an email to invite.","email":"Email","emailPlaceholder":"Eg. john@acme.com","invite":"Invite","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","invalidEmail":"Invalid email format.","invalidEmailOrNumber":"Invalid email or number format.","addEmails":"Add emails...","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","error":"Failed to send, please try again later.","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video clip now and provide us with more context to assist you better.","message":"Message"},"youtube":{"title":"Watch Together","url":"YOUTUBE URL","invalid":"Invalid YouTube URL","share":"Watch now"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"title":"Snapshot","shared":"Snapshot shared.","sentToUsers":"Snapshot sent to users.","sentToUser":"Snapshot sent to {{user}}","save":"Save photo","error":"An error occured when trying to send the snapshot"},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"requestDevice":{"requestInput":"Request input devices","request":"{{user}} would like you to share your {{device}}","timedOut":"Your request has timed out.","declined":"Your request has been declined.","userDeclined":"{{user}} has declined your request."},"leave":{"title":"Leave","leaveCall":"Leave call","endCall":"End call for all"},"virtualBackground":{"title":"Virtual Background","setBackground":"Set Background"},"misc":{"someone":"Someone","camera":"Camera","microphone":"Microphone","photo":"Photo","video":"Video","screen":"Screen","screenshot":"Screenshot","speaker":"Speaker","user":"User","open":"Open","from":"From","accept":"Accept","decline":"Decline","you":"You","cancel":"Cancel","confirm":"Confirm","remove":"Remove","proceed":"Proceed","audio":"Audio"},"greeting":{"mainTitle":"Welcome to SnapCall","sideTitle":"Hold tight, you\'re next!","sideDescription":"Please enter your name and adjust your camera and microphone","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","footerTitle":"Powered by SnapCall","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","cameraDisabled":"Camera is Off","microphoneDisabled":"Microphone is Off","cameraEnabled":"Camera is On","microphoneEnabled":"Microphone is On","scheduleACall":"Schedule a call","requestACall":"Request a call","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","setting":"Settings","askToJoin":"Ask to join","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in.","cantJoinCall":"You can\u2019t join this call","someoneDenied":"Someone in the call denied your request to join.","askingLetIn":"Asking to be let in...","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","cantWait":"Can\'t wait?","whatYouCanDo":"Here\u2019s what you can do","leaveMessage":"Leave a message","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","recordVideo":"Record video","recordVoice":"Record voice","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","mediaDenied":"Microphone and camera access denied","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar."},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","limit":"Video recording limited to 5 min.","replyAttached":"Your reply has been attached","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","openThread":"Open thread","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","clipSubmissionDescription":"Thank you for using SnapCall.","submissionTitle":"Thank you for your submission!","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","confirmRemovalTitle":"Confirm deletion","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","waitVideo":"A video may take up to 15 seconds to be ready.","elementCaptureSuccess":"{{ type }} captured successfully","takeNewElement":"Capture a new {{ type }}","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","allowAccess":"Allow access","okay":"Okay","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","permissionDeniedTitle":"Something went wrong!","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","photoInstructionsTitle":"Ready to snap a photo?","videoInstructionsTitle":"Ready to record a video?","screenShareInstructionsTitle":"Ready to share your screen?","audioInstructionsTitle":"Ready to record a voice message?","instructions":{"selectScreenshare":"Tap Record my screen and select the screen or window you want to record.","speakDuringRecord":"You can speak while recording to add details.","stopScreenOnFinish":"Press the Stop button when finished. The video will be sent to us automatically.","allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically."},"switchToMobileTitle":"Switch to your mobile device","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","useDesktopVersion":"Use the desktop version","scanQRCode":"Scan this QR code with a compatible device.","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","screenTitle":"Ready to capture your screen?","loggedAs":"Logged as","logIn":"Log in","audioLevelNotification":{"shortVideo":{"title":"Short video.","description":"This video is too short to get context."},"noSound":{"title":"No sound detected.","description":"Make sure your microphone is activated."},"spokenWordsQuestion":{"title":"Spoken words.","description":"Does your video include enough spoken details?"},"spokenWordsWarning":{"title":"No spoken words.","description":"The clip includes barely any spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","rememberSpeaking":"Remember to speak to provide context.","noSound":"No sound detected."}}}');
|
|
359
359
|
|
|
360
360
|
|
|
361
361
|
var $d94166210f763d5e$exports = {};
|
|
362
|
-
$d94166210f763d5e$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"Microphone is blocked.","microphonePermissions":"Please accept microphone sharing before accessing these options.","title":"Audio"},"blockedFeature":{"descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissConnected":"Upgrade to Pro","dismissGuest":"Okay","titleConnected":"Upgrade to Pro","titleGuest":"Feature not available"},"copyLink":{"copied":"Link copied to clipboard","copy":"Copy","description":"Copy link into clipboard","error":"An error occured when trying to copy to clipboard","title":"Copy link"},"endView":{"callEnded":"The call is now ended","callIsOver":"The call is over or deleted","callLeft":"You left the call","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later.","goBack":"Go back to call","tooLate":"You arrived too late"},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"greeting":{"askToJoin":"Ask to join","askingLetIn":"Asking to be let in...","cameraDisabled":"Camera is Off","cameraEnabled":"Camera is On","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","cantJoinCall":"You can\u2019t join this call","cantWait":"Can\'t wait?","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar.","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","footerTitle":"Powered by SnapCall","leaveMessage":"Leave a message","mainTitle":"Welcome to SnapCall","mediaDenied":"Microphone and camera access denied","microphoneDisabled":"Microphone is Off","microphoneEnabled":"Microphone is On","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","recordVideo":"Record video","recordVoice":"Record voice","requestACall":"Request a call","scheduleACall":"Schedule a call","setting":"Settings","sideDescription":"Please enter your name and adjust your camera and microphone","sideTitle":"Hold tight, you\'re next!","someoneDenied":"Someone in the call denied your request to join.","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","whatYouCanDo":"Here\u2019s what you can do","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in."},"header":{"free":"Free version"},"invitePeople":{"addEmailToInvite":"Add an email to invite.","addEmails":"Add emails...","copyCallLinkDescription":"Copy this link and send it to anyone you wish to invite to join the call.","copyClipLinkDescription":"Copy this link and send it to anyone you wish to invite to record a clip.","email":"Email","emailPlaceholder":"Eg. john@acme.com","error":"Failed to send, please try again later.","invalidEmail":"Invalid email format.","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","invite":"Invite","inviteByEmail":"Invite by email","inviteCall":"Invite to join call","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video clip now and provide us with more context to assist you better.","inviteRecordClip":"Invite to record clip","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","message":"Message","sharePublicLink":"Share public link"},"leave":{"endCall":"End call for all","leaveCall":"Leave call","title":"Leave"},"loader":{"connection":"Connecting..."},"menu":{"new":"NEW","openNewTab":"Open new tab","pictureInPicture":"Picture-in-Picture","quickConnect":"Quick Connect","screenSharing":"Screen sharing","startRecord":"Record call","stopRecord":"Stop record","title":"Menu"},"misc":{"accept":"Accept","audio":"Audio","camera":"Camera","cancel":"Cancel","confirm":"Confirm","decline":"Decline","from":"From","microphone":"Microphone","open":"Open","photo":"Photo","proceed":"Proceed","remove":"Remove","screen":"Screen","screenshot":"Screenshot","someone":"Someone","speaker":"Speaker","user":"User","video":"Video","you":"You"},"notifications":{"agentJoinError":"An error occured while trying to join the room as an agent","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","blockedMicrophonePopupTitle":"Camera and microphone are blocked","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","close":"Close","connectedTo":"Connected to {{name}}","criticalError":"A critical error has occurred (error {{code}}).","microphoneError":"An error occured when trying to toggle the microphone","noCamera":"No camera available","recording":"Recording in progress","reload":"Reload","screensharingError":"An error occured when trying to toggle screensharing"},"quickConnect":{"scan":"Scan this QR code with your phone camera to open the call.","scanTitle":"Scan QR Code","title":"Quick Connect"},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","allowAccess":"Allow access","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","audioInstructionsTitle":"Ready to record a voice message?","audioLevelNotification":{"noSound":{"description":"Make sure your microphone is activated.","title":"No sound detected."},"shortVideo":{"description":"This video is too short to get context.","title":"Short video."},"spokenWordsQuestion":{"description":"Does your video include enough spoken details?","title":"Spoken words."},"spokenWordsWarning":{"description":"The clip includes barely any spoken words.","title":"No spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","noSound":"No sound detected.","rememberSpeaking":"Remember to speak to provide context."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Thank you for using SnapCall.","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","confirmRemovalTitle":"Confirm deletion","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","elementCaptureSuccess":"{{ type }} captured successfully","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","instructions":{"allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information."},"limit":"Video recording limited to 5 min.","logIn":"Log in","loggedAs":"Logged as","okay":"Okay","openThread":"Open thread","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","permissionDeniedTitle":"Something went wrong!","photoInstructionsTitle":"Ready to snap a photo?","replyAttached":"Your reply has been attached","scanQRCode":"Scan this QR code with a compatible device.","screenShareInstructionsTitle":"Ready to share your screen?","screenTitle":"Ready to capture your screen?","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","submissionTitle":"Thank you for your submission!","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","switchToMobileTitle":"Switch to your mobile device","takeNewElement":"Capture a new {{ type }}","useDesktopVersion":"Use the desktop version","videoInstructionsTitle":"Ready to record a video?","waitVideo":"A video may take up to 15 seconds to be ready."},"recordingPopup":{"dismiss":"Dismiss","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","recordingStartTitle":"Recording about to start."},"requestAccess":{"admit":"Admit","defaultName":"An user","deny":"Deny","wantToJoin":"<bold>{{name}}</bold> wants to join!"},"requestDevice":{"declined":"Your request has been declined.","request":"{{user}} would like you to share your {{device}}","requestInput":"Request input devices","timedOut":"Your request has timed out.","userDeclined":"{{user}} has declined your request."},"settings":{"devices":"Devices","help":"Help","helpCenter":"Go to help center","language":"Language","preferences":"Preferences","title":"Settings"},"shareLink":{"failed":"Failed to send link","invalid":"Invalid link","invoice":"{{user}} sent you an invoice.","pay":"Pay","poweredBy":"Powered by","sentToUser":"Link sent to {{user}}","sentToUsers":"Link sent to users","title":"Share link","title2":"Share a link"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"error":"An error occured when trying to send the snapshot","save":"Save photo","sentToUser":"Snapshot sent to {{user}}","sentToUsers":"Snapshot sent to users.","shared":"Snapshot shared.","title":"Snapshot"},"videoMenu":{"blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","highDef":"High definition (720p)","lowDef":"Low definition (240p)","sendResolution":"Send Resolution (maximum)","standardDef":"Standard definition (480p)","title":"Video"},"virtualBackground":{"setBackground":"Set Background","title":"Virtual Background"},"youtube":{"invalid":"Invalid YouTube URL","share":"Watch now","title":"Watch Together","url":"YOUTUBE URL"}}');
|
|
362
|
+
$d94166210f763d5e$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"Microphone is blocked.","microphonePermissions":"Please accept microphone sharing before accessing these options.","title":"Audio"},"blockedFeature":{"descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissConnected":"Upgrade to Pro","dismissGuest":"Okay","titleConnected":"Upgrade to Pro","titleGuest":"Feature not available"},"common":{"new":"new"},"copyLink":{"copied":"Link copied to clipboard","copy":"Copy","description":"Copy link into clipboard","error":"An error occured when trying to copy to clipboard","title":"Copy link"},"endView":{"callEnded":"The call is now ended","callIsOver":"The call is over or deleted","callLeft":"You left the call","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later.","goBack":"Go back to call","tooLate":"You arrived too late"},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"greeting":{"askToJoin":"Ask to join","askingLetIn":"Asking to be let in...","cameraDisabled":"Camera is Off","cameraEnabled":"Camera is On","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","cantJoinCall":"You can\u2019t join this call","cantWait":"Can\'t wait?","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar.","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","footerTitle":"Powered by SnapCall","leaveMessage":"Leave a message","mainTitle":"Welcome to SnapCall","mediaDenied":"Microphone and camera access denied","microphoneDisabled":"Microphone is Off","microphoneEnabled":"Microphone is On","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","recordVideo":"Record video","recordVoice":"Record voice","requestACall":"Request a call","scheduleACall":"Schedule a call","setting":"Settings","sideDescription":"Please enter your name and adjust your camera and microphone","sideTitle":"Hold tight, you\'re next!","someoneDenied":"Someone in the call denied your request to join.","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","whatYouCanDo":"Here\u2019s what you can do","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in."},"header":{"free":"Free version"},"invitePeople":{"addEmailToInvite":"Add an email to invite.","addEmails":"Add emails...","copyCallLinkDescription":"Copy this link and send it to anyone you wish to invite to join the call.","copyClipLinkDescription":"Copy this link and send it to anyone you wish to invite to record a clip.","email":"Email","emailPlaceholder":"Eg. john@acme.com","emailsOrNumberPlaceholder":"Eg. john@acme.com or +33612345678","error":"Failed to send, please try again later.","invalidEmail":"Invalid email format.","invalidEmailOrNumber":"Invalid email or number format.","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","invite":"Invite","inviteByEmail":"Invite by email","inviteByEmailOrNumber":"Invite by email or sms","inviteCall":"Invite to join call","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video clip now and provide us with more context to assist you better.","invitePeople":"Invite people","inviteRecordClip":"Invite to record clip","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","message":"Message","sharePublicLink":"Share public link"},"leave":{"endCall":"End call for all","leaveCall":"Leave call","title":"Leave"},"loader":{"connection":"Connecting..."},"menu":{"new":"NEW","openNewTab":"Open new tab","pictureInPicture":"Picture-in-Picture","quickConnect":"Quick Connect","screenSharing":"Screen sharing","startRecord":"Record call","stopRecord":"Stop record","title":"Menu"},"misc":{"accept":"Accept","audio":"Audio","camera":"Camera","cancel":"Cancel","confirm":"Confirm","decline":"Decline","from":"From","microphone":"Microphone","open":"Open","photo":"Photo","proceed":"Proceed","remove":"Remove","screen":"Screen","screenshot":"Screenshot","someone":"Someone","speaker":"Speaker","user":"User","video":"Video","you":"You"},"notifications":{"agentJoinError":"An error occured while trying to join the room as an agent","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","blockedMicrophonePopupTitle":"Camera and microphone are blocked","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","close":"Close","connectedTo":"Connected to {{name}}","criticalError":"A critical error has occurred (error {{code}}).","invitationSentToFailed":"Sent to {{ name }} failed.","microphoneError":"An error occured when trying to toggle the microphone","noCamera":"No camera available","recording":"Recording in progress","reload":"Reload","screensharingError":"An error occured when trying to toggle screensharing"},"quickConnect":{"scan":"Scan this QR code with your phone camera to open the call.","scanTitle":"Scan QR Code","title":"Quick Connect"},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","allowAccess":"Allow access","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","audioInstructionsTitle":"Ready to record a voice message?","audioLevelNotification":{"noSound":{"description":"Make sure your microphone is activated.","title":"No sound detected."},"shortVideo":{"description":"This video is too short to get context.","title":"Short video."},"spokenWordsQuestion":{"description":"Does your video include enough spoken details?","title":"Spoken words."},"spokenWordsWarning":{"description":"The clip includes barely any spoken words.","title":"No spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","noSound":"No sound detected.","rememberSpeaking":"Remember to speak to provide context."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Thank you for using SnapCall.","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","confirmRemovalTitle":"Confirm deletion","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","elementCaptureSuccess":"{{ type }} captured successfully","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","instructions":{"allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","selectScreenshare":"Tap Record my screen and select the screen or window you want to record.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","speakDuringRecord":"You can speak while recording to add details.","stopScreenOnFinish":"Press the Stop button when finished. The video will be sent to us automatically.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information."},"limit":"Video recording limited to 5 min.","logIn":"Log in","loggedAs":"Logged as","okay":"Okay","openThread":"Open thread","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","permissionDeniedTitle":"Something went wrong!","photoInstructionsTitle":"Ready to snap a photo?","replyAttached":"Your reply has been attached","scanQRCode":"Scan this QR code with a compatible device.","screenShareInstructionsTitle":"Ready to share your screen?","screenTitle":"Ready to capture your screen?","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","submissionTitle":"Thank you for your submission!","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","switchToMobileTitle":"Switch to your mobile device","takeNewElement":"Capture a new {{ type }}","useDesktopVersion":"Use the desktop version","videoInstructionsTitle":"Ready to record a video?","waitVideo":"A video may take up to 15 seconds to be ready."},"recordingPopup":{"dismiss":"Dismiss","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","recordingStartTitle":"Recording about to start."},"requestAccess":{"admit":"Admit","defaultName":"An user","deny":"Deny","wantToJoin":"<bold>{{name}}</bold> wants to join!"},"requestDevice":{"declined":"Your request has been declined.","request":"{{user}} would like you to share your {{device}}","requestInput":"Request input devices","timedOut":"Your request has timed out.","userDeclined":"{{user}} has declined your request."},"settings":{"devices":"Devices","help":"Help","helpCenter":"Go to help center","language":"Language","preferences":"Preferences","title":"Settings"},"shareLink":{"failed":"Failed to send link","invalid":"Invalid link","invoice":"{{user}} sent you an invoice.","pay":"Pay","poweredBy":"Powered by","sentToUser":"Link sent to {{user}}","sentToUsers":"Link sent to users","title":"Share link","title2":"Share a link"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"error":"An error occured when trying to send the snapshot","save":"Save photo","sentToUser":"Snapshot sent to {{user}}","sentToUsers":"Snapshot sent to users.","shared":"Snapshot shared.","title":"Snapshot"},"videoMenu":{"blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","highDef":"High definition (720p)","lowDef":"Low definition (240p)","sendResolution":"Send Resolution (maximum)","standardDef":"Standard definition (480p)","title":"Video"},"virtualBackground":{"setBackground":"Set Background","title":"Virtual Background"},"youtube":{"invalid":"Invalid YouTube URL","share":"Watch now","title":"Watch Together","url":"YOUTUBE URL"}}');
|
|
363
363
|
|
|
364
364
|
|
|
365
365
|
var $dcf57489ec338826$exports = {};
|
|
366
|
-
$dcf57489ec338826$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"Votre micro est bloqu\xe9.","microphonePermissions":"Please accept microphone sharing before accessing these options.","title":"Audio"},"blockedFeature":{"descriptionConnected":"Vous n\'avez pas acc\xe8s \xe0 cette fonctionnalit\xe9. Souscrivez au plan Pro pour d\xe9bloquer toutes les fonctionnalit\xe9s de SnapCall.","descriptionGuest":"Vous participez \xe0 un appel cr\xe9\xe9 avec la version gratuite de SnapCall. Cette fonctionnalit\xe9 n\'est disponible qu\'avec une version Pro.","dismissConnected":"Souscrire \xe0 Pro","dismissGuest":"D\'accord","titleConnected":"Souscrire au plan Pro","titleGuest":"Fonctionnalit\xe9 non disponible"},"copyLink":{"copied":"Lien copi\xe9 dans le presse-papier","copy":"Copier","description":"Copier le lien dans le presse-papiers","error":"Une erreur est survenue pendant la copie du lien dans le presse-papier","title":"Copier le lien"},"endView":{"callEnded":"Cet appel est termin\xe9","callIsOver":"Cet appel est termin\xe9 ou supprim\xe9","callLeft":"Vous avez quitt\xe9 l\'appel","full":"Impossible de rejoindre l\'appel","fullDescription":"Limite d\'utilisateurs atteinte. Merci de rejoindre l\'appel ult\xe9rieurement.","goBack":"Retourner dans l\'appel","tooLate":"Vous \xeates arriv\xe9 trop tard"},"gdpr":{"recordedWarning":"Pour am\xe9liorer la qualit\xe9 de notre service, cet appel va \xeatre enregistr\xe9."},"greeting":{"askToJoin":"Demander \xe0 rejoindre","askingLetIn":"Demande de participation...","cameraDisabled":"Cam\xe9ra d\xe9sactiv\xe9e","cameraEnabled":"Cam\xe9ra activ\xe9e","canceledCallRequest":"La demande d\'appel sera annul\xe9e et vous serez redirig\xe9 vers la page de planification des appels.","cantJoinCall":"Vous ne pouvez pas rejoindre cet appel","cantWait":"Vous ne souhaitez pas attendre ?","cantWaitLeaveMessage":"Vous ne pouvez pas attendre ? Vous pouvez laisser un message et vous serez contact\xe9 dans les plus brefs d\xe9lais.","clickOnLock":"Cliquez sur l\'ic\xf4ne de verrouillage <1></1> dans la barre de votre navigateur.","footerDescription":"D\xe9couvrez SnapCall, ajoutez de la vid\xe9o en temps r\xe9el \xe0 n\'importe quelle plateforme, produit ou service.","footerTitle":"Propuls\xe9 par SnapCall","leaveMessage":"Laisser un message","mainTitle":"Bienvenue sur SnapCall","mediaDenied":"Acc\xe8s au microphone et \xe0 la cam\xe9ra refus\xe9","microphoneDisabled":"Microphone d\xe9sactiv\xe9","microphoneEnabled":"Microphone activ\xe9","name":"Nom","nameDescription":"Ce nom sera affich\xe9 \xe0 tous les participants","namePlaceholder":"Ex. Lucie ou Pierre","nameSubmit":"Rejoindre la conversation","recordVideo":"Enregistrer une vid\xe9o","recordVoice":"Enregistrer un message vocal","requestACall":"Solliciter un appel maintenant","scheduleACall":"Planifier un appel","setting":"Param\xe8tres","sideDescription":"Veuillez entrer votre nom et configurer votre cam\xe9ra et microphone.","sideTitle":"C\'est bient\xf4t votre tour !","someoneDenied":"Quelqu\'un lors de l\'appel a refus\xe9 votre demande de participation.","takeFewMinute":"Cela peut prendre quelques minutes selon la disponibilit\xe9 des participants.","whatYouCanDo":"Voici ce que vous pouvez faire","youWillJoinWhenSomeoneLetsYou":"Votre acc\xe8s \xe0 l\'appel sera autoris\xe9 par un membre de l\'\xe9quipe {{ companyName }}."},"header":{"free":"Version gratuite"},"invitePeople":{"addEmailToInvite":"Ajoutez un e-mail pour inviter.","addEmails":"Ajouter des e-mails...","copyCallLinkDescription":"Copiez ce lien et envoyez-le \xe0 toute personne que vous souhaitez inviter \xe0 rejoindre l\'appel.","copyClipLinkDescription":"Copiez ce lien et envoyez-le \xe0 toute personne que vous souhaitez inviter \xe0 enregistrer un clip.","email":"Email","emailPlaceholder":"Ex. jean@acme.com","error":"\xc9chec de l\'envoi, veuillez r\xe9essayer plus tard.","invalidEmail":"Format d\'email invalide.","invitationSentTo_one":"Envoy\xe9 \xe0 {{ name }}","invitationSentTo_other":"Envoy\xe9 \xe0 {{ name }} et {{ otherEmailsCount }}+","invite":"Inviter","inviteByEmail":"Inviter par email","inviteCall":"Inviter \xe0 rejoindre l\'appel","inviteCallDefaultMessage":"Vous \xeates invit\xe9 \xe0 rejoindre notre appel vid\xe9o. Cliquez sur le lien pour vous connecter instantan\xe9ment.","inviteClipDefaultMessage":"Veuillez enregistrer votre clip vid\xe9o maintenant et nous fournir plus de contexte pour mieux vous aider.","inviteRecordClip":"Inviter \xe0 enregistrer un clip","linkToJoinCall":"Lien pour rejoindre l\'appel","linkToRecordAClip":"Lien pour enregistrer un clip","message":"Message","sharePublicLink":"Partager le lien public"},"leave":{"endCall":"Terminer l\'appel","leaveCall":"Quitter l\'appel","title":"Quitter"},"loader":{"connection":"Connexion..."},"menu":{"new":"NOUVEAU","openNewTab":"Ouvrir un nouvel onglet","pictureInPicture":"Picture-in-Picture","quickConnect":"Quick Connect","screenSharing":"Partage d\'\xe9cran","startRecord":"Enregistrer l\'appel","stopRecord":"Arr\xeater l\'enregistrement","title":"Menu"},"misc":{"accept":"Accepter","audio":"Audio","camera":"Cam\xe9ra","cancel":"Annuler","confirm":"Confirmer","decline":"D\xe9cliner","from":"Depuis","microphone":"Micro","open":"Ouvrir","photo":"Photo","proceed":"Proc\xe9der","remove":"Enlever","screen":"\xc9cran","screenshot":"Capture d\'\xe9cran","someone":"Quelqu\'un","speaker":"Haut-parleur","user":"Utilisateur","video":"Vid\xe9o","you":"Vous"},"notifications":{"agentJoinError":"Une erreur est survenue en essayant de rejoindre la salle en tant qu\'agent","blockedMicrophonePopup":"SnapCall a besoin d\'acc\xe9der \xe0 votre cam\xe9ra et micro. Cliquez sur l\'ic\xf4ne de cam\xe9ra bloqu\xe9e dans la barre d\'adresse du navigateur.","blockedMicrophonePopupTitle":"Votre cam\xe9ra et micro sont bloqu\xe9s","cameraError":"Une erreur est survenue pendant l\'activation de la cam\xe9ra","cameraRotateError":"Une erreur est survenue pendant la rotation de la cam\xe9ra","close":"Fermer","connectedTo":"Connect\xe9 \xe0 {{name}}","criticalError":"Une erreur critique est survenue (erreur {{code}}).","microphoneError":"Une erreur est survenue pendant l\'activation du micro","noCamera":"Aucune cam\xe9ra disponible","recording":"Enregistrement en cours","reload":"Recharger","screensharingError":"Une erreur est survenue pendant l\'activation du partage d\'\xe9cran"},"quickConnect":{"scan":"Scannez ce QR code avec votre t\xe9l\xe9phone pour ouvrir l\'appel.","scanTitle":"Scannez le QR Code","title":"Quick Connect"},"recorder":{"addMore":"Ajouter plus","addNewClip":"Ajouter un nouveau clip","allowAccess":"Autoriser l\'acc\xe8s","allowCamMicAccess":"Autoriser acc\xe8s cam\xe9ra/micro","allowScreenShareAccess":"Autoriser l\'acc\xe8s au partage d\'\xe9cran","attachElements_one":"Joindre {{ type }} au ticket","attachElements_other":"Joindre {{ count }} \xe9l\xe9ments","audioInstructionsTitle":"Pr\xeat \xe0 enregistrer un message vocal\xa0?","audioLevelNotification":{"noSound":{"description":"Assurez-vous que votre microphone est activ\xe9.","title":"Aucun son d\xe9tect\xe9."},"shortVideo":{"description":"Cette vid\xe9o semble assez courte, ne fournit pas assez de d\xe9tails.","title":"Vid\xe9o courte."},"spokenWordsQuestion":{"description":"Votre vid\xe9o offre-t-elle une explication d\xe9taill\xe9e et claire ?","title":"Avez-vous tout expliqu\xe9 ?"},"spokenWordsWarning":{"description":"La vid\xe9o ne comprend pratiquement aucun mot prononc\xe9.","title":"Aucun mot prononc\xe9."}},"audioLevelToast":{"continueSpeaking":"Continuez \xe0 parler pour expliquer.","noSound":"Aucun son d\xe9tect\xe9.","rememberSpeaking":"Veuillez parler \xe0 voix-haute."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Merci d\'utiliser SnapCall.","clipSubmissionTitle_one":"Votre clip a \xe9t\xe9 envoy\xe9","clipSubmissionTitle_other":"Vos clips ont \xe9t\xe9 envoy\xe9s","confirmRemovalDescription":"Voulez-vous vraiment supprimer cette photo/vid\xe9o ? Cette action ne peut pas \xeatre annul\xe9e.","confirmRemovalTitle":"Confirmer la suppression","elementBeingProcessed":"Veuillez patienter un moment pendant que votre {{ type }} est en cours de traitement...","elementCaptureSuccess":"{{ type }} captur\xe9(e) avec succ\xe8s","elementRecordedAndAttached":"Votre clip a \xe9t\xe9 envoy\xe9 et joint au fil de discussion.","goBackToTicket":"Revenir au billet","instructions":{"allowAccessOnPrompt":"<bold>Autorisez l\'acc\xe8s</bold> \xe0 la cam\xe9ra et au micro lorsque demand\xe9.","multiplePhotos":"Prenez <bold>une ou plusieurs photos</bold> pour donner plus de d\xe9tails.","privacyPolicy":"En continuant, vous acceptez notre <bold>Politique de confidentialit\xe9</bold>.","reviewAndSendAudios":"<bold>V\xe9rifiez vos audios</bold>, et ils seront envoy\xe9s automatiquement \xe0 nous.","reviewAndSendPhotos":"<bold>Validez vos photos</bold>, et elles nous seront envoy\xe9es automatiquement.","reviewAndSendVideos":"<bold>Validez vos vid\xe9os</bold>, et elles nous seront envoy\xe9es automatiquement.","screenShareInstruction":"S\xe9lectionnez l\'\xe9cran ou la fen\xeatre que vous souhaitez enregistrer.","speakClearly":"<bold>Parlez clairement</bold> et dites ce que vous devez transmettre.","tapAudioButton":"<bold>Appuyez sur le bouton d\'enregistrement</bold> pour commencer \xe0 enregistrer votre message audio.","tapStopVideoButton":"<bold>Appuyez sur Arr\xeat</bold> lorsque vous avez termin\xe9.","tapVideoButton":"<bold>Appuyez sur Enregistrer</bold>. Pensez \xe0 commenter.","videoSpeech":"Vous pouvez <bold>parler pendant</bold> l\'enregistrement pour ajouter des d\xe9tails."},"limit":"Enregistrement vid\xe9o limit\xe9 \xe0 5 min.","logIn":"Se connecter","loggedAs":"Connect\xe9 en tant que","okay":"D\'accord","openThread":"Ouvrir le fil de discussion","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.","permissionDeniedTitle":"Quelque chose s\'est mal pass\xe9 !","photoInstructionsTitle":"Pr\xeat \xe0 prendre une photo ?","replyAttached":"Votre r\xe9ponse a \xe9t\xe9 jointe","scanQRCode":"Scannez ce code QR avec un appareil compatible.","screenShareInstructionsTitle":"Pr\xeat \xe0 partager votre \xe9cran ?","screenTitle":"Pr\xeat \xe0 capturer votre \xe9cran ?","send":"Envoyer","sendElements_one":"Envoyer la {{ type }}","sendElements_other":"Envoyer {{ count }} \xe9l\xe9ments","startScreenShareButton":"Enregistrer \xe9cran","stopScreenShareButton":"Stop enregistrement","submissionDescription":"Votre photo/vid\xe9o a \xe9t\xe9 envoy\xe9e avec succ\xe8s. Nous l\'examinerons et reviendrons vers vous bient\xf4t.","submissionTitle":"Merci pour votre soumission !","switchToMobileDescription":"Profitez d\'une exp\xe9rience encore plus pratique en utilisant votre t\xe9l\xe9phone pour prendre des photos et enregistrer des vid\xe9os.","switchToMobileTitle":"Passez sur votre mobile","takeNewElement":"Prendre une nouvelle {{ type }}","useDesktopVersion":"Continuer","videoInstructionsTitle":"Pr\xeat \xe0 enregistrer une vid\xe9o ?","waitVideo":"Cela peut prendre jusqu\'\xe0 15 secondes pour qu\'une vid\xe9o soit pr\xeate."},"recordingPopup":{"dismiss":"Fermer","recordingStartText":"Cet appel sera enregistr\xe9 sous peu. Si vous pr\xe9f\xe9rez ne pas \xeatre enregistr\xe9, vous \xeates libre de quitter l\'appel \xe0 tout moment.","recordingStartTitle":"L\'enregistrement va commencer."},"requestAccess":{"admit":"Accepter","defaultName":"Un utilisateur","deny":"Refuser","wantToJoin":"{{name}} souhaite rejoindre!"},"requestDevice":{"declined":"Votre requ\xeate a \xe9t\xe9 refus\xe9.","request":"{{user}} voudrait que vous partagiez votre {{device}}","requestInput":"Demander l\'activation","timedOut":"Votre requ\xeate n\'a pas eu de r\xe9ponse","userDeclined":"{{user}} a d\xe9clin\xe9 votre requ\xeate."},"settings":{"devices":"Appareils","help":"Aide","helpCenter":"Acc\xe9der au centre d\'aide","language":"Langage","preferences":"Pr\xe9f\xe9rences","title":"Param\xe8tres"},"shareLink":{"failed":"Une erreur est survenue pendant l\'envoi du lien","invalid":"Lien invalide","invoice":"{{user}} vous a envoy\xe9 une facture.","pay":"Payer","poweredBy":"Propos\xe9 par","sentToUser":"Lien envoy\xe9 \xe0 {{user}}","sentToUsers":"Lien envoy\xe9 aux participants","title":"Partager un lien","title2":"Partager un lien"},"sharedHistory":{"shared":"Partag\xe9 avec vous"},"snapshot":{"error":"Une erreur est survenue pendant l\'envoi du snapshot","save":"Sauvegarder l\'image","sentToUser":"Snapshot envoy\xe9 \xe0 {{user}}","sentToUsers":"Snapshot envoy\xe9 aux participants.","shared":"Snapshot envoy\xe9.","title":"Snapshot"},"videoMenu":{"blockedCamera":"Votre cam\xe9ra est bloqu\xe9.","cameraPermissions":"Please accept camera sharing before accessing these options.","highDef":"Haute d\xe9finition (720p)","lowDef":"Basse d\xe9finition (240p)","sendResolution":"R\xe9solution envoy\xe9e (max)","standardDef":"D\xe9finition standard (480p)","title":"Video"},"virtualBackground":{"setBackground":"Mettre l\'arri\xe8re plan","title":"Arri\xe8re plan virtuel"},"youtube":{"invalid":"URL YouTube invalide","share":"Regarder maintenant","title":"Regardons Ensemble","url":"URL YOUTUBE"}}');
|
|
366
|
+
$dcf57489ec338826$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"Votre micro est bloqu\xe9.","microphonePermissions":"Please accept microphone sharing before accessing these options.","title":"Audio"},"blockedFeature":{"descriptionConnected":"Vous n\'avez pas acc\xe8s \xe0 cette fonctionnalit\xe9. Souscrivez au plan Pro pour d\xe9bloquer toutes les fonctionnalit\xe9s de SnapCall.","descriptionGuest":"Vous participez \xe0 un appel cr\xe9\xe9 avec la version gratuite de SnapCall. Cette fonctionnalit\xe9 n\'est disponible qu\'avec une version Pro.","dismissConnected":"Souscrire \xe0 Pro","dismissGuest":"D\'accord","titleConnected":"Souscrire au plan Pro","titleGuest":"Fonctionnalit\xe9 non disponible"},"common":{"new":"new"},"copyLink":{"copied":"Lien copi\xe9 dans le presse-papier","copy":"Copier","description":"Copier le lien dans le presse-papiers","error":"Une erreur est survenue pendant la copie du lien dans le presse-papier","title":"Copier le lien"},"endView":{"callEnded":"Cet appel est termin\xe9","callIsOver":"Cet appel est termin\xe9 ou supprim\xe9","callLeft":"Vous avez quitt\xe9 l\'appel","full":"Impossible de rejoindre l\'appel","fullDescription":"Limite d\'utilisateurs atteinte. Merci de rejoindre l\'appel ult\xe9rieurement.","goBack":"Retourner dans l\'appel","tooLate":"Vous \xeates arriv\xe9 trop tard"},"gdpr":{"recordedWarning":"Pour am\xe9liorer la qualit\xe9 de notre service, cet appel va \xeatre enregistr\xe9."},"greeting":{"askToJoin":"Demander \xe0 rejoindre","askingLetIn":"Demande de participation...","cameraDisabled":"Cam\xe9ra d\xe9sactiv\xe9e","cameraEnabled":"Cam\xe9ra activ\xe9e","canceledCallRequest":"La demande d\'appel sera annul\xe9e et vous serez redirig\xe9 vers la page de planification des appels.","cantJoinCall":"Vous ne pouvez pas rejoindre cet appel","cantWait":"Vous ne souhaitez pas attendre ?","cantWaitLeaveMessage":"Vous ne pouvez pas attendre ? Vous pouvez laisser un message et vous serez contact\xe9 dans les plus brefs d\xe9lais.","clickOnLock":"Cliquez sur l\'ic\xf4ne de verrouillage <1></1> dans la barre de votre navigateur.","footerDescription":"D\xe9couvrez SnapCall, ajoutez de la vid\xe9o en temps r\xe9el \xe0 n\'importe quelle plateforme, produit ou service.","footerTitle":"Propuls\xe9 par SnapCall","leaveMessage":"Laisser un message","mainTitle":"Bienvenue sur SnapCall","mediaDenied":"Acc\xe8s au microphone et \xe0 la cam\xe9ra refus\xe9","microphoneDisabled":"Microphone d\xe9sactiv\xe9","microphoneEnabled":"Microphone activ\xe9","name":"Nom","nameDescription":"Ce nom sera affich\xe9 \xe0 tous les participants","namePlaceholder":"Ex. Lucie ou Pierre","nameSubmit":"Rejoindre la conversation","recordVideo":"Enregistrer une vid\xe9o","recordVoice":"Enregistrer un message vocal","requestACall":"Solliciter un appel maintenant","scheduleACall":"Planifier un appel","setting":"Param\xe8tres","sideDescription":"Veuillez entrer votre nom et configurer votre cam\xe9ra et microphone.","sideTitle":"C\'est bient\xf4t votre tour !","someoneDenied":"Quelqu\'un lors de l\'appel a refus\xe9 votre demande de participation.","takeFewMinute":"Cela peut prendre quelques minutes selon la disponibilit\xe9 des participants.","whatYouCanDo":"Voici ce que vous pouvez faire","youWillJoinWhenSomeoneLetsYou":"Votre acc\xe8s \xe0 l\'appel sera autoris\xe9 par un membre de l\'\xe9quipe {{ companyName }}."},"header":{"free":"Version gratuite"},"invitePeople":{"addEmailToInvite":"Ajoutez un e-mail pour inviter.","addEmails":"Ajouter des e-mails...","copyCallLinkDescription":"Copiez ce lien et envoyez-le \xe0 toute personne que vous souhaitez inviter \xe0 rejoindre l\'appel.","copyClipLinkDescription":"Copiez ce lien et envoyez-le \xe0 toute personne que vous souhaitez inviter \xe0 enregistrer un clip.","email":"Email","emailPlaceholder":"Ex. jean@acme.com","emailsOrNumberPlaceholder":"Eg. john@acme.com or +33612345678","error":"\xc9chec de l\'envoi, veuillez r\xe9essayer plus tard.","invalidEmail":"Format d\'email invalide.","invalidEmailOrNumber":"Invalid email or number format.","invitationSentTo_one":"Envoy\xe9 \xe0 {{ name }}","invitationSentTo_other":"Envoy\xe9 \xe0 {{ name }} et {{ otherEmailsCount }}+","invite":"Inviter","inviteByEmail":"Inviter par email","inviteByEmailOrNumber":"Invite by email or sms","inviteCall":"Inviter \xe0 rejoindre l\'appel","inviteCallDefaultMessage":"Vous \xeates invit\xe9 \xe0 rejoindre notre appel vid\xe9o. Cliquez sur le lien pour vous connecter instantan\xe9ment.","inviteClipDefaultMessage":"Veuillez enregistrer votre clip vid\xe9o maintenant et nous fournir plus de contexte pour mieux vous aider.","invitePeople":"Invite people","inviteRecordClip":"Inviter \xe0 enregistrer un clip","linkToJoinCall":"Lien pour rejoindre l\'appel","linkToRecordAClip":"Lien pour enregistrer un clip","message":"Message","sharePublicLink":"Partager le lien public"},"leave":{"endCall":"Terminer l\'appel","leaveCall":"Quitter l\'appel","title":"Quitter"},"loader":{"connection":"Connexion..."},"menu":{"new":"NOUVEAU","openNewTab":"Ouvrir un nouvel onglet","pictureInPicture":"Picture-in-Picture","quickConnect":"Quick Connect","screenSharing":"Partage d\'\xe9cran","startRecord":"Enregistrer l\'appel","stopRecord":"Arr\xeater l\'enregistrement","title":"Menu"},"misc":{"accept":"Accepter","audio":"Audio","camera":"Cam\xe9ra","cancel":"Annuler","confirm":"Confirmer","decline":"D\xe9cliner","from":"Depuis","microphone":"Micro","open":"Ouvrir","photo":"Photo","proceed":"Proc\xe9der","remove":"Enlever","screen":"\xc9cran","screenshot":"Capture d\'\xe9cran","someone":"Quelqu\'un","speaker":"Haut-parleur","user":"Utilisateur","video":"Vid\xe9o","you":"Vous"},"notifications":{"agentJoinError":"Une erreur est survenue en essayant de rejoindre la salle en tant qu\'agent","blockedMicrophonePopup":"SnapCall a besoin d\'acc\xe9der \xe0 votre cam\xe9ra et micro. Cliquez sur l\'ic\xf4ne de cam\xe9ra bloqu\xe9e dans la barre d\'adresse du navigateur.","blockedMicrophonePopupTitle":"Votre cam\xe9ra et micro sont bloqu\xe9s","cameraError":"Une erreur est survenue pendant l\'activation de la cam\xe9ra","cameraRotateError":"Une erreur est survenue pendant la rotation de la cam\xe9ra","close":"Fermer","connectedTo":"Connect\xe9 \xe0 {{name}}","criticalError":"Une erreur critique est survenue (erreur {{code}}).","invitationSentToFailed":"Sent to {{ name }} failed.","microphoneError":"Une erreur est survenue pendant l\'activation du micro","noCamera":"Aucune cam\xe9ra disponible","recording":"Enregistrement en cours","reload":"Recharger","screensharingError":"Une erreur est survenue pendant l\'activation du partage d\'\xe9cran"},"quickConnect":{"scan":"Scannez ce QR code avec votre t\xe9l\xe9phone pour ouvrir l\'appel.","scanTitle":"Scannez le QR Code","title":"Quick Connect"},"recorder":{"addMore":"Ajouter plus","addNewClip":"Ajouter un nouveau clip","allowAccess":"Autoriser l\'acc\xe8s","allowCamMicAccess":"Autoriser acc\xe8s cam\xe9ra/micro","allowScreenShareAccess":"Autoriser l\'acc\xe8s au partage d\'\xe9cran","attachElements_one":"Joindre {{ type }} au ticket","attachElements_other":"Joindre {{ count }} \xe9l\xe9ments","audioInstructionsTitle":"Pr\xeat \xe0 enregistrer un message vocal\xa0?","audioLevelNotification":{"noSound":{"description":"Assurez-vous que votre microphone est activ\xe9.","title":"Aucun son d\xe9tect\xe9."},"shortVideo":{"description":"Cette vid\xe9o semble assez courte, ne fournit pas assez de d\xe9tails.","title":"Vid\xe9o courte."},"spokenWordsQuestion":{"description":"Votre vid\xe9o offre-t-elle une explication d\xe9taill\xe9e et claire ?","title":"Avez-vous tout expliqu\xe9 ?"},"spokenWordsWarning":{"description":"La vid\xe9o ne comprend pratiquement aucun mot prononc\xe9.","title":"Aucun mot prononc\xe9."}},"audioLevelToast":{"continueSpeaking":"Continuez \xe0 parler pour expliquer.","noSound":"Aucun son d\xe9tect\xe9.","rememberSpeaking":"Veuillez parler \xe0 voix-haute."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Merci d\'utiliser SnapCall.","clipSubmissionTitle_one":"Votre clip a \xe9t\xe9 envoy\xe9","clipSubmissionTitle_other":"Vos clips ont \xe9t\xe9 envoy\xe9s","confirmRemovalDescription":"Voulez-vous vraiment supprimer cette photo/vid\xe9o ? Cette action ne peut pas \xeatre annul\xe9e.","confirmRemovalTitle":"Confirmer la suppression","elementBeingProcessed":"Veuillez patienter un moment pendant que votre {{ type }} est en cours de traitement...","elementCaptureSuccess":"{{ type }} captur\xe9(e) avec succ\xe8s","elementRecordedAndAttached":"Votre clip a \xe9t\xe9 envoy\xe9 et joint au fil de discussion.","goBackToTicket":"Revenir au billet","instructions":{"allowAccessOnPrompt":"<bold>Autorisez l\'acc\xe8s</bold> \xe0 la cam\xe9ra et au micro lorsque demand\xe9.","multiplePhotos":"Prenez <bold>une ou plusieurs photos</bold> pour donner plus de d\xe9tails.","privacyPolicy":"En continuant, vous acceptez notre <bold>Politique de confidentialit\xe9</bold>.","reviewAndSendAudios":"<bold>V\xe9rifiez vos audios</bold>, et ils seront envoy\xe9s automatiquement \xe0 nous.","reviewAndSendPhotos":"<bold>Validez vos photos</bold>, et elles nous seront envoy\xe9es automatiquement.","reviewAndSendVideos":"<bold>Validez vos vid\xe9os</bold>, et elles nous seront envoy\xe9es automatiquement.","screenShareInstruction":"S\xe9lectionnez l\'\xe9cran ou la fen\xeatre que vous souhaitez enregistrer.","selectScreenshare":"Tap Record my screen and select the screen or window you want to record.","speakClearly":"<bold>Parlez clairement</bold> et dites ce que vous devez transmettre.","speakDuringRecord":"You can speak while recording to add details.","stopScreenOnFinish":"Press the Stop button when finished. The video will be sent to us automatically.","tapAudioButton":"<bold>Appuyez sur le bouton d\'enregistrement</bold> pour commencer \xe0 enregistrer votre message audio.","tapStopVideoButton":"<bold>Appuyez sur Arr\xeat</bold> lorsque vous avez termin\xe9.","tapVideoButton":"<bold>Appuyez sur Enregistrer</bold>. Pensez \xe0 commenter.","videoSpeech":"Vous pouvez <bold>parler pendant</bold> l\'enregistrement pour ajouter des d\xe9tails."},"limit":"Enregistrement vid\xe9o limit\xe9 \xe0 5 min.","logIn":"Se connecter","loggedAs":"Connect\xe9 en tant que","okay":"D\'accord","openThread":"Ouvrir le fil de discussion","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.","permissionDeniedTitle":"Quelque chose s\'est mal pass\xe9 !","photoInstructionsTitle":"Pr\xeat \xe0 prendre une photo ?","replyAttached":"Votre r\xe9ponse a \xe9t\xe9 jointe","scanQRCode":"Scannez ce code QR avec un appareil compatible.","screenShareInstructionsTitle":"Pr\xeat \xe0 partager votre \xe9cran ?","screenTitle":"Pr\xeat \xe0 capturer votre \xe9cran ?","send":"Envoyer","sendElements_one":"Envoyer la {{ type }}","sendElements_other":"Envoyer {{ count }} \xe9l\xe9ments","startScreenShareButton":"Enregistrer \xe9cran","stopScreenShareButton":"Stop enregistrement","submissionDescription":"Votre photo/vid\xe9o a \xe9t\xe9 envoy\xe9e avec succ\xe8s. Nous l\'examinerons et reviendrons vers vous bient\xf4t.","submissionTitle":"Merci pour votre soumission !","switchToMobileDescription":"Profitez d\'une exp\xe9rience encore plus pratique en utilisant votre t\xe9l\xe9phone pour prendre des photos et enregistrer des vid\xe9os.","switchToMobileTitle":"Passez sur votre mobile","takeNewElement":"Prendre une nouvelle {{ type }}","useDesktopVersion":"Continuer","videoInstructionsTitle":"Pr\xeat \xe0 enregistrer une vid\xe9o ?","waitVideo":"Cela peut prendre jusqu\'\xe0 15 secondes pour qu\'une vid\xe9o soit pr\xeate."},"recordingPopup":{"dismiss":"Fermer","recordingStartText":"Cet appel sera enregistr\xe9 sous peu. Si vous pr\xe9f\xe9rez ne pas \xeatre enregistr\xe9, vous \xeates libre de quitter l\'appel \xe0 tout moment.","recordingStartTitle":"L\'enregistrement va commencer."},"requestAccess":{"admit":"Accepter","defaultName":"Un utilisateur","deny":"Refuser","wantToJoin":"{{name}} souhaite rejoindre!"},"requestDevice":{"declined":"Votre requ\xeate a \xe9t\xe9 refus\xe9.","request":"{{user}} voudrait que vous partagiez votre {{device}}","requestInput":"Demander l\'activation","timedOut":"Votre requ\xeate n\'a pas eu de r\xe9ponse","userDeclined":"{{user}} a d\xe9clin\xe9 votre requ\xeate."},"settings":{"devices":"Appareils","help":"Aide","helpCenter":"Acc\xe9der au centre d\'aide","language":"Langage","preferences":"Pr\xe9f\xe9rences","title":"Param\xe8tres"},"shareLink":{"failed":"Une erreur est survenue pendant l\'envoi du lien","invalid":"Lien invalide","invoice":"{{user}} vous a envoy\xe9 une facture.","pay":"Payer","poweredBy":"Propos\xe9 par","sentToUser":"Lien envoy\xe9 \xe0 {{user}}","sentToUsers":"Lien envoy\xe9 aux participants","title":"Partager un lien","title2":"Partager un lien"},"sharedHistory":{"shared":"Partag\xe9 avec vous"},"snapshot":{"error":"Une erreur est survenue pendant l\'envoi du snapshot","save":"Sauvegarder l\'image","sentToUser":"Snapshot envoy\xe9 \xe0 {{user}}","sentToUsers":"Snapshot envoy\xe9 aux participants.","shared":"Snapshot envoy\xe9.","title":"Snapshot"},"videoMenu":{"blockedCamera":"Votre cam\xe9ra est bloqu\xe9.","cameraPermissions":"Please accept camera sharing before accessing these options.","highDef":"Haute d\xe9finition (720p)","lowDef":"Basse d\xe9finition (240p)","sendResolution":"R\xe9solution envoy\xe9e (max)","standardDef":"D\xe9finition standard (480p)","title":"Video"},"virtualBackground":{"setBackground":"Mettre l\'arri\xe8re plan","title":"Arri\xe8re plan virtuel"},"youtube":{"invalid":"URL YouTube invalide","share":"Regarder maintenant","title":"Regardons Ensemble","url":"URL YOUTUBE"}}');
|
|
367
367
|
|
|
368
368
|
|
|
369
369
|
var $8af7f345a966aef3$exports = {};
|
|
370
|
-
$8af7f345a966aef3$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"Il tuo microfono \xe8 bloccato.","microphonePermissions":"Si prega di accettare la condivisione del microfono prima di accedere a queste opzioni.","title":"Audio"},"blockedFeature":{"descriptionConnected":"Su un piano gratuito, non puoi utilizzare questa funzione. Aggiorna il tuo piano per usufruire di tutte le funzionalit\xe0 in chiamata.","descriptionGuest":"Stai partecipando a una chiamata creata con una versione gratuita di SnapCall. Questa funzione \xe8 disponibile solo con una versione Pro.","dismissConnected":"L\'aggiornamento a Pro","dismissGuest":"Okay","titleConnected":"L\'aggiornamento a Pro","titleGuest":"Funzione non disponibile"},"copyLink":{"copied":"Link copiato negli Appunti","copy":"Copia","description":"Copia il link negli appunti","error":"Si \xe8 verificato un errore durante la copia negli Appunti","title":"Copia il link"},"endView":{"callEnded":"Questa chiamata \xe8 finita","callIsOver":"Questa chiamata \xe8 finita o \xe8 stata eliminata","callLeft":"Hai lasciato la chiamata","full":"Impossibile partecipare alla chiamata","fullDescription":"Limite d\'uso attenente.","goBack":"Torna alla chiamata","tooLate":"Sei arrivato troppo tardi"},"gdpr":{"recordedWarning":"Per migliorare la qualit\xe0 del nostro servizio, questa chiamata verr\xe0 registrata."},"greeting":{"askToJoin":"Chiedi di partecipare","askingLetIn":"Chiedo di essere fatto entrare...","cameraDisabled":"Fotocamera \xe8 spenta","cameraEnabled":"Fotocamera \xe8 accesa","canceledCallRequest":"La richiesta di chiamata verr\xe0 annullata e verrai reindirizzato alla pagina di pianificazione delle chiamate","cantJoinCall":"Non puoi partecipare a questa chiamata","cantWait":"Non vedo l\'ora?","cantWaitLeaveMessage":"Non vedi l\'ora? Puoi lasciare un messaggio e sarai contattato il prima possibile.","clickOnLock":"Fai clic sull\'icona del lucchetto <1></1> nella barra del browser.","footerDescription":"Incontrare SnapCall, il modo pi\xf9 semplice per aggiungere video in tempo reale a piattaforma, prodotto o servizio.","footerTitle":"Offerto da SnapCall","leaveMessage":"Lascia un messaggio","mainTitle":"Benvenuto a SnapCall","mediaDenied":"Accesso al microfono e alla fotocamera negato","microphoneDisabled":"Microfono \xe8 spento","microphoneEnabled":"Microfono \xe8 acceso","name":"Nome","nameDescription":"Questo nome verr\xe0 visualizzato a tutti i partecipanti alla chiamata.","namePlaceholder":"Per esempio. Lucia o Pietro","nameSubmit":"Partecipa alla conversazione","recordVideo":"Registra video","recordVoice":"Registra voce","requestACall":"Richiedi una chiamata","scheduleACall":"Pianifica una chiamata","setting":"Impostazioni","sideDescription":"Inserisci il tuo nome e regola la fotocamera e il microfono","sideTitle":"Tieni duro, il prossimo sei tu!","someoneDenied":"Qualcuno nella chiamata ha rifiutato la tua richiesta di partecipazione.","takeFewMinute":"L\'operazione potrebbe richiedere alcuni minuti a seconda della disponibilit\xe0 dei partecipanti.","whatYouCanDo":"Ecco cosa puoi fare","youWillJoinWhenSomeoneLetsYou":"Parteciperai alla chiamata quando qualcuno di {{ companyName }} ti far\xe0 entrare."},"header":{"free":"Versione gratuita"},"invitePeople":{"addEmailToInvite":"Aggiungi un\'e-mail per invitare.","addEmails":"Aggiungi email...","copyCallLinkDescription":"Copia questo link e invialo a chiunque desideri invitare a partecipare alla chiamata.","copyClipLinkDescription":"Copia questo collegamento e invialo a chiunque desideri invitare a registrare una clip.","email":"Email","emailPlaceholder":"Es. john@acme.com","error":"Impossibile inviare, riprova pi\xf9 tardi.","invalidEmail":"Formato email non valido.","invitationSentTo_one":"Inviato a {{ name }}","invitationSentTo_other":"Inviato a {{ name }} e {{ otherEmailsCount }}+","invite":"Invita","inviteByEmail":"Invita via email","inviteCall":"Invita a partecipare alla chiamata","inviteCallDefaultMessage":"Sei invitato a partecipare alla nostra videochiamata. Fare clic sul collegamento per connettersi immediatamente.","inviteClipDefaultMessage":"Registra subito il tuo videoclip e forniscici pi\xf9 contesto per assisterti meglio.","inviteRecordClip":"Invita a registrare la clip","linkToJoinCall":"Link per partecipare alla chiamata","linkToRecordAClip":"Collegamento per registrare una clip","message":"Messaggio","sharePublicLink":"Condividi link"},"leave":{"endCall":"Termina la chiamata per tutti","leaveCall":"Lascia la chiamata","title":"Lasciare"},"loader":{"connection":"Connessione..."},"menu":{"new":"NUOVO","openNewTab":"Apri una nuova scheda","pictureInPicture":"Immagine nell\'immagine","quickConnect":"Connessione Rapida","screenSharing":"Condivisione dello schermo","startRecord":"Registra chiamata","stopRecord":"Interrompere la registrazione","title":"Men\xf9"},"misc":{"accept":"Accettare","audio":"Audio","camera":"Telecamera","cancel":"Annulla","confirm":"Confermare","decline":"Declinare","from":"Da","microphone":"Microfono","open":"Aprire","photo":"Foto","proceed":"Procedere","remove":"Rimuovere","screen":"Schermo","screenshot":"Schermata","someone":"Qualcuno","speaker":"Altoparlante","user":"Utente","video":"Video","you":"Voi"},"notifications":{"agentJoinError":"Si \xe8 verificato un errore cercando di entrare nella conversazione come agente","blockedMicrophonePopup":"SnapCall ha bisogno di accedere alla fotocamera e al microfono. Fare clic sull\'icona della fotocamera bloccata nella barra degli indirizzi del browser.","blockedMicrophonePopupTitle":"La tua fotocamera e il tuo microfono sono bloccati","cameraError":"Si \xe8 verificato un errore durante l\'attivazione della fotocamera","cameraRotateError":"Si \xe8 verificato un errore durante la rotazione della fotocamera","close":"Chiudere","connectedTo":"Connesso a {{name}}","criticalError":"Si \xe8 verificato un errore critico (errore {{code}}).","microphoneError":"Si \xe8 verificato un errore durante l\'attivazione del microfono","noCamera":"Nessuna fotocamera disponibile","recording":"Registrazione in corso","reload":"Ricaricare","screensharingError":"Si \xe8 verificato un errore durante l\'attivazione della condivisione dello schermo"},"quickConnect":{"scan":"Scansiona questo codice QR con il telefono per aprire la chiamata.","scanTitle":"Scansiona il codice QR","title":"Connessione Rapida"},"recorder":{"addMore":"Aggiungere altro","addNewClip":"Aggiungi una nuova clip","allowAccess":"Consenti accesso","allowCamMicAccess":"Consenti l\'accesso a cam/mic","allowScreenShareAccess":"Consenti accesso alla condivisione dello schermo","attachElements_one":"Allega {{ type }} al biglietto","attachElements_other":"Allega {{ count }} elementi","audioInstructionsTitle":"Pronti per registrare un messaggio vocale?","audioLevelNotification":{"noSound":{"description":"Assicurati che il microfono sia attivato.","title":"Nessun suono rilevato."},"shortVideo":{"description":"Questo video \xe8 troppo breve per avere un contesto.","title":"Breve video."},"spokenWordsQuestion":{"description":"Il tuo video include abbastanza dettagli parlati?","title":"Parole pronunciate."},"spokenWordsWarning":{"description":"La clip include a malapena parole pronunciate.","title":"Nessuna parola detta."}},"audioLevelToast":{"continueSpeaking":"Continua a parlare per un contesto pi\xf9 chiaro.","noSound":"Nessun suono rilevato.","rememberSpeaking":"Ricordati di parlare per fornire il contesto."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Grazie per aver utilizzato SnapCall.","clipSubmissionTitle_one":"La tua clip \xe8 stata inviata","clipSubmissionTitle_other":"I tuoi clip sono stati inviati","confirmRemovalDescription":"Sei sicuro di voler rimuovere questa foto/video? Questa azione non pu\xf2 essere annullata.","confirmRemovalTitle":"Conferma rimozione","elementBeingProcessed":"Attendi un momento mentre il tuo {{ type }} viene elaborato...","elementCaptureSuccess":"{{ type }} catturato con successo","elementRecordedAndAttached":"La tua clip \xe8 stata inviata e allegata al thread.","goBackToTicket":"Torna al biglietto","instructions":{"allowAccessOnPrompt":"<bold>Consenti l\'accesso</bold> alla fotocamera e al microfono.","multiplePhotos":"Scatta <bold>una foto o pi\xf9</bold> di una per i dettagli.","privacyPolicy":"Procedendo, accetti la nostra <bold>Politica sulla Privacy.</bold>","reviewAndSendAudios":"<bold>Rivedi i tuoi audio</bold> e verranno inviati automaticamente a noi.","reviewAndSendPhotos":"<bold>Convalida le tue foto</bold> e verranno inviate automaticamente a noi.","reviewAndSendVideos":"<bold>Convalida i tuoi video</bold> e verranno inviati automaticamente a noi.","screenShareInstruction":"Seleziona lo schermo o la finestra che desideri registrare.","speakClearly":"<bold>Parla chiaramente</bold> e d\xec ci\xf2 che devi comunicare.","tapAudioButton":"<bold>Premi il pulsante di registrazione</bold> per iniziare a registrare il tuo messaggio vocale.","tapStopVideoButton":"<bold>Premi Stop</bold> quando hai finito.","tapVideoButton":"<bold>Premi Registra</bold>. Ricordati di commentare.","videoSpeech":"Puoi <bold>parlare durante</bold> la registrazione per aggiungere dettagli."},"limit":"Registrazione video limitata a 5 min.","logIn":"Login","loggedAs":"Registrato come","okay":"Okay","openThread":"Apri il thread","permissionDeniedDescription":"Senza l\'accesso alla fotocamera e al microfono, non \xe8 possibile scattare foto o registrare video da condividere con il team di supporto. Si prega di concedere l\'accesso nelle impostazioni del browser.","permissionDeniedTitle":"Qualcosa \xe8 andato storto!","photoInstructionsTitle":"Pronto a scattare una foto?","replyAttached":"La tua risposta \xe8 stata allegata","scanQRCode":"Scansiona questo codice QR con un dispositivo compatibile.","screenShareInstructionsTitle":"Pronto a condividere il tuo schermo?","screenTitle":"Pronto a catturare il tuo schermo?","send":"Invia","sendElements_one":"Invia {{ type }}","sendElements_other":"Invia {{ count }} elementi","startScreenShareButton":"Registra il mio schermo","stopScreenShareButton":"Ferma registrazione","submissionDescription":"La tua foto/video \xe8 stata inviata con successo. La esamineremo e ti risponderemo al pi\xf9 presto.","submissionTitle":"Grazie per il tuo invio!","switchToMobileDescription":"Goditi un\'esperienza ancora pi\xf9 pratica utilizzando il tuo telefono per scattare foto e registrare video.","switchToMobileTitle":"Passa al tuo dispositivo mobile","takeNewElement":"Cattura un nuovo {{ type }}","useDesktopVersion":"Usa la versione desktop","videoInstructionsTitle":"Pronto a registrare un video?","waitVideo":"Potrebbero essere necessari fino a 15 secondi affinch\xe9 un video sia pronto."},"recordingPopup":{"dismiss":"Chiudi","recordingStartText":"Questa chiamata verr\xe0 registrata a breve. Se preferisci non essere registrato, sei libero di lasciare la chiamata in questo momento.","recordingStartTitle":"Registrazione in procinto di iniziare."},"requestAccess":{"admit":"Ammettere","defaultName":"Un utente","deny":"Negare","wantToJoin":"<bold>{{name}}</bold> vuole unirsi!"},"requestDevice":{"declined":"La tua richiesta \xe8 stata rifiutata.","request":"{{user}} vorrebbe condividere il tuo {{device}}","requestInput":"Richiesta di attivazione","timedOut":"La tua richiesta non ha ricevuto risposta","userDeclined":"{{user}} ha rifiutato la tua richiesta"},"settings":{"devices":"Dispositivi","help":"Aiuto","helpCenter":"Accedi all\'Assistenza","language":"Linguaggio","preferences":"Preferenze","title":"Impostazioni"},"shareLink":{"failed":"Si \xe8 verificato un errore durante l\'invio del link","invalid":"Collegamento non valido","invoice":"{{user}} ti ha inviato una fattura.","pay":"Paga","poweredBy":"Proposto da","sentToUser":"Link inviato a {{user}}","sentToUsers":"Link inviato ai partecipanti","title":"Condividi un link","title2":"Condividi un link"},"sharedHistory":{"shared":"Condiviso con te"},"snapshot":{"error":"Si \xe8 verificato un errore durante l\'invio della schermata","save":"Salva l\'immagine","sentToUser":"Schermata inviata a {{user}}","sentToUsers":"Schermanta inviata ai partecipanti","shared":"Schermata inviata","title":"Schermata"},"videoMenu":{"blockedCamera":"La fotocamera \xe8 bloccata.","cameraPermissions":"Si prega di accettare la condivisione della fotocamera prima di accedere a queste opzioni.","highDef":"Alta definizione (720p)","lowDef":"Definizione bassa (240p)","sendResolution":"Risoluzione inviata (max)","standardDef":"Definizione standard (480p)","title":"Video"},"virtualBackground":{"setBackground":"Imposta sfondo","title":"Sfondo virtuale"},"youtube":{"invalid":"URL YouTube non valido","share":"Guarda ora","title":"Vedere Assieme","url":"URL YOUTUBE"}}');
|
|
370
|
+
$8af7f345a966aef3$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"Il tuo microfono \xe8 bloccato.","microphonePermissions":"Si prega di accettare la condivisione del microfono prima di accedere a queste opzioni.","title":"Audio"},"blockedFeature":{"descriptionConnected":"Su un piano gratuito, non puoi utilizzare questa funzione. Aggiorna il tuo piano per usufruire di tutte le funzionalit\xe0 in chiamata.","descriptionGuest":"Stai partecipando a una chiamata creata con una versione gratuita di SnapCall. Questa funzione \xe8 disponibile solo con una versione Pro.","dismissConnected":"L\'aggiornamento a Pro","dismissGuest":"Okay","titleConnected":"L\'aggiornamento a Pro","titleGuest":"Funzione non disponibile"},"common":{"new":"new"},"copyLink":{"copied":"Link copiato negli Appunti","copy":"Copia","description":"Copia il link negli appunti","error":"Si \xe8 verificato un errore durante la copia negli Appunti","title":"Copia il link"},"endView":{"callEnded":"Questa chiamata \xe8 finita","callIsOver":"Questa chiamata \xe8 finita o \xe8 stata eliminata","callLeft":"Hai lasciato la chiamata","full":"Impossibile partecipare alla chiamata","fullDescription":"Limite d\'uso attenente.","goBack":"Torna alla chiamata","tooLate":"Sei arrivato troppo tardi"},"gdpr":{"recordedWarning":"Per migliorare la qualit\xe0 del nostro servizio, questa chiamata verr\xe0 registrata."},"greeting":{"askToJoin":"Chiedi di partecipare","askingLetIn":"Chiedo di essere fatto entrare...","cameraDisabled":"Fotocamera \xe8 spenta","cameraEnabled":"Fotocamera \xe8 accesa","canceledCallRequest":"La richiesta di chiamata verr\xe0 annullata e verrai reindirizzato alla pagina di pianificazione delle chiamate","cantJoinCall":"Non puoi partecipare a questa chiamata","cantWait":"Non vedo l\'ora?","cantWaitLeaveMessage":"Non vedi l\'ora? Puoi lasciare un messaggio e sarai contattato il prima possibile.","clickOnLock":"Fai clic sull\'icona del lucchetto <1></1> nella barra del browser.","footerDescription":"Incontrare SnapCall, il modo pi\xf9 semplice per aggiungere video in tempo reale a piattaforma, prodotto o servizio.","footerTitle":"Offerto da SnapCall","leaveMessage":"Lascia un messaggio","mainTitle":"Benvenuto a SnapCall","mediaDenied":"Accesso al microfono e alla fotocamera negato","microphoneDisabled":"Microfono \xe8 spento","microphoneEnabled":"Microfono \xe8 acceso","name":"Nome","nameDescription":"Questo nome verr\xe0 visualizzato a tutti i partecipanti alla chiamata.","namePlaceholder":"Per esempio. Lucia o Pietro","nameSubmit":"Partecipa alla conversazione","recordVideo":"Registra video","recordVoice":"Registra voce","requestACall":"Richiedi una chiamata","scheduleACall":"Pianifica una chiamata","setting":"Impostazioni","sideDescription":"Inserisci il tuo nome e regola la fotocamera e il microfono","sideTitle":"Tieni duro, il prossimo sei tu!","someoneDenied":"Qualcuno nella chiamata ha rifiutato la tua richiesta di partecipazione.","takeFewMinute":"L\'operazione potrebbe richiedere alcuni minuti a seconda della disponibilit\xe0 dei partecipanti.","whatYouCanDo":"Ecco cosa puoi fare","youWillJoinWhenSomeoneLetsYou":"Parteciperai alla chiamata quando qualcuno di {{ companyName }} ti far\xe0 entrare."},"header":{"free":"Versione gratuita"},"invitePeople":{"addEmailToInvite":"Aggiungi un\'e-mail per invitare.","addEmails":"Aggiungi email...","copyCallLinkDescription":"Copia questo link e invialo a chiunque desideri invitare a partecipare alla chiamata.","copyClipLinkDescription":"Copia questo collegamento e invialo a chiunque desideri invitare a registrare una clip.","email":"Email","emailPlaceholder":"Es. john@acme.com","emailsOrNumberPlaceholder":"Eg. john@acme.com or +33612345678","error":"Impossibile inviare, riprova pi\xf9 tardi.","invalidEmail":"Formato email non valido.","invalidEmailOrNumber":"Invalid email or number format.","invitationSentTo_one":"Inviato a {{ name }}","invitationSentTo_other":"Inviato a {{ name }} e {{ otherEmailsCount }}+","invite":"Invita","inviteByEmail":"Invita via email","inviteByEmailOrNumber":"Invite by email or sms","inviteCall":"Invita a partecipare alla chiamata","inviteCallDefaultMessage":"Sei invitato a partecipare alla nostra videochiamata. Fare clic sul collegamento per connettersi immediatamente.","inviteClipDefaultMessage":"Registra subito il tuo videoclip e forniscici pi\xf9 contesto per assisterti meglio.","invitePeople":"Invite people","inviteRecordClip":"Invita a registrare la clip","linkToJoinCall":"Link per partecipare alla chiamata","linkToRecordAClip":"Collegamento per registrare una clip","message":"Messaggio","sharePublicLink":"Condividi link"},"leave":{"endCall":"Termina la chiamata per tutti","leaveCall":"Lascia la chiamata","title":"Lasciare"},"loader":{"connection":"Connessione..."},"menu":{"new":"NUOVO","openNewTab":"Apri una nuova scheda","pictureInPicture":"Immagine nell\'immagine","quickConnect":"Connessione Rapida","screenSharing":"Condivisione dello schermo","startRecord":"Registra chiamata","stopRecord":"Interrompere la registrazione","title":"Men\xf9"},"misc":{"accept":"Accettare","audio":"Audio","camera":"Telecamera","cancel":"Annulla","confirm":"Confermare","decline":"Declinare","from":"Da","microphone":"Microfono","open":"Aprire","photo":"Foto","proceed":"Procedere","remove":"Rimuovere","screen":"Schermo","screenshot":"Schermata","someone":"Qualcuno","speaker":"Altoparlante","user":"Utente","video":"Video","you":"Voi"},"notifications":{"agentJoinError":"Si \xe8 verificato un errore cercando di entrare nella conversazione come agente","blockedMicrophonePopup":"SnapCall ha bisogno di accedere alla fotocamera e al microfono. Fare clic sull\'icona della fotocamera bloccata nella barra degli indirizzi del browser.","blockedMicrophonePopupTitle":"La tua fotocamera e il tuo microfono sono bloccati","cameraError":"Si \xe8 verificato un errore durante l\'attivazione della fotocamera","cameraRotateError":"Si \xe8 verificato un errore durante la rotazione della fotocamera","close":"Chiudere","connectedTo":"Connesso a {{name}}","criticalError":"Si \xe8 verificato un errore critico (errore {{code}}).","invitationSentToFailed":"Sent to {{ name }} failed.","microphoneError":"Si \xe8 verificato un errore durante l\'attivazione del microfono","noCamera":"Nessuna fotocamera disponibile","recording":"Registrazione in corso","reload":"Ricaricare","screensharingError":"Si \xe8 verificato un errore durante l\'attivazione della condivisione dello schermo"},"quickConnect":{"scan":"Scansiona questo codice QR con il telefono per aprire la chiamata.","scanTitle":"Scansiona il codice QR","title":"Connessione Rapida"},"recorder":{"addMore":"Aggiungere altro","addNewClip":"Aggiungi una nuova clip","allowAccess":"Consenti accesso","allowCamMicAccess":"Consenti l\'accesso a cam/mic","allowScreenShareAccess":"Consenti accesso alla condivisione dello schermo","attachElements_one":"Allega {{ type }} al biglietto","attachElements_other":"Allega {{ count }} elementi","audioInstructionsTitle":"Pronti per registrare un messaggio vocale?","audioLevelNotification":{"noSound":{"description":"Assicurati che il microfono sia attivato.","title":"Nessun suono rilevato."},"shortVideo":{"description":"Questo video \xe8 troppo breve per avere un contesto.","title":"Breve video."},"spokenWordsQuestion":{"description":"Il tuo video include abbastanza dettagli parlati?","title":"Parole pronunciate."},"spokenWordsWarning":{"description":"La clip include a malapena parole pronunciate.","title":"Nessuna parola detta."}},"audioLevelToast":{"continueSpeaking":"Continua a parlare per un contesto pi\xf9 chiaro.","noSound":"Nessun suono rilevato.","rememberSpeaking":"Ricordati di parlare per fornire il contesto."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Grazie per aver utilizzato SnapCall.","clipSubmissionTitle_one":"La tua clip \xe8 stata inviata","clipSubmissionTitle_other":"I tuoi clip sono stati inviati","confirmRemovalDescription":"Sei sicuro di voler rimuovere questa foto/video? Questa azione non pu\xf2 essere annullata.","confirmRemovalTitle":"Conferma rimozione","elementBeingProcessed":"Attendi un momento mentre il tuo {{ type }} viene elaborato...","elementCaptureSuccess":"{{ type }} catturato con successo","elementRecordedAndAttached":"La tua clip \xe8 stata inviata e allegata al thread.","goBackToTicket":"Torna al biglietto","instructions":{"allowAccessOnPrompt":"<bold>Consenti l\'accesso</bold> alla fotocamera e al microfono.","multiplePhotos":"Scatta <bold>una foto o pi\xf9</bold> di una per i dettagli.","privacyPolicy":"Procedendo, accetti la nostra <bold>Politica sulla Privacy.</bold>","reviewAndSendAudios":"<bold>Rivedi i tuoi audio</bold> e verranno inviati automaticamente a noi.","reviewAndSendPhotos":"<bold>Convalida le tue foto</bold> e verranno inviate automaticamente a noi.","reviewAndSendVideos":"<bold>Convalida i tuoi video</bold> e verranno inviati automaticamente a noi.","screenShareInstruction":"Seleziona lo schermo o la finestra che desideri registrare.","selectScreenshare":"Tap Record my screen and select the screen or window you want to record.","speakClearly":"<bold>Parla chiaramente</bold> e d\xec ci\xf2 che devi comunicare.","speakDuringRecord":"You can speak while recording to add details.","stopScreenOnFinish":"Press the Stop button when finished. The video will be sent to us automatically.","tapAudioButton":"<bold>Premi il pulsante di registrazione</bold> per iniziare a registrare il tuo messaggio vocale.","tapStopVideoButton":"<bold>Premi Stop</bold> quando hai finito.","tapVideoButton":"<bold>Premi Registra</bold>. Ricordati di commentare.","videoSpeech":"Puoi <bold>parlare durante</bold> la registrazione per aggiungere dettagli."},"limit":"Registrazione video limitata a 5 min.","logIn":"Login","loggedAs":"Registrato come","okay":"Okay","openThread":"Apri il thread","permissionDeniedDescription":"Senza l\'accesso alla fotocamera e al microfono, non \xe8 possibile scattare foto o registrare video da condividere con il team di supporto. Si prega di concedere l\'accesso nelle impostazioni del browser.","permissionDeniedTitle":"Qualcosa \xe8 andato storto!","photoInstructionsTitle":"Pronto a scattare una foto?","replyAttached":"La tua risposta \xe8 stata allegata","scanQRCode":"Scansiona questo codice QR con un dispositivo compatibile.","screenShareInstructionsTitle":"Pronto a condividere il tuo schermo?","screenTitle":"Pronto a catturare il tuo schermo?","send":"Invia","sendElements_one":"Invia {{ type }}","sendElements_other":"Invia {{ count }} elementi","startScreenShareButton":"Registra il mio schermo","stopScreenShareButton":"Ferma registrazione","submissionDescription":"La tua foto/video \xe8 stata inviata con successo. La esamineremo e ti risponderemo al pi\xf9 presto.","submissionTitle":"Grazie per il tuo invio!","switchToMobileDescription":"Goditi un\'esperienza ancora pi\xf9 pratica utilizzando il tuo telefono per scattare foto e registrare video.","switchToMobileTitle":"Passa al tuo dispositivo mobile","takeNewElement":"Cattura un nuovo {{ type }}","useDesktopVersion":"Usa la versione desktop","videoInstructionsTitle":"Pronto a registrare un video?","waitVideo":"Potrebbero essere necessari fino a 15 secondi affinch\xe9 un video sia pronto."},"recordingPopup":{"dismiss":"Chiudi","recordingStartText":"Questa chiamata verr\xe0 registrata a breve. Se preferisci non essere registrato, sei libero di lasciare la chiamata in questo momento.","recordingStartTitle":"Registrazione in procinto di iniziare."},"requestAccess":{"admit":"Ammettere","defaultName":"Un utente","deny":"Negare","wantToJoin":"<bold>{{name}}</bold> vuole unirsi!"},"requestDevice":{"declined":"La tua richiesta \xe8 stata rifiutata.","request":"{{user}} vorrebbe condividere il tuo {{device}}","requestInput":"Richiesta di attivazione","timedOut":"La tua richiesta non ha ricevuto risposta","userDeclined":"{{user}} ha rifiutato la tua richiesta"},"settings":{"devices":"Dispositivi","help":"Aiuto","helpCenter":"Accedi all\'Assistenza","language":"Linguaggio","preferences":"Preferenze","title":"Impostazioni"},"shareLink":{"failed":"Si \xe8 verificato un errore durante l\'invio del link","invalid":"Collegamento non valido","invoice":"{{user}} ti ha inviato una fattura.","pay":"Paga","poweredBy":"Proposto da","sentToUser":"Link inviato a {{user}}","sentToUsers":"Link inviato ai partecipanti","title":"Condividi un link","title2":"Condividi un link"},"sharedHistory":{"shared":"Condiviso con te"},"snapshot":{"error":"Si \xe8 verificato un errore durante l\'invio della schermata","save":"Salva l\'immagine","sentToUser":"Schermata inviata a {{user}}","sentToUsers":"Schermanta inviata ai partecipanti","shared":"Schermata inviata","title":"Schermata"},"videoMenu":{"blockedCamera":"La fotocamera \xe8 bloccata.","cameraPermissions":"Si prega di accettare la condivisione della fotocamera prima di accedere a queste opzioni.","highDef":"Alta definizione (720p)","lowDef":"Definizione bassa (240p)","sendResolution":"Risoluzione inviata (max)","standardDef":"Definizione standard (480p)","title":"Video"},"virtualBackground":{"setBackground":"Imposta sfondo","title":"Sfondo virtuale"},"youtube":{"invalid":"URL YouTube non valido","share":"Guarda ora","title":"Vedere Assieme","url":"URL YOUTUBE"}}');
|
|
371
371
|
|
|
372
372
|
|
|
373
373
|
var $888696145bca5c4a$exports = {};
|
|
374
|
-
$888696145bca5c4a$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"El micr\xf3fono est\xe1 bloqueado.","microphonePermissions":"Please accept microphone sharing before accessing these options.","title":"Audio"},"blockedFeature":{"descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissConnected":"Upgrade to Pro","dismissGuest":"Okay","titleConnected":"Upgrade to Pro","titleGuest":"Feature not available"},"copyLink":{"copied":"Link copied to clipboard","copy":"Copy","description":"Copy link into clipboard","error":"An error occured when trying to copy to clipboard","title":"Copy link"},"endView":{"callEnded":"The call is now ended","callIsOver":"The call is over or deleted","callLeft":"You left the call","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later.","goBack":"Go back to call","tooLate":"You arrived too late"},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"greeting":{"askToJoin":"Ask to join","askingLetIn":"Asking to be let in...","cameraDisabled":"Camera is Off","cameraEnabled":"Camera is On","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","cantJoinCall":"You can\u2019t join this call","cantWait":"Can\'t wait?","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar.","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","footerTitle":"Powered by SnapCall","leaveMessage":"Leave a message","mainTitle":"Welcome to SnapCall","mediaDenied":"Microphone and camera access denied","microphoneDisabled":"Microphone is Off","microphoneEnabled":"Microphone is On","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","recordVideo":"Record video","recordVoice":"Record voice","requestACall":"Request a call","scheduleACall":"Schedule a call","setting":"Settings","sideDescription":"Please enter your name and adjust your camera and microphone","sideTitle":"Hold tight, you\'re next!","someoneDenied":"Someone in the call denied your request to join.","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","whatYouCanDo":"Here\u2019s what you can do","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in."},"header":{"free":"Free version"},"invitePeople":{"addEmailToInvite":"Add an email to invite.","addEmails":"Add emails...","copyCallLinkDescription":"Copy this link and send it to anyone you wish to invite to join the call.","copyClipLinkDescription":"Copy this link and send it to anyone you wish to invite to record a clip.","email":"Email","emailPlaceholder":"Eg. john@acme.com","error":"Failed to send, please try again later.","invalidEmail":"Invalid email format.","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","invite":"Invite","inviteByEmail":"Invite by email","inviteCall":"Invite to join call","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video clip now and provide us with more context to assist you better.","inviteRecordClip":"Invite to record clip","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","message":"Message","sharePublicLink":"Share public link"},"leave":{"endCall":"End call for all","leaveCall":"Leave call","title":"Leave"},"loader":{"connection":"Connecting..."},"menu":{"new":"NEW","openNewTab":"Open new tab","pictureInPicture":"Picture-in-Picture","quickConnect":"Quick Connect","screenSharing":"Screen sharing","startRecord":"Record call","stopRecord":"Stop record","title":"Menu"},"misc":{"accept":"Accept","audio":"Audio","camera":"Camera","cancel":"Cancel","confirm":"Confirm","decline":"Decline","from":"From","microphone":"Microphone","open":"Open","photo":"Photo","proceed":"Proceed","remove":"Remove","screen":"Screen","screenshot":"Screenshot","someone":"Someone","speaker":"Speaker","user":"User","video":"Video","you":"You"},"notifications":{"agentJoinError":"An error occured while trying to join the room as an agent","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","blockedMicrophonePopupTitle":"Camera and microphone are blocked","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","close":"Close","connectedTo":"Connected to {{name}}","criticalError":"A critical error has occurred (error {{code}}).","microphoneError":"An error occured when trying to toggle the microphone","noCamera":"No camera available","recording":"Recording in progress","reload":"Reload","screensharingError":"An error occured when trying to toggle screensharing"},"quickConnect":{"scan":"Scan this QR code with your phone camera to open the call.","scanTitle":"Scan QR Code","title":"Quick Connect"},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","allowAccess":"Allow access","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","audioInstructionsTitle":"Ready to record a voice message?","audioLevelNotification":{"noSound":{"description":"Make sure your microphone is activated.","title":"No sound detected."},"shortVideo":{"description":"This video is too short to get context.","title":"Short video."},"spokenWordsQuestion":{"description":"Does your video include enough spoken details?","title":"Spoken words."},"spokenWordsWarning":{"description":"The clip includes barely any spoken words.","title":"No spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","noSound":"No sound detected.","rememberSpeaking":"Remember to speak to provide context."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Thank you for using SnapCall.","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","confirmRemovalTitle":"Confirm deletion","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","elementCaptureSuccess":"{{ type }} captured successfully","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","instructions":{"allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information."},"limit":"Video recording limited to 5 min.","logIn":"Log in","loggedAs":"Logged as","okay":"Okay","openThread":"Open thread","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","permissionDeniedTitle":"Something went wrong!","photoInstructionsTitle":"Ready to snap a photo?","replyAttached":"Your reply has been attached","scanQRCode":"Scan this QR code with a compatible device.","screenShareInstructionsTitle":"Ready to share your screen?","screenTitle":"Ready to capture your screen?","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","submissionTitle":"Thank you for your submission!","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","switchToMobileTitle":"Switch to your mobile device","takeNewElement":"Capture a new {{ type }}","useDesktopVersion":"Use the desktop version","videoInstructionsTitle":"Ready to record a video?","waitVideo":"A video may take up to 15 seconds to be ready."},"recordingPopup":{"dismiss":"Dismiss","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","recordingStartTitle":"Recording about to start."},"requestAccess":{"admit":"Admit","defaultName":"An user","deny":"Deny","wantToJoin":"<bold>{{name}}</bold> wants to join!"},"requestDevice":{"declined":"Your request has been declined.","request":"{{user}} would like you to share your {{device}}","requestInput":"Request input devices","timedOut":"Your request has timed out.","userDeclined":"{{user}} has declined your request."},"settings":{"devices":"Devices","help":"Help","helpCenter":"Go to help center","language":"Language","preferences":"Preferences","title":"Settings"},"shareLink":{"failed":"Failed to send link","invalid":"Invalid link","invoice":"{{user}} sent you an invoice.","pay":"Pay","poweredBy":"Powered by","sentToUser":"Link sent to {{user}}","sentToUsers":"Link sent to users","title":"Share link","title2":"Share a link"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"error":"An error occured when trying to send the snapshot","save":"Save photo","sentToUser":"Snapshot sent to {{user}}","sentToUsers":"Snapshot sent to users.","shared":"Snapshot shared.","title":"Snapshot"},"videoMenu":{"blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","highDef":"High definition (720p)","lowDef":"Low definition (240p)","sendResolution":"Send Resolution (maximum)","standardDef":"Standard definition (480p)","title":"Video"},"virtualBackground":{"setBackground":"Set Background","title":"Virtual Background"},"youtube":{"invalid":"Invalid YouTube URL","share":"Watch now","title":"Watch Together","url":"YOUTUBE URL"}}');
|
|
374
|
+
$888696145bca5c4a$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"El micr\xf3fono est\xe1 bloqueado.","microphonePermissions":"Please accept microphone sharing before accessing these options.","title":"Audio"},"blockedFeature":{"descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissConnected":"Upgrade to Pro","dismissGuest":"Okay","titleConnected":"Upgrade to Pro","titleGuest":"Feature not available"},"common":{"new":"new"},"copyLink":{"copied":"Link copied to clipboard","copy":"Copy","description":"Copy link into clipboard","error":"An error occured when trying to copy to clipboard","title":"Copy link"},"endView":{"callEnded":"The call is now ended","callIsOver":"The call is over or deleted","callLeft":"You left the call","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later.","goBack":"Go back to call","tooLate":"You arrived too late"},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"greeting":{"askToJoin":"Ask to join","askingLetIn":"Asking to be let in...","cameraDisabled":"Camera is Off","cameraEnabled":"Camera is On","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","cantJoinCall":"You can\u2019t join this call","cantWait":"Can\'t wait?","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar.","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","footerTitle":"Powered by SnapCall","leaveMessage":"Leave a message","mainTitle":"Welcome to SnapCall","mediaDenied":"Microphone and camera access denied","microphoneDisabled":"Microphone is Off","microphoneEnabled":"Microphone is On","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","recordVideo":"Record video","recordVoice":"Record voice","requestACall":"Request a call","scheduleACall":"Schedule a call","setting":"Settings","sideDescription":"Please enter your name and adjust your camera and microphone","sideTitle":"Hold tight, you\'re next!","someoneDenied":"Someone in the call denied your request to join.","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","whatYouCanDo":"Here\u2019s what you can do","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in."},"header":{"free":"Free version"},"invitePeople":{"addEmailToInvite":"Add an email to invite.","addEmails":"Add emails...","copyCallLinkDescription":"Copy this link and send it to anyone you wish to invite to join the call.","copyClipLinkDescription":"Copy this link and send it to anyone you wish to invite to record a clip.","email":"Email","emailPlaceholder":"Eg. john@acme.com","emailsOrNumberPlaceholder":"Eg. john@acme.com or +33612345678","error":"Failed to send, please try again later.","invalidEmail":"Invalid email format.","invalidEmailOrNumber":"Invalid email or number format.","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","invite":"Invite","inviteByEmail":"Invite by email","inviteByEmailOrNumber":"Invite by email or sms","inviteCall":"Invite to join call","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video clip now and provide us with more context to assist you better.","invitePeople":"Invite people","inviteRecordClip":"Invite to record clip","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","message":"Message","sharePublicLink":"Share public link"},"leave":{"endCall":"End call for all","leaveCall":"Leave call","title":"Leave"},"loader":{"connection":"Connecting..."},"menu":{"new":"NEW","openNewTab":"Open new tab","pictureInPicture":"Picture-in-Picture","quickConnect":"Quick Connect","screenSharing":"Screen sharing","startRecord":"Record call","stopRecord":"Stop record","title":"Menu"},"misc":{"accept":"Accept","audio":"Audio","camera":"Camera","cancel":"Cancel","confirm":"Confirm","decline":"Decline","from":"From","microphone":"Microphone","open":"Open","photo":"Photo","proceed":"Proceed","remove":"Remove","screen":"Screen","screenshot":"Screenshot","someone":"Someone","speaker":"Speaker","user":"User","video":"Video","you":"You"},"notifications":{"agentJoinError":"An error occured while trying to join the room as an agent","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","blockedMicrophonePopupTitle":"Camera and microphone are blocked","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","close":"Close","connectedTo":"Connected to {{name}}","criticalError":"A critical error has occurred (error {{code}}).","invitationSentToFailed":"Sent to {{ name }} failed.","microphoneError":"An error occured when trying to toggle the microphone","noCamera":"No camera available","recording":"Recording in progress","reload":"Reload","screensharingError":"An error occured when trying to toggle screensharing"},"quickConnect":{"scan":"Scan this QR code with your phone camera to open the call.","scanTitle":"Scan QR Code","title":"Quick Connect"},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","allowAccess":"Allow access","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","audioInstructionsTitle":"Ready to record a voice message?","audioLevelNotification":{"noSound":{"description":"Make sure your microphone is activated.","title":"No sound detected."},"shortVideo":{"description":"This video is too short to get context.","title":"Short video."},"spokenWordsQuestion":{"description":"Does your video include enough spoken details?","title":"Spoken words."},"spokenWordsWarning":{"description":"The clip includes barely any spoken words.","title":"No spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","noSound":"No sound detected.","rememberSpeaking":"Remember to speak to provide context."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Thank you for using SnapCall.","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","confirmRemovalTitle":"Confirm deletion","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","elementCaptureSuccess":"{{ type }} captured successfully","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","instructions":{"allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","selectScreenshare":"Tap Record my screen and select the screen or window you want to record.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","speakDuringRecord":"You can speak while recording to add details.","stopScreenOnFinish":"Press the Stop button when finished. The video will be sent to us automatically.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information."},"limit":"Video recording limited to 5 min.","logIn":"Log in","loggedAs":"Logged as","okay":"Okay","openThread":"Open thread","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","permissionDeniedTitle":"Something went wrong!","photoInstructionsTitle":"Ready to snap a photo?","replyAttached":"Your reply has been attached","scanQRCode":"Scan this QR code with a compatible device.","screenShareInstructionsTitle":"Ready to share your screen?","screenTitle":"Ready to capture your screen?","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","submissionTitle":"Thank you for your submission!","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","switchToMobileTitle":"Switch to your mobile device","takeNewElement":"Capture a new {{ type }}","useDesktopVersion":"Use the desktop version","videoInstructionsTitle":"Ready to record a video?","waitVideo":"A video may take up to 15 seconds to be ready."},"recordingPopup":{"dismiss":"Dismiss","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","recordingStartTitle":"Recording about to start."},"requestAccess":{"admit":"Admit","defaultName":"An user","deny":"Deny","wantToJoin":"<bold>{{name}}</bold> wants to join!"},"requestDevice":{"declined":"Your request has been declined.","request":"{{user}} would like you to share your {{device}}","requestInput":"Request input devices","timedOut":"Your request has timed out.","userDeclined":"{{user}} has declined your request."},"settings":{"devices":"Devices","help":"Help","helpCenter":"Go to help center","language":"Language","preferences":"Preferences","title":"Settings"},"shareLink":{"failed":"Failed to send link","invalid":"Invalid link","invoice":"{{user}} sent you an invoice.","pay":"Pay","poweredBy":"Powered by","sentToUser":"Link sent to {{user}}","sentToUsers":"Link sent to users","title":"Share link","title2":"Share a link"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"error":"An error occured when trying to send the snapshot","save":"Save photo","sentToUser":"Snapshot sent to {{user}}","sentToUsers":"Snapshot sent to users.","shared":"Snapshot shared.","title":"Snapshot"},"videoMenu":{"blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","highDef":"High definition (720p)","lowDef":"Low definition (240p)","sendResolution":"Send Resolution (maximum)","standardDef":"Standard definition (480p)","title":"Video"},"virtualBackground":{"setBackground":"Set Background","title":"Virtual Background"},"youtube":{"invalid":"Invalid YouTube URL","share":"Watch now","title":"Watch Together","url":"YOUTUBE URL"}}');
|
|
375
375
|
|
|
376
376
|
|
|
377
377
|
var $3167241121ea3627$exports = {};
|
|
378
|
-
$3167241121ea3627$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"Mikrofon jest zablokowany.","microphonePermissions":"Please accept microphone sharing before accessing these options.","title":"Audio"},"blockedFeature":{"descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissConnected":"Upgrade to Pro","dismissGuest":"Okay","titleConnected":"Upgrade to Pro","titleGuest":"Feature not available"},"copyLink":{"copied":"Link copied to clipboard","copy":"Copy","description":"Copy link into clipboard","error":"An error occured when trying to copy to clipboard","title":"Copy link"},"endView":{"callEnded":"The call is now ended","callIsOver":"The call is over or deleted","callLeft":"You left the call","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later.","goBack":"Go back to call","tooLate":"You arrived too late"},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"greeting":{"askToJoin":"Ask to join","askingLetIn":"Asking to be let in...","cameraDisabled":"Camera is Off","cameraEnabled":"Camera is On","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","cantJoinCall":"You can\u2019t join this call","cantWait":"Can\'t wait?","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar.","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","footerTitle":"Powered by SnapCall","leaveMessage":"Leave a message","mainTitle":"Welcome to SnapCall","mediaDenied":"Microphone and camera access denied","microphoneDisabled":"Microphone is Off","microphoneEnabled":"Microphone is On","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","recordVideo":"Record video","recordVoice":"Record voice","requestACall":"Request a call","scheduleACall":"Schedule a call","setting":"Settings","sideDescription":"Please enter your name and adjust your camera and microphone","sideTitle":"Hold tight, you\'re next!","someoneDenied":"Someone in the call denied your request to join.","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","whatYouCanDo":"Here\u2019s what you can do","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in."},"header":{"free":"Free version"},"invitePeople":{"addEmailToInvite":"Add an email to invite.","addEmails":"Add emails...","copyCallLinkDescription":"Copy this link and send it to anyone you wish to invite to join the call.","copyClipLinkDescription":"Copy this link and send it to anyone you wish to invite to record a clip.","email":"Email","emailPlaceholder":"Eg. john@acme.com","error":"Failed to send, please try again later.","invalidEmail":"Invalid email format.","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","invite":"Invite","inviteByEmail":"Invite by email","inviteCall":"Invite to join call","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video clip now and provide us with more context to assist you better.","inviteRecordClip":"Invite to record clip","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","message":"Message","sharePublicLink":"Share public link"},"leave":{"endCall":"End call for all","leaveCall":"Leave call","title":"Leave"},"loader":{"connection":"Connecting..."},"menu":{"new":"NEW","openNewTab":"Open new tab","pictureInPicture":"Picture-in-Picture","quickConnect":"Quick Connect","screenSharing":"Screen sharing","startRecord":"Record call","stopRecord":"Stop record","title":"Menu"},"misc":{"accept":"Accept","audio":"Audio","camera":"Camera","cancel":"Cancel","confirm":"Confirm","decline":"Decline","from":"From","microphone":"Microphone","open":"Open","photo":"Photo","proceed":"Proceed","remove":"Remove","screen":"Screen","screenshot":"Screenshot","someone":"Someone","speaker":"Speaker","user":"User","video":"Video","you":"You"},"notifications":{"agentJoinError":"An error occured while trying to join the room as an agent","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","blockedMicrophonePopupTitle":"Camera and microphone are blocked","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","close":"Close","connectedTo":"Connected to {{name}}","criticalError":"A critical error has occurred (error {{code}}).","microphoneError":"An error occured when trying to toggle the microphone","noCamera":"No camera available","recording":"Recording in progress","reload":"Reload","screensharingError":"An error occured when trying to toggle screensharing"},"quickConnect":{"scan":"Scan this QR code with your phone camera to open the call.","scanTitle":"Scan QR Code","title":"Quick Connect"},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","allowAccess":"Allow access","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","audioInstructionsTitle":"Ready to record a voice message?","audioLevelNotification":{"noSound":{"description":"Make sure your microphone is activated.","title":"No sound detected."},"shortVideo":{"description":"This video is too short to get context.","title":"Short video."},"spokenWordsQuestion":{"description":"Does your video include enough spoken details?","title":"Spoken words."},"spokenWordsWarning":{"description":"The clip includes barely any spoken words.","title":"No spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","noSound":"No sound detected.","rememberSpeaking":"Remember to speak to provide context."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Thank you for using SnapCall.","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","confirmRemovalTitle":"Confirm deletion","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","elementCaptureSuccess":"{{ type }} captured successfully","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","instructions":{"allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information."},"limit":"Video recording limited to 5 min.","logIn":"Log in","loggedAs":"Logged as","okay":"Okay","openThread":"Open thread","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","permissionDeniedTitle":"Something went wrong!","photoInstructionsTitle":"Ready to snap a photo?","replyAttached":"Your reply has been attached","scanQRCode":"Scan this QR code with a compatible device.","screenShareInstructionsTitle":"Ready to share your screen?","screenTitle":"Ready to capture your screen?","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","submissionTitle":"Thank you for your submission!","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","switchToMobileTitle":"Switch to your mobile device","takeNewElement":"Capture a new {{ type }}","useDesktopVersion":"Use the desktop version","videoInstructionsTitle":"Ready to record a video?","waitVideo":"A video may take up to 15 seconds to be ready."},"recordingPopup":{"dismiss":"Dismiss","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","recordingStartTitle":"Recording about to start."},"requestAccess":{"admit":"Admit","defaultName":"An user","deny":"Deny","wantToJoin":"<bold>{{name}}</bold> wants to join!"},"requestDevice":{"declined":"Your request has been declined.","request":"{{user}} would like you to share your {{device}}","requestInput":"Request input devices","timedOut":"Your request has timed out.","userDeclined":"{{user}} has declined your request."},"settings":{"devices":"Devices","help":"Help","helpCenter":"Go to help center","language":"Language","preferences":"Preferences","title":"Settings"},"shareLink":{"failed":"Failed to send link","invalid":"Invalid link","invoice":"{{user}} sent you an invoice.","pay":"Pay","poweredBy":"Powered by","sentToUser":"Link sent to {{user}}","sentToUsers":"Link sent to users","title":"Share link","title2":"Share a link"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"error":"An error occured when trying to send the snapshot","save":"Save photo","sentToUser":"Snapshot sent to {{user}}","sentToUsers":"Snapshot sent to users.","shared":"Snapshot shared.","title":"Snapshot"},"videoMenu":{"blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","highDef":"High definition (720p)","lowDef":"Low definition (240p)","sendResolution":"Send Resolution (maximum)","standardDef":"Standard definition (480p)","title":"Video"},"virtualBackground":{"setBackground":"Set Background","title":"Virtual Background"},"youtube":{"invalid":"Invalid YouTube URL","share":"Watch now","title":"Watch Together","url":"YOUTUBE URL"}}');
|
|
378
|
+
$3167241121ea3627$exports = JSON.parse('{"audioMenu":{"blockedMicrophone":"Mikrofon jest zablokowany.","microphonePermissions":"Please accept microphone sharing before accessing these options.","title":"Audio"},"blockedFeature":{"descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissConnected":"Upgrade to Pro","dismissGuest":"Okay","titleConnected":"Upgrade to Pro","titleGuest":"Feature not available"},"common":{"new":"new"},"copyLink":{"copied":"Link copied to clipboard","copy":"Copy","description":"Copy link into clipboard","error":"An error occured when trying to copy to clipboard","title":"Copy link"},"endView":{"callEnded":"The call is now ended","callIsOver":"The call is over or deleted","callLeft":"You left the call","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later.","goBack":"Go back to call","tooLate":"You arrived too late"},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"greeting":{"askToJoin":"Ask to join","askingLetIn":"Asking to be let in...","cameraDisabled":"Camera is Off","cameraEnabled":"Camera is On","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","cantJoinCall":"You can\u2019t join this call","cantWait":"Can\'t wait?","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar.","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","footerTitle":"Powered by SnapCall","leaveMessage":"Leave a message","mainTitle":"Welcome to SnapCall","mediaDenied":"Microphone and camera access denied","microphoneDisabled":"Microphone is Off","microphoneEnabled":"Microphone is On","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","recordVideo":"Record video","recordVoice":"Record voice","requestACall":"Request a call","scheduleACall":"Schedule a call","setting":"Settings","sideDescription":"Please enter your name and adjust your camera and microphone","sideTitle":"Hold tight, you\'re next!","someoneDenied":"Someone in the call denied your request to join.","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","whatYouCanDo":"Here\u2019s what you can do","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in."},"header":{"free":"Free version"},"invitePeople":{"addEmailToInvite":"Add an email to invite.","addEmails":"Add emails...","copyCallLinkDescription":"Copy this link and send it to anyone you wish to invite to join the call.","copyClipLinkDescription":"Copy this link and send it to anyone you wish to invite to record a clip.","email":"Email","emailPlaceholder":"Eg. john@acme.com","emailsOrNumberPlaceholder":"Eg. john@acme.com or +33612345678","error":"Failed to send, please try again later.","invalidEmail":"Invalid email format.","invalidEmailOrNumber":"Invalid email or number format.","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","invite":"Invite","inviteByEmail":"Invite by email","inviteByEmailOrNumber":"Invite by email or sms","inviteCall":"Invite to join call","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video clip now and provide us with more context to assist you better.","invitePeople":"Invite people","inviteRecordClip":"Invite to record clip","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","message":"Message","sharePublicLink":"Share public link"},"leave":{"endCall":"End call for all","leaveCall":"Leave call","title":"Leave"},"loader":{"connection":"Connecting..."},"menu":{"new":"NEW","openNewTab":"Open new tab","pictureInPicture":"Picture-in-Picture","quickConnect":"Quick Connect","screenSharing":"Screen sharing","startRecord":"Record call","stopRecord":"Stop record","title":"Menu"},"misc":{"accept":"Accept","audio":"Audio","camera":"Camera","cancel":"Cancel","confirm":"Confirm","decline":"Decline","from":"From","microphone":"Microphone","open":"Open","photo":"Photo","proceed":"Proceed","remove":"Remove","screen":"Screen","screenshot":"Screenshot","someone":"Someone","speaker":"Speaker","user":"User","video":"Video","you":"You"},"notifications":{"agentJoinError":"An error occured while trying to join the room as an agent","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","blockedMicrophonePopupTitle":"Camera and microphone are blocked","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","close":"Close","connectedTo":"Connected to {{name}}","criticalError":"A critical error has occurred (error {{code}}).","invitationSentToFailed":"Sent to {{ name }} failed.","microphoneError":"An error occured when trying to toggle the microphone","noCamera":"No camera available","recording":"Recording in progress","reload":"Reload","screensharingError":"An error occured when trying to toggle screensharing"},"quickConnect":{"scan":"Scan this QR code with your phone camera to open the call.","scanTitle":"Scan QR Code","title":"Quick Connect"},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","allowAccess":"Allow access","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","audioInstructionsTitle":"Ready to record a voice message?","audioLevelNotification":{"noSound":{"description":"Make sure your microphone is activated.","title":"No sound detected."},"shortVideo":{"description":"This video is too short to get context.","title":"Short video."},"spokenWordsQuestion":{"description":"Does your video include enough spoken details?","title":"Spoken words."},"spokenWordsWarning":{"description":"The clip includes barely any spoken words.","title":"No spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","noSound":"No sound detected.","rememberSpeaking":"Remember to speak to provide context."},"clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","clipSubmissionDescription":"Thank you for using SnapCall.","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","confirmRemovalTitle":"Confirm deletion","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","elementCaptureSuccess":"{{ type }} captured successfully","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","instructions":{"allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","selectScreenshare":"Tap Record my screen and select the screen or window you want to record.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","speakDuringRecord":"You can speak while recording to add details.","stopScreenOnFinish":"Press the Stop button when finished. The video will be sent to us automatically.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information."},"limit":"Video recording limited to 5 min.","logIn":"Log in","loggedAs":"Logged as","okay":"Okay","openThread":"Open thread","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","permissionDeniedTitle":"Something went wrong!","photoInstructionsTitle":"Ready to snap a photo?","replyAttached":"Your reply has been attached","scanQRCode":"Scan this QR code with a compatible device.","screenShareInstructionsTitle":"Ready to share your screen?","screenTitle":"Ready to capture your screen?","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","submissionTitle":"Thank you for your submission!","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","switchToMobileTitle":"Switch to your mobile device","takeNewElement":"Capture a new {{ type }}","useDesktopVersion":"Use the desktop version","videoInstructionsTitle":"Ready to record a video?","waitVideo":"A video may take up to 15 seconds to be ready."},"recordingPopup":{"dismiss":"Dismiss","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","recordingStartTitle":"Recording about to start."},"requestAccess":{"admit":"Admit","defaultName":"An user","deny":"Deny","wantToJoin":"<bold>{{name}}</bold> wants to join!"},"requestDevice":{"declined":"Your request has been declined.","request":"{{user}} would like you to share your {{device}}","requestInput":"Request input devices","timedOut":"Your request has timed out.","userDeclined":"{{user}} has declined your request."},"settings":{"devices":"Devices","help":"Help","helpCenter":"Go to help center","language":"Language","preferences":"Preferences","title":"Settings"},"shareLink":{"failed":"Failed to send link","invalid":"Invalid link","invoice":"{{user}} sent you an invoice.","pay":"Pay","poweredBy":"Powered by","sentToUser":"Link sent to {{user}}","sentToUsers":"Link sent to users","title":"Share link","title2":"Share a link"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"error":"An error occured when trying to send the snapshot","save":"Save photo","sentToUser":"Snapshot sent to {{user}}","sentToUsers":"Snapshot sent to users.","shared":"Snapshot shared.","title":"Snapshot"},"videoMenu":{"blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","highDef":"High definition (720p)","lowDef":"Low definition (240p)","sendResolution":"Send Resolution (maximum)","standardDef":"Standard definition (480p)","title":"Video"},"virtualBackground":{"setBackground":"Set Background","title":"Virtual Background"},"youtube":{"invalid":"Invalid YouTube URL","share":"Watch now","title":"Watch Together","url":"YOUTUBE URL"}}');
|
|
379
379
|
|
|
380
380
|
|
|
381
381
|
const $384d985bb9605c35$export$150b732325d14d04 = {
|
|
@@ -1039,7 +1039,7 @@ class $107ba89b5d0109ab$export$22ddc20344c01547 {
|
|
|
1039
1039
|
|
|
1040
1040
|
|
|
1041
1041
|
var $2114f1d49575b676$require$Buffer = $3Sbms$Buffer;
|
|
1042
|
-
const $2114f1d49575b676$export$bfc52a1c1f84ba66 = async (apiUrl, { token: token, base64Image: base64Image, session_id: session_id, user_id: user_id, peer_id: peer_id })=>{
|
|
1042
|
+
const $2114f1d49575b676$export$bfc52a1c1f84ba66 = async (apiUrl, { token: token, base64Image: base64Image, session_id: session_id, user_id: user_id, peer_id: peer_id, stepToken: stepToken })=>{
|
|
1043
1043
|
const filename = `${(0, $3Sbms$v4)()}.jpeg`;
|
|
1044
1044
|
const uploadBody = $2114f1d49575b676$require$Buffer.from(String(base64Image).replace(/^data:image\/\w+;base64,/, ""), "base64");
|
|
1045
1045
|
const { url: url, headers: headers } = await fetch(`${apiUrl}/streams/${token}/snapshot`, {
|
|
@@ -1067,6 +1067,7 @@ const $2114f1d49575b676$export$bfc52a1c1f84ba66 = async (apiUrl, { token: token,
|
|
|
1067
1067
|
"Content-Type": "application/json"
|
|
1068
1068
|
},
|
|
1069
1069
|
body: JSON.stringify({
|
|
1070
|
+
stepToken: stepToken,
|
|
1070
1071
|
filename: filename,
|
|
1071
1072
|
peer_id: peer_id,
|
|
1072
1073
|
session_id: session_id,
|
|
@@ -1320,14 +1321,36 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
1320
1321
|
return (0, $3Sbms$v4)();
|
|
1321
1322
|
}
|
|
1322
1323
|
}
|
|
1324
|
+
async readFlow(token) {
|
|
1325
|
+
try {
|
|
1326
|
+
const flow = (await fetch(`${this.config.apiUrl}/public/flows/${token}`, {
|
|
1327
|
+
method: "GET",
|
|
1328
|
+
headers: {
|
|
1329
|
+
"Content-Type": "application/json"
|
|
1330
|
+
}
|
|
1331
|
+
})).json();
|
|
1332
|
+
return flow;
|
|
1333
|
+
} catch (err) {
|
|
1334
|
+
$c31e3fb4360572af$var$log.error("readFlow", err);
|
|
1335
|
+
}
|
|
1336
|
+
return undefined;
|
|
1337
|
+
}
|
|
1323
1338
|
async init(room = this.roomId, options = this.joinOptions) {
|
|
1339
|
+
const initResult = {
|
|
1340
|
+
flow: undefined
|
|
1341
|
+
};
|
|
1324
1342
|
this.roomId = room;
|
|
1325
1343
|
this.peerId = (0, $3Sbms$v4)();
|
|
1326
1344
|
this.joinOptions = options;
|
|
1327
1345
|
if (!this.roomId) throw new Error("Missing room ID");
|
|
1328
1346
|
let url;
|
|
1329
1347
|
try {
|
|
1330
|
-
const
|
|
1348
|
+
const urlParams = new URLSearchParams();
|
|
1349
|
+
if (options.flowToken) {
|
|
1350
|
+
urlParams.append("flowToken", options.flowToken);
|
|
1351
|
+
if (options.languageCode) urlParams.append("languageCode", options.languageCode);
|
|
1352
|
+
}
|
|
1353
|
+
const { streamer_instance: instanceId, plan: { permissions: permissions, name: name }, flow: flow, recordings: recordings, company_id: company_id, company: company, defaultPublicPage: defaultPublicPage } = await fetch(`${this.config.apiUrl}/streams/${room}/info?${urlParams}`, {
|
|
1331
1354
|
method: "get",
|
|
1332
1355
|
headers: {
|
|
1333
1356
|
"Content-Type": "application/json"
|
|
@@ -1336,6 +1359,11 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
1336
1359
|
if (response.ok) return response.json();
|
|
1337
1360
|
throw new Error("Invalid room ID");
|
|
1338
1361
|
});
|
|
1362
|
+
if (flow && flow.steps.length > 0) {
|
|
1363
|
+
options.recorder = true;
|
|
1364
|
+
this.joinOptions.recorder = true;
|
|
1365
|
+
initResult.flow = flow;
|
|
1366
|
+
}
|
|
1339
1367
|
this.companyId = company_id;
|
|
1340
1368
|
this.company = company;
|
|
1341
1369
|
this.permissions = permissions;
|
|
@@ -1585,6 +1613,7 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
1585
1613
|
};
|
|
1586
1614
|
if (open) onOpen(err);
|
|
1587
1615
|
});
|
|
1616
|
+
return initResult;
|
|
1588
1617
|
}
|
|
1589
1618
|
closeWebrtcTransport(key) {
|
|
1590
1619
|
const transport = this.mediasoupTransport[key];
|
|
@@ -1674,6 +1703,13 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
1674
1703
|
id: id
|
|
1675
1704
|
});
|
|
1676
1705
|
}
|
|
1706
|
+
async setStep(stepToken) {
|
|
1707
|
+
if (!this.protoo) throw new Error("not connected");
|
|
1708
|
+
this.stepToken = stepToken;
|
|
1709
|
+
await this.protoo.request("step", {
|
|
1710
|
+
token: stepToken
|
|
1711
|
+
});
|
|
1712
|
+
}
|
|
1677
1713
|
async denyAccessRequest(id) {
|
|
1678
1714
|
if (!this.protoo) throw new Error("stream client not initiated");
|
|
1679
1715
|
await this.protoo.request("denyAccessRequest", {
|
|
@@ -2422,7 +2458,8 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2422
2458
|
token: this.roomId,
|
|
2423
2459
|
base64Image: base64Image,
|
|
2424
2460
|
peer_id: this.peerId,
|
|
2425
|
-
user_id: this.agentIdentity?.id
|
|
2461
|
+
user_id: this.agentIdentity?.id,
|
|
2462
|
+
stepToken: this.stepToken
|
|
2426
2463
|
});
|
|
2427
2464
|
}
|
|
2428
2465
|
async deleteCapture(assetId) {
|
|
@@ -4574,6 +4611,9 @@ var $805d92fa41e6e1b0$export$2e2bcd8739ae039 = $805d92fa41e6e1b0$var$Sounds;
|
|
|
4574
4611
|
const $379a4f4f561a4720$var$validateEmail = (email)=>{
|
|
4575
4612
|
return String(email).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
|
|
4576
4613
|
};
|
|
4614
|
+
const $379a4f4f561a4720$var$validateNumber = (email)=>{
|
|
4615
|
+
return String(email).toLowerCase().match(/^[+]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$/);
|
|
4616
|
+
};
|
|
4577
4617
|
const $379a4f4f561a4720$var$getTexts = (type, t)=>({
|
|
4578
4618
|
instant: {
|
|
4579
4619
|
title: t("invitePeople.inviteCall"),
|
|
@@ -4632,7 +4672,7 @@ const $379a4f4f561a4720$export$1712c8fcb05f49a6 = ({ modalState: modalState, ...
|
|
|
4632
4672
|
})
|
|
4633
4673
|
});
|
|
4634
4674
|
};
|
|
4635
|
-
const sendAuthInvite = (emails,
|
|
4675
|
+
const sendAuthInvite = ({ phoneNumbers: phoneNumbers, emails: emails, text: text = texts.defaultMessage })=>{
|
|
4636
4676
|
const { roomId: roomId, companyId: companyId, joinOptions: joinOptions } = (0, $c9e496369b59be7a$export$2f377c2162fd02b2).getState();
|
|
4637
4677
|
return fetch(`${options.apiUrl}/companies/${companyId}/streams/${roomId}/invite`, {
|
|
4638
4678
|
method: "POST",
|
|
@@ -4643,7 +4683,8 @@ const $379a4f4f561a4720$export$1712c8fcb05f49a6 = ({ modalState: modalState, ...
|
|
|
4643
4683
|
body: JSON.stringify({
|
|
4644
4684
|
type: type,
|
|
4645
4685
|
emails: emails,
|
|
4646
|
-
|
|
4686
|
+
phoneNumbers: phoneNumbers,
|
|
4687
|
+
text: text
|
|
4647
4688
|
})
|
|
4648
4689
|
});
|
|
4649
4690
|
};
|
|
@@ -4664,10 +4705,22 @@ const $379a4f4f561a4720$export$1712c8fcb05f49a6 = ({ modalState: modalState, ...
|
|
|
4664
4705
|
};
|
|
4665
4706
|
const onSubmit = formContext.handleSubmit(async (data)=>{
|
|
4666
4707
|
let result;
|
|
4667
|
-
if (isAgent)
|
|
4668
|
-
|
|
4708
|
+
if (isAgent) {
|
|
4709
|
+
const emails = [];
|
|
4710
|
+
const phoneNumbers = [];
|
|
4711
|
+
data.emails.forEach((it)=>{
|
|
4712
|
+
if ($379a4f4f561a4720$var$validateNumber(it)) phoneNumbers.push(it);
|
|
4713
|
+
else emails.push(it);
|
|
4714
|
+
});
|
|
4715
|
+
result = await sendAuthInvite({
|
|
4716
|
+
emails: emails,
|
|
4717
|
+
phoneNumbers: phoneNumbers,
|
|
4718
|
+
text: data.message || texts.defaultMessage
|
|
4719
|
+
});
|
|
4720
|
+
} else result = await sendPublicInvite(data.emails);
|
|
4669
4721
|
if (result.ok) {
|
|
4670
4722
|
const [firstInvited, ...emails] = data.emails;
|
|
4723
|
+
const { phone_number_status: phone_number_status } = await result.json();
|
|
4671
4724
|
toast({
|
|
4672
4725
|
title: t("invitePeople.invitationSentTo", {
|
|
4673
4726
|
name: firstInvited,
|
|
@@ -4676,6 +4729,21 @@ const $379a4f4f561a4720$export$1712c8fcb05f49a6 = ({ modalState: modalState, ...
|
|
|
4676
4729
|
}),
|
|
4677
4730
|
icon: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$CheckIcon), {})
|
|
4678
4731
|
});
|
|
4732
|
+
phone_number_status.forEach(({ status: status, number: number })=>{
|
|
4733
|
+
if (status === "failed") toast({
|
|
4734
|
+
title: t("notifications.invitationSentToFailed", {
|
|
4735
|
+
name: number
|
|
4736
|
+
}),
|
|
4737
|
+
icon: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$XCircleIcon), {})
|
|
4738
|
+
});
|
|
4739
|
+
else toast({
|
|
4740
|
+
title: t("invitePeople.invitationSentTo", {
|
|
4741
|
+
name: number,
|
|
4742
|
+
count: 1
|
|
4743
|
+
}),
|
|
4744
|
+
icon: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Send3Icon), {})
|
|
4745
|
+
});
|
|
4746
|
+
});
|
|
4679
4747
|
formContext.reset();
|
|
4680
4748
|
modalState.close();
|
|
4681
4749
|
} else toast({
|
|
@@ -4713,7 +4781,7 @@ const $379a4f4f561a4720$export$1712c8fcb05f49a6 = ({ modalState: modalState, ...
|
|
|
4713
4781
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$TabsTrigger), {
|
|
4714
4782
|
className: "w-full",
|
|
4715
4783
|
value: "invitePeople",
|
|
4716
|
-
children: t("invitePeople.inviteByEmail")
|
|
4784
|
+
children: !isAgent ? t("invitePeople.inviteByEmail") : t("invitePeople.invitePeople")
|
|
4717
4785
|
})
|
|
4718
4786
|
]
|
|
4719
4787
|
}),
|
|
@@ -4769,20 +4837,21 @@ const $379a4f4f561a4720$export$1712c8fcb05f49a6 = ({ modalState: modalState, ...
|
|
|
4769
4837
|
rules: {
|
|
4770
4838
|
required: t("invitePeople.addEmailToInvite"),
|
|
4771
4839
|
validate: {
|
|
4772
|
-
allEmails: (
|
|
4773
|
-
if (!
|
|
4840
|
+
allEmails: (values)=>{
|
|
4841
|
+
if (!isAgent && !values.every($379a4f4f561a4720$var$validateEmail)) return t("invitePeople.invalidEmail");
|
|
4842
|
+
else if (!values.every((value)=>$379a4f4f561a4720$var$validateEmail(value) || $379a4f4f561a4720$var$validateNumber(value))) return t("invitePeople.invalidEmailOrNumber");
|
|
4774
4843
|
}
|
|
4775
4844
|
}
|
|
4776
4845
|
},
|
|
4777
4846
|
render: ({ field: field })=>/*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$FormItem), {
|
|
4778
4847
|
children: [
|
|
4779
4848
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$FormLabel), {
|
|
4780
|
-
children: t("invitePeople.
|
|
4849
|
+
children: t("invitePeople.invitePeople")
|
|
4781
4850
|
}),
|
|
4782
4851
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$FormControl), {
|
|
4783
4852
|
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$CreatableSelect), {
|
|
4784
|
-
placeholder: t("invitePeople.emailPlaceholder"),
|
|
4785
|
-
newLabel: `${t("
|
|
4853
|
+
placeholder: !isAgent ? t("invitePeople.emailPlaceholder") : t("invitePeople.emailsOrNumberPlaceholder"),
|
|
4854
|
+
newLabel: `${t("common.new")}: `,
|
|
4786
4855
|
value: field.value,
|
|
4787
4856
|
onValueChanged: (v)=>{
|
|
4788
4857
|
field.onChange(v);
|
|
@@ -12604,12 +12673,11 @@ const $205d1658394416eb$export$6e881e165967cb08 = {
|
|
|
12604
12673
|
|
|
12605
12674
|
|
|
12606
12675
|
const $448b01a7ea61a08a$var$audioLevelThreshold = 20;
|
|
12607
|
-
function $448b01a7ea61a08a$export$c74cd098b7a410cb({ mode: mode = "photo",
|
|
12676
|
+
function $448b01a7ea61a08a$export$c74cd098b7a410cb({ mode: mode = "photo", permissionBlockedModalState: permissionBlockedModalState, captureThumbnail: captureThumbnail }) {
|
|
12608
12677
|
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
12609
12678
|
const [currentMode, setMode] = (0, $3Sbms$useState)(mode);
|
|
12610
12679
|
const [streaming, setStreaming] = (0, $3Sbms$useState)(false);
|
|
12611
12680
|
const [isSpeaking, setIsSpeaking] = (0, $3Sbms$useState)(false);
|
|
12612
|
-
const [currentRequestedMedia, setRequestedMedia] = (0, $3Sbms$useState)(requestedMedia);
|
|
12613
12681
|
const [startRecordTime, setStartRecordTime] = (0, $3Sbms$useState)(undefined);
|
|
12614
12682
|
const [timer, setTimer] = (0, $3Sbms$useState)(0);
|
|
12615
12683
|
const [assets, setAssets] = (0, $3Sbms$useState)([]);
|
|
@@ -12621,7 +12689,7 @@ function $448b01a7ea61a08a$export$c74cd098b7a410cb({ mode: mode = "photo", reque
|
|
|
12621
12689
|
});
|
|
12622
12690
|
const [noSoundToastId, setNoSoundToastId] = (0, $3Sbms$useState)(null);
|
|
12623
12691
|
const [continueSpeakingToastId, setContinueSpeakingToastId] = (0, $3Sbms$useState)(null);
|
|
12624
|
-
const [
|
|
12692
|
+
const [flowV0, setFlowV0] = (0, $3Sbms$useState)();
|
|
12625
12693
|
const updateAudioLevel = (0, $3Sbms$useCallback)((event)=>{
|
|
12626
12694
|
const { audioLevel: audioLevel } = event.detail;
|
|
12627
12695
|
if (audioLevel > $448b01a7ea61a08a$var$audioLevelThreshold) setIsSpeaking(true);
|
|
@@ -12701,10 +12769,8 @@ function $448b01a7ea61a08a$export$c74cd098b7a410cb({ mode: mode = "photo", reque
|
|
|
12701
12769
|
timer
|
|
12702
12770
|
]);
|
|
12703
12771
|
return {
|
|
12704
|
-
requestedMedia: currentRequestedMedia,
|
|
12705
12772
|
mode: currentMode,
|
|
12706
12773
|
setMode: setMode,
|
|
12707
|
-
setRequestedMedia: setRequestedMedia,
|
|
12708
12774
|
streaming: streaming,
|
|
12709
12775
|
setStreaming: setStreaming,
|
|
12710
12776
|
permissionBlockedModalState: permissionBlockedModalState,
|
|
@@ -12718,8 +12784,8 @@ function $448b01a7ea61a08a$export$c74cd098b7a410cb({ mode: mode = "photo", reque
|
|
|
12718
12784
|
setAssetLoading: setAssetLoading,
|
|
12719
12785
|
captureThumbnail: captureThumbnail,
|
|
12720
12786
|
lastRecordingAudioLevel: averageAudioLevel || 0,
|
|
12721
|
-
|
|
12722
|
-
|
|
12787
|
+
flowV0: flowV0,
|
|
12788
|
+
setFlowV0: setFlowV0,
|
|
12723
12789
|
isSpeaking: isSpeaking
|
|
12724
12790
|
};
|
|
12725
12791
|
}
|
|
@@ -13396,16 +13462,17 @@ const $803ca479fcf9c29f$export$605294d9433c458c = {
|
|
|
13396
13462
|
const $209863c2c7a7b6c0$export$53819c0e58f98d49 = (props)=>{
|
|
13397
13463
|
const [countdown, setCountdown] = (0, $3Sbms$useState)(props.initialValue);
|
|
13398
13464
|
(0, $3Sbms$useEffect)(()=>{
|
|
13399
|
-
if (countdown ===
|
|
13400
|
-
const t = setTimeout(()=>{
|
|
13401
|
-
if (countdown === 1) props.onFinish();
|
|
13402
|
-
else setCountdown(countdown - 1);
|
|
13403
|
-
}, 1000);
|
|
13404
|
-
return ()=>clearTimeout(t);
|
|
13465
|
+
if (countdown === 0) props.onFinish();
|
|
13405
13466
|
}, [
|
|
13406
13467
|
countdown,
|
|
13407
13468
|
props
|
|
13408
13469
|
]);
|
|
13470
|
+
(0, $3Sbms$useEffect)(()=>{
|
|
13471
|
+
const t = setInterval(()=>{
|
|
13472
|
+
setCountdown((value)=>value ? value - 1 : value);
|
|
13473
|
+
}, 1000);
|
|
13474
|
+
return ()=>clearInterval(t);
|
|
13475
|
+
}, []);
|
|
13409
13476
|
return /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
13410
13477
|
className: "absolute w-full h-full flex justify-center items-center bg-black/[.6] z-50",
|
|
13411
13478
|
children: /*#__PURE__*/ (0, $3Sbms$jsx)("span", {
|
|
@@ -13444,18 +13511,27 @@ const $f3d9f6a4bbe7f552$export$f9da3144ae2525a3 = (props)=>{
|
|
|
13444
13511
|
|
|
13445
13512
|
|
|
13446
13513
|
|
|
13514
|
+
|
|
13515
|
+
|
|
13447
13516
|
const $a180b95972399d58$var$browser = (0, $3Sbms$bowser).parse(window.navigator.userAgent);
|
|
13448
13517
|
const $a180b95972399d58$export$11a6fe490bbc4873 = (props)=>{
|
|
13449
13518
|
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
13519
|
+
const { options: options } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
13450
13520
|
const isDesktop = $a180b95972399d58$var$browser.platform.type === "desktop";
|
|
13451
13521
|
const onSelectMode = (selected)=>{
|
|
13452
13522
|
if (!props.state.streaming) props.onSelect(selected);
|
|
13453
13523
|
};
|
|
13454
13524
|
const tabTriggerClassName = "text-sm grow shrink font-medium text-gray-100 hover:bg-[#292929] data-[state=active]:text-gray-1000 data-[state=active]:font-semibold";
|
|
13525
|
+
const enabledModes = options.recorder?.enabledModes || [
|
|
13526
|
+
"video",
|
|
13527
|
+
"screen",
|
|
13528
|
+
"photo",
|
|
13529
|
+
"audio"
|
|
13530
|
+
];
|
|
13455
13531
|
return /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
13456
|
-
className: "flex flex-col
|
|
13532
|
+
className: "flex flex-col w-full max-w-[500px] gap-6",
|
|
13457
13533
|
children: [
|
|
13458
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Tabs), {
|
|
13534
|
+
enabledModes.length > 1 && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Tabs), {
|
|
13459
13535
|
value: props.currentMode,
|
|
13460
13536
|
onValueChange: (val)=>{
|
|
13461
13537
|
onSelectMode(val);
|
|
@@ -13463,22 +13539,22 @@ const $a180b95972399d58$export$11a6fe490bbc4873 = (props)=>{
|
|
|
13463
13539
|
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$TabsList), {
|
|
13464
13540
|
className: "flex w-full bg-[#242424]",
|
|
13465
13541
|
children: [
|
|
13466
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$TabsTrigger), {
|
|
13542
|
+
enabledModes.find((mode)=>mode === "photo") && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$TabsTrigger), {
|
|
13467
13543
|
className: tabTriggerClassName,
|
|
13468
13544
|
value: "photo",
|
|
13469
13545
|
children: t("misc.photo")
|
|
13470
13546
|
}),
|
|
13471
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$TabsTrigger), {
|
|
13547
|
+
enabledModes.find((mode)=>mode === "video") && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$TabsTrigger), {
|
|
13472
13548
|
className: tabTriggerClassName,
|
|
13473
13549
|
value: "video",
|
|
13474
13550
|
children: t("misc.video")
|
|
13475
13551
|
}),
|
|
13476
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$TabsTrigger), {
|
|
13552
|
+
enabledModes.find((mode)=>mode === "audio") && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$TabsTrigger), {
|
|
13477
13553
|
className: tabTriggerClassName,
|
|
13478
13554
|
value: "audio",
|
|
13479
13555
|
children: t("misc.audio")
|
|
13480
13556
|
}),
|
|
13481
|
-
isDesktop && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$TabsTrigger), {
|
|
13557
|
+
isDesktop && enabledModes.find((mode)=>mode === "screen") && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$TabsTrigger), {
|
|
13482
13558
|
className: tabTriggerClassName,
|
|
13483
13559
|
value: "screen",
|
|
13484
13560
|
children: t("misc.screen")
|
|
@@ -13498,14 +13574,19 @@ const $a180b95972399d58$export$11a6fe490bbc4873 = (props)=>{
|
|
|
13498
13574
|
}),
|
|
13499
13575
|
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
13500
13576
|
className: "w-12 h-12",
|
|
13501
|
-
children: !!props.onSwitch && /*#__PURE__*/ (0, $3Sbms$
|
|
13577
|
+
children: !!props.onSwitch && /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Button), {
|
|
13502
13578
|
size: "lg",
|
|
13503
13579
|
icon: true,
|
|
13504
13580
|
onClick: props.onSwitch,
|
|
13505
13581
|
className: "bg-[#242424] hover:bg-[#292929] active:bg-[#292929] focus-visible:ring-blue-1000",
|
|
13506
|
-
children:
|
|
13507
|
-
|
|
13508
|
-
|
|
13582
|
+
children: [
|
|
13583
|
+
props.currentMode === "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Monitor2Icon), {
|
|
13584
|
+
className: "text-white"
|
|
13585
|
+
}),
|
|
13586
|
+
props.currentMode !== "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$RotateCcwIcon), {
|
|
13587
|
+
className: "text-white"
|
|
13588
|
+
})
|
|
13589
|
+
]
|
|
13509
13590
|
})
|
|
13510
13591
|
})
|
|
13511
13592
|
]
|
|
@@ -13736,6 +13817,26 @@ const $8fe8c7100159474e$export$788cb893d96254c8 = ({ state: state, mode: mode, p
|
|
|
13736
13817
|
}
|
|
13737
13818
|
})
|
|
13738
13819
|
];
|
|
13820
|
+
const instructionsScreen = [
|
|
13821
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Trans), {
|
|
13822
|
+
i18nKey: "recorder.instructions.selectScreenshare",
|
|
13823
|
+
components: {
|
|
13824
|
+
bold: /*#__PURE__*/ (0, $3Sbms$jsx)($8fe8c7100159474e$var$Bold, {})
|
|
13825
|
+
}
|
|
13826
|
+
}),
|
|
13827
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Trans), {
|
|
13828
|
+
i18nKey: "recorder.instructions.speakDuringRecord",
|
|
13829
|
+
components: {
|
|
13830
|
+
bold: /*#__PURE__*/ (0, $3Sbms$jsx)($8fe8c7100159474e$var$Bold, {})
|
|
13831
|
+
}
|
|
13832
|
+
}),
|
|
13833
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Trans), {
|
|
13834
|
+
i18nKey: "recorder.instructions.stopScreenOnFinish",
|
|
13835
|
+
components: {
|
|
13836
|
+
bold: /*#__PURE__*/ (0, $3Sbms$jsx)($8fe8c7100159474e$var$Bold, {})
|
|
13837
|
+
}
|
|
13838
|
+
})
|
|
13839
|
+
];
|
|
13739
13840
|
let title;
|
|
13740
13841
|
let instructions;
|
|
13741
13842
|
if (mode === "photo") {
|
|
@@ -13744,6 +13845,9 @@ const $8fe8c7100159474e$export$788cb893d96254c8 = ({ state: state, mode: mode, p
|
|
|
13744
13845
|
} else if (mode === "audio") {
|
|
13745
13846
|
title = t("recorder.audioInstructionsTitle");
|
|
13746
13847
|
instructions = instructionsAudio;
|
|
13848
|
+
} else if (mode === "screen") {
|
|
13849
|
+
title = t("recorder.screenShareInstructionsTitle");
|
|
13850
|
+
instructions = instructionsScreen;
|
|
13747
13851
|
} else {
|
|
13748
13852
|
title = t("recorder.videoInstructionsTitle");
|
|
13749
13853
|
instructions = instructionVideo;
|
|
@@ -13761,7 +13865,7 @@ const $8fe8c7100159474e$export$788cb893d96254c8 = ({ state: state, mode: mode, p
|
|
|
13761
13865
|
children: [
|
|
13762
13866
|
mode !== "audio" ? /*#__PURE__*/ (0, $3Sbms$jsx)("video", {
|
|
13763
13867
|
className: "w-full rounded-[inherit]",
|
|
13764
|
-
src: `${"https://stream-assets.snapcall.io"}/animations/${device}-assist-onboarding-${mode}-${videoLength}.mp4`,
|
|
13868
|
+
src: mode === "screen" ? `${"https://stream-assets.snapcall.io"}/animations/desktop-assist-onboarding-screen.mp4` : `${"https://stream-assets.snapcall.io"}/animations/${device}-assist-onboarding-${mode}-${videoLength}.mp4`,
|
|
13765
13869
|
playsInline: true,
|
|
13766
13870
|
autoPlay: true,
|
|
13767
13871
|
muted: true,
|
|
@@ -13829,7 +13933,7 @@ const $8fe8c7100159474e$export$788cb893d96254c8 = ({ state: state, mode: mode, p
|
|
|
13829
13933
|
|
|
13830
13934
|
|
|
13831
13935
|
|
|
13832
|
-
const $
|
|
13936
|
+
const $7c31a31145f23ee0$export$54c6bcb39df9c9b9 = ({ state: state, flow: flow, primaryAction: primaryAction })=>{
|
|
13833
13937
|
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$AlertDialog), {
|
|
13834
13938
|
open: state.isOpen,
|
|
13835
13939
|
onOpenChange: (open)=>{
|
|
@@ -13932,8 +14036,8 @@ const $b61c94408ce5f147$export$a530fe7a272dd531 = ({ state: state, recorderState
|
|
|
13932
14036
|
const result = await fetch(`${options.apiUrl}/streams/${roomId}/flow?lang=${language}`);
|
|
13933
14037
|
if (result.ok) {
|
|
13934
14038
|
const flow = await result.json();
|
|
13935
|
-
recorderState.
|
|
13936
|
-
} else recorderState.
|
|
14039
|
+
recorderState.setFlowV0(flow);
|
|
14040
|
+
} else recorderState.setFlowV0(null);
|
|
13937
14041
|
};
|
|
13938
14042
|
fetchFlow();
|
|
13939
14043
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -13975,7 +14079,7 @@ const $dcecc67f51a66b8d$export$f9d8408fefd786da = ({ state: state, onClose: onCl
|
|
|
13975
14079
|
(0, $3Sbms$useEffect)(()=>{
|
|
13976
14080
|
const url = new URL(options.sharedURL || window.location.href);
|
|
13977
14081
|
url.searchParams.set("language", i18n.resolvedLanguage);
|
|
13978
|
-
if (isAgent) url.searchParams.set("login", "1");
|
|
14082
|
+
if (isAgent && options.showLogin) url.searchParams.set("login", "1");
|
|
13979
14083
|
if (profile.email) url.searchParams.set("login-email", profile.email);
|
|
13980
14084
|
if (profile.name) url.searchParams.set("login-name", profile.name);
|
|
13981
14085
|
$3Sbms$toCanvas(QRCodeRef.current, url.href, {
|
|
@@ -13988,6 +14092,7 @@ const $dcecc67f51a66b8d$export$f9d8408fefd786da = ({ state: state, onClose: onCl
|
|
|
13988
14092
|
options.sharedURL,
|
|
13989
14093
|
i18n.resolvedLanguage,
|
|
13990
14094
|
isAgent,
|
|
14095
|
+
options.showLogin,
|
|
13991
14096
|
profile
|
|
13992
14097
|
]);
|
|
13993
14098
|
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$AlertDialog), {
|
|
@@ -14035,7 +14140,7 @@ const $dcecc67f51a66b8d$export$f9d8408fefd786da = ({ state: state, onClose: onCl
|
|
|
14035
14140
|
})
|
|
14036
14141
|
]
|
|
14037
14142
|
}),
|
|
14038
|
-
isAgent && /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14143
|
+
isAgent && options.showLogin && /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14039
14144
|
className: "flex gap-2 items-center self-center px-2 py-1 bg-gray-1000 rounded-md max-w-[350px]",
|
|
14040
14145
|
children: [
|
|
14041
14146
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Avatar), {
|
|
@@ -14107,10 +14212,102 @@ function $1e6ffcfc059a8789$export$3ae94a2503e890a1(date) {
|
|
|
14107
14212
|
|
|
14108
14213
|
|
|
14109
14214
|
|
|
14215
|
+
|
|
14216
|
+
|
|
14217
|
+
|
|
14218
|
+
const $1878286c044cb80b$export$b916fa2db97921a4 = ({ state: state, flow: flow, companyLogoUrl: companyLogoUrl, primaryAction: primaryAction })=>{
|
|
14219
|
+
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$AlertDialog), {
|
|
14220
|
+
open: state.isOpen,
|
|
14221
|
+
onOpenChange: (open)=>{
|
|
14222
|
+
!open && state.close();
|
|
14223
|
+
},
|
|
14224
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$AlertDialogContent), {
|
|
14225
|
+
className: "w-[334px] md:w-[334px] rounded-xl max-h-screen overflow-y-auto",
|
|
14226
|
+
children: [
|
|
14227
|
+
flow.steps?.[0]?.image_url ? /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14228
|
+
className: "relative rounded-xl",
|
|
14229
|
+
children: [
|
|
14230
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("img", {
|
|
14231
|
+
className: "w-full h-[200px] object-cover rounded-[inherit]",
|
|
14232
|
+
src: flow.steps?.[0]?.image_url,
|
|
14233
|
+
alt: ""
|
|
14234
|
+
}),
|
|
14235
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14236
|
+
className: "absolute inset-0 ring-2 ring-inset ring-white/20 rounded-[inherit]"
|
|
14237
|
+
}),
|
|
14238
|
+
companyLogoUrl && /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14239
|
+
className: "absolute bottom-2 right-2 rounded-lg",
|
|
14240
|
+
children: [
|
|
14241
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("img", {
|
|
14242
|
+
className: "w-8 h-8 object-cover rounded-[inherit]",
|
|
14243
|
+
src: companyLogoUrl,
|
|
14244
|
+
alt: ""
|
|
14245
|
+
}),
|
|
14246
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14247
|
+
className: "absolute inset-0 ring-2 ring-inset ring-white/20 rounded-[inherit]"
|
|
14248
|
+
})
|
|
14249
|
+
]
|
|
14250
|
+
})
|
|
14251
|
+
]
|
|
14252
|
+
}) : companyLogoUrl ? /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14253
|
+
className: "h-[200px] bg-cover bg-center rounded-xl",
|
|
14254
|
+
style: {
|
|
14255
|
+
backgroundImage: `url(${companyLogoUrl})`
|
|
14256
|
+
},
|
|
14257
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14258
|
+
className: "flex justify-center items-center w-full h-full backdrop-blur-[30px] rounded-[inherit]",
|
|
14259
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14260
|
+
className: "absolute rounded-2xl",
|
|
14261
|
+
children: [
|
|
14262
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("img", {
|
|
14263
|
+
className: "w-[100px] h-[100px] object-cover rounded-[inherit]",
|
|
14264
|
+
src: companyLogoUrl,
|
|
14265
|
+
alt: ""
|
|
14266
|
+
}),
|
|
14267
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14268
|
+
className: "absolute inset-0 ring-4 ring-inset ring-white/20 rounded-[inherit]"
|
|
14269
|
+
})
|
|
14270
|
+
]
|
|
14271
|
+
})
|
|
14272
|
+
})
|
|
14273
|
+
}) : /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Fragment), {}),
|
|
14274
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$AlertDialogHeader), {
|
|
14275
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$AlertDialogTitle), {
|
|
14276
|
+
children: flow.steps?.[0]?.translation?.title || flow.steps?.[0]?.title
|
|
14277
|
+
})
|
|
14278
|
+
}),
|
|
14279
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("p", {
|
|
14280
|
+
className: "text-sm text-gray-700 whitespace-pre-line",
|
|
14281
|
+
children: flow.steps?.[0]?.translation?.description || flow.steps?.[0]?.description
|
|
14282
|
+
}),
|
|
14283
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$AlertDialogFooter), {
|
|
14284
|
+
children: primaryAction()
|
|
14285
|
+
}),
|
|
14286
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("p", {
|
|
14287
|
+
className: "text-xs text-[#707070] text-center",
|
|
14288
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Trans), {
|
|
14289
|
+
i18nKey: "recorder.instructions.privacyPolicy",
|
|
14290
|
+
components: {
|
|
14291
|
+
bold: // eslint-disable-next-line jsx-a11y/anchor-has-content
|
|
14292
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("a", {
|
|
14293
|
+
className: "font-semibold text-gray-1000 underline",
|
|
14294
|
+
href: "https://www.snapcall.io/privacy-policy",
|
|
14295
|
+
target: "_blank",
|
|
14296
|
+
rel: "noreferrer"
|
|
14297
|
+
})
|
|
14298
|
+
}
|
|
14299
|
+
})
|
|
14300
|
+
})
|
|
14301
|
+
]
|
|
14302
|
+
})
|
|
14303
|
+
});
|
|
14304
|
+
};
|
|
14305
|
+
|
|
14306
|
+
|
|
14110
14307
|
const $c9e5583d5dd9328d$var$browser = (0, $3Sbms$bowser).parse(window.navigator.userAgent);
|
|
14111
14308
|
const $c9e5583d5dd9328d$export$5b8e641151f8011d = ({ recorderState: recorderState })=>{
|
|
14112
14309
|
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
14113
|
-
const { selfPeerId: selfPeerId, isAgent: isAgent, options: options } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
14310
|
+
const { selfPeerId: selfPeerId, isAgent: isAgent, options: options, flow: flow, hideSwitchToMobilePopup: hideSwitchToMobilePopup } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
14114
14311
|
const skipOnboarding = options.recorder?.skipOnboarding;
|
|
14115
14312
|
const getUserMediaMutation = (0, $d775b8f941514ed9$export$d791e41b9a4de1f2)({
|
|
14116
14313
|
audio: true,
|
|
@@ -14121,18 +14318,19 @@ const $c9e5583d5dd9328d$export$5b8e641151f8011d = ({ recorderState: recorderStat
|
|
|
14121
14318
|
const videoElementRef = (0, $3Sbms$useRef)(null);
|
|
14122
14319
|
const isDesktop = $c9e5583d5dd9328d$var$browser.platform.type === "desktop";
|
|
14123
14320
|
const instructionModalState = (0, $3Sbms$useOverlayTriggerState)({
|
|
14124
|
-
defaultOpen: !isDesktop
|
|
14321
|
+
defaultOpen: hideSwitchToMobilePopup || !isDesktop || recorderState.mode === "screen"
|
|
14125
14322
|
});
|
|
14126
14323
|
const [isInstructionVideoDisplayed, setInstructionVideoDisplayed] = (0, $3Sbms$useState)(skipOnboarding);
|
|
14127
14324
|
const [isInstructionPhotoDisplayed, setInstructionPhotoDisplayed] = (0, $3Sbms$useState)(skipOnboarding);
|
|
14128
14325
|
const [isInstructionAudioDisplayed, setInstructionAudioDisplayed] = (0, $3Sbms$useState)(skipOnboarding);
|
|
14129
14326
|
const qrCodeModalState = (0, $3Sbms$useOverlayTriggerState)({
|
|
14130
|
-
defaultOpen: isDesktop
|
|
14327
|
+
defaultOpen: hideSwitchToMobilePopup ? false : isDesktop && recorderState.mode !== "screen"
|
|
14131
14328
|
});
|
|
14132
14329
|
const [flashAnimation, setFlashAnimation] = (0, $3Sbms$useState)(false);
|
|
14133
14330
|
const { toast: toast, dismiss: dismissToast } = (0, $3Sbms$useToast)({
|
|
14134
14331
|
toasterId: "cameraRecorder"
|
|
14135
14332
|
});
|
|
14333
|
+
const { company: company } = (0, $c9e496369b59be7a$export$2f377c2162fd02b2).getState();
|
|
14136
14334
|
const exitStreaming = (0, $3Sbms$useCallback)(()=>{
|
|
14137
14335
|
setCountdownVisible(false);
|
|
14138
14336
|
dismissToast();
|
|
@@ -14183,6 +14381,18 @@ const $c9e5583d5dd9328d$export$5b8e641151f8011d = ({ recorderState: recorderStat
|
|
|
14183
14381
|
instructionModalState,
|
|
14184
14382
|
recorderState
|
|
14185
14383
|
]);
|
|
14384
|
+
(0, $3Sbms$useEffect)(()=>{
|
|
14385
|
+
const onScreenshareDisabled = ()=>{
|
|
14386
|
+
if (!recorderState.assetLoading && !recorderState.assetsPopupState.isOpen && recorderState.mode === "screen") instructionModalState.open();
|
|
14387
|
+
exitStreaming();
|
|
14388
|
+
};
|
|
14389
|
+
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("screenshareDisabled", onScreenshareDisabled);
|
|
14390
|
+
return ()=>{
|
|
14391
|
+
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("screenshareDisabled", onScreenshareDisabled);
|
|
14392
|
+
};
|
|
14393
|
+
}, [
|
|
14394
|
+
exitStreaming
|
|
14395
|
+
]);
|
|
14186
14396
|
(0, $3Sbms$useEffect)(()=>{
|
|
14187
14397
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("recordStopped", exitStreaming);
|
|
14188
14398
|
return ()=>{
|
|
@@ -14199,9 +14409,7 @@ const $c9e5583d5dd9328d$export$5b8e641151f8011d = ({ recorderState: recorderStat
|
|
|
14199
14409
|
isDesktop,
|
|
14200
14410
|
getUserMediaMutationOptions
|
|
14201
14411
|
]);
|
|
14202
|
-
const onSwitchModalClick =
|
|
14203
|
-
getUserMediaMutation.mutate(undefined, getUserMediaMutationOptions);
|
|
14204
|
-
} : instructionModalState.open;
|
|
14412
|
+
const onSwitchModalClick = ()=>instructionModalState.open();
|
|
14205
14413
|
const showReminderToast = ()=>{
|
|
14206
14414
|
toast({
|
|
14207
14415
|
title: t("recorder.audioLevelToast.rememberSpeaking"),
|
|
@@ -14218,34 +14426,67 @@ const $c9e5583d5dd9328d$export$5b8e641151f8011d = ({ recorderState: recorderStat
|
|
|
14218
14426
|
})
|
|
14219
14427
|
});
|
|
14220
14428
|
};
|
|
14221
|
-
const modalsButton = ()=>/*#__PURE__*/ (0, $3Sbms$
|
|
14429
|
+
const modalsButton = ()=>/*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Button), {
|
|
14222
14430
|
size: "sm",
|
|
14223
14431
|
className: "w-full",
|
|
14224
14432
|
disabled: !selfPeerId || getUserMediaMutation.isLoading,
|
|
14225
|
-
onClick: ()=>{
|
|
14433
|
+
onClick: async ()=>{
|
|
14226
14434
|
const { deviceState: deviceState } = (0, $c9e496369b59be7a$export$2f377c2162fd02b2).getState();
|
|
14227
|
-
if (
|
|
14435
|
+
if (recorderState.mode === "screen") {
|
|
14436
|
+
const { deviceState: deviceState } = (0, $c9e496369b59be7a$export$2f377c2162fd02b2).getState();
|
|
14437
|
+
getUserMediaMutation.reset();
|
|
14438
|
+
try {
|
|
14439
|
+
if (!deviceState.microphone.enabled) await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).enableMicrophone();
|
|
14440
|
+
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).enableScreenshare({
|
|
14441
|
+
audioTransportOption: "mix"
|
|
14442
|
+
});
|
|
14443
|
+
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).audioLevel?.analyse();
|
|
14444
|
+
recorderState.setStreaming(true);
|
|
14445
|
+
setCountdownVisible(true);
|
|
14446
|
+
showReminderToast();
|
|
14447
|
+
} catch (err) {
|
|
14448
|
+
console.error(err);
|
|
14449
|
+
recorderState.permissionBlockedModalState.open();
|
|
14450
|
+
}
|
|
14451
|
+
setMediaLoading(false);
|
|
14452
|
+
} else if (!getUserMediaMutation.savedPermissions.audio || !getUserMediaMutation.savedPermissions.video || !deviceState.camera.enabled) return getUserMediaMutation.mutate(undefined, getUserMediaMutationOptions);
|
|
14228
14453
|
instructionModalState.close();
|
|
14229
14454
|
},
|
|
14230
|
-
children:
|
|
14231
|
-
|
|
14232
|
-
|
|
14233
|
-
|
|
14234
|
-
|
|
14235
|
-
|
|
14236
|
-
|
|
14237
|
-
|
|
14238
|
-
|
|
14455
|
+
children: [
|
|
14456
|
+
recorderState.mode === "screen" && /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Fragment), {
|
|
14457
|
+
children: [
|
|
14458
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$CheckCircleIcon), {
|
|
14459
|
+
size: 18,
|
|
14460
|
+
className: "text-white"
|
|
14461
|
+
}),
|
|
14462
|
+
flow?.steps?.[0]?.translation?.button || t("recorder.startScreenShareButton")
|
|
14463
|
+
]
|
|
14464
|
+
}),
|
|
14465
|
+
recorderState.mode !== "screen" && (!getUserMediaMutation.savedPermissions.audio || !getUserMediaMutation.savedPermissions.video ? /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Fragment), {
|
|
14466
|
+
children: [
|
|
14467
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$CheckCircleIcon), {
|
|
14468
|
+
size: 18,
|
|
14469
|
+
className: "text-white"
|
|
14470
|
+
}),
|
|
14471
|
+
flow?.steps?.[0]?.translation?.button || t("recorder.allowCamMicAccess")
|
|
14472
|
+
]
|
|
14473
|
+
}) : t("recorder.okay"))
|
|
14474
|
+
]
|
|
14239
14475
|
});
|
|
14240
14476
|
return /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14241
|
-
className: "flex flex-col justify-center min-h-0 gap-
|
|
14477
|
+
className: "flex flex-col justify-center min-h-0 gap-4 antialiased shrink grow inter",
|
|
14242
14478
|
children: [
|
|
14243
|
-
typeof recorderState.
|
|
14479
|
+
typeof recorderState.flowV0 === "undefined" ? /*#__PURE__*/ (0, $3Sbms$jsx)((0, $b61c94408ce5f147$export$a530fe7a272dd531), {
|
|
14244
14480
|
state: instructionModalState,
|
|
14245
14481
|
recorderState: recorderState
|
|
14246
|
-
}) : recorderState.
|
|
14482
|
+
}) : recorderState.flowV0 ? /*#__PURE__*/ (0, $3Sbms$jsx)((0, $7c31a31145f23ee0$export$54c6bcb39df9c9b9), {
|
|
14247
14483
|
state: instructionModalState,
|
|
14248
|
-
flow: recorderState.
|
|
14484
|
+
flow: recorderState.flowV0,
|
|
14485
|
+
primaryAction: modalsButton
|
|
14486
|
+
}) : flow ? /*#__PURE__*/ (0, $3Sbms$jsx)((0, $1878286c044cb80b$export$b916fa2db97921a4), {
|
|
14487
|
+
state: instructionModalState,
|
|
14488
|
+
flow: flow,
|
|
14489
|
+
companyLogoUrl: company?.avatar_url,
|
|
14249
14490
|
primaryAction: modalsButton
|
|
14250
14491
|
}) : /*#__PURE__*/ (0, $3Sbms$jsx)((0, $8fe8c7100159474e$export$788cb893d96254c8), {
|
|
14251
14492
|
state: instructionModalState,
|
|
@@ -14316,6 +14557,8 @@ const $c9e5583d5dd9328d$export$5b8e641151f8011d = ({ recorderState: recorderStat
|
|
|
14316
14557
|
})
|
|
14317
14558
|
})
|
|
14318
14559
|
})
|
|
14560
|
+
}) : recorderState.mode === "screen" ? /*#__PURE__*/ (0, $3Sbms$jsx)((0, $7dc8075008cdffc1$export$8c410456846722ea), {
|
|
14561
|
+
ref: videoElementRef
|
|
14319
14562
|
}) : /*#__PURE__*/ (0, $3Sbms$jsx)((0, $7dc8075008cdffc1$export$287f8fcc69caf433), {
|
|
14320
14563
|
ref: videoElementRef
|
|
14321
14564
|
}),
|
|
@@ -14340,32 +14583,31 @@ const $c9e5583d5dd9328d$export$5b8e641151f8011d = ({ recorderState: recorderStat
|
|
|
14340
14583
|
try {
|
|
14341
14584
|
if (mode === "screen") {
|
|
14342
14585
|
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableVideo();
|
|
14343
|
-
|
|
14586
|
+
instructionModalState.open();
|
|
14587
|
+
recorderState.setMode(mode);
|
|
14344
14588
|
return;
|
|
14345
|
-
}
|
|
14589
|
+
} else await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableScreenshare();
|
|
14346
14590
|
recorderState.setMode(mode);
|
|
14347
|
-
if (mode === "
|
|
14348
|
-
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableVideo();
|
|
14349
|
-
recorderState.setRequestedMedia("microphone");
|
|
14350
|
-
}
|
|
14351
|
-
if (mode === "photo" && !isInstructionPhotoDisplayed && !isAgent) {
|
|
14591
|
+
if (mode === "photo" && !isInstructionPhotoDisplayed) {
|
|
14352
14592
|
setInstructionPhotoDisplayed(true);
|
|
14353
14593
|
instructionModalState.open();
|
|
14354
14594
|
}
|
|
14355
|
-
if (mode === "video" && !isInstructionVideoDisplayed
|
|
14595
|
+
if (mode === "video" && !isInstructionVideoDisplayed) {
|
|
14356
14596
|
setInstructionVideoDisplayed(true);
|
|
14357
14597
|
instructionModalState.open();
|
|
14358
14598
|
}
|
|
14359
|
-
if (mode === "audio" && !isInstructionAudioDisplayed
|
|
14599
|
+
if (mode === "audio" && !isInstructionAudioDisplayed) {
|
|
14360
14600
|
setInstructionAudioDisplayed(true);
|
|
14361
14601
|
instructionModalState.open();
|
|
14362
14602
|
}
|
|
14363
14603
|
const { deviceState: deviceState } = (0, $c9e496369b59be7a$export$2f377c2162fd02b2).getState();
|
|
14364
14604
|
if ((mode === "photo" || mode === "video") && !deviceState.camera.enabled) {
|
|
14365
14605
|
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).enableVideo();
|
|
14366
|
-
recorderState.
|
|
14606
|
+
recorderState.setMode(mode);
|
|
14367
14607
|
}
|
|
14368
|
-
} catch (error) {
|
|
14608
|
+
} catch (error) {
|
|
14609
|
+
console.log(error);
|
|
14610
|
+
} finally{
|
|
14369
14611
|
setMediaLoading(false);
|
|
14370
14612
|
}
|
|
14371
14613
|
},
|
|
@@ -14374,8 +14616,15 @@ const $c9e5583d5dd9328d$export$5b8e641151f8011d = ({ recorderState: recorderStat
|
|
|
14374
14616
|
asset: recorderState.assets[recorderState.assets.length - 1],
|
|
14375
14617
|
onClick: recorderState.assetsPopupState.open
|
|
14376
14618
|
}),
|
|
14377
|
-
onSwitch: recorderState.mode !== "audio" ? ()=>{
|
|
14378
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).rotateVideo();
|
|
14619
|
+
onSwitch: recorderState.mode !== "audio" ? async ()=>{
|
|
14620
|
+
if (recorderState.mode !== "screen") (0, $c9e496369b59be7a$export$2f377c2162fd02b2).rotateVideo();
|
|
14621
|
+
else {
|
|
14622
|
+
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableScreenshare();
|
|
14623
|
+
instructionModalState.close();
|
|
14624
|
+
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).enableScreenshare({
|
|
14625
|
+
audioTransportOption: "mix"
|
|
14626
|
+
});
|
|
14627
|
+
}
|
|
14379
14628
|
} : undefined,
|
|
14380
14629
|
onCapturePress: ()=>{
|
|
14381
14630
|
if (recorderState.mode === "photo" && videoElementRef.current) {
|
|
@@ -14390,245 +14639,12 @@ const $c9e5583d5dd9328d$export$5b8e641151f8011d = ({ recorderState: recorderStat
|
|
|
14390
14639
|
}
|
|
14391
14640
|
if (recorderState.mode !== "photo" && recorderState.streaming) {
|
|
14392
14641
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).audioLevel?.clearListeners();
|
|
14393
|
-
exitStreaming();
|
|
14394
14642
|
if (recorderState.startRecordTime) {
|
|
14395
14643
|
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).stopRecord();
|
|
14396
14644
|
recorderState.setAssetLoading(true);
|
|
14397
14645
|
recorderState.assetsPopupState.open();
|
|
14398
14646
|
}
|
|
14399
|
-
|
|
14400
|
-
}
|
|
14401
|
-
})
|
|
14402
|
-
})
|
|
14403
|
-
]
|
|
14404
|
-
});
|
|
14405
|
-
};
|
|
14406
|
-
|
|
14407
|
-
|
|
14408
|
-
|
|
14409
|
-
|
|
14410
|
-
|
|
14411
|
-
|
|
14412
|
-
|
|
14413
|
-
|
|
14414
|
-
|
|
14415
|
-
|
|
14416
|
-
const $ad3ba5899eb05ecf$var$Bold = ({ children: children })=>/*#__PURE__*/ (0, $3Sbms$jsx)("span", {
|
|
14417
|
-
className: "font-medium text-white",
|
|
14418
|
-
children: children
|
|
14419
|
-
});
|
|
14420
|
-
const $ad3ba5899eb05ecf$export$f361d4ae234b90f4 = ()=>{
|
|
14421
|
-
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
14422
|
-
const instructions = [
|
|
14423
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Trans), {
|
|
14424
|
-
i18nKey: "recorder.instructions.tapVideoButton",
|
|
14425
|
-
components: {
|
|
14426
|
-
bold: /*#__PURE__*/ (0, $3Sbms$jsx)($ad3ba5899eb05ecf$var$Bold, {})
|
|
14427
|
-
}
|
|
14428
|
-
}),
|
|
14429
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Trans), {
|
|
14430
|
-
i18nKey: "recorder.instructions.screenShareInstruction"
|
|
14431
|
-
}),
|
|
14432
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Trans), {
|
|
14433
|
-
i18nKey: "recorder.instructions.videoSpeech",
|
|
14434
|
-
components: {
|
|
14435
|
-
bold: /*#__PURE__*/ (0, $3Sbms$jsx)($ad3ba5899eb05ecf$var$Bold, {})
|
|
14436
|
-
}
|
|
14437
|
-
}),
|
|
14438
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Trans), {
|
|
14439
|
-
i18nKey: "recorder.instructions.tapStopVideoButton",
|
|
14440
|
-
components: {
|
|
14441
|
-
bold: /*#__PURE__*/ (0, $3Sbms$jsx)($ad3ba5899eb05ecf$var$Bold, {})
|
|
14442
|
-
}
|
|
14443
|
-
}),
|
|
14444
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Trans), {
|
|
14445
|
-
i18nKey: "recorder.instructions.reviewAndSendVideos",
|
|
14446
|
-
components: {
|
|
14447
|
-
bold: /*#__PURE__*/ (0, $3Sbms$jsx)($ad3ba5899eb05ecf$var$Bold, {})
|
|
14448
|
-
}
|
|
14449
|
-
})
|
|
14450
|
-
];
|
|
14451
|
-
return /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14452
|
-
className: "flex flex-row gap-[20px] w-full justify-between px-[60px]",
|
|
14453
|
-
children: [
|
|
14454
|
-
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14455
|
-
className: "flex flex-col gap-[10px] w-[50%] items-start justify-center",
|
|
14456
|
-
children: [
|
|
14457
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("span", {
|
|
14458
|
-
className: " text-white font-semibold text-lg pb-[20px]",
|
|
14459
|
-
children: t("recorder.screenTitle")
|
|
14460
|
-
}),
|
|
14461
|
-
instructions.map((value, index)=>/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14462
|
-
className: "flex flex-row items-center justify-center gap-[20px]",
|
|
14463
|
-
children: [
|
|
14464
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14465
|
-
className: "flex items-center justify-center min-w-[24px] h-[24px] rounded-[50%] bg-[#171717] text-white",
|
|
14466
|
-
children: index + 1
|
|
14467
|
-
}),
|
|
14468
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("span", {
|
|
14469
|
-
className: "w-full text-base text-white font-normal leading-[20px]",
|
|
14470
|
-
children: value
|
|
14471
|
-
})
|
|
14472
|
-
]
|
|
14473
|
-
}, index))
|
|
14474
|
-
]
|
|
14475
|
-
}),
|
|
14476
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14477
|
-
className: "flex items-center justify-center overflow-hidden w-[50%] box-border",
|
|
14478
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsx)("video", {
|
|
14479
|
-
src: `${"https://stream-assets.snapcall.io"}/animations/desktop-assist-onboarding-screen.mp4`,
|
|
14480
|
-
playsInline: true,
|
|
14481
|
-
autoPlay: true,
|
|
14482
|
-
muted: true,
|
|
14483
|
-
loop: true,
|
|
14484
|
-
className: "object-fit border-[white] border-[2px] rounded-[8px]"
|
|
14485
|
-
})
|
|
14486
|
-
})
|
|
14487
|
-
]
|
|
14488
|
-
});
|
|
14489
|
-
};
|
|
14490
|
-
|
|
14491
|
-
|
|
14492
|
-
|
|
14493
|
-
|
|
14494
|
-
|
|
14495
|
-
const $a3830e399ecc7fc4$export$2d78fbe400238869 = ({ recorderState: recorderState })=>{
|
|
14496
|
-
const videoElementRef = (0, $3Sbms$useRef)(null);
|
|
14497
|
-
const getUserMediaMutation = (0, $d775b8f941514ed9$export$d791e41b9a4de1f2)({
|
|
14498
|
-
audio: true
|
|
14499
|
-
});
|
|
14500
|
-
const [state, setState] = (0, $3Sbms$useState)("base");
|
|
14501
|
-
const [countdownVisible, setCountdownVisible] = (0, $3Sbms$useState)(false);
|
|
14502
|
-
(0, $3Sbms$useEffect)(()=>{
|
|
14503
|
-
if (recorderState.mode !== "video") recorderState.setMode("video");
|
|
14504
|
-
}, [
|
|
14505
|
-
recorderState
|
|
14506
|
-
]);
|
|
14507
|
-
const screenshareDisabled = (0, $3Sbms$useCallback)(()=>{
|
|
14508
|
-
setCountdownVisible(false);
|
|
14509
|
-
if (recorderState.startRecordTime) {
|
|
14510
|
-
recorderState.assetsPopupState.setOpen(true);
|
|
14511
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).stopRecord();
|
|
14512
|
-
}
|
|
14513
|
-
setState("base");
|
|
14514
|
-
}, [
|
|
14515
|
-
recorderState
|
|
14516
|
-
]);
|
|
14517
|
-
(0, $3Sbms$useEffect)(()=>{
|
|
14518
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("screenshareDisabled", screenshareDisabled);
|
|
14519
|
-
return ()=>{
|
|
14520
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("screenshareDisabled", screenshareDisabled);
|
|
14521
|
-
};
|
|
14522
|
-
}, [
|
|
14523
|
-
screenshareDisabled
|
|
14524
|
-
]);
|
|
14525
|
-
(0, $3Sbms$useEffect)(()=>{
|
|
14526
|
-
const onStopRecord = ()=>{
|
|
14527
|
-
recorderState.assetsPopupState.setOpen(true);
|
|
14528
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableScreenshare();
|
|
14529
|
-
recorderState.setStartRecordTime(undefined);
|
|
14530
|
-
setState("base");
|
|
14531
|
-
};
|
|
14532
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener("recordStopped", onStopRecord);
|
|
14533
|
-
return ()=>{
|
|
14534
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener("recordStopped", onStopRecord);
|
|
14535
|
-
};
|
|
14536
|
-
}, [
|
|
14537
|
-
recorderState
|
|
14538
|
-
]);
|
|
14539
|
-
return /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14540
|
-
className: "flex flex-col justify-center min-h-0 gap-6 antialiased shrink grow inter",
|
|
14541
|
-
children: [
|
|
14542
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14543
|
-
className: "min-h-0 w-max grow mx-auto max-w-[1110px] max-h-full",
|
|
14544
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14545
|
-
className: "relative h-full rounded-[10px] overflow-hidden",
|
|
14546
|
-
children: [
|
|
14547
|
-
countdownVisible && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $209863c2c7a7b6c0$export$53819c0e58f98d49), {
|
|
14548
|
-
initialValue: 3,
|
|
14549
|
-
onFinish: ()=>{
|
|
14550
|
-
setCountdownVisible(false);
|
|
14551
|
-
recorderState.setStartRecordTime(Date.now());
|
|
14552
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).startRecord().then(()=>{
|
|
14553
|
-
if (videoElementRef.current) recorderState.captureThumbnail(videoElementRef.current);
|
|
14554
|
-
});
|
|
14555
|
-
}
|
|
14556
|
-
}),
|
|
14557
|
-
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14558
|
-
className: "relative w-full h-full",
|
|
14559
|
-
children: [
|
|
14560
|
-
state === "live" ? /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Fragment), {
|
|
14561
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14562
|
-
className: "absolute z-10 w-[130px] top-2 left-1/2 -translate-x-1/2 text-white text-center bg-gray-1000 text-md rounded-lg font-medium py-2.5 px-3.5",
|
|
14563
|
-
children: [
|
|
14564
|
-
(0, $1e6ffcfc059a8789$export$cc010f6d61e5dce8)(recorderState.timer),
|
|
14565
|
-
" / 05:00"
|
|
14566
|
-
]
|
|
14567
|
-
})
|
|
14568
|
-
}) : /*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14569
|
-
className: "absolute bg-cover flex items-center bg-[url('https://cdn.snapcall.io/img/assist/gradient-bg.jpg')] w-full h-full z-10 left-1/2 -translate-x-1/2",
|
|
14570
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $ad3ba5899eb05ecf$export$f361d4ae234b90f4), {})
|
|
14571
|
-
}),
|
|
14572
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $7dc8075008cdffc1$export$8c410456846722ea), {
|
|
14573
|
-
ref: videoElementRef
|
|
14574
|
-
})
|
|
14575
|
-
]
|
|
14576
|
-
})
|
|
14577
|
-
]
|
|
14578
|
-
})
|
|
14579
|
-
}),
|
|
14580
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("div", {
|
|
14581
|
-
className: "z-10 flex justify-center",
|
|
14582
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $a180b95972399d58$export$11a6fe490bbc4873), {
|
|
14583
|
-
currentMode: "screen",
|
|
14584
|
-
state: recorderState,
|
|
14585
|
-
screenRecordingState: state,
|
|
14586
|
-
onSelect: async (mode)=>{
|
|
14587
|
-
if (mode === "photo" || mode === "video") {
|
|
14588
|
-
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableScreenshare();
|
|
14589
|
-
recorderState.setMode(mode);
|
|
14590
|
-
recorderState.setRequestedMedia("camera");
|
|
14591
|
-
return;
|
|
14592
|
-
}
|
|
14593
|
-
if (mode === "audio") {
|
|
14594
|
-
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableScreenshare();
|
|
14595
|
-
recorderState.setMode(mode);
|
|
14596
|
-
recorderState.setRequestedMedia("microphone");
|
|
14597
|
-
}
|
|
14598
|
-
},
|
|
14599
|
-
thumbnail: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $7227f0300555e42c$export$1cd1efc78cb52ca5), {
|
|
14600
|
-
size: 48,
|
|
14601
|
-
asset: recorderState.assets[recorderState.assets.length - 1],
|
|
14602
|
-
onClick: recorderState.assetsPopupState.open
|
|
14603
|
-
}),
|
|
14604
|
-
onCapturePress: ()=>{
|
|
14605
|
-
if (state !== "live") {
|
|
14606
|
-
setState("request");
|
|
14607
|
-
recorderState.setStreaming(true);
|
|
14608
|
-
getUserMediaMutation.mutate(undefined, {
|
|
14609
|
-
onError: ()=>{
|
|
14610
|
-
recorderState.permissionBlockedModalState.setOpen(true);
|
|
14611
|
-
},
|
|
14612
|
-
onSuccess: async ()=>{
|
|
14613
|
-
try {
|
|
14614
|
-
const { deviceState: deviceState } = (0, $c9e496369b59be7a$export$2f377c2162fd02b2).getState();
|
|
14615
|
-
getUserMediaMutation.reset();
|
|
14616
|
-
if (!deviceState.microphone.enabled) await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).enableMicrophone();
|
|
14617
|
-
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).enableScreenshare({
|
|
14618
|
-
audioTransportOption: "mix"
|
|
14619
|
-
});
|
|
14620
|
-
setCountdownVisible(true);
|
|
14621
|
-
setState("live");
|
|
14622
|
-
} catch (err) {
|
|
14623
|
-
console.log(err);
|
|
14624
|
-
recorderState.permissionBlockedModalState.setOpen(true);
|
|
14625
|
-
}
|
|
14626
|
-
}
|
|
14627
|
-
});
|
|
14628
|
-
} else {
|
|
14629
|
-
recorderState.setStreaming(false);
|
|
14630
|
-
if (recorderState.startRecordTime) recorderState.setAssetLoading(true);
|
|
14631
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).disableScreenshare();
|
|
14647
|
+
exitStreaming();
|
|
14632
14648
|
}
|
|
14633
14649
|
}
|
|
14634
14650
|
})
|
|
@@ -14769,7 +14785,7 @@ const $c22caa553a50352e$export$f56b3b5841ad32ae = ({ asset: asset, state: state
|
|
|
14769
14785
|
alt: `Asset-${asset.assetId}`,
|
|
14770
14786
|
className: "flex-1 object-contain rounded-[10px] max-h-[90%] max-w-[90%] mb-[9px]"
|
|
14771
14787
|
}),
|
|
14772
|
-
asset.type === "video" && /*#__PURE__*/ (0, $3Sbms$jsx)("video", {
|
|
14788
|
+
asset.type === "video" || asset.type === "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)("video", {
|
|
14773
14789
|
src: asset.objectUrl,
|
|
14774
14790
|
playsInline: true,
|
|
14775
14791
|
autoPlay: true,
|
|
@@ -14858,6 +14874,7 @@ const $d55df9ccf8ad2080$export$c9169049516d8bcf = ({ asset: asset, index: index,
|
|
|
14858
14874
|
let assetTypeDisplayName;
|
|
14859
14875
|
if (asset.type === "photo") assetTypeDisplayName = t("misc.screenshot");
|
|
14860
14876
|
else if (asset.type === "audio") assetTypeDisplayName = t("misc.audio");
|
|
14877
|
+
else if (asset.type === "screen") assetTypeDisplayName = t("misc.screen");
|
|
14861
14878
|
else assetTypeDisplayName = t("misc.video");
|
|
14862
14879
|
return /*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
14863
14880
|
className: "flex flex-col w-full gap-2",
|
|
@@ -14914,7 +14931,7 @@ const $d55df9ccf8ad2080$export$c9169049516d8bcf = ({ asset: asset, index: index,
|
|
|
14914
14931
|
})
|
|
14915
14932
|
]
|
|
14916
14933
|
}, asset.assetId),
|
|
14917
|
-
asset.averageAudioLevel !== undefined && assetMediaLength && asset.mediaType === "
|
|
14934
|
+
asset.averageAudioLevel !== undefined && assetMediaLength && asset.mediaType === "video" && asset.type === "video" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $64dee502cbd6331e$export$1ea93f9eface5983), {
|
|
14918
14935
|
asset: asset
|
|
14919
14936
|
})
|
|
14920
14937
|
]
|
|
@@ -15132,8 +15149,7 @@ const $f29323a81b2f6e11$export$b4d7a44be6f5e733 = ({ state: state })=>{
|
|
|
15132
15149
|
const { type: type, data: data } = event.data;
|
|
15133
15150
|
switch(type){
|
|
15134
15151
|
case "consoleReady":
|
|
15135
|
-
|
|
15136
|
-
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).init(roomId, {
|
|
15152
|
+
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).setAgentIdentity({
|
|
15137
15153
|
apiKey: data.apiKey
|
|
15138
15154
|
});
|
|
15139
15155
|
break;
|
|
@@ -15181,12 +15197,11 @@ const $b76354b532370976$export$336a011955157f9a = ()=>{
|
|
|
15181
15197
|
const [thumbnailURL, setLastThumbnailURL] = (0, $3Sbms$useState)(undefined);
|
|
15182
15198
|
const captureThumbnail = async (videoElement)=>{
|
|
15183
15199
|
let image = await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).captureVideo(undefined).catch(console.error);
|
|
15184
|
-
if (!image) image = await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).captureVideo(videoElement);
|
|
15185
|
-
setLastThumbnailURL(image);
|
|
15200
|
+
if (!image) image = await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).captureVideo(videoElement).catch(console.error);
|
|
15201
|
+
if (image) setLastThumbnailURL(image);
|
|
15186
15202
|
};
|
|
15187
15203
|
const recorderState = (0, $448b01a7ea61a08a$export$c74cd098b7a410cb)({
|
|
15188
15204
|
mode: options?.recorder?.defaultMode || "photo",
|
|
15189
|
-
requestedMedia: options?.recorder?.defaultMedia || "camera",
|
|
15190
15205
|
permissionBlockedModalState: permissionBlockedModalState,
|
|
15191
15206
|
captureThumbnail: captureThumbnail
|
|
15192
15207
|
});
|
|
@@ -15216,7 +15231,7 @@ const $b76354b532370976$export$336a011955157f9a = ()=>{
|
|
|
15216
15231
|
startRecordingTimestamp: recorderState.startRecordTime,
|
|
15217
15232
|
objectUrl: url,
|
|
15218
15233
|
assetId: assetId,
|
|
15219
|
-
mediaType: recorderState.
|
|
15234
|
+
mediaType: recorderState.mode,
|
|
15220
15235
|
thumbnailURL: thumbnailURL,
|
|
15221
15236
|
averageAudioLevel: recorderState.lastRecordingAudioLevel
|
|
15222
15237
|
}
|
|
@@ -15263,10 +15278,7 @@ const $b76354b532370976$export$336a011955157f9a = ()=>{
|
|
|
15263
15278
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $b4057e63640314b7$export$aa00db7a33d4c484), {
|
|
15264
15279
|
className: "shrink-0"
|
|
15265
15280
|
}),
|
|
15266
|
-
|
|
15267
|
-
recorderState: recorderState
|
|
15268
|
-
}),
|
|
15269
|
-
recorderState.requestedMedia === "screen" && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $a3830e399ecc7fc4$export$2d78fbe400238869), {
|
|
15281
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $c9e5583d5dd9328d$export$5b8e641151f8011d), {
|
|
15270
15282
|
recorderState: recorderState
|
|
15271
15283
|
})
|
|
15272
15284
|
]
|
|
@@ -16257,7 +16269,7 @@ const $26ed036cbc17809a$var$currentTheme = (0, $52580db2e49cdd90$export$3bfd0d52
|
|
|
16257
16269
|
const $26ed036cbc17809a$var$currentLanguage = (0, $a3e657fb86ae23f3$export$604ba5624273df44)();
|
|
16258
16270
|
const $26ed036cbc17809a$var$queryClient = new (0, $3Sbms$QueryClient)();
|
|
16259
16271
|
let $26ed036cbc17809a$var$timestampCriticalError = -1;
|
|
16260
|
-
const $26ed036cbc17809a$var$StreamUI = ({ options: options })=>{
|
|
16272
|
+
const $26ed036cbc17809a$var$StreamUI = ({ options: options, flow: flow })=>{
|
|
16261
16273
|
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
16262
16274
|
const [selfPeerId, setSelfPeerId] = (0, $3Sbms$useState)(undefined);
|
|
16263
16275
|
const streamUIContainerRef = (0, $3Sbms$useRef)(null);
|
|
@@ -16539,7 +16551,9 @@ const $26ed036cbc17809a$var$StreamUI = ({ options: options })=>{
|
|
|
16539
16551
|
screensharing: screensharing,
|
|
16540
16552
|
isAgent: isAgent,
|
|
16541
16553
|
userInteractionTriggered: userInteractionTriggered,
|
|
16542
|
-
orientation: orientation
|
|
16554
|
+
orientation: orientation,
|
|
16555
|
+
flow: flow,
|
|
16556
|
+
hideSwitchToMobilePopup: options.hideSwitchToMobilePopup
|
|
16543
16557
|
},
|
|
16544
16558
|
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$ThemeProvider), {
|
|
16545
16559
|
theme: styledTheme,
|
|
@@ -16597,7 +16611,7 @@ window.hj = window.hj || function() {
|
|
|
16597
16611
|
|
|
16598
16612
|
|
|
16599
16613
|
var $1e2747ca72d0ab49$exports = {};
|
|
16600
|
-
$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-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\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: #93c5fd80;\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.container {\n width: 100%;\n}\n\n@media (width >= 640px) {\n .container {\n max-width: 640px;\n }\n}\n\n@media (width >= 768px) {\n .container {\n max-width: 768px;\n }\n}\n\n@media (width >= 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n\n@media (width >= 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n\n@media (width >= 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n\n.sr-only {\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.pointer-events-auto {\n pointer-events: auto;\n}\n\n.visible {\n visibility: visible;\n}\n\n.invisible {\n visibility: hidden;\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.inset-x-0 {\n left: 0;\n right: 0;\n}\n\n.inset-y-0 {\n top: 0;\n bottom: 0;\n}\n\n.-bottom-12 {\n bottom: -3rem;\n}\n\n.-left-12 {\n left: -3rem;\n}\n\n.-right-12 {\n right: -3rem;\n}\n\n.-top-12 {\n top: -3rem;\n}\n\n.bottom-0 {\n bottom: 0;\n}\n\n.bottom-2 {\n bottom: .5rem;\n}\n\n.bottom-4 {\n bottom: 1rem;\n}\n\n.left-0 {\n left: 0;\n}\n\n.left-1 {\n left: .25rem;\n}\n\n.left-1\\/2 {\n left: 50%;\n}\n\n.left-2 {\n left: .5rem;\n}\n\n.left-\\[50\\%\\] {\n left: 50%;\n}\n\n.right-0 {\n right: 0;\n}\n\n.right-1 {\n right: .25rem;\n}\n\n.right-2 {\n right: .5rem;\n}\n\n.right-6 {\n right: 1.5rem;\n}\n\n.top-0 {\n top: 0;\n}\n\n.top-1\\/2 {\n top: 50%;\n}\n\n.top-2 {\n top: .5rem;\n}\n\n.top-6 {\n top: 1.5rem;\n}\n\n.top-8 {\n top: 2rem;\n}\n\n.top-\\[50\\%\\] {\n top: 50%;\n}\n\n.top-auto {\n top: auto;\n}\n\n.z-10 {\n z-index: 10;\n}\n\n.z-50 {\n z-index: 50;\n}\n\n.z-\\[100\\] {\n z-index: 100;\n}\n\n.z-\\[150\\] {\n z-index: 150;\n}\n\n.-mx-1 {\n margin-left: -.25rem;\n margin-right: -.25rem;\n}\n\n.mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.-ml-4 {\n margin-left: -1rem;\n}\n\n.-mr-2 {\n margin-right: -.5rem;\n}\n\n.-mt-4 {\n margin-top: -1rem;\n}\n\n.mb-4 {\n margin-bottom: 1rem;\n}\n\n.mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.mb-\\[9px\\] {\n margin-bottom: 9px;\n}\n\n.ml-1 {\n margin-left: .25rem;\n}\n\n.mr-2 {\n margin-right: .5rem;\n}\n\n.mr-2\\.5 {\n margin-right: .625rem;\n}\n\n.mr-9 {\n margin-right: 2.25rem;\n}\n\n.mt-1 {\n margin-top: .25rem;\n}\n\n.mt-2 {\n margin-top: .5rem;\n}\n\n.box-border {\n box-sizing: border-box;\n}\n\n.block {\n display: block;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.table {\n display: table;\n}\n\n.grid {\n display: grid;\n}\n\n.hidden {\n display: none;\n}\n\n.\\!h-\\[24px\\] {\n height: 24px !important;\n}\n\n.h-1\\/3 {\n height: 33.3333%;\n}\n\n.h-10 {\n height: 2.5rem;\n}\n\n.h-12 {\n height: 3rem;\n}\n\n.h-14 {\n height: 3.5rem;\n}\n\n.h-16 {\n height: 4rem;\n}\n\n.h-3 {\n height: .75rem;\n}\n\n.h-4 {\n height: 1rem;\n}\n\n.h-5 {\n height: 1.25rem;\n}\n\n.h-6 {\n height: 1.5rem;\n}\n\n.h-8 {\n height: 2rem;\n}\n\n.h-9 {\n height: 2.25rem;\n}\n\n.h-\\[100px\\] {\n height: 100px;\n}\n\n.h-\\[150px\\] {\n height: 150px;\n}\n\n.h-\\[16px\\] {\n height: 16px;\n}\n\n.h-\\[1px\\] {\n height: 1px;\n}\n\n.h-\\[200px\\] {\n height: 200px;\n}\n\n.h-\\[24px\\] {\n height: 24px;\n}\n\n.h-\\[36px\\] {\n height: 36px;\n}\n\n.h-\\[384px\\] {\n height: 384px;\n}\n\n.h-\\[400px\\] {\n height: 400px;\n}\n\n.h-\\[40px\\] {\n height: 40px;\n}\n\n.h-\\[45px\\] {\n height: 45px;\n}\n\n.h-\\[54px\\] {\n height: 54px;\n}\n\n.h-\\[72px\\] {\n height: 72px;\n}\n\n.h-\\[8px\\] {\n height: 8px;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-px {\n height: 1px;\n}\n\n.h-screen {\n height: 100vh;\n}\n\n.max-h-\\[180px\\] {\n max-height: 180px;\n}\n\n.max-h-\\[300px\\] {\n max-height: 300px;\n}\n\n.max-h-\\[70px\\] {\n max-height: 70px;\n}\n\n.max-h-\\[90\\%\\] {\n max-height: 90%;\n}\n\n.max-h-\\[90vh\\] {\n max-height: 90vh;\n}\n\n.max-h-full {\n max-height: 100%;\n}\n\n.max-h-screen {\n max-height: 100vh;\n}\n\n.min-h-0 {\n min-height: 0;\n}\n\n.min-h-9 {\n min-height: 2.25rem;\n}\n\n.min-h-\\[20px\\] {\n min-height: 20px;\n}\n\n.min-h-\\[80px\\] {\n min-height: 80px;\n}\n\n.\\!w-\\[24px\\] {\n width: 24px !important;\n}\n\n.w-0 {\n width: 0;\n}\n\n.w-1\\/3 {\n width: 33.3333%;\n}\n\n.w-10 {\n width: 2.5rem;\n}\n\n.w-12 {\n width: 3rem;\n}\n\n.w-16 {\n width: 4rem;\n}\n\n.w-3 {\n width: .75rem;\n}\n\n.w-3\\/4 {\n width: 75%;\n}\n\n.w-4 {\n width: 1rem;\n}\n\n.w-5 {\n width: 1.25rem;\n}\n\n.w-6 {\n width: 1.5rem;\n}\n\n.w-72 {\n width: 18rem;\n}\n\n.w-8 {\n width: 2rem;\n}\n\n.w-\\[100px\\] {\n width: 100px;\n}\n\n.w-\\[130px\\] {\n width: 130px;\n}\n\n.w-\\[16px\\] {\n width: 16px;\n}\n\n.w-\\[1px\\] {\n width: 1px;\n}\n\n.w-\\[24px\\] {\n width: 24px;\n}\n\n.w-\\[334px\\] {\n width: 334px;\n}\n\n.w-\\[36px\\] {\n width: 36px;\n}\n\n.w-\\[400px\\] {\n width: 400px;\n}\n\n.w-\\[40px\\] {\n width: 40px;\n}\n\n.w-\\[42px\\] {\n width: 42px;\n}\n\n.w-\\[45px\\] {\n width: 45px;\n}\n\n.w-\\[50\\%\\] {\n width: 50%;\n}\n\n.w-\\[54px\\] {\n width: 54px;\n}\n\n.w-\\[72px\\] {\n width: 72px;\n}\n\n.w-\\[8px\\] {\n width: 8px;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-max {\n width: max-content;\n}\n\n.min-w-0 {\n min-width: 0;\n}\n\n.min-w-\\[120px\\] {\n min-width: 120px;\n}\n\n.min-w-\\[144px\\] {\n min-width: 144px;\n}\n\n.min-w-\\[24px\\] {\n min-width: 24px;\n}\n\n.min-w-\\[250px\\] {\n min-width: 250px;\n}\n\n.min-w-full {\n min-width: 100%;\n}\n\n.max-w-\\[1110px\\] {\n max-width: 1110px;\n}\n\n.max-w-\\[315px\\] {\n max-width: 315px;\n}\n\n.max-w-\\[350px\\] {\n max-width: 350px;\n}\n\n.max-w-\\[400px\\] {\n max-width: 400px;\n}\n\n.max-w-\\[500px\\] {\n max-width: 500px;\n}\n\n.max-w-\\[70px\\] {\n max-width: 70px;\n}\n\n.max-w-\\[800px\\] {\n max-width: 800px;\n}\n\n.max-w-\\[90\\%\\] {\n max-width: 90%;\n}\n\n.max-w-\\[90vw\\] {\n max-width: 90vw;\n}\n\n.max-w-full {\n max-width: 100%;\n}\n\n.flex-1 {\n flex: 1;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n\n.shrink {\n flex-shrink: 1;\n}\n\n.shrink-0 {\n flex-shrink: 0;\n}\n\n.flex-grow, .grow {\n flex-grow: 1;\n}\n\n.grow-0 {\n flex-grow: 0;\n}\n\n.basis-full {\n flex-basis: 100%;\n}\n\n.caption-bottom {\n caption-side: bottom;\n}\n\n.border-collapse {\n border-collapse: collapse;\n}\n\n.-translate-x-1\\/2 {\n --tw-translate-x: -50%;\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-1\\/2 {\n --tw-translate-y: -50%;\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-x-0 {\n --tw-translate-x: 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-x-0\\.5 {\n --tw-translate-x: .125rem;\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-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\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-\\[-50\\%\\] {\n --tw-translate-y: -50%;\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\\], .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@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n.animate-pulse {\n animation: 2s cubic-bezier(.4, 0, .6, 1) infinite pulse;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.animate-spin {\n animation: 1s linear infinite spin;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.select-none {\n -webkit-user-select: none;\n user-select: none;\n}\n\n.resize {\n resize: both;\n}\n\n.appearance-none {\n appearance: none;\n}\n\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.items-start {\n align-items: flex-start;\n}\n\n.items-end {\n align-items: flex-end;\n}\n\n.items-center {\n align-items: center;\n}\n\n.items-stretch {\n align-items: stretch;\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-1 {\n gap: .25rem;\n}\n\n.gap-1\\.5 {\n gap: .375rem;\n}\n\n.gap-12 {\n gap: 3rem;\n}\n\n.gap-2 {\n gap: .5rem;\n}\n\n.gap-2\\.5 {\n gap: .625rem;\n}\n\n.gap-3 {\n gap: .75rem;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.gap-6 {\n gap: 1.5rem;\n}\n\n.gap-8 {\n gap: 2rem;\n}\n\n.gap-\\[10px\\] {\n gap: 10px;\n}\n\n.gap-\\[20px\\] {\n gap: 20px;\n}\n\n.space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(.25rem * var(--tw-space-x-reverse));\n margin-left: calc(.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(.25rem * var(--tw-space-y-reverse));\n}\n\n.space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(.375rem * var(--tw-space-y-reverse));\n}\n\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n\n.space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n\n.space-y-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));\n}\n\n.self-center {\n align-self: center;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-visible {\n overflow: visible;\n}\n\n.overflow-y-auto {\n overflow-y: auto;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.whitespace-nowrap {\n white-space: nowrap;\n}\n\n.whitespace-pre-line {\n white-space: pre-line;\n}\n\n.\\!rounded-md {\n border-radius: .375rem !important;\n}\n\n.rounded {\n border-radius: .25rem;\n}\n\n.rounded-2xl {\n border-radius: 1rem;\n}\n\n.rounded-\\[10px\\] {\n border-radius: 10px;\n}\n\n.rounded-\\[3px\\] {\n border-radius: 3px;\n}\n\n.rounded-\\[4px\\] {\n border-radius: 4px;\n}\n\n.rounded-\\[50\\%\\] {\n border-radius: 50%;\n}\n\n.rounded-\\[64px\\] {\n border-radius: 64px;\n}\n\n.rounded-\\[6px\\] {\n border-radius: 6px;\n}\n\n.rounded-\\[8px\\] {\n border-radius: 8px;\n}\n\n.rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-lg {\n border-radius: .5rem;\n}\n\n.rounded-md {\n border-radius: .375rem;\n}\n\n.rounded-xl {\n border-radius: .75rem;\n}\n\n.rounded-b-3xl {\n border-bottom-right-radius: 1.5rem;\n border-bottom-left-radius: 1.5rem;\n}\n\n.rounded-t-3xl {\n border-top-left-radius: 1.5rem;\n border-top-right-radius: 1.5rem;\n}\n\n.\\!border-0 {\n border-width: 0 !important;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-2, .border-\\[2px\\] {\n border-width: 2px;\n}\n\n.border-\\[3px\\] {\n border-width: 3px;\n}\n\n.border-\\[4px\\] {\n border-width: 4px;\n}\n\n.border-\\[5px\\] {\n border-width: 5px;\n}\n\n.border-b {\n border-bottom-width: 1px;\n}\n\n.border-l {\n border-left-width: 1px;\n}\n\n.border-r {\n border-right-width: 1px;\n}\n\n.border-t {\n border-top-width: 1px;\n}\n\n.border-\\[\\#292929\\] {\n --tw-border-opacity: 1;\n border-color: rgb(41 41 41 / 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-amber-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-amber-700) / var(--tw-border-opacity));\n}\n\n.border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-blue-200) / var(--tw-border-opacity));\n}\n\n.border-blue-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-blue-700) / var(--tw-border-opacity));\n}\n\n.border-gray-1000 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-1000) / var(--tw-border-opacity));\n}\n\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n}\n\n.border-gray-600 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-600) / var(--tw-border-opacity));\n}\n\n.border-red-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.border-transparent {\n border-color: #0000;\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-b-red-700 {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.border-l-red-700 {\n --tw-border-opacity: 1;\n border-left-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.\\!bg-transparent {\n background-color: #0000 !important;\n}\n\n.bg-\\[\\#171717\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(23 23 23 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#1C1C1C\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(28 28 28 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#242424\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(36 36 36 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#292929\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#ff0000\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 0 0 / var(--tw-bg-opacity));\n}\n\n.bg-amber-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-100) / var(--tw-bg-opacity));\n}\n\n.bg-amber-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-200) / var(--tw-bg-opacity));\n}\n\n.bg-amber-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-700) / var(--tw-bg-opacity));\n}\n\n.bg-black\\/25 {\n background-color: #00000040;\n}\n\n.bg-black\\/\\[\\.6\\] {\n background-color: #0009;\n}\n\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.bg-blue-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-300) / var(--tw-bg-opacity));\n}\n\n.bg-blue-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.bg-bronze-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-bronze-300) / var(--tw-bg-opacity));\n}\n\n.bg-brown-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-100) / var(--tw-bg-opacity));\n}\n\n.bg-brown-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-300) / var(--tw-bg-opacity));\n}\n\n.bg-brown-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-700) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-100) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-300) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-700) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-100) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-300) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-700) / var(--tw-bg-opacity));\n}\n\n.bg-gold-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gold-300) / var(--tw-bg-opacity));\n}\n\n.bg-grass-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-grass-300) / var(--tw-bg-opacity));\n}\n\n.bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.bg-gray-1000 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-1000) / var(--tw-bg-opacity));\n}\n\n.bg-gray-1000\\/25 {\n background-color: rgb(var(--color-gray-1000) / .25);\n}\n\n.bg-gray-1000\\/80 {\n background-color: rgb(var(--color-gray-1000) / .8);\n}\n\n.bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-200) / var(--tw-bg-opacity));\n}\n\n.bg-gray-25 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-25) / var(--tw-bg-opacity));\n}\n\n.bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-300) / var(--tw-bg-opacity));\n}\n\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.bg-gray-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-600) / var(--tw-bg-opacity));\n}\n\n.bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-900) / var(--tw-bg-opacity));\n}\n\n.bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-100) / var(--tw-bg-opacity));\n}\n\n.bg-green-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-300) / var(--tw-bg-opacity));\n}\n\n.bg-green-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-700) / var(--tw-bg-opacity));\n}\n\n.bg-indigo-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-indigo-300) / var(--tw-bg-opacity));\n}\n\n.bg-lime-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-lime-300) / var(--tw-bg-opacity));\n}\n\n.bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-orange-100) / var(--tw-bg-opacity));\n}\n\n.bg-orange-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-orange-700) / var(--tw-bg-opacity));\n}\n\n.bg-plum-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-plum-300) / var(--tw-bg-opacity));\n}\n\n.bg-purple-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-purple-300) / var(--tw-bg-opacity));\n}\n\n.bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-100) / var(--tw-bg-opacity));\n}\n\n.bg-red-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-300) / var(--tw-bg-opacity));\n}\n\n.bg-red-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-700) / var(--tw-bg-opacity));\n}\n\n.bg-teal-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-100) / var(--tw-bg-opacity));\n}\n\n.bg-teal-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-300) / var(--tw-bg-opacity));\n}\n\n.bg-teal-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-700) / var(--tw-bg-opacity));\n}\n\n.bg-transparent {\n background-color: #0000;\n}\n\n.bg-violet-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-100) / var(--tw-bg-opacity));\n}\n\n.bg-violet-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-300) / var(--tw-bg-opacity));\n}\n\n.bg-violet-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-700) / var(--tw-bg-opacity));\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-yellow-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-yellow-300) / var(--tw-bg-opacity));\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.bg-center {\n background-position: center;\n}\n\n.object-contain {\n object-fit: contain;\n}\n\n.object-cover {\n object-fit: cover;\n}\n\n.p-0 {\n padding: 0;\n}\n\n.p-1 {\n padding: .25rem;\n}\n\n.p-1\\.5 {\n padding: .375rem;\n}\n\n.p-2 {\n padding: .5rem;\n}\n\n.p-2\\.5 {\n padding: .625rem;\n}\n\n.p-3 {\n padding: .75rem;\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.p-6 {\n padding: 1.5rem;\n}\n\n.p-8 {\n padding: 2rem;\n}\n\n.p-\\[11px\\] {\n padding: 11px;\n}\n\n.px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.px-2\\.5 {\n padding-left: .625rem;\n padding-right: .625rem;\n}\n\n.px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.px-3\\.5 {\n padding-left: .875rem;\n padding-right: .875rem;\n}\n\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.px-\\[60px\\] {\n padding-left: 60px;\n padding-right: 60px;\n}\n\n.py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.py-0\\.5 {\n padding-top: .125rem;\n padding-bottom: .125rem;\n}\n\n.py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.py-1\\.5 {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.py-2\\.5 {\n padding-top: .625rem;\n padding-bottom: .625rem;\n}\n\n.py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.pb-2 {\n padding-bottom: .5rem;\n}\n\n.pb-\\[20px\\] {\n padding-bottom: 20px;\n}\n\n.pb-\\[9px\\] {\n padding-bottom: 9px;\n}\n\n.pl-2 {\n padding-left: .5rem;\n}\n\n.pl-2\\.5 {\n padding-left: .625rem;\n}\n\n.pl-4 {\n padding-left: 1rem;\n}\n\n.pr-2 {\n padding-right: .5rem;\n}\n\n.pr-3 {\n padding-right: .75rem;\n}\n\n.pr-3\\.5 {\n padding-right: .875rem;\n}\n\n.pt-1 {\n padding-top: .25rem;\n}\n\n.pt-10 {\n padding-top: 2.5rem;\n}\n\n.pt-4 {\n padding-top: 1rem;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\n}\n\n.align-middle {\n vertical-align: middle;\n}\n\n.text-2xl {\n letter-spacing: -.02em;\n font-size: 24px;\n line-height: 32px;\n}\n\n.text-3xl {\n letter-spacing: -.02em;\n font-size: 30px;\n line-height: 38px;\n}\n\n.text-\\[10px\\] {\n font-size: 10px;\n}\n\n.text-\\[112px\\] {\n font-size: 112px;\n}\n\n.text-\\[30px\\] {\n font-size: 30px;\n}\n\n.text-lg {\n letter-spacing: -.02em;\n font-size: 18px;\n line-height: 22px;\n}\n\n.text-md {\n letter-spacing: -.02em;\n font-size: 16px;\n line-height: 20px;\n}\n\n.text-sm {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 20px;\n}\n\n.text-xs {\n letter-spacing: -.02em;\n font-size: 12px;\n line-height: 16px;\n}\n\n.font-bold {\n font-weight: 700;\n}\n\n.font-medium {\n font-weight: 500;\n}\n\n.font-normal {\n font-weight: 400;\n}\n\n.font-semibold {\n font-weight: 600;\n}\n\n.leading-\\[20px\\] {\n line-height: 20px;\n}\n\n.leading-none {\n line-height: 1;\n}\n\n.text-\\[\\#707070\\] {\n --tw-text-opacity: 1;\n color: rgb(112 112 112 / var(--tw-text-opacity));\n}\n\n.text-amber-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-amber-700) / var(--tw-text-opacity));\n}\n\n.text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.text-bronze-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-bronze-700) / var(--tw-text-opacity));\n}\n\n.text-brown-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-brown-700) / var(--tw-text-opacity));\n}\n\n.text-crimson-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-crimson-700) / var(--tw-text-opacity));\n}\n\n.text-current {\n color: currentColor;\n}\n\n.text-cyan-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-cyan-700) / var(--tw-text-opacity));\n}\n\n.text-gold-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gold-700) / var(--tw-text-opacity));\n}\n\n.text-grass-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-grass-700) / var(--tw-text-opacity));\n}\n\n.text-gray-100 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-100) / var(--tw-text-opacity));\n}\n\n.text-gray-1000 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-1000) / var(--tw-text-opacity));\n}\n\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-700) / var(--tw-text-opacity));\n}\n\n.text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-800) / var(--tw-text-opacity));\n}\n\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-900) / var(--tw-text-opacity));\n}\n\n.text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-green-700) / var(--tw-text-opacity));\n}\n\n.text-indigo-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-indigo-700) / var(--tw-text-opacity));\n}\n\n.text-lime-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-lime-700) / var(--tw-text-opacity));\n}\n\n.text-orange-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-orange-700) / var(--tw-text-opacity));\n}\n\n.text-plum-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-plum-700) / 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-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-purple-700) / var(--tw-text-opacity));\n}\n\n.text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-red-700) / var(--tw-text-opacity));\n}\n\n.text-teal-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-teal-700) / var(--tw-text-opacity));\n}\n\n.text-violet-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-violet-700) / var(--tw-text-opacity));\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.text-white\\/80 {\n color: #fffc;\n}\n\n.text-yellow-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-yellow-700) / var(--tw-text-opacity));\n}\n\n.underline {\n text-decoration-line: underline;\n}\n\n.underline-offset-8 {\n text-underline-offset: 8px;\n}\n\n.antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.opacity-50 {\n opacity: .5;\n}\n\n.shadow-dropdown-sm {\n --tw-shadow: 0px 1px 2px 0px #1018280f, 0px 1px 3px 0px #1018281a;\n --tw-shadow-colored: 0px 1px 2px 0px var(--tw-shadow-color), 0px 1px 3px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 #0000000d;\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.outline {\n outline-style: solid;\n}\n\n.ring-1 {\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(1px + 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-2 {\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(2px + 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-4 {\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(4px + 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-inset {\n --tw-ring-inset: inset;\n}\n\n.ring-amber-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-amber-300) / var(--tw-ring-opacity));\n}\n\n.ring-blue-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-300) / var(--tw-ring-opacity));\n}\n\n.ring-blue-700 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-700) / var(--tw-ring-opacity));\n}\n\n.ring-brown-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-brown-300) / var(--tw-ring-opacity));\n}\n\n.ring-crimson-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-crimson-300) / var(--tw-ring-opacity));\n}\n\n.ring-cyan-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-cyan-300) / var(--tw-ring-opacity));\n}\n\n.ring-gray-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-gray-200) / var(--tw-ring-opacity));\n}\n\n.ring-green-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-green-300) / var(--tw-ring-opacity));\n}\n\n.ring-orange-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-orange-300) / var(--tw-ring-opacity));\n}\n\n.ring-red-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-300) / var(--tw-ring-opacity));\n}\n\n.ring-teal-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-teal-300) / var(--tw-ring-opacity));\n}\n\n.ring-violet-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-violet-300) / var(--tw-ring-opacity));\n}\n\n.ring-white {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity));\n}\n\n.ring-white\\/20 {\n --tw-ring-color: #fff3;\n}\n\n.ring-offset-0 {\n --tw-ring-offset-width: 0px;\n}\n\n.ring-offset-white {\n --tw-ring-offset-color: #fff;\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.backdrop-blur-\\[30px\\] {\n --tw-backdrop-blur: blur(30px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.backdrop-blur-sm {\n --tw-backdrop-blur: blur(4px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\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-all {\n transition-property: all;\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 {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.duration-1000 {\n transition-duration: 1s;\n}\n\n.duration-200 {\n transition-duration: .2s;\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-linear {\n transition-timing-function: linear;\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.will-change-transform {\n will-change: transform;\n}\n\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n\n.animate-in {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.fade-in, .fade-in-0 {\n --tw-enter-opacity: 0;\n}\n\n.fade-out {\n --tw-exit-opacity: 0;\n}\n\n.zoom-in-95 {\n --tw-enter-scale: .95;\n}\n\n.duration-1000 {\n animation-duration: 1s;\n}\n\n.duration-200 {\n animation-duration: .2s;\n}\n\n.duration-300 {\n animation-duration: .3s;\n}\n\n.ease-in-out {\n animation-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.ease-linear {\n animation-timing-function: linear;\n}\n\n.ease-out {\n animation-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.paused {\n animation-play-state: paused;\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.placeholder\\:text-gray-700::placeholder {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-700) / var(--tw-text-opacity));\n}\n\n.placeholder\\:text-gray-900::placeholder {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-900) / var(--tw-text-opacity));\n}\n\n.focus-within\\:relative:focus-within {\n position: relative;\n}\n\n.focus-within\\:z-20:focus-within {\n z-index: 20;\n}\n\n.focus-within\\:border-gray-200:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n}\n\n.focus-within\\:bg-gray-100:focus-within {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.focus-within\\:outline:focus-within {\n outline-style: solid;\n}\n\n.focus-within\\:outline-\\[2px\\]:focus-within {\n outline-width: 2px;\n}\n\n.focus-within\\:outline-offset-\\[2px\\]:focus-within {\n outline-offset: 2px;\n}\n\n.focus-within\\:outline-blue-300:focus-within {\n outline-color: rgb(var(--color-blue-300) / 1);\n}\n\n.focus-within\\:outline-red-700:focus-within {\n outline-color: rgb(var(--color-red-700) / 1);\n}\n\n.hover\\:bg-\\[\\#292929\\]:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-50) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-700:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-800:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-800) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-800:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-800) / var(--tw-bg-opacity));\n}\n\n.hover\\:text-blue-700:hover {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.hover\\:text-white:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n\n.focus\\:bg-gray-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.focus\\:outline-none:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus\\:ring-1:focus {\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(1px + 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.focus\\:ring-2:focus {\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(2px + 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.focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n\n.focus-visible\\:outline-none:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus-visible\\:ring-2:focus-visible {\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(2px + 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.focus-visible\\:ring-blue-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-blue-700:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-700) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-gray-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-gray-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-red-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-red-700:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-700) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n\n.active\\:bg-\\[\\#292929\\]:active {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.active\\:bg-blue-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-blue-900:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-900) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-500:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-500) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-red-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-red-900:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-900) / var(--tw-bg-opacity));\n}\n\n.active\\:text-blue-700:active {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.active\\:text-blue-900:active {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-900) / var(--tw-text-opacity));\n}\n\n.disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n}\n\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:opacity-40:disabled {\n opacity: .4;\n}\n\n.disabled\\:opacity-50:disabled {\n opacity: .5;\n}\n\n.group:focus-within .group-focus-within\\:bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.group:hover .group-hover\\:bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.group:active .group-active\\:bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.peer:disabled ~ .peer-disabled\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.peer:disabled ~ .peer-disabled\\:opacity-70 {\n opacity: .7;\n}\n\n.aria-selected\\:bg-blue-100[aria-selected=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.aria-selected\\:text-blue-700[aria-selected=\"true\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.aria-selected\\:opacity-100[aria-selected=\"true\"] {\n opacity: 1;\n}\n\n.data-\\[disabled\\]\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n\n.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: .25rem;\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.data-\\[side\\=left\\]\\:-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -.25rem;\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.data-\\[side\\=right\\]\\:translate-x-1[data-side=\"right\"] {\n --tw-translate-x: .25rem;\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.data-\\[side\\=top\\]\\:-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -.25rem;\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.data-\\[state\\=checked\\]\\:translate-x-5[data-state=\"checked\"] {\n --tw-translate-x: 1.25rem;\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.data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=\"cancel\"] {\n --tw-translate-x: 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.data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=\"end\"] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\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.data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=\"move\"] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\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@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n\n to {\n height: 0;\n }\n}\n\n.data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=\"closed\"] {\n animation: .2s ease-out accordion-up;\n}\n\n@keyframes accordion-down {\n from {\n height: 0;\n }\n\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n.data-\\[state\\=open\\]\\:animate-accordion-down[data-state=\"open\"] {\n animation: .2s ease-out accordion-down;\n}\n\n.data-\\[disabled\\]\\:cursor-not-allowed[data-disabled] {\n cursor: not-allowed;\n}\n\n.data-\\[state\\=checked\\]\\:border-blue-700[data-state=\"checked\"] {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-blue-700) / var(--tw-border-opacity));\n}\n\n.data-\\[disabled\\]\\:data-\\[state\\=unchecked\\]\\:bg-gray-300[data-state=\"unchecked\"][data-disabled] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-300) / var(--tw-bg-opacity));\n}\n\n.data-\\[selected\\=true\\]\\:bg-gray-50[data-selected=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-amber-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-blue-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-bronze-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-bronze-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-brown-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-crimson-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-cyan-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-gold-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gold-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-grass-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-grass-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-gray-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-green-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-indigo-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-indigo-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-lime-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-lime-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-plum-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-plum-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-purple-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-purple-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-red-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-teal-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-violet-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-yellow-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-yellow-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=active\\]\\:bg-white[data-state=\"active\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-blue-700[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-gray-50[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-white[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=selected\\]\\:bg-gray-50[data-state=\"selected\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=active\\]\\:font-semibold[data-state=\"active\"] {\n font-weight: 600;\n}\n\n.data-\\[state\\=active\\]\\:text-blue-700[data-state=\"active\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.data-\\[state\\=active\\]\\:text-gray-1000[data-state=\"active\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-1000) / var(--tw-text-opacity));\n}\n\n.data-\\[disabled\\]\\:opacity-40[data-disabled] {\n opacity: .4;\n}\n\n.data-\\[disabled\\]\\:opacity-50[data-disabled] {\n opacity: .5;\n}\n\n.data-\\[state\\=active\\]\\:shadow-sm[data-state=\"active\"] {\n --tw-shadow: 0 1px 2px 0 #0000000d;\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.data-\\[swipe\\=move\\]\\:transition-none[data-swipe=\"move\"] {\n transition-property: none;\n}\n\n.data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n transition-duration: .3s;\n}\n\n.data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n transition-duration: .5s;\n}\n\n.data-\\[state\\=open\\]\\:animate-in[data-state=\"open\"] {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:animate-out[data-state=\"closed\"], .data-\\[swipe\\=end\\]\\:animate-out[data-swipe=\"end\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out-80[data-state=\"closed\"] {\n --tw-exit-opacity: .8;\n}\n\n.data-\\[state\\=open\\]\\:fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n}\n\n.data-\\[state\\=open\\]\\:zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n}\n\n.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -.5rem;\n}\n\n.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: .5rem;\n}\n\n.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -.5rem;\n}\n\n.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: .5rem;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:slide-out-to-bottom-\\[100\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=\"closed\"] {\n --tw-exit-translate-x: -100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-left-1\\/2[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:slide-out-to-left-\\[50\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-x: -50%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=\"closed\"] {\n --tw-exit-translate-x: 100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=\"closed\"] {\n --tw-exit-translate-y: -100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-top-\\[48\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-bottom-\\[100\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-left[data-state=\"open\"] {\n --tw-enter-translate-x: -100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-left-1\\/2[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-left-\\[50\\%\\][data-state=\"open\"] {\n --tw-enter-translate-x: -50%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-right[data-state=\"open\"] {\n --tw-enter-translate-x: 100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top-\\[48\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n}\n\n.data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n animation-duration: .3s;\n}\n\n.data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n animation-duration: .5s;\n}\n\n.group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:rotate-180 {\n --tw-rotate: 180deg;\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.group[data-disabled] .group-data-\\[disabled\\]\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.group[data-state=\"checked\"] .group-data-\\[state\\=checked\\]\\:bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.group[data-disabled] .group-data-\\[disabled\\]\\:opacity-50 {\n opacity: .5;\n}\n\n@media not all and (width >= 1024px) {\n .max-lg\\:mt-8 {\n margin-top: 2rem;\n }\n\n .max-lg\\:hidden {\n display: none;\n }\n\n .max-lg\\:h-\\[250px\\] {\n height: 250px;\n }\n\n .max-lg\\:w-full {\n width: 100%;\n }\n\n .max-lg\\:flex-col {\n flex-direction: column;\n }\n}\n\n@media not all and (width >= 640px) {\n .max-sm\\:gap-4 {\n gap: 1rem;\n }\n\n .max-sm\\:p-4 {\n padding: 1rem;\n }\n}\n\n@media (width >= 640px) {\n .sm\\:mt-0 {\n margin-top: 0;\n }\n\n .sm\\:w-1\\/2 {\n width: 50%;\n }\n\n .sm\\:max-w-sm {\n max-width: 24rem;\n }\n\n .sm\\:flex-row {\n flex-direction: row;\n }\n\n .sm\\:flex-col {\n flex-direction: column;\n }\n\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n\n .sm\\:justify-center {\n justify-content: center;\n }\n\n .sm\\:space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(.5rem * var(--tw-space-x-reverse));\n margin-left: calc(.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .data-\\[state\\=open\\]\\:sm\\:slide-in-from-bottom-full[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n}\n\n@media (width >= 768px) {\n .md\\:w-\\[334px\\] {\n width: 334px;\n }\n\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:w-screen {\n width: 100vw;\n }\n\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n}\n\n@media (width >= 1024px) {\n .lg\\:flex-col {\n flex-direction: column;\n }\n\n .lg\\:items-center {\n align-items: center;\n }\n\n .lg\\:gap-2 {\n gap: .5rem;\n }\n\n .lg\\:gap-8 {\n gap: 2rem;\n }\n\n .lg\\:rounded-lg {\n border-radius: .5rem;\n }\n\n .lg\\:border {\n border-width: 1px;\n }\n\n .lg\\:border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n }\n\n .lg\\:bg-pattern {\n background-image: radial-gradient(50% 50%, #006aff33 0%, #006aff00 100%), linear-gradient(#0000 0%, #fff 100%), linear-gradient(0deg, #0000 0%, #ffffffbf 100%), url(\"data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 40V41H41V40H40ZM39 0V40H41V0H39ZM40 39H0V41H40V39Z' fill='%23E8E8E8' mask='url(%23path-1-inside-1_124_242)'/%3E%3C/svg%3E\");\n }\n\n .lg\\:p-6 {\n padding: 1.5rem;\n }\n\n .lg\\:text-center {\n text-align: center;\n }\n\n .lg\\:text-4xl {\n letter-spacing: -.02em;\n font-size: 36px;\n line-height: 44px;\n }\n}\n\n@media (width >= 1280px) {\n .xl\\:rounded-none {\n border-radius: 0;\n }\n}\n\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:bg-blue-100:has([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-l-md:has([aria-selected]):first-child {\n border-top-left-radius: .375rem;\n border-bottom-left-radius: .375rem;\n}\n\n.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-r-md:has([aria-selected]):last-child {\n border-top-right-radius: .375rem;\n border-bottom-right-radius: .375rem;\n}\n\n.\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=\"checkbox\"]) {\n padding-right: 0;\n}\n\n.\\[\\&\\:not\\(\\[aria-selected\\]\\)\\]\\:hover\\:bg-gray-100:hover:not([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\] > [role=\"checkbox\"] {\n --tw-translate-y: 2px;\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.\\[\\&\\>svg\\]\\:h-\\[18px\\] > svg {\n height: 18px;\n}\n\n.\\[\\&\\>svg\\]\\:w-\\[18px\\] > svg {\n width: 18px;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-sm [cmdk-group-heading] {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 20px;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n font-weight: 500;\n}\n\n.\\[\\&_tr\\:active\\]\\:bg-gray-50 tr:active, .\\[\\&_tr\\:hover\\:active\\]\\:bg-gray-50 tr:hover:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.\\[\\&_tr\\:hover\\]\\:bg-gray-25 tr:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-25) / var(--tw-bg-opacity));\n}\n\n.\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-width: 0;\n}\n\n.\\[\\&_tr\\]\\:border-b tr {\n border-bottom-width: 1px;\n}\n\n";
|
|
16614
|
+
$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-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\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: #93c5fd80;\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.container {\n width: 100%;\n}\n\n@media (width >= 640px) {\n .container {\n max-width: 640px;\n }\n}\n\n@media (width >= 768px) {\n .container {\n max-width: 768px;\n }\n}\n\n@media (width >= 1024px) {\n .container {\n max-width: 1024px;\n }\n}\n\n@media (width >= 1280px) {\n .container {\n max-width: 1280px;\n }\n}\n\n@media (width >= 1536px) {\n .container {\n max-width: 1536px;\n }\n}\n\n.sr-only {\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.pointer-events-auto {\n pointer-events: auto;\n}\n\n.visible {\n visibility: visible;\n}\n\n.invisible {\n visibility: hidden;\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.inset-x-0 {\n left: 0;\n right: 0;\n}\n\n.inset-y-0 {\n top: 0;\n bottom: 0;\n}\n\n.-bottom-12 {\n bottom: -3rem;\n}\n\n.-left-12 {\n left: -3rem;\n}\n\n.-right-12 {\n right: -3rem;\n}\n\n.-top-12 {\n top: -3rem;\n}\n\n.bottom-0 {\n bottom: 0;\n}\n\n.bottom-2 {\n bottom: .5rem;\n}\n\n.bottom-4 {\n bottom: 1rem;\n}\n\n.left-0 {\n left: 0;\n}\n\n.left-1 {\n left: .25rem;\n}\n\n.left-1\\/2 {\n left: 50%;\n}\n\n.left-2 {\n left: .5rem;\n}\n\n.left-\\[50\\%\\] {\n left: 50%;\n}\n\n.right-0 {\n right: 0;\n}\n\n.right-1 {\n right: .25rem;\n}\n\n.right-2 {\n right: .5rem;\n}\n\n.right-6 {\n right: 1.5rem;\n}\n\n.top-0 {\n top: 0;\n}\n\n.top-1\\/2 {\n top: 50%;\n}\n\n.top-2 {\n top: .5rem;\n}\n\n.top-6 {\n top: 1.5rem;\n}\n\n.top-8 {\n top: 2rem;\n}\n\n.top-\\[50\\%\\] {\n top: 50%;\n}\n\n.top-auto {\n top: auto;\n}\n\n.z-10 {\n z-index: 10;\n}\n\n.z-50 {\n z-index: 50;\n}\n\n.z-\\[100\\] {\n z-index: 100;\n}\n\n.z-\\[150\\] {\n z-index: 150;\n}\n\n.-mx-1 {\n margin-left: -.25rem;\n margin-right: -.25rem;\n}\n\n.mx-1 {\n margin-left: .25rem;\n margin-right: .25rem;\n}\n\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.my-1 {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.-ml-4 {\n margin-left: -1rem;\n}\n\n.-mr-2 {\n margin-right: -.5rem;\n}\n\n.-mt-4 {\n margin-top: -1rem;\n}\n\n.mb-4 {\n margin-bottom: 1rem;\n}\n\n.mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.mb-\\[9px\\] {\n margin-bottom: 9px;\n}\n\n.ml-1 {\n margin-left: .25rem;\n}\n\n.mr-2 {\n margin-right: .5rem;\n}\n\n.mr-2\\.5 {\n margin-right: .625rem;\n}\n\n.mr-9 {\n margin-right: 2.25rem;\n}\n\n.mt-1 {\n margin-top: .25rem;\n}\n\n.mt-2 {\n margin-top: .5rem;\n}\n\n.box-border {\n box-sizing: border-box;\n}\n\n.block {\n display: block;\n}\n\n.inline-block {\n display: inline-block;\n}\n\n.inline {\n display: inline;\n}\n\n.flex {\n display: flex;\n}\n\n.inline-flex {\n display: inline-flex;\n}\n\n.table {\n display: table;\n}\n\n.grid {\n display: grid;\n}\n\n.hidden {\n display: none;\n}\n\n.\\!h-\\[24px\\] {\n height: 24px !important;\n}\n\n.h-1\\/3 {\n height: 33.3333%;\n}\n\n.h-10 {\n height: 2.5rem;\n}\n\n.h-12 {\n height: 3rem;\n}\n\n.h-14 {\n height: 3.5rem;\n}\n\n.h-16 {\n height: 4rem;\n}\n\n.h-3 {\n height: .75rem;\n}\n\n.h-4 {\n height: 1rem;\n}\n\n.h-5 {\n height: 1.25rem;\n}\n\n.h-6 {\n height: 1.5rem;\n}\n\n.h-8 {\n height: 2rem;\n}\n\n.h-9 {\n height: 2.25rem;\n}\n\n.h-\\[100px\\] {\n height: 100px;\n}\n\n.h-\\[16px\\] {\n height: 16px;\n}\n\n.h-\\[1px\\] {\n height: 1px;\n}\n\n.h-\\[200px\\] {\n height: 200px;\n}\n\n.h-\\[24px\\] {\n height: 24px;\n}\n\n.h-\\[36px\\] {\n height: 36px;\n}\n\n.h-\\[384px\\] {\n height: 384px;\n}\n\n.h-\\[400px\\] {\n height: 400px;\n}\n\n.h-\\[40px\\] {\n height: 40px;\n}\n\n.h-\\[45px\\] {\n height: 45px;\n}\n\n.h-\\[54px\\] {\n height: 54px;\n}\n\n.h-\\[72px\\] {\n height: 72px;\n}\n\n.h-\\[8px\\] {\n height: 8px;\n}\n\n.h-full {\n height: 100%;\n}\n\n.h-px {\n height: 1px;\n}\n\n.h-screen {\n height: 100vh;\n}\n\n.max-h-\\[180px\\] {\n max-height: 180px;\n}\n\n.max-h-\\[300px\\] {\n max-height: 300px;\n}\n\n.max-h-\\[70px\\] {\n max-height: 70px;\n}\n\n.max-h-\\[90\\%\\] {\n max-height: 90%;\n}\n\n.max-h-\\[90vh\\] {\n max-height: 90vh;\n}\n\n.max-h-full {\n max-height: 100%;\n}\n\n.max-h-screen {\n max-height: 100vh;\n}\n\n.min-h-0 {\n min-height: 0;\n}\n\n.min-h-9 {\n min-height: 2.25rem;\n}\n\n.min-h-\\[20px\\] {\n min-height: 20px;\n}\n\n.min-h-\\[80px\\] {\n min-height: 80px;\n}\n\n.\\!w-\\[24px\\] {\n width: 24px !important;\n}\n\n.w-0 {\n width: 0;\n}\n\n.w-1\\/3 {\n width: 33.3333%;\n}\n\n.w-10 {\n width: 2.5rem;\n}\n\n.w-12 {\n width: 3rem;\n}\n\n.w-16 {\n width: 4rem;\n}\n\n.w-3 {\n width: .75rem;\n}\n\n.w-3\\/4 {\n width: 75%;\n}\n\n.w-4 {\n width: 1rem;\n}\n\n.w-5 {\n width: 1.25rem;\n}\n\n.w-6 {\n width: 1.5rem;\n}\n\n.w-72 {\n width: 18rem;\n}\n\n.w-8 {\n width: 2rem;\n}\n\n.w-\\[100px\\] {\n width: 100px;\n}\n\n.w-\\[16px\\] {\n width: 16px;\n}\n\n.w-\\[1px\\] {\n width: 1px;\n}\n\n.w-\\[24px\\] {\n width: 24px;\n}\n\n.w-\\[334px\\] {\n width: 334px;\n}\n\n.w-\\[36px\\] {\n width: 36px;\n}\n\n.w-\\[400px\\] {\n width: 400px;\n}\n\n.w-\\[40px\\] {\n width: 40px;\n}\n\n.w-\\[42px\\] {\n width: 42px;\n}\n\n.w-\\[45px\\] {\n width: 45px;\n}\n\n.w-\\[50\\%\\] {\n width: 50%;\n}\n\n.w-\\[54px\\] {\n width: 54px;\n}\n\n.w-\\[72px\\] {\n width: 72px;\n}\n\n.w-\\[8px\\] {\n width: 8px;\n}\n\n.w-full {\n width: 100%;\n}\n\n.w-max {\n width: max-content;\n}\n\n.min-w-0 {\n min-width: 0;\n}\n\n.min-w-\\[120px\\] {\n min-width: 120px;\n}\n\n.min-w-\\[144px\\] {\n min-width: 144px;\n}\n\n.min-w-\\[24px\\] {\n min-width: 24px;\n}\n\n.min-w-\\[250px\\] {\n min-width: 250px;\n}\n\n.min-w-full {\n min-width: 100%;\n}\n\n.max-w-\\[1110px\\] {\n max-width: 1110px;\n}\n\n.max-w-\\[315px\\] {\n max-width: 315px;\n}\n\n.max-w-\\[350px\\] {\n max-width: 350px;\n}\n\n.max-w-\\[400px\\] {\n max-width: 400px;\n}\n\n.max-w-\\[500px\\] {\n max-width: 500px;\n}\n\n.max-w-\\[70px\\] {\n max-width: 70px;\n}\n\n.max-w-\\[800px\\] {\n max-width: 800px;\n}\n\n.max-w-\\[90\\%\\] {\n max-width: 90%;\n}\n\n.max-w-\\[90vw\\] {\n max-width: 90vw;\n}\n\n.max-w-full {\n max-width: 100%;\n}\n\n.flex-1 {\n flex: 1;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n\n.shrink {\n flex-shrink: 1;\n}\n\n.shrink-0 {\n flex-shrink: 0;\n}\n\n.flex-grow, .grow {\n flex-grow: 1;\n}\n\n.grow-0 {\n flex-grow: 0;\n}\n\n.basis-full {\n flex-basis: 100%;\n}\n\n.caption-bottom {\n caption-side: bottom;\n}\n\n.border-collapse {\n border-collapse: collapse;\n}\n\n.-translate-x-1\\/2 {\n --tw-translate-x: -50%;\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-1\\/2 {\n --tw-translate-y: -50%;\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-x-0 {\n --tw-translate-x: 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-x-0\\.5 {\n --tw-translate-x: .125rem;\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-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\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-\\[-50\\%\\] {\n --tw-translate-y: -50%;\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\\], .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@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n.animate-pulse {\n animation: 2s cubic-bezier(.4, 0, .6, 1) infinite pulse;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n.animate-spin {\n animation: 1s linear infinite spin;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.select-none {\n -webkit-user-select: none;\n user-select: none;\n}\n\n.resize {\n resize: both;\n}\n\n.appearance-none {\n appearance: none;\n}\n\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.flex-row {\n flex-direction: row;\n}\n\n.flex-col {\n flex-direction: column;\n}\n\n.flex-col-reverse {\n flex-direction: column-reverse;\n}\n\n.flex-wrap {\n flex-wrap: wrap;\n}\n\n.items-start {\n align-items: flex-start;\n}\n\n.items-end {\n align-items: flex-end;\n}\n\n.items-center {\n align-items: center;\n}\n\n.items-stretch {\n align-items: stretch;\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-1 {\n gap: .25rem;\n}\n\n.gap-1\\.5 {\n gap: .375rem;\n}\n\n.gap-12 {\n gap: 3rem;\n}\n\n.gap-2 {\n gap: .5rem;\n}\n\n.gap-2\\.5 {\n gap: .625rem;\n}\n\n.gap-3 {\n gap: .75rem;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.gap-6 {\n gap: 1.5rem;\n}\n\n.gap-8 {\n gap: 2rem;\n}\n\n.gap-\\[10px\\] {\n gap: 10px;\n}\n\n.gap-\\[20px\\] {\n gap: 20px;\n}\n\n.space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(.25rem * var(--tw-space-x-reverse));\n margin-left: calc(.25rem * calc(1 - var(--tw-space-x-reverse)));\n}\n\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(.25rem * var(--tw-space-y-reverse));\n}\n\n.space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(.375rem * var(--tw-space-y-reverse));\n}\n\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n\n.space-y-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));\n}\n\n.space-y-6 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));\n}\n\n.self-center {\n align-self: center;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.overflow-hidden {\n overflow: hidden;\n}\n\n.overflow-visible {\n overflow: visible;\n}\n\n.overflow-y-auto {\n overflow-y: auto;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n.whitespace-nowrap {\n white-space: nowrap;\n}\n\n.whitespace-pre-line {\n white-space: pre-line;\n}\n\n.\\!rounded-md {\n border-radius: .375rem !important;\n}\n\n.rounded {\n border-radius: .25rem;\n}\n\n.rounded-2xl {\n border-radius: 1rem;\n}\n\n.rounded-\\[10px\\] {\n border-radius: 10px;\n}\n\n.rounded-\\[3px\\] {\n border-radius: 3px;\n}\n\n.rounded-\\[4px\\] {\n border-radius: 4px;\n}\n\n.rounded-\\[50\\%\\] {\n border-radius: 50%;\n}\n\n.rounded-\\[64px\\] {\n border-radius: 64px;\n}\n\n.rounded-\\[6px\\] {\n border-radius: 6px;\n}\n\n.rounded-\\[8px\\] {\n border-radius: 8px;\n}\n\n.rounded-\\[inherit\\] {\n border-radius: inherit;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.rounded-lg {\n border-radius: .5rem;\n}\n\n.rounded-md {\n border-radius: .375rem;\n}\n\n.rounded-xl {\n border-radius: .75rem;\n}\n\n.rounded-b-3xl {\n border-bottom-right-radius: 1.5rem;\n border-bottom-left-radius: 1.5rem;\n}\n\n.rounded-t-3xl {\n border-top-left-radius: 1.5rem;\n border-top-right-radius: 1.5rem;\n}\n\n.\\!border-0 {\n border-width: 0 !important;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-2, .border-\\[2px\\] {\n border-width: 2px;\n}\n\n.border-\\[3px\\] {\n border-width: 3px;\n}\n\n.border-\\[4px\\] {\n border-width: 4px;\n}\n\n.border-\\[5px\\] {\n border-width: 5px;\n}\n\n.border-b {\n border-bottom-width: 1px;\n}\n\n.border-l {\n border-left-width: 1px;\n}\n\n.border-r {\n border-right-width: 1px;\n}\n\n.border-t {\n border-top-width: 1px;\n}\n\n.border-\\[\\#292929\\] {\n --tw-border-opacity: 1;\n border-color: rgb(41 41 41 / 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-amber-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-amber-700) / var(--tw-border-opacity));\n}\n\n.border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-blue-200) / var(--tw-border-opacity));\n}\n\n.border-blue-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-blue-700) / var(--tw-border-opacity));\n}\n\n.border-gray-1000 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-1000) / var(--tw-border-opacity));\n}\n\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n}\n\n.border-gray-600 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-600) / var(--tw-border-opacity));\n}\n\n.border-red-700 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.border-transparent {\n border-color: #0000;\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-b-red-700 {\n --tw-border-opacity: 1;\n border-bottom-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.border-l-red-700 {\n --tw-border-opacity: 1;\n border-left-color: rgb(var(--color-red-700) / var(--tw-border-opacity));\n}\n\n.\\!bg-transparent {\n background-color: #0000 !important;\n}\n\n.bg-\\[\\#171717\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(23 23 23 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#1C1C1C\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(28 28 28 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#242424\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(36 36 36 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#292929\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.bg-\\[\\#ff0000\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 0 0 / var(--tw-bg-opacity));\n}\n\n.bg-amber-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-100) / var(--tw-bg-opacity));\n}\n\n.bg-amber-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-200) / var(--tw-bg-opacity));\n}\n\n.bg-amber-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-700) / var(--tw-bg-opacity));\n}\n\n.bg-black\\/25 {\n background-color: #00000040;\n}\n\n.bg-black\\/\\[\\.6\\] {\n background-color: #0009;\n}\n\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.bg-blue-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-300) / var(--tw-bg-opacity));\n}\n\n.bg-blue-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.bg-bronze-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-bronze-300) / var(--tw-bg-opacity));\n}\n\n.bg-brown-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-100) / var(--tw-bg-opacity));\n}\n\n.bg-brown-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-300) / var(--tw-bg-opacity));\n}\n\n.bg-brown-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-700) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-100) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-300) / var(--tw-bg-opacity));\n}\n\n.bg-crimson-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-700) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-100) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-300) / var(--tw-bg-opacity));\n}\n\n.bg-cyan-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-700) / var(--tw-bg-opacity));\n}\n\n.bg-gold-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gold-300) / var(--tw-bg-opacity));\n}\n\n.bg-grass-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-grass-300) / var(--tw-bg-opacity));\n}\n\n.bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.bg-gray-1000 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-1000) / var(--tw-bg-opacity));\n}\n\n.bg-gray-1000\\/25 {\n background-color: rgb(var(--color-gray-1000) / .25);\n}\n\n.bg-gray-1000\\/80 {\n background-color: rgb(var(--color-gray-1000) / .8);\n}\n\n.bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-200) / var(--tw-bg-opacity));\n}\n\n.bg-gray-25 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-25) / var(--tw-bg-opacity));\n}\n\n.bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-300) / var(--tw-bg-opacity));\n}\n\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.bg-gray-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-600) / var(--tw-bg-opacity));\n}\n\n.bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-900) / var(--tw-bg-opacity));\n}\n\n.bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-100) / var(--tw-bg-opacity));\n}\n\n.bg-green-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-300) / var(--tw-bg-opacity));\n}\n\n.bg-green-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-700) / var(--tw-bg-opacity));\n}\n\n.bg-indigo-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-indigo-300) / var(--tw-bg-opacity));\n}\n\n.bg-lime-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-lime-300) / var(--tw-bg-opacity));\n}\n\n.bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-orange-100) / var(--tw-bg-opacity));\n}\n\n.bg-orange-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-orange-700) / var(--tw-bg-opacity));\n}\n\n.bg-plum-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-plum-300) / var(--tw-bg-opacity));\n}\n\n.bg-purple-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-purple-300) / var(--tw-bg-opacity));\n}\n\n.bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-100) / var(--tw-bg-opacity));\n}\n\n.bg-red-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-300) / var(--tw-bg-opacity));\n}\n\n.bg-red-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-700) / var(--tw-bg-opacity));\n}\n\n.bg-teal-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-100) / var(--tw-bg-opacity));\n}\n\n.bg-teal-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-300) / var(--tw-bg-opacity));\n}\n\n.bg-teal-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-700) / var(--tw-bg-opacity));\n}\n\n.bg-transparent {\n background-color: #0000;\n}\n\n.bg-violet-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-100) / var(--tw-bg-opacity));\n}\n\n.bg-violet-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-300) / var(--tw-bg-opacity));\n}\n\n.bg-violet-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-700) / var(--tw-bg-opacity));\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-yellow-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-yellow-300) / var(--tw-bg-opacity));\n}\n\n.bg-cover {\n background-size: cover;\n}\n\n.bg-center {\n background-position: center;\n}\n\n.object-contain {\n object-fit: contain;\n}\n\n.object-cover {\n object-fit: cover;\n}\n\n.p-0 {\n padding: 0;\n}\n\n.p-1 {\n padding: .25rem;\n}\n\n.p-1\\.5 {\n padding: .375rem;\n}\n\n.p-2 {\n padding: .5rem;\n}\n\n.p-2\\.5 {\n padding: .625rem;\n}\n\n.p-3 {\n padding: .75rem;\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.p-6 {\n padding: 1.5rem;\n}\n\n.p-8 {\n padding: 2rem;\n}\n\n.p-\\[11px\\] {\n padding: 11px;\n}\n\n.px-2 {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.px-2\\.5 {\n padding-left: .625rem;\n padding-right: .625rem;\n}\n\n.px-3 {\n padding-left: .75rem;\n padding-right: .75rem;\n}\n\n.px-3\\.5 {\n padding-left: .875rem;\n padding-right: .875rem;\n}\n\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.px-\\[60px\\] {\n padding-left: 60px;\n padding-right: 60px;\n}\n\n.py-0 {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.py-0\\.5 {\n padding-top: .125rem;\n padding-bottom: .125rem;\n}\n\n.py-1 {\n padding-top: .25rem;\n padding-bottom: .25rem;\n}\n\n.py-1\\.5 {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.py-2 {\n padding-top: .5rem;\n padding-bottom: .5rem;\n}\n\n.py-2\\.5 {\n padding-top: .625rem;\n padding-bottom: .625rem;\n}\n\n.py-3 {\n padding-top: .75rem;\n padding-bottom: .75rem;\n}\n\n.pb-2 {\n padding-bottom: .5rem;\n}\n\n.pb-\\[20px\\] {\n padding-bottom: 20px;\n}\n\n.pb-\\[9px\\] {\n padding-bottom: 9px;\n}\n\n.pl-2 {\n padding-left: .5rem;\n}\n\n.pl-2\\.5 {\n padding-left: .625rem;\n}\n\n.pl-4 {\n padding-left: 1rem;\n}\n\n.pr-2 {\n padding-right: .5rem;\n}\n\n.pr-3 {\n padding-right: .75rem;\n}\n\n.pr-3\\.5 {\n padding-right: .875rem;\n}\n\n.pt-1 {\n padding-top: .25rem;\n}\n\n.pt-10 {\n padding-top: 2.5rem;\n}\n\n.pt-4 {\n padding-top: 1rem;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\n}\n\n.align-middle {\n vertical-align: middle;\n}\n\n.text-2xl {\n letter-spacing: -.02em;\n font-size: 24px;\n line-height: 32px;\n}\n\n.text-3xl {\n letter-spacing: -.02em;\n font-size: 30px;\n line-height: 38px;\n}\n\n.text-\\[10px\\] {\n font-size: 10px;\n}\n\n.text-\\[112px\\] {\n font-size: 112px;\n}\n\n.text-\\[30px\\] {\n font-size: 30px;\n}\n\n.text-lg {\n letter-spacing: -.02em;\n font-size: 18px;\n line-height: 22px;\n}\n\n.text-md {\n letter-spacing: -.02em;\n font-size: 16px;\n line-height: 20px;\n}\n\n.text-sm {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 20px;\n}\n\n.text-xs {\n letter-spacing: -.02em;\n font-size: 12px;\n line-height: 16px;\n}\n\n.font-bold {\n font-weight: 700;\n}\n\n.font-medium {\n font-weight: 500;\n}\n\n.font-normal {\n font-weight: 400;\n}\n\n.font-semibold {\n font-weight: 600;\n}\n\n.leading-\\[20px\\] {\n line-height: 20px;\n}\n\n.leading-none {\n line-height: 1;\n}\n\n.text-\\[\\#707070\\] {\n --tw-text-opacity: 1;\n color: rgb(112 112 112 / var(--tw-text-opacity));\n}\n\n.text-amber-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-amber-700) / var(--tw-text-opacity));\n}\n\n.text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.text-bronze-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-bronze-700) / var(--tw-text-opacity));\n}\n\n.text-brown-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-brown-700) / var(--tw-text-opacity));\n}\n\n.text-crimson-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-crimson-700) / var(--tw-text-opacity));\n}\n\n.text-current {\n color: currentColor;\n}\n\n.text-cyan-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-cyan-700) / var(--tw-text-opacity));\n}\n\n.text-gold-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gold-700) / var(--tw-text-opacity));\n}\n\n.text-grass-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-grass-700) / var(--tw-text-opacity));\n}\n\n.text-gray-100 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-100) / var(--tw-text-opacity));\n}\n\n.text-gray-1000 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-1000) / var(--tw-text-opacity));\n}\n\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-700) / var(--tw-text-opacity));\n}\n\n.text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-800) / var(--tw-text-opacity));\n}\n\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-900) / var(--tw-text-opacity));\n}\n\n.text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-green-700) / var(--tw-text-opacity));\n}\n\n.text-indigo-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-indigo-700) / var(--tw-text-opacity));\n}\n\n.text-lime-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-lime-700) / var(--tw-text-opacity));\n}\n\n.text-orange-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-orange-700) / var(--tw-text-opacity));\n}\n\n.text-plum-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-plum-700) / 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-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-purple-700) / var(--tw-text-opacity));\n}\n\n.text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-red-700) / var(--tw-text-opacity));\n}\n\n.text-teal-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-teal-700) / var(--tw-text-opacity));\n}\n\n.text-violet-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-violet-700) / var(--tw-text-opacity));\n}\n\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.text-white\\/80 {\n color: #fffc;\n}\n\n.text-yellow-700 {\n --tw-text-opacity: 1;\n color: rgb(var(--color-yellow-700) / var(--tw-text-opacity));\n}\n\n.underline {\n text-decoration-line: underline;\n}\n\n.underline-offset-8 {\n text-underline-offset: 8px;\n}\n\n.antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.opacity-50 {\n opacity: .5;\n}\n\n.shadow-dropdown-sm {\n --tw-shadow: 0px 1px 2px 0px #1018280f, 0px 1px 3px 0px #1018281a;\n --tw-shadow-colored: 0px 1px 2px 0px var(--tw-shadow-color), 0px 1px 3px 0px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 #0000000d;\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.outline-none {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.outline {\n outline-style: solid;\n}\n\n.ring-1 {\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(1px + 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-2 {\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(2px + 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-4 {\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(4px + 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-inset {\n --tw-ring-inset: inset;\n}\n\n.ring-amber-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-amber-300) / var(--tw-ring-opacity));\n}\n\n.ring-blue-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-300) / var(--tw-ring-opacity));\n}\n\n.ring-blue-700 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-700) / var(--tw-ring-opacity));\n}\n\n.ring-brown-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-brown-300) / var(--tw-ring-opacity));\n}\n\n.ring-crimson-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-crimson-300) / var(--tw-ring-opacity));\n}\n\n.ring-cyan-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-cyan-300) / var(--tw-ring-opacity));\n}\n\n.ring-gray-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-gray-200) / var(--tw-ring-opacity));\n}\n\n.ring-green-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-green-300) / var(--tw-ring-opacity));\n}\n\n.ring-orange-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-orange-300) / var(--tw-ring-opacity));\n}\n\n.ring-red-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-300) / var(--tw-ring-opacity));\n}\n\n.ring-teal-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-teal-300) / var(--tw-ring-opacity));\n}\n\n.ring-violet-300 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-violet-300) / var(--tw-ring-opacity));\n}\n\n.ring-white {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity));\n}\n\n.ring-white\\/20 {\n --tw-ring-color: #fff3;\n}\n\n.ring-offset-0 {\n --tw-ring-offset-width: 0px;\n}\n\n.ring-offset-white {\n --tw-ring-offset-color: #fff;\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.backdrop-blur-\\[30px\\] {\n --tw-backdrop-blur: blur(30px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n\n.backdrop-blur-sm {\n --tw-backdrop-blur: blur(4px);\n -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\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-all {\n transition-property: all;\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 {\n transition-property: transform;\n transition-duration: .15s;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.duration-1000 {\n transition-duration: 1s;\n}\n\n.duration-200 {\n transition-duration: .2s;\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-linear {\n transition-timing-function: linear;\n}\n\n.ease-out {\n transition-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.will-change-transform {\n will-change: transform;\n}\n\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n\n.animate-in {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.fade-in, .fade-in-0 {\n --tw-enter-opacity: 0;\n}\n\n.fade-out {\n --tw-exit-opacity: 0;\n}\n\n.zoom-in-95 {\n --tw-enter-scale: .95;\n}\n\n.duration-1000 {\n animation-duration: 1s;\n}\n\n.duration-200 {\n animation-duration: .2s;\n}\n\n.duration-300 {\n animation-duration: .3s;\n}\n\n.ease-in-out {\n animation-timing-function: cubic-bezier(.4, 0, .2, 1);\n}\n\n.ease-linear {\n animation-timing-function: linear;\n}\n\n.ease-out {\n animation-timing-function: cubic-bezier(0, 0, .2, 1);\n}\n\n.paused {\n animation-play-state: paused;\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.placeholder\\:text-gray-700::placeholder {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-700) / var(--tw-text-opacity));\n}\n\n.placeholder\\:text-gray-900::placeholder {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-900) / var(--tw-text-opacity));\n}\n\n.focus-within\\:relative:focus-within {\n position: relative;\n}\n\n.focus-within\\:z-20:focus-within {\n z-index: 20;\n}\n\n.focus-within\\:border-gray-200:focus-within {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n}\n\n.focus-within\\:bg-gray-100:focus-within {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.focus-within\\:outline:focus-within {\n outline-style: solid;\n}\n\n.focus-within\\:outline-\\[2px\\]:focus-within {\n outline-width: 2px;\n}\n\n.focus-within\\:outline-offset-\\[2px\\]:focus-within {\n outline-offset: 2px;\n}\n\n.focus-within\\:outline-blue-300:focus-within {\n outline-color: rgb(var(--color-blue-300) / 1);\n}\n\n.focus-within\\:outline-red-700:focus-within {\n outline-color: rgb(var(--color-red-700) / 1);\n}\n\n.hover\\:bg-\\[\\#292929\\]:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-50) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-700:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-blue-800:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-800) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-100) / var(--tw-bg-opacity));\n}\n\n.hover\\:bg-red-800:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-800) / var(--tw-bg-opacity));\n}\n\n.hover\\:text-blue-700:hover {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.hover\\:text-white:hover {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n\n.focus\\:bg-gray-100:focus {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.focus\\:outline-none:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus\\:ring-1:focus {\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(1px + 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.focus\\:ring-2:focus {\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(2px + 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.focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n\n.focus-visible\\:outline-none:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #0000;\n}\n\n.focus-visible\\:ring-2:focus-visible {\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(2px + 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.focus-visible\\:ring-blue-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-blue-700:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-blue-700) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-gray-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-gray-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-red-1000:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-1000) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-red-700:focus-visible {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(var(--color-red-700) / var(--tw-ring-opacity));\n}\n\n.focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n\n.active\\:bg-\\[\\#292929\\]:active {\n --tw-bg-opacity: 1;\n background-color: rgb(41 41 41 / var(--tw-bg-opacity));\n}\n\n.active\\:bg-blue-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-blue-900:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-900) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-gray-500:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-500) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-red-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-200) / var(--tw-bg-opacity));\n}\n\n.active\\:bg-red-900:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-900) / var(--tw-bg-opacity));\n}\n\n.active\\:text-blue-700:active {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.active\\:text-blue-900:active {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-900) / var(--tw-text-opacity));\n}\n\n.disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n}\n\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n\n.disabled\\:opacity-40:disabled {\n opacity: .4;\n}\n\n.disabled\\:opacity-50:disabled {\n opacity: .5;\n}\n\n.group:focus-within .group-focus-within\\:bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.group:hover .group-hover\\:bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.group:active .group-active\\:bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.peer:disabled ~ .peer-disabled\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.peer:disabled ~ .peer-disabled\\:opacity-70 {\n opacity: .7;\n}\n\n.aria-selected\\:bg-blue-100[aria-selected=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.aria-selected\\:text-blue-700[aria-selected=\"true\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.aria-selected\\:opacity-100[aria-selected=\"true\"] {\n opacity: 1;\n}\n\n.data-\\[disabled\\]\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n}\n\n.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: .25rem;\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.data-\\[side\\=left\\]\\:-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: -.25rem;\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.data-\\[side\\=right\\]\\:translate-x-1[data-side=\"right\"] {\n --tw-translate-x: .25rem;\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.data-\\[side\\=top\\]\\:-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: -.25rem;\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.data-\\[state\\=checked\\]\\:translate-x-5[data-state=\"checked\"] {\n --tw-translate-x: 1.25rem;\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.data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=\"cancel\"] {\n --tw-translate-x: 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.data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=\"end\"] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\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.data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=\"move\"] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\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@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n\n to {\n height: 0;\n }\n}\n\n.data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=\"closed\"] {\n animation: .2s ease-out accordion-up;\n}\n\n@keyframes accordion-down {\n from {\n height: 0;\n }\n\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n.data-\\[state\\=open\\]\\:animate-accordion-down[data-state=\"open\"] {\n animation: .2s ease-out accordion-down;\n}\n\n.data-\\[disabled\\]\\:cursor-not-allowed[data-disabled] {\n cursor: not-allowed;\n}\n\n.data-\\[state\\=checked\\]\\:border-blue-700[data-state=\"checked\"] {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-blue-700) / var(--tw-border-opacity));\n}\n\n.data-\\[disabled\\]\\:data-\\[state\\=unchecked\\]\\:bg-gray-300[data-state=\"unchecked\"][data-disabled] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-300) / var(--tw-bg-opacity));\n}\n\n.data-\\[selected\\=true\\]\\:bg-gray-50[data-selected=\"true\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-amber-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-amber-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-blue-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-bronze-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-bronze-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-brown-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-brown-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-crimson-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-crimson-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-cyan-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-cyan-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-gold-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gold-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-grass-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-grass-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-gray-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-green-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-green-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-indigo-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-indigo-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-lime-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-lime-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-plum-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-plum-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-purple-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-purple-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-red-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-red-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-teal-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-teal-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-violet-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-violet-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[size\\=xxs\\]\\:bg-yellow-700[data-size=\"xxs\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-yellow-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=active\\]\\:bg-white[data-state=\"active\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-blue-700[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-700) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-gray-50[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=checked\\]\\:bg-white[data-state=\"checked\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=selected\\]\\:bg-gray-50[data-state=\"selected\"] {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.data-\\[state\\=active\\]\\:font-semibold[data-state=\"active\"] {\n font-weight: 600;\n}\n\n.data-\\[state\\=active\\]\\:text-blue-700[data-state=\"active\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-blue-700) / var(--tw-text-opacity));\n}\n\n.data-\\[state\\=active\\]\\:text-gray-1000[data-state=\"active\"] {\n --tw-text-opacity: 1;\n color: rgb(var(--color-gray-1000) / var(--tw-text-opacity));\n}\n\n.data-\\[disabled\\]\\:opacity-40[data-disabled] {\n opacity: .4;\n}\n\n.data-\\[disabled\\]\\:opacity-50[data-disabled] {\n opacity: .5;\n}\n\n.data-\\[state\\=active\\]\\:shadow-sm[data-state=\"active\"] {\n --tw-shadow: 0 1px 2px 0 #0000000d;\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.data-\\[swipe\\=move\\]\\:transition-none[data-swipe=\"move\"] {\n transition-property: none;\n}\n\n.data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n transition-duration: .3s;\n}\n\n.data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n transition-duration: .5s;\n}\n\n.data-\\[state\\=open\\]\\:animate-in[data-state=\"open\"] {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:animate-out[data-state=\"closed\"], .data-\\[swipe\\=end\\]\\:animate-out[data-swipe=\"end\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:fade-out-80[data-state=\"closed\"] {\n --tw-exit-opacity: .8;\n}\n\n.data-\\[state\\=open\\]\\:fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n}\n\n.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n}\n\n.data-\\[state\\=open\\]\\:zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n}\n\n.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -.5rem;\n}\n\n.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: .5rem;\n}\n\n.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -.5rem;\n}\n\n.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: .5rem;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:slide-out-to-bottom-\\[100\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=\"closed\"] {\n --tw-exit-translate-x: -100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-left-1\\/2[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:slide-out-to-left-\\[50\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-x: -50%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=\"closed\"] {\n --tw-exit-translate-x: 100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=\"closed\"] {\n --tw-exit-translate-y: -100%;\n}\n\n.data-\\[state\\=closed\\]\\:slide-out-to-top-\\[48\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-bottom-\\[100\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-left[data-state=\"open\"] {\n --tw-enter-translate-x: -100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-left-1\\/2[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-left-\\[50\\%\\][data-state=\"open\"] {\n --tw-enter-translate-x: -50%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-right[data-state=\"open\"] {\n --tw-enter-translate-x: 100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top-\\[48\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: -48%;\n}\n\n.data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n}\n\n.data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n animation-duration: .3s;\n}\n\n.data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n animation-duration: .5s;\n}\n\n.group[data-state=\"open\"] .group-data-\\[state\\=open\\]\\:rotate-180 {\n --tw-rotate: 180deg;\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.group[data-disabled] .group-data-\\[disabled\\]\\:cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.group[data-state=\"checked\"] .group-data-\\[state\\=checked\\]\\:bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.group[data-disabled] .group-data-\\[disabled\\]\\:opacity-50 {\n opacity: .5;\n}\n\n@media not all and (width >= 1024px) {\n .max-lg\\:mt-8 {\n margin-top: 2rem;\n }\n\n .max-lg\\:hidden {\n display: none;\n }\n\n .max-lg\\:h-\\[250px\\] {\n height: 250px;\n }\n\n .max-lg\\:w-full {\n width: 100%;\n }\n\n .max-lg\\:flex-col {\n flex-direction: column;\n }\n}\n\n@media not all and (width >= 640px) {\n .max-sm\\:gap-4 {\n gap: 1rem;\n }\n\n .max-sm\\:p-4 {\n padding: 1rem;\n }\n}\n\n@media (width >= 640px) {\n .sm\\:mt-0 {\n margin-top: 0;\n }\n\n .sm\\:w-1\\/2 {\n width: 50%;\n }\n\n .sm\\:max-w-sm {\n max-width: 24rem;\n }\n\n .sm\\:flex-row {\n flex-direction: row;\n }\n\n .sm\\:flex-col {\n flex-direction: column;\n }\n\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n\n .sm\\:justify-center {\n justify-content: center;\n }\n\n .sm\\:space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(.5rem * var(--tw-space-x-reverse));\n margin-left: calc(.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .data-\\[state\\=open\\]\\:sm\\:slide-in-from-bottom-full[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n}\n\n@media (width >= 768px) {\n .md\\:w-\\[334px\\] {\n width: 334px;\n }\n\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:w-screen {\n width: 100vw;\n }\n\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n}\n\n@media (width >= 1024px) {\n .lg\\:flex-col {\n flex-direction: column;\n }\n\n .lg\\:items-center {\n align-items: center;\n }\n\n .lg\\:gap-2 {\n gap: .5rem;\n }\n\n .lg\\:gap-8 {\n gap: 2rem;\n }\n\n .lg\\:rounded-lg {\n border-radius: .5rem;\n }\n\n .lg\\:border {\n border-width: 1px;\n }\n\n .lg\\:border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(var(--color-gray-200) / var(--tw-border-opacity));\n }\n\n .lg\\:bg-pattern {\n background-image: radial-gradient(50% 50%, #006aff33 0%, #006aff00 100%), linear-gradient(#0000 0%, #fff 100%), linear-gradient(0deg, #0000 0%, #ffffffbf 100%), url(\"data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 40V41H41V40H40ZM39 0V40H41V0H39ZM40 39H0V41H40V39Z' fill='%23E8E8E8' mask='url(%23path-1-inside-1_124_242)'/%3E%3C/svg%3E\");\n }\n\n .lg\\:p-6 {\n padding: 1.5rem;\n }\n\n .lg\\:text-center {\n text-align: center;\n }\n\n .lg\\:text-4xl {\n letter-spacing: -.02em;\n font-size: 36px;\n line-height: 44px;\n }\n}\n\n@media (width >= 1280px) {\n .xl\\:rounded-none {\n border-radius: 0;\n }\n}\n\n.\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:bg-blue-100:has([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-blue-100) / var(--tw-bg-opacity));\n}\n\n.first\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-l-md:has([aria-selected]):first-child {\n border-top-left-radius: .375rem;\n border-bottom-left-radius: .375rem;\n}\n\n.last\\:\\[\\&\\:has\\(\\[aria-selected\\]\\)\\]\\:rounded-r-md:has([aria-selected]):last-child {\n border-top-right-radius: .375rem;\n border-bottom-right-radius: .375rem;\n}\n\n.\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=\"checkbox\"]) {\n padding-right: 0;\n}\n\n.\\[\\&\\:not\\(\\[aria-selected\\]\\)\\]\\:hover\\:bg-gray-100:hover:not([aria-selected]) {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-100) / var(--tw-bg-opacity));\n}\n\n.\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\] > [role=\"checkbox\"] {\n --tw-translate-y: 2px;\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.\\[\\&\\>svg\\]\\:h-\\[18px\\] > svg {\n height: 18px;\n}\n\n.\\[\\&\\>svg\\]\\:w-\\[18px\\] > svg {\n width: 18px;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-left: .5rem;\n padding-right: .5rem;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-top: .375rem;\n padding-bottom: .375rem;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-sm [cmdk-group-heading] {\n letter-spacing: -.02em;\n font-size: 14px;\n line-height: 20px;\n}\n\n.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n font-weight: 500;\n}\n\n.\\[\\&_tr\\:active\\]\\:bg-gray-50 tr:active, .\\[\\&_tr\\:hover\\:active\\]\\:bg-gray-50 tr:hover:active {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-50) / var(--tw-bg-opacity));\n}\n\n.\\[\\&_tr\\:hover\\]\\:bg-gray-25 tr:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(var(--color-gray-25) / var(--tw-bg-opacity));\n}\n\n.\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-width: 0;\n}\n\n.\\[\\&_tr\\]\\:border-b tr {\n border-bottom-width: 1px;\n}\n\n";
|
|
16601
16615
|
|
|
16602
16616
|
|
|
16603
16617
|
var $9554d945ad3f220e$exports = {};
|
|
@@ -16613,7 +16627,12 @@ const $24075a5d702d64b3$var$defaultOptions = {
|
|
|
16613
16627
|
recorder: {
|
|
16614
16628
|
enabled: false,
|
|
16615
16629
|
defaultMode: "photo",
|
|
16616
|
-
|
|
16630
|
+
enabledModes: [
|
|
16631
|
+
"video",
|
|
16632
|
+
"screen",
|
|
16633
|
+
"photo",
|
|
16634
|
+
"audio"
|
|
16635
|
+
],
|
|
16617
16636
|
skipOnboarding: false
|
|
16618
16637
|
},
|
|
16619
16638
|
sharedURL: window.location.href,
|
|
@@ -16662,18 +16681,39 @@ const $24075a5d702d64b3$export$3f94917203ab7078 = {
|
|
|
16662
16681
|
},
|
|
16663
16682
|
initV2: async ({ element: element, ...options })=>{
|
|
16664
16683
|
if (typeof options.recorder === "boolean") options.recorder = {
|
|
16684
|
+
enabledModes: [
|
|
16685
|
+
"video",
|
|
16686
|
+
"screen",
|
|
16687
|
+
"audio",
|
|
16688
|
+
"photo"
|
|
16689
|
+
],
|
|
16665
16690
|
enabled: options.recorder,
|
|
16666
|
-
defaultMode: "
|
|
16667
|
-
defaultMedia: "camera",
|
|
16691
|
+
defaultMode: "video",
|
|
16668
16692
|
skipOnboarding: false
|
|
16669
16693
|
};
|
|
16670
|
-
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).init(options.token, {
|
|
16694
|
+
const { flow: flow } = await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).init(options.token, {
|
|
16695
|
+
languageCode: options.language,
|
|
16696
|
+
flowToken: options.flowToken,
|
|
16671
16697
|
recorder: options.recorder?.enabled,
|
|
16672
16698
|
apiKey: options.apiKey,
|
|
16673
16699
|
email: options.email,
|
|
16674
16700
|
profile: options.profile,
|
|
16675
16701
|
authKey: options.authKey
|
|
16676
16702
|
});
|
|
16703
|
+
if (flow) {
|
|
16704
|
+
const step = flow.steps[0];
|
|
16705
|
+
if (step) {
|
|
16706
|
+
options.recorder = {
|
|
16707
|
+
enabledModes: [
|
|
16708
|
+
step.type === "image" ? "photo" : step.type
|
|
16709
|
+
],
|
|
16710
|
+
enabled: true,
|
|
16711
|
+
defaultMode: step.type === "image" ? "photo" : step.type,
|
|
16712
|
+
skipOnboarding: false
|
|
16713
|
+
};
|
|
16714
|
+
await (0, $c9e496369b59be7a$export$2f377c2162fd02b2).setStep(flow?.steps[0].token);
|
|
16715
|
+
}
|
|
16716
|
+
}
|
|
16677
16717
|
if (element?.nodeType !== window.Node.ELEMENT_NODE) throw new Error('The "element" property must be a valid element!');
|
|
16678
16718
|
const mergedOptions = (0, $365e765f9890497b$export$6969335ea1e4e77c)($24075a5d702d64b3$var$defaultOptions, options);
|
|
16679
16719
|
const rootElement = (0, $3Sbms$createRoot)(element);
|
|
@@ -16703,7 +16743,8 @@ const $24075a5d702d64b3$export$3f94917203ab7078 = {
|
|
|
16703
16743
|
href: "https://rsms.me/inter/inter.css"
|
|
16704
16744
|
}),
|
|
16705
16745
|
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $26ed036cbc17809a$export$2e2bcd8739ae039), {
|
|
16706
|
-
options: mergedOptions
|
|
16746
|
+
options: mergedOptions,
|
|
16747
|
+
flow: flow
|
|
16707
16748
|
})
|
|
16708
16749
|
]
|
|
16709
16750
|
}));
|