react-native-drawer-layout 4.0.0-alpha.6 → 4.0.0-alpha.7

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 (54) hide show
  1. package/lib/commonjs/utils/getDrawerWidth.js +42 -0
  2. package/lib/commonjs/utils/getDrawerWidth.js.map +1 -0
  3. package/lib/commonjs/utils/useDrawerProgress.js.map +1 -1
  4. package/lib/commonjs/utils/useFakeSharedValue.js +46 -0
  5. package/lib/commonjs/utils/useFakeSharedValue.js.map +1 -0
  6. package/lib/commonjs/views/Drawer.js +55 -279
  7. package/lib/commonjs/views/Drawer.js.map +1 -1
  8. package/lib/commonjs/views/Drawer.native.js +324 -0
  9. package/lib/commonjs/views/Drawer.native.js.map +1 -0
  10. package/lib/commonjs/views/Overlay.js +22 -39
  11. package/lib/commonjs/views/Overlay.js.map +1 -1
  12. package/lib/commonjs/views/Overlay.native.js +58 -0
  13. package/lib/commonjs/views/Overlay.native.js.map +1 -0
  14. package/lib/module/utils/getDrawerWidth.js +36 -0
  15. package/lib/module/utils/getDrawerWidth.js.map +1 -0
  16. package/lib/module/utils/useDrawerProgress.js.map +1 -1
  17. package/lib/module/utils/useFakeSharedValue.js +38 -0
  18. package/lib/module/utils/useFakeSharedValue.js.map +1 -0
  19. package/lib/module/views/Drawer.js +56 -278
  20. package/lib/module/views/Drawer.js.map +1 -1
  21. package/lib/module/views/Drawer.native.js +315 -0
  22. package/lib/module/views/Drawer.native.js.map +1 -0
  23. package/lib/module/views/Overlay.js +22 -39
  24. package/lib/module/views/Overlay.js.map +1 -1
  25. package/lib/module/views/Overlay.native.js +50 -0
  26. package/lib/module/views/Overlay.native.js.map +1 -0
  27. package/lib/typescript/src/types.d.ts +9 -2
  28. package/lib/typescript/src/types.d.ts.map +1 -1
  29. package/lib/typescript/src/utils/DrawerProgressContext.d.ts +2 -2
  30. package/lib/typescript/src/utils/DrawerProgressContext.d.ts.map +1 -1
  31. package/lib/typescript/src/utils/getDrawerWidth.d.ts +9 -0
  32. package/lib/typescript/src/utils/getDrawerWidth.d.ts.map +1 -0
  33. package/lib/typescript/src/utils/useDrawerProgress.d.ts +2 -2
  34. package/lib/typescript/src/utils/useDrawerProgress.d.ts.map +1 -1
  35. package/lib/typescript/src/utils/useFakeSharedValue.d.ts +17 -0
  36. package/lib/typescript/src/utils/useFakeSharedValue.d.ts.map +1 -0
  37. package/lib/typescript/src/views/Drawer.d.ts +1 -6
  38. package/lib/typescript/src/views/Drawer.d.ts.map +1 -1
  39. package/lib/typescript/src/views/Drawer.native.d.ts +4 -0
  40. package/lib/typescript/src/views/Drawer.native.d.ts.map +1 -0
  41. package/lib/typescript/src/views/Overlay.d.ts +2 -204
  42. package/lib/typescript/src/views/Overlay.d.ts.map +1 -1
  43. package/lib/typescript/src/views/Overlay.native.d.ts +4 -0
  44. package/lib/typescript/src/views/Overlay.native.d.ts.map +1 -0
  45. package/package.json +2 -2
  46. package/src/types.tsx +10 -1
  47. package/src/utils/DrawerProgressContext.tsx +2 -2
  48. package/src/utils/getDrawerWidth.tsx +49 -0
  49. package/src/utils/useDrawerProgress.tsx +2 -2
  50. package/src/utils/useFakeSharedValue.tsx +49 -0
  51. package/src/views/Drawer.native.tsx +466 -0
  52. package/src/views/Drawer.tsx +117 -433
  53. package/src/views/Overlay.native.tsx +63 -0
  54. package/src/views/Overlay.tsx +26 -59
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDrawerWidth = getDrawerWidth;
7
+ var _reactNative = require("react-native");
8
+ const getDefaultDrawerWidth = _ref => {
9
+ let {
10
+ height,
11
+ width
12
+ } = _ref;
13
+ /**
14
+ * Default drawer width is screen width - header height
15
+ * with a max width of 280 on mobile and 320 on tablet
16
+ * https://material.io/components/navigation-drawer
17
+ */
18
+ const smallerAxisSize = Math.min(height, width);
19
+ const isLandscape = width > height;
20
+ const isTablet = smallerAxisSize >= 600;
21
+ const appBarHeight = _reactNative.Platform.OS === 'ios' ? isLandscape ? 32 : 44 : 56;
22
+ const maxWidth = isTablet ? 320 : 280;
23
+ return Math.min(smallerAxisSize - appBarHeight, maxWidth);
24
+ };
25
+ function getDrawerWidth(_ref2) {
26
+ let {
27
+ layout,
28
+ drawerStyle
29
+ } = _ref2;
30
+ const {
31
+ width = getDefaultDrawerWidth(layout)
32
+ } = _reactNative.StyleSheet.flatten(drawerStyle) || {};
33
+ if (typeof width === 'string' && width.endsWith('%')) {
34
+ // Try to calculate width if a percentage is given
35
+ const percentage = Number(width.replace(/%$/, ''));
36
+ if (Number.isFinite(percentage)) {
37
+ return layout.width * (percentage / 100);
38
+ }
39
+ }
40
+ return typeof width === 'number' ? width : 0;
41
+ }
42
+ //# sourceMappingURL=getDrawerWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","getDefaultDrawerWidth","_ref","height","width","smallerAxisSize","Math","min","isLandscape","isTablet","appBarHeight","Platform","OS","maxWidth","getDrawerWidth","_ref2","layout","drawerStyle","StyleSheet","flatten","endsWith","percentage","Number","replace","isFinite"],"sourceRoot":"../../../src","sources":["utils/getDrawerWidth.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAOA,MAAMC,qBAAqB,GAAGC,IAAA,IAMxB;EAAA,IANyB;IAC7BC,MAAM;IACNC;EAIF,CAAC,GAAAF,IAAA;EACC;AACF;AACA;AACA;AACA;EACE,MAAMG,eAAe,GAAGC,IAAI,CAACC,GAAG,CAACJ,MAAM,EAAEC,KAAK,CAAC;EAC/C,MAAMI,WAAW,GAAGJ,KAAK,GAAGD,MAAM;EAClC,MAAMM,QAAQ,GAAGJ,eAAe,IAAI,GAAG;EACvC,MAAMK,YAAY,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAIJ,WAAW,GAAG,EAAE,GAAG,EAAE,GAAI,EAAE;EACzE,MAAMK,QAAQ,GAAGJ,QAAQ,GAAG,GAAG,GAAG,GAAG;EAErC,OAAOH,IAAI,CAACC,GAAG,CAACF,eAAe,GAAGK,YAAY,EAAEG,QAAQ,CAAC;AAC3D,CAAC;AAEM,SAASC,cAAcA,CAAAC,KAAA,EAM3B;EAAA,IAN4B;IAC7BC,MAAM;IACNC;EAIF,CAAC,GAAAF,KAAA;EACC,MAAM;IAAEX,KAAK,GAAGH,qBAAqB,CAACe,MAAM;EAAE,CAAC,GAC7CE,uBAAU,CAACC,OAAO,CAACF,WAAW,CAAC,IAAI,CAAC,CAAC;EAEvC,IAAI,OAAOb,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACgB,QAAQ,CAAC,GAAG,CAAC,EAAE;IACpD;IACA,MAAMC,UAAU,GAAGC,MAAM,CAAClB,KAAK,CAACmB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;MAC/B,OAAOL,MAAM,CAACZ,KAAK,IAAIiB,UAAU,GAAG,GAAG,CAAC;IAC1C;EACF;EAEA,OAAO,OAAOjB,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,CAAC;AAC9C"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_DrawerProgressContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useDrawerProgress","progress","useContext","DrawerProgressContext","undefined","Error"],"sourceRoot":"../../../src","sources":["utils/useDrawerProgress.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,sBAAA,GAAAD,OAAA;AAAgE,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEzD,SAASY,iBAAiBA,CAAA,EAA2C;EAC1E,MAAMC,QAAQ,GAAG1B,KAAK,CAAC2B,UAAU,CAACC,4CAAqB,CAAC;EAExD,IAAIF,QAAQ,KAAKG,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,4DACF,CAAC;EACH;EAEA,OAAOJ,QAAQ;AACjB"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_DrawerProgressContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useDrawerProgress","progress","useContext","DrawerProgressContext","undefined","Error"],"sourceRoot":"../../../src","sources":["utils/useDrawerProgress.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,sBAAA,GAAAD,OAAA;AAAgE,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEzD,SAASY,iBAAiBA,CAAA,EAAkC;EACjE,MAAMC,QAAQ,GAAG1B,KAAK,CAAC2B,UAAU,CAACC,4CAAqB,CAAC;EAExD,IAAIF,QAAQ,KAAKG,SAAS,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACb,4DACF,CAAC;EACH;EAEA,OAAOJ,QAAQ;AACjB"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFakeSharedValue = useFakeSharedValue;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ class FakeSharedValue {
11
+ _listeners = new Map();
12
+ constructor(value) {
13
+ this._value = value;
14
+ }
15
+ addListener(id, listener) {
16
+ this._listeners.set(id, listener);
17
+ }
18
+ removeListener(id) {
19
+ this._listeners.delete(id);
20
+ }
21
+ modify(modifier) {
22
+ this.value = modifier !== undefined ? modifier(this.value) : this.value;
23
+ }
24
+ set value(value) {
25
+ this._value = value;
26
+ for (const listener of this._listeners.values()) {
27
+ listener(value);
28
+ }
29
+ }
30
+ get value() {
31
+ return this._value;
32
+ }
33
+ _isReanimatedSharedValue = true;
34
+ }
35
+
36
+ /**
37
+ * Compatibility layer for `useDrawerProgress` with `react-native-reanimated`
38
+ */
39
+ function useFakeSharedValue(value) {
40
+ const sharedValue = React.useRef(null);
41
+ if (sharedValue.current === null) {
42
+ sharedValue.current = new FakeSharedValue(value);
43
+ }
44
+ return sharedValue.current;
45
+ }
46
+ //# sourceMappingURL=useFakeSharedValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","FakeSharedValue","_listeners","Map","constructor","value","_value","addListener","id","listener","removeListener","delete","modify","modifier","undefined","values","_isReanimatedSharedValue","useFakeSharedValue","sharedValue","useRef","current"],"sourceRoot":"../../../src","sources":["utils/useFakeSharedValue.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE/B,MAAMY,eAAe,CAAC;EACpBC,UAAU,GAAG,IAAIC,GAAG,CAAkC,CAAC;EAGvDC,WAAWA,CAACC,KAAa,EAAE;IACzB,IAAI,CAACC,MAAM,GAAGD,KAAK;EACrB;EAEAE,WAAWA,CAACC,EAAU,EAAEC,QAAiC,EAAE;IACzD,IAAI,CAACP,UAAU,CAACF,GAAG,CAACQ,EAAE,EAAEC,QAAQ,CAAC;EACnC;EAEAC,cAAcA,CAACF,EAAU,EAAE;IACzB,IAAI,CAACN,UAAU,CAACS,MAAM,CAACH,EAAE,CAAC;EAC5B;EAEAI,MAAMA,CAACC,QAAoC,EAAE;IAC3C,IAAI,CAACR,KAAK,GAAGQ,QAAQ,KAAKC,SAAS,GAAGD,QAAQ,CAAC,IAAI,CAACR,KAAK,CAAC,GAAG,IAAI,CAACA,KAAK;EACzE;EAEA,IAAIA,KAAKA,CAACA,KAAa,EAAE;IACvB,IAAI,CAACC,MAAM,GAAGD,KAAK;IAEnB,KAAK,MAAMI,QAAQ,IAAI,IAAI,CAACP,UAAU,CAACa,MAAM,CAAC,CAAC,EAAE;MAC/CN,QAAQ,CAACJ,KAAK,CAAC;IACjB;EACF;EAEA,IAAIA,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACC,MAAM;EACpB;EAEAU,wBAAwB,GAAG,IAAI;AACjC;;AAEA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACZ,KAAa,EAAmB;EACjE,MAAMa,WAAW,GAAGzC,KAAK,CAAC0C,MAAM,CAAyB,IAAI,CAAC;EAE9D,IAAID,WAAW,CAACE,OAAO,KAAK,IAAI,EAAE;IAChCF,WAAW,CAACE,OAAO,GAAG,IAAInB,eAAe,CAACI,KAAK,CAAC;EAClD;EAEA,OAAOa,WAAW,CAACE,OAAO;AAC5B"}
@@ -3,326 +3,110 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.DRAWER_BORDER_RADIUS = void 0;
7
6
  exports.Drawer = Drawer;
