@wavemaker/app-rn-runtime 11.6.1-rc.5513 → 11.6.1-rc.5518

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 (186) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +7 -9
  2. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  3. app-rn-runtime/components/advanced/webview/webview.component.js +11 -27
  4. app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
  5. app-rn-runtime/components/advanced/webview/webview.props.js +1 -0
  6. app-rn-runtime/components/advanced/webview/webview.props.js.map +1 -1
  7. app-rn-runtime/components/basic/anchor/anchor.component.js +1 -2
  8. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  9. app-rn-runtime/components/basic/anchor/anchor.props.js +0 -1
  10. app-rn-runtime/components/basic/anchor/anchor.props.js.map +1 -1
  11. app-rn-runtime/components/basic/button/button.component.js +15 -2
  12. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  13. app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js +4 -9
  14. app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js.map +1 -1
  15. app-rn-runtime/components/basic/label/label.component.js +29 -41
  16. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  17. app-rn-runtime/components/basic/label/label.styles.js +4 -1
  18. app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
  19. app-rn-runtime/components/basic/search/search.component.js +2 -8
  20. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  21. app-rn-runtime/components/basic/search/search.props.js +0 -1
  22. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  23. app-rn-runtime/components/basic/skeleton/skeleton.component.js +0 -1
  24. app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
  25. app-rn-runtime/components/chart/area-chart/area-chart.component.js +8 -11
  26. app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
  27. app-rn-runtime/components/chart/bar-chart/bar-chart.component.js +0 -6
  28. app-rn-runtime/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  29. app-rn-runtime/components/chart/bar-chart/bar-chart.props.js +2 -0
  30. app-rn-runtime/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  31. app-rn-runtime/components/chart/basechart.component.js +6 -19
  32. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  33. app-rn-runtime/components/chart/basechart.props.js +2 -4
  34. app-rn-runtime/components/chart/basechart.props.js.map +1 -1
  35. app-rn-runtime/components/chart/basechart.styles.js +1 -7
  36. app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
  37. app-rn-runtime/components/chart/line-chart/line-chart.component.js +3 -5
  38. app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
  39. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +16 -44
  40. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  41. app-rn-runtime/components/chart/stack-chart/stack-chart.props.js +0 -1
  42. app-rn-runtime/components/chart/stack-chart/stack-chart.props.js.map +1 -1
  43. app-rn-runtime/components/container/container.component.js +1 -10
  44. app-rn-runtime/components/container/container.component.js.map +1 -1
  45. app-rn-runtime/components/container/container.props.js +0 -1
  46. app-rn-runtime/components/container/container.props.js.map +1 -1
  47. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +1 -1
  48. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  49. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +12 -2
  50. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  51. app-rn-runtime/components/container/wizard/wizard.component.js +8 -13
  52. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  53. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +2 -24
  54. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  55. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +0 -6
  56. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
  57. app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
  58. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  59. app-rn-runtime/components/data/form/form-action/form-action.props.js +1 -0
  60. app-rn-runtime/components/data/form/form-action/form-action.props.js.map +1 -1
  61. app-rn-runtime/components/data/form/form-field/form-field.component.js +1 -5
  62. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  63. app-rn-runtime/components/data/list/list.component.js +64 -8
  64. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  65. app-rn-runtime/components/data/list/list.props.js +1 -0
  66. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  67. app-rn-runtime/components/data/list/list.styles.js +0 -3
  68. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  69. app-rn-runtime/components/input/baseinput/baseinput.component.js +2 -2
  70. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  71. app-rn-runtime/components/input/basenumber/basenumber.component.js +5 -5
  72. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  73. app-rn-runtime/components/input/checkbox/checkbox.component.js +5 -5
  74. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  75. app-rn-runtime/components/input/checkbox/checkbox.styles.js +35 -5
  76. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  77. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +9 -18
  78. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  79. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +0 -1
  80. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  81. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +39 -10
  82. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  83. app-rn-runtime/components/input/composite/composite.component.js +1 -1
  84. app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
  85. app-rn-runtime/components/input/composite/composite.props.js +1 -1
  86. app-rn-runtime/components/input/composite/composite.props.js.map +1 -1
  87. app-rn-runtime/components/input/currency/currency.component.js +17 -3
  88. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  89. app-rn-runtime/components/input/currency/currency.props.js +1 -0
  90. app-rn-runtime/components/input/currency/currency.props.js.map +1 -1
  91. app-rn-runtime/components/input/currency/currency.styles.js +19 -1
  92. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  93. app-rn-runtime/components/input/epoch/base-datetime.component.js +68 -6
  94. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  95. app-rn-runtime/components/input/epoch/date/date.component.js +8 -0
  96. app-rn-runtime/components/input/epoch/date/date.component.js.map +1 -1
  97. app-rn-runtime/components/input/epoch/date/date.styles.js +16 -0
  98. app-rn-runtime/components/input/epoch/date/date.styles.js.map +1 -1
  99. app-rn-runtime/components/input/epoch/datetime/datetime.component.js +8 -0
  100. app-rn-runtime/components/input/epoch/datetime/datetime.component.js.map +1 -1
  101. app-rn-runtime/components/input/epoch/datetime/datetime.props.js +1 -0
  102. app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
  103. app-rn-runtime/components/input/epoch/datetime/datetime.styles.js +49 -1
  104. app-rn-runtime/components/input/epoch/datetime/datetime.styles.js.map +1 -1
  105. app-rn-runtime/components/input/epoch/time/time.component.js +8 -0
  106. app-rn-runtime/components/input/epoch/time/time.component.js.map +1 -1
  107. app-rn-runtime/components/input/epoch/time/time.styles.js +16 -0
  108. app-rn-runtime/components/input/epoch/time/time.styles.js.map +1 -1
  109. app-rn-runtime/components/input/number/number.component.js +11 -1
  110. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  111. app-rn-runtime/components/input/number/number.props.js +1 -0
  112. app-rn-runtime/components/input/number/number.props.js.map +1 -1
  113. app-rn-runtime/components/input/number/number.styles.js +17 -0
  114. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  115. app-rn-runtime/components/input/radioset/radioset.component.js +2 -6
  116. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  117. app-rn-runtime/components/input/slider/slider.component.js +3 -2
  118. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  119. app-rn-runtime/components/input/text/text.component.js +11 -0
  120. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  121. app-rn-runtime/components/input/text/text.props.js +1 -0
  122. app-rn-runtime/components/input/text/text.props.js.map +1 -1
  123. app-rn-runtime/components/input/text/text.styles.js +17 -0
  124. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  125. app-rn-runtime/components/input/textarea/textarea.component.js +11 -0
  126. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  127. app-rn-runtime/components/input/textarea/textarea.props.js +1 -0
  128. app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
  129. app-rn-runtime/components/input/textarea/textarea.styles.js +17 -0
  130. app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
  131. app-rn-runtime/components/input/toggle/toggle.component.js +3 -2
  132. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  133. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +1 -6
  134. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  135. app-rn-runtime/components/navigation/appnavbar/appnavbar.props.js +0 -1
  136. app-rn-runtime/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
  137. app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js +0 -6
  138. app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js.map +1 -1
  139. app-rn-runtime/components/navigation/navbar/navbar.props.js.map +1 -1
  140. app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
  141. app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
  142. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  143. app-rn-runtime/components/page/page-content/page-content.component.js +2 -0
  144. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  145. app-rn-runtime/components/page/tabbar/curve.js +84 -0
  146. app-rn-runtime/components/page/tabbar/curve.js.map +1 -0
  147. app-rn-runtime/components/page/tabbar/tabbar.component.js +43 -9
  148. app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
  149. app-rn-runtime/components/page/tabbar/tabbar.styles.js +54 -1
  150. app-rn-runtime/components/page/tabbar/tabbar.styles.js.map +1 -1
  151. app-rn-runtime/core/base.component.js +17 -5
  152. app-rn-runtime/core/base.component.js.map +1 -1
  153. app-rn-runtime/core/components/floatinglabel.component.js +45 -0
  154. app-rn-runtime/core/components/floatinglabel.component.js.map +1 -0
  155. app-rn-runtime/core/components/textinput.component.js +9 -1
  156. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  157. app-rn-runtime/core/formatters.js +1 -14
  158. app-rn-runtime/core/formatters.js.map +1 -1
  159. app-rn-runtime/core/tappable.component.js +36 -49
  160. app-rn-runtime/core/tappable.component.js.map +1 -1
  161. app-rn-runtime/gestures/swipe.animation.js +34 -1
  162. app-rn-runtime/gestures/swipe.animation.js.map +1 -1
  163. app-rn-runtime/package.json +5 -3
  164. app-rn-runtime/runtime/App.js +13 -7
  165. app-rn-runtime/runtime/App.js.map +1 -1
  166. app-rn-runtime/runtime/base-fragment.component.js +2 -1
  167. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  168. app-rn-runtime/runtime/base-page.component.js +11 -3
  169. app-rn-runtime/runtime/base-page.component.js.map +1 -1
  170. app-rn-runtime/runtime/services/app-security.service.js +23 -8
  171. app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
  172. app-rn-runtime/runtime/services/webprocess.service.js +1 -0
  173. app-rn-runtime/runtime/services/webprocess.service.js.map +1 -1
  174. app-rn-runtime/styles/background.component.js +12 -1
  175. app-rn-runtime/styles/background.component.js.map +1 -1
  176. app-rn-runtime/styles/theme.js +32 -12
  177. app-rn-runtime/styles/theme.js.map +1 -1
  178. app-rn-runtime/styles/theme.variables.js +7 -3
  179. app-rn-runtime/styles/theme.variables.js.map +1 -1
  180. app-rn-runtime/variables/device/device/network-info.operation.js +23 -3
  181. app-rn-runtime/variables/device/device/network-info.operation.js.map +1 -1
  182. app-rn-runtime/variables/device/operation.provider.js.map +1 -1
  183. app-rn-runtime/variables/device-variable.js +1 -1
  184. app-rn-runtime/variables/device-variable.js.map +1 -1
  185. app-rn-runtime/variables/model-variable.js +1 -2
  186. app-rn-runtime/variables/model-variable.js.map +1 -1
