@wavemaker/app-rn-runtime 11.14.1-3.6306 → 11.14.1-31.647762

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 (140) hide show
  1. package/components/advanced/carousel/carousel.component.js +1 -1
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/basic/bottomsheet/bottomsheet.component.js +240 -33
  4. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  5. package/components/basic/bottomsheet/bottomsheet.styles.js +0 -3
  6. package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
  7. package/components/basic/label/label.component.js +11 -22
  8. package/components/basic/label/label.component.js.map +1 -1
  9. package/components/basic/label/label.props.js +1 -0
  10. package/components/basic/label/label.props.js.map +1 -1
  11. package/components/basic/progress-circle/progress-circle.component.js +3 -3
  12. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  13. package/components/chart/area-chart/area-chart.component.js +27 -10
  14. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  15. package/components/chart/bar-chart/bar-chart.component.js +39 -7
  16. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  17. package/components/chart/bar-chart/bar-chart.props.js +1 -0
  18. package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  19. package/components/chart/basechart.component.js +8 -15
  20. package/components/chart/basechart.component.js.map +1 -1
  21. package/components/chart/basechart.props.js +1 -0
  22. package/components/chart/basechart.props.js.map +1 -1
  23. package/components/chart/bubble-chart/bubble-chart.component.js +23 -6
  24. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  25. package/components/chart/line-chart/line-chart.component.js +22 -5
  26. package/components/chart/line-chart/line-chart.component.js.map +1 -1
  27. package/components/chart/pie-chart/pie-chart.component.js +15 -4
  28. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  29. package/components/chart/stack-chart/stack-chart.component.js +1 -1
  30. package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  31. package/components/container/accordion/accordionpane/accordionpane.component.js +6 -4
  32. package/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  33. package/components/container/container.component.js +207 -14
  34. package/components/container/container.component.js.map +1 -1
  35. package/components/container/container.props.js +6 -0
  36. package/components/container/container.props.js.map +1 -1
  37. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +32 -4
  38. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  39. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js +1 -0
  40. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js.map +1 -1
  41. package/components/container/panel/panel.component.js +1 -1
  42. package/components/container/panel/panel.component.js.map +1 -1
  43. package/components/container/tabs/tabpane/tabpane.component.js +1 -1
  44. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  45. package/components/container/tabs/tabs.component.js +62 -29
  46. package/components/container/tabs/tabs.component.js.map +1 -1
  47. package/components/container/tabs/tabs.props.js +1 -0
  48. package/components/container/tabs/tabs.props.js.map +1 -1
  49. package/components/container/wizard/wizardstep/wizardstep.component.js +1 -1
  50. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  51. package/components/data/form/form-field/form-field.component.js +21 -1
  52. package/components/data/form/form-field/form-field.component.js.map +1 -1
  53. package/components/data/form/form-field/form-field.props.js +3 -0
  54. package/components/data/form/form-field/form-field.props.js.map +1 -1
  55. package/components/data/form/form.component.js +11 -3
  56. package/components/data/form/form.component.js.map +1 -1
  57. package/components/data/form/form.props.js +1 -0
  58. package/components/data/form/form.props.js.map +1 -1
  59. package/components/data/list/list.component.js +1 -1
  60. package/components/data/list/list.component.js.map +1 -1
  61. package/components/input/baseinput/baseinput.component.js +30 -3
  62. package/components/input/baseinput/baseinput.component.js.map +1 -1
  63. package/components/input/baseinput/baseinput.props.js +1 -0
  64. package/components/input/baseinput/baseinput.props.js.map +1 -1
  65. package/components/input/basenumber/basenumber.component.js +18 -3
  66. package/components/input/basenumber/basenumber.component.js.map +1 -1
  67. package/components/input/basenumber/basenumber.props.js +2 -0
  68. package/components/input/basenumber/basenumber.props.js.map +1 -1
  69. package/components/input/calendar/calendar.component.js +5 -1
  70. package/components/input/calendar/calendar.component.js.map +1 -1
  71. package/components/input/calendar/views/month-view.js +8 -1
  72. package/components/input/calendar/views/month-view.js.map +1 -1
  73. package/components/input/checkboxset/checkboxset.component.js +1 -1
  74. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  75. package/components/input/currency/currency.component.js +2 -0
  76. package/components/input/currency/currency.component.js.map +1 -1
  77. package/components/input/currency/currency.styles.js +10 -1
  78. package/components/input/currency/currency.styles.js.map +1 -1
  79. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +6 -1
  80. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  81. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +6 -1
  82. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  83. package/components/input/number/number.component.js +2 -0
  84. package/components/input/number/number.component.js.map +1 -1
  85. package/components/input/number/number.styles.js +4 -0
  86. package/components/input/number/number.styles.js.map +1 -1
  87. package/components/input/radioset/radioset.component.js +6 -3
  88. package/components/input/radioset/radioset.component.js.map +1 -1
  89. package/components/input/text/text.component.js +11 -0
  90. package/components/input/text/text.component.js.map +1 -1
  91. package/components/input/text/text.props.js +1 -1
  92. package/components/input/text/text.props.js.map +1 -1
  93. package/components/input/text/text.styles.js +17 -0
  94. package/components/input/text/text.styles.js.map +1 -1
  95. package/components/input/textarea/textarea.component.js +1 -0
  96. package/components/input/textarea/textarea.component.js.map +1 -1
  97. package/components/input/textarea/textarea.styles.js +4 -0
  98. package/components/input/textarea/textarea.styles.js.map +1 -1
  99. package/components/navigation/popover/popover.component.js +3 -3
  100. package/components/navigation/popover/popover.component.js.map +1 -1
  101. package/components/page/left-panel/left-panel.component.js +1 -1
  102. package/components/page/left-panel/left-panel.component.js.map +1 -1
  103. package/components/page/page-content/page-content.component.js +17 -5
  104. package/components/page/page-content/page-content.component.js.map +1 -1
  105. package/components/page/page-content/page-content.props.js +2 -0
  106. package/components/page/page-content/page-content.props.js.map +1 -1
  107. package/core/AppConfig.js.map +1 -1
  108. package/core/base.component.js +23 -0
  109. package/core/base.component.js.map +1 -1
  110. package/core/components/textinput.component.js +27 -5
  111. package/core/components/textinput.component.js.map +1 -1
  112. package/core/environment.js +25 -0
  113. package/core/environment.js.map +1 -0
  114. package/core/fixed-view.component.js +19 -2
  115. package/core/fixed-view.component.js.map +1 -1
  116. package/core/tappable.component.js +109 -15
  117. package/core/tappable.component.js.map +1 -1
  118. package/core/viewport.js +13 -8
  119. package/core/viewport.js.map +1 -1
  120. package/gestures/carousel-swipe.animation.js +1 -1
  121. package/gestures/carousel-swipe.animation.js.map +1 -1
  122. package/npm-shrinkwrap.json +4100 -2695
  123. package/package-lock.json +4100 -2695
  124. package/package.json +5 -2
  125. package/runtime/App.js +1 -0
  126. package/runtime/App.js.map +1 -1
  127. package/runtime/base-fragment.component.js +28 -5
  128. package/runtime/base-fragment.component.js.map +1 -1
  129. package/runtime/base-page.component.js +2 -1
  130. package/runtime/base-page.component.js.map +1 -1
  131. package/runtime/navigator/drawer.navigator.js +2 -0
  132. package/runtime/navigator/drawer.navigator.js.map +1 -1
  133. package/runtime/navigator/stack.navigator.js +22 -1
  134. package/runtime/navigator/stack.navigator.js.map +1 -1
  135. package/runtime/services/device/scan-service.js +12 -34
  136. package/runtime/services/device/scan-service.js.map +1 -1
  137. package/styles/theme.js +27 -2
  138. package/styles/theme.js.map +1 -1
  139. package/styles/theme.variables.js +2 -0
  140. package/styles/theme.variables.js.map +1 -1
@@ -0,0 +1,25 @@
1
+ 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
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ 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
+ import StorageService from "./storage.service";
5
+ export const CURRENT_ENVIRONMENT = 'currentEnvironment';
6
+ class Environment {
7
+ constructor() {
8
+ _defineProperty(this, "_loadProfileCallback", null);
9
+ }
10
+ /** Persist profile name and run the registered loadenv callback. Does not restart. */
11
+ setCurrent(env) {
12
+ return StorageService.setItem(CURRENT_ENVIRONMENT, env).then(() => {
13
+ var _this$_loadProfileCal;
14
+ (_this$_loadProfileCal = this._loadProfileCallback) === null || _this$_loadProfileCal === void 0 || _this$_loadProfileCal.call(this, env);
15
+ });
16
+ }
17
+ getCurrentAsync() {
18
+ return StorageService.getItem(CURRENT_ENVIRONMENT);
19
+ }
20
+ registerLoadCallback(fn) {
21
+ this._loadProfileCallback = fn;
22
+ }
23
+ }
24
+ export default new Environment();
25
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StorageService","CURRENT_ENVIRONMENT","Environment","constructor","_defineProperty","setCurrent","env","setItem","then","_this$_loadProfileCal","_loadProfileCallback","call","getCurrentAsync","getItem","registerLoadCallback","fn"],"sources":["environment.ts"],"sourcesContent":["import StorageService from \"./storage.service\";\n\nexport const CURRENT_ENVIRONMENT = 'currentEnvironment'\n\nclass Environment {\n private _loadProfileCallback: ((profileName: string) => void) | null = null;\n\n /** Persist profile name and run the registered loadenv callback. Does not restart. */\n setCurrent(env: string): Promise<void> {\n return StorageService.setItem(CURRENT_ENVIRONMENT, env).then(() => {\n this._loadProfileCallback?.(env);\n });\n }\n\n getCurrentAsync() {\n return StorageService.getItem(CURRENT_ENVIRONMENT);\n }\n\n registerLoadCallback(fn: (profileName: string) => void) {\n this._loadProfileCallback = fn;\n }\n}\n\nexport default new Environment();\n"],"mappings":";;;AAAA,OAAOA,cAAc,MAAM,mBAAmB;AAE9C,OAAO,MAAMC,mBAAmB,GAAG,oBAAoB;AAEvD,MAAMC,WAAW,CAAC;EAAAC,YAAA;IAAAC,eAAA,+BACyD,IAAI;EAAA;EAE3E;EACAC,UAAUA,CAACC,GAAW,EAAiB;IACnC,OAAON,cAAc,CAACO,OAAO,CAACN,mBAAmB,EAAEK,GAAG,CAAC,CAACE,IAAI,CAAC,MAAM;MAAA,IAAAC,qBAAA;MAC/D,CAAAA,qBAAA,OAAI,CAACC,oBAAoB,cAAAD,qBAAA,eAAzBA,qBAAA,CAAAE,IAAA,KAAI,EAAwBL,GAAG,CAAC;IACpC,CAAC,CAAC;EACN;EAEAM,eAAeA,CAAA,EAAG;IACd,OAAOZ,cAAc,CAACa,OAAO,CAACZ,mBAAmB,CAAC;EACtD;EAEAa,oBAAoBA,CAACC,EAAiC,EAAE;IACpD,IAAI,CAACL,oBAAoB,GAAGK,EAAE;EAClC;AACJ;AAEA,eAAe,IAAIb,WAAW,CAAC,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
2
2
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
3
  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
4
  import React from "react";
5
- import { View, Animated } from "react-native";
5
+ import { View, Animated, Keyboard, TextInput, findNodeHandle } from "react-native";
6
6
  import { ThemeProvider } from "../styles/theme";
