stream-chat-react 6.12.2 → 6.13.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 (123) hide show
  1. package/dist/browser.full-bundle.js +1780 -18800
  2. package/dist/browser.full-bundle.js.map +1 -1
  3. package/dist/browser.full-bundle.min.js +5 -5
  4. package/dist/browser.full-bundle.min.js.map +1 -1
  5. package/dist/components/Attachment/Audio.js +2 -2
  6. package/dist/components/AutoCompleteTextarea/Item.d.ts.map +1 -1
  7. package/dist/components/AutoCompleteTextarea/Item.js +1 -1
  8. package/dist/components/AutoCompleteTextarea/List.d.ts.map +1 -1
  9. package/dist/components/AutoCompleteTextarea/List.js +0 -1
  10. package/dist/components/AutoCompleteTextarea/Textarea.d.ts +7 -6
  11. package/dist/components/AutoCompleteTextarea/Textarea.d.ts.map +1 -1
  12. package/dist/components/AutoCompleteTextarea/Textarea.js +9 -22
  13. package/dist/components/Channel/Channel.d.ts.map +1 -1
  14. package/dist/components/Channel/Channel.js +10 -2
  15. package/dist/components/ChannelHeader/ChannelHeader.js +1 -1
  16. package/dist/components/ChannelList/ChannelListMessenger.d.ts.map +1 -1
  17. package/dist/components/ChannelList/ChannelListMessenger.js +1 -1
  18. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.d.ts.map +1 -1
  19. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +13 -1
  20. package/dist/components/ChannelPreview/ChannelPreviewMessenger.d.ts.map +1 -1
  21. package/dist/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
  22. package/dist/components/ChannelSearch/SearchResults.d.ts.map +1 -1
  23. package/dist/components/ChannelSearch/SearchResults.js +6 -6
  24. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts +3 -1
  25. package/dist/components/ChatAutoComplete/ChatAutoComplete.d.ts.map +1 -1
  26. package/dist/components/ChatAutoComplete/ChatAutoComplete.js +16 -14
  27. package/dist/components/ChatDown/ChatDown.d.ts.map +1 -1
  28. package/dist/components/ChatDown/ChatDown.js +2 -2
  29. package/dist/components/EmptyStateIndicator/EmptyStateIndicator.js +1 -1
  30. package/dist/components/Gallery/Gallery.d.ts.map +1 -1
  31. package/dist/components/Gallery/Gallery.js +5 -3
  32. package/dist/components/Gallery/Image.d.ts.map +1 -1
  33. package/dist/components/Gallery/Image.js +4 -2
  34. package/dist/components/Gallery/ModalWrapper.d.ts +3 -6
  35. package/dist/components/Gallery/ModalWrapper.d.ts.map +1 -1
  36. package/dist/components/Gallery/ModalWrapper.js +4 -7
  37. package/dist/components/Gallery/index.d.ts +0 -1
  38. package/dist/components/Gallery/index.d.ts.map +1 -1
  39. package/dist/components/Gallery/index.js +0 -1
  40. package/dist/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
  41. package/dist/components/LoadMore/LoadMoreButton.js +1 -1
  42. package/dist/components/Message/MessageOptions.d.ts.map +1 -1
  43. package/dist/components/Message/MessageOptions.js +4 -4
  44. package/dist/components/Message/MessageSimple.d.ts.map +1 -1
  45. package/dist/components/Message/MessageSimple.js +2 -0
  46. package/dist/components/Message/hooks/useUserRole.js +1 -1
  47. package/dist/components/MessageActions/MessageActions.d.ts.map +1 -1
  48. package/dist/components/MessageActions/MessageActions.js +2 -1
  49. package/dist/components/MessageActions/MessageActionsBox.d.ts +1 -1
  50. package/dist/components/MessageActions/MessageActionsBox.d.ts.map +1 -1
  51. package/dist/components/MessageActions/MessageActionsBox.js +12 -19
  52. package/dist/components/MessageInput/EditMessageForm.d.ts.map +1 -1
  53. package/dist/components/MessageInput/EditMessageForm.js +2 -2
  54. package/dist/components/MessageInput/MessageInput.d.ts +1 -1
  55. package/dist/components/MessageInput/MessageInput.d.ts.map +1 -1
  56. package/dist/components/MessageInput/MessageInputFlat.d.ts.map +1 -1
  57. package/dist/components/MessageInput/MessageInputFlat.js +4 -4
  58. package/dist/components/MessageInput/MessageInputSmall.d.ts.map +1 -1
  59. package/dist/components/MessageInput/MessageInputSmall.js +7 -5
  60. package/dist/components/MessageInput/QuotedMessagePreview.d.ts.map +1 -1
  61. package/dist/components/MessageInput/QuotedMessagePreview.js +4 -3
  62. package/dist/components/MessageInput/UploadsPreview.d.ts.map +1 -1
  63. package/dist/components/MessageInput/UploadsPreview.js +2 -1
  64. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts +2 -2
  65. package/dist/components/MessageInput/hooks/useEmojiPicker.d.ts.map +1 -1
  66. package/dist/components/MessageInput/hooks/useEmojiPicker.js +2 -0
  67. package/dist/components/MessageInput/hooks/useMessageInputState.js +1 -1
  68. package/dist/components/MessageInput/hooks/utils.js +1 -1
  69. package/dist/components/MessageInput/icons.js +1 -1
  70. package/dist/components/MessageInput/index.d.ts +1 -0
  71. package/dist/components/MessageInput/index.d.ts.map +1 -1
  72. package/dist/components/MessageInput/index.js +1 -0
  73. package/dist/components/MessageList/CustomNotification.d.ts.map +1 -1
  74. package/dist/components/MessageList/CustomNotification.js +1 -1
  75. package/dist/components/MessageList/MessageNotification.d.ts.map +1 -1
  76. package/dist/components/MessageList/MessageNotification.js +1 -1
  77. package/dist/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  78. package/dist/components/MessageList/VirtualizedMessageList.js +2 -6
  79. package/dist/components/Modal/Modal.d.ts.map +1 -1
  80. package/dist/components/Modal/Modal.js +8 -4
  81. package/dist/components/Reactions/ReactionSelector.d.ts.map +1 -1
  82. package/dist/components/Reactions/ReactionSelector.js +7 -6
  83. package/dist/components/Reactions/ReactionsList.d.ts.map +1 -1
  84. package/dist/components/Reactions/ReactionsList.js +5 -4
  85. package/dist/components/Reactions/SimpleReactionsList.d.ts.map +1 -1
  86. package/dist/components/Reactions/SimpleReactionsList.js +1 -1
  87. package/dist/components/SafeAnchor/SafeAnchor.d.ts.map +1 -1
  88. package/dist/components/SafeAnchor/SafeAnchor.js +1 -1
  89. package/dist/components/Thread/Thread.js +1 -1
  90. package/dist/components/Window/Window.d.ts +1 -1
  91. package/dist/components/Window/Window.d.ts.map +1 -1
  92. package/dist/components/Window/Window.js +1 -4
  93. package/dist/css/index.css +1 -1
  94. package/dist/index.cjs.js +206 -200
  95. package/dist/index.cjs.js.map +1 -1
  96. package/dist/scss/ChannelSearch.scss +3 -0
  97. package/dist/scss/Gallery.scss +6 -0
  98. package/dist/scss/LoadMoreButton.scss +1 -0
  99. package/dist/scss/Message.scss +19 -0
  100. package/dist/scss/MessageActions.scss +9 -0
  101. package/dist/scss/MessageInput.scss +11 -0
  102. package/dist/scss/MessageInputFlat.scss +15 -0
  103. package/dist/scss/MessageTeam.scss +8 -0
  104. package/dist/scss/Modal.scss +4 -0
  105. package/dist/scss/ReactionList.scss +7 -0
  106. package/dist/scss/ReactionSelector.scss +7 -0
  107. package/dist/scss/SendButton.scss +5 -0
  108. package/dist/scss/SmallMessageInput.scss +12 -0
  109. package/dist/scss/Thread.scss +24 -0
  110. package/dist/scss/_base.scss +4 -12
  111. package/dist/scss/_variables.scss +4 -1
  112. package/dist/scss/index.scss +1 -1
  113. package/dist/scss/vendor/react-file-utils.scss +2 -0
  114. package/dist/scss/vendor/react-image-gallery.scss +224 -0
  115. package/dist/utils.d.ts.map +1 -1
  116. package/dist/utils.js +24 -3
  117. package/dist/version.d.ts +1 -1
  118. package/dist/version.js +1 -1
  119. package/package.json +8 -5
  120. package/dist/components/Gallery/ModalImage.d.ts +0 -9
  121. package/dist/components/Gallery/ModalImage.d.ts.map +0 -1
  122. package/dist/components/Gallery/ModalImage.js +0 -6
  123. package/dist/scss/ModalImage.scss +0 -11
