mediasfu-angular 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/README.md +678 -578
  2. package/dist/README.md +677 -578
  3. package/dist/fesm2022/mediasfu-angular.mjs +5551 -2944
  4. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  5. package/dist/lib/@types/types.d.ts +22 -1
  6. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +1 -0
  7. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +153 -61
  8. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +154 -66
  9. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +190 -76
  10. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +184 -70
  11. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +192 -78
  12. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +6 -1
  13. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +5 -2
  14. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +4 -2
  15. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +71 -66
  16. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +5 -1
  17. package/dist/lib/consumers/connect-local-ips.service.d.ts +81 -0
  18. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +43 -11
  19. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +87 -46
  20. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +89 -43
  21. package/dist/lib/consumers/connect-send-transport.service.d.ts +5 -1
  22. package/dist/lib/consumers/create-send-transport.service.d.ts +130 -40
  23. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +77 -40
  24. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +48 -14
  25. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +81 -44
  26. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +5 -1
  27. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +5 -1
  28. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +54 -21
  29. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +124 -40
  30. package/dist/lib/consumers/trigger.service.d.ts +3 -0
  31. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +5 -1
  32. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +3 -0
  33. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +4 -1
  34. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +3 -0
  35. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +3 -0
  36. package/dist/lib/methods/utils/check-limits-and-make-request.service.d.ts +23 -0
  37. package/dist/lib/methods/utils/create-response-join-room.util.d.ts +33 -0
  38. package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +25 -0
  39. package/dist/lib/methods/utils/initial-values.util.d.ts +6 -0
  40. package/dist/lib/methods/utils/join-room-on-media-sfu.service.d.ts +52 -0
  41. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +37 -20
  42. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +125 -0
  43. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +7 -2
  44. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +7 -2
  45. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +5 -1
  46. package/dist/lib/sockets/socket-manager.service.d.ts +90 -0
  47. package/dist/public-api.d.ts +11 -1
  48. package/package.json +17 -20
  49. package/dist/esm2022/lib/@types/types.mjs +0 -2
  50. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +0 -799
  51. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +0 -366
  52. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +0 -143
  53. package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +0 -40
  54. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +0 -245
  55. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +0 -79
  56. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +0 -356
  57. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +0 -80
  58. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +0 -129
  59. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +0 -138
  60. package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +0 -231
  61. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +0 -282
  62. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +0 -82
  63. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +0 -65
  64. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +0 -137
  65. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +0 -137
  66. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +0 -51
  67. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +0 -101
  68. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +0 -151
  69. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +0 -250
  70. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +0 -102
  71. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +0 -140
  72. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +0 -131
  73. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +0 -120
  74. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +0 -201
  75. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +0 -115
  76. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +0 -319
  77. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +0 -161
  78. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +0 -230
  79. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +0 -126
  80. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +0 -334
  81. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +0 -112
  82. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +0 -392
  83. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +0 -106
  84. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +0 -199
  85. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +0 -132
  86. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +0 -220
  87. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +0 -4238
  88. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +0 -3754
  89. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +0 -5071
  90. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +0 -5380
  91. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +0 -5068
  92. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +0 -83
  93. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +0 -27
  94. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +0 -27
  95. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +0 -125
  96. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +0 -106
  97. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +0 -228
  98. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +0 -277
  99. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +0 -130
  100. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +0 -343
  101. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +0 -127
  102. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +0 -241
  103. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +0 -82
  104. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +0 -139
  105. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +0 -40
  106. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +0 -60
  107. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +0 -124
  108. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +0 -201
  109. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +0 -92
  110. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +0 -133
  111. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +0 -90
  112. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +0 -81
  113. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +0 -147
  114. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +0 -627
  115. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +0 -391
  116. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +0 -201
  117. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +0 -286
  118. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +0 -1833
  119. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +0 -345
  120. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +0 -109
  121. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +0 -60
  122. package/dist/esm2022/lib/consumers/change-vids.service.mjs +0 -551
  123. package/dist/esm2022/lib/consumers/check-grid.service.mjs +0 -93
  124. package/dist/esm2022/lib/consumers/check-permission.service.mjs +0 -105
  125. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +0 -106
  126. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +0 -331
  127. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +0 -106
  128. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +0 -98
  129. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +0 -154
  130. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +0 -146
  131. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +0 -84
  132. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +0 -102
  133. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +0 -99
  134. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +0 -140
  135. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +0 -368
  136. package/dist/esm2022/lib/consumers/control-media.service.mjs +0 -113
  137. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +0 -172
  138. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +0 -108
  139. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +0 -84
  140. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +0 -101
  141. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +0 -513
  142. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +0 -106
  143. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +0 -120
  144. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +0 -82
  145. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +0 -79
  146. package/dist/esm2022/lib/consumers/get-videos.service.mjs +0 -91
  147. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +0 -95
  148. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +0 -103
  149. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +0 -541
  150. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +0 -101
  151. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +0 -128
  152. package/dist/esm2022/lib/consumers/re-port.service.mjs +0 -114
  153. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +0 -239
  154. package/dist/esm2022/lib/consumers/readjust.service.mjs +0 -173
  155. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +0 -87
  156. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +0 -69
  157. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +0 -239
  158. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +0 -101
  159. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +0 -150
  160. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +0 -103
  161. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +0 -91
  162. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +0 -136
  163. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +0 -96
  164. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +0 -100
  165. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +0 -78
  166. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +0 -120
  167. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +0 -175
  168. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +0 -185
  169. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +0 -210
  170. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +0 -193
  171. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +0 -260
  172. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +0 -120
  173. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +0 -260
  174. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +0 -172
  175. package/dist/esm2022/lib/consumers/trigger.service.mjs +0 -210
  176. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +0 -135
  177. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +0 -84
  178. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +0 -48
  179. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +0 -183
  180. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +0 -46
  181. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +0 -46
  182. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +0 -104
  183. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +0 -46
  184. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +0 -194
  185. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +0 -52
  186. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +0 -42
  187. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +0 -85
  188. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +0 -44
  189. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +0 -45
  190. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +0 -143
  191. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +0 -47
  192. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +0 -98
  193. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +0 -96
  194. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +0 -107
  195. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +0 -75
  196. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +0 -72
  197. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +0 -83
  198. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +0 -43
  199. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +0 -95
  200. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +0 -69
  201. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +0 -56
  202. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +0 -278
  203. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +0 -125
  204. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +0 -67
  205. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +0 -130
  206. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +0 -134
  207. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +0 -80
  208. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +0 -197
  209. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +0 -112
  210. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +0 -272
  211. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +0 -51
  212. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +0 -84
  213. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +0 -51
  214. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +0 -109
  215. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +0 -275
  216. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +0 -75
  217. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +0 -178
  218. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +0 -271
  219. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +0 -80
  220. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +0 -116
  221. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +0 -132
  222. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +0 -57
  223. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +0 -120
  224. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +0 -126
  225. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +0 -78
  226. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +0 -90
  227. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +0 -59
  228. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +0 -32
  229. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +0 -31
  230. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +0 -379
  231. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +0 -96
  232. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +0 -315
  233. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +0 -58
  234. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +0 -87
  235. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +0 -61
  236. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +0 -87
  237. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +0 -84
  238. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +0 -17
  239. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +0 -63
  240. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +0 -49
  241. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +0 -41
  242. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +0 -69
  243. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +0 -98
  244. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +0 -44
  245. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +0 -74
  246. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +0 -96
  247. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +0 -276
  248. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +0 -152
  249. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +0 -152
  250. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +0 -228
  251. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +0 -218
  252. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +0 -57
  253. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +0 -76
  254. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +0 -183
  255. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +0 -50
  256. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +0 -64
  257. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +0 -78
  258. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +0 -150
  259. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +0 -73
  260. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +0 -47
  261. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +0 -63
  262. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +0 -63
  263. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +0 -54
  264. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +0 -129
  265. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +0 -152
  266. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +0 -99
  267. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +0 -67
  268. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +0 -134
  269. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +0 -233
  270. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +0 -121
  271. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +0 -86
  272. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +0 -60
  273. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +0 -62
  274. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +0 -57
  275. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +0 -105
  276. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +0 -66
  277. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +0 -96
  278. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +0 -52
  279. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +0 -113
  280. package/dist/esm2022/mediasfu-angular.mjs +0 -5
  281. package/dist/esm2022/public-api.mjs +0 -187
