stream-chat-react-native-core 5.1.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +32 -15
  2. package/lib/commonjs/components/ChannelList/ChannelListMessenger.js.map +1 -1
  3. package/lib/commonjs/components/Chat/Chat.js +17 -5
  4. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  5. package/lib/commonjs/components/ImageGallery/ImageGallery.js +106 -100
  6. package/lib/commonjs/components/ImageGallery/ImageGallery.js.map +1 -1
  7. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +14 -16
  8. package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  9. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +13 -16
  10. package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  11. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +6 -6
  12. package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  13. package/lib/commonjs/components/MessageList/MessageList.js +39 -26
  14. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  15. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +19 -19
  16. package/lib/commonjs/components/MessageOverlay/OverlayReactions.js.map +1 -1
  17. package/lib/commonjs/components/ProgressControl/ProgressControl.js +6 -6
  18. package/lib/commonjs/components/ProgressControl/ProgressControl.js.map +1 -1
  19. package/lib/commonjs/contexts/debugContext/DebugContext.js +63 -0
  20. package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -0
  21. package/lib/commonjs/contexts/index.js +13 -0
  22. package/lib/commonjs/contexts/index.js.map +1 -1
  23. package/lib/commonjs/native.js.map +1 -1
  24. package/lib/commonjs/version.json +1 -1
  25. package/lib/module/components/ChannelList/ChannelListMessenger.js +32 -15
  26. package/lib/module/components/ChannelList/ChannelListMessenger.js.map +1 -1
  27. package/lib/module/components/Chat/Chat.js +17 -5
  28. package/lib/module/components/Chat/Chat.js.map +1 -1
  29. package/lib/module/components/ImageGallery/ImageGallery.js +106 -100
  30. package/lib/module/components/ImageGallery/ImageGallery.js.map +1 -1
  31. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +14 -16
  32. package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js.map +1 -1
  33. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +13 -16
  34. package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js.map +1 -1
  35. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +6 -6
  36. package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js.map +1 -1
  37. package/lib/module/components/MessageList/MessageList.js +39 -26
  38. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  39. package/lib/module/components/MessageOverlay/OverlayReactions.js +19 -19
  40. package/lib/module/components/MessageOverlay/OverlayReactions.js.map +1 -1
  41. package/lib/module/components/ProgressControl/ProgressControl.js +6 -6
  42. package/lib/module/components/ProgressControl/ProgressControl.js.map +1 -1
  43. package/lib/module/contexts/debugContext/DebugContext.js +63 -0
  44. package/lib/module/contexts/debugContext/DebugContext.js.map +1 -0
  45. package/lib/module/contexts/index.js +13 -0
  46. package/lib/module/contexts/index.js.map +1 -1
  47. package/lib/module/native.js.map +1 -1
  48. package/lib/module/version.json +1 -1
  49. package/lib/typescript/components/ImageGallery/ImageGallery.d.ts +3 -0
  50. package/lib/typescript/components/ImageGallery/components/AnimatedGalleryVideo.d.ts +5 -3
  51. package/lib/typescript/components/ImageGallery/components/ImageGalleryFooter.d.ts +1 -3
  52. package/lib/typescript/components/MessageOverlay/OverlayReactions.d.ts +1 -0
  53. package/lib/typescript/components/ProgressControl/ProgressControl.d.ts +1 -1
  54. package/lib/typescript/contexts/debugContext/DebugContext.d.ts +27 -0
  55. package/lib/typescript/contexts/index.d.ts +1 -0
  56. package/lib/typescript/native.d.ts +3 -2
  57. package/package.json +2 -2
  58. package/src/components/ChannelList/ChannelListMessenger.tsx +17 -0
  59. package/src/components/Chat/Chat.tsx +13 -0
  60. package/src/components/ImageGallery/ImageGallery.tsx +87 -65
  61. package/src/components/ImageGallery/__tests__/AnimatedVideoGallery.test.tsx +2 -2
  62. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +40 -28
  63. package/src/components/ImageGallery/components/AnimatedGalleryVideo.tsx +16 -9
  64. package/src/components/ImageGallery/components/ImageGalleryFooter.tsx +1 -6
  65. package/src/components/ImageGallery/components/ImageGalleryVideoControl.tsx +5 -6
  66. package/src/components/MessageList/MessageList.tsx +15 -0
  67. package/src/components/MessageOverlay/OverlayReactions.tsx +1 -0
  68. package/src/components/ProgressControl/ProgressControl.tsx +8 -4
  69. package/src/contexts/debugContext/DebugContext.tsx +77 -0
  70. package/src/contexts/index.ts +1 -0
  71. package/src/native.ts +3 -2
  72. package/src/version.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["OverlayReactions.tsx"],"names":["styles","StyleSheet","create","avatarContainer","padding","avatarInnerContainer","alignSelf","avatarName","flex","fontSize","fontWeight","paddingTop","textAlign","avatarNameContainer","alignItems","flexDirection","flexGrow","container","borderRadius","marginTop","width","flatListContainer","paddingHorizontal","paddingVertical","flatListContentContainer","paddingBottom","reactionBubble","justifyContent","position","reactionBubbleBackground","height","title","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionIcon","pathFill","size","supportedReactions","find","reaction","Unknown","OverlayReactions","props","overlayAlignment","alignment","reactions","showScreen","OverlayReactionsAvatar","layoutHeight","layoutWidth","theme","colors","accent_blue","black","grey_gainsboro","white","overlay","overlayPadding","avatarSize","radius","titleStyle","supportedReactionTypes","map","supportedReaction","filteredReactions","filter","includes","numColumns","Math","floor","Number","maxHeight","renderItem","item","name","x","y","left","top","absoluteFill","backgroundColor","borderColor","borderWidth","color","showScreenStyle","transform","translateY","value","translateX","scale","layout","nativeEvent","index","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { FlatList } from 'react-native-gesture-handler';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\nimport Svg, { Circle } from 'react-native-svg';\n\nimport type { Alignment } from '../../contexts/messageContext/MessageContext';\nimport type { MessageOverlayContextValue } from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n Unknown,\n WutReaction,\n} from '../../icons';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n padding: 8,\n },\n avatarInnerContainer: {\n alignSelf: 'center',\n },\n avatarName: {\n flex: 1,\n fontSize: 12,\n fontWeight: '700',\n paddingTop: 6,\n textAlign: 'center',\n },\n avatarNameContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n flexGrow: 1,\n },\n container: {\n alignItems: 'center',\n borderRadius: 16,\n marginTop: 8,\n width: '100%',\n },\n flatListContainer: {\n paddingHorizontal: 12,\n paddingVertical: 8,\n },\n flatListContentContainer: {\n alignItems: 'center',\n paddingBottom: 12,\n },\n reactionBubble: {\n alignItems: 'center',\n borderRadius: 24,\n justifyContent: 'center',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n width: 24,\n },\n title: {\n fontSize: 16,\n fontWeight: '700',\n paddingTop: 16,\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\nexport type Reaction = {\n alignment: Alignment;\n name: string;\n type: string;\n image?: string;\n};\n\nexport type OverlayReactionsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageOverlayContextValue<StreamChatGenerics>, 'OverlayReactionsAvatar'> & {\n reactions: Reaction[];\n showScreen: Animated.SharedValue<number>;\n title: string;\n alignment?: Alignment;\n supportedReactions?: ReactionData[];\n};\n\nconst ReactionIcon: React.FC<\n Pick<Reaction, 'type'> & {\n pathFill: string;\n size: number;\n supportedReactions: ReactionData[];\n }\n> = ({ pathFill, size, supportedReactions, type }) => {\n const Icon = supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n return <Icon height={size} pathFill={pathFill} width={size} />;\n};\n\n/**\n * OverlayReactions - A high level component which implements all the logic required for message overlay reactions\n */\nexport const OverlayReactions: React.FC<OverlayReactionsProps> = (props) => {\n const {\n alignment: overlayAlignment,\n reactions,\n supportedReactions = reactionData,\n showScreen,\n title,\n OverlayReactionsAvatar,\n } = props;\n const layoutHeight = useSharedValue(0);\n const layoutWidth = useSharedValue(0);\n\n const {\n theme: {\n colors: { accent_blue, black, grey_gainsboro, white },\n overlay: {\n padding: overlayPadding,\n reactions: {\n avatarContainer,\n avatarName,\n avatarSize,\n container,\n flatListContainer,\n radius,\n reactionBubble,\n reactionBubbleBackground,\n title: titleStyle,\n },\n },\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n const height = useWindowDimensions().height;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n\n const filteredReactions = reactions.filter((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n const numColumns = Math.floor(\n (width -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingHorizontal || 0) ||\n styles.flatListContainer.paddingHorizontal) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2) /\n (avatarSize + (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding) * 2),\n );\n\n const maxHeight = Math.floor(\n height -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingVertical || 0) ||\n styles.flatListContainer.paddingVertical) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2,\n );\n\n const renderItem = ({ item }: { item: Reaction }) => {\n const { alignment = 'left', name, type } = item;\n const x = avatarSize / 2 - (avatarSize / (radius * 4)) * (alignment === 'left' ? 1 : -1);\n const y = avatarSize - radius;\n\n const left =\n alignment === 'left'\n ? x -\n (Number(reactionBubbleBackground.width || 0) || styles.reactionBubbleBackground.width) +\n radius\n : x - radius;\n const top =\n y -\n radius -\n (Number(reactionBubbleBackground.height || 0) || styles.reactionBubbleBackground.height);\n\n return (\n <View style={[styles.avatarContainer, avatarContainer]}>\n <View style={styles.avatarInnerContainer}>\n <OverlayReactionsAvatar reaction={item} size={avatarSize} />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n <Circle\n cx={x}\n cy={y}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n borderColor: alignment === 'left' ? white : grey_gainsboro,\n borderWidth: radius / 2,\n left,\n top,\n },\n reactionBubbleBackground,\n ]}\n />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2 - radius / 2}\n />\n </Svg>\n </View>\n <View\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n height:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n left,\n top,\n width:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n },\n reactionBubble,\n ]}\n >\n <ReactionIcon\n pathFill={accent_blue}\n size={(reactionBubble.borderRadius || styles.reactionBubble.borderRadius) / 2}\n supportedReactions={supportedReactions}\n type={type}\n />\n </View>\n </View>\n </View>\n <View style={styles.avatarNameContainer}>\n <Text style={[styles.avatarName, { color: black }, avatarName]}>{name}</Text>\n </View>\n </View>\n );\n };\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-layoutHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [overlayAlignment === 'left' ? -layoutWidth.value / 2 : layoutWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [overlayAlignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n layoutWidth.value = layout.width;\n layoutHeight.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white }, container, showScreenStyle]}\n >\n <Text style={[styles.title, { color: black }, titleStyle]}>{title}</Text>\n <FlatList\n contentContainerStyle={styles.flatListContentContainer}\n data={filteredReactions}\n keyExtractor={({ name }, index) => `${name}_${index}`}\n numColumns={numColumns}\n renderItem={renderItem}\n style={[styles.flatListContainer, flatListContainer, { maxHeight: maxHeight / numColumns }]}\n />\n </Animated.View>\n );\n};\n\nOverlayReactions.displayName = 'OverlayReactions{overlay{reactions}}';\n"]}
