stream-chat-react-native-core 3.9.0-next.8 → 3.9.2-next.1

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 (61) hide show
  1. package/lib/commonjs/components/Attachment/Gallery.js +3 -5
  2. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  3. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +5 -5
  4. package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  5. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +6 -4
  6. package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  7. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +32 -11
  8. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  9. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +1 -1
  10. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  11. package/lib/commonjs/components/Chat/hooks/useIsOnline.js +23 -24
  12. package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
  13. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +1 -1
  14. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  15. package/lib/commonjs/contexts/themeContext/utils/theme.js +3 -0
  16. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  17. package/lib/commonjs/hooks/useIsMountedRef.js +19 -0
  18. package/lib/commonjs/hooks/useIsMountedRef.js.map +1 -0
  19. package/lib/commonjs/hooks/useStreami18n.js +4 -1
  20. package/lib/commonjs/hooks/useStreami18n.js.map +1 -1
  21. package/lib/commonjs/i18n/fr.json +1 -1
  22. package/lib/commonjs/version.json +1 -1
  23. package/lib/module/components/Attachment/Gallery.js +3 -5
  24. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  25. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +5 -5
  26. package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js.map +1 -1
  27. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +6 -4
  28. package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js.map +1 -1
  29. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +32 -11
  30. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  31. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +1 -1
  32. package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js.map +1 -1
  33. package/lib/module/components/Chat/hooks/useIsOnline.js +23 -24
  34. package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
  35. package/lib/module/components/Message/MessageSimple/utils/renderText.js +1 -1
  36. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  37. package/lib/module/contexts/themeContext/utils/theme.js +3 -0
  38. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  39. package/lib/module/hooks/useIsMountedRef.js +19 -0
  40. package/lib/module/hooks/useIsMountedRef.js.map +1 -0
  41. package/lib/module/hooks/useStreami18n.js +4 -1
  42. package/lib/module/hooks/useStreami18n.js.map +1 -1
  43. package/lib/module/i18n/fr.json +1 -1
  44. package/lib/module/version.json +1 -1
  45. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +3 -0
  46. package/lib/typescript/hooks/useIsMountedRef.d.ts +20 -0
  47. package/lib/typescript/hooks/useStreami18n.d.ts +1 -1
  48. package/lib/typescript/i18n/fr.json +1 -1
  49. package/package.json +1 -1
  50. package/src/components/Attachment/Gallery.tsx +3 -3
  51. package/src/components/AutoCompleteInput/AutoCompleteInput.tsx +3 -8
  52. package/src/components/ChannelList/ChannelListLoadingIndicator.tsx +2 -1
  53. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +7 -1
  54. package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +1 -1
  55. package/src/components/Chat/hooks/useIsOnline.ts +16 -17
  56. package/src/components/Message/MessageSimple/utils/renderText.tsx +1 -1
  57. package/src/contexts/themeContext/utils/theme.ts +6 -0
  58. package/src/hooks/useIsMountedRef.ts +36 -0
  59. package/src/hooks/useStreami18n.ts +5 -3
  60. package/src/i18n/fr.json +1 -1
  61. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelPreviewMessage.tsx"],"names":["styles","StyleSheet","create","bold","fontWeight","message","flexShrink","fontSize","ChannelPreviewMessage","latestMessagePreview","theme","channelPreview","grey","colors","color","previews","map","preview","index","text"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;AAeA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE;AAAd,GADyB;AAE/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE,CADL;AAEPC,IAAAA,QAAQ,EAAE;AAFH;AAFsB,CAAlB,CAAf;;AAmBO,IAAMC,qBAA2D,GAAG,SAA9DA,qBAA8D,OAErE;AAAA,MADJC,oBACI,QADJA,oBACI;;AACJ,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBL,OAFtB,mBAEIM,cAFJ,CAEsBN,OAFtB;AAAA,MAGcO,IAHd,mBAGIC,MAHJ,CAGcD,IAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACZ,MAAM,CAACK,OAAR,EAAiB;AAAES,MAAAA,KAAK,EAAEF;AAAT,KAAjB,EAAkCP,OAAlC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGI,oBAAoB,CAACM,QAArB,CAA8BC,GAA9B,CAAkC,UAACC,OAAD,EAAUC,KAAV;AAAA,WACjCD,OAAO,CAACE,IAAR,GACE,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKF,OAAO,CAACE,IAAb,SAAqBD,KAD1B;AAEE,MAAA,KAAK,EAAE,CAAC;AAAEJ,QAAAA,KAAK,EAAEF;AAAT,OAAD,EAAkBK,OAAO,CAACd,IAAR,GAAeH,MAAM,CAACG,IAAtB,GAA6B,EAA/C,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAIGc,OAAO,CAACE,IAJX,CADF,GAOI,IAR6B;AAAA,GAAlC,CADH,CADF;AAcD,CAxBM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n bold: { fontWeight: '600' },\n message: {\n flexShrink: 1,\n fontSize: 12,\n },\n});\n\nexport type ChannelPreviewMessageProps<\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 latestMessagePreview: LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>;\n};\nexport const ChannelPreviewMessage: React.FC<ChannelPreviewMessageProps> = ({\n latestMessagePreview,\n}) => {\n const {\n theme: {\n channelPreview: { message },\n colors: { grey },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.message, { color: grey }, message]}>\n {latestMessagePreview.previews.map((preview, index) =>\n preview.text ? (\n <Text\n key={`${preview.text}_${index}`}\n style={[{ color: grey }, preview.bold ? styles.bold : {}]}\n >\n {preview.text}\n </Text>\n ) : null,\n )}\n </Text>\n );\n};\n"]}