@@ -7,10 +7,8 @@ import { Platform, View } from "react-native";
7
7
  import { TouchableOpacity } from "react-native";
8
8
  import { get } from "lodash";
9
9
  import injector from "./injector";
10
- export const ParentTappableContext = /*#__PURE__*/React.createContext(null);
11
- export class SyntheticEvent {
10
+ export class TapEvent {
12
11
  constructor() {
13
- // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent
14
12
  _defineProperty(this, "propagationEnabled", true);
15
13
  }
16
14
  stopPropagation() {
@@ -24,96 +22,85 @@ export class Tappable extends React.Component {
24
22
  _defineProperty(this, "lastTap", 0);
25
23
  _defineProperty(this, "lastDoubleTap", 0);
26
24
  _defineProperty(this, "isLongTap", false);
27
- _defineProperty(this, "parent", null);
28
25
  }
29
26
  onPress(e) {
30
27
  var _this$props$target;
31
28
  this.lastPress = Date.now();
32
29
  const target = this.props.target;
33
- this.props.onTouchStart && this.props.onTouchStart(e);
34
- (_this$props$target = this.props.target) === null || _this$props$target === void 0 ? void 0 : _this$props$target.invokeEventCallback('onTouchstart', [e, this.props.target]);
30
+ if (!Tappable.CURRENT_EVENT) {
31
+ Tappable.CURRENT_EVENT = new TapEvent();
32
+ setTimeout(() => {
33
+ Tappable.CURRENT_EVENT = null;
34
+ }, 10);
35
+ }
36
+ const syntheticEvent = Tappable.CURRENT_EVENT;
37
+ this.props.onTouchStart && this.props.onTouchStart(e || syntheticEvent);
38
+ (_this$props$target = this.props.target) === null || _this$props$target === void 0 ? void 0 : _this$props$target.invokeEventCallback('onTouchstart', [syntheticEvent, this.props.target]);
35
39
  const currentTime = Date.now();
36
40
  const tapDelta = currentTime - this.lastTap;
37
41
  if (this.isLongTap) {
38
42
  this.isLongTap = false;
39
43
  return;
40
44
  }
41
- if (e.propagationEnabled) {
45
+ if (syntheticEvent.propagationEnabled) {
42
46
  var _injector$FOCUSED_ELE;
43
47
  (_injector$FOCUSED_ELE = injector.FOCUSED_ELEMENT.get()) === null || _injector$FOCUSED_ELE === void 0 ? void 0 : _injector$FOCUSED_ELE.blur();
44
48
  if (this.lastDoubleTap !== this.lastTap && tapDelta < 500) {
45
49
  this.props.onDoubleTap && this.props.onDoubleTap(e);
46
50
  setTimeout(() => {
47
- target === null || target === void 0 ? void 0 : target.invokeEventCallback('onDoubletap', [e, target]);
51
+ target === null || target === void 0 ? void 0 : target.invokeEventCallback('onDoubletap', [syntheticEvent, target]);
48
52
  }, 200);
49
53
  this.lastDoubleTap = currentTime;
50
54
  }
51
55
  setTimeout(() => {
52
- var _this$parent;
53
56
  if (this.props.onTap) {
54
- this.props.onTap(e);
57
+ this.props.onTap(e || syntheticEvent);
55
58
  } else {
56
- target === null || target === void 0 ? void 0 : target.invokeEventCallback('onTap', [e, target]);
59
+ target === null || target === void 0 ? void 0 : target.invokeEventCallback('onTap', [syntheticEvent, target]);
57
60
  }
58
- (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.onPress(e);
59
61
  }, 200);
60
62
  this.lastTap = currentTime;
61
63
  }
62
64
  }
63
65
  onLongTap(e) {
64
- if (!e.propagationEnabled) {
65
- return;
66
- }
67
- this.props.onLongTap && this.props.onLongTap(e);
66
+ const syntheticEvent = Tappable.CURRENT_EVENT;
67
+ this.props.onLongTap && this.props.onLongTap(e || syntheticEvent);
68
68
  setTimeout(() => {
69
- var _this$props$target2, _this$parent2;
70
- (_this$props$target2 = this.props.target) === null || _this$props$target2 === void 0 ? void 0 : _this$props$target2.invokeEventCallback('onLongtap', [e, this.props.target]);
71
- (_this$parent2 = this.parent) === null || _this$parent2 === void 0 ? void 0 : _this$parent2.onPressOut(e);
69
+ var _this$props$target2;
70
+ (_this$props$target2 = this.props.target) === null || _this$props$target2 === void 0 ? void 0 : _this$props$target2.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);
72
71
  }, 200);
73
72
  this.isLongTap = true;
74
73
  }
75
74
  onPressOut(e) {
76
- if (!e.propagationEnabled) {
77
- return;
78
- }
79
- this.props.onTouchEnd && this.props.onTouchEnd(e);
75
+ const syntheticEvent = Tappable.CURRENT_EVENT;
76
+ this.props.onTouchEnd && this.props.onTouchEnd(e || syntheticEvent);
80
77
  setTimeout(() => {
81
- var _this$props$target3, _this$parent3;
82
- (_this$props$target3 = this.props.target) === null || _this$props$target3 === void 0 ? void 0 : _this$props$target3.invokeEventCallback('onTouchend', [e, this.props.target]);
83
- (_this$parent3 = this.parent) === null || _this$parent3 === void 0 ? void 0 : _this$parent3.onPressOut(e);
78
+ var _this$props$target3;
79
+ (_this$props$target3 = this.props.target) === null || _this$props$target3 === void 0 ? void 0 : _this$props$target3.invokeEventCallback('onTouchend', [syntheticEvent, this.props.target]);
84
80
  }, 200);
85
81
  this.isLongTap = false;
86
82
  }
87
- setParent(parent) {
88
- if (parent && this.parent !== parent) {
89
- this.parent = parent;
90
- }
91
- }
92
83
  render() {
93
84
  const target = this.props.target;
94
85
  if (target !== null && target !== void 0 && target.props.onTap || target !== null && target !== void 0 && target.props.onLongtap || target !== null && target !== void 0 && target.props.onDoubletap || this.props.onTap || this.props.onLongTap || this.props.onDoubleTap) {
95
- return /*#__PURE__*/React.createElement(ParentTappableContext.Consumer, null, parent => {
96
- this.setParent(parent);
97
- return /*#__PURE__*/React.createElement(ParentTappableContext.Provider, {
98
- value: this
99
- }, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, Platform.OS === 'android' || Platform.OS === 'web' ? {
100
- accessibilityLabel: this.props.testID,
101
- testID: this.props.testID
102
- } : {
103
- accessible: false,
104
- testID: this.props.testID
105
- }, {
106
- disabled: get(target === null || target === void 0 ? void 0 : target.proxy, 'disabled'),
107
- style: this.props.styles,
108
- onPress: e => this.onPress(new SyntheticEvent()),
109
- onLongPress: e => this.onLongTap(new SyntheticEvent()),
110
- onPressOut: e => this.onPressOut(new SyntheticEvent())
111
- }), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children)));
112
- });
86
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, Platform.OS === 'android' || Platform.OS === 'web' ? {
87
+ accessibilityLabel: this.props.testID,
88
+ testID: this.props.testID
89
+ } : {
90
+ accessible: false,
91
+ testID: this.props.testID
92
+ }, {
93
+ disabled: get(target === null || target === void 0 ? void 0 : target.proxy, 'disabled'),
94
+ style: this.props.styles,
95
+ onPress: () => this.onPress(),
96
+ onPressOut: () => this.onPressOut(),
97
+ onLongPress: () => this.onLongTap()
98
+ }), this.props.children);
113
99
  }
