@wavemaker/app-rn-runtime 12.0.0-next.140526 → 12.0.0-next.140529

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +27 -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/search/search.component.js +12 -0
  19. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  20. app-rn-runtime/components/basic/search/search.props.js +2 -0
  21. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  22. app-rn-runtime/components/basic/search/search.styles.js +6 -0
  23. app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
  24. app-rn-runtime/components/basic/skeleton/skeleton.component.js +4 -3
  25. app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
  26. app-rn-runtime/components/basic/skeleton/skeleton.props.js +9 -1
  27. app-rn-runtime/components/basic/skeleton/skeleton.props.js.map +1 -1
  28. app-rn-runtime/components/chart/area-chart/area-chart.styles.js +7 -1
  29. app-rn-runtime/components/chart/area-chart/area-chart.styles.js.map +1 -1
  30. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js +7 -1
  31. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js.map +1 -1
  32. app-rn-runtime/components/chart/basechart.component.js +23 -0
  33. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  34. app-rn-runtime/components/chart/basechart.props.js +2 -2
  35. app-rn-runtime/components/chart/basechart.props.js.map +1 -1
  36. app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
  37. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +1 -1
  38. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  39. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js +7 -1
  40. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js.map +1 -1
  41. app-rn-runtime/components/chart/column-chart/column-chart.styles.js +7 -1
  42. app-rn-runtime/components/chart/column-chart/column-chart.styles.js.map +1 -1
  43. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js +7 -1
  44. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js.map +1 -1
  45. app-rn-runtime/components/chart/line-chart/line-chart.props.js +2 -0
  46. app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
  47. app-rn-runtime/components/chart/line-chart/line-chart.styles.js +7 -1
  48. app-rn-runtime/components/chart/line-chart/line-chart.styles.js.map +1 -1
  49. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js +7 -1
  50. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js.map +1 -1
  51. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +37 -11
  52. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  53. app-rn-runtime/components/container/accordion/accordion.component.js +44 -4
  54. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  55. app-rn-runtime/components/container/accordion/accordion.props.js.map +1 -1
  56. app-rn-runtime/components/container/accordion/accordion.styles.js +4 -0
  57. app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
  58. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +4 -1
  59. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  60. app-rn-runtime/components/container/container.component.js +36 -2
  61. app-rn-runtime/components/container/container.component.js.map +1 -1
  62. app-rn-runtime/components/container/container.styles.js +7 -0
  63. app-rn-runtime/components/container/container.styles.js.map +1 -1
  64. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +5 -1
  65. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  66. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js +6 -1
  67. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js.map +1 -1
  68. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +27 -2
  69. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  70. app-rn-runtime/components/container/layoutgrid/layoutgrid.props.js.map +1 -1
  71. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js +4 -1
  72. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js.map +1 -1
  73. app-rn-runtime/components/container/linearlayout/linearlayout.component.js +31 -5
  74. app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
  75. app-rn-runtime/components/container/linearlayout/linearlayout.props.js.map +1 -1
  76. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js +4 -1
  77. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js.map +1 -1
  78. app-rn-runtime/components/container/panel/panel.component.js +42 -4
  79. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  80. app-rn-runtime/components/container/panel/panel.props.js.map +1 -1
  81. app-rn-runtime/components/container/panel/panel.styles.js +3 -0
  82. app-rn-runtime/components/container/panel/panel.styles.js.map +1 -1
  83. app-rn-runtime/components/container/partial-host.component.js.map +1 -1
  84. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +1 -1
  85. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  86. app-rn-runtime/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  87. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +4 -1
  88. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  89. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  90. app-rn-runtime/components/container/tabs/tabs.component.js +31 -3
  91. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  92. app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
  93. app-rn-runtime/components/container/tabs/tabs.styles.js +4 -1
  94. app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
  95. app-rn-runtime/components/container/tile/tile.component.js +23 -1
  96. app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
  97. app-rn-runtime/components/container/tile/tile.props.js.map +1 -1
  98. app-rn-runtime/components/container/tile/tile.styles.js +6 -1
  99. app-rn-runtime/components/container/tile/tile.styles.js.map +1 -1
  100. app-rn-runtime/components/container/wizard/wizard.component.js +27 -2
  101. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  102. app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
  103. app-rn-runtime/components/container/wizard/wizard.styles.js +3 -0
  104. app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
  105. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +4 -1
  106. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  107. app-rn-runtime/components/data/card/card-content/card-content.component.js +6 -2
  108. app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
  109. app-rn-runtime/components/data/card/card-content/card-content.styles.js +4 -1
  110. app-rn-runtime/components/data/card/card-content/card-content.styles.js.map +1 -1
  111. app-rn-runtime/components/data/card/card.component.js +18 -0
  112. app-rn-runtime/components/data/card/card.component.js.map +1 -1
  113. app-rn-runtime/components/data/card/card.styles.js +3 -0
  114. app-rn-runtime/components/data/card/card.styles.js.map +1 -1
  115. app-rn-runtime/components/data/form/form.component.js +1 -1
  116. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  117. app-rn-runtime/components/data/form/form.props.js +1 -0
  118. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  119. app-rn-runtime/components/data/list/list-template/list-template.component.js +15 -1
  120. app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
  121. app-rn-runtime/components/data/list/list-template/list-template.props.js +1 -0
  122. app-rn-runtime/components/data/list/list-template/list-template.props.js.map +1 -1
  123. app-rn-runtime/components/data/list/list-template/list-template.styles.js +11 -1
  124. app-rn-runtime/components/data/list/list-template/list-template.styles.js.map +1 -1
  125. app-rn-runtime/components/data/list/list.component.js +54 -33
  126. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  127. app-rn-runtime/components/data/list/list.props.js +1 -0
  128. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  129. app-rn-runtime/components/data/list/list.styles.js +9 -0
  130. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  131. app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
  132. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  133. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +20 -0
  134. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  135. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
  136. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  137. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  138. app-rn-runtime/components/input/fileupload/fileupload.component.js +4 -2
  139. app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
  140. app-rn-runtime/components/input/fileupload/fileupload.props.js +1 -0
  141. app-rn-runtime/components/input/fileupload/fileupload.props.js.map +1 -1
  142. app-rn-runtime/components/input/radioset/radioset.component.js +20 -0
  143. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  144. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  145. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  146. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  147. app-rn-runtime/components/input/text/text.component.js +21 -0
  148. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  149. app-rn-runtime/components/input/text/text.props.js +2 -0
  150. app-rn-runtime/components/input/text/text.props.js.map +1 -1
  151. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  152. app-rn-runtime/components/input/textarea/textarea.component.js +21 -0
  153. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  154. app-rn-runtime/components/input/textarea/textarea.props.js +2 -0
  155. app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
  156. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  157. app-rn-runtime/components/page/page-content/page-content.component.js +27 -2
  158. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  159. app-rn-runtime/components/page/page-content/page-content.props.js +2 -2
  160. app-rn-runtime/components/page/page-content/page-content.props.js.map +1 -1
  161. app-rn-runtime/components/page/page-content/page-content.styles.js +6 -1
  162. app-rn-runtime/components/page/page-content/page-content.styles.js.map +1 -1
  163. app-rn-runtime/components/page/page.component.js.map +1 -1
  164. app-rn-runtime/components/page/page.props.js.map +1 -1
  165. app-rn-runtime/components/page/page.styles.js +7 -1
  166. app-rn-runtime/components/page/page.styles.js.map +1 -1
  167. app-rn-runtime/components/page/partial/partial.component.js +21 -0
  168. app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
  169. app-rn-runtime/components/page/partial/partial.props.js.map +1 -1
  170. app-rn-runtime/components/page/partial/partial.styles.js +6 -1
  171. app-rn-runtime/components/page/partial/partial.styles.js.map +1 -1
  172. app-rn-runtime/components/page/tabbar/tabbar.props.js +1 -0
  173. app-rn-runtime/components/page/tabbar/tabbar.props.js.map +1 -1
  174. app-rn-runtime/components/prefab/prefab-container.component.js +22 -0
  175. app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
  176. app-rn-runtime/components/prefab/prefab-container.props.js.map +1 -1
  177. app-rn-runtime/components/prefab/prefab-container.styles.js +6 -1
  178. app-rn-runtime/components/prefab/prefab-container.styles.js.map +1 -1
  179. app-rn-runtime/core/base.component.js +4 -3
  180. app-rn-runtime/core/base.component.js.map +1 -1
  181. app-rn-runtime/core/props.provider.js +4 -3
  182. app-rn-runtime/core/props.provider.js.map +1 -1
  183. app-rn-runtime/core/utils.js +21 -0
  184. app-rn-runtime/core/utils.js.map +1 -1
  185. app-rn-runtime/package.json +6 -4
  186. app-rn-runtime/runtime/base-fragment.component.js +28 -13
  187. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  188. app-rn-runtime/runtime/base-partial.component.js.map +1 -1
  189. app-rn-runtime/runtime/base-prefab.component.js.map +1 -1
  190. app-rn-runtime/runtime/services/app-security.service.js +25 -1
  191. app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
  192. app-rn-runtime/styles/theme.variables.js +1 -0
  193. app-rn-runtime/styles/theme.variables.js.map +1 -1
