@wavemaker/app-rn-runtime 11.14.1-22.647482 → 11.14.1-22.647501
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 +2 -1
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/container/container.component.js +17 -2
- package/components/container/container.component.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +7 -0
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/calendar/calendar.component.js +4 -0
- package/components/input/calendar/calendar.component.js.map +1 -1
- package/components/input/calendar/views/month-view.js +8 -1
- package/components/input/calendar/views/month-view.js.map +1 -1
- package/npm-shrinkwrap.json +152 -125
- package/package-lock.json +152 -125
- package/package.json +2 -2
|
@@ -709,8 +709,9 @@ export default class WmBottomsheet extends BaseComponent {
|
|
|
709
709
|
this.calculatedHeight = this.calculateSheetHeight(_props.bottomsheetheightratio);
|
|
710
710
|
//container srollview ref
|
|
711
711
|
this.subscribe('containerScrollViewReady', ref => {
|
|
712
|
-
if (ref && ref.current) {
|
|
712
|
+
if (ref && ref.current && this.containerscrollViewRef !== ref) {
|
|
713
713
|
this.containerscrollViewRef = ref;
|
|
714
|
+
this.forceUpdate();
|
|
714
715
|
}
|
|
715
716
|
});
|
|
716
717
|
//container scrollview y offset value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createRef","BaseComponent","BaseComponentState","View","PanResponder","Dimensions","TouchableWithoutFeedback","Platform","StatusBar","BackHandler","KeyboardAvoidingView","Keyboard","Modal","Pressable","Gesture","GestureDetector","GestureHandlerRootView","ScrollView","Animated","useAnimatedStyle","withTiming","runOnJS","Easing","makeMutable","cancelAnimation","WmBottomsheetProps","DEFAULT_CLASS","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","ModalProvider","SafeAreaInsetsContext","SafeAreaView","OS","RN","require","RNAnimated","__wmPatchedNoNativeDriver","wrap","name","original","value","config","patched","useNativeDriver","_","height","SCREEN_HEIGHT","get","WmBottomsheetState","constructor","args","_defineProperty","AnimatedBottomsheetContent","translateY","backdropOpacity","sheetHeight","lastGestureDy","styles","props","children","panHandlers","dragHandlePanHandlers","onBackdropPress","onDragHandlePress","getTestProps","enabledragsettle","scrollRef","containerScrollRef","configurePanGesture","panGesture","useMemo","pan","Pan","simultaneousWithExternalGesture","backdropAnimatedStyle","opacity","containerAnimatedStyle","transform","contentStyle","paddingBottom","createElement","Fragment","onPress","_extends","style","backdrop","BOTTOMSHEET","container","dragHandleContainer","dragIconHandle","gesture","WmBottomsheet","getAnimationDuration","distance","velocity","velocityFactor","Math","max","min","abs","calculatedDuration","calculateSheetHeight","bottomsheetheightratio","effectiveRatio","defaultHeight","maxHeightRatio","minimumHeight","maxHeight","screenHeight","calculatedHeight","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","setTimeout","_this$state$scrollVie","scrollViewRef","current","scrollTo","x","y","animated","scrollOffset","sheetMinimumHeight","bottomsheetminimumheight","enabled","onUpdate","translationY","velocityY","moveX","moveY","vx","velocityX","containerscrollYoffset","newTranslateY","isDragHandleExpanding","expand","disablescrollonrest","expandBottomSheet","onEnd","handleSwipeGesture","onFinalize","success","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","onPanResponderRelease","onPanResponderTerminate","offsetY","nativeEvent","contentOffset","isScrolling","handleClose","requestAnimationFrame","Consumer","insets","bottom","left","right","bottomInset","absoluteStyle","rootStyle","root","_background","panResponder","dragHandlePanResponder","handleBackdropPress","handleDragHandlePress","bind","containerscrollViewRef","issticky","enablemodalsupport","sheetContentContainer","overflow","ref","contentContainerStyle","sheetScrollContent","alwaysBounceVertical","alwaysBounceHorizontal","bounces","showsVerticalScrollIndicator","scrollEventThrottle","onScroll","handleScroll","nestedScrollEnabled","scrollEnabled","edges","map","o","i","key","onStartShouldSetResponder","onResponderEnd","isModal","modalOverlay","centered","centeredOverlay","zIndex","elevationIndex","elevation","modalStyle","e","stopPropagation","content","subscribe","expandedRatio","bottomsheetexpandedheightratio","expandedDefaultHeight","effectiveExpandedRatio","minimumExpandedHeight","showonrender","refresh","forceUpdate","showModal","options","exists","find","list","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","hasButtonNavigation","wrapWithSafeArea","flex","visible","transparent","animationType","onRequestClose","statusBarTranslucent","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 { Gesture, GestureDetector, GestureHandlerRootView, 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, SafeAreaView } from 'react-native-safe-area-context';\n\n\n// Web-only: Runs all bottom sheet animations on the JS thread (sets useNativeDriver to false)\n// Prevents errors on web where native driver animations are not supported\n// Web - Animated api is used from animation\nif (Platform.OS === 'web') {\n try {\n const RN: any = require('react-native');\n const RNAnimated: any = RN && RN.Animated;\n if (RNAnimated && !RNAnimated.__wmPatchedNoNativeDriver) {\n const wrap = (name: string) => {\n const original = RNAnimated[name];\n if (typeof original === 'function') {\n RNAnimated[name] = (value: any, config: any) => {\n const patched = { ...(config || {}), useNativeDriver: false };\n return original(value, patched);\n };\n }\n };\n wrap('timing');\n wrap('spring');\n wrap('decay');\n RNAnimated.__wmPatchedNoNativeDriver = true;\n }\n } catch (_) {\n // noop\n }\n}\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 scrollRef,\n containerScrollRef,\n configurePanGesture\n\n}: any) => {\n\n\n // Simple RNGH GestureDetector attached to the same view as the PanResponder (panHandlers).\n // No thresholds/validation: logs translationY directly during pan.\n const panGesture = React.useMemo(() => {\n // Create base Pan gesture\n const pan = Gesture.Pan().runOnJS(true);\n\n // Add external gestures for ScrollViews (container widget scrollview)\n if (scrollRef && containerScrollRef) {\n pan.simultaneousWithExternalGesture(\n scrollRef as any,\n containerScrollRef as any\n );\n } else if (scrollRef) {\n pan.simultaneousWithExternalGesture(scrollRef as any);\n } else if (containerScrollRef) {\n pan.simultaneousWithExternalGesture(containerScrollRef as any);\n }\n\n // Apply custom logic from parent BottomSheet class\n if (configurePanGesture) {\n configurePanGesture(pan);\n }\n\n return pan;\n }, [scrollRef, containerScrollRef, configurePanGesture]);\n\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 <GestureDetector gesture={panGesture}>\n {children(contentStyle)}\n </GestureDetector>\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 //container widget scrollview ref and y offset value\n private containerscrollViewRef: any = null\n private containerscrollYoffset: number = 0\n\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 //container srollview ref\n this.subscribe('containerScrollViewReady', (ref: React.RefObject<any>) => {\n if (ref && ref.current) {\n this.containerscrollViewRef = ref\n }\n });\n //container scrollview y offset value\n this.subscribe('scroll', (e: any) => {\n const offsetY = e.nativeEvent.contentOffset.y;\n this.containerscrollYoffset = offsetY\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 //reseting bottom sheet scrollview offset value to fix scrollview automatic scroll issue while collpsing the bottom sheet\n setTimeout(() => {\n if (this.state.scrollViewRef?.current) {\n this.state.scrollViewRef.current.scrollTo({ x: 0, y: 0, animated: false });\n this.updateState({ scrollOffset: 0 } as WmBottomsheetState);\n }\n }, this.animationDuration);\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\n private configurePanGesture = (pan: any) => {\n pan\n .enabled(true)\n .onUpdate((event: any) => { // ← Add : any\n const gestureState = {\n dy: event.translationY,\n vy: event.velocityY,\n moveX: event.x,\n moveY: event.y,\n vx: event.velocityX\n };\n if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared && this.state.scrollOffset <= 0 && this.containerscrollYoffset <= 0) {\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 && this.props.disablescrollonrest) {\n // Only trigger expand once with threshold of -50px upward drag\n this.isDragHandleExpanding = true;\n this.expandBottomSheet();\n }\n // ... rest of logic\n })\n .onEnd((event: any) => { // ← Add : any\n const gestureState = {\n dy: event.translationY,\n vy: event.velocityY,\n moveX: event.x,\n moveY: event.y,\n vx: event.velocityX\n };\n if (gestureState.dy > 0 && this.state.scrollOffset <= 0 && this.containerscrollYoffset <= 0) {\n this.handleSwipeGesture(gestureState as any);\n }\n })\n .onFinalize((event: any, success: boolean) => { // ← Add types\n if (!success) {\n this.openSheet()\n }\n });\n\n return pan;\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 Math.abs(gestureState.dy) > 2;\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 scrollOffset: 0\n } as WmBottomsheetState);\n this.containerscrollYoffset = 0\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 const bottomInset = insets?.bottom || 0;\n // Update the instance variable outside of render cycle\n if (this.topInset !== topInset) {\n requestAnimationFrame(() => {\n this.topInset = topInset;\n });\n }\n const absoluteStyle = {\n top: 0,\n left: 0,\n right: 0,\n }\n const rootStyle = props.modal\n ? [this.styles.root, absoluteStyle]\n : this.styles.root;\n return (\n <View style={rootStyle} {...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 scrollRef={this.state.scrollViewRef}\n containerScrollRef={this.containerscrollViewRef}\n configurePanGesture={this.configurePanGesture}\n >\n {(contentStyle: any) => (\n props.issticky ? (\n props.enablemodalsupport ? (\n <ModalProvider value={this.sheetModalService}>\n <Animated.View style={[contentStyle, this.styles.sheetContentContainer, { overflow: 'hidden' }]}>\n {props.children}\n </Animated.View>\n </ModalProvider>\n ) : (\n <Animated.View style={[contentStyle, this.styles.sheetContentContainer, { overflow: 'hidden' }]}>\n {props.children}\n </Animated.View>\n )\n ) : (\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 )}\n </AnimatedBottomsheetContent>\n {/*Adding SafeAreaView to ensure the bottom sheet is rendered above the Android button navigation bar when modal prop is false */}\n {(Platform.OS === 'android' && !this.props.modal && bottomInset > 40) && <SafeAreaView edges={['bottom']} />}\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 return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n // Use SafeAreaView on Android with button navigation to render the bottom sheet above the nav bar (when modal props is true)\n // Button navigation is identified when bottom inset >= 40 \n const hasButtonNavigation = Platform.OS === 'android' && (insets?.bottom || 0) >= 40;\n\n const wrapWithSafeArea = (children: React.ReactNode) => {\n if (hasButtonNavigation) {\n return <SafeAreaView style={{ flex: 1 }}>{children}</SafeAreaView>;\n }\n return children;\n };\n\n if (props.modal) {\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 <GestureHandlerRootView style={{ flex: 1 }}>\n {wrapWithSafeArea(\n <KeyboardAvoidingView\n style={{ flex: 1 }}\n behavior={'padding'}\n keyboardVerticalOffset={Platform.OS === 'ios' ? 0 : undefined}\n >\n {this.renderContent(props)}\n </KeyboardAvoidingView>\n )}\n </GestureHandlerRootView>\n </Modal>\n );\n } else {\n return this.renderContent(props);\n }\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,IAAI,EAAEC,YAAY,EAAEC,UAAU,EAAEC,wBAAwB,EAAEC,QAAQ,EAA4BC,SAAS,EAAEC,WAAW,EAAkBC,oBAAoB,EAAEC,QAAQ,EAAuBC,KAAK,EAA2BC,SAAS,QAAQ,cAAc;AACnQ,SAASC,OAAO,EAAEC,eAAe,EAAEC,sBAAsB,EAAEC,UAAU,QAAQ,8BAA8B;AAC3G,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,UAAU,EACVC,OAAO,EACPC,MAAM,EAENC,WAAW,EACXC,eAAe,QACV,yBAAyB;AAChC,OAAOC,kBAAkB,MAAM,qBAAqB;AACpD,SAASC,aAAa,QAA6B,sBAAsB;AACzE,SAASC,cAAc,QAAQ,gCAAgC;AAC/D,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,aAAa,QAAoC,8CAA8C;AACxG,SAASC,qBAAqB,EAAEC,YAAY,QAAQ,gCAAgC;;AAGpF;AACA;AACA;AACA,IAAIzB,QAAQ,CAAC0B,EAAE,KAAK,KAAK,EAAE;EACzB,IAAI;IACF,MAAMC,EAAO,GAAGC,OAAO,CAAC,cAAc,CAAC;IACvC,MAAMC,UAAe,GAAGF,EAAE,IAAIA,EAAE,CAAChB,QAAQ;IACzC,IAAIkB,UAAU,IAAI,CAACA,UAAU,CAACC,yBAAyB,EAAE;MACvD,MAAMC,IAAI,GAAIC,IAAY,IAAK;QAC7B,MAAMC,QAAQ,GAAGJ,UAAU,CAACG,IAAI,CAAC;QACjC,IAAI,OAAOC,QAAQ,KAAK,UAAU,EAAE;UAClCJ,UAAU,CAACG,IAAI,CAAC,GAAG,CAACE,KAAU,EAAEC,MAAW,KAAK;YAC9C,MAAMC,OAAO,GAAG;cAAE,IAAID,MAAM,IAAI,CAAC,CAAC,CAAC;cAAEE,eAAe,EAAE;YAAM,CAAC;YAC7D,OAAOJ,QAAQ,CAACC,KAAK,EAAEE,OAAO,CAAC;UACjC,CAAC;QACH;MACF,CAAC;MACDL,IAAI,CAAC,QAAQ,CAAC;MACdA,IAAI,CAAC,QAAQ,CAAC;MACdA,IAAI,CAAC,OAAO,CAAC;MACbF,UAAU,CAACC,yBAAyB,GAAG,IAAI;IAC7C;EACF,CAAC,CAAC,OAAOQ,CAAC,EAAE;IACV;EAAA;AAEJ;AAEA,MAAM;EAAEC,MAAM,EAAEC;AAAc,CAAC,GAAG1C,UAAU,CAAC2C,GAAG,CAAC,QAAQ,CAAC;AAC1D,OAAO,MAAMC,kBAAkB,SAAS/C,kBAAkB,CAAqB;EAAAgD,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,qCAC7DpD,SAAS,CAAa,CAAC;IAAAoD,eAAA,sBACzB,KAAK;IAAAA,eAAA,uBACJ,CAAC;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA,+BACK,KAAK;IAAAA,eAAA,yBACX,CAAC;IAAAA,eAAA,4BACkB,EAAE;IAAAA,eAAA,wBACtB,CAAC;EAAA;AACnB;;AAEA;AACA,MAAMC,0BAA0B,GAAGA,CAAC;EAClCC,UAAU;EACVC,eAAe;EACfC,WAAW;EACXC,aAAa;EACbC,MAAM;EACNC,KAAK;EACLC,QAAQ;EACRC,WAAW;EACXC,qBAAqB;EACrBC,eAAe;EACfC,iBAAiB;EACjBC,YAAY;EACZC,gBAAgB;EAChBC,SAAS;EACTC,kBAAkB;EAClBC;AAEG,CAAC,KAAK;EAGT;EACA;EACA,MAAMC,UAAU,GAAGvE,KAAK,CAACwE,OAAO,CAAC,MAAM;IACrC;IACA,MAAMC,GAAG,GAAG1D,OAAO,CAAC2D,GAAG,CAAC,CAAC,CAACpD,OAAO,CAAC,IAAI,CAAC;;IAEvC;IACA,IAAI8C,SAAS,IAAIC,kBAAkB,EAAE;MACnCI,GAAG,CAACE,+BAA+B,CACjCP,SAAS,EACTC,kBACF,CAAC;IACH,CAAC,MAAM,IAAID,SAAS,EAAE;MACpBK,GAAG,CAACE,+BAA+B,CAACP,SAAgB,CAAC;IACvD,CAAC,MAAM,IAAIC,kBAAkB,EAAE;MAC7BI,GAAG,CAACE,+BAA+B,CAACN,kBAAyB,CAAC;IAChE;;IAEA;IACA,IAAIC,mBAAmB,EAAE;MACvBA,mBAAmB,CAACG,GAAG,CAAC;IAC1B;IAEA,OAAOA,GAAG;EACZ,CAAC,EAAE,CAACL,SAAS,EAAEC,kBAAkB,EAAEC,mBAAmB,CAAC,CAAC;EAExD,MAAMM,qBAAqB,GAAGxD,gBAAgB,CAAC,OAAO;IACpDyD,OAAO,EAAErB,eAAe,CAACd;EAC3B,CAAC,CAAC,CAAC;EAEH,MAAMoC,sBAAsB,GAAG1D,gBAAgB,CAAC,OAAO;IACrD2B,MAAM,EAAEU,WAAW,CAACf,KAAK;IACzBqC,SAAS,EAAE,CAAC;MAAExB,UAAU,EAAEA,UAAU,CAACb;IAAM,CAAC;EAC9C,CAAC,CAAC,CAAC;EAEH,MAAMsC,YAAY,GAAG5D,gBAAgB,CAAC,MAAM;IAC1C,IAAI+C,gBAAgB,IAAIT,aAAa,CAAChB,KAAK,GAAG,CAAC,EAAE;MAC/C,OAAO;QACLuC,aAAa,EAAEvB,aAAa,CAAChB;MAC/B,CAAC;IACH;IACA,OAAO,CAAC,CAAC;EACX,CAAC,CAAC;EAEF,oBACE1C,KAAA,CAAAkF,aAAA,CAAAlF,KAAA,CAAAmF,QAAA,qBACEnF,KAAA,CAAAkF,aAAA,CAAC3E,wBAAwB;IAAC6E,OAAO,EAAEpB;EAAgB,gBACjDhE,KAAA,CAAAkF,aAAA,CAAC/D,QAAQ,CAACf,IAAI,EAAAiF,QAAA;IACZC,KAAK,EAAE,CAAC3B,MAAM,CAAC4B,QAAQ,EAAEX,qBAAqB;EAAE,GAC5CV,YAAY,CAAC,UAAU,CAAC,EACxBpC,qBAAqB,CAACD,uBAAuB,CAAC2D,WAAW,EAAE5B,KAAK,CAAC,CACtE,CACuB,CAAC,eAE3B5D,KAAA,CAAAkF,aAAA,CAAC/D,QAAQ,CAACf,IAAI;IACZkF,KAAK,EAAE,CAAC3B,MAAM,CAAC8B,SAAS,EAAEX,sBAAsB;IAClD;EAAA,gBAEE9E,KAAA,CAAAkF,aAAA,CAAC9E,IAAI,EAAAiF,QAAA;IAACC,KAAK,EAAE3B,MAAM,CAAC+B;EAAoB,GAAK3B,qBAAqB,gBAChE/D,KAAA,CAAAkF,aAAA,CAACpE,SAAS;IAACsE,OAAO,EAAEnB;EAAkB,gBACpCjE,KAAA,CAAAkF,aAAA,CAAC9E,IAAI,EAAAiF,QAAA;IAACC,KAAK,EAAE3B,MAAM,CAACgC;EAAe,GAAKzB,YAAY,CAAC,YAAY,CAAC,CAAG,CAC5D,CACP,CAAC,eACPlE,KAAA,CAAAkF,aAAA,CAAClE,eAAe;IAAC4E,OAAO,EAAErB;EAAW,GAClCV,QAAQ,CAACmB,YAAY,CACP,CACJ,CACf,CAAC;AAEP,CAAC;AAED,eAAe,MAAMa,aAAa,SAAS3F,aAAa,CAA8D;EAgCpH;EACQ4F,oBAAoBA,CAACC,QAAgB,EAAEC,QAAgB,EAAU;IACvE;IACA;IACA,MAAMC,cAAc,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAG,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGF,IAAI,CAACG,GAAG,CAACL,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,MAAMM,kBAAkB,GAAGJ,IAAI,CAACG,GAAG,CAACN,QAAQ,CAAC,GAAGE,cAAc;IAC9D,OAAOC,IAAI,CAACE,GAAG,CAAC,GAAG,EAAEF,IAAI,CAACC,GAAG,CAAC,GAAG,EAAEG,kBAAkB,CAAC,CAAC;EACzD;EAEQC,oBAAoBA,CAACC,sBAA8B,EAAU;IACnE;IACA,MAAMC,cAAc,GAAGD,sBAAsB,IAAI,IAAI,CAACE,aAAa;IACnE,IAAI,CAACC,cAAc,GAAGT,IAAI,CAACC,GAAG,CAC5B,IAAI,CAACS,aAAa,EAClBV,IAAI,CAACE,GAAG,CAACK,cAAc,EAAE,IAAI,CAACI,SAAS,CACzC,CAAC;IAED,MAAMC,YAAY,GAAGxG,UAAU,CAAC2C,GAAG,CAAC,QAAQ,CAAC,CAACF,MAAM;IACpD,IAAIgE,gBAAgB,GAAGD,YAAY,GAAG,IAAI,CAACH,cAAc;IAEzD,IAAInG,QAAQ,CAAC0B,EAAE,KAAK,KAAK,EAAE;MACzB;MACA,IAAI,IAAI,CAACyE,cAAc,IAAI,GAAG,EAAE;QAC9BI,gBAAgB,IAAI,IAAI,CAACC,eAAe;MAC1C;IACF,CAAC,MACI,IAAIxG,QAAQ,CAAC0B,EAAE,KAAK,SAAS,EAAE;MAClC;MACA,IAAI,IAAI,CAACyE,cAAc,IAAI,GAAG,EAAE;QAC9BI,gBAAgB,IAAI,IAAI,CAACE,eAAe;MAC1C;IACF;IACA,OAAOF,gBAAgB;EACzB;EAEAG,IAAIA,CAAA,EAAG;IACL,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,oBAAoB,EAClC,IAAI,CAACC,WAAW,CAAC;MACfD,oBAAoB,EAAE;IACxB,CAAuB,CAAC;IAC1B,IAAI,CAACE,SAAS,CAAC,CAAC;EAClB;EAEAC,KAAKA,CAAA,EAAG;IACN,IAAI,IAAI,CAACJ,KAAK,CAACC,oBAAoB,EAAE;MACnC,IAAI,CAACI,UAAU,CAAC,CAAC;IACnB;EACF;EAwEArE,WAAWA,CAACS,MAAyB,EAAE;IACrC,KAAK,CAACA,MAAK,EAAEjC,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,EAAE,IAAIwB,kBAAkB,CAAC,CAAC,CAAC;IAACG,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBArJlD,GAAG;IAAAA,eAAA,gCACK,GAAG;IAAAA,eAAA,wBACX,IAAI;IAAAA,eAAA,gCACI,GAAG;IAAAA,eAAA,oBACf,GAAG;IAAAA,eAAA,4BACK,GAAG;IAAAA,eAAA,oCACK7C,QAAQ,CAAC0B,EAAE,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG;IAAAmB,eAAA,0BAC3C5C,SAAS,CAACgH,aAAa,IAAI,CAAC;IAAApE,eAAA,0BAC5B,EAAE;IAAAA,eAAA,yBACH,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kCAGgC,IAAI;IAAAA,eAAA,mBAC3C,CAAC;IAAAA,eAAA,4BACQ,CAAC;IAAAA,eAAA,iCACK,KAAK;IAAAA,eAAA;IAAAA,eAAA,gCAEN,KAAK;IAC9C;IAAAA,eAAA,iCACsC,IAAI;IAAAA,eAAA,iCACD,CAAC;IAG1C;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,0BAuDkB,MAAM;MACtB,OAAO,IAAI,CAAC8D,KAAK,CAACO,UAAU;IAC9B,CAAC;IAAArE,eAAA,4BAEmB,MAAM;MACxB,MAAMsE,YAAY,GAAGzB,IAAI,CAACE,GAAG,CAAC,IAAI,CAACwB,cAAc,EAAE5E,aAAa,CAAC;MACjE,MAAM6E,QAAQ,GAAGA,CAAA,KAAM;QACrB,IAAI,CAACR,WAAW,CAAC;UACfK,UAAU,EAAE,IAAI;UAChBhE,aAAa,EAAE;QACjB,CAAuB,CAAC;QACxB,IAAI,CAACoE,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;MACpD,CAAC;;MAED;MACA,IAAI,CAACC,mBAAmB,CAACrF,KAAK,GAAG,CAAC;MAElC,IAAI,IAAI,CAACkB,KAAK,CAACO,gBAAgB,EAAE;QAC/B;QACA,IAAI,CAACV,WAAW,CAACf,KAAK,GAAGrB,UAAU,CAACsG,YAAY,EAAE;UAChDK,QAAQ,EAAE,IAAI,CAACC,iBAAiB;UAChCC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;QAChC,CAAC,CAAC;QACF,IAAI,CAAC7E,UAAU,CAACb,KAAK,GAAGrB,UAAU,CAAC,CAAC,EAAE;UACpC2G,QAAQ,EAAE,IAAI,CAACC,iBAAiB;UAChCC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;QAChC,CAAC,EAAGC,QAAQ,IAAK;UACf,IAAIA,QAAQ,EAAE;YACZ/G,OAAO,CAACuG,QAAQ,CAAC,CAAC,CAAC;UACrB;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL;QACA,IAAI,CAACpE,WAAW,CAACf,KAAK,GAAGrB,UAAU,CAACsG,YAAY,EAAE;UAChDK,QAAQ,EAAE,IAAI,CAACC,iBAAiB;UAChCC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;QAChC,CAAC,EAAGC,QAAQ,IAAK;UACf,IAAIA,QAAQ,EAAE;YACZ/G,OAAO,CAACuG,QAAQ,CAAC,CAAC,CAAC;UACrB;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAAAxE,eAAA,8BAEqB,MAAM;MAC1B,MAAMwE,QAAQ,GAAGA,CAAA,KAAM;QACrB,IAAI,CAACR,WAAW,CAAC;UACfK,UAAU,EAAE,KAAK;UACjBhE,aAAa,EAAE;QACjB,CAAuB,CAAC;QACxB,IAAI,CAACoE,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;MACtD,CAAC;;MAED;MACA,IAAI,CAACC,mBAAmB,CAACrF,KAAK,GAAG,CAAC;MAElC,IAAI,CAACa,UAAU,CAACb,KAAK,GAAGrB,UAAU,CAAC,CAAC,EAAE;QACpC2G,QAAQ,EAAE,IAAI,CAACC,iBAAiB;QAChCC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;MAChC,CAAC,CAAC;MACF,IAAI,CAAC3E,WAAW,CAACf,KAAK,GAAGrB,UAAU,CAAC,IAAI,CAAC0F,gBAAgB,EAAE;QACzDiB,QAAQ,EAAE,IAAI,CAACC,iBAAiB;QAChCC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;MAChC,CAAC,EAAGC,QAAQ,IAAK;QACf,IAAIA,QAAQ,EAAE;UACZ/G,OAAO,CAACuG,QAAQ,CAAC,CAAC,CAAC;QACrB;MACF,CAAC,CAAC;IACJ,CAAC;IAAAxE,eAAA,0BAgHyB,MAAM;MAC9B;MACA,IAAI,IAAI,CAAC8D,KAAK,CAACmB,iBAAiB,IAAI,IAAI,CAACnB,KAAK,CAACmB,iBAAiB,CAACC,MAAM,GAAG,CAAC,EAAE;QAC3E,MAAMC,GAAG,GAAG,IAAI,CAACrB,KAAK,CAACmB,iBAAiB,CAAC,IAAI,CAACnB,KAAK,CAACmB,iBAAiB,CAACC,MAAM,GAAG,CAAC,CAAC;QACjF,IAAI,CAACE,iBAAiB,CAACC,SAAS,CAACF,GAAG,CAAC;QACrC,OAAO,IAAI;MACb;MACA,IAAI,IAAI,CAACrB,KAAK,CAACC,oBAAoB,EAAE;QACnC,IAAI,CAAC,IAAI,CAACxD,KAAK,CAAC+E,qBAAqB,IAAI,IAAI,CAAC/E,KAAK,CAACgF,SAAS,KAAK,UAAU,EAAE;UAC5E,IAAI,CAACpB,UAAU,CAAC,CAAC;QACnB;QACA,OAAO,IAAI,CAAC,CAAC;MACf;MACA,OAAO,KAAK;IACd,CAAC;IAAAnE,eAAA,yBAEyBwF,KAAU,IAAK;MAAA,IAAAC,qBAAA;MACvC,IAAIC,cAAc,GAAG,EAAAD,qBAAA,GAAAD,KAAK,CAACG,cAAc,cAAAF,qBAAA,uBAApBA,qBAAA,CAAsB/F,MAAM,KAAI,CAAC;MACtD;MACA,IAAI,CAAC,IAAI,CAACkG,sBAAsB,EAAE;QAAA,IAAAC,sBAAA;QAChC,IAAI,CAACC,iBAAiB,GAAG,EAAAD,sBAAA,GAAAL,KAAK,CAACG,cAAc,cAAAE,sBAAA,uBAApBA,sBAAA,CAAsBnG,MAAM,IAAG,EAAE;QAC1D,IAAI,CAACkG,sBAAsB,GAAG,IAAI;MACpC;MACA;MACA,MAAMG,eAAe,GAAGpG,aAAa,IAAIxC,QAAQ,CAAC0B,EAAE,IAAI,KAAK,GAAG,IAAI,CAACiH,iBAAiB,GAAGJ,cAAc,CAAC;MACxG;MACA;MACA,MAAMM,WAAW,GAAG,CAAC7I,QAAQ,CAAC0B,EAAE,KAAK,KAAK,GAAG,IAAI,CAACoH,QAAQ,GAAG,IAAI,CAACrC,eAAe,IAAI,EAAE;MACvF,MAAMsC,cAAc,GAAGH,eAAe,GAAGC,WAAW;MAEpD,IAAI,IAAI,CAAC5F,WAAW,IAAIjD,QAAQ,CAAC0B,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC0B,KAAK,CAAC4F,KAAK,EAAE;QACpE;QACA,IAAI,CAAC/F,WAAW,CAACf,KAAK,GAAGrB,UAAU,CAACkI,cAAc,EAAE;UAClDvB,QAAQ,EAAE,IAAI,CAACyB,yBAAyB;UACxCvB,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;QAChC,CAAC,CAAC;MACJ;MAEA,IAAI,CAACf,WAAW,CAAC;QACf0B,cAAc,EAAEA;MAClB,CAAuB,CAAC;IAC1B,CAAC;IAAA1F,eAAA,yBAEwB,MAAM;MAC7B,IAAI,IAAI,CAACI,WAAW,IAAIjD,QAAQ,CAAC0B,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC0B,KAAK,CAAC4F,KAAK,EAAE;QACpE;QACA,IAAI,CAAC/F,WAAW,CAACf,KAAK,GAAGrB,UAAU,CACjC,IAAI,CAAC8F,KAAK,CAACO,UAAU,GAAG,IAAI,CAACE,cAAc,GAAG,IAAI,CAACb,gBAAgB,EACnE;UACEiB,QAAQ,EAAE,IAAI,CAACyB,yBAAyB;UACxCvB,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;QAChC,CACF,CAAC;MACH;MAEA,IAAI,CAACf,WAAW,CAAC;QACf0B,cAAc,EAAE;MAClB,CAAuB,CAAC;IAC1B,CAAC;IAAA1F,eAAA,6BAWqBqG,YAAsC,IAAK;MAE/D;MACA,IAAI,CAAC,IAAI,CAAC9F,KAAK,CAACO,gBAAgB,EAAE;QAChC,IAAI,CAACkD,WAAW,CAAC;UACf3D,aAAa,EAAE;QACjB,CAAuB,CAAC;QACxB,IAAI,IAAI,CAACqE,mBAAmB,EAAE;UAC5B,IAAI,CAACA,mBAAmB,CAACrF,KAAK,GAAG,CAAC;QACpC;MACF;MAEA,IAAI,IAAI,CAACkB,KAAK,CAACO,gBAAgB,IAAIuF,YAAY,CAACC,EAAE,GAAG,CAAC,EAAE;QAAA,IAAAC,gBAAA;QACtD,MAAMC,iBAAiB,GAAG,EAAAD,gBAAA,OAAI,CAACrG,UAAU,cAAAqG,gBAAA,uBAAfA,gBAAA,CAAiBlH,KAAK,KAAI,CAAC;QAErD,IAAIgH,YAAY,CAACI,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAClG,KAAK,CAAC+E,qBAAqB,EAAE;UAC9D,IAAI,CAACnB,UAAU,CAAC,CAAC;UACjB;QACF;QAEA,IAAI,IAAI,CAACjE,UAAU,IAAI,IAAI,CAACwE,mBAAmB,EAAE;UAC/C,IAAI,CAACxE,UAAU,CAACb,KAAK,GAAGmH,iBAAiB;UACzC,IAAI,CAAC9B,mBAAmB,CAACrF,KAAK,GAAGmH,iBAAiB;QACpD;QAEA,IAAI,CAACxC,WAAW,CAAC;UACfK,UAAU,EAAE,KAAK;UACjBhE,aAAa,EAAEmG;QACjB,CAAuB,CAAC;QACxB;MACF;MAEA,IAAIH,YAAY,CAACC,EAAE,GAAG,CAAC,EAAE;QACvB,IAAI,IAAI,CAACxC,KAAK,CAACO,UAAU,IAAI,IAAI,CAAC9D,KAAK,CAAC+E,qBAAqB,EAAE;UAC7D,IAAIe,YAAY,CAACC,EAAE,GAAG,IAAI,CAAC/B,cAAc,GAAG,CAAC,IAAI,IAAI,CAAChE,KAAK,CAAC+E,qBAAqB,EAAE;YAAA,IAAAoB,iBAAA;YACjF;YACAC,UAAU,CAAC,MAAM;cAAA,IAAAC,qBAAA;cACf,KAAAA,qBAAA,GAAI,IAAI,CAAC9C,KAAK,CAAC+C,aAAa,cAAAD,qBAAA,eAAxBA,qBAAA,CAA0BE,OAAO,EAAE;gBACrC,IAAI,CAAChD,KAAK,CAAC+C,aAAa,CAACC,OAAO,CAACC,QAAQ,CAAC;kBAAEC,CAAC,EAAE,CAAC;kBAAEC,CAAC,EAAE,CAAC;kBAAEC,QAAQ,EAAE;gBAAM,CAAC,CAAC;gBAC1E,IAAI,CAAClD,WAAW,CAAC;kBAAEmD,YAAY,EAAE;gBAAE,CAAuB,CAAC;cAC7D;YACF,CAAC,EAAE,IAAI,CAACvC,iBAAiB,CAAC;YAC1B,IAAIwC,kBAAkB,GAAG,IAAI,CAAC7G,KAAK,CAAC8G,wBAAwB,IAAI,GAAG;YACnE,MAAM/C,YAAY,GAAG,IAAI,CAAC/D,KAAK,CAAC+E,qBAAqB,GAAG8B,kBAAkB,GAAGzH,aAAa,GAAG,IAAI,CAAC+D,gBAAgB;YAClH,MAAMU,aAAa,GAAG,EAAAsC,iBAAA,OAAI,CAACtG,WAAW,cAAAsG,iBAAA,uBAAhBA,iBAAA,CAAkBrH,KAAK,KAAI,IAAI,CAACkF,cAAc;YACpE,MAAM7B,QAAQ,GAAGG,IAAI,CAACG,GAAG,CAACoB,aAAa,GAAGE,YAAY,CAAC;YACvD,MAAMK,QAAQ,GAAG,IAAI,CAAClC,oBAAoB,CAACC,QAAQ,EAAE2D,YAAY,CAACI,EAAE,CAAC;YAErE,MAAMjC,QAAQ,GAAGA,CAAA,KAAM;cACrB,IAAI,CAACR,WAAW,CAAC;gBACfK,UAAU,EAAE;cACd,CAAuB,CAAC;cACxB,IAAI,CAACI,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,IAAI,CAACvE,UAAU,IAAI,IAAI,CAACE,WAAW,EAAE;cACvC,IAAI,CAACF,UAAU,CAACb,KAAK,GAAGrB,UAAU,CAAC,CAAC,EAAE;gBACpC2G,QAAQ,EAAEA,QAAQ;gBAClBE,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;cAChC,CAAC,CAAC;cACF,IAAI,CAAC3E,WAAW,CAACf,KAAK,GAAGrB,UAAU,CACjCsG,YAAY,EACZ;gBACEK,QAAQ,EAAEA,QAAQ;gBAClBE,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;cAChC,CAAC,EACAC,QAAQ,IAAK;gBACZ,IAAIA,QAAQ,EAAE;kBACZ/G,OAAO,CAACuG,QAAQ,CAAC,CAAC,CAAC;gBACrB;cACF,CACF,CAAC;YACH;UACF,CAAC,MAAM,IAAI,CAAC6B,YAAY,CAACC,EAAE,GAAG,IAAI,CAAC/B,cAAc,GAAG,CAAC,IAAI8B,YAAY,CAACI,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,CAAClG,KAAK,CAAC+E,qBAAqB,EAAE;YACpH,IAAI,CAACnB,UAAU,CAAC,CAAC;UACnB;QACF,CAAC,MAAM;UACL,IAAI,IAAI,CAAC5D,KAAK,CAAC+E,qBAAqB,EAAE;YACpC,IAAI,CAACrB,SAAS,CAAC,CAAC;YAChB;UACF;UACA,IAAI,CAACoC,YAAY,CAACC,EAAE,GAAG,GAAG,IAAID,YAAY,CAACI,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,CAAClG,KAAK,CAAC+E,qBAAqB,EAAE;YACzF,IAAI,CAACnB,UAAU,CAAC,CAAC;UACnB,CAAC,MAAM;YACL,IAAI,CAACF,SAAS,CAAC,CAAC;UAClB;QACF;MACF;IACF,CAAC;IAAAjE,eAAA,8BAE8BoB,GAAQ,IAAK;MAC1CA,GAAG,CACAkG,OAAO,CAAC,IAAI,CAAC,CACbC,QAAQ,CAAE/B,KAAU,IAAK;QAAG;QAC3B,MAAMa,YAAY,GAAG;UACnBC,EAAE,EAAEd,KAAK,CAACgC,YAAY;UACtBf,EAAE,EAAEjB,KAAK,CAACiC,SAAS;UACnBC,KAAK,EAAElC,KAAK,CAACwB,CAAC;UACdW,KAAK,EAAEnC,KAAK,CAACyB,CAAC;UACdW,EAAE,EAAEpC,KAAK,CAACqC;QACZ,CAAC;QACD,IAAIxB,YAAY,CAACC,EAAE,GAAG,CAAC,IAAI,IAAI,CAACpG,UAAU,IAAI,IAAI,CAACwE,mBAAmB,IAAI,IAAI,CAACZ,KAAK,CAACqD,YAAY,IAAI,CAAC,IAAI,IAAI,CAACW,sBAAsB,IAAI,CAAC,EAAE;UAC1I,MAAMC,aAAa,GAAGlF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC4B,mBAAmB,CAACrF,KAAK,GAAGgH,YAAY,CAACC,EAAE,CAAC;UACnF,IAAI,CAACpG,UAAU,CAACb,KAAK,GAAG0I,aAAa;UACrC;UACA,IAAI,CAACC,qBAAqB,GAAG,KAAK;QACpC,CAAC,MACI,IAAI3B,YAAY,CAACC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC/F,KAAK,CAAC0H,MAAM,IAAI,IAAI,CAAC1H,KAAK,CAAC4C,sBAAsB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC6E,qBAAqB,IAAI,CAAC,IAAI,CAAClE,KAAK,CAACO,UAAU,IAAI,IAAI,CAAC9D,KAAK,CAAC2H,mBAAmB,EAAE;UACvL;UACA,IAAI,CAACF,qBAAqB,GAAG,IAAI;UACjC,IAAI,CAACG,iBAAiB,CAAC,CAAC;QAC1B;QACA;MACF,CAAC,CAAC,CACDC,KAAK,CAAE5C,KAAU,IAAK;QAAG;QACxB,MAAMa,YAAY,GAAG;UACnBC,EAAE,EAAEd,KAAK,CAACgC,YAAY;UACtBf,EAAE,EAAEjB,KAAK,CAACiC,SAAS;UACnBC,KAAK,EAAElC,KAAK,CAACwB,CAAC;UACdW,KAAK,EAAEnC,KAAK,CAACyB,CAAC;UACdW,EAAE,EAAEpC,KAAK,CAACqC;QACZ,CAAC;QACD,IAAIxB,YAAY,CAACC,EAAE,GAAG,CAAC,IAAI,IAAI,CAACxC,KAAK,CAACqD,YAAY,IAAI,CAAC,IAAI,IAAI,CAACW,sBAAsB,IAAI,CAAC,EAAE;UAC3F,IAAI,CAACO,kBAAkB,CAAChC,YAAmB,CAAC;QAC9C;MACF,CAAC,CAAC,CACDiC,UAAU,CAAC,CAAC9C,KAAU,EAAE+C,OAAgB,KAAK;QAAG;QAC/C,IAAI,CAACA,OAAO,EAAE;UACZ,IAAI,CAACtE,SAAS,CAAC,CAAC;QAClB;MACF,CAAC,CAAC;MAEJ,OAAO7C,GAAG;IACZ,CAAC;IACD;IAAApB,eAAA,uBACehD,YAAY,CAACwL,MAAM,CAAC;MACjCC,4BAA4B,EAAEA,CAAChJ,CAAC,EAAE4G,YAAY,KAAK;QACjD,IAAI,IAAI,CAAC9F,KAAK,CAAC2H,mBAAmB,IAAI,CAAC,IAAI,CAACpE,KAAK,CAACO,UAAU,EAAE;UAC5D,OAAO,IAAI;QACb;QACA;QACA,OAAOgC,YAAY,CAACC,EAAE,GAAG,CAAC,IAAI,IAAI,CAACxC,KAAK,CAACqD,YAAY,IAAI,CAAC;MAE5D,CAAC;MAEDuB,2BAA2B,EAAEA,CAACjJ,CAAC,EAAE4G,YAAY,KAAK;QAChD,IAAI,IAAI,CAAC9F,KAAK,CAAC2H,mBAAmB,IAAI,CAAC,IAAI,CAACpE,KAAK,CAACO,UAAU,EAAE;UAC5D,OAAOxB,IAAI,CAACG,GAAG,CAACqD,YAAY,CAACC,EAAE,CAAC,GAAG,CAAC;QACtC;QACA;QACA,OAAOD,YAAY,CAACC,EAAE,GAAG,CAAC,IAAI,IAAI,CAACxC,KAAK,CAACqD,YAAY,IAAI,CAAC;MAE5D,CAAC;MAEDwB,mBAAmB,EAAEA,CAAA,KAAM;QACzB;QACA,IAAI,IAAI,CAACzI,UAAU,EAAE;UACnB9B,eAAe,CAAC,IAAI,CAAC8B,UAAU,CAAC;QAClC;MACF,CAAC;MAED0I,kBAAkB,EAAEA,CAACnJ,CAAC,EAAE4G,YAAY,KAAK;QAEvC,IAAIA,YAAY,CAACC,EAAE,GAAG,CAAC,IAAI,IAAI,CAACpG,UAAU,IAAI,IAAI,CAACwE,mBAAmB,EAAE;UACtE,MAAMqD,aAAa,GAAGlF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC4B,mBAAmB,CAACrF,KAAK,GAAGgH,YAAY,CAACC,EAAE,CAAC;UACnF,IAAI,CAACpG,UAAU,CAACb,KAAK,GAAG0I,aAAa;UACrC;UACA,IAAI,CAACC,qBAAqB,GAAG,KAAK;QACpC,CAAC,MACI,IAAI3B,YAAY,CAACC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC/F,KAAK,CAAC0H,MAAM,IAAI,IAAI,CAAC1H,KAAK,CAAC4C,sBAAsB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC6E,qBAAqB,IAAI,CAAC,IAAI,CAAClE,KAAK,CAACO,UAAU,EAAE;UACrJ;UACA,IAAI,CAAC2D,qBAAqB,GAAG,IAAI;UACjC,IAAI,CAACG,iBAAiB,CAAC,CAAC;QAC1B;MACF,CAAC;MAEDU,qBAAqB,EAAEA,CAACpJ,CAAC,EAAE4G,YAAY,KAAK;QAC1C,IAAI,CAACgC,kBAAkB,CAAChC,YAAY,CAAC;MACvC,CAAC;MAEDyC,uBAAuB,EAAEA,CAAA,KAAM;QAC7B,IAAI,CAAC7E,SAAS,CAAC,CAAC;MAClB;IACF,CAAC,CAAC;IAEF;IAAAjE,eAAA,iCACyBhD,YAAY,CAACwL,MAAM,CAAC;MAC3CC,4BAA4B,EAAEA,CAAA,KAAM,IAAI;MACxCC,2BAA2B,EAAEA,CAAA,KAAM,IAAI;MAEvCC,mBAAmB,EAAEA,CAAA,KAAM;QACzB;QACA,IAAI,IAAI,CAACzI,UAAU,EAAE;UACnB9B,eAAe,CAAC,IAAI,CAAC8B,UAAU,CAAC;QAClC;QACA;QACA,IAAI,CAAC8H,qBAAqB,GAAG,KAAK;MACpC,CAAC;MAEDY,kBAAkB,EAAEA,CAACnJ,CAAC,EAAE4G,YAAY,KAAK;QACvC,IAAIA,YAAY,CAACC,EAAE,GAAG,CAAC,IAAI,IAAI,CAACpG,UAAU,IAAI,IAAI,CAACwE,mBAAmB,EAAE;UACtE,MAAMqD,aAAa,GAAGlF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC4B,mBAAmB,CAACrF,KAAK,GAAGgH,YAAY,CAACC,EAAE,CAAC;UACnF,IAAI,CAACpG,UAAU,CAACb,KAAK,GAAG0I,aAAa;UACrC;UACA,IAAI,CAACC,qBAAqB,GAAG,KAAK;QACpC,CAAC,MAAM,IAAI3B,YAAY,CAACC,EAAE,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC/F,KAAK,CAAC0H,MAAM,IAAI,IAAI,CAAC1H,KAAK,CAAC4C,sBAAsB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC6E,qBAAqB,IAAI,CAAC,IAAI,CAAClE,KAAK,CAACO,UAAU,EAAE;UACzJ;UACA,IAAI,CAAC2D,qBAAqB,GAAG,IAAI;UACjC,IAAI,CAACG,iBAAiB,CAAC,CAAC;QAC1B;MACF,CAAC;MACDU,qBAAqB,EAAEA,CAACpJ,CAAC,EAAE4G,YAAY,KAAK;QAC1C,IAAI,CAAC2B,qBAAqB,GAAG,KAAK;QAClC,IAAI,CAACK,kBAAkB,CAAChC,YAAY,CAAC;MACvC;IACF,CAAC,CAAC;IAAArG,eAAA,uBAEcwF,KAAU,IAAU;MAClC,IAAI,IAAI,CAAC1B,KAAK,CAAC4B,cAAc,GAAG,CAAC,EAAE,OAAO,IAAI;MAC9C,MAAMqD,OAAO,GAAGvD,KAAK,CAACwD,WAAW,CAACC,aAAa,CAAChC,CAAC;MACjD,IAAI,CAACjD,WAAW,CAAC;QACfkF,WAAW,EAAEH,OAAO,GAAG,CAAC;QACxB5B,YAAY,EAAE4B;MAChB,CAAuB,CAAC;IAC1B,CAAC;IAAA/I,eAAA,oBAEW,MAAM;MAChB,MAAMwE,QAAQ,GAAGA,CAAA,KAAM;QACrB,IAAI,CAACR,WAAW,CAAC;UACf3D,aAAa,EAAE;QACjB,CAAuB,CAAC;QACxB,IAAI,CAACoE,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;MACpD,CAAC;;MAED;MACA,IAAI,IAAI,CAACC,mBAAmB,EAAE;QAC5B,IAAI,CAACA,mBAAmB,CAACrF,KAAK,GAAG,CAAC;MACpC;MAEA,IAAI,IAAI,CAACa,UAAU,IAAI,IAAI,CAACC,eAAe,EAAE;QAC3C,IAAI,CAACD,UAAU,CAACb,KAAK,GAAGrB,UAAU,CAAC,CAAC,EAAE;UACpC2G,QAAQ,EAAE,IAAI,CAACC,iBAAiB;UAChCC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;QAChC,CAAC,EAAGC,QAAQ,IAAK;UACf,IAAIA,QAAQ,EAAE;YACZ/G,OAAO,CAACuG,QAAQ,CAAC,CAAC,CAAC;UACrB;QACF,CAAC,CAAC;QACF;QACA,IAAI,CAACrE,eAAe,CAACd,KAAK,GAAGrB,UAAU,CAAC,CAAC,EAAE;UACzC2G,QAAQ,EAAE,IAAI,CAACC,iBAAiB;UAChCC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;QAChC,CAAC,CAAC;MACJ;IACF,CAAC;IAAA/E,eAAA,sBAEqB,MAAM;MAC1B,IAAI,CAACgE,WAAW,CAAC;QACfD,oBAAoB,EAAE;MACxB,CAAuB,CAAC;MACxB,IAAI,CAACU,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAAAzE,eAAA,qBAEY,MAAM;MACjB,MAAMwE,QAAQ,GAAGA,CAAA,KAAM;QACrB;QACA,IAAI,IAAI,CAACpE,WAAW,EAAE;UACpB,IAAI,CAACA,WAAW,CAACf,KAAK,GAAG,IAAI,CAACqE,gBAAgB;QAChD;QACA,IAAI,CAACM,WAAW,CAAC;UACfK,UAAU,EAAE,KAAK;UACjBY,iBAAiB,EAAE,EAAoB;UACvCkC,YAAY,EAAE;QAChB,CAAuB,CAAC;QACxB,IAAI,CAACW,sBAAsB,GAAG,CAAC;QAC/B,IAAI,CAACqB,WAAW,CAAC,CAAC;MACpB,CAAC;MAED,IAAI,IAAI,CAACjJ,UAAU,IAAI,IAAI,CAACC,eAAe,EAAE;QAC3C,IAAI,CAACD,UAAU,CAACb,KAAK,GAAGrB,UAAU,CAAC2B,aAAa,EAAE;UAChDgF,QAAQ,EAAE,IAAI,CAACC,iBAAiB;UAChCC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;QAChC,CAAC,EAAGC,QAAQ,IAAK;UACf,IAAIA,QAAQ,EAAE;YACZ/G,OAAO,CAACuG,QAAQ,CAAC,CAAC,CAAC;UACrB;QACF,CAAC,CAAC;QACF;QACA,IAAI,CAACrE,eAAe,CAACd,KAAK,GAAGrB,UAAU,CAAC,CAAC,EAAE;UACzC2G,QAAQ,EAAE,IAAI,CAACC,iBAAiB;UAChCC,MAAM,EAAE3G,MAAM,CAAC4G,GAAG,CAAC5G,MAAM,CAAC6G,IAAI;QAChC,CAAC,CAAC;MACJ;IACF,CAAC;IAAA/E,eAAA,8BAEqB,MAAM;MAC1B,IAAI,IAAI,CAACE,UAAU,IAAI,IAAI,CAACC,eAAe,IAAI,IAAI,CAACuE,mBAAmB,EAAE;QACvE,IAAI,CAACxE,UAAU,CAACb,KAAK,GAAGM,aAAa;QACrC,IAAI,CAACQ,eAAe,CAACd,KAAK,GAAG,CAAC;QAC9B,IAAI,CAACqF,mBAAmB,CAACrF,KAAK,GAAG,CAAC;MACpC;MAEA,IAAI,CAAC2E,WAAW,CAAC;QACf3D,aAAa,EAAE,CAAC;QAChBgE,UAAU,EAAE,KAAK;QACjBN,oBAAoB,EAAE,KAAK;QAC3BkB,iBAAiB,EAAE;MACrB,CAAuB,CAAC;MAExBmE,qBAAqB,CAAC,MAAM;QAC1B,IAAI,IAAI,CAAChJ,WAAW,EAAE;UACpB,IAAI,CAACA,WAAW,CAACf,KAAK,GAAG,IAAI,CAACqE,gBAAgB;QAChD;MACF,CAAC,CAAC;IACJ,CAAC;IA4BD;IAAA1D,eAAA,8BAC8B,MAAM;MAClC,IAAI,IAAI,CAACO,KAAK,CAACgF,SAAS,KAAK,UAAU,EAAE;QACvC,IAAI,CAACpB,UAAU,CAAC,CAAC;MACnB;IACF,CAAC;IAAAnE,eAAA,gCAE+B,MAAM;MACpC,IAAI,CAACyE,mBAAmB,CAAC,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAAAzE,eAAA,wBAEwBO,KAAyB,IAAK;MACrD;MACA,IAAI,CAAC,IAAI,CAACL,UAAU,IAAI,CAAC,IAAI,CAACC,eAAe,IAAI,CAAC,IAAI,CAACC,WAAW,IAAI,CAAC,IAAI,CAACsE,mBAAmB,EAAE;QAC/F,OAAO,IAAI;MACb;MAEA,oBACE/H,KAAA,CAAAkF,aAAA,CAAClD,qBAAqB,CAAC0K,QAAQ,QAC5B,CAACC,MAAM,GAAG;QAAEnE,GAAG,EAAE,CAAC;QAAEoE,MAAM,EAAE,CAAC;QAAEC,IAAI,EAAE,CAAC;QAAEC,KAAK,EAAE;MAAE,CAAC,KAAK;QACtD;QACA,MAAMxD,QAAQ,GAAG,CAAAqD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEnE,GAAG,KAAI,CAAC;QACjC,MAAMuE,WAAW,GAAG,CAAAJ,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,MAAM,KAAI,CAAC;QACvC;QACA,IAAI,IAAI,CAACtD,QAAQ,KAAKA,QAAQ,EAAE;UAC9BmD,qBAAqB,CAAC,MAAM;YAC1B,IAAI,CAACnD,QAAQ,GAAGA,QAAQ;UAC1B,CAAC,CAAC;QACJ;QACA,MAAM0D,aAAa,GAAG;UACpBxE,GAAG,EAAE,CAAC;UACNqE,IAAI,EAAE,CAAC;UACPC,KAAK,EAAE;QACT,CAAC;QACD,MAAMG,SAAS,GAAGrJ,KAAK,CAAC4F,KAAK,GACzB,CAAC,IAAI,CAAC7F,MAAM,CAACuJ,IAAI,EAAEF,aAAa,CAAC,GACjC,IAAI,CAACrJ,MAAM,CAACuJ,IAAI;QACpB,oBACElN,KAAA,CAAAkF,aAAA,CAAC9E,IAAI,EAAAiF,QAAA;UAACC,KAAK,EAAE2H;QAAU,GAAK,IAAI,CAAC/I,YAAY,CAAC,cAAc,CAAC,GAC1D,IAAI,CAACiJ,WAAW,eAEjBnN,KAAA,CAAAkF,aAAA,CAAC5B,0BAA0B;UACzBC,UAAU,EAAE,IAAI,CAACA,UAAW;UAC5BC,eAAe,EAAE,IAAI,CAACA,eAAgB;UACtCC,WAAW,EAAE,IAAI,CAACA,WAAY;UAC9BC,aAAa,EAAE,IAAI,CAACqE,mBAAoB;UACxCpE,MAAM,EAAE,IAAI,CAACA,MAAO;UACpBC,KAAK,EAAEA,KAAM;UACbE,WAAW,EAAE,IAAI,CAACsJ,YAAY,CAACtJ,WAAY;UAC3CC,qBAAqB,EAAE,IAAI,CAACsJ,sBAAsB,CAACvJ,WAAY;UAC/DE,eAAe,EAAE,IAAI,CAACsJ,mBAAoB;UAC1CrJ,iBAAiB,EAAE,IAAI,CAACsJ,qBAAsB;UAC9CrJ,YAAY,EAAE,IAAI,CAACA,YAAY,CAACsJ,IAAI,CAAC,IAAI,CAAE;UAC3CrJ,gBAAgB,EAAEP,KAAK,CAACO,gBAAiB;UACzCC,SAAS,EAAE,IAAI,CAAC+C,KAAK,CAAC+C,aAAc;UACpC7F,kBAAkB,EAAE,IAAI,CAACoJ,sBAAuB;UAChDnJ,mBAAmB,EAAE,IAAI,CAACA;QAAoB,GAE5CU,YAAiB,IACjBpB,KAAK,CAAC8J,QAAQ,GACZ9J,KAAK,CAAC+J,kBAAkB,gBACtB3N,KAAA,CAAAkF,aAAA,CAACnD,aAAa;UAACW,KAAK,EAAE,IAAI,CAAC+F;QAAkB,gBAC3CzI,KAAA,CAAAkF,aAAA,CAAC/D,QAAQ,CAACf,IAAI;UAACkF,KAAK,EAAE,CAACN,YAAY,EAAE,IAAI,CAACrB,MAAM,CAACiK,qBAAqB,EAAE;YAAEC,QAAQ,EAAE;UAAS,CAAC;QAAE,GAC7FjK,KAAK,CAACC,QACM,CACF,CAAC,gBAEhB7D,KAAA,CAAAkF,aAAA,CAAC/D,QAAQ,CAACf,IAAI;UAACkF,KAAK,EAAE,CAACN,YAAY,EAAE,IAAI,CAACrB,MAAM,CAACiK,qBAAqB,EAAE;YAAEC,QAAQ,EAAE;UAAS,CAAC;QAAE,GAC7FjK,KAAK,CAACC,QACM,CAChB,gBAED7D,KAAA,CAAAkF,aAAA,CAAChE,UAAU,EAAAmE,QAAA;UACTyI,GAAG,EAAE,IAAI,CAAC3G,KAAK,CAAC+C,aAAc;UAC9B5E,KAAK,EAAE,IAAI,CAAC3B,MAAM,CAACiK,qBAAsB;UACzCG,qBAAqB,EAAE,CAAC,IAAI,CAACpK,MAAM,CAACqK,kBAAkB,CAAE;UACxDC,oBAAoB,EAAE,KAAM;UAC5BC,sBAAsB,EAAE,KAAM;UAC9BC,OAAO,EAAE,KAAM;UACfC,4BAA4B,EAAE,KAAM;UACpCC,mBAAmB,EAAE,EAAG;UACxBC,QAAQ,EAAE,IAAI,CAACC,YAAa;UAC5BC,mBAAmB,EAAE,IAAK;UAC1BC,aAAa,EAAE,CAAC7K,KAAK,CAAC8J,QAAQ,KAAK,CAAC9J,KAAK,CAAC2H,mBAAmB,IAAI,IAAI,CAACpE,KAAK,CAACO,UAAU;QAAE,GACpF,IAAI,CAACxD,YAAY,CAAC,YAAY,CAAC,GAElCN,KAAK,CAAC+J,kBAAkB,gBACvB3N,KAAA,CAAAkF,aAAA,CAACnD,aAAa;UAACW,KAAK,EAAE,IAAI,CAAC+F;QAAkB,gBAC3CzI,KAAA,CAAAkF,aAAA,CAAC/D,QAAQ,CAACf,IAAI;UAACkF,KAAK,EAAEN;QAAa,GAChCpB,KAAK,CAACC,QACM,CACF,CAAC,gBAEhB7D,KAAA,CAAAkF,aAAA,CAAC/D,QAAQ,CAACf,IAAI;UAACkF,KAAK,EAAEN;QAAa,GAChCpB,KAAK,CAACC,QACM,CAEP,CAGU,CAAC,EAE3BrD,QAAQ,CAAC0B,EAAE,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC0B,KAAK,CAAC4F,KAAK,IAAIuD,WAAW,GAAG,EAAE,iBAAK/M,KAAA,CAAAkF,aAAA,CAACjD,YAAY;UAACyM,KAAK,EAAE,CAAC,QAAQ;QAAE,CAAE,CAAC,EAE3G9K,KAAK,CAAC+J,kBAAkB,IAAI,IAAI,CAACxG,KAAK,CAACmB,iBAAiB,IAAI,IAAI,CAACnB,KAAK,CAACmB,iBAAiB,CAACqG,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBACjG7O,KAAA,CAAAkF,aAAA,CAAC9E,IAAI;UACH0O,GAAG,EAAE,CAACF,CAAC,CAACpM,IAAI,IAAI,EAAE,IAAIqM,CAAE;UACxBE,yBAAyB,EAAEA,CAAA,KAAM,IAAK;UACtCC,cAAc,EAAEA,CAAA,KAAMJ,CAAC,CAACK,OAAO,IAAI,IAAI,CAACxG,iBAAiB,CAACC,SAAS,CAACkG,CAAC,CAAE;UACvEtJ,KAAK,EAAE,CACL,IAAI,CAAC3B,MAAM,CAACuL,YAAY,EACvBN,CAAC,CAASO,QAAQ,GAAG,IAAI,CAACxL,MAAM,CAACyL,eAAe,GAAG,IAAI,EACxD;YAAEC,MAAM,EAAGT,CAAC,CAASU,cAAc,IAAI,IAAI;YAAEC,SAAS,EAAGX,CAAC,CAASU,cAAc,IAAI;UAAK,CAAC,EAC1FV,CAAC,CAACY,UAAU,IAAI,CAAC,CAAC;QACnB,gBAEFxP,KAAA,CAAAkF,aAAA,CAAC9E,IAAI;UACHkF,KAAK,EAAE,CAAEsJ,CAAC,CAAC5J,YAAY,IAAI,CAAC,CAAC,CAAG;UAChC+J,yBAAyB,EAAEA,CAAA,KAAM,IAAK;UACtCC,cAAc,EAAGS,CAAC,IAAKA,CAAC,CAACC,eAAe,CAAC;QAAE,GAE1Cd,CAAC,CAACe,OACC,CACF,CACP,CACG,CAAC;MAEX,CAC8B,CAAC;IAErC,CAAC;IAzoBC,IAAI,CAAC5I,gBAAgB,GAAG,IAAI,CAACR,oBAAoB,CAAC3C,MAAK,CAAC4C,sBAAsB,CAAC;IAC/E;IACA,IAAI,CAACoJ,SAAS,CAAC,0BAA0B,EAAG9B,GAAyB,IAAK;MACxE,IAAIA,GAAG,IAAIA,GAAG,CAAC3D,OAAO,EAAE;QACtB,IAAI,CAACsD,sBAAsB,GAAGK,GAAG;MACnC;IACF,CAAC,CAAC;IACF;IACA,IAAI,CAAC8B,SAAS,CAAC,QAAQ,EAAGH,CAAM,IAAK;MACnC,MAAMrD,OAAO,GAAGqD,CAAC,CAACpD,WAAW,CAACC,aAAa,CAAChC,CAAC;MAC7C,IAAI,CAACa,sBAAsB,GAAGiB,OAAO;IACvC,CAAC,CAAC;IACF;IACA,MAAMyD,aAAa,GAAGjM,MAAK,CAACkM,8BAA8B,IAAI,IAAI,CAACC,qBAAqB;IACxF,MAAMC,sBAAsB,GAAG9J,IAAI,CAACC,GAAG,CACrC,IAAI,CAAC8J,qBAAqB,EAC1B/J,IAAI,CAACE,GAAG,CAACyJ,aAAa,EAAE,IAAI,CAAChJ,SAAS,CACxC,CAAC;IAED,IAAI,CAACe,cAAc,GAAG5E,aAAa,GAAGgN,sBAAsB;IAE5D,IAAIxP,QAAQ,CAAC0B,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAI8N,sBAAsB,IAAI,GAAG,EAAE;QACjC,IAAI,CAACpI,cAAc,IAAI,IAAI,CAACX,eAAe;MAC7C;IACF;IACA,IAAIzG,QAAQ,CAAC0B,EAAE,KAAK,KAAK,EAAE;MACzB,IAAI8N,sBAAsB,IAAI,GAAG,EAAE;QACjC,IAAI,CAACpI,cAAc,IAAI,IAAI,CAACZ,eAAe;MAC7C;IACF;;IAEA;IACA;IACA,IAAI,CAACzD,UAAU,GAAG/B,WAAW,CAACwB,aAAa,CAAC;IAC5C,IAAI,CAACQ,eAAe,GAAGhC,WAAW,CAAC,CAAC,CAAC;IACrC,IAAI,CAACiC,WAAW,GAAGjC,WAAW,CAAC,IAAI,CAACuF,gBAAgB,CAAC;IACrD,IAAI,CAACgB,mBAAmB,GAAGvG,WAAW,CAAC,CAAC,CAAC;IAEzC,IAAI,CAAC6F,WAAW,CAAC;MACfD,oBAAoB,EAAE,IAAI,CAACxD,KAAK,CAACsM,YAAY,IAAI;IACnD,CAAuB,CAAC;;IAExB;IACA,IAAI,IAAI,CAACtM,KAAK,CAACsM,YAAY,EAAE;MAC3B,IAAI,CAAC3M,UAAU,CAACb,KAAK,GAAG,CAAC;MACzB,IAAI,CAACc,eAAe,CAACd,KAAK,GAAG,CAAC;IAChC;;IAEA;IACA,IAAI,CAAC+F,iBAAiB,GAAG;MACvB0H,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACC,WAAW,CAAC,CAAC;MACjCC,SAAS,EAAGC,OAAqB,IAAK;QACpC,MAAMC,MAAM,GAAG,IAAI,CAACpJ,KAAK,CAACmB,iBAAiB,CAACkI,IAAI,CAAC5B,CAAC,IAAIA,CAAC,KAAK0B,OAAO,CAAC;QACpE,IAAI,CAACC,MAAM,EAAE;UACX;UACCD,OAAO,CAAShB,cAAc,GAAG,IAAI,GAAG,IAAI,CAACnI,KAAK,CAACmB,iBAAiB,CAACC,MAAM,GAAG,CAAC;UAChF,MAAMkI,IAAI,GAAG,CAAC,GAAG,IAAI,CAACtJ,KAAK,CAACmB,iBAAiB,EAAEgI,OAAO,CAAC;UACvD,IAAI,CAACjJ,WAAW,CAAC;YAAEiB,iBAAiB,EAAEmI;UAAK,CAAC,EAAwB,MAAM;YACxEzG,UAAU,CAAC,MAAMsG,OAAO,CAACI,MAAM,IAAIJ,OAAO,CAACI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;UACzD,CAAC,CAAC;QACJ;MACF,CAAC;MACDhI,SAAS,EAAG4H,OAAsB,IAAK;QACrC,MAAMG,IAAI,GAAG,CAAC,GAAG,IAAI,CAACtJ,KAAK,CAACmB,iBAAiB,CAAC;QAC9C,MAAMqI,GAAG,GAAGL,OAAO,GAAGG,IAAI,CAACG,SAAS,CAAChC,CAAC,IAAIA,CAAC,KAAK0B,OAAO,CAAC,GAAIG,IAAI,CAAClI,MAAM,GAAG,CAAE;QAC5E,IAAIoI,GAAG,IAAI,CAAC,EAAE;UACZ,MAAM/B,CAAC,GAAG6B,IAAI,CAACE,GAAG,CAAC;UACnB/B,CAAC,IAAIA,CAAC,CAACiC,OAAO,IAAIjC,CAAC,CAACiC,OAAO,CAAC,CAAC;UAC7BJ,IAAI,CAACK,MAAM,CAACH,GAAG,EAAE,CAAC,CAAC;UACnB,IAAI,CAACtJ,WAAW,CAAC;YAAEiB,iBAAiB,EAAEmI;UAAK,CAAuB,CAAC;QACrE;MACF;IACF,CAAC;EACH;EAEAM,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;;IAEzB;IACA,IAAI,IAAI,CAAC5J,KAAK,CAACC,oBAAoB,EAAE;MACnC;MACAqF,qBAAqB,CAAC,MAAM;QAC1B,IAAI,CAACnF,SAAS,CAAC,CAAC;MAClB,CAAC,CAAC;IACJ;IAEA,IAAI9G,QAAQ,CAAC0B,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAI,CAAC8O,uBAAuB,GAAGtQ,WAAW,CAACuQ,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAACC,eAAe,CAAC;IACxG;IACA,IAAI,CAACC,uBAAuB,GAAGvQ,QAAQ,CAACwQ,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAACC,cAAc,CAAC;IAC3F,IAAI,CAACC,uBAAuB,GAAG1Q,QAAQ,CAACwQ,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAACG,cAAc,CAAC;EAC7F;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAI,IAAI,CAACR,uBAAuB,EAAE;MAChC,IAAI,CAACA,uBAAuB,CAACS,MAAM,CAAC,CAAC;MACrC,IAAI,CAACT,uBAAuB,GAAG,IAAI;IACrC;IACA,IAAI,IAAI,CAACG,uBAAuB,EAAE;MAChC,IAAI,CAACA,uBAAuB,CAACM,MAAM,CAAC,CAAC;IACvC;IACA,IAAI,IAAI,CAACH,uBAAuB,EAAE;MAChC,IAAI,CAACA,uBAAuB,CAACG,MAAM,CAAC,CAAC;IACvC;EACF;EA8DAC,kBAAkBA,CAACC,SAA6B,EAAE;IAChD,IAAIA,SAAS,CAACnL,sBAAsB,KAAK,IAAI,CAAC5C,KAAK,CAAC4C,sBAAsB,EAAE;MAC1E,IAAI,CAACO,gBAAgB,GAAG,IAAI,CAACR,oBAAoB,CAAC,IAAI,CAAC3C,KAAK,CAAC4C,sBAAsB,CAAC;MACpF,IAAI,IAAI,CAAC/C,WAAW,EAAE;QACpB,IAAI,CAACA,WAAW,CAACf,KAAK,GAAG,IAAI,CAACqE,gBAAgB;MAChD;IACF;EACF;EA8TO6K,gBAAgBA,CAACpP,IAAY,EAAEqP,IAAS,EAAEC,IAAS,EAAQ;IAChE,KAAK,CAACF,gBAAgB,CAACpP,IAAI,EAAEqP,IAAI,EAAEC,IAAI,CAAC;IACxC,QAAQtP,IAAI;MACV,KAAK,cAAc;QACjB,IAAIqP,IAAI,EAAE;UACR,IAAI,CAACxK,WAAW,CAAC;YACfD,oBAAoB,EAAEyK,IAAI,IAAI;UAChC,CAAuB,CAAC;UACxB,IAAI,IAAI,CAAC1K,KAAK,CAACC,oBAAoB,EAAE;YACnC,IAAI,CAACE,SAAS,IAAI,IAAI,CAACA,SAAS,CAAC,CAAC;UACpC;QACF,CAAC,MAAM;UACL,IAAI,CAACyK,mBAAmB,IAAI,IAAI,CAACA,mBAAmB,CAAC,CAAC;QACxD;QACA;IACJ;EACF;EAEOC,cAAcA,CAACpO,KAAyB,EAAE;IAC/C,OAAOhC,cAAc,CAAC,IAAI,CAACqQ,KAAK,EAAE,IAAI,CAACtO,MAAM,CAACuO,QAAQ,EAAE;MACtD,GAAG,IAAI,CAACvO,MAAM,CAACuJ,IAAI;MACnBiF,KAAK,EAAE,IAAI,CAACxO,MAAM,CAACuJ,IAAI,CAACiF,KAAuB;MAC/CpP,MAAM,EAAE,IAAI,CAACY,MAAM,CAACuJ,IAAI,CAACnK;IAC3B,CAAC,CAAC;EACJ;EAsIAqP,YAAYA,CAACxO,KAAyB,EAAE;IACtC,IAAI,CAAC,IAAI,CAACuD,KAAK,CAACC,oBAAoB,EAAE,OAAO,IAAI;IAEjD,oBACEpH,KAAA,CAAAkF,aAAA,CAAClD,qBAAqB,CAAC0K,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEnE,GAAG,EAAE,CAAC;MAAEoE,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD;MACA;MACA,MAAMuF,mBAAmB,GAAG7R,QAAQ,CAAC0B,EAAE,KAAK,SAAS,IAAI,CAAC,CAAAyK,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,MAAM,KAAI,CAAC,KAAK,EAAE;MAEpF,MAAM0F,gBAAgB,GAAIzO,QAAyB,IAAK;QACtD,IAAIwO,mBAAmB,EAAE;UACvB,oBAAOrS,KAAA,CAAAkF,aAAA,CAACjD,YAAY;YAACqD,KAAK,EAAE;cAAEiN,IAAI,EAAE;YAAE;UAAE,GAAE1O,QAAuB,CAAC;QACpE;QACA,OAAOA,QAAQ;MACjB,CAAC;MAED,IAAID,KAAK,CAAC4F,KAAK,EAAE;QACf,oBACExJ,KAAA,CAAAkF,aAAA,CAACrE,KAAK;UACJ2R,OAAO,EAAE,IAAI,CAACrL,KAAK,CAACC,oBAAqB;UACzCqL,WAAW,EAAE,IAAK;UAClBC,aAAa,EAAC,MAAM;UACpBC,cAAc,EAAEA,CAAA,KAAM;YACpB,IAAI,CAAC,IAAI,CAAC/O,KAAK,CAAC+E,qBAAqB,IAAI,IAAI,CAAC/E,KAAK,CAACgF,SAAS,KAAK,UAAU,EAAE;cAC5E,IAAI,CAACpB,UAAU,CAAC,CAAC;YACnB;UACF,CAAE;UACFoL,oBAAoB,EAAE;QAAM,gBAE5B5S,KAAA,CAAAkF,aAAA,CAACjE,sBAAsB;UAACqE,KAAK,EAAE;YAAEiN,IAAI,EAAE;UAAE;QAAE,GACxCD,gBAAgB,cACftS,KAAA,CAAAkF,aAAA,CAACvE,oBAAoB;UACnB2E,KAAK,EAAE;YAAEiN,IAAI,EAAE;UAAE,CAAE;UACnBM,QAAQ,EAAE,SAAU;UACpBC,sBAAsB,EAAEtS,QAAQ,CAAC0B,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG6Q;QAAU,GAE7D,IAAI,CAACC,aAAa,CAACpP,KAAK,CACL,CACxB,CACsB,CACnB,CAAC;MAEZ,CAAC,MAAM;QACL,OAAO,IAAI,CAACoP,aAAa,CAACpP,KAAK,CAAC;MAClC;IACF,CAC8B,CAAC;EAErC;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createRef","BaseComponent","BaseComponentState","View","PanResponder","Dimensions","TouchableWithoutFeedback","Platform","StatusBar","BackHandler","KeyboardAvoidingView","Keyboard","Modal","Pressable","Gesture","GestureDetector","GestureHandlerRootView","ScrollView","Animated","useAnimatedStyle","withTiming","runOnJS","Easing","makeMutable","cancelAnimation","WmBottomsheetProps","DEFAULT_CLASS","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","ModalProvider","SafeAreaInsetsContext","SafeAreaView","OS","RN","require","RNAnimated","__wmPatchedNoNativeDriver","wrap","name","original","value","config","patched","useNativeDriver","_","height","SCREEN_HEIGHT","get","WmBottomsheetState","constructor","args","_defineProperty","AnimatedBottomsheetContent","translateY","backdropOpacity","sheetHeight","lastGestureDy","styles","props","children","panHandlers","dragHandlePanHandlers","onBackdropPress","onDragHandlePress","getTestProps","enabledragsettle","scrollRef","containerScrollRef","configurePanGesture","panGesture","useMemo","pan","Pan","simultaneousWithExternalGesture","backdropAnimatedStyle","opacity","containerAnimatedStyle","transform","contentStyle","paddingBottom","createElement","Fragment","onPress","_extends","style","backdrop","BOTTOMSHEET","container","dragHandleContainer","dragIconHandle","gesture","WmBottomsheet","getAnimationDuration","distance","velocity","velocityFactor","Math","max","min","abs","calculatedDuration","calculateSheetHeight","bottomsheetheightratio","effectiveRatio","defaultHeight","maxHeightRatio","minimumHeight","maxHeight","screenHeight","calculatedHeight","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","setTimeout","_this$state$scrollVie","scrollViewRef","current","scrollTo","x","y","animated","scrollOffset","sheetMinimumHeight","bottomsheetminimumheight","enabled","onUpdate","translationY","velocityY","moveX","moveY","vx","velocityX","containerscrollYoffset","newTranslateY","isDragHandleExpanding","expand","disablescrollonrest","expandBottomSheet","onEnd","handleSwipeGesture","onFinalize","success","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","onPanResponderRelease","onPanResponderTerminate","offsetY","nativeEvent","contentOffset","isScrolling","handleClose","requestAnimationFrame","Consumer","insets","bottom","left","right","bottomInset","absoluteStyle","rootStyle","root","_background","panResponder","dragHandlePanResponder","handleBackdropPress","handleDragHandlePress","bind","containerscrollViewRef","issticky","enablemodalsupport","sheetContentContainer","overflow","ref","contentContainerStyle","sheetScrollContent","alwaysBounceVertical","alwaysBounceHorizontal","bounces","showsVerticalScrollIndicator","scrollEventThrottle","onScroll","handleScroll","nestedScrollEnabled","scrollEnabled","edges","map","o","i","key","onStartShouldSetResponder","onResponderEnd","isModal","modalOverlay","centered","centeredOverlay","zIndex","elevationIndex","elevation","modalStyle","e","stopPropagation","content","subscribe","forceUpdate","expandedRatio","bottomsheetexpandedheightratio","expandedDefaultHeight","effectiveExpandedRatio","minimumExpandedHeight","showonrender","refresh","showModal","options","exists","find","list","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","hasButtonNavigation","wrapWithSafeArea","flex","visible","transparent","animationType","onRequestClose","statusBarTranslucent","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 { Gesture, GestureDetector, GestureHandlerRootView, 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, SafeAreaView } from 'react-native-safe-area-context';\n\n\n// Web-only: Runs all bottom sheet animations on the JS thread (sets useNativeDriver to false)\n// Prevents errors on web where native driver animations are not supported\n// Web - Animated api is used from animation\nif (Platform.OS === 'web') {\n try {\n const RN: any = require('react-native');\n const RNAnimated: any = RN && RN.Animated;\n if (RNAnimated && !RNAnimated.__wmPatchedNoNativeDriver) {\n const wrap = (name: string) => {\n const original = RNAnimated[name];\n if (typeof original === 'function') {\n RNAnimated[name] = (value: any, config: any) => {\n const patched = { ...(config || {}), useNativeDriver: false };\n return original(value, patched);\n };\n }\n };\n wrap('timing');\n wrap('spring');\n wrap('decay');\n RNAnimated.__wmPatchedNoNativeDriver = true;\n }\n } catch (_) {\n // noop\n }\n}\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 scrollRef,\n containerScrollRef,\n configurePanGesture\n\n}: any) => {\n\n\n // Simple RNGH GestureDetector attached to the same view as the PanResponder (panHandlers).\n // No thresholds/validation: logs translationY directly during pan.\n const panGesture = React.useMemo(() => {\n // Create base Pan gesture\n const pan = Gesture.Pan().runOnJS(true);\n\n // Add external gestures for ScrollViews (container widget scrollview)\n if (scrollRef && containerScrollRef) {\n pan.simultaneousWithExternalGesture(\n scrollRef as any,\n containerScrollRef as any\n );\n } else if (scrollRef) {\n pan.simultaneousWithExternalGesture(scrollRef as any);\n } else if (containerScrollRef) {\n pan.simultaneousWithExternalGesture(containerScrollRef as any);\n }\n\n // Apply custom logic from parent BottomSheet class\n if (configurePanGesture) {\n configurePanGesture(pan);\n }\n\n return pan;\n }, [scrollRef, containerScrollRef, configurePanGesture]);\n\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 <GestureDetector gesture={panGesture}>\n {children(contentStyle)}\n </GestureDetector>\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 //container widget scrollview ref and y offset value\n private containerscrollViewRef: any = null\n private containerscrollYoffset: number = 0\n\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 //container srollview ref\n this.subscribe('containerScrollViewReady', (ref: React.RefObject<any>) => {\n if (ref && ref.current && this.containerscrollViewRef !== ref) {\n this.containerscrollViewRef = ref;\n this.forceUpdate();\n }\n });\n //container scrollview y offset value\n this.subscribe('scroll', (e: any) => {\n const offsetY = e.nativeEvent.contentOffset.y;\n this.containerscrollYoffset = offsetY\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 //reseting bottom sheet scrollview offset value to fix scrollview automatic scroll issue while collpsing the bottom sheet\n setTimeout(() => {\n if (this.state.scrollViewRef?.current) {\n this.state.scrollViewRef.current.scrollTo({ x: 0, y: 0, animated: false });\n this.updateState({ scrollOffset: 0 } as WmBottomsheetState);\n }\n }, this.animationDuration);\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\n private configurePanGesture = (pan: any) => {\n pan\n .enabled(true)\n .onUpdate((event: any) => { // ← Add : any\n const gestureState = {\n dy: event.translationY,\n vy: event.velocityY,\n moveX: event.x,\n moveY: event.y,\n vx: event.velocityX\n };\n if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared && this.state.scrollOffset <= 0 && this.containerscrollYoffset <= 0) {\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 && this.props.disablescrollonrest) {\n // Only trigger expand once with threshold of -50px upward drag\n this.isDragHandleExpanding = true;\n this.expandBottomSheet();\n }\n // ... rest of logic\n })\n .onEnd((event: any) => { // ← Add : any\n const gestureState = {\n dy: event.translationY,\n vy: event.velocityY,\n moveX: event.x,\n moveY: event.y,\n vx: event.velocityX\n };\n if (gestureState.dy > 0 && this.state.scrollOffset <= 0 && this.containerscrollYoffset <= 0) {\n this.handleSwipeGesture(gestureState as any);\n }\n })\n .onFinalize((event: any, success: boolean) => { // ← Add types\n if (!success) {\n this.openSheet()\n }\n });\n\n return pan;\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 Math.abs(gestureState.dy) > 2;\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 scrollOffset: 0\n } as WmBottomsheetState);\n this.containerscrollYoffset = 0\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 const bottomInset = insets?.bottom || 0;\n // Update the instance variable outside of render cycle\n if (this.topInset !== topInset) {\n requestAnimationFrame(() => {\n this.topInset = topInset;\n });\n }\n const absoluteStyle = {\n top: 0,\n left: 0,\n right: 0,\n }\n const rootStyle = props.modal\n ? [this.styles.root, absoluteStyle]\n : this.styles.root;\n return (\n <View style={rootStyle} {...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 scrollRef={this.state.scrollViewRef}\n containerScrollRef={this.containerscrollViewRef}\n configurePanGesture={this.configurePanGesture}\n >\n {(contentStyle: any) => (\n props.issticky ? (\n props.enablemodalsupport ? (\n <ModalProvider value={this.sheetModalService}>\n <Animated.View style={[contentStyle, this.styles.sheetContentContainer, { overflow: 'hidden' }]}>\n {props.children}\n </Animated.View>\n </ModalProvider>\n ) : (\n <Animated.View style={[contentStyle, this.styles.sheetContentContainer, { overflow: 'hidden' }]}>\n {props.children}\n </Animated.View>\n )\n ) : (\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 )}\n </AnimatedBottomsheetContent>\n {/*Adding SafeAreaView to ensure the bottom sheet is rendered above the Android button navigation bar when modal prop is false */}\n {(Platform.OS === 'android' && !this.props.modal && bottomInset > 40) && <SafeAreaView edges={['bottom']} />}\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 return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n // Use SafeAreaView on Android with button navigation to render the bottom sheet above the nav bar (when modal props is true)\n // Button navigation is identified when bottom inset >= 40 \n const hasButtonNavigation = Platform.OS === 'android' && (insets?.bottom || 0) >= 40;\n\n const wrapWithSafeArea = (children: React.ReactNode) => {\n if (hasButtonNavigation) {\n return <SafeAreaView style={{ flex: 1 }}>{children}</SafeAreaView>;\n }\n return children;\n };\n\n if (props.modal) {\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 <GestureHandlerRootView style={{ flex: 1 }}>\n {wrapWithSafeArea(\n <KeyboardAvoidingView\n style={{ flex: 1 }}\n behavior={'padding'}\n keyboardVerticalOffset={Platform.OS === 'ios' ? 0 : undefined}\n >\n {this.renderContent(props)}\n </KeyboardAvoidingView>\n )}\n </GestureHandlerRootView>\n </Modal>\n );\n } else {\n return this.renderContent(props);\n }\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -89,6 +89,20 @@ export default class WmContainer extends PartialHost {
|
|
|
89
89
|
left: 0,
|
|
90
90
|
right: 0
|
|
91
91
|
});
|
|
92
|
+
_defineProperty(this, "handleOnScrollEndDrag", event => {
|
|
93
|
+
var _event$nativeEvent;
|
|
94
|
+
const currentY = event === null || event === void 0 || (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 || (_event$nativeEvent = _event$nativeEvent.contentOffset) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.y;
|
|
95
|
+
if (currentY > 0) {
|
|
96
|
+
this.invokeEventCallback('onScroll', [null, this.proxy]);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
_defineProperty(this, "handleOnMomentumScrollEnd", event => {
|
|
100
|
+
var _event$nativeEvent2;
|
|
101
|
+
const currentY = event === null || event === void 0 || (_event$nativeEvent2 = event.nativeEvent) === null || _event$nativeEvent2 === void 0 || (_event$nativeEvent2 = _event$nativeEvent2.contentOffset) === null || _event$nativeEvent2 === void 0 ? void 0 : _event$nativeEvent2.y;
|
|
102
|
+
if (currentY < 1) {
|
|
103
|
+
this.invokeEventCallback('onScrolltotop', [null, this.proxy]);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
92
106
|
this.containerRef = /*#__PURE__*/React.createRef();
|
|
93
107
|
this.stickyContainerOpacity = new Animated.Value(1);
|
|
94
108
|
this.subscribe('updateStickyHeaders', _event => {
|
|
@@ -102,7 +116,6 @@ export default class WmContainer extends PartialHost {
|
|
|
102
116
|
getBackground() {
|
|
103
117
|
return this._showSkeleton ? null : this._background;
|
|
104
118
|
}
|
|
105
|
-
|
|
106
119
|
// Compute root style respecting 'fill'|'hug'|<size> for width/height.
|
|
107
120
|
getRootContainerStyle() {
|
|
108
121
|
var _this$props, _this$styles$skeleton;
|
|
@@ -337,7 +350,9 @@ export default class WmContainer extends PartialHost {
|
|
|
337
350
|
style: [dimensions, this.styles.content, autoLayoutStyle],
|
|
338
351
|
onScroll: event => this.notify('scroll', [event], props.emittoparent),
|
|
339
352
|
scrollEventThrottle: 48,
|
|
340
|
-
ref: this.scrollViewRef
|
|
353
|
+
ref: this.scrollViewRef,
|
|
354
|
+
onScrollEndDrag: this.handleOnScrollEndDrag,
|
|
355
|
+
onMomentumScrollEnd: this.handleOnMomentumScrollEnd
|
|
341
356
|
}, this.renderContent(props))));
|
|
342
357
|
});
|
|
343
358
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Platform","Animated","WmContainerProps","DEFAULT_CLASS","Tappable","Animatedview","PartialHost","PartialHostState","createSkeleton","ScrollView","StickyWrapperContext","SafeAreaInsetsContext","StickyContainer","getParentStyles","injector","alignmentMatrixFixed","justifyContent","alignItems","alignmentMatrixAuto","start","center","end","WmContainerState","constructor","args","_defineProperty","WmContainer","props","createRef","get","top","bottom","left","right","containerRef","stickyContainerOpacity","Value","subscribe","_event","sticky","setTimeout","getStickyHeaderTranslateY","getBackground","_showSkeleton","_background","getRootContainerStyle","_this$props","_this$styles$skeleton","baseStyle","styles","root","width","height","dimensionStyle","isRow","direction","alignSelf","flexGrow","undefined","num","endsWith","parseFloat","isNaN","styleWithResize","skeleton","getContentContainerStyle","wrap","gap","alignment","columngap","useNewLayoutSystem","finalDirection","finalWrap","finalGap","finalAlignment","isAutoGap","isWrap","layoutStyle","flexDirection","flexWrap","alignConfig","columnGap","Number","rowGap","alignContent","renderSkeleton","showskeletonchildren","_this$props2","dimensions","skeletonStyles","text","theme","createElement","style","opacity","_extends","getTestPropsForAction","target","disableTouchEffect","state","disabletoucheffect","content","renderContent","_this$appConfig","_this$containerRef","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","current","measure","_x","_y","_width","_height","px","py","_this$insets","topInsetsInYposition","OS","insets","context","stickyContainerTranslateY","value","updateState","stickyContainerVisibility","componentDidUpdate","_prevProps","prevState","timing","toValue","delay","useNativeDriver","scrollViewRef","notify","renderStickyContent","autoLayoutStyle","positioningStyles","Fragment","component","backgroundColor","positionStyles","show","ref","renderWidget","rootStyle","isSticky","Consumer","entryanimation","animation","animationdelay","onLayout","event","handleLayout","scrollable","onScroll","emittoparent","scrollEventThrottle"],"sources":["container.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, StyleProp, View, ViewStyle, Platform, Animated } from 'react-native';\nimport WmContainerProps from './container.props';\nimport { DEFAULT_CLASS, WmContainerStyles } from './container.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { PartialHost, PartialHostState } from './partial-host.component';\nimport { createSkeleton } from '../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../basic/skeleton/skeleton.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyContainer } from '@wavemaker/app-rn-runtime/core/components/sticky-container.component';\nimport { getParentStyles } from '@wavemaker/app-rn-runtime/core/components/sticky-container.styles';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\n// Alignment matrix for flex properties\nconst alignmentMatrixFixed: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n 'top-left': { justifyContent: 'flex-start', alignItems: 'flex-start' },\n 'top-center': { justifyContent: 'center', alignItems: 'flex-start' },\n 'top-right': { justifyContent: 'flex-end', alignItems: 'flex-start' },\n 'middle-left': { justifyContent: 'flex-start', alignItems: 'center' },\n 'middle-center': { justifyContent: 'center', alignItems: 'center' },\n 'middle-right': { justifyContent: 'flex-end', alignItems: 'center' },\n 'bottom-left': { justifyContent: 'flex-start', alignItems: 'flex-end' },\n 'bottom-center': { justifyContent: 'center', alignItems: 'flex-end' },\n 'bottom-right': { justifyContent: 'flex-end', alignItems: 'flex-end' },\n};\n\nconst alignmentMatrixAuto: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n start: { justifyContent: 'space-between', alignItems: 'flex-start' },\n center: { justifyContent: 'space-between', alignItems: 'center' },\n end: { justifyContent: 'space-between', alignItems: 'flex-end' },\n};\n\nexport class WmContainerState extends PartialHostState<WmContainerProps> {\n isPartialLoaded = false;\n stickyContainerVisibility = false;\n}\n\nexport default class WmContainer extends PartialHost<WmContainerProps, WmContainerState, WmContainerStyles> {\n static contextType = StickyWrapperContext;\n private containerRef: React.RefObject<View | null>;\n private scrollViewRef = React.createRef<ScrollView>();\n private stickyContainerOpacity: Animated.Value;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n insets: EdgeInsets | null = {\n top: 0, bottom: 0, left: 0, right: 0\n };\n\n constructor(props: WmContainerProps) {\n super(props, DEFAULT_CLASS, new WmContainerProps(), new WmContainerState());\n this.containerRef = React.createRef();\n this.stickyContainerOpacity = new Animated.Value(1);\n\n this.subscribe('updateStickyHeaders', (_event: any) => {\n if(this.props.sticky){\n setTimeout(()=>{\n this.getStickyHeaderTranslateY();\n }, 500);\n }\n })\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n }\n\n // Compute root style respecting 'fill'|'hug'|<size> for width/height.\n private getRootContainerStyle(): ViewStyle {\n // const { width, height } = this.props;\n const baseStyle = this.styles.root || {};\n const { width, height }: any = baseStyle;\n const dimensionStyle: ViewStyle = {};\n const isRow = this.props?.direction === \"row\";\n\n if (height === 'fill') {\n if (isRow) {\n dimensionStyle.alignSelf = 'stretch';\n } else {\n dimensionStyle.flexGrow = 1;\n }\n dimensionStyle.height = undefined;\n }\n else if (height === 'hug') {\n if (isRow) {\n dimensionStyle.alignSelf = 'flex-start';\n } else {\n dimensionStyle.flexGrow = 0;\n }\n dimensionStyle.height = undefined;\n }\n else if (height) {\n const num = (typeof height === 'string' && height.endsWith('%')) ? height : parseFloat(height);\n dimensionStyle.height = (isNaN(num as number) ? height : num) as DimensionValue;\n }\n\n if (width === 'fill') {\n if (isRow) {\n dimensionStyle.width = '100%';\n } else {\n dimensionStyle.alignSelf = 'stretch';\n dimensionStyle.width = undefined;\n }\n }\n else if (width === 'hug') {\n if (isRow) {\n dimensionStyle.flexGrow = 0;\n } else {\n dimensionStyle.alignSelf = 'flex-start';\n }\n dimensionStyle.width = undefined;\n }\n else if (width) {\n const num = (typeof width === 'string' && width.endsWith('%')) ? width : parseFloat(width);\n dimensionStyle.width = (isNaN(num as number) ? width : num) as DimensionValue;\n }\n\n const styleWithResize = {\n ...baseStyle,\n ...dimensionStyle,\n };\n\n return this._showSkeleton\n ? { ...styleWithResize, ...this.styles.skeleton?.root }\n : styleWithResize;\n }\n\n // Compute content layout (flexDirection, wrap, gap, justifyContent, alignItems).\n private getContentContainerStyle(): ViewStyle {\n const { direction, wrap, gap, alignment, columngap } = this.props;\n\n /* Check if any of the new layout props are provided. If not, return an empty\n style object to maintain backward compatibility. */\n const useNewLayoutSystem =\n direction !== undefined ||\n wrap !== undefined ||\n gap !== undefined ||\n alignment !== undefined ||\n columngap !== undefined;\n\n if (!useNewLayoutSystem) {\n return {};\n }\n\n // Apply defaults only if the new layout system is active\n const finalDirection = direction ?? 'row';\n const finalWrap = wrap ?? false;\n const finalGap = gap ?? 4;\n const finalAlignment = alignment ?? 'top-left';\n\n const isRow = finalDirection === 'row';\n const isAutoGap = finalGap === 'auto';\n const isWrap = finalWrap === 'true' || finalWrap === true;\n\n const layoutStyle: ViewStyle = {\n flexDirection: finalDirection,\n flexWrap: isWrap && isRow ? 'wrap' : 'nowrap',\n };\n\n if (isAutoGap) {\n const alignConfig =\n alignmentMatrixAuto[finalAlignment] || alignmentMatrixAuto['start'];\n layoutStyle.justifyContent =\n alignConfig.justifyContent as ViewStyle['justifyContent'];\n layoutStyle.alignItems =\n alignConfig.alignItems as ViewStyle['alignItems'];\n } else {\n if (isRow) {\n // For a row, the main-axis gap (between items) is columnGap.\n layoutStyle.columnGap = Number(finalGap);\n } else {\n // For a column, the main-axis gap (between items) is rowGap.\n layoutStyle.rowGap = Number(finalGap);\n }\n const alignConfig =\n alignmentMatrixFixed[finalAlignment] || alignmentMatrixFixed['top-left'];\n\n layoutStyle.justifyContent = (\n isRow ? alignConfig.justifyContent : alignConfig.alignItems\n ) as ViewStyle['justifyContent'];\n layoutStyle.alignItems = (\n isRow ? alignConfig.alignItems : alignConfig.justifyContent\n ) as ViewStyle['alignItems'];\n }\n\n // Add columnGap logic for wrapped rows\n if (isWrap && isRow) {\n if (columngap === 'auto') {\n layoutStyle.alignContent = 'space-between';\n } else if (columngap !== undefined) {\n layoutStyle.rowGap = Number(columngap);\n }\n }\n\n return {\n ...layoutStyle,\n };\n }\n\n public renderSkeleton(props: WmContainerProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const dimensions = {\n width: this.styles.root.width ? '100%' : undefined,\n height: this.styles.root.height ? '100%' : undefined\n };\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n <Tappable {...this.getTestPropsForAction()} target={this} styles={dimensions} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={[dimensions as ViewStyle, this.styles.content]}>{this.renderContent(props)}</View>\n </Tappable>\n\n </View>))\n }\n return null;\n }\n\n public getStickyHeaderTranslateY(){\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.containerRef?.current?.measure((_x = 0, _y = 0, _width = 0, _height = 0, px = 0, py = 0)=>{\n const topInsetsInYposition = (Platform.OS == 'ios' && !isEdgeToEdgeApp) ? (this.insets?.top || 0): 0\n if((this.context) && (this.context as StickyWrapperContextType).stickyContainerTranslateY) {\n (this.context as StickyWrapperContextType).stickyContainerTranslateY.value = py - topInsetsInYposition ;\n this.updateState({ stickyContainerVisibility: true} as WmContainerState); \n }\n })\n }\n\n componentDidUpdate(_prevProps: any, prevState: any) {\n if (prevState.stickyContainerVisibility !== this.state.stickyContainerVisibility) {\n Animated.timing(this.stickyContainerOpacity, {\n toValue: this.state.stickyContainerVisibility ? 0 : 1,\n delay: 500,\n useNativeDriver: true\n }).start();\n }\n\n //emiting container wdiget scrollview ref value to bottom sheet widget(bottom sheet sticky header/footer feature)\n if (this.scrollViewRef.current) {\n this.notify('containerScrollViewReady', [this.scrollViewRef], true);\n }\n }\n\n private renderStickyContent(props: WmContainerProps, dimensions: ViewStyle, styles: ViewStyle, autoLayoutStyle: ViewStyle) {\n const { stickyContainerVisibility } = this.state;\n const { positioningStyles } = getParentStyles(this);\n\n return (\n <>\n {stickyContainerVisibility ? (\n <StickyContainer\n component={this}\n theme={this.theme}\n style={[\n this.styles.sticky,\n { backgroundColor: styles.backgroundColor }\n ]}\n positionStyles={positioningStyles}\n show={props.show as boolean}\n >\n <View style={[dimensions as ViewStyle, { backgroundColor: styles.backgroundColor }, this.styles.content, autoLayoutStyle]}>\n {this.renderContent(props)}\n </View>\n </StickyContainer>\n ) : <></>}\n <Animated.View\n style={[\n dimensions as ViewStyle,\n { opacity: this.stickyContainerOpacity },\n this.styles.content,\n autoLayoutStyle\n ]}\n ref={this.containerRef}\n >\n {this.renderContent(props)}\n </Animated.View>\n </>\n );\n }\n\n renderWidget(props: WmContainerProps) {\n const rootStyle = this.getRootContainerStyle();\n const autoLayoutStyle = this.getContentContainerStyle();\n\n const dimensions: ViewStyle = {\n width: rootStyle.width ? '100%' : undefined,\n height: rootStyle.height ? '100%' : undefined\n };\n\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root;\n\n if (props.sticky) {\n this.isSticky = true;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n return (\n <Animatedview\n entryanimation={props.animation}\n delay={props.animationdelay}\n style={rootStyle}\n onLayout={(event: LayoutChangeEvent, ref: React.RefObject<View>) => {\n this.handleLayout(event, ref);\n }}\n >\n {this.getBackground()}\n <Tappable\n {...this.getTestPropsForAction()}\n target={this}\n styles={dimensions}\n disableTouchEffect={this.state.props.disabletoucheffect}\n >\n {props.sticky ? (\n this.renderStickyContent(props, dimensions, styles, autoLayoutStyle)\n ) : !props.scrollable ? (\n <View style={[\n dimensions as ViewStyle,\n this.styles.content,\n autoLayoutStyle]}>\n {this.renderContent(props)}\n </View>\n ) : (\n <ScrollView\n style={[dimensions as ViewStyle, this.styles.content, autoLayoutStyle]}\n onScroll={(event) => this.notify('scroll', [event], props.emittoparent)}\n scrollEventThrottle={48}\n ref={this.scrollViewRef}\n >\n {this.renderContent(props)}\n </ScrollView>\n )}\n </Tappable>\n </Animatedview>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","View","Platform","Animated","WmContainerProps","DEFAULT_CLASS","Tappable","Animatedview","PartialHost","PartialHostState","createSkeleton","ScrollView","StickyWrapperContext","SafeAreaInsetsContext","StickyContainer","getParentStyles","injector","alignmentMatrixFixed","justifyContent","alignItems","alignmentMatrixAuto","start","center","end","WmContainerState","constructor","args","_defineProperty","WmContainer","props","createRef","get","top","bottom","left","right","event","_event$nativeEvent","currentY","nativeEvent","contentOffset","y","invokeEventCallback","proxy","_event$nativeEvent2","containerRef","stickyContainerOpacity","Value","subscribe","_event","sticky","setTimeout","getStickyHeaderTranslateY","getBackground","_showSkeleton","_background","getRootContainerStyle","_this$props","_this$styles$skeleton","baseStyle","styles","root","width","height","dimensionStyle","isRow","direction","alignSelf","flexGrow","undefined","num","endsWith","parseFloat","isNaN","styleWithResize","skeleton","getContentContainerStyle","wrap","gap","alignment","columngap","useNewLayoutSystem","finalDirection","finalWrap","finalGap","finalAlignment","isAutoGap","isWrap","layoutStyle","flexDirection","flexWrap","alignConfig","columnGap","Number","rowGap","alignContent","renderSkeleton","showskeletonchildren","_this$props2","dimensions","skeletonStyles","text","theme","createElement","style","opacity","_extends","getTestPropsForAction","target","disableTouchEffect","state","disabletoucheffect","content","renderContent","_this$appConfig","_this$containerRef","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","current","measure","_x","_y","_width","_height","px","py","_this$insets","topInsetsInYposition","OS","insets","context","stickyContainerTranslateY","value","updateState","stickyContainerVisibility","componentDidUpdate","_prevProps","prevState","timing","toValue","delay","useNativeDriver","scrollViewRef","notify","renderStickyContent","autoLayoutStyle","positioningStyles","Fragment","component","backgroundColor","positionStyles","show","ref","renderWidget","rootStyle","isSticky","Consumer","entryanimation","animation","animationdelay","onLayout","handleLayout","scrollable","onScroll","emittoparent","scrollEventThrottle","onScrollEndDrag","handleOnScrollEndDrag","onMomentumScrollEnd","handleOnMomentumScrollEnd"],"sources":["container.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, StyleProp, View, ViewStyle, Platform, Animated } from 'react-native';\nimport WmContainerProps from './container.props';\nimport { DEFAULT_CLASS, WmContainerStyles } from './container.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { PartialHost, PartialHostState } from './partial-host.component';\nimport { createSkeleton } from '../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../basic/skeleton/skeleton.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyContainer } from '@wavemaker/app-rn-runtime/core/components/sticky-container.component';\nimport { getParentStyles } from '@wavemaker/app-rn-runtime/core/components/sticky-container.styles';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\n// Alignment matrix for flex properties\nconst alignmentMatrixFixed: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n 'top-left': { justifyContent: 'flex-start', alignItems: 'flex-start' },\n 'top-center': { justifyContent: 'center', alignItems: 'flex-start' },\n 'top-right': { justifyContent: 'flex-end', alignItems: 'flex-start' },\n 'middle-left': { justifyContent: 'flex-start', alignItems: 'center' },\n 'middle-center': { justifyContent: 'center', alignItems: 'center' },\n 'middle-right': { justifyContent: 'flex-end', alignItems: 'center' },\n 'bottom-left': { justifyContent: 'flex-start', alignItems: 'flex-end' },\n 'bottom-center': { justifyContent: 'center', alignItems: 'flex-end' },\n 'bottom-right': { justifyContent: 'flex-end', alignItems: 'flex-end' },\n};\n\nconst alignmentMatrixAuto: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n start: { justifyContent: 'space-between', alignItems: 'flex-start' },\n center: { justifyContent: 'space-between', alignItems: 'center' },\n end: { justifyContent: 'space-between', alignItems: 'flex-end' },\n};\n\nexport class WmContainerState extends PartialHostState<WmContainerProps> {\n isPartialLoaded = false;\n stickyContainerVisibility = false;\n}\n\nexport default class WmContainer extends PartialHost<WmContainerProps, WmContainerState, WmContainerStyles> {\n static contextType = StickyWrapperContext;\n private containerRef: React.RefObject<View | null>;\n private scrollViewRef = React.createRef<ScrollView>();\n private stickyContainerOpacity: Animated.Value;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n insets: EdgeInsets | null = {\n top: 0, bottom: 0, left: 0, right: 0\n };\n\n constructor(props: WmContainerProps) {\n super(props, DEFAULT_CLASS, new WmContainerProps(), new WmContainerState());\n this.containerRef = React.createRef();\n this.stickyContainerOpacity = new Animated.Value(1);\n\n this.subscribe('updateStickyHeaders', (_event: any) => {\n if(this.props.sticky){\n setTimeout(()=>{\n this.getStickyHeaderTranslateY();\n }, 500);\n }\n })\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n }\n\n private handleOnScrollEndDrag = (event: any) => {\n const currentY = event?.nativeEvent?.contentOffset?.y;\n if (currentY > 0) {\n this.invokeEventCallback('onScroll', [null, this.proxy]);\n }\n }\n\n private handleOnMomentumScrollEnd = (event: any) => {\n const currentY = event?.nativeEvent?.contentOffset?.y;\n if (currentY < 1) {\n this.invokeEventCallback('onScrolltotop', [null, this.proxy]);\n }\n }\n\n // Compute root style respecting 'fill'|'hug'|<size> for width/height.\n private getRootContainerStyle(): ViewStyle {\n // const { width, height } = this.props;\n const baseStyle = this.styles.root || {};\n const { width, height }: any = baseStyle;\n const dimensionStyle: ViewStyle = {};\n const isRow = this.props?.direction === \"row\";\n\n if (height === 'fill') {\n if (isRow) {\n dimensionStyle.alignSelf = 'stretch';\n } else {\n dimensionStyle.flexGrow = 1;\n }\n dimensionStyle.height = undefined;\n }\n else if (height === 'hug') {\n if (isRow) {\n dimensionStyle.alignSelf = 'flex-start';\n } else {\n dimensionStyle.flexGrow = 0;\n }\n dimensionStyle.height = undefined;\n }\n else if (height) {\n const num = (typeof height === 'string' && height.endsWith('%')) ? height : parseFloat(height);\n dimensionStyle.height = (isNaN(num as number) ? height : num) as DimensionValue;\n }\n\n if (width === 'fill') {\n if (isRow) {\n dimensionStyle.width = '100%';\n } else {\n dimensionStyle.alignSelf = 'stretch';\n dimensionStyle.width = undefined;\n }\n }\n else if (width === 'hug') {\n if (isRow) {\n dimensionStyle.flexGrow = 0;\n } else {\n dimensionStyle.alignSelf = 'flex-start';\n }\n dimensionStyle.width = undefined;\n }\n else if (width) {\n const num = (typeof width === 'string' && width.endsWith('%')) ? width : parseFloat(width);\n dimensionStyle.width = (isNaN(num as number) ? width : num) as DimensionValue;\n }\n\n const styleWithResize = {\n ...baseStyle,\n ...dimensionStyle,\n };\n\n return this._showSkeleton\n ? { ...styleWithResize, ...this.styles.skeleton?.root }\n : styleWithResize;\n }\n\n // Compute content layout (flexDirection, wrap, gap, justifyContent, alignItems).\n private getContentContainerStyle(): ViewStyle {\n const { direction, wrap, gap, alignment, columngap } = this.props;\n\n /* Check if any of the new layout props are provided. If not, return an empty\n style object to maintain backward compatibility. */\n const useNewLayoutSystem =\n direction !== undefined ||\n wrap !== undefined ||\n gap !== undefined ||\n alignment !== undefined ||\n columngap !== undefined;\n\n if (!useNewLayoutSystem) {\n return {};\n }\n\n // Apply defaults only if the new layout system is active\n const finalDirection = direction ?? 'row';\n const finalWrap = wrap ?? false;\n const finalGap = gap ?? 4;\n const finalAlignment = alignment ?? 'top-left';\n\n const isRow = finalDirection === 'row';\n const isAutoGap = finalGap === 'auto';\n const isWrap = finalWrap === 'true' || finalWrap === true;\n\n const layoutStyle: ViewStyle = {\n flexDirection: finalDirection,\n flexWrap: isWrap && isRow ? 'wrap' : 'nowrap',\n };\n\n if (isAutoGap) {\n const alignConfig =\n alignmentMatrixAuto[finalAlignment] || alignmentMatrixAuto['start'];\n layoutStyle.justifyContent =\n alignConfig.justifyContent as ViewStyle['justifyContent'];\n layoutStyle.alignItems =\n alignConfig.alignItems as ViewStyle['alignItems'];\n } else {\n if (isRow) {\n // For a row, the main-axis gap (between items) is columnGap.\n layoutStyle.columnGap = Number(finalGap);\n } else {\n // For a column, the main-axis gap (between items) is rowGap.\n layoutStyle.rowGap = Number(finalGap);\n }\n const alignConfig =\n alignmentMatrixFixed[finalAlignment] || alignmentMatrixFixed['top-left'];\n\n layoutStyle.justifyContent = (\n isRow ? alignConfig.justifyContent : alignConfig.alignItems\n ) as ViewStyle['justifyContent'];\n layoutStyle.alignItems = (\n isRow ? alignConfig.alignItems : alignConfig.justifyContent\n ) as ViewStyle['alignItems'];\n }\n\n // Add columnGap logic for wrapped rows\n if (isWrap && isRow) {\n if (columngap === 'auto') {\n layoutStyle.alignContent = 'space-between';\n } else if (columngap !== undefined) {\n layoutStyle.rowGap = Number(columngap);\n }\n }\n\n return {\n ...layoutStyle,\n };\n }\n\n public renderSkeleton(props: WmContainerProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const dimensions = {\n width: this.styles.root.width ? '100%' : undefined,\n height: this.styles.root.height ? '100%' : undefined\n };\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n <Tappable {...this.getTestPropsForAction()} target={this} styles={dimensions} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={[dimensions as ViewStyle, this.styles.content]}>{this.renderContent(props)}</View>\n </Tappable>\n\n </View>))\n }\n return null;\n }\n\n public getStickyHeaderTranslateY(){\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.containerRef?.current?.measure((_x = 0, _y = 0, _width = 0, _height = 0, px = 0, py = 0)=>{\n const topInsetsInYposition = (Platform.OS == 'ios' && !isEdgeToEdgeApp) ? (this.insets?.top || 0): 0\n if((this.context) && (this.context as StickyWrapperContextType).stickyContainerTranslateY) {\n (this.context as StickyWrapperContextType).stickyContainerTranslateY.value = py - topInsetsInYposition ;\n this.updateState({ stickyContainerVisibility: true} as WmContainerState); \n }\n })\n }\n\n componentDidUpdate(_prevProps: any, prevState: any) {\n if (prevState.stickyContainerVisibility !== this.state.stickyContainerVisibility) {\n Animated.timing(this.stickyContainerOpacity, {\n toValue: this.state.stickyContainerVisibility ? 0 : 1,\n delay: 500,\n useNativeDriver: true\n }).start();\n }\n\n //emiting container wdiget scrollview ref value to bottom sheet widget(bottom sheet sticky header/footer feature)\n if (this.scrollViewRef.current) {\n this.notify('containerScrollViewReady', [this.scrollViewRef], true);\n }\n }\n\n private renderStickyContent(props: WmContainerProps, dimensions: ViewStyle, styles: ViewStyle, autoLayoutStyle: ViewStyle) {\n const { stickyContainerVisibility } = this.state;\n const { positioningStyles } = getParentStyles(this);\n\n return (\n <>\n {stickyContainerVisibility ? (\n <StickyContainer\n component={this}\n theme={this.theme}\n style={[\n this.styles.sticky,\n { backgroundColor: styles.backgroundColor }\n ]}\n positionStyles={positioningStyles}\n show={props.show as boolean}\n >\n <View style={[dimensions as ViewStyle, { backgroundColor: styles.backgroundColor }, this.styles.content, autoLayoutStyle]}>\n {this.renderContent(props)}\n </View>\n </StickyContainer>\n ) : <></>}\n <Animated.View\n style={[\n dimensions as ViewStyle,\n { opacity: this.stickyContainerOpacity },\n this.styles.content,\n autoLayoutStyle\n ]}\n ref={this.containerRef}\n >\n {this.renderContent(props)}\n </Animated.View>\n </>\n );\n }\n\n renderWidget(props: WmContainerProps) {\n const rootStyle = this.getRootContainerStyle();\n const autoLayoutStyle = this.getContentContainerStyle();\n\n const dimensions: ViewStyle = {\n width: rootStyle.width ? '100%' : undefined,\n height: rootStyle.height ? '100%' : undefined\n };\n\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root;\n\n if (props.sticky) {\n this.isSticky = true;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n return (\n <Animatedview\n entryanimation={props.animation}\n delay={props.animationdelay}\n style={rootStyle}\n onLayout={(event: LayoutChangeEvent, ref: React.RefObject<View>) => {\n this.handleLayout(event, ref);\n }}\n >\n {this.getBackground()}\n <Tappable\n {...this.getTestPropsForAction()}\n target={this}\n styles={dimensions}\n disableTouchEffect={this.state.props.disabletoucheffect}\n >\n {props.sticky ? (\n this.renderStickyContent(props, dimensions, styles, autoLayoutStyle)\n ) : !props.scrollable ? (\n <View style={[\n dimensions as ViewStyle,\n this.styles.content,\n autoLayoutStyle]}>\n {this.renderContent(props)}\n </View>\n ) : (\n <ScrollView\n style={[dimensions as ViewStyle, this.styles.content, autoLayoutStyle]}\n onScroll={(event) => this.notify('scroll', [event], props.emittoparent)}\n scrollEventThrottle={48}\n ref={this.scrollViewRef}\n onScrollEndDrag={this.handleOnScrollEndDrag}\n onMomentumScrollEnd={this.handleOnMomentumScrollEnd}\n >\n {this.renderContent(props)}\n </ScrollView>\n )}\n </Tappable>\n </Animatedview>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -55,6 +55,13 @@ export class BaseInputComponent extends BaseComponent {
|
|
|
55
55
|
this.updateState({
|
|
56
56
|
textValue: $new
|
|
57
57
|
});
|
|
58
|
+
if (!this.state.isValid) {
|
|
59
|
+
const validationObj = validateField(this.state.props, $new);
|
|
60
|
+
this.updateState({
|
|
61
|
+
isValid: validationObj.isValid,
|
|
62
|
+
errorType: validationObj.errorType || ''
|
|
63
|
+
});
|
|
64
|
+
}
|
|
58
65
|
const isDefault = this.state.props.isdefault;
|
|
59
66
|
if (isDefault) {
|
|
60
67
|
this.updateState({
|