7
7
  const FixedViewContext = /*#__PURE__*/React.createContext(null);
8
8
  export class FixedView extends React.Component {
@@ -11,6 +11,22 @@ export class FixedView extends React.Component {
11
11
  _defineProperty(this, "container", null);
12
12
  _defineProperty(this, "cachedComponent", void 0);
13
13
  _defineProperty(this, "id", FixedView.counter++);
14
+ /**
15
+ *
16
+ * Capture the touch before it reaches child Touchables
17
+ */
18
+ _defineProperty(this, "handleStartShouldSetResponderCapture", event => {
19
+ var _event$nativeEvent;
20
+ const textInputState = TextInput.State;
21
+ const focusedInput = textInputState !== null && textInputState !== void 0 && textInputState.currentlyFocusedInput ? textInputState.currentlyFocusedInput() : null;
22
+ const focusedHandle = focusedInput ? findNodeHandle(focusedInput) : textInputState !== null && textInputState !== void 0 && textInputState.currentlyFocusedInput ? textInputState.currentlyFocusedInput() : null;
23
+ if (focusedHandle && (event === null || event === void 0 || (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.target) === focusedHandle) {
24
+ // Should not dismiss keyboard if the user presses on the same text input that is already focused
25
+ return false;
26
+ }
27
+ Keyboard.dismiss();
28
+ return false; // let the touch reach the child Touchables
29
+ });
14
30
  }
15
31
  componentWillUnmount() {
16
32
  this.container.remove(this);
@@ -27,7 +43,8 @@ export class FixedView extends React.Component {
27
43
  style: [{
28
44
  position: 'absolute'
29
45
  }, this.props.style],
30
- testID: `${this.props.name}-fixed-view`
46
+ testID: `${this.props.name}-fixed-view`,
47
+ onStartShouldSetResponderCapture: this.handleStartShouldSetResponderCapture
31
48
  }, this.props.children)));
32
49
  } else {
33
50
  container.remove(this);
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Animated","ThemeProvider","FixedViewContext","createContext","FixedView","Component","constructor","props","_defineProperty","counter","componentWillUnmount","container","remove","render","WrapperView","animated","cachedComponent","usememo","createElement","Consumer","show","add","value","theme","key","id","style","position","testID","name","children","Fragment","Date","now","FixedViewContainer","args","Map","c","n","set","setTimeout","setState","delete","Provider","Array","from","values"],"sources":["fixed-view.component.tsx"],"sourcesContent":["\nimport React from \"react\";\nimport { View, ViewStyle, Animated } from \"react-native\";\nimport { Theme, ThemeProvider } from \"../styles/theme\";\n\nconst FixedViewContext = React.createContext<FixedViewContainer>(null as any);\n\nexport interface FixedViewProps {\n name?: string;\n style?: ViewStyle,\n show?: boolean;\n theme: Theme;\n usememo?: boolean;\n children?: any;\n animated?: boolean;\n}\n\nexport class FixedView extends React.Component<FixedViewProps> {\n static defaultProps = {\n show: true, \n animated: false\n };\n static counter = Date.now();\n container: FixedViewContainer = null as any;\n cachedComponent: React.ReactNode;\n id = FixedView.counter++;\n\n constructor(props: FixedViewProps) {\n super(props);\n }\n\n componentWillUnmount() {\n this.container.remove(this);\n }\n\n render() {\n const WrapperView = this.props.animated ? Animated.View : View\n this.cachedComponent = (this.props.usememo === true && this.cachedComponent ) || (<FixedViewContext.Consumer>\n {(container) => {\n this.container = container;\n if (this.props.show) {\n container.add(this, (\n <ThemeProvider value={this.props.theme} key={this.id}>\n <WrapperView style={[\n {position: 'absolute'},\n this.props.style]}\n testID={`${this.props.name}-fixed-view`}\n >\n {this.props.children}\n </WrapperView>\n </ThemeProvider>\n ));\n } else {\n container.remove(this);\n }\n return <></>;\n }}\n </FixedViewContext.Consumer>);\n return this.cachedComponent;\n }\n}\n\nexport class FixedViewContainer extends React.Component {\n children: Map<FixedView, React.ReactNode> = new Map();\n id = 0;\n\n add(c: FixedView, n : React.ReactNode) {\n this.children.set(c, n);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n remove(c: FixedView) {\n this.children.delete(c);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n render() {\n return (\n <FixedViewContext.Provider value={this}>\n {(this.props as any).children}\n {Array.from(this.children.values())}\n </FixedViewContext.Provider>\n ) ;\n }\n};"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Animated","Keyboard","TextInput","findNodeHandle","ThemeProvider","FixedViewContext","createContext","FixedView","Component","constructor","props","_defineProperty","counter","event","_event$nativeEvent","textInputState","State","focusedInput","currentlyFocusedInput","focusedHandle","nativeEvent","target","dismiss","componentWillUnmount","container","remove","render","WrapperView","animated","cachedComponent","usememo","createElement","Consumer","show","add","value","theme","key","id","style","position","testID","name","onStartShouldSetResponderCapture","handleStartShouldSetResponderCapture","children","Fragment","Date","now","FixedViewContainer","args","Map","c","n","set","setTimeout","setState","delete","Provider","Array","from","values"],"sources":["fixed-view.component.tsx"],"sourcesContent":["\nimport React from \"react\";\nimport { View, ViewStyle, Animated, Keyboard, TextInput, findNodeHandle, GestureResponderEvent } from \"react-native\";\nimport { Theme, ThemeProvider } from \"../styles/theme\";\n\nconst FixedViewContext = React.createContext<FixedViewContainer>(null as any);\n\nexport interface FixedViewProps {\n name?: string;\n style?: ViewStyle,\n show?: boolean;\n theme: Theme;\n usememo?: boolean;\n children?: any;\n animated?: boolean;\n}\n\nexport class FixedView extends React.Component<FixedViewProps> {\n static defaultProps = {\n show: true, \n animated: false\n };\n static counter = Date.now();\n container: FixedViewContainer = null as any;\n cachedComponent: React.ReactNode;\n id = FixedView.counter++;\n\n constructor(props: FixedViewProps) {\n super(props);\n }\n\n /**\n * \n * Capture the touch before it reaches child Touchables\n */\n handleStartShouldSetResponderCapture = (event: GestureResponderEvent) => {\n const textInputState = TextInput.State as any;\n const focusedInput = textInputState?.currentlyFocusedInput ? textInputState.currentlyFocusedInput() : null;\n const focusedHandle = focusedInput\n ? findNodeHandle(focusedInput)\n : textInputState?.currentlyFocusedInput\n ? textInputState.currentlyFocusedInput()\n : null;\n\n if (focusedHandle && event?.nativeEvent?.target === focusedHandle) {\n // Should not dismiss keyboard if the user presses on the same text input that is already focused\n return false;\n }\n\n Keyboard.dismiss();\n return false; // let the touch reach the child Touchables\n };\n\n componentWillUnmount() {\n this.container.remove(this);\n }\n\n render() {\n const WrapperView = this.props.animated ? Animated.View : View\n this.cachedComponent = (this.props.usememo === true && this.cachedComponent ) || (<FixedViewContext.Consumer>\n {(container) => {\n this.container = container;\n if (this.props.show) {\n container.add(this, (\n <ThemeProvider value={this.props.theme} key={this.id}>\n <WrapperView style={[\n {position: 'absolute'},\n this.props.style]}\n testID={`${this.props.name}-fixed-view`}\n onStartShouldSetResponderCapture={this.handleStartShouldSetResponderCapture}\n >\n {this.props.children}\n </WrapperView>\n </ThemeProvider>\n ));\n } else {\n container.remove(this);\n }\n return <></>;\n }}\n </FixedViewContext.Consumer>);\n return this.cachedComponent;\n }\n}\n\nexport class FixedViewContainer extends React.Component {\n children: Map<FixedView, React.ReactNode> = new Map();\n id = 0;\n\n add(c: FixedView, n : React.ReactNode) {\n this.children.set(c, n);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n remove(c: FixedView) {\n this.children.delete(c);\n setTimeout(() => this.setState({id: ++this.id}));\n }\n\n render() {\n return (\n <FixedViewContext.Provider value={this}>\n {(this.props as any).children}\n {Array.from(this.children.values())}\n </FixedViewContext.Provider>\n ) ;\n }\n};"],"mappings":"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","ignoreList":[]}
@@ -3,12 +3,16 @@ 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 { Platform, View, TouchableOpacity } from "react-native";
7
- import { get } from "lodash";
6
+ import { Platform, View, TouchableOpacity as RNTouchableOpacity } from "react-native";
7
+ import { Pressable, TouchableNativeFeedback, TouchableOpacity } from "react-native-gesture-handler";
8
+ import Constants, { ExecutionEnvironment } from 'expo-constants';
9
+ import { cloneDeep, get } from "lodash";
8
10
  import injector from "./injector";
9
11
  import { TouchableRipple } from "react-native-paper";
12
+ import { deepCopy } from "./utils";
10
13
  export const TappableContext = /*#__PURE__*/React.createContext(null);
11
14
  import { UIPreferencesConsumer } from "./ui-preferences.context";
15
+ const isExpoGo = Constants.executionEnvironment === ExecutionEnvironment.StoreClient;
12
16
  export const ParentTappableContext = /*#__PURE__*/React.createContext(null);
