@wavemaker/app-rn-runtime 12.0.0-next.141167 → 12.0.0-next.141177

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +13 -2
  2. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  3. app-rn-runtime/components/advanced/carousel/carousel.props.js +1 -0
  4. app-rn-runtime/components/advanced/carousel/carousel.props.js.map +1 -1
  5. app-rn-runtime/components/advanced/carousel/carousel.styles.js +15 -0
  6. app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
  7. app-rn-runtime/components/basic/anchor/anchor.component.js +15 -5
  8. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  9. app-rn-runtime/components/basic/anchor/anchor.styles.js +3 -0
  10. app-rn-runtime/components/basic/anchor/anchor.styles.js.map +1 -1
  11. app-rn-runtime/components/basic/button/button.component.js +15 -2
  12. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  13. app-rn-runtime/components/basic/icon/icon.component.js +10 -2
  14. app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
  15. app-rn-runtime/components/basic/label/label.component.js +13 -3
  16. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  17. app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
  18. app-rn-runtime/components/basic/lottie/lottie.component.js +3 -1
  19. app-rn-runtime/components/basic/lottie/lottie.component.js.map +1 -1
  20. app-rn-runtime/components/basic/search/search.component.js +9 -0
  21. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  22. app-rn-runtime/components/basic/search/search.props.js +2 -0
  23. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  24. app-rn-runtime/components/basic/search/search.styles.js +5 -0
  25. app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
  26. app-rn-runtime/components/basic/skeleton/skeleton.component.js +4 -3
  27. app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
  28. app-rn-runtime/components/basic/skeleton/skeleton.props.js +9 -1
  29. app-rn-runtime/components/basic/skeleton/skeleton.props.js.map +1 -1
  30. app-rn-runtime/components/chart/area-chart/area-chart.component.js +2 -1
  31. app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
  32. app-rn-runtime/components/chart/area-chart/area-chart.styles.js +7 -1
  33. app-rn-runtime/components/chart/area-chart/area-chart.styles.js.map +1 -1
  34. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js +7 -1
  35. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js.map +1 -1
  36. app-rn-runtime/components/chart/basechart.component.js +23 -0
  37. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  38. app-rn-runtime/components/chart/basechart.props.js +2 -2
  39. app-rn-runtime/components/chart/basechart.props.js.map +1 -1
  40. app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
  41. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +1 -1
  42. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  43. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js +7 -1
  44. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js.map +1 -1
  45. app-rn-runtime/components/chart/column-chart/column-chart.styles.js +7 -1
  46. app-rn-runtime/components/chart/column-chart/column-chart.styles.js.map +1 -1
  47. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js +7 -1
  48. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js.map +1 -1
  49. app-rn-runtime/components/chart/line-chart/line-chart.props.js +2 -0
  50. app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
  51. app-rn-runtime/components/chart/line-chart/line-chart.styles.js +7 -1
  52. app-rn-runtime/components/chart/line-chart/line-chart.styles.js.map +1 -1
  53. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +2 -1
  54. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  55. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js +7 -1
  56. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js.map +1 -1
  57. app-rn-runtime/components/container/accordion/accordion.component.js +58 -11
  58. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  59. app-rn-runtime/components/container/accordion/accordion.props.js.map +1 -1
  60. app-rn-runtime/components/container/accordion/accordion.styles.js +4 -0
  61. app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
  62. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +11 -1
  63. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  64. app-rn-runtime/components/container/container.component.js +36 -2
  65. app-rn-runtime/components/container/container.component.js.map +1 -1
  66. app-rn-runtime/components/container/container.styles.js +7 -0
  67. app-rn-runtime/components/container/container.styles.js.map +1 -1
  68. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +5 -1
  69. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  70. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js +6 -1
  71. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js.map +1 -1
  72. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +28 -2
  73. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  74. app-rn-runtime/components/container/layoutgrid/layoutgrid.props.js.map +1 -1
  75. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js +4 -1
  76. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js.map +1 -1
  77. app-rn-runtime/components/container/linearlayout/linearlayout.component.js +31 -5
  78. app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
  79. app-rn-runtime/components/container/linearlayout/linearlayout.props.js.map +1 -1
  80. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js +4 -1
  81. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js.map +1 -1
  82. app-rn-runtime/components/container/panel/panel.component.js +43 -4
  83. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  84. app-rn-runtime/components/container/panel/panel.props.js.map +1 -1
  85. app-rn-runtime/components/container/panel/panel.styles.js +3 -0
  86. app-rn-runtime/components/container/panel/panel.styles.js.map +1 -1
  87. app-rn-runtime/components/container/partial-host.component.js.map +1 -1
  88. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +2 -2
  89. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  90. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +11 -1
  91. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  92. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js +1 -0
  93. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  94. app-rn-runtime/components/container/tabs/tabs.component.js +41 -6
  95. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  96. app-rn-runtime/components/container/tabs/tabs.styles.js +4 -1
  97. app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
  98. app-rn-runtime/components/container/tile/tile.component.js +28 -2
  99. app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
  100. app-rn-runtime/components/container/tile/tile.props.js.map +1 -1
  101. app-rn-runtime/components/container/tile/tile.styles.js +6 -1
  102. app-rn-runtime/components/container/tile/tile.styles.js.map +1 -1
  103. app-rn-runtime/components/container/wizard/wizard.component.js +39 -6
  104. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  105. app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
  106. app-rn-runtime/components/container/wizard/wizard.styles.js +3 -0
  107. app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
  108. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +4 -1
  109. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  110. app-rn-runtime/components/data/card/card-content/card-content.component.js +6 -2
  111. app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
  112. app-rn-runtime/components/data/card/card-content/card-content.styles.js +4 -1
  113. app-rn-runtime/components/data/card/card-content/card-content.styles.js.map +1 -1
  114. app-rn-runtime/components/data/card/card.component.js +18 -0
  115. app-rn-runtime/components/data/card/card.component.js.map +1 -1
  116. app-rn-runtime/components/data/card/card.styles.js +3 -0
  117. app-rn-runtime/components/data/card/card.styles.js.map +1 -1
  118. app-rn-runtime/components/data/form/form.component.js +1 -1
  119. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  120. app-rn-runtime/components/data/form/form.props.js +1 -0
  121. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  122. app-rn-runtime/components/data/list/list-template/list-template.component.js +15 -1
  123. app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
  124. app-rn-runtime/components/data/list/list-template/list-template.props.js +1 -0
  125. app-rn-runtime/components/data/list/list-template/list-template.props.js.map +1 -1
  126. app-rn-runtime/components/data/list/list-template/list-template.styles.js +11 -1
  127. app-rn-runtime/components/data/list/list-template/list-template.styles.js.map +1 -1
  128. app-rn-runtime/components/data/list/list.component.js +32 -24
  129. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  130. app-rn-runtime/components/data/list/list.props.js +1 -0
  131. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  132. app-rn-runtime/components/data/list/list.styles.js +9 -0
  133. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  134. app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
  135. app-rn-runtime/components/input/baseinput/baseinput.component.js +8 -1
  136. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  137. app-rn-runtime/components/input/basenumber/basenumber.component.js +9 -1
  138. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  139. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  140. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +21 -1
  141. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  142. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
  143. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  144. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +1 -0
  145. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  146. app-rn-runtime/components/input/currency/currency.component.js +2 -1
  147. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  148. app-rn-runtime/components/input/currency/currency.styles.js +3 -0
  149. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  150. app-rn-runtime/components/input/number/number.component.js +2 -1
  151. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  152. app-rn-runtime/components/input/number/number.styles.js +3 -0
  153. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  154. app-rn-runtime/components/input/radioset/radioset.component.js +21 -1
  155. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  156. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  157. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  158. app-rn-runtime/components/input/radioset/radioset.styles.js +1 -0
  159. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  160. app-rn-runtime/components/input/text/text.component.js +23 -1
  161. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  162. app-rn-runtime/components/input/text/text.props.js +2 -0
  163. app-rn-runtime/components/input/text/text.props.js.map +1 -1
  164. app-rn-runtime/components/input/text/text.styles.js +3 -0
  165. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  166. app-rn-runtime/components/input/textarea/textarea.component.js +23 -1
  167. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  168. app-rn-runtime/components/input/textarea/textarea.props.js +2 -0
  169. app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
  170. app-rn-runtime/components/input/textarea/textarea.styles.js +3 -0
  171. app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
  172. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  173. app-rn-runtime/components/page/content/content.component.js +19 -4
  174. app-rn-runtime/components/page/content/content.component.js.map +1 -1
  175. app-rn-runtime/components/page/page-content/page-content.component.js +27 -2
  176. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  177. app-rn-runtime/components/page/page-content/page-content.props.js +2 -2
  178. app-rn-runtime/components/page/page-content/page-content.props.js.map +1 -1
  179. app-rn-runtime/components/page/page-content/page-content.styles.js +6 -1
  180. app-rn-runtime/components/page/page-content/page-content.styles.js.map +1 -1
  181. app-rn-runtime/components/page/page.component.js.map +1 -1
  182. app-rn-runtime/components/page/page.props.js.map +1 -1
  183. app-rn-runtime/components/page/page.styles.js +7 -1
  184. app-rn-runtime/components/page/page.styles.js.map +1 -1
  185. app-rn-runtime/components/page/partial/partial.component.js +27 -1
  186. app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
  187. app-rn-runtime/components/page/partial/partial.props.js.map +1 -1
  188. app-rn-runtime/components/page/partial/partial.styles.js +6 -1
  189. app-rn-runtime/components/page/partial/partial.styles.js.map +1 -1
  190. app-rn-runtime/components/prefab/prefab-container.component.js +27 -1
  191. app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
  192. app-rn-runtime/components/prefab/prefab-container.props.js.map +1 -1
  193. app-rn-runtime/components/prefab/prefab-container.styles.js +6 -1
  194. app-rn-runtime/components/prefab/prefab-container.styles.js.map +1 -1
  195. app-rn-runtime/core/base.component.js +3 -2
  196. app-rn-runtime/core/base.component.js.map +1 -1
  197. app-rn-runtime/core/components/textinput.component.js +2 -5
  198. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  199. app-rn-runtime/core/props.provider.js +0 -1
  200. app-rn-runtime/core/props.provider.js.map +1 -1
  201. app-rn-runtime/core/tappable.component.js +10 -4
  202. app-rn-runtime/core/tappable.component.js.map +1 -1
  203. app-rn-runtime/core/utils.js +5 -0
  204. app-rn-runtime/core/utils.js.map +1 -1
  205. app-rn-runtime/package.json +3 -3
  206. app-rn-runtime/runtime/App.js +2 -7
  207. app-rn-runtime/runtime/App.js.map +1 -1
  208. app-rn-runtime/runtime/base-fragment.component.js +28 -13
  209. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  210. app-rn-runtime/runtime/base-partial.component.js +3 -0
  211. app-rn-runtime/runtime/base-partial.component.js.map +1 -1
  212. app-rn-runtime/runtime/base-prefab.component.js.map +1 -1
  213. app-rn-runtime/runtime/services/app-security.service.js +17 -1
  214. app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
  215. app-rn-runtime/styles/theme.js +5 -0
  216. app-rn-runtime/styles/theme.js.map +1 -1
  217. app-rn-runtime/styles/theme.variables.js +2 -1
  218. app-rn-runtime/styles/theme.variables.js.map +1 -1
@@ -2,14 +2,40 @@ import React from 'react';
2
2
  import { View } from 'react-native';
3
3
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
4
4
  import { DEFAULT_CLASS } from './partial.styles';
