mediasfu-angular 2.2.1 → 2.2.3

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.
Files changed (215) hide show
  1. package/README.md +970 -40
  2. package/USAGE_COOKBOOK.md +202 -0
  3. package/dist/LICENSE +21 -0
  4. package/dist/README.md +970 -40
  5. package/dist/fesm2022/mediasfu-angular.mjs +30595 -16317
  6. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  7. package/dist/lib/@types/types.d.ts +28 -2
  8. package/dist/lib/@types/ui-overrides.types.d.ts +314 -0
  9. package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +1053 -5
  10. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +2126 -51
  11. package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +1587 -45
  12. package/dist/lib/components/breakout-components/room-list/room-list.component.d.ts +5 -1
  13. package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +1067 -56
  14. package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +98 -28
  15. package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +17 -7
  16. package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +591 -11
  17. package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +3 -0
  18. package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +1 -1
  19. package/dist/lib/components/display-components/control-buttons-component/control-buttons-component.component.d.ts +34 -2
  20. package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +19 -0
  21. package/dist/lib/components/display-components/control-widgets/control-icon-badge-widget.component.d.ts +13 -0
  22. package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +1 -0
  23. package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +2 -2
  24. package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +2 -2
  25. package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +2 -0
  26. package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +5 -3
  27. package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +617 -26
  28. package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +41 -1
  29. package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +2024 -10
  30. package/dist/lib/components/display-components/main-aspect-component/main-aspect-component.component.d.ts +6 -2
  31. package/dist/lib/components/display-components/main-container-component/main-container-component.component.d.ts +6 -2
  32. package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +507 -8
  33. package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +508 -7
  34. package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +18 -11
  35. package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +11 -3
  36. package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +1026 -999
  37. package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +9 -3
  38. package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +517 -1
  39. package/dist/lib/components/display-components/pagination/pagination.component.d.ts +34 -1
  40. package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +513 -2
  41. package/dist/lib/components/display-components/subtitle-overlay/subtitle-overlay.component.d.ts +6 -0
  42. package/dist/lib/components/display-components/video-card/video-card.component.d.ts +10 -6
  43. package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +1108 -27
  44. package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +1134 -49
  45. package/dist/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.d.ts +94 -32
  46. package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +1123 -47
  47. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +2622 -4793
  48. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +602 -4140
  49. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +864 -5707
  50. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +2087 -6304
  51. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +650 -5707
  52. package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +26 -4
  53. package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +80 -1
  54. package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +46 -1
  55. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +706 -15
  56. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +49 -2
  57. package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +79 -16
  58. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +1113 -17
  59. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +4 -0
  60. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +1114 -29
  61. package/dist/lib/components/panelists-components/panelists-modal/panelists-modal.component.d.ts +73 -0
  62. package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +1084 -6
  63. package/dist/lib/components/permissions-components/permissions-modal/permissions-modal.component.d.ts +89 -0
  64. package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +1060 -21
  65. package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +1055 -35
  66. package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +1117 -45
  67. package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +1059 -47
  68. package/dist/lib/components/translation-components/translation-settings-modal/translation-settings-modal.component.d.ts +124 -0
  69. package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +1119 -46
  70. package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +2117 -22
  71. package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +3 -15
  72. package/dist/lib/consumers/add-videos-grid.service.d.ts +3 -0
  73. package/dist/lib/consumers/auto-adjust.service.d.ts +0 -11
  74. package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +0 -7
  75. package/dist/lib/consumers/change-vids.service.d.ts +1 -1
  76. package/dist/lib/consumers/check-permission.service.d.ts +4 -1
  77. package/dist/lib/consumers/check-screen-share.service.d.ts +0 -18
  78. package/dist/lib/consumers/compare-active-names.service.d.ts +0 -16
  79. package/dist/lib/consumers/compare-screen-states.service.d.ts +0 -18
  80. package/dist/lib/consumers/connect-ips.service.d.ts +5 -26
  81. package/dist/lib/consumers/connect-local-ips.service.d.ts +1 -28
  82. package/dist/lib/consumers/connect-recv-transport.service.d.ts +4 -1
  83. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +5 -1
  84. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +6 -1
  85. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +6 -1
  86. package/dist/lib/consumers/connect-send-transport.service.d.ts +3 -1
  87. package/dist/lib/consumers/consumer-resume.service.d.ts +2 -1
  88. package/dist/lib/consumers/create-send-transport.service.d.ts +4 -1
  89. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +3 -1
  90. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +3 -1
  91. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +3 -1
  92. package/dist/lib/consumers/disp-streams.service.d.ts +1 -110
  93. package/dist/lib/consumers/generate-page-content.service.d.ts +0 -17
  94. package/dist/lib/consumers/get-estimate.service.d.ts +0 -21
  95. package/dist/lib/consumers/mix-streams.service.d.ts +0 -19
  96. package/dist/lib/consumers/on-screen-changes.service.d.ts +1 -21
  97. package/dist/lib/consumers/prepopulate-user-media.service.d.ts +3 -0
  98. package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +1 -14
  99. package/dist/lib/consumers/process-consumer-transports.service.d.ts +3 -57
  100. package/dist/lib/consumers/re-update-inter.service.d.ts +1 -39
  101. package/dist/lib/consumers/reorder-streams.service.d.ts +1 -35
  102. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +3 -1
  103. package/dist/lib/consumers/signal-new-consumer-transport.service.d.ts +3 -1
  104. package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +5 -14
  105. package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +4 -14
  106. package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +1 -8
  107. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +5 -1
  108. package/dist/lib/consumers/stream-success-audio.service.d.ts +3 -1
  109. package/dist/lib/consumers/stream-success-video.service.d.ts +5 -1
  110. package/dist/lib/consumers/translation-consumer-switch.service.d.ts +68 -0
  111. package/dist/lib/consumers/trigger.service.d.ts +0 -79
  112. package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +0 -24
  113. package/dist/lib/directives/with-override.directive.d.ts +76 -0
  114. package/dist/lib/methods/background-methods/launch-background.service.d.ts +2 -5
  115. package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +2 -5
  116. package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +2 -5
  117. package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +1 -1
  118. package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +2 -5
  119. package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +2 -0
  120. package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +2 -5
  121. package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +2 -5
  122. package/dist/lib/methods/message-methods/launch-messages.service.d.ts +2 -5
  123. package/dist/lib/methods/panelists-methods/add-panelist.service.d.ts +19 -0
  124. package/dist/lib/methods/panelists-methods/focus-panelists.service.d.ts +19 -0
  125. package/dist/lib/methods/panelists-methods/remove-panelist.service.d.ts +17 -0
  126. package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +2 -5
  127. package/dist/lib/methods/permissions-methods/bulk-update-participant-permissions.service.d.ts +20 -0
  128. package/dist/lib/methods/permissions-methods/update-participant-permission.service.d.ts +19 -0
  129. package/dist/lib/methods/permissions-methods/update-permission-config.service.d.ts +29 -0
  130. package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +1 -1
  131. package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +1 -1
  132. package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +1 -1
  133. package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +1 -1
  134. package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +1 -12
  135. package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +1 -11
  136. package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +0 -94
  137. package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +1 -20
  138. package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +1 -12
  139. package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +0 -66
  140. package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +1 -33
  141. package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +1 -17
  142. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +1 -92
  143. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +1 -42
  144. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +1 -94
  145. package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +2 -5
  146. package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +2 -5
  147. package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +1 -1
  148. package/dist/lib/methods/stream-methods/click-chat.service.d.ts +1 -1
  149. package/dist/lib/methods/utils/get-modal-position.util.d.ts +0 -3
  150. package/dist/lib/methods/utils/initial-values.util.d.ts +25 -3
  151. package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +11 -1
  152. package/dist/lib/methods/utils/producer/a-params.service.d.ts +2 -5
  153. package/dist/lib/methods/utils/producer/h-params.service.d.ts +2 -5
  154. package/dist/lib/methods/utils/producer/screen-params.service.d.ts +2 -5
  155. package/dist/lib/methods/utils/producer/v-params.service.d.ts +2 -5
  156. package/dist/lib/methods/utils/sound-player.service.d.ts +1 -1
  157. package/dist/lib/methods/utils/translation-languages.util.d.ts +341 -0
  158. package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +2 -5
  159. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +3 -1
  160. package/dist/lib/modern/display-components/modern-alert.component.d.ts +40 -0
  161. package/dist/lib/modern/display-components/modern-loading-modal.component.d.ts +37 -0
  162. package/dist/lib/modern/display-components/modern-meeting-progress-timer.component.d.ts +40 -0
  163. package/dist/lib/modern/display-components/modern-mini-card.component.d.ts +1064 -0
  164. package/dist/lib/modern/display-components/modern-pagination.component.d.ts +91 -0
  165. package/dist/lib/modern/display-components/modern-participants-counter-badge.component.d.ts +16 -0
  166. package/dist/lib/modern/modal-components/modern-co-host-modal.component.d.ts +63 -0
  167. package/dist/lib/modern/modal-components/modern-confirm-exit-modal.component.d.ts +42 -0
  168. package/dist/lib/modern/modal-components/modern-confirm-here-modal.component.d.ts +39 -0
  169. package/dist/lib/modern/modal-components/modern-display-settings-modal.component.d.ts +59 -0
  170. package/dist/lib/modern/modal-components/modern-event-settings-modal.component.d.ts +80 -0
  171. package/dist/lib/modern/modal-components/modern-media-settings-modal.component.d.ts +72 -0
  172. package/dist/lib/modern/modal-components/modern-menu-modal.component.d.ts +48 -0
  173. package/dist/lib/modern/modal-components/modern-messages-modal.component.d.ts +58 -0
  174. package/dist/lib/modern/modal-components/modern-participants-modal.component.d.ts +49 -0
  175. package/dist/lib/modern/modal-components/modern-poll-modal.component.d.ts +54 -0
  176. package/dist/lib/modern/modal-components/modern-recording-modal.component.d.ts +39 -0
  177. package/dist/lib/modern/modal-components/modern-requests-modal.component.d.ts +61 -0
  178. package/dist/lib/modern/modal-components/modern-share-event-modal.component.d.ts +39 -0
  179. package/dist/lib/modern/modal-components/modern-waiting-room-modal.component.d.ts +55 -0
  180. package/dist/lib/modern/primitives/modern-button.component.d.ts +10 -0
  181. package/dist/lib/modern/primitives/modern-entry-shell.component.d.ts +6 -0
  182. package/dist/lib/modern/primitives/modern-field.component.d.ts +32 -0
  183. package/dist/lib/modern/primitives/modern-sidebar-panel.component.d.ts +24 -0
  184. package/dist/lib/modern/primitives/modern-surface.component.d.ts +7 -0
  185. package/dist/lib/modern/utils/render-mode.utils.d.ts +3 -0
  186. package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +4 -10
  187. package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +0 -19
  188. package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +8 -63
  189. package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +3 -19
  190. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +3 -106
  191. package/dist/lib/producers/producer-emits/join-room.service.d.ts +0 -18
  192. package/dist/lib/producers/socket-receive-methods/added-as-panelist.service.d.ts +15 -0
  193. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +1 -90
  194. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +1 -88
  195. package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +1 -66
  196. package/dist/lib/producers/socket-receive-methods/get-domains.service.d.ts +3 -1
  197. package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +1 -1
  198. package/dist/lib/producers/socket-receive-methods/panelist-focus-changed.service.d.ts +25 -0
  199. package/dist/lib/producers/socket-receive-methods/panelists-updated.service.d.ts +19 -0
  200. package/dist/lib/producers/socket-receive-methods/permission-config-updated.service.d.ts +15 -0
  201. package/dist/lib/producers/socket-receive-methods/permission-updated.service.d.ts +17 -0
  202. package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +1 -1
  203. package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +0 -80
  204. package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +1 -1
  205. package/dist/lib/producers/socket-receive-methods/receive-control-media.service.d.ts +21 -0
  206. package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +1 -5
  207. package/dist/lib/producers/socket-receive-methods/removed-from-panelists.service.d.ts +15 -0
  208. package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +1 -1
  209. package/dist/lib/producers/socket-receive-methods/translation-receive-methods.service.d.ts +20 -0
  210. package/dist/lib/services/live-subtitle.service.d.ts +15 -0
  211. package/dist/lib/services/ui-override-resolver.service.d.ts +91 -0
  212. package/dist/lib/sockets/socket-manager.service.d.ts +1 -2
  213. package/dist/public-api.d.ts +46 -1
  214. package/package.json +106 -95
  215. package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +0 -177
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Central Language Definitions for Translation Pipeline (Frontend)
3
+ *
4
+ * This module provides a single source of truth for all supported languages,
5
+ * language codes, and voice configurations across the frontend application.
6
+ *
7
+ * Language Code Standards:
8
+ * - ISO 639-1: 2-letter codes (e.g., 'en', 'es') - PRIMARY STANDARD
9
+ * - ISO 639-2: 3-letter codes (e.g., 'eng', 'spa') - for extended languages
10
+ * - BCP 47: Language tags with regions (e.g., 'en-US', 'pt-BR')
11
+ */
12
+ export type VoiceGender = 'male' | 'female' | 'neutral';
13
+ export type TTSSupport = 'excellent' | 'good' | 'moderate' | 'limited' | 'unknown' | 'n/a';
14
+ export type LanguageRegion = 'global' | 'europe' | 'asia' | 'south-asia' | 'mena' | 'africa' | 'caucasus' | 'central-asia' | 'constructed' | 'special' | 'other';
15
+ export interface LanguageMetadata {
16
+ name: string;
17
+ nativeName: string;
18
+ region: LanguageRegion;
19
+ ttsSupport: TTSSupport;
20
+ }
21
+ export interface LanguageOption {
22
+ code: string;
23
+ name: string;
24
+ nativeName: string;
25
+ ttsSupport: TTSSupport;
26
+ region: LanguageRegion;
27
+ }
28
+ export interface VoiceOption {
29
+ id: string;
30
+ name: string;
31
+ gender: VoiceGender;
32
+ provider: string;
33
+ language: string;
34
+ style?: string;
35
+ }
36
+ export interface VoiceSelectionPreference {
37
+ gender: VoiceGender;
38
+ voiceId?: string;
39
+ style?: string;
40
+ }
41
+ /**
42
+ * Voice configuration for translation
43
+ * Used in translation:subscribe and per-language voice settings
44
+ */
45
+ export interface TranslationVoiceConfig {
46
+ voiceGender?: VoiceGender;
47
+ voiceId?: string;
48
+ voiceClone?: {
49
+ provider: 'elevenlabs' | 'playht' | 'coqui';
50
+ voiceId: string;
51
+ stability?: number;
52
+ similarity?: number;
53
+ };
54
+ sttNickName?: string;
55
+ llmNickName?: string;
56
+ ttsNickName?: string;
57
+ sttParams?: Record<string, string | number | boolean>;
58
+ llmParams?: Record<string, string | number | boolean>;
59
+ ttsParams?: Record<string, string | number | boolean>;
60
+ }
61
+ /**
62
+ * Language entry with voice config override
63
+ */
64
+ export interface TranslationLanguageEntry {
65
+ code: string;
66
+ nickname?: string;
67
+ voiceConfig?: TranslationVoiceConfig;
68
+ }
69
+ /**
70
+ * Complete list of supported language codes (ISO 639-1 primarily)
71
+ */
72
+ export declare const SUPPORTED_LANGUAGE_CODES: string[];
73
+ /**
74
+ * Language metadata with display names and additional info
75
+ */
76
+ export declare const LANGUAGE_METADATA: Record<string, LanguageMetadata>;
77
+ export declare const VOICE_GENDERS: Record<string, VoiceGender>;
78
+ /**
79
+ * Default voice gender per language
80
+ */
81
+ export declare const DEFAULT_VOICE_GENDERS: Record<string, VoiceGender>;
82
+ /**
83
+ * Azure Neural Voice mappings by language and gender
84
+ */
85
+ export declare const AZURE_NEURAL_VOICES: Record<string, {
86
+ male: string[];
87
+ female: string[];
88
+ }>;
89
+ /**
90
+ * Google Cloud TTS voice mappings
91
+ */
92
+ export declare const GOOGLE_VOICES: Record<string, {
93
+ male: string[];
94
+ female: string[];
95
+ }>;
96
+ /**
97
+ * AWS Polly voice mappings
98
+ */
99
+ export declare const AWS_POLLY_VOICES: Record<string, {
100
+ male: string[];
101
+ female: string[];
102
+ neural?: {
103
+ male: string[];
104
+ female: string[];
105
+ };
106
+ }>;
107
+ /**
108
+ * Deepgram Aura voice mappings (multilingual)
109
+ */
110
+ export interface DeepgramVoice {
111
+ id: string;
112
+ name: string;
113
+ }
114
+ export declare const DEEPGRAM_VOICES: {
115
+ premade: {
116
+ male: DeepgramVoice[];
117
+ female: DeepgramVoice[];
118
+ };
119
+ };
120
+ /**
121
+ * OpenAI TTS voice mappings (multilingual)
122
+ */
123
+ export interface OpenAIVoice {
124
+ id: string;
125
+ name: string;
126
+ }
127
+ export declare const OPENAI_VOICES: {
128
+ premade: {
129
+ male: OpenAIVoice[];
130
+ female: OpenAIVoice[];
131
+ };
132
+ };
133
+ /**
134
+ * ElevenLabs pre-made voices (multilingual)
135
+ */
136
+ export interface ElevenLabsVoice {
137
+ id: string;
138
+ name: string;
139
+ }
140
+ export declare const ELEVENLABS_VOICES: {
141
+ premade: {
142
+ male: ElevenLabsVoice[];
143
+ female: ElevenLabsVoice[];
144
+ };
145
+ };
146
+ /**
147
+ * Cartesia Sonic voice mappings
148
+ */
149
+ export interface CartesiaVoice {
150
+ id: string;
151
+ name: string;
152
+ }
153
+ export declare const CARTESIA_VOICES: {
154
+ premade: {
155
+ male: CartesiaVoice[];
156
+ female: CartesiaVoice[];
157
+ };
158
+ };
159
+ /**
160
+ * Rime AI TTS voice mappings
161
+ * Documentation: https://rime.ai/docs/voices
162
+ */
163
+ export interface RimeVoice {
164
+ id: string;
165
+ name: string;
166
+ }
167
+ export declare const RIME_VOICES: {
168
+ premade: {
169
+ male: RimeVoice[];
170
+ female: RimeVoice[];
171
+ };
172
+ };
173
+ /**
174
+ * Kokoro TTS voice mappings (via Hugging Face)
175
+ * Open-source multilingual TTS
176
+ */
177
+ export interface KokoroVoice {
178
+ id: string;
179
+ name: string;
180
+ }
181
+ export declare const KOKORO_VOICES: {
182
+ premade: {
183
+ male: KokoroVoice[];
184
+ female: KokoroVoice[];
185
+ };
186
+ };
187
+ /**
188
+ * Google Gemini TTS voice mappings
189
+ */
190
+ export interface GeminiVoice {
191
+ id: string;
192
+ name: string;
193
+ }
194
+ export declare const GEMINI_VOICES: {
195
+ premade: {
196
+ male: GeminiVoice[];
197
+ female: GeminiVoice[];
198
+ };
199
+ };
200
+ /**
201
+ * Supported TTS providers
202
+ */
203
+ export type TTSProvider = 'deepgram' | 'openai' | 'azure' | 'google' | 'aws' | 'elevenlabs' | 'playht' | 'cartesia' | 'rime' | 'kokoro' | 'gemini' | 'assemblyai';
204
+ export declare const TTS_PROVIDERS: Record<TTSProvider, {
205
+ name: string;
206
+ supportsSSML: boolean;
207
+ multilingual?: boolean;
208
+ isDefault?: boolean;
209
+ }>;
210
+ /**
211
+ * Check if a language code is supported
212
+ */
213
+ export declare function isLanguageSupported(code: string): boolean;
214
+ /**
215
+ * Validate a language code format
216
+ */
217
+ export declare function isValidLanguageCode(code: string): boolean;
218
+ /**
219
+ * Normalize a language code to ISO 639-1 (2-letter) format
220
+ */
221
+ export declare function normalizeLanguageCode(code: string): string;
222
+ /**
223
+ * Get language display name
224
+ */
225
+ export declare function getLanguageName(code: string, displayLocale?: string): string;
226
+ /**
227
+ * Get native language name
228
+ */
229
+ export declare function getLanguageNativeName(code: string): string;
230
+ /**
231
+ * Quality levels for TTS support (ordered from best to worst)
232
+ */
233
+ export declare const QUALITY_LEVELS: TTSSupport[];
234
+ /**
235
+ * Minimum quality level for languages to be shown in UI
236
+ * Languages with ttsSupport below this level will be filtered out
237
+ * 'good' = only show 'excellent' and 'good' languages
238
+ */
239
+ export declare const MIN_QUALITY_LEVEL: TTSSupport;
240
+ /**
241
+ * Check if a quality level meets the minimum threshold
242
+ */
243
+ export declare function meetsQualityThreshold(quality: TTSSupport, minQuality?: TTSSupport): boolean;
244
+ /**
245
+ * Get all supported languages as array of objects
246
+ * @param displayLocale - Locale for display names
247
+ * @param filterByQuality - Whether to filter by MIN_QUALITY_LEVEL (default: true)
248
+ */
249
+ export declare function getSupportedLanguages(displayLocale?: string, filterByQuality?: boolean): LanguageOption[];
250
+ /**
251
+ * Get all languages without quality filtering (for admin/debug purposes)
252
+ */
253
+ export declare function getAllLanguages(displayLocale?: string): LanguageOption[];
254
+ /**
255
+ * Get languages by region (quality-filtered)
256
+ */
257
+ export declare function getLanguagesByRegion(region: LanguageRegion): LanguageOption[];
258
+ /**
259
+ * Get languages with good TTS support
260
+ * Note: getSupportedLanguages() already filters by quality, this is for explicit filtering
261
+ */
262
+ export declare function getLanguagesWithGoodTTS(): LanguageOption[];
263
+ /**
264
+ * Get default voice for a language and gender
265
+ * Supports multiple TTS providers - defaults to Deepgram
266
+ */
267
+ export declare function getDefaultVoice(langCode: string, gender?: VoiceGender, provider?: TTSProvider | string): string | null;
268
+ /**
269
+ * Get all available voices for a language
270
+ * Supports multiple TTS providers - defaults to Deepgram
271
+ */
272
+ export declare function getAvailableVoices(langCode: string, provider?: TTSProvider | string): {
273
+ male: (string | ElevenLabsVoice | DeepgramVoice | OpenAIVoice | CartesiaVoice | RimeVoice | KokoroVoice | GeminiVoice)[];
274
+ female: (string | ElevenLabsVoice | DeepgramVoice | OpenAIVoice | CartesiaVoice | RimeVoice | KokoroVoice | GeminiVoice)[];
275
+ };
276
+ /**
277
+ * Get the default voice gender for a language
278
+ */
279
+ export declare function getDefaultVoiceGender(langCode: string): VoiceGender;
280
+ /**
281
+ * Format voice option for display in dropdown
282
+ */
283
+ export declare function formatVoiceOption(voiceId: string): VoiceOption;
284
+ /**
285
+ * Clear voice cache (clears local static cache)
286
+ */
287
+ export declare function clearVoiceCache(provider?: string | null): void;
288
+ /**
289
+ * Set cache TTL
290
+ */
291
+ export declare function setVoiceCacheTTL(ttlMs: number): void;
292
+ /**
293
+ * Result from socket voice fetch
294
+ */
295
+ export interface SocketVoiceResponse {
296
+ provider: string;
297
+ language: string;
298
+ voices: {
299
+ male: VoiceOption[];
300
+ female: VoiceOption[];
301
+ };
302
+ providers?: Record<string, unknown>;
303
+ error?: string;
304
+ }
305
+ /**
306
+ * Fetch voices via socket connection (keeps API keys server-side)
307
+ *
308
+ * This is the ONLY method for frontend voice fetching as it:
309
+ * - Keeps TTS API keys on the server (security)
310
+ * - Uses cached results from server
311
+ * - Falls back to static lists if fetch fails
312
+ *
313
+ * The backend will use the room's/user's configured TTS credentials to fetch voices.
314
+ *
315
+ * @example
316
+ * ```typescript
317
+ * // In your React component
318
+ * const voices = await fetchVoicesViaSocket(socket, 'elevenlabs', 'en');
319
+ * console.log(voices.voices.male, voices.voices.female);
320
+ * ```
321
+ *
322
+ * @param socket - Socket.io socket instance
323
+ * @param provider - TTS provider name (e.g., 'deepgram', 'elevenlabs', 'openai')
324
+ * @param language - Language code (optional, default 'en')
325
+ * @returns Promise with voices
326
+ */
327
+ export declare function fetchVoicesViaSocket(socket: {
328
+ emit: (event: string, data: unknown, callback?: (response: SocketVoiceResponse) => void) => void;
329
+ }, provider?: TTSProvider | string, language?: string): Promise<SocketVoiceResponse>;
330
+ /**
331
+ * Fetch supported languages via socket
332
+ *
333
+ * @param socket - Socket.io socket instance
334
+ * @param displayLocale - Locale for display names (default 'en')
335
+ * @returns Promise with language options
336
+ */
337
+ export declare function fetchLanguagesViaSocket(socket: {
338
+ emit: (event: string, data: unknown, callback?: (response: {
339
+ languages: LanguageOption[];
340
+ }) => void) => void;
341
+ }, displayLocale?: string): Promise<LanguageOption[]>;
@@ -1,9 +1,6 @@
1
+ import type { LaunchWaitingOptions } from 'mediasfu-shared';
1
2
  import * as i0 from "@angular/core";
