@niibase/bottom-sheet-manager 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +372 -38
  2. package/lib/commonjs/events.js +100 -15
  3. package/lib/commonjs/events.js.map +1 -1
  4. package/lib/commonjs/index.js +7 -0
  5. package/lib/commonjs/index.js.map +1 -1
  6. package/lib/commonjs/manager.js +107 -29
  7. package/lib/commonjs/manager.js.map +1 -1
  8. package/lib/commonjs/provider.js +69 -28
  9. package/lib/commonjs/provider.js.map +1 -1
  10. package/lib/commonjs/router/index.js +50 -21
  11. package/lib/commonjs/router/index.js.map +1 -1
  12. package/lib/commonjs/router/router.js +137 -12
  13. package/lib/commonjs/router/router.js.map +1 -1
  14. package/lib/commonjs/router/view.js +194 -84
  15. package/lib/commonjs/router/view.js.map +1 -1
  16. package/lib/commonjs/sheet.js +125 -76
  17. package/lib/commonjs/sheet.js.map +1 -1
  18. package/lib/module/events.js +100 -15
  19. package/lib/module/events.js.map +1 -1
  20. package/lib/module/index.js +1 -1
  21. package/lib/module/index.js.map +1 -1
  22. package/lib/module/manager.js +108 -29
  23. package/lib/module/manager.js.map +1 -1
  24. package/lib/module/provider.js +65 -25
  25. package/lib/module/provider.js.map +1 -1
  26. package/lib/module/router/index.js +34 -18
  27. package/lib/module/router/index.js.map +1 -1
  28. package/lib/module/router/router.js +135 -11
  29. package/lib/module/router/router.js.map +1 -1
  30. package/lib/module/router/view.js +194 -84
  31. package/lib/module/router/view.js.map +1 -1
  32. package/lib/module/sheet.js +127 -78
  33. package/lib/module/sheet.js.map +1 -1
  34. package/lib/typescript/events.d.ts +46 -12
  35. package/lib/typescript/events.d.ts.map +1 -1
  36. package/lib/typescript/index.d.ts +1 -1
  37. package/lib/typescript/index.d.ts.map +1 -1
  38. package/lib/typescript/manager.d.ts +57 -7
  39. package/lib/typescript/manager.d.ts.map +1 -1
  40. package/lib/typescript/provider.d.ts +22 -3
  41. package/lib/typescript/provider.d.ts.map +1 -1
  42. package/lib/typescript/router/index.d.ts +33 -17
  43. package/lib/typescript/router/index.d.ts.map +1 -1
  44. package/lib/typescript/router/router.d.ts +44 -5
  45. package/lib/typescript/router/router.d.ts.map +1 -1
  46. package/lib/typescript/router/types.d.ts +113 -17
  47. package/lib/typescript/router/types.d.ts.map +1 -1
  48. package/lib/typescript/router/view.d.ts +1 -1
  49. package/lib/typescript/router/view.d.ts.map +1 -1
  50. package/lib/typescript/sheet.d.ts.map +1 -1
  51. package/lib/typescript/types.d.ts +27 -12
  52. package/lib/typescript/types.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/src/events.ts +118 -27
  55. package/src/index.ts +6 -5
  56. package/src/manager.ts +156 -33
  57. package/src/provider.tsx +98 -44
  58. package/src/router/index.tsx +38 -31
  59. package/src/router/router.ts +184 -15
  60. package/src/router/types.ts +119 -22
  61. package/src/router/view.tsx +252 -132
  62. package/src/sheet.tsx +176 -95
  63. package/src/types.ts +144 -129
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SheetManager = exports.PrivateManager = void 0;
7
- var _events = require("./events");
8
7
  var _provider = require("./provider");
8
+ var _events = require("./events");
9
9
  // Array of all the ids of Sheets currently rendered in the app.
10
10
  const ids = [];
11
11
  const keys = [];
@@ -13,12 +13,12 @@ const refs = {};
13
13
  const DEFAULT_Z_INDEX = 999;
14
14
  const makeKey = (id, context) => `${id}:${context}`;
