@react-navigation/drawer 6.5.8 → 7.0.0-alpha.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 (120) hide show
  1. package/lib/commonjs/index.js +4 -6
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/navigators/createDrawerNavigator.js +3 -43
  4. package/lib/commonjs/navigators/createDrawerNavigator.js.map +1 -1
  5. package/lib/commonjs/views/DrawerItem.js +13 -5
  6. package/lib/commonjs/views/DrawerItem.js.map +1 -1
  7. package/lib/commonjs/views/DrawerItemList.js +6 -6
  8. package/lib/commonjs/views/DrawerItemList.js.map +1 -1
  9. package/lib/commonjs/views/DrawerView.js +23 -58
  10. package/lib/commonjs/views/DrawerView.js.map +1 -1
  11. package/lib/module/index.js +1 -3
  12. package/lib/module/index.js.map +1 -1
  13. package/lib/module/navigators/createDrawerNavigator.js +3 -43
  14. package/lib/module/navigators/createDrawerNavigator.js.map +1 -1
  15. package/lib/module/views/DrawerItem.js +14 -6
  16. package/lib/module/views/DrawerItem.js.map +1 -1
  17. package/lib/module/views/DrawerItemList.js +7 -7
  18. package/lib/module/views/DrawerItemList.js.map +1 -1
  19. package/lib/module/views/DrawerView.js +23 -58
  20. package/lib/module/views/DrawerView.js.map +1 -1
  21. package/lib/typescript/src/index.d.ts +1 -3
  22. package/lib/typescript/src/index.d.ts.map +1 -1
  23. package/lib/typescript/src/navigators/createDrawerNavigator.d.ts +8 -3
  24. package/lib/typescript/src/navigators/createDrawerNavigator.d.ts.map +1 -1
  25. package/lib/typescript/src/types.d.ts +20 -14
  26. package/lib/typescript/src/types.d.ts.map +1 -1
  27. package/lib/typescript/src/views/DrawerItem.d.ts +18 -5
  28. package/lib/typescript/src/views/DrawerItem.d.ts.map +1 -1
  29. package/lib/typescript/src/views/DrawerItemList.d.ts +1 -1
  30. package/lib/typescript/src/views/DrawerItemList.d.ts.map +1 -1
  31. package/lib/typescript/src/views/DrawerToggleButton.d.ts +1 -1
  32. package/lib/typescript/src/views/DrawerToggleButton.d.ts.map +1 -1
  33. package/lib/typescript/src/views/DrawerView.d.ts +1 -1
  34. package/lib/typescript/src/views/DrawerView.d.ts.map +1 -1
  35. package/lib/typescript/src/views/ScreenFallback.d.ts +1 -1
  36. package/lib/typescript/src/views/ScreenFallback.d.ts.map +1 -1
  37. package/package.json +14 -14
  38. package/src/index.tsx +5 -3
  39. package/src/navigators/createDrawerNavigator.tsx +2 -72
  40. package/src/types.tsx +8 -1
  41. package/src/views/DrawerItem.tsx +33 -11
  42. package/src/views/DrawerItemList.tsx +5 -4
  43. package/src/views/DrawerView.tsx +17 -68
  44. package/lib/commonjs/utils/DrawerGestureContext.js +0 -12
  45. package/lib/commonjs/utils/DrawerGestureContext.js.map +0 -1
  46. package/lib/commonjs/utils/DrawerProgressContext.js +0 -12
  47. package/lib/commonjs/utils/DrawerProgressContext.js.map +0 -1
  48. package/lib/commonjs/utils/useDrawerProgress.js +0 -19
  49. package/lib/commonjs/utils/useDrawerProgress.js.map +0 -1
  50. package/lib/commonjs/views/GestureHandler.android.js +0 -17
  51. package/lib/commonjs/views/GestureHandler.android.js.map +0 -1
  52. package/lib/commonjs/views/GestureHandler.ios.js +0 -17
  53. package/lib/commonjs/views/GestureHandler.ios.js.map +0 -1
  54. package/lib/commonjs/views/GestureHandler.js +0 -32
  55. package/lib/commonjs/views/GestureHandler.js.map +0 -1
  56. package/lib/commonjs/views/GestureHandlerNative.js +0 -37
  57. package/lib/commonjs/views/GestureHandlerNative.js.map +0 -1
  58. package/lib/commonjs/views/legacy/Drawer.js +0 -419
  59. package/lib/commonjs/views/legacy/Drawer.js.map +0 -1
  60. package/lib/commonjs/views/legacy/Overlay.js +0 -71
  61. package/lib/commonjs/views/legacy/Overlay.js.map +0 -1
  62. package/lib/commonjs/views/modern/Drawer.js +0 -303
  63. package/lib/commonjs/views/modern/Drawer.js.map +0 -1
  64. package/lib/commonjs/views/modern/Overlay.js +0 -66
  65. package/lib/commonjs/views/modern/Overlay.js.map +0 -1
  66. package/lib/module/utils/DrawerGestureContext.js +0 -3
  67. package/lib/module/utils/DrawerGestureContext.js.map +0 -1
  68. package/lib/module/utils/DrawerProgressContext.js +0 -3
  69. package/lib/module/utils/DrawerProgressContext.js.map +0 -1
  70. package/lib/module/utils/useDrawerProgress.js +0 -10
  71. package/lib/module/utils/useDrawerProgress.js.map +0 -1
  72. package/lib/module/views/GestureHandler.android.js +0 -2
  73. package/lib/module/views/GestureHandler.android.js.map +0 -1
  74. package/lib/module/views/GestureHandler.ios.js +0 -2
  75. package/lib/module/views/GestureHandler.ios.js.map +0 -1
  76. package/lib/module/views/GestureHandler.js +0 -20
  77. package/lib/module/views/GestureHandler.js.map +0 -1
  78. package/lib/module/views/GestureHandlerNative.js +0 -11
  79. package/lib/module/views/GestureHandlerNative.js.map +0 -1
  80. package/lib/module/views/legacy/Drawer.js +0 -409
  81. package/lib/module/views/legacy/Drawer.js.map +0 -1
  82. package/lib/module/views/legacy/Overlay.js +0 -61
  83. package/lib/module/views/legacy/Overlay.js.map +0 -1
  84. package/lib/module/views/modern/Drawer.js +0 -294
  85. package/lib/module/views/modern/Drawer.js.map +0 -1
  86. package/lib/module/views/modern/Overlay.js +0 -57
  87. package/lib/module/views/modern/Overlay.js.map +0 -1
  88. package/lib/typescript/src/utils/DrawerGestureContext.d.ts +0 -4
  89. package/lib/typescript/src/utils/DrawerGestureContext.d.ts.map +0 -1
  90. package/lib/typescript/src/utils/DrawerProgressContext.d.ts +0 -5
  91. package/lib/typescript/src/utils/DrawerProgressContext.d.ts.map +0 -1
  92. package/lib/typescript/src/utils/useDrawerProgress.d.ts +0 -3
  93. package/lib/typescript/src/utils/useDrawerProgress.d.ts.map +0 -1
  94. package/lib/typescript/src/views/GestureHandler.android.d.ts +0 -2
  95. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +0 -1
  96. package/lib/typescript/src/views/GestureHandler.d.ts +0 -15
  97. package/lib/typescript/src/views/GestureHandler.d.ts.map +0 -1
  98. package/lib/typescript/src/views/GestureHandler.ios.d.ts +0 -2
  99. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +0 -1
  100. package/lib/typescript/src/views/GestureHandlerNative.d.ts +0 -6
  101. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +0 -1
  102. package/lib/typescript/src/views/legacy/Drawer.d.ts +0 -45
  103. package/lib/typescript/src/views/legacy/Drawer.d.ts.map +0 -1
  104. package/lib/typescript/src/views/legacy/Overlay.d.ts +0 -74
  105. package/lib/typescript/src/views/legacy/Overlay.d.ts.map +0 -1
  106. package/lib/typescript/src/views/modern/Drawer.d.ts +0 -4
  107. package/lib/typescript/src/views/modern/Drawer.d.ts.map +0 -1
  108. package/lib/typescript/src/views/modern/Overlay.d.ts +0 -74
  109. package/lib/typescript/src/views/modern/Overlay.d.ts.map +0 -1
  110. package/src/utils/DrawerGestureContext.tsx +0 -3
  111. package/src/utils/DrawerProgressContext.tsx +0 -6
  112. package/src/utils/useDrawerProgress.tsx +0 -18
  113. package/src/views/GestureHandler.android.tsx +0 -1
  114. package/src/views/GestureHandler.ios.tsx +0 -1
  115. package/src/views/GestureHandler.tsx +0 -29
  116. package/src/views/GestureHandlerNative.tsx +0 -24
  117. package/src/views/legacy/Drawer.tsx +0 -671
  118. package/src/views/legacy/Overlay.tsx +0 -75
  119. package/src/views/modern/Drawer.tsx +0 -424
  120. package/src/views/modern/Overlay.tsx +0 -70
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TapGestureHandler = exports.PanGestureHandler = exports.GestureState = exports.GestureHandlerRootView = void 0;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
- const Dummy = _ref => {
12
- let {
13
- children
14
- } = _ref;
15
- return /*#__PURE__*/React.createElement(React.Fragment, null, children);
16
- };
17
- const PanGestureHandler = Dummy;
18
- exports.PanGestureHandler = PanGestureHandler;
19
- const TapGestureHandler = Dummy;
20
- exports.TapGestureHandler = TapGestureHandler;
21
- const GestureHandlerRootView = _reactNative.View;
22
- exports.GestureHandlerRootView = GestureHandlerRootView;
23
- const GestureState = {
24
- UNDETERMINED: 0,
25
- FAILED: 1,
26
- BEGAN: 2,
27
- CANCELLED: 3,
28
- ACTIVE: 4,
29
- END: 5
30
- };
31
- exports.GestureState = GestureState;
32
- //# sourceMappingURL=GestureHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Dummy","children","PanGestureHandler","TapGestureHandler","GestureHandlerRootView","View","GestureState","UNDETERMINED","FAILED","BEGAN","CANCELLED","ACTIVE","END"],"sourceRoot":"../../src","sources":["GestureHandler.tsx"],"mappings":";;;;;;AAAA;AACA;AAAoC;AAAA;AAMpC,MAAMA,KAAU,GAAG;EAAA,IAAC;IAAEC;EAAwC,CAAC;EAAA,oBAC7D,0CAAGA,QAAQ,CAAI;AAAA,CAChB;AAEM,MAAMC,iBAAiB,GAC5BF,KAAyD;AAAC;AAErD,MAAMG,iBAAiB,GAC5BH,KAAyD;AAAC;AAErD,MAAMI,sBAAsB,GAAGC,iBAAI;AAAC;AAEpC,MAAMC,YAAY,GAAG;EAC1BC,YAAY,EAAE,CAAC;EACfC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE,CAAC;EACZC,MAAM,EAAE,CAAC;EACTC,GAAG,EAAE;AACP,CAAC;AAAC"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "GestureHandlerRootView", {
7
- enumerable: true,
8
- get: function () {
9
- return _reactNativeGestureHandler.GestureHandlerRootView;
10
- }
11
- });
12
- Object.defineProperty(exports, "GestureState", {
13
- enumerable: true,
14
- get: function () {
15
- return _reactNativeGestureHandler.State;
16
- }
17
- });
18
- exports.PanGestureHandler = PanGestureHandler;
19
- Object.defineProperty(exports, "TapGestureHandler", {
20
- enumerable: true,
21
- get: function () {
22
- return _reactNativeGestureHandler.TapGestureHandler;
23
- }
24
- });
25
- var React = _interopRequireWildcard(require("react"));
26
- var _reactNativeGestureHandler = require("react-native-gesture-handler");
27
- var _DrawerGestureContext = _interopRequireDefault(require("../utils/DrawerGestureContext"));
28
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
30
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
- function PanGestureHandler(props) {
32
- const gestureRef = React.useRef(null);
33
- return /*#__PURE__*/React.createElement(_DrawerGestureContext.default.Provider, {
34
- value: gestureRef
35
- }, /*#__PURE__*/React.createElement(_reactNativeGestureHandler.PanGestureHandler, props));
36
- }
37
- //# sourceMappingURL=GestureHandlerNative.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["PanGestureHandler","props","gestureRef","React","useRef"],"sourceRoot":"../../src","sources":["GestureHandlerNative.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAKA;AAAiE;AAAA;AAAA;AAE1D,SAASA,iBAAiB,CAACC,KAAkC,EAAE;EACpE,MAAMC,UAAU,GAAGC,KAAK,CAACC,MAAM,CAA0B,IAAI,CAAC;EAE9D,oBACE,oBAAC,6BAAoB,CAAC,QAAQ;IAAC,KAAK,EAAEF;EAAW,gBAC/C,oBAAC,4CAAuB,EAAKD,KAAK,CAAI,CACR;AAEpC"}
@@ -1,419 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
10
- var _DrawerProgressContext = _interopRequireDefault(require("../../utils/DrawerProgressContext"));
11
- var _GestureHandler = require("../GestureHandler");
12
- var _Overlay = _interopRequireDefault(require("./Overlay"));
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
- 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); }
17
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
20
- const {
21
- Clock,
22
- Value,
23
- onChange,
24
- clockRunning,
25
- startClock,
26
- stopClock,
27
- spring,
28
- abs,
29
- add,
30
- and,
31
- block,
32
- call,
33
- cond,
34
- divide,
35
- eq,
36
- event,
37
- greaterThan,
38
- lessThan,
39
- max,
40
- min,
41
- multiply,
42
- neq,
43
- or,
44
- set,
45
- sub
46
- } = _reactNativeReanimated.default;
47
- const TRUE = 1;
48
- const FALSE = 0;
49
- const NOOP = 0;
50
- const UNSET = -1;
51
- const DIRECTION_LEFT = 1;
52
- const DIRECTION_RIGHT = -1;
53
- const SWIPE_DISTANCE_MINIMUM = 5;
54
- const DEFAULT_DRAWER_WIDTH = '80%';
55
- const SPRING_CONFIG = {
56
- stiffness: 1000,
57
- damping: 500,
58
- mass: 3,
59
- overshootClamping: true,
60
- restDisplacementThreshold: 0.01,
61
- restSpeedThreshold: 0.01
62
- };
63
- const ANIMATED_ZERO = new _reactNativeReanimated.default.Value(0);
64
- const ANIMATED_ONE = new _reactNativeReanimated.default.Value(1);
65
- class DrawerView extends React.Component {
66
- constructor() {
67
- super(...arguments);
68
- _defineProperty(this, "handleEndInteraction", () => {
69
- if (this.interactionHandle !== undefined) {
70
- _reactNative.InteractionManager.clearInteractionHandle(this.interactionHandle);
71
- this.interactionHandle = undefined;
72
- }
73
- });
74
- _defineProperty(this, "handleStartInteraction", () => {
75
- if (this.interactionHandle === undefined) {
76
- this.interactionHandle = _reactNative.InteractionManager.createInteractionHandle();
77
- }
78
- });
79
- _defineProperty(this, "getDrawerWidth", () => {
80
- const {
81
- drawerStyle,
82
- dimensions
83
- } = this.props;
84
- const {
85
- width = DEFAULT_DRAWER_WIDTH
86
- } = _reactNative.StyleSheet.flatten(drawerStyle) || {};
87
- if (typeof width === 'string' && width.endsWith('%')) {
88
- // Try to calculate width if a percentage is given
89
- const percentage = Number(width.replace(/%$/, ''));
90
- if (Number.isFinite(percentage)) {
91
- return dimensions.width * (percentage / 100);
92
- }
93
- }
94
- return typeof width === 'number' ? width : 0;
95
- });
96
- _defineProperty(this, "clock", new Clock());
97
- _defineProperty(this, "interactionHandle", void 0);
98
- _defineProperty(this, "isDrawerTypeFront", new Value(this.props.drawerType === 'front' ? TRUE : FALSE));
99
- _defineProperty(this, "isOpen", new Value(this.props.open ? TRUE : FALSE));
100
- _defineProperty(this, "nextIsOpen", new Value(UNSET));
101
- _defineProperty(this, "isSwiping", new Value(FALSE));
102
- _defineProperty(this, "initialDrawerWidth", this.getDrawerWidth());
103
- _defineProperty(this, "gestureState", new Value(_GestureHandler.GestureState.UNDETERMINED));
104
- _defineProperty(this, "touchX", new Value(0));
105
- _defineProperty(this, "velocityX", new Value(0));
106
- _defineProperty(this, "gestureX", new Value(0));
107
- _defineProperty(this, "offsetX", new Value(0));
108
- _defineProperty(this, "position", new Value(this.props.open ? this.initialDrawerWidth * (this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT) : 0));
109
- _defineProperty(this, "containerWidth", new Value(this.props.dimensions.width));
110
- _defineProperty(this, "drawerWidth", new Value(this.initialDrawerWidth));
111
- _defineProperty(this, "drawerOpacity", new Value(this.props.drawerType === 'permanent' ? 1 : 0));
112
- _defineProperty(this, "drawerPosition", new Value(this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT));
113
- _defineProperty(this, "touchDistanceFromDrawer", cond(this.isDrawerTypeFront, cond(eq(this.drawerPosition, DIRECTION_LEFT), max(
114
- // Distance of touch start from left screen edge - Drawer width
115
- sub(sub(this.touchX, this.gestureX), this.drawerWidth), 0), min(multiply(
116
- // Distance of drawer from left screen edge - Touch start point
117
- sub(sub(this.containerWidth, this.drawerWidth), sub(this.touchX, this.gestureX)), DIRECTION_RIGHT), 0)), 0));
118
- _defineProperty(this, "swipeDistanceThreshold", new Value(this.props.swipeDistanceThreshold));
119
- _defineProperty(this, "swipeVelocityThreshold", new Value(this.props.swipeVelocityThreshold));
120
- _defineProperty(this, "currentOpenValue", this.props.open);
121
- _defineProperty(this, "pendingOpenValue", void 0);
122
- _defineProperty(this, "isStatusBarHidden", false);
123
- _defineProperty(this, "manuallyTriggerSpring", new Value(FALSE));
124
- _defineProperty(this, "transitionTo", isOpen => {
125
- const toValue = new Value(0);
126
- const frameTime = new Value(0);
127
- const state = {
128
- position: this.position,
129
- time: new Value(0),
130
- finished: new Value(FALSE),
131
- velocity: new Value(0)
132
- };
133
- return block([cond(clockRunning(this.clock), NOOP, [
134
- // Animation wasn't running before
135
- // Set the initial values and start the clock
136
- 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, {
137
- ...SPRING_CONFIG,
138
- toValue
139
- }), cond(state.finished, [
140
- // Reset gesture and velocity from previous gesture
141
- set(this.touchX, 0), set(this.gestureX, 0), set(this.velocityX, 0), set(this.offsetX, 0),
142
- // When the animation finishes, stop the clock
143
- stopClock(this.clock), call([this.isOpen], _ref => {
144
- let [value] = _ref;
145
- const open = Boolean(value);
146
- this.handleEndInteraction();
147
- if (open !== this.props.open) {
148
- // Sync drawer's state after animation finished
149
- // This shouldn't be necessary, but there seems to be an issue on iOS
150
- this.toggleDrawer(this.props.open);
151
- }
152
- })])]);
153
- });
154
- _defineProperty(this, "dragX", block([onChange(this.isOpen, call([this.isOpen], _ref2 => {
155
- let [value] = _ref2;
156
- const open = Boolean(value);
157
- this.currentOpenValue = open;
158
-
159
- // Without this check, the drawer can go to an infinite update <-> animate loop for sync updates
160
- if (open !== this.props.open) {
161
- // If the mode changed, update state
162
- if (open) {
163
- this.props.onOpen();
164
- } else {
165
- this.props.onClose();
166
- }
167
- this.pendingOpenValue = open;
168
-
169
- // Force componentDidUpdate to fire, whether user does a setState or not
170
- // This allows us to detect when the user drops the update and revert back
171
- // It's necessary to make sure that the state stays in sync
172
- this.forceUpdate();
173
- }
174
- })), onChange(this.nextIsOpen, cond(neq(this.nextIsOpen, UNSET), [
175
- // Stop any running animations
176
- cond(clockRunning(this.clock), stopClock(this.clock)),
177
- // Update the open value to trigger the transition
178
- set(this.isOpen, this.nextIsOpen), set(this.gestureX, 0), set(this.nextIsOpen, UNSET)])),
179
- // This block must be after the this.isOpen listener since we check for current value
180
- onChange(this.isSwiping,
181
- // Listen to updates for this value only when it changes
182
- // Without `onChange`, this will fire even if the value didn't change
183
- // We don't want to call the listeners if the value didn't change
184
- call([this.isSwiping], _ref3 => {
185
- let [value] = _ref3;
186
- const {
187
- keyboardDismissMode
188
- } = this.props;
189
- if (value === TRUE) {
190
- if (keyboardDismissMode === 'on-drag') {
191
- _reactNative.Keyboard.dismiss();
192
- }
193
- this.toggleStatusBar(true);
194
- } else {
195
- this.toggleStatusBar(this.currentOpenValue);
196
- }
197
- })), onChange(this.gestureState, cond(eq(this.gestureState, _GestureHandler.GestureState.ACTIVE), call([], this.handleStartInteraction))), cond(eq(this.gestureState, _GestureHandler.GestureState.ACTIVE), [cond(this.isSwiping, NOOP, [
198
- // We weren't dragging before, set it to true
199
- set(this.isSwiping, TRUE),
200
- // Also update the drag offset to the last position
201
- set(this.offsetX, this.position)]),
202
- // Update position with previous offset + gesture distance
203
- set(this.position, add(this.offsetX, this.gestureX, this.touchDistanceFromDrawer)),
204
- // Stop animations while we're dragging
205
- 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_DISTANCE_MINIMUM), greaterThan(abs(this.velocityX), this.swipeVelocityThreshold)), greaterThan(abs(this.gestureX), this.swipeDistanceThreshold)), cond(eq(this.drawerPosition, DIRECTION_LEFT),
206
- // If swiped to right, open the drawer, otherwise close it
207
- greaterThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0),
208
- // If swiped to left, open the drawer, otherwise close it
209
- lessThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0)), this.isOpen)))]), this.position]));
210
- _defineProperty(this, "translateX", cond(eq(this.drawerPosition, DIRECTION_RIGHT), min(max(multiply(this.drawerWidth, -1), this.dragX), 0), max(min(this.drawerWidth, this.dragX), 0)));
211
- _defineProperty(this, "progress", cond(
212
- // Check if the drawer width is available to avoid division by zero
213
- eq(this.drawerWidth, 0), 0, abs(divide(this.translateX, this.drawerWidth))));
214
- _defineProperty(this, "handleGestureEvent", event([{
215
- nativeEvent: {
216
- x: this.touchX,
217
- translationX: this.gestureX,
218
- velocityX: this.velocityX
219
- }
220
- }]));
221
- _defineProperty(this, "handleGestureStateChange", event([{
222
- nativeEvent: {
223
- state: s => set(this.gestureState, s)
224
- }
225
- }]));
226
- _defineProperty(this, "handleContainerLayout", e => this.containerWidth.setValue(e.nativeEvent.layout.width));
227
- _defineProperty(this, "handleDrawerLayout", e => {
228
- this.drawerWidth.setValue(e.nativeEvent.layout.width);
229
- this.toggleDrawer(this.props.open);
230
-
231
- // Until layout is available, drawer is hidden with opacity: 0 by default
232
- // Show it in the next frame when layout is available
233
- // If we don't delay it until the next frame, there's a visible flicker
234
- requestAnimationFrame(() => requestAnimationFrame(() => this.drawerOpacity.setValue(1)));
235
- });
236
- _defineProperty(this, "toggleDrawer", open => {
237
- if (this.currentOpenValue !== open) {
238
- this.nextIsOpen.setValue(open ? TRUE : FALSE);
239
-
240
- // This value will also be set shortly after as changing this.nextIsOpen changes this.isOpen
241
- // However, there's a race condition on Android, so we need to set a bit earlier
242
- this.currentOpenValue = open;
243
- }
244
- });
245
- _defineProperty(this, "toggleStatusBar", hidden => {
246
- const {
247
- hideStatusBarOnOpen: hideStatusBar,
248
- statusBarAnimation
249
- } = this.props;
250
- if (hideStatusBar && this.isStatusBarHidden !== hidden) {
251
- this.isStatusBarHidden = hidden;
252
- _reactNative.StatusBar.setHidden(hidden, statusBarAnimation);
253
- }
254
- });
255
- }
256
- componentDidUpdate(prevProps) {
257
- const {
258
- open,
259
- drawerPosition,
260
- drawerType,
261
- swipeDistanceThreshold,
262
- swipeVelocityThreshold,
263
- hideStatusBarOnOpen: hideStatusBar
264
- } = this.props;
265
- if (
266
- // If we're not in the middle of a transition, sync the drawer's open state
267
- typeof this.pendingOpenValue !== 'boolean' || open !== this.pendingOpenValue) {
268
- this.toggleDrawer(open);
269
- }
270
- this.pendingOpenValue = undefined;
271
- if (open !== prevProps.open && hideStatusBar) {
272
- this.toggleStatusBar(open);
273
- }
274
- if (prevProps.drawerPosition !== drawerPosition) {
275
- this.drawerPosition.setValue(drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT);
276
- }
277
- if (prevProps.drawerType !== drawerType) {
278
- this.isDrawerTypeFront.setValue(drawerType === 'front' ? TRUE : FALSE);
279
- }
280
- if (prevProps.swipeDistanceThreshold !== swipeDistanceThreshold) {
281
- this.swipeDistanceThreshold.setValue(swipeDistanceThreshold);
282
- }
283
- if (prevProps.swipeVelocityThreshold !== swipeVelocityThreshold) {
284
- this.swipeVelocityThreshold.setValue(swipeVelocityThreshold);
285
- }
286
- }
287
- componentWillUnmount() {
288
- this.toggleStatusBar(false);
289
- this.handleEndInteraction();
290
- }
291
- render() {
292
- const {
293
- open,
294
- swipeEnabled,
295
- drawerPosition,
296
- drawerType,
297
- swipeEdgeWidth,
298
- drawerStyle,
299
- overlayStyle,
300
- renderDrawerContent,
301
- renderSceneContent,
302
- gestureHandlerProps
303
- } = this.props;
304
- const isOpen = drawerType === 'permanent' ? true : open;
305
- const isRight = drawerPosition === 'right';
306
- const contentTranslateX = drawerType === 'front' ? ANIMATED_ZERO : this.translateX;
307
- const drawerTranslateX = drawerType === 'back' ? _reactNative.I18nManager.getConstants().isRTL ? multiply(sub(this.containerWidth, this.drawerWidth), isRight ? 1 : -1) : ANIMATED_ZERO : this.translateX;
308
- const offset = drawerType === 'back' ? 0 : _reactNative.I18nManager.getConstants().isRTL ? '100%' : multiply(this.drawerWidth, -1);
309
-
310
- // FIXME: Currently hitSlop is broken when on Android when drawer is on right
311
- // https://github.com/software-mansion/react-native-gesture-handler/issues/569
312
- const hitSlop = isRight ?
313
- // Extend hitSlop to the side of the screen when drawer is closed
314
- // This lets the user drag the drawer from the side of the screen
315
- {
316
- right: 0,
317
- width: isOpen ? undefined : swipeEdgeWidth
318
- } : {
319
- left: 0,
320
- width: isOpen ? undefined : swipeEdgeWidth
321
- };
322
- const progress = drawerType === 'permanent' ? ANIMATED_ONE : this.progress;
323
- return /*#__PURE__*/React.createElement(_DrawerProgressContext.default.Provider, {
324
- value: progress
325
- }, /*#__PURE__*/React.createElement(_GestureHandler.PanGestureHandler, _extends({
326
- activeOffsetX: [-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM],
327
- failOffsetY: [-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM],
328
- onGestureEvent: this.handleGestureEvent,
329
- onHandlerStateChange: this.handleGestureStateChange,
330
- hitSlop: hitSlop,
331
- enabled: drawerType !== 'permanent' && swipeEnabled
332
- }, gestureHandlerProps), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
333
- onLayout: this.handleContainerLayout,
334
- style: [styles.main, {
335
- flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
336
- }]
337
- }, /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
338
- style: [styles.content, {
339
- transform: drawerType === 'permanent' ?
340
- // Reanimated needs the property to be present, but it results in Browser bug
341
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
342
- [] : [{
343
- translateX: contentTranslateX
344
- }]
345
- }]
346
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
347
- accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
348
- importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
349
- style: styles.content
350
- }, renderSceneContent()),
351
- // Disable overlay if sidebar is permanent
352
- drawerType === 'permanent' ? null : /*#__PURE__*/React.createElement(_Overlay.default, {
353
- progress: progress,
354
- onPress: () => this.toggleDrawer(false),
355
- style: overlayStyle,
356
- accessibilityElementsHidden: !isOpen,
357
- importantForAccessibility: isOpen ? 'auto' : 'no-hide-descendants'
358
- })), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.Code, {
359
- // This is needed to make sure that container width updates with `setValue`
360
- // Without this, it won't update when not used in styles
361
- exec: this.containerWidth
362
- }), drawerType === 'permanent' ? null : /*#__PURE__*/React.createElement(_reactNativeReanimated.default.Code, {
363
- exec: block([onChange(this.manuallyTriggerSpring, [cond(eq(this.manuallyTriggerSpring, TRUE), [set(this.nextIsOpen, FALSE), call([], () => this.currentOpenValue = false)])])])
364
- }), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
365
- accessibilityViewIsModal: isOpen && drawerType !== 'permanent',
366
- removeClippedSubviews: _reactNative.Platform.OS !== 'ios',
367
- onLayout: this.handleDrawerLayout,
368
- style: [styles.container, {
369
- transform: drawerType === 'permanent' ?
370
- // Reanimated needs the property to be present, but it results in Browser bug
371
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
372
- [] : [{
373
- translateX: drawerTranslateX
374
- }],
375
- opacity: this.drawerOpacity
376
- }, drawerType === 'permanent' ?
377
- // Without this, the `left`/`right` values don't get reset
378
- isRight ? {
379
- right: 0
380
- } : {
381
- left: 0
382
- } : [styles.nonPermanent, isRight ? {
383
- right: offset
384
- } : {
385
- left: offset
386
- }, {
387
- zIndex: drawerType === 'back' ? -1 : 0
388
- }], drawerStyle]
389
- }, renderDrawerContent()))));
390
- }
391
- }
392
- exports.default = DrawerView;
393
- const styles = _reactNative.StyleSheet.create({
394
- container: {
395
- backgroundColor: 'white',
396
- maxWidth: '100%'
397
- },
398
- nonPermanent: {
399
- position: 'absolute',
400
- top: 0,
401
- bottom: 0,
402
- width: DEFAULT_DRAWER_WIDTH
403
- },
404
- content: {
405
- flex: 1
406
- },
407
- main: {
408
- flex: 1,
409
- ..._reactNative.Platform.select({
410
- // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.
411
- // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.
412
- web: null,
413
- default: {
414
- overflow: 'hidden'
415
- }
416
- })
417
- }
418
- });
419
- //# sourceMappingURL=Drawer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["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","Animated","TRUE","FALSE","NOOP","UNSET","DIRECTION_LEFT","DIRECTION_RIGHT","SWIPE_DISTANCE_MINIMUM","DEFAULT_DRAWER_WIDTH","SPRING_CONFIG","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","ANIMATED_ZERO","ANIMATED_ONE","DrawerView","React","Component","interactionHandle","undefined","InteractionManager","clearInteractionHandle","createInteractionHandle","drawerStyle","dimensions","props","width","StyleSheet","flatten","endsWith","percentage","Number","replace","isFinite","drawerType","open","getDrawerWidth","GestureState","UNDETERMINED","initialDrawerWidth","drawerPosition","isDrawerTypeFront","touchX","gestureX","drawerWidth","containerWidth","swipeDistanceThreshold","swipeVelocityThreshold","isOpen","toValue","frameTime","state","position","time","finished","velocity","clock","velocityX","handleStartInteraction","manuallyTriggerSpring","offsetX","value","Boolean","handleEndInteraction","toggleDrawer","currentOpenValue","onOpen","onClose","pendingOpenValue","forceUpdate","nextIsOpen","isSwiping","keyboardDismissMode","Keyboard","dismiss","toggleStatusBar","gestureState","ACTIVE","touchDistanceFromDrawer","transitionTo","dragX","translateX","nativeEvent","x","translationX","s","e","setValue","layout","requestAnimationFrame","drawerOpacity","hidden","hideStatusBarOnOpen","hideStatusBar","statusBarAnimation","isStatusBarHidden","StatusBar","setHidden","componentDidUpdate","prevProps","componentWillUnmount","render","swipeEnabled","swipeEdgeWidth","overlayStyle","renderDrawerContent","renderSceneContent","gestureHandlerProps","isRight","contentTranslateX","drawerTranslateX","I18nManager","getConstants","isRTL","offset","hitSlop","right","left","progress","handleGestureEvent","handleGestureStateChange","handleContainerLayout","styles","main","flexDirection","content","transform","Platform","OS","handleDrawerLayout","container","opacity","nonPermanent","zIndex","create","backgroundColor","maxWidth","top","bottom","flex","select","web","default","overflow"],"sourceRoot":"../../src","sources":["Drawer.tsx"],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
- 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); }
14
- const {
15
- // @ts-expect-error: this is to support reanimated 1
16
- interpolate: interpolateDeprecated,
17
- interpolateNode,
18
- cond,
19
- greaterThan
20
- } = _reactNativeReanimated.default;
21
- const interpolate = interpolateNode ?? interpolateDeprecated;
22
- const PROGRESS_EPSILON = 0.05;
23
- const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
24
- let {
25
- progress,
26
- onPress,
27
- style,
28
- ...props
29
- } = _ref;
30
- const animatedStyle = {
31
- opacity: interpolate(progress, {
32
- // Default input range is [PROGRESS_EPSILON, 1]
33
- // On Windows, the output value is 1 when input value is out of range for some reason
34
- // The default value 0 will be interpolated to 1 in this case, which is not what we want.
35
- // Therefore changing input range on Windows to [0,1] instead.
36
- inputRange: _reactNative.Platform.OS === 'windows' || _reactNative.Platform.OS === 'macos' ? [0, 1] : [PROGRESS_EPSILON, 1],
37
- outputRange: [0, 1]
38
- }),
39
- // We don't want the user to be able to press through the overlay when drawer is open
40
- // One approach is to adjust the pointerEvents based on the progress
41
- // But we can also send the overlay behind the screen, which works, and is much less code
42
- zIndex: cond(greaterThan(progress, PROGRESS_EPSILON), 0, -1)
43
- };
44
- return /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, _extends({}, props, {
45
- ref: ref,
46
- style: [styles.overlay, overlayStyle, animatedStyle, style]
47
- }), /*#__PURE__*/React.createElement(_reactNative.Pressable, {
48
- onPress: onPress,
49
- style: styles.pressable
50
- }));
51
- });
52
- const overlayStyle = _reactNative.Platform.select({
53
- web: {
54
- // Disable touch highlight on mobile Safari.
55
- // WebkitTapHighlightColor must be used outside of StyleSheet.create because react-native-web will omit the property.
56
- WebkitTapHighlightColor: 'transparent'
57
- },
58
- default: {}
59
- });
60
- const styles = _reactNative.StyleSheet.create({
61
- overlay: {
62
- ..._reactNative.StyleSheet.absoluteFillObject,
63
- backgroundColor: 'rgba(0, 0, 0, 0.5)'
64
- },
65
- pressable: {
66
- flex: 1
67
- }
68
- });
69
- var _default = Overlay;
70
- exports.default = _default;
71
- //# sourceMappingURL=Overlay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["interpolate","interpolateDeprecated","interpolateNode","cond","greaterThan","Animated","PROGRESS_EPSILON","Overlay","React","forwardRef","ref","progress","onPress","style","props","animatedStyle","opacity","inputRange","Platform","OS","outputRange","zIndex","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","StyleSheet","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../src","sources":["Overlay.tsx"],"mappings":";;;;;;AAAA;AACA;AACA;AAA+C;AAAA;AAAA;AAAA;AAE/C,MAAM;EACJ;EACAA,WAAW,EAAEC,qBAAqB;EAClCC,eAAe;EACfC,IAAI;EACJC;AACF,CAAC,GAAGC,8BAAQ;AAEZ,MAAML,WAAmC,GACvCE,eAAe,IAAID,qBAAqB;AAE1C,MAAMK,gBAAgB,GAAG,IAAI;AAO7B,MAAMC,OAAO,gBAAGC,KAAK,CAACC,UAAU,CAAC,SAASF,OAAO,OAE/CG,GAA6B,EAC7B;EAAA,IAFA;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,KAAK;IAAE,GAAGC;EAAa,CAAC;EAG7C,MAAMC,aAAa,GAAG;IACpBC,OAAO,EAAEhB,WAAW,CAACW,QAAQ,EAAE;MAC7B;MACA;MACA;MACA;MACAM,UAAU,EACRC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAID,qBAAQ,CAACC,EAAE,KAAK,OAAO,GAChD,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAACb,gBAAgB,EAAE,CAAC,CAAC;MAC3Bc,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;IACpB,CAAC,CAAC;IACF;IACA;IACA;IACAC,MAAM,EAAElB,IAAI,CAACC,WAAW,CAACO,QAAQ,EAAEL,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC7D,CAAC;EAED,oBACE,oBAAC,8BAAQ,CAAC,IAAI,eACRQ,KAAK;IACT,GAAG,EAAEJ,GAAI;IACT,KAAK,EAAE,CAACY,MAAM,CAACC,OAAO,EAAEC,YAAY,EAAET,aAAa,EAAEF,KAAK;EAAE,iBAE5D,oBAAC,sBAAS;IAAC,OAAO,EAAED,OAAQ;IAAC,KAAK,EAAEU,MAAM,CAACG;EAAU,EAAG,CAC1C;AAEpB,CAAC,CAAC;AAEF,MAAMD,YAAY,GAAGN,qBAAQ,CAACQ,MAAM,CAAyB;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAMP,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,OAAO,EAAE;IACP,GAAGO,uBAAU,CAACE,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDR,SAAS,EAAE;IACTS,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAAC,eAEY3B,OAAO;AAAA"}