2
- export interface LaunchWaitingOptions {
3
- updateIsWaitingModalVisible: (visible: boolean) => void;
4
- isWaitingModalVisible: boolean;
5
- }
6
- export type LaunchWaitingType = (options: LaunchWaitingOptions) => void;
3
+ export type { LaunchWaitingOptions, LaunchWaitingType } from 'mediasfu-shared';
7
4
  /**
8
5
  * Service to toggle the visibility of a waiting modal.
9
6
  *
@@ -1,7 +1,8 @@
1
- import { Producer } from 'mediasoup-client/lib/types';
1
+ import { types } from 'mediasoup-client';
2
2
  import { ConnectSendTransportScreenType, CreateSendTransportType, DisconnectSendTransportScreenType, SleepType, CreateSendTransportParameters, DisconnectSendTransportScreenParameters, ConnectSendTransportScreenParameters } from '../../@types/types';
3
3
  import { Socket } from 'socket.io-client';
4
4
  import * as i0 from "@angular/core";
5
+ type Producer = types.Producer;
5
6
  export interface CaptureCanvasStreamParameters extends CreateSendTransportParameters, DisconnectSendTransportScreenParameters, ConnectSendTransportScreenParameters {
6
7
  canvasWhiteboard: HTMLCanvasElement | null;
7
8
  canvasStream: MediaStream | null;
@@ -77,3 +78,4 @@ export declare class CaptureCanvasStream {
77
78
  static ɵfac: i0.ɵɵFactoryDeclaration<CaptureCanvasStream, never>;
78
79
  static ɵprov: i0.ɵɵInjectableDeclaration<CaptureCanvasStream>;
79
80
  }
81
+ export {};
@@ -0,0 +1,40 @@
1
+ import { OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core';
2
+ import { type AlertPosition, type AlertTone } from '../../components/display-components/alert-component/alert.component.component';
3
+ import * as i0 from "@angular/core";
4
+ export interface ModernAlertComponentOptions {
5
+ visible: boolean;
6
+ message: string;
7
+ type: AlertTone;
8
+ duration?: number;
9
+ onHide?: () => void;
10
+ textColor?: string;
11
+ position?: AlertPosition;
12
+ isDarkMode?: boolean;
13
+ alertStyle?: Partial<CSSStyleDeclaration>;
14
+ customTemplate?: TemplateRef<any>;
15
+ }
16
+ export declare class ModernAlertComponent implements OnChanges, OnDestroy {
17
+ visible: boolean;
18
+ message: string;
19
+ type: AlertTone;
20
+ duration: number;
21
+ textColor: string;
22
+ position: AlertPosition;
23
+ isDarkMode?: boolean;
24
+ onHide?: () => void;
25
+ alertStyle?: Partial<CSSStyleDeclaration>;
26
+ customTemplate?: TemplateRef<any>;
27
+ alertType: AlertTone;
28
+ private hideTimeout?;
29
+ ngOnChanges(changes: SimpleChanges): void;
30
+ ngOnDestroy(): void;
31
+ handlePress(): void;
32
+ get alertLabel(): string;
33
+ get alertMeta(): string;
34
+ get alertIcon(): string;
35
+ get alertRole(): 'alert' | 'status';
36
+ get shellStyle(): Record<string, string>;
37
+ get resolvedIsDarkMode(): boolean;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModernAlertComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModernAlertComponent, "app-modern-alert-component", never, { "visible": { "alias": "visible"; "required": false; }; "message": { "alias": "message"; "required": false; }; "type": { "alias": "type"; "required": false; }; "duration": { "alias": "duration"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "position": { "alias": "position"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "onHide": { "alias": "onHide"; "required": false; }; "alertStyle": { "alias": "alertStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; }, {}, never, never, true, never>;
40
+ }
@@ -0,0 +1,37 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export interface ModernLoadingModalOptions {
4
+ isVisible: boolean;
5
+ backgroundColor?: string;
6
+ displayColor?: string;
7
+ isDarkMode?: boolean;
8
+ loadingText?: string;
9
+ showSpinner?: boolean;
10
+ overlayStyle?: Partial<CSSStyleDeclaration>;
11
+ contentStyle?: Partial<CSSStyleDeclaration>;
12
+ spinnerStyle?: Partial<CSSStyleDeclaration>;
13
+ textStyle?: Partial<CSSStyleDeclaration>;
14
+ customTemplate?: TemplateRef<any>;
15
+ }
16
+ type StyleMap = Record<string, string | number | null | undefined>;
17
+ export declare class ModernLoadingModalComponent {
18
+ isVisible: boolean;
19
+ backgroundColor?: string;
20
+ displayColor?: string;
21
+ isDarkMode?: boolean;
22
+ loadingText: string;
23
+ showSpinner: boolean;
24
+ overlayStyle?: Partial<CSSStyleDeclaration>;
25
+ contentStyle?: Partial<CSSStyleDeclaration>;
26
+ spinnerStyle?: Partial<CSSStyleDeclaration>;
27
+ textStyle?: Partial<CSSStyleDeclaration>;
28
+ customTemplate?: TemplateRef<any>;
29
+ get modalContainerStyle(): StyleMap;
30
+ get modalContentStyle(): StyleMap;
31
+ get spinnerContainerStyle(): StyleMap;
32
+ get loadingTextStyle(): StyleMap;
33
+ get resolvedIsDarkMode(): boolean;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModernLoadingModalComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModernLoadingModalComponent, "app-modern-loading-modal", never, { "isVisible": { "alias": "isVisible"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "displayColor": { "alias": "displayColor"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "showSpinner": { "alias": "showSpinner"; "required": false; }; "overlayStyle": { "alias": "overlayStyle"; "required": false; }; "contentStyle": { "alias": "contentStyle"; "required": false; }; "spinnerStyle": { "alias": "spinnerStyle"; "required": false; }; "textStyle": { "alias": "textStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; }, {}, never, never, true, never>;
36
+ }
37
+ export {};
@@ -0,0 +1,40 @@
1
+ import * as i0 from "@angular/core";
2
+ export interface ModernMeetingProgressTimerOptions {
3
+ meetingProgressTime: string;
4
+ initialBackgroundColor?: string;
5
+ position?: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
6
+ textStyle?: {
7
+ [key: string]: string | number;
8
+ };
9
+ showTimer?: boolean;
10
+ }
11
+ export type ModernMeetingProgressTimerType = (options: ModernMeetingProgressTimerOptions) => HTMLElement;
12
+ export declare class ModernMeetingProgressTimerComponent {
13
+ meetingProgressTime: string;
14
+ initialBackgroundColor: string;
15
+ position: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
16
+ textStyle: {
17
+ [key: string]: string | number;
18
+ };
19
+ showTimer: boolean;
20
+ readonly faClock: import("@fortawesome/fontawesome-common-types").IconDefinition;
21
+ get positionStyle(): {
22
+ [key: string]: string;
23
+ };
24
+ get badgeStyle(): {
25
+ [key: string]: string;
26
+ };
27
+ get iconToneClass(): string;
28
+ get badgeTitle(): string;
29
+ get ariaLabel(): string;
30
+ isRecordingState(): boolean;
31
+ private get resolvedTone();
32
+ private getAccentColor;
33
+ private getResolvedBackground;
34
+ private isCustomBackground;
35
+ private parseTimeInSeconds;
36
+ private normalizeColor;
37
+ private withAlpha;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<ModernMeetingProgressTimerComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModernMeetingProgressTimerComponent, "app-modern-meeting-progress-timer", never, { "meetingProgressTime": { "alias": "meetingProgressTime"; "required": false; }; "initialBackgroundColor": { "alias": "initialBackgroundColor"; "required": false; }; "position": { "alias": "position"; "required": false; }; "textStyle": { "alias": "textStyle"; "required": false; }; "showTimer": { "alias": "showTimer"; "required": false; }; }, {}, never, never, true, never>;
40
+ }