@snapcall/stream-ui 1.12.0 → 1.12.1

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.
@@ -315,6 +315,24 @@ const $a5146f9062d7bf28$export$3a57e165650c636f = (message, options = {})=>{
315
315
  };
316
316
 
317
317
 
318
+ const $35b37252690084e8$export$1cbfb36c1655a9a = (root, element)=>{
319
+ const mutationObserver = new MutationObserver((mutationRecords)=>{
320
+ mutationRecords.forEach((record)=>{
321
+ record.removedNodes.forEach((node)=>{
322
+ if (node.contains(element)) {
323
+ root.unmount();
324
+ mutationObserver.disconnect();
325
+ }
326
+ });
327
+ });
328
+ });
329
+ mutationObserver.observe(document.documentElement, {
330
+ childList: true,
331
+ subtree: true
332
+ });
333
+ };
334
+
335
+
318
336
 
319
337
 
320
338
 
@@ -492,40 +510,40 @@ const $18fb8799f38eb407$export$84584c2a98eb6753 = {
492
510
  },
493
511
  recorder: {
494
512
  submissionTitle: "Thank you for your submission!",
495
- submissionDescription: "Your photo/video has been successfully sent. We will review it and get back to you soon.",
496
- confirmRemovalTitle: "Confirm removal",
497
- confirmRemovalDescription: "Are you sure you want to remove this photo/video? This action cannot be undone.",
498
- elementBeingProcessed: "Please wait a moment while your {{ type }} is being processed...",
499
- waitVideo: "It may take up to 15 seconds for a video to be ready.",
500
- elementCaptureSuccess: "{{ type }} successfully captured",
501
- takeNewElement: "Take new {{ type }}",
513
+ submissionDescription: "Your photo/video has been successfully submitted. We will review it and get back to you shortly.",
514
+ confirmRemovalTitle: "Confirm deletion",
515
+ confirmRemovalDescription: "Are you sure you want to delete this photo/video? This action cannot be undone.",
516
+ elementBeingProcessed: "Please wait while your {{ type }} is being processed...",
517
+ waitVideo: "A video may take up to 15 seconds to be ready.",
518
+ elementCaptureSuccess: "{{ type }} captured successfully",
519
+ takeNewElement: "Capture a new {{ type }}",
502
520
  sendElement: "Send {{ type }}",
503
521
  sendElements: "Send {{ count }} elements",
504
522
  allowAccess: "Allow access",
505
523
  okay: "Okay",
506
- allowCamMicAccess: "Allow access to cam/mic",
524
+ allowCamMicAccess: "Allow access to camera and microphone",
507
525
  allowScreenShareAccess: "Allow access to screen sharing",
508
526
  permissionDeniedTitle: "Something went wrong!",
509
- permissionDeniedDescription: "Without camera and microphone access, you can't take photos or videos to share with the support team. Please grant access in your browser settings.",
510
- photoInstructionsTitle: "Ready to take a shot?",
527
+ 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.",
528
+ photoInstructionsTitle: "Ready to snap a photo?",
511
529
  videoInstructionsTitle: "Ready to record a video?",
512
- screenShareInstructionsTitle: "Ready to capture your screen?",
530
+ screenShareInstructionsTitle: "Ready to share your screen?",
513
531
  instructions: {
514
- allowAccessOnPrompt: "When prompted, <1>allow access</1> to camera and microphone.",
515
- tapPhotoButton: "Tap the <1 /><2> Camera button</2> to take a photo.",
516
- multiplePhotos: "Don't hesitate to take multiple photos for more detail.",
517
- reviewAndSendPhotos: "You can review your photo and then <1>send it when you're done.</1>",
518
- tapVideoButton: "Tap the <1 /><2> Record button</2> to start a recording.",
519
- videoSpeech: "You can <1>speak during</1> the recording for added detail.",
520
- tapStopVideoButton: "When you're finished, tap the <1 /><2> Stop button</2>.",
521
- reviewAndSendVideos: "You can review your video and then <1>send it when you're done</2>.",
522
- tapScreenShareButton: "Tap on <1> Record my screen</1> to start a recording.",
523
- tapStopScreenShareButton: "When you're finished, tap on <1>Stop recording</1>.",
524
- reviewAnsSendScreenShare: "You can review your video and then <1>send it when you're done</1>."
532
+ allowAccessOnPrompt: "When prompted, <1>allow access</1> to the camera and microphone.",
533
+ tapPhotoButton: "Tap the <1 /><2>Camera button</2> to take a photo.",
534
+ multiplePhotos: "Feel free to take multiple photos for more details.",
535
+ reviewAndSendPhotos: "Review your photo and <1>send it when you're satisfied.</1>",
536
+ reviewAndSendScreenShare: "Review your video and <1>send it when you're satisfied.</1>",
537
+ tapVideoButton: "Tap the <1 /><2>Record button</2> to start recording.",
538
+ videoSpeech: "You can <1>talk during</1> the recording to provide additional information.",
539
+ tapStopVideoButton: "When you're done, tap the <1 /><2>Stop button</2>.",
540
+ reviewAndSendVideos: "Review your video and <1>send it when you're satisfied</1>.",
541
+ tapScreenShareButton: "Tap <1>Record my screen</1> to begin recording.",
542
+ tapStopScreenShareButton: "When you're done, tap <1>Stop recording</1>."
525
543
  },
526
- switchToMobileTitle: "Switch to your mobile",
527
- switchToMobileDescription: "Enjoy an even more convenient experience by using your phone to take photos and record videos.",
528
- useDesktopVersion: "Use desktop version",
544
+ switchToMobileTitle: "Switch to your mobile device",
545
+ switchToMobileDescription: "Experience greater convenience by using your phone to take photos and record videos.",
546
+ useDesktopVersion: "Use the desktop version",
529
547
  scanQRCode: "Scan this QR code with a compatible device.",
530
548
  startScreenShareButton: "Record my screen",
531
549
  stopScreenShareButton: "Stop recording"
@@ -690,44 +708,44 @@ const $c5472fb74fa04782$export$acb2a88f7d552ebf = {
690
708
  footerDescription: "D\xe9couvrez SnapCall, ajoutez de la vid\xe9o en temps r\xe9el \xe0 n'importe quelle plateforme, produit ou service."
691
709
  },
692
710
  recorder: {
693
- submissionTitle: "Merci pour votre soumission!",
711
+ submissionTitle: "Merci pour votre soumission !",
694
712
  submissionDescription: "Votre photo/vid\xe9o a \xe9t\xe9 envoy\xe9e avec succ\xe8s. Nous l'examinerons et reviendrons vers vous bient\xf4t.",
695
713
  confirmRemovalTitle: "Confirmer la suppression",
696
- confirmRemovalDescription: "Voulez-vous vraiment supprimer cette photo/vid\xe9o? Cette action ne peut pas \xeatre annul\xe9e.",
714
+ confirmRemovalDescription: "Voulez-vous vraiment supprimer cette photo/vid\xe9o ? Cette action ne peut pas \xeatre annul\xe9e.",
697
715
  elementBeingProcessed: "Veuillez patienter un moment pendant que votre {{ type }} est en cours de traitement...",
698
716
  waitVideo: "Cela peut prendre jusqu'\xe0 15 secondes pour qu'une vid\xe9o soit pr\xeate.",
699
- elementCaptureSuccess: "{{ type }} captur\xe9e avec succ\xe8s",
717
+ elementCaptureSuccess: "{{ type }} captur\xe9(e) avec succ\xe8s",
700
718
  takeNewElement: "Prendre une nouvelle {{ type }}",
701
- sendElement: "Envoyer une {{ type }}",
719
+ sendElement: "Envoyer la {{ type }}",
702
720
  sendElements: "Envoyer {{ count }} \xe9l\xe9ments",
703
- allowAccess: "Permettre l'acc\xe8s",
721
+ allowAccess: "Autoriser l'acc\xe8s",
704
722
  okay: "D'accord",
705
- allowCamMicAccess: "Autoriser l'acc\xe8s \xe0 la cam\xe9ra/au micro",
723
+ allowCamMicAccess: "Autoriser l'acc\xe8s \xe0 la cam\xe9ra et au micro",
706
724
  allowScreenShareAccess: "Autoriser l'acc\xe8s au partage d'\xe9cran",
707
- permissionDeniedTitle: "Quelque chose s'est mal pass\xe9!",
725
+ permissionDeniedTitle: "Quelque chose s'est mal pass\xe9 !",
708
726
  permissionDeniedDescription: "Sans acc\xe8s \xe0 la cam\xe9ra et au microphone, vous ne pouvez pas prendre de photos ou de vid\xe9os \xe0 partager avec l'\xe9quipe d'assistance. Veuillez accorder l'acc\xe8s dans les param\xe8tres de votre navigateur.",
709
- photoInstructionsTitle: "Pr\xeat \xe0 prendre une photo?",
710
- videoInstructionsTitle: "Pr\xeat \xe0 enregistrer une vid\xe9o?",
711
- screenShareInstructionsTitle: "Pr\xeat \xe0 capturer votre \xe9cran?",
727
+ photoInstructionsTitle: "Pr\xeat(e) \xe0 prendre une photo ?",
728
+ videoInstructionsTitle: "Pr\xeat(e) \xe0 enregistrer une vid\xe9o ?",
729
+ screenShareInstructionsTitle: "Pr\xeat(e) \xe0 partager votre \xe9cran ?",
712
730
  instructions: {
713
- allowAccessOnPrompt: "Lorsque vous y \xeates invit\xe9, <1>autorisez l'acc\xe8s</1> \xe0 la cam\xe9ra et au microphone.",
731
+ allowAccessOnPrompt: "Lorsque vous y \xeates invit\xe9(e), <1>autorisez l'acc\xe8s</1> \xe0 la cam\xe9ra et au microphone.",
714
732
  tapPhotoButton: "Appuyez sur le <1 /><2>bouton Appareil photo</2> pour prendre une photo.",
715
733
  multiplePhotos: "N'h\xe9sitez pas \xe0 prendre plusieurs photos pour plus de d\xe9tails.",
716
734
  reviewAndSendPhotos: "Vous pouvez revoir votre photo, puis <1>l'envoyer lorsque vous avez termin\xe9.</1>",
717
735
  tapVideoButton: "Appuyez sur le <1 /><2>bouton d'enregistrement</2> pour d\xe9marrer un enregistrement.",
718
- videoSpeech: "Vous pouvez <1>parler pendant</1> l'enregistrement pour plus de d\xe9tails.",
736
+ videoSpeech: "Vous pouvez <1>parler pendant</1> l'enregistrement pour ajouter des d\xe9tails.",
719
737
  tapStopVideoButton: "Lorsque vous avez termin\xe9, appuyez sur le <1 /><2>bouton Arr\xeater</2>.",
720
738
  reviewAndSendVideos: "Vous pouvez revoir votre vid\xe9o, puis <1>l'envoyer lorsque vous avez termin\xe9</2>.",
721
- tapScreenShareButton: "Appuyez sur <1>Enregistrer mon \xe9cran</1> pour d\xe9marrer un enregistrement.",
722
- tapStopScreenShareButton: "Lorsque vous avez termin\xe9, appuyez sur <1>Arr\xeater l'enregistrement</1>.",
723
- reviewAnsSendScreenShare: "Vous pouvez revoir votre vid\xe9o, puis <1>l'envoyer lorsque vous avez termin\xe9</1>."
739
+ tapScreenShareButton: "Appuyez sur <1>Enregistrer \xe9cran</1> pour d\xe9marrer un enregistrement.",
740
+ tapStopScreenShareButton: "Lorsque vous avez termin\xe9, appuyez sur <1>Stop enregistrement</1>.",
741
+ reviewAndSendScreenShare: "Vous pouvez revoir votre vid\xe9o, puis <1>l'envoyer lorsque vous avez termin\xe9.</1>"
724
742
  },
725
- switchToMobileTitle: "Basculez vers votre mobile",
743
+ switchToMobileTitle: "Passez sur votre mobile",
726
744
  switchToMobileDescription: "Profitez d'une exp\xe9rience encore plus pratique en utilisant votre t\xe9l\xe9phone pour prendre des photos et enregistrer des vid\xe9os.",
727
- useDesktopVersion: "Utiliser la version de bureau",
745
+ useDesktopVersion: "Continuer",
728
746
  scanQRCode: "Scannez ce code QR avec un appareil compatible.",
729
- startScreenShareButton: "Enregistrer mon \xe9cran",
730
- stopScreenShareButton: "Arr\xeater d'enregistrer"
747
+ startScreenShareButton: "Enregistrer \xe9cran",
748
+ stopScreenShareButton: "Stop enregistrement"
731
749
  }
732
750
  }
