react-native-bottom-sheet-stack 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/lib/commonjs/BottomSheet.context.js.map +1 -1
  2. package/lib/commonjs/BottomSheetBackdrop.js +76 -0
  3. package/lib/commonjs/BottomSheetBackdrop.js.map +1 -0
  4. package/lib/commonjs/BottomSheetHost.js +215 -51
  5. package/lib/commonjs/BottomSheetHost.js.map +1 -1
  6. package/lib/commonjs/BottomSheetManaged.js +128 -38
  7. package/lib/commonjs/BottomSheetManaged.js.map +1 -1
  8. package/lib/commonjs/BottomSheetManager.context.js.map +1 -1
  9. package/lib/commonjs/BottomSheetManager.provider.js +38 -13
  10. package/lib/commonjs/BottomSheetManager.provider.js.map +1 -1
  11. package/lib/commonjs/BottomSheetScaleView.js +67 -0
  12. package/lib/commonjs/BottomSheetScaleView.js.map +1 -0
  13. package/lib/commonjs/animatedRegistry.js +25 -0
  14. package/lib/commonjs/animatedRegistry.js.map +1 -0
  15. package/lib/commonjs/bottomSheet.store.js +86 -73
  16. package/lib/commonjs/bottomSheet.store.js.map +1 -1
  17. package/lib/commonjs/bottomSheetCoordinator.js +12 -14
  18. package/lib/commonjs/bottomSheetCoordinator.js.map +1 -1
  19. package/lib/commonjs/index.js +3 -3
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/useBottomSheetManager.js +88 -44
  22. package/lib/commonjs/useBottomSheetManager.js.map +1 -1
  23. package/lib/commonjs/useBottomSheetState.js +40 -17
  24. package/lib/commonjs/useBottomSheetState.js.map +1 -1
  25. package/lib/commonjs/useScaleAnimation.js +108 -0
  26. package/lib/commonjs/useScaleAnimation.js.map +1 -0
  27. package/lib/typescript/example/src/App.d.ts +0 -2
  28. package/lib/typescript/example/src/App.d.ts.map +1 -1
  29. package/lib/typescript/src/BottomSheetBackdrop.d.ts +12 -0
  30. package/lib/typescript/src/BottomSheetBackdrop.d.ts.map +1 -0
  31. package/lib/typescript/src/BottomSheetHost.d.ts +2 -6
  32. package/lib/typescript/src/BottomSheetHost.d.ts.map +1 -1
  33. package/lib/typescript/src/BottomSheetManaged.d.ts.map +1 -1
  34. package/lib/typescript/src/BottomSheetManager.context.d.ts +2 -0
  35. package/lib/typescript/src/BottomSheetManager.context.d.ts.map +1 -1
  36. package/lib/typescript/src/BottomSheetManager.provider.d.ts +4 -3
  37. package/lib/typescript/src/BottomSheetManager.provider.d.ts.map +1 -1
  38. package/lib/typescript/src/BottomSheetScaleView.d.ts +18 -0
  39. package/lib/typescript/src/BottomSheetScaleView.d.ts.map +1 -0
  40. package/lib/typescript/src/animatedRegistry.d.ts +4 -0
  41. package/lib/typescript/src/animatedRegistry.d.ts.map +1 -0
  42. package/lib/typescript/src/bottomSheet.store.d.ts +6 -4
  43. package/lib/typescript/src/bottomSheet.store.d.ts.map +1 -1
  44. package/lib/typescript/src/bottomSheetCoordinator.d.ts +1 -1
  45. package/lib/typescript/src/bottomSheetCoordinator.d.ts.map +1 -1
  46. package/lib/typescript/src/index.d.ts +2 -1
  47. package/lib/typescript/src/index.d.ts.map +1 -1
  48. package/lib/typescript/src/useBottomSheetManager.d.ts.map +1 -1
  49. package/lib/typescript/src/useBottomSheetState.d.ts.map +1 -1
  50. package/lib/typescript/src/useScaleAnimation.d.ts +43 -0
  51. package/lib/typescript/src/useScaleAnimation.d.ts.map +1 -0
  52. package/package.json +9 -2
  53. package/src/BottomSheetBackdrop.tsx +61 -0
  54. package/src/BottomSheetHost.tsx +89 -51
  55. package/src/BottomSheetManaged.tsx +26 -33
  56. package/src/BottomSheetManager.context.tsx +2 -0
  57. package/src/BottomSheetManager.provider.tsx +10 -6
  58. package/src/BottomSheetScaleView.tsx +41 -0
  59. package/src/animatedRegistry.ts +22 -0
  60. package/src/bottomSheet.store.ts +132 -97
  61. package/src/bottomSheetCoordinator.ts +15 -15
  62. package/src/index.tsx +2 -4
  63. package/src/useBottomSheetManager.tsx +37 -48
  64. package/src/useBottomSheetState.ts +5 -17
  65. package/src/useScaleAnimation.ts +114 -0
  66. package/lib/commonjs/ScaleBackgroundWrapper.js +0 -69
  67. package/lib/commonjs/ScaleBackgroundWrapper.js.map +0 -1
  68. package/lib/typescript/src/ScaleBackgroundWrapper.d.ts +0 -32
  69. package/lib/typescript/src/ScaleBackgroundWrapper.d.ts.map +0 -1
  70. package/src/ScaleBackgroundWrapper.tsx +0 -98
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","e","__esModule","default","BottomSheetManagerContext","exports","React","createContext"],"sourceRoot":"../../src","sources":["BottomSheetManager.context.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMnB,MAAMG,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,gBACpCE,cAAK,CAACC,aAAa,CAAwC,IAAI,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","e","__esModule","default","BottomSheetManagerContext","exports","React","createContext"],"sourceRoot":"../../src","sources":["BottomSheetManager.context.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQnB,MAAMG,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,gBACpCE,cAAK,CAACC,aAAa,CAAwC,IAAI,CAAC","ignoreList":[]}
@@ -3,27 +3,52 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useMaybeBottomSheetManagerContext = exports.useBottomSheetManagerContext = exports.BottomSheetManagerProvider = void 0;
6
+ exports.BottomSheetManagerProvider = BottomSheetManagerProvider;
7
+ exports.useMaybeBottomSheetManagerContext = exports.useBottomSheetManagerContext = void 0;
8
+ var _compilerRuntime = require("react/compiler-runtime");
7
9
  var _react = _interopRequireDefault(require("react"));
