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
@@ -1,5 +1,10 @@
1
1
  import { Socket } from 'socket.io-client';
2
- import { Consumer, DtlsParameters, IceCandidate, IceParameters, RtpCapabilities } from 'mediasoup-client/lib/types';
2
+ import { types } from 'mediasoup-client';
3
+ type Consumer = types.Consumer;
4
+ type DtlsParameters = types.DtlsParameters;
5
+ type IceCandidate = types.IceCandidate;
6
+ type IceParameters = types.IceParameters;
7
+ type RtpCapabilities = types.RtpCapabilities;
3
8
  import { IconDefinition } from '@fortawesome/free-solid-svg-icons';
4
9
  import { CustomComponent } from '../components/display-components/control-buttons-component/control-buttons-component.component';
5
10
  import { CustomButton } from '../components/menu-components/custom-buttons/custom-buttons.component';
@@ -199,6 +204,7 @@ export * from '../components/misc-components/confirm-here-modal/confirm-here-mod
199
204
  export * from '../components/misc-components/pre-join-page/pre-join-page.component';
200
205
  export * from '../components/misc-components/share-event-modal/share-event-modal.component';
201
206
  export * from '../components/misc-components/welcome-page/welcome-page.component';
207
+ export * from '../components/translation-components/translation-settings-modal/translation-settings-modal.component';
202
208
  export * from '../components/participants-components/participants-modal/participants-modal.component';
203
209
  export * from '../components/polls-components/poll-modal/poll-modal.component';
204
210
  export * from '../components/recording-components/recording-modal/recording-modal.component';
@@ -280,10 +286,13 @@ export interface AudioDecibels {
280
286
  name: string;
281
287
  averageLoudness: number;
282
288
  }
289
+ export type AlertType = 'success' | 'danger' | 'info' | 'warning';
290
+ export type AlertPosition = 'top' | 'bottom' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center';
283
291
  export type ShowAlert = (options: {
284
292
  message: string;
285
- type: 'success' | 'danger';
293
+ type: AlertType;
286
294
  duration?: number;
295
+ position?: AlertPosition;
287
296
  }) => void;
