stream-chat-angular 4.66.3 → 4.66.5

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 (58) hide show
  1. package/assets/version.d.ts +1 -1
  2. package/bundles/stream-chat-angular.umd.js +1 -1
  3. package/bundles/stream-chat-angular.umd.js.map +1 -1
  4. package/esm2015/assets/version.js +2 -2
  5. package/fesm2015/stream-chat-angular.js +1 -1
  6. package/fesm2015/stream-chat-angular.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/assets/styles/assets/icons/stream-chat-icons.eot +0 -0
  9. package/src/assets/styles/assets/icons/stream-chat-icons.svg +46 -0
  10. package/src/assets/styles/assets/icons/stream-chat-icons.ttf +0 -0
  11. package/src/assets/styles/assets/icons/stream-chat-icons.woff +0 -0
  12. package/src/assets/styles/assets/icons/stream-chat-icons.woff2 +0 -0
  13. package/src/assets/styles/v2/assets/EmojiOneColor.woff2 +0 -0
  14. package/src/assets/styles/v2/assets/NotoColorEmoji-flags.woff2 +0 -0
  15. package/src/assets/styles/v2/assets/Poweredby_100px-White_VertText.png +0 -0
  16. package/src/assets/styles/v2/assets/icons/stream-chat-icons.eot +0 -0
  17. package/src/assets/styles/v2/assets/icons/stream-chat-icons.svg +46 -0
  18. package/src/assets/styles/v2/assets/icons/stream-chat-icons.ttf +0 -0
  19. package/src/assets/styles/v2/assets/icons/stream-chat-icons.woff +0 -0
  20. package/src/assets/styles/v2/assets/icons/stream-chat-icons.woff2 +0 -0
  21. package/src/assets/styles/v2/assets/str-chat__reaction-list-sprite@1x.png +0 -0
  22. package/src/assets/styles/v2/assets/str-chat__reaction-list-sprite@2x.png +0 -0
  23. package/src/assets/styles/v2/assets/str-chat__reaction-list-sprite@3x.png +0 -0
  24. package/src/assets/styles/v2/css/index.css +2 -2
  25. package/src/assets/styles/v2/css/index.layout.css +2 -2
  26. package/src/assets/styles/v2/scss/AttachmentList/AttachmentList-layout.scss +75 -13
  27. package/src/assets/styles/v2/scss/AttachmentList/AttachmentList-theme.scss +52 -0
  28. package/src/assets/styles/v2/scss/AttachmentPreviewList/AttachmentPreviewList-layout.scss +24 -9
  29. package/src/assets/styles/v2/scss/AttachmentPreviewList/AttachmentPreviewList-theme.scss +29 -0
  30. package/src/assets/styles/v2/scss/AudioRecorder/AudioRecorder-layout.scss +89 -0
  31. package/src/assets/styles/v2/scss/AudioRecorder/AudioRecorder-theme.scss +51 -0
  32. package/src/assets/styles/v2/scss/Avatar/Avatar-layout.scss +46 -0
  33. package/src/assets/styles/v2/scss/Channel/Channel-layout.scss +1 -0
  34. package/src/assets/styles/v2/scss/Channel/Channel-theme.scss +1 -0
  35. package/src/assets/styles/v2/scss/ChannelList/ChannelList-layout.scss +2 -2
  36. package/src/assets/styles/v2/scss/ChannelList/ChannelList-theme.scss +4 -2
  37. package/src/assets/styles/v2/scss/ChannelPreview/ChannelPreview-layout.scss +2 -0
  38. package/src/assets/styles/v2/scss/ChannelPreview/ChannelPreview-theme.scss +1 -0
  39. package/src/assets/styles/v2/scss/Icon/Icon-layout.scss +87 -0
  40. package/src/assets/styles/v2/scss/Icon/Icon-theme.scss +13 -0
  41. package/src/assets/styles/v2/scss/ImageCarousel/ImageCarousel-layout.scss +1 -0
  42. package/src/assets/styles/v2/scss/ImageCarousel/ImageCarousel-theme.scss +1 -0
  43. package/src/assets/styles/v2/scss/LoadingIndicator/LoadingIndicator-layout.scss +10 -1
  44. package/src/assets/styles/v2/scss/LoadingIndicator/LoadingIndicator-theme.scss +6 -4
  45. package/src/assets/styles/v2/scss/Message/Message-layout.scss +8 -2
  46. package/src/assets/styles/v2/scss/Message/Message-theme.scss +6 -0
  47. package/src/assets/styles/v2/scss/MessageInput/MessageInput-layout.scss +33 -1
  48. package/src/assets/styles/v2/scss/MessageInput/MessageInput-theme.scss +65 -2
  49. package/src/assets/styles/v2/scss/MessageList/MessageList-theme.scss +2 -0
  50. package/src/assets/styles/v2/scss/Modal/Modal-layout.scss +1 -0
  51. package/src/assets/styles/v2/scss/Modal/Modal-theme.scss +6 -0
  52. package/src/assets/styles/v2/scss/_base.scss +4 -3
  53. package/src/assets/styles/v2/scss/_emoji-replacement.scss +4 -2
  54. package/src/assets/styles/v2/scss/_icons.scss +24 -2
  55. package/src/assets/styles/v2/scss/_variables.scss +2 -0
  56. package/src/assets/styles/v2/scss/index.layout.scss +2 -0
  57. package/src/assets/styles/v2/scss/index.scss +2 -0
  58. package/src/assets/version.ts +1 -1
