@wavemaker-ai/app-rn-runtime 12.0.2-rc.344 → 12.1.0-rc.347

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 (71) hide show
  1. package/components/advanced/webview/webview.component.js +1 -1
  2. package/components/advanced/webview/webview.component.js.map +1 -1
  3. package/components/basic/bottomsheet/bottomsheet.component.js +1 -1
  4. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  5. package/components/basic/label/label.component.js +2 -2
  6. package/components/basic/label/label.component.js.map +1 -1
  7. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  8. package/components/container/tabs/tabheader/tabheader.component.js +10 -3
  9. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  10. package/components/data/form/form-field/form-field.component.js +5 -0
  11. package/components/data/form/form-field/form-field.component.js.map +1 -1
  12. package/components/data/form/form.component.js +12 -8
  13. package/components/data/form/form.component.js.map +1 -1
  14. package/components/data/list/list.component.js +5 -2
  15. package/components/data/list/list.component.js.map +1 -1
  16. package/components/dialogs/dialog/dialog.component.js +1 -1
  17. package/components/dialogs/dialog/dialog.component.js.map +1 -1
  18. package/components/input/chips/chips.component.js +1 -1
  19. package/components/input/chips/chips.component.js.map +1 -1
  20. package/components/input/chips/chips.props.js +1 -0
  21. package/components/input/chips/chips.props.js.map +1 -1
  22. package/components/input/textarea/textarea.component.js +1 -1
  23. package/components/input/textarea/textarea.component.js.map +1 -1
  24. package/components/page/page-content/page-content.component.js +152 -17
  25. package/components/page/page-content/page-content.component.js.map +1 -1
  26. package/components/page/page-content/page-content.props.js +5 -0
  27. package/components/page/page-content/page-content.props.js.map +1 -1
  28. package/components/page/page-content/pull-to-refresh.component.js +288 -0
  29. package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
  30. package/core/AppConfig.js.map +1 -1
  31. package/core/base.component.js +14 -0
  32. package/core/base.component.js.map +1 -1
  33. package/core/sticky-wrapper.js +37 -34
  34. package/core/sticky-wrapper.js.map +1 -1
  35. package/gestures/carousel-swipe.animation.js +1 -0
  36. package/gestures/carousel-swipe.animation.js.map +1 -1
  37. package/npm-shrinkwrap.json +1280 -565
  38. package/package-lock.json +1280 -565
  39. package/package.json +3 -3
  40. package/runtime/App.js +52 -36
  41. package/runtime/App.js.map +1 -1
  42. package/runtime/App.navigator.js +4 -1
  43. package/runtime/App.navigator.js.map +1 -1
  44. package/runtime/base-fragment.component.js +1 -0
  45. package/runtime/base-fragment.component.js.map +1 -1
  46. package/runtime/services/app-security.service.js +40 -19
  47. package/runtime/services/app-security.service.js.map +1 -1
  48. package/runtime/services/browser.constants.js +3 -0
  49. package/runtime/services/browser.constants.js.map +1 -0
  50. package/runtime/services/browser.service.js +321 -0
  51. package/runtime/services/browser.service.js.map +1 -0
  52. package/runtime/services/external-auth-callback.service.js +44 -0
  53. package/runtime/services/external-auth-callback.service.js.map +1 -0
  54. package/runtime/services/webprocess.service.js +8 -3
  55. package/runtime/services/webprocess.service.js.map +1 -1
  56. package/styles/background.component.js +61 -2
  57. package/styles/background.component.js.map +1 -1
  58. package/styles/style-prop.validator.js +4 -0
  59. package/styles/style-prop.validator.js.map +1 -1
  60. package/styles/style-props.js +2 -0
  61. package/styles/style-props.js.map +1 -1
  62. package/styles/theme.js +52 -11
  63. package/styles/theme.js.map +1 -1
  64. package/components-prism/basic/search/search.component.js +0 -208
  65. package/components-prism/basic/search/search.component.js.map +0 -1
  66. package/components-prism/basic/search/search.props.js +0 -16
  67. package/components-prism/basic/search/search.props.js.map +0 -1
  68. package/components-prism/basic/search/search.styles.js +0 -127
  69. package/components-prism/basic/search/search.styles.js.map +0 -1
  70. package/core/outside-press-handler.js +0 -65
  71. package/core/outside-press-handler.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-ai/app-rn-runtime/core/utils';
