@rtsee/ngx 0.0.76 → 0.0.77

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.
@@ -13,7 +13,7 @@ import { RTSee, INavigationConfig, IRouteConfig } from '@rtsee/factory';
13
13
  import { RTSeePresentation, RTSeeStory, RTSeePresentationSettings, RTSeeStorySlide } from '@rtsee/presentation';
14
14
  import * as i43 from '@angular/forms';
15
15
  import { FormArray, FormGroup, FormControl, FormBuilder } from '@angular/forms';
16
- import { IRTSeeChat, IMessageThumbnail, RTSeeChatTypes } from '@rtsee/common';
16
+ import { IRTSeeChat, RTSeeChatTypes, IMessageThumbnail } from '@rtsee/common';
17
17
  import * as i42 from '@angular/common';
18
18
  import { ViewportScroller } from '@angular/common';
19
19
  import * as i44 from 'ngx-autosize';
@@ -131,13 +131,18 @@ declare class RtseeEventsDashboardComponent {
131
131
 
132
132
  declare class RTSeeContainerComponent implements OnInit {
133
133
  private authService;
134
+ private router;
135
+ isSidenavExpanded: boolean;
136
+ isSidenavContent: boolean;
137
+ isSidenavFullScreen: boolean;
138
+ private routeSubscription;
134
139
  rtsee: RTSee;
135
140
  navigationConfig: INavigationConfig<IRouteConfig>;
136
141
  auth: RTSeeAuth<any>;
137
- constructor(authService: RTSeeAuthService);
138
- isSidenavExpanded: boolean;
139
- onSidenavToggleClicked(): void;
142
+ constructor(authService: RTSeeAuthService, router: Router);
140
143
  ngOnInit(): void;
144
+ onSidenavToggleClicked(): void;
145
+ defineSideNavState(url: string): void;
141
146
  static ɵfac: i0.ɵɵFactoryDeclaration<RTSeeContainerComponent, never>;
142
147
  static ɵcmp: i0.ɵɵComponentDeclaration<RTSeeContainerComponent, "rtsee-container", never, { "rtsee": { "alias": "rtsee"; "required": false; }; "navigationConfig": { "alias": "navigationConfig"; "required": false; }; "auth": { "alias": "auth"; "required": false; }; }, {}, never, ["*"], true, never>;
143
148
  }
@@ -441,14 +446,26 @@ declare class MessageComponent implements AfterViewInit {
441
446
  static ɵcmp: i0.ɵɵComponentDeclaration<MessageComponent, "rtsee-message", never, { "chat": { "alias": "chat"; "required": false; }; "message": { "alias": "message"; "required": false; }; "member": { "alias": "member"; "required": false; }; "messenger": { "alias": "messenger"; "required": false; }; }, {}, never, never, true, never>;
442
447
  }
443
448
 
449
+ interface IRTSeeMessageGroup {
450
+ id: string;
451
+ sender: RTSeeChatMember;
452
+ senderVisible: boolean;
453
+ messages: RTSeeMessage[];
454
+ }
444
455
  declare class MessagesListComponent implements AfterViewInit, OnDestroy, OnInit {
445
456
  private timeFormatService;
446
457
  private scroller;
458
+ private document;
447
459
  bindScrollFunction: () => void;
460
+ bindedGroupFunction: () => void;
461
+ messagesGroups: IRTSeeMessageGroup[];
462
+ firstGroupedMessage: RTSeeMessage | null;
463
+ lastGroupedMessage: RTSeeMessage | null;
448
464
  chat: RTSeeChat;
449
465
  messenger: RTSeeMessenger;
450
466
  scrollContainer: ElementRef<HTMLDivElement>;
451
- constructor(timeFormatService: TimeFormatHelperService, scroller: ViewportScroller);
467
+ constructor(timeFormatService: TimeFormatHelperService, scroller: ViewportScroller, document: Document);
468
+ onWindowScroll(event: Event): void;
452
469
  ngOnInit(): void;
453
470
  ngAfterViewInit(): void;
454
471
  onMessageSent(): void;
@@ -457,6 +474,14 @@ declare class MessagesListComponent implements AfterViewInit, OnDestroy, OnInit
457
474
  onScroll(): void;
458
475
  scrollToBottom(): void;
459
476
  formatDate(message: RTSeeMessage): string;
477
+ private groupMessages;
478
+ private performGrouping;
479
+ private stitchGroups;
480
+ private areForwardMessagesAdded;
481
+ private areBackwardMessagesAdded;
482
+ private saveFirstAndLastGroupedMessages;
483
+ private getFirstAndLastMessage;
484
+ protected readonly RTSeeChatTypes: typeof RTSeeChatTypes;
460
485
  static ɵfac: i0.ɵɵFactoryDeclaration<MessagesListComponent, never>;
461
486
  static ɵcmp: i0.ɵɵComponentDeclaration<MessagesListComponent, "rtsee-messages-list", never, { "chat": { "alias": "chat"; "required": false; }; "messenger": { "alias": "messenger"; "required": false; }; }, {}, never, never, true, never>;
462
487
  }
@@ -475,6 +500,7 @@ declare class ChatThumbnailComponent {
475
500
  customDateFormatDaysJs: string;
476
501
  customDateTimeFormat: string;
477
502
  defaultProfileImgUrl: string;
503
+ mobileBreakpoint: number;
478
504
  };
479
505
  static ɵfac: i0.ɵɵFactoryDeclaration<ChatThumbnailComponent, never>;
480
506
  static ɵcmp: i0.ɵɵComponentDeclaration<ChatThumbnailComponent, "rtsee-chat-thumbnail", never, { "chat": { "alias": "chat"; "required": false; }; "messenger": { "alias": "messenger"; "required": false; }; }, {}, never, never, true, never>;
@@ -38,6 +38,12 @@
38
38
  @media screen and (min-width: $rts-break-md) {
39
39
  padding-top: 0;
40
40
 
41
+ .rtsee-presentation-settings {
42
+ top: 0;
43
+ right: $video-container-width;
44
+ width: auto;
45
+ }
46
+
41
47
  .rtsee-shell-panel {
42
48
  padding-top: $video-container-height;
43
49
  }
@@ -152,12 +158,15 @@
152
158
  }
153
159
 
154
160
  @media screen and (min-width: $rts-break-md) {
161
+ $rts-divider-style: 2px solid rgba(0, 0, 0, 0.2);
162
+
155
163
  .rtsee-nav-block {
156
164
  position: fixed;
157
165
  height: 100%;
158
166
  bottom: 0;
159
167
  left: 0;
160
168
  width: $rts-sidebar-width;
169
+ border-right: $rts-divider-style;
161
170
  }
162
171
 
163
172
  .rtsee-content {
@@ -174,13 +183,12 @@
174
183
  position: fixed;
175
184
  right: 0;
176
185
  top: 0;
177
- padding-bottom: 0;
178
- padding-top: $video-container-height;
186
+ padding: 0;
179
187
 
180
- .rtsee-shell-panel-inner {
181
- overflow: auto;
182
- height: 100%;
183
- }
188
+ //.rtsee-shell-panel-inner {
189
+ // overflow: auto;
190
+ // height: 100%;
191
+ //}
184
192
  }
185
193
 
186
194
  .rtsee-conference-container {
@@ -189,10 +197,6 @@
189
197
  top: 0;
190
198
  }
191
199
 
192
- .rtsee-shell-panel {
193
- padding: 0;
194
- }
195
-
196
200
  &.rtsee-shell-side-nav-expanded {
197
201
  .rtsee-content {
198
202
  overflow: hidden;
@@ -234,5 +238,60 @@
234
238
  display: block;
235
239
  }
236
240
  }
241
+
242
+ &.rtsee-shell-side-nav-is-content {
243
+ padding: 0 0 0 $rts-sidebar-width;
244
+
245
+ .rtsee-shell-panel {
246
+ position: static;
247
+ width: auto;
248
+
249
+ padding-right: $video-container-width;
250
+ }
251
+
252
+ .rtsee-messenger-container {
253
+ display: block;
254
+ position: fixed;
255
+ top: 0;
256
+ right: 0;
257
+ width: $video-container-width;
258
+ border-left: $rts-divider-style;
259
+ }
260
+
261
+ .rtsee-content {
262
+ display: none;
263
+ }
264
+
265
+ &.rtsee-shell-conference-mode {
266
+ padding: 0 0 0 $rts-sidebar-width;
267
+
268
+ .rtsee-shell-panel {
269
+ padding-top: 0;
270
+ }
271
+
272
+ .rtsee-messenger-container {
273
+ top: $video-container-height;
274
+ bottom: 0;
275
+ height: auto;
276
+
277
+ .rtsee-messenger {
278
+ .rtsee-messenger-header-container {
279
+ top: 0;
280
+ }
281
+ }
282
+ }
283
+
284
+ .rtsee-conference-container {
285
+ position: fixed;
286
+ width: $video-container-width;;
287
+ top: 0;
288
+ right: 0;
289
+ left: auto;
290
+ border-left: $rts-divider-style;
291
+ }
292
+ }
293
+
294
+ //width: calc(100% - $video-container-width);
295
+ }
237
296
  }
238
297
  }
