@hhgtech/hhg-components 1.29.187 → 1.29.188

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (489) hide show
  1. package/build/{LastPeriod-1f5ddf78.js → LastPeriod-6a71e5be.js} +1 -1
  2. package/build/{MobileBottomNavigationIcon-6dfb585f.js → MobileBottomNavigationIcon-4532fe90.js} +3 -3
  3. package/build/{Spinner-383edff8.js → Spinner-3e1ae5b7.js} +1 -1
  4. package/build/{WhatsApp-a2f20d23.js → WhatsApp-b18d81fa.js} +1 -1
  5. package/build/adapters.js +19 -19
  6. package/build/atoms.js +46 -46
  7. package/build/babyGrowth.js +83 -83
  8. package/build/cache.js +2 -2
  9. package/build/care.js +17 -17
  10. package/build/careBookingSearchBar.js +14 -14
  11. package/build/careBookingSearchBarV2.js +15 -15
  12. package/build/components.js +89 -89
  13. package/build/{constants-d5926a6d.js → constants-27e22207.js} +1 -1
  14. package/build/constants.js +3 -3
  15. package/build/constantsDomainLocales.js +1 -1
  16. package/build/constantsRiskScreener.js +2 -2
  17. package/build/constantsSite.js +2 -2
  18. package/build/{core-71d21f23.js → core-506eb877.js} +1 -1
  19. package/build/{dataTransform-d31b72b7.js → dataTransform-0b9863c9.js} +1 -1
  20. package/build/ecom.js +4 -4
  21. package/build/{editor-fd1226b7.js → editor-dac59f93.js} +11 -11
  22. package/build/embeddedHeathToolCards_babyGrowth.js +23 -23
  23. package/build/embeddedHeathToolCards_babyPoop.js +19 -19
  24. package/build/embeddedHeathToolCards_babyVaccine.js +22 -22
  25. package/build/embeddedHeathToolCards_bmi_bmi.js +25 -25
  26. package/build/embeddedHeathToolCards_bmrBmr.js +25 -25
  27. package/build/embeddedHeathToolCards_dueDate_dueDate.js +22 -22
  28. package/build/embeddedHeathToolCards_ovulation_ovulation.js +22 -22
  29. package/build/embeddedHeathToolCards_pwg_pwg.js +26 -26
  30. package/build/embeddedHeathToolCards_targetHeartRate.js +27 -27
  31. package/build/esm/{LastPeriod-0beec7cf.js → LastPeriod-84b25b86.js} +1 -1
  32. package/build/esm/{MobileBottomNavigationIcon-bb191817.js → MobileBottomNavigationIcon-efcee5e7.js} +3 -3
  33. package/build/esm/{Spinner-a0f73734.js → Spinner-990324d5.js} +1 -1
  34. package/build/esm/{WhatsApp-1ca6c83e.js → WhatsApp-903114b1.js} +1 -1
  35. package/build/esm/adapters.js +19 -19
  36. package/build/esm/atoms.js +46 -46
  37. package/build/esm/babyGrowth.js +83 -83
  38. package/build/esm/cache.js +2 -2
  39. package/build/esm/care.js +17 -17
  40. package/build/esm/careBookingSearchBar.js +14 -14
  41. package/build/esm/careBookingSearchBarV2.js +15 -15
  42. package/build/esm/components.js +89 -89
  43. package/build/esm/{constants-9e2cf7e4.js → constants-7229f2ae.js} +1 -1
  44. package/build/esm/constants.js +3 -3
  45. package/build/esm/constantsDomainLocales.js +1 -1
  46. package/build/esm/constantsRiskScreener.js +2 -2
  47. package/build/esm/constantsSite.js +2 -2
  48. package/build/esm/{core-90e6c5d2.js → core-5999ca9a.js} +1 -1
  49. package/build/esm/{dataTransform-b25919ba.js → dataTransform-0930df8f.js} +1 -1
  50. package/build/esm/ecom.js +4 -4
  51. package/build/esm/{editor-0301b771.js → editor-cdf8b819.js} +11 -11
  52. package/build/esm/embeddedHeathToolCards_babyGrowth.js +23 -23
  53. package/build/esm/embeddedHeathToolCards_babyPoop.js +19 -19
  54. package/build/esm/embeddedHeathToolCards_babyVaccine.js +22 -22
  55. package/build/esm/embeddedHeathToolCards_bmi_bmi.js +25 -25
  56. package/build/esm/embeddedHeathToolCards_bmrBmr.js +25 -25
  57. package/build/esm/embeddedHeathToolCards_dueDate_dueDate.js +22 -22
  58. package/build/esm/embeddedHeathToolCards_ovulation_ovulation.js +22 -22
  59. package/build/esm/embeddedHeathToolCards_pwg_pwg.js +26 -26
  60. package/build/esm/embeddedHeathToolCards_targetHeartRate.js +27 -27
  61. package/build/esm/{fixedBottomAdBlock-541237a0.js → fixedBottomAdBlock-d4bff8d8.js} +23 -23
  62. package/build/esm/footer.js +21 -21
  63. package/build/esm/gAssets.js +2 -2
  64. package/build/esm/healthToolsCardWrapper.js +18 -18
  65. package/build/esm/healthToolsForm.js +33 -33
  66. package/build/esm/hooks.js +13 -13
  67. package/build/esm/i18n/translationKeys.d.ts +1 -1
  68. package/build/esm/i18n-values/en-PH.js +1 -0
  69. package/build/esm/i18n-values/hi-IN.js +1 -0
  70. package/build/esm/i18n-values/id-ID.js +1 -0
  71. package/build/esm/i18n-values/km-KH.js +1 -0
  72. package/build/esm/i18n-values/ms-MY.js +2 -1
  73. package/build/esm/i18n-values/my-MM.js +1 -0
  74. package/build/esm/i18n-values/th-TH.js +1 -0
  75. package/build/esm/i18n-values/tl-PH.js +1 -0
  76. package/build/esm/i18n-values/vi-VN.js +1 -0
  77. package/build/esm/i18n-values/vi-VN_MB.js +1 -0
  78. package/build/esm/i18n-values/zh-TW.js +1 -0
  79. package/build/esm/i18n.js +2 -2
  80. package/build/esm/i18nV2.js +2 -2
  81. package/build/esm/{index-6b3f0a76.js → index-05b19d4c.js} +13 -13
  82. package/build/esm/{index-ae2a6975.js → index-0741962a.js} +1 -1
  83. package/build/esm/{index-8cac666f.js → index-09c15953.js} +2 -2
  84. package/build/esm/{index-90298f87.js → index-0aed77bd.js} +32 -32
  85. package/build/esm/{index-ab9145d9.js → index-0ceaf802.js} +24 -24
  86. package/build/esm/{index-cb260d78.js → index-10ac45ad.js} +16 -16
  87. package/build/esm/{index-84f27339.js → index-11356d9c.js} +5 -5
  88. package/build/esm/{index-4a4e2edd.js → index-11720abf.js} +1 -1
  89. package/build/esm/{index-a7b92530.js → index-143e7d7f.js} +18 -18
  90. package/build/esm/{index-32eb44f8.js → index-16aa0665.js} +1 -1
  91. package/build/esm/{index-2a82a182.js → index-18373462.js} +12 -12
  92. package/build/esm/{index-0ad7908d.js → index-1d538518.js} +1 -1
  93. package/build/esm/{index-4a3da6d0.js → index-223ae052.js} +3 -3
  94. package/build/esm/{index-8450b44e.js → index-3ac9af4e.js} +16 -16
  95. package/build/esm/{index-118c2c8e.js → index-3d03b664.js} +2 -2
  96. package/build/esm/{index-26abcfb3.js → index-3eeedef7.js} +23 -23
  97. package/build/esm/{index-df20ded2.js → index-47912177.js} +17 -17
  98. package/build/esm/{index-3cf88628.js → index-4e7902f4.js} +10 -10
  99. package/build/esm/{index-aa1db366.js → index-52d215a5.js} +1 -1
  100. package/build/esm/{index-f24d5e3e.js → index-57ede743.js} +3 -3
  101. package/build/esm/{index-4492f1d7.js → index-59a115be.js} +2 -2
  102. package/build/esm/{index-130cea71.js → index-5c2af451.js} +3 -3
  103. package/build/esm/{index-23b93c11.js → index-60508cb9.js} +2 -2
  104. package/build/esm/{index-4b1088c5.js → index-62fa940d.js} +13 -13
  105. package/build/esm/{index-09320cf0.js → index-65b3271f.js} +13 -13
  106. package/build/esm/{index-c26ff0ab.js → index-6a555c42.js} +2 -2
  107. package/build/esm/{index-293eff9e.js → index-6f337a5f.js} +4 -4
  108. package/build/esm/{index-cb1f0c6b.js → index-713cab8f.js} +1 -1
  109. package/build/esm/{index-b8ca9f2a.js → index-75073625.js} +3 -3
  110. package/build/esm/{index-5e1dd183.js → index-83fd2ef1.js} +6 -6
  111. package/build/esm/{index-d359e562.js → index-842413f3.js} +5 -5
  112. package/build/esm/{index-dc96306e.js → index-846e3a62.js} +16 -16
  113. package/build/esm/{index-8e2bed29.js → index-87698349.js} +2 -2
  114. package/build/esm/{index-7f6bbe6a.js → index-886662ca.js} +2 -2
  115. package/build/esm/{index-e8b7b5c6.js → index-8a39ef19.js} +30 -30
  116. package/build/esm/{index-e64f8d68.js → index-9048db90.js} +6 -6
  117. package/build/esm/{index-29dcf47d.js → index-9312f46a.js} +1 -1
  118. package/build/esm/{index-96fd2259.js → index-9ad0326d.js} +2 -2
  119. package/build/esm/{index-5c2aab2a.js → index-9b4abb1c.js} +18 -18
  120. package/build/esm/{index-8b6d2388.js → index-9cce954f.js} +1 -1
  121. package/build/esm/{index-ebe0e7c8.js → index-a02223d2.js} +1 -1
  122. package/build/esm/{index-20ed3ed2.js → index-a0d69f6b.js} +17 -17
  123. package/build/esm/{index-0c750a56.js → index-a8b1b6bd.js} +15 -15
  124. package/build/esm/{index-d500bb08.js → index-ada11144.js} +3 -3
  125. package/build/esm/{index-374e2020.js → index-b2e52796.js} +20 -20
  126. package/build/esm/{index-e00b877e.js → index-b6ce58f8.js} +2 -2
  127. package/build/esm/{index-575d314b.js → index-bb02584c.js} +2 -2
  128. package/build/esm/{index-cc05bfff.js → index-bd025a93.js} +21 -21
  129. package/build/esm/{index-c5fbd48f.js → index-be9a5097.js} +7 -7
  130. package/build/esm/{index-f8334799.js → index-c0ae42ba.js} +15 -15
  131. package/build/esm/{index-31e655fa.js → index-c6f9b686.js} +7 -7
  132. package/build/esm/{index-ddaf8567.js → index-c833a666.js} +16 -16
  133. package/build/esm/{index-22323d02.js → index-d673a38f.js} +6 -6
  134. package/build/esm/{index-0a3e06f4.js → index-db766810.js} +13 -13
  135. package/build/esm/{index-c992ec38.js → index-dc2c6c95.js} +3 -3
  136. package/build/esm/{index-7d1aa6a5.js → index-f1c36e99.js} +17 -17
  137. package/build/esm/{index-9ee1596f.js → index-f42c3988.js} +1 -1
  138. package/build/esm/{index-96f13ce8.js → index-f45377cb.js} +6 -6
  139. package/build/esm/{index-15f27ddc.js → index-f56800e7.js} +2 -2
  140. package/build/esm/{index-fc065970.js → index-fc5b8c7e.js} +2 -2
  141. package/build/esm/index.js +111 -111
  142. package/build/esm/{index.styles-9d9404ae.js → index.styles-29eadbd0.js} +1 -1
  143. package/build/esm/{labelSorting-4c8fe568.js → labelSorting-4551b654.js} +4 -4
  144. package/build/esm/lead.js +23 -23
  145. package/build/esm/{logoIcon-fec701e8.js → logoIcon-19b961db.js} +2 -2
  146. package/build/esm/mantine.js +25 -25
  147. package/build/esm/misc.js +16 -16
  148. package/build/esm/miscGetDynamicHealthTool.js +4 -4
  149. package/build/esm/miscGetSocialList.js +8 -8
  150. package/build/esm/miscScreenSizeContext.js +1 -1
  151. package/build/esm/mobileBottomNavigation.js +5 -5
  152. package/build/esm/mobileBottomNavigationIcon.js +5 -5
  153. package/build/esm/molecules.js +68 -68
  154. package/build/esm/moleculesArticleCard.js +6 -6
  155. package/build/esm/moleculesArticleCardV2.js +16 -16
  156. package/build/esm/navigation.js +40 -40
  157. package/build/esm/navigationLogoutPopup.js +9 -9
  158. package/build/esm/navigationProfileButton.js +23 -23
  159. package/build/esm/onboardingV2.js +29 -29
  160. package/build/esm/organisms.js +44 -44
  161. package/build/esm/{post-5dae360a.js → post-ae80b684.js} +2 -2
  162. package/build/esm/profileNavigation.js +19 -19
  163. package/build/esm/progressBar.js +1 -1
  164. package/build/esm/pwg.js +22 -22
  165. package/build/esm/ssoV2/screens/passwordForgotSetup/passwordWithConfirm.d.ts +2 -1
  166. package/build/esm/ssoV2/screens/setup/otherSetup.d.ts +2 -1
  167. package/build/esm/ssoV2.js +718 -583
  168. package/build/esm/{store-0e3bf0dd.js → store-c01b5c45.js} +8 -7
  169. package/build/esm/subot.js +33 -33
  170. package/build/esm/surveyOrPremiumBanner.js +30 -30
  171. package/build/esm/surveyQuestionCard.js +10 -10
  172. package/build/esm/{surveyThankyouCard-324f9430.js → surveyThankyouCard-620fe949.js} +5 -5
  173. package/build/esm/together.js +52 -52
  174. package/build/esm/togetherApiUtils.js +4 -4
  175. package/build/esm/togetherAtoms.js +30 -30
  176. package/build/esm/togetherComponentGlobalContext.js +4 -4
  177. package/build/esm/togetherMolecules.js +47 -47
  178. package/build/esm/togetherMoleculesCardAuthor.js +27 -27
  179. package/build/esm/togetherMoleculesPostImagePreview.js +11 -11
  180. package/build/esm/togetherMoleculesProfileDetail.js +37 -37
  181. package/build/esm/togetherOrganisms.js +47 -47
  182. package/build/esm/togetherRichTextEditor.js +17 -17
  183. package/build/esm/togetherShareBox.js +10 -10
  184. package/build/esm/{treePopoverMenu-12714698.js → treePopoverMenu-f3115d5b.js} +18 -18
  185. package/build/esm/{types-a176854b.js → types-bc6727c8.js} +2 -2
  186. package/build/esm/types.js +2 -2
  187. package/build/esm/{useCategory-718135b7.js → useCategory-6c157810.js} +5 -5
  188. package/build/esm/{useHealthToolCache-4fe136f9.js → useHealthToolCache-a9d40553.js} +1 -1
  189. package/build/esm/{useMantineLocale-9516e7f9.js → useMantineLocale-d89aa467.js} +5 -5
  190. package/build/esm/{usePlacesAutocomplete-c468e48e.js → usePlacesAutocomplete-699dbe75.js} +1 -1
  191. package/build/esm/useTogetherAuthRequiredAction.js +9 -9
  192. package/build/esm/{utils-71febd08.js → utils-719afb2e.js} +2 -2
  193. package/build/esm/{utils-e8fc6daf.js → utils-a8196146.js} +2 -2
  194. package/build/esm/{utils-0ee5e9e8.js → utils-f694c42f.js} +3 -3
  195. package/build/esm/vaccination.js +21 -21
  196. package/build/{fixedBottomAdBlock-8059d1a0.js → fixedBottomAdBlock-9a0e6073.js} +23 -23
  197. package/build/footer.js +21 -21
  198. package/build/gAssets.js +2 -2
  199. package/build/healthToolsCardWrapper.js +18 -18
  200. package/build/healthToolsForm.js +33 -33
  201. package/build/hooks.js +13 -13
  202. package/build/i18n/translationKeys.d.ts +1 -1
  203. package/build/i18n-values/en-PH.js +1 -0
  204. package/build/i18n-values/hi-IN.js +1 -0
  205. package/build/i18n-values/id-ID.js +1 -0
  206. package/build/i18n-values/km-KH.js +1 -0
  207. package/build/i18n-values/ms-MY.js +2 -1
  208. package/build/i18n-values/my-MM.js +1 -0
  209. package/build/i18n-values/th-TH.js +1 -0
  210. package/build/i18n-values/tl-PH.js +1 -0
  211. package/build/i18n-values/vi-VN.js +1 -0
  212. package/build/i18n-values/vi-VN_MB.js +1 -0
  213. package/build/i18n-values/zh-TW.js +1 -0
  214. package/build/i18n.js +1 -1
  215. package/build/i18nV2.js +1 -1
  216. package/build/{index-95a27c5d.js → index-136529fb.js} +20 -20
  217. package/build/{index-27c6b9f3.js → index-20be1b8e.js} +2 -2
  218. package/build/{index-a13b4608.js → index-23f8a297.js} +6 -6
  219. package/build/{index-b83c3457.js → index-2448dac3.js} +1 -1
  220. package/build/{index-ce6508a1.js → index-2d5465c5.js} +17 -17
  221. package/build/{index-db7a4a46.js → index-30a885a2.js} +3 -3
  222. package/build/{index-73ffa450.js → index-392a4520.js} +2 -2
  223. package/build/{index-7e780e5f.js → index-3a6ab9f1.js} +12 -12
  224. package/build/{index-63894945.js → index-3b6d0a4b.js} +32 -32
  225. package/build/{index-99d412ab.js → index-4319ed3d.js} +2 -2
  226. package/build/{index-20fa2236.js → index-48237a4e.js} +1 -1
  227. package/build/{index-5b48f735.js → index-4b5ce355.js} +2 -2
  228. package/build/{index-90b1277d.js → index-4f2da132.js} +1 -1
  229. package/build/{index-ae02be4b.js → index-50db7f9d.js} +13 -13
  230. package/build/{index-5dbcabd8.js → index-53b20fbf.js} +18 -18
  231. package/build/{index-ff993564.js → index-53edf7f0.js} +2 -2
  232. package/build/{index-ce54d8e8.js → index-587ae6fc.js} +1 -1
  233. package/build/{index-5b21efe3.js → index-59c8d894.js} +30 -30
  234. package/build/{index-40d85ef8.js → index-62a66842.js} +1 -1
  235. package/build/{index-8d08525f.js → index-63efab40.js} +6 -6
  236. package/build/{index-2917eb83.js → index-6501aba4.js} +16 -16
  237. package/build/{index-78cf34da.js → index-66903a6d.js} +2 -2
  238. package/build/{index-046cdb75.js → index-67cc8e40.js} +7 -7
  239. package/build/{index-8ef4d4dd.js → index-6ead4e94.js} +21 -21
  240. package/build/{index-ef92ecdc.js → index-6f33dc52.js} +5 -5
  241. package/build/{index-d76e71b2.js → index-7b63ccf0.js} +2 -2
  242. package/build/{index-6d43398a.js → index-8423e154.js} +23 -23
  243. package/build/{index-d38bbbd5.js → index-873ed879.js} +1 -1
  244. package/build/{index-07554ee2.js → index-8770e725.js} +5 -5
  245. package/build/{index-3e6f2bea.js → index-8b4c9bac.js} +3 -3
  246. package/build/{index-e91c93dd.js → index-8c45dd73.js} +6 -6
  247. package/build/{index-baa3cb40.js → index-8d418481.js} +3 -3
  248. package/build/{index-f1743080.js → index-94b19bde.js} +1 -1
  249. package/build/{index-24511c91.js → index-9924041d.js} +1 -1
  250. package/build/{index-3b84fd74.js → index-9aa342d6.js} +16 -16
  251. package/build/{index-2800a005.js → index-9bf9c0c3.js} +16 -16
  252. package/build/{index-db450b8c.js → index-9fa3445d.js} +17 -17
  253. package/build/{index-33534235.js → index-a6c5c579.js} +13 -13
  254. package/build/{index-55b48b2b.js → index-a6cc2f7c.js} +13 -13
  255. package/build/{index-b9bb6c7c.js → index-a779f18f.js} +16 -16
  256. package/build/{index-6a2937b9.js → index-a791e6ed.js} +15 -15
  257. package/build/{index-2449c149.js → index-abd798b4.js} +2 -2
  258. package/build/{index-da512bdd.js → index-b27d9ae9.js} +2 -2
  259. package/build/{index-f1deef47.js → index-b31cc517.js} +6 -6
  260. package/build/{index-853ae758.js → index-b7a02d94.js} +1 -1
  261. package/build/{index-a9901b92.js → index-b87cb307.js} +13 -13
  262. package/build/{index-ac6de9ad.js → index-b9686acb.js} +24 -24
  263. package/build/{index-ddf93882.js → index-caf657f0.js} +4 -4
  264. package/build/{index-7d41114e.js → index-ccf665ff.js} +17 -17
  265. package/build/{index-02d529c4.js → index-cd093912.js} +3 -3
  266. package/build/{index-16a23c4b.js → index-d0e0b40c.js} +2 -2
  267. package/build/{index-8c1cef90.js → index-d4f17e2e.js} +7 -7
  268. package/build/{index-4d29fcc9.js → index-d8fb2584.js} +10 -10
  269. package/build/{index-858a2155.js → index-e2ba19dc.js} +3 -3
  270. package/build/{index-12bf8e75.js → index-e3f12f8b.js} +15 -15
  271. package/build/{index-6d4c0731.js → index-e51cabfe.js} +1 -1
  272. package/build/{index-ab526852.js → index-e619f26e.js} +18 -18
  273. package/build/{index-5378831d.js → index-ef455213.js} +2 -2
  274. package/build/{index-474ff0ab.js → index-f24c98ff.js} +2 -2
  275. package/build/{index-3ecc913a.js → index-f629251e.js} +3 -3
  276. package/build/index.js +111 -111
  277. package/build/{index.styles-bac5c293.js → index.styles-ce54c619.js} +1 -1
  278. package/build/{labelSorting-0d8d4fab.js → labelSorting-57c9c711.js} +4 -4
  279. package/build/lead.js +23 -23
  280. package/build/{logoIcon-4275e2ee.js → logoIcon-e3454ad7.js} +2 -2
  281. package/build/mantine.js +21 -21
  282. package/build/misc.js +16 -16
  283. package/build/miscGetDynamicHealthTool.js +4 -4
  284. package/build/miscGetSocialList.js +8 -8
  285. package/build/miscScreenSizeContext.js +1 -1
  286. package/build/mobileBottomNavigation.js +5 -5
  287. package/build/mobileBottomNavigationIcon.js +5 -5
  288. package/build/molecules.js +68 -68
  289. package/build/moleculesArticleCard.js +6 -6
  290. package/build/moleculesArticleCardV2.js +16 -16
  291. package/build/navigation.js +40 -40
  292. package/build/navigationLogoutPopup.js +9 -9
  293. package/build/navigationProfileButton.js +23 -23
  294. package/build/onboardingV2.js +28 -28
  295. package/build/organisms.js +44 -44
  296. package/build/{post-ffe4ccf0.js → post-ebb40235.js} +2 -2
  297. package/build/profileNavigation.js +19 -19
  298. package/build/progressBar.js +1 -1
  299. package/build/pwg.js +22 -22
  300. package/build/ssoV2/screens/passwordForgotSetup/passwordWithConfirm.d.ts +2 -1
  301. package/build/ssoV2/screens/setup/otherSetup.d.ts +2 -1
  302. package/build/ssoV2.js +716 -581
  303. package/build/{store-40beac07.js → store-eb3db02c.js} +8 -7
  304. package/build/subot.js +32 -32
  305. package/build/surveyOrPremiumBanner.js +30 -30
  306. package/build/surveyQuestionCard.js +10 -10
  307. package/build/{surveyThankyouCard-471da14c.js → surveyThankyouCard-ff2f48ca.js} +5 -5
  308. package/build/together.js +52 -52
  309. package/build/togetherApiUtils.js +4 -4
  310. package/build/togetherAtoms.js +30 -30
  311. package/build/togetherComponentGlobalContext.js +4 -4
  312. package/build/togetherMolecules.js +47 -47
  313. package/build/togetherMoleculesCardAuthor.js +27 -27
  314. package/build/togetherMoleculesPostImagePreview.js +11 -11
  315. package/build/togetherMoleculesProfileDetail.js +37 -37
  316. package/build/togetherOrganisms.js +47 -47
  317. package/build/togetherRichTextEditor.js +17 -17
  318. package/build/togetherShareBox.js +10 -10
  319. package/build/{treePopoverMenu-94db16c9.js → treePopoverMenu-171add54.js} +18 -18
  320. package/build/{types-76a7d4e8.js → types-8f314fb8.js} +2 -2
  321. package/build/types.js +2 -2
  322. package/build/{useCategory-708aee4d.js → useCategory-e4e78006.js} +5 -5
  323. package/build/{useHealthToolCache-ced0bfc1.js → useHealthToolCache-128435ba.js} +1 -1
  324. package/build/{useMantineLocale-48e8eb6a.js → useMantineLocale-007ccab8.js} +5 -5
  325. package/build/{usePlacesAutocomplete-80f5d411.js → usePlacesAutocomplete-c451c38a.js} +1 -1
  326. package/build/useTogetherAuthRequiredAction.js +9 -9
  327. package/build/{utils-b03a64c1.js → utils-20e377ff.js} +2 -2
  328. package/build/{utils-be4757fd.js → utils-379e7279.js} +3 -3
  329. package/build/{utils-f7c5ea01.js → utils-a9c8fcd4.js} +2 -2
  330. package/build/vaccination.js +21 -21
  331. package/package.json +1 -1
  332. /package/build/{BMI_BOYS.percentile.monthly-e4513929.js → BMI_BOYS.percentile.monthly-554402f6.js} +0 -0
  333. /package/build/{BMI_BOYS.percentile.weekly-be963b08.js → BMI_BOYS.percentile.weekly-5accdab8.js} +0 -0
  334. /package/build/{BMI_BOYS.percentile.yearly-ded25305.js → BMI_BOYS.percentile.yearly-8927c0b7.js} +0 -0
  335. /package/build/{BMI_BOYS.zscore.monthly-c32f1226.js → BMI_BOYS.zscore.monthly-c32e4540.js} +0 -0
  336. /package/build/{BMI_BOYS.zscore.weekly-76745bbd.js → BMI_BOYS.zscore.weekly-d74eca40.js} +0 -0
  337. /package/build/{BMI_BOYS.zscore.yearly-8f1c9fee.js → BMI_BOYS.zscore.yearly-2916859f.js} +0 -0
  338. /package/build/{BMI_GIRLS.percentile.monthly-2b836209.js → BMI_GIRLS.percentile.monthly-f938866d.js} +0 -0
  339. /package/build/{BMI_GIRLS.percentile.weekly-7682b921.js → BMI_GIRLS.percentile.weekly-14b55147.js} +0 -0
  340. /package/build/{BMI_GIRLS.percentile.yearly-78eef266.js → BMI_GIRLS.percentile.yearly-f3083b81.js} +0 -0
  341. /package/build/{BMI_GIRLS.zscore.monthly-a8e1ab8b.js → BMI_GIRLS.zscore.monthly-6dd24bd6.js} +0 -0
  342. /package/build/{BMI_GIRLS.zscore.weekly-738c8470.js → BMI_GIRLS.zscore.weekly-28451888.js} +0 -0
  343. /package/build/{BMI_GIRLS.zscore.yearly-02c15a3e.js → BMI_GIRLS.zscore.yearly-3c519c16.js} +0 -0
  344. /package/build/{ChevronDown-bbfcbd87.js → ChevronDown-ea4140e2.js} +0 -0
  345. /package/build/{Close-517a91c4.js → Close-e871e5ea.js} +0 -0
  346. /package/build/{Google-52f5af1b.js → Google-98731b6c.js} +0 -0
  347. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-3c7a89b9.js → HEAD CIRCUM_BOYS.percentile.monthly-4d9fd96e.js} +0 -0
  348. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-eb24061d.js → HEAD CIRCUM_BOYS.percentile.weekly-50d795dd.js} +0 -0
  349. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-b9f379c4.js → HEAD CIRCUM_BOYS.percentile.yearly-d91a1dce.js} +0 -0
  350. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-5f408f6e.js → HEAD CIRCUM_BOYS.zscore.monthly-ff578f6c.js} +0 -0
  351. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-5f0619ed.js → HEAD CIRCUM_BOYS.zscore.weekly-8c30f992.js} +0 -0
  352. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-f466d74a.js → HEAD CIRCUM_BOYS.zscore.yearly-600e4599.js} +0 -0
  353. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-a54bafe8.js → HEAD CIRCUM_GIRLS.percentile.monthly-207f0aee.js} +0 -0
  354. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-afa7cafa.js → HEAD CIRCUM_GIRLS.percentile.weekly-bd2d67b5.js} +0 -0
  355. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-827f9111.js → HEAD CIRCUM_GIRLS.percentile.yearly-436b4066.js} +0 -0
  356. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-d922c7bb.js → HEAD CIRCUM_GIRLS.zscore.monthly-e965b777.js} +0 -0
  357. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-6234df1d.js → HEAD CIRCUM_GIRLS.zscore.weekly-75e4a995.js} +0 -0
  358. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-d3aead2a.js → HEAD CIRCUM_GIRLS.zscore.yearly-1d77c810.js} +0 -0
  359. /package/build/{HEIGHT_BOYS.percentile.monthly-b9da212f.js → HEIGHT_BOYS.percentile.monthly-5508d1a9.js} +0 -0
  360. /package/build/{HEIGHT_BOYS.percentile.weekly-df732ffa.js → HEIGHT_BOYS.percentile.weekly-b914f451.js} +0 -0
  361. /package/build/{HEIGHT_BOYS.percentile.yearly-38b97a72.js → HEIGHT_BOYS.percentile.yearly-2e1143f4.js} +0 -0
  362. /package/build/{HEIGHT_BOYS.zscore.monthly-299efd0d.js → HEIGHT_BOYS.zscore.monthly-17af58d2.js} +0 -0
  363. /package/build/{HEIGHT_BOYS.zscore.weekly-0a680f60.js → HEIGHT_BOYS.zscore.weekly-939b7816.js} +0 -0
  364. /package/build/{HEIGHT_BOYS.zscore.yearly-04f5bb56.js → HEIGHT_BOYS.zscore.yearly-808a3c32.js} +0 -0
  365. /package/build/{HEIGHT_GIRLS.percentile.monthly-86ce47a8.js → HEIGHT_GIRLS.percentile.monthly-71faf8ec.js} +0 -0
  366. /package/build/{HEIGHT_GIRLS.percentile.weekly-87e9c07b.js → HEIGHT_GIRLS.percentile.weekly-60e14a04.js} +0 -0
  367. /package/build/{HEIGHT_GIRLS.percentile.yearly-6d7886a0.js → HEIGHT_GIRLS.percentile.yearly-c269e45b.js} +0 -0
  368. /package/build/{HEIGHT_GIRLS.zscore.monthly-7633350a.js → HEIGHT_GIRLS.zscore.monthly-cae4a2c9.js} +0 -0
  369. /package/build/{HEIGHT_GIRLS.zscore.weekly-69b7cdb2.js → HEIGHT_GIRLS.zscore.weekly-adfc265f.js} +0 -0
  370. /package/build/{HEIGHT_GIRLS.zscore.yearly-223c2399.js → HEIGHT_GIRLS.zscore.yearly-408dfc54.js} +0 -0
  371. /package/build/{Locale-f7f03ebc.js → Locale-8e589472.js} +0 -0
  372. /package/build/{Visible-1974b647.js → Visible-d2564bc1.js} +0 -0
  373. /package/build/{WEIGHT_BOYS.percentile.monthly-f53de12f.js → WEIGHT_BOYS.percentile.monthly-586fe627.js} +0 -0
  374. /package/build/{WEIGHT_BOYS.percentile.weekly-5501bf5f.js → WEIGHT_BOYS.percentile.weekly-c6ff4005.js} +0 -0
  375. /package/build/{WEIGHT_BOYS.percentile.yearly-efd2ce79.js → WEIGHT_BOYS.percentile.yearly-e96c07e6.js} +0 -0
  376. /package/build/{WEIGHT_BOYS.zscore.monthly-dacf86cb.js → WEIGHT_BOYS.zscore.monthly-28013af2.js} +0 -0
  377. /package/build/{WEIGHT_BOYS.zscore.weekly-04bd9e0d.js → WEIGHT_BOYS.zscore.weekly-b689cb29.js} +0 -0
  378. /package/build/{WEIGHT_BOYS.zscore.yearly-f00de0ae.js → WEIGHT_BOYS.zscore.yearly-7ebff255.js} +0 -0
  379. /package/build/{WEIGHT_GIRLS.percentile.monthly-39ccbe36.js → WEIGHT_GIRLS.percentile.monthly-f2d86102.js} +0 -0
  380. /package/build/{WEIGHT_GIRLS.percentile.weekly-a19f4dea.js → WEIGHT_GIRLS.percentile.weekly-9ea35cac.js} +0 -0
  381. /package/build/{WEIGHT_GIRLS.percentile.yearly-45a1cde0.js → WEIGHT_GIRLS.percentile.yearly-c5c8b8ae.js} +0 -0
  382. /package/build/{WEIGHT_GIRLS.zscore.monthly-ff9d5c34.js → WEIGHT_GIRLS.zscore.monthly-67100cc7.js} +0 -0
  383. /package/build/{WEIGHT_GIRLS.zscore.weekly-5d0d7256.js → WEIGHT_GIRLS.zscore.weekly-dccd551b.js} +0 -0
  384. /package/build/{WEIGHT_GIRLS.zscore.yearly-70fd1d50.js → WEIGHT_GIRLS.zscore.yearly-5be116be.js} +0 -0
  385. /package/build/{animation-3ab9b09b.js → animation-ace3639c.js} +0 -0
  386. /package/build/{constants-6f5dcaa8.js → constants-04b55b51.js} +0 -0
  387. /package/build/{constants-2c42beaf.js → constants-56b9a4c4.js} +0 -0
  388. /package/build/{constants-d5425e28.js → constants-c846ef9b.js} +0 -0
  389. /package/build/{dataTransform-6abf7695.js → dataTransform-c0185566.js} +0 -0
  390. /package/build/{doctor-8007b5c4.js → doctor-b649b02f.js} +0 -0
  391. /package/build/esm/{BMI_BOYS.percentile.monthly-91bffff3.js → BMI_BOYS.percentile.monthly-7232b38e.js} +0 -0
  392. /package/build/esm/{BMI_BOYS.percentile.weekly-3bd76db2.js → BMI_BOYS.percentile.weekly-8f5c9469.js} +0 -0
  393. /package/build/esm/{BMI_BOYS.percentile.yearly-7d09f91d.js → BMI_BOYS.percentile.yearly-09f5390c.js} +0 -0
  394. /package/build/esm/{BMI_BOYS.zscore.monthly-edaa2fd0.js → BMI_BOYS.zscore.monthly-68060fc0.js} +0 -0
  395. /package/build/esm/{BMI_BOYS.zscore.weekly-7697f15e.js → BMI_BOYS.zscore.weekly-0ae9769c.js} +0 -0
  396. /package/build/esm/{BMI_BOYS.zscore.yearly-2a8080e3.js → BMI_BOYS.zscore.yearly-24c93ccd.js} +0 -0
  397. /package/build/esm/{BMI_GIRLS.percentile.monthly-f23e498f.js → BMI_GIRLS.percentile.monthly-721e6b54.js} +0 -0
  398. /package/build/esm/{BMI_GIRLS.percentile.weekly-0d2a8aa6.js → BMI_GIRLS.percentile.weekly-abd1231a.js} +0 -0
  399. /package/build/esm/{BMI_GIRLS.percentile.yearly-4a3c09c0.js → BMI_GIRLS.percentile.yearly-fa1b5ea0.js} +0 -0
  400. /package/build/esm/{BMI_GIRLS.zscore.monthly-1fdff88e.js → BMI_GIRLS.zscore.monthly-d533e7b2.js} +0 -0
  401. /package/build/esm/{BMI_GIRLS.zscore.weekly-1e293897.js → BMI_GIRLS.zscore.weekly-26d70825.js} +0 -0
  402. /package/build/esm/{BMI_GIRLS.zscore.yearly-86af97d1.js → BMI_GIRLS.zscore.yearly-996e4c80.js} +0 -0
  403. /package/build/esm/{ChevronDown-635295f5.js → ChevronDown-8d75a053.js} +0 -0
  404. /package/build/esm/{Close-8b8ba510.js → Close-7324a458.js} +0 -0
  405. /package/build/esm/{Google-61e99a72.js → Google-e9a0164b.js} +0 -0
  406. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-e3249af6.js → HEAD CIRCUM_BOYS.percentile.monthly-91db3bcd.js} +0 -0
  407. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-11051d5d.js → HEAD CIRCUM_BOYS.percentile.weekly-fcdaa100.js} +0 -0
  408. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-e7493a7f.js → HEAD CIRCUM_BOYS.percentile.yearly-171f259a.js} +0 -0
  409. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-692e688c.js → HEAD CIRCUM_BOYS.zscore.monthly-7cd46960.js} +0 -0
  410. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-e6999588.js → HEAD CIRCUM_BOYS.zscore.weekly-d780b979.js} +0 -0
  411. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-7df3afe5.js → HEAD CIRCUM_BOYS.zscore.yearly-dc3800c1.js} +0 -0
  412. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-51b82c60.js → HEAD CIRCUM_GIRLS.percentile.monthly-22e8c2fc.js} +0 -0
  413. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-af5e0528.js → HEAD CIRCUM_GIRLS.percentile.weekly-705d806e.js} +0 -0
  414. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-f0f89e89.js → HEAD CIRCUM_GIRLS.percentile.yearly-40015a8d.js} +0 -0
  415. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-355558eb.js → HEAD CIRCUM_GIRLS.zscore.monthly-9ce2a230.js} +0 -0
  416. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-cea6092e.js → HEAD CIRCUM_GIRLS.zscore.weekly-36485328.js} +0 -0
  417. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-2ba22f0e.js → HEAD CIRCUM_GIRLS.zscore.yearly-286373e5.js} +0 -0
  418. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-1e67dd70.js → HEIGHT_BOYS.percentile.monthly-e84e9d0b.js} +0 -0
  419. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-285867e4.js → HEIGHT_BOYS.percentile.weekly-724ce36b.js} +0 -0
  420. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-92340993.js → HEIGHT_BOYS.percentile.yearly-5c27be61.js} +0 -0
  421. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-689be31e.js → HEIGHT_BOYS.zscore.monthly-6ad245ff.js} +0 -0
  422. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-3360d8a7.js → HEIGHT_BOYS.zscore.weekly-c1e3c10d.js} +0 -0
  423. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-aeb08b84.js → HEIGHT_BOYS.zscore.yearly-6cc90554.js} +0 -0
  424. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-2097e103.js → HEIGHT_GIRLS.percentile.monthly-2b95b9ad.js} +0 -0
  425. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-8ee7cd79.js → HEIGHT_GIRLS.percentile.weekly-dbb8d5b0.js} +0 -0
  426. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-9ded5077.js → HEIGHT_GIRLS.percentile.yearly-0248f67b.js} +0 -0
  427. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-16d4b538.js → HEIGHT_GIRLS.zscore.monthly-3c1706b7.js} +0 -0
  428. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-468664ba.js → HEIGHT_GIRLS.zscore.weekly-98a4e57b.js} +0 -0
  429. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-ec6ab79a.js → HEIGHT_GIRLS.zscore.yearly-b757f7b6.js} +0 -0
  430. /package/build/esm/{Locale-8d44445f.js → Locale-90e9a3c9.js} +0 -0
  431. /package/build/esm/{Visible-2667dc49.js → Visible-5cd57939.js} +0 -0
  432. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-fe8207fa.js → WEIGHT_BOYS.percentile.monthly-a320ba80.js} +0 -0
  433. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-8b046e3f.js → WEIGHT_BOYS.percentile.weekly-d690dfd8.js} +0 -0
  434. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-151d76ee.js → WEIGHT_BOYS.percentile.yearly-13d33e83.js} +0 -0
  435. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-27b35521.js → WEIGHT_BOYS.zscore.monthly-c90087bc.js} +0 -0
  436. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-0e05f57b.js → WEIGHT_BOYS.zscore.weekly-5220c234.js} +0 -0
  437. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-07961936.js → WEIGHT_BOYS.zscore.yearly-10611b21.js} +0 -0
  438. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-7e80fc0c.js → WEIGHT_GIRLS.percentile.monthly-e3e3f8e5.js} +0 -0
  439. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-c9670404.js → WEIGHT_GIRLS.percentile.weekly-7c6df609.js} +0 -0
  440. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-3edc1492.js → WEIGHT_GIRLS.percentile.yearly-76ec0ce1.js} +0 -0
  441. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-edc88455.js → WEIGHT_GIRLS.zscore.monthly-e32cad1f.js} +0 -0
  442. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-18f55612.js → WEIGHT_GIRLS.zscore.weekly-452ce352.js} +0 -0
  443. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-dc452b25.js → WEIGHT_GIRLS.zscore.yearly-e6f4c062.js} +0 -0
  444. /package/build/esm/{animation-96a13abb.js → animation-4f461af5.js} +0 -0
  445. /package/build/esm/{constants-cedf6314.js → constants-21fa310e.js} +0 -0
  446. /package/build/esm/{constants-cba1e163.js → constants-a2b4a41c.js} +0 -0
  447. /package/build/esm/{constants-2d45a9d9.js → constants-bc758df2.js} +0 -0
  448. /package/build/esm/{dataTransform-ec83e3f6.js → dataTransform-0877e41c.js} +0 -0
  449. /package/build/esm/{doctor-8f08052b.js → doctor-2b91fc17.js} +0 -0
  450. /package/build/esm/{index-ae2aff3a.js → index-0ad4d4a8.js} +0 -0
  451. /package/build/esm/{index-cec3f424.js → index-0bfab592.js} +0 -0
  452. /package/build/esm/{index-a3e800f4.js → index-2350bd05.js} +0 -0
  453. /package/build/esm/{index-66e76212.js → index-3c30b2d7.js} +0 -0
  454. /package/build/esm/{index-5d6f27b3.js → index-619b04de.js} +0 -0
  455. /package/build/esm/{index-34dddec0.js → index-863dc32d.js} +0 -0
  456. /package/build/esm/{index-44b27a73.js → index-872d2e92.js} +0 -0
  457. /package/build/esm/{index-250f0afd.js → index-bf2c8341.js} +0 -0
  458. /package/build/esm/{localizeNumberFormat-c8d3f14e.js → localizeNumberFormat-59bb213a.js} +0 -0
  459. /package/build/esm/{normalizeLink-aa88d767.js → normalizeLink-76ffb98c.js} +0 -0
  460. /package/build/esm/{other-54672859.js → other-1ccded8c.js} +0 -0
  461. /package/build/esm/{paths-a823a6b3.js → paths-f51a5898.js} +0 -0
  462. /package/build/esm/{translationsContext-45d92bdb.js → translationsContext-08e9c793.js} +0 -0
  463. /package/build/esm/{tslib.es6-a95a1380.js → tslib.es6-fabffebd.js} +0 -0
  464. /package/build/esm/{types-d01bd430.js → types-3a8181aa.js} +0 -0
  465. /package/build/esm/{useIsInit-35630f84.js → useIsInit-c767b6d8.js} +0 -0
  466. /package/build/esm/{useOutsideClick-55d2f9fc.js → useOutsideClick-9d6bcb0b.js} +0 -0
  467. /package/build/esm/{useScrollbarSize-08b20042.js → useScrollbarSize-1541f8d1.js} +0 -0
  468. /package/build/esm/{useUniqueId-4904bb63.js → useUniqueId-7a3045f0.js} +0 -0
  469. /package/build/esm/{utils-40ab4114.js → utils-a1df0ee3.js} +0 -0
  470. /package/build/{index-1c8de619.js → index-042d164d.js} +0 -0
  471. /package/build/{index-c0e9b08a.js → index-0f40af3c.js} +0 -0
  472. /package/build/{index-39de83bb.js → index-0fa569ad.js} +0 -0
  473. /package/build/{index-c084a9e1.js → index-4c3af476.js} +0 -0
  474. /package/build/{index-091d8bb0.js → index-56ee99d1.js} +0 -0
  475. /package/build/{index-7f0cbc70.js → index-c16a5b0a.js} +0 -0
  476. /package/build/{index-c78a2dca.js → index-dab38afb.js} +0 -0
  477. /package/build/{index-e34ec724.js → index-ee625fd2.js} +0 -0
  478. /package/build/{localizeNumberFormat-1fb5cda2.js → localizeNumberFormat-39d7d2cf.js} +0 -0
  479. /package/build/{normalizeLink-d35d8d15.js → normalizeLink-399db560.js} +0 -0
  480. /package/build/{other-18de93d8.js → other-050b910e.js} +0 -0
  481. /package/build/{paths-987c6bc6.js → paths-4f1d5463.js} +0 -0
  482. /package/build/{translationsContext-0b5b6d26.js → translationsContext-51eda546.js} +0 -0
  483. /package/build/{tslib.es6-d836fe39.js → tslib.es6-a2ac1e35.js} +0 -0
  484. /package/build/{types-8c7e8cb0.js → types-fa3b5ef9.js} +0 -0
  485. /package/build/{useIsInit-e13fef8a.js → useIsInit-b0ce5dd2.js} +0 -0
  486. /package/build/{useOutsideClick-0a222a3c.js → useOutsideClick-5149ba07.js} +0 -0
  487. /package/build/{useScrollbarSize-b71d789f.js → useScrollbarSize-436dae58.js} +0 -0
  488. /package/build/{useUniqueId-9b4de13d.js → useUniqueId-86ea2151.js} +0 -0
  489. /package/build/{utils-ae52e1c9.js → utils-1d4e8507.js} +0 -0