288
297
  export interface CoHostResponsibility {
289
298
  name: string;
@@ -681,3 +690,20 @@ export type CreateWebRTCTransportResponse = {
681
690
  error?: string;
682
691
  };
683
692
  export * from './custom-component.types';
693
+ export * from '../methods/panelists-methods/add-panelist.service';
694
+ export * from '../methods/panelists-methods/remove-panelist.service';
695
+ export * from '../methods/panelists-methods/focus-panelists.service';
696
+ export * from '../methods/permissions-methods/update-participant-permission.service';
697
+ export * from '../methods/permissions-methods/bulk-update-participant-permissions.service';
698
+ export * from '../methods/permissions-methods/update-permission-config.service';
699
+ export * from '../consumers/translation-consumer-switch.service';
700
+ export * from '../methods/utils/translation-languages.util';
701
+ export * from '../services/live-subtitle.service';
702
+ export * from '../producers/socket-receive-methods/panelists-updated.service';
703
+ export * from '../producers/socket-receive-methods/panelist-focus-changed.service';
704
+ export * from '../producers/socket-receive-methods/receive-control-media.service';
705
+ export * from '../producers/socket-receive-methods/added-as-panelist.service';
706
+ export * from '../producers/socket-receive-methods/removed-from-panelists.service';
707
+ export * from '../producers/socket-receive-methods/permission-updated.service';
708
+ export * from '../producers/socket-receive-methods/permission-config-updated.service';
709
+ export * from '../producers/socket-receive-methods/translation-receive-methods.service';
@@ -0,0 +1,314 @@
1
+ /**
2
+ * MediaSFU UI Overrides - Angular Implementation
3
+ *
4
+ * This file provides TypeScript interfaces for the UI override system,
5
+ * mirroring the React SDK's customization capabilities.
6
+ *
7
+ * The override system allows three customization strategies:
8
+ * 1. Component overrides - Replace entire components with custom Angular components
9
+ * 2. Render overrides - Wrap or enhance existing component rendering
10
+ * 3. Function overrides - Replace or wrap helper functions with custom logic
11
+ */
12
+ import { Type, InjectionToken, TemplateRef } from '@angular/core';
13
+ /**
14
+ * Base interface for component overrides
15
+ * Allows replacing a component or wrapping its render output
16
+ */
17
+ export interface CustomComponentOverride<TComponent = any, TProps = any> {
18
+ /**
19
+ * Replace the component entirely with a custom Angular component
20
+ */
21
+ component?: Type<TComponent>;
22
+ /**
23
+ * Wrap or enhance the default render output
24
+ * @param props - Props passed to the component
25
+ * @param defaultRender - Function that returns the default component
26
+ */
27
+ render?: (props: TProps, defaultRender?: () => any) => TemplateRef<any> | Type<any>;
28
+ }
29
+ /**
30
+ * Base interface for function overrides
31
+ * Allows replacing a function or wrapping its execution
32
+ */
33
+ export interface CustomFunctionOverride<TFunction extends (...args: any[]) => any> {
34
+ /**
35
+ * Completely replace the function implementation
36
+ */
37
+ implementation?: TFunction;
38
+ /**
39
+ * Wrap the original function to add pre/post logic
40
+ * @param original - The original function implementation
41
+ * @returns Wrapped function with custom logic
42
+ */
43
+ wrap?: (original: TFunction) => TFunction;
44
+ }
45
+ /**
46
+ * Main UI Overrides interface
47
+ * Contains all customizable components and functions in MediaSFU
48
+ */
49
+ export interface MediasfuUICustomOverrides {
50
+ /**
51
+ * Main container component - Root wrapper for the entire UI
52
+ */
53
+ mainContainer?: CustomComponentOverride;
54
+ /**
55
+ * Main aspect component - Controls aspect ratio and layout
56
+ */
57
+ mainAspect?: CustomComponentOverride;
58
+ /**
59
+ * Main screen component - Primary video/content display area
60
+ */
61
+ mainScreen?: CustomComponentOverride;
62
+ /**
63
+ * Main grid component - Grid layout for participants
64
+ */
65
+ mainGrid?: CustomComponentOverride;
66
+ /**
67
+ * Sub aspect component - Secondary layout container
68
+ */
69
+ subAspect?: CustomComponentOverride;
70
+ /**
71
+ * Other grid component - Additional participant grid
72
+ */
73
+ otherGrid?: CustomComponentOverride;
74
+ /**
75
+ * Flexible grid component - Dynamic participant grid
76
+ */
77
+ flexibleGrid?: CustomComponentOverride;
78
+ /**
79
+ * Alternative flexible grid component
80
+ */
81
+ flexibleGridAlt?: CustomComponentOverride;
82
+ /**
83
+ * Flexible video component - Individual video display
84
+ */
85
+ flexibleVideo?: CustomComponentOverride;
86
+ /**
87
+ * Audio grid component - Grid for audio-only participants
88
+ */
89
+ audioGrid?: CustomComponentOverride;
90
+ /**
91
+ * Pagination component - Page navigation controls
92
+ */
93
+ pagination?: CustomComponentOverride;
94
+ /**
95
+ * Primary control buttons component
96
+ */
97
+ controlButtons?: CustomComponentOverride;
98
+ /**
99
+ * Alternative control buttons component
100
+ */
101
+ controlButtonsAlt?: CustomComponentOverride;
102
+ /**
103
+ * Touch-optimized control buttons component
104
+ */
105
+ controlButtonsTouch?: CustomComponentOverride;
106
+ /**
107
+ * Video card component - Individual video participant display
108
+ */
109
+ videoCard?: CustomComponentOverride;
110
+ /**
111
+ * Audio card component - Individual audio-only participant display
112
+ */
113
+ audioCard?: CustomComponentOverride;
114
+ /**
115
+ * Mini card component - Minimized participant display
116
+ */
117
+ miniCard?: CustomComponentOverride;
118
+ /**
119
+ * Mini audio component - Minimized audio indicator
120
+ */
121
+ miniAudio?: CustomComponentOverride;
122
+ /**
123
+ * Meeting progress timer widget
124
+ */
125
+ meetingProgressTimer?: CustomComponentOverride;
126
+ /**
127
+ * Mini audio player widget
128
+ */
129
+ miniAudioPlayer?: CustomComponentOverride;
130
+ /**
131
+ * Loading modal - Displayed during connection/loading
132
+ */
133
+ loadingModal?: CustomComponentOverride;
134
+ /**
135
+ * Alert component - System notifications and alerts
136
+ */
137
+ alert?: CustomComponentOverride;
138
+ /**
139
+ * Menu modal - Quick actions menu
140
+ */
141
+ menuModal?: CustomComponentOverride;
142
+ /**
143
+ * Event settings modal - Host controls and settings
144
+ */
145
+ eventSettingsModal?: CustomComponentOverride;
146
+ /**
147
+ * Requests modal - Media access requests
148
+ */
149
+ requestsModal?: CustomComponentOverride;
150
+ /**
151
+ * Waiting room modal - Participant admission queue
152
+ */
153
+ waitingRoomModal?: CustomComponentOverride;
154
+ /**
155
+ * Co-host modal - Co-host management
156
+ */
157
+ coHostModal?: CustomComponentOverride;
158
+ /**
159
+ * Media settings modal - Camera/microphone settings
160
+ */
161
+ mediaSettingsModal?: CustomComponentOverride;
162
+ /**
163
+ * Participants modal - Participant list and management
164
+ */
165
+ participantsModal?: CustomComponentOverride;
166
+ /**
167
+ * Messages modal - Chat interface
168
+ */
169
+ messagesModal?: CustomComponentOverride;
170
+ /**
171
+ * Display settings modal - Layout and display preferences
172
+ */
173
+ displaySettingsModal?: CustomComponentOverride;
174
+ /**
175
+ * Translation settings modal - Spoken/listening translation controls
176
+ */
177
+ translationSettingsModal?: CustomComponentOverride;
178
+ /**
179
+ * Confirm exit modal - Exit confirmation dialog
180
+ */
181
+ confirmExitModal?: CustomComponentOverride;
182
+ /**
183
+ * Confirm here modal - Attendance confirmation
184
+ */
185
+ confirmHereModal?: CustomComponentOverride;
186
+ /**
187
+ * Share event modal - Event sharing interface
188
+ */
189
+ shareEventModal?: CustomComponentOverride;
190
+ /**
191
+ * Recording modal - Recording controls
192
+ */
193
+ recordingModal?: CustomComponentOverride;
194
+ /**
195
+ * Poll modal - Polling interface
196
+ */
197
+ pollModal?: CustomComponentOverride;
198
+ /**
199
+ * Background modal - Virtual background settings
200
+ */
201
+ backgroundModal?: CustomComponentOverride;
202
+ /**
203
+ * Breakout rooms modal - Breakout room management
204
+ */
205
+ breakoutRoomsModal?: CustomComponentOverride;
206
+ /**
207
+ * Configure whiteboard modal - Whiteboard settings
208
+ */
209
+ configureWhiteboardModal?: CustomComponentOverride;
210
+ /**
211
+ * Whiteboard component - Collaborative whiteboard
212
+ */
213
+ whiteboard?: CustomComponentOverride;
214
+ /**
215
+ * Screenboard component - Screen annotation layer
216
+ */
217
+ screenboard?: CustomComponentOverride;
218
+ /**
219
+ * Screenboard modal - Screen sharing annotation controls
220
+ */
221
+ screenboardModal?: CustomComponentOverride;
222
+ /**
223
+ * Welcome page - Pre-join welcome/marketing page
224
+ */
225
+ welcomePage?: CustomComponentOverride;
226
+ /**
227
+ * Pre-join page - Room entry wizard
228
+ */
229
+ preJoinPage?: CustomComponentOverride;
230
+ /**
231
+ * Custom menu buttons renderer - Custom button group renderer
232
+ */
233
+ customMenuButtonsRenderer?: CustomComponentOverride;
234
+ /**
235
+ * Consumer resume function - Handles resuming paused media consumers
236
+ */
237
+ consumerResume?: CustomFunctionOverride<(params: any) => Promise<void>>;
238
+ /**
239
+ * Add videos grid function - Handles adding videos to the grid layout
240
+ */
241
+ addVideosGrid?: CustomFunctionOverride<(params: any) => Promise<void>>;
242
+ /**
243
+ * Prepopulate user media function - Handles initial setup of user media streams
244
+ */
245
+ prepopulateUserMedia?: CustomFunctionOverride<(params: any) => Promise<any>>;
246
+ }
247
+ /**
248
+ * Injection token for UI overrides
249
+ * Use this token to provide overrides at the component or module level
250
+ */
251
+ export declare const MEDIASFU_UI_OVERRIDES: InjectionToken<MediasfuUICustomOverrides>;
252
+ /**
253
+ * Injection token for container styling
254
+ * Allows injecting custom styles for the root container
255
+ */
256
+ export declare const MEDIASFU_CONTAINER_STYLE: InjectionToken<Record<string, any>>;
257
+ /**
258
+ * Props structure for custom video card components
259
+ */
260
+ export interface CustomVideoCardProps {
261
+ participant: any;
262
+ showControls?: boolean;
263
+ showInfo?: boolean;
264
+ customStyle?: Record<string, any>;
265
+ parameters?: any;
266
+ }
267
+ /**
268
+ * Type definition for custom video card component
269
+ */
270
+ export type CustomVideoCardType = Type<any>;
271
+ /**
272
+ * Props structure for custom audio card components
273
+ */
274
+ export interface CustomAudioCardProps {
275
+ participant: any;
276
+ showControls?: boolean;
277
+ showInfo?: boolean;
278
+ barColor?: string;
279
+ customStyle?: Record<string, any>;
280
+ parameters?: any;
281
+ }
282
+ /**
283
+ * Type definition for custom audio card component
284
+ */
285
+ export type CustomAudioCardType = Type<any>;
286
+ /**
287
+ * Props structure for custom mini card components
288
+ */
289
+ export interface CustomMiniCardProps {
290
+ participant: any;
291
+ showControls?: boolean;
292
+ customStyle?: Record<string, any>;
293
+ parameters?: any;
294
+ }
295
+ /**
296
+ * Type definition for custom mini card component
297
+ */
298
+ export type CustomMiniCardType = Type<any>;
299
+ /**
300
+ * Type definition for custom component that replaces entire UI
301
+ */
302
+ export type CustomFullComponentType = Type<any>;
303
+ /**
304
+ * Helper type for component override props
305
+ */
306
+ export type OverrideComponentProps<T = any> = T;
307
+ /**
308
+ * Helper type for extracting component type from override
309
+ */
310
+ export type ExtractComponentType<T> = T extends CustomComponentOverride<infer C> ? C : never;
311
+ /**
312
+ * Helper type for extracting props type from override
313
+ */
314
+ export type ExtractPropsType<T> = T extends CustomComponentOverride<any, infer P> ? P : never;