114
100
  return /*#__PURE__*/React.createElement(View, {
115
101
  style: this.props.styles
116
102
  }, this.props.children);
117
103
  }
118
104
  }
105
+ _defineProperty(Tappable, "CURRENT_EVENT", null);
119
106
  //# sourceMappingURL=tappable.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","View","TouchableOpacity","get","injector","ParentTappableContext","createContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","onPress","e","_this$props$target","lastPress","Date","now","target","onTouchStart","invokeEventCallback","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent","onTap","parent","onLongTap","_this$props$target2","_this$parent2","onPressOut","onTouchEnd","_this$props$target3","_this$parent3","setParent","render","onLongtap","onDoubletap","createElement","Consumer","Provider","value","_extends","OS","accessibilityLabel","testID","accessible","disabled","proxy","style","styles","onLongPress","Fragment","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View } from \"react-native\";\nimport { TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\n\nexport const ParentTappableContext = React.createContext<Tappable>(null as any);\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n render() {\n const target = this.props.target;\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <ParentTappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return( <ParentTappableContext.Provider value={this}>\n <TouchableOpacity\n {...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n accessible: false,\n testID: this.props.testID\n }} \n disabled={get(target?.proxy, 'disabled')}\n style={this.props.styles}\n onPress={(e?: GestureResponderEvent) => this.onPress(new SyntheticEvent())}\n onLongPress={(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent())}\n onPressOut={(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())}>\n <>{this.props.children}</>\n </TouchableOpacity>\n </ParentTappableContext.Provider>)}}</ParentTappableContext.Consumer>\n \n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Platform","View","TouchableOpacity","get","injector","TapEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","onPress","e","_this$props$target","lastPress","Date","now","target","CURRENT_EVENT","setTimeout","syntheticEvent","onTouchStart","invokeEventCallback","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","onTap","onLongTap","_this$props$target2","onPressOut","onTouchEnd","_this$props$target3","render","onLongtap","onDoubletap","createElement","_extends","OS","accessibilityLabel","testID","accessible","disabled","proxy","style","styles","onLongPress","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View } from \"react-native\";\nimport { TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\n\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n}\n\nexport class TapEvent {\n propagationEnabled = true;\n\n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n\n static CURRENT_EVENT: TapEvent = null as any;\n\n constructor(props: any) {\n super(props);\n }\n\n onPress(e?: GestureResponderEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n if (!Tappable.CURRENT_EVENT) {\n Tappable.CURRENT_EVENT = new TapEvent();\n setTimeout(() => {\n Tappable.CURRENT_EVENT = null as any;\n }, 10);\n }\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchStart && this.props.onTouchStart(e || syntheticEvent);\n this.props.target?.invokeEventCallback('onTouchstart', [syntheticEvent, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (syntheticEvent.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [syntheticEvent, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (this.props.onTap) {\n this.props.onTap(e || syntheticEvent);\n } else {\n target?.invokeEventCallback('onTap', [syntheticEvent, target]);\n }\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onLongTap && this.props.onLongTap(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchEnd && this.props.onTouchEnd(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = false;\n }\n\n render() {\n const target = this.props.target;\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <TouchableOpacity \n {...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n accessible: false,\n testID: this.props.testID\n }} \n disabled={get(target?.proxy, 'disabled')}\n style={this.props.styles}\n onPress={() => this.onPress()}\n onPressOut={() => this.onPressOut()}\n onLongPress={() => this.onLongTap()}>\n {this.props.children}\n </TouchableOpacity>\n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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"}
