react-native-drawer-layout 4.0.0-alpha.5 → 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 (61) 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 +59 -269
  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 +60 -270
  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 -1
  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 -418
  53. package/src/views/Overlay.native.tsx +63 -0
  54. package/src/views/Overlay.tsx +26 -59
  55. package/lib/commonjs/constants.js +0 -11
  56. package/lib/commonjs/constants.js.map +0 -1
  57. package/lib/module/constants.js +0 -5
  58. package/lib/module/constants.js.map +0 -1
  59. package/lib/typescript/src/constants.d.ts +0 -5
  60. package/lib/typescript/src/constants.d.ts.map +0 -1
  61. package/src/constants.tsx +0 -4
@@ -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"}
@@ -6,309 +6,107 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Drawer = Drawer;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
9
  var _useLatestCallback = _interopRequireDefault(require("use-latest-callback"));
11
- var _constants = require("../constants");
12
10
  var _DrawerProgressContext = require("../utils/DrawerProgressContext");
13
- var _GestureHandler = require("./GestureHandler");
11
+ var _getDrawerWidth = require("../utils/getDrawerWidth");
12
+ var _useFakeSharedValue = require("../utils/useFakeSharedValue");
14
13
  var _Overlay = require("./Overlay");
15
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
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); }
17
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; }
18
- 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); }
19
- const minmax = (value, start, end) => {
20
- 'worklet';
21
-
22
- return Math.min(Math.max(value, start), end);
23
- };
24
- const getDefaultDrawerWidth = _ref => {
25
- let {
26
- height,
27
- width
28
- } = _ref;
29
- /*
30
- * Default drawer width is screen width - header height
31
- * with a max width of 280 on mobile and 320 on tablet
32
- * https://material.io/components/navigation-drawer
33
- */
34
- const smallerAxisSize = Math.min(height, width);
35
- const isLandscape = width > height;
36
- const isTablet = smallerAxisSize >= 600;
37
- const appBarHeight = _reactNative.Platform.OS === 'ios' ? isLandscape ? 32 : 44 : 56;
38
- const maxWidth = isTablet ? 320 : 280;
39
- return Math.min(smallerAxisSize - appBarHeight, maxWidth);
40
- };
41
- function Drawer(_ref2) {
17
+ const DRAWER_BORDER_RADIUS = 16;
18
+ function Drawer(_ref) {
42
19
  let {
43
20
  layout: customLayout,
44
- drawerPosition = _reactNative.I18nManager.getConstants().isRTL ? 'right' : 'left',
21
+ drawerPosition = 'left',
45
22
  drawerStyle,
46
- drawerType = _reactNative.Platform.select({
47
- ios: 'slide',
48
- default: 'front'
49
- }),
50
- gestureHandlerProps,
51
- hideStatusBarOnOpen = false,
52
- keyboardDismissMode = 'on-drag',
23
+ drawerType = 'front',
53
24
  onClose,
54
- onOpen,
55
- onGestureStart,
56
- onGestureCancel,
57
- onGestureEnd,
58
25
  onTransitionStart,
59
26
  onTransitionEnd,
60
27
  open,
61
28
  overlayStyle,
62
29
  overlayAccessibilityLabel,
63
- statusBarAnimation = 'slide',
64
- swipeEnabled = _reactNative.Platform.OS !== 'web' && _reactNative.Platform.OS !== 'windows' && _reactNative.Platform.OS !== 'macos',
65
- swipeEdgeWidth = _constants.SWIPE_EDGE_WIDTH,
66
- swipeMinDistance = _constants.SWIPE_MIN_DISTANCE,
67
- swipeMinVelocity = _constants.SWIPE_MIN_VELOCITY,
68
30
  renderDrawerContent,
69
31
  children,
70
32
  style
71
- } = _ref2;
72
- // FIXME: temporary workaround for useSafeAreaFrame not updating on Web
33
+ } = _ref;
73
34
  const windowDimensions = (0, _reactNative.useWindowDimensions)();
74
35
  const layout = customLayout ?? windowDimensions;
75
- const getDrawerWidth = () => {
76
- const {
77
- width = getDefaultDrawerWidth(layout)
78
- } = _reactNative.StyleSheet.flatten(drawerStyle) || {};
79
- if (typeof width === 'string' && width.endsWith('%')) {
80
- // Try to calculate width if a percentage is given
81
- const percentage = Number(width.replace(/%$/, ''));
82
- if (Number.isFinite(percentage)) {
83
- return layout.width * (percentage / 100);
84
- }
85
- }
86
- return typeof width === 'number' ? width : 0;
87
- };
88
- const drawerWidth = getDrawerWidth();
89
- const isOpen = drawerType === 'permanent' ? true : open;
90
- const isRight = drawerPosition === 'right';
91
- const getDrawerTranslationX = React.useCallback(open => {
92
- 'worklet';
93
-
94
- if (drawerPosition === 'left') {
95
- return open ? 0 : -drawerWidth;
96
- }
97
- return open ? 0 : drawerWidth;
98
- }, [drawerPosition, drawerWidth]);
99
- const hideStatusBar = React.useCallback(hide => {
100
- if (hideStatusBarOnOpen) {
101
- _reactNative.StatusBar.setHidden(hide, statusBarAnimation);
102
- }
103
- }, [hideStatusBarOnOpen, statusBarAnimation]);
36
+ const drawerWidth = (0, _getDrawerWidth.getDrawerWidth)({
37
+ layout,
38
+ drawerStyle
39
+ });
40
+ const progress = (0, _useFakeSharedValue.useFakeSharedValue)(open ? 1 : 0);
104
41
  React.useEffect(() => {
105
- hideStatusBar(isOpen);
106
- return () => hideStatusBar(false);
107
- }, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);
108
- const interactionHandleRef = React.useRef(null);
109
- const startInteraction = () => {
110
- interactionHandleRef.current = _reactNative.InteractionManager.createInteractionHandle();
111
- };
112
- const endInteraction = () => {
113
- if (interactionHandleRef.current != null) {
114
- _reactNative.InteractionManager.clearInteractionHandle(interactionHandleRef.current);
115
- interactionHandleRef.current = null;
116
- }
117
- };
118
- const hideKeyboard = () => {
119
- if (keyboardDismissMode === 'on-drag') {
120
- _reactNative.Keyboard.dismiss();
121
- }
122
- };
123
- const onGestureBegin = () => {
124
- onGestureStart?.();
125
- startInteraction();
126
- hideKeyboard();
127
- hideStatusBar(true);
128
- };
129
- const onGestureFinish = () => {
130
- onGestureEnd?.();
131
- endInteraction();
132
- };
133
- const onGestureAbort = () => {
134
- onGestureCancel?.();
135
- endInteraction();
136
- };
137
-
138
- // FIXME: Currently hitSlop is broken when on Android when drawer is on right
139
- // https://github.com/software-mansion/react-native-gesture-handler/issues/569
140
- const hitSlop = isRight ?
141
- // Extend hitSlop to the side of the screen when drawer is closed
142
- // This lets the user drag the drawer from the side of the screen
143
- {
144
- right: 0,
145
- width: isOpen ? undefined : swipeEdgeWidth
146
- } : {
147
- left: 0,
148
- width: isOpen ? undefined : swipeEdgeWidth
149
- };
150
- const touchStartX = (0, _reactNativeReanimated.useSharedValue)(0);
151
- const touchX = (0, _reactNativeReanimated.useSharedValue)(0);
152
- const translationX = (0, _reactNativeReanimated.useSharedValue)(getDrawerTranslationX(open));
153
- const gestureState = (0, _reactNativeReanimated.useSharedValue)(_GestureHandler.GestureState.UNDETERMINED);
154
- const handleAnimationStart = (0, _useLatestCallback.default)(open => {
155
- onTransitionStart?.(!open);
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);
156
47
  });
