@wavemaker/app-rn-runtime 11.5.0-next.40301 → 11.5.0-rc.5392

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js +4 -1
  2. app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js.map +1 -1
  3. app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.styles.js +1 -2
  4. app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.styles.js.map +1 -1
  5. app-rn-runtime/components/advanced/carousel/carousel.component.js +130 -68
  6. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  7. app-rn-runtime/components/advanced/carousel/carousel.props.js +3 -0
  8. app-rn-runtime/components/advanced/carousel/carousel.props.js.map +1 -1
  9. app-rn-runtime/components/advanced/carousel/carousel.styles.js +17 -9
  10. app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
  11. app-rn-runtime/components/advanced/login/login.component.js +3 -2
  12. app-rn-runtime/components/advanced/login/login.component.js.map +1 -1
  13. app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js +17 -16
  14. app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js.map +1 -1
  15. app-rn-runtime/components/advanced/webview/webview.component.js +1 -0
  16. app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
  17. app-rn-runtime/components/basic/anchor/anchor.component.js +7 -5
  18. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  19. app-rn-runtime/components/basic/animatedview.component.js +50 -0
  20. app-rn-runtime/components/basic/animatedview.component.js.map +1 -1
  21. app-rn-runtime/components/basic/audio/audio.component.js +5 -0
  22. app-rn-runtime/components/basic/audio/audio.component.js.map +1 -1
  23. app-rn-runtime/components/basic/button/button.component.js +7 -6
  24. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  25. app-rn-runtime/components/basic/button/button.styles.js +14 -4
  26. app-rn-runtime/components/basic/button/button.styles.js.map +1 -1
  27. app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js +2 -1
  28. app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js.map +1 -1
  29. app-rn-runtime/components/basic/icon/icon.component.js +11 -5
  30. app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
  31. app-rn-runtime/components/basic/icon/icon.props.js +1 -0
  32. app-rn-runtime/components/basic/icon/icon.props.js.map +1 -1
  33. app-rn-runtime/components/basic/label/label.component.js +60 -3
  34. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  35. app-rn-runtime/components/basic/label/label.styles.js +2 -1
  36. app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
  37. app-rn-runtime/components/basic/message/message.component.js +6 -3
  38. app-rn-runtime/components/basic/message/message.component.js.map +1 -1
  39. app-rn-runtime/components/basic/picture/picture.component.js +7 -5
  40. app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
  41. app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +4 -2
  42. app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  43. app-rn-runtime/components/basic/progress-bar/progress-bar.styles.js +1 -1
  44. app-rn-runtime/components/basic/progress-bar/progress-bar.styles.js.map +1 -1
  45. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +3 -2
  46. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  47. app-rn-runtime/components/basic/search/search.component.js +12 -6
  48. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  49. app-rn-runtime/components/basic/search/search.styles.js +11 -10
  50. app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
  51. app-rn-runtime/components/basic/spinner/spinner.component.js +6 -2
  52. app-rn-runtime/components/basic/spinner/spinner.component.js.map +1 -1
  53. app-rn-runtime/components/basic/spinner/spinner.styles.js +3 -2
  54. app-rn-runtime/components/basic/spinner/spinner.styles.js.map +1 -1
  55. app-rn-runtime/components/basic/video/video.component.js +2 -1
  56. app-rn-runtime/components/basic/video/video.component.js.map +1 -1
  57. app-rn-runtime/components/chart/basechart.component.js +19 -8
  58. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  59. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +23 -2
  60. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  61. app-rn-runtime/components/chart/pie-chart/pie-chart.props.js +1 -0
  62. app-rn-runtime/components/chart/pie-chart/pie-chart.props.js.map +1 -1
  63. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +213 -0
  64. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -0
  65. app-rn-runtime/components/chart/stack-chart/stack-chart.props.js +15 -0
  66. app-rn-runtime/components/chart/stack-chart/stack-chart.props.js.map +1 -0
  67. app-rn-runtime/components/chart/stack-chart/stack-chart.styles.js +7 -0
  68. app-rn-runtime/components/chart/stack-chart/stack-chart.styles.js.map +1 -0
  69. app-rn-runtime/components/container/accordion/accordion.component.js +22 -15
  70. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  71. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +6 -24
  72. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  73. app-rn-runtime/components/container/container.component.js +3 -2
  74. app-rn-runtime/components/container/container.component.js.map +1 -1
  75. app-rn-runtime/components/container/panel/collapsible-pane.component.js +26 -0
  76. app-rn-runtime/components/container/panel/collapsible-pane.component.js.map +1 -0
  77. app-rn-runtime/components/container/panel/panel.component.js +44 -62
  78. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  79. app-rn-runtime/components/container/panel/panel.styles.js +9 -2
  80. app-rn-runtime/components/container/panel/panel.styles.js.map +1 -1
  81. app-rn-runtime/components/container/partial-host.component.js +1 -1
  82. app-rn-runtime/components/container/partial-host.component.js.map +1 -1
  83. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +7 -5
  84. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  85. app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js +9 -5
  86. app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
  87. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +1 -1
  88. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  89. app-rn-runtime/components/container/tabs/tabs.component.js +1 -0
  90. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  91. app-rn-runtime/components/container/tile/tile.component.js +3 -2
  92. app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
  93. app-rn-runtime/components/container/wizard/wizard.component.js +9 -4
  94. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  95. app-rn-runtime/components/container/wizard/wizard.styles.js +18 -5
  96. app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
  97. app-rn-runtime/components/data/card/card-content/card-content.component.js +1 -1
  98. app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
  99. app-rn-runtime/components/data/card/card.component.js +3 -2
  100. app-rn-runtime/components/data/card/card.component.js.map +1 -1
  101. app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
  102. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  103. app-rn-runtime/components/data/form/form-field/form-field.component.js +3 -2
  104. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  105. app-rn-runtime/components/data/form/form.component.js +3 -0
  106. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  107. app-rn-runtime/components/data/list/list-template/list-template.component.js +15 -1
  108. app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
  109. app-rn-runtime/components/data/list/list-template/list-template.styles.js +9 -1
  110. app-rn-runtime/components/data/list/list-template/list-template.styles.js.map +1 -1
  111. app-rn-runtime/components/data/list/list.component.js +38 -27
  112. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  113. app-rn-runtime/components/data/list/list.props.js +6 -0
  114. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  115. app-rn-runtime/components/data/list/list.styles.js +12 -5
  116. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  117. app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js +1 -0
  118. app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  119. app-rn-runtime/components/device/barcodescanner/barcodescanner.styles.js +2 -1
  120. app-rn-runtime/components/device/barcodescanner/barcodescanner.styles.js.map +1 -1
  121. app-rn-runtime/components/device/camera/camera.component.js +1 -0
  122. app-rn-runtime/components/device/camera/camera.component.js.map +1 -1
  123. app-rn-runtime/components/device/camera/camera.styles.js +2 -1
  124. app-rn-runtime/components/device/camera/camera.styles.js.map +1 -1
  125. app-rn-runtime/components/dialogs/alertdialog/alertdialog.component.js +4 -1
  126. app-rn-runtime/components/dialogs/alertdialog/alertdialog.component.js.map +1 -1
  127. app-rn-runtime/components/dialogs/alertdialog/alertdialog.styles.js +9 -3
  128. app-rn-runtime/components/dialogs/alertdialog/alertdialog.styles.js.map +1 -1
  129. app-rn-runtime/components/dialogs/confirmdialog/confirmdialog.component.js +6 -2
  130. app-rn-runtime/components/dialogs/confirmdialog/confirmdialog.component.js.map +1 -1
  131. app-rn-runtime/components/dialogs/confirmdialog/confirmdialog.styles.js +10 -10
  132. app-rn-runtime/components/dialogs/confirmdialog/confirmdialog.styles.js.map +1 -1
  133. app-rn-runtime/components/dialogs/dialog/dialog.component.js +2 -0
  134. app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
  135. app-rn-runtime/components/dialogs/dialog/dialog.styles.js +17 -8
  136. app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
  137. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +4 -2
  138. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  139. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.styles.js +2 -1
  140. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.styles.js.map +1 -1
  141. app-rn-runtime/components/input/calendar/calendar.component.js +4 -0
  142. app-rn-runtime/components/input/calendar/calendar.component.js.map +1 -1
  143. app-rn-runtime/components/input/calendar/calendar.styles.js +22 -11
  144. app-rn-runtime/components/input/calendar/calendar.styles.js.map +1 -1
  145. app-rn-runtime/components/input/calendar/views/month-view.js +4 -0
  146. app-rn-runtime/components/input/calendar/views/month-view.js.map +1 -1
  147. app-rn-runtime/components/input/checkbox/checkbox.component.js +6 -6
  148. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  149. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +5 -4
  150. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  151. app-rn-runtime/components/input/chips/chips.component.js +8 -4
  152. app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
  153. app-rn-runtime/components/input/chips/chips.styles.js +20 -12
  154. app-rn-runtime/components/input/chips/chips.styles.js.map +1 -1
  155. app-rn-runtime/components/input/composite/composite.component.js +8 -1
  156. app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
  157. app-rn-runtime/components/input/composite/composite.props.js +1 -0
  158. app-rn-runtime/components/input/composite/composite.props.js.map +1 -1
  159. app-rn-runtime/components/input/composite/composite.styles.js +16 -1
  160. app-rn-runtime/components/input/composite/composite.styles.js.map +1 -1
  161. app-rn-runtime/components/input/currency/currency.component.js +1 -1
  162. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  163. app-rn-runtime/components/input/currency/currency.styles.js +12 -4
  164. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  165. app-rn-runtime/components/input/epoch/base-datetime.component.js +6 -4
  166. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  167. app-rn-runtime/components/input/fileupload/fileupload.component.js +1 -0
  168. app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
  169. app-rn-runtime/components/input/number/number.component.js +1 -1
  170. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  171. app-rn-runtime/components/input/number/number.styles.js +6 -2
  172. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  173. app-rn-runtime/components/input/radioset/radioset.component.js +10 -5
  174. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  175. app-rn-runtime/components/input/radioset/radioset.props.js +6 -0
  176. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  177. app-rn-runtime/components/input/radioset/radioset.styles.js +4 -8
  178. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  179. app-rn-runtime/components/input/rating/rating.component.js +2 -0
  180. app-rn-runtime/components/input/rating/rating.component.js.map +1 -1
  181. app-rn-runtime/components/input/select/select.component.js +17 -13
  182. app-rn-runtime/components/input/select/select.component.js.map +1 -1
  183. app-rn-runtime/components/input/select/select.styles.js +8 -4
  184. app-rn-runtime/components/input/select/select.styles.js.map +1 -1
  185. app-rn-runtime/components/input/slider/slider.component.js +94 -23
  186. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  187. app-rn-runtime/components/input/slider/slider.styles.js +27 -2
  188. app-rn-runtime/components/input/slider/slider.styles.js.map +1 -1
  189. app-rn-runtime/components/input/switch/switch.component.js +6 -4
  190. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  191. app-rn-runtime/components/input/switch/switch.styles.js +7 -4
  192. app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
  193. app-rn-runtime/components/input/text/text.component.js +1 -1
  194. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  195. app-rn-runtime/components/input/text/text.styles.js +5 -1
  196. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  197. app-rn-runtime/components/input/textarea/textarea.component.js +1 -1
  198. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  199. app-rn-runtime/components/input/toggle/toggle.component.js +3 -2
  200. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  201. app-rn-runtime/components/input/toggle/toggle.styles.js +21 -9
  202. app-rn-runtime/components/input/toggle/toggle.styles.js.map +1 -1
  203. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +7 -2
  204. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  205. app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js +1 -1
  206. app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js.map +1 -1
  207. app-rn-runtime/components/navigation/basenav/basenav.component.js +2 -0
  208. app-rn-runtime/components/navigation/basenav/basenav.component.js.map +1 -1
  209. app-rn-runtime/components/navigation/menu/menu.component.js +5 -3
  210. app-rn-runtime/components/navigation/menu/menu.component.js.map +1 -1
  211. app-rn-runtime/components/navigation/menu/menu.styles.js +10 -6
  212. app-rn-runtime/components/navigation/menu/menu.styles.js.map +1 -1
  213. app-rn-runtime/components/navigation/navbar/navbar.component.js +7 -4
  214. app-rn-runtime/components/navigation/navbar/navbar.component.js.map +1 -1
  215. app-rn-runtime/components/navigation/navitem/navitem.component.js +5 -1
  216. app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
  217. app-rn-runtime/components/navigation/navitem/navitem.styles.js +14 -10
  218. app-rn-runtime/components/navigation/navitem/navitem.styles.js.map +1 -1
  219. app-rn-runtime/components/navigation/popover/popover.component.js +10 -5
  220. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  221. app-rn-runtime/components/navigation/popover/popover.props.js.map +1 -1
  222. app-rn-runtime/components/navigation/popover/popover.styles.js +8 -2
  223. app-rn-runtime/components/navigation/popover/popover.styles.js.map +1 -1
  224. app-rn-runtime/components/page/left-panel/left-panel.component.js +1 -1
  225. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  226. app-rn-runtime/components/page/left-panel/left-panel.styles.js +6 -1
  227. app-rn-runtime/components/page/left-panel/left-panel.styles.js.map +1 -1
  228. app-rn-runtime/components/page/tabbar/tabbar.component.js +7 -6
  229. app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
  230. app-rn-runtime/components/page/tabbar/tabbar.styles.js +22 -0
  231. app-rn-runtime/components/page/tabbar/tabbar.styles.js.map +1 -1
  232. app-rn-runtime/core/base.component.js +80 -37
  233. app-rn-runtime/core/base.component.js.map +1 -1
  234. app-rn-runtime/core/formatters.js +9 -2
  235. app-rn-runtime/core/formatters.js.map +1 -1
  236. app-rn-runtime/core/imageSizeEstimator.js +4 -0
  237. app-rn-runtime/core/imageSizeEstimator.js.map +1 -1
  238. app-rn-runtime/core/key.extractor.js +22 -0
  239. app-rn-runtime/core/key.extractor.js.map +1 -0
  240. app-rn-runtime/core/tappable.component.js +15 -5
  241. app-rn-runtime/core/tappable.component.js.map +1 -1
  242. app-rn-runtime/core/testid.provider.js +5 -0
  243. app-rn-runtime/core/testid.provider.js.map +1 -0
  244. app-rn-runtime/gestures/swipe.animation.js +34 -11
  245. app-rn-runtime/gestures/swipe.animation.js.map +1 -1
  246. app-rn-runtime/package.json +4 -3
  247. app-rn-runtime/runtime/App.js +27 -4
  248. app-rn-runtime/runtime/App.js.map +1 -1
  249. app-rn-runtime/runtime/base-fragment.component.js +13 -3
  250. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  251. app-rn-runtime/runtime/base-page.component.js +17 -0
  252. app-rn-runtime/runtime/base-page.component.js.map +1 -1
  253. app-rn-runtime/runtime/services/app-security.service.js +14 -3
  254. app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
  255. app-rn-runtime/runtime/services/device/camera-service.js +26 -9
  256. app-rn-runtime/runtime/services/device/camera-service.js.map +1 -1
  257. app-rn-runtime/runtime/services/device/scan-service.js +16 -2
  258. app-rn-runtime/runtime/services/device/scan-service.js.map +1 -1
  259. app-rn-runtime/styles/theme.js +30 -1
  260. app-rn-runtime/styles/theme.js.map +1 -1
  261. app-rn-runtime/styles/theme.variables.js +14 -3
  262. app-rn-runtime/styles/theme.variables.js.map +1 -1
  263. app-rn-runtime/variables/http.service.js +1 -1
  264. app-rn-runtime/variables/http.service.js.map +1 -1
  265. app-rn-runtime/variables/live-variable.js +1 -0
  266. app-rn-runtime/variables/live-variable.js.map +1 -1
  267. app-rn-runtime/variables/model-variable.js +11 -0
  268. app-rn-runtime/variables/model-variable.js.map +1 -1
  269. app-rn-runtime/variables/service-variable.js +1 -0
  270. app-rn-runtime/variables/service-variable.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","borderWidth","borderBottomWidth","borderStyle","borderColor","navbarBorderColor","text","dropdownNav","flex","flexDirection","justifyContent","alignItems","navAnchorItem","padding","color","navitemChildTextColor","textDecorationLine","icon","navitemChildIconColor","caretIcon","paddingRight","navbarCaretColor","backgroundColor","navitemActiveBackgroundColor","navitemActiveTextColor","navitemActiveIconColor","navitemChildBackgroundColor"],"sources":["navitem.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 { WmAnchorStyles } from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { ViewStyle } from 'react-native';\n\nexport type WmNavItemStyles = BaseStyles & {\n navAnchorItem: WmAnchorStyles,\n dropdownNav: ViewStyle,\n caretIcon: WmIconStyles\n};\n\nexport const DEFAULT_CLASS = 'app-navitem';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmNavItemStyles = defineStyles({\n root: {\n borderWidth: 0,\n borderBottomWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.navbarBorderColor\n },\n text: {},\n dropdownNav: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n navAnchorItem: {\n root: {\n padding: 12\n },\n text: {\n color: themeVariables.navitemChildTextColor,\n textDecorationLine: 'underline'\n },\n icon: {\n text: {\n color: themeVariables.navitemChildIconColor\n }\n }\n } as WmAnchorStyles,\n caretIcon: {\n root : {\n paddingRight: 12\n },\n text: {\n color: themeVariables.navbarCaretColor\n }\n } as WmIconStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-active', DEFAULT_CLASS, {\n root : {\n backgroundColor: themeVariables.navitemActiveBackgroundColor\n },\n navAnchorItem: {\n text: {\n color: themeVariables.navitemActiveTextColor\n },\n icon: {\n text: {\n color: themeVariables.navitemActiveIconColor\n }\n }\n }\n } as WmNavItemStyles);\n\n addStyle(DEFAULT_CLASS + '-child', DEFAULT_CLASS, {\n root : {\n backgroundColor: themeVariables.navitemChildBackgroundColor\n },\n navAnchorItem: {\n text: {\n color: themeVariables.navitemChildTextColor,\n textDecorationLine: 'underline'\n },\n icon: {\n text: {\n color: themeVariables.navitemChildIconColor\n }\n }\n }\n } as WmNavItemStyles);\n addStyle('navAnchorItem', '', defaultStyles.navAnchorItem);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAWxF,OAAO,MAAMC,aAAa,GAAG,aAAa;AAC1CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA8B,GAAGL,YAAY,CAAC;IAChDM,IAAI,EAAE;MACJC,WAAW,EAAE,CAAC;MACdC,iBAAiB,EAAE,CAAC;MACpBC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAEP,cAAc,CAACQ;IAC9B,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,WAAW,EAAE;MACXC,IAAI,EAAE,CAAC;MACPC,aAAa,EAAE,KAAK;MACpBC,cAAc,EAAE,eAAe;MAC/BC,UAAU,EAAE;IACd,CAAC;IACDC,aAAa,EAAE;MACbZ,IAAI,EAAE;QACJa,OAAO,EAAE;MACX,CAAC;MACDP,IAAI,EAAE;QACJQ,KAAK,EAAEjB,cAAc,CAACkB,qBAAqB;QAC3CC,kBAAkB,EAAE;MACtB,CAAC;MACDC,IAAI,EAAE;QACJX,IAAI,EAAE;UACJQ,KAAK,EAAEjB,cAAc,CAACqB;QACxB;MACF;IACF,CAAmB;IACnBC,SAAS,EAAE;MACTnB,IAAI,EAAG;QACLoB,YAAY,EAAE;MAChB,CAAC;MACDd,IAAI,EAAE;QACJQ,KAAK,EAAEjB,cAAc,CAACwB;MACxB;IACF;EACJ,CAAC,CAAC;EAEFvB,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAACH,aAAa,GAAG,SAAS,EAAEA,aAAa,EAAE;IACjDK,IAAI,EAAG;MACLsB,eAAe,EAAEzB,cAAc,CAAC0B;IAClC,CAAC;IACDX,aAAa,EAAE;MACbN,IAAI,EAAE;QACJQ,KAAK,EAAEjB,cAAc,CAAC2B;MACxB,CAAC;MACDP,IAAI,EAAE;QACJX,IAAI,EAAE;UACJQ,KAAK,EAAEjB,cAAc,CAAC4B;QACxB;MACF;IACF;EACF,CAAoB,CAAC;EAErB3B,QAAQ,CAACH,aAAa,GAAG,QAAQ,EAAEA,aAAa,EAAE;IAChDK,IAAI,EAAG;MACLsB,eAAe,EAAEzB,cAAc,CAAC6B;IAClC,CAAC;IACDd,aAAa,EAAE;MACbN,IAAI,EAAE;QACJQ,KAAK,EAAEjB,cAAc,CAACkB,qBAAqB;QAC3CC,kBAAkB,EAAE;MACtB,CAAC;MACDC,IAAI,EAAE;QACJX,IAAI,EAAE;UACJQ,KAAK,EAAEjB,cAAc,CAACqB;QACxB;MACF;IACF;EACF,CAAoB,CAAC;EACrBpB,QAAQ,CAAC,eAAe,EAAE,EAAE,EAAGC,aAAa,CAACa,aAAa,CAAC;AAC7D,CAAC,CAAC"}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","backgroundColor","navbarBackgroundColor","text","dropdownNav","flex","flexDirection","justifyContent","alignItems","navAnchorItem","padding","color","navbarTextColor","fontFamily","baseFont","lineHeight","fontSize","fontWeight","icon","caretIcon","paddingRight","navbarCaretColor","navitemActiveBackgroundColor","navitemActiveTextColor","navitemActiveIconColor","navitemChildBackgroundColor","navitemChildTextColor","navitemChildIconColor"],"sources":["navitem.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 { WmAnchorStyles } from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { ViewStyle } from 'react-native';\n\nexport type WmNavItemStyles = BaseStyles & {\n navAnchorItem: WmAnchorStyles,\n dropdownNav: ViewStyle,\n caretIcon: WmIconStyles\n};\n\nexport const DEFAULT_CLASS = 'app-navitem';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmNavItemStyles = defineStyles({\n root: {\n backgroundColor: themeVariables.navbarBackgroundColor,\n },\n text: {},\n dropdownNav: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n navAnchorItem: {\n root: {\n padding: 12\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontFamily: themeVariables.baseFont,\n lineHeight: 20,\n fontSize: 14,\n fontWeight: '500',\n },\n icon: {\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: 24\n }\n }\n } as WmAnchorStyles,\n caretIcon: {\n root : {\n paddingRight: 12\n },\n text: {\n color: themeVariables.navbarCaretColor\n }\n } as WmIconStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-active', DEFAULT_CLASS, {\n root : {\n backgroundColor: themeVariables.navitemActiveBackgroundColor\n },\n navAnchorItem: {\n text: {\n color: themeVariables.navitemActiveTextColor,\n fontFamily: themeVariables.baseFont,\n lineHeight: 20,\n fontSize: 14,\n fontWeight: '700',\n },\n icon: {\n text: {\n color: themeVariables.navitemActiveIconColor\n }\n }\n }\n } as WmNavItemStyles);\n\n addStyle(DEFAULT_CLASS + '-child', DEFAULT_CLASS, {\n root : {\n backgroundColor: themeVariables.navitemChildBackgroundColor\n },\n navAnchorItem: {\n text: {\n color: themeVariables.navitemChildTextColor,\n },\n icon: {\n text: {\n color: themeVariables.navitemChildIconColor\n }\n }\n }\n } as WmNavItemStyles);\n addStyle('navAnchorItem', '', defaultStyles.navAnchorItem);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAWxF,OAAO,MAAMC,aAAa,GAAG,aAAa;AAC1CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA8B,GAAGL,YAAY,CAAC;IAChDM,IAAI,EAAE;MACJC,eAAe,EAAEJ,cAAc,CAACK;IAClC,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,WAAW,EAAE;MACXC,IAAI,EAAE,CAAC;MACPC,aAAa,EAAE,KAAK;MACpBC,cAAc,EAAE,eAAe;MAC/BC,UAAU,EAAE;IACd,CAAC;IACDC,aAAa,EAAE;MACbT,IAAI,EAAE;QACJU,OAAO,EAAE;MACX,CAAC;MACDP,IAAI,EAAE;QACJQ,KAAK,EAAEd,cAAc,CAACe,eAAe;QACrCC,UAAU,EAAEhB,cAAc,CAACiB,QAAQ;QACnCC,UAAU,EAAE,EAAE;QACdC,QAAQ,EAAE,EAAE;QACZC,UAAU,EAAE;MACd,CAAC;MACDC,IAAI,EAAE;QACJf,IAAI,EAAE;UACJQ,KAAK,EAAEd,cAAc,CAACe,eAAe;UACrCI,QAAQ,EAAE;QACZ;MACF;IACF,CAAmB;IACnBG,SAAS,EAAE;MACTnB,IAAI,EAAG;QACLoB,YAAY,EAAE;MAChB,CAAC;MACDjB,IAAI,EAAE;QACJQ,KAAK,EAAEd,cAAc,CAACwB;MACxB;IACF;EACJ,CAAC,CAAC;EAEFvB,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAACH,aAAa,GAAG,SAAS,EAAEA,aAAa,EAAE;IACjDK,IAAI,EAAG;MACLC,eAAe,EAAEJ,cAAc,CAACyB;IAClC,CAAC;IACDb,aAAa,EAAE;MACbN,IAAI,EAAE;QACJQ,KAAK,EAAEd,cAAc,CAAC0B,sBAAsB;QAC5CV,UAAU,EAAEhB,cAAc,CAACiB,QAAQ;QACnCC,UAAU,EAAE,EAAE;QACdC,QAAQ,EAAE,EAAE;QACZC,UAAU,EAAE;MACd,CAAC;MACDC,IAAI,EAAE;QACJf,IAAI,EAAE;UACJQ,KAAK,EAAEd,cAAc,CAAC2B;QACxB;MACF;IACF;EACF,CAAoB,CAAC;EAErB1B,QAAQ,CAACH,aAAa,GAAG,QAAQ,EAAEA,aAAa,EAAE;IAChDK,IAAI,EAAG;MACLC,eAAe,EAAEJ,cAAc,CAAC4B;IAClC,CAAC;IACDhB,aAAa,EAAE;MACbN,IAAI,EAAE;QACJQ,KAAK,EAAEd,cAAc,CAAC6B;MACxB,CAAC;MACDR,IAAI,EAAE;QACJf,IAAI,EAAE;UACJQ,KAAK,EAAEd,cAAc,CAAC8B;QACxB;MACF;IACF;EACF,CAAoB,CAAC;EACrB7B,QAAQ,CAAC,eAAe,EAAE,EAAE,EAAGC,aAAa,CAACU,aAAa,CAAC;AAC7D,CAAC,CAAC"}
@@ -1,3 +1,4 @@
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); }
1
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
3
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
@@ -94,6 +95,7 @@ export default class WmPopover extends BaseComponent {
94
95
  this.view = ref;
95
96
  }
