@react-navigation/drawer 6.5.4 → 6.5.6

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 (144) hide show
  1. package/lib/commonjs/index.js +0 -14
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/navigators/createDrawerNavigator.js +0 -15
  4. package/lib/commonjs/navigators/createDrawerNavigator.js.map +1 -1
  5. package/lib/commonjs/types.js.map +1 -1
  6. package/lib/commonjs/utils/DrawerGestureContext.js +0 -5
  7. package/lib/commonjs/utils/DrawerGestureContext.js.map +1 -1
  8. package/lib/commonjs/utils/DrawerPositionContext.js +0 -5
  9. package/lib/commonjs/utils/DrawerPositionContext.js.map +1 -1
  10. package/lib/commonjs/utils/DrawerProgressContext.js +0 -5
  11. package/lib/commonjs/utils/DrawerProgressContext.js.map +1 -1
  12. package/lib/commonjs/utils/DrawerStatusContext.js +0 -4
  13. package/lib/commonjs/utils/DrawerStatusContext.js.map +1 -1
  14. package/lib/commonjs/utils/getDrawerStatusFromState.js +1 -5
  15. package/lib/commonjs/utils/getDrawerStatusFromState.js.map +1 -1
  16. package/lib/commonjs/utils/useDrawerProgress.js +0 -8
  17. package/lib/commonjs/utils/useDrawerProgress.js.map +1 -1
  18. package/lib/commonjs/utils/useDrawerStatus.js +0 -8
  19. package/lib/commonjs/utils/useDrawerStatus.js.map +1 -1
  20. package/lib/commonjs/views/DrawerContent.js +0 -8
  21. package/lib/commonjs/views/DrawerContent.js.map +1 -1
  22. package/lib/commonjs/views/DrawerContentScrollView.js +0 -12
  23. package/lib/commonjs/views/DrawerContentScrollView.js.map +1 -1
  24. package/lib/commonjs/views/DrawerItem.js +8 -21
  25. package/lib/commonjs/views/DrawerItem.js.map +1 -1
  26. package/lib/commonjs/views/DrawerItemList.js +2 -11
  27. package/lib/commonjs/views/DrawerItemList.js.map +1 -1
  28. package/lib/commonjs/views/DrawerToggleButton.js +0 -9
  29. package/lib/commonjs/views/DrawerToggleButton.js.map +1 -1
  30. package/lib/commonjs/views/DrawerView.js +9 -52
  31. package/lib/commonjs/views/DrawerView.js.map +1 -1
  32. package/lib/commonjs/views/GestureHandler.android.js +0 -2
  33. package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
  34. package/lib/commonjs/views/GestureHandler.ios.js +0 -2
  35. package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
  36. package/lib/commonjs/views/GestureHandler.js +0 -6
  37. package/lib/commonjs/views/GestureHandler.js.map +1 -1
  38. package/lib/commonjs/views/GestureHandlerNative.js +0 -7
  39. package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
  40. package/lib/commonjs/views/ScreenFallback.js +2 -18
  41. package/lib/commonjs/views/ScreenFallback.js.map +1 -1
  42. package/lib/commonjs/views/legacy/Drawer.js +62 -105
  43. package/lib/commonjs/views/legacy/Drawer.js.map +1 -1
  44. package/lib/commonjs/views/legacy/Overlay.js +3 -13
  45. package/lib/commonjs/views/legacy/Overlay.js.map +1 -1
  46. package/lib/commonjs/views/modern/Drawer.js +42 -45
  47. package/lib/commonjs/views/modern/Drawer.js.map +1 -1
  48. package/lib/commonjs/views/modern/Overlay.js +4 -12
  49. package/lib/commonjs/views/modern/Overlay.js.map +1 -1
  50. package/lib/module/index.js +3 -2
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/navigators/createDrawerNavigator.js +0 -7
  53. package/lib/module/navigators/createDrawerNavigator.js.map +1 -1
  54. package/lib/module/types.js.map +1 -1
  55. package/lib/module/utils/DrawerGestureContext.js.map +1 -1
  56. package/lib/module/utils/DrawerPositionContext.js.map +1 -1
  57. package/lib/module/utils/DrawerProgressContext.js.map +1 -1
  58. package/lib/module/utils/DrawerStatusContext.js.map +1 -1
  59. package/lib/module/utils/getDrawerStatusFromState.js +1 -4
  60. package/lib/module/utils/getDrawerStatusFromState.js.map +1 -1
  61. package/lib/module/utils/useDrawerProgress.js +0 -2
  62. package/lib/module/utils/useDrawerProgress.js.map +1 -1
  63. package/lib/module/utils/useDrawerStatus.js +1 -3
  64. package/lib/module/utils/useDrawerStatus.js.map +1 -1
  65. package/lib/module/views/DrawerContent.js +0 -1
  66. package/lib/module/views/DrawerContent.js.map +1 -1
  67. package/lib/module/views/DrawerContentScrollView.js +0 -3
  68. package/lib/module/views/DrawerContentScrollView.js.map +1 -1
  69. package/lib/module/views/DrawerItem.js +8 -10
  70. package/lib/module/views/DrawerItem.js.map +1 -1
  71. package/lib/module/views/DrawerItemList.js +2 -5
  72. package/lib/module/views/DrawerItemList.js.map +1 -1
  73. package/lib/module/views/DrawerToggleButton.js +0 -1
  74. package/lib/module/views/DrawerToggleButton.js.map +1 -1
  75. package/lib/module/views/DrawerView.js +9 -35
  76. package/lib/module/views/DrawerView.js.map +1 -1
  77. package/lib/module/views/GestureHandler.android.js.map +1 -1
  78. package/lib/module/views/GestureHandler.ios.js.map +1 -1
  79. package/lib/module/views/GestureHandler.js +0 -2
  80. package/lib/module/views/GestureHandler.js.map +1 -1
  81. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  82. package/lib/module/views/ScreenFallback.js +2 -10
  83. package/lib/module/views/ScreenFallback.js.map +1 -1
  84. package/lib/module/views/legacy/Drawer.js +62 -90
  85. package/lib/module/views/legacy/Drawer.js.map +1 -1
  86. package/lib/module/views/legacy/Overlay.js +3 -3
  87. package/lib/module/views/legacy/Overlay.js.map +1 -1
  88. package/lib/module/views/modern/Drawer.js +42 -31
  89. package/lib/module/views/modern/Drawer.js.map +1 -1
  90. package/lib/module/views/modern/Overlay.js +4 -3
  91. package/lib/module/views/modern/Overlay.js.map +1 -1
  92. package/lib/typescript/src/index.d.ts +1 -0
  93. package/lib/typescript/src/index.d.ts.map +1 -0
  94. package/lib/typescript/src/navigators/createDrawerNavigator.d.ts +1 -0
  95. package/lib/typescript/src/navigators/createDrawerNavigator.d.ts.map +1 -0
  96. package/lib/typescript/src/types.d.ts +1 -0
  97. package/lib/typescript/src/types.d.ts.map +1 -0
  98. package/lib/typescript/src/utils/DrawerGestureContext.d.ts +1 -0
  99. package/lib/typescript/src/utils/DrawerGestureContext.d.ts.map +1 -0
  100. package/lib/typescript/src/utils/DrawerPositionContext.d.ts +1 -0
  101. package/lib/typescript/src/utils/DrawerPositionContext.d.ts.map +1 -0
  102. package/lib/typescript/src/utils/DrawerProgressContext.d.ts +1 -0
  103. package/lib/typescript/src/utils/DrawerProgressContext.d.ts.map +1 -0
  104. package/lib/typescript/src/utils/DrawerStatusContext.d.ts +1 -0
  105. package/lib/typescript/src/utils/DrawerStatusContext.d.ts.map +1 -0
  106. package/lib/typescript/src/utils/getDrawerStatusFromState.d.ts +1 -0
  107. package/lib/typescript/src/utils/getDrawerStatusFromState.d.ts.map +1 -0
  108. package/lib/typescript/src/utils/useDrawerProgress.d.ts +1 -0
  109. package/lib/typescript/src/utils/useDrawerProgress.d.ts.map +1 -0
  110. package/lib/typescript/src/utils/useDrawerStatus.d.ts +1 -0
  111. package/lib/typescript/src/utils/useDrawerStatus.d.ts.map +1 -0
  112. package/lib/typescript/src/views/DrawerContent.d.ts +1 -0
  113. package/lib/typescript/src/views/DrawerContent.d.ts.map +1 -0
  114. package/lib/typescript/src/views/DrawerContentScrollView.d.ts +1 -0
  115. package/lib/typescript/src/views/DrawerContentScrollView.d.ts.map +1 -0
  116. package/lib/typescript/src/views/DrawerItem.d.ts +1 -0
  117. package/lib/typescript/src/views/DrawerItem.d.ts.map +1 -0
  118. package/lib/typescript/src/views/DrawerItemList.d.ts +1 -0
  119. package/lib/typescript/src/views/DrawerItemList.d.ts.map +1 -0
  120. package/lib/typescript/src/views/DrawerToggleButton.d.ts +1 -0
  121. package/lib/typescript/src/views/DrawerToggleButton.d.ts.map +1 -0
  122. package/lib/typescript/src/views/DrawerView.d.ts +1 -0
  123. package/lib/typescript/src/views/DrawerView.d.ts.map +1 -0
  124. package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -0
  125. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -0
  126. package/lib/typescript/src/views/GestureHandler.d.ts +1 -0
  127. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -0
  128. package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -0
  129. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -0
  130. package/lib/typescript/src/views/GestureHandlerNative.d.ts +1 -0
  131. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -0
  132. package/lib/typescript/src/views/ScreenFallback.d.ts +1 -0
  133. package/lib/typescript/src/views/ScreenFallback.d.ts.map +1 -0
  134. package/lib/typescript/src/views/legacy/Drawer.d.ts +1 -0
  135. package/lib/typescript/src/views/legacy/Drawer.d.ts.map +1 -0
  136. package/lib/typescript/src/views/legacy/Overlay.d.ts +1 -0
  137. package/lib/typescript/src/views/legacy/Overlay.d.ts.map +1 -0
  138. package/lib/typescript/src/views/modern/Drawer.d.ts +1 -0
  139. package/lib/typescript/src/views/modern/Drawer.d.ts.map +1 -0
  140. package/lib/typescript/src/views/modern/Overlay.d.ts +1 -0
  141. package/lib/typescript/src/views/modern/Overlay.d.ts.map +1 -0
  142. package/package.json +5 -5
  143. package/src/views/modern/Drawer.tsx +23 -4
  144. package/src/views/modern/Overlay.tsx +1 -0
