@wavemaker/app-rn-runtime 11.14.1-32.647748 → 11.14.1-33.647787

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 (184) hide show
  1. package/components/advanced/carousel/carousel.component.js +1 -1
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/advanced/webview/webview.component.js +1 -1
  4. package/components/advanced/webview/webview.component.js.map +1 -1
  5. package/components/basic/bottomsheet/bottomsheet.component.js +240 -33
  6. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  7. package/components/basic/bottomsheet/bottomsheet.styles.js +0 -3
  8. package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
  9. package/components/basic/label/label.component.js +13 -24
  10. package/components/basic/label/label.component.js.map +1 -1
  11. package/components/basic/label/label.props.js +1 -0
  12. package/components/basic/label/label.props.js.map +1 -1
  13. package/components/basic/progress-circle/progress-circle.component.js +3 -3
  14. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  15. package/components/chart/area-chart/area-chart.component.js +27 -10
  16. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  17. package/components/chart/bar-chart/bar-chart.component.js +39 -7
  18. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  19. package/components/chart/bar-chart/bar-chart.props.js +1 -0
  20. package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  21. package/components/chart/basechart.component.js +8 -15
  22. package/components/chart/basechart.component.js.map +1 -1
  23. package/components/chart/basechart.props.js +1 -0
  24. package/components/chart/basechart.props.js.map +1 -1
  25. package/components/chart/bubble-chart/bubble-chart.component.js +23 -6
  26. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  27. package/components/chart/line-chart/line-chart.component.js +22 -5
  28. package/components/chart/line-chart/line-chart.component.js.map +1 -1
  29. package/components/chart/pie-chart/pie-chart.component.js +15 -4
  30. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  31. package/components/chart/stack-chart/stack-chart.component.js +1 -1
  32. package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  33. package/components/container/accordion/accordionpane/accordionpane.component.js +6 -4
  34. package/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  35. package/components/container/container.component.js +207 -14
  36. package/components/container/container.component.js.map +1 -1
  37. package/components/container/container.props.js +6 -0
  38. package/components/container/container.props.js.map +1 -1
  39. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +32 -4
  40. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  41. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js +1 -0
  42. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js.map +1 -1
  43. package/components/container/panel/panel.component.js +1 -1
  44. package/components/container/panel/panel.component.js.map +1 -1
  45. package/components/container/tabs/tabpane/tabpane.component.js +1 -1
  46. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  47. package/components/container/tabs/tabs.component.js +62 -29
  48. package/components/container/tabs/tabs.component.js.map +1 -1
  49. package/components/container/tabs/tabs.props.js +1 -0
  50. package/components/container/tabs/tabs.props.js.map +1 -1
  51. package/components/container/wizard/wizard.component.js +3 -5
  52. package/components/container/wizard/wizard.component.js.map +1 -1
  53. package/components/container/wizard/wizard.props.js +0 -1
  54. package/components/container/wizard/wizard.props.js.map +1 -1
  55. package/components/container/wizard/wizard.styles.js +3 -1
  56. package/components/container/wizard/wizard.styles.js.map +1 -1
  57. package/components/container/wizard/wizardstep/wizardstep.component.js +4 -23
  58. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  59. package/components/container/wizard/wizardstep/wizardstep.props.js +0 -2
  60. package/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
  61. package/components/data/form/form-field/form-field.component.js +26 -1
  62. package/components/data/form/form-field/form-field.component.js.map +1 -1
  63. package/components/data/form/form-field/form-field.props.js +3 -0
  64. package/components/data/form/form-field/form-field.props.js.map +1 -1
  65. package/components/data/form/form.component.js +11 -3
  66. package/components/data/form/form.component.js.map +1 -1
  67. package/components/data/form/form.props.js +1 -0
  68. package/components/data/form/form.props.js.map +1 -1
  69. package/components/data/list/list.component.js +6 -3
  70. package/components/data/list/list.component.js.map +1 -1
  71. package/components/dialogs/dialog/dialog.component.js +1 -1
  72. package/components/dialogs/dialog/dialog.component.js.map +1 -1
  73. package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -2
  74. package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  75. package/components/input/baseinput/baseinput.component.js +30 -3
  76. package/components/input/baseinput/baseinput.component.js.map +1 -1
  77. package/components/input/baseinput/baseinput.props.js +1 -0
  78. package/components/input/baseinput/baseinput.props.js.map +1 -1
  79. package/components/input/basenumber/basenumber.component.js +18 -3
  80. package/components/input/basenumber/basenumber.component.js.map +1 -1
  81. package/components/input/basenumber/basenumber.props.js +2 -0
  82. package/components/input/basenumber/basenumber.props.js.map +1 -1
  83. package/components/input/calendar/calendar.component.js +5 -1
  84. package/components/input/calendar/calendar.component.js.map +1 -1
  85. package/components/input/calendar/views/month-view.js +8 -1
  86. package/components/input/calendar/views/month-view.js.map +1 -1
  87. package/components/input/checkboxset/checkboxset.component.js +2 -2
  88. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  89. package/components/input/currency/currency.component.js +2 -0
  90. package/components/input/currency/currency.component.js.map +1 -1
  91. package/components/input/currency/currency.styles.js +10 -1
  92. package/components/input/currency/currency.styles.js.map +1 -1
  93. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +6 -1
  94. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  95. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +6 -1
  96. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  97. package/components/input/number/number.component.js +2 -0
  98. package/components/input/number/number.component.js.map +1 -1
  99. package/components/input/number/number.styles.js +4 -0
  100. package/components/input/number/number.styles.js.map +1 -1
  101. package/components/input/radioset/radioset.component.js +4 -6
  102. package/components/input/radioset/radioset.component.js.map +1 -1
  103. package/components/input/text/text.component.js +13 -2
  104. package/components/input/text/text.component.js.map +1 -1
  105. package/components/input/text/text.props.js +1 -1
  106. package/components/input/text/text.props.js.map +1 -1
  107. package/components/input/text/text.styles.js +17 -0
  108. package/components/input/text/text.styles.js.map +1 -1
  109. package/components/input/textarea/textarea.component.js +3 -2
  110. package/components/input/textarea/textarea.component.js.map +1 -1
  111. package/components/input/textarea/textarea.styles.js +4 -0
  112. package/components/input/textarea/textarea.styles.js.map +1 -1
  113. package/components/page/left-panel/left-panel.component.js +1 -1
  114. package/components/page/left-panel/left-panel.component.js.map +1 -1
  115. package/components/page/page-content/page-content.component.js +157 -17
  116. package/components/page/page-content/page-content.component.js.map +1 -1
  117. package/components/page/page-content/page-content.props.js +4 -0
  118. package/components/page/page-content/page-content.props.js.map +1 -1
  119. package/components/page/page-content/pull-to-refresh.component.js +288 -0
  120. package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
  121. package/core/AppConfig.js.map +1 -1
  122. package/core/base.component.js +37 -5
  123. package/core/base.component.js.map +1 -1
  124. package/core/components/error-fallback/error-fallback.component.js +18 -50
  125. package/core/components/error-fallback/error-fallback.component.js.map +1 -1
  126. package/core/components/error-fallback/error-fallback.styles.js +1 -4
  127. package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
  128. package/core/components/textinput.component.js +27 -8
  129. package/core/components/textinput.component.js.map +1 -1
  130. package/core/environment.js +25 -0
  131. package/core/environment.js.map +1 -0
  132. package/core/error-boundary.component.js +2 -46
  133. package/core/error-boundary.component.js.map +1 -1
  134. package/core/fixed-view.component.js +19 -2
  135. package/core/fixed-view.component.js.map +1 -1
  136. package/core/sticky-wrapper.js +37 -34
  137. package/core/sticky-wrapper.js.map +1 -1
  138. package/core/tappable.component.js +110 -16
  139. package/core/tappable.component.js.map +1 -1
  140. package/core/viewport.js +13 -8
  141. package/core/viewport.js.map +1 -1
  142. package/gestures/carousel-swipe.animation.js +1 -1
  143. package/gestures/carousel-swipe.animation.js.map +1 -1
  144. package/npm-shrinkwrap.json +383 -219
  145. package/package-lock.json +383 -219
  146. package/package.json +5 -6
  147. package/runtime/App.js +31 -181
  148. package/runtime/App.js.map +1 -1
  149. package/runtime/App.navigator.js +1 -4
  150. package/runtime/App.navigator.js.map +1 -1
  151. package/runtime/base-fragment.component.js +29 -5
  152. package/runtime/base-fragment.component.js.map +1 -1
  153. package/runtime/base-page.component.js +4 -12
  154. package/runtime/base-page.component.js.map +1 -1
  155. package/runtime/navigator/drawer.navigator.js +2 -0
  156. package/runtime/navigator/drawer.navigator.js.map +1 -1
  157. package/runtime/navigator/stack.navigator.js +17 -2
  158. package/runtime/navigator/stack.navigator.js.map +1 -1
  159. package/runtime/services/app-security.service.js +19 -40
  160. package/runtime/services/app-security.service.js.map +1 -1
  161. package/runtime/services/device/scan-service.js +12 -34
  162. package/runtime/services/device/scan-service.js.map +1 -1
  163. package/runtime/services/webprocess.service.js +3 -8
  164. package/runtime/services/webprocess.service.js.map +1 -1
  165. package/styles/background.component.js +61 -2
  166. package/styles/background.component.js.map +1 -1
  167. package/styles/style-prop.validator.js +4 -0
  168. package/styles/style-prop.validator.js.map +1 -1
  169. package/styles/style-props.js +2 -0
  170. package/styles/style-props.js.map +1 -1
  171. package/styles/theme.js +27 -2
  172. package/styles/theme.js.map +1 -1
  173. package/styles/theme.variables.js +2 -0
  174. package/styles/theme.variables.js.map +1 -1
  175. package/core/advanced-promise-rejection-tracker.js +0 -207
  176. package/core/advanced-promise-rejection-tracker.js.map +0 -1
  177. package/core/global-error-handler.service.js +0 -177
  178. package/core/global-error-handler.service.js.map +0 -1
  179. package/runtime/services/browser.constants.js +0 -3
  180. package/runtime/services/browser.constants.js.map +0 -1
  181. package/runtime/services/browser.service.js +0 -321
  182. package/runtime/services/browser.service.js.map +0 -1
  183. package/runtime/services/external-auth-callback.service.js +0 -44
  184. package/runtime/services/external-auth-callback.service.js.map +0 -1
