@hhgtech/hhg-components 1.29.311 → 1.29.313-beta-1

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 (518) hide show
  1. package/README.md +2 -0
  2. package/build/{LastPeriod-2107ce0b.js → LastPeriod-b507c884.js} +1 -1
  3. package/build/{MobileBottomNavigationIcon-2fa0dfec.js → MobileBottomNavigationIcon-d69086de.js} +3 -3
  4. package/build/{Spinner-5eeed23a.js → Spinner-5562c737.js} +1 -1
  5. package/build/{WhatsApp-93a9b026.js → WhatsApp-cd02e7e9.js} +1 -1
  6. package/build/adapters.js +19 -19
  7. package/build/atoms.js +46 -46
  8. package/build/babyGrowth.js +83 -83
  9. package/build/cache.js +2 -2
  10. package/build/care.js +17 -17
  11. package/build/careBookingSearchBar.js +14 -14
  12. package/build/careBookingSearchBarV2.js +15 -15
  13. package/build/components/mantine/modal/index.d.ts +2 -2
  14. package/build/components/mantine/phone/countrySelect.d.ts +1 -1
  15. package/build/components/mantine/phone/phoneWithCustomCountrySelect.d.ts +1 -0
  16. package/build/components.js +90 -90
  17. package/build/{constants-a3c59889.js → constants-5144c4b4.js} +1 -1
  18. package/build/constants.js +3 -3
  19. package/build/constantsDomainLocales.js +1 -1
  20. package/build/constantsRiskScreener.js +2 -2
  21. package/build/constantsSite.js +2 -2
  22. package/build/{core-ecc818f0.js → core-be7d1d0d.js} +1 -1
  23. package/build/{dataTransform-df350bff.js → dataTransform-e1fb5138.js} +1 -1
  24. package/build/ecom.js +4 -4
  25. package/build/{editor-40df96a9.js → editor-5972d7de.js} +11 -11
  26. package/build/embeddedHeathToolCards_babyGrowth.js +23 -23
  27. package/build/embeddedHeathToolCards_babyPoop.js +19 -19
  28. package/build/embeddedHeathToolCards_babyVaccine.js +22 -22
  29. package/build/embeddedHeathToolCards_bmi_bmi.js +25 -25
  30. package/build/embeddedHeathToolCards_bmrBmr.js +25 -25
  31. package/build/embeddedHeathToolCards_dueDate_dueDate.js +22 -22
  32. package/build/embeddedHeathToolCards_ovulation_ovulation.js +22 -22
  33. package/build/embeddedHeathToolCards_pwg_pwg.js +26 -26
  34. package/build/embeddedHeathToolCards_targetHeartRate.js +27 -27
  35. package/build/esm/{LastPeriod-e3951455.js → LastPeriod-a5ac12c2.js} +1 -1
  36. package/build/esm/{MobileBottomNavigationIcon-9216cca7.js → MobileBottomNavigationIcon-5a807d18.js} +3 -3
  37. package/build/esm/{Spinner-903430aa.js → Spinner-51be0186.js} +1 -1
  38. package/build/esm/{WhatsApp-a64943bc.js → WhatsApp-a184d272.js} +1 -1
  39. package/build/esm/adapters.js +19 -19
  40. package/build/esm/atoms.js +46 -46
  41. package/build/esm/babyGrowth.js +83 -83
  42. package/build/esm/cache.js +2 -2
  43. package/build/esm/care.js +17 -17
  44. package/build/esm/careBookingSearchBar.js +14 -14
  45. package/build/esm/careBookingSearchBarV2.js +15 -15
  46. package/build/esm/components/mantine/modal/index.d.ts +2 -2
  47. package/build/esm/components/mantine/phone/countrySelect.d.ts +1 -1
  48. package/build/esm/components/mantine/phone/phoneWithCustomCountrySelect.d.ts +1 -0
  49. package/build/esm/components.js +90 -90
  50. package/build/esm/{constants-79f4e640.js → constants-649cb778.js} +1 -1
  51. package/build/esm/constants.js +3 -3
  52. package/build/esm/constantsDomainLocales.js +1 -1
  53. package/build/esm/constantsRiskScreener.js +2 -2
  54. package/build/esm/constantsSite.js +2 -2
  55. package/build/esm/{core-1a9ff9e4.js → core-7d66d3c9.js} +1 -1
  56. package/build/esm/{dataTransform-c881832b.js → dataTransform-70805d45.js} +1 -1
  57. package/build/esm/ecom.js +4 -4
  58. package/build/esm/{editor-cf4bd5c2.js → editor-87fc1ea4.js} +11 -11
  59. package/build/esm/embeddedHeathToolCards_babyGrowth.js +23 -23
  60. package/build/esm/embeddedHeathToolCards_babyPoop.js +19 -19
  61. package/build/esm/embeddedHeathToolCards_babyVaccine.js +22 -22
  62. package/build/esm/embeddedHeathToolCards_bmi_bmi.js +25 -25
  63. package/build/esm/embeddedHeathToolCards_bmrBmr.js +25 -25
  64. package/build/esm/embeddedHeathToolCards_dueDate_dueDate.js +22 -22
  65. package/build/esm/embeddedHeathToolCards_ovulation_ovulation.js +22 -22
  66. package/build/esm/embeddedHeathToolCards_pwg_pwg.js +26 -26
  67. package/build/esm/embeddedHeathToolCards_targetHeartRate.js +27 -27
  68. package/build/esm/{fixedBottomAdBlock-46427068.js → fixedBottomAdBlock-f3fd6271.js} +24 -24
  69. package/build/esm/footer.js +21 -21
  70. package/build/esm/gAssets.js +2 -2
  71. package/build/esm/healthToolsCardWrapper.js +18 -18
  72. package/build/esm/healthToolsForm.js +33 -33
  73. package/build/esm/hooks.js +13 -13
  74. package/build/esm/i18n/translationKeys.d.ts +1 -1
  75. package/build/esm/i18n-values/en-PH.js +1 -0
  76. package/build/esm/i18n-values/hi-IN.js +1 -0
  77. package/build/esm/i18n-values/id-ID.js +1 -0
  78. package/build/esm/i18n-values/km-KH.js +2 -1
  79. package/build/esm/i18n-values/ms-MY.js +1 -0
  80. package/build/esm/i18n-values/my-MM.js +1 -0
  81. package/build/esm/i18n-values/th-TH.js +1 -0
  82. package/build/esm/i18n-values/tl-PH.js +1 -0
  83. package/build/esm/i18n-values/vi-VN.js +1 -0
  84. package/build/esm/i18n-values/vi-VN_MB.js +1 -0
  85. package/build/esm/i18n-values/zh-TW.js +1 -0
  86. package/build/esm/i18n.js +2 -2
  87. package/build/esm/i18nV2.js +2 -2
  88. package/build/esm/{index-a7f516ad.js → index-0760c921.js} +2 -2
  89. package/build/esm/{index-347f6319.js → index-0e4ba19d.js} +2 -2
  90. package/build/esm/{index-809fc2cb.js → index-15560079.js} +32 -32
  91. package/build/esm/{index-81f30b2c.js → index-1e2fb535.js} +6 -6
  92. package/build/esm/{index-6c43703a.js → index-26335a2a.js} +6 -6
  93. package/build/esm/{index-fa13fe6b.js → index-2ae53507.js} +1 -1
  94. package/build/esm/{index-10898fb6.js → index-2d92baf8.js} +15 -15
  95. package/build/esm/{index-c5c3e71e.js → index-2e8e27af.js} +2 -2
  96. package/build/esm/{index-e66f15e0.js → index-34c27c3b.js} +10 -10
  97. package/build/esm/{index-cdb8c87e.js → index-35a77f28.js} +1 -1
  98. package/build/esm/{index-cde9ca6c.js → index-3e663899.js} +18 -18
  99. package/build/esm/{index-d92ce05b.js → index-40570976.js} +17 -17
  100. package/build/esm/{index-85f514dd.js → index-48d360ad.js} +17 -17
  101. package/build/esm/{index-b4ead995.js → index-4aa69e87.js} +2 -2
  102. package/build/esm/{index-e33334d0.js → index-64952600.js} +2 -2
  103. package/build/esm/{index-148c8577.js → index-649fb34b.js} +5 -5
  104. package/build/esm/{index-7da61d52.js → index-64eccd4e.js} +2 -2
  105. package/build/esm/{index-630296c3.js → index-6597a3f5.js} +1 -1
  106. package/build/esm/{index-308d4854.js → index-68fd26e2.js} +3 -3
  107. package/build/esm/{index-2bf08a6b.js → index-6b43b997.js} +2 -2
  108. package/build/esm/{index-c5c4cd20.js → index-6be6a609.js} +6 -6
  109. package/build/esm/{index-ca0e9bf8.js → index-6e63ffb9.js} +16 -16
  110. package/build/esm/{index-189a9824.js → index-6eda6c0a.js} +3 -3
  111. package/build/esm/{index-2f27692b.js → index-6ff672fa.js} +13 -13
  112. package/build/esm/{index-88358d84.js → index-70a1bb1a.js} +13 -13
  113. package/build/esm/{index-78e5203a.js → index-70a8c9f9.js} +13 -13
  114. package/build/esm/{index-3d3d0613.js → index-741cab72.js} +2 -2
  115. package/build/esm/{index-be992c75.js → index-74d19a0c.js} +3 -3
  116. package/build/esm/{index-c85f723d.js → index-7db11b87.js} +15 -15
  117. package/build/esm/{index-8d5b7ebd.js → index-7fe777e3.js} +16 -16
  118. package/build/esm/{index-4cc596e0.js → index-86d74d75.js} +7 -7
  119. package/build/esm/{index-4c62f4db.js → index-89dec459.js} +6 -6
  120. package/build/esm/{index-75b8afb7.js → index-8a584799.js} +1 -1
  121. package/build/esm/{index-e6e1a986.js → index-8c2c61c5.js} +16 -16
  122. package/build/esm/{index-9e9fd42c.js → index-8debf657.js} +1 -1
  123. package/build/esm/{index-6bb36621.js → index-8feac2e3.js} +1 -1
  124. package/build/esm/{index-d291e7d4.js → index-92e174e4.js} +3 -3
  125. package/build/esm/{index-434b8921.js → index-9320823c.js} +21 -21
  126. package/build/esm/{index-41fff10e.js → index-9cd7d779.js} +3 -3
  127. package/build/esm/{index-0099b8f2.js → index-9e5d3098.js} +1 -1
  128. package/build/esm/{index-13f9bf44.js → index-9fd13b8a.js} +30 -30
  129. package/build/esm/{index-3afff570.js → index-a5700e3e.js} +18 -18
  130. package/build/esm/{index-6354b22f.js → index-abdd5b13.js} +3 -3
  131. package/build/esm/{index-1d64e6cf.js → index-b3edbdd9.js} +26 -26
  132. package/build/esm/{index-14bfa2c9.js → index-b5967e5a.js} +2 -2
  133. package/build/esm/{index-d5dc6344.js → index-bb9b4cc8.js} +2 -2
  134. package/build/esm/{index-340d1a01.js → index-c4b01341.js} +24 -24
  135. package/build/esm/{index-66c9c3c6.js → index-c8fbe699.js} +16 -16
  136. package/build/esm/{index-dd2caaea.js → index-ca191fc5.js} +4 -4
  137. package/build/esm/{index-b5a40899.js → index-d1717b80.js} +11 -11
  138. package/build/esm/{index-060736dd.js → index-dde94622.js} +7 -7
  139. package/build/esm/{index-ae56762e.js → index-e38f7526.js} +17 -17
  140. package/build/esm/{index-116f69cf.js → index-e51bad6d.js} +1 -1
  141. package/build/esm/{index-0fa8c9a5.js → index-e59af171.js} +5 -5
  142. package/build/esm/{index-0202ef16.js → index-f3ceed6e.js} +3 -3
  143. package/build/esm/{index-16e03c09.js → index-f4cde892.js} +2 -2
  144. package/build/esm/{index-53014194.js → index-f61fb7f3.js} +13 -13
  145. package/build/esm/{index-cf31f84c.js → index-f7203a54.js} +2 -2
  146. package/build/esm/{index-b6442a0d.js → index-fd294899.js} +20 -20
  147. package/build/esm/{index-4a13f41d.js → index-fe29a330.js} +1 -1
  148. package/build/esm/index.js +112 -112
  149. package/build/esm/interfaces/types/index.d.ts +1 -0
  150. package/build/esm/{labelSorting-76cf0104.js → labelSorting-9b37b0d6.js} +4 -4
  151. package/build/esm/lead/index.d.ts +3 -1
  152. package/build/esm/lead.js +25 -25
  153. package/build/esm/{logoIcon-90c6ed4d.js → logoIcon-c0e996da.js} +2 -2
  154. package/build/esm/mantine.js +25 -25
  155. package/build/esm/misc.js +16 -16
  156. package/build/esm/miscGetDynamicHealthTool.js +4 -4
  157. package/build/esm/miscGetSocialList.js +8 -8
  158. package/build/esm/miscScreenSizeContext.js +1 -1
  159. package/build/esm/mobileBottomNavigation.js +5 -5
  160. package/build/esm/mobileBottomNavigationIcon.js +5 -5
  161. package/build/esm/molecules.js +69 -69
  162. package/build/esm/moleculesArticleCard.js +6 -6
  163. package/build/esm/moleculesArticleCardV2.js +16 -16
  164. package/build/esm/navigation.js +40 -40
  165. package/build/esm/navigationLogoutPopup.js +9 -9
  166. package/build/esm/navigationProfileButton.js +23 -23
  167. package/build/esm/onboardingV2.js +29 -29
  168. package/build/esm/organisms.js +44 -44
  169. package/build/esm/{post-0c8fcb47.js → post-5f2dcee7.js} +2 -2
  170. package/build/esm/profileNavigation.js +19 -19
  171. package/build/esm/progressBar.js +1 -1
  172. package/build/esm/pwg.js +22 -22
  173. package/build/esm/ssoV2/api/index.d.ts +1 -1
  174. package/build/esm/ssoV2/api/paths.d.ts +1 -0
  175. package/build/esm/ssoV2/index.d.ts +8 -0
  176. package/build/esm/ssoV2/screens/components/progressBar.d.ts +15 -0
  177. package/build/esm/ssoV2/screens/components/progressBar.utils.d.ts +9 -0
  178. package/build/esm/ssoV2/screens/components/setupLater.d.ts +6 -0
  179. package/build/esm/ssoV2/screens/components/zalo.d.ts +6 -0
  180. package/build/esm/ssoV2/screens/setup/otherSetup.d.ts +1 -1
  181. package/build/esm/ssoV2/ssoStateManager/store.d.ts +14 -0
  182. package/build/esm/ssoV2.js +594 -304
  183. package/build/esm/{store-2a1b6eeb.js → store-c97a7b72.js} +42 -19
  184. package/build/esm/subot.js +33 -33
  185. package/build/esm/surveyOrPremiumBanner.js +31 -31
  186. package/build/esm/surveyQuestionCard.js +10 -10
  187. package/build/esm/{surveyThankyouCard-876d3fa8.js → surveyThankyouCard-4f4283df.js} +5 -5
  188. package/build/esm/together.js +53 -53
  189. package/build/esm/togetherApiUtils.js +4 -4
  190. package/build/esm/togetherAtoms.js +30 -30
  191. package/build/esm/togetherComponentGlobalContext.js +4 -4
  192. package/build/esm/togetherMolecules.js +48 -48
  193. package/build/esm/togetherMoleculesCardAuthor.js +27 -27
  194. package/build/esm/togetherMoleculesPostImagePreview.js +11 -11
  195. package/build/esm/togetherMoleculesProfileDetail.js +37 -37
  196. package/build/esm/togetherOrganisms.js +47 -47
  197. package/build/esm/togetherRichTextEditor.js +17 -17
  198. package/build/esm/togetherShareBox.js +10 -10
  199. package/build/esm/{treePopoverMenu-b567b402.js → treePopoverMenu-efaf6ef6.js} +19 -19
  200. package/build/esm/{types-98286e03.js → types-5a014d9e.js} +2 -2
  201. package/build/esm/types.js +2 -2
  202. package/build/esm/{useCategory-e9703fcc.js → useCategory-5586fd98.js} +5 -5
  203. package/build/esm/{useHealthToolCache-497b3113.js → useHealthToolCache-9b53d1dc.js} +1 -1
  204. package/build/esm/{useMantineLocale-bd1e758a.js → useMantineLocale-d719cece.js} +6 -6
  205. package/build/esm/{usePlacesAutocomplete-d6c6019b.js → usePlacesAutocomplete-dd73e88c.js} +1 -1
  206. package/build/esm/{useScreenSize-40c82c05.js → useScreenSize-ec9488ba.js} +2 -2
  207. package/build/esm/useTogetherAuthRequiredAction.js +9 -9
  208. package/build/esm/{utils-5f291626.js → utils-154d7c18.js} +2 -2
  209. package/build/esm/{utils-e5d33fe3.js → utils-339deebd.js} +2 -2
  210. package/build/esm/{utils-10430638.js → utils-f2f650b5.js} +3 -3
  211. package/build/esm/vaccination.js +21 -21
  212. package/build/{fixedBottomAdBlock-fb98a4e6.js → fixedBottomAdBlock-d11163cf.js} +24 -24
  213. package/build/footer.js +21 -21
  214. package/build/gAssets.js +2 -2
  215. package/build/healthToolsCardWrapper.js +18 -18
  216. package/build/healthToolsForm.js +33 -33
  217. package/build/hooks.js +13 -13
  218. package/build/i18n/translationKeys.d.ts +1 -1
  219. package/build/i18n-values/en-PH.js +1 -0
  220. package/build/i18n-values/hi-IN.js +1 -0
  221. package/build/i18n-values/id-ID.js +1 -0
  222. package/build/i18n-values/km-KH.js +2 -1
  223. package/build/i18n-values/ms-MY.js +1 -0
  224. package/build/i18n-values/my-MM.js +1 -0
  225. package/build/i18n-values/th-TH.js +1 -0
  226. package/build/i18n-values/tl-PH.js +1 -0
  227. package/build/i18n-values/vi-VN.js +1 -0
  228. package/build/i18n-values/vi-VN_MB.js +1 -0
  229. package/build/i18n-values/zh-TW.js +1 -0
  230. package/build/i18n.js +1 -1
  231. package/build/i18nV2.js +1 -1
  232. package/build/{index-46b2200b.js → index-00a80576.js} +16 -16
  233. package/build/{index-969cd112.js → index-045fe9d6.js} +11 -11
  234. package/build/{index-2baef874.js → index-06768359.js} +1 -1
  235. package/build/{index-76efb5fb.js → index-0b301a1a.js} +1 -1
  236. package/build/{index-e67c5ae1.js → index-152599c0.js} +1 -1
  237. package/build/{index-3c10fbfa.js → index-171f6c0b.js} +2 -2
  238. package/build/{index-4ee89043.js → index-1e629398.js} +3 -3
  239. package/build/{index-95ccdb7f.js → index-1eb974e2.js} +3 -3
  240. package/build/{index-23805e05.js → index-2b8b3216.js} +6 -6
  241. package/build/{index-286cce3b.js → index-31f7b614.js} +17 -17
  242. package/build/{index-9de29abf.js → index-39fb5e28.js} +16 -16
  243. package/build/{index-4b623617.js → index-3c5d5f30.js} +2 -2
  244. package/build/{index-ee69c925.js → index-3d06c3a5.js} +2 -2
  245. package/build/{index-90ab1ea7.js → index-402f8f5e.js} +3 -3
  246. package/build/{index-5874bcf9.js → index-46f19eb1.js} +6 -6
  247. package/build/{index-9e2d7c97.js → index-4b521427.js} +5 -5
  248. package/build/{index-1d6281f6.js → index-4d7cafe2.js} +1 -1
  249. package/build/{index-bfad3960.js → index-536bfd81.js} +2 -2
  250. package/build/{index-ad33b8f9.js → index-562970dd.js} +16 -16
  251. package/build/{index-9a625f5e.js → index-586afd16.js} +13 -13
  252. package/build/{index-3aec5aee.js → index-59858544.js} +2 -2
  253. package/build/{index-e208b34a.js → index-62cdb55a.js} +13 -13
  254. package/build/{index-e811fb10.js → index-65d47f96.js} +13 -13
  255. package/build/{index-e1e08c25.js → index-686dd591.js} +2 -2
  256. package/build/{index-89b71178.js → index-6c4f66ba.js} +3 -3
  257. package/build/{index-b6d27f9a.js → index-7c6796a2.js} +21 -21
  258. package/build/{index-96be67bf.js → index-81a908e6.js} +2 -2
  259. package/build/{index-c3785047.js → index-889fee34.js} +2 -2
  260. package/build/{index-8fc3d400.js → index-89fa2faa.js} +7 -7
  261. package/build/{index-0c5b5a40.js → index-8a2ef4de.js} +20 -20
  262. package/build/{index-1f9ad2eb.js → index-8d8e369e.js} +1 -1
  263. package/build/{index-4df71ee6.js → index-8edefd6c.js} +17 -17
  264. package/build/{index-9125292c.js → index-90f2794a.js} +3 -3
  265. package/build/{index-40771dad.js → index-a70c4fdb.js} +3 -3
  266. package/build/{index-188f5a1c.js → index-a7aeb365.js} +2 -2
  267. package/build/{index-53aa2337.js → index-a868c1c2.js} +15 -15
  268. package/build/{index-fd92c8a1.js → index-a870bcb7.js} +6 -6
  269. package/build/{index-e8747d65.js → index-af97f431.js} +13 -13
  270. package/build/{index-e649c3f8.js → index-b59054dc.js} +6 -6
  271. package/build/{index-d3872755.js → index-c682786d.js} +2 -2
  272. package/build/{index-34fe205a.js → index-ca0f608b.js} +10 -10
  273. package/build/{index-2551c303.js → index-cb6c8cd9.js} +1 -1
  274. package/build/{index-4f1ed7eb.js → index-cf457cd1.js} +2 -2
  275. package/build/{index-56fff3f2.js → index-d2e93c87.js} +1 -1
  276. package/build/{index-6089f95a.js → index-d9653d1a.js} +16 -16
  277. package/build/{index-55e75fea.js → index-dba4940d.js} +18 -18
  278. package/build/{index-6ee7fe98.js → index-dbea7439.js} +30 -30
  279. package/build/{index-c08747a6.js → index-de30f501.js} +26 -26
  280. package/build/{index-685db51a.js → index-e0032e99.js} +24 -24
  281. package/build/{index-95320aa8.js → index-e0ac43ae.js} +1 -1
  282. package/build/{index-4a04c1d8.js → index-e6d5eb02.js} +7 -7
  283. package/build/{index-ea370ff2.js → index-e7d5ec68.js} +17 -17
  284. package/build/{index-2e0023c8.js → index-e9cdd0ff.js} +15 -15
  285. package/build/{index-a834d49b.js → index-ead35dec.js} +3 -3
  286. package/build/{index-8aad4619.js → index-eb7cf902.js} +18 -18
  287. package/build/{index-99410d26.js → index-ec07d952.js} +2 -2
  288. package/build/{index-1e0434fd.js → index-f143d837.js} +5 -5
  289. package/build/{index-aef6ff34.js → index-f22365a5.js} +32 -32
  290. package/build/{index-606a09c0.js → index-f46b29a6.js} +1 -1
  291. package/build/{index-32f52199.js → index-f6800516.js} +4 -4
  292. package/build/index.js +112 -112
  293. package/build/interfaces/types/index.d.ts +1 -0
  294. package/build/{labelSorting-95a1a528.js → labelSorting-9c64df57.js} +4 -4
  295. package/build/lead/index.d.ts +3 -1
  296. package/build/lead.js +26 -24
  297. package/build/{logoIcon-e5bd7343.js → logoIcon-753519a3.js} +2 -2
  298. package/build/mantine.js +22 -22
  299. package/build/misc.js +16 -16
  300. package/build/miscGetDynamicHealthTool.js +4 -4
  301. package/build/miscGetSocialList.js +8 -8
  302. package/build/miscScreenSizeContext.js +1 -1
  303. package/build/mobileBottomNavigation.js +5 -5
  304. package/build/mobileBottomNavigationIcon.js +5 -5
  305. package/build/molecules.js +69 -69
  306. package/build/moleculesArticleCard.js +6 -6
  307. package/build/moleculesArticleCardV2.js +16 -16
  308. package/build/navigation.js +40 -40
  309. package/build/navigationLogoutPopup.js +9 -9
  310. package/build/navigationProfileButton.js +23 -23
  311. package/build/onboardingV2.js +28 -28
  312. package/build/organisms.js +44 -44
  313. package/build/{post-88476eaa.js → post-ca9f57f0.js} +2 -2
  314. package/build/profileNavigation.js +19 -19
  315. package/build/progressBar.js +1 -1
  316. package/build/pwg.js +22 -22
  317. package/build/ssoV2/api/index.d.ts +1 -1
  318. package/build/ssoV2/api/paths.d.ts +1 -0
  319. package/build/ssoV2/index.d.ts +8 -0
  320. package/build/ssoV2/screens/components/progressBar.d.ts +15 -0
  321. package/build/ssoV2/screens/components/progressBar.utils.d.ts +9 -0
  322. package/build/ssoV2/screens/components/setupLater.d.ts +6 -0
  323. package/build/ssoV2/screens/components/zalo.d.ts +6 -0
  324. package/build/ssoV2/screens/setup/otherSetup.d.ts +1 -1
  325. package/build/ssoV2/ssoStateManager/store.d.ts +14 -0
  326. package/build/ssoV2.js +590 -300
  327. package/build/{store-69bb3be7.js → store-9549ce58.js} +44 -18
  328. package/build/subot.js +32 -32
  329. package/build/surveyOrPremiumBanner.js +31 -31
  330. package/build/surveyQuestionCard.js +10 -10
  331. package/build/{surveyThankyouCard-56f0ae37.js → surveyThankyouCard-b24e6094.js} +5 -5
  332. package/build/together.js +53 -53
  333. package/build/togetherApiUtils.js +4 -4
  334. package/build/togetherAtoms.js +30 -30
  335. package/build/togetherComponentGlobalContext.js +4 -4
  336. package/build/togetherMolecules.js +48 -48
  337. package/build/togetherMoleculesCardAuthor.js +27 -27
  338. package/build/togetherMoleculesPostImagePreview.js +11 -11
  339. package/build/togetherMoleculesProfileDetail.js +37 -37
  340. package/build/togetherOrganisms.js +47 -47
  341. package/build/togetherRichTextEditor.js +17 -17
  342. package/build/togetherShareBox.js +10 -10
  343. package/build/{treePopoverMenu-87ca9b4c.js → treePopoverMenu-3e90a4cd.js} +19 -19
  344. package/build/{types-267e6ecb.js → types-45af02fd.js} +2 -2
  345. package/build/types.js +2 -2
  346. package/build/{useCategory-601dc682.js → useCategory-34c7076e.js} +5 -5
  347. package/build/{useHealthToolCache-fb8ea8e7.js → useHealthToolCache-a632736f.js} +1 -1
  348. package/build/{useMantineLocale-48052e4d.js → useMantineLocale-6fa1608c.js} +6 -6
  349. package/build/{usePlacesAutocomplete-32fb6ea6.js → usePlacesAutocomplete-4143e54b.js} +1 -1
  350. package/build/{useScreenSize-e56ada5a.js → useScreenSize-a1946b66.js} +2 -2
  351. package/build/useTogetherAuthRequiredAction.js +9 -9
  352. package/build/{utils-bc112548.js → utils-270e8215.js} +2 -2
  353. package/build/{utils-51039a43.js → utils-5826dc4f.js} +2 -2
  354. package/build/{utils-741b2173.js → utils-5dc1b399.js} +3 -3
  355. package/build/vaccination.js +21 -21
  356. package/package.json +1 -1
  357. /package/build/{BMI_BOYS.percentile.monthly-93d6990e.js → BMI_BOYS.percentile.monthly-a884e02d.js} +0 -0
  358. /package/build/{BMI_BOYS.percentile.weekly-9de93fe7.js → BMI_BOYS.percentile.weekly-fb2abbd8.js} +0 -0
  359. /package/build/{BMI_BOYS.percentile.yearly-a40e7b56.js → BMI_BOYS.percentile.yearly-9156b8ea.js} +0 -0
  360. /package/build/{BMI_BOYS.zscore.monthly-ba9026f5.js → BMI_BOYS.zscore.monthly-cbc1aca1.js} +0 -0
  361. /package/build/{BMI_BOYS.zscore.weekly-a7de23e7.js → BMI_BOYS.zscore.weekly-8d77bfab.js} +0 -0
  362. /package/build/{BMI_BOYS.zscore.yearly-1416c78c.js → BMI_BOYS.zscore.yearly-13444379.js} +0 -0
  363. /package/build/{BMI_GIRLS.percentile.monthly-4790fce8.js → BMI_GIRLS.percentile.monthly-9963af5b.js} +0 -0
  364. /package/build/{BMI_GIRLS.percentile.weekly-f929726a.js → BMI_GIRLS.percentile.weekly-a2a716b9.js} +0 -0
  365. /package/build/{BMI_GIRLS.percentile.yearly-4387c6c5.js → BMI_GIRLS.percentile.yearly-664d5c66.js} +0 -0
  366. /package/build/{BMI_GIRLS.zscore.monthly-4c264643.js → BMI_GIRLS.zscore.monthly-cded90b2.js} +0 -0
  367. /package/build/{BMI_GIRLS.zscore.weekly-a133bb6e.js → BMI_GIRLS.zscore.weekly-8232c588.js} +0 -0
  368. /package/build/{BMI_GIRLS.zscore.yearly-a0404db2.js → BMI_GIRLS.zscore.yearly-7a7495d4.js} +0 -0
  369. /package/build/{ChevronDown-aaa35ea2.js → ChevronDown-e762a3e5.js} +0 -0
  370. /package/build/{Close-6c6e9720.js → Close-46e8f185.js} +0 -0
  371. /package/build/{Google-10b046ef.js → Google-48b0994b.js} +0 -0
  372. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-f63b1535.js → HEAD CIRCUM_BOYS.percentile.monthly-e8a502b2.js} +0 -0
  373. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-5a387c89.js → HEAD CIRCUM_BOYS.percentile.weekly-9fb62093.js} +0 -0
  374. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-e257b63e.js → HEAD CIRCUM_BOYS.percentile.yearly-3f23c2b6.js} +0 -0
  375. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-2676a44b.js → HEAD CIRCUM_BOYS.zscore.monthly-51e30970.js} +0 -0
  376. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-4fee3b5b.js → HEAD CIRCUM_BOYS.zscore.weekly-466a0d05.js} +0 -0
  377. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-545e264d.js → HEAD CIRCUM_BOYS.zscore.yearly-7145e5ae.js} +0 -0
  378. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-ae0d3971.js → HEAD CIRCUM_GIRLS.percentile.monthly-687c6c5e.js} +0 -0
  379. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-b472028c.js → HEAD CIRCUM_GIRLS.percentile.weekly-719f1622.js} +0 -0
  380. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-7a362bfe.js → HEAD CIRCUM_GIRLS.percentile.yearly-bac02af6.js} +0 -0
  381. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-e48d6185.js → HEAD CIRCUM_GIRLS.zscore.monthly-c743e161.js} +0 -0
  382. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-8a9676c2.js → HEAD CIRCUM_GIRLS.zscore.weekly-bcb9413e.js} +0 -0
  383. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-d213569e.js → HEAD CIRCUM_GIRLS.zscore.yearly-9bf782e7.js} +0 -0
  384. /package/build/{HEIGHT_BOYS.percentile.monthly-57cf9281.js → HEIGHT_BOYS.percentile.monthly-83df762b.js} +0 -0
  385. /package/build/{HEIGHT_BOYS.percentile.weekly-155a877f.js → HEIGHT_BOYS.percentile.weekly-631c066b.js} +0 -0
  386. /package/build/{HEIGHT_BOYS.percentile.yearly-94b0bdeb.js → HEIGHT_BOYS.percentile.yearly-e5298975.js} +0 -0
  387. /package/build/{HEIGHT_BOYS.zscore.monthly-4d7065ee.js → HEIGHT_BOYS.zscore.monthly-f6a1a8c2.js} +0 -0
  388. /package/build/{HEIGHT_BOYS.zscore.weekly-cc0f3ef4.js → HEIGHT_BOYS.zscore.weekly-0e2c6eac.js} +0 -0
  389. /package/build/{HEIGHT_BOYS.zscore.yearly-1d12eeaa.js → HEIGHT_BOYS.zscore.yearly-08d68cb4.js} +0 -0
  390. /package/build/{HEIGHT_GIRLS.percentile.monthly-5af692bf.js → HEIGHT_GIRLS.percentile.monthly-b36b2c3d.js} +0 -0
  391. /package/build/{HEIGHT_GIRLS.percentile.weekly-82607a5b.js → HEIGHT_GIRLS.percentile.weekly-51ab6ace.js} +0 -0
  392. /package/build/{HEIGHT_GIRLS.percentile.yearly-1f188b70.js → HEIGHT_GIRLS.percentile.yearly-0f8e54e4.js} +0 -0
  393. /package/build/{HEIGHT_GIRLS.zscore.monthly-20f568c9.js → HEIGHT_GIRLS.zscore.monthly-cf0bd1be.js} +0 -0
  394. /package/build/{HEIGHT_GIRLS.zscore.weekly-351d9c9c.js → HEIGHT_GIRLS.zscore.weekly-4e7b8f9b.js} +0 -0
  395. /package/build/{HEIGHT_GIRLS.zscore.yearly-66277de4.js → HEIGHT_GIRLS.zscore.yearly-22a86cb8.js} +0 -0
  396. /package/build/{Locale-4c8042b0.js → Locale-2499969c.js} +0 -0
  397. /package/build/{Visible-fd04e5be.js → Visible-5789d8b3.js} +0 -0
  398. /package/build/{WEIGHT_BOYS.percentile.monthly-98d965cb.js → WEIGHT_BOYS.percentile.monthly-216cd59d.js} +0 -0
  399. /package/build/{WEIGHT_BOYS.percentile.weekly-8f8e8921.js → WEIGHT_BOYS.percentile.weekly-57b648aa.js} +0 -0
  400. /package/build/{WEIGHT_BOYS.percentile.yearly-154795f6.js → WEIGHT_BOYS.percentile.yearly-15997899.js} +0 -0
  401. /package/build/{WEIGHT_BOYS.zscore.monthly-d0519c13.js → WEIGHT_BOYS.zscore.monthly-531a41a7.js} +0 -0
  402. /package/build/{WEIGHT_BOYS.zscore.weekly-e1ead695.js → WEIGHT_BOYS.zscore.weekly-bca577e1.js} +0 -0
  403. /package/build/{WEIGHT_BOYS.zscore.yearly-2fe02df0.js → WEIGHT_BOYS.zscore.yearly-e9d655c4.js} +0 -0
  404. /package/build/{WEIGHT_GIRLS.percentile.monthly-3efc2d52.js → WEIGHT_GIRLS.percentile.monthly-868f1fbb.js} +0 -0
  405. /package/build/{WEIGHT_GIRLS.percentile.weekly-dc56f5bc.js → WEIGHT_GIRLS.percentile.weekly-f43cd5d6.js} +0 -0
  406. /package/build/{WEIGHT_GIRLS.percentile.yearly-7e0956b7.js → WEIGHT_GIRLS.percentile.yearly-92955051.js} +0 -0
  407. /package/build/{WEIGHT_GIRLS.zscore.monthly-cafaa82f.js → WEIGHT_GIRLS.zscore.monthly-972c5684.js} +0 -0
  408. /package/build/{WEIGHT_GIRLS.zscore.weekly-68994c02.js → WEIGHT_GIRLS.zscore.weekly-54cdbd08.js} +0 -0
  409. /package/build/{WEIGHT_GIRLS.zscore.yearly-2981a41f.js → WEIGHT_GIRLS.zscore.yearly-17ad5cf5.js} +0 -0
  410. /package/build/{animation-b507cd11.js → animation-f57b974d.js} +0 -0
  411. /package/build/{constants-2b28086d.js → constants-0635b13c.js} +0 -0
  412. /package/build/{constants-992b0578.js → constants-53c083f1.js} +0 -0
  413. /package/build/{constants-10359dd4.js → constants-e4f3f287.js} +0 -0
  414. /package/build/{dataTransform-6e222d1a.js → dataTransform-d85e8fbe.js} +0 -0
  415. /package/build/{doctor-b2ec210f.js → doctor-f465ad0b.js} +0 -0
  416. /package/build/esm/{BMI_BOYS.percentile.monthly-a07f0f54.js → BMI_BOYS.percentile.monthly-a2897ca9.js} +0 -0
  417. /package/build/esm/{BMI_BOYS.percentile.weekly-85dbca5e.js → BMI_BOYS.percentile.weekly-a809506e.js} +0 -0
  418. /package/build/esm/{BMI_BOYS.percentile.yearly-f41886bc.js → BMI_BOYS.percentile.yearly-3db825bc.js} +0 -0
  419. /package/build/esm/{BMI_BOYS.zscore.monthly-ea595935.js → BMI_BOYS.zscore.monthly-f14db0ec.js} +0 -0
  420. /package/build/esm/{BMI_BOYS.zscore.weekly-7d9c599e.js → BMI_BOYS.zscore.weekly-2ad4ac07.js} +0 -0
  421. /package/build/esm/{BMI_BOYS.zscore.yearly-805285c0.js → BMI_BOYS.zscore.yearly-c940a8ed.js} +0 -0
  422. /package/build/esm/{BMI_GIRLS.percentile.monthly-540f6f76.js → BMI_GIRLS.percentile.monthly-bf529e16.js} +0 -0
  423. /package/build/esm/{BMI_GIRLS.percentile.weekly-57919e11.js → BMI_GIRLS.percentile.weekly-3272570f.js} +0 -0
  424. /package/build/esm/{BMI_GIRLS.percentile.yearly-93301c51.js → BMI_GIRLS.percentile.yearly-0b1699a2.js} +0 -0
  425. /package/build/esm/{BMI_GIRLS.zscore.monthly-da84c887.js → BMI_GIRLS.zscore.monthly-6a85e1eb.js} +0 -0
  426. /package/build/esm/{BMI_GIRLS.zscore.weekly-0955bde2.js → BMI_GIRLS.zscore.weekly-ef332530.js} +0 -0
  427. /package/build/esm/{BMI_GIRLS.zscore.yearly-971fce28.js → BMI_GIRLS.zscore.yearly-d1c3f3f3.js} +0 -0
  428. /package/build/esm/{ChevronDown-1e78a8e7.js → ChevronDown-26c20357.js} +0 -0
  429. /package/build/esm/{Close-d0842035.js → Close-c109f586.js} +0 -0
  430. /package/build/esm/{Google-64dc9f05.js → Google-1ea2f735.js} +0 -0
  431. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-c15a00f2.js → HEAD CIRCUM_BOYS.percentile.monthly-2fdf46e8.js} +0 -0
  432. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-954bfb7e.js → HEAD CIRCUM_BOYS.percentile.weekly-0976758b.js} +0 -0
  433. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-821fc4f5.js → HEAD CIRCUM_BOYS.percentile.yearly-31850315.js} +0 -0
  434. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-db8b365a.js → HEAD CIRCUM_BOYS.zscore.monthly-fadb2438.js} +0 -0
  435. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-eb78ff15.js → HEAD CIRCUM_BOYS.zscore.weekly-81bf5027.js} +0 -0
  436. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-ec7bc0b9.js → HEAD CIRCUM_BOYS.zscore.yearly-79245bec.js} +0 -0
  437. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-4cda8496.js → HEAD CIRCUM_GIRLS.percentile.monthly-8c310cfa.js} +0 -0
  438. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-fede4105.js → HEAD CIRCUM_GIRLS.percentile.weekly-4a7d3faf.js} +0 -0
  439. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-dccd0acf.js → HEAD CIRCUM_GIRLS.percentile.yearly-50da1b56.js} +0 -0
  440. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-14e6354f.js → HEAD CIRCUM_GIRLS.zscore.monthly-c36936e3.js} +0 -0
  441. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-b2f1adef.js → HEAD CIRCUM_GIRLS.zscore.weekly-5263ac1a.js} +0 -0
  442. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-d01b98b8.js → HEAD CIRCUM_GIRLS.zscore.yearly-5ba4510e.js} +0 -0
  443. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-82e1ff12.js → HEIGHT_BOYS.percentile.monthly-00dbf0b1.js} +0 -0
  444. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-2ad2d4ca.js → HEIGHT_BOYS.percentile.weekly-9d33d66b.js} +0 -0
  445. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-7086aebe.js → HEIGHT_BOYS.percentile.yearly-5889f9f8.js} +0 -0
  446. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-838e2b31.js → HEIGHT_BOYS.zscore.monthly-0a5fef7b.js} +0 -0
  447. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-e4449bdc.js → HEIGHT_BOYS.zscore.weekly-0e30ac0a.js} +0 -0
  448. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-23327e54.js → HEIGHT_BOYS.zscore.yearly-8b3c9655.js} +0 -0
  449. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-4d4e9eb8.js → HEIGHT_GIRLS.percentile.monthly-de5e8823.js} +0 -0
  450. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-56a63779.js → HEIGHT_GIRLS.percentile.weekly-daf86288.js} +0 -0
  451. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-4489fbb4.js → HEIGHT_GIRLS.percentile.yearly-a445137c.js} +0 -0
  452. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-32157cb0.js → HEIGHT_GIRLS.zscore.monthly-cebb3d6e.js} +0 -0
  453. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-082dac9e.js → HEIGHT_GIRLS.zscore.weekly-307d7ec8.js} +0 -0
  454. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-5deb5013.js → HEIGHT_GIRLS.zscore.yearly-a4d970ce.js} +0 -0
  455. /package/build/esm/{Locale-05f46f2a.js → Locale-ca064114.js} +0 -0
  456. /package/build/esm/{Visible-fd6bc425.js → Visible-10c939ba.js} +0 -0
  457. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-1c1fad72.js → WEIGHT_BOYS.percentile.monthly-cf8fd0a1.js} +0 -0
  458. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-6d494fdd.js → WEIGHT_BOYS.percentile.weekly-9651ac69.js} +0 -0
  459. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-9be5f2bb.js → WEIGHT_BOYS.percentile.yearly-e71e62bc.js} +0 -0
  460. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-fc1521fe.js → WEIGHT_BOYS.zscore.monthly-f7f4c5bc.js} +0 -0
  461. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-8485d2f3.js → WEIGHT_BOYS.zscore.weekly-c0ea4686.js} +0 -0
  462. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-e232227b.js → WEIGHT_BOYS.zscore.yearly-e1ae8f58.js} +0 -0
  463. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-4736c7aa.js → WEIGHT_GIRLS.percentile.monthly-325b071c.js} +0 -0
  464. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-00d5d075.js → WEIGHT_GIRLS.percentile.weekly-9ed5e034.js} +0 -0
  465. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-17fafef1.js → WEIGHT_GIRLS.percentile.yearly-ff12b7d2.js} +0 -0
  466. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-0f34e73c.js → WEIGHT_GIRLS.zscore.monthly-9f996595.js} +0 -0
  467. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-7df80bb8.js → WEIGHT_GIRLS.zscore.weekly-b25bbe9f.js} +0 -0
  468. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-9b920f57.js → WEIGHT_GIRLS.zscore.yearly-95cf54c6.js} +0 -0
  469. /package/build/esm/{animation-8e63068e.js → animation-ee820de5.js} +0 -0
  470. /package/build/esm/{constants-fff0e873.js → constants-1a6da7bf.js} +0 -0
  471. /package/build/esm/{constants-1ed528a3.js → constants-893878b5.js} +0 -0
  472. /package/build/esm/{constants-25cc884e.js → constants-c1fd11ff.js} +0 -0
  473. /package/build/esm/{dataTransform-7f13a99d.js → dataTransform-4580bda2.js} +0 -0
  474. /package/build/esm/{doctor-e1757149.js → doctor-9b0f96eb.js} +0 -0
  475. /package/build/esm/{index-c02e04f4.js → index-07bf5594.js} +0 -0
  476. /package/build/esm/{index-0552435e.js → index-08bd9deb.js} +0 -0
  477. /package/build/esm/{index-d50c1b6d.js → index-51d21547.js} +0 -0
  478. /package/build/esm/{index-3f41e1e2.js → index-8184c6c4.js} +0 -0
  479. /package/build/esm/{index-cef61a9e.js → index-863d46f2.js} +0 -0
  480. /package/build/esm/{index-618f0b0c.js → index-8f0506a3.js} +0 -0
  481. /package/build/esm/{index-84bd0271.js → index-a46ac796.js} +0 -0
  482. /package/build/esm/{index-d3f5d34b.js → index-e5266a44.js} +0 -0
  483. /package/build/esm/{index-f4597cea.js → index-f7b7f379.js} +0 -0
  484. /package/build/esm/{index.styles-dfe31537.js → index.styles-e2fabf72.js} +0 -0
  485. /package/build/esm/{localizeNumberFormat-c14eab14.js → localizeNumberFormat-6f3ec904.js} +0 -0
  486. /package/build/esm/{normalizeLink-2bf24c8c.js → normalizeLink-659f4fc2.js} +0 -0
  487. /package/build/esm/{other-8e7af889.js → other-a9ddfef3.js} +0 -0
  488. /package/build/esm/{paths-a859c358.js → paths-c9acae97.js} +0 -0
  489. /package/build/esm/{translationsContext-b6c33e91.js → translationsContext-77ad18c1.js} +0 -0
  490. /package/build/esm/{tslib.es6-709d7787.js → tslib.es6-dc0b4bb5.js} +0 -0
  491. /package/build/esm/{types-0904d32f.js → types-0f5f6faa.js} +0 -0
  492. /package/build/esm/{useIsInit-3383f41b.js → useIsInit-084c9527.js} +0 -0
  493. /package/build/esm/{useOutsideClick-11006abd.js → useOutsideClick-1121c143.js} +0 -0
  494. /package/build/esm/{useScrollbarSize-c15fd39e.js → useScrollbarSize-461ff3f3.js} +0 -0
  495. /package/build/esm/{useUniqueId-cf5d6065.js → useUniqueId-ef63b218.js} +0 -0
  496. /package/build/esm/{utils-e21b8836.js → utils-98ba790c.js} +0 -0
  497. /package/build/{index-6cb41f70.js → index-20ecf9c2.js} +0 -0
  498. /package/build/{index-0d669510.js → index-27837d33.js} +0 -0
  499. /package/build/{index-ba7abd78.js → index-3bdd572d.js} +0 -0
  500. /package/build/{index-44dd2ed3.js → index-61493b41.js} +0 -0
  501. /package/build/{index-c2436bb5.js → index-83e69b8d.js} +0 -0
  502. /package/build/{index-8fc12b04.js → index-c657f20c.js} +0 -0
  503. /package/build/{index-39237568.js → index-d41cd58d.js} +0 -0
  504. /package/build/{index-c7782352.js → index-f3a90e89.js} +0 -0
  505. /package/build/{index-950cbd1e.js → index-f5f9e6ba.js} +0 -0
  506. /package/build/{index.styles-483ecf51.js → index.styles-7c49bacd.js} +0 -0
  507. /package/build/{localizeNumberFormat-c35b4fab.js → localizeNumberFormat-186a3dfb.js} +0 -0
  508. /package/build/{normalizeLink-d98c5115.js → normalizeLink-12f9515f.js} +0 -0
  509. /package/build/{other-a39e1798.js → other-61f740aa.js} +0 -0
  510. /package/build/{paths-cc67867e.js → paths-cfd54742.js} +0 -0
  511. /package/build/{translationsContext-9fb25554.js → translationsContext-6ed3ca43.js} +0 -0
  512. /package/build/{tslib.es6-54d5a3b5.js → tslib.es6-59a63be1.js} +0 -0
  513. /package/build/{types-5e6fd5c4.js → types-331482e6.js} +0 -0
  514. /package/build/{useIsInit-044fcacb.js → useIsInit-db0cef33.js} +0 -0
  515. /package/build/{useOutsideClick-e29d71c0.js → useOutsideClick-415ddf5e.js} +0 -0
  516. /package/build/{useScrollbarSize-46c0ff33.js → useScrollbarSize-278c96a7.js} +0 -0
  517. /package/build/{useUniqueId-45824993.js → useUniqueId-bd1728ba.js} +0 -0
  518. /package/build/{utils-ca404e47.js → utils-70b74b65.js} +0 -0
