react-native-drawer-layout 4.0.0-alpha.0 → 4.0.0-alpha.2

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 (83) hide show
  1. package/lib/commonjs/constants.js +5 -9
  2. package/lib/commonjs/constants.js.map +1 -1
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/types.js.map +1 -1
  5. package/lib/commonjs/utils/DrawerGestureContext.js +3 -4
  6. package/lib/commonjs/utils/DrawerGestureContext.js.map +1 -1
  7. package/lib/commonjs/utils/DrawerProgressContext.js +3 -4
  8. package/lib/commonjs/utils/DrawerProgressContext.js.map +1 -1
  9. package/lib/commonjs/utils/useDrawerProgress.js +2 -2
  10. package/lib/commonjs/utils/useDrawerProgress.js.map +1 -1
  11. package/lib/commonjs/views/Drawer.js +285 -36
  12. package/lib/commonjs/views/Drawer.js.map +1 -1
  13. package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
  14. package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
  15. package/lib/commonjs/views/GestureHandler.js +8 -12
  16. package/lib/commonjs/views/GestureHandler.js.map +1 -1
  17. package/lib/commonjs/views/GestureHandlerNative.js +2 -2
  18. package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
  19. package/lib/commonjs/views/{modern/Overlay.js → Overlay.js} +3 -4
  20. package/lib/commonjs/views/Overlay.js.map +1 -0
  21. package/lib/module/constants.js +1 -1
  22. package/lib/module/constants.js.map +1 -1
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/module/types.js.map +1 -1
  25. package/lib/module/utils/DrawerGestureContext.js.map +1 -1
  26. package/lib/module/utils/DrawerProgressContext.js.map +1 -1
  27. package/lib/module/utils/useDrawerProgress.js.map +1 -1
  28. package/lib/module/views/Drawer.js +285 -37
  29. package/lib/module/views/Drawer.js.map +1 -1
  30. package/lib/module/views/GestureHandler.android.js.map +1 -1
  31. package/lib/module/views/GestureHandler.ios.js.map +1 -1
  32. package/lib/module/views/GestureHandler.js +3 -3
  33. package/lib/module/views/GestureHandler.js.map +1 -1
  34. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  35. package/lib/module/views/Overlay.js.map +1 -0
  36. package/lib/typescript/src/constants.d.ts +1 -1
  37. package/lib/typescript/src/constants.d.ts.map +1 -1
  38. package/lib/typescript/src/types.d.ts +4 -0
  39. package/lib/typescript/src/types.d.ts.map +1 -1
  40. package/lib/typescript/src/utils/DrawerProgressContext.d.ts +1 -1
  41. package/lib/typescript/src/utils/DrawerProgressContext.d.ts.map +1 -1
  42. package/lib/typescript/src/utils/useDrawerProgress.d.ts +1 -1
  43. package/lib/typescript/src/utils/useDrawerProgress.d.ts.map +1 -1
  44. package/lib/typescript/src/views/Drawer.d.ts +2 -17
  45. package/lib/typescript/src/views/Drawer.d.ts.map +1 -1
  46. package/lib/typescript/src/views/GestureHandlerNative.d.ts +3 -2
  47. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
  48. package/lib/typescript/src/views/Overlay.d.ts +106 -0
  49. package/lib/typescript/src/views/Overlay.d.ts.map +1 -0
  50. package/package.json +10 -10
  51. package/src/constants.tsx +1 -1
  52. package/src/types.tsx +5 -0
  53. package/src/utils/DrawerProgressContext.tsx +1 -1
  54. package/src/utils/useDrawerProgress.tsx +1 -3
  55. package/src/views/Drawer.tsx +424 -62
  56. package/src/views/GestureHandlerNative.tsx +1 -1
  57. package/lib/commonjs/views/legacy/Drawer.js +0 -452
  58. package/lib/commonjs/views/legacy/Drawer.js.map +0 -1
  59. package/lib/commonjs/views/legacy/Overlay.js +0 -73
  60. package/lib/commonjs/views/legacy/Overlay.js.map +0 -1
  61. package/lib/commonjs/views/modern/Drawer.js +0 -304
  62. package/lib/commonjs/views/modern/Drawer.js.map +0 -1
  63. package/lib/commonjs/views/modern/Overlay.js.map +0 -1
  64. package/lib/module/views/legacy/Drawer.js +0 -442
  65. package/lib/module/views/legacy/Drawer.js.map +0 -1
  66. package/lib/module/views/legacy/Overlay.js +0 -63
  67. package/lib/module/views/legacy/Overlay.js.map +0 -1
  68. package/lib/module/views/modern/Drawer.js +0 -295
  69. package/lib/module/views/modern/Drawer.js.map +0 -1
  70. package/lib/module/views/modern/Overlay.js.map +0 -1
  71. package/lib/typescript/src/views/legacy/Drawer.d.ts +0 -51
  72. package/lib/typescript/src/views/legacy/Drawer.d.ts.map +0 -1
  73. package/lib/typescript/src/views/legacy/Overlay.d.ts +0 -104
  74. package/lib/typescript/src/views/legacy/Overlay.d.ts.map +0 -1
  75. package/lib/typescript/src/views/modern/Drawer.d.ts +0 -9
  76. package/lib/typescript/src/views/modern/Drawer.d.ts.map +0 -1
  77. package/lib/typescript/src/views/modern/Overlay.d.ts +0 -104
  78. package/lib/typescript/src/views/modern/Overlay.d.ts.map +0 -1
  79. package/src/views/legacy/Drawer.tsx +0 -690
  80. package/src/views/legacy/Overlay.tsx +0 -85
  81. package/src/views/modern/Drawer.tsx +0 -441
  82. /package/lib/module/views/{modern/Overlay.js → Overlay.js} +0 -0
  83. /package/src/views/{modern/Overlay.tsx → Overlay.tsx} +0 -0