8
10
  var _BottomSheetManager = require("./BottomSheetManager.context");
9
11
  var _jsxRuntime = require("react/jsx-runtime");
10
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- function BottomSheetManagerProviderComp({
12
- id,
13
- children
14
- }) {
15
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomSheetManager.BottomSheetManagerContext.Provider, {
16
- value: {
17
- groupId: id
18
- },
19
- children: children
20
- }, id);
13
+ function BottomSheetManagerProvider(t0) {
14
+ const $ = (0, _compilerRuntime.c)(7);
15
+ const {
16
+ id,
17
+ scaleConfig,
18
+ children
19
+ } = t0;
20
+ let t1;
21
+ if ($[0] !== id || $[1] !== scaleConfig) {
22
+ t1 = {
23
+ groupId: id,
24
+ scaleConfig
25
+ };
26
+ $[0] = id;
27
+ $[1] = scaleConfig;
28
+ $[2] = t1;
29
+ } else {
30
+ t1 = $[2];
31
+ }
32
+ const value = t1;
33
+ let t2;
34
+ if ($[3] !== children || $[4] !== id || $[5] !== value) {
35
+ t2 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_BottomSheetManager.BottomSheetManagerContext.Provider, {
36
+ value: value,
37
+ children: children
38
+ }, id);
39
+ $[3] = children;
40
+ $[4] = id;
41
+ $[5] = value;
42
+ $[6] = t2;
43
+ } else {
44
+ t2 = $[6];
45
+ }
46
+ return t2;
21
47
  }