1
+ {"version":3,"sources":["OverlayReactions.tsx"],"names":["styles","StyleSheet","create","avatarContainer","padding","avatarInnerContainer","alignSelf","avatarName","flex","fontSize","fontWeight","paddingTop","textAlign","avatarNameContainer","alignItems","flexDirection","flexGrow","container","borderRadius","marginTop","width","flatListContainer","paddingHorizontal","paddingVertical","flatListContentContainer","paddingBottom","reactionBubble","justifyContent","position","reactionBubbleBackground","height","title","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionIcon","pathFill","size","supportedReactions","find","reaction","Unknown","OverlayReactions","props","overlayAlignment","alignment","reactions","showScreen","OverlayReactionsAvatar","layoutHeight","layoutWidth","theme","colors","accent_blue","black","grey_gainsboro","white","overlay","overlayPadding","avatarSize","radius","titleStyle","supportedReactionTypes","map","supportedReaction","filteredReactions","filter","includes","numColumns","Math","floor","Number","maxHeight","renderItem","item","name","x","y","left","top","absoluteFill","backgroundColor","borderColor","borderWidth","color","showScreenStyle","transform","translateY","value","translateX","scale","layout","nativeEvent","index","displayName"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { FlatList } from 'react-native-gesture-handler';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\nimport Svg, { Circle } from 'react-native-svg';\n\nimport type { Alignment } from '../../contexts/messageContext/MessageContext';\nimport type { MessageOverlayContextValue } from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n Unknown,\n WutReaction,\n} from '../../icons';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n padding: 8,\n },\n avatarInnerContainer: {\n alignSelf: 'center',\n },\n avatarName: {\n flex: 1,\n fontSize: 12,\n fontWeight: '700',\n paddingTop: 6,\n textAlign: 'center',\n },\n avatarNameContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n flexGrow: 1,\n },\n container: {\n alignItems: 'center',\n borderRadius: 16,\n marginTop: 8,\n width: '100%',\n },\n flatListContainer: {\n paddingHorizontal: 12,\n paddingVertical: 8,\n },\n flatListContentContainer: {\n alignItems: 'center',\n paddingBottom: 12,\n },\n reactionBubble: {\n alignItems: 'center',\n borderRadius: 24,\n justifyContent: 'center',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n width: 24,\n },\n title: {\n fontSize: 16,\n fontWeight: '700',\n paddingTop: 16,\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\nexport type Reaction = {\n alignment: Alignment;\n id: string;\n name: string;\n type: string;\n image?: string;\n};\n\nexport type OverlayReactionsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageOverlayContextValue<StreamChatGenerics>, 'OverlayReactionsAvatar'> & {\n reactions: Reaction[];\n showScreen: Animated.SharedValue<number>;\n title: string;\n alignment?: Alignment;\n supportedReactions?: ReactionData[];\n};\n\nconst ReactionIcon: React.FC<\n Pick<Reaction, 'type'> & {\n pathFill: string;\n size: number;\n supportedReactions: ReactionData[];\n }\n> = ({ pathFill, size, supportedReactions, type }) => {\n const Icon = supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n return <Icon height={size} pathFill={pathFill} width={size} />;\n};\n\n/**\n * OverlayReactions - A high level component which implements all the logic required for message overlay reactions\n */\nexport const OverlayReactions: React.FC<OverlayReactionsProps> = (props) => {\n const {\n alignment: overlayAlignment,\n reactions,\n supportedReactions = reactionData,\n showScreen,\n title,\n OverlayReactionsAvatar,\n } = props;\n const layoutHeight = useSharedValue(0);\n const layoutWidth = useSharedValue(0);\n\n const {\n theme: {\n colors: { accent_blue, black, grey_gainsboro, white },\n overlay: {\n padding: overlayPadding,\n reactions: {\n avatarContainer,\n avatarName,\n avatarSize,\n container,\n flatListContainer,\n radius,\n reactionBubble,\n reactionBubbleBackground,\n title: titleStyle,\n },\n },\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n const height = useWindowDimensions().height;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n\n const filteredReactions = reactions.filter((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n const numColumns = Math.floor(\n (width -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingHorizontal || 0) ||\n styles.flatListContainer.paddingHorizontal) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2) /\n (avatarSize + (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding) * 2),\n );\n\n const maxHeight = Math.floor(\n height -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingVertical || 0) ||\n styles.flatListContainer.paddingVertical) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2,\n );\n\n const renderItem = ({ item }: { item: Reaction }) => {\n const { alignment = 'left', name, type } = item;\n const x = avatarSize / 2 - (avatarSize / (radius * 4)) * (alignment === 'left' ? 1 : -1);\n const y = avatarSize - radius;\n\n const left =\n alignment === 'left'\n ? x -\n (Number(reactionBubbleBackground.width || 0) || styles.reactionBubbleBackground.width) +\n radius\n : x - radius;\n const top =\n y -\n radius -\n (Number(reactionBubbleBackground.height || 0) || styles.reactionBubbleBackground.height);\n\n return (\n <View style={[styles.avatarContainer, avatarContainer]}>\n <View style={styles.avatarInnerContainer}>\n <OverlayReactionsAvatar reaction={item} size={avatarSize} />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n <Circle\n cx={x}\n cy={y}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n borderColor: alignment === 'left' ? white : grey_gainsboro,\n borderWidth: radius / 2,\n left,\n top,\n },\n reactionBubbleBackground,\n ]}\n />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2 - radius / 2}\n />\n </Svg>\n </View>\n <View\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n height:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n left,\n top,\n width:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n },\n reactionBubble,\n ]}\n >\n <ReactionIcon\n pathFill={accent_blue}\n size={(reactionBubble.borderRadius || styles.reactionBubble.borderRadius) / 2}\n supportedReactions={supportedReactions}\n type={type}\n />\n </View>\n </View>\n </View>\n <View style={styles.avatarNameContainer}>\n <Text style={[styles.avatarName, { color: black }, avatarName]}>{name}</Text>\n </View>\n </View>\n );\n };\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-layoutHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [overlayAlignment === 'left' ? -layoutWidth.value / 2 : layoutWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [overlayAlignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n layoutWidth.value = layout.width;\n layoutHeight.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white }, container, showScreenStyle]}\n >\n <Text style={[styles.title, { color: black }, titleStyle]}>{title}</Text>\n <FlatList\n contentContainerStyle={styles.flatListContentContainer}\n data={filteredReactions}\n keyExtractor={({ name }, index) => `${name}_${index}`}\n numColumns={numColumns}\n renderItem={renderItem}\n style={[styles.flatListContainer, flatListContainer, { maxHeight: maxHeight / numColumns }]}\n />\n </Animated.View>\n );\n};\n\nOverlayReactions.displayName = 'OverlayReactions{overlay{reactions}}';\n"]}
@@ -104,7 +104,7 @@ var ProgressControl = _react["default"].memo(function (props) {
104
104
  onFinish: function onFinish() {
105
105
  translateX.value = state.value;
106
106
  var dragFinishLocationInSeconds = state.value / width * duration;
107
- (0, _reactNativeReanimated.runOnJS)(onProgressDrag)(dragFinishLocationInSeconds);
107
+ if (onProgressDrag) (0, _reactNativeReanimated.runOnJS)(onProgressDrag)(dragFinishLocationInSeconds);
108
108
  (0, _reactNativeReanimated.runOnJS)(onPlayPause)(false);
109
109
  },
110
110
  onStart: function onStart() {
@@ -134,7 +134,7 @@ var ProgressControl = _react["default"].memo(function (props) {
134
134
  }
135
135
  }), _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
136
136
  maxPointers: 1,
137
- onGestureEvent: onGestureEvent,
137
+ onGestureEvent: onProgressDrag ? onGestureEvent : undefined,
138
138
  testID: testID,
139
139
  __self: _this,
140
140
  __source: {
@@ -147,15 +147,15 @@ var ProgressControl = _react["default"].memo(function (props) {
147
147
  __self: _this,
148
148
  __source: {
149
149
  fileName: _jsxFileName,
150
- lineNumber: 113,
150
+ lineNumber: 117,
151
151
  columnNumber: 11
152
152
  }
153
- }, _react["default"].createElement(ProgressControlThumb, {
153
+ }, onProgressDrag && _react["default"].createElement(ProgressControlThumb, {
154
154
  __self: _this,
155
155
  __source: {
156
156
  fileName: _jsxFileName,
157
- lineNumber: 114,
158
- columnNumber: 13
157
+ lineNumber: 118,
158
+ columnNumber: 32
159
159
  }
160
160
  }))));
161
161
  }, function (prevProps, nextProps) {
@@ -1 +1 @@
1
- {"version":3,"sources":["ProgressControl.tsx"],"names":["height","styles","StyleSheet","create","containerStyle","borderRadius","innerStyle","progressControlThumbStyle","elevation","shadowOffset","width","shadowOpacity","shadowRadius","top","ProgressControlThumb","black","theme","colors","backgroundColor","shadowColor","ProgressControl","React","memo","props","duration","filledColor","onPlayPause","onProgressDrag","progress","testID","grey_dark","state","translateX","value","animatedStyles","thumbStyles","transform","onGestureEvent","onActive","event","translationX","onFinish","dragFinishLocationInSeconds","onStart","prevProps","nextProps"],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { PanGestureHandler } from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n} from 'react-native-reanimated';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nexport type ProgressControlProps = {\n duration: number;\n filledColor: string;\n onPlayPause: (status?: boolean) => void;\n onProgressDrag: (progress: number) => void;\n progress: number;\n testID: string;\n width: number;\n};\n\nconst height = 2;\nconst styles = StyleSheet.create({\n containerStyle: {\n borderRadius: 50,\n height,\n },\n innerStyle: {\n height,\n },\n progressControlThumbStyle: {\n borderRadius: 5,\n elevation: 6,\n height: 20,\n shadowOffset: {\n height: 3,\n width: 0,\n },\n shadowOpacity: 0.27,\n shadowRadius: 4.65,\n top: -11,\n width: 5,\n },\n});\n\nconst ProgressControlThumb = () => {\n const {\n theme: {\n colors: { black },\n },\n } = useTheme();\n return (\n <View\n style={[styles.progressControlThumbStyle, { backgroundColor: '#ffffff', shadowColor: black }]}\n />\n );\n};\n\nexport const ProgressControl: React.FC<ProgressControlProps> = React.memo(\n (props) => {\n const { duration, filledColor, onPlayPause, onProgressDrag, progress, testID, width } = props;\n const {\n theme: {\n colors: { grey_dark },\n },\n } = useTheme();\n\n const state = useSharedValue(0);\n const translateX = useSharedValue(0);\n\n useEffect(() => {\n state.value = progress * width;\n translateX.value = progress * width;\n }, [progress]);\n\n const animatedStyles = useAnimatedStyle(() => ({\n backgroundColor: filledColor,\n width: state.value,\n }));\n\n const thumbStyles = useAnimatedStyle(() => ({\n transform: [{ translateX: state.value }],\n }));\n\n const onGestureEvent = useAnimatedGestureHandler(\n {\n onActive: (event) => {\n state.value = translateX.value + event.translationX;\n if (state.value > width) state.value = width;\n else if (state.value < 0) state.value = 0;\n },\n onFinish: () => {\n translateX.value = state.value;\n const dragFinishLocationInSeconds = (state.value / width) * duration;\n runOnJS(onProgressDrag)(dragFinishLocationInSeconds);\n runOnJS(onPlayPause)(false);\n },\n onStart: () => {\n runOnJS(onPlayPause)(true);\n cancelAnimation(translateX);\n state.value = translateX.value;\n },\n },\n [duration],\n );\n return (\n <View style={[styles.containerStyle, { backgroundColor: grey_dark, width }]}>\n <Animated.View style={[styles.innerStyle, animatedStyles]} />\n\n <PanGestureHandler maxPointers={1} onGestureEvent={onGestureEvent} testID={testID}>\n <Animated.View style={[thumbStyles]}>\n <ProgressControlThumb />\n </Animated.View>\n </PanGestureHandler>\n </View>\n );\n },\n (prevProps, nextProps) => {\n if (prevProps.duration === nextProps.duration && prevProps.progress === nextProps.progress)\n return true;\n else return false;\n },\n);\n"]}
1
+ {"version":3,"sources":["ProgressControl.tsx"],"names":["height","styles","StyleSheet","create","containerStyle","borderRadius","innerStyle","progressControlThumbStyle","elevation","shadowOffset","width","shadowOpacity","shadowRadius","top","ProgressControlThumb","black","theme","colors","backgroundColor","shadowColor","ProgressControl","React","memo","props","duration","filledColor","onPlayPause","onProgressDrag","progress","testID","grey_dark","state","translateX","value","animatedStyles","thumbStyles","transform","onGestureEvent","onActive","event","translationX","onFinish","dragFinishLocationInSeconds","onStart","undefined","prevProps","nextProps"],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { PanGestureHandler } from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n} from 'react-native-reanimated';\n\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nexport type ProgressControlProps = {\n duration: number;\n filledColor: string;\n onPlayPause: (status?: boolean) => void;\n progress: number;\n testID: string;\n width: number;\n onProgressDrag?: (progress: number) => void;\n};\n\nconst height = 2;\nconst styles = StyleSheet.create({\n containerStyle: {\n borderRadius: 50,\n height,\n },\n innerStyle: {\n height,\n },\n progressControlThumbStyle: {\n borderRadius: 5,\n elevation: 6,\n height: 20,\n shadowOffset: {\n height: 3,\n width: 0,\n },\n shadowOpacity: 0.27,\n shadowRadius: 4.65,\n top: -11,\n width: 5,\n },\n});\n\nconst ProgressControlThumb = () => {\n const {\n theme: {\n colors: { black },\n },\n } = useTheme();\n return (\n <View\n style={[styles.progressControlThumbStyle, { backgroundColor: '#ffffff', shadowColor: black }]}\n />\n );\n};\n\nexport const ProgressControl: React.FC<ProgressControlProps> = React.memo(\n (props) => {\n const { duration, filledColor, onPlayPause, onProgressDrag, progress, testID, width } = props;\n const {\n theme: {\n colors: { grey_dark },\n },\n } = useTheme();\n\n const state = useSharedValue(0);\n const translateX = useSharedValue(0);\n\n useEffect(() => {\n state.value = progress * width;\n translateX.value = progress * width;\n }, [progress]);\n\n const animatedStyles = useAnimatedStyle(() => ({\n backgroundColor: filledColor,\n width: state.value,\n }));\n\n const thumbStyles = useAnimatedStyle(() => ({\n transform: [{ translateX: state.value }],\n }));\n\n const onGestureEvent = useAnimatedGestureHandler(\n {\n onActive: (event) => {\n state.value = translateX.value + event.translationX;\n if (state.value > width) state.value = width;\n else if (state.value < 0) state.value = 0;\n },\n onFinish: () => {\n translateX.value = state.value;\n const dragFinishLocationInSeconds = (state.value / width) * duration;\n if (onProgressDrag) runOnJS(onProgressDrag)(dragFinishLocationInSeconds);\n runOnJS(onPlayPause)(false);\n },\n onStart: () => {\n runOnJS(onPlayPause)(true);\n cancelAnimation(translateX);\n state.value = translateX.value;\n },\n },\n [duration],\n );\n return (\n <View style={[styles.containerStyle, { backgroundColor: grey_dark, width }]}>\n <Animated.View style={[styles.innerStyle, animatedStyles]} />\n\n <PanGestureHandler\n maxPointers={1}\n onGestureEvent={onProgressDrag ? onGestureEvent : undefined}\n testID={testID}\n >\n <Animated.View style={[thumbStyles]}>\n {onProgressDrag && <ProgressControlThumb />}\n </Animated.View>\n </PanGestureHandler>\n </View>\n );\n },\n (prevProps, nextProps) => {\n if (prevProps.duration === nextProps.duration && prevProps.progress === nextProps.progress)\n return true;\n else return false;\n },\n);\n"]}
@@ -0,0 +1,63 @@
1
+ var _typeof = require("@babel/runtime/helpers/typeof");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useDebugContext = exports.DebugContextProvider = exports.DebugContext = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _defaultBaseContextValue = require("../utils/defaultBaseContextValue");
11
+
12
+ var _this = this,
13
+ _jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/contexts/debugContext/DebugContext.tsx";
14
+
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+
19
+ var DebugContext = _react["default"].createContext(_defaultBaseContextValue.DEFAULT_BASE_CONTEXT_VALUE);
20
+
21
+ exports.DebugContext = DebugContext;
22
+
23
+ var DebugContextProvider = function DebugContextProvider(_ref) {
24
+ var children = _ref.children,
25
+ useFlipper = _ref.useFlipper;
26
+ var debugRef = (0, _react.useRef)({
27
+ eventType: undefined,
28
+ sendEventParams: undefined
29
+ });
30
+
31
+ var _useFlipper = useFlipper(),
32
+ updateData = _useFlipper.updateData;
33
+
34
+ var ref = (0, _react.useRef)({
35
+ setEventType: function setEventType(data) {
36
+ debugRef.current.eventType = data;
37
+ updateData(debugRef);
38
+ },
39
+ setSendEventParams: function setSendEventParams(data) {
40
+ debugRef.current.sendEventParams = data;
41
+ updateData(debugRef);
42
+ }
43
+ });
44
+ return _react["default"].createElement(DebugContext.Provider, {
45
+ value: ref,
46
+ __self: _this,
47
+ __source: {
48
+ fileName: _jsxFileName,
49
+ lineNumber: 65,
50
+ columnNumber: 5
51
+ }
52
+ }, children);
53
+ };
54
+
55
+ exports.DebugContextProvider = DebugContextProvider;
56
+
57
+ var useDebugContext = function useDebugContext() {
58
+ var contextValue = (0, _react.useContext)(DebugContext);
59
+ return contextValue;
60
+ };
61
+
62
+ exports.useDebugContext = useDebugContext;
63
+ //# sourceMappingURL=DebugContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["DebugContext.tsx"],"names":["DebugContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","DebugContextProvider","children","useFlipper","debugRef","eventType","undefined","sendEventParams","updateData","ref","setEventType","data","current","setSendEventParams","useDebugContext","contextValue"],"mappings":";;;;;;;AAAA;;AAOA;;;;;;;;;AAwBO,IAAMA,YAAY,GAAGC,kBAAMC,aAAN,CAC1BC,mDAD0B,CAArB;;;;AAIA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,OAS7B;AAAA,MANLC,QAMK,QANLA,QAMK;AAAA,MALLC,UAKK,QALLA,UAKK;AACL,MAAMC,QAAQ,GAAG,mBAA8C;AAC7DC,IAAAA,SAAS,EAAEC,SADkD;AAE7DC,IAAAA,eAAe,EAAED;AAF4C,GAA9C,CAAjB;;AAKA,oBAAuBH,UAAU,EAAjC;AAAA,MAAQK,UAAR,eAAQA,UAAR;;AAEA,MAAMC,GAAG,GAAG,mBAA8C;AACxDC,IAAAA,YAAY,EAAE,sBAACC,IAAD,EAAkB;AAC9BP,MAAAA,QAAQ,CAACQ,OAAT,CAAiBP,SAAjB,GAA6BM,IAA7B;AACAH,MAAAA,UAAU,CAACJ,QAAD,CAAV;AACD,KAJuD;AAKxDS,IAAAA,kBAAkB,EAAE,4BAACF,IAAD,EAAuE;AACzFP,MAAAA,QAAQ,CAACQ,OAAT,CAAiBL,eAAjB,GAAmCI,IAAnC;AACAH,MAAAA,UAAU,CAACJ,QAAD,CAAV;AACD;AARuD,GAA9C,CAAZ;AAWA,SACE,gCAAC,YAAD,CAAc,QAAd;AAAuB,IAAA,KAAK,EAAEK,GAA9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KACGP,QADH,CADF;AAKD,CAjCM;;;;AAmCA,IAAMY,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AACnC,MAAMC,YAAY,GAAG,uBACnBlB,YADmB,CAArB;AAIA,SAAOkB,YAAP;AACD,CANM","sourcesContent":["import React, { PropsWithChildren, useContext, useRef } from 'react';\n\nimport type { Channel, ChannelState, StreamChat } from 'stream-chat';\n\nimport type { MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\n\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nexport type DebugDataType<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> =\n | StreamChat<StreamChatGenerics>['user']\n | {\n data: Channel<StreamChatGenerics>['data'];\n members: ChannelState<StreamChatGenerics>['members'];\n }[]\n | MessageType<StreamChatGenerics>[];\n\nexport type DebugContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n eventType?: string;\n sendEventParams?: {\n action: string;\n data: DebugDataType<StreamChatGenerics>;\n };\n setEventType?: (data: string) => void;\n setSendEventParams?: (data: { action: string; data: DebugDataType<StreamChatGenerics> }) => void;\n};\n\nexport const DebugContext = React.createContext(\n DEFAULT_BASE_CONTEXT_VALUE as React.MutableRefObject<DebugContextValue>,\n);\n\nexport const DebugContextProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n useFlipper,\n}: PropsWithChildren<{\n useFlipper: () => {\n updateData: (ref: React.RefObject<DebugContextValue<StreamChatGenerics>>) => void;\n };\n}>) => {\n const debugRef = useRef<DebugContextValue<StreamChatGenerics>>({\n eventType: undefined,\n sendEventParams: undefined,\n });\n\n const { updateData } = useFlipper();\n\n const ref = useRef<DebugContextValue<StreamChatGenerics>>({\n setEventType: (data: string) => {\n debugRef.current.eventType = data;\n updateData(debugRef);\n },\n setSendEventParams: (data: { action: string; data: DebugDataType<StreamChatGenerics> }) => {\n debugRef.current.sendEventParams = data;\n updateData(debugRef);\n },\n });\n\n return (\n <DebugContext.Provider value={ref as unknown as React.MutableRefObject<DebugContextValue>}>\n {children}\n </DebugContext.Provider>\n );\n};\n\nexport const useDebugContext = () => {\n const contextValue = useContext(\n DebugContext,\n ) as unknown as React.MutableRefObject<DebugContextValue>;\n\n return contextValue;\n};\n"]}
@@ -54,6 +54,19 @@ Object.keys(_ChatContext).forEach(function (key) {
54
54
  });
55
55
  });
