@wavemaker/app-rn-runtime 11.7.5-3.5683 → 11.7.5-3.5739

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.
Files changed (23) hide show
  1. app-rn-runtime/components/basic/anchor/anchor.component.js +2 -2
  2. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  3. app-rn-runtime/components/basic/button/button.component.js +5 -4
  4. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  5. app-rn-runtime/components/basic/icon/icon.component.js +4 -4
  6. app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
  7. app-rn-runtime/components/basic/picture/picture.component.js +1 -2
  8. app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
  9. app-rn-runtime/components/container/accordion/accordion.component.js +1 -0
  10. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  11. app-rn-runtime/components/container/panel/panel.component.js +4 -2
  12. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  13. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +6 -1
  14. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  15. app-rn-runtime/components/container/wizard/wizard.component.js +1 -0
  16. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  17. app-rn-runtime/components/input/chips/chips.component.js +1 -0
  18. app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
  19. app-rn-runtime/components/input/epoch/base-datetime.component.js +2 -1
  20. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  21. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +2 -2
  22. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  23. app-rn-runtime/package.json +3 -3
@@ -59,9 +59,9 @@ export default class WmAnchor extends BaseComponent {
59
59
  iconwidth: iconwidth
60
60
  });
61
61
  //@ts-ignore
62
- const badge = badgevalue != undefined ? /*#__PURE__*/React.createElement(Badge, {
62
+ const badge = badgevalue != undefined ? /*#__PURE__*/React.createElement(Badge, _extends({
63
63
  style: this.styles.badge
64
- }, badgevalue) : null;
64
+ }, this.getTestProps('badge')), badgevalue) : null;
65
65
  return /*#__PURE__*/React.createElement(NavigationServiceConsumer, null, navigationService => /*#__PURE__*/React.createElement(Animatedview, {
66
66
  entryanimation: props.animation,
67
67
  style: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","Badge","BaseComponent","BaseComponentState","Tappable","WmIcon","encodeUrl","AccessibilityWidgetType","getAccessibilityProps","NavigationServiceConsumer","WmAnchorProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmAnchorState","WmAnchor","constructor","props","onTap","navigationService","e","state","hyperlink","link","encodeurl","openUrl","target","invokeEventCallback","proxy","renderSkeleton","theme","styles","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","iconclass","iconurl","name","iconheight","iconmargin","iconwidth","badgevalue","icon","text","color","createElement","id","getTestId","hint","badge","undefined","style","entryanimation","animation","justifyContent","_extends","getTestPropsForAction","flexDirection","iconposition","_background","caption","getTestPropsForLabel","ANCHOR","numberOfLines","nooflines"],"sources":["anchor.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SyntheticEvent, Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { encodeUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport WmAnchorProps from './anchor.props';\nimport { DEFAULT_CLASS, WmAnchorStyles } from './anchor.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmAnchorState extends BaseComponentState<WmAnchorProps> {\n\n}\n\nexport default class WmAnchor extends BaseComponent<WmAnchorProps, WmAnchorState, WmAnchorStyles> {\n\n constructor(props: WmAnchorProps) {\n super(props, DEFAULT_CLASS, new WmAnchorProps());\n }\n\n onTap(navigationService: NavigationService, e: SyntheticEvent) {\n const props = this.state.props;\n if (props.hyperlink) {\n const link = props.encodeurl ? encodeUrl(props.hyperlink) : props.hyperlink;\n navigationService.openUrl(link, {\n target: this.state.props.target\n });\n }\n this.invokeEventCallback('onTap', [e, this.proxy]);\n }\n\n public renderSkeleton(props: WmAnchorProps){\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.props.skeletonwidth || this.styles.root.width,\n height: this.props.skeletonheight || this.styles.root.height\n });\n }\n\n renderWidget(props: WmAnchorProps) {\n const {\n iconclass,\n iconurl,\n name,\n iconheight,\n iconmargin,\n iconwidth,\n badgevalue,\n } = props;\n \n if (this.styles.icon && this.styles.icon.text) {\n this.styles.icon.text.color = this.styles.text.color;\n }\n\n const icon = (iconclass || iconurl) && (\n <WmIcon\n id={this.getTestId('icon')}\n styles={this.styles.icon} \n hint={props?.hint}\n name={name + '_icon'}\n iconclass={iconclass}\n iconurl={iconurl}\n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n />\n ); \n //@ts-ignore\n const badge = badgevalue != undefined ? (<Badge style={this.styles.badge}>{badgevalue}</Badge>): null;\n return (\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) =>\n (<Animatedview entryanimation={props.animation} style={{width: this.styles.root.width, height: this.styles.root.height, justifyContent: 'center'}}>\n <Tappable {...this.getTestPropsForAction()} target={this} styles={[this.styles.root, this.styles.root.width && this.styles.root.height ? { width: '100%', height: '100%'} : null, {flexDirection: props.iconposition === 'top' ? 'column': 'row'}]}\n onTap={props.hyperlink || props.onTap ? (e: SyntheticEvent) => this.onTap(navigationService, e) : undefined}>\n {this._background}\n {props.iconposition === 'top' && icon}\n {props.iconposition === 'left' && icon}\n {props.caption ? (<Text style={this.styles.text}\n {...this.getTestPropsForLabel('caption')} \n {...getAccessibilityProps(AccessibilityWidgetType.ANCHOR, props)}\n numberOfLines={props.nooflines}>{props.caption}</Text>) : null}\n {props.iconposition === 'right' && icon}\n {badge}\n </Tappable>\n </Animatedview>)\n }\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","Badge","BaseComponent","BaseComponentState","Tappable","WmIcon","encodeUrl","AccessibilityWidgetType","getAccessibilityProps","NavigationServiceConsumer","WmAnchorProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmAnchorState","WmAnchor","constructor","props","onTap","navigationService","e","state","hyperlink","link","encodeurl","openUrl","target","invokeEventCallback","proxy","renderSkeleton","theme","styles","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","iconclass","iconurl","name","iconheight","iconmargin","iconwidth","badgevalue","icon","text","color","createElement","id","getTestId","hint","badge","undefined","_extends","style","getTestProps","entryanimation","animation","justifyContent","getTestPropsForAction","flexDirection","iconposition","_background","caption","getTestPropsForLabel","ANCHOR","numberOfLines","nooflines"],"sources":["anchor.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SyntheticEvent, Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { encodeUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\n\nimport WmAnchorProps from './anchor.props';\nimport { DEFAULT_CLASS, WmAnchorStyles } from './anchor.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmAnchorState extends BaseComponentState<WmAnchorProps> {\n\n}\n\nexport default class WmAnchor extends BaseComponent<WmAnchorProps, WmAnchorState, WmAnchorStyles> {\n\n constructor(props: WmAnchorProps) {\n super(props, DEFAULT_CLASS, new WmAnchorProps());\n }\n\n onTap(navigationService: NavigationService, e: SyntheticEvent) {\n const props = this.state.props;\n if (props.hyperlink) {\n const link = props.encodeurl ? encodeUrl(props.hyperlink) : props.hyperlink;\n navigationService.openUrl(link, {\n target: this.state.props.target\n });\n }\n this.invokeEventCallback('onTap', [e, this.proxy]);\n }\n\n public renderSkeleton(props: WmAnchorProps){\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: this.props.skeletonwidth || this.styles.root.width,\n height: this.props.skeletonheight || this.styles.root.height\n });\n }\n\n renderWidget(props: WmAnchorProps) {\n const {\n iconclass,\n iconurl,\n name,\n iconheight,\n iconmargin,\n iconwidth,\n badgevalue,\n } = props;\n \n if (this.styles.icon && this.styles.icon.text) {\n this.styles.icon.text.color = this.styles.text.color;\n }\n\n const icon = (iconclass || iconurl) && (\n <WmIcon\n id={this.getTestId('icon')}\n styles={this.styles.icon} \n hint={props?.hint}\n name={name + '_icon'}\n iconclass={iconclass}\n iconurl={iconurl}\n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n />\n ); \n //@ts-ignore\n const badge = badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{badgevalue}</Badge>): null;\n return (\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) =>\n (<Animatedview entryanimation={props.animation} style={{width: this.styles.root.width, height: this.styles.root.height, justifyContent: 'center'}}>\n <Tappable {...this.getTestPropsForAction()} target={this} styles={[this.styles.root, this.styles.root.width && this.styles.root.height ? { width: '100%', height: '100%'} : null, {flexDirection: props.iconposition === 'top' ? 'column': 'row'}]}\n onTap={props.hyperlink || props.onTap ? (e: SyntheticEvent) => this.onTap(navigationService, e) : undefined}>\n {this._background}\n {props.iconposition === 'top' && icon}\n {props.iconposition === 'left' && icon}\n {props.caption ? (<Text style={this.styles.text}\n {...this.getTestPropsForLabel('caption')} \n {...getAccessibilityProps(AccessibilityWidgetType.ANCHOR, props)}\n numberOfLines={props.nooflines}>{props.caption}</Text>) : null}\n {props.iconposition === 'right' && icon}\n {badge}\n </Tappable>\n </Animatedview>)\n }\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":"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"}
@@ -26,7 +26,8 @@ export default class WmButton extends BaseComponent {
26
26
  iconmargin,
27
27
  iconwidth
28
28
  } = _ref;
29
- return iconclass || iconurl ? /*#__PURE__*/React.createElement(WmIcon, _extends({}, this.getTestPropsForLabel('icon'), {
29
+ return iconclass || iconurl ? /*#__PURE__*/React.createElement(WmIcon, {
30
+ id: this.getTestId('icon'),
30
31
  hint: hint,
31
32
  styles: this.styles.icon,
32
33
  name: `${name}_icon`,
@@ -36,13 +37,13 @@ export default class WmButton extends BaseComponent {
36
37
  iconheight: iconheight,
37
38
  iconmargin: iconmargin,
38
39
  iconwidth: iconwidth
39
- })) : null;
40
+ }) : null;
40
41
  }
41
42
  prepareBadge(props) {
42
43
  //@ts-ignore
43
- return /*#__PURE__*/React.createElement(Badge, {
44
+ return /*#__PURE__*/React.createElement(Badge, _extends({
44
45
  style: this.styles.badge
45
- }, props.badgevalue);
46
+ }, this.getTestProps('badge')), props.badgevalue);
46
47
  }
47
48
  renderSkeleton(prop) {
48
49
  return createSkeleton(this.theme, this.styles.skeleton, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","Badge","WmButtonProps","DEFAULT_CLASS","WmIcon","Animatedview","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","WmButtonState","WmButton","constructor","props","prepareIcon","_ref","iconclass","iconurl","hint","name","iconsize","iconheight","iconmargin","iconwidth","createElement","_extends","getTestPropsForLabel","styles","icon","prepareBadge","style","badge","badgevalue","renderSkeleton","prop","theme","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","Fragment","entryanimation","animation","paddingTop","paddingBottom","paddingLeft","paddingRight","overflow","flexDirection","flex","_background","justifyContent","rippleColor","target","getTestPropsForAction","accessibilityProps","BUTTON","content","iconposition","caption","text","importantForAccessibility"],"sources":["button.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 { Badge } from 'react-native-paper';\n\nimport WmButtonProps from './button.props';\nimport { DEFAULT_CLASS, WmButtonStyles } from './button.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmButtonState extends BaseComponentState<WmButtonProps> {\n\n}\n\nexport default class WmButton extends BaseComponent<WmButtonProps, WmButtonState, WmButtonStyles> {\n\n constructor(props: WmButtonProps) {\n super(props, DEFAULT_CLASS, new WmButtonProps());\n }\n\n private prepareIcon({\n iconclass,\n iconurl,\n hint,\n name,\n iconsize,\n iconheight,\n iconmargin,\n iconwidth,\n }: any) {\n return iconclass || iconurl\n ? (<WmIcon\n {...this.getTestPropsForLabel('icon')}\n hint={hint}\n styles={this.styles.icon}\n name={`${name}_icon`}\n iconclass={iconclass}\n iconsize={iconsize}\n iconurl={iconurl}\n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n />): null;\n }\n\n private prepareBadge(props: any) {\n //@ts-ignore\n return (<Badge style={this.styles.badge}>{props.badgevalue}</Badge>);\n }\n\n public renderSkeleton(prop: WmButtonProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (this.props.skeletonwidth || this.styles.root.width)as DimensionValue,\n height: (this.props.skeletonheight || this.styles.root.height) as DimensionValue\n });\n }\n\n renderWidget(props: WmButtonProps) {\n return (\n <>\n <Animatedview entryanimation={props.animation}\n style={[\n this.styles.root,\n {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n overflow: 'hidden',\n flexDirection: 'column'\n },\n this.styles.root.height == \"100%\" ? {flex: 1}:{}\n ]}\n // accessibilityProps={{...getAccessibilityProps(\n // AccessibilityWidgetType.BUTTON,\n // props\n // )}}\n >\n {this._background}\n <Tappable\n styles={{\n paddingTop: this.styles.root.paddingTop,\n paddingBottom: this.styles.root.paddingBottom,\n paddingLeft: this.styles.root.paddingLeft,\n paddingRight: this.styles.root.paddingRight,\n width: '100%',\n height: this.styles.root.height ? '100%' : null,\n justifyContent: 'center',\n }}\n rippleColor = {this.styles.root.rippleColor}\n target={this}\n {...this.getTestPropsForAction()}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.BUTTON,\n props\n )}}>\n <View\n style={[\n this.styles.content,\n { flexDirection: props.iconposition === 'top' ? 'column' : 'row' }\n ]}>\n {props.iconposition === 'top' && this.prepareIcon(props)}\n {props.iconposition === 'left' && this.prepareIcon(props)}\n {props.caption ? (\n <Text\n style={this.styles.text}\n {...this.getTestPropsForLabel('caption')}\n importantForAccessibility={'no'}\n // accessibilityLabel={`${props.caption}`}\n >\n {props.caption}\n </Text>\n ) : null}\n {props.iconposition === 'right' && this.prepareIcon(props)}\n </View>\n </Tappable>\n </Animatedview>\n {props.badgevalue && this.prepareBadge(props)}\n </>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","Badge","WmButtonProps","DEFAULT_CLASS","WmIcon","Animatedview","createSkeleton","AccessibilityWidgetType","getAccessibilityProps","WmButtonState","WmButton","constructor","props","prepareIcon","_ref","iconclass","iconurl","hint","name","iconsize","iconheight","iconmargin","iconwidth","createElement","id","getTestId","styles","icon","prepareBadge","_extends","style","badge","getTestProps","badgevalue","renderSkeleton","prop","theme","skeleton","root","width","skeletonwidth","height","skeletonheight","renderWidget","Fragment","entryanimation","animation","paddingTop","paddingBottom","paddingLeft","paddingRight","overflow","flexDirection","flex","_background","justifyContent","rippleColor","target","getTestPropsForAction","accessibilityProps","BUTTON","content","iconposition","caption","text","getTestPropsForLabel","importantForAccessibility"],"sources":["button.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 { Badge } from 'react-native-paper';\n\nimport WmButtonProps from './button.props';\nimport { DEFAULT_CLASS, WmButtonStyles } from './button.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmButtonState extends BaseComponentState<WmButtonProps> {\n\n}\n\nexport default class WmButton extends BaseComponent<WmButtonProps, WmButtonState, WmButtonStyles> {\n\n constructor(props: WmButtonProps) {\n super(props, DEFAULT_CLASS, new WmButtonProps());\n }\n\n private prepareIcon({\n iconclass,\n iconurl,\n hint,\n name,\n iconsize,\n iconheight,\n iconmargin,\n iconwidth,\n }: any) {\n return iconclass || iconurl\n ? (<WmIcon\n id={this.getTestId('icon')}\n hint={hint}\n styles={this.styles.icon}\n name={`${name}_icon`}\n iconclass={iconclass}\n iconsize={iconsize}\n iconurl={iconurl}\n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n />): null;\n }\n\n private prepareBadge(props: any) {\n //@ts-ignore\n return (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>);\n }\n\n public renderSkeleton(prop: WmButtonProps) {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (this.props.skeletonwidth || this.styles.root.width)as DimensionValue,\n height: (this.props.skeletonheight || this.styles.root.height) as DimensionValue\n });\n }\n\n renderWidget(props: WmButtonProps) {\n return (\n <>\n <Animatedview entryanimation={props.animation}\n style={[\n this.styles.root,\n {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n overflow: 'hidden',\n flexDirection: 'column'\n },\n this.styles.root.height == \"100%\" ? {flex: 1}:{}\n ]}\n // accessibilityProps={{...getAccessibilityProps(\n // AccessibilityWidgetType.BUTTON,\n // props\n // )}}\n >\n {this._background}\n <Tappable\n styles={{\n paddingTop: this.styles.root.paddingTop,\n paddingBottom: this.styles.root.paddingBottom,\n paddingLeft: this.styles.root.paddingLeft,\n paddingRight: this.styles.root.paddingRight,\n width: '100%',\n height: this.styles.root.height ? '100%' : null,\n justifyContent: 'center',\n }}\n rippleColor = {this.styles.root.rippleColor}\n target={this}\n {...this.getTestPropsForAction()}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.BUTTON,\n props\n )}}>\n <View\n style={[\n this.styles.content,\n { flexDirection: props.iconposition === 'top' ? 'column' : 'row' }\n ]}>\n {props.iconposition === 'top' && this.prepareIcon(props)}\n {props.iconposition === 'left' && this.prepareIcon(props)}\n {props.caption ? (\n <Text\n style={this.styles.text}\n {...this.getTestPropsForLabel('caption')}\n importantForAccessibility={'no'}\n // accessibilityLabel={`${props.caption}`}\n >\n {props.caption}\n </Text>\n ) : null}\n {props.iconposition === 'right' && this.prepareIcon(props)}\n </View>\n </Tappable>\n </Animatedview>\n {props.badgevalue && this.prepareBadge(props)}\n </>\n );\n }\n}\n"],"mappings":"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"}
@@ -179,11 +179,11 @@ export default class WmIcon extends BaseComponent {
179
179
  const iconSize = props.iconsize || this.styles.root.fontSize || this.styles.text.fontSize || iconDef.size;
180
180
  if (props.show && iconDef && iconDef.isFontAwesome) {
181
181
  //@ts-ignore type information is not matching
182
- iconJsx = /*#__PURE__*/React.createElement(FontAwesome, {
182
+ iconJsx = /*#__PURE__*/React.createElement(FontAwesome, _extends({
183
183
  name: customIcon ? '' : iconDef.type,
184
184
  style: style,
185
185
  size: iconSize
186
- }, customIcon);
186
+ }, this.getTestProps('icon')), customIcon);
187
187
  } else if (props.show && iconDef) {
188
188
  var _this$styles$icon;
189
189
  let WMCustomIcon = WavIcon;
@@ -195,11 +195,11 @@ export default class WmIcon extends BaseComponent {
195
195
  return null;
196
196
  }
197
197
  //@ts-ignore type information is not matching
198
- iconJsx = WMCustomIcon ? /*#__PURE__*/React.createElement(WMCustomIcon, {
198
+ iconJsx = WMCustomIcon ? /*#__PURE__*/React.createElement(WMCustomIcon, _extends({
199
199
  name: customIcon ? '' : iconDef.type,
200
200
  style: style,
201
201
  size: iconSize
202
- }, customIcon) : null;
202
+ }, this.getTestProps('icon')), customIcon) : null;
203
203
  }
204
204
  if (iconJsx && iconDef.animation === 'spin') {
205
205
  const rotate = this.spinValue.interpolate({
@@ -1 +1 @@
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","renderWidget","iterationCount","iterationcount","parseInt","undefined","_extends","target","rippleColor","getTestPropsForAction","accessibilityProps","ICON","entryanimation","_background","iconposition","caption","getTestPropsForLabel","accessibilityRole","accessibilityrole"],"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()} accessibilityProps={{...getAccessibilityProps(AccessibilityWidgetType.ICON, props)}}> \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} accessibilityRole={props?.accessibilityrole ? props?.accessibilityrole : '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","_extends","getTestProps","_this$styles$icon","WMCustomIcon","interpolate","inputRange","outputRange","opacity","renderWidget","iterationCount","iterationcount","parseInt","undefined","target","rippleColor","getTestPropsForAction","accessibilityProps","ICON","entryanimation","_background","iconposition","caption","getTestPropsForLabel","accessibilityRole","accessibilityrole"],"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 {...this.getTestProps('icon')}>\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 {...this.getTestProps('icon')}>\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()} accessibilityProps={{...getAccessibilityProps(AccessibilityWidgetType.ICON, props)}}> \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} accessibilityRole={props?.accessibilityrole ? props?.accessibilityrole : 'text'}>{props.caption}</Text>)) || null}\n {(props.iconposition === 'right' && icon) || null}\n </Animatedview>\n </Tappable>\n );\n }\n}\n"],"mappings":"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"}
@@ -124,8 +124,7 @@ export default class WmPicture extends BaseComponent {
124
124
  source = imgSrc;
125
125
  }
126
126
  if (this.state.naturalImageWidth) {
127
- elementToshow = /*#__PURE__*/React.createElement(Image, _extends({
128
- testID: this.getTestId('picture'),
127
+ elementToshow = /*#__PURE__*/React.createElement(Image, _extends({}, this.getTestProps('picture'), {
129
128
  style: [this.styles.picture, shapeStyles.picture],
130
129
  resizeMode: props.resizemode,
131
130
  source: source
@@ -1 +1 @@
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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"}
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","getTestProps","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 {...this.getTestProps('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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"}
@@ -84,6 +84,7 @@ export default class WmAccordion extends BaseComponent {
84
84
  style: [this.styles.header, index === 0 ? this.styles.firstHeader : null, index === accordionpanes.length - 1 && !isExpanded ? this.styles.lastHeader : null, isExpanded ? this.styles.activeHeader : {}],
85
85
  onPress: this.toggle.bind(this, index + 1, !isExpanded)
86
86
  }), this.expandCollapseIcon(item, index, false, showIconOnLeft, true, isExpanded), item.props.iconclass ? /*#__PURE__*/React.createElement(WmIcon, {
87
+ id: this.getTestId('icon'),
87
88
  styles: this.styles.icon,
88
89
  name: item.props.name + '_icon',
89
90
  iconclass: item.props.iconclass
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","TouchableOpacity","View","Badge","isArray","BaseComponent","BaseComponentState","WmAccordionProps","DEFAULT_CLASS","WmIcon","isDefined","WmAccordionState","constructor","arguments","_defineProperty","WmAccordion","props","addAccordionPane","accordionPane","_this$state$isExpande","i","accordionPanes","findIndex","t","title","newIndex","state","isExpanded","find","v","toggle","defaultpaneindex","expand","accordionName","name","collapse","expandCollapseIcon","item","index","showBadge","length","undefined","showIcon","useChevron","widgetProps","badge","badgevalue","createElement","_extends","style","styles","activeBadge","badgetype","getTestProps","iconclass","flexDirection","id","getTestId","theme","mergeStyle","icon","activeIcon","renderAccordionpane","accordionpanes","showIconOnLeft","leftToggleIcon","root","width","pane","key","getTestPropsForAction","header","firstHeader","lastHeader","activeHeader","onPress","bind","flex","justifyContent","text","heading","activeHeaderTitle","accessibilityRole","description","subheading","expandedId","collapseId","closeothers","lastExpandedIndex","collapsedPane","hide","Promise","resolve","then","expandedPane","show","setState","invokeEventCallback","proxy","componentDidMount","renderWidget","children","_background","map"],"sources":["accordion.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, TouchableOpacity, View } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { isArray } from 'lodash';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAccordionProps from './accordion.props';\nimport { DEFAULT_CLASS, WmAccordionStyles } from './accordion.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAccordionpane from './accordionpane/accordionpane.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmAccordionState extends BaseComponentState<WmAccordionProps> {\n lastExpandedIndex = -1;\n isExpanded = [] as boolean[];\n}\n\nexport default class WmAccordion extends BaseComponent<WmAccordionProps, WmAccordionState, WmAccordionStyles> {\n public accordionPanes = [] as WmAccordionpane[];\n private newIndex = 0;\n\n constructor(props: WmAccordionProps) {\n super(props, DEFAULT_CLASS, new WmAccordionProps(), new WmAccordionState());\n }\n\n addAccordionPane(accordionPane: WmAccordionpane) {\n const i = this.accordionPanes.findIndex(t => t.props.title === accordionPane.props.title);\n if (i >= 0) {\n this.accordionPanes[i] = accordionPane;\n } else {\n this.accordionPanes[this.newIndex++] = accordionPane;\n }\n if (!(this.state.isExpanded?.find((v) => v))) {\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n }\n\n expand(accordionName: string) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionName);\n this.toggle(i + 1, true);\n }\n\n collapse(accordionName: string) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionName);\n this.toggle(i + 1, false);\n }\n\n expandCollapseIcon(item: any, index: number, showBadge = true, showIcon = true, useChevron = true, isExpanded = false) {\n const widgetProps = item.props;\n //@ts-ignore\n const badge = showBadge && widgetProps.badgevalue != undefined ? (\n <Badge style={[\n this.styles.badge,\n isExpanded ? this.styles.activeBadge: null,\n this.styles[widgetProps.badgetype || 'default']]}\n {...this.getTestProps('badge'+index)}>\n {widgetProps.badgevalue}\n </Badge>): null;\n let iconclass = null;\n if (useChevron) {\n iconclass = isExpanded ? 'wi wi-chevron-down' : 'wi wi-chevron-up';\n } else {\n iconclass = isExpanded ? 'wi wi-minus' : 'wi wi-plus';\n }\n return (<View style={{flexDirection: 'row'}}>\n {badge}\n {showIcon ? (\n <WmIcon\n id={this.getTestId('icon' + index)}\n styles={this.theme.mergeStyle({}, this.styles.icon, isExpanded ? this.styles.activeIcon : null)}\n name={'expand_collapse_icon'}\n iconclass={iconclass}></WmIcon>): null}\n </View>);\n }\n\n renderAccordionpane(item: any, index: any, accordionpanes: any[] = []) {\n const showIconOnLeft = this.styles.leftToggleIcon.root.width !== undefined;\n const isExpanded = this.state.isExpanded[index];\n return (\n <View style={this.styles.pane} key={item.props.title}>\n <TouchableOpacity key={'accordionpane_' + (index + 1)}\n {...this.getTestPropsForAction(`header${index}`)}\n style={[this.styles.header,\n index === 0 ? this.styles.firstHeader: null,\n index === accordionpanes.length - 1 && !isExpanded ? this.styles.lastHeader: null,\n isExpanded ? this.styles.activeHeader : {}]}\n onPress={this.toggle.bind(this, index + 1, !isExpanded)}>\n {this.expandCollapseIcon(item, index, false, showIconOnLeft, true, isExpanded)}\n {item.props.iconclass ? <WmIcon styles={this.styles.icon} name={item.props.name + '_icon'} iconclass={item.props.iconclass}></WmIcon>: null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading,\n isExpanded ? this.styles.activeHeaderTitle : {}]}\n {...this.getTestPropsForAction(`header${index}_title`)}\n accessibilityRole='header'>\n {isDefined(item.props.title) ? item.props.title : 'Title'}\n </Text>\n {item.props.description ? \n (<Text style={this.styles.subheading}\n {...this.getTestPropsForAction(`header${index}_description`)}>{item.props.description}</Text>) : null }\n </View>\n {this.expandCollapseIcon(item, index, true, !showIconOnLeft, true, isExpanded)}\n </TouchableOpacity>\n {item}\n </View>\n );\n }\n\n toggle(index: number, expand = true) {\n let expandedId = expand ? index : -1;\n let collapseId = expand ? -1 : index;\n if (expand && this.state.isExpanded[expandedId - 1]\n || !expand && this.state.isExpanded[collapseId - 1] === false) {\n return;\n }\n if (collapseId < 0 && this.state.props.closeothers) {\n collapseId = this.state.lastExpandedIndex;\n }\n const collapsedPane = this.accordionPanes[collapseId -1];\n collapsedPane?.hide();\n Promise.resolve().then(() => {\n const expandedPane = expandedId ? this.accordionPanes[expandedId - 1]: null;\n expandedPane?.show();\n this.setState((state) => {\n if (collapseId > 0 && collapsedPane) {\n state.isExpanded[collapseId - 1] = false;\n }\n if (expandedId > 0 && expandedPane) {\n state.isExpanded[expandedId - 1] = true;\n }\n return {\n lastExpandedIndex: expandedId,\n isExpanded: [...state.isExpanded]\n };\n }, () => {\n this.invokeEventCallback('onChange', [{},\n this.proxy,\n expandedId - 1,\n collapseId ? collapseId - 1 : null,\n expandedPane && expandedPane.props.name,\n collapsedPane && collapsedPane.props.name]);\n });\n }, () => {});\n }\n\n public componentDidMount(): void {\n super.componentDidMount();\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n\n renderWidget(props: WmAccordionProps) {\n const accordionpanes = props.children;\n const expandedId = this.state.lastExpandedIndex || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n {accordionpanes\n ? isArray(accordionpanes) && accordionpanes.length\n ? accordionpanes.map((item: any, index: any) => this.renderAccordionpane(item, index, accordionpanes))\n : this.renderAccordionpane(accordionpanes, 0)\n : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","TouchableOpacity","View","Badge","isArray","BaseComponent","BaseComponentState","WmAccordionProps","DEFAULT_CLASS","WmIcon","isDefined","WmAccordionState","constructor","arguments","_defineProperty","WmAccordion","props","addAccordionPane","accordionPane","_this$state$isExpande","i","accordionPanes","findIndex","t","title","newIndex","state","isExpanded","find","v","toggle","defaultpaneindex","expand","accordionName","name","collapse","expandCollapseIcon","item","index","showBadge","length","undefined","showIcon","useChevron","widgetProps","badge","badgevalue","createElement","_extends","style","styles","activeBadge","badgetype","getTestProps","iconclass","flexDirection","id","getTestId","theme","mergeStyle","icon","activeIcon","renderAccordionpane","accordionpanes","showIconOnLeft","leftToggleIcon","root","width","pane","key","getTestPropsForAction","header","firstHeader","lastHeader","activeHeader","onPress","bind","flex","justifyContent","text","heading","activeHeaderTitle","accessibilityRole","description","subheading","expandedId","collapseId","closeothers","lastExpandedIndex","collapsedPane","hide","Promise","resolve","then","expandedPane","show","setState","invokeEventCallback","proxy","componentDidMount","renderWidget","children","_background","map"],"sources":["accordion.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, TouchableOpacity, View } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { isArray } from 'lodash';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAccordionProps from './accordion.props';\nimport { DEFAULT_CLASS, WmAccordionStyles } from './accordion.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAccordionpane from './accordionpane/accordionpane.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmAccordionState extends BaseComponentState<WmAccordionProps> {\n lastExpandedIndex = -1;\n isExpanded = [] as boolean[];\n}\n\nexport default class WmAccordion extends BaseComponent<WmAccordionProps, WmAccordionState, WmAccordionStyles> {\n public accordionPanes = [] as WmAccordionpane[];\n private newIndex = 0;\n\n constructor(props: WmAccordionProps) {\n super(props, DEFAULT_CLASS, new WmAccordionProps(), new WmAccordionState());\n }\n\n addAccordionPane(accordionPane: WmAccordionpane) {\n const i = this.accordionPanes.findIndex(t => t.props.title === accordionPane.props.title);\n if (i >= 0) {\n this.accordionPanes[i] = accordionPane;\n } else {\n this.accordionPanes[this.newIndex++] = accordionPane;\n }\n if (!(this.state.isExpanded?.find((v) => v))) {\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n }\n\n expand(accordionName: string) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionName);\n this.toggle(i + 1, true);\n }\n\n collapse(accordionName: string) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionName);\n this.toggle(i + 1, false);\n }\n\n expandCollapseIcon(item: any, index: number, showBadge = true, showIcon = true, useChevron = true, isExpanded = false) {\n const widgetProps = item.props;\n //@ts-ignore\n const badge = showBadge && widgetProps.badgevalue != undefined ? (\n <Badge style={[\n this.styles.badge,\n isExpanded ? this.styles.activeBadge: null,\n this.styles[widgetProps.badgetype || 'default']]}\n {...this.getTestProps('badge'+index)}>\n {widgetProps.badgevalue}\n </Badge>): null;\n let iconclass = null;\n if (useChevron) {\n iconclass = isExpanded ? 'wi wi-chevron-down' : 'wi wi-chevron-up';\n } else {\n iconclass = isExpanded ? 'wi wi-minus' : 'wi wi-plus';\n }\n return (<View style={{flexDirection: 'row'}}>\n {badge}\n {showIcon ? (\n <WmIcon\n id={this.getTestId('icon' + index)}\n styles={this.theme.mergeStyle({}, this.styles.icon, isExpanded ? this.styles.activeIcon : null)}\n name={'expand_collapse_icon'}\n iconclass={iconclass}></WmIcon>): null}\n </View>);\n }\n\n renderAccordionpane(item: any, index: any, accordionpanes: any[] = []) {\n const showIconOnLeft = this.styles.leftToggleIcon.root.width !== undefined;\n const isExpanded = this.state.isExpanded[index];\n return (\n <View style={this.styles.pane} key={item.props.title}>\n <TouchableOpacity key={'accordionpane_' + (index + 1)}\n {...this.getTestPropsForAction(`header${index}`)}\n style={[this.styles.header,\n index === 0 ? this.styles.firstHeader: null,\n index === accordionpanes.length - 1 && !isExpanded ? this.styles.lastHeader: null,\n isExpanded ? this.styles.activeHeader : {}]}\n onPress={this.toggle.bind(this, index + 1, !isExpanded)}>\n {this.expandCollapseIcon(item, index, false, showIconOnLeft, true, isExpanded)}\n {item.props.iconclass ? <WmIcon id={this.getTestId('icon')} styles={this.styles.icon} name={item.props.name + '_icon'} iconclass={item.props.iconclass}></WmIcon>: null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading,\n isExpanded ? this.styles.activeHeaderTitle : {}]}\n {...this.getTestPropsForAction(`header${index}_title`)}\n accessibilityRole='header'>\n {isDefined(item.props.title) ? item.props.title : 'Title'}\n </Text>\n {item.props.description ? \n (<Text style={this.styles.subheading}\n {...this.getTestPropsForAction(`header${index}_description`)}>{item.props.description}</Text>) : null }\n </View>\n {this.expandCollapseIcon(item, index, true, !showIconOnLeft, true, isExpanded)}\n </TouchableOpacity>\n {item}\n </View>\n );\n }\n\n toggle(index: number, expand = true) {\n let expandedId = expand ? index : -1;\n let collapseId = expand ? -1 : index;\n if (expand && this.state.isExpanded[expandedId - 1]\n || !expand && this.state.isExpanded[collapseId - 1] === false) {\n return;\n }\n if (collapseId < 0 && this.state.props.closeothers) {\n collapseId = this.state.lastExpandedIndex;\n }\n const collapsedPane = this.accordionPanes[collapseId -1];\n collapsedPane?.hide();\n Promise.resolve().then(() => {\n const expandedPane = expandedId ? this.accordionPanes[expandedId - 1]: null;\n expandedPane?.show();\n this.setState((state) => {\n if (collapseId > 0 && collapsedPane) {\n state.isExpanded[collapseId - 1] = false;\n }\n if (expandedId > 0 && expandedPane) {\n state.isExpanded[expandedId - 1] = true;\n }\n return {\n lastExpandedIndex: expandedId,\n isExpanded: [...state.isExpanded]\n };\n }, () => {\n this.invokeEventCallback('onChange', [{},\n this.proxy,\n expandedId - 1,\n collapseId ? collapseId - 1 : null,\n expandedPane && expandedPane.props.name,\n collapsedPane && collapsedPane.props.name]);\n });\n }, () => {});\n }\n\n public componentDidMount(): void {\n super.componentDidMount();\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n\n renderWidget(props: WmAccordionProps) {\n const accordionpanes = props.children;\n const expandedId = this.state.lastExpandedIndex || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n {accordionpanes\n ? isArray(accordionpanes) && accordionpanes.length\n ? accordionpanes.map((item: any, index: any) => this.renderAccordionpane(item, index, accordionpanes))\n : this.renderAccordionpane(accordionpanes, 0)\n : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
@@ -52,11 +52,12 @@ export default class WmPanel extends BaseComponent {
52
52
  expandCollapseIcon(isExpanded) {
53
53
  const widgetProps = this.state.props;
54
54
  //@ts-ignore
55
- const badge = widgetProps.badgevalue != undefined ? /*#__PURE__*/React.createElement(Badge, {
55
+ const badge = widgetProps.badgevalue != undefined ? /*#__PURE__*/React.createElement(Badge, _extends({
56
56
  style: [this.styles.badge, this.styles[widgetProps.badgetype || 'default']]
57
- }, widgetProps.badgevalue) : null;
57
+ }, this.getTestProps('badge')), widgetProps.badgevalue) : null;
58
58
  const iconclass = isExpanded ? 'wi wi-chevron-up' : 'wi wi-chevron-down';
59
59
  const expandCollapseIcon = widgetProps.collapsible ? /*#__PURE__*/React.createElement(WmIcon, {
60
+ id: this.getTestId('collapseicon'),
60
61
  name: 'expand_collapse_icon',
61
62
  styles: this.styles.toggleIcon,
62
63
  iconclass: iconclass
@@ -76,6 +77,7 @@ export default class WmPanel extends BaseComponent {
76
77
  accessibilityRole: "header"
77
78
  }), props.iconclass || props.iconurl ? /*#__PURE__*/React.createElement(WmIcon, {
78
79
  styles: this.styles.icon,
80
+ id: this.getTestId('icon'),
79
81
  name: props.name + '_icon',
80
82
  iconclass: props.iconclass,
81
83
  iconheight: props.iconheight,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","isUndefined","Badge","BaseComponent","BaseComponentState","WmIcon","WmPanelProps","DEFAULT_CLASS","isWebPreviewMode","CollapsiblePane","WmPanelState","constructor","arguments","_defineProperty","WmPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","onPanelPress","collapsible","eventName","expanded","proxy","expandCollapseIcon","isExpanded","widgetProps","badge","badgevalue","undefined","createElement","style","styles","badgetype","iconclass","name","toggleIcon","flexDirection","alignItems","renderHeader","_extends","getTestPropsForAction","header","onPress","accessibilityRole","iconurl","icon","iconheight","iconwidth","iconmargin","flex","justifyContent","text","heading","title","subheading","renderPane","content","display","maxHeight","overflow","close","renderWidget","root","_background","Fragment","children"],"sources":["panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { isUndefined } from 'lodash';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmPanelProps from './panel.props';\nimport { DEFAULT_CLASS, WmPanelStyles } from './panel.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { CollapsiblePane } from './collapsible-pane.component';\n\nexport class WmPanelState extends BaseComponentState<WmPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmPanel extends BaseComponent<WmPanelProps, WmPanelState, WmPanelStyles> {\n constructor(props: WmPanelProps) {\n super(props, DEFAULT_CLASS, new WmPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [this]);\n }\n\n renderContent(props: WmPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n }\n\n onPanelPress() {\n if (!this.state.props.collapsible) {\n return;\n }\n const eventName = this.state.props.expanded ? 'onCollapse' : 'onExpand';\n this.updateState({\n props: {\n expanded: !this.state.props.expanded\n }\n } as WmPanelState);\n\n this.invokeEventCallback(eventName, [null, this.proxy]);\n }\n\n expandCollapseIcon(isExpanded: boolean) {\n const widgetProps = this.state.props;\n //@ts-ignore\n const badge = widgetProps.badgevalue != undefined ? (<Badge style={[this.styles.badge, this.styles[widgetProps.badgetype || 'default']]}>{widgetProps.badgevalue}</Badge>): null;\n const iconclass = isExpanded ? 'wi wi-chevron-up' : 'wi wi-chevron-down';\n const expandCollapseIcon = widgetProps.collapsible ? (<WmIcon name={'expand_collapse_icon'} styles={this.styles.toggleIcon} iconclass={iconclass}></WmIcon>) : null;\n return (<View style={{flexDirection: 'row', alignItems: 'center'}}>{badge}{expandCollapseIcon}</View>);\n }\n\n renderHeader() {\n const props = this.state.props;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction(`header`)}\n style={[this.styles.header]}\n onPress={this.onPanelPress.bind(this)}\n accessibilityRole='header'>\n {props.iconclass || props.iconurl ? \n <WmIcon styles={this.styles.icon} \n name={props.name + '_icon'}\n iconclass={props.iconclass}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n /> : null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading]}\n {...this.getTestPropsForAction(`header_title`)}>\n {isUndefined(props.title) ? 'Title' : props.title}\n </Text>\n {props.subheading ? \n (<Text style={this.styles.subheading}\n {...this.getTestPropsForAction(`subheader`)}>{props.subheading}</Text>) : null }\n </View>\n {this.expandCollapseIcon(props.expanded)}\n </TouchableOpacity>\n );\n }\n\n renderPane(content: React.ReactNode) {\n const expanded = this.state.props.expanded;\n return isWebPreviewMode() || this.styles.header.display == \"none\" ? \n (<View style={expanded ? {} : {maxHeight: 0, overflow: 'hidden'}}>\n {content}\n </View>) :\n (<CollapsiblePane close={!expanded}>\n {content}\n </CollapsiblePane>);\n }\n\n renderWidget(props: WmPanelProps) {\n return (<View style={this.styles.root}>\n {this._background}\n {this.renderHeader()}\n {this.renderPane((\n <>\n {this.renderContent(props)}\n <View>{props.children}</View>\n </>\n ))}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","isUndefined","Badge","BaseComponent","BaseComponentState","WmIcon","WmPanelProps","DEFAULT_CLASS","isWebPreviewMode","CollapsiblePane","WmPanelState","constructor","arguments","_defineProperty","WmPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","onPanelPress","collapsible","eventName","expanded","proxy","expandCollapseIcon","isExpanded","widgetProps","badge","badgevalue","undefined","createElement","_extends","style","styles","badgetype","getTestProps","iconclass","id","getTestId","name","toggleIcon","flexDirection","alignItems","renderHeader","getTestPropsForAction","header","onPress","accessibilityRole","iconurl","icon","iconheight","iconwidth","iconmargin","flex","justifyContent","text","heading","title","subheading","renderPane","content","display","maxHeight","overflow","close","renderWidget","root","_background","Fragment","children"],"sources":["panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { isUndefined } from 'lodash';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmPanelProps from './panel.props';\nimport { DEFAULT_CLASS, WmPanelStyles } from './panel.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { CollapsiblePane } from './collapsible-pane.component';\n\nexport class WmPanelState extends BaseComponentState<WmPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmPanel extends BaseComponent<WmPanelProps, WmPanelState, WmPanelStyles> {\n constructor(props: WmPanelProps) {\n super(props, DEFAULT_CLASS, new WmPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [this]);\n }\n\n renderContent(props: WmPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n }\n\n onPanelPress() {\n if (!this.state.props.collapsible) {\n return;\n }\n const eventName = this.state.props.expanded ? 'onCollapse' : 'onExpand';\n this.updateState({\n props: {\n expanded: !this.state.props.expanded\n }\n } as WmPanelState);\n\n this.invokeEventCallback(eventName, [null, this.proxy]);\n }\n\n expandCollapseIcon(isExpanded: boolean) {\n const widgetProps = this.state.props;\n //@ts-ignore\n const badge = widgetProps.badgevalue != undefined ? (<Badge style={[this.styles.badge, this.styles[widgetProps.badgetype || 'default']]} {...this.getTestProps('badge')}>{widgetProps.badgevalue}</Badge>): null;\n const iconclass = isExpanded ? 'wi wi-chevron-up' : 'wi wi-chevron-down';\n const expandCollapseIcon = widgetProps.collapsible ? (<WmIcon id={this.getTestId('collapseicon')} name={'expand_collapse_icon'} styles={this.styles.toggleIcon} iconclass={iconclass}></WmIcon>) : null;\n return (<View style={{flexDirection: 'row', alignItems: 'center'}}>{badge}{expandCollapseIcon}</View>);\n }\n\n renderHeader() {\n const props = this.state.props;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction(`header`)}\n style={[this.styles.header]}\n onPress={this.onPanelPress.bind(this)}\n accessibilityRole='header'>\n {props.iconclass || props.iconurl ? \n <WmIcon styles={this.styles.icon}\n id={this.getTestId('icon')} \n name={props.name + '_icon'}\n iconclass={props.iconclass}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n /> : null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading]}\n {...this.getTestPropsForAction(`header_title`)}>\n {isUndefined(props.title) ? 'Title' : props.title}\n </Text>\n {props.subheading ? \n (<Text style={this.styles.subheading}\n {...this.getTestPropsForAction(`subheader`)}>{props.subheading}</Text>) : null }\n </View>\n {this.expandCollapseIcon(props.expanded)}\n </TouchableOpacity>\n );\n }\n\n renderPane(content: React.ReactNode) {\n const expanded = this.state.props.expanded;\n return isWebPreviewMode() || this.styles.header.display == \"none\" ? \n (<View style={expanded ? {} : {maxHeight: 0, overflow: 'hidden'}}>\n {content}\n </View>) :\n (<CollapsiblePane close={!expanded}>\n {content}\n </CollapsiblePane>);\n }\n\n renderWidget(props: WmPanelProps) {\n return (<View style={this.styles.root}>\n {this._background}\n {this.renderHeader()}\n {this.renderPane((\n <>\n {this.renderContent(props)}\n <View>{props.children}</View>\n </>\n ))}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -10,6 +10,7 @@ import { DEFAULT_CLASS } from './tabheader.styles';
10
10
  import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
11
11
  import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
12
12
  import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
13
+ import WmIcon from "@wavemaker/app-rn-runtime/components/basic/icon/icon.component";
13
14
  export class WmTabheaderState extends BaseComponentState {}
14
15
  export default class WmTabheader extends BaseComponent {
15
16
  constructor(props) {
@@ -163,7 +164,11 @@ export default class WmTabheader extends BaseComponent {
163
164
  style: [this.styles.header, {
164
165
  flexGrow: undefined
165
166
  }, isSelected ? this.styles.activeHeader : null]
166
- }, /*#__PURE__*/React.createElement(Text, _extends({
167
+ }, /*#__PURE__*/React.createElement(WmIcon, {
168
+ id: this.getTestId('headericon'),
169
+ styles: this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null),
170
+ iconclass: header.icon
171
+ }), /*#__PURE__*/React.createElement(Text, _extends({
167
172
  numberOfLines: 1,
168
173
  style: [this.styles.headerText, isSelected ? this.styles.activeHeaderText : null]
169
174
  }, this.getTestPropsForLabel(i + '_title')), header.title))));