stream-chat-react-native-core 5.22.0-beta.5 → 5.22.0-beta.7

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 (67) hide show
  1. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +26 -11
  2. package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  3. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +23 -16
  4. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  5. package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  6. package/lib/commonjs/i18n/en.json +3 -0
  7. package/lib/commonjs/i18n/es.json +4 -1
  8. package/lib/commonjs/i18n/fr.json +25 -22
  9. package/lib/commonjs/i18n/he.json +4 -1
  10. package/lib/commonjs/i18n/hi.json +25 -22
  11. package/lib/commonjs/i18n/it.json +25 -22
  12. package/lib/commonjs/i18n/ja.json +4 -1
  13. package/lib/commonjs/i18n/ko.json +4 -1
  14. package/lib/commonjs/i18n/nl.json +25 -22
  15. package/lib/commonjs/i18n/ru.json +25 -22
  16. package/lib/commonjs/i18n/tr.json +25 -22
  17. package/lib/commonjs/native.js.map +1 -1
  18. package/lib/commonjs/version.json +1 -1
  19. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +26 -11
  20. package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js.map +1 -1
  21. package/lib/module/components/Message/MessageSimple/utils/renderText.js +23 -16
  22. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  23. package/lib/module/components/MessageInput/UploadProgressIndicator.js.map +1 -1
  24. package/lib/module/i18n/en.json +3 -0
  25. package/lib/module/i18n/es.json +4 -1
  26. package/lib/module/i18n/fr.json +25 -22
  27. package/lib/module/i18n/he.json +4 -1
  28. package/lib/module/i18n/hi.json +25 -22
  29. package/lib/module/i18n/it.json +25 -22
  30. package/lib/module/i18n/ja.json +4 -1
  31. package/lib/module/i18n/ko.json +4 -1
  32. package/lib/module/i18n/nl.json +25 -22
  33. package/lib/module/i18n/ru.json +25 -22
  34. package/lib/module/i18n/tr.json +25 -22
  35. package/lib/module/native.js.map +1 -1
  36. package/lib/module/version.json +1 -1
  37. package/lib/typescript/components/MessageInput/UploadProgressIndicator.d.ts +5 -2
  38. package/lib/typescript/i18n/en.json +3 -0
  39. package/lib/typescript/i18n/es.json +4 -1
  40. package/lib/typescript/i18n/fr.json +25 -22
  41. package/lib/typescript/i18n/he.json +4 -1
  42. package/lib/typescript/i18n/hi.json +25 -22
  43. package/lib/typescript/i18n/it.json +25 -22
  44. package/lib/typescript/i18n/ja.json +4 -1
  45. package/lib/typescript/i18n/ko.json +4 -1
  46. package/lib/typescript/i18n/nl.json +25 -22
  47. package/lib/typescript/i18n/ru.json +25 -22
  48. package/lib/typescript/i18n/tr.json +25 -22
  49. package/lib/typescript/native.d.ts +2 -0
  50. package/lib/typescript/utils/Streami18n.d.ts +3 -5
  51. package/package.json +1 -1
  52. package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx +13 -1
  53. package/src/components/Message/MessageSimple/utils/renderText.tsx +10 -1
  54. package/src/components/MessageInput/UploadProgressIndicator.tsx +2 -2
  55. package/src/i18n/en.json +3 -0
  56. package/src/i18n/es.json +4 -1
  57. package/src/i18n/fr.json +25 -22
  58. package/src/i18n/he.json +4 -1
  59. package/src/i18n/hi.json +25 -22
  60. package/src/i18n/it.json +25 -22
  61. package/src/i18n/ja.json +4 -1
  62. package/src/i18n/ko.json +4 -1
  63. package/src/i18n/nl.json +25 -22
  64. package/src/i18n/ru.json +25 -22
  65. package/src/i18n/tr.json +25 -22
  66. package/src/native.ts +5 -1
  67. package/src/version.json +1 -1
@@ -11,6 +11,7 @@ var _reactNative = require("react-native");
11
11
  var _AttachmentPickerContext = require("../../../contexts/attachmentPickerContext/AttachmentPickerContext");
12
12
  var _MessageInputContext = require("../../../contexts/messageInputContext/MessageInputContext");
13
13
  var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
14
+ var _TranslationContext = require("../../../contexts/translationContext/TranslationContext");
14
15
  var _native = require("../../../native");
15
16
  var _this = this,
16
17
  _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/AttachmentPicker/components/AttachmentSelectionBar.tsx";
@@ -34,6 +35,8 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
34
35
  selectedPicker = _useAttachmentPickerC.selectedPicker,
35
36
  setSelectedImages = _useAttachmentPickerC.setSelectedImages,
36
37
  setSelectedPicker = _useAttachmentPickerC.setSelectedPicker;
38
+ var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
39
+ t = _useTranslationContex.t;
37
40
  var _useMessageInputConte = (0, _MessageInputContext.useMessageInputContext)(),
38
41
  compressImageQuality = _useMessageInputConte.compressImageQuality,
39
42
  hasFilePicker = _useMessageInputConte.hasFilePicker,
@@ -70,12 +73,24 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
70
73
  });
71
74
  case 4:
72
75
  photo = _context.sent;
76
+ if (photo.askToOpenSettings) {
77
+ _reactNative.Alert.alert(t('Allow camera access in device settings'), t('Device camera is used to take photos or videos.'), [{
78
+ style: 'cancel',
79
+ text: t('Cancel')
80
+ }, {
81
+ onPress: function onPress() {
82
+ return _reactNative.Linking.openSettings();
83
+ },
84
+ style: 'default',
85
+ text: t('Open Settings')
86
+ }]);
87
+ }
73
88
  if (!photo.cancelled) {
74
89
  setSelectedImages(function (images) {
75
90
  return [].concat((0, _toConsumableArray2["default"])(images), [photo]);
76
91
  });
77
92
  }
78
- case 6:
93
+ case 7:
79
94
  case "end":
80
95
  return _context.stop();
81
96
  }
@@ -92,7 +107,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
92
107
  __self: _this,
93
108
  __source: {
94
109
  fileName: _jsxFileName,
95
- lineNumber: 66,
110
+ lineNumber: 78,
96
111
  columnNumber: 5
97
112
  }
98
113
  }, _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -107,7 +122,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
107
122
  __self: _this,
108
123
  __source: {
109
124
  fileName: _jsxFileName,
110
- lineNumber: 67,
125
+ lineNumber: 79,
111
126
  columnNumber: 7
112
127
  }
113
128
  }, _react["default"].createElement(_reactNative.View, {
@@ -115,7 +130,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
115
130
  __self: _this,
116
131
  __source: {
117
132
  fileName: _jsxFileName,
118
- lineNumber: 72,
133
+ lineNumber: 84,
119
134
  columnNumber: 9
120
135
  }
121
136
  }, _react["default"].createElement(ImageSelectorIcon, {
@@ -124,7 +139,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
124
139
  __self: _this,
125
140
  __source: {
126
141
  fileName: _jsxFileName,
127
- lineNumber: 73,
142
+ lineNumber: 85,
128
143
  columnNumber: 11
129
144
  }
130
145
  }))), hasFilePicker && _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -137,7 +152,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