22
- const BottomSheetManagerProvider = exports.BottomSheetManagerProvider = /*#__PURE__*/_react.default.memo(BottomSheetManagerProviderComp);
23
48
  const useBottomSheetManagerContext = () => {
24
49
  const context = _react.default.useContext(_BottomSheetManager.BottomSheetManagerContext);
25
50
  if (!context) {
26
- throw new Error('useBottomSheetManagerContext must be used within a BottomSheetManagerProvider');
51
+ throw new Error("useBottomSheetManagerContext must be used within a BottomSheetManagerProvider");
27
52
  }
28
53
  return context;
29
54
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_BottomSheetManager","_jsxRuntime","e","__esModule","default","BottomSheetManagerProviderComp","id","children","jsx","BottomSheetManagerContext","Provider","value","groupId","BottomSheetManagerProvider","exports","React","memo","useBottomSheetManagerContext","context","useContext","Error","useMaybeBottomSheetManagerContext"],"sourceRoot":"../../src","sources":["BottomSheetManager.provider.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAD,OAAA;AAGsC,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMtC,SAASG,8BAA8BA,CAAC;EAAEC,EAAE;EAAEC;AAAwB,CAAC,EAAE;EACvE,oBACE,IAAAN,WAAA,CAAAO,GAAA,EAACR,mBAAA,CAAAS,yBAAyB,CAACC,QAAQ;IAAUC,KAAK,EAAE;MAAEC,OAAO,EAAEN;IAAG,CAAE;IAAAC,QAAA,EACjEA;EAAQ,GAD8BD,EAEL,CAAC;AAEzC;AAEO,MAAMO,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,gBAAGE,cAAK,CAACC,IAAI,CAClDX,8BACF,CAAC;AAEM,MAAMY,4BAA4B,GACvCA,CAAA,KAAsC;EACpC,MAAMC,OAAO,GAAGH,cAAK,CAACI,UAAU,CAACV,6CAAyB,CAAC;EAE3D,IAAI,CAACS,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CACb,+EACF,CAAC;EACH;EACA,OAAOF,OAAO;AAChB,CAAC;AAACJ,OAAA,CAAAG,4BAAA,GAAAA,4BAAA;AAEG,MAAMI,iCAAiC,GAC5CA,CAAA,KAA6C;EAC3C,MAAMH,OAAO,GAAGH,cAAK,CAACI,UAAU,CAACV,6CAAyB,CAAC;EAE3D,IAAI,CAACS,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EACA,OAAOA,OAAO;AAChB,CAAC;AAACJ,OAAA,CAAAO,iCAAA,GAAAA,iCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_BottomSheetManager","_jsxRuntime","e","__esModule","default","BottomSheetManagerProvider","t0","$","_compilerRuntime","c","id","scaleConfig","children","t1","groupId","value","t2","jsx","BottomSheetManagerContext","Provider","useBottomSheetManagerContext","context","React","useContext","Error","exports","useMaybeBottomSheetManagerContext"],"sourceRoot":"../../src","sources":["BottomSheetManager.provider.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAD,OAAA;AAGsC,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQ/B,SAAAG,2BAAAC,EAAA;EAAA,MAAAC,CAAA,OAAAC,gBAAA,CAAAC,CAAA;EAAoC;IAAAC,EAAA;IAAAC,WAAA;IAAAC;EAAA,IAAAN,EAI3B;EAAA,IAAAO,EAAA;EAAA,IAAAN,CAAA,QAAAG,EAAA,IAAAH,CAAA,QAAAI,WAAA;IACAE,EAAA;MAAAC,OAAA,EAAWJ,EAAE;MAAAC;IAAc,CAAC;IAAAJ,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAI,WAAA;IAAAJ,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAA1C,MAAAQ,KAAA,GAAcF,EAA4B;EAAC,IAAAG,EAAA;EAAA,IAAAT,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAG,EAAA,IAAAH,CAAA,QAAAQ,KAAA;IAGzCC,EAAA,oBAAAf,WAAA,CAAAgB,GAAA,EAAAjB,mBAAA,CAAAkB,yBAAA,CAAAC,QAAA;MAAoDJ,KAAK,EAALA,KAAK;MAAAH,QAAA,EACtDA;IAAQ,GAD8BF,EAEL,CAAC;IAAAH,CAAA,MAAAK,QAAA;IAAAL,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAQ,KAAA;IAAAR,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAA,OAFrCS,EAEqC;AAAA;AAIlC,MAAMI,4BAA4B,GACvCA,CAAA;EACE,MAAAC,OAAA,GAAgBC,cAAK,CAAAC,UAAW,CAACL,6CAAyB,CAAC;EAE3D,IAAI,CAACG,OAAO;IACV,MAAM,IAAIG,KAAK,CACb,+EACF,CAAC;EAAC;EACH,OACMH,OAAO;AAAA,CACf;AAACI,OAAA,CAAAL,4BAAA,GAAAA,4BAAA;AAEG,MAAMM,iCAAiC,GAC5CA,CAAA;EACE,MAAAL,OAAA,GAAgBC,cAAK,CAAAC,UAAW,CAACL,6CAAyB,CAAC;EAE3D,IAAI,CAACG,OAAO;IAAA,OACH,IAAI;EAAA;EACZ,OACMA,OAAO;AAAA,CACf;AAACI,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BottomSheetScaleView = BottomSheetScaleView;
7
+ var _compilerRuntime = require("react/compiler-runtime");
8
+ var _react = require("react");
9
+ var _reactNative = require("react-native");
10
+ var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
11
+ var _BottomSheetManager = require("./BottomSheetManager.context");
12
+ var _useScaleAnimation = require("./useScaleAnimation");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ /**
16
+ * Wraps your app content with iOS-style scale animation when a bottom sheet
17
+ * with scaleBackground: true is open. Place your main content inside this
18
+ * component, but keep BottomSheetHost outside of it.
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * <BottomSheetManagerProvider id="default" scaleConfig={{ scale: 0.92 }}>
23
+ * <BottomSheetScaleView>
24
+ * <MainContent />
25
+ * </BottomSheetScaleView>
26
+ * <BottomSheetHost />
27
+ * </BottomSheetManagerProvider>
28
+ * ```
29
+ */
30
+ function BottomSheetScaleView(t0) {
31
+ const $ = (0, _compilerRuntime.c)(5);
32
+ const {
33
+ children
34
+ } = t0;
35
+ const context = (0, _react.useContext)(_BottomSheetManager.BottomSheetManagerContext);
36
+ const groupId = context?.groupId ?? "default";
37
+ const scaleConfig = context?.scaleConfig;
38
+ const scaleDepth = (0, _useScaleAnimation.useScaleDepth)(groupId);
39
+ const animatedStyle = (0, _useScaleAnimation.useScaleAnimatedStyle)(scaleDepth, scaleConfig);
40
+ let t1;
41
+ if ($[0] !== animatedStyle) {
42
+ t1 = [styles.container, animatedStyle];
43
+ $[0] = animatedStyle;
44
+ $[1] = t1;
45
+ } else {
46
+ t1 = $[1];
47
+ }
48
+ let t2;
49
+ if ($[2] !== children || $[3] !== t1) {
50
+ t2 = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
51
+ style: t1,
52
+ children: children
53
+ });
54
+ $[2] = children;
55
+ $[3] = t1;
56
+ $[4] = t2;
57
+ } else {
58
+ t2 = $[4];
59
+ }
60
+ return t2;
61
+ }
62
+ const styles = _reactNative.StyleSheet.create({
63
+ container: {
64
+ flex: 1
65
+ }
66
+ });
67
+ //# sourceMappingURL=BottomSheetScaleView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_BottomSheetManager","_useScaleAnimation","_jsxRuntime","e","__esModule","default","BottomSheetScaleView","t0","$","_compilerRuntime","c","children","context","useContext","BottomSheetManagerContext","groupId","scaleConfig","scaleDepth","useScaleDepth","animatedStyle","useScaleAnimatedStyle","t1","styles","container","t2","jsx","View","style","StyleSheet","create","flex"],"sourceRoot":"../../src","sources":["BottomSheetScaleView.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAA2E,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAAG,qBAAAC,EAAA;EAAA,MAAAC,CAAA,OAAAC,gBAAA,CAAAC,CAAA;EAA8B;IAAAC;EAAA,IAAAJ,EAA+B;EAClE,MAAAK,OAAA,GAAgB,IAAAC,iBAAU,EAACC,6CAAyB,CAAC;EACrD,MAAAC,OAAA,GAAgBH,OAAO,EAAAG,OAAsB,IAA7B,SAA6B;EAC7C,MAAAC,WAAA,GAAoBJ,OAAO,EAAAI,WAAa;EAExC,MAAAC,UAAA,GAAmB,IAAAC,gCAAa,EAACH,OAAO,CAAC;EACzC,MAAAI,aAAA,GAAsB,IAAAC,wCAAqB,EAACH,UAAU,EAAED,WAAW,CAAC;EAAC,IAAAK,EAAA;EAAA,IAAAb,CAAA,QAAAW,aAAA;IAG7CE,EAAA,IAACC,MAAM,CAAAC,SAAU,EAAEJ,aAAa,CAAC;IAAAX,CAAA,MAAAW,aAAA;IAAAX,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EAAA,IAAAgB,EAAA;EAAA,IAAAhB,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAa,EAAA;IAAvDG,EAAA,oBAAAtB,WAAA,CAAAuB,GAAA,EAAA3B,sBAAA,CAAAO,OAAA,CAAAqB,IAAA;MAAsBC,KAAiC,EAAjCN,EAAiC;MAAAV,QAAA,EACpDA;IAAQ,CACI,CAAC;IAAAH,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAa,EAAA;IAAAb,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAAA,OAFhBgB,EAEgB;AAAA;AAIpB,MAAMF,MAAM,GAAGM,uBAAU,CAACC,MAAM,CAAC;EAC/BN,SAAS,EAAE;IACTO,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.cleanupAnimatedIndex = cleanupAnimatedIndex;
7
+ exports.getAnimatedIndex = getAnimatedIndex;
8
+ var _reactNativeReanimated = require("react-native-reanimated");
9
+ /**
10
+ * Registry for shared animated values per sheet.
11
+ * This allows backdrop to access the animatedIndex from the bottom sheet.
12
+ */
13
+ const animatedIndexRegistry = new Map();
14
+ function getAnimatedIndex(sheetId) {
15
+ let animatedIndex = animatedIndexRegistry.get(sheetId);
16
+ if (!animatedIndex) {
17
+ animatedIndex = (0, _reactNativeReanimated.makeMutable)(-1);
18
+ animatedIndexRegistry.set(sheetId, animatedIndex);
19
+ }
20
+ return animatedIndex;
21
+ }
22
+ function cleanupAnimatedIndex(sheetId) {
23
+ animatedIndexRegistry.delete(sheetId);
24
+ }
25
+ //# sourceMappingURL=animatedRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeReanimated","require","animatedIndexRegistry","Map","getAnimatedIndex","sheetId","animatedIndex","get","makeMutable","set","cleanupAnimatedIndex","delete"],"sourceRoot":"../../src","sources":["animatedRegistry.ts"],"mappings":";;;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,GAAG,IAAIC,GAAG,CAA8B,CAAC;AAE7D,SAASC,gBAAgBA,CAACC,OAAe,EAAuB;EACrE,IAAIC,aAAa,GAAGJ,qBAAqB,CAACK,GAAG,CAACF,OAAO,CAAC;EAEtD,IAAI,CAACC,aAAa,EAAE;IAClBA,aAAa,GAAG,IAAAE,kCAAW,EAAC,CAAC,CAAC,CAAC;IAC/BN,qBAAqB,CAACO,GAAG,CAACJ,OAAO,EAAEC,aAAa,CAAC;EACnD;EAEA,OAAOA,aAAa;AACtB;AAEO,SAASI,oBAAoBA,CAACL,OAAe,EAAQ;EAC1DH,qBAAqB,CAACS,MAAM,CAACN,OAAO,CAAC;AACvC","ignoreList":[]}
@@ -7,121 +7,134 @@ exports.useBottomSheetStore = void 0;
7
7
  var _middleware = require("zustand/middleware");
