@wavemaker/app-rn-runtime 12.0.0-next.141131 → 12.0.0-next.141138

Sign up to get free protection for your applications and to get access to all the features.
Files changed (321) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +32 -5
  2. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  3. app-rn-runtime/components/advanced/carousel/carousel.props.js +1 -0
  4. app-rn-runtime/components/advanced/carousel/carousel.props.js.map +1 -1
  5. app-rn-runtime/components/advanced/carousel/carousel.styles.js +15 -0
  6. app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
  7. app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
  8. app-rn-runtime/components/basic/anchor/anchor.component.js +15 -5
  9. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  10. app-rn-runtime/components/basic/anchor/anchor.styles.js +3 -0
  11. app-rn-runtime/components/basic/anchor/anchor.styles.js.map +1 -1
  12. app-rn-runtime/components/basic/animatedview.component.js +6 -2
  13. app-rn-runtime/components/basic/animatedview.component.js.map +1 -1
  14. app-rn-runtime/components/basic/audio/audio.component.js.map +1 -1
  15. app-rn-runtime/components/basic/button/button.component.js +20 -6
  16. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  17. app-rn-runtime/components/basic/custom/custom.component.js +1 -1
  18. app-rn-runtime/components/basic/custom/custom.component.js.map +1 -1
  19. app-rn-runtime/components/basic/icon/icon.component.js +14 -6
  20. app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
  21. app-rn-runtime/components/basic/label/label.component.js +13 -3
  22. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  23. app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
  24. app-rn-runtime/components/basic/lottie/lottie.component.js +3 -1
  25. app-rn-runtime/components/basic/lottie/lottie.component.js.map +1 -1
  26. app-rn-runtime/components/basic/message/message.component.js.map +1 -1
  27. app-rn-runtime/components/basic/picture/picture.component.js +1 -2
  28. app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
  29. app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +2 -2
  30. app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  31. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +5 -5
  32. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  33. app-rn-runtime/components/basic/search/search.component.js +10 -1
  34. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  35. app-rn-runtime/components/basic/search/search.props.js +3 -0
  36. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  37. app-rn-runtime/components/basic/search/search.styles.js +5 -0
  38. app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
  39. app-rn-runtime/components/basic/skeleton/skeleton.component.js +6 -3
  40. app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
  41. app-rn-runtime/components/basic/skeleton/skeleton.props.js +9 -1
  42. app-rn-runtime/components/basic/skeleton/skeleton.props.js.map +1 -1
  43. app-rn-runtime/components/basic/spinner/spinner.component.js +2 -3
  44. app-rn-runtime/components/basic/spinner/spinner.component.js.map +1 -1
  45. app-rn-runtime/components/basic/spinner/spinner.styles.js +3 -2
  46. app-rn-runtime/components/basic/spinner/spinner.styles.js.map +1 -1
  47. app-rn-runtime/components/basic/video/video.component.js.map +1 -1
  48. app-rn-runtime/components/basic/video/video.styles.js +4 -1
  49. app-rn-runtime/components/basic/video/video.styles.js.map +1 -1
  50. app-rn-runtime/components/chart/area-chart/area-chart.component.js +2 -1
  51. app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
  52. app-rn-runtime/components/chart/area-chart/area-chart.styles.js +7 -1
  53. app-rn-runtime/components/chart/area-chart/area-chart.styles.js.map +1 -1
  54. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js +7 -1
  55. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js.map +1 -1
  56. app-rn-runtime/components/chart/basechart.component.js +54 -2
  57. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  58. app-rn-runtime/components/chart/basechart.props.js +3 -2
  59. app-rn-runtime/components/chart/basechart.props.js.map +1 -1
  60. app-rn-runtime/components/chart/basechart.styles.js +4 -0
  61. app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
  62. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +15 -3
  63. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  64. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js +7 -1
  65. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js.map +1 -1
  66. app-rn-runtime/components/chart/column-chart/column-chart.styles.js +7 -1
  67. app-rn-runtime/components/chart/column-chart/column-chart.styles.js.map +1 -1
  68. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js +7 -1
  69. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js.map +1 -1
  70. app-rn-runtime/components/chart/line-chart/line-chart.props.js +2 -0
  71. app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
  72. app-rn-runtime/components/chart/line-chart/line-chart.styles.js +7 -1
  73. app-rn-runtime/components/chart/line-chart/line-chart.styles.js.map +1 -1
  74. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +6 -2
  75. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  76. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js +7 -1
  77. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js.map +1 -1
  78. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +37 -11
  79. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  80. app-rn-runtime/components/container/accordion/accordion.component.js +61 -12
  81. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  82. app-rn-runtime/components/container/accordion/accordion.props.js.map +1 -1
  83. app-rn-runtime/components/container/accordion/accordion.styles.js +5 -0
  84. app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
  85. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +11 -1
  86. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  87. app-rn-runtime/components/container/container.component.js +44 -3
  88. app-rn-runtime/components/container/container.component.js.map +1 -1
  89. app-rn-runtime/components/container/container.props.js +1 -0
  90. app-rn-runtime/components/container/container.props.js.map +1 -1
  91. app-rn-runtime/components/container/container.styles.js +7 -0
  92. app-rn-runtime/components/container/container.styles.js.map +1 -1
  93. app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  94. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +5 -1
  95. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  96. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js +6 -1
  97. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js.map +1 -1
  98. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +28 -2
  99. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  100. app-rn-runtime/components/container/layoutgrid/layoutgrid.props.js.map +1 -1
  101. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js +4 -1
  102. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js.map +1 -1
  103. app-rn-runtime/components/container/linearlayout/linearlayout.component.js +31 -5
  104. app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
  105. app-rn-runtime/components/container/linearlayout/linearlayout.props.js.map +1 -1
  106. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js +4 -1
  107. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js.map +1 -1
  108. app-rn-runtime/components/container/panel/panel.component.js +47 -6
  109. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  110. app-rn-runtime/components/container/panel/panel.props.js.map +1 -1
  111. app-rn-runtime/components/container/panel/panel.styles.js +3 -0
  112. app-rn-runtime/components/container/panel/panel.styles.js.map +1 -1
  113. app-rn-runtime/components/container/partial-host.component.js.map +1 -1
  114. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +3 -4
  115. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  116. app-rn-runtime/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  117. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +11 -1
  118. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  119. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js +1 -0
  120. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  121. app-rn-runtime/components/container/tabs/tabs.component.js +44 -6
  122. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  123. app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
  124. app-rn-runtime/components/container/tabs/tabs.styles.js +4 -1
  125. app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
  126. app-rn-runtime/components/container/tile/tile.component.js +28 -2
  127. app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
  128. app-rn-runtime/components/container/tile/tile.props.js.map +1 -1
  129. app-rn-runtime/components/container/tile/tile.styles.js +6 -1
  130. app-rn-runtime/components/container/tile/tile.styles.js.map +1 -1
  131. app-rn-runtime/components/container/wizard/wizard.component.js +62 -13
  132. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  133. app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
  134. app-rn-runtime/components/container/wizard/wizard.styles.js +3 -0
  135. app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
  136. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +4 -1
  137. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  138. app-rn-runtime/components/data/card/card-content/card-content.component.js +6 -2
  139. app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
  140. app-rn-runtime/components/data/card/card-content/card-content.styles.js +4 -1
  141. app-rn-runtime/components/data/card/card-content/card-content.styles.js.map +1 -1
  142. app-rn-runtime/components/data/card/card.component.js +18 -0
  143. app-rn-runtime/components/data/card/card.component.js.map +1 -1
  144. app-rn-runtime/components/data/card/card.styles.js +3 -0
  145. app-rn-runtime/components/data/card/card.styles.js.map +1 -1
  146. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  147. app-rn-runtime/components/data/form/form.component.js +1 -1
  148. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  149. app-rn-runtime/components/data/form/form.props.js +1 -0
  150. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  151. app-rn-runtime/components/data/list/list-template/list-template.component.js +15 -1
  152. app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
  153. app-rn-runtime/components/data/list/list-template/list-template.props.js +1 -0
  154. app-rn-runtime/components/data/list/list-template/list-template.props.js.map +1 -1
  155. app-rn-runtime/components/data/list/list-template/list-template.styles.js +11 -1
  156. app-rn-runtime/components/data/list/list-template/list-template.styles.js.map +1 -1
  157. app-rn-runtime/components/data/list/list.component.js +54 -33
  158. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  159. app-rn-runtime/components/data/list/list.props.js +1 -0
  160. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  161. app-rn-runtime/components/data/list/list.styles.js +9 -0
  162. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  163. app-rn-runtime/components/dialogs/dialog/dialog.component.js +5 -3
  164. app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
  165. app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
  166. app-rn-runtime/components/input/basedataset/basedataset.component.js.map +1 -1
  167. app-rn-runtime/components/input/baseinput/baseinput.component.js +57 -14
  168. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  169. app-rn-runtime/components/input/baseinput/baseinput.props.js +1 -0
  170. app-rn-runtime/components/input/baseinput/baseinput.props.js.map +1 -1
  171. app-rn-runtime/components/input/basenumber/basenumber.component.js +40 -14
  172. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  173. app-rn-runtime/components/input/basenumber/basenumber.props.js +2 -0
  174. app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
  175. app-rn-runtime/components/input/checkbox/checkbox.component.js +7 -8
  176. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  177. app-rn-runtime/components/input/checkbox/checkbox.styles.js +3 -1
  178. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  179. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +24 -3
  180. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  181. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
  182. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  183. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +1 -0
  184. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  185. app-rn-runtime/components/input/chips/chips.component.js +3 -2
  186. app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
  187. app-rn-runtime/components/input/currency/currency.component.js +19 -2
  188. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  189. app-rn-runtime/components/input/currency/currency.styles.js +6 -1
  190. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  191. app-rn-runtime/components/input/epoch/base-datetime.component.js +26 -8
  192. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  193. app-rn-runtime/components/input/epoch/wheel-date-picker.component.js +123 -12
  194. app-rn-runtime/components/input/epoch/wheel-date-picker.component.js.map +1 -1
  195. app-rn-runtime/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  196. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +4 -0
  197. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  198. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js +2 -0
  199. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js.map +1 -1
  200. app-rn-runtime/components/input/fileupload/fileupload.component.js +4 -2
  201. app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
  202. app-rn-runtime/components/input/fileupload/fileupload.props.js +1 -0
  203. app-rn-runtime/components/input/fileupload/fileupload.props.js.map +1 -1
  204. app-rn-runtime/components/input/number/number.component.js +9 -4
  205. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  206. app-rn-runtime/components/input/number/number.styles.js +3 -0
  207. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  208. app-rn-runtime/components/input/radioset/radioset.component.js +39 -14
  209. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  210. app-rn-runtime/components/input/radioset/radioset.props.js +2 -0
  211. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  212. app-rn-runtime/components/input/radioset/radioset.styles.js +7 -0
  213. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  214. app-rn-runtime/components/input/select/select.component.js +23 -9
  215. app-rn-runtime/components/input/select/select.component.js.map +1 -1
  216. app-rn-runtime/components/input/switch/switch.component.js +2 -2
  217. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  218. app-rn-runtime/components/input/text/text.component.js +26 -2
  219. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  220. app-rn-runtime/components/input/text/text.props.js +3 -0
  221. app-rn-runtime/components/input/text/text.props.js.map +1 -1
  222. app-rn-runtime/components/input/text/text.styles.js +3 -0
  223. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  224. app-rn-runtime/components/input/textarea/textarea.component.js +24 -1
  225. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  226. app-rn-runtime/components/input/textarea/textarea.props.js +2 -0
  227. app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
  228. app-rn-runtime/components/input/textarea/textarea.styles.js +3 -0
  229. app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
  230. app-rn-runtime/components/input/toggle/toggle.component.js +2 -4
  231. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  232. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +2 -2
  233. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  234. app-rn-runtime/components/navigation/basenav/basenav.component.js.map +1 -1
  235. app-rn-runtime/components/navigation/navitem/navitem.component.js +2 -3
  236. app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
  237. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  238. app-rn-runtime/components/page/content/content.component.js.map +1 -1
  239. app-rn-runtime/components/page/left-panel/left-panel.component.js +4 -1
  240. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  241. app-rn-runtime/components/page/page-content/page-content.component.js +70 -14
  242. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  243. app-rn-runtime/components/page/page-content/page-content.props.js +2 -2
  244. app-rn-runtime/components/page/page-content/page-content.props.js.map +1 -1
  245. app-rn-runtime/components/page/page-content/page-content.styles.js +6 -1
  246. app-rn-runtime/components/page/page-content/page-content.styles.js.map +1 -1
  247. app-rn-runtime/components/page/page.component.js.map +1 -1
  248. app-rn-runtime/components/page/page.props.js.map +1 -1
  249. app-rn-runtime/components/page/page.styles.js +7 -1
  250. app-rn-runtime/components/page/page.styles.js.map +1 -1
  251. app-rn-runtime/components/page/partial/partial.component.js +27 -1
  252. app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
  253. app-rn-runtime/components/page/partial/partial.props.js.map +1 -1
  254. app-rn-runtime/components/page/partial/partial.styles.js +6 -1
  255. app-rn-runtime/components/page/partial/partial.styles.js.map +1 -1
  256. app-rn-runtime/components/page/tabbar/curve.js.map +1 -1
  257. app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
  258. app-rn-runtime/components/page/tabbar/tabbar.props.js +1 -0
  259. app-rn-runtime/components/page/tabbar/tabbar.props.js.map +1 -1
  260. app-rn-runtime/components/prefab/prefab-container.component.js +27 -1
  261. app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
  262. app-rn-runtime/components/prefab/prefab-container.props.js.map +1 -1
  263. app-rn-runtime/components/prefab/prefab-container.styles.js +6 -1
  264. app-rn-runtime/components/prefab/prefab-container.styles.js.map +1 -1
  265. app-rn-runtime/core/AppConfig.js.map +1 -1
  266. app-rn-runtime/core/base.component.js +35 -7
  267. app-rn-runtime/core/base.component.js.map +1 -1
  268. app-rn-runtime/core/components/textinput.component.js +13 -10
  269. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  270. app-rn-runtime/core/formatters.js.map +1 -1
  271. app-rn-runtime/core/key.extractor.js.map +1 -1
  272. app-rn-runtime/core/props.provider.js +4 -1
  273. app-rn-runtime/core/props.provider.js.map +1 -1
  274. app-rn-runtime/core/storage.service.js +15 -0
  275. app-rn-runtime/core/storage.service.js.map +1 -1
  276. app-rn-runtime/core/tappable.component.js +34 -27
  277. app-rn-runtime/core/tappable.component.js.map +1 -1
  278. app-rn-runtime/core/ui-preferences.context.js +7 -0
  279. app-rn-runtime/core/ui-preferences.context.js.map +1 -0
  280. app-rn-runtime/core/utils.js +87 -4
  281. app-rn-runtime/core/utils.js.map +1 -1
  282. app-rn-runtime/core/wm-component-tree.js +58 -0
  283. app-rn-runtime/core/wm-component-tree.js.map +1 -0
  284. app-rn-runtime/package.json +39 -9
  285. app-rn-runtime/runtime/App.js +21 -10
  286. app-rn-runtime/runtime/App.js.map +1 -1
  287. app-rn-runtime/runtime/App.navigator.js +1 -0
  288. app-rn-runtime/runtime/App.navigator.js.map +1 -1
  289. app-rn-runtime/runtime/base-fragment.component.js +61 -13
  290. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  291. app-rn-runtime/runtime/base-page.component.js +10 -0
  292. app-rn-runtime/runtime/base-page.component.js.map +1 -1
  293. app-rn-runtime/runtime/base-partial.component.js +3 -0
  294. app-rn-runtime/runtime/base-partial.component.js.map +1 -1
  295. app-rn-runtime/runtime/base-prefab.component.js.map +1 -1
  296. app-rn-runtime/runtime/navigator/drawer.navigator.js +19 -10
  297. app-rn-runtime/runtime/navigator/drawer.navigator.js.map +1 -1
  298. app-rn-runtime/runtime/navigator/stack.navigator.js.map +1 -1
  299. app-rn-runtime/runtime/services/app-i18n.service.js +10 -0
  300. app-rn-runtime/runtime/services/app-i18n.service.js.map +1 -1
  301. app-rn-runtime/runtime/services/app-security.service.js +42 -2
  302. app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
  303. app-rn-runtime/runtime/services/app-spinner.service.js +1 -1
  304. app-rn-runtime/runtime/services/app-spinner.service.js.map +1 -1
  305. app-rn-runtime/runtime/services/webprocess.service.js.map +1 -1
  306. app-rn-runtime/runtime/watcher.js.map +1 -1
  307. app-rn-runtime/styles/background.component.js +1 -0
  308. app-rn-runtime/styles/background.component.js.map +1 -1
  309. app-rn-runtime/styles/style-prop.validator.js.map +1 -1
  310. app-rn-runtime/styles/theme.js +10 -0
  311. app-rn-runtime/styles/theme.js.map +1 -1
  312. app-rn-runtime/styles/theme.variables.js +2 -1
  313. app-rn-runtime/styles/theme.variables.js.map +1 -1
  314. app-rn-runtime/variables/base-variable.js.map +1 -1
  315. app-rn-runtime/variables/device/file/upload-file.operation.js.map +1 -1
  316. app-rn-runtime/variables/device-variable.js.map +1 -1
  317. app-rn-runtime/variables/http.service.js +5 -1
  318. app-rn-runtime/variables/http.service.js.map +1 -1
  319. app-rn-runtime/variables/live-variable.js +14 -0
  320. app-rn-runtime/variables/live-variable.js.map +1 -1
  321. app-rn-runtime/variables/service-variable.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","borderWidth","borderStyle","borderColor","inputBorderColor","backgroundColor","inputBackgroundColor","borderRadius","flexDirection","text","fontSize","input","paddingTop","paddingBottom","paddingLeft","paddingRight","flex","transparent","labelWrapper","primaryColor","borderTopLeftRadius","borderBottomLeftRadius","width","label","marginVertical","color","primaryContrastColor","textAlignVertical","textAlign","fontWeight","fontFamily","baseFont","invalid","borderBottomColor","inputInvalidBorderColor","placeholderText","inputPlaceholderColor","floatingLabel","activeFloatingLabel","OS","borderTopRightRadius","borderBottomRightRadius","inputDisabledBgColor","position","top","left","floatingLabelColor","activeFloatingLabelColor"],"sources":["currency.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 { Platform } from 'react-native';\n\nexport type WmCurrencyStyles = BaseStyles & {\n label: AllStyle;\n invalid: AllStyle;\n floatingLabel: AllStyle;\n activeFloatingLabel: AllStyle;\n placeholderText: AllStyle;\n};\n\nexport const DEFAULT_CLASS = 'app-currency';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmCurrencyStyles = defineStyles({\n root: {\n minHeight: 42,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.inputBorderColor,\n backgroundColor: themeVariables.inputBackgroundColor,\n borderRadius: 6,\n flexDirection: 'row'\n },\n text: {\n fontSize: 16\n },\n input : {\n minHeight: 42,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 16,\n paddingRight: 16,\n flex: 1,\n borderWidth: 1,\n borderColor: themeVariables.transparent,\n borderStyle: 'solid'\n },\n labelWrapper: {\n minHeight: 42,\n backgroundColor: themeVariables.primaryColor,\n borderTopLeftRadius: 6,\n borderBottomLeftRadius: 6,\n width: 48,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 16,\n paddingRight: 16\n },\n label: {\n marginVertical: 0.7,\n color: themeVariables.primaryContrastColor,\n textAlignVertical: 'center',\n textAlign: 'center',\n fontWeight: 'bold',\n fontFamily: themeVariables.baseFont,\n fontSize: 16\n },\n invalid: {\n borderBottomColor: themeVariables.inputInvalidBorderColor\n },\n placeholderText: {\n color: themeVariables.inputPlaceholderColor\n },\n floatingLabel: {},\n activeFloatingLabel: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n labelWrapper:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n }\n }:{});\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n backgroundColor: themeVariables.inputDisabledBgColor\n }\n });\n addStyle(DEFAULT_CLASS + '-with-label', '', {\n root: {\n minHeight: 48\n },\n floatingLabel: {\n position: 'absolute',\n top: 12,\n left: 16,\n fontSize: 14,\n textAlign: 'left',\n color: themeVariables.floatingLabelColor\n },\n activeFloatingLabel: {\n color: themeVariables.activeFloatingLabelColor\n }\n });\n});"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","borderWidth","borderStyle","borderColor","inputBorderColor","backgroundColor","inputBackgroundColor","borderRadius","flexDirection","text","fontSize","input","paddingTop","paddingBottom","paddingLeft","paddingRight","flex","transparent","labelWrapper","primaryColor","borderTopLeftRadius","borderBottomLeftRadius","width","display","justifyContent","label","marginVertical","color","primaryContrastColor","textAlignVertical","textAlign","fontWeight","fontFamily","baseFont","invalid","borderBottomColor","inputInvalidBorderColor","focused","inputFocusBorderColor","placeholderText","inputPlaceholderColor","floatingLabel","activeFloatingLabel","OS","borderTopRightRadius","borderBottomRightRadius","inputDisabledBgColor","position","top","left","floatingLabelColor","activeFloatingLabelColor"],"sources":["currency.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 { Platform } from 'react-native';\n\nexport type WmCurrencyStyles = BaseStyles & {\n label: AllStyle;\n invalid: AllStyle;\n focused: AllStyle;\n floatingLabel: AllStyle;\n activeFloatingLabel: AllStyle;\n placeholderText: AllStyle;\n};\n\nexport const DEFAULT_CLASS = 'app-currency';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmCurrencyStyles = defineStyles({\n root: {\n minHeight: 42,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.inputBorderColor,\n backgroundColor: themeVariables.inputBackgroundColor,\n borderRadius: 6,\n flexDirection: 'row'\n },\n text: {\n fontSize: 16\n },\n input : {\n minHeight: 42,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 16,\n paddingRight: 16,\n flex: 1,\n borderWidth: 1,\n borderColor: themeVariables.transparent,\n borderStyle: 'solid'\n },\n labelWrapper: {\n minHeight: 42,\n backgroundColor: themeVariables.primaryColor,\n borderTopLeftRadius: 6,\n borderBottomLeftRadius: 6,\n width: 48,\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 16,\n paddingRight: 16,\n display: 'flex',\n justifyContent: 'center'\n },\n label: {\n marginVertical: 0.7,\n color: themeVariables.primaryContrastColor,\n textAlignVertical: 'center',\n textAlign: 'center',\n fontWeight: 'bold',\n fontFamily: themeVariables.baseFont,\n fontSize: 16\n },\n invalid: {\n borderBottomColor: themeVariables.inputInvalidBorderColor\n },\n focused : {\n borderColor: themeVariables.inputFocusBorderColor,\n },\n placeholderText: {\n color: themeVariables.inputPlaceholderColor\n },\n floatingLabel: {},\n activeFloatingLabel: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n labelWrapper:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n }\n }:{});\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n backgroundColor: themeVariables.inputDisabledBgColor\n }\n });\n addStyle(DEFAULT_CLASS + '-with-label', '', {\n root: {\n minHeight: 48\n },\n floatingLabel: {\n position: 'absolute',\n top: 12,\n left: 16,\n fontSize: 14,\n textAlign: 'left',\n color: themeVariables.floatingLabelColor\n },\n activeFloatingLabel: {\n color: themeVariables.activeFloatingLabelColor\n }\n });\n});"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,7 @@ import { DEFAULT_CLASS } from './datetime/datetime.styles';
13
13
  import WebDatePicker from './date-picker.component';
14
14
  import { isNumber, isString } from 'lodash-es';
15
15
  import { ModalConsumer } from '@wavemaker/app-rn-runtime/core/modal.service';
16
- import { validateField } from '@wavemaker/app-rn-runtime/core/utils';
16
+ import { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';
17
17
  import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
18
18
  import { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';
19
19
  import AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';
@@ -98,7 +98,6 @@ export default class BaseDatetime extends BaseComponent {
98
98
  switch (name) {
99
99
  //@ts-ignore
100
100
  case 'datavalue':
101
- this.invokeEventCallback('onChange', [null, this, $new, $old]);
102
101
  this.prevDatavalue = $old;
103
102
  if (props.datavalue === CURRENT_TIME) {
104
103
  this.monitorAndUpdateCurrentTime();
@@ -127,9 +126,15 @@ export default class BaseDatetime extends BaseComponent {
127
126
  case 'mindate':
128
127
  if (isString($new)) {
129
128
  const minDateVal = $new === CURRENT_DATE || $new === CURRENT_TIME ? new Date() : props.mindate;
129
+ // * check if supplied mindate is as per datepattern
130
+ const isMinMatchingPattern = minDateVal ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern), minDateVal) : false;
131
+ // * min date formatted as per datepattern
132
+ const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(moment(minDateVal, this.momentPattern(props.datepattern)).format('YYYY-MM-DD')) : null;
133
+ // * min date formatted as per ISO, if mindate supplied is not as per datepattern
134
+ const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern ? minDatePatternFormatted.toDate() : moment(minDateVal).toDate();
130
135
  this.updateState({
131
136
  props: {
132
- mindate: moment(minDateVal, this.momentPattern(props.datepattern)).toDate()
137
+ mindate: formattedMinDate
133
138
  }
134
139
  });
135
140
  }
@@ -137,9 +142,15 @@ export default class BaseDatetime extends BaseComponent {
137
142
  case 'maxdate':
138
143
  if (isString($new)) {
139
144
  const maxDateVal = $new === CURRENT_DATE || $new === CURRENT_TIME ? new Date() : props.maxdate;
145
+ // * check if supplied maxdate is as per datepattern
146
+ const isMaxMatchingPattern = maxDateVal ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern), maxDateVal) : false;
147
+ // * max date formatted as per datepattern
148
+ const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(moment(maxDateVal, this.momentPattern(props.datepattern)).format('YYYY-MM-DD')) : null;
149
+ // * max date formatted as per ISO, if maxdate supplied is not as per datepattern
150
+ const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern ? maxDatePatternFormatted.toDate() : moment(maxDateVal).toDate();
140
151
  this.updateState({
141
152
  props: {
142
- maxdate: moment(maxDateVal, this.momentPattern(props.datepattern)).toDate()
153
+ maxdate: formattedMaxDate
143
154
  }
144
155
  });
145
156
  }
@@ -154,16 +165,18 @@ export default class BaseDatetime extends BaseComponent {
154
165
  }
155
166
  }
156
167
  onDateChange($event, date) {
168
+ const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat)) || undefined;
157
169
  this.validate(date);
158
170
  this.modes.shift();
171
+ const newDate = this.format(date, this.momentPattern(this.state.props.outputformat));
159
172
  this.updateState({
160
173
  isFocused: false,
161
174
  showDatePicker: !!this.modes.length,
162
175
  props: {
163
- datavalue: this.format(date, this.momentPattern(this.state.props.outputformat)),
176
+ datavalue: newDate,
164
177
  timestamp: this.format(date, 'timestamp')
165
178
  }
166
- });
179
+ }, () => this.invokeEventCallback('onChange', [null, this, newDate, prevDate]));
167
180
  }
