stream-chat-react-native-core 4.0.0-beta.3 → 4.0.0-beta.4

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 (50) hide show
  1. package/lib/commonjs/components/Attachment/Giphy.js +109 -145
  2. package/lib/commonjs/components/Attachment/Giphy.js.map +1 -1
  3. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +9 -5
  4. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  5. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +144 -64
  6. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  7. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  8. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  9. package/lib/commonjs/contexts/themeContext/utils/theme.js +7 -6
  10. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  11. package/lib/commonjs/icons/index.js +0 -26
  12. package/lib/commonjs/icons/index.js.map +1 -1
  13. package/lib/commonjs/version.json +1 -1
  14. package/lib/module/components/Attachment/Giphy.js +109 -145
  15. package/lib/module/components/Attachment/Giphy.js.map +1 -1
  16. package/lib/module/components/Message/MessageSimple/MessageFooter.js +9 -5
  17. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  18. package/lib/module/components/Message/MessageSimple/utils/renderText.js +144 -64
  19. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  20. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +240 -0
  21. package/lib/module/components/Message/MessageSimple/utils/renderText.test.js.map +1 -0
  22. package/lib/module/contexts/themeContext/utils/theme.js +7 -6
  23. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  24. package/lib/module/icons/index.js +0 -26
  25. package/lib/module/icons/index.js.map +1 -1
  26. package/lib/module/version.json +1 -1
  27. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +15 -1
  28. package/lib/typescript/components/Message/MessageSimple/utils/renderText.test.d.ts +1 -0
  29. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +6 -5
  30. package/lib/typescript/icons/index.d.ts +0 -2
  31. package/package.json +1 -1
  32. package/src/components/Attachment/Giphy.tsx +64 -66
  33. package/src/components/Message/MessageSimple/MessageFooter.tsx +5 -5
  34. package/src/components/Message/MessageSimple/utils/renderText.test.tsx +70 -0
  35. package/src/components/Message/MessageSimple/utils/renderText.tsx +77 -47
  36. package/src/contexts/themeContext/utils/theme.ts +13 -11
  37. package/src/icons/index.ts +0 -2
  38. package/src/version.json +1 -1
  39. package/lib/commonjs/icons/Left.js +0 -38
  40. package/lib/commonjs/icons/Left.js.map +0 -1
  41. package/lib/commonjs/icons/Right.js +0 -38
  42. package/lib/commonjs/icons/Right.js.map +0 -1
  43. package/lib/module/icons/Left.js +0 -38
  44. package/lib/module/icons/Left.js.map +0 -1
  45. package/lib/module/icons/Right.js +0 -38
  46. package/lib/module/icons/Right.js.map +0 -1
  47. package/lib/typescript/icons/Left.d.ts +0 -3
  48. package/lib/typescript/icons/Right.d.ts +0 -3
  49. package/src/icons/Left.tsx +0 -12
  50. package/src/icons/Right.tsx +0 -12
@@ -17,37 +17,35 @@ var _MessagesContext = require("../../contexts/messagesContext/MessagesContext")
17
17
 
18
18
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
19
19
 
20
- var _Left = require("../../icons/Left");
20
+ var _icons = require("../../icons");
21
21
 
22
22
  var _Lightning = require("../../icons/Lightning");
23
23
 
24
- var _Right = require("../../icons/Right");
25
-
26
24
  var _utils = require("../../utils/utils");
27
25
 
28
26
  var _this = this,
29
27
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Attachment/Giphy.tsx";
30
28
 
