react-native-bottom-sheet-stack 0.1.2 → 0.1.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.
@@ -5,11 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.BottomSheetManaged = void 0;
7
7
  var _bottomSheet = _interopRequireWildcard(require("@gorhom/bottom-sheet"));
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _bottomSheet2 = require("./bottomSheet.store");
10
10
  var _useBottomSheetState = require("./useBottomSheetState");
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
14
  const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.default.forwardRef(({
@@ -26,7 +25,7 @@ const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.defa
26
25
  const {
27
26
  bottomSheetState
28
27
  } = (0, _useBottomSheetState.useBottomSheetState)();
29
- const handleOnAnimate = (from, to) => {
28
+ const handleOnAnimate = (0, _react.useCallback)((from, to) => {
30
29
  if (to === -1) {
31
30
  if (bottomSheetState.status === 'open' || bottomSheetState.status === 'opening') {
32
31
  startClosing(bottomSheetState.id);
@@ -42,18 +41,23 @@ const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.defa
42
41
  });
43
42
  }
44
43
  onAnimate?.(from, to);
45
- };
44
+ }, [bottomSheetState.id, bottomSheetState.status, onAnimate, startClosing]);
46
45
  const config = (0, _bottomSheet.useBottomSheetSpringConfigs)({
47
46
  stiffness: 400,
48
47
  damping: 80,
49
48
  mass: 0.7
50
49
  });
51
- const handleClose = () => {
50
+ const handleClose = (0, _react.useCallback)(() => {
52
51
  onClose?.();
53
52
  if (bottomSheetState.status !== 'hidden') {
54
53
  finishClosing(bottomSheetState.id);
55
54
  }
56
- };
55
+ }, [bottomSheetState.id, bottomSheetState.status, finishClosing, onClose]);
56
+ const renderBackdropComponent = (0, _react.useCallback)(backdropProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.BottomSheetBackdrop, {
57
+ ...backdropProps,
58
+ disappearsOnIndex: -1,
59
+ appearsOnIndex: 0
60
+ }), []);
57
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.default, {
58
62
  animationConfigs: config,
59
63
  ref: ref,
@@ -61,11 +65,7 @@ const BottomSheetManaged = exports.BottomSheetManaged = /*#__PURE__*/_react.defa
61
65
  onClose: handleClose,
62
66
  onAnimate: handleOnAnimate,
63
67
  enablePanDownToClose: enablePanDownToClose,
64
- backdropComponent: props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.BottomSheetBackdrop, {
65
- ...props,
66
- disappearsOnIndex: -1,
67
- appearsOnIndex: 0
68
- }),
68
+ backdropComponent: renderBackdropComponent,
69
69
  children: children
70
70
  });
71
71
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_bottomSheet","_interopRequireWildcard","require","_react","_interopRequireDefault","_bottomSheet2","_useBottomSheetState","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BottomSheetManaged","exports","React","forwardRef","children","onAnimate","onClose","enablePanDownToClose","props","ref","startClosing","finishClosing","useBottomSheetStore","getState","bottomSheetState","useBottomSheetState","handleOnAnimate","from","to","status","id","currentState","setState","stack","map","s","config","useBottomSheetSpringConfigs","stiffness","damping","mass","handleClose","jsx","animationConfigs","backdropComponent","BottomSheetBackdrop","disappearsOnIndex","appearsOnIndex"],"sourceRoot":"../../src","sources":["BottomSheetManaged.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bottomSheet","_interopRequireWildcard","require","_react","_bottomSheet2","_useBottomSheetState","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BottomSheetManaged","exports","React","forwardRef","children","onAnimate","onClose","enablePanDownToClose","props","ref","startClosing","finishClosing","useBottomSheetStore","getState","bottomSheetState","useBottomSheetState","handleOnAnimate","useCallback","from","to","status","id","currentState","setState","stack","map","s","config","useBottomSheetSpringConfigs","stiffness","damping","mass","handleClose","renderBackdropComponent","backdropProps","jsx","BottomSheetBackdrop","disappearsOnIndex","appearsOnIndex","animationConfigs","backdropComponent"],"sourceRoot":"../../src","sources":["BottomSheetManaged.tsx"],"mappings":"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","ignoreList":[]}
@@ -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"],"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,CAC3BC,CAAC,IAAIA,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,CAAC;IAAEC,EAAE;IAAEC;EAAO,CAAC,MAAM;IAAED,EAAE;IAAEC;EAAO,CAAC,CAAC,CAAC,EACtD,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,CAACC,CAAC,IAAIA,CAAC,CAACP,EAAE,KAAKA,EAAE,CAAC,EAAEC,MAAM;MAEtD,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","ignoreList":[]}
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"],"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","ignoreList":[]}
@@ -4,11 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useBottomSheetManager = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _bottomSheet = require("./bottomSheet.store");
9
9
  var _BottomSheetManager = require("./BottomSheetManager.provider");
