mediasfu-angular 2.2.1 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/README.md +970 -40
  2. package/USAGE_COOKBOOK.md +202 -0
  3. package/dist/LICENSE +21 -0
  4. package/dist/README.md +970 -40
  5. package/dist/fesm2022/mediasfu-angular.mjs +30595 -16317
  6. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  7. package/dist/lib/@types/types.d.ts +28 -2
  8. package/dist/lib/@types/ui-overrides.types.d.ts +314 -0
  9. package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +1053 -5
  10. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +2126 -51
  11. package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +1587 -45
  12. package/dist/lib/components/breakout-components/room-list/room-list.component.d.ts +5 -1
  13. package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +1067 -56
  14. package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +98 -28
  15. package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +17 -7
  16. package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +591 -11
  17. package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +3 -0
  18. package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +1 -1
  19. package/dist/lib/components/display-components/control-buttons-component/control-buttons-component.component.d.ts +34 -2
  20. package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +19 -0
  21. package/dist/lib/components/display-components/control-widgets/control-icon-badge-widget.component.d.ts +13 -0
  22. package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +1 -0
  23. package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +2 -2
  24. package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +2 -2
  25. package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +2 -0
  26. package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +5 -3
  27. package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +617 -26
  28. package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +41 -1
  29. package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +2024 -10
  30. package/dist/lib/components/display-components/main-aspect-component/main-aspect-component.component.d.ts +6 -2
  31. package/dist/lib/components/display-components/main-container-component/main-container-component.component.d.ts +6 -2
  32. package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +507 -8
  33. package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +508 -7
  34. package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +18 -11
  35. package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +11 -3
  36. package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +1026 -999
  37. package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +9 -3
  38. package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +517 -1
  39. package/dist/lib/components/display-components/pagination/pagination.component.d.ts +34 -1
  40. package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +513 -2
  41. package/dist/lib/components/display-components/subtitle-overlay/subtitle-overlay.component.d.ts +6 -0
  42. package/dist/lib/components/display-components/video-card/video-card.component.d.ts +10 -6
  43. package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +1108 -27
  44. package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +1134 -49
  45. package/dist/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.d.ts +94 -32
  46. package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +1123 -47
  47. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +2622 -4793
  48. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +602 -4140
  49. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +864 -5707
  50. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +2087 -6304
  51. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +650 -5707
  52. package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +26 -4
  53. package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +80 -1
  54. package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +46 -1
  55. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +706 -15
  56. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +49 -2
  57. package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +79 -16
  58. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +1113 -17
  59. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +4 -0
  60. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +1114 -29
  61. package/dist/lib/components/panelists-components/panelists-modal/panelists-modal.component.d.ts +73 -0
  62. package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +1084 -6
  63. package/dist/lib/components/permissions-components/permissions-modal/permissions-modal.component.d.ts +89 -0
  64. package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +1060 -21
  65. package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +1055 -35
  66. package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +1117 -45
  67. package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +1059 -47
  68. package/dist/lib/components/translation-components/translation-settings-modal/translation-settings-modal.component.d.ts +124 -0
  69. package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +1119 -46
  70. package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +2117 -22
  71. package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +3 -15
  72. package/dist/lib/consumers/add-videos-grid.service.d.ts +3 -0
  73. package/dist/lib/consumers/auto-adjust.service.d.ts +0 -11
  74. package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +0 -7
  75. package/dist/lib/consumers/change-vids.service.d.ts +1 -1
  76. package/dist/lib/consumers/check-permission.service.d.ts +4 -1
  77. package/dist/lib/consumers/check-screen-share.service.d.ts +0 -18
  78. package/dist/lib/consumers/compare-active-names.service.d.ts +0 -16
  79. package/dist/lib/consumers/compare-screen-states.service.d.ts +0 -18
  80. package/dist/lib/consumers/connect-ips.service.d.ts +5 -26
  81. package/dist/lib/consumers/connect-local-ips.service.d.ts +1 -28
  82. package/dist/lib/consumers/connect-recv-transport.service.d.ts +4 -1
  83. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +5 -1
  84. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +6 -1
  85. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +6 -1
  86. package/dist/lib/consumers/connect-send-transport.service.d.ts +3 -1
  87. package/dist/lib/consumers/consumer-resume.service.d.ts +2 -1
  88. package/dist/lib/consumers/create-send-transport.service.d.ts +4 -1
  89. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +3 -1
  90. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +3 -1
  91. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +3 -1
  92. package/dist/lib/consumers/disp-streams.service.d.ts +1 -110
  93. package/dist/lib/consumers/generate-page-content.service.d.ts +0 -17
  94. package/dist/lib/consumers/get-estimate.service.d.ts +0 -21
  95. package/dist/lib/consumers/mix-streams.service.d.ts +0 -19
  96. package/dist/lib/consumers/on-screen-changes.service.d.ts +1 -21
  97. package/dist/lib/consumers/prepopulate-user-media.service.d.ts +3 -0
  98. package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +1 -14
  99. package/dist/lib/consumers/process-consumer-transports.service.d.ts +3 -57
  100. package/dist/lib/consumers/re-update-inter.service.d.ts +1 -39
  101. package/dist/lib/consumers/reorder-streams.service.d.ts +1 -35
  102. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +3 -1
  103. package/dist/lib/consumers/signal-new-consumer-transport.service.d.ts +3 -1
  104. package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +5 -14
  105. package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +4 -14
  106. package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +1 -8
  107. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +5 -1
  108. package/dist/lib/consumers/stream-success-audio.service.d.ts +3 -1
  109. package/dist/lib/consumers/stream-success-video.service.d.ts +5 -1
  110. package/dist/lib/consumers/translation-consumer-switch.service.d.ts +68 -0
  111. package/dist/lib/consumers/trigger.service.d.ts +0 -79
  112. package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +0 -24
  113. package/dist/lib/directives/with-override.directive.d.ts +76 -0
  114. package/dist/lib/methods/background-methods/launch-background.service.d.ts +2 -5
  115. package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +2 -5
  116. package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +2 -5
  117. package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +1 -1
  118. package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +2 -5
  119. package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +2 -0
  120. package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +2 -5
  121. package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +2 -5
  122. package/dist/lib/methods/message-methods/launch-messages.service.d.ts +2 -5
  123. package/dist/lib/methods/panelists-methods/add-panelist.service.d.ts +19 -0
  124. package/dist/lib/methods/panelists-methods/focus-panelists.service.d.ts +19 -0
  125. package/dist/lib/methods/panelists-methods/remove-panelist.service.d.ts +17 -0
  126. package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +2 -5
  127. package/dist/lib/methods/permissions-methods/bulk-update-participant-permissions.service.d.ts +20 -0
  128. package/dist/lib/methods/permissions-methods/update-participant-permission.service.d.ts +19 -0
  129. package/dist/lib/methods/permissions-methods/update-permission-config.service.d.ts +29 -0
  130. package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +1 -1
  131. package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +1 -1
  132. package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +1 -1
  133. package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +1 -1
  134. package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +1 -12
  135. package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +1 -11
  136. package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +0 -94
  137. package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +1 -20
  138. package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +1 -12
  139. package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +0 -66
  140. package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +1 -33
  141. package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +1 -17
  142. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +1 -92
  143. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +1 -42
  144. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +1 -94
  145. package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +2 -5
  146. package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +2 -5
  147. package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +1 -1
  148. package/dist/lib/methods/stream-methods/click-chat.service.d.ts +1 -1
  149. package/dist/lib/methods/utils/get-modal-position.util.d.ts +0 -3
  150. package/dist/lib/methods/utils/initial-values.util.d.ts +25 -3
  151. package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +11 -1
  152. package/dist/lib/methods/utils/producer/a-params.service.d.ts +2 -5
  153. package/dist/lib/methods/utils/producer/h-params.service.d.ts +2 -5
  154. package/dist/lib/methods/utils/producer/screen-params.service.d.ts +2 -5
  155. package/dist/lib/methods/utils/producer/v-params.service.d.ts +2 -5
  156. package/dist/lib/methods/utils/sound-player.service.d.ts +1 -1
  157. package/dist/lib/methods/utils/translation-languages.util.d.ts +341 -0
  158. package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +2 -5
  159. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +3 -1
  160. package/dist/lib/modern/display-components/modern-alert.component.d.ts +40 -0
  161. package/dist/lib/modern/display-components/modern-loading-modal.component.d.ts +37 -0
  162. package/dist/lib/modern/display-components/modern-meeting-progress-timer.component.d.ts +40 -0
  163. package/dist/lib/modern/display-components/modern-mini-card.component.d.ts +1064 -0
  164. package/dist/lib/modern/display-components/modern-pagination.component.d.ts +91 -0
  165. package/dist/lib/modern/display-components/modern-participants-counter-badge.component.d.ts +16 -0
  166. package/dist/lib/modern/modal-components/modern-co-host-modal.component.d.ts +63 -0
  167. package/dist/lib/modern/modal-components/modern-confirm-exit-modal.component.d.ts +42 -0
  168. package/dist/lib/modern/modal-components/modern-confirm-here-modal.component.d.ts +39 -0
  169. package/dist/lib/modern/modal-components/modern-display-settings-modal.component.d.ts +59 -0
  170. package/dist/lib/modern/modal-components/modern-event-settings-modal.component.d.ts +80 -0
  171. package/dist/lib/modern/modal-components/modern-media-settings-modal.component.d.ts +72 -0
  172. package/dist/lib/modern/modal-components/modern-menu-modal.component.d.ts +48 -0
  173. package/dist/lib/modern/modal-components/modern-messages-modal.component.d.ts +58 -0
  174. package/dist/lib/modern/modal-components/modern-participants-modal.component.d.ts +49 -0
  175. package/dist/lib/modern/modal-components/modern-poll-modal.component.d.ts +54 -0
  176. package/dist/lib/modern/modal-components/modern-recording-modal.component.d.ts +39 -0
  177. package/dist/lib/modern/modal-components/modern-requests-modal.component.d.ts +61 -0
  178. package/dist/lib/modern/modal-components/modern-share-event-modal.component.d.ts +39 -0
  179. package/dist/lib/modern/modal-components/modern-waiting-room-modal.component.d.ts +55 -0
  180. package/dist/lib/modern/primitives/modern-button.component.d.ts +10 -0
  181. package/dist/lib/modern/primitives/modern-entry-shell.component.d.ts +6 -0
  182. package/dist/lib/modern/primitives/modern-field.component.d.ts +32 -0
  183. package/dist/lib/modern/primitives/modern-sidebar-panel.component.d.ts +24 -0
  184. package/dist/lib/modern/primitives/modern-surface.component.d.ts +7 -0
  185. package/dist/lib/modern/utils/render-mode.utils.d.ts +3 -0
  186. package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +4 -10
  187. package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +0 -19
  188. package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +8 -63
  189. package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +3 -19
  190. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +3 -106
  191. package/dist/lib/producers/producer-emits/join-room.service.d.ts +0 -18
  192. package/dist/lib/producers/socket-receive-methods/added-as-panelist.service.d.ts +15 -0
  193. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +1 -90
  194. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +1 -88
  195. package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +1 -66
  196. package/dist/lib/producers/socket-receive-methods/get-domains.service.d.ts +3 -1
  197. package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +1 -1
  198. package/dist/lib/producers/socket-receive-methods/panelist-focus-changed.service.d.ts +25 -0
  199. package/dist/lib/producers/socket-receive-methods/panelists-updated.service.d.ts +19 -0
  200. package/dist/lib/producers/socket-receive-methods/permission-config-updated.service.d.ts +15 -0
  201. package/dist/lib/producers/socket-receive-methods/permission-updated.service.d.ts +17 -0
  202. package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +1 -1
  203. package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +0 -80
  204. package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +1 -1
  205. package/dist/lib/producers/socket-receive-methods/receive-control-media.service.d.ts +21 -0
  206. package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +1 -5
  207. package/dist/lib/producers/socket-receive-methods/removed-from-panelists.service.d.ts +15 -0
  208. package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +1 -1
  209. package/dist/lib/producers/socket-receive-methods/translation-receive-methods.service.d.ts +20 -0
  210. package/dist/lib/services/live-subtitle.service.d.ts +15 -0
  211. package/dist/lib/services/ui-override-resolver.service.d.ts +91 -0
  212. package/dist/lib/sockets/socket-manager.service.d.ts +1 -2
  213. package/dist/public-api.d.ts +46 -1
  214. package/package.json +106 -95
  215. package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +0 -177