@@ -1,46 +1,38 @@
1
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
-
3
2
  import { ResourceSavingView } from '@react-navigation/elements';
4
3
  import * as React from 'react';
5
4
  import { View } from 'react-native';
6
5
  let Screens;
7
-
8
6
  try {
9
7
  Screens = require('react-native-screens');
10
- } catch (e) {// Ignore
8
+ } catch (e) {
9
+ // Ignore
11
10
  }
12
-
13
11
  export const MaybeScreenContainer = _ref => {
14
12
  var _Screens, _Screens$screensEnabl;
15
-
16
13
  let {
17
14
  enabled,
18
15
  ...rest
19
16
  } = _ref;
20
-
21
17
  if ((_Screens = Screens) !== null && _Screens !== void 0 && (_Screens$screensEnabl = _Screens.screensEnabled) !== null && _Screens$screensEnabl !== void 0 && _Screens$screensEnabl.call(_Screens)) {
22
18
  return /*#__PURE__*/React.createElement(Screens.ScreenContainer, _extends({
23
19
  enabled: enabled
24
20
  }, rest));
25
21
  }
26
-
27
22
  return /*#__PURE__*/React.createElement(View, rest);
28
23
  };
29
24
  export function MaybeScreen(_ref2) {
30
25
  var _Screens2, _Screens2$screensEnab;
31
-
32
26
  let {
33
27
  visible,
34
28
  children,
35
29
  ...rest
36
30
  } = _ref2;
37
-
38
31
  if ((_Screens2 = Screens) !== null && _Screens2 !== void 0 && (_Screens2$screensEnab = _Screens2.screensEnabled) !== null && _Screens2$screensEnab !== void 0 && _Screens2$screensEnab.call(_Screens2)) {
39
32
  return /*#__PURE__*/React.createElement(Screens.Screen, _extends({
40
33
  activityState: visible ? 2 : 0
41
34
  }, rest), children);
42
35
  }
43
-
44
36
  return /*#__PURE__*/React.createElement(ResourceSavingView, _extends({
45
37
  visible: visible
46
38
  }, rest), children);
@@ -1 +1 @@
1
- {"version":3,"names":["ResourceSavingView","React","View","Screens","require","e","MaybeScreenContainer","enabled","rest","screensEnabled","MaybeScreen","visible","children"],"sources":["ScreenFallback.tsx"],"sourcesContent":["import { ResourceSavingView } from '@react-navigation/elements';\nimport * as React from 'react';\nimport { StyleProp, View, ViewProps, ViewStyle } from 'react-native';\n\ntype Props = {\n visible: boolean;\n children: React.ReactNode;\n enabled: boolean;\n freezeOnBlur?: boolean;\n style?: StyleProp<ViewStyle>;\n};\n\nlet Screens: typeof import('react-native-screens') | undefined;\n\ntry {\n Screens = require('react-native-screens');\n} catch (e) {\n // Ignore\n}\n\nexport const MaybeScreenContainer = ({\n enabled,\n ...rest\n}: ViewProps & {\n enabled: boolean;\n hasTwoStates: boolean;\n children: React.ReactNode;\n}) => {\n if (Screens?.screensEnabled?.()) {\n return <Screens.ScreenContainer enabled={enabled} {...rest} />;\n }\n\n return <View {...rest} />;\n};\n\nexport function MaybeScreen({ visible, children, ...rest }: Props) {\n if (Screens?.screensEnabled?.()) {\n return (\n <Screens.Screen activityState={visible ? 2 : 0} {...rest}>\n {children}\n </Screens.Screen>\n );\n }\n\n return (\n <ResourceSavingView visible={visible} {...rest}>\n {children}\n </ResourceSavingView>\n );\n}\n"],"mappings":";;AAAA,SAASA,kBAAT,QAAmC,4BAAnC;AACA,OAAO,KAAKC,KAAZ,MAAuB,OAAvB;AACA,SAAoBC,IAApB,QAAsD,cAAtD;AAUA,IAAIC,OAAJ;;AAEA,IAAI;EACFA,OAAO,GAAGC,OAAO,CAAC,sBAAD,CAAjB;AACD,CAFD,CAEE,OAAOC,CAAP,EAAU,CACV;AACD;;AAED,OAAO,MAAMC,oBAAoB,GAAG,QAO9B;EAAA;;EAAA,IAP+B;IACnCC,OADmC;IAEnC,GAAGC;EAFgC,CAO/B;;EACJ,gBAAIL,OAAJ,8DAAI,SAASM,cAAb,kDAAI,oCAAJ,EAAiC;IAC/B,oBAAO,oBAAC,OAAD,CAAS,eAAT;MAAyB,OAAO,EAAEF;IAAlC,GAA+CC,IAA/C,EAAP;EACD;;EAED,oBAAO,oBAAC,IAAD,EAAUA,IAAV,CAAP;AACD,CAbM;AAeP,OAAO,SAASE,WAAT,QAA4D;EAAA;;EAAA,IAAvC;IAAEC,OAAF;IAAWC,QAAX;IAAqB,GAAGJ;EAAxB,CAAuC;;EACjE,iBAAIL,OAAJ,+DAAI,UAASM,cAAb,kDAAI,qCAAJ,EAAiC;IAC/B,oBACE,oBAAC,OAAD,CAAS,MAAT;MAAgB,aAAa,EAAEE,OAAO,GAAG,CAAH,GAAO;IAA7C,GAAoDH,IAApD,GACGI,QADH,CADF;EAKD;;EAED,oBACE,oBAAC,kBAAD;IAAoB,OAAO,EAAED;EAA7B,GAA0CH,IAA1C,GACGI,QADH,CADF;AAKD"}
1
+ {"version":3,"names":["ResourceSavingView","React","View","Screens","require","e","MaybeScreenContainer","enabled","rest","screensEnabled","MaybeScreen","visible","children"],"sourceRoot":"../../src","sources":["ScreenFallback.tsx"],"mappings":";AAAA,SAASA,kBAAkB,QAAQ,4BAA4B;AAC/D,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAAoBC,IAAI,QAA8B,cAAc;AAUpE,IAAIC,OAA0D;AAE9D,IAAI;EACFA,OAAO,GAAGC,OAAO,CAAC,sBAAsB,CAAC;AAC3C,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV;AAAA;AAGF,OAAO,MAAMC,oBAAoB,GAAG,QAO9B;EAAA;EAAA,IAP+B;IACnCC,OAAO;IACP,GAAGC;EAKL,CAAC;EACC,gBAAIL,OAAO,8DAAP,SAASM,cAAc,kDAAvB,oCAA2B,EAAE;IAC/B,oBAAO,oBAAC,OAAO,CAAC,eAAe;MAAC,OAAO,EAAEF;IAAQ,GAAKC,IAAI,EAAI;EAChE;EAEA,oBAAO,oBAAC,IAAI,EAAKA,IAAI,CAAI;AAC3B,CAAC;AAED,OAAO,SAASE,WAAW,QAAwC;EAAA;EAAA,IAAvC;IAAEC,OAAO;IAAEC,QAAQ;IAAE,GAAGJ;EAAY,CAAC;EAC/D,iBAAIL,OAAO,+DAAP,UAASM,cAAc,kDAAvB,qCAA2B,EAAE;IAC/B,oBACE,oBAAC,OAAO,CAAC,MAAM;MAAC,aAAa,EAAEE,OAAO,GAAG,CAAC,GAAG;IAAE,GAAKH,IAAI,GACrDI,QAAQ,CACM;EAErB;EAEA,oBACE,oBAAC,kBAAkB;IAAC,OAAO,EAAED;EAAQ,GAAKH,IAAI,GAC3CI,QAAQ,CACU;AAEzB"}
@@ -1,7 +1,7 @@
1
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
-
3
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
-
2
+ 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; }
3
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
+ 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); }
5
5
  import * as React from 'react';