733
751
  };
@@ -893,44 +911,44 @@ const $b7790fb9e48df5c4$export$3486a10f30cf1ee4 = {
893
911
  footerDescription: "Incontrare SnapCall, il modo pi\xf9 semplice per aggiungere video in tempo reale a piattaforma, prodotto o servizio."
894
912
  },
895
913
  recorder: {
896
- submissionTitle: "Grazie per la vostra presentazione!",
897
- submissionDescription: "La tua foto/video \xe8 stato inviato con successo. Lo esamineremo e ti ricontatteremo presto.",
898
- confirmRemovalTitle: "Conferma la rimozione",
914
+ submissionTitle: "Grazie per il tuo invio!",
915
+ submissionDescription: "La tua foto/video \xe8 stata inviata con successo. La esamineremo e ti risponderemo al pi\xf9 presto.",
916
+ confirmRemovalTitle: "Conferma rimozione",
899
917
  confirmRemovalDescription: "Sei sicuro di voler rimuovere questa foto/video? Questa azione non pu\xf2 essere annullata.",
900
- elementBeingProcessed: "Attendi un momento mentre la tua {{ type }} \xe8 in fase di elaborazione...",
901
- waitVideo: "Potrebbero essere necessari fino a 15 secondi prima che un video sia pronto.",
918
+ elementBeingProcessed: "Attendi un momento mentre il tuo {{ type }} viene elaborato...",
919
+ waitVideo: "Potrebbero essere necessari fino a 15 secondi affinch\xe9 un video sia pronto.",
902
920
  elementCaptureSuccess: "{{ type }} catturato con successo",
903
- takeNewElement: "Scatta una nuova {{ type }}",
904
- sendElement: "Invia una {{ type }}",
921
+ takeNewElement: "Cattura un nuovo {{ type }}",
922
+ sendElement: "Invia {{ type }}",
905
923
  sendElements: "Invia {{ count }} elementi",
906
- allowAccess: "Consentire l'accesso",
907
- okay: "Va bene",
908
- allowCamMicAccess: "Consenti l'accesso a cam/microfono",
909
- allowScreenShareAccess: "Consenti l'accesso alla condivisione dello schermo",
924
+ allowAccess: "Consenti accesso",
925
+ okay: "Okay",
926
+ allowCamMicAccess: "Consenti accesso a fotocamera e microfono",
927
+ allowScreenShareAccess: "Consenti accesso alla condivisione dello schermo",
910
928
  permissionDeniedTitle: "Qualcosa \xe8 andato storto!",
911
- permissionDeniedDescription: "Senza l'accesso alla fotocamera e al microfono, non puoi scattare foto o registrare video da condividere con il team di supporto. Concedi l'accesso nelle impostazioni del tuo browser.",
912
- photoInstructionsTitle: "Pronto a fare un tentativo?",
929
+ 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.",
930
+ photoInstructionsTitle: "Pronto a scattare una foto?",
913
931
  videoInstructionsTitle: "Pronto a registrare un video?",
914
- screenShareInstructionsTitle: "Pronto a catturare il tuo schermo?",
932
+ screenShareInstructionsTitle: "Pronto a condividere il tuo schermo?",
915
933
  instructions: {
916
- allowAccessOnPrompt: "Quando richiesto, <1>consenti l'accesso</1> alla videocamera e al microfono.",
917
- tapPhotoButton: "Tocca il <1 /><2> pulsante Fotocamera</2> per scattare una foto.",
918
- multiplePhotos: "Non esitate a scattare pi\xf9 foto per maggiori dettagli.",
934
+ allowAccessOnPrompt: "Quando richiesto, <1>consenti l'accesso</1> a fotocamera e microfono.",
935
+ tapPhotoButton: "Tocca il pulsante <1 /><2>Fotocamera</2> per scattare una foto.",
936
+ multiplePhotos: "Non esitare a scattare pi\xf9 foto per maggiori dettagli.",
919
937
  reviewAndSendPhotos: "Puoi rivedere la tua foto e poi <1>inviarla quando hai finito.</1>",
920
- tapVideoButton: "Tocca il <1 /><2> pulsante Registra</2> per avviare una registrazione.",
921
- videoSpeech: "Puoi <1>parlare durante</1> la registrazione per ulteriori dettagli.",
922
- tapStopVideoButton: "Al termine, tocca il <1 /><2> pulsante Interrompi</2>.",
923
- reviewAndSendVideos: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito</2>.",
924
- tapScreenShareButton: "Tocca <1> Registra il mio schermo</1> per avviare una registrazione.",
925
- tapStopScreenShareButton: "Al termine, tocca <1>Interrompi registrazione</1>.",
926
- reviewAnsSendScreenShare: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito</1>."
938
+ tapVideoButton: "Tocca il pulsante <1 /><2>Registra</2> per avviare una registrazione.",
939
+ videoSpeech: "Puoi <1>parlare durante</1> la registrazione per aggiungere dettagli.",
940
+ tapStopVideoButton: "Quando hai finito, tocca il pulsante <1 /><2>Ferma</2>.",
941
+ reviewAndSendVideos: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito</1>.",
942
+ tapScreenShareButton: "Tocca <1>Registra il mio schermo</1> per avviare una registrazione.",
943
+ tapStopScreenShareButton: "Quando hai finito, tocca <1>Ferma registrazione</1>.",
944
+ reviewAndSendScreenShare: "Puoi rivedere il tuo video e poi <1>inviarlo quando hai finito.</1>"
927
945
  },
928
- switchToMobileTitle: "Passa al tuo cellulare",
929
- switchToMobileDescription: "Goditi un'esperienza ancora pi\xf9 comoda utilizzando il telefono per scattare foto e registrare video.",
946
+ switchToMobileTitle: "Passa al tuo dispositivo mobile",
947
+ switchToMobileDescription: "Goditi un'esperienza ancora pi\xf9 pratica utilizzando il tuo telefono per scattare foto e registrare video.",
930
948
  useDesktopVersion: "Usa la versione desktop",
931
949
  scanQRCode: "Scansiona questo codice QR con un dispositivo compatibile.",
932
950
  startScreenShareButton: "Registra il mio schermo",
933
- stopScreenShareButton: "Interrompi la registrazione"
951
+ stopScreenShareButton: "Ferma registrazione"
934
952
  }