31
29
  var styles = _reactNative.StyleSheet.create({
30
+ buttonContainer: {
31
+ alignItems: 'center',
32
+ borderTopWidth: 1,
33
+ flex: 1,
34
+ justifyContent: 'center'
35
+ },
32
36
  cancel: {
33
37
  fontSize: 14,
34
38
  fontWeight: '600',
35
39
  paddingVertical: 16
36
40
  },
37
- cancelContainer: {
38
- alignItems: 'center',
39
- borderRightWidth: 1,
40
- flex: 1,
41
- justifyContent: 'center'
42
- },
43
41
  container: {
44
42
  overflow: 'hidden',
45
- width: 256
43
+ width: 270
46
44
  },
47
45
  giphy: {
48
- borderTopLeftRadius: 8,
49
- borderTopRightRadius: 8,
50
- height: 140
46
+ borderRadius: 2,
47
+ height: 170,
48
+ width: 270
51
49
  },
52
50
  giphyContainer: {
53
51
  alignItems: 'center',
@@ -57,44 +55,51 @@ var styles = _reactNative.StyleSheet.create({
57
55
  justifyContent: 'center',
58
56
  width: 68
59
57
  },
58
+ giphyHeaderText: {
59
+ fontSize: 16,
60
+ fontWeight: '600'
61
+ },
62
+ giphyHeaderTitle: {
63
+ fontSize: 14
64
+ },
60
65
  giphyMask: {
61
66
  bottom: 8,
62
67
  left: 8,
63
68
  position: 'absolute'
64
69
  },
65
- giphyText: {
66
- fontSize: 11,
70
+ giphyMaskText: {
71
+ fontSize: 13,
67
72
  fontWeight: '600'
68
73
  },
74
+ header: {
75
+ alignItems: 'center',
76
+ display: 'flex',
77
+ flexDirection: 'row',
78
+ justifyContent: 'space-between',
79
+ padding: 8,
80
+ width: '60%'
81
+ },
69
82
  margin: {
70
- margin: 8
83
+ margin: 1
71
84
  },
72
85
  row: {
73
86
  flexDirection: 'row'
74
87
  },
75
88
  selectionContainer: {
76
- borderRadius: 8,
89
+ borderBottomLeftRadius: 8,
77
90
  borderWidth: 1,
78
91
  overflow: 'hidden',
79
- width: 250
80
- },
81
- selector: {
82
- alignItems: 'center',
83
- borderBottomWidth: 1,
84
- flexDirection: 'row',
85
- justifyContent: 'space-between',
86
- paddingBottom: 8,
87
- paddingHorizontal: 8
92
+ width: 272
88
93
  },
89
94
  send: {
90
95
  fontSize: 14,
91
96
  fontWeight: '600',
92
97
  paddingVertical: 16
93
98
  },
94
- sendContainer: {
95
- alignItems: 'center',
96
- flex: 1,
97
- justifyContent: 'center'
99
+ shuffle: {
100
+ fontSize: 14,
101
+ fontWeight: '600',
102
+ paddingVertical: 16
98
103
  },
99
104
  shuffleButton: {
100
105
  alignItems: 'center',
@@ -103,11 +108,6 @@ var styles = _reactNative.StyleSheet.create({
103
108
  height: 32,
104
109
  justifyContent: 'center',
105
110
  width: 32
106
- },
107
- title: {
108
- fontSize: 14,
109
- fontStyle: 'italic',
110
- fontWeight: '500'
111
111
  }
112
112
  });
113
113
 
@@ -130,24 +130,24 @@ var GiphyWithContext = function GiphyWithContext(props) {
130
130
  _useTheme$theme$color = _useTheme$theme.colors,
131
131
  accent_blue = _useTheme$theme$color.accent_blue,
132
132
  black = _useTheme$theme$color.black,
133
- border = _useTheme$theme$color.border,
134
133
  grey = _useTheme$theme$color.grey,
135
- overlay = _useTheme$theme$color.overlay,
134
+ grey_dark = _useTheme$theme$color.grey_dark,
135
+ grey_gainsboro = _useTheme$theme$color.grey_gainsboro,
136
136
  white = _useTheme$theme$color.white,
137
137
  _useTheme$theme$messa = _useTheme$theme.messageSimple.giphy,
138
+ buttonContainer = _useTheme$theme$messa.buttonContainer,
138
139
  cancel = _useTheme$theme$messa.cancel,
139
- cancelContainer = _useTheme$theme$messa.cancelContainer,
140
140
  container = _useTheme$theme$messa.container,
141
141
  giphy = _useTheme$theme$messa.giphy,
142
142
  giphyContainer = _useTheme$theme$messa.giphyContainer,
143
+ giphyHeaderText = _useTheme$theme$messa.giphyHeaderText,
144
+ giphyHeaderTitle = _useTheme$theme$messa.giphyHeaderTitle,
143
145
  giphyMask = _useTheme$theme$messa.giphyMask,
144
- giphyText = _useTheme$theme$messa.giphyText,
146
+ giphyMaskText = _useTheme$theme$messa.giphyMaskText,
147
+ header = _useTheme$theme$messa.header,
145
148
  selectionContainer = _useTheme$theme$messa.selectionContainer,
146
- selector = _useTheme$theme$messa.selector,
147
149
  send = _useTheme$theme$messa.send,
148
- sendContainer = _useTheme$theme$messa.sendContainer,
149
- shuffleButton = _useTheme$theme$messa.shuffleButton,
150
- titleStyle = _useTheme$theme$messa.title;
150
+ shuffle = _useTheme$theme$messa.shuffle;
151
151
 
152
152
  var uri = image_url || thumb_url;
153
153
  if (!uri) return null;
@@ -163,174 +163,138 @@ var GiphyWithContext = function GiphyWithContext(props) {
163
163
  columnNumber: 5
164
164
  }
165
165
  }, _react["default"].createElement(_reactNative.View, {
166
- style: styles.margin,
166
+ style: [styles.header, header],
167
167
  __self: _this,
168
168
  __source: {
169
169
  fileName: _jsxFileName,
170
170
  lineNumber: 178,
171
171
  columnNumber: 7
172
172
  }
173
- }, _react["default"].createElement(_reactNative.Image, {
174
- resizeMode: "cover",
175
- source: {
176
- uri: (0, _utils.makeImageCompatibleUrl)(uri)
177
- },
178
- style: [styles.giphy, giphy],
173
+ }, _react["default"].createElement(_icons.GiphyIcon, {
179
174
  __self: _this,
180
175
  __source: {
181
176
  fileName: _jsxFileName,
182
177
  lineNumber: 179,
183
178
  columnNumber: 9
184
179
  }
185
- }), _react["default"].createElement(_reactNative.View, {
186
- style: [styles.giphyMask, giphyMask],
180
+ }), _react["default"].createElement(_reactNative.Text, {
181
+ style: [styles.giphyHeaderText, giphyHeaderText],
187
182
  __self: _this,
188
183
  __source: {
189
184
  fileName: _jsxFileName,
190
- lineNumber: 184,
185
+ lineNumber: 180,
191
186
  columnNumber: 9
192
187
  }
193
- }, _react["default"].createElement(_reactNative.View, {
194
- style: [styles.giphyContainer, {
195
- backgroundColor: overlay
196
- }, giphyContainer],
188
+ }, "Giphy"), _react["default"].createElement(_reactNative.Text, {
189
+ style: [styles.giphyHeaderTitle, giphyHeaderTitle, {
190
+ color: grey_dark
191
+ }],
197
192
  __self: _this,
198
193
  __source: {
199
194
  fileName: _jsxFileName,
200
- lineNumber: 185,
201
- columnNumber: 11
195
+ lineNumber: 181,
196
+ columnNumber: 9
202
197
  }
203
- }, _react["default"].createElement(_Lightning.Lightning, {
204
- height: 16,
205
- pathFill: white,
206
- width: 16,
198
+ }, "/giphy " + title)), _react["default"].createElement(_reactNative.View, {
199
+ style: styles.margin,
207
200
  __self: _this,
208
201
  __source: {
209
202
  fileName: _jsxFileName,
210
- lineNumber: 186,
211
- columnNumber: 13
203
+ lineNumber: 185,
204
+ columnNumber: 7
212
205
  }
213
- }), _react["default"].createElement(_reactNative.Text, {
214
- style: [styles.giphyText, {
215
- color: white
216
- }, giphyText],
206
+ }, _react["default"].createElement(_reactNative.Image, {
207
+ resizeMode: "cover",
208
+ source: {
209
+ uri: (0, _utils.makeImageCompatibleUrl)(uri)
210
+ },
211
+ style: [styles.giphy, giphy],
217
212
  __self: _this,
218
213
  __source: {
219
214
  fileName: _jsxFileName,
220
- lineNumber: 187,
221
- columnNumber: 13
215
+ lineNumber: 186,
216
+ columnNumber: 9
222
217
  }
223
- }, type == null ? void 0 : type.toUpperCase())))), _react["default"].createElement(_reactNative.View, {
218
+ })), _react["default"].createElement(_reactNative.View, {
224
219
  __self: _this,
225
220
  __source: {
226
221
  fileName: _jsxFileName,
227
- lineNumber: 193,
222
+ lineNumber: 192,
228
223
  columnNumber: 7
229
224
  }
230
225
  }, _react["default"].createElement(_reactNative.View, {
231
- style: [styles.selector, {
232
- borderBottomColor: border
233
- }, selector],
226
+ style: styles.row,
234
227
  __self: _this,
235
228
  __source: {
236
229
  fileName: _jsxFileName,
237
- lineNumber: 194,
230
+ lineNumber: 193,
238
231
  columnNumber: 9
239
232
  }
240
233
  }, _react["default"].createElement(_reactNative.TouchableOpacity, {
241
234
  onPress: function onPress() {
242
- return handleAction('image_action', 'shuffle');
235
+ if (actions != null && actions[2].name && actions != null && actions[2].value && handleAction) {
236
+ handleAction(actions[2].name, actions[2].value);
237
+ }
243
238
  },
244
- style: [styles.shuffleButton, {
245
- borderColor: border
246
- }, shuffleButton],
239
+ style: [styles.buttonContainer, {
240
+ borderColor: grey_gainsboro,
241
+ borderRightWidth: 1
242
+ }, buttonContainer],
247
243
  __self: _this,
248
244
  __source: {
249
245
  fileName: _jsxFileName,
250
- lineNumber: 195,
246
+ lineNumber: 194,
251
247
  columnNumber: 11
252
248
  }
253
- }, _react["default"].createElement(_Left.Left, {
249
+ }, _react["default"].createElement(_reactNative.Text, {
250
+ style: [styles.cancel, {
251
+ color: grey
252
+ }, cancel],
254
253
  __self: _this,
255
254
  __source: {
256
255
  fileName: _jsxFileName,
257
- lineNumber: 199,
256
+ lineNumber: 206,
258
257
  columnNumber: 13
259
258
  }
260
- })), _react["default"].createElement(_reactNative.Text, {
261
- style: [styles.title, {
262
- color: black
263
- }, titleStyle],
264
- __self: _this,
265
- __source: {
266
- fileName: _jsxFileName,
267
- lineNumber: 201,
268
- columnNumber: 11
269
- }
270
- }, "\"" + title + "\""), _react["default"].createElement(_reactNative.TouchableOpacity, {
259
+ }, actions == null ? void 0 : actions[2].text)), _react["default"].createElement(_reactNative.TouchableOpacity, {
271
260
  onPress: function onPress() {
272
261
  if (actions != null && actions[1].name && actions != null && actions[1].value && handleAction) {
273
262
  handleAction(actions[1].name, actions[1].value);
274
263
  }
275
264
  },
276
- style: [styles.shuffleButton, shuffleButton],
277
- __self: _this,
278
- __source: {
279
- fileName: _jsxFileName,
280
- lineNumber: 202,
281
- columnNumber: 11
282
- }
283
- }, _react["default"].createElement(_Right.Right, {
284
- __self: _this,
285
- __source: {
286
- fileName: _jsxFileName,
287
- lineNumber: 210,
288
- columnNumber: 13
289
- }
290
- }))), _react["default"].createElement(_reactNative.View, {
291
- style: styles.row,
292
- __self: _this,
293
- __source: {
294
- fileName: _jsxFileName,
295
- lineNumber: 213,
296
- columnNumber: 9
297
- }
298
- }, _react["default"].createElement(_reactNative.TouchableOpacity, {
299
- onPress: function onPress() {
300
- if (actions != null && actions[2].name && actions != null && actions[2].value && handleAction) {
301
- handleAction(actions[2].name, actions[2].value);
302
- }
303
- },
304
- style: [styles.cancelContainer, {
305
- borderRightColor: border
306
- }, cancelContainer],
265
+ style: [styles.buttonContainer, {
266
+ borderColor: grey_gainsboro,
267
+ borderRightWidth: 1
268
+ }, buttonContainer],
307
269
  __self: _this,
308
270
  __source: {
309
271
  fileName: _jsxFileName,
310
- lineNumber: 214,
272
+ lineNumber: 208,
311
273
  columnNumber: 11
312
274
  }
313
275
  }, _react["default"].createElement(_reactNative.Text, {
314
- style: [styles.cancel, {
276
+ style: [styles.shuffle, {
315
277
  color: grey
316
- }, cancel],
278
+ }, shuffle],
317
279
  __self: _this,
318
280
  __source: {
319
281
  fileName: _jsxFileName,
320
- lineNumber: 222,
282
+ lineNumber: 220,
321
283
  columnNumber: 13
322
284
  }
323
- }, actions == null ? void 0 : actions[2].text)), _react["default"].createElement(_reactNative.TouchableOpacity, {
285
+ }, actions == null ? void 0 : actions[1].text)), _react["default"].createElement(_reactNative.TouchableOpacity, {
324
286
  onPress: function onPress() {
325
287
  if (actions != null && actions[0].name && actions != null && actions[0].value && handleAction) {
326
288
  handleAction(actions[0].name, actions[0].value);
327
289
  }
328
290
  },
329
- style: [styles.sendContainer, sendContainer],
291
+ style: [styles.buttonContainer, {
292
+ borderColor: grey_gainsboro
293
+ }, buttonContainer],
330
294
  __self: _this,
331
295
  __source: {
332
296
  fileName: _jsxFileName,
333
- lineNumber: 224,
297
+ lineNumber: 222,
334
298
  columnNumber: 11
335
299
  }
336
300
  }, _react["default"].createElement(_reactNative.Text, {
@@ -340,7 +304,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
340
304
  __self: _this,
341
305
  __source: {
342
306
  fileName: _jsxFileName,
343
- lineNumber: 232,
307
+ lineNumber: 230,
344
308
  columnNumber: 13
345
309
  }
346
310
  }, actions == null ? void 0 : actions[0].text))))) : _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
@@ -375,14 +339,14 @@ var GiphyWithContext = function GiphyWithContext(props) {
375
339
  __self: _this,
376
340
  __source: {
377
341
  fileName: _jsxFileName,
378
- lineNumber: 238,
342
+ lineNumber: 236,
379
343
  columnNumber: 5
380
344
  }
381
345
  }), _react["default"].createElement(_reactNative.View, {
382
346
  __self: _this,
383
347
  __source: {
384
348
  fileName: _jsxFileName,
385
- lineNumber: 268,
349
+ lineNumber: 266,
386
350
  columnNumber: 7
387
351
  }
388
352
  }, _react["default"].createElement(_reactNative.Image, {
@@ -394,7 +358,7 @@ var GiphyWithContext = function GiphyWithContext(props) {
394
358
  __self: _this,
395
359
  __source: {
396
360
  fileName: _jsxFileName,
397
- lineNumber: 269,
361
+ lineNumber: 267,
398
362
  columnNumber: 9
399
363
  }
400
364
  }), _react["default"].createElement(_reactNative.View, {
@@ -402,17 +366,17 @@ var GiphyWithContext = function GiphyWithContext(props) {
402
366
  __self: _this,
403
367
  __source: {
404
368
  fileName: _jsxFileName,
405
- lineNumber: 274,
369
+ lineNumber: 272,
406
370
  columnNumber: 9
407
371
  }
408
372
  }, _react["default"].createElement(_reactNative.View, {
409
373
  style: [styles.giphyContainer, {
410
- backgroundColor: overlay
374
+ backgroundColor: grey_dark
411
375
  }, giphyContainer],
412
376
  __self: _this,
413
377
  __source: {
414
378
  fileName: _jsxFileName,
415
- lineNumber: 275,
379
+ lineNumber: 273,
416
380
  columnNumber: 11
417
381
  }
418
382
  }, _react["default"].createElement(_Lightning.Lightning, {
@@ -422,17 +386,17 @@ var GiphyWithContext = function GiphyWithContext(props) {
422
386
  __self: _this,
423
387
  __source: {
424
388
  fileName: _jsxFileName,
425
- lineNumber: 276,
389
+ lineNumber: 274,
426
390
  columnNumber: 13
427
391
  }
428
392
  }), _react["default"].createElement(_reactNative.Text, {
429
- style: [styles.giphyText, {
393
+ style: [styles.giphyMaskText, {
430
394
  color: white
431
- }, giphyText],
395
+ }, giphyMaskText],
432
396
  __self: _this,
433
397
  __source: {
434
398
  fileName: _jsxFileName,
435
- lineNumber: 277,
399
+ lineNumber: 275,
436
400
  columnNumber: 13
437
401
  }
438
402
  }, type == null ? void 0 : type.toUpperCase())))));
@@ -480,7 +444,7 @@ var Giphy = function Giphy(props) {
480
444
  __self: _this,
481
445
  __source: {
482
446
  fileName: _jsxFileName,
483
- lineNumber: 359,
447
+ lineNumber: 357,
484
448
  columnNumber: 5
485
449
  }
486
450
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","cancel","fontSize","fontWeight","paddingVertical","cancelContainer","alignItems","borderRightWidth","flex","justifyContent","container","overflow","width","giphy","borderTopLeftRadius","borderTopRightRadius","height","giphyContainer","borderRadius","flexDirection","giphyMask","bottom","left","position","giphyText","margin","row","selectionContainer","borderWidth","selector","borderBottomWidth","paddingBottom","paddingHorizontal","send","sendContainer","shuffleButton","title","fontStyle","GiphyWithContext","props","additionalTouchableProps","attachment","handleAction","onLongPress","onPress","onPressIn","preventPress","actions","image_url","thumb_url","type","theme","colors","accent_blue","black","border","grey","overlay","white","messageSimple","titleStyle","uri","backgroundColor","borderColor","color","toUpperCase","borderBottomColor","name","value","borderRightColor","text","event","emitter","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","nextActions","nextImageUrl","nextThumbUrl","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","MemoizedGiphy","React","memo","Giphy","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Left } from '../../icons/Left';\nimport { Lightning } from '../../icons/Lightning';\nimport { Right } from '../../icons/Right';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n cancelContainer: {\n alignItems: 'center',\n borderRightWidth: 1,\n flex: 1,\n justifyContent: 'center',\n },\n container: {\n overflow: 'hidden',\n width: 256,\n },\n giphy: {\n borderTopLeftRadius: 8,\n borderTopRightRadius: 8,\n height: 140,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyText: { fontSize: 11, fontWeight: '600' },\n margin: {\n margin: 8,\n },\n row: { flexDirection: 'row' },\n selectionContainer: {\n borderRadius: 8,\n borderWidth: 1,\n overflow: 'hidden',\n width: 250,\n },\n selector: {\n alignItems: 'center',\n borderBottomWidth: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n paddingBottom: 8,\n paddingHorizontal: 8,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n sendContainer: { alignItems: 'center', flex: 1, justifyContent: 'center' },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n title: {\n fontSize: 14,\n fontStyle: 'italic',\n fontWeight: '500',\n },\n});\n\nexport type GiphyPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'handleAction' | 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'additionalTouchableProps'> & {\n attachment: Attachment<At>;\n };\n\nconst GiphyWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n } = props;\n\n const { actions, image_url, thumb_url, title, type } = attachment;\n\n const {\n theme: {\n colors: { accent_blue, black, border, grey, overlay, white },\n messageSimple: {\n giphy: {\n cancel,\n cancelContainer,\n container,\n giphy,\n giphyContainer,\n giphyMask,\n giphyText,\n selectionContainer,\n selector,\n send,\n sendContainer,\n shuffleButton,\n title: titleStyle,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n >\n <View style={styles.margin}>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View style={[styles.giphyContainer, { backgroundColor: overlay }, giphyContainer]}>\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyText, { color: white }, giphyText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n <View>\n <View style={[styles.selector, { borderBottomColor: border }, selector]}>\n <TouchableOpacity\n onPress={() => handleAction('image_action', 'shuffle')}\n style={[styles.shuffleButton, { borderColor: border }, shuffleButton]}\n >\n <Left />\n </TouchableOpacity>\n <Text style={[styles.title, { color: black }, titleStyle]}>{`\"${title}\"`}</Text>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[styles.shuffleButton, shuffleButton]}\n >\n <Right />\n </TouchableOpacity>\n </View>\n <View style={styles.row}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[styles.cancelContainer, { borderRightColor: border }, cancelContainer]}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.sendContainer, sendContainer]}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View style={[styles.giphyContainer, { backgroundColor: overlay }, giphyContainer]}>\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyText, { color: white }, giphyText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'onLongPress' | 'onPressIn'> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'additionalTouchableProps'>\n> & {\n attachment: Attachment<At>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GiphyProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { handleAction, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { additionalTouchableProps } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
1
+ {"version":3,"sources":["Giphy.tsx"],"names":["styles","StyleSheet","create","buttonContainer","alignItems","borderTopWidth","flex","justifyContent","cancel","fontSize","fontWeight","paddingVertical","container","overflow","width","giphy","borderRadius","height","giphyContainer","flexDirection","giphyHeaderText","giphyHeaderTitle","giphyMask","bottom","left","position","giphyMaskText","header","display","padding","margin","row","selectionContainer","borderBottomLeftRadius","borderWidth","send","shuffle","shuffleButton","GiphyWithContext","props","additionalTouchableProps","attachment","handleAction","onLongPress","onPress","onPressIn","preventPress","actions","image_url","thumb_url","title","type","theme","colors","accent_blue","black","grey","grey_dark","grey_gainsboro","white","messageSimple","uri","backgroundColor","borderColor","color","name","value","borderRightWidth","text","event","emitter","toUpperCase","areEqual","prevProps","nextProps","prevActions","prevImageUrl","prevThumbUrl","nextActions","nextImageUrl","nextThumbUrl","imageUrlEqual","thumbUrlEqual","actionsEqual","Array","isArray","length","MemoizedGiphy","React","memo","Giphy","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport type { Attachment } from 'stream-chat';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { GiphyIcon } from '../../icons';\nimport { Lightning } from '../../icons/Lightning';\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\nimport { makeImageCompatibleUrl } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n buttonContainer: { alignItems: 'center', borderTopWidth: 1, flex: 1, justifyContent: 'center' },\n cancel: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n container: {\n overflow: 'hidden',\n width: 270,\n },\n giphy: {\n borderRadius: 2,\n height: 170,\n width: 270,\n },\n giphyContainer: {\n alignItems: 'center',\n borderRadius: 12,\n flexDirection: 'row',\n height: 24,\n justifyContent: 'center',\n width: 68,\n },\n giphyHeaderText: {\n fontSize: 16,\n fontWeight: '600',\n },\n giphyHeaderTitle: {\n fontSize: 14,\n },\n giphyMask: {\n bottom: 8,\n left: 8,\n position: 'absolute',\n },\n giphyMaskText: { fontSize: 13, fontWeight: '600' },\n header: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n padding: 8,\n width: '60%',\n },\n margin: {\n margin: 1,\n },\n row: { flexDirection: 'row' },\n selectionContainer: {\n borderBottomLeftRadius: 8,\n borderWidth: 1,\n overflow: 'hidden',\n width: 272,\n },\n send: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffle: {\n fontSize: 14,\n fontWeight: '600',\n paddingVertical: 16,\n },\n shuffleButton: {\n alignItems: 'center',\n borderRadius: 16,\n borderWidth: 1,\n height: 32,\n justifyContent: 'center',\n width: 32,\n },\n});\n\nexport type GiphyPropsWithContext<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Pick<\n MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>,\n 'handleAction' | 'onLongPress' | 'onPress' | 'onPressIn' | 'preventPress'\n> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'additionalTouchableProps'> & {\n attachment: Attachment<At>;\n };\n\nconst GiphyWithContext = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n additionalTouchableProps,\n attachment,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n } = props;\n\n const { actions, image_url, thumb_url, title, type } = attachment;\n\n const {\n theme: {\n colors: { accent_blue, black, grey, grey_dark, grey_gainsboro, white },\n messageSimple: {\n giphy: {\n buttonContainer,\n cancel,\n container,\n giphy,\n giphyContainer,\n giphyHeaderText,\n giphyHeaderTitle,\n giphyMask,\n giphyMaskText,\n header,\n selectionContainer,\n send,\n shuffle,\n },\n },\n },\n } = useTheme();\n\n const uri = image_url || thumb_url;\n\n if (!uri) return null;\n\n return actions ? (\n <View\n style={[\n styles.selectionContainer,\n { backgroundColor: white, borderColor: `${black}0D` },\n selectionContainer,\n ]}\n >\n <View style={[styles.header, header]}>\n <GiphyIcon />\n <Text style={[styles.giphyHeaderText, giphyHeaderText]}>Giphy</Text>\n <Text\n style={[styles.giphyHeaderTitle, giphyHeaderTitle, { color: grey_dark }]}\n >{`/giphy ${title}`}</Text>\n </View>\n <View style={styles.margin}>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n </View>\n <View>\n <View style={styles.row}>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[2].name && actions?.[2].value && handleAction) {\n handleAction(actions[2].name, actions[2].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.cancel, { color: grey }, cancel]}>{actions?.[2].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[1].name && actions?.[1].value && handleAction) {\n handleAction(actions[1].name, actions[1].value);\n }\n }}\n style={[\n styles.buttonContainer,\n { borderColor: grey_gainsboro, borderRightWidth: 1 },\n buttonContainer,\n ]}\n >\n <Text style={[styles.shuffle, { color: grey }, shuffle]}>{actions?.[1].text}</Text>\n </TouchableOpacity>\n <TouchableOpacity\n onPress={() => {\n if (actions?.[0].name && actions?.[0].value && handleAction) {\n handleAction(actions[0].name, actions[0].value);\n }\n }}\n style={[styles.buttonContainer, { borderColor: grey_gainsboro }, buttonContainer]}\n >\n <Text style={[styles.send, { color: accent_blue }, send]}>{actions?.[0].text}</Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n ) : (\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n emitter: 'giphy',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n emitter: 'giphy',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='giphy-attachment'\n {...additionalTouchableProps}\n >\n <View>\n <Image\n resizeMode='cover'\n source={{ uri: makeImageCompatibleUrl(uri) }}\n style={[styles.giphy, giphy]}\n />\n <View style={[styles.giphyMask, giphyMask]}>\n <View style={[styles.giphyContainer, { backgroundColor: grey_dark }, giphyContainer]}>\n <Lightning height={16} pathFill={white} width={16} />\n <Text style={[styles.giphyMaskText, { color: white }, giphyMaskText]}>\n {type?.toUpperCase()}\n </Text>\n </View>\n </View>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst areEqual = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n prevProps: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n nextProps: GiphyPropsWithContext<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n attachment: { actions: prevActions, image_url: prevImageUrl, thumb_url: prevThumbUrl },\n } = prevProps;\n const {\n attachment: { actions: nextActions, image_url: nextImageUrl, thumb_url: nextThumbUrl },\n } = nextProps;\n\n const imageUrlEqual = prevImageUrl === nextImageUrl;\n if (!imageUrlEqual) return false;\n\n const thumbUrlEqual = prevThumbUrl === nextThumbUrl;\n if (!thumbUrlEqual) return false;\n\n const actionsEqual =\n Array.isArray(prevActions) === Array.isArray(nextActions) &&\n ((Array.isArray(prevActions) &&\n Array.isArray(nextActions) &&\n prevActions.length === nextActions.length) ||\n prevActions === nextActions);\n if (!actionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedGiphy = React.memo(GiphyWithContext, areEqual) as typeof GiphyWithContext;\n\nexport type GiphyProps<\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n> = Partial<\n Pick<MessageContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'onLongPress' | 'onPressIn'> &\n Pick<MessagesContextValue<At, Ch, Co, Ev, Me, Re, Us>, 'additionalTouchableProps'>\n> & {\n attachment: Attachment<At>;\n};\n\n/**\n * UI component for card in attachments.\n */\nexport const Giphy = <\n At extends UnknownType = DefaultAttachmentType,\n Ch extends UnknownType = DefaultChannelType,\n Co extends string = DefaultCommandType,\n Ev extends UnknownType = DefaultEventType,\n Me extends UnknownType = DefaultMessageType,\n Re extends UnknownType = DefaultReactionType,\n Us extends UnknownType = DefaultUserType,\n>(\n props: GiphyProps<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const { handleAction, onLongPress, onPress, onPressIn, preventPress } =\n useMessageContext<At, Ch, Co, Ev, Me, Re, Us>();\n const { additionalTouchableProps } = useMessagesContext<At, Ch, Co, Ev, Me, Re, Us>();\n\n return (\n <MemoizedGiphy\n {...{\n additionalTouchableProps,\n handleAction,\n onLongPress,\n onPress,\n onPressIn,\n preventPress,\n }}\n {...props}\n />\n );\n};\n\nGiphy.displayName = 'Giphy{messageSimple{giphy}}';\n"]}
@@ -40,7 +40,9 @@ var MessageFooterWithContext = function MessageFooterWithContext(props) {
40
40
 
41
41
  var _useTheme = (0, _ThemeContext.useTheme)(),
42
42
  _useTheme$theme = _useTheme.theme,
43
- grey = _useTheme$theme.colors.grey,
43
+ _useTheme$theme$color = _useTheme$theme.colors,
44
+ grey = _useTheme$theme$color.grey,
45
+ grey_dark = _useTheme$theme$color.grey_dark,
44
46
  _useTheme$theme$messa = _useTheme$theme.messageSimple.content,
45
47
  deletedMetaText = _useTheme$theme$messa.deletedMetaText,
46
48
  eyeIcon = _useTheme$theme$messa.eyeIcon,
@@ -62,7 +64,7 @@ var MessageFooterWithContext = function MessageFooterWithContext(props) {
62
64
  columnNumber: 7
63
65
  }
64
66
  }, deletedMessagesVisibilityType === 'sender' && _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_icons.Eye, (0, _extends2["default"])({
65
- pathFill: isDeleted ? undefined : grey
67
+ pathFill: grey_dark
66
68
  }, eyeIcon, {
67
69
  __self: _this,
68
70
  __source: {
@@ -72,7 +74,7 @@ var MessageFooterWithContext = function MessageFooterWithContext(props) {
72
74
  }
73
75
  })), _react["default"].createElement(_reactNative.Text, {
74
76
  style: [{
75
- color: grey,
77
+ color: grey_dark,
76
78
  textAlign: alignment
77
79
  }, metaText, deletedMetaText],
78
80
  testID: "only-visible-to-you",
@@ -109,7 +111,9 @@ var MessageFooterWithContext = function MessageFooterWithContext(props) {
109
111
  lineNumber: 138,
110
112
  columnNumber: 5
111
113
  }
112
- }, otherAttachments.length && otherAttachments[0].actions ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_icons.Eye, (0, _extends2["default"])({}, eyeIcon, {
114
+ }, otherAttachments.length && otherAttachments[0].actions ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_icons.Eye, (0, _extends2["default"])({
115
+ pathFill: grey_dark
116
+ }, eyeIcon, {
113
117
  __self: _this,
114
118
  __source: {
115
119
  fileName: _jsxFileName,
@@ -118,7 +122,7 @@ var MessageFooterWithContext = function MessageFooterWithContext(props) {
118
122
  }
119
123
  })), _react["default"].createElement(_reactNative.Text, {
120
124
  style: [{
121
- color: grey,
125
+ color: grey_dark,
122
126
  textAlign: alignment
123
127
  }, metaText, deletedMetaText],
124
128
  __self: _this,