stream-chat-react 6.7.0 → 6.9.0

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 (104) hide show
  1. package/README.md +1 -1
  2. package/dist/browser.full-bundle.js +3989 -1360
  3. package/dist/browser.full-bundle.js.map +1 -1
  4. package/dist/browser.full-bundle.min.js +10 -3
  5. package/dist/browser.full-bundle.min.js.map +1 -1
  6. package/dist/components/AutoCompleteTextarea/Textarea.js +1 -1
  7. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  8. package/dist/components/Avatar/Avatar.js +3 -1
  9. package/dist/components/Channel/Channel.d.ts +4 -0
  10. package/dist/components/Channel/Channel.d.ts.map +1 -1
  11. package/dist/components/Channel/Channel.js +69 -94
  12. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts +15 -0
  13. package/dist/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +1 -0
  14. package/dist/components/Channel/hooks/useCreateChannelStateContext.js +87 -0
  15. package/dist/components/Channel/hooks/useCreateTypingContext.d.ts +4 -0
  16. package/dist/components/Channel/hooks/useCreateTypingContext.d.ts.map +1 -0
  17. package/dist/components/Channel/hooks/useCreateTypingContext.js +9 -0
  18. package/dist/components/ChannelList/ChannelList.d.ts +3 -3
  19. package/dist/components/ChannelList/ChannelList.d.ts.map +1 -1
  20. package/dist/components/ChannelList/ChannelList.js +3 -3
  21. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts +1 -1
  22. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.d.ts.map +1 -1
  23. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +3 -2
  24. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts +1 -1
  25. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.d.ts.map +1 -1
  26. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +4 -6
  27. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts +0 -1
  28. package/dist/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  29. package/dist/components/ChannelList/hooks/usePaginatedChannels.js +7 -15
  30. package/dist/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  31. package/dist/components/ChannelPreview/ChannelPreview.js +10 -0
  32. package/dist/components/Chat/Chat.d.ts.map +1 -1
  33. package/dist/components/Chat/Chat.js +14 -12
  34. package/dist/components/Chat/hooks/useChat.js +1 -1
  35. package/dist/components/Chat/hooks/useCreateChatContext.d.ts +4 -0
  36. package/dist/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -0
  37. package/dist/components/Chat/hooks/useCreateChatContext.js +21 -0
  38. package/dist/components/Message/hooks/useReactionHandler.d.ts +1 -1
  39. package/dist/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
  40. package/dist/components/Message/hooks/useReactionHandler.js +1 -5
  41. package/dist/components/MessageInput/DefaultTriggerProvider.d.ts.map +1 -1
  42. package/dist/components/MessageInput/DefaultTriggerProvider.js +1 -0
  43. package/dist/components/MessageInput/MessageInput.d.ts +3 -1
  44. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  45. package/dist/components/MessageInput/MessageInput.js +2 -1
  46. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts +4 -0
  47. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.d.ts.map +1 -0
  48. package/dist/components/MessageInput/hooks/useCreateMessageInputContext.js +88 -0
  49. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts +1 -0
  50. package/dist/components/MessageInput/hooks/useMessageInputState.d.ts.map +1 -1
  51. package/dist/components/MessageInput/hooks/useMessageInputState.js +6 -1
  52. package/dist/components/MessageInput/hooks/useMessageInputText.js +1 -1
  53. package/dist/components/MessageInput/hooks/useSubmitHandler.d.ts.map +1 -1
  54. package/dist/components/MessageInput/hooks/useSubmitHandler.js +2 -1
  55. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts +1 -0
  56. package/dist/components/MessageInput/hooks/useUserTrigger.d.ts.map +1 -1
  57. package/dist/components/MessageInput/hooks/useUserTrigger.js +19 -13
  58. package/dist/components/MessageInput/hooks/utils.d.ts +15 -0
  59. package/dist/components/MessageInput/hooks/utils.d.ts.map +1 -0
  60. package/dist/components/MessageInput/hooks/utils.js +114 -0
  61. package/dist/components/MessageList/VirtualizedMessageList.d.ts +4 -2
  62. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  63. package/dist/components/MessageList/VirtualizedMessageList.js +2 -2
  64. package/dist/css/index.css +1 -7329
  65. package/dist/index.cjs.js +449 -175
  66. package/dist/index.cjs.js.map +1 -1
  67. package/dist/scss/ActionsBox.scss +2 -0
  68. package/dist/scss/Attachment.scss +4 -0
  69. package/dist/scss/AttachmentActions.scss +1 -0
  70. package/dist/scss/Audio.scss +2 -0
  71. package/dist/scss/Avatar.scss +2 -0
  72. package/dist/scss/Card.scss +6 -2
  73. package/dist/scss/ChannelHeader.scss +22 -3
  74. package/dist/scss/ChannelList.scss +5 -6
  75. package/dist/scss/ChannelSearch.scss +2 -4
  76. package/dist/scss/ChatDown.scss +1 -0
  77. package/dist/scss/DateSeparator.scss +3 -0
  78. package/dist/scss/EditMessageForm.scss +4 -0
  79. package/dist/scss/EventComponent.scss +4 -0
  80. package/dist/scss/Gallery.scss +7 -1
  81. package/dist/scss/LoadMoreButton.scss +1 -0
  82. package/dist/scss/Message.scss +78 -2
  83. package/dist/scss/MessageInput.scss +3 -0
  84. package/dist/scss/MessageInputFlat.scss +8 -1
  85. package/dist/scss/MessageList.scss +10 -0
  86. package/dist/scss/MessageRepliesCountButton.scss +1 -0
  87. package/dist/scss/MessageTeam.scss +3 -7
  88. package/dist/scss/Modal.scss +3 -0
  89. package/dist/scss/ReactionList.scss +18 -18
  90. package/dist/scss/ReactionSelector.scss +4 -0
  91. package/dist/scss/SimpleReactionsList.scss +2 -1
  92. package/dist/scss/Thread.scss +19 -0
  93. package/dist/scss/TypingIndicator.scss +7 -0
  94. package/dist/scss/VirtualMessage.scss +8 -7
  95. package/dist/scss/_base.scss +17 -2
  96. package/dist/utils.d.ts +2 -2
  97. package/dist/utils.d.ts.map +1 -1
  98. package/dist/utils.js +22 -15
  99. package/dist/version.d.ts +1 -1
  100. package/dist/version.js +1 -1
  101. package/package.json +10 -29
  102. package/CHANGELOG.md +0 -1534
  103. package/dist/css/index.js +0 -1
  104. package/dist/css/index.min.css +0 -1
