@wavemaker/app-rn-runtime 11.11.7-rc.218 → 11.12.0-next.28188

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 (210) hide show
  1. package/components/advanced/carousel/carousel.component.js +4 -2
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/basic/anchor/anchor.component.js +11 -5
  4. package/components/basic/anchor/anchor.component.js.map +1 -1
  5. package/components/basic/anchor/anchor.props.js +1 -0
  6. package/components/basic/anchor/anchor.props.js.map +1 -1
  7. package/components/basic/audio/audio.component.js +52 -47
  8. package/components/basic/audio/audio.component.js.map +1 -1
  9. package/components/basic/bottomsheet/bottomsheet.component.js +94 -48
  10. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  11. package/components/basic/bottomsheet/bottomsheet.props.js +1 -0
  12. package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
  13. package/components/basic/button/button.component.js +2 -1
  14. package/components/basic/button/button.component.js.map +1 -1
  15. package/components/basic/button/button.props.js +1 -0
  16. package/components/basic/button/button.props.js.map +1 -1
  17. package/components/basic/label/label.component.js.map +1 -1
  18. package/components/basic/label/label.props.js +1 -0
  19. package/components/basic/label/label.props.js.map +1 -1
  20. package/components/basic/message/message.component.js +15 -7
  21. package/components/basic/message/message.component.js.map +1 -1
  22. package/components/basic/message/message.props.js +1 -0
  23. package/components/basic/message/message.props.js.map +1 -1
  24. package/components/basic/picture/picture.component.js +2 -2
  25. package/components/basic/picture/picture.component.js.map +1 -1
  26. package/components/basic/video/video.component.js +69 -42
  27. package/components/basic/video/video.component.js.map +1 -1
  28. package/components/chart/basechart.props.js +1 -0
  29. package/components/chart/basechart.props.js.map +1 -1
  30. package/components/container/container.component.js +107 -27
  31. package/components/container/container.component.js.map +1 -1
  32. package/components/container/container.props.js +3 -1
  33. package/components/container/container.props.js.map +1 -1
  34. package/components/container/container.styles.js +1 -3
  35. package/components/container/container.styles.js.map +1 -1
  36. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +6 -1
  37. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  38. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -2
  39. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  40. package/components/container/tabs/tabheader/tabheader.component.js +11 -2
  41. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  42. package/components/container/tabs/tabheader/tabheader.props.js +1 -0
  43. package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  44. package/components/container/tabs/tabpane/tabpane.props.js +3 -0
  45. package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  46. package/components/container/tabs/tabs.component.js +11 -2
  47. package/components/container/tabs/tabs.component.js.map +1 -1
  48. package/components/container/wizard/wizard.component.js +1 -0
  49. package/components/container/wizard/wizard.component.js.map +1 -1
  50. package/components/data/list/list.component.js +23 -13
  51. package/components/data/list/list.component.js.map +1 -1
  52. package/components/device/barcodescanner/barcodescanner.component.js +33 -18
  53. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  54. package/components/device/barcodescanner/barcodescanner.props.js +2 -1
  55. package/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
  56. package/components/device/camera/camera.component.js +35 -22
  57. package/components/device/camera/camera.component.js.map +1 -1
  58. package/components/device/camera/camera.props.js +2 -1
  59. package/components/device/camera/camera.props.js.map +1 -1
  60. package/components/input/basedataset/basedataset.props.js +1 -0
  61. package/components/input/basedataset/basedataset.props.js.map +1 -1
  62. package/components/input/calendar/calendar.component.js +12 -4
  63. package/components/input/calendar/calendar.component.js.map +1 -1
  64. package/components/input/calendar/views/month-view.js +9 -2
  65. package/components/input/calendar/views/month-view.js.map +1 -1
  66. package/components/input/checkbox/checkbox.component.js +5 -5
  67. package/components/input/checkbox/checkbox.component.js.map +1 -1
  68. package/components/input/checkboxset/checkboxset.component.js +15 -11
  69. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  70. package/components/input/chips/chips.component.js +25 -12
  71. package/components/input/chips/chips.component.js.map +1 -1
  72. package/components/input/currency/currency.component.js +5 -2
  73. package/components/input/currency/currency.component.js.map +1 -1
  74. package/components/input/epoch/base-datetime.component.js +9 -9
  75. package/components/input/epoch/base-datetime.component.js.map +1 -1
  76. package/components/input/epoch/datetime/datetime.props.js +1 -0
  77. package/components/input/epoch/datetime/datetime.props.js.map +1 -1
  78. package/components/input/epoch/wheelpicker/wheelpicker.component.js +8 -3
  79. package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  80. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +8 -3
  81. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  82. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +8 -3
  83. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  84. package/components/input/fileupload/fileupload.component.js +23 -14
  85. package/components/input/fileupload/fileupload.component.js.map +1 -1
  86. package/components/input/fileupload/fileupload.props.js +2 -0
  87. package/components/input/fileupload/fileupload.props.js.map +1 -1
  88. package/components/input/radioset/radioset.component.js +15 -5
  89. package/components/input/radioset/radioset.component.js.map +1 -1
  90. package/components/input/rating/rating.component.js +11 -3
  91. package/components/input/rating/rating.component.js.map +1 -1
  92. package/components/input/rating/rating.props.js +4 -0
  93. package/components/input/rating/rating.props.js.map +1 -1
  94. package/components/input/select/select.component.js +7 -5
  95. package/components/input/select/select.component.js.map +1 -1
  96. package/components/input/slider/slider.component.js +2 -1
  97. package/components/input/slider/slider.component.js.map +1 -1
  98. package/components/input/switch/switch.component.js +11 -9
  99. package/components/input/switch/switch.component.js.map +1 -1
  100. package/components/input/toggle/toggle.component.js +8 -4
  101. package/components/input/toggle/toggle.component.js.map +1 -1
  102. package/components/input/toggle/toggle.props.js +1 -0
  103. package/components/input/toggle/toggle.props.js.map +1 -1
  104. package/components/navigation/appnavbar/appnavbar.component.js +19 -61
  105. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  106. package/components/navigation/navitem/navitem.component.js +3 -1
  107. package/components/navigation/navitem/navitem.component.js.map +1 -1
  108. package/components/navigation/popover/popover.component.js +2 -1
  109. package/components/navigation/popover/popover.component.js.map +1 -1
  110. package/components/navigation/popover/popover.props.js +2 -1
  111. package/components/navigation/popover/popover.props.js.map +1 -1
  112. package/components/page/page-content/page-content.component.js +74 -20
  113. package/components/page/page-content/page-content.component.js.map +1 -1
  114. package/components/page/page-content/page-content.props.js +1 -0
  115. package/components/page/page-content/page-content.props.js.map +1 -1
  116. package/components/page/page.component.js +29 -44
  117. package/components/page/page.component.js.map +1 -1
  118. package/components/page/page.props.js +4 -2
  119. package/components/page/page.props.js.map +1 -1
  120. package/components/page/tabbar/tabbar.component.js +24 -13
  121. package/components/page/tabbar/tabbar.component.js.map +1 -1
  122. package/core/AppConfig.js.map +1 -1
  123. package/core/accessibility.js +51 -32
  124. package/core/accessibility.js.map +1 -1
  125. package/core/base.component.js.map +1 -1
  126. package/core/components/error-fallback/error-fallback.component.js +140 -0
  127. package/core/components/error-fallback/error-fallback.component.js.map +1 -0
  128. package/core/components/error-fallback/error-fallback.styles.js +224 -0
  129. package/core/components/error-fallback/error-fallback.styles.js.map +1 -0
  130. package/core/components/sticky-base.component.js +54 -0
  131. package/core/components/sticky-base.component.js.map +1 -0
  132. package/core/components/sticky-container.component.js +34 -0
  133. package/core/components/sticky-container.component.js.map +1 -0
  134. package/core/components/sticky-container.styles.js +98 -0
  135. package/core/components/sticky-container.styles.js.map +1 -0
  136. package/core/components/sticky-nav.component.js +28 -0
  137. package/core/components/sticky-nav.component.js.map +1 -0
  138. package/core/device/av-service.js +8 -0
  139. package/core/device/av-service.js.map +1 -0
  140. package/core/device/calendar-service.js +7 -1
  141. package/core/device/calendar-service.js.map +1 -1
  142. package/core/device/camera-service.js +6 -0
  143. package/core/device/camera-service.js.map +1 -1
  144. package/core/device/contacts-service.js +7 -1
  145. package/core/device/contacts-service.js.map +1 -1
  146. package/core/device/fileupload-service.js +8 -0
  147. package/core/device/fileupload-service.js.map +1 -0
  148. package/core/device/location-service.js +7 -1
  149. package/core/device/location-service.js.map +1 -1
  150. package/core/device/scan-service.js +6 -0
  151. package/core/device/scan-service.js.map +1 -1
  152. package/core/error-boundary.component.js +1 -1
  153. package/core/error-boundary.component.js.map +1 -1
  154. package/core/event-notifier.js +4 -3
  155. package/core/event-notifier.js.map +1 -1
  156. package/core/fixed-view.component.js +2 -1
  157. package/core/fixed-view.component.js.map +1 -1
  158. package/core/responsive.utils.js +8 -5
  159. package/core/responsive.utils.js.map +1 -1
  160. package/core/sticky-view.component.js +50 -0
  161. package/core/sticky-view.component.js.map +1 -0
  162. package/core/sticky-wrapper.js +129 -0
  163. package/core/sticky-wrapper.js.map +1 -0
  164. package/core/utils.js +0 -6
  165. package/core/utils.js.map +1 -1
  166. package/npm-shrinkwrap.json +9 -9
  167. package/package-lock.json +9 -9
  168. package/package.json +2 -2
  169. package/runtime/App.js +3 -5
  170. package/runtime/App.js.map +1 -1
  171. package/runtime/services/device/calendar-service.js +9 -5
  172. package/runtime/services/device/calendar-service.js.map +1 -1
  173. package/runtime/services/device/camera-service.js +39 -22
  174. package/runtime/services/device/camera-service.js.map +1 -1
  175. package/runtime/services/device/contacts-service.js +6 -5
  176. package/runtime/services/device/contacts-service.js.map +1 -1
  177. package/runtime/services/device/location-service.js +4 -4
  178. package/runtime/services/device/location-service.js.map +1 -1
  179. package/runtime/services/device/permission-service.js +5 -0
  180. package/runtime/services/device/permission-service.js.map +1 -0
  181. package/runtime/services/device/permissions.js +34 -39
  182. package/runtime/services/device/permissions.js.map +1 -1
  183. package/runtime/services/device/scan-service.js +4 -3
  184. package/runtime/services/device/scan-service.js.map +1 -1
  185. package/styles/theme.js +24 -18
  186. package/styles/theme.js.map +1 -1
  187. package/variables/device/calendar/create-event.operation.js +12 -1
  188. package/variables/device/calendar/create-event.operation.js.map +1 -1
  189. package/variables/device/calendar/delete-event.operation.js +12 -1
  190. package/variables/device/calendar/delete-event.operation.js.map +1 -1
  191. package/variables/device/calendar/get-events.operation.js +12 -1
  192. package/variables/device/calendar/get-events.operation.js.map +1 -1
  193. package/variables/device/camera/capture-image.operation.js +8 -1
  194. package/variables/device/camera/capture-image.operation.js.map +1 -1
  195. package/variables/device/camera/capture-video.operation.js +7 -1
  196. package/variables/device/camera/capture-video.operation.js.map +1 -1
  197. package/variables/device/contacts/get-contacts.operation.js +12 -1
  198. package/variables/device/contacts/get-contacts.operation.js.map +1 -1
  199. package/variables/device/device/current-geo-position.operation.js +12 -1
  200. package/variables/device/device/current-geo-position.operation.js.map +1 -1
  201. package/variables/device/file/upload-file.operation.js +17 -3
  202. package/variables/device/file/upload-file.operation.js.map +1 -1
  203. package/variables/device/scan/scan.operation.js +12 -1
  204. package/variables/device/scan/scan.operation.js.map +1 -1
  205. package/variables/http.service.js +6 -1
  206. package/variables/http.service.js.map +1 -1
  207. package/core/components/error-fallback.component.js +0 -264
  208. package/core/components/error-fallback.component.js.map +0 -1
  209. package/core/sticky-container.component.js +0 -175
  210. package/core/sticky-container.component.js.map +0 -1
