@rtsee/ngx 0.0.55 → 0.0.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/.editorconfig +16 -0
  2. package/CHANGELOG.md +112 -0
  3. package/angular.json +67 -0
  4. package/jest.config.ts +9 -0
  5. package/package.json +28 -33
  6. package/projects/ngx/ng-package.json +8 -0
  7. package/projects/ngx/package.json +20 -0
  8. package/projects/ngx/src/lib/common/components/preloader/preloader.component.html +5 -0
  9. package/projects/ngx/src/lib/common/components/preloader/preloader.component.ts +30 -0
  10. package/projects/ngx/src/lib/components/constans/common.const.ts +8 -0
  11. package/projects/ngx/src/lib/components/enums/form.enum.ts +8 -0
  12. package/projects/ngx/src/lib/components/rtsee/rtsee-conference.component.html +70 -0
  13. package/projects/ngx/src/lib/components/rtsee/rtsee-conference.component.ts +35 -0
  14. package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.html +54 -0
  15. package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.scss +70 -0
  16. package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.ts +24 -0
  17. package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.html +12 -0
  18. package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.ts +22 -0
  19. package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.html +35 -0
  20. package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.ts +35 -0
  21. package/projects/ngx/src/lib/components/rtsee-auth/reset-password/reset-password.component.html +43 -0
  22. package/projects/ngx/src/lib/components/rtsee-auth/reset-password/reset-password.component.ts +79 -0
  23. package/projects/ngx/src/lib/components/rtsee-auth/services/utils.service.ts +20 -0
  24. package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.html +46 -0
  25. package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.ts +44 -0
  26. package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.html +51 -0
  27. package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.ts +51 -0
  28. package/projects/ngx/src/lib/components/rtsee-auth/types/auth-form.type.ts +36 -0
  29. package/projects/ngx/src/lib/components/rtsee-auth/validators/form-fields-validators.ts +27 -0
  30. package/projects/ngx/src/lib/components/rtsee-auth/vendors/vendors.component.html +1 -0
  31. package/projects/ngx/src/lib/components/rtsee-auth/vendors/vendors.component.ts +10 -0
  32. package/projects/ngx/src/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.html +15 -0
  33. package/projects/ngx/src/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.ts +20 -0
  34. package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.html +50 -0
  35. package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.ts +37 -0
  36. package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.html +32 -0
  37. package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.ts +26 -0
  38. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.html +20 -0
  39. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.ts +89 -0
  40. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.html +1 -0
  41. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.ts +8 -0
  42. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.html +25 -0
  43. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.ts +40 -0
  44. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.html +32 -0
  45. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.ts +21 -0
  46. package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.html +12 -0
  47. package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.ts +19 -0
  48. package/projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.html +10 -0
  49. package/projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.ts +18 -0
  50. package/projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.html +20 -0
  51. package/projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.ts +31 -0
  52. package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.html +28 -0
  53. package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.ts +27 -0
  54. package/projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.html +6 -0
  55. package/projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.ts +22 -0
  56. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.html +3 -0
  57. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.scss +0 -0
  58. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.ts +18 -0
  59. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.html +4 -0
  60. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.scss +0 -0
  61. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.ts +18 -0
  62. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.ts +11 -0
  63. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.html +25 -0
  64. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.ts +36 -0
  65. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.html +32 -0
  66. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.ts +41 -0
  67. package/projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.html +9 -0
  68. package/projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.ts +23 -0
  69. package/projects/ngx/src/lib/components/rtsee-messenger/message/message.component.html +17 -0
  70. package/projects/ngx/src/lib/components/rtsee-messenger/message/message.component.ts +64 -0
  71. package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.html +10 -0
  72. package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.scss +1 -0
  73. package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.ts +36 -0
  74. package/projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.html +18 -0
  75. package/projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.ts +91 -0
  76. package/projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.html +31 -0
  77. package/projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.ts +45 -0
  78. package/projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.html +57 -0
  79. package/projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.ts +30 -0
  80. package/projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.html +20 -0
  81. package/projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.ts +25 -0
  82. package/projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.html +28 -0
  83. package/projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.ts +43 -0
  84. package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.html +1 -0
  85. package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.scss +0 -0
  86. package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.ts +9 -0
  87. package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.html +24 -0
  88. package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.ts +26 -0
  89. package/projects/ngx/src/lib/components/rtsee-presentation/presentation-header/presentation-header.component.html +14 -0
  90. package/projects/ngx/src/lib/components/rtsee-presentation/presentation-header/presentation-header.component.ts +15 -0
  91. package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.html +29 -0
  92. package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.ts +25 -0
  93. package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.html +10 -0
  94. package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.ts +22 -0
  95. package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.html +15 -0
  96. package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.scss +0 -0
  97. package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.ts +19 -0
  98. package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.html +44 -0
  99. package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.scss +30 -0
  100. package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.ts +57 -0
  101. package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.html +19 -0
  102. package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.scss +56 -0
  103. package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.ts +66 -0
  104. package/projects/ngx/src/lib/directives/shave.directive.ts +15 -0
  105. package/projects/ngx/src/lib/directives/widget.directive.ts +9 -0
  106. package/projects/ngx/src/lib/ngx.module.ts +119 -0
  107. package/projects/ngx/src/lib/ngx.service.spec.ts +16 -0
  108. package/projects/ngx/src/lib/ngx.service.ts +11 -0
  109. package/projects/ngx/src/lib/services/default-images.service.ts +8 -0
  110. package/projects/ngx/src/lib/services/events-widgets.service.ts +19 -0
  111. package/projects/ngx/src/lib/services/message-widgets.service.ts +26 -0
  112. package/projects/ngx/src/lib/services/time-format-helper.service.ts +111 -0
  113. package/projects/ngx/src/lib/theme/auth/auth-container.scss +186 -0
  114. package/projects/ngx/src/lib/theme/auth/auth.scss +0 -0
  115. package/projects/ngx/src/lib/theme/auth/index.scss +2 -0
  116. package/projects/ngx/src/lib/theme/auth/variables.scss +64 -0
  117. package/projects/ngx/src/lib/theme/common-components/preloader.scss +35 -0
  118. package/projects/ngx/src/lib/theme/common-variables.scss +108 -0
  119. package/projects/ngx/src/lib/theme/common.scss +7 -0
  120. package/projects/ngx/src/lib/theme/containers/bottom-nav.scss +15 -0
  121. package/projects/ngx/src/lib/theme/containers/index.scss +4 -0
  122. package/projects/ngx/src/lib/theme/containers/nav-item.scss +70 -0
  123. package/projects/ngx/src/lib/theme/containers/shell.scss +203 -0
  124. package/projects/ngx/src/lib/theme/containers/sidenav.scss +125 -0
  125. package/projects/ngx/src/lib/theme/containers/variables.scss +23 -0
  126. package/projects/ngx/src/lib/theme/events-manager/client-thumbnail.scss +98 -0
  127. package/projects/ngx/src/lib/theme/events-manager/event-thumbnail.scss +47 -0
  128. package/projects/ngx/src/lib/theme/events-manager/events-dashboard-session.scss +54 -0
  129. package/projects/ngx/src/lib/theme/events-manager/events-dashboard.scss +17 -0
  130. package/projects/ngx/src/lib/theme/events-manager/events-manager.scss +0 -0
  131. package/projects/ngx/src/lib/theme/events-manager/index.scss +6 -0
  132. package/projects/ngx/src/lib/theme/events-manager.scss +0 -0
  133. package/projects/ngx/src/lib/theme/general.scss +3 -0
  134. package/projects/ngx/src/lib/theme/messenger/call-widget.scss +16 -0
  135. package/projects/ngx/src/lib/theme/messenger/chat-input.scss +51 -0
  136. package/projects/ngx/src/lib/theme/messenger/chat-thumbnail.scss +106 -0
  137. package/projects/ngx/src/lib/theme/messenger/chat.scss +28 -0
  138. package/projects/ngx/src/lib/theme/messenger/chats-list.scss +14 -0
  139. package/projects/ngx/src/lib/theme/messenger/index.scss +12 -0
  140. package/projects/ngx/src/lib/theme/messenger/message-time-and-status.scss +25 -0
  141. package/projects/ngx/src/lib/theme/messenger/message.scss +65 -0
  142. package/projects/ngx/src/lib/theme/messenger/messages-list.scss +35 -0
  143. package/projects/ngx/src/lib/theme/messenger/messenger-header.scss +182 -0
  144. package/projects/ngx/src/lib/theme/messenger/messenger-search.scss +16 -0
  145. package/projects/ngx/src/lib/theme/messenger/messenger.scss +100 -0
  146. package/projects/ngx/src/lib/theme/messenger/variables.scss +4 -0
  147. package/projects/ngx/src/lib/theme/presentation/index.scss +3 -0
  148. package/projects/ngx/src/lib/theme/presentation/slide.scss +14 -0
  149. package/projects/ngx/src/lib/theme/presentation/story-player.scss +11 -0
  150. package/projects/ngx/src/lib/theme/presentation/story-thumbnail.scss +59 -0
  151. package/projects/ngx/src/lib/theme/presentation/variables.scss +1 -0
  152. package/projects/ngx/src/lib/theme/styles.scss +8 -0
  153. package/projects/ngx/src/lib/theme/video-chat/index.scss +2 -0
  154. package/projects/ngx/src/lib/theme/video-chat/video-chat.scss +264 -0
  155. package/projects/ngx/src/lib/theme/video-chat/video-peer.scss +71 -0
  156. package/projects/ngx/src/lib/theme/video-chat.scss +0 -0
  157. package/{dist/ngx/public-api.d.ts → projects/ngx/src/public-api.ts} +7 -0
  158. package/projects/ngx/tsconfig.lib.json +14 -0
  159. package/projects/ngx/tsconfig.lib.prod.json +10 -0
  160. package/projects/ngx/tsconfig.spec.json +10 -0
  161. package/projects/ngx/yarn.lock +8 -0
  162. package/scss-bundle.config.json +6 -0
  163. package/setup-jest.ts +1 -0
  164. package/tsconfig.eslint.json +4 -0
  165. package/tsconfig.json +38 -0
  166. package/tsconfig.spec.json +8 -0
  167. package/dist/ngx/esm2022/lib/common/components/preloader/preloader.component.mjs +0 -31
  168. package/dist/ngx/esm2022/lib/components/constans/common.const.mjs +0 -9
  169. package/dist/ngx/esm2022/lib/components/enums/form.enum.mjs +0 -10
  170. package/dist/ngx/esm2022/lib/components/rtsee/rtsee-conference.component.mjs +0 -28
  171. package/dist/ngx/esm2022/lib/components/rtsee/rtsee-controls/rtsee-controls.component.mjs +0 -23
  172. package/dist/ngx/esm2022/lib/components/rtsee-auth/auth/auth.component.mjs +0 -19
  173. package/dist/ngx/esm2022/lib/components/rtsee-auth/forgot-password/forgot-password.component.mjs +0 -28
  174. package/dist/ngx/esm2022/lib/components/rtsee-auth/reset-password/reset-password.component.mjs +0 -70
  175. package/dist/ngx/esm2022/lib/components/rtsee-auth/services/utils.service.mjs +0 -24
  176. package/dist/ngx/esm2022/lib/components/rtsee-auth/sign-in/sign-in.component.mjs +0 -36
  177. package/dist/ngx/esm2022/lib/components/rtsee-auth/sign-up/sign-up.component.mjs +0 -43
  178. package/dist/ngx/esm2022/lib/components/rtsee-auth/types/auth-form.type.mjs +0 -2
  179. package/dist/ngx/esm2022/lib/components/rtsee-auth/vendors/vendors.component.mjs +0 -11
  180. package/dist/ngx/esm2022/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.mjs +0 -18
  181. package/dist/ngx/esm2022/lib/components/rtsee-container/rtsee-container.component.mjs +0 -29
  182. package/dist/ngx/esm2022/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.mjs +0 -25
  183. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.mjs +0 -72
  184. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.mjs +0 -11
  185. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.mjs +0 -30
  186. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.mjs +0 -19
  187. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.mjs +0 -15
  188. package/dist/ngx/esm2022/lib/components/rtsee-messenger/chat/chat.component.mjs +0 -17
  189. package/dist/ngx/esm2022/lib/components/rtsee-messenger/chat-input/chat-input.component.mjs +0 -33
  190. package/dist/ngx/esm2022/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.mjs +0 -24
  191. package/dist/ngx/esm2022/lib/components/rtsee-messenger/chats-list/chats-list.component.mjs +0 -20
  192. package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.mjs +0 -16
  193. package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.mjs +0 -19
  194. package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.mjs +0 -8
  195. package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/search/search.component.mjs +0 -31
  196. package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/main-menu.component.mjs +0 -32
  197. package/dist/ngx/esm2022/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.mjs +0 -23
  198. package/dist/ngx/esm2022/lib/components/rtsee-messenger/message/message.component.mjs +0 -50
  199. package/dist/ngx/esm2022/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.mjs +0 -31
  200. package/dist/ngx/esm2022/lib/components/rtsee-messenger/messages-list/messages-list.component.mjs +0 -69
  201. package/dist/ngx/esm2022/lib/components/rtsee-messenger/messenger/messenger.component.mjs +0 -32
  202. package/dist/ngx/esm2022/lib/components/rtsee-messenger/messenger-header/messenger-header.component.mjs +0 -30
  203. package/dist/ngx/esm2022/lib/components/rtsee-messenger/profile/profile.component.mjs +0 -25
  204. package/dist/ngx/esm2022/lib/components/rtsee-peer/rtsee-peer.component.mjs +0 -31
  205. package/dist/ngx/esm2022/lib/components/rtsee-peers-list/rtsee-peers-list.component.mjs +0 -11
  206. package/dist/ngx/esm2022/lib/components/rtsee-presentation/presentation/presentation.component.mjs +0 -18
  207. package/dist/ngx/esm2022/lib/components/rtsee-presentation/presentation-header/presentation-header.component.mjs +0 -14
  208. package/dist/ngx/esm2022/lib/components/rtsee-presentation/slide/slide.component.mjs +0 -25
  209. package/dist/ngx/esm2022/lib/components/rtsee-presentation/story-player/story-player.component.mjs +0 -18
  210. package/dist/ngx/esm2022/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.mjs +0 -17
  211. package/dist/ngx/esm2022/lib/components/rtsee-settings/rtsee-settings.component.mjs +0 -47
  212. package/dist/ngx/esm2022/lib/components/rtsee-soundbar/rtsee-soundbar.component.mjs +0 -53
  213. package/dist/ngx/esm2022/lib/directives/shave.directive.mjs +0 -21
  214. package/dist/ngx/esm2022/lib/directives/widget.directive.mjs +0 -16
  215. package/dist/ngx/esm2022/lib/ngx.module.mjs +0 -205
  216. package/dist/ngx/esm2022/lib/ngx.service.mjs +0 -16
  217. package/dist/ngx/esm2022/lib/services/default-images.service.mjs +0 -16
  218. package/dist/ngx/esm2022/lib/services/events-widgets.service.mjs +0 -25
  219. package/dist/ngx/esm2022/lib/services/message-widgets.service.mjs +0 -28
  220. package/dist/ngx/esm2022/lib/services/time-format-helper.service.mjs +0 -92
  221. package/dist/ngx/esm2022/public-api.mjs +0 -13
  222. package/dist/ngx/esm2022/rtsee-ngx.mjs +0 -5
  223. package/dist/ngx/fesm2022/rtsee-ngx.mjs +0 -1419
  224. package/dist/ngx/fesm2022/rtsee-ngx.mjs.map +0 -1
  225. package/dist/ngx/index.d.ts +0 -5
  226. package/dist/ngx/lib/common/components/preloader/preloader.component.d.ts +0 -13
  227. package/dist/ngx/lib/components/constans/common.const.d.ts +0 -8
  228. package/dist/ngx/lib/components/enums/form.enum.d.ts +0 -8
  229. package/dist/ngx/lib/components/rtsee/rtsee-conference.component.d.ts +0 -11
  230. package/dist/ngx/lib/components/rtsee/rtsee-controls/rtsee-controls.component.d.ts +0 -9
  231. package/dist/ngx/lib/components/rtsee-auth/auth/auth.component.d.ts +0 -6
  232. package/dist/ngx/lib/components/rtsee-auth/forgot-password/forgot-password.component.d.ts +0 -13
  233. package/dist/ngx/lib/components/rtsee-auth/reset-password/reset-password.component.d.ts +0 -21
  234. package/dist/ngx/lib/components/rtsee-auth/services/utils.service.d.ts +0 -7
  235. package/dist/ngx/lib/components/rtsee-auth/sign-in/sign-in.component.d.ts +0 -14
  236. package/dist/ngx/lib/components/rtsee-auth/sign-up/sign-up.component.d.ts +0 -12
  237. package/dist/ngx/lib/components/rtsee-auth/types/auth-form.type.d.ts +0 -27
  238. package/dist/ngx/lib/components/rtsee-auth/vendors/vendors.component.d.ts +0 -5
  239. package/dist/ngx/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.d.ts +0 -9
  240. package/dist/ngx/lib/components/rtsee-container/rtsee-container.component.d.ts +0 -12
  241. package/dist/ngx/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.d.ts +0 -11
  242. package/dist/ngx/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.d.ts +0 -21
  243. package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.d.ts +0 -5
  244. package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.d.ts +0 -16
  245. package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.d.ts +0 -10
  246. package/dist/ngx/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.d.ts +0 -7
  247. package/dist/ngx/lib/components/rtsee-messenger/chat/chat.component.d.ts +0 -8
  248. package/dist/ngx/lib/components/rtsee-messenger/chat-input/chat-input.component.d.ts +0 -11
  249. package/dist/ngx/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.d.ts +0 -13
  250. package/dist/ngx/lib/components/rtsee-messenger/chats-list/chats-list.component.d.ts +0 -10
  251. package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.d.ts +0 -9
  252. package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.d.ts +0 -10
  253. package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.d.ts +0 -9
  254. package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/search/search.component.d.ts +0 -14
  255. package/dist/ngx/lib/components/rtsee-messenger/main-menu/main-menu.component.d.ts +0 -13
  256. package/dist/ngx/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.d.ts +0 -13
  257. package/dist/ngx/lib/components/rtsee-messenger/message/message.component.d.ts +0 -20
  258. package/dist/ngx/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.d.ts +0 -13
  259. package/dist/ngx/lib/components/rtsee-messenger/messages-list/messages-list.component.d.ts +0 -22
  260. package/dist/ngx/lib/components/rtsee-messenger/messenger/messenger.component.d.ts +0 -11
  261. package/dist/ngx/lib/components/rtsee-messenger/messenger-header/messenger-header.component.d.ts +0 -14
  262. package/dist/ngx/lib/components/rtsee-messenger/profile/profile.component.d.ts +0 -9
  263. package/dist/ngx/lib/components/rtsee-peer/rtsee-peer.component.d.ts +0 -14
  264. package/dist/ngx/lib/components/rtsee-peers-list/rtsee-peers-list.component.d.ts +0 -5
  265. package/dist/ngx/lib/components/rtsee-presentation/presentation/presentation.component.d.ts +0 -8
  266. package/dist/ngx/lib/components/rtsee-presentation/presentation-header/presentation-header.component.d.ts +0 -7
  267. package/dist/ngx/lib/components/rtsee-presentation/slide/slide.component.d.ts +0 -9
  268. package/dist/ngx/lib/components/rtsee-presentation/story-player/story-player.component.d.ts +0 -9
  269. package/dist/ngx/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.d.ts +0 -8
  270. package/dist/ngx/lib/components/rtsee-settings/rtsee-settings.component.d.ts +0 -21
  271. package/dist/ngx/lib/components/rtsee-soundbar/rtsee-soundbar.component.d.ts +0 -17
  272. package/dist/ngx/lib/directives/shave.directive.d.ts +0 -9
  273. package/dist/ngx/lib/directives/widget.directive.d.ts +0 -8
  274. package/dist/ngx/lib/ngx.module.d.ts +0 -59
  275. package/dist/ngx/lib/ngx.service.d.ts +0 -7
  276. package/dist/ngx/lib/services/default-images.service.d.ts +0 -6
  277. package/dist/ngx/lib/services/events-widgets.service.d.ts +0 -8
  278. package/dist/ngx/lib/services/message-widgets.service.d.ts +0 -11
  279. package/dist/ngx/lib/services/time-format-helper.service.d.ts +0 -14
  280. package/dist/ngx/src/lib/common/compiled-scss/styles.scss +0 -5387
  281. /package/{dist → projects}/ngx/README.md +0 -0
