@wavemaker/app-rn-runtime 11.14.1-21.64739 → 11.14.1-21.64741

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.
@@ -70,10 +70,10 @@ export default class WmPopover extends BaseComponent {
70
70
  }
71
71
  this.isRTL ? position.right = x : position.left = x;
72
72
  if (x + popoverwidth > windowDimensions.width) {
73
- this.isRTL ? position.right = x + width - popoverwidth : position.left = x;
73
+ this.isRTL ? position.right = x + width - popoverwidth : position.left = x + width - popoverwidth;
74
74
  }
75
- const yOffset = Platform.OS == 'ios' ? 0 : (this === null || this === void 0 || (_this$insets = this.insets) === null || _this$insets === void 0 ? void 0 : _this$insets.top) || 0;
76
- position.top = y + height + yOffset;
75
+ const yOffset = Platform.OS == 'ios' ? (this === null || this === void 0 || (_this$insets = this.insets) === null || _this$insets === void 0 ? void 0 : _this$insets.top) || 0 : 0;
76
+ position.top = y + height - yOffset;
77
77
  this.updateState({
78
78
  position: position
79
79
  }, callback);
@@ -1 +1 @@
1
- {"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","Platform","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","SafeAreaInsetsContext","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","top","bottom","left","right","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","callback","position","state","type","windowDimensions","get","view","measureInWindow","x","y","width","height","_this$insets","popoverwidth","parseInt","isRTL","yOffset","OS","insets","updateState","e","computePosition","isOpened","invokeEventCallback","stopPropagation","autoopen","showPopover","getDefaultStyles","isActionSheet","theme","getStyle","defaultClass","renderPopoverContent","dimensions","createElement","style","mergeStyle","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","_extends","getTestPropsForAction","activeOpacity","onPress","autoclose","hide","popoverContent","root","onLoad","renderPartial","p","children","onPropertyChange","name","$new","$old","prepareModalOptions","content","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","animation","contentanimation","onClose","setState","isPartialLoaded","hideModal","renderWidget","popoverheight","Consumer","onLayout","handleLayout","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, Dimensions, Animated, PanResponder, Platform } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { SafeAreaInsetsContext, EdgeInsets } from 'react-native-safe-area-context';\n\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n dragY = new Animated.Value(0);\n insets: EdgeInsets | null = {\n top: 0, bottom: 0, left: 0, right: 0\n };\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n\n if (this.state.props.autoopen) {\n this.showPopover(); \n }\n }\n\n public panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && gestureState.dy < Number(this.styles.popover.minHeight)) {\n this.dragY.setValue(Number(this.styles.popover.minHeight) - gestureState.dy);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n if (gestureState.dy < -50) {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.maxHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.minHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n }\n },\n });\n \n getDefaultStyles() {\n const isActionSheet = this.state.props.type === 'action-sheet';\n return this.theme.getStyle(`${this.defaultClass} ${isActionSheet ? 'app-popover-action-sheet' : ''}`);\n }\n\n private computePosition = (callback?: () => void) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measureInWindow((x, y, width, height) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n \n this.isRTL ? position.right = x : position.left = x;\n \n if (x + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = x + width - popoverwidth)\n : (position.left = x);\n }\n const yOffset = Platform.OS == 'ios' ? 0 : (this?.insets?.top || 0);\n position.top = y + height + yOffset;\n this.updateState({position: position} as WmPopoverState, callback);\n });\n } else if (callback) {\n callback();\n }\n\n };\n\n public renderPopoverContent (props : WmPopoverProps , styles : WmPopoverStyles, dimensions: any) {\n return (\n <ScrollView style={props.type === \"action-sheet\" ? {dimensions} : this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {...props.renderPartial ? {\n renderPartial: (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n )}\n\n public showPopover = (e?: SyntheticEvent) => {\n this.computePosition(() => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n });\n e?.stopPropagation();\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"autoopen\":\n if($new){\n this.showPopover && this.showPopover()\n }\n else{\n this.hide && this.hide()\n }\n }\n }\n\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0})=>{\n this.insets = insets;\n return (\n <View style={styles.root} onLayout={(e: LayoutChangeEvent)=>this.handleLayout(e)} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}\n accessible={false}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? (\n <Animated.View style= {[styles.popover,{ height: this.dragY }]} {...this.panResponder.panHandlers}>\n <GestureHandlerRootView>\n {this.renderPopoverContent(props, styles, dimensions)}\n </GestureHandlerRootView>\n </Animated.View>\n ): (this.renderPopoverContent(props, styles, dimensions)), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","Platform","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","SafeAreaInsetsContext","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","top","bottom","left","right","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","callback","position","state","type","windowDimensions","get","view","measureInWindow","x","y","width","height","_this$insets","popoverwidth","parseInt","isRTL","yOffset","OS","insets","updateState","e","computePosition","isOpened","invokeEventCallback","stopPropagation","autoopen","showPopover","getDefaultStyles","isActionSheet","theme","getStyle","defaultClass","renderPopoverContent","dimensions","createElement","style","mergeStyle","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","_extends","getTestPropsForAction","activeOpacity","onPress","autoclose","hide","popoverContent","root","onLoad","renderPartial","p","children","onPropertyChange","name","$new","$old","prepareModalOptions","content","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","animation","contentanimation","onClose","setState","isPartialLoaded","hideModal","renderWidget","popoverheight","Consumer","onLayout","handleLayout","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, Dimensions, Animated, PanResponder, Platform } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { SafeAreaInsetsContext, EdgeInsets } from 'react-native-safe-area-context';\n\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n dragY = new Animated.Value(0);\n insets: EdgeInsets | null = {\n top: 0, bottom: 0, left: 0, right: 0\n };\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n\n if (this.state.props.autoopen) {\n this.showPopover(); \n }\n }\n\n public panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && gestureState.dy < Number(this.styles.popover.minHeight)) {\n this.dragY.setValue(Number(this.styles.popover.minHeight) - gestureState.dy);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n if (gestureState.dy < -50) {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.maxHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.minHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n }\n },\n });\n \n getDefaultStyles() {\n const isActionSheet = this.state.props.type === 'action-sheet';\n return this.theme.getStyle(`${this.defaultClass} ${isActionSheet ? 'app-popover-action-sheet' : ''}`);\n }\n\n private computePosition = (callback?: () => void) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measureInWindow((x, y, width, height) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n \n this.isRTL ? position.right = x : position.left = x;\n \n if (x + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = x + width - popoverwidth)\n : (position.left = x + width - popoverwidth);\n }\n const yOffset = Platform.OS == 'ios' ? (this?.insets?.top || 0) : 0;\n position.top = y + height - yOffset;\n this.updateState({position: position} as WmPopoverState, callback);\n });\n } else if (callback) {\n callback();\n }\n\n };\n\n public renderPopoverContent (props : WmPopoverProps , styles : WmPopoverStyles, dimensions: any) {\n return (\n <ScrollView style={props.type === \"action-sheet\" ? {dimensions} : this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {...props.renderPartial ? {\n renderPartial: (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n )}\n\n public showPopover = (e?: SyntheticEvent) => {\n this.computePosition(() => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n });\n e?.stopPropagation();\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"autoopen\":\n if($new){\n this.showPopover && this.showPopover()\n }\n else{\n this.hide && this.hide()\n }\n }\n }\n\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0})=>{\n this.insets = insets;\n return (\n <View style={styles.root} onLayout={(e: LayoutChangeEvent)=>this.handleLayout(e)} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}\n accessible={false}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? (\n <Animated.View style= {[styles.popover,{ height: this.dragY }]} {...this.panResponder.panHandlers}>\n <GestureHandlerRootView>\n {this.renderPopoverContent(props, styles, dimensions)}\n </GestureHandlerRootView>\n </Animated.View>\n ): (this.renderPopoverContent(props, styles, dimensions)), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}