@@ -1,4 +1,4 @@
1
- import { OnInit, SimpleChanges, OnChanges } from '@angular/core';
1
+ import { OnInit, SimpleChanges, OnChanges, TemplateRef } from '@angular/core';
2
2
  import { ConfirmExit, ConfirmExitOptions } from '../../../methods/exit-methods/confirm-exit.service';
3
3
  import { Socket } from 'socket.io-client';
4
4
  import * as i0 from "@angular/core";
@@ -13,53 +13,111 @@ export interface ConfirmExitModalOptions {
13
13
  roomName: string;
14
14
  socket: Socket;
15
15
  islevel: string;
16
+ overlayStyle?: Partial<CSSStyleDeclaration>;
17
+ contentStyle?: Partial<CSSStyleDeclaration>;
18
+ customTemplate?: TemplateRef<any>;
16
19
  }
17
20
  export type ConfirmExitModalType = (options: ConfirmExitModalOptions) => HTMLElement;
18
21
  /**
19
- * ConfirmExitModal component renders a modal view for exit confirmation,
20
- * allowing users to confirm or cancel an exit event from a session or room.
22
+ * ConfirmExitModal - Confirmation dialog for leaving or being removed from a session
21
23
  *
22
24
  * @component
23
- * @selector app-confirm-exit-modal
24
- * @standalone true
25
- * @imports [CommonModule, FormsModule, FontAwesomeModule]
25
+ * @description
26
+ * Displays a confirmation modal when a user attempts to leave a room or session.
27
+ * Supports optional ban action for host/admin users.
28
+ *
29
+ * Supports three levels of customization:
30
+ * 1. **Basic Usage**: Use default modal UI with custom callbacks and member info
31
+ * 2. **Style Customization**: Override modal appearance with overlayStyle and contentStyle
32
+ * 3. **Full Override**: Provide a custom template via customTemplate for complete control
33
+ *
34
+ * Key Features:
35
+ * - Exit confirmation with cancel option
36
+ * - Optional ban functionality for hosts
37
+ * - Socket-based room exit handling
38
+ * - Configurable positioning
39
+ * - Custom styling support
40
+ *
41
+ * @example
42
+ * Basic Usage:
43
+ * ```html
44
+ * <app-confirm-exit-modal
45
+ * [isConfirmExitModalVisible]="showExitModal"
46
+ * [member]="currentMember"
47
+ * [roomName]="roomName"
48
+ * [socket]="socketInstance"
49
+ * [islevel]="userLevel"
50
+ * [exitEventOnConfirm]="handleConfirmExit"
51
+ * [onConfirmExitClose]="closeExitModal">
52
+ * </app-confirm-exit-modal>
53
+ * ```
26
54
  *
27
55
  * @example
56
+ * Style Customization:
28
57
  * ```html
29
58
  * <app-confirm-exit-modal
30
- * [isConfirmExitModalVisible]="true"
31
- * [onConfirmExitClose]="closeModal"
32
- * [exitEventOnConfirm]="confirmExit"
33
- * [member]="memberName"
34
- * [ban]="false"
35
- * [roomName]="currentRoom"
59
+ * [isConfirmExitModalVisible]="showExitModal"
60
+ * [member]="currentMember"
61
+ * [roomName]="roomName"
36
62
  * [socket]="socketInstance"
37
- * [islevel]="userLevel">
63
+ * [overlayStyle]="{
64
+ * backgroundColor: 'rgba(0, 0, 0, 0.8)'
65
+ * }"
66
+ * [contentStyle]="{
67
+ * backgroundColor: '#2c3e50',
68
+ * borderRadius: '12px',
69
+ * border: '2px solid #e74c3c'
70
+ * }"
71
+ * [position]="'center'"
72
+ * [exitEventOnConfirm]="handleConfirmExit"
73
+ * [onConfirmExitClose]="closeExitModal">
38
74
  * </app-confirm-exit-modal>
39
75
  * ```
40
76
  *
41
- * @input {boolean} isConfirmExitModalVisible - Determines the visibility of the modal.
42
- * @input {() => void} onConfirmExitClose - Callback to close the modal.
43
- * @input {string} position - Position on the screen (default: 'topRight').
44
- * @input {string} backgroundColor - Background color of the modal (default: '#83c0e9').
45
- * @input {(options: ConfirmExitOptions) => void} exitEventOnConfirm - Callback function to handle exit confirmation.
46
- * @input {string} member - Identifies the member for whom the exit is confirmed.
47
- * @input {boolean} ban - Indicates if the exit action includes a ban.
48
- * @input {string} roomName - Name of the room involved in the exit action.
49
- * @input {Socket} socket - Socket instance for real-time interaction.
50
- * @input {string} islevel - User level information.
77
+ * @example
78
+ * Custom Template Override:
79
+ * ```html
80
+ * <app-confirm-exit-modal
81
+ * [isConfirmExitModalVisible]="showExitModal"
82
+ * [customTemplate]="customExitTemplate"
83
+ * [onConfirmExitClose]="closeExitModal">
84
+ * </app-confirm-exit-modal>
51
85
  *
52
- * @property {IconDefinition} faTimes - FontAwesome icon for the close button.
53
- * @property {any} modalContentStyle - Object defining the style for modal content.
86
+ * <ng-template #customExitTemplate let-member="member" let-ban="ban" let-handleConfirmExit="handleConfirmExit">
87
+ * <div class="custom-exit-dialog">
88
+ * <h3>Confirm {{ ban ? 'Ban & Exit' : 'Exit' }}</h3>
89
+ * <p>Are you sure you want to {{ ban ? 'ban and remove' : 'remove' }} {{ member }}?</p>
90
+ * <div class="actions">
91
+ * <button (click)="handleConfirmExit()">Confirm</button>
92
+ * <button (click)="closeExitModal()">Cancel</button>
93
+ * </div>
94
+ * </div>
95
+ * </ng-template>
96
+ * ```
54
97
  *
55
- * @constructor
56
- * @param {ConfirmExit} confirmExitService - Service to handle the exit confirmation.
98
+ * @selector app-confirm-exit-modal
99
+ * @standalone true
100
+ * @imports CommonModule, FormsModule, FontAwesomeModule
57
101
  *
58
- * @method ngOnInit - Initializes component properties and default styles for the modal content.
59
- * @method ngOnChanges - Updates component state upon changes in input properties.
60
- * @param {SimpleChanges} changes - Object containing the current and previous property values.
102
+ * @input isConfirmExitModalVisible - Whether the modal is currently visible. Default: `false`
103
+ * @input onConfirmExitClose - Callback function to close the modal. Default: `() => {}`
104
+ * @input position - Modal position on screen ('topRight', 'topLeft', 'bottomRight', 'bottomLeft'). Default: `'topRight'`
105
+ * @input backgroundColor - Background color of the modal content. Default: `'#83c0e9'`
106
+ * @input exitEventOnConfirm - Callback invoked when exit is confirmed. Default: `undefined`
107
+ * @input member - Name/ID of the member being removed or leaving. Default: `''`
108
+ * @input ban - Whether to ban the member (in addition to removing). Default: `false`
109
+ * @input roomName - Name of the room/session being exited. Default: `''`
110
+ * @input socket - Socket.io client instance for real-time communication. Default: `undefined`
111
+ * @input islevel - User level/role (e.g., '0' for host, '2' for participant). Default: `'2'`
112
+ * @input overlayStyle - Custom CSS styles for the modal overlay backdrop. Default: `undefined`
113
+ * @input contentStyle - Custom CSS styles for the modal content container. Default: `undefined`
114
+ * @input customTemplate - Custom TemplateRef to completely replace default modal template. Default: `undefined`
61
115
  *
62
- * @method handleConfirmExit - Handles the exit confirmation event, triggering the provided `exitEventOnConfirm` function and then closing the modal.
116
+ * @method ngOnInit - Initializes default modal content styles
117
+ * @method ngOnChanges - Updates visibility state and modal styles when inputs change
118
+ * @method handleConfirmExit - Executes exit confirmation logic and closes modal
119
+ * @method getCombinedOverlayStyle - Merges default and custom overlay styles
120
+ * @method getCombinedContentStyle - Merges default and custom content styles
63
121
  */
