react-native-bottom-sheet-stack 1.7.4 → 1.7.5
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/BottomSheetBackdrop.js +51 -27
- package/lib/commonjs/BottomSheetBackdrop.js.map +1 -1
- package/lib/commonjs/BottomSheetManaged.js +52 -46
- package/lib/commonjs/BottomSheetManaged.js.map +1 -1
- package/lib/commonjs/BottomSheetPersistent.js +2 -2
- package/lib/commonjs/BottomSheetPersistent.js.map +1 -1
- package/lib/commonjs/BottomSheetPortal.js +3 -2
- package/lib/commonjs/BottomSheetPortal.js.map +1 -1
- package/lib/commonjs/QueueItem.js +81 -64
- package/lib/commonjs/QueueItem.js.map +1 -1
- package/lib/commonjs/animatedRegistry.js +22 -6
- package/lib/commonjs/animatedRegistry.js.map +1 -1
- package/lib/commonjs/bottomSheetCoordinator.js +1 -1
- package/lib/commonjs/bottomSheetCoordinator.js.map +1 -1
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/store/store.js +8 -1
- package/lib/commonjs/store/store.js.map +1 -1
- package/lib/commonjs/useTracePropChanges.js +37 -0
- package/lib/commonjs/useTracePropChanges.js.map +1 -0
- package/lib/typescript/example/src/App.d.ts.map +1 -1
- package/lib/typescript/example/src/components/BottomSheetDebugMonitor.d.ts +13 -0
- package/lib/typescript/example/src/components/BottomSheetDebugMonitor.d.ts.map +1 -0
- package/lib/typescript/src/BottomSheetBackdrop.d.ts +1 -2
- package/lib/typescript/src/BottomSheetBackdrop.d.ts.map +1 -1
- package/lib/typescript/src/BottomSheetManaged.d.ts.map +1 -1
- package/lib/typescript/src/BottomSheetPersistent.d.ts.map +1 -1
- package/lib/typescript/src/BottomSheetPortal.d.ts.map +1 -1
- package/lib/typescript/src/QueueItem.d.ts.map +1 -1
- package/lib/typescript/src/animatedRegistry.d.ts +7 -1
- package/lib/typescript/src/animatedRegistry.d.ts.map +1 -1
- package/lib/typescript/src/bottomSheetCoordinator.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/store/store.d.ts.map +1 -1
- package/lib/typescript/src/useTracePropChanges.d.ts +2 -0
- package/lib/typescript/src/useTracePropChanges.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/BottomSheetBackdrop.tsx +21 -8
- package/src/BottomSheetManaged.tsx +21 -9
- package/src/BottomSheetPersistent.tsx +2 -2
- package/src/BottomSheetPortal.tsx +4 -2
- package/src/QueueItem.tsx +31 -20
- package/src/animatedRegistry.ts +23 -7
- package/src/bottomSheetCoordinator.ts +4 -1
- package/src/index.tsx +6 -1
- package/src/store/store.ts +13 -2
- package/src/useTracePropChanges.ts +27 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_reactNativeSafeAreaContext","_reactNativeTeleport","_animatedRegistry","_BottomSheet","_bottomSheet","_BottomSheetBackdrop","_refsMap","_useScaleAnimation","_jsxRuntime","e","__esModule","default","QueueItem","exports","memo","t0","$","_compilerRuntime","c","id","stackIndex","isActive","content","useSheetContent","usePortal","useSheetUsePortal","keepMounted","useSheetKeepMounted","portalSession","useSheetPortalSession","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_reactNativeSafeAreaContext","_reactNativeTeleport","_animatedRegistry","_BottomSheet","_bottomSheet","_BottomSheetBackdrop","_refsMap","_useScaleAnimation","_jsxRuntime","e","__esModule","default","QueueItem","exports","memo","t0","$","_compilerRuntime","c","id","stackIndex","isActive","content","useSheetContent","usePortal","useSheetUsePortal","keepMounted","useSheetKeepMounted","portalSession","useSheetPortalSession","width","height","useSafeAreaFrame","animatedIndex","getAnimatedIndex","t1","cleanupSheetRef","cleanupAnimatedIndex","t2","useEffect","backdropZIndex","contentZIndex","t3","jsx","View","style","StyleSheet","absoluteFillObject","zIndex","pointerEvents","children","BottomSheetBackdrop","t4","PortalHost","name","BottomSheetContext","Provider","value","t5","ScaleWrapper","t6","jsxs","Fragment","scaleStyle","useSheetScaleAnimatedStyle"],"sourceRoot":"../../src","sources":["QueueItem.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,21 +3,29 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.__getAllAnimatedIndexes = __getAllAnimatedIndexes;
|
|
6
7
|
exports.__resetAnimatedIndexes = __resetAnimatedIndexes;
|
|
7
8
|
exports.cleanupAnimatedIndex = cleanupAnimatedIndex;
|
|
9
|
+
exports.ensureAnimatedIndex = ensureAnimatedIndex;
|
|
8
10
|
exports.getAnimatedIndex = getAnimatedIndex;
|
|
9
11
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
10
12
|
/**
|
|
11
13
|
* Registry for shared animated values per sheet.
|
|
12
|
-
*
|
|
14
|
+
* AnimatedIndex is created eagerly in store actions (open/mount)
|
|
15
|
+
* before any component renders, ensuring it's always available.
|
|
13
16
|
*/
|
|
14
17
|
const animatedIndexRegistry = new Map();
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
if (
|
|
18
|
-
|
|
19
|
-
animatedIndexRegistry.set(sheetId, animatedIndex);
|
|
18
|
+
function ensureAnimatedIndex(sheetId) {
|
|
19
|
+
const existing = animatedIndexRegistry.get(sheetId);
|
|
20
|
+
if (existing) {
|
|
21
|
+
return existing;
|
|
20
22
|
}
|
|
23
|
+
const animatedIndex = (0, _reactNativeReanimated.makeMutable)(-1);
|
|
24
|
+
animatedIndexRegistry.set(sheetId, animatedIndex);
|
|
25
|
+
return animatedIndex;
|
|
26
|
+
}
|
|
27
|
+
function getAnimatedIndex(sheetId) {
|
|
28
|
+
const animatedIndex = animatedIndexRegistry.get(sheetId);
|
|
21
29
|
return animatedIndex;
|
|
22
30
|
}
|
|
23
31
|
function cleanupAnimatedIndex(sheetId) {
|
|
@@ -31,4 +39,12 @@ function cleanupAnimatedIndex(sheetId) {
|
|
|
31
39
|
function __resetAnimatedIndexes() {
|
|
32
40
|
animatedIndexRegistry.clear();
|
|
33
41
|
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Get all animated indexes for debugging.
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
function __getAllAnimatedIndexes() {
|
|
48
|
+
return animatedIndexRegistry;
|
|
49
|
+
}
|
|
34
50
|
//# sourceMappingURL=animatedRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","animatedIndexRegistry","Map","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","animatedIndexRegistry","Map","ensureAnimatedIndex","sheetId","existing","get","animatedIndex","makeMutable","set","getAnimatedIndex","cleanupAnimatedIndex","delete","__resetAnimatedIndexes","clear","__getAllAnimatedIndexes"],"sourceRoot":"../../src","sources":["animatedRegistry.ts"],"mappings":";;;;;;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,GAAG,IAAIC,GAAG,CAA8B,CAAC;AAE7D,SAASC,mBAAmBA,CAACC,OAAe,EAAuB;EACxE,MAAMC,QAAQ,GAAGJ,qBAAqB,CAACK,GAAG,CAACF,OAAO,CAAC;EACnD,IAAIC,QAAQ,EAAE;IACZ,OAAOA,QAAQ;EACjB;EAEA,MAAME,aAAa,GAAG,IAAAC,kCAAW,EAAC,CAAC,CAAC,CAAC;EACrCP,qBAAqB,CAACQ,GAAG,CAACL,OAAO,EAAEG,aAAa,CAAC;EACjD,OAAOA,aAAa;AACtB;AAEO,SAASG,gBAAgBA,CAC9BN,OAAe,EACkB;EACjC,MAAMG,aAAa,GAAGN,qBAAqB,CAACK,GAAG,CAACF,OAAO,CAAC;EACxD,OAAOG,aAAa;AACtB;AAEO,SAASI,oBAAoBA,CAACP,OAAe,EAAQ;EAC1DH,qBAAqB,CAACW,MAAM,CAACR,OAAO,CAAC;AACvC;;AAEA;AACA;AACA;AACA;AACO,SAASS,sBAAsBA,CAAA,EAAS;EAC7CZ,qBAAqB,CAACa,KAAK,CAAC,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;AACO,SAASC,uBAAuBA,CAAA,EAAqC;EAC1E,OAAOd,qBAAqB;AAC9B","ignoreList":[]}
|
|
@@ -49,7 +49,7 @@ function createSheetEventHandlers(sheetId) {
|
|
|
49
49
|
const handleAnimate = (_fromIndex, toIndex) => {
|
|
50
50
|
const state = _bottomSheet.useBottomSheetStore.getState();
|
|
51
51
|
const currentStatus = state.sheetsById[sheetId]?.status;
|
|
52
|
-
if (toIndex === -1 && currentStatus === 'open') {
|
|
52
|
+
if (toIndex === -1 && (currentStatus === 'open' || currentStatus === 'opening')) {
|
|
53
53
|
startClosing(sheetId);
|
|
54
54
|
}
|
|
55
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bottomSheet","require","_refsMap","initBottomSheetCoordinator","groupId","useBottomSheetStore","subscribe","s","stackOrder","filter","id","sheetsById","map","status","next","prev","forEach","prevStatus","find","p","ref","getSheetRef","current","expand","close","createSheetEventHandlers","sheetId","startClosing","finishClosing","markOpen","getState","handleAnimate","_fromIndex","toIndex","state","currentStatus","handleChange","index","handleClose"],"sourceRoot":"../../src","sources":["bottomSheetCoordinator.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,SAASE,0BAA0BA,CAACC,OAAe,EAAE;EAC1D,OAAOC,gCAAmB,CAACC,SAAS,CACjCC,CAAC,IACAA,CAAC,CAACC,UAAU,CACTC,MAAM,CAAEC,EAAE,IAAKH,CAAC,CAACI,UAAU,CAACD,EAAE,CAAC,EAAEN,OAAO,KAAKA,OAAO,CAAC,CACrDQ,GAAG,CAAEF,EAAE,KAAM;IAAEA,EAAE;IAAEG,MAAM,EAAEN,CAAC,CAACI,UAAU,CAACD,EAAE,CAAC,EAAEG;EAAO,CAAC,CAAC,CAAC,EAC5D,CAACC,IAAI,EAAEC,IAAI,KAAK;IACdD,IAAI,CAACE,OAAO,CAAC,CAAC;MAAEN,EAAE;MAAEG;IAAO,CAAC,KAAK;MAC/B,MAAMI,UAAU,GAAGF,IAAI,CAACG,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACT,EAAE,KAAKA,EAAE,CAAC,EAAEG,MAAM;MAExD,IAAII,UAAU,KAAKJ,MAAM,EAAE;QACzB;MACF;MAEA,MAAMO,GAAG,GAAG,IAAAC,oBAAW,EAACX,EAAE,CAAC,EAAEY,OAAO;MAEpC,QAAQT,MAAM;QACZ,KAAK,SAAS;UACZ,IAAAQ,oBAAW,EAACX,EAAE,CAAC,EAAEY,OAAO,EAAEC,MAAM,CAAC,CAAC;UAClC;QACF,KAAK,QAAQ;UACX,IAAIH,GAAG,EAAEA,GAAG,CAACI,KAAK,CAAC,CAAC;UACpB;QACF,KAAK,SAAS;UACZ,IAAIJ,GAAG,EAAEA,GAAG,CAACI,KAAK,CAAC,CAAC;UACpB;MACJ;IACF,CAAC,CAAC;EACJ,CACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACO,SAASC,wBAAwBA,CAACC,OAAe,EAAE;EACxD,MAAM;IAAEC,YAAY;IAAEC,aAAa;IAAEC;EAAS,CAAC,GAC7CxB,gCAAmB,CAACyB,QAAQ,CAAC,CAAC;EAEhC,MAAMC,aAAa,GAAGA,CAACC,UAAkB,EAAEC,OAAe,KAAK;IAC7D,MAAMC,KAAK,GAAG7B,gCAAmB,CAACyB,QAAQ,CAAC,CAAC;IAC5C,MAAMK,aAAa,GAAGD,KAAK,CAACvB,UAAU,CAACe,OAAO,CAAC,EAAEb,MAAM;IAEvD,
|
|
1
|
+
{"version":3,"names":["_bottomSheet","require","_refsMap","initBottomSheetCoordinator","groupId","useBottomSheetStore","subscribe","s","stackOrder","filter","id","sheetsById","map","status","next","prev","forEach","prevStatus","find","p","ref","getSheetRef","current","expand","close","createSheetEventHandlers","sheetId","startClosing","finishClosing","markOpen","getState","handleAnimate","_fromIndex","toIndex","state","currentStatus","handleChange","index","handleClose"],"sourceRoot":"../../src","sources":["bottomSheetCoordinator.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,SAASE,0BAA0BA,CAACC,OAAe,EAAE;EAC1D,OAAOC,gCAAmB,CAACC,SAAS,CACjCC,CAAC,IACAA,CAAC,CAACC,UAAU,CACTC,MAAM,CAAEC,EAAE,IAAKH,CAAC,CAACI,UAAU,CAACD,EAAE,CAAC,EAAEN,OAAO,KAAKA,OAAO,CAAC,CACrDQ,GAAG,CAAEF,EAAE,KAAM;IAAEA,EAAE;IAAEG,MAAM,EAAEN,CAAC,CAACI,UAAU,CAACD,EAAE,CAAC,EAAEG;EAAO,CAAC,CAAC,CAAC,EAC5D,CAACC,IAAI,EAAEC,IAAI,KAAK;IACdD,IAAI,CAACE,OAAO,CAAC,CAAC;MAAEN,EAAE;MAAEG;IAAO,CAAC,KAAK;MAC/B,MAAMI,UAAU,GAAGF,IAAI,CAACG,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACT,EAAE,KAAKA,EAAE,CAAC,EAAEG,MAAM;MAExD,IAAII,UAAU,KAAKJ,MAAM,EAAE;QACzB;MACF;MAEA,MAAMO,GAAG,GAAG,IAAAC,oBAAW,EAACX,EAAE,CAAC,EAAEY,OAAO;MAEpC,QAAQT,MAAM;QACZ,KAAK,SAAS;UACZ,IAAAQ,oBAAW,EAACX,EAAE,CAAC,EAAEY,OAAO,EAAEC,MAAM,CAAC,CAAC;UAClC;QACF,KAAK,QAAQ;UACX,IAAIH,GAAG,EAAEA,GAAG,CAACI,KAAK,CAAC,CAAC;UACpB;QACF,KAAK,SAAS;UACZ,IAAIJ,GAAG,EAAEA,GAAG,CAACI,KAAK,CAAC,CAAC;UACpB;MACJ;IACF,CAAC,CAAC;EACJ,CACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACO,SAASC,wBAAwBA,CAACC,OAAe,EAAE;EACxD,MAAM;IAAEC,YAAY;IAAEC,aAAa;IAAEC;EAAS,CAAC,GAC7CxB,gCAAmB,CAACyB,QAAQ,CAAC,CAAC;EAEhC,MAAMC,aAAa,GAAGA,CAACC,UAAkB,EAAEC,OAAe,KAAK;IAC7D,MAAMC,KAAK,GAAG7B,gCAAmB,CAACyB,QAAQ,CAAC,CAAC;IAC5C,MAAMK,aAAa,GAAGD,KAAK,CAACvB,UAAU,CAACe,OAAO,CAAC,EAAEb,MAAM;IAEvD,IACEoB,OAAO,KAAK,CAAC,CAAC,KACbE,aAAa,KAAK,MAAM,IAAIA,aAAa,KAAK,SAAS,CAAC,EACzD;MACAR,YAAY,CAACD,OAAO,CAAC;IACvB;EACF,CAAC;EAED,MAAMU,YAAY,GAAIC,KAAa,IAAK;IACtC,MAAMH,KAAK,GAAG7B,gCAAmB,CAACyB,QAAQ,CAAC,CAAC;IAC5C,MAAMK,aAAa,GAAGD,KAAK,CAACvB,UAAU,CAACe,OAAO,CAAC,EAAEb,MAAM;IAEvD,IAAIwB,KAAK,IAAI,CAAC,IAAIF,aAAa,KAAK,SAAS,EAAE;MAC7CN,QAAQ,CAACH,OAAO,CAAC;IACnB;EACF,CAAC;EAED,MAAMY,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAMJ,KAAK,GAAG7B,gCAAmB,CAACyB,QAAQ,CAAC,CAAC;IAC5C,MAAMK,aAAa,GAAGD,KAAK,CAACvB,UAAU,CAACe,OAAO,CAAC,EAAEb,MAAM;IAEvD,IAAIsB,aAAa,KAAK,QAAQ,EAAE;MAC9BP,aAAa,CAACF,OAAO,CAAC;IACxB;EACF,CAAC;EAED,OAAO;IACLK,aAAa;IACbK,YAAY;IACZE;EACF,CAAC;AACH","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "BottomSheetScaleView", {
|
|
|
39
39
|
return _BottomSheetScaleView.BottomSheetScaleView;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "__getAllAnimatedIndexes", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _animatedRegistry.__getAllAnimatedIndexes;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
42
48
|
Object.defineProperty(exports, "__resetAnimatedIndexes", {
|
|
43
49
|
enumerable: true,
|
|
44
50
|
get: function () {
|
|
@@ -87,6 +93,12 @@ Object.defineProperty(exports, "useBottomSheetStatus", {
|
|
|
87
93
|
return _useBottomSheetStatus.useBottomSheetStatus;
|
|
88
94
|
}
|
|
89
95
|
});
|
|
96
|
+
Object.defineProperty(exports, "useBottomSheetStore", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _bottomSheet.useBottomSheetStore;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
90
102
|
var _BottomSheetManager = require("./BottomSheetManager.provider");
|
|
91
103
|
var _BottomSheetHost = require("./BottomSheetHost");
|
|
92
104
|
var _BottomSheetScaleView = require("./BottomSheetScaleView");
|
|
@@ -97,6 +109,7 @@ var _useBottomSheetManager = require("./useBottomSheetManager");
|
|
|
97
109
|
var _useBottomSheetControl = require("./useBottomSheetControl");
|
|
98
110
|
var _useBottomSheetContext = require("./useBottomSheetContext");
|
|
99
111
|
var _useBottomSheetStatus = require("./useBottomSheetStatus");
|
|
112
|
+
var _bottomSheet = require("./bottomSheet.store");
|
|
100
113
|
var _refsMap = require("./refsMap");
|
|
101
114
|
var _animatedRegistry = require("./animatedRegistry");
|
|
102
115
|
var _portalSessionRegistry = require("./portalSessionRegistry");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_BottomSheetManager","require","_BottomSheetHost","_BottomSheetScaleView","_BottomSheetManaged","_BottomSheetPortal","_BottomSheetPersistent","_useBottomSheetManager","_useBottomSheetControl","_useBottomSheetContext","_useBottomSheetStatus","_refsMap","_animatedRegistry","_portalSessionRegistry"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_BottomSheetManager","require","_BottomSheetHost","_BottomSheetScaleView","_BottomSheetManaged","_BottomSheetPortal","_BottomSheetPersistent","_useBottomSheetManager","_useBottomSheetControl","_useBottomSheetContext","_useBottomSheetStatus","_bottomSheet","_refsMap","_animatedRegistry","_portalSessionRegistry"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,sBAAA,GAAAL,OAAA;AAGA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,sBAAA,GAAAP,OAAA;AAIA,IAAAQ,sBAAA,GAAAR,OAAA;AAKA,IAAAS,qBAAA,GAAAT,OAAA;AAkBA,IAAAU,YAAA,GAAAV,OAAA;AAGA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,iBAAA,GAAAZ,OAAA;AAIA,IAAAa,sBAAA,GAAAb,OAAA","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.useBottomSheetStore = void 0;
|
|
|
7
7
|
var _middleware = require("zustand/middleware");
|
|
8
8
|
var _traditional = require("zustand/traditional");
|
|
9
9
|
var _helpers = require("./helpers");
|
|
10
|
+
var _animatedRegistry = require("../animatedRegistry");
|
|
10
11
|
var _portalSessionRegistry = require("../portalSessionRegistry");
|
|
11
12
|
const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.createWithEqualityFn)((0, _middleware.subscribeWithSelector)(set => ({
|
|
12
13
|
sheetsById: {},
|
|
@@ -16,9 +17,14 @@ const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.creat
|
|
|
16
17
|
if (existingSheet && !(0, _helpers.isActivatableKeepMounted)(existingSheet)) {
|
|
17
18
|
return state;
|
|
18
19
|
}
|
|
20
|
+
const hasOpeningInGroup = Object.values(state.sheetsById).some(s => s.groupId === sheet.groupId && s.status === 'opening');
|
|
21
|
+
if (hasOpeningInGroup) {
|
|
22
|
+
return state;
|
|
23
|
+
}
|
|
19
24
|
const updatedSheetsById = (0, _helpers.applyModeToTopSheet)(state.sheetsById, state.stackOrder, mode);
|
|
20
25
|
const shouldGetNewPortalSession = sheet.usePortal && (!existingSheet || !existingSheet.keepMounted);
|
|
21
26
|
const nextPortalSession = shouldGetNewPortalSession ? (0, _portalSessionRegistry.getNextPortalSession)(sheet.id) : undefined;
|
|
27
|
+
(0, _animatedRegistry.ensureAnimatedIndex)(sheet.id);
|
|
22
28
|
const newSheet = existingSheet ? {
|
|
23
29
|
...existingSheet,
|
|
24
30
|
status: 'opening',
|
|
@@ -48,7 +54,7 @@ const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.creat
|
|
|
48
54
|
}),
|
|
49
55
|
startClosing: id => set(state => {
|
|
50
56
|
const sheet = state.sheetsById[id];
|
|
51
|
-
if (!sheet || (0, _helpers.isHidden)(sheet)
|
|
57
|
+
if (!sheet || (0, _helpers.isHidden)(sheet)) return state;
|
|
52
58
|
let updatedSheetsById = (0, _helpers.updateSheet)(state.sheetsById, id, {
|
|
53
59
|
status: 'closing'
|
|
54
60
|
});
|
|
@@ -113,6 +119,7 @@ const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.creat
|
|
|
113
119
|
}),
|
|
114
120
|
mount: sheet => set(state => {
|
|
115
121
|
if (state.sheetsById[sheet.id]) return state;
|
|
122
|
+
(0, _animatedRegistry.ensureAnimatedIndex)(sheet.id);
|
|
116
123
|
|
|
117
124
|
// For portal-based persistent sheets, set initial portalSession
|
|
118
125
|
// This session will be reused across open/close cycles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_middleware","require","_traditional","_helpers","_portalSessionRegistry","useBottomSheetStore","exports","create","subscribeWithSelector","set","sheetsById","stackOrder","open","sheet","mode","state","existingSheet","id","isActivatableKeepMounted","updatedSheetsById","applyModeToTopSheet","shouldGetNewPortalSession","usePortal","keepMounted","nextPortalSession","getNextPortalSession","undefined","
|
|
1
|
+
{"version":3,"names":["_middleware","require","_traditional","_helpers","_animatedRegistry","_portalSessionRegistry","useBottomSheetStore","exports","create","subscribeWithSelector","set","sheetsById","stackOrder","open","sheet","mode","state","existingSheet","id","isActivatableKeepMounted","hasOpeningInGroup","Object","values","some","s","groupId","status","updatedSheetsById","applyModeToTopSheet","shouldGetNewPortalSession","usePortal","keepMounted","nextPortalSession","getNextPortalSession","undefined","ensureAnimatedIndex","newSheet","scaleBackground","params","portalSession","markOpen","updateSheet","startClosing","isHidden","belowId","getSheetBelowId","finishClosing","newStackOrder","removeFromStack","topId","getTopSheetId","updateParams","clearGroup","idsToRemove","Set","keys","filter","size","forEach","has","clearAll","mount","unmount"],"sourceRoot":"../../../src","sources":["store/store.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTracePropChanges = useTracePropChanges;
|
|
7
|
+
var _compilerRuntime = require("react/compiler-runtime");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
function useTracePropChanges(componentName, props) {
|
|
10
|
+
const $ = (0, _compilerRuntime.c)(3);
|
|
11
|
+
const prevProps = (0, _react.useRef)(props);
|
|
12
|
+
let t0;
|
|
13
|
+
if ($[0] !== componentName || $[1] !== props) {
|
|
14
|
+
t0 = () => {
|
|
15
|
+
const allKeys = Object.keys({
|
|
16
|
+
...props,
|
|
17
|
+
...prevProps.current
|
|
18
|
+
});
|
|
19
|
+
allKeys.forEach(key => {
|
|
20
|
+
if (prevProps.current[key] !== props[key]) {
|
|
21
|
+
console.log(`[${componentName}] Prop '${key}' changed.`);
|
|
22
|
+
if (typeof props[key] === "object" || typeof props[key] === "function") {
|
|
23
|
+
console.log(`[${componentName}] New instance detected for prop '${key}'.`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
prevProps.current = props;
|
|
28
|
+
};
|
|
29
|
+
$[0] = componentName;
|
|
30
|
+
$[1] = props;
|
|
31
|
+
$[2] = t0;
|
|
32
|
+
} else {
|
|
33
|
+
t0 = $[2];
|
|
34
|
+
}
|
|
35
|
+
(0, _react.useEffect)(t0);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=useTracePropChanges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","useTracePropChanges","componentName","props","$","_compilerRuntime","c","prevProps","useRef","t0","allKeys","Object","keys","current","forEach","key","console","log","useEffect"],"sourceRoot":"../../src","sources":["useTracePropChanges.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAAAC,oBAAAC,aAAA,EAAAC,KAAA;EAAA,MAAAC,CAAA,OAAAC,gBAAA,CAAAC,CAAA;EAIL,MAAAC,SAAA,GAAkB,IAAAC,aAAM,EAACL,KAAK,CAAC;EAAC,IAAAM,EAAA;EAAA,IAAAL,CAAA,QAAAF,aAAA,IAAAE,CAAA,QAAAD,KAAA;IAEtBM,EAAA,GAAAA,CAAA;MACR,MAAAC,OAAA,GAAgBC,MAAM,CAAAC,IAAK,CAAC;QAAA,GAAKT,KAAK;QAAA,GAAKI,SAAS,CAAAM;MAAS,CAAC,CAAC;MAC/DH,OAAO,CAAAI,OAAQ,CAACC,GAAA;QACd,IAAIR,SAAS,CAAAM,OAAQ,CAACE,GAAG,CAAC,KAAKZ,KAAK,CAACY,GAAG,CAAC;UACvCC,OAAO,CAAAC,GAAI,CAAC,IAAIf,aAAa,WAAWa,GAAG,YAAY,CAAC;UACxD,IACE,OAAOZ,KAAK,CAACY,GAAG,CAAC,KAAK,QACU,IAAhC,OAAOZ,KAAK,CAACY,GAAG,CAAC,KAAK,UAAU;YAEhCC,OAAO,CAAAC,GAAI,CACT,IAAIf,aAAa,qCAAqCa,GAAG,IAC3D,CAAC;UAAA;QACF;MACF,CACF,CAAC;MAEFR,SAAS,CAAAM,OAAA,GAAWV,KAAH;IAAA,CAClB;IAAAC,CAAA,MAAAF,aAAA;IAAAE,CAAA,MAAAD,KAAA;IAAAC,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAjBD,IAAAc,gBAAS,EAACT,EAiBT,CAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../example/src/App.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../example/src/App.tsx"],"names":[],"mappings":"AAeA,MAAM,CAAC,OAAO,UAAU,GAAG,4CA4B1B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface LogEntry {
|
|
2
|
+
timestamp: number;
|
|
3
|
+
type: 'open' | 'close' | 'status' | 'animatedIndex' | 'error' | 'cleanup' | 'valueChange';
|
|
4
|
+
sheetId: string;
|
|
5
|
+
message: string;
|
|
6
|
+
value?: unknown;
|
|
7
|
+
}
|
|
8
|
+
export declare function addDebugLog(type: LogEntry['type'], sheetId: string, message: string, value?: unknown): void;
|
|
9
|
+
export declare function trackCleanup(sheetId: string): void;
|
|
10
|
+
export declare function trackEnsure(sheetId: string, value: number): void;
|
|
11
|
+
export declare function BottomSheetDebugMonitor(): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=BottomSheetDebugMonitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomSheetDebugMonitor.d.ts","sourceRoot":"","sources":["../../../../../example/src/components/BottomSheetDebugMonitor.tsx"],"names":[],"mappings":"AAkBA,UAAU,QAAQ;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EACA,MAAM,GACN,OAAO,GACP,QAAQ,GACR,eAAe,GACf,OAAO,GACP,SAAS,GACT,aAAa,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAYD,wBAAgB,WAAW,CACzB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,QAYhB;AAGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,QAG3C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAQzD;AAgDD,wBAAgB,uBAAuB,4CA+UtC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
interface BottomSheetBackdropProps {
|
|
2
2
|
sheetId: string;
|
|
3
|
-
onPress?: () => void;
|
|
4
3
|
}
|
|
5
|
-
export declare function BottomSheetBackdrop({ sheetId
|
|
4
|
+
export declare function BottomSheetBackdrop({ sheetId }: BottomSheetBackdropProps): import("react/jsx-runtime").JSX.Element | null;
|
|
6
5
|
export {};
|
|
7
6
|
//# sourceMappingURL=BottomSheetBackdrop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetBackdrop.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetBackdrop.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BottomSheetBackdrop.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetBackdrop.tsx"],"names":[],"mappings":"AAUA,UAAU,wBAAwB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,wBAAwB,kDAyCxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetManaged.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetManaged.tsx"],"names":[],"mappings":"AAAA,OAA4B,EAE1B,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomSheetManaged.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetManaged.tsx"],"names":[],"mappings":"AAAA,OAA4B,EAE1B,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D,UAAU,uBAAwB,SAAQ,gBAAgB;CAAG;AAI7D,eAAO,MAAM,kBAAkB,gGAqF9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetPersistent.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetPersistent.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomSheetPersistent.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetPersistent.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAajD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,UAAU,0BAA0B;IAClC,EAAE,EAAE,mBAAmB,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CAC9B;AAED,wBAAgB,qBAAqB,CAAC,EACpC,EAAE,EACF,QAAQ,GACT,EAAE,0BAA0B,kDAyC5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheetPortal.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetPortal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,UAAU,sBAAsB;IAC9B,EAAE,EAAE,mBAAmB,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"BottomSheetPortal.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetPortal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,UAAU,sBAAsB;IAC9B,EAAE,EAAE,mBAAmB,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,sBAAsB,kDAqBzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueItem.d.ts","sourceRoot":"","sources":["../../../src/QueueItem.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QueueItem.d.ts","sourceRoot":"","sources":["../../../src/QueueItem.tsx"],"names":[],"mappings":"AAkBA,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,sDAqDpB,CAAC"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { type SharedValue } from 'react-native-reanimated';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function ensureAnimatedIndex(sheetId: string): SharedValue<number>;
|
|
3
|
+
export declare function getAnimatedIndex(sheetId: string): SharedValue<number> | undefined;
|
|
3
4
|
export declare function cleanupAnimatedIndex(sheetId: string): void;
|
|
4
5
|
/**
|
|
5
6
|
* Reset all animated indexes. Useful for testing.
|
|
6
7
|
* @internal
|
|
7
8
|
*/
|
|
8
9
|
export declare function __resetAnimatedIndexes(): void;
|
|
10
|
+
/**
|
|
11
|
+
* Get all animated indexes for debugging.
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function __getAllAnimatedIndexes(): Map<string, SharedValue<number>>;
|
|
9
15
|
//# sourceMappingURL=animatedRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animatedRegistry.d.ts","sourceRoot":"","sources":["../../../src/animatedRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"animatedRegistry.d.ts","sourceRoot":"","sources":["../../../src/animatedRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AASxE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CASxE;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GACd,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAGjC;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAE1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bottomSheetCoordinator.d.ts","sourceRoot":"","sources":["../../../src/bottomSheetCoordinator.ts"],"names":[],"mappings":"AAGA,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,cA8BzD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM;gCAInB,MAAM,WAAW,MAAM;
|
|
1
|
+
{"version":3,"file":"bottomSheetCoordinator.d.ts","sourceRoot":"","sources":["../../../src/bottomSheetCoordinator.ts"],"names":[],"mappings":"AAGA,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,cA8BzD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM;gCAInB,MAAM,WAAW,MAAM;0BAY7B,MAAM;;EAuBpC"}
|
|
@@ -11,7 +11,8 @@ export { useBottomSheetStatus, type UseBottomSheetStatusReturn, } from './useBot
|
|
|
11
11
|
export type { ScaleConfig, ScaleAnimationConfig } from './useScaleAnimation';
|
|
12
12
|
export type { BottomSheetStatus, OpenMode, BottomSheetState, } from './bottomSheet.store';
|
|
13
13
|
export type { BottomSheetPortalRegistry, BottomSheetPortalId, BottomSheetPortalParams, } from './portal.types';
|
|
14
|
+
export { useBottomSheetStore } from './bottomSheet.store';
|
|
14
15
|
export { __resetSheetRefs } from './refsMap';
|
|
15
|
-
export { __resetAnimatedIndexes } from './animatedRegistry';
|
|
16
|
+
export { __resetAnimatedIndexes, __getAllAnimatedIndexes, } from './animatedRegistry';
|
|
16
17
|
export { __resetPortalSessions } from './portalSessionRegistry';
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,KAAK,0BAA0B,GAChC,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,2BAA2B,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,KAAK,0BAA0B,GAChC,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/store/store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/store/store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;EA0K/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTracePropChanges.d.ts","sourceRoot":"","sources":["../../../src/useTracePropChanges.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAsB3B"}
|
package/package.json
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
1
2
|
import { Pressable, StyleSheet } from 'react-native';
|
|
2
3
|
import Animated, {
|
|
3
4
|
Extrapolation,
|
|
@@ -5,17 +6,27 @@ import Animated, {
|
|
|
5
6
|
useAnimatedStyle,
|
|
6
7
|
} from 'react-native-reanimated';
|
|
7
8
|
import { getAnimatedIndex } from './animatedRegistry';
|
|
9
|
+
import { useStartClosing } from './store';
|
|
8
10
|
|
|
9
11
|
interface BottomSheetBackdropProps {
|
|
10
12
|
sheetId: string;
|
|
11
|
-
onPress?: () => void;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
|
-
export function BottomSheetBackdrop({
|
|
15
|
-
sheetId,
|
|
16
|
-
onPress,
|
|
17
|
-
}: BottomSheetBackdropProps) {
|
|
15
|
+
export function BottomSheetBackdrop({ sheetId }: BottomSheetBackdropProps) {
|
|
18
16
|
const animatedIndex = getAnimatedIndex(sheetId);
|
|
17
|
+
const startClosing = useStartClosing();
|
|
18
|
+
|
|
19
|
+
if (!animatedIndex) {
|
|
20
|
+
throw new Error('animatedIndex must be defined in BottomSheetBackdrop');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const [initialized, setInitialized] = useState(false);
|
|
24
|
+
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
setTimeout(() => {
|
|
27
|
+
setInitialized(true);
|
|
28
|
+
}, 64);
|
|
29
|
+
}, []);
|
|
19
30
|
|
|
20
31
|
const animatedStyle = useAnimatedStyle(() => {
|
|
21
32
|
const opacity = interpolate(
|
|
@@ -28,12 +39,14 @@ export function BottomSheetBackdrop({
|
|
|
28
39
|
return { opacity };
|
|
29
40
|
});
|
|
30
41
|
|
|
42
|
+
if (!initialized) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
|
|
31
46
|
return (
|
|
32
47
|
<Pressable
|
|
33
48
|
style={StyleSheet.absoluteFillObject}
|
|
34
|
-
onPress={() =>
|
|
35
|
-
onPress?.();
|
|
36
|
-
}}
|
|
49
|
+
onPress={() => startClosing(sheetId)}
|
|
37
50
|
>
|
|
38
51
|
<Animated.View
|
|
39
52
|
style={[StyleSheet.absoluteFillObject, animatedStyle, styles.backdrop]}
|
|
@@ -5,9 +5,10 @@ import BottomSheetOriginal, {
|
|
|
5
5
|
import { type BottomSheetMethods } from '@gorhom/bottom-sheet/lib/typescript/types';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
+
import { useAnimatedReaction } from 'react-native-reanimated';
|
|
8
9
|
import { getAnimatedIndex } from './animatedRegistry';
|
|
9
|
-
import { useBottomSheetDefaultIndex } from './BottomSheetDefaultIndex.context';
|
|
10
10
|
import { createSheetEventHandlers } from './bottomSheetCoordinator';
|
|
11
|
+
import { useBottomSheetDefaultIndex } from './BottomSheetDefaultIndex.context';
|
|
11
12
|
import { useBottomSheetRefContext } from './BottomSheetRef.context';
|
|
12
13
|
import { useBottomSheetContext } from './useBottomSheetContext';
|
|
13
14
|
|
|
@@ -39,24 +40,35 @@ export const BottomSheetManaged = React.forwardRef<
|
|
|
39
40
|
const ref = contextRef ?? forwardedRef;
|
|
40
41
|
|
|
41
42
|
const defaultIndex = useBottomSheetDefaultIndex();
|
|
43
|
+
const contextAnimatedIndex = getAnimatedIndex(id);
|
|
44
|
+
|
|
45
|
+
if (!contextAnimatedIndex) {
|
|
46
|
+
throw new Error('animatedIndex must be defined in BottomSheetManaged');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
useAnimatedReaction(
|
|
50
|
+
() => contextAnimatedIndex.value,
|
|
51
|
+
(value) => {
|
|
52
|
+
externalAnimatedIndex?.set(value);
|
|
53
|
+
}
|
|
54
|
+
);
|
|
42
55
|
|
|
43
|
-
const animatedIndex = externalAnimatedIndex ?? getAnimatedIndex(id);
|
|
44
56
|
const { handleAnimate, handleChange, handleClose } =
|
|
45
57
|
createSheetEventHandlers(id);
|
|
46
58
|
|
|
47
59
|
const wrappedOnAnimate: BottomSheetProps['onAnimate'] = (
|
|
48
|
-
fromIndex
|
|
49
|
-
toIndex
|
|
50
|
-
fromPosition
|
|
51
|
-
toPosition
|
|
60
|
+
fromIndex,
|
|
61
|
+
toIndex,
|
|
62
|
+
fromPosition,
|
|
63
|
+
toPosition
|
|
52
64
|
) => {
|
|
53
65
|
handleAnimate(fromIndex, toIndex);
|
|
54
66
|
onAnimate?.(fromIndex, toIndex, fromPosition, toPosition);
|
|
55
67
|
};
|
|
56
68
|
|
|
57
69
|
const wrappedOnChange: BottomSheetProps['onChange'] = (
|
|
58
|
-
index
|
|
59
|
-
position
|
|
70
|
+
index,
|
|
71
|
+
position,
|
|
60
72
|
type
|
|
61
73
|
) => {
|
|
62
74
|
handleChange(index);
|
|
@@ -80,7 +92,7 @@ export const BottomSheetManaged = React.forwardRef<
|
|
|
80
92
|
ref={ref}
|
|
81
93
|
{...props}
|
|
82
94
|
index={defaultIndex}
|
|
83
|
-
animatedIndex={
|
|
95
|
+
animatedIndex={contextAnimatedIndex}
|
|
84
96
|
onChange={wrappedOnChange}
|
|
85
97
|
onClose={wrappedOnClose}
|
|
86
98
|
onAnimate={wrappedOnAnimate}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { BottomSheetMethods } from '@gorhom/bottom-sheet/lib/typescript/types';
|
|
2
2
|
import React, { useEffect, useRef } from 'react';
|
|
3
3
|
|
|
4
|
+
import { Portal } from 'react-native-teleport';
|
|
5
|
+
import { BottomSheetContext } from './BottomSheet.context';
|
|
4
6
|
import {
|
|
5
7
|
useMount,
|
|
6
8
|
useSheetExists,
|
|
@@ -13,8 +15,6 @@ import { BottomSheetRefContext } from './BottomSheetRef.context';
|
|
|
13
15
|
import type { BottomSheetPortalId } from './portal.types';
|
|
14
16
|
import { setSheetRef } from './refsMap';
|
|
15
17
|
import { useEvent } from './useEvent';
|
|
16
|
-
import { Portal } from 'react-native-teleport';
|
|
17
|
-
import { BottomSheetContext } from './BottomSheet.context';
|
|
18
18
|
|
|
19
19
|
interface BottomSheetPersistentProps {
|
|
20
20
|
id: BottomSheetPortalId;
|
|
@@ -4,9 +4,9 @@ import React from 'react';
|
|
|
4
4
|
import { Portal } from 'react-native-teleport';
|
|
5
5
|
|
|
6
6
|
import { BottomSheetContext } from './BottomSheet.context';
|
|
7
|
+
import { useSheetPortalSession } from './bottomSheet.store';
|
|
7
8
|
import { BottomSheetDefaultIndexContext } from './BottomSheetDefaultIndex.context';
|
|
8
9
|
import { BottomSheetRefContext } from './BottomSheetRef.context';
|
|
9
|
-
import { useSheetPortalSession } from './bottomSheet.store';
|
|
10
10
|
import type { BottomSheetPortalId } from './portal.types';
|
|
11
11
|
import { getSheetRef } from './refsMap';
|
|
12
12
|
|
|
@@ -23,8 +23,10 @@ export function BottomSheetPortal({ id, children }: BottomSheetPortalProps) {
|
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
const portalName = `bottomsheet-${id}-${portalSession}`;
|
|
27
|
+
|
|
26
28
|
return (
|
|
27
|
-
<Portal hostName={
|
|
29
|
+
<Portal hostName={portalName}>
|
|
28
30
|
<BottomSheetContext.Provider value={{ id }}>
|
|
29
31
|
<BottomSheetDefaultIndexContext.Provider value={{ defaultIndex: 0 }}>
|
|
30
32
|
<BottomSheetRefContext.Provider value={ref}>
|