@@ -10,6 +10,7 @@ export default class WmToggleProps extends BaseProps {
10
10
  _defineProperty(this, "datavalue", void 0);
11
11
  _defineProperty(this, "readonly", false);
12
12
  _defineProperty(this, "onFieldChange", void 0);
13
+ _defineProperty(this, "accessible", true);
13
14
  _defineProperty(this, "accessibilitylabel", undefined);
14
15
  _defineProperty(this, "hint", undefined);
15
16
  _defineProperty(this, "accessibilityrole", "togglebutton");
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmToggleProps","constructor","args","_defineProperty","undefined"],"sources":["toggle.props.ts"],"sourcesContent":["import {AccessibilityRole} from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmToggleProps extends BaseProps {\n checkedvalue: any = true;\n uncheckedvalue: any = false;\n datavalue: any;\n readonly? = false;\n onFieldChange: any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"togglebutton\";\n accessibilitylabelledby?: string = undefined;\n invokeEvent?: Function;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC/B,IAAI;IAAAA,eAAA,yBACF,KAAK;IAAAA,eAAA;IAAAA,eAAA,mBAEf,KAAK;IAAAA,eAAA;IAAAA,eAAA,6BAEaC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,cAAc;IAAAA,eAAA,kCACnBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,yBAElB,IAAI;IAAAA,eAAA,wBACL,IAAI;EAAA;AAC/B","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmToggleProps","constructor","args","_defineProperty","undefined"],"sources":["toggle.props.ts"],"sourcesContent":["import {AccessibilityRole} from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmToggleProps extends BaseProps {\n checkedvalue: any = true;\n uncheckedvalue: any = false;\n datavalue: any;\n readonly? = false;\n onFieldChange: any;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"togglebutton\";\n accessibilitylabelledby?: string = undefined;\n invokeEvent?: Function;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC/B,IAAI;IAAAA,eAAA,yBACF,KAAK;IAAAA,eAAA;IAAAA,eAAA,mBAEf,KAAK;IAAAA,eAAA;IAAAA,eAAA,qBAEM,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,cAAc;IAAAA,eAAA,kCACnBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,yBAElB,IAAI;IAAAA,eAAA,wBACL,IAAI;EAAA;AAC/B","ignoreList":[]}
@@ -3,7 +3,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
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); }
5
5
  import React from 'react';
6
- import { Text, View, BackHandler, Animated } from 'react-native';
6
+ import { Text, View, BackHandler } from 'react-native';
7
7
  import { Badge } from 'react-native-paper';