157
- const handleAnimationEnd = (0, _useLatestCallback.default)((open, finished) => {
158
- if (!finished) return;
159
- onTransitionEnd?.(!open);
48
+ const onTransitionEndLatest = (0, _useLatestCallback.default)(() => {
49
+ onTransitionEnd?.(open === false);
160
50
  });
161
- const toggleDrawer = React.useCallback((open, velocity) => {
162
- 'worklet';
163
-
164
- const translateX = getDrawerTranslationX(open);
165
- if (velocity === undefined) {
166
- (0, _reactNativeReanimated.runOnJS)(handleAnimationStart)(open);
167
- }
168
- touchStartX.value = 0;
169
- touchX.value = 0;
170
- translationX.value = (0, _reactNativeReanimated.withSpring)(translateX, {
171
- velocity,
172
- stiffness: 1000,
173
- damping: 500,
174
- mass: 3,
175
- overshootClamping: true,
176
- restDisplacementThreshold: 0.01,
177
- restSpeedThreshold: 0.01
178
- }, finished => (0, _reactNativeReanimated.runOnJS)(handleAnimationEnd)(open, finished));
179
- if (open) {
180
- (0, _reactNativeReanimated.runOnJS)(onOpen)();
181
- } else {
182
- (0, _reactNativeReanimated.runOnJS)(onClose)();
183
- }
184
- }, [getDrawerTranslationX, handleAnimationEnd, handleAnimationStart, onClose, onOpen, touchStartX, touchX, translationX]);
185
- React.useEffect(() => toggleDrawer(open), [open, toggleDrawer]);
186
- const onGestureEvent = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
187
- onStart: (event, ctx) => {
188
- ctx.hasCalledOnStart = false;
189
- ctx.startX = translationX.value;
190
- gestureState.value = event.state;
191
- touchStartX.value = event.x;
192
- },
193
- onCancel: () => {
194
- (0, _reactNativeReanimated.runOnJS)(onGestureAbort)();
195
- },
196
- onActive: (event, ctx) => {
197
- touchX.value = event.x;
198
- translationX.value = ctx.startX + event.translationX;
199
- gestureState.value = event.state;
200
-
201
- // onStart will _always_ be called, even when the activation
202
- // criteria isn't met yet. This makes sure onGestureBegin is only
203
- // called when the criteria is really met.
204
- if (!ctx.hasCalledOnStart) {
205
- ctx.hasCalledOnStart = true;
206
- (0, _reactNativeReanimated.runOnJS)(onGestureBegin)();
207
- }
208
- },
209
- onEnd: event => {
210
- gestureState.value = event.state;
211
- const nextOpen = Math.abs(event.translationX) > _constants.SWIPE_MIN_OFFSET && Math.abs(event.translationX) > swipeMinVelocity || Math.abs(event.translationX) > swipeMinDistance ? drawerPosition === 'left' ?
212
- // If swiped to right, open the drawer, otherwise close it
213
- (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 :
214
- // If swiped to left, open the drawer, otherwise close it
215
- (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
216
- toggleDrawer(nextOpen, event.velocityX);
217
- },
218
- onFinish: () => {
219
- (0, _reactNativeReanimated.runOnJS)(onGestureFinish)();
51
+ React.useEffect(() => {
52
+ const element = drawerRef.current;
53
+ if (element) {
54
+ element.addEventListener('transitionstart', onTransitionStartLatest);
55
+ element.addEventListener('transitionend', onTransitionEndLatest);
220
56
  }
221
- });
222
- const translateX = (0, _reactNativeReanimated.useDerivedValue)(() => {
223
- // Comment stolen from react-native-gesture-handler/DrawerLayout
224
- //
225
- // While closing the drawer when user starts gesture outside of its area (in greyed
226
- // out part of the window), we want the drawer to follow only once finger reaches the
227
- // edge of the drawer.
228
- // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by
229
- // dots. The touch gesture starts at '*' and moves left, touch path is indicated by
230
- // an arrow pointing left
231
- // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+
232
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
233
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
234
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
235
- // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|
236
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
237
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
238
- // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|
239
- // +---------------+ +---------------+ +---------------+ +---------------+
240
- //
241
- // For the above to work properly we define animated value that will keep start position
242
- // of the gesture. Then we use that value to calculate how much we need to subtract from
243
- // the translationX. If the gesture started on the greyed out area we take the distance from the
244
- // edge of the drawer to the start position. Otherwise we don't subtract at all and the
245
- // drawer be pulled back as soon as you start the pan.
246
- //
247
- // This is used only when drawerType is "front"
248
- const touchDistance = drawerType === 'front' && gestureState.value === _GestureHandler.GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : layout.width - drawerWidth - touchStartX.value, 0, layout.width) : 0;
249
- const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
250
- return translateX;
251
- });
252
- const drawerAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
253
- return {
254
- transform: drawerType === 'permanent' ?
255
- // Reanimated needs the property to be present, but it results in Browser bug
256
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
257
- [] : [{
258
- translateX:
259
- // The drawer stays in place when `drawerType` is `back`
260
- drawerType === 'back' ? 0 : translateX.value
261
- }]
262
- };
263
- });
264
- const contentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
265
- return {
266
- transform: drawerType === 'permanent' ?
267
- // Reanimated needs the property to be present, but it results in Browser bug
268
- // https://bugs.chromium.org/p/chromium/issues/detail?id=20574
269
- [] : [{
270
- translateX:
271
- // The screen content stays in place when `drawerType` is `front`
272
- drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
273
- }]
274
- };
275
- });
276
- const progress = (0, _reactNativeReanimated.useDerivedValue)(() => {
277
- return drawerType === 'permanent' ? 1 : (0, _reactNativeReanimated.interpolate)(translateX.value, [getDrawerTranslationX(false), getDrawerTranslationX(true)], [0, 1]);
278
- });
279
- return /*#__PURE__*/React.createElement(_GestureHandler.GestureHandlerRootView, {
57
+ }, [onTransitionEndLatest, onTransitionStartLatest]);
58
+ const isOpen = drawerType === 'permanent' ? true : open;
59
+ const isRight = drawerPosition === 'right';
60
+ const borderRadiiStyle = drawerType !== 'permanent' ? isRight ? {
61
+ borderTopLeftRadius: DRAWER_BORDER_RADIUS,
62
+ borderBottomLeftRadius: DRAWER_BORDER_RADIUS
63
+ } : {
64
+ borderTopRightRadius: DRAWER_BORDER_RADIUS,
65
+ borderBottomRightRadius: DRAWER_BORDER_RADIUS
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, {
280
83
  style: [styles.container, style]
281
84
  }, /*#__PURE__*/React.createElement(_DrawerProgressContext.DrawerProgressContext.Provider, {
282
85
  value: progress
283
- }, /*#__PURE__*/React.createElement(_GestureHandler.PanGestureHandler, _extends({
284
- activeOffsetX: [-_constants.SWIPE_MIN_OFFSET, _constants.SWIPE_MIN_OFFSET],
285
- failOffsetY: [-_constants.SWIPE_MIN_OFFSET, _constants.SWIPE_MIN_OFFSET],
286
- hitSlop: hitSlop,
287
- enabled: drawerType !== 'permanent' && swipeEnabled,
288
- onGestureEvent: onGestureEvent
289
- }, gestureHandlerProps), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
86
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
290
87
  style: [styles.main, {
291
88
  flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
292
89
  }]
293
- }, /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
90
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
294
91
  style: [styles.content, contentAnimatedStyle]
295
92
  }, /*#__PURE__*/React.createElement(_reactNative.View, {
296
93
  accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
297
94
  importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
298
95
  style: styles.content
299
96
  }, children), drawerType !== 'permanent' ? /*#__PURE__*/React.createElement(_Overlay.Overlay, {
97
+ open: open,
300
98
  progress: progress,
301
- onPress: () => toggleDrawer(false),
99
+ onPress: () => onClose(),
302
100
  style: overlayStyle,
303
101
  accessibilityLabel: overlayAccessibilityLabel
304
- }) : null), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
305
- removeClippedSubviews: _reactNative.Platform.OS !== 'ios',
102
+ }) : null), /*#__PURE__*/React.createElement(_reactNative.View, {
103
+ ref: drawerRef,
306
104
  style: [styles.drawer, {
307
105
  width: drawerWidth,
308
106
  position: drawerType === 'permanent' ? 'relative' : 'absolute',
309
107
  zIndex: drawerType === 'back' ? -1 : 0
310
- }, drawerAnimatedStyle, drawerStyle]
311
- }, renderDrawerContent())))));
108
+ }, borderRadiiStyle, drawerAnimatedStyle, drawerStyle]
109
+ }, renderDrawerContent()))));
312
110
  }
313
111
  const styles = _reactNative.StyleSheet.create({
314
112
  container: {
@@ -324,15 +122,7 @@ const styles = _reactNative.StyleSheet.create({
324
122
  flex: 1
325
123
  },
326
124
  main: {
327
- flex: 1,
328
- ..._reactNative.Platform.select({
329
- // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.
330
- // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.
331
- web: null,
332
- default: {
333
- overflow: 'hidden'
334
- }
335
- })
125
+ flex: 1
336
126
  }
337
127
  });
338
128
  //# sourceMappingURL=Drawer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_useLatestCallback","_interopRequireDefault","_constants","_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","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","SWIPE_EDGE_WIDTH","swipeMinDistance","SWIPE_MIN_DISTANCE","swipeMinVelocity","SWIPE_MIN_VELOCITY","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","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","SWIPE_MIN_OFFSET","velocityX","onFinish","useDerivedValue","touchDistance","ACTIVE","drawerAnimatedStyle","useAnimatedStyle","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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"}