@draftbit/core 48.7.0 → 49.0.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/BottomSheet/BottomSheet.js +1 -1
- package/lib/commonjs/components/Config.js +1 -1
- package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1
- package/lib/commonjs/components/Progress/CircularProgress/CircularProgress.js +1 -1
- package/lib/commonjs/components/Progress/IndeterminateProgress.js +1 -1
- package/lib/commonjs/components/Progress/LinearProgress/LinearProgress.js +1 -1
- package/lib/commonjs/components/SectionList/SectionList.js +1 -1
- package/lib/commonjs/components/StepIndicator.js +1 -1
- package/lib/commonjs/utilities.js +1 -1
- package/lib/typescript/src/Provider.d.ts +1 -1
- package/lib/typescript/src/components/AccordionGroup.d.ts +1 -1
- package/lib/typescript/src/components/ActionSheet/ActionSheet.d.ts +1 -1
- package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts +5 -3
- package/lib/typescript/src/components/BottomSheet/BottomSheet.js +56 -47
- package/lib/typescript/src/components/BottomSheet/BottomSheet.js.map +1 -1
- package/lib/typescript/src/components/DatePicker/DatePickerComponent.web.d.ts +2574 -2223
- package/lib/typescript/src/components/DeckSwiper/DeckSwiper.d.ts +1 -1
- package/lib/typescript/src/components/FormRow.d.ts +1 -1
- package/lib/typescript/src/components/Image.js +1 -1
- package/lib/typescript/src/components/Image.js.map +1 -1
- package/lib/typescript/src/components/Portal/Portal.d.ts +1 -1
- package/lib/typescript/src/components/Portal/PortalHost.d.ts +1 -1
- package/lib/typescript/src/components/Portal/PortalManager.d.ts +1 -1
- package/lib/typescript/src/components/Pressable.d.ts +2 -2
- package/lib/typescript/src/components/ScreenContainer.d.ts +1 -1
- package/lib/typescript/src/components/SectionList/SectionHeader.d.ts +1 -1
- package/lib/typescript/src/components/SectionList/SectionList.d.ts +2 -2
- package/lib/typescript/src/components/Slider.d.ts +1 -1
- package/lib/typescript/src/components/StepIndicator.d.ts +7 -7
- package/lib/typescript/src/components/SwipeableItem/SwipeableList.d.ts +1 -1
- package/lib/typescript/src/components/Swiper/Swiper.d.ts +1 -1
- package/lib/typescript/src/components/Swiper/SwiperItem.d.ts +1 -1
- package/lib/typescript/src/components/Switch.d.ts +2 -2
- package/lib/typescript/src/components/Table/Table.d.ts +1 -1
- package/lib/typescript/src/components/Text.d.ts +1 -1
- package/lib/typescript/src/components/TextField.d.ts +1 -1
- package/lib/typescript/src/components/Touchable.d.ts +2 -2
- package/lib/typescript/src/components/Typography.d.ts +3 -3
- package/lib/typescript/src/deprecated-components/AccordionItem.d.ts +1 -1
- package/lib/typescript/src/deprecated-components/Card.d.ts +1 -1
- package/lib/typescript/src/deprecated-components/CircularProgress.d.ts +1 -1
- package/lib/typescript/src/deprecated-components/Layout.d.ts +6 -6
- package/lib/typescript/src/deprecated-components/ProgressBar.d.ts +1 -1
- package/lib/typescript/src/deprecated-components/ProgressBar.js.map +1 -1
- package/lib/typescript/src/styles/DefaultTheme.d.ts +858 -741
- package/lib/typescript/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -10
- package/src/components/BottomSheet/BottomSheet.js +56 -47
- package/src/components/BottomSheet/BottomSheet.js.map +1 -1
- package/src/components/BottomSheet/BottomSheet.tsx +82 -73
- package/src/components/Image.js +1 -1
- package/src/components/Image.js.map +1 -1
- package/src/components/Image.tsx +10 -1
- package/src/deprecated-components/ProgressBar.js.map +1 -1
- package/src/deprecated-components/ProgressBar.tsx +1 -1
- package/lib/commonjs/components/BottomSheet/BottomSheetComponent.js +0 -1
- package/lib/typescript/src/components/BottomSheet/BottomSheetComponent.d.ts +0 -169
- package/lib/typescript/src/components/BottomSheet/BottomSheetComponent.js +0 -438
- package/lib/typescript/src/components/BottomSheet/BottomSheetComponent.js.map +0 -1
- package/src/components/BottomSheet/BottomSheetComponent.js +0 -438
- package/src/components/BottomSheet/BottomSheetComponent.js.map +0 -1
- package/src/components/BottomSheet/BottomSheetComponent.tsx +0 -895
|
@@ -1,438 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Slightly modfied version as taken from https://github.com/rgommezz/react-native-scroll-bottom-sheet
|
|
3
|
-
* Main previously breaking change:
|
|
4
|
-
* const node = this.props.innerRef.current?.getNode() ==> const node = this.props.innerRef.current as any
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Copyright (c) 2020 Raul Gomez Acuna
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the MIT license found in the
|
|
10
|
-
* LICENSE file in the root directory of this source tree.
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
|
-
import React, { Component } from "react";
|
|
14
|
-
import { Dimensions, FlatList, Platform, ScrollView, SectionList, StyleSheet, View, } from "react-native";
|
|
15
|
-
import Animated, { abs, add, and, call, Clock, clockRunning, cond, Easing as EasingDeprecated,
|
|
16
|
-
// @ts-ignore: this property is only present in Reanimated 2
|
|
17
|
-
EasingNode, eq, event, Extrapolate, greaterOrEq, greaterThan, multiply, not, onChange, or, set, startClock, stopClock, sub, spring, timing, Value, } from "react-native-reanimated";
|
|
18
|
-
import { NativeViewGestureHandler, PanGestureHandler, State as GestureState, TapGestureHandler, } from "react-native-gesture-handler";
|
|
19
|
-
const {
|
|
20
|
-
//@ts-ignore
|
|
21
|
-
interpolate: interpolateDeprecated,
|
|
22
|
-
// @ts-ignore: this property is only present in Reanimated 2
|
|
23
|
-
interpolateNode, } = Animated;
|
|
24
|
-
const interpolate = interpolateNode !== null && interpolateNode !== void 0 ? interpolateNode : interpolateDeprecated;
|
|
25
|
-
//@ts-ignore
|
|
26
|
-
const Easing = EasingNode !== null && EasingNode !== void 0 ? EasingNode : EasingDeprecated;
|
|
27
|
-
const FlatListComponentType = "FlatList";
|
|
28
|
-
const ScrollViewComponentType = "ScrollView";
|
|
29
|
-
const SectionListComponentType = "SectionList";
|
|
30
|
-
const TimingAnimationType = "timing";
|
|
31
|
-
const SpringAnimationType = "spring";
|
|
32
|
-
const DEFAULT_SPRING_PARAMS = {
|
|
33
|
-
damping: 50,
|
|
34
|
-
mass: 0.3,
|
|
35
|
-
stiffness: 121.6,
|
|
36
|
-
overshootClamping: true,
|
|
37
|
-
restSpeedThreshold: 0.3,
|
|
38
|
-
restDisplacementThreshold: 0.3,
|
|
39
|
-
};
|
|
40
|
-
const { height: windowHeight } = Dimensions.get("window");
|
|
41
|
-
const IOS_NORMAL_DECELERATION_RATE = 0.998;
|
|
42
|
-
const ANDROID_NORMAL_DECELERATION_RATE = 0.985;
|
|
43
|
-
const DEFAULT_ANIMATION_DURATION = 250;
|
|
44
|
-
const DEFAULT_EASING = Easing.inOut(Easing.linear);
|
|
45
|
-
const imperativeScrollOptions = {
|
|
46
|
-
[FlatListComponentType]: {
|
|
47
|
-
method: "scrollToIndex",
|
|
48
|
-
args: {
|
|
49
|
-
index: 0,
|
|
50
|
-
viewPosition: 0,
|
|
51
|
-
viewOffset: 1000,
|
|
52
|
-
animated: true,
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
[ScrollViewComponentType]: {
|
|
56
|
-
method: "scrollTo",
|
|
57
|
-
args: {
|
|
58
|
-
x: 0,
|
|
59
|
-
y: 0,
|
|
60
|
-
animated: true,
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
[SectionListComponentType]: {
|
|
64
|
-
method: "scrollToLocation",
|
|
65
|
-
args: {
|
|
66
|
-
itemIndex: 0,
|
|
67
|
-
sectionIndex: 0,
|
|
68
|
-
viewPosition: 0,
|
|
69
|
-
viewOffset: 1000,
|
|
70
|
-
animated: true,
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
export class ScrollBottomSheet extends Component {
|
|
75
|
-
constructor(props) {
|
|
76
|
-
var _a;
|
|
77
|
-
super(props);
|
|
78
|
-
/**
|
|
79
|
-
* Gesture Handler references
|
|
80
|
-
*/
|
|
81
|
-
this.masterDrawer = React.createRef();
|
|
82
|
-
this.drawerHandleRef = React.createRef();
|
|
83
|
-
this.drawerContentRef = React.createRef();
|
|
84
|
-
this.scrollComponentRef = React.createRef();
|
|
85
|
-
/**
|
|
86
|
-
* Flag to indicate imperative snapping
|
|
87
|
-
*/
|
|
88
|
-
this.isManuallySetValue = new Value(0);
|
|
89
|
-
/**
|
|
90
|
-
* Manual snapping amount
|
|
91
|
-
*/
|
|
92
|
-
this.manualYOffset = new Value(0);
|
|
93
|
-
this.prevSnapIndex = -1;
|
|
94
|
-
this.dragY = new Value(0);
|
|
95
|
-
this.prevDragY = new Value(0);
|
|
96
|
-
this.tempDestSnapPoint = new Value(0);
|
|
97
|
-
this.isAndroid = new Value(Number(Platform.OS === "android"));
|
|
98
|
-
this.animationClock = new Clock();
|
|
99
|
-
this.animationPosition = new Value(0);
|
|
100
|
-
this.animationFinished = new Value(0);
|
|
101
|
-
this.animationFrameTime = new Value(0);
|
|
102
|
-
this.velocityY = new Value(0);
|
|
103
|
-
this.lastStartScrollY = new Value(0);
|
|
104
|
-
this.destSnapPoint = new Value(0);
|
|
105
|
-
this.dragWithHandle = new Value(0);
|
|
106
|
-
this.scrollUpAndPullDown = new Value(0);
|
|
107
|
-
this.convertPercentageToDp = (str) => (Number(str.split("%")[0]) * (windowHeight - this.props.topInset)) / 100;
|
|
108
|
-
this.getNormalisedSnapPoints = () => {
|
|
109
|
-
return this.props.snapPoints.map((p) => {
|
|
110
|
-
if (typeof p === "string") {
|
|
111
|
-
return this.convertPercentageToDp(p);
|
|
112
|
-
}
|
|
113
|
-
else if (typeof p === "number") {
|
|
114
|
-
return p;
|
|
115
|
-
}
|
|
116
|
-
throw new Error(`Invalid type for value ${p}: ${typeof p}. It should be either a percentage string or a number`);
|
|
117
|
-
});
|
|
118
|
-
};
|
|
119
|
-
this.getScrollComponent = () => {
|
|
120
|
-
switch (this.props.componentType) {
|
|
121
|
-
case "FlatList":
|
|
122
|
-
return FlatList;
|
|
123
|
-
case "ScrollView":
|
|
124
|
-
return ScrollView;
|
|
125
|
-
case "SectionList":
|
|
126
|
-
return SectionList;
|
|
127
|
-
default:
|
|
128
|
-
throw new Error("Component type not supported: it should be one of `FlatList`, `ScrollView` or `SectionList`");
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
this.snapTo = (index) => {
|
|
132
|
-
const snapPoints = this.getNormalisedSnapPoints();
|
|
133
|
-
this.isManuallySetValue.setValue(1);
|
|
134
|
-
this.manualYOffset.setValue(snapPoints[index]);
|
|
135
|
-
this.nextSnapIndex.setValue(index);
|
|
136
|
-
};
|
|
137
|
-
const { initialSnapIndex, animationType } = props;
|
|
138
|
-
const animationDriver = animationType === "timing" ? 0 : 1;
|
|
139
|
-
const animationDuration = (props.animationType === "timing" && ((_a = props.animationConfig) === null || _a === void 0 ? void 0 : _a.duration)) ||
|
|
140
|
-
DEFAULT_ANIMATION_DURATION;
|
|
141
|
-
const ScrollComponent = this.getScrollComponent();
|
|
142
|
-
// @ts-ignore
|
|
143
|
-
this.scrollComponent = Animated.createAnimatedComponent(ScrollComponent);
|
|
144
|
-
const snapPoints = this.getNormalisedSnapPoints();
|
|
145
|
-
const openPosition = snapPoints[0];
|
|
146
|
-
const closedPosition = this.props.enableOverScroll
|
|
147
|
-
? windowHeight
|
|
148
|
-
: snapPoints[snapPoints.length - 1];
|
|
149
|
-
const initialSnap = snapPoints[initialSnapIndex];
|
|
150
|
-
this.nextSnapIndex = new Value(initialSnapIndex);
|
|
151
|
-
const initialDecelerationRate = Platform.select({
|
|
152
|
-
android: props.initialSnapIndex === 0 ? ANDROID_NORMAL_DECELERATION_RATE : 0,
|
|
153
|
-
ios: IOS_NORMAL_DECELERATION_RATE,
|
|
154
|
-
});
|
|
155
|
-
this.decelerationRate = new Value(initialDecelerationRate);
|
|
156
|
-
//@ts-ignore
|
|
157
|
-
const handleGestureState = new Value(-1);
|
|
158
|
-
//@ts-ignore
|
|
159
|
-
const handleOldGestureState = new Value(-1);
|
|
160
|
-
//@ts-ignore
|
|
161
|
-
const drawerGestureState = new Value(-1);
|
|
162
|
-
//@ts-ignore
|
|
163
|
-
const drawerOldGestureState = new Value(-1);
|
|
164
|
-
const lastSnapInRange = new Value(1);
|
|
165
|
-
this.prevTranslateYOffset = new Value(initialSnap);
|
|
166
|
-
this.translationY = new Value(initialSnap);
|
|
167
|
-
this.lastSnap = new Value(initialSnap);
|
|
168
|
-
this.onHandleGestureEvent = event([
|
|
169
|
-
{
|
|
170
|
-
nativeEvent: {
|
|
171
|
-
translationY: this.dragY,
|
|
172
|
-
oldState: handleOldGestureState,
|
|
173
|
-
state: handleGestureState,
|
|
174
|
-
velocityY: this.velocityY,
|
|
175
|
-
},
|
|
176
|
-
},
|
|
177
|
-
]);
|
|
178
|
-
this.onDrawerGestureEvent = event([
|
|
179
|
-
{
|
|
180
|
-
nativeEvent: {
|
|
181
|
-
translationY: this.dragY,
|
|
182
|
-
oldState: drawerOldGestureState,
|
|
183
|
-
state: drawerGestureState,
|
|
184
|
-
velocityY: this.velocityY,
|
|
185
|
-
},
|
|
186
|
-
},
|
|
187
|
-
]);
|
|
188
|
-
this.onScrollBeginDrag = event([
|
|
189
|
-
{
|
|
190
|
-
nativeEvent: {
|
|
191
|
-
contentOffset: { y: this.lastStartScrollY },
|
|
192
|
-
},
|
|
193
|
-
},
|
|
194
|
-
]);
|
|
195
|
-
const didHandleGestureBegin = eq(handleGestureState, GestureState.ACTIVE);
|
|
196
|
-
const isAnimationInterrupted = and(or(eq(handleGestureState, GestureState.BEGAN), eq(drawerGestureState, GestureState.BEGAN), and(eq(this.isAndroid, 0), eq(animationDriver, 1), or(eq(drawerGestureState, GestureState.ACTIVE), eq(handleGestureState, GestureState.ACTIVE)))), clockRunning(this.animationClock));
|
|
197
|
-
this.didGestureFinish = or(and(eq(handleOldGestureState, GestureState.ACTIVE), eq(handleGestureState, GestureState.END)), and(eq(drawerOldGestureState, GestureState.ACTIVE), eq(drawerGestureState, GestureState.END)));
|
|
198
|
-
// Function that determines if the last snap point is in the range {snapPoints}
|
|
199
|
-
// In the case of interruptions in the middle of an animation, we'll get
|
|
200
|
-
// lastSnap values outside the range
|
|
201
|
-
const isLastSnapPointInRange = (i = 0) => i === snapPoints.length
|
|
202
|
-
? lastSnapInRange
|
|
203
|
-
: cond(eq(this.lastSnap, snapPoints[i]), [set(lastSnapInRange, 1)], isLastSnapPointInRange(i + 1));
|
|
204
|
-
const scrollY = [
|
|
205
|
-
set(lastSnapInRange, 0),
|
|
206
|
-
isLastSnapPointInRange(),
|
|
207
|
-
cond(or(didHandleGestureBegin, and(this.isManuallySetValue, not(eq(this.manualYOffset, snapPoints[0])))), [set(this.dragWithHandle, 1), 0]),
|
|
208
|
-
cond(
|
|
209
|
-
// This is to account for a continuous scroll on the drawer from a snap point
|
|
210
|
-
// Different than top, bringing the drawer to the top position, so that if we
|
|
211
|
-
// change scroll direction without releasing the gesture, it doesn't pull down the drawer again
|
|
212
|
-
and(eq(this.dragWithHandle, 1), greaterThan(snapPoints[0], add(this.lastSnap, this.dragY)), and(not(eq(this.lastSnap, snapPoints[0])), lastSnapInRange)), [
|
|
213
|
-
set(this.lastSnap, snapPoints[0]),
|
|
214
|
-
set(this.dragWithHandle, 0),
|
|
215
|
-
this.lastStartScrollY,
|
|
216
|
-
], cond(eq(this.dragWithHandle, 1), 0, this.lastStartScrollY)),
|
|
217
|
-
];
|
|
218
|
-
this.didScrollUpAndPullDown = cond(and(greaterOrEq(this.dragY, this.lastStartScrollY), greaterThan(this.lastStartScrollY, 0)), set(this.scrollUpAndPullDown, 1));
|
|
219
|
-
this.setTranslationY = cond(and(not(this.dragWithHandle), not(greaterOrEq(this.dragY, this.lastStartScrollY))), set(this.translationY, sub(this.dragY, this.lastStartScrollY)), set(this.translationY, this.dragY));
|
|
220
|
-
this.extraOffset = cond(eq(this.scrollUpAndPullDown, 1), this.lastStartScrollY, 0);
|
|
221
|
-
const endOffsetY = add(this.lastSnap, this.translationY, multiply(1 - props.friction, this.velocityY));
|
|
222
|
-
this.calculateNextSnapPoint = (i = 0) => i === snapPoints.length
|
|
223
|
-
? this.tempDestSnapPoint
|
|
224
|
-
: cond(greaterThan(abs(sub(this.tempDestSnapPoint, endOffsetY)), abs(sub(add(snapPoints[i], this.extraOffset), endOffsetY))), [
|
|
225
|
-
set(this.tempDestSnapPoint, add(snapPoints[i], this.extraOffset)),
|
|
226
|
-
set(this.nextSnapIndex, i),
|
|
227
|
-
this.calculateNextSnapPoint(i + 1),
|
|
228
|
-
], this.calculateNextSnapPoint(i + 1));
|
|
229
|
-
const runAnimation = ({ clock, from, to, position, finished, velocity, frameTime, }) => {
|
|
230
|
-
var _a;
|
|
231
|
-
const state = {
|
|
232
|
-
finished,
|
|
233
|
-
velocity: new Value(0),
|
|
234
|
-
position,
|
|
235
|
-
time: new Value(0),
|
|
236
|
-
frameTime,
|
|
237
|
-
};
|
|
238
|
-
const timingConfig = {
|
|
239
|
-
duration: animationDuration,
|
|
240
|
-
easing: (props.animationType === "timing" && ((_a = props.animationConfig) === null || _a === void 0 ? void 0 : _a.easing)) ||
|
|
241
|
-
DEFAULT_EASING,
|
|
242
|
-
toValue: new Value(0),
|
|
243
|
-
};
|
|
244
|
-
const springConfig = {
|
|
245
|
-
...DEFAULT_SPRING_PARAMS,
|
|
246
|
-
...((props.animationType === "spring" && props.animationConfig) || {}),
|
|
247
|
-
toValue: new Value(0),
|
|
248
|
-
};
|
|
249
|
-
return [
|
|
250
|
-
cond(and(not(clockRunning(clock)), not(eq(finished, 1))), [
|
|
251
|
-
// If the clock isn't running, we reset all the animation params and start the clock
|
|
252
|
-
set(state.finished, 0),
|
|
253
|
-
set(state.velocity, velocity),
|
|
254
|
-
set(state.time, 0),
|
|
255
|
-
set(state.position, from),
|
|
256
|
-
set(state.frameTime, 0),
|
|
257
|
-
set(timingConfig.toValue, to),
|
|
258
|
-
set(springConfig.toValue, to),
|
|
259
|
-
startClock(clock),
|
|
260
|
-
]),
|
|
261
|
-
// We run the step here that is going to update position
|
|
262
|
-
cond(eq(animationDriver, 0),
|
|
263
|
-
//@ts-ignore
|
|
264
|
-
timing(clock, state, timingConfig), spring(clock, state, springConfig)),
|
|
265
|
-
cond(state.finished, [
|
|
266
|
-
call([this.nextSnapIndex], ([value]) => {
|
|
267
|
-
var _a, _b;
|
|
268
|
-
if (value !== this.prevSnapIndex) {
|
|
269
|
-
(_b = (_a = this.props).onSettle) === null || _b === void 0 ? void 0 : _b.call(_a, value);
|
|
270
|
-
}
|
|
271
|
-
this.prevSnapIndex = value;
|
|
272
|
-
}),
|
|
273
|
-
// Resetting appropriate values
|
|
274
|
-
set(drawerOldGestureState, GestureState.END),
|
|
275
|
-
set(handleOldGestureState, GestureState.END),
|
|
276
|
-
set(this.prevTranslateYOffset, state.position),
|
|
277
|
-
cond(eq(this.scrollUpAndPullDown, 1), [
|
|
278
|
-
set(this.prevTranslateYOffset, sub(this.prevTranslateYOffset, this.lastStartScrollY)),
|
|
279
|
-
set(this.lastStartScrollY, 0),
|
|
280
|
-
set(this.scrollUpAndPullDown, 0),
|
|
281
|
-
]),
|
|
282
|
-
cond(eq(this.destSnapPoint, snapPoints[0]), [
|
|
283
|
-
set(this.dragWithHandle, 0),
|
|
284
|
-
]),
|
|
285
|
-
set(this.isManuallySetValue, 0),
|
|
286
|
-
set(this.manualYOffset, 0),
|
|
287
|
-
stopClock(clock),
|
|
288
|
-
this.prevTranslateYOffset,
|
|
289
|
-
],
|
|
290
|
-
// We made the block return the updated position,
|
|
291
|
-
state.position),
|
|
292
|
-
];
|
|
293
|
-
};
|
|
294
|
-
const translateYOffset = cond(isAnimationInterrupted, [
|
|
295
|
-
// set(prevTranslateYOffset, animationPosition) should only run if we are
|
|
296
|
-
// interrupting an animation when the drawer is currently in a different
|
|
297
|
-
// position than the top
|
|
298
|
-
cond(or(this.dragWithHandle, greaterOrEq(abs(this.prevDragY), this.lastStartScrollY)), set(this.prevTranslateYOffset, this.animationPosition)),
|
|
299
|
-
set(this.animationFinished, 1),
|
|
300
|
-
set(this.translationY, 0),
|
|
301
|
-
// Resetting appropriate values
|
|
302
|
-
set(drawerOldGestureState, GestureState.END),
|
|
303
|
-
set(handleOldGestureState, GestureState.END),
|
|
304
|
-
// By forcing that frameTime exceeds duration, it has the effect of stopping the animation
|
|
305
|
-
set(this.animationFrameTime, add(animationDuration, 1000)),
|
|
306
|
-
set(this.velocityY, 0),
|
|
307
|
-
stopClock(this.animationClock),
|
|
308
|
-
this.prevTranslateYOffset,
|
|
309
|
-
], cond(or(this.didGestureFinish, this.isManuallySetValue, clockRunning(this.animationClock)), [
|
|
310
|
-
runAnimation({
|
|
311
|
-
clock: this.animationClock,
|
|
312
|
-
from: cond(this.isManuallySetValue, this.prevTranslateYOffset, add(this.prevTranslateYOffset, this.translationY)),
|
|
313
|
-
to: this.destSnapPoint,
|
|
314
|
-
position: this.animationPosition,
|
|
315
|
-
finished: this.animationFinished,
|
|
316
|
-
frameTime: this.animationFrameTime,
|
|
317
|
-
velocity: this.velocityY,
|
|
318
|
-
}),
|
|
319
|
-
], [
|
|
320
|
-
set(this.animationFrameTime, 0),
|
|
321
|
-
set(this.animationFinished, 0),
|
|
322
|
-
// @ts-ignore
|
|
323
|
-
this.prevTranslateYOffset,
|
|
324
|
-
]));
|
|
325
|
-
this.translateY = interpolate(add(translateYOffset, this.dragY, multiply(scrollY, -1)), {
|
|
326
|
-
inputRange: [openPosition, closedPosition],
|
|
327
|
-
outputRange: [openPosition, closedPosition],
|
|
328
|
-
extrapolate: Extrapolate.CLAMP,
|
|
329
|
-
});
|
|
330
|
-
this.position = interpolate(this.translateY, {
|
|
331
|
-
inputRange: [openPosition, snapPoints[snapPoints.length - 1]],
|
|
332
|
-
outputRange: [1, 0],
|
|
333
|
-
extrapolate: Extrapolate.CLAMP,
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
render() {
|
|
337
|
-
const { renderHandle, initialSnapIndex, containerStyle, ...rest } = this.props;
|
|
338
|
-
const AnimatedScrollableComponent = this.scrollComponent;
|
|
339
|
-
const normalisedSnapPoints = this.getNormalisedSnapPoints();
|
|
340
|
-
const initialSnap = normalisedSnapPoints[initialSnapIndex];
|
|
341
|
-
const Content = (React.createElement(Animated.View, { style: [
|
|
342
|
-
StyleSheet.absoluteFillObject,
|
|
343
|
-
containerStyle,
|
|
344
|
-
// @ts-ignore
|
|
345
|
-
{
|
|
346
|
-
transform: [{ translateY: this.translateY }],
|
|
347
|
-
},
|
|
348
|
-
] },
|
|
349
|
-
React.createElement(PanGestureHandler, { ref: this.drawerHandleRef, shouldCancelWhenOutside: false, simultaneousHandlers: this.masterDrawer, onGestureEvent: this.onHandleGestureEvent, onHandlerStateChange: this.onHandleGestureEvent },
|
|
350
|
-
React.createElement(Animated.View, null, renderHandle())),
|
|
351
|
-
React.createElement(PanGestureHandler, { ref: this.drawerContentRef, simultaneousHandlers: [this.scrollComponentRef, this.masterDrawer], shouldCancelWhenOutside: false, onGestureEvent: this.onDrawerGestureEvent, onHandlerStateChange: this.onDrawerGestureEvent },
|
|
352
|
-
React.createElement(Animated.View, { style: styles.container },
|
|
353
|
-
React.createElement(NativeViewGestureHandler, { ref: this.scrollComponentRef, waitFor: this.masterDrawer, simultaneousHandlers: this.drawerContentRef },
|
|
354
|
-
React.createElement(AnimatedScrollableComponent, { overScrollMode: "never", bounces: false, ...rest, ref: this.props.innerRef,
|
|
355
|
-
// @ts-ignore
|
|
356
|
-
decelerationRate: this.decelerationRate, onScrollBeginDrag: this.onScrollBeginDrag, scrollEventThrottle: 1, contentContainerStyle: [
|
|
357
|
-
rest.contentContainerStyle,
|
|
358
|
-
{ paddingBottom: this.getNormalisedSnapPoints()[0] },
|
|
359
|
-
] })))),
|
|
360
|
-
this.props.animatedPosition && (React.createElement(Animated.Code, { exec: onChange(this.position, set(this.props.animatedPosition, this.position)) })),
|
|
361
|
-
React.createElement(Animated.Code, { exec: onChange(this.dragY, cond(not(eq(this.dragY, 0)), set(this.prevDragY, this.dragY))) }),
|
|
362
|
-
React.createElement(Animated.Code, { exec: onChange(this.didGestureFinish, cond(this.didGestureFinish, [
|
|
363
|
-
this.didScrollUpAndPullDown,
|
|
364
|
-
this.setTranslationY,
|
|
365
|
-
set(this.tempDestSnapPoint, add(normalisedSnapPoints[0], this.extraOffset)),
|
|
366
|
-
set(this.nextSnapIndex, 0),
|
|
367
|
-
set(this.destSnapPoint, this.calculateNextSnapPoint()),
|
|
368
|
-
cond(and(greaterThan(this.dragY, this.lastStartScrollY), this.isAndroid, not(this.dragWithHandle)), call([], () => {
|
|
369
|
-
var _a, _b;
|
|
370
|
-
// This prevents the scroll glide from happening on Android when pulling down with inertia.
|
|
371
|
-
// It's not perfect, but does the job for now
|
|
372
|
-
const { method, args } = imperativeScrollOptions[this.props.componentType];
|
|
373
|
-
// @ts-ignore
|
|
374
|
-
const node = this.props.innerRef.current;
|
|
375
|
-
if (node &&
|
|
376
|
-
node[method] &&
|
|
377
|
-
((this.props.componentType === "FlatList" &&
|
|
378
|
-
(((_b = (_a = this.props) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.length) || 0) > 0) ||
|
|
379
|
-
(this.props.componentType === "SectionList" &&
|
|
380
|
-
this.props.sections.length > 0) ||
|
|
381
|
-
this.props.componentType === "ScrollView")) {
|
|
382
|
-
node[method](args);
|
|
383
|
-
}
|
|
384
|
-
})),
|
|
385
|
-
set(this.dragY, 0),
|
|
386
|
-
set(this.velocityY, 0),
|
|
387
|
-
set(this.lastSnap, sub(this.destSnapPoint, cond(eq(this.scrollUpAndPullDown, 1), this.lastStartScrollY, 0))),
|
|
388
|
-
call([this.lastSnap], ([value]) => {
|
|
389
|
-
var _a, _b;
|
|
390
|
-
// This is the TapGHandler trick
|
|
391
|
-
// @ts-ignore
|
|
392
|
-
(_b = (_a = this.masterDrawer) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.setNativeProps({
|
|
393
|
-
maxDeltaY: value - this.getNormalisedSnapPoints()[0],
|
|
394
|
-
});
|
|
395
|
-
}),
|
|
396
|
-
set(this.decelerationRate, cond(eq(this.isAndroid, 1), cond(eq(this.lastSnap, normalisedSnapPoints[0]), ANDROID_NORMAL_DECELERATION_RATE, 0), IOS_NORMAL_DECELERATION_RATE)),
|
|
397
|
-
])) }),
|
|
398
|
-
React.createElement(Animated.Code, { exec: onChange(this.isManuallySetValue, [
|
|
399
|
-
cond(this.isManuallySetValue, [
|
|
400
|
-
set(this.destSnapPoint, this.manualYOffset),
|
|
401
|
-
set(this.animationFinished, 0),
|
|
402
|
-
set(this.lastSnap, this.manualYOffset),
|
|
403
|
-
call([this.lastSnap], ([value]) => {
|
|
404
|
-
var _a, _b;
|
|
405
|
-
// This is the TapGHandler trick
|
|
406
|
-
// @ts-ignore
|
|
407
|
-
(_b = (_a = this.masterDrawer) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.setNativeProps({
|
|
408
|
-
maxDeltaY: value - this.getNormalisedSnapPoints()[0],
|
|
409
|
-
});
|
|
410
|
-
}),
|
|
411
|
-
], [set(this.nextSnapIndex, 0)]),
|
|
412
|
-
]) })));
|
|
413
|
-
// On Android, having an intermediary view with pointerEvents="box-none", breaks the
|
|
414
|
-
// waitFor logic
|
|
415
|
-
if (Platform.OS === "android") {
|
|
416
|
-
return (React.createElement(TapGestureHandler, { maxDurationMs: 100000, ref: this.masterDrawer, maxDeltaY: initialSnap - this.getNormalisedSnapPoints()[0], shouldCancelWhenOutside: false }, Content));
|
|
417
|
-
}
|
|
418
|
-
// On iOS, We need to wrap the content on a view with PointerEvents box-none
|
|
419
|
-
// So that we can start scrolling automatically when reaching the top without
|
|
420
|
-
// Stopping the gesture
|
|
421
|
-
return (React.createElement(TapGestureHandler, { maxDurationMs: 100000, ref: this.masterDrawer, maxDeltaY: initialSnap - this.getNormalisedSnapPoints()[0] },
|
|
422
|
-
React.createElement(View, { style: StyleSheet.absoluteFillObject, pointerEvents: "box-none" }, Content)));
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
ScrollBottomSheet.defaultProps = {
|
|
426
|
-
topInset: 0,
|
|
427
|
-
friction: 0.95,
|
|
428
|
-
animationType: "timing",
|
|
429
|
-
innerRef: React.createRef(),
|
|
430
|
-
enableOverScroll: false,
|
|
431
|
-
};
|
|
432
|
-
export default ScrollBottomSheet;
|
|
433
|
-
const styles = StyleSheet.create({
|
|
434
|
-
container: {
|
|
435
|
-
flex: 1,
|
|
436
|
-
},
|
|
437
|
-
});
|
|
438
|
-
//# sourceMappingURL=BottomSheetComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetComponent.js","sourceRoot":"","sources":["BottomSheetComponent.tsx"],"names":[],"mappings":"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"}
|