stream-chat-react-native-core 8.9.0-beta.2 → 8.9.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.
- package/lib/commonjs/components/Message/MessageSimple/MessageBubble.js +23 -24
- package/lib/commonjs/components/Message/MessageSimple/MessageBubble.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/MessageSimple/MessageBubble.js +23 -24
- package/lib/module/components/Message/MessageSimple/MessageBubble.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageBubble.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Message/MessageSimple/MessageBubble.tsx +38 -41
- package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +4 -0
- package/src/version.json +1 -1
|
@@ -10,6 +10,7 @@ var _reactNative = require("react-native");
|
|
|
10
10
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
11
11
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
12
12
|
var _contexts = require("../../../contexts");
|
|
13
|
+
var _hooks = require("../../../hooks");
|
|
13
14
|
var _native = require("../../../native");
|
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
var _excluded = ["MessageSwipeContent", "shouldRenderSwipeableWrapper", "messageSwipeToReplyHitSlop", "onSwipe"];
|
|
@@ -63,6 +64,13 @@ var SwipableMessageBubble = exports.SwipableMessageBubble = _react.default.memo(
|
|
|
63
64
|
var SWIPABLE_THRESHOLD = 25;
|
|
64
65
|
var MINIMUM_DISTANCE = 8;
|
|
65
66
|
var triggerHaptic = _native.NativeHandlers.triggerHaptic;
|
|
67
|
+
var setMessageContentWidth = (0, _hooks.useStableCallback)(function (valueOrCallback) {
|
|
68
|
+
if (typeof valueOrCallback === 'number') {
|
|
69
|
+
props.setMessageContentWidth(Math.ceil(valueOrCallback));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
props.setMessageContentWidth(valueOrCallback);
|
|
73
|
+
});
|
|
66
74
|
var swipeGesture = (0, _react.useMemo)(function () {
|
|
67
75
|
return _reactNativeGestureHandler.Gesture.Pan().hitSlop(messageSwipeToReplyHitSlop).onBegin(function (event) {
|
|
68
76
|
touchStart.value = {
|
|
@@ -113,37 +121,26 @@ var SwipableMessageBubble = exports.SwipableMessageBubble = _react.default.memo(
|
|
|
113
121
|
}
|
|
114
122
|
});
|
|
115
123
|
});
|
|
116
|
-
}, [
|
|
117
|
-
var messageBubbleAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
|
|
118
|
-
return {
|
|
119
|
-
transform: [{
|
|
120
|
-
translateX: translateX.value
|
|
121
|
-
}]
|
|
122
|
-
};
|
|
123
|
-
}, []);
|
|
124
|
+
}, [messageSwipeToReplyHitSlop, touchStart, isSwiping, shouldRenderSwipeableWrapper, translateX, onSwipe, triggerHaptic]);
|
|
124
125
|
var swipeContentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
|
|
125
126
|
return {
|
|
126
127
|
opacity: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, SWIPABLE_THRESHOLD], [0, 1]),
|
|
127
|
-
|
|
128
|
-
translateX: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, SWIPABLE_THRESHOLD], [-SWIPABLE_THRESHOLD, 0], _reactNativeReanimated.Extrapolation.CLAMP)
|
|
129
|
-
}]
|
|
128
|
+
width: translateX.value
|
|
130
129
|
};
|
|
131
130
|
}, []);
|
|
132
131
|
return (0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
133
132
|
gesture: swipeGesture,
|
|
134
|
-
children: (0, _jsxRuntime.
|
|
133
|
+
children: (0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
135
134
|
hitSlop: messageSwipeToReplyHitSlop,
|
|
136
|
-
style: [styles.contentWrapper, contentWrapper
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
})]
|
|
146
|
-
}) : (0, _jsxRuntime.jsx)(MessageBubble, Object.assign({}, messageBubbleProps))
|
|
135
|
+
style: [styles.contentWrapper, contentWrapper, props.messageContentWidth > 0 && shouldRenderAnimatedWrapper ? {
|
|
136
|
+
width: props.messageContentWidth
|
|
137
|
+
} : {}],
|
|
138
|
+
children: [shouldRenderAnimatedWrapper ? (0, _jsxRuntime.jsx)(AnimatedWrapper, {
|
|
139
|
+
style: [styles.swipeContentContainer, swipeContentAnimatedStyle, swipeContentContainer],
|
|
140
|
+
children: MessageSwipeContent ? (0, _jsxRuntime.jsx)(MessageSwipeContent, {}) : null
|
|
141
|
+
}) : null, (0, _jsxRuntime.jsx)(MessageBubble, Object.assign({}, messageBubbleProps, {
|
|
142
|
+
setMessageContentWidth: setMessageContentWidth
|
|
143
|
+
}))]
|
|
147
144
|
})
|
|
148
145
|
});
|
|
149
146
|
});
|
|
@@ -153,7 +150,9 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
153
150
|
flexDirection: 'row'
|
|
154
151
|
},
|
|
155
152
|
swipeContentContainer: {
|
|
156
|
-
|
|
153
|
+
flexShrink: 0,
|
|
154
|
+
overflow: 'hidden',
|
|
155
|
+
position: 'relative'
|
|
157
156
|
}
|
|
158
157
|
});
|
|
159
158
|
//# sourceMappingURL=MessageBubble.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_contexts","_native","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageBubble","exports","React","memo","_ref","reactionListPosition","messageContentWidth","setMessageContentWidth","MessageContent","ReactionListTop","backgroundColor","isVeryLastMessage","messageGroupedSingleOrBottom","noBorder","_useTheme","useTheme","contentWrapper","theme","messageSimple","jsxs","View","style","styles","children","jsx","AnimatedWrapper","Animated","createAnimatedComponent","SwipableMessageBubble","props","MessageSwipeContent","shouldRenderSwipeableWrapper","messageSwipeToReplyHitSlop","onSwipe","messageBubbleProps","_objectWithoutProperties2","_useTheme2","_useTheme2$theme$mess","swipeContentContainer","translateX","useSharedValue","touchStart","isSwiping","_useState","useState","_useState2","_slicedToArray2","shouldRenderAnimatedWrapper","setShouldRenderAnimatedWrapper","SWIPABLE_THRESHOLD","MINIMUM_DISTANCE","triggerHaptic","NativeHandlers","swipeGesture","useMemo","Gesture","Pan","hitSlop","onBegin","event","value","x","y","onTouchesMove","state","changedTouches","length","fail","xDiff","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_contexts","_hooks","_native","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageBubble","exports","React","memo","_ref","reactionListPosition","messageContentWidth","setMessageContentWidth","MessageContent","ReactionListTop","backgroundColor","isVeryLastMessage","messageGroupedSingleOrBottom","noBorder","_useTheme","useTheme","contentWrapper","theme","messageSimple","jsxs","View","style","styles","children","jsx","AnimatedWrapper","Animated","createAnimatedComponent","SwipableMessageBubble","props","MessageSwipeContent","shouldRenderSwipeableWrapper","messageSwipeToReplyHitSlop","onSwipe","messageBubbleProps","_objectWithoutProperties2","_useTheme2","_useTheme2$theme$mess","swipeContentContainer","translateX","useSharedValue","touchStart","isSwiping","_useState","useState","_useState2","_slicedToArray2","shouldRenderAnimatedWrapper","setShouldRenderAnimatedWrapper","SWIPABLE_THRESHOLD","MINIMUM_DISTANCE","triggerHaptic","NativeHandlers","useStableCallback","valueOrCallback","Math","ceil","swipeGesture","useMemo","Gesture","Pan","hitSlop","onBegin","event","value","x","y","onTouchesMove","state","changedTouches","length","fail","xDiff","abs","yDiff","isHorizontalPanning","hasMinimumDistance","activate","runOnJS","onStart","onChange","_ref2","translationX","onEnd","withSpring","dampingRatio","duration","overshootClamping","stiffness","swipeContentAnimatedStyle","useAnimatedStyle","opacity","interpolate","width","GestureDetector","gesture","assign","StyleSheet","create","alignItems","flexDirection","flexShrink","overflow","position"],"sourceRoot":"../../../../../src","sources":["components/Message/MessageSimple/MessageBubble.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _reactNative = require("react-native");
|
|
|
10
10
|
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
11
11
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
12
12
|
var _contexts = require("../../../contexts");
|
|
13
|
+
var _hooks = require("../../../hooks");
|
|
13
14
|
var _native = require("../../../native");
|
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
var _excluded = ["MessageSwipeContent", "shouldRenderSwipeableWrapper", "messageSwipeToReplyHitSlop", "onSwipe"];
|
|
@@ -63,6 +64,13 @@ var SwipableMessageBubble = exports.SwipableMessageBubble = _react.default.memo(
|
|
|
63
64
|
var SWIPABLE_THRESHOLD = 25;
|
|
64
65
|
var MINIMUM_DISTANCE = 8;
|
|
65
66
|
var triggerHaptic = _native.NativeHandlers.triggerHaptic;
|
|
67
|
+
var setMessageContentWidth = (0, _hooks.useStableCallback)(function (valueOrCallback) {
|
|
68
|
+
if (typeof valueOrCallback === 'number') {
|
|
69
|
+
props.setMessageContentWidth(Math.ceil(valueOrCallback));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
props.setMessageContentWidth(valueOrCallback);
|
|
73
|
+
});
|
|
66
74
|
var swipeGesture = (0, _react.useMemo)(function () {
|
|
67
75
|
return _reactNativeGestureHandler.Gesture.Pan().hitSlop(messageSwipeToReplyHitSlop).onBegin(function (event) {
|
|
68
76
|
touchStart.value = {
|
|
@@ -113,37 +121,26 @@ var SwipableMessageBubble = exports.SwipableMessageBubble = _react.default.memo(
|
|
|
113
121
|
}
|
|
114
122
|
});
|
|
115
123
|
});
|
|
116
|
-
}, [
|
|
117
|
-
var messageBubbleAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
|
|
118
|
-
return {
|
|
119
|
-
transform: [{
|
|
120
|
-
translateX: translateX.value
|
|
121
|
-
}]
|
|
122
|
-
};
|
|
123
|
-
}, []);
|
|
124
|
+
}, [messageSwipeToReplyHitSlop, touchStart, isSwiping, shouldRenderSwipeableWrapper, translateX, onSwipe, triggerHaptic]);
|
|
124
125
|
var swipeContentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
|
|
125
126
|
return {
|
|
126
127
|
opacity: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, SWIPABLE_THRESHOLD], [0, 1]),
|
|
127
|
-
|
|
128
|
-
translateX: (0, _reactNativeReanimated.interpolate)(translateX.value, [0, SWIPABLE_THRESHOLD], [-SWIPABLE_THRESHOLD, 0], _reactNativeReanimated.Extrapolation.CLAMP)
|
|
129
|
-
}]
|
|
128
|
+
width: translateX.value
|
|
130
129
|
};
|
|
131
130
|
}, []);
|
|
132
131
|
return (0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
133
132
|
gesture: swipeGesture,
|
|
134
|
-
children: (0, _jsxRuntime.
|
|
133
|
+
children: (0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
135
134
|
hitSlop: messageSwipeToReplyHitSlop,
|
|
136
|
-
style: [styles.contentWrapper, contentWrapper
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
})]
|
|
146
|
-
}) : (0, _jsxRuntime.jsx)(MessageBubble, Object.assign({}, messageBubbleProps))
|
|
135
|
+
style: [styles.contentWrapper, contentWrapper, props.messageContentWidth > 0 && shouldRenderAnimatedWrapper ? {
|
|
136
|
+
width: props.messageContentWidth
|
|
137
|
+
} : {}],
|
|
138
|
+
children: [shouldRenderAnimatedWrapper ? (0, _jsxRuntime.jsx)(AnimatedWrapper, {
|
|
139
|
+
style: [styles.swipeContentContainer, swipeContentAnimatedStyle, swipeContentContainer],
|
|
140
|
+
children: MessageSwipeContent ? (0, _jsxRuntime.jsx)(MessageSwipeContent, {}) : null
|
|
141
|
+
}) : null, (0, _jsxRuntime.jsx)(MessageBubble, Object.assign({}, messageBubbleProps, {
|
|
142
|
+
setMessageContentWidth: setMessageContentWidth
|
|
143
|
+
}))]
|
|
147
144
|
})
|
|
148
145
|
});
|
|
149
146
|
});
|
|
@@ -153,7 +150,9 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
153
150
|
flexDirection: 'row'
|
|
154
151
|
},
|
|
155
152
|
swipeContentContainer: {
|
|
156
|
-
|
|
153
|
+
flexShrink: 0,
|
|
154
|
+
overflow: 'hidden',
|
|
155
|
+
position: 'relative'
|
|
157
156
|
}
|
|
158
157
|
});
|
|
159
158
|
//# sourceMappingURL=MessageBubble.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_contexts","_native","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageBubble","exports","React","memo","_ref","reactionListPosition","messageContentWidth","setMessageContentWidth","MessageContent","ReactionListTop","backgroundColor","isVeryLastMessage","messageGroupedSingleOrBottom","noBorder","_useTheme","useTheme","contentWrapper","theme","messageSimple","jsxs","View","style","styles","children","jsx","AnimatedWrapper","Animated","createAnimatedComponent","SwipableMessageBubble","props","MessageSwipeContent","shouldRenderSwipeableWrapper","messageSwipeToReplyHitSlop","onSwipe","messageBubbleProps","_objectWithoutProperties2","_useTheme2","_useTheme2$theme$mess","swipeContentContainer","translateX","useSharedValue","touchStart","isSwiping","_useState","useState","_useState2","_slicedToArray2","shouldRenderAnimatedWrapper","setShouldRenderAnimatedWrapper","SWIPABLE_THRESHOLD","MINIMUM_DISTANCE","triggerHaptic","NativeHandlers","swipeGesture","useMemo","Gesture","Pan","hitSlop","onBegin","event","value","x","y","onTouchesMove","state","changedTouches","length","fail","xDiff","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_contexts","_hooks","_native","_jsxRuntime","_excluded","_this","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MessageBubble","exports","React","memo","_ref","reactionListPosition","messageContentWidth","setMessageContentWidth","MessageContent","ReactionListTop","backgroundColor","isVeryLastMessage","messageGroupedSingleOrBottom","noBorder","_useTheme","useTheme","contentWrapper","theme","messageSimple","jsxs","View","style","styles","children","jsx","AnimatedWrapper","Animated","createAnimatedComponent","SwipableMessageBubble","props","MessageSwipeContent","shouldRenderSwipeableWrapper","messageSwipeToReplyHitSlop","onSwipe","messageBubbleProps","_objectWithoutProperties2","_useTheme2","_useTheme2$theme$mess","swipeContentContainer","translateX","useSharedValue","touchStart","isSwiping","_useState","useState","_useState2","_slicedToArray2","shouldRenderAnimatedWrapper","setShouldRenderAnimatedWrapper","SWIPABLE_THRESHOLD","MINIMUM_DISTANCE","triggerHaptic","NativeHandlers","useStableCallback","valueOrCallback","Math","ceil","swipeGesture","useMemo","Gesture","Pan","hitSlop","onBegin","event","value","x","y","onTouchesMove","state","changedTouches","length","fail","xDiff","abs","yDiff","isHorizontalPanning","hasMinimumDistance","activate","runOnJS","onStart","onChange","_ref2","translationX","onEnd","withSpring","dampingRatio","duration","overshootClamping","stiffness","swipeContentAnimatedStyle","useAnimatedStyle","opacity","interpolate","width","GestureDetector","gesture","assign","StyleSheet","create","alignItems","flexDirection","flexShrink","overflow","position"],"sourceRoot":"../../../../../src","sources":["components/Message/MessageSimple/MessageBubble.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/MessageSimple/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/MessageSimple/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAYjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAY,MAAM,mBAAmB,CAAC;AAKnE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,6BAA6B,EAC7B,sBAAsB,GAAG,gBAAgB,GAAG,iBAAiB,CAC9D,GACC,IAAI,CACF,mBAAmB,EACjB,mBAAmB,GACnB,iBAAiB,GACjB,8BAA8B,GAC9B,UAAU,GACV,wBAAwB,CAC3B,GACD,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;AAEpD,eAAO,MAAM,aAAa,kNAWrB,kBAAkB,uBAsBtB,CAAC;AAIF,eAAO,MAAM,qBAAqB,oCAEvB,kBAAkB,GACvB,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,GACjD,IAAI,CACF,6BAA6B,EAC7B,8BAA8B,GAAG,4BAA4B,CAC9D,GAAG;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,uBAgJhC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "8.9.0
|
|
4
|
+
"version": "8.9.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import React, { useMemo, useState } from 'react';
|
|
1
|
+
import React, { SetStateAction, useMemo, useState } from 'react';
|
|
2
2
|
import { StyleSheet, View } from 'react-native';
|
|
3
3
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
4
4
|
|
|
5
5
|
import Animated, {
|
|
6
|
-
Extrapolation,
|
|
7
6
|
interpolate,
|
|
8
7
|
runOnJS,
|
|
9
8
|
useAnimatedStyle,
|
|
@@ -17,6 +16,7 @@ import { ReactionListTopProps } from './ReactionList/ReactionListTop';
|
|
|
17
16
|
|
|
18
17
|
import { MessagesContextValue, useTheme } from '../../../contexts';
|
|
19
18
|
|
|
19
|
+
import { useStableCallback } from '../../../hooks';
|
|
20
20
|
import { NativeHandlers } from '../../../native';
|
|
21
21
|
|
|
22
22
|
export type MessageBubbleProps = Pick<
|
|
@@ -105,6 +105,14 @@ export const SwipableMessageBubble = React.memo(
|
|
|
105
105
|
|
|
106
106
|
const triggerHaptic = NativeHandlers.triggerHaptic;
|
|
107
107
|
|
|
108
|
+
const setMessageContentWidth = useStableCallback((valueOrCallback: SetStateAction<number>) => {
|
|
109
|
+
if (typeof valueOrCallback === 'number') {
|
|
110
|
+
props.setMessageContentWidth(Math.ceil(valueOrCallback));
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
props.setMessageContentWidth(valueOrCallback);
|
|
114
|
+
});
|
|
115
|
+
|
|
108
116
|
const swipeGesture = useMemo(
|
|
109
117
|
() =>
|
|
110
118
|
Gesture.Pan()
|
|
@@ -167,61 +175,48 @@ export const SwipableMessageBubble = React.memo(
|
|
|
167
175
|
);
|
|
168
176
|
}),
|
|
169
177
|
[
|
|
170
|
-
isSwiping,
|
|
171
178
|
messageSwipeToReplyHitSlop,
|
|
172
|
-
onSwipe,
|
|
173
179
|
touchStart,
|
|
180
|
+
isSwiping,
|
|
181
|
+
shouldRenderSwipeableWrapper,
|
|
174
182
|
translateX,
|
|
183
|
+
onSwipe,
|
|
175
184
|
triggerHaptic,
|
|
176
|
-
shouldRenderSwipeableWrapper,
|
|
177
185
|
],
|
|
178
186
|
);
|
|
179
187
|
|
|
180
|
-
const messageBubbleAnimatedStyle = useAnimatedStyle(
|
|
181
|
-
() => ({
|
|
182
|
-
transform: [{ translateX: translateX.value }],
|
|
183
|
-
}),
|
|
184
|
-
[],
|
|
185
|
-
);
|
|
186
|
-
|
|
187
188
|
const swipeContentAnimatedStyle = useAnimatedStyle(
|
|
188
189
|
() => ({
|
|
189
190
|
opacity: interpolate(translateX.value, [0, SWIPABLE_THRESHOLD], [0, 1]),
|
|
190
|
-
|
|
191
|
-
{
|
|
192
|
-
translateX: interpolate(
|
|
193
|
-
translateX.value,
|
|
194
|
-
[0, SWIPABLE_THRESHOLD],
|
|
195
|
-
[-SWIPABLE_THRESHOLD, 0],
|
|
196
|
-
Extrapolation.CLAMP,
|
|
197
|
-
),
|
|
198
|
-
},
|
|
199
|
-
],
|
|
191
|
+
width: translateX.value,
|
|
200
192
|
}),
|
|
201
193
|
[],
|
|
202
194
|
);
|
|
203
195
|
|
|
204
196
|
return (
|
|
205
197
|
<GestureDetector gesture={swipeGesture}>
|
|
206
|
-
<View
|
|
198
|
+
<View
|
|
199
|
+
hitSlop={messageSwipeToReplyHitSlop}
|
|
200
|
+
style={[
|
|
201
|
+
styles.contentWrapper,
|
|
202
|
+
contentWrapper,
|
|
203
|
+
props.messageContentWidth > 0 && shouldRenderAnimatedWrapper
|
|
204
|
+
? { width: props.messageContentWidth }
|
|
205
|
+
: {},
|
|
206
|
+
]}
|
|
207
|
+
>
|
|
207
208
|
{shouldRenderAnimatedWrapper ? (
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
<MessageBubble {...messageBubbleProps} />
|
|
220
|
-
</AnimatedWrapper>
|
|
221
|
-
</>
|
|
222
|
-
) : (
|
|
223
|
-
<MessageBubble {...messageBubbleProps} />
|
|
224
|
-
)}
|
|
209
|
+
<AnimatedWrapper
|
|
210
|
+
style={[
|
|
211
|
+
styles.swipeContentContainer,
|
|
212
|
+
swipeContentAnimatedStyle,
|
|
213
|
+
swipeContentContainer,
|
|
214
|
+
]}
|
|
215
|
+
>
|
|
216
|
+
{MessageSwipeContent ? <MessageSwipeContent /> : null}
|
|
217
|
+
</AnimatedWrapper>
|
|
218
|
+
) : null}
|
|
219
|
+
<MessageBubble {...messageBubbleProps} setMessageContentWidth={setMessageContentWidth} />
|
|
225
220
|
</View>
|
|
226
221
|
</GestureDetector>
|
|
227
222
|
);
|
|
@@ -234,6 +229,8 @@ const styles = StyleSheet.create({
|
|
|
234
229
|
flexDirection: 'row',
|
|
235
230
|
},
|
|
236
231
|
swipeContentContainer: {
|
|
237
|
-
|
|
232
|
+
flexShrink: 0,
|
|
233
|
+
overflow: 'hidden',
|
|
234
|
+
position: 'relative',
|
|
238
235
|
},
|
|
239
236
|
});
|
|
@@ -380,6 +380,7 @@ exports[`Thread should match thread snapshot 1`] = `
|
|
|
380
380
|
"flexDirection": "row",
|
|
381
381
|
},
|
|
382
382
|
{},
|
|
383
|
+
{},
|
|
383
384
|
]
|
|
384
385
|
}
|
|
385
386
|
>
|
|
@@ -749,6 +750,7 @@ exports[`Thread should match thread snapshot 1`] = `
|
|
|
749
750
|
"flexDirection": "row",
|
|
750
751
|
},
|
|
751
752
|
{},
|
|
753
|
+
{},
|
|
752
754
|
]
|
|
753
755
|
}
|
|
754
756
|
>
|
|
@@ -1156,6 +1158,7 @@ exports[`Thread should match thread snapshot 1`] = `
|
|
|
1156
1158
|
"flexDirection": "row",
|
|
1157
1159
|
},
|
|
1158
1160
|
{},
|
|
1161
|
+
{},
|
|
1159
1162
|
]
|
|
1160
1163
|
}
|
|
1161
1164
|
>
|
|
@@ -1529,6 +1532,7 @@ exports[`Thread should match thread snapshot 1`] = `
|
|
|
1529
1532
|
"flexDirection": "row",
|
|
1530
1533
|
},
|
|
1531
1534
|
{},
|
|
1535
|
+
{},
|
|
1532
1536
|
]
|
|
1533
1537
|
}
|
|
1534
1538
|
>
|
package/src/version.json
CHANGED