@@ -1,49 +1,49 @@
1
- import { a as __awaiter, _ as __rest } from './tslib.es6-a95a1380.js';
1
+ import { a as __awaiter, _ as __rest } from './tslib.es6-fabffebd.js';
2
2
  import React__default, { createContext, useEffect } from 'react';
3
- import { I as Input, P as Phone, O as OTP, f as PasswordInput, R as Radio, E as ErrorBoundary } from './index-2a82a182.js';
3
+ import { I as Input, P as Phone, O as OTP, f as PasswordInput, R as Radio, E as ErrorBoundary } from './index-18373462.js';
4
4
  import { ChevronLeft } from '@hhgtech/icons/arrow';
5
5
  import { Close } from '@hhgtech/icons/core';
6
- import { L as LogoIcon } from './logoIcon-fec701e8.js';
7
- import { B as Button } from './index-8b6d2388.js';
8
- import { M as Modal } from './index-118c2c8e.js';
9
- import { Stack, Group } from '@mantine/core';
6
+ import { L as LogoIcon } from './logoIcon-19b961db.js';
7
+ import { B as Button } from './index-9cce954f.js';
8
+ import { M as Modal } from './index-3d03b664.js';
9
+ import { Stack, LoadingOverlay, Group } from '@mantine/core';
10
10
  import '@mantine/dates';