168
181
  onBlur() {
169
182
  if (Platform.OS === 'web') {
@@ -338,6 +351,8 @@ export default class BaseDatetime extends BaseComponent {
338
351
  }
339
352
  renderWidget(props) {
340
353
  var _props$floatinglabel;
354
+ const is12HourFormat = (props === null || props === void 0 ? void 0 : props.datepattern) && /hh:mm(:ss|:sss)? a/.test(props.datepattern);
355
+ const is24Hour = is12HourFormat ? false : props.is24hour;
341
356
  return this.addTouchableOpacity(props, /*#__PURE__*/React.createElement(View, {
342
357
  style: [this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]
343
358
  }, this._background, props.floatinglabel ? /*#__PURE__*/React.createElement(FloatingLabel, {
@@ -374,12 +389,15 @@ export default class BaseDatetime extends BaseComponent {
374
389
  color: this.styles.text.color,
375
390
  ...this.styles.calendarIcon
376
391
  },
377
- hint: props === null || props === void 0 ? void 0 : props.hint
392
+ hint: props === null || props === void 0 ? void 0 : props.hint,
393
+ id: this.getTestId('calendericon')
378
394
  }))), this.state.showDatePicker && (Platform.OS === 'web' && this.renderWebWidget(props) || !props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props) || !props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)), Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal && /*#__PURE__*/React.createElement(WmDatePickerModal, {
379
395
  isVisible: this.state.showDatePickerModal,
380
396
  onClose: () => this.updateState({
381
397
  showDatePickerModal: false
382
398
  }),
399
+ minDate: props.mindate,
400
+ maxDate: props.maxdate,
383
401
  selectedDate: this.state.dateValue,
384
402
  onSelect: date => {
385
403
  this.onDateChange(null, date);
@@ -406,7 +424,7 @@ export default class BaseDatetime extends BaseComponent {
406
424
  }
407
425
  }), Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal && /*#__PURE__*/React.createElement(WmTimePickerModal, {
408
426
  selectedDateTime: this.state.dateValue,
409
- is24Hour: props.is24hour,
427
+ is24Hour: is24Hour,
410
428
  isVisible: this.state.showTimePickerModal,
411
429
  onClose: () => this.updateState({
412
430
  isFocused: false,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","momentPattern","pattern","replaceAll","onPropertyChange","name","$new","$old","invokeEventCallback","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","maxDateVal","maxdate","disabled","onDateChange","$event","validate","modes","shift","isFocused","showDatePicker","length","timestamp","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","undefined","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onPress","getIcon","renderWidget","_props$floatinglabel","root","invalid","focused","_background","floatinglabel","moveUp","label","placeholder","floatingLabel","activeFloatingLabel","container","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","selectedDate","onSelect","onCancel","selectedDateTime","is24hour","time"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n \n momentPattern(pattern : String) {\n return pattern?.replaceAll('y', 'Y').replaceAll('d', 'D');\n}\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n this.updateState({\n props: {\n mindate: moment(minDateVal, this.momentPattern(props.datepattern as String)).toDate()\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n this.updateState({\n props: {\n maxdate: moment(maxDateVal, this.momentPattern(props.datepattern as String)).toDate()\n }\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n this.validate(date);\n this.modes.shift();\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: this.format(date, this.momentPattern(this.state.props.outputformat as String) as string),\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState);\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n renderWidget(props: WmDatetimeProps) {\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={props.is24hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n />\n )}\n </View>\n ))\n );\n }\n}\n\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,gBAAgB,QAAmB,cAAc;AAChF,OAAOC,MAAM,MAAM,QAAQ;AAC3B,OAAOC,cAAc,MAA+B,wCAAwC;AAC5F,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,MAAM,MAAM,gEAAgE;AAEnF,OAAOC,eAAe,MAAM,2BAA2B;AACvD,SAASC,aAAa,QAA0B,4BAA4B;AAC5E,OAAOC,aAAa,MAAM,yBAAyB;AACnD,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,WAAW;AAC9C,SAASC,aAAa,QAAoC,8CAA8C;AACxG,SAASC,aAAa,QAAQ,sCAAsC;AACpE,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,aAAa,QAAQ,mEAAmE;AACjG,OAAOC,cAAc,MAAM,6DAA6D;AACxF,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,OAAOC,iBAAiB,MAAM,qDAAqD;AACnF,OAAOC,iBAAiB,MAAM,qDAAqD;AAEnF,OAAO,MAAMC,iBAAiB,SAAShB,kBAAkB,CAAkB;EAAAiB,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,yBACxD,KAAK;IAAAA,eAAA,8BACA,KAAK;IAAAA,eAAA,8BACL,KAAK;IAAAA,eAAA,oBACR,IAAI;IAAAA,eAAA,uBACA,IAAI;IAAAA,eAAA,oBACf,KAAK;IAAAA,eAAA,kBACO,IAAI;IAAAA,eAAA,kBACT,IAAI;IAAAA,eAAA,oBACX,EAAE;EAAA;AAChB;AAEA,MAAMC,YAAY,GAAG,cAAc;AACnC,MAAMC,YAAY,GAAG,cAAc;AAEnC,eAAe,MAAeC,YAAY,SAASvB,aAAa,CAAuD;EAMrHkB,WAAWA,CAACM,KAAsB,EAAEC,YAAY,GAAGrB,aAAa,EAAEsB,YAAY,GAAG,IAAIvB,eAAe,CAAC,CAAC,EAAEwB,YAAY,GAAE,IAAIV,iBAAiB,CAAC,CAAC,EAAE;IAC7I,KAAK,CAACO,KAAK,EAAEC,YAAY,EAAEC,YAAY,EAAEC,YAAY,CAAC;IAACP,eAAA,0BANvC,KAAK;IAAAA,eAAA,gBACf,EAAE;IAAAA,eAAA,6BACyB,CAAC,CAAC;IAAAA,eAAA;EAKrC;EAEAQ,MAAMA,CAACC,IAA+B,EAAED,MAAc,EAAE;IACtD,IAAIA,MAAM,KAAK,WAAW,EAAE;MAC1B,OAAOC,IAAI,YAAYC,IAAI,GAAG,EAAE,GAAGD,IAAI,CAACE,OAAO,CAAC,CAAC,GAAGF,IAAI;IAC1D;IACA,OAAOA,IAAI,IAAI/B,MAAM,CAAC+B,IAAI,CAAC,CAACD,MAAM,CAACA,MAAM,CAAC;EAC5C;EAEAI,KAAKA,CAACH,IAAqB,EAAED,MAAc,EAAE;IAC3C,IAAIA,MAAM,KAAK,WAAW,EAAE;MAC1B,IAAIrB,QAAQ,CAACsB,IAAI,CAAC,EAAE;QAClB,OAAO,IAAIC,IAAI,CAACG,QAAQ,CAACJ,IAAI,CAAC,CAAC;MACjC;MACA,IAAIvB,QAAQ,CAACuB,IAAI,CAAC,EAAE;QAClB,OAAO,IAAIC,IAAI,CAACD,IAAI,CAAC;MACvB;IACF;IACA,OAAOA,IAAI,IAAI/B,MAAM,CAAC+B,IAAI,EAAED,MAAM,CAAC,CAACM,MAAM,CAAC,CAAC;EAC9C;EAEQC,2BAA2BA,CAAA,EAAG;IACpC,IAAI,CAACC,sBAAsB,CAAC,CAAC;IAC7B,MAAMC,OAAO,GAAGC,WAAW,CAAC,MAAM;MAChC,IAAI,CAACC,WAAW,CAAC;QACff,KAAK,EAAE;UACLgB,QAAQ,EAAE,IAAI;UACdC,SAAS,EAAEX,IAAI,CAACY,GAAG,CAAC;QACtB,CAAC;QACDL,OAAO,EAAEA;MACX,CAA6B,CAAC;IAChC,CAAC,EAAE,IAAI,CAAC;EACV;EAEQD,sBAAsBA,CAAA,EAAG;IAC/B,IAAI,IAAI,CAACO,KAAK,CAACN,OAAO,EAAE;MACtBO,aAAa,CAAC,IAAI,CAACD,KAAK,CAACN,OAAc,CAAC;IAC1C;EACF;EAEAQ,eAAeA,CAAChB,IAAS,EAAC;IACxB,MAAMiB,QAAQ,GAAGjC,cAAc,CAACkC,WAAW,CAAC,CAAC;IAC7C,IAAID,QAAQ,EAAE;MACZ,MAAME,gBAAgB,GAAG,IAAIlB,IAAI,CAACD,IAAI,CAAC,CAACoB,cAAc,CAAC,IAAI,CAACzB,KAAK,CAAC0B,MAAM,GAAG,IAAI,CAAC1B,KAAK,CAAC0B,MAAM,GAAG,OAAO,EAAE;QAAEC,QAAQ,EAAEL;MAAS,CAAC,CAAC;MAC/H,OAAOhD,MAAM,CAACkD,gBAAgB,EAAE,qBAAqB,CAAC;IACxD,CAAC,MACI;MACH,OAAO,IAAI;IACb;EACF;EAECI,aAAaA,CAACC,OAAgB,EAAE;IAC/B,OAAOA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAACA,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;EAC7D;EAEEC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAMlC,KAAK,GAAG,IAAI,CAACmB,KAAK,CAACnB,KAAK;IAC9B,QAAOgC,IAAI;MACT;MACA,KAAK,WAAW;QACd,IAAI,CAACG,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAEF,IAAI,EAAEC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAACE,aAAa,GAAGF,IAAI;QACzB,IAAIlC,KAAK,CAACiB,SAAS,KAAKnB,YAAY,EAAE;UACpC,IAAI,CAACa,2BAA2B,CAAC,CAAC;QACpC;MACF,KAAK,aAAa;MAClB,KAAK,cAAc;QACjB,IAAIX,KAAK,CAACiB,SAAS,IAAI,IAAI,CAACW,aAAa,CAAC5B,KAAK,CAACqC,YAAsB,CAAC,IAAI,IAAI,CAACT,aAAa,CAAC5B,KAAK,CAACsC,WAAqB,CAAC,EAAE;UAC1H,IAAIrB,SAAc,GAAGjB,KAAK,CAACiB,SAAS;UACpC,IAAIA,SAAS,KAAKpB,YAAY,IAAIoB,SAAS,KAAKnB,YAAY,EAAE;YAC5DmB,SAAS,GAAG,IAAIX,IAAI,CAAC,CAAQ;UAC/B;UACA,MAAMD,IAAI,GAAGtB,QAAQ,CAACkC,SAAS,CAAC,GAAG,IAAI,CAACT,KAAK,CAACS,SAAS,EAAY,IAAI,CAACW,aAAa,CAAC5B,KAAK,CAACqC,YAAsB,CAAC,CAAC,GAAGpB,SAAS;UAChIA,SAAS,GAAG,IAAI,CAACI,eAAe,CAACJ,SAAS,CAAC;UAC3C,IAAI,CAACF,WAAW,CAAC;YACfwB,SAAS,EAAGlC,IAAI;YAChBmC,YAAY,EAAE,IAAI,CAACpC,MAAM,CAACa,SAAS,GAACA,SAAS,GAACZ,IAAW,EAAE,IAAI,CAACuB,aAAa,CAAC5B,KAAK,CAACsC,WAAqB,CAAC;UAC5G,CAAsB,CAAC;QACzB,CAAC,MAAM;UACL,IAAI,CAACvB,WAAW,CAAC;YACfwB,SAAS,EAAG,IAAW;YACvBC,YAAY,EAAE;UAChB,CAAsB,CAAC;QACzB;QACA,IAAI,CAACxC,KAAK,CAACyC,aAAa,IAAI,IAAI,CAACzC,KAAK,CAACyC,aAAa,CAAC,WAAW,EAAEzC,KAAK,CAACiB,SAAS,EAAE,IAAI,CAACmB,aAAa,CAAC;QACtG;MACF,KAAK,SAAS;QACZ,IAAIrD,QAAQ,CAACkD,IAAI,CAAC,EAAE;UAClB,MAAMS,UAAU,GAAIT,IAAI,KAAKpC,YAAY,IAAIoC,IAAI,KAAKnC,YAAY,GAAI,IAAIQ,IAAI,CAAC,CAAC,GAAGN,KAAK,CAAC2C,OAAO;UAChG,IAAI,CAAC5B,WAAW,CAAC;YACff,KAAK,EAAE;cACL2C,OAAO,EAAErE,MAAM,CAACoE,UAAU,EAAE,IAAI,CAACd,aAAa,CAAC5B,KAAK,CAACsC,WAAqB,CAAC,CAAC,CAAC5B,MAAM,CAAC;YACtF;UACF,CAAsB,CAAC;QACzB;QACA;MACF,KAAK,SAAS;QACZ,IAAI3B,QAAQ,CAACkD,IAAI,CAAC,EAAE;UAClB,MAAMW,UAAU,GAAIX,IAAI,KAAKpC,YAAY,IAAIoC,IAAI,KAAKnC,YAAY,GAAI,IAAIQ,IAAI,CAAC,CAAC,GAAGN,KAAK,CAAC6C,OAAO;UAChG,IAAI,CAAC9B,WAAW,CAAC;YACff,KAAK,EAAE;cACL6C,OAAO,EAAEvE,MAAM,CAACsE,UAAU,EAAE,IAAI,CAAChB,aAAa,CAAC5B,KAAK,CAACsC,WAAqB,CAAC,CAAC,CAAC5B,MAAM,CAAC;YACtF;UACF,CAAsB,CAAC;QACzB;QACA;MACF,KAAK,UAAU;QACb,IAAI,CAACK,WAAW,CAAC;UACff,KAAK,EAAE;YACL8C,QAAQ,EAAEb;UACZ;QACF,CAAsB,CAAC;QACvB;IACJ;EACF;EAEAc,YAAYA,CAACC,MAA2B,EAAE3C,IAAW,EAAE;IACrD,IAAI,CAAC4C,QAAQ,CAAC5C,IAAI,CAAC;IACnB,IAAI,CAAC6C,KAAK,CAACC,KAAK,CAAC,CAAC;IAClB,IAAI,CAACpC,WAAW,CAAC;MACfqC,SAAS,EAAE,KAAK;MAChBC,cAAc,EAAE,CAAC,CAAC,IAAI,CAACH,KAAK,CAACI,MAAM;MACnCtD,KAAK,EAAE;QACLiB,SAAS,EAAE,IAAI,CAACb,MAAM,CAACC,IAAI,EAAG,IAAI,CAACuB,aAAa,CAAC,IAAI,CAACT,KAAK,CAACnB,KAAK,CAACqC,YAAsB,CAAW,CAAC;QACpGkB,SAAS,EAAE,IAAI,CAACnD,MAAM,CAACC,IAAI,EAAE,WAAW;MAC1C;IACF,CAAsB,CAAC;EACzB;EAEAmD,MAAMA,CAAA,EAAG;IACP,IAAIpF,QAAQ,CAACqF,EAAE,KAAK,KAAK,EAAE;MACzB,IAAI,CAACR,QAAQ,CAAC,IAAI,CAAC9B,KAAK,CAACnB,KAAK,CAACiB,SAAS,CAAC;MACzCyC,UAAU,CAAC,MAAM,IAAI,CAAC1D,KAAK,CAAC2D,iBAAiB,IAAI,IAAI,CAAC3D,KAAK,CAAC2D,iBAAiB,CAAC,CAAC,CAAC;IAClF;IACA,IAAI,CAACxB,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAyB,OAAOA,CAAA,EAAG;IACR,IAAI,CAAC,IAAI,CAACzC,KAAK,CAACnB,KAAK,CAACgB,QAAQ,EAAE;MAC9B,IAAI5C,QAAQ,CAACqF,EAAE,KAAK,KAAK,IAAI,IAAI,CAACtC,KAAK,CAACnB,KAAK,CAAC6D,IAAI,KAAK,UAAU,EAAE;QACjE,IAAI,CAACX,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;MAC/B,CAAC,MAAM;QACL,IAAI,CAACA,KAAK,GAAG,CAAC,IAAI,CAAC/B,KAAK,CAACnB,KAAK,CAAC6D,IAAI,CAAC;MACtC;MACA,IAAI,CAAC9C,WAAW,CAAC;QAACsC,cAAc,EAAE,IAAI;QAAED,SAAS,EAAE;MAAI,CAAsB,CAAC;MAC9E,IAAI,IAAI,CAACjC,KAAK,CAACnB,KAAK,CAAC6D,IAAI,KAAK,MAAM,EAAE;QACpC,IAAI,CAAC9C,WAAW,CAAC;UAAC+C,mBAAmB,EAAE;QAAI,CAAsB,CAAC;MACpE;MACA,IAAI,IAAI,CAAC3C,KAAK,CAACnB,KAAK,CAAC6D,IAAI,KAAK,MAAM,EAAE;QACpC,IAAI,CAAC9C,WAAW,CAAC;UAACgD,mBAAmB,EAAE;QAAI,CAAsB,CAAC;MACpE;MACA,IAAI,IAAI,CAAC5C,KAAK,CAACnB,KAAK,CAAC6D,IAAI,KAAK,UAAU,EAAE;QACxC,IAAI,CAAC9C,WAAW,CAAC;UAAC+C,mBAAmB,EAAE;QAAI,CAAsB,CAAC;MACpE;MACA,IAAI,CAAC3B,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD;EACF;EAEAc,QAAQA,CAACe,KAAU,EAAE;IACnB,MAAMC,aAAa,GAAGhF,aAAa,CAAC,IAAI,CAACkC,KAAK,CAACnB,KAAK,EAAEgE,KAAK,CAAC;IAC5D,IAAI,CAACE,QAAQ,CAAC;MACZC,OAAO,EAAEF,aAAa,CAACE,OAAO;MAC9BC,SAAS,EAAEH,aAAa,CAACG;IAC3B,CAAsB,CAAC;EACzB;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAI,CAACzD,sBAAsB,CAAC,CAAC;EAC/B;EAEA0D,eAAeA,CAACtE,KAAsB,EAAE;IACtC,oBAAQ/B,KAAA,CAAAsG,aAAA,CAAC1F,aAAa;MACpBgF,IAAI,EAAE,IAAI,CAAC1C,KAAK,CAACnB,KAAK,CAAC6D,IAAK;MAC5BnC,MAAM,EAAE1B,KAAK,CAAC0B,MAAO;MACrBsC,KAAK,EAAE,IAAI,CAAC7C,KAAK,CAACoB,SAAS,IAAI,IAAIjC,IAAI,CAAC,CAAE;MAC1CyC,YAAY,EAAG1C,IAAU,IAAK,IAAI,CAAC0C,YAAY,CAAC,IAAI,EAAS1C,IAAI,CAAE;MACnEmE,SAAS,EAAEA,CAAA,KACT,IAAI,CAACzD,WAAW,CAAC;QACfqC,SAAS,EAAE,KAAK;QAChBC,cAAc,EAAE;MAClB,CAAC,EAAuB,MAAM,IAAI,CAACG,MAAM,CAAC,CAAC,CAAE;MAC/CiB,WAAW,EAAEzE,KAAK,CAAC2C,OAAgB;MACnC+B,WAAW,EAAE1E,KAAK,CAAC6C;IAAgB,CAAC,CAAC;EACzC;EAEA8B,kBAAkBA,CAAC3E,KAAsB,EAAEwE,SAAoB,EAAE;IAC/D,oBAAQvG,KAAA,CAAAsG,aAAA,CAAChG,cAAc,EAAAqG,QAAA;MACrBf,IAAI,EAAE,IAAI,CAACX,KAAK,CAAC,CAAC;IAAS,GACvB/D,qBAAqB,CAACD,uBAAuB,CAAC2F,IAAI,EAAE;MAAC,GAAG,IAAI,CAAC1D,KAAK,CAACnB;IAAK,CAAC,CAAC;MAC9EgE,KAAK,EAAE,IAAI,CAAC7C,KAAK,CAACoB,SAAS,IAAI,IAAIjC,IAAI,CAAC,CAAE;MAC1CwE,QAAQ,EAAE,IAAK;MACfC,OAAO,EAAC,SAAS;MACjBC,QAAQ,EAAEA,CAACC,KAA0B,EAAE5E,IAAW,KAAK;QACrD,IAAIA,IAAI,IAAI,IAAI,CAACc,KAAK,CAACnB,KAAK,CAAC6D,IAAI,KAAK,UAAU,IAAI,IAAI,CAACX,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;UAC5E,MAAMgC,YAAY,GAAG,IAAI,CAAC/D,KAAK,CAACoB,SAAS;UACzClC,IAAI,GAAG/B,MAAM,CAAC+B,IAAI,CAAC,CAChB8E,GAAG,CAAC,OAAO,EAAED,YAAY,CAACE,QAAQ,CAAC,CAAC,CAAC,CACrCD,GAAG,CAAC,MAAM,EAAED,YAAY,CAACG,WAAW,CAAC,CAAC,CAAC,CACvCF,GAAG,CAAC,MAAM,EAAED,YAAY,CAACI,OAAO,CAAC,CAAC,CAAC,CACnC5E,MAAM,CAAC,CAAC;QACb;QACA,IAAI,CAACqC,YAAY,CAACkC,KAAK,EAAE5E,IAAI,IAAI,IAAI,CAACc,KAAK,CAACoB,SAAS,CAAC;QACtD,IAAI,IAAI,CAACW,KAAK,CAACI,MAAM,IAAI,CAAC,EAAE;UAC1B,IAAI,CAACE,MAAM,CAAC,CAAC;UACbgB,SAAS,IAAIA,SAAS,CAAC,CAAC;QAC1B;MACF,CAAE;MACFC,WAAW,EAAEzE,KAAK,CAAC2C,OAAgB;MACnC+B,WAAW,EAAE1E,KAAK,CAAC6C;IAAgB,EACpC,CAAC;EAEJ;EAEA0C,qBAAqBA,CAACvF,KAAsB,EAAEwE,SAAoB,EAAE;IAClE,IAAIgB,WAAiB,GAAGC,SAAS;IACjC,oBAAQxH,KAAA,CAAAsG,aAAA,CAACrG,IAAI;MAACwH,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAO,gBACtC3H,KAAA,CAAAsG,aAAA,CAAChG,cAAc;MACbsF,IAAI,EAAE,IAAI,CAACX,KAAK,CAAC,CAAC,CAAS;MAC3Bc,KAAK,EAAE,IAAI,CAAC7C,KAAK,CAACoB,SAAS,IAAI,IAAIjC,IAAI,CAAC,CAAE;MAC1CwE,QAAQ,EAAE,IAAK;MACfC,OAAO,EAAC,SAAS;MACjBC,QAAQ,EAAEA,CAACC,KAA0B,EAAE5E,IAAW,KAAK;QACrD,IAAIA,IAAI,IAAI,IAAI,CAACc,KAAK,CAACnB,KAAK,CAAC6D,IAAI,KAAK,UAAU,IAAI,IAAI,CAACX,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;UAC5E,MAAMgC,YAAY,GAAG,IAAI,CAAC/D,KAAK,CAACoB,SAAS;UACzClC,IAAI,GAAG/B,MAAM,CAAC+B,IAAI,CAAC,CAChB8E,GAAG,CAAC,OAAO,EAAED,YAAY,CAACE,QAAQ,CAAC,CAAC,CAAC,CACrCD,GAAG,CAAC,MAAM,EAAED,YAAY,CAACG,WAAW,CAAC,CAAC,CAAC,CACvCF,GAAG,CAAC,MAAM,EAAED,YAAY,CAACI,OAAO,CAAC,CAAC,CAAC,CACnC5E,MAAM,CAAC,CAAC;QACb;QACA8E,WAAW,GAAGnF,IAAI;MACpB,CAAE;MACFoE,WAAW,EAAEzE,KAAK,CAAC2C,OAAgB;MACnC+B,WAAW,EAAE1E,KAAK,CAAC6C;IAAgB,CACpC,CAAC,eACF5E,KAAA,CAAAsG,aAAA,CAACrG,IAAI;MAACwH,KAAK,EAAE,IAAI,CAACC,MAAM,CAACE;IAAc,gBACrC5H,KAAA,CAAAsG,aAAA,CAACjF,QAAQ;MAACqG,MAAM,EAAE,IAAI,CAACA,MAAM,CAACG,SAAU;MAACC,OAAO,EAAC,QAAQ;MAACC,KAAK,EAAEA,CAAA,KAAM;QACrE,IAAI,CAACjD,YAAY,CAAC,IAAI,EAASyC,WAAW,IAAI,IAAI,CAACrE,KAAK,CAACoB,SAAS,IAAI,IAAIjC,IAAI,CAAC,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC4C,KAAK,CAACI,MAAM,IAAI,CAAC,EAAE;UAC1B,IAAI,CAACE,MAAM,CAAC,CAAC;UACbgB,SAAS,IAAIA,SAAS,CAAC,CAAC;QAC1B;MACF;IAAE,CAAE,CAAC,eACLvG,KAAA,CAAAsG,aAAA,CAACjF,QAAQ;MAACqG,MAAM,EAAE,IAAI,CAACA,MAAM,CAACM,SAAU;MAACF,OAAO,EAAC,QAAQ;MAACC,KAAK,EAAEA,CAAA,KAAM;QACrE,IAAI,CAAC9C,KAAK,CAACC,KAAK,CAAC,CAAC;QAClB,IAAI,CAACJ,YAAY,CAAC,IAAI,EAAS,IAAI,CAAC5B,KAAK,CAACoB,SAAS,IAAIkD,SAAS,CAAC;QACjE,IAAI,CAACjC,MAAM,CAAC,CAAC;QACbgB,SAAS,IAAIA,SAAS,CAAC,CAAC;MAC1B;IAAE,CAAE,CACA,CACF,CAAC;EAET;EAEA0B,8BAA8BA,CAAClG,KAAsB,EAAE;IACrD,oBAAQ/B,KAAA,CAAAsG,aAAA,CAACvF,aAAa,QAAGmH,YAA0B,IAAK;MACtD,IAAI,CAACC,kBAAkB,CAACC,OAAO,gBAAIpI,KAAA,CAAAsG,aAAA,CAAAtG,KAAA,CAAAqI,QAAA,QAChC,IAAI,CAACf,qBAAqB,CAACvF,KAAK,EAAE,MAAMmG,YAAY,CAACI,SAAS,CAAC,IAAI,CAACH,kBAAkB,CAAC,CACtF,CAAE;MACN,IAAI,CAACA,kBAAkB,CAACI,QAAQ,GAAG,IAAI;MACvC,IAAI,CAACJ,kBAAkB,CAACK,OAAO,GAAG,MAAM;QACtC,IAAI,CAACjD,MAAM,CAAC,CAAC;MACf,CAAC;MACD2C,YAAY,CAACO,SAAS,CAAC,IAAI,CAACN,kBAAkB,CAAC;MAC/C,OAAO,IAAI;IACb,CAAiB,CAAC;EACpB;EAEAO,2BAA2BA,CAAC3G,KAAsB,EAAE;IAClD,oBAAQ/B,KAAA,CAAAsG,aAAA,CAACvF,aAAa,QAAGmH,YAA0B,IAAK;MACtD,IAAI,CAACC,kBAAkB,CAACC,OAAO,gBAAIpI,KAAA,CAAAsG,aAAA,CAAAtG,KAAA,CAAAqI,QAAA,QAChC,IAAI,CAAC3B,kBAAkB,CAAC3E,KAAK,EAAE,MAAMmG,YAAY,CAACI,SAAS,CAAC,IAAI,CAACH,kBAAkB,CAAC,CACnF,CAAE;MACN,IAAI,CAACA,kBAAkB,CAACI,QAAQ,GAAG,IAAI;MACvC,IAAI,CAACJ,kBAAkB,CAACK,OAAO,GAAG,MAAM;QACtC,IAAI,CAACjD,MAAM,CAAC,CAAC;MACf,CAAC;MACD2C,YAAY,CAACO,SAAS,CAAC,IAAI,CAACN,kBAAkB,CAAC;MAC/C,OAAO,IAAI;IACb,CAAiB,CAAC;EACpB;EAEAQ,mBAAmBA,CAAC5G,KAAsB,EAAE6G,QAA2B,EAAElB,MAAY,EAAmB;IAAA,IAAAmB,eAAA;IACtG,MAAMC,IAAI,GAAGF,QAAQ,aAARA,QAAQ,gBAAAC,eAAA,GAARD,QAAQ,CAAE7G,KAAK,cAAA8G,eAAA,uBAAfA,eAAA,CAAiBC,IAAI;IAClC,MAAMC,kBAAkB,GAAGD,IAAI,GAAG;MAACE,UAAU,EAAE,IAAI;MAAEC,iBAAiB,EAAEH;IAAI,CAAC,GAAG,CAAC,CAAC;IAElF,oBACE9I,KAAA,CAAAsG,aAAA,CAAClG,gBAAgB,EAAAuG,QAAA,KACX,IAAI,CAACuC,qBAAqB,CAAC,CAAC,EAC5BH,kBAAkB;MACtBtB,KAAK,EAAEC,MAAO;MAACyB,OAAO,EAAEA,CAAA,KAAM;QAC9B,IAAI,CAACpH,KAAK,CAACgB,QAAQ,EAAE;UACnB,IAAI,CAAC4C,OAAO,CAAC,CAAC;QAChB;QACA,IAAI,CAACzB,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;MACjD;IAAE,IACC0E,QACe,CAAC;EAEvB;EAEAQ,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAAClG,KAAK,CAACnB,KAAK,CAAC6D,IAAI,KAAK,MAAM,EAAE;MACpC,OAAO,iBAAiB;IAC1B;IACA,OAAO,qBAAqB;EAC9B;EAEAyD,YAAYA,CAACtH,KAAsB,EAAE;IAAA,IAAAuH,oBAAA;IACnC,OACI,IAAI,CAACX,mBAAmB,CAAC5G,KAAK,eAC9B/B,KAAA,CAAAsG,aAAA,CAACrG,IAAI;MAACwH,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAAC6B,IAAI,EAAE,IAAI,CAACrG,KAAK,CAACgD,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAACwB,MAAM,CAAC8B,OAAO,EAAE,IAAI,CAACtG,KAAK,CAACiC,SAAS,GAAG,IAAI,CAACuC,MAAM,CAAC+B,OAAO,GAAG,IAAI;IAAE,GAC/H,IAAI,CAACC,WAAW,EACd3H,KAAK,CAAC4H,aAAa,gBACpB3J,KAAA,CAAAsG,aAAA,CAACnF,aAAa;MACZyI,MAAM,EAAE,CAAC,EAAE7H,KAAK,CAACiB,SAAS,IAAI,IAAI,CAACE,KAAK,CAACiC,SAAS,CAAE;MACpD0E,KAAK,GAAAP,oBAAA,GAAEvH,KAAK,CAAC4H,aAAa,cAAAL,oBAAA,cAAAA,oBAAA,GAAIvH,KAAK,CAAC+H,WAAY;MAChDrC,KAAK,EAAE;QACL,IAAI,IAAI,CAACC,MAAM,CAACqC,aAAa,IAAI,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC7G,KAAK,CAACiC,SAAS,GAAI,IAAI,CAACuC,MAAM,CAACsC,mBAAmB,IAAI,CAAC,CAAC,GAAI,CAAC,CAAC;MACzE;IAAE,CACD,CAAC,GACF,IAAI,eACNhK,KAAA,CAAAsG,aAAA,CAACrG,IAAI;MAACwH,KAAK,EAAE,IAAI,CAACC,MAAM,CAACuC;IAAU,GAChC,IAAI,CAACtB,mBAAmB,CAAC5G,KAAK,eAC7B/B,KAAA,CAAAsG,aAAA,CAACpG,IAAI,EAAAyG,QAAA;MAACc,KAAK,EAAE,CACX,IAAI,CAACC,MAAM,CAACwC,IAAI,EAChB,IAAI,CAAChH,KAAK,CAACqB,YAAY,GAAG,CAAC,CAAC,GAAG,IAAI,CAACmD,MAAM,CAACyC,eAAe;IAC1D,GACE,IAAI,CAACC,oBAAoB,CAAC,CAAC,GAC5B,IAAI,CAAClH,KAAK,CAACqB,YAAY,KAClBxC,KAAK,CAAC4H,aAAa,GAAG,EAAE,GAAI,IAAI,CAACzG,KAAK,CAACnB,KAAK,CAAC+H,WAAW,CAC1D,CAAC,EACN,CAAC;MAAEO,IAAI,EAAE;IAAC,CAAC,EAAE,IAAI,CAACC,KAAK,GAAC;MAACC,aAAa,EAAC,KAAK;MAAEC,SAAS,EAAC;IAAO,CAAC,GAAC,CAAC,CAAC,CAAE,CAAC,EACvE,CAACzI,KAAK,CAACgB,QAAQ,IAAIhB,KAAK,CAACiB,SAAS,iBACjChD,KAAA,CAAAsG,aAAA,CAAC7F,MAAM;MAACgK,SAAS,EAAC,aAAa;MAChC/C,MAAM,EAAE;QAACgD,KAAK,EAAE,IAAI,CAAChD,MAAM,CAACwC,IAAI,CAACQ,KAAK;QAAE,GAAG,IAAI,CAAChD,MAAM,CAACiD;MAAS,CAAE;MAClEC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,WAAW,CAAE;MAChCC,kBAAkB,EAAG,SAAQ/I,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE6D,IAAK,EAAE;MAC3CmC,KAAK,EAAEA,CAAA,KAAM;QACX,IAAI,CAACjD,YAAY,CAAC,IAAI,EAAS,IAAW,CAAC;QAC3C,IAAI,CAACiG,eAAe,GAAG,IAAI;MAC7B;IAAE,CAAC,CAAE,IAAK,IAAI,EACf,IAAI,CAACpC,mBAAmB,CAAC5G,KAAK,eAC7B/B,KAAA,CAAAsG,aAAA,CAAC7F,MAAM;MAACgK,SAAS,EAAE,IAAI,CAACrB,OAAO,CAAC,CAAE;MAAC1B,MAAM,EAAE;QAACgD,KAAK,EAAE,IAAI,CAAChD,MAAM,CAACwC,IAAI,CAACQ,KAAK;QAAE,GAAG,IAAI,CAAChD,MAAM,CAACsD;MAAY,CAAE;MAAClC,IAAI,EAAE/G,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE+G;IAAK,CAAC,CAC7H,CACG,CAAC,EAEP,IAAI,CAAC5F,KAAK,CAACkC,cAAc,KACpBjF,QAAQ,CAACqF,EAAE,KAAK,KAAK,IAAI,IAAI,CAACa,eAAe,CAACtE,KAAK,CAAC,IACnD,CAACA,KAAK,CAACkJ,aAAa,IAAI9K,QAAQ,CAACqF,EAAE,KAAK,SAAS,IAAI,IAAI,CAACkB,kBAAkB,CAAC3E,KAAK,CAAE,IACpF,CAACA,KAAK,CAACkJ,aAAa,IAAI9K,QAAQ,CAACqF,EAAE,KAAK,KAAK,IAAI,IAAI,CAACyC,8BAA8B,CAAClG,KAAK,CAAE,CAAC,EAEnG5B,QAAQ,CAACqF,EAAE,KAAK,KAAK,IAAIzD,KAAK,CAACkJ,aAAa,IAAI,IAAI,CAAC/H,KAAK,CAAC2C,mBAAmB,iBAC9E7F,KAAA,CAAAsG,aAAA,CAAChF,iBAAiB;MAChB4J,SAAS,EAAE,IAAI,CAAChI,KAAK,CAAC2C,mBAAoB;MAC1C2C,OAAO,EAAEA,CAAA,KAAM,IAAI,CAAC1F,WAAW,CAAC;QAAC+C,mBAAmB,EAAE;MAAK,CAAsB,CAAE;MACnFsF,YAAY,EAAE,IAAI,CAACjI,KAAK,CAACoB,SAAU;MACnC8G,QAAQ,EAAGhJ,IAAU,IAAK;QACxB,IAAI,CAAC0C,YAAY,CAAC,IAAI,EAAS1C,IAAI,CAAC;QACpC,IAAI,CAACU,WAAW,CAAC;UACfqC,SAAS,EAAE,KAAK;UAChBU,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM;UAC5B,IAAI,CAACN,MAAM,CAAC,CAAC;;UAEb;UACA,IAAI,IAAI,CAACrC,KAAK,CAACnB,KAAK,CAAC6D,IAAI,KAAK,UAAU,EAAE;YACxC,IAAI,CAACK,QAAQ,CAAC;cACZH,mBAAmB,EAAE;YACvB,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ,CAAE;MACFuF,QAAQ,EAAEA,CAAA,KAAM;QACd;QACA,IAAI,CAACvI,WAAW,CAAC;UACfqC,SAAS,EAAE,KAAK;UAChBU,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM,IAAI,CAACN,MAAM,CAAC,CAAC,CAAC;MAC9C;IAAE,CACH,CACF,EACCpF,QAAQ,CAACqF,EAAE,KAAK,KAAK,IAAIzD,KAAK,CAACkJ,aAAa,IAAI,IAAI,CAAC/H,KAAK,CAAC4C,mBAAmB,iBAC9E9F,KAAA,CAAAsG,aAAA,CAAC/E,iBAAiB;MAChB+J,gBAAgB,EAAE,IAAI,CAACpI,KAAK,CAACoB,SAAU;MACvCuC,QAAQ,EAAE9E,KAAK,CAACwJ,QAAS;MACzBL,SAAS,EAAE,IAAI,CAAChI,KAAK,CAAC4C,mBAAoB;MAC1C0C,OAAO,EAAEA,CAAA,KAAM,IAAI,CAAC1F,WAAW,CAAC;QAACqC,SAAS,EAAE,KAAK;QAAEW,mBAAmB,EAAE;MAAK,CAAsB,CAAE;MACrGsF,QAAQ,EAAGI,IAAU,IAAK;QACxB,IAAI,CAAC1G,YAAY,CAAC,IAAI,EAAS0G,IAAI,CAAC;QACpC,IAAI,CAAC1I,WAAW,CAAC;UACfqC,SAAS,EAAE,KAAK;UAChBW,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM,IAAI,CAACP,MAAM,CAAC,CAAC,CAAC;MAC9C,CAAE;MACF8F,QAAQ,EAAEA,CAAA,KAAM;QACd;QACA,IAAI,CAACvI,WAAW,CAAC;UACfqC,SAAS,EAAE,KAAK;UAChBW,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM;UAC5B,IAAI,CAACP,MAAM,CAAC,CAAC;UACb,IAAI,CAACN,KAAK,CAACC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;MACJ;IAAE,CACH,CAEC,CACL,CAAC;EAER;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","momentPattern","pattern","replaceAll","onPropertyChange","name","$new","$old","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","prevDate","undefined","validate","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","invokeEventCallback","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onPress","getIcon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","root","invalid","focused","_background","floatinglabel","moveUp","label","placeholder","floatingLabel","activeFloatingLabel","container","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","selectedDateTime","time"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isEqual, isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n \n momentPattern(pattern : String) {\n return pattern?.replaceAll('y', 'Y').replaceAll('d', 'D');\n}\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\n },\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat as String) as string) || undefined;\n this.validate(date);\n this.modes.shift();\n const newDate = this.format(date, this.momentPattern(this.state.props.outputformat as String) as string)\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: newDate,\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState, () => this.invokeEventCallback('onChange', [null, this, newDate, prevDate]));\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint} id={this.getTestId('calendericon')}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n />\n )}\n </View>\n ))\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
