mediasfu-angular 1.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 (471) hide show
  1. package/README.md +2068 -0
  2. package/dist/README.md +2068 -0
  3. package/dist/esm2022/lib/@types/types.mjs +2 -0
  4. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +763 -0
  5. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +316 -0
  6. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +95 -0
  7. package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +40 -0
  8. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +246 -0
  9. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +73 -0
  10. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +297 -0
  11. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +60 -0
  12. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +94 -0
  13. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +100 -0
  14. package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +231 -0
  15. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +298 -0
  16. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +61 -0
  17. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +43 -0
  18. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +114 -0
  19. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +114 -0
  20. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +36 -0
  21. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +74 -0
  22. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +142 -0
  23. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +265 -0
  24. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +100 -0
  25. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +132 -0
  26. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +119 -0
  27. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +106 -0
  28. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +180 -0
  29. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +120 -0
  30. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +326 -0
  31. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +165 -0
  32. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +230 -0
  33. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +111 -0
  34. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +328 -0
  35. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +118 -0
  36. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +330 -0
  37. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +95 -0
  38. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +190 -0
  39. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +119 -0
  40. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +209 -0
  41. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +4187 -0
  42. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +3703 -0
  43. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +5022 -0
  44. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +5331 -0
  45. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +5021 -0
  46. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +85 -0
  47. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +22 -0
  48. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +22 -0
  49. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +132 -0
  50. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +104 -0
  51. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +204 -0
  52. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +243 -0
  53. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +147 -0
  54. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +335 -0
  55. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +113 -0
  56. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +226 -0
  57. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +63 -0
  58. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +120 -0
  59. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +23 -0
  60. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +43 -0
  61. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +100 -0
  62. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +174 -0
  63. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +77 -0
  64. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +121 -0
  65. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +85 -0
  66. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +59 -0
  67. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +130 -0
  68. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +617 -0
  69. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +380 -0
  70. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +142 -0
  71. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +265 -0
  72. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +1784 -0
  73. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +296 -0
  74. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +83 -0
  75. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +42 -0
  76. package/dist/esm2022/lib/consumers/change-vids.service.mjs +486 -0
  77. package/dist/esm2022/lib/consumers/check-grid.service.mjs +79 -0
  78. package/dist/esm2022/lib/consumers/check-permission.service.mjs +80 -0
  79. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +71 -0
  80. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +229 -0
  81. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +75 -0
  82. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +63 -0
  83. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +112 -0
  84. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +113 -0
  85. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +46 -0
  86. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +62 -0
  87. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +55 -0
  88. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +86 -0
  89. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +332 -0
  90. package/dist/esm2022/lib/consumers/control-media.service.mjs +68 -0
  91. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +126 -0
  92. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +58 -0
  93. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +45 -0
  94. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +56 -0
  95. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +421 -0
  96. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +59 -0
  97. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +70 -0
  98. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +49 -0
  99. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +46 -0
  100. package/dist/esm2022/lib/consumers/get-videos.service.mjs +58 -0
  101. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +73 -0
  102. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +63 -0
  103. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +442 -0
  104. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +72 -0
  105. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +91 -0
  106. package/dist/esm2022/lib/consumers/re-port.service.mjs +66 -0
  107. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +157 -0
  108. package/dist/esm2022/lib/consumers/readjust.service.mjs +123 -0
  109. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +56 -0
  110. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +42 -0
  111. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +181 -0
  112. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +67 -0
  113. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +99 -0
  114. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +70 -0
  115. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +55 -0
  116. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +136 -0
  117. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +63 -0
  118. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +61 -0
  119. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +51 -0
  120. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +80 -0
  121. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +120 -0
  122. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +132 -0
  123. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +149 -0
  124. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +143 -0
  125. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +202 -0
  126. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +87 -0
  127. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +228 -0
  128. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +125 -0
  129. package/dist/esm2022/lib/consumers/trigger.service.mjs +172 -0
  130. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +81 -0
  131. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +39 -0
  132. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +23 -0
  133. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +112 -0
  134. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +22 -0
  135. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +22 -0
  136. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +60 -0
  137. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +24 -0
  138. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +119 -0
  139. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +28 -0
  140. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +22 -0
  141. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +50 -0
  142. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +22 -0
  143. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +23 -0
  144. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +94 -0
  145. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +23 -0
  146. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +52 -0
  147. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +57 -0
  148. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +62 -0
  149. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +37 -0
  150. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +40 -0
  151. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +49 -0
  152. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +23 -0
  153. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +64 -0
  154. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +45 -0
  155. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +34 -0
  156. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +215 -0
  157. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +82 -0
  158. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +40 -0
  159. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +86 -0
  160. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +89 -0
  161. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +48 -0
  162. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +147 -0
  163. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +74 -0
  164. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +224 -0
  165. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +26 -0
  166. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +45 -0
  167. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +26 -0
  168. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +67 -0
  169. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +178 -0
  170. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +44 -0
  171. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +110 -0
  172. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +183 -0
  173. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +33 -0
  174. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +66 -0
  175. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +76 -0
  176. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +45 -0
  177. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +87 -0
  178. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +99 -0
  179. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +52 -0
  180. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +54 -0
  181. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +38 -0
  182. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +22 -0
  183. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +21 -0
  184. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +369 -0
  185. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +59 -0
  186. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +260 -0
  187. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +21 -0
  188. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +37 -0
  189. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +24 -0
  190. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +37 -0
  191. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +38 -0
  192. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +11 -0
  193. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +42 -0
  194. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +33 -0
  195. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +23 -0
  196. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +40 -0
  197. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +69 -0
  198. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +24 -0
  199. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +51 -0
  200. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +65 -0
  201. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +232 -0
  202. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +114 -0
  203. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +114 -0
  204. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +155 -0
  205. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +147 -0
  206. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +30 -0
  207. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +40 -0
  208. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +146 -0
  209. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +26 -0
  210. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +38 -0
  211. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +63 -0
  212. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +167 -0
  213. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +44 -0
  214. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +24 -0
  215. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +36 -0
  216. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +32 -0
  217. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +29 -0
  218. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +68 -0
  219. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +90 -0
  220. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +54 -0
  221. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +38 -0
  222. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +96 -0
  223. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +195 -0
  224. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +59 -0
  225. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +45 -0
  226. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +35 -0
  227. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +37 -0
  228. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +36 -0
  229. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +63 -0
  230. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +36 -0
  231. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +56 -0
  232. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +78 -0
  233. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +73 -0
  234. package/dist/esm2022/mediasfu-angular.mjs +5 -0
  235. package/dist/esm2022/public-api.mjs +187 -0
  236. package/dist/fesm2022/mediasfu-angular.mjs +47885 -0
  237. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -0
  238. package/dist/index.d.ts +5 -0
  239. package/dist/lib/@types/types.d.ts +634 -0
  240. package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +146 -0
  241. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +112 -0
  242. package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +54 -0
  243. package/dist/lib/components/breakout-components/room-list/room-list.component.d.ts +20 -0
  244. package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +86 -0
  245. package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +50 -0
  246. package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +84 -0
  247. package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +23 -0
  248. package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +37 -0
  249. package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +88 -0
  250. package/dist/lib/components/display-components/control-buttons-component/control-buttons-component.component.d.ts +52 -0
  251. package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +100 -0
  252. package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +10 -0
  253. package/dist/lib/components/display-components/control-widgets/menu-record-widget.component.d.ts +18 -0
  254. package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +11 -0
  255. package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +11 -0
  256. package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +7 -0
  257. package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +12 -0
  258. package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +70 -0
  259. package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +97 -0
  260. package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +70 -0
  261. package/dist/lib/components/display-components/main-aspect-component/main-aspect-component.component.d.ts +72 -0
  262. package/dist/lib/components/display-components/main-container-component/main-container-component.component.d.ts +63 -0
  263. package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +67 -0
  264. package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +82 -0
  265. package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +82 -0
  266. package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +128 -0
  267. package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +1085 -0
  268. package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +95 -0
  269. package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +45 -0
  270. package/dist/lib/components/display-components/pagination/pagination.component.d.ts +112 -0
  271. package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +61 -0
  272. package/dist/lib/components/display-components/video-card/video-card.component.d.ts +89 -0
  273. package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +65 -0
  274. package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +124 -0
  275. package/dist/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.d.ts +71 -0
  276. package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +123 -0
  277. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +5264 -0
  278. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +5194 -0
  279. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +6825 -0
  280. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +6851 -0
  281. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +6825 -0
  282. package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +83 -0
  283. package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +18 -0
  284. package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +18 -0
  285. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +91 -0
  286. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +46 -0
  287. package/dist/lib/components/message-components/message-panel/message-panel.component.d.ts +112 -0
  288. package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +124 -0
  289. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +92 -0
  290. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +159 -0
  291. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +77 -0
  292. package/dist/lib/components/misc-components/welcome-page/welcome-page.component.d.ts +47 -0
  293. package/dist/lib/components/participants-components/participant-list/participant-list.component.d.ts +41 -0
  294. package/dist/lib/components/participants-components/participant-list-item/participant-list-item.component.d.ts +53 -0
  295. package/dist/lib/components/participants-components/participant-list-others/participant-list-others.component.d.ts +15 -0
  296. package/dist/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.d.ts +17 -0
  297. package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +70 -0
  298. package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +76 -0
  299. package/dist/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.d.ts +48 -0
  300. package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +117 -0
  301. package/dist/lib/components/recording-components/standard-panel-component/standard-panel-component.component.d.ts +58 -0
  302. package/dist/lib/components/requests-components/render-request-component/render-request-component.component.d.ts +34 -0
  303. package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +94 -0
  304. package/dist/lib/components/screenboard-components/screenboard/screenboard.component.d.ts +210 -0
  305. package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +103 -0
  306. package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +85 -0
  307. package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +103 -0
  308. package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +414 -0
  309. package/dist/lib/consumers/add-videos-grid.service.d.ts +35 -0
  310. package/dist/lib/consumers/auto-adjust.service.d.ts +25 -0
  311. package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +17 -0
  312. package/dist/lib/consumers/change-vids.service.d.ts +137 -0
  313. package/dist/lib/consumers/check-grid.service.d.ts +30 -0
  314. package/dist/lib/consumers/check-permission.service.d.ts +26 -0
  315. package/dist/lib/consumers/check-screen-share.service.d.ts +41 -0
  316. package/dist/lib/consumers/close-and-resize.service.d.ts +107 -0
  317. package/dist/lib/consumers/compare-active-names.service.d.ts +37 -0
  318. package/dist/lib/consumers/compare-screen-states.service.d.ts +40 -0
  319. package/dist/lib/consumers/connect-ips.service.d.ts +59 -0
  320. package/dist/lib/consumers/connect-recv-transport.service.d.ts +58 -0
  321. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +33 -0
  322. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +42 -0
  323. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +41 -0
  324. package/dist/lib/consumers/connect-send-transport.service.d.ts +49 -0
  325. package/dist/lib/consumers/consumer-resume.service.d.ts +85 -0
  326. package/dist/lib/consumers/control-media.service.d.ts +40 -0
  327. package/dist/lib/consumers/create-send-transport.service.d.ts +46 -0
  328. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +49 -0
  329. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +36 -0
  330. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +43 -0
  331. package/dist/lib/consumers/disp-streams.service.d.ts +92 -0
  332. package/dist/lib/consumers/generate-page-content.service.d.ts +41 -0
  333. package/dist/lib/consumers/get-estimate.service.d.ts +46 -0
  334. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +33 -0
  335. package/dist/lib/consumers/get-producers-piped.service.d.ts +33 -0
  336. package/dist/lib/consumers/get-videos.service.d.ts +28 -0
  337. package/dist/lib/consumers/mix-streams.service.d.ts +32 -0
  338. package/dist/lib/consumers/on-screen-changes.service.d.ts +44 -0
  339. package/dist/lib/consumers/prepopulate-user-media.service.d.ts +107 -0
  340. package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +30 -0
  341. package/dist/lib/consumers/process-consumer-transports.service.d.ts +42 -0
  342. package/dist/lib/consumers/re-port.service.d.ts +55 -0
  343. package/dist/lib/consumers/re-update-inter.service.d.ts +83 -0
  344. package/dist/lib/consumers/readjust.service.d.ts +48 -0
  345. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +33 -0
  346. package/dist/lib/consumers/receive-room-messages.service.d.ts +22 -0
  347. package/dist/lib/consumers/reorder-streams.service.d.ts +72 -0
  348. package/dist/lib/consumers/request-screen-share.service.d.ts +38 -0
  349. package/dist/lib/consumers/resume-pause-audio-streams.service.d.ts +41 -0
  350. package/dist/lib/consumers/resume-pause-streams.service.d.ts +36 -0
  351. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +43 -0
  352. package/dist/lib/consumers/signal-new-consumer-transport.service.d.ts +63 -0
  353. package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +43 -0
  354. package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +46 -0
  355. package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +27 -0
  356. package/dist/lib/consumers/start-share-screen.service.d.ts +38 -0
  357. package/dist/lib/consumers/stop-share-screen.service.d.ts +86 -0
  358. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +90 -0
  359. package/dist/lib/consumers/stream-success-audio.service.d.ts +100 -0
  360. package/dist/lib/consumers/stream-success-screen.service.d.ts +78 -0
  361. package/dist/lib/consumers/stream-success-video.service.d.ts +76 -0
  362. package/dist/lib/consumers/switch-user-audio.service.d.ts +41 -0
  363. package/dist/lib/consumers/switch-user-video-alt.service.d.ts +43 -0
  364. package/dist/lib/consumers/switch-user-video.service.d.ts +61 -0
  365. package/dist/lib/consumers/trigger.service.d.ts +72 -0
  366. package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +54 -0
  367. package/dist/lib/consumers/update-participant-audio-decibels.service.d.ts +25 -0
  368. package/dist/lib/methods/background-methods/launch-background.service.d.ts +18 -0
  369. package/dist/lib/methods/breakout-room-methods/breakout-room-updated.service.d.ts +63 -0
  370. package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +17 -0
  371. package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +17 -0
  372. package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +42 -0
  373. package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +17 -0
  374. package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +74 -0
  375. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +24 -0
  376. package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +17 -0
  377. package/dist/lib/methods/media-settings-methods/launch-media-settings.service.d.ts +27 -0
  378. package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +17 -0
  379. package/dist/lib/methods/message-methods/launch-messages.service.d.ts +18 -0
  380. package/dist/lib/methods/message-methods/send-message.service.d.ts +48 -0
  381. package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +18 -0
  382. package/dist/lib/methods/participants-methods/message-participants.service.d.ts +34 -0
  383. package/dist/lib/methods/participants-methods/mute-participants.service.d.ts +36 -0
  384. package/dist/lib/methods/participants-methods/remove-participants.service.d.ts +38 -0
  385. package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +24 -0
  386. package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +27 -0
  387. package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +33 -0
  388. package/dist/lib/methods/polls-methods/launch-poll.service.d.ts +18 -0
  389. package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +34 -0
  390. package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +26 -0
  391. package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +23 -0
  392. package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +78 -0
  393. package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +42 -0
  394. package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +25 -0
  395. package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +47 -0
  396. package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +58 -0
  397. package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +29 -0
  398. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +83 -0
  399. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +37 -0
  400. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +88 -0
  401. package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +19 -0
  402. package/dist/lib/methods/requests-methods/respond-to-requests.service.d.ts +30 -0
  403. package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +19 -0
  404. package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +44 -0
  405. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +73 -0
  406. package/dist/lib/methods/stream-methods/click-chat.service.d.ts +27 -0
  407. package/dist/lib/methods/stream-methods/click-screen-share.service.d.ts +44 -0
  408. package/dist/lib/methods/stream-methods/click-video.service.d.ts +58 -0
  409. package/dist/lib/methods/stream-methods/switch-audio.service.d.ts +28 -0
  410. package/dist/lib/methods/stream-methods/switch-video-alt.service.d.ts +29 -0
  411. package/dist/lib/methods/stream-methods/switch-video.service.d.ts +35 -0
  412. package/dist/lib/methods/utils/format-number.service.d.ts +24 -0
  413. package/dist/lib/methods/utils/generate-random-messages.service.d.ts +26 -0
  414. package/dist/lib/methods/utils/generate-random-participants.service.d.ts +24 -0
  415. package/dist/lib/methods/utils/generate-random-polls.service.d.ts +18 -0
  416. package/dist/lib/methods/utils/generate-random-request-list.service.d.ts +24 -0
  417. package/dist/lib/methods/utils/generate-random-waiting-room-list.service.d.ts +19 -0
  418. package/dist/lib/methods/utils/get-modal-position.util.d.ts +15 -0
  419. package/dist/lib/methods/utils/get-overlay-position.util.d.ts +12 -0
  420. package/dist/lib/methods/utils/initial-values.util.d.ts +343 -0
  421. package/dist/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.d.ts +31 -0
  422. package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +46 -0
  423. package/dist/lib/methods/utils/producer/a-params.service.d.ts +11 -0
  424. package/dist/lib/methods/utils/producer/h-params.service.d.ts +11 -0
  425. package/dist/lib/methods/utils/producer/screen-params.service.d.ts +11 -0
  426. package/dist/lib/methods/utils/producer/v-params.service.d.ts +11 -0
  427. package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +131 -0
  428. package/dist/lib/methods/utils/sleep.util.d.ts +12 -0
  429. package/dist/lib/methods/utils/sound-player.service.d.ts +13 -0
  430. package/dist/lib/methods/utils/validate-alphanumeric.service.d.ts +17 -0
  431. package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +17 -0
  432. package/dist/lib/methods/waiting-methods/respond-to-waiting.service.d.ts +31 -0
  433. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +33 -0
  434. package/dist/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.d.ts +17 -0
  435. package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +20 -0
  436. package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +36 -0
  437. package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +104 -0
  438. package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +44 -0
  439. package/dist/lib/producers/producer-emits/join-room.service.d.ts +34 -0
  440. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +75 -0
  441. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +72 -0
  442. package/dist/lib/producers/socket-receive-methods/all-waiting-room-members.service.d.ts +22 -0
  443. package/dist/lib/producers/socket-receive-methods/ban-participant.service.d.ts +35 -0
  444. package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +60 -0
  445. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +22 -0
  446. package/dist/lib/producers/socket-receive-methods/disconnect.service.d.ts +23 -0
  447. package/dist/lib/producers/socket-receive-methods/get-domains.service.d.ts +48 -0
  448. package/dist/lib/producers/socket-receive-methods/host-request-response.service.d.ts +81 -0
  449. package/dist/lib/producers/socket-receive-methods/meeting-ended.service.d.ts +26 -0
  450. package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +17 -0
  451. package/dist/lib/producers/socket-receive-methods/meeting-time-remaining.service.d.ts +22 -0
  452. package/dist/lib/producers/socket-receive-methods/participant-requested.service.d.ts +26 -0
  453. package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +20 -0
  454. package/dist/lib/producers/socket-receive-methods/producer-media-closed.service.d.ts +47 -0
  455. package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +51 -0
  456. package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +44 -0
  457. package/dist/lib/producers/socket-receive-methods/re-initiate-recording.service.d.ts +25 -0
  458. package/dist/lib/producers/socket-receive-methods/receive-message.service.d.ts +37 -0
  459. package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +120 -0
  460. package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +75 -0
  461. package/dist/lib/producers/socket-receive-methods/screen-producer-id.service.d.ts +32 -0
  462. package/dist/lib/producers/socket-receive-methods/start-records.service.d.ts +23 -0
  463. package/dist/lib/producers/socket-receive-methods/stopped-recording.service.d.ts +22 -0
  464. package/dist/lib/producers/socket-receive-methods/time-left-recording.service.d.ts +21 -0
  465. package/dist/lib/producers/socket-receive-methods/update-consuming-domains.service.d.ts +44 -0
  466. package/dist/lib/producers/socket-receive-methods/update-media-settings.service.d.ts +27 -0
  467. package/dist/lib/producers/socket-receive-methods/updated-co-host.service.d.ts +37 -0
  468. package/dist/lib/producers/socket-receive-methods/user-waiting.service.d.ts +68 -0
  469. package/dist/lib/sockets/socket-manager.service.d.ts +26 -0
  470. package/dist/public-api.d.ts +177 -0
  471. package/package.json +89 -0
