@wavemaker/app-rn-runtime 11.14.1-18.6421 → 11.14.1-18.6428
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/container.component.js +264 -11
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +6 -0
- package/components/container/container.props.js.map +1 -1
- package/components/container/wizard/wizard.component.js +1 -1
- 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 +9 -1
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +36 -0
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/form/form.props.js +6 -0
- package/components/data/form/form.props.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 +18 -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 +3 -6
- 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 +6 -2
- 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/gestures/carousel-swipe.animation.js +0 -1
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +89 -110
- package/package-lock.json +89 -110
- 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
|
@@ -336,10 +336,16 @@ export default class WmBottomsheet extends BaseComponent {
|
|
|
336
336
|
// panResponder for bottom sheet scroll view
|
|
337
337
|
_defineProperty(this, "panResponder", PanResponder.create({
|
|
338
338
|
onStartShouldSetPanResponder: (_, gestureState) => {
|
|
339
|
+
if (this.props.disablescrollonrest && !this.state.isExpanded) {
|
|
340
|
+
return true;
|
|
341
|
+
}
|
|
339
342
|
// Only handle the gesture if we're at the top and swiping down
|
|
340
343
|
return gestureState.dy > 0 && this.state.scrollOffset <= 0;
|
|
341
344
|
},
|
|
342
345
|
onMoveShouldSetPanResponder: (_, gestureState) => {
|
|
346
|
+
if (this.props.disablescrollonrest && !this.state.isExpanded) {
|
|
347
|
+
return true;
|
|
348
|
+
}
|
|
343
349
|
// Only handle the gesture if we're at the top and swiping down
|
|
344
350
|
return gestureState.dy > 0 && this.state.scrollOffset <= 0;
|
|
345
351
|
},
|
|
@@ -353,6 +359,12 @@ export default class WmBottomsheet extends BaseComponent {
|
|
|
353
359
|
if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared) {
|
|
354
360
|
const newTranslateY = Math.max(0, this.lastGestureDyShared.value + gestureState.dy);
|
|
355
361
|
this.translateY.value = newTranslateY;
|
|
362
|
+
// Reset expand flag if dragging down
|
|
363
|
+
this.isDragHandleExpanding = false;
|
|
364
|
+
} else if (gestureState.dy < 0 && this.props.expand && this.props.bottomsheetheightratio !== 1 && !this.isDragHandleExpanding && !this.state.isExpanded) {
|
|
365
|
+
// Only trigger expand once with threshold of -50px upward drag
|
|
366
|
+
this.isDragHandleExpanding = true;
|
|
367
|
+
this.expandBottomSheet();
|
|
356
368
|
}
|
|
357
369
|
},
|
|
358
370
|
onPanResponderRelease: (_, gestureState) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createRef","BaseComponent","BaseComponentState","View","PanResponder","Dimensions","TouchableWithoutFeedback","Platform","StatusBar","BackHandler","KeyboardAvoidingView","Keyboard","Modal","Pressable","ScrollView","Animated","useAnimatedStyle","withTiming","runOnJS","Easing","makeMutable","cancelAnimation","WmBottomsheetProps","DEFAULT_CLASS","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","ModalProvider","SafeAreaInsetsContext","height","SCREEN_HEIGHT","get","WmBottomsheetState","constructor","args","_defineProperty","AnimatedBottomsheetContent","translateY","backdropOpacity","sheetHeight","lastGestureDy","styles","props","children","panHandlers","dragHandlePanHandlers","onBackdropPress","onDragHandlePress","getTestProps","enabledragsettle","backdropAnimatedStyle","opacity","value","containerAnimatedStyle","transform","contentStyle","paddingBottom","createElement","Fragment","onPress","_extends","style","backdrop","BOTTOMSHEET","container","dragHandleContainer","dragIconHandle","WmBottomsheet","getAnimationDuration","distance","velocity","velocityFactor","Math","max","min","abs","calculatedDuration","calculateSheetHeight","bottomsheetheightratio","effectiveRatio","defaultHeight","maxHeightRatio","minimumHeight","maxHeight","screenHeight","calculatedHeight","OS","defaultTopInset","statusBarHeight","open","state","isBottomsheetVisible","updateState","openSheet","close","closeSheet","currentHeight","isExpanded","targetHeight","expandedHeight","callback","invokeEventCallback","lastGestureDyShared","duration","animationDuration","easing","out","ease","finished","localModalsOpened","length","top","sheetModalService","hideModal","disableswipedownclose","autoclose","event","_event$endCoordinates","keyboardHeight","endCoordinates","isIosKeyboardHeightSet","_event$endCoordinates2","iosKeyboardHeight","availableHeight","bufferSpace","topInset","adjustedHeight","modal","keyboardAnimationDuration","gestureState","dy","_this$translateY","currentTranslateY","vy","_this$sheetHeight","sheetMinimumHeight","bottomsheetminimumheight","create","onStartShouldSetPanResponder","_","scrollOffset","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","newTranslateY","onPanResponderRelease","handleSwipeGesture","onPanResponderTerminate","isDragHandleExpanding","expand","expandBottomSheet","offsetY","nativeEvent","contentOffset","y","isScrolling","handleClose","requestAnimationFrame","Consumer","insets","bottom","left","right","root","_background","panResponder","dragHandlePanResponder","handleBackdropPress","handleDragHandlePress","bind","ref","scrollViewRef","sheetContentContainer","contentContainerStyle","sheetScrollContent","alwaysBounceVertical","alwaysBounceHorizontal","bounces","showsVerticalScrollIndicator","scrollEventThrottle","onScroll","handleScroll","nestedScrollEnabled","scrollEnabled","issticky","disablescrollonrest","enablemodalsupport","map","o","i","key","name","onStartShouldSetResponder","onResponderEnd","isModal","modalOverlay","centered","centeredOverlay","zIndex","elevationIndex","elevation","modalStyle","e","stopPropagation","content","expandedRatio","bottomsheetexpandedheightratio","expandedDefaultHeight","effectiveExpandedRatio","minimumExpandedHeight","showonrender","refresh","forceUpdate","showModal","options","exists","find","list","setTimeout","onOpen","idx","findIndex","onClose","splice","componentDidMount","backHandlerSubscription","addEventListener","handleBackPress","keyboardDidShowListener","addListener","onKeyboardShow","keyboardDidHideListener","onKeyboardHide","componentWillUnmount","remove","componentDidUpdate","prevProps","onPropertyChange","$new","$old","closeSheetImmediate","renderSkeleton","theme","skeleton","width","renderWidget","visible","transparent","animationType","onRequestClose","statusBarTranslucent","flex","behavior","keyboardVerticalOffset","undefined","renderContent"],"sources":["bottomsheet.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View, PanResponder, Dimensions, TouchableWithoutFeedback, Platform, PanResponderGestureState, StatusBar, BackHandler, DimensionValue, KeyboardAvoidingView, Keyboard, EmitterSubscription, Modal, NativeEventSubscription, Pressable } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport Animated, {\n useAnimatedStyle,\n withTiming,\n runOnJS,\n Easing,\n SharedValue,\n makeMutable,\n cancelAnimation\n} from 'react-native-reanimated';\nimport WmBottomsheetProps from './bottomsheet.props';\nimport { DEFAULT_CLASS, WmBottomsheetStyles } from './bottomsheet.styles';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { ModalProvider, ModalService, ModalOptions } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nconst { height: SCREEN_HEIGHT } = Dimensions.get('screen');\nexport class WmBottomsheetState extends BaseComponentState<WmBottomsheetProps> {\n scrollViewRef = createRef<ScrollView>();\n isScrolling = false;\n scrollOffset = 0;\n isExpanded = false;\n isBottomsheetVisible = false;\n keyboardHeight = 0;\n localModalsOpened: ModalOptions[] = [];\n lastGestureDy = 0;\n}\n\n// Animated wrapper component that uses hooks\nconst AnimatedBottomsheetContent = ({\n translateY,\n backdropOpacity,\n sheetHeight,\n lastGestureDy,\n styles,\n props,\n children,\n panHandlers,\n dragHandlePanHandlers,\n onBackdropPress,\n onDragHandlePress,\n getTestProps,\n enabledragsettle\n}: any) => {\n const backdropAnimatedStyle = useAnimatedStyle(() => ({\n opacity: backdropOpacity.value\n }));\n\n const containerAnimatedStyle = useAnimatedStyle(() => ({\n height: sheetHeight.value,\n transform: [{ translateY: translateY.value }]\n }));\n\n const contentStyle = useAnimatedStyle(() => {\n if (enabledragsettle && lastGestureDy.value > 0) {\n return {\n paddingBottom: lastGestureDy.value\n };\n }\n return {};\n });\n\n return (\n <>\n <TouchableWithoutFeedback onPress={onBackdropPress}>\n <Animated.View\n style={[styles.backdrop, backdropAnimatedStyle]}\n {...getTestProps('backdrop')}\n {...getAccessibilityProps(AccessibilityWidgetType.BOTTOMSHEET, props)}\n />\n </TouchableWithoutFeedback>\n\n <Animated.View\n style={[styles.container, containerAnimatedStyle]}\n {...panHandlers}\n >\n <View style={styles.dragHandleContainer} {...dragHandlePanHandlers}>\n <Pressable onPress={onDragHandlePress}>\n <View style={styles.dragIconHandle} {...getTestProps('draghandle')} />\n </Pressable>\n </View>\n {children(contentStyle)}\n </Animated.View>\n </>\n );\n};\n\nexport default class WmBottomsheet extends BaseComponent<WmBottomsheetProps, WmBottomsheetState, WmBottomsheetStyles> {\n private calculatedHeight: number;\n private expandedHeight: number;\n private defaultHeight: number = 0.5;\n private expandedDefaultHeight: number = 0.8;\n private minimumHeight: number = 0.01;\n private minimumExpandedHeight: number = 0.5;\n private maxHeight: number = 1.0;\n private animationDuration: number = 400;\n private keyboardAnimationDuration: number = Platform.OS === 'ios' ? 250 : 275;\n private statusBarHeight: number = StatusBar.currentHeight || 0;\n private defaultTopInset: number = 44;\n private maxHeightRatio: number = 0;\n private keyboardDidShowListener!: EmitterSubscription;\n private keyboardDidHideListener!: EmitterSubscription;\n private backHandlerSubscription: NativeEventSubscription | null = null;\n private topInset: number = 0;\n private iosKeyboardHeight: number = 0;\n private isIosKeyboardHeightSet: boolean = false;\n private sheetModalService: ModalService;\n private isDragHandleExpanding: boolean = false;\n\n // Reanimated shared values - created once and reused\n private translateY!: SharedValue<number>;\n private backdropOpacity!: SharedValue<number>;\n private sheetHeight!: SharedValue<number>;\n private lastGestureDyShared!: SharedValue<number>;\n\n // Helper method to calculate animation duration based on distance and velocity\n private getAnimationDuration(distance: number, velocity: number): number {\n // Base duration on distance, but cap it between 200-500ms\n // Higher velocity = shorter duration for snappier feel\n const velocityFactor = Math.max(0.3, Math.min(1, 1 - Math.abs(velocity) / 2));\n const calculatedDuration = Math.abs(distance) * velocityFactor;\n return Math.min(500, Math.max(200, calculatedDuration));\n }\n\n private calculateSheetHeight(bottomsheetheightratio: number): number {\n // Use default height if ratio not provided, but ensure it's not below minimum\n const effectiveRatio = bottomsheetheightratio || this.defaultHeight;\n this.maxHeightRatio = Math.max(\n this.minimumHeight,\n Math.min(effectiveRatio, this.maxHeight)\n );\n\n const screenHeight = Dimensions.get('screen').height;\n let calculatedHeight = screenHeight * this.maxHeightRatio;\n\n if (Platform.OS === 'ios') {\n // Subtract top inset bar height for ios only if bottomsheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.defaultTopInset;\n }\n }\n else if (Platform.OS === 'android') {\n // Subtract status bar height for Android only if bottomsheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.statusBarHeight;\n }\n }\n return calculatedHeight;\n }\n\n open() {\n if (!this.state.isBottomsheetVisible)\n this.updateState({\n isBottomsheetVisible: true\n } as WmBottomsheetState);\n this.openSheet();\n }\n\n close() {\n if (this.state.isBottomsheetVisible) {\n this.closeSheet();\n }\n }\n\n isSheetExpanded = () => {\n return this.state.isExpanded\n }\n\n expandBottomSheet = () => {\n const targetHeight = Math.min(this.expandedHeight, SCREEN_HEIGHT);\n const callback = () => {\n this.updateState({\n isExpanded: true,\n lastGestureDy: 0\n } as WmBottomsheetState);\n this.invokeEventCallback('onExpand', [null, this]);\n };\n\n // Reset drag settle value immediately on UI thread\n this.lastGestureDyShared.value = 0;\n\n if (this.props.enabledragsettle) {\n // Synchronize both animations to complete together\n this.sheetHeight.value = withTiming(targetHeight, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n this.translateY.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n } else {\n // Only animate height for non-drag-settle mode\n this.sheetHeight.value = withTiming(targetHeight, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n }\n }\n\n collapseBottomSheet = () => {\n const callback = () => {\n this.updateState({\n isExpanded: false,\n lastGestureDy: 0\n } as WmBottomsheetState);\n this.invokeEventCallback('onCollapse', [null, this]);\n };\n\n // Reset drag settle value immediately on UI thread\n this.lastGestureDyShared.value = 0;\n\n this.translateY.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n this.sheetHeight.value = withTiming(this.calculatedHeight, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n }\n\n constructor(props: WmBottomsheetProps) {\n super(props, DEFAULT_CLASS, new WmBottomsheetProps(), new WmBottomsheetState());\n this.calculatedHeight = this.calculateSheetHeight(props.bottomsheetheightratio);\n\n // Use bottomsheetexpandedheightratio if provided, otherwise use expandedDefaultHeight\n const expandedRatio = props.bottomsheetexpandedheightratio || this.expandedDefaultHeight;\n const effectiveExpandedRatio = Math.max(\n this.minimumExpandedHeight,\n Math.min(expandedRatio, this.maxHeight)\n );\n\n this.expandedHeight = SCREEN_HEIGHT * effectiveExpandedRatio;\n\n if (Platform.OS === 'android') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.statusBarHeight;\n }\n }\n if (Platform.OS === 'ios') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.defaultTopInset;\n }\n }\n\n // Initialize shared values in constructor using makeMutable (not hooks)\n // makeMutable can be called outside of React components\n this.translateY = makeMutable(SCREEN_HEIGHT);\n this.backdropOpacity = makeMutable(0);\n this.sheetHeight = makeMutable(this.calculatedHeight);\n this.lastGestureDyShared = makeMutable(0);\n\n this.updateState({\n isBottomsheetVisible: this.props.showonrender || false\n } as WmBottomsheetState);\n\n // Initialize values immediately to prevent flicker\n if (this.props.showonrender) {\n this.translateY.value = 0;\n this.backdropOpacity.value = 1;\n }\n\n // Local ModalService for content rendered inside Bottomsheet\n this.sheetModalService = {\n refresh: () => this.forceUpdate(),\n showModal: (options: ModalOptions) => {\n const exists = this.state.localModalsOpened.find(o => o === options);\n if (!exists) {\n // ensure high z-index within sheet\n (options as any).elevationIndex = 9999 + this.state.localModalsOpened.length + 1;\n const list = [...this.state.localModalsOpened, options];\n this.updateState({ localModalsOpened: list } as WmBottomsheetState, () => {\n setTimeout(() => options.onOpen && options.onOpen(), 0);\n });\n }\n },\n hideModal: (options?: ModalOptions) => {\n const list = [...this.state.localModalsOpened];\n const idx = options ? list.findIndex(o => o === options) : (list.length - 1);\n if (idx >= 0) {\n const o = list[idx];\n o && o.onClose && o.onClose();\n list.splice(idx, 1);\n this.updateState({ localModalsOpened: list } as WmBottomsheetState);\n }\n }\n };\n }\n\n componentDidMount() {\n super.componentDidMount();\n\n // Trigger animation after mount if showonrender is true\n if (this.state.isBottomsheetVisible) {\n // Use requestAnimationFrame to ensure animation happens after initial render\n requestAnimationFrame(() => {\n this.openSheet();\n });\n }\n\n if (Platform.OS === 'android') {\n this.backHandlerSubscription = BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);\n }\n this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this.onKeyboardShow);\n this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this.onKeyboardHide);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.backHandlerSubscription) {\n this.backHandlerSubscription.remove();\n this.backHandlerSubscription = null;\n }\n if (this.keyboardDidShowListener) {\n this.keyboardDidShowListener.remove();\n }\n if (this.keyboardDidHideListener) {\n this.keyboardDidHideListener.remove();\n }\n }\n\n private handleBackPress = () => {\n // Close top-most local modal first, if any\n if (this.state.localModalsOpened && this.state.localModalsOpened.length > 0) {\n const top = this.state.localModalsOpened[this.state.localModalsOpened.length - 1];\n this.sheetModalService.hideModal(top);\n return true;\n }\n if (this.state.isBottomsheetVisible) {\n if (!this.props.disableswipedownclose && this.props.autoclose !== 'disabled') {\n this.closeSheet();\n }\n return true; // Prevent default back action\n }\n return false;\n };\n\n private onKeyboardShow = (event: any) => {\n let keyboardHeight = event.endCoordinates?.height || 0;\n //only storing ios keyboard height once as first time keyboard open (to avoid scroll flickring issue in ios in text widget)\n if (!this.isIosKeyboardHeightSet) {\n this.iosKeyboardHeight = event.endCoordinates?.height + 40;\n this.isIosKeyboardHeightSet = true;\n }\n // Calculate available space after keyboard\n const availableHeight = SCREEN_HEIGHT - (Platform.OS == 'ios' ? this.iosKeyboardHeight : keyboardHeight);\n // Calculate adjusted sheet height to fit within available space\n // Leave some buffer space for the drag handle and safe area\n const bufferSpace = (Platform.OS === 'ios' ? this.topInset : this.statusBarHeight) + 20;\n const adjustedHeight = availableHeight - bufferSpace;\n\n if (this.sheetHeight && Platform.OS == 'android' && this.props.modal) {\n // Use platform-specific keyboard animation duration for smooth synchronization\n this.sheetHeight.value = withTiming(adjustedHeight, {\n duration: this.keyboardAnimationDuration,\n easing: Easing.out(Easing.ease)\n });\n }\n\n this.updateState({\n keyboardHeight: keyboardHeight,\n } as WmBottomsheetState);\n };\n\n private onKeyboardHide = () => {\n if (this.sheetHeight && Platform.OS == 'android' && this.props.modal) {\n // Use platform-specific keyboard animation duration for smooth synchronization\n this.sheetHeight.value = withTiming(\n this.state.isExpanded ? this.expandedHeight : this.calculatedHeight,\n {\n duration: this.keyboardAnimationDuration,\n easing: Easing.out(Easing.ease)\n }\n );\n }\n\n this.updateState({\n keyboardHeight: 0,\n } as WmBottomsheetState);\n };\n\n componentDidUpdate(prevProps: WmBottomsheetProps) {\n if (prevProps.bottomsheetheightratio !== this.props.bottomsheetheightratio) {\n this.calculatedHeight = this.calculateSheetHeight(this.props.bottomsheetheightratio);\n if (this.sheetHeight) {\n this.sheetHeight.value = this.calculatedHeight;\n }\n }\n }\n\n handleSwipeGesture = (gestureState: PanResponderGestureState) => {\n\n // Only reset lastGestureDy for traditional behavior, not for drag and settle\n if (!this.props.enabledragsettle) {\n this.updateState({\n lastGestureDy: 0\n } as WmBottomsheetState);\n if (this.lastGestureDyShared) {\n this.lastGestureDyShared.value = 0;\n }\n }\n\n if (this.props.enabledragsettle && gestureState.dy > 0) {\n const currentTranslateY = this.translateY?.value || 0;\n\n if (gestureState.vy > 0.5 && !this.props.disableswipedownclose) {\n this.closeSheet();\n return;\n }\n\n if (this.translateY && this.lastGestureDyShared) {\n this.translateY.value = currentTranslateY;\n this.lastGestureDyShared.value = currentTranslateY;\n }\n\n this.updateState({\n isExpanded: false,\n lastGestureDy: currentTranslateY\n } as WmBottomsheetState);\n return;\n }\n\n if (gestureState.dy > 0) {\n if (this.state.isExpanded || this.props.disableswipedownclose) {\n if (gestureState.dy < this.expandedHeight / 4 || this.props.disableswipedownclose) {\n let sheetMinimumHeight = this.props.bottomsheetminimumheight || 0.1;\n const targetHeight = this.props.disableswipedownclose ? sheetMinimumHeight * SCREEN_HEIGHT : this.calculatedHeight;\n const currentHeight = this.sheetHeight?.value || this.expandedHeight;\n const distance = Math.abs(currentHeight - targetHeight);\n const duration = this.getAnimationDuration(distance, gestureState.vy);\n\n const callback = () => {\n this.updateState({\n isExpanded: false\n } as WmBottomsheetState);\n this.invokeEventCallback('onCollapse', [null, this]);\n };\n\n if (this.translateY && this.sheetHeight) {\n this.translateY.value = withTiming(0, {\n duration: duration,\n easing: Easing.out(Easing.ease)\n });\n this.sheetHeight.value = withTiming(\n targetHeight,\n {\n duration: duration,\n easing: Easing.out(Easing.ease)\n },\n (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n }\n );\n }\n } else if ((gestureState.dy > this.expandedHeight / 4 || gestureState.vy > 0.5) && !this.props.disableswipedownclose) {\n this.closeSheet();\n }\n } else {\n if (this.props.disableswipedownclose) {\n this.openSheet();\n return;\n }\n if ((gestureState.dy > 100 || gestureState.vy > 0.5) && !this.props.disableswipedownclose) {\n this.closeSheet();\n } else {\n this.openSheet();\n }\n }\n }\n }\n // panResponder for bottom sheet scroll view\n panResponder = PanResponder.create({\n onStartShouldSetPanResponder: (_, gestureState) => {\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n },\n\n onMoveShouldSetPanResponder: (_, gestureState) => {\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n },\n\n onPanResponderGrant: () => {\n // Cancel any ongoing animations when user starts dragging\n if (this.translateY) {\n cancelAnimation(this.translateY);\n }\n },\n\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared) {\n const newTranslateY = Math.max(0, this.lastGestureDyShared.value + gestureState.dy);\n this.translateY.value = newTranslateY;\n }\n },\n\n onPanResponderRelease: (_, gestureState) => {\n this.handleSwipeGesture(gestureState);\n },\n\n onPanResponderTerminate: () => {\n this.openSheet();\n },\n });\n\n //pan repsoneder for bottom sheet dragable container\n dragHandlePanResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n\n onPanResponderGrant: () => {\n // Cancel any ongoing animations when user starts dragging\n if (this.translateY) {\n cancelAnimation(this.translateY);\n }\n // Reset the expand flag\n this.isDragHandleExpanding = false;\n },\n\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared) {\n const newTranslateY = Math.max(0, this.lastGestureDyShared.value + gestureState.dy);\n this.translateY.value = newTranslateY;\n // Reset expand flag if dragging down\n this.isDragHandleExpanding = false;\n } else if (gestureState.dy < -50 && this.props.expand && this.props.bottomsheetheightratio !== 1 && !this.isDragHandleExpanding && !this.state.isExpanded) {\n // Only trigger expand once with threshold of -50px upward drag\n this.isDragHandleExpanding = true;\n this.expandBottomSheet();\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n this.isDragHandleExpanding = false;\n this.handleSwipeGesture(gestureState);\n },\n });\n\n handleScroll = (event: any): any => {\n if (this.state.keyboardHeight > 0) return null;\n const offsetY = event.nativeEvent.contentOffset.y;\n this.updateState({\n isScrolling: offsetY > 0,\n scrollOffset: offsetY\n } as WmBottomsheetState);\n };\n\n openSheet = () => {\n const callback = () => {\n this.updateState({\n lastGestureDy: 0,\n } as WmBottomsheetState);\n this.invokeEventCallback('onOpened', [null, this]);\n };\n\n // Reset drag settle value immediately on UI thread\n if (this.lastGestureDyShared) {\n this.lastGestureDyShared.value = 0;\n }\n\n if (this.translateY && this.backdropOpacity) {\n this.translateY.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n // Backdrop animation synchronized with sheet animation\n this.backdropOpacity.value = withTiming(1, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n }\n };\n\n private handleClose = () => {\n this.updateState({\n isBottomsheetVisible: false\n } as WmBottomsheetState);\n this.invokeEventCallback('onClose', [null, this]);\n };\n\n closeSheet = () => {\n const callback = () => {\n // Reset sheet height after close\n if (this.sheetHeight) {\n this.sheetHeight.value = this.calculatedHeight;\n }\n this.updateState({\n isExpanded: false,\n localModalsOpened: [] as ModalOptions[]\n } as WmBottomsheetState);\n this.handleClose();\n };\n\n if (this.translateY && this.backdropOpacity) {\n this.translateY.value = withTiming(SCREEN_HEIGHT, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n // Backdrop animation synchronized with sheet animation\n this.backdropOpacity.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n }\n };\n\n closeSheetImmediate = () => {\n if (this.translateY && this.backdropOpacity && this.lastGestureDyShared) {\n this.translateY.value = SCREEN_HEIGHT;\n this.backdropOpacity.value = 0;\n this.lastGestureDyShared.value = 0;\n }\n\n this.updateState({\n lastGestureDy: 0,\n isExpanded: false,\n isBottomsheetVisible: false,\n localModalsOpened: [] as ModalOptions[]\n } as WmBottomsheetState);\n\n requestAnimationFrame(() => {\n if (this.sheetHeight) {\n this.sheetHeight.value = this.calculatedHeight;\n }\n });\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case \"showonrender\":\n if ($new) {\n this.updateState({\n isBottomsheetVisible: $new || false\n } as WmBottomsheetState);\n if (this.state.isBottomsheetVisible) {\n this.openSheet && this.openSheet();\n }\n } else {\n this.closeSheetImmediate && this.closeSheetImmediate();\n }\n break;\n }\n }\n\n public renderSkeleton(props: WmBottomsheetProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.styles.root.width as DimensionValue,\n height: this.styles.root.height as DimensionValue\n });\n }\n\n // Class methods to prevent recreation on every render\n private handleBackdropPress = () => {\n if (this.props.autoclose !== 'disabled') {\n this.closeSheet();\n }\n };\n\n private handleDragHandlePress = () => {\n this.invokeEventCallback('onDraghandleiconclick', [null, this]);\n };\n\n private renderContent = (props: WmBottomsheetProps) => {\n // Don't render if shared values aren't initialized yet\n if (!this.translateY || !this.backdropOpacity || !this.sheetHeight || !this.lastGestureDyShared) {\n return null;\n }\n\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n // Store topInset for later use (avoid mutation during render)\n const topInset = insets?.top || 0;\n // Update the instance variable outside of render cycle\n if (this.topInset !== topInset) {\n requestAnimationFrame(() => {\n this.topInset = topInset;\n });\n }\n return (\n <View style={this.styles.root} {...this.getTestProps('keyboardview')}>\n {this._background}\n\n <AnimatedBottomsheetContent\n translateY={this.translateY}\n backdropOpacity={this.backdropOpacity}\n sheetHeight={this.sheetHeight}\n lastGestureDy={this.lastGestureDyShared}\n styles={this.styles}\n props={props}\n panHandlers={this.panResponder.panHandlers}\n dragHandlePanHandlers={this.dragHandlePanResponder.panHandlers}\n onBackdropPress={this.handleBackdropPress}\n onDragHandlePress={this.handleDragHandlePress}\n getTestProps={this.getTestProps.bind(this)}\n enabledragsettle={props.enabledragsettle}\n >\n {(contentStyle: any) => (\n <ScrollView\n ref={this.state.scrollViewRef}\n style={this.styles.sheetContentContainer}\n contentContainerStyle={[this.styles.sheetScrollContent]}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n showsVerticalScrollIndicator={false}\n scrollEventThrottle={16}\n onScroll={this.handleScroll}\n nestedScrollEnabled={true}\n scrollEnabled={!props.issticky && (!props.disablescrollonrest || this.state.isExpanded)}\n {...this.getTestProps('scorllview')}\n >\n {props.enablemodalsupport ? (\n <ModalProvider value={this.sheetModalService}>\n <Animated.View style={contentStyle}>\n {props.children}\n </Animated.View>\n </ModalProvider>\n ) : (\n <Animated.View style={contentStyle}>\n {props.children}\n </Animated.View>\n )}\n </ScrollView>\n )}\n </AnimatedBottomsheetContent>\n\n {props.enablemodalsupport && this.state.localModalsOpened && this.state.localModalsOpened.map((o, i) => (\n <View\n key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && this.sheetModalService.hideModal(o)}\n style={[\n this.styles.modalOverlay,\n (o as any).centered ? this.styles.centeredOverlay : null,\n { zIndex: (o as any).elevationIndex || 9999, elevation: (o as any).elevationIndex || 9999 },\n (o.modalStyle || {})\n ]}\n >\n <View\n style={[(o.contentStyle || {})]}\n onStartShouldSetResponder={() => true}\n onResponderEnd={(e) => e.stopPropagation()}\n >\n {o.content}\n </View>\n </View>\n ))}\n </View>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n };\n\n renderWidget(props: WmBottomsheetProps) {\n if (!this.state.isBottomsheetVisible) return null;\n\n if (props.modal) {\n\n return (\n <Modal\n visible={this.state.isBottomsheetVisible}\n transparent={true}\n animationType=\"none\"\n onRequestClose={() => {\n if (!this.props.disableswipedownclose && this.props.autoclose !== 'disabled') {\n this.closeSheet();\n }\n }}\n statusBarTranslucent={false}\n >\n <KeyboardAvoidingView\n style={{ flex: 1 }}\n behavior={'padding'}\n keyboardVerticalOffset={Platform.OS === 'ios' ? 0 : undefined}\n >\n {this.renderContent(props)}\n </KeyboardAvoidingView>\n </Modal>\n );\n } else {\n return this.renderContent(props);\n }\n }\n}"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createRef","BaseComponent","BaseComponentState","View","PanResponder","Dimensions","TouchableWithoutFeedback","Platform","StatusBar","BackHandler","KeyboardAvoidingView","Keyboard","Modal","Pressable","ScrollView","Animated","useAnimatedStyle","withTiming","runOnJS","Easing","makeMutable","cancelAnimation","WmBottomsheetProps","DEFAULT_CLASS","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","ModalProvider","SafeAreaInsetsContext","height","SCREEN_HEIGHT","get","WmBottomsheetState","constructor","args","_defineProperty","AnimatedBottomsheetContent","translateY","backdropOpacity","sheetHeight","lastGestureDy","styles","props","children","panHandlers","dragHandlePanHandlers","onBackdropPress","onDragHandlePress","getTestProps","enabledragsettle","backdropAnimatedStyle","opacity","value","containerAnimatedStyle","transform","contentStyle","paddingBottom","createElement","Fragment","onPress","_extends","style","backdrop","BOTTOMSHEET","container","dragHandleContainer","dragIconHandle","WmBottomsheet","getAnimationDuration","distance","velocity","velocityFactor","Math","max","min","abs","calculatedDuration","calculateSheetHeight","bottomsheetheightratio","effectiveRatio","defaultHeight","maxHeightRatio","minimumHeight","maxHeight","screenHeight","calculatedHeight","OS","defaultTopInset","statusBarHeight","open","state","isBottomsheetVisible","updateState","openSheet","close","closeSheet","currentHeight","isExpanded","targetHeight","expandedHeight","callback","invokeEventCallback","lastGestureDyShared","duration","animationDuration","easing","out","ease","finished","localModalsOpened","length","top","sheetModalService","hideModal","disableswipedownclose","autoclose","event","_event$endCoordinates","keyboardHeight","endCoordinates","isIosKeyboardHeightSet","_event$endCoordinates2","iosKeyboardHeight","availableHeight","bufferSpace","topInset","adjustedHeight","modal","keyboardAnimationDuration","gestureState","dy","_this$translateY","currentTranslateY","vy","_this$sheetHeight","sheetMinimumHeight","bottomsheetminimumheight","create","onStartShouldSetPanResponder","_","disablescrollonrest","scrollOffset","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","newTranslateY","isDragHandleExpanding","expand","expandBottomSheet","onPanResponderRelease","handleSwipeGesture","onPanResponderTerminate","offsetY","nativeEvent","contentOffset","y","isScrolling","handleClose","requestAnimationFrame","Consumer","insets","bottom","left","right","root","_background","panResponder","dragHandlePanResponder","handleBackdropPress","handleDragHandlePress","bind","ref","scrollViewRef","sheetContentContainer","contentContainerStyle","sheetScrollContent","alwaysBounceVertical","alwaysBounceHorizontal","bounces","showsVerticalScrollIndicator","scrollEventThrottle","onScroll","handleScroll","nestedScrollEnabled","scrollEnabled","issticky","enablemodalsupport","map","o","i","key","name","onStartShouldSetResponder","onResponderEnd","isModal","modalOverlay","centered","centeredOverlay","zIndex","elevationIndex","elevation","modalStyle","e","stopPropagation","content","expandedRatio","bottomsheetexpandedheightratio","expandedDefaultHeight","effectiveExpandedRatio","minimumExpandedHeight","showonrender","refresh","forceUpdate","showModal","options","exists","find","list","setTimeout","onOpen","idx","findIndex","onClose","splice","componentDidMount","backHandlerSubscription","addEventListener","handleBackPress","keyboardDidShowListener","addListener","onKeyboardShow","keyboardDidHideListener","onKeyboardHide","componentWillUnmount","remove","componentDidUpdate","prevProps","onPropertyChange","$new","$old","closeSheetImmediate","renderSkeleton","theme","skeleton","width","renderWidget","visible","transparent","animationType","onRequestClose","statusBarTranslucent","flex","behavior","keyboardVerticalOffset","undefined","renderContent"],"sources":["bottomsheet.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View, PanResponder, Dimensions, TouchableWithoutFeedback, Platform, PanResponderGestureState, StatusBar, BackHandler, DimensionValue, KeyboardAvoidingView, Keyboard, EmitterSubscription, Modal, NativeEventSubscription, Pressable } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport Animated, {\n useAnimatedStyle,\n withTiming,\n runOnJS,\n Easing,\n SharedValue,\n makeMutable,\n cancelAnimation\n} from 'react-native-reanimated';\nimport WmBottomsheetProps from './bottomsheet.props';\nimport { DEFAULT_CLASS, WmBottomsheetStyles } from './bottomsheet.styles';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { ModalProvider, ModalService, ModalOptions } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nconst { height: SCREEN_HEIGHT } = Dimensions.get('screen');\nexport class WmBottomsheetState extends BaseComponentState<WmBottomsheetProps> {\n scrollViewRef = createRef<ScrollView>();\n isScrolling = false;\n scrollOffset = 0;\n isExpanded = false;\n isBottomsheetVisible = false;\n keyboardHeight = 0;\n localModalsOpened: ModalOptions[] = [];\n lastGestureDy = 0;\n}\n\n// Animated wrapper component that uses hooks\nconst AnimatedBottomsheetContent = ({\n translateY,\n backdropOpacity,\n sheetHeight,\n lastGestureDy,\n styles,\n props,\n children,\n panHandlers,\n dragHandlePanHandlers,\n onBackdropPress,\n onDragHandlePress,\n getTestProps,\n enabledragsettle\n}: any) => {\n const backdropAnimatedStyle = useAnimatedStyle(() => ({\n opacity: backdropOpacity.value\n }));\n\n const containerAnimatedStyle = useAnimatedStyle(() => ({\n height: sheetHeight.value,\n transform: [{ translateY: translateY.value }]\n }));\n\n const contentStyle = useAnimatedStyle(() => {\n if (enabledragsettle && lastGestureDy.value > 0) {\n return {\n paddingBottom: lastGestureDy.value\n };\n }\n return {};\n });\n\n return (\n <>\n <TouchableWithoutFeedback onPress={onBackdropPress}>\n <Animated.View\n style={[styles.backdrop, backdropAnimatedStyle]}\n {...getTestProps('backdrop')}\n {...getAccessibilityProps(AccessibilityWidgetType.BOTTOMSHEET, props)}\n />\n </TouchableWithoutFeedback>\n\n <Animated.View\n style={[styles.container, containerAnimatedStyle]}\n {...panHandlers}\n >\n <View style={styles.dragHandleContainer} {...dragHandlePanHandlers}>\n <Pressable onPress={onDragHandlePress}>\n <View style={styles.dragIconHandle} {...getTestProps('draghandle')} />\n </Pressable>\n </View>\n {children(contentStyle)}\n </Animated.View>\n </>\n );\n};\n\nexport default class WmBottomsheet extends BaseComponent<WmBottomsheetProps, WmBottomsheetState, WmBottomsheetStyles> {\n private calculatedHeight: number;\n private expandedHeight: number;\n private defaultHeight: number = 0.5;\n private expandedDefaultHeight: number = 0.8;\n private minimumHeight: number = 0.01;\n private minimumExpandedHeight: number = 0.5;\n private maxHeight: number = 1.0;\n private animationDuration: number = 400;\n private keyboardAnimationDuration: number = Platform.OS === 'ios' ? 250 : 275;\n private statusBarHeight: number = StatusBar.currentHeight || 0;\n private defaultTopInset: number = 44;\n private maxHeightRatio: number = 0;\n private keyboardDidShowListener!: EmitterSubscription;\n private keyboardDidHideListener!: EmitterSubscription;\n private backHandlerSubscription: NativeEventSubscription | null = null;\n private topInset: number = 0;\n private iosKeyboardHeight: number = 0;\n private isIosKeyboardHeightSet: boolean = false;\n private sheetModalService: ModalService;\n private isDragHandleExpanding: boolean = false;\n\n // Reanimated shared values - created once and reused\n private translateY!: SharedValue<number>;\n private backdropOpacity!: SharedValue<number>;\n private sheetHeight!: SharedValue<number>;\n private lastGestureDyShared!: SharedValue<number>;\n\n // Helper method to calculate animation duration based on distance and velocity\n private getAnimationDuration(distance: number, velocity: number): number {\n // Base duration on distance, but cap it between 200-500ms\n // Higher velocity = shorter duration for snappier feel\n const velocityFactor = Math.max(0.3, Math.min(1, 1 - Math.abs(velocity) / 2));\n const calculatedDuration = Math.abs(distance) * velocityFactor;\n return Math.min(500, Math.max(200, calculatedDuration));\n }\n\n private calculateSheetHeight(bottomsheetheightratio: number): number {\n // Use default height if ratio not provided, but ensure it's not below minimum\n const effectiveRatio = bottomsheetheightratio || this.defaultHeight;\n this.maxHeightRatio = Math.max(\n this.minimumHeight,\n Math.min(effectiveRatio, this.maxHeight)\n );\n\n const screenHeight = Dimensions.get('screen').height;\n let calculatedHeight = screenHeight * this.maxHeightRatio;\n\n if (Platform.OS === 'ios') {\n // Subtract top inset bar height for ios only if bottomsheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.defaultTopInset;\n }\n }\n else if (Platform.OS === 'android') {\n // Subtract status bar height for Android only if bottomsheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.statusBarHeight;\n }\n }\n return calculatedHeight;\n }\n\n open() {\n if (!this.state.isBottomsheetVisible)\n this.updateState({\n isBottomsheetVisible: true\n } as WmBottomsheetState);\n this.openSheet();\n }\n\n close() {\n if (this.state.isBottomsheetVisible) {\n this.closeSheet();\n }\n }\n\n isSheetExpanded = () => {\n return this.state.isExpanded\n }\n\n expandBottomSheet = () => {\n const targetHeight = Math.min(this.expandedHeight, SCREEN_HEIGHT);\n const callback = () => {\n this.updateState({\n isExpanded: true,\n lastGestureDy: 0\n } as WmBottomsheetState);\n this.invokeEventCallback('onExpand', [null, this]);\n };\n\n // Reset drag settle value immediately on UI thread\n this.lastGestureDyShared.value = 0;\n\n if (this.props.enabledragsettle) {\n // Synchronize both animations to complete together\n this.sheetHeight.value = withTiming(targetHeight, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n this.translateY.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n } else {\n // Only animate height for non-drag-settle mode\n this.sheetHeight.value = withTiming(targetHeight, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n }\n }\n\n collapseBottomSheet = () => {\n const callback = () => {\n this.updateState({\n isExpanded: false,\n lastGestureDy: 0\n } as WmBottomsheetState);\n this.invokeEventCallback('onCollapse', [null, this]);\n };\n\n // Reset drag settle value immediately on UI thread\n this.lastGestureDyShared.value = 0;\n\n this.translateY.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n this.sheetHeight.value = withTiming(this.calculatedHeight, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n }\n\n constructor(props: WmBottomsheetProps) {\n super(props, DEFAULT_CLASS, new WmBottomsheetProps(), new WmBottomsheetState());\n this.calculatedHeight = this.calculateSheetHeight(props.bottomsheetheightratio);\n\n // Use bottomsheetexpandedheightratio if provided, otherwise use expandedDefaultHeight\n const expandedRatio = props.bottomsheetexpandedheightratio || this.expandedDefaultHeight;\n const effectiveExpandedRatio = Math.max(\n this.minimumExpandedHeight,\n Math.min(expandedRatio, this.maxHeight)\n );\n\n this.expandedHeight = SCREEN_HEIGHT * effectiveExpandedRatio;\n\n if (Platform.OS === 'android') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.statusBarHeight;\n }\n }\n if (Platform.OS === 'ios') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.defaultTopInset;\n }\n }\n\n // Initialize shared values in constructor using makeMutable (not hooks)\n // makeMutable can be called outside of React components\n this.translateY = makeMutable(SCREEN_HEIGHT);\n this.backdropOpacity = makeMutable(0);\n this.sheetHeight = makeMutable(this.calculatedHeight);\n this.lastGestureDyShared = makeMutable(0);\n\n this.updateState({\n isBottomsheetVisible: this.props.showonrender || false\n } as WmBottomsheetState);\n\n // Initialize values immediately to prevent flicker\n if (this.props.showonrender) {\n this.translateY.value = 0;\n this.backdropOpacity.value = 1;\n }\n\n // Local ModalService for content rendered inside Bottomsheet\n this.sheetModalService = {\n refresh: () => this.forceUpdate(),\n showModal: (options: ModalOptions) => {\n const exists = this.state.localModalsOpened.find(o => o === options);\n if (!exists) {\n // ensure high z-index within sheet\n (options as any).elevationIndex = 9999 + this.state.localModalsOpened.length + 1;\n const list = [...this.state.localModalsOpened, options];\n this.updateState({ localModalsOpened: list } as WmBottomsheetState, () => {\n setTimeout(() => options.onOpen && options.onOpen(), 0);\n });\n }\n },\n hideModal: (options?: ModalOptions) => {\n const list = [...this.state.localModalsOpened];\n const idx = options ? list.findIndex(o => o === options) : (list.length - 1);\n if (idx >= 0) {\n const o = list[idx];\n o && o.onClose && o.onClose();\n list.splice(idx, 1);\n this.updateState({ localModalsOpened: list } as WmBottomsheetState);\n }\n }\n };\n }\n\n componentDidMount() {\n super.componentDidMount();\n\n // Trigger animation after mount if showonrender is true\n if (this.state.isBottomsheetVisible) {\n // Use requestAnimationFrame to ensure animation happens after initial render\n requestAnimationFrame(() => {\n this.openSheet();\n });\n }\n\n if (Platform.OS === 'android') {\n this.backHandlerSubscription = BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);\n }\n this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this.onKeyboardShow);\n this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this.onKeyboardHide);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this.backHandlerSubscription) {\n this.backHandlerSubscription.remove();\n this.backHandlerSubscription = null;\n }\n if (this.keyboardDidShowListener) {\n this.keyboardDidShowListener.remove();\n }\n if (this.keyboardDidHideListener) {\n this.keyboardDidHideListener.remove();\n }\n }\n\n private handleBackPress = () => {\n // Close top-most local modal first, if any\n if (this.state.localModalsOpened && this.state.localModalsOpened.length > 0) {\n const top = this.state.localModalsOpened[this.state.localModalsOpened.length - 1];\n this.sheetModalService.hideModal(top);\n return true;\n }\n if (this.state.isBottomsheetVisible) {\n if (!this.props.disableswipedownclose && this.props.autoclose !== 'disabled') {\n this.closeSheet();\n }\n return true; // Prevent default back action\n }\n return false;\n };\n\n private onKeyboardShow = (event: any) => {\n let keyboardHeight = event.endCoordinates?.height || 0;\n //only storing ios keyboard height once as first time keyboard open (to avoid scroll flickring issue in ios in text widget)\n if (!this.isIosKeyboardHeightSet) {\n this.iosKeyboardHeight = event.endCoordinates?.height + 40;\n this.isIosKeyboardHeightSet = true;\n }\n // Calculate available space after keyboard\n const availableHeight = SCREEN_HEIGHT - (Platform.OS == 'ios' ? this.iosKeyboardHeight : keyboardHeight);\n // Calculate adjusted sheet height to fit within available space\n // Leave some buffer space for the drag handle and safe area\n const bufferSpace = (Platform.OS === 'ios' ? this.topInset : this.statusBarHeight) + 20;\n const adjustedHeight = availableHeight - bufferSpace;\n\n if (this.sheetHeight && Platform.OS == 'android' && this.props.modal) {\n // Use platform-specific keyboard animation duration for smooth synchronization\n this.sheetHeight.value = withTiming(adjustedHeight, {\n duration: this.keyboardAnimationDuration,\n easing: Easing.out(Easing.ease)\n });\n }\n\n this.updateState({\n keyboardHeight: keyboardHeight,\n } as WmBottomsheetState);\n };\n\n private onKeyboardHide = () => {\n if (this.sheetHeight && Platform.OS == 'android' && this.props.modal) {\n // Use platform-specific keyboard animation duration for smooth synchronization\n this.sheetHeight.value = withTiming(\n this.state.isExpanded ? this.expandedHeight : this.calculatedHeight,\n {\n duration: this.keyboardAnimationDuration,\n easing: Easing.out(Easing.ease)\n }\n );\n }\n\n this.updateState({\n keyboardHeight: 0,\n } as WmBottomsheetState);\n };\n\n componentDidUpdate(prevProps: WmBottomsheetProps) {\n if (prevProps.bottomsheetheightratio !== this.props.bottomsheetheightratio) {\n this.calculatedHeight = this.calculateSheetHeight(this.props.bottomsheetheightratio);\n if (this.sheetHeight) {\n this.sheetHeight.value = this.calculatedHeight;\n }\n }\n }\n\n handleSwipeGesture = (gestureState: PanResponderGestureState) => {\n\n // Only reset lastGestureDy for traditional behavior, not for drag and settle\n if (!this.props.enabledragsettle) {\n this.updateState({\n lastGestureDy: 0\n } as WmBottomsheetState);\n if (this.lastGestureDyShared) {\n this.lastGestureDyShared.value = 0;\n }\n }\n\n if (this.props.enabledragsettle && gestureState.dy > 0) {\n const currentTranslateY = this.translateY?.value || 0;\n\n if (gestureState.vy > 0.5 && !this.props.disableswipedownclose) {\n this.closeSheet();\n return;\n }\n\n if (this.translateY && this.lastGestureDyShared) {\n this.translateY.value = currentTranslateY;\n this.lastGestureDyShared.value = currentTranslateY;\n }\n\n this.updateState({\n isExpanded: false,\n lastGestureDy: currentTranslateY\n } as WmBottomsheetState);\n return;\n }\n\n if (gestureState.dy > 0) {\n if (this.state.isExpanded || this.props.disableswipedownclose) {\n if (gestureState.dy < this.expandedHeight / 4 || this.props.disableswipedownclose) {\n let sheetMinimumHeight = this.props.bottomsheetminimumheight || 0.1;\n const targetHeight = this.props.disableswipedownclose ? sheetMinimumHeight * SCREEN_HEIGHT : this.calculatedHeight;\n const currentHeight = this.sheetHeight?.value || this.expandedHeight;\n const distance = Math.abs(currentHeight - targetHeight);\n const duration = this.getAnimationDuration(distance, gestureState.vy);\n\n const callback = () => {\n this.updateState({\n isExpanded: false\n } as WmBottomsheetState);\n this.invokeEventCallback('onCollapse', [null, this]);\n };\n\n if (this.translateY && this.sheetHeight) {\n this.translateY.value = withTiming(0, {\n duration: duration,\n easing: Easing.out(Easing.ease)\n });\n this.sheetHeight.value = withTiming(\n targetHeight,\n {\n duration: duration,\n easing: Easing.out(Easing.ease)\n },\n (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n }\n );\n }\n } else if ((gestureState.dy > this.expandedHeight / 4 || gestureState.vy > 0.5) && !this.props.disableswipedownclose) {\n this.closeSheet();\n }\n } else {\n if (this.props.disableswipedownclose) {\n this.openSheet();\n return;\n }\n if ((gestureState.dy > 100 || gestureState.vy > 0.5) && !this.props.disableswipedownclose) {\n this.closeSheet();\n } else {\n this.openSheet();\n }\n }\n }\n }\n // panResponder for bottom sheet scroll view\n panResponder = PanResponder.create({\n onStartShouldSetPanResponder: (_, gestureState) => {\n if (this.props.disablescrollonrest && !this.state.isExpanded) {\n return true\n }\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n\n },\n\n onMoveShouldSetPanResponder: (_, gestureState) => {\n if (this.props.disablescrollonrest && !this.state.isExpanded) {\n return true\n }\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n\n },\n\n onPanResponderGrant: () => {\n // Cancel any ongoing animations when user starts dragging\n if (this.translateY) {\n cancelAnimation(this.translateY);\n }\n },\n\n onPanResponderMove: (_, gestureState) => {\n\n if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared) {\n const newTranslateY = Math.max(0, this.lastGestureDyShared.value + gestureState.dy);\n this.translateY.value = newTranslateY;\n // Reset expand flag if dragging down\n this.isDragHandleExpanding = false;\n }\n else if (gestureState.dy < 0 && this.props.expand && this.props.bottomsheetheightratio !== 1 && !this.isDragHandleExpanding && !this.state.isExpanded) {\n // Only trigger expand once with threshold of -50px upward drag\n this.isDragHandleExpanding = true;\n this.expandBottomSheet();\n }\n },\n\n onPanResponderRelease: (_, gestureState) => {\n this.handleSwipeGesture(gestureState);\n },\n\n onPanResponderTerminate: () => {\n this.openSheet();\n },\n });\n\n //pan repsoneder for bottom sheet dragable container\n dragHandlePanResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n\n onPanResponderGrant: () => {\n // Cancel any ongoing animations when user starts dragging\n if (this.translateY) {\n cancelAnimation(this.translateY);\n }\n // Reset the expand flag\n this.isDragHandleExpanding = false;\n },\n\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared) {\n const newTranslateY = Math.max(0, this.lastGestureDyShared.value + gestureState.dy);\n this.translateY.value = newTranslateY;\n // Reset expand flag if dragging down\n this.isDragHandleExpanding = false;\n } else if (gestureState.dy < -50 && this.props.expand && this.props.bottomsheetheightratio !== 1 && !this.isDragHandleExpanding && !this.state.isExpanded) {\n // Only trigger expand once with threshold of -50px upward drag\n this.isDragHandleExpanding = true;\n this.expandBottomSheet();\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n this.isDragHandleExpanding = false;\n this.handleSwipeGesture(gestureState);\n },\n });\n\n handleScroll = (event: any): any => {\n if (this.state.keyboardHeight > 0) return null;\n const offsetY = event.nativeEvent.contentOffset.y;\n this.updateState({\n isScrolling: offsetY > 0,\n scrollOffset: offsetY\n } as WmBottomsheetState);\n };\n\n openSheet = () => {\n const callback = () => {\n this.updateState({\n lastGestureDy: 0,\n } as WmBottomsheetState);\n this.invokeEventCallback('onOpened', [null, this]);\n };\n\n // Reset drag settle value immediately on UI thread\n if (this.lastGestureDyShared) {\n this.lastGestureDyShared.value = 0;\n }\n\n if (this.translateY && this.backdropOpacity) {\n this.translateY.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n // Backdrop animation synchronized with sheet animation\n this.backdropOpacity.value = withTiming(1, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n }\n };\n\n private handleClose = () => {\n this.updateState({\n isBottomsheetVisible: false\n } as WmBottomsheetState);\n this.invokeEventCallback('onClose', [null, this]);\n };\n\n closeSheet = () => {\n const callback = () => {\n // Reset sheet height after close\n if (this.sheetHeight) {\n this.sheetHeight.value = this.calculatedHeight;\n }\n this.updateState({\n isExpanded: false,\n localModalsOpened: [] as ModalOptions[]\n } as WmBottomsheetState);\n this.handleClose();\n };\n\n if (this.translateY && this.backdropOpacity) {\n this.translateY.value = withTiming(SCREEN_HEIGHT, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n // Backdrop animation synchronized with sheet animation\n this.backdropOpacity.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n }\n };\n\n closeSheetImmediate = () => {\n if (this.translateY && this.backdropOpacity && this.lastGestureDyShared) {\n this.translateY.value = SCREEN_HEIGHT;\n this.backdropOpacity.value = 0;\n this.lastGestureDyShared.value = 0;\n }\n\n this.updateState({\n lastGestureDy: 0,\n isExpanded: false,\n isBottomsheetVisible: false,\n localModalsOpened: [] as ModalOptions[]\n } as WmBottomsheetState);\n\n requestAnimationFrame(() => {\n if (this.sheetHeight) {\n this.sheetHeight.value = this.calculatedHeight;\n }\n });\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case \"showonrender\":\n if ($new) {\n this.updateState({\n isBottomsheetVisible: $new || false\n } as WmBottomsheetState);\n if (this.state.isBottomsheetVisible) {\n this.openSheet && this.openSheet();\n }\n } else {\n this.closeSheetImmediate && this.closeSheetImmediate();\n }\n break;\n }\n }\n\n public renderSkeleton(props: WmBottomsheetProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.styles.root.width as DimensionValue,\n height: this.styles.root.height as DimensionValue\n });\n }\n\n // Class methods to prevent recreation on every render\n private handleBackdropPress = () => {\n if (this.props.autoclose !== 'disabled') {\n this.closeSheet();\n }\n };\n\n private handleDragHandlePress = () => {\n this.invokeEventCallback('onDraghandleiconclick', [null, this]);\n };\n\n private renderContent = (props: WmBottomsheetProps) => {\n // Don't render if shared values aren't initialized yet\n if (!this.translateY || !this.backdropOpacity || !this.sheetHeight || !this.lastGestureDyShared) {\n return null;\n }\n\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n // Store topInset for later use (avoid mutation during render)\n const topInset = insets?.top || 0;\n // Update the instance variable outside of render cycle\n if (this.topInset !== topInset) {\n requestAnimationFrame(() => {\n this.topInset = topInset;\n });\n }\n return (\n <View style={this.styles.root} {...this.getTestProps('keyboardview')}>\n {this._background}\n\n <AnimatedBottomsheetContent\n translateY={this.translateY}\n backdropOpacity={this.backdropOpacity}\n sheetHeight={this.sheetHeight}\n lastGestureDy={this.lastGestureDyShared}\n styles={this.styles}\n props={props}\n panHandlers={this.panResponder.panHandlers}\n dragHandlePanHandlers={this.dragHandlePanResponder.panHandlers}\n onBackdropPress={this.handleBackdropPress}\n onDragHandlePress={this.handleDragHandlePress}\n getTestProps={this.getTestProps.bind(this)}\n enabledragsettle={props.enabledragsettle}\n >\n {(contentStyle: any) => (\n <ScrollView\n ref={this.state.scrollViewRef}\n style={this.styles.sheetContentContainer}\n contentContainerStyle={[this.styles.sheetScrollContent]}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n showsVerticalScrollIndicator={false}\n scrollEventThrottle={16}\n onScroll={this.handleScroll}\n nestedScrollEnabled={true}\n scrollEnabled={!props.issticky && (!props.disablescrollonrest || this.state.isExpanded)}\n {...this.getTestProps('scorllview')}\n >\n {props.enablemodalsupport ? (\n <ModalProvider value={this.sheetModalService}>\n <Animated.View style={contentStyle}>\n {props.children}\n </Animated.View>\n </ModalProvider>\n ) : (\n <Animated.View style={contentStyle}>\n {props.children}\n </Animated.View>\n )}\n </ScrollView>\n )}\n </AnimatedBottomsheetContent>\n\n {props.enablemodalsupport && this.state.localModalsOpened && this.state.localModalsOpened.map((o, i) => (\n <View\n key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && this.sheetModalService.hideModal(o)}\n style={[\n this.styles.modalOverlay,\n (o as any).centered ? this.styles.centeredOverlay : null,\n { zIndex: (o as any).elevationIndex || 9999, elevation: (o as any).elevationIndex || 9999 },\n (o.modalStyle || {})\n ]}\n >\n <View\n style={[(o.contentStyle || {})]}\n onStartShouldSetResponder={() => true}\n onResponderEnd={(e) => e.stopPropagation()}\n >\n {o.content}\n </View>\n </View>\n ))}\n </View>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n };\n\n renderWidget(props: WmBottomsheetProps) {\n if (!this.state.isBottomsheetVisible) return null;\n\n if (props.modal) {\n\n return (\n <Modal\n visible={this.state.isBottomsheetVisible}\n transparent={true}\n animationType=\"none\"\n onRequestClose={() => {\n if (!this.props.disableswipedownclose && this.props.autoclose !== 'disabled') {\n this.closeSheet();\n }\n }}\n statusBarTranslucent={false}\n >\n <KeyboardAvoidingView\n style={{ flex: 1 }}\n behavior={'padding'}\n keyboardVerticalOffset={Platform.OS === 'ios' ? 0 : undefined}\n >\n {this.renderContent(props)}\n </KeyboardAvoidingView>\n </Modal>\n );\n } else {\n return this.renderContent(props);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,11 +26,11 @@ export default class WmProgressCircle extends BaseComponent {
|
|
|
26
26
|
const height = e.nativeEvent.layout.height;
|
|
27
27
|
let radius = this.state.radius;
|
|
28
28
|
if (!width) {
|
|
29
|
-
radius = height;
|
|
29
|
+
radius = Math.floor(height);
|
|
30
30
|
} else if (!height) {
|
|
31
|
-
radius = width;
|
|
31
|
+
radius = Math.floor(width);
|
|
32
32
|
} else {
|
|
33
|
-
radius = Math.min(width, height);
|
|
33
|
+
radius = Math.floor(Math.min(width, height));
|
|
34
34
|
}
|
|
35
35
|
this.handleLayout(e);
|
|
36
36
|
this.updateState({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","args","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","handleLayout","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","_extends","style","root","bind","PROGRESSCIRCLE","getTestPropsForAction","_background","target","disableTouchEffect","disabletoucheffect","fill","progressValue","backgroundWidth","rotation","tintColor","backgroundColor","lineCap","buttStyle","progressCircle","size","alignItems","text","getTestPropsForLabel","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = height;\n } else if (!height) {\n radius = width;\n } else {\n radius = Math.min(width, height);\n }\n \n this.handleLayout(e)\n\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)} {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)} {...this.getTestPropsForAction('progresscircle')}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <AnimatedCircularProgress\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill: any) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text} {...this.getTestPropsForLabel('title')}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle} {...this.getTestPropsForLabel('subtitle')}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAA4BC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAC5D,SAASC,QAAQ,QAAQ,QAAQ;AACjC,SAASC,wBAAwB,QAAQ,gCAAgC;AACzE,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAE7G,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,SAASC,aAAa,QAAgC,0BAA0B;AAGhF,OAAO,MAAMC,qBAAqB,SAASL,kBAAkB,CAAwB;EAAAM,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,iBAC1E,EAAE;EAAA;AACb;AAEA,eAAe,MAAMC,gBAAgB,SAASV,aAAa,CAAuE;EAEhIO,WAAWA,CAACI,KAA4B,EAAE;IACxC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,qBAAqB,CAAC,CAAC,EAAE,IAAIE,qBAAqB,CAAC,CAAC,CAAC;EACvF;EAEAM,QAAQA,CAACC,CAAoB,EAAE;IAC7B,MAAMC,KAAK,GAAGD,CAAC,CAACE,WAAW,CAACC,MAAM,CAACF,KAAK;IACxC,MAAMG,MAAM,GAAGJ,CAAC,CAACE,WAAW,CAACC,MAAM,CAACC,MAAM;IAC1C,IAAIC,MAAM,GAAG,IAAI,CAACC,KAAK,CAACD,MAAM;IAC9B,IAAI,CAACJ,KAAK,EAAE;MACVI,MAAM,
|
|
1
|
+
{"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","args","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","floor","min","handleLayout","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","_extends","style","root","bind","PROGRESSCIRCLE","getTestPropsForAction","_background","target","disableTouchEffect","disabletoucheffect","fill","progressValue","backgroundWidth","rotation","tintColor","backgroundColor","lineCap","buttStyle","progressCircle","size","alignItems","text","getTestPropsForLabel","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = Math.floor(height);\n } else if (!height) {\n radius = Math.floor(width);\n } else {\n radius = Math.floor(Math.min(width, height));\n }\n \n this.handleLayout(e)\n\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)} {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)} {...this.getTestPropsForAction('progresscircle')}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <AnimatedCircularProgress\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill: any) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text} {...this.getTestPropsForLabel('title')}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle} {...this.getTestPropsForLabel('subtitle')}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -61,22 +61,39 @@ export default class WmAreaChart extends BaseChartComponent {
|
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
renderWidget(props) {
|
|
64
|
-
var _this$state$data, _this$props$name;
|
|
64
|
+
var _this$state$data, _this$props$name, _props$chartheight, _this$styles$root, _this$styles$root2, _this$styles$root3, _this$styles$root4, _this$styles$root5, _this$styles$root6;
|
|
65
65
|
this.invokeEventCallback('onBeforerender', [this.proxy, null]);
|
|
66
66
|
if (!((_this$state$data = this.state.data) !== null && _this$state$data !== void 0 && _this$state$data.length)) {
|
|
67
67
|
return null;
|
|
68
68
|
}
|
|
69
|
-
let mindomain = {
|
|
70
|
-
x: props.xdomain === 'Min' ? this.state.chartMinX : undefined,
|
|
71
|
-
y: props.ydomain === 'Min' ? this.state.chartMinY : undefined
|
|
72
|
-
};
|
|
73
69
|
const chartName = (_this$props$name = this.props.name) !== null && _this$props$name !== void 0 ? _this$props$name : 'nonameAreachart';
|
|
74
70
|
let gradientStop = '100%';
|
|
75
71
|
if (isNumber(this.state.chartMaxY) && isNumber(this.state.chartMinY) && this.state.chartMaxY > 0) {
|
|
76
72
|
gradientStop = (this.state.chartMaxY - this.state.chartMinY) * 100 / this.state.chartMaxY + '%';
|
|
77
73
|
}
|
|
74
|
+
let offsetTop = props.offsettop;
|
|
75
|
+
let offsetHeight = 0;
|
|
76
|
+
let victoryChartHeight = (_props$chartheight = props.chartheight) !== null && _props$chartheight !== void 0 ? _props$chartheight : this.styles.root.height;
|
|
77
|
+
if ((_this$styles$root = this.styles.root) !== null && _this$styles$root !== void 0 && _this$styles$root.height && typeof ((_this$styles$root2 = this.styles.root) === null || _this$styles$root2 === void 0 ? void 0 : _this$styles$root2.height) === 'number') {
|
|
78
|
+
offsetTop = this.styles.root.height / 250 * props.offsettop;
|
|
79
|
+
offsetHeight = this.styles.root.height >= 250 && !props.chartheight && props.chartheight !== 0 ? 0 : offsetTop + props.offsetbottom;
|
|
80
|
+
}
|
|
81
|
+
if (typeof victoryChartHeight === 'number') {
|
|
82
|
+
victoryChartHeight = victoryChartHeight + offsetHeight;
|
|
83
|
+
}
|
|
84
|
+
let containerStyle = {
|
|
85
|
+
...this.styles.root
|
|
86
|
+
};
|
|
87
|
+
if (containerStyle !== null && containerStyle !== void 0 && containerStyle.height) {
|
|
88
|
+
containerStyle['minHeight'] = containerStyle['height'];
|
|
89
|
+
delete containerStyle['height'];
|
|
90
|
+
}
|
|
91
|
+
let mindomain = {
|
|
92
|
+
x: props.xdomain === 'Min' ? this.state.chartMinX : undefined,
|
|
93
|
+
y: props.ydomain === 'Min' ? this.state.chartMinY : undefined
|
|
94
|
+
};
|
|
78
95
|
return /*#__PURE__*/React.createElement(View, _extends({}, getAccessibilityProps(AccessibilityWidgetType.LINECHART, props), {
|
|
79
|
-
style:
|
|
96
|
+
style: containerStyle,
|
|
80
97
|
onLayout: this.onViewLayoutChange.bind(this),
|
|
81
98
|
key: `${props.title}_area_chart`
|
|
82
99
|
}), /*#__PURE__*/React.createElement(View, null, props.title || props.iconclass ? /*#__PURE__*/React.createElement(View, {
|
|
@@ -96,16 +113,16 @@ export default class WmAreaChart extends BaseChartComponent {
|
|
|
96
113
|
ref: this.viewRef
|
|
97
114
|
}, this.getTooltip(), /*#__PURE__*/React.createElement(VictoryChart, {
|
|
98
115
|
theme: this.state.theme,
|
|
99
|
-
height:
|
|
116
|
+
height: victoryChartHeight,
|
|
100
117
|
width: this.state.chartWidth || this.screenWidth,
|
|
101
118
|
padding: {
|
|
102
|
-
top:
|
|
119
|
+
top: offsetTop,
|
|
103
120
|
bottom: props.offsetbottom,
|
|
104
121
|
left: this.isRTL ? props.offsetright : props.offsetleft,
|
|
105
122
|
right: this.isRTL ? props.offsetleft : props.offsetright
|
|
106
123
|
},
|
|
107
124
|
minDomain: mindomain
|
|
108
|
-
}, this.getLegendView(), this.getXaxis(), this.getYAxis(), /*#__PURE__*/React.createElement(VictoryStack, null, this.state.data.map((d, i) => {
|
|
125
|
+
}, this.getLegendView(undefined, (_this$styles$root3 = this.styles.root) !== null && _this$styles$root3 !== void 0 && _this$styles$root3.height && typeof ((_this$styles$root4 = this.styles.root) === null || _this$styles$root4 === void 0 ? void 0 : _this$styles$root4.height) === 'string' || (_this$styles$root5 = this.styles.root) !== null && _this$styles$root5 !== void 0 && _this$styles$root5.height && typeof ((_this$styles$root6 = this.styles.root) === null || _this$styles$root6 === void 0 ? void 0 : _this$styles$root6.height) === 'number' && this.styles.root.height >= 250 ? 0 : offsetHeight), this.getXaxis(offsetHeight), this.getYAxis(), /*#__PURE__*/React.createElement(VictoryStack, null, this.state.data.map((d, i) => {
|
|
109
126
|
return /*#__PURE__*/React.createElement(VictoryGroup, {
|
|
110
127
|
key: props.name + '_area_group_' + i
|
|
111
128
|
}, /*#__PURE__*/React.createElement(Defs, null, /*#__PURE__*/React.createElement(LinearGradient, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Color","View","Text","Platform","Defs","LinearGradient","Stop","VictoryArea","VictoryChart","VictoryStack","VictoryScatter","VictoryGroup","WmAreaChartProps","DEFAULT_CLASS","BaseChartComponent","BaseChartComponentState","WmIcon","isNumber","AccessibilityWidgetType","getAccessibilityProps","WmAreaChartState","constructor","args","_defineProperty","WmAreaChart","props","e","viewWidth","nativeEvent","layout","width","handleLayout","updateState","chartWidth","onSelect","event","data","viewRef","current","state","dataset","measureInWindow","chartX","chartY","value","index","y","label","xaxisDatakeyArr","datum","x","selectedItem","tooltipX","pageX","tooltipY","pageY","selectedChartItem","series","_dataObj","tooltipXaxis","tooltipYaxis","isTooltipOpen","tooltipXPosition","tooltipoffsetx","tooltipYPosition","tooltipoffsety","invokeEventCallback","proxy","renderWidget","_this$state$data","_this$props$name","length","mindomain","xdomain","chartMinX","undefined","ydomain","chartMinY","chartName","name","gradientStop","chartMaxY","createElement","_extends","LINECHART","style","styles","root","onLayout","onViewLayoutChange","bind","key","title","iconclass","testID","flexDirection","alignItems","icon","subheading","subHeading","ref","getTooltip","theme","height","screenWidth","padding","top","offsettop","bottom","offsetbottom","left","isRTL","offsetright","offsetleft","right","minDomain","getLegendView","getXaxis","getYAxis","map","d","i","id","x1","y1","x2","y2","offset","stopColor","colors","lighten","rgb","toString","interpolation","fill","stroke","strokeWidth","linethickness","size","highlightpoints","opacity","events","target","eventHandlers","OS","onClick","onPress"],"sources":["area-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport Color from \"color\";\nimport { LayoutChangeEvent, View, Text, Platform } from 'react-native';\nimport { Defs, LinearGradient, Stop, Svg } from 'react-native-svg';\nimport { VictoryArea, VictoryLine, VictoryChart, VictoryLegend, VictoryStack, VictoryScatter, VictoryGroup } from \"victory-native\";\nimport { InterpolationPropType } from 'victory-core';\nimport WmAreaChartProps from './area-chart.props';\nimport { DEFAULT_CLASS, WmAreaChartStyles } from './area-chart.styles';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from \"@wavemaker/app-rn-runtime/components/chart/basechart.component\";\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { isNil, isNumber } from 'lodash-es';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmAreaChartState extends BaseChartComponentState<WmAreaChartProps> {\n chartWidth = 0;\n}\n\nexport default class WmAreaChart extends BaseChartComponent<WmAreaChartProps, WmAreaChartState, WmAreaChartStyles> {\n\n constructor(props: WmAreaChartProps) {\n super(props, DEFAULT_CLASS, new WmAreaChartProps(), new WmAreaChartState());\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n\n this.handleLayout(e);\n\n this.updateState({\n chartWidth: viewWidth\n } as WmAreaChartState)\n }\n\n onSelect(event: any, data: any){\n if (!this.viewRef.current) return;\n if (!this.state.props.dataset) return;\n this.viewRef.current.measureInWindow((chartX: number, chartY: number) => {\n let value = data.data[data.index].y;\n let label = this.state.xaxisDatakeyArr[data.datum.x];\n let selectedItem = this.props.dataset[data.index];\n const nativeEvent = event.nativeEvent;\n let tooltipX = nativeEvent.pageX - chartX;\n let tooltipY = nativeEvent.pageY - chartY;\n let selectedChartItem = [{series: 0, x: data.index, y: value,_dataObj: selectedItem},data.index];\n this.updateState({\n tooltipXaxis: label,\n tooltipYaxis: value,\n isTooltipOpen: true,\n selectedItem: {...selectedItem, index: data.index},\n tooltipXPosition: tooltipX - this.state.tooltipoffsetx, \n tooltipYPosition: tooltipY - this.state.tooltipoffsety\n } as WmAreaChartState)\n this.invokeEventCallback('onSelect', [event.nativeEvent, this.proxy, selectedItem, selectedChartItem ]);\n });\n }\n\n renderWidget(props: WmAreaChartProps) {\n this.invokeEventCallback('onBeforerender', [this.proxy, null]);\n if (!this.state.data?.length) {\n return null;\n }\n let mindomain={\n x: props.xdomain === 'Min' ? this.state.chartMinX: undefined,\n y: props.ydomain === 'Min' ? this.state.chartMinY: undefined\n };\n const chartName = this.props.name ?? 'nonameAreachart';\n let gradientStop = '100%';\n if (isNumber(this.state.chartMaxY) && isNumber(this.state.chartMinY) && this.state.chartMaxY > 0) {\n gradientStop = (this.state.chartMaxY - this.state.chartMinY) * 100 / this.state.chartMaxY + '%';\n }\n return (\n <View\n {...getAccessibilityProps(AccessibilityWidgetType.LINECHART, props)}\n style={this.styles.root}\n onLayout={this.onViewLayoutChange.bind(this)}\n key={`${props.title}_area_chart`}\n >\n <View>\n { (props.title || props.iconclass) ? (\n <View testID=\"title-icon-container\" style={{flexDirection: 'row', alignItems: 'center'}}>\n {props.iconclass ? (<WmIcon iconclass={props.iconclass} styles={this.styles.icon}></WmIcon>) : null }\n {props.title ? (<Text style={this.styles.title}>{props.title}</Text>) : null }\n </View>\n ) : null }\n { props.subheading? (\n <Text style={this.styles.subHeading}>{props.subheading}</Text> ) : null }\n </View>\n {this.state.chartWidth ? \n (\n <View ref={this.viewRef}>\n {this.getTooltip()}\n <VictoryChart\n theme={this.state.theme}\n height={this.styles.root.height as number}\n width={this.state.chartWidth || this.screenWidth}\n padding={{ top: props.offsettop, bottom: props.offsetbottom, left: this.isRTL ? props.offsetright : props.offsetleft, right: this.isRTL ? props.offsetleft : props.offsetright }}\n minDomain={mindomain}\n > \n {this.getLegendView()}\n {this.getXaxis()}\n {this.getYAxis()}\n <VictoryStack>\n {\n this.state.data.map((d: any, i: number) => {\n return <VictoryGroup key={props.name + '_area_group_' + i}>\n <Defs>\n <LinearGradient id={`${chartName}Gradient${i}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <Stop offset=\"0%\" stopColor={Color(this.state.colors[i]).lighten(0.2).rgb().toString()}/>\n <Stop offset={gradientStop} stopColor={Color(this.state.colors[i]).lighten(0.6).rgb().toString()}/>\n </LinearGradient>\n </Defs>\n <VictoryArea\n interpolation={props.interpolation as InterpolationPropType}\n key={props.name + '_' + i}\n name={props.name + '_' + i}\n style={{\n data: {\n fill: `url(#${chartName}Gradient${i})`,\n stroke: this.state.colors[i],\n strokeWidth: props.linethickness,\n }\n }}\n data={d}\n />\n <VictoryScatter\n size={5}\n key={props.name + '_scatter' + i}\n style={{\n data: props.highlightpoints ? {fill: this.state.colors[i], opacity: 0.8}:{opacity: 0}\n }} \n data={d}\n events={[{\n target: 'data',\n eventHandlers: Platform.OS == \"web\" ? {\n onClick: this.onSelect.bind(this)\n }:{\n onPress: this.onSelect.bind(this)\n }\n }]}\n />\n </VictoryGroup>\n })\n }\n </VictoryStack>\n </VictoryChart>\n </View>\n )\n : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Color","View","Text","Platform","Defs","LinearGradient","Stop","VictoryArea","VictoryChart","VictoryStack","VictoryScatter","VictoryGroup","WmAreaChartProps","DEFAULT_CLASS","BaseChartComponent","BaseChartComponentState","WmIcon","isNumber","AccessibilityWidgetType","getAccessibilityProps","WmAreaChartState","constructor","args","_defineProperty","WmAreaChart","props","e","viewWidth","nativeEvent","layout","width","handleLayout","updateState","chartWidth","onSelect","event","data","viewRef","current","state","dataset","measureInWindow","chartX","chartY","value","index","y","label","xaxisDatakeyArr","datum","x","selectedItem","tooltipX","pageX","tooltipY","pageY","selectedChartItem","series","_dataObj","tooltipXaxis","tooltipYaxis","isTooltipOpen","tooltipXPosition","tooltipoffsetx","tooltipYPosition","tooltipoffsety","invokeEventCallback","proxy","renderWidget","_this$state$data","_this$props$name","_props$chartheight","_this$styles$root","_this$styles$root2","_this$styles$root3","_this$styles$root4","_this$styles$root5","_this$styles$root6","length","chartName","name","gradientStop","chartMaxY","chartMinY","offsetTop","offsettop","offsetHeight","victoryChartHeight","chartheight","styles","root","height","offsetbottom","containerStyle","mindomain","xdomain","chartMinX","undefined","ydomain","createElement","_extends","LINECHART","style","onLayout","onViewLayoutChange","bind","key","title","iconclass","testID","flexDirection","alignItems","icon","subheading","subHeading","ref","getTooltip","theme","screenWidth","padding","top","bottom","left","isRTL","offsetright","offsetleft","right","minDomain","getLegendView","getXaxis","getYAxis","map","d","i","id","x1","y1","x2","y2","offset","stopColor","colors","lighten","rgb","toString","interpolation","fill","stroke","strokeWidth","linethickness","size","highlightpoints","opacity","events","target","eventHandlers","OS","onClick","onPress"],"sources":["area-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport Color from \"color\";\nimport { LayoutChangeEvent, View, Text, Platform } from 'react-native';\nimport { Defs, LinearGradient, Stop, Svg } from 'react-native-svg';\nimport { VictoryArea, VictoryLine, VictoryChart, VictoryLegend, VictoryStack, VictoryScatter, VictoryGroup } from \"victory-native\";\nimport { InterpolationPropType } from 'victory-core';\nimport WmAreaChartProps from './area-chart.props';\nimport { DEFAULT_CLASS, WmAreaChartStyles } from './area-chart.styles';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from \"@wavemaker/app-rn-runtime/components/chart/basechart.component\";\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { isNil, isNumber } from 'lodash-es';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmAreaChartState extends BaseChartComponentState<WmAreaChartProps> {\n chartWidth = 0;\n}\n\nexport default class WmAreaChart extends BaseChartComponent<WmAreaChartProps, WmAreaChartState, WmAreaChartStyles> {\n\n constructor(props: WmAreaChartProps) {\n super(props, DEFAULT_CLASS, new WmAreaChartProps(), new WmAreaChartState());\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n\n this.handleLayout(e);\n\n this.updateState({\n chartWidth: viewWidth\n } as WmAreaChartState)\n }\n\n onSelect(event: any, data: any){\n if (!this.viewRef.current) return;\n if (!this.state.props.dataset) return;\n this.viewRef.current.measureInWindow((chartX: number, chartY: number) => {\n let value = data.data[data.index].y;\n let label = this.state.xaxisDatakeyArr[data.datum.x];\n let selectedItem = this.props.dataset[data.index];\n const nativeEvent = event.nativeEvent;\n let tooltipX = nativeEvent.pageX - chartX;\n let tooltipY = nativeEvent.pageY - chartY;\n let selectedChartItem = [{series: 0, x: data.index, y: value,_dataObj: selectedItem},data.index];\n this.updateState({\n tooltipXaxis: label,\n tooltipYaxis: value,\n isTooltipOpen: true,\n selectedItem: {...selectedItem, index: data.index},\n tooltipXPosition: tooltipX - this.state.tooltipoffsetx, \n tooltipYPosition: tooltipY - this.state.tooltipoffsety\n } as WmAreaChartState)\n this.invokeEventCallback('onSelect', [event.nativeEvent, this.proxy, selectedItem, selectedChartItem ]);\n });\n }\n\n renderWidget(props: WmAreaChartProps) {\n this.invokeEventCallback('onBeforerender', [this.proxy, null]);\n if (!this.state.data?.length) {\n return null;\n }\n \n const chartName = this.props.name ?? 'nonameAreachart';\n let gradientStop = '100%';\n if (isNumber(this.state.chartMaxY) && isNumber(this.state.chartMinY) && this.state.chartMaxY > 0) {\n gradientStop = (this.state.chartMaxY - this.state.chartMinY) * 100 / this.state.chartMaxY + '%';\n }\n\n let offsetTop = props.offsettop;\n let offsetHeight = 0;\n let victoryChartHeight = props.chartheight ?? this.styles.root.height;\n\n if(this.styles.root?.height && typeof this.styles.root?.height === 'number') {\n offsetTop = (this.styles.root.height / 250) * props.offsettop;\n offsetHeight = (this.styles.root.height >= 250 && !props.chartheight && props.chartheight !== 0) ? 0 : offsetTop + props.offsetbottom;\n }\n\n if(typeof victoryChartHeight === 'number') {\n victoryChartHeight = victoryChartHeight + offsetHeight;\n }\n\n let containerStyle = {...this.styles.root}\n if(containerStyle?.height) {\n containerStyle['minHeight'] = containerStyle['height'];\n delete containerStyle['height'];\n }\n\n let mindomain={\n x: props.xdomain === 'Min' ? this.state.chartMinX: undefined,\n y: props.ydomain === 'Min' ? this.state.chartMinY: undefined\n };\n return (\n <View\n {...getAccessibilityProps(AccessibilityWidgetType.LINECHART, props)}\n style={containerStyle}\n onLayout={this.onViewLayoutChange.bind(this)}\n key={`${props.title}_area_chart`}\n >\n <View>\n { (props.title || props.iconclass) ? (\n <View testID=\"title-icon-container\" style={{flexDirection: 'row', alignItems: 'center'}}>\n {props.iconclass ? (<WmIcon iconclass={props.iconclass} styles={this.styles.icon}></WmIcon>) : null }\n {props.title ? (<Text style={this.styles.title}>{props.title}</Text>) : null }\n </View>\n ) : null }\n { props.subheading? (\n <Text style={this.styles.subHeading}>{props.subheading}</Text> ) : null }\n </View>\n {this.state.chartWidth ? \n (\n <View ref={this.viewRef}>\n {this.getTooltip()}\n <VictoryChart\n theme={this.state.theme}\n height={victoryChartHeight as number}\n width={this.state.chartWidth || this.screenWidth}\n padding={{ top: offsetTop, bottom: props.offsetbottom, left: this.isRTL ? props.offsetright : props.offsetleft, right: this.isRTL ? props.offsetleft : props.offsetright }}\n minDomain={mindomain}\n > \n {this.getLegendView(\n undefined, \n (\n (\n (this.styles.root?.height && typeof this.styles.root?.height === 'string') || \n (this.styles.root?.height && typeof this.styles.root?.height === 'number' && this.styles.root.height >= 250)) ? \n 0 : offsetHeight\n )\n )}\n {this.getXaxis(offsetHeight)}\n {this.getYAxis()}\n <VictoryStack>\n {\n this.state.data.map((d: any, i: number) => {\n return <VictoryGroup key={props.name + '_area_group_' + i}>\n <Defs>\n <LinearGradient id={`${chartName}Gradient${i}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <Stop offset=\"0%\" stopColor={Color(this.state.colors[i]).lighten(0.2).rgb().toString()}/>\n <Stop offset={gradientStop} stopColor={Color(this.state.colors[i]).lighten(0.6).rgb().toString()}/>\n </LinearGradient>\n </Defs>\n <VictoryArea\n interpolation={props.interpolation as InterpolationPropType}\n key={props.name + '_' + i}\n name={props.name + '_' + i}\n style={{\n data: {\n fill: `url(#${chartName}Gradient${i})`,\n stroke: this.state.colors[i],\n strokeWidth: props.linethickness,\n }\n }}\n data={d}\n />\n <VictoryScatter\n size={5}\n key={props.name + '_scatter' + i}\n style={{\n data: props.highlightpoints ? {fill: this.state.colors[i], opacity: 0.8}:{opacity: 0}\n }} \n data={d}\n events={[{\n target: 'data',\n eventHandlers: Platform.OS == \"web\" ? {\n onClick: this.onSelect.bind(this)\n }:{\n onPress: this.onSelect.bind(this)\n }\n }]}\n />\n </VictoryGroup>\n })\n }\n </VictoryStack>\n </VictoryChart>\n </View>\n )\n : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|