@wavemaker/app-rn-runtime 11.14.1-19.6462 → 11.14.1-20.6468
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.
- package/components/basic/bottomsheet/bottomsheet.component.js +12 -0
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/progress-circle/progress-circle.component.js +3 -3
- package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +26 -9
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +38 -6
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.props.js +1 -0
- package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- package/components/chart/basechart.component.js +8 -15
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -0
- package/components/chart/basechart.props.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js +22 -5
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/chart/line-chart/line-chart.component.js +22 -5
- package/components/chart/line-chart/line-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +14 -3
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/container/tabs/tabs.component.js +62 -29
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/tabs/tabs.props.js +1 -0
- package/components/container/tabs/tabs.props.js.map +1 -1
- package/components/container/wizard/wizard.component.js +5 -3
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizard.props.js +0 -1
- package/components/container/wizard/wizard.props.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js +2 -2
- package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +1 -0
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form-field/form-field.props.js +1 -0
- package/components/data/form/form-field/form-field.props.js.map +1 -1
- package/components/data/form/form.component.js +4 -1
- package/components/data/form/form.component.js.map +1 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -2
- package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +21 -3
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/baseinput/baseinput.props.js +1 -0
- package/components/input/baseinput/baseinput.props.js.map +1 -1
- package/components/input/basenumber/basenumber.component.js +18 -3
- package/components/input/basenumber/basenumber.component.js.map +1 -1
- package/components/input/basenumber/basenumber.props.js +1 -0
- package/components/input/basenumber/basenumber.props.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +1 -1
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/currency/currency.component.js +2 -0
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/currency/currency.styles.js +10 -1
- package/components/input/currency/currency.styles.js.map +1 -1
- package/components/input/number/number.component.js +2 -0
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/number/number.styles.js +4 -0
- package/components/input/number/number.styles.js.map +1 -1
- package/components/input/radioset/radioset.component.js +5 -5
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/text/text.component.js +2 -0
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.props.js +0 -1
- package/components/input/text/text.props.js.map +1 -1
- package/components/input/text/text.styles.js +17 -0
- package/components/input/text/text.styles.js.map +1 -1
- package/components/input/textarea/textarea.component.js +1 -0
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/textarea/textarea.styles.js +4 -0
- package/components/input/textarea/textarea.styles.js.map +1 -1
- package/components/navigation/popover/popover.component.js +3 -3
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +0 -5
- package/core/base.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.component.js +18 -50
- package/core/components/error-fallback/error-fallback.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.styles.js +1 -4
- package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
- package/core/components/textinput.component.js +25 -4
- package/core/components/textinput.component.js.map +1 -1
- package/core/error-boundary.component.js +2 -46
- package/core/error-boundary.component.js.map +1 -1
- package/core/fixed-view.component.js +19 -2
- package/core/fixed-view.component.js.map +1 -1
- package/core/tappable.component.js +1 -1
- package/core/tappable.component.js.map +1 -1
- package/core/viewport.js +13 -8
- package/core/viewport.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +0 -1
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +302 -714
- package/package-lock.json +302 -714
- package/package.json +2 -2
- package/runtime/App.js +12 -174
- package/runtime/App.js.map +1 -1
- package/runtime/base-page.component.js +2 -11
- package/runtime/base-page.component.js.map +1 -1
- package/runtime/navigator/stack.navigator.js +0 -6
- package/runtime/navigator/stack.navigator.js.map +1 -1
- package/styles/theme.js +6 -0
- package/styles/theme.js.map +1 -1
- package/core/advanced-promise-rejection-tracker.js +0 -207
- package/core/advanced-promise-rejection-tracker.js.map +0 -1
- package/core/global-error-handler.service.js +0 -177
- package/core/global-error-handler.service.js.map +0 -1
|
@@ -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":";;;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAaC,QAAQ,QAAQ,cAAc;
|
|
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":[]}
|
|
@@ -114,7 +114,7 @@ export class Tappable extends React.Component {
|
|
|
114
114
|
accessibilityLabel: this.props.testID,
|
|
115
115
|
testID: this.props.testID
|
|
116
116
|
} : {
|
|
117
|
-
accessible: false,
|
|
117
|
+
// accessible: false,
|
|
118
118
|
testID: this.props.testID
|
|
119
119
|
}),
|
|
120
120
|
...this.props.accessibilityProps,
|
|
@@ -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","accessible","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","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":[]}
|
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
|
-
|
|
36
|
-
|
|
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
|
}
|
package/core/viewport.js.map
CHANGED
|
@@ -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:
|
|
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":[]}
|
|
@@ -149,7 +149,6 @@ export class View extends React.Component {
|
|
|
149
149
|
goToLower(e) {
|
|
150
150
|
var _this$props$handlers7, _this$props$handlers8;
|
|
151
151
|
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
152
|
this.setPosition(bounds.lower).then(() => {
|
|
154
153
|
if (!isNil(bounds.lower) && bounds.center !== bounds.lower) {
|
|
155
154
|
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","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 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":[]}
|