@wavemaker/app-rn-runtime 11.10.5-rc.6100 → 11.11.0-1.6137

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 (85) hide show
  1. package/actions/notification-action.js +3 -1
  2. package/actions/notification-action.js.map +1 -1
  3. package/components/basic/animatedview.component.js +3 -2
  4. package/components/basic/animatedview.component.js.map +1 -1
  5. package/components/basic/audio/audio.component.js.map +1 -1
  6. package/components/basic/label/label.component.js +78 -33
  7. package/components/basic/label/label.component.js.map +1 -1
  8. package/components/basic/message/message.component.js +1 -1
  9. package/components/basic/message/message.component.js.map +1 -1
  10. package/components/basic/message/message.props.js +1 -0
  11. package/components/basic/message/message.props.js.map +1 -1
  12. package/components/basic/picture/picture.component.js +20 -13
  13. package/components/basic/picture/picture.component.js.map +1 -1
  14. package/components/basic/picture/picture.styles.js.map +1 -1
  15. package/components/basic/search/search.component.js +49 -28
  16. package/components/basic/search/search.component.js.map +1 -1
  17. package/components/basic/search/search.props.js +1 -0
  18. package/components/basic/search/search.props.js.map +1 -1
  19. package/components/basic/skeleton/skeleton.component.js.map +1 -1
  20. package/components/basic/skeleton/skeleton.styles.js.map +1 -1
  21. package/components/chart/bar-chart/bar-chart.component.js +4 -2
  22. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  23. package/components/chart/bar-chart/bar-chart.props.js +1 -0
  24. package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  25. package/components/chart/basechart.component.js +9 -2
  26. package/components/chart/basechart.component.js.map +1 -1
  27. package/components/chart/basechart.props.js +3 -1
  28. package/components/chart/basechart.props.js.map +1 -1
  29. package/components/container/container.component.js +10 -2
  30. package/components/container/container.component.js.map +1 -1
  31. package/components/container/container.props.js +1 -0
  32. package/components/container/container.props.js.map +1 -1
  33. package/components/container/container.styles.js +3 -0
  34. package/components/container/container.styles.js.map +1 -1
  35. package/components/data/form/form-field/form-field.component.js +1 -0
  36. package/components/data/form/form-field/form-field.component.js.map +1 -1
  37. package/components/data/list/list.component.js +58 -15
  38. package/components/data/list/list.component.js.map +1 -1
  39. package/components/data/list/list.props.js +3 -0
  40. package/components/data/list/list.props.js.map +1 -1
  41. package/components/input/baseinput/baseinput.component.js +4 -2
  42. package/components/input/baseinput/baseinput.component.js.map +1 -1
  43. package/components/input/calendar/views/month-view.js.map +1 -1
  44. package/components/input/epoch/datetime/datetime.styles.js.map +1 -1
  45. package/components/navigation/appnavbar/appnavbar.component.js +123 -38
  46. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  47. package/components/navigation/appnavbar/appnavbar.props.js +1 -0
  48. package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
  49. package/components/navigation/appnavbar/appnavbar.styles.js.map +1 -1
  50. package/components/page/left-panel/left-panel.component.js +3 -2
  51. package/components/page/left-panel/left-panel.component.js.map +1 -1
  52. package/components/page/page-content/page-content.component.js +13 -25
  53. package/components/page/page-content/page-content.component.js.map +1 -1
  54. package/components/page/page.component.js +51 -4
  55. package/components/page/page.component.js.map +1 -1
  56. package/components/page/page.props.js +11 -1
  57. package/components/page/page.props.js.map +1 -1
  58. package/components/page/tabbar/tabbar.component.js +140 -40
  59. package/components/page/tabbar/tabbar.component.js.map +1 -1
  60. package/components/page/tabbar/tabbar.props.js +1 -0
  61. package/components/page/tabbar/tabbar.props.js.map +1 -1
  62. package/core/AppConfig.js.map +1 -1
  63. package/core/base.component.js +39 -5
  64. package/core/base.component.js.map +1 -1
  65. package/core/components/floatinglabel.component.js.map +1 -1
  66. package/core/components/textinput.component.js +18 -2
  67. package/core/components/textinput.component.js.map +1 -1
  68. package/core/fixed-view.component.js +5 -3
  69. package/core/fixed-view.component.js.map +1 -1
  70. package/core/sticky-container.component.js +175 -0
  71. package/core/sticky-container.component.js.map +1 -0
  72. package/core/toast.service.js.map +1 -1
  73. package/core/utils.js +51 -5
  74. package/core/utils.js.map +1 -1
  75. package/npm-shrinkwrap.json +1428 -1839
  76. package/package-lock.json +1428 -1839
  77. package/package.json +6 -3
  78. package/runtime/App.js +61 -10
  79. package/runtime/App.js.map +1 -1
  80. package/runtime/base-fragment.component.js +2 -1
  81. package/runtime/base-fragment.component.js.map +1 -1
  82. package/runtime/base-prefab.component.js +4 -0
  83. package/runtime/base-prefab.component.js.map +1 -1
  84. package/runtime/services/app-toast.service.js +4 -0
  85. package/runtime/services/app-toast.service.js.map +1 -1
@@ -20,7 +20,9 @@ export class NotificationAction extends BaseAction {
20
20
  }, o.onClick = () => {
21
21
  this.config.onOk && this.config.onOk(this);
22
22
  }, o.content = this.config.partialContent;
23
- o.hideOnClick = options.hideOnClick || true;
23
+ o.hideOnClick = !params.showclosebutton && (options.hideOnClick || true);
24
+ o.showclosebutton = params.showclosebutton;
25
+ o.closeiconclass = params.closeiconclass || 'wi wi-close';
24
26
  const toasterPosition = options.position || params.toasterPosition || 'bottom right';
25
27
  const placement = toasterPosition.split(' ')[0];
26
28
  switch (placement) {
@@ -1 +1 @@
1
- {"version":3,"names":["BaseAction","DEFAULT_DURATION","NotificationAction","constructor","config","_defineProperty","showDialog","prepareToastOptions","options","_options$class","_params$class","params","paramProvider","o","text","message","type","class","toLowerCase","onClose","onClick","onOk","content","partialContent","hideOnClick","toasterPosition","position","placement","split","styles","top","bottom","duration","parseInt","name","getMessage","invoke","success","error","operation","toasterService","showToast","onCancel"],"sources":["notification-action.ts"],"sourcesContent":["import { ActionConfig, BaseAction } from \"./base-action\";\nimport { ToastOptions, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport React from 'react';\nexport interface NotificationActionConfig extends ActionConfig {\n showDialog: Function;\n onOk: any;\n onCancel: any;\n onClose: any;\n operation: string;\n partialContent: React.ReactNode;\n toasterService: () => ToastService;\n}\nconst DEFAULT_DURATION = 3000;\nexport class NotificationAction extends BaseAction<NotificationActionConfig> {\n showDialog: Function;\n constructor(config: NotificationActionConfig) {\n super(config);\n this.showDialog = config.showDialog;\n }\n\n prepareToastOptions(options: any = {}) {\n const params = this.config.paramProvider();\n const o = {} as ToastOptions;\n o.text = options.message || params.text;\n o.type = options.class?.toLowerCase() || params.class?.toLowerCase();\n o.onClose = () => {\n this.config.onClose && this.config.onClose(this);\n },\n o.onClick = () => {\n this.config.onOk && this.config.onOk(this);\n },\n o.content = this.config.partialContent;\n o.hideOnClick = options.hideOnClick || true;\n const toasterPosition = options.position || params.toasterPosition || 'bottom right';\n const placement = toasterPosition.split(' ')[0];\n switch(placement) {\n case 'top':\n o.styles = {top: 0};\n break;\n case 'bottom':\n o.styles = {bottom: 0};\n break;\n case 'center':\n o.styles = {top: '50%'};\n break;\n }\n if (this.config.partialContent) {\n if (!o.styles) {\n o.styles = {};\n }\n }\n if (!params.duration) {\n params.duration = (params.duration !== 0 && o.type === 'success') ? DEFAULT_DURATION : 0;\n }\n o.duration = parseInt(options.duration || params.duration);\n o.name = this.name;\n return o;\n }\n\n getMessage() {\n return this.config.paramProvider().text;\n }\n\n invoke(options: any, success: any, error: any) {\n super.invoke(options, success, error);\n if (this.config.operation === 'toast') {\n const toasterService = this.config.toasterService();\n return toasterService.showToast(this.prepareToastOptions(options));\n } else {\n return this.showDialog && this.showDialog({...this.params, onOk: this.config.onOk, onCancel: this.config.onCancel, onClose: this.config.onClose});\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BaseAction","DEFAULT_DURATION","NotificationAction","constructor","config","_defineProperty","showDialog","prepareToastOptions","options","_options$class","_params$class","params","paramProvider","o","text","message","type","class","toLowerCase","onClose","onClick","onOk","content","partialContent","hideOnClick","showclosebutton","closeiconclass","toasterPosition","position","placement","split","styles","top","bottom","duration","parseInt","name","getMessage","invoke","success","error","operation","toasterService","showToast","onCancel"],"sources":["notification-action.ts"],"sourcesContent":["import { ActionConfig, BaseAction } from \"./base-action\";\nimport { ToastOptions, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\nimport React from 'react';\nexport interface NotificationActionConfig extends ActionConfig {\n showDialog: Function;\n onOk: any;\n onCancel: any;\n onClose: any;\n operation: string;\n partialContent: React.ReactNode;\n toasterService: () => ToastService;\n}\nconst DEFAULT_DURATION = 3000;\nexport class NotificationAction extends BaseAction<NotificationActionConfig> {\n showDialog: Function;\n constructor(config: NotificationActionConfig) {\n super(config);\n this.showDialog = config.showDialog;\n }\n\n prepareToastOptions(options: any = {}) {\n const params = this.config.paramProvider();\n const o = {} as ToastOptions;\n o.text = options.message || params.text;\n o.type = options.class?.toLowerCase() || params.class?.toLowerCase();\n o.onClose = () => {\n this.config.onClose && this.config.onClose(this);\n },\n o.onClick = () => {\n this.config.onOk && this.config.onOk(this);\n },\n o.content = this.config.partialContent;\n o.hideOnClick = !params.showclosebutton && (options.hideOnClick || true);\n o.showclosebutton = params.showclosebutton;\n o.closeiconclass = params.closeiconclass || 'wi wi-close';\n const toasterPosition = options.position || params.toasterPosition || 'bottom right';\n const placement = toasterPosition.split(' ')[0];\n switch(placement) {\n case 'top':\n o.styles = {top: 0};\n break;\n case 'bottom':\n o.styles = {bottom: 0};\n break;\n case 'center':\n o.styles = {top: '50%'};\n break;\n }\n if (this.config.partialContent) {\n if (!o.styles) {\n o.styles = {};\n }\n }\n if (!params.duration) {\n params.duration = (params.duration !== 0 && o.type === 'success') ? DEFAULT_DURATION : 0;\n }\n o.duration = parseInt(options.duration || params.duration);\n o.name = this.name;\n return o;\n }\n\n getMessage() {\n return this.config.paramProvider().text;\n }\n\n invoke(options: any, success: any, error: any) {\n super.invoke(options, success, error);\n if (this.config.operation === 'toast') {\n const toasterService = this.config.toasterService();\n return toasterService.showToast(this.prepareToastOptions(options));\n } else {\n return this.showDialog && this.showDialog({...this.params, onOk: this.config.onOk, onCancel: this.config.onCancel, onClose: this.config.onClose});\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -210,12 +210,13 @@ export class Animatedview extends React.Component {
210
210
  ref: this.handleViewRef
211
211
  }, this.props.accessibilityProps, {
212
212
  testID: "animatableView",
213
- onLayout: this.props.onLayout
213
+ onLayout: e => this.props.onLayout && this.props.onLayout(e, this.view)
214
214
  }), this.props.children) : /*#__PURE__*/React.createElement(View, _extends({
215
215
  style: this.props.style
216
216
  }, this.props.accessibilityProps, {
217
217
  testID: "non_animatableView",
218
- onLayout: this.props.onLayout
218
+ ref: this.handleViewRef,
219
+ onLayout: e => this.props.onLayout && this.props.onLayout(e, this.view)
219
220
  }), this.props.children);