@@ -4,24 +4,81 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
4
4
  import React, { Component } from 'react';
5
5
  import { PixelRatio, StyleSheet, View } from 'react-native';
6
6
  import WmWheelScrollPicker from './wheelpicker/wheelpicker.component';
7
- import { getDateObject, getDates, getMonths, getYearRange } from '@wavemaker/app-rn-runtime/core/utils';
7
+ import { getDateObject, getDates, getMonthIndex, getMonths, getYearRange } from '@wavemaker/app-rn-runtime/core/utils';
8
+ import moment from 'moment';
8
9
  export class WmWheelDatePickerProps {
9
10
  constructor() {
11
+ _defineProperty(this, "minDate", void 0);
12
+ _defineProperty(this, "maxDate", void 0);
10
13
  _defineProperty(this, "selectedDate", new Date());
11
14
  _defineProperty(this, "onDateChange", void 0);
12
15
  _defineProperty(this, "itemHeight", PixelRatio.roundToNearestPixel(50));
13
16
  _defineProperty(this, "wrapperHeight", PixelRatio.roundToNearestPixel(150));
14
17
  }
15
18
  }
19
+ export const START_DATE = {
20
+ 'date': 1,
21
+ 'month': 0,
22
+ 'year': 1950
23
+ };
24
+ export const END_DATE = {
25
+ 'date': 31,
26
+ 'month': 11,
27
+ 'year': 2060
28
+ };
16
29
  export class WmWheelDatePickerState {}