@@ -1,8 +1,9 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
1
2
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
5
  import React, { createRef } from 'react';
5
- import { KeyboardAvoidingView, Platform, View } from 'react-native';
6
+ import { KeyboardAvoidingView, Platform, View, RefreshControl, PanResponder } from 'react-native';
6
7
  import { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
7
8
  import { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';
8
9
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
@@ -13,11 +14,15 @@ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
13
14
  import Animated from 'react-native-reanimated';
14
15
  import { StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';
15
16
  import { isNumber } from 'lodash-es';
17
+ import injector from '@wavemaker/app-rn-runtime/core/injector';
18
+ import { WmPullToRefreshView, WmPullToRefreshScrollView, getSpinnerAspectRatio } from './pull-to-refresh.component';
16
19
  export class WmPageContentState extends BaseComponentState {
17
20
  constructor(...args) {
18
21
  super(...args);
19
22
  _defineProperty(this, "navHeightForRender", 0);
20
23
  _defineProperty(this, "bottomTabHeightForRender", 0);
24
+ _defineProperty(this, "refreshing", false);
25
+ _defineProperty(this, "spinnerAspectRatio", void 0);
21
26
  }
22
27
  }
23
28
  export default class WmPageContent extends BaseComponent {
@@ -25,6 +30,19 @@ export default class WmPageContent extends BaseComponent {
25
30
  super(props, DEFAULT_CLASS, new WmPageContentProps());
26
31
  _defineProperty(this, "scrollRef", void 0);
27
32
  _defineProperty(this, "_unsubscribeNavHeight", void 0);
33
+ _defineProperty(this, "_refreshTimeout", void 0);
34
+ _defineProperty(this, "isRefreshing", false);
35
+ _defineProperty(this, "handleHorizontalSwipeEnd", dx => {
36
+ if (dx <= -50) {
37
+ this.invokeEventCallback('onSwipeleft', [null, this.proxy]);
38
+ } else if (dx >= 50) {
39
+ this.invokeEventCallback('onSwiperight', [null, this.proxy]);
40
+ }
41
+ });
42
+ _defineProperty(this, "horizontalSwipeResponder", PanResponder.create({
43
+ onMoveShouldSetPanResponder: (e, gestureState) => !!(this.props.onSwipeleft || this.props.onSwiperight) && Math.abs(gestureState.dx) > Math.abs(gestureState.dy) && Math.abs(gestureState.dx) > 30,
44
+ onPanResponderRelease: (e, gestureState) => this.handleHorizontalSwipeEnd(gestureState.dx)
45
+ }));
28
46
  _defineProperty(this, "handleOnScrollEndDrag", event => {
29
47
  if (this.context) {
30
48
  var _event$nativeEvent;
@@ -43,6 +61,34 @@ export default class WmPageContent extends BaseComponent {
43
61
  }
44
62
  }
45
63
  });
64
+ _defineProperty(this, "handleRefresh", () => {
65
+ if (this.isRefreshing) return;
66
+ this.isRefreshing = true;
67
+ this.setState({
68
+ refreshing: true
69
+ });
70
+ const MIN_DURATION = 500;
71
+ const start = Date.now();
72
+ let result;
73
+ try {
74
+ result = this.invokeEventCallback('onPulltorefresh', [null, this.proxy]);
75
+ } catch (e) {
76
+ this.isRefreshing = false;
77
+ this.updateState({
78
+ refreshing: false
79
+ });
80
+ throw e;
81
+ }
82
+ Promise.resolve(result).catch(e => console.error(e)).finally(() => {
83
+ const wait = Math.max(0, MIN_DURATION - (Date.now() - start));
84
+ this._refreshTimeout = setTimeout(() => {
85
+ this.isRefreshing = false;
86
+ this.updateState({
87
+ refreshing: false
88
+ });
89
+ }, wait);
90
+ });
91
+ });
46
92
  _defineProperty(this, "handleScrollViewLayout", () => {
47
93
  requestAnimationFrame(() => {
48
94
  this.notify('updateStickyHeaders', []);
@@ -53,7 +99,8 @@ export default class WmPageContent extends BaseComponent {
53
99
  this.state = {
54
100
  ...this.state,
55
101
  navHeightForRender: 0,
56
- bottomTabHeightForRender: 0
102
+ bottomTabHeightForRender: 0,
103
+ refreshing: false
57
104
  };
58
105
  this.subscribe('scrollToPosition', args => {
59
106
  this.scrollTo(args);
@@ -91,10 +138,16 @@ export default class WmPageContent extends BaseComponent {
91
138
  bottomTabHeightForRender: this.context.bottomTabHeight.value
92
139
  });
93
140
  }
141
+ if (this.state.props.pulltorefresh && this.pulltorefreshsource) {
142
+ getSpinnerAspectRatio(this.loadAsset, this.pulltorefreshsource).then(ratio => ratio && this.updateState({
143
+ spinnerAspectRatio: ratio
144
+ }));
145
+ }
94
146
  }
95
147
  componentWillUnmount() {
96
148
  super.componentWillUnmount();
97
149
  if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();
150
+ if (this._refreshTimeout) clearTimeout(this._refreshTimeout);
98
151
  }
99
152
  scrollTo(position) {
100
153
  var _this$scrollRef2;
@@ -125,6 +178,14 @@ export default class WmPageContent extends BaseComponent {
125
178
  }
126
179
  return null;
127
180
  }
181
+ get pulltorefreshsource() {
182
+ var _injector$get;
183
+ return (_injector$get = injector.get('APP_CONFIG')) === null || _injector$get === void 0 ? void 0 : _injector$get.pulltorefreshsource;
184
+ }
185
+ get pulltorefreshclass() {
186
+ var _injector$get2;
187
+ return ((_injector$get2 = injector.get('APP_CONFIG')) === null || _injector$get2 === void 0 ? void 0 : _injector$get2.pulltorefreshclass) || '';
188
+ }
128
189
  renderWidget(props) {
129
190
  const showScrollbar = this.styles.root.scrollbarColor != 'transparent';
130
191
  const borderRadiusStyles = {
@@ -134,14 +195,14 @@ export default class WmPageContent extends BaseComponent {
134
195
  borderBottomLeftRadius: this.styles.root.borderBottomLeftRadius,
135
196
  borderBottomRightRadius: this.styles.root.borderBottomRightRadius
136
197
  };
137
- return props.scrollable || isWebPreviewMode() ? /*#__PURE__*/React.createElement(View, {
198
+ return props.scrollable || isWebPreviewMode() ? /*#__PURE__*/React.createElement(View, _extends({
138
199
  style: {
139
200
  height: '100%',
140
201
  width: '100%',
141
202
  ...borderRadiusStyles,
142
203
  backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor
143
204
  }
144
- }, this._background, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
205
+ }, this.horizontalSwipeResponder.panHandlers), this._background, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
145
206
  top: 0,
146
207
  bottom: 0,
147
208
  left: 0,
@@ -156,16 +217,9 @@ export default class WmPageContent extends BaseComponent {
156
217
  const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;
157
218
  const navHeightVal = this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav' ? this.state.navHeightForRender : 0;
158
219
  const bottomTabHeightVal = this.props.onscroll == 'topnav-bottomnav' ? this.state.bottomTabHeightForRender : 0;
159
- return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
160
- behavior: Platform.OS === 'ios' ? 'padding' : undefined,
161
- keyboardVerticalOffset: verticalOffset,
162
- style: {
163
- flex: 1
164
- }
165
- }, /*#__PURE__*/React.createElement(Animated.ScrollView, {
220
+ const scrollViewProps = {
166
221
  keyboardShouldPersistTaps: props.keyboardpersisttaps,
167
222
  testID: this.getTestId("page_content_scrollview"),
168
- ref: this.scrollRef,
169
223
  contentContainerStyle: [this.styles.root, {
170
224
  backgroundColor: 'transparent',
171
225
  paddingTop: navHeightVal + paddingTopVal,
@@ -173,19 +227,105 @@ export default class WmPageContent extends BaseComponent {
173
227
  }],
174
228
  onLayout: this.handleScrollViewLayout,
175
229
  showsVerticalScrollIndicator: showScrollbar,
176
- onScroll: this.context && this.context.onScroll ? this.context.onScroll : () => {},
177
230
  alwaysBounceVertical: false,
178
231
  alwaysBounceHorizontal: false,
179
232
  bounces: false,
180
- overScrollMode: "never",
233
+ overScrollMode: 'never',
181
234
  removeClippedSubviews: Platform.OS == 'android',
182
235
  onScrollEndDrag: this.handleOnScrollEndDrag
183
- }, props.children));
184
- })) : /*#__PURE__*/React.createElement(View, {
236
+ };
237
+ const onScroll = this.context && this.context.onScroll ? this.context.onScroll : () => {};
238
+ const withKeyboardAvoidingView = content => /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
239
+ behavior: Platform.OS === 'ios' ? 'padding' : undefined,
240
+ keyboardVerticalOffset: verticalOffset,
241
+ style: {
242
+ flex: 1
243
+ }
244
+ }, content);
245
+ if (!props.pulltorefresh) {
246
+ return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, scrollViewProps, {
247
+ ref: this.scrollRef,
248
+ onScroll: onScroll
249
+ }), props.children));
250
+ }
251
+ const refreshScrollViewProps = {
252
+ ...scrollViewProps,
253
+ alwaysBounceVertical: true,
254
+ bounces: true,
255
+ overScrollMode: 'auto'
256
+ };
257
+ const useLottieSpinner = !!this.pulltorefreshsource && (Platform.OS === 'ios' || Platform.OS === 'android');
258
+ if (!useLottieSpinner) {
259
+ const isIOS = Platform.OS === 'ios';
260
+ return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, refreshScrollViewProps, {
261
+ ref: this.scrollRef,
262
+ onScroll: onScroll,
263
+ contentContainerStyle: [scrollViewProps.contentContainerStyle, isIOS && {
264
+ paddingTop: paddingTopVal
265
+ }],
266
+ contentInset: isIOS ? {
267
+ top: navHeightVal
268
+ } : undefined,
269
+ contentOffset: isIOS ? {
270
+ x: 0,
271
+ y: -navHeightVal
272
+ } : undefined,
273
+ refreshControl: /*#__PURE__*/React.createElement(RefreshControl, {
274
+ refreshing: this.state.refreshing,
275
+ onRefresh: this.handleRefresh,
276
+ progressViewOffset: Platform.OS === 'android' ? navHeightVal : undefined
277
+ })
278
+ }), props.children));
279
+ }
280
+ const lottieScrollViewProps = {
281
+ ...refreshScrollViewProps,
282
+ style: {
283
+ flex: 1,
284
+ width: '100%'
285
+ }
286
+ };
287
+ const topOffset = navHeightVal + paddingTopVal;
288
+ const spinner = /*#__PURE__*/React.createElement(WmLottie, {
289
+ show: true,
290
+ source: this.pulltorefreshsource,
291
+ loop: true,
292
+ speed: 1,
293
+ autoplay: true,
294
+ classname: this.pulltorefreshclass
295
+ });
296
+ if (Platform.OS === 'ios') {
297
+ var _this$context;
298
+ return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(WmPullToRefreshScrollView, {
299
+ ref: this.scrollRef,
300
+ scrollViewProps: lottieScrollViewProps,
301
+ refreshing: this.state.refreshing,
302
+ onRefresh: this.handleRefresh,
303
+ stickyOnScrollWorklet: (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.onScrollWorklet,
304
+ topOffset: topOffset,
305
+ spinner: spinner,
306
+ spinnerAspectRatio: this.state.spinnerAspectRatio
307
+ }, props.children));
308
+ }
309
+ return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(WmPullToRefreshView, {
310
+ style: {
311
+ flex: 1,
312
+ flexDirection: 'column',
313
+ width: '100%'
314
+ },
315
+ spinner: spinner,
316
+ refreshing: this.state.refreshing,
317
+ onRefresh: this.handleRefresh,
318
+ topOffset: topOffset,
319
+ spinnerAspectRatio: this.state.spinnerAspectRatio
320
+ }, /*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, lottieScrollViewProps, {
321
+ ref: this.scrollRef,
322
+ onScroll: onScroll
323
+ }), props.children)));
324
+ })) : /*#__PURE__*/React.createElement(View, _extends({
185
325
  style: [this.styles.root, {
186
326
  backgroundColor: this._showSkeleton ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor
187
327
  }]
188
- }, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
328
+ }, this.horizontalSwipeResponder.panHandlers), /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
189
329
  top: 0,
190
330
  bottom: 0,
191
331
  left: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","WmLottie","SafeAreaInsetsContext","Animated","StickyWrapperContext","isNumber","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","event","context","_event$nativeEvent","onScrollEndDrag","scrollDirection","scrollPosition","nativeEvent","contentOffset","y","value","invokeEventCallback","proxy","scrollRef","requestAnimationFrame","notify","hideMode","DONOT_ADD_TO_DOM","state","navHeightForRender","bottomTabHeightForRender","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","componentDidMount","_unsubscribeNavHeight","navHeightValue","setState","navHeight","bottomTabHeightValue","bottomTabHeight","componentWillUnmount","position","_this$scrollRef2","x","animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","borderRadiusStyles","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","_this$styles","_this$styles2","_this$styles3","_this$styles4","keyboardOffset","consumenotch","verticalOffset","OS","keyboardverticaloffset","paddingTop","padding","paddingBottom","paddingTopVal","paddingBottomVal","navHeightVal","onscroll","bottomTabHeightVal","behavior","undefined","keyboardVerticalOffset","flex","ScrollView","keyboardShouldPersistTaps","keyboardpersisttaps","testID","getTestId","ref","contentContainerStyle","onLayout","handleScrollViewLayout","showsVerticalScrollIndicator","onScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","overScrollMode","removeClippedSubviews","handleOnScrollEndDrag","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject, useEffect, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, View } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport Animated from 'react-native-reanimated';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { isNumber } from 'lodash-es';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n navHeightForRender = 0;\n bottomTabHeightForRender = 0;\n}\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n static contextType = StickyWrapperContext;\n private _unsubscribeNavHeight : any;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n \n this.state = {\n ...this.state,\n navHeightForRender: 0,\n bottomTabHeightForRender: 0,\n };\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current?.scrollToEnd();\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n this._unsubscribeNavHeight = this.subscribe('updateNavHeight', (navHeightValue: number) => {\n if (this.state.navHeightForRender !== navHeightValue) {\n this.setState({ navHeightForRender: navHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).navHeight) {\n this.setState({ navHeightForRender: (this.context as StickyWrapperContextType).navHeight.value });\n }\n\n this._unsubscribeNavHeight = this.subscribe('updateBottomTabHeight', (bottomTabHeightValue: number) => {\n if (this.state.bottomTabHeightForRender !== bottomTabHeightValue) {\n this.setState({ bottomTabHeightForRender: bottomTabHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).bottomTabHeight) {\n this.setState({ bottomTabHeightForRender: (this.context as StickyWrapperContextType).bottomTabHeight.value });\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n animated: true\n });\n }\n\n private handleOnScrollEndDrag = (event: any) => {\n if(this.context) {\n const { onScrollEndDrag, scrollDirection } = this.context as StickyWrapperContextType;\n const scrollPosition = event?.nativeEvent?.contentOffset?.y;\n if (scrollPosition >= 0) {\n if(scrollDirection.value > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n }else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n onScrollEndDrag(this.scrollRef);\n }\n }\n }\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n }\n\n private handleScrollViewLayout = () => {\n requestAnimationFrame(() => {\n this.notify('updateStickyHeaders', []);\n });\n }\n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n const borderRadiusStyles = {\n borderRadius: this.styles.root.borderRadius,\n borderTopLeftRadius: this.styles.root.borderTopLeftRadius,\n borderTopRightRadius: this.styles.root.borderTopRightRadius,\n borderBottomLeftRadius: this.styles.root.borderBottomLeftRadius,\n borderBottomRightRadius: this.styles.root.borderBottomRightRadius,\n };\n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%',\n ...borderRadiusStyles,\n backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor\n \n }}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n const paddingTop = this.styles?.root?.paddingTop || this.styles?.root?.padding;\n const paddingBottom = this.styles?.root?.paddingBottom || this.styles?.root?.padding;\n const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;\n const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;\n const navHeightVal = (this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav') ? this.state.navHeightForRender : 0;\n const bottomTabHeightVal = this.props.onscroll == 'topnav-bottomnav' ? this.state.bottomTabHeightForRender : 0;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <Animated.ScrollView\n keyboardShouldPersistTaps={props.keyboardpersisttaps}\n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[\n this.styles.root, {backgroundColor: 'transparent', \n paddingTop: navHeightVal + paddingTopVal, \n paddingBottom: bottomTabHeightVal + paddingBottomVal\n }\n ]}\n onLayout={this.handleScrollViewLayout}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.context && (this.context as StickyWrapperContextType).onScroll ? \n (this.context as StickyWrapperContextType).onScroll \n : ()=>{}\n }\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n overScrollMode=\"never\"\n removeClippedSubviews={Platform.OS == 'android'}\n onScrollEndDrag={this.handleOnScrollEndDrag}\n >\n {props.children}\n </Animated.ScrollView>\n </KeyboardAvoidingView>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","RefreshControl","PanResponder","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","WmLottie","SafeAreaInsetsContext","Animated","StickyWrapperContext","isNumber","injector","WmPullToRefreshView","WmPullToRefreshScrollView","getSpinnerAspectRatio","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","dx","invokeEventCallback","proxy","create","onMoveShouldSetPanResponder","e","gestureState","onSwipeleft","onSwiperight","Math","abs","dy","onPanResponderRelease","handleHorizontalSwipeEnd","event","context","_event$nativeEvent","onScrollEndDrag","scrollDirection","scrollPosition","nativeEvent","contentOffset","y","value","scrollRef","isRefreshing","setState","refreshing","MIN_DURATION","start","Date","now","result","updateState","Promise","resolve","catch","console","error","finally","wait","max","_refreshTimeout","setTimeout","requestAnimationFrame","notify","hideMode","DONOT_ADD_TO_DOM","state","navHeightForRender","bottomTabHeightForRender","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","componentDidMount","_unsubscribeNavHeight","navHeightValue","navHeight","bottomTabHeightValue","bottomTabHeight","pulltorefresh","pulltorefreshsource","loadAsset","then","ratio","spinnerAspectRatio","componentWillUnmount","clearTimeout","position","_this$scrollRef2","x","animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","_injector$get","get","pulltorefreshclass","_injector$get2","renderWidget","showScrollbar","scrollbarColor","borderRadiusStyles","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","scrollable","_extends","height","backgroundColor","_showSkeleton","horizontalSwipeResponder","panHandlers","_background","Consumer","insets","top","bottom","left","right","_this$styles","_this$styles2","_this$styles3","_this$styles4","keyboardOffset","consumenotch","verticalOffset","OS","keyboardverticaloffset","paddingTop","padding","paddingBottom","paddingTopVal","paddingBottomVal","navHeightVal","onscroll","bottomTabHeightVal","scrollViewProps","keyboardShouldPersistTaps","keyboardpersisttaps","testID","getTestId","contentContainerStyle","onLayout","handleScrollViewLayout","showsVerticalScrollIndicator","alwaysBounceVertical","alwaysBounceHorizontal","bounces","overScrollMode","removeClippedSubviews","handleOnScrollEndDrag","onScroll","withKeyboardAvoidingView","behavior","undefined","keyboardVerticalOffset","flex","ScrollView","ref","children","refreshScrollViewProps","useLottieSpinner","isIOS","contentInset","refreshControl","onRefresh","handleRefresh","progressViewOffset","lottieScrollViewProps","topOffset","spinner","show","classname","_this$context","stickyOnScrollWorklet","onScrollWorklet","flexDirection"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject, useEffect, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, View, RefreshControl, PanResponder } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport Animated from 'react-native-reanimated';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { isNumber } from 'lodash-es';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { WmPullToRefreshView, WmPullToRefreshScrollView, getSpinnerAspectRatio } from './pull-to-refresh.component';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n navHeightForRender = 0;\n bottomTabHeightForRender = 0;\n refreshing = false;\n spinnerAspectRatio?: number;\n}\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n static contextType = StickyWrapperContext;\n private _unsubscribeNavHeight : any;\n private _refreshTimeout: any;\n private isRefreshing = false;\n\n private handleHorizontalSwipeEnd = (dx: number) => {\n if (dx <= -50) {\n this.invokeEventCallback('onSwipeleft', [null, this.proxy]);\n } else if (dx >= 50) {\n this.invokeEventCallback('onSwiperight', [null, this.proxy]);\n }\n };\n\n private horizontalSwipeResponder = PanResponder.create({\n onMoveShouldSetPanResponder: (e, gestureState) =>\n !!(this.props.onSwipeleft || this.props.onSwiperight) &&\n Math.abs(gestureState.dx) > Math.abs(gestureState.dy) && Math.abs(gestureState.dx) > 30,\n onPanResponderRelease: (e, gestureState) => this.handleHorizontalSwipeEnd(gestureState.dx)\n });\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n \n this.state = {\n ...this.state,\n navHeightForRender: 0,\n bottomTabHeightForRender: 0,\n refreshing: false,\n };\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current?.scrollToEnd();\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n this._unsubscribeNavHeight = this.subscribe('updateNavHeight', (navHeightValue: number) => {\n if (this.state.navHeightForRender !== navHeightValue) {\n this.setState({ navHeightForRender: navHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).navHeight) {\n this.setState({ navHeightForRender: (this.context as StickyWrapperContextType).navHeight.value });\n }\n\n this._unsubscribeNavHeight = this.subscribe('updateBottomTabHeight', (bottomTabHeightValue: number) => {\n if (this.state.bottomTabHeightForRender !== bottomTabHeightValue) {\n this.setState({ bottomTabHeightForRender: bottomTabHeightValue });\n }\n return null;\n });\n if (this.context && (this.context as StickyWrapperContextType).bottomTabHeight) {\n this.setState({ bottomTabHeightForRender: (this.context as StickyWrapperContextType).bottomTabHeight.value });\n }\n\n if (this.state.props.pulltorefresh && this.pulltorefreshsource) {\n getSpinnerAspectRatio(this.loadAsset, this.pulltorefreshsource)\n .then((ratio) => ratio && this.updateState({ spinnerAspectRatio: ratio } as WmPageContentState));\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();\n if (this._refreshTimeout) clearTimeout(this._refreshTimeout);\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n animated: true\n });\n }\n\n private handleOnScrollEndDrag = (event: any) => {\n if(this.context) {\n const { onScrollEndDrag, scrollDirection } = this.context as StickyWrapperContextType;\n const scrollPosition = event?.nativeEvent?.contentOffset?.y;\n if (scrollPosition >= 0) {\n if(scrollDirection.value > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n }else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n onScrollEndDrag(this.scrollRef);\n }\n }\n }\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n }\n\n private handleRefresh = () => {\n if (this.isRefreshing) return;\n this.isRefreshing = true;\n this.setState({ refreshing: true });\n const MIN_DURATION = 500;\n const start = Date.now();\n let result;\n try {\n result = this.invokeEventCallback('onPulltorefresh', [null, this.proxy]);\n } catch (e) {\n this.isRefreshing = false;\n this.updateState({ refreshing: false } as WmPageContentState);\n throw e;\n }\n Promise.resolve(result)\n .catch((e) => console.error(e))\n .finally(() => {\n const wait = Math.max(0, MIN_DURATION - (Date.now() - start));\n this._refreshTimeout = setTimeout(() => {\n this.isRefreshing = false;\n this.updateState({ refreshing: false } as WmPageContentState);\n }, wait);\n });\n }\n\n private handleScrollViewLayout = () => {\n requestAnimationFrame(() => {\n this.notify('updateStickyHeaders', []);\n });\n }\n\n private get pulltorefreshsource(): string {\n return injector.get<AppConfig>('APP_CONFIG')?.pulltorefreshsource;\n }\n\n private get pulltorefreshclass(): string {\n return injector.get<AppConfig>('APP_CONFIG')?.pulltorefreshclass || '';\n }\n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n const borderRadiusStyles = {\n borderRadius: this.styles.root.borderRadius,\n borderTopLeftRadius: this.styles.root.borderTopLeftRadius,\n borderTopRightRadius: this.styles.root.borderTopRightRadius,\n borderBottomLeftRadius: this.styles.root.borderBottomLeftRadius,\n borderBottomRightRadius: this.styles.root.borderBottomRightRadius,\n };\n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%',\n ...borderRadiusStyles,\n backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor\n\n }}\n {...this.horizontalSwipeResponder.panHandlers}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n const paddingTop = this.styles?.root?.paddingTop || this.styles?.root?.padding;\n const paddingBottom = this.styles?.root?.paddingBottom || this.styles?.root?.padding;\n const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;\n const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;\n const navHeightVal = (this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav') ? this.state.navHeightForRender : 0;\n const bottomTabHeightVal = this.props.onscroll == 'topnav-bottomnav' ? this.state.bottomTabHeightForRender : 0;\n const scrollViewProps = {\n keyboardShouldPersistTaps: props.keyboardpersisttaps,\n testID: this.getTestId(\"page_content_scrollview\"),\n contentContainerStyle: [\n this.styles.root, {backgroundColor: 'transparent',\n paddingTop: navHeightVal + paddingTopVal,\n paddingBottom: bottomTabHeightVal + paddingBottomVal\n }\n ],\n onLayout: this.handleScrollViewLayout,\n showsVerticalScrollIndicator: showScrollbar,\n alwaysBounceVertical: false,\n alwaysBounceHorizontal: false,\n bounces: false,\n overScrollMode: 'never' as 'auto' | 'never',\n removeClippedSubviews: Platform.OS == 'android',\n onScrollEndDrag: this.handleOnScrollEndDrag,\n };\n const onScroll = this.context && (this.context as StickyWrapperContextType).onScroll ?\n (this.context as StickyWrapperContextType).onScroll\n : ()=>{};\n const withKeyboardAvoidingView = (content: React.ReactNode) => (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {content}\n </KeyboardAvoidingView>\n );\n\n if (!props.pulltorefresh) {\n return withKeyboardAvoidingView(\n <Animated.ScrollView {...scrollViewProps} ref={this.scrollRef} onScroll={onScroll}>\n {props.children}\n </Animated.ScrollView>\n );\n }\n\n const refreshScrollViewProps = { ...scrollViewProps, alwaysBounceVertical: true, bounces: true, overScrollMode: 'auto' as const };\n const useLottieSpinner = !!this.pulltorefreshsource && (Platform.OS === 'ios' || Platform.OS === 'android');\n\n if (!useLottieSpinner) {\n const isIOS = Platform.OS === 'ios';\n return withKeyboardAvoidingView(\n <Animated.ScrollView\n {...refreshScrollViewProps}\n ref={this.scrollRef}\n onScroll={onScroll}\n contentContainerStyle={[scrollViewProps.contentContainerStyle, isIOS && { paddingTop: paddingTopVal }]}\n contentInset={isIOS ? { top: navHeightVal } : undefined}\n contentOffset={isIOS ? { x: 0, y: -navHeightVal } : undefined}\n refreshControl={\n <RefreshControl\n refreshing={this.state.refreshing}\n onRefresh={this.handleRefresh}\n progressViewOffset={Platform.OS === 'android' ? navHeightVal : undefined}\n />\n }\n >\n {props.children}\n </Animated.ScrollView>\n );\n }\n\n const lottieScrollViewProps = { ...refreshScrollViewProps, style: { flex: 1, width: '100%' as const } };\n const topOffset = navHeightVal + paddingTopVal;\n const spinner = (\n <WmLottie show={true} source={this.pulltorefreshsource} loop={true} speed={1} autoplay={true} classname={this.pulltorefreshclass} />\n );\n\n if (Platform.OS === 'ios') {\n return withKeyboardAvoidingView(\n <WmPullToRefreshScrollView\n ref={this.scrollRef}\n scrollViewProps={lottieScrollViewProps}\n refreshing={this.state.refreshing}\n onRefresh={this.handleRefresh}\n stickyOnScrollWorklet={(this.context as StickyWrapperContextType)?.onScrollWorklet}\n topOffset={topOffset}\n spinner={spinner}\n spinnerAspectRatio={this.state.spinnerAspectRatio}\n >\n {props.children}\n </WmPullToRefreshScrollView>\n );\n }\n\n return withKeyboardAvoidingView(\n <WmPullToRefreshView\n style={{ flex: 1, flexDirection: 'column', width: '100%' }}\n spinner={spinner}\n refreshing={this.state.refreshing}\n onRefresh={this.handleRefresh}\n topOffset={topOffset}\n spinnerAspectRatio={this.state.spinnerAspectRatio}\n >\n <Animated.ScrollView {...lottieScrollViewProps} ref={this.scrollRef} onScroll={onScroll}>\n {props.children}\n </Animated.ScrollView>\n </WmPullToRefreshView>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor :\n this.styles.root.backgroundColor}]}\n {...this.horizontalSwipeResponder.panHandlers}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,10 @@ export default class WmPageContentProps extends SkeletonAnimationProps {
13
13
  _defineProperty(this, "keyboardpersisttaps", 'never');
14
14
  _defineProperty(this, "consumenotch", true);
15
15
  _defineProperty(this, "onscroll", '');
16
+ _defineProperty(this, "pulltorefresh", false);
17
+ _defineProperty(this, "onPulltorefresh", void 0);
18
+ _defineProperty(this, "onSwipeleft", void 0);
19
+ _defineProperty(this, "onSwiperight", void 0);
16
20
  }
17
21
  }