11
- import { L as LOCALE_SPECS, S as STATIC_PAGES } from './index-c26ff0ab.js';
12
- import './index-ebe0e7c8.js';
13
- import './index-34dddec0.js';
14
- import { s as showNotification } from './useMantineLocale-9516e7f9.js';
15
- import { T as Text } from './index-15f27ddc.js';
16
- import { u as useTranslations } from './index-29dcf47d.js';
11
+ import { L as LOCALE_SPECS, S as STATIC_PAGES } from './index-6a555c42.js';
12
+ import './index-a02223d2.js';
13
+ import './index-863dc32d.js';
14
+ import { s as showNotification } from './useMantineLocale-d89aa467.js';
15
+ import { T as Text } from './index-f56800e7.js';
16
+ import { u as useTranslations } from './index-9312f46a.js';
17
17
  import '@mantine/hooks';
18
- import './utils-40ab4114.js';
19
- import './other-54672859.js';
20
- import './index-f24d5e3e.js';
21
- import { L as LOCALE } from './Locale-8d44445f.js';
22
- import { a as useSSOSteps, f as fetchSSOV2Api, w as websiteId, S as SSO_V2_PATHS, c as checkUserExist, b as SSOStepTypeType, d as allAvailableAreaCodes, F as FacebookAppId, G as GoogleAuthClientId, h as handleAuthSuccess, g as getUserInfo, e as updateUserInfo, r as resetPassword, u as useSSOV2Store, i as redirect } from './store-0e3bf0dd.js';
23
- export { u as useSSOV2Store } from './store-0e3bf0dd.js';
24
- import { G as Google, F as Facebook } from './Google-61e99a72.js';
18
+ import './utils-a1df0ee3.js';
19
+ import './other-1ccded8c.js';
20
+ import './index-57ede743.js';
21
+ import { L as LOCALE } from './Locale-90e9a3c9.js';
22
+ import { a as useSSOSteps, f as fetchSSOV2Api, w as websiteId, S as SSO_V2_PATHS, c as checkUserExist, b as SSOStepTypeType, d as allAvailableAreaCodes, F as FacebookAppId, G as GoogleAuthClientId, h as handleAuthSuccess, g as getUserInfo, e as updateUserInfo, r as resetPassword, u as useSSOV2Store, i as redirect } from './store-c01b5c45.js';
23
+ export { u as useSSOV2Store } from './store-c01b5c45.js';
24
+ import { G as Google, F as Facebook } from './Google-e9a0164b.js';
25
25
  import styled from '@emotion/styled';