@@ -1,442 +0,0 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- import * as React from 'react';
3
- import { InteractionManager, Keyboard, Platform, StatusBar, StyleSheet, View } from 'react-native';
4
- import Animated from 'react-native-reanimated';
5
- import { DEFAULT_DRAWER_WIDTH, SWIPE_MIN_DISTANCE, SWIPE_MIN_OFFSET, SWIPE_MIN_VELOCITY } from '../../constants';
6
- import { DrawerProgressContext } from '../../utils/DrawerProgressContext';
7
- import { GestureState, PanGestureHandler } from '../GestureHandler';
8
- import { Overlay } from './Overlay';
9
- const {
10
- Clock,
11
- Value,
12
- onChange,
13
- clockRunning,
14
- startClock,
15
- stopClock,
16
- spring,
17
- abs,
18
- add,
19
- and,
20
- block,
21
- call,
22
- cond,
23
- divide,
24
- eq,
25
- event,
26
- greaterThan,
27
- lessThan,
28
- max,
29
- min,
30
- multiply,
31
- neq,
32
- or,
33
- set,
34
- sub
35
- } = Animated;
36
- const TRUE = 1;
37
- const FALSE = 0;
38
- const NOOP = 0;
39
- const UNSET = -1;
40
- const DIRECTION_LEFT = 1;
41
- const DIRECTION_RIGHT = -1;
42
- const SPRING_CONFIG = {
43
- stiffness: 1000,
44
- damping: 500,
45
- mass: 3,
46
- overshootClamping: true,
47
- restDisplacementThreshold: 0.01,
48
- restSpeedThreshold: 0.01
49
- };
50
- const ANIMATED_ZERO = new Animated.Value(0);
51
- const ANIMATED_ONE = new Animated.Value(1);
52
- export class Drawer extends React.Component {
53
- componentDidUpdate(prevProps) {
54
- const {
55
- open,
56
- drawerPosition,
57
- drawerType,
58
- swipeMinDistance,
59
- swipeMinVelocity,
60
- hideStatusBarOnOpen
61
- } = this.props;
62
- if (
63
- // If we're not in the middle of a transition, sync the drawer's open state
64
- typeof this.pendingOpenValue !== 'boolean' || open !== this.pendingOpenValue) {
65
- this.toggleDrawer(open);
66
- }
67
- this.pendingOpenValue = undefined;
68
- if (open !== prevProps.open && hideStatusBarOnOpen) {
69
- this.toggleStatusBar(open);
70
- }
71
- if (prevProps.drawerPosition !== drawerPosition) {
72
- this.drawerPosition.setValue(drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT);
73
- }
74
- if (prevProps.drawerType !== drawerType) {
75
- this.isDrawerTypeFront.setValue(drawerType === 'front' ? TRUE : FALSE);
76
- }
77
- if (prevProps.swipeMinDistance !== swipeMinDistance) {
78
- this.swipeDistanceThreshold.setValue(swipeMinDistance ?? SWIPE_MIN_DISTANCE);
79
- }
80
- if (prevProps.swipeMinVelocity !== swipeMinVelocity) {
81
- this.swipeVelocityThreshold.setValue(swipeMinVelocity ?? SWIPE_MIN_VELOCITY);
82
- }
83
- }
84
- componentWillUnmount() {
85
- this.toggleStatusBar(false);
86
- this.handleEndInteraction();
87
- }
88
- handleEndInteraction = () => {
89
- if (this.interactionHandle !== undefined) {
90
- InteractionManager.clearInteractionHandle(this.interactionHandle);
91
- this.interactionHandle = undefined;
92
- }
93
- };
94
- handleStartInteraction = () => {
95
- if (this.interactionHandle === undefined) {
96
- this.interactionHandle = InteractionManager.createInteractionHandle();
97
- }
98
- };
99
- getDrawerWidth = () => {
100
- const {
101
- drawerStyle,
102
- layout
103
- } = this.props;
104
- const {
105
- width = DEFAULT_DRAWER_WIDTH
106
- } = StyleSheet.flatten(drawerStyle) || {};
107
- if (typeof width === 'string' && width.endsWith('%')) {
108
- // Try to calculate width if a percentage is given
109
- const percentage = Number(width.replace(/%$/, ''));
110
- if (Number.isFinite(percentage)) {
111
- return layout.width * (percentage / 100);
112
- }
113
- }
114
- return typeof width === 'number' ? width : 0;
115
- };
116
- clock = new Clock();
117
- isDrawerTypeFront = new Value(this.props.drawerType === 'front' ? TRUE : FALSE);
118
- isOpen = new Value(this.props.open ? TRUE : FALSE);
119
- nextIsOpen = new Value(UNSET);
120
- isSwiping = new Value(FALSE);
121
- initialDrawerWidth = this.getDrawerWidth();
122
- gestureState = new Value(GestureState.UNDETERMINED);
123
- touchX = new Value(0);
124
- velocityX = new Value(0);
125
- gestureX = new Value(0);
126
- offsetX = new Value(0);
127
- position = new Value(this.props.open ? this.initialDrawerWidth * (this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT) : 0);
128
- containerWidth = new Value(this.props.layout.width);
129
- drawerWidth = new Value(this.initialDrawerWidth);
130
- drawerOpacity = new Value(this.props.drawerType === 'permanent' ? 1 : 0);
131
- drawerPosition = new Value(this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT);
132
-
133
- // Comment stolen from react-native-gesture-handler/DrawerLayout
134
- //
135
- // While closing the drawer when user starts gesture outside of its area (in greyed
136
- // out part of the window), we want the drawer to follow only once finger reaches the
137
- // edge of the drawer.
138
- // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
139
- // dots. The touch gesture starts at '*' and moves left, touch path is indicated by
140
- // an arrow pointing left
141
- // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
142
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
143
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
144
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
145
- // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
146
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
147
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
148
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
149
- // +---------------+ +---------------+ +---------------+ +---------------+
150
- //
151
- // For the above to work properly we define animated value that will keep start position
152
- // of the gesture. Then we use that value to calculate how much we need to subtract from
153
- // the dragX. If the gesture started on the greyed out area we take the distance from the
154
- // edge of the drawer to the start position. Otherwise we don't subtract at all and the
155
- // drawer be pulled back as soon as you start the pan.
156
- //
157
- // This is used only when drawerType is "front"
158
- touchDistanceFromDrawer = cond(this.isDrawerTypeFront, cond(eq(this.drawerPosition, DIRECTION_LEFT), max(
159
- // Distance of touch start from left screen edge - Drawer width
160
- sub(sub(this.touchX, this.gestureX), this.drawerWidth), 0), min(multiply(
161
- // Distance of drawer from left screen edge - Touch start point
162
- sub(sub(this.containerWidth, this.drawerWidth), sub(this.touchX, this.gestureX)), DIRECTION_RIGHT), 0)), 0);
163
- swipeDistanceThreshold = new Value(this.props.swipeMinDistance ?? SWIPE_MIN_DISTANCE);
164
- swipeVelocityThreshold = new Value(this.props.swipeMinVelocity ?? SWIPE_MIN_VELOCITY);
165
- currentOpenValue = this.props.open;
166
- isStatusBarHidden = false;
167
- manuallyTriggerSpring = new Value(FALSE);
168
- transitionTo = isOpen => {
169
- const toValue = new Value(0);
170
- const frameTime = new Value(0);
171
- const state = {
172
- position: this.position,
173
- time: new Value(0),
174
- finished: new Value(FALSE),
175
- velocity: new Value(0)
176
- };
177
- return block([cond(clockRunning(this.clock), NOOP, [
178
- // Animation wasn't running before
179
- // Set the initial values and start the clock
180
- set(toValue, multiply(isOpen, this.drawerWidth, this.drawerPosition)), set(frameTime, 0), set(state.time, 0), set(state.finished, FALSE), set(state.velocity, this.velocityX), set(this.isOpen, isOpen), startClock(this.clock), call([], this.handleStartInteraction), set(this.manuallyTriggerSpring, FALSE)]), spring(this.clock, state, {
181
- ...SPRING_CONFIG,
182
- toValue
183
- }), onChange(state.finished, cond(state.finished, call([this.isOpen], open => {
184
- var _this$props$onTransit, _this$props;
185
- return (_this$props$onTransit = (_this$props = this.props).onTransitionEnd) === null || _this$props$onTransit === void 0 ? void 0 : _this$props$onTransit.call(_this$props, !open);
186
- }), call([this.isOpen], open => {
187
- var _this$props$onTransit2, _this$props2;
188
- return (_this$props$onTransit2 = (_this$props2 = this.props).onTransitionStart) === null || _this$props$onTransit2 === void 0 ? void 0 : _this$props$onTransit2.call(_this$props2, !open);
189
- }))), cond(state.finished, [
190
- // Reset gesture and velocity from previous gesture
191
- set(this.touchX, 0), set(this.gestureX, 0), set(this.velocityX, 0), set(this.offsetX, 0),
192
- // When the animation finishes, stop the clock
193
- stopClock(this.clock), call([this.isOpen], _ref => {
194
- let [value] = _ref;
195
- const open = Boolean(value);
196
- this.handleEndInteraction();
197
- if (open !== this.props.open) {
198
- // Sync drawer's state after animation finished
199
- // This shouldn't be necessary, but there seems to be an issue on iOS
200
- this.toggleDrawer(this.props.open);
201
- }
202
- })])]);
203
- };
204
- dragX = block([onChange(this.isOpen, call([this.isOpen], _ref2 => {
205
- let [value] = _ref2;
206
- const open = Boolean(value);
207
- this.currentOpenValue = open;
208
-
209
- // Without this check, the drawer can go to an infinite update <-> animate loop for sync updates
210
- if (open !== this.props.open) {
211
- // If the mode changed, update state
212
- if (open) {
213
- this.props.onOpen();
214
- } else {
215
- this.props.onClose();
216
- }
217
- this.pendingOpenValue = open;
218
-
219
- // Force componentDidUpdate to fire, whether user does a setState or not
220
- // This allows us to detect when the user drops the update and revert back
221
- // It's necessary to make sure that the state stays in sync
222
- this.forceUpdate();
223
- }
224
- })), onChange(this.nextIsOpen, cond(neq(this.nextIsOpen, UNSET), [
225
- // Stop any running animations
226
- cond(clockRunning(this.clock), stopClock(this.clock)),
227
- // Update the open value to trigger the transition
228
- set(this.isOpen, this.nextIsOpen), set(this.gestureX, 0), set(this.nextIsOpen, UNSET)])),
229
- // This block must be after the this.isOpen listener since we check for current value
230
- onChange(this.isSwiping,
231
- // Listen to updates for this value only when it changes
232
- // Without `onChange`, this will fire even if the value didn't change
233
- // We don't want to call the listeners if the value didn't change
234
- call([this.isSwiping], _ref3 => {
235
- let [value] = _ref3;
236
- const {
237
- keyboardDismissMode
238
- } = this.props;
239
- if (value === TRUE) {
240
- if (keyboardDismissMode === 'on-drag') {
241
- Keyboard.dismiss();
242
- }
243
- this.toggleStatusBar(true);
244
- } else {
245
- this.toggleStatusBar(this.currentOpenValue);
246
- }
247
- })), onChange(this.gestureState, cond(eq(this.gestureState, GestureState.ACTIVE), call([], this.handleStartInteraction))), onChange(this.gestureState, cond(eq(this.gestureState, GestureState.END), [call([], () => {
248
- var _this$props$onGesture, _this$props3;
249
- return (_this$props$onGesture = (_this$props3 = this.props).onGestureEnd) === null || _this$props$onGesture === void 0 ? void 0 : _this$props$onGesture.call(_this$props3);
250
- })])), onChange(this.gestureState, cond(eq(this.gestureState, GestureState.CANCELLED), [call([], () => {
251
- var _this$props$onGesture2, _this$props4;
252
- return (_this$props$onGesture2 = (_this$props4 = this.props).onGestureCancel) === null || _this$props$onGesture2 === void 0 ? void 0 : _this$props$onGesture2.call(_this$props4);
253
- })])), cond(eq(this.gestureState, GestureState.ACTIVE), [cond(this.isSwiping, NOOP, [
254
- // We weren't dragging before, set it to true
255
- set(this.isSwiping, TRUE),
256
- // Also update the drag offset to the last position
257
- set(this.offsetX, this.position), call([], () => {
258
- var _this$props$onGesture3, _this$props5;
259
- return (_this$props$onGesture3 = (_this$props5 = this.props).onGestureStart) === null || _this$props$onGesture3 === void 0 ? void 0 : _this$props$onGesture3.call(_this$props5);
260
- })]),
261
- // Update position with previous offset + gesture distance
262
- set(this.position, add(this.offsetX, this.gestureX, this.touchDistanceFromDrawer)),
263
- // Stop animations while we're dragging
264
- stopClock(this.clock)], [set(this.isSwiping, FALSE), set(this.touchX, 0), this.transitionTo(cond(this.manuallyTriggerSpring, this.isOpen, cond(or(and(greaterThan(abs(this.gestureX), SWIPE_MIN_OFFSET), greaterThan(abs(this.velocityX), this.swipeVelocityThreshold)), greaterThan(abs(this.gestureX), this.swipeDistanceThreshold)), cond(eq(this.drawerPosition, DIRECTION_LEFT),
265
- // If swiped to right, open the drawer, otherwise close it
266
- greaterThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0),
267
- // If swiped to left, open the drawer, otherwise close it
268
- lessThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0)), this.isOpen)))]), this.position]);
269
- translateX = cond(eq(this.drawerPosition, DIRECTION_RIGHT), min(max(multiply(this.drawerWidth, -1), this.dragX), 0), max(min(this.drawerWidth, this.dragX), 0));
270
- progress = cond(
271
- // Check if the drawer width is available to avoid division by zero
272
- eq(this.drawerWidth, 0), 0, abs(divide(this.translateX, this.drawerWidth)));
273
- handleGestureEvent = event([{
274
- nativeEvent: {
275
- x: this.touchX,
276
- translationX: this.gestureX,
277
- velocityX: this.velocityX
278
- }
279
- }]);
280
- handleGestureStateChange = event([{
281
- nativeEvent: {
282
- state: s => set(this.gestureState, s)
283
- }
284
- }]);
285
- handleContainerLayout = e => this.containerWidth.setValue(e.nativeEvent.layout.width);
286
- handleDrawerLayout = e => {
287
- this.drawerWidth.setValue(e.nativeEvent.layout.width);
288
- this.toggleDrawer(this.props.open);
289
-
290
- // Until layout is available, drawer is hidden with opacity: 0 by default
291
- // Show it in the next frame when layout is available
292
- // If we don't delay it until the next frame, there's a visible flicker
293
- requestAnimationFrame(() => requestAnimationFrame(() => this.drawerOpacity.setValue(1)));
294
- };
295
- toggleDrawer = open => {
296
- if (this.currentOpenValue !== open) {
297
- this.nextIsOpen.setValue(open ? TRUE : FALSE);
298
-
299
- // This value will also be set shortly after as changing this.nextIsOpen changes this.isOpen
300
- // However, there's a race condition on Android, so we need to set a bit earlier
301
- this.currentOpenValue = open;
302
- }
303
- };
304
- toggleStatusBar = hidden => {
305
- const {
306
- hideStatusBarOnOpen: hideStatusBar,
307
- statusBarAnimation
308
- } = this.props;
309
- if (hideStatusBar && this.isStatusBarHidden !== hidden) {
310
- this.isStatusBarHidden = hidden;
311
- StatusBar.setHidden(hidden, statusBarAnimation);
312
- }
313
- };
314
- render() {
315
- const {
316
- open,
317
- swipeEnabled,
318
- drawerPosition,
319
- drawerType,
320
- swipeEdgeWidth,
321
- drawerStyle,
322
- overlayStyle,
323
- renderDrawerContent,
324
- children,
325
- gestureHandlerProps,
326
- overlayAccessibilityLabel
327
- } = this.props;
328
- const isOpen = drawerType === 'permanent' ? true : open;
329
- const isRight = drawerPosition === 'right';
330
- const contentTranslateX = drawerType === 'front' ? ANIMATED_ZERO : this.translateX;
331
- const drawerTranslateX = drawerType === 'back' ? ANIMATED_ZERO : this.translateX;
332
- const offset = drawerType === 'back' ? 0 : '100%';
333
-
334
- // FIXME: Currently hitSlop is broken when on Android when drawer is on right
335
- // https://github.com/software-mansion/react-native-gesture-handler/issues/569
336
- const hitSlop = isRight ?
337
- // Extend hitSlop to the side of the screen when drawer is closed
338
- // This lets the user drag the drawer from the side of the screen
339
- {
340
- right: 0,
341
- width: isOpen ? undefined : swipeEdgeWidth
342
- } : {
343
- left: 0,
344
- width: isOpen ? undefined : swipeEdgeWidth
345
- };
346
- const progress = drawerType === 'permanent' ? ANIMATED_ONE : this.progress;
347
- return /*#__PURE__*/React.createElement(DrawerProgressContext.Provider, {
348
- value: progress
349
- }, /*#__PURE__*/React.createElement(PanGestureHandler, _extends({
350
- activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
351
- failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
352
- onGestureEvent: this.handleGestureEvent,
353
- onHandlerStateChange: this.handleGestureStateChange,
354
- hitSlop: hitSlop,
355
- enabled: drawerType !== 'permanent' && swipeEnabled
356
- }, gestureHandlerProps), /*#__PURE__*/React.createElement(Animated.View, {
357
- onLayout: this.handleContainerLayout,
358
- style: [styles.main, {
359
- flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
360
- }]
361
- }, /*#__PURE__*/React.createElement(Animated.View, {
362
- style: [styles.content, {
363
- transform: drawerType === 'permanent' ?
364
- // Reanimated needs the property to be present, but it results in Browser bug
365
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
366
- [] : [{
367
- translateX: contentTranslateX
368
- }]
369
- }]
370
- }, /*#__PURE__*/React.createElement(View, {
371
- accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
372
- importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
373
- style: styles.content
374
- }, children),
375
- // Disable overlay if sidebar is permanent
376
- drawerType === 'permanent' ? null : /*#__PURE__*/React.createElement(Overlay, {
377
- progress: progress,
378
- onPress: () => this.toggleDrawer(false),
379
- accessibilityLabel: overlayAccessibilityLabel,
380
- style: overlayStyle,
381
- accessibilityElementsHidden: !isOpen,
382
- importantForAccessibility: isOpen ? 'auto' : 'no-hide-descendants'
383
- })), /*#__PURE__*/React.createElement(Animated.Code, {
384
- // This is needed to make sure that container width updates with `setValue`
385
- // Without this, it won't update when not used in styles
386
- exec: this.containerWidth
387
- }), drawerType === 'permanent' ? null : /*#__PURE__*/React.createElement(Animated.Code, {
388
- exec: block([onChange(this.manuallyTriggerSpring, [cond(eq(this.manuallyTriggerSpring, TRUE), [set(this.nextIsOpen, FALSE), call([], () => this.currentOpenValue = false)])])])
389
- }), /*#__PURE__*/React.createElement(Animated.View, {
390
- removeClippedSubviews: Platform.OS !== 'ios',
391
- onLayout: this.handleDrawerLayout,
392
- style: [styles.container, {
393
- transform: drawerType === 'permanent' ?
394
- // Reanimated needs the property to be present, but it results in Browser bug
395
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
396
- [] : [{
397
- translateX: drawerTranslateX
398
- }],
399
- opacity: this.drawerOpacity
400
- }, drawerType === 'permanent' ?
401
- // Without this, the `left`/`right` values don't get reset
402
- isRight ? {
403
- right: 0
404
- } : {
405
- left: 0
406
- } : [styles.nonPermanent, isRight ? {
407
- right: offset
408
- } : {
409
- left: offset
410
- }, {
411
- zIndex: drawerType === 'back' ? -1 : 0
412
- }], drawerStyle]
413
- }, renderDrawerContent()))));
414
- }
415
- }
416
- const styles = StyleSheet.create({
417
- container: {
418
- backgroundColor: 'white',
419
- maxWidth: '100%'
420
- },
421
- nonPermanent: {
422
- position: 'absolute',
423
- top: 0,
424
- bottom: 0,
425
- width: DEFAULT_DRAWER_WIDTH
426
- },
427
- content: {
428
- flex: 1
429
- },
430
- main: {
431
- flex: 1,
432
- ...Platform.select({
433
- // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.
434
- // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.
435
- web: null,
436
- default: {
437
- overflow: 'hidden'
438
- }
439
- })
440
- }
441
- });
442
- //# sourceMappingURL=Drawer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","InteractionManager","Keyboard","Platform","StatusBar","StyleSheet","View","Animated","DEFAULT_DRAWER_WIDTH","SWIPE_MIN_DISTANCE","SWIPE_MIN_OFFSET","SWIPE_MIN_VELOCITY","DrawerProgressContext","GestureState","PanGestureHandler","Overlay","Clock","Value","onChange","clockRunning","startClock","stopClock","spring","abs","add","and","block","call","cond","divide","eq","event","greaterThan","lessThan","max","min","multiply","neq","or","set","sub","TRUE","FALSE","NOOP","UNSET","DIRECTION_LEFT","DIRECTION_RIGHT","SPRING_CONFIG","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","ANIMATED_ZERO","ANIMATED_ONE","Drawer","Component","componentDidUpdate","prevProps","open","drawerPosition","drawerType","swipeMinDistance","swipeMinVelocity","hideStatusBarOnOpen","props","pendingOpenValue","toggleDrawer","undefined","toggleStatusBar","setValue","isDrawerTypeFront","swipeDistanceThreshold","swipeVelocityThreshold","componentWillUnmount","handleEndInteraction","interactionHandle","clearInteractionHandle","handleStartInteraction","createInteractionHandle","getDrawerWidth","drawerStyle","layout","width","flatten","endsWith","percentage","Number","replace","isFinite","clock","isOpen","nextIsOpen","isSwiping","initialDrawerWidth","gestureState","UNDETERMINED","touchX","velocityX","gestureX","offsetX","position","containerWidth","drawerWidth","drawerOpacity","touchDistanceFromDrawer","currentOpenValue","isStatusBarHidden","manuallyTriggerSpring","transitionTo","toValue","frameTime","state","time","finished","velocity","onTransitionEnd","onTransitionStart","value","Boolean","dragX","onOpen","onClose","forceUpdate","keyboardDismissMode","dismiss","ACTIVE","END","onGestureEnd","CANCELLED","onGestureCancel","onGestureStart","translateX","progress","handleGestureEvent","nativeEvent","x","translationX","handleGestureStateChange","s","handleContainerLayout","e","handleDrawerLayout","requestAnimationFrame","hidden","hideStatusBar","statusBarAnimation","setHidden","render","swipeEnabled","swipeEdgeWidth","overlayStyle","renderDrawerContent","children","gestureHandlerProps","overlayAccessibilityLabel","isRight","contentTranslateX","drawerTranslateX","offset","hitSlop","right","left","styles","main","flexDirection","content","transform","OS","container","opacity","nonPermanent","zIndex","create","backgroundColor","maxWidth","top","bottom","flex","select","web","default","overflow"],"sourceRoot":"../../../../src","sources":["views/legacy/Drawer.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,kBAAkB,EAClBC,QAAQ,EAERC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,IAAI,QACC,cAAc;AACrB,OAAOC,QAAQ,MAAM,yBAAyB;AAE9C,SACEC,oBAAoB,EACpBC,kBAAkB,EAClBC,gBAAgB,EAChBC,kBAAkB,QACb,iBAAiB;AAExB,SAASC,qBAAqB,QAAQ,mCAAmC;AACzE,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,mBAAmB;AACnE,SAASC,OAAO,QAAQ,WAAW;AAEnC,MAAM;EACJC,KAAK;EACLC,KAAK;EACLC,QAAQ;EACRC,YAAY;EACZC,UAAU;EACVC,SAAS;EACTC,MAAM;EACNC,GAAG;EACHC,GAAG;EACHC,GAAG;EACHC,KAAK;EACLC,IAAI;EACJC,IAAI;EACJC,MAAM;EACNC,EAAE;EACFC,KAAK;EACLC,WAAW;EACXC,QAAQ;EACRC,GAAG;EACHC,GAAG;EACHC,QAAQ;EACRC,GAAG;EACHC,EAAE;EACFC,GAAG;EACHC;AACF,CAAC,GAAGjC,QAAQ;AAEZ,MAAMkC,IAAI,GAAG,CAAC;AACd,MAAMC,KAAK,GAAG,CAAC;AACf,MAAMC,IAAI,GAAG,CAAC;AACd,MAAMC,KAAK,GAAG,CAAC,CAAC;AAEhB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,eAAe,GAAG,CAAC,CAAC;AAE1B,MAAMC,aAAa,GAAG;EACpBC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,GAAG;EACZC,IAAI,EAAE,CAAC;EACPC,iBAAiB,EAAE,IAAI;EACvBC,yBAAyB,EAAE,IAAI;EAC/BC,kBAAkB,EAAE;AACtB,CAAC;AAED,MAAMC,aAAa,GAAG,IAAI/C,QAAQ,CAACU,KAAK,CAAC,CAAC,CAAC;AAC3C,MAAMsC,YAAY,GAAG,IAAIhD,QAAQ,CAACU,KAAK,CAAC,CAAC,CAAC;AAQ1C,OAAO,MAAMuC,MAAM,SAASxD,KAAK,CAACyD,SAAS,CAAQ;EACjDC,kBAAkB,CAACC,SAAgB,EAAE;IACnC,MAAM;MACJC,IAAI;MACJC,cAAc;MACdC,UAAU;MACVC,gBAAgB;MAChBC,gBAAgB;MAChBC;IACF,CAAC,GAAG,IAAI,CAACC,KAAK;IAEd;IACE;IACA,OAAO,IAAI,CAACC,gBAAgB,KAAK,SAAS,IAC1CP,IAAI,KAAK,IAAI,CAACO,gBAAgB,EAC9B;MACA,IAAI,CAACC,YAAY,CAACR,IAAI,CAAC;IACzB;IAEA,IAAI,CAACO,gBAAgB,GAAGE,SAAS;IAEjC,IAAIT,IAAI,KAAKD,SAAS,CAACC,IAAI,IAAIK,mBAAmB,EAAE;MAClD,IAAI,CAACK,eAAe,CAACV,IAAI,CAAC;IAC5B;IAEA,IAAID,SAAS,CAACE,cAAc,KAAKA,cAAc,EAAE;MAC/C,IAAI,CAACA,cAAc,CAACU,QAAQ,CAC1BV,cAAc,KAAK,OAAO,GAAGf,eAAe,GAAGD,cAAc,CAC9D;IACH;IAEA,IAAIc,SAAS,CAACG,UAAU,KAAKA,UAAU,EAAE;MACvC,IAAI,CAACU,iBAAiB,CAACD,QAAQ,CAACT,UAAU,KAAK,OAAO,GAAGrB,IAAI,GAAGC,KAAK,CAAC;IACxE;IAEA,IAAIiB,SAAS,CAACI,gBAAgB,KAAKA,gBAAgB,EAAE;MACnD,IAAI,CAACU,sBAAsB,CAACF,QAAQ,CAClCR,gBAAgB,IAAItD,kBAAkB,CACvC;IACH;IAEA,IAAIkD,SAAS,CAACK,gBAAgB,KAAKA,gBAAgB,EAAE;MACnD,IAAI,CAACU,sBAAsB,CAACH,QAAQ,CAClCP,gBAAgB,IAAIrD,kBAAkB,CACvC;IACH;EACF;EAEAgE,oBAAoB,GAAG;IACrB,IAAI,CAACL,eAAe,CAAC,KAAK,CAAC;IAC3B,IAAI,CAACM,oBAAoB,EAAE;EAC7B;EAEQA,oBAAoB,GAAG,MAAM;IACnC,IAAI,IAAI,CAACC,iBAAiB,KAAKR,SAAS,EAAE;MACxCpE,kBAAkB,CAAC6E,sBAAsB,CAAC,IAAI,CAACD,iBAAiB,CAAC;MACjE,IAAI,CAACA,iBAAiB,GAAGR,SAAS;IACpC;EACF,CAAC;EAEOU,sBAAsB,GAAG,MAAM;IACrC,IAAI,IAAI,CAACF,iBAAiB,KAAKR,SAAS,EAAE;MACxC,IAAI,CAACQ,iBAAiB,GAAG5E,kBAAkB,CAAC+E,uBAAuB,EAAE;IACvE;EACF,CAAC;EAEOC,cAAc,GAAG,MAAc;IACrC,MAAM;MAAEC,WAAW;MAAEC;IAAO,CAAC,GAAG,IAAI,CAACjB,KAAK;IAC1C,MAAM;MAAEkB,KAAK,GAAG5E;IAAqB,CAAC,GACpCH,UAAU,CAACgF,OAAO,CAACH,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,OAAOE,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACE,QAAQ,CAAC,GAAG,CAAC,EAAE;MACpD;MACA,MAAMC,UAAU,GAAGC,MAAM,CAACJ,KAAK,CAACK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;MAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;QAC/B,OAAOJ,MAAM,CAACC,KAAK,IAAIG,UAAU,GAAG,GAAG,CAAC;MAC1C;IACF;IAEA,OAAO,OAAOH,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,CAAC;EAC9C,CAAC;EAEOO,KAAK,GAAG,IAAI3E,KAAK,EAAE;EAGnBwD,iBAAiB,GAAG,IAAIvD,KAAK,CACnC,IAAI,CAACiD,KAAK,CAACJ,UAAU,KAAK,OAAO,GAAGrB,IAAI,GAAGC,KAAK,CACjD;EAEOkD,MAAM,GAAG,IAAI3E,KAAK,CAAS,IAAI,CAACiD,KAAK,CAACN,IAAI,GAAGnB,IAAI,GAAGC,KAAK,CAAC;EAC1DmD,UAAU,GAAG,IAAI5E,KAAK,CAAc2B,KAAK,CAAC;EAC1CkD,SAAS,GAAG,IAAI7E,KAAK,CAASyB,KAAK,CAAC;EAEpCqD,kBAAkB,GAAG,IAAI,CAACd,cAAc,EAAE;EAE1Ce,YAAY,GAAG,IAAI/E,KAAK,CAASJ,YAAY,CAACoF,YAAY,CAAC;EAC3DC,MAAM,GAAG,IAAIjF,KAAK,CAAS,CAAC,CAAC;EAC7BkF,SAAS,GAAG,IAAIlF,KAAK,CAAS,CAAC,CAAC;EAChCmF,QAAQ,GAAG,IAAInF,KAAK,CAAS,CAAC,CAAC;EAC/BoF,OAAO,GAAG,IAAIpF,KAAK,CAAS,CAAC,CAAC;EAC9BqF,QAAQ,GAAG,IAAIrF,KAAK,CAC1B,IAAI,CAACiD,KAAK,CAACN,IAAI,GACX,IAAI,CAACmC,kBAAkB,IACtB,IAAI,CAAC7B,KAAK,CAACL,cAAc,KAAK,OAAO,GAClCf,eAAe,GACfD,cAAc,CAAC,GACnB,CAAC,CACN;EAEO0D,cAAc,GAAG,IAAItF,KAAK,CAAS,IAAI,CAACiD,KAAK,CAACiB,MAAM,CAACC,KAAK,CAAC;EAC3DoB,WAAW,GAAG,IAAIvF,KAAK,CAAS,IAAI,CAAC8E,kBAAkB,CAAC;EACxDU,aAAa,GAAG,IAAIxF,KAAK,CAC/B,IAAI,CAACiD,KAAK,CAACJ,UAAU,KAAK,WAAW,GAAG,CAAC,GAAG,CAAC,CAC9C;EACOD,cAAc,GAAG,IAAI5C,KAAK,CAChC,IAAI,CAACiD,KAAK,CAACL,cAAc,KAAK,OAAO,GAAGf,eAAe,GAAGD,cAAc,CACzE;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACQ6D,uBAAuB,GAAG9E,IAAI,CACpC,IAAI,CAAC4C,iBAAiB,EACtB5C,IAAI,CACFE,EAAE,CAAC,IAAI,CAAC+B,cAAc,EAAEhB,cAAc,CAAC,EACvCX,GAAG;EACD;EACAM,GAAG,CAACA,GAAG,CAAC,IAAI,CAAC0D,MAAM,EAAE,IAAI,CAACE,QAAQ,CAAC,EAAE,IAAI,CAACI,WAAW,CAAC,EACtD,CAAC,CACF,EACDrE,GAAG,CACDC,QAAQ;EACN;EACAI,GAAG,CACDA,GAAG,CAAC,IAAI,CAAC+D,cAAc,EAAE,IAAI,CAACC,WAAW,CAAC,EAC1ChE,GAAG,CAAC,IAAI,CAAC0D,MAAM,EAAE,IAAI,CAACE,QAAQ,CAAC,CAChC,EACDtD,eAAe,CAChB,EACD,CAAC,CACF,CACF,EACD,CAAC,CACF;EAEO2B,sBAAsB,GAAG,IAAIxD,KAAK,CACxC,IAAI,CAACiD,KAAK,CAACH,gBAAgB,IAAItD,kBAAkB,CAClD;EACOiE,sBAAsB,GAAG,IAAIzD,KAAK,CACxC,IAAI,CAACiD,KAAK,CAACF,gBAAgB,IAAIrD,kBAAkB,CAClD;EAEOgG,gBAAgB,GAAY,IAAI,CAACzC,KAAK,CAACN,IAAI;EAG3CgD,iBAAiB,GAAY,KAAK;EAElCC,qBAAqB,GAAG,IAAI5F,KAAK,CAASyB,KAAK,CAAC;EAEhDoE,YAAY,GAAIlB,MAAsC,IAAK;IACjE,MAAMmB,OAAO,GAAG,IAAI9F,KAAK,CAAC,CAAC,CAAC;IAC5B,MAAM+F,SAAS,GAAG,IAAI/F,KAAK,CAAC,CAAC,CAAC;IAE9B,MAAMgG,KAAK,GAAG;MACZX,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBY,IAAI,EAAE,IAAIjG,KAAK,CAAC,CAAC,CAAC;MAClBkG,QAAQ,EAAE,IAAIlG,KAAK,CAACyB,KAAK,CAAC;MAC1B0E,QAAQ,EAAE,IAAInG,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAOS,KAAK,CAAC,CACXE,IAAI,CAACT,YAAY,CAAC,IAAI,CAACwE,KAAK,CAAC,EAAEhD,IAAI,EAAE;IACnC;IACA;IACAJ,GAAG,CAACwE,OAAO,EAAE3E,QAAQ,CAACwD,MAAM,EAAE,IAAI,CAACY,WAAW,EAAE,IAAI,CAAC3C,cAAc,CAAC,CAAC,EACrEtB,GAAG,CAACyE,SAAS,EAAE,CAAC,CAAC,EACjBzE,GAAG,CAAC0E,KAAK,CAACC,IAAI,EAAE,CAAC,CAAC,EAClB3E,GAAG,CAAC0E,KAAK,CAACE,QAAQ,EAAEzE,KAAK,CAAC,EAC1BH,GAAG,CAAC0E,KAAK,CAACG,QAAQ,EAAE,IAAI,CAACjB,SAAS,CAAC,EACnC5D,GAAG,CAAC,IAAI,CAACqD,MAAM,EAAEA,MAAM,CAAC,EACxBxE,UAAU,CAAC,IAAI,CAACuE,KAAK,CAAC,EACtBhE,IAAI,CAAC,EAAE,EAAE,IAAI,CAACoD,sBAAsB,CAAC,EACrCxC,GAAG,CAAC,IAAI,CAACsE,qBAAqB,EAAEnE,KAAK,CAAC,CACvC,CAAC,EACFpB,MAAM,CAAC,IAAI,CAACqE,KAAK,EAAEsB,KAAK,EAAE;MAAE,GAAGlE,aAAa;MAAEgE;IAAQ,CAAC,CAAC,EACxD7F,QAAQ,CACN+F,KAAK,CAACE,QAAQ,EACdvF,IAAI,CACFqF,KAAK,CAACE,QAAQ,EACdxF,IAAI,CAAC,CAAC,IAAI,CAACiE,MAAM,CAAC,EAAGhC,IAAI;MAAA;MAAA,gCAAK,mBAAI,CAACM,KAAK,EAACmD,eAAe,0DAA1B,wCAA6B,CAACzD,IAAI,CAAC;IAAA,EAAC,EAClEjC,IAAI,CAAC,CAAC,IAAI,CAACiE,MAAM,CAAC,EAAGhC,IAAI;MAAA;MAAA,iCAAK,oBAAI,CAACM,KAAK,EAACoD,iBAAiB,2DAA5B,0CAA+B,CAAC1D,IAAI,CAAC;IAAA,EAAC,CACrE,CACF,EACDhC,IAAI,CAACqF,KAAK,CAACE,QAAQ,EAAE;IACnB;IACA5E,GAAG,CAAC,IAAI,CAAC2D,MAAM,EAAE,CAAC,CAAC,EACnB3D,GAAG,CAAC,IAAI,CAAC6D,QAAQ,EAAE,CAAC,CAAC,EACrB7D,GAAG,CAAC,IAAI,CAAC4D,SAAS,EAAE,CAAC,CAAC,EACtB5D,GAAG,CAAC,IAAI,CAAC8D,OAAO,EAAE,CAAC,CAAC;IACpB;IACAhF,SAAS,CAAC,IAAI,CAACsE,KAAK,CAAC,EACrBhE,IAAI,CAAC,CAAC,IAAI,CAACiE,MAAM,CAAC,EAAE,QAAgC;MAAA,IAA/B,CAAC2B,KAAK,CAAoB;MAC7C,MAAM3D,IAAI,GAAG4D,OAAO,CAACD,KAAK,CAAC;MAC3B,IAAI,CAAC3C,oBAAoB,EAAE;MAE3B,IAAIhB,IAAI,KAAK,IAAI,CAACM,KAAK,CAACN,IAAI,EAAE;QAC5B;QACA;QACA,IAAI,CAACQ,YAAY,CAAC,IAAI,CAACF,KAAK,CAACN,IAAI,CAAC;MACpC;IACF,CAAC,CAAC,CACH,CAAC,CACH,CAAC;EACJ,CAAC;EAEO6D,KAAK,GAAG/F,KAAK,CAAC,CACpBR,QAAQ,CACN,IAAI,CAAC0E,MAAM,EACXjE,IAAI,CAAC,CAAC,IAAI,CAACiE,MAAM,CAAC,EAAE,SAAgC;IAAA,IAA/B,CAAC2B,KAAK,CAAoB;IAC7C,MAAM3D,IAAI,GAAG4D,OAAO,CAACD,KAAK,CAAC;IAE3B,IAAI,CAACZ,gBAAgB,GAAG/C,IAAI;;IAE5B;IACA,IAAIA,IAAI,KAAK,IAAI,CAACM,KAAK,CAACN,IAAI,EAAE;MAC5B;MACA,IAAIA,IAAI,EAAE;QACR,IAAI,CAACM,KAAK,CAACwD,MAAM,EAAE;MACrB,CAAC,MAAM;QACL,IAAI,CAACxD,KAAK,CAACyD,OAAO,EAAE;MACtB;MAEA,IAAI,CAACxD,gBAAgB,GAAGP,IAAI;;MAE5B;MACA;MACA;MACA,IAAI,CAACgE,WAAW,EAAE;IACpB;EACF,CAAC,CAAC,CACH,EACD1G,QAAQ,CACN,IAAI,CAAC2E,UAAU,EACfjE,IAAI,CAACS,GAAG,CAAC,IAAI,CAACwD,UAAU,EAAEjD,KAAK,CAAC,EAAE;EAChC;EACAhB,IAAI,CAACT,YAAY,CAAC,IAAI,CAACwE,KAAK,CAAC,EAAEtE,SAAS,CAAC,IAAI,CAACsE,KAAK,CAAC,CAAC;EACrD;EACApD,GAAG,CAAC,IAAI,CAACqD,MAAM,EAAE,IAAI,CAACC,UAAU,CAAC,EACjCtD,GAAG,CAAC,IAAI,CAAC6D,QAAQ,EAAE,CAAC,CAAC,EACrB7D,GAAG,CAAC,IAAI,CAACsD,UAAU,EAAEjD,KAAK,CAAC,CAC5B,CAAC,CACH;EACD;EACA1B,QAAQ,CACN,IAAI,CAAC4E,SAAS;EACd;EACA;EACA;EACAnE,IAAI,CAAC,CAAC,IAAI,CAACmE,SAAS,CAAC,EAAE,SAAgC;IAAA,IAA/B,CAACyB,KAAK,CAAoB;IAChD,MAAM;MAAEM;IAAoB,CAAC,GAAG,IAAI,CAAC3D,KAAK;IAE1C,IAAIqD,KAAK,KAAK9E,IAAI,EAAE;MAClB,IAAIoF,mBAAmB,KAAK,SAAS,EAAE;QACrC3H,QAAQ,CAAC4H,OAAO,EAAE;MACpB;MAEA,IAAI,CAACxD,eAAe,CAAC,IAAI,CAAC;IAC5B,CAAC,MAAM;MACL,IAAI,CAACA,eAAe,CAAC,IAAI,CAACqC,gBAAgB,CAAC;IAC7C;EACF,CAAC,CAAC,CACH,EACDzF,QAAQ,CACN,IAAI,CAAC8E,YAAY,EACjBpE,IAAI,CACFE,EAAE,CAAC,IAAI,CAACkE,YAAY,EAAEnF,YAAY,CAACkH,MAAM,CAAC,EAC1CpG,IAAI,CAAC,EAAE,EAAE,IAAI,CAACoD,sBAAsB,CAAC,CACtC,CACF,EACD7D,QAAQ,CACN,IAAI,CAAC8E,YAAY,EACjBpE,IAAI,CAACE,EAAE,CAAC,IAAI,CAACkE,YAAY,EAAEnF,YAAY,CAACmH,GAAG,CAAC,EAAE,CAC5CrG,IAAI,CAAC,EAAE,EAAE;IAAA;IAAA,gCAAM,oBAAI,CAACuC,KAAK,EAAC+D,YAAY,0DAAvB,wCAA2B;EAAA,EAAC,CAC5C,CAAC,CACH,EACD/G,QAAQ,CACN,IAAI,CAAC8E,YAAY,EACjBpE,IAAI,CAACE,EAAE,CAAC,IAAI,CAACkE,YAAY,EAAEnF,YAAY,CAACqH,SAAS,CAAC,EAAE,CAClDvG,IAAI,CAAC,EAAE,EAAE;IAAA;IAAA,iCAAM,oBAAI,CAACuC,KAAK,EAACiE,eAAe,2DAA1B,yCAA8B;EAAA,EAAC,CAC/C,CAAC,CACH,EACDvG,IAAI,CACFE,EAAE,CAAC,IAAI,CAACkE,YAAY,EAAEnF,YAAY,CAACkH,MAAM,CAAC,EAC1C,CACEnG,IAAI,CAAC,IAAI,CAACkE,SAAS,EAAEnD,IAAI,EAAE;EACzB;EACAJ,GAAG,CAAC,IAAI,CAACuD,SAAS,EAAErD,IAAI,CAAC;EACzB;EACAF,GAAG,CAAC,IAAI,CAAC8D,OAAO,EAAE,IAAI,CAACC,QAAQ,CAAC,EAChC3E,IAAI,CAAC,EAAE,EAAE;IAAA;IAAA,iCAAM,oBAAI,CAACuC,KAAK,EAACkE,cAAc,2DAAzB,yCAA6B;EAAA,EAAC,CAC9C,CAAC;EACF;EACA7F,GAAG,CACD,IAAI,CAAC+D,QAAQ,EACb9E,GAAG,CAAC,IAAI,CAAC6E,OAAO,EAAE,IAAI,CAACD,QAAQ,EAAE,IAAI,CAACM,uBAAuB,CAAC,CAC/D;EACD;EACArF,SAAS,CAAC,IAAI,CAACsE,KAAK,CAAC,CACtB,EACD,CACEpD,GAAG,CAAC,IAAI,CAACuD,SAAS,EAAEpD,KAAK,CAAC,EAC1BH,GAAG,CAAC,IAAI,CAAC2D,MAAM,EAAE,CAAC,CAAC,EACnB,IAAI,CAACY,YAAY,CACflF,IAAI,CACF,IAAI,CAACiF,qBAAqB,EAC1B,IAAI,CAACjB,MAAM,EACXhE,IAAI,CACFU,EAAE,CACAb,GAAG,CACDO,WAAW,CAACT,GAAG,CAAC,IAAI,CAAC6E,QAAQ,CAAC,EAAE1F,gBAAgB,CAAC,EACjDsB,WAAW,CAACT,GAAG,CAAC,IAAI,CAAC4E,SAAS,CAAC,EAAE,IAAI,CAACzB,sBAAsB,CAAC,CAC9D,EACD1C,WAAW,CAACT,GAAG,CAAC,IAAI,CAAC6E,QAAQ,CAAC,EAAE,IAAI,CAAC3B,sBAAsB,CAAC,CAC7D,EACD7C,IAAI,CACFE,EAAE,CAAC,IAAI,CAAC+B,cAAc,EAAEhB,cAAc,CAAC;EACvC;EACAb,WAAW,CACTJ,IAAI,CAACE,EAAE,CAAC,IAAI,CAACqE,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,CAACC,QAAQ,EAAE,IAAI,CAACD,SAAS,CAAC,EAC1D,CAAC,CACF;EACD;EACAlE,QAAQ,CACNL,IAAI,CAACE,EAAE,CAAC,IAAI,CAACqE,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,CAACC,QAAQ,EAAE,IAAI,CAACD,SAAS,CAAC,EAC1D,CAAC,CACF,CACF,EACD,IAAI,CAACP,MAAM,CACZ,CACF,CACF,CACF,CACF,EACD,IAAI,CAACU,QAAQ,CACd,CAAC;EAEM+B,UAAU,GAAGzG,IAAI,CACvBE,EAAE,CAAC,IAAI,CAAC+B,cAAc,EAAEf,eAAe,CAAC,EACxCX,GAAG,CAACD,GAAG,CAACE,QAAQ,CAAC,IAAI,CAACoE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAACiB,KAAK,CAAC,EAAE,CAAC,CAAC,EACvDvF,GAAG,CAACC,GAAG,CAAC,IAAI,CAACqE,WAAW,EAAE,IAAI,CAACiB,KAAK,CAAC,EAAE,CAAC,CAAC,CAC1C;EAEOa,QAAQ,GAAG1G,IAAI;EACrB;EACAE,EAAE,CAAC,IAAI,CAAC0E,WAAW,EAAE,CAAC,CAAC,EACvB,CAAC,EACDjF,GAAG,CAACM,MAAM,CAAC,IAAI,CAACwG,UAAU,EAAE,IAAI,CAAC7B,WAAW,CAAC,CAAC,CAC/C;EAEO+B,kBAAkB,GAAGxG,KAAK,CAAC,CACjC;IACEyG,WAAW,EAAE;MACXC,CAAC,EAAE,IAAI,CAACvC,MAAM;MACdwC,YAAY,EAAE,IAAI,CAACtC,QAAQ;MAC3BD,SAAS,EAAE,IAAI,CAACA;IAClB;EACF,CAAC,CACF,CAAC;EAEMwC,wBAAwB,GAAG5G,KAAK,CAAC,CACvC;IACEyG,WAAW,EAAE;MACXvB,KAAK,EAAG2B,CAAyB,IAAKrG,GAAG,CAAC,IAAI,CAACyD,YAAY,EAAE4C,CAAC;IAChE;EACF,CAAC,CACF,CAAC;EAEMC,qBAAqB,GAAIC,CAAoB,IACnD,IAAI,CAACvC,cAAc,CAAChC,QAAQ,CAACuE,CAAC,CAACN,WAAW,CAACrD,MAAM,CAACC,KAAK,CAAC;EAElD2D,kBAAkB,GAAID,CAAoB,IAAK;IACrD,IAAI,CAACtC,WAAW,CAACjC,QAAQ,CAACuE,CAAC,CAACN,WAAW,CAACrD,MAAM,CAACC,KAAK,CAAC;IACrD,IAAI,CAAChB,YAAY,CAAC,IAAI,CAACF,KAAK,CAACN,IAAI,CAAC;;IAElC;IACA;IACA;IACAoF,qBAAqB,CAAC,MACpBA,qBAAqB,CAAC,MAAM,IAAI,CAACvC,aAAa,CAAClC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC5D;EACH,CAAC;EAEOH,YAAY,GAAIR,IAAa,IAAK;IACxC,IAAI,IAAI,CAAC+C,gBAAgB,KAAK/C,IAAI,EAAE;MAClC,IAAI,CAACiC,UAAU,CAACtB,QAAQ,CAACX,IAAI,GAAGnB,IAAI,GAAGC,KAAK,CAAC;;MAE7C;MACA;MACA,IAAI,CAACiE,gBAAgB,GAAG/C,IAAI;IAC9B;EACF,CAAC;EAEOU,eAAe,GAAI2E,MAAe,IAAK;IAC7C,MAAM;MAAEhF,mBAAmB,EAAEiF,aAAa;MAAEC;IAAmB,CAAC,GAC9D,IAAI,CAACjF,KAAK;IAEZ,IAAIgF,aAAa,IAAI,IAAI,CAACtC,iBAAiB,KAAKqC,MAAM,EAAE;MACtD,IAAI,CAACrC,iBAAiB,GAAGqC,MAAM;MAC/B7I,SAAS,CAACgJ,SAAS,CAACH,MAAM,EAAEE,kBAAkB,CAAC;IACjD;EACF,CAAC;EAEDE,MAAM,GAAG;IACP,MAAM;MACJzF,IAAI;MACJ0F,YAAY;MACZzF,cAAc;MACdC,UAAU;MACVyF,cAAc;MACdrE,WAAW;MACXsE,YAAY;MACZC,mBAAmB;MACnBC,QAAQ;MACRC,mBAAmB;MACnBC;IACF,CAAC,GAAG,IAAI,CAAC1F,KAAK;IAEd,MAAM0B,MAAM,GAAG9B,UAAU,KAAK,WAAW,GAAG,IAAI,GAAGF,IAAI;IACvD,MAAMiG,OAAO,GAAGhG,cAAc,KAAK,OAAO;IAE1C,MAAMiG,iBAAiB,GACrBhG,UAAU,KAAK,OAAO,GAAGR,aAAa,GAAG,IAAI,CAAC+E,UAAU;IAE1D,MAAM0B,gBAAgB,GACpBjG,UAAU,KAAK,MAAM,GAAGR,aAAa,GAAG,IAAI,CAAC+E,UAAU;IAEzD,MAAM2B,MAAM,GAAGlG,UAAU,KAAK,MAAM,GAAG,CAAC,GAAG,MAAM;;IAEjD;IACA;IACA,MAAMmG,OAAO,GAAGJ,OAAO;IACnB;IACA;IACA;MAAEK,KAAK,EAAE,CAAC;MAAE9E,KAAK,EAAEQ,MAAM,GAAGvB,SAAS,GAAGkF;IAAe,CAAC,GACxD;MAAEY,IAAI,EAAE,CAAC;MAAE/E,KAAK,EAAEQ,MAAM,GAAGvB,SAAS,GAAGkF;IAAe,CAAC;IAE3D,MAAMjB,QAAQ,GAAGxE,UAAU,KAAK,WAAW,GAAGP,YAAY,GAAG,IAAI,CAAC+E,QAAQ;IAE1E,oBACE,oBAAC,qBAAqB,CAAC,QAAQ;MAAC,KAAK,EAAEA;IAAS,gBAC9C,oBAAC,iBAAiB;MAChB,aAAa,EAAE,CAAC,CAAC5H,gBAAgB,EAAEA,gBAAgB,CAAE;MACrD,WAAW,EAAE,CAAC,CAACA,gBAAgB,EAAEA,gBAAgB,CAAE;MACnD,cAAc,EAAE,IAAI,CAAC6H,kBAAmB;MACxC,oBAAoB,EAAE,IAAI,CAACI,wBAAyB;MACpD,OAAO,EAAEsB,OAAQ;MACjB,OAAO,EAAEnG,UAAU,KAAK,WAAW,IAAIwF;IAAa,GAChDK,mBAAmB,gBAEvB,oBAAC,QAAQ,CAAC,IAAI;MACZ,QAAQ,EAAE,IAAI,CAACd,qBAAsB;MACrC,KAAK,EAAE,CACLuB,MAAM,CAACC,IAAI,EACX;QACEC,aAAa,EACXxG,UAAU,KAAK,WAAW,IAAI,CAAC+F,OAAO,GAClC,aAAa,GACb;MACR,CAAC;IACD,gBAEF,oBAAC,QAAQ,CAAC,IAAI;MACZ,KAAK,EAAE,CACLO,MAAM,CAACG,OAAO,EACd;QACEC,SAAS,EACP1G,UAAU,KAAK,WAAW;QACtB;QACA;QACA,EAAE,GACF,CAAC;UAAEuE,UAAU,EAAEyB;QAAkB,CAAC;MAC1C,CAAC;IACD,gBAEF,oBAAC,IAAI;MACH,2BAA2B,EACzBlE,MAAM,IAAI9B,UAAU,KAAK,WAC1B;MACD,yBAAyB,EACvB8B,MAAM,IAAI9B,UAAU,KAAK,WAAW,GAChC,qBAAqB,GACrB,MACL;MACD,KAAK,EAAEsG,MAAM,CAACG;IAAQ,GAErBb,QAAQ,CACJ;IAEL;IACA5F,UAAU,KAAK,WAAW,GAAG,IAAI,gBAC/B,oBAAC,OAAO;MACN,QAAQ,EAAEwE,QAAS;MACnB,OAAO,EAAE,MAAM,IAAI,CAAClE,YAAY,CAAC,KAAK,CAAE;MACxC,kBAAkB,EAAEwF,yBAA0B;MAC9C,KAAK,EAAEJ,YAAoB;MAC3B,2BAA2B,EAAE,CAAC5D,MAAO;MACrC,yBAAyB,EACvBA,MAAM,GAAG,MAAM,GAAG;IACnB,EAEJ,CAEW,eAChB,oBAAC,QAAQ,CAAC,IAAI;MACZ;MACA;MACA,IAAI,EAAE,IAAI,CAACW;IAAe,EAC1B,EACDzC,UAAU,KAAK,WAAW,GAAG,IAAI,gBAChC,oBAAC,QAAQ,CAAC,IAAI;MACZ,IAAI,EAAEpC,KAAK,CAAC,CACVR,QAAQ,CAAC,IAAI,CAAC2F,qBAAqB,EAAE,CACnCjF,IAAI,CAACE,EAAE,CAAC,IAAI,CAAC+E,qBAAqB,EAAEpE,IAAI,CAAC,EAAE,CACzCF,GAAG,CAAC,IAAI,CAACsD,UAAU,EAAEnD,KAAK,CAAC,EAC3Bf,IAAI,CAAC,EAAE,EAAE,MAAO,IAAI,CAACgF,gBAAgB,GAAG,KAAM,CAAC,CAChD,CAAC,CACH,CAAC,CACH;IAAE,EAEN,eACD,oBAAC,QAAQ,CAAC,IAAI;MACZ,qBAAqB,EAAExG,QAAQ,CAACsK,EAAE,KAAK,KAAM;MAC7C,QAAQ,EAAE,IAAI,CAAC1B,kBAAmB;MAClC,KAAK,EAAE,CACLqB,MAAM,CAACM,SAAS,EAChB;QACEF,SAAS,EACP1G,UAAU,KAAK,WAAW;QACtB;QACA;QACA,EAAE,GACF,CAAC;UAAEuE,UAAU,EAAE0B;QAAiB,CAAC,CAAC;QACxCY,OAAO,EAAE,IAAI,CAAClE;MAChB,CAAC,EACD3C,UAAU,KAAK,WAAW;MACtB;MACA+F,OAAO,GACL;QAAEK,KAAK,EAAE;MAAE,CAAC,GACZ;QAAEC,IAAI,EAAE;MAAE,CAAC,GACb,CACEC,MAAM,CAACQ,YAAY,EACnBf,OAAO,GAAG;QAAEK,KAAK,EAAEF;MAAO,CAAC,GAAG;QAAEG,IAAI,EAAEH;MAAO,CAAC,EAC9C;QAAEa,MAAM,EAAE/G,UAAU,KAAK,MAAM,GAAG,CAAC,CAAC,GAAG;MAAE,CAAC,CAC3C,EACLoB,WAAW;IACX,GAEDuE,mBAAmB,EAAE,CACR,CACF,CACE,CACW;EAErC;AACF;AAEA,MAAMW,MAAM,GAAG/J,UAAU,CAACyK,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,eAAe,EAAE,OAAO;IACxBC,QAAQ,EAAE;EACZ,CAAC;EACDJ,YAAY,EAAE;IACZtE,QAAQ,EAAE,UAAU;IACpB2E,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,CAAC;IACT9F,KAAK,EAAE5E;EACT,CAAC;EACD+J,OAAO,EAAE;IACPY,IAAI,EAAE;EACR,CAAC;EACDd,IAAI,EAAE;IACJc,IAAI,EAAE,CAAC;IACP,GAAGhL,QAAQ,CAACiL,MAAM,CAAC;MACjB;MACA;MACAC,GAAG,EAAE,IAAI;MACTC,OAAO,EAAE;QAAEC,QAAQ,EAAE;MAAS;IAChC,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -1,63 +0,0 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- import * as React from 'react';
3
- import { Platform, Pressable, StyleSheet } from 'react-native';
4
- import Animated from 'react-native-reanimated';
5
- const {
6
- // @ts-expect-error: this is to support reanimated 1
7
- interpolate: interpolateDeprecated,
8
- interpolateNode,
9
- cond,
10
- greaterThan
11
- } = Animated;
12
- const interpolate = interpolateNode ?? interpolateDeprecated;
13
- const PROGRESS_EPSILON = 0.05;
14
- export const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
15
- let {
16
- progress,
17
- onPress,
18
- style,
19
- accessibilityLabel = 'Close drawer',
20
- ...props
21
- } = _ref;
22
- const animatedStyle = {
23
- opacity: interpolate(progress, {
24
- // Default input range is [PROGRESS_EPSILON, 1]
25
- // On Windows, the output value is 1 when input value is out of range for some reason
26
- // The default value 0 will be interpolated to 1 in this case, which is not what we want.
27
- // Therefore changing input range on Windows to [0,1] instead.
28
- inputRange: Platform.OS === 'windows' || Platform.OS === 'macos' ? [0, 1] : [PROGRESS_EPSILON, 1],
29
- outputRange: [0, 1]
30
- }),
31
- // We don't want the user to be able to press through the overlay when drawer is open
32
- // One approach is to adjust the pointerEvents based on the progress
33
- // But we can also send the overlay behind the screen, which works, and is much less code
34
- zIndex: cond(greaterThan(progress, PROGRESS_EPSILON), 0, -1)
35
- };
36
- return /*#__PURE__*/React.createElement(Animated.View, _extends({}, props, {
37
- ref: ref,
38
- style: [styles.overlay, overlayStyle, animatedStyle, style]
39
- }), /*#__PURE__*/React.createElement(Pressable, {
40
- onPress: onPress,
41
- style: styles.pressable,
42
- accessibilityRole: "button",
43
- accessibilityLabel: accessibilityLabel
44
- }));
45
- });
46
- const overlayStyle = Platform.select({
47
- web: {
48
- // Disable touch highlight on mobile Safari.
49
- // WebkitTapHighlightColor must be used outside of StyleSheet.create because react-native-web will omit the property.
50
- WebkitTapHighlightColor: 'transparent'
51
- },
52
- default: {}
53
- });
54
- const styles = StyleSheet.create({
55
- overlay: {
56
- ...StyleSheet.absoluteFillObject,
57
- backgroundColor: 'rgba(0, 0, 0, 0.5)'
58
- },
59
- pressable: {
60
- flex: 1
61
- }
62
- });
63
- //# sourceMappingURL=Overlay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Platform","Pressable","StyleSheet","Animated","interpolate","interpolateDeprecated","interpolateNode","cond","greaterThan","PROGRESS_EPSILON","Overlay","forwardRef","ref","progress","onPress","style","accessibilityLabel","props","animatedStyle","opacity","inputRange","OS","outputRange","zIndex","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../../../src","sources":["views/legacy/Overlay.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AAC9D,OAAOC,QAAQ,MAAM,yBAAyB;AAE9C,MAAM;EACJ;EACAC,WAAW,EAAEC,qBAAqB;EAClCC,eAAe;EACfC,IAAI;EACJC;AACF,CAAC,GAAGL,QAAQ;AAEZ,MAAMC,WAAmC,GACvCE,eAAe,IAAID,qBAAqB;AAE1C,MAAMI,gBAAgB,GAAG,IAAI;AAQ7B,OAAO,MAAMC,OAAO,gBAAGX,KAAK,CAACY,UAAU,CAAC,SAASD,OAAO,OAQtDE,GAA6B,EAC7B;EAAA,IARA;IACEC,QAAQ;IACRC,OAAO;IACPC,KAAK;IACLC,kBAAkB,GAAG,cAAc;IACnC,GAAGC;EACE,CAAC;EAGR,MAAMC,aAAa,GAAG;IACpBC,OAAO,EAAEf,WAAW,CAACS,QAAQ,EAAE;MAC7B;MACA;MACA;MACA;MACAO,UAAU,EACRpB,QAAQ,CAACqB,EAAE,KAAK,SAAS,IAAIrB,QAAQ,CAACqB,EAAE,KAAK,OAAO,GAChD,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAACZ,gBAAgB,EAAE,CAAC,CAAC;MAC3Ba,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;IACpB,CAAC,CAAC;IACF;IACA;IACA;IACAC,MAAM,EAAEhB,IAAI,CAACC,WAAW,CAACK,QAAQ,EAAEJ,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC7D,CAAC;EAED,oBACE,oBAAC,QAAQ,CAAC,IAAI,eACRQ,KAAK;IACT,GAAG,EAAEL,GAAI;IACT,KAAK,EAAE,CAACY,MAAM,CAACC,OAAO,EAAEC,YAAY,EAAER,aAAa,EAAEH,KAAK;EAAE,iBAE5D,oBAAC,SAAS;IACR,OAAO,EAAED,OAAQ;IACjB,KAAK,EAAEU,MAAM,CAACG,SAAU;IACxB,iBAAiB,EAAC,QAAQ;IAC1B,kBAAkB,EAAEX;EAAmB,EACvC,CACY;AAEpB,CAAC,CAAC;AAEF,MAAMU,YAAY,GAAG1B,QAAQ,CAAC4B,MAAM,CAAyB;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAMP,MAAM,GAAGtB,UAAU,CAAC8B,MAAM,CAAC;EAC/BP,OAAO,EAAE;IACP,GAAGvB,UAAU,CAAC+B,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDP,SAAS,EAAE;IACTQ,IAAI,EAAE;EACR;AACF,CAAC,CAAC"}