10
10
  var _refsMap = require("./refsMap");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
13
  const useBottomSheetManager = () => {
13
14
  const bottomSheetManagerContext = (0, _BottomSheetManager.useMaybeBottomSheetManagerContext)();
14
15
  const {
@@ -26,7 +27,7 @@ const useBottomSheetManager = () => {
26
27
  stack: store.stack,
27
28
  startClosing: store.startClosing
28
29
  }));
29
- const openBottomSheet = (content, options = {}) => {
30
+ const openBottomSheet = (0, _react.useCallback)((content, options = {}) => {
30
31
  const groupId = options.groupId || bottomSheetManagerContext?.groupId || 'default';
31
32
  const id = Math.random().toString(36);
32
33
  const ref = /*#__PURE__*/_react.default.createRef();
@@ -56,19 +57,19 @@ const useBottomSheetManager = () => {
56
57
  });
57
58
  }
58
59
  return id;
59
- };
60
- const closeTop = () => {
60
+ }, [bottomSheetManagerContext?.groupId, pushBottomSheet, replaceBottomSheet, switchBottomSheet]);
61
+ const closeTop = (0, _react.useCallback)(() => {
61
62
  const top = stack.at(-1);
62
63
  if (top) {
63
64
  startClosing(top.id);
64
65
  }
65
- };
66
- const close = id => {
66
+ }, [stack, startClosing]);
67
+ const close = (0, _react.useCallback)(id => {
67
68
  startClosing(id);
68
- };
69
- const clearAll = () => {
69
+ }, [startClosing]);
70
+ const clearAll = (0, _react.useCallback)(() => {
70
71
  storeClearAll();
71
- };
72
+ }, [storeClearAll]);
72
73
  return {
73
74
  clearAll,
74
75
  closeTop,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bottomSheet","_BottomSheetManager","_refsMap","e","__esModule","default","useBottomSheetManager","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","pushBottomSheet","replaceBottomSheet","switchBottomSheet","stack","startClosing","storeClearAll","useBottomSheetStore","store","clearAll","replace","push","switch","openBottomSheet","content","options","groupId","id","Math","random","toString","ref","React","createRef","sheetRefs","contentWithRef","cloneElement","mode","closeTop","top","at","close","exports"],"sourceRoot":"../../src","sources":["useBottomSheetManager.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAAsC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG/B,MAAMG,qBAAqB,GAAGA,CAAA,KAAM;EACzC,MAAMC,yBAAyB,GAAG,IAAAC,qDAAiC,EAAC,CAAC;EAErE,MAAM;IACJC,eAAe;IACfC,kBAAkB;IAClBC,iBAAiB;IACjBC,KAAK;IACLC,YAAY;IACZC;EACF,CAAC,GAAG,IAAAC,gCAAmB,EAAEC,KAAK,KAAM;IAClCF,aAAa,EAAEE,KAAK,CAACC,QAAQ;IAC7BP,kBAAkB,EAAEM,KAAK,CAACE,OAAO;IACjCT,eAAe,EAAEO,KAAK,CAACG,IAAI;IAC3BR,iBAAiB,EAAEK,KAAK,CAACI,MAAM;IAC/BR,KAAK,EAAEI,KAAK,CAACJ,KAAK;IAClBC,YAAY,EAAEG,KAAK,CAACH;EACtB,CAAC,CAAC,CAAC;EAEH,MAAMQ,eAAe,GAAGA,CACtBC,OAA2B,EAC3BC,OAIC,GAAG,CAAC,CAAC,KACH;IACH,MAAMC,OAAO,GACXD,OAAO,CAACC,OAAO,IAAIjB,yBAAyB,EAAEiB,OAAO,IAAI,SAAS;IAEpE,MAAMC,EAAE,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC;IACrC,MAAMC,GAAG,gBAAGC,cAAK,CAACC,SAAS,CAAqB,CAAC;IAEjDC,kBAAS,CAACP,EAAE,CAAC,GAAGI,GAAG;;IAEnB;IACA,MAAMI,cAAc,gBAAGH,cAAK,CAACI,YAAY,CAACZ,OAAO,EAAE;MAAEO;IAAI,CAAC,CAAC;IAE3D,IAAIN,OAAO,CAACY,IAAI,KAAK,SAAS,EAAE;MAC9BzB,kBAAkB,CAAC;QACjBe,EAAE;QACFD,OAAO;QACPF,OAAO,EAAEW;MACX,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIV,OAAO,CAACY,IAAI,KAAK,QAAQ,EAAE;MACpCxB,iBAAiB,CAAC;QAChBc,EAAE;QACFD,OAAO;QACPF,OAAO,EAAEW;MACX,CAAC,CAAC;IACJ,CAAC,MAAM;MACLxB,eAAe,CAAC;QACdgB,EAAE;QACFD,OAAO;QACPF,OAAO,EAAEW;MACX,CAAC,CAAC;IACJ;IAEA,OAAOR,EAAE;EACX,CAAC;EAED,MAAMW,QAAQ,GAAGA,CAAA,KAAM;IACrB,MAAMC,GAAG,GAAGzB,KAAK,CAAC0B,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,IAAID,GAAG,EAAE;MACPxB,YAAY,CAACwB,GAAG,CAACZ,EAAE,CAAC;IACtB;EACF,CAAC;EAED,MAAMc,KAAK,GAAId,EAAU,IAAK;IAC5BZ,YAAY,CAACY,EAAE,CAAC;EAClB,CAAC;EAED,MAAMR,QAAQ,GAAGA,CAAA,KAAM;IACrBH,aAAa,CAAC,CAAC;EACjB,CAAC;EAED,OAAO;IACLG,QAAQ;IACRmB,QAAQ;IACRG,KAAK;IACLlB,eAAe;IACfZ,eAAe;IACfC;EACF,CAAC;AACH,CAAC;AAAC8B,OAAA,CAAAlC,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_bottomSheet","_BottomSheetManager","_refsMap","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useBottomSheetManager","bottomSheetManagerContext","useMaybeBottomSheetManagerContext","pushBottomSheet","replaceBottomSheet","switchBottomSheet","stack","startClosing","storeClearAll","useBottomSheetStore","store","clearAll","replace","push","switch","openBottomSheet","useCallback","content","options","groupId","id","Math","random","toString","ref","React","createRef","sheetRefs","contentWithRef","cloneElement","mode","closeTop","top","at","close","exports"],"sourceRoot":"../../src","sources":["useBottomSheetManager.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useBottomSheetState = useBottomSheetState;
7
+ var _react = require("react");
7
8
  var _BottomSheet = require("./BottomSheet.context");
8
9
  var _bottomSheet = require("./bottomSheet.store");
9
10
  function useBottomSheetState() {
@@ -19,7 +20,7 @@ function useBottomSheetState() {
19
20
  if (!bottomSheetState) {
20
21
  throw new Error('useBottomSheetState must be used within a BottomSheetProvider');
21
22
  }
22
- const close = () => startClosing(bottomSheetState.id);
23
+ const close = (0, _react.useCallback)(() => startClosing(bottomSheetState.id), [bottomSheetState.id, startClosing]);
23
24
  return {
24
25
  bottomSheetState,
25
26
  close,
@@ -1 +1 @@
1
- {"version":3,"names":["_BottomSheet","require","_bottomSheet","useBottomSheetState","context","useMaybeBottomSheetContext","bottomSheetsStack","startClosing","useBottomSheetStore","store","stack","bottomSheetState","find","bottomSheet","id","Error","close","closeBottomSheet"],"sourceRoot":"../../src","sources":["useBottomSheetState.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKO,SAASE,mBAAmBA,CAAA,EAIjC;EACA,MAAMC,OAAO,GAAG,IAAAC,uCAA0B,EAAC,CAAC;EAC5C,MAAM;IAAEC,iBAAiB;IAAEC;EAAa,CAAC,GAAG,IAAAC,gCAAmB,EAAEC,KAAK,KAAM;IAC1EH,iBAAiB,EAAEG,KAAK,CAACC,KAAK;IAC9BH,YAAY,EAAEE,KAAK,CAACF;EACtB,CAAC,CAAC,CAAC;EAEH,MAAMI,gBAAgB,GAAGL,iBAAiB,CAACM,IAAI,CAC5CC,WAAW,IAAKA,WAAW,CAACC,EAAE,KAAKV,OAAO,EAAEU,EAC/C,CAAC;EAED,IAAI,CAACH,gBAAgB,EAAE;IACrB,MAAM,IAAII,KAAK,CACb,+DACF,CAAC;EACH;EAEA,MAAMC,KAAK,GAAGA,CAAA,KAAMT,YAAY,CAACI,gBAAgB,CAACG,EAAE,CAAC;EAErD,OAAO;IACLH,gBAAgB;IAChBK,KAAK;IACLC,gBAAgB,EAAED;EACpB,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_BottomSheet","_bottomSheet","useBottomSheetState","context","useMaybeBottomSheetContext","bottomSheetsStack","startClosing","useBottomSheetStore","store","stack","bottomSheetState","find","bottomSheet","id","Error","close","useCallback","closeBottomSheet"],"sourceRoot":"../../src","sources":["useBottomSheetState.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKO,SAASG,mBAAmBA,CAAA,EAIjC;EACA,MAAMC,OAAO,GAAG,IAAAC,uCAA0B,EAAC,CAAC;EAC5C,MAAM;IAAEC,iBAAiB;IAAEC;EAAa,CAAC,GAAG,IAAAC,gCAAmB,EAAEC,KAAK,KAAM;IAC1EH,iBAAiB,EAAEG,KAAK,CAACC,KAAK;IAC9BH,YAAY,EAAEE,KAAK,CAACF;EACtB,CAAC,CAAC,CAAC;EAEH,MAAMI,gBAAgB,GAAGL,iBAAiB,CAACM,IAAI,CAC5CC,WAAW,IAAKA,WAAW,CAACC,EAAE,KAAKV,OAAO,EAAEU,EAC/C,CAAC;EAED,IAAI,CAACH,gBAAgB,EAAE;IACrB,MAAM,IAAII,KAAK,CACb,+DACF,CAAC;EACH;EAEA,MAAMC,KAAK,GAAG,IAAAC,kBAAW,EACvB,MAAMV,YAAY,CAACI,gBAAgB,CAACG,EAAE,CAAC,EACvC,CAACH,gBAAgB,CAACG,EAAE,EAAEP,YAAY,CACpC,CAAC;EAED,OAAO;IACLI,gBAAgB;IAChBK,KAAK;IACLE,gBAAgB,EAAEF;EACpB,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetManaged.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetManaged.tsx"],"names":[],"mappings":"AAAA,OAA4B,EAG1B,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D,UAAU,uBAAwB,SAAQ,gBAAgB;CAAG;AAE7D,eAAO,MAAM,kBAAkB,gGAsE9B,CAAC"}
1
+ {"version":3,"file":"BottomSheetManaged.d.ts","sourceRoot":"","sources":["../../../src/BottomSheetManaged.tsx"],"names":[],"mappings":"AAAA,OAA4B,EAI1B,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAsB,MAAM,OAAO,CAAC;AAQ3C,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D,UAAU,uBAAwB,SAAQ,gBAAgB;CAAG;AAE7D,eAAO,MAAM,kBAAkB,gGA2E9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBottomSheetManager.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKzE,eAAO,MAAM,qBAAqB;;;gBAoEb,MAAM;+BAhDd,KAAK,CAAC,YAAY,YAClB;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB;;;;;;;;;;;CA2DJ,CAAC"}
1
+ {"version":3,"file":"useBottomSheetManager.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKzE,eAAO,MAAM,qBAAqB;;;gBA6EzB,MAAM;+BAxDA,KAAK,CAAC,YAAY,YAClB;QACP,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB;;;;;;;;;;;CAqEN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBottomSheetState.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetState.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,mBAAmB,IAAI;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAwBA"}
1
+ {"version":3,"file":"useBottomSheetState.d.ts","sourceRoot":"","sources":["../../../src/useBottomSheetState.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,mBAAmB,IAAI;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CA2BA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-bottom-sheet-stack",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Bottom Sheet Stack Manager",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "lib/commonjs/index.js",
@@ -1,10 +1,11 @@
1
1
  import BottomSheetOriginal, {
2
2
  BottomSheetBackdrop,
3
3
  useBottomSheetSpringConfigs,
4
+ type BottomSheetBackdropProps,
4
5
  type BottomSheetProps,
5
6
  } from '@gorhom/bottom-sheet';
6
7
  import { type BottomSheetMethods } from '@gorhom/bottom-sheet/lib/typescript/types';
7
- import React from 'react';
8
+ import React, { useCallback } from 'react';
8
9
 
9
10
  import {
10
11
  useBottomSheetStore,
@@ -27,30 +28,30 @@ export const BottomSheetManaged = React.forwardRef<
27
28
  const { startClosing, finishClosing } = useBottomSheetStore.getState();
28
29
  const { bottomSheetState } = useBottomSheetState();
29
30
 
30
- const handleOnAnimate: BottomSheetProps['onAnimate'] = (
31
- from: number,
32
- to: number
33
- ) => {
34
- if (to === -1) {
35
- if (
36
- bottomSheetState.status === 'open' ||
37
- bottomSheetState.status === 'opening'
38
- ) {
39
- startClosing(bottomSheetState.id);
31
+ const handleOnAnimate: BottomSheetProps['onAnimate'] = useCallback(
32
+ (from: number, to: number) => {
33
+ if (to === -1) {
34
+ if (
35
+ bottomSheetState.status === 'open' ||
36
+ bottomSheetState.status === 'opening'
37
+ ) {
38
+ startClosing(bottomSheetState.id);
39
+ }
40
40
  }
41
- }
42
- if (from === -1 && to >= 0) {
43
- const currentState = useBottomSheetStore.getState();
44
- useBottomSheetStore.setState({
45
- stack: currentState.stack.map((s) =>
46
- s.id === bottomSheetState.id
47
- ? { ...s, status: 'open' as BottomSheetStatus }
48
- : s
49
- ),
50
- });
51
- }
52
- onAnimate?.(from, to);
53
- };
41
+ if (from === -1 && to >= 0) {
42
+ const currentState = useBottomSheetStore.getState();
43
+ useBottomSheetStore.setState({
44
+ stack: currentState.stack.map((s) =>
45
+ s.id === bottomSheetState.id
46
+ ? { ...s, status: 'open' as BottomSheetStatus }
47
+ : s
48
+ ),
49
+ });
50
+ }
51
+ onAnimate?.(from, to);
52
+ },
53
+ [bottomSheetState.id, bottomSheetState.status, onAnimate, startClosing]
54
+ );
54
55
 
55
56
  const config = useBottomSheetSpringConfigs({
56
57
  stiffness: 400,
@@ -58,13 +59,24 @@ export const BottomSheetManaged = React.forwardRef<
58
59
  mass: 0.7,
59
60
  });
60
61
 
61
- const handleClose = () => {
62
+ const handleClose = useCallback(() => {
62
63
  onClose?.();
63
64
 
64
65
  if (bottomSheetState.status !== 'hidden') {
65
66
  finishClosing(bottomSheetState.id);
66
67
  }
67
- };
68
+ }, [bottomSheetState.id, bottomSheetState.status, finishClosing, onClose]);
69
+
70
+ const renderBackdropComponent = useCallback(
71
+ (backdropProps: BottomSheetBackdropProps) => (
72
+ <BottomSheetBackdrop
73
+ {...backdropProps}
74
+ disappearsOnIndex={-1}
75
+ appearsOnIndex={0}
76
+ />
77
+ ),
78
+ []
79
+ );
68
80
 
69
81
  return (
70
82
  <BottomSheetOriginal
@@ -74,13 +86,7 @@ export const BottomSheetManaged = React.forwardRef<
74
86
  onClose={handleClose}
75
87
  onAnimate={handleOnAnimate}
76
88
  enablePanDownToClose={enablePanDownToClose}
77
- backdropComponent={(props) => (
78
- <BottomSheetBackdrop
79
- {...props}
80
- disappearsOnIndex={-1}
81
- appearsOnIndex={0}
82
- />
83
- )}
89
+ backdropComponent={renderBackdropComponent}
84
90
  >
85
91
  {children}
86
92
  </BottomSheetOriginal>
@@ -15,7 +15,7 @@ function BottomSheetManagerProviderComp({ id, children }: Props) {
15
15
  }
16
16
 
17
17
  export const BottomSheetManagerProvider = React.memo(
18
- BottomSheetManagerProviderComp,
18
+ BottomSheetManagerProviderComp
19
19
  );
20
20
 
21
21
  export const useBottomSheetManagerContext = () => {
@@ -23,7 +23,7 @@ export const useBottomSheetManagerContext = () => {
23
23
 
24
24
  if (!context) {
25
25
  throw new Error(
26
- 'useBottomSheetManagerContext must be used within a BottomSheetManagerProvider',
26
+ 'useBottomSheetManagerContext must be used within a BottomSheetManagerProvider'
27
27
  );
28
28
  }
29
29
  return context;
@@ -3,10 +3,10 @@ import { sheetRefs } from './refsMap';
3
3
 
4
4
  export function initBottomSheetCoordinator() {
5
5
  useBottomSheetStore.subscribe(
6
- s => s.stack.map(({ id, status }) => ({ id, status })),
6
+ (s) => s.stack.map(({ id, status }) => ({ id, status })),
7
7
  (next, prev) => {
8
8
  next.forEach(({ id, status }) => {
9
- const prevStatus = prev.find(p => p.id === id)?.status;
9
+ const prevStatus = prev.find((p) => p.id === id)?.status;
10
10
 
11
11
  if (prevStatus === status) {
12
12
  return;
@@ -29,6 +29,6 @@ export function initBottomSheetCoordinator() {
29
29
  break;
30
30
  }
31
31
  });
32
- },
32
+ }
33
33
  );
34
34
  }
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useCallback } from 'react';
2
2
 
3
3
  import { useBottomSheetStore, type OpenMode } from './bottomSheet.store';
4
4
  import { useMaybeBottomSheetManagerContext } from './BottomSheetManager.provider';
@@ -24,62 +24,73 @@ export const useBottomSheetManager = () => {
24
24
  startClosing: store.startClosing,
25
25
  }));
26
26
 
27
- const openBottomSheet = (
28
- content: React.ReactElement,
29
- options: {
30
- id?: string;
31
- groupId?: string;
32
- mode?: OpenMode;
33
- } = {}
34
- ) => {
35
- const groupId =
36
- options.groupId || bottomSheetManagerContext?.groupId || 'default';
27
+ const openBottomSheet = useCallback(
28
+ (
29
+ content: React.ReactElement,
30
+ options: {
31
+ id?: string;
32
+ groupId?: string;
33
+ mode?: OpenMode;
34
+ } = {}
35
+ ) => {
36
+ const groupId =
37
+ options.groupId || bottomSheetManagerContext?.groupId || 'default';
37
38
 
38
- const id = Math.random().toString(36);
39
- const ref = React.createRef<BottomSheetMethods>();
39
+ const id = Math.random().toString(36);
40
+ const ref = React.createRef<BottomSheetMethods>();
40
41
 
41
- sheetRefs[id] = ref;
42
+ sheetRefs[id] = ref;
42
43
 
43
- // @ts-ignore
44
- const contentWithRef = React.cloneElement(content, { ref });
44
+ // @ts-ignore
45
+ const contentWithRef = React.cloneElement(content, { ref });
45
46
 
46
- if (options.mode === 'replace') {
47
- replaceBottomSheet({
48
- id,
49
- groupId,
50
- content: contentWithRef,
51
- });
52
- } else if (options.mode === 'switch') {
53
- switchBottomSheet({
54
- id,
55
- groupId,
56
- content: contentWithRef,
57
- });
58
- } else {
59
- pushBottomSheet({
60
- id,
61
- groupId,
62
- content: contentWithRef,
63
- });
64
- }
47
+ if (options.mode === 'replace') {
48
+ replaceBottomSheet({
49
+ id,
50
+ groupId,
51
+ content: contentWithRef,
52
+ });
53
+ } else if (options.mode === 'switch') {
54
+ switchBottomSheet({
55
+ id,
56
+ groupId,
57
+ content: contentWithRef,
58
+ });
59
+ } else {
60
+ pushBottomSheet({
61
+ id,
62
+ groupId,
63
+ content: contentWithRef,
64
+ });
65
+ }
65
66
 
66
- return id;
67
- };
67
+ return id;
68
+ },
69
+ [
70
+ bottomSheetManagerContext?.groupId,
71
+ pushBottomSheet,
72
+ replaceBottomSheet,
73
+ switchBottomSheet,
74
+ ]
75
+ );
68
76
 
69
- const closeTop = () => {
77
+ const closeTop = useCallback(() => {
70
78
  const top = stack.at(-1);
71
79
  if (top) {
72
80
  startClosing(top.id);
73
81
  }
74
- };
82
+ }, [stack, startClosing]);
75
83
 
76
- const close = (id: string) => {
77
- startClosing(id);
78
- };
84
+ const close = useCallback(
85
+ (id: string) => {
86
+ startClosing(id);
87
+ },
88
+ [startClosing]
89
+ );
79
90
 
80
- const clearAll = () => {
91
+ const clearAll = useCallback(() => {
81
92
  storeClearAll();
82
- };
93
+ }, [storeClearAll]);
83
94
 
84
95
  return {
85
96
  clearAll,
@@ -1,3 +1,4 @@
1
+ import { useCallback } from 'react';
1
2
  import { useMaybeBottomSheetContext } from './BottomSheet.context';
2
3
  import {
3
4
  useBottomSheetStore,
@@ -25,7 +26,10 @@ export function useBottomSheetState(): {
25
26
  );
26
27
  }
27
28
 
28
- const close = () => startClosing(bottomSheetState.id);
29
+ const close = useCallback(
30
+ () => startClosing(bottomSheetState.id),
31
+ [bottomSheetState.id, startClosing]
32
+ );
29
33
 
30
34
  return {
31
35
  bottomSheetState,