@wavemaker/app-rn-runtime 11.12.0-rc.6240 → 11.12.1-rc.221

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/components/basic/audio/audio.component.js +52 -47
  2. package/components/basic/audio/audio.component.js.map +1 -1
  3. package/components/basic/label/label.component.js +120 -5
  4. package/components/basic/label/label.component.js.map +1 -1
  5. package/components/basic/label/label.props.js +2 -0
  6. package/components/basic/label/label.props.js.map +1 -1
  7. package/components/basic/video/video.component.js +89 -64
  8. package/components/basic/video/video.component.js.map +1 -1
  9. package/components/container/tabs/tabs.component.js +1 -0
  10. package/components/container/tabs/tabs.component.js.map +1 -1
  11. package/components/container/wizard/wizard.component.js +77 -8
  12. package/components/container/wizard/wizard.component.js.map +1 -1
  13. package/components/container/wizard/wizard.styles.js +86 -1
  14. package/components/container/wizard/wizard.styles.js.map +1 -1
  15. package/components/device/barcodescanner/barcodescanner.component.js +29 -18
  16. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  17. package/components/device/camera/camera.component.js +28 -19
  18. package/components/device/camera/camera.component.js.map +1 -1
  19. package/components/input/chips/chips.component.js +50 -9
  20. package/components/input/chips/chips.component.js.map +1 -1
  21. package/components/input/chips/chips.props.js +11 -0
  22. package/components/input/chips/chips.props.js.map +1 -1
  23. package/components/input/chips/chips.styles.js +64 -0
  24. package/components/input/chips/chips.styles.js.map +1 -1
  25. package/components/input/fileupload/fileupload.component.js +17 -13
  26. package/components/input/fileupload/fileupload.component.js.map +1 -1
  27. package/core/base.component.js +11 -0
  28. package/core/base.component.js.map +1 -1
  29. package/core/device/av-service.js +8 -0
  30. package/core/device/av-service.js.map +1 -0
  31. package/core/device/calendar-service.js +7 -1
  32. package/core/device/calendar-service.js.map +1 -1
  33. package/core/device/camera-service.js +6 -0
  34. package/core/device/camera-service.js.map +1 -1
  35. package/core/device/contacts-service.js +7 -1
  36. package/core/device/contacts-service.js.map +1 -1
  37. package/core/device/fileupload-service.js +8 -0
  38. package/core/device/fileupload-service.js.map +1 -0
  39. package/core/device/location-service.js +7 -1
  40. package/core/device/location-service.js.map +1 -1
  41. package/core/device/openfile-service.js +10 -0
  42. package/core/device/openfile-service.js.map +1 -0
  43. package/core/device/scan-service.js +6 -0
  44. package/core/device/scan-service.js.map +1 -1
  45. package/core/utils.js +0 -6
  46. package/core/utils.js.map +1 -1
  47. package/npm-shrinkwrap.json +5155 -4191
  48. package/package-lock.json +5155 -4191
  49. package/package.json +4 -4
  50. package/runtime/services/device/calendar-service.js +9 -5
  51. package/runtime/services/device/calendar-service.js.map +1 -1
  52. package/runtime/services/device/camera-service.js +39 -22
  53. package/runtime/services/device/camera-service.js.map +1 -1
  54. package/runtime/services/device/contacts-service.js +6 -5
  55. package/runtime/services/device/contacts-service.js.map +1 -1
  56. package/runtime/services/device/location-service.js +4 -4
  57. package/runtime/services/device/location-service.js.map +1 -1
  58. package/runtime/services/device/permission-service.js +5 -0
  59. package/runtime/services/device/permission-service.js.map +1 -0
  60. package/runtime/services/device/permissions.js +34 -39
  61. package/runtime/services/device/permissions.js.map +1 -1
  62. package/runtime/services/device/scan-service.js +4 -3
  63. package/runtime/services/device/scan-service.js.map +1 -1
  64. package/variables/device/calendar/create-event.operation.js +8 -2
  65. package/variables/device/calendar/create-event.operation.js.map +1 -1
  66. package/variables/device/calendar/delete-event.operation.js +8 -2
  67. package/variables/device/calendar/delete-event.operation.js.map +1 -1
  68. package/variables/device/calendar/get-events.operation.js +8 -2
  69. package/variables/device/calendar/get-events.operation.js.map +1 -1
  70. package/variables/device/camera/capture-image.operation.js +6 -2
  71. package/variables/device/camera/capture-image.operation.js.map +1 -1
  72. package/variables/device/camera/capture-video.operation.js +5 -2
  73. package/variables/device/camera/capture-video.operation.js.map +1 -1
  74. package/variables/device/contacts/get-contacts.operation.js +8 -2
  75. package/variables/device/contacts/get-contacts.operation.js.map +1 -1
  76. package/variables/device/device/current-geo-position.operation.js +8 -2
  77. package/variables/device/device/current-geo-position.operation.js.map +1 -1
  78. package/variables/device/file/open-file.operation.js +9 -9
  79. package/variables/device/file/open-file.operation.js.map +1 -1
  80. package/variables/device/file/upload-file.operation.js +5 -2
  81. package/variables/device/file/upload-file.operation.js.map +1 -1
  82. package/variables/device/scan/scan.operation.js +8 -2
  83. package/variables/device/scan/scan.operation.js.map +1 -1
  84. package/variables/http.service.js +1 -6
  85. package/variables/http.service.js.map +1 -1