@@ -320,15 +320,24 @@
320
320
  background-size: 24px 24px;
321
321
  }
322
322
 
323
+ .str-chat__message-attachment-unsupported,
323
324
  .str-chat__message-attachment-file--item {
324
325
  @include utils.component-layer-overrides('file-attachment');
325
326
  }
326
327
 
328
+ .str-chat__message-attachment-unsupported {
329
+ .str-chat__message-attachment-unsupported__title {
330
+ font: var(--str-chat__subtitle-medium-text);
331
+ word-break: keep-all;
332
+ }
333
+ }
334
+
327
335
  .str-chat__message-attachment-file--item,
328
336
  .str-chat__message-attachment-audio-widget {
329
337
  .str-chat__message-attachment-file--item-name,
330
338
  .str-chat__message-attachment-audio-widget--title {
331
339
  font: var(--str-chat__subtitle-medium-text);
340
+ word-break: keep-all;
332
341
  }
333
342
 
334
343
  .str-chat__message-attachment-file--item-size {
@@ -476,6 +485,11 @@
476
485
  }
477
486
  }
478
487
 
488
+ .str-chat__message-attachment-audio-widget--play-button {
489
+ @include utils.component-layer-overrides('audio-attachment-controls-button');
490
+ @include utils.circle-fab-overrides('audio-attachment-controls-button');
491
+ }
492
+
479
493
  .str-chat__message-attachment-card.str-chat__message-attachment-card--audio {
480
494
  .str-chat__message-attachment-card--header {
481
495
  border-end-start-radius: 0;
@@ -483,6 +497,44 @@
483
497
  }
484
498
  }
485
499
 
500
+ .str-chat__message-attachment__voice-recording-widget {
501
+ @include utils.component-layer-overrides('voice-recording-attachment-widget');
502
+
503
+ .str-chat__message-attachment__voice-recording-widget__title {
504
+ @include utils.ellipsis-text;
505
+ word-break: keep-all;
506
+ font: var(--str-chat__subtitle-medium-text);
507
+ }
508
+
509
+ .str-chat__message-attachment__voice-recording-widget__timer {
510
+ font: var(--str-chat__body-text);
511
+ color: var(--str-chat__text-low-emphasis-color);
512
+ white-space: nowrap;
513
+ }
514
+ }
515
+
516
+ .str-chat__audio_recorder__waveform-box,
517
+ .str-chat__wave-progress-bar__track {
518
+ cursor: pointer;
519
+
520
+ .str-chat__wave-progress-bar__amplitude-bar {
521
+ background: var(--str-chat__text-low-emphasis-color);
522
+ border-radius: var(--str-chat__border-radius-circle);
523
+ }
524
+
525
+ .str-chat__wave-progress-bar__amplitude-bar--active {
526
+ background: var(--str-chat__primary-color);
527
+ }
528
+
529
+ .str-chat__wave-progress-bar__progress-indicator {
530
+ background-color: #fff;
531
+ border-radius: var(--str-chat__border-radius-circle);
532
+ border: 1px solid var(--str-chat__secondary-overlay-color);
533
+ cursor: grab;
534
+ }
535
+ }
536
+
537
+
486
538
  .str-chat-angular__message-attachment-file-single
487
539
  .str-chat__message-attachment-file--item-first-row {
488
540
  color: var(--str-chat__attachment-list-color);
@@ -1,6 +1,7 @@
1
1
  @use '../utils';
2
2
 
3
3
  .str-chat__attachment-preview-list {
4
+ --str-chat__loading-indicator-size: calc(var(--str-chat__spacing-px) * 18);
4
5
  $preview-height: calc(var(--str-chat__spacing-px) * 72);
5
6
 
6
7
  @include utils.flex-row-center;
@@ -46,6 +47,8 @@
46
47
  }
47
48
  }
48
49
 
50
+ .str-chat__attachment-preview-unsupported,
51
+ .str-chat__attachment-preview-voice-recording,
49
52
  .str-chat__attachment-preview-file {
50
53
  display: flex;
51
54
  justify-content: flex-start;
@@ -57,28 +60,38 @@
57
60
  padding: 0 var(--str-chat__spacing-4);
58
61
  column-gap: var(--str-chat__spacing-2);
59
62
 
60
- .str-chat__attachment-preview-file-icon {
61
- @include utils.flex-row-center;
62
-
63
- svg {
64
- height: calc(var(--str-chat__spacing-px) * 37);
65
- width: unset;
66
- }
67
- }
68
-
63
+ .str-chat__attachment-preview-metadata,
69
64
  .str-chat__attachment-preview-file-end {
70
65
  @include utils.ellipsis-text-parent;
66
+ flex: 1;
71
67
  display: flex;
72
68
  flex-direction: column;
73
69
  align-items: flex-start;
74
70
  justify-content: center;
75
71
 
72
+ .str-chat__attachment-preview-title,
76
73
  .str-chat__attachment-preview-file-name {
77
74
  @include utils.ellipsis-text;
78
75
  max-width: 100%;
79
76
  }
77
+ }
78
+
79
+ .str-chat__attachment-preview-file-icon {
80
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 37);
81
+ --str-chat-icon-width: auto;
82
+ @include utils.flex-row-center;
83
+
84
+ svg {
85
+ height: calc(var(--str-chat__spacing-px) * 37);
86
+ width: unset;
87
+ }
88
+ }
89
+ }
80
90
 
