@niibase/bottom-sheet-manager 1.2.0 → 1.3.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/README.md +371 -37
- package/lib/commonjs/events.js +100 -15
- package/lib/commonjs/events.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager.js +107 -29
- package/lib/commonjs/manager.js.map +1 -1
- package/lib/commonjs/provider.js +69 -28
- package/lib/commonjs/provider.js.map +1 -1
- package/lib/commonjs/router/index.js +50 -21
- package/lib/commonjs/router/index.js.map +1 -1
- package/lib/commonjs/router/router.js +137 -12
- package/lib/commonjs/router/router.js.map +1 -1
- package/lib/commonjs/router/view.js +194 -84
- package/lib/commonjs/router/view.js.map +1 -1
- package/lib/commonjs/sheet.js +124 -76
- package/lib/commonjs/sheet.js.map +1 -1
- package/lib/module/events.js +100 -15
- package/lib/module/events.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager.js +108 -29
- package/lib/module/manager.js.map +1 -1
- package/lib/module/provider.js +65 -25
- package/lib/module/provider.js.map +1 -1
- package/lib/module/router/index.js +34 -18
- package/lib/module/router/index.js.map +1 -1
- package/lib/module/router/router.js +135 -11
- package/lib/module/router/router.js.map +1 -1
- package/lib/module/router/view.js +194 -84
- package/lib/module/router/view.js.map +1 -1
- package/lib/module/sheet.js +126 -78
- package/lib/module/sheet.js.map +1 -1
- package/lib/typescript/events.d.ts +46 -12
- package/lib/typescript/events.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/manager.d.ts +57 -7
- package/lib/typescript/manager.d.ts.map +1 -1
- package/lib/typescript/provider.d.ts +22 -3
- package/lib/typescript/provider.d.ts.map +1 -1
- package/lib/typescript/router/index.d.ts +33 -17
- package/lib/typescript/router/index.d.ts.map +1 -1
- package/lib/typescript/router/router.d.ts +44 -5
- package/lib/typescript/router/router.d.ts.map +1 -1
- package/lib/typescript/router/types.d.ts +113 -17
- package/lib/typescript/router/types.d.ts.map +1 -1
- package/lib/typescript/router/view.d.ts +1 -1
- package/lib/typescript/router/view.d.ts.map +1 -1
- package/lib/typescript/sheet.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +25 -11
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/events.ts +118 -27
- package/src/index.ts +6 -5
- package/src/manager.ts +156 -33
- package/src/provider.tsx +98 -44
- package/src/router/index.tsx +38 -31
- package/src/router/router.ts +184 -15
- package/src/router/types.ts +119 -22
- package/src/router/view.tsx +252 -132
- package/src/sheet.tsx +175 -95
- package/src/types.ts +144 -130
package/lib/commonjs/sheet.js
CHANGED
|
@@ -22,27 +22,27 @@ const useSheetManager = ({
|
|
|
22
22
|
onBeforeShow,
|
|
23
23
|
onContextUpdate
|
|
24
24
|
}) => {
|
|
25
|
-
const [visible, setVisible] = _react.default.useState(false);
|
|
26
25
|
const currentContext = (0, _provider.useProviderContext)();
|
|
26
|
+
const hasShownRef = _react.default.useRef(false);
|
|
27
27
|
_react.default.useEffect(() => {
|
|
28
28
|
if (!id) return undefined;
|
|
29
|
-
const subscriptions = [_events.eventManager.subscribe(`show_${id}`, (data, context) => {
|
|
30
|
-
if (currentContext !== context
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
const subscriptions = [_events.eventManager.subscribe(`show_${id}`, (data, context, behavior) => {
|
|
30
|
+
if (currentContext !== context) return;
|
|
31
|
+
if (!hasShownRef.current) {
|
|
32
|
+
hasShownRef.current = true;
|
|
33
|
+
onContextUpdate?.();
|
|
34
|
+
onBeforeShow?.(data, behavior);
|
|
35
|
+
}
|
|
36
|
+
}), _events.eventManager.subscribe(`hide_${id}`, (data, context, dismiss, behavior) => {
|
|
35
37
|
if (currentContext !== context) return;
|
|
36
|
-
|
|
38
|
+
hasShownRef.current = false;
|
|
39
|
+
onHide?.(data, dismiss, behavior);
|
|
37
40
|
})];
|
|
38
41
|
return () => {
|
|
42
|
+
hasShownRef.current = false;
|
|
39
43
|
subscriptions.forEach(s => s?.unsubscribe?.());
|
|
40
44
|
};
|
|
41
45
|
}, [id, onHide, onBeforeShow, onContextUpdate, currentContext]);
|
|
42
|
-
return {
|
|
43
|
-
visible,
|
|
44
|
-
setVisible
|
|
45
|
-
};
|
|
46
46
|
};
|
|
47
47
|
const BottomSheetComponent = /*#__PURE__*/_react.default.forwardRef(({
|
|
48
48
|
children,
|
|
@@ -54,34 +54,51 @@ const BottomSheetComponent = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
54
54
|
enableDynamicSizing = false,
|
|
55
55
|
handleIndicatorStyle,
|
|
56
56
|
iosModalSheetTypeOfAnimation: pageAnimation,
|
|
57
|
+
animatedIndex: defaultAnimatedIndex,
|
|
57
58
|
backgroundStyle,
|
|
59
|
+
onAnimate,
|
|
58
60
|
handleStyle,
|
|
61
|
+
style,
|
|
59
62
|
clickThrough,
|
|
60
|
-
fullScreen,
|
|
61
63
|
opacity,
|
|
62
64
|
...props
|
|
63
65
|
}, ref) => {
|
|
64
66
|
const currentSheetRef = (0, _provider.useSheetRef)();
|
|
65
67
|
const currentCtx = (0, _provider.useProviderContext)();
|
|
68
|
+
const stackContext = (0, _provider.useStackBehaviorContext)();
|
|
66
69
|
const {
|
|
67
70
|
isFullScreen,
|
|
68
|
-
iosModalSheetTypeOfAnimation
|
|
71
|
+
iosModalSheetTypeOfAnimation,
|
|
72
|
+
duration
|
|
69
73
|
} = (0, _provider.useSheetAnimationContext)();
|
|
70
74
|
const animatedIndex = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
75
|
+
const previousIndex = (0, _reactNativeReanimated.useSharedValue)(-1);
|
|
76
|
+
const [currentStackBehavior, setCurrentStackBehavior] = _react.default.useState(stackBehavior);
|
|
77
|
+
const isPushed = currentStackBehavior === "push";
|
|
71
78
|
const {
|
|
72
79
|
colors
|
|
73
80
|
} = (0, _native.useTheme)();
|
|
74
81
|
const {
|
|
75
|
-
|
|
82
|
+
bottom,
|
|
83
|
+
left,
|
|
84
|
+
right
|
|
76
85
|
} = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
77
86
|
const themeBackgroundStyle = _react.default.useMemo(() => ({
|
|
78
|
-
|
|
87
|
+
borderCurve: "continuous",
|
|
88
|
+
backgroundColor: colors.card,
|
|
89
|
+
borderTopLeftRadius: 20,
|
|
90
|
+
borderTopRightRadius: 20
|
|
79
91
|
}), [colors.card]);
|
|
80
92
|
const themeHandleIndicatorStyle = _react.default.useMemo(() => ({
|
|
81
93
|
backgroundColor: colors.border,
|
|
82
94
|
height: 5,
|
|
83
95
|
width: 50
|
|
84
96
|
}), [colors.border]);
|
|
97
|
+
const defaultStyle = _react.default.useMemo(() => ({
|
|
98
|
+
paddingBottom: bottom,
|
|
99
|
+
paddingLeft: left,
|
|
100
|
+
paddingRight: right
|
|
101
|
+
}), [bottom, left, right]);
|
|
85
102
|
const valueRef = _react.default.useRef(null);
|
|
86
103
|
const bottomSheetRef = _react.default.useRef(null);
|
|
87
104
|
const hardwareBackPressEvent = _react.default.useRef(null);
|
|
@@ -89,8 +106,12 @@ const BottomSheetComponent = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
89
106
|
const sheetId = props.id || id;
|
|
90
107
|
useSheetManager({
|
|
91
108
|
id: sheetId,
|
|
92
|
-
onHide: (data, dismiss) =>
|
|
93
|
-
|
|
109
|
+
onHide: (data, dismiss, behavior) => {
|
|
110
|
+
if (behavior) setCurrentStackBehavior(behavior);
|
|
111
|
+
hideSheet(data, true, dismiss);
|
|
112
|
+
},
|
|
113
|
+
onBeforeShow: (data, behavior) => {
|
|
114
|
+
if (behavior) setCurrentStackBehavior(behavior);
|
|
94
115
|
onBeforeShow?.(data);
|
|
95
116
|
valueRef.current = undefined;
|
|
96
117
|
currentSheetRef.current = getInstance();
|
|
@@ -104,49 +125,70 @@ const BottomSheetComponent = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
104
125
|
}
|
|
105
126
|
}
|
|
106
127
|
});
|
|
107
|
-
(0, _reactNativeReanimated.useAnimatedReaction)(() => {
|
|
108
|
-
if (!!iosModalSheetTypeOfAnimation || !!pageAnimation) {
|
|
109
|
-
isFullScreen.value = 0;
|
|
110
|
-
}
|
|
111
|
-
return animatedIndex.value;
|
|
112
|
-
}, index => {
|
|
128
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => animatedIndex.value, index => {
|
|
113
129
|
"worklet";
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
if (
|
|
118
|
-
isFullScreen.value
|
|
130
|
+
if (defaultAnimatedIndex) {
|
|
131
|
+
defaultAnimatedIndex.set(index);
|
|
132
|
+
}
|
|
133
|
+
if (!iosModalSheetTypeOfAnimation && !pageAnimation) {
|
|
134
|
+
if (isFullScreen.value > 0) isFullScreen.set(0);
|
|
135
|
+
previousIndex.set(index);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (isFullScreen.value < 0) {
|
|
139
|
+
isFullScreen.set(0);
|
|
140
|
+
}
|
|
141
|
+
const isClosing = index < 0 || previousIndex.value >= 0 && index < previousIndex.value - 0.05;
|
|
142
|
+
previousIndex.set(index);
|
|
143
|
+
if (isClosing) {
|
|
144
|
+
if (isFullScreen.value > 0.01) {
|
|
145
|
+
isFullScreen.set((0, _reactNativeReanimated.withTiming)(0, {
|
|
146
|
+
duration: duration * 0.85,
|
|
147
|
+
easing: _reactNativeReanimated.Easing.bezier(0.25, 0.1, 0.25, 1)
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const points = ["%90", "90%"];
|
|
153
|
+
const fullScreenIndex = snapPoints instanceof Array ? snapPoints.findIndex(p => points.includes(p)) : snapPoints?.value?.findIndex(p => points.includes(p)) || -1;
|
|
154
|
+
if (index >= fullScreenIndex - 0.5 && index <= fullScreenIndex + 0.5) {
|
|
155
|
+
isFullScreen.set(1);
|
|
156
|
+
} else if (index >= 0) {
|
|
157
|
+
isFullScreen.set(0);
|
|
119
158
|
}
|
|
120
|
-
}, [snapPoints]);
|
|
121
|
-
const hideSheet = _react.default.useCallback((data,
|
|
159
|
+
}, [snapPoints, iosModalSheetTypeOfAnimation, pageAnimation, duration]);
|
|
160
|
+
const hideSheet = _react.default.useCallback((data, fromManager, dismiss) => {
|
|
122
161
|
let value = data ?? valueRef.current;
|
|
123
|
-
|
|
124
|
-
|
|
162
|
+
hardwareBackPressEvent.current?.remove();
|
|
163
|
+
const closeValue = onClose?.(value);
|
|
164
|
+
if (closeValue !== undefined) value = closeValue;
|
|
165
|
+
if (dismiss && currentStackBehavior === "push") {
|
|
166
|
+
if (fromManager) valueRef.current = data;
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
if (currentStackBehavior !== "replace" || !dismiss) {
|
|
125
170
|
bottomSheetRef.current?.close();
|
|
126
|
-
const closeValue = onClose?.(value);
|
|
127
|
-
if (undefined !== closeValue) value = closeValue;
|
|
128
171
|
}
|
|
129
172
|
if (sheetId) {
|
|
130
|
-
_manager.PrivateManager.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
id,
|
|
143
|
-
|
|
144
|
-
} = _manager.PrivateManager.history.pop();
|
|
145
|
-
_events.eventManager.publish(`show_wrap_${id}`, undefined, context, true);
|
|
173
|
+
const hasHistory = _manager.PrivateManager.history.length > 0;
|
|
174
|
+
const shouldRestorePrevious = currentStackBehavior !== "replace";
|
|
175
|
+
_events.eventManager.publish(`onclose_${sheetId}`, value, currentCtx, hasHistory || !!dismiss, currentStackBehavior);
|
|
176
|
+
if (shouldRestorePrevious) {
|
|
177
|
+
if (dismiss) {
|
|
178
|
+
_manager.PrivateManager.history.push({
|
|
179
|
+
id: sheetId,
|
|
180
|
+
context: currentCtx,
|
|
181
|
+
behavior: currentStackBehavior
|
|
182
|
+
});
|
|
183
|
+
} else if (hasHistory) {
|
|
184
|
+
const prev = _manager.PrivateManager.history.pop();
|
|
185
|
+
_events.eventManager.publish(`show_wrap_${prev.id}`, undefined, prev.context, true, prev.behavior);
|
|
186
|
+
}
|
|
146
187
|
}
|
|
188
|
+
_manager.PrivateManager.remove(sheetId, currentCtx);
|
|
147
189
|
}
|
|
148
|
-
if (
|
|
149
|
-
}, [sheetId, currentCtx, onClose]);
|
|
190
|
+
if (fromManager) valueRef.current = data;
|
|
191
|
+
}, [sheetId, currentCtx, onClose, currentStackBehavior]);
|
|
150
192
|
const getInstance = _react.default.useCallback(() => ({
|
|
151
193
|
close(options = {}) {
|
|
152
194
|
valueRef.current = options.value;
|
|
@@ -183,28 +225,48 @@ const BottomSheetComponent = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
183
225
|
return () => hardwareBackPressEvent.current?.remove();
|
|
184
226
|
}, [hardwareBackPressToClose]);
|
|
185
227
|
_react.default.useImperativeHandle(ref, getInstance, [getInstance]);
|
|
228
|
+
const zIndex = _react.default.useMemo(() => {
|
|
229
|
+
if (!sheetId) return 0;
|
|
230
|
+
if (isPushed) {
|
|
231
|
+
return _manager.PrivateManager.zIndex(sheetId, currentCtx);
|
|
232
|
+
}
|
|
233
|
+
return 0;
|
|
234
|
+
}, [sheetId, isPushed, currentCtx]);
|
|
235
|
+
const backdropOpacity = _react.default.useMemo(() => {
|
|
236
|
+
if (isPushed && stackContext.previousSheetId) {
|
|
237
|
+
return (opacity || 0.45) * 0.6;
|
|
238
|
+
}
|
|
239
|
+
return opacity || 0.45;
|
|
240
|
+
}, [isPushed, stackContext.previousSheetId, opacity]);
|
|
186
241
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
187
242
|
pointerEvents: "box-none",
|
|
188
243
|
style: [_reactNative.StyleSheet.absoluteFill, {
|
|
189
|
-
zIndex
|
|
244
|
+
zIndex
|
|
190
245
|
}]
|
|
191
246
|
}, /*#__PURE__*/_react.default.createElement(_bottomSheet.default, _extends({
|
|
192
247
|
enableDynamicSizing: enableDynamicSizing,
|
|
193
|
-
|
|
194
|
-
duration: 400,
|
|
195
|
-
easing: _reactNativeReanimated.Easing.bezier(0.25, 0.1, 0.25, 1)
|
|
196
|
-
},
|
|
197
|
-
backdropComponent: props => /*#__PURE__*/_react.default.createElement(_bottomSheet.BottomSheetBackdrop, _extends({
|
|
248
|
+
backdropComponent: backdropProps => /*#__PURE__*/_react.default.createElement(_bottomSheet.BottomSheetBackdrop, _extends({
|
|
198
249
|
enableTouchThrough: !!clickThrough,
|
|
199
|
-
opacity:
|
|
250
|
+
opacity: backdropOpacity,
|
|
200
251
|
disappearsOnIndex: -1,
|
|
201
252
|
appearsOnIndex: 0
|
|
202
|
-
},
|
|
253
|
+
}, backdropProps)),
|
|
254
|
+
onAnimate: (from, to, ...args) => {
|
|
255
|
+
const snapPointLen = Array.isArray(snapPoints) ? snapPoints.length : snapPoints?.value?.length ?? 0;
|
|
256
|
+
if (to >= isFullScreen.value && to > snapPointLen - 1) {
|
|
257
|
+
isFullScreen.set(0);
|
|
258
|
+
} else if (to > 0 && to === previousIndex.value && isFullScreen.value === 0) {
|
|
259
|
+
isFullScreen.set(1);
|
|
260
|
+
}
|
|
261
|
+
onAnimate?.(from, to, ...args);
|
|
262
|
+
},
|
|
263
|
+
topInset: 0,
|
|
264
|
+
bottomInset: 0
|
|
203
265
|
}, props, {
|
|
204
266
|
ref: bottomSheetRef,
|
|
205
267
|
onClose: hideSheet,
|
|
206
268
|
animatedIndex: animatedIndex,
|
|
207
|
-
|
|
269
|
+
style: [defaultStyle, style],
|
|
208
270
|
snapPoints: enableDynamicSizing ? undefined : snapPoints ?? ["66%"],
|
|
209
271
|
handleIndicatorStyle: [themeHandleIndicatorStyle, handleIndicatorStyle],
|
|
210
272
|
backgroundStyle: [themeBackgroundStyle, backgroundStyle],
|
|
@@ -223,19 +285,5 @@ BottomSheet.Footer = _bottomSheet.BottomSheetFooter;
|
|
|
223
285
|
BottomSheet.FooterContainer = _bottomSheet.BottomSheetFooterContainer;
|
|
224
286
|
BottomSheet.Backdrop = _bottomSheet.BottomSheetBackdrop;
|
|
225
287
|
BottomSheet.TextInput = _bottomSheet.BottomSheetTextInput;
|
|
226
|
-
try {
|
|
227
|
-
const {
|
|
228
|
-
cssInterop
|
|
229
|
-
} = require("nativewind");
|
|
230
|
-
cssInterop(BottomSheet, {
|
|
231
|
-
handleIndicatorClassName: "handleIndicatorStyle",
|
|
232
|
-
backgroundClassName: "backgroundStyle",
|
|
233
|
-
containerClassName: "containerStyle",
|
|
234
|
-
handleClassName: "handleStyle",
|
|
235
|
-
className: "style"
|
|
236
|
-
});
|
|
237
|
-
} catch (e) {
|
|
238
|
-
// Ignore error
|
|
239
|
-
}
|
|
240
288
|
var _default = exports.default = BottomSheet;
|
|
241
289
|
//# sourceMappingURL=sheet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bottomSheet","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_native","_react","_interopRequireDefault","_provider","_manager","_events","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","useSheetManager","id","onHide","onBeforeShow","onContextUpdate","visible","setVisible","React","useState","currentContext","useProviderContext","useEffect","undefined","subscriptions","eventManager","subscribe","data","context","dismiss","forEach","s","unsubscribe","BottomSheetComponent","forwardRef","children","snapPoints","onClose","stackBehavior","hardwareBackPressToClose","enableDynamicSizing","handleIndicatorStyle","iosModalSheetTypeOfAnimation","pageAnimation","backgroundStyle","handleStyle","clickThrough","fullScreen","opacity","props","ref","currentSheetRef","useSheetRef","currentCtx","isFullScreen","useSheetAnimationContext","animatedIndex","useSharedValue","colors","useTheme","top","useSafeAreaInsets","themeBackgroundStyle","useMemo","backgroundColor","card","themeHandleIndicatorStyle","border","height","width","valueRef","useRef","bottomSheetRef","hardwareBackPressEvent","useSheetIDContext","sheetId","hideSheet","current","getInstance","PrivateManager","add","registerRef","useAnimatedReaction","value","index","points","checkFullScreen","Array","findIndex","p","includes","interpolate","useCallback","isSheetManagerOrRef","remove","close","closeValue","history","publish","push","pop","options","animationConfigs","expand","collapse","snapToIndex","snapToPosition","position","Platform","OS","BackHandler","addEventListener","useImperativeHandle","createElement","View","pointerEvents","style","StyleSheet","absoluteFill","zIndex","duration","easing","Easing","bezier","backdropComponent","BottomSheetBackdrop","enableTouchThrough","disappearsOnIndex","appearsOnIndex","topInset","BottomSheet","memo","displayName","BottomSheetView","ScrollView","BottomSheetScrollView","FlatList","BottomSheetFlatList","SectionList","BottomSheetSectionList","VirtualizedList","BottomSheetVirtualizedList","Handle","BottomSheetHandle","Footer","BottomSheetFooter","FooterContainer","BottomSheetFooterContainer","Backdrop","TextInput","BottomSheetTextInput","cssInterop","handleIndicatorClassName","backgroundClassName","containerClassName","handleClassName","className","_default","exports"],"sourceRoot":"../../src","sources":["sheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bottomSheet","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_native","_react","_interopRequireDefault","_provider","_manager","_events","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","useSheetManager","id","onHide","onBeforeShow","onContextUpdate","currentContext","useProviderContext","hasShownRef","React","useRef","useEffect","undefined","subscriptions","eventManager","subscribe","data","context","behavior","current","dismiss","forEach","s","unsubscribe","BottomSheetComponent","forwardRef","children","snapPoints","onClose","stackBehavior","hardwareBackPressToClose","enableDynamicSizing","handleIndicatorStyle","iosModalSheetTypeOfAnimation","pageAnimation","animatedIndex","defaultAnimatedIndex","backgroundStyle","onAnimate","handleStyle","style","clickThrough","opacity","props","ref","currentSheetRef","useSheetRef","currentCtx","stackContext","useStackBehaviorContext","isFullScreen","duration","useSheetAnimationContext","useSharedValue","previousIndex","currentStackBehavior","setCurrentStackBehavior","useState","isPushed","colors","useTheme","bottom","left","right","useSafeAreaInsets","themeBackgroundStyle","useMemo","borderCurve","backgroundColor","card","borderTopLeftRadius","borderTopRightRadius","themeHandleIndicatorStyle","border","height","width","defaultStyle","paddingBottom","paddingLeft","paddingRight","valueRef","bottomSheetRef","hardwareBackPressEvent","useSheetIDContext","sheetId","hideSheet","getInstance","PrivateManager","add","registerRef","useAnimatedReaction","value","index","isClosing","withTiming","easing","Easing","bezier","points","fullScreenIndex","Array","findIndex","p","includes","useCallback","fromManager","remove","closeValue","close","hasHistory","history","shouldRestorePrevious","publish","push","prev","pop","options","animationConfigs","expand","collapse","snapToIndex","snapToPosition","position","Platform","OS","BackHandler","addEventListener","useImperativeHandle","zIndex","backdropOpacity","previousSheetId","createElement","View","pointerEvents","StyleSheet","absoluteFill","backdropComponent","backdropProps","BottomSheetBackdrop","enableTouchThrough","disappearsOnIndex","appearsOnIndex","from","to","args","snapPointLen","isArray","topInset","bottomInset","BottomSheet","memo","displayName","BottomSheetView","ScrollView","BottomSheetScrollView","FlatList","BottomSheetFlatList","SectionList","BottomSheetSectionList","VirtualizedList","BottomSheetVirtualizedList","Handle","BottomSheetHandle","Footer","BottomSheetFooter","FooterContainer","BottomSheetFooterContainer","Backdrop","TextInput","BottomSheetTextInput","_default","exports"],"sourceRoot":"../../src","sources":["sheet.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/events.js
CHANGED
|
@@ -1,29 +1,114 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* High-performance event manager using Maps for O(1) lookups.
|
|
3
|
+
* Replaces React Native's EventEmitter which has significant overhead.
|
|
4
|
+
*/
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
class EventManager {
|
|
7
|
+
_handlers = new Map();
|
|
8
|
+
_nextId = 0;
|
|
4
9
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
android: DeviceEventEmitter
|
|
10
|
-
});
|
|
11
|
-
}
|
|
10
|
+
/**
|
|
11
|
+
* Subscribe to an event with a handler function.
|
|
12
|
+
* Returns a subscription object with an unsubscribe method.
|
|
13
|
+
*/
|
|
12
14
|
subscribe(name, handler) {
|
|
13
|
-
if (!name ||
|
|
14
|
-
|
|
15
|
+
if (!name || typeof handler !== "function") {
|
|
16
|
+
throw new Error("Event name and handler function are required.");
|
|
17
|
+
}
|
|
18
|
+
const id = this._nextId++;
|
|
19
|
+
const entry = {
|
|
20
|
+
handler: handler,
|
|
21
|
+
id
|
|
22
|
+
};
|
|
23
|
+
const handlers = this._handlers.get(name);
|
|
24
|
+
if (handlers) {
|
|
25
|
+
handlers.push(entry);
|
|
26
|
+
} else {
|
|
27
|
+
this._handlers.set(name, [entry]);
|
|
28
|
+
}
|
|
15
29
|
return {
|
|
16
|
-
unsubscribe: () =>
|
|
30
|
+
unsubscribe: () => {
|
|
31
|
+
const currentHandlers = this._handlers.get(name);
|
|
32
|
+
if (currentHandlers) {
|
|
33
|
+
const index = currentHandlers.findIndex(h => h.id === id);
|
|
34
|
+
if (index !== -1) {
|
|
35
|
+
currentHandlers.splice(index, 1);
|
|
36
|
+
if (currentHandlers.length === 0) {
|
|
37
|
+
this._handlers.delete(name);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
17
42
|
};
|
|
18
43
|
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Publish an event with optional arguments.
|
|
47
|
+
* All subscribed handlers will be called synchronously.
|
|
48
|
+
*/
|
|
19
49
|
publish(name, ...args) {
|
|
20
|
-
this.
|
|
50
|
+
const handlers = this._handlers.get(name);
|
|
51
|
+
if (!handlers || handlers.length === 0) return;
|
|
52
|
+
|
|
53
|
+
// Create a copy to avoid issues if handlers modify the list during iteration
|
|
54
|
+
const handlersSnapshot = handlers.slice();
|
|
55
|
+
for (let i = 0; i < handlersSnapshot.length; i++) {
|
|
56
|
+
handlersSnapshot[i].handler(...args);
|
|
57
|
+
}
|
|
21
58
|
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Publish an event asynchronously using microtasks for better performance.
|
|
62
|
+
* Useful when you don't need immediate execution.
|
|
63
|
+
*/
|
|
64
|
+
publishAsync(name, ...args) {
|
|
65
|
+
queueMicrotask(() => this.publish(name, ...args));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Check if an event has any subscribers.
|
|
70
|
+
*/
|
|
71
|
+
hasSubscribers(name) {
|
|
72
|
+
const handlers = this._handlers.get(name);
|
|
73
|
+
return !!handlers && handlers.length > 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Get the number of subscribers for an event.
|
|
78
|
+
*/
|
|
79
|
+
subscriberCount(name) {
|
|
80
|
+
return this._handlers.get(name)?.length ?? 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Remove all listeners for the specified event names.
|
|
85
|
+
*/
|
|
22
86
|
remove(...names) {
|
|
23
|
-
for (const
|
|
24
|
-
this.
|
|
87
|
+
for (const name of names) {
|
|
88
|
+
this._handlers.delete(name);
|
|
25
89
|
}
|
|
26
90
|
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Remove all event listeners.
|
|
94
|
+
*/
|
|
95
|
+
clear() {
|
|
96
|
+
this._handlers.clear();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Subscribe to an event that will only fire once.
|
|
101
|
+
*/
|
|
102
|
+
once(name, handler) {
|
|
103
|
+
const subscription = this.subscribe(name, (...args) => {
|
|
104
|
+
subscription.unsubscribe();
|
|
105
|
+
handler(...args);
|
|
106
|
+
});
|
|
107
|
+
return subscription;
|
|
108
|
+
}
|
|
27
109
|
}
|
|
110
|
+
|
|
111
|
+
// Singleton instance for global event management
|
|
28
112
|
export const eventManager = new EventManager();
|
|
113
|
+
export default EventManager;
|
|
29
114
|
//# sourceMappingURL=events.js.map
|
package/lib/module/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["EventManager","_handlers","Map","_nextId","subscribe","name","handler","Error","id","entry","handlers","get","push","set","unsubscribe","currentHandlers","index","findIndex","h","splice","length","delete","publish","args","handlersSnapshot","slice","i","publishAsync","queueMicrotask","hasSubscribers","subscriberCount","remove","names","clear","once","subscription","eventManager"],"sourceRoot":"../../src","sources":["events.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -2,5 +2,5 @@ export { default as BottomSheet } from "./sheet";
|
|
|
2
2
|
export { SheetManager } from "./manager";
|
|
3
3
|
export * from "./router";
|
|
4
4
|
export * from "./types";
|
|
5
|
-
export { SheetProvider, useSheetPayload, useSheetRef, useOnSheet, registerSheet } from "./provider";
|
|
5
|
+
export { SheetProvider, useSheetPayload, useSheetRef, useOnSheet, useStackBehaviorContext, registerSheet } from "./provider";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","BottomSheet","SheetManager","SheetProvider","useSheetPayload","useSheetRef","useOnSheet","registerSheet"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,OAAO,IAAIC,WAAW,QAAQ,SAAS;AAChD,SAASC,YAAY,QAAQ,WAAW;AACxC,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,
|
|
1
|
+
{"version":3,"names":["default","BottomSheet","SheetManager","SheetProvider","useSheetPayload","useSheetRef","useOnSheet","useStackBehaviorContext","registerSheet"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,OAAO,IAAIC,WAAW,QAAQ,SAAS;AAChD,SAASC,YAAY,QAAQ,WAAW;AACxC,cAAc,UAAU;AACxB,cAAc,SAAS;AACvB,SACEC,aAAa,EACbC,eAAe,EACfC,WAAW,EACXC,UAAU,EACVC,uBAAuB,EACvBC,aAAa,QACR,YAAY","ignoreList":[]}
|