@wavemaker-ai/app-rn-runtime 1.0.0-rc.330 → 1.0.0-rc.334
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/basic/anchor/anchor.component.js +4 -4
- package/components/basic/anchor/anchor.component.js.map +1 -1
- package/components/basic/anchor/anchor.props.js +1 -0
- package/components/basic/anchor/anchor.props.js.map +1 -1
- package/components/basic/icon/icon.component.js +31 -4
- package/components/basic/icon/icon.component.js.map +1 -1
- package/components/basic/icon/svg-url-icon.component.js +80 -0
- package/components/basic/icon/svg-url-icon.component.js.map +1 -0
- package/components/basic/search/search.component.js +8 -2
- package/components/basic/search/search.component.js.map +1 -1
- package/components/basic/search/search.props.js +3 -0
- package/components/basic/search/search.props.js.map +1 -1
- package/components/basic/spinner/spinner.component.js +1 -0
- package/components/basic/spinner/spinner.component.js.map +1 -1
- package/components/basic/spinner/spinner.props.js +1 -0
- package/components/basic/spinner/spinner.props.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +12 -6
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +14 -7
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -0
- package/components/chart/basechart.props.js.map +1 -1
- package/components/chart/basechart.styles.js +0 -1
- package/components/chart/basechart.styles.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js +25 -6
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/chart/line-chart/line-chart.component.js +12 -6
- package/components/chart/line-chart/line-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +24 -4
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.props.js +1 -1
- package/components/chart/pie-chart/pie-chart.props.js.map +1 -1
- package/components/container/accordion/accordion.component.js +11 -3
- package/components/container/accordion/accordion.component.js.map +1 -1
- package/components/container/accordion/accordion.props.js +2 -0
- package/components/container/accordion/accordion.props.js.map +1 -1
- package/components/container/accordion/accordionpane/accordionpane.props.js +1 -0
- package/components/container/accordion/accordionpane/accordionpane.props.js.map +1 -1
- package/components/container/panel/panel.component.js +3 -1
- package/components/container/panel/panel.component.js.map +1 -1
- package/components/container/panel/panel.props.js +2 -0
- package/components/container/panel/panel.props.js.map +1 -1
- package/components/container/wizard/wizard.component.js +7 -3
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizard.props.js +1 -0
- package/components/container/wizard/wizard.props.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.props.js +3 -0
- package/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +37 -17
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +3 -2
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/form/form.props.js +1 -0
- package/components/data/form/form.props.js.map +1 -1
- package/components/data/list/list.component.js +5 -3
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.props.js +2 -0
- package/components/data/list/list.props.js.map +1 -1
- package/components/input/basedataset/basedataset.component.js +2 -1
- package/components/input/basedataset/basedataset.component.js.map +1 -1
- package/components/input/basedataset/basedataset.props.js +1 -0
- package/components/input/basedataset/basedataset.props.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +4 -1
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/fileupload/fileupload.component.js +1 -0
- package/components/input/fileupload/fileupload.component.js.map +1 -1
- package/components/input/fileupload/fileupload.props.js +1 -0
- package/components/input/fileupload/fileupload.props.js.map +1 -1
- package/components/input/rating/rating.component.js +4 -2
- package/components/input/rating/rating.component.js.map +1 -1
- package/components/input/rating/rating.props.js +4 -0
- package/components/input/rating/rating.props.js.map +1 -1
- package/components/input/select/select.component.js +9 -2
- package/components/input/select/select.component.js.map +1 -1
- package/components/input/switch/switch.component.js +2 -1
- package/components/input/switch/switch.component.js.map +1 -1
- package/components/input/text/text.component.js +24 -4
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.props.js +2 -0
- package/components/input/text/text.props.js.map +1 -1
- package/components/navigation/basenav/basenav.component.js +2 -0
- package/components/navigation/basenav/basenav.component.js.map +1 -1
- package/components/navigation/basenav/basenav.props.js +1 -0
- package/components/navigation/basenav/basenav.props.js.map +1 -1
- package/components/navigation/menu/menu.component.js +3 -0
- package/components/navigation/menu/menu.component.js.map +1 -1
- package/components/navigation/menu/menu.props.js +2 -0
- package/components/navigation/menu/menu.props.js.map +1 -1
- package/components/navigation/popover/popover.component.js +1 -0
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/components/navigation/popover/popover.props.js +1 -0
- package/components/navigation/popover/popover.props.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +2 -1
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/components-prism/basic/search/search.component.js +6 -4
- package/components-prism/basic/search/search.component.js.map +1 -1
- package/components-prism/basic/search/search.props.js +2 -0
- package/components-prism/basic/search/search.props.js.map +1 -1
- package/core/components/floatinglabel.component.js +2 -2
- package/core/components/floatinglabel.component.js.map +1 -1
- package/core/components/textinput.component.js +1 -0
- package/core/components/textinput.component.js.map +1 -1
- package/core/utils.js +16 -0
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +446 -400
- package/package-lock.json +446 -400
- package/package.json +2 -2
|
@@ -74,8 +74,8 @@ export default class WmAnchor extends BaseComponent {
|
|
|
74
74
|
iconwidth: iconwidth,
|
|
75
75
|
accessible: false
|
|
76
76
|
});
|
|
77
|
-
const leftIcon = lefticon => {
|
|
78
|
-
if (!lefticon) {
|
|
77
|
+
const leftIcon = (lefticon, lefticonurl) => {
|
|
78
|
+
if (!lefticon && !lefticonurl) {
|
|
79
79
|
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
80
80
|
}
|
|
81
81
|
return /*#__PURE__*/React.createElement(WmIcon, {
|
|
@@ -84,7 +84,7 @@ export default class WmAnchor extends BaseComponent {
|
|
|
84
84
|
hint: props === null || props === void 0 ? void 0 : props.hint,
|
|
85
85
|
name: name + '_icon',
|
|
86
86
|
iconclass: lefticon,
|
|
87
|
-
iconurl:
|
|
87
|
+
iconurl: lefticonurl,
|
|
88
88
|
iconheight: iconheight,
|
|
89
89
|
iconmargin: iconmargin,
|
|
90
90
|
iconwidth: iconwidth,
|
|
@@ -113,7 +113,7 @@ export default class WmAnchor extends BaseComponent {
|
|
|
113
113
|
accessibilityProps: {
|
|
114
114
|
...getAccessibilityProps(AccessibilityWidgetType.ANCHOR, props)
|
|
115
115
|
}
|
|
116
|
-
}), this._background, props.iconposition === 'top' && icon, props.iconposition === 'left' && icon, props.lefticonclass && /*#__PURE__*/React.createElement(React.Fragment, null, leftIcon(props.lefticonclass)), props.caption ? /*#__PURE__*/React.createElement(Text, _extends({
|
|
116
|
+
}), this._background, props.iconposition === 'top' && icon, props.iconposition === 'left' && icon, (props.lefticonclass || props.lefticonurl) && /*#__PURE__*/React.createElement(React.Fragment, null, leftIcon(props.lefticonclass, props.lefticonurl)), props.caption ? /*#__PURE__*/React.createElement(Text, _extends({
|
|
117
117
|
style: this.styles.text
|
|
118
118
|
}, this.getTestPropsForLabel('caption'), {
|
|
119
119
|
numberOfLines: props.nooflines,
|
|
@@ -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","renderBadge","badgevalue","_showSkeleton","badgeSkeleton","badge","undefined","createElement","style","importantForAccessibility","renderWidget","iconclass","iconurl","name","iconheight","iconmargin","iconwidth","icon","text","color","id","getTestId","hint","accessible","leftIcon","lefticon","Fragment","entryanimation","animation","delay","animationdelay","justifyContent","onLayout","event","handleLayout","_extends","getTestPropsForAction","flexDirection","iconposition","disableTouchEffect","disabletoucheffect","accessibilityProps","ANCHOR","_background","lefticonclass","caption","getTestPropsForLabel","numberOfLines","nooflines"],"sources":["anchor.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, Text } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { SyntheticEvent, Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { encodeUrl } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker-ai/app-rn-runtime/core/navigation.service';\n\nimport WmAnchorProps from './anchor.props';\nimport { DEFAULT_CLASS, WmAnchorStyles } from './anchor.styles';\nimport { Animatedview } from '@wavemaker-ai/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 renderBadge() {\n const { badgevalue } = this.props;\n if(this._showSkeleton) {\n return createSkeleton(this.theme, this.styles.badgeSkeleton, {\n ...this.styles.badge,\n // marginTop: -50\n })\n }\n return badgevalue != undefined ? (<Badge style={this.styles.badge} importantForAccessibility=\"no\">{badgevalue}</Badge>): null;\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 accessible={false}\n />\n );\n\n const leftIcon = (lefticon: string | undefined) => {\n if(!lefticon) {\n return <></>\n }\n\n return (\n <WmIcon\n id={this.getTestId('left-icon')}\n styles={this.styles.lefticon}\n hint={props?.hint}\n name={name + '_icon'}\n iconclass={lefticon}\n iconurl={iconurl}\n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n accessible={false}\n />\n )\n }\n return (\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) =>\n (<Animatedview\n entryanimation={props.animation}\n delay={props.animationdelay}\n style={{width: this.styles.root.width, height: this.styles.root.height, justifyContent: 'center'}}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n >\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 disableTouchEffect={this.state.props.disabletoucheffect}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.ANCHOR,\n props\n )}}>\n {this._background}\n {props.iconposition === 'top' && icon}\n {props.iconposition === 'left' && icon}\n {props.lefticonclass &&\n <>\n {leftIcon(props.lefticonclass)}\n </>\n } \n {props.caption ? (<Text style={this.styles.text}\n {...this.getTestPropsForLabel('caption')}\n numberOfLines={props.nooflines} importantForAccessibility='no'>{props.caption}</Text>) : null}\n {props.iconposition === 'right' && icon}\n {this.renderBadge()}\n </Tappable>\n </Animatedview>)\n }\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
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","renderBadge","badgevalue","_showSkeleton","badgeSkeleton","badge","undefined","createElement","style","importantForAccessibility","renderWidget","iconclass","iconurl","name","iconheight","iconmargin","iconwidth","icon","text","color","id","getTestId","hint","accessible","leftIcon","lefticon","lefticonurl","Fragment","entryanimation","animation","delay","animationdelay","justifyContent","onLayout","event","handleLayout","_extends","getTestPropsForAction","flexDirection","iconposition","disableTouchEffect","disabletoucheffect","accessibilityProps","ANCHOR","_background","lefticonclass","caption","getTestPropsForLabel","numberOfLines","nooflines"],"sources":["anchor.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, Text } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { SyntheticEvent, Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { encodeUrl } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker-ai/app-rn-runtime/core/navigation.service';\n\nimport WmAnchorProps from './anchor.props';\nimport { DEFAULT_CLASS, WmAnchorStyles } from './anchor.styles';\nimport { Animatedview } from '@wavemaker-ai/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 renderBadge() {\n const { badgevalue } = this.props;\n if(this._showSkeleton) {\n return createSkeleton(this.theme, this.styles.badgeSkeleton, {\n ...this.styles.badge,\n // marginTop: -50\n })\n }\n return badgevalue != undefined ? (<Badge style={this.styles.badge} importantForAccessibility=\"no\">{badgevalue}</Badge>): null;\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 accessible={false}\n />\n );\n\n const leftIcon = (lefticon: string | undefined, lefticonurl: string | undefined) => {\n if(!lefticon && !lefticonurl) {\n return <></>\n }\n\n return (\n <WmIcon\n id={this.getTestId('left-icon')}\n styles={this.styles.lefticon}\n hint={props?.hint}\n name={name + '_icon'}\n iconclass={lefticon}\n iconurl={lefticonurl}\n iconheight={iconheight}\n iconmargin={iconmargin}\n iconwidth={iconwidth}\n accessible={false}\n />\n )\n }\n return (\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) =>\n (<Animatedview\n entryanimation={props.animation}\n delay={props.animationdelay}\n style={{width: this.styles.root.width, height: this.styles.root.height, justifyContent: 'center'}}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n >\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 disableTouchEffect={this.state.props.disabletoucheffect}\n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.ANCHOR,\n props\n )}}>\n {this._background}\n {props.iconposition === 'top' && icon}\n {props.iconposition === 'left' && icon}\n {(props.lefticonclass || props.lefticonurl) &&\n <>\n {leftIcon(props.lefticonclass, props.lefticonurl)}\n </>\n }\n {props.caption ? (<Text style={this.styles.text}\n {...this.getTestPropsForLabel('caption')}\n numberOfLines={props.nooflines} importantForAccessibility='no'>{props.caption}</Text>) : null}\n {props.iconposition === 'right' && icon}\n {this.renderBadge()}\n </Tappable>\n </Animatedview>)\n }\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAA4BC,IAAI,QAAQ,cAAc;AACtD,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,kDAAkD;AACpG,SAAyBC,QAAQ,QAAQ,sDAAsD;AAC/F,OAAOC,MAAM,MAAM,mEAAmE;AACtF,SAASC,SAAS,QAAQ,yCAAyC;AACnE,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,iDAAiD;AAChH,SAA4BC,yBAAyB,QAAQ,sDAAsD;AAEnH,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,SAASC,YAAY,QAAQ,sEAAsE;AACnG,SAASC,cAAc,QAAQ,gCAAgC;AAE/D,OAAO,MAAMC,aAAa,SAASX,kBAAkB,CAAgB;AAIrE,eAAe,MAAMY,QAAQ,SAASb,aAAa,CAA+C;EAEhGc,WAAWA,CAACC,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;EAClD;EAEAQ,KAAKA,CAACC,iBAAoC,EAAEC,CAAiB,EAAE;IAC7D,MAAMH,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAIA,KAAK,CAACK,SAAS,EAAE;MACnB,MAAMC,IAAI,GAAGN,KAAK,CAACO,SAAS,GAAGlB,SAAS,CAACW,KAAK,CAACK,SAAS,CAAC,GAAGL,KAAK,CAACK,SAAS;MAC3EH,iBAAiB,CAACM,OAAO,CAACF,IAAI,EAAE;QAC9BG,MAAM,EAAE,IAAI,CAACL,KAAK,CAACJ,KAAK,CAACS;MAC3B,CAAC,CAAC;IACJ;IACA,IAAI,CAACC,mBAAmB,CAAC,OAAO,EAAE,CAACP,CAAC,EAAE,IAAI,CAACQ,KAAK,CAAC,CAAC;EACpD;EAEOC,cAAcA,CAACZ,KAAoB,EAAC;IACzC,OAAOJ,cAAc,CAAC,IAAI,CAACiB,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,EAAE;MACtD,GAAG,IAAI,CAACD,MAAM,CAACE,IAAI;MACnBC,KAAK,EAAE,IAAI,CAACjB,KAAK,CAACkB,aAAa,IAAI,IAAI,CAACJ,MAAM,CAACE,IAAI,CAACC,KAAK;MACzDE,MAAM,EAAE,IAAI,CAACnB,KAAK,CAACoB,cAAc,IAAI,IAAI,CAACN,MAAM,CAACE,IAAI,CAACG;IACxD,CAAC,CAAC;EACJ;EAEAE,WAAWA,CAAA,EAAG;IACZ,MAAM;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACtB,KAAK;IACjC,IAAG,IAAI,CAACuB,aAAa,EAAE;MACrB,OAAO3B,cAAc,CAAC,IAAI,CAACiB,KAAK,EAAE,IAAI,CAACC,MAAM,CAACU,aAAa,EAAE;QAC3D,GAAG,IAAI,CAACV,MAAM,CAACW;QAChB;MACD,CAAC,CAAC;IACJ;IACA,OAAOH,UAAU,IAAII,SAAS,gBAAI5C,KAAA,CAAA6C,aAAA,CAAC3C,KAAK;MAAC4C,KAAK,EAAE,IAAI,CAACd,MAAM,CAACW,KAAM;MAACI,yBAAyB,EAAC;IAAI,GAAEP,UAAkB,CAAC,GAAG,IAAI;EAC/H;EAEAQ,YAAYA,CAAC9B,KAAoB,EAAE;IAC/B,MAAM;MACJ+B,SAAS;MACTC,OAAO;MACPC,IAAI;MACJC,UAAU;MACVC,UAAU;MACVC,SAAS;MACTd;IACF,CAAC,GAAGtB,KAAK;IAEX,IAAI,IAAI,CAACc,MAAM,CAACuB,IAAI,IAAI,IAAI,CAACvB,MAAM,CAACuB,IAAI,CAACC,IAAI,EAAE;MAC7C,IAAI,CAACxB,MAAM,CAACuB,IAAI,CAACC,IAAI,CAACC,KAAK,GAAG,IAAI,CAACzB,MAAM,CAACwB,IAAI,CAACC,KAAK;IACtD;IAEA,MAAMF,IAAI,GAAG,CAACN,SAAS,IAAIC,OAAO,kBAChClD,KAAA,CAAA6C,aAAA,CAACvC,MAAM;MACLoD,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAC3B3B,MAAM,EAAE,IAAI,CAACA,MAAM,CAACuB,IAAK;MACzBK,IAAI,EAAE1C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE0C,IAAK;MAClBT,IAAI,EAAEA,IAAI,GAAG,OAAQ;MACrBF,SAAS,EAAEA,SAAU;MACrBC,OAAO,EAAEA,OAAQ;MACjBE,UAAU,EAAEA,UAAW;MACvBC,UAAU,EAAEA,UAAW;MACvBC,SAAS,EAAEA,SAAU;MACrBO,UAAU,EAAE;IAAM,CACnB,CACF;IAED,MAAMC,QAAQ,GAAGA,CAACC,QAA4B,EAAEC,WAA+B,KAAK;MAClF,IAAG,CAACD,QAAQ,IAAI,CAACC,WAAW,EAAE;QAC5B,oBAAOhE,KAAA,CAAA6C,aAAA,CAAA7C,KAAA,CAAAiE,QAAA,MAAI,CAAC;MACd;MAEA,oBACEjE,KAAA,CAAA6C,aAAA,CAACvC,MAAM;QACLoD,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,WAAW,CAAE;QAChC3B,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC+B,QAAS;QAC7BH,IAAI,EAAE1C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE0C,IAAK;QAClBT,IAAI,EAAEA,IAAI,GAAG,OAAQ;QACrBF,SAAS,EAAEc,QAAS;QACpBb,OAAO,EAAEc,WAAY;QACrBZ,UAAU,EAAEA,UAAW;QACvBC,UAAU,EAAEA,UAAW;QACvBC,SAAS,EAAEA,SAAU;QACrBO,UAAU,EAAE;MAAM,CACnB,CAAC;IAEN,CAAC;IACD,oBACE7D,KAAA,CAAA6C,aAAA,CAACnC,yBAAyB,QACtBU,iBAAoC,iBACnCpB,KAAA,CAAA6C,aAAA,CAAChC,YAAY;MACZqD,cAAc,EAAEhD,KAAK,CAACiD,SAAU;MAChCC,KAAK,EAAElD,KAAK,CAACmD,cAAe;MAC5BvB,KAAK,EAAE;QAACX,KAAK,EAAE,IAAI,CAACH,MAAM,CAACE,IAAI,CAACC,KAAK;QAAEE,MAAM,EAAE,IAAI,CAACL,MAAM,CAACE,IAAI,CAACG,MAAM;QAAEiC,cAAc,EAAE;MAAQ,CAAE;MAClGC,QAAQ,EAAGC,KAAwB,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,gBAEjExE,KAAA,CAAA6C,aAAA,CAACxC,QAAQ,EAAAqE,QAAA,KAAK,IAAI,CAACC,qBAAqB,CAAC,CAAC;MAAEhD,MAAM,EAAE,IAAK;MAACK,MAAM,EAAE,CAAC,IAAI,CAACA,MAAM,CAACE,IAAI,EAAE,IAAI,CAACF,MAAM,CAACE,IAAI,CAACC,KAAK,IAAI,IAAI,CAACH,MAAM,CAACE,IAAI,CAACG,MAAM,GAAG;QAAEF,KAAK,EAAE,MAAM;QAAEE,MAAM,EAAE;MAAM,CAAC,GAAG,IAAI,EAAE;QAACuC,aAAa,EAAE1D,KAAK,CAAC2D,YAAY,KAAK,KAAK,GAAG,QAAQ,GAAE;MAAK,CAAC,CAAE;MACjP1D,KAAK,EAAED,KAAK,CAACK,SAAS,IAAIL,KAAK,CAACC,KAAK,GAAIE,CAAiB,IAAK,IAAI,CAACF,KAAK,CAACC,iBAAiB,EAAEC,CAAC,CAAC,GAAGuB,SAAU;MAC5GkC,kBAAkB,EAAE,IAAI,CAACxD,KAAK,CAACJ,KAAK,CAAC6D,kBAAmB;MACxDC,kBAAkB,EAAE;QAAC,GAAGvE,qBAAqB,CAC3CD,uBAAuB,CAACyE,MAAM,EAC9B/D,KACF;MAAC;IAAE,IACF,IAAI,CAACgE,WAAW,EAChBhE,KAAK,CAAC2D,YAAY,KAAK,KAAK,IAAItB,IAAI,EACpCrC,KAAK,CAAC2D,YAAY,KAAK,MAAM,IAAItB,IAAI,EACrC,CAACrC,KAAK,CAACiE,aAAa,IAAIjE,KAAK,CAAC8C,WAAW,kBACxChE,KAAA,CAAA6C,aAAA,CAAA7C,KAAA,CAAAiE,QAAA,QACGH,QAAQ,CAAC5C,KAAK,CAACiE,aAAa,EAAEjE,KAAK,CAAC8C,WAAW,CAChD,CAAC,EAEJ9C,KAAK,CAACkE,OAAO,gBAAIpF,KAAA,CAAA6C,aAAA,CAAC5C,IAAI,EAAAyE,QAAA;MAAC5B,KAAK,EAAE,IAAI,CAACd,MAAM,CAACwB;IAAK,GAC5C,IAAI,CAAC6B,oBAAoB,CAAC,SAAS,CAAC;MACxCC,aAAa,EAAEpE,KAAK,CAACqE,SAAU;MAACxC,yBAAyB,EAAC;IAAI,IAAE7B,KAAK,CAACkE,OAAc,CAAC,GAAI,IAAI,EAC5FlE,KAAK,CAAC2D,YAAY,KAAK,OAAO,IAAItB,IAAI,EACtC,IAAI,CAAChB,WAAW,CAAC,CACV,CACE,CAES,CAAC;EAEhC;AACF","ignoreList":[]}
|
|
@@ -29,6 +29,7 @@ export default class WmAnchorProps extends BaseProps {
|
|
|
29
29
|
_defineProperty(this, "accessibilityrole", 'link');
|
|
30
30
|
_defineProperty(this, "nooflines", undefined);
|
|
31
31
|
_defineProperty(this, "lefticonclass", void 0);
|
|
32
|
+
_defineProperty(this, "lefticonurl", void 0);
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
//# sourceMappingURL=anchor.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmAnchorProps","constructor","args","_defineProperty","undefined"],"sources":["anchor.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmAnchorProps extends BaseProps {\n animation?: string = null as any;\n animationdelay?: number = null as any;\n caption? = 'Link';\n hyperlink?: string = null as any;\n encodeurl?: boolean = false;\n badgevalue?: string = null as any;\n width?: string = null as any;\n height?: string = null as any;\n iconclass?: string = null as any;\n iconposition?: string = 'left';\n target?: string = '_blank';\n onTap?: any;\n skeletonwidth?: number;\n skeletonheight?: number;\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 accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'link';\n nooflines?: any = undefined;\n lefticonclass?: string;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAE5E,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC5B,IAAI;IAAAA,eAAA,yBACC,IAAI;IAAAA,eAAA,kBACnB,MAAM;IAAAA,eAAA,oBACI,IAAI;IAAAA,eAAA,oBACH,KAAK;IAAAA,eAAA,qBACL,IAAI;IAAAA,eAAA,gBACT,IAAI;IAAAA,eAAA,iBACH,IAAI;IAAAA,eAAA,oBACD,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,iBACZ,QAAQ;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAIP,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,oBACL,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,MAAM;IAAAA,eAAA,oBAC5BC,SAAS;IAAAD,eAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["BaseProps","WmAnchorProps","constructor","args","_defineProperty","undefined"],"sources":["anchor.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmAnchorProps extends BaseProps {\n animation?: string = null as any;\n animationdelay?: number = null as any;\n caption? = 'Link';\n hyperlink?: string = null as any;\n encodeurl?: boolean = false;\n badgevalue?: string = null as any;\n width?: string = null as any;\n height?: string = null as any;\n iconclass?: string = null as any;\n iconposition?: string = 'left';\n target?: string = '_blank';\n onTap?: any;\n skeletonwidth?: number;\n skeletonheight?: number;\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 accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'link';\n nooflines?: any = undefined;\n lefticonclass?: string;\n lefticonurl?: string;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAE5E,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC5B,IAAI;IAAAA,eAAA,yBACC,IAAI;IAAAA,eAAA,kBACnB,MAAM;IAAAA,eAAA,oBACI,IAAI;IAAAA,eAAA,oBACH,KAAK;IAAAA,eAAA,qBACL,IAAI;IAAAA,eAAA,gBACT,IAAI;IAAAA,eAAA,iBACH,IAAI;IAAAA,eAAA,oBACD,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,iBACZ,QAAQ;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAIP,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,oBACL,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,MAAM;IAAAA,eAAA,oBAC5BC,SAAS;IAAAD,eAAA;IAAAA,eAAA;EAAA;AAG/B","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { Animated, Easing, Text, Image, View } from 'react-native';
|
|
7
7
|
import { FontAwesome } from '@expo/vector-icons';
|
|
8
|
+
import SvgUrlIcon from './svg-url-icon.component';
|
|
8
9
|
import { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';
|
|
9
10
|
import { isFullPathUrl } from '@wavemaker-ai/app-rn-runtime/core/utils';
|
|
10
11
|
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';
|
|
@@ -123,7 +124,7 @@ export default class WmIcon extends BaseComponent {
|
|
|
123
124
|
});
|
|
124
125
|
}
|
|
125
126
|
getElementToShow(props, iconSrc) {
|
|
126
|
-
var _this$styles$image, _this$styles$image2, _this$styles$image3;
|
|
127
|
+
var _this$styles$image, _this$styles$image2, _props$iconurl, _this$styles$image3;
|
|
127
128
|
const {
|
|
128
129
|
iconmargin,
|
|
129
130
|
iconheight,
|
|
@@ -133,6 +134,32 @@ export default class WmIcon extends BaseComponent {
|
|
|
133
134
|
let elementToshow, source;
|
|
134
135
|
if (iconwidth) width = iconwidth;else if (iconheight) width = iconheight;else width = ((_this$styles$image = this.styles.image) === null || _this$styles$image === void 0 ? void 0 : _this$styles$image.width) || 12;
|
|
135
136
|
if (iconheight) height = iconheight;else if (iconwidth) height = iconwidth;else height = ((_this$styles$image2 = this.styles.image) === null || _this$styles$image2 === void 0 ? void 0 : _this$styles$image2.height) || 12;
|
|
137
|
+
const SvgComponent = typeof iconSrc === 'function' ? iconSrc : iconSrc && typeof iconSrc === 'object' && typeof (iconSrc === null || iconSrc === void 0 ? void 0 : iconSrc.default) === 'function' ? iconSrc.default : null;
|
|
138
|
+
if (SvgComponent) {
|
|
139
|
+
var _this$styles$root, _this$styles$text, _this$styles$icon, _this$styles$root2, _this$styles$text2;
|
|
140
|
+
const color = ((_this$styles$root = this.styles.root) === null || _this$styles$root === void 0 ? void 0 : _this$styles$root.color) || ((_this$styles$text = this.styles.text) === null || _this$styles$text === void 0 ? void 0 : _this$styles$text.color);
|
|
141
|
+
const size = props.iconsize || ((_this$styles$icon = this.styles.icon) === null || _this$styles$icon === void 0 ? void 0 : _this$styles$icon.fontSize) || ((_this$styles$root2 = this.styles.root) === null || _this$styles$root2 === void 0 ? void 0 : _this$styles$root2.fontSize) || ((_this$styles$text2 = this.styles.text) === null || _this$styles$text2 === void 0 ? void 0 : _this$styles$text2.fontSize) || width;
|
|
142
|
+
return /*#__PURE__*/React.createElement(SvgComponent, {
|
|
143
|
+
width: size,
|
|
144
|
+
height: size,
|
|
145
|
+
color: color || undefined
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
const isSvgUrl = typeof iconSrc === 'string' && (((_props$iconurl = props.iconurl) === null || _props$iconurl === void 0 ? void 0 : _props$iconurl.toLowerCase().endsWith('.svg')) || iconSrc.toLowerCase().endsWith('.svg'));
|
|
149
|
+
if (isSvgUrl) {
|
|
150
|
+
var _this$styles$root3, _this$styles$text3, _this$styles$icon2, _this$styles$root4, _this$styles$text4;
|
|
151
|
+
const color = ((_this$styles$root3 = this.styles.root) === null || _this$styles$root3 === void 0 ? void 0 : _this$styles$root3.color) || ((_this$styles$text3 = this.styles.text) === null || _this$styles$text3 === void 0 ? void 0 : _this$styles$text3.color);
|
|
152
|
+
const size = props.iconsize || ((_this$styles$icon2 = this.styles.icon) === null || _this$styles$icon2 === void 0 ? void 0 : _this$styles$icon2.fontSize) || ((_this$styles$root4 = this.styles.root) === null || _this$styles$root4 === void 0 ? void 0 : _this$styles$root4.fontSize) || ((_this$styles$text4 = this.styles.text) === null || _this$styles$text4 === void 0 ? void 0 : _this$styles$text4.fontSize) || width;
|
|
153
|
+
return /*#__PURE__*/React.createElement(SvgUrlIcon, {
|
|
154
|
+
uri: iconSrc,
|
|
155
|
+
width: size,
|
|
156
|
+
height: size,
|
|
157
|
+
color: color ? String(color) : undefined,
|
|
158
|
+
style: {
|
|
159
|
+
margin: iconmargin !== null && iconmargin !== void 0 ? iconmargin : 0
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
136
163
|
if (isFullPathUrl(iconSrc)) {
|
|
137
164
|
source = {
|
|
138
165
|
uri: iconSrc
|
|
@@ -157,7 +184,7 @@ export default class WmIcon extends BaseComponent {
|
|
|
157
184
|
return null;
|
|
158
185
|
}
|
|
159
186
|
const iconImageSrc = this.loadAsset(iconImage);
|
|
160
|
-
if (iconImageSrc
|
|
187
|
+
if (iconImageSrc != null) {
|
|
161
188
|
return iconImageSrc;
|
|
162
189
|
}
|
|
163
190
|
return null;
|
|
@@ -195,13 +222,13 @@ export default class WmIcon extends BaseComponent {
|
|
|
195
222
|
size: iconSize
|
|
196
223
|
}, this.getTestProps('icon')), customIcon);
|
|
197
224
|
} else if (props.show && iconDef) {
|
|
198
|
-
var _this$styles$
|
|
225
|
+
var _this$styles$icon3;
|
|
199
226
|
let WMCustomIcon = WavIcon;
|
|
200
227
|
if (iconDef.isStreamlineLightIcon) {
|
|
201
228
|
WMCustomIcon = StreamlineLightIcon;
|
|
202
229
|
} else if (iconDef.isStreamlineRegularIcon) {
|
|
203
230
|
WMCustomIcon = StreamlineRegularIcon;
|
|
204
|
-
} else if (!iconDef.isWavIcon && !customIcon && !((_this$styles$
|
|
231
|
+
} else if (!iconDef.isWavIcon && !customIcon && !((_this$styles$icon3 = this.styles.icon) !== null && _this$styles$icon3 !== void 0 && _this$styles$icon3.fontFamily)) {
|
|
205
232
|
return null;
|
|
206
233
|
}
|
|
207
234
|
//@ts-ignore type information is not matching
|
|
@@ -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","args","_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","skeletonWidth","skeletonwidth","iconsize","root","width","skeletonHeight","skeletonheight","height","skeleton","getElementToShow","iconSrc","_this$styles$image","_this$styles$image2","_this$styles$image3","iconmargin","iconheight","iconwidth","elementToshow","source","image","uri","testID","getTestId","margin","borderRadius","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","disableTouchEffect","disabletoucheffect","onLayout","event","handleLayout","entryanimation","delay","animationdelay","accessibilityProps","accessible","ICON","_background","iconposition","caption","getTestPropsForLabel","importantForAccessibility"],"sources":["icon.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, DimensionValue, Easing, Text, Image, View, LayoutChangeEvent } from 'react-native';\nimport { FontAwesome } from '@expo/vector-icons';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { isFullPathUrl } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/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-ai/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker-ai/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 let skeletonWidth = (this.props.skeletonwidth || this.props.iconsize || this.styles.root.width) as DimensionValue;\n let skeletonHeight = (this.props.skeletonheight || this.props.iconsize || this.styles.root.height) as DimensionValue\n\n if(this.props.skeletonheight == \"0\") {\n skeletonWidth = 0\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth,\n height: skeletonHeight\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 = this.styles.image?.width || 12;\n if (iconheight) height = iconheight;\n else if (iconwidth) height = iconwidth;\n else height = this.styles.image?.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 borderRadius: this.styles.image?.borderRadius || 0\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\n target={this}\n rippleColor = {this.styles.root.rippleColor}\n {...this.getTestPropsForAction()}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n >\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={this.styles.root} iterationCount={iterationCount} accessibilityProps={props.accessible ? {...getAccessibilityProps(AccessibilityWidgetType.ICON, props)} : {}}>\n {this._background}\n {(props.iconposition === 'left' && icon) || null}\n {(props.caption && (<Text {...this.getTestPropsForLabel('caption')} style={this.styles.text}\n importantForAccessibility=\"no\">{props.caption}\n </Text>)) || null}\n {(props.iconposition === 'right' && icon) || null}\n </Animatedview>\n </Tappable>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Animated","Easing","Text","Image","View","FontAwesome","SvgUrlIcon","BaseComponent","BaseComponentState","isFullPathUrl","AccessibilityWidgetType","getAccessibilityProps","WmIconProps","DEFAULT_CLASS","WavIcon","StreamlineLightIcon","StreamlineRegularIcon","Tappable","Animatedview","createSkeleton","ICON_SIZES","Map","ICON_ROTATTION","WmIconState","constructor","args","_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","skeletonWidth","skeletonwidth","iconsize","root","width","skeletonHeight","skeletonheight","height","skeleton","getElementToShow","iconSrc","_this$styles$image","_this$styles$image2","_props$iconurl","_this$styles$image3","iconmargin","iconheight","iconwidth","elementToshow","source","image","SvgComponent","default","_this$styles$root","_this$styles$text","_this$styles$icon","_this$styles$root2","_this$styles$text2","color","text","fontSize","undefined","isSvgUrl","iconurl","toLowerCase","endsWith","_this$styles$root3","_this$styles$text3","_this$styles$icon2","_this$styles$root4","_this$styles$text4","uri","String","margin","testID","getTestId","borderRadius","loadIcon","iconImage","loadAsset","iconImageSrc","renderIcon","iconJsx","_iconSource","state","transform","iconSize","show","_extends","getTestProps","_this$styles$icon3","WMCustomIcon","interpolate","inputRange","outputRange","opacity","renderWidget","iterationCount","iterationcount","parseInt","target","rippleColor","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onLayout","event","handleLayout","entryanimation","delay","animationdelay","accessibilityProps","accessible","ICON","_background","iconposition","caption","getTestPropsForLabel","importantForAccessibility"],"sources":["icon.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, DimensionValue, Easing, Text, Image, View, LayoutChangeEvent } from 'react-native';\nimport { FontAwesome } from '@expo/vector-icons';\nimport SvgUrlIcon from './svg-url-icon.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { isFullPathUrl } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/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-ai/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker-ai/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 let skeletonWidth = (this.props.skeletonwidth || this.props.iconsize || this.styles.root.width) as DimensionValue;\n let skeletonHeight = (this.props.skeletonheight || this.props.iconsize || this.styles.root.height) as DimensionValue\n\n if(this.props.skeletonheight == \"0\") {\n skeletonWidth = 0\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth,\n height: skeletonHeight\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 = this.styles.image?.width || 12;\n if (iconheight) height = iconheight;\n else if (iconwidth) height = iconwidth;\n else height = this.styles.image?.height || 12;\n\n const SvgComponent = typeof iconSrc === 'function'\n ? iconSrc\n : (iconSrc && typeof iconSrc === 'object' && typeof iconSrc?.default === 'function')\n ? iconSrc.default\n : null;\n\n if (SvgComponent) {\n const color = this.styles.root?.color || this.styles.text?.color;\n const size = props.iconsize\n || this.styles.icon?.fontSize\n || this.styles.root?.fontSize\n || this.styles.text?.fontSize\n || width;\n return (\n <SvgComponent\n width={size}\n height={size}\n color={color || undefined}\n />\n );\n }\n\n const isSvgUrl = typeof iconSrc === 'string'\n && (props.iconurl?.toLowerCase().endsWith('.svg') || iconSrc.toLowerCase().endsWith('.svg'));\n\n if (isSvgUrl) {\n const color = this.styles.root?.color || this.styles.text?.color;\n const size = (props.iconsize\n || this.styles.icon?.fontSize\n || this.styles.root?.fontSize\n || this.styles.text?.fontSize\n || width) as number;\n return (\n <SvgUrlIcon\n uri={iconSrc}\n width={size}\n height={size}\n color={color ? String(color) : undefined}\n style={{ margin: iconmargin ?? 0 }}\n />\n );\n }\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 borderRadius: this.styles.image?.borderRadius || 0\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 != null) {\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\n target={this}\n rippleColor = {this.styles.root.rippleColor}\n {...this.getTestPropsForAction()}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n >\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={this.styles.root} iterationCount={iterationCount} accessibilityProps={props.accessible ? {...getAccessibilityProps(AccessibilityWidgetType.ICON, props)} : {}}>\n {this._background}\n {(props.iconposition === 'left' && icon) || null}\n {(props.caption && (<Text {...this.getTestPropsForLabel('caption')} style={this.styles.text}\n importantForAccessibility=\"no\">{props.caption}\n </Text>)) || null}\n {(props.iconposition === 'right' && icon) || null}\n </Animatedview>\n </Tappable>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { SvgXml } from 'react-native-svg';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Module-level cache for normalized SVG markup keyed by URL.
|
|
6
|
+
* Shared across all instances so the same URL is only fetched once.
|
|
7
|
+
*/
|
|
8
|
+
const svgCache = new Map();
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* In-flight fetch promises to avoid duplicate network requests when multiple
|
|
12
|
+
* instances mount simultaneously with the same URL.
|
|
13
|
+
*/
|
|
14
|
+
const inFlightRequests = new Map();
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Replaces hardcoded fill/stroke color values with `currentColor` so the
|
|
18
|
+
* icon color can be controlled via the `color` prop in react-native-svg.
|
|
19
|
+
* Values of `none` are preserved as-is.
|
|
20
|
+
*/
|
|
21
|
+
function normalizeSvg(svg) {
|
|
22
|
+
return svg.replace(/fill\s*=\s*"(?!\s*none\s*")[^"]*"/gi, 'fill="currentColor"').replace(/fill\s*=\s*'(?!\s*none\s*')[^']*'/gi, "fill='currentColor'").replace(/stroke\s*=\s*"(?!\s*none\s*")[^"]*"/gi, 'stroke="currentColor"').replace(/stroke\s*=\s*'(?!\s*none\s*')[^']*'/gi, "stroke='currentColor'").replace(/(fill|stroke)\s*:\s*(?!\s*none\b)[^;"']+/gi, '$1: currentColor');
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Fetches an SVG from a URL, normalizes hardcoded colors to `currentColor`,
|
|
26
|
+
* then renders it via SvgXml so the `color` prop controls the icon color —
|
|
27
|
+
* the same behaviour as the web SvgIconDirective.
|
|
28
|
+
*/
|
|
29
|
+
const SvgUrlIcon = ({
|
|
30
|
+
uri,
|
|
31
|
+
width,
|
|
32
|
+
height,
|
|
33
|
+
color,
|
|
34
|
+
style
|
|
35
|
+
}) => {
|
|
36
|
+
const [xml, setXml] = useState(() => {
|
|
37
|
+
var _svgCache$get;
|
|
38
|
+
return (_svgCache$get = svgCache.get(uri)) !== null && _svgCache$get !== void 0 ? _svgCache$get : null;
|
|
39
|
+
});
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (!uri) return;
|
|
42
|
+
const cached = svgCache.get(uri);
|
|
43
|
+
if (cached !== undefined) {
|
|
44
|
+
setXml(cached);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
let cancelled = false;
|
|
48
|
+
let request = inFlightRequests.get(uri);
|
|
49
|
+
if (!request) {
|
|
50
|
+
request = fetch(uri).then(res => res.text()).then(text => {
|
|
51
|
+
const normalized = normalizeSvg(text);
|
|
52
|
+
svgCache.set(uri, normalized);
|
|
53
|
+
inFlightRequests.delete(uri);
|
|
54
|
+
return normalized;
|
|
55
|
+
}).catch(() => {
|
|
56
|
+
inFlightRequests.delete(uri);
|
|
57
|
+
return '';
|
|
58
|
+
});
|
|
59
|
+
inFlightRequests.set(uri, request);
|
|
60
|
+
}
|
|
61
|
+
request.then(normalized => {
|
|
62
|
+
if (!cancelled) {
|
|
63
|
+
setXml(normalized);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return () => {
|
|
67
|
+
cancelled = true;
|
|
68
|
+
};
|
|
69
|
+
}, [uri]);
|
|
70
|
+
if (!xml) return null;
|
|
71
|
+
return /*#__PURE__*/React.createElement(SvgXml, {
|
|
72
|
+
xml: xml,
|
|
73
|
+
width: width,
|
|
74
|
+
height: height,
|
|
75
|
+
color: color,
|
|
76
|
+
style: style
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
export default SvgUrlIcon;
|
|
80
|
+
//# sourceMappingURL=svg-url-icon.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","SvgXml","svgCache","Map","inFlightRequests","normalizeSvg","svg","replace","SvgUrlIcon","uri","width","height","color","style","xml","setXml","_svgCache$get","get","cached","undefined","cancelled","request","fetch","then","res","text","normalized","set","delete","catch","createElement"],"sources":["svg-url-icon.component.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { StyleProp, ViewStyle } from 'react-native';\nimport { SvgXml } from 'react-native-svg';\n\n/**\n * Module-level cache for normalized SVG markup keyed by URL.\n * Shared across all instances so the same URL is only fetched once.\n */\nconst svgCache = new Map<string, string>();\n\n/**\n * In-flight fetch promises to avoid duplicate network requests when multiple\n * instances mount simultaneously with the same URL.\n */\nconst inFlightRequests = new Map<string, Promise<string>>();\n\n/**\n * Replaces hardcoded fill/stroke color values with `currentColor` so the\n * icon color can be controlled via the `color` prop in react-native-svg.\n * Values of `none` are preserved as-is.\n */\nfunction normalizeSvg(svg: string): string {\n return svg\n .replace(/fill\\s*=\\s*\"(?!\\s*none\\s*\")[^\"]*\"/gi, 'fill=\"currentColor\"')\n .replace(/fill\\s*=\\s*'(?!\\s*none\\s*')[^']*'/gi, \"fill='currentColor'\")\n .replace(/stroke\\s*=\\s*\"(?!\\s*none\\s*\")[^\"]*\"/gi, 'stroke=\"currentColor\"')\n .replace(/stroke\\s*=\\s*'(?!\\s*none\\s*')[^']*'/gi, \"stroke='currentColor'\")\n .replace(/(fill|stroke)\\s*:\\s*(?!\\s*none\\b)[^;\"']+/gi, '$1: currentColor');\n}\n\ninterface SvgUrlIconProps {\n uri: string;\n width: number;\n height: number;\n color?: string;\n style?: StyleProp<ViewStyle>;\n}\n\n/**\n * Fetches an SVG from a URL, normalizes hardcoded colors to `currentColor`,\n * then renders it via SvgXml so the `color` prop controls the icon color —\n * the same behaviour as the web SvgIconDirective.\n */\nconst SvgUrlIcon: React.FC<SvgUrlIconProps> = ({ uri, width, height, color, style }) => {\n const [xml, setXml] = useState<string | null>(() => svgCache.get(uri) ?? null);\n\n useEffect(() => {\n if (!uri) return;\n\n const cached = svgCache.get(uri);\n if (cached !== undefined) {\n setXml(cached);\n return;\n }\n\n let cancelled = false;\n\n let request = inFlightRequests.get(uri);\n if (!request) {\n request = fetch(uri)\n .then(res => res.text())\n .then(text => {\n const normalized = normalizeSvg(text);\n svgCache.set(uri, normalized);\n inFlightRequests.delete(uri);\n return normalized;\n })\n .catch(() => {\n inFlightRequests.delete(uri);\n return '';\n });\n inFlightRequests.set(uri, request);\n }\n\n request.then(normalized => {\n if (!cancelled) {\n setXml(normalized);\n }\n });\n\n return () => {\n cancelled = true;\n };\n }, [uri]);\n\n if (!xml) return null;\n\n return (\n <SvgXml\n xml={xml}\n width={width}\n height={height}\n color={color}\n style={style}\n />\n );\n};\n\nexport default SvgUrlIcon;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAElD,SAASC,MAAM,QAAQ,kBAAkB;;AAEzC;AACA;AACA;AACA;AACA,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAiB,CAAC;;AAE1C;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAG,IAAID,GAAG,CAA0B,CAAC;;AAE3D;AACA;AACA;AACA;AACA;AACA,SAASE,YAAYA,CAACC,GAAW,EAAU;EACzC,OAAOA,GAAG,CACPC,OAAO,CAAC,qCAAqC,EAAE,qBAAqB,CAAC,CACrEA,OAAO,CAAC,qCAAqC,EAAE,qBAAqB,CAAC,CACrEA,OAAO,CAAC,uCAAuC,EAAE,uBAAuB,CAAC,CACzEA,OAAO,CAAC,uCAAuC,EAAE,uBAAuB,CAAC,CACzEA,OAAO,CAAC,4CAA4C,EAAE,kBAAkB,CAAC;AAC9E;AAUA;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAqC,GAAGA,CAAC;EAAEC,GAAG;EAAEC,KAAK;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAM,CAAC,KAAK;EACtF,MAAM,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAGf,QAAQ,CAAgB;IAAA,IAAAgB,aAAA;IAAA,QAAAA,aAAA,GAAMd,QAAQ,CAACe,GAAG,CAACR,GAAG,CAAC,cAAAO,aAAA,cAAAA,aAAA,GAAI,IAAI;EAAA,EAAC;EAE9EjB,SAAS,CAAC,MAAM;IACd,IAAI,CAACU,GAAG,EAAE;IAEV,MAAMS,MAAM,GAAGhB,QAAQ,CAACe,GAAG,CAACR,GAAG,CAAC;IAChC,IAAIS,MAAM,KAAKC,SAAS,EAAE;MACxBJ,MAAM,CAACG,MAAM,CAAC;MACd;IACF;IAEA,IAAIE,SAAS,GAAG,KAAK;IAErB,IAAIC,OAAO,GAAGjB,gBAAgB,CAACa,GAAG,CAACR,GAAG,CAAC;IACvC,IAAI,CAACY,OAAO,EAAE;MACZA,OAAO,GAAGC,KAAK,CAACb,GAAG,CAAC,CACjBc,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CACvBF,IAAI,CAACE,IAAI,IAAI;QACZ,MAAMC,UAAU,GAAGrB,YAAY,CAACoB,IAAI,CAAC;QACrCvB,QAAQ,CAACyB,GAAG,CAAClB,GAAG,EAAEiB,UAAU,CAAC;QAC7BtB,gBAAgB,CAACwB,MAAM,CAACnB,GAAG,CAAC;QAC5B,OAAOiB,UAAU;MACnB,CAAC,CAAC,CACDG,KAAK,CAAC,MAAM;QACXzB,gBAAgB,CAACwB,MAAM,CAACnB,GAAG,CAAC;QAC5B,OAAO,EAAE;MACX,CAAC,CAAC;MACJL,gBAAgB,CAACuB,GAAG,CAAClB,GAAG,EAAEY,OAAO,CAAC;IACpC;IAEAA,OAAO,CAACE,IAAI,CAACG,UAAU,IAAI;MACzB,IAAI,CAACN,SAAS,EAAE;QACdL,MAAM,CAACW,UAAU,CAAC;MACpB;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXN,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACX,GAAG,CAAC,CAAC;EAET,IAAI,CAACK,GAAG,EAAE,OAAO,IAAI;EAErB,oBACEhB,KAAA,CAAAgC,aAAA,CAAC7B,MAAM;IACLa,GAAG,EAAEA,GAAI;IACTJ,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbC,KAAK,EAAEA;EAAM,CACd,CAAC;AAEN,CAAC;AAED,eAAeL,UAAU","ignoreList":[]}
|
|
@@ -349,11 +349,13 @@ export default class WmSearch extends BaseDatasetComponent {
|
|
|
349
349
|
onTap: this.clearSearch.bind(this),
|
|
350
350
|
id: this.getTestId('clear'),
|
|
351
351
|
styles: this.styles.clearButton,
|
|
352
|
-
iconclass: props.clearsearchiconclass || 'wi wi-clear'
|
|
352
|
+
iconclass: props.clearsearchiconclass || 'wi wi-clear',
|
|
353
|
+
iconurl: props.clearsearchiconurl
|
|
353
354
|
}) : null), props.showSearchIcon && props.type === 'search' ? /*#__PURE__*/React.createElement(WmButton, {
|
|
354
355
|
styles: this.styles.searchButton,
|
|
355
356
|
id: this.getTestId('search'),
|
|
356
357
|
iconclass: props.searchiconclass || props.iconclass,
|
|
358
|
+
iconurl: props.searchiconurl || props.iconurl,
|
|
357
359
|
onTap: this.searchIconPress.bind(this)
|
|
358
360
|
}) : null)
|
|
359
361
|
);
|
|
@@ -430,10 +432,14 @@ export default class WmSearch extends BaseDatasetComponent {
|
|
|
430
432
|
});
|
|
431
433
|
}
|
|
432
434
|
renderWidget(props) {
|
|
435
|
+
var _this$styles$root, _this$styles$root2;
|
|
433
436
|
const result = this.state.data;
|
|
434
437
|
return /*#__PURE__*/React.createElement(View, {
|
|
435
438
|
onLayout: event => this.handleLayout(event),
|
|
436
|
-
style: [this.styles.rootWrapper
|
|
439
|
+
style: [this.styles.rootWrapper, {
|
|
440
|
+
flexGrow: (_this$styles$root = this.styles.root) === null || _this$styles$root === void 0 ? void 0 : _this$styles$root.flexGrow,
|
|
441
|
+
flexShrink: (_this$styles$root2 = this.styles.root) === null || _this$styles$root2 === void 0 ? void 0 : _this$styles$root2.flexShrink
|
|
442
|
+
}]
|
|
437
443
|
}, this.renderSearchBar(), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
|
|
438
444
|
modalService.showModal(this.prepareModalOptions(/*#__PURE__*/React.createElement(ScrollView, {
|
|
439
445
|
style: {
|