@@ -49,6 +49,9 @@
49
49
  height: 40px;
50
50
  cursor: pointer;
51
51
  padding-left: 8px;
52
+ width: 100%;
53
+ border: none;
54
+ background: transparent;
52
55
 
53
56
  &:hover {
54
57
  font-weight: var(--font-weight-bold);
@@ -11,6 +11,9 @@
11
11
  background: var(--white);
12
12
  margin-bottom: 1px;
13
13
  margin-right: 1px;
14
+ border: none;
15
+ padding: 0;
16
+ display: flex;
14
17
 
15
18
  &:hover {
16
19
  cursor: -moz-zoom-in;
@@ -61,10 +64,13 @@
61
64
  cursor: -moz-zoom-in;
62
65
  cursor: -webkit-zoom-in;
63
66
  cursor: zoom-in;
67
+ cursor: pointer;
68
+ border: none;
64
69
 
65
70
  p {
66
71
  position: relative;
67
72
  z-index: 1;
73
+ font-size: 16px;
68
74
  }
69
75
 
70
76
  &::after {
@@ -39,5 +39,6 @@
39
39
 
40
40
  .str-chat__load-more-button__button {
41
41
  display: flex;
42
+ align-items: center;
42
43
  justify-content: center;
43
44
  }
@@ -687,6 +687,9 @@
687
687
  align-items: center;
688
688
  height: 10px;
689
689
  cursor: pointer;
690
+ background-color: transparent;
691
+ border: none;
692
+ padding: 0;
690
693
 
691
694
  svg {
692
695
  fill: var(--black);
@@ -707,6 +710,13 @@
707
710
  &--options {
708
711
  position: relative;
709
712
  display: none;
713
+
714
+ > button {
715
+ cursor: pointer;
716
+ background-color: transparent;
717
+ border: none;
718
+ padding: 3px 0;
719
+ }
710
720
  }
711
721
 
712
722
  &--options.str-chat-angular__message-simple__actions__action--options--editing {
@@ -815,6 +825,11 @@
815
825
  &:hover {
816
826
  .str-chat__message-simple__actions__action--options {
817
827
  display: flex;
828
+
829
+ button {
830
+ display: flex;
831
+ align-items: center;
832
+ }
818
833
  }
819
834
 
820
835
  .str-chat__message-simple__actions__action--reactions {
@@ -1004,6 +1019,10 @@
1004
1019
  left: unset;
1005
1020
  right: 8px;
1006
1021
  bottom: 30px;
1022
+
1023
+ &-angular {
1024
+ margin-bottom: 3px;
1025
+ }
1007
1026
  }
1008
1027
  }
1009
1028
 
@@ -42,6 +42,10 @@
42
42
  font-size: var(--sm-font);
43
43
  color: var(--black);
44
44
  text-decoration: none;
45
+
46
+ &:focus {
47
+ outline: 5px auto -webkit-focus-ring-color;
48
+ }
45
49
  }
46
50
 
47
51
  .str-chat__message-actions-list button:hover {
@@ -100,4 +104,9 @@
100
104
 
101
105
  .str-chat__message-simple:focus-within .str-chat__message-simple__actions__action--options {
102
106
  display: flex;
107
+
108
+ button {
109
+ display: flex;
110
+ align-items: center;
111
+ }
103
112
  }
@@ -56,6 +56,10 @@
56
56
  .rfu-file-upload-button {
57
57
  right: 46px;
58
58
  top: calc(100% - 34px);
59
+
60
+ &:focus-within {
61
+ outline: 5px auto -webkit-focus-ring-color;
62
+ }
59
63
  }
60
64
 
61
65
  &-footer {
@@ -164,6 +168,13 @@
164
168
  font-size: var(--md-font);
165
169
  }
166
170
 
171
+ .rta__entity {
172
+ cursor: pointer;
173
+ width: 100%;
174
+ border: none;
175
+ background: transparent;
176
+ }
177
+
167
178
  .rta__entity--selected {
168
179
  background-color: var(--primary-color);
169
180
  color: var(--white);
@@ -13,6 +13,8 @@
13
13
  flex-direction: column;
14
14
  align-items: center;
15
15
  margin-bottom: var(--xs-m);
16
+ width: 100%;
17
+ position: relative;
16
18
 
17
19
  &-header {
18
20
  font-size: var(--md-font);
@@ -81,6 +83,15 @@
81
83
  }
82
84
  }
83
85
  }
86
+
87
+ .str-chat__message-attachment-card {
88
+ margin: 0;
89
+ min-height: unset;
90
+
91
+ .str-chat__message-attachment-card--content {
92
+ display: none;
93
+ }
94
+ }
84
95
  }
85
96
  }
86
97
 
@@ -126,6 +137,10 @@
126
137
  position: absolute;
127
138
  top: calc(100% - 45px);
128
139
  left: 25px;
140
+ border: none;
141
+ cursor: pointer;
142
+ padding: 0;
143
+ background-color: transparent;
129
144
 
130
145
  svg {
131
146
  fill: var(--black);
@@ -295,6 +295,10 @@
295
295
  display: flex;
296
296
  justify-content: space-between;
297
297
  padding: 10px 0 5px;
298
+
299
+ &-angular {
300
+ justify-content: end;
301
+ }
298
302
  }
299
303
 
300
304
  &--bottom,
@@ -456,6 +460,10 @@
456
460
  }
457
461
  }