96
97
  }, this._background, /*#__PURE__*/React.createElement(WmAnchor, {
98
+ id: this.getTestId('trigger'),
97
99
  animation: props.animation,
98
100
  caption: props.caption,
99
101
  badgevalue: props.badgevalue,
@@ -106,17 +108,20 @@ export default class WmPopover extends BaseComponent {
106
108
  style: this.theme.mergeStyle(styles.popover, dimensions)
107
109
  }, props.title ? /*#__PURE__*/React.createElement(Text, {
108
110
  style: styles.title
109
- }, props.title) : null, /*#__PURE__*/React.createElement(TouchableOpacity, {
111
+ }, props.title) : null, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('outercontent'), {
110
112
  activeOpacity: 1,
111
113
  onPress: () => {
112
114
  props.autoclose === 'always' && this.hide();
113
115
  },
114
116
  style: styles.popoverContent.root
115
- }, /*#__PURE__*/React.createElement(WmContainer, {
117
+ }), /*#__PURE__*/React.createElement(WmContainer, _extends({
116
118
  styles: styles.popoverContent,
117
- onLoad: () => this.invokeEventCallback('onLoad', [this]),
118
- renderPartial: props.renderPartial
119
- }, props.renderPartial ? null : props.children))), styles, modalService));
119
+ onLoad: () => this.invokeEventCallback('onLoad', [this])
120
+ }, props.renderPartial ? {
121
+ renderPartial: (p, onLoad) => {
122
+ return props.renderPartial && props.renderPartial(props, onLoad);
123
+ }
124
+ } : {}), props.renderPartial ? null : props.children))), styles, modalService));
120
125
  return null;
