@wavemaker/app-rn-runtime 11.10.4-rc.6085 → 11.10.5-next.27901

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 (33) hide show
  1. package/components/advanced/login/login.component.js +1 -1
  2. package/components/advanced/login/login.component.js.map +1 -1
  3. package/components/advanced/login/login.props.js +1 -0
  4. package/components/advanced/login/login.props.js.map +1 -1
  5. package/components/advanced/webview/webview.component.js +3 -1
  6. package/components/advanced/webview/webview.component.js.map +1 -1
  7. package/components/container/tabs/tabheader/tabheader.component.js +4 -4
  8. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  9. package/components/data/list/list.component.js +27 -1
  10. package/components/data/list/list.component.js.map +1 -1
  11. package/components/data/list/list.styles.js +1 -0
  12. package/components/data/list/list.styles.js.map +1 -1
  13. package/components/device/camera/camera.component.js +3 -1
  14. package/components/device/camera/camera.component.js.map +1 -1
  15. package/components/device/camera/camera.props.js +1 -0
  16. package/components/device/camera/camera.props.js.map +1 -1
  17. package/components/input/baseinput/baseinput.component.js +3 -1
  18. package/components/input/baseinput/baseinput.component.js.map +1 -1
  19. package/components/input/basenumber/basenumber.component.js +3 -1
  20. package/components/input/basenumber/basenumber.component.js.map +1 -1
  21. package/components/input/epoch/base-datetime.component.js +5 -1
  22. package/components/input/epoch/base-datetime.component.js.map +1 -1
  23. package/components/page/page-content/page-content.component.js +37 -7
  24. package/components/page/page-content/page-content.component.js.map +1 -1
  25. package/components/page/page-content/page-content.props.js +3 -0
  26. package/components/page/page-content/page-content.props.js.map +1 -1
  27. package/core/formatters.js +4 -2
  28. package/core/formatters.js.map +1 -1
  29. package/gestures/swipe.animation.js +9 -9
  30. package/gestures/swipe.animation.js.map +1 -1
  31. package/npm-shrinkwrap.json +87 -87
  32. package/package-lock.json +87 -87
  33. package/package.json +2 -2
@@ -11,13 +11,43 @@ import { DEFAULT_CLASS } from './page-content.styles';
11
11
  import { ScrollView } from 'react-native-gesture-handler';
12
12
  import WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';
13
13
  import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
