@wavemaker/app-rn-runtime 11.12.1-rc.221 → 11.13.0-2.647474
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 +439 -131
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.props.js +7 -0
- package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.styles.js +12 -3
- package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
- package/components/input/chips/chips.component.js +10 -20
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.styles.js +32 -32
- package/components/input/chips/chips.styles.js.map +1 -1
- package/components/page/page.component.js +3 -1
- package/components/page/page.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/responsive.utils.js +2 -2
- package/core/responsive.utils.js.map +1 -1
- package/core/screen-capture-protection.service.js +5 -0
- package/core/screen-capture-protection.service.js.map +1 -0
- package/core/secure-storage.service.js +55 -0
- package/core/secure-storage.service.js.map +1 -0
- package/core/storage.service.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +6 -6
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/gestures/swipe.animation.js +6 -6
- package/gestures/swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +2803 -2134
- package/package-lock.json +2803 -2134
- package/package.json +5 -3
- package/runtime/App.js +32 -2
- package/runtime/App.js.map +1 -1
- package/runtime/base-page.component.js +17 -1
- package/runtime/base-page.component.js.map +1 -1
- package/styles/theme.js +3 -0
- package/styles/theme.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createRef","BaseComponent","BaseComponentState","View","Animated","PanResponder","Dimensions","TouchableWithoutFeedback","Platform","StatusBar","BackHandler","KeyboardAvoidingView","Keyboard","Modal","ScrollView","WmBottomsheetProps","DEFAULT_CLASS","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","SafeAreaInsetsContext","height","SCREEN_HEIGHT","get","WmBottomsheetState","constructor","args","_defineProperty","Value","WmBottomsheet","calculateSheetHeight","bottomsheetheightratio","effectiveRatio","defaultHeight","maxHeightRatio","Math","max","minimumHeight","min","maxHeight","screenHeight","windowHeight","calculatedHeight","OS","defaultTopInset","statusBarHeight","open","state","isBottomsheetVisible","updateState","openSheet","close","closeSheet","props","currentHeight","event","_event$endCoordinates","keyboardHeight","endCoordinates","isIosKeyboardHeightSet","_event$endCoordinates2","iosKeyboardHeight","availableHeight","bufferSpace","topInset","adjustedHeight","timing","sheetHeight","toValue","duration","useNativeDriver","start","isExpanded","expandedHeight","gestureState","lastGestureDy","dy","parallel","translateY","animationDuration","vy","create","onStartShouldSetPanResponder","_","scrollOffset","onMoveShouldSetPanResponder","onPanResponderMove","newTranslateY","setValue","onPanResponderRelease","handleSwipeGesture","onPanResponderTerminate","expand","targetHeight","offsetY","nativeEvent","contentOffset","y","isScrolling","backdropOpacity","invokeEventCallback","requestAnimationFrame","handleClose","createElement","Consumer","insets","top","bottom","left","right","_extends","style","styles","root","getTestProps","_background","onPress","backdrop","opacity","BOTTOMSHEET","container","transform","panResponder","panHandlers","dragHandleContainer","dragHandlePanResponder","dragIconHandle","ref","scrollViewRef","sheetContentContainer","contentContainerStyle","sheetScrollContent","alwaysBounceVertical","alwaysBounceHorizontal","bounces","showsVerticalScrollIndicator","scrollEventThrottle","onScroll","handleScroll","nestedScrollEnabled","scrollEnabled","children","expandedRatio","bottomsheetexpandedheightratio","expandedDefaultHeight","effectiveExpandedRatio","minimumExpandedHeight","showonrender","closeSheetImmediate","componentDidMount","addEventListener","handleBackPress","keyboardDidShowListener","addListener","onKeyboardShow","keyboardDidHideListener","onKeyboardHide","componentWillUnmount","removeEventListener","remove","componentDidUpdate","prevProps","onPropertyChange","name","$new","$old","renderSkeleton","theme","skeleton","width","renderWidget","modal","visible","transparent","animationType","onRequestClose","statusBarTranslucent","flex","behavior","undefined","keyboardVerticalOffset","renderContent"],"sources":["bottomsheet.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View, Animated, PanResponder, Dimensions, TouchableWithoutFeedback, Platform, PanResponderGestureState, StatusBar, BackHandler, DimensionValue, KeyboardAvoidingView, Keyboard, EmitterSubscription, Modal } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\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 { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nconst { height: SCREEN_HEIGHT } = Dimensions.get('screen');\nexport class WmBottomsheetState extends BaseComponentState<WmBottomsheetProps> {\n translateY = new Animated.Value(SCREEN_HEIGHT);\n backdropOpacity = new Animated.Value(0);\n sheetHeight = new Animated.Value(0);\n lastGestureDy = 0;\n scrollViewRef = createRef<ScrollView>();\n isScrolling = false;\n scrollOffset = 0;\n isExpanded = false;\n isBottomsheetVisible = false;\n keyboardHeight = 0;\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.2;\n private minimumExpandedHeight: number = 0.5;\n private maxHeight: number = 1.0; // Allow full screen height\n private animationDuration: number = 400\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 topInset: number = 0;\n private iosKeyboardHeight: number = 0;\n private isIosKeyboardHeightSet: boolean = false\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 const windowHeight = Dimensions.get('window').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 constructor(props: WmBottomsheetProps) {\n super(props, DEFAULT_CLASS, new WmBottomsheetProps(), new WmBottomsheetState());\n this.calculatedHeight = this.calculateSheetHeight(props.bottomsheetheightratio);\n\n // Use bottomsheetexpandedheightratio if provided, otherwise use expandedDefaultHeight\n const expandedRatio = props.bottomsheetexpandedheightratio || this.expandedDefaultHeight;\n const effectiveExpandedRatio = Math.max(\n this.minimumExpandedHeight,\n Math.min(expandedRatio, this.maxHeight)\n );\n\n this.expandedHeight = SCREEN_HEIGHT * effectiveExpandedRatio;\n\n if (Platform.OS === 'android') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.statusBarHeight;\n }\n }\n if (Platform.OS === 'ios') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.defaultTopInset;\n }\n }\n this.state.sheetHeight.setValue(this.calculatedHeight);\n\n this.updateState({\n isBottomsheetVisible: this.props.showonrender || false\n } as WmBottomsheetState);\n\n if (this.state.isBottomsheetVisible) {\n this.openSheet();\n } else {\n this.closeSheetImmediate();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n if (Platform.OS === 'android') {\n 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 (Platform.OS === 'android') {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);\n }\n this.keyboardDidShowListener.remove();\n this.keyboardDidHideListener.remove();\n }\n\n private handleBackPress = () => {\n if (this.state.isBottomsheetVisible) {\n this.closeSheet();\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 // Animate the sheet height adjustment\n Animated.timing(this.state.sheetHeight, {\n toValue: adjustedHeight,\n duration: 100,\n useNativeDriver: false,\n }).start();\n this.updateState({\n keyboardHeight: keyboardHeight,\n } as WmBottomsheetState);\n };\n\n private onKeyboardHide = () => {\n // Restore the original sheet height when keyboard hides\n Animated.timing(this.state.sheetHeight, {\n toValue: this.state.isExpanded ? this.expandedHeight : this.calculatedHeight,\n duration: 100,\n useNativeDriver: false,\n }).start();\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 this.state.sheetHeight.setValue(this.calculatedHeight);\n }\n }\n\n handleSwipeGesture = (gestureState: PanResponderGestureState) => {\n this.updateState({\n lastGestureDy: 0\n } as WmBottomsheetState);\n if (gestureState.dy > 0) {\n if (this.state.isExpanded) {\n // Expand the bottom sheet threshold is 25% of the fully expanded height\n // If the user swipe distance is below the threshold, revert to the original sheet height\n if (gestureState.dy < this.expandedHeight / 4) {\n Animated.parallel([\n Animated.timing(this.state.translateY, {\n toValue: 0, // Keep sheet open\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n Animated.timing(this.state.sheetHeight, {\n toValue: this.calculatedHeight, // Back to original height\n duration: this.animationDuration,\n useNativeDriver: false,\n })\n ]).start();\n this.updateState({\n isExpanded: false\n } as WmBottomsheetState);\n }\n else if (gestureState.dy > this.expandedHeight / 4 || gestureState.vy > 0.5) {\n this.closeSheet();\n }\n }\n else {\n if (gestureState.dy > 100 || gestureState.vy > 0.5) {\n this.closeSheet();\n } else {\n this.openSheet();\n }\n }\n }\n }\n // panResponder for bottom sheet scroll view\n panResponder = PanResponder.create({\n onStartShouldSetPanResponder: (_, gestureState) => {\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n },\n\n onMoveShouldSetPanResponder: (_, gestureState) => {\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n },\n\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0) {\n const newTranslateY = Math.max(0, this.state.lastGestureDy + gestureState.dy);\n this.state.translateY.setValue(newTranslateY);\n\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 onPanResponderMove: (_, gestureState) => {\n\n if (gestureState.dy > 0) { // Handle downward drag\n const newTranslateY = Math.max(0, this.state.lastGestureDy + gestureState.dy);\n this.state.translateY.setValue(newTranslateY);\n } else if (gestureState.dy < 0 && this.props.expand && this.props.bottomsheetheightratio !== 1) {\n // Handle upward drag - expand to full height\n // Allow expansion to full screen height\n const targetHeight = Math.min(this.expandedHeight, SCREEN_HEIGHT);\n Animated.timing(this.state.sheetHeight, {\n toValue: targetHeight,\n duration: this.animationDuration,\n useNativeDriver: false,\n }).start();\n this.updateState({\n isExpanded: true\n } as WmBottomsheetState);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\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 this.updateState({\n lastGestureDy: 0,\n } as WmBottomsheetState);\n\n Animated.parallel([\n Animated.timing(this.state.translateY, {\n toValue: 0,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n Animated.timing(this.state.backdropOpacity, {\n toValue: 1,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n ]).start(() => {\n this.invokeEventCallback('onOpened', [null, this]);\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 Animated.parallel([\n Animated.timing(this.state.translateY, {\n toValue: SCREEN_HEIGHT,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n Animated.timing(this.state.backdropOpacity, {\n toValue: 0,\n duration: this.animationDuration,\n useNativeDriver: false,\n }),\n ]).start(() => {\n requestAnimationFrame(() => {\n this.state.sheetHeight.setValue(this.calculatedHeight);\n this.updateState({\n isExpanded: false\n } as WmBottomsheetState);\n this.handleClose();\n });\n });\n };\n\n closeSheetImmediate = () => {\n this.state.translateY.setValue(SCREEN_HEIGHT);\n this.state.backdropOpacity.setValue(0);\n this.updateState({\n lastGestureDy: 0,\n isExpanded: false,\n isBottomsheetVisible: false\n } as WmBottomsheetState);\n requestAnimationFrame(() => {\n this.state.sheetHeight.setValue(this.calculatedHeight);\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 private renderContent = (props: WmBottomsheetProps) => {\n\n return (\n <SafeAreaInsetsContext.Consumer >\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.topInset = insets?.top || 0;\n return (\n <View style={this.styles.root}\n {...this.getTestProps('keyboardview')}>\n\n {this._background}\n <TouchableWithoutFeedback onPress={this.closeSheet}>\n <Animated.View style={[this.styles.backdrop, { opacity: this.state.backdropOpacity }]}\n {...this.getTestProps('backdrop')}\n {...getAccessibilityProps(AccessibilityWidgetType.BOTTOMSHEET, props)}\n />\n </TouchableWithoutFeedback>\n\n <Animated.View\n style={[\n this.styles.container,\n\n {\n height: this.state.sheetHeight,\n transform: [{ translateY: this.state.translateY }],\n },\n ]}\n {...this.panResponder.panHandlers}\n\n\n >\n <View style={this.styles.dragHandleContainer} {...this.dragHandlePanResponder.panHandlers}>\n <TouchableWithoutFeedback onPress={this.closeSheet}>\n <View style={this.styles.dragIconHandle}\n {...this.getTestProps('draghandle')} />\n </TouchableWithoutFeedback>\n </View>\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={true}\n {...this.getTestProps('scorllview')}\n >\n {props.children}\n </ScrollView>\n\n </Animated.View>\n\n </View>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n };\n\n renderWidget(props: WmBottomsheetProps) {\n if (!this.state.isBottomsheetVisible) return null;\n\n if (props.modal) {\n return (\n <Modal\n visible={this.state.isBottomsheetVisible}\n transparent={true}\n animationType=\"none\"\n onRequestClose={this.closeSheet}\n statusBarTranslucent={true}\n >\n <KeyboardAvoidingView\n style={{ flex: 1 }}\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={Platform.OS === 'ios' ? 0 : undefined}\n >\n {this.renderContent(props)}\n </KeyboardAvoidingView>\n </Modal>\n );\n } else {\n return this.renderContent(props);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createRef","BaseComponent","BaseComponentState","View","PanResponder","Dimensions","TouchableWithoutFeedback","Platform","StatusBar","BackHandler","KeyboardAvoidingView","Keyboard","Modal","Pressable","ScrollView","Animated","useAnimatedStyle","withTiming","runOnJS","Easing","makeMutable","cancelAnimation","WmBottomsheetProps","DEFAULT_CLASS","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","ModalProvider","SafeAreaInsetsContext","height","SCREEN_HEIGHT","get","WmBottomsheetState","constructor","args","_defineProperty","AnimatedBottomsheetContent","translateY","backdropOpacity","sheetHeight","lastGestureDy","styles","props","children","panHandlers","dragHandlePanHandlers","onBackdropPress","onDragHandlePress","getTestProps","enabledragsettle","backdropAnimatedStyle","opacity","value","containerAnimatedStyle","transform","contentStyle","paddingBottom","createElement","Fragment","onPress","_extends","style","backdrop","BOTTOMSHEET","container","dragHandleContainer","dragIconHandle","WmBottomsheet","getAnimationDuration","distance","velocity","velocityFactor","Math","max","min","abs","calculatedDuration","calculateSheetHeight","bottomsheetheightratio","effectiveRatio","defaultHeight","maxHeightRatio","minimumHeight","maxHeight","screenHeight","calculatedHeight","OS","defaultTopInset","statusBarHeight","open","state","isBottomsheetVisible","updateState","openSheet","close","closeSheet","currentHeight","isExpanded","targetHeight","expandedHeight","callback","invokeEventCallback","lastGestureDyShared","duration","animationDuration","easing","out","ease","finished","localModalsOpened","length","top","sheetModalService","hideModal","disableswipedownclose","autoclose","event","_event$endCoordinates","keyboardHeight","endCoordinates","isIosKeyboardHeightSet","_event$endCoordinates2","iosKeyboardHeight","availableHeight","bufferSpace","topInset","adjustedHeight","modal","keyboardAnimationDuration","gestureState","dy","_this$translateY","currentTranslateY","vy","_this$sheetHeight","sheetMinimumHeight","bottomsheetminimumheight","create","onStartShouldSetPanResponder","_","disablescrollonrest","scrollOffset","onMoveShouldSetPanResponder","onPanResponderGrant","onPanResponderMove","newTranslateY","isDragHandleExpanding","expand","expandBottomSheet","onPanResponderRelease","handleSwipeGesture","onPanResponderTerminate","offsetY","nativeEvent","contentOffset","y","isScrolling","handleClose","requestAnimationFrame","Consumer","insets","bottom","left","right","root","_background","panResponder","dragHandlePanResponder","handleBackdropPress","handleDragHandlePress","bind","ref","scrollViewRef","sheetContentContainer","contentContainerStyle","sheetScrollContent","alwaysBounceVertical","alwaysBounceHorizontal","bounces","showsVerticalScrollIndicator","scrollEventThrottle","onScroll","handleScroll","nestedScrollEnabled","scrollEnabled","issticky","enablemodalsupport","map","o","i","key","name","onStartShouldSetResponder","onResponderEnd","isModal","modalOverlay","centered","centeredOverlay","zIndex","elevationIndex","elevation","modalStyle","e","stopPropagation","content","expandedRatio","bottomsheetexpandedheightratio","expandedDefaultHeight","effectiveExpandedRatio","minimumExpandedHeight","showonrender","refresh","forceUpdate","showModal","options","exists","find","list","setTimeout","onOpen","idx","findIndex","onClose","splice","componentDidMount","addEventListener","handleBackPress","keyboardDidShowListener","addListener","onKeyboardShow","keyboardDidHideListener","onKeyboardHide","componentWillUnmount","removeEventListener","remove","componentDidUpdate","prevProps","onPropertyChange","$new","$old","closeSheetImmediate","renderSkeleton","theme","skeleton","width","renderWidget","visible","transparent","animationType","onRequestClose","statusBarTranslucent","flex","behavior","keyboardVerticalOffset","undefined","renderContent"],"sources":["bottomsheet.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { View, PanResponder, Dimensions, TouchableWithoutFeedback, Platform, PanResponderGestureState, StatusBar, BackHandler, DimensionValue, KeyboardAvoidingView, Keyboard, EmitterSubscription, Modal, NativeEventSubscription, Pressable } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport Animated, {\n useAnimatedStyle,\n withTiming,\n runOnJS,\n Easing,\n SharedValue,\n makeMutable,\n cancelAnimation\n} from 'react-native-reanimated';\nimport WmBottomsheetProps from './bottomsheet.props';\nimport { DEFAULT_CLASS, WmBottomsheetStyles } from './bottomsheet.styles';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { ModalProvider, ModalService, ModalOptions } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nconst { height: SCREEN_HEIGHT } = Dimensions.get('screen');\nexport class WmBottomsheetState extends BaseComponentState<WmBottomsheetProps> {\n scrollViewRef = createRef<ScrollView>();\n isScrolling = false;\n scrollOffset = 0;\n isExpanded = false;\n isBottomsheetVisible = false;\n keyboardHeight = 0;\n localModalsOpened: ModalOptions[] = [];\n lastGestureDy = 0;\n}\n\n// Animated wrapper component that uses hooks\nconst AnimatedBottomsheetContent = ({\n translateY,\n backdropOpacity,\n sheetHeight,\n lastGestureDy,\n styles,\n props,\n children,\n panHandlers,\n dragHandlePanHandlers,\n onBackdropPress,\n onDragHandlePress,\n getTestProps,\n enabledragsettle\n}: any) => {\n const backdropAnimatedStyle = useAnimatedStyle(() => ({\n opacity: backdropOpacity.value\n }));\n\n const containerAnimatedStyle = useAnimatedStyle(() => ({\n height: sheetHeight.value,\n transform: [{ translateY: translateY.value }]\n }));\n\n const contentStyle = useAnimatedStyle(() => {\n if (enabledragsettle && lastGestureDy.value > 0) {\n return {\n paddingBottom: lastGestureDy.value\n };\n }\n return {};\n });\n\n return (\n <>\n <TouchableWithoutFeedback onPress={onBackdropPress}>\n <Animated.View\n style={[styles.backdrop, backdropAnimatedStyle]}\n {...getTestProps('backdrop')}\n {...getAccessibilityProps(AccessibilityWidgetType.BOTTOMSHEET, props)}\n />\n </TouchableWithoutFeedback>\n\n <Animated.View\n style={[styles.container, containerAnimatedStyle]}\n {...panHandlers}\n >\n <View style={styles.dragHandleContainer} {...dragHandlePanHandlers}>\n <Pressable onPress={onDragHandlePress}>\n <View style={styles.dragIconHandle} {...getTestProps('draghandle')} />\n </Pressable>\n </View>\n {children(contentStyle)}\n </Animated.View>\n </>\n );\n};\n\nexport default class WmBottomsheet extends BaseComponent<WmBottomsheetProps, WmBottomsheetState, WmBottomsheetStyles> {\n private calculatedHeight: number;\n private expandedHeight: number;\n private defaultHeight: number = 0.5;\n private expandedDefaultHeight: number = 0.8;\n private minimumHeight: number = 0.01;\n private minimumExpandedHeight: number = 0.5;\n private maxHeight: number = 1.0;\n private animationDuration: number = 400;\n private keyboardAnimationDuration: number = Platform.OS === 'ios' ? 250 : 275;\n private statusBarHeight: number = StatusBar.currentHeight || 0;\n private defaultTopInset: number = 44;\n private maxHeightRatio: number = 0;\n private keyboardDidShowListener!: EmitterSubscription;\n private keyboardDidHideListener!: EmitterSubscription;\n private topInset: number = 0;\n private iosKeyboardHeight: number = 0;\n private isIosKeyboardHeightSet: boolean = false;\n private sheetModalService: ModalService;\n private isDragHandleExpanding: boolean = false;\n\n // Reanimated shared values - created once and reused\n private translateY!: SharedValue<number>;\n private backdropOpacity!: SharedValue<number>;\n private sheetHeight!: SharedValue<number>;\n private lastGestureDyShared!: SharedValue<number>;\n\n // Helper method to calculate animation duration based on distance and velocity\n private getAnimationDuration(distance: number, velocity: number): number {\n // Base duration on distance, but cap it between 200-500ms\n // Higher velocity = shorter duration for snappier feel\n const velocityFactor = Math.max(0.3, Math.min(1, 1 - Math.abs(velocity) / 2));\n const calculatedDuration = Math.abs(distance) * velocityFactor;\n return Math.min(500, Math.max(200, calculatedDuration));\n }\n\n private calculateSheetHeight(bottomsheetheightratio: number): number {\n // Use default height if ratio not provided, but ensure it's not below minimum\n const effectiveRatio = bottomsheetheightratio || this.defaultHeight;\n this.maxHeightRatio = Math.max(\n this.minimumHeight,\n Math.min(effectiveRatio, this.maxHeight)\n );\n\n const screenHeight = Dimensions.get('screen').height;\n let calculatedHeight = screenHeight * this.maxHeightRatio;\n\n if (Platform.OS === 'ios') {\n // Subtract top inset bar height for ios only if bottomsheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.defaultTopInset;\n }\n }\n else if (Platform.OS === 'android') {\n // Subtract status bar height for Android only if bottomsheetheightratio is 0.9\n if (this.maxHeightRatio >= 0.9) {\n calculatedHeight -= this.statusBarHeight;\n }\n }\n return calculatedHeight;\n }\n\n open() {\n if (!this.state.isBottomsheetVisible)\n this.updateState({\n isBottomsheetVisible: true\n } as WmBottomsheetState);\n this.openSheet();\n }\n\n close() {\n if (this.state.isBottomsheetVisible) {\n this.closeSheet();\n }\n }\n\n isSheetExpanded = () => {\n return this.state.isExpanded\n }\n\n expandBottomSheet = () => {\n const targetHeight = Math.min(this.expandedHeight, SCREEN_HEIGHT);\n const callback = () => {\n this.updateState({\n isExpanded: true,\n lastGestureDy: 0\n } as WmBottomsheetState);\n this.invokeEventCallback('onExpand', [null, this]);\n };\n\n // Reset drag settle value immediately on UI thread\n this.lastGestureDyShared.value = 0;\n\n if (this.props.enabledragsettle) {\n // Synchronize both animations to complete together\n this.sheetHeight.value = withTiming(targetHeight, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n this.translateY.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n } else {\n // Only animate height for non-drag-settle mode\n this.sheetHeight.value = withTiming(targetHeight, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n }\n }\n\n collapseBottomSheet = () => {\n const callback = () => {\n this.updateState({\n isExpanded: false,\n lastGestureDy: 0\n } as WmBottomsheetState);\n this.invokeEventCallback('onCollapse', [null, this]);\n };\n\n // Reset drag settle value immediately on UI thread\n this.lastGestureDyShared.value = 0;\n\n this.translateY.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n this.sheetHeight.value = withTiming(this.calculatedHeight, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n }\n\n constructor(props: WmBottomsheetProps) {\n super(props, DEFAULT_CLASS, new WmBottomsheetProps(), new WmBottomsheetState());\n this.calculatedHeight = this.calculateSheetHeight(props.bottomsheetheightratio);\n\n // Use bottomsheetexpandedheightratio if provided, otherwise use expandedDefaultHeight\n const expandedRatio = props.bottomsheetexpandedheightratio || this.expandedDefaultHeight;\n const effectiveExpandedRatio = Math.max(\n this.minimumExpandedHeight,\n Math.min(expandedRatio, this.maxHeight)\n );\n\n this.expandedHeight = SCREEN_HEIGHT * effectiveExpandedRatio;\n\n if (Platform.OS === 'android') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.statusBarHeight;\n }\n }\n if (Platform.OS === 'ios') {\n if (effectiveExpandedRatio >= 0.9) {\n this.expandedHeight -= this.defaultTopInset;\n }\n }\n\n // Initialize shared values in constructor using makeMutable (not hooks)\n // makeMutable can be called outside of React components\n this.translateY = makeMutable(SCREEN_HEIGHT);\n this.backdropOpacity = makeMutable(0);\n this.sheetHeight = makeMutable(this.calculatedHeight);\n this.lastGestureDyShared = makeMutable(0);\n\n this.updateState({\n isBottomsheetVisible: this.props.showonrender || false\n } as WmBottomsheetState);\n\n // Initialize values immediately to prevent flicker\n if (this.props.showonrender) {\n this.translateY.value = 0;\n this.backdropOpacity.value = 1;\n }\n\n // Local ModalService for content rendered inside Bottomsheet\n this.sheetModalService = {\n refresh: () => this.forceUpdate(),\n showModal: (options: ModalOptions) => {\n const exists = this.state.localModalsOpened.find(o => o === options);\n if (!exists) {\n // ensure high z-index within sheet\n (options as any).elevationIndex = 9999 + this.state.localModalsOpened.length + 1;\n const list = [...this.state.localModalsOpened, options];\n this.updateState({ localModalsOpened: list } as WmBottomsheetState, () => {\n setTimeout(() => options.onOpen && options.onOpen(), 0);\n });\n }\n },\n hideModal: (options?: ModalOptions) => {\n const list = [...this.state.localModalsOpened];\n const idx = options ? list.findIndex(o => o === options) : (list.length - 1);\n if (idx >= 0) {\n const o = list[idx];\n o && o.onClose && o.onClose();\n list.splice(idx, 1);\n this.updateState({ localModalsOpened: list } as WmBottomsheetState);\n }\n }\n };\n }\n\n componentDidMount() {\n super.componentDidMount();\n\n // Trigger animation after mount if showonrender is true\n if (this.state.isBottomsheetVisible) {\n // Use requestAnimationFrame to ensure animation happens after initial render\n requestAnimationFrame(() => {\n this.openSheet();\n });\n }\n\n if (Platform.OS === 'android') {\n 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 (Platform.OS === 'android') {\n BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);\n }\n if (this.keyboardDidShowListener) {\n this.keyboardDidShowListener.remove();\n }\n if (this.keyboardDidHideListener) {\n this.keyboardDidHideListener.remove();\n }\n }\n\n private handleBackPress = () => {\n // Close top-most local modal first, if any\n if (this.state.localModalsOpened && this.state.localModalsOpened.length > 0) {\n const top = this.state.localModalsOpened[this.state.localModalsOpened.length - 1];\n this.sheetModalService.hideModal(top);\n return true;\n }\n if (this.state.isBottomsheetVisible) {\n if (!this.props.disableswipedownclose && this.props.autoclose !== 'disabled') {\n this.closeSheet();\n }\n return true; // Prevent default back action\n }\n return false;\n };\n\n private onKeyboardShow = (event: any) => {\n let keyboardHeight = event.endCoordinates?.height || 0;\n //only storing ios keyboard height once as first time keyboard open (to avoid scroll flickring issue in ios in text widget)\n if (!this.isIosKeyboardHeightSet) {\n this.iosKeyboardHeight = event.endCoordinates?.height + 40;\n this.isIosKeyboardHeightSet = true;\n }\n // Calculate available space after keyboard\n const availableHeight = SCREEN_HEIGHT - (Platform.OS == 'ios' ? this.iosKeyboardHeight : keyboardHeight);\n // Calculate adjusted sheet height to fit within available space\n // Leave some buffer space for the drag handle and safe area\n const bufferSpace = (Platform.OS === 'ios' ? this.topInset : this.statusBarHeight) + 20;\n const adjustedHeight = availableHeight - bufferSpace;\n\n if (this.sheetHeight && Platform.OS == 'android' && this.props.modal) {\n // Use platform-specific keyboard animation duration for smooth synchronization\n this.sheetHeight.value = withTiming(adjustedHeight, {\n duration: this.keyboardAnimationDuration,\n easing: Easing.out(Easing.ease)\n });\n }\n\n this.updateState({\n keyboardHeight: keyboardHeight,\n } as WmBottomsheetState);\n };\n\n private onKeyboardHide = () => {\n if (this.sheetHeight && Platform.OS == 'android' && this.props.modal) {\n // Use platform-specific keyboard animation duration for smooth synchronization\n this.sheetHeight.value = withTiming(\n this.state.isExpanded ? this.expandedHeight : this.calculatedHeight,\n {\n duration: this.keyboardAnimationDuration,\n easing: Easing.out(Easing.ease)\n }\n );\n }\n\n this.updateState({\n keyboardHeight: 0,\n } as WmBottomsheetState);\n };\n\n componentDidUpdate(prevProps: WmBottomsheetProps) {\n if (prevProps.bottomsheetheightratio !== this.props.bottomsheetheightratio) {\n this.calculatedHeight = this.calculateSheetHeight(this.props.bottomsheetheightratio);\n if (this.sheetHeight) {\n this.sheetHeight.value = this.calculatedHeight;\n }\n }\n }\n\n handleSwipeGesture = (gestureState: PanResponderGestureState) => {\n\n // Only reset lastGestureDy for traditional behavior, not for drag and settle\n if (!this.props.enabledragsettle) {\n this.updateState({\n lastGestureDy: 0\n } as WmBottomsheetState);\n if (this.lastGestureDyShared) {\n this.lastGestureDyShared.value = 0;\n }\n }\n\n if (this.props.enabledragsettle && gestureState.dy > 0) {\n const currentTranslateY = this.translateY?.value || 0;\n\n if (gestureState.vy > 0.5 && !this.props.disableswipedownclose) {\n this.closeSheet();\n return;\n }\n\n if (this.translateY && this.lastGestureDyShared) {\n this.translateY.value = currentTranslateY;\n this.lastGestureDyShared.value = currentTranslateY;\n }\n\n this.updateState({\n isExpanded: false,\n lastGestureDy: currentTranslateY\n } as WmBottomsheetState);\n return;\n }\n\n if (gestureState.dy > 0) {\n if (this.state.isExpanded || this.props.disableswipedownclose) {\n if (gestureState.dy < this.expandedHeight / 4 || this.props.disableswipedownclose) {\n let sheetMinimumHeight = this.props.bottomsheetminimumheight || 0.1;\n const targetHeight = this.props.disableswipedownclose ? sheetMinimumHeight * SCREEN_HEIGHT : this.calculatedHeight;\n const currentHeight = this.sheetHeight?.value || this.expandedHeight;\n const distance = Math.abs(currentHeight - targetHeight);\n const duration = this.getAnimationDuration(distance, gestureState.vy);\n\n const callback = () => {\n this.updateState({\n isExpanded: false\n } as WmBottomsheetState);\n this.invokeEventCallback('onCollapse', [null, this]);\n };\n\n if (this.translateY && this.sheetHeight) {\n this.translateY.value = withTiming(0, {\n duration: duration,\n easing: Easing.out(Easing.ease)\n });\n this.sheetHeight.value = withTiming(\n targetHeight,\n {\n duration: duration,\n easing: Easing.out(Easing.ease)\n },\n (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n }\n );\n }\n } else if ((gestureState.dy > this.expandedHeight / 4 || gestureState.vy > 0.5) && !this.props.disableswipedownclose) {\n this.closeSheet();\n }\n } else {\n if (this.props.disableswipedownclose) {\n this.openSheet();\n return;\n }\n if ((gestureState.dy > 100 || gestureState.vy > 0.5) && !this.props.disableswipedownclose) {\n this.closeSheet();\n } else {\n this.openSheet();\n }\n }\n }\n }\n // panResponder for bottom sheet scroll view\n panResponder = PanResponder.create({\n onStartShouldSetPanResponder: (_, gestureState) => {\n if (this.props.disablescrollonrest && !this.state.isExpanded) {\n return true\n }\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n\n },\n\n onMoveShouldSetPanResponder: (_, gestureState) => {\n if (this.props.disablescrollonrest && !this.state.isExpanded) {\n return true\n }\n // Only handle the gesture if we're at the top and swiping down\n return gestureState.dy > 0 && this.state.scrollOffset <= 0;\n\n },\n\n onPanResponderGrant: () => {\n // Cancel any ongoing animations when user starts dragging\n if (this.translateY) {\n cancelAnimation(this.translateY);\n }\n },\n\n onPanResponderMove: (_, gestureState) => {\n\n if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared) {\n const newTranslateY = Math.max(0, this.lastGestureDyShared.value + gestureState.dy);\n this.translateY.value = newTranslateY;\n // Reset expand flag if dragging down\n this.isDragHandleExpanding = false;\n }\n else if (gestureState.dy < 0 && this.props.expand && this.props.bottomsheetheightratio !== 1 && !this.isDragHandleExpanding && !this.state.isExpanded) {\n // Only trigger expand once with threshold of -50px upward drag\n this.isDragHandleExpanding = true;\n this.expandBottomSheet();\n }\n },\n\n onPanResponderRelease: (_, gestureState) => {\n this.handleSwipeGesture(gestureState);\n },\n\n onPanResponderTerminate: () => {\n this.openSheet();\n },\n });\n\n //pan repsoneder for bottom sheet dragable container\n dragHandlePanResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n\n onPanResponderGrant: () => {\n // Cancel any ongoing animations when user starts dragging\n if (this.translateY) {\n cancelAnimation(this.translateY);\n }\n // Reset the expand flag\n this.isDragHandleExpanding = false;\n },\n\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared) {\n const newTranslateY = Math.max(0, this.lastGestureDyShared.value + gestureState.dy);\n this.translateY.value = newTranslateY;\n // Reset expand flag if dragging down\n this.isDragHandleExpanding = false;\n } else if (gestureState.dy < -50 && this.props.expand && this.props.bottomsheetheightratio !== 1 && !this.isDragHandleExpanding && !this.state.isExpanded) {\n // Only trigger expand once with threshold of -50px upward drag\n this.isDragHandleExpanding = true;\n this.expandBottomSheet();\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n this.isDragHandleExpanding = false;\n this.handleSwipeGesture(gestureState);\n },\n });\n\n handleScroll = (event: any): any => {\n if (this.state.keyboardHeight > 0) return null;\n const offsetY = event.nativeEvent.contentOffset.y;\n this.updateState({\n isScrolling: offsetY > 0,\n scrollOffset: offsetY\n } as WmBottomsheetState);\n };\n\n openSheet = () => {\n const callback = () => {\n this.updateState({\n lastGestureDy: 0,\n } as WmBottomsheetState);\n this.invokeEventCallback('onOpened', [null, this]);\n };\n\n // Reset drag settle value immediately on UI thread\n if (this.lastGestureDyShared) {\n this.lastGestureDyShared.value = 0;\n }\n\n if (this.translateY && this.backdropOpacity) {\n this.translateY.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n // Backdrop animation synchronized with sheet animation\n this.backdropOpacity.value = withTiming(1, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n }\n };\n\n private handleClose = () => {\n this.updateState({\n isBottomsheetVisible: false\n } as WmBottomsheetState);\n this.invokeEventCallback('onClose', [null, this]);\n };\n\n closeSheet = () => {\n const callback = () => {\n // Reset sheet height after close\n if (this.sheetHeight) {\n this.sheetHeight.value = this.calculatedHeight;\n }\n this.updateState({\n isExpanded: false,\n localModalsOpened: [] as ModalOptions[]\n } as WmBottomsheetState);\n this.handleClose();\n };\n\n if (this.translateY && this.backdropOpacity) {\n this.translateY.value = withTiming(SCREEN_HEIGHT, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n }, (finished) => {\n if (finished) {\n runOnJS(callback)();\n }\n });\n // Backdrop animation synchronized with sheet animation\n this.backdropOpacity.value = withTiming(0, {\n duration: this.animationDuration,\n easing: Easing.out(Easing.ease)\n });\n }\n };\n\n closeSheetImmediate = () => {\n if (this.translateY && this.backdropOpacity && this.lastGestureDyShared) {\n this.translateY.value = SCREEN_HEIGHT;\n this.backdropOpacity.value = 0;\n this.lastGestureDyShared.value = 0;\n }\n\n this.updateState({\n lastGestureDy: 0,\n isExpanded: false,\n isBottomsheetVisible: false,\n localModalsOpened: [] as ModalOptions[]\n } as WmBottomsheetState);\n\n requestAnimationFrame(() => {\n if (this.sheetHeight) {\n this.sheetHeight.value = this.calculatedHeight;\n }\n });\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case \"showonrender\":\n if ($new) {\n this.updateState({\n isBottomsheetVisible: $new || false\n } as WmBottomsheetState);\n if (this.state.isBottomsheetVisible) {\n this.openSheet && this.openSheet();\n }\n } else {\n this.closeSheetImmediate && this.closeSheetImmediate();\n }\n break;\n }\n }\n\n public renderSkeleton(props: WmBottomsheetProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.styles.root.width as DimensionValue,\n height: this.styles.root.height as DimensionValue\n });\n }\n\n // Class methods to prevent recreation on every render\n private handleBackdropPress = () => {\n if (this.props.autoclose !== 'disabled') {\n this.closeSheet();\n }\n };\n\n private handleDragHandlePress = () => {\n this.invokeEventCallback('onDraghandleiconclick', [null, this]);\n };\n\n private renderContent = (props: WmBottomsheetProps) => {\n // Don't render if shared values aren't initialized yet\n if (!this.translateY || !this.backdropOpacity || !this.sheetHeight || !this.lastGestureDyShared) {\n return null;\n }\n\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n // Store topInset for later use (avoid mutation during render)\n const topInset = insets?.top || 0;\n // Update the instance variable outside of render cycle\n if (this.topInset !== topInset) {\n requestAnimationFrame(() => {\n this.topInset = topInset;\n });\n }\n return (\n <View style={this.styles.root} {...this.getTestProps('keyboardview')}>\n {this._background}\n\n <AnimatedBottomsheetContent\n translateY={this.translateY}\n backdropOpacity={this.backdropOpacity}\n sheetHeight={this.sheetHeight}\n lastGestureDy={this.lastGestureDyShared}\n styles={this.styles}\n props={props}\n panHandlers={this.panResponder.panHandlers}\n dragHandlePanHandlers={this.dragHandlePanResponder.panHandlers}\n onBackdropPress={this.handleBackdropPress}\n onDragHandlePress={this.handleDragHandlePress}\n getTestProps={this.getTestProps.bind(this)}\n enabledragsettle={props.enabledragsettle}\n >\n {(contentStyle: any) => (\n <ScrollView\n ref={this.state.scrollViewRef}\n style={this.styles.sheetContentContainer}\n contentContainerStyle={[this.styles.sheetScrollContent]}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n showsVerticalScrollIndicator={false}\n scrollEventThrottle={16}\n onScroll={this.handleScroll}\n nestedScrollEnabled={true}\n scrollEnabled={!props.issticky && (!props.disablescrollonrest || this.state.isExpanded)}\n {...this.getTestProps('scorllview')}\n >\n {props.enablemodalsupport ? (\n <ModalProvider value={this.sheetModalService}>\n <Animated.View style={contentStyle}>\n {props.children}\n </Animated.View>\n </ModalProvider>\n ) : (\n <Animated.View style={contentStyle}>\n {props.children}\n </Animated.View>\n )}\n </ScrollView>\n )}\n </AnimatedBottomsheetContent>\n\n {props.enablemodalsupport && this.state.localModalsOpened && this.state.localModalsOpened.map((o, i) => (\n <View\n key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && this.sheetModalService.hideModal(o)}\n style={[\n this.styles.modalOverlay,\n (o as any).centered ? this.styles.centeredOverlay : null,\n { zIndex: (o as any).elevationIndex || 9999, elevation: (o as any).elevationIndex || 9999 },\n (o.modalStyle || {})\n ]}\n >\n <View\n style={[(o.contentStyle || {})]}\n onStartShouldSetResponder={() => true}\n onResponderEnd={(e) => e.stopPropagation()}\n >\n {o.content}\n </View>\n </View>\n ))}\n </View>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n };\n\n renderWidget(props: WmBottomsheetProps) {\n if (!this.state.isBottomsheetVisible) return null;\n\n if (props.modal) {\n\n return (\n <Modal\n visible={this.state.isBottomsheetVisible}\n transparent={true}\n animationType=\"none\"\n onRequestClose={() => {\n if (!this.props.disableswipedownclose && this.props.autoclose !== 'disabled') {\n this.closeSheet();\n }\n }}\n statusBarTranslucent={false}\n >\n <KeyboardAvoidingView\n style={{ flex: 1 }}\n behavior={'padding'}\n keyboardVerticalOffset={Platform.OS === 'ios' ? 0 : undefined}\n >\n {this.renderContent(props)}\n </KeyboardAvoidingView>\n </Modal>\n );\n } else {\n return this.renderContent(props);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,13 @@ export default class WmBottomsheetProps extends BaseProps {
|
|
|
14
14
|
_defineProperty(this, "onOpened", null);
|
|
15
15
|
_defineProperty(this, "onClose", null);
|
|
16
16
|
_defineProperty(this, "modal", true);
|
|
17
|
+
_defineProperty(this, "enablemodalsupport", true);
|
|
18
|
+
_defineProperty(this, "autoclose", 'outsideClick');
|
|
19
|
+
_defineProperty(this, "disableswipedownclose", false);
|
|
20
|
+
_defineProperty(this, "bottomsheetminimumheight", 0.1);
|
|
21
|
+
_defineProperty(this, "enabledragsettle", false);
|
|
22
|
+
_defineProperty(this, "disablescrollonrest", false);
|
|
23
|
+
_defineProperty(this, "issticky", false);
|
|
17
24
|
}
|
|
18
25
|
}
|
|
19
26
|
//# sourceMappingURL=bottomsheet.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmBottomsheetProps","constructor","args","_defineProperty"],"sources":["bottomsheet.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmBottomsheetProps extends BaseProps {\n showonrender: boolean = false;\n bottomsheetheightratio:number = 0.3;\n children? = null as any;\n expand?:boolean = false;\n bottomsheetexpandedheightratio?:number = 0.5; \n keyboardverticaloffset: number = 100;\n onOpened?: Function = null as any;\n onClose?: Function = null as any;\n modal?: boolean = true;\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,kBAAkB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC9B,KAAK;IAAAA,eAAA,iCACG,GAAG;IAAAA,eAAA,mBACvB,IAAI;IAAAA,eAAA,iBACE,KAAK;IAAAA,eAAA,yCACkB,GAAG;IAAAA,eAAA,iCACX,GAAG;IAAAA,eAAA,mBACd,IAAI;IAAAA,eAAA,kBACL,IAAI;IAAAA,eAAA,gBACP,IAAI;EAAA;
|
|
1
|
+
{"version":3,"names":["BaseProps","WmBottomsheetProps","constructor","args","_defineProperty"],"sources":["bottomsheet.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmBottomsheetProps extends BaseProps {\n showonrender: boolean = false;\n bottomsheetheightratio:number = 0.3;\n children? = null as any;\n expand?:boolean = false;\n bottomsheetexpandedheightratio?:number = 0.5; \n keyboardverticaloffset: number = 100;\n onOpened?: Function = null as any;\n onClose?: Function = null as any;\n modal?: boolean = true;\n enablemodalsupport?: boolean = true;\n autoclose?: 'outsideClick' | 'disabled' = 'outsideClick';\n disableswipedownclose?:boolean = false;\n bottomsheetminimumheight?:number = 0.1;\n enabledragsettle?: boolean = false;\n disablescrollonrest?: boolean = false;\n issticky: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,kBAAkB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC9B,KAAK;IAAAA,eAAA,iCACG,GAAG;IAAAA,eAAA,mBACvB,IAAI;IAAAA,eAAA,iBACE,KAAK;IAAAA,eAAA,yCACkB,GAAG;IAAAA,eAAA,iCACX,GAAG;IAAAA,eAAA,mBACd,IAAI;IAAAA,eAAA,kBACL,IAAI;IAAAA,eAAA,gBACP,IAAI;IAAAA,eAAA,6BACS,IAAI;IAAAA,eAAA,oBACO,cAAc;IAAAA,eAAA,gCACvB,KAAK;IAAAA,eAAA,mCACF,GAAG;IAAAA,eAAA,2BACV,KAAK;IAAAA,eAAA,8BACF,KAAK;IAAAA,eAAA,mBACjB,KAAK;EAAA;AAC7B","ignoreList":[]}
|
|
@@ -42,9 +42,7 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
|
42
42
|
borderTopWidth: 0.5,
|
|
43
43
|
borderColor: ThemeVariables.INSTANCE.bottomSheetBgColor,
|
|
44
44
|
width: '100%',
|
|
45
|
-
maxHeight: '100%'
|
|
46
|
-
// Allow full screen height
|
|
47
|
-
minHeight: 100 // Minimum height to prevent too small sheets
|
|
45
|
+
maxHeight: '100%' // Allow full screen height
|
|
48
46
|
},
|
|
49
47
|
dragHandleContainer: {
|
|
50
48
|
paddingVertical: 16,
|
|
@@ -70,6 +68,17 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
|
70
68
|
paddingBottom: 20,
|
|
71
69
|
flexGrow: 1
|
|
72
70
|
},
|
|
71
|
+
modalOverlay: {
|
|
72
|
+
position: 'absolute',
|
|
73
|
+
top: 0,
|
|
74
|
+
left: 0,
|
|
75
|
+
right: 0,
|
|
76
|
+
bottom: 0
|
|
77
|
+
},
|
|
78
|
+
centeredOverlay: {
|
|
79
|
+
justifyContent: 'center',
|
|
80
|
+
alignItems: 'center'
|
|
81
|
+
},
|
|
73
82
|
skeleton: {
|
|
74
83
|
root: {}
|
|
75
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","ThemeVariables","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","position","top","left","right","bottom","zIndex","elevation","width","height","justifyContent","text","backdrop","backgroundColor","INSTANCE","bottomSheetBgColor","container","borderTopLeftRadius","borderTopRightRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","borderTopWidth","borderColor","maxHeight","
|
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","ThemeVariables","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","position","top","left","right","bottom","zIndex","elevation","width","height","justifyContent","text","backdrop","backgroundColor","INSTANCE","bottomSheetBgColor","container","borderTopLeftRadius","borderTopRightRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","borderTopWidth","borderColor","maxHeight","dragHandleContainer","paddingVertical","alignItems","borderBottomWidth","borderBottomColor","dragIconHandle","bottomSheetDragIconcolor","borderRadius","sheetContentContainer","flex","sheetScrollContent","paddingHorizontal","paddingBottom","flexGrow","modalOverlay","centeredOverlay","skeleton"],"sources":["bottomsheet.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { TextStyle, ViewStyle } from 'react-native';\nimport { WmSkeletonStyles } from '../skeleton/skeleton.styles';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nexport type WmBottomsheetStyles = BaseStyles & {\n root: ViewStyle;\n backdrop: ViewStyle;\n container: ViewStyle;\n dragHandleContainer: ViewStyle;\n dragIconHandle: ViewStyle;\n sheetContentContainer: ViewStyle;\n sheetScrollContent: ViewStyle;\n modalOverlay: ViewStyle;\n centeredOverlay: ViewStyle;\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-bottomsheet';\n\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles = defineStyles<WmBottomsheetStyles>({\n root: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 9999,\n elevation: 9999,\n width: '100%',\n height: '100%',\n justifyContent: 'flex-end', // This pushes content to bottom\n },\n text: {},\n backdrop: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: '100%',\n height: '100%',\n backgroundColor: ThemeVariables.INSTANCE.bottomSheetBgColor\n },\n container: {\n backgroundColor: '#fff',\n borderTopLeftRadius: 28,\n borderTopRightRadius: 28,\n shadowColor: '#000',\n shadowOffset: { width: 0, height: -2 },\n shadowOpacity: 0.05,\n shadowRadius: 3,\n elevation: 5,\n borderTopWidth: 0.5,\n borderColor: ThemeVariables.INSTANCE.bottomSheetBgColor,\n width: '100%',\n maxHeight: '100%', // Allow full screen height\n },\n dragHandleContainer: {\n paddingVertical: 16,\n alignItems: 'center',\n borderBottomWidth: 1,\n borderBottomColor: ThemeVariables.INSTANCE.bottomSheetBgColor,\n backgroundColor: '#fff',\n borderTopLeftRadius: 28,\n borderTopRightRadius: 28,\n },\n dragIconHandle: {\n width: 36,\n height: 4,\n backgroundColor: ThemeVariables.INSTANCE.bottomSheetDragIconcolor,\n borderRadius: 2,\n },\n sheetContentContainer: {\n flex: 1,\n maxHeight: '100%', // Ensure it doesn't exceed container\n },\n sheetScrollContent: {\n paddingHorizontal: 20,\n paddingBottom: 20,\n flexGrow: 1,\n },\n modalOverlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n },\n centeredOverlay: {\n justifyContent: 'center',\n alignItems: 'center'\n },\n skeleton: {\n root: {\n \n }\n } as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAGxF,OAAOC,cAAc,MAAM,kDAAkD;AAc7E,OAAO,MAAMC,aAAa,GAAG,iBAAiB;AAE9CH,UAAU,CAACI,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAa,GAAGN,YAAY,CAAsB;IACpDO,IAAI,EAAE;MACFC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTC,MAAM,EAAE,IAAI;MACZC,SAAS,EAAE,IAAI;MACfC,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,MAAM;MACdC,cAAc,EAAE,UAAU,CAAE;IAChC,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,QAAQ,EAAE;MACNX,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;MACTG,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,MAAM;MACdI,eAAe,EAAEnB,cAAc,CAACoB,QAAQ,CAACC;IAC7C,CAAC;IACDC,SAAS,EAAE;MACPH,eAAe,EAAE,MAAM;MACvBI,mBAAmB,EAAE,EAAE;MACvBC,oBAAoB,EAAE,EAAE;MACxBC,WAAW,EAAE,MAAM;MACnBC,YAAY,EAAE;QAAEZ,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE,CAAC;MAAE,CAAC;MACtCY,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,CAAC;MACff,SAAS,EAAE,CAAC;MACZgB,cAAc,EAAE,GAAG;MACnBC,WAAW,EAAE9B,cAAc,CAACoB,QAAQ,CAACC,kBAAkB;MACvDP,KAAK,EAAE,MAAM;MACbiB,SAAS,EAAE,MAAM,CAAE;IACvB,CAAC;IACDC,mBAAmB,EAAE;MACjBC,eAAe,EAAE,EAAE;MACnBC,UAAU,EAAE,QAAQ;MACpBC,iBAAiB,EAAE,CAAC;MACpBC,iBAAiB,EAAEpC,cAAc,CAACoB,QAAQ,CAACC,kBAAkB;MAC7DF,eAAe,EAAE,MAAM;MACvBI,mBAAmB,EAAE,EAAE;MACvBC,oBAAoB,EAAE;IAC1B,CAAC;IACDa,cAAc,EAAE;MACZvB,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE,CAAC;MACTI,eAAe,EAAEnB,cAAc,CAACoB,QAAQ,CAACkB,wBAAwB;MACjEC,YAAY,EAAE;IAClB,CAAC;IACDC,qBAAqB,EAAE;MACnBC,IAAI,EAAE,CAAC;MACPV,SAAS,EAAE,MAAM,CAAE;IACvB,CAAC;IACDW,kBAAkB,EAAE;MAChBC,iBAAiB,EAAE,EAAE;MACrBC,aAAa,EAAE,EAAE;MACjBC,QAAQ,EAAE;IACd,CAAC;IACDC,YAAY,EAAE;MACVvC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACNC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACZ,CAAC;IACDoC,eAAe,EAAE;MACb/B,cAAc,EAAE,QAAQ;MACxBkB,UAAU,EAAE;IAChB,CAAC;IACDc,QAAQ,EAAE;MACV1C,IAAI,EAAE,CAEN;IACF;EACF,CAAC,CAAC;EAEFF,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -227,16 +227,11 @@ export default class WmChips extends BaseDatasetComponent {
|
|
|
227
227
|
this.invokeEventCallback('onChipselect', [null, this, item]);
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
|
-
}), this.state.props.getLeftBadge && this.state.props.getLeftBadge(index) ? /*#__PURE__*/React.createElement(WmLabel,
|
|
231
|
-
|
|
232
|
-
styles:
|
|
233
|
-
text: {
|
|
234
|
-
...this.styles.leftBadge,
|
|
235
|
-
...(isSelected ? this.styles.activeLeftBadge : {})
|
|
236
|
-
}
|
|
237
|
-
},
|
|
230
|
+
}), this.state.props.getLeftBadge && this.state.props.getLeftBadge(index) ? /*#__PURE__*/React.createElement(WmLabel, {
|
|
231
|
+
id: this.getTestId('chip' + index + 'leftbadge'),
|
|
232
|
+
styles: isSelected ? this.styles.activeLeftBadge : this.styles.leftBadge,
|
|
238
233
|
caption: this.state.props.getLeftBadge && this.state.props.getLeftBadge(index)
|
|
239
|
-
})
|
|
234
|
+
}) : null, isSelected && this.isDefaultView() ? /*#__PURE__*/React.createElement(WmIcon, {
|
|
240
235
|
id: this.getTestId('checkicon'),
|
|
241
236
|
iconclass: this.state.props.selectediconclass || 'wm-sl-l sl-check',
|
|
242
237
|
iconsize: 16,
|
|
@@ -247,7 +242,7 @@ export default class WmChips extends BaseDatasetComponent {
|
|
|
247
242
|
}),
|
|
248
243
|
accessible: false
|
|
249
244
|
}) : this.state.props.getLeftIconClassName && this.state.props.getLeftIconClassName(index) ? /*#__PURE__*/React.createElement(WmIcon, {
|
|
250
|
-
id: this.getTestId('lefticon'),
|
|
245
|
+
id: this.getTestId('chip' + index + 'lefticon'),
|
|
251
246
|
iconclass: this.state.props.getLeftIconClassName && this.state.props.getLeftIconClassName(index),
|
|
252
247
|
iconsize: 14,
|
|
253
248
|
styles: this.styles.leftIcon,
|
|
@@ -266,17 +261,12 @@ export default class WmChips extends BaseDatasetComponent {
|
|
|
266
261
|
}
|
|
267
262
|
}) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForAction('chip' + index + 'label'), {
|
|
268
263
|
style: [this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]
|
|
269
|
-
}), item.displayexp || item.displayfield), this.state.props.getRightBadge && this.state.props.getRightBadge(index) ? /*#__PURE__*/React.createElement(WmLabel,
|
|
270
|
-
|
|
271
|
-
styles:
|
|
272
|
-
text: {
|
|
273
|
-
...this.styles.rightBadge,
|
|
274
|
-
...(isSelected ? this.styles.activeRightBadge : {})
|
|
275
|
-
}
|
|
276
|
-
},
|
|
264
|
+
}), item.displayexp || item.displayfield), this.state.props.getRightBadge && this.state.props.getRightBadge(index) ? /*#__PURE__*/React.createElement(WmLabel, {
|
|
265
|
+
id: this.getTestId('chip' + index + 'rightbadge'),
|
|
266
|
+
styles: isSelected ? this.styles.activeRightBadge : this.styles.rightBadge,
|
|
277
267
|
caption: this.state.props.getRightBadge && this.state.props.getRightBadge(index)
|
|
278
|
-
})
|
|
279
|
-
id: this.getTestId('righticon'),
|
|
268
|
+
}) : null, this.state.props.getRightIconClassName && this.state.props.getRightIconClassName(index) ? /*#__PURE__*/React.createElement(WmIcon, {
|
|
269
|
+
id: this.getTestId('chip' + index + 'righticon'),
|
|
280
270
|
iconclass: this.state.props.getRightIconClassName && this.state.props.getRightIconClassName(index),
|
|
281
271
|
iconsize: 16,
|
|
282
272
|
styles: isSelected ? this.styles.activeRightIcon : this.styles.rightIcon,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","WmLabel","WmChipsState","constructor","args","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","datavalue","state","dataItems","dataValueItems","Array","isArray","split","map","item","trim","slice","updatedItems","selected","includes","datafield","reset","_this$searchRef","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","computeDisplayValue","displayValue","displayexp","displayfield","selectChip","chipItem","selectionMode","selectionmode","key","maxsize","selectedItem","d","dataValue","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","accessibilityProps","accessibilityLabel","accessibilityState","accessibilityRole","createElement","_extends","getTestPropsForAction","style","styles","chip","activeChip","onPress","disabled","readonly","getLeftBadge","classname","text","leftBadge","activeLeftBadge","caption","id","getTestId","iconclass","selectediconclass","iconsize","doneIcon","icon","color","activeChipLabel","accessible","getLeftIconClassName","leftIcon","_showSkeleton","imageStyles","picturesource","imgSrc","shape","root","width","chipLabel","getRightBadge","rightBadge","activeRightBadge","getRightIconClassName","activeRightIcon","rightIcon","clearIcon","onTap","accessibilitylabel","accessibilityrole","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderSkeleton","chipsWrapper","renderWidget","chips","accessibilityHint","hint","onLayout","event","handleLayout","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text, DimensionValue, AccessibilityRole } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge, isArray, isString } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport WmLabel from '../../basic/label/label.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList: [],\n } as WmChipsState);\n }\n break;\n case 'maxsize':\n if ($new) {\n const { datavalue } = this.state.props;\n const { dataItems } = this.state;\n \n let dataValueItems = Array.isArray(datavalue)\n ? datavalue\n : typeof datavalue === 'string'\n ? datavalue.split(',').map((item) => item.trim())\n : datavalue != null\n ? [datavalue]\n : [];\n\n if (dataValueItems.length >= $new) {\n dataValueItems = dataValueItems.slice(0, $new);\n const updatedItems = dataItems.map((item:any) => ({\n ...item,\n selected: dataValueItems.includes(item.datafield),\n }));\n this.updateState({ dataItems: updatedItems } as WmChipsState);\n }\n\n break;\n }\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmChipsState);\n }\n\n selectChip(chipItem: any) {\n const selectionMode = this.state.props.selectionmode || 'multiple';\n if (selectionMode === 'single') {\n // Single selection: deselect all others and select only the clicked one\n forEach(this.state.dataItems, (item) => {\n item.selected = (item.key === chipItem.key);\n });\n } \n else {\n // Multiple selection: original working logic\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n if (selectedItem) {\n selectedItem.selected = chipItem.selected;\n }\n }\n \n const newChipList: any = [];\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n \n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n \n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState,()=>{\n this.setDatavalue(newChipList);\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent && this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n });\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n const accessibilityProps = {\n accessibilityLabel: item.displayexp || item.displayfield,\n accessibilityState: {\n selected: isSelected,\n },\n accessibilityRole: 'checkbox' as AccessibilityRole\n }\n\n\n\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n {...accessibilityProps}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignorex\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n \n {/* Left Badge */}\n {(this.state.props.getLeftBadge && this.state.props.getLeftBadge(index)) ? (\n <WmLabel \n {...this.getTestPropsForAction('chip'+ index+'leftbadge')} \n classname={isSelected ? 'app-chips-active-left-badge' : 'app-chips-left-badge'}\n styles={{text: {...this.styles.leftBadge, ...(isSelected ? this.styles.activeLeftBadge : {})}}}\n caption={(this.state.props.getLeftBadge && this.state.props.getLeftBadge(index))}\n />\n ) : null}\n \n {/* Selected Icon OR Left Icon (mutually exclusive) */}\n {isSelected && this.isDefaultView() ? (\n <WmIcon \n id={this.getTestId('checkicon')} \n iconclass={this.state.props.selectediconclass || 'wm-sl-l sl-check'} \n iconsize={16} \n styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})} \n accessible={false}\n />\n ) : (\n (this.state.props.getLeftIconClassName && this.state.props.getLeftIconClassName(index)) ? (\n <WmIcon \n id={this.getTestId('lefticon')} \n iconclass={this.state.props.getLeftIconClassName && this.state.props.getLeftIconClassName(index)} \n iconsize={14} \n styles={this.styles.leftIcon} \n accessible={false}\n />\n ) : null\n )}\n \n {/* Picture */}\n {this._showSkeleton ? null : (\n <WmPicture \n id={this.getTestId('chip'+ index + 'picture')} \n styles={this.styles.imageStyles} \n picturesource={item.imgSrc} \n shape='circle' \n accessible={false}\n />\n )}\n \n {/* Label */}\n {this._showSkeleton ? (\n <WmLabel styles={{root: {width: 50}}}/>\n ) : (\n <Text \n {...this.getTestPropsForAction('chip'+ index+'label')}\n style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}\n >\n {item.displayexp || item.displayfield}\n </Text>\n )}\n \n {/* Right Badge */}\n {(this.state.props.getRightBadge && this.state.props.getRightBadge(index)) ? (\n <WmLabel \n {...this.getTestPropsForAction('chip'+ index+'rightbadge')} \n classname={isSelected ? 'app-chips-active-right-badge' : 'app-chips-right-badge'}\n styles={{text: {...this.styles.rightBadge, ...(isSelected ? this.styles.activeRightBadge : {})}}}\n caption={(this.state.props.getRightBadge && this.state.props.getRightBadge(index))}\n />\n ) : null}\n \n {/* Right Icon */}\n {(this.state.props.getRightIconClassName && this.state.props.getRightIconClassName(index)) ? (\n <WmIcon \n id={this.getTestId('righticon')} \n iconclass={(this.state.props.getRightIconClassName && this.state.props.getRightIconClassName(index))} \n iconsize={16} \n styles={isSelected ? this.styles.activeRightIcon : this.styles.rightIcon} \n accessible={false}\n />\n ) : null}\n \n {/* Clear Button (only in non-default view) */}\n {!this.isDefaultView() && !(this.state.props.disabled || this.state.props.readonly) ? (\n <WmIcon \n id={this.getTestId('clearbtn')} \n iconclass={'wi wi-clear'} \n iconsize={16} \n styles={this.styles.clearIcon} \n onTap={() => this.removeItem(item, index)} \n accessibilitylabel='clear' \n accessibilityrole='button'\n />\n ) : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n this.updateMaxSize(selectedItems.length);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n } \n renderSkeleton(): React.ReactNode {\n return (<View style={this.styles.root}>\n <View style={this.styles.chipsWrapper}>{ \n [{}, {}, {}].map((item: any, index: any) => this.renderChip(item, index)) }\n </View>\n </View>)\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n const accessibilityProps = {\n accessible: true,\n accessibilityLabel: props.accessibilitylabel || 'Choose tags',\n accessibilityHint: props.hint,\n accessibilityRole: props.accessibilityrole\n }\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n\n <View style={this.styles.chipsWrapper} {...accessibilityProps}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}} {...accessibilityProps}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","WmLabel","WmChipsState","constructor","args","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","datavalue","state","dataItems","dataValueItems","Array","isArray","split","map","item","trim","slice","updatedItems","selected","includes","datafield","reset","_this$searchRef","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","computeDisplayValue","displayValue","displayexp","displayfield","selectChip","chipItem","selectionMode","selectionmode","key","maxsize","selectedItem","d","dataValue","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","accessibilityProps","accessibilityLabel","accessibilityState","accessibilityRole","createElement","_extends","getTestPropsForAction","style","styles","chip","activeChip","onPress","disabled","readonly","getLeftBadge","id","getTestId","activeLeftBadge","leftBadge","caption","iconclass","selectediconclass","iconsize","doneIcon","icon","color","activeChipLabel","accessible","getLeftIconClassName","leftIcon","_showSkeleton","imageStyles","picturesource","imgSrc","shape","root","width","chipLabel","getRightBadge","activeRightBadge","rightBadge","getRightIconClassName","activeRightIcon","rightIcon","clearIcon","onTap","accessibilitylabel","accessibilityrole","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderSkeleton","chipsWrapper","renderWidget","chips","accessibilityHint","hint","onLayout","event","handleLayout","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text, DimensionValue, AccessibilityRole } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge, isArray, isString } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport WmLabel from '../../basic/label/label.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList: [],\n } as WmChipsState);\n }\n break;\n case 'maxsize':\n if ($new) {\n const { datavalue } = this.state.props;\n const { dataItems } = this.state;\n \n let dataValueItems = Array.isArray(datavalue)\n ? datavalue\n : typeof datavalue === 'string'\n ? datavalue.split(',').map((item) => item.trim())\n : datavalue != null\n ? [datavalue]\n : [];\n\n if (dataValueItems.length >= $new) {\n dataValueItems = dataValueItems.slice(0, $new);\n const updatedItems = dataItems.map((item:any) => ({\n ...item,\n selected: dataValueItems.includes(item.datafield),\n }));\n this.updateState({ dataItems: updatedItems } as WmChipsState);\n }\n\n break;\n }\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmChipsState);\n }\n\n selectChip(chipItem: any) {\n const selectionMode = this.state.props.selectionmode || 'multiple';\n if (selectionMode === 'single') {\n // Single selection: deselect all others and select only the clicked one\n forEach(this.state.dataItems, (item) => {\n item.selected = (item.key === chipItem.key);\n });\n } \n else {\n // Multiple selection: original working logic\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n if (selectedItem) {\n selectedItem.selected = chipItem.selected;\n }\n }\n \n const newChipList: any = [];\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n \n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n \n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState,()=>{\n this.setDatavalue(newChipList);\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent && this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n });\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n const accessibilityProps = {\n accessibilityLabel: item.displayexp || item.displayfield,\n accessibilityState: {\n selected: isSelected,\n },\n accessibilityRole: 'checkbox' as AccessibilityRole\n }\n\n\n\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n {...accessibilityProps}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignorex\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n \n {/* Left Badge */}\n {(this.state.props.getLeftBadge && this.state.props.getLeftBadge(index)) ? (\n <WmLabel \n id={this.getTestId('chip'+ index+'leftbadge')} \n styles={isSelected ? this.styles.activeLeftBadge : this.styles.leftBadge}\n caption={(this.state.props.getLeftBadge && this.state.props.getLeftBadge(index))}\n />\n ) : null}\n \n {/* Selected Icon OR Left Icon (mutually exclusive) */}\n {isSelected && this.isDefaultView() ? (\n <WmIcon \n id={this.getTestId('checkicon')} \n iconclass={this.state.props.selectediconclass || 'wm-sl-l sl-check'} \n iconsize={16} \n styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})} \n accessible={false}\n />\n ) : (\n (this.state.props.getLeftIconClassName && this.state.props.getLeftIconClassName(index)) ? (\n <WmIcon \n id={this.getTestId('chip'+index+'lefticon')} \n iconclass={this.state.props.getLeftIconClassName && this.state.props.getLeftIconClassName(index)} \n iconsize={14} \n styles={this.styles.leftIcon} \n accessible={false}\n />\n ) : null\n )}\n \n {/* Picture */}\n {this._showSkeleton ? null : (\n <WmPicture \n id={this.getTestId('chip'+ index + 'picture')} \n styles={this.styles.imageStyles} \n picturesource={item.imgSrc} \n shape='circle' \n accessible={false}\n />\n )}\n \n {/* Label */}\n {this._showSkeleton ? (\n <WmLabel styles={{root: {width: 50}}}/>\n ) : (\n <Text \n {...this.getTestPropsForAction('chip'+ index+'label')}\n style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}\n >\n {item.displayexp || item.displayfield}\n </Text>\n )}\n \n {/* Right Badge */}\n {(this.state.props.getRightBadge && this.state.props.getRightBadge(index)) ? (\n <WmLabel \n id={this.getTestId('chip'+ index+'rightbadge')} \n styles={isSelected ? this.styles.activeRightBadge : this.styles.rightBadge}\n caption={(this.state.props.getRightBadge && this.state.props.getRightBadge(index))}\n />\n ) : null}\n \n {/* Right Icon */}\n {(this.state.props.getRightIconClassName && this.state.props.getRightIconClassName(index)) ? (\n <WmIcon \n id={this.getTestId('chip'+index+'righticon')} \n iconclass={(this.state.props.getRightIconClassName && this.state.props.getRightIconClassName(index))} \n iconsize={16} \n styles={isSelected ? this.styles.activeRightIcon : this.styles.rightIcon} \n accessible={false}\n />\n ) : null}\n \n {/* Clear Button (only in non-default view) */}\n {!this.isDefaultView() && !(this.state.props.disabled || this.state.props.readonly) ? (\n <WmIcon \n id={this.getTestId('clearbtn')} \n iconclass={'wi wi-clear'} \n iconsize={16} \n styles={this.styles.clearIcon} \n onTap={() => this.removeItem(item, index)} \n accessibilitylabel='clear' \n accessibilityrole='button'\n />\n ) : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n this.updateMaxSize(selectedItems.length);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n } \n renderSkeleton(): React.ReactNode {\n return (<View style={this.styles.root}>\n <View style={this.styles.chipsWrapper}>{ \n [{}, {}, {}].map((item: any, index: any) => this.renderChip(item, index)) }\n </View>\n </View>)\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n const accessibilityProps = {\n accessible: true,\n accessibilityLabel: props.accessibilitylabel || 'Choose tags',\n accessibilityHint: props.hint,\n accessibilityRole: props.accessibilityrole\n }\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n\n <View style={this.styles.chipsWrapper} {...accessibilityProps}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}} {...accessibilityProps}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|