package/build/ssoV2.js CHANGED
@@ -2,29 +2,29 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('./tslib.es6-54d5a3b5.js');
5
+ var tslib_es6 = require('./tslib.es6-59a63be1.js');
6
6
  var React = require('react');
7
- var index$5 = require('./index-969cd112.js');
8
- var store = require('./store-69bb3be7.js');
7
+ var index$5 = require('./index-045fe9d6.js');
8
+ var store = require('./store-9549ce58.js');
9
9
  var arrow = require('@hhgtech/icons/arrow');
10
10
  var core$1 = require('@hhgtech/icons/core');
11
- var index$2 = require('./index-e1e08c25.js');
12
- var logoIcon = require('./logoIcon-e5bd7343.js');
13
- var index$4 = require('./index-76efb5fb.js');
14
- var index$1 = require('./index-3c10fbfa.js');
11
+ var index$2 = require('./index-686dd591.js');
12
+ var logoIcon = require('./logoIcon-753519a3.js');
13
+ var index$4 = require('./index-0b301a1a.js');
14
+ var index$1 = require('./index-171f6c0b.js');
15
15
  var core = require('@mantine/core');
16
16
  require('@mantine/dates');
17
- require('./index-2551c303.js');
18
- require('./index-44dd2ed3.js');
19
- var useMantineLocale = require('./useMantineLocale-48052e4d.js');
20
- var index$3 = require('./index-96be67bf.js');
21
- var index = require('./index-2baef874.js');
17
+ require('./index-cb6c8cd9.js');
18
+ require('./index-61493b41.js');
19
+ var useMantineLocale = require('./useMantineLocale-6fa1608c.js');
20
+ var index$3 = require('./index-81a908e6.js');
21
+ var index = require('./index-06768359.js');
22
22
  require('@mantine/hooks');