121
126
  }) : null);
122
127
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","style","root","onLayout","computePosition","ref","_background","caption","badgevalue","iconclass","iconposition","link","onTap","showPopover","showModal","popover","title","activeOpacity","onPress","popoverContent","onLoad","renderPartial","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { TapEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: TapEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}}>\n {this._background}\n <WmAnchor\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n styles={styles.link}\n onTap={this.showPopover}></WmAnchor>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)}>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n renderPartial={props.renderPartial}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","style","root","onLayout","computePosition","ref","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","link","onTap","showPopover","showModal","popover","title","_extends","getTestPropsForAction","activeOpacity","onPress","popoverContent","onLoad","renderPartial","p","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { TapEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: TapEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n styles={styles.link}\n onTap={this.showPopover}></WmAnchor>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)}>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {... props.renderPartial ? {\n renderPartial : (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmPopoverProps","constructor","arguments","_defineProperty"],"sources":["popover.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport React from 'react';\n\nexport default class WmPopoverProps extends BaseProps {\n animation?: string = null as any;\n badgevalue? = null as any;\n caption? = 'Link';\n contentanimation?: string = null as any;\n iconclass? = null as any;\n iconposition? = 'left' as any;\n popoverwidth?: string | number | null = 240;\n popoverheight?: string | number | null = 360;\n autoclose?: 'outsideClick' | 'disabled' | 'always' = 'outsideClick';\n children? = [] as any;\n renderPartial?: () => React.ReactNode = null as any;\n title?: string = null as any;\n type?: 'action-sheet' | 'dropdown' = 'action-sheet';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAGzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,qBACX,IAAI;IAAAA,eAAA,kBACP,MAAM;IAAAA,eAAA,2BACW,IAAI;IAAAA,eAAA,oBACnB,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,uBACkB,GAAG;IAAAA,eAAA,wBACF,GAAG;IAAAA,eAAA,oBACS,cAAc;IAAAA,eAAA,mBACvD,EAAE;IAAAA,eAAA,wBAC2B,IAAI;IAAAA,eAAA,gBAC5B,IAAI;IAAAA,eAAA,eACgB,cAAc;EAAA;AACrD"}
1
+ {"version":3,"names":["BaseProps","WmPopoverProps","constructor","arguments","_defineProperty"],"sources":["popover.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport React from 'react';\n\nexport default class WmPopoverProps extends BaseProps {\n animation?: string = null as any;\n badgevalue? = null as any;\n caption? = 'Link';\n contentanimation?: string = null as any;\n iconclass? = null as any;\n iconposition? = 'left' as any;\n popoverwidth?: string | number | null = 240;\n popoverheight?: string | number | null = 360;\n autoclose?: 'outsideClick' | 'disabled' | 'always' = 'outsideClick';\n children? = [] as any;\n renderPartial?: Function = null as any;\n title?: string = null as any;\n type?: 'action-sheet' | 'dropdown' = 'action-sheet';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAGzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,qBACX,IAAI;IAAAA,eAAA,kBACP,MAAM;IAAAA,eAAA,2BACW,IAAI;IAAAA,eAAA,oBACnB,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,uBACkB,GAAG;IAAAA,eAAA,wBACF,GAAG;IAAAA,eAAA,oBACS,cAAc;IAAAA,eAAA,mBACvD,EAAE;IAAAA,eAAA,wBACa,IAAI;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,eACgB,cAAc;EAAA;AACrD"}
@@ -17,7 +17,10 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
17
17
  },
18
18
  link: {},
19
19
  popover: {
20
- backgroundColor: themeVariables.popoverBackgroundColor
20
+ backgroundColor: themeVariables.popoverBackgroundColor,
21
+ maxWidth: 640,
22
+ borderTopLeftRadius: 28,
23
+ borderTopRightRadius: 28
21
24
  },
22
25
  popoverContent: {
23
26
  root: {
@@ -25,7 +28,10 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
25
28
  }
26
29
  },
27
30
  modal: {},
28
- modalContent: {}
31
+ modalContent: {
32
+ borderTopLeftRadius: 28,
33
+ borderTopRightRadius: 28
34
+ }
29
35
  });
30
36
  addStyle(DEFAULT_CLASS, '', defaultStyles);
31
37
  addStyle('popover-action-sheet', '', {
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","Dimensions","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","padding","text","title","backgroundColor","popoverTitleBackgroundColor","color","popoverTitleColor","fontSize","fontFamily","baseFont","link","popover","popoverBackgroundColor","popoverContent","flex","modal","modalContent","width","minHeight","maxHeight","get","height","position","bottom","getStyle","shadowOffset","shadowOpacity","shadowRadius","justifyContent","transparent","borderRadius"],"sources":["popover.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmAnchorStyles } from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.styles';\nimport { WmContainerStyles } from '@wavemaker/app-rn-runtime/components/container/container.styles';\nimport { Dimensions } from 'react-native';\n\nexport type WmPopoverStyles = BaseStyles & {\n link: WmAnchorStyles,\n popover: AllStyle,\n popoverContent : WmContainerStyles,\n modal: AllStyle,\n modalContent: AllStyle,\n title: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-popover';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPopoverStyles = defineStyles({\n root: {\n padding: 8\n },\n text: {},\n title: {\n backgroundColor: themeVariables.popoverTitleBackgroundColor,\n padding: 12,\n color: themeVariables.popoverTitleColor,\n fontSize: 16,\n fontFamily: themeVariables.baseFont\n },\n link: {} as WmAnchorStyles,\n popover: {\n backgroundColor: themeVariables.popoverBackgroundColor\n },\n popoverContent : {\n root: {\n flex: 1\n }\n } as WmContainerStyles,\n modal: {},\n modalContent: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('popover-action-sheet', '', {\n modal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n },\n popover: {\n width: '100%',\n minHeight: 240,\n maxHeight: Dimensions.get('window').height - 120,\n },\n modalContent: {\n position: 'absolute',\n bottom: 0,\n width: '100%',\n ...BASE_THEME.getStyle('elevate1').root,\n shadowOffset: {\n width: 0,\n height: 0\n },\n shadowOpacity: 0.6,\n shadowRadius: 10,\n justifyContent: 'flex-end'\n }\n } as any as WmPopoverStyles);\n addStyle('popover-dropdown', '', {\n modal: {\n backgroundColor: 'transparent',\n },\n popover: {\n backgroundColor: themeVariables.transparent\n },\n modalContent: {\n borderRadius: 6,\n position: 'absolute',\n ...BASE_THEME.getStyle('elevate4').root,\n shadowRadius: 8\n }\n } as WmPopoverStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAGxF,SAASC,UAAU,QAAQ,cAAc;AAWzC,OAAO,MAAMC,aAAa,GAAG,aAAa;AAC1CH,UAAU,CAACI,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA8B,GAAGN,YAAY,CAAC;IAChDO,IAAI,EAAE;MACFC,OAAO,EAAE;IACb,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,KAAK,EAAE;MACHC,eAAe,EAAEP,cAAc,CAACQ,2BAA2B;MAC3DJ,OAAO,EAAE,EAAE;MACXK,KAAK,EAAET,cAAc,CAACU,iBAAiB;MACvCC,QAAQ,EAAE,EAAE;MACZC,UAAU,EAAEZ,cAAc,CAACa;IAC/B,CAAC;IACDC,IAAI,EAAE,CAAC,CAAmB;IAC1BC,OAAO,EAAE;MACLR,eAAe,EAAEP,cAAc,CAACgB;IACpC,CAAC;IACDC,cAAc,EAAG;MACbd,IAAI,EAAE;QACFe,IAAI,EAAE;MACV;IACJ,CAAsB;IACtBC,KAAK,EAAE,CAAC,CAAC;IACTC,YAAY,EAAE,CAAC;EACnB,CAAC,CAAC;EAEFnB,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,sBAAsB,EAAE,EAAE,EAAE;IACjCkB,KAAK,EAAE;MACHZ,eAAe,EAAE;IACrB,CAAC;IACDQ,OAAO,EAAE;MACLM,KAAK,EAAE,MAAM;MACbC,SAAS,EAAE,GAAG;MACdC,SAAS,EAAE1B,UAAU,CAAC2B,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,GAAG;IACjD,CAAC;IACDL,YAAY,EAAE;MACVM,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,CAAC;MACTN,KAAK,EAAE,MAAM;MACb,GAAG1B,UAAU,CAACiC,QAAQ,CAAC,UAAU,CAAC,CAACzB,IAAI;MACvC0B,YAAY,EAAE;QACVR,KAAK,EAAE,CAAC;QACRI,MAAM,EAAE;MACZ,CAAC;MACDK,aAAa,EAAE,GAAG;MAClBC,YAAY,EAAE,EAAE;MAChBC,cAAc,EAAE;IACpB;EACJ,CAA2B,CAAC;EAC5B/B,QAAQ,CAAC,kBAAkB,EAAE,EAAE,EAAE;IAC7BkB,KAAK,EAAE;MACHZ,eAAe,EAAE;IACrB,CAAC;IACDQ,OAAO,EAAE;MACLR,eAAe,EAAEP,cAAc,CAACiC;IACpC,CAAC;IACDb,YAAY,EAAE;MACVc,YAAY,EAAE,CAAC;MACfR,QAAQ,EAAE,UAAU;MACpB,GAAG/B,UAAU,CAACiC,QAAQ,CAAC,UAAU,CAAC,CAACzB,IAAI;MACvC4B,YAAY,EAAE;IAClB;EACJ,CAAoB,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","Dimensions","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","padding","text","title","backgroundColor","popoverTitleBackgroundColor","color","popoverTitleColor","fontSize","fontFamily","baseFont","link","popover","popoverBackgroundColor","maxWidth","borderTopLeftRadius","borderTopRightRadius","popoverContent","flex","modal","modalContent","width","minHeight","maxHeight","get","height","position","bottom","getStyle","shadowOffset","shadowOpacity","shadowRadius","justifyContent","transparent","borderRadius"],"sources":["popover.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmAnchorStyles } from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.styles';\nimport { WmContainerStyles } from '@wavemaker/app-rn-runtime/components/container/container.styles';\nimport { Dimensions } from 'react-native';\n\nexport type WmPopoverStyles = BaseStyles & {\n link: WmAnchorStyles,\n popover: AllStyle,\n popoverContent : WmContainerStyles,\n modal: AllStyle,\n modalContent: AllStyle,\n title: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-popover';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPopoverStyles = defineStyles({\n root: {\n padding: 8\n },\n text: {},\n title: {\n backgroundColor: themeVariables.popoverTitleBackgroundColor,\n padding: 12,\n color: themeVariables.popoverTitleColor,\n fontSize: 16,\n fontFamily: themeVariables.baseFont\n },\n link: {} as WmAnchorStyles,\n popover: {\n backgroundColor: themeVariables.popoverBackgroundColor,\n maxWidth: 640,\n borderTopLeftRadius: 28,\n borderTopRightRadius: 28 \n },\n popoverContent : {\n root: {\n flex: 1\n }\n } as WmContainerStyles,\n modal: {},\n modalContent: {\n borderTopLeftRadius: 28,\n borderTopRightRadius: 28\n }\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('popover-action-sheet', '', {\n modal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n },\n popover: {\n width: '100%',\n minHeight: 240,\n maxHeight: Dimensions.get('window').height - 120,\n },\n modalContent: {\n position: 'absolute',\n bottom: 0,\n width: '100%',\n ...BASE_THEME.getStyle('elevate1').root,\n shadowOffset: {\n width: 0,\n height: 0\n },\n shadowOpacity: 0.6,\n shadowRadius: 10,\n justifyContent: 'flex-end'\n }\n } as any as WmPopoverStyles);\n addStyle('popover-dropdown', '', {\n modal: {\n backgroundColor: 'transparent',\n },\n popover: {\n backgroundColor: themeVariables.transparent\n },\n modalContent: {\n borderRadius: 6,\n position: 'absolute',\n ...BASE_THEME.getStyle('elevate4').root,\n shadowRadius: 8\n }\n } as WmPopoverStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAGxF,SAASC,UAAU,QAAQ,cAAc;AAWzC,OAAO,MAAMC,aAAa,GAAG,aAAa;AAC1CH,UAAU,CAACI,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA8B,GAAGN,YAAY,CAAC;IAChDO,IAAI,EAAE;MACFC,OAAO,EAAE;IACb,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,KAAK,EAAE;MACHC,eAAe,EAAEP,cAAc,CAACQ,2BAA2B;MAC3DJ,OAAO,EAAE,EAAE;MACXK,KAAK,EAAET,cAAc,CAACU,iBAAiB;MACvCC,QAAQ,EAAE,EAAE;MACZC,UAAU,EAAEZ,cAAc,CAACa;IAC/B,CAAC;IACDC,IAAI,EAAE,CAAC,CAAmB;IAC1BC,OAAO,EAAE;MACLR,eAAe,EAAEP,cAAc,CAACgB,sBAAsB;MACtDC,QAAQ,EAAE,GAAG;MACbC,mBAAmB,EAAE,EAAE;MACvBC,oBAAoB,EAAE;IAC1B,CAAC;IACDC,cAAc,EAAG;MACbjB,IAAI,EAAE;QACFkB,IAAI,EAAE;MACV;IACJ,CAAsB;IACtBC,KAAK,EAAE,CAAC,CAAC;IACTC,YAAY,EAAE;MACVL,mBAAmB,EAAE,EAAE;MACvBC,oBAAoB,EAAE;IAC1B;EACJ,CAAC,CAAC;EAEFlB,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,sBAAsB,EAAE,EAAE,EAAE;IACjCqB,KAAK,EAAE;MACHf,eAAe,EAAE;IACrB,CAAC;IACDQ,OAAO,EAAE;MACLS,KAAK,EAAE,MAAM;MACbC,SAAS,EAAE,GAAG;MACdC,SAAS,EAAE7B,UAAU,CAAC8B,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,GAAG;IACjD,CAAC;IACDL,YAAY,EAAE;MACVM,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,CAAC;MACTN,KAAK,EAAE,MAAM;MACb,GAAG7B,UAAU,CAACoC,QAAQ,CAAC,UAAU,CAAC,CAAC5B,IAAI;MACvC6B,YAAY,EAAE;QACVR,KAAK,EAAE,CAAC;QACRI,MAAM,EAAE;MACZ,CAAC;MACDK,aAAa,EAAE,GAAG;MAClBC,YAAY,EAAE,EAAE;MAChBC,cAAc,EAAE;IACpB;EACJ,CAA2B,CAAC;EAC5BlC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,EAAE;IAC7BqB,KAAK,EAAE;MACHf,eAAe,EAAE;IACrB,CAAC;IACDQ,OAAO,EAAE;MACLR,eAAe,EAAEP,cAAc,CAACoC;IACpC,CAAC;IACDb,YAAY,EAAE;MACVc,YAAY,EAAE,CAAC;MACfR,QAAQ,EAAE,UAAU;MACpB,GAAGlC,UAAU,CAACoC,QAAQ,CAAC,UAAU,CAAC,CAAC5B,IAAI;MACvC+B,YAAY,EAAE;IAClB;EACJ,CAAoB,CAAC;AACzB,CAAC,CAAC"}
@@ -28,7 +28,7 @@ export default class WmLeftPanel extends BaseComponent {
28
28
  });
29
29
  });
30
30
  }
31
- return props.renderPartial(this.onPartialLoad.bind(this));
31
+ return props.renderPartial(props, this.onPartialLoad.bind(this));
32
32
  }
33
33
  return props.children;
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","WmLeftPanelState","constructor","arguments","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","contentContainerStyle","styles","root","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <ScrollView contentContainerStyle={this.styles.root}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,8BAA8B;AAEzD,OAAO,MAAMC,gBAAgB,SAASJ,kBAAkB,CAAmB;EAAAK,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAAST,aAAa,CAAwD;EAE5GM,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAS,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAAC,IAAI,CAACH,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEX,KAAA,CAAAuB,aAAA,CAAClB,UAAU;MAACmB,qBAAqB,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GACjD,IAAI,CAACC,WAAW,EAChB,IAAI,CAACb,aAAa,CAACH,KAAK,CACf,CAAC;EAEjB;AACF"}
1
+ {"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","WmLeftPanelState","constructor","arguments","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","contentContainerStyle","styles","root","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <ScrollView contentContainerStyle={this.styles.root}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,8BAA8B;AAEzD,OAAO,MAAMC,gBAAgB,SAASJ,kBAAkB,CAAmB;EAAAK,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAAST,aAAa,CAAwD;EAE5GM,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAS,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAACJ,KAAK,EAAE,IAAI,CAACC,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEX,KAAA,CAAAuB,aAAA,CAAClB,UAAU;MAACmB,qBAAqB,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GACjD,IAAI,CAACC,WAAW,EAChB,IAAI,CAACb,aAAa,CAACH,KAAK,CACf,CAAC;EAEjB;AACF"}
@@ -4,7 +4,12 @@ export const DEFAULT_CLASS = 'app-left-panel';
4
4
  BASE_THEME.registerStyle((themeVariables, addStyle) => {
5
5
  const defaultStyles = defineStyles({
6
6
  root: {
7
- minHeight: '100%'
7
+ minHeight: '100%',
8
+ backgroundColor: themeVariables.navbarBackgroundColor,
9
+ elevation: 1,
10
+ borderTopRightRadius: 16,
11
+ borderBottomRightRadius: 16,
12
+ maxWidth: 360
8
13
  },
9
14
  text: {}
10
15
  });
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","text"],"sources":["left-panel.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 WmLeftPanelStyles = BaseStyles & {};\n\nexport const DEFAULT_CLASS = 'app-left-panel';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmLeftPanelStyles = defineStyles({\n root: {\n minHeight: '100%'\n },\n text: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAIxF,OAAO,MAAMC,aAAa,GAAG,gBAAgB;AAC7CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAgC,GAAGL,YAAY,CAAC;IAClDM,IAAI,EAAE;MACFC,SAAS,EAAE;IACf,CAAC;IACDC,IAAI,EAAE,CAAC;EACX,CAAC,CAAC;EAEFJ,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC"}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","backgroundColor","navbarBackgroundColor","elevation","borderTopRightRadius","borderBottomRightRadius","maxWidth","text"],"sources":["left-panel.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 WmLeftPanelStyles = BaseStyles & {};\n\nexport const DEFAULT_CLASS = 'app-left-panel';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmLeftPanelStyles = defineStyles({\n root: {\n minHeight: '100%',\n backgroundColor: themeVariables.navbarBackgroundColor,\n elevation: 1,\n borderTopRightRadius: 16,\n borderBottomRightRadius: 16,\n maxWidth: 360\n },\n text: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAIxF,OAAO,MAAMC,aAAa,GAAG,gBAAgB;AAC7CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAgC,GAAGL,YAAY,CAAC;IAClDM,IAAI,EAAE;MACFC,SAAS,EAAE,MAAM;MACjBC,eAAe,EAAEL,cAAc,CAACM,qBAAqB;MACrDC,SAAS,EAAE,CAAC;MACZC,oBAAoB,EAAE,EAAE;MACxBC,uBAAuB,EAAE,EAAE;MAC3BC,QAAQ,EAAE;IACd,CAAC;IACDC,IAAI,EAAE,CAAC;EACX,CAAC,CAAC;EAEFV,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC"}
@@ -1,3 +1,4 @@
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); }
1
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
3
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
@@ -22,13 +23,13 @@ export default class WmTabbar extends BaseNavComponent {
22
23
  super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());
23
24
  _defineProperty(this, "tabbarHeight", 0);
24
25
  }
25
- renderTabItem(item, props, onSelect) {
26
+ renderTabItem(item, testId, props, onSelect) {
26
27
  const isActive = props.isActive && props.isActive(item);
27
28
  const getDisplayLabel = this.props.getDisplayExpression || (label => label);
28
- return /*#__PURE__*/React.createElement(TouchableOpacity, {
29
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('item' + testId), {
29
30
  onPress: () => onSelect && onSelect(),
30
31
  key: item.key
31
- }, /*#__PURE__*/React.createElement(View, {
32
+ }), /*#__PURE__*/React.createElement(View, {
32
33
  style: [this.styles.tabItem, isActive ? this.styles.activeTabItem : {}]
33
34
  }, /*#__PURE__*/React.createElement(WmIcon, {
34
35
  styles: this.theme.mergeStyle({}, this.styles.tabIcon, isActive ? this.styles.activeTabIcon : {}),
@@ -79,7 +80,7 @@ export default class WmTabbar extends BaseNavComponent {
79
80
  }, moreItems.map((a, i) => /*#__PURE__*/React.createElement(View, {
80
81
  key: i,
81
82
  style: this.styles.moreMenuRow
82
- }, a.map(item => this.renderTabItem(item, props, () => this.onItemSelect(item, navigationService)))))))));
83
+ }, a.map(item => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))))))));
83
84
  } else {
84
85
  modalService.hideModal(this.state.modalOptions);
85
86
  }
