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

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 +41 -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 +51 -283
  7. package/lib/commonjs/views/Drawer.js.map +1 -1
  8. package/lib/commonjs/views/Drawer.native.js +313 -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 +35 -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 +52 -282
  20. package/lib/module/views/Drawer.js.map +1 -1
  21. package/lib/module/views/Drawer.native.js +304 -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 +39 -0
  49. package/src/utils/useDrawerProgress.tsx +2 -2
  50. package/src/utils/useFakeSharedValue.tsx +49 -0
  51. package/src/views/Drawer.native.tsx +450 -0
  52. package/src/views/Drawer.tsx +102 -434
  53. package/src/views/Overlay.native.tsx +63 -0
  54. package/src/views/Overlay.tsx +26 -59
@@ -0,0 +1,41 @@
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 APPROX_APP_BAR_HEIGHT = 56;
9
+ const DEFAULT_DRAWER_WIDTH = 360;
10
+ const getDefaultDrawerWidth = _ref => {
11
+ let {
12
+ width
13
+ } = _ref;
14
+ /**
15
+ * Default drawer width is 360dp
16
+ * On screens smaller than 320dp, ideally the drawer would collapse to a navigation bar
17
+ * https://m3.material.io/components/navigation-drawer/specs
18
+ */
19
+ if (width - APPROX_APP_BAR_HEIGHT <= 360) {
20
+ return width - APPROX_APP_BAR_HEIGHT;
21
+ }
22
+ return DEFAULT_DRAWER_WIDTH;
23
+ };
24
+ function getDrawerWidth(_ref2) {
25
+ let {
26
+ layout,
27
+ drawerStyle
28
+ } = _ref2;
29
+ const {
30
+ width = getDefaultDrawerWidth(layout)
31
+ } = _reactNative.StyleSheet.flatten(drawerStyle) || {};
32
+ if (typeof width === 'string' && width.endsWith('%')) {
33
+ // Try to calculate width if a percentage is given
34
+ const percentage = Number(width.replace(/%$/, ''));
35
+ if (Number.isFinite(percentage)) {
36
+ return layout.width * (percentage / 100);
37
+ }
38
+ }
39
+ return typeof width === 'number' ? width : 0;
40
+ }
41
+ //# sourceMappingURL=getDrawerWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","APPROX_APP_BAR_HEIGHT","DEFAULT_DRAWER_WIDTH","getDefaultDrawerWidth","_ref","width","getDrawerWidth","_ref2","layout","drawerStyle","StyleSheet","flatten","endsWith","percentage","Number","replace","isFinite"],"sourceRoot":"../../../src","sources":["utils/getDrawerWidth.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,qBAAqB,GAAG,EAAE;AAChC,MAAMC,oBAAoB,GAAG,GAAG;AAEhC,MAAMC,qBAAqB,GAAGC,IAAA,IAAkC;EAAA,IAAjC;IAAEC;EAAyB,CAAC,GAAAD,IAAA;EACzD;AACF;AACA;AACA;AACA;EACE,IAAIC,KAAK,GAAGJ,qBAAqB,IAAI,GAAG,EAAE;IACxC,OAAOI,KAAK,GAAGJ,qBAAqB;EACtC;EAEA,OAAOC,oBAAoB;AAC7B,CAAC;AAEM,SAASI,cAAcA,CAAAC,KAAA,EAM3B;EAAA,IAN4B;IAC7BC,MAAM;IACNC;EAIF,CAAC,GAAAF,KAAA;EACC,MAAM;IAAEF,KAAK,GAAGF,qBAAqB,CAACK,MAAM;EAAE,CAAC,GAC7CE,uBAAU,CAACC,OAAO,CAACF,WAAW,CAAC,IAAI,CAAC,CAAC;EAEvC,IAAI,OAAOJ,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACO,QAAQ,CAAC,GAAG,CAAC,EAAE;IACpD;IACA,MAAMC,UAAU,GAAGC,MAAM,CAACT,KAAK,CAACU,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;MAC/B,OAAOL,MAAM,CAACH,KAAK,IAAIQ,UAAU,GAAG,GAAG,CAAC;IAC1C;EACF;EAEA,OAAO,OAAOR,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,102 @@
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
+ function Drawer(_ref) {
48
18
  let {
49
19
  layout: customLayout,
50
- drawerPosition = _reactNative.I18nManager.getConstants().isRTL ? 'right' : 'left',
20
+ drawerPosition = 'left',
51
21
  drawerStyle,
52
- drawerType = _reactNative.Platform.select({
53
- ios: 'slide',
54
- default: 'front'
55
- }),
56
- gestureHandlerProps,
57
- hideStatusBarOnOpen = false,
58
- keyboardDismissMode = 'on-drag',
22
+ drawerType = 'front',
59
23
  onClose,
60
- onOpen,
61
- onGestureStart,
62
- onGestureCancel,
63
- onGestureEnd,
64
24
  onTransitionStart,
65
25
  onTransitionEnd,
66
26
  open,
67
27
  overlayStyle,
68
28
  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
29
  renderDrawerContent,
75
30
  children,
76
31
  style
77
- } = _ref2;
78
- // FIXME: temporary workaround for useSafeAreaFrame not updating on Web
32
+ } = _ref;
79
33
  const windowDimensions = (0, _reactNative.useWindowDimensions)();