23
- require('./utils-ca404e47.js');
24
- require('./other-a39e1798.js');
25
- require('./index-4ee89043.js');
26
- var Locale = require('./Locale-4c8042b0.js');
27
- var Google = require('./Google-10b046ef.js');
23
+ require('./utils-70b74b65.js');
24
+ require('./other-61f740aa.js');
25
+ require('./index-1e629398.js');
26
+ var Locale = require('./Locale-2499969c.js');
27
+ var Google = require('./Google-48b0994b.js');
28
28
  var PhoneInputBase = require('react-phone-number-input');
29
29
  var styled = require('@emotion/styled');
30
30
  var cn = require('classnames');
@@ -32,28 +32,28 @@ var other = require('@hhgtech/icons/other');
32
32
  var debounce = require('lodash/debounce');
33
33
  var throttle = require('lodash/throttle');
34
34
  var Flags = require('react-phone-number-input/flags');
35
- var useScreenSize = require('./useScreenSize-e56ada5a.js');
35
+ var useScreenSize = require('./useScreenSize-a1946b66.js');
36
36
  var vaul = require('vaul');
37
- var utils = require('./utils-bc112548.js');
38
- var index$6 = require('./index-40771dad.js');
37
+ var utils = require('./utils-270e8215.js');
38
+ var index$6 = require('./index-a70c4fdb.js');
39
39
  var constantsDomainLocales = require('./constantsDomainLocales.js');
40
40
  var form = require('@mantine/form');
41
41
  var yup = require('yup');
42
42
  var dayjs = require('dayjs');
43
- var index$7 = require('./index-fd92c8a1.js');
43
+ var index$7 = require('./index-a870bcb7.js');
44
44
  require('@mantine/carousel');
45
45
  require('./miscTheme.js');
46
- require('./useUniqueId-45824993.js');
46
+ require('./useUniqueId-bd1728ba.js');
47
47
  require('./constantsSite.js');
48
48
  require('zustand');
49
49
  require('./constantsIsProduction.js');
50
- require('./normalizeLink-d98c5115.js');
50
+ require('./normalizeLink-12f9515f.js');
51
51
  require('./miscCookieHelper.js');
52
52
  require('date-fns/locale');
53
53
  require('./constantsRiskScreener.js');
54
- require('./index.styles-483ecf51.js');
54
+ require('./index.styles-7c49bacd.js');
55
55
  require('@mantine/notifications');
56
- require('./translationsContext-9fb25554.js');
56
+ require('./translationsContext-6ed3ca43.js');
57
57
 
58
58
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
59
59
 
@@ -190,13 +190,227 @@ const BackgroundHeader = () => (React__default["default"].createElement("svg", {
190
190
  React__default["default"].createElement("stop", { stopColor: "#fff", stopOpacity: "0" }),
191
191
  React__default["default"].createElement("stop", { offset: "1", stopColor: "#fff" })))));
192
192
 