1
+ {"version":3,"sources":["ChannelPreviewMessage.tsx"],"names":["styles","StyleSheet","create","bold","fontWeight","message","flexShrink","fontSize","ChannelPreviewMessage","latestMessagePreview","theme","channelPreview","grey","colors","color","previews","map","preview","index","text"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;AAeA,IAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE;AAAd,GADyB;AAE/BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE,CADL;AAEPC,IAAAA,QAAQ,EAAE;AAFH;AAFsB,CAAlB,CAAf;;AAmBO,IAAMC,qBAA2D,GAAG,SAA9DA,qBAA8D,OAErE;AAAA,MADJC,oBACI,QADJA,oBACI;;AACJ,kBAKI,6BALJ;AAAA,kCACEC,KADF;AAAA,MAEsBL,OAFtB,mBAEIM,cAFJ,CAEsBN,OAFtB;AAAA,MAGcO,IAHd,mBAGIC,MAHJ,CAGcD,IAHd;;AAOA,SACE,gCAAC,iBAAD;AAAM,IAAA,aAAa,EAAE,CAArB;AAAwB,IAAA,KAAK,EAAE,CAACZ,MAAM,CAACK,OAAR,EAAiB;AAAES,MAAAA,KAAK,EAAEF;AAAT,KAAjB,EAAkCP,OAAlC,CAA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGI,oBAAoB,CAACM,QAArB,CAA8BC,GAA9B,CAAkC,UAACC,OAAD,EAAUC,KAAV;AAAA,WACjCD,OAAO,CAACE,IAAR,GACE,gCAAC,iBAAD;AACE,MAAA,GAAG,EAAKF,OAAO,CAACE,IAAb,SAAqBD,KAD1B;AAEE,MAAA,KAAK,EAAE,CAAC;AAAEJ,QAAAA,KAAK,EAAEF;AAAT,OAAD,EAAkBK,OAAO,CAACd,IAAR,GAAeH,MAAM,CAACG,IAAtB,GAA6B,EAA/C,EAAmDE,OAAnD,CAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAIGY,OAAO,CAACE,IAJX,CADF,GAOI,IAR6B;AAAA,GAAlC,CADH,CADF;AAcD,CAxBM","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text } from 'react-native';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { LatestMessagePreview } from './hooks/useLatestMessagePreview';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../types/types';\n\nconst styles = StyleSheet.create({\n bold: { fontWeight: '600' },\n message: {\n flexShrink: 1,\n fontSize: 12,\n },\n});\n\nexport type ChannelPreviewMessageProps<\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 latestMessagePreview: LatestMessagePreview<At, Ch, Co, Ev, Me, Re, Us>;\n};\nexport const ChannelPreviewMessage: React.FC<ChannelPreviewMessageProps> = ({\n latestMessagePreview,\n}) => {\n const {\n theme: {\n channelPreview: { message },\n colors: { grey },\n },\n } = useTheme();\n\n return (\n <Text numberOfLines={1} style={[styles.message, { color: grey }, message]}>\n {latestMessagePreview.previews.map((preview, index) =>\n preview.text ? (\n <Text\n key={`${preview.text}_${index}`}\n style={[{ color: grey }, preview.bold ? styles.bold : {}, message]}\n >\n {preview.text}\n </Text>\n ) : null,\n )}\n </Text>\n );\n};\n"]}
@@ -15,26 +15,24 @@ var _react = require("react");
15
15
 
16
16
  var _useAppStateListener = require("../../../hooks/useAppStateListener");
17
17
 
18
+ var _useIsMountedRef = require("../../../hooks/useIsMountedRef");
19
+
18
20
  var _native = require("../../../native");
19
21
 
20
22
  var useIsOnline = function useIsOnline(client) {
21
23
  var closeConnectionOnBackground = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
22
24
 
23
- var _useState = (0, _react.useState)(),
25
+ var _useState = (0, _react.useState)(true),
24
26
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
25
- unsubscribeNetInfo = _useState2[0],
26
- setUnsubscribeNetInfo = _useState2[1];
27
+ isOnline = _useState2[0],
28
+ setIsOnline = _useState2[1];
27
29
 
28
- var _useState3 = (0, _react.useState)(true),
30
+ var _useState3 = (0, _react.useState)(false),
29
31
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
30
- isOnline = _useState4[0],
31
- setIsOnline = _useState4[1];
32
-
33
- var _useState5 = (0, _react.useState)(false),
34
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
35
- connectionRecovering = _useState6[0],
36
- setConnectionRecovering = _useState6[1];
32
+ connectionRecovering = _useState4[0],
33
+ setConnectionRecovering = _useState4[1];
37
34
 
35
+ var isMounted = (0, _useIsMountedRef.useIsMountedRef)();
38
36
  var clientExits = !!client;
39
37
  var onBackground = (0, _react.useCallback)(function () {
40
38
  if (!closeConnectionOnBackground) return;
@@ -76,14 +74,16 @@ var useIsOnline = function useIsOnline(client) {
76
74
  }
77
75
  };
78
76
 
79
- var setConnectionListener = function setConnectionListener() {
77
+ var unsubscribeNetInfo;
78
+
79
+ var setNetInfoListener = function setNetInfoListener() {
80
80
  _native.NetInfo.fetch().then(function (netInfoState) {
81
81
  notifyChatClient(netInfoState);
82
82
  });
83
83
 
84
- setUnsubscribeNetInfo(_native.NetInfo.addEventListener(function (netInfoState) {
84
+ unsubscribeNetInfo = _native.NetInfo.addEventListener(function (netInfoState) {
85
85
  notifyChatClient(netInfoState);
86
- }));
86
+ });
87
87
  };
88
88
 
89
89
  var setInitialOnlineState = function () {
@@ -98,7 +98,7 @@ var useIsOnline = function useIsOnline(client) {
98
98
 
99
99
  case 2:
100
100
  status = _context.sent;
101
- setIsOnline(status);
101
+ if (isMounted.current) setIsOnline(status);
102
102
 
103
103
  case 4:
104
104
  case "end":
@@ -114,20 +114,19 @@ var useIsOnline = function useIsOnline(client) {
114
114
  }();
115
115
 
116
116
  setInitialOnlineState();
117
+ var chatListeners = [];
117
118
 
118
119
  if (client) {
119
- client.on('connection.changed', handleChangedEvent);
120
- client.on('connection.recovered', handleRecoveredEvent);
121
- setConnectionListener();
120
+ chatListeners.push(client.on('connection.changed', handleChangedEvent));
121
+ chatListeners.push(client.on('connection.recovered', handleRecoveredEvent));
122
+ setNetInfoListener();
122
123
  }
123
124
 
124
125
  return function () {
125
- client.off('connection.changed', handleChangedEvent);
126
- client.off('connection.recovered', handleRecoveredEvent);
127
-
128
- if (unsubscribeNetInfo) {
129
- unsubscribeNetInfo();
130
- }
126
+ chatListeners.forEach(function (listener) {
127
+ return listener.unsubscribe == null ? void 0 : listener.unsubscribe();
128
+ });
129
+ unsubscribeNetInfo == null ? void 0 : unsubscribeNetInfo();
131
130
  };
132
131
  }, [clientExits]);
133
132
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["useIsOnline.ts"],"names":["useIsOnline","client","closeConnectionOnBackground","unsubscribeNetInfo","setUnsubscribeNetInfo","isOnline","setIsOnline","connectionRecovering","setConnectionRecovering","clientExits","onBackground","cid","activeChannels","channel","state","setIsUpToDate","closeConnection","onForeground","openConnection","handleChangedEvent","event","online","handleRecoveredEvent","notifyChatClient","netInfoState","wsConnection","onlineStatusChanged","type","setConnectionListener","NetInfo","fetch","then","addEventListener","setInitialOnlineState","status","on","off"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useAppStateListener } from '../../../hooks/useAppStateListener';\nimport { NetInfo } from '../../../native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\nimport type { StreamChat, Event as StreamEvent } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\n/**\n * Disconnect the websocket connection when app goes to background,\n * and reconnect when app comes to foreground.\n * We do this to make sure, user receives push notifications when app is in the background.\n * You can't receive push notification until you have active websocket connection.\n */\nexport const useIsOnline = <\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 client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n closeConnectionOnBackground = true,\n) => {\n const [unsubscribeNetInfo, setUnsubscribeNetInfo] = useState<NetInfoSubscription>();\n const [isOnline, setIsOnline] = useState(true);\n const [connectionRecovering, setConnectionRecovering] = useState(false);\n\n const clientExits = !!client;\n\n const onBackground = useCallback(() => {\n if (!closeConnectionOnBackground) return;\n\n for (const cid in client.activeChannels) {\n const channel = client.activeChannels[cid];\n channel?.state.setIsUpToDate(false);\n }\n\n client.closeConnection();\n setIsOnline(false);\n }, [closeConnectionOnBackground, client]);\n\n const onForeground = useCallback(() => {\n if (!closeConnectionOnBackground) return;\n\n client.openConnection();\n }, [closeConnectionOnBackground, client]);\n\n useAppStateListener(onForeground, onBackground);\n\n useEffect(() => {\n const handleChangedEvent = (event: StreamEvent<At, Ch, Co, Ev, Me, Re, Us>) => {\n setConnectionRecovering(!event.online);\n setIsOnline(event.online || false);\n };\n\n const handleRecoveredEvent = () => setConnectionRecovering(false);\n\n const notifyChatClient = (netInfoState: boolean) => {\n if (client?.wsConnection) {\n if (netInfoState) {\n client.wsConnection.onlineStatusChanged({\n type: 'online',\n } as Event);\n } else {\n client.wsConnection.onlineStatusChanged({\n type: 'offline',\n } as Event);\n }\n }\n };\n\n const setConnectionListener = () => {\n NetInfo.fetch().then((netInfoState) => {\n notifyChatClient(netInfoState);\n });\n setUnsubscribeNetInfo(\n NetInfo.addEventListener((netInfoState) => {\n notifyChatClient(netInfoState);\n }),\n );\n };\n\n const setInitialOnlineState = async () => {\n const status = await NetInfo.fetch();\n setIsOnline(status);\n };\n\n setInitialOnlineState();\n if (client) {\n client.on('connection.changed', handleChangedEvent);\n client.on('connection.recovered', handleRecoveredEvent);\n setConnectionListener();\n }\n\n return () => {\n client.off('connection.changed', handleChangedEvent);\n client.off('connection.recovered', handleRecoveredEvent);\n if (unsubscribeNetInfo) {\n unsubscribeNetInfo();\n }\n };\n }, [clientExits]);\n\n return { connectionRecovering, isOnline };\n};\n"]}
1
+ {"version":3,"sources":["useIsOnline.ts"],"names":["useIsOnline","client","closeConnectionOnBackground","isOnline","setIsOnline","connectionRecovering","setConnectionRecovering","isMounted","clientExits","onBackground","cid","activeChannels","channel","state","setIsUpToDate","closeConnection","onForeground","openConnection","handleChangedEvent","event","online","handleRecoveredEvent","notifyChatClient","netInfoState","wsConnection","onlineStatusChanged","type","unsubscribeNetInfo","setNetInfoListener","NetInfo","fetch","then","addEventListener","setInitialOnlineState","status","current","chatListeners","push","on","forEach","listener","unsubscribe"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useAppStateListener } from '../../../hooks/useAppStateListener';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\nimport { NetInfo } from '../../../native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\nimport type { StreamChat, Event as StreamEvent } from 'stream-chat';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../types/types';\n\n/**\n * Disconnect the websocket connection when app goes to background,\n * and reconnect when app comes to foreground.\n * We do this to make sure, user receives push notifications when app is in the background.\n * You can't receive push notification until you have active websocket connection.\n */\nexport const useIsOnline = <\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 client: StreamChat<At, Ch, Co, Ev, Me, Re, Us>,\n closeConnectionOnBackground = true,\n) => {\n const [isOnline, setIsOnline] = useState(true);\n const [connectionRecovering, setConnectionRecovering] = useState(false);\n const isMounted = useIsMountedRef();\n const clientExits = !!client;\n\n const onBackground = useCallback(() => {\n if (!closeConnectionOnBackground) return;\n\n for (const cid in client.activeChannels) {\n const channel = client.activeChannels[cid];\n channel?.state.setIsUpToDate(false);\n }\n\n client.closeConnection();\n setIsOnline(false);\n }, [closeConnectionOnBackground, client]);\n\n const onForeground = useCallback(() => {\n if (!closeConnectionOnBackground) return;\n\n client.openConnection();\n }, [closeConnectionOnBackground, client]);\n\n useAppStateListener(onForeground, onBackground);\n\n useEffect(() => {\n const handleChangedEvent = (event: StreamEvent<At, Ch, Co, Ev, Me, Re, Us>) => {\n setConnectionRecovering(!event.online);\n setIsOnline(event.online || false);\n };\n\n const handleRecoveredEvent = () => setConnectionRecovering(false);\n\n const notifyChatClient = (netInfoState: boolean) => {\n if (client?.wsConnection) {\n if (netInfoState) {\n client.wsConnection.onlineStatusChanged({\n type: 'online',\n } as Event);\n } else {\n client.wsConnection.onlineStatusChanged({\n type: 'offline',\n } as Event);\n }\n }\n };\n\n let unsubscribeNetInfo: NetInfoSubscription;\n const setNetInfoListener = () => {\n NetInfo.fetch().then((netInfoState) => {\n notifyChatClient(netInfoState);\n });\n unsubscribeNetInfo = NetInfo.addEventListener((netInfoState) => {\n notifyChatClient(netInfoState);\n });\n };\n\n const setInitialOnlineState = async () => {\n const status = await NetInfo.fetch();\n\n if (isMounted.current) setIsOnline(status);\n };\n\n setInitialOnlineState();\n const chatListeners: Array<ReturnType<StreamChat['on']>> = [];\n\n if (client) {\n chatListeners.push(client.on('connection.changed', handleChangedEvent));\n chatListeners.push(client.on('connection.recovered', handleRecoveredEvent));\n setNetInfoListener();\n }\n\n return () => {\n chatListeners.forEach((listener) => listener.unsubscribe?.());\n unsubscribeNetInfo?.();\n };\n }, [clientExits]);\n\n return { connectionRecovering, isOnline };\n};\n"]}
@@ -222,7 +222,7 @@ var renderText = function renderText(params) {
222
222
  }
223
223
  } : {});
224
224
  return _react["default"].createElement(_reactNativeMarkdownPackage["default"], {
225
- key: JSON.stringify(mentioned_users) + "-" + onlyEmojis + "-" + (messageOverlay ? JSON.stringify(markdownStyles) : undefined),
225
+ key: JSON.stringify(mentioned_users) + "-" + onlyEmojis + "-" + (messageOverlay ? JSON.stringify(markdownStyles) : undefined) + "-" + JSON.stringify(colors),
226
226
  onLink: onLink,
227
227
  rules: (0, _extends2["default"])({}, customRules, markdownRules),
228
228
  styles: styles,
@@ -1 +1 @@
1
- {"version":3,"sources":["renderText.tsx"],"names":["defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemText","flex","mentions","fontWeight","paragraph","paragraphCenter","paragraphWithImage","parse","capture","state","content","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","mentioned_users","text","newText","trim","urls","urlInfo","displayLink","encoded","replace","length","omission","markdown","protocol","raw","styles","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","black","url","Linking","canOpenURL","then","canOpenUrl","openURL","react","node","output","event","defaultHandler","target","emitter","withinLink","link","React","createElement","Text","key","style","suppressHighlighting","mentionedUsers","Array","isArray","reduce","acc","cur","userName","name","id","regEx","RegExp","match","source","exec","mentionsReact","customRules","reflink","order","defaultRules","JSON","stringify","undefined"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;;AAwBA,IAAMA,qBAAoC,GAAG;AAC3CC,EAAAA,UAAU,EAAE;AACVC,IAAAA,QAAQ,EAAE,EADA;AAEVC,IAAAA,OAAO,EAAE,CAFC;AAGVC,IAAAA,iBAAiB,EAAE;AAHT,GAD+B;AAM3CC,EAAAA,IAAI,EAAE;AACJC,IAAAA,YAAY,EAAE,CADV;AAEJC,IAAAA,SAAS,EAAE;AAFP,GANqC;AAU3CC,EAAAA,YAAY,EAAE;AACZC,IAAAA,IAAI,EAAE;AADM,GAV6B;AAa3CC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,UAAU,EAAE;AADJ,GAbiC;AAiB3CC,EAAAA,SAAS,EAAE;AACTN,IAAAA,YAAY,EAAE,CADL;AAETC,IAAAA,SAAS,EAAE;AAFF,GAjBgC;AAqB3CM,EAAAA,eAAe,EAAE;AACfP,IAAAA,YAAY,EAAE,CADC;AAEfC,IAAAA,SAAS,EAAE;AAFI,GArB0B;AAyB3CO,EAAAA,kBAAkB,EAAE;AAClBR,IAAAA,YAAY,EAAE,CADI;AAElBC,IAAAA,SAAS,EAAE;AAFO;AAzBuB,CAA7C;;AA+BA,IAAMQ,KAAoB,GAAG,eAACC,OAAD,EAAUD,MAAV,EAAiBE,KAAjB;AAAA,SAA4B;AACvDC,IAAAA,OAAO,EAAE,iCAAYH,MAAZ,EAAmBC,OAAO,CAAC,CAAD,CAA1B,EAA+BC,KAA/B;AAD8C,GAA5B;AAAA,CAA7B;;AA0BO,IAAME,UAAU,GAAG,SAAbA,UAAa,CASxBC,MATwB,EAUrB;AACH,MACEC,MADF,GAWID,MAXJ,CACEC,MADF;AAAA,MAEEC,aAFF,GAWIF,MAXJ,CAEEE,aAFF;AAAA,MAGEC,cAHF,GAWIH,MAXJ,CAGEG,cAHF;AAAA,MAIEC,OAJF,GAWIJ,MAXJ,CAIEI,OAJF;AAAA,MAKEC,cALF,GAWIL,MAXJ,CAKEK,cALF;AAAA,MAMUC,YANV,GAWIN,MAXJ,CAMEO,MANF;AAAA,MAOeC,gBAPf,GAWIR,MAXJ,CAOES,WAPF;AAAA,MAQEC,UARF,GAWIV,MAXJ,CAQEU,UARF;AAAA,MASWC,YATX,GAWIX,MAXJ,CASEY,OATF;AAAA,MAUEC,YAVF,GAWIb,MAXJ,CAUEa,YAVF;AAeA,MAAQC,eAAR,GAAkCV,OAAlC,CAAQU,eAAR;AAAA,MAAyBC,IAAzB,GAAkCX,OAAlC,CAAyBW,IAAzB;AAEA,MAAI,CAACA,IAAL,EAAW,OAAO,IAAP;AAEX,MAAIC,OAAO,GAAGD,IAAI,CAACE,IAAL,EAAd;AACA,MAAMC,IAAI,GAAG,0BAASF,OAAT,EAAkB;AAC7B/B,IAAAA,IAAI,EAAE;AADuB,GAAlB,CAAb;;AAIA,uDAAsBiC,IAAtB,wCAA4B;AAAA,QAAjBC,QAAiB;;AAC1B,QAAMC,YAAW,GAAG,0BAASD,QAAO,CAACE,OAAR,CAAgBC,OAAhB,CAAwB,UAAxB,EAAoC,EAApC,CAAT,EAAkD;AACpEC,MAAAA,MAAM,EAAE,GAD4D;AAEpEC,MAAAA,QAAQ,EAAE;AAF0D,KAAlD,CAApB;;AAIA,QAAMC,SAAQ,SAAOL,YAAP,UAAuBD,QAAO,CAACO,QAA/B,GAA0CP,QAAO,CAACE,OAAlD,MAAd;;AACAL,IAAAA,OAAO,GAAGA,OAAO,CAACM,OAAR,CAAgBH,QAAO,CAACQ,GAAxB,EAA6BF,SAA7B,CAAV;AACD;;AAEDT,EAAAA,OAAO,GAAGA,OAAO,CAACM,OAAR,CAAgB,UAAhB,EAA4B,MAA5B,CAAV;AACA,MAAMM,MAAqB,iCACtBhD,qBADsB,EAEtBuB,cAFsB;AAGzB0B,IAAAA,QAAQ,gCACHjD,qBAAqB,CAACiD,QADnB;AAENC,MAAAA,KAAK,EAAE7B,MAAM,CAAC8B;AAFR,OAGH5B,cAHG,oBAGHA,cAAc,CAAE0B,QAHb,CAHiB;AAQzBhD,IAAAA,UAAU,gCACLD,qBAAqB,CAACC,UADjB;AAERmD,MAAAA,eAAe,EAAE/B,MAAM,CAACgC,WAFhB;AAGRC,MAAAA,WAAW,EAAEjC,MAAM,CAACkC,cAHZ;AAIRL,MAAAA,KAAK,EAAE7B,MAAM,CAACmC;AAJN,OAKLjC,cALK,oBAKLA,cAAc,CAAEtB,UALX,CARe;AAezBS,IAAAA,QAAQ,gCACHV,qBAAqB,CAACU,QADnB;AAENwC,MAAAA,KAAK,EAAE7B,MAAM,CAAC8B;AAFR,OAGH5B,cAHG,oBAGHA,cAAc,CAAEb,QAHb,CAfiB;AAoBzByB,IAAAA,IAAI,gCACCnC,qBAAqB,CAACmC,IADvB;AAEFe,MAAAA,KAAK,EAAE7B,MAAM,CAACoC;AAFZ,OAGClC,cAHD,oBAGCA,cAAc,CAAEY,IAHjB;AApBqB,IAA3B;;AA2BA,MAAMR,MAAM,GAAG,SAATA,MAAS,CAAC+B,GAAD;AAAA,WACbhC,YAAY,GACRA,YAAY,CAACgC,GAAD,CADJ,GAERC,qBAAQC,UAAR,CAAmBF,GAAnB,EAAwBG,IAAxB,CAA6B,UAACC,UAAD;AAAA,aAAgBA,UAAU,IAAIH,qBAAQI,OAAR,CAAgBL,GAAhB,CAA9B;AAAA,KAA7B,CAHS;AAAA,GAAf;;AAKA,MAAMM,KAAsB,GAAG,SAAzBA,KAAyB,CAACC,IAAD,EAAOC,MAAP,QAAgC;AAAA,QAAZjD,KAAY;;AAC7D,QAAMe,OAAO,GAAG,SAAVA,OAAU,CAACmC,KAAD,EAAkC;AAChD,UAAI,CAAClC,YAAD,IAAiBF,YAArB,EAAmC;AACjCA,QAAAA,YAAY,CAAC;AACXqC,UAAAA,cAAc,EAAE;AAAA,mBAAMzC,MAAM,CAACsC,IAAI,CAACI,MAAN,CAAZ;AAAA,WADL;AAEXC,UAAAA,OAAO,EAAE,UAFE;AAGXH,UAAAA,KAAK,EAALA;AAHW,SAAD,CAAZ;AAKD;AACF,KARD;;AAUA,QAAMtC,WAAW,GAAG,SAAdA,WAAc,CAACsC,KAAD,EAAkC;AACpD,UAAI,CAAClC,YAAD,IAAiBL,gBAArB,EAAuC;AACrCA,QAAAA,gBAAgB,CAAC;AACf0C,UAAAA,OAAO,EAAE,UADM;AAEfH,UAAAA,KAAK,EAALA;AAFe,SAAD,CAAhB;AAID;AACF,KAPD;;AASAlD,IAAAA,KAAK,CAACsD,UAAN,GAAmB,IAAnB;;AACA,QAAMC,IAAI,GAAGC,kBAAMC,aAAN,CACXC,iBADW,EAEX;AACEC,MAAAA,GAAG,EAAE3D,KAAK,CAAC2D,GADb;AAEE/C,MAAAA,WAAW,EAAXA,WAFF;AAGEG,MAAAA,OAAO,EAAPA,OAHF;AAIE6C,MAAAA,KAAK,EAAE7B,MAAM,CAACC,QAJhB;AAKE6B,MAAAA,oBAAoB,EAAE;AALxB,KAFW,EASXZ,MAAM,CAACD,IAAI,CAAC/C,OAAN,EAAeD,KAAf,CATK,CAAb;;AAWAA,IAAAA,KAAK,CAACsD,UAAN,GAAmB,KAAnB;AACA,WAAOC,IAAP;AACD,GAlCD;;AAoCA,MAAMO,cAAc,GAAGC,KAAK,CAACC,OAAN,CAAc/C,eAAd,IACnBA,eAAe,CAACgD,MAAhB,CAAuB,UAACC,GAAD,EAAMC,GAAN,EAAc;AACnC,QAAMC,QAAQ,GAAGD,GAAG,CAACE,IAAJ,IAAYF,GAAG,CAACG,EAAhB,IAAsB,EAAvC;;AACA,QAAIF,QAAJ,EAAc;AACZF,MAAAA,GAAG,KAAOA,GAAG,CAACxC,MAAJ,GAAa,GAAb,GAAmB,EAA1B,UAAgC0C,QAAnC;AACD;;AACD,WAAOF,GAAP;AACD,GAND,EAMG,EANH,CADmB,GAQnB,EARJ;AAUA,MAAMK,KAAK,GAAG,IAAIC,MAAJ,WAAmBV,cAAnB,QAAsC,GAAtC,CAAd;;AACA,MAAMW,KAAoB,GAAG,SAAvBA,KAAuB,CAACC,MAAD;AAAA,WAAYH,KAAK,CAACI,IAAN,CAAWD,MAAX,CAAZ;AAAA,GAA7B;;AAEA,MAAME,aAA8B,GAAG,SAAjCA,aAAiC,CAAC5B,IAAD,EAAOC,MAAP,SAAgC;AAAA;;AAAA,QAAZjD,KAAY;;AACrE,QAAMe,OAAO,GAAG,SAAVA,OAAU,CAACmC,KAAD,EAAkC;AAChD,UAAI,CAAClC,YAAD,IAAiBF,YAArB,EAAmC;AACjCA,QAAAA,YAAY,CAAC;AACXuC,UAAAA,OAAO,EAAE,aADE;AAEXH,UAAAA,KAAK,EAALA;AAFW,SAAD,CAAZ;AAID;AACF,KAPD;;AASA,QAAMtC,WAAW,GAAG,SAAdA,WAAc,CAACsC,KAAD,EAAkC;AACpD,UAAI,CAAClC,YAAD,IAAiBL,gBAArB,EAAuC;AACrCA,QAAAA,gBAAgB,CAAC;AACf0C,UAAAA,OAAO,EAAE,aADM;AAEfH,UAAAA,KAAK,EAALA;AAFe,SAAD,CAAhB;AAID;AACF,KAPD;;AASA,WAAOM,kBAAMC,aAAN,CACLC,iBADK,EAEL;AACEC,MAAAA,GAAG,EAAE3D,KAAK,CAAC2D,GADb;AAEE/C,MAAAA,WAAW,EAAXA,WAFF;AAGEG,MAAAA,OAAO,EAAPA,OAHF;AAIE6C,MAAAA,KAAK,EAAE7B,MAAM,CAACtC;AAJhB,KAFK,EAQLsE,KAAK,CAACC,OAAN,CAAchB,IAAI,CAAC/C,OAAnB,IAA8B,mBAAA+C,IAAI,CAAC/C,OAAL,CAAa,CAAb,qCAAiBA,OAAjB,KAA4B,EAA1D,GAA+DgD,MAAM,CAACD,IAAI,CAAC/C,OAAN,EAAeD,KAAf,CARhE,CAAP;AAUD,GA7BD;;AA+BA,MAAM6E,WAAW;AACftB,IAAAA,IAAI,EAAE;AAAER,MAAAA,KAAK,EAALA;AAAF,KADS;AAGf+B,IAAAA,OAAO,EAAE;AAAEL,MAAAA,KAAK,EAAE;AAAA,eAAM,IAAN;AAAA;AAAT;AAHM,KAIXX,cAAc,GACd;AACErE,IAAAA,QAAQ,EAAE;AACRgF,MAAAA,KAAK,EAALA,KADQ;AAERM,MAAAA,KAAK,EAAEC,6BAAa9D,IAAb,CAAkB6D,KAAlB,GAA0B,GAFzB;AAGRjF,MAAAA,KAAK,EAALA,KAHQ;AAIRiD,MAAAA,KAAK,EAAE6B;AAJC;AADZ,GADc,GASd,EAbW,CAAjB;AAgBA,SACE,gCAAC,sCAAD;AACE,IAAA,GAAG,EAAKK,IAAI,CAACC,SAAL,CAAejE,eAAf,CAAL,SAAwCJ,UAAxC,UACDL,cAAc,GAAGyE,IAAI,CAACC,SAAL,CAAe5E,cAAf,CAAH,GAAoC6E,SADjD,CADL;AAIE,IAAA,MAAM,EAAEzE,MAJV;AAKE,IAAA,KAAK,gCACAmE,WADA,EAEAxE,aAFA,CALP;AASE,IAAA,MAAM,EAAE0B,MATV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAWGZ,OAXH,CADF;AAeD,CA5LM","sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Linking, Text } from 'react-native';\nimport anchorme from 'anchorme';\nimport truncate from 'lodash/truncate';\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n} from 'simple-markdown';\n\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../../types/types';\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\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 listItemText: {\n flex: 0,\n },\n mentions: {\n fontWeight: '700',\n },\n // unfortunately marginVertical doesn't override the defaults for these within the 3rd party lib\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 parse: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\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' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\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 params: RenderTextParams<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users, text } = message;\n\n if (!text) return null;\n\n let newText = text.trim();\n const urls = anchorme(newText, {\n list: true,\n });\n\n for (const urlInfo of urls) {\n const displayLink = truncate(urlInfo.encoded.replace(/^(www\\.)/, ''), {\n length: 200,\n omission: '...',\n });\n const markdown = `[${displayLink}](${urlInfo.protocol}${urlInfo.encoded})`;\n newText = newText.replace(urlInfo.raw, markdown);\n }\n\n newText = newText.replace(/[<&\"'>]/g, '\\\\$&');\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 onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n\n const react: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n defaultHandler: () => onLink(node.target),\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textLink',\n event,\n });\n }\n };\n\n state.withinLink = true;\n const link = React.createElement(\n Text,\n {\n key: state.key,\n onLongPress,\n onPress,\n style: styles.autolink,\n suppressHighlighting: true,\n },\n output(node.content, state),\n );\n state.withinLink = false;\n return link;\n };\n\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}`;\n }\n return acc;\n }, '')\n : '';\n\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const match: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\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 React.createElement(\n Text,\n {\n key: state.key,\n onLongPress,\n onPress,\n style: styles.mentions,\n },\n Array.isArray(node.content) ? node.content[0]?.content || '' : output(node.content, state),\n );\n };\n\n const customRules = {\n link: { react },\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n ...(mentionedUsers\n ? {\n mentions: {\n match,\n order: defaultRules.text.order - 0.5,\n parse,\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 }`}\n onLink={onLink}\n rules={{\n ...customRules,\n ...markdownRules,\n }}\n styles={styles}\n >\n {newText}\n </Markdown>\n );\n};\n"]}
1
+ {"version":3,"sources":["renderText.tsx"],"names":["defaultMarkdownStyles","inlineCode","fontSize","padding","paddingHorizontal","list","marginBottom","marginTop","listItemText","flex","mentions","fontWeight","paragraph","paragraphCenter","paragraphWithImage","parse","capture","state","content","renderText","params","colors","markdownRules","markdownStyles","message","messageOverlay","onLinkParams","onLink","onLongPressParam","onLongPress","onlyEmojis","onPressParam","onPress","preventPress","mentioned_users","text","newText","trim","urls","urlInfo","displayLink","encoded","replace","length","omission","markdown","protocol","raw","styles","autolink","color","accent_blue","backgroundColor","white_smoke","borderColor","grey_gainsboro","accent_red","black","url","Linking","canOpenURL","then","canOpenUrl","openURL","react","node","output","event","defaultHandler","target","emitter","withinLink","link","React","createElement","Text","key","style","suppressHighlighting","mentionedUsers","Array","isArray","reduce","acc","cur","userName","name","id","regEx","RegExp","match","source","exec","mentionsReact","customRules","reflink","order","defaultRules","JSON","stringify","undefined"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { GestureResponderEvent, Linking, Text } from 'react-native';\nimport anchorme from 'anchorme';\nimport truncate from 'lodash/truncate';\n// @ts-expect-error\nimport Markdown from 'react-native-markdown-package';\nimport {\n DefaultRules,\n defaultRules,\n MatchFunction,\n ParseFunction,\n parseInline,\n ReactNodeOutput,\n} from 'simple-markdown';\n\nimport type { MessageType } from '../../../MessageList/hooks/useMessageList';\n\nimport type {\n DefaultAttachmentType,\n DefaultChannelType,\n DefaultCommandType,\n DefaultEventType,\n DefaultMessageType,\n DefaultReactionType,\n DefaultUserType,\n UnknownType,\n} from '../../../../types/types';\nimport type { MessageContextValue } from '../../../../contexts/messageContext/MessageContext';\nimport type { Colors, MarkdownStyle } from '../../../../contexts/themeContext/utils/theme';\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 listItemText: {\n flex: 0,\n },\n mentions: {\n fontWeight: '700',\n },\n // unfortunately marginVertical doesn't override the defaults for these within the 3rd party lib\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 parse: ParseFunction = (capture, parse, state) => ({\n content: parseInline(parse, capture[0], state),\n});\n\nexport type MarkdownRules = Partial<DefaultRules>;\n\nexport type RenderTextParams<\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' | 'onPress' | 'preventPress'>\n> & {\n colors: typeof Colors;\n message: MessageType<At, Ch, Co, Ev, Me, Re, Us>;\n markdownRules?: MarkdownRules;\n markdownStyles?: MarkdownStyle;\n messageOverlay?: boolean;\n onLink?: (url: string) => Promise<void>;\n onlyEmojis?: boolean;\n};\n\nexport const renderText = <\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 params: RenderTextParams<At, Ch, Co, Ev, Me, Re, Us>,\n) => {\n const {\n colors,\n markdownRules,\n markdownStyles,\n message,\n messageOverlay,\n onLink: onLinkParams,\n onLongPress: onLongPressParam,\n onlyEmojis,\n onPress: onPressParam,\n preventPress,\n } = params;\n\n // take the @ mentions and turn them into markdown?\n // translate links\n const { mentioned_users, text } = message;\n\n if (!text) return null;\n\n let newText = text.trim();\n const urls = anchorme(newText, {\n list: true,\n });\n\n for (const urlInfo of urls) {\n const displayLink = truncate(urlInfo.encoded.replace(/^(www\\.)/, ''), {\n length: 200,\n omission: '...',\n });\n const markdown = `[${displayLink}](${urlInfo.protocol}${urlInfo.encoded})`;\n newText = newText.replace(urlInfo.raw, markdown);\n }\n\n newText = newText.replace(/[<&\"'>]/g, '\\\\$&');\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 onLinkParams\n ? onLinkParams(url)\n : Linking.canOpenURL(url).then((canOpenUrl) => canOpenUrl && Linking.openURL(url));\n\n const react: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\n defaultHandler: () => onLink(node.target),\n emitter: 'textLink',\n event,\n });\n }\n };\n\n const onLongPress = (event: GestureResponderEvent) => {\n if (!preventPress && onLongPressParam) {\n onLongPressParam({\n emitter: 'textLink',\n event,\n });\n }\n };\n\n state.withinLink = true;\n const link = React.createElement(\n Text,\n {\n key: state.key,\n onLongPress,\n onPress,\n style: styles.autolink,\n suppressHighlighting: true,\n },\n output(node.content, state),\n );\n state.withinLink = false;\n return link;\n };\n\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}`;\n }\n return acc;\n }, '')\n : '';\n\n const regEx = new RegExp(`^\\\\B(${mentionedUsers})`, 'g');\n const match: MatchFunction = (source) => regEx.exec(source);\n\n const mentionsReact: ReactNodeOutput = (node, output, { ...state }) => {\n const onPress = (event: GestureResponderEvent) => {\n if (!preventPress && onPressParam) {\n onPressParam({\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 React.createElement(\n Text,\n {\n key: state.key,\n onLongPress,\n onPress,\n style: styles.mentions,\n },\n Array.isArray(node.content) ? node.content[0]?.content || '' : output(node.content, state),\n );\n };\n\n const customRules = {\n link: { react },\n // we have no react rendering support for reflinks\n reflink: { match: () => null },\n ...(mentionedUsers\n ? {\n mentions: {\n match,\n order: defaultRules.text.order - 0.5,\n parse,\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 {newText}\n </Markdown>\n );\n};\n"]}
@@ -77,6 +77,9 @@ var defaultTheme = {
77
77
  container: {},
78
78
  errorText: {}
79
79
  },
80
+ channelListLoadingIndicator: {
81
+ container: {}
82
+ },
80
83
  channelListMessenger: {
81
84
  flatList: {},
82
85
  flatListContent: {}
@@ -1 +1 @@
1
- {"version":3,"sources":["theme.ts"],"names":["DEFAULT_STATUS_ICON_SIZE","Colors","accent_blue","accent_green","accent_red","bg_gradient_end","bg_gradient_start","black","blue_alice","border","grey","grey_gainsboro","grey_whisper","icon_background","modal_shadow","overlay","overlay_dark","shadow_icon","targetedMessageBackground","transparent","white","white_smoke","white_snow","defaultTheme","attachmentPicker","bottomSheetContentContainer","errorButtonText","errorContainer","errorText","image","imageOverlay","imageOverlaySelectedComponent","check","attachmentSelectionBar","container","icon","avatar","BASE_AVATAR_SIZE","borderRadius","height","width","presenceIndicator","cx","cy","r","strokeWidth","presenceIndicatorContainer","channel","selectChannel","channelListFooterLoadingIndicator","channelListHeaderErrorIndicator","channelListMessenger","flatList","flatListContent","channelListSkeleton","animationTime","background","gradientStart","stopOpacity","gradientStop","channelPreview","checkAllIcon","checkIcon","contentContainer","date","message","fontWeight","row","title","unreadContainer","unreadText","colors","dateHeader","text","emptyStateIndicator","channelContainer","channelDetails","channelTitle","groupAvatar","resizeMode","iconBadge","iconInner","unreadCount","iconSquare","imageGallery","blurType","footer","centerContainer","imageCountText","innerContainer","leftContainer","rightContainer","grid","gridAvatar","gridAvatarWrapper","gridImage","handle","handleText","header","dateText","usernameText","inlineDateSeparator","loadingDots","loadingDot","spacing","loadingErrorIndicator","retryText","loadingIndicator","loadingText","messageInput","attachButton","attachButtonContainer","autoCompleteInputContainer","commandsButton","commandsButtonContainer","composerContainer","editingBoxContainer","editingBoxHeader","editingBoxHeaderTitle","fileUploadPreview","dismiss","fileContainer","fileContentContainer","filenameText","fileSizeText","fileTextContainer","giphyContainer","giphyText","imageUploadPreview","itemContainer","upload","inputBox","inputBoxContainer","moreOptionsButton","optionsContainer","replyContainer","sendButton","sendButtonContainer","showThreadMessageInChannelButton","checkBoxActive","checkBoxInactive","suggestions","command","args","iconContainer","commandsHeader","maxHeight","emoji","emojisHeader","item","mention","avatarSize","column","name","tag","suggestionsListContainer","uploadProgressIndicator","messageList","errorNotification","errorNotificationText","inlineUnreadIndicator","listContainer","messageSystem","line","textContainer","scrollToBottomButton","touchable","unreadCountNotificationContainer","unreadCountNotificationText","wrapper","typingIndicatorContainer","messageSimple","actions","button","buttonText","avatarWrapper","leftAlign","marginRight","rightAlign","marginLeft","spacer","card","authorName","authorNameContainer","authorNameFooter","authorNameFooterContainer","authorNameMask","cover","description","noURI","borderLeftWidth","paddingLeft","content","borderRadiusL","borderRadiusS","containerInner","deletedContainer","deletedContainerInner","deletedMetaText","paddingHorizontal","deletedText","em","fontSize","fontStyle","paddingRight","paddingTop","errorIcon","errorIconContainer","bottom","position","right","eyeIcon","markdown","messageUser","metaContainer","flexDirection","marginTop","metaText","replyBorder","onlyEmojiMarkdown","file","details","fileSize","fileAttachmentGroup","gallery","galleryContainer","galleryItemColumn","halfSize","imageContainer","moreImagesContainer","moreImagesText","size","giphy","cancel","cancelContainer","giphyMask","selectionContainer","selector","send","sendContainer","shuffleButton","reactionList","middleIcon","radius","reactionBubble","reactionBubbleBackground","reactionSize","strokeSize","replies","avatarContainerMultiple","avatarContainerSingle","leftAvatarsContainer","leftCurve","messageRepliesText","rightAvatarsContainer","rightCurve","status","readByCount","statusContainer","timeIcon","targetedMessageUnderlay","padding","reactions","avatarContainer","avatarName","flatListContainer","reactionsList","reaction","reply","fileAttachmentContainer","imageAttachment","markdownStyles","messageContainer","screenPadding","spinner","thread","newThread","typingIndicator"],"mappings":"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","sourcesContent":["import { vh } from '../../../utils/utils';\n\nimport type { ImageStyle, TextStyle, ViewStyle } from 'react-native';\nimport type { CircleProps, StopProps } from 'react-native-svg';\n\nimport type { IconProps } from '../../../icons/utils/base';\n\nexport const DEFAULT_STATUS_ICON_SIZE = 16;\n\nexport const Colors = {\n accent_blue: '#005FFF',\n accent_green: '#20E070',\n accent_red: '#FF3742',\n bg_gradient_end: '#F7F7F7',\n bg_gradient_start: '#FCFCFC',\n black: '#000000',\n blue_alice: '#E9F2FF',\n border: '#00000014', // 14 = 8% opacity; top: x=0, y=-1; bottom: x=0, y=1\n grey: '#7A7A7A',\n grey_gainsboro: '#DBDBDB',\n grey_whisper: '#ECEBEB',\n icon_background: '#FFFFFF',\n modal_shadow: '#00000099', // 99 = 60% opacity; x=0, y= 1, radius=4\n overlay: '#00000033', // 33 = 20% opacity\n overlay_dark: '#00000099', // 99 = 60% opacity\n shadow_icon: '#00000040', // 40 = 25% opacity; x=0, y=0, radius=4\n targetedMessageBackground: '#FBF4DD', // dark mode = #302D22\n transparent: 'transparent',\n white: '#FFFFFF',\n white_smoke: '#F2F2F2',\n white_snow: '#FCFCFC',\n};\n\nexport type MarkdownStyle = Partial<{\n autolink: TextStyle;\n blockQuoteBar: ViewStyle;\n blockQuoteSection: ViewStyle;\n blockQuoteSectionBar: ViewStyle;\n blockQuoteText: TextStyle | ViewStyle;\n br: TextStyle;\n codeBlock: TextStyle;\n del: TextStyle;\n em: TextStyle;\n heading: TextStyle;\n heading1: TextStyle;\n heading2: TextStyle;\n heading3: TextStyle;\n heading4: TextStyle;\n heading5: TextStyle;\n heading6: TextStyle;\n hr: ViewStyle;\n image: ImageStyle;\n inlineCode: TextStyle;\n list: ViewStyle;\n listItem: ViewStyle;\n listItemBullet: TextStyle;\n listItemNumber: TextStyle;\n listItemText: TextStyle;\n listRow: ViewStyle;\n mailTo: TextStyle;\n mentions: TextStyle;\n newline: TextStyle;\n noMargin: TextStyle;\n paragraph: TextStyle;\n paragraphCenter: TextStyle;\n paragraphWithImage: ViewStyle;\n strong: TextStyle;\n sublist: ViewStyle;\n table: ViewStyle;\n tableHeader: ViewStyle;\n tableHeaderCell: TextStyle;\n tableRow: ViewStyle;\n tableRowCell: ViewStyle;\n tableRowLast: ViewStyle;\n text: TextStyle;\n u: TextStyle;\n view: ViewStyle;\n}>;\n\nexport type Theme = {\n attachmentPicker: {\n bottomSheetContentContainer: ViewStyle;\n errorButtonText: TextStyle;\n errorContainer: ViewStyle;\n errorText: TextStyle;\n image: ViewStyle;\n imageOverlay: ViewStyle;\n imageOverlaySelectedComponent: {\n check: ViewStyle;\n };\n };\n attachmentSelectionBar: {\n container: ViewStyle;\n icon: ViewStyle;\n };\n avatar: {\n BASE_AVATAR_SIZE: number;\n container: ViewStyle;\n image: ImageStyle;\n presenceIndicator: CircleProps;\n presenceIndicatorContainer: ViewStyle;\n };\n channel: {\n selectChannel: TextStyle;\n };\n channelListFooterLoadingIndicator: {\n container: ViewStyle;\n };\n channelListHeaderErrorIndicator: {\n container: ViewStyle;\n errorText: TextStyle;\n };\n channelListMessenger: {\n flatList: ViewStyle;\n flatListContent: ViewStyle;\n };\n channelListSkeleton: {\n animationTime: number;\n background: ViewStyle;\n container: ViewStyle;\n gradientStart: StopProps;\n gradientStop: StopProps;\n height: number;\n };\n channelPreview: {\n checkAllIcon: IconProps;\n checkIcon: IconProps;\n container: ViewStyle;\n contentContainer: ViewStyle;\n date: TextStyle;\n message: TextStyle & {\n fontWeight: TextStyle['fontWeight'];\n };\n row: ViewStyle;\n title: TextStyle;\n unreadContainer: ViewStyle;\n unreadText: TextStyle;\n };\n colors: typeof Colors & { [key: string]: string };\n dateHeader: {\n container: ViewStyle;\n text: TextStyle;\n };\n emptyStateIndicator: {\n channelContainer: ViewStyle;\n channelDetails: TextStyle;\n channelTitle: TextStyle;\n };\n groupAvatar: {\n container: ViewStyle;\n image: ImageStyle;\n };\n iconBadge: {\n icon: ViewStyle;\n iconInner: ViewStyle;\n unreadCount: TextStyle;\n };\n iconSquare: {\n container: ViewStyle;\n image: ImageStyle;\n };\n imageGallery: {\n blurType: 'light' | 'dark';\n footer: {\n centerContainer: ViewStyle;\n container: ViewStyle;\n imageCountText: TextStyle;\n innerContainer: ViewStyle;\n leftContainer: ViewStyle;\n rightContainer: ViewStyle;\n };\n grid: {\n contentContainer: ViewStyle;\n gridAvatar: ImageStyle;\n gridAvatarWrapper: ViewStyle;\n gridImage: ViewStyle;\n handle: ViewStyle;\n handleText: TextStyle;\n overlay: ViewStyle;\n };\n header: {\n centerContainer: ViewStyle;\n container: ViewStyle;\n dateText: TextStyle;\n innerContainer: ViewStyle;\n leftContainer: ViewStyle;\n rightContainer: ViewStyle;\n usernameText: TextStyle;\n };\n backgroundColor?: string;\n };\n inlineDateSeparator: {\n container: ViewStyle;\n text: TextStyle;\n };\n loadingDots: {\n container: ViewStyle;\n loadingDot: ViewStyle;\n spacing: number;\n };\n loadingErrorIndicator: {\n container: ViewStyle;\n errorText: TextStyle;\n retryText: TextStyle;\n };\n loadingIndicator: {\n container: ViewStyle;\n loadingText: TextStyle;\n };\n messageInput: {\n attachButton: ViewStyle;\n attachButtonContainer: ViewStyle;\n attachmentSelectionBar: ViewStyle;\n autoCompleteInputContainer: ViewStyle;\n commandsButton: ViewStyle;\n commandsButtonContainer: ViewStyle;\n composerContainer: ViewStyle;\n container: ViewStyle;\n editingBoxContainer: ViewStyle;\n editingBoxHeader: ViewStyle;\n editingBoxHeaderTitle: TextStyle;\n fileUploadPreview: {\n dismiss: ViewStyle;\n fileContainer: ViewStyle;\n fileContentContainer: ViewStyle;\n filenameText: TextStyle;\n fileSizeText: TextStyle;\n fileTextContainer: ViewStyle;\n flatList: ViewStyle;\n };\n giphyContainer: ViewStyle;\n giphyText: TextStyle;\n imageUploadPreview: {\n dismiss: ViewStyle;\n flatList: ViewStyle;\n itemContainer: ViewStyle;\n upload: ImageStyle;\n };\n inputBox: TextStyle;\n inputBoxContainer: ViewStyle;\n moreOptionsButton: ViewStyle;\n optionsContainer: ViewStyle;\n replyContainer: ViewStyle;\n sendButton: ViewStyle;\n sendButtonContainer: ViewStyle;\n showThreadMessageInChannelButton: {\n check: IconProps;\n checkBoxActive: ViewStyle;\n checkBoxInactive: ViewStyle;\n container: ViewStyle;\n innerContainer: ViewStyle;\n text: TextStyle;\n };\n suggestions: {\n command: {\n args: TextStyle;\n container: ViewStyle;\n iconContainer: ViewStyle;\n title: TextStyle;\n };\n commandsHeader: {\n container: ViewStyle;\n title: TextStyle;\n };\n container: ViewStyle & {\n maxHeight: number;\n };\n emoji: {\n container: ViewStyle;\n text: TextStyle;\n };\n emojisHeader: {\n container: ViewStyle;\n title: TextStyle;\n };\n item: ViewStyle;\n mention: {\n avatarSize: number;\n column: ViewStyle;\n container: ViewStyle;\n name: TextStyle;\n tag: TextStyle;\n };\n };\n suggestionsListContainer: ViewStyle;\n uploadProgressIndicator: {\n container: ViewStyle;\n overlay: ViewStyle;\n };\n };\n messageList: {\n container: ViewStyle;\n contentContainer: ViewStyle;\n errorNotification: ViewStyle;\n errorNotificationText: TextStyle;\n inlineUnreadIndicator: {\n container: ViewStyle;\n text: TextStyle;\n };\n listContainer: ViewStyle;\n messageSystem: {\n container: ViewStyle;\n dateText: TextStyle;\n line: ViewStyle;\n text: TextStyle;\n textContainer: ViewStyle;\n };\n scrollToBottomButton: {\n container: ViewStyle;\n touchable: ViewStyle;\n unreadCountNotificationContainer: ViewStyle;\n unreadCountNotificationText: TextStyle;\n wrapper: ViewStyle;\n };\n typingIndicatorContainer: ViewStyle;\n };\n messageSimple: {\n actions: {\n button: ViewStyle & {\n defaultBackgroundColor?: ViewStyle['backgroundColor'];\n defaultBorderColor?: ViewStyle['borderColor'];\n primaryBackgroundColor?: ViewStyle['backgroundColor'];\n primaryBorderColor?: ViewStyle['borderColor'];\n };\n buttonText: TextStyle & {\n defaultColor?: TextStyle['color'];\n primaryColor?: TextStyle['color'];\n };\n container: ViewStyle;\n };\n avatarWrapper: {\n container: ViewStyle;\n leftAlign: ViewStyle;\n rightAlign: ViewStyle;\n spacer: ViewStyle;\n };\n card: {\n authorName: TextStyle;\n authorNameContainer: ViewStyle;\n authorNameFooter: TextStyle;\n authorNameFooterContainer: ViewStyle;\n authorNameMask: ViewStyle;\n container: ViewStyle;\n cover: ImageStyle;\n footer: ViewStyle & {\n description: TextStyle;\n title: TextStyle;\n };\n noURI: ViewStyle;\n };\n container: ViewStyle;\n content: {\n container: ViewStyle & {\n borderRadiusL: ViewStyle['borderBottomLeftRadius' | 'borderTopLeftRadius'];\n borderRadiusS: ViewStyle['borderBottomRightRadius' | 'borderTopRightRadius'];\n };\n containerInner: ViewStyle;\n deletedContainer: ViewStyle;\n deletedContainerInner: ViewStyle;\n deletedMetaText: TextStyle;\n deletedText: MarkdownStyle;\n errorContainer: ViewStyle;\n errorIcon: IconProps;\n errorIconContainer: ViewStyle;\n eyeIcon: IconProps;\n /**\n * Available options for styling text:\n * https://github.com/andangrd/react-native-markdown-package/blob/master/styles.js\n */\n markdown: MarkdownStyle;\n messageUser: TextStyle;\n metaContainer: ViewStyle;\n metaText: TextStyle;\n replyBorder: ViewStyle;\n replyContainer: ViewStyle;\n textContainer: ViewStyle & {\n onlyEmojiMarkdown: MarkdownStyle;\n };\n wrapper: ViewStyle;\n };\n file: {\n container: ViewStyle;\n details: ViewStyle;\n fileSize: TextStyle;\n icon: IconProps;\n title: TextStyle;\n };\n fileAttachmentGroup: {\n container: ViewStyle;\n };\n gallery: {\n galleryContainer: ViewStyle;\n galleryItemColumn: ViewStyle;\n halfSize: ViewStyle['height'];\n image: ImageStyle;\n imageContainer: ViewStyle;\n moreImagesContainer: ViewStyle;\n moreImagesText: TextStyle;\n size: ViewStyle['height'];\n width: ViewStyle['width'];\n };\n giphy: {\n cancel: TextStyle;\n cancelContainer: ViewStyle;\n container: ViewStyle;\n giphy: ImageStyle;\n giphyContainer: ViewStyle;\n giphyMask: ViewStyle;\n giphyText: TextStyle;\n selectionContainer: ViewStyle;\n selector: ViewStyle;\n send: TextStyle;\n sendContainer: ViewStyle;\n shuffleButton: ViewStyle;\n title: TextStyle;\n };\n reactionList: {\n container: ViewStyle;\n middleIcon: ViewStyle;\n radius: number;\n reactionBubble: ViewStyle;\n reactionBubbleBackground: ViewStyle;\n reactionSize: number;\n strokeSize: number;\n };\n replies: {\n avatar: ViewStyle;\n avatarContainerMultiple: ViewStyle;\n avatarContainerSingle: ViewStyle;\n container: ViewStyle;\n leftAvatarsContainer: ViewStyle;\n leftCurve: ViewStyle;\n messageRepliesText: TextStyle;\n rightAvatarsContainer: ViewStyle;\n rightCurve: ViewStyle;\n avatarSize?: number;\n };\n status: {\n checkAllIcon: IconProps;\n checkIcon: IconProps;\n readByCount: TextStyle;\n statusContainer: ViewStyle;\n timeIcon: IconProps;\n };\n targetedMessageUnderlay: ViewStyle;\n };\n overlay: {\n padding: number;\n reactions: {\n avatarContainer: ViewStyle;\n avatarName: TextStyle;\n avatarSize: number;\n container: ViewStyle;\n flatListContainer: ViewStyle;\n radius: number;\n reactionBubble: ViewStyle;\n reactionBubbleBackground: ViewStyle;\n title: TextStyle;\n };\n reactionsList: {\n radius: number;\n reaction: ViewStyle;\n reactionList: ViewStyle;\n reactionSize: number;\n };\n };\n reply: {\n container: ViewStyle;\n fileAttachmentContainer: ViewStyle;\n imageAttachment: ImageStyle;\n markdownStyles: MarkdownStyle;\n messageContainer: ViewStyle;\n textContainer: ViewStyle;\n };\n screenPadding: number;\n spinner: ViewStyle;\n thread: {\n newThread: ViewStyle & {\n text: TextStyle;\n backgroundGradientStart?: string;\n backgroundGradientStop?: string;\n };\n };\n typingIndicator: {\n container: ViewStyle;\n text: TextStyle & {\n fontSize: TextStyle['fontSize'];\n };\n };\n};\n\nexport const defaultTheme: Theme = {\n attachmentPicker: {\n bottomSheetContentContainer: {},\n errorButtonText: {},\n errorContainer: {},\n errorText: {},\n image: {},\n imageOverlay: {},\n imageOverlaySelectedComponent: {\n check: {},\n },\n },\n attachmentSelectionBar: {\n container: {},\n icon: {},\n },\n avatar: {\n BASE_AVATAR_SIZE: 32,\n container: {},\n image: {\n borderRadius: 16,\n height: 32,\n width: 32,\n },\n presenceIndicator: {\n cx: 6,\n cy: 6,\n r: 5,\n strokeWidth: 2,\n },\n presenceIndicatorContainer: {},\n },\n channel: {\n selectChannel: {},\n },\n channelListFooterLoadingIndicator: {\n container: {},\n },\n channelListHeaderErrorIndicator: {\n container: {},\n errorText: {},\n },\n channelListMessenger: {\n flatList: {},\n flatListContent: {},\n },\n channelListSkeleton: {\n animationTime: 1800, // in milliseconds\n background: {},\n container: {},\n gradientStart: {\n stopOpacity: 0,\n },\n gradientStop: {\n stopOpacity: 0.5,\n },\n height: 64,\n },\n channelPreview: {\n checkAllIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n checkIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n container: {},\n contentContainer: {},\n date: {},\n message: {\n fontWeight: '400',\n },\n row: {},\n title: {},\n unreadContainer: {},\n unreadText: {},\n },\n colors: {\n ...Colors,\n },\n dateHeader: {\n container: {},\n text: {},\n },\n emptyStateIndicator: {\n channelContainer: {},\n channelDetails: {},\n channelTitle: {},\n },\n groupAvatar: {\n container: {},\n image: {\n resizeMode: 'cover',\n },\n },\n iconBadge: {\n icon: {},\n iconInner: {},\n unreadCount: {},\n },\n iconSquare: {\n container: {},\n image: {},\n },\n imageGallery: {\n blurType: 'light',\n footer: {\n centerContainer: {},\n container: {},\n imageCountText: {},\n innerContainer: {},\n leftContainer: {},\n rightContainer: {},\n },\n grid: {\n contentContainer: {},\n gridAvatar: {},\n gridAvatarWrapper: {},\n gridImage: {},\n handle: {},\n handleText: {},\n overlay: {},\n },\n header: {\n centerContainer: {},\n container: {},\n dateText: {},\n innerContainer: {},\n leftContainer: {},\n rightContainer: {},\n usernameText: {},\n },\n },\n inlineDateSeparator: {\n container: {},\n text: {},\n },\n loadingDots: {\n container: {},\n loadingDot: {},\n spacing: 4,\n },\n loadingErrorIndicator: {\n container: {},\n errorText: {},\n retryText: {},\n },\n loadingIndicator: {\n container: {},\n loadingText: {},\n },\n messageInput: {\n attachButton: {},\n attachButtonContainer: {},\n attachmentSelectionBar: {},\n autoCompleteInputContainer: {},\n commandsButton: {},\n commandsButtonContainer: {},\n composerContainer: {},\n container: {},\n editingBoxContainer: {},\n editingBoxHeader: {},\n editingBoxHeaderTitle: {},\n fileUploadPreview: {\n dismiss: {},\n fileContainer: {},\n fileContentContainer: {},\n filenameText: {},\n fileSizeText: {},\n fileTextContainer: {},\n flatList: {},\n },\n giphyContainer: {},\n giphyText: {},\n imageUploadPreview: {\n dismiss: {},\n flatList: {},\n itemContainer: {},\n upload: {},\n },\n inputBox: {},\n inputBoxContainer: {},\n moreOptionsButton: {},\n optionsContainer: {},\n replyContainer: {},\n sendButton: {},\n sendButtonContainer: {},\n showThreadMessageInChannelButton: {\n check: {},\n checkBoxActive: {},\n checkBoxInactive: {},\n container: {},\n innerContainer: {},\n text: {},\n },\n suggestions: {\n command: {\n args: {},\n container: {},\n iconContainer: {},\n title: {},\n },\n commandsHeader: {\n container: {},\n title: {},\n },\n container: {\n maxHeight: vh(25),\n },\n emoji: {\n container: {},\n text: {},\n },\n emojisHeader: {\n container: {},\n title: {},\n },\n item: {},\n mention: {\n avatarSize: 40,\n column: {},\n container: {},\n name: {},\n tag: {},\n },\n },\n suggestionsListContainer: {},\n uploadProgressIndicator: {\n container: {},\n overlay: {},\n },\n },\n messageList: {\n container: {},\n contentContainer: {},\n errorNotification: {},\n errorNotificationText: {},\n inlineUnreadIndicator: {\n container: {},\n text: {},\n },\n listContainer: {},\n messageSystem: {\n container: {},\n dateText: {},\n line: {},\n text: {},\n textContainer: {},\n },\n scrollToBottomButton: {\n container: {},\n touchable: {},\n unreadCountNotificationContainer: {},\n unreadCountNotificationText: {},\n wrapper: {},\n },\n typingIndicatorContainer: {},\n },\n messageSimple: {\n actions: {\n button: {},\n buttonText: {},\n container: {},\n },\n avatarWrapper: {\n container: {},\n leftAlign: {\n marginRight: 8,\n },\n rightAlign: {\n marginLeft: 8,\n },\n spacer: {\n height: 28,\n width: 32, // same as BASE_AVATAR_SIZE\n },\n },\n card: {\n authorName: {},\n authorNameContainer: {},\n authorNameFooter: {},\n authorNameFooterContainer: {},\n authorNameMask: {},\n container: {},\n cover: {},\n footer: {\n description: {},\n title: {\n fontWeight: '700',\n },\n },\n noURI: {\n borderLeftWidth: 2,\n paddingLeft: 8,\n },\n },\n container: {},\n content: {\n container: {\n borderRadiusL: 16,\n borderRadiusS: 0,\n },\n containerInner: {},\n deletedContainer: {},\n deletedContainerInner: {},\n deletedMetaText: {\n paddingHorizontal: 10,\n },\n deletedText: {\n em: {\n fontSize: 15,\n fontStyle: 'italic',\n fontWeight: '400',\n },\n },\n errorContainer: {\n paddingRight: 12,\n paddingTop: 0,\n },\n errorIcon: {\n height: 20,\n width: 20,\n },\n errorIconContainer: {\n bottom: -2,\n position: 'absolute',\n right: -12,\n },\n eyeIcon: {\n height: 16,\n width: 16,\n },\n markdown: {},\n messageUser: {\n fontSize: 12,\n fontWeight: '700',\n paddingRight: 6,\n },\n metaContainer: {\n flexDirection: 'row',\n marginTop: 4,\n },\n metaText: {\n fontSize: 12,\n },\n replyBorder: {},\n replyContainer: {},\n textContainer: {\n onlyEmojiMarkdown: { text: { fontSize: 50 } },\n },\n wrapper: {},\n },\n file: {\n container: {},\n details: {},\n fileSize: {},\n icon: {},\n title: {},\n },\n fileAttachmentGroup: {\n container: {},\n },\n gallery: {\n galleryContainer: {},\n galleryItemColumn: {},\n halfSize: 100,\n image: {},\n imageContainer: {},\n moreImagesContainer: {},\n moreImagesText: {},\n size: 200,\n width: 250,\n },\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: {},\n },\n reactionList: {\n container: {},\n middleIcon: {},\n radius: 2, // not recommended to change this\n reactionBubble: {},\n reactionBubbleBackground: {},\n reactionSize: 24,\n strokeSize: 1, // not recommended to change this\n },\n replies: {\n avatar: {},\n avatarContainerMultiple: {},\n avatarContainerSingle: {},\n container: {},\n leftAvatarsContainer: {},\n leftCurve: {},\n messageRepliesText: {},\n rightAvatarsContainer: {},\n rightCurve: {},\n },\n status: {\n checkAllIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n checkIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n readByCount: {},\n statusContainer: {},\n timeIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n },\n targetedMessageUnderlay: {},\n },\n overlay: {\n padding: 8,\n reactions: {\n avatarContainer: {},\n avatarName: {},\n avatarSize: 64,\n container: {},\n flatListContainer: {},\n radius: 2,\n reactionBubble: {},\n reactionBubbleBackground: {},\n title: {},\n },\n reactionsList: {\n radius: 2.5,\n reaction: {},\n reactionList: {},\n reactionSize: 24,\n },\n },\n reply: {\n container: {},\n fileAttachmentContainer: {},\n imageAttachment: {},\n markdownStyles: {},\n messageContainer: {},\n textContainer: {},\n },\n screenPadding: 8,\n spinner: {},\n thread: {\n newThread: {\n text: {},\n },\n },\n typingIndicator: {\n container: {},\n text: {\n fontSize: 14,\n },\n },\n};\n"]}
1
+ {"version":3,"sources":["theme.ts"],"names":["DEFAULT_STATUS_ICON_SIZE","Colors","accent_blue","accent_green","accent_red","bg_gradient_end","bg_gradient_start","black","blue_alice","border","grey","grey_gainsboro","grey_whisper","icon_background","modal_shadow","overlay","overlay_dark","shadow_icon","targetedMessageBackground","transparent","white","white_smoke","white_snow","defaultTheme","attachmentPicker","bottomSheetContentContainer","errorButtonText","errorContainer","errorText","image","imageOverlay","imageOverlaySelectedComponent","check","attachmentSelectionBar","container","icon","avatar","BASE_AVATAR_SIZE","borderRadius","height","width","presenceIndicator","cx","cy","r","strokeWidth","presenceIndicatorContainer","channel","selectChannel","channelListFooterLoadingIndicator","channelListHeaderErrorIndicator","channelListLoadingIndicator","channelListMessenger","flatList","flatListContent","channelListSkeleton","animationTime","background","gradientStart","stopOpacity","gradientStop","channelPreview","checkAllIcon","checkIcon","contentContainer","date","message","fontWeight","row","title","unreadContainer","unreadText","colors","dateHeader","text","emptyStateIndicator","channelContainer","channelDetails","channelTitle","groupAvatar","resizeMode","iconBadge","iconInner","unreadCount","iconSquare","imageGallery","blurType","footer","centerContainer","imageCountText","innerContainer","leftContainer","rightContainer","grid","gridAvatar","gridAvatarWrapper","gridImage","handle","handleText","header","dateText","usernameText","inlineDateSeparator","loadingDots","loadingDot","spacing","loadingErrorIndicator","retryText","loadingIndicator","loadingText","messageInput","attachButton","attachButtonContainer","autoCompleteInputContainer","commandsButton","commandsButtonContainer","composerContainer","editingBoxContainer","editingBoxHeader","editingBoxHeaderTitle","fileUploadPreview","dismiss","fileContainer","fileContentContainer","filenameText","fileSizeText","fileTextContainer","giphyContainer","giphyText","imageUploadPreview","itemContainer","upload","inputBox","inputBoxContainer","moreOptionsButton","optionsContainer","replyContainer","sendButton","sendButtonContainer","showThreadMessageInChannelButton","checkBoxActive","checkBoxInactive","suggestions","command","args","iconContainer","commandsHeader","maxHeight","emoji","emojisHeader","item","mention","avatarSize","column","name","tag","suggestionsListContainer","uploadProgressIndicator","messageList","errorNotification","errorNotificationText","inlineUnreadIndicator","listContainer","messageSystem","line","textContainer","scrollToBottomButton","touchable","unreadCountNotificationContainer","unreadCountNotificationText","wrapper","typingIndicatorContainer","messageSimple","actions","button","buttonText","avatarWrapper","leftAlign","marginRight","rightAlign","marginLeft","spacer","card","authorName","authorNameContainer","authorNameFooter","authorNameFooterContainer","authorNameMask","cover","description","noURI","borderLeftWidth","paddingLeft","content","borderRadiusL","borderRadiusS","containerInner","deletedContainer","deletedContainerInner","deletedMetaText","paddingHorizontal","deletedText","em","fontSize","fontStyle","paddingRight","paddingTop","errorIcon","errorIconContainer","bottom","position","right","eyeIcon","markdown","messageUser","metaContainer","flexDirection","marginTop","metaText","replyBorder","onlyEmojiMarkdown","file","details","fileSize","fileAttachmentGroup","gallery","galleryContainer","galleryItemColumn","halfSize","imageContainer","moreImagesContainer","moreImagesText","size","giphy","cancel","cancelContainer","giphyMask","selectionContainer","selector","send","sendContainer","shuffleButton","reactionList","middleIcon","radius","reactionBubble","reactionBubbleBackground","reactionSize","strokeSize","replies","avatarContainerMultiple","avatarContainerSingle","leftAvatarsContainer","leftCurve","messageRepliesText","rightAvatarsContainer","rightCurve","status","readByCount","statusContainer","timeIcon","targetedMessageUnderlay","padding","reactions","avatarContainer","avatarName","flatListContainer","reactionsList","reaction","reply","fileAttachmentContainer","imageAttachment","markdownStyles","messageContainer","screenPadding","spinner","thread","newThread","typingIndicator"],"mappings":"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","sourcesContent":["import { vh } from '../../../utils/utils';\n\nimport type { ImageStyle, TextStyle, ViewStyle } from 'react-native';\nimport type { CircleProps, StopProps } from 'react-native-svg';\n\nimport type { IconProps } from '../../../icons/utils/base';\n\nexport const DEFAULT_STATUS_ICON_SIZE = 16;\n\nexport const Colors = {\n accent_blue: '#005FFF',\n accent_green: '#20E070',\n accent_red: '#FF3742',\n bg_gradient_end: '#F7F7F7',\n bg_gradient_start: '#FCFCFC',\n black: '#000000',\n blue_alice: '#E9F2FF',\n border: '#00000014', // 14 = 8% opacity; top: x=0, y=-1; bottom: x=0, y=1\n grey: '#7A7A7A',\n grey_gainsboro: '#DBDBDB',\n grey_whisper: '#ECEBEB',\n icon_background: '#FFFFFF',\n modal_shadow: '#00000099', // 99 = 60% opacity; x=0, y= 1, radius=4\n overlay: '#00000033', // 33 = 20% opacity\n overlay_dark: '#00000099', // 99 = 60% opacity\n shadow_icon: '#00000040', // 40 = 25% opacity; x=0, y=0, radius=4\n targetedMessageBackground: '#FBF4DD', // dark mode = #302D22\n transparent: 'transparent',\n white: '#FFFFFF',\n white_smoke: '#F2F2F2',\n white_snow: '#FCFCFC',\n};\n\nexport type MarkdownStyle = Partial<{\n autolink: TextStyle;\n blockQuoteBar: ViewStyle;\n blockQuoteSection: ViewStyle;\n blockQuoteSectionBar: ViewStyle;\n blockQuoteText: TextStyle | ViewStyle;\n br: TextStyle;\n codeBlock: TextStyle;\n del: TextStyle;\n em: TextStyle;\n heading: TextStyle;\n heading1: TextStyle;\n heading2: TextStyle;\n heading3: TextStyle;\n heading4: TextStyle;\n heading5: TextStyle;\n heading6: TextStyle;\n hr: ViewStyle;\n image: ImageStyle;\n inlineCode: TextStyle;\n list: ViewStyle;\n listItem: ViewStyle;\n listItemBullet: TextStyle;\n listItemNumber: TextStyle;\n listItemText: TextStyle;\n listRow: ViewStyle;\n mailTo: TextStyle;\n mentions: TextStyle;\n newline: TextStyle;\n noMargin: TextStyle;\n paragraph: TextStyle;\n paragraphCenter: TextStyle;\n paragraphWithImage: ViewStyle;\n strong: TextStyle;\n sublist: ViewStyle;\n table: ViewStyle;\n tableHeader: ViewStyle;\n tableHeaderCell: TextStyle;\n tableRow: ViewStyle;\n tableRowCell: ViewStyle;\n tableRowLast: ViewStyle;\n text: TextStyle;\n u: TextStyle;\n view: ViewStyle;\n}>;\n\nexport type Theme = {\n attachmentPicker: {\n bottomSheetContentContainer: ViewStyle;\n errorButtonText: TextStyle;\n errorContainer: ViewStyle;\n errorText: TextStyle;\n image: ViewStyle;\n imageOverlay: ViewStyle;\n imageOverlaySelectedComponent: {\n check: ViewStyle;\n };\n };\n attachmentSelectionBar: {\n container: ViewStyle;\n icon: ViewStyle;\n };\n avatar: {\n BASE_AVATAR_SIZE: number;\n container: ViewStyle;\n image: ImageStyle;\n presenceIndicator: CircleProps;\n presenceIndicatorContainer: ViewStyle;\n };\n channel: {\n selectChannel: TextStyle;\n };\n channelListFooterLoadingIndicator: {\n container: ViewStyle;\n };\n channelListHeaderErrorIndicator: {\n container: ViewStyle;\n errorText: TextStyle;\n };\n channelListLoadingIndicator: {\n container: ViewStyle;\n };\n channelListMessenger: {\n flatList: ViewStyle;\n flatListContent: ViewStyle;\n };\n channelListSkeleton: {\n animationTime: number;\n background: ViewStyle;\n container: ViewStyle;\n gradientStart: StopProps;\n gradientStop: StopProps;\n height: number;\n };\n channelPreview: {\n checkAllIcon: IconProps;\n checkIcon: IconProps;\n container: ViewStyle;\n contentContainer: ViewStyle;\n date: TextStyle;\n message: TextStyle & {\n fontWeight: TextStyle['fontWeight'];\n };\n row: ViewStyle;\n title: TextStyle;\n unreadContainer: ViewStyle;\n unreadText: TextStyle;\n };\n colors: typeof Colors & { [key: string]: string };\n dateHeader: {\n container: ViewStyle;\n text: TextStyle;\n };\n emptyStateIndicator: {\n channelContainer: ViewStyle;\n channelDetails: TextStyle;\n channelTitle: TextStyle;\n };\n groupAvatar: {\n container: ViewStyle;\n image: ImageStyle;\n };\n iconBadge: {\n icon: ViewStyle;\n iconInner: ViewStyle;\n unreadCount: TextStyle;\n };\n iconSquare: {\n container: ViewStyle;\n image: ImageStyle;\n };\n imageGallery: {\n blurType: 'light' | 'dark';\n footer: {\n centerContainer: ViewStyle;\n container: ViewStyle;\n imageCountText: TextStyle;\n innerContainer: ViewStyle;\n leftContainer: ViewStyle;\n rightContainer: ViewStyle;\n };\n grid: {\n contentContainer: ViewStyle;\n gridAvatar: ImageStyle;\n gridAvatarWrapper: ViewStyle;\n gridImage: ViewStyle;\n handle: ViewStyle;\n handleText: TextStyle;\n overlay: ViewStyle;\n };\n header: {\n centerContainer: ViewStyle;\n container: ViewStyle;\n dateText: TextStyle;\n innerContainer: ViewStyle;\n leftContainer: ViewStyle;\n rightContainer: ViewStyle;\n usernameText: TextStyle;\n };\n backgroundColor?: string;\n };\n inlineDateSeparator: {\n container: ViewStyle;\n text: TextStyle;\n };\n loadingDots: {\n container: ViewStyle;\n loadingDot: ViewStyle;\n spacing: number;\n };\n loadingErrorIndicator: {\n container: ViewStyle;\n errorText: TextStyle;\n retryText: TextStyle;\n };\n loadingIndicator: {\n container: ViewStyle;\n loadingText: TextStyle;\n };\n messageInput: {\n attachButton: ViewStyle;\n attachButtonContainer: ViewStyle;\n attachmentSelectionBar: ViewStyle;\n autoCompleteInputContainer: ViewStyle;\n commandsButton: ViewStyle;\n commandsButtonContainer: ViewStyle;\n composerContainer: ViewStyle;\n container: ViewStyle;\n editingBoxContainer: ViewStyle;\n editingBoxHeader: ViewStyle;\n editingBoxHeaderTitle: TextStyle;\n fileUploadPreview: {\n dismiss: ViewStyle;\n fileContainer: ViewStyle;\n fileContentContainer: ViewStyle;\n filenameText: TextStyle;\n fileSizeText: TextStyle;\n fileTextContainer: ViewStyle;\n flatList: ViewStyle;\n };\n giphyContainer: ViewStyle;\n giphyText: TextStyle;\n imageUploadPreview: {\n dismiss: ViewStyle;\n flatList: ViewStyle;\n itemContainer: ViewStyle;\n upload: ImageStyle;\n };\n inputBox: TextStyle;\n inputBoxContainer: ViewStyle;\n moreOptionsButton: ViewStyle;\n optionsContainer: ViewStyle;\n replyContainer: ViewStyle;\n sendButton: ViewStyle;\n sendButtonContainer: ViewStyle;\n showThreadMessageInChannelButton: {\n check: IconProps;\n checkBoxActive: ViewStyle;\n checkBoxInactive: ViewStyle;\n container: ViewStyle;\n innerContainer: ViewStyle;\n text: TextStyle;\n };\n suggestions: {\n command: {\n args: TextStyle;\n container: ViewStyle;\n iconContainer: ViewStyle;\n title: TextStyle;\n };\n commandsHeader: {\n container: ViewStyle;\n title: TextStyle;\n };\n container: ViewStyle & {\n maxHeight: number;\n };\n emoji: {\n container: ViewStyle;\n text: TextStyle;\n };\n emojisHeader: {\n container: ViewStyle;\n title: TextStyle;\n };\n item: ViewStyle;\n mention: {\n avatarSize: number;\n column: ViewStyle;\n container: ViewStyle;\n name: TextStyle;\n tag: TextStyle;\n };\n };\n suggestionsListContainer: ViewStyle;\n uploadProgressIndicator: {\n container: ViewStyle;\n overlay: ViewStyle;\n };\n };\n messageList: {\n container: ViewStyle;\n contentContainer: ViewStyle;\n errorNotification: ViewStyle;\n errorNotificationText: TextStyle;\n inlineUnreadIndicator: {\n container: ViewStyle;\n text: TextStyle;\n };\n listContainer: ViewStyle;\n messageSystem: {\n container: ViewStyle;\n dateText: TextStyle;\n line: ViewStyle;\n text: TextStyle;\n textContainer: ViewStyle;\n };\n scrollToBottomButton: {\n container: ViewStyle;\n touchable: ViewStyle;\n unreadCountNotificationContainer: ViewStyle;\n unreadCountNotificationText: TextStyle;\n wrapper: ViewStyle;\n };\n typingIndicatorContainer: ViewStyle;\n };\n messageSimple: {\n actions: {\n button: ViewStyle & {\n defaultBackgroundColor?: ViewStyle['backgroundColor'];\n defaultBorderColor?: ViewStyle['borderColor'];\n primaryBackgroundColor?: ViewStyle['backgroundColor'];\n primaryBorderColor?: ViewStyle['borderColor'];\n };\n buttonText: TextStyle & {\n defaultColor?: TextStyle['color'];\n primaryColor?: TextStyle['color'];\n };\n container: ViewStyle;\n };\n avatarWrapper: {\n container: ViewStyle;\n leftAlign: ViewStyle;\n rightAlign: ViewStyle;\n spacer: ViewStyle;\n };\n card: {\n authorName: TextStyle;\n authorNameContainer: ViewStyle;\n authorNameFooter: TextStyle;\n authorNameFooterContainer: ViewStyle;\n authorNameMask: ViewStyle;\n container: ViewStyle;\n cover: ImageStyle;\n footer: ViewStyle & {\n description: TextStyle;\n title: TextStyle;\n };\n noURI: ViewStyle;\n };\n container: ViewStyle;\n content: {\n container: ViewStyle & {\n borderRadiusL: ViewStyle['borderBottomLeftRadius' | 'borderTopLeftRadius'];\n borderRadiusS: ViewStyle['borderBottomRightRadius' | 'borderTopRightRadius'];\n };\n containerInner: ViewStyle;\n deletedContainer: ViewStyle;\n deletedContainerInner: ViewStyle;\n deletedMetaText: TextStyle;\n deletedText: MarkdownStyle;\n errorContainer: ViewStyle;\n errorIcon: IconProps;\n errorIconContainer: ViewStyle;\n eyeIcon: IconProps;\n /**\n * Available options for styling text:\n * https://github.com/andangrd/react-native-markdown-package/blob/master/styles.js\n */\n markdown: MarkdownStyle;\n messageUser: TextStyle;\n metaContainer: ViewStyle;\n metaText: TextStyle;\n replyBorder: ViewStyle;\n replyContainer: ViewStyle;\n textContainer: ViewStyle & {\n onlyEmojiMarkdown: MarkdownStyle;\n };\n wrapper: ViewStyle;\n };\n file: {\n container: ViewStyle;\n details: ViewStyle;\n fileSize: TextStyle;\n icon: IconProps;\n title: TextStyle;\n };\n fileAttachmentGroup: {\n container: ViewStyle;\n };\n gallery: {\n galleryContainer: ViewStyle;\n galleryItemColumn: ViewStyle;\n halfSize: ViewStyle['height'];\n image: ImageStyle;\n imageContainer: ViewStyle;\n moreImagesContainer: ViewStyle;\n moreImagesText: TextStyle;\n size: ViewStyle['height'];\n width: ViewStyle['width'];\n };\n giphy: {\n cancel: TextStyle;\n cancelContainer: ViewStyle;\n container: ViewStyle;\n giphy: ImageStyle;\n giphyContainer: ViewStyle;\n giphyMask: ViewStyle;\n giphyText: TextStyle;\n selectionContainer: ViewStyle;\n selector: ViewStyle;\n send: TextStyle;\n sendContainer: ViewStyle;\n shuffleButton: ViewStyle;\n title: TextStyle;\n };\n reactionList: {\n container: ViewStyle;\n middleIcon: ViewStyle;\n radius: number;\n reactionBubble: ViewStyle;\n reactionBubbleBackground: ViewStyle;\n reactionSize: number;\n strokeSize: number;\n };\n replies: {\n avatar: ViewStyle;\n avatarContainerMultiple: ViewStyle;\n avatarContainerSingle: ViewStyle;\n container: ViewStyle;\n leftAvatarsContainer: ViewStyle;\n leftCurve: ViewStyle;\n messageRepliesText: TextStyle;\n rightAvatarsContainer: ViewStyle;\n rightCurve: ViewStyle;\n avatarSize?: number;\n };\n status: {\n checkAllIcon: IconProps;\n checkIcon: IconProps;\n readByCount: TextStyle;\n statusContainer: ViewStyle;\n timeIcon: IconProps;\n };\n targetedMessageUnderlay: ViewStyle;\n };\n overlay: {\n padding: number;\n reactions: {\n avatarContainer: ViewStyle;\n avatarName: TextStyle;\n avatarSize: number;\n container: ViewStyle;\n flatListContainer: ViewStyle;\n radius: number;\n reactionBubble: ViewStyle;\n reactionBubbleBackground: ViewStyle;\n title: TextStyle;\n };\n reactionsList: {\n radius: number;\n reaction: ViewStyle;\n reactionList: ViewStyle;\n reactionSize: number;\n };\n };\n reply: {\n container: ViewStyle;\n fileAttachmentContainer: ViewStyle;\n imageAttachment: ImageStyle;\n markdownStyles: MarkdownStyle;\n messageContainer: ViewStyle;\n textContainer: ViewStyle;\n };\n screenPadding: number;\n spinner: ViewStyle;\n thread: {\n newThread: ViewStyle & {\n text: TextStyle;\n backgroundGradientStart?: string;\n backgroundGradientStop?: string;\n };\n };\n typingIndicator: {\n container: ViewStyle;\n text: TextStyle & {\n fontSize: TextStyle['fontSize'];\n };\n };\n};\n\nexport const defaultTheme: Theme = {\n attachmentPicker: {\n bottomSheetContentContainer: {},\n errorButtonText: {},\n errorContainer: {},\n errorText: {},\n image: {},\n imageOverlay: {},\n imageOverlaySelectedComponent: {\n check: {},\n },\n },\n attachmentSelectionBar: {\n container: {},\n icon: {},\n },\n avatar: {\n BASE_AVATAR_SIZE: 32,\n container: {},\n image: {\n borderRadius: 16,\n height: 32,\n width: 32,\n },\n presenceIndicator: {\n cx: 6,\n cy: 6,\n r: 5,\n strokeWidth: 2,\n },\n presenceIndicatorContainer: {},\n },\n channel: {\n selectChannel: {},\n },\n channelListFooterLoadingIndicator: {\n container: {},\n },\n channelListHeaderErrorIndicator: {\n container: {},\n errorText: {},\n },\n channelListLoadingIndicator: {\n container: {},\n },\n channelListMessenger: {\n flatList: {},\n flatListContent: {},\n },\n channelListSkeleton: {\n animationTime: 1800, // in milliseconds\n background: {},\n container: {},\n gradientStart: {\n stopOpacity: 0,\n },\n gradientStop: {\n stopOpacity: 0.5,\n },\n height: 64,\n },\n channelPreview: {\n checkAllIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n checkIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n container: {},\n contentContainer: {},\n date: {},\n message: {\n fontWeight: '400',\n },\n row: {},\n title: {},\n unreadContainer: {},\n unreadText: {},\n },\n colors: {\n ...Colors,\n },\n dateHeader: {\n container: {},\n text: {},\n },\n emptyStateIndicator: {\n channelContainer: {},\n channelDetails: {},\n channelTitle: {},\n },\n groupAvatar: {\n container: {},\n image: {\n resizeMode: 'cover',\n },\n },\n iconBadge: {\n icon: {},\n iconInner: {},\n unreadCount: {},\n },\n iconSquare: {\n container: {},\n image: {},\n },\n imageGallery: {\n blurType: 'light',\n footer: {\n centerContainer: {},\n container: {},\n imageCountText: {},\n innerContainer: {},\n leftContainer: {},\n rightContainer: {},\n },\n grid: {\n contentContainer: {},\n gridAvatar: {},\n gridAvatarWrapper: {},\n gridImage: {},\n handle: {},\n handleText: {},\n overlay: {},\n },\n header: {\n centerContainer: {},\n container: {},\n dateText: {},\n innerContainer: {},\n leftContainer: {},\n rightContainer: {},\n usernameText: {},\n },\n },\n inlineDateSeparator: {\n container: {},\n text: {},\n },\n loadingDots: {\n container: {},\n loadingDot: {},\n spacing: 4,\n },\n loadingErrorIndicator: {\n container: {},\n errorText: {},\n retryText: {},\n },\n loadingIndicator: {\n container: {},\n loadingText: {},\n },\n messageInput: {\n attachButton: {},\n attachButtonContainer: {},\n attachmentSelectionBar: {},\n autoCompleteInputContainer: {},\n commandsButton: {},\n commandsButtonContainer: {},\n composerContainer: {},\n container: {},\n editingBoxContainer: {},\n editingBoxHeader: {},\n editingBoxHeaderTitle: {},\n fileUploadPreview: {\n dismiss: {},\n fileContainer: {},\n fileContentContainer: {},\n filenameText: {},\n fileSizeText: {},\n fileTextContainer: {},\n flatList: {},\n },\n giphyContainer: {},\n giphyText: {},\n imageUploadPreview: {\n dismiss: {},\n flatList: {},\n itemContainer: {},\n upload: {},\n },\n inputBox: {},\n inputBoxContainer: {},\n moreOptionsButton: {},\n optionsContainer: {},\n replyContainer: {},\n sendButton: {},\n sendButtonContainer: {},\n showThreadMessageInChannelButton: {\n check: {},\n checkBoxActive: {},\n checkBoxInactive: {},\n container: {},\n innerContainer: {},\n text: {},\n },\n suggestions: {\n command: {\n args: {},\n container: {},\n iconContainer: {},\n title: {},\n },\n commandsHeader: {\n container: {},\n title: {},\n },\n container: {\n maxHeight: vh(25),\n },\n emoji: {\n container: {},\n text: {},\n },\n emojisHeader: {\n container: {},\n title: {},\n },\n item: {},\n mention: {\n avatarSize: 40,\n column: {},\n container: {},\n name: {},\n tag: {},\n },\n },\n suggestionsListContainer: {},\n uploadProgressIndicator: {\n container: {},\n overlay: {},\n },\n },\n messageList: {\n container: {},\n contentContainer: {},\n errorNotification: {},\n errorNotificationText: {},\n inlineUnreadIndicator: {\n container: {},\n text: {},\n },\n listContainer: {},\n messageSystem: {\n container: {},\n dateText: {},\n line: {},\n text: {},\n textContainer: {},\n },\n scrollToBottomButton: {\n container: {},\n touchable: {},\n unreadCountNotificationContainer: {},\n unreadCountNotificationText: {},\n wrapper: {},\n },\n typingIndicatorContainer: {},\n },\n messageSimple: {\n actions: {\n button: {},\n buttonText: {},\n container: {},\n },\n avatarWrapper: {\n container: {},\n leftAlign: {\n marginRight: 8,\n },\n rightAlign: {\n marginLeft: 8,\n },\n spacer: {\n height: 28,\n width: 32, // same as BASE_AVATAR_SIZE\n },\n },\n card: {\n authorName: {},\n authorNameContainer: {},\n authorNameFooter: {},\n authorNameFooterContainer: {},\n authorNameMask: {},\n container: {},\n cover: {},\n footer: {\n description: {},\n title: {\n fontWeight: '700',\n },\n },\n noURI: {\n borderLeftWidth: 2,\n paddingLeft: 8,\n },\n },\n container: {},\n content: {\n container: {\n borderRadiusL: 16,\n borderRadiusS: 0,\n },\n containerInner: {},\n deletedContainer: {},\n deletedContainerInner: {},\n deletedMetaText: {\n paddingHorizontal: 10,\n },\n deletedText: {\n em: {\n fontSize: 15,\n fontStyle: 'italic',\n fontWeight: '400',\n },\n },\n errorContainer: {\n paddingRight: 12,\n paddingTop: 0,\n },\n errorIcon: {\n height: 20,\n width: 20,\n },\n errorIconContainer: {\n bottom: -2,\n position: 'absolute',\n right: -12,\n },\n eyeIcon: {\n height: 16,\n width: 16,\n },\n markdown: {},\n messageUser: {\n fontSize: 12,\n fontWeight: '700',\n paddingRight: 6,\n },\n metaContainer: {\n flexDirection: 'row',\n marginTop: 4,\n },\n metaText: {\n fontSize: 12,\n },\n replyBorder: {},\n replyContainer: {},\n textContainer: {\n onlyEmojiMarkdown: { text: { fontSize: 50 } },\n },\n wrapper: {},\n },\n file: {\n container: {},\n details: {},\n fileSize: {},\n icon: {},\n title: {},\n },\n fileAttachmentGroup: {\n container: {},\n },\n gallery: {\n galleryContainer: {},\n galleryItemColumn: {},\n halfSize: 100,\n image: {},\n imageContainer: {},\n moreImagesContainer: {},\n moreImagesText: {},\n size: 200,\n width: 250,\n },\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: {},\n },\n reactionList: {\n container: {},\n middleIcon: {},\n radius: 2, // not recommended to change this\n reactionBubble: {},\n reactionBubbleBackground: {},\n reactionSize: 24,\n strokeSize: 1, // not recommended to change this\n },\n replies: {\n avatar: {},\n avatarContainerMultiple: {},\n avatarContainerSingle: {},\n container: {},\n leftAvatarsContainer: {},\n leftCurve: {},\n messageRepliesText: {},\n rightAvatarsContainer: {},\n rightCurve: {},\n },\n status: {\n checkAllIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n checkIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n readByCount: {},\n statusContainer: {},\n timeIcon: {\n height: DEFAULT_STATUS_ICON_SIZE,\n width: DEFAULT_STATUS_ICON_SIZE,\n },\n },\n targetedMessageUnderlay: {},\n },\n overlay: {\n padding: 8,\n reactions: {\n avatarContainer: {},\n avatarName: {},\n avatarSize: 64,\n container: {},\n flatListContainer: {},\n radius: 2,\n reactionBubble: {},\n reactionBubbleBackground: {},\n title: {},\n },\n reactionsList: {\n radius: 2.5,\n reaction: {},\n reactionList: {},\n reactionSize: 24,\n },\n },\n reply: {\n container: {},\n fileAttachmentContainer: {},\n imageAttachment: {},\n markdownStyles: {},\n messageContainer: {},\n textContainer: {},\n },\n screenPadding: 8,\n spinner: {},\n thread: {\n newThread: {\n text: {},\n },\n },\n typingIndicator: {\n container: {},\n text: {\n fontSize: 14,\n },\n },\n};\n"]}
@@ -0,0 +1,19 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.useIsMountedRef = void 0;
5
+
6
+ var _react = require("react");
7
+
8
+ var useIsMountedRef = function useIsMountedRef() {
9
+ var isMounted = (0, _react.useRef)(true);
10
+ (0, _react.useEffect)(function () {
11
+ return function () {
12
+ isMounted.current = false;
13
+ };
14
+ }, []);
15
+ return isMounted;
16
+ };
17
+
18
+ exports.useIsMountedRef = useIsMountedRef;
19
+ //# sourceMappingURL=useIsMountedRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useIsMountedRef.ts"],"names":["useIsMountedRef","isMounted","current"],"mappings":";;;;;AAAA;;AAoBO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAKnC,MAAMC,SAAS,GAAG,mBAAO,IAAP,CAAlB;AAEA,wBACE;AAAA,WAAM,YAAM;AACVA,MAAAA,SAAS,CAACC,OAAV,GAAoB,KAApB;AACD,KAFD;AAAA,GADF,EAIE,EAJF;AAOA,SAAOD,SAAP;AACD,CAfM","sourcesContent":["import { useEffect, useRef } from 'react';\n\n/**\n * Returns mount status of component. This hook can be used for purpose of avoiding any\n * setState calls (within async operation) after component gets unmounted.\n *\n * @example\n * ```\n * const isMounted = useIsMountedRef();\n * const [dummyValue, setDummyValue] = useState(false);\n *\n * useEffect(() => {\n * someAsyncOperation().then(() => {\n * if (isMounted.current) setDummyValue(true);\n * })\n * })\n * ```\n *\n * @returns isMounted {Object} Mount status ref for the component.\n */\nexport const useIsMountedRef = () => {\n // Initial value has been set to true, since this hook exist only for sole purpose of\n // avoiding any setState calls (within async operation) after component gets unmounted.\n // Basically we don't need to know about state change from component being initialized -> mounted.\n // We only need a state change from initialized or mounted state -> unmounted state.\n const isMounted = useRef(true);\n\n useEffect(\n () => () => {\n isMounted.current = false;\n },\n [],\n );\n\n return isMounted;\n};\n"]}
@@ -11,6 +11,8 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
 
12
12
  var _react = require("react");
13
13
 
14
+ var _useIsMountedRef = require("./useIsMountedRef");
15
+
14
16
  var _Streami18n = require("../utils/Streami18n");
15
17
 
16
18
  var useStreami18n = function useStreami18n(_ref) {
@@ -22,6 +24,7 @@ var useStreami18n = function useStreami18n(_ref) {
22
24
  loadingTranslators = _useState2[0],
23
25
  setLoadingTranslators = _useState2[1];
24
26
 
27
+ var isMounted = (0, _useIsMountedRef.useIsMountedRef)();
25
28
  var i18nInstanceExists = !!i18nInstance;
26
29
  (0, _react.useEffect)(function () {
27
30
  var streami18n;
@@ -42,7 +45,7 @@ var useStreami18n = function useStreami18n(_ref) {
42
45
  });
43
46
  });
44
47
  streami18n.getTranslators().then(function (translator) {
45
- if (translator) setTranslators(translator);
48
+ if (translator && isMounted.current) setTranslators(translator);
46
49
  });
47
50
  setLoadingTranslators(false);
48
51
  }, [i18nInstanceExists, i18nInstance]);
@@ -1 +1 @@
1
- {"version":3,"sources":["useStreami18n.ts"],"names":["useStreami18n","i18nInstance","setTranslators","loadingTranslators","setLoadingTranslators","i18nInstanceExists","streami18n","Streami18n","language","registerSetLanguageCallback","t","prevTranslator","getTranslators","then","translator"],"mappings":";;;;;;;;;;;AAAA;;AAGA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAMvB;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,cAII,QAJJA,cAII;;AACJ,kBAAoD,qBAAS,IAAT,CAApD;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AAEA,MAAMC,kBAAkB,GAAG,CAAC,CAACJ,YAA7B;AACA,wBAAU,YAAM;AACd,QAAIK,UAAJ;;AAEA,QAAIL,YAAY,YAAYM,sBAA5B,EAAwC;AACtCD,MAAAA,UAAU,GAAGL,YAAb;AACD,KAFD,MAEO;AACLK,MAAAA,UAAU,GAAG,IAAIC,sBAAJ,CAAe;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAf,CAAb;AACD;;AAEDF,IAAAA,UAAU,CAACG,2BAAX,CAAuC,UAACC,CAAD;AAAA,aACrCR,cAAc,CAAC,UAACS,cAAD;AAAA,6CAA0BA,cAA1B;AAA0CD,UAAAA,CAAC,EAADA;AAA1C;AAAA,OAAD,CADuB;AAAA,KAAvC;AAGAJ,IAAAA,UAAU,CAACM,cAAX,GAA4BC,IAA5B,CAAiC,UAACC,UAAD,EAAgB;AAC/C,UAAIA,UAAJ,EAAgBZ,cAAc,CAACY,UAAD,CAAd;AACjB,KAFD;AAIAV,IAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD,GAjBD,EAiBG,CAACC,kBAAD,EAAqBJ,YAArB,CAjBH;AAmBA,SAAOE,kBAAP;AACD,CA9BM","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { TranslationContextValue } from '../contexts/translationContext/TranslationContext';\nimport { Streami18n } from '../utils/Streami18n';\n\nexport const useStreami18n = ({\n i18nInstance,\n setTranslators,\n}: {\n setTranslators: React.Dispatch<React.SetStateAction<TranslationContextValue>>;\n i18nInstance?: Streami18n;\n}) => {\n const [loadingTranslators, setLoadingTranslators] = useState(true);\n\n const i18nInstanceExists = !!i18nInstance;\n useEffect(() => {\n let streami18n: Streami18n;\n\n if (i18nInstance instanceof Streami18n) {\n streami18n = i18nInstance;\n } else {\n streami18n = new Streami18n({ language: 'en' });\n }\n\n streami18n.registerSetLanguageCallback((t: (key: string) => string) =>\n setTranslators((prevTranslator) => ({ ...prevTranslator, t })),\n );\n streami18n.getTranslators().then((translator) => {\n if (translator) setTranslators(translator);\n });\n\n setLoadingTranslators(false);\n }, [i18nInstanceExists, i18nInstance]);\n\n return loadingTranslators;\n};\n"]}
1
+ {"version":3,"sources":["useStreami18n.ts"],"names":["useStreami18n","i18nInstance","setTranslators","loadingTranslators","setLoadingTranslators","isMounted","i18nInstanceExists","streami18n","Streami18n","language","registerSetLanguageCallback","t","prevTranslator","getTranslators","then","translator","current"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AAIO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAMvB;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,cAII,QAJJA,cAII;;AACJ,kBAAoD,qBAAS,IAAT,CAApD;AAAA;AAAA,MAAOC,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,MAAMC,SAAS,GAAG,uCAAlB;AACA,MAAMC,kBAAkB,GAAG,CAAC,CAACL,YAA7B;AACA,wBAAU,YAAM;AACd,QAAIM,UAAJ;;AAEA,QAAIN,YAAY,YAAYO,sBAA5B,EAAwC;AACtCD,MAAAA,UAAU,GAAGN,YAAb;AACD,KAFD,MAEO;AACLM,MAAAA,UAAU,GAAG,IAAIC,sBAAJ,CAAe;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OAAf,CAAb;AACD;;AAEDF,IAAAA,UAAU,CAACG,2BAAX,CAAuC,UAACC,CAAD;AAAA,aACrCT,cAAc,CAAC,UAACU,cAAD;AAAA,6CAA0BA,cAA1B;AAA0CD,UAAAA,CAAC,EAADA;AAA1C;AAAA,OAAD,CADuB;AAAA,KAAvC;AAGAJ,IAAAA,UAAU,CAACM,cAAX,GAA4BC,IAA5B,CAAiC,UAACC,UAAD,EAAgB;AAC/C,UAAIA,UAAU,IAAIV,SAAS,CAACW,OAA5B,EAAqCd,cAAc,CAACa,UAAD,CAAd;AACtC,KAFD;AAIAX,IAAAA,qBAAqB,CAAC,KAAD,CAArB;AACD,GAjBD,EAiBG,CAACE,kBAAD,EAAqBL,YAArB,CAjBH;AAmBA,SAAOE,kBAAP;AACD,CA9BM","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useIsMountedRef } from './useIsMountedRef';\nimport { Streami18n } from '../utils/Streami18n';\n\nimport type { TranslationContextValue } from '../contexts/translationContext/TranslationContext';\n\nexport const useStreami18n = ({\n i18nInstance,\n setTranslators,\n}: {\n setTranslators: React.Dispatch<React.SetStateAction<TranslationContextValue>>;\n i18nInstance?: Streami18n;\n}) => {\n const [loadingTranslators, setLoadingTranslators] = useState(true);\n const isMounted = useIsMountedRef();\n const i18nInstanceExists = !!i18nInstance;\n useEffect(() => {\n let streami18n: Streami18n;\n\n if (i18nInstance instanceof Streami18n) {\n streami18n = i18nInstance;\n } else {\n streami18n = new Streami18n({ language: 'en' });\n }\n\n streami18n.registerSetLanguageCallback((t: (key: string) => string) =>\n setTranslators((prevTranslator) => ({ ...prevTranslator, t })),\n );\n streami18n.getTranslators().then((translator) => {\n if (translator && isMounted.current) setTranslators(translator);\n });\n\n setLoadingTranslators(false);\n }, [i18nInstanceExists, i18nInstance]);\n\n return loadingTranslators;\n};\n"]}
@@ -9,7 +9,7 @@
9
9
  "Copy Message": "Copier le message",
10
10
  "Delete": "Supprimer",
11
11
  "Delete Message": "Supprimer un message",
12
- "Dismiss": "Rejeter",
12
+ "Dismiss": "Fermer",
13
13
  "Do you want to send a copy of this message to a moderator for further investigation?": "Voulez-vous envoyer une copie de ce message à un modérateur pour une enquête plus approfondie?",
14
14
  "Edit Message": "Éditer un message",
15
15
  "Editing Message": "Édite un message",
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "3.9.0-next.8"
2
+ "version": "3.9.2-next.1"
3
3
  }
@@ -50,9 +50,7 @@ var GalleryImage = function GalleryImage(props) {
50
50
  error = _useState2[0],
51
51
  setError = _useState2[1];
52
52
 
53
- return _react["default"].createElement(_reactNative.Image, (0, _extends2["default"])({
54
- key: uri
55
- }, rest, {
53
+ return _react["default"].createElement(_reactNative.Image, (0, _extends2["default"])({}, rest, {
56
54
  onError: function onError() {
57
55
  return setError(true);
58
56
  },
@@ -70,7 +68,7 @@ var GalleryImage = function GalleryImage(props) {
70
68
  };
71
69
 
72
70
  var MemoizedGalleryImage = _react["default"].memo(GalleryImage, function (prevProps, nextProps) {
73
- return prevProps.height === nextProps.height && prevProps.uri === nextProps.uri;
71
+ return prevProps.height === nextProps.height && (0, _utils.getUrlWithoutParams)(prevProps.uri) === (0, _utils.getUrlWithoutParams)(nextProps.uri);
74
72
  });
75
73
 
76
74
  var styles = _reactNative.StyleSheet.create({
@@ -222,7 +220,7 @@ var GalleryWithContext = function GalleryWithContext(props) {
222
220
  return _react["default"].createElement(_reactNative.TouchableOpacity, (0, _extends2["default"])({
223
221
  activeOpacity: 0.8,
224
222
  disabled: preventPress,
225
- key: "gallery-item-" + url + "/" + rowIndex + "/" + images.length,
223
+ key: "gallery-item-" + messageId + "/" + colIndex + "/" + rowIndex + "/" + images.length,
226
224
  onLongPress: function onLongPress(event) {
227
225
  if (_onLongPress) {
228
226
  _onLongPress({