137
152
  __self: _this,
138
153
  __source: {
139
154
  fileName: _jsxFileName,
140
- lineNumber: 80,
155
+ lineNumber: 92,
141
156
  columnNumber: 9
142
157
  }
143
158
  }, _react["default"].createElement(_reactNative.View, {
@@ -145,7 +160,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
145
160
  __self: _this,
146
161
  __source: {
147
162
  fileName: _jsxFileName,
148
- lineNumber: 85,
163
+ lineNumber: 97,
149
164
  columnNumber: 11
150
165
  }
151
166
  }, _react["default"].createElement(FileSelectorIcon, {
@@ -154,7 +169,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
154
169
  __self: _this,
155
170
  __source: {
156
171
  fileName: _jsxFileName,
157
- lineNumber: 86,
172
+ lineNumber: 98,
158
173
  columnNumber: 13
159
174
  }
160
175
  }))), _react["default"].createElement(_reactNative.TouchableOpacity, {
@@ -167,7 +182,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
167
182
  __self: _this,
168
183
  __source: {
169
184
  fileName: _jsxFileName,
170
- lineNumber: 93,
185
+ lineNumber: 105,
171
186
  columnNumber: 7
172
187
  }
173
188
  }, _react["default"].createElement(_reactNative.View, {
@@ -175,7 +190,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
175
190
  __self: _this,
176
191
  __source: {
177
192
  fileName: _jsxFileName,
178
- lineNumber: 98,
193
+ lineNumber: 110,
179
194
  columnNumber: 9
180
195
  }
181
196
  }, _react["default"].createElement(CameraSelectorIcon, {
@@ -184,7 +199,7 @@ var AttachmentSelectionBar = function AttachmentSelectionBar() {
184
199
  __self: _this,
185
200
  __source: {
186
201
  fileName: _jsxFileName,
187
- lineNumber: 99,
202
+ lineNumber: 111,
188
203
  columnNumber: 11
189
204
  }
190
205
  }))));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_AttachmentPickerContext","_MessageInputContext","_ThemeContext","_native","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","paddingHorizontal","icon","marginHorizontal","AttachmentSelectionBar","_useAttachmentPickerC","useAttachmentPickerContext","attachmentSelectionBarHeight","CameraSelectorIcon","closePicker","FileSelectorIcon","ImageSelectorIcon","selectedPicker","setSelectedImages","setSelectedPicker","_useMessageInputConte","useMessageInputContext","compressImageQuality","hasFilePicker","imageUploads","pickFile","_useTheme","useTheme","_useTheme$theme$attac","theme","attachmentSelectionBar","setPicker","selection","undefined","openFilePicker","takeAndUploadImage","_ref","_asyncToGenerator2","_regenerator","mark","_callee","photo","wrap","_callee$","_context","prev","next","takePhoto","sent","cancelled","images","concat","_toConsumableArray2","stop","apply","arguments","createElement","View","style","height","__self","__source","fileName","lineNumber","columnNumber","TouchableOpacity","hitSlop","bottom","top","onPress","testID","numberOfImageUploads","length","exports"],"sources":["AttachmentSelectionBar.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { useAttachmentPickerContext } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useMessageInputContext } from '../../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport { takePhoto } from '../../../native';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 6,\n },\n icon: {\n marginHorizontal: 12,\n },\n});\n\nexport const AttachmentSelectionBar: React.FC = () => {\n const {\n attachmentSelectionBarHeight,\n CameraSelectorIcon,\n closePicker,\n FileSelectorIcon,\n ImageSelectorIcon,\n selectedPicker,\n setSelectedImages,\n setSelectedPicker,\n } = useAttachmentPickerContext();\n\n const { compressImageQuality, hasFilePicker, imageUploads, pickFile } = useMessageInputContext();\n\n const {\n theme: {\n attachmentSelectionBar: { container, icon },\n },\n } = useTheme();\n\n const setPicker = (selection: 'images') => {\n if (selectedPicker === selection) {\n setSelectedPicker(undefined);\n closePicker();\n } else {\n setSelectedPicker(selection);\n }\n };\n\n const openFilePicker = () => {\n setSelectedPicker(undefined);\n closePicker();\n pickFile();\n };\n\n const takeAndUploadImage = async () => {\n setSelectedPicker(undefined);\n closePicker();\n const photo = await takePhoto({ compressImageQuality });\n if (!photo.cancelled) {\n setSelectedImages((images) => [...images, photo]);\n }\n };\n\n return (\n <View style={[styles.container, container, { height: attachmentSelectionBarHeight ?? 52 }]}>\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={() => setPicker('images')}\n testID='upload-photo-touchable'\n >\n <View style={[styles.icon, icon]}>\n <ImageSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n {hasFilePicker && (\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={openFilePicker}\n testID='upload-file-touchable'\n >\n <View style={[styles.icon, icon]}>\n <FileSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n )}\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={takeAndUploadImage}\n testID='take-photo-touchable'\n >\n <View style={[styles.icon, icon]}>\n <CameraSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n </View>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_AttachmentPickerContext","_MessageInputContext","_ThemeContext","_TranslationContext","_native","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","paddingHorizontal","icon","marginHorizontal","AttachmentSelectionBar","_useAttachmentPickerC","useAttachmentPickerContext","attachmentSelectionBarHeight","CameraSelectorIcon","closePicker","FileSelectorIcon","ImageSelectorIcon","selectedPicker","setSelectedImages","setSelectedPicker","_useTranslationContex","useTranslationContext","t","_useMessageInputConte","useMessageInputContext","compressImageQuality","hasFilePicker","imageUploads","pickFile","_useTheme","useTheme","_useTheme$theme$attac","theme","attachmentSelectionBar","setPicker","selection","undefined","openFilePicker","takeAndUploadImage","_ref","_asyncToGenerator2","_regenerator","mark","_callee","photo","wrap","_callee$","_context","prev","next","takePhoto","sent","askToOpenSettings","Alert","alert","style","text","onPress","Linking","openSettings","cancelled","images","concat","_toConsumableArray2","stop","apply","arguments","createElement","View","height","__self","__source","fileName","lineNumber","columnNumber","TouchableOpacity","hitSlop","bottom","top","testID","numberOfImageUploads","length","exports"],"sources":["AttachmentSelectionBar.tsx"],"sourcesContent":["import React from 'react';\nimport { Alert, Linking, StyleSheet, TouchableOpacity, View } from 'react-native';\n\nimport { useAttachmentPickerContext } from '../../../contexts/attachmentPickerContext/AttachmentPickerContext';\nimport { useMessageInputContext } from '../../../contexts/messageInputContext/MessageInputContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport { useTranslationContext } from '../../../contexts/translationContext/TranslationContext';\n\nimport { takePhoto } from '../../../native';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: 6,\n },\n icon: {\n marginHorizontal: 12,\n },\n});\n\nexport const AttachmentSelectionBar: React.FC = () => {\n const {\n attachmentSelectionBarHeight,\n CameraSelectorIcon,\n closePicker,\n FileSelectorIcon,\n ImageSelectorIcon,\n selectedPicker,\n setSelectedImages,\n setSelectedPicker,\n } = useAttachmentPickerContext();\n const { t } = useTranslationContext();\n\n const { compressImageQuality, hasFilePicker, imageUploads, pickFile } = useMessageInputContext();\n\n const {\n theme: {\n attachmentSelectionBar: { container, icon },\n },\n } = useTheme();\n\n const setPicker = (selection: 'images') => {\n if (selectedPicker === selection) {\n setSelectedPicker(undefined);\n closePicker();\n } else {\n setSelectedPicker(selection);\n }\n };\n\n const openFilePicker = () => {\n setSelectedPicker(undefined);\n closePicker();\n pickFile();\n };\n\n const takeAndUploadImage = async () => {\n setSelectedPicker(undefined);\n closePicker();\n const photo = await takePhoto({ compressImageQuality });\n if (photo.askToOpenSettings) {\n Alert.alert(\n t('Allow camera access in device settings'),\n t('Device camera is used to take photos or videos.'),\n [\n { style: 'cancel', text: t('Cancel') },\n { onPress: () => Linking.openSettings(), style: 'default', text: t('Open Settings') },\n ],\n );\n }\n if (!photo.cancelled) {\n setSelectedImages((images) => [...images, photo]);\n }\n };\n\n return (\n <View style={[styles.container, container, { height: attachmentSelectionBarHeight ?? 52 }]}>\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={() => setPicker('images')}\n testID='upload-photo-touchable'\n >\n <View style={[styles.icon, icon]}>\n <ImageSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n {hasFilePicker && (\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={openFilePicker}\n testID='upload-file-touchable'\n >\n <View style={[styles.icon, icon]}>\n <FileSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n )}\n <TouchableOpacity\n hitSlop={{ bottom: 15, top: 15 }}\n onPress={takeAndUploadImage}\n testID='take-photo-touchable'\n >\n <View style={[styles.icon, icon]}>\n <CameraSelectorIcon\n numberOfImageUploads={imageUploads.length}\n selectedPicker={selectedPicker}\n />\n </View>\n </TouchableOpacity>\n </View>\n );\n};\n"],"mappings":"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"}