193
+ const isPhoneVerifedAlready = (userInfo, flowData) => {
194
+ var _a;
195
+ if (flowData === null || flowData === void 0 ? void 0 : flowData.metaData) {
196
+ return (_a = flowData === null || flowData === void 0 ? void 0 : flowData.metaData) === null || _a === void 0 ? void 0 : _a.is_phone_verified;
197
+ }
198
+ return (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone_verified_at) && (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone);
199
+ };
200
+ const isSetupFullInfoAlready = (userInfo, flowData) => {
201
+ var _a, _b, _c;
202
+ if (flowData === null || flowData === void 0 ? void 0 : flowData.metaData) {
203
+ return (((_a = flowData === null || flowData === void 0 ? void 0 : flowData.metaData) === null || _a === void 0 ? void 0 : _a.is_name) &&
204
+ ((_b = flowData === null || flowData === void 0 ? void 0 : flowData.metaData) === null || _b === void 0 ? void 0 : _b.is_gender) &&
205
+ ((_c = flowData === null || flowData === void 0 ? void 0 : flowData.metaData) === null || _c === void 0 ? void 0 : _c.is_birthday));
206
+ }
207
+ const hasName = !!(userInfo === null || userInfo === void 0 ? void 0 : userInfo.name);
208
+ const hasGender = typeof (userInfo === null || userInfo === void 0 ? void 0 : userInfo.gender) === 'number';
209
+ const hasBirthday = !!(userInfo === null || userInfo === void 0 ? void 0 : userInfo.birthday);
210
+ return hasName && hasGender && hasBirthday;
211
+ };
212
+ const isExistUpdateEmailStep = (steps) => {
213
+ return steps.find((s) => s.type === store.SSOStepTypeType.UPDATE_EMAIL);
214
+ };
215
+ const isVerifyPhoneInTheSignUp = (steps, flowData) => {
216
+ var _a;
217
+ return ((_a = steps[0]) === null || _a === void 0 ? void 0 : _a.type) === store.SSOStepTypeType.FIRST && (flowData === null || flowData === void 0 ? void 0 : flowData.flow) === 'signup';
218
+ };
219
+ const parseEmailFromToken = (token) => {
220
+ try {
221
+ const base64Url = token.split('.')[1];
222
+ const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
223
+ const jsonPayload = decodeURIComponent(atob(base64)
224
+ .split('')
225
+ .map(function (c) {
226
+ return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
227
+ })
228
+ .join(''));
229
+ const payload = JSON.parse(jsonPayload);
230
+ return payload.email;
231
+ }
232
+ catch (err) {
233
+ return '';
234
+ }
235
+ };
236
+
237
+ const isSocialFlowFn = (flowData) => {
238
+ return (flowData === null || flowData === void 0 ? void 0 : flowData.method) === 'google' || (flowData === null || flowData === void 0 ? void 0 : flowData.method) === 'facebook';
239
+ };
240
+ const isPhoneFlowFn = (flowData) => {
241
+ return ((flowData === null || flowData === void 0 ? void 0 : flowData.method) === 'sms' ||
242
+ (flowData === null || flowData === void 0 ? void 0 : flowData.method) === 'zalo' ||
243
+ (flowData === null || flowData === void 0 ? void 0 : flowData.method) === 'phone');
244
+ };
245
+ const isEmailFlowFn = (flowData) => {
246
+ return (flowData === null || flowData === void 0 ? void 0 : flowData.method) === 'email';
247
+ };
248
+ const isResetPasswordFlowFn = (steps) => {
249
+ // First -> Passsword -> Password Forgot Setup
250
+ const passwordStep = steps.findIndex((s) => s.type === store.SSOStepTypeType.PASSWORD);
251
+ const passwordForgotStep = steps.findIndex((s) => s.type === store.SSOStepTypeType.FORGOT_PASSWORD_SETUP);
252
+ return (passwordStep > 0 &&
253
+ passwordForgotStep > 0 &&
254
+ passwordForgotStep > passwordStep);
255
+ };
256
+ const isDisplayProgressBarFn = (flowData, step) => {
257
+ const showProgressBar = (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.OTP ||
258
+ (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.SETUP_FULL ||
259
+ (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.VERIFY_PHONE ||
260
+ (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.PASSWORD ||
261
+ (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.FORGOT_PASSWORD_PHONE ||
262
+ (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.FORGOT_PASSWORD_SETUP ||
263
+ (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.EMAIL ||
264
+ (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.UPDATE_EMAIL;
265
+ const isWhiteListFlow = isSocialFlowFn(flowData) ||
266
+ isPhoneFlowFn(flowData) ||
267
+ isEmailFlowFn(flowData);
268
+ return showProgressBar && isWhiteListFlow;
269
+ };
270
+ const getCurrentStepNumber = (flowData, { steps, currentStepIndex, }, userInfo) => {
271
+ var _a, _b;
272
+ const step = steps[currentStepIndex];
273
+ const isSocialFlow = isSocialFlowFn(flowData);
274
+ const isPhoneFlow = isPhoneFlowFn(flowData);
275
+ const isEmailFlow = isEmailFlowFn(flowData);
276
+ /** Social (Google, Facebook): FIRST => VERIFY_PHONE | OTP => STEP_FULL */
277
+ if (isSocialFlow) {
278
+ const arrSteps = [
279
+ !isPhoneVerifedAlready(userInfo, flowData)
280
+ ? [store.SSOStepTypeType.VERIFY_PHONE, store.SSOStepTypeType.OTP]
281
+ : undefined,
282
+ isExistUpdateEmailStep(steps)
283
+ ? (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.OTP
284
+ ? store.SSOStepTypeType.OTP
285
+ : store.SSOStepTypeType.UPDATE_EMAIL
286
+ : undefined,
287
+ !userInfo || !store.isUserFinishedSetup(userInfo)
288
+ ? store.SSOStepTypeType.SETUP_FULL
289
+ : undefined,
290
+ ]
291
+ .flat()
292
+ .filter(Boolean);
293
+ const previousStep = steps[currentStepIndex - 1];
294
+ return [
295
+ arrSteps.length,
296
+ (previousStep === null || previousStep === void 0 ? void 0 : previousStep.type) === store.SSOStepTypeType.UPDATE_EMAIL
297
+ ? arrSteps.findLastIndex((type) => type === (step === null || step === void 0 ? void 0 : step.type)) + 1
298
+ : arrSteps.findIndex((type) => type === (step === null || step === void 0 ? void 0 : step.type)) + 1,
299
+ ];
300
+ }
301
+ if (isPhoneFlow && (flowData === null || flowData === void 0 ? void 0 : flowData.flow) === 'signup') {
302
+ const arrSteps = [
303
+ !isPhoneVerifedAlready(userInfo, flowData)
304
+ ? store.SSOStepTypeType.OTP
305
+ : undefined,
306
+ !((_a = flowData === null || flowData === void 0 ? void 0 : flowData.metaData) === null || _a === void 0 ? void 0 : _a.is_pass)
307
+ ? store.SSOStepTypeType.FORGOT_PASSWORD_SETUP
308
+ : undefined,
309
+ !isSetupFullInfoAlready(userInfo, flowData)
310
+ ? store.SSOStepTypeType.SETUP_FULL
311
+ : undefined,
312
+ ]
313
+ .flat()
314
+ .filter(Boolean);
315
+ return [
316
+ arrSteps.length,
317
+ arrSteps.findIndex((type) => type === (step === null || step === void 0 ? void 0 : step.type)) + 1,
318
+ ];
319
+ }
320
+ if (isPhoneFlow && (flowData === null || flowData === void 0 ? void 0 : flowData.flow) === 'login') {
321
+ const isForgotPasswordPhone = steps.find((s) => s.type === store.SSOStepTypeType.FORGOT_PASSWORD_PHONE);
322
+ const arrSteps = [
323
+ store.SSOStepTypeType.PASSWORD,
324
+ !isPhoneVerifedAlready(userInfo, flowData) || isForgotPasswordPhone
325
+ ? [store.SSOStepTypeType.FORGOT_PASSWORD_PHONE, store.SSOStepTypeType.OTP]
326
+ : undefined,
327
+ isForgotPasswordPhone ? store.SSOStepTypeType.FORGOT_PASSWORD_SETUP : undefined,
328
+ isExistUpdateEmailStep(steps)
329
+ ? (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.OTP
330
+ ? store.SSOStepTypeType.OTP
331
+ : store.SSOStepTypeType.UPDATE_EMAIL
332
+ : undefined,
333
+ !isSetupFullInfoAlready(userInfo, flowData)
334
+ ? store.SSOStepTypeType.SETUP_FULL
335
+ : undefined,
336
+ ]
337
+ .flat()
338
+ .filter(Boolean);
339
+ const previousStep = steps[currentStepIndex - 1];
340
+ return [
341
+ arrSteps.length,
342
+ (previousStep === null || previousStep === void 0 ? void 0 : previousStep.type) === store.SSOStepTypeType.UPDATE_EMAIL
343
+ ? arrSteps.findLastIndex((type) => type === (step === null || step === void 0 ? void 0 : step.type)) + 1
344
+ : arrSteps.findIndex((type) => type === (step === null || step === void 0 ? void 0 : step.type)) + 1,
345
+ ];
346
+ }
347
+ if (isEmailFlow) {
348
+ const hasPasswordStep = !((_b = flowData === null || flowData === void 0 ? void 0 : flowData.metaData) === null || _b === void 0 ? void 0 : _b.is_pass);
349
+ const hasPhoneStep = !isPhoneVerifedAlready(userInfo, flowData);
350
+ const hasSetupFullStep = !isSetupFullInfoAlready(userInfo, flowData);
351
+ const isForgotPasswordSetup = steps.find((s) => s.type === store.SSOStepTypeType.FORGOT_PASSWORD_SETUP);
352
+ if (!hasPasswordStep && !hasPhoneStep && !hasSetupFullStep)
353
+ return [];
354
+ const arrSteps = [
355
+ (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.OTP
356
+ ? store.SSOStepTypeType.OTP
357
+ : store.SSOStepTypeType.EMAIL,
358
+ hasPasswordStep || isForgotPasswordSetup
359
+ ? store.SSOStepTypeType.FORGOT_PASSWORD_SETUP
360
+ : store.SSOStepTypeType.PASSWORD,
361
+ hasPhoneStep
362
+ ? (step === null || step === void 0 ? void 0 : step.type) === store.SSOStepTypeType.OTP
363
+ ? store.SSOStepTypeType.OTP
364
+ : store.SSOStepTypeType.VERIFY_PHONE
365
+ : undefined,
366
+ hasSetupFullStep ? store.SSOStepTypeType.SETUP_FULL : undefined,
367
+ ]
368
+ .flat()
369
+ .filter(Boolean);
370
+ const previousStep = steps[currentStepIndex - 1];
371
+ return [
372
+ arrSteps.length,
373
+ (previousStep === null || previousStep === void 0 ? void 0 : previousStep.type) === store.SSOStepTypeType.VERIFY_PHONE
374
+ ? arrSteps.findLastIndex((type) => type === (step === null || step === void 0 ? void 0 : step.type)) + 1
375
+ : arrSteps.findIndex((type) => type === (step === null || step === void 0 ? void 0 : step.type)) + 1,
376
+ ];
377
+ }
378
+ return [];
379
+ };
380
+ const ProgressBar = () => {
381
+ // const initUserInfo = useRef<UserInfo | undefined | null>()
382
+ const { steps, currentStepIndex } = store.useSSOSteps();
383
+ const { flowData, userInfo } = store.useSSOV2Store();
384
+ /** No need update state IF userInfo is changed */
385
+ const initUserInfo = React.useMemo(() => userInfo, [userInfo]);
386
+ const [totalStepNumber, activeStepNumber] = getCurrentStepNumber(flowData, { steps, currentStepIndex }, initUserInfo);
387
+ if (!activeStepNumber || totalStepNumber === 1)
388
+ return null;
389
+ return (React__default["default"].createElement(core.Flex, { gap: 2 }, Array.from({ length: totalStepNumber }).map((_, idx) => {
390
+ const currentStepNumber = idx + 1;
391
+ return (React__default["default"].createElement(core.Box, { key: currentStepNumber, style: {
392
+ width: 'auto',
393
+ height: 2,
394
+ flex: 1,
395
+ borderRadius: 4,
396
+ backgroundColor: currentStepNumber <= activeStepNumber ? '#00B16A' : '#D2D6DC',
397
+ } }));
398
+ })));
399
+ };
400
+
193
401
  const SSOPopupWrapper = ({ children, opened, onClose, }) => {
194
402
  var _a;
195
- const { steps, goBack } = store.useSSOSteps();
403
+ const { steps, goBack, currentStepIndex } = store.useSSOSteps();
404
+ const { flowData } = store.useSSOV2Store();
196
405
  const { locale, tracking } = useSSOState();
197
- const showBack = steps.length > 1;
198
- const showClose = steps.length === 1;
199
- const showLogo = steps.length === 1;
406
+ const currentStep = steps[currentStepIndex];
407
+ const showProgressBar = isDisplayProgressBarFn(flowData, currentStep);
408
+ const showBack = (steps.length > 1 && !showProgressBar) ||
409
+ (currentStep === null || currentStep === void 0 ? void 0 : currentStep.type) === store.SSOStepTypeType.OTP ||
410
+ (currentStep === null || currentStep === void 0 ? void 0 : currentStep.type) === store.SSOStepTypeType.PASSWORD ||
411
+ (currentStep === null || currentStep === void 0 ? void 0 : currentStep.type) === store.SSOStepTypeType.EMAIL;
412
+ const showClose = (currentStep === null || currentStep === void 0 ? void 0 : currentStep.type) === store.SSOStepTypeType.FIRST;
413
+ const showLogo = (steps.length === 1 || showProgressBar) && !showBack;
200
414
  const logoType = (_a = index$2.LOCALE_SPECS[locale]) === null || _a === void 0 ? void 0 : _a.LOGO_TYPE;
201
415
  const [closeConfirmOpen, setCloseConfirmOpen] = React__default["default"].useState(false);
202
416
  const onCloseClick = () => {
@@ -239,7 +453,11 @@ const SSOPopupWrapper = ({ children, opened, onClose, }) => {
239
453
  display: 'block',
240
454
  },
241
455
  },
242
- }), withCloseButton: false, zIndex: index$2.ZINDEX_SSO },
456
+ }), withCloseButton: false, zIndex: index$2.ZINDEX_SSO, overlayProps: {
457
+ 'data-event-label': 'Focus out',
458
+ 'data-event-category': tracking === null || tracking === void 0 ? void 0 : tracking.category,
459
+ 'data-event-action': tracking === null || tracking === void 0 ? void 0 : tracking.action,
460
+ } },
243
461
  React__default["default"].createElement("div", { style: {
244
462
  height: 40,
245
463
  display: 'flex',
@@ -252,7 +470,7 @@ const SSOPopupWrapper = ({ children, opened, onClose, }) => {
252
470
  padding: 8,
253
471
  background: 'white',
254
472
  borderRadius: '100%',
255
- }, onClick: goBack, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "back" },
473
+ }, onClick: goBack, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Back" },
256
474
  React__default["default"].createElement(arrow.ChevronLeft, null))),
257
475
  showLogo && (React__default["default"].createElement(logoIcon.LogoIcon, { type: logoType, height: 32, width: 'unset' })),
258
476
  showClose && (React__default["default"].createElement(index$4.Button, { variant: "white", style: {
@@ -263,6 +481,7 @@ const SSOPopupWrapper = ({ children, opened, onClose, }) => {
263
481
  borderRadius: '100%',
264
482
  }, onClick: onCloseClick, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Exit" },
265
483
  React__default["default"].createElement(core$1.Close, null)))),
484
+ showProgressBar && React__default["default"].createElement(ProgressBar, null),
266
485
  React__default["default"].createElement("div", { style: {
267
486
  flex: 1,
268
487
  } }, children)),
@@ -406,7 +625,10 @@ const SSOEmailScreen = ({ hidden, }) => {
406
625
  const { t } = index.useTranslations();
407
626
  const [loading, setLoading] = React__default["default"].useState(false);
408
627
  const [errMsg, setErrMsg] = React__default["default"].useState('');
409
- const trackingCategory = `SSO - Sign Up via Email`;
628
+ const { flowData } = store.useSSOV2Store();
629
+ const trackingCategory = flowData.flow === 'signup'
630
+ ? `SSO - Sign Up via Email`
631
+ : 'SSO - Sign In via Email';
410
632
  const trackingAction = 'Continue With Email';
411
633
  const { setTracking } = useSSOState();
412
634
  React.useEffect(() => {
@@ -434,6 +656,7 @@ const SSOEmailScreen = ({ hidden, }) => {
434
656
  flowData: {
435
657
  method: 'email',
436
658
  flow: 'login',
659
+ metaData: existRes._data,
437
660
  },
438
661
  });
439
662
  // go to password screen
@@ -451,6 +674,7 @@ const SSOEmailScreen = ({ hidden, }) => {
451
674
  flowData: {
452
675
  method: 'email',
453
676
  flow: 'signup',
677
+ metaData: existRes._data,
454
678
  },
455
679
  });
456
680
  if (!((_b = existRes._data) === null || _b === void 0 ? void 0 : _b.provider)) {
@@ -469,7 +693,7 @@ const SSOEmailScreen = ({ hidden, }) => {
469
693
  config: {
470
694
  email,
471
695
  otpType: 'email',
472
- afterAction: 'setup',
696
+ afterAction: 'forgot',
473
697
  },
474
698
  });
475
699
  goNext();
@@ -648,12 +872,7 @@ const verifyUpdatePhoneZaloOTP = (phone, areaCode, otpCode) => tslib_es6.__await
648
872
  });
649
873
 
650
874
  const MailIcon = (props) => (React__default["default"].createElement("svg", Object.assign({ width: "21", height: "20", viewBox: "0 0 21 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
651
- React__default["default"].createElement("g", { clipPath: "url(#clip0_1284_30810)" },
652
- React__default["default"].createElement("rect", { x: "0.666992", width: "20", height: "20", rx: "10", fill: "#00B16A" }),
653
- React__default["default"].createElement("path", { d: "M13.792 4.6875H7.54199C5.66699 4.6875 4.41699 5.625 4.41699 7.8125V12.1875C4.41699 14.375 5.66699 15.3125 7.54199 15.3125H13.792C15.667 15.3125 16.917 14.375 16.917 12.1875V7.8125C16.917 5.625 15.667 4.6875 13.792 4.6875ZM14.0857 8.49375L12.1295 10.0563C11.717 10.3875 11.192 10.55 10.667 10.55C10.142 10.55 9.61074 10.3875 9.20449 10.0563L7.24824 8.49375C7.04824 8.33125 7.01699 8.03125 7.17324 7.83125C7.33574 7.63125 7.62949 7.59375 7.82949 7.75625L9.78574 9.31875C10.2607 9.7 11.067 9.7 11.542 9.31875L13.4982 7.75625C13.6982 7.59375 13.9982 7.625 14.1545 7.83125C14.317 8.03125 14.2857 8.33125 14.0857 8.49375Z", fill: "white" })),
654
- React__default["default"].createElement("defs", null,
655
- React__default["default"].createElement("clipPath", { id: "clip0_1284_30810" },
656
- React__default["default"].createElement("rect", { width: "20", height: "20", fill: "white", transform: "translate(0.666992)" })))));
875
+ React__default["default"].createElement("path", { d: "M15.043 2.56348H6.29297C3.66797 2.56348 1.91797 3.87598 1.91797 6.93848V13.0635C1.91797 16.126 3.66797 17.4385 6.29297 17.4385H15.043C17.668 17.4385 19.418 16.126 19.418 13.0635V6.93848C19.418 3.87598 17.668 2.56348 15.043 2.56348ZM15.4542 7.89223L12.7155 10.0797C12.138 10.5435 11.403 10.771 10.668 10.771C9.93297 10.771 9.18922 10.5435 8.62047 10.0797L5.88172 7.89223C5.60172 7.66473 5.55797 7.24473 5.77672 6.96473C6.00422 6.68473 6.41547 6.63223 6.69547 6.85973L9.43422 9.04723C10.0992 9.58098 11.228 9.58098 11.893 9.04723L14.6317 6.85973C14.9117 6.63223 15.3317 6.67598 15.5505 6.96473C15.778 7.24473 15.7342 7.66473 15.4542 7.89223Z", fill: "#00B16A" })));
657
876
 
658
877
  function createCommonjsModule(fn) {
659
878
  var module = { exports: {} };
@@ -1810,7 +2029,7 @@ function CountrySelectWithIcon(_a) {
1810
2029
  var { value, options, className,
1811
2030
  // iconComponent: Icon,
1812
2031
  // getIconAspectRatio,
1813
- arrowComponent: Arrow = DefaultArrowComponent, onChange, disabled, readOnly } = _a, rest = tslib_es6.__rest(_a, ["value", "options", "className", "arrowComponent", "onChange", "disabled", "readOnly"]);
2032
+ arrowComponent: Arrow = DefaultArrowComponent, onChange, disabled, readOnly, trackingFn } = _a, rest = tslib_es6.__rest(_a, ["value", "options", "className", "arrowComponent", "onChange", "disabled", "readOnly", "trackingFn"]);
1814
2033
  const { t } = index.useTranslations();
1815
2034
  const [open, setOpen] = React.useState(false);
1816
2035
  const [modalStyle, setModalStyle] = React.useState({});
@@ -1894,13 +2113,13 @@ function CountrySelectWithIcon(_a) {
1894
2113
  React__default["default"].createElement(SelectCountryItem, { option: selectedOption, onSelect: (option) => {
1895
2114
  onChange_(option.value);
1896
2115
  setOpen(false);
1897
- } }))),
2116
+ }, trackingFn: trackingFn }))),
1898
2117
  React__default["default"].createElement(core.Stack, { spacing: 0 },
1899
2118
  React__default["default"].createElement(index$3.Text, { size: "s4" }, t('ssov2.first.search.country.all')),
1900
2119
  filteredOptions.map((option) => (React__default["default"].createElement(SelectCountryItem, { option: option, key: option.value, onSelect: (option) => {
1901
2120
  onChange_(option.value);
1902
2121
  setOpen(false);
1903
- }, selected: selectedOption.value === option.value }))))));
2122
+ }, selected: selectedOption.value === option.value, trackingFn: trackingFn }))))));
1904
2123
  const FlagSelected = Flags__default["default"][selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value];