@@ -0,0 +1,85 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ /**
8
+ * @component StandardPanelComponent
9
+ * @description This component represents a standard panel for recording options.
10
+ * It allows users to select media, audio, and video options, as well as toggle HLS recording.
11
+ *
12
+ * @selector app-standard-panel-component
13
+ * @standalone true
14
+ * @templateUrl ./standard-panel-component.component.html
15
+ * @styleUrls ./standard-panel-component.component.css
16
+ * @imports [CommonModule, FormsModule]
17
+ *
18
+ * @input {StandardPanelParameters} parameters - The parameters for the standard panel component.
19
+ *
20
+ * @property {string} selectedRecordingMediaOptions - The selected media options for recording.
21
+ * @property {string} selectedRecordingAudioOptions - The selected audio options for recording.
22
+ * @property {string} selectedRecordingVideoOptions - The selected video options for recording.
23
+ * @property {boolean} selectedRecordingAddHLS - The flag indicating whether HLS recording is enabled.
24
+ *
25
+ * @method ngOnInit - Initializes the component and sets the initial values for recording options.
26
+ * @method ngOnChanges - Handles changes to the input parameters and updates the recording options accordingly.
27
+ * @method handleMediaOptionsChange - Handles changes to the media options and updates the parameters.
28
+ * @method handleAudioOptionsChange - Handles changes to the audio options and updates the parameters.
29
+ * @method handleVideoOptionsChange - Handles changes to the video options and updates the parameters.
30
+ * @method handleAddHLSChange - Handles changes to the HLS recording option and updates the parameters.
31
+ *
32
+ * @param {SimpleChanges} changes - The changes to the input properties.
33
+ * @param {any} event - The event object from the change event.
34
+ */
35
+ export class StandardPanelComponent {
36
+ parameters = {};
37
+ selectedRecordingMediaOptions;
38
+ selectedRecordingAudioOptions;
39
+ selectedRecordingVideoOptions;
40
+ selectedRecordingAddHLS;
41
+ ngOnInit() {
42
+ this.selectedRecordingMediaOptions = this.parameters.recordingMediaOptions;
43
+ this.selectedRecordingAudioOptions = this.parameters.recordingAudioOptions;
44
+ this.selectedRecordingVideoOptions = this.parameters.recordingVideoOptions;
45
+ this.selectedRecordingAddHLS = this.parameters.recordingAddHLS;
46
+ }
47
+ ngOnChanges(changes) {
48
+ if (changes['parameters']) {
49
+ this.parameters = changes['parameters'].currentValue;
50
+ this.selectedRecordingMediaOptions = this.parameters.recordingMediaOptions;
51
+ this.selectedRecordingAudioOptions = this.parameters.recordingAudioOptions;
52
+ this.selectedRecordingVideoOptions = this.parameters.recordingVideoOptions;
53
+ this.selectedRecordingAddHLS = this.parameters.recordingAddHLS;
54
+ }
55
+ }
56
+ handleMediaOptionsChange(event) {
57
+ const value = event.target.value;
58
+ this.selectedRecordingMediaOptions = value;
59
+ this.parameters.updateRecordingMediaOptions(value);
60
+ }
61
+ handleAudioOptionsChange(event) {
62
+ const value = event.target.value;
63
+ this.selectedRecordingAudioOptions = value;
64
+ this.parameters.updateRecordingAudioOptions(value);
65
+ }
66
+ handleVideoOptionsChange(event) {
67
+ const value = event.target.value;
68
+ this.selectedRecordingVideoOptions = value;
69
+ this.parameters.updateRecordingVideoOptions(value);
70
+ }
71
+ handleAddHLSChange(event) {
72
+ const value = event.target.value === 'true';
73
+ this.selectedRecordingAddHLS = value;
74
+ this.parameters.updateRecordingAddHLS(value);
75
+ }
76
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StandardPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: StandardPanelComponent, isStandalone: true, selector: "app-standard-panel-component", inputs: { parameters: "parameters" }, usesOnChanges: true, ngImport: i0, template: "<div>\r\n <!-- Media Options -->\r\n <div>\r\n <label style=\"margin-right:10px; font-weight: bold;\">Media Options:</label>\r\n <select [(ngModel)]=\"selectedRecordingMediaOptions\" (change)=\"handleMediaOptionsChange($event)\">\r\n <option value=\"video\">Record Video</option>\r\n <option value=\"audio\">Record Audio Only</option>\r\n </select>\r\n </div>\r\n <hr />\r\n\r\n <!-- Specific Audios -->\r\n <div *ngIf=\"parameters.eventType !== 'broadcast'\">\r\n <div>\r\n <label style=\"margin-right:10px; font-weight: bold;\">Specific Audios:</label>\r\n <select [(ngModel)]=\"selectedRecordingAudioOptions\" (change)=\"handleAudioOptionsChange($event)\">\r\n <option value=\"all\">Add All</option>\r\n <option value=\"onScreen\">Add All On Screen</option>\r\n <option value=\"host\">Add Host Only</option>\r\n </select>\r\n </div>\r\n <hr />\r\n\r\n <!-- Specific Videos -->\r\n <div id=\"conditionalConference\">\r\n <label style=\"margin-right:10px; font-weight: bold;\">Specific Videos:</label>\r\n <select [(ngModel)]=\"selectedRecordingVideoOptions\" (change)=\"handleVideoOptionsChange($event)\">\r\n <option value=\"all\">Add All</option>\r\n <option value=\"mainScreen\">Big Screen Only (includes screenshare)</option>\r\n </select>\r\n </div>\r\n <hr />\r\n </div>\r\n\r\n <!-- Add HLS -->\r\n <div id=\"addHLSPart\">\r\n <label style=\"margin-right:10px; font-weight: bold;\">Add HLS:</label>\r\n <select [(ngModel)]=\"selectedRecordingAddHLS\" (change)=\"handleAddHLSChange($event)\">\r\n <option [ngValue]=\"true\">True</option>\r\n <option [ngValue]=\"false\">False</option>\r\n </select>\r\n </div>\r\n <hr />\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StandardPanelComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'app-standard-panel-component', standalone: true, imports: [CommonModule, FormsModule], template: "<div>\r\n <!-- Media Options -->\r\n <div>\r\n <label style=\"margin-right:10px; font-weight: bold;\">Media Options:</label>\r\n <select [(ngModel)]=\"selectedRecordingMediaOptions\" (change)=\"handleMediaOptionsChange($event)\">\r\n <option value=\"video\">Record Video</option>\r\n <option value=\"audio\">Record Audio Only</option>\r\n </select>\r\n </div>\r\n <hr />\r\n\r\n <!-- Specific Audios -->\r\n <div *ngIf=\"parameters.eventType !== 'broadcast'\">\r\n <div>\r\n <label style=\"margin-right:10px; font-weight: bold;\">Specific Audios:</label>\r\n <select [(ngModel)]=\"selectedRecordingAudioOptions\" (change)=\"handleAudioOptionsChange($event)\">\r\n <option value=\"all\">Add All</option>\r\n <option value=\"onScreen\">Add All On Screen</option>\r\n <option value=\"host\">Add Host Only</option>\r\n </select>\r\n </div>\r\n <hr />\r\n\r\n <!-- Specific Videos -->\r\n <div id=\"conditionalConference\">\r\n <label style=\"margin-right:10px; font-weight: bold;\">Specific Videos:</label>\r\n <select [(ngModel)]=\"selectedRecordingVideoOptions\" (change)=\"handleVideoOptionsChange($event)\">\r\n <option value=\"all\">Add All</option>\r\n <option value=\"mainScreen\">Big Screen Only (includes screenshare)</option>\r\n </select>\r\n </div>\r\n <hr />\r\n </div>\r\n\r\n <!-- Add HLS -->\r\n <div id=\"addHLSPart\">\r\n <label style=\"margin-right:10px; font-weight: bold;\">Add HLS:</label>\r\n <select [(ngModel)]=\"selectedRecordingAddHLS\" (change)=\"handleAddHLSChange($event)\">\r\n <option [ngValue]=\"true\">True</option>\r\n <option [ngValue]=\"false\">False</option>\r\n </select>\r\n </div>\r\n <hr />\r\n</div>\r\n" }]
82
+ }], propDecorators: { parameters: [{
83
+ type: Input
84
+ }] } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlY29yZGluZy1jb21wb25lbnRzL3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVjb3JkaW5nLWNvbXBvbmVudHMvc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50L3N0YW5kYXJkLXBhbmVsLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlCN0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQVFILE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsVUFBVSxHQUE0QixFQUE2QixDQUFDO0lBRTdFLDZCQUE2QixDQUFVO0lBQ3ZDLDZCQUE2QixDQUFVO0lBQ3ZDLDZCQUE2QixDQUFVO0lBQ3ZDLHVCQUF1QixDQUFXO0lBRWxDLFFBQVE7UUFDTixJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztRQUMzRSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztRQUMzRSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztRQUMzRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7SUFDakUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNyRCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztZQUMzRSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztZQUMzRSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQztZQUMzRSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFVO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBVTtRQUNqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsS0FBSyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQVU7UUFDakMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFVO1FBQzNCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQztRQUM1QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQzt1R0EvQ1Usc0JBQXNCOzJGQUF0QixzQkFBc0IsbUpDdERuQyxtdkRBNENBLHlERFFZLFlBQVksa0lBQUUsV0FBVzs7MkZBRXhCLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSw4QkFBOEIsY0FDNUIsSUFBSSxXQUdQLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQzs4QkFHM0IsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFdmVudFR5cGUgfSBmcm9tICcuLi8uLi8uLi9AdHlwZXMvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkUGFuZWxQYXJhbWV0ZXJzIHtcbiAgcmVjb3JkaW5nTWVkaWFPcHRpb25zOiBzdHJpbmc7XG4gIHJlY29yZGluZ0F1ZGlvT3B0aW9uczogc3RyaW5nO1xuICByZWNvcmRpbmdWaWRlb09wdGlvbnM6IHN0cmluZztcbiAgcmVjb3JkaW5nQWRkSExTOiBib29sZWFuO1xuICB1cGRhdGVSZWNvcmRpbmdNZWRpYU9wdGlvbnM6IChtZWRpYU9wdGlvbnM6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUmVjb3JkaW5nQXVkaW9PcHRpb25zOiAoYXVkaW9PcHRpb25zOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHVwZGF0ZVJlY29yZGluZ1ZpZGVvT3B0aW9uczogKHZpZGVvT3B0aW9uczogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVSZWNvcmRpbmdBZGRITFM6IChhZGRITFM6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGV2ZW50VHlwZTogRXZlbnRUeXBlO1xufVxuXG5leHBvcnQgdHlwZSBTdGFuZGFyZFBhbmVsVHlwZSA9IChvcHRpb25zOiBTdGFuZGFyZFBhbmVsUGFyYW1ldGVycykgPT4gSFRNTEVsZW1lbnQ7XG5cbi8qKlxuICogQGNvbXBvbmVudCBTdGFuZGFyZFBhbmVsQ29tcG9uZW50XG4gKiBAZGVzY3JpcHRpb24gVGhpcyBjb21wb25lbnQgcmVwcmVzZW50cyBhIHN0YW5kYXJkIHBhbmVsIGZvciByZWNvcmRpbmcgb3B0aW9ucy5cbiAqIEl0IGFsbG93cyB1c2VycyB0byBzZWxlY3QgbWVkaWEsIGF1ZGlvLCBhbmQgdmlkZW8gb3B0aW9ucywgYXMgd2VsbCBhcyB0b2dnbGUgSExTIHJlY29yZGluZy5cbiAqXG4gKiBAc2VsZWN0b3IgYXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudFxuICogQHN0YW5kYWxvbmUgdHJ1ZVxuICogQHRlbXBsYXRlVXJsIC4vc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5odG1sXG4gKiBAc3R5bGVVcmxzIC4vc3RhbmRhcmQtcGFuZWwtY29tcG9uZW50LmNvbXBvbmVudC5jc3NcbiAqIEBpbXBvcnRzIFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXVxuICpcbiAqIEBpbnB1dCB7U3RhbmRhcmRQYW5lbFBhcmFtZXRlcnN9IHBhcmFtZXRlcnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHN0YW5kYXJkIHBhbmVsIGNvbXBvbmVudC5cbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMgLSBUaGUgc2VsZWN0ZWQgbWVkaWEgb3B0aW9ucyBmb3IgcmVjb3JkaW5nLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHNlbGVjdGVkUmVjb3JkaW5nQXVkaW9PcHRpb25zIC0gVGhlIHNlbGVjdGVkIGF1ZGlvIG9wdGlvbnMgZm9yIHJlY29yZGluZy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZWxlY3RlZFJlY29yZGluZ1ZpZGVvT3B0aW9ucyAtIFRoZSBzZWxlY3RlZCB2aWRlbyBvcHRpb25zIGZvciByZWNvcmRpbmcuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHNlbGVjdGVkUmVjb3JkaW5nQWRkSExTIC0gVGhlIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIEhMUyByZWNvcmRpbmcgaXMgZW5hYmxlZC5cbiAqXG4gKiBAbWV0aG9kIG5nT25Jbml0IC0gSW5pdGlhbGl6ZXMgdGhlIGNvbXBvbmVudCBhbmQgc2V0cyB0aGUgaW5pdGlhbCB2YWx1ZXMgZm9yIHJlY29yZGluZyBvcHRpb25zLlxuICogQG1ldGhvZCBuZ09uQ2hhbmdlcyAtIEhhbmRsZXMgY2hhbmdlcyB0byB0aGUgaW5wdXQgcGFyYW1ldGVycyBhbmQgdXBkYXRlcyB0aGUgcmVjb3JkaW5nIG9wdGlvbnMgYWNjb3JkaW5nbHkuXG4gKiBAbWV0aG9kIGhhbmRsZU1lZGlhT3B0aW9uc0NoYW5nZSAtIEhhbmRsZXMgY2hhbmdlcyB0byB0aGUgbWVkaWEgb3B0aW9ucyBhbmQgdXBkYXRlcyB0aGUgcGFyYW1ldGVycy5cbiAqIEBtZXRob2QgaGFuZGxlQXVkaW9PcHRpb25zQ2hhbmdlIC0gSGFuZGxlcyBjaGFuZ2VzIHRvIHRoZSBhdWRpbyBvcHRpb25zIGFuZCB1cGRhdGVzIHRoZSBwYXJhbWV0ZXJzLlxuICogQG1ldGhvZCBoYW5kbGVWaWRlb09wdGlvbnNDaGFuZ2UgLSBIYW5kbGVzIGNoYW5nZXMgdG8gdGhlIHZpZGVvIG9wdGlvbnMgYW5kIHVwZGF0ZXMgdGhlIHBhcmFtZXRlcnMuXG4gKiBAbWV0aG9kIGhhbmRsZUFkZEhMU0NoYW5nZSAtIEhhbmRsZXMgY2hhbmdlcyB0byB0aGUgSExTIHJlY29yZGluZyBvcHRpb24gYW5kIHVwZGF0ZXMgdGhlIHBhcmFtZXRlcnMuXG4gKlxuICogQHBhcmFtIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzIC0gVGhlIGNoYW5nZXMgdG8gdGhlIGlucHV0IHByb3BlcnRpZXMuXG4gKiBAcGFyYW0ge2FueX0gZXZlbnQgLSBUaGUgZXZlbnQgb2JqZWN0IGZyb20gdGhlIGNoYW5nZSBldmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXN0YW5kYXJkLXBhbmVsLWNvbXBvbmVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGFuZGFyZC1wYW5lbC1jb21wb25lbnQuY29tcG9uZW50LmNzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFN0YW5kYXJkUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBhcmFtZXRlcnM6IFN0YW5kYXJkUGFuZWxQYXJhbWV0ZXJzID0ge30gYXMgU3RhbmRhcmRQYW5lbFBhcmFtZXRlcnM7XG5cbiAgc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMhOiBzdHJpbmc7XG4gIHNlbGVjdGVkUmVjb3JkaW5nQXVkaW9PcHRpb25zITogc3RyaW5nO1xuICBzZWxlY3RlZFJlY29yZGluZ1ZpZGVvT3B0aW9ucyE6IHN0cmluZztcbiAgc2VsZWN0ZWRSZWNvcmRpbmdBZGRITFMhOiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nTWVkaWFPcHRpb25zO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQXVkaW9PcHRpb25zO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdWaWRlb09wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nVmlkZW9PcHRpb25zO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdBZGRITFMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQWRkSExTO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwYXJhbWV0ZXJzJ10pIHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IGNoYW5nZXNbJ3BhcmFtZXRlcnMnXS5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nTWVkaWFPcHRpb25zID0gdGhpcy5wYXJhbWV0ZXJzLnJlY29yZGluZ01lZGlhT3B0aW9ucztcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnMgPSB0aGlzLnBhcmFtZXRlcnMucmVjb3JkaW5nQXVkaW9PcHRpb25zO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ1ZpZGVvT3B0aW9ucyA9IHRoaXMucGFyYW1ldGVycy5yZWNvcmRpbmdWaWRlb09wdGlvbnM7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nQWRkSExTID0gdGhpcy5wYXJhbWV0ZXJzLnJlY29yZGluZ0FkZEhMUztcbiAgICB9XG4gIH1cblxuICBoYW5kbGVNZWRpYU9wdGlvbnNDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWNvcmRpbmdNZWRpYU9wdGlvbnMgPSB2YWx1ZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMudXBkYXRlUmVjb3JkaW5nTWVkaWFPcHRpb25zKHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUF1ZGlvT3B0aW9uc0NoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0F1ZGlvT3B0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdBdWRpb09wdGlvbnModmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlVmlkZW9PcHRpb25zQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zID0gdmFsdWU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzLnVwZGF0ZVJlY29yZGluZ1ZpZGVvT3B0aW9ucyh2YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVBZGRITFNDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlID09PSAndHJ1ZSc7XG4gICAgdGhpcy5zZWxlY3RlZFJlY29yZGluZ0FkZEhMUyA9IHZhbHVlO1xuICAgIHRoaXMucGFyYW1ldGVycy51cGRhdGVSZWNvcmRpbmdBZGRITFModmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2PlxyXG4gIDwhLS0gTWVkaWEgT3B0aW9ucyAtLT5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPk1lZGlhIE9wdGlvbnM6PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFJlY29yZGluZ01lZGlhT3B0aW9uc1wiIChjaGFuZ2UpPVwiaGFuZGxlTWVkaWFPcHRpb25zQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cInZpZGVvXCI+UmVjb3JkIFZpZGVvPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCJhdWRpb1wiPlJlY29yZCBBdWRpbyBPbmx5PC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICA8L2Rpdj5cclxuICA8aHIgLz5cclxuXHJcbiAgPCEtLSBTcGVjaWZpYyBBdWRpb3MgLS0+XHJcbiAgPGRpdiAqbmdJZj1cInBhcmFtZXRlcnMuZXZlbnRUeXBlICE9PSAnYnJvYWRjYXN0J1wiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPlNwZWNpZmljIEF1ZGlvczo8L2xhYmVsPlxyXG4gICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRSZWNvcmRpbmdBdWRpb09wdGlvbnNcIiAoY2hhbmdlKT1cImhhbmRsZUF1ZGlvT3B0aW9uc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFkZCBBbGw8L29wdGlvbj5cclxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwib25TY3JlZW5cIj5BZGQgQWxsIE9uIFNjcmVlbjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJob3N0XCI+QWRkIEhvc3QgT25seTwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGhyIC8+XHJcblxyXG4gICAgPCEtLSBTcGVjaWZpYyBWaWRlb3MgLS0+XHJcbiAgICA8ZGl2IGlkPVwiY29uZGl0aW9uYWxDb25mZXJlbmNlXCI+XHJcbiAgICAgIDxsYWJlbCBzdHlsZT1cIm1hcmdpbi1yaWdodDoxMHB4OyBmb250LXdlaWdodDogYm9sZDtcIj5TcGVjaWZpYyBWaWRlb3M6PC9sYWJlbD5cclxuICAgICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUmVjb3JkaW5nVmlkZW9PcHRpb25zXCIgKGNoYW5nZSk9XCJoYW5kbGVWaWRlb09wdGlvbnNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJhbGxcIj5BZGQgQWxsPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1haW5TY3JlZW5cIj5CaWcgU2NyZWVuIE9ubHkgKGluY2x1ZGVzIHNjcmVlbnNoYXJlKTwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGhyIC8+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gQWRkIEhMUyAtLT5cclxuICA8ZGl2IGlkPVwiYWRkSExTUGFydFwiPlxyXG4gICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGZvbnQtd2VpZ2h0OiBib2xkO1wiPkFkZCBITFM6PC9sYWJlbD5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFJlY29yZGluZ0FkZEhMU1wiIChjaGFuZ2UpPVwiaGFuZGxlQWRkSExTQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJ0cnVlXCI+VHJ1ZTwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZhbHNlXCI+RmFsc2U8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIDwvZGl2PlxyXG4gIDxociAvPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,59 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
4
+ import { faMicrophone, faDesktop, faVideo, faComments, faCheck, faTimes, } from '@fortawesome/free-solid-svg-icons';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@fortawesome/angular-fontawesome";
8
+ export class RenderRequestComponent {
9
+ request = {};
10
+ requestList = [];
11
+ roomName;
12
+ socket = {};
13
+ onRequestItemPress;
14
+ updateRequestList;
15
+ faMicrophone = faMicrophone;
16
+ faDesktop = faDesktop;
17
+ faVideo = faVideo;
18
+ faComments = faComments;
19
+ faCheck = faCheck;
20
+ faTimes = faTimes;
21
+ keyMap = {
22
+ 'fa-microphone': this.faMicrophone,
23
+ 'fa-desktop': this.faDesktop,
24
+ 'fa-video': this.faVideo,
25
+ 'fa-comments': this.faComments,
26
+ };
27
+ getIcon(iconName) {
28
+ return this.keyMap[iconName];
29
+ }
30
+ handleRequestAction = (action) => {
31
+ this.onRequestItemPress({
32
+ request: this.request,
33
+ updateRequestList: this.updateRequestList,
34
+ requestList: this.requestList,
35
+ action: action,
36
+ roomName: this.roomName,
37
+ socket: this.socket,
38
+ });
39
+ };
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RenderRequestComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RenderRequestComponent, isStandalone: true, selector: "app-render-request-component", inputs: { request: "request", requestList: "requestList", roomName: "roomName", socket: "socket", onRequestItemPress: "onRequestItemPress", updateRequestList: "updateRequestList" }, ngImport: i0, template: "<div class=\"request-container\" *ngIf=\"request\">\r\n <div class=\"request-name\">{{ request.name }}</div>\r\n <div class=\"request-icon\">\r\n <fa-icon [icon]=\"getIcon(request.icon)\" size=\"lg\" color=\"black\"></fa-icon>\r\n </div>\r\n <div class=\"request-action accept\">\r\n <button (click)=\"handleRequestAction('accepted')\">\r\n <fa-icon [icon]=\"faCheck\" size=\"lg\" style=\"color: green;\"></fa-icon>\r\n </button>\r\n </div>\r\n <div class=\"request-action reject\">\r\n <button (click)=\"handleRequestAction('rejected')\">\r\n <fa-icon [icon]=\"faTimes\" size=\"lg\" style=\"color: red;\"></fa-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".request-container{display:flex;flex-direction:row;align-items:center;margin:10px 0;padding-bottom:5px}.request-name{flex:5}.request-icon,.request-action{flex:2;display:flex;justify-content:center;align-items:center}.request-action{padding-right:10px}.request-action.accept,.request-action.reject{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] });
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RenderRequestComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'app-render-request-component', standalone: true, imports: [CommonModule, FontAwesomeModule], template: "<div class=\"request-container\" *ngIf=\"request\">\r\n <div class=\"request-name\">{{ request.name }}</div>\r\n <div class=\"request-icon\">\r\n <fa-icon [icon]=\"getIcon(request.icon)\" size=\"lg\" color=\"black\"></fa-icon>\r\n </div>\r\n <div class=\"request-action accept\">\r\n <button (click)=\"handleRequestAction('accepted')\">\r\n <fa-icon [icon]=\"faCheck\" size=\"lg\" style=\"color: green;\"></fa-icon>\r\n </button>\r\n </div>\r\n <div class=\"request-action reject\">\r\n <button (click)=\"handleRequestAction('rejected')\">\r\n <fa-icon [icon]=\"faTimes\" size=\"lg\" style=\"color: red;\"></fa-icon>\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".request-container{display:flex;flex-direction:row;align-items:center;margin:10px 0;padding-bottom:5px}.request-name{flex:5}.request-icon,.request-action{flex:2;display:flex;justify-content:center;align-items:center}.request-action{padding-right:10px}.request-action.accept,.request-action.reject{margin-right:10px}\n"] }]
46
+ }], propDecorators: { request: [{
47
+ type: Input
48
+ }], requestList: [{
49
+ type: Input
50
+ }], roomName: [{
51
+ type: Input
52
+ }], socket: [{
53
+ type: Input
54
+ }], onRequestItemPress: [{
55
+ type: Input
56
+ }], updateRequestList: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLXJlcXVlc3QtY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3JlcXVlc3RzLWNvbXBvbmVudHMvcmVuZGVyLXJlcXVlc3QtY29tcG9uZW50L3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZXF1ZXN0cy1jb21wb25lbnRzL3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsT0FBTyxFQUNQLE9BQU8sR0FFUixNQUFNLG1DQUFtQyxDQUFDOzs7O0FBc0IzQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLE9BQU8sR0FBWSxFQUFhLENBQUM7SUFDakMsV0FBVyxHQUFjLEVBQUUsQ0FBQztJQUM1QixRQUFRLENBQVU7SUFDbEIsTUFBTSxHQUFXLEVBQVksQ0FBQztJQUM5QixrQkFBa0IsQ0FBK0M7SUFDakUsaUJBQWlCLENBQXVDO0lBRWpFLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUN0QixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2xCLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDeEIsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNsQixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRWxCLE1BQU0sR0FBc0M7UUFDMUMsZUFBZSxFQUFFLElBQUksQ0FBQyxZQUFZO1FBQ2xDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUztRQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVO0tBQy9CLENBQUM7SUFFRixPQUFPLENBQUMsUUFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtQkFBbUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQzt1R0FuQ1Msc0JBQXNCOzJGQUF0QixzQkFBc0IsOFFDakNuQyxpckJBZ0JBLHNYRGFZLFlBQVksa0lBQUUsaUJBQWlCOzsyRkFJOUIsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUM7OEJBS2pDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQge1xuICBmYU1pY3JvcGhvbmUsXG4gIGZhRGVza3RvcCxcbiAgZmFWaWRlbyxcbiAgZmFDb21tZW50cyxcbiAgZmFDaGVjayxcbiAgZmFUaW1lcyxcbiAgSWNvbkRlZmluaXRpb24sXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBSZXNwb25kVG9SZXF1ZXN0c1R5cGUsIFJlc3BvbmRUb1JlcXVlc3RzT3B0aW9ucywgUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL0B0eXBlcy90eXBlcyc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50T3B0aW9ucyB7XG4gIHJlcXVlc3Q6IFJlcXVlc3Q7XG4gIG9uUmVxdWVzdEl0ZW1QcmVzczogUmVzcG9uZFRvUmVxdWVzdHNUeXBlO1xuICByZXF1ZXN0TGlzdDogUmVxdWVzdFtdO1xuICB1cGRhdGVSZXF1ZXN0TGlzdDogKG5ld1JlcXVlc3RMaXN0OiBSZXF1ZXN0W10pID0+IHZvaWQ7XG4gIHJvb21OYW1lOiBzdHJpbmc7XG4gIHNvY2tldDogU29ja2V0O1xufVxuXG5leHBvcnQgdHlwZSBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50VHlwZSA9IChvcHRpb25zOiBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50T3B0aW9ucykgPT4gSFRNTEVsZW1lbnQ7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVxdWVzdDogUmVxdWVzdCA9IHt9IGFzIFJlcXVlc3Q7XG4gIEBJbnB1dCgpIHJlcXVlc3RMaXN0OiBSZXF1ZXN0W10gPSBbXTtcbiAgQElucHV0KCkgcm9vbU5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNvY2tldDogU29ja2V0ID0ge30gYXMgU29ja2V0O1xuICBASW5wdXQoKSBvblJlcXVlc3RJdGVtUHJlc3MhOiAob3B0aW9uczogUmVzcG9uZFRvUmVxdWVzdHNPcHRpb25zKSA9PiB2b2lkO1xuICBASW5wdXQoKSB1cGRhdGVSZXF1ZXN0TGlzdCE6IChuZXdSZXF1ZXN0TGlzdDogUmVxdWVzdFtdKSA9PiB2b2lkO1xuXG4gIGZhTWljcm9waG9uZSA9IGZhTWljcm9waG9uZTtcbiAgZmFEZXNrdG9wID0gZmFEZXNrdG9wO1xuICBmYVZpZGVvID0gZmFWaWRlbztcbiAgZmFDb21tZW50cyA9IGZhQ29tbWVudHM7XG4gIGZhQ2hlY2sgPSBmYUNoZWNrO1xuICBmYVRpbWVzID0gZmFUaW1lcztcblxuICBrZXlNYXA6IHsgW2tleTogc3RyaW5nXTogSWNvbkRlZmluaXRpb24gfSA9IHtcbiAgICAnZmEtbWljcm9waG9uZSc6IHRoaXMuZmFNaWNyb3Bob25lLFxuICAgICdmYS1kZXNrdG9wJzogdGhpcy5mYURlc2t0b3AsXG4gICAgJ2ZhLXZpZGVvJzogdGhpcy5mYVZpZGVvLFxuICAgICdmYS1jb21tZW50cyc6IHRoaXMuZmFDb21tZW50cyxcbiAgfTtcblxuICBnZXRJY29uKGljb25OYW1lOiBzdHJpbmcpOiBJY29uRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMua2V5TWFwW2ljb25OYW1lXTtcbiAgfVxuXG4gIGhhbmRsZVJlcXVlc3RBY3Rpb24gPSAoYWN0aW9uOiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLm9uUmVxdWVzdEl0ZW1QcmVzcyh7XG4gICAgICByZXF1ZXN0OiB0aGlzLnJlcXVlc3QsXG4gICAgICB1cGRhdGVSZXF1ZXN0TGlzdDogdGhpcy51cGRhdGVSZXF1ZXN0TGlzdCxcbiAgICAgIHJlcXVlc3RMaXN0OiB0aGlzLnJlcXVlc3RMaXN0LFxuICAgICAgYWN0aW9uOiBhY3Rpb24sXG4gICAgICByb29tTmFtZTogdGhpcy5yb29tTmFtZSxcbiAgICAgIHNvY2tldDogdGhpcy5zb2NrZXQsXG4gICAgfSk7XG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVxdWVzdC1jb250YWluZXJcIiAqbmdJZj1cInJlcXVlc3RcIj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1uYW1lXCI+e3sgcmVxdWVzdC5uYW1lIH19PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJlcXVlc3QtaWNvblwiPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiZ2V0SWNvbihyZXF1ZXN0Lmljb24pXCIgc2l6ZT1cImxnXCIgY29sb3I9XCJibGFja1wiPjwvZmEtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1hY3Rpb24gYWNjZXB0XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXF1ZXN0QWN0aW9uKCdhY2NlcHRlZCcpXCI+XHJcbiAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhQ2hlY2tcIiBzaXplPVwibGdcIiBzdHlsZT1cImNvbG9yOiBncmVlbjtcIj48L2ZhLWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1hY3Rpb24gcmVqZWN0XCI+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVSZXF1ZXN0QWN0aW9uKCdyZWplY3RlZCcpXCI+XHJcbiAgICAgIDxmYS1pY29uIFtpY29uXT1cImZhVGltZXNcIiBzaXplPVwibGdcIiBzdHlsZT1cImNvbG9yOiByZWQ7XCI+PC9mYS1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,130 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
4
+ import { faTimes } from '@fortawesome/free-solid-svg-icons';
5
+ import { RenderRequestComponent, } from '../render-request-component/render-request-component.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../methods/requests-methods/respond-to-requests.service";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "@fortawesome/angular-fontawesome";
10
+ /**
11
+ * @component RequestsModal
12
+ * @description A modal component to display and manage requests.
13
+ *
14
+ * @selector app-requests-modal
15
+ * @standalone true
16
+ * @imports [CommonModule, FontAwesomeModule, RenderRequestComponent]
17
+ * @templateUrl ./requests-modal.component.html
18
+ * @styleUrls ./requests-modal.component.css
19
+ *
20
+ * @property {boolean} isRequestsModalVisible - Determines if the requests modal is visible.
21
+ * @property {number} requestCounter - Counter for the number of requests.
22
+ * @property {Request[]} requestList - List of requests.
23
+ * @property {string} roomName - Name of the room.
24
+ * @property {Socket} socket - Socket instance for communication.
25
+ * @property {string} backgroundColor - Background color of the modal.
26
+ * @property {string} position - Position of the modal.
27
+ * @property {any} parameters - Additional parameters for the modal.
28
+ * @property {Function} onRequestClose - Callback function when the modal is closed.
29
+ * @property {Function} onRequestFilterChange - Callback function when the request filter changes.
30
+ * @property {Function} onRequestItemPress - Callback function when a request item is pressed.
31
+ * @property {Function} updateRequestList - Function to update the request list.
32
+ *
33
+ * @property {IconDefinition} faTimes - FontAwesome icon for closing the modal.
34
+ * @property {any[]} requestList_s - Filtered list of requests.
35
+ * @property {number} requestCounter_s - Counter for the filtered list of requests.
36
+ * @property {boolean} reRender - Flag to trigger re-rendering.
37
+ *
38
+ * @constructor
39
+ * @param {RespondToRequests} respondToRequestsService - Service to handle request responses.
40
+ *
41
+ * @method ngOnInit - Lifecycle hook that is called after data-bound properties are initialized.
42
+ * @method ngOnChanges - Lifecycle hook that is called when any data-bound property changes.
43
+ * @param {SimpleChanges} changes - Object of current and previous property values.
44
+ *
45
+ * @method updateRequests - Updates the request list and counter based on the current parameters.
46
+ * @method handleModalClose - Handles the modal close action.
47
+ * @method handleFilterChange - Handles the filter change event.
48
+ * @param {Event} event - The filter change event.
49
+ */
50
+ export class RequestsModal {
51
+ respondToRequestsService;
52
+ isRequestsModalVisible = false;
53
+ requestCounter = 0;
54
+ requestList = [];
55
+ roomName;
56
+ socket = {};
57
+ backgroundColor = '#83c0e9';
58
+ position = 'topRight';
59
+ parameters;
60
+ onRequestClose;
61
+ onRequestFilterChange;
62
+ onRequestItemPress;
63
+ updateRequestList;
64
+ faTimes = faTimes;
65
+ requestList_s = [];
66
+ requestCounter_s = 0;
67
+ reRender = false;
68
+ constructor(respondToRequestsService) {
69
+ this.respondToRequestsService = respondToRequestsService;
70
+ }
71
+ ngOnInit() {
72
+ if (!this.onRequestItemPress) {
73
+ this.onRequestItemPress = (params) => this.respondToRequestsService.respondToRequests(params);
74
+ }
75
+ }
76
+ ngOnChanges(changes) {
77
+ if (changes['requestList'] || changes['reRender'] || changes['requestCounter']) {
78
+ this.updateRequests();
79
+ }
80
+ if (changes['isRequestsModalVisible'] && this.isRequestsModalVisible) {
81
+ this.parameters = this.parameters.getUpdatedAllParams();
82
+ this.updateRequests();
83
+ }
84
+ }
85
+ updateRequests() {
86
+ this.parameters = this.parameters.getUpdatedAllParams();
87
+ this.requestList_s = this.parameters.filteredRequestList || [];
88
+ this.requestCounter_s = this.parameters.filteredRequestList.length;
89
+ }
90
+ handleModalClose() {
91
+ this.onRequestClose();
92
+ }
93
+ handleFilterChange(event) {
94
+ const input = event.target;
95
+ this.onRequestFilterChange(input.value);
96
+ this.parameters = this.parameters.getUpdatedAllParams();
97
+ this.reRender = !this.reRender;
98
+ }
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestsModal, deps: [{ token: i1.RespondToRequests }], target: i0.ɵɵFactoryTarget.Component });
100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RequestsModal, isStandalone: true, selector: "app-requests-modal", inputs: { isRequestsModalVisible: "isRequestsModalVisible", requestCounter: "requestCounter", requestList: "requestList", roomName: "roomName", socket: "socket", backgroundColor: "backgroundColor", position: "position", parameters: "parameters", onRequestClose: "onRequestClose", onRequestFilterChange: "onRequestFilterChange", onRequestItemPress: "onRequestItemPress", updateRequestList: "updateRequestList" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isRequestsModalVisible\" class=\"modal-container\" [ngStyle]=\"{'background-color': 'rgba(0, 0, 0, 0.5)'}\">\r\n <div class=\"modal-content\" [ngStyle]=\"{'background-color': backgroundColor, 'top': position.includes('top') ? '10px' : 'auto', 'bottom': position.includes('bottom') ? '10px' : 'auto', 'left': position.includes('Left') ? '10px' : 'auto', 'right': position.includes('Right') ? '10px' : 'auto'}\">\r\n <div class=\"modal-header\">\r\n <div>\r\n Requests <span class=\"badge text-dark\">{{ requestCounter_s }}</span>\r\n </div>\r\n <div class=\"close-icon\" (click)=\"handleModalClose()\">\r\n <fa-icon [icon]=\"faTimes\" size=\"lg\"></fa-icon>\r\n </div>\r\n </div>\r\n <hr class=\"separator\" />\r\n <div class=\"modal-body\">\r\n <input type=\"text\" class=\"filter-input\" placeholder=\"Search ...\" (input)=\"handleFilterChange($event)\">\r\n <div class=\"request-list\">\r\n <ng-container *ngFor=\"let requestItem of requestList_s; let i = index\">\r\n <app-render-request-component\r\n [request]=\"requestItem\"\r\n [requestList]=\"requestList\"\r\n [roomName]=\"roomName\"\r\n [socket]=\"socket\"\r\n [onRequestItemPress]=\"onRequestItemPress\"\r\n [updateRequestList]=\"updateRequestList\">\r\n </app-render-request-component>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".modal-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:block;z-index:999}.modal-content{position:fixed;background-color:#83c0e9;border-radius:10px;padding:10px;width:80%;max-width:350px;max-height:65%;overflow-y:auto;top:10px;right:10px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-title{font-size:18px;font-weight:700;color:#000}.close-button{border:none;background:none;cursor:pointer}.separator{height:1px;background-color:#000;margin:5px 0}.modal-body{margin-bottom:20px}.filter-input{width:90%;padding:10px;border-radius:5px;border:1px solid #000;font-size:16px;margin-bottom:10px}.request-list{max-height:calc(100% - 150px);overflow-y:auto}.icon{font-size:20px;color:#000}.text-dark{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: RenderRequestComponent, selector: "app-render-request-component", inputs: ["request", "requestList", "roomName", "socket", "onRequestItemPress", "updateRequestList"] }] });
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestsModal, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'app-requests-modal', standalone: true, imports: [CommonModule, FontAwesomeModule, RenderRequestComponent], template: "<div *ngIf=\"isRequestsModalVisible\" class=\"modal-container\" [ngStyle]=\"{'background-color': 'rgba(0, 0, 0, 0.5)'}\">\r\n <div class=\"modal-content\" [ngStyle]=\"{'background-color': backgroundColor, 'top': position.includes('top') ? '10px' : 'auto', 'bottom': position.includes('bottom') ? '10px' : 'auto', 'left': position.includes('Left') ? '10px' : 'auto', 'right': position.includes('Right') ? '10px' : 'auto'}\">\r\n <div class=\"modal-header\">\r\n <div>\r\n Requests <span class=\"badge text-dark\">{{ requestCounter_s }}</span>\r\n </div>\r\n <div class=\"close-icon\" (click)=\"handleModalClose()\">\r\n <fa-icon [icon]=\"faTimes\" size=\"lg\"></fa-icon>\r\n </div>\r\n </div>\r\n <hr class=\"separator\" />\r\n <div class=\"modal-body\">\r\n <input type=\"text\" class=\"filter-input\" placeholder=\"Search ...\" (input)=\"handleFilterChange($event)\">\r\n <div class=\"request-list\">\r\n <ng-container *ngFor=\"let requestItem of requestList_s; let i = index\">\r\n <app-render-request-component\r\n [request]=\"requestItem\"\r\n [requestList]=\"requestList\"\r\n [roomName]=\"roomName\"\r\n [socket]=\"socket\"\r\n [onRequestItemPress]=\"onRequestItemPress\"\r\n [updateRequestList]=\"updateRequestList\">\r\n </app-render-request-component>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".modal-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:block;z-index:999}.modal-content{position:fixed;background-color:#83c0e9;border-radius:10px;padding:10px;width:80%;max-width:350px;max-height:65%;overflow-y:auto;top:10px;right:10px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-title{font-size:18px;font-weight:700;color:#000}.close-button{border:none;background:none;cursor:pointer}.separator{height:1px;background-color:#000;margin:5px 0}.modal-body{margin-bottom:20px}.filter-input{width:90%;padding:10px;border-radius:5px;border:1px solid #000;font-size:16px;margin-bottom:10px}.request-list{max-height:calc(100% - 150px);overflow-y:auto}.icon{font-size:20px;color:#000}.text-dark{color:#000}\n"] }]
105
+ }], ctorParameters: () => [{ type: i1.RespondToRequests }], propDecorators: { isRequestsModalVisible: [{
106
+ type: Input
107
+ }], requestCounter: [{
108
+ type: Input
109
+ }], requestList: [{
110
+ type: Input
111
+ }], roomName: [{
112
+ type: Input
113
+ }], socket: [{
114
+ type: Input
115
+ }], backgroundColor: [{
116
+ type: Input
117
+ }], position: [{
118
+ type: Input
119
+ }], parameters: [{
120
+ type: Input
121
+ }], onRequestClose: [{
122
+ type: Input
123
+ }], onRequestFilterChange: [{
124
+ type: Input
125
+ }], onRequestItemPress: [{
126
+ type: Input
127
+ }], updateRequestList: [{
128
+ type: Input
129
+ }] } });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvcmVxdWVzdHMtY29tcG9uZW50cy9yZXF1ZXN0cy1tb2RhbC9yZXF1ZXN0cy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9yZXF1ZXN0cy1jb21wb25lbnRzL3JlcXVlc3RzLW1vZGFsL3JlcXVlc3RzLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFDTCxzQkFBc0IsR0FFdkIsTUFBTSxnRUFBZ0UsQ0FBQzs7Ozs7QUE4QnhFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Q0c7QUFRSCxNQUFNLE9BQU8sYUFBYTtJQW1CSjtJQWxCWCxzQkFBc0IsR0FBRyxLQUFLLENBQUM7SUFDL0IsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNuQixXQUFXLEdBQWMsRUFBRSxDQUFDO0lBQzVCLFFBQVEsQ0FBVTtJQUNsQixNQUFNLEdBQVcsRUFBWSxDQUFDO0lBQzlCLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDNUIsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUN0QixVQUFVLENBQU07SUFDaEIsY0FBYyxDQUFjO0lBQzVCLHFCQUFxQixDQUE0QjtJQUNqRCxrQkFBa0IsQ0FBeUI7SUFDM0MsaUJBQWlCLENBQW1DO0lBRTdELE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDbEIsYUFBYSxHQUFVLEVBQUUsQ0FBQztJQUMxQixnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDckIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVqQixZQUFvQix3QkFBMkM7UUFBM0MsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFtQjtJQUFHLENBQUM7SUFFbkUsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUN4QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDL0UsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztJQUNyRSxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFZO1FBQzdCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQzt1R0F0RFUsYUFBYTsyRkFBYixhQUFhLCtmQ3BGMUIscTlDQTRCQSxnMkJEb0RZLFlBQVksb1ZBQUUsaUJBQWlCLDZQQUFFLHNCQUFzQjs7MkZBSXRELGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsQ0FBQztzRkFLekQsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhVGltZXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHtcbiAgUmVuZGVyUmVxdWVzdENvbXBvbmVudCxcbiAgUmVuZGVyUmVxdWVzdENvbXBvbmVudE9wdGlvbnMsXG59IGZyb20gJy4uL3JlbmRlci1yZXF1ZXN0LWNvbXBvbmVudC9yZW5kZXItcmVxdWVzdC1jb21wb25lbnQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFJlc3BvbmRUb1JlcXVlc3RzLFxuICBSZXNwb25kVG9SZXF1ZXN0c1R5cGUsXG59IGZyb20gJy4uLy4uLy4uL21ldGhvZHMvcmVxdWVzdHMtbWV0aG9kcy9yZXNwb25kLXRvLXJlcXVlc3RzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ja2V0IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQgeyBSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0c01vZGFsUGFyYW1ldGVycyB7XG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IHsgZmlsdGVyZWRSZXF1ZXN0TGlzdDogUmVxdWVzdFtdIH07XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0c01vZGFsT3B0aW9ucyB7XG4gIGlzUmVxdWVzdHNNb2RhbFZpc2libGU6IGJvb2xlYW47XG4gIHJlcXVlc3RDb3VudGVyOiBudW1iZXI7XG4gIHJlcXVlc3RMaXN0OiBSZXF1ZXN0W107XG4gIHJvb21OYW1lOiBzdHJpbmc7XG4gIHNvY2tldDogU29ja2V0O1xuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgcG9zaXRpb246IHN0cmluZztcbiAgcGFyYW1ldGVyczogUmVxdWVzdHNNb2RhbFBhcmFtZXRlcnM7XG4gIG9uUmVxdWVzdENsb3NlOiAoKSA9PiB2b2lkO1xuICBvblJlcXVlc3RGaWx0ZXJDaGFuZ2U6IChmaWx0ZXI6IHN0cmluZykgPT4gdm9pZDtcbiAgb25SZXF1ZXN0SXRlbVByZXNzPzogUmVzcG9uZFRvUmVxdWVzdHNUeXBlO1xuICB1cGRhdGVSZXF1ZXN0TGlzdDogKG5ld1JlcXVlc3RMaXN0OiBhbnlbXSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgUmVxdWVzdHNNb2RhbFR5cGUgPSAob3B0aW9uczogUmVuZGVyUmVxdWVzdENvbXBvbmVudE9wdGlvbnMpID0+IEhUTUxFbGVtZW50O1xuXG4vKipcbiAqIEBjb21wb25lbnQgUmVxdWVzdHNNb2RhbFxuICogQGRlc2NyaXB0aW9uIEEgbW9kYWwgY29tcG9uZW50IHRvIGRpc3BsYXkgYW5kIG1hbmFnZSByZXF1ZXN0cy5cbiAqXG4gKiBAc2VsZWN0b3IgYXBwLXJlcXVlc3RzLW1vZGFsXG4gKiBAc3RhbmRhbG9uZSB0cnVlXG4gKiBAaW1wb3J0cyBbQ29tbW9uTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZSwgUmVuZGVyUmVxdWVzdENvbXBvbmVudF1cbiAqIEB0ZW1wbGF0ZVVybCAuL3JlcXVlc3RzLW1vZGFsLmNvbXBvbmVudC5odG1sXG4gKiBAc3R5bGVVcmxzIC4vcmVxdWVzdHMtbW9kYWwuY29tcG9uZW50LmNzc1xuICpcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gaXNSZXF1ZXN0c01vZGFsVmlzaWJsZSAtIERldGVybWluZXMgaWYgdGhlIHJlcXVlc3RzIG1vZGFsIGlzIHZpc2libGUuXG4gKiBAcHJvcGVydHkge251bWJlcn0gcmVxdWVzdENvdW50ZXIgLSBDb3VudGVyIGZvciB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzLlxuICogQHByb3BlcnR5IHtSZXF1ZXN0W119IHJlcXVlc3RMaXN0IC0gTGlzdCBvZiByZXF1ZXN0cy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSByb29tTmFtZSAtIE5hbWUgb2YgdGhlIHJvb20uXG4gKiBAcHJvcGVydHkge1NvY2tldH0gc29ja2V0IC0gU29ja2V0IGluc3RhbmNlIGZvciBjb21tdW5pY2F0aW9uLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGJhY2tncm91bmRDb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG1vZGFsLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHBvc2l0aW9uIC0gUG9zaXRpb24gb2YgdGhlIG1vZGFsLlxuICogQHByb3BlcnR5IHthbnl9IHBhcmFtZXRlcnMgLSBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHRoZSBtb2RhbC5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IG9uUmVxdWVzdENsb3NlIC0gQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkLlxuICogQHByb3BlcnR5IHtGdW5jdGlvbn0gb25SZXF1ZXN0RmlsdGVyQ2hhbmdlIC0gQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgcmVxdWVzdCBmaWx0ZXIgY2hhbmdlcy5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IG9uUmVxdWVzdEl0ZW1QcmVzcyAtIENhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gYSByZXF1ZXN0IGl0ZW0gaXMgcHJlc3NlZC5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb259IHVwZGF0ZVJlcXVlc3RMaXN0IC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSByZXF1ZXN0IGxpc3QuXG4gKlxuICogQHByb3BlcnR5IHtJY29uRGVmaW5pdGlvbn0gZmFUaW1lcyAtIEZvbnRBd2Vzb21lIGljb24gZm9yIGNsb3NpbmcgdGhlIG1vZGFsLlxuICogQHByb3BlcnR5IHthbnlbXX0gcmVxdWVzdExpc3RfcyAtIEZpbHRlcmVkIGxpc3Qgb2YgcmVxdWVzdHMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gcmVxdWVzdENvdW50ZXJfcyAtIENvdW50ZXIgZm9yIHRoZSBmaWx0ZXJlZCBsaXN0IG9mIHJlcXVlc3RzLlxuICogQHByb3BlcnR5IHtib29sZWFufSByZVJlbmRlciAtIEZsYWcgdG8gdHJpZ2dlciByZS1yZW5kZXJpbmcuXG4gKlxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge1Jlc3BvbmRUb1JlcXVlc3RzfSByZXNwb25kVG9SZXF1ZXN0c1NlcnZpY2UgLSBTZXJ2aWNlIHRvIGhhbmRsZSByZXF1ZXN0IHJlc3BvbnNlcy5cbiAqXG4gKiBAbWV0aG9kIG5nT25Jbml0IC0gTGlmZWN5Y2xlIGhvb2sgdGhhdCBpcyBjYWxsZWQgYWZ0ZXIgZGF0YS1ib3VuZCBwcm9wZXJ0aWVzIGFyZSBpbml0aWFsaXplZC5cbiAqIEBtZXRob2QgbmdPbkNoYW5nZXMgLSBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCB3aGVuIGFueSBkYXRhLWJvdW5kIHByb3BlcnR5IGNoYW5nZXMuXG4gKiBAcGFyYW0ge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXMgLSBPYmplY3Qgb2YgY3VycmVudCBhbmQgcHJldmlvdXMgcHJvcGVydHkgdmFsdWVzLlxuICpcbiAqIEBtZXRob2QgdXBkYXRlUmVxdWVzdHMgLSBVcGRhdGVzIHRoZSByZXF1ZXN0IGxpc3QgYW5kIGNvdW50ZXIgYmFzZWQgb24gdGhlIGN1cnJlbnQgcGFyYW1ldGVycy5cbiAqIEBtZXRob2QgaGFuZGxlTW9kYWxDbG9zZSAtIEhhbmRsZXMgdGhlIG1vZGFsIGNsb3NlIGFjdGlvbi5cbiAqIEBtZXRob2QgaGFuZGxlRmlsdGVyQ2hhbmdlIC0gSGFuZGxlcyB0aGUgZmlsdGVyIGNoYW5nZSBldmVudC5cbiAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGZpbHRlciBjaGFuZ2UgZXZlbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZXF1ZXN0cy1tb2RhbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvbnRBd2Vzb21lTW9kdWxlLCBSZW5kZXJSZXF1ZXN0Q29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcXVlc3RzLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVxdWVzdHMtbW9kYWwuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0c01vZGFsIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpc1JlcXVlc3RzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlcXVlc3RDb3VudGVyID0gMDtcbiAgQElucHV0KCkgcmVxdWVzdExpc3Q6IFJlcXVlc3RbXSA9IFtdO1xuICBASW5wdXQoKSByb29tTmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc29ja2V0OiBTb2NrZXQgPSB7fSBhcyBTb2NrZXQ7XG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvciA9ICcjODNjMGU5JztcbiAgQElucHV0KCkgcG9zaXRpb24gPSAndG9wUmlnaHQnO1xuICBASW5wdXQoKSBwYXJhbWV0ZXJzOiBhbnk7XG4gIEBJbnB1dCgpIG9uUmVxdWVzdENsb3NlITogKCkgPT4gdm9pZDtcbiAgQElucHV0KCkgb25SZXF1ZXN0RmlsdGVyQ2hhbmdlITogKGZpbHRlcjogc3RyaW5nKSA9PiB2b2lkO1xuICBASW5wdXQoKSBvblJlcXVlc3RJdGVtUHJlc3MhOiAocGFyYW1zOiBhbnkpID0+IHZvaWQ7XG4gIEBJbnB1dCgpIHVwZGF0ZVJlcXVlc3RMaXN0ITogKG5ld1JlcXVlc3RMaXN0OiBhbnlbXSkgPT4gdm9pZDtcblxuICBmYVRpbWVzID0gZmFUaW1lcztcbiAgcmVxdWVzdExpc3RfczogYW55W10gPSBbXTtcbiAgcmVxdWVzdENvdW50ZXJfcyA9IDA7XG4gIHJlUmVuZGVyID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNwb25kVG9SZXF1ZXN0c1NlcnZpY2U6IFJlc3BvbmRUb1JlcXVlc3RzKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5vblJlcXVlc3RJdGVtUHJlc3MpIHtcbiAgICAgIHRoaXMub25SZXF1ZXN0SXRlbVByZXNzID0gKHBhcmFtczogYW55KSA9PlxuICAgICAgICB0aGlzLnJlc3BvbmRUb1JlcXVlc3RzU2VydmljZS5yZXNwb25kVG9SZXF1ZXN0cyhwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncmVxdWVzdExpc3QnXSB8fCBjaGFuZ2VzWydyZVJlbmRlciddIHx8IGNoYW5nZXNbJ3JlcXVlc3RDb3VudGVyJ10pIHtcbiAgICAgIHRoaXMudXBkYXRlUmVxdWVzdHMoKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snaXNSZXF1ZXN0c01vZGFsVmlzaWJsZSddICYmIHRoaXMuaXNSZXF1ZXN0c01vZGFsVmlzaWJsZSkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMoKTtcbiAgICAgIHRoaXMudXBkYXRlUmVxdWVzdHMoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVSZXF1ZXN0cygpIHtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuICAgIHRoaXMucmVxdWVzdExpc3RfcyA9IHRoaXMucGFyYW1ldGVycy5maWx0ZXJlZFJlcXVlc3RMaXN0IHx8IFtdO1xuICAgIHRoaXMucmVxdWVzdENvdW50ZXJfcyA9IHRoaXMucGFyYW1ldGVycy5maWx0ZXJlZFJlcXVlc3RMaXN0Lmxlbmd0aDtcbiAgfVxuXG4gIGhhbmRsZU1vZGFsQ2xvc2UoKSB7XG4gICAgdGhpcy5vblJlcXVlc3RDbG9zZSgpO1xuICB9XG5cbiAgaGFuZGxlRmlsdGVyQ2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5vblJlcXVlc3RGaWx0ZXJDaGFuZ2UoaW5wdXQudmFsdWUpO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zKCk7XG4gICAgdGhpcy5yZVJlbmRlciA9ICF0aGlzLnJlUmVuZGVyO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaXNSZXF1ZXN0c01vZGFsVmlzaWJsZVwiIGNsYXNzPVwibW9kYWwtY29udGFpbmVyXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogJ3JnYmEoMCwgMCwgMCwgMC41KSd9XCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBiYWNrZ3JvdW5kQ29sb3IsICd0b3AnOiBwb3NpdGlvbi5pbmNsdWRlcygndG9wJykgPyAnMTBweCcgOiAnYXV0bycsICdib3R0b20nOiBwb3NpdGlvbi5pbmNsdWRlcygnYm90dG9tJykgPyAnMTBweCcgOiAnYXV0bycsICdsZWZ0JzogcG9zaXRpb24uaW5jbHVkZXMoJ0xlZnQnKSA/ICcxMHB4JyA6ICdhdXRvJywgJ3JpZ2h0JzogcG9zaXRpb24uaW5jbHVkZXMoJ1JpZ2h0JykgPyAnMTBweCcgOiAnYXV0byd9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgUmVxdWVzdHMgPHNwYW4gY2xhc3M9XCJiYWRnZSB0ZXh0LWRhcmtcIj57eyByZXF1ZXN0Q291bnRlcl9zIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNsb3NlLWljb25cIiAoY2xpY2spPVwiaGFuZGxlTW9kYWxDbG9zZSgpXCI+XHJcbiAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZmFUaW1lc1wiIHNpemU9XCJsZ1wiPjwvZmEtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxociBjbGFzcz1cInNlcGFyYXRvclwiIC8+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZpbHRlci1pbnB1dFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIC4uLlwiIChpbnB1dCk9XCJoYW5kbGVGaWx0ZXJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVxdWVzdC1saXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVxdWVzdEl0ZW0gb2YgcmVxdWVzdExpc3RfczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGFwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnRcclxuICAgICAgICAgICAgW3JlcXVlc3RdPVwicmVxdWVzdEl0ZW1cIlxyXG4gICAgICAgICAgICBbcmVxdWVzdExpc3RdPVwicmVxdWVzdExpc3RcIlxyXG4gICAgICAgICAgICBbcm9vbU5hbWVdPVwicm9vbU5hbWVcIlxyXG4gICAgICAgICAgICBbc29ja2V0XT1cInNvY2tldFwiXHJcbiAgICAgICAgICAgIFtvblJlcXVlc3RJdGVtUHJlc3NdPVwib25SZXF1ZXN0SXRlbVByZXNzXCJcclxuICAgICAgICAgICAgW3VwZGF0ZVJlcXVlc3RMaXN0XT1cInVwZGF0ZVJlcXVlc3RMaXN0XCI+XHJcbiAgICAgICAgICA8L2FwcC1yZW5kZXItcmVxdWVzdC1jb21wb25lbnQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=