@swmansion/react-native-bottom-sheet 0.7.0-next.2 → 0.7.0-next.4
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/android/src/main/java/com/swmansion/reactnativebottomsheet/BottomSheetView.kt +4 -1
- package/ios/BottomSheetContentView.mm +6 -0
- package/ios/RNSBottomSheetHostingView.swift +44 -0
- package/lib/module/BottomSheet.js +101 -38
- package/lib/module/BottomSheet.js.map +1 -1
- package/lib/module/ModalBottomSheet.js +3 -7
- package/lib/module/ModalBottomSheet.js.map +1 -1
- package/lib/module/bottomSheetUtils.js +0 -2
- package/lib/module/bottomSheetUtils.js.map +1 -1
- package/lib/module/index.js +0 -3
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/BottomSheet.d.ts +4 -3
- package/lib/typescript/src/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/src/ModalBottomSheet.d.ts +3 -6
- package/lib/typescript/src/ModalBottomSheet.d.ts.map +1 -1
- package/lib/typescript/src/bottomSheetUtils.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +0 -5
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +2 -8
- package/src/BottomSheet.tsx +144 -37
- package/src/ModalBottomSheet.tsx +5 -13
- package/src/bottomSheetUtils.ts +0 -1
- package/src/index.tsx +0 -5
- package/lib/module/BottomSheetBase.js +0 -207
- package/lib/module/BottomSheetBase.js.map +0 -1
- package/lib/module/BottomSheetContext.js +0 -13
- package/lib/module/BottomSheetContext.js.map +0 -1
- package/lib/module/BottomSheetFlatList.js +0 -6
- package/lib/module/BottomSheetFlatList.js.map +0 -1
- package/lib/module/BottomSheetScrollView.js +0 -6
- package/lib/module/BottomSheetScrollView.js.map +0 -1
- package/lib/module/bottomSheetScrollable.js +0 -35
- package/lib/module/bottomSheetScrollable.js.map +0 -1
- package/lib/module/useBottomSheetPanGesture.js +0 -202
- package/lib/module/useBottomSheetPanGesture.js.map +0 -1
- package/lib/module/useBottomSheetScrollable.js +0 -61
- package/lib/module/useBottomSheetScrollable.js.map +0 -1
- package/lib/typescript/src/BottomSheetBase.d.ts +0 -20
- package/lib/typescript/src/BottomSheetBase.d.ts.map +0 -1
- package/lib/typescript/src/BottomSheetContext.d.ts +0 -19
- package/lib/typescript/src/BottomSheetContext.d.ts.map +0 -1
- package/lib/typescript/src/BottomSheetFlatList.d.ts +0 -10
- package/lib/typescript/src/BottomSheetFlatList.d.ts.map +0 -1
- package/lib/typescript/src/BottomSheetScrollView.d.ts +0 -10
- package/lib/typescript/src/BottomSheetScrollView.d.ts.map +0 -1
- package/lib/typescript/src/bottomSheetScrollable.d.ts +0 -9
- package/lib/typescript/src/bottomSheetScrollable.d.ts.map +0 -1
- package/lib/typescript/src/useBottomSheetPanGesture.d.ts +0 -18
- package/lib/typescript/src/useBottomSheetPanGesture.d.ts.map +0 -1
- package/lib/typescript/src/useBottomSheetScrollable.d.ts +0 -13
- package/lib/typescript/src/useBottomSheetScrollable.d.ts.map +0 -1
- package/src/BottomSheetBase.tsx +0 -276
- package/src/BottomSheetContext.tsx +0 -33
- package/src/BottomSheetFlatList.tsx +0 -21
- package/src/BottomSheetScrollView.tsx +0 -22
- package/src/bottomSheetScrollable.tsx +0 -42
- package/src/useBottomSheetPanGesture.ts +0 -253
- package/src/useBottomSheetScrollable.ts +0 -68
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Gesture } from 'react-native-gesture-handler';
|
|
4
|
-
import { scheduleOnRN } from 'react-native-worklets';
|
|
5
|
-
import { measure, scrollTo, useSharedValue } from 'react-native-reanimated';
|
|
6
|
-
import { findSnapTarget } from "./bottomSheetUtils.js";
|
|
7
|
-
export const useBottomSheetPanGesture = ({
|
|
8
|
-
animationTarget,
|
|
9
|
-
translateY,
|
|
10
|
-
sheetHeight,
|
|
11
|
-
detentsValue,
|
|
12
|
-
isDraggableValue,
|
|
13
|
-
currentIndex,
|
|
14
|
-
scrollableEntries,
|
|
15
|
-
isScrollableLocked,
|
|
16
|
-
handleIndexChange,
|
|
17
|
-
animateToIndex
|
|
18
|
-
}) => {
|
|
19
|
-
const isDraggingSheet = useSharedValue(false);
|
|
20
|
-
const isDraggingFromScrollable = useSharedValue(false);
|
|
21
|
-
const panStartX = useSharedValue(0);
|
|
22
|
-
const panStartY = useSharedValue(0);
|
|
23
|
-
const panActivated = useSharedValue(false);
|
|
24
|
-
const dragStartTranslateY = useSharedValue(0);
|
|
25
|
-
const activeScrollableIndex = useSharedValue(-1);
|
|
26
|
-
return Gesture.Pan().manualActivation(true).onTouchesDown(event => {
|
|
27
|
-
'worklet';
|
|
28
|
-
|
|
29
|
-
panActivated.set(false);
|
|
30
|
-
isDraggingSheet.set(false);
|
|
31
|
-
isDraggingFromScrollable.set(false);
|
|
32
|
-
isScrollableLocked.set(false);
|
|
33
|
-
activeScrollableIndex.set(-1);
|
|
34
|
-
const touch = event.changedTouches[0] ?? event.allTouches[0];
|
|
35
|
-
if (touch !== undefined) {
|
|
36
|
-
panStartX.set(touch.absoluteX);
|
|
37
|
-
panStartY.set(touch.absoluteY);
|
|
38
|
-
const entries = scrollableEntries;
|
|
39
|
-
for (let i = 0; i < entries.length; i++) {
|
|
40
|
-
const entry = entries[i];
|
|
41
|
-
if (entry === undefined) continue;
|
|
42
|
-
const layout = measure(entry.ref);
|
|
43
|
-
if (layout === null) continue;
|
|
44
|
-
const withinX = touch.absoluteX >= layout.pageX && touch.absoluteX <= layout.pageX + layout.width;
|
|
45
|
-
const withinY = touch.absoluteY >= layout.pageY && touch.absoluteY <= layout.pageY + layout.height;
|
|
46
|
-
if (withinX && withinY) {
|
|
47
|
-
activeScrollableIndex.set(i);
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}).onTouchesMove((event, stateManager) => {
|
|
53
|
-
'worklet';
|
|
54
|
-
|
|
55
|
-
if (panActivated.value) return;
|
|
56
|
-
const touch = event.changedTouches[0] ?? event.allTouches[0];
|
|
57
|
-
if (!touch) return;
|
|
58
|
-
const deltaX = touch.absoluteX - panStartX.value;
|
|
59
|
-
const deltaY = touch.absoluteY - panStartY.value;
|
|
60
|
-
// When multiple scrollables overlap (e.g. stacked views), the hit-test
|
|
61
|
-
// in onTouchesDown may pick the wrong one. Prefer the scrollable whose
|
|
62
|
-
// native gesture is already active — that is definitively the one
|
|
63
|
-
// receiving touches (respects pointerEvents, z-order, etc.).
|
|
64
|
-
// If multiple scrollables are registered but none has confirmed via
|
|
65
|
-
// isGestureActive yet, defer the decision to avoid acting on a
|
|
66
|
-
// potentially incorrect hit-test result.
|
|
67
|
-
const entries = scrollableEntries;
|
|
68
|
-
let gestureActiveIdx = -1;
|
|
69
|
-
for (let i = 0; i < entries.length; i++) {
|
|
70
|
-
const entry = entries[i];
|
|
71
|
-
if (entry !== undefined && entry.isGestureActive.value) {
|
|
72
|
-
gestureActiveIdx = i;
|
|
73
|
-
break;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (gestureActiveIdx !== -1) {
|
|
77
|
-
activeScrollableIndex.set(gestureActiveIdx);
|
|
78
|
-
} else if (entries.length > 1 && activeScrollableIndex.value !== -1) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
const activeIdx = activeScrollableIndex.value;
|
|
82
|
-
if (activeIdx !== -1) {
|
|
83
|
-
const active = scrollableEntries[activeIdx];
|
|
84
|
-
if (active !== undefined && active.scrollOffset.value > 0 && translateY.value <= 0) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
if (Math.abs(deltaX) > Math.abs(deltaY)) {
|
|
89
|
-
stateManager.fail();
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (Math.abs(deltaY) > Math.abs(deltaX) && (deltaY > 0 || translateY.value > 0)) {
|
|
93
|
-
panActivated.set(true);
|
|
94
|
-
stateManager.activate();
|
|
95
|
-
}
|
|
96
|
-
}).onBegin(() => {
|
|
97
|
-
'worklet';
|
|
98
|
-
|
|
99
|
-
animationTarget.set(NaN);
|
|
100
|
-
isDraggingSheet.set(false);
|
|
101
|
-
isDraggingFromScrollable.set(false);
|
|
102
|
-
dragStartTranslateY.set(translateY.value);
|
|
103
|
-
}).onUpdate(event => {
|
|
104
|
-
'worklet';
|
|
105
|
-
|
|
106
|
-
const activeIdx = activeScrollableIndex.value;
|
|
107
|
-
const hasActive = activeIdx !== -1;
|
|
108
|
-
const active = hasActive ? scrollableEntries[activeIdx] : undefined;
|
|
109
|
-
const activeOffset = active !== undefined ? active.scrollOffset.value : 0;
|
|
110
|
-
if (isDraggingSheet.value) {
|
|
111
|
-
if (isDraggingFromScrollable.value && active !== undefined) {
|
|
112
|
-
scrollTo(active.ref, 0, 0, false);
|
|
113
|
-
}
|
|
114
|
-
} else {
|
|
115
|
-
const isDraggingDown = event.translationY > 0;
|
|
116
|
-
const canStartDrag = !hasActive || activeOffset <= 0 || translateY.value > 0;
|
|
117
|
-
if (!canStartDrag || !isDraggingDown && translateY.value <= 0) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
const isScrollableActive = hasActive && active !== undefined && active.isGestureActive.value;
|
|
121
|
-
isDraggingSheet.set(true);
|
|
122
|
-
isDraggingFromScrollable.set(isScrollableActive && activeOffset <= 0);
|
|
123
|
-
dragStartTranslateY.set(translateY.value - event.translationY);
|
|
124
|
-
isScrollableLocked.set(hasActive);
|
|
125
|
-
if (hasActive && active !== undefined && activeOffset <= 0) {
|
|
126
|
-
scrollTo(active.ref, 0, 0, false);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
const rawTranslate = dragStartTranslateY.value + event.translationY;
|
|
130
|
-
const resolvedDetents = detentsValue.value;
|
|
131
|
-
const draggable = isDraggableValue.value;
|
|
132
|
-
let maxDraggableTranslateY = sheetHeight.value;
|
|
133
|
-
let minDraggableTranslateY = 0;
|
|
134
|
-
let foundDraggable = false;
|
|
135
|
-
for (let i = 0; i < resolvedDetents.length; i++) {
|
|
136
|
-
if (!(draggable[i] ?? true)) continue;
|
|
137
|
-
const t = sheetHeight.value - (resolvedDetents[i] ?? 0);
|
|
138
|
-
if (!foundDraggable) {
|
|
139
|
-
maxDraggableTranslateY = t;
|
|
140
|
-
minDraggableTranslateY = t;
|
|
141
|
-
foundDraggable = true;
|
|
142
|
-
} else {
|
|
143
|
-
if (t > maxDraggableTranslateY) maxDraggableTranslateY = t;
|
|
144
|
-
if (t < minDraggableTranslateY) minDraggableTranslateY = t;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
const nextTranslate = Math.min(Math.max(rawTranslate, minDraggableTranslateY), maxDraggableTranslateY);
|
|
148
|
-
translateY.set(nextTranslate);
|
|
149
|
-
if (isDraggingSheet.value && rawTranslate < 0 && hasActive) {
|
|
150
|
-
isDraggingSheet.set(false);
|
|
151
|
-
isScrollableLocked.set(false);
|
|
152
|
-
let targetSnapIndex = -1;
|
|
153
|
-
let targetSnapValue = -1;
|
|
154
|
-
for (let i = resolvedDetents.length - 1; i >= 0; i--) {
|
|
155
|
-
const detentValue = resolvedDetents[i];
|
|
156
|
-
if (detentValue !== undefined && (draggable[i] ?? true) && detentValue > targetSnapValue) {
|
|
157
|
-
targetSnapValue = detentValue;
|
|
158
|
-
targetSnapIndex = i;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
if (targetSnapIndex === -1) {
|
|
162
|
-
const maxSnap = sheetHeight.value;
|
|
163
|
-
for (let i = resolvedDetents.length - 1; i >= 0; i--) {
|
|
164
|
-
if (resolvedDetents[i] === maxSnap) {
|
|
165
|
-
targetSnapIndex = i;
|
|
166
|
-
break;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
if (targetSnapIndex !== -1) {
|
|
171
|
-
if (targetSnapIndex !== currentIndex.value) {
|
|
172
|
-
scheduleOnRN(handleIndexChange, targetSnapIndex);
|
|
173
|
-
}
|
|
174
|
-
animateToIndex(targetSnapIndex);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}).onEnd(event => {
|
|
178
|
-
'worklet';
|
|
179
|
-
|
|
180
|
-
const wasDragging = isDraggingSheet.value;
|
|
181
|
-
isScrollableLocked.set(false);
|
|
182
|
-
isDraggingSheet.set(false);
|
|
183
|
-
animationTarget.set(NaN);
|
|
184
|
-
if (!wasDragging) {
|
|
185
|
-
animateToIndex(currentIndex.value);
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
const maxSnap = sheetHeight.value;
|
|
189
|
-
const draggable = isDraggableValue.value;
|
|
190
|
-
const allPositions = detentsValue.value.map((detentValue, snapIndex) => ({
|
|
191
|
-
index: snapIndex,
|
|
192
|
-
translateY: maxSnap - detentValue,
|
|
193
|
-
isDraggable: draggable[snapIndex] ?? true
|
|
194
|
-
}));
|
|
195
|
-
const targetIndex = findSnapTarget(translateY.value, event.velocityY, currentIndex.value, allPositions);
|
|
196
|
-
const hasIndexChanged = targetIndex !== currentIndex.value;
|
|
197
|
-
if (hasIndexChanged) scheduleOnRN(handleIndexChange, targetIndex);
|
|
198
|
-
const shouldApplyVelocity = hasIndexChanged && Number.isFinite(event.velocityY);
|
|
199
|
-
animateToIndex(targetIndex, shouldApplyVelocity ? event.velocityY : undefined);
|
|
200
|
-
});
|
|
201
|
-
};
|
|
202
|
-
//# sourceMappingURL=useBottomSheetPanGesture.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Gesture","scheduleOnRN","measure","scrollTo","useSharedValue","findSnapTarget","useBottomSheetPanGesture","animationTarget","translateY","sheetHeight","detentsValue","isDraggableValue","currentIndex","scrollableEntries","isScrollableLocked","handleIndexChange","animateToIndex","isDraggingSheet","isDraggingFromScrollable","panStartX","panStartY","panActivated","dragStartTranslateY","activeScrollableIndex","Pan","manualActivation","onTouchesDown","event","set","touch","changedTouches","allTouches","undefined","absoluteX","absoluteY","entries","i","length","entry","layout","ref","withinX","pageX","width","withinY","pageY","height","onTouchesMove","stateManager","value","deltaX","deltaY","gestureActiveIdx","isGestureActive","activeIdx","active","scrollOffset","Math","abs","fail","activate","onBegin","NaN","onUpdate","hasActive","activeOffset","isDraggingDown","translationY","canStartDrag","isScrollableActive","rawTranslate","resolvedDetents","draggable","maxDraggableTranslateY","minDraggableTranslateY","foundDraggable","t","nextTranslate","min","max","targetSnapIndex","targetSnapValue","detentValue","maxSnap","onEnd","wasDragging","allPositions","map","snapIndex","index","isDraggable","targetIndex","velocityY","hasIndexChanged","shouldApplyVelocity","Number","isFinite"],"sourceRoot":"../../src","sources":["useBottomSheetPanGesture.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { useEffect } from 'react';
|
|
4
|
-
import { Gesture } from 'react-native-gesture-handler';
|
|
5
|
-
import { isWorkletFunction, scheduleOnRN } from 'react-native-worklets';
|
|
6
|
-
import { useAnimatedProps, useAnimatedRef, useAnimatedScrollHandler, useSharedValue } from 'react-native-reanimated';
|
|
7
|
-
import { useBottomSheetContext } from "./BottomSheetContext.js";
|
|
8
|
-
export const useBottomSheetScrollable = (baseScrollEnabled = true, onScroll) => {
|
|
9
|
-
const {
|
|
10
|
-
isScrollableLocked,
|
|
11
|
-
registerScrollable,
|
|
12
|
-
panGesture
|
|
13
|
-
} = useBottomSheetContext();
|
|
14
|
-
const scrollableRef = useAnimatedRef();
|
|
15
|
-
const scrollOffset = useSharedValue(0);
|
|
16
|
-
const isGestureActive = useSharedValue(false);
|
|
17
|
-
const isWorkletScrollHandler = onScroll !== undefined ? isWorkletFunction(onScroll) : false;
|
|
18
|
-
const scrollHandler = useAnimatedScrollHandler({
|
|
19
|
-
onScroll: event => {
|
|
20
|
-
'worklet';
|
|
21
|
-
|
|
22
|
-
scrollOffset.set(Math.max(0, event.contentOffset.y));
|
|
23
|
-
if (onScroll === undefined) return;
|
|
24
|
-
if (isWorkletScrollHandler) {
|
|
25
|
-
onScroll(event);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
scheduleOnRN(onScroll, event);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
const nativeGesture = Gesture.Native().simultaneousWithExternalGesture(panGesture).onStart(() => {
|
|
32
|
-
'worklet';
|
|
33
|
-
|
|
34
|
-
isGestureActive.set(true);
|
|
35
|
-
}).onFinalize(() => {
|
|
36
|
-
'worklet';
|
|
37
|
-
|
|
38
|
-
isGestureActive.set(false);
|
|
39
|
-
});
|
|
40
|
-
const animatedProps = useAnimatedProps(() => {
|
|
41
|
-
const resolvedScrollEnabled = (typeof baseScrollEnabled === 'object' && baseScrollEnabled !== null ? baseScrollEnabled.value : baseScrollEnabled) ?? true;
|
|
42
|
-
return {
|
|
43
|
-
scrollEnabled: resolvedScrollEnabled && !isScrollableLocked.value
|
|
44
|
-
};
|
|
45
|
-
});
|
|
46
|
-
useEffect(() => {
|
|
47
|
-
const unregister = registerScrollable({
|
|
48
|
-
ref: scrollableRef,
|
|
49
|
-
scrollOffset,
|
|
50
|
-
isGestureActive
|
|
51
|
-
});
|
|
52
|
-
return unregister;
|
|
53
|
-
}, [registerScrollable, scrollableRef, scrollOffset, isGestureActive]);
|
|
54
|
-
return {
|
|
55
|
-
scrollHandler,
|
|
56
|
-
scrollableRef,
|
|
57
|
-
nativeGesture,
|
|
58
|
-
animatedProps
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=useBottomSheetScrollable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","Gesture","isWorkletFunction","scheduleOnRN","useAnimatedProps","useAnimatedRef","useAnimatedScrollHandler","useSharedValue","useBottomSheetContext","useBottomSheetScrollable","baseScrollEnabled","onScroll","isScrollableLocked","registerScrollable","panGesture","scrollableRef","scrollOffset","isGestureActive","isWorkletScrollHandler","undefined","scrollHandler","event","set","Math","max","contentOffset","y","nativeGesture","Native","simultaneousWithExternalGesture","onStart","onFinalize","animatedProps","resolvedScrollEnabled","value","scrollEnabled","unregister","ref"],"sourceRoot":"../../src","sources":["useBottomSheetScrollable.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,OAAO,QAAQ,8BAA8B;AAEtD,SAASC,iBAAiB,EAAEC,YAAY,QAAQ,uBAAuB;AACvE,SAEEC,gBAAgB,EAChBC,cAAc,EACdC,wBAAwB,EACxBC,cAAc,QACT,yBAAyB;AAEhC,SAASC,qBAAqB,QAAQ,yBAAsB;AAI5D,OAAO,MAAMC,wBAAwB,GAAGA,CACtCC,iBAA6D,GAAG,IAAI,EACpEC,QAAwB,KACrB;EACH,MAAM;IAAEC,kBAAkB;IAAEC,kBAAkB;IAAEC;EAAW,CAAC,GAC1DN,qBAAqB,CAAC,CAAC;EACzB,MAAMO,aAAa,GAAGV,cAAc,CAAC,CAAC;EACtC,MAAMW,YAAY,GAAGT,cAAc,CAAC,CAAC,CAAC;EACtC,MAAMU,eAAe,GAAGV,cAAc,CAAC,KAAK,CAAC;EAC7C,MAAMW,sBAAsB,GAC1BP,QAAQ,KAAKQ,SAAS,GAAGjB,iBAAiB,CAACS,QAAQ,CAAC,GAAG,KAAK;EAC9D,MAAMS,aAAa,GAAGd,wBAAwB,CAAC;IAC7CK,QAAQ,EAAGU,KAAK,IAAK;MACnB,SAAS;;MACTL,YAAY,CAACM,GAAG,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEH,KAAK,CAACI,aAAa,CAACC,CAAC,CAAC,CAAC;MACpD,IAAIf,QAAQ,KAAKQ,SAAS,EAAE;MAC5B,IAAID,sBAAsB,EAAE;QAC1BP,QAAQ,CAACU,KAAK,CAAC;QACf;MACF;MACAlB,YAAY,CAACQ,QAAQ,EAAEU,KAAK,CAAC;IAC/B;EACF,CAAC,CAAC;EACF,MAAMM,aAAa,GAAG1B,OAAO,CAAC2B,MAAM,CAAC,CAAC,CACnCC,+BAA+B,CAACf,UAAU,CAAC,CAC3CgB,OAAO,CAAC,MAAM;IACb,SAAS;;IACTb,eAAe,CAACK,GAAG,CAAC,IAAI,CAAC;EAC3B,CAAC,CAAC,CACDS,UAAU,CAAC,MAAM;IAChB,SAAS;;IACTd,eAAe,CAACK,GAAG,CAAC,KAAK,CAAC;EAC5B,CAAC,CAAC;EACJ,MAAMU,aAAa,GAAG5B,gBAAgB,CAAC,MAAM;IAC3C,MAAM6B,qBAAqB,GACzB,CAAC,OAAOvB,iBAAiB,KAAK,QAAQ,IAAIA,iBAAiB,KAAK,IAAI,GAChEA,iBAAiB,CAACwB,KAAK,GACvBxB,iBAAiB,KAAK,IAAI;IAChC,OAAO;MACLyB,aAAa,EAAEF,qBAAqB,IAAI,CAACrB,kBAAkB,CAACsB;IAC9D,CAAC;EACH,CAAC,CAAC;EACFlC,SAAS,CAAC,MAAM;IACd,MAAMoC,UAAU,GAAGvB,kBAAkB,CAAC;MACpCwB,GAAG,EAAEtB,aAAa;MAClBC,YAAY;MACZC;IACF,CAAC,CAAC;IACF,OAAOmB,UAAU;EACnB,CAAC,EAAE,CAACvB,kBAAkB,EAAEE,aAAa,EAAEC,YAAY,EAAEC,eAAe,CAAC,CAAC;EACtE,OAAO;IAAEG,aAAa;IAAEL,aAAa;IAAEY,aAAa;IAAEK;EAAc,CAAC;AACvE,CAAC","ignoreList":[]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import type { SharedValue, WithSpringConfig } from 'react-native-reanimated';
|
|
3
|
-
import type { Detent } from './bottomSheetUtils';
|
|
4
|
-
export type { Detent, DetentValue } from './bottomSheetUtils';
|
|
5
|
-
export { programmatic } from './bottomSheetUtils';
|
|
6
|
-
export interface BottomSheetCommonProps {
|
|
7
|
-
children: ReactNode;
|
|
8
|
-
detents?: Detent[];
|
|
9
|
-
index: number;
|
|
10
|
-
onIndexChange?: (index: number) => void;
|
|
11
|
-
position?: SharedValue<number>;
|
|
12
|
-
openAnimationConfig?: WithSpringConfig;
|
|
13
|
-
closeAnimationConfig?: WithSpringConfig;
|
|
14
|
-
}
|
|
15
|
-
export interface BottomSheetBaseProps extends BottomSheetCommonProps {
|
|
16
|
-
modal?: boolean;
|
|
17
|
-
renderScrim?: (progress: SharedValue<number>) => ReactNode;
|
|
18
|
-
}
|
|
19
|
-
export declare const BottomSheetBase: ({ children, detents, index, onIndexChange, position: externalPosition, openAnimationConfig, closeAnimationConfig, modal, renderScrim, }: BottomSheetBaseProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
-
//# sourceMappingURL=BottomSheetBase.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetBase.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetBase.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAqB7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IACvC,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;CACzC;AAED,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;CAC5D;AA2BD,eAAO,MAAM,eAAe,GAAI,yIAU7B,oBAAoB,4CAmMtB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { PanGesture } from 'react-native-gesture-handler';
|
|
2
|
-
import type { AnimatedRef, SharedValue } from 'react-native-reanimated';
|
|
3
|
-
export interface ScrollableEntry {
|
|
4
|
-
ref: AnimatedRef<any>;
|
|
5
|
-
scrollOffset: SharedValue<number>;
|
|
6
|
-
isGestureActive: SharedValue<boolean>;
|
|
7
|
-
}
|
|
8
|
-
export interface BottomSheetContextType {
|
|
9
|
-
translateY: SharedValue<number>;
|
|
10
|
-
position: SharedValue<number>;
|
|
11
|
-
index: SharedValue<number>;
|
|
12
|
-
sheetHeight: SharedValue<number>;
|
|
13
|
-
isScrollableLocked: SharedValue<boolean>;
|
|
14
|
-
registerScrollable: (entry: ScrollableEntry) => () => void;
|
|
15
|
-
panGesture: PanGesture;
|
|
16
|
-
}
|
|
17
|
-
export declare const BottomSheetContextProvider: import("react").Provider<BottomSheetContextType | null>;
|
|
18
|
-
export declare const useBottomSheetContext: () => BottomSheetContextType;
|
|
19
|
-
//# sourceMappingURL=BottomSheetContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetContext.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,kBAAkB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,IAAI,CAAC;IAC3D,UAAU,EAAE,UAAU,CAAC;CACxB;AAID,eAAO,MAAM,0BAA0B,yDAA8B,CAAC;AAEtE,eAAO,MAAM,qBAAqB,8BAQjC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FlatList, type NativeScrollEvent } from 'react-native';
|
|
2
|
-
import type { FlatListPropsWithLayout, SharedValue } from 'react-native-reanimated';
|
|
3
|
-
import type { Ref, ReactElement } from 'react';
|
|
4
|
-
export type BottomSheetFlatListProps<T> = Omit<FlatListPropsWithLayout<T>, 'onScroll' | 'scrollEnabled' | 'ref'> & {
|
|
5
|
-
scrollEnabled?: boolean | SharedValue<boolean | undefined>;
|
|
6
|
-
onScroll?: (event: NativeScrollEvent) => void;
|
|
7
|
-
ref?: Ref<FlatList<T>>;
|
|
8
|
-
};
|
|
9
|
-
export declare const BottomSheetFlatList: <T>(props: BottomSheetFlatListProps<T>) => ReactElement;
|
|
10
|
-
//# sourceMappingURL=BottomSheetFlatList.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetFlatList.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetFlatList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EACV,uBAAuB,EACvB,WAAW,EACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI/C,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,IAAI,CAC5C,uBAAuB,CAAC,CAAC,CAAC,EAC1B,UAAU,GAAG,eAAe,GAAG,KAAK,CACrC,GAAG;IACF,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAsC,CAAC,CAAC,EACtE,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAC/B,YAAY,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Ref, ReactElement } from 'react';
|
|
2
|
-
import { ScrollView, type NativeScrollEvent, type ScrollViewProps } from 'react-native';
|
|
3
|
-
import type { SharedValue } from 'react-native-reanimated';
|
|
4
|
-
export type BottomSheetScrollViewProps = Omit<ScrollViewProps, 'onScroll' | 'scrollEnabled' | 'ref'> & {
|
|
5
|
-
scrollEnabled?: boolean | SharedValue<boolean | undefined>;
|
|
6
|
-
onScroll?: (event: NativeScrollEvent) => void;
|
|
7
|
-
ref?: Ref<ScrollView>;
|
|
8
|
-
};
|
|
9
|
-
export declare const BottomSheetScrollView: (props: BottomSheetScrollViewProps) => ReactElement;
|
|
10
|
-
//# sourceMappingURL=BottomSheetScrollView.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetScrollView.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetScrollView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,eAAe,EACf,UAAU,GAAG,eAAe,GAAG,KAAK,CACrC,GAAG;IACF,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAwC,CACxE,KAAK,EAAE,0BAA0B,KAC9B,YAAY,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type ComponentType, type Ref } from 'react';
|
|
2
|
-
import type { NativeScrollEvent } from 'react-native';
|
|
3
|
-
import { type SharedValue } from 'react-native-reanimated';
|
|
4
|
-
export declare function bottomSheetScrollable<P extends Record<string, any>, R = unknown>(ScrollableComponent: ComponentType<P>): ({ scrollEnabled, onScroll, ref, ...rest }: Omit<P, "onScroll" | "scrollEnabled" | "ref"> & {
|
|
5
|
-
scrollEnabled?: boolean | SharedValue<boolean | undefined>;
|
|
6
|
-
onScroll?: (event: NativeScrollEvent) => void;
|
|
7
|
-
ref?: Ref<R>;
|
|
8
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
//# sourceMappingURL=bottomSheetScrollable.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bottomSheetScrollable.d.ts","sourceRoot":"","sources":["../../../src/bottomSheetScrollable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,GAAG,EAAuB,MAAM,OAAO,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAIrE,wBAAgB,qBAAqB,CACnC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,GAAG,OAAO,EACX,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC,IAI7B,2CAKL,IAAI,CAAC,CAAC,EAAE,UAAU,GAAG,eAAe,GAAG,KAAK,CAAC,GAAG;IACjD,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd,6CAkBF"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { PanGesture } from 'react-native-gesture-handler';
|
|
2
|
-
import { type SharedValue } from 'react-native-reanimated';
|
|
3
|
-
import type { ScrollableEntry } from './BottomSheetContext';
|
|
4
|
-
interface BottomSheetPanGestureParams {
|
|
5
|
-
animationTarget: SharedValue<number>;
|
|
6
|
-
translateY: SharedValue<number>;
|
|
7
|
-
sheetHeight: SharedValue<number>;
|
|
8
|
-
detentsValue: SharedValue<number[]>;
|
|
9
|
-
isDraggableValue: SharedValue<boolean[]>;
|
|
10
|
-
currentIndex: SharedValue<number>;
|
|
11
|
-
scrollableEntries: ScrollableEntry[];
|
|
12
|
-
isScrollableLocked: SharedValue<boolean>;
|
|
13
|
-
handleIndexChange: (nextIndex: number) => void;
|
|
14
|
-
animateToIndex: (targetIndex: number, velocity?: number) => void;
|
|
15
|
-
}
|
|
16
|
-
export declare const useBottomSheetPanGesture: ({ animationTarget, translateY, sheetHeight, detentsValue, isDraggableValue, currentIndex, scrollableEntries, isScrollableLocked, handleIndexChange, animateToIndex, }: BottomSheetPanGestureParams) => PanGesture;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=useBottomSheetPanGesture.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBottomSheetPanGesture.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetPanGesture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,UAAU,2BAA2B;IACnC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,gBAAgB,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,iBAAiB,EAAE,eAAe,EAAE,CAAC;IACrC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED,eAAO,MAAM,wBAAwB,GAAI,uKAWtC,2BAA2B,KAAG,UAuNhC,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { NativeScrollEvent } from 'react-native';
|
|
2
|
-
import { type SharedValue } from 'react-native-reanimated';
|
|
3
|
-
type ScrollHandler = (event: NativeScrollEvent) => void;
|
|
4
|
-
export declare const useBottomSheetScrollable: (baseScrollEnabled?: boolean | SharedValue<boolean | undefined>, onScroll?: ScrollHandler) => {
|
|
5
|
-
scrollHandler: import("react-native-reanimated").ScrollHandlerProcessed<Record<string, unknown>>;
|
|
6
|
-
scrollableRef: import("react-native-reanimated").AnimatedRef<import("react").Component<{}, {}, any>>;
|
|
7
|
-
nativeGesture: import("react-native-gesture-handler/lib/typescript/handlers/gestures/nativeGesture").NativeGesture;
|
|
8
|
-
animatedProps: Partial<{
|
|
9
|
-
scrollEnabled: boolean;
|
|
10
|
-
}>;
|
|
11
|
-
};
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=useBottomSheetScrollable.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBottomSheetScrollable.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetScrollable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,yBAAyB,CAAC;AAIjC,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAExD,eAAO,MAAM,wBAAwB,GACnC,oBAAmB,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,SAAS,CAAQ,EACpE,WAAW,aAAa;;;;;;;CAiDzB,CAAC"}
|