@@ -7,11 +7,28 @@
7
7
  background: $rts-new-secondary-bg-color-light;
8
8
 
9
9
  &.rtsee-chat-standalone {
10
+ .rtsee-messenger-messages-list {
11
+ overflow: visible;
12
+ }
13
+
14
+ .rtsee-chat-footer-container {
15
+ display: none;
16
+ }
17
+
10
18
  &.rtsee-chat-in-viewport {
11
19
  .rtsee-chat-footer-container {
20
+ display: block;
12
21
  position: fixed;
13
22
  bottom: $rts-bottom-nav-height;
14
23
  }
24
+
25
+ @media screen and (min-width: $rts-break-md) {
26
+ .rtsee-chat-footer-container {
27
+ bottom: 0;
28
+ left: $rts-sidebar-width;
29
+ width: calc(100% - ($rts-sidebar-width + $video-container-width));
30
+ }
31
+ }
15
32
  }
16
33
  }
17
34
 
@@ -22,9 +39,10 @@
22
39
  .rtsee-chat-footer-container {
23
40
  position: absolute;
24
41
  padding: $rts-new-offset-xsm;
25
- bottom: $rts-new-offset-xsm;
42
+ bottom: 0;
26
43
  background-color: $rts-secondary-bg-color-light;
27
44
  width: 100%;
45
+ z-index: 1;
28
46
 
29
47
  .rtsee-chat-footer-container-inner {
30
48
  background: $rts-main-bg-color-light;
@@ -1,8 +1,18 @@
1
1
  @import "../common-variables";
2
2
 
3
+ .rtsee-messenger-message-wrapper-with-sender {
4
+ .rtsee-messenger-message-container {
5
+ &.rtsee-message-from-me {
6
+ .rtsee-messenger-message {
7
+ float: left;
8
+ }
9
+ }
10
+ }
11
+ }
12
+
13
+
3
14
  .rtsee-messenger-message-container {
4
15
  width: 100%;
5
- padding: 0 $rts-offset-sm;
6
16
  position: relative;
7
17
  overflow: hidden;
8
18
 
@@ -18,12 +28,6 @@
18
28
  background-color: $rts-new-primary-color;
19
29
  color: $rts-font-color-dbg-light;
20
30
  }
21
-
22
- .message-tail {
23
- left: unset;
24
- right: -2px;
25
- border-bottom: 10px solid $rts-new-primary-color;
26
- }
27
31
  }
28
32
 
29
33
  .rtsee-messenger-message {
@@ -32,6 +36,7 @@
32
36
  border-radius: $rts-new-border-radius-rounded;
33
37
  padding: $rts-new-offset-xsm $rts-new-offset-sm $rts-new-offset-sm $rts-new-offset-sm;
34
38
  font-size: 14px;
39
+ margin-bottom: $rts-offset-sm * 0.5;
35
40
 
36
41
 
37
42
  overflow-wrap: break-word;
@@ -50,16 +55,4 @@
50
55
  float: right;
51
56
  }
52
57
  }