56
56
 
57
+ var _DebugContext = require("./debugContext/DebugContext");
58
+
59
+ Object.keys(_DebugContext).forEach(function (key) {
60
+ if (key === "default" || key === "__esModule") return;
61
+ if (key in exports && exports[key] === _DebugContext[key]) return;
62
+ Object.defineProperty(exports, key, {
63
+ enumerable: true,
64
+ get: function get() {
65
+ return _DebugContext[key];
66
+ }
67
+ });
68
+ });
69
+
57
70
  var _ImageGalleryContext = require("./imageGalleryContext/ImageGalleryContext");
58
71
 
59
72
  Object.keys(_ImageGalleryContext).forEach(function (key) {
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './attachmentPickerContext/AttachmentPickerContext';\nexport * from './channelContext/ChannelContext';\nexport * from './channelsContext/ChannelsContext';\nexport * from './chatContext/ChatContext';\nexport * from './imageGalleryContext/ImageGalleryContext';\nexport * from './keyboardContext/KeyboardContext';\nexport * from './messageContext/MessageContext';\nexport * from './messageInputContext/hooks/useCreateMessageInputContext';\nexport * from './messageInputContext/hooks/useMessageDetailsForState';\nexport * from './messageInputContext/MessageInputContext';\nexport * from './messageOverlayContext/MessageOverlayContext';\nexport * from './messagesContext/MessagesContext';\nexport * from './paginatedMessageListContext/PaginatedMessageListContext';\nexport * from './overlayContext/OverlayContext';\nexport * from './overlayContext/OverlayProvider';\nexport * from './ownCapabilitiesContext/OwnCapabilitiesContext';\nexport * from './suggestionsContext/SuggestionsContext';\nexport * from './themeContext/ThemeContext';\nexport * from './themeContext/utils/theme';\nexport * from './threadContext/ThreadContext';\nexport * from './translationContext/TranslationContext';\nexport * from './typingContext/TypingContext';\nexport * from './utils/getDisplayName';\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './attachmentPickerContext/AttachmentPickerContext';\nexport * from './channelContext/ChannelContext';\nexport * from './channelsContext/ChannelsContext';\nexport * from './chatContext/ChatContext';\nexport * from './debugContext/DebugContext';\nexport * from './imageGalleryContext/ImageGalleryContext';\nexport * from './keyboardContext/KeyboardContext';\nexport * from './messageContext/MessageContext';\nexport * from './messageInputContext/hooks/useCreateMessageInputContext';\nexport * from './messageInputContext/hooks/useMessageDetailsForState';\nexport * from './messageInputContext/MessageInputContext';\nexport * from './messageOverlayContext/MessageOverlayContext';\nexport * from './messagesContext/MessagesContext';\nexport * from './paginatedMessageListContext/PaginatedMessageListContext';\nexport * from './overlayContext/OverlayContext';\nexport * from './overlayContext/OverlayProvider';\nexport * from './ownCapabilitiesContext/OwnCapabilitiesContext';\nexport * from './suggestionsContext/SuggestionsContext';\nexport * from './themeContext/ThemeContext';\nexport * from './themeContext/utils/theme';\nexport * from './threadContext/ThreadContext';\nexport * from './translationContext/TranslationContext';\nexport * from './typingContext/TypingContext';\nexport * from './utils/getDisplayName';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","shareImage","takePhoto","triggerHaptic","SDK","Sound","Video","registerNativeHandlers","handlers","isVideoPackageAvailable","isAudioPackageAvailable","Player","initializeSound"],"mappings":";;;;;AACA;;AAMA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,QAAMC,KAAK,CACT,mGADS,CAAX;AAGD,CAJD;;AAiBO,IAAIC,aAA4B,GAAGF,IAAnC;;AAGA,IAAIG,UAAsB,GAAGH,IAA7B;;AAGA,IAAII,gBAAkC,GAAGJ,IAAzC;;AASA,IAAIK,SAAoB,GAAGL,IAA3B;;AAOA,IAAIM,QAAQ,GAAGC,qBAAf;;AAEA,IAAIC,OAAgB,GAAG;AAC5BC,EAAAA,gBAAgB,EAAET,IADU;AAE5BU,EAAAA,KAAK,EAAEV;AAFqB,CAAvB;;AAWA,IAAIW,YAA0B,GAAGX,IAAjC;;AAOA,IAAIY,QAAkB,GAAGZ,IAAzB;;AAOA,IAAIa,UAAsB,GAAGb,IAA7B;;AASA,IAAIc,SAAoB,GAAGd,IAA3B;;AAWA,IAAIe,aAA4B,GAAGf,IAAnC;;AAwBA,IAAIgB,GAAJ;;AA8CA,IAAIC,KAAJ;;AA0CA,IAAIC,KAAJ;;;AAmBA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,QAAD,EAAwB;AAC5D,MAAIA,QAAQ,CAAClB,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGkB,QAAQ,CAAClB,aAAzB;AACD;;AAED,MAAIkB,QAAQ,CAACjB,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGiB,QAAQ,CAACjB,UAAtB;AACD;;AAED,MAAIiB,QAAQ,CAACd,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGc,QAAQ,CAACd,QAApB;AACD;;AACD,MAAIc,QAAQ,CAACZ,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGY,QAAQ,CAACZ,OAAnB;AACD;;AAED,MAAIY,QAAQ,CAAChB,gBAAb,EAA+B;AAC7B,+BAAAA,gBAAgB,GAAGgB,QAAQ,CAAChB,gBAA5B;AACD;;AAED,MAAIgB,QAAQ,CAACf,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGe,QAAQ,CAACf,SAArB;AACD;;AAED,MAAIe,QAAQ,CAACT,YAAb,EAA2B;AACzB,2BAAAA,YAAY,GAAGS,QAAQ,CAACT,YAAxB;AACD;;AAED,MAAIS,QAAQ,CAACR,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGQ,QAAQ,CAACR,QAApB;AACD;;AAED,MAAIQ,QAAQ,CAACJ,GAAb,EAAkB;AAChB,kBAAAA,GAAG,GAAGI,QAAQ,CAACJ,GAAf;AACD;;AAED,MAAII,QAAQ,CAACP,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGO,QAAQ,CAACP,UAAtB;AACD;;AAED,MAAIO,QAAQ,CAACH,KAAb,EAAoB;AAClB,oBAAAA,KAAK,GAAGG,QAAQ,CAACH,KAAjB;AACD;;AAED,MAAIG,QAAQ,CAACN,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGM,QAAQ,CAACN,SAArB;AACD;;AAED,MAAIM,QAAQ,CAACL,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGK,QAAQ,CAACL,aAAzB;AACD;;AAED,MAAIK,QAAQ,CAACF,KAAb,EAAoB;AAClB,oBAAAA,KAAK,GAAGE,QAAQ,CAACF,KAAjB;AACD;AACF,CAvDM;;;;AAyDA,IAAMG,uBAAuB,GAAG,SAA1BA,uBAA0B;AAAA,SAAM,CAAC,CAACH,KAAR;AAAA,CAAhC;;;;AACA,IAAMI,uBAAuB,GAAG,SAA1BA,uBAA0B;AAAA,SAAM,CAAC,CAACL,KAAK,CAACM,MAAR,IAAkB,CAAC,CAACN,KAAK,CAACO,eAAhC;AAAA,CAAhC","sourcesContent":["import type React from 'react';\nimport { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { Asset, File } from './types/types';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: File[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport type PlaybackStatus = {\n didJustFinish: boolean;\n durationMillis: number;\n error: string;\n isBuffering: boolean;\n isLoaded: boolean;\n isLooping: boolean;\n isPlaying: boolean;\n positionMillis: number;\n};\n\nexport type AVPlaybackStatusToSet = {\n isLooping: boolean;\n isMuted: boolean;\n positionMillis: number;\n progressUpdateIntervalMillis: number;\n rate: number;\n shouldCorrectPitch: boolean;\n shouldPlay: boolean;\n volume: number;\n};\n\nexport let SDK: string;\n\nexport type SoundOptions = {\n basePathOrCallback?: string;\n callback?: () => void;\n filenameOrFile?: string;\n initialStatus?: Partial<AVPlaybackStatusToSet>;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n source?: { uri: string };\n};\n\nexport type SoundReturnType = {\n paused: boolean;\n testID: string;\n getDuration?: () => number;\n isPlaying?: () => boolean;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n pauseAsync?: () => void;\n play?: () => void;\n playAsync?: () => void;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (millis: number) => void;\n soundRef?: React.RefObject<SoundReturnType>;\n stopAsync?: () => void;\n style?: StyleProp<ViewStyle>;\n unloadAsync?: () => void;\n uri?: string;\n};\n\nexport type SoundType = {\n initializeSound: (\n source?: { uri: string },\n initialStatus?: Partial<AVPlaybackStatusToSet>,\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void,\n ) => SoundReturnType | null;\n Player: React.ComponentType<SoundReturnType> | null;\n};\n\nexport let Sound: SoundType;\n\nexport type VideoProgressData = {\n currentTime?: number;\n playableDuration?: number;\n seekableDuration?: number;\n};\n\nexport type VideoPayloadData = {\n duration: number;\n audioTracks?: { index: number; language: string; title: string; type: string }[];\n currentPosition?: number;\n naturalSize?: { height: number; orientation: 'portrait' | 'landscape'; width: number };\n textTracks?: { index: number; language: string; title: string; type: string }[];\n videoTracks?: {\n bitrate: number;\n codecs: string;\n height: number;\n trackId: number;\n width: number;\n }[];\n};\n\nexport type VideoType = {\n paused: boolean;\n testID: string;\n uri: string;\n videoRef: React.RefObject<VideoType>;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (position: number) => void;\n style?: StyleProp<ViewStyle>;\n};\n\nexport let Video: React.ComponentType<VideoType>;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n shareImage?: ShareImage;\n Sound?: SoundType;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n Video?: React.ComponentType<VideoType>;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.pickDocument) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.Sound) {\n Sound = handlers.Sound;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n\n if (handlers.Video) {\n Video = handlers.Video;\n }\n};\n\nexport const isVideoPackageAvailable = () => !!Video;\nexport const isAudioPackageAvailable = () => !!Sound.Player || !!Sound.initializeSound;\n"]}
1
+ {"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","shareImage","takePhoto","triggerHaptic","SDK","Sound","Video","registerNativeHandlers","handlers","isVideoPackageAvailable","isAudioPackageAvailable","Player","initializeSound"],"mappings":";;;;;AACA;;AAMA,IAAMA,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,QAAMC,KAAK,CACT,mGADS,CAAX;AAGD,CAJD;;AAiBO,IAAIC,aAA4B,GAAGF,IAAnC;;AAGA,IAAIG,UAAsB,GAAGH,IAA7B;;AAGA,IAAII,gBAAkC,GAAGJ,IAAzC;;AASA,IAAIK,SAAoB,GAAGL,IAA3B;;AAOA,IAAIM,QAAQ,GAAGC,qBAAf;;AAEA,IAAIC,OAAgB,GAAG;AAC5BC,EAAAA,gBAAgB,EAAET,IADU;AAE5BU,EAAAA,KAAK,EAAEV;AAFqB,CAAvB;;AAWA,IAAIW,YAA0B,GAAGX,IAAjC;;AAOA,IAAIY,QAAkB,GAAGZ,IAAzB;;AAOA,IAAIa,UAAsB,GAAGb,IAA7B;;AASA,IAAIc,SAAoB,GAAGd,IAA3B;;AAWA,IAAIe,aAA4B,GAAGf,IAAnC;;AAwBA,IAAIgB,GAAJ;;AA8CA,IAAIC,KAAJ;;AA2CA,IAAIC,KAAJ;;;AAmBA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,QAAD,EAAwB;AAC5D,MAAIA,QAAQ,CAAClB,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGkB,QAAQ,CAAClB,aAAzB;AACD;;AAED,MAAIkB,QAAQ,CAACjB,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGiB,QAAQ,CAACjB,UAAtB;AACD;;AAED,MAAIiB,QAAQ,CAACd,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGc,QAAQ,CAACd,QAApB;AACD;;AACD,MAAIc,QAAQ,CAACZ,OAAb,EAAsB;AACpB,sBAAAA,OAAO,GAAGY,QAAQ,CAACZ,OAAnB;AACD;;AAED,MAAIY,QAAQ,CAAChB,gBAAb,EAA+B;AAC7B,+BAAAA,gBAAgB,GAAGgB,QAAQ,CAAChB,gBAA5B;AACD;;AAED,MAAIgB,QAAQ,CAACf,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGe,QAAQ,CAACf,SAArB;AACD;;AAED,MAAIe,QAAQ,CAACT,YAAb,EAA2B;AACzB,2BAAAA,YAAY,GAAGS,QAAQ,CAACT,YAAxB;AACD;;AAED,MAAIS,QAAQ,CAACR,QAAb,EAAuB;AACrB,uBAAAA,QAAQ,GAAGQ,QAAQ,CAACR,QAApB;AACD;;AAED,MAAIQ,QAAQ,CAACJ,GAAb,EAAkB;AAChB,kBAAAA,GAAG,GAAGI,QAAQ,CAACJ,GAAf;AACD;;AAED,MAAII,QAAQ,CAACP,UAAb,EAAyB;AACvB,yBAAAA,UAAU,GAAGO,QAAQ,CAACP,UAAtB;AACD;;AAED,MAAIO,QAAQ,CAACH,KAAb,EAAoB;AAClB,oBAAAA,KAAK,GAAGG,QAAQ,CAACH,KAAjB;AACD;;AAED,MAAIG,QAAQ,CAACN,SAAb,EAAwB;AACtB,wBAAAA,SAAS,GAAGM,QAAQ,CAACN,SAArB;AACD;;AAED,MAAIM,QAAQ,CAACL,aAAb,EAA4B;AAC1B,4BAAAA,aAAa,GAAGK,QAAQ,CAACL,aAAzB;AACD;;AAED,MAAIK,QAAQ,CAACF,KAAb,EAAoB;AAClB,oBAAAA,KAAK,GAAGE,QAAQ,CAACF,KAAjB;AACD;AACF,CAvDM;;;;AAyDA,IAAMG,uBAAuB,GAAG,SAA1BA,uBAA0B;AAAA,SAAM,CAAC,CAACH,KAAR;AAAA,CAAhC;;;;AACA,IAAMI,uBAAuB,GAAG,SAA1BA,uBAA0B;AAAA,SAAM,CAAC,CAACL,KAAK,CAACM,MAAR,IAAkB,CAAC,CAACN,KAAK,CAACO,eAAhC;AAAA,CAAhC","sourcesContent":["import type React from 'react';\nimport { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { Asset, File } from './types/types';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: File[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport type PlaybackStatus = {\n didJustFinish: boolean;\n durationMillis: number;\n error: string;\n isBuffering: boolean;\n isLoaded: boolean;\n isLooping: boolean;\n isPlaying: boolean;\n positionMillis: number;\n};\n\nexport type AVPlaybackStatusToSet = {\n isLooping: boolean;\n isMuted: boolean;\n positionMillis: number;\n progressUpdateIntervalMillis: number;\n rate: number;\n shouldCorrectPitch: boolean;\n shouldPlay: boolean;\n volume: number;\n};\n\nexport let SDK: string;\n\nexport type SoundOptions = {\n basePathOrCallback?: string;\n callback?: () => void;\n filenameOrFile?: string;\n initialStatus?: Partial<AVPlaybackStatusToSet>;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n source?: { uri: string };\n};\n\nexport type SoundReturnType = {\n paused: boolean;\n testID: string;\n getDuration?: () => number;\n isPlaying?: () => boolean;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n pauseAsync?: () => void;\n play?: () => void;\n playAsync?: () => void;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (millis: number) => void;\n soundRef?: React.RefObject<SoundReturnType>;\n stopAsync?: () => void;\n style?: StyleProp<ViewStyle>;\n unloadAsync?: () => void;\n uri?: string;\n};\n\nexport type SoundType = {\n initializeSound: (\n source?: { uri: string },\n initialStatus?: Partial<AVPlaybackStatusToSet>,\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void,\n ) => SoundReturnType | null;\n Player: React.ComponentType<SoundReturnType> | null;\n};\n\nexport let Sound: SoundType;\n\nexport type VideoProgressData = {\n currentTime: number;\n seekableDuration: number;\n playableDuration?: number;\n};\n\nexport type VideoPayloadData = {\n duration: number;\n audioTracks?: { index: number; language: string; title: string; type: string }[];\n currentPosition?: number;\n naturalSize?: { height: number; orientation: 'portrait' | 'landscape'; width: number };\n textTracks?: { index: number; language: string; title: string; type: string }[];\n videoTracks?: {\n bitrate: number;\n codecs: string;\n height: number;\n trackId: number;\n width: number;\n }[];\n};\n\nexport type VideoType = {\n paused: boolean;\n testID: string;\n uri: string;\n videoRef: React.RefObject<VideoType>;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n repeat?: boolean;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (position: number) => void;\n style?: StyleProp<ViewStyle>;\n};\n\nexport let Video: React.ComponentType<VideoType>;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n shareImage?: ShareImage;\n Sound?: SoundType;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n Video?: React.ComponentType<VideoType>;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.pickDocument) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.Sound) {\n Sound = handlers.Sound;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n\n if (handlers.Video) {\n Video = handlers.Video;\n }\n};\n\nexport const isVideoPackageAvailable = () => !!Video;\nexport const isAudioPackageAvailable = () => !!Sound.Player || !!Sound.initializeSound;\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.1.0"
2
+ "version": "5.2.0"
3
3
  }
@@ -19,6 +19,8 @@ var _ChannelsContext = require("../../contexts/channelsContext/ChannelsContext")
19
19
 
20
20
  var _ChatContext = require("../../contexts/chatContext/ChatContext");
21
21
 
22
+ var _DebugContext = require("../../contexts/debugContext/DebugContext");
23
+
22
24
  var _ThemeContext = require("../../contexts/themeContext/ThemeContext");
23
25
 
24
26
  var _ChannelPreview = require("../ChannelPreview/ChannelPreview");
@@ -64,14 +66,14 @@ var StatusIndicator = function StatusIndicator() {
64
66
  __self: _this,
65
67
  __source: {
66
68
  fileName: _jsxFileName,
67
- lineNumber: 53,
69
+ lineNumber: 54,
68
70
  columnNumber: 7
69
71
  }
70
72
  }, _react["default"].createElement(HeaderNetworkDownIndicator, {
71
73
  __self: _this,
72
74
  __source: {
73
75
  fileName: _jsxFileName,
74
- lineNumber: 54,
76
+ lineNumber: 55,
75
77
  columnNumber: 9
76
78
  }
77
79
  }));
@@ -81,7 +83,7 @@ var StatusIndicator = function StatusIndicator() {
81
83
  __self: _this,
82
84
  __source: {
83
85
  fileName: _jsxFileName,
84
- lineNumber: 59,
86
+ lineNumber: 60,
85
87
  columnNumber: 7
86
88
  }
87
89
  }, _react["default"].createElement(HeaderErrorIndicator, {
@@ -89,7 +91,7 @@ var StatusIndicator = function StatusIndicator() {
89
91
  __self: _this,
90
92
  __source: {
91
93
  fileName: _jsxFileName,
92
- lineNumber: 60,
94
+ lineNumber: 61,
93
95
  columnNumber: 9
94
96
  }
95
97
  }));
@@ -105,7 +107,7 @@ var renderItem = function renderItem(_ref) {
105
107
  __self: _this,
106
108
  __source: {
107
109
  fileName: _jsxFileName,
108
- lineNumber: 73,
110
+ lineNumber: 74,
109
111
  columnNumber: 7
110
112
  }
111
113
  });
