@wavemaker/app-rn-runtime 11.5.2-next.141017 → 11.5.2-next.141021
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.
- app-rn-runtime/components/advanced/carousel/carousel.component.js +4 -2
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js +6 -3
- app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.props.js +3 -0
- app-rn-runtime/components/advanced/webview/webview.props.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js +3 -2
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.props.js +3 -0
- app-rn-runtime/components/basic/anchor/anchor.props.js.map +1 -1
- app-rn-runtime/components/basic/animatedview.component.js +5 -3
- app-rn-runtime/components/basic/animatedview.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.component.js +9 -2
- app-rn-runtime/components/basic/button/button.component.js.map +1 -1
- app-rn-runtime/components/basic/button/button.props.js +3 -0
- app-rn-runtime/components/basic/button/button.props.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.component.js +3 -2
- app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
- app-rn-runtime/components/basic/icon/icon.props.js +3 -0
- app-rn-runtime/components/basic/icon/icon.props.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +7 -5
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.props.js +3 -0
- app-rn-runtime/components/basic/label/label.props.js.map +1 -1
- app-rn-runtime/components/basic/message/message.component.js +3 -2
- app-rn-runtime/components/basic/message/message.component.js.map +1 -1
- app-rn-runtime/components/basic/message/message.props.js +3 -0
- app-rn-runtime/components/basic/message/message.props.js.map +1 -1
- app-rn-runtime/components/basic/picture/picture.component.js +3 -2
- app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
- app-rn-runtime/components/basic/picture/picture.props.js +3 -0
- app-rn-runtime/components/basic/picture/picture.props.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +3 -3
- app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-bar/progress-bar.props.js +2 -0
- app-rn-runtime/components/basic/progress-bar/progress-bar.props.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +3 -2
- app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- app-rn-runtime/components/basic/progress-circle/progress-circle.props.js +2 -0
- app-rn-runtime/components/basic/progress-circle/progress-circle.props.js.map +1 -1
- app-rn-runtime/components/basic/search/search.component.js +2 -1
- app-rn-runtime/components/basic/search/search.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.props.js +3 -0
- app-rn-runtime/components/basic/search/search.props.js.map +1 -1
- app-rn-runtime/components/basic/video/video.component.js +4 -2
- app-rn-runtime/components/basic/video/video.component.js.map +1 -1
- app-rn-runtime/components/basic/video/video.props.js +3 -0
- app-rn-runtime/components/basic/video/video.props.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js +4 -2
- app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js +4 -2
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.props.js +3 -0
- app-rn-runtime/components/chart/basechart.props.js.map +1 -1
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +4 -2
- app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.component.js +4 -2
- app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +6 -3
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +5 -3
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +3 -3
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +3 -0
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js +5 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js +4 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- app-rn-runtime/components/device/barcodescanner/barcodescanner.props.js +3 -0
- app-rn-runtime/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
- app-rn-runtime/components/device/camera/camera.component.js +4 -1
- app-rn-runtime/components/device/camera/camera.component.js.map +1 -1
- app-rn-runtime/components/device/camera/camera.props.js +3 -0
- app-rn-runtime/components/device/camera/camera.props.js.map +1 -1
- app-rn-runtime/components/input/basedataset/basedataset.props.js +4 -0
- app-rn-runtime/components/input/basedataset/basedataset.props.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.component.js +2 -2
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.props.js +4 -0
- app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +6 -6
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.props.js +4 -0
- app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +8 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +8 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.component.js +5 -1
- app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +2 -1
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +7 -3
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js +4 -0
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.component.js +2 -0
- app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
- app-rn-runtime/components/input/fileupload/fileupload.props.js +2 -0
- app-rn-runtime/components/input/fileupload/fileupload.props.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +2 -1
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +7 -2
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/select/select.component.js +7 -3
- app-rn-runtime/components/input/select/select.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +5 -1
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.component.js +2 -1
- app-rn-runtime/components/input/text/text.component.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.component.js +2 -1
- app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +6 -1
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.props.js +4 -0
- app-rn-runtime/components/input/toggle/toggle.props.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js +8 -5
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.props.js +3 -0
- app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js +6 -3
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.props.js +3 -0
- app-rn-runtime/components/navigation/popover/popover.props.js.map +1 -1
- app-rn-runtime/core/accessibility.js +149 -0
- app-rn-runtime/core/accessibility.js.map +1 -0
- app-rn-runtime/core/base.component.js +10 -1
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/tappable.component.js +1 -1
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/core/utils.js +11 -0
- app-rn-runtime/core/utils.js.map +1 -1
- app-rn-runtime/gestures/swipe.animation.js +34 -1
- app-rn-runtime/gestures/swipe.animation.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/runtime/App.js +4 -0
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/base-page.component.js +1 -1
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
- app-rn-runtime/runtime/services/app-security.service.js +2 -1
- app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Animated","Easing","Text","Image","FontAwesome","BaseComponent","BaseComponentState","isFullPathUrl","WmIconProps","DEFAULT_CLASS","WavIcon","StreamlineLightIcon","StreamlineRegularIcon","Tappable","Animatedview","createSkeleton","ICON_SIZES","Map","ICON_ROTATTION","WmIconState","constructor","arguments","_defineProperty","WmIcon","props","Value","getIconDef","iconClass","iconDef","rotate","splits","split","isFontAwesome","find","v","isStreamlineLightIcon","isStreamlineRegularIcon","_splits$find","type","startsWith","substring","_splits$find2","_splits$find3","_splits$find4","isWavIcon","indexOf","animation","size","map","get","spin","stopAnimation","spinValue","setValue","timing","toValue","duration","easing","linear","useNativeDriver","start","componentDidMount","componentWillUnmount","onPropertyChange","name","$new","$old","updateState","getCustomIcon","style","_this$theme$getStyle","customIcon","theme","mergeStyle","getStyle","iconclass","icon","styles","customIconContent","content","createElement","fontFamily","decodeURIComponent","renderSkeleton","skeleton","root","width","skeletonwidth","iconsize","height","skeletonheight","getElementToShow","iconSrc","iconmargin","iconheight","iconwidth","elementToshow","source","uri","testID","getTestId","margin","loadIcon","iconImage","loadAsset","iconImageSrc","renderIcon","iconJsx","_iconSource","iconurl","state","text","color","transform","iconSize","fontSize","show","_this$styles$icon","WMCustomIcon","interpolate","inputRange","outputRange","View","opacity","renderWidget","iterationCount","iterationcount","parseInt","undefined","_extends","target","rippleColor","getTestPropsForAction","entryanimation","_background","iconposition","caption","getTestPropsForLabel"],"sources":["icon.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, DimensionValue, Easing, Text, Image } from 'react-native';\nimport { FontAwesome } from '@expo/vector-icons';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmIconProps from './icon.props';\nimport { DEFAULT_CLASS, WmIconStyles } from './icon.styles';\nimport WavIcon from './wavicon/wavicon.component';\nimport StreamlineLightIcon from './streamline-light-icon/streamline-light-icon.component';\nimport StreamlineRegularIcon from './streamline-regular-icon/streamline-regular-icon.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\ninterface IconDef {\n isFontAwesome: boolean;\n isWavIcon: boolean;\n isStreamlineLightIcon: boolean;\n isStreamlineRegularIcon: boolean;\n type: string;\n rotate: string;\n size: number;\n animation: string;\n}\n\nconst ICON_SIZES = new Map([\n ['fa-lg', 24],\n ['fa-2x', 36],\n ['fa-3x', 48],\n ['fa-4x', 60],\n ['fa-5x', 72]\n]);\n\nconst ICON_ROTATTION = new Map([\n ['fa-rotate-90', '90deg'],\n ['fa-rotate-180', '180deg'],\n ['fa-rotate-270', '270deg']\n]);\n\nexport class WmIconState extends BaseComponentState<WmIconProps> {\n public iconDef = {} as IconDef;\n}\n\nexport default class WmIcon extends BaseComponent<WmIconProps, WmIconState, WmIconStyles> {\n spinValue = new Animated.Value(0);\n pulseValue = new Animated.Value(0);\n public stopAnimation = true; \n private _iconSource = null as any;\n\n constructor(props: WmIconProps) {\n super(props, DEFAULT_CLASS, new WmIconProps());\n }\n\n getIconDef(iconClass: string): IconDef {\n const iconDef = {\n rotate: '0'\n } as IconDef;\n const splits = iconClass.split(' ');\n iconDef.isFontAwesome = !!splits.find(v => v === 'fa');\n iconDef.isStreamlineLightIcon = !!splits.find(v => v === 'wm-sl-l');\n iconDef.isStreamlineRegularIcon = !!splits.find(v => v === 'wm-sl-r');\n if (iconDef.isFontAwesome) {\n iconDef.type = splits.find(v => v.startsWith('fa-'))?.substring(3) || '';\n } else if (iconDef.isStreamlineLightIcon) {\n iconDef.type = splits.find(v => v.startsWith('sl-'))?.substring(3) || '';\n } else if (iconDef.isStreamlineRegularIcon) {\n iconDef.type = splits.find(v => v.startsWith('sl-'))?.substring(3) || '';\n } else {\n iconDef.isWavIcon = !iconDef.isFontAwesome && !!splits.find(v => v === 'wi');\n iconDef.type = (iconDef.isWavIcon && splits.find(v => v.startsWith('wi-'))?.substring(3)) || '';\n }\n if (iconClass.indexOf('fa-spin') >= 0) {\n iconDef.animation = 'spin';\n } else if (iconClass.indexOf('fa-pulse') >= 0) {\n iconDef.animation = 'pulse';\n }\n iconDef.size = splits.map(v => ICON_SIZES.get(v)).find(v => !!v) || 12;\n iconDef.rotate = splits.map(v => ICON_ROTATTION.get(v)).find(v => !!v) || '0deg';\n return iconDef;\n }\n\n private spin () {\n if (this.stopAnimation) {\n return;\n }\n this.spinValue.setValue(0);\n Animated.timing(\n this.spinValue,\n {\n toValue: 1,\n duration: 1000,\n easing: Easing.linear,\n useNativeDriver: true\n }\n ).start(() => this.spin());\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.spin();\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.stopAnimation = true;\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'iconclass':\n $new && this.updateState({iconDef: this.getIconDef($new)} as WmIconState);\n break;\n }\n }\n\n private getCustomIcon(props: WmIconProps, style: any) {\n const customIcon = this.theme.mergeStyle({}, this.theme.getStyle(props?.iconclass || '')?.icon || this.styles.icon);\n const customIconContent = customIcon?.content;\n if (customIconContent) {\n delete customIcon.content;\n return (<Text\n style={[style, customIcon.fontFamily ? {fontFamily: customIcon.fontFamily}: null]}>\n {decodeURIComponent(customIconContent)}\n </Text>);\n }\n return null;\n }\n\n public renderSkeleton(props: WmIconProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (this.props.skeletonwidth || this.props.iconsize || this.styles.root.width) as DimensionValue,\n height: (this.props.skeletonheight || this.props.iconsize || this.styles.root.height) as DimensionValue\n });\n }\n\n getElementToShow(props: WmIconProps, iconSrc: any) {\n\n const { iconmargin, iconheight, iconwidth } = props;\n let width, height;\n let elementToshow, source;\n\n if (iconwidth) width = iconwidth;\n else if (iconheight) width = iconheight;\n else width = 12;\n if (iconheight) height = iconheight;\n else if (iconwidth) height = iconwidth;\n else height = 12;\n\n if (isFullPathUrl(iconSrc)) {\n source = {\n uri: iconSrc\n };\n } else {\n source = iconSrc;\n }\n elementToshow = <Image testID={this.getTestId('icon')}\n style={{\n margin: iconmargin ?? 0,\n height: height,\n width: width\n }}\n source={source}/>;\n return elementToshow;\n }\n\n loadIcon(iconImage: string | undefined) {\n if (!iconImage || !this.loadAsset) {\n return null;\n }\n const iconImageSrc = this.loadAsset(iconImage);\n if (iconImageSrc && typeof iconImageSrc !== 'function') {\n return iconImageSrc;\n }\n return null;\n }\n\n renderIcon(props: WmIconProps) {\n let iconJsx = null;\n this._iconSource = this._iconSource || this.loadIcon(props.iconurl);\n const iconSrc: any = this._iconSource \n if (iconSrc) {\n return this.getElementToShow(props, iconSrc);\n }\n const iconDef = this.state.iconDef;\n if (!iconDef) {\n return null;\n }\n const { root, text, icon } = this.styles;\n const style = [{ color: root.color || text.color },\n icon,\n { transform: [{ rotate: iconDef.rotate }] }];\n\n const customIcon = this.getCustomIcon(props, style);\n const iconSize = props.iconsize || this.styles.root.fontSize || this.styles.text.fontSize || iconDef.size;\n if (props.show && iconDef && iconDef.isFontAwesome) {\n //@ts-ignore type information is not matching\n iconJsx = (<FontAwesome name={customIcon ? '' : iconDef.type}\n style={style}\n size={iconSize}>\n {customIcon}\n </FontAwesome>);\n } else if (props.show && iconDef) {\n let WMCustomIcon = WavIcon as unknown;\n if (iconDef.isStreamlineLightIcon) {\n WMCustomIcon = StreamlineLightIcon;\n } else if (iconDef.isStreamlineRegularIcon) {\n WMCustomIcon = StreamlineRegularIcon;\n } else if (!iconDef.isWavIcon && !customIcon && !this.styles.icon?.fontFamily) {\n return null;\n }\n //@ts-ignore type information is not matching\n iconJsx = WMCustomIcon ? (<WMCustomIcon name={customIcon ? '' : iconDef.type}\n style={style}\n size={iconSize}>\n {customIcon}\n </WMCustomIcon>) : null;\n }\n if (iconJsx && iconDef.animation === 'spin') {\n const rotate = this.spinValue.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg']});\n const animation = { transform: [{ rotate }] };\n this.stopAnimation = false;\n return (<Animated.View style={animation}>{iconJsx}</Animated.View>);\n } else if (iconJsx && iconDef.animation === 'pulse') {\n const opacity = this.spinValue.interpolate({ inputRange: [0, 1], outputRange: [0, 1]});\n const animation = { opacity: opacity };\n this.stopAnimation = false;\n return (<Animated.View style={animation}>{iconJsx}</Animated.View>);\n } else {\n this.stopAnimation = true;\n }\n return iconJsx;\n }\n\n renderWidget(props: WmIconProps) {\n let icon = this.renderIcon(props);\n let iterationCount: any = props.iterationcount ? (props.iterationcount != 'infinite' ? parseInt(props.iterationcount): 'infinite') : undefined;\n return (\n <Tappable target={this} rippleColor = {this.styles.root.rippleColor} {...this.getTestPropsForAction()}> \n <Animatedview entryanimation={props.animation} style={this.styles.root} iterationCount={iterationCount}>\n {this._background}\n {(props.iconposition === 'left' && icon) || null}\n {(props.caption && (<Text {...this.getTestPropsForLabel('caption')}style={this.styles.text}>{props.caption}</Text>)) || null}\n {(props.iconposition === 'right' && icon) || null}\n </Animatedview>\n </Tappable>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Animated","Easing","Text","Image","View","FontAwesome","BaseComponent","BaseComponentState","isFullPathUrl","AccessibilityWidgetType","getAccessibilityProps","WmIconProps","DEFAULT_CLASS","WavIcon","StreamlineLightIcon","StreamlineRegularIcon","Tappable","Animatedview","createSkeleton","ICON_SIZES","Map","ICON_ROTATTION","WmIconState","constructor","arguments","_defineProperty","WmIcon","props","Value","getIconDef","iconClass","iconDef","rotate","splits","split","isFontAwesome","find","v","isStreamlineLightIcon","isStreamlineRegularIcon","_splits$find","type","startsWith","substring","_splits$find2","_splits$find3","_splits$find4","isWavIcon","indexOf","animation","size","map","get","spin","stopAnimation","spinValue","setValue","timing","toValue","duration","easing","linear","useNativeDriver","start","componentDidMount","componentWillUnmount","onPropertyChange","name","$new","$old","updateState","getCustomIcon","style","_this$theme$getStyle","customIcon","theme","mergeStyle","getStyle","iconclass","icon","styles","customIconContent","content","createElement","fontFamily","decodeURIComponent","renderSkeleton","skeleton","root","width","skeletonwidth","iconsize","height","skeletonheight","getElementToShow","iconSrc","iconmargin","iconheight","iconwidth","elementToshow","source","uri","testID","getTestId","margin","loadIcon","iconImage","loadAsset","iconImageSrc","renderIcon","iconJsx","_iconSource","iconurl","state","text","color","transform","iconSize","fontSize","show","_this$styles$icon","WMCustomIcon","interpolate","inputRange","outputRange","opacity","ICON","renderWidget","iterationCount","iterationcount","parseInt","undefined","_extends","target","rippleColor","getTestPropsForAction","entryanimation","_background","iconposition","caption","getTestPropsForLabel"],"sources":["icon.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, DimensionValue, Easing, Text, Image, View } from 'react-native';\nimport { FontAwesome } from '@expo/vector-icons';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils'; \nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmIconProps from './icon.props';\nimport { DEFAULT_CLASS, WmIconStyles } from './icon.styles';\nimport WavIcon from './wavicon/wavicon.component';\nimport StreamlineLightIcon from './streamline-light-icon/streamline-light-icon.component';\nimport StreamlineRegularIcon from './streamline-regular-icon/streamline-regular-icon.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\ninterface IconDef {\n isFontAwesome: boolean;\n isWavIcon: boolean;\n isStreamlineLightIcon: boolean;\n isStreamlineRegularIcon: boolean;\n type: string;\n rotate: string;\n size: number;\n animation: string;\n}\n\nconst ICON_SIZES = new Map([\n ['fa-lg', 24],\n ['fa-2x', 36],\n ['fa-3x', 48],\n ['fa-4x', 60],\n ['fa-5x', 72]\n]);\n\nconst ICON_ROTATTION = new Map([\n ['fa-rotate-90', '90deg'],\n ['fa-rotate-180', '180deg'],\n ['fa-rotate-270', '270deg']\n]);\n\nexport class WmIconState extends BaseComponentState<WmIconProps> {\n public iconDef = {} as IconDef;\n}\n\nexport default class WmIcon extends BaseComponent<WmIconProps, WmIconState, WmIconStyles> {\n spinValue = new Animated.Value(0);\n pulseValue = new Animated.Value(0);\n public stopAnimation = true; \n private _iconSource = null as any;\n\n constructor(props: WmIconProps) {\n super(props, DEFAULT_CLASS, new WmIconProps());\n }\n\n getIconDef(iconClass: string): IconDef {\n const iconDef = {\n rotate: '0'\n } as IconDef;\n const splits = iconClass.split(' ');\n iconDef.isFontAwesome = !!splits.find(v => v === 'fa');\n iconDef.isStreamlineLightIcon = !!splits.find(v => v === 'wm-sl-l');\n iconDef.isStreamlineRegularIcon = !!splits.find(v => v === 'wm-sl-r');\n if (iconDef.isFontAwesome) {\n iconDef.type = splits.find(v => v.startsWith('fa-'))?.substring(3) || '';\n } else if (iconDef.isStreamlineLightIcon) {\n iconDef.type = splits.find(v => v.startsWith('sl-'))?.substring(3) || '';\n } else if (iconDef.isStreamlineRegularIcon) {\n iconDef.type = splits.find(v => v.startsWith('sl-'))?.substring(3) || '';\n } else {\n iconDef.isWavIcon = !iconDef.isFontAwesome && !!splits.find(v => v === 'wi');\n iconDef.type = (iconDef.isWavIcon && splits.find(v => v.startsWith('wi-'))?.substring(3)) || '';\n }\n if (iconClass.indexOf('fa-spin') >= 0) {\n iconDef.animation = 'spin';\n } else if (iconClass.indexOf('fa-pulse') >= 0) {\n iconDef.animation = 'pulse';\n }\n iconDef.size = splits.map(v => ICON_SIZES.get(v)).find(v => !!v) || 12;\n iconDef.rotate = splits.map(v => ICON_ROTATTION.get(v)).find(v => !!v) || '0deg';\n return iconDef;\n }\n\n private spin () {\n if (this.stopAnimation) {\n return;\n }\n this.spinValue.setValue(0);\n Animated.timing(\n this.spinValue,\n {\n toValue: 1,\n duration: 1000,\n easing: Easing.linear,\n useNativeDriver: true\n }\n ).start(() => this.spin());\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.spin();\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.stopAnimation = true;\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'iconclass':\n $new && this.updateState({iconDef: this.getIconDef($new)} as WmIconState);\n break;\n }\n }\n\n private getCustomIcon(props: WmIconProps, style: any) {\n const customIcon = this.theme.mergeStyle({}, this.theme.getStyle(props?.iconclass || '')?.icon || this.styles.icon);\n const customIconContent = customIcon?.content;\n if (customIconContent) {\n delete customIcon.content;\n return (<Text\n style={[style, customIcon.fontFamily ? {fontFamily: customIcon.fontFamily}: null]}>\n {decodeURIComponent(customIconContent)}\n </Text>);\n }\n return null;\n }\n\n public renderSkeleton(props: WmIconProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (this.props.skeletonwidth || this.props.iconsize || this.styles.root.width) as DimensionValue,\n height: (this.props.skeletonheight || this.props.iconsize || this.styles.root.height) as DimensionValue\n });\n }\n\n getElementToShow(props: WmIconProps, iconSrc: any) {\n\n const { iconmargin, iconheight, iconwidth } = props;\n let width, height;\n let elementToshow, source;\n\n if (iconwidth) width = iconwidth;\n else if (iconheight) width = iconheight;\n else width = 12;\n if (iconheight) height = iconheight;\n else if (iconwidth) height = iconwidth;\n else height = 12;\n\n if (isFullPathUrl(iconSrc)) {\n source = {\n uri: iconSrc\n };\n } else {\n source = iconSrc;\n }\n elementToshow = <Image testID={this.getTestId('icon')}\n style={{\n margin: iconmargin ?? 0,\n height: height,\n width: width\n }}\n source={source}/>;\n return elementToshow;\n }\n\n loadIcon(iconImage: string | undefined) {\n if (!iconImage || !this.loadAsset) {\n return null;\n }\n const iconImageSrc = this.loadAsset(iconImage);\n if (iconImageSrc && typeof iconImageSrc !== 'function') {\n return iconImageSrc;\n }\n return null;\n }\n\n renderIcon(props: WmIconProps) {\n let iconJsx = null;\n this._iconSource = this._iconSource || this.loadIcon(props.iconurl);\n const iconSrc: any = this._iconSource \n if (iconSrc) {\n return this.getElementToShow(props, iconSrc);\n }\n const iconDef = this.state.iconDef;\n if (!iconDef) {\n return null;\n }\n const { root, text, icon } = this.styles;\n const style = [{ color: root.color || text.color },\n icon,\n { transform: [{ rotate: iconDef.rotate }] }];\n\n const customIcon = this.getCustomIcon(props, style);\n const iconSize = props.iconsize || this.styles.root.fontSize || this.styles.text.fontSize || iconDef.size;\n if (props.show && iconDef && iconDef.isFontAwesome) {\n //@ts-ignore type information is not matching\n iconJsx = (<FontAwesome name={customIcon ? '' : iconDef.type}\n style={style}\n size={iconSize}>\n {customIcon}\n </FontAwesome>);\n } else if (props.show && iconDef) {\n let WMCustomIcon = WavIcon as unknown;\n if (iconDef.isStreamlineLightIcon) {\n WMCustomIcon = StreamlineLightIcon;\n } else if (iconDef.isStreamlineRegularIcon) {\n WMCustomIcon = StreamlineRegularIcon;\n } else if (!iconDef.isWavIcon && !customIcon && !this.styles.icon?.fontFamily) {\n return null;\n }\n //@ts-ignore type information is not matching\n iconJsx = WMCustomIcon ? (<WMCustomIcon name={customIcon ? '' : iconDef.type}\n style={style}\n size={iconSize}>\n {customIcon}\n </WMCustomIcon>) : null;\n }\n if (iconJsx && iconDef.animation === 'spin') {\n const rotate = this.spinValue.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg']});\n const animation = { transform: [{ rotate }] };\n this.stopAnimation = false;\n return (<Animated.View style={animation}>{iconJsx}</Animated.View>);\n } else if (iconJsx && iconDef.animation === 'pulse') {\n const opacity = this.spinValue.interpolate({ inputRange: [0, 1], outputRange: [0, 1]});\n const animation = { opacity: opacity };\n this.stopAnimation = false;\n return (<Animated.View style={animation}>{iconJsx}</Animated.View>);\n } else {\n this.stopAnimation = true;\n }\n return (\n <View\n {...getAccessibilityProps(AccessibilityWidgetType.ICON, this.props)}\n >\n {iconJsx}\n </View>\n );\n }\n\n renderWidget(props: WmIconProps) {\n let icon = this.renderIcon(props);\n let iterationCount: any = props.iterationcount ? (props.iterationcount != 'infinite' ? parseInt(props.iterationcount): 'infinite') : undefined;\n return (\n <Tappable target={this} rippleColor = {this.styles.root.rippleColor} {...this.getTestPropsForAction()}> \n <Animatedview entryanimation={props.animation} style={this.styles.root} iterationCount={iterationCount}>\n {this._background}\n {(props.iconposition === 'left' && icon) || null}\n {(props.caption && (<Text {...this.getTestPropsForLabel('caption')}style={this.styles.text}>{props.caption}</Text>)) || null}\n {(props.iconposition === 'right' && icon) || null}\n </Animatedview>\n </Tappable>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -18,6 +18,9 @@ export default class WmIconProps extends BaseProps {
|
|
|
18
18
|
_defineProperty(this, "iconheight", null);
|
|
19
19
|
_defineProperty(this, "iconwidth", null);
|
|
20
20
|
_defineProperty(this, "iconmargin", null);
|
|
21
|
+
_defineProperty(this, "accessibilitylabel", undefined);
|
|
22
|
+
_defineProperty(this, "hint", undefined);
|
|
23
|
+
_defineProperty(this, "accessibilityrole", 'none');
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
26
|
//# sourceMappingURL=icon.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmIconProps","constructor","arguments","_defineProperty"],"sources":["icon.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\
|
|
1
|
+
{"version":3,"names":["BaseProps","WmIconProps","constructor","arguments","_defineProperty","undefined"],"sources":["icon.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmIconProps extends BaseProps {\n animation?: string = null as any;\n iterationcount?: any;\n iconclass?: string = 'wm-sl-l sl-user';\n iconposition? = 'left';\n caption? = '';\n iconsize? = 0;\n onTap?: Function;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n iconurl?: string = null as any;\n iconheight?: number = null as any;\n iconwidth?: number = null as any;\n iconmargin?: number = null as any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'none';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC5B,IAAI;IAAAA,eAAA;IAAAA,eAAA,oBAEJ,iBAAiB;IAAAA,eAAA,uBACtB,MAAM;IAAAA,eAAA,kBACX,EAAE;IAAAA,eAAA,mBACD,CAAC;IAAAA,eAAA;IAAAA,eAAA,yBAEa,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,kBACV,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,oBACL,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,6BACIC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,MAAM;EAAA;AAChD"}
|
|
@@ -7,6 +7,7 @@ import { Text, View } from 'react-native';
|
|
|
7
7
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
8
8
|
import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
|
9
9
|
import { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';
|
|
10
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
10
11
|
import WmLabelProps from './label.props';
|
|
11
12
|
import { DEFAULT_CLASS } from './label.styles';
|
|
12
13
|
import { isNil, toString } from 'lodash-es';
|
|
@@ -105,27 +106,28 @@ export default class WmLabel extends BaseComponent {
|
|
|
105
106
|
var _this$state$parts;
|
|
106
107
|
return /*#__PURE__*/React.createElement(Tappable, {
|
|
107
108
|
target: this
|
|
108
|
-
}, /*#__PURE__*/React.createElement(Text, {
|
|
109
|
+
}, /*#__PURE__*/React.createElement(Text, _extends({
|
|
109
110
|
style: {
|
|
110
111
|
flexWrap: "wrap",
|
|
111
112
|
textAlign: this.styles.text.textAlign
|
|
112
|
-
}
|
|
113
|
+
}
|
|
114
|
+
}, this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {}, {
|
|
113
115
|
numberOfLines: props.nooflines,
|
|
114
116
|
ellipsizeMode: "tail"
|
|
115
|
-
}, (_this$state$parts = this.state.parts) === null || _this$state$parts === void 0 ? void 0 : _this$state$parts.map((part, index) => {
|
|
117
|
+
}), (_this$state$parts = this.state.parts) === null || _this$state$parts === void 0 ? void 0 : _this$state$parts.map((part, index) => {
|
|
116
118
|
const isLink = !isNil(part.link);
|
|
117
119
|
return /*#__PURE__*/React.createElement(Text, _extends({
|
|
118
120
|
key: `part_${index}`,
|
|
119
121
|
style: [this.styles.text, isLink ? this.styles.link.text : null, props.isValid ? null : {
|
|
120
122
|
color: 'red'
|
|
121
123
|
}]
|
|
122
|
-
}, this.getTestPropsForLabel(isLink ? `link_${index}` :
|
|
124
|
+
}, this.getTestPropsForLabel(isLink ? `link_${index}` : `caption_${index}`), {
|
|
123
125
|
selectable: this.styles.text.userSelect === 'text'
|
|
124
126
|
}, part.link ? {
|
|
125
127
|
onPress: () => {
|
|
126
128
|
part.link && navigationService.openUrl(part.link, '_blank');
|
|
127
129
|
}
|
|
128
|
-
} : {}), toString(part.text), props.required && this.getAsterisk());
|
|
130
|
+
} : {}, getAccessibilityProps(AccessibilityWidgetType.LABEL, props)), toString(part.text), props.required && this.getAsterisk());
|
|
129
131
|
})));
|
|
130
132
|
})) : null;
|
|
131
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","NavigationServiceConsumer","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","WmLabelState","constructor","arguments","_defineProperty","WmLabel","props","getAsterisk","createElement","style","styles","asterisk","onPropertyChange","name","$new","$old","updateState","parts","parseCaption","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","caption","replace","pattern","linkRegex","captionSplit","split","i","length","isLink","test","part","isNextTextALink","text","link","push","renderSkeleton","_this$styles$root","_this$styles$root2","skeletonWidth","skeletonwidth","root","skeletonHeight","skeletonheight","fontSize","multilineskeleton","renderWidget","linkStyles","mergeStyle","entryanimation","animation","_background","navigationService","_this$state$parts","target","flexWrap","textAlign","numberOfLines","nooflines","ellipsizeMode","state","map","index","_extends","key","isValid","color","getTestPropsForLabel","selectable","userSelect","onPress","openUrl","required"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\n\nimport WmLabelProps from './label.props';\nimport { DEFAULT_CLASS, WmLabelStyles } from './label.styles';\nimport { isNil, toString } from 'lodash-es';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\ntype PartType = {\n text?: string,\n link?: string,\n};\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n parts: PartType[] = []\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps(), new WmLabelState());\n }\n\n private getAsterisk () {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n\n switch(name) {\n case \"caption\":\n this.updateState({\n parts: this.parseCaption($new)\n } as WmLabelState);\n break;\n }\n }\n private getMultilineSkeleton(width: any, height: any) {\n const styles = {\n borderRadius:4,\n marginBottom: 10,\n height: height\n };\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...styles,\n width: width,\n height: height\n });\n }\n\n parseCaption(caption: string) {\n if (!caption) {\n return [];\n }\n caption += '';\n caption = caption.replace(/\\(\\s*\\)/, '(#/__EMPTY__)');\n const pattern = /\\[([^\\]]+)\\]\\(([^)]*)\\)/g;\n const linkRegex = /^(((http|https):\\/\\/)|#)[^ \"]+$/;\n const captionSplit = caption.split(pattern);\n\n let parts = [];\n\n for (let i = 0; i < captionSplit.length; i++) {\n const isLink = captionSplit[i] === \"\" || linkRegex.test(captionSplit[i]);\n let part: PartType = {};\n \n const isNextTextALink = linkRegex.test(captionSplit[i + 1]);\n if (isLink) {\n part.text = captionSplit[i - 1] ?? '';\n part.link = captionSplit[i] === '#/__EMPTY__' ? '' : captionSplit[i];\n } else {\n part.text = isNextTextALink ? \"\" : captionSplit[i];\n };\n\n if (part.text) {\n parts.push(part);\n }\n }\n\n return parts;\n }\n\n public renderSkeleton(props: WmLabelProps){\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || this.styles.text.fontSize;\n if(this.props.multilineskeleton) {\n return (<View style={{\n width: skeletonWidth as DimensionValue\n }}>\n {this.getMultilineSkeleton('100%', skeletonHeight)}\n {this.getMultilineSkeleton('70%', skeletonHeight)}\n {this.getMultilineSkeleton('40%', skeletonHeight)}\n </View>)\n }\n else{\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\n renderWidget(props: WmLabelProps) {\n const linkStyles = this.theme.mergeStyle({text: this.styles.text}, this.styles.link);\n return !isNil(props.caption) ? (\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n {this._background}\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) => {\n return (<Tappable target={this}>\n <Text style={{flexWrap: \"wrap\", textAlign: this.styles.text.textAlign}} numberOfLines={props.nooflines} ellipsizeMode=\"tail\">\n {this.state.parts?.map((part, index) => {\n const isLink = !isNil(part.link);\n return (\n <Text\n key={`part_${index}`}\n style={[\n this.styles.text,\n isLink ? this.styles.link.text : null,\n props.isValid ? null : { color: 'red'}\n ]}\n {...this.getTestPropsForLabel(isLink ? `link_${index}` : `${index}`)}\n selectable={this.styles.text.userSelect === 'text'}\n {...part.link ? {\n onPress: () => {\n part.link && navigationService.openUrl(part.link, '_blank');\n }\n }: {}}\n >\n {toString(part.text)}\n {props.required && this.getAsterisk()}\n </Text>\n );\n })}\n </Text>\n </Tappable>)}}\n </NavigationServiceConsumer>\n </Animatedview>\n ) : null;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","NavigationServiceConsumer","AccessibilityWidgetType","getAccessibilityProps","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","WmLabelState","constructor","arguments","_defineProperty","WmLabel","props","getAsterisk","createElement","style","styles","asterisk","onPropertyChange","name","$new","$old","updateState","parts","parseCaption","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","caption","replace","pattern","linkRegex","captionSplit","split","i","length","isLink","test","part","isNextTextALink","text","link","push","renderSkeleton","_this$styles$root","_this$styles$root2","skeletonWidth","skeletonwidth","root","skeletonHeight","skeletonheight","fontSize","multilineskeleton","renderWidget","linkStyles","mergeStyle","entryanimation","animation","_background","navigationService","_this$state$parts","target","_extends","flexWrap","textAlign","state","getTestPropsForLabel","numberOfLines","nooflines","ellipsizeMode","map","index","key","isValid","color","selectable","userSelect","onPress","openUrl","LABEL","required"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmLabelProps from './label.props';\nimport { DEFAULT_CLASS, WmLabelStyles } from './label.styles';\nimport { isNil, toString } from 'lodash-es';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\ntype PartType = {\n text?: string,\n link?: string,\n};\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n parts: PartType[] = []\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps(), new WmLabelState());\n }\n\n private getAsterisk () {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n\n switch(name) {\n case \"caption\":\n this.updateState({\n parts: this.parseCaption($new)\n } as WmLabelState);\n break;\n }\n }\n private getMultilineSkeleton(width: any, height: any) {\n const styles = {\n borderRadius:4,\n marginBottom: 10,\n height: height\n };\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...styles,\n width: width,\n height: height\n });\n }\n\n parseCaption(caption: string) {\n if (!caption) {\n return [];\n }\n caption += '';\n caption = caption.replace(/\\(\\s*\\)/, '(#/__EMPTY__)');\n const pattern = /\\[([^\\]]+)\\]\\(([^)]*)\\)/g;\n const linkRegex = /^(((http|https):\\/\\/)|#)[^ \"]+$/;\n const captionSplit = caption.split(pattern);\n\n let parts = [];\n\n for (let i = 0; i < captionSplit.length; i++) {\n const isLink = captionSplit[i] === \"\" || linkRegex.test(captionSplit[i]);\n let part: PartType = {};\n \n const isNextTextALink = linkRegex.test(captionSplit[i + 1]);\n if (isLink) {\n part.text = captionSplit[i - 1] ?? '';\n part.link = captionSplit[i] === '#/__EMPTY__' ? '' : captionSplit[i];\n } else {\n part.text = isNextTextALink ? \"\" : captionSplit[i];\n };\n\n if (part.text) {\n parts.push(part);\n }\n }\n\n return parts;\n }\n\n public renderSkeleton(props: WmLabelProps){\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || this.styles.text.fontSize;\n if(this.props.multilineskeleton) {\n return (<View style={{\n width: skeletonWidth as DimensionValue\n }}>\n {this.getMultilineSkeleton('100%', skeletonHeight)}\n {this.getMultilineSkeleton('70%', skeletonHeight)}\n {this.getMultilineSkeleton('40%', skeletonHeight)}\n </View>)\n }\n else{\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\n renderWidget(props: WmLabelProps) {\n const linkStyles = this.theme.mergeStyle({text: this.styles.text}, this.styles.link);\n return !isNil(props.caption) ? (\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n {this._background}\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) => {\n return (<Tappable target={this}>\n <Text style={{flexWrap: \"wrap\", textAlign: this.styles.text.textAlign}}\n {...this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {}}\n numberOfLines={props.nooflines} ellipsizeMode=\"tail\">\n {this.state.parts?.map((part, index) => {\n const isLink = !isNil(part.link);\n return (\n <Text\n key={`part_${index}`}\n style={[\n this.styles.text,\n isLink ? this.styles.link.text : null,\n props.isValid ? null : { color: 'red'}\n ]}\n {...this.getTestPropsForLabel(isLink ? `link_${index}` : `caption_${index}`)}\n selectable={this.styles.text.userSelect === 'text'}\n {...part.link ? {\n onPress: () => {\n part.link && navigationService.openUrl(part.link, '_blank');\n }\n }: {}}\n {...getAccessibilityProps(AccessibilityWidgetType.LABEL, props)}\n >\n {toString(part.text)}\n {props.required && this.getAsterisk()}\n </Text>\n );\n })}\n </Text>\n </Tappable>)}}\n </NavigationServiceConsumer>\n </Animatedview>\n ) : null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ export default class WmLabelProps extends BaseProps {
|
|
|
14
14
|
_defineProperty(this, "skeletonheight", null);
|
|
15
15
|
_defineProperty(this, "skeletonwidth", null);
|
|
16
16
|
_defineProperty(this, "multilineskeleton", false);
|
|
17
|
+
_defineProperty(this, "accessibilitylabel", undefined);
|
|
18
|
+
_defineProperty(this, "hint", undefined);
|
|
19
|
+
_defineProperty(this, "accessibilityrole", 'text');
|
|
17
20
|
}
|
|
18
21
|
}
|
|
19
22
|
//# sourceMappingURL=label.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmLabelProps","constructor","arguments","_defineProperty","undefined"],"sources":["label.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\
|
|
1
|
+
{"version":3,"names":["BaseProps","WmLabelProps","constructor","arguments","_defineProperty","undefined"],"sources":["label.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmLabelProps extends BaseProps {\n animation?: string = null as any;\n caption?: string = 'Label';\n required?: boolean = null as any;\n isValid?: boolean = true;\n wrap?: boolean = true;\n nooflines?: any = undefined;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n multilineskeleton?: boolean = false;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'text';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC3B,IAAI;IAAAA,eAAA,kBACN,OAAO;IAAAA,eAAA,mBACL,IAAI;IAAAA,eAAA,kBACL,IAAI;IAAAA,eAAA,eACP,IAAI;IAAAA,eAAA,oBACHC,SAAS;IAAAD,eAAA,yBACD,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,4BACC,KAAK;IAAAA,eAAA,6BACLC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,MAAM;EAAA;AAClD"}
|
|
@@ -10,6 +10,7 @@ import { DEFAULT_CLASS } from './message.styles';
|
|
|
10
10
|
import WmIcon from '../icon/icon.component';
|
|
11
11
|
import WmButton from '../button/button.component';
|
|
12
12
|
import { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';
|
|
13
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
13
14
|
export class WmMessageState extends BaseComponentState {}
|
|
14
15
|
const MESSAGE_ICONS = {
|
|
15
16
|
'success': 'wm-sl-l sl-check',
|
|
@@ -63,9 +64,9 @@ export default class WmMessage extends BaseComponent {
|
|
|
63
64
|
style: styles.message
|
|
64
65
|
}, /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel('title'), {
|
|
65
66
|
style: styles.title
|
|
66
|
-
}), props.title || DEFAULT_TITLE[props.type || '']), /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel('caption'), {
|
|
67
|
+
}, getAccessibilityProps(AccessibilityWidgetType.MESSAGE, props)), props.title || DEFAULT_TITLE[props.type || '']), /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel('caption'), {
|
|
67
68
|
style: styles.text
|
|
68
|
-
}), props.caption)), props.hideclose ? null : /*#__PURE__*/React.createElement(WmButton, {
|
|
69
|
+
}, getAccessibilityProps(AccessibilityWidgetType.MESSAGE, props)), props.caption)), props.hideclose ? null : /*#__PURE__*/React.createElement(WmButton, {
|
|
69
70
|
id: this.getTestId('close'),
|
|
70
71
|
iconclass: "wi wi-close",
|
|
71
72
|
styles: styles.closeBtn,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmMessageProps","DEFAULT_CLASS","WmIcon","WmButton","Animatedview","WmMessageState","MESSAGE_ICONS","DEFAULT_TITLE","WmMessage","constructor","props","_defineProperty","updateState","show","invokeEventCallback","showMessage","hideMessage","renderWidget","styles","theme","mergeStyle","getStyle","type","variant","createElement","entryanimation","animation","style","root","_background","id","getTestId","iconclass","icon","message","_extends","getTestPropsForLabel","title","text","caption","hideclose","closeBtn","onTap","close"],"sources":["message.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmMessageProps from './message.props';\nimport { DEFAULT_CLASS, WmMessageStyles } from './message.styles';\nimport WmIcon from '../icon/icon.component';\nimport WmButton from '../button/button.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nexport class WmMessageState extends BaseComponentState<WmMessageProps> {}\n\nconst MESSAGE_ICONS = {\n 'success': 'wm-sl-l sl-check',\n 'warning': 'wm-sl-l sl-alarm-bell',\n 'error': 'fa fa-times-circle',\n 'info': 'wi wi-info',\n 'loading': 'fa fa-spinner fa-spin'\n};\n\nconst DEFAULT_TITLE = {\n 'success': 'Success',\n 'warning': 'Warning',\n 'error': 'Error',\n 'info': 'Info',\n 'loading': 'Processing'\n} as any;\n\nexport default class WmMessage extends BaseComponent<WmMessageProps, WmMessageState, WmMessageStyles> {\n\n constructor(props: WmMessageProps) {\n super(props, DEFAULT_CLASS, new WmMessageProps());\n }\n\n showMessage() {\n this.updateState({\n props: {\n show: true\n }\n } as WmMessageState);\n }\n\n hideMessage() {\n this.updateState({\n props: {\n show: false\n }\n } as WmMessageState);\n }\n\n close = () => {\n this.updateState({props: {\n show : false\n }}, () => this.invokeEventCallback('onClose', [null, this]));\n }\n\n renderWidget(props: WmMessageProps) {\n const styles = this.theme.mergeStyle(this.theme.getStyle(`${props.type}-${props.variant}-message`), this.styles);\n return (<Animatedview entryanimation={props.animation} style={styles.root}>\n {this._background}\n <WmIcon\n id={this.getTestId('icon')}\n iconclass={props.type && MESSAGE_ICONS[props.type]}\n styles={styles.icon}></WmIcon>\n <View style={styles.message}>\n <Text {...this.getTestPropsForLabel('title')} style={styles.title}>{props.title || DEFAULT_TITLE[props.type || '']}</Text>\n <Text {...this.getTestPropsForLabel('caption')} style={styles.text}>{props.caption}</Text>\n </View>\n {props.hideclose ? null : (\n <WmButton\n id={this.getTestId('close')}\n iconclass=\"wi wi-close\"\n styles={styles.closeBtn}\n onTap={this.close}></WmButton>\n )}\n </Animatedview>);\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,MAAM,MAAM,wBAAwB;AAC3C,OAAOC,QAAQ,MAAM,4BAA4B;AACjD,SAASC,YAAY,QAAQ,mEAAmE;
|
|
1
|
+
{"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmMessageProps","DEFAULT_CLASS","WmIcon","WmButton","Animatedview","AccessibilityWidgetType","getAccessibilityProps","WmMessageState","MESSAGE_ICONS","DEFAULT_TITLE","WmMessage","constructor","props","_defineProperty","updateState","show","invokeEventCallback","showMessage","hideMessage","renderWidget","styles","theme","mergeStyle","getStyle","type","variant","createElement","entryanimation","animation","style","root","_background","id","getTestId","iconclass","icon","message","_extends","getTestPropsForLabel","title","MESSAGE","text","caption","hideclose","closeBtn","onTap","close"],"sources":["message.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmMessageProps from './message.props';\nimport { DEFAULT_CLASS, WmMessageStyles } from './message.styles';\nimport WmIcon from '../icon/icon.component';\nimport WmButton from '../button/button.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmMessageState extends BaseComponentState<WmMessageProps> {}\n\nconst MESSAGE_ICONS = {\n 'success': 'wm-sl-l sl-check',\n 'warning': 'wm-sl-l sl-alarm-bell',\n 'error': 'fa fa-times-circle',\n 'info': 'wi wi-info',\n 'loading': 'fa fa-spinner fa-spin'\n};\n\nconst DEFAULT_TITLE = {\n 'success': 'Success',\n 'warning': 'Warning',\n 'error': 'Error',\n 'info': 'Info',\n 'loading': 'Processing'\n} as any;\n\nexport default class WmMessage extends BaseComponent<WmMessageProps, WmMessageState, WmMessageStyles> {\n\n constructor(props: WmMessageProps) {\n super(props, DEFAULT_CLASS, new WmMessageProps());\n }\n\n showMessage() {\n this.updateState({\n props: {\n show: true\n }\n } as WmMessageState);\n }\n\n hideMessage() {\n this.updateState({\n props: {\n show: false\n }\n } as WmMessageState);\n }\n\n close = () => {\n this.updateState({props: {\n show : false\n }}, () => this.invokeEventCallback('onClose', [null, this]));\n }\n\n renderWidget(props: WmMessageProps) {\n const styles = this.theme.mergeStyle(this.theme.getStyle(`${props.type}-${props.variant}-message`), this.styles);\n return (<Animatedview entryanimation={props.animation} style={styles.root}>\n {this._background}\n <WmIcon\n id={this.getTestId('icon')}\n iconclass={props.type && MESSAGE_ICONS[props.type]}\n styles={styles.icon}></WmIcon>\n <View style={styles.message}>\n <Text {...this.getTestPropsForLabel('title')} style={styles.title} {...getAccessibilityProps(AccessibilityWidgetType.MESSAGE, props)}>{props.title || DEFAULT_TITLE[props.type || '']}</Text>\n <Text {...this.getTestPropsForLabel('caption')} style={styles.text} {...getAccessibilityProps(AccessibilityWidgetType.MESSAGE, props)}>{props.caption}</Text>\n </View>\n {props.hideclose ? null : (\n <WmButton\n id={this.getTestId('close')}\n iconclass=\"wi wi-close\"\n styles={styles.closeBtn}\n onTap={this.close}></WmButton>\n )}\n </Animatedview>);\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,MAAM,MAAM,wBAAwB;AAC3C,OAAOC,QAAQ,MAAM,4BAA4B;AACjD,SAASC,YAAY,QAAQ,mEAAmE;AAChG,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAE7G,OAAO,MAAMC,cAAc,SAASR,kBAAkB,CAAiB;AAEvE,MAAMS,aAAa,GAAG;EACpB,SAAS,EAAE,kBAAkB;EAC7B,SAAS,EAAE,uBAAuB;EAClC,OAAO,EAAE,oBAAoB;EAC7B,MAAM,EAAE,YAAY;EACpB,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,aAAa,GAAG;EACpB,SAAS,EAAE,SAAS;EACpB,SAAS,EAAE,SAAS;EACpB,OAAO,EAAE,OAAO;EAChB,MAAM,EAAE,MAAM;EACd,SAAS,EAAE;AACb,CAAQ;AAER,eAAe,MAAMC,SAAS,SAASZ,aAAa,CAAkD;EAEpGa,WAAWA,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEX,aAAa,EAAE,IAAID,cAAc,CAAC,CAAC,CAAC;IAACa,eAAA,gBAmB5C,MAAM;MACZ,IAAI,CAACC,WAAW,CAAC;QAACF,KAAK,EAAE;UACvBG,IAAI,EAAG;QACT;MAAC,CAAC,EAAE,MAAM,IAAI,CAACC,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;EAtBD;EAEAC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACH,WAAW,CAAC;MACfF,KAAK,EAAE;QACLG,IAAI,EAAE;MACR;IACF,CAAmB,CAAC;EACtB;EAEAG,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACJ,WAAW,CAAC;MACfF,KAAK,EAAE;QACLG,IAAI,EAAE;MACR;IACF,CAAmB,CAAC;EACtB;EAQAI,YAAYA,CAACP,KAAqB,EAAE;IAClC,MAAMQ,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,GAAEX,KAAK,CAACY,IAAK,IAAGZ,KAAK,CAACa,OAAQ,UAAS,CAAC,EAAE,IAAI,CAACL,MAAM,CAAC;IAChH,oBAAQzB,KAAA,CAAA+B,aAAA,CAACtB,YAAY;MAACuB,cAAc,EAAEf,KAAK,CAACgB,SAAU;MAACC,KAAK,EAAET,MAAM,CAACU;IAAK,GACvE,IAAI,CAACC,WAAW,eACjBpC,KAAA,CAAA+B,aAAA,CAACxB,MAAM;MACL8B,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAC3BC,SAAS,EAAEtB,KAAK,CAACY,IAAI,IAAIhB,aAAa,CAACI,KAAK,CAACY,IAAI,CAAE;MACnDJ,MAAM,EAAEA,MAAM,CAACe;IAAK,CAAS,CAAC,eAChCxC,KAAA,CAAA+B,aAAA,CAAC9B,IAAI;MAACiC,KAAK,EAAET,MAAM,CAACgB;IAAQ,gBAC1BzC,KAAA,CAAA+B,aAAA,CAAC7B,IAAI,EAAAwC,QAAA,KAAK,IAAI,CAACC,oBAAoB,CAAC,OAAO,CAAC;MAAET,KAAK,EAAET,MAAM,CAACmB;IAAM,GAAKjC,qBAAqB,CAACD,uBAAuB,CAACmC,OAAO,EAAE5B,KAAK,CAAC,GAAGA,KAAK,CAAC2B,KAAK,IAAI9B,aAAa,CAACG,KAAK,CAACY,IAAI,IAAI,EAAE,CAAQ,CAAC,eAC7L7B,KAAA,CAAA+B,aAAA,CAAC7B,IAAI,EAAAwC,QAAA,KAAK,IAAI,CAACC,oBAAoB,CAAC,SAAS,CAAC;MAAET,KAAK,EAAET,MAAM,CAACqB;IAAK,GAAKnC,qBAAqB,CAACD,uBAAuB,CAACmC,OAAO,EAAE5B,KAAK,CAAC,GAAGA,KAAK,CAAC8B,OAAc,CACxJ,CAAC,EACN9B,KAAK,CAAC+B,SAAS,GAAG,IAAI,gBACrBhD,KAAA,CAAA+B,aAAA,CAACvB,QAAQ;MACP6B,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,OAAO,CAAE;MAC5BC,SAAS,EAAC,aAAa;MACvBd,MAAM,EAAEA,MAAM,CAACwB,QAAS;MACxBC,KAAK,EAAE,IAAI,CAACC;IAAM,CAAW,CAErB,CAAC;EACjB;AACF"}
|
|
@@ -11,6 +11,9 @@ export default class WmMessageProps extends BaseProps {
|
|
|
11
11
|
_defineProperty(this, "caption", 'Message');
|
|
12
12
|
_defineProperty(this, "type", 'success');
|
|
13
13
|
_defineProperty(this, "hideclose", false);
|
|
14
|
+
_defineProperty(this, "accessibilitylabel", undefined);
|
|
15
|
+
_defineProperty(this, "hint", undefined);
|
|
16
|
+
_defineProperty(this, "accessibilityrole", 'alert');
|
|
14
17
|
_defineProperty(this, "onClose", void 0);
|
|
15
18
|
}
|
|
16
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmMessageProps","constructor","arguments","_defineProperty"],"sources":["message.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\
|
|
1
|
+
{"version":3,"names":["BaseProps","WmMessageProps","constructor","arguments","_defineProperty","undefined"],"sources":["message.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmMessageProps extends BaseProps {\n animation?: string = 'fadeIn';\n title?: string = '';\n variant?: string = 'dark'\n caption? = 'Message';\n type?: 'success' | 'warning' | 'error' | 'info' | 'loading' = 'success';\n hideclose? = false;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'alert';\n onClose?: () => void;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC/B,QAAQ;IAAAA,eAAA,gBACZ,EAAE;IAAAA,eAAA,kBACA,MAAM;IAAAA,eAAA,kBACd,SAAS;IAAAA,eAAA,eAC0C,SAAS;IAAAA,eAAA,oBAC1D,KAAK;IAAAA,eAAA,6BACYC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,OAAO;IAAAA,eAAA;EAAA;AAEjD"}
|
|
@@ -10,6 +10,7 @@ import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
|
|
10
10
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
11
11
|
import ImageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';
|
|
12
12
|
import { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';
|
|
13
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
13
14
|
import WmPictureProps from './picture.props';
|
|
14
15
|
import { DEFAULT_CLASS } from './picture.styles';
|
|
15
16
|
import { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';
|
|
@@ -123,12 +124,12 @@ export default class WmPicture extends BaseComponent {
|
|
|
123
124
|
source = imgSrc;
|
|
124
125
|
}
|
|
125
126
|
if (this.state.naturalImageWidth) {
|
|
126
|
-
elementToshow = /*#__PURE__*/React.createElement(Image, {
|
|
127
|
+
elementToshow = /*#__PURE__*/React.createElement(Image, _extends({
|
|
127
128
|
testID: this.getTestId('picture'),
|
|
128
129
|
style: [this.styles.picture, shapeStyles.picture],
|
|
129
130
|
resizeMode: props.resizemode,
|
|
130
131
|
source: source
|
|
131
|
-
});
|
|
132
|
+
}, getAccessibilityProps(AccessibilityWidgetType.PICTURE, props)));
|
|
132
133
|
}
|
|
133
134
|
return elementToshow;
|
|
134
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Image","View","isNumber","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isFullPathUrl","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","constructor","arguments","_defineProperty","WmPicture","props","e","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","naturalImageHeight","naturalImageWidth","updateState","loadImage","image","loadAsset","imageSrc","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","push","onPropertyChange","name","$new","$old","_pictureSource","_picturePlaceHolder","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","uri","testID","getTestId","style","resizeMode","renderSkeleton","_this$styles$root","_shapeStyles$root","_shapeStyles$picture","_this$styles$root2","_shapeStyles$root2","_shapeStyles$picture2","_this$styles$root3","_shapeStyles$picture3","_shapeStyles$root3","_this$styles$root4","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","renderWidget","_shapeStyles$picture4","picturesource","pictureplaceholder","isSvg","_background","overflow","onLayout","onViewLayoutChange","_extends","getTestPropsForAction","rippleColor","target","entryanimation","animation"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Image, LayoutChangeEvent, View } from 'react-native';\n// import { NumberProp, SvgUri } from 'react-native-svg';\nimport { isNumber, isString } from 'lodash-es';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport ImageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { isFullPathUrl, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmPictureProps from './picture.props';\nimport { DEFAULT_CLASS, WmPictureStyles } from './picture.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmPictureState extends BaseComponentState<WmPictureProps> {\n naturalImageWidth: number = 0;\n naturalImageHeight: number = 0;\n imageWidth: number = 0;\n imageHeight: number = 0;\n}\n\nexport default class WmPicture extends BaseComponent<WmPictureProps, WmPictureState, WmPictureStyles> {\n\n private _pictureSource = null as any;\n private _picturePlaceHolder = null as any;\n\n constructor(props: WmPictureProps) {\n super(props, DEFAULT_CLASS, new WmPictureProps());\n }\n\n loadImage(image: string | undefined) {\n if (!image || !this.loadAsset) {\n return null;\n }\n const imageSrc = this.loadAsset(image) as any;\n if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {\n return null;\n }\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n } else if (imageSrc !== null) {\n const cancel = ImageSizeEstimator.getSize(imageSrc, (width: number, height: number) => {\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n this.cleanup.splice(this.cleanup.indexOf(cancel), 1);\n });\n this.cleanup.push(cancel);\n }\n return imageSrc;\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'picturesource':\n this._pictureSource = null;\n case 'pictureplaceholder':\n this._picturePlaceHolder = null;\n break;\n }\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let imageWidth = e.nativeEvent.layout.width;\n let imageHeight = e.nativeEvent.layout.height;\n if (!imageWidth && !imageHeight) {\n return;\n }\n if (!this.styles.root.height\n || (typeof this.styles.root.height === 'string'\n && !this.styles.root.height.includes('%'))) {\n imageHeight = 0;\n }\n if (imageWidth && !imageHeight) {\n imageHeight = imageWidth * this.state.naturalImageHeight / this.state.naturalImageWidth;\n } else if (imageHeight && !imageWidth) {\n imageWidth = imageHeight * this.state.naturalImageWidth / this.state.naturalImageHeight;\n }\n this.updateState({\n imageWidth: imageWidth,\n imageHeight: imageHeight\n } as WmPictureState);\n };\n\n createShape(shape: string | undefined, imageWidth?: number | string): WmPictureStyles {\n if (shape) {\n switch(shape) {\n case 'circle':\n return {\n picture: {\n borderRadius: isNumber(imageWidth) ? imageWidth / 2 : 4\n }\n } as WmPictureStyles;\n case 'rounded' :\n return (this.theme.getStyle('rounded-image') as WmPictureStyles);\n case 'thumbnail' :\n return (this.theme.getStyle('thumbnail-image') as WmPictureStyles);\n }\n }\n return {} as WmPictureStyles;\n }\n\n getElementToShow(props: WmPictureProps, imgSrc: any, shapeStyles: WmPictureStyles) {\n let elementToshow, source;\n if (imgSrc && typeof imgSrc === 'object' && typeof imgSrc?.default === 'function') {\n let imgStyle : any = {};\n if (props.resizemode === 'contain') {\n imgStyle['width'] = '100%';\n imgStyle['height'] = '100%';\n }\n elementToshow = React.createElement(imgSrc?.default, imgStyle);\n //} else if (!isWebPreviewMode() && props.isSvg) {\n // svg from uri\n // elementToshow = <SvgUri testID={this.getTestId('picture')} width={this.styles.root.width as NumberProp} height={this.styles.root.height as NumberProp} uri={imgSrc}/>;\n } else if (isFullPathUrl(imgSrc)) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth) {\n elementToshow = <Image testID={this.getTestId('picture')} style={[this.styles.picture, shapeStyles.picture]} resizeMode={props.resizemode} source={source}/>;\n }\n return elementToshow;\n }\n \n public renderSkeleton(props: WmPictureProps){\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(this.props.shape, imageWidth);\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width || shapeStyles.root?.width || shapeStyles.picture?.width || imageWidth; \n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || shapeStyles.root?.height || shapeStyles.picture?.height || imageHeight;\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n borderRadius: this.props.shape == 'circle' && this.styles.root?.width ? 25 : shapeStyles.picture?.borderRadius || shapeStyles.root?.borderRadius || this.styles.root?.borderRadius || 4,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n renderWidget(props: WmPictureProps) {\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(props.shape, imageWidth);\n this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);\n this._picturePlaceHolder = this._picturePlaceHolder || this.loadImage(props.pictureplaceholder);\n const imgSrc: any = this._pictureSource || this._picturePlaceHolder;\n let elementToshow;\n if (imgSrc) {\n elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);\n }\n return imgSrc && (this.state.naturalImageWidth || props.isSvg) ? (\n <View style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}>\n {this._background}\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable \n {...this.getTestPropsForAction()}\n rippleColor={this.styles.root.rippleColor}\n target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.state.imageWidth ? elementToshow : null}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Image","View","isNumber","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isFullPathUrl","AccessibilityWidgetType","getAccessibilityProps","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","constructor","arguments","_defineProperty","WmPicture","props","e","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","naturalImageHeight","naturalImageWidth","updateState","loadImage","image","loadAsset","imageSrc","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","push","onPropertyChange","name","$new","$old","_pictureSource","_picturePlaceHolder","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","uri","_extends","testID","getTestId","style","resizeMode","PICTURE","renderSkeleton","_this$styles$root","_shapeStyles$root","_shapeStyles$picture","_this$styles$root2","_shapeStyles$root2","_shapeStyles$picture2","_this$styles$root3","_shapeStyles$picture3","_shapeStyles$root3","_this$styles$root4","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","renderWidget","_shapeStyles$picture4","picturesource","pictureplaceholder","isSvg","_background","overflow","onLayout","onViewLayoutChange","getTestPropsForAction","rippleColor","target","entryanimation","animation"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Image, LayoutChangeEvent, View } from 'react-native';\n// import { NumberProp, SvgUri } from 'react-native-svg';\nimport { isNumber, isString } from 'lodash-es';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport ImageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmPictureProps from './picture.props';\nimport { DEFAULT_CLASS, WmPictureStyles } from './picture.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmPictureState extends BaseComponentState<WmPictureProps> {\n naturalImageWidth: number = 0;\n naturalImageHeight: number = 0;\n imageWidth: number = 0;\n imageHeight: number = 0;\n}\n\nexport default class WmPicture extends BaseComponent<WmPictureProps, WmPictureState, WmPictureStyles> {\n\n private _pictureSource = null as any;\n private _picturePlaceHolder = null as any;\n\n constructor(props: WmPictureProps) {\n super(props, DEFAULT_CLASS, new WmPictureProps());\n }\n\n loadImage(image: string | undefined) {\n if (!image || !this.loadAsset) {\n return null;\n }\n const imageSrc = this.loadAsset(image) as any;\n if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {\n return null;\n }\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n } else if (imageSrc !== null) {\n const cancel = ImageSizeEstimator.getSize(imageSrc, (width: number, height: number) => {\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n this.cleanup.splice(this.cleanup.indexOf(cancel), 1);\n });\n this.cleanup.push(cancel);\n }\n return imageSrc;\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'picturesource':\n this._pictureSource = null;\n case 'pictureplaceholder':\n this._picturePlaceHolder = null;\n break;\n }\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let imageWidth = e.nativeEvent.layout.width;\n let imageHeight = e.nativeEvent.layout.height;\n if (!imageWidth && !imageHeight) {\n return;\n }\n if (!this.styles.root.height\n || (typeof this.styles.root.height === 'string'\n && !this.styles.root.height.includes('%'))) {\n imageHeight = 0;\n }\n if (imageWidth && !imageHeight) {\n imageHeight = imageWidth * this.state.naturalImageHeight / this.state.naturalImageWidth;\n } else if (imageHeight && !imageWidth) {\n imageWidth = imageHeight * this.state.naturalImageWidth / this.state.naturalImageHeight;\n }\n this.updateState({\n imageWidth: imageWidth,\n imageHeight: imageHeight\n } as WmPictureState);\n };\n\n createShape(shape: string | undefined, imageWidth?: number | string): WmPictureStyles {\n if (shape) {\n switch(shape) {\n case 'circle':\n return {\n picture: {\n borderRadius: isNumber(imageWidth) ? imageWidth / 2 : 4\n }\n } as WmPictureStyles;\n case 'rounded' :\n return (this.theme.getStyle('rounded-image') as WmPictureStyles);\n case 'thumbnail' :\n return (this.theme.getStyle('thumbnail-image') as WmPictureStyles);\n }\n }\n return {} as WmPictureStyles;\n }\n\n getElementToShow(props: WmPictureProps, imgSrc: any, shapeStyles: WmPictureStyles) {\n let elementToshow, source;\n if (imgSrc && typeof imgSrc === 'object' && typeof imgSrc?.default === 'function') {\n let imgStyle : any = {};\n if (props.resizemode === 'contain') {\n imgStyle['width'] = '100%';\n imgStyle['height'] = '100%';\n }\n elementToshow = React.createElement(imgSrc?.default, imgStyle);\n //} else if (!isWebPreviewMode() && props.isSvg) {\n // svg from uri\n // elementToshow = <SvgUri testID={this.getTestId('picture')} width={this.styles.root.width as NumberProp} height={this.styles.root.height as NumberProp} uri={imgSrc}/>;\n } else if (isFullPathUrl(imgSrc)) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth) {\n elementToshow = (\n <Image\n testID={this.getTestId('picture')}\n style={[this.styles.picture, shapeStyles.picture]}\n resizeMode={props.resizemode}\n source={source}\n {...getAccessibilityProps(AccessibilityWidgetType.PICTURE, props)}\n />\n );\n }\n return elementToshow;\n }\n \n public renderSkeleton(props: WmPictureProps){\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(this.props.shape, imageWidth);\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width || shapeStyles.root?.width || shapeStyles.picture?.width || imageWidth; \n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || shapeStyles.root?.height || shapeStyles.picture?.height || imageHeight;\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n borderRadius: this.props.shape == 'circle' && this.styles.root?.width ? 25 : shapeStyles.picture?.borderRadius || shapeStyles.root?.borderRadius || this.styles.root?.borderRadius || 4,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n renderWidget(props: WmPictureProps) {\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(props.shape, imageWidth);\n this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);\n this._picturePlaceHolder = this._picturePlaceHolder || this.loadImage(props.pictureplaceholder);\n const imgSrc: any = this._pictureSource || this._picturePlaceHolder;\n let elementToshow;\n if (imgSrc) {\n elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);\n }\n return imgSrc && (this.state.naturalImageWidth || props.isSvg) ? (\n <View style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}>\n {this._background}\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable \n {...this.getTestPropsForAction()}\n rippleColor={this.styles.root.rippleColor}\n target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.state.imageWidth ? elementToshow : null}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -13,6 +13,9 @@ export default class WmPictureProps extends BaseProps {
|
|
|
13
13
|
_defineProperty(this, "resizemode", 'stretch');
|
|
14
14
|
_defineProperty(this, "skeletonheight", null);
|
|
15
15
|
_defineProperty(this, "skeletonwidth", null);
|
|
16
|
+
_defineProperty(this, "accessibilitylabel", undefined);
|
|
17
|
+
_defineProperty(this, "hint", undefined);
|
|
18
|
+
_defineProperty(this, "accessibilityrole", 'image');
|
|
16
19
|
}
|
|
17
20
|
}
|
|
18
21
|
//# sourceMappingURL=picture.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmPictureProps","constructor","arguments","_defineProperty"],"sources":["picture.props.ts"],"sourcesContent":["import { ImageResizeMode } from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmPictureProps extends BaseProps {\n animation?: string = null as any;\n picturesource?: string = null as any;\n pictureplaceholder?: string = null as any;\n shape?: string = null as any;\n isSvg?: string = null as any;\n resizemode?: ImageResizeMode = 'stretch' as any;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,wBACA,IAAI;IAAAA,eAAA,6BACC,IAAI;IAAAA,eAAA,gBACjB,IAAI;IAAAA,eAAA,gBACJ,IAAI;IAAAA,eAAA,qBACU,SAAS;IAAAA,eAAA,yBACd,IAAI;IAAAA,eAAA,wBACL,IAAI;EAAA;
|
|
1
|
+
{"version":3,"names":["BaseProps","WmPictureProps","constructor","arguments","_defineProperty","undefined"],"sources":["picture.props.ts"],"sourcesContent":["import { AccessibilityRole, ImageResizeMode } from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmPictureProps extends BaseProps {\n animation?: string = null as any;\n picturesource?: string = null as any;\n pictureplaceholder?: string = null as any;\n shape?: string = null as any;\n isSvg?: string = null as any;\n resizemode?: ImageResizeMode = 'stretch' as any;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'image';\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,wBACA,IAAI;IAAAA,eAAA,6BACC,IAAI;IAAAA,eAAA,gBACjB,IAAI;IAAAA,eAAA,gBACJ,IAAI;IAAAA,eAAA,qBACU,SAAS;IAAAA,eAAA,yBACd,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,6BACCC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,OAAO;EAAA;AACjD"}
|
|
@@ -4,6 +4,7 @@ import { View } from 'react-native';
|
|
|
4
4
|
import { ProgressBar } from 'react-native-paper';
|
|
5
5
|
import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
|
6
6
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
7
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
7
8
|
import WmProgressBarProps from './progress-bar.props';
|
|
8
9
|
import { DEFAULT_CLASS } from './progress-bar.styles';
|
|
9
10
|
export class WmProgressBarState extends BaseComponentState {}
|
|
@@ -24,14 +25,13 @@ export default class WmProgressBar extends BaseComponent {
|
|
|
24
25
|
height: '100%'
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
|
-
}), /*#__PURE__*/React.createElement(ProgressBar, {
|
|
28
|
-
testID: this.getTestId('progressbar'),
|
|
28
|
+
}), /*#__PURE__*/React.createElement(ProgressBar, _extends({}, getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, props), {
|
|
29
29
|
progress: value,
|
|
30
30
|
color: styles.progressValue.color,
|
|
31
31
|
style: [styles.progressBar, {
|
|
32
32
|
height: styles.root.height || styles.progressBar.height
|
|
33
33
|
}]
|
|
34
|
-
})));
|
|
34
|
+
}))));
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
//# sourceMappingURL=progress-bar.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","ProgressBar","Tappable","BaseComponent","BaseComponentState","WmProgressBarProps","DEFAULT_CLASS","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","createElement","style","root","_background","_extends","getTestPropsForAction","target","width","height","
|
|
1
|
+
{"version":3,"names":["React","View","ProgressBar","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressBarProps","DEFAULT_CLASS","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","createElement","style","root","_background","_extends","getTestPropsForAction","target","width","height","PROGRESSBAR","progress","color","progressValue","progressBar"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n renderWidget(props: WmProgressBarProps) {\n let value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n return (\n <View style={styles.root}>\n {this._background}\n <Tappable {...this.getTestPropsForAction()} target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <ProgressBar\n {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, props)}\n progress={value}\n color={styles.progressValue.color}\n style={[styles.progressBar, {height: styles.root.height || styles.progressBar.height}]}></ProgressBar>\n </Tappable>\n </View>); \n }\n\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,oBAAoB;AAChD,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAE7G,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,aAAa,QAA6B,uBAAuB;AAE1E,OAAO,MAAMC,kBAAkB,SAASL,kBAAkB,CAAqB;AAE/E,eAAe,MAAMM,aAAa,SAASP,aAAa,CAA8D;EAEpHQ,WAAWA,CAACC,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;EACvD;EAEAM,YAAYA,CAACD,KAAyB,EAAE;IACtC,IAAIE,KAAK,GAAG,CAACF,KAAK,CAACG,SAAS,GAAGH,KAAK,CAACI,QAAQ,KAAKJ,KAAK,CAACK,QAAQ,GAAGL,KAAK,CAACI,QAAQ,CAAC;IAClF,MAAME,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,OAAMT,KAAK,CAACU,IAAK,eAAc,CAAC,EAAE,IAAI,CAACJ,MAAM,CAAC;IACxG,oBACAnB,KAAA,CAAAwB,aAAA,CAACvB,IAAI;MAACwB,KAAK,EAAEN,MAAM,CAACO;IAAK,GACtB,IAAI,CAACC,WAAW,eACjB3B,KAAA,CAAAwB,aAAA,CAACrB,QAAQ,EAAAyB,QAAA,KAAK,IAAI,CAACC,qBAAqB,CAAC,CAAC;MAAEC,MAAM,EAAE,IAAK;MAACX,MAAM,EAAE;QAACO,IAAI,EAAC;UAACK,KAAK,EAAE,MAAM;UAAEC,MAAM,EAAE;QAAM;MAAC;IAAE,iBACvGhC,KAAA,CAAAwB,aAAA,CAACtB,WAAW,EAAA0B,QAAA,KACNrB,qBAAqB,CAACD,uBAAuB,CAAC2B,WAAW,EAAEpB,KAAK,CAAC;MACrEqB,QAAQ,EAAEnB,KAAM;MAChBoB,KAAK,EAAEhB,MAAM,CAACiB,aAAa,CAACD,KAAM;MAClCV,KAAK,EAAE,CAACN,MAAM,CAACkB,WAAW,EAAE;QAACL,MAAM,EAAEb,MAAM,CAACO,IAAI,CAACM,MAAM,IAAIb,MAAM,CAACkB,WAAW,CAACL;MAAM,CAAC;IAAE,EAAc,CAC/F,CACN,CAAC;EACT;AAEF"}
|
|
@@ -9,6 +9,8 @@ export default class WmProgressBarProps extends BaseProps {
|
|
|
9
9
|
_defineProperty(this, "datavalue", 30);
|
|
10
10
|
_defineProperty(this, "minvalue", 0);
|
|
11
11
|
_defineProperty(this, "maxvalue", 100);
|
|
12
|
+
_defineProperty(this, "accessibilitylabel", undefined);
|
|
13
|
+
_defineProperty(this, "accessibilityrole", 'progressbar');
|
|
12
14
|
}
|
|
13
15
|
}
|
|
14
16
|
//# sourceMappingURL=progress-bar.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmProgressBarProps","constructor","arguments","_defineProperty"],"sources":["progress-bar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\
|
|
1
|
+
{"version":3,"names":["BaseProps","WmProgressBarProps","constructor","arguments","_defineProperty","undefined"],"sources":["progress-bar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmProgressBarProps extends BaseProps {\n type: 'default' | 'success' | 'info' | 'warning' | 'error' = 'default';\n datavalue: number = 30;\n minvalue: number = 0;\n maxvalue: number = 100;\n accessibilitylabel?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'progressbar';\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,kBAAkB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,eACK,SAAS;IAAAA,eAAA,oBAClD,EAAE;IAAAA,eAAA,mBACH,CAAC;IAAAA,eAAA,mBACD,GAAG;IAAAA,eAAA,6BACQC,SAAS;IAAAD,eAAA,4BACC,aAAa;EAAA;AACvD"}
|
|
@@ -8,6 +8,7 @@ import { isNumber } from 'lodash';
|
|
|
8
8
|
import { AnimatedCircularProgress } from 'react-native-circular-progress';
|
|
9
9
|
import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
|
10
10
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
11
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
11
12
|
import WmProgressCircleProps from './progress-circle.props';
|
|
12
13
|
import { DEFAULT_CLASS } from './progress-circle.styles';
|
|
13
14
|
export class WmProgressCircleState extends BaseComponentState {
|
|
@@ -42,10 +43,10 @@ export default class WmProgressCircle extends BaseComponent {
|
|
|
42
43
|
}
|
|
43
44
|
const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);
|
|
44
45
|
const showText = props.captionplacement !== 'hidden';
|
|
45
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
46
|
+
return /*#__PURE__*/React.createElement(View, _extends({
|
|
46
47
|
style: styles.root,
|
|
47
48
|
onLayout: this.onLayout.bind(this)
|
|
48
|
-
}, this._background, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(), {
|
|
49
|
+
}, getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)), this._background, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(), {
|
|
49
50
|
target: this,
|
|
50
51
|
styles: {
|
|
51
52
|
root: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","arguments","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","style","root","bind","
|
|
1
|
+
{"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","arguments","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","_extends","style","root","bind","PROGRESSCIRCLE","_background","getTestPropsForAction","target","fill","progressValue","backgroundWidth","rotation","tintColor","backgroundColor","lineCap","buttStyle","progressCircle","size","alignItems","text","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = height;\n } else if (!height) {\n radius = width;\n } else {\n radius = Math.min(width, height);\n }\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)} {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)}>\n {this._background}\n <Tappable {...this.getTestPropsForAction()} target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <AnimatedCircularProgress\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAA4BC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAC5D,SAASC,QAAQ,QAAQ,QAAQ;AACjC,SAASC,wBAAwB,QAAQ,gCAAgC;AACzE,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAE7G,OAAOC,qBAAqB,MAAM,yBAAyB;AAC3D,SAASC,aAAa,QAAgC,0BAA0B;AAGhF,OAAO,MAAMC,qBAAqB,SAASL,kBAAkB,CAAwB;EAAAM,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,iBAC1E,EAAE;EAAA;AACb;AAEA,eAAe,MAAMC,gBAAgB,SAASV,aAAa,CAAuE;EAEhIO,WAAWA,CAACI,KAA4B,EAAE;IACxC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,qBAAqB,CAAC,CAAC,EAAE,IAAIE,qBAAqB,CAAC,CAAC,CAAC;EACvF;EAEAM,QAAQA,CAACC,CAAoB,EAAE;IAC7B,MAAMC,KAAK,GAAGD,CAAC,CAACE,WAAW,CAACC,MAAM,CAACF,KAAK;IACxC,MAAMG,MAAM,GAAGJ,CAAC,CAACE,WAAW,CAACC,MAAM,CAACC,MAAM;IAC1C,IAAIC,MAAM,GAAG,IAAI,CAACC,KAAK,CAACD,MAAM;IAC9B,IAAI,CAACJ,KAAK,EAAE;MACVI,MAAM,GAAGD,MAAM;IACjB,CAAC,MAAM,IAAI,CAACA,MAAM,EAAE;MAClBC,MAAM,GAAGJ,KAAK;IAChB,CAAC,MAAM;MACLI,MAAM,GAAGE,IAAI,CAACC,GAAG,CAACP,KAAK,EAAEG,MAAM,CAAC;IAClC;IACA,IAAI,CAACK,WAAW,CAAC;MACfJ,MAAM,EAAEA;IACV,CAA0B,CAAC;EAC7B;EAEAK,YAAYA,CAACZ,KAA4B,EAAE;IACzC,IAAIa,KAAK,GAAG,CAAC;IACb,IAAI3B,QAAQ,CAACc,KAAK,CAACc,SAAS,CAAC,IAAI5B,QAAQ,CAACc,KAAK,CAACe,QAAQ,CAAC,IAAI7B,QAAQ,CAACc,KAAK,CAACgB,QAAQ,CAAC,EAAE;MACrFH,KAAK,GAAG,CAAC,CAACb,KAAK,CAACc,SAAS,GAAI,CAACd,KAAK,CAACe,QAAS,KAAK,CAACf,KAAK,CAACgB,QAAQ,GAAI,CAAChB,KAAK,CAACe,QAAS,CAAC,GAAG,GAAG;IAC9F;IACA,MAAME,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,OAAMpB,KAAK,CAACqB,IAAK,kBAAiB,CAAC,EAAE,IAAI,CAACJ,MAAM,CAAC;IAC3G,MAAMK,QAAQ,GAAGtB,KAAK,CAACuB,gBAAgB,KAAK,QAAQ;IACpD,oBACAxC,KAAA,CAAAyC,aAAA,CAACxC,IAAI,EAAAyC,QAAA;MAACC,KAAK,EAAET,MAAM,CAACU,IAAK;MAAC1B,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAAC2B,IAAI,CAAC,IAAI;IAAE,GAAKpC,qBAAqB,CAACD,uBAAuB,CAACsC,cAAc,EAAE7B,KAAK,CAAC,GACnI,IAAI,CAAC8B,WAAW,eACjB/C,KAAA,CAAAyC,aAAA,CAACpC,QAAQ,EAAAqC,QAAA,KAAK,IAAI,CAACM,qBAAqB,CAAC,CAAC;MAAEC,MAAM,EAAE,IAAK;MAACf,MAAM,EAAE;QAACU,IAAI,EAAC;UAACxB,KAAK,EAAE,MAAM;UAAEG,MAAM,EAAE;QAAM;MAAC;IAAE,iBACvGvB,KAAA,CAAAyC,aAAA,CAACrC,wBAAwB;MACvB8C,IAAI,EAAEpB,KAAM;MACZV,KAAK,EAAEc,MAAM,CAACiB,aAAa,CAAC5B,MAAO;MACnC6B,eAAe,EAAElB,MAAM,CAACiB,aAAa,CAAC5B,MAAO;MAC7C8B,QAAQ,EAAE,CAAE;MACZC,SAAS,EAAEpB,MAAM,CAACiB,aAAa,CAACI,eAAgB;MAChDC,OAAO,EAAEtB,MAAM,CAACiB,aAAa,CAACM,SAAS,IAAI,MAAO;MAClDF,eAAe,EAAErB,MAAM,CAACwB,cAAc,CAACH,eAAgB;MACvDI,IAAI,EAAE,IAAI,CAAClC,KAAK,CAACD;IAAO,GACpB0B,IAAI,iBAAMlD,KAAA,CAAAyC,aAAA,CAACxC,IAAI;MAAC0C,KAAK,EAAE;QAACiB,UAAU,EAAE;MAAQ;IAAE,gBAClC5D,KAAA,CAAAyC,aAAA,CAACvC,IAAI;MAACyC,KAAK,EAAET,MAAM,CAAC2B;IAAK,GAAGtB,QAAQ,GAAGtB,KAAK,CAAC6C,KAAK,IAAIhC,KAAK,GAAG,EAAU,CAAC,EACxES,QAAQ,IAAItB,KAAK,CAAC8C,QAAQ,gBAAI/D,KAAA,CAAAyC,aAAA,CAACvC,IAAI;MAACyC,KAAK,EAAET,MAAM,CAAC8B;IAAS,GAAG/C,KAAK,CAAC8C,QAAgB,CAAC,GAAI,IACtF,CACI,CAClB,CACN,CAAC;EACT;AACF"}
|