@rtsee/ngx 0.0.38 → 0.0.40

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 (114) hide show
  1. package/dist/ngx/esm2022/lib/common/components/preloader/preloader.component.mjs +33 -0
  2. package/dist/ngx/esm2022/lib/components/rtsee/rtsee-controls/rtsee-controls.component.mjs +25 -0
  3. package/dist/ngx/esm2022/lib/components/rtsee/rtsee.component.mjs +32 -0
  4. package/dist/ngx/esm2022/lib/components/rtsee-container/rtsee-container.component.mjs +11 -0
  5. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.mjs +76 -0
  6. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.mjs +11 -0
  7. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.mjs +33 -0
  8. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.mjs +21 -0
  9. package/dist/ngx/esm2022/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.mjs +16 -0
  10. package/dist/ngx/esm2022/lib/components/rtsee-messenger/chat/chat.component.mjs +19 -0
  11. package/dist/ngx/esm2022/lib/components/rtsee-messenger/chat-input/chat-input.component.mjs +33 -0
  12. package/dist/ngx/esm2022/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.mjs +27 -0
  13. package/dist/ngx/esm2022/lib/components/rtsee-messenger/chats-list/chats-list.component.mjs +22 -0
  14. package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.mjs +18 -0
  15. package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.mjs +21 -0
  16. package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/components/search/search.component.mjs +31 -0
  17. package/dist/ngx/esm2022/lib/components/rtsee-messenger/main-menu/main-menu.component.mjs +32 -0
  18. package/dist/ngx/esm2022/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.mjs +24 -0
  19. package/dist/ngx/esm2022/lib/components/rtsee-messenger/message/message.component.mjs +58 -0
  20. package/dist/ngx/esm2022/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.mjs +34 -0
  21. package/dist/ngx/esm2022/lib/components/rtsee-messenger/messages-list/messages-list.component.mjs +70 -0
  22. package/dist/ngx/esm2022/lib/components/rtsee-messenger/messenger/messenger.component.mjs +31 -0
  23. package/dist/ngx/esm2022/lib/components/rtsee-messenger/messenger-header/messenger-header.component.mjs +33 -0
  24. package/dist/ngx/esm2022/lib/components/rtsee-messenger/profile/profile.component.mjs +26 -0
  25. package/dist/ngx/esm2022/lib/components/rtsee-peer/rtsee-peer.component.mjs +36 -0
  26. package/dist/ngx/esm2022/lib/components/rtsee-peers-list/rtsee-peers-list.component.mjs +11 -0
  27. package/dist/ngx/esm2022/lib/components/rtsee-settings/rtsee-settings.component.mjs +43 -0
  28. package/dist/ngx/esm2022/lib/components/rtsee-soundbar/rtsee-soundbar.component.mjs +59 -0
  29. package/dist/ngx/esm2022/lib/directives/shave.directive.mjs +22 -0
  30. package/dist/ngx/esm2022/lib/directives/widget.directive.mjs +17 -0
  31. package/dist/ngx/esm2022/lib/ngx.module.mjs +141 -0
  32. package/dist/ngx/esm2022/lib/ngx.service.mjs +17 -0
  33. package/dist/ngx/esm2022/lib/services/default-images.service.mjs +14 -0
  34. package/dist/ngx/esm2022/lib/services/events-widgets.service.mjs +23 -0
  35. package/dist/ngx/esm2022/lib/services/message-widgets.service.mjs +26 -0
  36. package/dist/ngx/esm2022/lib/services/time-format-helper.service.mjs +92 -0
  37. package/dist/ngx/fesm2022/rtsee-ngx.mjs +1089 -0
  38. package/dist/ngx/fesm2022/rtsee-ngx.mjs.map +1 -0
  39. package/dist/ngx/lib/common/components/preloader/preloader.component.d.ts +1 -1
  40. package/dist/ngx/lib/components/rtsee/rtsee-controls/rtsee-controls.component.d.ts +1 -1
  41. package/dist/ngx/lib/components/rtsee/rtsee.component.d.ts +1 -1
  42. package/dist/ngx/lib/components/rtsee-container/rtsee-container.component.d.ts +1 -1
  43. package/dist/ngx/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.d.ts +1 -1
  44. package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.d.ts +1 -1
  45. package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.d.ts +1 -1
  46. package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.d.ts +1 -1
  47. package/dist/ngx/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.d.ts +1 -1
  48. package/dist/ngx/lib/components/rtsee-messenger/chat/chat.component.d.ts +1 -1
  49. package/dist/ngx/lib/components/rtsee-messenger/chat-input/chat-input.component.d.ts +1 -1
  50. package/dist/ngx/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.d.ts +1 -1
  51. package/dist/ngx/lib/components/rtsee-messenger/chats-list/chats-list.component.d.ts +1 -1
  52. package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.d.ts +1 -1
  53. package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.d.ts +1 -1
  54. package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/search/search.component.d.ts +2 -2
  55. package/dist/ngx/lib/components/rtsee-messenger/main-menu/main-menu.component.d.ts +1 -1
  56. package/dist/ngx/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.d.ts +1 -1
  57. package/dist/ngx/lib/components/rtsee-messenger/message/message.component.d.ts +1 -1
  58. package/dist/ngx/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.d.ts +1 -1
  59. package/dist/ngx/lib/components/rtsee-messenger/messages-list/messages-list.component.d.ts +1 -1
  60. package/dist/ngx/lib/components/rtsee-messenger/messenger/messenger.component.d.ts +1 -1
  61. package/dist/ngx/lib/components/rtsee-messenger/messenger-header/messenger-header.component.d.ts +1 -1
  62. package/dist/ngx/lib/components/rtsee-messenger/profile/profile.component.d.ts +1 -1
  63. package/dist/ngx/lib/components/rtsee-peer/rtsee-peer.component.d.ts +1 -1
  64. package/dist/ngx/lib/components/rtsee-peers-list/rtsee-peers-list.component.d.ts +1 -1
  65. package/dist/ngx/lib/components/rtsee-settings/rtsee-settings.component.d.ts +1 -1
  66. package/dist/ngx/lib/components/rtsee-soundbar/rtsee-soundbar.component.d.ts +1 -1
  67. package/dist/ngx/lib/directives/shave.directive.d.ts +1 -1
  68. package/dist/ngx/lib/directives/widget.directive.d.ts +1 -1
  69. package/dist/ngx/package.json +13 -6
  70. package/package.json +30 -38
  71. package/dist/ngx/bundles/rtsee-ngx.umd.js +0 -1208
  72. package/dist/ngx/bundles/rtsee-ngx.umd.js.map +0 -1
  73. package/dist/ngx/esm2015/lib/common/components/preloader/preloader.component.js +0 -34
  74. package/dist/ngx/esm2015/lib/components/rtsee/rtsee-controls/rtsee-controls.component.js +0 -27
  75. package/dist/ngx/esm2015/lib/components/rtsee/rtsee.component.js +0 -33
  76. package/dist/ngx/esm2015/lib/components/rtsee-container/rtsee-container.component.js +0 -14
  77. package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.js +0 -73
  78. package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.js +0 -14
  79. package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.js +0 -32
  80. package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.js +0 -22
  81. package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.js +0 -18
  82. package/dist/ngx/esm2015/lib/components/rtsee-messenger/chat/chat.component.js +0 -20
  83. package/dist/ngx/esm2015/lib/components/rtsee-messenger/chat-input/chat-input.component.js +0 -37
  84. package/dist/ngx/esm2015/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.js +0 -27
  85. package/dist/ngx/esm2015/lib/components/rtsee-messenger/chats-list/chats-list.component.js +0 -23
  86. package/dist/ngx/esm2015/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.js +0 -20
  87. package/dist/ngx/esm2015/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.js +0 -23
  88. package/dist/ngx/esm2015/lib/components/rtsee-messenger/main-menu/components/search/search.component.js +0 -34
  89. package/dist/ngx/esm2015/lib/components/rtsee-messenger/main-menu/main-menu.component.js +0 -35
  90. package/dist/ngx/esm2015/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.js +0 -24
  91. package/dist/ngx/esm2015/lib/components/rtsee-messenger/message/message.component.js +0 -53
  92. package/dist/ngx/esm2015/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.js +0 -37
  93. package/dist/ngx/esm2015/lib/components/rtsee-messenger/messages-list/messages-list.component.js +0 -69
  94. package/dist/ngx/esm2015/lib/components/rtsee-messenger/messenger/messenger.component.js +0 -32
  95. package/dist/ngx/esm2015/lib/components/rtsee-messenger/messenger-header/messenger-header.component.js +0 -33
  96. package/dist/ngx/esm2015/lib/components/rtsee-messenger/profile/profile.component.js +0 -28
  97. package/dist/ngx/esm2015/lib/components/rtsee-peer/rtsee-peer.component.js +0 -35
  98. package/dist/ngx/esm2015/lib/components/rtsee-peers-list/rtsee-peers-list.component.js +0 -15
  99. package/dist/ngx/esm2015/lib/components/rtsee-settings/rtsee-settings.component.js +0 -42
  100. package/dist/ngx/esm2015/lib/components/rtsee-soundbar/rtsee-soundbar.component.js +0 -58
  101. package/dist/ngx/esm2015/lib/directives/shave.directive.js +0 -22
  102. package/dist/ngx/esm2015/lib/directives/widget.directive.js +0 -16
  103. package/dist/ngx/esm2015/lib/ngx.module.js +0 -143
  104. package/dist/ngx/esm2015/lib/ngx.service.js +0 -16
  105. package/dist/ngx/esm2015/lib/services/default-images.service.js +0 -16
  106. package/dist/ngx/esm2015/lib/services/events-widgets.service.js +0 -25
  107. package/dist/ngx/esm2015/lib/services/message-widgets.service.js +0 -28
  108. package/dist/ngx/esm2015/lib/services/time-format-helper.service.js +0 -92
  109. package/dist/ngx/fesm2015/rtsee-ngx.js +0 -1121
  110. package/dist/ngx/fesm2015/rtsee-ngx.js.map +0 -1
  111. /package/dist/ngx/{esm2015/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.js → esm2022/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.mjs} +0 -0
  112. /package/dist/ngx/{esm2015/public-api.js → esm2022/public-api.mjs} +0 -0
  113. /package/dist/ngx/{esm2015/rtsee-ngx.js → esm2022/rtsee-ngx.mjs} +0 -0
  114. /package/dist/ngx/{rtsee-ngx.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,43 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/forms";
5
+ export class RtseeSettingsComponent {
6
+ availableAudioInputDevices;
7
+ availableVideoInputDevices;
8
+ availableAudioOutputDevices;
9
+ rtSee;
10
+ fullScreenMode;
11
+ constructor() {
12
+ this.availableAudioInputDevices = [];
13
+ this.availableVideoInputDevices = [];
14
+ this.availableAudioOutputDevices = [];
15
+ }
16
+ ngOnInit() {
17
+ this.refreshSelectOptions();
18
+ }
19
+ refreshSelectOptions() {
20
+ void this.rtSee.refreshMediaDevicesList();
21
+ }
22
+ setAudioInput(deviceId) {
23
+ this.rtSee.setAudioInputDevice(deviceId);
24
+ console.log(deviceId);
25
+ }
26
+ setAudioOutput(deviceId) {
27
+ this.rtSee.setAudioOutputDevice(deviceId);
28
+ }
29
+ setVideoInput(deviceId) {
30
+ this.rtSee.setVideoInputDevice(deviceId);
31
+ }
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: RtseeSettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: RtseeSettingsComponent, selector: "ngx-rtsee-settings", inputs: { rtSee: "rtSee", fullScreenMode: "fullScreenMode" }, ngImport: i0, template: "<div class=\"rtsee-settings\" [ngClass]=\"{'rtsee-full-screen-settings' : fullScreenMode}\">\n <div class=\"rtsee-devices\">\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-input\">Audio Input:</label>\n <select class=\"rtsee-select\" id=\"audio-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioInputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-output\">Audio Output:</label>\n <select class=\"rtsee-select\" id=\"audio-output\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioOutputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioOutput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"video-input\">Video Input:</label>\n <select class=\"rtsee-select\" id=\"video-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.videoInputDevices\" [value]=\"device.deviceId\" (click)=\"setVideoInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n </div>\n</div>\n", styles: [".rtsee-settings{box-sizing:border-box;background-color:#404040;border-bottom:1px solid;max-height:180px;padding:16px 0;overflow:auto;color:#fff}.rtsee-settings .rtsee-device-select-wrapper{padding:0 10px}.rtsee-settings .rtsee-device-select-wrapper .rtsee-select-label{font-family:monospace;display:inline-block;margin:8px}.rtsee-settings.rtsee-full-screen-settings{max-height:unset;overflow:unset}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: RtseeSettingsComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'ngx-rtsee-settings', template: "<div class=\"rtsee-settings\" [ngClass]=\"{'rtsee-full-screen-settings' : fullScreenMode}\">\n <div class=\"rtsee-devices\">\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-input\">Audio Input:</label>\n <select class=\"rtsee-select\" id=\"audio-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioInputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-output\">Audio Output:</label>\n <select class=\"rtsee-select\" id=\"audio-output\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioOutputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioOutput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"video-input\">Video Input:</label>\n <select class=\"rtsee-select\" id=\"video-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.videoInputDevices\" [value]=\"device.deviceId\" (click)=\"setVideoInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n </div>\n</div>\n", styles: [".rtsee-settings{box-sizing:border-box;background-color:#404040;border-bottom:1px solid;max-height:180px;padding:16px 0;overflow:auto;color:#fff}.rtsee-settings .rtsee-device-select-wrapper{padding:0 10px}.rtsee-settings .rtsee-device-select-wrapper .rtsee-select-label{font-family:monospace;display:inline-block;margin:8px}.rtsee-settings.rtsee-full-screen-settings{max-height:unset;overflow:unset}\n"] }]
38
+ }], ctorParameters: function () { return []; }, propDecorators: { rtSee: [{
39
+ type: Input
40
+ }], fullScreenMode: [{
41
+ type: Input
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtc2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1zZXR0aW5ncy9ydHNlZS1zZXR0aW5ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLXNldHRpbmdzL3J0c2VlLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXpELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsMEJBQTBCLENBQW9CO0lBQzlDLDBCQUEwQixDQUFvQjtJQUM5QywyQkFBMkIsQ0FBb0I7SUFFdEMsS0FBSyxDQUFtQjtJQUN4QixjQUFjLENBQVc7SUFDbEM7UUFDRSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFnQjtRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQjtRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxhQUFhLENBQUMsUUFBZ0I7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO3VHQWhDVSxzQkFBc0I7MkZBQXRCLHNCQUFzQix3SENSbkMsZzhDQTRCQTs7MkZEcEJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7MEVBU3JCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSVFNlZUNvbmZlcmVuY2UgfSBmcm9tICdAcnRzZWUvY29uZmVyZW5jZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1ydHNlZS1zZXR0aW5ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydHNlZS1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3J0c2VlLXNldHRpbmdzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJ0c2VlU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhdmFpbGFibGVBdWRpb0lucHV0RGV2aWNlczogTWVkaWFEZXZpY2VJbmZvW107XG4gIGF2YWlsYWJsZVZpZGVvSW5wdXREZXZpY2VzOiBNZWRpYURldmljZUluZm9bXTtcbiAgYXZhaWxhYmxlQXVkaW9PdXRwdXREZXZpY2VzOiBNZWRpYURldmljZUluZm9bXTtcblxuICBASW5wdXQoKSBydFNlZSE6IFJUU2VlQ29uZmVyZW5jZTtcbiAgQElucHV0KCkgZnVsbFNjcmVlbk1vZGUhOiBib29sZWFuO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmF2YWlsYWJsZUF1ZGlvSW5wdXREZXZpY2VzID0gW107XG4gICAgdGhpcy5hdmFpbGFibGVWaWRlb0lucHV0RGV2aWNlcyA9IFtdO1xuICAgIHRoaXMuYXZhaWxhYmxlQXVkaW9PdXRwdXREZXZpY2VzID0gW107XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZnJlc2hTZWxlY3RPcHRpb25zKCk7XG4gIH1cblxuICByZWZyZXNoU2VsZWN0T3B0aW9ucygpIHtcbiAgICB2b2lkIHRoaXMucnRTZWUucmVmcmVzaE1lZGlhRGV2aWNlc0xpc3QoKTtcbiAgfVxuXG4gIHNldEF1ZGlvSW5wdXQoZGV2aWNlSWQ6IHN0cmluZykge1xuICAgIHRoaXMucnRTZWUuc2V0QXVkaW9JbnB1dERldmljZShkZXZpY2VJZCk7XG4gICAgY29uc29sZS5sb2coZGV2aWNlSWQpO1xuICB9XG5cbiAgc2V0QXVkaW9PdXRwdXQoZGV2aWNlSWQ6IHN0cmluZykge1xuICAgIHRoaXMucnRTZWUuc2V0QXVkaW9PdXRwdXREZXZpY2UoZGV2aWNlSWQpO1xuICB9XG5cbiAgc2V0VmlkZW9JbnB1dChkZXZpY2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5ydFNlZS5zZXRWaWRlb0lucHV0RGV2aWNlKGRldmljZUlkKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJ0c2VlLXNldHRpbmdzXCIgW25nQ2xhc3NdPVwieydydHNlZS1mdWxsLXNjcmVlbi1zZXR0aW5ncycgOiBmdWxsU2NyZWVuTW9kZX1cIj5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLWRldmljZXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwicnRzZWUtZGV2aWNlLXNlbGVjdC13cmFwcGVyXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJydHNlZS1zZWxlY3QtbGFiZWxcIiBmb3I9XCJhdWRpby1pbnB1dFwiPkF1ZGlvIElucHV0OjwvbGFiZWw+XG4gICAgICA8c2VsZWN0IGNsYXNzPVwicnRzZWUtc2VsZWN0XCIgaWQ9XCJhdWRpby1pbnB1dFwiIChjbGljayk9XCJyZWZyZXNoU2VsZWN0T3B0aW9ucygpXCI+XG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGRldmljZSBvZiBydFNlZS5hdWRpb0lucHV0RGV2aWNlc1wiIFt2YWx1ZV09XCJkZXZpY2UuZGV2aWNlSWRcIiAoY2xpY2spPVwic2V0QXVkaW9JbnB1dChkZXZpY2UuZGV2aWNlSWQpXCI+XG4gICAgICAgICAge3tkZXZpY2UubGFiZWx9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJydHNlZS1kZXZpY2Utc2VsZWN0LXdyYXBwZXJcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cInJ0c2VlLXNlbGVjdC1sYWJlbFwiIGZvcj1cImF1ZGlvLW91dHB1dFwiPkF1ZGlvIE91dHB1dDo8L2xhYmVsPlxuICAgICAgPHNlbGVjdCBjbGFzcz1cInJ0c2VlLXNlbGVjdFwiIGlkPVwiYXVkaW8tb3V0cHV0XCIgKGNsaWNrKT1cInJlZnJlc2hTZWxlY3RPcHRpb25zKClcIj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZGV2aWNlIG9mIHJ0U2VlLmF1ZGlvT3V0cHV0RGV2aWNlc1wiIFt2YWx1ZV09XCJkZXZpY2UuZGV2aWNlSWRcIiAoY2xpY2spPVwic2V0QXVkaW9PdXRwdXQoZGV2aWNlLmRldmljZUlkKVwiPlxuICAgICAgICAgIHt7ZGV2aWNlLmxhYmVsfX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicnRzZWUtZGV2aWNlLXNlbGVjdC13cmFwcGVyXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJydHNlZS1zZWxlY3QtbGFiZWxcIiBmb3I9XCJ2aWRlby1pbnB1dFwiPlZpZGVvIElucHV0OjwvbGFiZWw+XG4gICAgICA8c2VsZWN0IGNsYXNzPVwicnRzZWUtc2VsZWN0XCIgaWQ9XCJ2aWRlby1pbnB1dFwiIChjbGljayk9XCJyZWZyZXNoU2VsZWN0T3B0aW9ucygpXCI+XG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGRldmljZSBvZiBydFNlZS52aWRlb0lucHV0RGV2aWNlc1wiIFt2YWx1ZV09XCJkZXZpY2UuZGV2aWNlSWRcIiAoY2xpY2spPVwic2V0VmlkZW9JbnB1dChkZXZpY2UuZGV2aWNlSWQpXCI+XG4gICAgICAgICAge3tkZXZpY2UubGFiZWx9fVxuICAgICAgICA8L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,59 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { interval } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class RtseeSoundbarComponent {
5
+ intervalLength;
6
+ noiceLevel;
7
+ scaleOneLevel;
8
+ scaleTwoLevel;
9
+ scaleThreeLevel;
10
+ peer;
11
+ constructor() {
12
+ this.intervalLength = 1000;
13
+ this.noiceLevel = 0;
14
+ this.scaleOneLevel = 0;
15
+ this.scaleTwoLevel = 0;
16
+ this.scaleThreeLevel = 0;
17
+ }
18
+ ngOnInit() {
19
+ this.startSoundMeterListening();
20
+ }
21
+ startSoundMeterListening() {
22
+ const step = interval(1000 / 10);
23
+ step.subscribe(() => {
24
+ if (!this.peer.soundMeter || !this.peer.soundMeter.level) {
25
+ this.noiceLevel = 0;
26
+ }
27
+ else {
28
+ this.noiceLevel = this.peer.soundMeter?.level * 100 || 0;
29
+ }
30
+ this.setSoundMeterHeights();
31
+ });
32
+ }
33
+ setSoundMeterHeights() {
34
+ const ZERO_LEVEL = 25;
35
+ const SCALE_STEP = 25;
36
+ const SCALE_ONE_TOP = ZERO_LEVEL + SCALE_STEP;
37
+ const SCALE_TWO_TOP = SCALE_ONE_TOP + SCALE_STEP;
38
+ if (!this.peer || !this.peer.soundMeter || this.noiceLevel < ZERO_LEVEL) {
39
+ this.scaleOneLevel = 0;
40
+ this.scaleTwoLevel = 0;
41
+ this.scaleThreeLevel = 0;
42
+ }
43
+ const scaleOneValue = ((this.noiceLevel - ZERO_LEVEL) / SCALE_STEP) * 100;
44
+ const scaleTwoValue = ((this.noiceLevel - SCALE_ONE_TOP) / SCALE_STEP) * 100;
45
+ const scaleThreeValue = ((this.noiceLevel - SCALE_TWO_TOP) / SCALE_STEP) * 100;
46
+ this.scaleOneLevel = scaleOneValue > 0 ? scaleOneValue : 0;
47
+ this.scaleTwoLevel = scaleTwoValue > 0 ? scaleTwoValue : 0;
48
+ this.scaleThreeLevel = scaleThreeValue > 0 ? scaleTwoValue : 0;
49
+ }
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: RtseeSoundbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: RtseeSoundbarComponent, selector: "ngx-rtsee-soundbar", inputs: { peer: "peer" }, ngImport: i0, template: "<div class=\"rtsee-soundbar\">\n <div class=\"rtsee-soundbar-scale\">\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-one\"\n [style.height.%]=\"scaleOneLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-two\"\n [style.height.%]=\"scaleTwoLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-three\"\n [style.height.%]=\"scaleThreeLevel\"\n ></div>\n </div>\n </div>\n</div>\n", styles: [".rtsee-soundbar{height:19px;width:23px;padding:2px 0 0}.rtsee-soundbar .rtsee-soundbar-scale{height:100%}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item{float:left;height:15px;width:5px;margin-left:2px;position:relative;border-radius:4px}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item:last-child:after{content:\"\";display:block;clear:both}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item .rtsee-soundbar-scale-item-level{position:absolute;bottom:0;left:0;height:10%;width:100%;transition:height .05s;background-color:#00ce00;min-height:25%;border-radius:1px}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item .rtsee-soundbar-scale-item-level.rtsee-soundbar-scale-item-level-one{max-height:33.3%}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item .rtsee-soundbar-scale-item-level.rtsee-soundbar-scale-item-level-two{max-height:66.6%}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item .rtsee-soundbar-scale-item-level.rtsee-soundbar-scale-item-level-three{max-height:100%}\n"] });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: RtseeSoundbarComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'ngx-rtsee-soundbar', template: "<div class=\"rtsee-soundbar\">\n <div class=\"rtsee-soundbar-scale\">\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-one\"\n [style.height.%]=\"scaleOneLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-two\"\n [style.height.%]=\"scaleTwoLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-three\"\n [style.height.%]=\"scaleThreeLevel\"\n ></div>\n </div>\n </div>\n</div>\n", styles: [".rtsee-soundbar{height:19px;width:23px;padding:2px 0 0}.rtsee-soundbar .rtsee-soundbar-scale{height:100%}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item{float:left;height:15px;width:5px;margin-left:2px;position:relative;border-radius:4px}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item:last-child:after{content:\"\";display:block;clear:both}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item .rtsee-soundbar-scale-item-level{position:absolute;bottom:0;left:0;height:10%;width:100%;transition:height .05s;background-color:#00ce00;min-height:25%;border-radius:1px}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item .rtsee-soundbar-scale-item-level.rtsee-soundbar-scale-item-level-one{max-height:33.3%}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item .rtsee-soundbar-scale-item-level.rtsee-soundbar-scale-item-level-two{max-height:66.6%}.rtsee-soundbar .rtsee-soundbar-scale .rtsee-soundbar-scale-item .rtsee-soundbar-scale-item-level.rtsee-soundbar-scale-item-level-three{max-height:100%}\n"] }]
56
+ }], ctorParameters: function () { return []; }, propDecorators: { peer: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtc291bmRiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1zb3VuZGJhci9ydHNlZS1zb3VuZGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLXNvdW5kYmFyL3J0c2VlLXNvdW5kYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBT2hDLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsY0FBYyxDQUFTO0lBQ3ZCLFVBQVUsQ0FBUztJQUNuQixhQUFhLENBQVM7SUFDdEIsYUFBYSxDQUFTO0lBQ3RCLGVBQWUsQ0FBUztJQUVmLElBQUksQ0FBdUI7SUFDcEM7UUFDRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3hELElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDMUQ7WUFFRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLGFBQWEsR0FBRyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzlDLE1BQU0sYUFBYSxHQUFHLGFBQWEsR0FBRyxVQUFVLENBQUM7UUFFakQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsRUFBRTtZQUN2RSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztTQUMxQjtRQUVELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUMxRSxNQUFNLGFBQWEsR0FDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3pELE1BQU0sZUFBZSxHQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUM7UUFFekQsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzt1R0F0RFUsc0JBQXNCOzJGQUF0QixzQkFBc0Isb0ZDVG5DLHl0QkFtQkE7OzJGRFZhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7MEVBV3JCLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUlRTZWVQZWVyQ29ubmVjdGlvbiB9IGZyb20gJ0BydHNlZS9jb25mZXJlbmNlJztcbmltcG9ydCB7IGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1ydHNlZS1zb3VuZGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydHNlZS1zb3VuZGJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3J0c2VlLXNvdW5kYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJ0c2VlU291bmRiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBpbnRlcnZhbExlbmd0aDogbnVtYmVyO1xuICBub2ljZUxldmVsOiBudW1iZXI7XG4gIHNjYWxlT25lTGV2ZWw6IG51bWJlcjtcbiAgc2NhbGVUd29MZXZlbDogbnVtYmVyO1xuICBzY2FsZVRocmVlTGV2ZWw6IG51bWJlcjtcblxuICBASW5wdXQoKSBwZWVyITogUlRTZWVQZWVyQ29ubmVjdGlvbjtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pbnRlcnZhbExlbmd0aCA9IDEwMDA7XG4gICAgdGhpcy5ub2ljZUxldmVsID0gMDtcbiAgICB0aGlzLnNjYWxlT25lTGV2ZWwgPSAwO1xuICAgIHRoaXMuc2NhbGVUd29MZXZlbCA9IDA7XG4gICAgdGhpcy5zY2FsZVRocmVlTGV2ZWwgPSAwO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydFNvdW5kTWV0ZXJMaXN0ZW5pbmcoKTtcbiAgfVxuXG4gIHN0YXJ0U291bmRNZXRlckxpc3RlbmluZygpIHtcbiAgICBjb25zdCBzdGVwID0gaW50ZXJ2YWwoMTAwMCAvIDEwKTtcbiAgICBzdGVwLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMucGVlci5zb3VuZE1ldGVyIHx8ICF0aGlzLnBlZXIuc291bmRNZXRlci5sZXZlbCkge1xuICAgICAgICB0aGlzLm5vaWNlTGV2ZWwgPSAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5ub2ljZUxldmVsID0gdGhpcy5wZWVyLnNvdW5kTWV0ZXI/LmxldmVsICogMTAwIHx8IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0U291bmRNZXRlckhlaWdodHMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldFNvdW5kTWV0ZXJIZWlnaHRzKCkge1xuICAgIGNvbnN0IFpFUk9fTEVWRUwgPSAyNTtcbiAgICBjb25zdCBTQ0FMRV9TVEVQID0gMjU7XG4gICAgY29uc3QgU0NBTEVfT05FX1RPUCA9IFpFUk9fTEVWRUwgKyBTQ0FMRV9TVEVQO1xuICAgIGNvbnN0IFNDQUxFX1RXT19UT1AgPSBTQ0FMRV9PTkVfVE9QICsgU0NBTEVfU1RFUDtcblxuICAgIGlmICghdGhpcy5wZWVyIHx8ICF0aGlzLnBlZXIuc291bmRNZXRlciB8fCB0aGlzLm5vaWNlTGV2ZWwgPCBaRVJPX0xFVkVMKSB7XG4gICAgICB0aGlzLnNjYWxlT25lTGV2ZWwgPSAwO1xuICAgICAgdGhpcy5zY2FsZVR3b0xldmVsID0gMDtcbiAgICAgIHRoaXMuc2NhbGVUaHJlZUxldmVsID0gMDtcbiAgICB9XG5cbiAgICBjb25zdCBzY2FsZU9uZVZhbHVlID0gKCh0aGlzLm5vaWNlTGV2ZWwgLSBaRVJPX0xFVkVMKSAvIFNDQUxFX1NURVApICogMTAwO1xuICAgIGNvbnN0IHNjYWxlVHdvVmFsdWUgPVxuICAgICAgKCh0aGlzLm5vaWNlTGV2ZWwgLSBTQ0FMRV9PTkVfVE9QKSAvIFNDQUxFX1NURVApICogMTAwO1xuICAgIGNvbnN0IHNjYWxlVGhyZWVWYWx1ZSA9XG4gICAgICAoKHRoaXMubm9pY2VMZXZlbCAtIFNDQUxFX1RXT19UT1ApIC8gU0NBTEVfU1RFUCkgKiAxMDA7XG5cbiAgICB0aGlzLnNjYWxlT25lTGV2ZWwgPSBzY2FsZU9uZVZhbHVlID4gMCA/IHNjYWxlT25lVmFsdWUgOiAwO1xuICAgIHRoaXMuc2NhbGVUd29MZXZlbCA9IHNjYWxlVHdvVmFsdWUgPiAwID8gc2NhbGVUd29WYWx1ZSA6IDA7XG4gICAgdGhpcy5zY2FsZVRocmVlTGV2ZWwgPSBzY2FsZVRocmVlVmFsdWUgPiAwID8gc2NhbGVUd29WYWx1ZSA6IDA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydHNlZS1zb3VuZGJhclwiPlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtc291bmRiYXItc2NhbGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwicnRzZWUtc291bmRiYXItc2NhbGUtaXRlbVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJ0c2VlLXNvdW5kYmFyLXNjYWxlLWl0ZW0tbGV2ZWwgcnRzZWUtc291bmRiYXItc2NhbGUtaXRlbS1sZXZlbC1vbmVcIlxuICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LiVdPVwic2NhbGVPbmVMZXZlbFwiXG4gICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJ0c2VlLXNvdW5kYmFyLXNjYWxlLWl0ZW1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJydHNlZS1zb3VuZGJhci1zY2FsZS1pdGVtLWxldmVsIHJ0c2VlLXNvdW5kYmFyLXNjYWxlLWl0ZW0tbGV2ZWwtdHdvXCJcbiAgICAgICAgICAgW3N0eWxlLmhlaWdodC4lXT1cInNjYWxlVHdvTGV2ZWxcIlxuICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJydHNlZS1zb3VuZGJhci1zY2FsZS1pdGVtXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicnRzZWUtc291bmRiYXItc2NhbGUtaXRlbS1sZXZlbCBydHNlZS1zb3VuZGJhci1zY2FsZS1pdGVtLWxldmVsLXRocmVlXCJcbiAgICAgICAgICAgW3N0eWxlLmhlaWdodC4lXT1cInNjYWxlVGhyZWVMZXZlbFwiXG4gICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { Directive } from '@angular/core';
2
+ import shave from 'shave';
3
+ import * as i0 from "@angular/core";
4
+ export class ShaveDirective {
5
+ elem;
6
+ constructor(elem) {
7
+ this.elem = elem;
8
+ }
9
+ ngAfterViewInit() {
10
+ const height = this.elem.nativeElement?.offsetHeight;
11
+ shave(this.elem.nativeElement, height);
12
+ }
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ShaveDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
14
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ShaveDirective, selector: "[rtseeShave]", ngImport: i0 });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ShaveDirective, decorators: [{
17
+ type: Directive,
18
+ args: [{
19
+ selector: '[rtseeShave]',
20
+ }]
21
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhdmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvZGlyZWN0aXZlcy9zaGF2ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQUsxQixNQUFNLE9BQU8sY0FBYztJQUNMO0lBQXBCLFlBQW9CLElBQWdDO1FBQWhDLFNBQUksR0FBSixJQUFJLENBQTRCO0lBQUcsQ0FBQztJQUV4RCxlQUFlO1FBQ2IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDO1FBQ3JELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQW9DLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEUsQ0FBQzt1R0FOVSxjQUFjOzJGQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBSDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgc2hhdmUgZnJvbSAnc2hhdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcnRzZWVTaGF2ZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBTaGF2ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW06IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+KSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudD8ub2Zmc2V0SGVpZ2h0O1xuICAgIHNoYXZlKHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50IGFzIHVua25vd24gYXMgTm9kZUxpc3QsIGhlaWdodCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class WidgetDirective {
4
+ viewContainerRef;
5
+ constructor(viewContainerRef) {
6
+ this.viewContainerRef = viewContainerRef;
7
+ }
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: WidgetDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: WidgetDirective, selector: "[widgetHost]", ngImport: i0 });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: WidgetDirective, decorators: [{
12
+ type: Directive,
13
+ args: [{
14
+ selector: '[widgetHost]',
15
+ }]
16
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2RpcmVjdGl2ZXMvd2lkZ2V0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQzs7QUFLNUQsTUFBTSxPQUFPLGVBQWU7SUFDUDtJQUFuQixZQUFtQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7dUdBRDlDLGVBQWU7MkZBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3dpZGdldEhvc3RdJyxcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0RGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG59XG4iXX0=
@@ -0,0 +1,141 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RTSeeComponent } from './components/rtsee/rtsee.component';
3
+ import { RTSeeControlsComponent } from './components/rtsee/rtsee-controls/rtsee-controls.component';
4
+ import { CommonModule } from '@angular/common';
5
+ import { RtseePeerComponent } from './components/rtsee-peer/rtsee-peer.component';
6
+ import { RtseeSoundbarComponent } from './components/rtsee-soundbar/rtsee-soundbar.component';
7
+ import { RtseePeersListComponent } from './components/rtsee-peers-list/rtsee-peers-list.component';
8
+ import { MatIconModule } from '@angular/material/icon';
9
+ import { MatButtonModule } from '@angular/material/button';
10
+ import { RtseeSettingsComponent } from './components/rtsee-settings/rtsee-settings.component';
11
+ import { MatSelectModule } from '@angular/material/select';
12
+ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
13
+ import { MatFormFieldModule } from '@angular/material/form-field';
14
+ import { MessengerComponent } from './components/rtsee-messenger/messenger/messenger.component';
15
+ import { ChatComponent } from './components/rtsee-messenger/chat/chat.component';
16
+ import { MessageComponent } from './components/rtsee-messenger/message/message.component';
17
+ import { ChatsListComponent } from './components/rtsee-messenger/chats-list/chats-list.component';
18
+ import { MessagesListComponent } from './components/rtsee-messenger/messages-list/messages-list.component';
19
+ import { ChatThumbnailComponent } from './components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component';
20
+ import { ChatInputComponent } from './components/rtsee-messenger/chat-input/chat-input.component';
21
+ import { ReactiveFormsModule } from '@angular/forms';
22
+ import { MessengerHeaderComponent } from './components/rtsee-messenger/messenger-header/messenger-header.component';
23
+ import { RtseeEventsDashboardComponent } from './components/rtsee-events-dashboard/rtsee-events-dashboard.component';
24
+ import { RtseeEventsDashboardClientComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component';
25
+ import { RtseeEventsDashboardClientThumbnailComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component';
26
+ import { WidgetDirective } from './directives/widget.directive';
27
+ import { CallWidgetComponent } from './components/rtsee-messenger/message-widgets/call-widget/call-widget.component';
28
+ import { AutosizeModule } from 'ngx-autosize';
29
+ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
30
+ import { MainMenuComponent } from './components/rtsee-messenger/main-menu/main-menu.component';
31
+ import { MessageTimeAndStatusComponent } from './components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component';
32
+ import { PreloaderComponent } from './common/components/preloader/preloader.component';
33
+ import { SearchComponent } from './components/rtsee-messenger/main-menu/components/search/search.component';
34
+ import { ManageChatComponent } from './components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component';
35
+ import { ContactsMultiselectComponent } from './components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component';
36
+ import { ShaveDirective } from './directives/shave.directive';
37
+ import { ProfileComponent } from './components/rtsee-messenger/profile/profile.component';
38
+ import { EventThumbnailComponent } from './components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component';
39
+ import { RtseeEventsDashboardSessionComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component';
40
+ import { RtseeContainerComponent } from './components/rtsee-container/rtsee-container.component';
41
+ import * as i0 from "@angular/core";
42
+ export class RTSeeModule {
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: RTSeeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
44
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: RTSeeModule, declarations: [RTSeeComponent,
45
+ RTSeeControlsComponent,
46
+ RtseePeerComponent,
47
+ RtseeSoundbarComponent,
48
+ RtseePeersListComponent,
49
+ RtseeSettingsComponent,
50
+ MessengerComponent,
51
+ ChatComponent,
52
+ MessageComponent,
53
+ ChatsListComponent,
54
+ MessagesListComponent,
55
+ ChatThumbnailComponent,
56
+ ChatInputComponent,
57
+ MessengerHeaderComponent,
58
+ RtseeEventsDashboardComponent,
59
+ RtseeEventsDashboardClientComponent,
60
+ RtseeEventsDashboardClientThumbnailComponent,
61
+ WidgetDirective,
62
+ CallWidgetComponent,
63
+ MainMenuComponent,
64
+ MessageTimeAndStatusComponent,
65
+ PreloaderComponent,
66
+ SearchComponent,
67
+ ManageChatComponent,
68
+ ContactsMultiselectComponent,
69
+ ShaveDirective,
70
+ ProfileComponent,
71
+ EventThumbnailComponent,
72
+ RtseeEventsDashboardSessionComponent,
73
+ RtseeContainerComponent], imports: [CommonModule,
74
+ MatIconModule,
75
+ MatButtonModule,
76
+ MatSelectModule,
77
+ BrowserAnimationsModule,
78
+ MatFormFieldModule,
79
+ ReactiveFormsModule,
80
+ AutosizeModule,
81
+ InfiniteScrollModule], exports: [RTSeeComponent, MessengerComponent, RtseeEventsDashboardComponent] });
82
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: RTSeeModule, imports: [CommonModule,
83
+ MatIconModule,
84
+ MatButtonModule,
85
+ MatSelectModule,
86
+ BrowserAnimationsModule,
87
+ MatFormFieldModule,
88
+ ReactiveFormsModule,
89
+ AutosizeModule,
90
+ InfiniteScrollModule] });
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: RTSeeModule, decorators: [{
93
+ type: NgModule,
94
+ args: [{
95
+ declarations: [
96
+ RTSeeComponent,
97
+ RTSeeControlsComponent,
98
+ RtseePeerComponent,
99
+ RtseeSoundbarComponent,
100
+ RtseePeersListComponent,
101
+ RtseeSettingsComponent,
102
+ MessengerComponent,
103
+ ChatComponent,
104
+ MessageComponent,
105
+ ChatsListComponent,
106
+ MessagesListComponent,
107
+ ChatThumbnailComponent,
108
+ ChatInputComponent,
109
+ MessengerHeaderComponent,
110
+ RtseeEventsDashboardComponent,
111
+ RtseeEventsDashboardClientComponent,
112
+ RtseeEventsDashboardClientThumbnailComponent,
113
+ WidgetDirective,
114
+ CallWidgetComponent,
115
+ MainMenuComponent,
116
+ MessageTimeAndStatusComponent,
117
+ PreloaderComponent,
118
+ SearchComponent,
119
+ ManageChatComponent,
120
+ ContactsMultiselectComponent,
121
+ ShaveDirective,
122
+ ProfileComponent,
123
+ EventThumbnailComponent,
124
+ RtseeEventsDashboardSessionComponent,
125
+ RtseeContainerComponent,
126
+ ],
127
+ imports: [
128
+ CommonModule,
129
+ MatIconModule,
130
+ MatButtonModule,
131
+ MatSelectModule,
132
+ BrowserAnimationsModule,
133
+ MatFormFieldModule,
134
+ ReactiveFormsModule,
135
+ AutosizeModule,
136
+ InfiniteScrollModule,
137
+ ],
138
+ exports: [RTSeeComponent, MessengerComponent, RtseeEventsDashboardComponent],
139
+ }]
140
+ }] });
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL25neC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUs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LHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLDZCQUE2Qjt3QkFDN0IsbUNBQW1DO3dCQUNuQyw0Q0FBNEM7d0JBQzVDLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLDZCQUE2Qjt3QkFDN0Isa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1QixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2QixvQ0FBb0M7d0JBQ3BDLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSw2QkFBNkIsQ0FBQztpQkFDN0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUlRTZWVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUvcnRzZWUuY29tcG9uZW50JztcbmltcG9ydCB7IFJUU2VlQ29udHJvbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUvcnRzZWUtY29udHJvbHMvcnRzZWUtY29udHJvbHMuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSdHNlZVBlZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUtcGVlci9ydHNlZS1wZWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdHNlZVNvdW5kYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3J0c2VlLXNvdW5kYmFyL3J0c2VlLXNvdW5kYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdHNlZVBlZXJzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1wZWVycy1saXN0L3J0c2VlLXBlZXJzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBSdHNlZVNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3J0c2VlLXNldHRpbmdzL3J0c2VlLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNZXNzZW5nZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL21lc3Nlbmdlci9tZXNzZW5nZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENoYXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL2NoYXQvY2hhdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGF0c0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL2NoYXRzLWxpc3QvY2hhdHMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZXNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3J0c2VlLW1lc3Nlbmdlci9tZXNzYWdlcy1saXN0L21lc3NhZ2VzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IENoYXRUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL2NoYXQtdGh1bWJuYWlsL2NoYXQtdGh1bWJuYWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGF0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL2NoYXQtaW5wdXQvY2hhdC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1lc3NlbmdlckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWVzc2VuZ2VyLWhlYWRlci9tZXNzZW5nZXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdHNlZUV2ZW50c0Rhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFJ0c2VlRXZlbnRzRGFzaGJvYXJkQ2xpZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQvY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnRzZWVFdmVudHNEYXNoYm9hcmRDbGllbnRUaHVtYm5haWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy93aWRnZXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENhbGxXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL21lc3NhZ2Utd2lkZ2V0cy9jYWxsLXdpZGdldC9jYWxsLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0b3NpemVNb2R1bGUgfSBmcm9tICduZ3gtYXV0b3NpemUnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IE1haW5NZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3J0c2VlLW1lc3Nlbmdlci9tYWluLW1lbnUvbWFpbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlVGltZUFuZFN0YXR1c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWVzc2FnZS9jb21wb25lbnRzL21lc3NhZ2UtdGltZS1hbmQtc3RhdHVzL21lc3NhZ2UtdGltZS1hbmQtc3RhdHVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcmVsb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9jb21wb25lbnRzL3ByZWxvYWRlci9wcmVsb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWFpbi1tZW51L2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFuYWdlQ2hhdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWFpbi1tZW51L2NvbXBvbmVudHMvbWFuYWdlLWNoYXQvbWFuYWdlLWNoYXQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRhY3RzTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL21haW4tbWVudS9jb21wb25lbnRzL2NvbnRhY3RzLW11bHRpc2VsZWN0L2NvbnRhY3RzLW11bHRpc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGF2ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zaGF2ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUHJvZmlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFdmVudFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkL2NvbXBvbmVudHMvZXZlbnQtdGh1bWJuYWlsL2V2ZW50LXRodW1ibmFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnRzZWVFdmVudHNEYXNoYm9hcmRTZXNzaW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQvY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24vcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdHNlZUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ydHNlZS1jb250YWluZXIvcnRzZWUtY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJUU2VlQ29tcG9uZW50LFxuICAgIFJUU2VlQ29udHJvbHNDb21wb25lbnQsXG4gICAgUnRzZWVQZWVyQ29tcG9uZW50LFxuICAgIFJ0c2VlU291bmRiYXJDb21wb25lbnQsXG4gICAgUnRzZWVQZWVyc0xpc3RDb21wb25lbnQsXG4gICAgUnRzZWVTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBNZXNzZW5nZXJDb21wb25lbnQsXG4gICAgQ2hhdENvbXBvbmVudCxcbiAgICBNZXNzYWdlQ29tcG9uZW50LFxuICAgIENoYXRzTGlzdENvbXBvbmVudCxcbiAgICBNZXNzYWdlc0xpc3RDb21wb25lbnQsXG4gICAgQ2hhdFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBDaGF0SW5wdXRDb21wb25lbnQsXG4gICAgTWVzc2VuZ2VySGVhZGVyQ29tcG9uZW50LFxuICAgIFJ0c2VlRXZlbnRzRGFzaGJvYXJkQ29tcG9uZW50LFxuICAgIFJ0c2VlRXZlbnRzRGFzaGJvYXJkQ2xpZW50Q29tcG9uZW50LFxuICAgIFJ0c2VlRXZlbnRzRGFzaGJvYXJkQ2xpZW50VGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIFdpZGdldERpcmVjdGl2ZSxcbiAgICBDYWxsV2lkZ2V0Q29tcG9uZW50LFxuICAgIE1haW5NZW51Q29tcG9uZW50LFxuICAgIE1lc3NhZ2VUaW1lQW5kU3RhdHVzQ29tcG9uZW50LFxuICAgIFByZWxvYWRlckNvbXBvbmVudCxcbiAgICBTZWFyY2hDb21wb25lbnQsXG4gICAgTWFuYWdlQ2hhdENvbXBvbmVudCxcbiAgICBDb250YWN0c011bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgIFNoYXZlRGlyZWN0aXZlLFxuICAgIFByb2ZpbGVDb21wb25lbnQsXG4gICAgRXZlbnRUaHVtYm5haWxDb21wb25lbnQsXG4gICAgUnRzZWVFdmVudHNEYXNoYm9hcmRTZXNzaW9uQ29tcG9uZW50LFxuICAgIFJ0c2VlQ29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBBdXRvc2l6ZU1vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1JUU2VlQ29tcG9uZW50LCBNZXNzZW5nZXJDb21wb25lbnQsIFJ0c2VlRXZlbnRzRGFzaGJvYXJkQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUlRTZWVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NgxService {
4
+ lol;
5
+ constructor() {
6
+ this.lol = 'lol';
7
+ }
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgxService, providedIn: 'root' });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgxService, decorators: [{
12
+ type: Injectable,
13
+ args: [{
14
+ providedIn: 'root',
15
+ }]
16
+ }], ctorParameters: function () { return []; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9uZ3guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sVUFBVTtJQUNyQixHQUFHLENBQVM7SUFDWjtRQUNFLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQ25CLENBQUM7dUdBSlUsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTs7MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hTZXJ2aWNlIHtcbiAgbG9sOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubG9sID0gJ2xvbCc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DefaultImagesService {
4
+ PROFILE = 'https://werf-assets.s3.amazonaws.com/default-profile-logo.png';
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DefaultImagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DefaultImagesService, providedIn: 'root' });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: DefaultImagesService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root',
12
+ }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1pbWFnZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL3NlcnZpY2VzL2RlZmF1bHQtaW1hZ2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixPQUFPLEdBQUcsK0RBQStELENBQUM7dUdBRC9ELG9CQUFvQjsyR0FBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0SW1hZ2VzU2VydmljZSB7XG4gIFBST0ZJTEUgPSAnaHR0cHM6Ly93ZXJmLWFzc2V0cy5zMy5hbWF6b25hd3MuY29tL2RlZmF1bHQtcHJvZmlsZS1sb2dvLnBuZyc7XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class EventsWidgetsService {
4
+ widgetsMap = [];
5
+ getWidgetComponentByName(name) {
6
+ /* eslint-disable */
7
+ const mapping = this.widgetsMap.find((e) => e.name === name);
8
+ if (!mapping) {
9
+ return null;
10
+ }
11
+ return mapping.component;
12
+ /* eslint-enable */
13
+ }
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: EventsWidgetsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: EventsWidgetsService, providedIn: 'root' });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: EventsWidgetsService, decorators: [{
18
+ type: Injectable,
19
+ args: [{
20
+ providedIn: 'root',
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLXdpZGdldHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL3NlcnZpY2VzL2V2ZW50cy13aWRnZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixVQUFVLEdBQXFCLEVBQUUsQ0FBQztJQUVsQyx3QkFBd0IsQ0FBQyxJQUFZO1FBQ25DLG9CQUFvQjtRQUNwQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUN6QixtQkFBbUI7SUFDckIsQ0FBQzt1R0FYVSxvQkFBb0I7MkdBQXBCLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU1lc3NhZ2VXaWRnZXQgfSBmcm9tICcuL21lc3NhZ2Utd2lkZ2V0cy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50c1dpZGdldHNTZXJ2aWNlIHtcbiAgd2lkZ2V0c01hcDogSU1lc3NhZ2VXaWRnZXRbXSA9IFtdO1xuXG4gIGdldFdpZGdldENvbXBvbmVudEJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIGNvbnN0IG1hcHBpbmcgPSB0aGlzLndpZGdldHNNYXAuZmluZCgoZSkgPT4gZS5uYW1lID09PSBuYW1lKTtcbiAgICBpZiAoIW1hcHBpbmcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gbWFwcGluZy5jb21wb25lbnQ7XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICB9XG59XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { CallWidgetComponent } from '../components/rtsee-messenger/message-widgets/call-widget/call-widget.component';
3
+ import * as i0 from "@angular/core";
4
+ export class MessageWidgetsService {
5
+ widgetsMap = [
6
+ { name: 'rtsee-call', component: CallWidgetComponent },
7
+ ];
8
+ getWidgetComponentByName(name) {
9
+ /* eslint-disable */
10
+ const mapping = this.widgetsMap.find((e) => e.name === name);
11
+ if (!mapping) {
12
+ return null;
13
+ }
14
+ return mapping.component;
15
+ /* eslint-enable */
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: MessageWidgetsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: MessageWidgetsService, providedIn: 'root' });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: MessageWidgetsService, decorators: [{
21
+ type: Injectable,
22
+ args: [{
23
+ providedIn: 'root',
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS13aWRnZXRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9tZXNzYWdlLXdpZGdldHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlGQUFpRixDQUFDOztBQVV0SCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFVBQVUsR0FBcUI7UUFDN0IsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRTtLQUN2RCxDQUFDO0lBRUYsd0JBQXdCLENBQUMsSUFBWTtRQUNuQyxvQkFBb0I7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDekIsbUJBQW1CO0lBQ3JCLENBQUM7dUdBYlUscUJBQXFCOzJHQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGxXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3J0c2VlLW1lc3Nlbmdlci9tZXNzYWdlLXdpZGdldHMvY2FsbC13aWRnZXQvY2FsbC13aWRnZXQuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWVzc2FnZVdpZGdldCB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29tcG9uZW50OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlV2lkZ2V0c1NlcnZpY2Uge1xuICB3aWRnZXRzTWFwOiBJTWVzc2FnZVdpZGdldFtdID0gW1xuICAgIHsgbmFtZTogJ3J0c2VlLWNhbGwnLCBjb21wb25lbnQ6IENhbGxXaWRnZXRDb21wb25lbnQgfSxcbiAgXTtcblxuICBnZXRXaWRnZXRDb21wb25lbnRCeU5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICBjb25zdCBtYXBwaW5nID0gdGhpcy53aWRnZXRzTWFwLmZpbmQoKGUpID0+IGUubmFtZSA9PT0gbmFtZSk7XG4gICAgaWYgKCFtYXBwaW5nKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIG1hcHBpbmcuY29tcG9uZW50O1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxufVxuIl19
@@ -0,0 +1,92 @@
1
+ import { Injectable } from '@angular/core';
2
+ import dayjs from 'dayjs';
3
+ import relativeTime from 'dayjs/plugin/relativeTime';
4
+ import * as i0 from "@angular/core";
5
+ dayjs.extend(relativeTime);
6
+ export class TimeFormatHelperService {
7
+ toAgo(time) {
8
+ /* eslint-disable */
9
+ return dayjs(time).fromNow();
10
+ /* eslint-enable */
11
+ }
12
+ toDayOfWeek(time) {
13
+ /* eslint-disable */
14
+ return dayjs(time).format('ddd');
15
+ /* eslint-enable */
16
+ }
17
+ toTime(time) {
18
+ /* eslint-disable */
19
+ return dayjs(time).format('HH:mm');
20
+ /* eslint-enable */
21
+ }
22
+ toDate(time) {
23
+ /* eslint-disable */
24
+ return dayjs(time).format('D MMMM');
25
+ /* eslint-enable */
26
+ }
27
+ toDateNumeral(time) {
28
+ /* eslint-disable */
29
+ return dayjs(time).format('DD.MM');
30
+ /* eslint-enable */
31
+ }
32
+ toDateNumeralWithYear(time) {
33
+ /* eslint-disable */
34
+ return dayjs(time).format('DD.MM.YY');
35
+ /* eslint-enable */
36
+ }
37
+ toDateWithYear(time) {
38
+ /* eslint-disable */
39
+ return dayjs(time).format('MMMM D, YYYY ');
40
+ /* eslint-enable */
41
+ }
42
+ formatDate(time) {
43
+ const today = new Date();
44
+ const dayMs = 1000 * 60 * 60 * 24;
45
+ const twoDays = dayMs * 2;
46
+ if (!time) {
47
+ return '';
48
+ }
49
+ if (today.getTime() - time.getTime() < dayMs &&
50
+ today.getDay() === time.getDay()) {
51
+ return 'Today';
52
+ }
53
+ if (today.getTime() - time.getTime() < twoDays &&
54
+ today.getTime() - time.getTime() > dayMs &&
55
+ today.getDay() !== time.getDay()) {
56
+ return 'Yesterday';
57
+ }
58
+ if (today.getFullYear() === time.getFullYear()) {
59
+ return this.toDate(time);
60
+ }
61
+ return this.toDateWithYear(time);
62
+ }
63
+ formatTimeOrDate(time) {
64
+ if (!time) {
65
+ return '';
66
+ }
67
+ const today = new Date();
68
+ const dayMs = 1000 * 60 * 60 * 24;
69
+ if (today.getTime() - time.getTime() < dayMs &&
70
+ today.getDay() === time.getDay()) {
71
+ return this.toTime(time);
72
+ }
73
+ if (today.getTime() - time.getTime() > dayMs &&
74
+ today.getTime() - time.getTime() < dayMs * 7) {
75
+ return this.toDayOfWeek(time);
76
+ }
77
+ if (today.getTime() - time.getTime() > dayMs * 7 &&
78
+ today.getFullYear() === time.getFullYear()) {
79
+ return this.toDateNumeral(time);
80
+ }
81
+ return this.toDateNumeralWithYear(time);
82
+ }
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TimeFormatHelperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
84
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TimeFormatHelperService, providedIn: 'root' });
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TimeFormatHelperService, decorators: [{
87
+ type: Injectable,
88
+ args: [{
89
+ providedIn: 'root',
90
+ }]
91
+ }] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1mb3JtYXQtaGVscGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9zZXJ2aWNlcy90aW1lLWZvcm1hdC1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFlBQVksTUFBTSwyQkFBMkIsQ0FBQzs7QUFDckQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUszQixNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLEtBQUssQ0FBQyxJQUFVO1FBQ2Qsb0JBQW9CO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBWSxDQUFDO1FBQ3ZDLG1CQUFtQjtJQUNyQixDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQVU7UUFDcEIsb0JBQW9CO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxtQkFBbUI7SUFDckIsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFVO1FBQ2Ysb0JBQW9CO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQVcsQ0FBQztRQUM3QyxtQkFBbUI7SUFDckIsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFVO1FBQ2Ysb0JBQW9CO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQVcsQ0FBQztRQUM5QyxtQkFBbUI7SUFDckIsQ0FBQztJQUNELGFBQWEsQ0FBQyxJQUFVO1FBQ3RCLG9CQUFvQjtRQUNwQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENB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MkdBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHJlbGF0aXZlVGltZSBmcm9tICdkYXlqcy9wbHVnaW4vcmVsYXRpdmVUaW1lJztcbmRheWpzLmV4dGVuZChyZWxhdGl2ZVRpbWUpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGltZUZvcm1hdEhlbHBlclNlcnZpY2Uge1xuICB0b0Fnbyh0aW1lOiBEYXRlKTogc3RyaW5nIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIHJldHVybiBkYXlqcyh0aW1lKS5mcm9tTm93KCkgYXMgc3RyaW5nO1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxuICB0b0RheU9mV2Vlayh0aW1lOiBEYXRlKTogc3RyaW5nIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIHJldHVybiBkYXlqcyh0aW1lKS5mb3JtYXQoJ2RkZCcpO1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxuICB0b1RpbWUodGltZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICByZXR1cm4gZGF5anModGltZSkuZm9ybWF0KCdISDptbScpIGFzIHN0cmluZztcbiAgICAvKiBlc2xpbnQtZW5hYmxlICovXG4gIH1cbiAgdG9EYXRlKHRpbWU6IERhdGUpOiBzdHJpbmcge1xuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgcmV0dXJuIGRheWpzKHRpbWUpLmZvcm1hdCgnRCBNTU1NJykgYXMgc3RyaW5nO1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxuICB0b0RhdGVOdW1lcmFsKHRpbWU6IERhdGUpOiBzdHJpbmcge1xuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgcmV0dXJuIGRheWpzKHRpbWUpLmZvcm1hdCgnREQuTU0nKTtcbiAgICAvKiBlc2xpbnQtZW5hYmxlICovXG4gIH1cblxuICB0b0RhdGVOdW1lcmFsV2l0aFllYXIodGltZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICByZXR1cm4gZGF5anModGltZSkuZm9ybWF0KCdERC5NTS5ZWScpO1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxuXG4gIHRvRGF0ZVdpdGhZZWFyKHRpbWU6IERhdGUpOiBzdHJpbmcge1xuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgcmV0dXJuIGRheWpzKHRpbWUpLmZvcm1hdCgnTU1NTSBELCBZWVlZICcpIGFzIHN0cmluZztcbiAgICAvKiBlc2xpbnQtZW5hYmxlICovXG4gIH1cblxuICBmb3JtYXREYXRlKHRpbWU6IERhdGUpIHtcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZGF5TXMgPSAxMDAwICogNjAgKiA2MCAqIDI0O1xuICAgIGNvbnN0IHR3b0RheXMgPSBkYXlNcyAqIDI7XG5cbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0b2RheS5nZXRUaW1lKCkgLSB0aW1lLmdldFRpbWUoKSA8IGRheU1zICYmXG4gICAgICB0b2RheS5nZXREYXkoKSA9PT0gdGltZS5nZXREYXkoKVxuICAgICkge1xuICAgICAgcmV0dXJuICdUb2RheSc7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdG9kYXkuZ2V0VGltZSgpIC0gdGltZS5nZXRUaW1lKCkgPCB0d29EYXlzICYmXG4gICAgICB0b2RheS5nZXRUaW1lKCkgLSB0aW1lLmdldFRpbWUoKSA+IGRheU1zICYmXG4gICAgICB0b2RheS5nZXREYXkoKSAhPT0gdGltZS5nZXREYXkoKVxuICAgICkge1xuICAgICAgcmV0dXJuICdZZXN0ZXJkYXknO1xuICAgIH1cblxuICAgIGlmICh0b2RheS5nZXRGdWxsWWVhcigpID09PSB0aW1lLmdldEZ1bGxZZWFyKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvRGF0ZSh0aW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50b0RhdGVXaXRoWWVhcih0aW1lKTtcbiAgfVxuXG4gIGZvcm1hdFRpbWVPckRhdGUodGltZTogRGF0ZSkge1xuICAgIGlmICghdGltZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBkYXlNcyA9IDEwMDAgKiA2MCAqIDYwICogMjQ7XG5cbiAgICBpZiAoXG4gICAgICB0b2RheS5nZXRUaW1lKCkgLSB0aW1lLmdldFRpbWUoKSA8IGRheU1zICYmXG4gICAgICB0b2RheS5nZXREYXkoKSA9PT0gdGltZS5nZXREYXkoKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMudG9UaW1lKHRpbWUpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRvZGF5LmdldFRpbWUoKSAtIHRpbWUuZ2V0VGltZSgpID4gZGF5TXMgJiZcbiAgICAgIHRvZGF5LmdldFRpbWUoKSAtIHRpbWUuZ2V0VGltZSgpIDwgZGF5TXMgKiA3XG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy50b0RheU9mV2Vlayh0aW1lKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0b2RheS5nZXRUaW1lKCkgLSB0aW1lLmdldFRpbWUoKSA+IGRheU1zICogNyAmJlxuICAgICAgdG9kYXkuZ2V0RnVsbFllYXIoKSA9PT0gdGltZS5nZXRGdWxsWWVhcigpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy50b0RhdGVOdW1lcmFsKHRpbWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRvRGF0ZU51bWVyYWxXaXRoWWVhcih0aW1lKTtcbiAgfVxufVxuIl19