8
- exports.SWIPE_MIN_VELOCITY = exports.SWIPE_MIN_OFFSET = exports.SWIPE_MIN_DISTANCE = exports.SWIPE_EDGE_WIDTH = void 0;
9
7
  var React = _interopRequireWildcard(require("react"));
10
8
  var _reactNative = require("react-native");
11
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
12
9
  var _useLatestCallback = _interopRequireDefault(require("use-latest-callback"));
13
10
  var _DrawerProgressContext = require("../utils/DrawerProgressContext");
14
- var _GestureHandler = require("./GestureHandler");
11
+ var _getDrawerWidth = require("../utils/getDrawerWidth");
12
+ var _useFakeSharedValue = require("../utils/useFakeSharedValue");
15
13
  var _Overlay = require("./Overlay");
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
- 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); }
20
- const SWIPE_EDGE_WIDTH = exports.SWIPE_EDGE_WIDTH = 32;
21
- const SWIPE_MIN_OFFSET = exports.SWIPE_MIN_OFFSET = 5;
22
- const SWIPE_MIN_DISTANCE = exports.SWIPE_MIN_DISTANCE = 60;
23
- const SWIPE_MIN_VELOCITY = exports.SWIPE_MIN_VELOCITY = 500;
24
- const DRAWER_BORDER_RADIUS = exports.DRAWER_BORDER_RADIUS = 16;
25
- const minmax = (value, start, end) => {
26
- 'worklet';
27
-
28
- return Math.min(Math.max(value, start), end);
29
- };
30
- const getDefaultDrawerWidth = _ref => {
31
- let {
32
- height,
33
- width
34
- } = _ref;
35
- /*
36
- * Default drawer width is screen width - header height
37
- * with a max width of 280 on mobile and 320 on tablet
38
- * https://material.io/components/navigation-drawer
39
- */
40
- const smallerAxisSize = Math.min(height, width);
41
- const isLandscape = width > height;
42
- const isTablet = smallerAxisSize >= 600;
43
- const appBarHeight = _reactNative.Platform.OS === 'ios' ? isLandscape ? 32 : 44 : 56;
44
- const maxWidth = isTablet ? 320 : 280;
45
- return Math.min(smallerAxisSize - appBarHeight, maxWidth);
46
- };
47
- function Drawer(_ref2) {
17
+ const DRAWER_BORDER_RADIUS = 16;
18
+ function Drawer(_ref) {
48
19
  let {
49
20
  layout: customLayout,
50
- drawerPosition = _reactNative.I18nManager.getConstants().isRTL ? 'right' : 'left',
21
+ drawerPosition = 'left',
51
22
  drawerStyle,
52
- drawerType = _reactNative.Platform.select({
53
- ios: 'slide',
54
- default: 'front'
55
- }),
56
- gestureHandlerProps,
57
- hideStatusBarOnOpen = false,
58
- keyboardDismissMode = 'on-drag',
23
+ drawerType = 'front',
59
24
  onClose,
60
- onOpen,
61
- onGestureStart,
62
- onGestureCancel,
63
- onGestureEnd,
64
25
  onTransitionStart,
65
26
  onTransitionEnd,
66
27
  open,
67
28
  overlayStyle,
68
29
  overlayAccessibilityLabel,
69
- statusBarAnimation = 'slide',
70
- swipeEnabled = _reactNative.Platform.OS !== 'web' && _reactNative.Platform.OS !== 'windows' && _reactNative.Platform.OS !== 'macos',
71
- swipeEdgeWidth = SWIPE_EDGE_WIDTH,
72
- swipeMinDistance = SWIPE_MIN_DISTANCE,
73
- swipeMinVelocity = SWIPE_MIN_VELOCITY,
74
30
  renderDrawerContent,
75
31
  children,
76
32
  style
77
- } = _ref2;
78
- // FIXME: temporary workaround for useSafeAreaFrame not updating on Web
33
+ } = _ref;
79
34
  const windowDimensions = (0, _reactNative.useWindowDimensions)();
80
35
  const layout = customLayout ?? windowDimensions;
81
- const getDrawerWidth = () => {
82
- const {
83
- width = getDefaultDrawerWidth(layout)
84
- } = _reactNative.StyleSheet.flatten(drawerStyle) || {};
85
- if (typeof width === 'string' && width.endsWith('%')) {
86
- // Try to calculate width if a percentage is given
87
- const percentage = Number(width.replace(/%$/, ''));
88
- if (Number.isFinite(percentage)) {
89
- return layout.width * (percentage / 100);
90
- }
36
+ const drawerWidth = (0, _getDrawerWidth.getDrawerWidth)({
37
+ layout,
38
+ drawerStyle
39
+ });
40
+ const progress = (0, _useFakeSharedValue.useFakeSharedValue)(open ? 1 : 0);
41
+ React.useEffect(() => {
42
+ progress.value = open ? 1 : 0;
43
+ }, [open, progress]);
44
+ const drawerRef = React.useRef(null);
45
+ const onTransitionStartLatest = (0, _useLatestCallback.default)(() => {
46
+ onTransitionStart?.(open === false);
47
+ });
48
+ const onTransitionEndLatest = (0, _useLatestCallback.default)(() => {
49
+ onTransitionEnd?.(open === false);
50
+ });
51
+ React.useEffect(() => {
52
+ const element = drawerRef.current;
53
+ if (element) {
54
+ element.addEventListener('transitionstart', onTransitionStartLatest);
55
+ element.addEventListener('transitionend', onTransitionEndLatest);
91
56
  }
92
- return typeof width === 'number' ? width : 0;
93
- };
94
- const drawerWidth = getDrawerWidth();
57
+ }, [onTransitionEndLatest, onTransitionStartLatest]);
95
58
  const isOpen = drawerType === 'permanent' ? true : open;
96
59
  const isRight = drawerPosition === 'right';
97
- const getDrawerTranslationX = React.useCallback(open => {
98
- 'worklet';
99
-
100
- if (drawerPosition === 'left') {
101
- return open ? 0 : -drawerWidth;
102
- }
103
- return open ? 0 : drawerWidth;
104
- }, [drawerPosition, drawerWidth]);
105
- const hideStatusBar = React.useCallback(hide => {
106
- if (hideStatusBarOnOpen) {
107
- _reactNative.StatusBar.setHidden(hide, statusBarAnimation);
108
- }
109
- }, [hideStatusBarOnOpen, statusBarAnimation]);
110
- React.useEffect(() => {
111
- hideStatusBar(isOpen);
112
- return () => hideStatusBar(false);
113
- }, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);
114
- const interactionHandleRef = React.useRef(null);
115
- const startInteraction = () => {
116
- interactionHandleRef.current = _reactNative.InteractionManager.createInteractionHandle();
117
- };
118
- const endInteraction = () => {
119
- if (interactionHandleRef.current != null) {
120
- _reactNative.InteractionManager.clearInteractionHandle(interactionHandleRef.current);
121
- interactionHandleRef.current = null;
122
- }
123
- };
124
- const hideKeyboard = () => {
125
- if (keyboardDismissMode === 'on-drag') {
126
- _reactNative.Keyboard.dismiss();
127
- }
128
- };
129
- const onGestureBegin = () => {
130
- onGestureStart?.();
131
- startInteraction();
132
- hideKeyboard();
133
- hideStatusBar(true);
134
- };
135
- const onGestureFinish = () => {
136
- onGestureEnd?.();
137
- endInteraction();
138
- };
139
- const onGestureAbort = () => {
140
- onGestureCancel?.();
141
- endInteraction();
142
- };
143
-
144
- // FIXME: Currently hitSlop is broken when on Android when drawer is on right
145
- // https://github.com/software-mansion/react-native-gesture-handler/issues/569
146
- const hitSlop = isRight ?
147
- // Extend hitSlop to the side of the screen when drawer is closed
148
- // This lets the user drag the drawer from the side of the screen
149
- {
150
- right: 0,
151
- width: isOpen ? undefined : swipeEdgeWidth
152
- } : {
153
- left: 0,
154
- width: isOpen ? undefined : swipeEdgeWidth
155
- };
156
- const borderRadiiStyle = isRight ? {
60
+ const borderRadiiStyle = drawerType !== 'permanent' ? isRight ? {
157
61
  borderTopLeftRadius: DRAWER_BORDER_RADIUS,
158
62
  borderBottomLeftRadius: DRAWER_BORDER_RADIUS
159
63
  } : {
160
64
  borderTopRightRadius: DRAWER_BORDER_RADIUS,
161
65
  borderBottomRightRadius: DRAWER_BORDER_RADIUS
162
- };
163
- const touchStartX = (0, _reactNativeReanimated.useSharedValue)(0);
164
- const touchX = (0, _reactNativeReanimated.useSharedValue)(0);
165
- const translationX = (0, _reactNativeReanimated.useSharedValue)(getDrawerTranslationX(open));
166
- const gestureState = (0, _reactNativeReanimated.useSharedValue)(_GestureHandler.GestureState.UNDETERMINED);
167
- const handleAnimationStart = (0, _useLatestCallback.default)(open => {
168
- onTransitionStart?.(!open);
169
- });
170
- const handleAnimationEnd = (0, _useLatestCallback.default)((open, finished) => {
171
- if (!finished) return;
172
- onTransitionEnd?.(!open);
173
- });
174
- const toggleDrawer = React.useCallback((open, velocity) => {
175
- 'worklet';
176
-
177
- const translateX = getDrawerTranslationX(open);
178
- if (velocity === undefined) {
179
- (0, _reactNativeReanimated.runOnJS)(handleAnimationStart)(open);
180
- }
181
- touchStartX.value = 0;
182
- touchX.value = 0;
183
- translationX.value = (0, _reactNativeReanimated.withSpring)(translateX, {
184
- velocity,
185
- stiffness: 1000,
186
- damping: 500,
187
- mass: 3,
188
- overshootClamping: true,
189
- restDisplacementThreshold: 0.01,
190
- restSpeedThreshold: 0.01
191
- }, finished => (0, _reactNativeReanimated.runOnJS)(handleAnimationEnd)(open, finished));
192
- if (open) {
193
- (0, _reactNativeReanimated.runOnJS)(onOpen)();
194
- } else {
195
- (0, _reactNativeReanimated.runOnJS)(onClose)();
196
- }
197
- }, [getDrawerTranslationX, handleAnimationEnd, handleAnimationStart, onClose, onOpen, touchStartX, touchX, translationX]);
198
- React.useEffect(() => toggleDrawer(open), [open, toggleDrawer]);
199
- const onGestureEvent = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
200
- onStart: (event, ctx) => {
201
- ctx.hasCalledOnStart = false;
202
- ctx.startX = translationX.value;
203
- gestureState.value = event.state;
204
- touchStartX.value = event.x;
205
- },
206
- onCancel: () => {
207
- (0, _reactNativeReanimated.runOnJS)(onGestureAbort)();
208
- },
209
- onActive: (event, ctx) => {
210
- touchX.value = event.x;
211
- translationX.value = ctx.startX + event.translationX;
212
- gestureState.value = event.state;
213
-
214
- // onStart will _always_ be called, even when the activation
215
- // criteria isn't met yet. This makes sure onGestureBegin is only
216
- // called when the criteria is really met.
217
- if (!ctx.hasCalledOnStart) {
218
- ctx.hasCalledOnStart = true;
219
- (0, _reactNativeReanimated.runOnJS)(onGestureBegin)();
220
- }
221
- },
222
- onEnd: event => {
223
- gestureState.value = event.state;
224
- const nextOpen = Math.abs(event.translationX) > SWIPE_MIN_OFFSET && Math.abs(event.translationX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
225
- // If swiped to right, open the drawer, otherwise close it
226
- (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
227
- // If swiped to left, open the drawer, otherwise close it
228
- (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
229
- toggleDrawer(nextOpen, event.velocityX);
230
- },
231
- onFinish: () => {
232
- (0, _reactNativeReanimated.runOnJS)(onGestureFinish)();
233
- }
234
- });
235
- const translateX = (0, _reactNativeReanimated.useDerivedValue)(() => {
236
- // Comment stolen from react-native-gesture-handler/DrawerLayout
237
- //
238
- // While closing the drawer when user starts gesture outside of its area (in greyed
239
- // out part of the window), we want the drawer to follow only once finger reaches the
240
- // edge of the drawer.
241
- // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
242
- // dots. The touch gesture starts at '*' and moves left, touch path is indicated by
243
- // an arrow pointing left
244
- // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
245
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
246
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
247
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
248
- // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
249
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
250
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
251
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
252
- // +---------------+ +---------------+ +---------------+ +---------------+
253
- //
254
- // For the above to work properly we define animated value that will keep start position
255
- // of the gesture. Then we use that value to calculate how much we need to subtract from
256
- // the translationX. If the gesture started on the greyed out area we take the distance from the
257
- // edge of the drawer to the start position. Otherwise we don't subtract at all and the
258
- // drawer be pulled back as soon as you start the pan.
259
- //
260
- // This is used only when drawerType is "front"
261
- const touchDistance = drawerType === 'front' && gestureState.value === _GestureHandler.GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : layout.width - drawerWidth - touchStartX.value, 0, layout.width) : 0;
262
- const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
263
- return translateX;
264
- });
265
- const drawerAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
266
- const distanceFromEdge = layout.width - drawerWidth;
267
- return {
268
- transform: drawerType === 'permanent' ?
269
- // Reanimated needs the property to be present, but it results in Browser bug
270
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
271
- [] : [{
272
- translateX:
273
- // The drawer stays in place when `drawerType` is `back`
274
- (drawerType === 'back' ? 0 : translateX.value) + (drawerPosition === 'left' ? 0 : distanceFromEdge)
275
- }]
276
- };
277
- });
278
- const contentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
279
- return {
280
- transform: drawerType === 'permanent' ?
281
- // Reanimated needs the property to be present, but it results in Browser bug
282
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
283
- [] : [{
284
- translateX:
285
- // The screen content stays in place when `drawerType` is `front`
286
- drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
287
- }]
288
- };
289
- });
290
- const progress = (0, _reactNativeReanimated.useDerivedValue)(() => {
291
- return drawerType === 'permanent' ? 1 : (0, _reactNativeReanimated.interpolate)(translateX.value, [getDrawerTranslationX(false), getDrawerTranslationX(true)], [0, 1]);
292
- });
293
- return /*#__PURE__*/React.createElement(_GestureHandler.GestureHandlerRootView, {
66
+ } : null;
67
+ const drawerAnimatedStyle = drawerType !== 'permanent' ? {
68
+ transition: 'transform 0.3s',
69
+ transform: [{
70
+ // The drawer stays in place at open position when `drawerType` is `back`
71
+ translateX: open || drawerType === 'back' ? drawerPosition === 'left' ? 0 : layout.width - drawerWidth : drawerPosition === 'left' ? -drawerWidth : layout.width
72
+ }]
73
+ } : null;
74
+ const contentAnimatedStyle = drawerType !== 'permanent' ? {
75
+ transition: 'transform 0.3s',
76
+ transform: [{
77
+ translateX: open ?
78
+ // The screen content stays in place when `drawerType` is `front`
79
+ drawerType === 'front' ? 0 : drawerWidth * (drawerPosition === 'left' ? 1 : -1) : 0
80
+ }]
81
+ } : null;
82
+ return /*#__PURE__*/React.createElement(_reactNative.View, {
294
83
  style: [styles.container, style]
295
84
  }, /*#__PURE__*/React.createElement(_DrawerProgressContext.DrawerProgressContext.Provider, {
296
85
  value: progress
297
- }, /*#__PURE__*/React.createElement(_GestureHandler.PanGestureHandler, _extends({
298
- activeOffsetX: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
299
- failOffsetY: [-SWIPE_MIN_OFFSET, SWIPE_MIN_OFFSET],
300
- hitSlop: hitSlop,
301
- enabled: drawerType !== 'permanent' && swipeEnabled,
302
- onGestureEvent: onGestureEvent
303
- }, gestureHandlerProps), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
86
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
304
87
  style: [styles.main, {
305
88
  flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
306
89
  }]
307
- }, /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
90
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
308
91
  style: [styles.content, contentAnimatedStyle]
309
92
  }, /*#__PURE__*/React.createElement(_reactNative.View, {
310
93
  accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
311
94
  importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
312
95
  style: styles.content
313
96
  }, children), drawerType !== 'permanent' ? /*#__PURE__*/React.createElement(_Overlay.Overlay, {
97
+ open: open,
314
98
  progress: progress,
315
- onPress: () => toggleDrawer(false),
99
+ onPress: () => onClose(),
316
100
  style: overlayStyle,
317
101
  accessibilityLabel: overlayAccessibilityLabel
318
- }) : null), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
319
- removeClippedSubviews: _reactNative.Platform.OS !== 'ios',
102
+ }) : null), /*#__PURE__*/React.createElement(_reactNative.View, {
103
+ ref: drawerRef,
320
104
  style: [styles.drawer, {
321
105
  width: drawerWidth,
322
106
  position: drawerType === 'permanent' ? 'relative' : 'absolute',
323
107
  zIndex: drawerType === 'back' ? -1 : 0
324
- }, drawerType === 'permanent' ? null : borderRadiiStyle, drawerAnimatedStyle, drawerStyle]
325
- }, renderDrawerContent())))));
108
+ }, borderRadiiStyle, drawerAnimatedStyle, drawerStyle]
109
+ }, renderDrawerContent()))));
326
110
  }