5
+ import WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';
5
6
  export class WmPartialState extends BaseComponentState {}
6
7
  export default class WmPartial extends BaseComponent {
7
8
  constructor(props) {
8
9
  super(props, DEFAULT_CLASS);
9
10
  }
11
+ renderSkeleton(props) {
12
+ var _this$styles;
13
+ const lottieContentStyles = (_this$styles = this.styles) === null || _this$styles === void 0 ? void 0 : _this$styles.skeleton;
14
+ if (this.props.skeletonanimationresource) {
15
+ return /*#__PURE__*/React.createElement(View, {
16
+ style: [{
17
+ width: '100%'
18
+ }, this.styles.root]
19
+ }, /*#__PURE__*/React.createElement(WmLottie, {
20
+ styles: {
21
+ content: lottieContentStyles.root
22
+ },
23
+ source: this.props.skeletonanimationresource,
24
+ loop: true,
25
+ autoplay: true,
26
+ speed: this.props.skeletonanimationspeed
27
+ }));
28
+ }
29
+ return null;
30
+ }
10
31
  renderWidget(props) {
32
+ var _this$styles$skeleton;
33
+ const styles = this._showSkeleton ? {
34
+ ...this.styles.root,
35
+ ...((_this$styles$skeleton = this.styles.skeleton) === null || _this$styles$skeleton === void 0 ? void 0 : _this$styles$skeleton.root)
36
+ } : this.styles.root;
11
37
  return /*#__PURE__*/React.createElement(View, {
12
- style: this.styles.root
38
+ style: styles
13
39
  }, this._background, props.children);
14
40
  }
15
41
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","WmPartialState","WmPartial","constructor","props","renderWidget","createElement","style","styles","root","_background","children"],"sources":["partial.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPartialProps from './partial.props';\nimport { DEFAULT_CLASS, WmPartialStyles } from './partial.styles';\n\nexport class WmPartialState extends BaseComponentState<WmPartialProps> {\n\n}\n\nexport default class WmPartial extends BaseComponent<WmPartialProps, WmPartialState, WmPartialStyles> {\n\n constructor(props: WmPartialProps) {\n super(props, DEFAULT_CLASS, );\n }\n\n renderWidget(props: WmPartialProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n {props.children}\n </View>\n ); \n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAGjG,SAASC,aAAa,QAAyB,kBAAkB;AAEjE,OAAO,MAAMC,cAAc,SAASF,kBAAkB,CAAiB;AAIvE,eAAe,MAAMG,SAAS,SAASJ,aAAa,CAAkD;EAEpGK,WAAWA,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEJ,aAAe,CAAC;EAC/B;EAEAK,YAAYA,CAACD,KAAqB,EAAE;IAClC,oBACER,KAAA,CAAAU,aAAA,CAACT,IAAI;MAACU,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GAC3B,IAAI,CAACC,WAAW,EAChBN,KAAK,CAACO,QACH,CAAC;EAEX;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","WmLottie","WmPartialState","WmPartial","constructor","props","renderSkeleton","_this$styles","lottieContentStyles","styles","skeleton","skeletonanimationresource","createElement","style","width","root","content","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","_this$styles$skeleton","_showSkeleton","_background","children"],"sources":["partial.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPartialProps from './partial.props';\nimport { DEFAULT_CLASS, WmPartialStyles } from './partial.styles';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport class WmPartialState extends BaseComponentState<WmPartialProps> {\n\n}\n\nexport default class WmPartial extends BaseComponent<WmPartialProps, WmPartialState, WmPartialStyles> {\n\n constructor(props: WmPartialProps) {\n super(props, DEFAULT_CLASS, );\n }\n\n public renderSkeleton(props: WmPartialProps): React.ReactNode {\n const lottieContentStyles = this.styles?.skeleton as any as WmSkeletonStyles\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: lottieContentStyles.root}} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n }\n return null;\n }\n\n renderWidget(props: WmPartialProps) {\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton?.root\n } : this.styles.root\n \n return (\n <View style={styles}>\n {this._background}\n {props.children}\n </View>\n ); \n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAGjG,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,QAAQ,MAAM,oEAAoE;AAGzF,OAAO,MAAMC,cAAc,SAASH,kBAAkB,CAAiB;AAIvE,eAAe,MAAMI,SAAS,SAASL,aAAa,CAAkD;EAEpGM,WAAWA,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEL,aAAe,CAAC;EAC/B;EAEOM,cAAcA,CAACD,KAAqB,EAAmB;IAAA,IAAAE,YAAA;IAC5D,MAAMC,mBAAmB,IAAAD,YAAA,GAAG,IAAI,CAACE,MAAM,cAAAF,YAAA,uBAAXA,YAAA,CAAaG,QAAmC;IAC5E,IAAG,IAAI,CAACL,KAAK,CAACM,yBAAyB,EAAE;MACvC,oBAAOf,KAAA,CAAAgB,aAAA,CAACf,IAAI;QAACgB,KAAK,EAAE,CAAC;UAACC,KAAK,EAAE;QAAM,CAAC,EAAE,IAAI,CAACL,MAAM,CAACM,IAAI;MAAE,gBACtDnB,KAAA,CAAAgB,aAAA,CAACX,QAAQ;QAACQ,MAAM,EAAE;UAAEO,OAAO,EAAER,mBAAmB,CAACO;QAAI,CAAE;QAACE,MAAM,EAAE,IAAI,CAACZ,KAAK,CAACM,yBAA0B;QAACO,IAAI,EAAE,IAAK;QAACC,QAAQ,EAAE,IAAK;QAACC,KAAK,EAAE,IAAI,CAACf,KAAK,CAACgB;MAAuB,CAAC,CACxK,CAAC;IACT;IACA,OAAO,IAAI;EACb;EAEAC,YAAYA,CAACjB,KAAqB,EAAE;IAAA,IAAAkB,qBAAA;IAClC,MAAMd,MAAM,GAAG,IAAI,CAACe,aAAa,GAAG;MAClC,GAAG,IAAI,CAACf,MAAM,CAACM,IAAI;MACnB,KAAAQ,qBAAA,GAAG,IAAI,CAACd,MAAM,CAACC,QAAQ,cAAAa,qBAAA,uBAApBA,qBAAA,CAAsBR,IAAI;IAC/B,CAAC,GAAG,IAAI,CAACN,MAAM,CAACM,IAAI;IAEpB,oBACEnB,KAAA,CAAAgB,aAAA,CAACf,IAAI;MAACgB,KAAK,EAAEJ;IAAO,GACjB,IAAI,CAACgB,WAAW,EAChBpB,KAAK,CAACqB,QACH,CAAC;EAEX;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["partial.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default interface WmPartialProps extends BaseProps {\n children: any[];\n}"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["partial.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\n\nexport default interface WmPartialProps extends SkeletonAnimationProps {\n children: any[];\n}"],"mappings":"","ignoreList":[]}
@@ -6,7 +6,12 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
6
6
  root: {
7
7
  width: "100%"
8
8
  },
9
- text: {}
9
+ text: {},
10
+ skeleton: {
11
+ root: {
12
+ height: 200
13
+ }
14
+ }
10
15
  });
11
16
  addStyle(DEFAULT_CLASS, '', defaultStyles);