17
30
  export class WmWheelDatePicker extends Component {
18
- constructor(props) {
19
- super(props);
31
+ constructor(_props) {
32
+ var _selectedDate$getFull;
33
+ super(_props);
20
34
  _defineProperty(this, "itemHeight", void 0);
21
35
  _defineProperty(this, "wrapperHeight", void 0);
22
36
  _defineProperty(this, "selectedDateIndex", 0);
23
37
  _defineProperty(this, "selectedMonthIndex", 0);
24
38
  _defineProperty(this, "selectedYearIndex", 0);
39
+ _defineProperty(this, "dateData", []);
40
+ _defineProperty(this, "monthData", []);
41
+ _defineProperty(this, "yearData", []);
42
+ _defineProperty(this, "defaultSelectedDate", void 0);
43
+ _defineProperty(this, "localSelectedDate", '');
44
+ _defineProperty(this, "monthValue", 0);
45
+ _defineProperty(this, "yearValue", '');
46
+ _defineProperty(this, "getMinValue", (minValue, type) => {
47
+ const currentMonth = moment(minValue).format('M');
48
+ const currentYear = moment(minValue).format('YYYY');
49
+ const selectedMonth = moment(this.localSelectedDate).format('M');
50
+ const selectedYear = moment(this.localSelectedDate).format('YYYY');
51
+ const isFutureMonth = Number(selectedMonth) > Number(currentMonth);
52
+ const isFutureYear = Number(selectedYear) > Number(currentYear);
53
+ if (!(minValue instanceof Date)) return START_DATE[type];
54
+ switch (type) {
55
+ case 'date':
56
+ const dateValue = isFutureYear ? 1 : isFutureMonth ? 1 : new Date(minValue).getDate();
57
+ // this.selectedDateIndex = dateIndex;
58
+ return dateValue;
59
+ case 'month':
60
+ const monthValue = isFutureYear ? 0 : new Date(minValue).getMonth();
61
+ // this.selectedMonthIndex = 11;
62
+ return monthValue;
63
+ case 'year':
64
+ return new Date(minValue).getFullYear();
65
+ default:
66
+ return 0;
67
+ }
68
+ });
69
+ _defineProperty(this, "getMaxValue", (maxValue, type) => {
70
+ if (!(maxValue instanceof Date)) return END_DATE[type];
71
+ switch (type) {
72
+ case 'date':
73
+ return new Date(maxValue).getDate();
74
+ case 'month':
75
+ return new Date(maxValue).getMonth();
76
+ case 'year':
77
+ return new Date(maxValue).getFullYear();
78
+ default:
79
+ return 0;
80
+ }
81
+ });
25
82
  _defineProperty(this, "handleValueChange", (valueType, value, index) => {
26
83
  var _this$props, _this$props$onDateCha;
27
84
  switch (valueType) {
@@ -29,31 +86,85 @@ export class WmWheelDatePicker extends Component {
29
86
  this.selectedDateIndex = index;
30
87
  break;
31
88
  case 'month':
89
+ this.monthValue = getMonthIndex(value === null || value === void 0 ? void 0 : value.toString());
32
90
  this.selectedMonthIndex = index;
33
91
  break;
34
92
  case 'year':
93
+ this.yearValue = value;
35
94
  this.selectedYearIndex = index;
36
95
  break;
37
96
  default:
38
97
  break;
39
98
  }
40
- const selectedDate = getDates()[this.selectedDateIndex];
41
- const selectedYear = getYearRange()[this.selectedYearIndex];
42
- const dateObj = getDateObject(selectedDate, this.selectedMonthIndex, selectedYear);
99
+ const {
100
+ props
101
+ } = this;
102
+ const minDate = props.minDate;
103
+ const maxDate = props.maxDate;
104
+ // * date range
105
+ const minDateNum = minDate ? this.getMinValue(minDate, 'date') : 1;
106
+ const maxDateNum = maxDate ? this.getMaxValue(maxDate, 'date') : 31;
107
+ const minYear = minDate ? this.getMinValue(minDate, 'year') : 1950;
108
+ const maxYear = maxDate ? this.getMaxValue(maxDate, 'year') : 2060;
109
+ const selectedDate = getDates(minDateNum, maxDateNum)[this.selectedDateIndex];
110
+ const selectedMonthIndex = this.monthValue;
111
+ const selectedYear = getYearRange(minYear, maxYear)[this.selectedYearIndex];
112
+ const dateObj = getDateObject(selectedDate, selectedMonthIndex, selectedYear);
113
+ this.localSelectedDate = dateObj;
43
114
  (_this$props = this.props) === null || _this$props === void 0 || (_this$props$onDateCha = _this$props.onDateChange) === null || _this$props$onDateCha === void 0 || _this$props$onDateCha.call(_this$props, dateObj);
44
115
  });
45
116
  const _selectedDate = this.props.selectedDate || new Date();
46
117
  this.itemHeight = PixelRatio.roundToNearestPixel(this.props.itemHeight || 50) || PixelRatio.roundToNearestPixel(50);
47
118
  this.wrapperHeight = PixelRatio.roundToNearestPixel(this.props.wrapperHeight || 150) || PixelRatio.roundToNearestPixel(150);
48
- this.selectedDateIndex = _selectedDate.getDate() - 1;
49
- this.selectedMonthIndex = _selectedDate.getMonth();
50
- this.selectedYearIndex = getYearRange().indexOf(_selectedDate.getFullYear());
119
+
120
+ // * Initial values
121
+ this.defaultSelectedDate = _selectedDate;
122
+ this.localSelectedDate = _selectedDate;
123
+ this.monthValue = _selectedDate.getMonth();
124
+ this.yearValue = (_selectedDate$getFull = _selectedDate.getFullYear()) === null || _selectedDate$getFull === void 0 ? void 0 : _selectedDate$getFull.toString();
125
+
126
+ // TODO: selected date handling for range of dates
127
+ if (!(this.props.minDate || this.props.maxDate)) {
128
+ this.selectedDateIndex = _selectedDate.getDate() - 1;
129
+ this.selectedMonthIndex = _selectedDate.getMonth();
130
+ this.selectedYearIndex = getYearRange().indexOf(_selectedDate.getFullYear());
131
+ }
132
+ }
133
+ // TODO: cache this func for performance improvement
134
+ getPickerData(type) {
135
+ const {
136
+ props
137
+ } = this;
138
+ const minDate = props.minDate;
139
+ const maxDate = props.maxDate;
140
+ const minDateNum = minDate ? this.getMinValue(minDate, 'date') : 1;
141
+ const maxDateNum = maxDate ? this.getMaxValue(maxDate, 'date') : 31;
142
+ const minMonth = minDate ? this.getMinValue(minDate, 'month') : 0;
143
+ const maxMonth = maxDate ? this.getMaxValue(maxDate, 'month') : 11;
144
+ const minYear = minDate ? this.getMinValue(minDate, 'year') : 1950;
145
+ const maxYear = maxDate ? this.getMaxValue(maxDate, 'year') : 2060;
146
+ switch (type) {
147
+ case "date":
148
+ const dateData = getDates(minDateNum, maxDateNum);
149
+ this.dateData = dateData;
150
+ return dateData;
151
+ case "month":
152
+ const monthData = getMonths(minMonth, maxMonth);
153
+ this.monthData = monthData;
154
+ return monthData;
155
+ case "year":
156
+ const yearData = getYearRange(minYear, maxYear);
157
+ this.yearData = yearData;
158
+ return yearData;
159
+ default:
160
+ return [];
161
+ }
51
162
  }
52
163
  render() {
53
164
  return /*#__PURE__*/React.createElement(View, {
54
165
  style: styles.root
55
166
  }, /*#__PURE__*/React.createElement(WmWheelScrollPicker, {
56
- data: getDates(),
167
+ data: this.getPickerData('date'),
57
168
  wrapperHeight: this.wrapperHeight,
58
169
  itemHeight: this.itemHeight,
59
170
  selectedIndex: this.selectedDateIndex,
@@ -61,13 +172,13 @@ export class WmWheelDatePicker extends Component {
61
172
  }), /*#__PURE__*/React.createElement(View, {
62
173
  style: styles.middle
63
174
  }, /*#__PURE__*/React.createElement(WmWheelScrollPicker, {
64
- data: getMonths(),
175
+ data: this.getPickerData('month'),
65
176
  wrapperHeight: this.wrapperHeight,
66
177
  itemHeight: this.itemHeight,
67
178
  selectedIndex: this.selectedMonthIndex,
68
179
  onValueChange: (value, index) => this.handleValueChange('month', value, index)
69
180
  })), /*#__PURE__*/React.createElement(WmWheelScrollPicker, {
70
- data: getYearRange(),
181
+ data: this.getPickerData('year'),
71
182
  wrapperHeight: this.wrapperHeight,
72
183
  itemHeight: this.itemHeight,
73
184
  selectedIndex: this.selectedYearIndex,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","PixelRatio","StyleSheet","View","WmWheelScrollPicker","getDateObject","getDates","getMonths","getYearRange","WmWheelDatePickerProps","constructor","_defineProperty","Date","roundToNearestPixel","WmWheelDatePickerState","WmWheelDatePicker","props","valueType","value","index","_this$props","_this$props$onDateCha","selectedDateIndex","selectedMonthIndex","selectedYearIndex","selectedDate","selectedYear","dateObj","onDateChange","call","itemHeight","wrapperHeight","getDate","getMonth","indexOf","getFullYear","render","createElement","style","styles","root","data","selectedIndex","onValueChange","handleValueChange","middle","create","flexDirection","marginHorizontal"],"sources":["wheel-date-picker.component.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { PixelRatio, StyleSheet, View } from 'react-native';\nimport WmWheelScrollPicker from './wheelpicker/wheelpicker.component'\nimport { getDateObject, getDates, getMonths, getYearRange } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmWheelDatePickerProps {\n selectedDate?: Date = new Date();\n onDateChange?: (date: Date) => void;\n itemHeight?: number = PixelRatio.roundToNearestPixel(50);\n wrapperHeight?: number = PixelRatio.roundToNearestPixel(150);\n}\n\nexport class WmWheelDatePickerState {}\n\nexport class WmWheelDatePicker extends Component<\n WmWheelDatePickerProps,\n WmWheelDatePickerState,\n any\n> {\n itemHeight: number;\n wrapperHeight: number;\n selectedDateIndex: number = 0;\n selectedMonthIndex: number = 0;\n selectedYearIndex: number = 0;\n\n constructor(props: WmWheelDatePickerProps) {\n super(props);\n const selectedDate = this.props.selectedDate || new Date();\n\n this.itemHeight =\n PixelRatio.roundToNearestPixel(this.props.itemHeight || 50) || PixelRatio.roundToNearestPixel(50);\n this.wrapperHeight =\n PixelRatio.roundToNearestPixel(this.props.wrapperHeight || 150) || PixelRatio.roundToNearestPixel(150);\n this.selectedDateIndex = selectedDate.getDate() - 1;\n this.selectedMonthIndex = selectedDate.getMonth();\n this.selectedYearIndex = getYearRange().indexOf(selectedDate.getFullYear());\n }\n\n handleValueChange = (\n valueType: 'date' | 'month' | 'year',\n value: string | number,\n index: number,\n ) => {\n switch (valueType) {\n case 'date':\n this.selectedDateIndex = index;\n break;\n case 'month':\n this.selectedMonthIndex = index;\n break;\n case 'year':\n this.selectedYearIndex = index;\n break;\n default:\n break;\n }\n\n const selectedDate = getDates()[this.selectedDateIndex];\n const selectedYear = getYearRange()[this.selectedYearIndex];\n const dateObj = getDateObject(\n selectedDate,\n this.selectedMonthIndex,\n selectedYear,\n );\n\n this.props?.onDateChange?.(dateObj);\n };\n\n render() {\n return (\n <View style={styles.root}>\n <WmWheelScrollPicker\n data={getDates()}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedDateIndex}\n onValueChange={(value: string | number, index: number) =>\n this.handleValueChange('date', value, index)\n }\n />\n <View style={styles.middle}>\n <WmWheelScrollPicker\n data={getMonths()}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedMonthIndex}\n onValueChange={(value: string | number, index: number) =>\n this.handleValueChange('month', value, index)\n }\n />\n </View>\n <WmWheelScrollPicker\n data={getYearRange()}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedYearIndex}\n onValueChange={(value: string | number, index: number) =>\n this.handleValueChange('year', value, index)\n }\n />\n </View>\n );\n }\n}\n\nexport default WmWheelDatePicker;\n\nconst styles = StyleSheet.create({\n root: {\n flexDirection: 'row',\n },\n middle: {\n marginHorizontal: 15,\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","PixelRatio","StyleSheet","View","WmWheelScrollPicker","getDateObject","getDates","getMonthIndex","getMonths","getYearRange","moment","WmWheelDatePickerProps","constructor","_defineProperty","Date","roundToNearestPixel","START_DATE","END_DATE","WmWheelDatePickerState","WmWheelDatePicker","props","_selectedDate$getFull","minValue","type","currentMonth","format","currentYear","selectedMonth","localSelectedDate","selectedYear","isFutureMonth","Number","isFutureYear","dateValue","getDate","monthValue","getMonth","getFullYear","maxValue","valueType","value","index","_this$props","_this$props$onDateCha","selectedDateIndex","toString","selectedMonthIndex","yearValue","selectedYearIndex","minDate","maxDate","minDateNum","getMinValue","maxDateNum","getMaxValue","minYear","maxYear","selectedDate","dateObj","onDateChange","call","itemHeight","wrapperHeight","defaultSelectedDate","indexOf","getPickerData","minMonth","maxMonth","dateData","monthData","yearData","render","createElement","style","styles","root","data","selectedIndex","onValueChange","handleValueChange","middle","create","flexDirection","marginHorizontal"],"sources":["wheel-date-picker.component.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { PixelRatio, StyleSheet, View } from 'react-native';\nimport WmWheelScrollPicker from './wheelpicker/wheelpicker.component'\nimport { getDateObject, getDates, getMonthIndex, getMonths, getYearRange } from '@wavemaker/app-rn-runtime/core/utils';\nimport moment from 'moment';\n\nexport class WmWheelDatePickerProps {\n minDate?: Date | string;\n maxDate?: Date | string;\n selectedDate?: Date = new Date();\n onDateChange?: (date: Date) => void;\n itemHeight?: number = PixelRatio.roundToNearestPixel(50);\n wrapperHeight?: number = PixelRatio.roundToNearestPixel(150);\n}\n\nexport const START_DATE = {\n 'date': 1,\n 'month': 0,\n 'year': 1950,\n};\n\nexport const END_DATE = {\n 'date': 31,\n 'month': 11,\n 'year': 2060,\n};\n\nexport class WmWheelDatePickerState {}\n\nexport class WmWheelDatePicker extends Component<\n WmWheelDatePickerProps,\n WmWheelDatePickerState,\n any\n> {\n itemHeight: number;\n wrapperHeight: number;\n selectedDateIndex: number = 0;\n selectedMonthIndex: number = 0;\n selectedYearIndex: number = 0;\n dateData: number[] = [];\n monthData: string[] = [];\n yearData: number[] = [];\n defaultSelectedDate: Date;\n localSelectedDate: Date | string = '';\n monthValue: number = 0;\n yearValue: string = '';\n\n constructor(props: WmWheelDatePickerProps) {\n super(props);\n const selectedDate = this.props.selectedDate || new Date();\n\n this.itemHeight =\n PixelRatio.roundToNearestPixel(this.props.itemHeight || 50) || PixelRatio.roundToNearestPixel(50);\n this.wrapperHeight =\n PixelRatio.roundToNearestPixel(this.props.wrapperHeight || 150) || PixelRatio.roundToNearestPixel(150);\n\n // * Initial values\n this.defaultSelectedDate = selectedDate;\n this.localSelectedDate = selectedDate;\n this.monthValue = selectedDate.getMonth();\n this.yearValue = selectedDate.getFullYear()?.toString();\n\n // TODO: selected date handling for range of dates\n if (!(this.props.minDate || this.props.maxDate)) {\n this.selectedDateIndex = selectedDate.getDate() - 1;\n this.selectedMonthIndex = selectedDate.getMonth();\n this.selectedYearIndex = getYearRange().indexOf(selectedDate.getFullYear());\n }\n }\n\n getMinValue = (minValue: string | Date, type: 'date' | 'month' | 'year') => {\n const currentMonth = moment(minValue).format('M');\n const currentYear = moment(minValue).format('YYYY');\n const selectedMonth = moment(this.localSelectedDate).format('M');\n const selectedYear = moment(this.localSelectedDate).format('YYYY');\n const isFutureMonth = Number(selectedMonth) > Number(currentMonth);\n const isFutureYear = Number(selectedYear) > Number(currentYear);\n\n if (!(minValue instanceof Date)) return START_DATE[type];\n\n switch(type) {\n case 'date':\n const dateValue =\n isFutureYear\n ? 1\n : isFutureMonth\n ? 1\n : new Date(minValue).getDate();\n // this.selectedDateIndex = dateIndex;\n return dateValue;\n case 'month':\n const monthValue = isFutureYear ? 0 : new Date(minValue).getMonth();\n // this.selectedMonthIndex = 11;\n return monthValue;\n case 'year':\n return new Date(minValue).getFullYear();\n default:\n return 0;\n }\n }\n\n getMaxValue = (maxValue: string | Date | undefined, type: 'date' | 'month' | 'year') => {\n if (!(maxValue instanceof Date)) return END_DATE[type];\n\n switch(type) {\n case 'date':\n return new Date(maxValue).getDate();\n case 'month':\n return new Date(maxValue).getMonth();\n case 'year':\n return new Date(maxValue).getFullYear();\n default:\n return 0;\n }\n }\n\n handleValueChange = (\n valueType: 'date' | 'month' | 'year',\n value: string | number,\n index: number,\n ) => {\n switch (valueType) {\n case 'date':\n this.selectedDateIndex = index;\n break;\n case 'month':\n this.monthValue = getMonthIndex(value?.toString());\n this.selectedMonthIndex = index;\n break;\n case 'year':\n this.yearValue = value as string;\n this.selectedYearIndex = index;\n break;\n default:\n break;\n }\n\n const {props} = this;\n const minDate = props.minDate;\n const maxDate = props.maxDate;\n // * date range\n const minDateNum = minDate ? this.getMinValue(minDate, 'date') : 1;\n const maxDateNum = maxDate ? this.getMaxValue(maxDate, 'date') : 31;\n const minYear = minDate ? this.getMinValue(minDate, 'year') : 1950;\n const maxYear = maxDate ? this.getMaxValue(maxDate, 'year') : 2060;\n\n const selectedDate = getDates(minDateNum, maxDateNum)[this.selectedDateIndex];\n const selectedMonthIndex = this.monthValue;\n const selectedYear = getYearRange(minYear, maxYear)[this.selectedYearIndex];\n\n const dateObj = getDateObject(\n selectedDate,\n selectedMonthIndex,\n selectedYear,\n );\n this.localSelectedDate = dateObj;\n\n this.props?.onDateChange?.(dateObj);\n };\n\n // TODO: cache this func for performance improvement\n getPickerData(type: 'date' | 'month' | 'year') {\n const {props} = this;\n const minDate = props.minDate;\n const maxDate = props.maxDate;\n const minDateNum = minDate ? this.getMinValue(minDate, 'date') : 1;\n const maxDateNum = maxDate ? this.getMaxValue(maxDate, 'date') : 31;\n const minMonth = minDate ? this.getMinValue(minDate, 'month') : 0;\n const maxMonth = maxDate ? this.getMaxValue(maxDate, 'month') : 11;\n const minYear = minDate ? this.getMinValue(minDate, 'year') : 1950;\n const maxYear = maxDate ? this.getMaxValue(maxDate, 'year') : 2060;\n\n switch (type) {\n case \"date\":\n const dateData = getDates(minDateNum, maxDateNum);\n this.dateData = dateData;\n return dateData;\n case \"month\":\n const monthData = getMonths(minMonth, maxMonth);\n this.monthData = monthData;\n return monthData;\n case \"year\":\n const yearData = getYearRange(minYear, maxYear);\n this.yearData = yearData;\n return yearData;\n default:\n return [];\n }\n }\n\n render() {\n return (\n <View style={styles.root}>\n <WmWheelScrollPicker\n data={this.getPickerData('date')}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedDateIndex}\n onValueChange={(value: string | number, index: number) =>\n this.handleValueChange('date', value, index)\n }\n />\n <View style={styles.middle}>\n <WmWheelScrollPicker\n data={this.getPickerData('month')}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedMonthIndex}\n onValueChange={(value: string | number, index: number) =>\n this.handleValueChange('month', value, index)\n }\n />\n </View>\n <WmWheelScrollPicker\n data={this.getPickerData('year')}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedYearIndex}\n onValueChange={(value: string | number, index: number) =>\n this.handleValueChange('year', value, index)\n }\n />\n </View>\n );\n }\n}\n\nexport default WmWheelDatePicker;\n\nconst styles = StyleSheet.create({\n root: {\n flexDirection: 'row',\n },\n middle: {\n marginHorizontal: 15,\n },\n});\n"],"mappings":"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","ignoreList":[]}