327
111
  const styles = _reactNative.StyleSheet.create({
328
112
  container: {
@@ -338,15 +122,7 @@ const styles = _reactNative.StyleSheet.create({
338
122
  flex: 1
339
123
  },
340
124
  main: {
341
- flex: 1,
342
- ..._reactNative.Platform.select({
343
- // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.
344
- // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.
345
- web: null,
346
- default: {
347
- overflow: 'hidden'
348
- }
349
- })
125
+ flex: 1
350
126
  }
351
127
  });
352
128
  //# sourceMappingURL=Drawer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_useLatestCallback","_interopRequireDefault","_DrawerProgressContext","_GestureHandler","_Overlay","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","SWIPE_EDGE_WIDTH","exports","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","DRAWER_BORDER_RADIUS","minmax","value","start","end","Math","min","max","getDefaultDrawerWidth","_ref","height","width","smallerAxisSize","isLandscape","isTablet","appBarHeight","Platform","OS","maxWidth","Drawer","_ref2","layout","customLayout","drawerPosition","I18nManager","getConstants","isRTL","drawerStyle","drawerType","select","ios","gestureHandlerProps","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","onGestureStart","onGestureCancel","onGestureEnd","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","style","windowDimensions","useWindowDimensions","getDrawerWidth","StyleSheet","flatten","endsWith","percentage","Number","replace","isFinite","drawerWidth","isOpen","isRight","getDrawerTranslationX","useCallback","hideStatusBar","hide","StatusBar","setHidden","useEffect","interactionHandleRef","useRef","startInteraction","current","InteractionManager","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","Keyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","right","undefined","left","borderRadiiStyle","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","touchStartX","useSharedValue","touchX","translationX","gestureState","GestureState","UNDETERMINED","handleAnimationStart","useLatestCallback","handleAnimationEnd","finished","toggleDrawer","velocity","translateX","runOnJS","withSpring","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","onGestureEvent","useAnimatedGestureHandler","onStart","event","ctx","hasCalledOnStart","startX","state","x","onCancel","onActive","onEnd","nextOpen","abs","velocityX","onFinish","useDerivedValue","touchDistance","ACTIVE","drawerAnimatedStyle","useAnimatedStyle","distanceFromEdge","transform","contentAnimatedStyle","progress","interpolate","createElement","GestureHandlerRootView","styles","container","DrawerProgressContext","Provider","PanGestureHandler","activeOffsetX","failOffsetY","enabled","View","main","flexDirection","content","accessibilityElementsHidden","importantForAccessibility","Overlay","onPress","accessibilityLabel","removeClippedSubviews","drawer","position","zIndex","create","flex","top","bottom","backgroundColor","web","overflow"],"sourceRoot":"../../../src","sources":["views/Drawer.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_useLatestCallback","_interopRequireDefault","_DrawerProgressContext","_getDrawerWidth","_useFakeSharedValue","_Overlay","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DRAWER_BORDER_RADIUS","Drawer","_ref","layout","customLayout","drawerPosition","drawerStyle","drawerType","onClose","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","renderDrawerContent","children","style","windowDimensions","useWindowDimensions","drawerWidth","getDrawerWidth","progress","useFakeSharedValue","useEffect","value","drawerRef","useRef","onTransitionStartLatest","useLatestCallback","onTransitionEndLatest","element","current","addEventListener","isOpen","isRight","borderRadiiStyle","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","drawerAnimatedStyle","transition","transform","translateX","width","contentAnimatedStyle","createElement","View","styles","container","DrawerProgressContext","Provider","main","flexDirection","content","accessibilityElementsHidden","importantForAccessibility","Overlay","onPress","accessibilityLabel","ref","drawer","position","zIndex","StyleSheet","create","flex","top","bottom","maxWidth","backgroundColor"],"sourceRoot":"../../../src","sources":["views/Drawer.tsx"],"mappings":"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"}