@@ -89,10 +90,10 @@ export default class WmTabbar extends BaseNavComponent {
89
90
  onLayout: e => {
90
91
  this.tabbarHeight = e.nativeEvent.layout.height;
91
92
  }
92
- }, tabItems.filter((item, i) => i < max).map((item, i) => this.renderTabItem(item, props, () => this.onItemSelect(item, navigationService))), tabItems.length > max && this.renderTabItem({
93
+ }, tabItems.filter((item, i) => i < max).map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService))), tabItems.length > max && this.renderTabItem({
93
94
  label: props.morebuttonlabel,
94
95
  icon: props.morebuttoniconclass
95
- }, props, () => {
96
+ }, 6666 + '', props, () => {
96
97
  this.updateState({
97
98
  showMore: !this.state.showMore
98
99
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","WmTabbarState","constructor","arguments","_defineProperty","WmTabbar","props","renderTabItem","item","onSelect","isActive","getDisplayLabel","getDisplayExpression","label","createElement","onPress","key","style","styles","tabItem","activeTabItem","theme","mergeStyle","tabIcon","activeTabIcon","iconclass","icon","tabLabel","activeTabLabel","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","state","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","renderWidget","max","tabItems","dataItems","moreItems","length","moreItemsCount","Math","ceil","j","i","row","push","root","modalService","showMore","showModal","value","moreMenu","map","a","moreMenuRow","hideModal","menu","onLayout","e","nativeEvent","layout","height","filter","morebuttonlabel","morebuttoniconclass","updateState"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\n\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\n\nclass WmTabbarState<T extends BaseNavProps> extends BaseNavState<T>{\n showMore = false;\n modalOptions = {} as ModalOptions;\n}\n\nexport default class WmTabbar extends BaseNavComponent<WmTabbarProps, WmTabbarState<WmTabbarProps>, WmTabbarStyles> {\n\n private tabbarHeight = 0;\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n }\n\n renderTabItem(item: NavigationDataItem, props: WmTabbarProps, onSelect: Function) {\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n return (\n <TouchableOpacity onPress={() => onSelect && onSelect()} key={item.key}>\n <View style={[this.styles.tabItem, isActive ? this.styles.activeTabItem: {}]}>\n <WmIcon styles={this.theme.mergeStyle({}, this.styles.tabIcon, isActive ? this.styles.activeTabIcon: {})} iconclass={item.icon}></WmIcon>\n <Text style={[this.styles.tabLabel, isActive ? this.styles.activeTabLabel: {}]}>{getDisplayLabel(item.label)}</Text>\n </View>\n </TouchableOpacity>\n );\n }\n\n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent; \n return o;\n }\n\n renderWidget(props: WmTabbarProps) {\n let max = 5;\n const tabItems = this.state.dataItems;\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as NavigationDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>\n (<View style={this.styles.root}>\n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map(item => this.renderTabItem(item, props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}>\n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, props, () => this.onItemSelect(item, navigationService)))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as NavigationDataItem, props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","WmTabbarState","constructor","arguments","_defineProperty","WmTabbar","props","renderTabItem","item","testId","onSelect","isActive","getDisplayLabel","getDisplayExpression","label","createElement","_extends","getTestPropsForAction","onPress","key","style","styles","tabItem","activeTabItem","theme","mergeStyle","tabIcon","activeTabIcon","iconclass","icon","tabLabel","activeTabLabel","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","state","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","renderWidget","max","tabItems","dataItems","moreItems","length","moreItemsCount","Math","ceil","j","i","row","push","root","modalService","showMore","showModal","value","moreMenu","map","a","moreMenuRow","hideModal","menu","onLayout","e","nativeEvent","layout","height","filter","morebuttonlabel","morebuttoniconclass","updateState"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\n\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\n\nclass WmTabbarState<T extends BaseNavProps> extends BaseNavState<T>{\n showMore = false;\n modalOptions = {} as ModalOptions;\n}\n\nexport default class WmTabbar extends BaseNavComponent<WmTabbarProps, WmTabbarState<WmTabbarProps>, WmTabbarStyles> {\n\n private tabbarHeight = 0;\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n }\n\n renderTabItem(item: NavigationDataItem, testId: string, props: WmTabbarProps, onSelect: Function) {\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n return (\n <TouchableOpacity {...this.getTestPropsForAction('item' + testId)} onPress={() => onSelect && onSelect()} key={item.key}>\n <View style={[this.styles.tabItem, isActive ? this.styles.activeTabItem: {}]}>\n <WmIcon styles={this.theme.mergeStyle({}, this.styles.tabIcon, isActive ? this.styles.activeTabIcon: {})} iconclass={item.icon}></WmIcon>\n <Text style={[this.styles.tabLabel, isActive ? this.styles.activeTabLabel: {}]}>{getDisplayLabel(item.label)}</Text>\n </View>\n </TouchableOpacity>\n );\n }\n\n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent; \n return o;\n }\n\n renderWidget(props: WmTabbarProps) {\n let max = 5;\n const tabItems = this.state.dataItems;\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as NavigationDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>\n (<View style={this.styles.root}>\n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map(item => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}>\n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as NavigationDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AAE3D,SAASC,aAAa,QAAQ,wCAAwC;AACtE,SAASC,aAAa,QAAoC,8CAA8C;AACxG,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAA4BC,yBAAyB,QAAQ,mDAAmD;AAEhH,SAASC,gBAAgB,EAAEC,YAAY,QAA4B,2EAA2E;AAE9I,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAE/D,MAAMC,aAAa,SAAiCH,YAAY,CAAG;EAAAI,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,mBACtD,KAAK;IAAAA,eAAA,uBACD,CAAC,CAAC;EAAA;AACnB;AAEA,eAAe,MAAMC,QAAQ,SAASR,gBAAgB,CAA8D;EAIlHK,WAAWA,CAACI,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,EAAE,IAAIE,aAAa,CAAC,CAAC,CAAC;IAACG,eAAA,uBAHjD,CAAC;EAIxB;EAEAG,aAAaA,CAACC,IAAwB,EAAEC,MAAc,EAAEH,KAAoB,EAAEI,QAAkB,EAAE;IAChG,MAAMC,QAAQ,GAAGL,KAAK,CAACK,QAAQ,IAAIL,KAAK,CAACK,QAAQ,CAACH,IAAI,CAAC;IACvD,MAAMI,eAAe,GAAG,IAAI,CAACN,KAAK,CAACO,oBAAoB,KAAMC,KAAa,IAAKA,KAAK,CAAC;IACrF,oBACEzB,KAAA,CAAA0B,aAAA,CAACvB,gBAAgB,EAAAwB,QAAA,KAAK,IAAI,CAACC,qBAAqB,CAAC,MAAM,GAAGR,MAAM,CAAC;MAAES,OAAO,EAAEA,CAAA,KAAMR,QAAQ,IAAIA,QAAQ,CAAC,CAAE;MAAES,GAAG,EAAEX,IAAI,CAACW;IAAI,iBACvH9B,KAAA,CAAA0B,aAAA,CAACxB,IAAI;MAAC6B,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,OAAO,EAAEX,QAAQ,GAAG,IAAI,CAACU,MAAM,CAACE,aAAa,GAAE,CAAC,CAAC;IAAE,gBACzElC,KAAA,CAAA0B,aAAA,CAACpB,MAAM;MAAC0B,MAAM,EAAE,IAAI,CAACG,KAAK,CAACC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAACJ,MAAM,CAACK,OAAO,EAAEf,QAAQ,GAAG,IAAI,CAACU,MAAM,CAACM,aAAa,GAAE,CAAC,CAAC,CAAE;MAACC,SAAS,EAAEpB,IAAI,CAACqB;IAAK,CAAS,CAAC,eACzIxC,KAAA,CAAA0B,aAAA,CAACzB,IAAI;MAAC8B,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACS,QAAQ,EAAEnB,QAAQ,GAAG,IAAI,CAACU,MAAM,CAACU,cAAc,GAAE,CAAC,CAAC;IAAE,GAAEnB,eAAe,CAACJ,IAAI,CAACM,KAAK,CAAQ,CACjH,CACU,CAAC;EAEvB;EAEAkB,YAAYA,CAACxB,IAAwB,EAAEyB,iBAAoC,EAAE;IAC3EzB,IAAI,CAAC0B,IAAI,IAAID,iBAAiB,CAACE,OAAO,CAAC3B,IAAI,CAAC0B,IAAI,CAAC;IACjD,IAAI,CAACE,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAAE7B,IAAI,CAAC,CAAC;EAChE;EAEA8B,mBAAmBA,CAACC,OAAkB,EAAE;IACtC,MAAMC,CAAC,GAAG,IAAI,CAACC,KAAK,CAACC,YAAY;IACjCF,CAAC,CAACD,OAAO,GAAGA,OAAO;IACnBC,CAAC,CAACG,UAAU,GAAG;MACbC,MAAM,EAAE,IAAI,CAACC;IACf,CAAC;IACDL,CAAC,CAACM,YAAY,GAAG,IAAI,CAACzB,MAAM,CAAC0B,YAAY;IACzC,OAAOP,CAAC;EACV;EAEAQ,YAAYA,CAAC1C,KAAoB,EAAE;IACjC,IAAI2C,GAAG,GAAG,CAAC;IACX,MAAMC,QAAQ,GAAG,IAAI,CAACT,KAAK,CAACU,SAAS;IACrC,MAAMC,SAAS,GAAG,EAAa;IAC/B,IAAIF,QAAQ,CAACG,MAAM,GAAGJ,GAAG,EAAE;MACzB,MAAMK,cAAc,GAAGC,IAAI,CAACC,IAAI,CAAC,CAACN,QAAQ,CAACG,MAAM,GAAG,CAAC,GAAGJ,GAAG,IAAGA,GAAG,CAAC,GAAGA,GAAG;MACxE,IAAIQ,CAAC,GAAG,CAAC;MACT,KAAK,IAAIC,CAAC,GAAGT,GAAG,GAAC,CAAC,EAAES,CAAC,GAAGJ,cAAc,GAAG;QACvC,MAAMK,GAAG,GAAG,EAAE;QACd,KAAK,IAAIF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,GAAG,EAAEQ,CAAC,EAAE,EAAE;UAC5BE,GAAG,CAACF,CAAC,CAAC,GAAGP,QAAQ,CAACQ,CAAC,EAAE,CAAC,IAAI;YAACvC,GAAG,EAAE,SAAS,GAAGuC;UAAC,CAAuB;QACtE;QACAN,SAAS,CAACQ,IAAI,CAACD,GAAG,CAAC;MACrB;MACAV,GAAG,GAAGA,GAAG,GAAG,CAAC;IACf;IACA,oBACE5D,KAAA,CAAA0B,aAAA,CAACnB,yBAAyB,QACtBqC,iBAAiB,iBAClB5C,KAAA,CAAA0B,aAAA,CAACxB,IAAI;MAAC6B,KAAK,EAAE,IAAI,CAACC,MAAM,CAACwC;IAAK,gBAC7BxE,KAAA,CAAA0B,aAAA,CAACrB,aAAa,QACVoE,YAA0B,IAAK;MAC/B,IAAI,IAAI,CAACrB,KAAK,CAACsB,QAAQ,EAAE;QACvBD,YAAY,CAACE,SAAS,CAAC,IAAI,CAAC1B,mBAAmB,eAC/CjD,KAAA,CAAA0B,aAAA,CAACtB,aAAa;UAACwE,KAAK,EAAE,IAAI,CAACzC;QAAM,gBAC/BnC,KAAA,CAAA0B,aAAA,CAACxB,IAAI;UAAC6B,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC6C;QAAS,GAC/Bd,SAAS,CAACe,GAAG,CAAC,CAACC,CAAC,EAAEV,CAAC,kBACjBrE,KAAA,CAAA0B,aAAA,CAACxB,IAAI;UAAC4B,GAAG,EAAEuC,CAAE;UAACtC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACgD;QAAY,GAC3CD,CAAC,CAACD,GAAG,CAAC3D,IAAI,IAAI,IAAI,CAACD,aAAa,CAACC,IAAI,EAAEkD,CAAC,GAAG,EAAE,EAAEpD,KAAK,EAAG,MAAM,IAAI,CAAC0B,YAAY,CAACxB,IAAI,EAAEyB,iBAAiB,CAAC,CAAC,CACrG,CACR,CACI,CACO,CAAE,CAAC,CAAC;MACrB,CAAC,MAAM;QACL6B,YAAY,CAACQ,SAAS,CAAC,IAAI,CAAC7B,KAAK,CAACC,YAAY,CAAC;MACjD;MACA,OAAO,IAAI;IACb,CACa,CAAC,eAChBrD,KAAA,CAAA0B,aAAA,CAACxB,IAAI;MAAC6B,KAAK,EAAE,IAAI,CAACC,MAAM,CAACkD,IAAK;MAC5BC,QAAQ,EAAEC,CAAC,IAAI;QAAE,IAAI,CAAC5B,YAAY,GAAG4B,CAAC,CAACC,WAAW,CAACC,MAAM,CAACC,MAAM;MAAA;IAAE,GACjE1B,QAAQ,CAAC2B,MAAM,CAAC,CAACrE,IAAI,EAAEkD,CAAC,KAAKA,CAAC,GAAGT,GAAG,CAAC,CACnCkB,GAAG,CAAC,CAAC3D,IAAI,EAAEkD,CAAC,KAAK,IAAI,CAACnD,aAAa,CAACC,IAAI,EAAEkD,CAAC,GAAG,EAAE,EAAEpD,KAAK,EAAE,MAAM,IAAI,CAAC0B,YAAY,CAACxB,IAAI,EAAEyB,iBAAiB,CAAC,CAAC,CAAC,EAC7GiB,QAAQ,CAACG,MAAM,GAAGJ,GAAG,IACpB,IAAI,CAAC1C,aAAa,CAAC;MACjBO,KAAK,EAAER,KAAK,CAACwE,eAAe;MAC5BjD,IAAI,EAAEvB,KAAK,CAACyE;IACd,CAAC,EAAwB,IAAI,GAAE,EAAE,EAAEzE,KAAK,EAAG,MAAM;MAC/C,IAAI,CAAC0E,WAAW,CAAC;QAACjB,QAAQ,EAAE,CAAC,IAAI,CAACtB,KAAK,CAACsB;MAAQ,CAAiC,CAAC;IACpF,CAAC,CAEC,CACF,CACmB,CAAC;EAEhC;AACF"}
@@ -74,5 +74,27 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
74
74
  activeTabLabel: {}
75
75
  });
76
76
  addStyle(DEFAULT_CLASS, '', defaultStyles);
77
+ addStyle(DEFAULT_CLASS + '-1', '', {
78
+ root: {
79
+ height: undefined
80
+ },
81
+ tabItem: {
82
+ justifyContent: 'space-between'
83
+ },
84
+ activeTabItem: {
85
+ borderTopWidth: 4,
86
+ borderTopColor: themeVariables.tabbarIconColor
87
+ },
88
+ tabIcon: {
89
+ root: {
90
+ paddingTop: 8,
91
+ paddingBottom: 8,
92
+ borderBottomWidth: 0
93
+ }
94
+ },
95
+ tabLabel: {
96
+ marginTop: 0
97
+ }
98
+ });
77
99
  });
78
100
  //# sourceMappingURL=tabbar.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","height","text","menu","flexDirection","backgroundColor","tabbarBackgroundColor","justifyContent","alignItems","modalContent","moreMenu","width","getStyle","shadowOffset","shadowOpacity","shadowRadius","moreMenuRow","paddingTop","paddingBottom","tabItem","minWidth","opacity","activeTabItem","tabIcon","alignSelf","borderBottomColor","transparent","borderBottomWidth","icon","fontSize","color","tabbarIconColor","activeTabIcon","tabLabel","fontWeight","textAlign","fontFamily","baseFont","marginTop","activeTabLabel"],"sources":["tabbar.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmIconStyles } from '../../basic/icon/icon.styles';\n\nexport type WmTabbarStyles = BaseStyles & {\n menu: AllStyle,\n modalContent: AllStyle,\n moreMenu: AllStyle,\n moreMenuRow: AllStyle,\n tabItem: AllStyle,\n activeTabItem: AllStyle,\n tabIcon: WmIconStyles,\n activeTabIcon: WmIconStyles,\n tabLabel: AllStyle,\n activeTabLabel: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-tabbar';\n BASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmTabbarStyles = defineStyles<WmTabbarStyles>({\n root: {\n height: 88\n },\n text: {},\n menu: {\n height: '100%',\n flexDirection: 'row',\n backgroundColor: themeVariables.tabbarBackgroundColor,\n justifyContent: 'space-around',\n alignItems: 'flex-end',\n },\n modalContent: {},\n moreMenu: {\n width: '100%',\n flexDirection: 'column-reverse',\n justifyContent: 'flex-end',\n backgroundColor: themeVariables.tabbarBackgroundColor,\n ...BASE_THEME.getStyle('elevate1').root,\n shadowOffset: {\n width: 0,\n height: -6\n },\n shadowOpacity: 0.3,\n shadowRadius: 6\n },\n moreMenuRow: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-around',\n width: '100%',\n paddingTop: 4,\n paddingBottom: 4\n },\n tabItem: {\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n minWidth: 60,\n opacity: 0.4\n },\n activeTabItem: {\n opacity: 1\n },\n tabIcon: {\n root: {\n alignSelf: 'center',\n paddingBottom: 32,\n borderBottomColor: themeVariables.transparent,\n borderBottomWidth: 4\n },\n icon: {\n fontSize: 36,\n color: themeVariables.tabbarIconColor\n }\n } as WmIconStyles,\n activeTabIcon: {\n root: {\n borderBottomColor: themeVariables.tabbarIconColor,\n }\n } as WmIconStyles,\n tabLabel: {\n fontSize: 14,\n fontWeight: '500',\n color: themeVariables.tabbarIconColor,\n textAlign: 'center',\n fontFamily: themeVariables.baseFont,\n marginTop: -32,\n paddingBottom: 14\n },\n activeTabLabel: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAgBxF,OAAO,MAAMC,aAAa,GAAG,YAAY;AACrCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACvD,MAAMC,aAA6B,GAAGL,YAAY,CAAiB;IAC/DM,IAAI,EAAE;MACFC,MAAM,EAAE;IACZ,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE;MACFF,MAAM,EAAE,MAAM;MACdG,aAAa,EAAE,KAAK;MACpBC,eAAe,EAAER,cAAc,CAACS,qBAAqB;MACrDC,cAAc,EAAE,cAAc;MAC9BC,UAAU,EAAE;IAChB,CAAC;IACDC,YAAY,EAAE,CAAC,CAAC;IAChBC,QAAQ,EAAE;MACNC,KAAK,EAAE,MAAM;MACbP,aAAa,EAAE,gBAAgB;MAC/BG,cAAc,EAAE,UAAU;MAC1BF,eAAe,EAAER,cAAc,CAACS,qBAAqB;MACrD,GAAGb,UAAU,CAACmB,QAAQ,CAAC,UAAU,CAAC,CAACZ,IAAI;MACvCa,YAAY,EAAE;QACVF,KAAK,EAAE,CAAC;QACRV,MAAM,EAAE,CAAC;MACb,CAAC;MACDa,aAAa,EAAE,GAAG;MAClBC,YAAY,EAAE;IAClB,CAAC;IACDC,WAAW,EAAE;MACTZ,aAAa,EAAE,aAAa;MAC5BG,cAAc,EAAE,cAAc;MAC9BI,KAAK,EAAE,MAAM;MACbM,UAAU,EAAE,CAAC;MACbC,aAAa,EAAE;IACnB,CAAC;IACDC,OAAO,EAAE;MACLf,aAAa,EAAE,QAAQ;MACvBG,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE,QAAQ;MACpBY,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE;IACb,CAAC;IACDC,aAAa,EAAE;MACXD,OAAO,EAAE;IACb,CAAC;IACDE,OAAO,EAAE;MACLvB,IAAI,EAAE;QACFwB,SAAS,EAAE,QAAQ;QACnBN,aAAa,EAAE,EAAE;QACjBO,iBAAiB,EAAE5B,cAAc,CAAC6B,WAAW;QAC7CC,iBAAiB,EAAE;MACvB,CAAC;MACDC,IAAI,EAAE;QACFC,QAAQ,EAAE,EAAE;QACZC,KAAK,EAAGjC,cAAc,CAACkC;MAC3B;IACJ,CAAiB;IACjBC,aAAa,EAAE;MACXhC,IAAI,EAAE;QACFyB,iBAAiB,EAAE5B,cAAc,CAACkC;MACtC;IACJ,CAAiB;IACjBE,QAAQ,EAAE;MACNJ,QAAQ,EAAE,EAAE;MACZK,UAAU,EAAE,KAAK;MACjBJ,KAAK,EAAGjC,cAAc,CAACkC,eAAe;MACtCI,SAAS,EAAE,QAAQ;MACnBC,UAAU,EAAEvC,cAAc,CAACwC,QAAQ;MACnCC,SAAS,EAAE,CAAC,EAAE;MACdpB,aAAa,EAAE;IACnB,CAAC;IACDqB,cAAc,EAAE,CAAC;EACrB,CAAC,CAAC;EAEFzC,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC"}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","height","text","menu","flexDirection","backgroundColor","tabbarBackgroundColor","justifyContent","alignItems","modalContent","moreMenu","width","getStyle","shadowOffset","shadowOpacity","shadowRadius","moreMenuRow","paddingTop","paddingBottom","tabItem","minWidth","opacity","activeTabItem","tabIcon","alignSelf","borderBottomColor","transparent","borderBottomWidth","icon","fontSize","color","tabbarIconColor","activeTabIcon","tabLabel","fontWeight","textAlign","fontFamily","baseFont","marginTop","activeTabLabel","undefined","borderTopWidth","borderTopColor"],"sources":["tabbar.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmIconStyles } from '../../basic/icon/icon.styles';\n\nexport type WmTabbarStyles = BaseStyles & {\n menu: AllStyle,\n modalContent: AllStyle,\n moreMenu: AllStyle,\n moreMenuRow: AllStyle,\n tabItem: AllStyle,\n activeTabItem: AllStyle,\n tabIcon: WmIconStyles,\n activeTabIcon: WmIconStyles,\n tabLabel: AllStyle,\n activeTabLabel: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-tabbar';\n BASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmTabbarStyles = defineStyles<WmTabbarStyles>({\n root: {\n height: 88\n },\n text: {},\n menu: {\n height: '100%',\n flexDirection: 'row',\n backgroundColor: themeVariables.tabbarBackgroundColor,\n justifyContent: 'space-around',\n alignItems: 'flex-end',\n },\n modalContent: {},\n moreMenu: {\n width: '100%',\n flexDirection: 'column-reverse',\n justifyContent: 'flex-end',\n backgroundColor: themeVariables.tabbarBackgroundColor,\n ...BASE_THEME.getStyle('elevate1').root,\n shadowOffset: {\n width: 0,\n height: -6\n },\n shadowOpacity: 0.3,\n shadowRadius: 6\n },\n moreMenuRow: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-around',\n width: '100%',\n paddingTop: 4,\n paddingBottom: 4\n },\n tabItem: {\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n minWidth: 60,\n opacity: 0.4\n },\n activeTabItem: {\n opacity: 1\n },\n tabIcon: {\n root: {\n alignSelf: 'center',\n paddingBottom: 32,\n borderBottomColor: themeVariables.transparent,\n borderBottomWidth: 4\n },\n icon: {\n fontSize: 36,\n color: themeVariables.tabbarIconColor\n }\n } as WmIconStyles,\n activeTabIcon: {\n root: {\n borderBottomColor: themeVariables.tabbarIconColor,\n }\n } as WmIconStyles,\n tabLabel: {\n fontSize: 14,\n fontWeight: '500',\n color: themeVariables.tabbarIconColor,\n textAlign: 'center',\n fontFamily: themeVariables.baseFont,\n marginTop: -32,\n paddingBottom: 14\n },\n activeTabLabel: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS+ '-1', '', {\n root: {\n height: undefined\n },\n tabItem: {\n justifyContent: 'space-between' \n },\n activeTabItem: {\n borderTopWidth: 4,\n borderTopColor: themeVariables.tabbarIconColor\n },\n tabIcon: {\n root: {\n paddingTop: 8,\n paddingBottom: 8,\n borderBottomWidth: 0\n }\n },\n tabLabel: {\n marginTop: 0\n }\n } as WmTabbarStyles);\n});"],"mappings":"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"}
@@ -4,6 +4,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
4
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
5
  import { assign, isUndefined, isNil } from 'lodash';
6
6
  import React from 'react';
7
+ import { Platform } from 'react-native';
7
8
  import * as Animatable from 'react-native-animatable';
8
9
  import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
9
10
  import { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';
@@ -18,6 +19,7 @@ import { assignIn } from 'lodash-es';
18
19
  import { HideMode } from './if.component';
19
20
  import { AssetConsumer } from './asset.provider';
20
21
  import { FixedView } from './fixed-view.component';
22
+ import { TextIdPrefixConsumer } from './testid.provider';
21
23
  export const WIDGET_LOGGER = ROOT_LOGGER.extend('widget');
22
24
  export const ParentContext = /*#__PURE__*/React.createContext(null);
23
25
  export class BaseComponentState {
@@ -73,6 +75,7 @@ export class BaseComponent extends React.Component {
73
75
  _defineProperty(this, "styleOverrides", {});
74
76
  _defineProperty(this, "loadAsset", null);
75
77
  _defineProperty(this, "i18nService", injector.I18nService.get());
78
+ _defineProperty(this, "testIdPrefix", '');
76
79
  this.state = defaultState || {};
77
80
  this.propertyProvider = new PropsProvider(assign({
78
81
  show: true
@@ -331,6 +334,57 @@ export class BaseComponent extends React.Component {
331
334
  delete this.styles.root['backgroundSize'];
332
335
  delete this.styles.root['backgroundRepeat'];
333
336
  }
337
+ getTestId(suffix) {
338
+ let id = this.props.id || this.props.name;
339
+ if (this.testIdPrefix) {
340
+ id = this.testIdPrefix + '_' + id;
341
+ }
342
+ if (suffix) {
343
+ id = id + '_' + suffix;
344
+ }
345
+ return id;
346
+ }
347
+ getTestProps(suffix) {
348
+ let id = this.getTestId(suffix);
349
+ if (Platform.OS === 'android' || Platform.OS === 'web') {
350
+ return {
351
+ accessibilityLabel: id,
352
+ testID: id
353
+ };
354
+ }
355
+ return {
356
+ accessible: false,
357
+ testID: id
358
+ };
359
+ }
360
+ getTestPropsForInput(suffix) {
361
+ return this.getTestProps(suffix || 'i');
362
+ }
363
+ getTestPropsForAction(suffix) {
364
+ return this.getTestProps(suffix || 'a');
365
+ }
366
+ getTestPropsForLabel(suffix) {
367
+ return this.getTestProps(suffix || 'l');
368
+ }
369
+ getDependenciesFromContext(fn) {
370
+ return /*#__PURE__*/React.createElement(TextIdPrefixConsumer, null, testIdPrefix => {
371
+ this.testIdPrefix = testIdPrefix || '';
372
+ return /*#__PURE__*/React.createElement(AssetConsumer, null, loadAsset => {
373
+ this.loadAsset = loadAsset;
374
+ return /*#__PURE__*/React.createElement(ParentContext.Consumer, null, parent => {
375
+ var _this$parent;
376
+ this.setParent(parent);
377
+ this._showSkeleton = ((_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent._showSkeleton) || !!this.state.props.showskeleton;
378
+ return /*#__PURE__*/React.createElement(ParentContext.Provider, {
379
+ value: this
380
+ }, /*#__PURE__*/React.createElement(ThemeConsumer, null, theme => {
381
+ this.theme = theme || BASE_THEME;
382
+ return fn();
383
+ }));
384
+ });
385
+ });
386
+ });
387
+ }
334
388
  render() {
335
389
  const props = this.state.props;
336
390
  if (this.state.hide || !this.isVisible() && this.hideMode === HideMode.DONOT_ADD_TO_DOM) {
@@ -338,44 +392,33 @@ export class BaseComponent extends React.Component {
338
392
  }
339
393
  this.isFixed = false;
340
394
  const selectedLocale = this.i18nService.getSelectedLocale();
341
- return /*#__PURE__*/React.createElement(AssetConsumer, null, loadAsset => {
342
- this.loadAsset = loadAsset;
343
- return /*#__PURE__*/React.createElement(ParentContext.Consumer, null, parent => {
344
- var _this$parent;
345
- this.setParent(parent);
346
- this._showSkeleton = ((_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent._showSkeleton) || !!this.state.props.showskeleton;
347
- return /*#__PURE__*/React.createElement(ParentContext.Provider, {
348
- value: this
349
- }, /*#__PURE__*/React.createElement(ThemeConsumer, null, theme => {
350
- WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);
351
- this.theme = theme || BASE_THEME;
352
- this.styles = this.theme.mergeStyle(this.getDefaultStyles(), {
353
- text: this.theme.getStyle('app-' + selectedLocale)
354
- }, {
355
- text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)
356
- }, props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null, this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null, props.classname && this.theme.getStyle(props.classname), props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')), this.props.styles, {
357
- root: this.styleOverrides,
358
- text: this.styleOverrides
359
- });
360
- if (this.styles.root.hasOwnProperty('_background')) {
361
- delete this.styles.root.backgroundColor;
362
- }
363
- if (!this.isVisible()) {
364
- assign(this.styles, this.theme.getStyle('hidden'));
365
- }
366
- let eleToRender = this._showSkeleton && this.renderSkeleton(props);
367
- if (eleToRender) {
368
- return eleToRender;
369
- }
370
- this.setBackground();
371
- this.isFixed = this.styles.root.position === 'fixed';
372
- if (this.isFixed) {
373
- this.styles.root.position = undefined;
374
- return this.renderFixedContainer(props);
375
- }
376
- return this.addAnimation(this.renderWidget(this.state.props));
377
- }));
395
+ return this.getDependenciesFromContext(() => {
396
+ WIDGET_LOGGER.info(() => `${this.props.name || this.constructor.name} is rendering.`);
397
+ this.styles = this.theme.mergeStyle(this.getDefaultStyles(), {
398
+ text: this.theme.getStyle('app-' + selectedLocale)
399
+ }, {
400
+ text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)
401
+ }, props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null, this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null, props.classname && this.theme.getStyle(props.classname), props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')), this.props.styles, {
402
+ root: this.styleOverrides,
403
+ text: this.styleOverrides
378
404
  });
405
+ if (this.styles.root.hasOwnProperty('_background')) {
406
+ delete this.styles.root.backgroundColor;
407
+ }
408
+ if (!this.isVisible()) {
409
+ assign(this.styles, this.theme.getStyle('hidden'));
410
+ }
411
+ let eleToRender = this._showSkeleton && this.renderSkeleton(props);
412
+ if (eleToRender) {
413
+ return eleToRender;
414
+ }
415
+ this.setBackground();
416
+ this.isFixed = this.styles.root.position === 'fixed';
417
+ if (this.isFixed) {
418
+ this.styles.root.position = undefined;
419
+ return this.renderFixedContainer(props);
420
+ }
421
+ return this.addAnimation(this.renderWidget(this.state.props));
379
422
  });
380
423
  }
381
424
  }