18
22
  //# sourceMappingURL=page-content.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\n\nexport default class WmPageContentProps extends SkeletonAnimationProps {\n children: any[] = null as any;\n scrollable: boolean = true;\n onSwipeup?: Function = null as any; \n onSwipedown?: Function = null as any;\n keyboardverticaloffset: number = 100;\n keyboardpersisttaps: 'never'| 'always' | 'handled' = 'never';\n consumenotch: boolean = true;\n onscroll: string = '';\n}"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,2DAA2D;AAElG,eAAe,MAAMC,kBAAkB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACjD,IAAI;IAAAA,eAAA,qBACA,IAAI;IAAAA,eAAA,oBACH,IAAI;IAAAA,eAAA,sBACF,IAAI;IAAAA,eAAA,iCACI,GAAG;IAAAA,eAAA,8BACiB,OAAO;IAAAA,eAAA,uBACpC,IAAI;IAAAA,eAAA,mBACT,EAAE;EAAA;AACzB","ignoreList":[]}
1
+ {"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\nimport WmPageContent from './page-content.component';\n\nexport default class WmPageContentProps extends SkeletonAnimationProps {\n children: any[] = null as any;\n scrollable: boolean = true;\n onSwipeup?: Function = null as any; \n onSwipedown?: Function = null as any;\n keyboardverticaloffset: number = 100;\n keyboardpersisttaps: 'never'| 'always' | 'handled' = 'never';\n consumenotch: boolean = true;\n onscroll: string = '';\n pulltorefresh?: boolean = false;\n onPulltorefresh?: ($event: any, instance: WmPageContent) => any;\n onSwipeleft?: ($event: any, instance: WmPageContent) => any;\n onSwiperight?: ($event: any, instance: WmPageContent) => any;\n}"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,2DAA2D;AAGlG,eAAe,MAAMC,kBAAkB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACjD,IAAI;IAAAA,eAAA,qBACA,IAAI;IAAAA,eAAA,oBACH,IAAI;IAAAA,eAAA,sBACF,IAAI;IAAAA,eAAA,iCACI,GAAG;IAAAA,eAAA,8BACiB,OAAO;IAAAA,eAAA,uBACpC,IAAI;IAAAA,eAAA,mBACT,EAAE;IAAAA,eAAA,wBACK,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;EAAA;AAInC","ignoreList":[]}