@wavemaker-ai/app-rn-runtime 1.0.0-rc.309 → 1.0.0-rc.314
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/button/button.component.js +2 -2
- package/components/basic/button/button.component.js.map +1 -1
- package/components/navigation/popover/popover.component.js +7 -1
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/components-prism/basic/progress-bar/progress-bar.component.js +1 -3
- package/components-prism/basic/progress-bar/progress-bar.component.js.map +1 -1
- package/core/auto-layout.utils.js +10 -6
- package/core/auto-layout.utils.js.map +1 -1
- package/npm-shrinkwrap.json +2446 -2341
- package/package-lock.json +2446 -2341
- package/package.json +5 -2
- package/styles/theme.js +4 -1
- package/styles/theme.js.map +1 -1
|
@@ -75,7 +75,7 @@ export default class WmButton extends BaseComponent {
|
|
|
75
75
|
return this.styles.root[side];
|
|
76
76
|
}
|
|
77
77
|
renderWidget(props) {
|
|
78
|
-
var _this$parent;
|
|
78
|
+
var _this$parent, _this$props2;
|
|
79
79
|
const parentAlignment = (_this$parent = this.parent) === null || _this$parent === void 0 || (_this$parent = _this$parent.props) === null || _this$parent === void 0 ? void 0 : _this$parent.alignment;
|
|
80
80
|
return /*#__PURE__*/React.createElement(Animatedview, {
|
|
81
81
|
entryanimation: props.animation,
|
|
@@ -83,7 +83,7 @@ export default class WmButton extends BaseComponent {
|
|
|
83
83
|
onLayout: event => this.handleLayout(event),
|
|
84
84
|
style: [parentAlignment ? {} : {
|
|
85
85
|
alignSelf: 'flex-start'
|
|
86
|
-
}, this.styles.root, {
|
|
86
|
+
}, this.styles.root, this.props.styles ? this.theme.mergeStyle(this.styles.root, (_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.styles) === null || _this$props2 === void 0 ? void 0 : _this$props2.root) : this.styles.root, {
|
|
87
87
|
paddingTop: 0,
|
|
88
88
|
paddingBottom: 0,
|
|
89
89
|
paddingLeft: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","Badge","WmButtonProps","DEFAULT_CLASS","WmIcon","Animatedview","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","WmButtonState","WmButton","constructor","props","prepareIcon","iconclass","iconurl","hint","name","iconsize","iconheight","iconmargin","iconwidth","createElement","id","getTestId","styles","icon","accessible","prepareBadge","_extends","style","badge","pointerEvents","getTestProps","badgevalue","renderSkeleton","prop","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","root","width","skeletonheight","_this$styles$root2","height","theme","skeleton","tappableRootPadding","side","_this$props","fromProps","undefined","renderWidget","_this$parent","parentAlignment","parent","alignment","entryanimation","animation","delay","animationdelay","onLayout","event","handleLayout","alignSelf","paddingTop","paddingBottom","paddingLeft","paddingRight","overflow","flexDirection","flex","_background","disableTouchEffect","state","disabletoucheffect","justifyContent","rippleColor","target","getTestPropsForAction","accessibilityProps","BUTTON","content","iconposition","caption","text","getTestPropsForLabel","importantForAccessibility"],"sources":["button.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { Badge } from 'react-native-paper';\n\nimport WmButtonProps from './button.props';\nimport { DEFAULT_CLASS, WmButtonStyles } from './button.styles';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { Animatedview } from '@wavemaker-ai/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nexport class WmButtonState extends BaseComponentState<WmButtonProps> {\n\n}\n\nexport default class WmButton extends BaseComponent<WmButtonProps, WmButtonState, WmButtonStyles> {\n\n constructor(props: WmButtonProps) {\n super(props, DEFAULT_CLASS, new WmButtonProps());\n }\n\n private prepareIcon({\n iconclass,\n iconurl,\n hint,\n name,\n iconsize,\n iconheight,\n iconmargin,\n iconwidth,\n }: any) {\n return iconclass || iconurl\n ? (<WmIcon\n id={this.getTestId('icon')}\n hint={hint}\n styles={this.styles.icon}\n name={`${name}_icon`}\n iconclass={iconclass}\n iconsize={iconsize}\n iconurl={iconurl}\n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n accessible={false}\n />): null;\n }\n\n private prepareBadge(props: any) {\n //@ts-ignore\n return (<Badge style={this.styles.badge} pointerEvents='none' {...this.getTestProps('badge')}>{props.badgevalue}</Badge>);\n }\n\n public renderSkeleton(prop: WmButtonProps) {\n let skeletonWidth, skeletonHeight;\n if(this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height;\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n private tappableRootPadding(side: 'paddingTop' | 'paddingBottom' | 'paddingLeft' | 'paddingRight') {\n const fromProps = this.props?.styles?.root?.[side];\n if (fromProps !== undefined && fromProps !== null && fromProps !== '') {\n return fromProps === 0 ? 0 : fromProps;\n }\n return this.styles.root[side];\n }\n\n renderWidget(props: WmButtonProps) {\n const parentAlignment = this.parent?.props?.alignment\n return (\n <Animatedview entryanimation={props.animation} delay={props.animationdelay}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n style={[\n parentAlignment ? {} : { alignSelf: 'flex-start'},\n this.styles.root,\n {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n overflow: props.badgevalue ? 'visible' : 'hidden',\n flexDirection: 'column'\n },\n this.styles.root.height == \"100%\" ? {flex: 1}:{}\n ]}\n >\n {this._background}\n <Tappable\n disableTouchEffect={this.state.props.disabletoucheffect}\n styles={{\n paddingTop: this.tappableRootPadding('paddingTop'),\n paddingBottom: this.tappableRootPadding('paddingBottom'),\n paddingLeft: this.tappableRootPadding('paddingLeft'),\n paddingRight: this.tappableRootPadding('paddingRight'),\n width: '100%',\n height: this.styles.root.height ? '100%' : null,\n justifyContent: 'center',\n }}\n rippleColor = {this.styles.root.rippleColor}\n target={this}\n {...this.getTestPropsForAction()}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.BUTTON,\n props\n )}}>\n <View\n style={[\n this.styles.content,\n { flexDirection: props.iconposition === 'top' ? 'column' : 'row' }\n ]}>\n {props.iconposition === 'top' && this.prepareIcon(props)}\n {props.iconposition === 'left' && this.prepareIcon(props)}\n {props.caption ? (\n <Text\n style={this.styles.text}\n {...this.getTestPropsForLabel('caption')}\n importantForAccessibility={'no'}\n >\n {props.caption}\n </Text>\n ) : null}\n {props.iconposition === 'right' && this.prepareIcon(props)}\n </View>\n </Tappable>\n {props.badgevalue && this.prepareBadge(props)}\n </Animatedview>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","Badge","WmButtonProps","DEFAULT_CLASS","WmIcon","Animatedview","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","WmButtonState","WmButton","constructor","props","prepareIcon","iconclass","iconurl","hint","name","iconsize","iconheight","iconmargin","iconwidth","createElement","id","getTestId","styles","icon","accessible","prepareBadge","_extends","style","badge","pointerEvents","getTestProps","badgevalue","renderSkeleton","prop","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","root","width","skeletonheight","_this$styles$root2","height","theme","skeleton","tappableRootPadding","side","_this$props","fromProps","undefined","renderWidget","_this$parent","_this$props2","parentAlignment","parent","alignment","entryanimation","animation","delay","animationdelay","onLayout","event","handleLayout","alignSelf","mergeStyle","paddingTop","paddingBottom","paddingLeft","paddingRight","overflow","flexDirection","flex","_background","disableTouchEffect","state","disabletoucheffect","justifyContent","rippleColor","target","getTestPropsForAction","accessibilityProps","BUTTON","content","iconposition","caption","text","getTestPropsForLabel","importantForAccessibility"],"sources":["button.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { Badge } from 'react-native-paper';\n\nimport WmButtonProps from './button.props';\nimport { DEFAULT_CLASS, WmButtonStyles } from './button.styles';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { Animatedview } from '@wavemaker-ai/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nexport class WmButtonState extends BaseComponentState<WmButtonProps> {\n\n}\n\nexport default class WmButton extends BaseComponent<WmButtonProps, WmButtonState, WmButtonStyles> {\n\n constructor(props: WmButtonProps) {\n super(props, DEFAULT_CLASS, new WmButtonProps());\n }\n\n private prepareIcon({\n iconclass,\n iconurl,\n hint,\n name,\n iconsize,\n iconheight,\n iconmargin,\n iconwidth,\n }: any) {\n return iconclass || iconurl\n ? (<WmIcon\n id={this.getTestId('icon')}\n hint={hint}\n styles={this.styles.icon}\n name={`${name}_icon`}\n iconclass={iconclass}\n iconsize={iconsize}\n iconurl={iconurl}\n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n accessible={false}\n />): null;\n }\n\n private prepareBadge(props: any) {\n //@ts-ignore\n return (<Badge style={this.styles.badge} pointerEvents='none' {...this.getTestProps('badge')}>{props.badgevalue}</Badge>);\n }\n\n public renderSkeleton(prop: WmButtonProps) {\n let skeletonWidth, skeletonHeight;\n if(this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height;\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n private tappableRootPadding(side: 'paddingTop' | 'paddingBottom' | 'paddingLeft' | 'paddingRight') {\n const fromProps = this.props?.styles?.root?.[side];\n if (fromProps !== undefined && fromProps !== null && fromProps !== '') {\n return fromProps === 0 ? 0 : fromProps;\n }\n return this.styles.root[side];\n }\n\n renderWidget(props: WmButtonProps) {\n const parentAlignment = this.parent?.props?.alignment\n return (\n <Animatedview entryanimation={props.animation} delay={props.animationdelay}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n style={[\n parentAlignment ? {} : { alignSelf: 'flex-start'},\n this.styles.root,\n this.props.styles ? this.theme.mergeStyle(this.styles.root,this.props?.styles?.root) : this.styles.root,\n {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n overflow: props.badgevalue ? 'visible' : 'hidden',\n flexDirection: 'column'\n },\n this.styles.root.height == \"100%\" ? {flex: 1}:{}\n ]}\n >\n {this._background}\n <Tappable\n disableTouchEffect={this.state.props.disabletoucheffect}\n styles={{\n paddingTop: this.tappableRootPadding('paddingTop'),\n paddingBottom: this.tappableRootPadding('paddingBottom'),\n paddingLeft: this.tappableRootPadding('paddingLeft'),\n paddingRight: this.tappableRootPadding('paddingRight'),\n width: '100%',\n height: this.styles.root.height ? '100%' : null,\n justifyContent: 'center',\n }}\n rippleColor = {this.styles.root.rippleColor}\n target={this}\n {...this.getTestPropsForAction()}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.BUTTON,\n props\n )}}>\n <View\n style={[\n this.styles.content,\n { flexDirection: props.iconposition === 'top' ? 'column' : 'row' }\n ]}>\n {props.iconposition === 'top' && this.prepareIcon(props)}\n {props.iconposition === 'left' && this.prepareIcon(props)}\n {props.caption ? (\n <Text\n style={this.styles.text}\n {...this.getTestPropsForLabel('caption')}\n importantForAccessibility={'no'}\n >\n {props.caption}\n </Text>\n ) : null}\n {props.iconposition === 'right' && this.prepareIcon(props)}\n </View>\n </Tappable>\n {props.badgevalue && this.prepareBadge(props)}\n </Animatedview>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -102,6 +102,12 @@ export default class WmPopover extends BaseComponent {
|
|
|
102
102
|
return this.theme.getStyle(`${this.defaultClass} ${isActionSheet ? 'app-popover-action-sheet' : ''}`);
|
|
103
103
|
}
|
|
104
104
|
renderPopoverContent(props, styles, dimensions) {
|
|
105
|
+
const popoverContentContainerStyles = {
|
|
106
|
+
...styles.popoverContent,
|
|
107
|
+
root: {
|
|
108
|
+
flex: 1
|
|
109
|
+
}
|
|
110
|
+
};
|
|
105
111
|
return /*#__PURE__*/React.createElement(ScrollView, {
|
|
106
112
|
style: props.type === "action-sheet" ? {
|
|
107
113
|
dimensions
|
|
@@ -121,7 +127,7 @@ export default class WmPopover extends BaseComponent {
|
|
|
121
127
|
},
|
|
122
128
|
style: styles.popoverContent.root
|
|
123
129
|
}), /*#__PURE__*/React.createElement(WmContainer, _extends({
|
|
124
|
-
styles:
|
|
130
|
+
styles: popoverContentContainerStyles,
|
|
125
131
|
onLoad: () => this.invokeEventCallback('onLoad', [this])
|
|
126
132
|
}, props.renderPartial ? {
|
|
127
133
|
renderPartial: (p, onLoad) => {
|
|
@@ -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","WmIcon","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","lefticonclass","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers","draghandle","draghandleicon"],"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-ai/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker-ai/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '@wavemaker-ai/app-rn-runtime/components/container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\nimport WmIcon from '@wavemaker-ai/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 lefticonclass={props.lefticonclass}\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.state.props.draghandle ? <WmIcon iconclass=\"wi wi-minus\" styles={this.styles.draghandleicon}/> : null}\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","WmIcon","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","popoverContentContainerStyles","popoverContent","root","flex","createElement","style","mergeStyle","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","_extends","getTestPropsForAction","activeOpacity","onPress","autoclose","hide","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","lefticonclass","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers","draghandle","draghandleicon"],"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-ai/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker-ai/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '@wavemaker-ai/app-rn-runtime/components/container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\nimport WmIcon from '@wavemaker-ai/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 const popoverContentContainerStyles = {\n ...styles.popoverContent,\n root: { flex: 1 },\n };\n\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={popoverContentContainerStyles}\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 lefticonclass={props.lefticonclass}\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.state.props.draghandle ? <WmIcon iconclass=\"wi wi-minus\" styles={this.styles.draghandleicon}/> : null}\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":[]}
|
|
@@ -183,9 +183,7 @@ export default class WmProgressBar extends BaseComponent {
|
|
|
183
183
|
}, this._background, /*#__PURE__*/React.createElement(Tappable, {
|
|
184
184
|
target: this,
|
|
185
185
|
styles: {
|
|
186
|
-
|
|
187
|
-
width: '100%'
|
|
188
|
-
}
|
|
186
|
+
width: '100%'
|
|
189
187
|
},
|
|
190
188
|
disableTouchEffect: this.state.props.disabletoucheffect
|
|
191
189
|
}, /*#__PURE__*/React.createElement(ProgressBarCore, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","View","StyleSheet","isNumber","Animated","useAnimatedStyle","useSharedValue","withTiming","LinearGradient","ExpoLinearGradient","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","parseProgressBarLinearGradient","WmTooltip","WmProgressBarProps","DEFAULT_CLASS","DEFAULT_WHITE_SPACE","DEFAULT_HEIGHT_FOR_DEFAULT_WHITE_SPACE","getWhiteSpace","barHeight","whiteSpace","convertToPercentageValue","value","min","max","Math","ProgressBarCore","minValue","maxValue","height","trackColor","fillColor","enableAnimation","animationDelay","strokeShape","showWhiteSpace","showBackground","children","customStyles","hasLinearGradient","gradientColors","gradientStart","gradientEnd","testProps","parentProps","_customStyles$progres","_customStyles$progres2","_customStyles$progres3","_customStyles$progres4","containerWidth","setContainerWidth","progressBarCustomStyle","setProgressbarCustomStyle","widthProgress","trackProgress","borderRadius","AnimatedLinearGradient","createAnimatedComponent","handleLayout","event","nativeEvent","layout","width","animatedFillStyle","animatedTrackStyle","styleCopy","progressBar","percentage","targetWidth","trackWidth","duration","createElement","_extends","style","coreStyles","container","onLayout","track","PROGRESSBAR","backgroundSegment","backgroundColor","fill","Fragment","colors","start","end","root","progressValue","position","create","justifyContent","overflow","right","left","WmProgressBarState","WmProgressBar","constructor","props","_defineProperty","showtooltip","onTooltiptext","result","invokeEventCallback","undefined","proxy","renderWidget","_styles$root","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","color1","color2","progressWidth","round","bind","_background","target","disableTouchEffect","state","disabletoucheffect","color","buttStyle","getTestPropsForAction","bottom","alignItems","zIndex","showTooltip","text","direction","tooltipposition","tooltipStyle","tooltip","tooltipLabelStyle","tooltipLabel","tooltipTriangleStyle","tooltipTriangle"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React, { useEffect, useState, ReactNode } from 'react';\nimport { LayoutChangeEvent, View, Text, StyleSheet, ColorValue } from 'react-native';\nimport { isNumber } from 'lodash';\nimport Animated, {\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { LinearGradient as ExpoLinearGradient } from 'expo-linear-gradient';\n\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { parseProgressBarLinearGradient } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport WmTooltip from '@wavemaker-ai/app-rn-runtime/components/basic/tooltip/tooltip.component';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\n\ntype ProgressBarCoreProps = {\n value: number;\n minValue: number;\n maxValue: number;\n height?: number;\n trackColor?: string;\n fillColor?: string;\n enableAnimation?: boolean;\n animationDelay?: number;\n strokeShape?: 'round' | 'square';\n showWhiteSpace?: boolean;\n showBackground?: boolean;\n children?: ReactNode;\n customStyles?: any\n hasLinearGradient?: boolean,\n gradientColors?: ColorValue[],\n gradientStart?: {x: number, y: number},\n gradientEnd?: {x: number, y: number},\n testProps: (arg: string) => any,\n parentProps: any\n};\n\nconst DEFAULT_WHITE_SPACE = 5;\nconst DEFAULT_HEIGHT_FOR_DEFAULT_WHITE_SPACE = 8;\n\nconst getWhiteSpace = (barHeight: number) => {\n // For progressbar having huge height will get very large white space if used dynamic calculation. \n // So the value is restricted upto 15. (which is a sweet spot)\n\n const whiteSpace = (DEFAULT_WHITE_SPACE * barHeight)/DEFAULT_HEIGHT_FOR_DEFAULT_WHITE_SPACE;\n return whiteSpace > 15 ? 15 : whiteSpace;\n};\n\nconst convertToPercentageValue = (value: number, min: number, max: number): number => {\n if (max === min) return 0;\n return Math.min(Math.max((value - min) / (max - min), 0), 1);\n};\n\n\nconst ProgressBarCore = ({\n value = 0,\n minValue = 0,\n maxValue = 100,\n height = 8,\n trackColor = '#E8DEF8',\n fillColor = '#65558F',\n enableAnimation = true,\n animationDelay = 1000,\n strokeShape = 'round',\n showWhiteSpace = false,\n showBackground = true,\n children,\n customStyles,\n hasLinearGradient,\n gradientColors,\n gradientStart,\n gradientEnd,\n testProps,\n parentProps\n}: ProgressBarCoreProps) => {\n const [containerWidth, setContainerWidth] = useState(0);\n const [progressBarCustomStyle, setProgressbarCustomStyle] = useState({});\n const widthProgress = useSharedValue(0);\n const trackProgress = useSharedValue(0);\n\n const borderRadius = strokeShape === 'round' ? height / 2 : 0;\n\n const AnimatedLinearGradient = Animated.createAnimatedComponent(ExpoLinearGradient);\n\n const handleLayout = (event: LayoutChangeEvent) => {\n setContainerWidth(event.nativeEvent.layout.width);\n };\n\n const animatedFillStyle = useAnimatedStyle(() => ({\n width: widthProgress.value,\n }));\n\n const animatedTrackStyle = useAnimatedStyle(() => ({\n width: trackProgress.value,\n }));\n\n useEffect(()=> {\n let styleCopy = {...customStyles.progressBar}\n if(styleCopy['backgroundColor']) {\n delete styleCopy['backgroundColor'];\n setProgressbarCustomStyle(styleCopy);\n }\n }, [customStyles])\n\n useEffect(() => {\n if (containerWidth <= 0) return;\n\n const percentage = convertToPercentageValue(value, minValue, maxValue);\n const targetWidth = percentage * containerWidth;\n\n if(value < minValue) {\n widthProgress.value = 0;\n trackProgress.value = containerWidth;\n return;\n }\n\n const trackWidth = showWhiteSpace && value !== 0\n ? Math.max(containerWidth - getWhiteSpace(height), 0)\n : containerWidth;\n trackProgress.value = trackWidth;\n\n if (enableAnimation) {\n widthProgress.value = withTiming(targetWidth, { duration: animationDelay });\n trackProgress.value = withTiming(trackWidth - targetWidth, { duration: animationDelay });\n } else {\n widthProgress.value = targetWidth;\n trackProgress.value = trackWidth - targetWidth;\n }\n }, [value, minValue, maxValue, containerWidth, enableAnimation, animationDelay, showWhiteSpace, height]);\n\n return (\n <View \n style={coreStyles.container} \n onLayout={handleLayout}\n {...testProps('progressbar')}\n >\n {showBackground && (\n <View \n style={[\n coreStyles.track, \n progressBarCustomStyle,\n { height, \n borderRadius: customStyles?.progressBar?.borderRadius || borderRadius, \n }\n ]}\n {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, parentProps)}\n >\n <Animated.View\n style={[\n coreStyles.backgroundSegment,\n {\n backgroundColor: trackColor,\n borderRadius: customStyles?.progressBar?.borderRadius || borderRadius,\n },\n animatedTrackStyle,\n ]}\n /> \n {!(hasLinearGradient && gradientColors && gradientStart && gradientEnd) ? \n <Animated.View\n style={[\n coreStyles.fill,\n {\n backgroundColor: fillColor,\n borderRadius: customStyles?.progressBar?.borderRadius || borderRadius,\n },\n animatedFillStyle,\n ]}\n /> : \n <>\n {/* Linear Gradient for filled portion */}\n <AnimatedLinearGradient\n colors={gradientColors as any}\n start={gradientStart}\n end={gradientEnd}\n style={[\n {\n height: customStyles.root.height || customStyles.progressBar.height || customStyles.progressValue.height,\n position: 'absolute',\n borderRadius: customStyles?.progressBar?.borderRadius || borderRadius || 0,\n },\n animatedFillStyle\n ]}\n />\n </>\n }\n </View>\n )}\n {children}\n </View>\n );\n};\n\nconst coreStyles = StyleSheet.create({\n container: {\n width: '100%',\n justifyContent: 'center',\n },\n track: {\n width: '100%',\n overflow: 'hidden',\n },\n backgroundSegment: {\n position: 'absolute',\n right: 0,\n height: '100%',\n },\n fill: {\n position: 'absolute',\n left: 0,\n height: '100%',\n },\n});\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n onTooltiptext = (minValue: number, maxValue: number, percentage: number) => {\n if (this.props.showtooltip && this.props.onTooltiptext) {\n const result = this.invokeEventCallback('onTooltiptext', [\n undefined,\n this.proxy,\n minValue,\n maxValue,\n percentage\n ]);\n\n if (result) {\n return result;\n }\n }\n\n // Default fallback to percentage display\n return `${percentage}%`;\n }\n\n renderWidget(props: WmProgressBarProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = convertToPercentageValue(props.datavalue, props.minvalue, props.maxvalue) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n const {hasLinearGradient, color1, color2, start, end} = parseProgressBarLinearGradient(styles?.root?.progressBar?.backgroundColor as string);\n const gradientColors: [string, string, ...string[]] = [color1, color2];\n \n const progressWidth = Math.round(value);\n\n return (\n <View\n style={styles.root}\n onLayout={this.handleLayout.bind(this)}\n >\n {this._background}\n <Tappable target={this} styles={{ root: { width: '100%' } }} disableTouchEffect={this.state.props.disabletoucheffect}>\n <ProgressBarCore\n value={props.datavalue}\n minValue={props.minvalue}\n maxValue={props.maxvalue}\n fillColor={styles.progressValue.color}\n trackColor={styles.progressBar.backgroundColor}\n height={styles.progressValue.height || styles.progressBar.height}\n strokeShape={styles.progressValue.buttStyle}\n customStyles={styles}\n hasLinearGradient={hasLinearGradient}\n gradientColors={gradientColors}\n gradientStart={start}\n gradientEnd={end}\n testProps={(value) => this.getTestPropsForAction(value)}\n parentProps={props}\n showWhiteSpace={true}\n >\n {/* Tooltip positioned at progress value */}\n {props.showtooltip ? (\n <View\n style={{\n position: 'absolute',\n left: `${progressWidth}%`,\n bottom: 0,\n height: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 10,\n }}\n >\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.onTooltiptext(props.minvalue, props.maxvalue, progressWidth)}\n direction={props.tooltipposition}\n tooltipStyle={styles.tooltip}\n tooltipLabelStyle={styles.tooltipLabel}\n tooltipTriangleStyle={styles.tooltipTriangle}\n />\n </View>\n ) : <></>}\n </ProgressBarCore>\n </Tappable>\n </View>\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","View","StyleSheet","isNumber","Animated","useAnimatedStyle","useSharedValue","withTiming","LinearGradient","ExpoLinearGradient","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","parseProgressBarLinearGradient","WmTooltip","WmProgressBarProps","DEFAULT_CLASS","DEFAULT_WHITE_SPACE","DEFAULT_HEIGHT_FOR_DEFAULT_WHITE_SPACE","getWhiteSpace","barHeight","whiteSpace","convertToPercentageValue","value","min","max","Math","ProgressBarCore","minValue","maxValue","height","trackColor","fillColor","enableAnimation","animationDelay","strokeShape","showWhiteSpace","showBackground","children","customStyles","hasLinearGradient","gradientColors","gradientStart","gradientEnd","testProps","parentProps","_customStyles$progres","_customStyles$progres2","_customStyles$progres3","_customStyles$progres4","containerWidth","setContainerWidth","progressBarCustomStyle","setProgressbarCustomStyle","widthProgress","trackProgress","borderRadius","AnimatedLinearGradient","createAnimatedComponent","handleLayout","event","nativeEvent","layout","width","animatedFillStyle","animatedTrackStyle","styleCopy","progressBar","percentage","targetWidth","trackWidth","duration","createElement","_extends","style","coreStyles","container","onLayout","track","PROGRESSBAR","backgroundSegment","backgroundColor","fill","Fragment","colors","start","end","root","progressValue","position","create","justifyContent","overflow","right","left","WmProgressBarState","WmProgressBar","constructor","props","_defineProperty","showtooltip","onTooltiptext","result","invokeEventCallback","undefined","proxy","renderWidget","_styles$root","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","color1","color2","progressWidth","round","bind","_background","target","disableTouchEffect","state","disabletoucheffect","color","buttStyle","getTestPropsForAction","bottom","alignItems","zIndex","showTooltip","text","direction","tooltipposition","tooltipStyle","tooltip","tooltipLabelStyle","tooltipLabel","tooltipTriangleStyle","tooltipTriangle"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React, { useEffect, useState, ReactNode } from 'react';\nimport { LayoutChangeEvent, View, Text, StyleSheet, ColorValue } from 'react-native';\nimport { isNumber } from 'lodash';\nimport Animated, {\n useAnimatedStyle,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { LinearGradient as ExpoLinearGradient } from 'expo-linear-gradient';\n\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport { parseProgressBarLinearGradient } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport WmTooltip from '@wavemaker-ai/app-rn-runtime/components/basic/tooltip/tooltip.component';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\n\ntype ProgressBarCoreProps = {\n value: number;\n minValue: number;\n maxValue: number;\n height?: number;\n trackColor?: string;\n fillColor?: string;\n enableAnimation?: boolean;\n animationDelay?: number;\n strokeShape?: 'round' | 'square';\n showWhiteSpace?: boolean;\n showBackground?: boolean;\n children?: ReactNode;\n customStyles?: any\n hasLinearGradient?: boolean,\n gradientColors?: ColorValue[],\n gradientStart?: {x: number, y: number},\n gradientEnd?: {x: number, y: number},\n testProps: (arg: string) => any,\n parentProps: any\n};\n\nconst DEFAULT_WHITE_SPACE = 5;\nconst DEFAULT_HEIGHT_FOR_DEFAULT_WHITE_SPACE = 8;\n\nconst getWhiteSpace = (barHeight: number) => {\n // For progressbar having huge height will get very large white space if used dynamic calculation. \n // So the value is restricted upto 15. (which is a sweet spot)\n\n const whiteSpace = (DEFAULT_WHITE_SPACE * barHeight)/DEFAULT_HEIGHT_FOR_DEFAULT_WHITE_SPACE;\n return whiteSpace > 15 ? 15 : whiteSpace;\n};\n\nconst convertToPercentageValue = (value: number, min: number, max: number): number => {\n if (max === min) return 0;\n return Math.min(Math.max((value - min) / (max - min), 0), 1);\n};\n\n\nconst ProgressBarCore = ({\n value = 0,\n minValue = 0,\n maxValue = 100,\n height = 8,\n trackColor = '#E8DEF8',\n fillColor = '#65558F',\n enableAnimation = true,\n animationDelay = 1000,\n strokeShape = 'round',\n showWhiteSpace = false,\n showBackground = true,\n children,\n customStyles,\n hasLinearGradient,\n gradientColors,\n gradientStart,\n gradientEnd,\n testProps,\n parentProps\n}: ProgressBarCoreProps) => {\n const [containerWidth, setContainerWidth] = useState(0);\n const [progressBarCustomStyle, setProgressbarCustomStyle] = useState({});\n const widthProgress = useSharedValue(0);\n const trackProgress = useSharedValue(0);\n\n const borderRadius = strokeShape === 'round' ? height / 2 : 0;\n\n const AnimatedLinearGradient = Animated.createAnimatedComponent(ExpoLinearGradient);\n\n const handleLayout = (event: LayoutChangeEvent) => {\n setContainerWidth(event.nativeEvent.layout.width);\n };\n\n const animatedFillStyle = useAnimatedStyle(() => ({\n width: widthProgress.value,\n }));\n\n const animatedTrackStyle = useAnimatedStyle(() => ({\n width: trackProgress.value,\n }));\n\n useEffect(()=> {\n let styleCopy = {...customStyles.progressBar}\n if(styleCopy['backgroundColor']) {\n delete styleCopy['backgroundColor'];\n setProgressbarCustomStyle(styleCopy);\n }\n }, [customStyles])\n\n useEffect(() => {\n if (containerWidth <= 0) return;\n\n const percentage = convertToPercentageValue(value, minValue, maxValue);\n const targetWidth = percentage * containerWidth;\n\n if(value < minValue) {\n widthProgress.value = 0;\n trackProgress.value = containerWidth;\n return;\n }\n\n const trackWidth = showWhiteSpace && value !== 0\n ? Math.max(containerWidth - getWhiteSpace(height), 0)\n : containerWidth;\n trackProgress.value = trackWidth;\n\n if (enableAnimation) {\n widthProgress.value = withTiming(targetWidth, { duration: animationDelay });\n trackProgress.value = withTiming(trackWidth - targetWidth, { duration: animationDelay });\n } else {\n widthProgress.value = targetWidth;\n trackProgress.value = trackWidth - targetWidth;\n }\n }, [value, minValue, maxValue, containerWidth, enableAnimation, animationDelay, showWhiteSpace, height]);\n\n return (\n <View \n style={coreStyles.container} \n onLayout={handleLayout}\n {...testProps('progressbar')}\n >\n {showBackground && (\n <View \n style={[\n coreStyles.track, \n progressBarCustomStyle,\n { height, \n borderRadius: customStyles?.progressBar?.borderRadius || borderRadius, \n }\n ]}\n {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, parentProps)}\n >\n <Animated.View\n style={[\n coreStyles.backgroundSegment,\n {\n backgroundColor: trackColor,\n borderRadius: customStyles?.progressBar?.borderRadius || borderRadius,\n },\n animatedTrackStyle,\n ]}\n /> \n {!(hasLinearGradient && gradientColors && gradientStart && gradientEnd) ? \n <Animated.View\n style={[\n coreStyles.fill,\n {\n backgroundColor: fillColor,\n borderRadius: customStyles?.progressBar?.borderRadius || borderRadius,\n },\n animatedFillStyle,\n ]}\n /> : \n <>\n {/* Linear Gradient for filled portion */}\n <AnimatedLinearGradient\n colors={gradientColors as any}\n start={gradientStart}\n end={gradientEnd}\n style={[\n {\n height: customStyles.root.height || customStyles.progressBar.height || customStyles.progressValue.height,\n position: 'absolute',\n borderRadius: customStyles?.progressBar?.borderRadius || borderRadius || 0,\n },\n animatedFillStyle\n ]}\n />\n </>\n }\n </View>\n )}\n {children}\n </View>\n );\n};\n\nconst coreStyles = StyleSheet.create({\n container: {\n width: '100%',\n justifyContent: 'center',\n },\n track: {\n width: '100%',\n overflow: 'hidden',\n },\n backgroundSegment: {\n position: 'absolute',\n right: 0,\n height: '100%',\n },\n fill: {\n position: 'absolute',\n left: 0,\n height: '100%',\n },\n});\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n onTooltiptext = (minValue: number, maxValue: number, percentage: number) => {\n if (this.props.showtooltip && this.props.onTooltiptext) {\n const result = this.invokeEventCallback('onTooltiptext', [\n undefined,\n this.proxy,\n minValue,\n maxValue,\n percentage\n ]);\n\n if (result) {\n return result;\n }\n }\n\n // Default fallback to percentage display\n return `${percentage}%`;\n }\n\n renderWidget(props: WmProgressBarProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = convertToPercentageValue(props.datavalue, props.minvalue, props.maxvalue) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n const {hasLinearGradient, color1, color2, start, end} = parseProgressBarLinearGradient(styles?.root?.progressBar?.backgroundColor as string);\n const gradientColors: [string, string, ...string[]] = [color1, color2];\n \n const progressWidth = Math.round(value);\n\n return (\n <View\n style={styles.root}\n onLayout={this.handleLayout.bind(this)}\n >\n {this._background}\n <Tappable target={this} styles={{ width: '100%' }} disableTouchEffect={this.state.props.disabletoucheffect}>\n <ProgressBarCore\n value={props.datavalue}\n minValue={props.minvalue}\n maxValue={props.maxvalue}\n fillColor={styles.progressValue.color}\n trackColor={styles.progressBar.backgroundColor}\n height={styles.progressValue.height || styles.progressBar.height}\n strokeShape={styles.progressValue.buttStyle}\n customStyles={styles}\n hasLinearGradient={hasLinearGradient}\n gradientColors={gradientColors}\n gradientStart={start}\n gradientEnd={end}\n testProps={(value) => this.getTestPropsForAction(value)}\n parentProps={props}\n showWhiteSpace={true}\n >\n {/* Tooltip positioned at progress value */}\n {props.showtooltip ? (\n <View\n style={{\n position: 'absolute',\n left: `${progressWidth}%`,\n bottom: 0,\n height: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 10,\n }}\n >\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.onTooltiptext(props.minvalue, props.maxvalue, progressWidth)}\n direction={props.tooltipposition}\n tooltipStyle={styles.tooltip}\n tooltipLabelStyle={styles.tooltipLabel}\n tooltipTriangleStyle={styles.tooltipTriangle}\n />\n </View>\n ) : <></>}\n </ProgressBarCore>\n </Tappable>\n </View>\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -127,14 +127,18 @@ export function getDimensionStyle(props, baseStyle, isInnerView = false) {
|
|
|
127
127
|
dimensionStyle.height = isNaN(num) ? height : num;
|
|
128
128
|
}
|
|
129
129
|
if (width === 'fill') {
|
|
130
|
-
if (
|
|
131
|
-
dimensionStyle.
|
|
132
|
-
dimensionStyle.flexShrink = 1;
|
|
133
|
-
dimensionStyle.minWidth = 0;
|
|
130
|
+
if (!parentDir) {
|
|
131
|
+
dimensionStyle.width = '100%';
|
|
134
132
|
} else {
|
|
135
|
-
|
|
133
|
+
if (isRow) {
|
|
134
|
+
dimensionStyle.flexGrow = 1;
|
|
135
|
+
dimensionStyle.flexShrink = 1;
|
|
136
|
+
dimensionStyle.minWidth = 0;
|
|
137
|
+
} else {
|
|
138
|
+
dimensionStyle.alignSelf = 'stretch';
|
|
139
|
+
}
|
|
140
|
+
dimensionStyle.width = undefined;
|
|
136
141
|
}
|
|
137
|
-
dimensionStyle.width = undefined;
|
|
138
142
|
} else if (width === 'hug') {
|
|
139
143
|
if (parentDir) {
|
|
140
144
|
if (isRow) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["alignmentMatrixFixed","justifyContent","alignItems","alignmentMatrixAuto","start","center","end","isAutoLayout","props","direction","wrap","gap","alignment","columngap","undefined","getPositionValueStyle","positionvalue","top","right","bottom","left","split","parse","v","Number","replace","getDimensionStyle","baseStyle","isInnerView","base","width","height","dimensionStyle","parentDir","parentdirection","hasParentAlignment","Boolean","parentalignment","isRow","position","Object","assign","clipcontent","overflow","zindex","zIndex","alignSelf","flexGrow","num","endsWith","parseFloat","isNaN","flexShrink","minWidth","flexBasis","getGapStyle","_props$gap","_props$direction","_props$alignment","finalGap","finalDirection","finalAlignment","isAutoGap","layoutStyle","alignConfig","columnGap","rowGap","getContentContainerStyle","_props$direction2","_props$wrap","_props$gap2","_props$alignment2","finalWrap","isWrap","flexWrap","alignContent","getDirectionStyle","directionStyle","flexDirection","extractAutoLayoutProps","source","parentProps","_source$overflow","_source$parentdirecti","_source$parentalignme","toLowerCase"],"sources":["auto-layout.utils.ts"],"sourcesContent":["import { ViewStyle, DimensionValue } from 'react-native';\n\nexport interface AutoLayoutProps {\n direction?: 'row' | 'column';\n wrap?: boolean;\n alignment?: string;\n gap?: number | string | 'auto';\n columngap?: number | string | 'auto';\n parentdirection?: string;\n parentalignment?: string;\n\n position?: 'relative' | 'sticky' | 'absolute' | 'fixed';\n zindex?: number;\n clipcontent?: boolean;\n overflow?: 'none' | 'scroll';\n positionvalue?: string;\n}\n\nexport type ParentAlignItems = 'flex-start' | 'center' | 'flex-end';\n\nconst alignmentMatrixFixed: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n 'top-left': { justifyContent: 'flex-start', alignItems: 'flex-start' },\n 'top-center': { justifyContent: 'center', alignItems: 'flex-start' },\n 'top-right': { justifyContent: 'flex-end', alignItems: 'flex-start' },\n 'middle-left': { justifyContent: 'flex-start', alignItems: 'center' },\n 'middle-center': { justifyContent: 'center', alignItems: 'center' },\n 'middle-right': { justifyContent: 'flex-end', alignItems: 'center' },\n 'bottom-left': { justifyContent: 'flex-start', alignItems: 'flex-end' },\n 'bottom-center': { justifyContent: 'center', alignItems: 'flex-end' },\n 'bottom-right': { justifyContent: 'flex-end', alignItems: 'flex-end' },\n};\n\nconst alignmentMatrixAuto: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n start: { justifyContent: 'space-between', alignItems: 'flex-start' },\n center: { justifyContent: 'space-between', alignItems: 'center' },\n end: { justifyContent: 'space-between', alignItems: 'flex-end' },\n};\n\nexport function isAutoLayout(props: AutoLayoutProps): boolean {\n const { direction, wrap, gap, alignment, columngap } = props;\n\n return (\n direction !== undefined ||\n wrap !== undefined ||\n gap !== undefined ||\n alignment !== undefined ||\n columngap !== undefined\n );\n}\n\nexport function getPositionValueStyle(\n positionvalue: AutoLayoutProps['positionvalue']): Pick<ViewStyle, 'top' | 'right' | 'bottom' | 'left'> {\n const [top, right, bottom, left] = positionvalue?.split(' ') || [];\n const parse = (v?: string) => {\n if (!v || v === 'auto') return undefined;\n return Number(v.replace('px', ''));\n };\n return {\n top: parse(top),\n right: parse(right),\n bottom: parse(bottom),\n left: parse(left),\n };\n}\n\nexport function getDimensionStyle(\n props: AutoLayoutProps,\n baseStyle?: ViewStyle,\n isInnerView: boolean = false\n): ViewStyle {\n const base = baseStyle || {};\n const { width, height }: any = base;\n const dimensionStyle: ViewStyle = {};\n const parentDir = props.parentdirection;\n const hasParentAlignment = Boolean(props.parentalignment);\n const isRow = parentDir === 'row';\n if (!isInnerView){\n if(props.position === 'absolute'){\n dimensionStyle.position = 'absolute';\n Object.assign(dimensionStyle, getPositionValueStyle(props.positionvalue));\n }\n if(props.clipcontent){\n if(props.overflow == \"none\"){\n dimensionStyle.overflow = 'hidden'\n }\n }\n if(props.zindex !== undefined){\n dimensionStyle.zIndex = props.zindex\n }\n }\n if (isInnerView) {\n if (width && width !== 'hug') {\n dimensionStyle.width = '100%';\n }\n if (height && height !== 'hug') {\n dimensionStyle.height = '100%';\n }\n return dimensionStyle;\n }\n\n if (height === 'fill') {\n if (!parentDir) {\n dimensionStyle.height = '100%';\n } else {\n if (isRow) {\n dimensionStyle.alignSelf = 'stretch';\n } else {\n dimensionStyle.flexGrow = 1;\n }\n dimensionStyle.height = undefined;\n }\n } else if (height === 'hug' || height === undefined) {\n if (parentDir && !isRow) {\n dimensionStyle.flexGrow = 0;\n }\n dimensionStyle.height = undefined;\n } else if (height) {\n const num = (typeof height === 'string' && height.endsWith('%')) ? height : parseFloat(height);\n dimensionStyle.height = (isNaN(num as number) ? height : num) as DimensionValue;\n }\n\n if (width === 'fill') {\n if (isRow) {\n dimensionStyle.flexGrow = 1;\n dimensionStyle.flexShrink = 1;\n dimensionStyle.minWidth = 0;\n } else {\n dimensionStyle.alignSelf = 'stretch';\n }\n dimensionStyle.width = undefined;\n } else if (width === 'hug') {\n if (parentDir) {\n if (isRow) {\n dimensionStyle.flexGrow = 0;\n dimensionStyle.flexBasis = 'auto';\n dimensionStyle.flexShrink = 0;\n } else if (!hasParentAlignment) {\n dimensionStyle.alignSelf = 'flex-start';\n }\n }\n dimensionStyle.width = undefined;\n } else if (width === undefined) {\n if (parentDir) {\n if (isRow) {\n // Keep row children with implicit width in their natural content size.\n // Setting flexGrow=0 here makes RN Web emit `flex: 0 1 0%`, which can collapse text/content.\n dimensionStyle.flexBasis = 'auto';\n } else {\n dimensionStyle.alignSelf = 'stretch';\n }\n dimensionStyle.width = undefined;\n }\n } else if (width) {\n const num = (typeof width === 'string' && width.endsWith('%')) ? width : parseFloat(width);\n dimensionStyle.width = (isNaN(num as number) ? width : num) as DimensionValue;\n }\n\n return dimensionStyle;\n}\n\nfunction getGapStyle(props: AutoLayoutProps): ViewStyle {\n if (!isAutoLayout(props)) {\n return {};\n }\n\n const finalGap = props.gap ?? 4;\n const finalDirection = props.direction ?? 'row';\n const finalAlignment = props.alignment ?? 'top-left';\n\n const isAutoGap = finalGap === 'auto';\n const isRow = finalDirection === 'row';\n\n const layoutStyle: ViewStyle = {};\n\n if (isAutoGap) {\n const alignConfig = alignmentMatrixAuto[finalAlignment] || alignmentMatrixAuto['start'];\n layoutStyle.justifyContent = alignConfig.justifyContent as ViewStyle['justifyContent'];\n layoutStyle.alignItems = alignConfig.alignItems as ViewStyle['alignItems'];\n } else {\n if (isRow) {\n layoutStyle.columnGap = Number(finalGap);\n } else {\n layoutStyle.rowGap = Number(finalGap);\n }\n }\n\n return layoutStyle;\n}\n\nexport function getContentContainerStyle(props: AutoLayoutProps): ViewStyle {\n if (!isAutoLayout(props)) {\n return {};\n }\n\n const finalDirection = props.direction ?? 'row';\n const finalWrap = props.wrap ?? false;\n const finalGap = props.gap ?? 4;\n const finalAlignment = props.alignment ?? 'top-left';\n\n const isRow = finalDirection === 'row';\n const isAutoGap = finalGap === 'auto';\n const isWrap = finalWrap === true;\n\n const layoutStyle: ViewStyle = {\n flexWrap: isWrap && isRow ? 'wrap' : 'nowrap',\n };\n\n if (!isAutoGap) {\n const alignConfig =\n alignmentMatrixFixed[finalAlignment] || alignmentMatrixFixed['top-left'];\n\n layoutStyle.justifyContent = (\n isRow ? alignConfig.justifyContent : alignConfig.alignItems\n ) as ViewStyle['justifyContent'];\n layoutStyle.alignItems = (\n isRow ? alignConfig.alignItems : alignConfig.justifyContent\n ) as ViewStyle['alignItems'];\n }\n\n if (isWrap && isRow) {\n if (props.columngap === 'auto') {\n layoutStyle.alignContent = 'space-between';\n } else if (props.columngap !== undefined) {\n layoutStyle.rowGap = Number(props.columngap);\n layoutStyle.alignContent = 'flex-start';\n } else {\n // RN Web defaults wrapped rows to stretch, which can create large vertical gaps.\n layoutStyle.alignContent = 'flex-start';\n }\n }\n\n return {\n ...layoutStyle,\n ...getGapStyle(props),\n };\n}\n\nexport function getDirectionStyle(props: AutoLayoutProps): ViewStyle {\n const directionStyle: ViewStyle = {};\n if (props.direction) {\n directionStyle.flexDirection = props.direction;\n }\n return directionStyle;\n}\n\nexport function extractAutoLayoutProps(source: Record<string, any>, parentProps?: Record<string, any>): AutoLayoutProps {\n return {\n direction: source.direction,\n wrap: source.wrap,\n gap: source.gap,\n alignment: source.alignment,\n columngap: source.columngap,\n position: source.position,\n positionvalue: source.positionvalue,\n zindex: source.zindex,\n clipcontent: source.clipcontent,\n overflow: source.overflow?.toLowerCase() as AutoLayoutProps['overflow'],\n parentdirection: source.parentdirection ?? parentProps?.direction,\n parentalignment: source.parentalignment ?? parentProps?.alignment,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["alignmentMatrixFixed","justifyContent","alignItems","alignmentMatrixAuto","start","center","end","isAutoLayout","props","direction","wrap","gap","alignment","columngap","undefined","getPositionValueStyle","positionvalue","top","right","bottom","left","split","parse","v","Number","replace","getDimensionStyle","baseStyle","isInnerView","base","width","height","dimensionStyle","parentDir","parentdirection","hasParentAlignment","Boolean","parentalignment","isRow","position","Object","assign","clipcontent","overflow","zindex","zIndex","alignSelf","flexGrow","num","endsWith","parseFloat","isNaN","flexShrink","minWidth","flexBasis","getGapStyle","_props$gap","_props$direction","_props$alignment","finalGap","finalDirection","finalAlignment","isAutoGap","layoutStyle","alignConfig","columnGap","rowGap","getContentContainerStyle","_props$direction2","_props$wrap","_props$gap2","_props$alignment2","finalWrap","isWrap","flexWrap","alignContent","getDirectionStyle","directionStyle","flexDirection","extractAutoLayoutProps","source","parentProps","_source$overflow","_source$parentdirecti","_source$parentalignme","toLowerCase"],"sources":["auto-layout.utils.ts"],"sourcesContent":["import { ViewStyle, DimensionValue } from 'react-native';\n\nexport interface AutoLayoutProps {\n direction?: 'row' | 'column';\n wrap?: boolean;\n alignment?: string;\n gap?: number | string | 'auto';\n columngap?: number | string | 'auto';\n parentdirection?: string;\n parentalignment?: string;\n\n position?: 'relative' | 'sticky' | 'absolute' | 'fixed';\n zindex?: number;\n clipcontent?: boolean;\n overflow?: 'none' | 'scroll';\n positionvalue?: string;\n}\n\nexport type ParentAlignItems = 'flex-start' | 'center' | 'flex-end';\n\nconst alignmentMatrixFixed: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n 'top-left': { justifyContent: 'flex-start', alignItems: 'flex-start' },\n 'top-center': { justifyContent: 'center', alignItems: 'flex-start' },\n 'top-right': { justifyContent: 'flex-end', alignItems: 'flex-start' },\n 'middle-left': { justifyContent: 'flex-start', alignItems: 'center' },\n 'middle-center': { justifyContent: 'center', alignItems: 'center' },\n 'middle-right': { justifyContent: 'flex-end', alignItems: 'center' },\n 'bottom-left': { justifyContent: 'flex-start', alignItems: 'flex-end' },\n 'bottom-center': { justifyContent: 'center', alignItems: 'flex-end' },\n 'bottom-right': { justifyContent: 'flex-end', alignItems: 'flex-end' },\n};\n\nconst alignmentMatrixAuto: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n start: { justifyContent: 'space-between', alignItems: 'flex-start' },\n center: { justifyContent: 'space-between', alignItems: 'center' },\n end: { justifyContent: 'space-between', alignItems: 'flex-end' },\n};\n\nexport function isAutoLayout(props: AutoLayoutProps): boolean {\n const { direction, wrap, gap, alignment, columngap } = props;\n\n return (\n direction !== undefined ||\n wrap !== undefined ||\n gap !== undefined ||\n alignment !== undefined ||\n columngap !== undefined\n );\n}\n\nexport function getPositionValueStyle(\n positionvalue: AutoLayoutProps['positionvalue']): Pick<ViewStyle, 'top' | 'right' | 'bottom' | 'left'> {\n const [top, right, bottom, left] = positionvalue?.split(' ') || [];\n const parse = (v?: string) => {\n if (!v || v === 'auto') return undefined;\n return Number(v.replace('px', ''));\n };\n return {\n top: parse(top),\n right: parse(right),\n bottom: parse(bottom),\n left: parse(left),\n };\n}\n\nexport function getDimensionStyle(\n props: AutoLayoutProps,\n baseStyle?: ViewStyle,\n isInnerView: boolean = false\n): ViewStyle {\n const base = baseStyle || {};\n const { width, height }: any = base;\n const dimensionStyle: ViewStyle = {};\n const parentDir = props.parentdirection;\n const hasParentAlignment = Boolean(props.parentalignment);\n const isRow = parentDir === 'row';\n if (!isInnerView){\n if(props.position === 'absolute'){\n dimensionStyle.position = 'absolute';\n Object.assign(dimensionStyle, getPositionValueStyle(props.positionvalue));\n }\n if(props.clipcontent){\n if(props.overflow == \"none\"){\n dimensionStyle.overflow = 'hidden'\n }\n }\n if(props.zindex !== undefined){\n dimensionStyle.zIndex = props.zindex\n }\n }\n if (isInnerView) {\n if (width && width !== 'hug') {\n dimensionStyle.width = '100%';\n }\n if (height && height !== 'hug') {\n dimensionStyle.height = '100%';\n }\n return dimensionStyle;\n }\n\n if (height === 'fill') {\n if (!parentDir) {\n dimensionStyle.height = '100%';\n } else {\n if (isRow) {\n dimensionStyle.alignSelf = 'stretch';\n } else {\n dimensionStyle.flexGrow = 1;\n }\n dimensionStyle.height = undefined;\n }\n } else if (height === 'hug' || height === undefined) {\n if (parentDir && !isRow) {\n dimensionStyle.flexGrow = 0;\n }\n dimensionStyle.height = undefined;\n } else if (height) {\n const num = (typeof height === 'string' && height.endsWith('%')) ? height : parseFloat(height);\n dimensionStyle.height = (isNaN(num as number) ? height : num) as DimensionValue;\n }\n\n if (width === 'fill') {\n if (!parentDir) {\n dimensionStyle.width = '100%';\n } else {\n if (isRow) {\n dimensionStyle.flexGrow = 1;\n dimensionStyle.flexShrink = 1;\n dimensionStyle.minWidth = 0;\n } else {\n dimensionStyle.alignSelf = 'stretch';\n }\n dimensionStyle.width = undefined;\n }\n } else if (width === 'hug') {\n if (parentDir) {\n if (isRow) {\n dimensionStyle.flexGrow = 0;\n dimensionStyle.flexBasis = 'auto';\n dimensionStyle.flexShrink = 0;\n } else if (!hasParentAlignment) {\n dimensionStyle.alignSelf = 'flex-start';\n }\n }\n dimensionStyle.width = undefined;\n } else if (width === undefined) {\n if (parentDir) {\n if (isRow) {\n // Keep row children with implicit width in their natural content size.\n // Setting flexGrow=0 here makes RN Web emit `flex: 0 1 0%`, which can collapse text/content.\n dimensionStyle.flexBasis = 'auto';\n } else {\n dimensionStyle.alignSelf = 'stretch';\n }\n dimensionStyle.width = undefined;\n }\n } else if (width) {\n const num = (typeof width === 'string' && width.endsWith('%')) ? width : parseFloat(width);\n dimensionStyle.width = (isNaN(num as number) ? width : num) as DimensionValue;\n }\n\n return dimensionStyle;\n}\n\nfunction getGapStyle(props: AutoLayoutProps): ViewStyle {\n if (!isAutoLayout(props)) {\n return {};\n }\n\n const finalGap = props.gap ?? 4;\n const finalDirection = props.direction ?? 'row';\n const finalAlignment = props.alignment ?? 'top-left';\n\n const isAutoGap = finalGap === 'auto';\n const isRow = finalDirection === 'row';\n\n const layoutStyle: ViewStyle = {};\n\n if (isAutoGap) {\n const alignConfig = alignmentMatrixAuto[finalAlignment] || alignmentMatrixAuto['start'];\n layoutStyle.justifyContent = alignConfig.justifyContent as ViewStyle['justifyContent'];\n layoutStyle.alignItems = alignConfig.alignItems as ViewStyle['alignItems'];\n } else {\n if (isRow) {\n layoutStyle.columnGap = Number(finalGap);\n } else {\n layoutStyle.rowGap = Number(finalGap);\n }\n }\n\n return layoutStyle;\n}\n\nexport function getContentContainerStyle(props: AutoLayoutProps): ViewStyle {\n if (!isAutoLayout(props)) {\n return {};\n }\n\n const finalDirection = props.direction ?? 'row';\n const finalWrap = props.wrap ?? false;\n const finalGap = props.gap ?? 4;\n const finalAlignment = props.alignment ?? 'top-left';\n\n const isRow = finalDirection === 'row';\n const isAutoGap = finalGap === 'auto';\n const isWrap = finalWrap === true;\n\n const layoutStyle: ViewStyle = {\n flexWrap: isWrap && isRow ? 'wrap' : 'nowrap',\n };\n\n if (!isAutoGap) {\n const alignConfig =\n alignmentMatrixFixed[finalAlignment] || alignmentMatrixFixed['top-left'];\n\n layoutStyle.justifyContent = (\n isRow ? alignConfig.justifyContent : alignConfig.alignItems\n ) as ViewStyle['justifyContent'];\n layoutStyle.alignItems = (\n isRow ? alignConfig.alignItems : alignConfig.justifyContent\n ) as ViewStyle['alignItems'];\n }\n\n if (isWrap && isRow) {\n if (props.columngap === 'auto') {\n layoutStyle.alignContent = 'space-between';\n } else if (props.columngap !== undefined) {\n layoutStyle.rowGap = Number(props.columngap);\n layoutStyle.alignContent = 'flex-start';\n } else {\n // RN Web defaults wrapped rows to stretch, which can create large vertical gaps.\n layoutStyle.alignContent = 'flex-start';\n }\n }\n\n return {\n ...layoutStyle,\n ...getGapStyle(props),\n };\n}\n\nexport function getDirectionStyle(props: AutoLayoutProps): ViewStyle {\n const directionStyle: ViewStyle = {};\n if (props.direction) {\n directionStyle.flexDirection = props.direction;\n }\n return directionStyle;\n}\n\nexport function extractAutoLayoutProps(source: Record<string, any>, parentProps?: Record<string, any>): AutoLayoutProps {\n return {\n direction: source.direction,\n wrap: source.wrap,\n gap: source.gap,\n alignment: source.alignment,\n columngap: source.columngap,\n position: source.position,\n positionvalue: source.positionvalue,\n zindex: source.zindex,\n clipcontent: source.clipcontent,\n overflow: source.overflow?.toLowerCase() as AutoLayoutProps['overflow'],\n parentdirection: source.parentdirection ?? parentProps?.direction,\n parentalignment: source.parentalignment ?? parentProps?.alignment,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|