13
17
  export class SyntheticEvent {
14
18
  constructor() {
@@ -21,12 +25,113 @@ export class SyntheticEvent {
21
25
  }
22
26
  export class Tappable extends React.Component {
23
27
  constructor(props) {
28
+ var _this$appConfig$isLeg, _this$appConfig;
24
29
  super(props);
25
30
  _defineProperty(this, "lastPress", 0);
26
31
  _defineProperty(this, "lastTap", 0);
27
32
  _defineProperty(this, "lastDoubleTap", 0);
28
33
  _defineProperty(this, "isLongTap", false);
29
34
  _defineProperty(this, "parent", null);
35
+ _defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
36
+ _defineProperty(this, "isLegacyTappable", void 0);
37
+ _defineProperty(this, "getContainerStyles", commonStyles => {
38
+ var _inner, _inner2, _inner3, _inner4, _inner5, _inner6, _inner7;
39
+ let inner = {};
40
+ if (Array.isArray(commonStyles)) {
41
+ commonStyles.forEach(style => {
42
+ if (style) {
43
+ Object.keys(style).forEach(key => {
44
+ inner[key] = style[key];
45
+ });
46
+ }
47
+ });
48
+ } else {
49
+ inner = cloneDeep(commonStyles);
50
+ }
51
+ const outer = deepCopy(inner);
52
+ outer === null || outer === void 0 || delete outer["padding"];
53
+ outer === null || outer === void 0 || delete outer["paddingHorizontal"];
54
+ outer === null || outer === void 0 || delete outer["paddingVertical"];
55
+ outer === null || outer === void 0 || delete outer["paddingTop"];
56
+ outer === null || outer === void 0 || delete outer["paddingBottom"];
57
+ outer === null || outer === void 0 || delete outer["paddingLeft"];
58
+ outer === null || outer === void 0 || delete outer["paddingRight"];
59
+ (_inner = inner) === null || _inner === void 0 || delete _inner["margin"];
60
+ (_inner2 = inner) === null || _inner2 === void 0 || delete _inner2["marginHorizontal"];
61
+ (_inner3 = inner) === null || _inner3 === void 0 || delete _inner3["marginVertical"];
62
+ (_inner4 = inner) === null || _inner4 === void 0 || delete _inner4["marginLeft"];
63
+ (_inner5 = inner) === null || _inner5 === void 0 || delete _inner5["marginRight"];
64
+ (_inner6 = inner) === null || _inner6 === void 0 || delete _inner6["marginTop"];
65
+ (_inner7 = inner) === null || _inner7 === void 0 || delete _inner7["marginBottom"];
66
+ return {
67
+ outer,
68
+ inner
69
+ };
70
+ });
71
+ /*
72
+ TODO: Remove TouchableNativeFeedback and TouchableOpacity, and use Pressable only,
73
+ When the issue with Pressable not working in Expo GO is fixed from Expo. (this happens only in Android with Expo Go)
74
+ */
75
+ _defineProperty(this, "getTouchableRipple", (rippleColor, commonProps) => {
76
+ if (this.isLegacyTappable || Platform.OS === 'ios') {
77
+ return /*#__PURE__*/React.createElement(TouchableRipple, _extends({
78
+ rippleColor: rippleColor,
79
+ borderless: true
80
+ }, commonProps, {
81
+ onLayout: this.props.onLayout
82
+ }), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children));
83
+ }
84
+ if (isExpoGo) {
85
+ const containerStyle = this.getContainerStyles(commonProps.style);
86
+ delete commonProps["style"];
87
+ return /*#__PURE__*/React.createElement(TouchableNativeFeedback, _extends({}, rippleColor && {
88
+ background: TouchableNativeFeedback.Ripple(rippleColor, true)
89
+ }, {
90
+ onLayout: this.props.onLayout
91
+ }, commonProps, {
92
+ style: containerStyle.outer
93
+ }), /*#__PURE__*/React.createElement(View, {
94
+ style: containerStyle.inner
95
+ }, this.props.children));
96
+ }
97
+ return /*#__PURE__*/React.createElement(Pressable, _extends({
98
+ android_ripple: {
99
+ color: rippleColor,
100
+ borderless: true
101
+ },
102
+ onLayout: this.props.onLayout
103
+ }, commonProps), this.props.children);
104
+ });
105
+ _defineProperty(this, "getTouchable", commonProps => {
106
+ if (this.isLegacyTappable || Platform.OS === 'ios') {
107
+ return /*#__PURE__*/React.createElement(RNTouchableOpacity, _extends({
108
+ activeOpacity: this.props.disableTouchEffect ? 1 : 0.2,
109
+ onLayout: this.props.onLayout
110
+ }, commonProps), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children));
111
+ }
112
+ if (isExpoGo) {
113
+ const containerStyle = this.getContainerStyles(commonProps.style);
114
+ delete commonProps["style"];
115
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
116
+ activeOpacity: this.props.disableTouchEffect ? 1 : 0.2,
117
+ onLayout: this.props.onLayout
118
+ }, commonProps, {
119
+ style: containerStyle.outer
120
+ }), /*#__PURE__*/React.createElement(View, {
121
+ style: containerStyle.inner
122
+ }, this.props.children));
123
+ }
124
+ return /*#__PURE__*/React.createElement(Pressable, _extends({
125
+ onLayout: this.props.onLayout
126
+ }, commonProps, {
127
+ style: ({
128
+ pressed
129
+ }) => [commonProps.style, {
130
+ opacity: !this.props.disableTouchEffect && pressed ? 0.2 : 1
131
+ }]
132
+ }), this.props.children);
133
+ });
134
+ this.isLegacyTappable = (_this$appConfig$isLeg = (_this$appConfig = this.appConfig) === null || _this$appConfig === void 0 ? void 0 : _this$appConfig.isLegacyTappable) !== null && _this$appConfig$isLeg !== void 0 ? _this$appConfig$isLeg : true;
30
135
  }
31
136
  async triggerTap(e = new SyntheticEvent()) {
32
137
  var _this$parent;
@@ -136,19 +241,8 @@ export class Tappable extends React.Component {
136
241
  this.setParent(parent);
137
242
  return /*#__PURE__*/React.createElement(ParentTappableContext.Provider, {
138
243
  value: this
139
- }, /*#__PURE__*/React.createElement(TouchableRipple, _extends({
140
- rippleColor: this.props.disableTouchEffect ? "transparent" : this.props.rippleColor,
141
- borderless: true
142
- }, commonProps, {
143
- onLayout: this.props.onLayout
144
- }), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children)));
145
- }) :
146
- /*#__PURE__*/
147
- //default value is 0.2
148
- React.createElement(TouchableOpacity, _extends({
149
- activeOpacity: this.props.disableTouchEffect ? 1 : 0.2,
150
- onLayout: this.props.onLayout
151
- }, commonProps), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children));
244
+ }, this.getTouchableRipple(this.props.disableTouchEffect ? "transparent" : this.props.rippleColor, commonProps));
245
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, this.getTouchable(commonProps));
152
246
  });
153
247
  }