@@ -146,11 +148,26 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
146
148
  loading = _useState2[0],
147
149
  setLoading = _useState2[1];
148
150
 
151
+ var debugRef = (0, _DebugContext.useDebugContext)();
149
152
  (0, _react.useEffect)(function () {
150
153
  if (!!loadingChannels !== loading) {
151
154
  setLoading(!!loadingChannels);
152
155
  }
153
156
  }, [loading, loadingChannels]);
157
+ var isDebugModeEnabled = __DEV__ && debugRef && debugRef.current;
158
+
159
+ if (isDebugModeEnabled) {
160
+ if (debugRef.current.setEventType) debugRef.current.setEventType('send');
161
+ if (debugRef.current.setSendEventParams) debugRef.current.setSendEventParams({
162
+ action: 'Channels',
163
+ data: channels.map(function (channel) {
164
+ return {
165
+ data: channel.data,
166
+ members: channel.state.members
167
+ };
168
+ })
169
+ });
170
+ }
154
171
 
155
172
  if (error && !refreshing && !loadingChannels && !(channels != null && channels.length)) {
156
173
  return _react["default"].createElement(LoadingErrorIndicator, {
@@ -161,7 +178,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
161
178
  __self: _this,
162
179
  __source: {
163
180
  fileName: _jsxFileName,
164
- lineNumber: 127,
181
+ lineNumber: 144,
165
182
  columnNumber: 7
166
183
  }
167
184
  });
@@ -178,7 +195,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
178
195
  __self: _this,
179
196
  __source: {
180
197
  fileName: _jsxFileName,
181
- lineNumber: 143,
198
+ lineNumber: 160,
182
199
  columnNumber: 46
183
200
  }
184
201
  }) : null;