53
-
54
- .message-tail {
55
- position: absolute;
56
- bottom: 0;
57
- left: -2px;
58
-
59
- width: 0;
60
- height: 0;
61
- border-left: 10px solid transparent;
62
- border-right: 10px solid transparent;
63
- border-bottom: 10px solid #fff;
64
- }
65
58
  }
@@ -2,17 +2,115 @@
2
2
 
3
3
  $messenger-date-background-color: #FFFFFF7F;
4
4
 
5
+ .rtsee-shell-conference-mode {
6
+ .rtsee-chat {
7
+ .rtsee-messenger-messages-list {
8
+ .rtsee-messenger-message-wrapper {
9
+ &.rtsee-messenger-message-wrapper-with-sender {
10
+ .rtsee-messenger-message-inset {
11
+ .rtsee-messenger-message-sender-image {
12
+ top: $rts-messenger-header-height + $rts-offset-sm + $video-container-height;
13
+
14
+ @media screen and (min-width: $rts-break-md) {
15
+ top: $rts-offset-sm;
16
+ }
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
22
+
23
+ &.rtsee-chat-standalone {
24
+ .rtsee-messenger-messages-list {
25
+ .rtsee-messenger-message-wrapper {
26
+ &.rtsee-messenger-message-wrapper-with-sender {
27
+ .rtsee-messenger-message-inset {
28
+ .rtsee-messenger-message-sender-image {
29
+ top: $rts-offset-sm + $video-container-height;
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ .rtsee-chat {
40
+ height: 100%;
41
+ background: $rts-new-secondary-bg-color-light;
42
+ padding: 0 $rts-offset-sm;
43
+
44
+ &.rtsee-chat-standalone {
45
+ .rtsee-messenger-messages-list {
46
+ .rtsee-messenger-message-wrapper {
47
+ &:last-child {
48
+ margin-bottom: 0; // here
49
+ }
50
+ &.rtsee-messenger-message-wrapper-with-sender {
51
+ .rtsee-messenger-message-inset {
52
+ .rtsee-messenger-message-sender-image {
53
+ top: $rts-offset-sm;
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+
5
62
  .rtsee-messenger-messages-list {
6
63
  height: 100%;
7
- overflow: auto;
8
64
  background-color: $rts-new-secondary-bg-color-light;
9
- padding-top: $rts-offset-sm;
65
+ border-top: 1px solid transparent;
10
66
 
11
67
  .rtsee-messenger-message-wrapper {
12
- margin-bottom: $rts-offset-md;
68
+ margin-bottom: $rts-offset-sm;
69
+ position: relative;
70
+ padding-left: 0;
71
+
72
+ &:first-child {
73
+ margin-top: $rts-offset-sm;
74
+ }
75
+
76
+ &.rtsee-messenger-message-wrapper-with-sender {
77
+ padding-left: $rts-new-user-avatar-d-sm + $rts-offset-sm;
13
78
 
14
- &.rtsee-messenger-message-wrapper-consecutive {
15
- margin-bottom: 4px;
79
+ .rtsee-messenger-message-sender-name {
80
+ display: block;
81
+ }
82
+
83
+ .rtsee-messenger-message-inset {
84
+ display: block;
85
+ }
86
+ }
87
+
88
+ .rtsee-messenger-message-sender-name {
89
+ display: none;
90
+ font-size: 13px;
91
+ padding-left: $rts-offset-sm;
92
+ color: $rts-font-color-light;
93
+
94
+ p {
95
+ margin: 0;
96
+ }
97
+ }
98
+
99
+ .rtsee-messenger-message-inset {
100
+ display: none;
101
+ position: absolute;
102
+ inset: 0;
103
+ pointer-events: none;
104
+
105
+ .rtsee-messenger-message-sender-image {
106
+ position: sticky;
107
+ left: 0;
108
+ top: $rts-messenger-header-height + $rts-offset-sm;
109
+ bottom: 0;
110
+ width: $rts-new-user-avatar-d-sm;
111
+ height: $rts-new-user-avatar-d-sm;
112
+ border-radius: 50%;
113
+ }
16
114
  }
17
115
 
18
116
  &:last-child {
@@ -37,10 +135,20 @@ $messenger-date-background-color: #FFFFFF7F;
37
135
  }
38
136
 
39
137
  @media screen and (min-width: $rts-break-md) {
138
+ overflow: auto;
139
+ overscroll-behavior-y: contain;
140
+
40
141
  .rtsee-messenger-message-wrapper {
41
142
  &:last-child {
42
143
  margin-bottom: 0;
43
144
  }
145
+
146
+
147
+ .rtsee-messenger-message-inset {
148
+ .rtsee-messenger-message-sender-image {
149
+ top: $rts-offset-sm;
150
+ }
151
+ }
44
152
  }
45
153
  }
46
154
  }
@@ -12,7 +12,6 @@ $control-icon-size: 18px;
12
12
  padding-top: $rts-messenger-header-height;
13
13
  color: $rts-font-color-dark;
14
14
  position: relative;
15
- overflow: hidden;
16
15
  background-color: $rts-main-bg-color-light;
17
16
 
18
17
  &.rtsee-messenger-header-expanded {
@@ -41,9 +40,15 @@ $control-icon-size: 18px;
41
40
 
42
41
  .rtsee-messenger-body-container {
43
42
  height: 100%;
44
- overflow: auto;
45
43
  position: relative;
46
44
  }
47
45
 
46
+ @media screen and (min-width: $rts-break-md) {
47
+ overflow: hidden;
48
48
 
49
+ .rtsee-messenger-body-container {
50
+ overflow: auto;
51
+ overscroll-behavior-y: contain;
52
+ }
53
+ }
49
54
  }
@@ -14,7 +14,6 @@
14
14
  margin-bottom: $rts-offset-sm;
15
15
 
16
16
  .rtsee-share-call-explain-section-icon {
17
- flex: 1;
18
17
  text-align: center;
19
18
 
20
19
  .rtsee-link-icon {
@@ -1,5 +1,13 @@
1
1
  @import "./variables";
2
2
 
3
+ .rtsee-presentation {
4
+ padding-bottom: $rts-bottom-nav-height + $rts-offset-sm;
5
+
6
+ @media screen and (min-width: $rts-break-md) {
7
+ padding-bottom: 0;
8
+ }
9
+ }
10
+
3
11
  .rtsee-presentation-header {
4
12
  transition: bottom 0.5s ease-in-out;
5
13
  background-color: #ffffff;
@@ -3,7 +3,6 @@
3
3
  .rtsee-presentation-settings {
4
4
  position: fixed;
5
5
  width: 100%;
6
- height: 100%;
7
6
  top: 0;
8
7
  left: 0;
9
8
  bottom: 0;
@@ -29,5 +29,16 @@
29
29
  @media screen and (min-width: $rts-break-md) {
30
30
  height: $stories-player-height-wide-screen;
31
31
  height: $stories-player-height-wide-screen-dvh;
32
+
33
+ .rtsee-presentation-slide-default {
34
+ .rtsee-presentation-slide-image-container {
35
+ padding-bottom: 50%;
36
+ background-repeat: no-repeat;
37
+ background-size: contain;
38
+ max-width: 600px;
39
+ background-position: center;
40
+ margin: 0 auto;
41
+ }
42
+ }
32
43
  }
33
44
  }
@@ -1,10 +1,10 @@
1
1
  @import "./variables";
2
2
 
3
3
  .rtsee-story-details {
4
-
5
-
6
4
  .rtsee-story-details-image-container {
7
5
  position: relative;
6
+ line-height: 0;
7
+ text-align: center;
8
8
 
9
9
  .rtsee-story-details-image {
10
10
  width: 100%;
@@ -22,4 +22,52 @@
22
22
  left: $rts-offset-sm;
23
23
  }
24
24
  }
25
+
26
+ .rtsee-story-details-title-container {
27
+ padding: $rts-offset-sm;
28
+
29
+ .rtsee-story-details-title {
30
+ color: $rts-font-color-light;
31
+ margin: 0;
32
+ }
33
+ }
34
+
35
+ .rtsee-story-details-labels {
36
+ padding: 0 $rts-offset-sm;
37
+
38
+ .rtsee-story-details-label {
39
+ margin: 0 $rts-offset-sm $rts-offset-sm 0;
40
+ }
41
+ }
42
+
43
+ .rtsee-story-details-description-container {
44
+ .rtsee-story-details-description {
45
+ padding: $rts-offset-sm;
46
+ margin: 0;
47
+ }
48
+ }
49
+
50
+ .rtsee-story-details-votes {
51
+ .rtsee-story-details-comments-label {
52
+ margin: 0;
53
+ font-size: 21px;
54
+ padding: $rts-offset-sm;
55
+ font-weight: 600;
56
+ color: #333;
57
+ }
58
+ }
59
+
60
+ .rtsee-story-details-feedback {
61
+ padding: $rts-offset-sm;
62
+ }
63
+
64
+ @media screen and (min-width: $rts-break-md) {
65
+ .rtsee-story-details-image-container {
66
+ .rtsee-story-details-image {
67
+ max-width: 500px;
68
+ }
69
+ }
70
+
71
+ }
72
+
25
73
  }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.76",
2
+ "version": "0.0.77",
3
3
  "name": "@rtsee/ngx",
4
4
  "module": "./dist/ngx/fesm2022/rtsee-ngx.mjs",
5
5
  "types": "./dist/ngx/index.d.ts",
@@ -34,12 +34,12 @@
34
34
  "@angular/platform-browser-dynamic": "^20.1.2",
35
35
  "@angular/router": "^20.1.2",
36
36
  "@primeuix/themes": "^1.2.3",
37
- "@rtsee/common": "^0.0.47",
38
- "@rtsee/conference": "^0.0.48",
39
- "@rtsee/core": "^0.0.91",
40
- "@rtsee/events-dashboard": "^0.0.81",
41
- "@rtsee/factory": "^0.0.90",
42
- "@rtsee/messenger": "^0.0.81",
37
+ "@rtsee/common": "^0.0.48",
38
+ "@rtsee/conference": "^0.0.49",
39
+ "@rtsee/core": "^0.0.92",
40
+ "@rtsee/events-dashboard": "^0.0.82",
41
+ "@rtsee/factory": "^0.0.91",
42
+ "@rtsee/messenger": "^0.0.82",
43
43
  "@rtsee/signaling-client": "^0.0.66",
44
44
  "dayjs": "^1.11.9",
45
45
  "ngx-autosize": "^2.0.4",
@@ -66,5 +66,5 @@
66
66
  "publishConfig": {
67
67
  "access": "public"
68
68
  },
69
- "gitHead": "3a0b2fe6c4ae5ec01805f35d2270f3604d111b59"
69
+ "gitHead": "f4f189990eda3209efea824ae633d577134d36b8"
70
70
  }