@@ -0,0 +1,52 @@
1
+ import * as i0 from "@angular/core";
2
+ export type CreateJoinRoomType = (options: {
3
+ payload: any;
4
+ apiUserName: string;
5
+ apiKey: string;
6
+ }) => Promise<{
7
+ data: CreateJoinRoomResponse | CreateJoinRoomError | null;
8
+ success: boolean;
9
+ }>;
10
+ export type CreateRoomOnMediaSFUType = (options: {
11
+ payload: any;
12
+ apiUserName: string;
13
+ apiKey: string;
14
+ }) => Promise<{
15
+ data: CreateJoinRoomResponse | CreateJoinRoomError | null;
16
+ success: boolean;
17
+ }>;
18
+ export interface CreateJoinRoomResponse {
19
+ message: string;
20
+ roomName: string;
21
+ secureCode?: string;
22
+ publicURL: string;
23
+ link: string;
24
+ secret: string;
25
+ success: boolean;
26
+ }
27
+ export interface CreateJoinRoomError {
28
+ error: string;
29
+ success?: boolean;
30
+ }
31
+ export declare class JoinRoomOnMediaSFU {
32
+ private readonly API_URL;
33
+ constructor();
34
+ /**
35
+ * Joins a room on MediaSFU.
36
+ *
37
+ * @param payload - The payload for the API request.
38
+ * @param apiUserName - The API username.
39
+ * @param apiKey - The API key.
40
+ * @returns The API response.
41
+ */
42
+ joinRoomOnMediaSFU({ payload, apiUserName, apiKey, }: {
43
+ payload: any;
44
+ apiUserName: string;
45
+ apiKey: string;
46
+ }): Promise<{
47
+ data: CreateJoinRoomResponse | CreateJoinRoomError | null;
48
+ success: boolean;
49
+ }>;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<JoinRoomOnMediaSFU, never>;
51
+ static ɵprov: i0.ɵɵInjectableDeclaration<JoinRoomOnMediaSFU>;
52
+ }
@@ -1,13 +1,18 @@
1
1
  import { Producer } from 'mediasoup-client/lib/types';
2
2
  import { ConnectSendTransportScreenType, CreateSendTransportType, DisconnectSendTransportScreenType, SleepType, CreateSendTransportParameters, DisconnectSendTransportScreenParameters, ConnectSendTransportScreenParameters } from '../../@types/types';
3
+ import { Socket } from 'socket.io-client';
3
4
  import * as i0 from "@angular/core";