935
953
  }
936
954
  };
@@ -2330,6 +2348,7 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
2330
2348
  this.mediaPipe = undefined;
2331
2349
  }
2332
2350
  this.audioMedia?.removeAll();
2351
+ this.audioMedia = undefined;
2333
2352
  this.webcamTrack?.stop();
2334
2353
  this.webcamTrack = null;
2335
2354
  this.protooTransport.close();
@@ -2488,14 +2507,13 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
2488
2507
  optionalParam.facingMode = this.webcam.facingMode;
2489
2508
  } else {
2490
2509
  const webcams = Array.from(this.webcams.keys());
2491
- const deviceId = this.webcam?.device?.deviceId || "unknow";
2510
+ const deviceId = this.webcam?.device?.deviceId || "unknown";
2492
2511
  let newWebcamIndex = webcams.indexOf(deviceId);
2493
2512
  if (newWebcamIndex < webcams.length - 1) newWebcamIndex++;
2494
2513
  else newWebcamIndex = 0;
2495
2514
  const newWebcamDevice = this.webcams.get(webcams[newWebcamIndex]);
2496
2515
  if (!newWebcamDevice) throw new Error("no webcam device");
2497
2516
  this.webcam.device = newWebcamDevice;
2498
- this.webcam.resolution = "hd";
2499
2517
  optionalParam.deviceId = {
2500
2518
  ideal: this.webcam.device?.deviceId
2501
2519
  };
@@ -2511,8 +2529,9 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
2511
2529
  ideal: this.webcam.device.deviceId
2512
2530
  };