220
221
  }
221
222
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animatable","initializeRegistryWithDefinitions","View","AnimatedviewProps","constructor","_defineProperty","AnimationMap","bounce","flash","pulse","rotate","rubberBand","shake","swing","tada","wobble","bounceIn","bounceInDown","bounceInLeft","bounceInRight","bounceInUp","fadeIn","fadeInDown","fadeInDownBig","fadeInLeft","fadeInLeftBig","fadeInRight","fadeInRightBig","fadeInUp","fadeInUpBig","flipInX","flipInY","lightSpeedIn","slideInDown","slideInLeft","slideInRight","slideInUp","zoomIn","zoomInDown","zoomInLeft","zoomInRight","zoomInUp","CustomAnimationMap","transform","rotateY","rotateX","flipOutY","flipOutX","from","translateY","to","slideOutUp","slideOutDown","opacity","fadeOutDown","fadeOutUp","Animatedview","Component","props","ref","view","triggerEntry","animate","entryanimation","duration","then","endState","finished","triggerExit","exitanimation","render","createElement","_extends","animation","delay","useNativeDriver","style","iterationCount","handleViewRef","accessibilityProps","testID","onLayout","children"],"sources":["animatedview.component.tsx"],"sourcesContent":["import React from 'react';\nimport * as Animatable from 'react-native-animatable';\nimport { initializeRegistryWithDefinitions } from 'react-native-animatable';\nimport { View, ViewProps, ViewStyle } from 'react-native';\n\nexport default class AnimatedviewProps {\n entryanimation?: string = null as any;\n children?: any;\n duration?: number = null as any;\n delay?: number = null as any;\n iterationCount?:any;\n style?: any;\n exitanimation?: string = null as any;\n accessibilityProps?: any;\n onLayout?: any;\n}\n\nconst AnimationMap: any = {\n bounce: 'bounce',\n flash: 'flash',\n pulse: 'pulse',\n rotate: 'rotate',\n rubberBand: 'rubberBand',\n shake: 'shake',\n swing: 'swing',\n tada: 'tada',\n wobble: 'wobble',\n bounceIn: 'bounceOut',\n bounceInDown: 'bounceOutUp',\n bounceInLeft: 'bounceOutRight',\n bounceInRight: 'bounceOutLeft',\n bounceInUp: 'bounceOutDown',\n fadeIn: 'fadeOut',\n fadeInDown: 'fadeOutUp',\n fadeInDownBig: 'fadeOutUpBig',\n fadeInLeft: 'fadeOutRight',\n fadeInLeftBig: 'fadeOutRightBig',\n fadeInRight: 'fadeOutLeft',\n fadeInRightBig: 'fadeOutLeftBig',\n fadeInUp: 'fadeOutDown',\n fadeInUpBig: 'fadeOutDownBig',\n flipInX: 'flipOutX',\n flipInY: 'flipOutY',\n lightSpeedIn: 'lightSpeedOut',\n slideInDown: 'slideOutUp',\n slideInLeft: 'slideOutRight',\n slideInRight: 'slideOutLeft',\n slideInUp: 'slideOutDown',\n zoomIn: 'zoomOut',\n zoomInDown: 'zoomOutUp',\n zoomInLeft: 'zoomOutRight',\n zoomInRight: 'zoomOutLeft',\n zoomInUp: 'zoomOutDown'\n};\n\nconst CustomAnimationMap: any = {\n flipInY: {\n 0: {\n transform: [{rotateY: \"0deg\"}]\n },\n 1: {\n transform: [{rotateY: \"360deg\"}]\n }\n },\n flipInX: {\n 0: {\n transform: [{rotateX: \"0deg\"}]\n },\n 1: {\n transform: [{rotateX: \"360deg\"}]\n }\n },\n flipOutY: {\n 0: {\n transform: [{rotateY: \"3600deg\"}]\n },\n 1: {\n transform: [{rotateY: \"0deg\"}]\n }\n },\n flipOutX: {\n 0: {\n transform: [{rotateX: \"360deg\"}]\n },\n 1: {\n transform: [{rotateX: \"0deg\"}]\n }\n },\n slideInDown : {\n from: { translateY: -20 },\n to: { translateY: 0 }\n },\n slideInUp : {\n from: { translateY: 20 },\n to: { translateY: 0 }\n },\n slideOutUp: {\n from: { translateY: 0 },\n to: { translateY: -20 }\n },\n slideOutDown : {\n from: { translateY: 0 },\n to: { translateY: 20 }\n },\n fadeInDown: {\n from: { opacity: 0, translateY: -20 },\n to: { opacity: 1, translateY: 0 }\n },\n fadeInUp: {\n from: { opacity: 0, translateY: 20 },\n to: { opacity: 1, translateY: 0 }\n },\n fadeOutDown: {\n from: { opacity: 1, translateY: 0 },\n to: { opacity: 0, translateY: 20 }\n },\n fadeOutUp: {\n from: { opacity: 1, translateY: 0 },\n to: { opacity: 0, translateY: -20 }\n }\n};\n\nexport class Animatedview extends React.Component<AnimatedviewProps> {\n static defaultProps: AnimatedviewProps = {\n duration: 200,\n };\n\n private view: Animatable.View = null as any;\n\n constructor(props: AnimatedviewProps) {\n super(props);\n initializeRegistryWithDefinitions(CustomAnimationMap);\n }\n\n triggerEntry() {\n return (this as any).view.animate(this.props.entryanimation, this.props.duration).then((endState: any) => endState.finished)\n }\n\n triggerExit() {\n if (!this.view) {\n return;\n }\n if (this.props.exitanimation) {\n return (this as any).view.animate(this.props.exitanimation, this.props.duration, 1).then((endState: any) => endState.finished)\n } else {\n return (this as any).view.animate(AnimationMap[this.props.entryanimation || ''], this.props.duration, 1).then((endState: any) => endState.finished)\n }\n }\n\n // @ts-ignore\n handleViewRef = (ref: Animatable.View<ViewProps, ViewStyle>) => this.view = ref;\n\n render() {\n return this.props.entryanimation ? (\n <Animatable.View\n animation={this.props.entryanimation}\n duration={this.props.duration}\n delay={this.props.delay}\n useNativeDriver={true}\n style={this.props.style}\n iterationCount={this.props.iterationCount}\n ref={this.handleViewRef}\n {...this.props.accessibilityProps}\n testID=\"animatableView\"\n onLayout={this.props.onLayout}\n >\n {this.props.children}\n </Animatable.View>\n ): (<View \n style={this.props.style} \n {...this.props.accessibilityProps} \n testID=\"non_animatableView\"\n onLayout={this.props.onLayout}\n >\n {this.props.children}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Animatable","initializeRegistryWithDefinitions","View","AnimatedviewProps","constructor","_defineProperty","AnimationMap","bounce","flash","pulse","rotate","rubberBand","shake","swing","tada","wobble","bounceIn","bounceInDown","bounceInLeft","bounceInRight","bounceInUp","fadeIn","fadeInDown","fadeInDownBig","fadeInLeft","fadeInLeftBig","fadeInRight","fadeInRightBig","fadeInUp","fadeInUpBig","flipInX","flipInY","lightSpeedIn","slideInDown","slideInLeft","slideInRight","slideInUp","zoomIn","zoomInDown","zoomInLeft","zoomInRight","zoomInUp","CustomAnimationMap","transform","rotateY","rotateX","flipOutY","flipOutX","from","translateY","to","slideOutUp","slideOutDown","opacity","fadeOutDown","fadeOutUp","Animatedview","Component","props","ref","view","triggerEntry","animate","entryanimation","duration","then","endState","finished","triggerExit","exitanimation","render","createElement","_extends","animation","delay","useNativeDriver","style","iterationCount","handleViewRef","accessibilityProps","testID","onLayout","e","children"],"sources":["animatedview.component.tsx"],"sourcesContent":["import React from 'react';\nimport * as Animatable from 'react-native-animatable';\nimport { initializeRegistryWithDefinitions } from 'react-native-animatable';\nimport { View, ViewProps, ViewStyle } from 'react-native';\n\nexport default class AnimatedviewProps {\n entryanimation?: string = null as any;\n children?: any;\n duration?: number = null as any;\n delay?: number = null as any;\n iterationCount?:any;\n style?: any;\n exitanimation?: string = null as any;\n accessibilityProps?: any;\n onLayout?: any;\n}\n\nconst AnimationMap: any = {\n bounce: 'bounce',\n flash: 'flash',\n pulse: 'pulse',\n rotate: 'rotate',\n rubberBand: 'rubberBand',\n shake: 'shake',\n swing: 'swing',\n tada: 'tada',\n wobble: 'wobble',\n bounceIn: 'bounceOut',\n bounceInDown: 'bounceOutUp',\n bounceInLeft: 'bounceOutRight',\n bounceInRight: 'bounceOutLeft',\n bounceInUp: 'bounceOutDown',\n fadeIn: 'fadeOut',\n fadeInDown: 'fadeOutUp',\n fadeInDownBig: 'fadeOutUpBig',\n fadeInLeft: 'fadeOutRight',\n fadeInLeftBig: 'fadeOutRightBig',\n fadeInRight: 'fadeOutLeft',\n fadeInRightBig: 'fadeOutLeftBig',\n fadeInUp: 'fadeOutDown',\n fadeInUpBig: 'fadeOutDownBig',\n flipInX: 'flipOutX',\n flipInY: 'flipOutY',\n lightSpeedIn: 'lightSpeedOut',\n slideInDown: 'slideOutUp',\n slideInLeft: 'slideOutRight',\n slideInRight: 'slideOutLeft',\n slideInUp: 'slideOutDown',\n zoomIn: 'zoomOut',\n zoomInDown: 'zoomOutUp',\n zoomInLeft: 'zoomOutRight',\n zoomInRight: 'zoomOutLeft',\n zoomInUp: 'zoomOutDown'\n};\n\nconst CustomAnimationMap: any = {\n flipInY: {\n 0: {\n transform: [{rotateY: \"0deg\"}]\n },\n 1: {\n transform: [{rotateY: \"360deg\"}]\n }\n },\n flipInX: {\n 0: {\n transform: [{rotateX: \"0deg\"}]\n },\n 1: {\n transform: [{rotateX: \"360deg\"}]\n }\n },\n flipOutY: {\n 0: {\n transform: [{rotateY: \"3600deg\"}]\n },\n 1: {\n transform: [{rotateY: \"0deg\"}]\n }\n },\n flipOutX: {\n 0: {\n transform: [{rotateX: \"360deg\"}]\n },\n 1: {\n transform: [{rotateX: \"0deg\"}]\n }\n },\n slideInDown : {\n from: { translateY: -20 },\n to: { translateY: 0 }\n },\n slideInUp : {\n from: { translateY: 20 },\n to: { translateY: 0 }\n },\n slideOutUp: {\n from: { translateY: 0 },\n to: { translateY: -20 }\n },\n slideOutDown : {\n from: { translateY: 0 },\n to: { translateY: 20 }\n },\n fadeInDown: {\n from: { opacity: 0, translateY: -20 },\n to: { opacity: 1, translateY: 0 }\n },\n fadeInUp: {\n from: { opacity: 0, translateY: 20 },\n to: { opacity: 1, translateY: 0 }\n },\n fadeOutDown: {\n from: { opacity: 1, translateY: 0 },\n to: { opacity: 0, translateY: 20 }\n },\n fadeOutUp: {\n from: { opacity: 1, translateY: 0 },\n to: { opacity: 0, translateY: -20 }\n }\n};\n\nexport class Animatedview extends React.Component<AnimatedviewProps> {\n static defaultProps: AnimatedviewProps = {\n duration: 200,\n };\n\n private view: Animatable.View = null as any;\n\n constructor(props: AnimatedviewProps) {\n super(props);\n initializeRegistryWithDefinitions(CustomAnimationMap);\n }\n\n triggerEntry() {\n return (this as any).view.animate(this.props.entryanimation, this.props.duration).then((endState: any) => endState.finished)\n }\n\n triggerExit() {\n if (!this.view) {\n return;\n }\n if (this.props.exitanimation) {\n return (this as any).view.animate(this.props.exitanimation, this.props.duration, 1).then((endState: any) => endState.finished)\n } else {\n return (this as any).view.animate(AnimationMap[this.props.entryanimation || ''], this.props.duration, 1).then((endState: any) => endState.finished)\n }\n }\n\n // @ts-ignore\n handleViewRef = (ref: Animatable.View<ViewProps, ViewStyle>) => this.view = ref;\n\n render() {\n return this.props.entryanimation ? (\n <Animatable.View\n animation={this.props.entryanimation}\n duration={this.props.duration}\n delay={this.props.delay}\n useNativeDriver={true}\n style={this.props.style}\n iterationCount={this.props.iterationCount}\n ref={this.handleViewRef}\n {...this.props.accessibilityProps}\n testID=\"animatableView\"\n onLayout={(e)=>this.props.onLayout && this.props.onLayout(e, this.view)}\n >\n {this.props.children}\n </Animatable.View>\n ): (<View \n style={this.props.style} \n {...this.props.accessibilityProps} \n testID=\"non_animatableView\"\n ref={this.handleViewRef}\n onLayout={(e)=>this.props.onLayout && this.props.onLayout(e, this.view)}\n >\n {this.props.children}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","Text","View","Slider","isString","Audio","BaseComponent","BaseComponentState","WmAudioProps","DEFAULT_CLASS","WmIcon","isWebPreviewMode","createSkeleton","WmAudioState","constructor","args","_defineProperty","WmAudio","props","onPropertyChange","name","$new","$old","initialized","Promise","resolve","then","_this$sound","sound","unloadAsync","onSeekChange","state","playing","autoplay","play","getSource","source","loadAsset","mp3format","uri","addPadding","str","maxLen","pad","length","formatTime","v","t","mins","Math","floor","seconds","round","setTimer","cancelTimer","timer","setInterval","currentTime","totalTime","loop","replay","stop","setState","max","offsetTime","clearInterval","_this$sound2","pause","updateState","replayAsync","loading","playAsync","Sound","createAsync","isMuted","muted","res","getStatusAsync","status","catch","_this$sound3","pauseAsync","mute","setStatusAsync","unmute","time","_this$sound4","setPositionAsync","componentDidMount","setTimeout","componentWillUnmount","renderTextSkeleton","theme","styles","text","textSkeleton","root","renderWidget","controls","createElement","style","onLayout","event","handleLayout","_background","id","getTestId","playIcon","iconclass","onTap","pauseIcon","_showSkeleton","Fragment","testID","step","flex","value","disabled","onValueChange","bind","minimumValue","inverted","isRTL","OS","maximumValue","thumbTintColor","slider","thumb","backgroundColor","minimumTrackTintColor","minimumTrack","maximumTrackTintColor","maximumTrack","muteIcon","unmuteIcon"],"sources":["audio.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform, Text, View } from 'react-native';\nimport Slider from '@react-native-community/slider';\nimport { isString } from 'lodash-es';\nimport { Audio } from 'expo-av';\nimport { Sound } from 'expo-av/build/Audio';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAudioProps from './audio.props';\nimport { DEFAULT_CLASS, WmAudioStyles } from './audio.styles';\nimport WmIcon from '../icon/icon.component';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../skeleton/skeleton.styles';\n\nexport class WmAudioState extends BaseComponentState<WmAudioProps> {\n playing = false;\n currentTime = 0;\n totalTime = 0;\n}\n\nexport default class WmAudio extends BaseComponent<WmAudioProps, WmAudioState, WmAudioStyles> {\n\n private loading = false;\n private sound: Sound = null as any;\n private timer: any;\n private offsetTime = 0;\n\n constructor(props: WmAudioProps) {\n super(props, DEFAULT_CLASS, new WmAudioProps(), new WmAudioState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'mp3format': {\n if (this.initialized) {\n Promise.resolve()\n .then(() => this.sound?.unloadAsync())\n .then(() => {\n this.sound = null as any;\n this.onSeekChange(0);\n if (this.state.playing \n || this.state.props.autoplay) {\n this.play();\n }\n });\n }\n }\n break;\n case 'autoplay':\n if (this.initialized && $new) {\n this.play();\n }\n }\n }\n\n getSource() {\n const source = this.loadAsset \n && this.state.props.mp3format\n && this.loadAsset(this.state.props.mp3format as string);\n if (isString(source)) {\n return {\n uri: source\n };\n }\n return source;\n }\n\n addPadding(str: string, maxLen: number, pad = '0'): string {\n if (str.length < maxLen) {\n return this.addPadding(pad + str, maxLen, pad);\n }\n return str;\n }\n\n formatTime(v: number) {\n const t = v/60;\n const mins = Math.floor(t);\n const seconds = Math.round((t - mins) * 60);\n return this.addPadding(mins+ '', 2) + ':' + this.addPadding(seconds+ '', 2);\n }\n\n setTimer() {\n this.cancelTimer();\n this.timer = setInterval(() => {\n if (this.state.currentTime >= this.state.totalTime) {\n if (this.state.props.loop) {\n this.replay();\n } else {\n this.stop();\n }\n return;\n }\n this.setState({\n currentTime: Math.max(this.offsetTime + this.state.currentTime + 1, 0)\n } as WmAudioState);\n this.offsetTime = 0;\n }, 1000);\n }\n\n cancelTimer() {\n clearInterval(this.timer);\n }\n\n stop() {\n this.pause();\n this.sound?.unloadAsync();\n this.sound = null as any;\n this.cancelTimer();\n this.offsetTime = 0;\n this.updateState({\n currentTime: 0\n } as WmAudioState);\n }\n\n replay() {\n this.updateState({\n currentTime: 0\n } as WmAudioState, () => {\n this.sound.replayAsync();\n });\n }\n\n play() {\n if (isWebPreviewMode() \n || this.loading\n || (this.state.playing && this.sound)) {\n return;\n }\n if (this.sound) {\n this.sound.playAsync();\n this.setTimer();\n this.updateState({\n playing: true\n } as WmAudioState);\n } else {\n this.loading = true;\n const source = this.getSource();\n source && Audio.Sound.createAsync(source, {\n isMuted: this.state.props.muted\n })\n .then((res) => {\n this.sound = res.sound;\n this.sound.playAsync();\n this.sound.getStatusAsync().then((status: any) => {\n this.updateState({\n currentTime: 0,\n totalTime: Math.round(status['durationMillis']/1000)\n } as WmAudioState, () => this.setTimer());\n });\n this.updateState({\n playing: true\n } as WmAudioState);\n }).catch(() => {}).then(() => {\n this.loading = false;\n });\n }\n }\n\n pause() {\n this.cancelTimer();\n this.sound?.pauseAsync().then(() => {\n this.updateState({\n playing: false\n } as WmAudioState);\n })\n }\n\n mute() {\n this.sound.setStatusAsync({\n isMuted: true\n }).then(() => {\n this.updateState({\n props: {\n muted: true\n }\n } as WmAudioState);\n });\n }\n\n unmute() {\n this.sound.setStatusAsync({\n isMuted: false\n }).then(() => {\n this.updateState({\n props: {\n muted: false\n }\n } as WmAudioState);\n });\n }\n\n onSeekChange(time: number) {\n if (time !== this.state.currentTime) {\n this.offsetTime = time - this.state.currentTime;\n this.sound?.setPositionAsync(time * 1000);\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n //without settimeout, app is crashing with errors\n setTimeout(() => {\n if (this.state.props.autoplay) {\n this.play();\n }\n }, 1000);\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.stop();\n }\n\n public renderTextSkeleton(): React.ReactNode {\n return (\n createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.text,\n ...this.styles.textSkeleton.root\n }\n )\n )\n } \n renderWidget(props: WmAudioProps) {\n return props.controls ? (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {!this.state.playing ? (<WmIcon \n id={this.getTestId('play')}\n name={props.name + \"_play\"}\n styles={this.styles.playIcon}\n iconclass=\"wi wi-play-arrow fa-2x\"\n onTap={() => this.play()}></WmIcon>) : (\n <WmIcon name={props.name + \"_pause\"}\n id={this.getTestId('pause')}\n iconclass=\"wi wi-pause fa-2x\"\n styles={this.styles.pauseIcon}\n onTap={() => this.pause()}></WmIcon>)}\n {\n this._showSkeleton ? this.renderTextSkeleton() : \n <>\n <Text style={this.styles.text}>\n {`${this.formatTime(this.state.currentTime)} / ${this.formatTime(this.state.totalTime)}`}\n </Text>\n <Slider\n testID={this.getTestId('slider')}\n step={1}\n style={{flex: 1}}\n value={this.state.currentTime}\n disabled={isWebPreviewMode()}\n onValueChange={this.onSeekChange.bind(this)}\n minimumValue={0}\n inverted={this.isRTL && (Platform.OS==\"android\" || Platform.OS==\"web\")}\n maximumValue={this.state.totalTime || 1}\n thumbTintColor={this.styles.slider.thumb.backgroundColor as string}\n minimumTrackTintColor={this.styles.slider.minimumTrack.backgroundColor as string}\n maximumTrackTintColor={this.styles.slider.maximumTrack.backgroundColor as string}\n />\n </>\n }\n {!props.muted ? (<WmIcon name={props.name + \"_mute\"}\n id={this.getTestId('mute')}\n iconclass=\"wi wi-volume-up fa-2x\"\n styles={this.styles.muteIcon}\n onTap={() => this.mute()}></WmIcon>) :\n (<WmIcon name={props.name + \"_unmute\"}\n id={this.getTestId('unmute')}\n iconclass=\"wi wi-volume-off fa-2x\"\n styles={this.styles.unmuteIcon}\n onTap={() => this.unmute()}></WmIcon>)}\n </View>) : null; \n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","Text","View","Slider","isString","Audio","BaseComponent","BaseComponentState","WmAudioProps","DEFAULT_CLASS","WmIcon","isWebPreviewMode","createSkeleton","WmAudioState","constructor","args","_defineProperty","WmAudio","props","onPropertyChange","name","$new","$old","initialized","Promise","resolve","then","_this$sound","sound","unloadAsync","onSeekChange","state","playing","autoplay","play","getSource","source","loadAsset","mp3format","uri","addPadding","str","maxLen","pad","length","formatTime","v","t","mins","Math","floor","seconds","round","setTimer","cancelTimer","timer","setInterval","currentTime","totalTime","loop","replay","stop","setState","max","offsetTime","clearInterval","_this$sound2","pause","updateState","replayAsync","loading","playAsync","Sound","createAsync","isMuted","muted","res","getStatusAsync","status","catch","_this$sound3","pauseAsync","mute","setStatusAsync","unmute","time","_this$sound4","setPositionAsync","componentDidMount","setTimeout","componentWillUnmount","renderTextSkeleton","theme","styles","text","textSkeleton","root","renderWidget","controls","createElement","style","onLayout","event","handleLayout","_background","id","getTestId","playIcon","iconclass","onTap","pauseIcon","_showSkeleton","Fragment","testID","step","flex","value","disabled","onValueChange","bind","minimumValue","inverted","isRTL","OS","maximumValue","thumbTintColor","slider","thumb","backgroundColor","minimumTrackTintColor","minimumTrack","maximumTrackTintColor","maximumTrack","muteIcon","unmuteIcon"],"sources":["audio.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform, Text, View } from 'react-native';\nimport Slider from '@react-native-community/slider';\nimport { isString } from 'lodash-es';\nimport { Audio } from 'expo-av';\nimport { Sound } from 'expo-av/build/Audio';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAudioProps from './audio.props';\nimport { DEFAULT_CLASS, WmAudioStyles } from './audio.styles';\nimport WmIcon from '../icon/icon.component';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { createSkeleton } from '../skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../skeleton/skeleton.styles';\n\nexport class WmAudioState extends BaseComponentState<WmAudioProps> {\n playing = false;\n currentTime = 0;\n totalTime = 0;\n}\n\nexport default class WmAudio extends BaseComponent<WmAudioProps, WmAudioState, WmAudioStyles> {\n\n private loading = false;\n private sound: Sound = null as any;\n private timer: any;\n private offsetTime = 0;\n\n constructor(props: WmAudioProps) {\n super(props, DEFAULT_CLASS, new WmAudioProps(), new WmAudioState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'mp3format': {\n if (this.initialized) {\n Promise.resolve()\n .then(() => this.sound?.unloadAsync())\n .then(() => {\n this.sound = null as any;\n this.onSeekChange(0);\n if (this.state.playing \n || this.state.props.autoplay) {\n this.play();\n }\n });\n }\n }\n break;\n case 'autoplay':\n if (this.initialized && $new) {\n this.play();\n }\n }\n }\n\n getSource() {\n const source = this.loadAsset \n && this.state.props.mp3format\n && this.loadAsset(this.state.props.mp3format as string);\n if (isString(source)) {\n return {\n uri: source\n };\n }\n return source;\n }\n\n addPadding(str: string, maxLen: number, pad = '0'): string {\n if (str.length < maxLen) {\n return this.addPadding(pad + str, maxLen, pad);\n }\n return str;\n }\n\n formatTime(v: number) {\n const t = v/60;\n const mins = Math.floor(t);\n const seconds = Math.round((t - mins) * 60);\n return this.addPadding(mins+ '', 2) + ':' + this.addPadding(seconds+ '', 2);\n }\n\n setTimer() {\n this.cancelTimer();\n this.timer = setInterval(() => {\n if (this.state.currentTime >= this.state.totalTime) {\n if (this.state.props.loop) {\n this.replay();\n } else {\n this.stop();\n }\n return;\n }\n this.setState({\n currentTime: Math.max(this.offsetTime + this.state.currentTime + 1, 0)\n } as WmAudioState);\n this.offsetTime = 0;\n }, 1000);\n }\n\n cancelTimer() {\n clearInterval(this.timer);\n }\n\n stop() {\n this.pause();\n this.sound?.unloadAsync();\n this.sound = null as any;\n this.cancelTimer();\n this.offsetTime = 0;\n this.updateState({\n currentTime: 0\n } as WmAudioState);\n }\n\n replay() {\n this.updateState({\n currentTime: 0\n } as WmAudioState, () => {\n this.sound.replayAsync();\n });\n }\n\n play() {\n if (isWebPreviewMode() \n || this.loading\n || (this.state.playing && this.sound)) {\n return;\n }\n if (this.sound) {\n this.sound.playAsync();\n this.setTimer();\n this.updateState({\n playing: true\n } as WmAudioState);\n } else {\n this.loading = true;\n const source = this.getSource();\n source && Audio.Sound.createAsync(source, {\n isMuted: this.state.props.muted\n })\n .then((res) => {\n this.sound = res.sound;\n this.sound.playAsync();\n this.sound.getStatusAsync().then((status: any) => {\n this.updateState({\n currentTime: 0,\n totalTime: Math.round(status['durationMillis']/1000)\n } as WmAudioState, () => this.setTimer());\n });\n this.updateState({\n playing: true\n } as WmAudioState);\n }).catch(() => {}).then(() => {\n this.loading = false;\n });\n }\n }\n\n pause() {\n this.cancelTimer();\n this.sound?.pauseAsync().then(() => {\n this.updateState({\n playing: false\n } as WmAudioState);\n })\n }\n\n mute() {\n this.sound.setStatusAsync({\n isMuted: true\n }).then(() => {\n this.updateState({\n props: {\n muted: true\n }\n } as WmAudioState);\n });\n }\n\n unmute() {\n this.sound.setStatusAsync({\n isMuted: false\n }).then(() => {\n this.updateState({\n props: {\n muted: false\n }\n } as WmAudioState);\n });\n }\n\n onSeekChange(time: number) {\n if (time !== this.state.currentTime) {\n this.offsetTime = time - this.state.currentTime;\n this.sound?.setPositionAsync(time * 1000);\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n //without settimeout, app is crashing with errors\n setTimeout(() => {\n if (this.state.props.autoplay) {\n this.play();\n }\n }, 1000);\n }\n\n componentWillUnmount(): void {\n super.componentWillUnmount();\n this.stop();\n }\n\n public renderTextSkeleton(): React.ReactNode {\n return (\n createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.text,\n ...this.styles.textSkeleton.root\n })\n )\n } \n renderWidget(props: WmAudioProps) {\n return props.controls ? (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {!this.state.playing ? (<WmIcon \n id={this.getTestId('play')}\n name={props.name + \"_play\"}\n styles={this.styles.playIcon}\n iconclass=\"wi wi-play-arrow fa-2x\"\n onTap={() => this.play()}></WmIcon>) : (\n <WmIcon name={props.name + \"_pause\"}\n id={this.getTestId('pause')}\n iconclass=\"wi wi-pause fa-2x\"\n styles={this.styles.pauseIcon}\n onTap={() => this.pause()}></WmIcon>)}\n {\n this._showSkeleton ? this.renderTextSkeleton() : \n <>\n <Text style={this.styles.text}>\n {`${this.formatTime(this.state.currentTime)} / ${this.formatTime(this.state.totalTime)}`}\n </Text>\n <Slider\n testID={this.getTestId('slider')}\n step={1}\n style={{flex: 1}}\n value={this.state.currentTime}\n disabled={isWebPreviewMode()}\n onValueChange={this.onSeekChange.bind(this)}\n minimumValue={0}\n inverted={this.isRTL && (Platform.OS==\"android\" || Platform.OS==\"web\")}\n maximumValue={this.state.totalTime || 1}\n thumbTintColor={this.styles.slider.thumb.backgroundColor as string}\n minimumTrackTintColor={this.styles.slider.minimumTrack.backgroundColor as string}\n maximumTrackTintColor={this.styles.slider.maximumTrack.backgroundColor as string}\n />\n </>\n }\n {!props.muted ? (<WmIcon name={props.name + \"_mute\"}\n id={this.getTestId('mute')}\n iconclass=\"wi wi-volume-up fa-2x\"\n styles={this.styles.muteIcon}\n onTap={() => this.mute()}></WmIcon>) :\n (<WmIcon name={props.name + \"_unmute\"}\n id={this.getTestId('unmute')}\n iconclass=\"wi wi-volume-off fa-2x\"\n styles={this.styles.unmuteIcon}\n onTap={() => this.unmute()}></WmIcon>)}\n </View>) : null; \n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import React from 'react';
6
- import { Text, View } from 'react-native';
6
+ import { Text, View, Platform } from 'react-native';
7
7
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
8
8
  import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
9
9
  import { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';
@@ -13,6 +13,9 @@ import { DEFAULT_CLASS } from './label.styles';
13
13
  import { isNil, toString } from 'lodash-es';
14
14
  import { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';
15
15
  import { createSkeleton } from '../skeleton/skeleton.component';
16
+ import { LinearGradient } from 'expo-linear-gradient';
17
+ import MaskedView from '@react-native-masked-view/masked-view';
18
+ import { parseLinearGradient } from '@wavemaker/app-rn-runtime/core/utils';
16
19
  export class WmLabelState extends BaseComponentState {
17
20
  constructor(...args) {
18
21
  super(...args);
@@ -107,51 +110,93 @@ export default class WmLabel extends BaseComponent {
107
110
  });
108
111
  }
109
112
  }
113
+ renderLabelTextContent(navigationService, isHidden = false, hasLinearGradient = false) {
114
+ var _this$styles, _this$state$parts, _this$state$parts2;
115
+ //gradient text support for web
116
+ const gradientTextWebStyle = {
117
+ backgroundImage: (_this$styles = this.styles) === null || _this$styles === void 0 ? void 0 : _this$styles.text.color,
118
+ color: 'transparent',
119
+ backgroundClip: 'text'
120
+ };
121
+ const showWebTextGradient = hasLinearGradient && Platform.OS === 'web';
122
+
123
+ // Shared styles
124
+ const baseStyle = this.styles.text;
125
+ const hiddenStyle = isHidden ? {
126
+ opacity: 0
127
+ } : {};
128
+ const gradientStyle = showWebTextGradient ? gradientTextWebStyle : {};
129
+
130
+ // Determine if it's a single part
131
+ const isSinglePart = this.state.parts.length <= 1;
132
+
133
+ // Compose final style
134
+ const combinedTextStyle = isSinglePart ? {
135
+ ...baseStyle,
136
+ ...hiddenStyle,
137
+ ...gradientStyle
138
+ } : {
139
+ flexWrap: 'wrap',
140
+ textAlign: baseStyle.textAlign,
141
+ ...hiddenStyle,
142
+ ...gradientStyle
143
+ };
144
+ return /*#__PURE__*/React.createElement(Text, _extends({
145
+ style: combinedTextStyle
146
+ }, this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {}, getAccessibilityProps(AccessibilityWidgetType.LABEL, this.state.props), {
147
+ numberOfLines: this.state.props.nooflines,
148
+ ellipsizeMode: "tail"
149
+ }), ((_this$state$parts = this.state.parts) === null || _this$state$parts === void 0 ? void 0 : _this$state$parts.length) === 1 ? toString(this.state.props.caption) : (_this$state$parts2 = this.state.parts) === null || _this$state$parts2 === void 0 ? void 0 : _this$state$parts2.map((part, index) => {
150
+ const isLink = !isNil(part.link);
151
+ return /*#__PURE__*/React.createElement(Text, _extends({
152
+ key: `part_${index}`,
153
+ style: [this.styles.text, isLink ? this.styles.link.text : null, this.state.props.isValid ? null : {
154
+ color: 'red'
155
+ }]
156
+ }, this.getTestPropsForLabel(isLink ? `link_${index}` : `caption_${index}`), {
157
+ selectable: this.styles.text.userSelect === 'text',
158
+ onPress: () => {
159
+ if (part.link) {
160
+ if (part.link.startsWith('http:') || part.link.startsWith('https:') || part.link.startsWith('#')) {
161
+ navigationService.openUrl(part.link, '_blank');
162
+ } else if (part.link.startsWith('javascript:')) {
163
+ const eventName = part.link.substring(11);
164
+ this.invokeEventCallback(eventName, [null, this.proxy]);
165
+ }
166
+ }
167
+ this.invokeEventCallback('onTap', [null, this.proxy]);
168
+ }
169
+ // {...getAccessibilityProps(AccessibilityWidgetType.LABEL, props)}
170
+ }), toString(part.text));
171
+ }), this.state.props.required && this.getAsterisk());
172
+ }
110
173
  renderWidget(props) {
174
+ var _this$styles2;
111
175
  const linkStyles = this.theme.mergeStyle({
112
176
  text: this.styles.text
113
177
  }, this.styles.link);
178
+ const {
179
+ hasLinearGradient,
180
+ start,
181
+ end,
182
+ gradientColors
183
+ } = parseLinearGradient((_this$styles2 = this.styles) === null || _this$styles2 === void 0 ? void 0 : _this$styles2.text.color, true);
114
184
  return !isNil(props.caption) ? /*#__PURE__*/React.createElement(Animatedview, {
115
185
  entryanimation: props.animation,
116
186
  delay: props.animationdelay,
117
187
  style: this.styles.root,
118
188
  onLayout: event => this.handleLayout(event)
119
189
  }, this._background, /*#__PURE__*/React.createElement(NavigationServiceConsumer, null, navigationService => {
120
- var _this$state$parts, _this$state$parts2;
121
190
  return /*#__PURE__*/React.createElement(Tappable, {
122
191
  target: this,
123
192
  disableTouchEffect: this.state.props.disabletoucheffect
124
- }, /*#__PURE__*/React.createElement(Text, _extends({
125
- style: this.state.parts.length <= 1 ? this.styles.text : {
126
- flexWrap: "wrap",
127
- textAlign: this.styles.text.textAlign
128
- }
129
- }, this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {}, getAccessibilityProps(AccessibilityWidgetType.LABEL, props), {
130
- numberOfLines: props.nooflines,
131
- ellipsizeMode: "tail"
132
- }), ((_this$state$parts = this.state.parts) === null || _this$state$parts === void 0 ? void 0 : _this$state$parts.length) === 1 ? toString(this.state.props.caption) : (_this$state$parts2 = this.state.parts) === null || _this$state$parts2 === void 0 ? void 0 : _this$state$parts2.map((part, index) => {
133
- const isLink = !isNil(part.link);
134
- return /*#__PURE__*/React.createElement(Text, _extends({
135
- key: `part_${index}`,
136
- style: [this.styles.text, isLink ? this.styles.link.text : null, props.isValid ? null : {
137
- color: 'red'
138
- }]
139
- }, this.getTestPropsForLabel(isLink ? `link_${index}` : `caption_${index}`), {
140
- selectable: this.styles.text.userSelect === 'text',
141
- onPress: () => {
142
- if (part.link) {
143
- if (part.link.startsWith('http:') || part.link.startsWith('https:') || part.link.startsWith('#')) {
144
- navigationService.openUrl(part.link, '_blank');
145
- } else if (part.link.startsWith('javascript:')) {
146
- const eventName = part.link.substring(11);
147
- this.invokeEventCallback(eventName, [null, this.proxy]);
148
- }
149
- }
150
- this.invokeEventCallback('onTap', [null, this.proxy]);
151
- }
152
- // {...getAccessibilityProps(AccessibilityWidgetType.LABEL, props)}
153
- }), toString(part.text));
154
- }), props.required && this.getAsterisk()));
193
+ }, hasLinearGradient ? /*#__PURE__*/React.createElement(MaskedView, {
194
+ maskElement: this.renderLabelTextContent(navigationService, false, hasLinearGradient)
195
+ }, /*#__PURE__*/React.createElement(LinearGradient, {
196
+ colors: gradientColors,
197
+ start: start,
198
+ end: end
199
+ }, this.renderLabelTextContent(navigationService, true))) : this.renderLabelTextContent(navigationService));
155
200
  })) : null;
156
201
  }
157
202
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","NavigationServiceConsumer","AccessibilityWidgetType","getAccessibilityProps","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","WmLabelState","constructor","args","_defineProperty","WmLabel","props","getAsterisk","createElement","style","styles","asterisk","onPropertyChange","name","$new","$old","updateState","parts","parseCaption","String","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","caption","replace","pattern","linkRegex","captionSplit","split","i","length","isLink","test","part","isNextTextALink","_captionSplit","text","link","push","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","root","skeletonheight","_this$styles$root2","fontSize","multilineskeleton","renderWidget","linkStyles","mergeStyle","entryanimation","animation","delay","animationdelay","onLayout","event","handleLayout","_background","navigationService","_this$state$parts","_this$state$parts2","target","disableTouchEffect","state","disabletoucheffect","_extends","flexWrap","textAlign","getTestPropsForLabel","LABEL","numberOfLines","nooflines","ellipsizeMode","map","index","key","isValid","color","selectable","userSelect","onPress","startsWith","openUrl","eventName","substring","invokeEventCallback","proxy","required"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmLabelProps from './label.props';\nimport { DEFAULT_CLASS, WmLabelStyles } from './label.styles';\nimport { isNil, toString } from 'lodash-es';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\ntype PartType = {\n text?: string,\n link?: string,\n};\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n parts: PartType[] = []\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps(), new WmLabelState());\n }\n\n private getAsterisk () {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n\n switch(name) {\n case \"caption\":\n this.updateState({\n parts: this.parseCaption(String($new))\n } as WmLabelState);\n break;\n }\n }\n private getMultilineSkeleton(width: any, height: any) {\n const styles = {\n borderRadius:4,\n marginBottom: 10,\n height: height\n };\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...styles,\n width: width,\n height: height\n });\n }\n\n parseCaption(caption: string) {\n if (!caption) {\n return [];\n }\n caption += '';\n caption = caption.replace(/\\s*\\(\\s*\\$event,\\s*\\$widget\\s*\\)\\s*/, '');\n caption = caption.replace(/\\(\\s*\\)/, '(#/__EMPTY__)');\n const pattern = /\\[([^\\]]+)\\]\\(([^)]*)\\)/g;\n const linkRegex = /^(((http|https):\\/\\/)|javascript:|#).+$/;\n const captionSplit = caption.split(pattern);\n\n let parts = [];\n\n for (let i = 0; i < captionSplit.length; i++) {\n const isLink = linkRegex.test(captionSplit[i]);\n let part: PartType = {};\n\n const isNextTextALink = linkRegex.test(captionSplit[i + 1]);\n if (isLink) {\n part.text = captionSplit[i - 1] ?? '';\n part.link = captionSplit[i] === '#/__EMPTY__' ? '' : captionSplit[i];\n } else {\n part.text = isNextTextALink ? \"\" : captionSplit[i];\n };\n\n if (part.text) {\n parts.push(part);\n }\n }\n\n return parts;\n }\n\n public renderSkeleton(props: WmLabelProps){\n\n let skeletonWidth, skeletonHeight;\n if(this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height || this.styles.text.fontSize;\n }\n \n if(this.props.multilineskeleton) {\n return (<View style={{\n width: skeletonWidth as DimensionValue\n }}>\n {this.getMultilineSkeleton('100%', skeletonHeight)}\n {this.getMultilineSkeleton('70%', skeletonHeight)}\n {this.getMultilineSkeleton('40%', skeletonHeight)}\n </View>)\n }\n else{\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n }\n\n renderWidget(props: WmLabelProps) {\n const linkStyles = this.theme.mergeStyle({text: this.styles.text}, this.styles.link);\n return !isNil(props.caption) ? (\n <Animatedview \n entryanimation={props.animation} \n delay={props.animationdelay} \n style={this.styles.root}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n >\n {this._background}\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) => {\n return (<Tappable target={this} disableTouchEffect={this.state.props.disabletoucheffect} >\n <Text style={ this.state.parts.length <= 1 ? this.styles.text : {flexWrap: \"wrap\", textAlign: this.styles.text.textAlign}}\n {...this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {}}\n {...getAccessibilityProps(AccessibilityWidgetType.LABEL, props)}\n numberOfLines={props.nooflines} ellipsizeMode=\"tail\">\n {this.state.parts?.length === 1 ? toString(this.state.props.caption) : this.state.parts?.map((part, index) => {\n const isLink = !isNil(part.link);\n return (\n <Text\n key={`part_${index}`}\n style={[\n this.styles.text,\n isLink ? this.styles.link.text : null,\n props.isValid ? null : { color: 'red'}\n ]}\n {...this.getTestPropsForLabel(isLink ? `link_${index}` : `caption_${index}`)}\n selectable={this.styles.text.userSelect === 'text'}\n onPress={() => {\n if (part.link) {\n if (part.link.startsWith('http:')\n || part.link.startsWith('https:')\n || part.link.startsWith('#')) {\n navigationService.openUrl(part.link, '_blank');\n } else if (part.link.startsWith('javascript:')) {\n const eventName = part.link.substring(11);\n this.invokeEventCallback(eventName, [null, this.proxy]);\n }\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n }}\n // {...getAccessibilityProps(AccessibilityWidgetType.LABEL, props)}\n >\n {toString(part.text)}\n </Text>\n );\n })}\n {props.required && this.getAsterisk()}\n </Text>\n </Tappable>)}}\n </NavigationServiceConsumer>\n </Animatedview>\n ) : null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","Platform","BaseComponent","BaseComponentState","Tappable","NavigationServiceConsumer","AccessibilityWidgetType","getAccessibilityProps","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","LinearGradient","MaskedView","parseLinearGradient","WmLabelState","constructor","args","_defineProperty","WmLabel","props","getAsterisk","createElement","style","styles","asterisk","onPropertyChange","name","$new","$old","updateState","parts","parseCaption","String","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","caption","replace","pattern","linkRegex","captionSplit","split","i","length","isLink","test","part","isNextTextALink","_captionSplit","text","link","push","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","root","skeletonheight","_this$styles$root2","fontSize","multilineskeleton","renderLabelTextContent","navigationService","isHidden","hasLinearGradient","_this$styles","_this$state$parts","_this$state$parts2","gradientTextWebStyle","backgroundImage","color","backgroundClip","showWebTextGradient","OS","baseStyle","hiddenStyle","opacity","gradientStyle","isSinglePart","state","combinedTextStyle","flexWrap","textAlign","_extends","getTestPropsForLabel","LABEL","numberOfLines","nooflines","ellipsizeMode","map","index","key","isValid","selectable","userSelect","onPress","startsWith","openUrl","eventName","substring","invokeEventCallback","proxy","required","renderWidget","_this$styles2","linkStyles","mergeStyle","start","end","gradientColors","entryanimation","animation","delay","animationdelay","onLayout","event","handleLayout","_background","target","disableTouchEffect","disabletoucheffect","maskElement","colors"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, Text, View,Platform } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmLabelProps from './label.props';\nimport { DEFAULT_CLASS, WmLabelStyles } from './label.styles';\nimport { isNil, toString } from 'lodash-es';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\nimport { LinearGradient } from 'expo-linear-gradient';\nimport MaskedView from '@react-native-masked-view/masked-view';\nimport { parseLinearGradient } from '@wavemaker/app-rn-runtime/core/utils';\n\n\ntype PartType = {\n text?: string,\n link?: string,\n};\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n parts: PartType[] = []\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps(), new WmLabelState());\n }\n\n private getAsterisk() {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n\n switch (name) {\n case \"caption\":\n this.updateState({\n parts: this.parseCaption(String($new))\n } as WmLabelState);\n break;\n }\n }\n private getMultilineSkeleton(width: any, height: any) {\n const styles = {\n borderRadius: 4,\n marginBottom: 10,\n height: height\n };\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...styles,\n width: width,\n height: height\n });\n }\n\n parseCaption(caption: string) {\n if (!caption) {\n return [];\n }\n caption += '';\n caption = caption.replace(/\\s*\\(\\s*\\$event,\\s*\\$widget\\s*\\)\\s*/, '');\n caption = caption.replace(/\\(\\s*\\)/, '(#/__EMPTY__)');\n const pattern = /\\[([^\\]]+)\\]\\(([^)]*)\\)/g;\n const linkRegex = /^(((http|https):\\/\\/)|javascript:|#).+$/;\n const captionSplit = caption.split(pattern);\n\n let parts = [];\n\n for (let i = 0; i < captionSplit.length; i++) {\n const isLink = linkRegex.test(captionSplit[i]);\n let part: PartType = {};\n\n const isNextTextALink = linkRegex.test(captionSplit[i + 1]);\n if (isLink) {\n part.text = captionSplit[i - 1] ?? '';\n part.link = captionSplit[i] === '#/__EMPTY__' ? '' : captionSplit[i];\n } else {\n part.text = isNextTextALink ? \"\" : captionSplit[i];\n };\n\n if (part.text) {\n parts.push(part);\n }\n }\n\n return parts;\n }\n\n public renderSkeleton(props: WmLabelProps) {\n\n let skeletonWidth, skeletonHeight;\n if (this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if (this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height || this.styles.text.fontSize;\n }\n\n if (this.props.multilineskeleton) {\n return (<View style={{\n width: skeletonWidth as DimensionValue\n }}>\n {this.getMultilineSkeleton('100%', skeletonHeight)}\n {this.getMultilineSkeleton('70%', skeletonHeight)}\n {this.getMultilineSkeleton('40%', skeletonHeight)}\n </View>)\n }\n else {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n }\n\n private renderLabelTextContent(navigationService: NavigationService, isHidden: boolean = false, hasLinearGradient: boolean = false) {\n //gradient text support for web\n const gradientTextWebStyle = {\n backgroundImage: (this.styles?.text.color as string),\n color: 'transparent',\n backgroundClip: 'text',\n }\n const showWebTextGradient = (hasLinearGradient && Platform.OS === 'web');\n\n // Shared styles\n const baseStyle = this.styles.text;\n const hiddenStyle = isHidden ? { opacity: 0 } : {};\n const gradientStyle = showWebTextGradient ? gradientTextWebStyle : {};\n\n // Determine if it's a single part\n const isSinglePart = this.state.parts.length <= 1;\n\n // Compose final style\n const combinedTextStyle = isSinglePart\n ? { ...baseStyle, ...hiddenStyle, ...gradientStyle }\n : {\n flexWrap: 'wrap',\n textAlign: baseStyle.textAlign,\n ...hiddenStyle,\n ...gradientStyle,\n };\n\n\n\n return (\n <Text style={combinedTextStyle}\n {...this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {}}\n {...getAccessibilityProps(AccessibilityWidgetType.LABEL, this.state.props)}\n numberOfLines={this.state.props.nooflines} ellipsizeMode=\"tail\">\n {this.state.parts?.length === 1 ? toString(this.state.props.caption) : this.state.parts?.map((part, index) => {\n const isLink = !isNil(part.link);\n return (\n <Text\n key={`part_${index}`}\n style={[\n this.styles.text,\n isLink ? this.styles.link.text : null,\n this.state.props.isValid ? null : { color: 'red' }\n ]}\n {...this.getTestPropsForLabel(isLink ? `link_${index}` : `caption_${index}`)}\n selectable={this.styles.text.userSelect === 'text'}\n onPress={() => {\n if (part.link) {\n if (part.link.startsWith('http:')\n || part.link.startsWith('https:')\n || part.link.startsWith('#')) {\n navigationService.openUrl(part.link, '_blank');\n } else if (part.link.startsWith('javascript:')) {\n const eventName = part.link.substring(11);\n this.invokeEventCallback(eventName, [null, this.proxy]);\n }\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n }}\n // {...getAccessibilityProps(AccessibilityWidgetType.LABEL, props)}\n >\n {toString(part.text)}\n </Text>\n );\n })}\n {this.state.props.required && this.getAsterisk()}\n </Text>\n )\n\n }\n renderWidget(props: WmLabelProps) {\n const linkStyles = this.theme.mergeStyle({ text: this.styles.text }, this.styles.link);\n const { hasLinearGradient, start, end, gradientColors } = parseLinearGradient((this.styles?.text.color) as string, true);\n\n\n return !isNil(props.caption) ? (\n <Animatedview\n entryanimation={props.animation}\n delay={props.animationdelay}\n style={this.styles.root}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n >\n {this._background}\n <NavigationServiceConsumer>\n {(navigationService: NavigationService) => {\n return (<Tappable target={this} disableTouchEffect={this.state.props.disabletoucheffect} >\n {hasLinearGradient ? <MaskedView\n maskElement={this.renderLabelTextContent(navigationService, false, hasLinearGradient)}\n >\n <LinearGradient colors={gradientColors} start={start} end={end}>\n {this.renderLabelTextContent(navigationService, true)}\n </LinearGradient>\n </MaskedView> : this.renderLabelTextContent(navigationService)}\n </Tappable>)\n }}\n </NavigationServiceConsumer>\n </Animatedview>\n ) : null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -70,7 +70,7 @@ export default class WmMessage extends BaseComponent {
70
70
  style: styles.text
71
71
  }, getAccessibilityProps(AccessibilityWidgetType.MESSAGE, props)), props.caption)), props.hideclose ? null : /*#__PURE__*/React.createElement(WmButton, {
72
72
  id: this.getTestId('close'),
73
- iconclass: "wi wi-close",
73
+ iconclass: props.closeiconclass || "wi wi-close",
74
74
  styles: styles.closeBtn,
75
75
  onTap: this.close
76
76
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmMessageProps","DEFAULT_CLASS","WmIcon","WmButton","Animatedview","AccessibilityWidgetType","getAccessibilityProps","WmMessageState","MESSAGE_ICONS","DEFAULT_TITLE","WmMessage","constructor","props","_defineProperty","updateState","show","invokeEventCallback","showMessage","hideMessage","renderWidget","styles","theme","mergeStyle","getStyle","type","variant","createElement","entryanimation","animation","delay","animationdelay","style","root","onLayout","event","handleLayout","_background","id","getTestId","iconclass","icon","message","_extends","getTestPropsForLabel","title","MESSAGE","text","caption","hideclose","closeBtn","onTap","close"],"sources":["message.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmMessageProps from './message.props';\nimport { DEFAULT_CLASS, WmMessageStyles } from './message.styles';\nimport WmIcon from '../icon/icon.component';\nimport WmButton from '../button/button.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmMessageState extends BaseComponentState<WmMessageProps> {}\n\nconst MESSAGE_ICONS = {\n 'success': 'wm-sl-l sl-check',\n 'warning': 'wm-sl-l sl-alarm-bell',\n 'error': 'fa fa-times-circle',\n 'info': 'wi wi-info',\n 'loading': 'fa fa-spinner fa-spin'\n};\n\nconst DEFAULT_TITLE = {\n 'success': 'Success',\n 'warning': 'Warning',\n 'error': 'Error',\n 'info': 'Info',\n 'loading': 'Processing'\n} as any;\n\nexport default class WmMessage extends BaseComponent<WmMessageProps, WmMessageState, WmMessageStyles> {\n\n constructor(props: WmMessageProps) {\n super(props, DEFAULT_CLASS, new WmMessageProps());\n }\n\n showMessage() {\n this.updateState({\n props: {\n show: true\n }\n } as WmMessageState);\n }\n\n hideMessage() {\n this.updateState({\n props: {\n show: false\n }\n } as WmMessageState);\n }\n\n close = () => {\n this.updateState({props: {\n show : false\n }}, () => this.invokeEventCallback('onClose', [null, this]));\n }\n\n renderWidget(props: WmMessageProps) {\n const styles = this.theme.mergeStyle(this.theme.getStyle(`${props.type}-${props.variant}-message`), this.styles);\n return (\n <Animatedview \n entryanimation={props.animation} \n delay={props.animationdelay} \n style={styles.root}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n >\n {this._background}\n <WmIcon\n id={this.getTestId('icon')}\n iconclass={props.type && MESSAGE_ICONS[props.type]}\n styles={styles.icon}></WmIcon>\n <View style={styles.message}>\n <Text {...this.getTestPropsForLabel('title')} style={styles.title} {...getAccessibilityProps(AccessibilityWidgetType.MESSAGE, props)}>{props.title || DEFAULT_TITLE[props.type || '']}</Text>\n <Text {...this.getTestPropsForLabel('caption')} style={styles.text} {...getAccessibilityProps(AccessibilityWidgetType.MESSAGE, props)}>{props.caption}</Text>\n </View>\n {props.hideclose ? null : (\n <WmButton\n id={this.getTestId('close')}\n iconclass=\"wi wi-close\"\n styles={styles.closeBtn}\n onTap={this.close}></WmButton>\n )}\n </Animatedview>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmMessageProps","DEFAULT_CLASS","WmIcon","WmButton","Animatedview","AccessibilityWidgetType","getAccessibilityProps","WmMessageState","MESSAGE_ICONS","DEFAULT_TITLE","WmMessage","constructor","props","_defineProperty","updateState","show","invokeEventCallback","showMessage","hideMessage","renderWidget","styles","theme","mergeStyle","getStyle","type","variant","createElement","entryanimation","animation","delay","animationdelay","style","root","onLayout","event","handleLayout","_background","id","getTestId","iconclass","icon","message","_extends","getTestPropsForLabel","title","MESSAGE","text","caption","hideclose","closeiconclass","closeBtn","onTap","close"],"sources":["message.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmMessageProps from './message.props';\nimport { DEFAULT_CLASS, WmMessageStyles } from './message.styles';\nimport WmIcon from '../icon/icon.component';\nimport WmButton from '../button/button.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport class WmMessageState extends BaseComponentState<WmMessageProps> {}\n\nconst MESSAGE_ICONS = {\n 'success': 'wm-sl-l sl-check',\n 'warning': 'wm-sl-l sl-alarm-bell',\n 'error': 'fa fa-times-circle',\n 'info': 'wi wi-info',\n 'loading': 'fa fa-spinner fa-spin'\n};\n\nconst DEFAULT_TITLE = {\n 'success': 'Success',\n 'warning': 'Warning',\n 'error': 'Error',\n 'info': 'Info',\n 'loading': 'Processing'\n} as any;\n\nexport default class WmMessage extends BaseComponent<WmMessageProps, WmMessageState, WmMessageStyles> {\n\n constructor(props: WmMessageProps) {\n super(props, DEFAULT_CLASS, new WmMessageProps());\n }\n\n showMessage() {\n this.updateState({\n props: {\n show: true\n }\n } as WmMessageState);\n }\n\n hideMessage() {\n this.updateState({\n props: {\n show: false\n }\n } as WmMessageState);\n }\n\n close = () => {\n this.updateState({props: {\n show : false\n }}, () => this.invokeEventCallback('onClose', [null, this]));\n }\n\n renderWidget(props: WmMessageProps) {\n const styles = this.theme.mergeStyle(this.theme.getStyle(`${props.type}-${props.variant}-message`), this.styles);\n return (\n <Animatedview \n entryanimation={props.animation} \n delay={props.animationdelay} \n style={styles.root}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n >\n {this._background}\n <WmIcon\n id={this.getTestId('icon')}\n iconclass={props.type && MESSAGE_ICONS[props.type]}\n styles={styles.icon}></WmIcon>\n <View style={styles.message}>\n <Text {...this.getTestPropsForLabel('title')} style={styles.title} {...getAccessibilityProps(AccessibilityWidgetType.MESSAGE, props)}>{props.title || DEFAULT_TITLE[props.type || '']}</Text>\n <Text {...this.getTestPropsForLabel('caption')} style={styles.text} {...getAccessibilityProps(AccessibilityWidgetType.MESSAGE, props)}>{props.caption}</Text>\n </View>\n {props.hideclose ? null : (\n <WmButton\n id={this.getTestId('close')}\n iconclass={props.closeiconclass || \"wi wi-close\"}\n styles={styles.closeBtn}\n onTap={this.close}></WmButton>\n )}\n </Animatedview>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,7 @@ export default class WmMessageProps extends BaseProps {
16
16
  _defineProperty(this, "hint", undefined);
17
17
  _defineProperty(this, "accessibilityrole", 'alert');
18
18
  _defineProperty(this, "onClose", void 0);
19
+ _defineProperty(this, "closeiconclass", 'wi wi-close');
19
20
  }
20
21
  }
21
22
  //# sourceMappingURL=message.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmMessageProps","constructor","args","_defineProperty","undefined"],"sources":["message.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmMessageProps extends BaseProps {\n animation?: string = 'fadeIn';\n animationdelay?: number = null as any;\n title?: string = '';\n variant?: string = 'dark'\n caption? = 'Message';\n type?: 'success' | 'warning' | 'error' | 'info' | 'loading' = 'success';\n hideclose? = false;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'alert';\n onClose?: () => void;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,QAAQ;IAAAA,eAAA,yBACH,IAAI;IAAAA,eAAA,gBACb,EAAE;IAAAA,eAAA,kBACA,MAAM;IAAAA,eAAA,kBACd,SAAS;IAAAA,eAAA,eAC0C,SAAS;IAAAA,eAAA,oBAC1D,KAAK;IAAAA,eAAA,6BACYC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,OAAO;IAAAA,eAAA;EAAA;AAEjD","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmMessageProps","constructor","args","_defineProperty","undefined"],"sources":["message.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmMessageProps extends BaseProps {\n animation?: string = 'fadeIn';\n animationdelay?: number = null as any;\n title?: string = '';\n variant?: string = 'dark'\n caption? = 'Message';\n type?: 'success' | 'warning' | 'error' | 'info' | 'loading' = 'success';\n hideclose? = false;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'alert';\n onClose?: () => void;\n closeiconclass?: string = 'wi wi-close';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,QAAQ;IAAAA,eAAA,yBACH,IAAI;IAAAA,eAAA,gBACb,EAAE;IAAAA,eAAA,kBACA,MAAM;IAAAA,eAAA,kBACd,SAAS;IAAAA,eAAA,eAC0C,SAAS;IAAAA,eAAA,oBAC1D,KAAK;IAAAA,eAAA,6BACYC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,OAAO;IAAAA,eAAA;IAAAA,eAAA,yBAErB,aAAa;EAAA;AACzC","ignoreList":[]}
@@ -4,7 +4,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import React from 'react';
6
6
  import { Image, View } from 'react-native';
7
- // import { NumberProp, SvgUri } from 'react-native-svg';
7
+ import { Image as EXPOImage } from 'expo-image';
8
8
  import { isNumber } from 'lodash-es';
9
9
  import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
10
10
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
@@ -27,8 +27,8 @@ export class WmPictureState extends BaseComponentState {
27
27
  }
28
28
  }
29
29
  export default class WmPicture extends BaseComponent {
30
- constructor(_props) {
31
- super(_props, DEFAULT_CLASS, new WmPictureProps());
30
+ constructor(props) {
31
+ super(props, DEFAULT_CLASS, new WmPictureProps());
32
32
  _defineProperty(this, "_pictureSource", null);
33
33
  _defineProperty(this, "_picturePlaceHolder", null);
34
34
  // The below property will be used to track and remove the calculateImageSize listenrs of individual picturesource
@@ -60,10 +60,7 @@ export default class WmPicture extends BaseComponent {
60
60
  });
61
61
  });
62
62
  _defineProperty(this, "showImage", (imageElement, props) => {
63
- if (props.fastload) {
64
- return imageElement;
65
- }
66
- return this.state.imageWidth ? imageElement : null;
63
+ return imageElement;
67
64
  });
68
65
  }
69
66
  loadImage(image) {
@@ -74,9 +71,9 @@ export default class WmPicture extends BaseComponent {
74
71
  if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {
75
72
  return null;
76
73
  }
77
- if (this.state.props.aspectratio) {
78
- return imageSrc;
79
- }
74
+ // if(this.state.props.aspectratio) {
75
+ // return imageSrc;
76
+ // }
80
77
  if (isNumber(imageSrc)) {
81
78
  const {
82
79
  width,
@@ -164,9 +161,19 @@ export default class WmPicture extends BaseComponent {
164
161
  source = imgSrc;
165
162
  }
166
163
  if (this.state.naturalImageWidth || this.state.props.aspectratio) {
167
- elementToshow = /*#__PURE__*/React.createElement(Image, _extends({}, this.getTestProps('picture'), {
168
- style: [this.styles.picture, shapeStyles.picture],
169
- resizeMode: props.resizemode,
164
+ elementToshow =
165
+ /*#__PURE__*/
166
+ // * INFO: if any issue arises like freezing of application because of
167
+ // * rendering large number of images, check the cache policy.
168
+ React.createElement(EXPOImage, _extends({
169
+ cachePolicy: "memory-disk"
170
+ }, this.getTestProps('picture'), {
171
+ style: [this.styles.picture, shapeStyles.picture, props.fastload || this.state.imageWidth ? {
172
+ opacity: 1
173
+ } : {
174
+ opacity: 0
175
+ }],
176
+ contentFit: props.resizemode,
170
177
  source: source
171
178
  }, getAccessibilityProps(AccessibilityWidgetType.PICTURE, props)));
172
179
  }