@@ -190,7 +207,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
190
207
  __self: _this,
191
208
  __source: {
192
209
  fileName: _jsxFileName,
193
- lineNumber: 146,
210
+ lineNumber: 163,
194
211
  columnNumber: 12
195
212
  }
196
213
  });
@@ -208,7 +225,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
208
225
  __self: _this,
209
226
  __source: {
210
227
  fileName: _jsxFileName,
211
- lineNumber: 162,
228
+ lineNumber: 179,
212
229
  columnNumber: 13
213
230
  }
214
231
  }) : _react["default"].createElement(EmptyStateIndicator, {
@@ -216,7 +233,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
216
233
  __self: _this,
217
234
  __source: {
218
235
  fileName: _jsxFileName,
219
- lineNumber: 164,
236
+ lineNumber: 181,
220
237
  columnNumber: 13
221
238
  }
222
239
  }),
@@ -224,7 +241,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
224
241
  __self: _this,
225
242
  __source: {
226
243
  fileName: _jsxFileName,
227
- lineNumber: 167,
244
+ lineNumber: 184,
228
245
  columnNumber: 48
229
246
  }
230
247
  }) : undefined,
@@ -238,7 +255,7 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
238
255
  __self: _this,
239
256
  __source: {
240
257
  fileName: _jsxFileName,
241
- lineNumber: 172,
258
+ lineNumber: 189,
242
259
  columnNumber: 25
243
260
  }