26
- import { M as MAPPED_LOCALE } from './utils-e8fc6daf.js';
26
+ import { M as MAPPED_LOCALE } from './utils-a8196146.js';
27
27
  import { domainLocales } from './constantsDomainLocales.js';
28
28
  import { useForm, yupResolver } from '@mantine/form';
29
29
  import * as yup from 'yup';
30
30
  import dayjs from 'dayjs';
31
- import { D as DatePicker } from './index-e64f8d68.js';
31
+ import { D as DatePicker } from './index-9048db90.js';
32
32
  import '@hhgtech/icons/other';
33
- import './index.styles-9d9404ae.js';
33
+ import './index.styles-29eadbd0.js';
34
34
  import '@mantine/carousel';
35
35
  import './miscTheme.js';
36
- import './index-9ee1596f.js';
36
+ import './index-f42c3988.js';
37
37
  import 'classnames';
38
- import './useUniqueId-4904bb63.js';
38
+ import './useUniqueId-7a3045f0.js';
39
39
  import './constantsSite.js';
40
40
  import 'date-fns/locale';
41
41
  import './constantsRiskScreener.js';
42
42
  import './constantsIsProduction.js';
43
43
  import '@mantine/notifications';
44
- import './translationsContext-45d92bdb.js';
44
+ import './translationsContext-08e9c793.js';
45
45
  import 'zustand';
46
- import './normalizeLink-aa88d767.js';
46
+ import './normalizeLink-76ffb98c.js';
47
47
  import './miscCookieHelper.js';
48
48
 