4
5
  export interface CaptureCanvasStreamParameters extends CreateSendTransportParameters, DisconnectSendTransportScreenParameters, ConnectSendTransportScreenParameters {
5
6
  canvasWhiteboard: HTMLCanvasElement | null;
6
7
  canvasStream: MediaStream | null;
7
8
  updateCanvasStream: (stream: MediaStream | null) => void;
8
9
  screenProducer: Producer | null;
10
+ localScreenProducer?: Producer | null;
9
11
  transportCreated: boolean;
12
+ localTransportCreated?: boolean;
13
+ localSocket?: Socket;
10
14
  updateScreenProducer: (producer: Producer | null) => void;
15
+ updateLocalScreenProducer?: (localProducer: Producer | null) => void;
11
16
  sleep: SleepType;
12
17
  createSendTransport: CreateSendTransportType;
13
18
  connectSendTransportScreen: ConnectSendTransportScreenType;
@@ -21,33 +26,45 @@ export interface CaptureCanvasStreamOptions {
21
26
  }
22
27
  export type CaptureCanvasStreamType = (options: CaptureCanvasStreamOptions) => Promise<void>;
23
28
  /**
24
- * Manages capturing and streaming from a canvas element.
29
+ * Captures the canvas stream and handles the transport connection for screen sharing.
25
30
  *
26
- * @param {CaptureCanvasStreamOptions} options - Options to control canvas streaming.
27
- * @param {CaptureCanvasStreamParameters} options.parameters - Object containing media settings and state management functions.
28
- * @param {boolean} [options.start=true] - If `true`, initiates canvas capture; if `false`, stops the capture.
29
- * @returns {Promise<void>} A promise that resolves once the canvas stream has started or stopped.
30
- *
31
- * The function first checks the availability of `canvasWhiteboard` to capture the canvas stream. If unavailable, it attempts multiple times until a timeout. If successful:
32
- * - It starts the canvas capture, creating or reconnecting the transport for streaming.
33
- * - If stopping, it disconnects the transport and halts the stream.
31
+ * @param {CaptureCanvasStreamOptions} options - The options for capturing the canvas stream.
32
+ * @param {Object} options.parameters - The parameters required for capturing and managing the canvas stream.
33
+ * @param {HTMLCanvasElement} options.parameters.canvasWhiteboard - The canvas element to capture the stream from.
34
+ * @param {MediaStream} [options.parameters.canvasStream] - The current canvas stream, if any.
35
+ * @param {Function} options.parameters.updateCanvasStream - Function to update the canvas stream state.
36
+ * @param {Producer | null} [options.parameters.screenProducer] - The current screen producer, if any.
37
+ * @param {Producer | null} [options.parameters.localScreenProducer] - The current local screen producer, if any.
38
+ * @param {boolean} [options.parameters.transportCreated] - Flag indicating if the transport has been created.
39
+ * @param {boolean} [options.parameters.localTransportCreated] - Flag indicating if the local transport has been created.
40
+ * @param {Socket} [options.parameters.localSocket] - The local socket instance used for communication.
41
+ * @param {Function} options.parameters.updateScreenProducer - Function to update the screen producer state.
42
+ * @param {Function} options.parameters.updateLocalScreenProducer - Function to update the local screen producer state.
43
+ * @param {Function} options.parameters.sleep - Function to pause execution for a specified duration.
44
+ * @param {Function} options.parameters.createSendTransport - Function to create a send transport for the screen.
45
+ * @param {Function} options.parameters.connectSendTransportScreen - Function to connect the send transport for the screen.
46
+ * @param {Function} options.parameters.disconnectSendTransportScreen - Function to disconnect the send transport for the screen.
47
+ * @param {boolean} [start=true] - Flag indicating whether to start or stop the canvas stream.
48
+ * @returns {Promise<void>} A promise that resolves when the operation is complete.
34
49
  *
35
50
  * @example
36
51
  * ```typescript
37
- * const captureService = new CaptureCanvasStream();
38
- * captureService.captureCanvasStream({
52
+ * const canvasElement = document.querySelector('#canvas') as HTMLCanvasElement;
53
+ * const options = {
39
54
  * parameters: {
40
- * canvasWhiteboard: document.getElementById('myCanvas') as HTMLCanvasElement,
41
- * updateCanvasStream: (stream) => console.log('Canvas Stream:', stream),
42
- * screenProducer: null,
43
- * transportCreated: false,
44
- * // other required parameters...
55
+ * canvasWhiteboard: canvasElement,
56
+ * updateCanvasStream: (stream) => console.log("Canvas Stream Updated:", stream),
57
+ * updateScreenProducer: (producer) => console.log("Screen Producer Updated:", producer),
58
+ * updateLocalScreenProducer: (localProducer) => console.log("Local Screen Producer Updated:", localProducer),
59
+ * createSendTransport: async (params) => console.log("Transport created with", params),
60
+ * connectSendTransportScreen: async (options) => console.log("Transport connected with", options),
61
+ * disconnectSendTransportScreen: async (params) => console.log("Transport disconnected with", params),
62
+ * sleep: ({ ms }) => new Promise(resolve => setTimeout(resolve, ms)),
45
63
  * },
46
- * start: true
47
- * });
64
+ * start: true,
65
+ * };
66
+ * await captureCanvasStream(options);
48
67
  * ```
49
- *
50
- * This example initiates a capture of `myCanvas`, updating the canvas stream upon successful connection.
51
68
  */
52
69
  export declare class CaptureCanvasStream {
53
70
  /**
@@ -0,0 +1,125 @@
1
+ import { Socket } from 'socket.io-client';
2
+ import { ValidateAlphanumeric } from '../../methods/utils/validate-alphanumeric.service';
3
+ import { ResponseJoinLocalRoom, PreJoinPageParameters } from '../../@types/types';
4
+ import { CheckLimitsAndMakeRequest } from '../../methods/utils/check-limits-and-make-request.service';
5
+ import { JoinRoomOnMediaSFU } from '../../methods/utils/join-room-on-media-sfu.service';
6
+ import * as i0 from "@angular/core";
7
+ export interface JoinLocalRoomOptions {
8
+ socket: Socket;
9
+ roomName: string;
10
+ islevel: string;
11
+ member: string;
12
+ sec: string;
13
+ apiUserName: string;
14
+ parameters: PreJoinPageParameters;
15
+ checkConnect?: boolean;
16
+ }
17
+ export type JoinLocalRoomType = (options: JoinLocalRoomOptions) => Promise<ResponseJoinLocalRoom>;
18
+ export interface CheckMediasfuURLOptions {
19
+ data: ResponseJoinLocalRoom;
20
+ member: string;
21
+ roomName: string;
22
+ islevel: string;
23
+ socket: Socket;
24
+ parameters: PreJoinPageParameters;
25
+ }
26
+ export type CheckMediasfuURLType = (options: CheckMediasfuURLOptions) => Promise<void>;
27
+ /**
28
+ * Checks the MediaSFU URL and processes the necessary actions based on the URL's validity.
29
+ *
30
+ * @param {CheckMediasfuURLOptions} options - The options for checking and handling the MediaSFU URL.
31
+ * @param {ResponseJoinLocalRoom} options.data - The data received from the room join response.
32
+ * @param {string} options.member - The member identifier.
33
+ * @param {string} options.roomName - The name of the room to join.
34
+ * @param {string} options.islevel - The level of the user.
35
+ * @param {Socket} options.socket - The socket instance to use for communication.
36
+ * @param {PreJoinPageParameters} options.parameters - Additional parameters for pre-join page actions.
37
+ *
38
+ * @returns {Promise<void>} A promise that resolves when the actions are complete.
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const options = {
43
+ * data: {
44
+ * mediasfuURL: "https://example.com/meet/room123/secret",
45
+ * allowRecord: true,
46
+ * apiKey: "1234567890123456789012345678901234567890123456789012345678901234",
47
+ * apiUserName: "user123",
48
+ * },
49
+ * member: "user123",
50
+ * roomName: "s12345678",
51
+ * islevel: "1",
52
+ * socket: socketInstance,
53
+ * parameters: {
54
+ * someParameter: "value",
55
+ * },
56
+ * };
57
+ *
58
+ * try {
59
+ * await checkMediasfuURL(options);
60
+ * console.log("MediaSFU URL processed successfully.");
61
+ * } catch (error) {
62
+ * console.error("Failed to process MediaSFU URL:", error);
63
+ * }
64
+ * ```
65
+ */
66
+ export declare class JoinLocalRoom {
67
+ private validateAlphanumericService;
68
+ private checkLimitsService;
69
+ private joinRoomOnMediaSFU;
70
+ constructor(validateAlphanumericService: ValidateAlphanumeric, checkLimitsService: CheckLimitsAndMakeRequest, joinRoomOnMediaSFU: JoinRoomOnMediaSFU);
71
+ /**
72
+ * Checks the MediaSFU URL and processes the necessary actions based on the URL's validity.
73
+ *
74
+ * @param {CheckMediasfuURLOptions} options - The options for checking and handling the MediaSFU URL.
75
+ * @param {ResponseJoinLocalRoom} options.data - The data received from the room join response.
76
+ * @param {string} options.member - The member identifier.
77
+ * @param {string} options.roomName - The name of the room to join.
78
+ * @param {string} options.islevel - The level of the user.
79
+ * @param {Socket} options.socket - The socket instance to use for communication.
80
+ * @param {PreJoinPageParameters} options.parameters - Additional parameters for pre-join page actions.
81
+ *
82
+ * @returns {Promise<void>} A promise that resolves when the actions are complete.
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * const options = {
87
+ * data: {
88
+ * mediasfuURL: "https://example.com/meet/room123/secret",
89
+ * allowRecord: true,
90
+ * apiKey: "1234567890123456789012345678901234567890123456789012345678901234",
91
+ * apiUserName: "user123",
92
+ * },
93
+ * member: "user123",
94
+ * roomName: "s12345678",
95
+ * islevel: "1",
96
+ * socket: socketInstance,
97
+ * parameters: {
98
+ * someParameter: "value",
99
+ * },
100
+ * };
101
+ *
102
+ * try {
103
+ * await checkMediasfuURL(options);
104
+ * console.log("MediaSFU URL processed successfully.");
105
+ * } catch (error) {
106
+ * console.error("Failed to process MediaSFU URL:", error);
107
+ * }
108
+ * ```
109
+ */
110
+ joinLocalRoom(options: JoinLocalRoomOptions): Promise<ResponseJoinLocalRoom>;
111
+ /**
112
+ * Checks the MediaSFU URL and processes necessary actions based on its validity.
113
+ *
114
+ * @param {Object} options - Contains:
115
+ * - `data`: Data received from the room join response.
116
+ * - `member`: User identifier.
117
+ * - `roomName`: Name of the room to join.
118
+ * - `islevel`: User's level indicator.
119
+ * - `socket`: Socket instance for communication.
120
+ * - `parameters`: Additional parameters for pre-join page actions.
121
+ */
122
+ private checkMediasfuURL;
123
+ static ɵfac: i0.ɵɵFactoryDeclaration<JoinLocalRoom, never>;
124
+ static ɵprov: i0.ɵɵInjectableDeclaration<JoinLocalRoom>;
125
+ }
@@ -1,6 +1,7 @@
1
- import { Participant, CoHostResponsibility, OnScreenChangesType, OnScreenChangesParameters, Request, ConnectIpsParameters, ReorderStreamsParameters, ConnectIpsType, SleepType, ReorderStreamsType, Settings, ConsumeSocket } from '../../@types/types';
1
+ import { Participant, CoHostResponsibility, OnScreenChangesType, OnScreenChangesParameters, Request, ConnectIpsParameters, ReorderStreamsParameters, ConnectIpsType, ConnectLocalIpsType, ConnectLocalIpsParameters, SleepType, ReorderStreamsType, Settings, ConsumeSocket } from '../../@types/types';
2
+ import { Socket } from 'socket.io-client';
2
3
  import * as i0 from "@angular/core";
3
- export interface AllMembersRestParameters extends OnScreenChangesParameters, ConnectIpsParameters, ReorderStreamsParameters {
4
+ export interface AllMembersRestParameters extends OnScreenChangesParameters, ConnectIpsParameters, OnScreenChangesParameters, ConnectLocalIpsParameters, ReorderStreamsParameters {
4
5
  participantsAll: Participant[];
5
6
  participants: Participant[];
6
7
  dispActiveNames: string[];
@@ -19,6 +20,7 @@ export interface AllMembersRestParameters extends OnScreenChangesParameters, Con
19
20
  videoSetting: string;
20
21
  screenshareSetting: string;
21
22
  chatSetting: string;
23
+ socket: Socket;
22
24
  updateParticipantsAll: (participantsAll: Participant[]) => void;
23
25
  updateParticipants: (participants: Participant[]) => void;
24
26
  updateRequestList: (requestList: Request[]) => void;
@@ -37,6 +39,7 @@ export interface AllMembersRestParameters extends OnScreenChangesParameters, Con
37
39
  updateIsLoadingModalVisible: (visible: boolean) => void;
38
40
  onScreenChanges: OnScreenChangesType;
39
41
  connectIps: ConnectIpsType;
42
+ connectLocalIps?: ConnectLocalIpsType;
40
43
  sleep: SleepType;
41
44
  reorderStreams: ReorderStreamsType;
42
45
  getUpdatedAllParams: () => AllMembersRestParameters;
@@ -99,6 +102,7 @@ export type AllMembersRestType = (options: AllMembersRestOptions) => Promise<voi
99
102
  * videoSetting: '',
100
103
  * screenshareSetting: '',
101
104
  * chatSetting: '',
105
+ * socket: mySocket,
102
106
  * updateParticipantsAll: (participantsAll) => console.log(participantsAll),
103
107
  * updateParticipants: (participants) => console.log(participants),
104
108
  * updateRequestList: (requestList) => console.log(requestList),
@@ -117,6 +121,7 @@ export type AllMembersRestType = (options: AllMembersRestOptions) => Promise<voi
117
121
  * updateIsLoadingModalVisible: (visible) => console.log(visible),
118
122
  * onScreenChanges: (params) => console.log('onScreenChanges called with', params),
119
123
  * connectIps: async (params) => [['socket1'], ['ip1']],
124
+ * connectLocalIps: async (params) => [['socket1'], ['ip1']],
120
125
  * sleep: async ({ ms }) => new Promise((resolve) => setTimeout(resolve, ms)),
121
126
  * reorderStreams: async (params) => console.log('reorderStreams called with', params),
122
127
  * },
@@ -1,6 +1,7 @@
1
- import { Participant, Request, ReorderStreamsType, ReorderStreamsParameters, SleepType, ConnectIpsParameters, OnScreenChangesParameters, OnScreenChangesType, ConnectIpsType, ConsumeSocket, CoHostResponsibility, WaitingRoomParticipant } from '../../@types/types';
1
+ import { Participant, Request, ReorderStreamsType, ReorderStreamsParameters, SleepType, ConnectIpsParameters, OnScreenChangesParameters, OnScreenChangesType, ConnectIpsType, ConnectLocalIpsType, ConnectLocalIpsParameters, ConsumeSocket, CoHostResponsibility, WaitingRoomParticipant } from '../../@types/types';
2
+ import { Socket } from 'socket.io-client';
2
3
  import * as i0 from "@angular/core";
3
- export interface AllMembersParameters extends ReorderStreamsParameters, ConnectIpsParameters, OnScreenChangesParameters {
4
+ export interface AllMembersParameters extends ReorderStreamsParameters, ConnectIpsParameters, OnScreenChangesParameters, ConnectLocalIpsParameters {
4
5
  participantsAll: Participant[];
5
6
  participants: Participant[];
6
7
  dispActiveNames: string[];
@@ -18,6 +19,7 @@ export interface AllMembersParameters extends ReorderStreamsParameters, ConnectI
18
19
  hostFirstSwitch: boolean;
19
20
  waitingRoomList: WaitingRoomParticipant[];
20
21
  islevel: string;
22
+ socket: Socket;
21
23
  updateParticipantsAll: (participantsAll: Participant[]) => void;
22
24
  updateParticipants: (participants: Participant[]) => void;
23
25
  updateRequestList: (requestList: Request[]) => void;
@@ -34,6 +36,7 @@ export interface AllMembersParameters extends ReorderStreamsParameters, ConnectI
34
36
  updateTotalReqWait: (total: number) => void;
35
37
  onScreenChanges: OnScreenChangesType;
36
38
  connectIps: ConnectIpsType;
39
+ connectLocalIps?: ConnectLocalIpsType;
37
40
  sleep: SleepType;
38
41
  reorderStreams: ReorderStreamsType;
39
42
  getUpdatedAllParams: () => AllMembersParameters;
@@ -96,6 +99,7 @@ export type AllMembersType = (options: AllMembersOptions) => Promise<void>;
96
99
  * hostFirstSwitch: false,
97
100
  * waitingRoomList: [],
98
101
  * islevel: '1',
102
+ * socket: socket,
99
103
  * updateParticipantsAll: (participantsAll) => console.log(participantsAll),
100
104
  * updateParticipants: (participants) => console.log(participants),
101
105
  * updateRequestList: (requestList) => console.log(requestList),
@@ -112,6 +116,7 @@ export type AllMembersType = (options: AllMembersOptions) => Promise<void>;
112
116
  * updateTotalReqWait: (total) => console.log(total),
113
117
  * onScreenChanges: (params) => console.log('onScreenChanges called with', params),
114
118
  * connectIps: async (params) => [['socket1'], ['ip1']],
119
+ * connectLocalIps: async (params) => [['socket1'], ['ip1']],
115
120
  * sleep: async ({ ms }) => new Promise((resolve) => setTimeout(resolve, ms)),
116
121
  * reorderStreams: async (params) => console.log('reorderStreams called with', params),
117
122
  * },
@@ -4,6 +4,7 @@ export interface DisconnectUserSelfOptions {
4
4
  member: string;
5
5
  roomName: string;
6
6
  socket: Socket;
7
+ localSocket?: Socket;
7
8
  }
8
9
  export type DisconnectUserSelfType = (options: DisconnectUserSelfOptions) => Promise<void>;
9
10
  /**
@@ -20,6 +21,7 @@ export type DisconnectUserSelfType = (options: DisconnectUserSelfOptions) => Pro
20
21
  * @param {string} options.member - The identifier of the member to be disconnected.
21
22
  * @param {string} options.roomName - The name of the room from which the user will be disconnected.
22
23
  * @param {Socket} options.socket - The socket instance used to emit the disconnection and ban request.
24
+ * @param {Socket} [options.localSocket] - The local socket instance used to emit the disconnection request.
23
25
  * @returns {Promise<void>} A promise that resolves when the disconnection request is sent to the server.
24
26
  *
25
27
  * @example
@@ -27,6 +29,7 @@ export type DisconnectUserSelfType = (options: DisconnectUserSelfOptions) => Pro
27
29
  * member: 'user123',
28
30
  * roomName: 'room456',
29
31
  * socket: mySocketInstance
32
+ * localSocket: myLocalSocketInstance
30
33
  * };
31
34
  * await disconnectUserSelfService.disconnectUserSelf(disconnectUserSelfOptions);
32
35
  */
@@ -38,9 +41,10 @@ export declare class DisconnectUserSelf {
38
41
  * @param {Object} options.member - The member object representing the user to disconnect.
39
42
  * @param {string} options.roomName - The name of the room from which the user will be disconnected.
40
43
  * @param {Socket} options.socket - The socket instance used to emit the disconnection request.
44
+ * @param {Socket} [options.localSocket] - The local socket instance used to emit the disconnection request.
41
45
  * @returns {Promise<void>} A promise that resolves when the disconnection request has been emitted.
42
46
  */
43
- disconnectUserSelf: ({ member, roomName, socket, }: DisconnectUserSelfOptions) => Promise<void>;
47
+ disconnectUserSelf: ({ member, roomName, socket, localSocket, }: DisconnectUserSelfOptions) => Promise<void>;
44
48
  static ɵfac: i0.ɵɵFactoryDeclaration<DisconnectUserSelf, never>;
45
49
  static ɵprov: i0.ɵɵInjectableDeclaration<DisconnectUserSelf>;
46
50
  }
@@ -1,10 +1,27 @@
1
1
  import { Socket } from 'socket.io-client';
2
+ import { MeetingRoomParams, RecordingParams } from "../@types/types";
2
3
  import * as i0 from "@angular/core";
3
4
  /**
4
5
  * Validates the provided API key or token.
5
6
  * @param {string} value - The API key or token to validate.
6
7
  * @returns {Promise<Boolean>} - True if the API key or token is valid, false otherwise.
7
8
  */
9
+ export interface ResponseLocalConnection {
10
+ socket?: Socket;
11
+ data?: ResponseLocalConnectionData;
12
+ }
13
+ export interface ResponseLocalConnectionData {
14
+ socketId: string;
15
+ mode: string;
16
+ apiUserName?: string;
17
+ apiKey?: string;
18
+ allowRecord: boolean;
19
+ meetingRoomParams_: MeetingRoomParams;
20
+ recordingParams_: RecordingParams;
21
+ }
22
+ export interface ConnectLocalSocketOptions {
23
+ link: string;
24
+ }
8
25
  export interface ConnectSocketOptions {
9
26
  apiUserName: string;
10
27
  apiKey?: string;
@@ -16,6 +33,7 @@ export interface DisconnectSocketOptions {
16
33
  }
17
34
  export type ConnectSocketType = (options: ConnectSocketOptions) => Promise<Socket>;
18
35
  export type DisconnectSocketType = (options: DisconnectSocketOptions) => Promise<boolean>;
36
+ export type ConnectLocalSocketType = (options: ConnectLocalSocketOptions) => Promise<ResponseLocalConnection>;
19
37
  /**
20
38
  * Manages connections to a media socket, allowing users to connect or disconnect based on API credentials.
21
39
  *
@@ -59,7 +77,79 @@ export type DisconnectSocketType = (options: DisconnectSocketOptions) => Promise
59
77
  export declare class SocketManager {
60
78
  private socket;
61
79
  validateApiKeyToken(value: string): Promise<boolean>;
80
+ /**
81
+ * Connects to a media socket using the provided connection options.
82
+ *
83
+ * @param {ConnectSocketOptions} options - The connection options.
84
+ * @param {string} options.apiUserName - The API username.
85
+ * @param {string} [options.apiKey] - The API key for authentication.
86
+ * @param {string} [options.apiToken] - The API token for authentication.
87
+ * @param {string} options.link - The socket link.
88
+ *
89
+ * @returns {Promise<Socket>} A promise that resolves to the connected socket.
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * const options = {
94
+ * apiUserName: 'user123',
95
+ * apiKey: 'validApiKeyOf64Characters',
96
+ * link: 'https://socketserver.example.com'
97
+ * };
98
+ *
99
+ * try {
100
+ * const socket = await connectSocket(options);
101
+ * console.log('Connected to socket:', socket);
102
+ * } catch (error) {
103
+ * console.error('Failed to connect to socket:', error);
104
+ * }
105
+ * ```
106
+ */
62
107
  connectSocket: ({ apiUserName, apiKey, apiToken, link, }: ConnectSocketOptions) => Promise<Socket>;
108
+ /**
109
+ * Connects to a local media socket using the provided connection options.
110
+ *
111
+ * @param {ConnectLocalSocketOptions} options - The connection options.
112
+ * @param {string} options.link - The socket link.
113
+ *
114
+ * @returns {Promise<ResponseLocalConnection>} A promise that resolves to the connected socket and data.
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * const options = {
119
+ * link: "http://localhost:3000",
120
+ * };
121
+ *
122
+ * try {
123
+ * const { socket, data } = await connectLocalSocket(options);
124
+ * console.log("Connected to socket:", socket, data);
125
+ * } catch (error) {
126
+ * console.error("Failed to connect to socket:", error);
127
+ * }
128
+ * ```
129
+ */
130
+ connectLocalSocket: ({ link }: ConnectLocalSocketOptions) => Promise<ResponseLocalConnection>;
131
+ /**
132
+ * Disconnects an active socket connection.
133
+ *
134
+ * @param {DisconnectSocketOptions} options - The options for disconnecting the socket.
135
+ * @param {Socket} options.socket - The socket instance to disconnect.
136
+ *
137
+ * @returns {Promise<boolean>} A promise that resolves to true if the socket was disconnected successfully, or false otherwise.
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * const options = {
142
+ * socket: mySocketInstance,
143
+ * };
144
+ *
145
+ * try {
146
+ * const isDisconnected = await disconnectSocket(options);
147
+ * console.log("Socket disconnected:", isDisconnected);
148
+ * } catch (error) {
149
+ * console.error("Failed to disconnect socket:", error);
150
+ * }
151
+ * ```
152
+ */
63
153
  disconnectSocket: ({ socket }: DisconnectSocketOptions) => Promise<boolean>;
64
154
  static ɵfac: i0.ɵɵFactoryDeclaration<SocketManager, never>;
65
155
  static ɵprov: i0.ɵɵInjectableDeclaration<SocketManager>;
@@ -1,4 +1,8 @@
1
1
  import { initialValuesState } from './lib/methods/utils/initial-values.util';
2
+ export * from './lib/methods/utils/join-room-on-media-sfu.service';
3
+ export * from './lib/methods/utils/create-room-on-media-sfu.service';
4
+ export * from './lib/methods/utils/check-limits-and-make-request.service';
5
+ export * from './lib/methods/utils/create-response-join-room.util';
2
6
  import { LoadingModal } from './lib/components/display-components/loading-modal/loading-modal.component';
3
7
  import { MainAspectComponent } from './lib/components/display-components/main-aspect-component/main-aspect-component.component';
4
8
  import { ControlButtonsComponent } from './lib/components/display-components/control-buttons-component/control-buttons-component.component';
@@ -55,6 +59,7 @@ import { LaunchBreakoutRooms } from './lib/methods/breakout-room-methods/launch-
55
59
  import { LaunchConfigureWhiteboard } from './lib/methods/whiteboard-methods/launch-configure-whiteboard.service';
56
60
  import { SocketManager } from './lib/sockets/socket-manager.service';
57
61
  import { JoinRoomClient } from './lib/producer-client/producer-client-emits/join-room-client.service';
62
+ import { JoinLocalRoom } from './lib/producers/producer-emits/join-local-room.service';
58
63
  import { UpdateRoomParametersClient } from './lib/producer-client/producer-client-emits/update-room-parameters-client.service';
59
64
  import { CreateDeviceClient } from './lib/producer-client/producer-client-emits/create-device-client.service';
60
65
  import { ClickVideo } from './lib/methods/stream-methods/click-video.service';
@@ -115,6 +120,7 @@ import { SwitchUserAudio } from './lib/consumers/switch-user-audio.service';
115
120
  import { ReceiveRoomMessages } from './lib/consumers/receive-room-messages.service';
116
121
  import { FormatNumber } from './lib/methods/utils/format-number.service';
117
122
  import { ConnectIps } from './lib/consumers/connect-ips.service';
123
+ import { ConnectLocalIps } from './lib/consumers/connect-local-ips.service';
118
124
  import { PollUpdated } from './lib/methods/polls-methods/poll-updated.service';
119
125
  import { HandleCreatePoll } from './lib/methods/polls-methods/handle-create-poll.service';
120
126
  import { HandleVotePoll } from './lib/methods/polls-methods/handle-vote-poll.service';
@@ -174,4 +180,8 @@ import { CardVideoDisplay } from './lib/components/display-components/card-video
174
180
  import { MiniCardAudio } from './lib/components/display-components/mini-card-audio/mini-card-audio.component';
175
181
  import { MiniAudioPlayer } from './lib/methods/utils/mini-audio-player/mini-audio-player.component';
176
182
  import { SoundPlayer } from './lib/methods/utils/sound-player.service';
177
- export { initialValuesState, LoadingModal, MainAspectComponent, ControlButtonsComponent, ControlButtonsAltComponent, ControlButtonsComponentTouch, OtherGridComponent, MainScreenComponent, MainGridComponent, SubAspectComponent, MainContainerComponent, AlertComponent, MenuModal, RecordingModal, RequestsModal, WaitingRoomModal, DisplaySettingsModal, EventSettingsModal, CoHostModal, ParticipantsModal, MessagesModal, MediaSettingsModal, ConfirmExitModal, ConfirmHereModal, ShareEventModal, WelcomePage, PreJoinPage, Pagination, FlexibleGrid, FlexibleVideo, AudioGrid, LaunchMenuModal, LaunchRecording, StartRecording, ConfirmRecording, LaunchWaiting, launchCoHost, LaunchMediaSettings, LaunchDisplaySettings, LaunchSettings, LaunchRequests, LaunchParticipants, LaunchMessages, LaunchConfirmExit, JoinRoomClient, UpdateRoomParametersClient, CreateDeviceClient, ClickVideo, ClickAudio, ClickScreenShare, StreamSuccessVideo, StreamSuccessAudio, StreamSuccessScreen, StreamSuccessAudioSwitch, CheckPermission, ProducerClosed, NewPipeProducer, UpdateMiniCardsGrid, MixStreams, DispStreams, StopShareScreen, CheckScreenShare, StartShareScreen, RequestScreenShare, ReorderStreams, PrepopulateUserMedia, GetVideos, RePort, Trigger, ConsumerResume, ConnectSendTransportAudio, ConnectSendTransportVideo, ConnectSendTransportScreen, ProcessConsumerTransports, ResumePauseStreams, Readjust, CheckGrid, GetEstimate, CalculateRowsAndColumns, AddVideosGrid, OnScreenChanges, sleep, ChangeVids, CompareActiveNames, CompareScreenStates, CreateSendTransport, ResumeSendTransportAudio, ReceiveAllPipedTransports, DisconnectSendTransportVideo, DisconnectSendTransportAudio, DisconnectSendTransportScreen, ConnectSendTransport, GetPipedProducersAlt, SignalNewConsumerTransport, ConnectRecvTransport, ReUpdateInter, UpdateParticipantAudioDecibels, CloseAndResize, AutoAdjust, SwitchUserVideoAlt, SwitchUserVideo, SwitchUserAudio, ReceiveRoomMessages, FormatNumber, ConnectIps, StartMeetingProgressTimer, UpdateRecording, StopRecording, UserWaiting, PersonJoined, AllWaitingRoomMembers, RoomRecordParams, BanParticipant, UpdatedCoHost, ParticipantRequested, ScreenProducerId, UpdateMediaSettings, ProducerMediaPaused, ProducerMediaResumed, ProducerMediaClosed, ControlMediaHost, MeetingEnded, DisconnectUserSelf, ReceiveMessage, MeetingTimeRemaining, MeetingStillThere, StartRecords, ReInitiateRecording, GetDomains, UpdateConsumingDomains, RecordingNotice, TimeLeftRecording, StoppedRecording, HostRequestResponse, AllMembers, AllMembersRest, Disconnect, MediasfuGeneric, MediasfuBroadcast, MediasfuWebinar, MediasfuConference, MediasfuChat, GenerateRandomParticipants, GenerateRandomMessages, GenerateRandomRequestList, GenerateRandomWaitingRoomList, GenerateRandomPolls, MeetingProgressTimer, MiniAudio, MiniCard, AudioCard, VideoCard, CardVideoDisplay, MiniCardAudio, MiniAudioPlayer, SoundPlayer, CaptureCanvasStream, ResumePauseAudioStreams, ProcessConsumerTransportsAudio, PollUpdated, HandleCreatePoll, HandleVotePoll, HandleEndPoll, BreakoutRoomUpdated, LaunchPoll, LaunchBackground, LaunchBreakoutRooms, LaunchConfigureWhiteboard, PollModal, BackgroundModal, BreakoutRoomsModal, ConfigureWhiteboardModal, Whiteboard, Screenboard, ScreenboardModal, SocketManager, };
183
+ import { CreateRoomOnMediaSFU } from './lib/methods/utils/create-room-on-media-sfu.service';
184
+ import { JoinRoomOnMediaSFU } from './lib/methods/utils/join-room-on-media-sfu.service';
185
+ import { CheckLimitsAndMakeRequest } from './lib/methods/utils/check-limits-and-make-request.service';
186
+ import { createResponseJoinRoom } from './lib/methods/utils/create-response-join-room.util';
187
+ export { initialValuesState, LoadingModal, MainAspectComponent, ControlButtonsComponent, ControlButtonsAltComponent, ControlButtonsComponentTouch, OtherGridComponent, MainScreenComponent, MainGridComponent, SubAspectComponent, MainContainerComponent, AlertComponent, MenuModal, RecordingModal, RequestsModal, WaitingRoomModal, DisplaySettingsModal, EventSettingsModal, CoHostModal, ParticipantsModal, MessagesModal, MediaSettingsModal, ConfirmExitModal, ConfirmHereModal, ShareEventModal, WelcomePage, PreJoinPage, Pagination, FlexibleGrid, FlexibleVideo, AudioGrid, LaunchMenuModal, LaunchRecording, StartRecording, ConfirmRecording, LaunchWaiting, launchCoHost, LaunchMediaSettings, LaunchDisplaySettings, LaunchSettings, LaunchRequests, LaunchParticipants, LaunchMessages, LaunchConfirmExit, JoinRoomClient, JoinLocalRoom, UpdateRoomParametersClient, CreateDeviceClient, ClickVideo, ClickAudio, ClickScreenShare, StreamSuccessVideo, StreamSuccessAudio, StreamSuccessScreen, StreamSuccessAudioSwitch, CheckPermission, ProducerClosed, NewPipeProducer, UpdateMiniCardsGrid, MixStreams, DispStreams, StopShareScreen, CheckScreenShare, StartShareScreen, RequestScreenShare, ReorderStreams, PrepopulateUserMedia, GetVideos, RePort, Trigger, ConsumerResume, ConnectSendTransportAudio, ConnectSendTransportVideo, ConnectSendTransportScreen, ProcessConsumerTransports, ResumePauseStreams, Readjust, CheckGrid, GetEstimate, CalculateRowsAndColumns, AddVideosGrid, OnScreenChanges, sleep, ChangeVids, CompareActiveNames, CompareScreenStates, CreateSendTransport, ResumeSendTransportAudio, ReceiveAllPipedTransports, DisconnectSendTransportVideo, DisconnectSendTransportAudio, DisconnectSendTransportScreen, ConnectSendTransport, GetPipedProducersAlt, SignalNewConsumerTransport, ConnectRecvTransport, ReUpdateInter, UpdateParticipantAudioDecibels, CloseAndResize, AutoAdjust, SwitchUserVideoAlt, SwitchUserVideo, SwitchUserAudio, ReceiveRoomMessages, FormatNumber, ConnectIps, ConnectLocalIps, StartMeetingProgressTimer, UpdateRecording, StopRecording, UserWaiting, PersonJoined, AllWaitingRoomMembers, RoomRecordParams, BanParticipant, UpdatedCoHost, ParticipantRequested, ScreenProducerId, UpdateMediaSettings, ProducerMediaPaused, ProducerMediaResumed, ProducerMediaClosed, ControlMediaHost, MeetingEnded, DisconnectUserSelf, ReceiveMessage, MeetingTimeRemaining, MeetingStillThere, StartRecords, ReInitiateRecording, GetDomains, UpdateConsumingDomains, RecordingNotice, TimeLeftRecording, StoppedRecording, HostRequestResponse, AllMembers, AllMembersRest, Disconnect, MediasfuGeneric, MediasfuBroadcast, MediasfuWebinar, MediasfuConference, MediasfuChat, GenerateRandomParticipants, GenerateRandomMessages, GenerateRandomRequestList, GenerateRandomWaitingRoomList, GenerateRandomPolls, MeetingProgressTimer, MiniAudio, MiniCard, AudioCard, VideoCard, CardVideoDisplay, MiniCardAudio, MiniAudioPlayer, SoundPlayer, CaptureCanvasStream, ResumePauseAudioStreams, ProcessConsumerTransportsAudio, PollUpdated, HandleCreatePoll, HandleVotePoll, HandleEndPoll, BreakoutRoomUpdated, LaunchPoll, LaunchBackground, LaunchBreakoutRooms, LaunchConfigureWhiteboard, PollModal, BackgroundModal, BreakoutRoomsModal, ConfigureWhiteboardModal, Whiteboard, Screenboard, ScreenboardModal, SocketManager, CreateRoomOnMediaSFU, JoinRoomOnMediaSFU, CheckLimitsAndMakeRequest, createResponseJoinRoom, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mediasfu-angular",
3
- "version": "1.0.2",
3
+ "version": "2.0.0",
4
4
  "author": "MediaSFU",
5
5
  "license": "MIT",
6
6
  "description": "MediaSFU Prebuilt Angular SDK",
@@ -14,33 +14,32 @@
14
14
  "email": "info@mediasfu.com"
15
15
  },
16
16
  "peerDependencies": {
17
- "@angular/animations": "^18.1.0",
18
- "@angular/common": "^18.1.0",
19
- "@angular/compiler": "^18.1.0",
20
- "@angular/core": "^18.1.0",
21
- "@angular/forms": "^18.1.0",
22
- "@angular/platform-browser": "^18.1.0",
23
- "@angular/platform-browser-dynamic": "^18.1.0",
24
- "@angular/router": "^18.1.0",
25
- "@fortawesome/angular-fontawesome": "^0.15.0",
26
- "@fortawesome/fontawesome-svg-core": "^6.6.0",
27
- "@fortawesome/free-brands-svg-icons": "^6.6.0",
28
- "@fortawesome/free-solid-svg-icons": "^6.6.0",
17
+ "@angular/animations": "^19.0.1",
18
+ "@angular/common": "^19.0.1",
19
+ "@angular/compiler": "^19.0.1",
20
+ "@angular/core": "^19.0.1",
21
+ "@angular/forms": "^19.0.1",
22
+ "@angular/platform-browser": "^19.0.1",
23
+ "@angular/platform-browser-dynamic": "^19.0.1",
24
+ "@angular/router": "^19.0.1",
25
+ "@fortawesome/angular-fontawesome": "^1.0.0",
26
+ "@fortawesome/fontawesome-svg-core": "^6.7.1",
27
+ "@fortawesome/free-brands-svg-icons": "^6.7.1",
28
+ "@fortawesome/free-solid-svg-icons": "^6.7.1",
29
29
  "@mediapipe/selfie_segmentation": "^0.1.1675465747",
30
- "@zxing/ngx-scanner": "^18.0.1",
30
+ "@zxing/ngx-scanner": "^19.0.0",
31
31
  "bootstrap": "^5.3.3",
32
- "ngx-cookie-service": "^18.0.0",
32
+ "ngx-cookie-service": "^19.0.0",
33
33
  "rxjs": "~7.8.0",
34
- "zone.js": "~0.14.3",
34
+ "zone.js": "~0.15.0",
35
35
  "mediasoup-client": "3.7.17",
36
- "tslib": "^2.3.0",
37
36
  "socket.io-client": "^4.3.2"
38
37
  },
39
38
  "dependencies": {
39
+ "tslib": "^2.3.0"
40
40
  },
41
41
  "module": "dist/fesm2022/mediasfu-angular.mjs",
42
42
  "es2022": "dist/fesm2022/mediasfu-angular.mjs",
43
- "esm2022": "dist/esm2022/mediasfu-angular.mjs",
44
43
  "fesm2022": "dist/fesm2022/mediasfu-angular.mjs",
45
44
  "typings": "dist/index.d.ts",
46
45
  "sideEffects": false,
@@ -54,8 +53,6 @@
54
53
  },
55
54
  ".": {
56
55
  "types": "./dist/index.d.ts",
57
- "esm2022": "./dist/esm2022/mediasfu-angular.mjs",
58
- "es2022": "./dist/fesm2022/mediasfu-angular.mjs",
59
56
  "node": "./dist/fesm2022/mediasfu-angular.mjs",
60
57
  "default": "./dist/fesm2022/mediasfu-angular.mjs"
61
58
  }