@draftbit/core 48.6.2 → 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.
Files changed (62) hide show
  1. package/lib/commonjs/components/BottomSheet/BottomSheet.js +1 -1
  2. package/lib/commonjs/components/Config.js +1 -1
  3. package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1
  4. package/lib/commonjs/components/Progress/CircularProgress/CircularProgress.js +1 -1
  5. package/lib/commonjs/components/Progress/IndeterminateProgress.js +1 -1
  6. package/lib/commonjs/components/Progress/LinearProgress/LinearProgress.js +1 -1
  7. package/lib/commonjs/components/SectionList/SectionList.js +1 -1
  8. package/lib/commonjs/components/StepIndicator.js +1 -1
  9. package/lib/commonjs/utilities.js +1 -1
  10. package/lib/typescript/src/Provider.d.ts +1 -1
  11. package/lib/typescript/src/components/AccordionGroup.d.ts +1 -1
  12. package/lib/typescript/src/components/ActionSheet/ActionSheet.d.ts +1 -1
  13. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts +5 -3
  14. package/lib/typescript/src/components/BottomSheet/BottomSheet.js +56 -47
  15. package/lib/typescript/src/components/BottomSheet/BottomSheet.js.map +1 -1
  16. package/lib/typescript/src/components/DatePicker/DatePickerComponent.web.d.ts +2574 -2223
  17. package/lib/typescript/src/components/DeckSwiper/DeckSwiper.d.ts +1 -1
  18. package/lib/typescript/src/components/FormRow.d.ts +1 -1
  19. package/lib/typescript/src/components/Image.js +1 -1
  20. package/lib/typescript/src/components/Image.js.map +1 -1
  21. package/lib/typescript/src/components/Portal/Portal.d.ts +1 -1
  22. package/lib/typescript/src/components/Portal/PortalHost.d.ts +1 -1
  23. package/lib/typescript/src/components/Portal/PortalManager.d.ts +1 -1
  24. package/lib/typescript/src/components/Pressable.d.ts +2 -2
  25. package/lib/typescript/src/components/ScreenContainer.d.ts +1 -1
  26. package/lib/typescript/src/components/SectionList/SectionHeader.d.ts +1 -1
  27. package/lib/typescript/src/components/SectionList/SectionList.d.ts +2 -2
  28. package/lib/typescript/src/components/Slider.d.ts +1 -1
  29. package/lib/typescript/src/components/StepIndicator.d.ts +7 -7
  30. package/lib/typescript/src/components/SwipeableItem/SwipeableList.d.ts +1 -1
  31. package/lib/typescript/src/components/Swiper/Swiper.d.ts +1 -1
  32. package/lib/typescript/src/components/Swiper/SwiperItem.d.ts +1 -1
  33. package/lib/typescript/src/components/Switch.d.ts +2 -2
  34. package/lib/typescript/src/components/Table/Table.d.ts +1 -1
  35. package/lib/typescript/src/components/Text.d.ts +1 -1
  36. package/lib/typescript/src/components/TextField.d.ts +1 -1
  37. package/lib/typescript/src/components/Touchable.d.ts +2 -2
  38. package/lib/typescript/src/components/Typography.d.ts +3 -3
  39. package/lib/typescript/src/deprecated-components/AccordionItem.d.ts +1 -1
  40. package/lib/typescript/src/deprecated-components/Card.d.ts +1 -1
  41. package/lib/typescript/src/deprecated-components/CircularProgress.d.ts +1 -1
  42. package/lib/typescript/src/deprecated-components/Layout.d.ts +6 -6
  43. package/lib/typescript/src/deprecated-components/ProgressBar.d.ts +1 -1
  44. package/lib/typescript/src/deprecated-components/ProgressBar.js.map +1 -1
  45. package/lib/typescript/src/styles/DefaultTheme.d.ts +858 -741
  46. package/lib/typescript/tsconfig.tsbuildinfo +1 -1
  47. package/package.json +11 -10
  48. package/src/components/BottomSheet/BottomSheet.js +56 -47
  49. package/src/components/BottomSheet/BottomSheet.js.map +1 -1
  50. package/src/components/BottomSheet/BottomSheet.tsx +82 -73
  51. package/src/components/Image.js +1 -1
  52. package/src/components/Image.js.map +1 -1
  53. package/src/components/Image.tsx +10 -1
  54. package/src/deprecated-components/ProgressBar.js.map +1 -1
  55. package/src/deprecated-components/ProgressBar.tsx +1 -1
  56. package/lib/commonjs/components/BottomSheet/BottomSheetComponent.js +0 -1
  57. package/lib/typescript/src/components/BottomSheet/BottomSheetComponent.d.ts +0 -169
  58. package/lib/typescript/src/components/BottomSheet/BottomSheetComponent.js +0 -438
  59. package/lib/typescript/src/components/BottomSheet/BottomSheetComponent.js.map +0 -1
  60. package/src/components/BottomSheet/BottomSheetComponent.js +0 -438
  61. package/src/components/BottomSheet/BottomSheetComponent.js.map +0 -1
  62. package/src/components/BottomSheet/BottomSheetComponent.tsx +0 -895