458
462
  }
463
+
464
+ .str-chat-angular__message-list-host .str-chat__list {
465
+ padding: 0;
466
+ }
459
467
  }
460
468
 
461
469
  .str-chat {
@@ -32,6 +32,8 @@
32
32
  cursor: pointer;
33
33
  display: flex;
34
34
  align-items: center;
35
+ background-color: transparent;
36
+ border: none;
35
37
 
36
38
  svg {
37
39
  position: relative;
@@ -54,6 +56,8 @@
54
56
  position: relative;
55
57
  top: unset;
56
58
  right: unset;
59
+ padding: 0;
60
+ width: auto;
57
61
  }
58
62
  }
59
63
 
@@ -37,6 +37,13 @@
37
37
  justify-content: center;
38
38
  margin: -1px -16px 0 0;
39
39
  z-index: 888;
40
+
41
+ button {
42
+ cursor: pointer;
43
+ background-color: transparent;
44
+ border: none;
45
+ display: flex;
46
+ }
40
47
  }
41
48
 
42
49
  .emoji-mart-emoji {
@@ -93,6 +93,13 @@
93
93
  }
94
94
  }
95
95
 
96
+ button.str-chat__message-reactions-list-item {
97
+ background-color: transparent;
98
+ border: none;
99
+ padding: 0;
100
+ display: flex;
101
+ }
102
+
96
103
  .str-chat__reaction-selector {
97
104
  z-index: 999;
98
105
  height: 60px;
@@ -3,6 +3,11 @@
3
3
  border: 0;
4
4
  background: 0;
5
5
  outline: 0;
6
+
7
+ &:focus {
8
+ outline: 5px auto -webkit-focus-ring-color;
9
+ }
10
+
6
11
  @media screen and (min-width: 768px) {
7
12
  display: none;
8
13
  }
@@ -2,6 +2,7 @@
2
2
  display: flex;
3
3
  flex-wrap: wrap;
4
4
  margin: var(--xs-m);
5
+ padding: var(--xs-m);
5
6
  position: relative;
6
7
  z-index: 1000;
7
8
 
@@ -19,9 +20,20 @@
19
20
  width: 100%;
20
21
  }