154
248
  return /*#__PURE__*/React.createElement(View, _extends({
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","View","TouchableOpacity","get","injector","TouchableRipple","TappableContext","createContext","UIPreferencesConsumer","ParentTappableContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","triggerTap","e","_this$parent","target","onTap","invokeEventCallback","parent","onPress","_this$props$target","lastPress","Date","now","onTouchStart","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent2","onLongTap","_this$props$target2","_this$parent3","onPressOut","onTouchEnd","_this$props$target3","_this$parent4","setParent","render","commonProps","OS","accessibilityLabel","testID","accessibilityProps","disabled","proxy","style","styles","_e$target","tagName","onLongPress","onLongtap","onDoubletap","createElement","preferences","enableRipple","Consumer","Provider","value","_extends","rippleColor","disableTouchEffect","borderless","onLayout","Fragment","children","activeOpacity"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View, TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\nimport { isDefined } from \"./utils\";\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\nimport { UIPreferencesConsumer, UI_PREFERENCES } from \"./ui-preferences.context\";\n\nexport const ParentTappableContext = React.createContext<Tappable>(null as any);\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n disableTouchEffect?:boolean;\n onLayout?: any;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n async triggerTap(e = new SyntheticEvent()) {\n if (!e.propagationEnabled) {\n return;\n }\n const target = this.props.target;\n if (this.props.onTap) {\n await this.props.onTap(e);\n } else {\n await target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.triggerTap(e);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (!e.propagationEnabled) {\n return;\n }\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n render() {\n const target = this.props.target;\n const commonProps = {\n ...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n },\n ...this.props.accessibilityProps,\n disabled:get(target?.proxy, 'disabled'),\n style:this.props.styles,\n onPress:(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new SyntheticEvent())\n },\n onLongPress:(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent()),\n onPressOut:(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())\n };\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <UIPreferencesConsumer>\n {(preferences: UI_PREFERENCES) => {\n return preferences.enableRipple != false ? (\n <ParentTappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return(\n <ParentTappableContext.Provider value={this}>\n <TouchableRipple \n rippleColor={this.props.disableTouchEffect ? \"transparent\" : this.props.rippleColor} \n borderless={true} \n {...commonProps}\n onLayout={this.props.onLayout}\n >\n <>{this.props.children}</>\n </TouchableRipple>\n </ParentTappableContext.Provider>\n )\n }}</ParentTappableContext.Consumer>): (\n //default value is 0.2\n <TouchableOpacity \n activeOpacity={this.props.disableTouchEffect ? 1 : 0.2} \n onLayout={this.props.onLayout}\n {...commonProps}\n >\n <>{this.props.children}</>\n </TouchableOpacity>);\n }}\n </UIPreferencesConsumer>\n );\n }\n return (\n <View \n style={this.props.styles}\n onLayout={this.props.onLayout}\n {...this.props.accessibilityProps}\n >\n {this.props.children}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","View","TouchableOpacity","RNTouchableOpacity","Pressable","TouchableNativeFeedback","Constants","ExecutionEnvironment","cloneDeep","get","injector","TouchableRipple","deepCopy","TappableContext","createContext","UIPreferencesConsumer","isExpoGo","executionEnvironment","StoreClient","ParentTappableContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","_this$appConfig$isLeg","_this$appConfig","commonStyles","_inner","_inner2","_inner3","_inner4","_inner5","_inner6","_inner7","inner","Array","isArray","forEach","style","Object","keys","key","outer","rippleColor","commonProps","isLegacyTappable","OS","createElement","_extends","borderless","onLayout","Fragment","children","containerStyle","getContainerStyles","background","Ripple","android_ripple","color","activeOpacity","disableTouchEffect","pressed","opacity","appConfig","triggerTap","e","_this$parent","target","onTap","invokeEventCallback","parent","onPress","_this$props$target","lastPress","Date","now","onTouchStart","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent2","onLongTap","_this$props$target2","_this$parent3","onPressOut","onTouchEnd","_this$props$target3","_this$parent4","setParent","render","accessibilityLabel","testID","accessibilityProps","disabled","proxy","styles","_e$target","tagName","onLongPress","onLongtap","onDoubletap","preferences","enableRipple","Consumer","Provider","value","getTouchableRipple","getTouchable"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View, TouchableOpacity as RNTouchableOpacity } from \"react-native\";\nimport { Pressable, TouchableNativeFeedback, TouchableOpacity } from \"react-native-gesture-handler\";\nimport Constants, { ExecutionEnvironment } from 'expo-constants';\nimport { cloneDeep, get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\nimport { deepCopy, isDefined } from \"./utils\";\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\nimport { UIPreferencesConsumer, UI_PREFERENCES } from \"./ui-preferences.context\";\n\nconst isExpoGo = Constants.executionEnvironment === ExecutionEnvironment.StoreClient;\n\nexport const ParentTappableContext = React.createContext<Tappable>(null as any);\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n disableTouchEffect?:boolean;\n onLayout?: any;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n private appConfig: any = injector.get<AppConfig>('APP_CONFIG');;\n private isLegacyTappable: boolean\n\n constructor(props: any) {\n super(props);\n this.isLegacyTappable = this.appConfig?.isLegacyTappable ?? true;\n }\n\n async triggerTap(e = new SyntheticEvent()) {\n if (!e.propagationEnabled) {\n return;\n }\n const target = this.props.target;\n if (this.props.onTap) {\n await this.props.onTap(e);\n } else {\n await target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.triggerTap(e);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (!e.propagationEnabled) {\n return;\n }\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n\n private getContainerStyles = (commonStyles: any) => {\n let inner: any = {}\n if(Array.isArray(commonStyles)) {\n commonStyles.forEach((style: any) => {\n if(style) {\n Object.keys(style).forEach(key => {\n inner[key] = style[key];\n })\n }\n })\n } else {\n inner = cloneDeep(commonStyles)\n }\n const outer: any = deepCopy(inner);\n\n delete outer?.[\"padding\"];\n delete outer?.[\"paddingHorizontal\"];\n delete outer?.[\"paddingVertical\"];\n delete outer?.[\"paddingTop\"];\n delete outer?.[\"paddingBottom\"];\n delete outer?.[\"paddingLeft\"];\n delete outer?.[\"paddingRight\"];\n\n delete inner?.[\"margin\"];\n delete inner?.[\"marginHorizontal\"];\n delete inner?.[\"marginVertical\"];\n delete inner?.[\"marginLeft\"];\n delete inner?.[\"marginRight\"];\n delete inner?.[\"marginTop\"];\n delete inner?.[\"marginBottom\"];\n\n return {\n outer,\n inner\n }\n }\n\n /*\n TODO: Remove TouchableNativeFeedback and TouchableOpacity, and use Pressable only,\n When the issue with Pressable not working in Expo GO is fixed from Expo. (this happens only in Android with Expo Go)\n */\n getTouchableRipple = (rippleColor: string | undefined, commonProps: any) => {\n if(this.isLegacyTappable || Platform.OS === 'ios') {\n return (\n <TouchableRipple \n rippleColor={rippleColor} \n borderless={true} \n {...commonProps}\n onLayout={this.props.onLayout}\n >\n <>{this.props.children}</>\n </TouchableRipple>\n )\n }\n\n if(isExpoGo) {\n const containerStyle = this.getContainerStyles(commonProps.style);\n delete commonProps[\"style\"];\n \n return (\n <TouchableNativeFeedback\n {...rippleColor && {background: TouchableNativeFeedback.Ripple(rippleColor, true)}}\n onLayout={this.props.onLayout}\n {...commonProps}\n style={containerStyle.outer}\n >\n <View style={containerStyle.inner}>\n {this.props.children}\n </View>\n </TouchableNativeFeedback>\n )\n }\n\n return (\n <Pressable\n android_ripple={{\n color: rippleColor,\n borderless: true\n }}\n onLayout={this.props.onLayout}\n {...commonProps}\n >\n {this.props.children}\n </Pressable>\n )\n }\n \n\n getTouchable = (commonProps: any) => {\n if(this.isLegacyTappable || Platform.OS === 'ios') {\n return (\n <RNTouchableOpacity \n activeOpacity={this.props.disableTouchEffect ? 1 : 0.2} \n onLayout={this.props.onLayout}\n {...commonProps}\n >\n <>{this.props.children}</>\n </RNTouchableOpacity>\n )\n }\n\n if(isExpoGo) {\n const containerStyle = this.getContainerStyles(commonProps.style);\n delete commonProps[\"style\"];\n\n return (\n <TouchableOpacity\n activeOpacity={this.props.disableTouchEffect ? 1 : 0.2}\n onLayout={this.props.onLayout}\n {...commonProps}\n style={containerStyle.outer}\n\n >\n <View style={containerStyle.inner}>\n {this.props.children}\n </View>\n </TouchableOpacity>\n )\n }\n\n return (\n <Pressable\n onLayout={this.props.onLayout}\n {...commonProps}\n style={({pressed}) => [\n commonProps.style, \n { opacity: !this.props.disableTouchEffect && pressed ? 0.2 : 1}\n ]}\n >\n {this.props.children}\n </Pressable>\n )\n }\n\n render() {\n const target = this.props.target;\n const commonProps = {\n ...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n },\n ...this.props.accessibilityProps,\n disabled:get(target?.proxy, 'disabled'),\n style:this.props.styles,\n onPress:(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new SyntheticEvent())\n },\n onLongPress:(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent()),\n onPressOut:(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())\n };\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <UIPreferencesConsumer>\n {(preferences: UI_PREFERENCES) => {\n return preferences.enableRipple != false ? (\n <ParentTappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return(\n <ParentTappableContext.Provider value={this}>\n {this.getTouchableRipple(\n this.props.disableTouchEffect ? \"transparent\" : this.props.rippleColor, \n commonProps\n )}\n </ParentTappableContext.Provider>\n )\n }}</ParentTappableContext.Consumer>): (\n <>\n {this.getTouchable(commonProps)}\n </>\n )\n }}\n </UIPreferencesConsumer>\n );\n }\n return (\n <View \n style={this.props.styles}\n onLayout={this.props.onLayout}\n {...this.props.accessibilityProps}\n >\n {this.props.children}\n </View>);\n }\n}\n"],"mappings":";;;;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAgCC,QAAQ,EAAEC,IAAI,EAAEC,gBAAgB,IAAIC,kBAAkB,QAAQ,cAAc;AAC5G,SAASC,SAAS,EAAEC,uBAAuB,EAAEH,gBAAgB,QAAQ,8BAA8B;AACnG,OAAOI,SAAS,IAAIC,oBAAoB,QAAQ,gBAAgB;AAChE,SAASC,SAAS,EAAEC,GAAG,QAAQ,QAAQ;AACvC,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,eAAe,QAAQ,oBAAoB;AAEpD,SAASC,QAAQ,QAAmB,SAAS;AAG7C,OAAO,MAAMC,eAAe,gBAAGd,KAAK,CAACe,aAAa,CAAW,IAAW,CAAC;AACzE,SAASC,qBAAqB,QAAwB,0BAA0B;AAEhF,MAAMC,QAAQ,GAAGV,SAAS,CAACW,oBAAoB,KAAKV,oBAAoB,CAACW,WAAW;AAEpF,OAAO,MAAMC,qBAAqB,gBAAGpB,KAAK,CAACe,aAAa,CAAW,IAAW,CAAC;AAiB/E,OAAO,MAAMM,cAAc,CAAC;EAIxBC,WAAWA,CAAA,EAAG;IAHd;IAAAC,eAAA,6BACqB,IAAI;EAIzB;EAEAC,eAAeA,CAAA,EAAG;IACd,IAAI,CAACC,kBAAkB,GAAG,KAAK;EACnC;AACJ;AAEA,OAAO,MAAMC,QAAQ,SAAS1B,KAAK,CAAC2B,SAAS,CAAqB;EAS9DL,WAAWA,CAACM,KAAU,EAAE;IAAA,IAAAC,qBAAA,EAAAC,eAAA;IACpB,KAAK,CAACF,KAAK,CAAC;IAACL,eAAA,oBATG,CAAC;IAAAA,eAAA,kBACH,CAAC;IAAAA,eAAA,wBACK,CAAC;IAAAA,eAAA,oBACL,KAAK;IAAAA,eAAA,iBACC,IAAI;IAAAA,eAAA,oBACLZ,QAAQ,CAACD,GAAG,CAAY,YAAY,CAAC;IAAAa,eAAA;IAAAA,eAAA,6BAuFhCQ,YAAiB,IAAK;MAAA,IAAAC,MAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,OAAA;MAChD,IAAIC,KAAU,GAAG,CAAC,CAAC;MACnB,IAAGC,KAAK,CAACC,OAAO,CAACV,YAAY,CAAC,EAAE;QAC5BA,YAAY,CAACW,OAAO,CAAEC,KAAU,IAAK;UACjC,IAAGA,KAAK,EAAE;YACNC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACD,OAAO,CAACI,GAAG,IAAI;cAC9BP,KAAK,CAACO,GAAG,CAAC,GAAGH,KAAK,CAACG,GAAG,CAAC;YAC3B,CAAC,CAAC;UACN;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACHP,KAAK,GAAG9B,SAAS,CAACsB,YAAY,CAAC;MACnC;MACA,MAAMgB,KAAU,GAAGlC,QAAQ,CAAC0B,KAAK,CAAC;MAE3BQ,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,SAAS,CAAC;MAClBA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,mBAAmB,CAAC;MAC5BA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,iBAAiB,CAAC;MAC1BA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,YAAY,CAAC;MACrBA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,eAAe,CAAC;MACxBA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,aAAa,CAAC;MACtBA,KAAK,aAALA,KAAK,eAAZ,OAAOA,KAAK,CAAG,cAAc,CAAC;MAE9B,CAAAf,MAAA,GAAOO,KAAK,cAAAP,MAAA,eAAZ,OAAOA,MAAA,CAAQ,QAAQ,CAAC;MACxB,CAAAC,OAAA,GAAOM,KAAK,cAAAN,OAAA,eAAZ,OAAOA,OAAA,CAAQ,kBAAkB,CAAC;MAClC,CAAAC,OAAA,GAAOK,KAAK,cAAAL,OAAA,eAAZ,OAAOA,OAAA,CAAQ,gBAAgB,CAAC;MAChC,CAAAC,OAAA,GAAOI,KAAK,cAAAJ,OAAA,eAAZ,OAAOA,OAAA,CAAQ,YAAY,CAAC;MAC5B,CAAAC,OAAA,GAAOG,KAAK,cAAAH,OAAA,eAAZ,OAAOA,OAAA,CAAQ,aAAa,CAAC;MAC7B,CAAAC,OAAA,GAAOE,KAAK,cAAAF,OAAA,eAAZ,OAAOA,OAAA,CAAQ,WAAW,CAAC;MAC3B,CAAAC,OAAA,GAAOC,KAAK,cAAAD,OAAA,eAAZ,OAAOA,OAAA,CAAQ,cAAc,CAAC;MAE9B,OAAO;QACHS,KAAK;QACLR;MACJ,CAAC;IACL,CAAC;IAED;AACJ;AACA;AACA;IAHIhB,eAAA,6BAIqB,CAACyB,WAA+B,EAAEC,WAAgB,KAAK;MACxE,IAAG,IAAI,CAACC,gBAAgB,IAAIjD,QAAQ,CAACkD,EAAE,KAAK,KAAK,EAAE;QAC/C,oBACInD,KAAA,CAAAoD,aAAA,CAACxC,eAAe,EAAAyC,QAAA;UACZL,WAAW,EAAEA,WAAY;UACzBM,UAAU,EAAE;QAAK,GACbL,WAAW;UACfM,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;QAAS,iBAE9BvD,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAwD,QAAA,QAAG,IAAI,CAAC5B,KAAK,CAAC6B,QAAW,CACZ,CAAC;MAE1B;MAEA,IAAGxC,QAAQ,EAAE;QACT,MAAMyC,cAAc,GAAG,IAAI,CAACC,kBAAkB,CAACV,WAAW,CAACN,KAAK,CAAC;QACjE,OAAOM,WAAW,CAAC,OAAO,CAAC;QAE3B,oBACIjD,KAAA,CAAAoD,aAAA,CAAC9C,uBAAuB,EAAA+C,QAAA,KAChBL,WAAW,IAAI;UAACY,UAAU,EAAEtD,uBAAuB,CAACuD,MAAM,CAACb,WAAW,EAAE,IAAI;QAAC,CAAC;UAClFO,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;QAAS,GAC1BN,WAAW;UACfN,KAAK,EAAEe,cAAc,CAACX;QAAM,iBAE7B/C,KAAA,CAAAoD,aAAA,CAAClD,IAAI;UAACyC,KAAK,EAAEe,cAAc,CAACnB;QAAM,GAC5B,IAAI,CAACX,KAAK,CAAC6B,QACV,CACe,CAAC;MAElC;MAEA,oBACIzD,KAAA,CAAAoD,aAAA,CAAC/C,SAAS,EAAAgD,QAAA;QACNS,cAAc,EAAE;UACZC,KAAK,EAAEf,WAAW;UAClBM,UAAU,EAAE;QAChB,CAAE;QACFC,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;MAAS,GAC1BN,WAAW,GAEd,IAAI,CAACrB,KAAK,CAAC6B,QACL,CAAC;IAEpB,CAAC;IAAAlC,eAAA,uBAGe0B,WAAgB,IAAK;MACjC,IAAG,IAAI,CAACC,gBAAgB,IAAIjD,QAAQ,CAACkD,EAAE,KAAK,KAAK,EAAE;QAC/C,oBACInD,KAAA,CAAAoD,aAAA,CAAChD,kBAAkB,EAAAiD,QAAA;UACfW,aAAa,EAAE,IAAI,CAACpC,KAAK,CAACqC,kBAAkB,GAAG,CAAC,GAAG,GAAI;UACvDV,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;QAAS,GAC1BN,WAAW,gBAEfjD,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAwD,QAAA,QAAG,IAAI,CAAC5B,KAAK,CAAC6B,QAAW,CACT,CAAC;MAE7B;MAEA,IAAGxC,QAAQ,EAAE;QACT,MAAMyC,cAAc,GAAG,IAAI,CAACC,kBAAkB,CAACV,WAAW,CAACN,KAAK,CAAC;QACjE,OAAOM,WAAW,CAAC,OAAO,CAAC;QAE3B,oBACIjD,KAAA,CAAAoD,aAAA,CAACjD,gBAAgB,EAAAkD,QAAA;UACbW,aAAa,EAAE,IAAI,CAACpC,KAAK,CAACqC,kBAAkB,GAAG,CAAC,GAAG,GAAI;UACvDV,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;QAAS,GAC1BN,WAAW;UACfN,KAAK,EAAEe,cAAc,CAACX;QAAM,iBAG5B/C,KAAA,CAAAoD,aAAA,CAAClD,IAAI;UAACyC,KAAK,EAAEe,cAAc,CAACnB;QAAM,GAC7B,IAAI,CAACX,KAAK,CAAC6B,QACV,CACQ,CAAC;MAE3B;MAEA,oBACIzD,KAAA,CAAAoD,aAAA,CAAC/C,SAAS,EAAAgD,QAAA;QACNE,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;MAAS,GAC1BN,WAAW;QACfN,KAAK,EAAEA,CAAC;UAACuB;QAAO,CAAC,KAAK,CAClBjB,WAAW,CAACN,KAAK,EACjB;UAAEwB,OAAO,EAAE,CAAC,IAAI,CAACvC,KAAK,CAACqC,kBAAkB,IAAIC,OAAO,GAAG,GAAG,GAAG;QAAC,CAAC;MACjE,IAED,IAAI,CAACtC,KAAK,CAAC6B,QACL,CAAC;IAEpB,CAAC;IAtNG,IAAI,CAACP,gBAAgB,IAAArB,qBAAA,IAAAC,eAAA,GAAG,IAAI,CAACsC,SAAS,cAAAtC,eAAA,uBAAdA,eAAA,CAAgBoB,gBAAgB,cAAArB,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EACpE;EAEA,MAAMwC,UAAUA,CAACC,CAAC,GAAG,IAAIjD,cAAc,CAAC,CAAC,EAAE;IAAA,IAAAkD,YAAA;IACvC,IAAI,CAACD,CAAC,CAAC7C,kBAAkB,EAAE;MACvB;IACJ;IACA,MAAM+C,MAAM,GAAG,IAAI,CAAC5C,KAAK,CAAC4C,MAAM;IAChC,IAAI,IAAI,CAAC5C,KAAK,CAAC6C,KAAK,EAAE;MAClB,MAAM,IAAI,CAAC7C,KAAK,CAAC6C,KAAK,CAACH,CAAC,CAAC;IAC7B,CAAC,MAAM;MACH,OAAME,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,mBAAmB,CAAC,OAAO,EAAE,CAACJ,CAAC,EAAEE,MAAM,CAAC,CAAC;IAC3D;IACA,CAAAD,YAAA,OAAI,CAACI,MAAM,cAAAJ,YAAA,eAAXA,YAAA,CAAaF,UAAU,CAACC,CAAC,CAAC;EAC9B;EAEAM,OAAOA,CAACN,CAAiB,EAAQ;IAAA,IAAAO,kBAAA;IAC7B,IAAI,CAACC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC3B,MAAMR,MAAM,GAAG,IAAI,CAAC5C,KAAK,CAAC4C,MAAM;IAChC,IAAI,CAAC5C,KAAK,CAACqD,YAAY,IAAI,IAAI,CAACrD,KAAK,CAACqD,YAAY,CAACX,CAAC,CAAC;IACrD,CAAAO,kBAAA,OAAI,CAACjD,KAAK,CAAC4C,MAAM,cAAAK,kBAAA,eAAjBA,kBAAA,CAAmBH,mBAAmB,CAAC,cAAc,EAAE,CAACJ,CAAC,EAAE,IAAI,CAAC1C,KAAK,CAAC4C,MAAM,CAAC,CAAC;IAC9E,MAAMU,WAAW,GAAGH,IAAI,CAACC,GAAG,CAAC,CAAC;IAC9B,MAAMG,QAAQ,GAAGD,WAAW,GAAG,IAAI,CAACE,OAAO;IAC3C,IAAI,IAAI,CAACC,SAAS,EAAE;MAChB,IAAI,CAACA,SAAS,GAAG,KAAK;MACtB;IACJ;IACA,IAAIf,CAAC,CAAC7C,kBAAkB,EAAE;MAAA,IAAA6D,qBAAA;MACtB,CAAAA,qBAAA,GAAA3E,QAAQ,CAAC4E,eAAe,CAAC7E,GAAG,CAAC,CAAC,cAAA4E,qBAAA,eAA9BA,qBAAA,CAAgCE,IAAI,CAAC,CAAC;MACtC,IAAG,IAAI,CAACC,aAAa,KAAK,IAAI,CAACL,OAAO,IAC/BD,QAAQ,GAAG,GAAG,EAAE;QACnB,IAAI,CAACvD,KAAK,CAAC8D,WAAW,IAAI,IAAI,CAAC9D,KAAK,CAAC8D,WAAW,CAACpB,CAAC,CAAC;QACnDqB,UAAU,CAAC,MAAM;UACbnB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEE,mBAAmB,CAAC,aAAa,EAAE,CAACJ,CAAC,EAAEE,MAAM,CAAC,CAAC;QAC3D,CAAC,EAAE,GAAG,CAAC;QACP,IAAI,CAACiB,aAAa,GAAGP,WAAW;MACpC;MACAS,UAAU,CAAC,MAAM;QAAA,IAAAC,aAAA;QACb,IAAI,CAACtB,CAAC,CAAC7C,kBAAkB,EAAE;UACvB;QACJ;QACA,IAAI,IAAI,CAACG,KAAK,CAAC6C,KAAK,EAAE;UAClB,IAAI,CAAC7C,KAAK,CAAC6C,KAAK,CAACH,CAAC,CAAC;QACvB,CAAC,MAAM;UACHE,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEE,mBAAmB,CAAC,OAAO,EAAE,CAACJ,CAAC,EAAEE,MAAM,CAAC,CAAC;QACrD;QACA,CAAAoB,aAAA,OAAI,CAACjB,MAAM,cAAAiB,aAAA,eAAXA,aAAA,CAAahB,OAAO,CAACN,CAAC,CAAC;MAC3B,CAAC,EAAE,GAAG,CAAC;MACP,IAAI,CAACc,OAAO,GAAGF,WAAW;IAC9B;EACJ;EAEAW,SAASA,CAACvB,CAAiB,EAAQ;IAC/B,IAAG,CAACA,CAAC,CAAC7C,kBAAkB,EAAC;MACrB;IACJ;IACA,IAAI,CAACG,KAAK,CAACiE,SAAS,IAAI,IAAI,CAACjE,KAAK,CAACiE,SAAS,CAACvB,CAAC,CAAC;IAC/CqB,UAAU,CAAC,MAAM;MAAA,IAAAG,mBAAA,EAAAC,aAAA;MACb,CAAAD,mBAAA,OAAI,CAAClE,KAAK,CAAC4C,MAAM,cAAAsB,mBAAA,eAAjBA,mBAAA,CAAmBpB,mBAAmB,CAAC,WAAW,EAAE,CAACJ,CAAC,EAAE,IAAI,CAAC1C,KAAK,CAAC4C,MAAM,CAAC,CAAC;MAC3E,CAAAuB,aAAA,OAAI,CAACpB,MAAM,cAAAoB,aAAA,eAAXA,aAAA,CAAaC,UAAU,CAAC1B,CAAC,CAAC;IAC9B,CAAC,EAAE,GAAG,CAAC;IACP,IAAI,CAACe,SAAS,GAAG,IAAI;EACzB;EAEAW,UAAUA,CAAC1B,CAAiB,EAAQ;IAChC,IAAG,CAACA,CAAC,CAAC7C,kBAAkB,EAAC;MACrB;IACJ;IACA,IAAI,CAACG,KAAK,CAACqE,UAAU,IAAI,IAAI,CAACrE,KAAK,CAACqE,UAAU,CAAC3B,CAAC,CAAC;IACjDqB,UAAU,CAAC,MAAM;MAAA,IAAAO,mBAAA,EAAAC,aAAA;MACb,CAAAD,mBAAA,OAAI,CAACtE,KAAK,CAAC4C,MAAM,cAAA0B,mBAAA,eAAjBA,mBAAA,CAAmBxB,mBAAmB,CAAC,YAAY,EAAE,CAACJ,CAAC,EAAE,IAAI,CAAC1C,KAAK,CAAC4C,MAAM,CAAC,CAAC;MAC5E,CAAA2B,aAAA,OAAI,CAACxB,MAAM,cAAAwB,aAAA,eAAXA,aAAA,CAAaH,UAAU,CAAC1B,CAAC,CAAC;IAC9B,CAAC,EAAE,GAAG,CAAC;IACP,IAAI,CAACe,SAAS,GAAG,KAAK;EAC1B;EACQe,SAASA,CAACzB,MAAgB,EAAE;IAChC,IAAIA,MAAM,IAAI,IAAI,CAACA,MAAM,KAAKA,MAAM,EAAG;MACnC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACxB;EACJ;EAyIA0B,MAAMA,CAAA,EAAG;IACL,MAAM7B,MAAM,GAAG,IAAI,CAAC5C,KAAK,CAAC4C,MAAM;IAChC,MAAMvB,WAAW,GAAG;MAChB,IAAIhD,QAAQ,CAACkD,EAAE,KAAK,SAAS,IAAIlD,QAAQ,CAACkD,EAAE,KAAK,KAAK,GAAI;QACtDmD,kBAAkB,EAAE,IAAI,CAAC1E,KAAK,CAAC2E,MAAM;QACrCA,MAAM,EAAE,IAAI,CAAC3E,KAAK,CAAC2E;MACvB,CAAC,GAAE;QACC;QACAA,MAAM,EAAE,IAAI,CAAC3E,KAAK,CAAC2E;MACvB,CAAC;MACD,GAAG,IAAI,CAAC3E,KAAK,CAAC4E,kBAAkB;MAChCC,QAAQ,EAAC/F,GAAG,CAAC8D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEkC,KAAK,EAAE,UAAU,CAAC;MACvC/D,KAAK,EAAC,IAAI,CAACf,KAAK,CAAC+E,MAAM;MACvB/B,OAAO,EAAEN,CAAyB,IAAK;QAAA,IAAAsC,SAAA;QACnC,IAAI,CAACtC,CAAC,aAADA,CAAC,gBAAAsC,SAAA,GAADtC,CAAC,CAAEE,MAAM,cAAAoC,SAAA,uBAAVA,SAAA,CAAoBC,OAAO,MAAK,OAAO,EAAE;UACzC;QACJ;QACA,IAAI,CAACjC,OAAO,CAAC,IAAIvD,cAAc,CAAC,CAAC,CAAC;MACtC,CAAC;MACDyF,WAAW,EAAExC,CAAyB,IAAK,IAAI,CAACuB,SAAS,CAAC,IAAIxE,cAAc,CAAC,CAAC,CAAC;MAC/E2E,UAAU,EAAE1B,CAAyB,IAAK,IAAI,CAAC0B,UAAU,CAAC,IAAI3E,cAAc,CAAC,CAAC;IAClF,CAAC;IACD,IAAImD,MAAM,aAANA,MAAM,eAANA,MAAM,CAAE5C,KAAK,CAAC6C,KAAK,IAChBD,MAAM,aAANA,MAAM,eAANA,MAAM,CAAE5C,KAAK,CAACmF,SAAS,IACvBvC,MAAM,aAANA,MAAM,eAANA,MAAM,CAAE5C,KAAK,CAACoF,WAAW,IACzB,IAAI,CAACpF,KAAK,CAAC6C,KAAK,IAChB,IAAI,CAAC7C,KAAK,CAACiE,SAAS,IACpB,IAAI,CAACjE,KAAK,CAAC8D,WAAW,EAAE;MAC3B,oBACA1F,KAAA,CAAAoD,aAAA,CAACpC,qBAAqB,QAChBiG,WAA2B,IAAK;QAC9B,OAAOA,WAAW,CAACC,YAAY,IAAI,KAAK,gBACpClH,KAAA,CAAAoD,aAAA,CAAChC,qBAAqB,CAAC+F,QAAQ,QAAGxC,MAAM,IAAK;UACzC,IAAI,CAACyB,SAAS,CAACzB,MAAM,CAAC;UACtB,oBACI3E,KAAA,CAAAoD,aAAA,CAAChC,qBAAqB,CAACgG,QAAQ;YAACC,KAAK,EAAE;UAAK,GACvC,IAAI,CAACC,kBAAkB,CACpB,IAAI,CAAC1F,KAAK,CAACqC,kBAAkB,GAAG,aAAa,GAAG,IAAI,CAACrC,KAAK,CAACoB,WAAW,EACtEC,WACJ,CAC4B,CAAC;QAEzC,CAAkC,CAAC,gBACnCjD,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAwD,QAAA,QACK,IAAI,CAAC+D,YAAY,CAACtE,WAAW,CAChC,CACL;MACL,CACmB,CAAC;IAE5B;IACA,oBACIjD,KAAA,CAAAoD,aAAA,CAAClD,IAAI,EAAAmD,QAAA;MACDV,KAAK,EAAE,IAAI,CAACf,KAAK,CAAC+E,MAAO;MACzBpD,QAAQ,EAAE,IAAI,CAAC3B,KAAK,CAAC2B;IAAS,GAC1B,IAAI,CAAC3B,KAAK,CAAC4E,kBAAkB,GAEhC,IAAI,CAAC5E,KAAK,CAAC6B,QACV,CAAC;EACf;AACJ","ignoreList":[]}
package/core/viewport.js CHANGED
@@ -25,18 +25,23 @@ export class ViewPort extends EventNotifier {
25
25
  Dimensions.addEventListener('change', () => {
26
26
  const dim = Dimensions.get('window');
27
27
  const orientation = dim.width > dim.height ? SCREEN_ORIENTATION.LANDSCAPE : SCREEN_ORIENTATION.PORTRAIT;
28
+ const oldWidth = this.width;
29
+ const oldHeight = this.height;
30
+ const oldOrientation = this.orientation;
31
+
32
+ // Update dimensions BEFORE notifying subscribers so they get the correct values
33
+ this.width = dim.width;
34
+ this.height = dim.height;
35
+ this.orientation = orientation;
28
36
  this.notify(EVENTS.SIZE_CHANGE, [{
29
- width: dim.width,
30
- height: dim.height
31
- }, {
32
37
  width: this.width,
33
38
  height: this.height
39
+ }, {
40
+ width: oldWidth,
41
+ height: oldHeight
34
42
  }]);
35
- this.width = dim.width;
36
- this.height = dim.height;
37
- if (this.orientation != orientation) {
38
- this.notify(EVENTS.ORIENTATION_CHANGE, [orientation, this.orientation]);
39
- this.orientation = orientation;
43
+ if (oldOrientation !== orientation) {
44
+ this.notify(EVENTS.ORIENTATION_CHANGE, [orientation, oldOrientation]);
40
45
  }
41
46
  });
42
47
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Dimensions","EventNotifier","SCREEN_ORIENTATION","LANDSCAPE","PORTRAIT","EVENTS","ORIENTATION_CHANGE","SIZE_CHANGE","ViewPort","constructor","_defineProperty","dim","get","width","height","orientation","addEventListener","notify"],"sources":["viewport.ts"],"sourcesContent":["import { Dimensions } from \"react-native\";\nimport EventNotifier from \"./event-notifier\";\n\n\nexport const SCREEN_ORIENTATION = {\n LANDSCAPE: 'LANDSCAPE',\n PORTRAIT: 'PORTRAIT'\n};\n\nexport const EVENTS = {\n ORIENTATION_CHANGE: 'orientationChange',\n SIZE_CHANGE: 'sizeChange'\n};\n\nexport class ViewPort extends EventNotifier {\n public width: number;\n public height: number;\n public orientation: string;\n public isMobileType = true;\n\n constructor() {\n super();\n const dim = Dimensions.get('window');\n this.width = dim.width;\n this.height = dim.height;\n this.orientation = this.width > this.height ? SCREEN_ORIENTATION.LANDSCAPE: SCREEN_ORIENTATION.PORTRAIT;\n Dimensions.addEventListener('change', () => {\n const dim = Dimensions.get('window');\n const orientation = dim.width > dim.height ? SCREEN_ORIENTATION.LANDSCAPE: SCREEN_ORIENTATION.PORTRAIT;\n this.notify(EVENTS.SIZE_CHANGE, [\n {width: dim.width, height: dim.height}, \n {width: this.width, height: this.height}\n ]);\n this.width = dim.width;\n this.height = dim.height;\n if (this.orientation != orientation) {\n this.notify(EVENTS.ORIENTATION_CHANGE, [orientation, this.orientation]);\n this.orientation = orientation;\n }\n });\n }\n}\n\nexport default new ViewPort();"],"mappings":";;;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,aAAa,MAAM,kBAAkB;AAG5C,OAAO,MAAMC,kBAAkB,GAAG;EAC9BC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,MAAM,GAAG;EAClBC,kBAAkB,EAAE,mBAAmB;EACvCC,WAAW,EAAE;AACjB,CAAC;AAED,OAAO,MAAMC,QAAQ,SAASP,aAAa,CAAC;EAMxCQ,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,uBAHU,IAAI;IAItB,MAAMC,GAAG,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC;IACpC,IAAI,CAACC,KAAK,GAAGF,GAAG,CAACE,KAAK;IACtB,IAAI,CAACC,MAAM,GAAGH,GAAG,CAACG,MAAM;IACxB,IAAI,CAACC,WAAW,GAAG,IAAI,CAACF,KAAK,GAAG,IAAI,CAACC,MAAM,GAAGZ,kBAAkB,CAACC,SAAS,GAAED,kBAAkB,CAACE,QAAQ;IACvGJ,UAAU,CAACgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM;MACxC,MAAML,GAAG,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC;MACpC,MAAMG,WAAW,GAAGJ,GAAG,CAACE,KAAK,GAAGF,GAAG,CAACG,MAAM,GAAGZ,kBAAkB,CAACC,SAAS,GAAED,kBAAkB,CAACE,QAAQ;MACtG,IAAI,CAACa,MAAM,CAACZ,MAAM,CAACE,WAAW,EAAE,CAC5B;QAACM,KAAK,EAAEF,GAAG,CAACE,KAAK;QAAEC,MAAM,EAAEH,GAAG,CAACG;MAAM,CAAC,EACtC;QAACD,KAAK,EAAE,IAAI,CAACA,KAAK;QAAEC,MAAM,EAAE,IAAI,CAACA;MAAM,CAAC,CAC3C,CAAC;MACF,IAAI,CAACD,KAAK,GAAGF,GAAG,CAACE,KAAK;MACtB,IAAI,CAACC,MAAM,GAAGH,GAAG,CAACG,MAAM;MACxB,IAAI,IAAI,CAACC,WAAW,IAAIA,WAAW,EAAE;QACjC,IAAI,CAACE,MAAM,CAACZ,MAAM,CAACC,kBAAkB,EAAE,CAACS,WAAW,EAAE,IAAI,CAACA,WAAW,CAAC,CAAC;QACvE,IAAI,CAACA,WAAW,GAAGA,WAAW;MAClC;IACJ,CAAC,CAAC;EACN;AACJ;AAEA,eAAe,IAAIP,QAAQ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Dimensions","EventNotifier","SCREEN_ORIENTATION","LANDSCAPE","PORTRAIT","EVENTS","ORIENTATION_CHANGE","SIZE_CHANGE","ViewPort","constructor","_defineProperty","dim","get","width","height","orientation","addEventListener","oldWidth","oldHeight","oldOrientation","notify"],"sources":["viewport.ts"],"sourcesContent":["import { Dimensions } from \"react-native\";\nimport EventNotifier from \"./event-notifier\";\n\n\nexport const SCREEN_ORIENTATION = {\n LANDSCAPE: 'LANDSCAPE',\n PORTRAIT: 'PORTRAIT'\n};\n\nexport const EVENTS = {\n ORIENTATION_CHANGE: 'orientationChange',\n SIZE_CHANGE: 'sizeChange'\n};\n\nexport class ViewPort extends EventNotifier {\n public width: number;\n public height: number;\n public orientation: string;\n public isMobileType = true;\n\n constructor() {\n super();\n const dim = Dimensions.get('window');\n this.width = dim.width;\n this.height = dim.height;\n this.orientation = this.width > this.height ? SCREEN_ORIENTATION.LANDSCAPE: SCREEN_ORIENTATION.PORTRAIT;\n Dimensions.addEventListener('change', () => {\n const dim = Dimensions.get('window');\n const orientation = dim.width > dim.height ? SCREEN_ORIENTATION.LANDSCAPE: SCREEN_ORIENTATION.PORTRAIT;\n const oldWidth = this.width;\n const oldHeight = this.height;\n const oldOrientation = this.orientation;\n \n // Update dimensions BEFORE notifying subscribers so they get the correct values\n this.width = dim.width;\n this.height = dim.height;\n this.orientation = orientation;\n \n this.notify(EVENTS.SIZE_CHANGE, [\n {width: this.width, height: this.height}, \n {width: oldWidth, height: oldHeight}\n ]);\n \n if (oldOrientation !== orientation) {\n this.notify(EVENTS.ORIENTATION_CHANGE, [orientation, oldOrientation]);\n }\n });\n }\n}\n\nexport default new ViewPort();"],"mappings":";;;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,aAAa,MAAM,kBAAkB;AAG5C,OAAO,MAAMC,kBAAkB,GAAG;EAC9BC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,MAAM,GAAG;EAClBC,kBAAkB,EAAE,mBAAmB;EACvCC,WAAW,EAAE;AACjB,CAAC;AAED,OAAO,MAAMC,QAAQ,SAASP,aAAa,CAAC;EAMxCQ,WAAWA,CAAA,EAAG;IACV,KAAK,CAAC,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,uBAHU,IAAI;IAItB,MAAMC,GAAG,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC;IACpC,IAAI,CAACC,KAAK,GAAGF,GAAG,CAACE,KAAK;IACtB,IAAI,CAACC,MAAM,GAAGH,GAAG,CAACG,MAAM;IACxB,IAAI,CAACC,WAAW,GAAG,IAAI,CAACF,KAAK,GAAG,IAAI,CAACC,MAAM,GAAGZ,kBAAkB,CAACC,SAAS,GAAED,kBAAkB,CAACE,QAAQ;IACvGJ,UAAU,CAACgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM;MACxC,MAAML,GAAG,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC;MACpC,MAAMG,WAAW,GAAGJ,GAAG,CAACE,KAAK,GAAGF,GAAG,CAACG,MAAM,GAAGZ,kBAAkB,CAACC,SAAS,GAAED,kBAAkB,CAACE,QAAQ;MACtG,MAAMa,QAAQ,GAAG,IAAI,CAACJ,KAAK;MAC3B,MAAMK,SAAS,GAAG,IAAI,CAACJ,MAAM;MAC7B,MAAMK,cAAc,GAAG,IAAI,CAACJ,WAAW;;MAEvC;MACA,IAAI,CAACF,KAAK,GAAGF,GAAG,CAACE,KAAK;MACtB,IAAI,CAACC,MAAM,GAAGH,GAAG,CAACG,MAAM;MACxB,IAAI,CAACC,WAAW,GAAGA,WAAW;MAE9B,IAAI,CAACK,MAAM,CAACf,MAAM,CAACE,WAAW,EAAE,CAC5B;QAACM,KAAK,EAAE,IAAI,CAACA,KAAK;QAAEC,MAAM,EAAE,IAAI,CAACA;MAAM,CAAC,EACxC;QAACD,KAAK,EAAEI,QAAQ;QAAEH,MAAM,EAAEI;MAAS,CAAC,CACvC,CAAC;MAEF,IAAIC,cAAc,KAAKJ,WAAW,EAAE;QAChC,IAAI,CAACK,MAAM,CAACf,MAAM,CAACC,kBAAkB,EAAE,CAACS,WAAW,EAAEI,cAAc,CAAC,CAAC;MACzE;IACJ,CAAC,CAAC;EACN;AACJ;AAEA,eAAe,IAAIX,QAAQ,CAAC,CAAC","ignoreList":[]}
@@ -96,6 +96,7 @@ export class View extends React.Component {
96
96
  onMoveShouldSetPanResponderCapture: (evt, gestureState) => {
97
97
  return this.shouldEnablePanResponder(gestureState.dx, gestureState.dy);
98
98
  },
99
+ onPanResponderTerminationRequest: () => false,
99
100
  onPanResponderMove: (evt, gestureState) => {
100
101
  this.onChange(gestureState);
101
102
  },
@@ -149,7 +150,6 @@ export class View extends React.Component {
149
150
  goToLower(e) {
150
151
  var _this$props$handlers7, _this$props$handlers8;
151
152
  const bounds = ((_this$props$handlers7 = this.props.handlers) === null || _this$props$handlers7 === void 0 ? void 0 : _this$props$handlers7.bounds) && ((_this$props$handlers8 = this.props.handlers) === null || _this$props$handlers8 === void 0 ? void 0 : _this$props$handlers8.bounds(e)) || {};
152
- console.log("🚀 ~ View ~ goToLower ~ bounds:", bounds);
153
153
  this.setPosition(bounds.lower).then(() => {
154
154
  if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {
155
155
  var _this$props$handlers9, _this$props$handlers0;
@@ -1 +1 @@
1
- {"version":3,"names":["isNil","React","Animated","Easing","View","RNView","PanResponder","injector","Handlers","constructor","_defineProperty","Props","undefined","State","Number","MAX_VALUE","Component","props","Value","I18nService","get","dx","dy","gestureEnableThreshold","shouldEnable","direction","Math","abs","enableGestures","e","_this$props$handlers","_this$props$handlers2","bounds","handlers","d","state","isHorizontal","phase","computePhase","center","lower","upper","animationPhase","setValue","position","isRTL","_this$props$handlers3","_this$props$handlers4","onAnimation","goToLower","goToUpper","threshold","touchStart","x","y","active","panResponder","create","onStartShouldSetPanResponder","evt","gestureState","shouldEnablePanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderMove","onChange","onPanResponderRelease","onEnd","activeIndex","setPosition","slidesLayout","computeMaxScroll","_this$viewLayout2","max","childrenWidth","childrenLayout","reduce","s","v","width","childrenHeight","height","_this$viewLayout","viewLayout","setState","maxPosition","setChildrenLayout","event","index","nativeEvent","layout","setViewLayout","value","_this$props$handlers5","_this$props$handlers6","i18nService","isRTLLocale","_this$props$handlers7","_this$props$handlers8","console","log","then","_this$props$handlers9","_this$props$handlers0","onLower","_this$props$handlers1","_this$props$handlers10","_this$props$handlers11","_this$props$handlers12","onUpper","Promise","reject","isNaN","resolve","parallel","timing","useNativeDriver","toValue","duration","easing","out","linear","start","render","createElement","_extends","style","flexDirection","flexWrap","alignItems","onLayout","bind","panHandlers","children","map","c","i","_this$props$style","key","slideMinWidth","minWidth","slideWidth","transform","translateX","translateY"],"sources":["carousel-swipe.animation.tsx"],"sourcesContent":["import { isNil } from 'lodash-es';\nimport React from 'react';\nimport { Animated, Easing, View as RNView, ViewStyle, LayoutChangeEvent, LayoutRectangle, DimensionValue, PanResponder } from 'react-native';\nimport { Gesture, GestureDetector, GestureUpdateEvent } from 'react-native-gesture-handler';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class Handlers {\n bounds?: (g: GestureUpdateEvent<any>) => Bounds = null as any;\n onAnimation?: (g: GestureUpdateEvent<any>) => any = () => { };\n onLower?: (g: GestureUpdateEvent<any>) => any = () => { };\n onUpper?: (g: GestureUpdateEvent<any>) => any = () => { };\n computePhase?: (value: number) => number = null as any;\n}\n\nexport interface Bounds {\n upper?: number;\n center?: number;\n lower?: number;\n}\n\nexport class Props {\n threshold?: number = 5;\n direction?: 'horizontal' | 'vertical' = 'horizontal';\n handlers?: Handlers = {} as any;\n style?: ViewStyle = {} as any;\n children: any;\n enableGestures: any;\n slideWidth?: DimensionValue = '100%';\n slideMinWidth?: DimensionValue = undefined;\n slidesLayout?: any = [];\n activeIndex?: number | null = null;\n}\n\nexport class State {\n threshold = 5;\n isHorizontal = false;\n bounds: Bounds = {} as any;\n maxPosition = Number.MAX_VALUE;\n}\n\nexport class View extends React.Component<Props, State> {\n\n static defaultProps = new Props();\n private position = new Animated.Value(0);\n public animationPhase = new Animated.Value(0);\n private i18nService = injector.I18nService.get();\n private childrenLayout: LayoutRectangle[] = [];\n private viewLayout: LayoutRectangle = null as any;\n private panResponder: any = null;\n\n constructor(props: Props) {\n super(props);\n this.state = {\n isHorizontal: props.direction === 'horizontal',\n threshold: props.threshold || 49,\n bounds: {} as any\n } as State;\n var touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n\n this.panResponder = PanResponder.create({\n onStartShouldSetPanResponder: (evt, gestureState) => {\n return this.shouldEnablePanResponder(gestureState.dx, gestureState.dy);\n },\n onStartShouldSetPanResponderCapture: (evt, gestureState) => {\n return this.shouldEnablePanResponder(gestureState.dx, gestureState.dy);\n },\n onMoveShouldSetPanResponder: (evt, gestureState) => {\n return this.shouldEnablePanResponder(gestureState.dx, gestureState.dy);\n },\n onMoveShouldSetPanResponderCapture: (evt, gestureState) =>{\n return this.shouldEnablePanResponder(gestureState.dx, gestureState.dy);\n },\n onPanResponderMove: (evt, gestureState) => {\n this.onChange(gestureState)\n },\n onPanResponderRelease: (evt, gestureState) => {\n if (\n this.props.direction === 'horizontal' && \n (gestureState.dx > this.state.threshold || gestureState.dx < -this.state.threshold)\n ) {\n this.onEnd(gestureState);\n }\n if (\n this.props.direction === 'vertical' && \n (gestureState.dy > this.state.threshold || gestureState.dy < -this.state.threshold)\n ) {\n this.onEnd(gestureState);\n }\n\n if (\n !(gestureState.dy > this.state.threshold || gestureState.dy < -this.state.threshold) && \n !(gestureState.dx > this.state.threshold || gestureState.dx < -this.state.threshold)\n ) {\n if (this.props.activeIndex) {\n this.setPosition(this.props.slidesLayout[this.props.activeIndex])\n }\n }\n }\n });\n\n }\n\n\n shouldEnablePanResponder = (dx: number, dy: number) => {\n const gestureEnableThreshold = 30;\n\n const shouldEnable = (this.props.direction === 'horizontal' ? Math.abs(dx) > Math.abs(dy) : Math.abs(dx) < Math.abs(dy)) &&\n (this.props.direction === 'horizontal' ? Math.abs(dx) > gestureEnableThreshold : Math.abs(dy) > gestureEnableThreshold)\n\n return this.props.enableGestures && shouldEnable;\n }\n\n onChange = (e: any) => {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n const d = (this.state.isHorizontal ? e.dx : e.dy);\n let phase = this.computePhase(bounds?.center || 0);\n if (d && d < 0 && !isNil(bounds.center) && !isNil(bounds.lower)\n && bounds.center !== bounds.lower) {\n phase += (d / (bounds.center - bounds.lower)) || 0;\n } else if (d && d > 0 && !isNil(bounds.center) && !isNil(bounds.upper)\n && bounds.center !== bounds.upper) {\n phase += (d / (bounds.upper - bounds.center)) || 0;\n }\n this.animationPhase.setValue(phase);\n this.position.setValue(\n (this.isRTL() ? -bounds?.center! : bounds?.center || 0) + d);\n }\n\n onEnd = (e: any) => {\n this.props.handlers?.onAnimation &&\n this.props.handlers?.onAnimation(e);\n if (e.dx < 0) {\n this.isRTL() ? this.goToLower(e) : this.goToUpper(e);\n } else if (e.dx > 0) {\n this.isRTL() ? this.goToUpper(e) : this.goToLower(e);\n }\n }\n\n computeMaxScroll() {\n let max = Number.MAX_VALUE;\n const childrenWidth = this.childrenLayout.reduce((s, v) => s + v.width, 0);\n const childrenHeight = this.childrenLayout.reduce((s, v) => s + v.height, 0);\n if (this.props.direction === 'horizontal') {\n if (childrenWidth && this.viewLayout?.width) {\n max = childrenWidth - this.viewLayout.width;\n }\n } else if (childrenHeight && this.viewLayout?.height) {\n max = childrenHeight - this.viewLayout.height;\n }\n this.setState({ maxPosition: -1 * max });\n }\n\n setChildrenLayout(event: LayoutChangeEvent, index: number) {\n this.childrenLayout[index] = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n setViewLayout(event: LayoutChangeEvent) {\n this.viewLayout = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n computePhase(value: number) {\n return (this.props.handlers?.computePhase &&\n this.props.handlers?.computePhase(value)) || 0;\n }\n\n isRTL() {\n return this.i18nService.isRTLLocale();\n }\n\n goToLower(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n console.log(\"🚀 ~ View ~ goToLower ~ bounds:\", bounds)\n this.setPosition(bounds.lower)\n .then(() => {\n if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {\n this.props.handlers?.onLower &&\n this.props.handlers?.onLower(e);\n }\n });\n }\n\n goToUpper(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.upper)\n .then(() => {\n if (!isNil(bounds.upper) && bounds.center !== bounds.upper) {\n this.props.handlers?.onUpper &&\n this.props.handlers?.onUpper(e);\n }\n });\n }\n\n setPosition(value: number | undefined) {\n if (isNil(value)) {\n return Promise.reject();\n }\n let position = isNaN(this.state.maxPosition) ? value : Math.max(this.state.maxPosition, value);\n return new Promise((resolve) => {\n Animated.parallel([\n Animated.timing(this.animationPhase, {\n useNativeDriver: true,\n toValue: this.computePhase(value),\n duration: 200,\n easing: Easing.out(Easing.linear)\n }),\n Animated.timing(this.position, {\n useNativeDriver: true,\n toValue: (this.isRTL() ? -1 : 1) * position,\n duration: 200,\n easing: Easing.out(Easing.linear)\n })\n ]).start(resolve);\n });\n }\n\n public render() {\n const isHorizontal = this.props.direction === 'horizontal';\n return (\n //@ts-ignore\n <RNView style={[\n isHorizontal ? {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n } : null,\n this.props.style]}\n onLayout={this.setViewLayout.bind(this)}\n {...this.panResponder.panHandlers}\n >\n {this.props.children.map((c: any, i: number) => {\n return (<Animated.View onLayout={(e) => this.setChildrenLayout(e, i)} key={c.key}\n style={[this.props.slideMinWidth ? {\n minWidth: this.props.slideMinWidth\n } : {\n width: this.props.slideWidth\n },\n this.props.style?.height === '100%' ? {\n height: '100%'\n } : null,\n {\n transform: this.state.isHorizontal ? [{\n translateX: this.position\n }] : [{\n translateY: this.position\n }]\n }\n ]}>\n {c}\n </Animated.View>);\n })}\n </RNView>\n );\n }\n\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isNil","React","Animated","Easing","View","RNView","PanResponder","injector","Handlers","constructor","_defineProperty","Props","undefined","State","Number","MAX_VALUE","Component","props","Value","I18nService","get","dx","dy","gestureEnableThreshold","shouldEnable","direction","Math","abs","enableGestures","e","_this$props$handlers","_this$props$handlers2","bounds","handlers","d","state","isHorizontal","phase","computePhase","center","lower","upper","animationPhase","setValue","position","isRTL","_this$props$handlers3","_this$props$handlers4","onAnimation","goToLower","goToUpper","threshold","touchStart","x","y","active","panResponder","create","onStartShouldSetPanResponder","evt","gestureState","shouldEnablePanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderTerminationRequest","onPanResponderMove","onChange","onPanResponderRelease","onEnd","activeIndex","setPosition","slidesLayout","computeMaxScroll","_this$viewLayout2","max","childrenWidth","childrenLayout","reduce","s","v","width","childrenHeight","height","_this$viewLayout","viewLayout","setState","maxPosition","setChildrenLayout","event","index","nativeEvent","layout","setViewLayout","value","_this$props$handlers5","_this$props$handlers6","i18nService","isRTLLocale","_this$props$handlers7","_this$props$handlers8","then","_this$props$handlers9","_this$props$handlers0","onLower","_this$props$handlers1","_this$props$handlers10","_this$props$handlers11","_this$props$handlers12","onUpper","Promise","reject","isNaN","resolve","parallel","timing","useNativeDriver","toValue","duration","easing","out","linear","start","render","createElement","_extends","style","flexDirection","flexWrap","alignItems","onLayout","bind","panHandlers","children","map","c","i","_this$props$style","key","slideMinWidth","minWidth","slideWidth","transform","translateX","translateY"],"sources":["carousel-swipe.animation.tsx"],"sourcesContent":["import { isNil } from 'lodash-es';\nimport React from 'react';\nimport { Animated, Easing, View as RNView, ViewStyle, LayoutChangeEvent, LayoutRectangle, DimensionValue, PanResponder } from 'react-native';\nimport { Gesture, GestureDetector, GestureUpdateEvent } from 'react-native-gesture-handler';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class Handlers {\n bounds?: (g: GestureUpdateEvent<any>) => Bounds = null as any;\n onAnimation?: (g: GestureUpdateEvent<any>) => any = () => { };\n onLower?: (g: GestureUpdateEvent<any>) => any = () => { };\n onUpper?: (g: GestureUpdateEvent<any>) => any = () => { };\n computePhase?: (value: number) => number = null as any;\n}\n\nexport interface Bounds {\n upper?: number;\n center?: number;\n lower?: number;\n}\n\nexport class Props {\n threshold?: number = 5;\n direction?: 'horizontal' | 'vertical' = 'horizontal';\n handlers?: Handlers = {} as any;\n style?: ViewStyle = {} as any;\n children: any;\n enableGestures: any;\n slideWidth?: DimensionValue = '100%';\n slideMinWidth?: DimensionValue = undefined;\n slidesLayout?: any = [];\n activeIndex?: number | null = null;\n}\n\nexport class State {\n threshold = 5;\n isHorizontal = false;\n bounds: Bounds = {} as any;\n maxPosition = Number.MAX_VALUE;\n}\n\nexport class View extends React.Component<Props, State> {\n\n static defaultProps = new Props();\n private position = new Animated.Value(0);\n public animationPhase = new Animated.Value(0);\n private i18nService = injector.I18nService.get();\n private childrenLayout: LayoutRectangle[] = [];\n private viewLayout: LayoutRectangle = null as any;\n private panResponder: any = null;\n\n constructor(props: Props) {\n super(props);\n this.state = {\n isHorizontal: props.direction === 'horizontal',\n threshold: props.threshold || 49,\n bounds: {} as any\n } as State;\n var touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n\n this.panResponder = PanResponder.create({\n onStartShouldSetPanResponder: (evt, gestureState) => {\n return this.shouldEnablePanResponder(gestureState.dx, gestureState.dy);\n },\n onStartShouldSetPanResponderCapture: (evt, gestureState) => {\n return this.shouldEnablePanResponder(gestureState.dx, gestureState.dy);\n },\n onMoveShouldSetPanResponder: (evt, gestureState) => {\n return this.shouldEnablePanResponder(gestureState.dx, gestureState.dy);\n },\n onMoveShouldSetPanResponderCapture: (evt, gestureState) =>{\n return this.shouldEnablePanResponder(gestureState.dx, gestureState.dy);\n },\n onPanResponderTerminationRequest: () => false,\n onPanResponderMove: (evt, gestureState) => {\n this.onChange(gestureState)\n },\n onPanResponderRelease: (evt, gestureState) => {\n if (\n this.props.direction === 'horizontal' && \n (gestureState.dx > this.state.threshold || gestureState.dx < -this.state.threshold)\n ) {\n this.onEnd(gestureState);\n }\n if (\n this.props.direction === 'vertical' && \n (gestureState.dy > this.state.threshold || gestureState.dy < -this.state.threshold)\n ) {\n this.onEnd(gestureState);\n }\n\n if (\n !(gestureState.dy > this.state.threshold || gestureState.dy < -this.state.threshold) && \n !(gestureState.dx > this.state.threshold || gestureState.dx < -this.state.threshold)\n ) {\n if (this.props.activeIndex) {\n this.setPosition(this.props.slidesLayout[this.props.activeIndex])\n }\n }\n }\n });\n\n }\n\n\n shouldEnablePanResponder = (dx: number, dy: number) => {\n const gestureEnableThreshold = 30;\n\n const shouldEnable = (this.props.direction === 'horizontal' ? Math.abs(dx) > Math.abs(dy) : Math.abs(dx) < Math.abs(dy)) &&\n (this.props.direction === 'horizontal' ? Math.abs(dx) > gestureEnableThreshold : Math.abs(dy) > gestureEnableThreshold)\n\n return this.props.enableGestures && shouldEnable;\n }\n\n onChange = (e: any) => {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n const d = (this.state.isHorizontal ? e.dx : e.dy);\n let phase = this.computePhase(bounds?.center || 0);\n if (d && d < 0 && !isNil(bounds.center) && !isNil(bounds.lower)\n && bounds.center !== bounds.lower) {\n phase += (d / (bounds.center - bounds.lower)) || 0;\n } else if (d && d > 0 && !isNil(bounds.center) && !isNil(bounds.upper)\n && bounds.center !== bounds.upper) {\n phase += (d / (bounds.upper - bounds.center)) || 0;\n }\n this.animationPhase.setValue(phase);\n this.position.setValue(\n (this.isRTL() ? -bounds?.center! : bounds?.center || 0) + d);\n }\n\n onEnd = (e: any) => {\n this.props.handlers?.onAnimation &&\n this.props.handlers?.onAnimation(e);\n if (e.dx < 0) {\n this.isRTL() ? this.goToLower(e) : this.goToUpper(e);\n } else if (e.dx > 0) {\n this.isRTL() ? this.goToUpper(e) : this.goToLower(e);\n }\n }\n\n computeMaxScroll() {\n let max = Number.MAX_VALUE;\n const childrenWidth = this.childrenLayout.reduce((s, v) => s + v.width, 0);\n const childrenHeight = this.childrenLayout.reduce((s, v) => s + v.height, 0);\n if (this.props.direction === 'horizontal') {\n if (childrenWidth && this.viewLayout?.width) {\n max = childrenWidth - this.viewLayout.width;\n }\n } else if (childrenHeight && this.viewLayout?.height) {\n max = childrenHeight - this.viewLayout.height;\n }\n this.setState({ maxPosition: -1 * max });\n }\n\n setChildrenLayout(event: LayoutChangeEvent, index: number) {\n this.childrenLayout[index] = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n setViewLayout(event: LayoutChangeEvent) {\n this.viewLayout = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n computePhase(value: number) {\n return (this.props.handlers?.computePhase &&\n this.props.handlers?.computePhase(value)) || 0;\n }\n\n isRTL() {\n return this.i18nService.isRTLLocale();\n }\n\n goToLower(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.lower)\n .then(() => {\n if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {\n this.props.handlers?.onLower &&\n this.props.handlers?.onLower(e);\n }\n });\n }\n\n goToUpper(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.upper)\n .then(() => {\n if (!isNil(bounds.upper) && bounds.center !== bounds.upper) {\n this.props.handlers?.onUpper &&\n this.props.handlers?.onUpper(e);\n }\n });\n }\n\n setPosition(value: number | undefined) {\n if (isNil(value)) {\n return Promise.reject();\n }\n let position = isNaN(this.state.maxPosition) ? value : Math.max(this.state.maxPosition, value);\n return new Promise((resolve) => {\n Animated.parallel([\n Animated.timing(this.animationPhase, {\n useNativeDriver: true,\n toValue: this.computePhase(value),\n duration: 200,\n easing: Easing.out(Easing.linear)\n }),\n Animated.timing(this.position, {\n useNativeDriver: true,\n toValue: (this.isRTL() ? -1 : 1) * position,\n duration: 200,\n easing: Easing.out(Easing.linear)\n })\n ]).start(resolve);\n });\n }\n\n public render() {\n const isHorizontal = this.props.direction === 'horizontal';\n return (\n //@ts-ignore\n <RNView style={[\n isHorizontal ? {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n } : null,\n this.props.style]}\n onLayout={this.setViewLayout.bind(this)}\n {...this.panResponder.panHandlers}\n >\n {this.props.children.map((c: any, i: number) => {\n return (<Animated.View onLayout={(e) => this.setChildrenLayout(e, i)} key={c.key}\n style={[this.props.slideMinWidth ? {\n minWidth: this.props.slideMinWidth\n } : {\n width: this.props.slideWidth\n },\n this.props.style?.height === '100%' ? {\n height: '100%'\n } : null,\n {\n transform: this.state.isHorizontal ? [{\n translateX: this.position\n }] : [{\n translateY: this.position\n }]\n }\n ]}>\n {c}\n </Animated.View>);\n })}\n </RNView>\n );\n }\n\n}\n"],"mappings":"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","ignoreList":[]}