@@ -43,7 +43,7 @@ export default class WmTabheader extends BaseComponent {
43
43
  }
44
44
  setPosition() {
45
45
  var _this$headersLayout$s, _this$headerPanelLayo, _this$headerPanelLayo2;
46
- const selectedTabIndex = this.state.props.selectedTabIndex;
46
+ const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0;
47
47
  let toIndicatorPosition = 0;
48
48
  let toIndicatorWidth = ((_this$headersLayout$s = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s === void 0 ? void 0 : _this$headersLayout$s.width) || 0;
49
49
  let toHeaderScrollPosition = this.headerScrollPositionValue;
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Easing","Text","View","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","setPosition","_this$headersLayout$s","_this$headerPanelLayo","_this$headerPanelLayo2","toIndicatorPosition","toIndicatorWidth","width","toHeaderScrollPosition","totalWidth","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","isRTL","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","overflow","zIndex","_background","_extends","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex;\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View style={{overflow: 'hidden', zIndex: 16}}>\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {arrowIndicator.backgroundImage ? (<BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Animated","Easing","Text","View","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","setPosition","_this$headersLayout$s","_this$headerPanelLayo","_this$headerPanelLayo2","toIndicatorPosition","toIndicatorWidth","width","toHeaderScrollPosition","totalWidth","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","isRTL","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","overflow","zIndex","_background","_extends","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View style={{overflow: 'hidden', zIndex: 16}}>\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {arrowIndicator.backgroundImage ? (<BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmTabheaderProps","constructor","args","_defineProperty"],"sources":["tabheader.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabheaderProps extends BaseProps {\n data: {icon: string, key: string, title: string}[] = [] as any;\n selectedTabIndex = 0;\n onIndexChange?: (index: number) => any = null as any;\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,eACD,EAAE;IAAAA,eAAA,2BACpC,CAAC;IAAAA,eAAA,wBACqB,IAAI;EAAA;AAC/C","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmTabheaderProps","constructor","args","_defineProperty"],"sources":["tabheader.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabheaderProps extends BaseProps {\n data: {icon: string, key: string, title: string}[] = [] as any;\n selectedTabIndex? = 0;\n onIndexChange?: (index: number) => any = null as any;\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,eACD,EAAE;IAAAA,eAAA,2BACnC,CAAC;IAAAA,eAAA,wBACoB,IAAI;EAAA;AAC/C","ignoreList":[]}
@@ -41,7 +41,10 @@ export default class WmTabpane extends BaseComponent {
41
41
  }
42
42
  componentDidMount() {
43
43
  const tabs = this.parent;
44
- tabs.addTabPane(this.proxy);
44
+ // When skeleton is enabled in the tabs component, the parent would be WMSkeleton which doesnot have addTabPane function
45
+ if (tabs.addTabPane) {
46
+ tabs.addTabPane(this.proxy);
47
+ }
45
48
  super.componentDidMount();
46
49
  }
47
50
  _onSelect() {
@@ -1 +1 @@
1
- {"version":3,"names":["React","ScrollView","BaseComponent","BaseComponentState","WmTabpaneProps","DEFAULT_CLASS","WmTabpaneState","constructor","args","_defineProperty","WmTabpane","props","subscribe","event","state","isActive","onPartialLoad","invokeEventCallback","renderContent","renderPartial","isPartialLoaded","setTimeout","updateState","bind","children","showView","isVisible","componentDidMount","tabs","parent","addTabPane","proxy","_onSelect","_onDeselect","select","selectTabPane","renderWidget","createElement","style","styles","root","onScroll","notify","_background"],"sources":["tabpane.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler'\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabpaneProps from './tabpane.props';\nimport { DEFAULT_CLASS, WmTabpaneStyles } from './tabpane.styles';\nimport WmTabs from '../tabs.component';\n\nexport class WmTabpaneState extends BaseComponentState<WmTabpaneProps> {\n isPartialLoaded = false;\n isActive = false;\n}\n\nexport default class WmTabpane extends BaseComponent<WmTabpaneProps, WmTabpaneState, WmTabpaneStyles> {\n\n constructor(props: WmTabpaneProps) {\n super(props, DEFAULT_CLASS, new WmTabpaneProps(), new WmTabpaneState());\n this.subscribe('scroll', (event: any) => {\n return this.state.isActive;\n });\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmTabpaneProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmTabpaneState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n showView(): boolean {\n return this.isVisible() && this.state.isActive;\n }\n\n componentDidMount() {\n const tabs = (this.parent) as WmTabs;\n tabs.addTabPane(this.proxy as WmTabpane);\n super.componentDidMount();\n }\n\n _onSelect() {\n this.updateState({\n isActive: true\n } as WmTabpaneState);\n this.invokeEventCallback('onSelect', [null, this.proxy]);\n }\n _onDeselect() {\n this.updateState({\n isActive: false\n } as WmTabpaneState);\n this.invokeEventCallback('onDeselect', [null, this.proxy]);\n }\n\n select() {\n (this.parent as WmTabs).selectTabPane(this);\n }\n\n renderWidget(props: WmTabpaneProps) {\n return (<ScrollView style={this.styles.root} \n onScroll={(event) => {this.notify('scroll', [event])}}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AAGjE,OAAO,MAAMC,cAAc,SAASH,kBAAkB,CAAiB;EAAAI,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACnD,KAAK;IAAAA,eAAA,mBACZ,KAAK;EAAA;AAClB;AAEA,eAAe,MAAMC,SAAS,SAASR,aAAa,CAAkD;EAEpGK,WAAWA,CAACI,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,cAAc,CAAC,CAAC,EAAE,IAAIE,cAAc,CAAC,CAAC,CAAC;IACvE,IAAI,CAACM,SAAS,CAAC,QAAQ,EAAGC,KAAU,IAAK;MACvC,OAAO,IAAI,CAACC,KAAK,CAACC,QAAQ;IAC5B,CAAC,CAAC;EACJ;EAEAC,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACP,KAAqB,EAAE;IACnC,IAAIA,KAAK,CAACQ,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACL,KAAK,CAACM,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAmB,CAAC;QACtB,CAAC,CAAC;MACJ;MACA,OAAOT,KAAK,CAACQ,aAAa,CAACR,KAAK,EAAE,IAAI,CAACK,aAAa,CAACO,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOZ,KAAK,CAACa,QAAQ;EACvB;EAEAC,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI,CAACC,SAAS,CAAC,CAAC,IAAI,IAAI,CAACZ,KAAK,CAACC,QAAQ;EAChD;EAEAY,iBAAiBA,CAAA,EAAG;IAClB,MAAMC,IAAI,GAAI,IAAI,CAACC,MAAiB;IACpCD,IAAI,CAACE,UAAU,CAAC,IAAI,CAACC,KAAkB,CAAC;IACxC,KAAK,CAACJ,iBAAiB,CAAC,CAAC;EAC3B;EAEAK,SAASA,CAAA,EAAG;IACV,IAAI,CAACV,WAAW,CAAC;MACfP,QAAQ,EAAE;IACZ,CAAmB,CAAC;IACpB,IAAI,CAACE,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACc,KAAK,CAAC,CAAC;EAC1D;EACAE,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACX,WAAW,CAAC;MACfP,QAAQ,EAAE;IACZ,CAAmB,CAAC;IACpB,IAAI,CAACE,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAACc,KAAK,CAAC,CAAC;EAC5D;EAEAG,MAAMA,CAAA,EAAG;IACN,IAAI,CAACL,MAAM,CAAYM,aAAa,CAAC,IAAI,CAAC;EAC7C;EAEAC,YAAYA,CAACzB,KAAqB,EAAE;IAClC,oBAAQX,KAAA,CAAAqC,aAAA,CAACpC,UAAU;MAACqC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;MAC5CC,QAAQ,EAAG5B,KAAK,IAAK;QAAC,IAAI,CAAC6B,MAAM,CAAC,QAAQ,EAAE,CAAC7B,KAAK,CAAC,CAAC;MAAA;IAAE,GACjD,IAAI,CAAC8B,WAAW,EAChB,IAAI,CAACzB,aAAa,CAACP,KAAK,CACf,CAAC;EACjB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","ScrollView","BaseComponent","BaseComponentState","WmTabpaneProps","DEFAULT_CLASS","WmTabpaneState","constructor","args","_defineProperty","WmTabpane","props","subscribe","event","state","isActive","onPartialLoad","invokeEventCallback","renderContent","renderPartial","isPartialLoaded","setTimeout","updateState","bind","children","showView","isVisible","componentDidMount","tabs","parent","addTabPane","proxy","_onSelect","_onDeselect","select","selectTabPane","renderWidget","createElement","style","styles","root","onScroll","notify","_background"],"sources":["tabpane.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler'\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabpaneProps from './tabpane.props';\nimport { DEFAULT_CLASS, WmTabpaneStyles } from './tabpane.styles';\nimport WmTabs from '../tabs.component';\n\nexport class WmTabpaneState extends BaseComponentState<WmTabpaneProps> {\n isPartialLoaded = false;\n isActive = false;\n}\n\nexport default class WmTabpane extends BaseComponent<WmTabpaneProps, WmTabpaneState, WmTabpaneStyles> {\n\n constructor(props: WmTabpaneProps) {\n super(props, DEFAULT_CLASS, new WmTabpaneProps(), new WmTabpaneState());\n this.subscribe('scroll', (event: any) => {\n return this.state.isActive;\n });\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmTabpaneProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmTabpaneState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n showView(): boolean {\n return this.isVisible() && this.state.isActive;\n }\n\n componentDidMount() {\n const tabs = (this.parent) as WmTabs;\n // When skeleton is enabled in the tabs component, the parent would be WMSkeleton which doesnot have addTabPane function\n if(tabs.addTabPane) {\n tabs.addTabPane(this.proxy as WmTabpane);\n }\n super.componentDidMount();\n }\n\n _onSelect() {\n this.updateState({\n isActive: true\n } as WmTabpaneState);\n this.invokeEventCallback('onSelect', [null, this.proxy]);\n }\n _onDeselect() {\n this.updateState({\n isActive: false\n } as WmTabpaneState);\n this.invokeEventCallback('onDeselect', [null, this.proxy]);\n }\n\n select() {\n (this.parent as WmTabs).selectTabPane(this);\n }\n\n renderWidget(props: WmTabpaneProps) {\n return (<ScrollView style={this.styles.root} \n onScroll={(event) => {this.notify('scroll', [event])}}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AAGjE,OAAO,MAAMC,cAAc,SAASH,kBAAkB,CAAiB;EAAAI,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACnD,KAAK;IAAAA,eAAA,mBACZ,KAAK;EAAA;AAClB;AAEA,eAAe,MAAMC,SAAS,SAASR,aAAa,CAAkD;EAEpGK,WAAWA,CAACI,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,cAAc,CAAC,CAAC,EAAE,IAAIE,cAAc,CAAC,CAAC,CAAC;IACvE,IAAI,CAACM,SAAS,CAAC,QAAQ,EAAGC,KAAU,IAAK;MACvC,OAAO,IAAI,CAACC,KAAK,CAACC,QAAQ;IAC5B,CAAC,CAAC;EACJ;EAEAC,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACP,KAAqB,EAAE;IACnC,IAAIA,KAAK,CAACQ,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACL,KAAK,CAACM,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAmB,CAAC;QACtB,CAAC,CAAC;MACJ;MACA,OAAOT,KAAK,CAACQ,aAAa,CAACR,KAAK,EAAE,IAAI,CAACK,aAAa,CAACO,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOZ,KAAK,CAACa,QAAQ;EACvB;EAEAC,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI,CAACC,SAAS,CAAC,CAAC,IAAI,IAAI,CAACZ,KAAK,CAACC,QAAQ;EAChD;EAEAY,iBAAiBA,CAAA,EAAG;IAClB,MAAMC,IAAI,GAAI,IAAI,CAACC,MAAiB;IACpC;IACA,IAAGD,IAAI,CAACE,UAAU,EAAE;MAClBF,IAAI,CAACE,UAAU,CAAC,IAAI,CAACC,KAAkB,CAAC;IAC1C;IACA,KAAK,CAACJ,iBAAiB,CAAC,CAAC;EAC3B;EAEAK,SAASA,CAAA,EAAG;IACV,IAAI,CAACV,WAAW,CAAC;MACfP,QAAQ,EAAE;IACZ,CAAmB,CAAC;IACpB,IAAI,CAACE,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACc,KAAK,CAAC,CAAC;EAC1D;EACAE,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACX,WAAW,CAAC;MACfP,QAAQ,EAAE;IACZ,CAAmB,CAAC;IACpB,IAAI,CAACE,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAACc,KAAK,CAAC,CAAC;EAC5D;EAEAG,MAAMA,CAAA,EAAG;IACN,IAAI,CAACL,MAAM,CAAYM,aAAa,CAAC,IAAI,CAAC;EAC7C;EAEAC,YAAYA,CAACzB,KAAqB,EAAE;IAClC,oBAAQX,KAAA,CAAAqC,aAAA,CAACpC,UAAU;MAACqC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;MAC5CC,QAAQ,EAAG5B,KAAK,IAAK;QAAC,IAAI,CAAC6B,MAAM,CAAC,QAAQ,EAAE,CAAC7B,KAAK,CAAC,CAAC;MAAA;IAAE,GACjD,IAAI,CAAC8B,WAAW,EAChB,IAAI,CAACzB,aAAa,CAACP,KAAK,CACf,CAAC;EACjB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmTabpaneProps","constructor","args","_defineProperty"],"sources":["tabpane.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabpaneProps extends BaseProps {\n children: any;\n paneicon: string = null as any;\n title: string = 'Tab Title';\n renderPartial?: Function;\n isPartialLoaded = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,mBAEjC,IAAI;IAAAA,eAAA,gBACP,WAAW;IAAAA,eAAA;IAAAA,eAAA,0BAET,KAAK;EAAA;AACzB","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmTabpaneProps","constructor","args","_defineProperty"],"sources":["tabpane.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabpaneProps extends BaseProps {\n children?: any;\n paneicon?: string = null as any;\n title: string = 'Tab Title';\n renderPartial?: Function;\n isPartialLoaded? = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,mBAEhC,IAAI;IAAAA,eAAA,gBACR,WAAW;IAAAA,eAAA;IAAAA,eAAA,0BAER,KAAK;EAAA;AAC1B","ignoreList":[]}
@@ -9,6 +9,7 @@ import { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
9
9
  import WmTabsProps from './tabs.props';
10
10
  import { DEFAULT_CLASS } from './tabs.styles';
11
11
  import WmTabheader from './tabheader/tabheader.component';
12
+ import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
12
13
  export class WmTabsState extends BaseComponentState {
13
14
  constructor(...args) {
14
15
  super(...args);
@@ -86,6 +87,9 @@ export default class WmTabs extends BaseComponent {
86
87
  }
87
88
  goToTab(index = this.state.selectedTabIndex) {
88
89
  var _this$tabLayout2;
90
+ if (index < 0 || index >= this.tabPanes.length) {
91
+ return;
92
+ }
89
93
  const position = -1 * index * (((_this$tabLayout2 = this.tabLayout) === null || _this$tabLayout2 === void 0 ? void 0 : _this$tabLayout2.width) || 0);
90
94
  if (this.animationView) {
91
95
  this.animationView.setPosition(position).then(() => this.onChange(index));
@@ -119,7 +123,7 @@ export default class WmTabs extends BaseComponent {
119
123
  });
120
124
  });
121
125
  }
122
- renderSkeleton(props) {
126
+ renderSkeletonContent(props) {
123
127
  const tabPanes = React.Children.toArray(this.props.children).filter((item, index) => item.props.show != false);
124
128
  const headerData = tabPanes.map((p, i) => ({
125
129
  title: p.props.title || 'Tab Title',
@@ -164,6 +168,23 @@ export default class WmTabs extends BaseComponent {
164
168
  }, p);
165
169
  }))));
166
170
  }
171
+ renderSkeleton(props) {
172
+ if (!this.props.showskeletonchildren) {
173
+ var _this$props;
174
+ const skeletonStyles = ((_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.styles) === null || _this$props === void 0 ? void 0 : _this$props.skeleton) || {
175
+ root: {},
176
+ text: {}
177
+ };
178
+ return createSkeleton(this.theme, skeletonStyles, {
179
+ ...this.styles.root
180
+ }, /*#__PURE__*/React.createElement(View, {
181
+ style: [this.styles.root, {
182
+ opacity: 0
183
+ }]
184
+ }, this.renderSkeletonContent(props)));
185
+ }
186
+ return this.renderSkeletonContent(props);
187
+ }
167
188
  onPropertyChange(name, $new, $old) {
168
189
  super.onPropertyChange(name, $new, $old);
169
190
  switch (name) {
@@ -177,6 +198,9 @@ export default class WmTabs extends BaseComponent {
177
198
  });
178
199
  }
179
200
  }
201
+ getBackground() {
202
+ return this._showSkeleton ? null : this._background;
203
+ }
180
204
  renderWidget(props) {
181
205
  const tabPanes = React.Children.toArray(props.children).filter((item, index) => item.props.show != false);
182
206
  const headerData = tabPanes.map((p, i) => ({
@@ -184,9 +208,13 @@ export default class WmTabs extends BaseComponent {
184
208
  icon: p.props.paneicon || '',
185
209
  key: `tab-${p.props.title}-${i}`
186
210
  }));
211
+ const styles = this._showSkeleton ? {
212
+ ...this.styles.root,
213
+ ...this.styles.skeleton.root
214
+ } : this.styles.root;
187
215
  return /*#__PURE__*/React.createElement(View, {
188
- style: this.styles.root
189
- }, this._background, /*#__PURE__*/React.createElement(View, {
216
+ style: styles
217
+ }, this.getBackground(), /*#__PURE__*/React.createElement(View, {
190
218
  onLayout: this.setTabLayout.bind(this),
191
219
  style: {
192
220
  width: '100%'
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","WmTabsState","constructor","args","_defineProperty","WmTabs","props","bounds","e","_this$tabLayout","activeTabIndex","state","selectedTabIndex","w","tabLayout","width","noOfTabs","tabPanes","length","lower","center","upper","onLower","onChange","onUpper","setTabLayout","event","nativeEvent","layout","forceUpdate","goToTab","setTabPaneHeights","index","_nativeEvent$nativeEv","tabPaneHeights","height","setTabShown","tabIndex","callback","tabsShown","setTimeout","updateState","addTabPane","tabPane","i","findIndex","t","name","newIndex","selectTabPane","indexOf","selectedTabPane","_this$tabLayout2","position","animationView","setPosition","then","prev","_this$animationView","goToLower","next","_this$animationView2","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeleton","Children","toArray","children","filter","item","show","headerData","map","p","title","icon","key","createElement","style","styles","root","borderBottomWidth","onLayout","bind","tabHeader","data","showskeleton","overflow","flexDirection","flexWrap","alignSelf","onPropertyChange","$new","$old","selectedIndex","renderWidget","paneicon","_background","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers","undefined"],"sources":["tabs.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, LayoutRectangle, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmTabsProps from './tabs.props';\nimport { DEFAULT_CLASS, WmTabsStyles } from './tabs.styles';\nimport WmTabpane from './tabpane/tabpane.component';\nimport WmTabheader from './tabheader/tabheader.component';\n\nexport class WmTabsState extends BaseComponentState<WmTabsProps> {\n tabsShown: boolean[] = [];\n selectedTabIndex: number = 0;\n}\n\nexport default class WmTabs extends BaseComponent<WmTabsProps, WmTabsState, WmTabsStyles> {\n public tabPanes = [] as WmTabpane[];\n private newIndex = 0;\n private tabLayout: LayoutRectangle = null as any;\n private tabPaneHeights: number[] = [];\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.selectedTabIndex,\n w = this.tabLayout?.width || 0,\n noOfTabs = this.tabPanes.length;\n return {\n lower: -1 * (activeTabIndex - (activeTabIndex === 0 ? 0 : 1)) * w,\n center: -1 * activeTabIndex * w,\n upper: -1 * (activeTabIndex + (activeTabIndex === noOfTabs - 1 ? 0 : 1)) * w\n };\n },\n onLower: (e) => {\n this.onChange(this.state.selectedTabIndex - 1);\n },\n onUpper: (e) => {\n this.onChange(this.state.selectedTabIndex + 1);\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmTabsProps) {\n super(props, DEFAULT_CLASS, new WmTabsProps(), new WmTabsState());\n }\n\n setTabLayout(event: LayoutChangeEvent) {\n this.tabLayout = event.nativeEvent.layout;\n this.forceUpdate(() => {\n this.goToTab();\n });\n }\n\n setTabPaneHeights(index: number, nativeEvent: LayoutChangeEvent) {\n this.tabPaneHeights[index] = nativeEvent.nativeEvent.layout?.height;\n if (index === this.state.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n setTabShown(tabIndex: number, callback: () => any) {\n if (!this.state.tabsShown[tabIndex]) {\n const tabsShown = [...this.state.tabsShown];\n tabsShown[tabIndex] = true;\n setTimeout(() => {\n this.updateState({\n tabsShown: tabsShown\n } as WmTabsState, callback);\n }, 300);\n } else {\n callback && callback();\n }\n }\n\n addTabPane(tabPane: WmTabpane) {\n const i = this.tabPanes.findIndex(t => t.props.name === tabPane.props.name);\n if (i >= 0) {\n this.tabPanes[i] = tabPane;\n } else {\n this.tabPanes[this.newIndex++] = tabPane;\n }\n }\n\n selectTabPane(tabPane: WmTabpane) {\n this.goToTab(this.tabPanes.indexOf(tabPane));\n }\n\n get selectedTabPane() {\n return this.tabPanes[this.state.selectedTabIndex];\n }\n\n goToTab(index = this.state.selectedTabIndex) {\n const position = -1 * index * (this.tabLayout?.width || 0);\n if(this.animationView) {\n this.animationView.setPosition(position)\n .then(() => this.onChange(index));\n } else {\n this.onChange(index);\n }\n }\n\n prev() {\n this.animationView?.goToLower();\n }\n\n next() {\n this.animationView?.goToLower();\n }\n\n onChange(newIndex: number) {\n if (newIndex < 0 || newIndex >= this.tabPanes.length) {\n return;\n }\n const oldIndex = this.state.selectedTabIndex;\n const deselectedTab = this.tabPanes[this.state.selectedTabIndex];\n this.newIndex = newIndex;\n deselectedTab?._onDeselect();\n this.updateState({\n selectedTabIndex: newIndex\n } as WmTabsState, () => {\n this.setTabShown(newIndex, () => {\n const selectedTab = this.tabPanes[newIndex];\n selectedTab?._onSelect();\n this.invokeEventCallback('onChange', [{}, this.proxy, newIndex, oldIndex]);\n });\n });\n }\n\n public renderSkeleton(props: WmTabsProps){\n const tabPanes = React.Children.toArray(this.props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: '', key: `tab-${p.props.title}-${i}`}));\n return(\n <View style={[this.styles.root, { borderBottomWidth: 0}]}>\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n styles={this.styles.tabHeader}\n data={headerData}\n showskeleton={this.props.showskeleton}\n selectedTabIndex={this.state.selectedTabIndex}\n ></WmTabheader>\n <View\n //{...this.panResponder.panHandlers}\n style={{\n width: '100%',\n //height: this.tabPaneHeights[this.state.selectedTabIndex],\n overflow: 'hidden'\n }} >\n <View style={{\n flexDirection: 'row',\n flexWrap: 'nowrap'\n }}>\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>);\n })}\n </View>\n </View>\n </View>\n\n )\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"defaultpaneindex\":\n const selectedIndex = $new || 0;\n const tabsShown: boolean[] = [];\n tabsShown[selectedIndex] = true;\n this.updateState({\n selectedTabIndex: selectedIndex,\n tabsShown: tabsShown\n } as WmTabsState);\n }\n }\n\n renderWidget(props: WmTabsProps) {\n const tabPanes = React.Children.toArray(props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: p.props.paneicon || '', key: `tab-${p.props.title}-${i}`}));\n return (\n <View style={this.styles.root}>\n {this._background}\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n id={this.getTestId('headers')}\n styles={this.styles.tabHeader}\n data={headerData}\n selectedTabIndex={this.state.selectedTabIndex}\n onIndexChange={this.goToTab.bind(this)}\n ></WmTabheader>\n <View\n style={[{\n width: '100%',\n flex: 1\n }, this.styles.root.height ?\n (isWebPreviewMode() ? {'overflowX': 'hidden','overflowY': 'auto'} as any : {overflow: 'scroll'})\n : {\n overflow: 'hidden',\n maxHeight: this.tabPaneHeights[this.state.selectedTabIndex],\n }, this.styles.tabContent]} >\n <SwipeAnimation.View\n enableGestures={props.enablegestures}\n style={{\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'flex-start'\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n >\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{\n width: '100%',\n height: this.styles.root.height ? undefined : 1000000,\n alignSelf: 'flex-start'}}>\n <View\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>\n </View>);\n })}\n </SwipeAnimation.View>\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","SwipeAnimation","isWebPreviewMode","WmTabsProps","DEFAULT_CLASS","WmTabheader","createSkeleton","WmTabsState","constructor","args","_defineProperty","WmTabs","props","bounds","e","_this$tabLayout","activeTabIndex","state","selectedTabIndex","w","tabLayout","width","noOfTabs","tabPanes","length","lower","center","upper","onLower","onChange","onUpper","setTabLayout","event","nativeEvent","layout","forceUpdate","goToTab","setTabPaneHeights","index","_nativeEvent$nativeEv","tabPaneHeights","height","setTabShown","tabIndex","callback","tabsShown","setTimeout","updateState","addTabPane","tabPane","i","findIndex","t","name","newIndex","selectTabPane","indexOf","selectedTabPane","_this$tabLayout2","position","animationView","setPosition","then","prev","_this$animationView","goToLower","next","_this$animationView2","oldIndex","deselectedTab","_onDeselect","selectedTab","_onSelect","invokeEventCallback","proxy","renderSkeletonContent","Children","toArray","children","filter","item","show","headerData","map","p","title","icon","key","createElement","style","styles","root","borderBottomWidth","onLayout","bind","tabHeader","data","showskeleton","overflow","flexDirection","flexWrap","alignSelf","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","theme","opacity","onPropertyChange","$new","$old","selectedIndex","getBackground","_showSkeleton","_background","renderWidget","paneicon","id","getTestId","onIndexChange","flex","maxHeight","tabContent","enableGestures","enablegestures","alignItems","direction","ref","r","handlers","animationHandlers","undefined"],"sources":["tabs.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, LayoutRectangle, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/swipe.animation';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmTabsProps from './tabs.props';\nimport { DEFAULT_CLASS, WmTabsStyles } from './tabs.styles';\nimport WmTabpane from './tabpane/tabpane.component';\nimport WmTabheader from './tabheader/tabheader.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmTabsState extends BaseComponentState<WmTabsProps> {\n tabsShown: boolean[] = [];\n selectedTabIndex: number = 0;\n}\n\nexport default class WmTabs extends BaseComponent<WmTabsProps, WmTabsState, WmTabsStyles> {\n public tabPanes = [] as WmTabpane[];\n private newIndex = 0;\n private tabLayout: LayoutRectangle = null as any;\n private tabPaneHeights: number[] = [];\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.selectedTabIndex,\n w = this.tabLayout?.width || 0,\n noOfTabs = this.tabPanes.length;\n return {\n lower: -1 * (activeTabIndex - (activeTabIndex === 0 ? 0 : 1)) * w,\n center: -1 * activeTabIndex * w,\n upper: -1 * (activeTabIndex + (activeTabIndex === noOfTabs - 1 ? 0 : 1)) * w\n };\n },\n onLower: (e) => {\n this.onChange(this.state.selectedTabIndex - 1);\n },\n onUpper: (e) => {\n this.onChange(this.state.selectedTabIndex + 1);\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmTabsProps) {\n super(props, DEFAULT_CLASS, new WmTabsProps(), new WmTabsState());\n }\n\n setTabLayout(event: LayoutChangeEvent) {\n this.tabLayout = event.nativeEvent.layout;\n this.forceUpdate(() => {\n this.goToTab();\n });\n }\n\n setTabPaneHeights(index: number, nativeEvent: LayoutChangeEvent) {\n this.tabPaneHeights[index] = nativeEvent.nativeEvent.layout?.height;\n if (index === this.state.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n setTabShown(tabIndex: number, callback: () => any) {\n if (!this.state.tabsShown[tabIndex]) {\n const tabsShown = [...this.state.tabsShown];\n tabsShown[tabIndex] = true;\n setTimeout(() => {\n this.updateState({\n tabsShown: tabsShown\n } as WmTabsState, callback);\n }, 300);\n } else {\n callback && callback();\n }\n }\n\n addTabPane(tabPane: WmTabpane) {\n const i = this.tabPanes.findIndex(t => t.props.name === tabPane.props.name);\n if (i >= 0) {\n this.tabPanes[i] = tabPane;\n } else {\n this.tabPanes[this.newIndex++] = tabPane;\n }\n }\n\n selectTabPane(tabPane: WmTabpane) {\n this.goToTab(this.tabPanes.indexOf(tabPane));\n }\n\n get selectedTabPane() {\n return this.tabPanes[this.state.selectedTabIndex];\n }\n\n goToTab(index = this.state.selectedTabIndex) {\n if (index < 0 || index >= this.tabPanes.length) {\n return;\n }\n const position = -1 * index * (this.tabLayout?.width || 0);\n if(this.animationView) {\n this.animationView.setPosition(position)\n .then(() => this.onChange(index));\n } else {\n this.onChange(index);\n }\n }\n\n prev() {\n this.animationView?.goToLower();\n }\n\n next() {\n this.animationView?.goToLower();\n }\n\n onChange(newIndex: number) {\n if (newIndex < 0 || newIndex >= this.tabPanes.length) {\n return;\n }\n const oldIndex = this.state.selectedTabIndex;\n const deselectedTab = this.tabPanes[this.state.selectedTabIndex];\n this.newIndex = newIndex;\n deselectedTab?._onDeselect();\n this.updateState({\n selectedTabIndex: newIndex\n } as WmTabsState, () => {\n this.setTabShown(newIndex, () => {\n const selectedTab = this.tabPanes[newIndex];\n selectedTab?._onSelect();\n this.invokeEventCallback('onChange', [{}, this.proxy, newIndex, oldIndex]);\n });\n });\n }\n\n public renderSkeletonContent(props: WmTabsProps) {\n const tabPanes = React.Children.toArray(this.props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: '', key: `tab-${p.props.title}-${i}`}));\n return(\n <View style={[this.styles.root, { borderBottomWidth: 0}]}>\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n styles={this.styles.tabHeader}\n data={headerData}\n showskeleton={this.props.showskeleton}\n selectedTabIndex={this.state.selectedTabIndex}\n ></WmTabheader>\n <View\n //{...this.panResponder.panHandlers}\n style={{\n width: '100%',\n //height: this.tabPaneHeights[this.state.selectedTabIndex],\n overflow: 'hidden'\n }} >\n <View style={{\n flexDirection: 'row',\n flexWrap: 'nowrap'\n }}>\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>);\n })}\n </View>\n </View>\n </View>\n )\n }\n\n public renderSkeleton(props: WmTabsProps){\n if(!this.props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {this.renderSkeletonContent(props)}\n </View>)) \n }\n return this.renderSkeletonContent(props);\n }\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"defaultpaneindex\":\n const selectedIndex = $new || 0;\n const tabsShown: boolean[] = [];\n tabsShown[selectedIndex] = true;\n this.updateState({\n selectedTabIndex: selectedIndex,\n tabsShown: tabsShown\n } as WmTabsState);\n }\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n\n\n renderWidget(props: WmTabsProps) {\n const tabPanes = React.Children.toArray(props.children)\n .filter((item: any, index: number) => item.props.show != false);\n const headerData = tabPanes.map((p: any, i: number) =>\n ({title: p.props.title || 'Tab Title', icon: p.props.paneicon || '', key: `tab-${p.props.title}-${i}`}));\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.getBackground()}\n <View onLayout={this.setTabLayout.bind(this)} style={{width: '100%'}}></View>\n <WmTabheader\n id={this.getTestId('headers')}\n styles={this.styles.tabHeader}\n data={headerData}\n selectedTabIndex={this.state.selectedTabIndex}\n onIndexChange={this.goToTab.bind(this)}\n ></WmTabheader>\n <View\n style={[{\n width: '100%',\n flex: 1\n }, this.styles.root.height ?\n (isWebPreviewMode() ? {'overflowX': 'hidden','overflowY': 'auto'} as any : {overflow: 'scroll'})\n : {\n overflow: 'hidden',\n maxHeight: this.tabPaneHeights[this.state.selectedTabIndex],\n }, this.styles.tabContent]} >\n <SwipeAnimation.View\n enableGestures={props.enablegestures}\n style={{\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'flex-start'\n }}\n direction='horizontal'\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n >\n {tabPanes.map((p: any, i) => {\n return (\n <View\n key={`tab-${p.props.title}-${i}`}\n style={{\n width: '100%',\n height: this.styles.root.height ? undefined : 1000000,\n alignSelf: 'flex-start'}}>\n <View\n style={{width: '100%', alignSelf: 'flex-start'}}\n onLayout={this.setTabPaneHeights.bind(this, i)}>\n {/* {this.state.tabsShown[i] ? p : null} */}\n {p}\n </View>\n </View>);\n })}\n </SwipeAnimation.View>\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmTabsProps","constructor","args","_defineProperty"],"sources":["tabs.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabsProps extends BaseProps {\n children: any;\n defaultpaneindex: number = 0;\n enablegestures = true;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,2BAEtB,CAAC;IAAAA,eAAA,yBACX,IAAI;EAAA;AACvB","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmTabsProps","constructor","args","_defineProperty"],"sources":["tabs.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTabsProps extends BaseProps {\n children?: any;\n defaultpaneindex?: number = 0;\n enablegestures? = true;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,2BAErB,CAAC;IAAAA,eAAA,yBACX,IAAI;EAAA;AACxB","ignoreList":[]}
@@ -12,7 +12,10 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
12
12
  },
13
13
  text: {},
14
14
  tabContent: {},
15
- tabHeader: {}
15
+ tabHeader: {},
16
+ skeleton: {
17
+ root: {}
18
+ }
16
19
  });
17
20
  addStyle(DEFAULT_CLASS, '', defaultStyles);
18
21
  addStyle('tabs-with-arrow-indicator', '', {
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","elevation","borderBottomWidth","borderStyle","borderColor","tabBorderColor","text","tabContent","tabHeader","backgroundColor","transparent","header","marginBottom","activeIndicator","justifyContent","alignItems","marginTop","height","arrowIndicator","display","tabArrowIndicatorBgColor","width","transform","rotateZ","arrowIndicatorDot","tabArrowIndicatorDotColor","borderRadius","translateX","translateY"],"sources":["tabs.styles.ts"],"sourcesContent":["import { ViewStyle } from 'react-native';\nimport BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmTabheaderStyles } from './tabheader/tabheader.styles';\n\nexport type WmTabsStyles = BaseStyles & {\n tabHeader: WmTabheaderStyles,\n tabContent: ViewStyle\n};\n\nexport const DEFAULT_CLASS = 'app-tabs';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmTabsStyles = defineStyles({\n root: {\n minHeight: 240,\n elevation: 0,\n borderBottomWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.tabBorderColor\n },\n text: {},\n tabContent: {},\n tabHeader: {} as WmTabheaderStyles\n });\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('tabs-with-arrow-indicator', '', {\n tabHeader: {\n root: {\n backgroundColor: themeVariables.transparent\n },\n header: {\n marginBottom: 16\n },\n activeIndicator: {\n justifyContent: 'center',\n alignItems: 'center',\n marginTop: 2,\n height: 0\n },\n arrowIndicator: {\n display: 'flex',\n backgroundColor: themeVariables.tabArrowIndicatorBgColor,\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n transform: [{\n rotateZ: '45deg'\n }]\n },\n arrowIndicatorDot: {\n display: 'flex',\n backgroundColor: themeVariables.tabArrowIndicatorDotColor,\n width: 4,\n height: 4, \n borderRadius: 8,\n transform: [{\n translateX: -2\n }, {\n translateY: -2\n }]\n }\n } as WmTabheaderStyles\n });\n});\n"],"mappings":"AACA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAQxF,OAAO,MAAMC,aAAa,GAAG,UAAU;AACvCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA2B,GAAGL,YAAY,CAAC;IAC7CM,IAAI,EAAE;MACJC,SAAS,EAAE,GAAG;MACdC,SAAS,EAAE,CAAC;MACZC,iBAAiB,EAAE,CAAC;MACpBC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAER,cAAc,CAACS;IAC9B,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,UAAU,EAAE,CAAC,CAAC;IACdC,SAAS,EAAE,CAAC;EAChB,CAAC,CAAC;EACFX,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,2BAA2B,EAAE,EAAE,EAAE;IACxCW,SAAS,EAAE;MACTT,IAAI,EAAE;QACJU,eAAe,EAAEb,cAAc,CAACc;MAClC,CAAC;MACDC,MAAM,EAAE;QACNC,YAAY,EAAE;MAChB,CAAC;MACDC,eAAe,EAAE;QACfC,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE,QAAQ;QACpBC,SAAS,EAAE,CAAC;QACZC,MAAM,EAAE;MACV,CAAC;MACDC,cAAc,EAAE;QACdC,OAAO,EAAE,MAAM;QACfV,eAAe,EAAEb,cAAc,CAACwB,wBAAwB;QACxDC,KAAK,EAAE,EAAE;QACTJ,MAAM,EAAE,EAAE;QACVH,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE,QAAQ;QACpBO,SAAS,EAAE,CAAC;UACVC,OAAO,EAAE;QACX,CAAC;MACH,CAAC;MACDC,iBAAiB,EAAE;QACjBL,OAAO,EAAE,MAAM;QACfV,eAAe,EAAEb,cAAc,CAAC6B,yBAAyB;QACzDJ,KAAK,EAAE,CAAC;QACRJ,MAAM,EAAE,CAAC;QACTS,YAAY,EAAE,CAAC;QACfJ,SAAS,EAAE,CAAC;UACVK,UAAU,EAAE,CAAC;QACf,CAAC,EAAE;UACDC,UAAU,EAAE,CAAC;QACf,CAAC;MACH;IACF;EACF,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","elevation","borderBottomWidth","borderStyle","borderColor","tabBorderColor","text","tabContent","tabHeader","skeleton","backgroundColor","transparent","header","marginBottom","activeIndicator","justifyContent","alignItems","marginTop","height","arrowIndicator","display","tabArrowIndicatorBgColor","width","transform","rotateZ","arrowIndicatorDot","tabArrowIndicatorDotColor","borderRadius","translateX","translateY"],"sources":["tabs.styles.ts"],"sourcesContent":["import { ViewStyle } from 'react-native';\nimport BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmTabheaderStyles } from './tabheader/tabheader.styles';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmTabsStyles = BaseStyles & {\n tabHeader: WmTabheaderStyles,\n tabContent: ViewStyle,\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-tabs';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmTabsStyles = defineStyles({\n root: {\n minHeight: 240,\n elevation: 0,\n borderBottomWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.tabBorderColor\n },\n text: {},\n tabContent: {},\n tabHeader: {} as WmTabheaderStyles,\n skeleton: { \n root: {\n }\n } as WmSkeletonStyles\n });\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('tabs-with-arrow-indicator', '', {\n tabHeader: {\n root: {\n backgroundColor: themeVariables.transparent\n },\n header: {\n marginBottom: 16\n },\n activeIndicator: {\n justifyContent: 'center',\n alignItems: 'center',\n marginTop: 2,\n height: 0\n },\n arrowIndicator: {\n display: 'flex',\n backgroundColor: themeVariables.tabArrowIndicatorBgColor,\n width: 24,\n height: 24,\n justifyContent: 'center',\n alignItems: 'center',\n transform: [{\n rotateZ: '45deg'\n }]\n },\n arrowIndicatorDot: {\n display: 'flex',\n backgroundColor: themeVariables.tabArrowIndicatorDotColor,\n width: 4,\n height: 4, \n borderRadius: 8,\n transform: [{\n translateX: -2\n }, {\n translateY: -2\n }]\n }\n } as WmTabheaderStyles\n });\n});\n"],"mappings":"AACA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAUxF,OAAO,MAAMC,aAAa,GAAG,UAAU;AACvCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA2B,GAAGL,YAAY,CAAC;IAC7CM,IAAI,EAAE;MACJC,SAAS,EAAE,GAAG;MACdC,SAAS,EAAE,CAAC;MACZC,iBAAiB,EAAE,CAAC;MACpBC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAER,cAAc,CAACS;IAC9B,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,UAAU,EAAE,CAAC,CAAC;IACdC,SAAS,EAAE,CAAC,CAAsB;IAClCC,QAAQ,EAAE;MACRV,IAAI,EAAE,CACN;IACF;EACJ,CAAC,CAAC;EACFF,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,2BAA2B,EAAE,EAAE,EAAE;IACxCW,SAAS,EAAE;MACTT,IAAI,EAAE;QACJW,eAAe,EAAEd,cAAc,CAACe;MAClC,CAAC;MACDC,MAAM,EAAE;QACNC,YAAY,EAAE;MAChB,CAAC;MACDC,eAAe,EAAE;QACfC,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE,QAAQ;QACpBC,SAAS,EAAE,CAAC;QACZC,MAAM,EAAE;MACV,CAAC;MACDC,cAAc,EAAE;QACdC,OAAO,EAAE,MAAM;QACfV,eAAe,EAAEd,cAAc,CAACyB,wBAAwB;QACxDC,KAAK,EAAE,EAAE;QACTJ,MAAM,EAAE,EAAE;QACVH,cAAc,EAAE,QAAQ;QACxBC,UAAU,EAAE,QAAQ;QACpBO,SAAS,EAAE,CAAC;UACVC,OAAO,EAAE;QACX,CAAC;MACH,CAAC;MACDC,iBAAiB,EAAE;QACjBL,OAAO,EAAE,MAAM;QACfV,eAAe,EAAEd,cAAc,CAAC8B,yBAAyB;QACzDJ,KAAK,EAAE,CAAC;QACRJ,MAAM,EAAE,CAAC;QACTS,YAAY,EAAE,CAAC;QACfJ,SAAS,EAAE,CAAC;UACVK,UAAU,EAAE,CAAC;QACf,CAAC,EAAE;UACDC,UAAU,EAAE,CAAC;QACf,CAAC;MACH;IACF;EACF,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,15 +1,37 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
  import React from 'react';
3
+ import { View } from 'react-native';
3
4
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
4
5
  import WmTileProps from './tile.props';
5
6
  import { DEFAULT_CLASS } from './tile.styles';
6
7
  import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
7
8
  import { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';
9
+ import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
8
10
  export class WmTileState extends BaseComponentState {}
9
11
  export default class WmTile extends BaseComponent {
10
12
  constructor(props) {
11
13
  super(props, DEFAULT_CLASS, new WmTileProps());
12
14
  }
15
+ renderSkeleton(props) {
16
+ if (!props.showskeletonchildren) {
17
+ var _this$props;
18
+ const skeletonStyles = ((_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.styles) === null || _this$props === void 0 ? void 0 : _this$props.skeleton) || {
19
+ root: {},
20
+ text: {}
21
+ };
22
+ return createSkeleton(this.theme, skeletonStyles, {
23
+ ...this.styles.root
24
+ }, /*#__PURE__*/React.createElement(View, {
25
+ style: [this.styles.root, {
26
+ opacity: 0
27
+ }]
28
+ }, props.children));
29
+ }
30
+ return null;
31
+ }
32
+ getBackground() {
33
+ return this._showSkeleton ? null : this._background;
34
+ }
13
35
  renderWidget(props) {
14
36
  return /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(), {
15
37
  target: this
@@ -17,7 +39,7 @@ export default class WmTile extends BaseComponent {
17
39
  entryanimation: props.animation,
18
40
  delay: props.animationdelay,
19
41
  style: this.styles.root
20
- }, this._background, props.children));
42
+ }, this.getBackground(), props.children));
21
43
  }
22
44
  }
23
45
  //# sourceMappingURL=tile.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","BaseComponent","BaseComponentState","WmTileProps","DEFAULT_CLASS","Tappable","Animatedview","WmTileState","WmTile","constructor","props","renderWidget","createElement","_extends","getTestPropsForAction","target","entryanimation","animation","delay","animationdelay","style","styles","root","_background","children"],"sources":["tile.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTileProps from './tile.props';\nimport { DEFAULT_CLASS, WmTileStyles } from './tile.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nexport class WmTileState extends BaseComponentState<WmTileProps> {}\n\nexport default class WmTile extends BaseComponent<WmTileProps, WmTileState, WmTileStyles> {\n\n constructor(props: WmTileProps) {\n super(props, DEFAULT_CLASS, new WmTileProps());\n }\n\n renderWidget(props: WmTileProps) {\n return (<Tappable {...this.getTestPropsForAction()} target={this}>\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={this.styles.root}>{this._background}{props.children}</Animatedview>\n </Tappable>);\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,YAAY,QAAQ,mEAAmE;AAEhG,OAAO,MAAMC,WAAW,SAASL,kBAAkB,CAAc;AAEjE,eAAe,MAAMM,MAAM,SAASP,aAAa,CAAyC;EAExFQ,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,CAAC;EAChD;EAEAQ,YAAYA,CAACD,KAAkB,EAAE;IAC/B,oBAAQV,KAAA,CAAAY,aAAA,CAACP,QAAQ,EAAAQ,QAAA,KAAK,IAAI,CAACC,qBAAqB,CAAC,CAAC;MAAEC,MAAM,EAAE;IAAK,iBAC/Df,KAAA,CAAAY,aAAA,CAACN,YAAY;MAACU,cAAc,EAAEN,KAAK,CAACO,SAAU;MAACC,KAAK,EAAER,KAAK,CAACS,cAAe;MAACC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GAAE,IAAI,CAACC,WAAW,EAAEb,KAAK,CAACc,QAAuB,CAC7I,CAAC;EACb;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmTileProps","DEFAULT_CLASS","Tappable","Animatedview","createSkeleton","WmTileState","WmTile","constructor","props","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","styles","skeleton","root","text","theme","createElement","style","opacity","children","getBackground","_showSkeleton","_background","renderWidget","_extends","getTestPropsForAction","target","entryanimation","animation","delay","animationdelay"],"sources":["tile.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 WmTileProps from './tile.props';\nimport { DEFAULT_CLASS, WmTileStyles } from './tile.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmTileState extends BaseComponentState<WmTileProps> {}\n\nexport default class WmTile extends BaseComponent<WmTileProps, WmTileState, WmTileStyles> {\n\n constructor(props: WmTileProps) {\n super(props, DEFAULT_CLASS, new WmTileProps());\n }\n \n public renderSkeleton(props: WmTileProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {props.children}\n </View>))\n }\n return null;\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n \n renderWidget(props: WmTileProps) {\n\n return (<Tappable {...this.getTestPropsForAction()} target={this}>\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={this.styles.root}>{this.getBackground()}{props.children}</Animatedview>\n </Tappable>);\n }\n}\n\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,YAAY,QAAQ,mEAAmE;AAEhG,SAASC,cAAc,QAAQ,wEAAwE;AAEvG,OAAO,MAAMC,WAAW,SAASN,kBAAkB,CAAc;AAEjE,eAAe,MAAMO,MAAM,SAASR,aAAa,CAAyC;EAExFS,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,CAAC;EAChD;EAEOS,cAAcA,CAACD,KAAkB,EAAmB;IACzD,IAAG,CAACA,KAAK,CAACE,oBAAoB,EAAE;MAAA,IAAAC,WAAA;MAC9B,MAAMC,cAAgC,GAAG,EAAAD,WAAA,OAAI,CAACH,KAAK,cAAAG,WAAA,gBAAAA,WAAA,GAAVA,WAAA,CAAYE,MAAM,cAAAF,WAAA,uBAAlBA,WAAA,CAAoBG,QAAQ,KAAI;QAAEC,IAAI,EAAE,CAAC,CAAC;QAAEC,IAAI,EAAE,CAAC;MAAG,CAAqB;MACpH,OAAOZ,cAAc,CAAC,IAAI,CAACa,KAAK,EAAEL,cAAc,EAAE;QAChD,GAAG,IAAI,CAACC,MAAM,CAACE;MACjB,CAAC,eAAGnB,KAAA,CAAAsB,aAAA,CAACrB,IAAI;QAACsB,KAAK,EAAE,CAAC,IAAI,CAACN,MAAM,CAACE,IAAI,EAAE;UAAEK,OAAO,EAAE;QAAE,CAAC;MAAE,GACjDZ,KAAK,CAACa,QACH,CAAE,CAAC;IACX;IACA,OAAO,IAAI;EACb;EAEAC,aAAaA,CAAA,EAA6B;IACxC,OAAO,IAAI,CAACC,aAAa,GAAG,IAAI,GAAG,IAAI,CAACC,WAAW;EACrD;EAEAC,YAAYA,CAACjB,KAAkB,EAAE;IAE/B,oBAAQZ,KAAA,CAAAsB,aAAA,CAAChB,QAAQ,EAAAwB,QAAA,KAAK,IAAI,CAACC,qBAAqB,CAAC,CAAC;MAAEC,MAAM,EAAE;IAAK,iBAC/DhC,KAAA,CAAAsB,aAAA,CAACf,YAAY;MAAC0B,cAAc,EAAErB,KAAK,CAACsB,SAAU;MAACC,KAAK,EAAEvB,KAAK,CAACwB,cAAe;MAACb,KAAK,EAAE,IAAI,CAACN,MAAM,CAACE;IAAK,GAAE,IAAI,CAACO,aAAa,CAAC,CAAC,EAAEd,KAAK,CAACa,QAAuB,CACjJ,CAAC;EACb;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmTileProps","constructor","args","_defineProperty"],"sources":["tile.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTileProps extends BaseProps {\n animation: string = null as any;\n animationdelay?: number = null as any;\n children: any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC7B,IAAI;IAAAA,eAAA,yBACE,IAAI;IAAAA,eAAA;EAAA;AAEhC","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmTileProps","constructor","args","_defineProperty"],"sources":["tile.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmTileProps extends BaseProps {\n animation: string = null as any;\n animationdelay?: number = null as any;\n children: any;\n}\n\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC7B,IAAI;IAAAA,eAAA,yBACE,IAAI;IAAAA,eAAA;EAAA;AAEhC","ignoreList":[]}
@@ -10,7 +10,12 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
10
10
  borderColor: themeVariables.transparent,
11
11
  padding: 12
12
12
  },
13
- text: {}
13
+ text: {},
14
+ skeleton: {
15
+ root: {
16
+ width: '100%'
17
+ }
18
+ }
14
19
  });
15
20
  addStyle(DEFAULT_CLASS, '', defaultStyles);
16
21
  addStyle('tile-template-text', '', {
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","borderRadius","borderWidth","borderStyle","borderColor","transparent","padding","text","color","tilePrimaryTextColor","marginBottom","backgroundColor","tileWellbgColor","tileWellBorderColor"],"sources":["tile.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 WmTileStyles = BaseStyles & {};\n\nexport const DEFAULT_CLASS = 'app-tile';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmTileStyles = defineStyles({\n root: {\n borderRadius: 6,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.transparent,\n padding: 12\n },\n text: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n\n addStyle('tile-template-text', '', {\n text: {\n color: themeVariables.tilePrimaryTextColor\n }\n } as any);\n\n addStyle('well', '', {\n root: {\n padding: 20,\n marginBottom: 20,\n borderWidth: 1,\n backgroundColor: themeVariables.tileWellbgColor,\n borderColor: themeVariables.tileWellBorderColor,\n borderStyle: 'solid',\n borderRadius: 2\n }\n });\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAIxF,OAAO,MAAMC,aAAa,GAAG,UAAU;AACvCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA2B,GAAGL,YAAY,CAAC;IAC7CM,IAAI,EAAE;MACJC,YAAY,EAAE,CAAC;MACfC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAEP,cAAc,CAACQ,WAAW;MACvCC,OAAO,EAAE;IACX,CAAC;IACDC,IAAI,EAAE,CAAC;EACX,CAAC,CAAC;EAEFT,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAE1CD,QAAQ,CAAC,oBAAoB,EAAE,EAAE,EAAE;IACjCS,IAAI,EAAE;MACJC,KAAK,EAAEX,cAAc,CAACY;IACxB;EACF,CAAQ,CAAC;EAETX,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE;IACnBE,IAAI,EAAE;MACJM,OAAO,EAAE,EAAE;MACXI,YAAY,EAAE,EAAE;MAChBR,WAAW,EAAE,CAAC;MACdS,eAAe,EAAEd,cAAc,CAACe,eAAe;MAC/CR,WAAW,EAAEP,cAAc,CAACgB,mBAAmB;MAC/CV,WAAW,EAAE,OAAO;MACpBF,YAAY,EAAE;IAChB;EACF,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","borderRadius","borderWidth","borderStyle","borderColor","transparent","padding","text","skeleton","width","color","tilePrimaryTextColor","marginBottom","backgroundColor","tileWellbgColor","tileWellBorderColor"],"sources":["tile.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 '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmTileStyles = BaseStyles & {\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-tile';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmTileStyles = defineStyles({\n root: {\n borderRadius: 6,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.transparent,\n padding: 12\n },\n text: {},\n skeleton: {\n root:{\n width: '100%',\n },\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n\n addStyle('tile-template-text', '', {\n text: {\n color: themeVariables.tilePrimaryTextColor\n }\n } as any);\n\n addStyle('well', '', {\n root: {\n padding: 20,\n marginBottom: 20,\n borderWidth: 1,\n backgroundColor: themeVariables.tileWellbgColor,\n borderColor: themeVariables.tileWellBorderColor,\n borderStyle: 'solid',\n borderRadius: 2\n }\n });\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAOxF,OAAO,MAAMC,aAAa,GAAG,UAAU;AACvCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA2B,GAAGL,YAAY,CAAC;IAC7CM,IAAI,EAAE;MACJC,YAAY,EAAE,CAAC;MACfC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAEP,cAAc,CAACQ,WAAW;MACvCC,OAAO,EAAE;IACX,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,QAAQ,EAAE;MACRR,IAAI,EAAC;QACHS,KAAK,EAAE;MACT;IACF;EACJ,CAAC,CAAC;EAEFX,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAE1CD,QAAQ,CAAC,oBAAoB,EAAE,EAAE,EAAE;IACjCS,IAAI,EAAE;MACJG,KAAK,EAAEb,cAAc,CAACc;IACxB;EACF,CAAQ,CAAC;EAETb,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE;IACnBE,IAAI,EAAE;MACJM,OAAO,EAAE,EAAE;MACXM,YAAY,EAAE,EAAE;MAChBV,WAAW,EAAE,CAAC;MACdW,eAAe,EAAEhB,cAAc,CAACiB,eAAe;MAC/CV,WAAW,EAAEP,cAAc,CAACkB,mBAAmB;MAC/CZ,WAAW,EAAE,OAAO;MACpBF,YAAY,EAAE;IAChB;EACF,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -14,6 +14,7 @@ import WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.c
14
14
  import WmProgressCircle from '@wavemaker/app-rn-runtime/components/basic/progress-circle/progress-circle.component';
15
15
  import WmPopover from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.component';
16
16
  import WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';
17
+ import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
17
18
  export class WmWizardState extends BaseComponentState {
18
19
  constructor(...args) {
19
20
  super(...args);
@@ -254,15 +255,39 @@ export default class WmWizard extends BaseComponent {
254
255
  skip() {
255
256
  this.next('skip');
256
257
  }
258
+ getBackground() {
259
+ return this._showSkeleton ? null : this._background;
260
+ }
261
+ renderSkeleton(props) {
262
+ if (!props.showskeletonchildren) {
263
+ var _this$props;
264
+ const skeletonStyles = ((_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.styles) === null || _this$props === void 0 ? void 0 : _this$props.skeleton) || {
265
+ root: {},
266
+ text: {}
267
+ };
268
+ return createSkeleton(this.theme, skeletonStyles, {
269
+ ...this.styles.root
270
+ }, /*#__PURE__*/React.createElement(View, {
271
+ style: [this.styles.root, {
272
+ opacity: 0
273
+ }]
274
+ }, props.children));
275
+ }
276
+ return null;
277
+ }
257
278
  renderWidget(props) {
258
279
  var _this$state$props$cla;
259
280
  this.numberOfSteps = this.steps.length;
260
281
  const activeStep = this.steps[this.state.currentStep];
261
282
  const isSkippable = activeStep && activeStep.state.props.enableskip;
262
283
  const isProgressCircleHeader = (_this$state$props$cla = this.state.props.classname) === null || _this$state$props$cla === void 0 ? void 0 : _this$state$props$cla.includes('progress-circle-header');
284
+ const styles = this._showSkeleton ? {
285
+ ...this.styles.root,
286
+ ...this.styles.skeleton.root
287
+ } : this.styles.root;
263
288
  return /*#__PURE__*/React.createElement(View, {
264
- style: this.styles.root
265
- }, this._background, /*#__PURE__*/React.createElement(View, {
289
+ style: styles
290
+ }, this.getBackground(), /*#__PURE__*/React.createElement(View, {
266
291
  style: this.styles.wizardHeader
267
292
  }, activeStep && isProgressCircleHeader ? this.renderProgressCircleHeader(activeStep, this.state.currentStep) : this.steps ? this.steps.map((step, i) => this.renderWizardHeader(step, i)) : null), /*#__PURE__*/React.createElement(View, {
268
293
  style: this.styles.wizardBody