15
15
  const PrivateManager = exports.PrivateManager = {
16
- // Return to the previous sheet when the current sheet is closed.
16
+ // Stack of sheet history for restoration when sheets are closed
17
17
  history: [],
18
18
  context(options) {
19
19
  if (!options) options = {};
20
20
  if (!options?.context) {
21
- // If no context is provided, use to current top most context
21
+ // If no context is provided, use the current top-most context
22
22
  // to render the sheet.
23
23
  for (const context of _provider.providerRegistryStack.slice().reverse()) {
24
24
  // We only automatically select nested sheet providers.
@@ -33,10 +33,11 @@ const PrivateManager = exports.PrivateManager = {
33
33
  registerRef: (id, context, instance) => {
34
34
  const key = makeKey(id, context);
35
35
  refs[key] = instance;
36
- keys.push(key);
36
+ if (!keys.includes(key)) {
37
+ keys.push(key);
38
+ }
37
39
  },
38
40
  /**
39
- *
40
41
  * Get internal ref of a sheet by the given id.
41
42
  *
42
43
  * @param id Id of the sheet
@@ -44,8 +45,8 @@ const PrivateManager = exports.PrivateManager = {
44
45
  */
45
46
  get: (id, context) => {
46
47
  if (!context) {
47
- for (let ctx of _provider.providerRegistryStack.slice().reverse()) {
48
- for (let _id in _provider.sheetsRegistry[ctx]) {
48
+ for (const ctx of _provider.providerRegistryStack.slice().reverse()) {
49
+ for (const _id in _provider.sheetsRegistry[ctx]) {
49
50
  if (_id === id) {
50
51
  context = ctx;
51
52
  break;
@@ -56,25 +57,52 @@ const PrivateManager = exports.PrivateManager = {
56
57
  return refs[makeKey(id, context)];
57
58
  },
58
59
  add: (id, context) => {
59
- if (ids.indexOf(id) < 0) {
60
- ids[ids.length] = makeKey(id, context);
60
+ const key = makeKey(id, context);
61
+ if (!ids.includes(key)) {
62
+ ids.push(key);
61
63
  }
62
64
  },
63
65
  remove: (id, context) => {
64
- if (ids.indexOf(makeKey(id, context)) > -1) {
65
- ids.splice(ids.indexOf(makeKey(id, context)));
66
+ const key = makeKey(id, context);
67
+ const index = ids.indexOf(key);
68
+ if (index > -1) {
69
+ ids.splice(index, 1);
66
70
  }
67
71
  },
68
72
  zIndex: (id, context = "global") => {
69
73
  const index = keys.indexOf(makeKey(id, context));
70
74
  return index > -1 ? DEFAULT_Z_INDEX + index + 1 : DEFAULT_Z_INDEX;
71
75
  },
72
- stack: () => ids.map(id => {
76
+ stack: () => ids.map(id => ({
77
+ id: id.split(":")[0],
78
+ context: id.split(":")?.[1] || "global"
79
+ })),
80
+ /**
81
+ * Get the top-most sheet in the stack
82
+ */
83
+ topSheet: () => {
84
+ if (ids.length === 0) return null;
85
+ const topId = ids[ids.length - 1];
73
86
  return {
74
- id: id.split(":")[0],
75
- context: id.split(":")?.[1] || "global"
87
+ id: topId.split(":")[0],
88
+ context: topId.split(":")?.[1] || "global"
76
89
  };
77
- })
90
+ },
91
+ /**
92
+ * Check if a sheet is currently visible
93
+ */
94
+ isSheetVisible: (id, context) => {
95
+ if (context) {
96
+ return ids.includes(makeKey(id, context));
97
+ }
98
+ return ids.some(key => key.startsWith(`${id}:`));
99
+ },
100
+ /**
101
+ * Clear all history entries
102
+ */
103
+ clearHistory: () => {
104
+ PrivateManager.history = [];
105
+ }
78
106
  };
79
107
  class _SheetManager {
80
108
  /**
@@ -89,30 +117,38 @@ class _SheetManager {
89
117
  ...options,
90
118
  id: id
91
119
  });
92
- const handler = (data, context = "global") => {
120
+ const behavior = options?.stackBehavior ?? "switch";
121
+ const handler = (data, context = "global", _reopened, _behavior) => {
93
122
  if (context !== "global" && currentContext && currentContext !== context) return;
94
123
  options?.onClose?.(data);
95
124
  sub?.unsubscribe();
96
125
  resolve(data);
97
126
  };
98
- var sub = _events.eventManager.subscribe(`onclose_${id}`, handler);
99
- PrivateManager.stack().forEach(({
100
- id,
101
- context
102
- }) => {
103
- _events.eventManager.publish(`hide_${id}`, undefined, context, true);
104
- });
127
+ const sub = _events.eventManager.subscribe(`onclose_${id}`, handler);
128
+
129
+ // Handle existing sheets based on stack behavior
130
+ const currentStack = PrivateManager.stack();
131
+ if (currentStack.length > 0) {
132
+ currentStack.forEach(({
133
+ id: sheetId,
134
+ context
135
+ }) => {
136
+ _events.eventManager.publish(`hide_${sheetId}`, undefined, context, true, behavior);
137
+ });
138
+ }
105
139
 
106
140
  // Check if the sheet is registered with any `SheetProviders`.
107
141
  let isRegisteredWithSheetProvider = false;
108
- for (let ctx in _provider.sheetsRegistry) {
109
- for (let _id in _provider.sheetsRegistry[ctx]) {
142
+ for (const ctx in _provider.sheetsRegistry) {
143
+ for (const _id in _provider.sheetsRegistry[ctx]) {
110
144
  if (_id === id) {
111
145
  isRegisteredWithSheetProvider = true;
146
+ break;
112
147
  }
113
148
  }
149
+ if (isRegisteredWithSheetProvider) break;
114
150
  }
115
- _events.eventManager.publish(isRegisteredWithSheetProvider ? `show_wrap_${id}` : `show_${id}`, options?.payload, currentContext || "global");
151
+ _events.eventManager.publish(isRegisteredWithSheetProvider ? `show_wrap_${id}` : `show_${id}`, options?.payload, currentContext || "global", false, behavior);
116
152
  });
117
153
  }
118
154
 
@@ -120,10 +156,10 @@ class _SheetManager {
120
156
  * An async hide function. This is useful when you want to show one Sheet after closing another.
121
157
  *
122
158
  * @param id id of the Sheet to show
123
- * @param data
159
+ * @param options
124
160
  */
125
161
  async hide(id, options) {
126
- let currentContext = PrivateManager.context({
162
+ const currentContext = PrivateManager.context({
127
163
  ...options,
128
164
  id: id
129
165
  });
@@ -143,7 +179,7 @@ class _SheetManager {
143
179
  sub?.unsubscribe();
144
180
  resolve(data);
145
181
  };
146
- var sub = _events.eventManager.subscribe(`onclose_${id}`, hideHandler);
182
+ const sub = _events.eventManager.subscribe(`onclose_${id}`, hideHandler);
147
183
  _events.eventManager.publish(isRegisteredWithSheetProvider ? `hide_wrap_${id}` : `hide_${id}`, options?.payload, !isRegisteredWithSheetProvider ? "global" : currentContext);
148
184
  });
149
185
  }
@@ -154,6 +190,8 @@ class _SheetManager {
154
190
  * @param id Hide all sheets for the specific id.
155
191
  */
156
192
  hideAll(id) {
193
+ // Clear history when hiding all sheets
194
+ PrivateManager.clearHistory();
157
195
  PrivateManager.stack().forEach(({
158
196
  id: _id,
159
197
  context
@@ -162,6 +200,46 @@ class _SheetManager {
162
200
  _events.eventManager.publish(`hide_${_id}`, undefined, context);
163
201
  });
164
202
  }
203
+
204
+ /**
205
+ * Replace the current sheet with a new one using crossfade animation.
206
+ * This is a convenience method for show() with stackBehavior: 'replace'.
207
+ */
208
+ async replace(id, options) {
209
+ return this.show(id, {
210
+ ...options,
211
+ stackBehavior: "replace"
212
+ });
213
+ }
214
+
215
+ /**
216
+ * Push a new sheet on top of the current one, creating a stack.
217
+ * This is a convenience method for show() with stackBehavior: 'push'.
218
+ */
219
+ async push(id, options) {
220
+ return this.show(id, {
221
+ ...options,
222
+ stackBehavior: "push"
223
+ });
224
+ }
225
+
226
+ /**
227
+ * Pop the top sheet from the stack and restore the previous one.
228
+ * Only works when sheets were opened with stackBehavior: 'push'.
229
+ */
230
+ pop() {
231
+ const topSheet = PrivateManager.topSheet();
232
+ if (topSheet) {
233
+ _events.eventManager.publish(`hide_${topSheet.id}`, undefined, topSheet.context);
234
+ }
235
+ }
236
+
237
+ /**
238
+ * Check if a specific sheet is currently visible.
239
+ */
240
+ isVisible(id, context) {
241
+ return PrivateManager.isSheetVisible(id, context);
242
+ }
165
243
  }
166
244
 
167
245
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","_provider","ids","keys","refs","DEFAULT_Z_INDEX","makeKey","id","context","PrivateManager","exports","history","options","providerRegistryStack","slice","reverse","startsWith","includes","registerRef","instance","key","push","get","ctx","_id","sheetsRegistry","add","indexOf","length","remove","splice","zIndex","index","stack","map","split","_SheetManager","show","Promise","resolve","currentContext","handler","data","onClose","sub","unsubscribe","eventManager","subscribe","forEach","publish","undefined","isRegisteredWithSheetProvider","payload","hide","hideHandler","hideAll","SheetManager"],"sourceRoot":"../../src","sources":["manager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_provider","require","_events","ids","keys","refs","DEFAULT_Z_INDEX","makeKey","id","context","PrivateManager","exports","history","options","providerRegistryStack","slice","reverse","startsWith","includes","registerRef","instance","key","push","get","ctx","_id","sheetsRegistry","add","remove","index","indexOf","splice","zIndex","stack","map","split","topSheet","length","topId","isSheetVisible","some","clearHistory","_SheetManager","show","Promise","resolve","currentContext","behavior","stackBehavior","handler","data","_reopened","_behavior","onClose","sub","unsubscribe","eventManager","subscribe","currentStack","forEach","sheetId","publish","undefined","isRegisteredWithSheetProvider","payload","hide","hideHandler","hideAll","replace","pop","isVisible","SheetManager"],"sourceRoot":"../../src","sources":["manager.ts"],"mappings":"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","ignoreList":[]}
@@ -10,15 +10,15 @@ exports.sheetsRegistry = void 0;
10
10
  exports.useOnSheet = useOnSheet;
11
11
  exports.useSheetIDContext = exports.useSheetAnimationContext = exports.useProviderContext = void 0;
12
12
  exports.useSheetPayload = useSheetPayload;
13
- exports.useSheetRef = void 0;
13
+ exports.useStackBehaviorContext = exports.useSheetRef = void 0;
14
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
14
15
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
15
16
  var _bottomSheet = require("@gorhom/bottom-sheet");
16
17
  var _reactNative = require("react-native");
17
18
  var _react = _interopRequireDefault(require("react"));
18
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
19
19
  var _events = require("./events");
20
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
22
22
  const providerRegistryStack = exports.providerRegistryStack = [];
23
23
 
24
24
  /**
@@ -38,6 +38,11 @@ function registerSheet(id, Sheet, ...contexts) {
38
38
  }
39
39
  }
40
40
 
41
+ /**
42
+ * Animation configuration for iOS modal sheet style animations.
43
+ * @deprecated Use duration prop directly instead
44
+ */
45
+
41
46
  /**
42
47
  * The SheetProvider makes available the sheets in a given context. The default context is
43
48
  * `global`. However if you want to render a Sheet within another sheet or if you want to render
@@ -59,7 +64,7 @@ function registerSheet(id, Sheet, ...contexts) {
59
64
  function SheetProvider({
60
65
  iosModalSheetTypeOfAnimation = false,
61
66
  context = "global",
62
- duration = 300,
67
+ duration = 150,
63
68
  children
64
69
  }) {
65
70
  const {
@@ -68,25 +73,24 @@ function SheetProvider({
68
73
  const [, forceUpdate] = _react.default.useReducer(x => x + 1, 0);
69
74
  const sheetIds = Object.keys(sheetsRegistry[context] || sheetsRegistry["global"] || {});
70
75
 
71
- // Rerender when a new sheet is added.
72
- const onRegister = _react.default.useCallback(forceUpdate, [forceUpdate]);
73
-
74
76
  // IOS modal sheet type of animation
75
77
  const isFullScreen = (0, _reactNativeReanimated.useSharedValue)(-1);
76
78
  const colorStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
77
79
  flex: 1,
78
- backgroundColor: (0, _reactNativeReanimated.interpolateColor)(isFullScreen.value, [0, 1], ["transparent", "#000"])
80
+ backgroundColor: (0, _reactNativeReanimated.withSpring)((0, _reactNativeReanimated.interpolateColor)(isFullScreen.value, [0, 1], ["transparent", "#000"]), {
81
+ duration
82
+ })
79
83
  }));
80
84
  const animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
81
85
  flex: 1,
82
86
  overflow: "hidden",
83
87
  borderRadius: (0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 0.8, 1], [0, 20, 24], "clamp"),
84
88
  transform: [{
85
- scaleX: (0, _reactNativeReanimated.withTiming)((0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 0.98, 1], [1, 1, 0.92], "clamp"), {
89
+ scaleX: (0, _reactNativeReanimated.withSpring)((0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 0.8], [1, 0.92], "clamp"), {
86
90
  duration
87
91
  })
88
92
  }, {
89
- translateY: (0, _reactNativeReanimated.withSpring)((0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 0.99, 1], [0, top, top + 5], "clamp"), {
93
+ translateY: (0, _reactNativeReanimated.withSpring)((0, _reactNativeReanimated.interpolate)(isFullScreen.value, [0, 0.8, 1], [0, top, top + 5], "clamp"), {
90
94
  duration,
91
95
  dampingRatio: 1.5
92
96
  })
@@ -104,16 +108,17 @@ function SheetProvider({
104
108
  }, []);
105
109
  _react.default.useEffect(() => {
106
110
  providerRegistryStack.indexOf(context) > -1 ? providerRegistryStack.indexOf(context) : providerRegistryStack.push(context) - 1;
107
- const unsub = _events.eventManager.subscribe(`${context}-on-register`, onRegister);
111
+ const unsub = _events.eventManager.subscribe(`${context}-on-register`, forceUpdate);
108
112
  return () => {
109
113
  providerRegistryStack.splice(providerRegistryStack.indexOf(context), 1);
110
114
  unsub?.unsubscribe();
111
115
  };
112
- }, [context, onRegister]);
116
+ }, [context, forceUpdate]);
113
117
  return /*#__PURE__*/_react.default.createElement(SheetAnimationContext.Provider, {
114
118
  value: {
115
119
  isFullScreen,
116
- iosModalSheetTypeOfAnimation
120
+ iosModalSheetTypeOfAnimation,
121
+ duration
117
122
  }
118
123
  }, /*#__PURE__*/_react.default.createElement(_reactNativeReanimated.default.View, {
119
124
  style: colorStyle
@@ -122,8 +127,7 @@ function SheetProvider({
122
127
  }, children)), /*#__PURE__*/_react.default.createElement(_bottomSheet.BottomSheetModalProvider, null, sheetIds.map(id => /*#__PURE__*/_react.default.createElement(RenderSheet, {
123
128
  key: id,
124
129
  id: id,
125
- context: context,
126
- duration: duration
130
+ context: context
127
131
  }))));
128
132
  }
129
133
  const ProviderContext = /*#__PURE__*/_react.default.createContext("global");
@@ -132,11 +136,20 @@ const SheetAnimationContext = /*#__PURE__*/_react.default.createContext({
132
136
  isFullScreen: {
133
137
  value: 0
134
138
  },
135
- iosModalSheetTypeOfAnimation: false
139
+ iosModalSheetTypeOfAnimation: false,
140
+ duration: 300
136
141
  });
137
142
  const SheetRefContext = exports.SheetRefContext = /*#__PURE__*/_react.default.createContext({});
138
143
  const SheetPayloadContext = /*#__PURE__*/_react.default.createContext(undefined);
139
144
 
145
+ // Stack behavior context for managing sheet transitions
146
+
147
+ const StackBehaviorContext = /*#__PURE__*/_react.default.createContext({
148
+ behavior: "switch",
149
+ isTransitioning: false,
150
+ previousSheetId: null
151
+ });
152
+
140
153
  /**
141
154
  * Get id of the current context.
142
155
  */
@@ -152,9 +165,14 @@ const useSheetIDContext = () => _react.default.useContext(SheetIDContext);
152
165
  exports.useSheetIDContext = useSheetIDContext;
153
166
  const useSheetAnimationContext = () => _react.default.useContext(SheetAnimationContext);
154
167
  /**
155
- * Get the current Sheet's internal ref.
168
+ * Get stack behavior context for the current sheet.
156
169
  */
157
170
  exports.useSheetAnimationContext = useSheetAnimationContext;
171
+ const useStackBehaviorContext = () => _react.default.useContext(StackBehaviorContext);
172
+ /**
173
+ * Get the current Sheet's internal ref.
174
+ */
175
+ exports.useStackBehaviorContext = useStackBehaviorContext;
158
176
  const useSheetRef = () => _react.default.useContext(SheetRefContext);
159
177
 
160
178
  /**
@@ -172,29 +190,44 @@ function useOnSheet(id, type, listener) {
172
190
  _react.default.useEffect(() => {
173
191
  const subscription = _events.eventManager.subscribe(`${type}_${id}`, listener);
174
192
  return () => subscription.unsubscribe();
175
- }, [id, listener]);
193
+ }, [id, listener, type]);
176
194
  }
177
195
  const RenderSheet = ({
178
196
  id,
179
- context,
180
- duration
197
+ context
181
198
  }) => {
182
199
  const [payload, setPayload] = _react.default.useState();
183
200
  const [visible, setVisible] = _react.default.useState(false);
201
+ const [stackBehavior, setStackBehavior] = _react.default.useState("switch");
202
+ const [isPending, startTransition] = _react.default.useTransition();
203
+ const [previousSheetId, setPreviousSheetId] = _react.default.useState(null);
184
204
  const ref = _react.default.useRef(null);
185
205
  const Sheet = context.startsWith("$$-auto-") ? sheetsRegistry?.global?.[id] : sheetsRegistry[context] ? sheetsRegistry[context]?.[id] : undefined;
186
- const onShow = _react.default.useCallback((data, ctx = "global", reopened) => {
206
+ const onShow = _react.default.useCallback((data, ctx = "global", reopened, behavior) => {
187
207
  if (ctx !== context) return;
188
- if (!reopened) setPayload(data);
189
- setVisible(true);
208
+ if (behavior) {
209
+ setStackBehavior(behavior);
210
+ }
211
+ if (!reopened) {
212
+ setPayload(data);
213
+ }
214
+
215
+ // Smooth transition handling using React's useTransition
216
+ startTransition(() => {
217
+ setVisible(true);
218
+ });
190
219
  }, [context]);
191
- const onClose = _react.default.useCallback((_data, ctx = "global", reopened) => {
220
+ const onClose = _react.default.useCallback((_data, ctx = "global", reopened, nextSheetId) => {
192
221
  if (context !== ctx) return;
222
+ if (nextSheetId) {
223
+ setPreviousSheetId(nextSheetId);
224
+ }
193
225
  if (!reopened) {
194
226
  setPayload(undefined);
195
- setTimeout(() => setVisible(false), Math.max(duration ?? 300, 300));
227
+ setVisible(false);
196
228
  } else {
197
229
  setVisible(false);
230
+ setPreviousSheetId(null);
198
231
  }
199
232
  }, [context]);
200
233
  const onHide = _react.default.useCallback((data, ctx = "global") => {
@@ -206,13 +239,19 @@ const RenderSheet = ({
206
239
  }
207
240
  }, [context, id, payload, visible]);
208
241
  _react.default.useEffect(() => {
209
- let subs = [_events.eventManager.subscribe(`show_wrap_${id}`, onShow), _events.eventManager.subscribe(`onclose_${id}`, onClose), _events.eventManager.subscribe(`hide_wrap_${id}`, onHide)];
242
+ const subs = [_events.eventManager.subscribe(`show_wrap_${id}`, onShow), _events.eventManager.subscribe(`onclose_${id}`, onClose), _events.eventManager.subscribe(`hide_wrap_${id}`, onHide)];
210
243
  return () => {
211
244
  subs.forEach(s => s.unsubscribe());
212
245
  };
213
246
  }, [id, context, onShow, onHide, onClose]);
214
247
  if (!Sheet) return null;
215
- return visible ? /*#__PURE__*/_react.default.createElement(ProviderContext.Provider, {
248
+ const stackContextValue = {
249
+ behavior: stackBehavior,
250
+ isTransitioning: isPending,
251
+ previousSheetId
252
+ };
253
+ if (!visible) return null;
254
+ return /*#__PURE__*/_react.default.createElement(ProviderContext.Provider, {
216
255
  value: context
217
256
  }, /*#__PURE__*/_react.default.createElement(SheetIDContext.Provider, {
218
257
  value: id
@@ -220,10 +259,12 @@ const RenderSheet = ({
220
259
  value: ref
221
260
  }, /*#__PURE__*/_react.default.createElement(SheetPayloadContext.Provider, {
222
261
  value: payload
262
+ }, /*#__PURE__*/_react.default.createElement(StackBehaviorContext.Provider, {
263
+ value: stackContextValue
223
264
  }, /*#__PURE__*/_react.default.createElement(Sheet, {
224
265
  id: id,
225
266
  payload: payload,
226
267
  context: context
227
- }))))) : null;
268
+ }))))));
228
269
  };
229
270
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeSafeAreaContext","require","_bottomSheet","_reactNative","_react","_interopRequireDefault","_reactNativeReanimated","_interopRequireWildcard","_events","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","providerRegistryStack","exports","sheetsRegistry","global","registerSheet","id","Sheet","contexts","length","context","registry","eventManager","publish","SheetProvider","iosModalSheetTypeOfAnimation","duration","children","top","useSafeAreaInsets","forceUpdate","React","useReducer","x","sheetIds","keys","onRegister","useCallback","isFullScreen","useSharedValue","colorStyle","useAnimatedStyle","flex","backgroundColor","interpolateColor","value","animatedStyle","overflow","borderRadius","interpolate","transform","scaleX","withTiming","translateY","withSpring","dampingRatio","setStatusBar","StatusBar","setBarStyle","useAnimatedReaction","currentValue","runOnJS","useEffect","indexOf","push","unsub","subscribe","splice","unsubscribe","createElement","SheetAnimationContext","Provider","View","style","BottomSheetModalProvider","map","RenderSheet","key","ProviderContext","createContext","SheetIDContext","undefined","SheetRefContext","SheetPayloadContext","useProviderContext","useContext","useSheetIDContext","useSheetAnimationContext","useSheetRef","useSheetPayload","useOnSheet","type","listener","subscription","payload","setPayload","useState","visible","setVisible","ref","useRef","startsWith","onShow","data","ctx","reopened","onClose","_data","setTimeout","Math","max","onHide","subs","forEach","s"],"sourceRoot":"../../src","sources":["provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_reactNativeSafeAreaContext","_bottomSheet","_reactNative","_react","_interopRequireDefault","_events","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","providerRegistryStack","exports","sheetsRegistry","global","registerSheet","id","Sheet","contexts","length","context","registry","eventManager","publish","SheetProvider","iosModalSheetTypeOfAnimation","duration","children","top","useSafeAreaInsets","forceUpdate","React","useReducer","x","sheetIds","keys","isFullScreen","useSharedValue","colorStyle","useAnimatedStyle","flex","backgroundColor","withSpring","interpolateColor","value","animatedStyle","overflow","borderRadius","interpolate","transform","scaleX","translateY","dampingRatio","setStatusBar","StatusBar","setBarStyle","useAnimatedReaction","currentValue","runOnJS","useEffect","indexOf","push","unsub","subscribe","splice","unsubscribe","createElement","SheetAnimationContext","Provider","View","style","BottomSheetModalProvider","map","RenderSheet","key","ProviderContext","createContext","SheetIDContext","undefined","SheetRefContext","SheetPayloadContext","StackBehaviorContext","behavior","isTransitioning","previousSheetId","useProviderContext","useContext","useSheetIDContext","useSheetAnimationContext","useStackBehaviorContext","useSheetRef","useSheetPayload","useOnSheet","type","listener","subscription","payload","setPayload","useState","visible","setVisible","stackBehavior","setStackBehavior","isPending","startTransition","useTransition","setPreviousSheetId","ref","useRef","startsWith","onShow","useCallback","data","ctx","reopened","onClose","_data","nextSheetId","onHide","subs","forEach","s","stackContextValue"],"sourceRoot":"../../src","sources":["provider.tsx"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,sBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAUA,IAAAC,2BAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,sBAAA,CAAAL,OAAA;AAGA,IAAAM,OAAA,GAAAN,OAAA;AAAwC,SAAAK,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAQ,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAEjC,MAAMgB,qBAA+B,GAAAC,OAAA,CAAAD,qBAAA,GAAG,EAAE;;AAEjD;AACA;AACA;AACO,MAAME,cAEZ,GAAAD,OAAA,CAAAC,cAAA,GAAG;EACFC,MAAM,EAAE,CAAC;AACX,CAAC;AAOD;AACO,SAASC,aAAaA,CAC3BC,EAA2B,EAC3BC,KAAwB,EACxB,GAAGC,QAAkB,EACrB;EACA,IAAI,CAACF,EAAE,IAAI,CAACC,KAAK,EAAE;EACnB,IAAI,CAACC,QAAQ,IAAIA,QAAQ,CAACC,MAAM,KAAK,CAAC,EAAED,QAAQ,GAAG,CAAC,QAAQ,CAAC;EAC7D,KAAK,IAAIE,OAAO,IAAIF,QAAQ,EAAE;IAC5B,MAAMG,QAAQ,GAAG,CAACR,cAAc,CAACO,OAAO,CAAC,GACpCP,cAAc,CAACO,OAAO,CAAC,GAAG,CAAC,CAAC,GAC7BP,cAAc,CAACO,OAAO,CAAC;IAC3BC,QAAQ,CAACL,EAAE,CAAW,GAAGC,KAAK;IAC9BK,oBAAY,CAACC,OAAO,CAAC,GAAGH,OAAO,cAAc,CAAC;EAChD;AACF;;AAEA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,aAAaA,CAAC;EAC5BC,4BAA4B,GAAG,KAAK;EACpCL,OAAO,GAAG,QAAQ;EAClBM,QAAQ,GAAG,GAAG;EACdC;AAKD,CAAC,EAAE;EACF,MAAM;IAAEC;EAAI,CAAC,GAAG,IAAAC,6CAAiB,EAAC,CAAC;EACnC,MAAM,GAAGC,WAAW,CAAC,GAAGC,cAAK,CAACC,UAAU,CAAEC,CAAC,IAAKA,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;EACzD,MAAMC,QAAQ,GAAG1B,MAAM,CAAC2B,IAAI,CAACtB,cAAc,CAACO,OAAO,CAAC,IAAIP,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;;EAEvF;EACA,MAAMuB,YAAY,GAAG,IAAAC,qCAAc,EAAC,CAAC,CAAC,CAAC;EACvC,MAAMC,UAAU,GAAG,IAAAC,uCAAgB,EAAC,OAAO;IACzCC,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE,IAAAC,iCAAU,EACzB,IAAAC,uCAAgB,EAACP,YAAY,CAACQ,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,EACrE;MAAElB;IAAS,CACb;EACF,CAAC,CAAC,CAAC;EACH,MAAMmB,aAAa,GAAG,IAAAN,uCAAgB,EACpC,OAAO;IACLC,IAAI,EAAE,CAAC;IACPM,QAAQ,EAAE,QAAQ;IAClBC,YAAY,EAAE,IAAAC,kCAAW,EAACZ,YAAY,CAACQ,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC;IAChFK,SAAS,EAAE,CACT;MACEC,MAAM,EAAE,IAAAR,iCAAU,EAChB,IAAAM,kCAAW,EAACZ,YAAY,CAACQ,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,EAC7D;QAAElB;MAAS,CACb;IACF,CAAC,EACD;MACEyB,UAAU,EAAE,IAAAT,iCAAU,EACpB,IAAAM,kCAAW,EAACZ,YAAY,CAACQ,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEhB,GAAG,EAAEA,GAAG,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EACxE;QAAEF,QAAQ;QAAE0B,YAAY,EAAE;MAAI,CAChC;IACF,CAAC;EAEL,CAAC,CAAC,EACF,CAAC1B,QAAQ,CACX,CAAC;;EAED;EACA,MAAM2B,YAAY,GAAGC,sBAAS,CAACC,WAAW;EAC1C,IAAAC,0CAAmB,EACjB,MAAMpB,YAAY,CAACQ,KAAK,EACvBa,YAAY,IAAK;IAChB,SAAS;;IACT,IAAIA,YAAY,GAAG,CAAC,CAAC,EAAE;MACrB,IAAAC,8BAAO,EAACL,YAAY,CAAC,CAACI,YAAY,IAAI,GAAG,GAAG,eAAe,GAAG,SAAS,CAAC;IAC1E;EACF,CAAC,EACD,EACF,CAAC;EAED1B,cAAK,CAAC4B,SAAS,CAAC,MAAM;IACpBhD,qBAAqB,CAACiD,OAAO,CAACxC,OAAO,CAAC,GAAG,CAAC,CAAC,GACvCT,qBAAqB,CAACiD,OAAO,CAACxC,OAAO,CAAC,GACtCT,qBAAqB,CAACkD,IAAI,CAACzC,OAAO,CAAC,GAAG,CAAC;IAC3C,MAAM0C,KAAK,GAAGxC,oBAAY,CAACyC,SAAS,CAAC,GAAG3C,OAAO,cAAc,EAAEU,WAAW,CAAC;IAC3E,OAAO,MAAM;MACXnB,qBAAqB,CAACqD,MAAM,CAACrD,qBAAqB,CAACiD,OAAO,CAACxC,OAAO,CAAC,EAAE,CAAC,CAAC;MACvE0C,KAAK,EAAEG,WAAW,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,CAAC7C,OAAO,EAAEU,WAAW,CAAC,CAAC;EAE1B,oBACEzC,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACC,qBAAqB,CAACC,QAAQ;IAC7BxB,KAAK,EAAE;MAAER,YAAY;MAAEX,4BAA4B;MAAEC;IAAS;EAAE,gBAEhErC,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACnF,sBAAA,CAAAW,OAAQ,CAAC2E,IAAI;IAACC,KAAK,EAAEhC;EAAW,gBAC/BjD,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACnF,sBAAA,CAAAW,OAAQ,CAAC2E,IAAI;IAACC,KAAK,EAAEzB;EAAc,GAAElB,QAAwB,CACjD,CAAC,eAChBtC,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAAC/E,YAAA,CAAAoF,wBAAwB,QACtBrC,QAAQ,CAACsC,GAAG,CAAExD,EAAE,iBACf3B,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACO,WAAW;IAACC,GAAG,EAAE1D,EAAG;IAACA,EAAE,EAAEA,EAAG;IAACI,OAAO,EAAEA;EAAQ,CAAE,CAClD,CACuB,CACI,CAAC;AAErC;AACA,MAAMuD,eAAe,gBAAG5C,cAAK,CAAC6C,aAAa,CAAC,QAAQ,CAAC;AACrD,MAAMC,cAAc,gBAAG9C,cAAK,CAAC6C,aAAa,CAAqBE,SAAS,CAAC;AACzE,MAAMX,qBAAqB,gBAAGpC,cAAK,CAAC6C,aAAa,CAI9C;EACDxC,YAAY,EAAE;IAAEQ,KAAK,EAAE;EAAE,CAAwB;EACjDnB,4BAA4B,EAAE,KAAK;EACnCC,QAAQ,EAAE;AACZ,CAAC,CAAC;AAEK,MAAMqD,eAAe,GAAAnE,OAAA,CAAAmE,eAAA,gBAAGhD,cAAK,CAAC6C,aAAa,CAEhD,CAAC,CAAgD,CAAC;AAEpD,MAAMI,mBAAmB,gBAAGjD,cAAK,CAAC6C,aAAa,CAAUE,SAAS,CAAC;;AAEnE;;AAOA,MAAMG,oBAAoB,gBAAGlD,cAAK,CAAC6C,aAAa,CAA4B;EAC1EM,QAAQ,EAAE,QAAQ;EAClBC,eAAe,EAAE,KAAK;EACtBC,eAAe,EAAE;AACnB,CAAC,CAAC;;AAEF;AACA;AACA;AACO,MAAMC,kBAAkB,GAAGA,CAAA,KAAMtD,cAAK,CAACuD,UAAU,CAACX,eAAe,CAAC;AACzE;AACA;AACA;AAFA/D,OAAA,CAAAyE,kBAAA,GAAAA,kBAAA;AAGO,MAAME,iBAAiB,GAAGA,CAAA,KAAMxD,cAAK,CAACuD,UAAU,CAACT,cAAc,CAAC;AACvE;AACA;AACA;AAFAjE,OAAA,CAAA2E,iBAAA,GAAAA,iBAAA;AAGO,MAAMC,wBAAwB,GAAGA,CAAA,KAAMzD,cAAK,CAACuD,UAAU,CAACnB,qBAAqB,CAAC;AACrF;AACA;AACA;AAFAvD,OAAA,CAAA4E,wBAAA,GAAAA,wBAAA;AAGO,MAAMC,uBAAuB,GAAGA,CAAA,KAAM1D,cAAK,CAACuD,UAAU,CAACL,oBAAoB,CAAC;AACnF;AACA;AACA;AAFArE,OAAA,CAAA6E,uBAAA,GAAAA,uBAAA;AAGO,MAAMC,WAAW,GAAGA,CAAA,KAGzB3D,cAAK,CAACuD,UAAU,CAACP,eAAe,CAE/B;;AAEH;AACA;AACA;AAFAnE,OAAA,CAAA8E,WAAA,GAAAA,WAAA;AAGO,SAASC,eAAeA,CAAA,EAAyC;EACtE,OAAO5D,cAAK,CAACuD,UAAU,CAACN,mBAAmB,CAAC;AAC9C;;AAEA;AACA;AACA;AACO,SAASY,UAAUA,CACxB5E,EAA2B,EAC3B6E,IAAiC,EACjCC,QAAuF,EACvF;EACA/D,cAAK,CAAC4B,SAAS,CAAC,MAAM;IACpB,MAAMoC,YAAY,GAAGzE,oBAAY,CAACyC,SAAS,CAAC,GAAG8B,IAAI,IAAI7E,EAAE,EAAE,EAAE8E,QAAQ,CAAC;IACtE,OAAO,MAAMC,YAAY,CAAC9B,WAAW,CAAC,CAAC;EACzC,CAAC,EAAE,CAACjD,EAAE,EAAE8E,QAAQ,EAAED,IAAI,CAAC,CAAC;AAC1B;AAOA,MAAMpB,WAAW,GAAGA,CAAC;EAAEzD,EAAE;EAAEI;AAA0B,CAAC,KAAK;EACzD,MAAM,CAAC4E,OAAO,EAAEC,UAAU,CAAC,GAAGlE,cAAK,CAACmE,QAAQ,CAAU,CAAC;EACvD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGrE,cAAK,CAACmE,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGvE,cAAK,CAACmE,QAAQ,CAAgB,QAAQ,CAAC;EACjF,MAAM,CAACK,SAAS,EAAEC,eAAe,CAAC,GAAGzE,cAAK,CAAC0E,aAAa,CAAC,CAAC;EAC1D,MAAM,CAACrB,eAAe,EAAEsB,kBAAkB,CAAC,GAAG3E,cAAK,CAACmE,QAAQ,CAAgB,IAAI,CAAC;EAEjF,MAAMS,GAAG,GAAG5E,cAAK,CAAC6E,MAAM,CAA6B,IAAI,CAAC;EAC1D,MAAM3F,KAAK,GAAGG,OAAO,CAACyF,UAAU,CAAC,UAAU,CAAC,GACxChG,cAAc,EAAEC,MAAM,GAAGE,EAAE,CAAC,GAC5BH,cAAc,CAACO,OAAO,CAAC,GACrBP,cAAc,CAACO,OAAO,CAAC,GAAGJ,EAAE,CAAC,GAC7B8D,SAAS;EAEf,MAAMgC,MAAM,GAAG/E,cAAK,CAACgF,WAAW,CAC9B,CAACC,IAAa,EAAEC,GAAG,GAAG,QAAQ,EAAEC,QAAkB,EAAEhC,QAAwB,KAAK;IAC/E,IAAI+B,GAAG,KAAK7F,OAAO,EAAE;IAErB,IAAI8D,QAAQ,EAAE;MACZoB,gBAAgB,CAACpB,QAAQ,CAAC;IAC5B;IAEA,IAAI,CAACgC,QAAQ,EAAE;MACbjB,UAAU,CAACe,IAAI,CAAC;IAClB;;IAEA;IACAR,eAAe,CAAC,MAAM;MACpBJ,UAAU,CAAC,IAAI,CAAC;IAClB,CAAC,CAAC;EACJ,CAAC,EACD,CAAChF,OAAO,CACV,CAAC;EAED,MAAM+F,OAAO,GAAGpF,cAAK,CAACgF,WAAW,CAC/B,CAACK,KAAc,EAAEH,GAAG,GAAG,QAAQ,EAAEC,QAAkB,EAAEG,WAAoB,KAAK;IAC5E,IAAIjG,OAAO,KAAK6F,GAAG,EAAE;IAErB,IAAII,WAAW,EAAE;MACfX,kBAAkB,CAACW,WAAW,CAAC;IACjC;IAEA,IAAI,CAACH,QAAQ,EAAE;MACbjB,UAAU,CAACnB,SAAS,CAAC;MACrBsB,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,MAAM;MACLA,UAAU,CAAC,KAAK,CAAC;MACjBM,kBAAkB,CAAC,IAAI,CAAC;IAC1B;EACF,CAAC,EACD,CAACtF,OAAO,CACV,CAAC;EAED,MAAMkG,MAAM,GAAGvF,cAAK,CAACgF,WAAW,CAC9B,CAACC,IAAa,EAAEC,GAAG,GAAG,QAAQ,KAAK;IACjC3F,oBAAY,CAACC,OAAO,CAAC,QAAQP,EAAE,EAAE,EAAEgG,IAAI,EAAEC,GAAG,CAAC;EAC/C,CAAC,EACD,CAACjG,EAAE,CACL,CAAC;EAEDe,cAAK,CAAC4B,SAAS,CAAC,MAAM;IACpB,IAAIwC,OAAO,EAAE;MACX7E,oBAAY,CAACC,OAAO,CAAC,QAAQP,EAAE,EAAE,EAAEgF,OAAO,EAAE5E,OAAO,CAAC;IACtD;EACF,CAAC,EAAE,CAACA,OAAO,EAAEJ,EAAE,EAAEgF,OAAO,EAAEG,OAAO,CAAC,CAAC;EAEnCpE,cAAK,CAAC4B,SAAS,CAAC,MAAM;IACpB,MAAM4D,IAAI,GAAG,CACXjG,oBAAY,CAACyC,SAAS,CAAC,aAAa/C,EAAE,EAAE,EAAE8F,MAAM,CAAC,EACjDxF,oBAAY,CAACyC,SAAS,CAAC,WAAW/C,EAAE,EAAE,EAAEmG,OAAO,CAAC,EAChD7F,oBAAY,CAACyC,SAAS,CAAC,aAAa/C,EAAE,EAAE,EAAEsG,MAAM,CAAC,CAClD;IACD,OAAO,MAAM;MACXC,IAAI,CAACC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACxD,WAAW,CAAC,CAAC,CAAC;IACtC,CAAC;EACH,CAAC,EAAE,CAACjD,EAAE,EAAEI,OAAO,EAAE0F,MAAM,EAAEQ,MAAM,EAAEH,OAAO,CAAC,CAAC;EAE1C,IAAI,CAAClG,KAAK,EAAE,OAAO,IAAI;EAEvB,MAAMyG,iBAA4C,GAAG;IACnDxC,QAAQ,EAAEmB,aAAa;IACvBlB,eAAe,EAAEoB,SAAS;IAC1BnB;EACF,CAAC;EAED,IAAI,CAACe,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACE9G,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACS,eAAe,CAACP,QAAQ;IAACxB,KAAK,EAAExB;EAAQ,gBACvC/B,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACW,cAAc,CAACT,QAAQ;IAACxB,KAAK,EAAE5B;EAAG,gBACjC3B,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACa,eAAe,CAACX,QAAQ;IAACxB,KAAK,EAAE+D;EAAI,gBACnCtH,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACc,mBAAmB,CAACZ,QAAQ;IAACxB,KAAK,EAAEoD;EAAQ,gBAC3C3G,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACe,oBAAoB,CAACb,QAAQ;IAACxB,KAAK,EAAE8E;EAAkB,gBACtDrI,MAAA,CAAAK,OAAA,CAAAwE,aAAA,CAACjD,KAAK;IAACD,EAAE,EAAEA,EAAG;IAACgF,OAAO,EAAEA,OAAQ;IAAC5E,OAAO,EAAEA;EAAQ,CAAE,CACvB,CACH,CACN,CACH,CACD,CAAC;AAE/B,CAAC","ignoreList":[]}