91
+ .str-chat__attachment-preview-file {
92
+ .str-chat__attachment-preview-file-end {
81
93
  .str-chat__attachment-preview-file-download {
94
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 16);
82
95
  line-height: calc(var(--str-chat__spacing-px) * 13);
83
96
 
84
97
  svg {
@@ -96,6 +109,7 @@
96
109
  }
97
110
 
98
111
  .str-chat__attachment-preview-delete {
112
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
99
113
  position: absolute;
100
114
  top: calc(var(--str-chat__spacing-px) * 2);
101
115
  inset-inline-end: calc(var(--str-chat__spacing-px) * 2);
@@ -109,6 +123,7 @@
109
123
  }
110
124
 
111
125
  .str-chat__attachment-preview-error {
126
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
112
127
  @include overlay;
113
128
  @include utils.unset-button(unset);
114
129
  inset-inline-start: 0;
@@ -107,13 +107,27 @@
107
107
  }
108
108
  }
109
109
 
110
+ .str-chat__attachment-preview-unsupported,
111
+ .str-chat__attachment-preview-voice-recording,
110
112
  .str-chat__attachment-preview-file {
111
113
  @include utils.component-layer-overrides('attachment-preview-file');
112
114
 
115
+ .str-chat__attachment-preview-title,
113
116
  .str-chat__attachment-preview-file-name {
114
117
  font: var(--str-chat__subtitle-medium-text);
115
118
  }
116
119
 
120
+ .str-chat__attachment-preview-file-download {
121
+ --str-chat-icon-color: var(--str-chat__attachment-preview-download-icon-color);
122
+ text-decoration: none;
123
+
124
+ svg path {
125
+ fill: var(--str-chat__attachment-preview-download-icon-color);
126
+ }
127
+ }
128
+ }
129
+
130
+ .str-chat__attachment-preview-file {
117
131
  .str-chat__attachment-preview-file-download {
118
132
  svg path {
119
133
  fill: var(--str-chat__attachment-preview-download-icon-color);
@@ -121,7 +135,21 @@
121
135
  }
122
136
  }
123
137
 
138
+ .str-chat__attachment-preview-voice-recording {
139
+ .str-chat__recording-timer {
140
+ color: var(--str-chat__text-low-emphasis-color);
141
+ font: var(--str-chat__caption-medium-text);
142
+ }
143
+ }
144
+
124
145
  .str-chat__attachment-preview-delete {
146
+ --str-chat-icon-color: var(--str-chat__attachment-preview-close-icon-color);
147
+
148
+ .str-chat__icon {
149
+ background-color: var(--str-chat__attachment-preview-close-icon-background);
150
+ border-radius: 999px;
151
+ }
152
+
125
153
  svg {
126
154
  background-color: var(--str-chat__attachment-preview-close-icon-background);
127
155
  border-radius: 999px;
@@ -133,6 +161,7 @@
133
161
  }
134
162
 
135
163
  .str-chat__attachment-preview-error {
164
+ --str-chat-icon-color: var(--str-chat__attachment-preview-retry-icon-color);
136
165
  background-color: var(--str-chat__attachment-preview-overlay-color);
137
166
 
138
167
  svg path {
@@ -0,0 +1,89 @@
1
+ @use '../utils';
2
+
3
+ .str-chat__audio_recorder-container {
4
+ bottom: 0;
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: flex-end;
8
+ width: 100%;
9
+ min-height: 3.25rem;
10
+ padding-inline: 1rem;
11
+ }
12
+
13
+ .str-chat__audio_recorder {
14
+ @include utils.flex-row-center;
15
+ gap: 0.375rem;
16
+
17
+ button {
18
+ @include utils.flex-row-center;
19
+ height: 32px;
20
+ width: 32px;
21
+ padding: 0;
22
+ }
23
+
24
+ .str-chat__audio_recorder__cancel-button svg {
25
+ height: 28px;
26
+ }
27
+
28
+ .str-chat__audio_recorder__toggle-playback-button svg {
29
+ height: 16px;
30
+ }
31
+
32
+ .str-chat__audio_recorder__pause-recording-button svg {
33
+ height: 12px;
34
+ }
35
+
36
+ .str-chat__audio_recorder__resume-recording-button svg {
37
+ height: 24px;
38
+ }
39
+
40
+ .str-chat__audio_recorder__stop-button svg {
41
+ height: 12px;
42
+ }
43
+
44
+ .str-chat__audio_recorder__complete-button svg {
45
+ height: 16px;
46
+ }
47
+
48
+ .str-chat__recording-timer {
49
+ display: flex;
50
+ align-items: center;
51
+ width: 3rem;
52
+ }
53
+
54
+ .str-chat__recording-timer--hours {
55
+ width: 3.75rem;
56
+ }
57
+
58
+ .str-chat__wave-progress-bar__track-container {
59
+ padding-block: 0.5rem;
60
+ overflow-x: auto;
61
+ height: fit-content;
62
+ }
63
+
64
+ .str-chat__waveform-box-container {
65
+ flex: 1;
66
+ display: flex;
67
+ align-items: center;
68
+ justify-content: flex-end;
69
+ width: 100%;
70
+ }
71
+
72
+ .str-chat__audio_recorder__waveform-box,
73
+ .str-chat__wave-progress-bar__track {
74
+ display: flex;
75
+ justify-content: flex-end;
76
+ align-items: center;
77
+ flex-wrap: nowrap;
78
+ height: 2rem;
79
+ margin-inline: 1rem;
80
+ }
81
+
82
+ .str-chat__wave-progress-bar__track {
83
+ width: 120px;
84
+ }
85
+
86
+ .str-chat__audio_recorder__waveform-box {
87
+ overflow-x: hidden;
88
+ }
89
+ }
@@ -0,0 +1,51 @@
1
+ @use '../utils';
2
+
3
+ .str-chat__audio_recorder-container {
4
+ background-color: var(--str-chat__background-color);
5
+ }
6
+
7
+ .str-chat__audio_recorder {
8
+ //@include utils.component-layer-overrides('audio-recorder');
9
+
10
+ button {
11
+ @include utils.button-reset;
12
+ cursor: pointer;
13
+
14
+ &:disabled {
15
+ cursor: default;
16
+ }
17
+ }
18
+
19
+ .str-chat__audio_recorder__cancel-button {
20
+ color: var(--str-chat__text-low-emphasis-color);
21
+ }
22
+
23
+ .str-chat__audio_recorder__toggle-playback-button {
24
+ color: var(--str-chat__text-low-emphasis-color);
25
+ }
26
+
27
+ .str-chat__audio_recorder__pause-recording-button,
28
+ .str-chat__audio_recorder__resume-recording-button {
29
+ color: var(--str-chat__danger-color);
30
+ }
31
+
32
+ .str-chat__audio_recorder__pause-recording-button {
33
+ border: 3px solid var(--str-chat__danger-color);
34
+ border-radius: var(--str-chat__border-radius-circle);
35
+ }
36
+
37
+ .str-chat__audio_recorder__stop-button,
38
+ .str-chat__audio_recorder__complete-button {
39
+ border-radius: var(--str-chat__border-radius-circle);
40
+ color: var(--str-chat__on-primary-color);
41
+ background-color: var(--str-chat__primary-color);
42
+
43
+ .str-chat__loading-indicator svg {
44
+ linearGradient {
45
+ stop:last-child {
46
+ stop-color: var(--str-chat__background-color);
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
@@ -1,3 +1,28 @@
1
+ .str-chat {
2
+ /* The size of the avatar, only available in Angular v5+ */
3
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 32);
4
+
5
+ .stream-chat__avatar--autocomplete-item {
6
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 30);
7
+ }
8
+
9
+ .stream-chat__avatar--channel-header {
10
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 40);
11
+ }
12
+
13
+ .stream-chat__avatar--channel-preview {
14
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 49);
15
+ }
16
+
17
+ .stream-chat__avatar--quoted-message-sender {
18
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 20);
19
+ }
20
+
21
+ .stream-chat__avatar--reaction {
22
+ --str-chat__avatar-size: calc(var(--str-chat__spacing-px) * 30);
23
+ }
24
+ }
25
+
1
26
  .str-chat__avatar {
2
27
  position: relative;
3
28
 
@@ -21,3 +46,24 @@
21
46
  width: calc(var(--str-chat__spacing-px) * 49);
22
47
  height: calc(var(--str-chat__spacing-px) * 49);
23
48
  }
49
+
50
+ .str-chat-angular__avatar {
51
+ height: var(--str-chat__avatar-size);
52
+ line-height: var(--str-chat__avatar-size);
53
+ width: var(--str-chat__avatar-size);
54
+
55
+ &.stream-chat__avatar--one-letter {
56
+ font-size: calc(var(--str-chat__avatar-size) * 0.5);
57
+ }
58
+
59
+ &.stream-chat__avatar--multiple-letters {
60
+ font-size: calc(var(--str-chat__avatar-size) * 0.3);
61
+ }
62
+
63
+ .str-chat__avatar-image {
64
+ height: 100%;
65
+ width: 100%;
66
+ object-fit: cover;;
67
+ }
68
+
69
+ }
@@ -25,6 +25,7 @@
25
25
  }
26
26
 
27
27
  .str-chat__empty-channel {
28
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 136);
28
29
  @include utils.empty-layout;
29
30
  position: relative;
30
31
 
@@ -40,6 +40,7 @@
40
40
  }
41
41
 
42
42
  .str-chat__empty-channel {
43
+ --str-chat-icon-color: var(--str-chat__channel-empty-color);
43
44
  @include utils.component-layer-overrides('channel');
44
45
  @include utils.empty-theme('channel');
45
46
 
@@ -14,6 +14,7 @@
14
14
  height: 100%;
15
15
 
16
16
  .str-chat__channel-list-empty {
17
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 136);
17
18
  @include utils.empty-layout;
18
19
  }
19
20
 
@@ -40,7 +41,6 @@
40
41
  }
41
42
  }
42
43
 
43
-
44
44
  .str-chat__channel-list-react {
45
45
  overflow: hidden;
46
46
 
@@ -52,4 +52,4 @@
52
52
  overflow-y: auto;
53
53
  }
54
54
  }