@@ -0,0 +1,32 @@
1
+ <div class="rtsee-sidenav"
2
+ [ngClass]="{'rtsee-sidenav-expanded': isExpanded}">
3
+ <div class="rtsee-sidenav-header">
4
+ <div class="rtsee-site-logo">
5
+ <a [routerLink]="['/']" class="rtsee-home-link">
6
+ <span class="rtsee-site-logo-wrapper" *ngIf="config.siteLogo">
7
+ <img [src]="config.siteLogo.src" [ngClass]="config.siteLogo.classNames" [alt]="config.siteLogo.alt">
8
+ </span>
9
+ <span class="rtsee-site-name">{{config.siteName}}</span>
10
+ </a>
11
+ </div>
12
+ </div>
13
+ <div class="rtsee-sidenav-body">
14
+ <div id="rtsee-nav-items-container">
15
+ <ul class="rtsee-nav-items">
16
+ <li *ngFor="let route of config.routes"
17
+ [ngClass]="{'rtsee-nav-item-hidden': !route.isEnabled}">
18
+ <a [routerLink]="route.link"
19
+ routerLinkActive="active"
20
+ class="rtsee-nav-item">
21
+ <span class="rtsee-nav-item-icon" [ngClass]="route.iconClassName"></span>
22
+ <span class="rtsee-nav-item-name">{{route.name}}</span>
23
+ </a>
24
+ </li>
25
+ </ul>
26
+ </div>
27
+ </div>
28
+ <div class="rtsee-sidenav-toggle" (click)="toggleButtonClicked()">
29
+ <i class="fa fa-angle-right sidenav-toggle-button" *ngIf="!isExpanded"></i>
30
+ <i class="fa fa-angle-left sidenav-toggle-button" *ngIf="isExpanded"></i>
31
+ </div>
32
+ </div>
@@ -0,0 +1,26 @@
1
+ import {Component, EventEmitter, Input, Output} from '@angular/core';
2
+ import {INavigationConfig} from "@rtsee/factory";
3
+ import {NgClass, NgForOf, NgIf} from "@angular/common";
4
+ import {RouterLink} from "@angular/router";
5
+
6
+
7
+ @Component({
8
+ selector: 'rtsee-sidenav',
9
+ templateUrl: './rtsee-sidenav.component.html',
10
+ imports: [
11
+ NgClass,
12
+ RouterLink,
13
+ NgIf,
14
+ NgForOf
15
+ ],
16
+ standalone: true
17
+ })
18
+ export class RtseeSidenavComponent {
19
+ @Input() public config!: INavigationConfig;
20
+ @Input() isExpanded!: boolean;
21
+ @Output() toggleClicked = new EventEmitter<boolean>();
22
+
23
+ toggleButtonClicked() {
24
+ this.toggleClicked.emit(true);
25
+ }
26
+ }
@@ -0,0 +1,20 @@
1
+ <div class="rtsee-events-dashboard-event-thumbnail">
2
+ <ng-template *ngIf="event.widget" widgetHost></ng-template>
3
+ <div *ngIf="!event.widget" class="rtsee-events-dashboard-default-event-thumbnail"
4
+ [ngClass]="{'rtsee-events-dashboard-default-event-thumbnail-with-data': event.data}"
5
+ >
6
+ <div class="rtsee-events-dashboard-default-event-thumbnail-name">{{event.name}}</div>
7
+ <div class="rtsee-events-dashboard-default-event-thumbnail-info">
8
+ <div *ngIf="event.data" class="rtsee-events-dashboard-default-event-thumbnail-details"
9
+ [title]="tooltip"
10
+ >
11
+ <span class="rtsee-events-dashboard-default-event-thumbnail-details-icon material-icons-outlined"
12
+ >info</span>
13
+ </div>
14
+ <div class="rtsee-events-dashboard-default-event-thumbnail-time">
15
+ <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>
16
+ </div>
17
+ </div>
18
+
19
+ </div>
20
+ </div>
@@ -0,0 +1,89 @@
1
+ import {
2
+ AfterViewInit,
3
+ ChangeDetectorRef,
4
+ Component,
5
+ ComponentFactoryResolver,
6
+ ComponentRef,
7
+ Input,
8
+ OnInit,
9
+ ViewChild,
10
+ } from '@angular/core';
11
+ import { RTSeeDashboardEvent } from '@rtsee/events-dashboard';
12
+ import { WidgetDirective } from '../../../../directives/widget.directive';
13
+ import { EventsWidgetsService } from '../../../../services/events-widgets.service';
14
+ import { TimeFormatHelperService } from '../../../../services/time-format-helper.service';
15
+ import {NgClass, NgIf} from "@angular/common";
16
+
17
+ @Component({
18
+ selector: 'rtsee-event-thumbnail',
19
+ templateUrl: './event-thumbnail.component.html',
20
+ imports: [
21
+ WidgetDirective,
22
+ NgIf,
23
+ NgClass
24
+ ],
25
+ standalone: true
26
+ })
27
+ export class EventThumbnailComponent implements OnInit, AfterViewInit {
28
+ tooltip?: string;
29
+
30
+ @Input() event!: RTSeeDashboardEvent;
31
+ @ViewChild(WidgetDirective, { static: false }) widgetHost!: WidgetDirective;
32
+ constructor(
33
+ private widgetsService: EventsWidgetsService,
34
+ private componentFactoryResolver: ComponentFactoryResolver,
35
+ public timeFormatService: TimeFormatHelperService,
36
+ private cd: ChangeDetectorRef,
37
+ ) {}
38
+
39
+ ngOnInit(): void {
40
+ if (this.event.data) {
41
+ this.generateTooltip();
42
+ }
43
+ }
44
+
45
+ generateTooltip() {
46
+ /* eslint-disable */
47
+ let tooltip = '';
48
+ if (typeof this.event.data !== 'object') {
49
+ return;
50
+ }
51
+ try {
52
+ for (const key in this.event.data) {
53
+ if (this.event.data.hasOwnProperty(key)) {
54
+ if (tooltip) {
55
+ tooltip += '&#013;';
56
+ }
57
+ tooltip += key + ' -> ' + this.event.data[key];
58
+ }
59
+ }
60
+ this.tooltip = tooltip;
61
+ } catch (e) {
62
+ console.log('Failed to generate a tooltip');
63
+ }
64
+ /* eslint-enable */
65
+ }
66
+
67
+ ngAfterViewInit() {
68
+ this.cd.detectChanges();
69
+ /* eslint-disable */
70
+ if (this.event.widget) {
71
+ const widget = this.widgetsService.getWidgetComponentByName(
72
+ this.event.widget,
73
+ );
74
+ if (!widget) {
75
+ return;
76
+ }
77
+ const viewContainerRef = this.widgetHost.viewContainerRef;
78
+ viewContainerRef.clear();
79
+ const componentToShow =
80
+ this.componentFactoryResolver.resolveComponentFactory(widget);
81
+ const componentRef: ComponentRef<typeof widget> =
82
+ viewContainerRef.createComponent(componentToShow);
83
+ componentRef.instance.event = this.event;
84
+ componentRef.instance.event = this.event;
85
+ componentRef.changeDetectorRef.detectChanges();
86
+ }
87
+ /* eslint-enable */
88
+ }
89
+ }
@@ -0,0 +1,8 @@
1
+ import { Component } from '@angular/core';
2
+
3
+ @Component({
4
+ selector: 'ngx-rtsee-events-dashboard-client',
5
+ templateUrl: './rtsee-events-dashboard-client.component.html',
6
+ standalone: true
7
+ })
8
+ export class RtseeEventsDashboardClientComponent {}
@@ -0,0 +1,25 @@
1
+ <div class="rtsee-dashboard-client-thumbnail">
2
+ <div class="rtsee-dashboard-client-header">
3
+ <div class="rtsee-dashboard-client-header-photo">
4
+ <div class="rtsee-dashboard-client-header-image"
5
+ [style.background-image]="'url(' + client.imageUrl || defaultImagesService.PROFILE + ')'"
6
+ ></div>
7
+ @if(client.isConnected) {
8
+ <div class="rtsee-dashboard-client-live-indicator"></div>
9
+ }
10
+ </div>
11
+ <p class="rtsee-dashboard-client-name">
12
+ <span class="rtsee-dashboard-client-name-text">{{ client.name || client.id }}</span>
13
+ <button (click)="openChat()" class="rtsee-dashboard-client-engage">
14
+ <span class="rtsee-dashboard-client-engage-icon material-icons-outlined">chat_bubble</span>
15
+ </button>
16
+ </p>
17
+ </div>
18
+ <div class="rtsee-dashboard-sessions">
19
+ @for(session of client.sessions; track session.id) {
20
+ <div class="rtsee-dashboard-sessions-container">
21
+ <rtsee-rtsee-events-dashboard-session [session]="session"></rtsee-rtsee-events-dashboard-session>
22
+ </div>
23
+ }
24
+ </div>
25
+ </div>
@@ -0,0 +1,40 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { TimeFormatHelperService } from '../../../../services/time-format-helper.service';
3
+ import { DefaultImagesService } from '../../../../services/default-images.service';
4
+ import {
5
+ RTSeeEventsDashboard,
6
+ RTSeeDashboardClient,
7
+ } from '@rtsee/events-dashboard';
8
+ import {
9
+ RtseeEventsDashboardSessionComponent
10
+ } from "../rtsee-events-dashboard-session/rtsee-events-dashboard-session.component";
11
+ import {NgForOf, NgIf} from "@angular/common";
12
+
13
+ @Component({
14
+ selector: 'ngx-rtsee-events-dashboard-client-thumbnail',
15
+ templateUrl: './rtsee-events-dashboard-client-thumbnail.component.html',
16
+ imports: [
17
+ RtseeEventsDashboardSessionComponent,
18
+ NgIf,
19
+ NgForOf
20
+ ],
21
+ standalone: true
22
+ })
23
+ export class RtseeEventsDashboardClientThumbnailComponent implements OnInit {
24
+ @Input() dashboard!: RTSeeEventsDashboard;
25
+ @Input() client!: RTSeeDashboardClient;
26
+
27
+ constructor(
28
+ public timeFormatService: TimeFormatHelperService,
29
+ public defaultImagesService: DefaultImagesService,
30
+ ) {}
31
+
32
+ ngOnInit(): void {
33
+ console.log('client id', this.client.id);
34
+ }
35
+
36
+ openChat() {
37
+ console.log('Open Chat Clicked! Client ID #', this.client.id);
38
+ this.dashboard.openChat(this.client);
39
+ }
40
+ }
@@ -0,0 +1,32 @@
1
+ <div class="rtsee-events-dashboard-session">
2
+ <div class="rtsee-events-dashboard-session-header" *ngIf="session.info">
3
+ <p class="rtsee-events-dashboard-session-client-info">{{session.info.clientThumbnail}}</p>
4
+ <p class="rtsee-events-dashboard-session-os-info">{{session.info.osThumbnail}}</p>
5
+ <div class="rtsee-events-dashboard-session-device-info" [title]="session.info.deviceThumbnail">
6
+ <span *ngIf="session.info.deviceType === 'smartphone' && !session.info.botName"
7
+ class="material-icons-outlined rtsee-events-dashboard-session-device-info-icon"
8
+ >phone_iphone</span>
9
+ <span class="material-icons-outlined rtsee-events-dashboard-session-device-info-icon"
10
+ *ngIf="session.info.deviceType === 'tablet' && !session.info.botName"
11
+ >tablet_mac</span>
12
+ <span class="material-icons-outlined rtsee-events-dashboard-session-device-info-icon"
13
+ *ngIf="session.info.deviceType === 'desktop' && !session.info.botName"
14
+ >computer</span>
15
+ <span class="material-icons-outlined rtsee-events-dashboard-session-device-info-icon"
16
+ *ngIf="session.info.botName"
17
+ >smart_toy</span>
18
+ </div>
19
+ </div>
20
+ <ul *ngIf="session.events && session.events.length"
21
+ class="rtsee-events-dashboard-session-events-list"
22
+ >
23
+ @for (event of session.events | slice:0:5; track event.id) {
24
+ <li class="rtsee-events-dashboard-session-event">
25
+ <rtsee-event-thumbnail [event]="event"></rtsee-event-thumbnail>
26
+ </li>
27
+ }
28
+ </ul>
29
+ <div class="rtsee-events-dashboard-session-footer">
30
+ <button *ngIf="session.events.length > 5">{{session.events.length - 5}} more</button>
31
+ </div>
32
+ </div>
@@ -0,0 +1,21 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { TimeFormatHelperService } from '../../../../services/time-format-helper.service';
3
+ import { RTSeeDashboardClientSession } from '@rtsee/events-dashboard';
4
+ import { NgIf, SlicePipe } from "@angular/common";
5
+ import {EventThumbnailComponent} from "../event-thumbnail/event-thumbnail.component";
6
+
7
+ @Component({
8
+ selector: 'rtsee-rtsee-events-dashboard-session',
9
+ templateUrl: './rtsee-events-dashboard-session.component.html',
10
+ imports: [
11
+ NgIf,
12
+
13
+ EventThumbnailComponent,
14
+ SlicePipe
15
+ ],
16
+ standalone: true
17
+ })
18
+ export class RtseeEventsDashboardSessionComponent {
19
+ @Input() session!: RTSeeDashboardClientSession;
20
+ constructor(public timeFormatService: TimeFormatHelperService) {}
21
+ }
@@ -0,0 +1,12 @@
1
+ <div class="rtsee-events-dashboard">
2
+ <div class="rtsee-events-dashboard-client-thumbnails">
3
+ @for (client of eventsDashboard.clients; track client.id) {
4
+ <div class="rtsee-events-dashboard-client-thumbnail-wrapper">
5
+ <ngx-rtsee-events-dashboard-client-thumbnail
6
+ [client]="client"
7
+ [dashboard]="eventsDashboard"
8
+ ></ngx-rtsee-events-dashboard-client-thumbnail>
9
+ </div>
10
+ }
11
+ </div>
12
+ </div>
@@ -0,0 +1,19 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { RTSeeEventsDashboard } from '@rtsee/events-dashboard';
3
+
4
+
5
+ import {
6
+ RtseeEventsDashboardClientThumbnailComponent
7
+ } from "./components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component";
8
+
9
+ @Component({
10
+ selector: 'rtsee-events-dashboard',
11
+ templateUrl: './rtsee-events-dashboard.component.html',
12
+ imports: [
13
+ RtseeEventsDashboardClientThumbnailComponent
14
+ ],
15
+ standalone: true
16
+ })
17
+ export class RtseeEventsDashboardComponent {
18
+ @Input() eventsDashboard!: RTSeeEventsDashboard;
19
+ }
@@ -0,0 +1,10 @@
1
+ <div class="rtsee-chat">
2
+ <div class="rtsee-chat-body-container">
3
+ <rtsee-messages-list [messenger]="messenger" [chat]="chat"></rtsee-messages-list>
4
+ </div>
5
+ <div class="rtsee-chat-footer-container">
6
+ <div class="rtsee-chat-footer-container-inner">
7
+ <rtsee-chat-input [messenger]="messenger" [chat]="chat"></rtsee-chat-input>
8
+ </div>
9
+ </div>
10
+ </div>
@@ -0,0 +1,18 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';
3
+ import {MessagesListComponent} from "../messages-list/messages-list.component";
4
+ import {ChatInputComponent} from "../chat-input/chat-input.component";
5
+
6
+ @Component({
7
+ selector: 'rtsee-chat',
8
+ templateUrl: './chat.component.html',
9
+ imports: [
10
+ MessagesListComponent,
11
+ ChatInputComponent
12
+ ],
13
+ standalone: true
14
+ })
15
+ export class ChatComponent {
16
+ @Input() chat!: RTSeeChat;
17
+ @Input() messenger!: RTSeeMessenger;
18
+ }
@@ -0,0 +1,20 @@
1
+ <div class="rtsee-chat-input" xmlns="http://www.w3.org/1999/html">
2
+ <div class="rtsee-send-message">
3
+ <form [formGroup]="sendMessageForm" class="rtsee-chat-input-form">
4
+ <textarea
5
+ placeholder="Type message..."
6
+ type="text"
7
+ formControlName="message"
8
+ class="rtsee-chat-input-field"
9
+ autosize
10
+ required
11
+ (keyup.enter)="sendMessage()"
12
+ ></textarea>
13
+ </form>
14
+ </div>
15
+ <button (click)="sendMessage()"
16
+ class="rtsee-send-message-button"
17
+ type="submit">
18
+ <span class="material-icons-outlined">send</span>
19
+ </button>
20
+ </div>
@@ -0,0 +1,31 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import {FormControl, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';
3
+ import { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';
4
+
5
+ @Component({
6
+ selector: 'rtsee-chat-input',
7
+ templateUrl: './chat-input.component.html',
8
+ imports: [
9
+ ReactiveFormsModule
10
+ ],
11
+ standalone: true
12
+ })
13
+ export class ChatInputComponent {
14
+ sendMessageForm: FormGroup = new FormGroup({
15
+ /* eslint-disable */
16
+ message: new FormControl('', Validators.required),
17
+ /* eslint-enable */
18
+ });
19
+
20
+ @Input() messenger!: RTSeeMessenger;
21
+ @Input() chat!: RTSeeChat;
22
+
23
+ sendMessage() {
24
+ const text = this.sendMessageForm.get('message')?.value as string;
25
+ if (!text) {
26
+ return;
27
+ }
28
+ this.chat.sendMessage(text);
29
+ this.sendMessageForm.get('message')?.setValue('');
30
+ }
31
+ }
@@ -0,0 +1,28 @@
1
+ <div class="rtsee-chat-thumbnail" (click)="messenger.openChatById(chat.chatId)">
2
+ <div class="rtsee-chat-thumbnail-image">
3
+ <img [src]="chat.chatImageUrl" alt="chat-img">
4
+ </div>
5
+ <div class="rtsee-chat-thumbnail-left">
6
+ <div class="rtsee-chat-thumbnail-name">
7
+ <span>{{ chat.chatName }}</span>
8
+ <div class="rtsee-chat-thumbnail-status">
9
+ <rtsee-message-time-and-status [message]="chat"
10
+ [hideStatus]="chat && !!(chat.unreadMessagesCount)">
11
+ </rtsee-message-time-and-status>
12
+ </div>
13
+ </div>
14
+ <div class="rtsee-chat-thumbnail-last-message"
15
+ [ngClass]="{'rtsee-has-unread': chat.unreadMessagesCount}"
16
+ rtseeShave>
17
+ <span class="rtsee-chat-thumbnail-last-message-sender"
18
+ *ngIf="chat.chatType !== RTSeeChatTypes.INDIVIDUAL && chat.senderName"
19
+ >{{chat.senderName}}</span>
20
+ <span class="rtsee-chat-thumbnail-last-message-text"
21
+ *ngIf="chat.text"
22
+ >{{chat.text}}</span>
23
+ <div class="rtsee-messenger-thumbnail-unread" *ngIf="chat.unreadMessagesCount">
24
+ <span class="rtsee-messenger-thumbnail-unread-count">{{chat.unreadMessagesCount}}</span>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ </div>
@@ -0,0 +1,27 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { RTSeeMessenger } from '@rtsee/messenger';
3
+ import { RTSeeChatTypes, IMessageThumbnail } from '@rtsee/common';
4
+ import { TimeFormatHelperService } from '../../../services/time-format-helper.service';
5
+ import {
6
+ MessageTimeAndStatusComponent
7
+ } from "../message/components/message-time-and-status/message-time-and-status.component";
8
+ import {NgClass, NgIf} from "@angular/common";
9
+
10
+ @Component({
11
+ selector: 'rtsee-chat-thumbnail',
12
+ templateUrl: './chat-thumbnail.component.html',
13
+ imports: [
14
+ MessageTimeAndStatusComponent,
15
+ NgClass,
16
+ NgIf
17
+ ],
18
+ standalone: true
19
+ })
20
+ export class ChatThumbnailComponent {
21
+ @Input() chat!: IMessageThumbnail;
22
+ @Input() messenger!: RTSeeMessenger;
23
+
24
+ readonly RTSeeChatTypes = RTSeeChatTypes;
25
+
26
+ constructor(public timeFormatService: TimeFormatHelperService) {}
27
+ }
@@ -0,0 +1,6 @@
1
+ <div class="rtsee-chats-list">
2
+ <div class="rtsee-chat-thumbnail-container" *ngFor="let chat of chats; let last = last;">
3
+ <rtsee-chat-thumbnail [chat]="chat.thumbnail" [messenger]="messenger"></rtsee-chat-thumbnail>
4
+ <!-- <div class="rtsee-chat-thumbnail-separator" *ngIf="!last"></div>-->
5
+ </div>
6
+ </div>
@@ -0,0 +1,22 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';
3
+ import {NgForOf} from "@angular/common";
4
+ import {ChatThumbnailComponent} from "../chat-thumbnail/chat-thumbnail.component";
5
+
6
+ @Component({
7
+ selector: 'rtsee-chats-list',
8
+ templateUrl: './chats-list.component.html',
9
+ imports: [
10
+ NgForOf,
11
+ ChatThumbnailComponent
12
+ ],
13
+ standalone: true
14
+ })
15
+ export class ChatsListComponent implements OnInit {
16
+ @Input() messenger!: RTSeeMessenger;
17
+ @Input() chats!: RTSeeChat[];
18
+
19
+ ngOnInit(): void {
20
+ // console.log(this.chats);
21
+ }
22
+ }
@@ -0,0 +1,3 @@
1
+ <div class="rtsee-messenger-contacts-multiselect">
2
+ <rtsee-search [search]="search"></rtsee-search>
3
+ </div>
@@ -0,0 +1,18 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { IMainMenuState } from '../models/MainMenuState';
3
+ import { RTSeeMessengerSearch } from '@rtsee/messenger';
4
+ import { SearchComponent } from "../search/search.component";
5
+
6
+ @Component({
7
+ selector: 'rtsee-contacts-multiselect',
8
+ templateUrl: './contacts-multiselect.component.html',
9
+ styleUrls: ['./contacts-multiselect.component.scss'],
10
+ imports: [
11
+ SearchComponent
12
+ ],
13
+ standalone: true
14
+ })
15
+ export class ContactsMultiselectComponent {
16
+ @Input() menuState!: IMainMenuState;
17
+ @Input() search!: RTSeeMessengerSearch;
18
+ }
@@ -0,0 +1,4 @@
1
+ <div class="rtsee-messenger-manage-chat">
2
+ <p>We are going to manage chat here</p>
3
+ <button (click)="onInviteContactsClicked()">Invite Contacts</button>
4
+ </div>
@@ -0,0 +1,18 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { RTSeeMessenger } from '@rtsee/messenger';
3
+ import { IMainMenuState, MainMenuPanels } from '../models/MainMenuState';
4
+
5
+ @Component({
6
+ selector: 'rtsee-manage-chat',
7
+ templateUrl: './manage-chat.component.html',
8
+ styleUrls: ['./manage-chat.component.scss'],
9
+ standalone: true
10
+ })
11
+ export class ManageChatComponent {
12
+ @Input() messenger!: RTSeeMessenger;
13
+ @Input() menuState!: IMainMenuState;
14
+
15
+ onInviteContactsClicked() {
16
+ this.menuState.activePanel = MainMenuPanels.CONTACTS_SELECT;
17
+ }
18
+ }
@@ -0,0 +1,11 @@
1
+ export enum MainMenuPanels {
2
+ HOME = 'home',
3
+ CONTACTS_SELECT = 'contacts-select',
4
+ MANAGE_CHAT = 'manage-chat',
5
+ }
6
+
7
+ export interface IMainMenuState {
8
+ activePanel: MainMenuPanels;
9
+ }
10
+
11
+ export const DEFAULT_MAIN_MENU_STATE = MainMenuPanels.HOME;
@@ -0,0 +1,25 @@
1
+ <div class="rtsee-messenger-search">
2
+ <input type="text"
3
+ [formControl]="queryControl"
4
+ class="rtsee-messenger-search-input"
5
+ placeholder="Search"/>
6
+ </div>
7
+
8
+ <div class="rtsee-messenger-search-results">
9
+ <rtsee-preloader [diameter]="50"
10
+ *ngIf="search.searchInProgress"
11
+ ></rtsee-preloader>
12
+ <p>Chats</p>
13
+ <div class="rtsee-messenger-search-results-chats">
14
+ <div *ngFor="let chat of search.results.chats"
15
+ class="rtsee-messenger-search-results-chat-wrapper">
16
+ <p>{{chat.name}}</p>
17
+ </div>
18
+ </div>
19
+ <p>Messages</p>
20
+ <div class="rtsee-messenger-search-results-messages">
21
+ <div *ngFor="let message of search.results.messages" class="rtsee-messenger-search-results-message-wrapper">
22
+ <p>{{message.chatName || message.senderName }}</p>
23
+ </div>
24
+ </div>
25
+ </div>
@@ -0,0 +1,36 @@
1
+ import { Component, Input, OnDestroy, OnInit } from '@angular/core';
2
+ import { debounceTime } from 'rxjs/operators';
3
+ import {FormControl, ReactiveFormsModule} from '@angular/forms';
4
+ import { Subscription } from 'rxjs';
5
+ import { RTSeeMessengerSearch } from '@rtsee/messenger';
6
+ import {PreloaderComponent} from "../../../../../common/components/preloader/preloader.component";
7
+ import {NgForOf} from "@angular/common";
8
+
9
+ @Component({
10
+ selector: 'rtsee-search',
11
+ templateUrl: './search.component.html',
12
+ imports: [
13
+ ReactiveFormsModule,
14
+ PreloaderComponent,
15
+ NgForOf
16
+ ],
17
+ standalone: true
18
+ })
19
+ export class SearchComponent implements OnInit, OnDestroy {
20
+ queryControl = new FormControl();
21
+ queryCtrlSub?: Subscription;
22
+
23
+ @Input() search!: RTSeeMessengerSearch;
24
+
25
+ ngOnInit(): void {
26
+ this.queryCtrlSub = this.queryControl.valueChanges
27
+ .pipe(debounceTime(200))
28
+ .subscribe((value: string) => this.search.onQueryChange(value));
29
+ }
30
+
31
+ ngOnDestroy() {
32
+ if (this.queryCtrlSub) {
33
+ this.queryCtrlSub.unsubscribe();
34
+ }
35
+ }
36
+ }