80
34
  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
- }
91
- }
92
- return typeof width === 'number' ? width : 0;
93
- };
94
- const drawerWidth = getDrawerWidth();
95
- const isOpen = drawerType === 'permanent' ? true : open;
96
- 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]);
35
+ const drawerWidth = (0, _getDrawerWidth.getDrawerWidth)({
36
+ layout,
37
+ drawerStyle
38
+ });
39
+ const progress = (0, _useFakeSharedValue.useFakeSharedValue)(open ? 1 : 0);
110
40
  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 ? {
157
- borderTopLeftRadius: DRAWER_BORDER_RADIUS,
158
- borderBottomLeftRadius: DRAWER_BORDER_RADIUS
159
- } : {
160
- borderTopRightRadius: DRAWER_BORDER_RADIUS,
161
- 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);
41
+ progress.value = open ? 1 : 0;
42
+ }, [open, progress]);
43
+ const drawerRef = React.useRef(null);
44
+ const onTransitionStartLatest = (0, _useLatestCallback.default)(() => {
45
+ onTransitionStart?.(open === false);
169
46
  });
170
- const handleAnimationEnd = (0, _useLatestCallback.default)((open, finished) => {
171
- if (!finished) return;
172
- onTransitionEnd?.(!open);
47
+ const onTransitionEndLatest = (0, _useLatestCallback.default)(() => {
48
+ onTransitionEnd?.(open === false);
173
49
  });
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)();
50
+ React.useEffect(() => {
51
+ const element = drawerRef.current;
52
+ if (element) {
53
+ element.addEventListener('transitionstart', onTransitionStartLatest);
54
+ element.addEventListener('transitionend', onTransitionEndLatest);
233
55
  }
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, {
56
+ }, [onTransitionEndLatest, onTransitionStartLatest]);
57
+ const isOpen = drawerType === 'permanent' ? true : open;
58
+ const isRight = drawerPosition === 'right';
59
+ const drawerAnimatedStyle = drawerType !== 'permanent' ? {
60
+ transition: 'transform 0.3s',
61
+ transform: [{
62
+ // The drawer stays in place at open position when `drawerType` is `back`
63
+ translateX: open || drawerType === 'back' ? drawerPosition === 'left' ? 0 : layout.width - drawerWidth : drawerPosition === 'left' ? -drawerWidth : layout.width
64
+ }]
65
+ } : null;
66
+ const contentAnimatedStyle = drawerType !== 'permanent' ? {
67
+ transition: 'transform 0.3s',
68
+ transform: [{
69
+ translateX: open ?
70
+ // The screen content stays in place when `drawerType` is `front`
71
+ drawerType === 'front' ? 0 : drawerWidth * (drawerPosition === 'left' ? 1 : -1) : 0
72
+ }]
73
+ } : null;
74
+ return /*#__PURE__*/React.createElement(_reactNative.View, {
294
75
  style: [styles.container, style]
295
76
  }, /*#__PURE__*/React.createElement(_DrawerProgressContext.DrawerProgressContext.Provider, {
296
77
  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, {
78
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
304
79
  style: [styles.main, {
305
80
  flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
306
81
  }]
307
- }, /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
82
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
308
83
  style: [styles.content, contentAnimatedStyle]
309
84
  }, /*#__PURE__*/React.createElement(_reactNative.View, {
310
85
  accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
311
86
  importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
312
87
  style: styles.content
313
88
  }, children), drawerType !== 'permanent' ? /*#__PURE__*/React.createElement(_Overlay.Overlay, {
89
+ open: open,
314
90
  progress: progress,
315
- onPress: () => toggleDrawer(false),
91
+ onPress: () => onClose(),
316
92
  style: overlayStyle,
317
93
  accessibilityLabel: overlayAccessibilityLabel
318
- }) : null), /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
319
- removeClippedSubviews: _reactNative.Platform.OS !== 'ios',
94
+ }) : null), /*#__PURE__*/React.createElement(_reactNative.View, {
95
+ ref: drawerRef,
320
96
  style: [styles.drawer, {
321
97
  width: drawerWidth,
322
98
  position: drawerType === 'permanent' ? 'relative' : 'absolute',
323
99
  zIndex: drawerType === 'back' ? -1 : 0
324
- }, drawerType === 'permanent' ? null : borderRadiiStyle, drawerAnimatedStyle, drawerStyle]
325
- }, renderDrawerContent())))));
100
+ }, drawerAnimatedStyle, drawerStyle]
101
+ }, renderDrawerContent()))));
326
102
  }
327
103
  const styles = _reactNative.StyleSheet.create({
328
104
  container: {
@@ -338,15 +114,7 @@ const styles = _reactNative.StyleSheet.create({
338
114
  flex: 1
339
115
  },
340
116
  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
- })
117
+ flex: 1
350
118
  }
351
119
  });
352
120
  //# 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","_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","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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"}