6
6
  import { I18nManager, InteractionManager, Keyboard, Platform, StatusBar, StyleSheet, View } from 'react-native';
7
7
  import Animated from 'react-native-reanimated';
@@ -56,20 +56,17 @@ const ANIMATED_ONE = new Animated.Value(1);
56
56
  export default class DrawerView extends React.Component {
57
57
  constructor() {
58
58
  super(...arguments);
59
-
60
59
  _defineProperty(this, "handleEndInteraction", () => {
61
60
  if (this.interactionHandle !== undefined) {
62
61
  InteractionManager.clearInteractionHandle(this.interactionHandle);
63
62
  this.interactionHandle = undefined;
64
63
  }
65
64
  });
66
-
67
65
  _defineProperty(this, "handleStartInteraction", () => {
68
66
  if (this.interactionHandle === undefined) {
69
67
  this.interactionHandle = InteractionManager.createInteractionHandle();
70
68
  }
71
69
  });
72
-
73
70
  _defineProperty(this, "getDrawerWidth", () => {
74
71
  const {
75
72
  drawerStyle,
@@ -78,69 +75,43 @@ export default class DrawerView extends React.Component {
78
75
  const {
79
76
  width = DEFAULT_DRAWER_WIDTH
80
77
  } = StyleSheet.flatten(drawerStyle) || {};
81
-
82
78
  if (typeof width === 'string' && width.endsWith('%')) {
83
79
  // Try to calculate width if a percentage is given
84
80
  const percentage = Number(width.replace(/%$/, ''));
85
-
86
81
  if (Number.isFinite(percentage)) {
87
82
  return dimensions.width * (percentage / 100);
88
83
  }
89
84
  }
90
-
91
85
  return typeof width === 'number' ? width : 0;
92
86
  });
93
-
94
87
  _defineProperty(this, "clock", new Clock());
95
-
96
88
  _defineProperty(this, "interactionHandle", void 0);
97
-
98
89
  _defineProperty(this, "isDrawerTypeFront", new Value(this.props.drawerType === 'front' ? TRUE : FALSE));
99
-
100
90
  _defineProperty(this, "isOpen", new Value(this.props.open ? TRUE : FALSE));
101
-
102
91
  _defineProperty(this, "nextIsOpen", new Value(UNSET));
103
-
104
92
  _defineProperty(this, "isSwiping", new Value(FALSE));
105
-
106
93
  _defineProperty(this, "initialDrawerWidth", this.getDrawerWidth());
107
-
108
94
  _defineProperty(this, "gestureState", new Value(GestureState.UNDETERMINED));
109
-
110
95
  _defineProperty(this, "touchX", new Value(0));
111
-
112
96
  _defineProperty(this, "velocityX", new Value(0));
113
-
114
97
  _defineProperty(this, "gestureX", new Value(0));
115
-
116
98
  _defineProperty(this, "offsetX", new Value(0));
117
-
118
99
  _defineProperty(this, "position", new Value(this.props.open ? this.initialDrawerWidth * (this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT) : 0));
119
-
120
100
  _defineProperty(this, "containerWidth", new Value(this.props.dimensions.width));
121
-
122
101
  _defineProperty(this, "drawerWidth", new Value(this.initialDrawerWidth));
123
-
124
102
  _defineProperty(this, "drawerOpacity", new Value(this.props.drawerType === 'permanent' ? 1 : 0));
125
-
126
103
  _defineProperty(this, "drawerPosition", new Value(this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT));
127
-
128
- _defineProperty(this, "touchDistanceFromDrawer", cond(this.isDrawerTypeFront, cond(eq(this.drawerPosition, DIRECTION_LEFT), max( // Distance of touch start from left screen edge - Drawer width
129
- sub(sub(this.touchX, this.gestureX), this.drawerWidth), 0), min(multiply( // Distance of drawer from left screen edge - Touch start point
104
+ _defineProperty(this, "touchDistanceFromDrawer", cond(this.isDrawerTypeFront, cond(eq(this.drawerPosition, DIRECTION_LEFT), max(
105
+ // Distance of touch start from left screen edge - Drawer width
106
+ sub(sub(this.touchX, this.gestureX), this.drawerWidth), 0), min(multiply(
107
+ // Distance of drawer from left screen edge - Touch start point
130
108
  sub(sub(this.containerWidth, this.drawerWidth), sub(this.touchX, this.gestureX)), DIRECTION_RIGHT), 0)), 0));
131
-
132
109
  _defineProperty(this, "swipeDistanceThreshold", new Value(this.props.swipeDistanceThreshold));
133
-
134
110
  _defineProperty(this, "swipeVelocityThreshold", new Value(this.props.swipeVelocityThreshold));
135
-
136
111
  _defineProperty(this, "currentOpenValue", this.props.open);
137
-
138
112
  _defineProperty(this, "pendingOpenValue", void 0);
139
-
140
113
  _defineProperty(this, "isStatusBarHidden", false);
141
-
142
114
  _defineProperty(this, "manuallyTriggerSpring", new Value(FALSE));
143
-
144
115
  _defineProperty(this, "transitionTo", isOpen => {
145
116
  const toValue = new Value(0);
146
117
  const frameTime = new Value(0);
@@ -150,17 +121,20 @@ export default class DrawerView extends React.Component {
150
121
  finished: new Value(FALSE),
151
122
  velocity: new Value(0)
152
123
  };
153
- return block([cond(clockRunning(this.clock), NOOP, [// Animation wasn't running before
124
+ return block([cond(clockRunning(this.clock), NOOP, [
125
+ // Animation wasn't running before
154
126
  // Set the initial values and start the clock
155
- 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, { ...SPRING_CONFIG,
127
+ 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, {
128
+ ...SPRING_CONFIG,
156
129
  toValue
157
- }), cond(state.finished, [// Reset gesture and velocity from previous gesture
158
- set(this.touchX, 0), set(this.gestureX, 0), set(this.velocityX, 0), set(this.offsetX, 0), // When the animation finishes, stop the clock
130
+ }), cond(state.finished, [
131
+ // Reset gesture and velocity from previous gesture
132
+ set(this.touchX, 0), set(this.gestureX, 0), set(this.velocityX, 0), set(this.offsetX, 0),
133
+ // When the animation finishes, stop the clock
159
134
  stopClock(this.clock), call([this.isOpen], _ref => {
160
135
  let [value] = _ref;
161
136
  const open = Boolean(value);
162
137
  this.handleEndInteraction();
163
-
164
138
  if (open !== this.props.open) {
165
139
  // Sync drawer's state after animation finished
166
140
  // This shouldn't be necessary, but there seems to be an issue on iOS
@@ -168,12 +142,12 @@ export default class DrawerView extends React.Component {
168
142
  }
169
143
  })])]);
170
144
  });
171
-
172
145
  _defineProperty(this, "dragX", block([onChange(this.isOpen, call([this.isOpen], _ref2 => {
173
146
  let [value] = _ref2;
174
147
  const open = Boolean(value);
175
- this.currentOpenValue = open; // Without this check, the drawer can go to an infinite update <-> animate loop for sync updates
148
+ this.currentOpenValue = open;
176
149
 
150
+ // Without this check, the drawer can go to an infinite update <-> animate loop for sync updates
177
151
  if (open !== this.props.open) {
178
152
  // If the mode changed, update state
179
153
  if (open) {
@@ -181,17 +155,21 @@ export default class DrawerView extends React.Component {
181
155
  } else {
182
156
  this.props.onClose();
183
157
  }
158
+ this.pendingOpenValue = open;
184
159
 
185
- this.pendingOpenValue = open; // Force componentDidUpdate to fire, whether user does a setState or not
160
+ // Force componentDidUpdate to fire, whether user does a setState or not
186
161
  // This allows us to detect when the user drops the update and revert back
187
162
  // It's necessary to make sure that the state stays in sync
188
-
189
163
  this.forceUpdate();
190
164
  }
191
- })), onChange(this.nextIsOpen, cond(neq(this.nextIsOpen, UNSET), [// Stop any running animations
192
- cond(clockRunning(this.clock), stopClock(this.clock)), // Update the open value to trigger the transition
193
- set(this.isOpen, this.nextIsOpen), set(this.gestureX, 0), set(this.nextIsOpen, UNSET)])), // This block must be after the this.isOpen listener since we check for current value
194
- onChange(this.isSwiping, // Listen to updates for this value only when it changes
165
+ })), onChange(this.nextIsOpen, cond(neq(this.nextIsOpen, UNSET), [
166
+ // Stop any running animations
167
+ cond(clockRunning(this.clock), stopClock(this.clock)),
168
+ // Update the open value to trigger the transition
169
+ set(this.isOpen, this.nextIsOpen), set(this.gestureX, 0), set(this.nextIsOpen, UNSET)])),
170
+ // This block must be after the this.isOpen listener since we check for current value
171
+ onChange(this.isSwiping,
172
+ // Listen to updates for this value only when it changes
195
173
  // Without `onChange`, this will fire even if the value didn't change
196
174
  // We don't want to call the listeners if the value didn't change
197
175
  call([this.isSwiping], _ref3 => {
@@ -199,29 +177,31 @@ export default class DrawerView extends React.Component {
199
177
  const {
200
178
  keyboardDismissMode
201
179
  } = this.props;
202
-
203
180
  if (value === TRUE) {
204
181
  if (keyboardDismissMode === 'on-drag') {
205
182
  Keyboard.dismiss();
206
183
  }
207
-
208
184
  this.toggleStatusBar(true);
209
185
  } else {
210
186
  this.toggleStatusBar(this.currentOpenValue);
211
187
  }
212
- })), onChange(this.gestureState, cond(eq(this.gestureState, GestureState.ACTIVE), call([], this.handleStartInteraction))), cond(eq(this.gestureState, GestureState.ACTIVE), [cond(this.isSwiping, NOOP, [// We weren't dragging before, set it to true
213
- set(this.isSwiping, TRUE), // Also update the drag offset to the last position
214
- set(this.offsetX, this.position)]), // Update position with previous offset + gesture distance
215
- set(this.position, add(this.offsetX, this.gestureX, this.touchDistanceFromDrawer)), // Stop animations while we're dragging
216
- 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), // If swiped to right, open the drawer, otherwise close it
217
- greaterThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0), // If swiped to left, open the drawer, otherwise close it
188
+ })), onChange(this.gestureState, cond(eq(this.gestureState, GestureState.ACTIVE), call([], this.handleStartInteraction))), cond(eq(this.gestureState, GestureState.ACTIVE), [cond(this.isSwiping, NOOP, [
189
+ // We weren't dragging before, set it to true
190
+ set(this.isSwiping, TRUE),
191
+ // Also update the drag offset to the last position
192
+ set(this.offsetX, this.position)]),
193
+ // Update position with previous offset + gesture distance
194
+ set(this.position, add(this.offsetX, this.gestureX, this.touchDistanceFromDrawer)),
195
+ // Stop animations while we're dragging
196
+ 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),
197
+ // If swiped to right, open the drawer, otherwise close it
198
+ greaterThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0),
199
+ // If swiped to left, open the drawer, otherwise close it
218
200
  lessThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0)), this.isOpen)))]), this.position]));
219
-
220
201
  _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)));
221
-
222
- _defineProperty(this, "progress", cond( // Check if the drawer width is available to avoid division by zero
202
+ _defineProperty(this, "progress", cond(
203
+ // Check if the drawer width is available to avoid division by zero
223
204
  eq(this.drawerWidth, 0), 0, abs(divide(this.translateX, this.drawerWidth))));
224
-
225
205
  _defineProperty(this, "handleGestureEvent", event([{
226
206
  nativeEvent: {
227
207
  x: this.touchX,
@@ -229,46 +209,41 @@ export default class DrawerView extends React.Component {
229
209
  velocityX: this.velocityX
230
210
  }
231
211
  }]));
232
-
233
212
  _defineProperty(this, "handleGestureStateChange", event([{
234
213
  nativeEvent: {
235
214
  state: s => set(this.gestureState, s)
236
215
  }
237
216
  }]));
238
-
239
217
  _defineProperty(this, "handleContainerLayout", e => this.containerWidth.setValue(e.nativeEvent.layout.width));
240
-
241
218
  _defineProperty(this, "handleDrawerLayout", e => {
242
219
  this.drawerWidth.setValue(e.nativeEvent.layout.width);
243
- this.toggleDrawer(this.props.open); // Until layout is available, drawer is hidden with opacity: 0 by default
220
+ this.toggleDrawer(this.props.open);
221
+
222
+ // Until layout is available, drawer is hidden with opacity: 0 by default
244
223
  // Show it in the next frame when layout is available
245
224
  // If we don't delay it until the next frame, there's a visible flicker
246
-
247
225
  requestAnimationFrame(() => requestAnimationFrame(() => this.drawerOpacity.setValue(1)));
248
226
  });
249
-
250
227
  _defineProperty(this, "toggleDrawer", open => {
251
228
  if (this.currentOpenValue !== open) {
252
- this.nextIsOpen.setValue(open ? TRUE : FALSE); // This value will also be set shortly after as changing this.nextIsOpen changes this.isOpen
253
- // However, there's a race condition on Android, so we need to set a bit earlier
229
+ this.nextIsOpen.setValue(open ? TRUE : FALSE);
254
230
 
231
+ // This value will also be set shortly after as changing this.nextIsOpen changes this.isOpen
232
+ // However, there's a race condition on Android, so we need to set a bit earlier
255
233
  this.currentOpenValue = open;
256
234
  }
257
235
  });
258
-
259
236
  _defineProperty(this, "toggleStatusBar", hidden => {
260
237
  const {
261
238
  hideStatusBarOnOpen: hideStatusBar,
262
239
  statusBarAnimation
263
240
  } = this.props;
264
-
265
241
  if (hideStatusBar && this.isStatusBarHidden !== hidden) {
266
242
  this.isStatusBarHidden = hidden;
267
243
  StatusBar.setHidden(hidden, statusBarAnimation);
268
244
  }
269
245
  });
270
246
  }
271
-
272
247
  componentDidUpdate(prevProps) {
273
248
  const {
274
249
  open,
@@ -278,40 +253,32 @@ export default class DrawerView extends React.Component {
278
253
  swipeVelocityThreshold,
279
254
  hideStatusBarOnOpen: hideStatusBar
280
255
  } = this.props;
281
-
282
- if ( // If we're not in the middle of a transition, sync the drawer's open state
256
+ if (
257
+ // If we're not in the middle of a transition, sync the drawer's open state
283
258
  typeof this.pendingOpenValue !== 'boolean' || open !== this.pendingOpenValue) {
284
259
  this.toggleDrawer(open);
285
260
  }
286
-
287
261
  this.pendingOpenValue = undefined;
288
-
289
262
  if (open !== prevProps.open && hideStatusBar) {
290
263
  this.toggleStatusBar(open);
291
264
  }
292
-
293
265
  if (prevProps.drawerPosition !== drawerPosition) {
294
266
  this.drawerPosition.setValue(drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT);
295
267
  }
296
-
297
268
  if (prevProps.drawerType !== drawerType) {
298
269
  this.isDrawerTypeFront.setValue(drawerType === 'front' ? TRUE : FALSE);
299
270
  }
300
-
301
271
  if (prevProps.swipeDistanceThreshold !== swipeDistanceThreshold) {
302
272
  this.swipeDistanceThreshold.setValue(swipeDistanceThreshold);
303
273
  }
304
-
305
274
  if (prevProps.swipeVelocityThreshold !== swipeVelocityThreshold) {
306
275
  this.swipeVelocityThreshold.setValue(swipeVelocityThreshold);
307
276
  }
308
277
  }
309
-
310
278
  componentWillUnmount() {
311
279
  this.toggleStatusBar(false);
312
280
  this.handleEndInteraction();
313
281
  }
314
-
315
282
  render() {
316
283
  const {
317
284
  open,
@@ -329,10 +296,12 @@ export default class DrawerView extends React.Component {
329
296
  const isRight = drawerPosition === 'right';
330
297
  const contentTranslateX = drawerType === 'front' ? ANIMATED_ZERO : this.translateX;
331
298
  const drawerTranslateX = drawerType === 'back' ? I18nManager.getConstants().isRTL ? multiply(sub(this.containerWidth, this.drawerWidth), isRight ? 1 : -1) : ANIMATED_ZERO : this.translateX;
332
- const offset = drawerType === 'back' ? 0 : I18nManager.getConstants().isRTL ? '100%' : multiply(this.drawerWidth, -1); // FIXME: Currently hitSlop is broken when on Android when drawer is on right
333
- // https://github.com/software-mansion/react-native-gesture-handler/issues/569
299
+ const offset = drawerType === 'back' ? 0 : I18nManager.getConstants().isRTL ? '100%' : multiply(this.drawerWidth, -1);
334
300
 
335
- const hitSlop = isRight ? // Extend hitSlop to the side of the screen when drawer is closed
301
+ // FIXME: Currently hitSlop is broken when on Android when drawer is on right
302
+ // https://github.com/software-mansion/react-native-gesture-handler/issues/569
303
+ const hitSlop = isRight ?
304
+ // Extend hitSlop to the side of the screen when drawer is closed
336
305
  // This lets the user drag the drawer from the side of the screen
337
306
  {
338
307
  right: 0,
@@ -358,7 +327,8 @@ export default class DrawerView extends React.Component {
358
327
  }]
359
328
  }, /*#__PURE__*/React.createElement(Animated.View, {
360
329
  style: [styles.content, {
361
- transform: drawerType === 'permanent' ? // Reanimated needs the property to be present, but it results in Browser bug
330
+ transform: drawerType === 'permanent' ?
331
+ // Reanimated needs the property to be present, but it results in Browser bug
362
332
  // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
363
333
  [] : [{
364
334
  translateX: contentTranslateX
@@ -368,7 +338,8 @@ export default class DrawerView extends React.Component {
368
338
  accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
369
339
  importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
370
340
  style: styles.content
371
- }, renderSceneContent()), // Disable overlay if sidebar is permanent
341
+ }, renderSceneContent()),
342
+ // Disable overlay if sidebar is permanent
372
343
  drawerType === 'permanent' ? null : /*#__PURE__*/React.createElement(Overlay, {
373
344
  progress: progress,
374
345
  onPress: () => this.toggleDrawer(false),
@@ -386,13 +357,15 @@ export default class DrawerView extends React.Component {
386
357
  removeClippedSubviews: Platform.OS !== 'ios',
387
358
  onLayout: this.handleDrawerLayout,
388
359
  style: [styles.container, {
389
- transform: drawerType === 'permanent' ? // Reanimated needs the property to be present, but it results in Browser bug
360
+ transform: drawerType === 'permanent' ?
361
+ // Reanimated needs the property to be present, but it results in Browser bug
390
362
  // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
391
363
  [] : [{
392
364
  translateX: drawerTranslateX
393
365
  }],
394
366
  opacity: this.drawerOpacity
395
- }, drawerType === 'permanent' ? // Without this, the `left`/`right` values don't get reset
367
+ }, drawerType === 'permanent' ?
368
+ // Without this, the `left`/`right` values don't get reset
396
369
  isRight ? {
397
370
  right: 0
398
371
  } : {
@@ -406,7 +379,6 @@ export default class DrawerView extends React.Component {
406
379
  }], drawerStyle]
407
380
  }, renderDrawerContent()))));
408
381
  }
409
-
410
382
  }
411
383
  const styles = StyleSheet.create({
412
384
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","I18nManager","InteractionManager","Keyboard","Platform","StatusBar","StyleSheet","View","Animated","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","SWIPE_DISTANCE_MINIMUM","DEFAULT_DRAWER_WIDTH","SPRING_CONFIG","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","ANIMATED_ZERO","ANIMATED_ONE","DrawerView","Component","interactionHandle","undefined","clearInteractionHandle","createInteractionHandle","drawerStyle","dimensions","props","width","flatten","endsWith","percentage","Number","replace","isFinite","drawerType","open","getDrawerWidth","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","dismiss","toggleStatusBar","gestureState","ACTIVE","touchDistanceFromDrawer","transitionTo","dragX","translateX","nativeEvent","x","translationX","s","e","setValue","layout","requestAnimationFrame","drawerOpacity","hidden","hideStatusBarOnOpen","hideStatusBar","statusBarAnimation","isStatusBarHidden","setHidden","componentDidUpdate","prevProps","componentWillUnmount","render","swipeEnabled","swipeEdgeWidth","overlayStyle","renderDrawerContent","renderSceneContent","gestureHandlerProps","isRight","contentTranslateX","drawerTranslateX","getConstants","isRTL","offset","hitSlop","right","left","progress","handleGestureEvent","handleGestureStateChange","handleContainerLayout","styles","main","flexDirection","content","transform","OS","handleDrawerLayout","container","opacity","nonPermanent","zIndex","create","backgroundColor","maxWidth","top","bottom","flex","select","web","default","overflow"],"sources":["Drawer.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n I18nManager,\n InteractionManager,\n Keyboard,\n LayoutChangeEvent,\n Platform,\n StatusBar,\n StyleSheet,\n View,\n} from 'react-native';\nimport Animated from 'react-native-reanimated';\n\nimport type { DrawerProps } from '../../types';\nimport DrawerProgressContext from '../../utils/DrawerProgressContext';\nimport { GestureState, PanGestureHandler } from '../GestureHandler';\nimport Overlay from './Overlay';\n\nconst {\n Clock,\n Value,\n onChange,\n clockRunning,\n startClock,\n stopClock,\n spring,\n abs,\n add,\n and,\n block,\n call,\n cond,\n divide,\n eq,\n event,\n greaterThan,\n lessThan,\n max,\n min,\n multiply,\n neq,\n or,\n set,\n sub,\n} = Animated;\n\nconst TRUE = 1;\nconst FALSE = 0;\nconst NOOP = 0;\nconst UNSET = -1;\n\nconst DIRECTION_LEFT = 1;\nconst DIRECTION_RIGHT = -1;\n\nconst SWIPE_DISTANCE_MINIMUM = 5;\n\nconst DEFAULT_DRAWER_WIDTH = '80%';\n\nconst SPRING_CONFIG = {\n stiffness: 1000,\n damping: 500,\n mass: 3,\n overshootClamping: true,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n};\n\nconst ANIMATED_ZERO = new Animated.Value(0);\nconst ANIMATED_ONE = new Animated.Value(1);\n\ntype Binary = 0 | 1;\n\nexport default class DrawerView extends React.Component<DrawerProps> {\n componentDidUpdate(prevProps: DrawerProps) {\n const {\n open,\n drawerPosition,\n drawerType,\n swipeDistanceThreshold,\n swipeVelocityThreshold,\n hideStatusBarOnOpen: hideStatusBar,\n } = this.props;\n\n if (\n // If we're not in the middle of a transition, sync the drawer's open state\n typeof this.pendingOpenValue !== 'boolean' ||\n open !== this.pendingOpenValue\n ) {\n this.toggleDrawer(open);\n }\n\n this.pendingOpenValue = undefined;\n\n if (open !== prevProps.open && hideStatusBar) {\n this.toggleStatusBar(open);\n }\n\n if (prevProps.drawerPosition !== drawerPosition) {\n this.drawerPosition.setValue(\n drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT\n );\n }\n\n if (prevProps.drawerType !== drawerType) {\n this.isDrawerTypeFront.setValue(drawerType === 'front' ? TRUE : FALSE);\n }\n\n if (prevProps.swipeDistanceThreshold !== swipeDistanceThreshold) {\n this.swipeDistanceThreshold.setValue(swipeDistanceThreshold);\n }\n\n if (prevProps.swipeVelocityThreshold !== swipeVelocityThreshold) {\n this.swipeVelocityThreshold.setValue(swipeVelocityThreshold);\n }\n }\n\n componentWillUnmount() {\n this.toggleStatusBar(false);\n this.handleEndInteraction();\n }\n\n private handleEndInteraction = () => {\n if (this.interactionHandle !== undefined) {\n InteractionManager.clearInteractionHandle(this.interactionHandle);\n this.interactionHandle = undefined;\n }\n };\n\n private handleStartInteraction = () => {\n if (this.interactionHandle === undefined) {\n this.interactionHandle = InteractionManager.createInteractionHandle();\n }\n };\n\n private getDrawerWidth = (): number => {\n const { drawerStyle, dimensions } = this.props;\n const { width = DEFAULT_DRAWER_WIDTH } =\n StyleSheet.flatten(drawerStyle) || {};\n\n if (typeof width === 'string' && width.endsWith('%')) {\n // Try to calculate width if a percentage is given\n const percentage = Number(width.replace(/%$/, ''));\n\n if (Number.isFinite(percentage)) {\n return dimensions.width * (percentage / 100);\n }\n }\n\n return typeof width === 'number' ? width : 0;\n };\n\n private clock = new Clock();\n private interactionHandle: number | undefined;\n\n private isDrawerTypeFront = new Value<Binary>(\n this.props.drawerType === 'front' ? TRUE : FALSE\n );\n\n private isOpen = new Value<Binary>(this.props.open ? TRUE : FALSE);\n private nextIsOpen = new Value<Binary | -1>(UNSET);\n private isSwiping = new Value<Binary>(FALSE);\n\n private initialDrawerWidth = this.getDrawerWidth();\n\n private gestureState = new Value<number>(GestureState.UNDETERMINED);\n private touchX = new Value<number>(0);\n private velocityX = new Value<number>(0);\n private gestureX = new Value<number>(0);\n private offsetX = new Value<number>(0);\n private position = new Value<number>(\n this.props.open\n ? this.initialDrawerWidth *\n (this.props.drawerPosition === 'right'\n ? DIRECTION_RIGHT\n : DIRECTION_LEFT)\n : 0\n );\n\n private containerWidth = new Value<number>(this.props.dimensions.width);\n private drawerWidth = new Value<number>(this.initialDrawerWidth);\n private drawerOpacity = new Value<number>(\n this.props.drawerType === 'permanent' ? 1 : 0\n );\n private drawerPosition = new Value<number>(\n this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT\n );\n\n // Comment stolen from react-native-gesture-handler/DrawerLayout\n //\n // While closing the drawer when user starts gesture outside of its area (in greyed\n // out part of the window), we want the drawer to follow only once finger reaches the\n // edge of the drawer.\n // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by\n // dots. The touch gesture starts at '*' and moves left, touch path is indicated by\n // an arrow pointing left\n // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // +---------------+ +---------------+ +---------------+ +---------------+\n //\n // For the above to work properly we define animated value that will keep start position\n // of the gesture. Then we use that value to calculate how much we need to subtract from\n // the dragX. If the gesture started on the greyed out area we take the distance from the\n // edge of the drawer to the start position. Otherwise we don't subtract at all and the\n // drawer be pulled back as soon as you start the pan.\n //\n // This is used only when drawerType is \"front\"\n private touchDistanceFromDrawer = cond(\n this.isDrawerTypeFront,\n cond(\n eq(this.drawerPosition, DIRECTION_LEFT),\n max(\n // Distance of touch start from left screen edge - Drawer width\n sub(sub(this.touchX, this.gestureX), this.drawerWidth),\n 0\n ),\n min(\n multiply(\n // Distance of drawer from left screen edge - Touch start point\n sub(\n sub(this.containerWidth, this.drawerWidth),\n sub(this.touchX, this.gestureX)\n ),\n DIRECTION_RIGHT\n ),\n 0\n )\n ),\n 0\n );\n\n private swipeDistanceThreshold = new Value<number>(\n this.props.swipeDistanceThreshold\n );\n private swipeVelocityThreshold = new Value<number>(\n this.props.swipeVelocityThreshold\n );\n\n private currentOpenValue: boolean = this.props.open;\n private pendingOpenValue: boolean | undefined;\n\n private isStatusBarHidden: boolean = false;\n\n private manuallyTriggerSpring = new Value<Binary>(FALSE);\n\n private transitionTo = (isOpen: number | Animated.Node<number>) => {\n const toValue = new Value(0);\n const frameTime = new Value(0);\n\n const state = {\n position: this.position,\n time: new Value(0),\n finished: new Value(FALSE),\n velocity: new Value(0),\n };\n\n return block([\n cond(clockRunning(this.clock), NOOP, [\n // Animation wasn't running before\n // Set the initial values and start the clock\n set(toValue, multiply(isOpen, this.drawerWidth, this.drawerPosition)),\n set(frameTime, 0),\n set(state.time, 0),\n set(state.finished, FALSE),\n set(state.velocity, this.velocityX),\n set(this.isOpen, isOpen),\n startClock(this.clock),\n call([], this.handleStartInteraction),\n set(this.manuallyTriggerSpring, FALSE),\n ]),\n spring(this.clock, state, { ...SPRING_CONFIG, toValue }),\n cond(state.finished, [\n // Reset gesture and velocity from previous gesture\n set(this.touchX, 0),\n set(this.gestureX, 0),\n set(this.velocityX, 0),\n set(this.offsetX, 0),\n // When the animation finishes, stop the clock\n stopClock(this.clock),\n call([this.isOpen], ([value]: readonly Binary[]) => {\n const open = Boolean(value);\n this.handleEndInteraction();\n\n if (open !== this.props.open) {\n // Sync drawer's state after animation finished\n // This shouldn't be necessary, but there seems to be an issue on iOS\n this.toggleDrawer(this.props.open);\n }\n }),\n ]),\n ]);\n };\n\n private dragX = block([\n onChange(\n this.isOpen,\n call([this.isOpen], ([value]: readonly Binary[]) => {\n const open = Boolean(value);\n\n this.currentOpenValue = open;\n\n // Without this check, the drawer can go to an infinite update <-> animate loop for sync updates\n if (open !== this.props.open) {\n // If the mode changed, update state\n if (open) {\n this.props.onOpen();\n } else {\n this.props.onClose();\n }\n\n this.pendingOpenValue = open;\n\n // Force componentDidUpdate to fire, whether user does a setState or not\n // This allows us to detect when the user drops the update and revert back\n // It's necessary to make sure that the state stays in sync\n this.forceUpdate();\n }\n })\n ),\n onChange(\n this.nextIsOpen,\n cond(neq(this.nextIsOpen, UNSET), [\n // Stop any running animations\n cond(clockRunning(this.clock), stopClock(this.clock)),\n // Update the open value to trigger the transition\n set(this.isOpen, this.nextIsOpen),\n set(this.gestureX, 0),\n set(this.nextIsOpen, UNSET),\n ])\n ),\n // This block must be after the this.isOpen listener since we check for current value\n onChange(\n this.isSwiping,\n // Listen to updates for this value only when it changes\n // Without `onChange`, this will fire even if the value didn't change\n // We don't want to call the listeners if the value didn't change\n call([this.isSwiping], ([value]: readonly Binary[]) => {\n const { keyboardDismissMode } = this.props;\n\n if (value === TRUE) {\n if (keyboardDismissMode === 'on-drag') {\n Keyboard.dismiss();\n }\n\n this.toggleStatusBar(true);\n } else {\n this.toggleStatusBar(this.currentOpenValue);\n }\n })\n ),\n onChange(\n this.gestureState,\n cond(\n eq(this.gestureState, GestureState.ACTIVE),\n call([], this.handleStartInteraction)\n )\n ),\n cond(\n eq(this.gestureState, GestureState.ACTIVE),\n [\n cond(this.isSwiping, NOOP, [\n // We weren't dragging before, set it to true\n set(this.isSwiping, TRUE),\n // Also update the drag offset to the last position\n set(this.offsetX, this.position),\n ]),\n // Update position with previous offset + gesture distance\n set(\n this.position,\n add(this.offsetX, this.gestureX, this.touchDistanceFromDrawer)\n ),\n // Stop animations while we're dragging\n stopClock(this.clock),\n ],\n [\n set(this.isSwiping, FALSE),\n set(this.touchX, 0),\n this.transitionTo(\n cond(\n this.manuallyTriggerSpring,\n this.isOpen,\n cond(\n or(\n and(\n greaterThan(abs(this.gestureX), SWIPE_DISTANCE_MINIMUM),\n greaterThan(abs(this.velocityX), this.swipeVelocityThreshold)\n ),\n greaterThan(abs(this.gestureX), this.swipeDistanceThreshold)\n ),\n cond(\n eq(this.drawerPosition, DIRECTION_LEFT),\n // If swiped to right, open the drawer, otherwise close it\n greaterThan(\n cond(eq(this.velocityX, 0), this.gestureX, this.velocityX),\n 0\n ),\n // If swiped to left, open the drawer, otherwise close it\n lessThan(\n cond(eq(this.velocityX, 0), this.gestureX, this.velocityX),\n 0\n )\n ),\n this.isOpen\n )\n )\n ),\n ]\n ),\n this.position,\n ]);\n\n private translateX = cond(\n eq(this.drawerPosition, DIRECTION_RIGHT),\n min(max(multiply(this.drawerWidth, -1), this.dragX), 0),\n max(min(this.drawerWidth, this.dragX), 0)\n );\n\n private progress = cond(\n // Check if the drawer width is available to avoid division by zero\n eq(this.drawerWidth, 0),\n 0,\n abs(divide(this.translateX, this.drawerWidth))\n );\n\n private handleGestureEvent = event([\n {\n nativeEvent: {\n x: this.touchX,\n translationX: this.gestureX,\n velocityX: this.velocityX,\n },\n },\n ]);\n\n private handleGestureStateChange = event([\n {\n nativeEvent: {\n state: (s: Animated.Value<number>) => set(this.gestureState, s),\n },\n },\n ]);\n\n private handleContainerLayout = (e: LayoutChangeEvent) =>\n this.containerWidth.setValue(e.nativeEvent.layout.width);\n\n private handleDrawerLayout = (e: LayoutChangeEvent) => {\n this.drawerWidth.setValue(e.nativeEvent.layout.width);\n this.toggleDrawer(this.props.open);\n\n // Until layout is available, drawer is hidden with opacity: 0 by default\n // Show it in the next frame when layout is available\n // If we don't delay it until the next frame, there's a visible flicker\n requestAnimationFrame(() =>\n requestAnimationFrame(() => this.drawerOpacity.setValue(1))\n );\n };\n\n private toggleDrawer = (open: boolean) => {\n if (this.currentOpenValue !== open) {\n this.nextIsOpen.setValue(open ? TRUE : FALSE);\n\n // This value will also be set shortly after as changing this.nextIsOpen changes this.isOpen\n // However, there's a race condition on Android, so we need to set a bit earlier\n this.currentOpenValue = open;\n }\n };\n\n private toggleStatusBar = (hidden: boolean) => {\n const { hideStatusBarOnOpen: hideStatusBar, statusBarAnimation } =\n this.props;\n\n if (hideStatusBar && this.isStatusBarHidden !== hidden) {\n this.isStatusBarHidden = hidden;\n StatusBar.setHidden(hidden, statusBarAnimation);\n }\n };\n\n render() {\n const {\n open,\n swipeEnabled,\n drawerPosition,\n drawerType,\n swipeEdgeWidth,\n drawerStyle,\n overlayStyle,\n renderDrawerContent,\n renderSceneContent,\n gestureHandlerProps,\n } = this.props;\n\n const isOpen = drawerType === 'permanent' ? true : open;\n const isRight = drawerPosition === 'right';\n\n const contentTranslateX =\n drawerType === 'front' ? ANIMATED_ZERO : this.translateX;\n\n const drawerTranslateX =\n drawerType === 'back'\n ? I18nManager.getConstants().isRTL\n ? multiply(\n sub(this.containerWidth, this.drawerWidth),\n isRight ? 1 : -1\n )\n : ANIMATED_ZERO\n : this.translateX;\n\n const offset =\n drawerType === 'back'\n ? 0\n : I18nManager.getConstants().isRTL\n ? '100%'\n : multiply(this.drawerWidth, -1);\n\n // FIXME: Currently hitSlop is broken when on Android when drawer is on right\n // https://github.com/software-mansion/react-native-gesture-handler/issues/569\n const hitSlop = isRight\n ? // Extend hitSlop to the side of the screen when drawer is closed\n // This lets the user drag the drawer from the side of the screen\n { right: 0, width: isOpen ? undefined : swipeEdgeWidth }\n : { left: 0, width: isOpen ? undefined : swipeEdgeWidth };\n\n const progress = drawerType === 'permanent' ? ANIMATED_ONE : this.progress;\n\n return (\n <DrawerProgressContext.Provider value={progress}>\n <PanGestureHandler\n activeOffsetX={[-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM]}\n failOffsetY={[-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM]}\n onGestureEvent={this.handleGestureEvent}\n onHandlerStateChange={this.handleGestureStateChange}\n hitSlop={hitSlop}\n enabled={drawerType !== 'permanent' && swipeEnabled}\n {...gestureHandlerProps}\n >\n <Animated.View\n onLayout={this.handleContainerLayout}\n style={[\n styles.main,\n {\n flexDirection:\n drawerType === 'permanent' && !isRight\n ? 'row-reverse'\n : 'row',\n },\n ]}\n >\n <Animated.View\n style={[\n styles.content,\n {\n transform:\n drawerType === 'permanent'\n ? // Reanimated needs the property to be present, but it results in Browser bug\n // https://bugs.chromium.org/p/chromium/issues/detail?id=20574\n []\n : [{ translateX: contentTranslateX }],\n },\n ]}\n >\n <View\n accessibilityElementsHidden={\n isOpen && drawerType !== 'permanent'\n }\n importantForAccessibility={\n isOpen && drawerType !== 'permanent'\n ? 'no-hide-descendants'\n : 'auto'\n }\n style={styles.content}\n >\n {renderSceneContent()}\n </View>\n {\n // Disable overlay if sidebar is permanent\n drawerType === 'permanent' ? null : (\n <Overlay\n progress={progress}\n onPress={() => this.toggleDrawer(false)}\n style={overlayStyle as any}\n accessibilityElementsHidden={!isOpen}\n importantForAccessibility={\n isOpen ? 'auto' : 'no-hide-descendants'\n }\n />\n )\n }\n </Animated.View>\n <Animated.Code\n // This is needed to make sure that container width updates with `setValue`\n // Without this, it won't update when not used in styles\n exec={this.containerWidth}\n />\n {drawerType === 'permanent' ? null : (\n <Animated.Code\n exec={block([\n onChange(this.manuallyTriggerSpring, [\n cond(eq(this.manuallyTriggerSpring, TRUE), [\n set(this.nextIsOpen, FALSE),\n call([], () => (this.currentOpenValue = false)),\n ]),\n ]),\n ])}\n />\n )}\n <Animated.View\n accessibilityViewIsModal={isOpen && drawerType !== 'permanent'}\n removeClippedSubviews={Platform.OS !== 'ios'}\n onLayout={this.handleDrawerLayout}\n style={[\n styles.container,\n {\n transform:\n drawerType === 'permanent'\n ? // Reanimated needs the property to be present, but it results in Browser bug\n // https://bugs.chromium.org/p/chromium/issues/detail?id=20574\n []\n : [{ translateX: drawerTranslateX }],\n opacity: this.drawerOpacity,\n },\n drawerType === 'permanent'\n ? // Without this, the `left`/`right` values don't get reset\n isRight\n ? { right: 0 }\n : { left: 0 }\n : [\n styles.nonPermanent,\n isRight ? { right: offset } : { left: offset },\n { zIndex: drawerType === 'back' ? -1 : 0 },\n ],\n drawerStyle as any,\n ]}\n >\n {renderDrawerContent()}\n </Animated.View>\n </Animated.View>\n </PanGestureHandler>\n </DrawerProgressContext.Provider>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: 'white',\n maxWidth: '100%',\n },\n nonPermanent: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n width: DEFAULT_DRAWER_WIDTH,\n },\n content: {\n flex: 1,\n },\n main: {\n flex: 1,\n ...Platform.select({\n // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.\n // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.\n web: null,\n default: { overflow: 'hidden' },\n }),\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","I18nManager","InteractionManager","Keyboard","Platform","StatusBar","StyleSheet","View","Animated","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","SWIPE_DISTANCE_MINIMUM","DEFAULT_DRAWER_WIDTH","SPRING_CONFIG","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","ANIMATED_ZERO","ANIMATED_ONE","DrawerView","Component","interactionHandle","undefined","clearInteractionHandle","createInteractionHandle","drawerStyle","dimensions","props","width","flatten","endsWith","percentage","Number","replace","isFinite","drawerType","open","getDrawerWidth","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","dismiss","toggleStatusBar","gestureState","ACTIVE","touchDistanceFromDrawer","transitionTo","dragX","translateX","nativeEvent","x","translationX","s","e","setValue","layout","requestAnimationFrame","drawerOpacity","hidden","hideStatusBarOnOpen","hideStatusBar","statusBarAnimation","isStatusBarHidden","setHidden","componentDidUpdate","prevProps","componentWillUnmount","render","swipeEnabled","swipeEdgeWidth","overlayStyle","renderDrawerContent","renderSceneContent","gestureHandlerProps","isRight","contentTranslateX","drawerTranslateX","getConstants","isRTL","offset","hitSlop","right","left","progress","handleGestureEvent","handleGestureStateChange","handleContainerLayout","styles","main","flexDirection","content","transform","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,5 +1,4 @@
1
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
-
3
2
  import * as React from 'react';
4
3
  import { Platform, Pressable, StyleSheet } from 'react-native';
5
4
  import Animated from 'react-native-reanimated';
@@ -10,7 +9,7 @@ const {
10
9
  cond,
11
10
  greaterThan
12
11
  } = Animated;
13
- const interpolate = interpolateNode !== null && interpolateNode !== void 0 ? interpolateNode : interpolateDeprecated;
12
+ const interpolate = interpolateNode ?? interpolateDeprecated;
14
13
  const PROGRESS_EPSILON = 0.05;
15
14
  const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
16
15
  let {
@@ -50,7 +49,8 @@ const overlayStyle = Platform.select({
50
49
  default: {}
51
50
  });
52
51
  const styles = StyleSheet.create({
53
- overlay: { ...StyleSheet.absoluteFillObject,
52
+ overlay: {
53
+ ...StyleSheet.absoluteFillObject,
54
54
  backgroundColor: 'rgba(0, 0, 0, 0.5)'
55
55
  },
56
56
  pressable: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","Pressable","StyleSheet","Animated","interpolate","interpolateDeprecated","interpolateNode","cond","greaterThan","PROGRESS_EPSILON","Overlay","forwardRef","ref","progress","onPress","style","props","animatedStyle","opacity","inputRange","OS","outputRange","zIndex","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","create","absoluteFillObject","backgroundColor","flex"],"sources":["Overlay.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Platform, Pressable, StyleSheet } from 'react-native';\nimport Animated from 'react-native-reanimated';\n\nconst {\n // @ts-expect-error: this is to support reanimated 1\n interpolate: interpolateDeprecated,\n interpolateNode,\n cond,\n greaterThan,\n} = Animated;\n\nconst interpolate: typeof interpolateNode =\n interpolateNode ?? interpolateDeprecated;\n\nconst PROGRESS_EPSILON = 0.05;\n\ntype Props = React.ComponentProps<typeof Animated.View> & {\n progress: Animated.Node<number>;\n onPress: () => void;\n};\n\nconst Overlay = React.forwardRef(function Overlay(\n { progress, onPress, style, ...props }: Props,\n ref: React.Ref<Animated.View>\n) {\n const animatedStyle = {\n opacity: interpolate(progress, {\n // Default input range is [PROGRESS_EPSILON, 1]\n // On Windows, the output value is 1 when input value is out of range for some reason\n // The default value 0 will be interpolated to 1 in this case, which is not what we want.\n // Therefore changing input range on Windows to [0,1] instead.\n inputRange:\n Platform.OS === 'windows' || Platform.OS === 'macos'\n ? [0, 1]\n : [PROGRESS_EPSILON, 1],\n outputRange: [0, 1],\n }),\n // We don't want the user to be able to press through the overlay when drawer is open\n // One approach is to adjust the pointerEvents based on the progress\n // But we can also send the overlay behind the screen, which works, and is much less code\n zIndex: cond(greaterThan(progress, PROGRESS_EPSILON), 0, -1),\n };\n\n return (\n <Animated.View\n {...props}\n ref={ref}\n style={[styles.overlay, overlayStyle, animatedStyle, style]}\n >\n <Pressable onPress={onPress} style={styles.pressable} />\n </Animated.View>\n );\n});\n\nconst overlayStyle = Platform.select<Record<string, string>>({\n web: {\n // Disable touch highlight on mobile Safari.\n // WebkitTapHighlightColor must be used outside of StyleSheet.create because react-native-web will omit the property.\n WebkitTapHighlightColor: 'transparent',\n },\n default: {},\n});\n\nconst styles = StyleSheet.create({\n overlay: {\n ...StyleSheet.absoluteFillObject,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n },\n pressable: {\n flex: 1,\n },\n});\n\nexport default Overlay;\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAAmBC,SAAnB,EAA8BC,UAA9B,QAAgD,cAAhD;AACA,OAAOC,QAAP,MAAqB,yBAArB;AAEA,MAAM;EACJ;EACAC,WAAW,EAAEC,qBAFT;EAGJC,eAHI;EAIJC,IAJI;EAKJC;AALI,IAMFL,QANJ;AAQA,MAAMC,WAAmC,GACvCE,eADuC,aACvCA,eADuC,cACvCA,eADuC,GACpBD,qBADrB;AAGA,MAAMI,gBAAgB,GAAG,IAAzB;AAOA,MAAMC,OAAO,gBAAGX,KAAK,CAACY,UAAN,CAAiB,SAASD,OAAT,OAE/BE,GAF+B,EAG/B;EAAA,IAFA;IAAEC,QAAF;IAAYC,OAAZ;IAAqBC,KAArB;IAA4B,GAAGC;EAA/B,CAEA;EACA,MAAMC,aAAa,GAAG;IACpBC,OAAO,EAAEd,WAAW,CAACS,QAAD,EAAW;MAC7B;MACA;MACA;MACA;MACAM,UAAU,EACRnB,QAAQ,CAACoB,EAAT,KAAgB,SAAhB,IAA6BpB,QAAQ,CAACoB,EAAT,KAAgB,OAA7C,GACI,CAAC,CAAD,EAAI,CAAJ,CADJ,GAEI,CAACX,gBAAD,EAAmB,CAAnB,CARuB;MAS7BY,WAAW,EAAE,CAAC,CAAD,EAAI,CAAJ;IATgB,CAAX,CADA;IAYpB;IACA;IACA;IACAC,MAAM,EAAEf,IAAI,CAACC,WAAW,CAACK,QAAD,EAAWJ,gBAAX,CAAZ,EAA0C,CAA1C,EAA6C,CAAC,CAA9C;EAfQ,CAAtB;EAkBA,oBACE,oBAAC,QAAD,CAAU,IAAV,eACMO,KADN;IAEE,GAAG,EAAEJ,GAFP;IAGE,KAAK,EAAE,CAACW,MAAM,CAACC,OAAR,EAAiBC,YAAjB,EAA+BR,aAA/B,EAA8CF,KAA9C;EAHT,iBAKE,oBAAC,SAAD;IAAW,OAAO,EAAED,OAApB;IAA6B,KAAK,EAAES,MAAM,CAACG;EAA3C,EALF,CADF;AASD,CA/Be,CAAhB;AAiCA,MAAMD,YAAY,GAAGzB,QAAQ,CAAC2B,MAAT,CAAwC;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAHtB,CADsD;EAM3DC,OAAO,EAAE;AANkD,CAAxC,CAArB;AASA,MAAMP,MAAM,GAAGrB,UAAU,CAAC6B,MAAX,CAAkB;EAC/BP,OAAO,EAAE,EACP,GAAGtB,UAAU,CAAC8B,kBADP;IAEPC,eAAe,EAAE;EAFV,CADsB;EAK/BP,SAAS,EAAE;IACTQ,IAAI,EAAE;EADG;AALoB,CAAlB,CAAf;AAUA,eAAexB,OAAf"}
1
+ {"version":3,"names":["React","Platform","Pressable","StyleSheet","Animated","interpolate","interpolateDeprecated","interpolateNode","cond","greaterThan","PROGRESS_EPSILON","Overlay","forwardRef","ref","progress","onPress","style","props","animatedStyle","opacity","inputRange","OS","outputRange","zIndex","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../src","sources":["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;AAO7B,MAAMC,OAAO,gBAAGX,KAAK,CAACY,UAAU,CAAC,SAASD,OAAO,OAE/CE,GAA6B,EAC7B;EAAA,IAFA;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,KAAK;IAAE,GAAGC;EAAa,CAAC;EAG7C,MAAMC,aAAa,GAAG;IACpBC,OAAO,EAAEd,WAAW,CAACS,QAAQ,EAAE;MAC7B;MACA;MACA;MACA;MACAM,UAAU,EACRnB,QAAQ,CAACoB,EAAE,KAAK,SAAS,IAAIpB,QAAQ,CAACoB,EAAE,KAAK,OAAO,GAChD,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAACX,gBAAgB,EAAE,CAAC,CAAC;MAC3BY,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;IACpB,CAAC,CAAC;IACF;IACA;IACA;IACAC,MAAM,EAAEf,IAAI,CAACC,WAAW,CAACK,QAAQ,EAAEJ,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC7D,CAAC;EAED,oBACE,oBAAC,QAAQ,CAAC,IAAI,eACRO,KAAK;IACT,GAAG,EAAEJ,GAAI;IACT,KAAK,EAAE,CAACW,MAAM,CAACC,OAAO,EAAEC,YAAY,EAAER,aAAa,EAAEF,KAAK;EAAE,iBAE5D,oBAAC,SAAS;IAAC,OAAO,EAAED,OAAQ;IAAC,KAAK,EAAES,MAAM,CAACG;EAAU,EAAG,CAC1C;AAEpB,CAAC,CAAC;AAEF,MAAMD,YAAY,GAAGzB,QAAQ,CAAC2B,MAAM,CAAyB;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAMP,MAAM,GAAGrB,UAAU,CAAC6B,MAAM,CAAC;EAC/BP,OAAO,EAAE;IACP,GAAGtB,UAAU,CAAC8B,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDP,SAAS,EAAE;IACTQ,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAEF,eAAexB,OAAO"}