14
- export class WmPageContentState extends BaseComponentState {}
14
+ export class WmPageContentState extends BaseComponentState {
15
+ constructor(...args) {
16
+ super(...args);
17
+ _defineProperty(this, "previousScrollY", 0);
18
+ _defineProperty(this, "swipeThreshold", 8);
19
+ }
20
+ }
15
21
  export default class WmPageContent extends BaseComponent {
16
22
  constructor(props) {
17
23
  super(props, DEFAULT_CLASS, new WmPageContentProps());
18
24
  _defineProperty(this, "scrollRef", void 0);
25
+ _defineProperty(this, "handleScroll", event => {
26
+ const currentScrollY = event.nativeEvent.contentOffset.y;
27
+ const {
28
+ previousScrollY,
29
+ swipeThreshold
30
+ } = this.state;
31
+ const delta = currentScrollY - previousScrollY;
32
+ if (Math.abs(delta) > swipeThreshold) {
33
+ if (delta > 0) {
34
+ this.invokeEventCallback('onSwipeup', [null, this.proxy]);
35
+ } else {
36
+ this.invokeEventCallback('onSwipedown', [null, this.proxy]);
37
+ }
38
+ this.setState({
39
+ previousScrollY: currentScrollY
40
+ });
41
+ }
42
+ this.notify('scroll', [event]);
43
+ });
19
44
  this.hideMode = HideMode.DONOT_ADD_TO_DOM;
20
45
  this.scrollRef = /*#__PURE__*/createRef();
46
+ this.state = {
47
+ ...this.state,
48
+ previousScrollY: 0,
49
+ swipeThreshold: 8
50
+ };
21
51
  this.subscribe('scrollToPosition', args => {
22
52
  this.scrollTo(args);
23
53
  });
@@ -57,7 +87,6 @@ export default class WmPageContent extends BaseComponent {
57
87
  }
58
88
  renderWidget(props) {
59
89
  const showScrollbar = this.styles.root.scrollbarColor != 'transparent';
60
- // return ((props.scrollable || isWebPreviewMode()) && !this._showSkeleton) ? (
61
90
  return props.scrollable || isWebPreviewMode() ? /*#__PURE__*/React.createElement(View, {
62
91
  style: {
63
92
  height: '100%',
@@ -71,7 +100,7 @@ export default class WmPageContent extends BaseComponent {
71
100
  right: 0
72
101
  }) => {
73
102
  const keyboardOffset = (insets === null || insets === void 0 ? void 0 : insets.bottom) || 0;
74
- const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + 100 : keyboardOffset;
103
+ const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;
75
104
  return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
76
105
  behavior: Platform.OS === 'ios' ? 'padding' : undefined,
77
106
  keyboardVerticalOffset: verticalOffset,
@@ -84,9 +113,10 @@ export default class WmPageContent extends BaseComponent {
84
113
  backgroundColor: 'transparent'
85
114
  }],
86
115
  showsVerticalScrollIndicator: showScrollbar,
87
- onScroll: event => {
88
- this.notify('scroll', [event]);
89
- },
116
+ onScroll: this.handleScroll,
117
+ alwaysBounceVertical: false,
118
+ alwaysBounceHorizontal: false,
119
+ bounces: false,
90
120
  scrollEventThrottle: 48
91
121
  }, props.children));
92
122
  })) : /*#__PURE__*/React.createElement(View, {
@@ -100,7 +130,7 @@ export default class WmPageContent extends BaseComponent {
100
130
  right: 0
101
131
  }) => {
102
132
  const keyboardOffset = (insets === null || insets === void 0 ? void 0 : insets.bottom) || 0;
103
- const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + 100 : keyboardOffset;
133
+ const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;
104
134
  return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
105
135
  behavior: Platform.OS === 'ios' ? 'padding' : undefined,
106
136
  keyboardVerticalOffset: verticalOffset,
@@ -1 +1 @@
1
- {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","ScrollView","WmLottie","SafeAreaInsetsContext","WmPageContentState","WmPageContent","constructor","props","_defineProperty","hideMode","DONOT_ADD_TO_DOM","scrollRef","subscribe","args","scrollTo","_this$scrollRef","current","scrollToEnd","position","_this$scrollRef2","x","y","Animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","keyboardOffset","verticalOffset","OS","behavior","undefined","keyboardVerticalOffset","flex","ref","contentContainerStyle","showsVerticalScrollIndicator","onScroll","event","notify","scrollEventThrottle","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject } from 'react';\nimport { KeyboardAvoidingView, Platform, View } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n\n}\n\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args)\n })\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current.scrollToEnd();\n })\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current.scrollTo({\n x: position.x,\n y: position.y,\n Animated: true\n });\n }\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n } \n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n // return ((props.scrollable || isWebPreviewMode()) && !this._showSkeleton) ? (\n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%', backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor}}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + 100 : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <ScrollView \n ref={this.scrollRef}\n contentContainerStyle={[this.styles.root, {backgroundColor: 'transparent'}]}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}>\n {props.children}\n </ScrollView>\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + 100 : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n }\n "],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","ScrollView","WmLottie","SafeAreaInsetsContext","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","event","currentScrollY","nativeEvent","contentOffset","y","previousScrollY","swipeThreshold","state","delta","Math","abs","invokeEventCallback","proxy","setState","notify","hideMode","DONOT_ADD_TO_DOM","scrollRef","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","position","_this$scrollRef2","x","Animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","keyboardOffset","verticalOffset","OS","keyboardverticaloffset","behavior","undefined","keyboardVerticalOffset","flex","ref","contentContainerStyle","showsVerticalScrollIndicator","onScroll","handleScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","scrollEventThrottle","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject } from 'react';\nimport { KeyboardAvoidingView, Platform, View, NativeSyntheticEvent, NativeScrollEvent } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n previousScrollY: number = 0;\n swipeThreshold: number = 8;\n}\n\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n \n this.state = {\n ...this.state,\n previousScrollY: 0,\n swipeThreshold: 8\n };\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current.scrollToEnd();\n });\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current.scrollTo({\n x: position.x,\n y: position.y,\n Animated: true\n });\n }\n\n private handleScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const currentScrollY = event.nativeEvent.contentOffset.y;\n const { previousScrollY, swipeThreshold } = this.state;\n \n const delta = currentScrollY - previousScrollY;\n \n if (Math.abs(delta) > swipeThreshold) {\n if (delta > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n \n } else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n this.setState({ previousScrollY: currentScrollY });\n }\n this.notify('scroll', [event]);\n };\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n } \n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n \n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%', backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor}}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <ScrollView \n ref={this.scrollRef}\n contentContainerStyle={[this.styles.root, {backgroundColor: 'transparent'}]}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.handleScroll}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n scrollEventThrottle={48}>\n {props.children}\n </ScrollView>\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = insets?.bottom || 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,9 @@ export default class WmPageContentProps extends SkeletonAnimationProps {
7
7
  super(...args);
8
8
  _defineProperty(this, "children", null);
9
9
  _defineProperty(this, "scrollable", true);
10
+ _defineProperty(this, "onSwipeup", null);
11
+ _defineProperty(this, "onSwipedown", null);
12
+ _defineProperty(this, "keyboardverticaloffset", 100);
10
13
  }
11
14
  }
12
15
  //# sourceMappingURL=page-content.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\n\nexport default class WmPageContentProps extends SkeletonAnimationProps {\n children: any[] = null as any;\n scrollable: boolean = true;\n}"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,2DAA2D;AAElG,eAAe,MAAMC,kBAAkB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACjD,IAAI;IAAAA,eAAA,qBACA,IAAI;EAAA;AAC9B","ignoreList":[]}