@@ -5,13 +5,13 @@ import React from 'react';
5
5
  import { Platform, Text, View } from 'react-native';
6
6
  import Slider from '@react-native-community/slider';
7
7
  import { isString } from 'lodash-es';
8
- import { Audio } from 'expo-av';
9
8
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
10
9
  import WmAudioProps from './audio.props';
11
10
  import { DEFAULT_CLASS } from './audio.styles';
12
11
  import WmIcon from '../icon/icon.component';
13
12
  import { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
14
13
  import { createSkeleton } from '../skeleton/skeleton.component';
14
+ import { AudioConsumer } from '@wavemaker/app-rn-runtime/core/device/av-service';
15
15
  export class WmAudioState extends BaseComponentState {
16
16
  constructor(...args) {
17
17
  super(...args);
@@ -24,9 +24,11 @@ export default class WmAudio extends BaseComponent {
24
24
  constructor(props) {
25
25
  super(props, DEFAULT_CLASS, new WmAudioProps(), new WmAudioState());
26
26
  _defineProperty(this, "loading", false);
27
+ // private sound: Sound = null as any;
27
28
  _defineProperty(this, "sound", null);
28
29
  _defineProperty(this, "timer", void 0);
29
30
  _defineProperty(this, "offsetTime", 0);
31
+ _defineProperty(this, "audioService", null);
30
32
  }
31
33
  onPropertyChange(name, $new, $old) {
32
34
  super.onPropertyChange(name, $new, $old);
@@ -125,7 +127,7 @@ export default class WmAudio extends BaseComponent {
125
127
  } else {
126
128
  this.loading = true;
127
129
  const source = this.getSource();
128
- source && Audio.Sound.createAsync(source, {
130
+ source && this.audioService.createAudio(source, {
129
131
  isMuted: this.state.props.muted
130
132
  }).then(res => {
131
133
  this.sound = res.sound;
@@ -202,51 +204,54 @@ export default class WmAudio extends BaseComponent {
202
204
  });
203
205
  }
204
206
  renderWidget(props) {
205
- return props.controls ? /*#__PURE__*/React.createElement(View, {
206
- style: this.styles.root,
207
- onLayout: event => this.handleLayout(event)
208
- }, this._background, !this.state.playing ? /*#__PURE__*/React.createElement(WmIcon, {
209
- id: this.getTestId('play'),
210
- name: props.name + "_play",
211
- styles: this.styles.playIcon,
212
- iconclass: "wi wi-play-arrow fa-2x",
213
- onTap: () => this.play()
214
- }) : /*#__PURE__*/React.createElement(WmIcon, {
215
- name: props.name + "_pause",
216
- id: this.getTestId('pause'),
217
- iconclass: "wi wi-pause fa-2x",
218
- styles: this.styles.pauseIcon,
219
- onTap: () => this.pause()
220
- }), this._showSkeleton ? this.renderTextSkeleton() : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
221
- style: this.styles.text
222
- }, `${this.formatTime(this.state.currentTime)} / ${this.formatTime(this.state.totalTime)}`), /*#__PURE__*/React.createElement(Slider, {
223
- testID: this.getTestId('slider'),
224
- step: 1,
225
- style: {
226
- flex: 1
227
- },
228
- value: this.state.currentTime,
229
- disabled: isWebPreviewMode(),
230
- onValueChange: this.onSeekChange.bind(this),
231
- minimumValue: 0,
232
- inverted: this.isRTL && (Platform.OS == "android" || Platform.OS == "web"),
233
- maximumValue: this.state.totalTime || 1,
234
- thumbTintColor: this.styles.slider.thumb.backgroundColor,
235
- minimumTrackTintColor: this.styles.slider.minimumTrack.backgroundColor,
236
- maximumTrackTintColor: this.styles.slider.maximumTrack.backgroundColor
237
- })), !props.muted ? /*#__PURE__*/React.createElement(WmIcon, {
238
- name: props.name + "_mute",
239
- id: this.getTestId('mute'),
240
- iconclass: "wi wi-volume-up fa-2x",
241
- styles: this.styles.muteIcon,
242
- onTap: () => this.mute()
243
- }) : /*#__PURE__*/React.createElement(WmIcon, {
244
- name: props.name + "_unmute",
245
- id: this.getTestId('unmute'),
246
- iconclass: "wi wi-volume-off fa-2x",
247
- styles: this.styles.unmuteIcon,
248
- onTap: () => this.unmute()
249
- })) : null;
207
+ return props.controls ? /*#__PURE__*/React.createElement(AudioConsumer, null, audioService => {
208
+ this.audioService = audioService;
209
+ return /*#__PURE__*/React.createElement(View, {
210
+ style: this.styles.root,
211
+ onLayout: event => this.handleLayout(event)
212
+ }, this._background, !this.state.playing ? /*#__PURE__*/React.createElement(WmIcon, {
213
+ id: this.getTestId('play'),
214
+ name: props.name + "_play",
215
+ styles: this.styles.playIcon,
216
+ iconclass: "wi wi-play-arrow fa-2x",
217
+ onTap: () => this.play()
218
+ }) : /*#__PURE__*/React.createElement(WmIcon, {
219
+ name: props.name + "_pause",
220
+ id: this.getTestId('pause'),
221
+ iconclass: "wi wi-pause fa-2x",
222
+ styles: this.styles.pauseIcon,
223
+ onTap: () => this.pause()
224
+ }), this._showSkeleton ? this.renderTextSkeleton() : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
225
+ style: this.styles.text
226
+ }, `${this.formatTime(this.state.currentTime)} / ${this.formatTime(this.state.totalTime)}`), /*#__PURE__*/React.createElement(Slider, {
227
+ testID: this.getTestId('slider'),
228
+ step: 1,
229
+ style: {
230
+ flex: 1
231
+ },
232
+ value: this.state.currentTime,
233
+ disabled: isWebPreviewMode(),
234
+ onValueChange: this.onSeekChange.bind(this),
235
+ minimumValue: 0,
236
+ inverted: this.isRTL && (Platform.OS == "android" || Platform.OS == "web"),
237
+ maximumValue: this.state.totalTime || 1,
238
+ thumbTintColor: this.styles.slider.thumb.backgroundColor,
239
+ minimumTrackTintColor: this.styles.slider.minimumTrack.backgroundColor,
240
+ maximumTrackTintColor: this.styles.slider.maximumTrack.backgroundColor
241
+ })), !props.muted ? /*#__PURE__*/React.createElement(WmIcon, {
242
+ name: props.name + "_mute",
243
+ id: this.getTestId('mute'),
244
+ iconclass: "wi wi-volume-up fa-2x",
245
+ styles: this.styles.muteIcon,
246
+ onTap: () => this.mute()
247
+ }) : /*#__PURE__*/React.createElement(WmIcon, {
248
+ name: props.name + "_unmute",
249
+ id: this.getTestId('unmute'),
250
+ iconclass: "wi wi-volume-off fa-2x",
251
+ styles: this.styles.unmuteIcon,
252
+ onTap: () => this.unmute()
253
+ }));
254
+ }) : null;
250
255
  }
251
256
  }
252
257
  //# sourceMappingURL=audio.component.js.map
@@ -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 renderWidget(props: WmAudioProps) {\n return props.controls ? (\n <View 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","BaseComponent","BaseComponentState","WmAudioProps","DEFAULT_CLASS","WmIcon","isWebPreviewMode","createSkeleton","AudioConsumer","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","audioService","createAudio","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 { 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';\nimport { AudioConsumer, AudioService } from '@wavemaker/app-rn-runtime/core/device/av-service';\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 private loading = false;\n // private sound: Sound = null as any;\n private sound: any = null as any;\n private timer: any;\n private offsetTime = 0;\n private audioService: AudioService = null as any;\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 && this.audioService.createAudio(source, {\n isMuted: this.state.props.muted\n })\n .then((res: any) => {\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 <AudioConsumer>\n {(audioService: any) => {\n this.audioService = audioService;\n return <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\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>\n }}\n </AudioConsumer>) : 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, Platform } from 'react-native';
6
+ import { Text, View, Platform, Animated } 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';
@@ -39,7 +39,8 @@ export default class WmLabel extends BaseComponent {
39
39
  switch (name) {
40
40
  case "caption":
41
41
  this.updateState({
42
- parts: this.parseCaption(String($new))
42
+ parts: this.parseCaption(String($new)),
43
+ animationId: Date.now()
43
44
  });
44
45
  break;
45
46
  }
@@ -177,8 +178,116 @@ export default class WmLabel extends BaseComponent {
177
178
  }
178
179
  return numOfLines;
179
180
  }
181
+
182
+ // Helpers to dedupe common logic
183
+ tokenizeWords(text) {
184
+ return (text ? text.split(/(\s+)/) : []).filter(t => t !== '').map(t => ({
185
+ token: t,
186
+ isSpace: /^\s+$/.test(t)
187
+ }));
188
+ }
189
+ isTextAnimationExists() {
190
+ return this.state.props.textanimation === 'fadeIn';
191
+ }
192
+ getWordAnimConfig() {
193
+ var _Number;
194
+ const step = (_Number = Number(this.state.props.animationspeed)) !== null && _Number !== void 0 ? _Number : 80;
195
+ const fadeDuration = Math.max(120, step * 2);
196
+ return {
197
+ step,
198
+ fadeDuration
199
+ };
200
+ }
201
+ renderWordswithAnimation(navigationService, isHidden) {
202
+ var _this$state$parts;
203
+ const shouldAnimate = this.isTextAnimationExists();
204
+ const {
205
+ step,
206
+ fadeDuration
207
+ } = this.getWordAnimConfig();
208
+ let runningIndex = 0;
209
+ const containerStyle = {
210
+ flexDirection: 'row',
211
+ flexWrap: 'wrap',
212
+ alignItems: 'flex-start',
213
+ opacity: isHidden ? 0 : 1,
214
+ width: '100%'
215
+ };
216
+ const getBaseStyle = part => [this.styles.text, part.link ? this.styles.link.text : null, part.bold ? {
217
+ fontWeight: 'bold'
218
+ } : null, this.state.props.isValid ? null : {
219
+ color: 'red'
220
+ }];
221
+ const onTokenPress = part => {
222
+ if (part.link) {
223
+ if (part.link.startsWith('http:') || part.link.startsWith('https:') || part.link.startsWith('#')) {
224
+ navigationService.openUrl(part.link, '_blank');
225
+ } else if (part.link.startsWith('javascript:')) {
226
+ const eventName = part.link.substring(11);
227
+ this.invokeEventCallback(eventName, [null, this.proxy]);
228
+ }
229
+ }
230
+ this.invokeEventCallback('onTap', [null, this.proxy]);
231
+ };
232
+ const renderToken = (part, t, key) => {
233
+ if (t.isSpace) return /*#__PURE__*/React.createElement(Text, {
234
+ key: key,
235
+ style: this.styles.text
236
+ }, t.token);
237
+ const baseStyle = getBaseStyle(part);
238
+ if (!shouldAnimate) {
239
+ return /*#__PURE__*/React.createElement(Text, {
240
+ key: key,
241
+ style: baseStyle,
242
+ onPress: () => onTokenPress(part)
243
+ }, t.token);
244
+ }
245
+ const opacity = new Animated.Value(0);
246
+ const delay = step * runningIndex++;
247
+ Animated.timing(opacity, {
248
+ toValue: 1,
249
+ duration: fadeDuration,
250
+ delay,
251
+ useNativeDriver: true
252
+ }).start();
253
+ return /*#__PURE__*/React.createElement(Animated.Text, {
254
+ key: key,
255
+ style: [baseStyle, {
256
+ opacity
257
+ }],
258
+ onPress: () => onTokenPress(part)
259
+ }, t.token);
260
+ };
261
+ return /*#__PURE__*/React.createElement(View, _extends({
262
+ style: containerStyle
263
+ }, getAccessibilityProps(AccessibilityWidgetType.LABEL, this.state.props), this.getTestPropsForLabel('caption')), (_this$state$parts = this.state.parts) === null || _this$state$parts === void 0 ? void 0 : _this$state$parts.flatMap((part, pIdx) => {
264
+ var _raw$;
265
+ const raw = this.tokenizeWords(toString(part.text));
266
+ const merged = [];
267
+ const leadingSpace = !!((_raw$ = raw[0]) !== null && _raw$ !== void 0 && _raw$.isSpace);
268
+ let firstWordEmitted = false;
269
+ for (let i = 0; i < raw.length; i++) {
270
+ var _raw;
271
+ const tk = raw[i];
272
+ if (tk.isSpace) {
273
+ continue;
274
+ }
275
+ const nextIsSpace = !!((_raw = raw[i + 1]) !== null && _raw !== void 0 && _raw.isSpace);
276
+ const prefix = !firstWordEmitted && leadingSpace ? ' ' : '';
277
+ merged.push({
278
+ token: prefix + tk.token + (nextIsSpace ? ' ' : ''),
279
+ isSpace: false
280
+ });
281
+ firstWordEmitted = true;
282
+ if (nextIsSpace) {
283
+ i++;
284
+ }
285
+ }
286
+ return merged.map((t, i) => renderToken(part, t, `p${pIdx}_${i}`));
287
+ }), this.state.props.required && this.getAsterisk());
288
+ }
180
289
  renderLabelTextContent(navigationService, isHidden = false, hasLinearGradient = false) {
181
- var _this$styles, _this$state$parts, _this$state$parts2;
290
+ var _this$styles, _this$state$parts2, _this$state$parts3;
182
291
  //gradient text support for web
183
292
  const gradientTextWebStyle = {
184
293
  backgroundImage: (_this$styles = this.styles) === null || _this$styles === void 0 ? void 0 : _this$styles.text.color,
@@ -198,6 +307,10 @@ export default class WmLabel extends BaseComponent {
198
307
 
199
308
  // Determine if it's a single part
200
309
  const isSinglePart = this.state.parts.length <= 1;
310
+ // if numOfLines is exists then the animation won't work.
311
+ if (numOfLines === undefined && this.isTextAnimationExists()) {
312
+ return this.renderWordswithAnimation(navigationService, isHidden);
313
+ }
201
314
  if (useAndroidEllipsis) {
202
315
  const androidEllipsisTextStyle = {
203
316
  ...baseStyle,
@@ -207,11 +320,13 @@ export default class WmLabel extends BaseComponent {
207
320
  width: '100%',
208
321
  textAlign: baseStyle.textAlign
209
322
  };
323
+ // Keep single-string content in Android ellipsis branch to ensure reliable truncation
324
+ const content = this.state.parts.length === 1 ? toString(this.state.props.caption) : this.state.parts.map(part => toString(part.text)).join('');
210
325
  return /*#__PURE__*/React.createElement(Text, _extends({
211
326
  style: androidEllipsisTextStyle,
212
327
  numberOfLines: numOfLines,
213
328
  ellipsizeMode: "tail"
214
- }, this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {}, getAccessibilityProps(AccessibilityWidgetType.LABEL, this.state.props)), this.state.parts.length === 1 ? toString(this.state.props.caption) : this.state.parts.map(part => toString(part.text)).join(''), this.state.props.required && this.getAsterisk());
329
+ }, this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {}, getAccessibilityProps(AccessibilityWidgetType.LABEL, this.state.props)), content, this.state.props.required && this.getAsterisk());
215
330
  }
216
331
 
217
332
  // Compose final style
@@ -230,7 +345,7 @@ export default class WmLabel extends BaseComponent {
230
345
  }, this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {}, getAccessibilityProps(AccessibilityWidgetType.LABEL, this.state.props), {
231
346
  numberOfLines: numOfLines,
232
347
  ellipsizeMode: "tail"
233
- }), ((_this$state$parts = this.state.parts) === null || _this$state$parts === void 0 ? void 0 : _this$state$parts.length) === 1 && !this.state.parts[0].link && !this.state.parts[0].bold ? 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) => {
348
+ }), ((_this$state$parts2 = this.state.parts) === null || _this$state$parts2 === void 0 ? void 0 : _this$state$parts2.length) === 1 && !this.state.parts[0].link && !this.state.parts[0].bold ? toString(this.state.props.caption) : (_this$state$parts3 = this.state.parts) === null || _this$state$parts3 === void 0 ? void 0 : _this$state$parts3.map((part, index) => {
234
349
  const isLink = !isNil(part.link);
235
350
  return /*#__PURE__*/React.createElement(Text, _extends({
236
351
  key: `part_${index}`,
@@ -1 +1 @@
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","updateState","parts","parseCaption","caption","getAsterisk","createElement","style","styles","asterisk","onPropertyChange","name","$new","$old","String","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","replace","lastIndex","match","pattern","exec","index","push","text","substring","undefined","boldContent","linkPattern","linkMatch","beforeLink","bold","link","afterLink","length","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","root","skeletonheight","_this$styles$root2","fontSize","multilineskeleton","shouldUseAndroidEllipsis","OS","enableandroidellipsis","getNumberOfLines","numOfLines","wrap","nooflines","renderLabelTextContent","navigationService","isHidden","hasLinearGradient","_this$styles","_this$state$parts","_this$state$parts2","gradientTextWebStyle","backgroundImage","color","backgroundClip","showWebTextGradient","state","useAndroidEllipsis","baseStyle","hiddenStyle","opacity","gradientStyle","isSinglePart","androidEllipsisTextStyle","userSelect","textAlign","_extends","numberOfLines","ellipsizeMode","getTestPropsForLabel","LABEL","map","part","join","required","combinedTextStyle","flexWrap","isLink","key","fontWeight","isValid","selectable","onPress","startsWith","openUrl","eventName","invokeEventCallback","proxy","renderWidget","_this$styles2","linkStyles","mergeStyle","start","end","gradientColors","colorStops","entryanimation","animation","delay","animationdelay","onLayout","event","handleLayout","_background","target","disableTouchEffect","disabletoucheffect","maskElement","colors","locations"],"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 bold?: boolean;\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 this.updateState({\n parts: this.parseCaption(props.caption || '')\n } as 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 \n let parts: PartType[] = [];\n let lastIndex = 0;\n let match;\n \n // Updated pattern to handle asterisks properly - using lazy matching and proper boundaries\n const pattern = /\\*\\*(.*?)\\*\\*|\\[([^\\]]+)\\]\\(([^)]*)\\)/g;\n \n while ((match = pattern.exec(caption)) !== null) {\n // Add any text before the match\n if (match.index > lastIndex) {\n parts.push({ text: caption.substring(lastIndex, match.index) });\n }\n \n if (match[1] !== undefined) {\n // This is a bold section (first capture group)\n const boldContent = match[1];\n \n // Check if the bold content contains a link\n const linkPattern = /\\[([^\\]]+)\\]\\(([^)]*)\\)/;\n const linkMatch = boldContent.match(linkPattern);\n \n if (linkMatch) {\n // If there's text before the link\n const beforeLink = boldContent.substring(0, linkMatch.index);\n if (beforeLink) {\n parts.push({ text: beforeLink, bold: true });\n }\n \n // Add the link part\n parts.push({ text: linkMatch[1], link: linkMatch[2], bold: true });\n \n // If there's text after the link\n if(linkMatch.index !== undefined) {\n const afterLink = boldContent.substring(linkMatch.index + linkMatch[0].length);\n if (afterLink) {\n parts.push({ text: afterLink, bold: true });\n } \n }\n } else {\n // If no link, just add the entire content as bold\n parts.push({ text: boldContent, bold: true });\n }\n } else if (match[2] !== undefined && match[3] !== undefined) {\n // This is a standalone link (second and third capture groups)\n parts.push({ text: match[2], link: match[3] });\n }\n \n lastIndex = pattern.lastIndex;\n }\n \n // Add any remaining text after the last match\n if (lastIndex < caption.length) {\n parts.push({ text: caption.substring(lastIndex) });\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 private shouldUseAndroidEllipsis(props: WmLabelProps): boolean {\n return Platform.OS === 'android' && props.enableandroidellipsis !== false;\n }\n\n // Helper to get the proper number of lines\n private getNumberOfLines(props: WmLabelProps): number | undefined {\n let numOfLines: number | undefined = undefined;\n if (props.wrap === false) {\n numOfLines = 1;\n } else if (typeof props.nooflines === 'number' && props.nooflines > 0) {\n numOfLines = props.nooflines;\n }\n return numOfLines;\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 const numOfLines = this.getNumberOfLines(this.state.props);\n const useAndroidEllipsis = this.shouldUseAndroidEllipsis(this.state.props);\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 if (useAndroidEllipsis) {\n const androidEllipsisTextStyle: any = {\n ...baseStyle,\n ...hiddenStyle,\n ...gradientStyle,\n userSelect: 'none',\n width: '100%',\n textAlign: baseStyle.textAlign,\n };\n return (\n <Text\n style={androidEllipsisTextStyle}\n numberOfLines={numOfLines}\n ellipsizeMode=\"tail\"\n {...(this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {})}\n {...getAccessibilityProps(AccessibilityWidgetType.LABEL, this.state.props)}\n >\n {this.state.parts.length === 1\n ? toString(this.state.props.caption)\n : this.state.parts.map(part => toString(part.text)).join('')}\n {this.state.props.required && this.getAsterisk()}\n </Text>\n );\n } \n\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={numOfLines} ellipsizeMode=\"tail\">\n {(this.state.parts?.length === 1 && !this.state.parts[0].link && !this.state.parts[0].bold) ? 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 part.bold ? { fontWeight: 'bold'} : 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,colorStops } = parseLinearGradient((this.styles?.text.color) as string);\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} locations={colorStops.length > 0 ? colorStops : undefined}>\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":[]}
1
+ {"version":3,"names":["React","Text","View","Platform","Animated","BaseComponent","BaseComponentState","Tappable","NavigationServiceConsumer","AccessibilityWidgetType","getAccessibilityProps","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","LinearGradient","MaskedView","parseLinearGradient","WmLabelState","constructor","args","_defineProperty","WmLabel","props","updateState","parts","parseCaption","caption","getAsterisk","createElement","style","styles","asterisk","onPropertyChange","name","$new","$old","String","animationId","Date","now","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","replace","lastIndex","match","pattern","exec","index","push","text","substring","undefined","boldContent","linkPattern","linkMatch","beforeLink","bold","link","afterLink","length","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","root","skeletonheight","_this$styles$root2","fontSize","multilineskeleton","shouldUseAndroidEllipsis","OS","enableandroidellipsis","getNumberOfLines","numOfLines","wrap","nooflines","tokenizeWords","split","filter","t","map","token","isSpace","test","isTextAnimationExists","state","textanimation","getWordAnimConfig","_Number","step","Number","animationspeed","fadeDuration","Math","max","renderWordswithAnimation","navigationService","isHidden","_this$state$parts","shouldAnimate","runningIndex","containerStyle","flexDirection","flexWrap","alignItems","opacity","getBaseStyle","part","fontWeight","isValid","color","onTokenPress","startsWith","openUrl","eventName","invokeEventCallback","proxy","renderToken","key","baseStyle","onPress","Value","delay","timing","toValue","duration","useNativeDriver","start","_extends","LABEL","getTestPropsForLabel","flatMap","pIdx","_raw$","raw","merged","leadingSpace","firstWordEmitted","i","_raw","tk","nextIsSpace","prefix","required","renderLabelTextContent","hasLinearGradient","_this$styles","_this$state$parts2","_this$state$parts3","gradientTextWebStyle","backgroundImage","backgroundClip","showWebTextGradient","useAndroidEllipsis","hiddenStyle","gradientStyle","isSinglePart","androidEllipsisTextStyle","userSelect","textAlign","content","join","numberOfLines","ellipsizeMode","combinedTextStyle","isLink","selectable","renderWidget","_this$styles2","linkStyles","mergeStyle","end","gradientColors","colorStops","entryanimation","animation","animationdelay","onLayout","event","handleLayout","_background","target","disableTouchEffect","disabletoucheffect","maskElement","colors","locations"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, Text, View,Platform, Animated } 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 bold?: boolean;\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 this.updateState({\n parts: this.parseCaption(props.caption || '')\n } as 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 animationId: Date.now()\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 \n let parts: PartType[] = [];\n let lastIndex = 0;\n let match;\n \n // Updated pattern to handle asterisks properly - using lazy matching and proper boundaries\n const pattern = /\\*\\*(.*?)\\*\\*|\\[([^\\]]+)\\]\\(([^)]*)\\)/g;\n \n while ((match = pattern.exec(caption)) !== null) {\n // Add any text before the match\n if (match.index > lastIndex) {\n parts.push({ text: caption.substring(lastIndex, match.index) });\n }\n \n if (match[1] !== undefined) {\n // This is a bold section (first capture group)\n const boldContent = match[1];\n \n // Check if the bold content contains a link\n const linkPattern = /\\[([^\\]]+)\\]\\(([^)]*)\\)/;\n const linkMatch = boldContent.match(linkPattern);\n \n if (linkMatch) {\n // If there's text before the link\n const beforeLink = boldContent.substring(0, linkMatch.index);\n if (beforeLink) {\n parts.push({ text: beforeLink, bold: true });\n }\n \n // Add the link part\n parts.push({ text: linkMatch[1], link: linkMatch[2], bold: true });\n \n // If there's text after the link\n if(linkMatch.index !== undefined) {\n const afterLink = boldContent.substring(linkMatch.index + linkMatch[0].length);\n if (afterLink) {\n parts.push({ text: afterLink, bold: true });\n } \n }\n } else {\n // If no link, just add the entire content as bold\n parts.push({ text: boldContent, bold: true });\n }\n } else if (match[2] !== undefined && match[3] !== undefined) {\n // This is a standalone link (second and third capture groups)\n parts.push({ text: match[2], link: match[3] });\n }\n \n lastIndex = pattern.lastIndex;\n }\n \n // Add any remaining text after the last match\n if (lastIndex < caption.length) {\n parts.push({ text: caption.substring(lastIndex) });\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 private shouldUseAndroidEllipsis(props: WmLabelProps): boolean {\n return Platform.OS === 'android' && props.enableandroidellipsis !== false;\n }\n\n // Helper to get the proper number of lines\n private getNumberOfLines(props: WmLabelProps): number | undefined {\n let numOfLines: number | undefined = undefined;\n if (props.wrap === false) {\n numOfLines = 1;\n } else if (typeof props.nooflines === 'number' && props.nooflines > 0) {\n numOfLines = props.nooflines;\n }\n return numOfLines;\n }\n\n // Helpers to dedupe common logic\n private tokenizeWords(text?: string) {\n return (text ? text.split(/(\\s+)/) : [])\n .filter(t => t !== '')\n .map(t => ({ token: t, isSpace: /^\\s+$/.test(t) }));\n }\n\n private isTextAnimationExists(): boolean {\n return this.state.props.textanimation === 'fadeIn';\n }\n\n private getWordAnimConfig() {\n const step = Number(this.state.props.animationspeed) ?? 80;\n const fadeDuration = Math.max(120, step * 2);\n return { step, fadeDuration };\n }\n\n private renderWordswithAnimation(navigationService: NavigationService, isHidden: boolean) {\n const shouldAnimate = this.isTextAnimationExists();\n const { step, fadeDuration } = this.getWordAnimConfig();\n let runningIndex = 0;\n\n const containerStyle: any = {\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'flex-start',\n opacity: isHidden ? 0 : 1,\n width: '100%'\n };\n\n const getBaseStyle = (part: { link?: string; bold?: boolean }) => ([\n this.styles.text,\n part.link ? this.styles.link.text : null,\n part.bold ? { fontWeight: 'bold' } : null,\n this.state.props.isValid ? null : { color: 'red' },\n ]);\n \n const onTokenPress = (part: { link?: string }) => {\n if (part.link) {\n if (part.link.startsWith('http:') || part.link.startsWith('https:') || 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 \n const renderToken = (part: any, t: { token: string; isSpace: boolean }, key: string) => {\n if (t.isSpace) return <Text key={key} style={this.styles.text}>{t.token}</Text>;\n \n const baseStyle = getBaseStyle(part);\n if (!shouldAnimate) {\n return <Text key={key} style={baseStyle as any} onPress={() => onTokenPress(part)}>{t.token}</Text>;\n }\n \n const opacity = new Animated.Value(0);\n const delay = step * (runningIndex++);\n Animated.timing(opacity, { toValue: 1, duration: fadeDuration, delay, useNativeDriver: true }).start();\n \n return (\n <Animated.Text key={key} style={[baseStyle as any, { opacity }]} onPress={() => onTokenPress(part)}>\n {t.token}\n </Animated.Text>\n );\n };\n \n return (\n <View style={containerStyle} {...getAccessibilityProps(AccessibilityWidgetType.LABEL, this.state.props)} {...this.getTestPropsForLabel('caption')}>\n {this.state.parts?.flatMap((part, pIdx) => {\n const raw = this.tokenizeWords(toString(part.text));\n const merged: { token: string; isSpace: boolean }[] = [];\n const leadingSpace = !!raw[0]?.isSpace;\n let firstWordEmitted = false;\n for (let i = 0; i < raw.length; i++) {\n const tk = raw[i];\n if (tk.isSpace) { continue; }\n const nextIsSpace = !!raw[i + 1]?.isSpace;\n const prefix = (!firstWordEmitted && leadingSpace) ? ' ' : '';\n merged.push({ token: prefix + tk.token + (nextIsSpace ? ' ' : ''), isSpace: false });\n firstWordEmitted = true;\n if (nextIsSpace) { i++; }\n }\n return merged.map((t, i) => renderToken(part, t, `p${pIdx}_${i}`));\n })}\n {this.state.props.required && this.getAsterisk()}\n </View>\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 const numOfLines = this.getNumberOfLines(this.state.props);\n const useAndroidEllipsis = this.shouldUseAndroidEllipsis(this.state.props);\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 // if numOfLines is exists then the animation won't work. \n if (numOfLines === undefined && this.isTextAnimationExists()) {\n return this.renderWordswithAnimation(navigationService, isHidden);\n }\n\n if (useAndroidEllipsis) {\n const androidEllipsisTextStyle: any = {\n ...baseStyle,\n ...hiddenStyle,\n ...gradientStyle,\n userSelect: 'none',\n width: '100%',\n textAlign: baseStyle.textAlign,\n };\n // Keep single-string content in Android ellipsis branch to ensure reliable truncation\n const content = this.state.parts.length === 1\n ? toString(this.state.props.caption)\n : this.state.parts.map(part => toString(part.text)).join('');\n return (\n <Text\n style={androidEllipsisTextStyle}\n numberOfLines={numOfLines}\n ellipsizeMode=\"tail\"\n {...(this.state.parts.length <= 1 ? this.getTestPropsForLabel('caption') : {})}\n {...getAccessibilityProps(AccessibilityWidgetType.LABEL, this.state.props)}\n >\n {content}\n {this.state.props.required && this.getAsterisk()}\n </Text>\n );\n } \n\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={numOfLines} ellipsizeMode=\"tail\">\n {(this.state.parts?.length === 1 && !this.state.parts[0].link && !this.state.parts[0].bold) ? 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 part.bold ? { fontWeight: 'bold'} : 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,colorStops } = parseLinearGradient((this.styles?.text.color) as string);\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} locations={colorStops.length > 0 ? colorStops : undefined}>\n {this.renderLabelTextContent(navigationService, true)}\n </LinearGradient>\n </MaskedView> : this.renderLabelTextContent(navigationService)}\n </Tappable>)\n }}\n </NavigationServiceConsumer>\n </Animatedview>\n ) : null;\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -21,6 +21,8 @@ export default class WmLabelProps extends BaseProps {
21
21
  _defineProperty(this, "accessibilityrole", 'text');
22
22
  _defineProperty(this, "onTap", null);
23
23
  _defineProperty(this, "enableandroidellipsis", false);
24
+ _defineProperty(this, "textanimation", undefined);
25
+ _defineProperty(this, "animationspeed", 0);
24
26
  }
25
27
  }
26
28
  //# sourceMappingURL=label.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmLabelProps","constructor","args","_defineProperty","undefined"],"sources":["label.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmLabelProps extends BaseProps {\n animation?: string = null as any;\n animationdelay?: number = null as any;\n caption?: string = 'Label';\n required?: boolean = null as any;\n isValid?: boolean = true;\n wrap?: boolean = true;\n nooflines?: any = undefined;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n multilineskeleton?: boolean = false;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'text';\n onTap?: Function = null as any;\n enableandroidellipsis?: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC3B,IAAI;IAAAA,eAAA,yBACC,IAAI;IAAAA,eAAA,kBACX,OAAO;IAAAA,eAAA,mBACL,IAAI;IAAAA,eAAA,kBACL,IAAI;IAAAA,eAAA,eACP,IAAI;IAAAA,eAAA,oBACHC,SAAS;IAAAD,eAAA,yBACD,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,4BACC,KAAK;IAAAA,eAAA,qBACZ,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,MAAM;IAAAA,eAAA,gBAC3B,IAAI;IAAAA,eAAA,gCACW,KAAK;EAAA;AAC3C","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmLabelProps","constructor","args","_defineProperty","undefined"],"sources":["label.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\nexport default class WmLabelProps extends BaseProps {\n animation?: string = null as any;\n animationdelay?: number = null as any;\n caption?: string = 'Label';\n required?: boolean = null as any;\n isValid?: boolean = true;\n wrap?: boolean = true;\n nooflines?: any = undefined;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n multilineskeleton?: boolean = false;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'text';\n onTap?: Function = null as any;\n enableandroidellipsis?: boolean = false;\n textanimation?: string = undefined as any;\n animationspeed?: number = 0;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,YAAY,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC3B,IAAI;IAAAA,eAAA,yBACC,IAAI;IAAAA,eAAA,kBACX,OAAO;IAAAA,eAAA,mBACL,IAAI;IAAAA,eAAA,kBACL,IAAI;IAAAA,eAAA,eACP,IAAI;IAAAA,eAAA,oBACHC,SAAS;IAAAD,eAAA,yBACD,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,4BACC,KAAK;IAAAA,eAAA,qBACZ,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,MAAM;IAAAA,eAAA,gBAC3B,IAAI;IAAAA,eAAA,gCACW,KAAK;IAAAA,eAAA,wBACdC,SAAS;IAAAD,eAAA,yBACR,CAAC;EAAA;AAC/B","ignoreList":[]}