@@ -50,8 +50,33 @@ export class View extends React.Component {
50
50
  threshold: props.threshold || 30,
51
51
  bounds: {}
52
52
  };
53
- this.gesture.maxPointers(1).minDistance(this.state.threshold).enabled(this.props.enableGestures && !isWebPreviewMode()).onChange(e => {
53
+ var touchStart = {
54
+ x: 0,
55
+ y: 0,
56
+ active: false
57
+ };
58
+ this.gesture.maxPointers(1).minDistance(this.state.threshold).enabled(this.props.enableGestures && !isWebPreviewMode()).onTouchesDown((e, s) => {
59
+ touchStart = {
60
+ x: e.changedTouches[0].x,
61
+ y: e.changedTouches[0].y,
62
+ active: false
63
+ };
64
+ }).onTouchesMove((e, s) => {
65
+ if (touchStart.active) {
66
+ return;
67
+ }
68
+ const translationX = e.allTouches[0].x - touchStart.x;
69
+ const translationY = e.allTouches[0].y - touchStart.y;
70
+ const d = this.state.isHorizontal ? translationX : translationY;
71
+ const od = this.state.isHorizontal ? translationY : translationX;
72
+ if (Math.abs(d) >= this.state.threshold && Math.abs(od) < Math.tan(15 * Math.PI / 180) * this.state.threshold) {
73
+ touchStart.active = true;
74
+ }
75
+ }).onChange(e => {
54
76
  var _this$props$handlers, _this$props$handlers2;
77
+ if (!touchStart.active) {
78
+ return;
79
+ }
55
80
  const bounds = ((_this$props$handlers = this.props.handlers) === null || _this$props$handlers === void 0 ? void 0 : _this$props$handlers.bounds) && ((_this$props$handlers2 = this.props.handlers) === null || _this$props$handlers2 === void 0 ? void 0 : _this$props$handlers2.bounds(e)) || {};
56
81
  const d = this.state.isHorizontal ? e.translationX : e.translationY;
57
82
  let phase = this.computePhase((bounds === null || bounds === void 0 ? void 0 : bounds.center) || 0);
@@ -64,6 +89,14 @@ export class View extends React.Component {
64
89
  this.position.setValue((this.isRTL() ? -(bounds === null || bounds === void 0 ? void 0 : bounds.center) : (bounds === null || bounds === void 0 ? void 0 : bounds.center) || 0) + d);
65
90
  }).onEnd(e => {
66
91
  var _this$props$handlers3, _this$props$handlers4;
92
+ if (!touchStart.active) {
93
+ return;
94
+ }
95
+ touchStart = {
96
+ x: 0,
97
+ y: 0,
98
+ active: false
99
+ };
67
100
  ((_this$props$handlers3 = this.props.handlers) === null || _this$props$handlers3 === void 0 ? void 0 : _this$props$handlers3.onAnimation) && ((_this$props$handlers4 = this.props.handlers) === null || _this$props$handlers4 === void 0 ? void 0 : _this$props$handlers4.onAnimation(e));
68
101
  if (e.translationX < 0) {
69
102
  this.isRTL() ? this.goToLower(e) : this.goToUpper(e);
@@ -1 +1 @@
1
- {"version":3,"names":["isNil","React","Animated","Easing","View","RNView","Gesture","GestureDetector","isWebPreviewMode","injector","Handlers","constructor","_defineProperty","Props","undefined","State","Number","MAX_VALUE","Component","props","Pan","Value","I18nService","get","state","isHorizontal","direction","threshold","bounds","gesture","maxPointers","minDistance","enabled","enableGestures","onChange","e","_this$props$handlers","_this$props$handlers2","handlers","d","translationX","translationY","phase","computePhase","center","lower","upper","animationPhase","setValue","position","isRTL","onEnd","_this$props$handlers3","_this$props$handlers4","onAnimation","goToLower","goToUpper","computeMaxScroll","_this$viewLayout2","max","childrenWidth","childrenLayout","reduce","s","v","width","childrenHeight","height","_this$viewLayout","viewLayout","setState","maxPosition","setChildrenLayout","event","index","nativeEvent","layout","setViewLayout","value","_this$props$handlers5","_this$props$handlers6","i18nService","isRTLLocale","_this$props$handlers7","_this$props$handlers8","setPosition","then","_this$props$handlers9","_this$props$handlers10","onLower","_this$props$handlers11","_this$props$handlers12","_this$props$handlers13","_this$props$handlers14","onUpper","Promise","reject","isNaN","Math","resolve","parallel","timing","useNativeDriver","toValue","duration","easing","out","linear","start","render","createElement","style","flexDirection","flexWrap","alignItems","transform","translateX","translateY","onLayout","bind","children","map","c","i","_this$props$style","key","slideMinWidth","minWidth","slideWidth"],"sources":["swipe.animation.tsx"],"sourcesContent":["import { isNil } from 'lodash-es';\nimport React from 'react';\nimport { Animated, Easing, View as RNView, ViewStyle, LayoutChangeEvent, LayoutRectangle, DimensionValue } from 'react-native';\nimport { Gesture, GestureDetector, GestureUpdateEvent } from 'react-native-gesture-handler';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class Handlers {\n bounds?: (g: GestureUpdateEvent<any>) => Bounds = null as any;\n onAnimation?: (g: GestureUpdateEvent<any>) => any = () => {};\n onLower?: (g: GestureUpdateEvent<any>) => any = () => {};\n onUpper?: (g: GestureUpdateEvent<any>) => any = () => {};\n computePhase?: (value: number) => number = null as any;\n}\n\nexport interface Bounds {\n upper?: number;\n center?: number;\n lower?: number;\n}\n\nexport class Props {\n threshold?: number = 30;\n direction?: 'horizontal' | 'vertical' = 'horizontal';\n handlers?: Handlers = {} as any;\n style?: ViewStyle = {} as any;\n children: any;\n enableGestures: any;\n slideWidth?: DimensionValue = '100%'; \n slideMinWidth?: DimensionValue = undefined; \n}\n\nexport class State {\n threshold = 30;\n isHorizontal = false;\n bounds: Bounds = {} as any;\n maxPosition = Number.MAX_VALUE;\n}\n\nexport class View extends React.Component<Props, State> {\n\n static defaultProps = new Props();\n\n private gesture = Gesture.Pan();\n private position = new Animated.Value(0);\n public animationPhase = new Animated.Value(0);\n private i18nService = injector.I18nService.get();\n private childrenLayout: LayoutRectangle[] = [];\n private viewLayout: LayoutRectangle = null as any;\n\n constructor(props: Props) {\n super(props);\n this.state = {\n isHorizontal: props.direction === 'horizontal',\n threshold: props.threshold || 30,\n bounds: {} as any\n } as State;\n this.gesture\n .maxPointers(1)\n .minDistance(this.state.threshold)\n .enabled(this.props.enableGestures && !isWebPreviewMode())\n .onChange(e => {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n const d = (this.state.isHorizontal ? e.translationX : e.translationY);\n let phase = this.computePhase(bounds?.center || 0);\n if (d && d < 0 && !isNil(bounds.center) && !isNil(bounds.lower)\n && bounds.center !== bounds.lower) {\n phase += (d / (bounds.center - bounds.lower)) || 0;\n } else if (d && d > 0 && !isNil(bounds.center) && !isNil(bounds.upper)\n && bounds.center !== bounds.upper) {\n phase += (d / (bounds.upper - bounds.center)) || 0;\n }\n this.animationPhase.setValue(phase);\n this.position.setValue(\n (this.isRTL()?-bounds?.center! :bounds?.center || 0) + d);\n })\n .onEnd(e => {\n this.props.handlers?.onAnimation && \n this.props.handlers?.onAnimation(e);\n if (e.translationX < 0) {\n this.isRTL()?this.goToLower(e):this.goToUpper(e);\n } else if (e.translationX > 0) {\n this.isRTL()?this.goToUpper(e):this.goToLower(e);\n }\n })\n\n }\n\n computeMaxScroll() {\n let max = Number.MAX_VALUE;\n const childrenWidth = this.childrenLayout.reduce((s, v) => s + v.width, 0);\n const childrenHeight = this.childrenLayout.reduce((s, v) => s + v.height, 0);\n if (this.props.direction === 'horizontal') {\n if (childrenWidth && this.viewLayout?.width) {\n max = childrenWidth - this.viewLayout.width;\n }\n } else if (childrenHeight && this.viewLayout?.height) {\n max = childrenHeight - this.viewLayout.height;\n }\n this.setState({maxPosition: -1 * max});\n }\n\n setChildrenLayout(event: LayoutChangeEvent, index: number) {\n this.childrenLayout[index] = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n setViewLayout(event: LayoutChangeEvent) {\n this.viewLayout = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n computePhase(value: number) {\n return (this.props.handlers?.computePhase && \n this.props.handlers?.computePhase(value)) || 0;\n }\n\n isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n goToLower(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.lower)\n .then(() => {\n if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {\n this.props.handlers?.onLower && \n this.props.handlers?.onLower(e);\n }\n });\n }\n\n goToUpper(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.upper)\n .then(() => {\n if (!isNil(bounds.upper) && bounds.center !== bounds.upper) {\n this.props.handlers?.onUpper && \n this.props.handlers?.onUpper(e);\n }\n });\n }\n \n setPosition(value: number | undefined) {\n if (isNil(value)) {\n return Promise.reject();\n }\n let position = isNaN(this.state.maxPosition) ? value : Math.max(this.state.maxPosition, value);\n return new Promise((resolve) => {\n Animated.parallel([\n Animated.timing(this.animationPhase, {\n useNativeDriver: true,\n toValue: this.computePhase(value),\n duration: 200,\n easing: Easing.out(Easing.linear)\n }),\n Animated.timing(this.position, {\n useNativeDriver: true,\n toValue: (this.isRTL() ? -1: 1) * position,\n duration: 200,\n easing: Easing.out(Easing.linear)\n })\n ]).start(resolve);\n });\n }\n\n public render() {\n const isHorizontal = this.props.direction === 'horizontal';\n return (\n //@ts-ignore\n <GestureDetector gesture={this.gesture}>\n <Animated.View style={[\n isHorizontal ? {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n } : null,\n this.props.style, \n {\n transform: this.state.isHorizontal ? [{\n translateX: this.position\n }] : [{\n translateY: this.position\n }]\n }]} onLayout={this.setViewLayout.bind(this)}>\n {this.props.children.map((c: any, i: number) => {\n return (<RNView onLayout={(e) => this.setChildrenLayout(e, i)} key={c.key} \n style={[this.props.slideMinWidth ? {\n minWidth: this.props.slideMinWidth\n } : {\n width: this.props.slideWidth\n },\n this.props.style?.height === '100%' ? {\n height: '100%'\n } : null\n ]}>\n {c}\n </RNView>);\n })}\n </Animated.View>\n </GestureDetector>\n );\n }\n\n}"],"mappings":"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"}
1
+ {"version":3,"names":["isNil","React","Animated","Easing","View","RNView","Gesture","GestureDetector","isWebPreviewMode","injector","Handlers","constructor","_defineProperty","Props","undefined","State","Number","MAX_VALUE","Component","props","Pan","Value","I18nService","get","state","isHorizontal","direction","threshold","bounds","touchStart","x","y","active","gesture","maxPointers","minDistance","enabled","enableGestures","onTouchesDown","e","s","changedTouches","onTouchesMove","translationX","allTouches","translationY","d","od","Math","abs","tan","PI","onChange","_this$props$handlers","_this$props$handlers2","handlers","phase","computePhase","center","lower","upper","animationPhase","setValue","position","isRTL","onEnd","_this$props$handlers3","_this$props$handlers4","onAnimation","goToLower","goToUpper","computeMaxScroll","_this$viewLayout2","max","childrenWidth","childrenLayout","reduce","v","width","childrenHeight","height","_this$viewLayout","viewLayout","setState","maxPosition","setChildrenLayout","event","index","nativeEvent","layout","setViewLayout","value","_this$props$handlers5","_this$props$handlers6","i18nService","isRTLLocale","_this$props$handlers7","_this$props$handlers8","setPosition","then","_this$props$handlers9","_this$props$handlers10","onLower","_this$props$handlers11","_this$props$handlers12","_this$props$handlers13","_this$props$handlers14","onUpper","Promise","reject","isNaN","resolve","parallel","timing","useNativeDriver","toValue","duration","easing","out","linear","start","render","createElement","style","flexDirection","flexWrap","alignItems","transform","translateX","translateY","onLayout","bind","children","map","c","i","_this$props$style","key","slideMinWidth","minWidth","slideWidth"],"sources":["swipe.animation.tsx"],"sourcesContent":["import { isNil } from 'lodash-es';\nimport React from 'react';\nimport { Animated, Easing, View as RNView, ViewStyle, LayoutChangeEvent, LayoutRectangle, DimensionValue } from 'react-native';\nimport { Gesture, GestureDetector, GestureUpdateEvent } from 'react-native-gesture-handler';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class Handlers {\n bounds?: (g: GestureUpdateEvent<any>) => Bounds = null as any;\n onAnimation?: (g: GestureUpdateEvent<any>) => any = () => {};\n onLower?: (g: GestureUpdateEvent<any>) => any = () => {};\n onUpper?: (g: GestureUpdateEvent<any>) => any = () => {};\n computePhase?: (value: number) => number = null as any;\n}\n\nexport interface Bounds {\n upper?: number;\n center?: number;\n lower?: number;\n}\n\nexport class Props {\n threshold?: number = 30;\n direction?: 'horizontal' | 'vertical' = 'horizontal';\n handlers?: Handlers = {} as any;\n style?: ViewStyle = {} as any;\n children: any;\n enableGestures: any;\n slideWidth?: DimensionValue = '100%'; \n slideMinWidth?: DimensionValue = undefined; \n}\n\nexport class State {\n threshold = 30;\n isHorizontal = false;\n bounds: Bounds = {} as any;\n maxPosition = Number.MAX_VALUE;\n}\n\nexport class View extends React.Component<Props, State> {\n\n static defaultProps = new Props();\n\n private gesture = Gesture.Pan();\n private position = new Animated.Value(0);\n public animationPhase = new Animated.Value(0);\n private i18nService = injector.I18nService.get();\n private childrenLayout: LayoutRectangle[] = [];\n private viewLayout: LayoutRectangle = null as any;\n\n constructor(props: Props) {\n super(props);\n this.state = {\n isHorizontal: props.direction === 'horizontal',\n threshold: props.threshold || 30,\n bounds: {} as any\n } as State;\n var touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n this.gesture\n .maxPointers(1)\n .minDistance(this.state.threshold)\n .enabled(this.props.enableGestures && !isWebPreviewMode())\n .onTouchesDown((e, s) => {\n touchStart = {\n x: e.changedTouches[0].x,\n y: e.changedTouches[0].y,\n active: false\n };\n })\n .onTouchesMove((e, s) => {\n if (touchStart.active) {\n return;\n }\n const translationX = e.allTouches[0].x - touchStart.x;\n const translationY = e.allTouches[0].y - touchStart.y;\n const d = (this.state.isHorizontal ? translationX : translationY);\n const od = (this.state.isHorizontal ? translationY : translationX);\n if (Math.abs(d) >= this.state.threshold\n && Math.abs(od) < Math.tan((15 * Math.PI) / 180) * this.state.threshold) {\n touchStart.active = true;\n }\n })\n .onChange(e => {\n if (!touchStart.active) {\n return;\n }\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n const d = (this.state.isHorizontal ? e.translationX : e.translationY);\n let phase = this.computePhase(bounds?.center || 0);\n if (d && d < 0 && !isNil(bounds.center) && !isNil(bounds.lower)\n && bounds.center !== bounds.lower) {\n phase += (d / (bounds.center - bounds.lower)) || 0;\n } else if (d && d > 0 && !isNil(bounds.center) && !isNil(bounds.upper)\n && bounds.center !== bounds.upper) {\n phase += (d / (bounds.upper - bounds.center)) || 0;\n }\n this.animationPhase.setValue(phase);\n this.position.setValue(\n (this.isRTL()?-bounds?.center! :bounds?.center || 0) + d);\n })\n .onEnd(e => {\n if (!touchStart.active) {\n return;\n }\n touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n this.props.handlers?.onAnimation && \n this.props.handlers?.onAnimation(e);\n if (e.translationX < 0) {\n this.isRTL()?this.goToLower(e):this.goToUpper(e);\n } else if (e.translationX > 0) {\n this.isRTL()?this.goToUpper(e):this.goToLower(e);\n }\n })\n\n }\n\n computeMaxScroll() {\n let max = Number.MAX_VALUE;\n const childrenWidth = this.childrenLayout.reduce((s, v) => s + v.width, 0);\n const childrenHeight = this.childrenLayout.reduce((s, v) => s + v.height, 0);\n if (this.props.direction === 'horizontal') {\n if (childrenWidth && this.viewLayout?.width) {\n max = childrenWidth - this.viewLayout.width;\n }\n } else if (childrenHeight && this.viewLayout?.height) {\n max = childrenHeight - this.viewLayout.height;\n }\n this.setState({maxPosition: -1 * max});\n }\n\n setChildrenLayout(event: LayoutChangeEvent, index: number) {\n this.childrenLayout[index] = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n setViewLayout(event: LayoutChangeEvent) {\n this.viewLayout = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n computePhase(value: number) {\n return (this.props.handlers?.computePhase && \n this.props.handlers?.computePhase(value)) || 0;\n }\n\n isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n goToLower(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.lower)\n .then(() => {\n if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {\n this.props.handlers?.onLower && \n this.props.handlers?.onLower(e);\n }\n });\n }\n\n goToUpper(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.upper)\n .then(() => {\n if (!isNil(bounds.upper) && bounds.center !== bounds.upper) {\n this.props.handlers?.onUpper && \n this.props.handlers?.onUpper(e);\n }\n });\n }\n \n setPosition(value: number | undefined) {\n if (isNil(value)) {\n return Promise.reject();\n }\n let position = isNaN(this.state.maxPosition) ? value : Math.max(this.state.maxPosition, value);\n return new Promise((resolve) => {\n Animated.parallel([\n Animated.timing(this.animationPhase, {\n useNativeDriver: true,\n toValue: this.computePhase(value),\n duration: 200,\n easing: Easing.out(Easing.linear)\n }),\n Animated.timing(this.position, {\n useNativeDriver: true,\n toValue: (this.isRTL() ? -1: 1) * position,\n duration: 200,\n easing: Easing.out(Easing.linear)\n })\n ]).start(resolve);\n });\n }\n\n public render() {\n const isHorizontal = this.props.direction === 'horizontal';\n return (\n //@ts-ignore\n <GestureDetector gesture={this.gesture}>\n <Animated.View style={[\n isHorizontal ? {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n } : null,\n this.props.style, \n {\n transform: this.state.isHorizontal ? [{\n translateX: this.position\n }] : [{\n translateY: this.position\n }]\n }]} onLayout={this.setViewLayout.bind(this)}>\n {this.props.children.map((c: any, i: number) => {\n return (<RNView onLayout={(e) => this.setChildrenLayout(e, i)} key={c.key} \n style={[this.props.slideMinWidth ? {\n minWidth: this.props.slideMinWidth\n } : {\n width: this.props.slideWidth\n },\n this.props.style?.height === '100%' ? {\n height: '100%'\n } : null\n ]}>\n {c}\n </RNView>);\n })}\n </Animated.View>\n </GestureDetector>\n );\n }\n\n}"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.6.1-rc.5513",
3
+ "version": "11.6.1-rc.5518",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,11 +49,12 @@
49
49
  "@react-navigation/native": "6.1.7",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.6.1-rc.5513",
52
+ "@wavemaker/variables": "11.6.1-rc.5518",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
56
56
  "css-mediaquery": "^0.1.2",
57
+ "d3-shape": "^3.2.0",
57
58
  "expo-application": "^5.4.0",
58
59
  "expo-font": "11.4.0",
59
60
  "expo-linear-gradient": "12.3.0",
@@ -71,6 +72,7 @@
71
72
  "react-native-paper-dates": "^0.8.0",
72
73
  "react-native-reanimated": "3.3.0",
73
74
  "react-native-screens": "3.22.0",
75
+ "react-native-size-scaling": "^0.5.1",
74
76
  "react-native-snap-carousel": "3.9.1",
75
77
  "react-native-svg": "13.9.0",
76
78
  "react-native-web": "0.18.12",
@@ -129,7 +131,7 @@
129
131
  "typescript": "^5.1.3",
130
132
  "victory-native": "36.6.11",
131
133
  "yargs": "^16.2.0",
132
- "@wavemaker/variables": "11.6.1-rc.5513"
134
+ "@wavemaker/variables": "11.6.1-rc.5518"
133
135
  },
134
136
  "jest": {
135
137
  "preset": "react-native",
@@ -16,6 +16,7 @@ import EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';
16
16
  import { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';
17
17
  import StorageService from '@wavemaker/app-rn-runtime/core/storage.service';
18
18
  import ConstantService from '@wavemaker/app-rn-runtime/core/constant.service';
19
+ import NetworkService from '@wavemaker/app-rn-runtime/core/network.service';
19
20
  import injector from '@wavemaker/app-rn-runtime/core/injector';
20
21
  import formatters from '@wavemaker/app-rn-runtime/core/formatters';
21
22
  import { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
@@ -115,6 +116,7 @@ export default class BaseApp extends React.Component {
115
116
  _defineProperty(this, "lib", preparePatch(() => {
116
117
  this.refresh();
117
118
  }));
119
+ _defineProperty(this, "networkStatus", {});
118
120
  SplashScreen.preventAutoHideAsync();
119
121
  setTimeout(() => SplashScreen.hideAsync(), 10000);
120
122
  this.appConfig.app = this;
@@ -152,6 +154,12 @@ export default class BaseApp extends React.Component {
152
154
  refreshAfterWait = true;
153
155
  }
154
156
  };
157
+ this.cleanup.push(NetworkService.notifier.subscribe('onNetworkStateChange', networkState => {
158
+ this.networkStatus = {
159
+ ...networkState
160
+ };
161
+ this.refresh();
162
+ }));
155
163
  }
156
164
  subscribe(event, fn) {
157
165
  return this.eventNotifier.subscribe(event, fn);
@@ -165,10 +173,6 @@ export default class BaseApp extends React.Component {
165
173
  get activePage() {
166
174
  return this.appConfig.currentPage;
167
175
  }
168
- get Widgets() {
169
- var _this$commonPartial2;
170
- return (_this$commonPartial2 = this.commonPartial) === null || _this$commonPartial2 === void 0 ? void 0 : _this$commonPartial2.Widgets;
171
- }
172
176
  goToPage(pageName, params) {
173
177
  var _this$appConfig$curre2;
174
178
  return (_this$appConfig$curre2 = this.appConfig.currentPage) === null || _this$appConfig$curre2 === void 0 ? void 0 : _this$appConfig$curre2.goToPage(pageName, params);
@@ -442,7 +446,9 @@ export default class BaseApp extends React.Component {
442
446
  style: {
443
447
  flex: 1
444
448
  }
445
- }, /*#__PURE__*/React.createElement(StatusBar, null), /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
449
+ }, /*#__PURE__*/React.createElement(StatusBar, null), /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(ThemeProvider, {
450
+ value: _this2.appConfig.theme
451
+ }, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
446
452
  behavior: Platform.OS === "ios" ? "padding" : undefined,
447
453
  style: {
448
454
  flex: 1
@@ -456,9 +462,9 @@ export default class BaseApp extends React.Component {
456
462
  hideDrawer: ((_this2$appConfig$draw = _this2.appConfig.drawer) === null || _this2$appConfig$draw === void 0 ? void 0 : _this2$appConfig$draw.getContent()) === null,
457
463
  drawerContent: () => _this2.appConfig.drawer ? _this2.getProviders(_this2.appConfig.drawer.getContent()) : null,
458
464
  drawerAnimation: (_this2$appConfig$draw2 = _this2.appConfig.drawer) === null || _this2$appConfig$draw2 === void 0 ? void 0 : _this2$appConfig$draw2.getAnimation()
459
- }), commonPartial, _this2.renderToasters(), _this2.renderDialogs(), _this2.renderDisplayManager())), /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
465
+ }), commonPartial, _this2.renderToasters(), _this2.renderDialogs(), _this2.renderDisplayManager())), _this2.appConfig.url ? /*#__PURE__*/React.createElement(WmNetworkInfoToaster, {
460
466
  appLocale: _this2.appConfig.appLocale
461
- }))));
467
+ }) : null))));
462
468
  }))));
463
469
  }
464
470
  }