8
8
  var _traditional = require("zustand/traditional");
9
9
  const useBottomSheetStore = exports.useBottomSheetStore = (0, _traditional.createWithEqualityFn)((0, _middleware.subscribeWithSelector)(set => ({
10
- stack: [],
10
+ sheetsById: {},
11
+ stackOrder: [],
11
12
  push: sheet => set(state => {
12
- if (state.stack.some(s => s.id === sheet.id)) {
13
- return {
14
- stack: state.stack
15
- };
13
+ if (state.sheetsById[sheet.id]) {
14
+ return state;
16
15
  }
17
16
  return {
18
- stack: [...state.stack, {
19
- ...sheet,
20
- status: 'opening'
21
- }]
17
+ sheetsById: {
18
+ ...state.sheetsById,
19
+ [sheet.id]: {
20
+ ...sheet,
21
+ status: 'opening'
22
+ }
23
+ },
24
+ stackOrder: [...state.stackOrder, sheet.id]
22
25
  };
23
26
  }),
24
27
  switch: sheet => set(state => {
25
- if (state.stack.some(s => s.id === sheet.id)) {
26
- return {
27
- stack: state.stack
28
- };
28
+ if (state.sheetsById[sheet.id]) {
29
+ return state;
29
30
  }
30
- const stack = [...state.stack];
31
- if (stack.length) {
32
- const topIndex = stack.length - 1;
33
- if (stack[topIndex]) {
34
- stack[topIndex] = {
35
- ...stack[topIndex],
36
- status: 'hidden'
37
- };
38
- }
31
+ const newSheetsById = {
32
+ ...state.sheetsById
33
+ };
34
+ const topId = state.stackOrder[state.stackOrder.length - 1];
35
+ if (topId && newSheetsById[topId]) {
36
+ newSheetsById[topId] = {
37
+ ...newSheetsById[topId],
38
+ status: 'hidden'
39
+ };
39
40
  }
40
- stack.push({
41
+ newSheetsById[sheet.id] = {
41
42
  ...sheet,
42
43
  status: 'opening'
43
- });
44
+ };
44
45
  return {
45
- stack
46
+ sheetsById: newSheetsById,
47
+ stackOrder: [...state.stackOrder, sheet.id]
46
48
  };
47
49
  }),
48
50
  replace: sheet => set(state => {
49
- if (state.stack.some(s => s.id === sheet.id)) {
50
- return {
51
- stack: state.stack
52
- };
51
+ if (state.sheetsById[sheet.id]) {
52
+ return state;
53
53
  }
54
- const stack = [...state.stack];
55
- const prevTop = stack.pop();
56
- if (prevTop) {
57
- stack.push({
58
- ...prevTop,
54
+ const newSheetsById = {
55
+ ...state.sheetsById
56
+ };
57
+ const topId = state.stackOrder[state.stackOrder.length - 1];
58
+ if (topId && newSheetsById[topId]) {
59
+ newSheetsById[topId] = {
60
+ ...newSheetsById[topId],
59
61
  status: 'closing'
60
- });
62
+ };
61
63
  }
62
- stack.push({
64
+ newSheetsById[sheet.id] = {
63
65
  ...sheet,
64
66
  status: 'opening'
65
- });
67
+ };
66
68
  return {
67
- stack
69
+ sheetsById: newSheetsById,
70
+ stackOrder: [...state.stackOrder, sheet.id]
68
71
  };
69
72
  }),
70
73
  markOpen: id => set(state => {
71
- const stack = state.stack.map(s => s.id === id ? {
72
- ...s,
73
- status: 'open'
74
- } : s);
74
+ const sheet = state.sheetsById[id];
75
+ if (!sheet) {
76
+ return state;
77
+ }
75
78
  return {
76
- stack
79
+ sheetsById: {
80
+ ...state.sheetsById,
81
+ [id]: {
82
+ ...sheet,
83
+ status: 'open'
84
+ }
85
+ }
77
86
  };
78
87
  }),
79
88
  startClosing: id => set(state => {
80
- const stack = [...state.stack];
81
- const index = stack.findIndex(s => s.id === id);
82
- if (index === -1) {
83
- return {
84
- stack
85
- };
86
- }
87
- const closing = stack[index];
88
- if (closing?.status === 'hidden') {
89
- return {
90
- stack
91
- };
92
- }
93
- if (closing) {
94
- stack[index] = {
95
- ...closing,
96
- status: 'closing'
97
- };
89
+ const sheet = state.sheetsById[id];
90
+ if (!sheet || sheet.status === 'hidden') {
91
+ return state;
98
92
  }
99
- const below = stack[index - 1];
100
- if (below && below.status === 'hidden') {
101
- stack[index - 1] = {
102
- ...below,
93
+ const newSheetsById = {
94
+ ...state.sheetsById
95
+ };
96
+ newSheetsById[id] = {
97
+ ...sheet,
98
+ status: 'closing'
99
+ };
100
+ const index = state.stackOrder.indexOf(id);
101
+ const belowId = state.stackOrder[index - 1];
102
+ const belowSheet = belowId ? newSheetsById[belowId] : undefined;
103
+ if (belowId && belowSheet && belowSheet.status === 'hidden') {
104
+ newSheetsById[belowId] = {
105
+ ...belowSheet,
103
106
  status: 'opening'
104
107
  };
105
108
  }
106
109
  return {
107
- stack
110
+ sheetsById: newSheetsById
108
111
  };
109
112
  }),
110
113
  finishClosing: id => set(state => {
111
- const stack = state.stack.filter(s => s.id !== id);
112
- const topIndex = stack.length - 1;
113
- if (topIndex >= 0 && stack[topIndex]?.status === 'hidden') {
114
- stack[topIndex] = {
115
- ...stack[topIndex],
114
+ if (!state.sheetsById[id]) {
115
+ return state;
116
+ }
117
+ const newSheetsById = {
118
+ ...state.sheetsById
119
+ };
120
+ delete newSheetsById[id];
121
+ const newStackOrder = state.stackOrder.filter(sheetId => sheetId !== id);
122
+ const topId = newStackOrder[newStackOrder.length - 1];
123
+ const topSheet = topId ? newSheetsById[topId] : undefined;
124
+ if (topId && topSheet && topSheet.status === 'hidden') {
125
+ newSheetsById[topId] = {
126
+ ...topSheet,
116
127
  status: 'opening'
117
128
  };
118
129
  }
119
130
  return {
120
- stack
131
+ sheetsById: newSheetsById,
132
+ stackOrder: newStackOrder
121
133
  };
122
134
  }),
123
135
  clearAll: () => set(() => ({
124
- stack: []
136
+ sheetsById: {},
137
+ stackOrder: []
125
138
  }))
126
139
  })));
127
140
  //# sourceMappingURL=bottomSheet.store.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_middleware","require","_traditional","useBottomSheetStore","exports","create","subscribeWithSelector","set","stack","push","sheet","state","some","s","id","status","switch","length","topIndex","replace","prevTop","pop","markOpen","map","startClosing","index","findIndex","closing","below","finishClosing","filter","clearAll"],"sourceRoot":"../../src","sources":["bottomSheet.store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_middleware","require","_traditional","useBottomSheetStore","exports","create","subscribeWithSelector","set","sheetsById","stackOrder","push","sheet","state","id","status","switch","newSheetsById","topId","length","replace","markOpen","startClosing","index","indexOf","belowId","belowSheet","undefined","finishClosing","newStackOrder","filter","sheetId","topSheet","clearAll"],"sourceRoot":"../../src","sources":["bottomSheet.store.ts"],"mappings":"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","ignoreList":[]}
@@ -7,13 +7,10 @@ exports.createSheetEventHandlers = createSheetEventHandlers;
7
7
  exports.initBottomSheetCoordinator = initBottomSheetCoordinator;
8
8
  var _bottomSheet = require("./bottomSheet.store");
9
9
  var _refsMap = require("./refsMap");
10
- function initBottomSheetCoordinator() {
11
- _bottomSheet.useBottomSheetStore.subscribe(s => s.stack.map(({
10
+ function initBottomSheetCoordinator(groupId) {
11
+ return _bottomSheet.useBottomSheetStore.subscribe(s => s.stackOrder.filter(id => s.sheetsById[id]?.groupId === groupId).map(id => ({
12
12
  id,
13
- status
14
- }) => ({
15
- id,
16
- status
13
+ status: s.sheetsById[id]?.status
17
14
  })), (next, prev) => {
18
15
  next.forEach(({
19
16
  id,
@@ -24,18 +21,17 @@ function initBottomSheetCoordinator() {
24
21
  return;
25
22
  }
26
23
  const ref = _refsMap.sheetRefs[id]?.current;
27
- if (!ref) {
28
- return;
29
- }
30
24
  switch (status) {
31
25
  case 'opening':
32
- ref.expand();
26
+ requestAnimationFrame(() => {
27
+ _refsMap.sheetRefs[id]?.current?.expand();
28
+ });
33
29
  break;
34
30
  case 'hidden':
35
- ref.close();
31
+ if (ref) ref.close();
36
32
  break;
37
33
  case 'closing':
38
- ref.close();
34
+ if (ref) ref.close();
39
35
  break;
40
36
  }
41
37
  });
@@ -53,7 +49,8 @@ function createSheetEventHandlers(sheetId) {
53
49
  markOpen
54
50
  } = _bottomSheet.useBottomSheetStore.getState();
55
51
  const handleAnimate = (fromIndex, toIndex) => {
56
- const currentStatus = _bottomSheet.useBottomSheetStore.getState().stack.find(s => s.id === sheetId)?.status;
52
+ const state = _bottomSheet.useBottomSheetStore.getState();
53
+ const currentStatus = state.sheetsById[sheetId]?.status;
57
54
 
58
55
  // Sheet is closing (animating to -1)
59
56
  if (toIndex === -1) {
@@ -68,7 +65,8 @@ function createSheetEventHandlers(sheetId) {
68
65
  }
69
66
  };
70
67
  const handleClose = () => {
71
- const currentStatus = _bottomSheet.useBottomSheetStore.getState().stack.find(s => s.id === sheetId)?.status;
68
+ const state = _bottomSheet.useBottomSheetStore.getState();
69
+ const currentStatus = state.sheetsById[sheetId]?.status;
72
70
  if (currentStatus !== 'hidden') {
73
71
  finishClosing(sheetId);
74
72
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_bottomSheet","require","_refsMap","initBottomSheetCoordinator","useBottomSheetStore","subscribe","s","stack","map","id","status","next","prev","forEach","prevStatus","find","p","ref","sheetRefs","current","expand","close","createSheetEventHandlers","sheetId","startClosing","finishClosing","markOpen","getState","handleAnimate","fromIndex","toIndex","currentStatus","handleClose"],"sourceRoot":"../../src","sources":["bottomSheetCoordinator.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,SAASE,0BAA0BA,CAAA,EAAG;EAC3CC,gCAAmB,CAACC,SAAS,CAC1BC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC;IAAEC,EAAE;IAAEC;EAAO,CAAC,MAAM;IAAED,EAAE;IAAEC;EAAO,CAAC,CAAC,CAAC,EACxD,CAACC,IAAI,EAAEC,IAAI,KAAK;IACdD,IAAI,CAACE,OAAO,CAAC,CAAC;MAAEJ,EAAE;MAAEC;IAAO,CAAC,KAAK;MAC/B,MAAMI,UAAU,GAAGF,IAAI,CAACG,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACP,EAAE,KAAKA,EAAE,CAAC,EAAEC,MAAM;MAExD,IAAII,UAAU,KAAKJ,MAAM,EAAE;QACzB;MACF;MAEA,MAAMO,GAAG,GAAGC,kBAAS,CAACT,EAAE,CAAC,EAAEU,OAAO;MAClC,IAAI,CAACF,GAAG,EAAE;QACR;MACF;MAEA,QAAQP,MAAM;QACZ,KAAK,SAAS;UACZO,GAAG,CAACG,MAAM,CAAC,CAAC;UACZ;QACF,KAAK,QAAQ;UACXH,GAAG,CAACI,KAAK,CAAC,CAAC;UACX;QACF,KAAK,SAAS;UACZJ,GAAG,CAACI,KAAK,CAAC,CAAC;UACX;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,GAC7CtB,gCAAmB,CAACuB,QAAQ,CAAC,CAAC;EAEhC,MAAMC,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAK;IAC5D,MAAMC,aAAa,GAAG3B,gCAAmB,CACtCuB,QAAQ,CAAC,CAAC,CACVpB,KAAK,CAACQ,IAAI,CAAET,CAAC,IAAKA,CAAC,CAACG,EAAE,KAAKc,OAAO,CAAC,EAAEb,MAAM;;IAE9C;IACA,IAAIoB,OAAO,KAAK,CAAC,CAAC,EAAE;MAClB,IAAIC,aAAa,KAAK,MAAM,IAAIA,aAAa,KAAK,SAAS,EAAE;QAC3DP,YAAY,CAACD,OAAO,CAAC;MACvB;IACF;;IAEA;IACA,IAAIM,SAAS,KAAK,CAAC,CAAC,IAAIC,OAAO,IAAI,CAAC,EAAE;MACpCJ,QAAQ,CAACH,OAAO,CAAC;IACnB;EACF,CAAC;EAED,MAAMS,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAMD,aAAa,GAAG3B,gCAAmB,CACtCuB,QAAQ,CAAC,CAAC,CACVpB,KAAK,CAACQ,IAAI,CAAET,CAAC,IAAKA,CAAC,CAACG,EAAE,KAAKc,OAAO,CAAC,EAAEb,MAAM;IAE9C,IAAIqB,aAAa,KAAK,QAAQ,EAAE;MAC9BN,aAAa,CAACF,OAAO,CAAC;IACxB;EACF,CAAC;EAED,OAAO;IACLK,aAAa;IACbI;EACF,CAAC;AACH","ignoreList":[]}
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","sheetRefs","current","requestAnimationFrame","expand","close","createSheetEventHandlers","sheetId","startClosing","finishClosing","markOpen","getState","handleAnimate","fromIndex","toIndex","state","currentStatus","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,GAAGC,kBAAS,CAACX,EAAE,CAAC,EAAEY,OAAO;MAElC,QAAQT,MAAM;QACZ,KAAK,SAAS;UACZU,qBAAqB,CAAC,MAAM;YAC1BF,kBAAS,CAACX,EAAE,CAAC,EAAEY,OAAO,EAAEE,MAAM,CAAC,CAAC;UAClC,CAAC,CAAC;UACF;QACF,KAAK,QAAQ;UACX,IAAIJ,GAAG,EAAEA,GAAG,CAACK,KAAK,CAAC,CAAC;UACpB;QACF,KAAK,SAAS;UACZ,IAAIL,GAAG,EAAEA,GAAG,CAACK,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,GAC7CzB,gCAAmB,CAAC0B,QAAQ,CAAC,CAAC;EAEhC,MAAMC,aAAa,GAAGA,CAACC,SAAiB,EAAEC,OAAe,KAAK;IAC5D,MAAMC,KAAK,GAAG9B,gCAAmB,CAAC0B,QAAQ,CAAC,CAAC;IAC5C,MAAMK,aAAa,GAAGD,KAAK,CAACxB,UAAU,CAACgB,OAAO,CAAC,EAAEd,MAAM;;IAEvD;IACA,IAAIqB,OAAO,KAAK,CAAC,CAAC,EAAE;MAClB,IAAIE,aAAa,KAAK,MAAM,IAAIA,aAAa,KAAK,SAAS,EAAE;QAC3DR,YAAY,CAACD,OAAO,CAAC;MACvB;IACF;;IAEA;IACA,IAAIM,SAAS,KAAK,CAAC,CAAC,IAAIC,OAAO,IAAI,CAAC,EAAE;MACpCJ,QAAQ,CAACH,OAAO,CAAC;IACnB;EACF,CAAC;EAED,MAAMU,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAMF,KAAK,GAAG9B,gCAAmB,CAAC0B,QAAQ,CAAC,CAAC;IAC5C,MAAMK,aAAa,GAAGD,KAAK,CAACxB,UAAU,CAACgB,OAAO,CAAC,EAAEd,MAAM;IAEvD,IAAIuB,aAAa,KAAK,QAAQ,EAAE;MAC9BP,aAAa,CAACF,OAAO,CAAC;IACxB;EACF,CAAC;EAED,OAAO;IACLK,aAAa;IACbK;EACF,CAAC;AACH","ignoreList":[]}
@@ -21,10 +21,10 @@ Object.defineProperty(exports, "BottomSheetManagerProvider", {
21
21
  return _BottomSheetManager.BottomSheetManagerProvider;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "ScaleBackgroundWrapper", {
24
+ Object.defineProperty(exports, "BottomSheetScaleView", {
25
25
  enumerable: true,
26
26
  get: function () {
27
- return _ScaleBackgroundWrapper.ScaleBackgroundWrapper;
27
+ return _BottomSheetScaleView.BottomSheetScaleView;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "useBottomSheetManager", {
@@ -44,5 +44,5 @@ var _BottomSheetManager = require("./BottomSheetManager.provider");
44
44
  var _useBottomSheetManager = require("./useBottomSheetManager");
45
45
  var _useBottomSheetState = require("./useBottomSheetState");
46
46
  var _BottomSheetManaged = require("./BottomSheetManaged");
47
- var _ScaleBackgroundWrapper = require("./ScaleBackgroundWrapper");
47
+ var _BottomSheetScaleView = require("./BottomSheetScaleView");
48
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_BottomSheetHost","require","_BottomSheetManager","_useBottomSheetManager","_useBottomSheetState","_BottomSheetManaged","_ScaleBackgroundWrapper"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,uBAAA,GAAAL,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_BottomSheetHost","require","_BottomSheetManager","_useBottomSheetManager","_useBottomSheetState","_BottomSheetManaged","_BottomSheetScaleView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA","ignoreList":[]}