55
- }
55
+ }
@@ -68,8 +68,8 @@
68
68
  /* The text/icon color of the load more button in disabled state */
69
69
  --str-chat__channel-list-load-more-disabled-color: var(--str-chat__cta-button-disabled-color);
70
70
 
71
- /* The icon color for the empty list state */
72
- --str-chat__channel-list-empty-indicator-color: var(--str-chat__disabled-color);
71
+ /* The text/icon color for the empty list state */
72
+ --str-chat__channel-list-empty-indicator-color: var(--str-chat__text-low-emphasis-color);
73
73
  }
74
74
 
75
75
  .str-chat__channel-list {
@@ -82,6 +82,8 @@
82
82
  }
83
83
 
84
84
  .str-chat__channel-list-empty {
85
+ --str-chat-icon-color: var(--str-chat__channel-list-empty-indicator-color);
85
86
  @include utils.empty-theme('channel-list');
87
+ color: var(--str-chat__channel-list-empty-indicator-color);
86
88
  }
87
89
  }
@@ -60,6 +60,8 @@
60
60
  }
61
61
 
62
62
  .str-chat__channel-preview-messenger--status {
63
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 15);
64
+
63
65
  svg {
64
66
  width: calc(var(--str-chat__spacing-px) * 15);
65
67
  height: calc(var(--str-chat__spacing-px) * 15);
@@ -98,6 +98,7 @@
98
98
  }