21
22
 
23
+ &-fileupload {
24
+ cursor: pointer;
25
+ border: none;
26
+ padding: 0;
27
+ background-color: transparent;
28
+ }
29
+
22
30
  &-emojiselect {
23
31
  bottom: 10px;
24
32
  right: 6px;
33
+ cursor: pointer;
34
+ border: none;
35
+ padding: 0;
36
+ background-color: transparent;
25
37
  }
26
38
 
27
39
  .rfu-file-upload-button {
@@ -136,7 +136,15 @@
136
136
  padding-top: 0;
137
137
 
138
138
  &.str-chat__thread--full {
139
+ position: fixed;
140
+ top: 0;
141
+ right: 0;
142
+ height: 100vh;
143
+ background: var(--white);
144
+ z-index: 1000;
139
145
  margin: 0;
146
+ width: 100vw;
147
+ max-width: 100%;
140
148
  }
141
149
 
142
150
  .str-chat__gallery {
@@ -169,6 +177,10 @@
169
177
  // box-shadow: none;
170
178
  background: var(--white);
171
179
  box-shadow: 0 2px 9px 0 var(--border), 0 1px 0 0 var(--border);
180
+
181
+ .str-chat__square-button {
182
+ cursor: pointer;
183
+ }
172
184
  }
173
185
 
174
186
  &__thread-start {
@@ -253,6 +265,18 @@
253
265
  .str-chat__thread {
254
266
  background: transparent;
255
267
 
268
+ &--full {
269
+ position: fixed;
270
+ top: 0;
271
+ right: 0;
272
+ height: 100vh;
273
+ background: var(--white);
274
+ z-index: 1000;
275
+ margin: 0;
276
+ width: 100vw;
277
+ max-width: 100%;
278
+ }
279
+
256
280
  &-header {
257
281
  background: var(--white30);
258
282
  }
@@ -1,5 +1,3 @@
1
- @import url('https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400,400i,700,700i');
2
-
3
1
  .str-chat {
4
2
  box-sizing: border-box;
5
3
 
@@ -15,16 +13,6 @@
15
13
  clear: both;
16
14
  }
17
15
 
18
- // button {
19
- // cursor: pointer;
20
- // background-color: transparent;
21
- // border: none;
22
- // padding: 0;
23
- // display: flex;
24
- // align-items: center;
25
- // width: auto;
26
- // }
27
-
28
16
  .messenger-chat {
29
17
  &.str-chat {
30
18
  display: flex;
@@ -143,6 +131,10 @@ $emoji-flag-unicode-range: U+1F1E6-1F1FF;
143
131
  display: flex;
144
132
  flex-direction: column;
145
133
  flex: 1;
134
+
135
+ &--hideOnThread {
136
+ display: none;
137
+ }
146
138
  }
147
139
 
148
140
  .rfu-dropzone {
@@ -1,5 +1,8 @@
1
1
  /* fonts */
2
- $main-font: 'IBM Plex Sans', sans-serif;
2
+ /* https://systemfontstack.com/ */
3
+ $system-stack-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu,
4
+ Cantarell, 'Helvetica Neue', sans-serif;
5
+ $main-font: #{$system-stack-font};
3
6
  $second-font: 'Helvetica Neue', Helvetica, Arial, sans-serif;
4
7
 
5
8
  $base-font-weight: 400;
@@ -6,6 +6,7 @@
6
6
  @import './vendor/emoji-mart.scss'; // copy from '../../node_modules/emoji-mart/css/emoji-mart.css'
7
7
  @import './vendor/mml-react.scss'; // copy from '../../node_modules/mml-react/dist/styles/index.css'
8
8
  @import './vendor/react-file-utils.scss'; // copy from '../../node_modules/react-file-utils/dist/index.css'
9
+ @import './vendor/react-image-gallery.scss'; // copy from '../../node_modules/react-image-gallery/styles/css/image-gallery.css'
9
10
 
10
11
  // Components
11
12
  @import './ActionsBox.scss';
@@ -38,7 +39,6 @@
38
39
  @import './MessageLivestream.scss';
39
40
  @import './MessageRepliesCountButton.scss';
40
41
  @import './Modal.scss';
41
- @import './ModalImage.scss';
42
42
  @import './ReactionList.scss';
43
43
  @import './ReactionSelector.scss';
44
44
  @import './SendButton.scss';
@@ -139,6 +139,8 @@
139
139
  -webkit-box-pack: center;
140
140
  -ms-flex-pack: center;
141
141
  justify-content: center;
142
+ border: none;
143
+ background: transparent;
142
144
  }
143
145
  .rfu-icon-button svg {
144
146
  margin: 4px;
@@ -0,0 +1,224 @@
1
+ $ig-small-screen: 768px !default;
2
+ $ig-xsmall-screen: 480px !default;
3
+ $ig-white: #fff !default;
4
+ $ig-black: #000 !default;
5
+ $ig-blue: #337ab7 !default;
6
+ $ig-background-black: rgba(0, 0, 0, 0.4) !default;
7
+ $ig-transparent: rgba(0, 0, 0, 0) !default;
8
+ $ig-shadow: 0 2px 2px lighten($ig-black, 10%);
9
+
10
+ @mixin vendor-prefix($name, $value) {
11
+ @each $vendor in ('-webkit-', '-moz-', '-ms-', '-o-', '') {
12
+ #{$vendor}#{$name}: #{$value};
13
+ }
14
+ }
15
+
16
+ // SVG ICON STYLES
17
+ .image-gallery-icon {
18
+ color: $ig-white;
19
+ transition: all 0.3s ease-out;
20
+ appearance: none;
21
+ background-color: transparent;
22
+ border: 0;
23
+ cursor: pointer;
24
+ outline: none;
25
+ position: absolute;
26
+ z-index: 4;
27
+ filter: drop-shadow($ig-shadow);
28
+
29
+ @media (hover: hover) and (pointer: fine) {
30
+ &:hover {
31
+ color: $ig-blue;
32
+ .image-gallery-svg {
33
+ transform: scale(1.1);
34
+ }
35
+ }
36
+ }
37
+
38
+ &:focus {
39
+ // a11y support
40
+ outline: 2px solid $ig-blue;
41
+ }
42
+ }
43
+
44
+ .image-gallery-using-mouse {
45
+ .image-gallery-icon {
46
+ &:focus {
47
+ outline: none;
48
+ }
49
+ }
50
+ }
51
+
52
+ .image-gallery-fullscreen-button {
53
+ bottom: 0;
54
+ padding: 20px;
55
+
56
+ .image-gallery-svg {
57
+ height: 28px;
58
+ width: 28px;
59
+ }
60
+
61
+ @media (max-width: $ig-small-screen) {
62
+ padding: 15px;
63
+
64
+ .image-gallery-svg {
65
+ height: 24px;
66
+ width: 24px;
67
+ }
68
+ }
69
+
70
+ @media (max-width: $ig-xsmall-screen) {
71
+ padding: 10px;
72
+
73
+ .image-gallery-svg {
74
+ height: 16px;
75
+ width: 16px;
76
+ }
77
+ }
78
+ }
79
+
80
+ .image-gallery-fullscreen-button {
81
+ right: 0;
82
+ }
83
+
84
+ .image-gallery-left-nav,
85
+ .image-gallery-right-nav {
86
+ padding: 50px 10px;
87
+ top: 50%;
88
+ transform: translateY(-50%);
89
+
90
+ .image-gallery-svg {
91
+ height: 120px;
92
+ width: 60px;
93
+ }
94
+
95
+ @media (max-width: $ig-small-screen) {
96
+ .image-gallery-svg {
97
+ height: 72px;
98
+ width: 36px;
99
+ }
100
+ }
101
+
102
+ @media (max-width: $ig-xsmall-screen) {
103
+ .image-gallery-svg {
104
+ height: 48px;
105
+ width: 24px;
106
+ }
107
+ }
108
+
109
+ &[disabled] {
110
+ cursor: disabled;
111
+ opacity: 0.6;
112
+ pointer-events: none;
113
+ }
114
+ }
115
+
116
+ .image-gallery-left-nav {
117
+ left: 0;
118
+ }
119
+
120
+ .image-gallery-right-nav {
121
+ right: 0;
122
+ }
123
+ // End of Icon styles
124
+
125
+ .image-gallery {
126
+ @include vendor-prefix('user-select', none);
127
+ -webkit-tap-highlight-color: $ig-transparent;
128
+ position: relative;
129
+
130
+ &.fullscreen-modal {
131
+ background: $ig-black;
132
+ bottom: 0;
133
+ height: 100%;
134
+ left: 0;
135
+ position: fixed;
136
+ right: 0;
137
+ top: 0;
138
+ width: 100%;
139
+ z-index: 5;
140
+
141
+ .image-gallery-content {
142
+ top: 50%;
143
+ transform: translateY(-50%);
144
+ }
145
+ }
146
+ }
147
+
148
+ .image-gallery-content {
149
+ position: relative;
150
+ line-height: 0;
151
+ top: 0;
152
+
153
+ &.fullscreen {
154
+ background: $ig-black;
155
+ }
156
+
157
+ .image-gallery-slide .image-gallery-image {
158
+ max-height: calc(100vh - 80px); // 80 px for the thumbnail space
159
+ }
160
+
161
+ &.left,
162
+ &.right {
163
+ .image-gallery-slide .image-gallery-image {
164
+ max-height: 100vh;
165
+ }
166
+ }
167
+ }
168
+
169
+ .image-gallery-slide-wrapper {
170
+ position: relative;
171
+
172
+ &.left,
173
+ &.right {
174
+ display: inline-block;
175
+ width: calc(100% - 110px); // 100px + 10px for margin
176
+
177
+ @media (max-width: $ig-small-screen) {
178
+ width: calc(100% - 87px); // 81px + 6px for margin
179
+ }
180
+ }
181
+ &.image-gallery-rtl {
182
+ direction: rtl;
183
+ }
184
+ }
185
+
186
+ .image-gallery-slides {
187
+ line-height: 0;
188
+ overflow: hidden;
189
+ position: relative;
190
+ white-space: nowrap;
191
+ text-align: center;
192
+ }
193
+
194
+ .image-gallery-slide {
195
+ left: 0;
196
+ position: absolute;
197
+ top: 0;
198
+ width: 100%;
199
+
200
+ &.center {
201
+ position: relative;
202
+ }
203
+
204
+ .image-gallery-image {
205
+ width: 100%;
206
+ object-fit: contain;
207
+ }
208
+ }
209
+
210
+ .image-gallery-index {
211
+ background: $ig-background-black;
212
+ color: $ig-white;
213
+ line-height: 1;
214
+ padding: 10px 20px;
215
+ position: absolute;
216
+ right: 0;
217
+ top: 0;
218
+ z-index: 4;
219
+
220
+ @media (max-width: $ig-small-screen) {
221
+ font-size: 0.8em;
222
+ padding: 5px 10px;
223
+ }
224
+ }
@@ -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,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,YAAY,wCAOxB,CAAC;AAoBF,eAAO,MAAM,kBAAkB,YAAa,MAAM,sBAajD,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,MAAM,qBAIhD,CAAC;AAOF,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAA;CAwBtE,CAAC;AAEF,eAAO,MAAM,mBAAmB,gDAe/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,4LAiClC,CAAC;AAEF,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"}
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;AAoBF,eAAO,MAAM,kBAAkB,YAAa,MAAM,sBAajD,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,MAAM,qBAIhD,CAAC;AAyBF,eAAO,MAAM,iBAAiB,EAAE;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAA;CAwBtE,CAAC;AAEF,eAAO,MAAM,mBAAmB,gDAe/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,4LAiClC,CAAC;AAEF,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,uBAiE3B,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
@@ -58,6 +58,23 @@ export var messageCodeBlocks = function (message) {
58
58
  var matches = message.match(codeRegex);
59
59
  return matches || [];
60
60
  };
61
+ var detectHttp = /(http(s?):\/\/)?(www\.)?/;
62
+ function formatUrlForDisplay(url) {
63
+ try {
64
+ return decodeURIComponent(url).replace(detectHttp, '');
65
+ }
66
+ catch (e) {
67
+ return url;
68
+ }
69
+ }
70
+ function encodeDecode(url) {
71
+ try {
72
+ return encodeURI(decodeURIComponent(url));
73
+ }
74
+ catch (error) {
75
+ return url;
76
+ }
77
+ }
61
78
  export var markDownRenderers = {
62
79
  // eslint-disable-next-line react/display-name
63
80
  link: function (props) {
@@ -122,7 +139,6 @@ export var renderText = function (text, mentioned_users, options) {
122
139
  var newText = text;
123
140
  var markdownLinks = matchMarkdownLinks(newText);
124
141
  var codeBlocks = messageCodeBlocks(newText);
125
- var detectHttp = /(http(s?):\/\/)?(www\.)?/;
126
142
  // extract all valid links/emails within text and replace it with proper markup
127
143
  uniqBy(linkify.find(newText), 'value').forEach(function (_a) {
128
144
  var href = _a.href, type = _a.type, value = _a.value;
@@ -138,8 +154,13 @@ export var renderText = function (text, mentioned_users, options) {
138
154
  });
139
155
  if (noParsingNeeded.length > 0 || linkIsInBlock)
140
156
  return;
141
- var displayLink = type === 'email' ? value : value.replace(detectHttp, '');
142
- newText = newText.replace(new RegExp(escapeRegExp(value), 'g'), "[" + displayLink + "](" + encodeURI(decodeURI(href)) + ")");
157
+ try {
158
+ var displayLink = type === 'email' ? value : formatUrlForDisplay(href);
159
+ newText = newText.replace(new RegExp(escapeRegExp(value), 'g'), "[" + displayLink + "](" + encodeDecode(href) + ")");
160
+ }
161
+ catch (e) {
162
+ void e;
163
+ }
143
164
  });
144
165
  var plugins = [emojiMarkdownPlugin];
145
166
  if (mentioned_users === null || mentioned_users === void 0 ? void 0 : mentioned_users.length) {
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "6.12.2";
1
+ export declare const version = "6.13.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export var version = '6.12.2';
1
+ export var version = '6.13.0';