12
17
  });
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","width","text"],"sources":["partial.styles.ts"],"sourcesContent":["import BASE_THEME, { NamedStyles } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport type WmPartialStyles = BaseStyles & {};\n\nexport const DEFAULT_CLASS = 'app-partial';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPartialStyles = defineStyles({\n root: {\n width: \"100%\"\n },\n text: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAuB,wCAAwC;AAChF,SAAqBC,YAAY,QAAQ,+CAA+C;AAIxF,OAAO,MAAMC,aAAa,GAAG,aAAa;AAC1CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA8B,GAAGL,YAAY,CAAC;IAChDM,IAAI,EAAE;MACFC,KAAK,EAAE;IACX,CAAC;IACDC,IAAI,EAAE,CAAC;EACX,CAAC,CAAC;EAEFJ,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","width","text","skeleton","height"],"sources":["partial.styles.ts"],"sourcesContent":["import BASE_THEME, { NamedStyles } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmPartialStyles = BaseStyles & {\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-partial';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPartialStyles = defineStyles({\n root: {\n width: \"100%\"\n },\n text: {},\n skeleton: {\n root: {\n height: 200\n }\n } as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAuB,wCAAwC;AAChF,SAAqBC,YAAY,QAAQ,+CAA+C;AAOxF,OAAO,MAAMC,aAAa,GAAG,aAAa;AAC1CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA8B,GAAGL,YAAY,CAAC;IAChDM,IAAI,EAAE;MACFC,KAAK,EAAE;IACX,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,QAAQ,EAAE;MACNH,IAAI,EAAE;QACFI,MAAM,EAAE;MACZ;IACJ;EACJ,CAAC,CAAC;EAEFN,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC","ignoreList":[]}
@@ -2,14 +2,40 @@ import React from 'react';
2
2
  import { View } from 'react-native';
3
3
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
4
4
  import { DEFAULT_CLASS } from './prefab-container.styles';
5
+ import WmLottie from '../basic/lottie/lottie.component';
5
6
  export class WmPrefabContainerState extends BaseComponentState {}
6
7
  export default class WmPrefabContainer extends BaseComponent {
7
8
  constructor(props) {
8
9
  super(props, DEFAULT_CLASS);
9
10
  }
11
+ renderSkeleton(props) {
12
+ var _this$styles;
13
+ const lottieContentStyles = (_this$styles = this.styles) === null || _this$styles === void 0 ? void 0 : _this$styles.skeleton;
14
+ if (this.props.skeletonanimationresource) {
15
+ var _this$styles2;
16
+ return /*#__PURE__*/React.createElement(View, {
17
+ style: [{
18
+ width: '100%'
19
+ }, (_this$styles2 = this.styles) === null || _this$styles2 === void 0 ? void 0 : _this$styles2.root]
20
+ }, /*#__PURE__*/React.createElement(WmLottie, {
21
+ styles: {
22
+ content: lottieContentStyles.root
23
+ },
24
+ source: this.props.skeletonanimationresource,
25
+ loop: true,
26
+ autoplay: true,
27
+ speed: this.props.skeletonanimationspeed
28
+ }));
29
+ }
30
+ return null;
31
+ }
10
32
  renderWidget(props) {
33
+ const styles = this._showSkeleton ? {
34
+ ...this.styles.root,
35
+ ...this.styles.skeleton.root
36
+ } : this.styles.root;
11
37
  return /*#__PURE__*/React.createElement(View, {
12
- style: this.styles.root
38
+ style: styles
13
39
  }, this._background, props.children);
14
40
  }
15
41
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","WmPrefabContainerState","WmPrefabContainer","constructor","props","renderWidget","createElement","style","styles","root","_background","children"],"sources":["prefab-container.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPrefabContainerProps from './prefab-container.props';\nimport { DEFAULT_CLASS, WmPrefabContainerStyles } from './prefab-container.styles';\n\nexport class WmPrefabContainerState extends BaseComponentState<WmPrefabContainerProps> {\n\n}\n\nexport default class WmPrefabContainer extends BaseComponent<WmPrefabContainerProps, WmPrefabContainerState, WmPrefabContainerStyles> {\n\n constructor(props: WmPrefabContainerProps) {\n super(props, DEFAULT_CLASS, );\n }\n\n renderWidget(props: WmPrefabContainerProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n {props.children}\n </View>\n ); \n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAGjG,SAASC,aAAa,QAAiC,2BAA2B;AAElF,OAAO,MAAMC,sBAAsB,SAASF,kBAAkB,CAAyB;AAIvF,eAAe,MAAMG,iBAAiB,SAASJ,aAAa,CAA0E;EAEpIK,WAAWA,CAACC,KAA6B,EAAE;IACzC,KAAK,CAACA,KAAK,EAAEJ,aAAe,CAAC;EAC/B;EAEAK,YAAYA,CAACD,KAA6B,EAAE;IAC1C,oBACER,KAAA,CAAAU,aAAA,CAACT,IAAI;MAACU,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GAC3B,IAAI,CAACC,WAAW,EAChBN,KAAK,CAACO,QACH,CAAC;EAEX;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","WmLottie","WmPrefabContainerState","WmPrefabContainer","constructor","props","renderSkeleton","_this$styles","lottieContentStyles","styles","skeleton","skeletonanimationresource","_this$styles2","createElement","style","width","root","content","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","_showSkeleton","_background","children"],"sources":["prefab-container.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPrefabContainerProps from './prefab-container.props';\nimport { DEFAULT_CLASS, WmPrefabContainerStyles } from './prefab-container.styles';\nimport WmLottie from '../basic/lottie/lottie.component';\nimport { WmSkeletonStyles } from '../basic/skeleton/skeleton.styles';\n\nexport class WmPrefabContainerState extends BaseComponentState<WmPrefabContainerProps> {\n\n}\n\n\nexport default class WmPrefabContainer extends BaseComponent<WmPrefabContainerProps, WmPrefabContainerState, WmPrefabContainerStyles> {\n\n constructor(props: WmPrefabContainerProps) {\n super(props, DEFAULT_CLASS, );\n }\n\n public renderSkeleton(props: WmPrefabContainerProps): React.ReactNode {\n const lottieContentStyles = this.styles?.skeleton as any as WmSkeletonStyles\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles?.root]}>\n <WmLottie styles={{ content: lottieContentStyles.root}} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n }\n return null;\n }\n\n renderWidget(props: WmPrefabContainerProps) {\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root\n return (\n <View style={styles}>\n {this._background}\n {props.children}\n </View>\n ); \n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAGjG,SAASC,aAAa,QAAiC,2BAA2B;AAClF,OAAOC,QAAQ,MAAM,kCAAkC;AAGvD,OAAO,MAAMC,sBAAsB,SAASH,kBAAkB,CAAyB;AAKvF,eAAe,MAAMI,iBAAiB,SAASL,aAAa,CAA0E;EAEpIM,WAAWA,CAACC,KAA6B,EAAE;IACzC,KAAK,CAACA,KAAK,EAAEL,aAAe,CAAC;EAC/B;EAEOM,cAAcA,CAACD,KAA6B,EAAmB;IAAA,IAAAE,YAAA;IACpE,MAAMC,mBAAmB,IAAAD,YAAA,GAAG,IAAI,CAACE,MAAM,cAAAF,YAAA,uBAAXA,YAAA,CAAaG,QAAmC;IAC5E,IAAG,IAAI,CAACL,KAAK,CAACM,yBAAyB,EAAE;MAAA,IAAAC,aAAA;MACvC,oBAAOhB,KAAA,CAAAiB,aAAA,CAAChB,IAAI;QAACiB,KAAK,EAAE,CAAC;UAACC,KAAK,EAAE;QAAM,CAAC,GAAAH,aAAA,GAAE,IAAI,CAACH,MAAM,cAAAG,aAAA,uBAAXA,aAAA,CAAaI,IAAI;MAAE,gBACvDpB,KAAA,CAAAiB,aAAA,CAACZ,QAAQ;QAACQ,MAAM,EAAE;UAAEQ,OAAO,EAAET,mBAAmB,CAACQ;QAAI,CAAE;QAACE,MAAM,EAAE,IAAI,CAACb,KAAK,CAACM,yBAA0B;QAACQ,IAAI,EAAE,IAAK;QAACC,QAAQ,EAAE,IAAK;QAACC,KAAK,EAAE,IAAI,CAAChB,KAAK,CAACiB;MAAuB,CAAC,CACtK,CAAC;IACX;IACA,OAAO,IAAI;EACb;EAEAC,YAAYA,CAAClB,KAA6B,EAAE;IAC1C,MAAMI,MAAM,GAAG,IAAI,CAACe,aAAa,GAAG;MAClC,GAAG,IAAI,CAACf,MAAM,CAACO,IAAI;MACnB,GAAG,IAAI,CAACP,MAAM,CAACC,QAAQ,CAACM;IAC1B,CAAC,GAAG,IAAI,CAACP,MAAM,CAACO,IAAI;IACpB,oBACEpB,KAAA,CAAAiB,aAAA,CAAChB,IAAI;MAACiB,KAAK,EAAEL;IAAO,GACjB,IAAI,CAACgB,WAAW,EAChBpB,KAAK,CAACqB,QACH,CAAC;EAEX;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["prefab-container.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default interface WmPrefabContainerProps extends BaseProps {\n children: any[];\n}"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["prefab-container.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\n\n\n\nexport default interface WmPrefabContainerProps extends SkeletonAnimationProps {\n children: any[];\n}"],"mappings":"","ignoreList":[]}
@@ -4,7 +4,12 @@ export const DEFAULT_CLASS = 'app-prefab';
4
4
  BASE_THEME.registerStyle((themeVariables, addStyle) => {
5
5
  const defaultStyles = defineStyles({
6
6
  root: {},
7
- text: {}
7
+ text: {},
8
+ skeleton: {
9
+ root: {
10
+ height: 200
11
+ }
12
+ }
8
13
  });
9
14
  addStyle(DEFAULT_CLASS, '', defaultStyles);
10
15
  });
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text"],"sources":["prefab-container.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport type WmPrefabContainerStyles = BaseStyles & {};\n\nexport const DEFAULT_CLASS = 'app-prefab';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPrefabContainerStyles = defineStyles({\n root: {},\n text: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAIxF,OAAO,MAAMC,aAAa,GAAG,YAAY;AACzCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAsC,GAAGL,YAAY,CAAC;IACxDM,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE,CAAC;EACX,CAAC,CAAC;EAEFH,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","skeleton","height"],"sources":["prefab-container.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '../basic/skeleton/skeleton.styles';\n\nexport type WmPrefabContainerStyles = BaseStyles & {\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-prefab';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPrefabContainerStyles = defineStyles({\n root: {},\n text: {},\n skeleton: {\n root: {\n height: 200\n }\n } as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAOxF,OAAO,MAAMC,aAAa,GAAG,YAAY;AACzCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAsC,GAAGL,YAAY,CAAC;IACxDM,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE,CAAC,CAAC;IACRC,QAAQ,EAAE;MACNF,IAAI,EAAE;QACFG,MAAM,EAAE;MACZ;IACJ;EACJ,CAAC,CAAC;EAEFL,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC","ignoreList":[]}
@@ -52,8 +52,9 @@ export class BaseProps extends StyleProps {
52
52
  _defineProperty(this, "classname", null);
53
53
  _defineProperty(this, "listener", null);
54
54
  _defineProperty(this, "showindevice", null);
55
- _defineProperty(this, "showskeleton", false);
55
+ _defineProperty(this, "showskeleton", undefined);
56
56
  _defineProperty(this, "deferload", false);
57
+ _defineProperty(this, "showskeletonchildren", true);
57
58
  }
58
59
  }
59
60
  export class BaseComponent extends React.Component {
@@ -404,7 +405,7 @@ export class BaseComponent extends React.Component {
404
405
  return /*#__PURE__*/React.createElement(ParentContext.Consumer, null, parent => {
405
406
  var _this$parent;
406
407
  this.setParent(parent);
407
- this._showSkeleton = ((_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent._showSkeleton) || !!this.state.props.showskeleton;
408
+ this._showSkeleton = this.state.props.showskeleton !== false && (((_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent._showSkeleton) || this.state.props.showskeleton === true);
408
409
  return /*#__PURE__*/React.createElement(ParentContext.Provider, {
409
410
  value: this
410
411
  }, /*#__PURE__*/React.createElement(ThemeConsumer, null, theme => {
@@ -1 +1 @@
1
- {"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","notifier","name","props","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","parent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","View","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent","_showSkeleton","showskeleton","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","hasOwnProperty","backgroundColor","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, TextStyle, ViewStyle } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = false;\n deferload?: boolean = false;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable;\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props:{}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n private setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.parent?._showSkeleton \n || !!this.state.props.showskeleton;\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["assign","isUndefined","isNil","React","AccessibilityInfo","Platform","Animatable","ThemeVariables","StyleProps","getStyleName","BackgroundComponent","injector","ROOT_LOGGER","deepCopy","BASE_THEME","ThemeConsumer","ThemeEvent","EventNotifier","PropsProvider","assignIn","HideMode","AssetConsumer","FixedView","TextIdPrefixConsumer","isScreenReaderEnabled","TappableContext","WIDGET_LOGGER","extend","ParentContext","createContext","BaseComponentState","constructor","_defineProperty","undefined","defineStyles","styles","text","fontFamily","INSTANCE","baseFont","userSelect","BaseProps","args","BaseComponent","Component","markupProps","defaultClass","defaultProps","defaultState","ADD_TO_DOM","createElement","Fragment","I18nService","get","state","notifier","name","props","propertyProvider","show","$new","$old","debug","initialized","styleName","styleOverrides","setTimeout","cleanRefresh","onPropertyChange","_showView","deferload","check","proxy","Proxy","target","prop","receiver","propName","toString","has","Reflect","set","value","overrideProp","updateState","cleanup","push","updateStateTimeouts","forEach","v","clearTimeout","theme","subscribe","CHANGE","forceUpdate","addEventListener","remove","destroyParentListeners","event","fn","notify","emitToParent","isRTL","i18nService","isRTLLocale","animate","setState","animationId","Date","now","animatableProps","setProp","setPropDefault","setDefault","getDefaultStyles","getStyle","reset","newPartialState","callback","destroyed","stateFn","oldState","oldProps","newState","Object","keys","k","onUpdateState","_this$props$listener","_this$props$listener2","listener","onComponentChange","timeoutId","splice","indexOf","shouldComponentUpdate","nextProps","nextState","nextContext","key","componentDidMount","onComponentInit","componentWillAttach","isFixed","hide","componentWillDetach","componentWillUnmount","onComponentDestroy","f","destroy","componentDidUpdate","prevProps","prevState","snapshot","invokeEventCallback","eventName","callBack","map","a","apply","e","console","error","showView","isVisible","refresh","renderSkeleton","parentListenerDestroyers","setParent","parent","copyStyles","property","from","to","renderFixedContainer","style","rootStyle","left","top","bottom","right","width","height","root","mergeStyle","addAnimation","renderWidget","n","View","_extends","setBackground","bgStyle","_background","image","backgroundImage","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestId","suffix","id","testIdPrefix","getTestProps","OS","accessibilityLabel","testID","accessible","getStyleClassName","classname","getTestPropsForInput","getTestPropsForAction","getTestPropsForLabel","getDependenciesFromContext","Consumer","tappable","closestTappable","loadAsset","_this$parent","_showSkeleton","showskeleton","Provider","render","selectedLocale","getSelectedLocale","info","hideMode","DONOT_ADD_TO_DOM","disabled","showindevice","d","join","cleanseStyleProperties","hasOwnProperty","backgroundColor","eleToRender"],"sources":["base.component.tsx"],"sourcesContent":["import { assign, isUndefined, isNil } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { AccessibilityInfo, Platform, TextStyle, ViewStyle } from 'react-native';\nimport { AnimatableProps } from 'react-native-animatable';\nimport * as Animatable from 'react-native-animatable';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport { ROOT_LOGGER } from '@wavemaker/app-rn-runtime/core/logger';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport BASE_THEME, { NamedStyles, AllStyle, ThemeConsumer, ThemeEvent, Theme } from '../styles/theme';\nimport EventNotifier from './event-notifier';\nimport { PropsProvider } from './props.provider';\nimport { assignIn } from 'lodash-es';\nimport { HideMode } from './if.component';\nimport { AssetConsumer } from './asset.provider';\nimport { FixedView } from './fixed-view.component';\nimport { TextIdPrefixConsumer } from './testid.provider';\nimport { isScreenReaderEnabled } from './accessibility';\nimport { Tappable, TappableContext } from './tappable.component';\nimport { WmSkeletonStyles } from '../components/basic/skeleton/skeleton.styles';\n\nexport const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');\n\nexport const ParentContext = React.createContext(null as any);\n\nexport class BaseComponentState<T extends BaseProps> {\n public animationId?: number = 0;\n public animatableProps?: AnimatableProps<ViewStyle> = undefined;\n public props = {} as T;\n public hide? = false;\n}\n\nexport type BaseStyles = NamedStyles<any> & {\n root: AllStyle,\n text: TextStyle & {userSelect?: 'none'| 'text'}\n}\n\nexport function defineStyles<T>(styles: T): T {\n return deepCopy({\n text: {\n fontFamily: ThemeVariables.INSTANCE.baseFont,\n userSelect: 'text'\n }\n }, styles);\n}\n\nexport interface LifecycleListener {\n onComponentChange?: (c: BaseComponent<any, any, any>) => void;\n onComponentInit?: (c: BaseComponent<any, any, any>) => void;\n onComponentDestroy?: (c: BaseComponent<any, any, any>) => void;\n}\n\nexport class BaseProps extends StyleProps {\n id?: string = null as any;\n name?: string = null as any;\n key?: any = null as any;\n disabled? = false;\n show? = true as Boolean | String | Number;\n styles?: any = null;\n classname?: string = null as any;\n listener?: LifecycleListener = null as any;\n showindevice?: ('xs'|'sm'|'md'|'lg'|'xl'|'xxl')[] = null as any;\n showskeleton?: boolean = undefined;\n deferload?: boolean = false;\n showskeletonchildren?: boolean = true;\n}\n\nexport abstract class BaseComponent<T extends BaseProps, S extends BaseComponentState<T>, L extends BaseStyles> extends React.Component<T, S> {\n public styles: L = null as any;\n public hideMode = HideMode.ADD_TO_DOM;\n private propertyProvider: PropsProvider<T>;\n public proxy: BaseComponent<T, S, L>;\n public initialized = false;\n public cleanup = [] as Function[];\n public theme = BASE_THEME;\n public updateStateTimeouts= [] as NodeJS.Timeout[];\n public parent: BaseComponent<any, any, any> = null as any;\n public destroyed = false;\n public _showSkeleton = false;\n public isFixed = false;\n private notifier = new EventNotifier();\n private parentListenerDestroyers = [] as Function[];\n public _background = <></>;\n private styleOverrides = {} as any;\n public loadAsset: (path: string) => number | string = null as any;\n private i18nService = injector.I18nService.get();\n public testIdPrefix = '';\n private _showView = true;\n public closestTappable?: Tappable;\n\n constructor(markupProps: T, public defaultClass: string, defaultProps?: T, defaultState?: S) {\n super(markupProps);\n this.state = (defaultState || {} as S);\n this.notifier.name = this.props.name || '';\n this.propertyProvider = new PropsProvider<T>(\n assign({show: true}, defaultProps),\n assign({}, markupProps),\n (name: string, $new: any, $old: any) => {\n WIDGET_LOGGER.debug(() => `${this.props.name || this.constructor.name}: ${name} changed from ${$old} to ${$new}`);\n if (this.initialized) {\n const styleName = getStyleName(name);\n if (styleName) {\n if ($new === undefined) {\n delete this.styleOverrides[styleName];\n } else {\n this.styleOverrides[styleName] = $new;\n }\n }\n }\n if (name === 'showskeleton' && this.initialized) {\n setTimeout(() => this.cleanRefresh(), 100);\n }\n this.onPropertyChange(name, $new, $old);\n });\n //@ts-ignore\n this.state.props =this.propertyProvider.get();\n //@ts-ignore\n this._showView = !this.props.deferload;\n this.propertyProvider.check();\n //@ts-ignore\n this.proxy = (new Proxy(this, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n //@ts-ignore\n return this.state.props[propName];\n }\n return Reflect.get(target, prop, receiver);\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (this.propertyProvider.has(propName)) {\n // @ts-ignore\n const props = {} as any;\n this.propertyProvider.overrideProp(propName, value);\n props[propName] = value;\n this.updateState({\n props: props\n } as S);\n return true;\n } else {\n return Reflect.set(target, prop, value);\n }\n }\n }));\n this.cleanup.push(() => {\n this.updateStateTimeouts.forEach(v => clearTimeout(v));\n });\n this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {\n this.forceUpdate();\n }));\n this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged',\n () => {\n setTimeout(() => {\n this.forceUpdate();\n }, 100);\n },\n ).remove);\n this.cleanup.push(() => {\n this.destroyParentListeners();\n });\n }\n\n public subscribe(event: string, fn: Function) {\n return this.notifier.subscribe(event, fn);\n }\n\n public notify(event: string, args: any[], emitToParent = false) {\n return this.notifier.notify(event, args, emitToParent);\n }\n\n public get isRTL(){\n return this.i18nService.isRTLLocale();\n }\n\n public animate(props: AnimatableProps<ViewStyle>) {\n this.setState({\n animationId: Date.now(),\n animatableProps: props\n });\n }\n\n setProp(propName: string, value: any) {\n this.propertyProvider.set(propName, value);\n this.updateState({props:{}} as S);\n }\n\n setPropDefault(propName: string, value: any) {\n this.propertyProvider.setDefault(propName, value);\n }\n \n onPropertyChange(name: string, $new: any, $old: any) { \n }\n \n getDefaultStyles() {\n return this.theme.getStyle(this.defaultClass);\n }\n\n reset() {\n\n }\n\n updateState(newPartialState: S, callback?: ()=>void) {\n if (this.destroyed) {\n return;\n }\n const stateFn = (oldState: S) => {\n const oldProps = oldState.props;\n const newState = this.initialized ? assignIn({}, oldState, newPartialState) : assignIn(oldState, newPartialState);\n if (newPartialState.props) {\n Object.keys(newPartialState.props).forEach((k) => {\n //@ts-ignore\n oldProps[k] = newState.props[k];\n });\n newState.props = oldProps;\n }\n return newState;\n };\n const onUpdateState = () => {\n callback && callback();\n this.props.listener?.onComponentChange\n && this.props.listener?.onComponentChange(this);\n }\n if (!this.initialized) {\n this.state = stateFn(this.state);\n onUpdateState();\n } else {\n const timeoutId = setTimeout(() => {\n this.setState(stateFn, onUpdateState);\n this.updateStateTimeouts.splice(this.updateStateTimeouts.indexOf(timeoutId), 1);\n });\n this.updateStateTimeouts.push(timeoutId);\n }\n }\n\n shouldComponentUpdate(nextProps: T, nextState: S, nextContext: any) {\n if (this.propertyProvider.check(nextProps)) {\n return true;\n }\n for(let key in nextState) {\n if(key !== 'props' && (!(key in this.state) || nextState[key] !== this.state[key])) {\n return true;\n }\n }\n\n for(let key in this.state) {\n if(key !== 'props' && (!(key in nextState) || this.state[key] !== nextState[key])) {\n return true;\n }\n }\n return false;\n }\n\n componentDidMount() {\n if (this.props.listener && this.props.listener.onComponentInit) {\n this.props.listener.onComponentInit(this.proxy);\n }\n this.initialized = true;\n }\n\n componentWillAttach() {\n if (this.isFixed) {\n this.setState({hide: false});\n }\n }\n\n componentWillDetach() {\n if (this.isFixed) {\n this.setState({hide: true});\n }\n }\n\n componentWillUnmount() {\n this.destroyed = true;\n if (this.props.listener && this.props.listener.onComponentDestroy) {\n this.props.listener.onComponentDestroy(this.proxy);\n }\n this.cleanup.forEach(f => f && f());\n this.notifier.destroy();\n this.notifier.notify('destroy', []);\n }\n \n componentDidUpdate(prevProps: Readonly<T>, prevState: Readonly<S>, snapshot?: any): void {\n if (this.propertyProvider.check(this.props)) {\n this.forceUpdate();\n }\n }\n\n invokeEventCallback(eventName: string, args: any[]) {\n //@ts-ignore\n const callBack: Function = this.props[eventName];\n args = args && args.map(a => (a === this) ? this.proxy : a)\n if (callBack) {\n try {\n return callBack.apply(this.proxy, args);\n } catch(e) {\n console.error(e);\n }\n }\n }\n\n showView() {\n return this.isVisible();\n }\n\n isVisible() {\n const show = this.state.props.show;\n return show !== false && show !== 'false' && show !== '0' && !isNil(show) && show !== \"\";\n }\n\n protected abstract renderWidget(props: T): ReactNode;\n\n public refresh() {\n this.forceUpdate();\n }\n\n public cleanRefresh() {\n this.forceUpdate(() => this.notifier.notify('forceUpdate', []));\n }\n \n public renderSkeleton (props: T): ReactNode {\n return null;\n }\n\n public destroyParentListeners() {\n this.parentListenerDestroyers.map(fn => fn());\n }\n\n protected setParent(parent: BaseComponent<any, any, any>) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n this.notifier.setParent(parent.notifier);\n this.parentListenerDestroyers = [\n this.parent.subscribe('forceUpdate', () => {\n this.cleanRefresh();\n }),\n this.parent.subscribe('destroy', () => {\n this.destroyParentListeners();\n })\n ];\n }\n }\n\n copyStyles(property: string, from: any, to: any) {\n if (!isUndefined(from[property])) {\n to[property] = from[property];\n }\n }\n\n renderFixedContainer(props: T) {\n const style = {} as ViewStyle;\n const rootStyle = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0,\n width: \"100%\",\n height: \"100%\"\n } as ViewStyle;\n this.copyStyles('left', this.styles.root, style);\n this.copyStyles('top', this.styles.root, style);\n this.copyStyles('right', this.styles.root, style);\n this.copyStyles('bottom', this.styles.root, style);\n this.copyStyles('width', this.styles.root, style);\n this.copyStyles('height', this.styles.root, style);\n this.styles = this.theme.mergeStyle(this.styles, {root: rootStyle});\n return (<FixedView style={style} theme={this.theme}>{this.addAnimation(this.renderWidget(props))}</FixedView>);\n }\n\n private addAnimation(n: ReactNode) {\n if (!this.state.animatableProps) {\n return n;\n }\n return (<Animatable.View key={this.state.animationId} {...this.state.animatableProps}>{n}</Animatable.View>);\n }\n \n private setBackground() {\n const bgStyle = this.styles.root as any;\n this._background = (\n <BackgroundComponent \n image={bgStyle.backgroundImage}\n position={bgStyle.backgroundPosition}\n size={bgStyle.backgroundSize}\n repeat={bgStyle.backgroundRepeat}\n resizeMode={bgStyle.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}>\n </BackgroundComponent>\n );\n delete (this.styles.root as any)['backgroundImage'];\n delete (this.styles.root as any)['backgroundPosition'];\n delete (this.styles.root as any)['backgroundResizeMode'];\n delete (this.styles.root as any)['backgroundSize'];\n delete (this.styles.root as any)['backgroundRepeat'];\n }\n\n public getTestId(suffix?: string) {\n let id = this.props.id || this.props.name;\n if (this.testIdPrefix) {\n id = this.testIdPrefix + '_' + id;\n }\n if (suffix) {\n id = id + '_' + suffix;\n }\n return id;\n }\n\n public getTestProps(suffix?: string) {\n let id = this.getTestId(suffix);\n if (isScreenReaderEnabled()) {\n return {};\n }\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public getStyleClassName() {\n return this.state.props.classname;\n }\n\n public getTestPropsForInput(suffix?: string) {\n return this.getTestProps(suffix || 'i');\n }\n\n public getTestPropsForAction(suffix?: string) {\n return this.getTestProps(suffix || 'a');\n }\n\n public getTestPropsForLabel(suffix?: string) {\n return this.getTestProps(suffix || 'l');\n }\n\n private getDependenciesFromContext(fn: () => ReactNode) {\n return (\n <TappableContext.Consumer>{(tappable) => {\n this.closestTappable = tappable;\n return (\n <TextIdPrefixConsumer>\n {(testIdPrefix) => {\n this.testIdPrefix = testIdPrefix || '';\n return (<AssetConsumer>\n {(loadAsset) => {\n this.loadAsset = loadAsset;\n return (<ParentContext.Consumer>\n {(parent) => {\n this.setParent(parent);\n this._showSkeleton = this.state.props.showskeleton !== false \n && (this.parent?._showSkeleton || this.state.props.showskeleton === true);\n return (\n <ParentContext.Provider value={this}>\n <ThemeConsumer>\n {(theme) => { \n this.theme = theme || BASE_THEME;\n return fn();\n }}\n </ThemeConsumer>\n </ParentContext.Provider>);\n }} \n </ParentContext.Consumer>);\n }}\n </AssetConsumer>);\n }}\n </TextIdPrefixConsumer>)}}\n </TappableContext.Consumer>); \n }\n \n public render(): ReactNode {\n const props = this.state.props;\n this.isFixed = false;\n const selectedLocale = this.i18nService.getSelectedLocale();\n return this.getDependenciesFromContext(() => {\n WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);\n this._showView = this._showView || this.showView();\n if (this.state.hide \n || (!this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM)\n || !this._showView) {\n return null;\n }\n const classname = this.getStyleClassName();\n this.styles = this.theme.mergeStyle(\n this.getDefaultStyles(),\n {text: this.theme.getStyle('app-' + selectedLocale)},\n {text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)},\n props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null,\n this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null,\n classname && this.theme.getStyle(classname),\n props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')),\n this.theme.cleanseStyleProperties(this.props.styles),\n this.theme.cleanseStyleProperties({\n root: this.styleOverrides,\n text: this.styleOverrides\n }));\n if (this.styles.root.hasOwnProperty('_background')) {\n delete this.styles.root.backgroundColor;\n }\n if (!this.isVisible()) {\n assign(this.styles, this.theme.getStyle('hidden'))\n }\n let eleToRender = (this._showSkeleton && this.renderSkeleton(props));\n if (eleToRender) {\n return eleToRender;\n }\n this.setBackground();\n this.isFixed = (this.styles.root.position as any) === 'fixed';\n if (this.isFixed) {\n this.styles.root.position = undefined;\n return this.renderFixedContainer(props);\n }\n return this.addAnimation(this.renderWidget(this.state.props)); \n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -36,7 +36,6 @@ const WmCursor = /*#__PURE__*/React.memo(props => {
36
36
  export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
37
37
  var _props$customDisplayV, _props$floatingLabel;
38
38
  const [selectRange, setSelectRange] = useState(null);
39
- const [isInputFocused, setIsInputFocused] = useState(false);
40
39
  const [iMask, setIMask] = useState(null);
41
40
  const [displayCursor, setDisplayCursor] = useState(false);
42
41
  const value = useRef(props.value || '');
@@ -128,11 +127,11 @@ export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
128
127
  const textStyle = Object.assign({}, ...(isArray(props.style) ? props.style : [props.style]));
129
128
  const hideInput = props.displayformat || props.maskchar;
130
129
  return /*#__PURE__*/React.createElement(React.Fragment, null, props.floatingLabel ? /*#__PURE__*/React.createElement(FloatingLabel, {
131
- moveUp: !!(value.current || isInputFocused || displayValue),
130
+ moveUp: !!(value.current || props.isInputFocused || displayValue),
132
131
  label: (_props$floatingLabel = props.floatingLabel) !== null && _props$floatingLabel !== void 0 ? _props$floatingLabel : props.placeholder,
133
132
  style: {
134
133
  ...(props.floatingLabelStyle || []),
135
- ...(isInputFocused ? props.activeFloatingLabelStyle || {} : {})
134
+ ...(props.isInputFocused ? props.activeFloatingLabelStyle || {} : {})
136
135
  }
137
136
  }) : null, /*#__PURE__*/React.createElement(TextInput, _extends({}, props, hideInput || props.customDisplayValue ? opts : {}, {
138
137
  placeholder: props.floatingLabel || displayValue ? '' : props.placeholder,
@@ -145,14 +144,12 @@ export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
145
144
  onFocus: e => {
146
145
  var _props$onFocus;
147
146
  (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props, e);
148
- setIsInputFocused(true);
149
147
  setDisplayCursor(true);
150
148
  element.current = e.target;
151
149
  },
152
150
  onBlur: e => {
153
151
  var _props$onBlur;
154
152
  props === null || props === void 0 || (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
155
- setIsInputFocused(false);
156
153
  setDisplayCursor(false);
157
154
  },
158
155
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useRef","useState","Animated","Platform","Text","TextInput","View","isArray","IMask","FloatingLabel","WmCursor","memo","props","opacityAnimation","Value","current","runAnimation","timing","toValue","duration","useNativeDriver","start","createElement","testID","style","backgroundColor","color","width","marginHorizontal","height","opacity","WMTextInput","forwardRef","ref","_props$customDisplayV","_props$floatingLabel","selectRange","setSelectRange","isInputFocused","setIsInputFocused","iMask","setIMask","displayCursor","setDisplayCursor","value","x","forceUpdate","displayValue","setDisplayValue","element","displayformat","MaskedPattern","mask","skipInvalid","lazy","definitions","typedValue","defaultValue","onChangeText","setTimeout","OS","maskchar","_element$current","setSelectionRange","length","onSelectionChange","e","_e$nativeEvent","selection","nativeEvent","allowContentSelection","end","text","_value","substring","slice","formattedValue","replace","valueExpr","opts","customDisplayValue","textStyle","Object","assign","hideInput","Fragment","floatingLabel","moveUp","label","placeholder","floatingLabelStyle","activeFloatingLabelStyle","_extends","borderColor","zIndex","onFocus","_props$onFocus","call","target","onBlur","_props$onBlur","caretHidden","selectionColor","cursorColor","onChange","contextMenuHidden","display","flexDirection","alignItems","marginTop","minHeight","undefined","padding","fontFamily","fontSize","fontWeight"],"sources":["textinput.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useCallback, useEffect, useRef, useState } from 'react';\nimport { Animated, Platform, Text, TextInput, TextInputProps, TextStyle, View } from 'react-native';\nimport { isArray } from 'lodash';\nimport IMask from 'imask';\nimport { FloatingLabel } from './floatinglabel.component';\n\ninterface SelectRange {\n start: number,\n end: number\n}\n\nconst WmCursor = React.memo((props: {\n color: string,\n height: number\n}) => {\n const opacityAnimation = useRef(new Animated.Value(0.5)).current;\n const runAnimation = useCallback(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.2,\n duration: 500,\n useNativeDriver: true\n }).start(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.6,\n duration: 500,\n useNativeDriver: true\n }).start(runAnimation);\n });\n }, []);\n useEffect(() => {\n runAnimation();\n }, []);\n return (\n <Animated.View \n testID=\"wm-custom-cursor\"\n style={{\n backgroundColor: props.color,\n width: 2,\n marginHorizontal: 1,\n height: props.height,\n opacity: opacityAnimation\n }}></Animated.View>\n );\n});\n\nexport const WMTextInput = React.forwardRef((props: (TextInputProps & \n {allowContentSelection: boolean,\n displayformat: string,\n maskchar: string,\n floatingLabel: string\n floatingLabelStyle: TextStyle,\n activeFloatingLabelStyle: TextStyle,\n customDisplayValue?: string\n }), \n ref: ForwardedRef<TextInput>) => {\n const [selectRange, setSelectRange] = useState<SelectRange>(null as any);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [iMask, setIMask] = useState(null as any);\n const [displayCursor, setDisplayCursor] = useState(false);\n const value = useRef(props.value || '');\n const [x, forceUpdate] = useState(1);\n const [displayValue, setDisplayValue] = useState('');\n const element = useRef(null as any);\n // iMask initialization\n useEffect(() => {\n const iMask: any = props.displayformat ? new IMask.MaskedPattern({\n mask: props.displayformat,\n skipInvalid: true,\n lazy: false,\n definitions: {\n '9': /\\d/,\n 'A': /[a-zA-Z]/,\n 'a': /[a-z]/,\n '*': /\\w/\n }\n }) : null;\n if (iMask) {\n iMask.typedValue = value;\n setDisplayValue(iMask.displayValue)\n setIMask(iMask);\n }\n },[props.displayformat]);\n // set default value\n useEffect(() => {\n const defaultValue = props.defaultValue || props.value || '';\n if (defaultValue && !value.current) {\n value.current = defaultValue;\n onChangeText(defaultValue);\n }\n },[props.defaultValue, props.value]);\n // set cursor position in windows\n useEffect(() => {\n setTimeout(() => {\n if (Platform.OS === 'web' && (props.displayformat || props.maskchar)) {\n element?.current?.setSelectionRange(value.current.length, value.current.length);\n }\n }, 100);\n }, [value.current, props]);\n const onSelectionChange = useCallback((e: any) => {\n if (Platform.OS !== 'android') {\n return;\n }\n const selection = e?.nativeEvent?.selection;\n if (!props.allowContentSelection\n && selection\n && selection.end - selection.start > 0) {\n setSelectRange({\n start: value.current.length + 2,\n end: value.current.length + 2\n });\n } else if (selectRange && selectRange.end > 0){\n setSelectRange(null as any);\n }\n }, [props.allowContentSelection, value]);\n // when text changes\n const onChangeText = useCallback((text: string) => {\n if (!(iMask || props.maskchar)) {\n value.current = text;\n props.onChangeText && props.onChangeText(text);\n return;\n }\n let _value = value.current || '';\n if (value.current.length - text.length > 0) {\n _value = _value.substring(0, _value.length - (value.current.length - text.length));\n } else if (text.length - value.current.length > 0) {\n _value += text.slice(-1 * (text.length - value.current.length));\n }\n let formattedValue = _value;\n if(props.maskchar) {\n formattedValue = (_value.replace(/./g, props.maskchar));\n }\n if (iMask) {\n iMask.typedValue = _value;\n formattedValue = iMask.displayValue;\n }\n if (formattedValue !== displayValue) {\n value.current = _value;\n props.onChangeText && props.onChangeText(_value);\n }\n forceUpdate(x+ 1);\n setDisplayValue(formattedValue);\n }, [iMask, value, displayValue, props.onChangeText]);\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const opts = {} as any;\n opts[valueExpr] = props.customDisplayValue ?? value.current;\n const textStyle = Object.assign({}, ...isArray(props.style) ? props.style: [props.style]);\n const hideInput = props.displayformat || props.maskchar;\n return (\n <>\n {props.floatingLabel ? (\n <FloatingLabel\n moveUp={!!(value.current || isInputFocused || displayValue)}\n label={props.floatingLabel ?? props.placeholder} \n style={{\n ...(props.floatingLabelStyle || []),\n ...(isInputFocused ? (props.activeFloatingLabelStyle || {}) : {})\n }}/>\n ) : null}\n <TextInput\n {...props}\n {...hideInput || props.customDisplayValue ? opts: {}}\n placeholder={props.floatingLabel || displayValue ? '' : props.placeholder }\n style={[props.style, hideInput ? {\n color: 'transparent', \n backgroundColor: 'transparent',\n borderColor: 'transparent',\n zIndex: 1\n } : {}]}\n onFocus={(e) => {\n props.onFocus?.(e);\n setIsInputFocused(true);\n setDisplayCursor(true);\n element.current = e.target;\n }}\n onBlur={(e) => {\n props?.onBlur?.(e);\n setIsInputFocused(false);\n setDisplayCursor(false);\n }}\n ref={ref}\n selection={selectRange}\n onSelectionChange={onSelectionChange}\n caretHidden={!!selectRange?.end}\n onChangeText={(text) => {\n onChangeText(text);\n }}\n {...hideInput ? {\n selectionColor: 'transparent',\n cursorColor: 'transparent',\n onChange : () => {}\n }: {}}\n contextMenuHidden={!props.allowContentSelection}\n ></TextInput>\n {\n hideInput ? (\n <View style={[props.style, {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n marginTop: -1 * (textStyle.height || textStyle.minHeight || 0)\n + (textStyle.marginTop || 0)}]}>\n <Text style={{ \n width: undefined,\n backgroundColor: 'transparent', \n borderColor: 'transparent',\n padding: 0,\n display: 'flex',\n color: textStyle.color,\n fontFamily: textStyle.fontFamily,\n fontSize: textStyle.fontSize,\n fontWeight: textStyle.fontWeight\n }}>\n {displayValue}\n </Text>\n {\n (displayCursor && !props.displayformat) ? React.createElement(WmCursor, {\n color: textStyle.color || '#000000',\n height: textStyle.fontSize || 14\n }) : null\n }\n </View>\n ) : null\n }\n </>\n );\n});"],"mappings":";AAAA,OAAOA,KAAK,IAAkBC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACrF,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,SAAS,EAA6BC,IAAI,QAAQ,cAAc;AACnG,SAASC,OAAO,QAAQ,QAAQ;AAChC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,QAAQ,2BAA2B;AAOzD,MAAMC,QAAQ,gBAAGb,KAAK,CAACc,IAAI,CAAEC,KAG5B,IAAK;EACJ,MAAMC,gBAAgB,GAAGb,MAAM,CAAC,IAAIE,QAAQ,CAACY,KAAK,CAAC,GAAG,CAAC,CAAC,CAACC,OAAO;EAChE,MAAMC,YAAY,GAAGlB,WAAW,CAAC,MAAM;IACrCI,QAAQ,CAACe,MAAM,CAACJ,gBAAgB,EAAE;MAChCK,OAAO,EAAE,GAAG;MACZC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM;MACbnB,QAAQ,CAACe,MAAM,CAACJ,gBAAgB,EAAE;QAChCK,OAAO,EAAE,GAAG;QACZC,QAAQ,EAAE,GAAG;QACbC,eAAe,EAAE;MACnB,CAAC,CAAC,CAACC,KAAK,CAACL,YAAY,CAAC;IACxB,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EACNjB,SAAS,CAAC,MAAM;IACdiB,YAAY,CAAC,CAAC;EAChB,CAAC,EAAE,EAAE,CAAC;EACN,oBACEnB,KAAA,CAAAyB,aAAA,CAACpB,QAAQ,CAACI,IAAI;IACdiB,MAAM,EAAC,kBAAkB;IACzBC,KAAK,EAAE;MACLC,eAAe,EAAEb,KAAK,CAACc,KAAK;MAC5BC,KAAK,EAAE,CAAC;MACRC,gBAAgB,EAAE,CAAC;MACnBC,MAAM,EAAEjB,KAAK,CAACiB,MAAM;MACpBC,OAAO,EAAEjB;IACX;EAAE,CAAgB,CAAC;AAEvB,CAAC,CAAC;AAEF,OAAO,MAAMkB,WAAW,gBAAGlC,KAAK,CAACmC,UAAU,CAAC,CAACpB,KAQzC,EACAqB,GAA4B,KAAK;EAAA,IAAAC,qBAAA,EAAAC,oBAAA;EACjC,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGpC,QAAQ,CAAc,IAAW,CAAC;EACxE,MAAM,CAACqC,cAAc,EAAEC,iBAAiB,CAAC,GAAGtC,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAACuC,KAAK,EAAEC,QAAQ,CAAC,GAAGxC,QAAQ,CAAC,IAAW,CAAC;EAC/C,MAAM,CAACyC,aAAa,EAAEC,gBAAgB,CAAC,GAAG1C,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM2C,KAAK,GAAG5C,MAAM,CAACY,KAAK,CAACgC,KAAK,IAAI,EAAE,CAAC;EACvC,MAAM,CAACC,CAAC,EAAEC,WAAW,CAAC,GAAG7C,QAAQ,CAAC,CAAC,CAAC;EACpC,MAAM,CAAC8C,YAAY,EAAEC,eAAe,CAAC,GAAG/C,QAAQ,CAAC,EAAE,CAAC;EACpD,MAAMgD,OAAO,GAAGjD,MAAM,CAAC,IAAW,CAAC;EACnC;EACAD,SAAS,CAAC,MAAM;IACd,MAAMyC,KAAU,GAAG5B,KAAK,CAACsC,aAAa,GAAG,IAAI1C,KAAK,CAAC2C,aAAa,CAAC;MAC/DC,IAAI,EAAExC,KAAK,CAACsC,aAAa;MACzBG,WAAW,EAAE,IAAI;MACjBC,IAAI,EAAE,KAAK;MACXC,WAAW,EAAE;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,UAAU;QACf,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE;MACT;IACF,CAAC,CAAC,GAAG,IAAI;IACT,IAAIf,KAAK,EAAE;MACTA,KAAK,CAACgB,UAAU,GAAGZ,KAAK;MACxBI,eAAe,CAACR,KAAK,CAACO,YAAY,CAAC;MACnCN,QAAQ,CAACD,KAAK,CAAC;IACjB;EACF,CAAC,EAAC,CAAC5B,KAAK,CAACsC,aAAa,CAAC,CAAC;EACxB;EACAnD,SAAS,CAAC,MAAM;IACd,MAAM0D,YAAY,GAAG7C,KAAK,CAAC6C,YAAY,IAAI7C,KAAK,CAACgC,KAAK,IAAI,EAAE;IAC5D,IAAIa,YAAY,IAAI,CAACb,KAAK,CAAC7B,OAAO,EAAE;MAClC6B,KAAK,CAAC7B,OAAO,GAAG0C,YAAY;MAC5BC,YAAY,CAACD,YAAY,CAAC;IAC5B;EACF,CAAC,EAAC,CAAC7C,KAAK,CAAC6C,YAAY,EAAE7C,KAAK,CAACgC,KAAK,CAAC,CAAC;EACpC;EACA7C,SAAS,CAAC,MAAM;IACd4D,UAAU,CAAC,MAAM;MACf,IAAIxD,QAAQ,CAACyD,EAAE,KAAK,KAAK,KAAKhD,KAAK,CAACsC,aAAa,IAAItC,KAAK,CAACiD,QAAQ,CAAC,EAAE;QAAA,IAAAC,gBAAA;QACpEb,OAAO,aAAPA,OAAO,gBAAAa,gBAAA,GAAPb,OAAO,CAAElC,OAAO,cAAA+C,gBAAA,eAAhBA,gBAAA,CAAkBC,iBAAiB,CAACnB,KAAK,CAAC7B,OAAO,CAACiD,MAAM,EAAEpB,KAAK,CAAC7B,OAAO,CAACiD,MAAM,CAAC;MACjF;IACF,CAAC,EAAE,GAAG,CAAC;EACT,CAAC,EAAE,CAACpB,KAAK,CAAC7B,OAAO,EAAEH,KAAK,CAAC,CAAC;EAC1B,MAAMqD,iBAAiB,GAAGnE,WAAW,CAAEoE,CAAM,IAAK;IAAA,IAAAC,cAAA;IAC9C,IAAIhE,QAAQ,CAACyD,EAAE,KAAK,SAAS,EAAE;MAC3B;IACJ;IACA,MAAMQ,SAAS,GAAGF,CAAC,aAADA,CAAC,gBAAAC,cAAA,GAADD,CAAC,CAAEG,WAAW,cAAAF,cAAA,uBAAdA,cAAA,CAAgBC,SAAS;IAC3C,IAAI,CAACxD,KAAK,CAAC0D,qBAAqB,IACzBF,SAAS,IACTA,SAAS,CAACG,GAAG,GAAGH,SAAS,CAAC/C,KAAK,GAAG,CAAC,EAAE;MACxCgB,cAAc,CAAC;QACXhB,KAAK,EAAEuB,KAAK,CAAC7B,OAAO,CAACiD,MAAM,GAAG,CAAC;QAC/BO,GAAG,EAAE3B,KAAK,CAAC7B,OAAO,CAACiD,MAAM,GAAG;MAChC,CAAC,CAAC;IACN,CAAC,MAAM,IAAI5B,WAAW,IAAIA,WAAW,CAACmC,GAAG,GAAG,CAAC,EAAC;MAC1ClC,cAAc,CAAC,IAAW,CAAC;IAC/B;EACJ,CAAC,EAAE,CAACzB,KAAK,CAAC0D,qBAAqB,EAAE1B,KAAK,CAAC,CAAC;EACxC;EACA,MAAMc,YAAY,GAAG5D,WAAW,CAAE0E,IAAY,IAAK;IACjD,IAAI,EAAEhC,KAAK,IAAI5B,KAAK,CAACiD,QAAQ,CAAC,EAAE;MAC9BjB,KAAK,CAAC7B,OAAO,GAAGyD,IAAI;MACpB5D,KAAK,CAAC8C,YAAY,IAAI9C,KAAK,CAAC8C,YAAY,CAACc,IAAI,CAAC;MAC9C;IACF;IACA,IAAIC,MAAM,GAAG7B,KAAK,CAAC7B,OAAO,IAAI,EAAE;IAChC,IAAI6B,KAAK,CAAC7B,OAAO,CAACiD,MAAM,GAAGQ,IAAI,CAACR,MAAM,GAAG,CAAC,EAAE;MAC1CS,MAAM,GAAGA,MAAM,CAACC,SAAS,CAAC,CAAC,EAAED,MAAM,CAACT,MAAM,IAAIpB,KAAK,CAAC7B,OAAO,CAACiD,MAAM,GAAGQ,IAAI,CAACR,MAAM,CAAC,CAAC;IACpF,CAAC,MAAM,IAAIQ,IAAI,CAACR,MAAM,GAAGpB,KAAK,CAAC7B,OAAO,CAACiD,MAAM,GAAG,CAAC,EAAE;MACjDS,MAAM,IAAID,IAAI,CAACG,KAAK,CAAC,CAAC,CAAC,IAAIH,IAAI,CAACR,MAAM,GAAGpB,KAAK,CAAC7B,OAAO,CAACiD,MAAM,CAAC,CAAC;IACjE;IACA,IAAIY,cAAc,GAAGH,MAAM;IAC3B,IAAG7D,KAAK,CAACiD,QAAQ,EAAE;MACjBe,cAAc,GAAIH,MAAM,CAACI,OAAO,CAAC,IAAI,EAAEjE,KAAK,CAACiD,QAAQ,CAAE;IACzD;IACA,IAAIrB,KAAK,EAAE;MACTA,KAAK,CAACgB,UAAU,GAAGiB,MAAM;MACzBG,cAAc,GAAGpC,KAAK,CAACO,YAAY;IACrC;IACA,IAAI6B,cAAc,KAAK7B,YAAY,EAAE;MACnCH,KAAK,CAAC7B,OAAO,GAAG0D,MAAM;MACtB7D,KAAK,CAAC8C,YAAY,IAAI9C,KAAK,CAAC8C,YAAY,CAACe,MAAM,CAAC;IAClD;IACA3B,WAAW,CAACD,CAAC,GAAE,CAAC,CAAC;IACjBG,eAAe,CAAC4B,cAAc,CAAC;EACjC,CAAC,EAAE,CAACpC,KAAK,EAAEI,KAAK,EAAEG,YAAY,EAAEnC,KAAK,CAAC8C,YAAY,CAAC,CAAC;EACpD,MAAMoB,SAAS,GAAG3E,QAAQ,CAACyD,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,cAAc;EAClE,MAAMmB,IAAI,GAAG,CAAC,CAAQ;EACtBA,IAAI,CAACD,SAAS,CAAC,IAAA5C,qBAAA,GAAGtB,KAAK,CAACoE,kBAAkB,cAAA9C,qBAAA,cAAAA,qBAAA,GAAIU,KAAK,CAAC7B,OAAO;EAC3D,MAAMkE,SAAS,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAG5E,OAAO,CAACK,KAAK,CAACY,KAAK,CAAC,GAAGZ,KAAK,CAACY,KAAK,GAAE,CAACZ,KAAK,CAACY,KAAK,CAAC,EAAC;EACzF,MAAM4D,SAAS,GAAGxE,KAAK,CAACsC,aAAa,IAAItC,KAAK,CAACiD,QAAQ;EACvD,oBACEhE,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAAwF,QAAA,QACGzE,KAAK,CAAC0E,aAAa,gBAClBzF,KAAA,CAAAyB,aAAA,CAACb,aAAa;IACZ8E,MAAM,EAAE,CAAC,EAAE3C,KAAK,CAAC7B,OAAO,IAAIuB,cAAc,IAAIS,YAAY,CAAE;IAC5DyC,KAAK,GAAArD,oBAAA,GAAEvB,KAAK,CAAC0E,aAAa,cAAAnD,oBAAA,cAAAA,oBAAA,GAAIvB,KAAK,CAAC6E,WAAY;IAChDjE,KAAK,EAAE;MACL,IAAIZ,KAAK,CAAC8E,kBAAkB,IAAI,EAAE,CAAC;MACnC,IAAIpD,cAAc,GAAI1B,KAAK,CAAC+E,wBAAwB,IAAI,CAAC,CAAC,GAAI,CAAC,CAAC;IAClE;EAAE,CAAC,CAAC,GACJ,IAAI,eACR9F,KAAA,CAAAyB,aAAA,CAACjB,SAAS,EAAAuF,QAAA,KACJhF,KAAK,EACLwE,SAAS,IAAIxE,KAAK,CAACoE,kBAAkB,GAAGD,IAAI,GAAE,CAAC,CAAC;IACpDU,WAAW,EAAE7E,KAAK,CAAC0E,aAAa,IAAIvC,YAAY,GAAG,EAAE,GAAGnC,KAAK,CAAC6E,WAAa;IAC3EjE,KAAK,EAAE,CAACZ,KAAK,CAACY,KAAK,EAAE4D,SAAS,GAAG;MAC/B1D,KAAK,EAAE,aAAa;MACpBD,eAAe,EAAE,aAAa;MAC9BoE,WAAW,EAAE,aAAa;MAC1BC,MAAM,EAAE;IACV,CAAC,GAAG,CAAC,CAAC,CAAE;IACRC,OAAO,EAAG7B,CAAC,IAAK;MAAA,IAAA8B,cAAA;MACd,CAAAA,cAAA,GAAApF,KAAK,CAACmF,OAAO,cAAAC,cAAA,eAAbA,cAAA,CAAAC,IAAA,CAAArF,KAAK,EAAWsD,CAAC,CAAC;MAClB3B,iBAAiB,CAAC,IAAI,CAAC;MACvBI,gBAAgB,CAAC,IAAI,CAAC;MACtBM,OAAO,CAAClC,OAAO,GAAGmD,CAAC,CAACgC,MAAM;IAC5B,CAAE;IACFC,MAAM,EAAGjC,CAAC,IAAK;MAAA,IAAAkC,aAAA;MACbxF,KAAK,aAALA,KAAK,gBAAAwF,aAAA,GAALxF,KAAK,CAAEuF,MAAM,cAAAC,aAAA,eAAbA,aAAA,CAAAH,IAAA,CAAArF,KAAK,EAAWsD,CAAC,CAAC;MAClB3B,iBAAiB,CAAC,KAAK,CAAC;MACxBI,gBAAgB,CAAC,KAAK,CAAC;IACzB,CAAE;IACFV,GAAG,EAAEA,GAAI;IACTmC,SAAS,EAAEhC,WAAY;IACvB6B,iBAAiB,EAAEA,iBAAkB;IACrCoC,WAAW,EAAE,CAAC,EAACjE,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEmC,GAAG,CAAC;IAChCb,YAAY,EAAGc,IAAI,IAAK;MACtBd,YAAY,CAACc,IAAI,CAAC;IACpB;EAAE,GACEY,SAAS,GAAG;IACdkB,cAAc,EAAE,aAAa;IAC7BC,WAAW,EAAE,aAAa;IAC1BC,QAAQ,EAAGA,CAAA,KAAM,CAAC;EACpB,CAAC,GAAE,CAAC,CAAC;IACLC,iBAAiB,EAAE,CAAC7F,KAAK,CAAC0D;EAAsB,EACtC,CAAC,EAEXc,SAAS,gBACPvF,KAAA,CAAAyB,aAAA,CAAChB,IAAI;IAACkB,KAAK,EAAE,CAACZ,KAAK,CAACY,KAAK,EAAE;MACzBkF,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpBC,SAAS,EAAE,CAAC,CAAC,IAAI5B,SAAS,CAACpD,MAAM,IAAIoD,SAAS,CAAC6B,SAAS,IAAI,CAAC,CAAC,IACzD7B,SAAS,CAAC4B,SAAS,IAAI,CAAC;IAAC,CAAC;EAAE,gBACjChH,KAAA,CAAAyB,aAAA,CAAClB,IAAI;IAACoB,KAAK,EAAE;MACXG,KAAK,EAAEoF,SAAS;MAChBtF,eAAe,EAAE,aAAa;MAC9BoE,WAAW,EAAE,aAAa;MAC1BmB,OAAO,EAAE,CAAC;MACVN,OAAO,EAAE,MAAM;MACfhF,KAAK,EAAEuD,SAAS,CAACvD,KAAK;MACtBuF,UAAU,EAAEhC,SAAS,CAACgC,UAAU;MAChCC,QAAQ,EAAEjC,SAAS,CAACiC,QAAQ;MAC5BC,UAAU,EAAElC,SAAS,CAACkC;IACtB;EAAE,GACDpE,YACG,CAAC,EAEJL,aAAa,IAAI,CAAC9B,KAAK,CAACsC,aAAa,gBAAIrD,KAAK,CAACyB,aAAa,CAACZ,QAAQ,EAAE;IACtEgB,KAAK,EAAEuD,SAAS,CAACvD,KAAK,IAAI,SAAS;IACnCG,MAAM,EAAEoD,SAAS,CAACiC,QAAQ,IAAI;EAChC,CAAC,CAAC,GAAG,IAEH,CAAC,GACL,IAEN,CAAC;AAET,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useRef","useState","Animated","Platform","Text","TextInput","View","isArray","IMask","FloatingLabel","WmCursor","memo","props","opacityAnimation","Value","current","runAnimation","timing","toValue","duration","useNativeDriver","start","createElement","testID","style","backgroundColor","color","width","marginHorizontal","height","opacity","WMTextInput","forwardRef","ref","_props$customDisplayV","_props$floatingLabel","selectRange","setSelectRange","iMask","setIMask","displayCursor","setDisplayCursor","value","x","forceUpdate","displayValue","setDisplayValue","element","displayformat","MaskedPattern","mask","skipInvalid","lazy","definitions","typedValue","defaultValue","onChangeText","setTimeout","OS","maskchar","_element$current","setSelectionRange","length","onSelectionChange","e","_e$nativeEvent","selection","nativeEvent","allowContentSelection","end","text","_value","substring","slice","formattedValue","replace","valueExpr","opts","customDisplayValue","textStyle","Object","assign","hideInput","Fragment","floatingLabel","moveUp","isInputFocused","label","placeholder","floatingLabelStyle","activeFloatingLabelStyle","_extends","borderColor","zIndex","onFocus","_props$onFocus","call","target","onBlur","_props$onBlur","caretHidden","selectionColor","cursorColor","onChange","contextMenuHidden","display","flexDirection","alignItems","marginTop","minHeight","undefined","padding","fontFamily","fontSize","fontWeight"],"sources":["textinput.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useCallback, useEffect, useRef, useState } from 'react';\nimport { Animated, Platform, Text, TextInput, TextInputProps, TextStyle, View } from 'react-native';\nimport { isArray } from 'lodash';\nimport IMask from 'imask';\nimport { FloatingLabel } from './floatinglabel.component';\n\ninterface SelectRange {\n start: number,\n end: number\n}\n\nconst WmCursor = React.memo((props: {\n color: string,\n height: number\n}) => {\n const opacityAnimation = useRef(new Animated.Value(0.5)).current;\n const runAnimation = useCallback(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.2,\n duration: 500,\n useNativeDriver: true\n }).start(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.6,\n duration: 500,\n useNativeDriver: true\n }).start(runAnimation);\n });\n }, []);\n useEffect(() => {\n runAnimation();\n }, []);\n return (\n <Animated.View \n testID=\"wm-custom-cursor\"\n style={{\n backgroundColor: props.color,\n width: 2,\n marginHorizontal: 1,\n height: props.height,\n opacity: opacityAnimation\n }}></Animated.View>\n );\n});\n\nexport const WMTextInput = React.forwardRef((props: (TextInputProps & \n {allowContentSelection: boolean,\n displayformat: string,\n maskchar: string,\n floatingLabel: string\n floatingLabelStyle: TextStyle,\n activeFloatingLabelStyle: TextStyle,\n customDisplayValue?: string,\n isInputFocused: boolean\n }), \n ref: ForwardedRef<TextInput>) => {\n const [selectRange, setSelectRange] = useState<SelectRange>(null as any);\n const [iMask, setIMask] = useState(null as any);\n const [displayCursor, setDisplayCursor] = useState(false);\n const value = useRef(props.value || '');\n const [x, forceUpdate] = useState(1);\n const [displayValue, setDisplayValue] = useState('');\n const element = useRef(null as any);\n // iMask initialization\n useEffect(() => {\n const iMask: any = props.displayformat ? new IMask.MaskedPattern({\n mask: props.displayformat,\n skipInvalid: true,\n lazy: false,\n definitions: {\n '9': /\\d/,\n 'A': /[a-zA-Z]/,\n 'a': /[a-z]/,\n '*': /\\w/\n }\n }) : null;\n if (iMask) {\n iMask.typedValue = value;\n setDisplayValue(iMask.displayValue)\n setIMask(iMask);\n }\n },[props.displayformat]);\n // set default value\n useEffect(() => {\n const defaultValue = props.defaultValue || props.value || '';\n if (defaultValue && !value.current) {\n value.current = defaultValue;\n onChangeText(defaultValue);\n }\n },[props.defaultValue, props.value]);\n // set cursor position in windows\n useEffect(() => {\n setTimeout(() => {\n if (Platform.OS === 'web' && (props.displayformat || props.maskchar)) {\n element?.current?.setSelectionRange(value.current.length, value.current.length);\n }\n }, 100);\n }, [value.current, props]);\n const onSelectionChange = useCallback((e: any) => {\n if (Platform.OS !== 'android') {\n return;\n }\n const selection = e?.nativeEvent?.selection;\n if (!props.allowContentSelection\n && selection\n && selection.end - selection.start > 0) {\n setSelectRange({\n start: value.current.length + 2,\n end: value.current.length + 2\n });\n } else if (selectRange && selectRange.end > 0){\n setSelectRange(null as any);\n }\n }, [props.allowContentSelection, value]);\n // when text changes\n const onChangeText = useCallback((text: string) => {\n if (!(iMask || props.maskchar)) {\n value.current = text;\n props.onChangeText && props.onChangeText(text);\n return;\n }\n let _value = value.current || '';\n if (value.current.length - text.length > 0) {\n _value = _value.substring(0, _value.length - (value.current.length - text.length));\n } else if (text.length - value.current.length > 0) {\n _value += text.slice(-1 * (text.length - value.current.length));\n }\n let formattedValue = _value;\n if(props.maskchar) {\n formattedValue = (_value.replace(/./g, props.maskchar));\n }\n if (iMask) {\n iMask.typedValue = _value;\n formattedValue = iMask.displayValue;\n }\n if (formattedValue !== displayValue) {\n value.current = _value;\n props.onChangeText && props.onChangeText(_value);\n }\n forceUpdate(x+ 1);\n setDisplayValue(formattedValue);\n }, [iMask, value, displayValue, props.onChangeText]);\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const opts = {} as any;\n opts[valueExpr] = props.customDisplayValue ?? value.current;\n const textStyle = Object.assign({}, ...isArray(props.style) ? props.style: [props.style]);\n const hideInput = props.displayformat || props.maskchar;\n return (\n <>\n {props.floatingLabel ? (\n <FloatingLabel\n moveUp={!!(value.current || props.isInputFocused || displayValue)}\n label={props.floatingLabel ?? props.placeholder} \n style={{\n ...(props.floatingLabelStyle || []),\n ...(props.isInputFocused ? (props.activeFloatingLabelStyle || {}) : {})\n }}/>\n ) : null}\n <TextInput\n {...props}\n {...hideInput || props.customDisplayValue ? opts: {}}\n placeholder={props.floatingLabel || displayValue ? '' : props.placeholder }\n style={[props.style, hideInput ? {\n color: 'transparent', \n backgroundColor: 'transparent',\n borderColor: 'transparent',\n zIndex: 1\n } : {}]}\n onFocus={(e) => {\n props.onFocus?.(e);\n setDisplayCursor(true);\n element.current = e.target;\n }}\n onBlur={(e) => {\n props?.onBlur?.(e);\n setDisplayCursor(false);\n }}\n ref={ref}\n selection={selectRange}\n onSelectionChange={onSelectionChange}\n caretHidden={!!selectRange?.end}\n onChangeText={(text) => {\n onChangeText(text);\n }}\n {...hideInput ? {\n selectionColor: 'transparent',\n cursorColor: 'transparent',\n onChange : () => {}\n }: {}}\n contextMenuHidden={!props.allowContentSelection}\n ></TextInput>\n {\n hideInput ? (\n <View style={[props.style, {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n marginTop: -1 * (textStyle.height || textStyle.minHeight || 0)\n + (textStyle.marginTop || 0)}]}>\n <Text style={{ \n width: undefined,\n backgroundColor: 'transparent', \n borderColor: 'transparent',\n padding: 0,\n display: 'flex',\n color: textStyle.color,\n fontFamily: textStyle.fontFamily,\n fontSize: textStyle.fontSize,\n fontWeight: textStyle.fontWeight\n }}>\n {displayValue}\n </Text>\n {\n (displayCursor && !props.displayformat) ? React.createElement(WmCursor, {\n color: textStyle.color || '#000000',\n height: textStyle.fontSize || 14\n }) : null\n }\n </View>\n ) : null\n }\n </>\n );\n});"],"mappings":"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","ignoreList":[]}
@@ -72,7 +72,6 @@ export class PropsProvider {
72
72
 
73
73
  // sets the property. But, value gets overriden when the original prop changes.
74
74
  set(name, value) {
75
- this.oldProps[name] = value;
76
75
  const oldValue = this.oldProps[name];
77
76
  if (oldValue !== value) {
78
77
  this.oldProps[name] = value;
@@ -1 +1 @@
1
- {"version":3,"names":["assign","isNil","PropsProvider","constructor","defaultProps","initprops","onChange","name","$new","$old","_defineProperty","Object","keys","forEach","k","propertyNames","propsProxy","Proxy","get","target","prop","receiver","propName","toString","value","overriddenProps","hasOwnProperty","oldProps","set","has","isDirty","oldValue","setDefault","overrideProp","check","nextProps","result","reduce","b","flag"],"sources":["props.provider.ts"],"sourcesContent":["import { assign, isNil } from \"lodash-es\";\nimport { BaseProps } from \"./base.component\";\n\nexport class PropsProvider<T extends BaseProps> {\n private oldProps: any = {};\n private overriddenProps: any = {};\n private propsProxy: T;\n private isDirty = false;\n private propertyNames = {} as any;\n\n constructor(private defaultProps: T, private initprops: T, private onChange = (name: string, $new: any, $old: any) => {}) {\n this.initprops = this.initprops || {};\n Object.keys(defaultProps).forEach(k => this.propertyNames[k] = true);\n Object.keys(initprops).forEach(k => this.propertyNames[k] = true);\n //@ts-ignore\n this.propsProxy = (new Proxy({}, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n let value = (this.defaultProps as any)[propName];\n if (this.overriddenProps.hasOwnProperty(propName)) {\n value = this.overriddenProps[propName];\n } else if (this.oldProps.hasOwnProperty(propName)) {\n value = this.oldProps[propName];\n }\n return value;\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (!this.has(propName)) {\n return true;\n }\n this.isDirty = this.isDirty || this.overriddenProps[propName] !== value;\n this.overriddenProps[propName] = value;\n if (this.oldProps[propName] !== value) {\n const oldValue = this.oldProps[propName];\n this.onChange(propName, value, oldValue);\n this.oldProps[propName] = value;\n }\n return true;\n }\n }));\n }\n\n setDefault(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n overrideProp(propName: string, value: any) {\n (this.overriddenProps as any)[propName] = value;\n this.isDirty = true;\n }\n\n check(nextProps?: T) {\n if (!nextProps) {\n nextProps = assign({}, this.defaultProps, this.initprops);\n }\n const result = Object.keys(nextProps).reduce((b, k) => {\n let flag = false;\n //@ts-ignore\n const value = nextProps[k];\n const oldValue = this.oldProps[k];\n if (isNil(this.overriddenProps[k])\n && (!this.oldProps.hasOwnProperty(k)\n || this.oldProps[k] !== value)) {\n this.oldProps[k] = value;\n this.onChange(k, value, oldValue);\n flag = true;\n }\n return b || flag;\n }, false) || this.isDirty;\n\n this.isDirty = false;\n return result;\n }\n\n // sets the property. But, value gets overriden when the original prop changes.\n set(name: string, value: any) {\n this.oldProps[name] = value;\n const oldValue = this.oldProps[name];\n if(oldValue !== value) {\n this.oldProps[name] = value;\n this.onChange(name, value, oldValue);\n }\n }\n\n has(propName: string) {\n return !!this.propertyNames[propName];\n }\n\n get() {\n return this.propsProxy;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["assign","isNil","PropsProvider","constructor","defaultProps","initprops","onChange","name","$new","$old","_defineProperty","Object","keys","forEach","k","propertyNames","propsProxy","Proxy","get","target","prop","receiver","propName","toString","value","overriddenProps","hasOwnProperty","oldProps","set","has","isDirty","oldValue","setDefault","overrideProp","check","nextProps","result","reduce","b","flag"],"sources":["props.provider.ts"],"sourcesContent":["import { assign, isNil } from \"lodash-es\";\nimport { BaseProps } from \"./base.component\";\n\nexport class PropsProvider<T extends BaseProps> {\n private oldProps: any = {};\n private overriddenProps: any = {};\n private propsProxy: T;\n private isDirty = false;\n private propertyNames = {} as any;\n\n constructor(private defaultProps: T, private initprops: T, private onChange = (name: string, $new: any, $old: any) => {}) {\n this.initprops = this.initprops || {};\n Object.keys(defaultProps).forEach(k => this.propertyNames[k] = true);\n Object.keys(initprops).forEach(k => this.propertyNames[k] = true);\n //@ts-ignore\n this.propsProxy = (new Proxy({}, {\n get: (target, prop, receiver): any => {\n const propName = prop.toString();\n let value = (this.defaultProps as any)[propName];\n if (this.overriddenProps.hasOwnProperty(propName)) {\n value = this.overriddenProps[propName];\n } else if (this.oldProps.hasOwnProperty(propName)) {\n value = this.oldProps[propName];\n }\n return value;\n },\n set: (target: any, prop, value: any): any => {\n const propName = prop.toString();\n if (!this.has(propName)) {\n return true;\n }\n this.isDirty = this.isDirty || this.overriddenProps[propName] !== value;\n this.overriddenProps[propName] = value;\n if (this.oldProps[propName] !== value) {\n const oldValue = this.oldProps[propName];\n this.onChange(propName, value, oldValue);\n this.oldProps[propName] = value;\n }\n return true;\n }\n }));\n }\n\n setDefault(propName: string, value: any) {\n (this.defaultProps as any)[propName] = value;\n }\n overrideProp(propName: string, value: any) {\n (this.overriddenProps as any)[propName] = value;\n this.isDirty = true;\n }\n\n check(nextProps?: T) {\n if (!nextProps) {\n nextProps = assign({}, this.defaultProps, this.initprops);\n }\n const result = Object.keys(nextProps).reduce((b, k) => {\n let flag = false;\n //@ts-ignore\n const value = nextProps[k];\n const oldValue = this.oldProps[k];\n if (isNil(this.overriddenProps[k])\n && (!this.oldProps.hasOwnProperty(k)\n || this.oldProps[k] !== value)) {\n this.oldProps[k] = value;\n this.onChange(k, value, oldValue);\n flag = true;\n }\n return b || flag;\n }, false) || this.isDirty;\n\n this.isDirty = false;\n return result;\n }\n\n // sets the property. But, value gets overriden when the original prop changes.\n set(name: string, value: any) {\n const oldValue = this.oldProps[name];\n if(oldValue !== value) {\n this.oldProps[name] = value;\n this.onChange(name, value, oldValue);\n }\n }\n\n has(propName: string) {\n return !!this.propertyNames[propName];\n }\n\n get() {\n return this.propsProxy;\n }\n}\n"],"mappings":"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","ignoreList":[]}