8
8
  import { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
9
9
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
@@ -13,7 +13,8 @@ import WmAppNavbarProps from './appnavbar.props';
13
13
  import { DEFAULT_CLASS } from './appnavbar.styles';
14
14
  import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
15
15
  import injector from '@wavemaker/app-rn-runtime/core/injector';
16
- import { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
16
+ import { StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';
17
+ import { StickyNav } from '@wavemaker/app-rn-runtime/core/components/sticky-nav.component';
17
18
  export class WmAppNavbarState extends BaseComponentState {}
18
19
  export default class WmAppNavbar extends BaseComponent {
19
20
  constructor(props) {
@@ -22,10 +23,6 @@ export default class WmAppNavbar extends BaseComponent {
22
23
  _defineProperty(this, "onBackBtnPress", void 0);
23
24
  _defineProperty(this, "onSearchBtnPress", void 0);
24
25
  _defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
25
- _defineProperty(this, "insets", null);
26
- _defineProperty(this, "destroyScrollListner", null);
27
- _defineProperty(this, "scrollY", new Animated.Value(0));
28
- _defineProperty(this, "translateY", new Animated.Value(0));
29
26
  this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);
30
27
  this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);
31
28
  this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);
@@ -37,44 +34,15 @@ export default class WmAppNavbar extends BaseComponent {
37
34
  this.cleanup.push(() => subscription.remove());
38
35
  }
39
36
  }
40
- onPropertyChange(name, $new, $old) {
41
- super.onPropertyChange(name, $new, $old);
42
- switch (name) {
43
- case 'hideonscroll':
44
- this.destroyScrollListner && this.destroyScrollListner();
45
- if ($new) {
46
- this.subscribeToPageScroll();
47
- }
48
- break;
49
- }
50
- }
51
- subscribeToPageScroll() {
52
- this.destroyScrollListner = this.subscribe('scroll', e => {
53
- const {
54
- contentOffset
55
- } = e.nativeEvent;
56
- this.scrollY.setValue(contentOffset.y);
57
- });
58
- }
59
- updateTranslateY(insets) {
60
- var _this$getLayout;
61
- const navbarHeight = (_this$getLayout = this.getLayout()) === null || _this$getLayout === void 0 ? void 0 : _this$getLayout.height;
62
- const topInsets = (insets === null || insets === void 0 ? void 0 : insets.top) || 0;
63
- if (navbarHeight) {
64
- const navbarRange = navbarHeight + topInsets;
65
- this.translateY = Animated.diffClamp(this.scrollY, 0, navbarRange).interpolate({
66
- inputRange: [0, navbarRange],
67
- outputRange: [0, -1 * navbarRange],
68
- extrapolate: 'clamp'
69
- });
70
- this.forceUpdate();
71
- }
72
- }
73
37
  renderContent(props) {
74
38
  //@ts-ignore
75
39
  const badge = props.badgevalue != undefined ? /*#__PURE__*/React.createElement(Badge, _extends({
76
40
  style: this.styles.badge
77
41
  }, this.getTestProps('badge')), props.badgevalue) : null;
42
+ const {
43
+ navHeight
44
+ } = this.context;
45
+ let navHeightValue;
78
46
  return /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
79
47
  top: 0,
80
48
  bottom: 0,
@@ -94,8 +62,14 @@ export default class WmAppNavbar extends BaseComponent {
94
62
  this.baseView = ref;
95
63
  },
96
64
  onLayout: event => {
65
+ if (navHeight) {
66
+ if (isEdgeToEdgeApp && insets !== null && insets !== void 0 && insets.top || !isEdgeToEdgeApp || isWebPreviewMode()) {
67
+ navHeightValue = event.nativeEvent.layout.height || 0;
68
+ navHeight.value = navHeightValue;
69
+ this.notify('updateNavHeight', [navHeightValue], true);
70
+ }
71
+ }
97
72
  this.handleLayout(event);
98
- this.updateTranslateY(insets);
99
73
  }
100
74
  }, this._background, /*#__PURE__*/React.createElement(View, {
101
75
  style: this.styles.leftSection
@@ -133,27 +107,11 @@ export default class WmAppNavbar extends BaseComponent {
133
107
  });
134
108
  }
135
109
  renderWidget(props) {
136
- this.isFixed = true;
137
- const animateStyle = props.hideonscroll ? {
138
- transform: [{
139
- translateY: this.translateY
140
- }]
141
- } : {};
142
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FixedView, {
143
- style: {
144
- ...{
145
- top: 0,
146
- width: '100%'
147
- },
148
- ...animateStyle
149
- },
150
- theme: this.theme,
151
- animated: props.hideonscroll || false
152
- }, this.renderContent(props)), /*#__PURE__*/React.createElement(View, {
153
- style: {
154
- opacity: 0
155
- }
156
- }, this.renderContent(props)));
110
+ return this.props.hideonscroll ? /*#__PURE__*/React.createElement(StickyNav, {
111
+ component: this,
112
+ theme: this.theme
113
+ }, this.renderContent(props)) : this.renderContent(props);
157
114
  }
158
115
  }
116
+ _defineProperty(WmAppNavbar, "contextType", StickyWrapperContext);
159
117
  //# sourceMappingURL=appnavbar.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BackHandler","Animated","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","SafeAreaInsetsContext","injector","FixedView","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","Value","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","subscribe","e","contentOffset","nativeEvent","scrollY","setValue","y","updateTranslateY","insets","_this$getLayout","navbarHeight","getLayout","height","topInsets","top","navbarRange","translateY","diffClamp","interpolate","inputRange","outputRange","extrapolate","forceUpdate","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","Consumer","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","ref","baseView","onLayout","event","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","isFixed","animateStyle","hideonscroll","transform","Fragment","width","animated","opacity"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler, Animated } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\nimport { StickyView } from '@wavemaker/app-rn-runtime/core/sticky-container.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private insets: EdgeInsets | null = null;\n private destroyScrollListner: Function = null as any;\n private scrollY: Animated.Value = new Animated.Value(0);\n private translateY: Animated.AnimatedInterpolation<number> = new Animated.Value(0);\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n \n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n subscribeToPageScroll(){\n this.destroyScrollListner = this.subscribe('scroll', (e: any)=>{\n const { contentOffset } = e.nativeEvent ;\n this.scrollY.setValue(contentOffset.y);\n })\n }\n\n updateTranslateY(insets: any):void {\n const navbarHeight = this.getLayout()?.height ;\n const topInsets = insets?.top || 0\n if(navbarHeight){\n const navbarRange = navbarHeight + topInsets;\n this.translateY = Animated.diffClamp(this.scrollY, 0, navbarRange).interpolate({\n inputRange: [0, navbarRange],\n outputRange: [0, -1 * navbarRange],\n extrapolate: 'clamp',\n });\n this.forceUpdate();\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => {\n this.handleLayout(event);\n this.updateTranslateY(insets);\n }}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n\n return <>\n <FixedView \n style={{...{top: 0, width:'100%'}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this.renderContent(props)}\n </FixedView>\n <View style={{ opacity: 0}}>\n {this.renderContent(props)}\n </View>\n </>\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","BackHandler","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","SafeAreaInsetsContext","injector","StickyWrapperContext","StickyNav","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","navHeight","context","navHeightValue","Consumer","insets","top","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","height","ref","baseView","onLayout","event","nativeEvent","layout","value","notify","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","hideonscroll","component"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\n\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { StickyWrapperContext, StickyWrapperContextType } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { StickyNav } from '@wavemaker/app-rn-runtime/core/components/sticky-nav.component';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n static contextType = StickyWrapperContext;\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n const { navHeight } = this.context as StickyWrapperContextType;\n let navHeightValue;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => {\n if(navHeight) {\n if((isEdgeToEdgeApp && insets?.top) || !isEdgeToEdgeApp || isWebPreviewMode()){\n navHeightValue = event.nativeEvent.layout.height || 0;\n navHeight.value = navHeightValue;\n this.notify('updateNavHeight', [navHeightValue], true);\n }\n }\n this.handleLayout(event);\n }}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n return this.props.hideonscroll ? (\n <StickyNav\n component={this}\n theme={this.theme}\n >\n {this.renderContent(props)}\n </StickyNav>\n ) : this.renderContent(props)\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -56,7 +56,9 @@ export default class WmNavItem extends BaseComponent {
56
56
  }, getAccessibilityProps(AccessibilityWidgetType.NAV, props))), /*#__PURE__*/React.createElement(WmIcon, {
57
57
  id: this.getTestId('icon'),
58
58
  styles: this.styles.caretIcon,
59
- iconclass: this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'
59
+ iconclass: this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up',
60
+ accessibilitylabel: this.state.collapsed ? 'Expand' : 'Collapse',
61
+ accessibilityrole: "button"
60
62
  }))), !this.state.collapsed && props.children);