2513
2531
  }
2514
- if (resolution) this.webcam.resolution = resolution;
2515
2532
  }
2533
+ this.webcam.resolution = resolution || this.webcam.resolution || "hd";
2534
+ this.webcam.framerate = frameRate || this.webcam.framerate;
2516
2535
  let usedResolution = $c31e3fb4360572af$export$d21ffcc5eb136bfa[resolution || this.webcam.resolution];
2517
2536
  if (this.useVideoBackground) usedResolution = {
2518
2537
  width: {
@@ -2530,7 +2549,6 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
2530
2549
  });
2531
2550
  const mediaStream = await this.handleGetUserMediaError("webcam", navigator.mediaDevices.getUserMedia({
2532
2551
  video: {
2533
- frameRate: frameRate,
2534
2552
  ...optionalParam,
2535
2553
  ...usedResolution
2536
2554
  }
@@ -2572,6 +2590,8 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
2572
2590
  };
2573
2591
  }
2574
2592
  if (!this.webcam.device) throw new Error("no webcam devices");
2593
+ this.webcam.resolution = config?.resolution || this.webcam.resolution || "hd";
2594
+ this.webcam.framerate = config?.frameRate || this.webcam.framerate;
2575
2595
  let usedResolution = $c31e3fb4360572af$export$d21ffcc5eb136bfa[config?.resolution || this.webcam.resolution];
2576
2596
  if (this.useVideoBackground) usedResolution = {
2577
2597
  width: {
@@ -11298,13 +11318,12 @@ const $96999d2514f71e51$export$788cb893d96254c8 = ({ state: state , type: type
11298
11318
  index: 4 + permissionsInstructionIndex,
11299
11319
  children: /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Text, {
11300
11320
  children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Trans), {
11301
- i18nKey: "recorder.instructions.reviewAnsSendScreenShare",
11321
+ i18nKey: "recorder.instructions.reviewAndSendScreenShare",
11302
11322
  children: [
11303
11323
  "You can review your video and then ",
11304
11324
  /*#__PURE__*/ (0, $3Sbms$jsx)($96999d2514f71e51$var$Bold, {
11305
- children: "send it when you're done"
11306
- }),
11307
- "."
11325
+ children: "send it when you're done."
11326
+ })
11308
11327
  ]
11309
11328
  })
11310
11329
  })
@@ -13109,12 +13128,14 @@ const $24075a5d702d64b3$export$3f94917203ab7078 = {
13109
13128
  ]
13110
13129
  }));
13111
13130
  if (mergedOptions.tracking) (0, $3Sbms$hotjarbrowser).init(3111933, 6);
13131
+ (0, $35b37252690084e8$export$1cbfb36c1655a9a)(rootElement, element);
13112
13132
  },
13113
13133
  initGreeting: (element, onGreetingDone)=>{
13114
13134
  const rootElement = (0, $3Sbms$createRoot)(element);
13115
13135
  rootElement.render(/*#__PURE__*/ (0, $3Sbms$jsx)((0, $f8d57e3d223f5089$export$2e2bcd8739ae039), {
13116
13136
  onGreetingDone: onGreetingDone
13117
13137
  }));
13138
+ (0, $35b37252690084e8$export$1cbfb36c1655a9a)(rootElement, element);
13118
13139
  },
13119
13140
  setExtraSettingsOptions: (extraOptions)=>{
13120
13141
  const event = new CustomEvent("streamUISetExtraSettingsOptions", {