@@ -90,9 +90,16 @@ var renderText = function renderText(params) {
90
90
  return canOpenUrl && _reactNative.Linking.openURL(url);
91
91
  });
92
92
  };
93
+ var previousLink;
93
94
  var linkReact = function linkReact(node, output, _ref) {
94
95
  var state = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref), _ref));
95
- var url = node.target;
96
+ var url;
97
+ if (state != null && state.withinLink && previousLink) {
98
+ url = previousLink;
99
+ } else {
100
+ url = node.target;
101
+ previousLink = node.target;
102
+ }
96
103
  var onPress = function onPress(event) {
97
104
  if (!preventPress && onPressParam) {
98
105
  onPressParam({
@@ -127,7 +134,7 @@ var renderText = function renderText(params) {
127
134
  __self: _this,
128
135
  __source: {
129
136
  fileName: _jsxFileName,
130
- lineNumber: 170,
137
+ lineNumber: 179,
131
138
  columnNumber: 7
132
139
  }
133
140
  }, output(node.content, (0, _extends2["default"])({}, state, {
@@ -145,7 +152,7 @@ var renderText = function renderText(params) {
145
152
  __self: _this,
146
153
  __source: {
147
154
  fileName: _jsxFileName,
148
- lineNumber: 188,
155
+ lineNumber: 197,
149
156
  columnNumber: 11
150
157
  }
151
158
  }, output(node.content, state));
@@ -159,7 +166,7 @@ var renderText = function renderText(params) {
159
166
  __self: _this,
160
167
  __source: {
161
168
  fileName: _jsxFileName,
162
- lineNumber: 198,
169
+ lineNumber: 207,
163
170
  columnNumber: 7
164
171
  }
165
172
  }, output(node.content, state));
@@ -211,7 +218,7 @@ var renderText = function renderText(params) {
211
218
  __self: _this,
212
219
  __source: {
213
220
  fileName: _jsxFileName,
214
- lineNumber: 253,
221
+ lineNumber: 262,
215
222
  columnNumber: 7
216
223
  }
217
224
  }, Array.isArray(node.content) ? node.content.reduce(function (acc, current) {
@@ -228,7 +235,7 @@ var renderText = function renderText(params) {
228
235
  __self: _this,
229
236
  __source: {
230
237
  fileName: _jsxFileName,
231
- lineNumber: 262,
238
+ lineNumber: 271,
232
239
  columnNumber: 5
233
240
  }
234
241
  });
@@ -272,7 +279,7 @@ var renderText = function renderText(params) {
272
279
  __self: _this,
273
280
  __source: {
274
281
  fileName: _jsxFileName,
275
- lineNumber: 294,
282
+ lineNumber: 303,
276
283
  columnNumber: 5
277
284
  }
278
285
  }, markdownText);
@@ -291,7 +298,7 @@ var ListOutput = function ListOutput(_ref4) {
291
298
  __self: _this,
292
299
  __source: {
293
300
  fileName: _jsxFileName,
294
- lineNumber: 329,
301
+ lineNumber: 338,
295
302
  columnNumber: 5
296
303
  }
297
304
  }, node.items.map(function (item, index) {
@@ -305,7 +312,7 @@ var ListOutput = function ListOutput(_ref4) {
305
312
  __self: _this,
306
313
  __source: {
307
314
  fileName: _jsxFileName,
308
- lineNumber: 335,
315
+ lineNumber: 344,
309
316
  columnNumber: 13
310
317
  }
311
318
  }, _react["default"].createElement(Bullet, {
@@ -314,7 +321,7 @@ var ListOutput = function ListOutput(_ref4) {
314
321
  __self: _this,
315
322
  __source: {
316
323
  fileName: _jsxFileName,
317
- lineNumber: 336,
324
+ lineNumber: 345,
318
325
  columnNumber: 15
319
326
  }
320
327
  }));
@@ -331,7 +338,7 @@ var ListOutput = function ListOutput(_ref4) {
331
338
  __self: _this,
332
339
  __source: {
333
340
  fileName: _jsxFileName,
334
- lineNumber: 349,
341
+ lineNumber: 358,
335
342
  columnNumber: 11
336
343
  }
337
344
  }, _react["default"].createElement(Bullet, {
@@ -340,7 +347,7 @@ var ListOutput = function ListOutput(_ref4) {
340
347
  __self: _this,
341
348
  __source: {
342
349
  fileName: _jsxFileName,
343
- lineNumber: 350,
350
+ lineNumber: 359,
344
351
  columnNumber: 13
345
352
  }
346
353
  }), _react["default"].createElement(ListItem, {
@@ -349,7 +356,7 @@ var ListOutput = function ListOutput(_ref4) {
349
356
  __self: _this,
350
357
  __source: {
351
358
  fileName: _jsxFileName,
352
- lineNumber: 354,
359
+ lineNumber: 363,
353
360
  columnNumber: 13
354
361
  }
355
362
  }, output(item, state)));
@@ -365,7 +372,7 @@ var Bullet = function Bullet(_ref5) {
365
372
  __self: _this,
366
373
  __source: {
367
374
  fileName: _jsxFileName,
368
- lineNumber: 369,
375
+ lineNumber: 378,
369
376
  columnNumber: 3
370
377
  }
371
378
  }, index ? index + ". " : "\u2022 ");
@@ -378,7 +385,7 @@ var ListRow = function ListRow(_ref6) {
378
385
  __self: _this,
379
386
  __source: {
380
387
  fileName: _jsxFileName,
381
- lineNumber: 375,
388
+ lineNumber: 384,
382
389
  columnNumber: 3
383
390
  }
384
391
  }, children);
@@ -391,7 +398,7 @@ var ListItem = function ListItem(_ref7) {
391
398
  __self: _this,
392
399
  __source: {
393
400
  fileName: _jsxFileName,
394
- lineNumber: 379,
401
+ lineNumber: 388,
395
402
  columnNumber: 3
396
403
  }
397
404
  }, children);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeMarkdownPackage","_simpleMarkdown","_generateMarkdownText","_this","_jsxFileName","defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemNumber","fontWeight","listItemText","flex","listRow","flexDirection","mentions","paragraph","paragraphCenter","paragraphWithImage","mentionsParseFunction","capture","parse","state","content","parseInline","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","messageTextNumberOfLines","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","markdownText","generateMarkdownText","styles","_extends2","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","text","black","url","pattern","RegExp","test","Linking","canOpenURL","then","canOpenUrl","openURL","linkReact","node","output","_ref","_objectDestructuringEmpty2","target","event","additionalInfo","defaultHandler","emitter","createElement","Text","key","style","suppressHighlighting","__self","__source","fileName","lineNumber","columnNumber","withinLink","paragraphTextReact","_ref2","undefined","numberOfLines","mentioned_users","mentionedUsers","Array","isArray","reduce","acc","cur","userName","name","id","length","replace","match","regEx","mentionsMatchFunction","source","exec","mentionsReact","_ref3","_node$content$","_node$content$$conten","substring","user","find","current","listReact","ListOutput","customRules","image","link","react","reflink","sublist","order","defaultRules","JSON","stringify","rules","exports","_ref4","isSublist","withinList","parentTypes","View","items","map","item","index","_item$","indexAfterStart","start","ListRow","testID","Bullet","ordered","listItemBullet","type","isSublistWithinText","includes","ListItem","_ref5","_ref6","children","_ref7"],"sources":["renderText.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { GestureResponderEvent, Linking, Text, TextProps, View, ViewProps } from 'react-native';\n\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\n\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n ReactOutput,\n SingleASTNode,\n State,\n} from 'simple-markdown';\n\nimport type { UserResponse } from 'stream-chat';\n\nimport { generateMarkdownText } from './generateMarkdownText';\n\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nconst defaultMarkdownStyles: MarkdownStyle = {\n inlineCode: {\n fontSize: 13,\n padding: 3,\n paddingHorizontal: 5,\n },\n list: {\n marginBottom: 8,\n marginTop: 8,\n },\n listItemNumber: {\n fontWeight: 'bold',\n },\n listItemText: {\n flex: 0,\n },\n listRow: {\n flexDirection: 'row',\n },\n mentions: {\n fontWeight: '700',\n },\n paragraph: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphCenter: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphWithImage: {\n marginBottom: 8,\n marginTop: 8,\n },\n};\n\nconst mentionsParseFunction: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<StreamChatGenerics>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n messageTextNumberOfLines?: number;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n params: RenderTextParams<StreamChatGenerics>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n messageTextNumberOfLines,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n const markdownText = generateMarkdownText<StreamChatGenerics>(message);\n\n const styles: MarkdownStyle = {\n ...defaultMarkdownStyles,\n ...markdownStyles,\n autolink: {\n ...defaultMarkdownStyles.autolink,\n color: colors.accent_blue,\n ...markdownStyles?.autolink,\n },\n inlineCode: {\n ...defaultMarkdownStyles.inlineCode,\n backgroundColor: colors.white_smoke,\n borderColor: colors.grey_gainsboro,\n color: colors.accent_red,\n ...markdownStyles?.inlineCode,\n },\n mentions: {\n ...defaultMarkdownStyles.mentions,\n color: colors.accent_blue,\n ...markdownStyles?.mentions,\n },\n text: {\n ...defaultMarkdownStyles.text,\n color: colors.black,\n ...markdownStyles?.text,\n },\n };\n\n const onLink = (url: string) => {\n const pattern = new RegExp(/^\\S+:\\/\\//);\n if (!pattern.test(url)) {\n url = 'http://' + url;\n }\n\n return onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n };\n\n const linkReact: ReactNodeOutput = (node, output, { ...state }) => {\n const url = node.target;\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n additionalInfo: { url },\n defaultHandler: () => {\n onLink(url);\n },\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n additionalInfo: { url },\n emitter: 'textLink',\n event,\n });\n }\n };\n\n return (\n <Text\n key={state.key}\n onLongPress={onLongPress}\n onPress={onPress}\n style={styles.autolink}\n suppressHighlighting={true}\n >\n {output(node.content, { ...state, withinLink: true })}\n </Text>\n );\n };\n\n const paragraphTextReact: ReactNodeOutput = (node, output, { ...state }) => {\n if (messageTextNumberOfLines !== undefined) {\n // If we want to truncate the message text, lets only truncate the first paragraph\n // and simply not render rest of the paragraphs.\n if (state.key === '0' || state.key === 0) {\n return (\n <Text key={state.key} numberOfLines={messageTextNumberOfLines} style={styles.paragraph}>\n {output(node.content, state)}\n </Text>\n );\n } else {\n return null;\n }\n }\n\n return (\n <Text key={state.key} style={styles.paragraph}>\n {output(node.content, state)}\n </Text>\n );\n };\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users } = message;\n const mentionedUsers = Array.isArray(mentioned_users)\n ? mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName.replace(\n /[.*+?^${}()|[\\]\\\\]/g,\n function (match) {\n return '\\\\' + match;\n },\n )}`;\n }\n\n return acc;\n }, '')\n : '';\n\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const mentionsMatchFunction: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n /**removes the @ prefix of username */\n const userName = node.content[0]?.content?.substring(1);\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n additionalInfo: {\n user: mentioned_users?.find(\n (user: UserResponse<StreamChatGenerics>) => userName === user.name,\n ),\n },\n emitter: 'textMention',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n return (\n <Text key={state.key} onLongPress={onLongPress} onPress={onPress} style={styles.mentions}>\n {Array.isArray(node.content)\n ? node.content.reduce((acc, current) => acc + current.content, '') || ''\n : output(node.content, state)}\n </Text>\n );\n };\n\n const listReact: ReactNodeOutput = (node, output, state) => (\n <ListOutput\n key={`list-${state.key}`}\n node={node}\n output={output}\n state={state}\n styles={styles}\n />\n );\n\n const customRules = {\n // do not render images, we will scrape them out of the message and show on attachment card component\n image: { match: () => null },\n link: { react: linkReact },\n list: { react: listReact },\n // Truncate long text content in the message overlay\n paragraph: messageTextNumberOfLines ? { react: paragraphTextReact } : {},\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n sublist: { react: listReact },\n ...(mentionedUsers\n ? {\n mentions: {\n match: mentionsMatchFunction,\n order: defaultRules.text.order - 0.5,\n parse: mentionsParseFunction,\n react: mentionsReact,\n },\n }\n : {}),\n };\n\n return (\n <Markdown\n key={`${JSON.stringify(mentioned_users)}-${onlyEmojis}-${\n messageOverlay ? JSON.stringify(markdownStyles) : undefined\n }-${JSON.stringify(colors)}`}\n onLink={onLink}\n rules={{\n ...customRules,\n ...markdownRules,\n }}\n styles={styles}\n >\n {markdownText}\n </Markdown>\n );\n};\n\nexport interface ListOutputProps {\n node: SingleASTNode;\n output: ReactOutput;\n state: State;\n styles?: Partial<MarkdownStyle>;\n}\n\n/**\n * For lists and sublists, the default behavior of the markdown library we use is\n * to always renumber any list, so all ordered lists start from 1.\n *\n * This custom rule overrides this behavior both for top level lists and sublists,\n * in order to start the numbering from the number of the first list item provided.\n */\nexport const ListOutput = ({ node, output, state, styles }: ListOutputProps) => {\n let isSublist = state.withinList;\n const parentTypes = ['text', 'paragraph', 'strong'];\n\n return (\n <View key={state.key} style={isSublist ? styles?.sublist : styles?.list}>\n {node.items.map((item: SingleASTNode, index: number) => {\n const indexAfterStart = node.start + index;\n\n if (item === null) {\n return (\n <ListRow key={index} style={styles?.listRow} testID='list-item'>\n <Bullet\n index={node.ordered && indexAfterStart}\n style={node.ordered ? styles?.listItemNumber : styles?.listItemBullet}\n />\n </ListRow>\n );\n }\n\n isSublist = item.length > 1 && item[1].type === 'list';\n const isSublistWithinText = parentTypes.includes((item[0] ?? {}).type) && isSublist;\n const style = isSublistWithinText ? { marginBottom: 0 } : {};\n\n return (\n <ListRow key={index} style={styles?.listRow} testID='list-item'>\n <Bullet\n index={node.ordered && indexAfterStart}\n style={node.ordered ? styles?.listItemNumber : styles?.listItemBullet}\n />\n <ListItem key={1} style={[styles?.listItemText, style]}>\n {output(item, state)}\n </ListItem>\n </ListRow>\n );\n })}\n </View>\n );\n};\n\ninterface BulletProps extends TextProps {\n index?: number;\n}\n\nconst Bullet = ({ index, style }: BulletProps) => (\n <Text key={0} style={style}>\n {index ? `${index}. ` : '\\u2022 '}\n </Text>\n);\n\nconst ListRow = ({ children, style }: PropsWithChildren<ViewProps>) => (\n <Text style={style}>{children}</Text>\n);\n\nconst ListItem = ({ children, style }: PropsWithChildren<TextProps>) => (\n <Text style={style}>{children}</Text>\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeMarkdownPackage","_simpleMarkdown","_generateMarkdownText","_this","_jsxFileName","defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemNumber","fontWeight","listItemText","flex","listRow","flexDirection","mentions","paragraph","paragraphCenter","paragraphWithImage","mentionsParseFunction","capture","parse","state","content","parseInline","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","messageTextNumberOfLines","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","markdownText","generateMarkdownText","styles","_extends2","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","text","black","url","pattern","RegExp","test","Linking","canOpenURL","then","canOpenUrl","openURL","previousLink","linkReact","node","output","_ref","_objectDestructuringEmpty2","withinLink","target","event","additionalInfo","defaultHandler","emitter","createElement","Text","key","style","suppressHighlighting","__self","__source","fileName","lineNumber","columnNumber","paragraphTextReact","_ref2","undefined","numberOfLines","mentioned_users","mentionedUsers","Array","isArray","reduce","acc","cur","userName","name","id","length","replace","match","regEx","mentionsMatchFunction","source","exec","mentionsReact","_ref3","_node$content$","_node$content$$conten","substring","user","find","current","listReact","ListOutput","customRules","image","link","react","reflink","sublist","order","defaultRules","JSON","stringify","rules","exports","_ref4","isSublist","withinList","parentTypes","View","items","map","item","index","_item$","indexAfterStart","start","ListRow","testID","Bullet","ordered","listItemBullet","type","isSublistWithinText","includes","ListItem","_ref5","_ref6","children","_ref7"],"sources":["renderText.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { GestureResponderEvent, Linking, Text, TextProps, View, ViewProps } from 'react-native';\n\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\n\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n ReactOutput,\n SingleASTNode,\n State,\n} from 'simple-markdown';\n\nimport type { UserResponse } from 'stream-chat';\n\nimport { generateMarkdownText } from './generateMarkdownText';\n\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\nimport type { DefaultStreamChatGenerics } from '../../../../types/types';\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nconst defaultMarkdownStyles: MarkdownStyle = {\n inlineCode: {\n fontSize: 13,\n padding: 3,\n paddingHorizontal: 5,\n },\n list: {\n marginBottom: 8,\n marginTop: 8,\n },\n listItemNumber: {\n fontWeight: 'bold',\n },\n listItemText: {\n flex: 0,\n },\n listRow: {\n flexDirection: 'row',\n },\n mentions: {\n fontWeight: '700',\n },\n paragraph: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphCenter: {\n marginBottom: 8,\n marginTop: 8,\n },\n paragraphWithImage: {\n marginBottom: 8,\n marginTop: 8,\n },\n};\n\nconst mentionsParseFunction: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<\n Pick<MessageContextValue<StreamChatGenerics>, 'onLongPress' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<StreamChatGenerics>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n messageTextNumberOfLines?: number;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n params: RenderTextParams<StreamChatGenerics>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n messageTextNumberOfLines,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n const markdownText = generateMarkdownText<StreamChatGenerics>(message);\n\n const styles: MarkdownStyle = {\n ...defaultMarkdownStyles,\n ...markdownStyles,\n autolink: {\n ...defaultMarkdownStyles.autolink,\n color: colors.accent_blue,\n ...markdownStyles?.autolink,\n },\n inlineCode: {\n ...defaultMarkdownStyles.inlineCode,\n backgroundColor: colors.white_smoke,\n borderColor: colors.grey_gainsboro,\n color: colors.accent_red,\n ...markdownStyles?.inlineCode,\n },\n mentions: {\n ...defaultMarkdownStyles.mentions,\n color: colors.accent_blue,\n ...markdownStyles?.mentions,\n },\n text: {\n ...defaultMarkdownStyles.text,\n color: colors.black,\n ...markdownStyles?.text,\n },\n };\n\n const onLink = (url: string) => {\n const pattern = new RegExp(/^\\S+:\\/\\//);\n if (!pattern.test(url)) {\n url = 'http://' + url;\n }\n\n return onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n };\n\n let previousLink: string | undefined;\n const linkReact: ReactNodeOutput = (node, output, { ...state }) => {\n let url: string;\n // Some long URLs with `&` separated parameters are trimmed and the url only until first param is taken.\n // This is done because of internal link been taken from the original URL in react-native-markdown-package. So, we check for `withinLink` and take the previous full URL.\n if (state?.withinLink && previousLink) {\n url = previousLink;\n } else {\n url = node.target;\n previousLink = node.target;\n }\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n additionalInfo: { url },\n defaultHandler: () => {\n onLink(url);\n },\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n additionalInfo: { url },\n emitter: 'textLink',\n event,\n });\n }\n };\n\n return (\n <Text\n key={state.key}\n onLongPress={onLongPress}\n onPress={onPress}\n style={styles.autolink}\n suppressHighlighting={true}\n >\n {output(node.content, { ...state, withinLink: true })}\n </Text>\n );\n };\n\n const paragraphTextReact: ReactNodeOutput = (node, output, { ...state }) => {\n if (messageTextNumberOfLines !== undefined) {\n // If we want to truncate the message text, lets only truncate the first paragraph\n // and simply not render rest of the paragraphs.\n if (state.key === '0' || state.key === 0) {\n return (\n <Text key={state.key} numberOfLines={messageTextNumberOfLines} style={styles.paragraph}>\n {output(node.content, state)}\n </Text>\n );\n } else {\n return null;\n }\n }\n\n return (\n <Text key={state.key} style={styles.paragraph}>\n {output(node.content, state)}\n </Text>\n );\n };\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users } = message;\n const mentionedUsers = Array.isArray(mentioned_users)\n ? mentioned_users.reduce((acc, cur) => {\n const userName = cur.name || cur.id || '';\n if (userName) {\n acc += `${acc.length ? '|' : ''}@${userName.replace(\n /[.*+?^${}()|[\\]\\\\]/g,\n function (match) {\n return '\\\\' + match;\n },\n )}`;\n }\n\n return acc;\n }, '')\n : '';\n\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const mentionsMatchFunction: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n /**removes the @ prefix of username */\n const userName = node.content[0]?.content?.substring(1);\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n additionalInfo: {\n user: mentioned_users?.find(\n (user: UserResponse<StreamChatGenerics>) => userName === user.name,\n ),\n },\n emitter: 'textMention',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textMention',\n event,\n });\n }\n };\n\n return (\n <Text key={state.key} onLongPress={onLongPress} onPress={onPress} style={styles.mentions}>\n {Array.isArray(node.content)\n ? node.content.reduce((acc, current) => acc + current.content, '') || ''\n : output(node.content, state)}\n </Text>\n );\n };\n\n const listReact: ReactNodeOutput = (node, output, state) => (\n <ListOutput\n key={`list-${state.key}`}\n node={node}\n output={output}\n state={state}\n styles={styles}\n />\n );\n\n const customRules = {\n // do not render images, we will scrape them out of the message and show on attachment card component\n image: { match: () => null },\n link: { react: linkReact },\n list: { react: listReact },\n // Truncate long text content in the message overlay\n paragraph: messageTextNumberOfLines ? { react: paragraphTextReact } : {},\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n sublist: { react: listReact },\n ...(mentionedUsers\n ? {\n mentions: {\n match: mentionsMatchFunction,\n order: defaultRules.text.order - 0.5,\n parse: mentionsParseFunction,\n react: mentionsReact,\n },\n }\n : {}),\n };\n\n return (\n <Markdown\n key={`${JSON.stringify(mentioned_users)}-${onlyEmojis}-${\n messageOverlay ? JSON.stringify(markdownStyles) : undefined\n }-${JSON.stringify(colors)}`}\n onLink={onLink}\n rules={{\n ...customRules,\n ...markdownRules,\n }}\n styles={styles}\n >\n {markdownText}\n </Markdown>\n );\n};\n\nexport interface ListOutputProps {\n node: SingleASTNode;\n output: ReactOutput;\n state: State;\n styles?: Partial<MarkdownStyle>;\n}\n\n/**\n * For lists and sublists, the default behavior of the markdown library we use is\n * to always renumber any list, so all ordered lists start from 1.\n *\n * This custom rule overrides this behavior both for top level lists and sublists,\n * in order to start the numbering from the number of the first list item provided.\n */\nexport const ListOutput = ({ node, output, state, styles }: ListOutputProps) => {\n let isSublist = state.withinList;\n const parentTypes = ['text', 'paragraph', 'strong'];\n\n return (\n <View key={state.key} style={isSublist ? styles?.sublist : styles?.list}>\n {node.items.map((item: SingleASTNode, index: number) => {\n const indexAfterStart = node.start + index;\n\n if (item === null) {\n return (\n <ListRow key={index} style={styles?.listRow} testID='list-item'>\n <Bullet\n index={node.ordered && indexAfterStart}\n style={node.ordered ? styles?.listItemNumber : styles?.listItemBullet}\n />\n </ListRow>\n );\n }\n\n isSublist = item.length > 1 && item[1].type === 'list';\n const isSublistWithinText = parentTypes.includes((item[0] ?? {}).type) && isSublist;\n const style = isSublistWithinText ? { marginBottom: 0 } : {};\n\n return (\n <ListRow key={index} style={styles?.listRow} testID='list-item'>\n <Bullet\n index={node.ordered && indexAfterStart}\n style={node.ordered ? styles?.listItemNumber : styles?.listItemBullet}\n />\n <ListItem key={1} style={[styles?.listItemText, style]}>\n {output(item, state)}\n </ListItem>\n </ListRow>\n );\n })}\n </View>\n );\n};\n\ninterface BulletProps extends TextProps {\n index?: number;\n}\n\nconst Bullet = ({ index, style }: BulletProps) => (\n <Text key={0} style={style}>\n {index ? `${index}. ` : '\\u2022 '}\n </Text>\n);\n\nconst ListRow = ({ children, style }: PropsWithChildren<ViewProps>) => (\n <Text style={style}>{children}</Text>\n);\n\nconst ListItem = ({ children, style }: PropsWithChildren<TextProps>) => (\n <Text style={style}>{children}</Text>\n);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_icons","_utils","_this","_jsxFileName","REFRESH_ICON_SIZE","UploadProgressIndicator","props","action","children","style","type","_useTheme","useTheme","_useTheme$theme","theme","overlayColor","colors","overlay","container","messageInput","uploadProgressIndicator","ProgressIndicatorTypes","INACTIVE","createElement","View","styles","overflowHidden","testID","__self","__source","fileName","lineNumber","columnNumber","NOT_SUPPORTED","backgroundColor","IN_PROGRESS","InProgressIndicator","RETRY","RetryIndicator","exports","_useTheme2","white_smoke","activityIndicatorContainer","ActivityIndicator","color","_ref","_useTheme3","TouchableOpacity","onPress","retryButtonContainer","Refresh","height","pathFill","width","StyleSheet","create","alignItems","bottom","justifyContent","left","position","right","top","overflow","opacity","displayName"],"sources":["UploadProgressIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ActivityIndicator,\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Refresh } from '../../icons';\nimport { ProgressIndicatorTypes } from '../../utils/utils';\n\nconst REFRESH_ICON_SIZE = 18;\n\nexport type UploadProgressIndicatorProps = {\n /** Action triggered when clicked indicator */\n action?: (event: GestureResponderEvent) => void;\n /** style */\n style?: StyleProp<ViewStyle>;\n /** Type of active indicator */\n type?: 'in_progress' | 'retry' | 'not_supported' | 'inactive' | null;\n};\n\nexport const UploadProgressIndicator: React.FC<UploadProgressIndicatorProps> = (props) => {\n const { action, children, style, type } = props;\n\n const {\n theme: {\n colors: { overlay: overlayColor },\n messageInput: {\n uploadProgressIndicator: { container },\n },\n },\n } = useTheme();\n\n return type === ProgressIndicatorTypes.INACTIVE ? (\n <View style={[styles.overflowHidden, style]} testID='inactive-upload-progress-indicator'>\n {children}\n </View>\n ) : (\n <View style={[styles.overflowHidden, style]} testID='active-upload-progress-indicator'>\n {children}\n <View\n style={[\n type === ProgressIndicatorTypes.NOT_SUPPORTED ? styles.overflowHidden : styles.container,\n { backgroundColor: overlayColor },\n container,\n ]}\n testID='not-supported-upload-progress-indicator'\n >\n {type === ProgressIndicatorTypes.IN_PROGRESS && <InProgressIndicator />}\n {type === ProgressIndicatorTypes.RETRY && <RetryIndicator action={action} />}\n </View>\n </View>\n );\n};\n\nconst InProgressIndicator = () => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <View style={styles.activityIndicatorContainer}>\n <ActivityIndicator color={white_smoke} testID='upload-progress-indicator' />\n </View>\n );\n};\n\nconst RetryIndicator = ({ action }: Pick<UploadProgressIndicatorProps, 'action'>) => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity onPress={action} style={styles.retryButtonContainer}>\n <Refresh\n height={REFRESH_ICON_SIZE}\n pathFill={white_smoke}\n testID='retry-upload-progress-indicator'\n width={REFRESH_ICON_SIZE}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n activityIndicatorContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n container: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n overflowHidden: {\n overflow: 'hidden',\n },\n overlay: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n opacity: 0,\n position: 'absolute',\n width: '100%',\n },\n retryButtonContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n});\n\nUploadProgressIndicator.displayName =\n 'UploadProgressIndicator{messageInput{uploadProgressIndicator}}';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ThemeContext","_icons","_utils","_this","_jsxFileName","REFRESH_ICON_SIZE","UploadProgressIndicator","props","action","children","style","type","_useTheme","useTheme","_useTheme$theme","theme","overlayColor","colors","overlay","container","messageInput","uploadProgressIndicator","ProgressIndicatorTypes","INACTIVE","createElement","View","styles","overflowHidden","testID","__self","__source","fileName","lineNumber","columnNumber","NOT_SUPPORTED","backgroundColor","IN_PROGRESS","InProgressIndicator","RETRY","RetryIndicator","exports","_useTheme2","white_smoke","activityIndicatorContainer","ActivityIndicator","color","_ref","_useTheme3","TouchableOpacity","onPress","retryButtonContainer","Refresh","height","pathFill","width","StyleSheet","create","alignItems","bottom","justifyContent","left","position","right","top","overflow","opacity","displayName"],"sources":["UploadProgressIndicator.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport {\n ActivityIndicator,\n GestureResponderEvent,\n StyleProp,\n StyleSheet,\n TouchableOpacity,\n View,\n ViewStyle,\n} from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport { Refresh } from '../../icons';\nimport { ProgressIndicatorTypes } from '../../utils/utils';\n\nconst REFRESH_ICON_SIZE = 18;\n\nexport type UploadProgressIndicatorProps = {\n /** Action triggered when clicked indicator */\n action?: (event: GestureResponderEvent) => void;\n /** style */\n style?: StyleProp<ViewStyle>;\n /** Type of active indicator */\n type?: 'in_progress' | 'retry' | 'not_supported' | 'inactive' | null;\n};\n\nexport const UploadProgressIndicator = (props: PropsWithChildren<UploadProgressIndicatorProps>) => {\n const { action, children, style, type } = props;\n\n const {\n theme: {\n colors: { overlay: overlayColor },\n messageInput: {\n uploadProgressIndicator: { container },\n },\n },\n } = useTheme();\n\n return type === ProgressIndicatorTypes.INACTIVE ? (\n <View style={[styles.overflowHidden, style]} testID='inactive-upload-progress-indicator'>\n {children}\n </View>\n ) : (\n <View style={[styles.overflowHidden, style]} testID='active-upload-progress-indicator'>\n {children}\n <View\n style={[\n type === ProgressIndicatorTypes.NOT_SUPPORTED ? styles.overflowHidden : styles.container,\n { backgroundColor: overlayColor },\n container,\n ]}\n testID='not-supported-upload-progress-indicator'\n >\n {type === ProgressIndicatorTypes.IN_PROGRESS && <InProgressIndicator />}\n {type === ProgressIndicatorTypes.RETRY && <RetryIndicator action={action} />}\n </View>\n </View>\n );\n};\n\nconst InProgressIndicator = () => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <View style={styles.activityIndicatorContainer}>\n <ActivityIndicator color={white_smoke} testID='upload-progress-indicator' />\n </View>\n );\n};\n\nconst RetryIndicator = ({ action }: Pick<UploadProgressIndicatorProps, 'action'>) => {\n const {\n theme: {\n colors: { white_smoke },\n },\n } = useTheme();\n\n return (\n <TouchableOpacity onPress={action} style={styles.retryButtonContainer}>\n <Refresh\n height={REFRESH_ICON_SIZE}\n pathFill={white_smoke}\n testID='retry-upload-progress-indicator'\n width={REFRESH_ICON_SIZE}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n activityIndicatorContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n container: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n width: '100%',\n },\n overflowHidden: {\n overflow: 'hidden',\n },\n overlay: {\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center',\n opacity: 0,\n position: 'absolute',\n width: '100%',\n },\n retryButtonContainer: {\n alignItems: 'center',\n bottom: 0,\n justifyContent: 'center',\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n});\n\nUploadProgressIndicator.displayName =\n 'UploadProgressIndicator{messageInput{uploadProgressIndicator}}';\n"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  "1 Reply": "1 Reply",
3
3
  "1 Thread Reply": "1 Thread Reply",
4
4
  "Allow access to your Gallery": "Allow access to your Gallery",
5
+ "Allow camera access in device settings": "Allow camera access in device settings",
5
6
  "Also send to channel": "Also send to channel",
6
7
  "Are you sure you want to permanently delete this message?": "Are you sure you want to permanently delete this message?",
7
8
  "Block User": "Block User",
@@ -10,6 +11,7 @@
10
11
  "Copy Message": "Copy Message",
11
12
  "Delete": "Delete",
12
13
  "Delete Message": "Delete Message",
14
+ "Device camera is used to take photos or videos.": "Device camera is used to take photos or videos.",
13
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "Do you want to send a copy of this message to a moderator for further investigation?",
14
16
  "Edit Message": "Edit Message",
15
17
  "Editing Message": "Editing Message",
@@ -39,6 +41,7 @@
39
41
  "Nothing yet...": "Nothing yet...",
40
42
  "Ok": "Ok",
41
43
  "Only visible to you": "Only visible to you",
44
+ "Open Settings": "Open Settings",
42
45
  "Photo": "Photo",
43
46
  "Photos and Videos": "Photos and Videos",
44
47
  "Pin to Conversation": "Pin to Conversation",
@@ -70,5 +70,8 @@
70
70
  "🏙 Attachment...": "🏙 Adjunto...",
71
71
  "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "El archivo supera el tamaño máximo permitido. Por favor, selecciona un archivo menor a {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.",
72
72
  "Let's start chatting!": "¡Empecemos a charlar!",
73
- "How about sending your first message to a friend?": "¿Qué tal enviar tu primer mensaje a un amigo?"
73
+ "How about sending your first message to a friend?": "¿Qué tal enviar tu primer mensaje a un amigo?",
74
+ "Allow camera access in device settings": "Permitir el acceso a la cámara en la configuración del dispositivo",
75
+ "Device camera is used to take photos or videos.": "La cámara del dispositivo se utiliza para tomar fotografías o vídeos.",
76
+ "Open Settings": "Configuración abierta"
74
77
  }
@@ -1,7 +1,8 @@
1
1
  {
2
- "1 Reply": "1 Réponse",
3
- "1 Thread Reply": "Réponse à 1 fil",
4
- "Allow access to your Gallery": "Autoriser l'accès à votre galerie",
2
+ "1 Reply": "",
3
+ "1 Thread Reply": "",
4
+ "Allow access to your Gallery": "",
5
+ "Allow camera access in device settings": "",
5
6
  "Also send to channel": "",
6
7
  "Are you sure you want to permanently delete this message?": "",
7
8
  "Block User": "",
@@ -10,64 +11,66 @@
10
11
  "Copy Message": "",
11
12
  "Delete": "",
12
13
  "Delete Message": "",
14
+ "Device camera is used to take photos or videos.": "",
13
15
  "Do you want to send a copy of this message to a moderator for further investigation?": "",
14
16
  "Edit Message": "",
15
- "Editing Message": "Édite un message",
17
+ "Editing Message": "",
16
18
  "Emoji matching": "",
17
19
  "Empty message...": "",
18
20
  "Error loading": "",
19
21
  "Error loading channel list...": "",
20
22
  "Error loading messages for this channel...": "",
21
23
  "Error while loading, please reload/refresh": "",
22
- "File type not supported": "",
24
+ "File type not supported": "Le type de fichier n'est pas pris en charge",
23
25
  "Flag": "",
24
26
  "Flag Message": "",
25
27
  "Flag action failed either due to a network issue or the message is already flagged": "",
26
28
  "How about sending your first message to a friend?": "",
27
29
  "Instant Commands": "",
28
30
  "Let's start chatting!": "",
29
- "Links are disabled": "Links are disabled",
30
- "Loading channels...": "",
31
- "Loading messages...": "",
32
- "Loading...": "",
33
- "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Taille maximale de téléchargement de fichier atteinte. Veuillez télécharger un fichier inférieur à {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} Mo.",
31
+ "Links are disabled": "",
32
+ "Loading channels...": "Chargement des canaux...",
33
+ "Loading messages...": "Chargement des messages...",
34
+ "Loading...": "Chargement...",
35
+ "Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
34
36
  "Message Reactions": "",
35
37
  "Message deleted": "",
36
38
  "Message flagged": "",
37
39
  "Mute User": "",
38
- "Not supported": "",
40
+ "Not supported": "Non pris en charge",
39
41
  "Nothing yet...": "",
40
42
  "Ok": "",
41
43
  "Only visible to you": "Seulement visible par vous",
44
+ "Open Settings": "",
42
45
  "Photo": "Photo",
43
- "Photos and Videos": "Photos et vidéos",
46
+ "Photos and Videos": "",
44
47
  "Pin to Conversation": "",
45
- "Pinned by": "Épinglé par",
46
- "Please enable access to your photos and videos so you can share them.": "Veuillez autoriser l'accès à vos photos et vidéos afin de pouvoir les partager.",
48
+ "Pinned by": "",
49
+ "Please enable access to your photos and videos so you can share them.": "",
47
50
  "Please select a channel first": "Veuillez d'abord selectionnez un canal",
48
51
  "Reconnecting...": "",
49
52
  "Reply": "",
50
53
  "Reply to Message": "",
51
54
  "Resend": "",
52
55
  "Search GIFs": "",
53
- "Select More Photos": "Sélectionner plus de photos",
56
+ "Select More Photos": "",
54
57
  "Send a message": "",
55
- "Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
58
+ "Sending links is not allowed in this conversation": "",
56
59
  "Slow mode ON": "",
57
60
  "The message has been reported to a moderator.": "",
58
61
  "Thread Reply": "",
59
62
  "Unblock User": "",
60
- "Unknown User": "Utilisateur inconnu",
63
+ "Unknown User": "",
61
64
  "Unmute User": "",
62
65
  "Unpin from Conversation": "",
63
66
  "Unread Messages": "",
64
67
  "Video": "Vidéo",
65
68
  "You": "",
66
69
  "You can't send messages in this channel": "You can't send messages in this channel",
67
- "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
68
- "{{ index }} of {{ photoLength }}": "{{ index }} sur {{ photoLength }}",
69
- "{{ replyCount }} Replies": "{{ replyCount }} Réponses",
70
- "{{ replyCount }} Thread Replies": "{{replyCount}} Réponses à la discussion",
71
- "{{ user }} is typing": "",
70
+ "{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "{{ firstUser }} et {{ nonSelfUserLength }} autres sont en train d'écrire",
71
+ "{{ index }} of {{ photoLength }}": "",
72
+ "{{ replyCount }} Replies": "",
73
+ "{{ replyCount }} Thread Replies": "",
74
+ "{{ user }} is typing": "{{ user }} est en train d'écrire",
72
75
  "🏙 Attachment...": ""
73
76
  }