1
+ {"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\n\nexport default class WmPageContentProps extends SkeletonAnimationProps {\n children: any[] = null as any;\n scrollable: boolean = true;\n onSwipeup?: Function = null as any; \n onSwipedown?: Function = null as any;\n keyboardverticaloffset: number = 100;\n}"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,2DAA2D;AAElG,eAAe,MAAMC,kBAAkB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACjD,IAAI;IAAAA,eAAA,qBACA,IAAI;IAAAA,eAAA,oBACH,IAAI;IAAAA,eAAA,sBACF,IAAI;IAAAA,eAAA,iCACI,GAAG;EAAA;AACxC","ignoreList":[]}
@@ -4,12 +4,14 @@ import { CURRENCY_INFO } from './constants/currency-constants';
4
4
  import injector from '@wavemaker/app-rn-runtime/core/injector';
5
5
  export class DateToStringFormatter {
6
6
  format(input, format) {
7
+ var _get;
7
8
  if (!input) return '';
8
9
  format = format.replaceAll('y', 'Y').replaceAll('d', 'D').replaceAll('E', 'd');
9
- let _moment = moment(input, [moment.ISO_8601, "YYYY", "YYYY-MM", "YYYYMMDD", "YYYY-MM-DD", "YYYY-MM-DDTHH", "YYYY-MM-DDTHH:mm", "YYYY-MM-DDTHH:mm:ss", "YYYY-MM-DDTHH:mm:ss.SSS", "YYYY-MM-DD HH:mm:ss", "MM/DD/YYYY", "MM-DD-YYYY", "YYYY/MM/DD", "YYYY/MM", "D MMM YYYY", "MMM D YYYY", "MMMM D YYYY", "D MMMM YYYY", "D-MMM-YYYY", "D/MMM/YYYY", "YYYY-WWW", "YYYY-WWW-E", "YYYY-DDD", "YYYY-DDDTHH", "YYYY-DDDTHH:mm", "YYYY-DDDTHH:mm:ss", "YYYY-DDDTHH:mm:ss.SSS", "YYYY-DDD HH:mm:ss", "YYYY-MM-DDTHH:mm:ssZ", "YYYY-MM-DDTHH:mm:ss+00:00", "YYYY-MM-DDTHH:mm:ss-00:00", "YYYY-MM-DDTHH:mm:ss.SSSZ", "YYYY-MM-DDTHH:mm:ss.SSS+00:00", "YYYY-MM-DDTHH:mm:ss.SSS-00:00", "ddd, DD MMM YYYY HH:mm:ss ZZ", "DD MMM YYYY HH:mm:ss ZZ"], true);
10
+ let _moment = moment(input, [moment.ISO_8601, "YYYY", "YYYY-MM", "YYYYMMDD", "YYYY-MM-DD", "YYYY-MM-DDTHH", "YYYY-MM-DDTHH:mm", "YYYY-MM-DDTHH:mm:ss", "YYYY-MM-DDTHH:mm:ss.SSS", "YYYY-MM-DD HH:mm:ss", "MM/DD/YYYY", "MM-DD-YYYY", "YYYY/MM/DD", "YYYY/MM", "D MMM YYYY", "MMM D YYYY", "MMMM D YYYY", "D MMMM YYYY", "D-MMM-YYYY", "D/MMM/YYYY", "YYYY-WWW", "YYYY-WWW-E", "YYYY-DDD", "YYYY-DDDTHH", "YYYY-DDDTHH:mm", "YYYY-DDDTHH:mm:ss", "YYYY-DDDTHH:mm:ss.SSS", "YYYY-DDD HH:mm:ss", "YYYY-MM-DDTHH:mm:ssZ", "YYYY-MM-DDTHH:mm:ss+00:00", "YYYY-MM-DDTHH:mm:ss-00:00", "YYYY-MM-DDTHH:mm:ss.SSSZ", "YYYY-MM-DDTHH:mm:ss.SSS+00:00", "YYYY-MM-DDTHH:mm:ss.SSS-00:00", "ddd, DD MMM YYYY HH:mm:ss ZZ", "DD MMM YYYY HH:mm:ss ZZ", 'x'], true);
10
11
  if (format === 'timestamp') return Math.floor(_moment.valueOf() / 1000).toString();
11
12
  if (format === 'UTC') return moment.utc(input).toString();
12
- return _moment.isValid() ? _moment.format(format) : input.toString();
13
+ const defaultLanguage = ((_get = injector.get('APP_CONFIG')) === null || _get === void 0 || (_get = _get.appProperties) === null || _get === void 0 ? void 0 : _get.defaultLanguage) || 'en';
14
+ return _moment.isValid() ? _moment.locale(defaultLanguage).format(format) : input.toString();
13
15
  }
14
16
  }
15
17
  export class PrependFormatter {
@@ -1 +1 @@
1
- {"version":3,"names":["parseInt","moment","CURRENCY_INFO","injector","DateToStringFormatter","format","input","replaceAll","_moment","ISO_8601","Math","floor","valueOf","toString","utc","isValid","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","i18nService","I18nService","get","selectedLocale","getSelectedLocale","formatCurrency","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","isNaN","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","replace","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","createFormatter","key","defaultFormatter","params","output","customFormatter","formatters","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\nimport { DateFormatter } from '@wavemaker/variables/src/types/date-formatter';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements DateFormatter {\n public format(input: Date, format: string): string {\n \n if (!input) return '';\n\n format = format.replaceAll('y', 'Y').replaceAll('d', 'D').replaceAll('E','d');\n let _moment = moment(input, [\n moment.ISO_8601,\n \"YYYY\",\n \"YYYY-MM\",\n \"YYYYMMDD\",\n \"YYYY-MM-DD\",\n \"YYYY-MM-DDTHH\",\n \"YYYY-MM-DDTHH:mm\",\n \"YYYY-MM-DDTHH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ss.SSS\",\n \"YYYY-MM-DD HH:mm:ss\",\n \"MM/DD/YYYY\",\n \"MM-DD-YYYY\",\n \"YYYY/MM/DD\",\n \"YYYY/MM\",\n \"D MMM YYYY\",\n \"MMM D YYYY\",\n \"MMMM D YYYY\",\n \"D MMMM YYYY\",\n \"D-MMM-YYYY\",\n \"D/MMM/YYYY\",\n \"YYYY-WWW\", \n \"YYYY-WWW-E\",\n \"YYYY-DDD\",\n \"YYYY-DDDTHH\",\n \"YYYY-DDDTHH:mm\",\n \"YYYY-DDDTHH:mm:ss\",\n \"YYYY-DDDTHH:mm:ss.SSS\",\n \"YYYY-DDD HH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ssZ\",\n \"YYYY-MM-DDTHH:mm:ss+00:00\",\n \"YYYY-MM-DDTHH:mm:ss-00:00\",\n \"YYYY-MM-DDTHH:mm:ss.SSSZ\",\n \"YYYY-MM-DDTHH:mm:ss.SSS+00:00\",\n \"YYYY-MM-DDTHH:mm:ss.SSS-00:00\",\n \"ddd, DD MMM YYYY HH:mm:ss ZZ\",\n \"DD MMM YYYY HH:mm:ss ZZ\",\n ], true);\n\n if (format === 'timestamp')\n return Math.floor(_moment.valueOf() / 1000).toString();\n\n if (format === 'UTC')\n return moment.utc(input).toString();\n\n return _moment.isValid() ? _moment.format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n\n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n\n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n\n public format(input: number, fractionSize: number): string {\n const i18nService = injector.I18nService.get();\n const selectedLocale = i18nService.getSelectedLocale();\n let formatCurrency = new Intl.NumberFormat(selectedLocale,{\n minimumFractionDigits: fractionSize,\n maximumFractionDigits: fractionSize,\n });\n return isNaN(input) ? '': formatCurrency.format(input);\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n\n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nconst createFormatter = (key: string, defaultFormatter: Formatter) => {\n return {\n format: (input: any, ...params: any) => {\n const output = defaultFormatter.format(input, ...params);\n const customFormatter = formatters.get(`custom.${key}`);\n return customFormatter ? customFormatter.format(output, ...params): output;\n }\n };\n};\n\nconst formatters = new Map<string, Formatter>([\n ['numberToString', createFormatter('numberToString' , new NumberToStringFormatter())],\n ['prefix', createFormatter('prefix', new PrependFormatter())],\n ['suffix', createFormatter('suffix', new AppendFormatter())],\n ['stringToNumber', createFormatter('stringToNumber',new StringToNumberFormatter())],\n ['timeFromNow', createFormatter('timeFromNow', new TimeFromNowFormatter())],\n ['toDate', createFormatter('toDate', new DateToStringFormatter())],\n ['toCurrency', createFormatter('toCurrency', new CurrencyFormatter())]\n]);\n\nexport default formatters;"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["parseInt","moment","CURRENCY_INFO","injector","DateToStringFormatter","format","input","_get","replaceAll","_moment","ISO_8601","Math","floor","valueOf","toString","utc","defaultLanguage","get","appProperties","isValid","locale","PrependFormatter","prefix","undefined","AppendFormatter","suffix","NumberToStringFormatter","fractionSize","i18nService","I18nService","selectedLocale","getSelectedLocale","formatCurrency","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","isNaN","CurrencyFormatter","data","currencySymbol","fracSize","_currencySymbol","symbol","_val","isNegativeNumber","startsWith","replace","TimeFromNowFormatter","timestamp","fromNow","StringToNumberFormatter","createFormatter","key","defaultFormatter","params","output","customFormatter","formatters","Map"],"sources":["formatters.ts"],"sourcesContent":["import { parseInt } from 'lodash';\nimport moment from 'moment';\nimport { CURRENCY_INFO, Currency } from './constants/currency-constants';\nimport { DateFormatter } from '@wavemaker/variables/src/types/date-formatter';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface Formatter {\n format: (input: any, ...params: any) => any;\n}\n\nexport class DateToStringFormatter implements DateFormatter {\n public format(input: Date, format: string): string {\n \n if (!input) return '';\n\n format = format.replaceAll('y', 'Y').replaceAll('d', 'D').replaceAll('E','d');\n let _moment = moment(input, [\n moment.ISO_8601,\n \"YYYY\",\n \"YYYY-MM\",\n \"YYYYMMDD\",\n \"YYYY-MM-DD\",\n \"YYYY-MM-DDTHH\",\n \"YYYY-MM-DDTHH:mm\",\n \"YYYY-MM-DDTHH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ss.SSS\",\n \"YYYY-MM-DD HH:mm:ss\",\n \"MM/DD/YYYY\",\n \"MM-DD-YYYY\",\n \"YYYY/MM/DD\",\n \"YYYY/MM\",\n \"D MMM YYYY\",\n \"MMM D YYYY\",\n \"MMMM D YYYY\",\n \"D MMMM YYYY\",\n \"D-MMM-YYYY\",\n \"D/MMM/YYYY\",\n \"YYYY-WWW\", \n \"YYYY-WWW-E\",\n \"YYYY-DDD\",\n \"YYYY-DDDTHH\",\n \"YYYY-DDDTHH:mm\",\n \"YYYY-DDDTHH:mm:ss\",\n \"YYYY-DDDTHH:mm:ss.SSS\",\n \"YYYY-DDD HH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ssZ\",\n \"YYYY-MM-DDTHH:mm:ss+00:00\",\n \"YYYY-MM-DDTHH:mm:ss-00:00\",\n \"YYYY-MM-DDTHH:mm:ss.SSSZ\",\n \"YYYY-MM-DDTHH:mm:ss.SSS+00:00\",\n \"YYYY-MM-DDTHH:mm:ss.SSS-00:00\",\n \"ddd, DD MMM YYYY HH:mm:ss ZZ\",\n \"DD MMM YYYY HH:mm:ss ZZ\",\n 'x'\n ], true);\n\n if (format === 'timestamp')\n return Math.floor(_moment.valueOf() / 1000).toString();\n\n if (format === 'UTC')\n return moment.utc(input).toString();\n\n const defaultLanguage = (injector as any).get('APP_CONFIG')?.appProperties?.defaultLanguage || 'en';\n\n return _moment.isValid() ? _moment.locale(defaultLanguage).format(format) : input.toString();\n }\n}\n\nexport class PrependFormatter implements Formatter {\n\n public format(input: any, prefix: string): string {\n return (prefix || '') + (input !== null || input != undefined ? input : '');\n }\n}\n\nexport class AppendFormatter implements Formatter {\n\n public format(input: any, suffix: string): string {\n return (input !== null || input != undefined ? input : '') + (suffix || '');\n }\n}\n\nexport class NumberToStringFormatter implements Formatter {\n\n public format(input: number, fractionSize: number): string {\n const i18nService = injector.I18nService.get();\n const selectedLocale = i18nService.getSelectedLocale();\n let formatCurrency = new Intl.NumberFormat(selectedLocale,{\n minimumFractionDigits: fractionSize,\n maximumFractionDigits: fractionSize,\n });\n return isNaN(input) ? '': formatCurrency.format(input);\n }\n}\n\nexport class CurrencyFormatter implements Formatter {\n\n public format(data: number, currencySymbol: string, fracSize: number) {\n const _currencySymbol = ((((CURRENCY_INFO as any)[currencySymbol]) || {}) as Currency).symbol || currencySymbol || '';\n let _val = new NumberToStringFormatter().format(data, fracSize);\n const isNegativeNumber = _val.startsWith('-');\n if (isNegativeNumber) {\n _val = _val.replace('-','');\n }\n return _val ? isNegativeNumber ? '-'+ _currencySymbol +_val :_currencySymbol + _val : '';\n }\n}\n\nexport class TimeFromNowFormatter implements Formatter {\n public format(timestamp: Date) {\n return timestamp ? moment(timestamp).fromNow() : undefined;\n }\n}\n\nexport class StringToNumberFormatter implements Formatter {\n public format(input: string) {\n return parseInt(input);\n }\n}\n\nconst createFormatter = (key: string, defaultFormatter: Formatter) => {\n return {\n format: (input: any, ...params: any) => {\n const output = defaultFormatter.format(input, ...params);\n const customFormatter = formatters.get(`custom.${key}`);\n return customFormatter ? customFormatter.format(output, ...params): output;\n }\n };\n};\n\nconst formatters = new Map<string, Formatter>([\n ['numberToString', createFormatter('numberToString' , new NumberToStringFormatter())],\n ['prefix', createFormatter('prefix', new PrependFormatter())],\n ['suffix', createFormatter('suffix', new AppendFormatter())],\n ['stringToNumber', createFormatter('stringToNumber',new StringToNumberFormatter())],\n ['timeFromNow', createFormatter('timeFromNow', new TimeFromNowFormatter())],\n ['toDate', createFormatter('toDate', new DateToStringFormatter())],\n ['toCurrency', createFormatter('toCurrency', new CurrencyFormatter())]\n]);\n\nexport default formatters;"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
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 { isNil } from 'lodash-es';
5
5
  import React from 'react';
6
- import { Animated, Easing, View as RNView } from 'react-native';
6
+ import { Animated, Easing } from 'react-native';
7
7
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
8
8
  import { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
9
9
  import injector from '@wavemaker/app-rn-runtime/core/injector';
@@ -191,23 +191,23 @@ export class View extends React.Component {
191
191
  flexDirection: 'row',
192
192
  flexWrap: 'nowrap',
193
193
  alignItems: 'center'
194
- } : null, this.props.style, {
195
- transform: this.state.isHorizontal ? [{
196
- translateX: this.position
197
- }] : [{
198
- translateY: this.position
199
- }]
200
- }],
194
+ } : null, this.props.style],
201
195
  onLayout: this.setViewLayout.bind(this)
202
196
  }, this.props.children.map((c, i) => {
203
197
  var _this$props$style;
204
- return /*#__PURE__*/React.createElement(RNView, {
198
+ return /*#__PURE__*/React.createElement(Animated.View, {
205
199
  onLayout: e => this.setChildrenLayout(e, i),
206
200
  key: c.key,
207
201
  style: [this.props.slideMinWidth ? {
208
202
  minWidth: this.props.slideMinWidth
209
203
  } : {
210
204
  width: this.props.slideWidth
205
+ }, {
206
+ transform: this.state.isHorizontal ? [{
207
+ translateX: this.position
208
+ }] : [{
209
+ translateY: this.position
210
+ }]
211
211
  }, ((_this$props$style = this.props.style) === null || _this$props$style === void 0 ? void 0 : _this$props$style.height) === '100%' ? {
212
212
  height: '100%'
213
213
  } : null]
@@ -1 +1 @@
1
- {"version":3,"names":["isNil","React","Animated","Easing","View","RNView","Gesture","GestureDetector","isWebPreviewMode","injector","Handlers","constructor","_defineProperty","Props","undefined","State","Number","MAX_VALUE","Component","props","Pan","Value","I18nService","get","state","isHorizontal","direction","threshold","bounds","touchStart","x","y","active","swipeDirection","gesture","minPointers","minDistance","enabled","enableGestures","onTouchesDown","e","s","changedTouches","onTouchesMove","translationX","allTouches","translationY","Math","abs","d","od","activeOffsetX","failOffsetY","onChange","_this$props$handlers","_this$props$handlers2","handlers","phase","computePhase","center","lower","upper","animationPhase","setValue","position","isRTL","onEnd","_this$props$handlers3","_this$props$handlers4","onAnimation","goToLower","goToUpper","computeMaxScroll","_this$viewLayout2","max","childrenWidth","childrenLayout","reduce","v","width","childrenHeight","height","_this$viewLayout","viewLayout","setState","maxPosition","setChildrenLayout","event","index","nativeEvent","layout","setViewLayout","value","_this$props$handlers5","_this$props$handlers6","i18nService","isRTLLocale","_this$props$handlers7","_this$props$handlers8","setPosition","then","_this$props$handlers9","_this$props$handlers10","onLower","_this$props$handlers11","_this$props$handlers12","_this$props$handlers13","_this$props$handlers14","onUpper","Promise","reject","isNaN","resolve","parallel","timing","useNativeDriver","toValue","duration","easing","out","linear","start","render","createElement","style","flexDirection","flexWrap","alignItems","transform","translateX","translateY","onLayout","bind","children","map","c","i","_this$props$style","key","slideMinWidth","minWidth","slideWidth"],"sources":["swipe.animation.tsx"],"sourcesContent":["import { isNil } from 'lodash-es';\nimport React from 'react';\nimport { Animated, Easing, View as RNView, ViewStyle, LayoutChangeEvent, LayoutRectangle, DimensionValue } from 'react-native';\nimport { Gesture, GestureDetector, GestureUpdateEvent } from 'react-native-gesture-handler';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class Handlers {\n bounds?: (g: GestureUpdateEvent<any>) => Bounds = null as any;\n onAnimation?: (g: GestureUpdateEvent<any>) => any = () => {};\n onLower?: (g: GestureUpdateEvent<any>) => any = () => {};\n onUpper?: (g: GestureUpdateEvent<any>) => any = () => {};\n computePhase?: (value: number) => number = null as any;\n}\n\nexport interface Bounds {\n upper?: number;\n center?: number;\n lower?: number;\n}\n\nexport class Props {\n threshold?: number = 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}\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\n private gesture = Gesture.Pan();\n private position = new Animated.Value(0);\n public animationPhase = new Animated.Value(0);\n private i18nService = injector.I18nService.get();\n private childrenLayout: LayoutRectangle[] = [];\n private viewLayout: LayoutRectangle = null as any;\n\n constructor(props: Props) {\n super(props);\n this.state = {\n isHorizontal: props.direction === 'horizontal',\n threshold: props.threshold || 5,\n bounds: {} as any\n } as State;\n var touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n var swipeDirection :'horizontal' | 'vertical' = 'horizontal';\n this.gesture\n .minPointers(1)\n .minDistance(this.state.threshold)\n .enabled(this.props.enableGestures && !isWebPreviewMode())\n .onTouchesDown((e, s) => {\n touchStart = {\n x: e.changedTouches[0].x,\n y: e.changedTouches[0].y,\n active: false\n };\n })\n .onTouchesMove((e, s) => {\n if (touchStart.active) {\n return;\n }\n const translationX = e.allTouches[0].x - touchStart.x;\n const translationY = e.allTouches[0].y - touchStart.y;\n swipeDirection = (Math.abs(translationX) > Math.abs(translationY)) ? 'horizontal' : 'vertical';\n const d = (this.state.isHorizontal ? translationX : translationY);\n const od = (this.state.isHorizontal ? translationY : translationX);\n if(swipeDirection == this.props.direction && Math.abs(d) >= this.state.threshold){\n touchStart.active = true;\n }\n this.gesture\n .activeOffsetX([-this.state.threshold, this.state.threshold])\n .failOffsetY([-this.state.threshold, this.state.threshold]);\n })\n .onChange(e => {\n if (!touchStart.active || swipeDirection != this.props.direction) {\n return;\n }\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n const d = (this.state.isHorizontal ? e.translationX : e.translationY);\n let phase = this.computePhase(bounds?.center || 0);\n if (d && d < 0 && !isNil(bounds.center) && !isNil(bounds.lower)\n && bounds.center !== bounds.lower) {\n phase += (d / (bounds.center - bounds.lower)) || 0;\n } else if (d && d > 0 && !isNil(bounds.center) && !isNil(bounds.upper)\n && bounds.center !== bounds.upper) {\n phase += (d / (bounds.upper - bounds.center)) || 0;\n }\n this.animationPhase.setValue(phase);\n this.position.setValue(\n (this.isRTL()?-bounds?.center! :bounds?.center || 0) + d);\n })\n .onEnd(e => {\n if (!touchStart.active || swipeDirection != this.props.direction) {\n return;\n }\n touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n this.props.handlers?.onAnimation &&\n this.props.handlers?.onAnimation(e);\n if (e.translationX < 0) {\n this.isRTL()?this.goToLower(e):this.goToUpper(e);\n } else if (e.translationX > 0) {\n this.isRTL()?this.goToUpper(e):this.goToLower(e);\n }\n })\n\n }\n\n computeMaxScroll() {\n let max = Number.MAX_VALUE;\n const childrenWidth = this.childrenLayout.reduce((s, v) => s + v.width, 0);\n const childrenHeight = this.childrenLayout.reduce((s, v) => s + v.height, 0);\n if (this.props.direction === 'horizontal') {\n if (childrenWidth && this.viewLayout?.width) {\n max = childrenWidth - this.viewLayout.width;\n }\n } else if (childrenHeight && this.viewLayout?.height) {\n max = childrenHeight - this.viewLayout.height;\n }\n this.setState({maxPosition: -1 * max});\n }\n\n setChildrenLayout(event: LayoutChangeEvent, index: number) {\n this.childrenLayout[index] = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n setViewLayout(event: LayoutChangeEvent) {\n this.viewLayout = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n computePhase(value: number) {\n return (this.props.handlers?.computePhase &&\n this.props.handlers?.computePhase(value)) || 0;\n }\n\n isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n goToLower(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.lower)\n .then(() => {\n if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {\n this.props.handlers?.onLower &&\n this.props.handlers?.onLower(e);\n }\n });\n }\n\n goToUpper(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.upper)\n .then(() => {\n if (!isNil(bounds.upper) && bounds.center !== bounds.upper) {\n this.props.handlers?.onUpper &&\n this.props.handlers?.onUpper(e);\n }\n });\n }\n\n setPosition(value: number | undefined) {\n if (isNil(value)) {\n return Promise.reject();\n }\n let position = isNaN(this.state.maxPosition) ? value : Math.max(this.state.maxPosition, value);\n return new Promise((resolve) => {\n Animated.parallel([\n Animated.timing(this.animationPhase, {\n useNativeDriver: true,\n toValue: this.computePhase(value),\n duration: 200,\n easing: Easing.out(Easing.linear)\n }),\n Animated.timing(this.position, {\n useNativeDriver: true,\n toValue: (this.isRTL() ? -1: 1) * position,\n duration: 200,\n easing: Easing.out(Easing.linear)\n })\n ]).start(resolve);\n });\n }\n\n public render() {\n const isHorizontal = this.props.direction === 'horizontal';\n return (\n //@ts-ignore\n <GestureDetector gesture={this.gesture}>\n <Animated.View style={[\n isHorizontal ? {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n } : null,\n this.props.style,\n {\n transform: this.state.isHorizontal ? [{\n translateX: this.position\n }] : [{\n translateY: this.position\n }]\n }]} onLayout={this.setViewLayout.bind(this)}>\n {this.props.children.map((c: any, i: number) => {\n return (<RNView onLayout={(e) => this.setChildrenLayout(e, i)} key={c.key}\n style={[this.props.slideMinWidth ? {\n minWidth: this.props.slideMinWidth\n } : {\n width: this.props.slideWidth\n },\n this.props.style?.height === '100%' ? {\n height: '100%'\n } : null\n ]}>\n {c}\n </RNView>);\n })}\n </Animated.View>\n </GestureDetector>\n );\n }\n\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isNil","React","Animated","Easing","Gesture","GestureDetector","isWebPreviewMode","injector","Handlers","constructor","_defineProperty","Props","undefined","State","Number","MAX_VALUE","View","Component","props","Pan","Value","I18nService","get","state","isHorizontal","direction","threshold","bounds","touchStart","x","y","active","swipeDirection","gesture","minPointers","minDistance","enabled","enableGestures","onTouchesDown","e","s","changedTouches","onTouchesMove","translationX","allTouches","translationY","Math","abs","d","od","activeOffsetX","failOffsetY","onChange","_this$props$handlers","_this$props$handlers2","handlers","phase","computePhase","center","lower","upper","animationPhase","setValue","position","isRTL","onEnd","_this$props$handlers3","_this$props$handlers4","onAnimation","goToLower","goToUpper","computeMaxScroll","_this$viewLayout2","max","childrenWidth","childrenLayout","reduce","v","width","childrenHeight","height","_this$viewLayout","viewLayout","setState","maxPosition","setChildrenLayout","event","index","nativeEvent","layout","setViewLayout","value","_this$props$handlers5","_this$props$handlers6","i18nService","isRTLLocale","_this$props$handlers7","_this$props$handlers8","setPosition","then","_this$props$handlers9","_this$props$handlers10","onLower","_this$props$handlers11","_this$props$handlers12","_this$props$handlers13","_this$props$handlers14","onUpper","Promise","reject","isNaN","resolve","parallel","timing","useNativeDriver","toValue","duration","easing","out","linear","start","render","createElement","style","flexDirection","flexWrap","alignItems","onLayout","bind","children","map","c","i","_this$props$style","key","slideMinWidth","minWidth","slideWidth","transform","translateX","translateY"],"sources":["swipe.animation.tsx"],"sourcesContent":["import { isNil } from 'lodash-es';\nimport React from 'react';\nimport { Animated, Easing, View as RNView, ViewStyle, LayoutChangeEvent, LayoutRectangle, DimensionValue } from 'react-native';\nimport { Gesture, GestureDetector, GestureUpdateEvent } from 'react-native-gesture-handler';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class Handlers {\n bounds?: (g: GestureUpdateEvent<any>) => Bounds = null as any;\n onAnimation?: (g: GestureUpdateEvent<any>) => any = () => {};\n onLower?: (g: GestureUpdateEvent<any>) => any = () => {};\n onUpper?: (g: GestureUpdateEvent<any>) => any = () => {};\n computePhase?: (value: number) => number = null as any;\n}\n\nexport interface Bounds {\n upper?: number;\n center?: number;\n lower?: number;\n}\n\nexport class Props {\n threshold?: number = 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}\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\n private gesture = Gesture.Pan();\n private position = new Animated.Value(0);\n public animationPhase = new Animated.Value(0);\n private i18nService = injector.I18nService.get();\n private childrenLayout: LayoutRectangle[] = [];\n private viewLayout: LayoutRectangle = null as any;\n\n constructor(props: Props) {\n super(props);\n this.state = {\n isHorizontal: props.direction === 'horizontal',\n threshold: props.threshold || 5,\n bounds: {} as any\n } as State;\n var touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n var swipeDirection :'horizontal' | 'vertical' = 'horizontal';\n this.gesture\n .minPointers(1)\n .minDistance(this.state.threshold)\n .enabled(this.props.enableGestures && !isWebPreviewMode())\n .onTouchesDown((e, s) => {\n touchStart = {\n x: e.changedTouches[0].x,\n y: e.changedTouches[0].y,\n active: false\n };\n })\n .onTouchesMove((e, s) => {\n if (touchStart.active) {\n return;\n }\n const translationX = e.allTouches[0].x - touchStart.x;\n const translationY = e.allTouches[0].y - touchStart.y;\n swipeDirection = (Math.abs(translationX) > Math.abs(translationY)) ? 'horizontal' : 'vertical';\n const d = (this.state.isHorizontal ? translationX : translationY);\n const od = (this.state.isHorizontal ? translationY : translationX);\n if(swipeDirection == this.props.direction && Math.abs(d) >= this.state.threshold){\n touchStart.active = true;\n }\n this.gesture\n .activeOffsetX([-this.state.threshold, this.state.threshold])\n .failOffsetY([-this.state.threshold, this.state.threshold]);\n })\n .onChange(e => {\n if (!touchStart.active || swipeDirection != this.props.direction) {\n return;\n }\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n const d = (this.state.isHorizontal ? e.translationX : e.translationY);\n let phase = this.computePhase(bounds?.center || 0);\n if (d && d < 0 && !isNil(bounds.center) && !isNil(bounds.lower)\n && bounds.center !== bounds.lower) {\n phase += (d / (bounds.center - bounds.lower)) || 0;\n } else if (d && d > 0 && !isNil(bounds.center) && !isNil(bounds.upper)\n && bounds.center !== bounds.upper) {\n phase += (d / (bounds.upper - bounds.center)) || 0;\n }\n this.animationPhase.setValue(phase);\n this.position.setValue(\n (this.isRTL()?-bounds?.center! :bounds?.center || 0) + d);\n })\n .onEnd(e => {\n if (!touchStart.active || swipeDirection != this.props.direction) {\n return;\n }\n touchStart = {\n x: 0,\n y: 0,\n active: false\n };\n this.props.handlers?.onAnimation &&\n this.props.handlers?.onAnimation(e);\n if (e.translationX < 0) {\n this.isRTL()?this.goToLower(e):this.goToUpper(e);\n } else if (e.translationX > 0) {\n this.isRTL()?this.goToUpper(e):this.goToLower(e);\n }\n })\n\n }\n\n computeMaxScroll() {\n let max = Number.MAX_VALUE;\n const childrenWidth = this.childrenLayout.reduce((s, v) => s + v.width, 0);\n const childrenHeight = this.childrenLayout.reduce((s, v) => s + v.height, 0);\n if (this.props.direction === 'horizontal') {\n if (childrenWidth && this.viewLayout?.width) {\n max = childrenWidth - this.viewLayout.width;\n }\n } else if (childrenHeight && this.viewLayout?.height) {\n max = childrenHeight - this.viewLayout.height;\n }\n this.setState({maxPosition: -1 * max});\n }\n\n setChildrenLayout(event: LayoutChangeEvent, index: number) {\n this.childrenLayout[index] = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n setViewLayout(event: LayoutChangeEvent) {\n this.viewLayout = event.nativeEvent.layout;\n this.computeMaxScroll();\n }\n\n computePhase(value: number) {\n return (this.props.handlers?.computePhase &&\n this.props.handlers?.computePhase(value)) || 0;\n }\n\n isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n goToLower(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.lower)\n .then(() => {\n if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {\n this.props.handlers?.onLower &&\n this.props.handlers?.onLower(e);\n }\n });\n }\n\n goToUpper(e?: any) {\n const bounds = (this.props.handlers?.bounds && this.props.handlers?.bounds(e)) || {};\n this.setPosition(bounds.upper)\n .then(() => {\n if (!isNil(bounds.upper) && bounds.center !== bounds.upper) {\n this.props.handlers?.onUpper &&\n this.props.handlers?.onUpper(e);\n }\n });\n }\n\n setPosition(value: number | undefined) {\n if (isNil(value)) {\n return Promise.reject();\n }\n let position = isNaN(this.state.maxPosition) ? value : Math.max(this.state.maxPosition, value);\n return new Promise((resolve) => {\n Animated.parallel([\n Animated.timing(this.animationPhase, {\n useNativeDriver: true,\n toValue: this.computePhase(value),\n duration: 200,\n easing: Easing.out(Easing.linear)\n }),\n Animated.timing(this.position, {\n useNativeDriver: true,\n toValue: (this.isRTL() ? -1: 1) * position,\n duration: 200,\n easing: Easing.out(Easing.linear)\n })\n ]).start(resolve);\n });\n }\n\n public render() {\n const isHorizontal = this.props.direction === 'horizontal';\n return (\n //@ts-ignore\n <GestureDetector gesture={this.gesture}>\n <Animated.View style={[\n isHorizontal ? {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n } : null,\n this.props.style,\n ]} onLayout={this.setViewLayout.bind(this)}>\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 {\n transform: this.state.isHorizontal ? [{\n translateX: this.position\n }] : [{\n translateY: this.position\n }]\n },\n this.props.style?.height === '100%' ? {\n height: '100%'\n } : null\n ]}>\n {c}\n </Animated.View>);\n })}\n </Animated.View>\n </GestureDetector>\n );\n }\n\n}\n"],"mappings":"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","ignoreList":[]}