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, OnChanges, SimpleChanges, Injector } from '@angular/core';
1
+ import { OnInit, OnChanges, SimpleChanges, Injector, TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export interface FlexibleGridOptions {
4
4
  customWidth: number;
@@ -10,42 +10,114 @@ export interface FlexibleGridOptions {
10
10
  inputs?: any;
11
11
  }[];
12
12
  backgroundColor?: string;
13
+ containerStyle?: Partial<CSSStyleDeclaration>;
14
+ customTemplate?: TemplateRef<any>;
15
+ isDarkMode?: boolean;
16
+ enableGlassmorphism?: boolean;
17
+ cellBorderRadius?: number;
13
18
  }
14
19
  export type FlexibleGridType = (options: FlexibleGridOptions) => HTMLElement;
15
20
  /**
16
- * FlexibleGrid is a dynamic, customizable grid component that renders a specified number of rows and columns,
17
- * with each grid item containing a provided component.
21
+ * @component FlexibleGrid
22
+ *
23
+ * A dynamic, highly customizable grid component that renders a specified number of rows and columns,
24
+ * with each grid item containing a provided component. Supports full template customization and style overrides.
25
+ *
26
+ * @description
27
+ * FlexibleGrid offers three levels of customization to fit your application's needs:
28
+ *
29
+ * 1. **Basic Usage**: Use the default grid layout with configurable rows, columns, and components
30
+ * 2. **Style Customization**: Apply custom styles via `containerStyle` to modify grid appearance
31
+ * 3. **Full Template Override**: Provide a custom `ng-template` via `customTemplate` for complete control
32
+ *
33
+ * **Key Features:**
34
+ * - Dynamic grid generation based on rows and columns
35
+ * - Flexible component rendering with input injection
36
+ * - Automatic grid recalculation on property changes
37
+ * - Customizable grid item dimensions and background colors
38
+ * - Full template override support for custom layouts
18
39
  *
19
40
  * @selector app-flexible-grid
20
41
  * @standalone true
21
42
  * @imports CommonModule
22
43
  *
23
- * @inputs
24
- * - `customWidth` (number): The width for each grid item in pixels. Default is 0.
25
- * - `customHeight` (number): The height for each grid item in pixels. Default is 0.
26
- * - `rows` (number): Number of rows in the grid. Default is 0.
27
- * - `columns` (number): Number of columns in the grid. Default is 0.
28
- * - `componentsToRender` ({ component: any, inputs?: any }[]): Array of components to render in the grid, each with optional inputs.
29
- * - `backgroundColor` (string): Background color for each grid item. Default is 'transparent'.
30
- *
31
- * @methods
32
- * - `ngOnInit()`: Initializes and generates the grid on component load.
33
- * - `ngOnChanges(changes: SimpleChanges)`: Regenerates the grid if `columns`, `componentsToRender`, or `rows` change.
34
- * - `generateGrid()`: Builds the grid based on the row, column, and component configurations.
35
- * - `getGridItemStyle()`: Returns a style object for each grid item, including custom width, height, and background color.
36
- * - `createInjector(inputs: any)`: Creates a cached injector for each component to support dynamic component inputs.
37
- *
38
44
  * @example
45
+ * Basic Usage:
39
46
  * ```html
40
47
  * <app-flexible-grid
41
- * [customWidth]="100"
42
- * [customHeight]="100"
48
+ * [customWidth]="200"
49
+ * [customHeight]="150"
43
50
  * [rows]="2"
44
51
  * [columns]="3"
45
- * [componentsToRender]="[{ component: MyComponent, inputs: { prop: 'value' } }]"
46
- * backgroundColor="lightgrey"
47
- * ></app-flexible-grid>
52
+ * [componentsToRender]="videoComponents"
53
+ * backgroundColor="#f0f0f0">
54
+ * </app-flexible-grid>
55
+ * ```
56
+ *
57
+ * @example
58
+ * Style Customization:
59
+ * ```html
60
+ * <app-flexible-grid
61
+ * [customWidth]="250"
62
+ * [customHeight]="200"
63
+ * [rows]="3"
64
+ * [columns]="4"
65
+ * [componentsToRender]="participantComponents"
66
+ * [containerStyle]="{
67
+ * padding: '20px',
68
+ * borderRadius: '12px',
69
+ * boxShadow: '0 4px 6px rgba(0,0,0,0.1)'
70
+ * }"
71
+ * backgroundColor="white">
72
+ * </app-flexible-grid>
73
+ * ```
74
+ *
75
+ * @example
76
+ * Custom Template Override:
77
+ * ```typescript
78
+ * // In your component
79
+ * @Component({
80
+ * template: `
81
+ * <app-flexible-grid
82
+ * [customWidth]="300"
83
+ * [customHeight]="200"
84
+ * [rows]="2"
85
+ * [columns]="2"
86
+ * [componentsToRender]="components"
87
+ * [customTemplate]="customGridTemplate">
88
+ * </app-flexible-grid>
89
+ *
90
+ * <ng-template #customGridTemplate let-gridData>
91
+ * <div class="my-custom-grid">
92
+ * <h3>Custom Grid Layout</h3>
93
+ * <div class="grid-container"
94
+ * [style.grid-template-columns]="'repeat(' + gridData.columns + ', 1fr)'">
95
+ * <div *ngFor="let row of gridData.grid" class="grid-row">
96
+ * <div *ngFor="let component of row" class="grid-item">
97
+ * <ng-container *ngComponentOutlet="component.component"></ng-container>
98
+ * </div>
99
+ * </div>
100
+ * </div>
101
+ * </div>
102
+ * </ng-template>
103
+ * `
104
+ * })
48
105
  * ```
106
+ *
107
+ * @input customWidth - Width for each grid item in pixels. Default: 0
108
+ * @input customHeight - Height for each grid item in pixels. Default: 0
109
+ * @input rows - Number of rows in the grid. Default: 0
110
+ * @input columns - Number of columns in the grid. Default: 0
111
+ * @input componentsToRender - Array of components to render in the grid, each with optional inputs
112
+ * @input backgroundColor - Background color for each grid item. Default: 'transparent'
113
+ * @input containerStyle - Custom CSS styles for the grid container
114
+ * @input customTemplate - Custom ng-template for complete grid layout override
115
+ *
116
+ * @method ngOnInit - Initializes and generates the grid on component load
117
+ * @method ngOnChanges - Regenerates the grid if columns, componentsToRender, or rows change
118
+ * @method generateGrid - Builds the grid based on the row, column, and component configurations
119
+ * @method getGridItemStyle - Returns a style object for each grid item
120
+ * @method createInjector - Creates a cached injector for each component to support dynamic inputs
49
121
  **/
50
122
  export declare class FlexibleGrid implements OnInit, OnChanges {
51
123
  private injector;
@@ -58,22 +130,541 @@ export declare class FlexibleGrid implements OnInit, OnChanges {
58
130
  inputs?: any;
59
131
  }[];
60
132
  backgroundColor: string;
133
+ containerStyle?: Partial<CSSStyleDeclaration>;
134
+ customTemplate?: TemplateRef<any>;
135
+ isDarkMode: boolean;
136
+ enableGlassmorphism: boolean;
137
+ cellBorderRadius: number;
61
138
  grid: any[][];
62
139
  private injectorCache;
63
140
  constructor(injector: Injector);
64
141
  ngOnInit(): void;
65
142
  ngOnChanges(changes: SimpleChanges): void;
66
143
  generateGrid(): void;
67
- getGridItemStyle(): {
144
+ getGridWrapperStyle(): {
145
+ [x: number]: string;
146
+ accentColor?: string;
147
+ alignContent?: string;
148
+ alignItems?: string;
149
+ alignSelf?: string;
150
+ alignmentBaseline?: string;
151
+ all?: string;
152
+ animation?: string;
153
+ animationComposition?: string;
154
+ animationDelay?: string;
155
+ animationDirection?: string;
156
+ animationDuration?: string;
157
+ animationFillMode?: string;
158
+ animationIterationCount?: string;
159
+ animationName?: string;
160
+ animationPlayState?: string;
161
+ animationTimingFunction?: string;
162
+ appearance?: string;
163
+ aspectRatio?: string;
164
+ backdropFilter?: string;
165
+ backfaceVisibility?: string;
166
+ background?: string;
167
+ backgroundAttachment?: string;
168
+ backgroundBlendMode?: string;
169
+ backgroundClip?: string;
170
+ backgroundColor?: string;
171
+ backgroundImage?: string;
172
+ backgroundOrigin?: string;
173
+ backgroundPosition?: string;
174
+ backgroundPositionX?: string;
175
+ backgroundPositionY?: string;
176
+ backgroundRepeat?: string;
177
+ backgroundSize?: string;
178
+ baselineShift?: string;
179
+ baselineSource?: string;
180
+ blockSize?: string;
181
+ border?: string;
182
+ borderBlock?: string;
183
+ borderBlockColor?: string;
184
+ borderBlockEnd?: string;
185
+ borderBlockEndColor?: string;
186
+ borderBlockEndStyle?: string;
187
+ borderBlockEndWidth?: string;
188
+ borderBlockStart?: string;
189
+ borderBlockStartColor?: string;
190
+ borderBlockStartStyle?: string;
191
+ borderBlockStartWidth?: string;
192
+ borderBlockStyle?: string;
193
+ borderBlockWidth?: string;
194
+ borderBottom?: string;
195
+ borderBottomColor?: string;
196
+ borderBottomLeftRadius?: string;
197
+ borderBottomRightRadius?: string;
198
+ borderBottomStyle?: string;
199
+ borderBottomWidth?: string;
200
+ borderCollapse?: string;
201
+ borderColor?: string;
202
+ borderEndEndRadius?: string;
203
+ borderEndStartRadius?: string;
204
+ borderImage?: string;
205
+ borderImageOutset?: string;
206
+ borderImageRepeat?: string;
207
+ borderImageSlice?: string;
208
+ borderImageSource?: string;
209
+ borderImageWidth?: string;
210
+ borderInline?: string;
211
+ borderInlineColor?: string;
212
+ borderInlineEnd?: string;
213
+ borderInlineEndColor?: string;
214
+ borderInlineEndStyle?: string;
215
+ borderInlineEndWidth?: string;
216
+ borderInlineStart?: string;
217
+ borderInlineStartColor?: string;
218
+ borderInlineStartStyle?: string;
219
+ borderInlineStartWidth?: string;
220
+ borderInlineStyle?: string;
221
+ borderInlineWidth?: string;
222
+ borderLeft?: string;
223
+ borderLeftColor?: string;
224
+ borderLeftStyle?: string;
225
+ borderLeftWidth?: string;
226
+ borderRadius?: string;
227
+ borderRight?: string;
228
+ borderRightColor?: string;
229
+ borderRightStyle?: string;
230
+ borderRightWidth?: string;
231
+ borderSpacing?: string;
232
+ borderStartEndRadius?: string;
233
+ borderStartStartRadius?: string;
234
+ borderStyle?: string;
235
+ borderTop?: string;
236
+ borderTopColor?: string;
237
+ borderTopLeftRadius?: string;
238
+ borderTopRightRadius?: string;
239
+ borderTopStyle?: string;
240
+ borderTopWidth?: string;
241
+ borderWidth?: string;
242
+ bottom?: string;
243
+ boxShadow?: string;
244
+ boxSizing?: string;
245
+ breakAfter?: string;
246
+ breakBefore?: string;
247
+ breakInside?: string;
248
+ captionSide?: string;
249
+ caretColor?: string;
250
+ clear?: string;
251
+ clip?: string;
252
+ clipPath?: string;
253
+ clipRule?: string;
254
+ color?: string;
255
+ colorInterpolation?: string;
256
+ colorInterpolationFilters?: string;
257
+ colorScheme?: string;
258
+ columnCount?: string;
259
+ columnFill?: string;
260
+ columnGap?: string;
261
+ columnRule?: string;
262
+ columnRuleColor?: string;
263
+ columnRuleStyle?: string;
264
+ columnRuleWidth?: string;
265
+ columnSpan?: string;
266
+ columnWidth?: string;
267
+ columns?: string;
268
+ contain?: string;
269
+ containIntrinsicBlockSize?: string;
270
+ containIntrinsicHeight?: string;
271
+ containIntrinsicInlineSize?: string;
272
+ containIntrinsicSize?: string;
273
+ containIntrinsicWidth?: string;
274
+ container?: string;
275
+ containerName?: string;
276
+ containerType?: string;
277
+ content?: string;
278
+ contentVisibility?: string;
279
+ counterIncrement?: string;
280
+ counterReset?: string;
281
+ counterSet?: string;
282
+ cssFloat?: string;
283
+ cssText?: string;
284
+ cursor?: string;
285
+ cx?: string;
286
+ cy?: string;
287
+ d?: string;
288
+ direction?: string;
289
+ display?: string;
290
+ dominantBaseline?: string;
291
+ emptyCells?: string;
292
+ fill?: string;
293
+ fillOpacity?: string;
294
+ fillRule?: string;
295
+ filter?: string;
296
+ flex?: string;
297
+ flexBasis?: string;
298
+ flexDirection?: string;
299
+ flexFlow?: string;
300
+ flexGrow?: string;
301
+ flexShrink?: string;
302
+ flexWrap?: string;
303
+ float?: string;
304
+ floodColor?: string;
305
+ floodOpacity?: string;
306
+ font?: string;
307
+ fontFamily?: string;
308
+ fontFeatureSettings?: string;
309
+ fontKerning?: string;
310
+ fontOpticalSizing?: string;
311
+ fontPalette?: string;
312
+ fontSize?: string;
313
+ fontSizeAdjust?: string;
314
+ fontStretch?: string;
315
+ fontStyle?: string;
316
+ fontSynthesis?: string;
317
+ fontSynthesisSmallCaps?: string;
318
+ fontSynthesisStyle?: string;
319
+ fontSynthesisWeight?: string;
320
+ fontVariant?: string;
321
+ fontVariantAlternates?: string;
322
+ fontVariantCaps?: string;
323
+ fontVariantEastAsian?: string;
324
+ fontVariantLigatures?: string;
325
+ fontVariantNumeric?: string;
326
+ fontVariantPosition?: string;
327
+ fontVariationSettings?: string;
328
+ fontWeight?: string;
329
+ forcedColorAdjust?: string;
330
+ gap?: string;
331
+ grid?: string;
332
+ gridArea?: string;
333
+ gridAutoColumns?: string;
334
+ gridAutoFlow?: string;
335
+ gridAutoRows?: string;
336
+ gridColumn?: string;
337
+ gridColumnEnd?: string;
338
+ gridColumnGap?: string;
339
+ gridColumnStart?: string;
340
+ gridGap?: string;
341
+ gridRow?: string;
342
+ gridRowEnd?: string;
343
+ gridRowGap?: string;
344
+ gridRowStart?: string;
345
+ gridTemplate?: string;
346
+ gridTemplateAreas?: string;
347
+ gridTemplateColumns?: string;
348
+ gridTemplateRows?: string;
349
+ height?: string;
350
+ hyphenateCharacter?: string;
351
+ hyphens?: string;
352
+ imageOrientation?: string;
353
+ imageRendering?: string;
354
+ inlineSize?: string;
355
+ inset?: string;
356
+ insetBlock?: string;
357
+ insetBlockEnd?: string;
358
+ insetBlockStart?: string;
359
+ insetInline?: string;
360
+ insetInlineEnd?: string;
361
+ insetInlineStart?: string;
362
+ isolation?: string;
363
+ justifyContent?: string;
364
+ justifyItems?: string;
365
+ justifySelf?: string;
366
+ left?: string;
367
+ length?: number;
368
+ letterSpacing?: string;
369
+ lightingColor?: string;
370
+ lineBreak?: string;
371
+ lineHeight?: string;
372
+ listStyle?: string;
373
+ listStyleImage?: string;
374
+ listStylePosition?: string;
375
+ listStyleType?: string;
376
+ margin?: string;
377
+ marginBlock?: string;
378
+ marginBlockEnd?: string;
379
+ marginBlockStart?: string;
380
+ marginBottom?: string;
381
+ marginInline?: string;
382
+ marginInlineEnd?: string;
383
+ marginInlineStart?: string;
384
+ marginLeft?: string;
385
+ marginRight?: string;
386
+ marginTop?: string;
387
+ marker?: string;
388
+ markerEnd?: string;
389
+ markerMid?: string;
390
+ markerStart?: string;
391
+ mask?: string;
392
+ maskClip?: string;
393
+ maskComposite?: string;
394
+ maskImage?: string;
395
+ maskMode?: string;
396
+ maskOrigin?: string;
397
+ maskPosition?: string;
398
+ maskRepeat?: string;
399
+ maskSize?: string;
400
+ maskType?: string;
401
+ mathDepth?: string;
402
+ mathStyle?: string;
403
+ maxBlockSize?: string;
404
+ maxHeight?: string;
405
+ maxInlineSize?: string;
406
+ maxWidth?: string;
407
+ minBlockSize?: string;
408
+ minHeight?: string;
409
+ minInlineSize?: string;
410
+ minWidth?: string;
411
+ mixBlendMode?: string;
412
+ objectFit?: string;
413
+ objectPosition?: string;
414
+ offset?: string;
415
+ offsetAnchor?: string;
416
+ offsetDistance?: string;
417
+ offsetPath?: string;
418
+ offsetPosition?: string;
419
+ offsetRotate?: string;
420
+ opacity?: string;
421
+ order?: string;
422
+ orphans?: string;
423
+ outline?: string;
424
+ outlineColor?: string;
425
+ outlineOffset?: string;
426
+ outlineStyle?: string;
427
+ outlineWidth?: string;
428
+ overflow?: string;
429
+ overflowAnchor?: string;
430
+ overflowClipMargin?: string;
431
+ overflowWrap?: string;
432
+ overflowX?: string;
433
+ overflowY?: string;
434
+ overscrollBehavior?: string;
435
+ overscrollBehaviorBlock?: string;
436
+ overscrollBehaviorInline?: string;
437
+ overscrollBehaviorX?: string;
438
+ overscrollBehaviorY?: string;
439
+ padding?: string;
440
+ paddingBlock?: string;
441
+ paddingBlockEnd?: string;
442
+ paddingBlockStart?: string;
443
+ paddingBottom?: string;
444
+ paddingInline?: string;
445
+ paddingInlineEnd?: string;
446
+ paddingInlineStart?: string;
447
+ paddingLeft?: string;
448
+ paddingRight?: string;
449
+ paddingTop?: string;
450
+ page?: string;
451
+ pageBreakAfter?: string;
452
+ pageBreakBefore?: string;
453
+ pageBreakInside?: string;
454
+ paintOrder?: string;
455
+ parentRule?: CSSRule | null;
456
+ perspective?: string;
457
+ perspectiveOrigin?: string;
458
+ placeContent?: string;
459
+ placeItems?: string;
460
+ placeSelf?: string;
461
+ pointerEvents?: string;
462
+ position?: string;
463
+ printColorAdjust?: string;
464
+ quotes?: string;
465
+ r?: string;
466
+ resize?: string;
467
+ right?: string;
468
+ rotate?: string;
469
+ rowGap?: string;
470
+ rubyPosition?: string;
471
+ rx?: string;
472
+ ry?: string;
473
+ scale?: string;
474
+ scrollBehavior?: string;
475
+ scrollMargin?: string;
476
+ scrollMarginBlock?: string;
477
+ scrollMarginBlockEnd?: string;
478
+ scrollMarginBlockStart?: string;
479
+ scrollMarginBottom?: string;
480
+ scrollMarginInline?: string;
481
+ scrollMarginInlineEnd?: string;
482
+ scrollMarginInlineStart?: string;
483
+ scrollMarginLeft?: string;
484
+ scrollMarginRight?: string;
485
+ scrollMarginTop?: string;
486
+ scrollPadding?: string;
487
+ scrollPaddingBlock?: string;
488
+ scrollPaddingBlockEnd?: string;
489
+ scrollPaddingBlockStart?: string;
490
+ scrollPaddingBottom?: string;
491
+ scrollPaddingInline?: string;
492
+ scrollPaddingInlineEnd?: string;
493
+ scrollPaddingInlineStart?: string;
494
+ scrollPaddingLeft?: string;
495
+ scrollPaddingRight?: string;
496
+ scrollPaddingTop?: string;
497
+ scrollSnapAlign?: string;
498
+ scrollSnapStop?: string;
499
+ scrollSnapType?: string;
500
+ scrollbarColor?: string;
501
+ scrollbarGutter?: string;
502
+ scrollbarWidth?: string;
503
+ shapeImageThreshold?: string;
504
+ shapeMargin?: string;
505
+ shapeOutside?: string;
506
+ shapeRendering?: string;
507
+ stopColor?: string;
508
+ stopOpacity?: string;
509
+ stroke?: string;
510
+ strokeDasharray?: string;
511
+ strokeDashoffset?: string;
512
+ strokeLinecap?: string;
513
+ strokeLinejoin?: string;
514
+ strokeMiterlimit?: string;
515
+ strokeOpacity?: string;
516
+ strokeWidth?: string;
517
+ tabSize?: string;
518
+ tableLayout?: string;
519
+ textAlign?: string;
520
+ textAlignLast?: string;
521
+ textAnchor?: string;
522
+ textCombineUpright?: string;
523
+ textDecoration?: string;
524
+ textDecorationColor?: string;
525
+ textDecorationLine?: string;
526
+ textDecorationSkipInk?: string;
527
+ textDecorationStyle?: string;
528
+ textDecorationThickness?: string;
529
+ textEmphasis?: string;
530
+ textEmphasisColor?: string;
531
+ textEmphasisPosition?: string;
532
+ textEmphasisStyle?: string;
533
+ textIndent?: string;
534
+ textOrientation?: string;
535
+ textOverflow?: string;
536
+ textRendering?: string;
537
+ textShadow?: string;
538
+ textTransform?: string;
539
+ textUnderlineOffset?: string;
540
+ textUnderlinePosition?: string;
541
+ textWrap?: string;
542
+ textWrapMode?: string;
543
+ textWrapStyle?: string;
544
+ top?: string;
545
+ touchAction?: string;
546
+ transform?: string;
547
+ transformBox?: string;
548
+ transformOrigin?: string;
549
+ transformStyle?: string;
550
+ transition?: string;
551
+ transitionBehavior?: string;
552
+ transitionDelay?: string;
553
+ transitionDuration?: string;
554
+ transitionProperty?: string;
555
+ transitionTimingFunction?: string;
556
+ translate?: string;
557
+ unicodeBidi?: string;
558
+ userSelect?: string;
559
+ vectorEffect?: string;
560
+ verticalAlign?: string;
561
+ visibility?: string;
562
+ webkitAlignContent?: string;
563
+ webkitAlignItems?: string;
564
+ webkitAlignSelf?: string;
565
+ webkitAnimation?: string;
566
+ webkitAnimationDelay?: string;
567
+ webkitAnimationDirection?: string;
568
+ webkitAnimationDuration?: string;
569
+ webkitAnimationFillMode?: string;
570
+ webkitAnimationIterationCount?: string;
571
+ webkitAnimationName?: string;
572
+ webkitAnimationPlayState?: string;
573
+ webkitAnimationTimingFunction?: string;
574
+ webkitAppearance?: string;
575
+ webkitBackfaceVisibility?: string;
576
+ webkitBackgroundClip?: string;
577
+ webkitBackgroundOrigin?: string;
578
+ webkitBackgroundSize?: string;
579
+ webkitBorderBottomLeftRadius?: string;
580
+ webkitBorderBottomRightRadius?: string;
581
+ webkitBorderRadius?: string;
582
+ webkitBorderTopLeftRadius?: string;
583
+ webkitBorderTopRightRadius?: string;
584
+ webkitBoxAlign?: string;
585
+ webkitBoxFlex?: string;
586
+ webkitBoxOrdinalGroup?: string;
587
+ webkitBoxOrient?: string;
588
+ webkitBoxPack?: string;
589
+ webkitBoxShadow?: string;
590
+ webkitBoxSizing?: string;
591
+ webkitFilter?: string;
592
+ webkitFlex?: string;
593
+ webkitFlexBasis?: string;
594
+ webkitFlexDirection?: string;
595
+ webkitFlexFlow?: string;
596
+ webkitFlexGrow?: string;
597
+ webkitFlexShrink?: string;
598
+ webkitFlexWrap?: string;
599
+ webkitJustifyContent?: string;
600
+ webkitLineClamp?: string;
601
+ webkitMask?: string;
602
+ webkitMaskBoxImage?: string;
603
+ webkitMaskBoxImageOutset?: string;
604
+ webkitMaskBoxImageRepeat?: string;
605
+ webkitMaskBoxImageSlice?: string;
606
+ webkitMaskBoxImageSource?: string;
607
+ webkitMaskBoxImageWidth?: string;
608
+ webkitMaskClip?: string;
609
+ webkitMaskComposite?: string;
610
+ webkitMaskImage?: string;
611
+ webkitMaskOrigin?: string;
612
+ webkitMaskPosition?: string;
613
+ webkitMaskRepeat?: string;
614
+ webkitMaskSize?: string;
615
+ webkitOrder?: string;
616
+ webkitPerspective?: string;
617
+ webkitPerspectiveOrigin?: string;
618
+ webkitTextFillColor?: string;
619
+ webkitTextSizeAdjust?: string;
620
+ webkitTextStroke?: string;
621
+ webkitTextStrokeColor?: string;
622
+ webkitTextStrokeWidth?: string;
623
+ webkitTransform?: string;
624
+ webkitTransformOrigin?: string;
625
+ webkitTransformStyle?: string;
626
+ webkitTransition?: string;
627
+ webkitTransitionDelay?: string;
628
+ webkitTransitionDuration?: string;
629
+ webkitTransitionProperty?: string;
630
+ webkitTransitionTimingFunction?: string;
631
+ webkitUserSelect?: string;
632
+ whiteSpace?: string;
633
+ whiteSpaceCollapse?: string;
634
+ widows?: string;
635
+ width?: string;
636
+ willChange?: string;
637
+ wordBreak?: string;
638
+ wordSpacing?: string;
639
+ wordWrap?: string;
640
+ writingMode?: string;
641
+ x?: string;
642
+ y?: string;
643
+ zIndex?: string;
644
+ zoom?: string;
645
+ getPropertyPriority?: (property: string) => string;
646
+ getPropertyValue?: (property: string) => string;
647
+ item?: (index: number) => string;
648
+ removeProperty?: (property: string) => string;
649
+ setProperty?: (property: string, value: string | null, priority?: string) => void;
650
+ };
651
+ getGridItemStyle(component?: {
652
+ component: any;
653
+ inputs?: any;
654
+ }): {
68
655
  flex: number;
69
656
  width: string;
70
657
  height: string;
71
- backgroundColor: string;
658
+ background: string;
72
659
  margin: string;
73
660
  padding: number;
74
661
  borderRadius: string;
662
+ border: string;
663
+ display: string;
664
+ alignItems: string;
665
+ justifyContent: string;
75
666
  };
76
667
  createInjector(inputs: any): Injector;
77
668
  static ɵfac: i0.ɵɵFactoryDeclaration<FlexibleGrid, never>;
78
- static ɵcmp: i0.ɵɵComponentDeclaration<FlexibleGrid, "app-flexible-grid", never, { "customWidth": { "alias": "customWidth"; "required": false; }; "customHeight": { "alias": "customHeight"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "componentsToRender": { "alias": "componentsToRender"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; }, {}, never, never, true, never>;
669
+ static ɵcmp: i0.ɵɵComponentDeclaration<FlexibleGrid, "app-flexible-grid", never, { "customWidth": { "alias": "customWidth"; "required": false; }; "customHeight": { "alias": "customHeight"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "componentsToRender": { "alias": "componentsToRender"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "containerStyle": { "alias": "containerStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "enableGlassmorphism": { "alias": "enableGlassmorphism"; "required": false; }; "cellBorderRadius": { "alias": "cellBorderRadius"; "required": false; }; }, {}, never, never, true, never>;
79
670
  }