7
8
  import { HideMode } from '@wavemaker-ai/app-rn-runtime/core/if.component';
8
9
  import { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';
@@ -14,11 +15,15 @@ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
14
15
  import Animated from 'react-native-reanimated';
15
16
  import { StickyWrapperContext } from '@wavemaker-ai/app-rn-runtime/core/sticky-wrapper';
16
17
  import { isNumber } from 'lodash-es';
18
+ import injector from '@wavemaker-ai/app-rn-runtime/core/injector';
19
+ import { WmPullToRefreshView, WmPullToRefreshScrollView } from './pull-to-refresh.component';
17
20
  export class WmPageContentState extends BaseComponentState {
18
21
  constructor(...args) {
19
22
  super(...args);
20
23
  _defineProperty(this, "navHeightForRender", 0);
21
24
  _defineProperty(this, "bottomTabHeightForRender", 0);
25
+ _defineProperty(this, "refreshing", false);
26
+ _defineProperty(this, "spinnerAspectRatio", void 0);
22
27
  }
23
28
  }
24
29
  export default class WmPageContent extends BaseComponent {
@@ -26,6 +31,19 @@ export default class WmPageContent extends BaseComponent {
26
31
  super(props, DEFAULT_CLASS, new WmPageContentProps());
27
32
  _defineProperty(this, "scrollRef", void 0);
28
33
  _defineProperty(this, "_unsubscribeNavHeight", void 0);
34
+ _defineProperty(this, "_refreshTimeout", void 0);
35
+ _defineProperty(this, "isRefreshing", false);
36
+ _defineProperty(this, "handleHorizontalSwipeEnd", dx => {
37
+ if (dx <= -50) {
38
+ this.invokeEventCallback('onSwipeleft', [null, this.proxy]);
39
+ } else if (dx >= 50) {
40
+ this.invokeEventCallback('onSwiperight', [null, this.proxy]);
41
+ }
42
+ });
43
+ _defineProperty(this, "horizontalSwipeResponder", PanResponder.create({
44
+ onMoveShouldSetPanResponder: (e, gestureState) => !!(this.props.onSwipeleft || this.props.onSwiperight) && Math.abs(gestureState.dx) > Math.abs(gestureState.dy) && Math.abs(gestureState.dx) > 30,
45
+ onPanResponderRelease: (e, gestureState) => this.handleHorizontalSwipeEnd(gestureState.dx)
46
+ }));
29
47
  _defineProperty(this, "handleOnScrollEndDrag", event => {
30
48
  if (this.context) {
31
49
  var _event$nativeEvent;
@@ -44,6 +62,34 @@ export default class WmPageContent extends BaseComponent {
44
62
  }
45
63
  }
46
64
  });
65
+ _defineProperty(this, "handleRefresh", () => {
66
+ if (this.isRefreshing) return;
67
+ this.isRefreshing = true;
68
+ this.setState({
69
+ refreshing: true
70
+ });
71
+ const MIN_DURATION = 500;
72
+ const start = Date.now();
73
+ let result;
74
+ try {
75
+ result = this.invokeEventCallback('onPulltorefresh', [null, this.proxy]);
76
+ } catch (e) {
77
+ this.isRefreshing = false;
78
+ this.updateState({
79
+ refreshing: false
80
+ });
81
+ throw e;
82
+ }
83
+ Promise.resolve(result).catch(e => console.error(e)).finally(() => {
84
+ const wait = Math.max(0, MIN_DURATION - (Date.now() - start));
85
+ this._refreshTimeout = setTimeout(() => {
86
+ this.isRefreshing = false;
87
+ this.updateState({
88
+ refreshing: false
89
+ });
90
+ }, wait);
91
+ });
92
+ });
47
93
  _defineProperty(this, "handleScrollViewLayout", () => {
48
94
  requestAnimationFrame(() => {
49
95
  this.notify('updateStickyHeaders', []);
@@ -54,7 +100,8 @@ export default class WmPageContent extends BaseComponent {
54
100
  this.state = {
55
101
  ...this.state,
56
102
  navHeightForRender: 0,
57
- bottomTabHeightForRender: 0
103
+ bottomTabHeightForRender: 0,
104
+ refreshing: false
58
105
  };
59
106
  this.subscribe('scrollToPosition', args => {
60
107
  this.scrollTo(args);
@@ -99,6 +146,7 @@ export default class WmPageContent extends BaseComponent {
99
146
  componentWillUnmount() {
100
147
  super.componentWillUnmount();
101
148
  if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();
149
+ if (this._refreshTimeout) clearTimeout(this._refreshTimeout);
102
150
  }
103
151
  scrollTo(position) {
104
152
  var _this$scrollRef2;
@@ -129,6 +177,14 @@ export default class WmPageContent extends BaseComponent {
129
177
  }
130
178
  return null;
131
179
  }
180
+ get pulltorefreshsource() {
181
+ var _injector$get;
182
+ return (_injector$get = injector.get('APP_CONFIG')) === null || _injector$get === void 0 ? void 0 : _injector$get.pulltorefreshsource;
183
+ }
184
+ get pulltorefreshclass() {
185
+ var _injector$get2;
186
+ return ((_injector$get2 = injector.get('APP_CONFIG')) === null || _injector$get2 === void 0 ? void 0 : _injector$get2.pulltorefreshclass) || '';
187
+ }
132
188
  renderWidget(props) {
133
189
  const showScrollbar = this.styles.root.scrollbarColor != 'transparent';
134
190
  const borderRadiusStyles = {
@@ -141,14 +197,14 @@ export default class WmPageContent extends BaseComponent {
141
197
  const autoLayoutProps = extractAutoLayoutProps(props);
142
198
  const hasAutoLayout = isAutoLayout(autoLayoutProps);
143
199
  const autoLayoutStyles = hasAutoLayout ? [getDirectionStyle(autoLayoutProps), getContentContainerStyle(autoLayoutProps), getDimensionStyle(autoLayoutProps, this.styles.root)] : [];
144
- return props.overflow == "scroll" || isWebPreviewMode() ? /*#__PURE__*/React.createElement(View, {
200
+ return props.scrollable || isWebPreviewMode() ? /*#__PURE__*/React.createElement(View, _extends({
145
201
  style: {
146
202
  height: '100%',
147
203
  width: '100%',
148
204
  ...borderRadiusStyles,
149
205
  backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor
150
206
  }
151
- }, this._background, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
207
+ }, this.horizontalSwipeResponder.panHandlers), this._background, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
152
208
  top: 0,
153
209
  bottom: 0,
154
210
  left: 0,
@@ -163,16 +219,9 @@ export default class WmPageContent extends BaseComponent {
163
219
  const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;
164
220
  const navHeightVal = this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav' ? this.state.navHeightForRender : 0;
165
221
  const bottomTabHeightVal = this.props.onscroll == 'topnav-bottomnav' ? this.state.bottomTabHeightForRender : 0;
166
- return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
167
- behavior: Platform.OS === 'ios' ? 'padding' : undefined,
168
- keyboardVerticalOffset: verticalOffset,
169
- style: {
170
- flex: 1
171
- }
172
- }, /*#__PURE__*/React.createElement(Animated.ScrollView, {
222
+ const scrollViewProps = {
173
223
  keyboardShouldPersistTaps: props.keyboardpersisttaps,
174
224
  testID: this.getTestId("page_content_scrollview"),
175
- ref: this.scrollRef,
176
225
  contentContainerStyle: [this.styles.root, {
177
226
  backgroundColor: 'transparent',
178
227
  paddingTop: navHeightVal + paddingTopVal,
@@ -180,19 +229,105 @@ export default class WmPageContent extends BaseComponent {
180
229
  }, ...autoLayoutStyles],
181
230
  onLayout: this.handleScrollViewLayout,
182
231
  showsVerticalScrollIndicator: showScrollbar,
183
- onScroll: this.context && this.context.onScroll ? this.context.onScroll : () => {},
184
232
  alwaysBounceVertical: false,
185
233
  alwaysBounceHorizontal: false,
186
234
  bounces: false,
187
- overScrollMode: "never",
235
+ overScrollMode: 'never',
188
236
  removeClippedSubviews: Platform.OS == 'android',
189
237
  onScrollEndDrag: this.handleOnScrollEndDrag
190
- }, props.children));
191
- })) : /*#__PURE__*/React.createElement(View, {
238
+ };
239
+ const onScroll = this.context && this.context.onScroll ? this.context.onScroll : () => {};
240
+ const withKeyboardAvoidingView = content => /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
241
+ behavior: Platform.OS === 'ios' ? 'padding' : undefined,
242
+ keyboardVerticalOffset: verticalOffset,
243
+ style: {
244
+ flex: 1
245
+ }
246
+ }, content);
247
+ if (!props.pulltorefresh) {
248
+ return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, scrollViewProps, {
249
+ ref: this.scrollRef,
250
+ onScroll: onScroll
251
+ }), props.children));
252
+ }
253
+ const refreshScrollViewProps = {
254
+ ...scrollViewProps,
255
+ alwaysBounceVertical: true,
256
+ bounces: true,
257
+ overScrollMode: 'auto'
258
+ };
259
+ const useLottieSpinner = !!this.pulltorefreshsource && (Platform.OS === 'ios' || Platform.OS === 'android');
260
+ if (!useLottieSpinner) {
261
+ const isIOS = Platform.OS === 'ios';
262
+ return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, refreshScrollViewProps, {
263
+ ref: this.scrollRef,
264
+ onScroll: onScroll,
265
+ contentContainerStyle: [scrollViewProps.contentContainerStyle, isIOS && {
266
+ paddingTop: paddingTopVal
267
+ }],
268
+ contentInset: isIOS ? {
269
+ top: navHeightVal
270
+ } : undefined,
271
+ contentOffset: isIOS ? {
272
+ x: 0,
273
+ y: -navHeightVal
274
+ } : undefined,
275
+ refreshControl: /*#__PURE__*/React.createElement(RefreshControl, {
276
+ refreshing: this.state.refreshing,
277
+ onRefresh: this.handleRefresh,
278
+ progressViewOffset: Platform.OS === 'android' ? navHeightVal : undefined
279
+ })
280
+ }), props.children));
281
+ }
282
+ const lottieScrollViewProps = {
283
+ ...refreshScrollViewProps,
284
+ style: {
285
+ flex: 1,
286
+ width: '100%'
287
+ }
288
+ };
289
+ const topOffset = navHeightVal + paddingTopVal;
290
+ const spinner = /*#__PURE__*/React.createElement(WmLottie, {
291
+ show: true,
292
+ source: this.pulltorefreshsource,
293
+ loop: true,
294
+ speed: 1,
295
+ autoplay: true,
296
+ classname: this.pulltorefreshclass
297
+ });
298
+ if (Platform.OS === 'ios') {
299
+ var _this$context;
300
+ return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(WmPullToRefreshScrollView, {
301
+ ref: this.scrollRef,
302
+ scrollViewProps: lottieScrollViewProps,
303
+ refreshing: this.state.refreshing,
304
+ onRefresh: this.handleRefresh,
305
+ stickyOnScrollWorklet: (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.onScrollWorklet,
306
+ topOffset: topOffset,
307
+ spinner: spinner,
308
+ spinnerAspectRatio: this.state.spinnerAspectRatio
309
+ }, props.children));
310
+ }
311
+ return withKeyboardAvoidingView(/*#__PURE__*/React.createElement(WmPullToRefreshView, {
312
+ style: {
313
+ flex: 1,
314
+ flexDirection: 'column',
315
+ width: '100%'
316
+ },
317
+ spinner: spinner,
318
+ refreshing: this.state.refreshing,
319
+ onRefresh: this.handleRefresh,
320
+ topOffset: topOffset,
321
+ spinnerAspectRatio: this.state.spinnerAspectRatio
322
+ }, /*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, lottieScrollViewProps, {
323
+ ref: this.scrollRef,
324
+ onScroll: onScroll
325
+ }), props.children)));
326
+ })) : /*#__PURE__*/React.createElement(View, _extends({
192
327
  style: [this.styles.root, {
193
328
  backgroundColor: this._showSkeleton ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor
194
329
  }, ...autoLayoutStyles]
195
- }, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
330
+ }, this.horizontalSwipeResponder.panHandlers), /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
196
331
  top: 0,
197
332
  bottom: 0,
198
333
  left: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","extractAutoLayoutProps","getContentContainerStyle","getDirectionStyle","getDimensionStyle","isAutoLayout","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","hasOwnFillHugResolution","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","autoLayoutProps","hasAutoLayout","autoLayoutStyles","overflow","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-ai/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker-ai/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport {extractAutoLayoutProps, getContentContainerStyle, getDirectionStyle, getDimensionStyle, isAutoLayout} from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport WmLottie from '@wavemaker-ai/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-ai/app-rn-runtime/core/sticky-wrapper';\nimport { isNumber } from 'lodash-es';\nimport WmOfflineBanner from '@wavemaker-ai/app-rn-runtime/components/advanced/offline-banner/offline-banner.component';\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 protected hasOwnFillHugResolution(): boolean {\n return isAutoLayout(extractAutoLayoutProps(this.state.props));\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\n const autoLayoutProps = extractAutoLayoutProps(props);\n const hasAutoLayout = isAutoLayout(autoLayoutProps);\n const autoLayoutStyles = hasAutoLayout ? [\n getDirectionStyle(autoLayoutProps),\n getContentContainerStyle(autoLayoutProps),\n getDimensionStyle(autoLayoutProps, this.styles.root),\n ] : [];\n\n return (props.overflow == \"scroll\" || 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 ...autoLayoutStyles,\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 ...autoLayoutStyles,\n ]}>\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}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","RefreshControl","PanResponder","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","extractAutoLayoutProps","getContentContainerStyle","getDirectionStyle","getDimensionStyle","isAutoLayout","WmPageContentProps","DEFAULT_CLASS","WmLottie","SafeAreaInsetsContext","Animated","StickyWrapperContext","isNumber","injector","WmPullToRefreshView","WmPullToRefreshScrollView","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","hasOwnFillHugResolution","componentWillUnmount","clearTimeout","position","_this$scrollRef2","x","animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","pulltorefreshsource","_injector$get","get","pulltorefreshclass","_injector$get2","renderWidget","showScrollbar","scrollbarColor","borderRadiusStyles","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","autoLayoutProps","hasAutoLayout","autoLayoutStyles","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","pulltorefresh","ScrollView","ref","children","refreshScrollViewProps","useLottieSpinner","isIOS","contentInset","refreshControl","onRefresh","handleRefresh","progressViewOffset","lottieScrollViewProps","topOffset","spinner","show","classname","_this$context","stickyOnScrollWorklet","onScrollWorklet","spinnerAspectRatio","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-ai/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker-ai/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport {extractAutoLayoutProps, getContentContainerStyle, getDirectionStyle, getDimensionStyle, isAutoLayout} from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport WmLottie from '@wavemaker-ai/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-ai/app-rn-runtime/core/sticky-wrapper';\nimport { isNumber } from 'lodash-es';\nimport WmOfflineBanner from '@wavemaker-ai/app-rn-runtime/components/advanced/offline-banner/offline-banner.component';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/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\n protected hasOwnFillHugResolution(): boolean {\n return isAutoLayout(extractAutoLayoutProps(this.state.props));\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\n const autoLayoutProps = extractAutoLayoutProps(props);\n const hasAutoLayout = isAutoLayout(autoLayoutProps);\n const autoLayoutStyles = hasAutoLayout ? [\n getDirectionStyle(autoLayoutProps),\n getContentContainerStyle(autoLayoutProps),\n getDimensionStyle(autoLayoutProps, this.styles.root),\n ] : [];\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 ...autoLayoutStyles,\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}, ...autoLayoutStyles]}\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}\n"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ class WmPageContentProps extends SkeletonAnimationProps {
6
6
  constructor(...args) {
7
7
  super(...args);
8
8
  _defineProperty(this, "children", null);
9
+ _defineProperty(this, "scrollable", true);
9
10
  _defineProperty(this, "onSwipeup", null);
10
11
  _defineProperty(this, "onSwipedown", null);
11
12
  _defineProperty(this, "keyboardverticaloffset", 100);
@@ -16,6 +17,10 @@ class WmPageContentProps extends SkeletonAnimationProps {
16
17
  _defineProperty(this, "overflow", 'scroll');
17
18
  /** Network connectivity state passed from parent fragment */
18
19
  _defineProperty(this, "isconnected", true);
20
+ _defineProperty(this, "pulltorefresh", false);
21
+ _defineProperty(this, "onPulltorefresh", void 0);
22
+ _defineProperty(this, "onSwipeleft", void 0);
23
+ _defineProperty(this, "onSwiperight", void 0);
19
24
  }
20
25
  }
21
26
  export default WmPageContentProps;
@@ -1 +1 @@
1
- {"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker-ai/app-rn-runtime/runtime/base-fragment.component';\nimport { AutoLayoutProps } from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\n\ninterface WmPageContentProps extends AutoLayoutProps {}\n\nclass WmPageContentProps extends SkeletonAnimationProps {\n children: any[] = null as any;\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 clipcontent = true;\n overflow: AutoLayoutProps['overflow'] = 'scroll';\n /** Network connectivity state passed from parent fragment */\n isconnected?: boolean = true;\n}\nexport default WmPageContentProps;"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,8DAA8D;AAKrG,MAAMC,kBAAkB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBAClC,IAAI;IAAAA,eAAA,oBACC,IAAI;IAAAA,eAAA,sBACF,IAAI;IAAAA,eAAA,iCACI,GAAG;IAAAA,eAAA,8BACiB,OAAO;IAAAA,eAAA,uBACpC,IAAI;IAAAA,eAAA,mBACT,EAAE;IAAAA,eAAA,sBACP,IAAI;IAAAA,eAAA,mBACsB,QAAQ;IAChD;IAAAA,eAAA,sBACwB,IAAI;EAAA;AAChC;AACA,eAAeH,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker-ai/app-rn-runtime/runtime/base-fragment.component';\nimport { AutoLayoutProps } from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\nimport WmPageContent from './page-content.component';\n\ninterface WmPageContentProps extends AutoLayoutProps {}\n\nclass 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 clipcontent = true;\n overflow: AutoLayoutProps['overflow'] = 'scroll';\n /** Network connectivity state passed from parent fragment */\n isconnected?: boolean = true;\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}\nexport default WmPageContentProps;\n"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,8DAA8D;AAMrG,MAAMC,kBAAkB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBAClC,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,sBACP,IAAI;IAAAA,eAAA,mBACsB,QAAQ;IAChD;IAAAA,eAAA,sBACwB,IAAI;IAAAA,eAAA,wBACF,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;EAAA;AAInC;AACA,eAAeH,kBAAkB","ignoreList":[]}