99
99
 
100
100
  .str-chat__channel-preview-messenger--status {
101
+ --str-chat-icon-color: var(--str-chat__channel-preview-message-status-color);
101
102
  color: var(--str-chat__channel-preview-message-status-color);
102
103
 
103
104
  svg {
@@ -0,0 +1,87 @@
1
+ /* Only available in Angular v5+ */
2
+ .str-chat {
3
+ /* The height of the icon, only available in Angular v5+ */
4
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 24);
5
+ /* The width of the icon, only available in Angular v5+ */
6
+ --str-chat-icon-width: auto;
7
+ }
8
+
9
+ .str-chat__icon {
10
+ display: flex;
11
+ font-family: 'stream-chat-icons';
12
+ font-style: normal;
13
+ font-weight: normal;
14
+ font-size: var(--str-chat-icon-height);
15
+ line-height: var(--str-chat-icon-height);
16
+ height: var(--str-chat-icon-height);
17
+ width: var(--str-chat-icon-width);
18
+
19
+ &::before {
20
+ line-height: var(--str-chat-icon-height);
21
+ }
22
+ }
23
+
24
+ // File type icons
25
+ .str-chat__icon--unspecified-filetype {
26
+ content: url('data:image/svg+xml;base64,PHN2ZwogIGRhdGEtdGVzdGlkPSJ1bnNwZWNpZmllZC1maWxldHlwZSIKICB3aWR0aD0iMzQiCiAgaGVpZ2h0PSI0MCIKICB2aWV3Qm94PSIwIDAgMzQgNDAiCiAgZmlsbD0ibm9uZSIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCj4KICA8cGF0aAogICAgZD0iTTAgM0MwIDEuMzQzMTUgMS4zNDMxNSAwIDMgMEgyM0wzNCAxMVYzN0MzNCAzOC42NTY5IDMyLjY1NjkgNDAgMzEgNDBIM0MxLjM0MzE1IDQwIDAgMzguNjU2OSAwIDM3VjNaIgogICAgZmlsbD0idXJsKCNwYWludDBfbGluZWFyKSIKICAvPgogIDxwYXRoIGQ9Ik0zNCAxMUwyNiAxMUMyNC4zNDMxIDExIDIzIDkuNjU2ODUgMjMgOFYwTDM0IDExWiIgZmlsbD0iI0RCREJEQiIgLz4KICA8cGF0aAogICAgZmlsbC1ydWxlPSJldmVub2RkIgogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTggMTNIMjNWMTVIOFYxM1oiCiAgICBmaWxsPSIjQ0ZDRkNGIgogIC8+CiAgPHBhdGgKICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgIGQ9Ik04IDE3SDE4VjE5SDhWMTdaIgogICAgZmlsbD0iI0NGQ0ZDRiIKICAvPgogIDxwYXRoCiAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICBkPSJNOCAyMUgyM1YyM0g4VjIxWiIKICAgIGZpbGw9IiNDRkNGQ0YiCiAgLz4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICBpZD0icGFpbnQwX2xpbmVhciIKICAgICAgeDE9IjAiCiAgICAgIHkxPSIwIgogICAgICB4Mj0iMCIKICAgICAgeTI9IjQwIgogICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgID4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0id2hpdGUiIC8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0RCREJEQiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgo8L3N2Zz4=');
27
+ }
28
+
29
+ .str-chat__icon--audio-file {
30
+ content: url('data:image/svg+xml;base64,PHN2ZwogIGNsYXNzPSJyZnUtZmlsZS1hdWRpbyIKICBmaWxsPSJub25lIgogIHZpZXdCb3g9IjAgMCAzNCA0MCIKICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgaGVpZ2h0PSIyMCIKICB3aWR0aD0iMjAiCj4KICA8cGF0aAogICAgY2xpcC1ydWxlPSJldmVub2RkIgogICAgZD0iTTE3LjcxNjggMzMuMTcyQzE4LjIzNDggMzMuMTcyIDE4LjQyMzggMzMuNjU1IDE4LjQyMzggMzQuMThDMTguNDIzOCAzNC42NDIgMTguMjk3OCAzNS4xOTUgMTcuNzE2OCAzNS4xOTVDMTcuMTcwOCAzNS4xOTUgMTYuOTg4OCAzNC42NDIgMTYuOTg4OCAzNC4xNDVDMTYuOTg4OCAzMy42ODMgMTcuMTcwOCAzMy4xNzIgMTcuNzE2OCAzMy4xNzJaTTE5LjU3MTggMzEuMDAySDE4LjM4MThWMzIuNzU4OUgxOC4zNjc4QzE4LjEyMjggMzIuNDMgMTcuNzc5OCAzMi4yNjIgMTcuMzMxOCAzMi4yNjJDMTYuMzAyOCAzMi4yNjIgMTUuNzk4OCAzMy4xNTggMTUuNzk4OCAzNC4xMDNDMTUuNzk4OCAzNS4xMjUgMTYuMjgxOCAzNi4xMDQ5IDE3LjQyMjggMzYuMTA0OUMxNy44NDI4IDM2LjEwNDkgMTguMTkyOCAzNS45MjMgMTguNDIzOCAzNS41OEgxOC40Mzc4VjM2SDE5LjU3MThWMzEuMDAyWk0xMi43MDk1IDM0LjE4NzJDMTIuNzA5NSAzMy43MjUyIDEyLjg3NzUgMzMuMTcyMiAxMy40MzA1IDMzLjE3MjJDMTMuOTgzNSAzMy4xNzIyIDE0LjE1ODUgMzMuNzI1MiAxNC4xNTg1IDM0LjE4NzJDMTQuMTU4NSAzNC42NDkyIDEzLjk4MzUgMzUuMTk1MiAxMy40MzA1IDM1LjE5NTJDMTIuODc3NSAzNS4xOTUyIDEyLjcwOTUgMzQuNjQ5MiAxMi43MDk1IDM0LjE4NzJaTTExLjUxOTUgMzQuMTg3MkMxMS41MTk1IDM1LjI3OTIgMTIuMzAzNSAzNi4xMDUyIDEzLjQzMDUgMzYuMTA1MkMxNC41NTc1IDM2LjEwNTIgMTUuMzQ4NSAzNS4yNzkyIDE1LjM0ODUgMzQuMTg3MkMxNS4zNDg1IDMzLjA5NTIgMTQuNTU3NSAzMi4yNjIyIDEzLjQzMDUgMzIuMjYyMkMxMi4zMDM1IDMyLjI2MjIgMTEuNTE5NSAzMy4wOTUyIDExLjUxOTUgMzQuMTg3MlpNMjEuODM5IDMyLjM2NzFIMjIuNTc0VjMzLjEzNzFIMjEuODM5VjM0Ljc4OTFDMjEuODM5IDM1LjA3NjEgMjIuMDA3IDM1LjEzOTEgMjIuMjY2IDM1LjEzOTFDMjIuMzE0MiAzNS4xMzkxIDIyLjM2NCAzNS4xMzU3IDIyLjQxNDcgMzUuMTMyM0MyMi40NjcyIDM1LjEyODcgMjIuNTIwNiAzNS4xMjUxIDIyLjU3NCAzNS4xMjUxVjM2LjAwMDFDMjIuNDgxIDM2LjAwMzEgMjIuMzg4IDM2LjAwOTkgMjIuMjk1IDM2LjAxNjhDMjIuMTcxIDM2LjAyNTkgMjIuMDQ3IDM2LjAzNTEgMjEuOTIzIDM2LjAzNTFDMjAuOTA4IDM2LjAzNTEgMjAuNjQ5IDM1Ljc0MTEgMjAuNjQ5IDM0Ljc1NDFWMzMuMTM3MUgyMC4wNDdWMzIuMzY3MUgyMC42NDlWMzEuMjY4MUgyMS44MzlWMzIuMzY3MVoiCiAgICBmaWxsPSJ3aGl0ZSIKICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICA+PC9wYXRoPgogIDxwYXRoCiAgICBkPSJNMCAyOEgzNFYzN0MzNCAzOC42NTY5IDMyLjY1NjkgNDAgMzEgNDBIM0MxLjM0MzE1IDQwIDAgMzguNjU2OSAwIDM3VjI4WiIKICAgIGZpbGw9IiMyNzI3QjAiCiAgPjwvcGF0aD4KICA8cGF0aCBkPSJNMCAzQzAgMS4zNDMxNSAxLjM0MzE1IDAgMyAwSDIzTDM0IDExVjI4SDBWM1oiIGZpbGw9IiNGNUY1RjUiPjwvcGF0aD4KICA8cGF0aAogICAgZD0iTTM0IDExTDI2IDExQzI0LjM0MzEgMTEgMjMgOS42NTY4NSAyMyA4VjBMMzQgMTFaIgogICAgZmlsbD0iI0RCREJEQiIKICA+PC9wYXRoPgogIDxwYXRoCiAgICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICBkPSJNOC44NzkxMiAyMS45NDFIMTIuMjk4TDE2Ljk1MjEgMjQuNzQ5M0MxNy4wMzA3IDI0LjgxMzggMTcuMTI5MyAyNC44NDkgMTcuMjMxMSAyNC44NDlDMTcuNDczOCAyNC44NDg4IDE3LjY3MDUgMjQuNjUxOSAxNy42NzAzIDI0LjQwOTJWMTIuNDM5OUMxNy42NzA0IDEyLjMzODEgMTcuNjM1MiAxMi4yMzk2IDE3LjU3MDcgMTIuMTYwOUMxNy40MTY4IDExLjk3MzIgMTcuMTM5OCAxMS45NDU3IDE2Ljk1MjEgMTIuMDk5NkwxMi4yOTggMTQuOTA4SDguODc5MTJDOC4zOTM2IDE0LjkwOCA4IDE1LjMwMTYgOCAxNS43ODcxVjIxLjA2MTlDOCAyMS41NDc0IDguMzkzNiAyMS45NDEgOC44NzkxMiAyMS45NDFaTTEyLjkyNTggMTYuNjY2NEwxNS45MTIyIDE1LjIyMjRWMjEuNjI2OEwxMi45MjU4IDIwLjE4MjlIOS43NTgzVjE2LjY2NjRIMTIuOTI1OFpNMTkuODUxMSAxNi4zNTE3QzE5LjQ3NCAxNi40MDkyIDE5LjIzOTcgMTYuNjYzNyAxOS4zMjgzIDE2LjkxOTFMMTkuMzI2MiAxNi45MkMxOS41Mjk1IDE3LjQ5OTUgMTkuNjMwNSAxOC4wOTggMTkuNjI4NCAxOC42OTUzQzE5LjYzMDUgMTkuMjk3NSAxOS41MjM3IDE5LjkwMTQgMTkuMzE5NiAyMC40OTA5QzE5LjIyOSAyMC43NDYyIDE5LjQ2ODIgMjAuOTk5NiAxOS44NDc0IDIxLjA2QzE5LjkwMDggMjEuMDY4MyAxOS45NTQyIDIxLjA3MiAyMC4wMDc2IDIxLjA3MkMyMC4zMjU5IDIxLjA3MiAyMC42MTU2IDIwLjkyMzQgMjAuNjkyMiAyMC43MDU3QzIwLjkxOTQgMjAuMDQ1MSAyMS4wMzM3IDE5LjM3IDIxLjAzNzQgMTguNjk1M0MyMS4wMzQ5IDE4LjAyNTEgMjAuOTIxMSAxNy4zNTc1IDIwLjY5NTUgMTYuNzAzNUMyMC42MDUzIDE2LjQ0NzcgMjAuMjI5IDE2LjI5MDggMTkuODUxMSAxNi4zNTE3Wk0yMi4xNjA1IDE0LjYwMjhDMjIuNTI1MiAxNC41MTYzIDIyLjkyNTkgMTQuNjQ1NCAyMy4wNTUgMTQuODkzOEMyMy42ODkxIDE2LjExNTcgMjQgMTcuNDA0MiAyNCAxOC42OTIzQzI0LjAwMDQgMTkuOTg5NSAyMy42Nzk2IDIxLjI4MzkgMjMuMDUyMSAyMi41MTUzQzIyLjk1MDMgMjIuNzEyMyAyMi42NzYzIDIyLjgzNDQgMjIuMzgyOCAyMi44MzQ0QzIyLjMwNzEgMjIuODM0NCAyMi4yMzAxIDIyLjgyNjEgMjIuMTU0MyAyMi44MDkyQzIxLjc4NjMgMjIuNzI1MSAyMS41OTE0IDIyLjQ1MzYgMjEuNzE4NSAyMi4yMDc3QzIyLjI5ODggMjEuMDc2MSAyMi41OTIyIDE5Ljg4MzYgMjIuNTkzMSAxOC42OTE5QzIyLjU5MzEgMTcuNTA1NiAyMi4zMDU0IDE2LjMyMjIgMjEuNzI3NiAxNS4yMDI1QzIxLjYwMDEgMTQuOTU2MyAyMS43OTUgMTQuNjg2IDIyLjE2MDUgMTQuNjAyOFoiCiAgICBmaWxsPSIjMjcyN0IwIgogICAgZmlsbC1ydWxlPSJldmVub2RkIgogID48L3BhdGg+Cjwvc3ZnPg==');
31
+ }
32
+
33
+ // Copy icon mapping here
34
+ .str-chat__icon--action::before {
35
+ content: '\e800';
36
+ } /* '' */
37
+ .str-chat__icon--arrow-down::before {
38
+ content: '\e801';
39
+ } /* '' */
40
+ .str-chat__icon--arrow-left::before {
41
+ content: '\e802';
42
+ } /* '' */
43
+ .str-chat__icon--arrow-right::before {
44
+ content: '\e803';
45
+ } /* '' */
46
+ .str-chat__icon--close::before {
47
+ content: '\e804';
48
+ } /* '' */
49
+ .str-chat__icon--arrow-up::before {
50
+ content: '\e805';
51
+ } /* '' */
52
+ .str-chat__icon--chat-bubble::before {
53
+ content: '\e806';
54
+ } /* '' */
55
+ .str-chat__icon--pause::before {
56
+ content: '\e807';
57
+ } /* '' */
58
+ .str-chat__icon--download::before {
59
+ content: '\e808';
60
+ } /* '' */
61
+ .str-chat__icon--delivered::before {
62
+ content: '\e809';
63
+ } /* '' */
64
+ .str-chat__icon--play::before {
65
+ content: '\e80a';
66
+ } /* '' */
67
+ .str-chat__icon--reaction::before {
68
+ content: '\e80b';
69
+ } /* '' */
70
+ .str-chat__icon--error::before {
71
+ content: '\e80c';
72
+ } /* '' */
73
+ .str-chat__icon--read::before {
74
+ content: '\e80d';
75
+ } /* '' */
76
+ .str-chat__icon--retry::before {
77
+ content: '\e80e';
78
+ } /* '' */
79
+ .str-chat__icon--reply-in-thread::before {
80
+ content: '\e80f';
81
+ } /* '' */
82
+ .str-chat__icon--send::before {
83
+ content: '\e810';
84
+ } /* '' */
85
+ .str-chat__icon--attach::before {
86
+ content: '\e811';
87
+ } /* '' */
@@ -0,0 +1,13 @@
1
+ /* Only available in Angular v5+ */
2
+ .str-chat {
3
+ /* The color of the icon, only available in Angular v5+ */
4
+ --str-chat-icon-color: var(--str-chat__text-color);
5
+ }
6
+
7
+ .str-chat__icon {
8
+ color: var(--str-chat-icon-color);
9
+ }
10
+
11
+ .str-chat__icon--error {
12
+ --str-chat-icon-color: var(--str-chat__danger-color);
13
+ }
@@ -10,6 +10,7 @@
10
10
  height: 100%;
11
11
 
12
12
  .str-chat__image-carousel-stepper {
13
+ --str-chat-icon-height: calc(var(--str-chat__spacing-px) * 30);
13
14
  padding: var(--str-chat__spacing-2_5);
14
15
  border: none;
15
16
  cursor: pointer;
@@ -20,6 +20,7 @@
20
20
 
21
21
  .str-chat__image-carousel {
22
22
  .str-chat__image-carousel-stepper {
23
+ --str-chat-icon-color: var(--str-chat__image-carousel-stepper-color);
23
24
  cursor: pointer;
24
25
 
25
26
  svg path {
@@ -1,10 +1,19 @@
1
- // todo: this is a copy of src/styles/LoadingIndicator.scss - find a shared folder for it
1
+ .str-chat {
2
+ /* The size of the loading indicator, only available in Angular v5+ */
3
+ --str-chat__loading-indicator-size: calc(var(--str-chat__spacing-px) * 15);
4
+ }
5
+
2
6
  .str-chat__loading-indicator {
3
7
  display: flex;
4
8
  align-items: center;
5
9
  justify-content: center;
6
10
  animation: rotate 1s linear infinite;
7
11
 
12
+ svg {
13
+ width: var(--str-chat__loading-indicator-size);
14
+ height: var(--str-chat__loading-indicator-size);
15
+ }
16
+
8
17
  @-webkit-keyframes rotate {
9
18
  from {
10
19
  -webkit-transform: rotate(0deg);
@@ -1,11 +1,13 @@
1
+ .str-chat {
2
+ /* The color of the loading indicator */
3
+ --str-chat__loading-indicator-color: var(--str-chat__primary-color);
4
+ }
5
+
1
6
  .str-chat__loading-indicator {
2
7
  svg {
3
8
  linearGradient {
4
9
  stop:last-child {
5
- stop-color: var(
6
- --str-chat__loading-indicator-color,
7
- var(--str-chat__primary-color, #006cff)
8
- );
10
+ stop-color: var(--str-chat__loading-indicator-color);
9
11
  }
10
12
  }
11
13
  }