244
261
  }),
@@ -251,14 +268,14 @@ var ChannelListMessengerWithContext = function ChannelListMessengerWithContext(p
251
268
  __self: _this,
252
269
  __source: {
253
270
  fileName: _jsxFileName,
254
- lineNumber: 151,
271
+ lineNumber: 168,
255
272
  columnNumber: 7
256
273
  }
257
274
  })), _react["default"].createElement(StatusIndicator, {
258
275
  __self: _this,
259
276
  __source: {
260
277
  fileName: _jsxFileName,
261
- lineNumber: 178,
278
+ lineNumber: 195,
262
279
  columnNumber: 7
263
280
  }
264
281
  }));
@@ -306,7 +323,7 @@ var ChannelListMessenger = function ChannelListMessenger(props) {
306
323
  __self: _this,
307
324
  __source: {
308
325
  fileName: _jsxFileName,
309
- lineNumber: 219,
326
+ lineNumber: 236,
310
327
  columnNumber: 5
311
328
  }
312
329
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["ChannelListMessenger.tsx"],"names":["styles","StyleSheet","create","flatList","flex","flatListContentContainer","flexGrow","statusIndicator","left","position","right","top","StatusIndicator","isOnline","error","HeaderErrorIndicator","HeaderNetworkDownIndicator","loadingChannels","refreshList","renderItem","item","keyExtractor","cid","ChannelListMessengerWithContext","props","additionalFlatListProps","channels","EmptyStateIndicator","FooterLoadingIndicator","forceUpdate","ListHeaderComponent","LoadingErrorIndicator","LoadingIndicator","loadingNextPage","loadMoreThreshold","loadNextPage","refreshing","reloadList","setFlatListRef","theme","channelListMessenger","flatListContent","white_snow","colors","loading","setLoading","length","onEndReached","ListFooterComponent","backgroundColor","undefined","ChannelListMessenger","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n// RNGR's FlatList ist currently breaking the pull-to-refresh behaviour on Android\n// See https://github.com/software-mansion/react-native-gesture-handler/issues/598\nimport { FlatList, RefreshControl, StyleSheet, View } from 'react-native';\n\nimport type { Channel } from 'stream-chat';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { ChannelPreview } from '../ChannelPreview/ChannelPreview';\n\nconst styles = StyleSheet.create({\n flatList: { flex: 1 },\n flatListContentContainer: { flexGrow: 1 },\n statusIndicator: { left: 0, position: 'absolute', right: 0, top: 0 },\n});\n\nexport type ChannelListMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsContextValue<StreamChatGenerics>,\n | 'hasNextPage'\n | 'HeaderErrorIndicator'\n | 'HeaderNetworkDownIndicator'\n | 'maxUnreadCount'\n | 'numberOfSkeletons'\n | 'onSelect'\n | 'Preview'\n | 'PreviewTitle'\n | 'PreviewStatus'\n | 'PreviewAvatar'\n | 'previewMessage'\n | 'Skeleton'\n>;\n\nconst StatusIndicator = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const { isOnline } = useChatContext<StreamChatGenerics>();\n const { error, HeaderErrorIndicator, HeaderNetworkDownIndicator, loadingChannels, refreshList } =\n useChannelsContext<StreamChatGenerics>();\n\n if (loadingChannels) return null;\n\n if (!isOnline) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderNetworkDownIndicator />\n </View>\n );\n } else if (error) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderErrorIndicator onPress={refreshList} />\n </View>\n );\n }\n return null;\n};\n\nconst renderItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: Channel<StreamChatGenerics>;\n}) => <ChannelPreview<StreamChatGenerics> channel={item} />;\n\nconst keyExtractor = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n item: Channel<StreamChatGenerics>,\n) => item.cid;\n\nconst ChannelListMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = props;\n\n const {\n theme: {\n channelListMessenger: { flatList, flatListContent },\n colors: { white_snow },\n },\n } = useTheme();\n\n /**\n * In order to prevent the EmptyStateIndicator component from showing up briefly on mount,\n * we set the loading state one cycle behind to ensure the channels are set before the\n * change to loadingChannels is registered.\n */\n const [loading, setLoading] = useState(true);\n useEffect(() => {\n if (!!loadingChannels !== loading) {\n setLoading(!!loadingChannels);\n }\n }, [loading, loadingChannels]);\n\n if (error && !refreshing && !loadingChannels && !channels?.length) {\n return (\n <LoadingErrorIndicator\n error={error}\n listType='channel'\n loadNextPage={loadNextPage}\n retry={reloadList}\n />\n );\n }\n\n const onEndReached = () => {\n if (loadNextPage) {\n loadNextPage();\n }\n };\n\n const ListFooterComponent = () =>\n channels.length && ListHeaderComponent ? <ListHeaderComponent /> : null;\n\n if (loadingChannels) {\n return <LoadingIndicator listType='channel' />;\n }\n\n return (\n <>\n <FlatList\n contentContainerStyle={[\n styles.flatListContentContainer,\n { backgroundColor: white_snow },\n flatListContent,\n ]}\n data={channels}\n extraData={forceUpdate}\n keyExtractor={keyExtractor}\n ListEmptyComponent={\n loading ? (\n <LoadingIndicator listType='channel' />\n ) : (\n <EmptyStateIndicator listType='channel' />\n )\n }\n ListFooterComponent={loadingNextPage ? <FooterLoadingIndicator /> : undefined}\n ListHeaderComponent={ListFooterComponent}\n onEndReached={onEndReached}\n onEndReachedThreshold={loadMoreThreshold}\n ref={setFlatListRef}\n refreshControl={<RefreshControl onRefresh={refreshList} refreshing={refreshing} />}\n renderItem={renderItem}\n style={[styles.flatList, { backgroundColor: white_snow }, flatList]}\n testID='channel-list-messenger'\n {...additionalFlatListProps}\n />\n <StatusIndicator<StreamChatGenerics> />\n </>\n );\n};\n\nexport type ChannelListMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ChannelListMessengerPropsWithContext<StreamChatGenerics>>;\n\n/**\n * This UI component displays the preview list of channels and handles Channel navigation. It\n * receives all props from the ChannelList component.\n *\n * @example ./ChannelListMessenger.md\n */\nexport const ChannelListMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerProps<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = useChannelsContext<StreamChatGenerics>();\n\n return (\n <ChannelListMessengerWithContext\n {...{\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n }}\n {...props}\n />\n );\n};\n\nChannelListMessenger.displayName = 'ChannelListMessenger{channelListMessenger}';\n"]}
1
+ {"version":3,"sources":["ChannelListMessenger.tsx"],"names":["styles","StyleSheet","create","flatList","flex","flatListContentContainer","flexGrow","statusIndicator","left","position","right","top","StatusIndicator","isOnline","error","HeaderErrorIndicator","HeaderNetworkDownIndicator","loadingChannels","refreshList","renderItem","item","keyExtractor","cid","ChannelListMessengerWithContext","props","additionalFlatListProps","channels","EmptyStateIndicator","FooterLoadingIndicator","forceUpdate","ListHeaderComponent","LoadingErrorIndicator","LoadingIndicator","loadingNextPage","loadMoreThreshold","loadNextPage","refreshing","reloadList","setFlatListRef","theme","channelListMessenger","flatListContent","white_snow","colors","loading","setLoading","debugRef","isDebugModeEnabled","__DEV__","current","setEventType","setSendEventParams","action","data","map","channel","members","state","length","onEndReached","ListFooterComponent","backgroundColor","undefined","ChannelListMessenger","displayName"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\n// RNGR's FlatList ist currently breaking the pull-to-refresh behaviour on Android\n// See https://github.com/software-mansion/react-native-gesture-handler/issues/598\nimport { FlatList, RefreshControl, StyleSheet, View } from 'react-native';\n\nimport type { Channel } from 'stream-chat';\n\nimport {\n ChannelsContextValue,\n useChannelsContext,\n} from '../../contexts/channelsContext/ChannelsContext';\nimport { useChatContext } from '../../contexts/chatContext/ChatContext';\nimport { useDebugContext } from '../../contexts/debugContext/DebugContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { ChannelPreview } from '../ChannelPreview/ChannelPreview';\n\nconst styles = StyleSheet.create({\n flatList: { flex: 1 },\n flatListContentContainer: { flexGrow: 1 },\n statusIndicator: { left: 0, position: 'absolute', right: 0, top: 0 },\n});\n\nexport type ChannelListMessengerPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Omit<\n ChannelsContextValue<StreamChatGenerics>,\n | 'hasNextPage'\n | 'HeaderErrorIndicator'\n | 'HeaderNetworkDownIndicator'\n | 'maxUnreadCount'\n | 'numberOfSkeletons'\n | 'onSelect'\n | 'Preview'\n | 'PreviewTitle'\n | 'PreviewStatus'\n | 'PreviewAvatar'\n | 'previewMessage'\n | 'Skeleton'\n>;\n\nconst StatusIndicator = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const { isOnline } = useChatContext<StreamChatGenerics>();\n const { error, HeaderErrorIndicator, HeaderNetworkDownIndicator, loadingChannels, refreshList } =\n useChannelsContext<StreamChatGenerics>();\n\n if (loadingChannels) return null;\n\n if (!isOnline) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderNetworkDownIndicator />\n </View>\n );\n } else if (error) {\n return (\n <View style={styles.statusIndicator}>\n <HeaderErrorIndicator onPress={refreshList} />\n </View>\n );\n }\n return null;\n};\n\nconst renderItem = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n item,\n}: {\n item: Channel<StreamChatGenerics>;\n}) => <ChannelPreview<StreamChatGenerics> channel={item} />;\n\nconst keyExtractor = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n item: Channel<StreamChatGenerics>,\n) => item.cid;\n\nconst ChannelListMessengerWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = props;\n\n const {\n theme: {\n channelListMessenger: { flatList, flatListContent },\n colors: { white_snow },\n },\n } = useTheme();\n\n /**\n * In order to prevent the EmptyStateIndicator component from showing up briefly on mount,\n * we set the loading state one cycle behind to ensure the channels are set before the\n * change to loadingChannels is registered.\n */\n const [loading, setLoading] = useState(true);\n const debugRef = useDebugContext();\n\n useEffect(() => {\n if (!!loadingChannels !== loading) {\n setLoading(!!loadingChannels);\n }\n }, [loading, loadingChannels]);\n\n const isDebugModeEnabled = __DEV__ && debugRef && debugRef.current;\n\n if (isDebugModeEnabled) {\n if (debugRef.current.setEventType) debugRef.current.setEventType('send');\n if (debugRef.current.setSendEventParams)\n debugRef.current.setSendEventParams({\n action: 'Channels',\n data: channels.map((channel) => ({\n data: channel.data,\n members: channel.state.members,\n })),\n });\n }\n\n if (error && !refreshing && !loadingChannels && !channels?.length) {\n return (\n <LoadingErrorIndicator\n error={error}\n listType='channel'\n loadNextPage={loadNextPage}\n retry={reloadList}\n />\n );\n }\n\n const onEndReached = () => {\n if (loadNextPage) {\n loadNextPage();\n }\n };\n\n const ListFooterComponent = () =>\n channels.length && ListHeaderComponent ? <ListHeaderComponent /> : null;\n\n if (loadingChannels) {\n return <LoadingIndicator listType='channel' />;\n }\n\n return (\n <>\n <FlatList\n contentContainerStyle={[\n styles.flatListContentContainer,\n { backgroundColor: white_snow },\n flatListContent,\n ]}\n data={channels}\n extraData={forceUpdate}\n keyExtractor={keyExtractor}\n ListEmptyComponent={\n loading ? (\n <LoadingIndicator listType='channel' />\n ) : (\n <EmptyStateIndicator listType='channel' />\n )\n }\n ListFooterComponent={loadingNextPage ? <FooterLoadingIndicator /> : undefined}\n ListHeaderComponent={ListFooterComponent}\n onEndReached={onEndReached}\n onEndReachedThreshold={loadMoreThreshold}\n ref={setFlatListRef}\n refreshControl={<RefreshControl onRefresh={refreshList} refreshing={refreshing} />}\n renderItem={renderItem}\n style={[styles.flatList, { backgroundColor: white_snow }, flatList]}\n testID='channel-list-messenger'\n {...additionalFlatListProps}\n />\n <StatusIndicator<StreamChatGenerics> />\n </>\n );\n};\n\nexport type ChannelListMessengerProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<ChannelListMessengerPropsWithContext<StreamChatGenerics>>;\n\n/**\n * This UI component displays the preview list of channels and handles Channel navigation. It\n * receives all props from the ChannelList component.\n *\n * @example ./ChannelListMessenger.md\n */\nexport const ChannelListMessenger = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: ChannelListMessengerProps<StreamChatGenerics>,\n) => {\n const {\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n } = useChannelsContext<StreamChatGenerics>();\n\n return (\n <ChannelListMessengerWithContext\n {...{\n additionalFlatListProps,\n channels,\n EmptyStateIndicator,\n error,\n FooterLoadingIndicator,\n forceUpdate,\n ListHeaderComponent,\n loadingChannels,\n LoadingErrorIndicator,\n LoadingIndicator,\n loadingNextPage,\n loadMoreThreshold,\n loadNextPage,\n refreshing,\n refreshList,\n reloadList,\n setFlatListRef,\n }}\n {...props}\n />\n );\n};\n\nChannelListMessenger.displayName = 'ChannelListMessenger{channelListMessenger}';\n"]}