@@ -16,6 +16,17 @@
16
16
  .str-chat__message,
17
17
  .str-chat__message-commerce {
18
18
  .str-chat__reaction-list {
19
+ @extend %background-reaction-list;
20
+
21
+ position: absolute;
22
+ right: 15px;
23
+ top: -28px;
24
+ z-index: 1;
25
+ height: 33px;
26
+ width: initial;
27
+ background-position: 0 -66px;
28
+ background-repeat: repeat-x;
29
+
19
30
  ul {
20
31
  position: relative;
21
32
  list-style-type: none;
@@ -28,28 +39,15 @@
28
39
  z-index: 888;
29
40
  }
30
41
 
31
- position: absolute;
32
- right: 15px;
33
- top: -28px;
34
- z-index: 1;
35
-
36
- @extend %background-reaction-list;
37
-
38
- height: 33px;
39
- width: initial;
40
- background-position: 0 -66px;
41
- background-repeat: repeat-x;
42
-
43
42
  .emoji-mart-emoji {
44
43
  display: flex;
45
44
  }
46
45
 
47
46
  &::after,
48
47
  &::before {
49
- position: absolute;
50
-
51
48
  @extend %background-reaction-list;
52
49
 
50
+ position: absolute;
53
51
  content: '';
54
52
  top: 0;
55
53
  height: 33px;
@@ -68,14 +66,14 @@
68
66
  }
69
67
 
70
68
  &--reverse {
71
- ul {
72
- margin: -1px -4px 0 -16px;
73
- }
74
-
75
69
  right: initial;
76
70
  left: 15px;
77
71
  position: absolute;
78
72
 
73
+ ul {
74
+ margin: -1px -4px 0 -16px;
75
+ }
76
+
79
77
  &::after {
80
78
  right: -13px;
81
79
  width: 13px;
@@ -111,6 +109,7 @@
111
109
  left: 46px;
112
110
  }
113
111
  }
112
+
114
113
  .str-chat__reaction-list {
115
114
  right: initial;
116
115
  left: 16px;
@@ -162,6 +161,7 @@
162
161
  right: 46px;
163
162
  }
164
163
  }
164
+
165
165
  &--right {
166
166
  .str-chat__message-commerce {
167
167
  &-inner {
@@ -10,6 +10,7 @@
10
10
  margin: 0 var(--xxs-m);
11
11
  position: relative;
12
12
  line-height: 0;
13
+
13
14
  button {
14
15
  padding: 0;
15
16
  }
@@ -182,15 +183,18 @@
182
183
  .str-chat__reaction-selector {
183
184
  right: unset;
184
185
  left: 0;
186
+
185
187
  &--reverse {
186
188
  right: 0;
187
189
  left: unset;
188
190
  }
189
191
  }
192
+
190
193
  &--me {
191
194
  .str-chat__reaction-selector {
192
195
  left: unset;
193
196
  right: 0;
197
+
194
198
  &--reverse {
195
199
  right: unset;
196
200
  left: 0;
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  &-item {
41
- margin: 0 0;
41
+ margin: 0;
42
42
  cursor: pointer;
43
43
 
44
44
  > span {
@@ -65,6 +65,7 @@
65
65
  .str-chat__simple-reactions-list {
66
66
  border: 1px solid var(--white10);
67
67
  border-radius: var(--border-radius-sm);
68
+
68
69
  &-item {
69
70
  &--last-number {
70
71
  color: var(--white);
@@ -138,9 +138,11 @@
138
138
  &.str-chat__thread--full {
139
139
  margin: 0;
140
140
  }
141
+
141
142
  .str-chat__gallery {
142
143
  justify-content: flex-end;
143
144
  border-radius: 0;
145
+
144
146
  &-image,
145
147
  &-placeholder {
146
148
  width: 100px;
@@ -148,26 +150,31 @@
148
150
  }
149
151
  }
150
152
  }
153
+
151
154
  &__thread-list {
152
155
  padding: var(--sm-p) var(--sm-p) 0 var(--sm-p);
153
156
 
154
157
  > .str-chat__list {
155
158
  background: transparent;
156
159
  padding: 0;
160
+
157
161
  .str-chat__list--thread {
158
162
  padding: 0;
159
163
  }
160
164
  }
161
165
  }
166
+
162
167
  &__thread-header {
163
168
  border: none;
164
169
  // box-shadow: none;
165
170
  background: var(--white);
166
171
  box-shadow: 0 2px 9px 0 var(--border), 0 1px 0 0 var(--border);
167
172
  }
173
+
168
174
  &__thread-start {
169
175
  margin-top: var(--md-m);
170
176
  }
177
+
171
178
  @media screen and (max-width: 960px) {
172
179
  &__thread {
173
180
  position: fixed;
@@ -182,18 +189,22 @@
182
189
  }
183
190
  }
184
191
  }
192
+
185
193
  &.dark {
186
194
  .str-chat__thread {
187
195
  background: var(--white5);
196
+
188
197
  &-header {
189
198
  background: var(--black80);
190
199
  box-shadow: 0 7px 9px 0 var(--black5), 0 1px 0 0 var(--black5);
191
200
  color: var(--white);
192
201
  }
202
+
193
203
  &-start {
194
204
  color: var(--white);
195
205
  }
196
206
  }
207
+
197
208
  @media screen and (max-width: 960px) {
198
209
  .str-chat__thread {
199
210
  background: var(--dark-grey);
@@ -209,6 +220,7 @@
209
220
  &__thread {
210
221
  background: var(--white);
211
222
  }
223
+
212
224
  @media screen and (max-width: 960px) {
213
225
  &__thread {
214
226
  position: fixed;
@@ -222,10 +234,12 @@
222
234
  max-width: 100%;
223
235
  }
224
236
  }
237
+
225
238
  &__thread-header {
226
239
  height: 80px;
227
240
  }
228
241
  }
242
+
229
243
  &.dark {
230
244
  .str-chat__thread {
231
245
  background: var(--dt-bg-team);
@@ -238,21 +252,26 @@
238
252
  .str-chat {
239
253
  .str-chat__thread {
240
254
  background: transparent;
255
+
241
256
  &-header {
242
257
  background: var(--white30);
243
258
  }
244
259
  }
260
+
245
261
  .str-chat__list--thread {
246
262
  padding: 0 var(--xs-p);
247
263
  }
264
+
248
265
  &.dark {
249
266
  .str-chat__thread {
250
267
  background: var(--dark-grey);
268
+
251
269
  &-header {
252
270
  background: var(--white5);
253
271
  box-shadow: 0 1px 1px 0 var(--black30);
254
272
  color: var(--white);
255
273
  }
274
+
256
275
  &-start {
257
276
  background: var(--black5);
258
277
  border-radius: var(--border-radius-sm);
@@ -2,18 +2,23 @@
2
2
  display: flex;
3
3
  visibility: hidden;
4
4
  align-items: center;
5
+
5
6
  &--typing {
6
7
  visibility: visible;
7
8
  }
9
+
8
10
  &__avatars {
9
11
  display: flex;
12
+
10
13
  .str-chat__avatar {
11
14
  margin-right: calc(var(--xs-m) * -1);
15
+
12
16
  &:last-of-type {
13
17
  margin-right: var(--xs-m);
14
18
  }
15
19
  }
16
20
  }
21
+
17
22
  &__dots {
18
23
  position: relative;
19
24
  background: var(--white);
@@ -21,6 +26,7 @@
21
26
  padding: var(--xxs-p) var(--xs-m);
22
27
  border-radius: var(--border-radius) var(--border-radius) var(--border-radius) 2px;
23
28
  }
29
+
24
30
  &__dot {
25
31
  display: inline-block;
26
32
  width: 6px;
@@ -49,6 +55,7 @@
49
55
  border-color: var(--dark-grey);
50
56
  }
51
57
  }
58
+
52
59
  &__dots {
53
60
  background: var(--white5);
54
61
  }
@@ -1,4 +1,7 @@
1
1
  .str-chat__virtual-list {
2
+ // this resolves the issue with 1px tall messages (i.e. deleted messages)
3
+ font-size: 0;
4
+
2
5
  .str-chat__virtual-list-message-wrapper {
3
6
  padding: 1px var(--xl-p);
4
7
  width: 100%;
@@ -7,7 +10,7 @@
7
10
  padding-bottom: var(--sm-p);
8
11
 
9
12
  &.str-chat__virtual-message__wrapper--first {
10
- padding-bottom: 0px;
13
+ padding-bottom: 0;
11
14
  padding-left: var(--xl-p);
12
15
 
13
16
  .str-chat__avatar,
@@ -37,7 +40,7 @@
37
40
 
38
41
  &.str-chat__virtual-message__wrapper--group {
39
42
  align-items: center;
40
- padding-bottom: 0px;
43
+ padding-bottom: 0;
41
44
  padding-left: var(--xl-p);
42
45
 
43
46
  &.str-chat__message-simple--me {
@@ -118,8 +121,6 @@
118
121
  }
119
122
  }
120
123
 
121
- // this resolves the issue with 1px tall messages (i.e. deleted messages)
122
- font-size: 0;
123
124
  .str-chat__message.str-chat__message--deleted {
124
125
  align-items: initial;
125
126
  margin: 0;
@@ -145,11 +146,11 @@
145
146
  background: ghostwhite;
146
147
  }
147
148
 
148
- & > .str-chat__avatar {
149
+ > .str-chat__avatar {
149
150
  margin: 0;
150
151
  }
151
152
 
152
- & > .str-chat__virtual-message__content {
153
+ > .str-chat__virtual-message__content {
153
154
  padding-left: 12px;
154
155
  }
155
156
 
@@ -249,7 +250,7 @@
249
250
  .str-chat__virtual-message__wrapper--group {
250
251
  padding-top: 0;
251
252
 
252
- & > .str-chat__avatar {
253
+ > .str-chat__avatar {
253
254
  display: none;
254
255
  }
255
256
 
@@ -50,18 +50,22 @@
50
50
  height: 100vh;
51
51
  font-family: var(--second-font);
52
52
  color: var(--black);
53
+
53
54
  &.messaging,
54
55
  &.commerce {
55
56
  background-color: var(--grey-gainsboro);
57
+
56
58
  &.dark {
57
59
  background-color: var(--dark-grey);
58
60
  }
59
61
  }
62
+
60
63
  &.team {
61
64
  &.dark {
62
65
  background: var(--dark-grey);
63
66
  }
64
67
  }
68
+
65
69
  &.livestream {
66
70
  &.dark {
67
71
  background: var(--dark-grey);
@@ -98,7 +102,7 @@ $emoji-flag-unicode-range: U+1F1E6-1F1FF;
98
102
  }
99
103
  }
100
104
 
101
- @-moz-document url-prefix() {
105
+ @-moz-document url-prefix('') {
102
106
  .str-chat--windows-flags {
103
107
  .str-chat__textarea__textarea,
104
108
  .str-chat__message-text-inner *,
@@ -116,9 +120,11 @@ $emoji-flag-unicode-range: U+1F1E6-1F1FF;
116
120
 
117
121
  .str-chat-channel {
118
122
  max-height: 100vh;
123
+
119
124
  .str-chat__container {
120
125
  height: 100%;
121
126
  display: flex;
127
+
122
128
  .str-chat__main-panel {
123
129
  height: 100%;
124
130
  width: 100%;
@@ -128,16 +134,19 @@ $emoji-flag-unicode-range: U+1F1E6-1F1FF;
128
134
  flex: 1;
129
135
  }
130
136
  }
137
+
131
138
  &.messaging {
132
139
  .str-chat__main-panel {
133
- padding: var(--sm-p) var(--xs-p) 0 0px;
140
+ padding: var(--sm-p) var(--xs-p) 0 0;
134
141
  }
142
+
135
143
  @media screen and (max-width: 960px) {
136
144
  .str-chat__main-panel {
137
145
  padding: var(--xxs-p) var(--xxs-p) 0;
138
146
  }
139
147
  }
140
148
  }
149
+
141
150
  &.team {
142
151
  .str-chat {
143
152
  &__container {
@@ -145,15 +154,18 @@ $emoji-flag-unicode-range: U+1F1E6-1F1FF;
145
154
  }
146
155
  }
147
156
  }
157
+
148
158
  &.commerce {
149
159
  .str-chat {
150
160
  &__main-panel {
151
161
  width: 100%;
152
162
  }
163
+
153
164
  &__container {
154
165
  background: var(--white95);
155
166
  }
156
167
  }
168
+
157
169
  &.dark {
158
170
  .str-chat__container {
159
171
  background: var(--dark-grey);
@@ -168,15 +180,18 @@ $emoji-flag-unicode-range: U+1F1E6-1F1FF;
168
180
  background: var(--dark-grey);
169
181
  border: var(--dark-grey);
170
182
  }
183
+
171
184
  .emoji-mart-category-label span {
172
185
  background: var(--dark-grey);
173
186
  color: var(--white);
174
187
  }
188
+
175
189
  .emoji-mart-search {
176
190
  input {
177
191
  background: var(--dark-grey);
178
192
  color: var(--white);
179
193
  }
194
+
180
195
  button svg {
181
196
  fill: var(--white);
182
197
  }
package/dist/utils.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { UserResponse } from 'stream-chat';
3
- import type { DefaultUserType, UnknownType } from './types/types';
3
+ import type { DefaultUserType } from './types/types';
4
4
  export declare const isOnlyEmojis: (text?: string | undefined) => boolean;
5
5
  export declare type MentionProps<Us extends DefaultUserType<Us> = DefaultUserType> = {
6
6
  mentioned_user: UserResponse<Us>;
@@ -13,5 +13,5 @@ export declare type RenderTextOptions = {
13
13
  export declare const renderText: <Us extends DefaultUserType<Us> = DefaultUserType<import("./types/types").DefaultUserTypeInternal>>(text?: string | undefined, mentioned_users?: UserResponse<Us>[] | undefined, options?: RenderTextOptions) => JSX.Element | null;
14
14
  export declare function escapeRegExp(text: string): string;
15
15
  export declare function generateRandomId(): string;
16
- export declare const smartRender: (ElementOrComponentOrLiteral: React.ComponentType, props?: UnknownType | undefined, fallback?: React.ComponentType<{}> | null | undefined) => JSX.Element;
16
+ export declare const getWholeChar: (str: string, i: number) => string;
17
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AASjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAElE,eAAO,MAAM,YAAY,wCAOxB,CAAC;AA4HF,oBAAY,YAAY,CAAC,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAAI;IAC3E,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;CAClC,CAAC;AAMF,oBAAY,iBAAiB,GAAG;IAC9B,uBAAuB,CAAC,EAAE;QACxB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;KACvC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,UAAU,6LAGZ,iBAAiB,uBA8D3B,CAAC;AAEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,UAExC;AAOD,wBAAgB,gBAAgB,WAG/B;AAED,eAAO,MAAM,WAAW,gCACO,MAAM,aAAa,wGA2BjD,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AASjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,YAAY,wCAOxB,CAAC;AA4HF,oBAAY,YAAY,CAAC,EAAE,SAAS,eAAe,CAAC,EAAE,CAAC,GAAG,eAAe,IAAI;IAC3E,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;CAClC,CAAC;AAMF,oBAAY,iBAAiB,GAAG;IAC9B,uBAAuB,CAAC,EAAE;QACxB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;KACvC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,UAAU,6LAGZ,iBAAiB,uBA8D3B,CAAC;AAEF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,UAExC;AAOD,wBAAgB,gBAAgB,WAG/B;AAGD,eAAO,MAAM,YAAY,QAAS,MAAM,KAAK,MAAM,WAgClD,CAAC"}
package/dist/utils.js CHANGED
@@ -161,22 +161,29 @@ export function generateRandomId() {
161
161
  // prettier-ignore
162
162
  return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
163
163
  }
164
- export var smartRender = function (ElementOrComponentOrLiteral, props, fallback) {
165
- if (ElementOrComponentOrLiteral === undefined && fallback) {
166
- ElementOrComponentOrLiteral = fallback;
164
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt#getting_whole_characters
165
+ export var getWholeChar = function (str, i) {
166
+ var code = str.charCodeAt(i);
167
+ if (Number.isNaN(code))
168
+ return '';
169
+ if (code < 0xd800 || code > 0xdfff)
170
+ return str.charAt(i);
171
+ if (0xd800 <= code && code <= 0xdbff) {
172
+ if (str.length <= i + 1) {
173
+ throw 'High surrogate without following low surrogate';
174
+ }
175
+ var next = str.charCodeAt(i + 1);
176
+ if (0xdc00 > next || next > 0xdfff) {
177
+ throw 'High surrogate without following low surrogate';
178
+ }
179
+ return str.charAt(i) + str.charAt(i + 1);
167
180
  }
168
- if (React.isValidElement(ElementOrComponentOrLiteral)) {
169
- // Flow cast through any, to make flow believe it's a React.Element
170
- var element = ElementOrComponentOrLiteral;
171
- return element;
181
+ if (i === 0) {
182
+ throw 'Low surrogate without preceding high surrogate';
172
183
  }
173
- // Flow cast through any to remove React.Element after previous check
174
- var ComponentOrLiteral = ElementOrComponentOrLiteral;
175
- if (typeof ComponentOrLiteral === 'string' ||
176
- typeof ComponentOrLiteral === 'number' ||
177
- typeof ComponentOrLiteral === 'boolean' ||
178
- ComponentOrLiteral == null) {
179
- return ComponentOrLiteral;
184
+ var prev = str.charCodeAt(i - 1);
185
+ if (0xd800 > prev || prev > 0xdbff) {
186
+ throw 'Low surrogate without preceding high surrogate';
180
187
  }
181
- return React.createElement(ComponentOrLiteral, __assign({}, props));
188
+ return '';
182
189
  };
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "6.7.0";
1
+ export declare const version = "6.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export var version = '6.7.0';
1
+ export var version = '6.9.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stream-chat-react",
3
- "version": "6.7.0",
3
+ "version": "6.9.0",
4
4
  "description": "React components to create chat conversations or livestream style chat",
5
5
  "author": "GetStream",
6
6
  "homepage": "https://getstream.io/chat/",
@@ -43,17 +43,19 @@
43
43
  "pretty-bytes": "^5.4.1",
44
44
  "prop-types": "^15.7.2",
45
45
  "react-fast-compare": "^3.2.0",
46
- "react-file-utils": "1.1.6",
46
+ "react-file-utils": "1.1.7",
47
47
  "react-images": "1.2.0-beta.7",
48
48
  "react-is": "^17.0.1",
49
49
  "react-markdown": "^5.0.3",
50
50
  "react-player": "^2.7.0",
51
51
  "react-textarea-autosize": "^8.3.0",
52
- "react-virtuoso": "^1.10.8",
52
+ "react-virtuoso": "^2.2.0",
53
+ "stream-chat-css": "1.0.0",
53
54
  "textarea-caret": "^3.1.0",
54
55
  "uuid": "^8.3.1"
55
56
  },
56
57
  "optionalDependencies": {
58
+ "@sindresorhus/transliterate": "^1.4.0",
57
59
  "mml-react": "^0.4.0"
58
60
  },
59
61
  "peerDependencies": {
@@ -133,8 +135,6 @@
133
135
  "husky": "^4.3.0",
134
136
  "jest": "^26.6.3",
135
137
  "moment": "^2.29.1",
136
- "node-sass": "^5.0.0",
137
- "node-sass-import": "^2.0.1",
138
138
  "postcss": "^8.1.10",
139
139
  "postcss-loader": "^4.1.0",
140
140
  "prettier": "^2.2.0",
@@ -143,23 +143,15 @@
143
143
  "react-test-renderer": "^17.0.1",
144
144
  "rollup": "^2.33.3",
145
145
  "rollup-plugin-commonjs": "^10.1.0",
146
- "rollup-plugin-copy": "^3.3.0",
147
- "rollup-plugin-copy-glob": "^0.3.1",
146
+ "rollup-plugin-copy": "^3.4.0",
148
147
  "rollup-plugin-insert": "^1.3.1",
149
148
  "rollup-plugin-node-globals": "^1.4.0",
150
149
  "rollup-plugin-peer-deps-external": "^2.2.4",
151
- "rollup-plugin-scss": "^2.6.1",
152
150
  "rollup-plugin-terser": "^7.0.2",
153
151
  "rollup-plugin-url": "^3.0.1",
154
152
  "rollup-plugin-visualizer": "^4.2.0",
155
- "sass": "^1.29.0",
156
- "sass-loader": "^10.1.0",
157
- "stream-chat": "4.0.0",
153
+ "stream-chat": "4.2.0",
158
154
  "style-loader": "^2.0.0",
159
- "stylelint": "^13.8.0",
160
- "stylelint-config-recommended-scss": "^4.2.0",
161
- "stylelint-config-standard": "^20.0.0",
162
- "stylelint-scss": "^3.18.0",
163
155
  "ts-jest": "^26.5.1",
164
156
  "tslib": "2.3.0",
165
157
  "typescript": "4.3.5",
@@ -176,34 +168,23 @@
176
168
  "scripts": {
177
169
  "analyze": "yarn build -- --stats && webpack-bundle-analyzer build/bundle-stats.json",
178
170
  "build": "rm -rf dist && mkdir -p dist/assets assets && yarn --silent copy-version && yarn build-translations && yarn types && yarn bundle",
179
- "build-styles": "sass src/styles/index.scss dist/css/index.css --style compressed",
180
171
  "bundle": "rollup -c",
181
172
  "bundle-size": "BUNDLE_SIZE=true yarn bundle",
182
173
  "build-translations": "rm -rf .tmpi18ncache || true && mkdir .tmpi18ncache && yarn run babel --config-file ./babel.i18next-extract.js --extensions '.ts','.tsx','.js','.jsx' 'src/**/*.{js,jsx,ts,tsx}' --out-dir '.tmpi18ncache/' && rm -rf .tmpi18ncache && prettier --write 'src/i18n/*.{js,jsx,ts,tsx,json}'",
183
174
  "copy-version": "echo '\u001b[34mℹ\u001b[0m Copying Version to \u001b[34msrc/version.ts\u001b[0m' && PACKAGE_VERSION=$(node -pe 'require(`./package.json`).version') && PACKAGE_STRING=\"'$PACKAGE_VERSION'\" && echo 'export const version = '$PACKAGE_STRING';' > src/version.ts && echo '\u001b[32m✓\u001b[0m Done Copying Version'",
184
175
  "coverage": "yarn test --collectCoverage && codecov",
185
176
  "eslint": "eslint '**/*.{js,md,ts,jsx,tsx}' --max-warnings 0",
186
- "lint": "prettier --list-different 'src/**/*.{js,ts,tsx,md,json}' .eslintrc.json .prettierrc babel.config.js && eslint 'src/**/*.{js,ts,tsx,md}' --max-warnings 0 && yarn validate-translations && yarn stylelint",
187
- "lint-fix": "prettier --write 'src/**/*.{js,ts,tsx,md,json}' .eslintrc.json .prettierrc babel.config.js && eslint --fix 'src/**/*.{js,ts,tsx,md}' --max-warnings 0 && yarn stylelint --fix",
177
+ "lint": "prettier --list-different 'src/**/*.{js,ts,tsx,md,json}' .eslintrc.json .prettierrc babel.config.js && eslint 'src/**/*.{js,ts,tsx,md}' --max-warnings 0 && yarn validate-translations",
178
+ "lint-fix": "prettier --write 'src/**/*.{js,ts,tsx,md,json}' .eslintrc.json .prettierrc babel.config.js && eslint --fix 'src/**/*.{js,ts,tsx,md}' --max-warnings 0",
188
179
  "prettier": "prettier --list-different '**/*.{js,ts,tsx,md,json}' .eslintrc.json .prettierrc babel.config.js",
189
180
  "prettier-fix": "prettier --write '**/*.{js,ts,tsx,md,json}' .eslintrc.json .prettierrc babel.config.js",
190
181
  "start": "tsc --watch",
191
- "stylelint": "stylelint '**/*.{css,scss}'",
192
182
  "postversion": "git push && git push --tags && npm publish",
193
183
  "prepare": "yarn run build",
194
184
  "preversion": "yarn install && yarn lint && yarn test",
195
185
  "test": "jest",
196
186
  "types": "tsc --strict",
197
- "validate-translations": "node scripts/validate-translations.js",
198
- "watch-styles": "sass --watch src/styles/index.scss dist/css/index.css"
199
- },
200
- "stylelint": {
201
- "extends": "stylelint-config-recommended-scss",
202
- "rules": {
203
- "no-descending-specificity": null,
204
- "no-duplicate-selectors": null,
205
- "block-no-empty": null
206
- }
187
+ "validate-translations": "node scripts/validate-translations.js"
207
188
  },
208
189
  "resolutions": {
209
190
  "ast-types": "^0.14.0"