1905
2124
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
1906
2125
  React__default["default"].createElement("div", { className: "PhoneInputCountry", ref: countryDivRef },
@@ -1964,7 +2183,7 @@ function CountrySelectWithIcon(_a) {
1964
2183
  }, onClick: () => setOpen(false) }),
1965
2184
  React__default["default"].createElement("div", { style: Object.assign({ position: 'fixed', height: 540, top: '100%', left: 0, width: '100%', backgroundColor: 'white', padding: '8px 24px', zIndex: index$2.ZINDEX_SSO + 9, borderRadius: 12, boxShadow: '0px 0px 1px 0px #0000000A, 0px 4px 8px 0px #0000000A, 0px 16px 24px 0px #0000000A, 0px 24px 32px 0px #0000000A', overflow: 'auto' }, modalStyle) }, SelectCountryContent))))));
1966
2185
  }
1967
- const SelectCountryItem = ({ option, onSelect, selected, }) => {
2186
+ const SelectCountryItem = ({ option, onSelect, selected, trackingFn, }) => {
1968
2187
  const selectedCallingCode = React.useMemo(() => {
1969
2188
  if (!option.value)
1970
2189
  return '';
@@ -1975,14 +2194,15 @@ const SelectCountryItem = ({ option, onSelect, selected, }) => {
1975
2194
  return '';
1976
2195
  }, [option.value]);
1977
2196
  const Flag = Flags__default["default"][option.value];
1978
- return (React__default["default"].createElement(core.Stack, { sx: {
2197
+ const tracking = (trackingFn === null || trackingFn === void 0 ? void 0 : trackingFn(option)) || {};
2198
+ return (React__default["default"].createElement(core.Stack, Object.assign({ sx: {
1979
2199
  padding: '0 24px',
1980
2200
  backgroundColor: selected ? '#e3f2ff' : 'transparent',
1981
2201
  ':hover': { backgroundColor: '#F7F9FA' },
1982
2202
  cursor: 'pointer',
1983
2203
  marginLeft: -24,
1984
2204
  marginRight: -24,
1985
- }, justify: "center", onClick: () => onSelect(option) },
2205
+ }, justify: "center", onClick: () => onSelect(option) }, tracking),
1986
2206
  React__default["default"].createElement(core.Group, { position: "apart", sx: {
1987
2207
  height: 50,
1988
2208
  borderBottom: '1px solid #E4E8EC',
@@ -2034,7 +2254,7 @@ function isSameOptionValue(value1, value2) {
2034
2254
  const PhoneForwardRef = (props, ref) => {
2035
2255
  const { isError, defaultCountry,
2036
2256
  // countries = countriesDefault,
2037
- countryCallingCodeEditable = false, defaultValue, value: valueProps, onChange: onChangeProps, className } = props, inputProps = tslib_es6.__rest(props, ["isError", "defaultCountry", "countryCallingCodeEditable", "defaultValue", "value", "onChange", "className"]);
2257
+ countryCallingCodeEditable = false, defaultValue, value: valueProps, onChange: onChangeProps, className, trackingFn } = props, inputProps = tslib_es6.__rest(props, ["isError", "defaultCountry", "countryCallingCodeEditable", "defaultValue", "value", "onChange", "className", "trackingFn"]);
2038
2258
  const [value, setValue] = React.useState(defaultValue || valueProps);
2039
2259
  const [PhoneInputUtils, setPhoneInputUtils] = React.useState(null);
2040
2260
  const onChange = (val) => {
@@ -2058,7 +2278,7 @@ const PhoneForwardRef = (props, ref) => {
2058
2278
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2059
2279
  ref: ref, value: value, onChange: onChange,
2060
2280
  // countries={countries}
2061
- defaultCountry: defaultCountry, countryCallingCodeEditable: countryCallingCodeEditable, className: cn__default["default"](index$5.styles.phoneInput, { isError, [index$5.styles.error]: isError }, className), countrySelectComponent: CountrySelectWithIcon }, inputProps)));
2281
+ defaultCountry: defaultCountry, countryCallingCodeEditable: countryCallingCodeEditable, className: cn__default["default"](index$5.styles.phoneInput, { isError, [index$5.styles.error]: isError }, className), countrySelectComponent: CountrySelectWithIcon, countrySelectProps: { trackingFn } }, inputProps)));
2062
2282
  };
2063
2283
  const PhoneWithCustomCountrySelect = React.forwardRef(PhoneForwardRef);
2064
2284
 
@@ -2088,17 +2308,32 @@ const StyledPhone = styled__default["default"](PhoneWithCustomCountrySelect) `
2088
2308
  }
2089
2309
  `;
2090
2310
 
2311
+ const Zalo = ({ size = 20, useCurrentColor = false }) => {
2312
+ const color = useCurrentColor ? 'currentColor' : '#0068FF';
2313
+ return (React__default["default"].createElement("svg", { width: (size * 21) / 20, height: size, viewBox: "0 0 21 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
2314
+ React__default["default"].createElement("path", { d: "M13.7007 6.55306C13.9781 6.55306 14.2555 6.55306 14.5336 6.55306C14.529 8.17796 14.529 9.8035 14.5336 11.4284C14.262 11.3903 13.81 11.5642 13.7079 11.2027C13.691 9.65349 13.7066 8.10296 13.7007 6.55306Z", fill: color }),
2315
+ React__default["default"].createElement("path", { d: "M5.21482 6.61061C6.50542 6.60932 7.79474 6.60091 9.0847 6.60996C9.07564 6.86278 9.06142 7.13823 8.89201 7.34256C8.01005 8.44048 7.14685 9.55262 6.26554 10.6505C7.20245 10.6564 8.13937 10.6525 9.07629 10.6525C9.05883 10.8717 9.13578 11.1271 8.99353 11.3172C8.9043 11.44 8.74265 11.429 8.6088 11.4303C7.43652 11.4239 6.26424 11.4362 5.09261 11.4239C5.09584 11.1762 5.09843 10.9021 5.27172 10.7049C6.14333 9.61146 7.02529 8.52583 7.89302 7.42985C7.00136 7.43114 6.10906 7.42403 5.2174 7.43373C5.21159 7.15957 5.21352 6.88477 5.21482 6.61061Z", fill: color }),
2316
+ React__default["default"].createElement("path", { d: "M16.5981 7.68655C17.5267 7.47899 18.5341 8.08873 18.7882 9.00302C19.1069 9.95416 18.525 11.0851 17.5635 11.3747C16.7469 11.6625 15.7692 11.2868 15.3457 10.5342C15.0133 9.97809 14.9933 9.25002 15.2953 8.67778C15.5513 8.17279 16.046 7.80358 16.5981 7.68655ZM16.5826 8.51031C16.0162 8.71011 15.711 9.39938 15.9322 9.9561C16.1151 10.4824 16.7313 10.8044 17.2667 10.6428C17.8778 10.4967 18.247 9.78087 18.0304 9.19441C17.8493 8.61377 17.1478 8.27883 16.5826 8.51031Z", fill: color }),
2317
+ React__default["default"].createElement("path", { d: "M9.71965 8.36353C10.1665 7.81005 10.9488 7.53718 11.6381 7.73439C11.8657 7.79194 12.072 7.90574 12.2711 8.02666C12.2692 7.96588 12.2647 7.84496 12.2627 7.78418C12.5233 7.78289 12.7832 7.78354 13.0438 7.78224C13.0425 8.99784 13.0412 10.2134 13.0445 11.4297C12.8531 11.4245 12.6584 11.4472 12.4703 11.4084C12.3384 11.3547 12.2976 11.2105 12.2453 11.0928C11.5262 11.6515 10.3966 11.5247 9.79919 10.8445C9.16229 10.1856 9.12931 9.06315 9.71965 8.36353ZM10.7723 8.52648C10.1736 8.73727 9.88324 9.50865 10.1865 10.0647C10.4451 10.6066 11.1732 10.8342 11.6937 10.5355C12.1767 10.282 12.3998 9.65285 12.1922 9.14979C11.9911 8.60277 11.3129 8.29629 10.7723 8.52648Z", fill: color }),
2318
+ React__default["default"].createElement("path", { d: "M4.20742 0.101327C4.89217 -0.00665471 5.58855 -0.00730131 6.28041 0.008217L6.22092 0.0631777C5.31569 0.656106 4.56499 1.47017 4.02249 2.4045C2.93492 4.27511 2.53856 6.48711 2.62843 8.63123C2.71766 10.377 3.13666 12.1325 4.02508 13.6501C4.1738 13.9217 4.42144 14.1616 4.42532 14.4913C4.45313 15.1987 4.10332 15.8653 3.63001 16.371C3.66105 16.4033 3.69144 16.4356 3.72247 16.468C4.16539 16.9516 4.63805 17.4062 5.08809 17.8834C5.72757 18.6063 6.45628 19.2464 7.08283 19.9822C6.04052 19.9977 4.98592 20.0462 3.9559 19.8516C2.65947 19.6001 1.50853 18.7013 0.958922 17.4999C0.625925 16.8055 0.526349 16.0289 0.500485 15.2679C0.499838 11.7543 0.499838 8.24133 0.500485 4.72837C0.51471 3.55415 0.825723 2.32562 1.65207 1.45465C2.30643 0.716886 3.233 0.237112 4.20742 0.101327Z", fill: color }),
2319
+ React__default["default"].createElement("path", { d: "M6.22092 0.0631777C6.36576 0.0217955 6.51706 0.0088636 6.66707 0.00433743C9.25281 0.0140364 11.8386 0.00304423 14.4243 0.00757041C15.1155 0.0159762 15.8106 -0.0305788 16.4966 0.0748164C17.4465 0.147235 18.3608 0.549418 19.0675 1.18502C19.9546 2.03271 20.4279 3.25348 20.4428 4.47102C20.4435 7.89863 20.4415 11.3288 20.4447 14.7551C20.4357 14.7752 20.4182 14.8166 20.4092 14.8373C19.4878 15.8679 18.2489 16.5656 16.9538 17.0169C15.2086 17.6118 13.3393 17.8032 11.5049 17.6635C9.67051 17.5058 7.8219 17.0266 6.26618 16.0128C5.47087 16.3665 4.59344 16.5397 3.72247 16.468C3.69144 16.4356 3.66105 16.4033 3.63001 16.371C4.10332 15.8653 4.45313 15.1987 4.42532 14.4913C4.42144 14.1616 4.1738 13.9217 4.02508 13.6501C3.13666 12.1325 2.71766 10.377 2.62843 8.63123C2.53856 6.48711 2.93492 4.27511 4.02249 2.4045C4.56499 1.47017 5.31569 0.656106 6.22092 0.0631777ZM13.7007 6.55306C13.7066 8.10296 13.691 9.65349 13.7079 11.2027C13.81 11.5642 14.262 11.3903 14.5336 11.4284C14.529 9.8035 14.529 8.17796 14.5336 6.55306C14.2555 6.55306 13.9781 6.55306 13.7007 6.55306ZM5.21482 6.61061C5.21352 6.88477 5.21159 7.15957 5.2174 7.43373C6.10906 7.42403 7.00136 7.43114 7.89302 7.42985C7.02529 8.52583 6.14333 9.61146 5.27172 10.7049C5.09843 10.9021 5.09584 11.1762 5.09261 11.4239C6.26424 11.4362 7.43652 11.4239 8.6088 11.4303C8.74265 11.429 8.9043 11.44 8.99353 11.3172C9.13578 11.1271 9.05883 10.8717 9.07629 10.6525C8.13937 10.6525 7.20245 10.6564 6.26554 10.6505C7.14685 9.55262 8.01005 8.44048 8.89201 7.34256C9.06142 7.13823 9.07564 6.86278 9.0847 6.60996C7.79474 6.60091 6.50542 6.60932 5.21482 6.61061ZM16.5981 7.68655C16.046 7.80358 15.5513 8.17279 15.2953 8.67778C14.9933 9.25002 15.0133 9.97809 15.3457 10.5342C15.7692 11.2868 16.7469 11.6625 17.5635 11.3747C18.525 11.0851 19.1069 9.95416 18.7882 9.00302C18.5341 8.08873 17.5267 7.47899 16.5981 7.68655ZM9.71965 8.36353C9.12931 9.06315 9.16229 10.1856 9.79919 10.8445C10.3966 11.5247 11.5262 11.6515 12.2453 11.0928C12.2976 11.2105 12.3384 11.3547 12.4703 11.4084C12.6584 11.4472 12.8531 11.4245 13.0445 11.4297C13.0412 10.2134 13.0425 8.99784 13.0438 7.78224C12.7832 7.78354 12.5233 7.78289 12.2627 7.78418C12.2647 7.84496 12.2692 7.96588 12.2711 8.02666C12.072 7.90574 11.8657 7.79194 11.6381 7.73439C10.9488 7.53718 10.1665 7.81005 9.71965 8.36353Z", fill: "white" }),
2320
+ React__default["default"].createElement("path", { d: "M10.7737 8.52648C11.3142 8.29629 11.9925 8.60278 12.1936 9.1498C12.4012 9.65285 12.1781 10.282 11.6951 10.5355C11.1746 10.8342 10.4465 10.6066 10.1879 10.0647C9.8846 9.50866 10.1749 8.73727 10.7737 8.52648Z", fill: "white" }),
2321
+ React__default["default"].createElement("path", { d: "M16.5822 8.51048C17.1473 8.279 17.8489 8.61394 18.0299 9.19458C18.2465 9.78104 17.8773 10.4968 17.2663 10.643C16.7309 10.8046 16.1147 10.4826 15.9317 9.95627C15.7106 9.39955 16.0158 8.71028 16.5822 8.51048Z", fill: "white" }),
2322
+ React__default["default"].createElement("path", { d: "M20.4094 14.8378L20.4604 14.7822C20.487 15.7929 20.3777 16.8475 19.8817 17.7469C19.305 18.8021 18.2588 19.5858 17.082 19.8367C16.4218 19.9731 15.7448 20.0035 15.0724 19.9951C13.0039 19.9957 10.9354 19.9951 8.86698 19.9957C8.27211 19.986 7.67595 20.0138 7.08302 19.9828C6.45646 19.247 5.72775 18.6068 5.08827 17.8839C4.63824 17.4068 4.16557 16.9522 3.72266 16.4685C4.59362 16.5403 5.47105 16.367 6.26637 16.0133C7.82208 17.0272 9.67069 17.5063 11.5051 17.6641C13.3395 17.8038 15.2088 17.6124 16.954 17.0175C18.2491 16.5662 19.488 15.8685 20.4094 14.8378Z", fill: color })));
2323
+ };
2324
+
2091
2325
  const SSOFirstScreen = ({ hidden, config, }) => {
2092
2326
  var _a, _b;
2093
2327
  const [phone, setPhone] = React__default["default"].useState('');
2094
2328
  const [errMsg, setErrMsg] = React__default["default"].useState('');
2095
2329
  const { locale, onClose, setTracking } = useSSOState();
2096
2330
  const { addStep, goNext } = store.useSSOSteps();
2331
+ const { setUserInfo } = store.useSSOV2Store();
2097
2332
  const [activeTab, setActiveTab] = React__default["default"].useState('login');
2098
2333
  const { legalTextType } = config || {};
2099
2334
  const { t } = index.useTranslations();
2100
- const trackingCategory = 'Sign In or Sign Up';
2101
- const trackingAction = `SSO - ${activeTab === 'login' ? 'Sign In' : 'Sign Up'}`;
2335
+ const trackingAction = 'Sign In or Sign Up';
2336
+ const trackingCategory = `SSO - ${activeTab === 'login' ? 'Sign In' : 'Sign Up'}`;
2102
2337
  React.useEffect(() => {
2103
2338
  if (!hidden) {
2104
2339
  setErrMsg('');
@@ -2109,24 +2344,42 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2109
2344
  }
2110
2345
  }, [hidden]);
2111
2346
  const [loading, setLoading] = React__default["default"].useState(false);
2347
+ // onTrigger -> handleLoginBySocial -> loginBySocial
2112
2348
  const handleLoginBySocial = (credential, provider) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
2113
- var _c, _d;
2114
2349
  const res = yield loginBySocial(credential, provider);
2115
2350
  if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
2116
2351
  store.handleAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
2117
2352
  const userInfo = yield store.getUserInfo();
2353
+ setUserInfo(userInfo === null || userInfo === void 0 ? void 0 : userInfo._data);
2118
2354
  if ((userInfo === null || userInfo === void 0 ? void 0 : userInfo._status) === 1 && userInfo._data) {
2119
2355
  store.useSSOV2Store.setState({
2120
2356
  flowData: {
2121
2357
  method: provider,
2122
2358
  },
2123
2359
  });
2124
- if (!store.isUserFinishedSetup(userInfo._data) ||
2125
- !userInfo._data.phone ||
2126
- !userInfo._data.phone_verified_at) {
2127
- store.useSSOV2Store.setState((f) => ({
2128
- flowData: Object.assign(Object.assign({}, f.flowData), { flow: 'signup' }),
2129
- }));
2360
+ const isNotHavePhone = !userInfo._data.phone || !userInfo._data.phone_verified_at;
2361
+ if (isNotHavePhone) {
2362
+ store.useSSOV2Store.setState((f) => {
2363
+ var _a;
2364
+ return ({
2365
+ flowData: Object.assign(Object.assign({}, f.flowData), { flow: ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo._data) === null || _a === void 0 ? void 0 : _a.first_time_login) ? 'signup' : 'login', isVerifyPhone: true }),
2366
+ });
2367
+ });
2368
+ addStep({
2369
+ type: store.SSOStepTypeType.VERIFY_PHONE,
2370
+ config: {
2371
+ provider: provider,
2372
+ },
2373
+ });
2374
+ goNext();
2375
+ }
2376
+ else if (!store.isUserFinishedSetup(userInfo._data)) {
2377
+ store.useSSOV2Store.setState((f) => {
2378
+ var _a;
2379
+ return ({
2380
+ flowData: Object.assign(Object.assign({}, f.flowData), { flow: ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo._data) === null || _a === void 0 ? void 0 : _a.first_time_login) ? 'signup' : 'login' }),
2381
+ });
2382
+ });
2130
2383
  if (provider === 'facebook') {
2131
2384
  window.FB.api('/me', { fields: 'name, email, gender, birthday' }, function (response) {
2132
2385
  addStep({
@@ -2154,19 +2407,6 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2154
2407
  goNext();
2155
2408
  }
2156
2409
  }
2157
- else if (!((_c = userInfo._data) === null || _c === void 0 ? void 0 : _c.phone_verified_at) ||
2158
- !((_d = userInfo._data) === null || _d === void 0 ? void 0 : _d.phone)) {
2159
- store.useSSOV2Store.setState((f) => ({
2160
- flowData: Object.assign(Object.assign({}, f.flowData), { flow: 'login', isVerifyPhone: true }),
2161
- }));
2162
- addStep({
2163
- type: store.SSOStepTypeType.VERIFY_PHONE,
2164
- config: {
2165
- provider: provider,
2166
- },
2167
- });
2168
- goNext();
2169
- }
2170
2410
  else {
2171
2411
  onClose === null || onClose === void 0 ? void 0 : onClose(true);
2172
2412
  }
@@ -2206,7 +2446,7 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2206
2446
  };
2207
2447
  }, []);
2208
2448
  const onClickContinueZalo = () => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
2209
- var _e, _f;
2449
+ var _c, _d;
2210
2450
  setLoading(true);
2211
2451
  const { areaCode, phoneNumber } = splitPhone(phone);
2212
2452
  if (!areaCode || !phoneNumber || !phone) {
@@ -2215,12 +2455,13 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2215
2455
  }
2216
2456
  const userExist = yield store.checkUserExist({ phone: phoneNumber });
2217
2457
  if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
2218
- const provider = (_e = userExist._data) === null || _e === void 0 ? void 0 : _e.provider;
2219
- if ((_f = userExist._data) === null || _f === void 0 ? void 0 : _f.is_pass) {
2458
+ const provider = (_c = userExist._data) === null || _c === void 0 ? void 0 : _c.provider;
2459
+ if ((_d = userExist._data) === null || _d === void 0 ? void 0 : _d.is_pass) {
2220
2460
  store.useSSOV2Store.setState({
2221
2461
  flowData: {
2222
2462
  method: 'zalo',
2223
2463
  flow: 'login',
2464
+ metaData: userExist._data,
2224
2465
  },
2225
2466
  });
2226
2467
  addStep({
@@ -2248,6 +2489,7 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2248
2489
  flowData: {
2249
2490
  method: 'zalo',
2250
2491
  flow: 'signup',
2492
+ metaData: userExist._data,
2251
2493
  },
2252
2494
  });
2253
2495
  addStep({
@@ -2255,7 +2497,7 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2255
2497
  config: {
2256
2498
  phone,
2257
2499
  otpType: 'phone-zalo',
2258
- afterAction: 'setup',
2500
+ afterAction: 'forgot',
2259
2501
  },
2260
2502
  });
2261
2503
  goNext();
@@ -2267,7 +2509,7 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2267
2509
  setLoading(false);
2268
2510
  });
2269
2511
  const onClickContinuePhone = () => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
2270
- var _g, _h;
2512
+ var _e, _f;
2271
2513
  setLoading(true);
2272
2514
  const { areaCode, phoneNumber } = splitPhone(phone);
2273
2515
  if (!areaCode || !phoneNumber || !phone) {
@@ -2276,12 +2518,13 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2276
2518
  }
2277
2519
  const userExist = yield store.checkUserExist({ phone: phoneNumber });
2278
2520
  if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
2279
- const provider = (_g = userExist._data) === null || _g === void 0 ? void 0 : _g.provider;
2280
- if ((_h = userExist._data) === null || _h === void 0 ? void 0 : _h.is_pass) {
2521
+ const provider = (_e = userExist._data) === null || _e === void 0 ? void 0 : _e.provider;
2522
+ if ((_f = userExist._data) === null || _f === void 0 ? void 0 : _f.is_pass) {
2281
2523
  store.useSSOV2Store.setState({
2282
2524
  flowData: {
2283
2525
  method: 'sms',
2284
2526
  flow: 'login',
2527
+ metaData: userExist._data,
2285
2528
  },
2286
2529
  });
2287
2530
  addStep({
@@ -2309,6 +2552,7 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2309
2552
  flowData: {
2310
2553
  method: 'sms',
2311
2554
  flow: 'signup',
2555
+ metaData: userExist._data,
2312
2556
  },
2313
2557
  });
2314
2558
  addStep({
@@ -2316,7 +2560,7 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2316
2560
  config: {
2317
2561
  phone,
2318
2562
  otpType: 'phone-sms',
2319
- afterAction: 'setup',
2563
+ afterAction: 'forgot',
2320
2564
  },
2321
2565
  });
2322
2566
  goNext();
@@ -2328,7 +2572,7 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2328
2572
  setLoading(false);
2329
2573
  });
2330
2574
  const onClickLoginWithPhone = () => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
2331
- var _j, _k;
2575
+ var _g, _h;
2332
2576
  setLoading(true);
2333
2577
  const { areaCode, phoneNumber } = splitPhone(phone);
2334
2578
  if (!areaCode || !phoneNumber || !phone) {
@@ -2337,7 +2581,7 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2337
2581
  }
2338
2582
  const userExist = yield store.checkUserExist({ phone: phoneNumber });
2339
2583
  if ((userExist === null || userExist === void 0 ? void 0 : userExist._status) === 1) {
2340
- if (!userExist._data || !((_j = userExist._data) === null || _j === void 0 ? void 0 : _j.is_pass)) {
2584
+ if (!userExist._data || !((_g = userExist._data) === null || _g === void 0 ? void 0 : _g.is_pass)) {
2341
2585
  useMantineLocale.showNotification({
2342
2586
  message: t('ssov2.first.noAccountOrPass'),
2343
2587
  type: 'danger',
@@ -2345,11 +2589,12 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2345
2589
  setActiveTab('signup');
2346
2590
  return setLoading(false);
2347
2591
  }
2348
- if ((_k = userExist._data) === null || _k === void 0 ? void 0 : _k.is_pass) {
2592
+ if ((_h = userExist._data) === null || _h === void 0 ? void 0 : _h.is_pass) {
2349
2593
  store.useSSOV2Store.setState({
2350
2594
  flowData: {
2351
2595
  method: 'phone',
2352
2596
  flow: 'login',
2597
+ metaData: userExist._data,
2353
2598
  },
2354
2599
  });
2355
2600
  addStep({
@@ -2371,7 +2616,7 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2371
2616
  store.useSSOV2Store.setState({
2372
2617
  flowData: {
2373
2618
  method: 'email',
2374
- flow: 'login',
2619
+ flow: activeTab === 'login' ? 'login' : 'signup',
2375
2620
  },
2376
2621
  });
2377
2622
  addStep({
@@ -2428,10 +2673,21 @@ const SSOFirstScreen = ({ hidden, config, }) => {
2428
2673
  onClickContinueZalo();
2429
2674
  } },
2430
2675
  React__default["default"].createElement(index$5.Input.Wrapper, { error: errMsg },
2431
- React__default["default"].createElement(StyledPhone, { defaultCountry: (locale ? utils.MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone, onChange: (value) => setPhone(value), isError: !!errMsg, required: true, name: "phone", disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Enter Phone" }))),
2676
+ React__default["default"].createElement(StyledPhone, { defaultCountry: (locale ? utils.MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone, onChange: (value) => setPhone(value), isError: !!errMsg, required: true, name: "phone", disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Enter Phone", trackingFn: React.useCallback((option) => {
2677
+ if (!(option === null || option === void 0 ? void 0 : option.label))
2678
+ return;
2679
+ return {
2680
+ 'data-event-action': 'Country Selection',
2681
+ 'data-event-label': option.label,
2682
+ 'data-event-category': activeTab === 'signup'
2683
+ ? 'SSO - Sign Up'
2684
+ : 'SSO - Sign In',
2685
+ };
2686
+ }, [activeTab]) }))),
2432
2687
  React__default["default"].createElement(index$4.Button, { size: "lg", variant: "primary", onClick: onClickLoginWithPhone, loading: loading, disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue Login", display: activeTab === 'login' ? 'block' : 'none' }, t('ssov2.button.continue')),
2433
- React__default["default"].createElement(index$4.Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo, loading: loading, disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with Zalo", display: activeTab === 'signup' ? 'block' : 'none' }, t('ssov2.button.otp.zalo')),
2434
- React__default["default"].createElement(index$4.Button, { size: "lg", variant: "secondary", onClick: onClickContinuePhone, loading: loading, disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with SMS", display: activeTab === 'signup' ? 'block' : 'none' }, t('ssov2.button.otp.sms'))),
2688
+ React__default["default"].createElement(index$4.Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo, loading: loading, disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with Zalo", display: activeTab === 'signup' ? 'block' : 'none', leftIcon: React__default["default"].createElement(Zalo, null) }, t('ssov2.button.otp.zalo')),
2689
+ React__default["default"].createElement(index$4.Button, { size: "sm", variant: "white", onClick: onClickContinuePhone, loading: loading, disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with SMS", display: activeTab === 'signup' ? 'block' : 'none', style: { fontWeight: 400 }, color: "#595959", leftIcon: React__default["default"].createElement(core$1.ReplySquare, { size: 18 }) }, t('ssov2.button.otp.sms'))),
2690
+ React__default["default"].createElement(core.Divider, { color: "#E4E8EC", display: activeTab === 'signup' ? 'block' : 'none' }),
2435
2691
  React__default["default"].createElement(core.Stack, { spacing: 16, align: "center" },
2436
2692
  React__default["default"].createElement(index$3.Text, { size: "p4", color: "gray.4" }, t('ssov2.orContinueWith')),
2437
2693
  React__default["default"].createElement(core.Group, { spacing: 8, style: {
@@ -2510,10 +2766,8 @@ const initSendUpdateEmailOtp = (email) => tslib_es6.__awaiter(void 0, void 0, vo
2510
2766
  });
2511
2767
  });
2512
2768
  const resendUpdateEmailOTP = () => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
2513
- const formData = new FormData();
2514
2769
  return store.fetchSSOV2Api(store.SSO_V2_PATHS.ECOM_CARE.RESEND_OTP, {
2515
- method: 'POST',
2516
- body: formData,
2770
+ method: 'GET',
2517
2771
  });
2518
2772
  });
2519
2773
  const verifyUpdateEmailOTP = (otpCode) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
@@ -2528,8 +2782,8 @@ const verifyUpdateEmailOTP = (otpCode) => tslib_es6.__awaiter(void 0, void 0, vo
2528
2782
  const SSOOTPScreen = ({ hidden, index: index$1, config, }) => {
2529
2783
  const { t } = index.useTranslations();
2530
2784
  const { onClose, setTracking } = useSSOState();
2531
- const { setSteps } = store.useSSOSteps();
2532
- const { flowData } = store.useSSOV2Store();
2785
+ const { setSteps, steps } = store.useSSOSteps();
2786
+ const { flowData, userInfo } = store.useSSOV2Store();
2533
2787
  const [loading, setLoading] = React__default["default"].useState(false);
2534
2788
  const [otp, setOtp] = React__default["default"].useState('');
2535
2789
  const [error, setError] = React__default["default"].useState('');
@@ -2541,14 +2795,14 @@ const SSOOTPScreen = ({ hidden, index: index$1, config, }) => {
2541
2795
  const isEmail = otpType === 'email' || otpType === 'update-email';
2542
2796
  const isZalo = otpType === 'phone-zalo';
2543
2797
  const isSMS = otpType === 'phone-sms';
2544
- const trackingMethod = flowData.method;
2545
- const trackingCategory = `SSO - ${otpType === 'update-email' || isUpdatePhone
2546
- ? 'Existing Users'
2547
- : flowData.flow === 'signup'
2548
- ? 'Sign Up'
2549
- : 'Sign In'} via ${trackingMethod}`;
2798
+ const trackingMethod = flowData === null || flowData === void 0 ? void 0 : flowData.method;
2799
+ const trackingCategory = userInfo && !userInfo.first_time_login
2800
+ ? `SSO - Existing User via ${trackingMethod}`
2801
+ : isVerifyPhoneInTheSignUp(steps, flowData)
2802
+ ? `SSO - Sign Up via ${trackingMethod}`
2803
+ : `SSO - Sign In via ${trackingMethod}`;
2550
2804
  const trackingAction = isEmail
2551
- ? 'Verify Email'
2805
+ ? 'Verify Your Email'
2552
2806
  : `Verify Phone Number via ${isZalo ? 'Zalo' : isSMS ? 'SMS' : ''}`;
2553
2807
  React.useEffect(() => {
2554
2808
  if (!hidden) {
@@ -2561,15 +2815,7 @@ const SSOOTPScreen = ({ hidden, index: index$1, config, }) => {
2561
2815
  }, [hidden]);
2562
2816
  const addStepAndGoNext = (step) => {
2563
2817
  store.useSSOSteps.setState((old) => {
2564
- var _a, _b;
2565
2818
  const oldSteps = old.steps;
2566
- if (((_a = oldSteps[index$1 - 1]) === null || _a === void 0 ? void 0 : _a.type) === store.SSOStepTypeType.VERIFY_PHONE ||
2567
- ((_b = oldSteps[index$1 - 1]) === null || _b === void 0 ? void 0 : _b.type) === store.SSOStepTypeType.UPDATE_EMAIL) {
2568
- return {
2569
- steps: oldSteps.slice(0, index$1 - 1).concat(step),
2570
- currentStepIndex: index$1 - 1,
2571
- };
2572
- }
2573
2819
  return {
2574
2820
  steps: oldSteps.slice(0, index$1).concat(step),
2575
2821
  currentStepIndex: index$1,
@@ -2900,7 +3146,7 @@ const SSOOTPScreen = ({ hidden, index: index$1, config, }) => {
2900
3146
  'data-event-category': trackingCategory,
2901
3147
  'data-event-action': trackingAction,
2902
3148
  'data-event-label': 'Enter Code',
2903
- } })),
3149
+ }, placeholder: "*" })),
2904
3150
  React__default["default"].createElement(core.Group, { spacing: 8, align: "center", style: {
2905
3151
  height: 40,
2906
3152
  } },
@@ -2912,7 +3158,7 @@ const SSOOTPScreen = ({ hidden, index: index$1, config, }) => {
2912
3158
  count: resendTime,
2913
3159
  })))),
2914
3160
  React__default["default"].createElement(index$4.Button, { type: "submit", size: "lg", variant: "primary", mt: 12, fullWidth: true, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue", ref: submitButtonRef }, t('ssov2.button.continue')),
2915
- !isEmail && (React__default["default"].createElement(index$4.Button, { size: "lg", variant: "tertiary", mt: 12, onClick: swapZaloSms, fullWidth: true, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": `Send OTP Code via ${otpType === 'phone-sms' ? 'Zalo' : 'SMS'}` }, t('ssov2.otp.sendVia', {
3161
+ !isEmail && (React__default["default"].createElement(index$4.Button, { size: "sm", variant: "white", mt: 12, onClick: swapZaloSms, fullWidth: true, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": `Send OTP Code via ${otpType === 'phone-sms' ? 'Zalo' : 'SMS'}`, leftIcon: otpType === 'phone-sms' ? (React__default["default"].createElement(Zalo, { size: 18, useCurrentColor: true })) : (React__default["default"].createElement(core$1.ReplySquare, { size: 18 })), style: { fontWeight: 400 }, color: "#595959" }, t('ssov2.otp.sendVia', {
2916
3162
  method: otpType === 'phone-sms' ? 'Zalo' : 'SMS',
2917
3163
  })))));
2918
3164
  };
@@ -2920,6 +3166,7 @@ const SSOOTPScreen = ({ hidden, index: index$1, config, }) => {
2920
3166
  const SSOPasswordScreen = ({ hidden, config, }) => {
2921
3167
  const { t } = index.useTranslations();
2922
3168
  const { onClose, setTracking } = useSSOState();
3169
+ const { setUserInfo, flowData } = store.useSSOV2Store();
2923
3170
  const [errMsg, setErrMsg] = React__default["default"].useState('');
2924
3171
  const phone = config === null || config === void 0 ? void 0 : config.phone;
2925
3172
  const method = config === null || config === void 0 ? void 0 : config.method;
@@ -2955,9 +3202,15 @@ const SSOPasswordScreen = ({ hidden, config, }) => {
2955
3202
  let res;
2956
3203
  if (!((_a = existRes._data) === null || _a === void 0 ? void 0 : _a.provider)) {
2957
3204
  res = yield registerBySendEmailOTP(email);
3205
+ store.useSSOV2Store.setState((f) => ({
3206
+ flowData: Object.assign(Object.assign({}, f.flowData), { flow: 'signup' }),
3207
+ }));
2958
3208
  }
2959
3209
  else {
2960
3210
  res = yield resendEmailOTP(email);
3211
+ store.useSSOV2Store.setState((f) => ({
3212
+ flowData: Object.assign(Object.assign({}, f.flowData), { flow: 'login' }),
3213
+ }));
2961
3214
  }
2962
3215
  if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
2963
3216
  setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
@@ -2983,11 +3236,13 @@ const SSOPasswordScreen = ({ hidden, config, }) => {
2983
3236
  setLoading(false);
2984
3237
  });
2985
3238
  const onAuthSuccess = (data) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
2986
- var _c, _d;
2987
3239
  store.handleAuthSuccess(data);
3240
+ const userInfo = yield store.getUserInfo();
3241
+ const isPhoneFlow = isPhoneFlowFn(flowData);
3242
+ const isEmailFlow = isEmailFlowFn(flowData);
3243
+ setUserInfo(userInfo === null || userInfo === void 0 ? void 0 : userInfo._data);
2988
3244
  if (!phone && !!email) {
2989
- const userInfo = yield store.getUserInfo();
2990
- if (!((_c = userInfo._data) === null || _c === void 0 ? void 0 : _c.phone_verified_at) || !((_d = userInfo._data) === null || _d === void 0 ? void 0 : _d.phone)) {
3245
+ if (store.isPhoneNotVerifedYet(userInfo === null || userInfo === void 0 ? void 0 : userInfo._data)) {
2991
3246
  store.useSSOV2Store.setState((s) => ({
2992
3247
  flowData: Object.assign(Object.assign({}, s.flowData), { isVerifyPhone: true }),
2993
3248
  }));
@@ -3001,6 +3256,27 @@ const SSOPasswordScreen = ({ hidden, config, }) => {
3001
3256
  return;
3002
3257
  }
3003
3258
  }
3259
+ if (store.isLoginWithPhoneNotVerifedYet(flowData, userInfo._data)) {
3260
+ addStep({
3261
+ type: store.SSOStepTypeType.FORGOT_PASSWORD_PHONE,
3262
+ config: {
3263
+ phone: `${userInfo._data.area_code}${userInfo._data.phone}`,
3264
+ afterAction: 'setup',
3265
+ },
3266
+ });
3267
+ goNext();
3268
+ return;
3269
+ }
3270
+ if ((isPhoneFlow || isEmailFlow) && !store.isUserFinishedSetup(userInfo === null || userInfo === void 0 ? void 0 : userInfo._data)) {
3271
+ addStep({
3272
+ type: store.SSOStepTypeType.SETUP_FULL,
3273
+ config: {
3274
+ userInfo: userInfo === null || userInfo === void 0 ? void 0 : userInfo._data,
3275
+ },
3276
+ });
3277
+ goNext();
3278
+ return;
3279
+ }
3004
3280
  onClose === null || onClose === void 0 ? void 0 : onClose(true);
3005
3281
  });
3006
3282
  return (React__default["default"].createElement("form", { style: {
@@ -3049,6 +3325,48 @@ const SSOPasswordScreen = ({ hidden, config, }) => {
3049
3325
  React__default["default"].createElement(index$4.Button, { type: "submit", size: "lg", variant: "primary", mt: 12, fullWidth: true, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Sign In" }, t('ssov2.password.signIn'))));
3050
3326
  };
3051
3327
 
3328
+ const SetupLater = ({ style = {} }) => {
3329
+ const { t } = index.useTranslations();
3330
+ const { onClose, tracking } = useSSOState();
3331
+ const [loading, setLoading] = React.useState(false);
3332
+ const { userInfo, flowData } = store.useSSOV2Store();
3333
+ const { currentStepIndex, steps, addStep, goNext } = store.useSSOSteps();
3334
+ const currentStep = steps[currentStepIndex];
3335
+ const onClickSetupLater = () => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
3336
+ if (loading)
3337
+ return;
3338
+ setLoading(true);
3339
+ if (userInfo &&
3340
+ !store.isUserFinishedSetup(userInfo) &&
3341
+ ((currentStep === null || currentStep === void 0 ? void 0 : currentStep.type) === store.SSOStepTypeType.VERIFY_PHONE ||
3342
+ (currentStep === null || currentStep === void 0 ? void 0 : currentStep.type) === store.SSOStepTypeType.FORGOT_PASSWORD_PHONE)) {
3343
+ addStep({
3344
+ type: store.SSOStepTypeType.SETUP_FULL,
3345
+ config: {
3346
+ userInfo,
3347
+ },
3348
+ });
3349
+ goNext();
3350
+ }
3351
+ else if (!userInfo &&
3352
+ !store.isFlowFinishedSetup(flowData) &&
3353
+ (currentStep === null || currentStep === void 0 ? void 0 : currentStep.type) === store.SSOStepTypeType.VERIFY_PHONE) {
3354
+ addStep({
3355
+ type: store.SSOStepTypeType.SETUP_FULL,
3356
+ config: {
3357
+ userInfo,
3358
+ },
3359
+ });
3360
+ goNext();
3361
+ }
3362
+ else {
3363
+ onClose === null || onClose === void 0 ? void 0 : onClose(true);
3364
+ }
3365
+ setLoading(false);
3366
+ });
3367
+ return (React__default["default"].createElement(index$4.Button, { size: "sm", variant: "white", color: "#737373", style: Object.assign({ fontWeight: 400 }, style), onClick: onClickSetupLater, disabled: loading, dataEventCategory: tracking === null || tracking === void 0 ? void 0 : tracking.category, dataEventAction: tracking === null || tracking === void 0 ? void 0 : tracking.action, dataEventLabel: "Setup Later" }, t('ssov2.button.setupLater')));
3368
+ };
3369
+
3052
3370
  const SSOPasswordForgotPhone = ({ hidden, config, }) => {
3053
3371
  const phone = config === null || config === void 0 ? void 0 : config.phone;
3054
3372
  const { t } = index.useTranslations();
@@ -3096,7 +3414,7 @@ const SSOPasswordForgotPhone = ({ hidden, config, }) => {
3096
3414
  config: {
3097
3415
  phone,
3098
3416
  otpType: 'phone-zalo',
3099
- afterAction: 'forgot',
3417
+ afterAction: config.afterAction || 'forgot',
3100
3418
  provider: (_b = userExist._data) === null || _b === void 0 ? void 0 : _b.provider,
3101
3419
  },
3102
3420
  });
@@ -3139,7 +3457,7 @@ const SSOPasswordForgotPhone = ({ hidden, config, }) => {
3139
3457
  config: {
3140
3458
  phone,
3141
3459
  otpType: 'phone-sms',
3142
- afterAction: 'forgot',
3460
+ afterAction: config.afterAction || 'forgot',
3143
3461
  provider: (_d = userExist._data) === null || _d === void 0 ? void 0 : _d.provider,
3144
3462
  },
3145
3463
  });
@@ -3164,10 +3482,19 @@ const SSOPasswordForgotPhone = ({ hidden, config, }) => {
3164
3482
  React__default["default"].createElement(core.Stack, { mt: 24, spacing: 16 },
3165
3483
  React__default["default"].createElement(StyledPhone, { defaultCountry: (locale ? utils.MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone,
3166
3484
  // onChange={(value) => setPhone(value)}
3167
- isError: !!errMsg, required: true, disabled: true, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Enter Phone" }),
3485
+ isError: !!errMsg, required: true, disabled: true, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Enter Phone", trackingFn: React.useCallback((option) => {
3486
+ if (!(option === null || option === void 0 ? void 0 : option.label))
3487
+ return;
3488
+ return {
3489
+ 'data-event-action': 'Country Selection',
3490
+ 'data-event-label': option.label,
3491
+ 'data-event-category': trackingCategory,
3492
+ };
3493
+ }, []) }),
3168
3494
  errMsg && (React__default["default"].createElement(index$3.Text, { size: "label2", color: "red.6", mt: -12 }, errMsg)),
3169
- React__default["default"].createElement(index$4.Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with Zalo" }, t('ssov2.button.continueZalo')),
3170
- React__default["default"].createElement(index$4.Button, { size: "lg", variant: "secondary", onClick: onClickContinuePhone, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with SMS" }, t('ssov2.button.continueSMS')))));
3495
+ React__default["default"].createElement(index$4.Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with Zalo", leftIcon: React__default["default"].createElement(Zalo, null) }, t('ssov2.button.continueZalo')),
3496
+ React__default["default"].createElement(index$4.Button, { size: "sm", variant: "white", onClick: onClickContinuePhone, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with SMS", style: { fontWeight: 400 }, color: "#595959", leftIcon: React__default["default"].createElement(core$1.ReplySquare, { size: 18 }) }, t('ssov2.button.continueSMS')),
3497
+ React__default["default"].createElement(SetupLater, null))));
3171
3498
  };
3172
3499
 
3173
3500
  const CheckGrayIcon = () => (React__default["default"].createElement("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
@@ -3208,11 +3535,14 @@ const SSOPasswordForgotSetup = ({ hidden, }) => {
3208
3535
  const { t } = index.useTranslations();
3209
3536
  const [loading, setLoading] = React__default["default"].useState(false);
3210
3537
  const [errMsg, setErrMsg] = React__default["default"].useState('');
3211
- const { setTracking } = useSSOState();
3212
- const { flowData } = store.useSSOV2Store();
3538
+ const { setTracking, onClose } = useSSOState();
3539
+ const { addStep, goNext } = store.useSSOSteps();
3540
+ const { flowData, setUserInfo } = store.useSSOV2Store();
3213
3541
  const trackingMethod = flowData.method;
3214
- const trackingCategory = `SSO - Sign In via ${trackingMethod}`;
3215
- const trackingAction = `Setup New Password`;
3542
+ const trackingCategory = flowData.flow === 'login'
3543
+ ? `SSO - Sign In via ${trackingMethod}`
3544
+ : `SSO - Sign Up via ${trackingMethod}`;
3545
+ const trackingAction = `Setup Password`;
3216
3546
  React.useEffect(() => {
3217
3547
  if (!hidden) {
3218
3548
  setErrMsg('');
@@ -3240,6 +3570,7 @@ const SSOPasswordForgotSetup = ({ hidden, }) => {
3240
3570
  })),
3241
3571
  });
3242
3572
  const onSubmit = (values) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
3573
+ var _a;
3243
3574
  setLoading(true);
3244
3575
  try {
3245
3576
  const { password, confirmPassword } = values;
@@ -3247,22 +3578,72 @@ const SSOPasswordForgotSetup = ({ hidden, }) => {
3247
3578
  password.length <= 50 &&
3248
3579
  password.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/) &&
3249
3580
  password === confirmPassword) {
3250
- const res = yield store.resetPassword(password, confirmPassword);
3581
+ const isPhoneOrEmailFlow = isPhoneFlowFn(flowData) || isEmailFlowFn(flowData);
3582
+ const res = isPhoneOrEmailFlow
3583
+ ? yield store.updateUserInfo({
3584
+ password,
3585
+ confirm_password: confirmPassword,
3586
+ validate: '',
3587
+ })
3588
+ : yield store.resetPassword(password, confirmPassword);
3251
3589
  if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
3252
- useMantineLocale.showNotification({
3253
- type: 'success',
3254
- message: 'Password has been reset successfully',
3255
- });
3256
- // back to login step
3257
- const foundPasswordIndex = steps.findIndex((step) => step.type === store.SSOStepTypeType.PASSWORD);
3258
- if (foundPasswordIndex === -1) {
3259
- // reset to first step
3260
- setSteps((s) => [s[0]]);
3261
- store.useSSOSteps.setState({ currentStepIndex: 0 });
3590
+ if (isPhoneOrEmailFlow) {
3591
+ // Login again to fetch token
3592
+ const email = parseEmailFromToken((_a = res === null || res === void 0 ? void 0 : res._data) === null || _a === void 0 ? void 0 : _a.token);
3593
+ // Only Email flow have the verify phone before. Need new profile to tracking correctly
3594
+ const newTokenRes = isEmailFlowFn(flowData) && isResetPasswordFlowFn(steps)
3595
+ ? yield loginByEmailPassword(email, password)
3596
+ : null;
3597
+ store.handleAuthSuccess((newTokenRes === null || newTokenRes === void 0 ? void 0 : newTokenRes._data) || (res === null || res === void 0 ? void 0 : res._data));
3598
+ const userInfo = yield store.getUserInfo();
3599
+ // Phone
3600
+ if (isPhoneFlowFn(flowData)) {
3601
+ if (userInfo && !store.isUserFinishedSetup(userInfo === null || userInfo === void 0 ? void 0 : userInfo._data)) {
3602
+ addStep({
3603
+ type: store.SSOStepTypeType.SETUP_FULL,
3604
+ config: {
3605
+ userInfo: userInfo === null || userInfo === void 0 ? void 0 : userInfo._data,
3606
+ },
3607
+ });
3608
+ goNext();
3609
+ }
3610
+ else {
3611
+ onClose === null || onClose === void 0 ? void 0 : onClose(true);
3612
+ }
3613
+ }
3614
+ // Email
3615
+ if (isEmailFlowFn(flowData)) {
3616
+ setUserInfo(userInfo === null || userInfo === void 0 ? void 0 : userInfo._data);
3617
+ if (store.isPhoneNotVerifedYet(userInfo === null || userInfo === void 0 ? void 0 : userInfo._data)) {
3618
+ addStep({
3619
+ type: store.SSOStepTypeType.VERIFY_PHONE,
3620
+ config: {
3621
+ provider: 'email',
3622
+ },
3623
+ });
3624
+ goNext();
3625
+ }
3626
+ else {
3627
+ onClose === null || onClose === void 0 ? void 0 : onClose(true);
3628
+ }
3629
+ }
3262
3630
  }
3263
3631
  else {
3264
- setSteps((s) => s.slice(0, foundPasswordIndex + 1));
3265
- store.useSSOSteps.setState({ currentStepIndex: foundPasswordIndex });
3632
+ useMantineLocale.showNotification({
3633
+ type: 'success',
3634
+ message: 'Password has been reset successfully',
3635
+ });
3636
+ // back to login step
3637
+ const foundPasswordIndex = steps.findIndex((step) => step.type === store.SSOStepTypeType.PASSWORD);
3638
+ if (foundPasswordIndex === -1) {
3639
+ // reset to first step
3640
+ setSteps((s) => [s[0]]);
3641
+ store.useSSOSteps.setState({ currentStepIndex: 0 });
3642
+ }
3643
+ else {
3644
+ setSteps((s) => s.slice(0, foundPasswordIndex + 1));
3645
+ store.useSSOSteps.setState({ currentStepIndex: foundPasswordIndex });
3646
+ }
3266
3647
  }
3267
3648
  // onClose?.()
3268
3649
  }
@@ -3290,7 +3671,9 @@ const SSOPasswordForgotSetup = ({ hidden, }) => {
3290
3671
  action: trackingAction,
3291
3672
  } }),
3292
3673
  errMsg && (React__default["default"].createElement(index$3.Text, { size: "label2", color: "red.6", mt: -12 }, errMsg)),
3293
- React__default["default"].createElement(index$4.Button, { type: "submit", size: "lg", variant: "primary", fullWidth: true, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Save" }, t('ssov2.button.save')))));
3674
+ React__default["default"].createElement(index$4.Button, { type: "submit", size: "lg", variant: "primary", fullWidth: true, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": (flowData === null || flowData === void 0 ? void 0 : flowData.flow) === 'signup' ? 'Create New Account' : 'Save' }, (flowData === null || flowData === void 0 ? void 0 : flowData.flow) === 'signup'
3675
+ ? t('ssov2.setup.button.createAccount')
3676
+ : t('ssov2.button.save')))));
3294
3677
  };
3295
3678
 
3296
3679
  const SSOPhoneVerify = ({ hidden, config, }) => {
@@ -3299,8 +3682,15 @@ const SSOPhoneVerify = ({ hidden, config, }) => {
3299
3682
  const [loading, setLoading] = React__default["default"].useState(false);
3300
3683
  const [errMsg, setErrMsg] = React__default["default"].useState('');
3301
3684
  const { locale, setTracking } = useSSOState();
3685
+ const { flowData, userInfo } = store.useSSOV2Store();
3686
+ const { steps } = store.useSSOSteps();
3302
3687
  const { afterAction, provider } = config || {};
3303
- const trackingCategory = `SSO - Existing Users via ${provider}`;
3688
+ const trackingMethod = flowData === null || flowData === void 0 ? void 0 : flowData.method;
3689
+ const trackingCategory = userInfo && !userInfo.first_time_login
3690
+ ? `SSO - Existing User via ${trackingMethod}`
3691
+ : isVerifyPhoneInTheSignUp(steps, flowData)
3692
+ ? `SSO - Sign Up via ${trackingMethod}`
3693
+ : `SSO - Sign In via ${trackingMethod}`;
3304
3694
  const trackingAction = 'Verify Phone Number';
3305
3695
  React.useEffect(() => {
3306
3696
  if (!hidden) {
@@ -3311,6 +3701,7 @@ const SSOPhoneVerify = ({ hidden, config, }) => {
3311
3701
  });
3312
3702
  }
3313
3703
  }, [hidden]);
3704
+ const { source } = store.useSSOV2Store();
3314
3705
  const { addStep, goNext } = store.useSSOSteps();
3315
3706
  const onClickContinueZalo = () => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
3316
3707
  setLoading(true);
@@ -3408,9 +3799,18 @@ const SSOPhoneVerify = ({ hidden, config, }) => {
3408
3799
  React__default["default"].createElement(StyledPhone, { defaultCountry: (locale ? utils.MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: phone, onChange: (value) => {
3409
3800
  setPhone(value);
3410
3801
  setErrMsg('');
3411
- }, isError: !!errMsg, required: true, name: "phone", disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Enter Phone" })),
3412
- React__default["default"].createElement(index$4.Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with Zalo" }, t('ssov2.button.continueZalo')),
3413
- React__default["default"].createElement(index$4.Button, { size: "lg", variant: "secondary", onClick: onClickContinuePhone, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with SMS" }, t('ssov2.button.continueSMS'))))));
3802
+ }, isError: !!errMsg, required: true, name: "phone", disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Enter Phone", trackingFn: React.useCallback((option) => {
3803
+ if (!(option === null || option === void 0 ? void 0 : option.label))
3804
+ return;
3805
+ return {
3806
+ 'data-event-action': 'Country Selection',
3807
+ 'data-event-label': option.label,
3808
+ 'data-event-category': trackingCategory,
3809
+ };
3810
+ }, []) })),
3811
+ React__default["default"].createElement(index$4.Button, { size: "lg", variant: "primary", onClick: onClickContinueZalo, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with Zalo", leftIcon: React__default["default"].createElement(Zalo, null) }, t('ssov2.button.continueZalo')),
3812
+ React__default["default"].createElement(index$4.Button, { size: "sm", variant: "white", onClick: onClickContinuePhone, disabled: loading, loading: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Continue with SMS", style: { fontWeight: 400 }, color: "#595959", leftIcon: React__default["default"].createElement(core$1.ReplySquare, { size: 18 }) }, t('ssov2.button.continueSMS')),
3813
+ source !== 'care_onboarding' && source !== 'ecom' && React__default["default"].createElement(SetupLater, null)))));
3414
3814
  };
3415
3815
 
3416
3816
  const FemaleIcon = () => (React__default["default"].createElement("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
@@ -3442,39 +3842,19 @@ const MaleIcon = () => (React__default["default"].createElement("svg", { width:
3442
3842
  React__default["default"].createElement("path", { d: "M11.122 6.393a.157.157 0 0 1-.051-.304c.687-.234 1.688-.344 2.26-.03a.156.156 0 0 1-.15.274c-.463-.254-1.38-.163-2.009.052a.2.2 0 0 1-.05.008m-2.19.572a.16.16 0 0 1-.144-.097c-.013-.027-.123-.097-.363-.129-.325-.043-.672.016-.772.131a.156.156 0 1 1-.236-.205c.214-.245.721-.29 1.103-.228.209.034.475.116.556.311a.156.156 0 0 1-.144.217m.222-.571a.2.2 0 0 1-.05-.009c-.629-.215-1.546-.306-2.009-.051a.156.156 0 1 1-.15-.274c.572-.315 1.572-.206 2.26.03a.156.156 0 0 1-.05.304", fill: "#404040" }),
3443
3843
  React__default["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" })));
3444
3844
 
3845
+ // import { StyledPhone } from '../components/phone'
3445
3846
  // always has name, gender dob
3446
- const OtherSetup = ({ form, needPhone, skipPhone, needEmail, isEmailDisable, isPhoneDisabled, loading, tracking, }) => {
3847
+ const OtherSetup = ({ form,
3848
+ // needPhone,
3849
+ // skipPhone,
3850
+ needEmail, isEmailDisable,
3851
+ // isPhoneDisabled,
3852
+ loading, tracking, }) => {
3447
3853
  const { t } = index.useTranslations();
3448
- const { locale = 'vi-VN' } = useSSOState();
3854
+ // const { locale = 'vi-VN' } = useSSOState()
3449
3855
  const { setupSource } = store.useSSOV2Store();
3450
3856
  const [dobChanged, setDobChanged] = React__default["default"].useState(false);
3451
3857
  return (React__default["default"].createElement(core.Stack, { spacing: 12 },
3452
- needPhone && (React__default["default"].createElement(React__default["default"].Fragment, null,
3453
- React__default["default"].createElement(index$5.Input.Wrapper, Object.assign({ label: t('ssov2.setup.field.phone.label'), withAsterisk: true }, form.getInputProps('phone')),
3454
- React__default["default"].createElement(StyledPhone, { defaultCountry: (locale ? utils.MAPPED_LOCALE[locale] || 'VN' : 'VN'), value: form.getInputProps('phone').value, onChange: (value) => {
3455
- form.setFieldValue('phone', value);
3456
- }, isError: !!form.getInputProps('phone').error, required: true, name: "phone", disabled: loading || isPhoneDisabled, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Enter Phone" })),
3457
- !skipPhone && (React__default["default"].createElement(core.Group, { spacing: 24 },
3458
- React__default["default"].createElement(index$3.Text, { size: "p4" }, t('ssov2.setup.field.otp.label')),
3459
- React__default["default"].createElement(index$5.Radio.Group, Object.assign({ name: "otpMethod", styles: {
3460
- root: {
3461
- display: 'flex',
3462
- flexDirection: 'row',
3463
- flexWrap: 'wrap',
3464
- gap: 24,
3465
- },
3466
- } }, form.getInputProps('otpMethod')),
3467
- React__default["default"].createElement(index$5.Radio, { value: "zalo", label: "Zalo", styles: {
3468
- label: {
3469
- paddingLeft: 8,
3470
- },
3471
- }, disabled: loading, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Send OTP Code via Zalo" }),
3472
- React__default["default"].createElement(index$5.Radio, { value: "sms", label: "SMS", styles: {
3473
- label: {
3474
- paddingLeft: 8,
3475
- },
3476
- }, disabled: loading, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Send OTP Code via SMS" })))))),
3477
- needEmail && (React__default["default"].createElement(index$5.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, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Enter Email" }, form.getInputProps('email')))),
3478
3858
  React__default["default"].createElement(index$5.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, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Enter Name" }, form.getInputProps('name'))),
3479
3859
  React__default["default"].createElement(index$5.Input.Wrapper, Object.assign({ label: t('ssov2.setup.field.gender.label'), withAsterisk: true }, form.getInputProps('gender')),
3480
3860
  React__default["default"].createElement(core.Group, null,
@@ -3489,7 +3869,7 @@ const OtherSetup = ({ form, needPhone, skipPhone, needEmail, isEmailDisable, isP
3489
3869
  ? 'secondary'
3490
3870
  : 'tertiary', onClick: () => {
3491
3871
  form.setFieldValue('gender', 'female');
3492
- }, leftIcon: React__default["default"].createElement(FemaleIcon, null), disabled: loading, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Enter Gender Female" }, t('ssov2.setup.field.gender.female')),
3872
+ }, leftIcon: React__default["default"].createElement(FemaleIcon, null), disabled: loading, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Enter Gender" }, t('ssov2.setup.field.gender.female')),
3493
3873
  React__default["default"].createElement(index$4.Button, { type: "button", styles: {
3494
3874
  root: {
3495
3875
  flex: 1,
@@ -3501,7 +3881,7 @@ const OtherSetup = ({ form, needPhone, skipPhone, needEmail, isEmailDisable, isP
3501
3881
  ? 'secondary'
3502
3882
  : 'tertiary', onClick: () => {
3503
3883
  form.setFieldValue('gender', 'male');
3504
- }, leftIcon: React__default["default"].createElement(MaleIcon, null), disabled: loading, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Enter Gender Male" }, t('ssov2.setup.field.gender.male')))),
3884
+ }, leftIcon: React__default["default"].createElement(MaleIcon, null), disabled: loading, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Enter Gender" }, t('ssov2.setup.field.gender.male')))),
3505
3885
  React__default["default"].createElement(index$7.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(new Date().getFullYear() - 18, new Date().getMonth(), new Date().getDate()), disabled: loading, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Enter Birthday" }, form.getInputProps('dob'), { onChange: (e) => {
3506
3886
  form.getInputProps('dob').onChange(e);
3507
3887
  setDobChanged(true);
@@ -3509,9 +3889,13 @@ const OtherSetup = ({ form, needPhone, skipPhone, needEmail, isEmailDisable, isP
3509
3889
  if (!form.getInputProps('dob').value && !dobChanged)
3510
3890
  return;
3511
3891
  form.getInputProps('dob').onBlur(e);
3512
- } }))));
3892
+ } })),
3893
+ needEmail && (React__default["default"].createElement(index$5.Input, Object.assign({ name: "email", type: "email", label: t('ssov2.setup.field.email.label'), disabled: isEmailDisable || loading, required: setupSource === 'care' || setupSource === 'ecom' ? true : false, withAsterisk: setupSource === 'care' || setupSource === 'ecom' ? true : false, "data-event-category": tracking === null || tracking === void 0 ? void 0 : tracking.category, "data-event-action": tracking === null || tracking === void 0 ? void 0 : tracking.action, "data-event-label": "Enter Email", style: {
3894
+ display: isEmailDisable ? 'none' : 'block',
3895
+ } }, form.getInputProps('email'))))));
3513
3896
  };
3514
3897
 
3898
+ // import { SSOPasswordWithConfirm } from '../passwordForgotSetup/passwordWithConfirm'
3515
3899
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3516
3900
  const getDefaultData = (data) => {
3517
3901
  try {
@@ -3537,7 +3921,6 @@ const SSOSetupScreen = ({ hidden, config, }) => {
3537
3921
  var _a, _b, _c;
3538
3922
  const { onClose, setTracking } = useSSOState();
3539
3923
  const { t } = index.useTranslations();
3540
- const { goNext, addStep } = store.useSSOSteps();
3541
3924
  const { setupSource, flowData } = store.useSSOV2Store();
3542
3925
  const [errMsg, setErrMsg] = React__default["default"].useState('');
3543
3926
  const userInfo = config === null || config === void 0 ? void 0 : config.userInfo;
@@ -3547,13 +3930,6 @@ const SSOSetupScreen = ({ hidden, config, }) => {
3547
3930
  const provider = (_a = config === null || config === void 0 ? void 0 : config.userInfo) === null || _a === void 0 ? void 0 : _a.provider;
3548
3931
  const authFlow = flowData === null || flowData === void 0 ? void 0 : flowData.flow;
3549
3932
  const defaultData = getDefaultData(config === null || config === void 0 ? void 0 : config.setupDefaultData);
3550
- const needPass = (authMethod === 'phone' ||
3551
- authMethod === 'zalo' ||
3552
- authMethod === 'sms' ||
3553
- authMethod === 'email' ||
3554
- provider === 'email' ||
3555
- provider === 'phone') &&
3556
- !(userInfo === null || userInfo === void 0 ? void 0 : userInfo.is_pass);
3557
3933
  const skipPhone = (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone) && !!(userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone_verified_at);
3558
3934
  const isPhoneDisabled = !!(configPhone || (defaultData === null || defaultData === void 0 ? void 0 : defaultData.phone) || skipPhone);
3559
3935
  const needPhone = authFlow === 'signup' &&
@@ -3570,11 +3946,10 @@ const SSOSetupScreen = ({ hidden, config, }) => {
3570
3946
  : undefined) ||
3571
3947
  undefined;
3572
3948
  const needEmail = setupSource === 'care' ||
3949
+ setupSource === 'ecom' ||
3573
3950
  !(flowData === null || flowData === void 0 ? void 0 : flowData.isVerifyPhone) ||
3574
3951
  authMethod === 'facebook' ||
3575
3952
  provider === 'facebook';
3576
- // const needPhone = !userInfo?.phone_verified_at
3577
- // const needEmail = authFlow !== 'verify-phone'
3578
3953
  const isEmailDisable = (defaultEmail &&
3579
3954
  (authMethod === 'google' ||
3580
3955
  authMethod === 'email' ||
@@ -3582,7 +3957,7 @@ const SSOSetupScreen = ({ hidden, config, }) => {
3582
3957
  provider === 'email')) ||
3583
3958
  (!!(userInfo === null || userInfo === void 0 ? void 0 : userInfo.email) && !!(userInfo === null || userInfo === void 0 ? void 0 : userInfo.email_verified_at));
3584
3959
  const trackingCategory = `SSO - ${authFlow === 'signup' ? 'Sign Up' : 'Existing Users'} via ${authMethod || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.provider)}`;
3585
- const trackingAction = 'Almost done';
3960
+ const trackingAction = 'Add Information';
3586
3961
  React.useEffect(() => {
3587
3962
  if (!hidden) {
3588
3963
  setErrMsg('');
@@ -3611,32 +3986,9 @@ const SSOSetupScreen = ({ hidden, config, }) => {
3611
3986
  ? dayjs__default["default"](defaultData.birthday, 'MM/DD/YYYY').toDate()
3612
3987
  : undefined }),
3613
3988
  validateInputOnBlur: true,
3614
- validate: form.yupResolver(yup__namespace.object().shape(Object.assign(Object.assign(Object.assign(Object.assign({}, (needPass
3615
- ? {
3616
- password: yup__namespace
3617
- .string()
3618
- .required(t('ssov2.validate.password.required'))
3619
- .min(8, ' ')
3620
- .max(50, ' ')
3621
- .matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)/, ' '),
3622
- confirmPassword: yup__namespace
3623
- .string()
3624
- .required(t('ssov2.validate.confirmPassword.required'))
3625
- .test('passwords-match', t('ssov2.validate.confirmPassword.match'), function (value) {
3626
- return this.parent.password === value;
3627
- }),
3628
- }
3629
- : {})), (needPhone
3630
- ? Object.assign({ phone: yup__namespace.string().required(t('ssov2.validate.phone.required')) }, (!skipPhone
3631
- ? {
3632
- otpMethod: yup__namespace
3633
- .string()
3634
- .required(t('ssov2.validate.otp.required'))
3635
- .oneOf(['zalo', 'sms']),
3636
- }
3637
- : {})) : {})), (needEmail
3989
+ validate: form.yupResolver(yup__namespace.object().shape(Object.assign(Object.assign({}, (needEmail
3638
3990
  ? {
3639
- email: setupSource === 'care'
3991
+ email: setupSource === 'care' || setupSource === 'ecom'
3640
3992
  ? yup__namespace
3641
3993
  .string()
3642
3994
  .email(t('ssov2.validate.email.invalid'))
@@ -3651,15 +4003,13 @@ const SSOSetupScreen = ({ hidden, config, }) => {
3651
4003
  const onSubmit = (values) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
3652
4004
  setLoading(true);
3653
4005
  try {
3654
- const { password, confirmPassword, phone, gender, name, dob, otpMethod } = values;
4006
+ const { phone, gender, name, dob } = values;
3655
4007
  const { phoneNumber, areaCode } = splitPhone(phone || configPhone || '');
3656
4008
  // validate only, delay set data to after otp
3657
4009
  const res = yield store.updateUserInfo({
3658
4010
  name,
3659
4011
  birthday: dayjs__default["default"](dob).format('YYYY-MM-DD'),
3660
4012
  email: values.email || undefined,
3661
- password,
3662
- confirm_password: confirmPassword,
3663
4013
  phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
3664
4014
  area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code) || '84',
3665
4015
  gender: gender === 'male' ? 1 : 0,
@@ -3667,80 +4017,23 @@ const SSOSetupScreen = ({ hidden, config, }) => {
3667
4017
  validate: 'true',
3668
4018
  });
3669
4019
  if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
3670
- // if need phone and has phone then start phone verify step, close after done
3671
- if (needPhone && !skipPhone) {
3672
- const setupData = {
3673
- name,
3674
- birthday: dayjs__default["default"](dob).format('YYYY-MM-DD'),
3675
- email: values.email || undefined,
3676
- password,
3677
- confirm_password: confirmPassword,
3678
- phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
3679
- area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code) || '84',
3680
- gender: gender === 'male' ? 1 : 0,
3681
- source: setupSource,
3682
- };
3683
- if (otpMethod === 'zalo') {
3684
- const res = yield resendUpdatePhoneZaloOTP(phoneNumber, areaCode);
3685
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
3686
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
3687
- return setLoading(false);
3688
- }
3689
- addStep({
3690
- type: store.SSOStepTypeType.OTP,
3691
- config: {
3692
- phone,
3693
- otpType: 'phone-zalo',
3694
- isUpdatePhone: true,
3695
- afterAction: 'submitSetup',
3696
- setupData,
3697
- provider,
3698
- },
3699
- });
3700
- goNext();
3701
- }
3702
- else {
3703
- const res = yield resendUpdatePhoneOTP(phoneNumber, areaCode);
3704
- if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
3705
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
3706
- return setLoading(false);
3707
- }
3708
- addStep({
3709
- type: store.SSOStepTypeType.OTP,
3710
- config: {
3711
- phone,
3712
- otpType: 'phone-sms',
3713
- isUpdatePhone: true,
3714
- afterAction: 'submitSetup',
3715
- setupData,
3716
- provider,
3717
- },
3718
- });
3719
- goNext();
3720
- }
4020
+ const res = yield store.updateUserInfo({
4021
+ name,
4022
+ birthday: dayjs__default["default"](dob).format('YYYY-MM-DD'),
4023
+ email: values.email || undefined,
4024
+ phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
4025
+ area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code),
4026
+ gender: gender === 'male' ? 1 : 0,
4027
+ source: setupSource,
4028
+ validate: '',
4029
+ });
4030
+ if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
4031
+ store.handleAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
4032
+ onClose === null || onClose === void 0 ? void 0 : onClose(true);
3721
4033
  }
3722
4034
  else {
3723
- // close?
3724
- const res = yield store.updateUserInfo({
3725
- name,
3726
- birthday: dayjs__default["default"](dob).format('YYYY-MM-DD'),
3727
- email: values.email || undefined,
3728
- password,
3729
- confirm_password: confirmPassword,
3730
- phone_number: phoneNumber || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.phone),
3731
- area_code: areaCode || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.area_code),
3732
- gender: gender === 'male' ? 1 : 0,
3733
- source: setupSource,
3734
- validate: '',
3735
- });
3736
- if ((res === null || res === void 0 ? void 0 : res._status) === 1) {
3737
- store.handleAuthSuccess(res === null || res === void 0 ? void 0 : res._data);
3738
- onClose === null || onClose === void 0 ? void 0 : onClose(true);
3739
- }
3740
- else {
3741
- setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
3742
- return setLoading(false);
3743
- }
4035
+ setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
4036
+ return setLoading(false);
3744
4037
  }
3745
4038
  }
3746
4039
  else {
@@ -3761,36 +4054,22 @@ const SSOSetupScreen = ({ hidden, config, }) => {
3761
4054
  React__default["default"].createElement(core.Stack, { spacing: 8 },
3762
4055
  React__default["default"].createElement(index$3.Text, { size: "s1", weight: "semiBold" }, t('ssov2.setup.title')),
3763
4056
  React__default["default"].createElement(index$3.Text, { size: "p4" }, t('ssov2.setup.description'))),
3764
- needPass && (React__default["default"].createElement(SSOPasswordWithConfirm, { form: form$1, loading: loading, tracking: {
3765
- category: trackingCategory,
3766
- action: trackingAction,
3767
- } })),
3768
4057
  React__default["default"].createElement(OtherSetup, { needPhone: needPhone, skipPhone: skipPhone, needEmail: needEmail, isEmailDisable: isEmailDisable, isPhoneDisabled: isPhoneDisabled, form: form$1, loading: loading, tracking: {
3769
4058
  category: trackingCategory,
3770
4059
  action: trackingAction,
3771
4060
  } }),
3772
4061
  errMsg && (React__default["default"].createElement(index$3.Text, { color: "red.6", size: "p4" }, errMsg)),
3773
- React__default["default"].createElement(index$4.Button, { type: "submit", variant: "primary", fullWidth: true, loading: loading, disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": needPhone && !skipPhone
3774
- ? 'Verify Phone Number'
3775
- : authFlow === 'signup'
3776
- ? 'Create New Account'
3777
- : 'Save' }, needPhone && !skipPhone
3778
- ? t('ssov2.setup.button.veriyPhone')
3779
- : authFlow === 'signup'
3780
- ? t('ssov2.setup.button.createAccount')
3781
- : t('ssov2.button.save')))));
4062
+ React__default["default"].createElement(index$4.Button, { type: "submit", variant: "primary", fullWidth: true, loading: loading, disabled: loading, "data-event-category": trackingCategory, "data-event-action": trackingAction, "data-event-label": "Save" }, t('ssov2.button.save')),
4063
+ React__default["default"].createElement(SetupLater, { style: { marginTop: -8 } }))));
3782
4064
  };
3783
4065
 
3784
- // import {
3785
- // getSSOFlowFromUserProfile,
3786
- // useSSOV2Store,
3787
- // } from '../ssoStateManager/store'
3788
4066
  const SSOUpdateEmailScreen = ({ hidden, }) => {
3789
4067
  const { t } = index.useTranslations();
3790
4068
  const [errMsg, setErrMsg] = React__default["default"].useState('');
3791
4069
  const { setTracking } = useSSOState();
3792
- const trackingCategory = `SSO - Update Email`;
3793
- const trackingAction = 'Update Your Email';
4070
+ const { flowData } = store.useSSOV2Store();
4071
+ const trackingCategory = `SSO - Existing User via ${flowData === null || flowData === void 0 ? void 0 : flowData.method}`;
4072
+ const trackingAction = 'Continue With Email';
3794
4073
  React.useEffect(() => {
3795
4074
  if (!hidden) {
3796
4075
  setErrMsg('');
@@ -3816,9 +4095,6 @@ const SSOUpdateEmailScreen = ({ hidden, }) => {
3816
4095
  if ((existRes === null || existRes === void 0 ? void 0 : existRes._status) === 1) {
3817
4096
  const userInfo = yield store.getUserInfo();
3818
4097
  if (!existRes._data || email === ((_a = userInfo === null || userInfo === void 0 ? void 0 : userInfo._data) === null || _a === void 0 ? void 0 : _a.email)) {
3819
- // useSSOV2Store.setState({
3820
- // flowData: getSSOFlowFromUserProfile(userInfo?._data),
3821
- // })
3822
4098
  const res = yield initSendUpdateEmailOtp(email);
3823
4099
  if ((res === null || res === void 0 ? void 0 : res._status) !== 1) {
3824
4100
  setErrMsg(getErrorTextFromCode(t, res === null || res === void 0 ? void 0 : res.code));
@@ -3887,6 +4163,20 @@ const SSOScreenRenderer = () => {
3887
4163
  })));
3888
4164
  };
3889
4165
 
4166
+ if (!Array.prototype.findLastIndex) {
4167
+ Array.prototype.findLastIndex = function (callback, thisArg) {
4168
+ for (let i = this.length - 1; i >= 0; i--) {
4169
+ if (callback.call(thisArg, this[i], i, this))
4170
+ return i;
4171
+ }
4172
+ return -1;
4173
+ };
4174
+ }
4175
+ if (!String.prototype.capitalize) {
4176
+ String.prototype.capitalize = function () {
4177
+ return this.charAt(0).toUpperCase() + this.slice(1);
4178
+ };
4179
+ }
3890
4180
  const SSOV2 = ({ onClose: onCloseProps, locale }) => {
3891
4181
  const { isOpen, setOpen, returnUrl, setMounted, source, overrideClose, setOnCloseProp, forceReloadOnClose, } = store.useSSOV2Store();
3892
4182
  React.useEffect(() => {