@@ -1,169 +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, RefObject } from "react";
14
- import { FlatList, FlatListProps, ScrollView, ScrollViewProps, SectionList, SectionListProps, ViewStyle } from "react-native";
15
- import Animated from "react-native-reanimated";
16
- import { Assign } from "utility-types";
17
- declare const FlatListComponentType: "FlatList";
18
- declare const ScrollViewComponentType: "ScrollView";
19
- declare const SectionListComponentType: "SectionList";
20
- declare const TimingAnimationType: "timing";
21
- declare const SpringAnimationType: "spring";
22
- declare type AnimatedScrollableComponent = FlatList | ScrollView | SectionList;
23
- declare type FlatListOption<T> = Assign<{
24
- componentType: typeof FlatListComponentType;
25
- }, FlatListProps<T>>;
26
- declare type ScrollViewOption = Assign<{
27
- componentType: typeof ScrollViewComponentType;
28
- }, ScrollViewProps>;
29
- declare type SectionListOption<T> = Assign<{
30
- componentType: typeof SectionListComponentType;
31
- }, SectionListProps<T>>;
32
- declare type CommonProps = {
33
- /**
34
- * Array of numbers that indicate the different resting positions of the bottom sheet (in dp or %), starting from the top.
35
- * If a percentage is used, that would translate to the relative amount of the total window height.
36
- * For instance, if 50% is used, that'd be windowHeight * 0.5. If you wanna take into account safe areas during
37
- * the calculation, such as status bars and notches, please use 'topInset' prop
38
- */
39
- snapPoints: Array<string | number>;
40
- /**
41
- * Index that references the initial resting position of the drawer, starting from the top
42
- */
43
- initialSnapIndex: number;
44
- /**
45
- * Render prop for the handle
46
- */
47
- renderHandle: () => React.ReactNode;
48
- /**
49
- * Callback that is executed right after the drawer settles on one of the snapping points.
50
- * The new index is provided on the callback
51
- * @param index
52
- */
53
- onSettle?: (index: number) => void;
54
- /**
55
- * Animated value that tracks the position of the drawer, being:
56
- * 0 => closed
57
- * 1 => fully opened
58
- */
59
- animatedPosition?: Animated.Value<number>;
60
- /**
61
- * This value is useful if you want to take into consideration safe area insets
62
- * when applying percentages for snapping points. We recommend using react-native-safe-area-context
63
- * library for that.
64
- * @see https://github.com/th3rdwave/react-native-safe-area-context#usage, insets.top
65
- */
66
- topInset: number;
67
- /**
68
- * Reference to FlatList, ScrollView or SectionList in order to execute its imperative methods.
69
- */
70
- innerRef: RefObject<FlatList | ScrollView | SectionList>;
71
- containerStyle?: Animated.AnimateStyle<ViewStyle>;
72
- friction: number;
73
- enableOverScroll: boolean;
74
- };
75
- declare type TimingAnimationProps = {
76
- animationType: typeof TimingAnimationType;
77
- /**
78
- * Configuration for the timing reanimated function
79
- */
80
- animationConfig?: Partial<Animated.TimingConfig>;
81
- };
82
- declare type SpringAnimationProps = {
83
- animationType: typeof SpringAnimationType;
84
- /**
85
- * Configuration for the spring reanimated function
86
- */
87
- animationConfig?: Partial<Animated.SpringConfig>;
88
- };
89
- declare type Props<T> = CommonProps & (FlatListOption<T> | ScrollViewOption | SectionListOption<T>) & (TimingAnimationProps | SpringAnimationProps);
90
- export declare class ScrollBottomSheet<T extends any> extends Component<Props<T>> {
91
- static defaultProps: {
92
- topInset: number;
93
- friction: number;
94
- animationType: string;
95
- innerRef: React.RefObject<AnimatedScrollableComponent>;
96
- enableOverScroll: boolean;
97
- };
98
- /**
99
- * Gesture Handler references
100
- */
101
- private masterDrawer;
102
- private drawerHandleRef;
103
- private drawerContentRef;
104
- private scrollComponentRef;
105
- /**
106
- * ScrollView prop
107
- */
108
- private onScrollBeginDrag;
109
- /**
110
- * Pan gesture handler events for drawer handle and content
111
- */
112
- private onHandleGestureEvent;
113
- private onDrawerGestureEvent;
114
- /**
115
- * Main Animated Value that drives the top position of the UI drawer at any point in time
116
- */
117
- private translateY;
118
- /**
119
- * Animated value that keeps track of the position: 0 => closed, 1 => opened
120
- */
121
- private position;
122
- /**
123
- * Flag to indicate imperative snapping
124
- */
125
- private isManuallySetValue;
126
- /**
127
- * Manual snapping amount
128
- */
129
- private manualYOffset;
130
- /**
131
- * Keeps track of the current index
132
- */
133
- private nextSnapIndex;
134
- /**
135
- * Deceleration rate of the scroll component. This is used only on Android to
136
- * compensate the unexpected glide it gets sometimes.
137
- */
138
- private decelerationRate;
139
- private prevSnapIndex;
140
- private dragY;
141
- private prevDragY;
142
- private tempDestSnapPoint;
143
- private isAndroid;
144
- private animationClock;
145
- private animationPosition;
146
- private animationFinished;
147
- private animationFrameTime;
148
- private velocityY;
149
- private lastStartScrollY;
150
- private prevTranslateYOffset;
151
- private translationY;
152
- private destSnapPoint;
153
- private lastSnap;
154
- private dragWithHandle;
155
- private scrollUpAndPullDown;
156
- private didGestureFinish;
157
- private didScrollUpAndPullDown;
158
- private setTranslationY;
159
- private extraOffset;
160
- private calculateNextSnapPoint;
161
- private scrollComponent;
162
- convertPercentageToDp: (str: string) => number;
163
- constructor(props: Props<T>);
164
- private getNormalisedSnapPoints;
165
- private getScrollComponent;
166
- snapTo: (index: number) => void;
167
- render(): JSX.Element;
168
- }
169
- export default ScrollBottomSheet;
@@ -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":["../../../../../src/components/BottomSheet/BottomSheetComponent.tsx"],"names":[],"mappings":"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"}