49
49
  const ConfirmClosePopup = ({ opened, onCancel, onClose, }) => {
@@ -346,6 +346,7 @@ const getErrorTextFromCode = (t, code) => {
346
346
 
347
347
  const SSOEmailScreen = ({ hidden, }) => {
348
348
  const { t } = useTranslations();
349
+ const [loading, setLoading] = React__default.useState(false);
349
350
  const [errMsg, setErrMsg] = React__default.useState('');
350
351
  const { addStep, goNext, setShareData } = useSSOSteps();
351
352
  return (React__default.createElement("form", { style: {
@@ -353,65 +354,73 @@ const SSOEmailScreen = ({ hidden, }) => {
353
354
  }, onSubmit: (e) => __awaiter(void 0, void 0, void 0, function* () {
354
355
  var _a, _b, _c;
355
356
  e.preventDefault();
356
- const email = e.currentTarget.email.value;
357
- const existRes = yield checkUserExist({ email });
358
- if ((existRes === null || existRes === void 0 ? void 0 : existRes._status) === 1) {
359
- const provider = (_a = existRes._data) === null || _a === void 0 ? void 0 : _a.provider;
360
- if (provider === 'google' || provider === 'facebook') {
361
- setErrMsg(t('ssov2.useOtherMethod.email'));
362
- return;
363
- }
364
- if ((_b = existRes._data) === null || _b === void 0 ? void 0 : _b.is_pass) {
365
- setShareData({
366
- authMethod: 'mail',
367
- authFlow: 'login',
368
- });
369
- // go to password screen
370
- addStep({
371
- type: SSOStepTypeType.PASSWORD,
372
- config: {
373
- email,
374
- },
375
- });
376
- goNext();
377
- }
378
- else {
379
- let res;
380
- setShareData({
381
- authMethod: 'mail',
382
- authFlow: 'register',
383
- });
384
- if (!((_c = existRes._data) === null || _c === void 0 ? void 0 : _c.provider)) {
385
- res = yield registerBySendEmailOTP(email);
357
+ setLoading(true);
358
+ try {
359
+ const email = e.currentTarget.email.value;
360
+ const existRes = yield checkUserExist({ email });
361
+ if ((existRes === null || existRes === void 0 ? void 0 : existRes._status) === 1) {
362
+ const provider = (_a = existRes._data) === null || _a === void 0 ? void 0 : _a.provider;
363
+ if (provider === 'google' || provider === 'facebook') {
364
+ setErrMsg(t('ssov2.useOtherMethod.email'));
365
+ return setLoading(false);
386
366
  }
387
- else {
388
- res = yield resendEmailOTP(email);
367
+ if ((_b = existRes._data) === null || _b === void 0 ? void 0 : _b.is_pass) {
368
+ setShareData({
369
+ authMethod: 'mail',
370
+ authFlow: 'login',
371
+ });
372
+ // go to password screen
373
+ addStep({
374
+ type: SSOStepTypeType.PASSWORD,
375
+ config: {
376
+ email,
377
+ },
378
+ });
379
+ goNext();
389
380
  }
390
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
391
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
392
- return;
381
+ else {
382
+ let res;
383
+ setShareData({
384
+ authMethod: 'mail',
385
+ authFlow: 'register',
386
+ });
387
+ if (!((_c = existRes._data) === null || _c === void 0 ? void 0 : _c.provider)) {
388
+ res = yield registerBySendEmailOTP(email);
389
+ }
390
+ else {
391
+ res = yield resendEmailOTP(email);
392
+ }
393
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
394
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
395
+ return setLoading(false);
396
+ }
397
+ // go to register screen
398
+ addStep({
399
+ type: SSOStepTypeType.OTP,
400
+ config: {
401
+ email,
402
+ otpType: 'email',
403
+ afterAction: 'setup',
404
+ },
405
+ });
406
+ goNext();
393
407
  }
394
- // go to register screen
395
- addStep({
396
- type: SSOStepTypeType.OTP,
397
- config: {
398
- email,
399
- otpType: 'email',
400
- afterAction: 'setup',
401
- },
402
- });
403
- goNext();
408
+ }
409
+ else {
410
+ setErrMsg(getErrorTextFromCode(t, existRes === null || existRes === void 0 ? void 0 : existRes.code));
404
411
  }
405
412
  }
406
- else {
407
- setErrMsg(getErrorTextFromCode(t, existRes === null || existRes === void 0 ? void 0 : existRes.code));
413
+ catch (e) {
414
+ console.error(e);
415
+ setErrMsg(getErrorTextFromCode(t, ''));
408
416
  }
417
+ setLoading(false);
409
418
  }) },
410
419
  React__default.createElement(Stack, { spacing: 8 },
411
420
  React__default.createElement(Text, { size: "s1", weight: "semiBold" }, t('ssov2.email.title')),
412
421
  React__default.createElement(Text, { size: "p4" }, t('ssov2.email.description'))),
413
- React__default.createElement(Input, { name: "email", placeholder: "Email c\u1EE7a b\u1EA1n", error: errMsg || undefined, type: "email", required: true, mt: 24 }),
414
- React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", fullWidth: true, mt: 16 }, t('ssov2.email.button'))));
422
+ React__default.createElement(Input, { name: "email", placeholder: "Email c\u1EE7a b\u1EA1n", error: errMsg || undefined, type: "email", required: true, mt: 24, disabled: loading, onChange: () => setErrMsg('') }),
423
+ React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", fullWidth: true, mt: 16, disabled: loading, loading: loading }, t('ssov2.email.button'))));
415
424
  };
416
425
 
417
426
  const splitPhone = (phone) => {
@@ -624,6 +633,8 @@ const SSOFirstScreen = ({ hidden }) => {
624
633
  const { locale, onClose } = useSSOState();
625
634
  const { addStep, goNext, setShareData } = useSSOSteps();
626
635
  const { t } = useTranslations();
636
+ const [loading, setLoading] = React__default.useState(false);
637
+ const [loadingOverlay, setLoadingOverlay] = React__default.useState(false);
627
638
  const handleLoginBySocial = (credential, provider) => __awaiter(void 0, void 0, void 0, function* () {
628
639
  var _c, _d, _e;
629
640
  const res = yield loginBySocial(credential, provider);
@@ -711,17 +722,18 @@ const SSOFirstScreen = ({ hidden }) => {
711
722
  }, []);
712
723
  const onClickContinueZalo = () => __awaiter(void 0, void 0, void 0, function* () {
713
724
  var _f, _g;
725
+ setLoading(true);
714
726
  const { areaCode, phoneNumber } = splitPhone(phone);
715
727
  if (!areaCode || !phoneNumber || !phone) {
716
728
  setErrMsg(t('ssov2.validate.phone.required'));
717
- return;
729
+ return setLoading(false);
718
730
  }
719
731
  const userExist = yield checkUserExist({ phone: phoneNumber });
720
732
  if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
721
733
  const provider = (_f = userExist._data) === null || _f === void 0 ? void 0 : _f.provider;
722
734
  if (provider === 'google' || provider === 'facebook') {
723
735
  setErrMsg(t('ssov2.useOtherMethod.phone'));
724
- return;
736
+ return setLoading(false);
725
737
  }
726
738
  setShareData({
727
739
  authMethod: 'phone',
@@ -746,7 +758,7 @@ const SSOFirstScreen = ({ hidden }) => {
746
758
  }
747
759
  if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
748
760
  setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
749
- return;
761
+ return setLoading(false);
750
762
  }
751
763
  setShareData((a) => (Object.assign(Object.assign({}, a), { authFlow: 'register' })));
752
764
  addStep({
@@ -763,20 +775,22 @@ const SSOFirstScreen = ({ hidden }) => {
763
775
  else {
764
776
  setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
765
777
  }
778
+ setLoading(false);
766
779
  });
767
780
  const onClickContinuePhone = () => __awaiter(void 0, void 0, void 0, function* () {
768
781
  var _h, _j;
782
+ setLoading(true);
769
783
  const { areaCode, phoneNumber } = splitPhone(phone);
770
784
  if (!areaCode || !phoneNumber || !phone) {
771
785
  setErrMsg(t('ssov2.validate.phone.required'));
772
- return;
786
+ return setLoading(false);
773
787
  }
774
788
  const userExist = yield checkUserExist({ phone: phoneNumber });
775
789
  if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
776
790
  const provider = (_h = userExist._data) === null || _h === void 0 ? void 0 : _h.provider;
777
791
  if (provider === 'google' || provider === 'facebook') {
778
792
  setErrMsg(t('ssov2.useOtherMethod.phone'));
779
- return;
793
+ return setLoading(false);
780
794
  }
781
795
  setShareData({
782
796
  authMethod: 'phone',
@@ -801,7 +815,7 @@ const SSOFirstScreen = ({ hidden }) => {
801
815
  }
802
816
  if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
803
817
  setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
804
- return;
818
+ return setLoading(false);
805
819
  }
806
820
  setShareData((a) => (Object.assign(Object.assign({}, a), { authFlow: 'register' })));
807
821
  addStep({
@@ -818,6 +832,7 @@ const SSOFirstScreen = ({ hidden }) => {
818
832
  else {
819
833
  setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
820
834
  }
835
+ setLoading(false);
821
836
  });
822
837
  const onClickEmail = () => {
823
838
  setShareData({
@@ -830,26 +845,39 @@ const SSOFirstScreen = ({ hidden }) => {
830
845
  goNext();
831
846
  };
832
847
  const onTriggerGoogleLogin = () => {
848
+ setLoadingOverlay(true);
833
849
  const client = window.google.accounts.oauth2.initTokenClient({
834
850
  client_id: GoogleAuthClientId,
835
851
  scope: 'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile openid',
836
852
  ux_mode: 'popup',
837
- callback: (response) => {
838
- handleLoginBySocial(response.access_token, 'google');
853
+ callback: (response) => __awaiter(void 0, void 0, void 0, function* () {
854
+ if (response.access_token) {
855
+ yield handleLoginBySocial(response.access_token, 'google');
856
+ }
857
+ else {
858
+ setErrMsg(t('ssov2.error.googleLogin'));
859
+ }
860
+ setLoadingOverlay(false);
861
+ }),
862
+ error_callback: () => {
863
+ setErrMsg(t('ssov2.error.googleLogin'));
864
+ setLoadingOverlay(false);
839
865
  },
840
866
  });
841
867
  client === null || client === void 0 ? void 0 : client.requestAccessToken();
842
868
  };
843
869
  const onTriggerFacebookLogin = () => {
870
+ setLoadingOverlay(true);
844
871
  window.FB.login(function (response) {
845
872
  var _a;
846
873
  return __awaiter(this, void 0, void 0, function* () {
847
874
  if ((_a = response === null || response === void 0 ? void 0 : response.authResponse) === null || _a === void 0 ? void 0 : _a.accessToken) {
848
- handleLoginBySocial(response.authResponse.accessToken, 'facebook');
875
+ yield handleLoginBySocial(response.authResponse.accessToken, 'facebook');
849
876
  }
850
877
  else {
851
878
  setErrMsg(t('ssov2.error.facebookLogin'));
852
879
  }
880
+ setLoadingOverlay(false);
853
881
  });
854
882
  }, { scope: 'public_profile,email,user_gender,user_birthday' });
855
883
  };
@@ -858,15 +886,20 @@ const SSOFirstScreen = ({ hidden }) => {
858
886
  flexDirection: 'column',
859
887
  height: '100%',
860
888
  } },
889
+ React__default.createElement(LoadingOverlay, { visible: loadingOverlay, zIndex: 1000, overlayBlur: 1 }),
861
890
  React__default.createElement(Stack, { spacing: 8 },
862
891
  React__default.createElement(Text, { size: "s1", weight: "semiBold" }, t('ssov2.first.title')),
863
892
  React__default.createElement(Text, { size: "p4" }, t('ssov2.first.description'))),
864
893
  React__default.createElement(Stack, { mt: 24, spacing: 24 },
865
894
  React__default.createElement(Stack, { spacing: 16 },
866
- React__default.createElement(Input.Wrapper, { error: errMsg },
867
- React__default.createElement(StyledPhone, { defaultCountry: (locale ? MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone, onChange: (value) => setPhone(value), isError: !!errMsg, required: true, name: "phone" })),
868
- React__default.createElement(Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo }, t('ssov2.button.continueZalo')),
869
- React__default.createElement(Button, { size: "lg", variant: "secondary", onClick: onClickContinuePhone }, t('ssov2.button.continueSMS'))),
895
+ React__default.createElement("form", { onSubmit: (e) => {
896
+ e.preventDefault();
897
+ onClickContinueZalo();
898
+ } },
899
+ React__default.createElement(Input.Wrapper, { error: errMsg },
900
+ React__default.createElement(StyledPhone, { defaultCountry: (locale ? MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone, onChange: (value) => setPhone(value), isError: !!errMsg, required: true, name: "phone", disabled: loading }))),
901
+ React__default.createElement(Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo, loading: loading, disabled: loading }, t('ssov2.button.continueZalo')),
902
+ React__default.createElement(Button, { size: "lg", variant: "secondary", onClick: onClickContinuePhone, loading: loading, disabled: loading }, t('ssov2.button.continueSMS'))),
870
903
  React__default.createElement(Stack, { spacing: 16, align: "center" },
871
904
  React__default.createElement(Text, { size: "p4" }, t('ssov2.orContinueWith')),
872
905
  React__default.createElement(Group, { spacing: 24 },
@@ -941,6 +974,7 @@ const SSOOTPScreen = ({ hidden, index, }) => {
941
974
  const { t } = useTranslations();
942
975
  const { onClose } = useSSOState();
943
976
  const { steps, setSteps, addStep, goNext } = useSSOSteps();
977
+ const [loading, setLoading] = React__default.useState(false);
944
978
  const [otp, setOtp] = React__default.useState('');
945
979
  const [error, setError] = React__default.useState('');
946
980
  const currentStepIndex = index;
@@ -951,197 +985,225 @@ const SSOOTPScreen = ({ hidden, index, }) => {
951
985
  if (checkResend && resendTime > 0)
952
986
  return;
953
987
  // send otp code logic here
954
- const { areaCode, phoneNumber } = splitPhone(phone);
955
- let res;
956
- if (isUpdatePhone) {
957
- if (otpType === 'phone-sms') {
958
- res = yield resendUpdatePhoneOTP(phoneNumber, areaCode);
959
- }
960
- else if (otpType === 'phone-zalo') {
961
- res = yield resendUpdatePhoneZaloOTP(phoneNumber, areaCode);
962
- }
963
- }
964
- else {
965
- if (otpType === 'phone-sms') {
966
- res = yield resendPhoneOTP(phoneNumber, areaCode);
967
- }
968
- else if (otpType === 'phone-zalo') {
969
- res = yield resendZaloOTP(phoneNumber, areaCode);
988
+ setLoading(true);
989
+ try {
990
+ const { areaCode, phoneNumber } = splitPhone(phone);
991
+ let res;
992
+ if (isUpdatePhone) {
993
+ if (otpType === 'phone-sms') {
994
+ res = yield resendUpdatePhoneOTP(phoneNumber, areaCode);
995
+ }
996
+ else if (otpType === 'phone-zalo') {
997
+ res = yield resendUpdatePhoneZaloOTP(phoneNumber, areaCode);
998
+ }
970
999
  }
971
- else if (otpType === 'email') {
972
- res = yield resendEmailOTP(email);
1000
+ else {
1001
+ if (otpType === 'phone-sms') {
1002
+ res = yield resendPhoneOTP(phoneNumber, areaCode);
1003
+ }
1004
+ else if (otpType === 'phone-zalo') {
1005
+ res = yield resendZaloOTP(phoneNumber, areaCode);
1006
+ }
1007
+ else if (otpType === 'email') {
1008
+ res = yield resendEmailOTP(email);
1009
+ }
1010
+ else if (otpType === 'update-email') {
1011
+ res = yield resendUpdateEmailOTP();
1012
+ }
973
1013
  }
974
- else if (otpType === 'update-email') {
975
- res = yield resendUpdateEmailOTP();
1014
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1015
+ // log error
1016
+ setError(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1017
+ return setLoading(false);
976
1018
  }
1019
+ setupResendTimer();
977
1020
  }
978
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
979
- // log error
980
- setError(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
981
- return;
1021
+ catch (e) {
1022
+ console.error(e);
1023
+ setError(getErrorTextFromCode(t, ''));
982
1024
  }
983
- setupResendTimer();
1025
+ setLoading(false);
984
1026
  });
985
1027
  const submitOtp = () => __awaiter(void 0, void 0, void 0, function* () {
986
1028
  var _a, _b;
987
- const { areaCode, phoneNumber } = splitPhone(phone);
988
- // submit otp code logic here
989
- if (isUpdatePhone) {
990
- let res;
991
- if (otpType === 'phone-sms') {
992
- res = yield verifyUpdatePhoneOTP(areaCode, otp);
993
- }
994
- else if (otpType === 'phone-zalo') {
995
- res = yield verifyUpdatePhoneZaloOTP(phoneNumber, areaCode, otp);
996
- }
997
- if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
998
- if (afterAction === 'setup') {
999
- const userInfo = yield getUserInfo();
1000
- if ((userInfo === null || userInfo === void 0 ? void 0 : userInfo._status) !== 1) {
1001
- // log error
1002
- setError(getErrorTextFromCode(t, userInfo === null || userInfo === void 0 ? void 0 : userInfo.code));
1003
- return;
1029
+ if (!otp || otp.length < 6) {
1030
+ setError(t('ssov2.validate.otp.required'));
1031
+ return;
1032
+ }
1033
+ setLoading(true);
1034
+ try {
1035
+ const { areaCode, phoneNumber } = splitPhone(phone);
1036
+ // submit otp code logic here
1037
+ if (isUpdatePhone) {
1038
+ let res;
1039
+ if (otpType === 'phone-sms') {
1040
+ res = yield verifyUpdatePhoneOTP(areaCode, otp);
1041
+ }
1042
+ else if (otpType === 'phone-zalo') {
1043
+ res = yield verifyUpdatePhoneZaloOTP(phoneNumber, areaCode, otp);
1044
+ }
1045
+ if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1046
+ if (afterAction === 'setup') {
1047
+ const userInfo = yield getUserInfo();
1048
+ if ((userInfo === null || userInfo === void 0 ? void 0 : userInfo._status) !== 1) {
1049
+ // log error
1050
+ setError(getErrorTextFromCode(t, userInfo === null || userInfo === void 0 ? void 0 : userInfo.code));
1051
+ return setLoading(false);
1052
+ }
1053
+ // check if really need setup
1054
+ const noNeedSetup = ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo._data) === null || _a === void 0 ? void 0 : _a.id) &&
1055
+ userInfo._data.phone &&
1056
+ userInfo._data.phone_verified_at &&
1057
+ userInfo._data.email &&
1058
+ // userInfo._data.email_verified_at &&
1059
+ !userInfo._data.email.includes('@hhg.com') &&
1060
+ userInfo._data.name &&
1061
+ userInfo._data.birthday &&
1062
+ (typeof userInfo._data.gender === 'number' ||
1063
+ typeof userInfo._data.gender === 'string');
1064
+ if (noNeedSetup) {
1065
+ onClose === null || onClose === void 0 ? void 0 : onClose(true);
1066
+ return;
1067
+ }
1068
+ addStep({
1069
+ type: SSOStepTypeType.SETUP_FULL,
1070
+ config: {
1071
+ phone,
1072
+ userInfo: userInfo === null || userInfo === void 0 ? void 0 : userInfo._data,
1073
+ },
1074
+ });
1075
+ goNext();
1004
1076
  }
1005
- // check if really need setup
1006
- const noNeedSetup = ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo._data) === null || _a === void 0 ? void 0 : _a.id) &&
1007
- userInfo._data.phone &&
1008
- userInfo._data.phone_verified_at &&
1009
- userInfo._data.email &&
1010
- // userInfo._data.email_verified_at &&
1011
- !userInfo._data.email.includes('@hhg.com') &&
1012
- userInfo._data.name &&
1013
- userInfo._data.birthday &&
1014
- (typeof userInfo._data.gender === 'number' ||
1015
- typeof userInfo._data.gender === 'string');
1016
- if (noNeedSetup) {
1017
- onClose === null || onClose === void 0 ? void 0 : onClose(true);
1018
- return;
1077
+ else if (afterAction === 'submitSetup') {
1078
+ const res = yield updateUserInfo(Object.assign(Object.assign({}, setupData), { validate: '' }));
1079
+ if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1080
+ handleAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
1081
+ onClose === null || onClose === void 0 ? void 0 : onClose(true);
1082
+ }
1083
+ else {
1084
+ // log error
1085
+ setError(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1086
+ }
1019
1087
  }
1020
- addStep({
1021
- type: SSOStepTypeType.SETUP_FULL,
1022
- config: {
1023
- phone,
1024
- userInfo: userInfo === null || userInfo === void 0 ? void 0 : userInfo._data,
1025
- },
1026
- });
1027
- goNext();
1028
- }
1029
- else if (afterAction === 'submitSetup') {
1030
- const res = yield updateUserInfo(Object.assign(Object.assign({}, setupData), { validate: '' }));
1031
- if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1032
- handleAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
1033
- onClose === null || onClose === void 0 ? void 0 : onClose(true);
1088
+ else if (afterAction === 'update-email') {
1089
+ addStep({
1090
+ type: SSOStepTypeType.UPDATE_EMAIL,
1091
+ });
1092
+ goNext();
1034
1093
  }
1035
1094
  else {
1036
- // log error
1037
- setError(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1095
+ onClose === null || onClose === void 0 ? void 0 : onClose(true);
1038
1096
  }
1039
1097
  }
1040
- else if (afterAction === 'update-email') {
1041
- addStep({
1042
- type: SSOStepTypeType.UPDATE_EMAIL,
1043
- });
1044
- goNext();
1045
- }
1046
1098
  else {
1047
- onClose === null || onClose === void 0 ? void 0 : onClose(true);
1099
+ // log error
1100
+ setError(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1048
1101
  }
1102
+ return setLoading(false);
1049
1103
  }
1050
- else {
1104
+ let res;
1105
+ if (otpType === 'phone-sms') {
1106
+ res = yield verifyByPhoneOTP(phoneNumber, areaCode, otp);
1107
+ }
1108
+ else if (otpType === 'phone-zalo') {
1109
+ res = yield verifyByZaloOTP(phoneNumber, areaCode, otp);
1110
+ }
1111
+ else if (otpType === 'email') {
1112
+ res = yield verifyByEmailOTP(email, otp);
1113
+ }
1114
+ else if (otpType === 'update-email') {
1115
+ res = yield verifyUpdateEmailOTP(otp);
1116
+ }
1117
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1118
+ setOtp('');
1051
1119
  // log error
1052
1120
  setError(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1121
+ return setLoading(false);
1053
1122
  }
1054
- return;
1055
- }
1056
- let res;
1057
- if (otpType === 'phone-sms') {
1058
- res = yield verifyByPhoneOTP(phoneNumber, areaCode, otp);
1059
- }
1060
- else if (otpType === 'phone-zalo') {
1061
- res = yield verifyByZaloOTP(phoneNumber, areaCode, otp);
1062
- }
1063
- else if (otpType === 'email') {
1064
- res = yield verifyByEmailOTP(email, otp);
1065
- }
1066
- else if (otpType === 'update-email') {
1067
- res = yield verifyUpdateEmailOTP(otp);
1068
- }
1069
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1070
- setOtp('');
1071
- // log error
1072
- setError(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1073
- return;
1074
- }
1075
- handleAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
1076
- // if (otpType === 'update-email') {
1077
- // onClose?.(true)
1078
- // return
1079
- // }
1080
- if (afterAction === 'forgot') {
1081
- addStep({
1082
- type: SSOStepTypeType.FORGOT_PASSWORD_SETUP,
1083
- });
1084
- goNext();
1085
- }
1086
- else if (afterAction === 'setup') {
1087
- const userInfo = yield getUserInfo();
1088
- if ((userInfo === null || userInfo === void 0 ? void 0 : userInfo._status) !== 1) {
1089
- // log error
1090
- setError(getErrorTextFromCode(t, userInfo === null || userInfo === void 0 ? void 0 : userInfo.code));
1091
- return;
1123
+ handleAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
1124
+ // if (otpType === 'update-email') {
1125
+ // onClose?.(true)
1126
+ // return
1127
+ // }
1128
+ if (afterAction === 'forgot') {
1129
+ addStep({
1130
+ type: SSOStepTypeType.FORGOT_PASSWORD_SETUP,
1131
+ });
1132
+ goNext();
1092
1133
  }
1093
- // check if really need setup
1094
- const noNeedSetup = ((_b = userInfo === null || userInfo === void 0 ? void 0 : userInfo._data) === null || _b === void 0 ? void 0 : _b.id) &&
1095
- userInfo._data.phone &&
1096
- userInfo._data.phone_verified_at &&
1097
- userInfo._data.email &&
1098
- // userInfo._data.email_verified_at &&
1099
- !userInfo._data.email.includes('@hhg.com') &&
1100
- userInfo._data.name &&
1101
- userInfo._data.birthday &&
1102
- (typeof userInfo._data.gender === 'number' ||
1103
- typeof userInfo._data.gender === 'string');
1104
- if (noNeedSetup) {
1134
+ else if (afterAction === 'setup') {
1135
+ const userInfo = yield getUserInfo();
1136
+ if ((userInfo === null || userInfo === void 0 ? void 0 : userInfo._status) !== 1) {
1137
+ // log error
1138
+ setError(getErrorTextFromCode(t, userInfo === null || userInfo === void 0 ? void 0 : userInfo.code));
1139
+ return setLoading(false);
1140
+ }
1141
+ // check if really need setup
1142
+ const noNeedSetup = ((_b = userInfo === null || userInfo === void 0 ? void 0 : userInfo._data) === null || _b === void 0 ? void 0 : _b.id) &&
1143
+ userInfo._data.phone &&
1144
+ userInfo._data.phone_verified_at &&
1145
+ userInfo._data.email &&
1146
+ // userInfo._data.email_verified_at &&
1147
+ !userInfo._data.email.includes('@hhg.com') &&
1148
+ userInfo._data.name &&
1149
+ userInfo._data.birthday &&
1150
+ (typeof userInfo._data.gender === 'number' ||
1151
+ typeof userInfo._data.gender === 'string');
1152
+ if (noNeedSetup) {
1153
+ onClose === null || onClose === void 0 ? void 0 : onClose(true);
1154
+ return setLoading(false);
1155
+ }
1156
+ addStep({
1157
+ type: SSOStepTypeType.SETUP_FULL,
1158
+ config: {
1159
+ phone,
1160
+ userInfo: userInfo === null || userInfo === void 0 ? void 0 : userInfo._data,
1161
+ },
1162
+ });
1163
+ goNext();
1164
+ }
1165
+ else if (afterAction === 'update-email') {
1166
+ addStep({
1167
+ type: SSOStepTypeType.UPDATE_EMAIL,
1168
+ });
1169
+ goNext();
1170
+ }
1171
+ else {
1105
1172
  onClose === null || onClose === void 0 ? void 0 : onClose(true);
1106
- return;
1107
1173
  }
1108
- addStep({
1109
- type: SSOStepTypeType.SETUP_FULL,
1110
- config: {
1111
- phone,
1112
- userInfo: userInfo === null || userInfo === void 0 ? void 0 : userInfo._data,
1113
- },
1114
- });
1115
- goNext();
1116
- }
1117
- else if (afterAction === 'update-email') {
1118
- addStep({
1119
- type: SSOStepTypeType.UPDATE_EMAIL,
1120
- });
1121
- goNext();
1122
1174
  }
1123
- else {
1124
- onClose === null || onClose === void 0 ? void 0 : onClose(true);
1175
+ catch (e) {
1176
+ console.error(e);
1177
+ setError(getErrorTextFromCode(t, ''));
1125
1178
  }
1179
+ setLoading(false);
1126
1180
  });
1127
1181
  const swapZaloSms = () => __awaiter(void 0, void 0, void 0, function* () {
1128
1182
  if (isEmail)
1129
1183
  return;
1130
- const { areaCode, phoneNumber } = splitPhone(phone);
1131
- const newType = otpType === 'phone-sms' ? 'phone-zalo' : 'phone-sms';
1132
- let res;
1133
- if (newType === 'phone-sms') {
1134
- res = yield resendPhoneOTP(phoneNumber, areaCode);
1135
- }
1136
- else {
1137
- res = yield resendZaloOTP(phoneNumber, areaCode);
1184
+ setLoading(true);
1185
+ try {
1186
+ const { areaCode, phoneNumber } = splitPhone(phone);
1187
+ const newType = otpType === 'phone-sms' ? 'phone-zalo' : 'phone-sms';
1188
+ let res;
1189
+ if (newType === 'phone-sms') {
1190
+ res = yield resendPhoneOTP(phoneNumber, areaCode);
1191
+ }
1192
+ else {
1193
+ res = yield resendZaloOTP(phoneNumber, areaCode);
1194
+ }
1195
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1196
+ setError(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1197
+ return setLoading(false);
1198
+ }
1199
+ setSteps((s) => s.map((step, i) => i === currentStepIndex
1200
+ ? Object.assign(Object.assign({}, step), { config: Object.assign(Object.assign({}, step.config), { otpType: newType }) }) : step));
1138
1201
  }
1139
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1140
- setError(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1141
- return;
1202
+ catch (e) {
1203
+ console.error(e);
1204
+ setError(getErrorTextFromCode(t, ''));
1142
1205
  }
1143
- setSteps((s) => s.map((step, i) => i === currentStepIndex
1144
- ? Object.assign(Object.assign({}, step), { config: Object.assign(Object.assign({}, step.config), { otpType: newType }) }) : step));
1206
+ setLoading(false);
1145
1207
  });
1146
1208
  const [resendTime, setResendTime] = React__default.useState(30);
1147
1209
  const setupResendTimer = () => {
@@ -1183,7 +1245,10 @@ const SSOOTPScreen = ({ hidden, index, }) => {
1183
1245
  } }))),
1184
1246
  React__default.createElement(Stack, { mt: 24, spacing: 8 },
1185
1247
  React__default.createElement(Input.Wrapper, { error: error },
1186
- React__default.createElement(OTP, { value: otp, onChange: (otp) => setOtp(String(otp)) })),
1248
+ React__default.createElement(OTP, { value: otp, onChange: (otp) => {
1249
+ setOtp(String(otp));
1250
+ setError('');
1251
+ } })),
1187
1252
  React__default.createElement(Group, { spacing: 8, align: "center", style: {
1188
1253
  height: 40,
1189
1254
  } },
@@ -1194,8 +1259,8 @@ const SSOOTPScreen = ({ hidden, index, }) => {
1194
1259
  }, size: "s4", color: "blue.6", onClick: () => sendOTPCode(true) }, t('ssov2.otp.resendText', {
1195
1260
  count: resendTime,
1196
1261
  })))),
1197
- React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", mt: 12, fullWidth: true }, t('ssov2.button.continue')),
1198
- !isEmail && (React__default.createElement(Button, { size: "lg", variant: "tertiary", mt: 12, onClick: swapZaloSms, fullWidth: true }, t('ssov2.otp.sendVia', {
1262
+ React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", mt: 12, fullWidth: true, disabled: loading, loading: loading }, t('ssov2.button.continue')),
1263
+ !isEmail && (React__default.createElement(Button, { size: "lg", variant: "tertiary", mt: 12, onClick: swapZaloSms, fullWidth: true, disabled: loading, loading: loading }, t('ssov2.otp.sendVia', {
1199
1264
  method: otpType === 'phone-sms' ? 'Zalo' : 'SMS',
1200
1265
  })))));
1201
1266
  };
@@ -1205,42 +1270,51 @@ const SSOPasswordScreen = ({ hidden, index, }) => {
1205
1270
  const { t } = useTranslations();
1206
1271
  const { onClose } = useSSOState();
1207
1272
  const [errMsg, setErrMsg] = React__default.useState('');
1273
+ const [loading, setLoading] = React__default.useState(false);
1208
1274
  const { steps, addStep, goNext, setShareData } = useSSOSteps();
1209
1275
  const thisStep = steps[index];
1210
1276
  const phone = (_a = thisStep === null || thisStep === void 0 ? void 0 : thisStep.config) === null || _a === void 0 ? void 0 : _a.phone;
1211
1277
  const email = (_b = thisStep === null || thisStep === void 0 ? void 0 : thisStep.config) === null || _b === void 0 ? void 0 : _b.email;
1212
1278
  const resetPassword = () => __awaiter(void 0, void 0, void 0, function* () {
1213
1279
  var _c;
1214
- if (phone) {
1215
- addStep({
1216
- type: SSOStepTypeType.FORGOT_PASSWORD_PHONE,
1217
- });
1218
- }
1219
- else {
1220
- const existRes = yield checkUserExist({ email });
1221
- if ((existRes === null || existRes === void 0 ? void 0 : existRes._status) === 1) {
1222
- let res;
1223
- if (!((_c = existRes._data) === null || _c === void 0 ? void 0 : _c.provider)) {
1224
- res = yield registerBySendEmailOTP(email);
1225
- }
1226
- else {
1227
- res = yield resendEmailOTP(email);
1228
- }
1229
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1230
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1231
- return;
1232
- }
1280
+ setLoading(true);
1281
+ try {
1282
+ if (phone) {
1233
1283
  addStep({
1234
- type: SSOStepTypeType.OTP,
1235
- config: {
1236
- email,
1237
- otpType: 'email',
1238
- afterAction: 'forgot',
1239
- },
1284
+ type: SSOStepTypeType.FORGOT_PASSWORD_PHONE,
1240
1285
  });
1241
1286
  }
1287
+ else {
1288
+ const existRes = yield checkUserExist({ email });
1289
+ if ((existRes === null || existRes === void 0 ? void 0 : existRes._status) === 1) {
1290
+ let res;
1291
+ if (!((_c = existRes._data) === null || _c === void 0 ? void 0 : _c.provider)) {
1292
+ res = yield registerBySendEmailOTP(email);
1293
+ }
1294
+ else {
1295
+ res = yield resendEmailOTP(email);
1296
+ }
1297
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1298
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1299
+ return setLoading(false);
1300
+ }
1301
+ addStep({
1302
+ type: SSOStepTypeType.OTP,
1303
+ config: {
1304
+ email,
1305
+ otpType: 'email',
1306
+ afterAction: 'forgot',
1307
+ },
1308
+ });
1309
+ }
1310
+ }
1311
+ goNext();
1242
1312
  }
1243
- goNext();
1313
+ catch (e) {
1314
+ setErrMsg(getErrorTextFromCode(t, ''));
1315
+ console.error(e);
1316
+ }
1317
+ setLoading(false);
1244
1318
  });
1245
1319
  const onAuthSuccess = (data) => __awaiter(void 0, void 0, void 0, function* () {
1246
1320
  var _d, _e;
@@ -1263,39 +1337,32 @@ const SSOPasswordScreen = ({ hidden, index, }) => {
1263
1337
  });
1264
1338
  return (React__default.createElement("form", { style: {
1265
1339
  display: hidden ? 'none' : 'block',
1266
- }, onSubmit: (e) => {
1340
+ }, onSubmit: (e) => __awaiter(void 0, void 0, void 0, function* () {
1267
1341
  e.preventDefault();
1268
- const password = e.currentTarget.password.value;
1269
- // call api to login with email and password, if fail then show error
1270
- if (phone) {
1271
- loginByPhonePassword(phone, password)
1272
- .then((res) => {
1273
- if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1274
- onAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
1275
- }
1276
- else {
1277
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1278
- }
1279
- })
1280
- .catch(() => {
1281
- setErrMsg(getErrorTextFromCode(t, ''));
1282
- });
1342
+ setLoading(true);
1343
+ try {
1344
+ const password = e.currentTarget.password.value;
1345
+ // call api to login with email and password, if fail then show error
1346
+ let res;
1347
+ if (phone) {
1348
+ res = yield loginByPhonePassword(phone, password);
1349
+ }
1350
+ else {
1351
+ res = yield loginByEmailPassword(email, password);
1352
+ }
1353
+ if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1354
+ yield onAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
1355
+ }
1356
+ else {
1357
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1358
+ }
1283
1359
  }
1284
- else {
1285
- loginByEmailPassword(email, password)
1286
- .then((res) => {
1287
- if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1288
- onAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
1289
- }
1290
- else {
1291
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1292
- }
1293
- })
1294
- .catch(() => {
1295
- setErrMsg(getErrorTextFromCode(t, ''));
1296
- });
1360
+ catch (e) {
1361
+ setErrMsg(getErrorTextFromCode(t, ''));
1362
+ console.error(e);
1297
1363
  }
1298
- } },
1364
+ setLoading(false);
1365
+ }) },
1299
1366
  React__default.createElement(Stack, { spacing: 8 },
1300
1367
  React__default.createElement(Text, { size: "s1", weight: "semiBold" },
1301
1368
  t('ssov2.password.title1'),
@@ -1303,7 +1370,7 @@ const SSOPasswordScreen = ({ hidden, index, }) => {
1303
1370
  t('ssov2.password.title2')),
1304
1371
  React__default.createElement(Text, { size: "p4" }, t('ssov2.password.description'))),
1305
1372
  React__default.createElement(Stack, { mt: 24, spacing: 8 },
1306
- React__default.createElement(PasswordInput, { name: "password", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u", error: errMsg || undefined, onChange: () => setErrMsg('') }),
1373
+ React__default.createElement(PasswordInput, { name: "password", placeholder: "Nh\u1EADp m\u1EADt kh\u1EA9u", error: errMsg || undefined, onChange: () => setErrMsg(''), disabled: loading, required: true }),
1307
1374
  React__default.createElement(Group, { spacing: 8, align: "center", style: {
1308
1375
  height: 40,
1309
1376
  } },
@@ -1311,90 +1378,107 @@ const SSOPasswordScreen = ({ hidden, index, }) => {
1311
1378
  React__default.createElement(Text, { size: "s4", color: "blue.6", style: {
1312
1379
  cursor: 'pointer',
1313
1380
  }, onClick: resetPassword }, t('ssov2.password.reset')))),
1314
- React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", mt: 12, fullWidth: true }, t('ssov2.password.signIn'))));
1381
+ React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", mt: 12, fullWidth: true, disabled: loading, loading: loading }, t('ssov2.password.signIn'))));
1315
1382
  };
1316
1383
 
1317
1384
  const SSOPasswordForgotPhone = ({ hidden, }) => {
1318
1385
  const { t } = useTranslations();
1319
1386
  const [phone, setPhone] = React__default.useState('');
1320
1387
  const [errMsg, setErrMsg] = React__default.useState('');
1388
+ const [loading, setLoading] = React__default.useState(false);
1321
1389
  const { locale } = useSSOState();
1322
1390
  const { addStep, goNext, setShareData } = useSSOSteps();
1323
1391
  const onClickContinueZalo = () => __awaiter(void 0, void 0, void 0, function* () {
1324
1392
  var _a;
1325
- const { areaCode, phoneNumber } = splitPhone(phone);
1326
- if (!areaCode || !phoneNumber || !phone) {
1327
- setErrMsg(t('ssov2.validate.phone.required'));
1328
- return;
1329
- }
1330
- const userExist = yield checkUserExist({ phone: phoneNumber });
1331
- if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
1332
- setShareData({
1333
- authMethod: 'phone',
1334
- });
1335
- let res;
1336
- if (!((_a = userExist._data) === null || _a === void 0 ? void 0 : _a.provider)) {
1337
- res = yield registerBySendZaloOTP(phoneNumber, areaCode);
1393
+ setLoading(true);
1394
+ try {
1395
+ const { areaCode, phoneNumber } = splitPhone(phone);
1396
+ if (!areaCode || !phoneNumber || !phone) {
1397
+ setErrMsg(t('ssov2.validate.phone.required'));
1398
+ return setLoading(false);
1338
1399
  }
1339
- else {
1340
- res = yield resendZaloOTP(phoneNumber, areaCode);
1400
+ const userExist = yield checkUserExist({ phone: phoneNumber });
1401
+ if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
1402
+ setShareData({
1403
+ authMethod: 'phone',
1404
+ });
1405
+ let res;
1406
+ if (!((_a = userExist._data) === null || _a === void 0 ? void 0 : _a.provider)) {
1407
+ res = yield registerBySendZaloOTP(phoneNumber, areaCode);
1408
+ }
1409
+ else {
1410
+ res = yield resendZaloOTP(phoneNumber, areaCode);
1411
+ }
1412
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1413
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1414
+ return setLoading(false);
1415
+ }
1416
+ setShareData((a) => (Object.assign(Object.assign({}, a), { authFlow: 'register' })));
1417
+ addStep({
1418
+ type: SSOStepTypeType.OTP,
1419
+ config: {
1420
+ phone,
1421
+ otpType: 'phone-zalo',
1422
+ afterAction: 'forgot',
1423
+ },
1424
+ });
1425
+ goNext();
1341
1426
  }
1342
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1343
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1344
- return;
1427
+ else {
1428
+ setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
1345
1429
  }
1346
- setShareData((a) => (Object.assign(Object.assign({}, a), { authFlow: 'register' })));
1347
- addStep({
1348
- type: SSOStepTypeType.OTP,
1349
- config: {
1350
- phone,
1351
- otpType: 'phone-zalo',
1352
- afterAction: 'forgot',
1353
- },
1354
- });
1355
- goNext();
1356
1430
  }
1357
- else {
1358
- setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
1431
+ catch (e) {
1432
+ console.error(e);
1433
+ setErrMsg(getErrorTextFromCode(t, ''));
1359
1434
  }
1435
+ setLoading(false);
1360
1436
  });
1361
1437
  const onClickContinuePhone = () => __awaiter(void 0, void 0, void 0, function* () {
1362
1438
  var _b;
1363
- const { areaCode, phoneNumber } = splitPhone(phone);
1364
- if (!areaCode || !phoneNumber || !phone) {
1365
- setErrMsg(t('ssov2.validate.phone.required'));
1366
- return;
1367
- }
1368
- const userExist = yield checkUserExist({ phone: phoneNumber });
1369
- if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
1370
- setShareData({
1371
- authMethod: 'phone',
1372
- });
1373
- let res;
1374
- if (!((_b = userExist._data) === null || _b === void 0 ? void 0 : _b.provider)) {
1375
- res = yield registerBySendPhoneOTP(phoneNumber, areaCode);
1439
+ setLoading(true);
1440
+ try {
1441
+ const { areaCode, phoneNumber } = splitPhone(phone);
1442
+ if (!areaCode || !phoneNumber || !phone) {
1443
+ setErrMsg(t('ssov2.validate.phone.required'));
1444
+ return setLoading(false);
1376
1445
  }
1377
- else {
1378
- res = yield resendPhoneOTP(phoneNumber, areaCode);
1446
+ const userExist = yield checkUserExist({ phone: phoneNumber });
1447
+ if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
1448
+ setShareData({
1449
+ authMethod: 'phone',
1450
+ });
1451
+ let res;
1452
+ if (!((_b = userExist._data) === null || _b === void 0 ? void 0 : _b.provider)) {
1453
+ res = yield registerBySendPhoneOTP(phoneNumber, areaCode);
1454
+ }
1455
+ else {
1456
+ res = yield resendPhoneOTP(phoneNumber, areaCode);
1457
+ }
1458
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1459
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1460
+ return setLoading(false);
1461
+ }
1462
+ setShareData((a) => (Object.assign(Object.assign({}, a), { authFlow: 'register' })));
1463
+ addStep({
1464
+ type: SSOStepTypeType.OTP,
1465
+ config: {
1466
+ phone,
1467
+ otpType: 'phone-sms',
1468
+ afterAction: 'forgot',
1469
+ },
1470
+ });
1471
+ goNext();
1379
1472
  }
1380
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1381
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1382
- return;
1473
+ else {
1474
+ setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
1383
1475
  }
1384
- setShareData((a) => (Object.assign(Object.assign({}, a), { authFlow: 'register' })));
1385
- addStep({
1386
- type: SSOStepTypeType.OTP,
1387
- config: {
1388
- phone,
1389
- otpType: 'phone-sms',
1390
- afterAction: 'forgot',
1391
- },
1392
- });
1393
- goNext();
1394
1476
  }
1395
- else {
1396
- setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
1477
+ catch (e) {
1478
+ console.error(e);
1479
+ setErrMsg(getErrorTextFromCode(t, ''));
1397
1480
  }
1481
+ setLoading(false);
1398
1482
  });
1399
1483
  return (React__default.createElement("div", { style: {
1400
1484
  display: hidden ? 'none' : 'block',
@@ -1403,10 +1487,10 @@ const SSOPasswordForgotPhone = ({ hidden, }) => {
1403
1487
  React__default.createElement(Text, { size: "s1", weight: "semiBold" }, t('ssov2.resetPassword.title')),
1404
1488
  React__default.createElement(Text, { size: "p4" }, t('ssov2.resetPassword.description'))),
1405
1489
  React__default.createElement(Stack, { mt: 24, spacing: 16 },
1406
- React__default.createElement(StyledPhone, { defaultCountry: (locale ? MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone, onChange: (value) => setPhone(value), isError: !!errMsg, required: true }),
1490
+ React__default.createElement(StyledPhone, { defaultCountry: (locale ? MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone, onChange: (value) => setPhone(value), isError: !!errMsg, required: true, disabled: loading }),
1407
1491
  errMsg && (React__default.createElement(Text, { size: "label2", color: "red.6", mt: -12 }, errMsg)),
1408
- React__default.createElement(Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo }, t('ssov2.button.continueZalo')),
1409
- React__default.createElement(Button, { size: "lg", variant: "secondary", onClick: onClickContinuePhone }, t('ssov2.button.continueSMS')))));
1492
+ React__default.createElement(Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo, disabled: loading, loading: loading }, t('ssov2.button.continueZalo')),
1493
+ React__default.createElement(Button, { size: "lg", variant: "secondary", onClick: onClickContinuePhone, disabled: loading, loading: loading }, t('ssov2.button.continueSMS')))));
1410
1494
  };
1411
1495
 
1412
1496
  const CheckGrayIcon = () => (React__default.createElement("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
@@ -1417,7 +1501,7 @@ const CheckRedIcon = () => (React__default.createElement("svg", { width: "16", h
1417
1501
  React__default.createElement("path", { d: "m8.001 8.703 2.049 2.048q.138.14.348.142a.47.47 0 0 0 .355-.142.48.48 0 0 0 .145-.35.48.48 0 0 0-.145-.352L8.703 8l2.05-2.049a.48.48 0 0 0 .141-.348.47.47 0 0 0-.141-.354.48.48 0 0 0-.352-.145.48.48 0 0 0-.351.145L8.001 7.298l-2.048-2.05a.48.48 0 0 0-.349-.14.47.47 0 0 0-.354.14.48.48 0 0 0-.145.352q0 .207.145.351l2.049 2.05-2.049 2.048a.48.48 0 0 0-.142.348.47.47 0 0 0 .142.354.48.48 0 0 0 .351.145.48.48 0 0 0 .352-.145zm.001 5.63a6.2 6.2 0 0 1-2.47-.498 6.4 6.4 0 0 1-2.011-1.354 6.4 6.4 0 0 1-1.354-2.01A6.2 6.2 0 0 1 1.668 8q0-1.315.499-2.47A6.4 6.4 0 0 1 3.52 3.52a6.4 6.4 0 0 1 2.01-1.354 6.2 6.2 0 0 1 2.47-.5q1.314 0 2.47.5 1.156.498 2.012 1.353.855.855 1.354 2.01.499 1.156.499 2.47t-.499 2.47a6.4 6.4 0 0 1-1.354 2.011 6.4 6.4 0 0 1-2.01 1.355 6.2 6.2 0 0 1-2.47.498", fill: "#F44D2C" })));
1418
1502
 
1419
1503
  const SSOPasswordWithConfirm = (_a) => {
1420
- var { form } = _a, props = __rest(_a, ["form"]);
1504
+ var { form, loading } = _a, props = __rest(_a, ["form", "loading"]);
1421
1505
  const { t } = useTranslations();
1422
1506
  const [atLeast8Chars, setAtLeast8Chars] = React__default.useState(undefined);
1423
1507
  const [atLeastOneUpper, setAtLeastOneUpper] = React__default.useState(undefined);
@@ -1429,7 +1513,10 @@ const SSOPasswordWithConfirm = (_a) => {
1429
1513
  setAtLeastOneUpper(!!password.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/));
1430
1514
  }, [password]);
1431
1515
  return (React__default.createElement(Stack, Object.assign({ spacing: 12 }, props),
1432
- React__default.createElement(PasswordInput, Object.assign({ name: "password", placeholder: t('ssov2.passwordForgotSetup.field.password.placeholder'), label: t('ssov2.passwordForgotSetup.field.password.label'), required: true, withAsterisk: true }, form.getInputProps('password'))),
1516
+ React__default.createElement(PasswordInput, Object.assign({ name: "password", placeholder: t('ssov2.passwordForgotSetup.field.password.placeholder'), label: t('ssov2.passwordForgotSetup.field.password.label'), required: true, withAsterisk: true }, form.getInputProps('password'), { onBlur: (e) => {
1517
+ form.getInputProps('password').onBlur(e);
1518
+ form.values.confirmPassword && form.validateField('confirmPassword');
1519
+ }, disabled: loading })),
1433
1520
  React__default.createElement(Stack, { spacing: 8 },
1434
1521
  React__default.createElement(Text, { size: "n1" },
1435
1522
  atLeast8Chars ? (React__default.createElement(CheckGreenIcon, null)) : typeof atLeast8Chars === 'undefined' ? (React__default.createElement(CheckGrayIcon, null)) : (React__default.createElement(CheckRedIcon, null)),
@@ -1439,11 +1526,13 @@ const SSOPasswordWithConfirm = (_a) => {
1439
1526
  atLeastOneUpper ? (React__default.createElement(CheckGreenIcon, null)) : typeof atLeastOneUpper === 'undefined' ? (React__default.createElement(CheckGrayIcon, null)) : (React__default.createElement(CheckRedIcon, null)),
1440
1527
  ' ',
1441
1528
  t('ssov2.passwordForgotSetup.field.password.atLeastOneUpper'))),
1442
- React__default.createElement(PasswordInput, Object.assign({ name: "confirm-password", placeholder: t('ssov2.passwordForgotSetup.field.passwordConfirm.placeholder'), label: t('ssov2.passwordForgotSetup.field.passwordConfirm.label'), required: true, withAsterisk: true }, form.getInputProps('confirmPassword')))));
1529
+ React__default.createElement(PasswordInput, Object.assign({ name: "confirm-password", placeholder: t('ssov2.passwordForgotSetup.field.passwordConfirm.placeholder'), label: t('ssov2.passwordForgotSetup.field.passwordConfirm.label'), required: true, withAsterisk: true, disabled: loading }, form.getInputProps('confirmPassword')))));
1443
1530
  };
1444
1531
 
1445
1532
  const SSOPasswordForgotSetup = ({ hidden }) => {
1446
1533
  const { t } = useTranslations();
1534
+ const [loading, setLoading] = React__default.useState(false);
1535
+ const [errMsg, setErrMsg] = React__default.useState('');
1447
1536
  const { steps, setSteps, goBack, currentStepIndex, addStep, goNext } = useSSOSteps();
1448
1537
  const form = useForm({
1449
1538
  validate: yupResolver(yup.object().shape({
@@ -1462,43 +1551,48 @@ const SSOPasswordForgotSetup = ({ hidden }) => {
1462
1551
  })),
1463
1552
  });
1464
1553
  const onSubmit = (values) => __awaiter(void 0, void 0, void 0, function* () {
1465
- const { password, confirmPassword } = values;
1466
- if (password.length >= 8 &&
1467
- password.length <= 50 &&
1468
- password.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/) &&
1469
- password === confirmPassword) {
1470
- const res = yield resetPassword(password, confirmPassword);
1471
- if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1472
- showNotification({
1473
- type: 'success',
1474
- message: 'Password has been reset successfully',
1475
- });
1476
- // back to login step
1477
- const foundPasswordIndex = steps.findIndex((step) => step.type === SSOStepTypeType.PASSWORD);
1478
- const foundPasswordStep = steps.find((step) => step.type === SSOStepTypeType.PASSWORD);
1479
- if (foundPasswordIndex === -1 || !foundPasswordStep) {
1480
- // reset to first step
1481
- setSteps((s) => [s[0]]);
1482
- }
1483
- else {
1484
- const diffIndex = currentStepIndex - foundPasswordIndex;
1485
- for (let i = 0; i < diffIndex; i++) {
1554
+ setLoading(true);
1555
+ try {
1556
+ const { password, confirmPassword } = values;
1557
+ if (password.length >= 8 &&
1558
+ password.length <= 50 &&
1559
+ password.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/) &&
1560
+ password === confirmPassword) {
1561
+ const res = yield resetPassword(password, confirmPassword);
1562
+ if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1563
+ showNotification({
1564
+ type: 'success',
1565
+ message: 'Password has been reset successfully',
1566
+ });
1567
+ // back to login step
1568
+ const foundPasswordIndex = steps.findIndex((step) => step.type === SSOStepTypeType.PASSWORD);
1569
+ const foundPasswordStep = steps.find((step) => step.type === SSOStepTypeType.PASSWORD);
1570
+ if (foundPasswordIndex === -1 || !foundPasswordStep) {
1571
+ // reset to first step
1572
+ setSteps((s) => [s[0]]);
1573
+ }
1574
+ else {
1575
+ const diffIndex = currentStepIndex - foundPasswordIndex;
1576
+ for (let i = 0; i < diffIndex; i++) {
1577
+ goBack();
1578
+ }
1486
1579
  goBack();
1580
+ addStep(foundPasswordStep);
1581
+ goNext();
1487
1582
  }
1488
- goBack();
1489
- addStep(foundPasswordStep);
1490
- goNext();
1583
+ // onClose?.()
1584
+ }
1585
+ else {
1586
+ // toast error message
1587
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1491
1588
  }
1492
- // onClose?.()
1493
- }
1494
- else {
1495
- // toast error message
1496
- showNotification({
1497
- type: 'danger',
1498
- message: getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code),
1499
- });
1500
1589
  }
1501
1590
  }
1591
+ catch (e) {
1592
+ console.error(e);
1593
+ setErrMsg(getErrorTextFromCode(t, e === null || e === void 0 ? void 0 : e.code));
1594
+ }
1595
+ setLoading(false);
1502
1596
  });
1503
1597
  return (React__default.createElement("form", { style: {
1504
1598
  display: hidden ? 'none' : 'block',
@@ -1507,83 +1601,101 @@ const SSOPasswordForgotSetup = ({ hidden }) => {
1507
1601
  React__default.createElement(Stack, { spacing: 8 },
1508
1602
  React__default.createElement(Text, { size: "s1", weight: "semiBold" }, t('ssov2.passwordForgotSetup.title')),
1509
1603
  React__default.createElement(Text, { size: "p4" }, t('ssov2.passwordForgotSetup.description'))),
1510
- React__default.createElement(SSOPasswordWithConfirm, { form: form }),
1511
- React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", fullWidth: true }, t('ssov2.button.save')))));
1604
+ React__default.createElement(SSOPasswordWithConfirm, { form: form, loading: loading }),
1605
+ errMsg && (React__default.createElement(Text, { size: "label2", color: "red.6", mt: -12 }, errMsg)),
1606
+ React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", fullWidth: true, disabled: loading, loading: loading }, t('ssov2.button.save')))));
1512
1607
  };
1513
1608
 
1514
1609
  const SSOPhoneVerify = ({ hidden, index, }) => {
1515
1610
  const { t } = useTranslations();
1516
1611
  const [phone, setPhone] = React__default.useState('');
1612
+ const [loading, setLoading] = React__default.useState(false);
1517
1613
  const [errMsg, setErrMsg] = React__default.useState('');
1518
1614
  const { locale } = useSSOState();
1519
1615
  const { addStep, goNext, steps } = useSSOSteps();
1520
1616
  const currentStep = steps[index];
1521
1617
  const { afterAction } = (currentStep === null || currentStep === void 0 ? void 0 : currentStep.config) || {};
1522
1618
  const onClickContinueZalo = () => __awaiter(void 0, void 0, void 0, function* () {
1523
- const { areaCode, phoneNumber } = splitPhone(phone);
1524
- if (!areaCode || !phoneNumber || !phone) {
1525
- setErrMsg(t('ssov2.validate.phone.required'));
1526
- return;
1527
- }
1528
- const userExist = yield checkUserExist({ phone: phoneNumber });
1529
- if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
1530
- if (!userExist._data) {
1531
- const res = yield resendUpdatePhoneZaloOTP(phoneNumber, areaCode);
1532
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1533
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1534
- return;
1619
+ setLoading(true);
1620
+ try {
1621
+ const { areaCode, phoneNumber } = splitPhone(phone);
1622
+ if (!areaCode || !phoneNumber || !phone) {
1623
+ setErrMsg(t('ssov2.validate.phone.required'));
1624
+ return setLoading(false);
1625
+ }
1626
+ const userExist = yield checkUserExist({ phone: phoneNumber });
1627
+ if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
1628
+ if (!userExist._data) {
1629
+ const res = yield resendUpdatePhoneZaloOTP(phoneNumber, areaCode);
1630
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1631
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1632
+ return setLoading(false);
1633
+ }
1634
+ addStep({
1635
+ type: SSOStepTypeType.OTP,
1636
+ config: {
1637
+ phone,
1638
+ otpType: 'phone-zalo',
1639
+ isUpdatePhone: true,
1640
+ afterAction: afterAction || 'setup',
1641
+ },
1642
+ });
1643
+ goNext();
1644
+ }
1645
+ else {
1646
+ setErrMsg(t('ssov2.phone.alreadyUsed'));
1535
1647
  }
1536
- addStep({
1537
- type: SSOStepTypeType.OTP,
1538
- config: {
1539
- phone,
1540
- otpType: 'phone-zalo',
1541
- isUpdatePhone: true,
1542
- afterAction: afterAction || 'setup',
1543
- },
1544
- });
1545
- goNext();
1546
1648
  }
1547
1649
  else {
1548
- setErrMsg(t('ssov2.phone.alreadyUsed'));
1650
+ setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
1549
1651
  }
1550
1652
  }
1551
- else {
1552
- setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
1653
+ catch (e) {
1654
+ console.log(e);
1655
+ setErrMsg(getErrorTextFromCode(t, ''));
1553
1656
  }
1657
+ setLoading(false);
1554
1658
  });
1555
1659
  const onClickContinuePhone = () => __awaiter(void 0, void 0, void 0, function* () {
1556
- const { areaCode, phoneNumber } = splitPhone(phone);
1557
- if (!areaCode || !phoneNumber || !phone) {
1558
- setErrMsg(t('ssov2.validate.phone.required'));
1559
- return;
1560
- }
1561
- const userExist = yield checkUserExist({ phone: phoneNumber });
1562
- if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
1563
- if (!userExist._data) {
1564
- const res = yield resendUpdatePhoneOTP(phoneNumber, areaCode);
1565
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1566
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1567
- return;
1660
+ setLoading(true);
1661
+ try {
1662
+ const { areaCode, phoneNumber } = splitPhone(phone);
1663
+ if (!areaCode || !phoneNumber || !phone) {
1664
+ setErrMsg(t('ssov2.validate.phone.required'));
1665
+ return setLoading(false);
1666
+ }
1667
+ const userExist = yield checkUserExist({ phone: phoneNumber });
1668
+ if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
1669
+ if (!userExist._data) {
1670
+ const res = yield resendUpdatePhoneOTP(phoneNumber, areaCode);
1671
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1672
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1673
+ return setLoading(false);
1674
+ }
1675
+ addStep({
1676
+ type: SSOStepTypeType.OTP,
1677
+ config: {
1678
+ phone,
1679
+ otpType: 'phone-sms',
1680
+ isUpdatePhone: true,
1681
+ afterAction: afterAction || 'setup',
1682
+ },
1683
+ });
1684
+ goNext();
1685
+ }
1686
+ else {
1687
+ setErrMsg(t('ssov2.phone.alreadyUsed'));
1568
1688
  }
1569
- addStep({
1570
- type: SSOStepTypeType.OTP,
1571
- config: {
1572
- phone,
1573
- otpType: 'phone-sms',
1574
- isUpdatePhone: true,
1575
- afterAction: afterAction || 'setup',
1576
- },
1577
- });
1578
- goNext();
1579
1689
  }
1580
1690
  else {
1581
- setErrMsg(t('ssov2.phone.alreadyUsed'));
1691
+ setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
1582
1692
  }
1583
1693
  }
1584
- else {
1585
- setErrMsg(getErrorTextFromCode(t, userExist === null || userExist === void 0 ? void 0 : userExist.code));
1694
+ catch (e) {
1695
+ console.log(e);
1696
+ setErrMsg(getErrorTextFromCode(t, ''));
1586
1697
  }
1698
+ setLoading(false);
1587
1699
  });
1588
1700
  return (React__default.createElement("div", { style: {
1589
1701
  display: hidden ? 'none' : 'block',
@@ -1594,9 +1706,12 @@ const SSOPhoneVerify = ({ hidden, index, }) => {
1594
1706
  React__default.createElement(Text, { size: "p4" }, t('ssov2.phoneVerify.description'))),
1595
1707
  React__default.createElement(Stack, { spacing: 16 },
1596
1708
  React__default.createElement(Input.Wrapper, { error: errMsg },
1597
- React__default.createElement(StyledPhone, { defaultCountry: (locale ? MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone, onChange: (value) => setPhone(value), isError: !!errMsg, required: true, name: "phone" })),
1598
- React__default.createElement(Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo }, t('ssov2.button.continueZalo')),
1599
- React__default.createElement(Button, { size: "lg", variant: "secondary", onClick: onClickContinuePhone }, t('ssov2.button.continueSMS'))))));
1709
+ React__default.createElement(StyledPhone, { defaultCountry: (locale ? MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone, onChange: (value) => {
1710
+ setPhone(value);
1711
+ setErrMsg('');
1712
+ }, isError: !!errMsg, required: true, name: "phone", disabled: loading })),
1713
+ React__default.createElement(Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo, disabled: loading, loading: loading }, t('ssov2.button.continueZalo')),
1714
+ React__default.createElement(Button, { size: "lg", variant: "secondary", onClick: onClickContinuePhone, disabled: loading, loading: loading }, t('ssov2.button.continueSMS'))))));
1600
1715
  };
1601
1716
 
1602
1717
  const FemaleIcon = () => (React__default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
@@ -1629,7 +1744,7 @@ const MaleIcon = () => (React__default.createElement("svg", { width: "20", heigh
1629
1744
  React__default.createElement("path", { d: "m11.12 9.547-.019.001a8 8 0 0 1-1.928 0 .156.156 0 1 0-.037.31c.665.08 1.337.08 2.003 0a.156.156 0 0 0-.019-.31", fill: "#D84023" })));
1630
1745
 
1631
1746
  // always has name, gender dob
1632
- const OtherSetup = ({ form, needPhone, needEmail, isEmailDisable, }) => {
1747
+ const OtherSetup = ({ form, needPhone, needEmail, isEmailDisable, loading, }) => {
1633
1748
  const { t } = useTranslations();
1634
1749
  const { locale = 'vi-VN' } = useSSOState();
1635
1750
  const { setupSource } = useSSOV2Store();
@@ -1638,7 +1753,7 @@ const OtherSetup = ({ form, needPhone, needEmail, isEmailDisable, }) => {
1638
1753
  React__default.createElement(Input.Wrapper, Object.assign({ label: t('ssov2.setup.field.phone.label'), withAsterisk: true }, form.getInputProps('phone')),
1639
1754
  React__default.createElement(StyledPhone, { defaultCountry: (locale ? MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: form.getInputProps('phone').value, onChange: (value) => {
1640
1755
  form.setFieldValue('phone', value);
1641
- }, isError: !!form.getInputProps('phone').error, required: true, name: "phone" })),
1756
+ }, isError: !!form.getInputProps('phone').error, required: true, name: "phone", disabled: loading })),
1642
1757
  React__default.createElement(Group, { spacing: 24 },
1643
1758
  React__default.createElement(Text, { size: "p4" }, t('ssov2.setup.field.otp.label')),
1644
1759
  React__default.createElement(Radio.Group, Object.assign({ name: "otpMethod", styles: {
@@ -1653,14 +1768,14 @@ const OtherSetup = ({ form, needPhone, needEmail, isEmailDisable, }) => {
1653
1768
  label: {
1654
1769
  paddingLeft: 8,
1655
1770
  },
1656
- } }),
1771
+ }, disabled: loading }),
1657
1772
  React__default.createElement(Radio, { value: "sms", label: "SMS", styles: {
1658
1773
  label: {
1659
1774
  paddingLeft: 8,
1660
1775
  },
1661
- } }))))),
1662
- needEmail && (React__default.createElement(Input, Object.assign({ name: "email", type: "email", label: t('ssov2.setup.field.email.label'), disabled: isEmailDisable, required: setupSource === 'care' ? true : false, withAsterisk: setupSource === 'care' ? true : false }, form.getInputProps('email')))),
1663
- React__default.createElement(Input, Object.assign({ name: "name", label: t('ssov2.setup.field.name.label'), withAsterisk: true, required: true, placeholder: t('ssov2.setup.field.name.placeholder') }, form.getInputProps('name'))),
1776
+ }, disabled: loading }))))),
1777
+ needEmail && (React__default.createElement(Input, Object.assign({ name: "email", type: "email", label: t('ssov2.setup.field.email.label'), disabled: isEmailDisable || loading, required: setupSource === 'care' ? true : false, withAsterisk: setupSource === 'care' ? true : false }, form.getInputProps('email')))),
1778
+ React__default.createElement(Input, Object.assign({ name: "name", label: t('ssov2.setup.field.name.label'), withAsterisk: true, required: true, placeholder: t('ssov2.setup.field.name.placeholder'), disabled: loading }, form.getInputProps('name'))),
1664
1779
  React__default.createElement(Input.Wrapper, Object.assign({ label: t('ssov2.setup.field.gender.label'), withAsterisk: true }, form.getInputProps('gender')),
1665
1780
  React__default.createElement(Group, null,
1666
1781
  React__default.createElement(Button, { type: "button", styles: {
@@ -1677,7 +1792,7 @@ const OtherSetup = ({ form, needPhone, needEmail, isEmailDisable, }) => {
1677
1792
  ? 'secondary'
1678
1793
  : 'tertiary', onClick: () => {
1679
1794
  form.setFieldValue('gender', 'female');
1680
- }, leftIcon: React__default.createElement(FemaleIcon, null) }, t('ssov2.setup.field.gender.female')),
1795
+ }, leftIcon: React__default.createElement(FemaleIcon, null), disabled: loading }, t('ssov2.setup.field.gender.female')),
1681
1796
  React__default.createElement(Button, { type: "button", styles: {
1682
1797
  root: {
1683
1798
  flex: 1,
@@ -1692,8 +1807,8 @@ const OtherSetup = ({ form, needPhone, needEmail, isEmailDisable, }) => {
1692
1807
  ? 'secondary'
1693
1808
  : 'tertiary', onClick: () => {
1694
1809
  form.setFieldValue('gender', 'male');
1695
- }, leftIcon: React__default.createElement(MaleIcon, null) }, t('ssov2.setup.field.gender.male')))),
1696
- React__default.createElement(DatePicker, Object.assign({ name: "dob", label: t('ssov2.setup.field.dob.label'), withAsterisk: true, required: true, placeholder: t('ssov2.setup.field.dob.placeholder'), maxDate: new Date() }, form.getInputProps('dob')))));
1810
+ }, leftIcon: React__default.createElement(MaleIcon, null), disabled: loading }, t('ssov2.setup.field.gender.male')))),
1811
+ React__default.createElement(DatePicker, Object.assign({ name: "dob", label: t('ssov2.setup.field.dob.label'), withAsterisk: true, required: true, placeholder: t('ssov2.setup.field.dob.placeholder'), maxDate: new Date(), disabled: loading }, form.getInputProps('dob')))));
1697
1812
  };
1698
1813
 
1699
1814
  const SSOSetupScreen = ({ hidden, index, }) => {
@@ -1703,6 +1818,7 @@ const SSOSetupScreen = ({ hidden, index, }) => {
1703
1818
  const { goNext, steps, addStep, shareData } = useSSOSteps();
1704
1819
  const { setupSource } = useSSOV2Store();
1705
1820
  const [errMsg, setErrMsg] = React__default.useState('');
1821
+ const [loading, setLoading] = React__default.useState(false);
1706
1822
  const currentStep = steps[index];
1707
1823
  const config = currentStep === null || currentStep === void 0 ? void 0 : currentStep.config;
1708
1824
  const userInfo = config === null || config === void 0 ? void 0 : config.userInfo;
@@ -1781,100 +1897,108 @@ const SSOSetupScreen = ({ hidden, index, }) => {
1781
1897
  .oneOf(['male', 'female'], t('ssov2.validate.gender.oneOf')), dob: yup.date().required(t('ssov2.validate.dob.required')), name: yup.string().required(t('ssov2.validate.name.required')) }))),
1782
1898
  });
1783
1899
  const onSubmit = (values) => __awaiter(void 0, void 0, void 0, function* () {
1784
- const { password, confirmPassword, phone, gender, name, dob, otpMethod } = values;
1785
- const { phoneNumber, areaCode } = splitPhone(phone || configPhone || '');
1786
- // validate only, delay set data to after otp
1787
- const res = yield updateUserInfo({
1788
- name,
1789
- birthday: dayjs(dob).format('YYYY-MM-DD'),
1790
- email: values.email || undefined,
1791
- password,
1792
- confirm_password: confirmPassword,
1793
- phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
1794
- area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code) || '84',
1795
- gender: gender === 'male' ? 1 : 0,
1796
- source: setupSource,
1797
- validate: 'true',
1798
- });
1799
- if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1800
- // if need phone and has phone then start phone verify step, close after done
1801
- if (needPhone) {
1802
- const setupData = {
1803
- name,
1804
- birthday: dayjs(dob).format('YYYY-MM-DD'),
1805
- email: values.email || undefined,
1806
- password,
1807
- confirm_password: confirmPassword,
1808
- phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
1809
- area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code) || '84',
1810
- gender: gender === 'male' ? 1 : 0,
1811
- source: setupSource,
1812
- };
1813
- if (otpMethod === 'zalo') {
1814
- const res = yield resendUpdatePhoneZaloOTP(phoneNumber, areaCode);
1815
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1816
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1817
- return;
1900
+ setLoading(true);
1901
+ try {
1902
+ const { password, confirmPassword, phone, gender, name, dob, otpMethod } = values;
1903
+ const { phoneNumber, areaCode } = splitPhone(phone || configPhone || '');
1904
+ // validate only, delay set data to after otp
1905
+ const res = yield updateUserInfo({
1906
+ name,
1907
+ birthday: dayjs(dob).format('YYYY-MM-DD'),
1908
+ email: values.email || undefined,
1909
+ password,
1910
+ confirm_password: confirmPassword,
1911
+ phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
1912
+ area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code) || '84',
1913
+ gender: gender === 'male' ? 1 : 0,
1914
+ source: setupSource,
1915
+ validate: 'true',
1916
+ });
1917
+ if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1918
+ // if need phone and has phone then start phone verify step, close after done
1919
+ if (needPhone) {
1920
+ const setupData = {
1921
+ name,
1922
+ birthday: dayjs(dob).format('YYYY-MM-DD'),
1923
+ email: values.email || undefined,
1924
+ password,
1925
+ confirm_password: confirmPassword,
1926
+ phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
1927
+ area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code) || '84',
1928
+ gender: gender === 'male' ? 1 : 0,
1929
+ source: setupSource,
1930
+ };
1931
+ if (otpMethod === 'zalo') {
1932
+ const res = yield resendUpdatePhoneZaloOTP(phoneNumber, areaCode);
1933
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1934
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1935
+ return setLoading(false);
1936
+ }
1937
+ addStep({
1938
+ type: SSOStepTypeType.OTP,
1939
+ config: {
1940
+ phone,
1941
+ otpType: 'phone-zalo',
1942
+ isUpdatePhone: true,
1943
+ afterAction: 'submitSetup',
1944
+ setupData,
1945
+ },
1946
+ });
1947
+ goNext();
1948
+ }
1949
+ else {
1950
+ const res = yield resendUpdatePhoneOTP(phoneNumber, areaCode);
1951
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1952
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1953
+ return setLoading(false);
1954
+ }
1955
+ addStep({
1956
+ type: SSOStepTypeType.OTP,
1957
+ config: {
1958
+ phone,
1959
+ otpType: 'phone-sms',
1960
+ isUpdatePhone: true,
1961
+ afterAction: 'submitSetup',
1962
+ setupData,
1963
+ },
1964
+ });
1965
+ goNext();
1818
1966
  }
1819
- addStep({
1820
- type: SSOStepTypeType.OTP,
1821
- config: {
1822
- phone,
1823
- otpType: 'phone-zalo',
1824
- isUpdatePhone: true,
1825
- afterAction: 'submitSetup',
1826
- setupData,
1827
- },
1828
- });
1829
- goNext();
1830
1967
  }
1831
1968
  else {
1832
- const res = yield resendUpdatePhoneOTP(phoneNumber, areaCode);
1833
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1969
+ // close?
1970
+ const res = yield updateUserInfo({
1971
+ name,
1972
+ birthday: dayjs(dob).format('YYYY-MM-DD'),
1973
+ email: values.email || undefined,
1974
+ password,
1975
+ confirm_password: confirmPassword,
1976
+ phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
1977
+ area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code),
1978
+ gender: gender === 'male' ? 1 : 0,
1979
+ source: setupSource,
1980
+ validate: '',
1981
+ });
1982
+ if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1983
+ handleAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
1984
+ onClose === null || onClose === void 0 ? void 0 : onClose(true);
1985
+ }
1986
+ else {
1834
1987
  setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1835
- return;
1988
+ return setLoading(false);
1836
1989
  }
1837
- addStep({
1838
- type: SSOStepTypeType.OTP,
1839
- config: {
1840
- phone,
1841
- otpType: 'phone-sms',
1842
- isUpdatePhone: true,
1843
- afterAction: 'submitSetup',
1844
- setupData,
1845
- },
1846
- });
1847
- goNext();
1848
1990
  }
1849
1991
  }
1850
1992
  else {
1851
- // close?
1852
- const res = yield updateUserInfo({
1853
- name,
1854
- birthday: dayjs(dob).format('YYYY-MM-DD'),
1855
- email: values.email || undefined,
1856
- password,
1857
- confirm_password: confirmPassword,
1858
- phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
1859
- area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code),
1860
- gender: gender === 'male' ? 1 : 0,
1861
- source: setupSource,
1862
- validate: '',
1863
- });
1864
- if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
1865
- handleAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
1866
- onClose === null || onClose === void 0 ? void 0 : onClose(true);
1867
- }
1868
- else {
1869
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1870
- return;
1871
- }
1993
+ // toast error message
1994
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1872
1995
  }
1873
1996
  }
1874
- else {
1875
- // toast error message
1876
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1997
+ catch (e) {
1998
+ console.error(e);
1999
+ setErrMsg(getErrorTextFromCode(t, ''));
1877
2000
  }
2001
+ setLoading(false);
1878
2002
  });
1879
2003
  return (React__default.createElement("form", { style: {
1880
2004
  display: hidden ? 'none' : 'block',
@@ -1883,10 +2007,10 @@ const SSOSetupScreen = ({ hidden, index, }) => {
1883
2007
  React__default.createElement(Stack, { spacing: 8 },
1884
2008
  React__default.createElement(Text, { size: "s1", weight: "semiBold" }, t('ssov2.setup.title')),
1885
2009
  React__default.createElement(Text, { size: "p4" }, t('ssov2.setup.description'))),
1886
- needPass && React__default.createElement(SSOPasswordWithConfirm, { form: form }),
1887
- React__default.createElement(OtherSetup, { needPhone: needPhone, needEmail: needEmail, isEmailDisable: isEmailDisable, form: form }),
2010
+ needPass && (React__default.createElement(SSOPasswordWithConfirm, { form: form, loading: loading })),
2011
+ React__default.createElement(OtherSetup, { needPhone: needPhone, needEmail: needEmail, isEmailDisable: isEmailDisable, form: form, loading: loading }),
1888
2012
  errMsg && (React__default.createElement(Text, { color: "red.6", size: "p4" }, errMsg)),
1889
- React__default.createElement(Button, { type: "submit", variant: "primary", fullWidth: true }, needPhone
2013
+ React__default.createElement(Button, { type: "submit", variant: "primary", fullWidth: true, loading: loading, disabled: loading }, needPhone
1890
2014
  ? t('ssov2.setup.button.veriyPhone')
1891
2015
  : authFlow === 'register'
1892
2016
  ? t('ssov2.setup.button.createAccount')
@@ -1897,46 +2021,57 @@ const SSOUpdateEmailScreen = ({ hidden, }) => {
1897
2021
  const { t } = useTranslations();
1898
2022
  const [errMsg, setErrMsg] = React__default.useState('');
1899
2023
  const { addStep, goNext, setShareData } = useSSOSteps();
2024
+ const [loading, setLoading] = React__default.useState(false);
1900
2025
  return (React__default.createElement("form", { style: {
1901
2026
  display: hidden ? 'none' : 'block',
1902
2027
  }, onSubmit: (e) => __awaiter(void 0, void 0, void 0, function* () {
1903
2028
  e.preventDefault();
1904
- const email = e.currentTarget.email.value;
1905
- const existRes = yield checkUserExist({ email });
1906
- if ((existRes === null || existRes === void 0 ? void 0 : existRes._status) === 1) {
1907
- if (!existRes._data) {
1908
- setShareData({
1909
- authMethod: 'mail',
1910
- authFlow: 'verify-mail',
1911
- });
1912
- const res = yield initSendUpdateEmailOtp(email);
1913
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
1914
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
1915
- return;
2029
+ if (loading)
2030
+ return;
2031
+ setLoading(true);
2032
+ try {
2033
+ const email = e.currentTarget.email.value;
2034
+ const existRes = yield checkUserExist({ email });
2035
+ if ((existRes === null || existRes === void 0 ? void 0 : existRes._status) === 1) {
2036
+ if (!existRes._data) {
2037
+ setShareData({
2038
+ authMethod: 'mail',
2039
+ authFlow: 'verify-mail',
2040
+ });
2041
+ const res = yield initSendUpdateEmailOtp(email);
2042
+ if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
2043
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
2044
+ return setLoading(false);
2045
+ }
2046
+ addStep({
2047
+ type: SSOStepTypeType.OTP,
2048
+ config: {
2049
+ email,
2050
+ otpType: 'update-email',
2051
+ afterAction: 'setup',
2052
+ },
2053
+ });
2054
+ goNext();
2055
+ }
2056
+ else {
2057
+ setErrMsg(t('ssov2.email.alreadyUsed'));
1916
2058
  }
1917
- addStep({
1918
- type: SSOStepTypeType.OTP,
1919
- config: {
1920
- email,
1921
- otpType: 'update-email',
1922
- afterAction: 'setup',
1923
- },
1924
- });
1925
- goNext();
1926
2059
  }
1927
2060
  else {
1928
- setErrMsg(t('ssov2.email.alreadyUsed'));
2061
+ setErrMsg(getErrorTextFromCode(t, existRes === null || existRes === void 0 ? void 0 : existRes.code));
1929
2062
  }
1930
2063
  }
1931
- else {
1932
- setErrMsg(getErrorTextFromCode(t, existRes === null || existRes === void 0 ? void 0 : existRes.code));
2064
+ catch (e) {
2065
+ setErrMsg(getErrorTextFromCode(t, ''));
2066
+ console.error(e);
1933
2067
  }
2068
+ setLoading(false);
1934
2069
  }) },
1935
2070
  React__default.createElement(Stack, { spacing: 8 },
1936
2071
  React__default.createElement(Text, { size: "s1", weight: "semiBold" }, t('ssov2.updateEmail.title')),
1937
2072
  React__default.createElement(Text, { size: "p4" }, t('ssov2.updateEmail.description'))),
1938
- React__default.createElement(Input, { name: "email", placeholder: "Email c\u1EE7a b\u1EA1n", error: errMsg || undefined, type: "email", required: true, mt: 24 }),
1939
- React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", fullWidth: true, mt: 16 }, t('ssov2.updateEmail.button'))));
2073
+ React__default.createElement(Input, { name: "email", placeholder: "Email c\u1EE7a b\u1EA1n", error: errMsg || undefined, type: "email", required: true, mt: 24, onChange: () => setErrMsg(''), disabled: loading }),
2074
+ React__default.createElement(Button, { type: "submit", size: "lg", variant: "primary", fullWidth: true, mt: 16, loading: loading, disabled: loading }, t('ssov2.updateEmail.button'))));
1940
2075
  };
1941
2076
 
1942
2077
  const SSOScreenRenderer = () => {