61
63
  }
62
64
  return /*#__PURE__*/React.createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","TouchableOpacity","BaseComponent","BaseComponentState","WmAnchor","WmIcon","WmNavItemProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmNavItemState","constructor","args","_defineProperty","WmNavItem","props","onSelectItem","cb","$item","$event","data","renderWidget","getDisplayLabel","getDisplayExpression","label","child","children","view","createElement","_extends","id","getTestId","NAV","styles","navAnchorItem","caption","item","hyperlink","link","badgevalue","badge","iconclass","icon","onTap","bind","onSelect","Fragment","getTestPropsForAction","onPress","updateState","collapsed","state","style","dropdownNav","caretIcon","root","onLayout","event","handleLayout","_background"],"sources":["navitem.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmNavItemProps from './navitem.props';\nimport { DEFAULT_CLASS, WmNavItemStyles } from './navitem.styles';\nimport { NavigationDataItem } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport { SyntheticEvent } from \"@wavemaker/app-rn-runtime/core/tappable.component\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmNavItemState extends BaseComponentState<WmNavItemProps> {\n collapsed = true;\n}\n\nexport default class WmNavItem extends BaseComponent<WmNavItemProps, WmNavItemState, WmNavItemStyles> {\n\n constructor(props: WmNavItemProps) {\n super(props, DEFAULT_CLASS, new WmNavItemProps(), new WmNavItemState());\n }\n\n onSelectItem(cb: any, $item: NavigationDataItem, $event: SyntheticEvent) {\n cb && cb($event, this, $item?.data);\n }\n\n renderWidget(props: WmNavItemProps) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let child = props.children;\n if (props.view === 'anchor') {\n child = (\n <WmAnchor\n id={this.getTestId('navlink')}\n {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}\n styles={this.styles.navAnchorItem}\n caption={getDisplayLabel(props.item.label)}\n hyperlink={props.item.link}\n badgevalue={props.item.badge}\n iconclass={props.item.icon}\n onTap={this.onSelectItem.bind(this, props.onSelect, props.item)}\n ></WmAnchor>\n );\n }\n if (props.view === 'dropdown') {\n child = (\n <>\n <TouchableOpacity \n {...this.getTestPropsForAction('navitem')}\n onPress={() => {\n this.updateState({collapsed: !this.state.collapsed} as WmNavItemState);\n }}>\n <View style={this.styles.dropdownNav}>\n <WmAnchor id={this.getTestId('navlink')} styles={this.styles.navAnchorItem} caption={getDisplayLabel(props.item.label)} iconclass={props.item.icon} onTap={this.onSelectItem.bind(this, props.onSelect, props.item)} {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}></WmAnchor>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.caretIcon} iconclass={this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'}></WmIcon>\n </View>\n </TouchableOpacity>\n {!this.state.collapsed && props.children}\n </>\n );\n }\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>{this._background}{child}</View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","TouchableOpacity","BaseComponent","BaseComponentState","WmAnchor","WmIcon","WmNavItemProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmNavItemState","constructor","args","_defineProperty","WmNavItem","props","onSelectItem","cb","$item","$event","data","renderWidget","getDisplayLabel","getDisplayExpression","label","child","children","view","createElement","_extends","id","getTestId","NAV","styles","navAnchorItem","caption","item","hyperlink","link","badgevalue","badge","iconclass","icon","onTap","bind","onSelect","Fragment","getTestPropsForAction","onPress","updateState","collapsed","state","style","dropdownNav","caretIcon","accessibilitylabel","accessibilityrole","root","onLayout","event","handleLayout","_background"],"sources":["navitem.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmNavItemProps from './navitem.props';\nimport { DEFAULT_CLASS, WmNavItemStyles } from './navitem.styles';\nimport { NavigationDataItem } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport { SyntheticEvent } from \"@wavemaker/app-rn-runtime/core/tappable.component\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nexport class WmNavItemState extends BaseComponentState<WmNavItemProps> {\n collapsed = true;\n}\n\nexport default class WmNavItem extends BaseComponent<WmNavItemProps, WmNavItemState, WmNavItemStyles> {\n\n constructor(props: WmNavItemProps) {\n super(props, DEFAULT_CLASS, new WmNavItemProps(), new WmNavItemState());\n }\n\n onSelectItem(cb: any, $item: NavigationDataItem, $event: SyntheticEvent) {\n cb && cb($event, this, $item?.data);\n }\n\n renderWidget(props: WmNavItemProps) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let child = props.children;\n if (props.view === 'anchor') {\n child = (\n <WmAnchor\n id={this.getTestId('navlink')}\n {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}\n styles={this.styles.navAnchorItem}\n caption={getDisplayLabel(props.item.label)}\n hyperlink={props.item.link}\n badgevalue={props.item.badge}\n iconclass={props.item.icon}\n onTap={this.onSelectItem.bind(this, props.onSelect, props.item)}\n ></WmAnchor>\n );\n }\n if (props.view === 'dropdown') {\n child = (\n <>\n <TouchableOpacity \n {...this.getTestPropsForAction('navitem')}\n onPress={() => {\n this.updateState({collapsed: !this.state.collapsed} as WmNavItemState);\n }}>\n <View style={this.styles.dropdownNav}>\n <WmAnchor id={this.getTestId('navlink')} styles={this.styles.navAnchorItem} caption={getDisplayLabel(props.item.label)} iconclass={props.item.icon} onTap={this.onSelectItem.bind(this, props.onSelect, props.item)} {...getAccessibilityProps(AccessibilityWidgetType.NAV, props)}></WmAnchor>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.caretIcon} iconclass={this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'} accessibilitylabel={this.state.collapsed ? 'Expand' : 'Collapse'} accessibilityrole='button'></WmIcon>\n </View>\n </TouchableOpacity>\n {!this.state.collapsed && props.children}\n </>\n );\n }\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>{this._background}{child}</View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -180,7 +180,8 @@ export default class WmPopover extends BaseComponent {
180
180
  iconmargin: props.iconmargin,
181
181
  iconurl: props.iconurl,
182
182
  styles: styles.link,
183
- onTap: this.showPopover
183
+ onTap: this.showPopover,
184
+ accessible: false
184
185
  }), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