64
122
  export declare class ConfirmExitModal implements OnInit, OnChanges {
65
123
  private confirmExitService;
@@ -73,12 +131,16 @@ export declare class ConfirmExitModal implements OnInit, OnChanges {
73
131
  roomName: string;
74
132
  socket: Socket;
75
133
  islevel: string;
134
+ overlayStyle?: Partial<CSSStyleDeclaration>;
135
+ contentStyle?: Partial<CSSStyleDeclaration>;
136
+ customTemplate?: TemplateRef<any>;
76
137
  faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
77
138
  modalContentStyle: any;
78
139
  constructor(confirmExitService: ConfirmExit);
140
+ getCombinedContentStyle(): any;
79
141
  ngOnInit(): void;
80
142
  ngOnChanges(changes: SimpleChanges): void;
81
143
  handleConfirmExit(): void;
82
144
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmExitModal, never>;
83
- static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmExitModal, "app-confirm-exit-modal", never, { "isConfirmExitModalVisible": { "alias": "isConfirmExitModalVisible"; "required": false; }; "onConfirmExitClose": { "alias": "onConfirmExitClose"; "required": false; }; "position": { "alias": "position"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "exitEventOnConfirm": { "alias": "exitEventOnConfirm"; "required": false; }; "member": { "alias": "member"; "required": false; }; "ban": { "alias": "ban"; "required": false; }; "roomName": { "alias": "roomName"; "required": false; }; "socket": { "alias": "socket"; "required": false; }; "islevel": { "alias": "islevel"; "required": false; }; }, {}, never, never, true, never>;
145
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmExitModal, "app-confirm-exit-modal", never, { "isConfirmExitModalVisible": { "alias": "isConfirmExitModalVisible"; "required": false; }; "onConfirmExitClose": { "alias": "onConfirmExitClose"; "required": false; }; "position": { "alias": "position"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "exitEventOnConfirm": { "alias": "exitEventOnConfirm"; "required": false; }; "member": { "alias": "member"; "required": false; }; "ban": { "alias": "ban"; "required": false; }; "roomName": { "alias": "roomName"; "required": false; }; "socket": { "alias": "socket"; "required": false; }; "islevel": { "alias": "islevel"; "required": false; }; "overlayStyle": { "alias": "overlayStyle"; "required": false; }; "contentStyle": { "alias": "contentStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; }, {}, never, never, true, never>;
84
146
  }