185
186
  modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? /*#__PURE__*/React.createElement(Animated.View, _extends({
186
187
  style: [styles.popover, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","isRTL","right","left","top","updateState","handleLayout","isOpened","invokeEventCallback","stopPropagation","autoopen","showPopover","getDefaultStyles","isActionSheet","theme","getStyle","defaultClass","renderPopoverContent","dimensions","createElement","style","mergeStyle","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","_extends","getTestPropsForAction","activeOpacity","onPress","autoclose","hide","popoverContent","root","onLoad","renderPartial","p","children","onPropertyChange","name","$new","$old","prepareModalOptions","content","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","animation","contentanimation","onClose","setState","isPartialLoaded","hideModal","renderWidget","popoverheight","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, Dimensions, Animated, PanResponder } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n dragY = new Animated.Value(0);\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n\n if (this.state.props.autoopen) {\n this.showPopover(); \n }\n }\n\n public panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && gestureState.dy < Number(this.styles.popover.minHeight)) {\n this.dragY.setValue(Number(this.styles.popover.minHeight) - gestureState.dy);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n if (gestureState.dy < -50) {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.maxHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.minHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n }\n },\n });\n \n getDefaultStyles() {\n const isActionSheet = this.state.props.type === 'action-sheet';\n return this.theme.getStyle(`${this.defaultClass} ${isActionSheet ? 'app-popover-action-sheet' : ''}`);\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n this.isRTL ? position.right = px : position.left = px\n \n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n\n this.handleLayout(e)\n };\n\n public renderPopoverContent (props : WmPopoverProps , styles : WmPopoverStyles, dimensions: any) {\n return (\n <ScrollView style={props.type === \"action-sheet\" ? {dimensions} : this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {...props.renderPartial ? {\n renderPartial: (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n )}\n\n public showPopover = (e?: SyntheticEvent) => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"autoopen\":\n if($new){\n this.showPopover && this.showPopover()\n }\n else{\n this.hide && this.hide()\n }\n }\n }\n\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? (\n <Animated.View style= {[styles.popover,{ height: this.dragY }]} {...this.panResponder.panHandlers}>\n <GestureHandlerRootView>\n {this.renderPopoverContent(props, styles, dimensions)}\n </GestureHandlerRootView>\n </Animated.View>\n ): (this.renderPopoverContent(props, styles, dimensions)), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,WAAW;AACpC,SAA4BC,gBAAgB,EAAEC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,YAAY,QAAQ,cAAc;AAClH,SAASC,aAAa,EAAEC,kBAAkB,QAAmB,+CAA+C;AAG5G,SAASC,aAAa,QAAoC,8CAA8C;AACxG,OAAOC,QAAQ,MAAM,oEAAoE;AAEzF,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,WAAW,MAAM,qCAAqC;AAC7D,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,UAAU,EAAEC,sBAAsB,QAAQ,8BAA8B;AAEjF,OAAO,MAAMC,cAAc,SAASV,kBAAkB,CAAiB;EAAAW,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACjD,KAAK;IAAAA,eAAA,uBACV,CAAC,CAAC;IAAAA,eAAA,mBACN,CAAC,CAAC;IAAAA,eAAA,0BACK,KAAK;EAAA;AACzB;AASA,eAAe,MAAMC,SAAS,SAASf,aAAa,CAAkD;EAKpGY,WAAWA,CAACI,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEX,aAAa,EAAE,IAAID,cAAc,CAAC,CAAC,EAAE,IAAIO,cAAc,CAAC,CAAC,CAAC;IAACG,eAAA,eAJ7D,IAAI;IAAAA,eAAA,gBACT,IAAIhB,QAAQ,CAACmB,KAAK,CAAC,CAAC,CAAC;IAAAH,eAAA,uBAUPf,YAAY,CAACmB,MAAM,CAAC;MACxCC,4BAA4B,EAAEA,CAAA,KAAM,IAAI;MACxCC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;MACvCC,kBAAkB,EAAEA,CAACC,CAAC,EAAEC,YAAY,KAAK;QACvC,IAAIA,YAAY,CAACC,EAAE,GAAG,CAAC,IAAID,YAAY,CAACC,EAAE,GAAGC,MAAM,CAAC,IAAI,CAACC,MAAM,CAACC,OAAO,CAACC,SAAS,CAAC,EAAE;UAClF,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACL,MAAM,CAAC,IAAI,CAACC,MAAM,CAACC,OAAO,CAACC,SAAS,CAAC,GAAGL,YAAY,CAACC,EAAE,CAAC;QAC9E;MACF,CAAC;MACDO,qBAAqB,EAAEA,CAACT,CAAC,EAAEC,YAAY,KAAK;QAC1C,IAAIA,YAAY,CAACC,EAAE,GAAG,CAAC,EAAE,EAAE;UACzB1B,QAAQ,CAACkC,MAAM,CAAC,IAAI,CAACH,KAAK,EAAE;YAC1BI,OAAO,EAAER,MAAM,CAAC,IAAI,CAACC,MAAM,CAACC,OAAO,CAACO,SAAS,CAAC;YAC9CC,QAAQ,EAAE,GAAG;YACbC,eAAe,EAAE;UACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;QACZ,CAAC,MAAM;UACLvC,QAAQ,CAACkC,MAAM,CAAC,IAAI,CAACH,KAAK,EAAE;YAC1BI,OAAO,EAAER,MAAM,CAAC,IAAI,CAACC,MAAM,CAACC,OAAO,CAACC,SAAS,CAAC;YAC9CO,QAAQ,EAAE,GAAG;YACbC,eAAe,EAAE;UACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;QACZ;MACF;IACF,CAAC,CAAC;IAAAvB,eAAA,0BAOyBwB,CAAoB,IAAK;MAClD,MAAMC,QAAQ,GAAG,CAAC,CAAoB;MACtC,IAAI,IAAI,CAACC,KAAK,CAACxB,KAAK,CAACyB,IAAI,KAAK,UAAU,EAAE;QACxC,MAAMC,gBAAgB,GAAG7C,UAAU,CAAC8C,GAAG,CAAC,QAAQ,CAAC;QACjD,IAAI,CAACC,IAAI,CAACC,OAAO,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,KAAK;UACjD,IAAIC,YAAY,GAAG,IAAI,CAACZ,KAAK,CAACxB,KAAK,CAACoC,YAAmB;UACvD,IAAIA,YAAY,IAAI3D,QAAQ,CAAC2D,YAAY,CAAC,EAAE;YAC1CA,YAAY,GAAGC,QAAQ,CAACD,YAAY,CAAC;UACvC;UACA,IAAI,CAACE,KAAK,GAAGf,QAAQ,CAACgB,KAAK,GAAGL,EAAE,GAAGX,QAAQ,CAACiB,IAAI,GAAGN,EAAE;UAErD,IAAIA,EAAE,GAAGE,YAAY,GAAGV,gBAAgB,CAACM,KAAK,EAAE;YAC9C,IAAI,CAACM,KAAK,GACLf,QAAQ,CAACgB,KAAK,GAAGL,EAAE,GAAGF,KAAK,GAAGI,YAAY,GAC1Cb,QAAQ,CAACiB,IAAI,GAAGN,EAAE,GAAGF,KAAK,GAAGI,YAAa;UACjD;UACAb,QAAQ,CAACkB,GAAG,GAAGN,EAAE,GAAGF,MAAM;UAC1B,IAAI,CAACS,WAAW,CAAC;YAACnB,QAAQ,EAAEA;UAAQ,CAAmB,CAAC;QAC1D,CAAC,CAAC;MACJ;MAEA,IAAI,CAACoB,YAAY,CAACrB,CAAC,CAAC;IACtB,CAAC;IAAAxB,eAAA,sBA4BqBwB,CAAkB,IAAK;MAC3C,IAAI,CAACoB,WAAW,CAAC;QAAEE,QAAQ,EAAE;MAAK,CAAmB,CAAC;MACtD,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAACvB,CAAC,EAAE,IAAI,CAAC,CAAC;MAC7CA,CAAC,aAADA,CAAC,eAADA,CAAC,CAAEwB,eAAe,CAAC,CAAC;IACtB,CAAC;IAAAhD,eAAA,eAgBa,MAAM,CAAC,CAAC;IAzGpB,IAAI,IAAI,CAAC0B,KAAK,CAACxB,KAAK,CAAC+C,QAAQ,EAAE;MAC7B,IAAI,CAACC,WAAW,CAAC,CAAC;IACpB;EACF;EA2BAC,gBAAgBA,CAAA,EAAG;IACjB,MAAMC,aAAa,GAAG,IAAI,CAAC1B,KAAK,CAACxB,KAAK,CAACyB,IAAI,KAAK,cAAc;IAC9D,OAAO,IAAI,CAAC0B,KAAK,CAACC,QAAQ,CAAC,GAAG,IAAI,CAACC,YAAY,IAAIH,aAAa,GAAG,0BAA0B,GAAG,EAAE,EAAE,CAAC;EACvG;EA0BOI,oBAAoBA,CAAEtD,KAAsB,EAAGU,MAAwB,EAAE6C,UAAe,EAAE;IAC/F,oBACE/E,KAAA,CAAAgF,aAAA,CAAC/D,UAAU;MAACgE,KAAK,EAAEzD,KAAK,CAACyB,IAAI,KAAK,cAAc,GAAG;QAAC8B;MAAU,CAAC,GAAG,IAAI,CAACJ,KAAK,CAACO,UAAU,CAAChD,MAAM,CAACC,OAAO,EAAE4C,UAAU,CAAE;MACpHI,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,UAAU,EAAE/D,KAAK,CAACyB,IAAI,KAAK,UAAW;MAACuC,wBAAwB;IAAA,GAC9DhE,KAAK,CAACiE,KAAK,gBAAIzF,KAAA,CAAAgF,aAAA,CAAC7E,IAAI;MAAC8E,KAAK,EAAE/C,MAAM,CAACuD;IAAM,GAAEjE,KAAK,CAACiE,KAAY,CAAC,GAAG,IAAI,eACtEzF,KAAA,CAAAgF,aAAA,CAAC9E,gBAAgB,EAAAwF,QAAA,KACb,IAAI,CAACC,qBAAqB,CAAC,cAAc,CAAC;MAC9CC,aAAa,EAAE,CAAE;MAACC,OAAO,EAAEA,CAAA,KAAM;QAC/BrE,KAAK,CAACsE,SAAS,KAAK,QAAQ,IAAI,IAAI,CAACC,IAAI,CAAC,CAAC;MAC7C,CAAE;MAACd,KAAK,EAAE/C,MAAM,CAAC8D,cAAc,CAACC;IAAK,iBACnCjG,KAAA,CAAAgF,aAAA,CAAClE,WAAW,EAAA4E,QAAA;MACRxD,MAAM,EAAEA,MAAM,CAAC8D,cAAe;MAC9BE,MAAM,EAAEA,CAAA,KAAM,IAAI,CAAC7B,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;IAAE,GACrD7C,KAAK,CAAC2E,aAAa,GAAG;MACxBA,aAAa,EAAEA,CAACC,CAAM,EAAEF,MAAgB,KAAK;QAC3C,OAAO1E,KAAK,CAAC2E,aAAa,IAAI3E,KAAK,CAAC2E,aAAa,CAAC3E,KAAK,EAAE0E,MAAM,CAAC;MAClE;IACF,CAAC,GAAG,CAAC,CAAC,GACL1E,KAAK,CAAC2E,aAAa,GAAG,IAAI,GAAG3E,KAAK,CAAC6E,QAC3B,CACG,CACR,CAAC;EACZ;EAQIC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAQ;IAChE,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,QAAOF,IAAI;MACT,KAAK,UAAU;QACb,IAAGC,IAAI,EAAC;UACN,IAAI,CAAChC,WAAW,IAAI,IAAI,CAACA,WAAW,CAAC,CAAC;QACxC,CAAC,MACG;UACF,IAAI,CAACuB,IAAI,IAAI,IAAI,CAACA,IAAI,CAAC,CAAC;QAC5B;IACF;EACF;EAKAW,mBAAmBA,CAACC,OAAwB,EAAEzE,MAAuB,EAAE0E,YAA0B,EAAE;IACjG,MAAMC,CAAC,GAAG,IAAI,CAAC7D,KAAK,CAAC8D,YAAY;IACjCD,CAAC,CAACE,UAAU,GAAG7E,MAAM,CAAC8E,KAAK;IAC3BH,CAAC,CAACI,YAAY,GAAG;MAAC,GAAG/E,MAAM,CAACgF,YAAY;MAAE,GAAG,IAAI,CAAClE,KAAK,CAACD;IAAQ,CAAC;IACjE8D,CAAC,CAACF,OAAO,GAAGA,OAAO;IACnBE,CAAC,CAACM,OAAO,GAAG,IAAI,CAACnE,KAAK,CAACxB,KAAK,CAACsE,SAAS,KAAK,UAAU;IACrDe,CAAC,CAACO,QAAQ,GAAG,IAAI;IACjBP,CAAC,CAACQ,SAAS,GAAG,IAAI,CAACrE,KAAK,CAACxB,KAAK,CAAC8F,gBAAgB,IAAI,WAAW;IAC9DT,CAAC,CAACU,OAAO,GAAG,MAAM;MAChB,IAAI,CAACxB,IAAI,GAAG,MAAM,CAAC,CAAC;MACpB,IAAI,CAACyB,QAAQ,CAAC;QAAEpD,QAAQ,EAAE,KAAK;QAAEqD,eAAe,EAAE,KAAK;QAAEX,YAAY,EAAE,CAAC;MAAkB,CAAC,CAAC;MAC5F,IAAI,CAACzC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC0B,IAAI,GAAG,MAAMa,YAAY,CAACc,SAAS,CAAC,IAAI,CAAC1E,KAAK,CAAC8D,YAAY,CAAC;IACjE,OAAOD,CAAC;EACV;EAEAc,YAAYA,CAACnG,KAAqB,EAAE;IAClC,IAAIuD,UAAU,GAAG,CAAC,CAAQ;IAC1B,MAAM7C,MAAM,GAAG,IAAI,CAACyC,KAAK,CAACO,UAAU,CAAC,IAAI,CAACP,KAAK,CAACC,QAAQ,CAAC,UAAU,GAAGpD,KAAK,CAACyB,IAAI,CAAC,EAAE,IAAI,CAACf,MAAM,CAAC;IAC/F,IAAIV,KAAK,CAACyB,IAAI,KAAK,UAAU,EAAE;MAC7B,IAAIzB,KAAK,CAACoC,YAAY,EAAE;QACtBmB,UAAU,CAACvB,KAAK,GAAGhC,KAAK,CAACoC,YAAY;QACrC1B,MAAM,CAACgF,YAAY,CAAC1D,KAAK,GAAGhC,KAAK,CAACoC,YAAY;MAChD;MACA,IAAIpC,KAAK,CAACoG,aAAa,EAAE;QACvB7C,UAAU,CAACtB,MAAM,GAAGjC,KAAK,CAACoG,aAAa;MACzC;IACF;IACA,oBACE5H,KAAA,CAAAgF,aAAA,CAAC5E,IAAI,EAAAsF,QAAA;MAACT,KAAK,EAAE/C,MAAM,CAAC+D,IAAK;MAAC4B,QAAQ,EAAE,IAAI,CAACC,eAAgB;MAACC,GAAG,EAAEA,GAAG,IAAI;QAAC,IAAI,CAAC3E,IAAI,GAAG2E,GAAW;MAAA;IAAE,GAAK/G,qBAAqB,CAACD,uBAAuB,CAACiH,OAAO,EAAExG,KAAK,CAAC,GAC/J,IAAI,CAACyG,WAAW,eACjBjI,KAAA,CAAAgF,aAAA,CAACrE,QAAQ;MACPuH,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAC9Bd,SAAS,EAAE7F,KAAK,CAAC6F,SAAU;MAC3Be,OAAO,EAAE5G,KAAK,CAAC4G,OAAQ;MACvBC,UAAU,EAAE7G,KAAK,CAAC6G,UAAW;MAC7BC,SAAS,EAAE9G,KAAK,CAAC8G,SAAU;MAC3BC,YAAY,EAAE/G,KAAK,CAAC+G,YAAa;MACjCC,UAAU,EAAEhH,KAAK,CAACgH,UAAW;MAC7BC,SAAS,EAAEjH,KAAK,CAACiH,SAAU;MAC3BC,UAAU,EAAElH,KAAK,CAACkH,UAAW;MAC7BC,OAAO,EAAEnH,KAAK,CAACmH,OAAQ;MACvBzG,MAAM,EAAEA,MAAM,CAAC0G,IAAK;MACpBC,KAAK,EAAE,IAAI,CAACrE;IAAY,CAAC,CAAC,EAC3B,IAAI,CAACxB,KAAK,CAACoB,QAAQ,gBAClBpE,KAAA,CAAAgF,aAAA,CAACtE,aAAa,QACVkG,YAA0B,IAAK;MAC/BA,YAAY,CAACkC,SAAS,CAAC,IAAI,CAACpC,mBAAmB,CAAClF,KAAK,CAACyB,IAAI,KAAK,cAAc,gBAC3EjD,KAAA,CAAAgF,aAAA,CAAC1E,QAAQ,CAACF,IAAI,EAAAsF,QAAA;QAACT,KAAK,EAAG,CAAC/C,MAAM,CAACC,OAAO,EAAC;UAAEsB,MAAM,EAAE,IAAI,CAACpB;QAAM,CAAC;MAAE,GAAK,IAAI,CAAC0G,YAAY,CAACC,WAAW,gBAC/FhJ,KAAA,CAAAgF,aAAA,CAAC9D,sBAAsB,QACvB,IAAI,CAAC4D,oBAAoB,CAACtD,KAAK,EAAEU,MAAM,EAAE6C,UAAU,CAC5B,CACR,CAAC,GAChB,IAAI,CAACD,oBAAoB,CAACtD,KAAK,EAAEU,MAAM,EAAE6C,UAAU,CAAE,EAAE7C,MAAM,EAAE0E,YAAY,CAAC,CAAC;MACjF,OAAO,IAAI;IACb,CACa,CAAC,GAAI,IAClB,CAAC;EACX;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","isRTL","right","left","top","updateState","handleLayout","isOpened","invokeEventCallback","stopPropagation","autoopen","showPopover","getDefaultStyles","isActionSheet","theme","getStyle","defaultClass","renderPopoverContent","dimensions","createElement","style","mergeStyle","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","_extends","getTestPropsForAction","activeOpacity","onPress","autoclose","hide","popoverContent","root","onLoad","renderPartial","p","children","onPropertyChange","name","$new","$old","prepareModalOptions","content","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","animation","contentanimation","onClose","setState","isPartialLoaded","hideModal","renderWidget","popoverheight","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, Dimensions, Animated, PanResponder } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n dragY = new Animated.Value(0);\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n\n if (this.state.props.autoopen) {\n this.showPopover(); \n }\n }\n\n public panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && gestureState.dy < Number(this.styles.popover.minHeight)) {\n this.dragY.setValue(Number(this.styles.popover.minHeight) - gestureState.dy);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n if (gestureState.dy < -50) {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.maxHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.minHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n }\n },\n });\n \n getDefaultStyles() {\n const isActionSheet = this.state.props.type === 'action-sheet';\n return this.theme.getStyle(`${this.defaultClass} ${isActionSheet ? 'app-popover-action-sheet' : ''}`);\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n this.isRTL ? position.right = px : position.left = px\n \n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n\n this.handleLayout(e)\n };\n\n public renderPopoverContent (props : WmPopoverProps , styles : WmPopoverStyles, dimensions: any) {\n return (\n <ScrollView style={props.type === \"action-sheet\" ? {dimensions} : this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {...props.renderPartial ? {\n renderPartial: (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n )}\n\n public showPopover = (e?: SyntheticEvent) => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"autoopen\":\n if($new){\n this.showPopover && this.showPopover()\n }\n else{\n this.hide && this.hide()\n }\n }\n }\n\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}\n accessible={false}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? (\n <Animated.View style= {[styles.popover,{ height: this.dragY }]} {...this.panResponder.panHandlers}>\n <GestureHandlerRootView>\n {this.renderPopoverContent(props, styles, dimensions)}\n </GestureHandlerRootView>\n </Animated.View>\n ): (this.renderPopoverContent(props, styles, dimensions)), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -23,9 +23,10 @@ export default class WmPopoverProps extends BaseProps {
23
23
  _defineProperty(this, "iconheight", null);
24
24
  _defineProperty(this, "iconwidth", null);
25
25
  _defineProperty(this, "iconmargin", null);
26
+ _defineProperty(this, "accessible", true);
26
27
  _defineProperty(this, "accessibilitylabel", undefined);
27
28
  _defineProperty(this, "hint", undefined);
28
- _defineProperty(this, "accessibilityrole", void 0);
29
+ _defineProperty(this, "accessibilityrole", 'button');
29
30
  }
30
31
  }
31
32
  //# sourceMappingURL=popover.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmPopoverProps","constructor","args","_defineProperty","undefined"],"sources":["popover.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport React from 'react';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmPopoverProps extends BaseProps {\n animation?: string = null as any;\n badgevalue? = null as any;\n caption? = 'Link';\n contentanimation?: string = null as any;\n iconclass? = null as any;\n iconposition? = 'left' as any;\n popoverwidth?: string | number | null = 240;\n popoverheight?: string | number | null = 360;\n autoclose?: 'outsideClick' | 'disabled' | 'always' = 'outsideClick';\n autoopen?: boolean = false;\n children? = [] as any;\n renderPartial?: Function = null as any;\n title?: string = null as any;\n type?: 'action-sheet' | 'dropdown' = 'action-sheet';\n iconurl?: string = null as any;\n iconheight?: number = null as any;\n iconwidth?: number = null as any;\n iconmargin?: number = null as any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAIzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,qBACX,IAAI;IAAAA,eAAA,kBACP,MAAM;IAAAA,eAAA,2BACW,IAAI;IAAAA,eAAA,oBACnB,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,uBACkB,GAAG;IAAAA,eAAA,wBACF,GAAG;IAAAA,eAAA,oBACS,cAAc;IAAAA,eAAA,mBAC9C,KAAK;IAAAA,eAAA,mBACd,EAAE;IAAAA,eAAA,wBACa,IAAI;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,eACgB,cAAc;IAAAA,eAAA,kBAChC,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,oBACL,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,6BACIC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;EAAA;AAE3B","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmPopoverProps","constructor","args","_defineProperty","undefined"],"sources":["popover.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport React from 'react';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmPopoverProps extends BaseProps {\n animation?: string = null as any;\n badgevalue? = null as any;\n caption? = 'Link';\n contentanimation?: string = null as any;\n iconclass? = null as any;\n iconposition? = 'left' as any;\n popoverwidth?: string | number | null = 240;\n popoverheight?: string | number | null = 360;\n autoclose?: 'outsideClick' | 'disabled' | 'always' = 'outsideClick';\n autoopen?: boolean = false;\n children? = [] as any;\n renderPartial?: Function = null as any;\n title?: string = null as any;\n type?: 'action-sheet' | 'dropdown' = 'action-sheet';\n iconurl?: string = null as any;\n iconheight?: number = null as any;\n iconwidth?: number = null as any;\n iconmargin?: number = null as any;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'button';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAIzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,qBACX,IAAI;IAAAA,eAAA,kBACP,MAAM;IAAAA,eAAA,2BACW,IAAI;IAAAA,eAAA,oBACnB,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,uBACkB,GAAG;IAAAA,eAAA,wBACF,GAAG;IAAAA,eAAA,oBACS,cAAc;IAAAA,eAAA,mBAC9C,KAAK;IAAAA,eAAA,mBACd,EAAE;IAAAA,eAAA,wBACa,IAAI;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,eACgB,cAAc;IAAAA,eAAA,kBAChC,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,oBACL,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,QAAQ;EAAA;AAClD","ignoreList":[]}
@@ -8,48 +8,86 @@ import { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';
8
8
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
9
9
  import WmPageContentProps from './page-content.props';
10
10
  import { DEFAULT_CLASS } from './page-content.styles';
11
- import { ScrollView } from 'react-native-gesture-handler';
12
11
  import WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';
13
12
  import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
14
- export class WmPageContentState extends BaseComponentState {}
13
+ import Animated from 'react-native-reanimated';
14
+ import { StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';
15
+ import { isNumber } from 'lodash-es';
16
+ export class WmPageContentState extends BaseComponentState {
17
+ constructor(...args) {
18
+ super(...args);
19
+ _defineProperty(this, "navHeightForRender", 0);
20
+ }
21
+ }
15
22
  export default class WmPageContent extends BaseComponent {
16
23
  constructor(props) {
17
24
  super(props, DEFAULT_CLASS, new WmPageContentProps());
18
25
  _defineProperty(this, "scrollRef", void 0);
19
- _defineProperty(this, "previousScrollPosition", 0);
20
- _defineProperty(this, "handleScroll", event => {
21
- const scrollPosition = event.nativeEvent.contentOffset.y;
22
- if (Math.abs(scrollPosition - this.previousScrollPosition) >= 8 && scrollPosition >= 0) {
23
- const e = event;
24
- if (scrollPosition > this.previousScrollPosition) {
25
- e.scrollDirection = 1;
26
+ _defineProperty(this, "_unsubscribeNavHeight", void 0);
27
+ _defineProperty(this, "handleOnScrollEndDrag", event => {
28
+ var _event$nativeEvent;
29
+ const {
30
+ onScrollEndDrag,
31
+ scrollDirection
32
+ } = this.context;
33
+ const scrollPosition = event === null || event === void 0 || (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 || (_event$nativeEvent = _event$nativeEvent.contentOffset) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.y;
34
+ if (scrollPosition >= 0) {
35
+ if (scrollDirection.value > 0) {
26
36
  this.invokeEventCallback('onSwipeup', [null, this.proxy]);
27
- } else if (scrollPosition === this.previousScrollPosition) {
28
- e.scrollDirection = 0;
29
37
  } else {
30
- e.scrollDirection = -1;
31
38
  this.invokeEventCallback('onSwipedown', [null, this.proxy]);
32
39
  }
33
- this.previousScrollPosition = scrollPosition;
34
- this.notify('scroll', [e]);
40
+ onScrollEndDrag(this.scrollRef);
35
41
  }
36
42
  });
43
+ _defineProperty(this, "handleScrollViewLayout", () => {
44
+ requestAnimationFrame(() => {
45
+ this.notify('updateStickyHeaders', []);
46
+ });
47
+ });
37
48
  this.hideMode = HideMode.DONOT_ADD_TO_DOM;
38
49
  this.scrollRef = /*#__PURE__*/createRef();
50
+ this.state = {
51
+ ...this.state,
52
+ navHeightForRender: 0
53
+ };
39
54
  this.subscribe('scrollToPosition', args => {
40
55
  this.scrollTo(args);
41
56
  });
42
57
  this.subscribe('scrollToEnd', () => {
43
58
  var _this$scrollRef;
44
- (_this$scrollRef = this.scrollRef) === null || _this$scrollRef === void 0 || _this$scrollRef.current.scrollToEnd();
59
+ (_this$scrollRef = this.scrollRef) === null || _this$scrollRef === void 0 || (_this$scrollRef = _this$scrollRef.current) === null || _this$scrollRef === void 0 || _this$scrollRef.scrollToEnd();
45
60
  });
46
61
  }
62
+ componentDidMount() {
63
+ super.componentDidMount();
64
+ const {
65
+ navHeight
66
+ } = this.context;
67
+ this._unsubscribeNavHeight = this.subscribe('updateNavHeight', navHeightValue => {
68
+ if (this.state.navHeightForRender !== navHeightValue) {
69
+ this.setState({
70
+ navHeightForRender: navHeightValue
71
+ });
72
+ }
73
+ return null;
74
+ });
75
+ if (navHeight) {
76
+ this.setState({
77
+ navHeightForRender: navHeight.value
78
+ });
79
+ }
80
+ }
81
+ componentWillUnmount() {
82
+ super.componentWillUnmount();
83
+ if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();
84
+ }
47
85
  scrollTo(position) {
48
86
  var _this$scrollRef2;
49
87
  (_this$scrollRef2 = this.scrollRef) === null || _this$scrollRef2 === void 0 || (_this$scrollRef2 = _this$scrollRef2.current) === null || _this$scrollRef2 === void 0 || _this$scrollRef2.scrollTo({
50
88
  x: position.x,
51
89
  y: position.y,
52
- Animated: true
90
+ animated: true
53
91
  });
54
92
  }
55
93
  renderSkeleton(props) {
@@ -75,6 +113,10 @@ export default class WmPageContent extends BaseComponent {
75
113
  }
76
114
  renderWidget(props) {
77
115
  const showScrollbar = this.styles.root.scrollbarColor != 'transparent';
116
+ const {
117
+ bottomTabHeight,
118
+ onScroll
119
+ } = this.context;
78
120
  const borderRadiusStyles = {
79
121
  borderRadius: this.styles.root.borderRadius,
80
122
  borderTopLeftRadius: this.styles.root.borderTopLeftRadius,
@@ -95,27 +137,38 @@ export default class WmPageContent extends BaseComponent {
95
137
  left: 0,
96
138
  right: 0
97
139
  }) => {
140
+ var _this$styles, _this$styles2, _this$styles3, _this$styles4;
98
141
  const keyboardOffset = props.consumenotch ? (insets === null || insets === void 0 ? void 0 : insets.bottom) || 0 : 0;
99
142
  const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;
143
+ const paddingTop = ((_this$styles = this.styles) === null || _this$styles === void 0 || (_this$styles = _this$styles.root) === null || _this$styles === void 0 ? void 0 : _this$styles.paddingTop) || ((_this$styles2 = this.styles) === null || _this$styles2 === void 0 || (_this$styles2 = _this$styles2.root) === null || _this$styles2 === void 0 ? void 0 : _this$styles2.padding);
144
+ const paddingBottom = ((_this$styles3 = this.styles) === null || _this$styles3 === void 0 || (_this$styles3 = _this$styles3.root) === null || _this$styles3 === void 0 ? void 0 : _this$styles3.paddingBottom) || ((_this$styles4 = this.styles) === null || _this$styles4 === void 0 || (_this$styles4 = _this$styles4.root) === null || _this$styles4 === void 0 ? void 0 : _this$styles4.padding);
145
+ const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;
146
+ const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;
147
+ const navHeightVal = this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav' ? this.state.navHeightForRender : 0;
100
148
  return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
101
149
  behavior: Platform.OS === 'ios' ? 'padding' : undefined,
102
150
  keyboardVerticalOffset: verticalOffset,
103
151
  style: {
104
152
  flex: 1
105
153
  }
106
- }, /*#__PURE__*/React.createElement(ScrollView, {
154
+ }, /*#__PURE__*/React.createElement(Animated.ScrollView, {
107
155
  keyboardShouldPersistTaps: props.keyboardpersisttaps,
108
156
  testID: this.getTestId("page_content_scrollview"),
109
157
  ref: this.scrollRef,
110
158
  contentContainerStyle: [this.styles.root, {
111
- backgroundColor: 'transparent'
159
+ backgroundColor: 'transparent',
160
+ paddingTop: navHeightVal + paddingTopVal,
161
+ paddingBottom: bottomTabHeight.value + paddingBottomVal
112
162
  }],
163
+ onLayout: this.handleScrollViewLayout,
113
164
  showsVerticalScrollIndicator: showScrollbar,
114
- onScroll: this.handleScroll,
165
+ onScroll: onScroll,
115
166
  alwaysBounceVertical: false,
116
167
  alwaysBounceHorizontal: false,
117
168
  bounces: false,
118
- scrollEventThrottle: 48
169
+ overScrollMode: "never",
170
+ removeClippedSubviews: Platform.OS == 'android',
171
+ onScrollEndDrag: this.handleOnScrollEndDrag
119
172
  }, props.children));
120
173
  })) : /*#__PURE__*/React.createElement(View, {
121
174
  style: [this.styles.root, {
@@ -139,4 +192,5 @@ export default class WmPageContent extends BaseComponent {
139
192
  }));
140
193
  }
141
194
  }
195
+ _defineProperty(WmPageContent, "contextType", StickyWrapperContext);
142
196
  //# sourceMappingURL=page-content.component.js.map