@hhgtech/hhg-components 1.29.361 → 1.29.362-beta-2

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 (545) hide show
  1. package/build/InputDate-e23dea6a.js +387 -0
  2. package/build/{LastPeriod-0343f7fc.js → LastPeriod-357443f0.js} +1 -1
  3. package/build/{MobileBottomNavigationIcon-925c3b0d.js → MobileBottomNavigationIcon-5bde2710.js} +3 -3
  4. package/build/{Spinner-7bd6c35a.js → Spinner-73b4c4a1.js} +1 -1
  5. package/build/{WhatsApp-3c960a24.js → WhatsApp-29881ac8.js} +1 -1
  6. package/build/adapters.js +19 -19
  7. package/build/atoms.js +49 -47
  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/atoms/index.d.ts +1 -0
  14. package/build/components/atoms/inputDate/InputDate.d.ts +25 -0
  15. package/build/components/atoms/inputDate/InputDate.helpers.d.ts +13 -0
  16. package/build/components/atoms/inputDate/InputDate.styled.d.ts +5 -0
  17. package/build/components/atoms/inputDate/index.d.ts +1 -0
  18. package/build/components/mantine/phoneInput/PhoneInput.d.ts +15 -0
  19. package/build/components/mantine/phoneInput/index.d.ts +1 -0
  20. package/build/components/navigationV2/components/molecules/navigationBar/index.styled.d.ts +2 -0
  21. package/build/components/navigationV2/hooks/useNavConfig.d.ts +1 -0
  22. package/build/components/navigationV2/types.d.ts +1 -1
  23. package/build/components.js +122 -121
  24. package/build/{constants-652c014e.js → constants-9a84ce9f.js} +1 -1
  25. package/build/constants.js +3 -3
  26. package/build/constantsDomainLocales.js +1 -1
  27. package/build/constantsRiskScreener.js +2 -2
  28. package/build/constantsSite.js +2 -2
  29. package/build/{core-a8bc1a58.js → core-21c6f95b.js} +1 -1
  30. package/build/{dataTransform-16c7d725.js → dataTransform-a7efac3c.js} +1 -1
  31. package/build/ecom.js +4 -4
  32. package/build/{editor-41482f4f.js → editor-6b155062.js} +11 -11
  33. package/build/embeddedHeathToolCards_babyGrowth.js +23 -23
  34. package/build/embeddedHeathToolCards_babyPoop.js +19 -19
  35. package/build/embeddedHeathToolCards_babyVaccine.js +22 -22
  36. package/build/embeddedHeathToolCards_bmi_bmi.js +25 -25
  37. package/build/embeddedHeathToolCards_bmrBmr.js +25 -25
  38. package/build/embeddedHeathToolCards_dueDate_dueDate.js +22 -22
  39. package/build/embeddedHeathToolCards_ovulation_ovulation.js +22 -22
  40. package/build/embeddedHeathToolCards_pwg_pwg.js +26 -26
  41. package/build/embeddedHeathToolCards_targetHeartRate.js +27 -27
  42. package/build/esm/InputDate-86119dfd.js +378 -0
  43. package/build/esm/{LastPeriod-3cf4f693.js → LastPeriod-b3d6bbc2.js} +1 -1
  44. package/build/esm/{MobileBottomNavigationIcon-76493605.js → MobileBottomNavigationIcon-e7ae8a4a.js} +3 -3
  45. package/build/esm/{Spinner-96ba8cab.js → Spinner-d99c754c.js} +1 -1
  46. package/build/esm/{WhatsApp-68632cb6.js → WhatsApp-690f4774.js} +1 -1
  47. package/build/esm/adapters.js +19 -19
  48. package/build/esm/atoms.js +48 -47
  49. package/build/esm/babyGrowth.js +83 -83
  50. package/build/esm/cache.js +2 -2
  51. package/build/esm/care.js +17 -17
  52. package/build/esm/careBookingSearchBar.js +14 -14
  53. package/build/esm/careBookingSearchBarV2.js +15 -15
  54. package/build/esm/components/atoms/index.d.ts +1 -0
  55. package/build/esm/components/atoms/inputDate/InputDate.d.ts +25 -0
  56. package/build/esm/components/atoms/inputDate/InputDate.helpers.d.ts +13 -0
  57. package/build/esm/components/atoms/inputDate/InputDate.styled.d.ts +5 -0
  58. package/build/esm/components/atoms/inputDate/index.d.ts +1 -0
  59. package/build/esm/components/mantine/phoneInput/PhoneInput.d.ts +15 -0
  60. package/build/esm/components/mantine/phoneInput/index.d.ts +1 -0
  61. package/build/esm/components/navigationV2/components/molecules/navigationBar/index.styled.d.ts +2 -0
  62. package/build/esm/components/navigationV2/hooks/useNavConfig.d.ts +1 -0
  63. package/build/esm/components/navigationV2/types.d.ts +1 -1
  64. package/build/esm/components.js +98 -98
  65. package/build/esm/{constants-67a53542.js → constants-8e8405a7.js} +1 -1
  66. package/build/esm/constants.js +3 -3
  67. package/build/esm/constantsDomainLocales.js +1 -1
  68. package/build/esm/constantsRiskScreener.js +2 -2
  69. package/build/esm/constantsSite.js +2 -2
  70. package/build/esm/{core-0565b874.js → core-96612eae.js} +1 -1
  71. package/build/esm/{dataTransform-55e8f570.js → dataTransform-555d0fb9.js} +1 -1
  72. package/build/esm/ecom.js +4 -4
  73. package/build/esm/{editor-d198341c.js → editor-0d5100ca.js} +11 -11
  74. package/build/esm/embeddedHeathToolCards_babyGrowth.js +23 -23
  75. package/build/esm/embeddedHeathToolCards_babyPoop.js +19 -19
  76. package/build/esm/embeddedHeathToolCards_babyVaccine.js +22 -22
  77. package/build/esm/embeddedHeathToolCards_bmi_bmi.js +25 -25
  78. package/build/esm/embeddedHeathToolCards_bmrBmr.js +25 -25
  79. package/build/esm/embeddedHeathToolCards_dueDate_dueDate.js +22 -22
  80. package/build/esm/embeddedHeathToolCards_ovulation_ovulation.js +22 -22
  81. package/build/esm/embeddedHeathToolCards_pwg_pwg.js +26 -26
  82. package/build/esm/embeddedHeathToolCards_targetHeartRate.js +27 -27
  83. package/build/esm/footer.js +21 -21
  84. package/build/esm/gAssets.js +2 -2
  85. package/build/esm/{healthTools-362411e3.js → healthTools-29a83507.js} +1 -1
  86. package/build/esm/healthToolsCardWrapper.js +18 -18
  87. package/build/esm/healthToolsForm.js +33 -33
  88. package/build/esm/hooks/useCSSFocusPopupHelper.d.ts +1 -0
  89. package/build/esm/hooks.js +13 -13
  90. package/build/esm/i18n-values/id-ID.js +3 -3
  91. package/build/esm/i18n-values/km-KH.js +4 -4
  92. package/build/esm/i18n-values/ms-MY.js +3 -3
  93. package/build/esm/i18n-values/my-MM.js +4 -4
  94. package/build/esm/i18n-values/th-TH.js +4 -4
  95. package/build/esm/i18n-values/tl-PH.js +3 -3
  96. package/build/esm/i18n-values/zh-TW.js +4 -4
  97. package/build/esm/i18n.js +2 -2
  98. package/build/esm/i18nV2.js +2 -2
  99. package/build/esm/{index-3f9d0ba7.js → index-040bb3b8.js} +2 -2
  100. package/build/esm/{index-fb3d48ed.js → index-04d3c87e.js} +16 -16
  101. package/build/esm/{index-f058690f.js → index-06bca06c.js} +17 -17
  102. package/build/esm/{index-4e99aa5a.js → index-0b20c6f4.js} +17 -17
  103. package/build/esm/{index-c3774225.js → index-0c4129fe.js} +18 -11
  104. package/build/esm/{index-ce02c891.js → index-0fcd93a0.js} +5 -5
  105. package/build/esm/{index-475d6bd2.js → index-21e89b5c.js} +13 -13
  106. package/build/esm/{index-478f7d90.js → index-22f39808.js} +1 -1
  107. package/build/esm/{index-04828fa0.js → index-27d9fda5.js} +25 -25
  108. package/build/esm/{index-1b95110c.js → index-2aa860e4.js} +2 -2
  109. package/build/esm/{index-13a5f6e1.js → index-2cded5d6.js} +7 -7
  110. package/build/esm/{index-95440f30.js → index-30c63026.js} +16 -16
  111. package/build/esm/{index-d4433859.js → index-354908dd.js} +6 -6
  112. package/build/esm/{index-128eb47a.js → index-373a7c02.js} +15 -15
  113. package/build/esm/{index-33088cf6.js → index-3b007683.js} +16 -16
  114. package/build/esm/{index-c57db015.js → index-3b5c822a.js} +7 -7
  115. package/build/esm/{index-1e81fcab.js → index-3f38a004.js} +3 -3
  116. package/build/esm/{index-68df179a.js → index-44ff7f05.js} +9 -3
  117. package/build/esm/{index-c4b343f5.js → index-45d4e8db.js} +21 -21
  118. package/build/esm/{index-e96aa5ad.js → index-4abf7a86.js} +31 -31
  119. package/build/esm/{index-8ae2f88e.js → index-4e1e7214.js} +5 -5
  120. package/build/esm/{index-95664037.js → index-4ed95c1b.js} +2 -2
  121. package/build/esm/{index-b662b352.js → index-52bc2c66.js} +2 -2
  122. package/build/esm/{index-cba75f1e.js → index-53a095b8.js} +16 -16
  123. package/build/esm/{index-1177eb14.js → index-559588e9.js} +69 -42
  124. package/build/esm/{index-499a1f40.js → index-5d481985.js} +3 -3
  125. package/build/esm/{index-f58d1299.js → index-5d8ecfc5.js} +4 -4
  126. package/build/esm/{index-1bb99493.js → index-74caed99.js} +2 -2
  127. package/build/esm/{index-cb13d6e7.js → index-7ffbee45.js} +1 -1
  128. package/build/esm/{index-f042164f.js → index-83296db9.js} +3 -3
  129. package/build/esm/{index-2c5de049.js → index-8673a64c.js} +22 -22
  130. package/build/esm/{index-b509ff92.js → index-86ab1268.js} +6 -6
  131. package/build/esm/{index-7d4d62ab.js → index-88b1b525.js} +1 -1
  132. package/build/esm/{index-607ccbda.js → index-92689cd2.js} +1 -1
  133. package/build/esm/{index-0bd5655b.js → index-9a38304d.js} +2 -2
  134. package/build/esm/{index-f8cefaa8.js → index-9c9f2f43.js} +18 -18
  135. package/build/esm/{index-5b29ac68.js → index-a0dfca2d.js} +2 -2
  136. package/build/esm/{index-057e4881.js → index-a1380637.js} +2 -2
  137. package/build/esm/{index-d31f37cf.js → index-a17f3aae.js} +2 -2
  138. package/build/esm/{index-592013d2.js → index-a2bb5bfe.js} +1 -1
  139. package/build/esm/{index-88bde2a7.js → index-a3d165a5.js} +2 -2
  140. package/build/esm/{index-f4515e36.js → index-a90b2458.js} +3 -3
  141. package/build/esm/{index-4b7f9d72.js → index-bb34ef16.js} +2 -2
  142. package/build/esm/{index-64d57a17.js → index-bf0caab2.js} +32 -32
  143. package/build/esm/{index-da3f54f7.js → index-c25c1d80.js} +3 -3
  144. package/build/esm/{index-d0ada2a7.js → index-c5f8361e.js} +13 -13
  145. package/build/esm/{index-230e765d.js → index-c772ef64.js} +625 -27
  146. package/build/esm/{index-3d51b2f8.js → index-cbac3c8b.js} +18 -18
  147. package/build/esm/{index-bc710053.js → index-d19720ec.js} +6 -6
  148. package/build/esm/{index-2b2ebc80.js → index-d1a2dc8f.js} +3 -3
  149. package/build/esm/{index-80d4b01f.js → index-d92fd6a2.js} +16 -16
  150. package/build/esm/{index-4497abdd.js → index-dd045bbe.js} +13 -13
  151. package/build/esm/{index-c4640b20.js → index-df4c3e38.js} +2 -2
  152. package/build/esm/{index-8c82e15e.js → index-dffc09d6.js} +6 -6
  153. package/build/esm/{index-8e69b183.js → index-e53afe5a.js} +1 -1
  154. package/build/esm/{index-ff486557.js → index-e85ba9a1.js} +13 -13
  155. package/build/esm/{index-2d430cec.js → index-eab122ac.js} +17 -17
  156. package/build/esm/{index-1aa0ac8b.js → index-f0989c46.js} +10 -10
  157. package/build/esm/{index-e7631b76.js → index-f14dba41.js} +2 -2
  158. package/build/esm/{index-15d0874c.js → index-f17b2c0b.js} +2 -2
  159. package/build/esm/{index-2a527344.js → index-f3c0171f.js} +1 -1
  160. package/build/esm/{index-ad3dbb96.js → index-f40ba809.js} +6 -6
  161. package/build/esm/{index-21f49df0.js → index-f58f85e6.js} +1 -1
  162. package/build/esm/{index-81097236.js → index-fd74e24a.js} +11 -11
  163. package/build/esm/index.js +119 -119
  164. package/build/esm/interfaces/types/index.d.ts +14 -0
  165. package/build/esm/{labelSorting-396ffb2f.js → labelSorting-bd5aa4c1.js} +4 -4
  166. package/build/esm/lead/LeadGenForm/LeadGenForm.d.ts +41 -0
  167. package/build/esm/lead/LeadGenForm/LeadGenForm.styled.d.ts +5 -0
  168. package/build/esm/lead/LeadGenForm/LeadGenThankYou.d.ts +20 -0
  169. package/build/esm/lead/LeadGenForm/index.d.ts +1 -0
  170. package/build/esm/lead/LeadGenForm/textField/index.d.ts +13 -0
  171. package/build/esm/lead/LeadGenForm/textField/index.styled.d.ts +11 -0
  172. package/build/esm/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxContainer.d.ts +25 -0
  173. package/build/esm/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxContext.d.ts +25 -0
  174. package/build/esm/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxWrapper.d.ts +30 -0
  175. package/build/esm/lead/LeadGenSubscriptionBox/index.d.ts +1 -0
  176. package/build/esm/lead/helpers.d.ts +51 -1
  177. package/build/esm/lead/index.d.ts +2 -1
  178. package/build/esm/lead/services/index.d.ts +14 -0
  179. package/build/esm/lead.js +1295 -372
  180. package/build/esm/{logoIcon-6616b938.js → logoIcon-b9eecd1b.js} +2 -2
  181. package/build/esm/mantine.js +25 -25
  182. package/build/esm/misc.js +17 -17
  183. package/build/esm/miscGetDynamicHealthTool.js +4 -4
  184. package/build/esm/miscGetSocialList.js +8 -8
  185. package/build/esm/miscScreenSizeContext.js +1 -1
  186. package/build/esm/mobileBottomNavigation.js +5 -5
  187. package/build/esm/mobileBottomNavigationIcon.js +5 -5
  188. package/build/esm/molecules.js +75 -76
  189. package/build/esm/moleculesArticleCard.js +6 -6
  190. package/build/esm/moleculesArticleCardV2.js +16 -16
  191. package/build/esm/navigation.js +45 -45
  192. package/build/esm/navigationLogoutPopup.js +9 -9
  193. package/build/esm/navigationProfileButton.js +23 -23
  194. package/build/esm/onboardingV2.js +29 -29
  195. package/build/esm/organisms.js +49 -49
  196. package/build/esm/{post-fc479ef3.js → post-9846aef1.js} +2 -2
  197. package/build/esm/profileNavigation.js +19 -19
  198. package/build/esm/progressBar.js +1 -1
  199. package/build/esm/pwg.js +22 -22
  200. package/build/esm/ssoV2/api/featureFlag.d.ts +2 -1
  201. package/build/esm/ssoV2.js +51 -39
  202. package/build/esm/{store-9f4d56db.js → store-bf8836f8.js} +4 -4
  203. package/build/esm/subot.js +359 -296
  204. package/build/esm/surveyOrPremiumBanner.js +32 -32
  205. package/build/esm/surveyQuestionCard.js +10 -10
  206. package/build/esm/{surveyThankyouCard-b52b307e.js → surveyThankyouCard-b61f0123.js} +5 -5
  207. package/build/esm/together.js +55 -55
  208. package/build/esm/togetherApiUtils.js +4 -4
  209. package/build/esm/togetherAtoms.js +30 -30
  210. package/build/esm/togetherComponentGlobalContext.js +4 -4
  211. package/build/esm/togetherMolecules.js +50 -50
  212. package/build/esm/togetherMoleculesCardAuthor.js +28 -28
  213. package/build/esm/togetherMoleculesPostImagePreview.js +11 -11
  214. package/build/esm/togetherMoleculesProfileDetail.js +38 -38
  215. package/build/esm/togetherOrganisms.js +49 -49
  216. package/build/esm/togetherRichTextEditor.js +17 -17
  217. package/build/esm/togetherShareBox.js +10 -10
  218. package/build/esm/{treePopoverMenu-70cb9bb4.js → treePopoverMenu-15d9bd20.js} +19 -19
  219. package/build/esm/{types-60b800da.js → types-cde9bc2c.js} +2 -2
  220. package/build/esm/types.js +2 -2
  221. package/build/esm/{useCategory-2fe8d914.js → useCategory-1426f7b9.js} +5 -5
  222. package/build/esm/{useHealthToolCache-50bef818.js → useHealthToolCache-6870431f.js} +1 -1
  223. package/build/esm/{useMantineLocale-921259d6.js → useMantineLocale-b5ac651f.js} +6 -6
  224. package/build/esm/{usePlacesAutocomplete-ac7f16b4.js → usePlacesAutocomplete-50acf800.js} +1 -1
  225. package/build/esm/{useScreenSize-f3cae5ca.js → useScreenSize-a28b4666.js} +2 -2
  226. package/build/esm/useTogetherAuthRequiredAction.js +9 -9
  227. package/build/esm/{utils-6133a65e.js → utils-12a31cb9.js} +4 -4
  228. package/build/esm/{utils-feb3b992.js → utils-367f0dcc.js} +2 -2
  229. package/build/esm/{utils-b544b20b.js → utils-9d793dd1.js} +3 -3
  230. package/build/esm/{utils-f3410716.js → utils-d2c01699.js} +2 -2
  231. package/build/esm/vaccination.js +21 -21
  232. package/build/footer.js +21 -21
  233. package/build/gAssets.js +2 -2
  234. package/build/{healthTools-218a35dc.js → healthTools-4337a50e.js} +1 -1
  235. package/build/healthToolsCardWrapper.js +18 -18
  236. package/build/healthToolsForm.js +33 -33
  237. package/build/hooks/useCSSFocusPopupHelper.d.ts +1 -0
  238. package/build/hooks.js +13 -13
  239. package/build/i18n-values/id-ID.js +3 -3
  240. package/build/i18n-values/km-KH.js +4 -4
  241. package/build/i18n-values/ms-MY.js +3 -3
  242. package/build/i18n-values/my-MM.js +4 -4
  243. package/build/i18n-values/th-TH.js +4 -4
  244. package/build/i18n-values/tl-PH.js +3 -3
  245. package/build/i18n-values/zh-TW.js +4 -4
  246. package/build/i18n.js +1 -1
  247. package/build/i18nV2.js +1 -1
  248. package/build/{index-f872862d.js → index-0242fe02.js} +1 -1
  249. package/build/{index-dcd84c5f.js → index-06c3ff36.js} +21 -21
  250. package/build/{index-087550cd.js → index-103cad59.js} +7 -7
  251. package/build/{index-9c4a1855.js → index-1ac10c6b.js} +1 -1
  252. package/build/{index-698cec71.js → index-1d8b8c26.js} +10 -10
  253. package/build/{index-b4f11316.js → index-1fe512f4.js} +2 -2
  254. package/build/{index-5133a8dd.js → index-238ca08b.js} +6 -6
  255. package/build/{index-e431673b.js → index-23ec9433.js} +5 -5
  256. package/build/{index-634558df.js → index-2b37d33b.js} +3 -3
  257. package/build/{index-0c679c0b.js → index-320810e6.js} +1 -1
  258. package/build/{index-6def6d97.js → index-32506323.js} +1 -1
  259. package/build/{index-22ed3ded.js → index-33b228fc.js} +16 -16
  260. package/build/{index-d5d39264.js → index-37f3be44.js} +4 -4
  261. package/build/{index-ad1c4df2.js → index-37f776f1.js} +25 -25
  262. package/build/{index-71612045.js → index-3aa1a989.js} +17 -17
  263. package/build/{index-6cc871c9.js → index-3b6660eb.js} +5 -5
  264. package/build/{index-d8b3d33a.js → index-3b8276cc.js} +625 -25
  265. package/build/{index-99100f43.js → index-454ade61.js} +13 -13
  266. package/build/{index-1b9b42da.js → index-4c1dd52a.js} +9 -2
  267. package/build/{index-65132afa.js → index-4ffb3638.js} +1 -1
  268. package/build/{index-b345223d.js → index-525e869d.js} +32 -32
  269. package/build/{index-7230a09a.js → index-54e3b699.js} +2 -2
  270. package/build/{index-9c721c28.js → index-58a8bdf2.js} +6 -6
  271. package/build/{index-1122d17c.js → index-5c4203a4.js} +3 -3
  272. package/build/{index-6fb88de3.js → index-5e9e4d1e.js} +6 -6
  273. package/build/{index-d02ead41.js → index-657b769b.js} +7 -7
  274. package/build/{index-96c99b22.js → index-67092c9a.js} +18 -11
  275. package/build/{index-1cc5a94d.js → index-683218b9.js} +17 -17
  276. package/build/{index-145f9be6.js → index-6c75936d.js} +2 -2
  277. package/build/{index-14f9169e.js → index-6e4a438d.js} +2 -2
  278. package/build/{index-96e052eb.js → index-71b9fa92.js} +13 -13
  279. package/build/{index-4f5430c4.js → index-782d9e64.js} +13 -13
  280. package/build/{index-3001d3fe.js → index-7a6003de.js} +2 -2
  281. package/build/{index-719d80d5.js → index-80dc4358.js} +3 -3
  282. package/build/{index-1224b5ae.js → index-80e99032.js} +3 -3
  283. package/build/{index-79821f7a.js → index-81d22a08.js} +2 -2
  284. package/build/{index-e84adbfd.js → index-8baab458.js} +69 -42
  285. package/build/{index-eac09680.js → index-8ef60f0d.js} +2 -2
  286. package/build/{index-0f5de5ae.js → index-9306bea1.js} +1 -1
  287. package/build/{index-db91c68b.js → index-94335a8f.js} +1 -1
  288. package/build/{index-62ff575b.js → index-997a1c89.js} +17 -17
  289. package/build/{index-06ed88b5.js → index-a1276ce0.js} +2 -2
  290. package/build/{index-15429239.js → index-a8adc4ca.js} +2 -2
  291. package/build/{index-d0928213.js → index-a967f6d7.js} +16 -16
  292. package/build/{index-59d6a0ff.js → index-aab18904.js} +18 -18
  293. package/build/{index-163c96d5.js → index-ac93bf1f.js} +31 -31
  294. package/build/{index-5a0fac03.js → index-b60eb3f4.js} +3 -3
  295. package/build/{index-f2101397.js → index-c3bd9589.js} +16 -16
  296. package/build/{index-6b55279a.js → index-c649a78a.js} +2 -2
  297. package/build/{index-35cc432a.js → index-c6a646d8.js} +16 -16
  298. package/build/{index-961e7ee8.js → index-d23edcf6.js} +15 -15
  299. package/build/{index-2606e965.js → index-d5238da3.js} +11 -11
  300. package/build/{index-923622b3.js → index-d52b07ed.js} +13 -13
  301. package/build/{index-f5db5fd8.js → index-dd7fb33c.js} +1 -1
  302. package/build/{index-2f40200a.js → index-dffeb868.js} +3 -3
  303. package/build/{index-5fe6fe35.js → index-e1cd9976.js} +2 -2
  304. package/build/{index-e56ec41a.js → index-e25131d3.js} +2 -2
  305. package/build/{index-3e16c033.js → index-e6a6c79b.js} +18 -18
  306. package/build/{index-8639ea28.js → index-eb44e13b.js} +16 -16
  307. package/build/{index-9aa2e0dc.js → index-ece994b7.js} +6 -6
  308. package/build/{index-9977674c.js → index-f265793c.js} +2 -2
  309. package/build/{index-9986db2c.js → index-f50d84b1.js} +6 -6
  310. package/build/{index-188279e8.js → index-f86b9846.js} +22 -22
  311. package/build/{index-c0bfad65.js → index-ffd9187e.js} +2 -2
  312. package/build/index.js +165 -164
  313. package/build/interfaces/types/index.d.ts +14 -0
  314. package/build/{labelSorting-01953a48.js → labelSorting-4c943307.js} +4 -4
  315. package/build/lead/LeadGenForm/LeadGenForm.d.ts +41 -0
  316. package/build/lead/LeadGenForm/LeadGenForm.styled.d.ts +5 -0
  317. package/build/lead/LeadGenForm/LeadGenThankYou.d.ts +20 -0
  318. package/build/lead/LeadGenForm/index.d.ts +1 -0
  319. package/build/lead/LeadGenForm/textField/index.d.ts +13 -0
  320. package/build/lead/LeadGenForm/textField/index.styled.d.ts +11 -0
  321. package/build/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxContainer.d.ts +25 -0
  322. package/build/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxContext.d.ts +25 -0
  323. package/build/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxWrapper.d.ts +30 -0
  324. package/build/lead/LeadGenSubscriptionBox/index.d.ts +1 -0
  325. package/build/lead/helpers.d.ts +51 -1
  326. package/build/lead/index.d.ts +2 -1
  327. package/build/lead/services/index.d.ts +14 -0
  328. package/build/lead.js +1296 -372
  329. package/build/{logoIcon-c39eb8e1.js → logoIcon-4cb3d441.js} +2 -2
  330. package/build/mantine.js +22 -22
  331. package/build/misc.js +17 -17
  332. package/build/miscGetDynamicHealthTool.js +4 -4
  333. package/build/miscGetSocialList.js +8 -8
  334. package/build/miscScreenSizeContext.js +1 -1
  335. package/build/mobileBottomNavigation.js +5 -5
  336. package/build/mobileBottomNavigationIcon.js +5 -5
  337. package/build/molecules.js +91 -92
  338. package/build/moleculesArticleCard.js +6 -6
  339. package/build/moleculesArticleCardV2.js +16 -16
  340. package/build/navigation.js +45 -45
  341. package/build/navigationLogoutPopup.js +9 -9
  342. package/build/navigationProfileButton.js +23 -23
  343. package/build/onboardingV2.js +28 -28
  344. package/build/organisms.js +49 -49
  345. package/build/{post-dbf6629a.js → post-944ca073.js} +2 -2
  346. package/build/profileNavigation.js +19 -19
  347. package/build/progressBar.js +1 -1
  348. package/build/pwg.js +22 -22
  349. package/build/ssoV2/api/featureFlag.d.ts +2 -1
  350. package/build/ssoV2.js +49 -37
  351. package/build/{store-dd66327a.js → store-75b0c686.js} +4 -4
  352. package/build/subot.js +363 -300
  353. package/build/surveyOrPremiumBanner.js +32 -32
  354. package/build/surveyQuestionCard.js +10 -10
  355. package/build/{surveyThankyouCard-7b567cd7.js → surveyThankyouCard-20c6ecd6.js} +5 -5
  356. package/build/together.js +55 -55
  357. package/build/togetherApiUtils.js +4 -4
  358. package/build/togetherAtoms.js +30 -30
  359. package/build/togetherComponentGlobalContext.js +4 -4
  360. package/build/togetherMolecules.js +50 -50
  361. package/build/togetherMoleculesCardAuthor.js +28 -28
  362. package/build/togetherMoleculesPostImagePreview.js +11 -11
  363. package/build/togetherMoleculesProfileDetail.js +38 -38
  364. package/build/togetherOrganisms.js +49 -49
  365. package/build/togetherRichTextEditor.js +17 -17
  366. package/build/togetherShareBox.js +10 -10
  367. package/build/{treePopoverMenu-26d2fbdb.js → treePopoverMenu-0b4e3c93.js} +19 -19
  368. package/build/{types-e2e6d111.js → types-a2d7599b.js} +2 -2
  369. package/build/types.js +3 -2
  370. package/build/{useCategory-06840f82.js → useCategory-081b0b4c.js} +5 -5
  371. package/build/{useHealthToolCache-3bf91c4c.js → useHealthToolCache-3681725a.js} +1 -1
  372. package/build/{useMantineLocale-2114adc5.js → useMantineLocale-e957a29a.js} +6 -6
  373. package/build/{usePlacesAutocomplete-1cba30f3.js → usePlacesAutocomplete-75ed28fa.js} +1 -1
  374. package/build/{useScreenSize-8cf53ce7.js → useScreenSize-f452c1dc.js} +2 -2
  375. package/build/useTogetherAuthRequiredAction.js +9 -9
  376. package/build/{utils-441f1d86.js → utils-13146977.js} +2 -2
  377. package/build/{utils-6cbf1a6f.js → utils-b304c5bd.js} +4 -4
  378. package/build/{utils-2550e6ef.js → utils-da927478.js} +2 -2
  379. package/build/{utils-cf190a58.js → utils-f214ac64.js} +3 -3
  380. package/build/vaccination.js +21 -21
  381. package/package.json +3 -3
  382. package/build/esm/index-b2cee507.js +0 -604
  383. package/build/index-573cbda9.js +0 -612
  384. /package/build/{BMI_BOYS.percentile.monthly-d83c828b.js → BMI_BOYS.percentile.monthly-737643fc.js} +0 -0
  385. /package/build/{BMI_BOYS.percentile.weekly-5712c249.js → BMI_BOYS.percentile.weekly-ef91eacb.js} +0 -0
  386. /package/build/{BMI_BOYS.percentile.yearly-528c4f00.js → BMI_BOYS.percentile.yearly-be8b45a8.js} +0 -0
  387. /package/build/{BMI_BOYS.zscore.monthly-3c8ff1a3.js → BMI_BOYS.zscore.monthly-79fba00f.js} +0 -0
  388. /package/build/{BMI_BOYS.zscore.weekly-d4289a56.js → BMI_BOYS.zscore.weekly-5ddfc087.js} +0 -0
  389. /package/build/{BMI_BOYS.zscore.yearly-f17c45e2.js → BMI_BOYS.zscore.yearly-d377913c.js} +0 -0
  390. /package/build/{BMI_GIRLS.percentile.monthly-fe4e2320.js → BMI_GIRLS.percentile.monthly-8340afb9.js} +0 -0
  391. /package/build/{BMI_GIRLS.percentile.weekly-4878dcbf.js → BMI_GIRLS.percentile.weekly-e78972dc.js} +0 -0
  392. /package/build/{BMI_GIRLS.percentile.yearly-89ac0b92.js → BMI_GIRLS.percentile.yearly-723a6bcd.js} +0 -0
  393. /package/build/{BMI_GIRLS.zscore.monthly-e2eabcea.js → BMI_GIRLS.zscore.monthly-01665144.js} +0 -0
  394. /package/build/{BMI_GIRLS.zscore.weekly-b25ed8de.js → BMI_GIRLS.zscore.weekly-d8a9fcd3.js} +0 -0
  395. /package/build/{BMI_GIRLS.zscore.yearly-4e15f477.js → BMI_GIRLS.zscore.yearly-d5bb0616.js} +0 -0
  396. /package/build/{ChevronDown-3c6e14b0.js → ChevronDown-ea198d8c.js} +0 -0
  397. /package/build/{Close-f693cc9f.js → Close-23d6560f.js} +0 -0
  398. /package/build/{Google-eb637b90.js → Google-ee95b9cd.js} +0 -0
  399. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-d33fc0f0.js → HEAD CIRCUM_BOYS.percentile.monthly-6f5e4cb9.js} +0 -0
  400. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-c92d73c2.js → HEAD CIRCUM_BOYS.percentile.weekly-3a60cd7c.js} +0 -0
  401. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-7a95f65f.js → HEAD CIRCUM_BOYS.percentile.yearly-631bd48b.js} +0 -0
  402. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-83d545b8.js → HEAD CIRCUM_BOYS.zscore.monthly-5b97dfbe.js} +0 -0
  403. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-2fb1d6ab.js → HEAD CIRCUM_BOYS.zscore.weekly-7007aa3b.js} +0 -0
  404. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-a0d71256.js → HEAD CIRCUM_BOYS.zscore.yearly-85291bb6.js} +0 -0
  405. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-8853aad2.js → HEAD CIRCUM_GIRLS.percentile.monthly-719c6a1c.js} +0 -0
  406. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-b34ef316.js → HEAD CIRCUM_GIRLS.percentile.weekly-03d1cb81.js} +0 -0
  407. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-b4ff6c75.js → HEAD CIRCUM_GIRLS.percentile.yearly-d62e57cf.js} +0 -0
  408. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-6321ee38.js → HEAD CIRCUM_GIRLS.zscore.monthly-dad2d1d0.js} +0 -0
  409. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-17748712.js → HEAD CIRCUM_GIRLS.zscore.weekly-4e924933.js} +0 -0
  410. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-09ae6e3a.js → HEAD CIRCUM_GIRLS.zscore.yearly-1e950b60.js} +0 -0
  411. /package/build/{HEIGHT_BOYS.percentile.monthly-22b3d949.js → HEIGHT_BOYS.percentile.monthly-8913d177.js} +0 -0
  412. /package/build/{HEIGHT_BOYS.percentile.weekly-6c80b23e.js → HEIGHT_BOYS.percentile.weekly-f78eebea.js} +0 -0
  413. /package/build/{HEIGHT_BOYS.percentile.yearly-fa152acc.js → HEIGHT_BOYS.percentile.yearly-0c911cd7.js} +0 -0
  414. /package/build/{HEIGHT_BOYS.zscore.monthly-788f8c7e.js → HEIGHT_BOYS.zscore.monthly-13491ce2.js} +0 -0
  415. /package/build/{HEIGHT_BOYS.zscore.weekly-31f14aad.js → HEIGHT_BOYS.zscore.weekly-0d9decae.js} +0 -0
  416. /package/build/{HEIGHT_BOYS.zscore.yearly-2fd9ba60.js → HEIGHT_BOYS.zscore.yearly-2946bbfd.js} +0 -0
  417. /package/build/{HEIGHT_GIRLS.percentile.monthly-d686e30c.js → HEIGHT_GIRLS.percentile.monthly-56860c32.js} +0 -0
  418. /package/build/{HEIGHT_GIRLS.percentile.weekly-9b18a0f2.js → HEIGHT_GIRLS.percentile.weekly-de989f24.js} +0 -0
  419. /package/build/{HEIGHT_GIRLS.percentile.yearly-b2a7062b.js → HEIGHT_GIRLS.percentile.yearly-4f47e1f2.js} +0 -0
  420. /package/build/{HEIGHT_GIRLS.zscore.monthly-684a9561.js → HEIGHT_GIRLS.zscore.monthly-7d97493e.js} +0 -0
  421. /package/build/{HEIGHT_GIRLS.zscore.weekly-32377636.js → HEIGHT_GIRLS.zscore.weekly-6243c7dd.js} +0 -0
  422. /package/build/{HEIGHT_GIRLS.zscore.yearly-37714834.js → HEIGHT_GIRLS.zscore.yearly-85dfd4b9.js} +0 -0
  423. /package/build/{Locale-bbd9f39e.js → Locale-49a6c721.js} +0 -0
  424. /package/build/{Visible-c59d8dab.js → Visible-08ef6396.js} +0 -0
  425. /package/build/{WEIGHT_BOYS.percentile.monthly-4643d745.js → WEIGHT_BOYS.percentile.monthly-2da3a9dd.js} +0 -0
  426. /package/build/{WEIGHT_BOYS.percentile.weekly-ba8ac0cb.js → WEIGHT_BOYS.percentile.weekly-6a96fa02.js} +0 -0
  427. /package/build/{WEIGHT_BOYS.percentile.yearly-96c501b6.js → WEIGHT_BOYS.percentile.yearly-1c0ac232.js} +0 -0
  428. /package/build/{WEIGHT_BOYS.zscore.monthly-5d852cd2.js → WEIGHT_BOYS.zscore.monthly-09aac688.js} +0 -0
  429. /package/build/{WEIGHT_BOYS.zscore.weekly-b34698cf.js → WEIGHT_BOYS.zscore.weekly-9d3b8f80.js} +0 -0
  430. /package/build/{WEIGHT_BOYS.zscore.yearly-9ccc7e7b.js → WEIGHT_BOYS.zscore.yearly-112809dd.js} +0 -0
  431. /package/build/{WEIGHT_GIRLS.percentile.monthly-0ca4429c.js → WEIGHT_GIRLS.percentile.monthly-d442eff9.js} +0 -0
  432. /package/build/{WEIGHT_GIRLS.percentile.weekly-d0434a98.js → WEIGHT_GIRLS.percentile.weekly-71acaefb.js} +0 -0
  433. /package/build/{WEIGHT_GIRLS.percentile.yearly-280d0a0c.js → WEIGHT_GIRLS.percentile.yearly-10e619c8.js} +0 -0
  434. /package/build/{WEIGHT_GIRLS.zscore.monthly-a40ed4a3.js → WEIGHT_GIRLS.zscore.monthly-43af6015.js} +0 -0
  435. /package/build/{WEIGHT_GIRLS.zscore.weekly-e3e331fa.js → WEIGHT_GIRLS.zscore.weekly-2b54b8b3.js} +0 -0
  436. /package/build/{WEIGHT_GIRLS.zscore.yearly-35d9ebec.js → WEIGHT_GIRLS.zscore.yearly-dab72451.js} +0 -0
  437. /package/build/{animation-3949e444.js → animation-02d429a8.js} +0 -0
  438. /package/build/{constants-0148aad4.js → constants-608c17a1.js} +0 -0
  439. /package/build/{constants-5013fb7a.js → constants-b91c21de.js} +0 -0
  440. /package/build/{constants-547046fb.js → constants-e9b24ebc.js} +0 -0
  441. /package/build/{dataTransform-d84e197c.js → dataTransform-ba1abb02.js} +0 -0
  442. /package/build/{doctor-f961435d.js → doctor-bbde0960.js} +0 -0
  443. /package/build/esm/{BMI_BOYS.percentile.monthly-71888f5e.js → BMI_BOYS.percentile.monthly-2bd078db.js} +0 -0
  444. /package/build/esm/{BMI_BOYS.percentile.weekly-6d5666ff.js → BMI_BOYS.percentile.weekly-0c8c11a7.js} +0 -0
  445. /package/build/esm/{BMI_BOYS.percentile.yearly-d01dc4f6.js → BMI_BOYS.percentile.yearly-aaf37922.js} +0 -0
  446. /package/build/esm/{BMI_BOYS.zscore.monthly-d1fbd616.js → BMI_BOYS.zscore.monthly-dc7f736a.js} +0 -0
  447. /package/build/esm/{BMI_BOYS.zscore.weekly-0375f4cd.js → BMI_BOYS.zscore.weekly-eb1b6260.js} +0 -0
  448. /package/build/esm/{BMI_BOYS.zscore.yearly-8119d63b.js → BMI_BOYS.zscore.yearly-181103a2.js} +0 -0
  449. /package/build/esm/{BMI_GIRLS.percentile.monthly-38943c36.js → BMI_GIRLS.percentile.monthly-ce3cb84c.js} +0 -0
  450. /package/build/esm/{BMI_GIRLS.percentile.weekly-c3c5d285.js → BMI_GIRLS.percentile.weekly-dde3e758.js} +0 -0
  451. /package/build/esm/{BMI_GIRLS.percentile.yearly-7d9277fd.js → BMI_GIRLS.percentile.yearly-c9699e7f.js} +0 -0
  452. /package/build/esm/{BMI_GIRLS.zscore.monthly-ff480ca7.js → BMI_GIRLS.zscore.monthly-9b8ca0c2.js} +0 -0
  453. /package/build/esm/{BMI_GIRLS.zscore.weekly-86c3db3e.js → BMI_GIRLS.zscore.weekly-a5f67367.js} +0 -0
  454. /package/build/esm/{BMI_GIRLS.zscore.yearly-ccee74c6.js → BMI_GIRLS.zscore.yearly-832138ec.js} +0 -0
  455. /package/build/esm/{ChevronDown-7b9b567f.js → ChevronDown-07a096fe.js} +0 -0
  456. /package/build/esm/{Close-33544ec7.js → Close-ca80e505.js} +0 -0
  457. /package/build/esm/{Google-0988bb5f.js → Google-f06650a4.js} +0 -0
  458. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-e100a02f.js → HEAD CIRCUM_BOYS.percentile.monthly-71efcac3.js} +0 -0
  459. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-b502fe8c.js → HEAD CIRCUM_BOYS.percentile.weekly-6e3fc589.js} +0 -0
  460. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-2473f9ed.js → HEAD CIRCUM_BOYS.percentile.yearly-dc05fa24.js} +0 -0
  461. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-daab2fe2.js → HEAD CIRCUM_BOYS.zscore.monthly-9ad0fe19.js} +0 -0
  462. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-a57acb63.js → HEAD CIRCUM_BOYS.zscore.weekly-621b79f8.js} +0 -0
  463. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-2bc751fb.js → HEAD CIRCUM_BOYS.zscore.yearly-7018f29e.js} +0 -0
  464. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-30ed33ee.js → HEAD CIRCUM_GIRLS.percentile.monthly-5c0e2139.js} +0 -0
  465. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-76165ef7.js → HEAD CIRCUM_GIRLS.percentile.weekly-720f94b1.js} +0 -0
  466. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-1dbb5731.js → HEAD CIRCUM_GIRLS.percentile.yearly-f0fbf777.js} +0 -0
  467. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-179b45b0.js → HEAD CIRCUM_GIRLS.zscore.monthly-1f4ef0dd.js} +0 -0
  468. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-824a1542.js → HEAD CIRCUM_GIRLS.zscore.weekly-78022988.js} +0 -0
  469. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-20dd7416.js → HEAD CIRCUM_GIRLS.zscore.yearly-aca676b3.js} +0 -0
  470. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-e6a6c894.js → HEIGHT_BOYS.percentile.monthly-3a0a4653.js} +0 -0
  471. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-1c6dc135.js → HEIGHT_BOYS.percentile.weekly-7e3addae.js} +0 -0
  472. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-1098b3ce.js → HEIGHT_BOYS.percentile.yearly-adf860e1.js} +0 -0
  473. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-e56ce8ca.js → HEIGHT_BOYS.zscore.monthly-d333b701.js} +0 -0
  474. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-9f5093d9.js → HEIGHT_BOYS.zscore.weekly-cc280dd1.js} +0 -0
  475. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-9314c992.js → HEIGHT_BOYS.zscore.yearly-c025f5ba.js} +0 -0
  476. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-86f7ba70.js → HEIGHT_GIRLS.percentile.monthly-88ee8780.js} +0 -0
  477. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-a4190b3a.js → HEIGHT_GIRLS.percentile.weekly-6a9349ae.js} +0 -0
  478. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-dd90b78c.js → HEIGHT_GIRLS.percentile.yearly-4f3106c2.js} +0 -0
  479. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-03dcd04c.js → HEIGHT_GIRLS.zscore.monthly-cff101a3.js} +0 -0
  480. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-70c35d73.js → HEIGHT_GIRLS.zscore.weekly-2f3b0814.js} +0 -0
  481. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-a924f196.js → HEIGHT_GIRLS.zscore.yearly-893c5f6d.js} +0 -0
  482. /package/build/esm/{Locale-e3d80799.js → Locale-a047b32f.js} +0 -0
  483. /package/build/esm/{Visible-46ee87b5.js → Visible-adb7d30c.js} +0 -0
  484. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-38addb24.js → WEIGHT_BOYS.percentile.monthly-b7ec4b8d.js} +0 -0
  485. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-7455df0c.js → WEIGHT_BOYS.percentile.weekly-1ba3ba54.js} +0 -0
  486. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-080c96db.js → WEIGHT_BOYS.percentile.yearly-12aaf175.js} +0 -0
  487. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-2bfbd5fe.js → WEIGHT_BOYS.zscore.monthly-2ecadfeb.js} +0 -0
  488. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-6a6bcc55.js → WEIGHT_BOYS.zscore.weekly-94fd9df1.js} +0 -0
  489. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-eee3c72a.js → WEIGHT_BOYS.zscore.yearly-a9a49523.js} +0 -0
  490. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-7f552d45.js → WEIGHT_GIRLS.percentile.monthly-5d32077a.js} +0 -0
  491. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-d489658c.js → WEIGHT_GIRLS.percentile.weekly-ea5164d5.js} +0 -0
  492. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-55de3f8c.js → WEIGHT_GIRLS.percentile.yearly-d00bf954.js} +0 -0
  493. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-4866a40f.js → WEIGHT_GIRLS.zscore.monthly-ff548130.js} +0 -0
  494. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-a516076f.js → WEIGHT_GIRLS.zscore.weekly-68e49b6b.js} +0 -0
  495. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-23364a40.js → WEIGHT_GIRLS.zscore.yearly-776574df.js} +0 -0
  496. /package/build/esm/{animation-cdc3b9e2.js → animation-8dac6a57.js} +0 -0
  497. /package/build/esm/{constants-487af9a7.js → constants-103648cb.js} +0 -0
  498. /package/build/esm/{constants-c3ebcf04.js → constants-44b6bfd0.js} +0 -0
  499. /package/build/esm/{constants-b5162987.js → constants-eaae9820.js} +0 -0
  500. /package/build/esm/{dataTransform-4277e194.js → dataTransform-d432c05c.js} +0 -0
  501. /package/build/esm/{doctor-36dd281d.js → doctor-9fde3f21.js} +0 -0
  502. /package/build/esm/{index-3e1cfac7.js → index-038cf88b.js} +0 -0
  503. /package/build/esm/{index-af3d6891.js → index-0465826c.js} +0 -0
  504. /package/build/esm/{index-3a41f28a.js → index-0688cf27.js} +0 -0
  505. /package/build/esm/{index-92ab9005.js → index-0f6364d8.js} +0 -0
  506. /package/build/esm/{index-c889b9a1.js → index-38fd1b90.js} +0 -0
  507. /package/build/esm/{index-db0c0a03.js → index-4c9916fd.js} +0 -0
  508. /package/build/esm/{index-256332cd.js → index-e9415462.js} +0 -0
  509. /package/build/esm/{index-2a7c39fd.js → index-e962a389.js} +0 -0
  510. /package/build/esm/{index.styles-612b88c3.js → index.styles-c59d389f.js} +0 -0
  511. /package/build/esm/{localizeNumberFormat-6d21d26e.js → localizeNumberFormat-f19bc68c.js} +0 -0
  512. /package/build/esm/{normalizeLink-0fcb0a30.js → normalizeLink-6da98ce7.js} +0 -0
  513. /package/build/esm/{number-8b731ca0.js → number-d430cbd0.js} +0 -0
  514. /package/build/esm/{other-28b72baa.js → other-41db008a.js} +0 -0
  515. /package/build/esm/{paths-c2be4081.js → paths-311c22ac.js} +0 -0
  516. /package/build/esm/{translationsContext-1053b855.js → translationsContext-ba5f494a.js} +0 -0
  517. /package/build/esm/{tslib.es6-cf8bdaac.js → tslib.es6-32e42d64.js} +0 -0
  518. /package/build/esm/{types-87d39c14.js → types-0825b0ba.js} +0 -0
  519. /package/build/esm/{useIsInit-05b253f1.js → useIsInit-ff72f859.js} +0 -0
  520. /package/build/esm/{useOutsideClick-66e40b60.js → useOutsideClick-0e442a52.js} +0 -0
  521. /package/build/esm/{useScrollbarSize-b10ed395.js → useScrollbarSize-452047f9.js} +0 -0
  522. /package/build/esm/{useUniqueId-0e02bf45.js → useUniqueId-823f1e39.js} +0 -0
  523. /package/build/esm/{utils-504d3f05.js → utils-7fb93baf.js} +0 -0
  524. /package/build/{index-39346954.js → index-5b5fc77d.js} +0 -0
  525. /package/build/{index-cd3fb76b.js → index-6f7c3612.js} +0 -0
  526. /package/build/{index-fb535be1.js → index-70b2b053.js} +0 -0
  527. /package/build/{index-923f26b6.js → index-7ac7f32a.js} +0 -0
  528. /package/build/{index-cf900508.js → index-9331d939.js} +0 -0
  529. /package/build/{index-bd496d8c.js → index-cab280f4.js} +0 -0
  530. /package/build/{index-8b67cf13.js → index-e37c25cd.js} +0 -0
  531. /package/build/{index-82f545d4.js → index-fafc5723.js} +0 -0
  532. /package/build/{index.styles-e5ced70d.js → index.styles-4a986730.js} +0 -0
  533. /package/build/{localizeNumberFormat-9f426dee.js → localizeNumberFormat-57a2785b.js} +0 -0
  534. /package/build/{normalizeLink-33d996e8.js → normalizeLink-7d23a12d.js} +0 -0
  535. /package/build/{number-94ed4ba9.js → number-94ec5143.js} +0 -0
  536. /package/build/{other-27ab7df9.js → other-9ac11fe7.js} +0 -0
  537. /package/build/{paths-85dc5bbe.js → paths-20ba5391.js} +0 -0
  538. /package/build/{translationsContext-1c7e3b11.js → translationsContext-b2f1d78c.js} +0 -0
  539. /package/build/{tslib.es6-46c06add.js → tslib.es6-94aa0f76.js} +0 -0
  540. /package/build/{types-db73911f.js → types-95610d73.js} +0 -0
  541. /package/build/{useIsInit-7bc542dc.js → useIsInit-7598a19e.js} +0 -0
  542. /package/build/{useOutsideClick-2fb8d081.js → useOutsideClick-b4989226.js} +0 -0
  543. /package/build/{useScrollbarSize-1ccf571e.js → useScrollbarSize-d0f021bf.js} +0 -0
  544. /package/build/{useUniqueId-02c73cab.js → useUniqueId-cbb1e25c.js} +0 -0
  545. /package/build/{utils-06faab5a.js → utils-534b1e9b.js} +0 -0
package/build/lead.js CHANGED
@@ -2,47 +2,47 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('./tslib.es6-46c06add.js');
5
+ var tslib_es6 = require('./tslib.es6-94aa0f76.js');
6
6
  var React = require('react');
7
7
  var core = require('@mantine/core');
8
8
  var dayjs = require('dayjs');
9
9
  var debounce = require('lodash/debounce');
10
10
  var form = require('@mantine/form');
11
- var index = require('./index-9c4a1855.js');
12
- var translationsContext = require('./translationsContext-1c7e3b11.js');
11
+ var index = require('./index-1ac10c6b.js');
12
+ var translationsContext = require('./translationsContext-b2f1d78c.js');
13
13
  var miscCookieHelper = require('./miscCookieHelper.js');
14
- var utils$1 = require('./utils-06faab5a.js');
15
- var index$1 = require('./index-7230a09a.js');
16
- var index$2 = require('./index-2606e965.js');
17
- var index$4 = require('./index-5133a8dd.js');
18
- var utils = require('./utils-2550e6ef.js');
19
- require('@mantine/dates');
20
- var index$8 = require('./index-9977674c.js');
21
- require('./index-1b9b42da.js');
22
- require('./index-cd3fb76b.js');
23
- require('./useMantineLocale-2114adc5.js');
24
- var index$5 = require('./index-65132afa.js');
25
- require('./index.styles-e5ced70d.js');
14
+ var utils$1 = require('./utils-534b1e9b.js');
15
+ var index$1 = require('./index-54e3b699.js');
16
+ var index$2 = require('./index-d5238da3.js');
17
+ var index$4 = require('./index-238ca08b.js');
18
+ var utils = require('./utils-da927478.js');
19
+ var dates = require('@mantine/dates');
20
+ var index$7 = require('./index-f265793c.js');
21
+ require('./index-4c1dd52a.js');
22
+ require('./index-6f7c3612.js');
23
+ require('./useMantineLocale-e957a29a.js');
24
+ var index$5 = require('./index-4ffb3638.js');
25
+ require('./index.styles-4a986730.js');
26
26
  var hooks = require('@mantine/hooks');
27
- require('./other-27ab7df9.js');
28
- require('./index-1224b5ae.js');
29
- var usePlacesAutocomplete = require('./usePlacesAutocomplete-1cba30f3.js');
30
- var index$3 = require('./index-14f9169e.js');
31
- var index$6 = require('./index-b4f11316.js');
27
+ require('./other-9ac11fe7.js');
28
+ require('./index-80e99032.js');
29
+ var usePlacesAutocomplete = require('./usePlacesAutocomplete-75ed28fa.js');
30
+ var index$3 = require('./index-6e4a438d.js');
31
+ var index$6 = require('./index-1fe512f4.js');
32
+ var styled = require('@emotion/styled');
32
33
  var uuid = require('uuid');
33
- var index$7 = require('./index-cf900508.js');
34
- var index$9 = require('./index-15429239.js');
35
- var useScreenSize = require('./useScreenSize-8cf53ce7.js');
36
- var ReactDOM = require('react-dom');
37
34
  var react = require('@emotion/react');
38
- var styled = require('@emotion/styled');
39
35
  var miscTheme = require('./miscTheme.js');
40
- var Close = require('./Close-f693cc9f.js');
36
+ var index$8 = require('./index-9331d939.js');
37
+ var index$9 = require('./index-a8adc4ca.js');
38
+ var useScreenSize = require('./useScreenSize-f452c1dc.js');
39
+ var ReactDOM = require('react-dom');
40
+ var Close = require('./Close-23d6560f.js');
41
41
  require('@hhgtech/icons/other');
42
42
  require('@mantine/carousel');
43
- require('./Locale-bbd9f39e.js');
43
+ require('./Locale-49a6c721.js');
44
44
  require('classnames');
45
- require('./useUniqueId-02c73cab.js');
45
+ require('./useUniqueId-cbb1e25c.js');
46
46
  require('./constantsSite.js');
47
47
  require('@hhgtech/icons/core');
48
48
  require('date-fns/locale');
@@ -101,7 +101,7 @@ if (sessionStorage.getItem('insider_object')) {
101
101
  }
102
102
  const docLang = document.documentElement.lang;
103
103
  // TODO: country code
104
- const LEAD_LOCALE_DATA = {
104
+ const LEAD_LOCALE_DATA$1 = {
105
105
  'vi-VN': {
106
106
  popupLang: 'vi',
107
107
  countryCode: 'vn',
@@ -143,7 +143,7 @@ const LEAD_LOCALE_DATA = {
143
143
  countryCodeNumber: 91,
144
144
  },
145
145
  };
146
- const LEAD_LOCALE = LEAD_LOCALE_DATA[docLang] || LEAD_LOCALE_DATA['vi-VN'];
146
+ const LEAD_LOCALE = LEAD_LOCALE_DATA$1[docLang] || LEAD_LOCALE_DATA$1['vi-VN'];
147
147
  function LEAD_RESET_VAR() {
148
148
  // LEAD_CURRENT_URL = location.href.toLowerCase();
149
149
  LEAD_CURRENT_URL =
@@ -164,6 +164,11 @@ const LEAD_TIMEZONE_DATA = {
164
164
  9: 'Asia/Manila', // Philippines / Filipinos Site
165
165
  };
166
166
 
167
+ const LEADGEN_ACTIONS = {
168
+ SHOW: 'SHOW',
169
+ SCROLL: 'SCROLL',
170
+ TIME: 'TIME',
171
+ };
167
172
  const LEADGEN_LAYOUT = {
168
173
  LightBoxA: 'LightBoxA',
169
174
  LightBoxB: 'LightBoxB',
@@ -193,8 +198,10 @@ const LEADGEN_BLOCK = {
193
198
  DropdownBlock: 'DropdownBlock',
194
199
  CheckboxBlock: 'CheckboxBlock',
195
200
  TncBlock: 'TncBlock',
201
+ TitleBlock: 'TitleBlock',
202
+ SubtitleBlock: 'SubtitleBlock',
196
203
  };
197
- const LEADGEN_BLOCK_IN_FORM = [
204
+ const LEADGEN_BLOCK_INPUT = [
198
205
  LEADGEN_BLOCK.TextBlock,
199
206
  LEADGEN_BLOCK.NumberBlock,
200
207
  LEADGEN_BLOCK.DateBlock,
@@ -210,6 +217,48 @@ const LEADGEN_BLOCK_IN_FORM = [
210
217
  LEADGEN_BLOCK.TncBlock,
211
218
  ];
212
219
  const SSO_MAP_LEAD = ['name', 'email', 'birthday', 'phone', 'gender'];
220
+ const LEAD_LOCALE_DATA = {
221
+ 'vi-VN': {
222
+ popupLang: 'vi',
223
+ countryCode: 'vn',
224
+ countryCodeNumber: 84,
225
+ },
226
+ 'id-ID': {
227
+ popupLang: 'id',
228
+ countryCode: 'id',
229
+ countryCodeNumber: 62,
230
+ },
231
+ 'th-TH': {
232
+ popupLang: 'th',
233
+ countryCode: 'th',
234
+ countryCodeNumber: 66,
235
+ },
236
+ 'ms-MY': {
237
+ popupLang: 'ms',
238
+ countryCode: 'my',
239
+ countryCodeNumber: 60,
240
+ },
241
+ 'zh-TW': {
242
+ popupLang: 'zh',
243
+ countryCode: 'tw',
244
+ countryCodeNumber: 886,
245
+ },
246
+ 'km-KH': {
247
+ popupLang: 'km',
248
+ countryCode: 'kh',
249
+ countryCodeNumber: 855,
250
+ },
251
+ 'my-MM': {
252
+ popupLang: 'my',
253
+ countryCode: 'mm',
254
+ countryCodeNumber: 95,
255
+ },
256
+ 'hi-IN': {
257
+ popupLang: 'hi',
258
+ countryCode: 'in',
259
+ countryCodeNumber: 91,
260
+ },
261
+ };
213
262
  const mappingSSOToLead = (userInfoProps) => {
214
263
  var _a, _b;
215
264
  try {
@@ -225,7 +274,7 @@ const mappingSSOToLead = (userInfoProps) => {
225
274
  if (ssoKey === 'birthday') {
226
275
  const dob = dayjs__default["default"](initValue, 'YYYY-MM-DD', true);
227
276
  if (dob.isValid()) {
228
- user.birthday = dob;
277
+ user.birthday = dob.toDate();
229
278
  }
230
279
  }
231
280
  else if (ssoKey === 'gender') {
@@ -248,6 +297,46 @@ const mappingSSOToLead = (userInfoProps) => {
248
297
  catch (error) {
249
298
  return;
250
299
  }
300
+ };
301
+ const formatCampaignDetail = (campaign) => {
302
+ if (!campaign) {
303
+ return {};
304
+ }
305
+ try {
306
+ const { extra_fields, thank_you_image } = campaign || {};
307
+ const { textBlocks: exTextBlocks, imageBlocks: exImageBlocks, listBlockAdded: exListBlockAdded, listBlockThankyou: exListBlockThankyou, actionBlocks: exActionBlocks, } = extra_fields;
308
+ const textBlocks = JSON.parse(exTextBlocks);
309
+ const imageBlocks = JSON.parse(exImageBlocks);
310
+ const listBlockAdded = JSON.parse(exListBlockAdded);
311
+ const listBlockThankyou = JSON.parse(exListBlockThankyou);
312
+ const actionBlocks = JSON.parse(exActionBlocks);
313
+ const ThankYouBlock = {
314
+ image: { src: thank_you_image },
315
+ };
316
+ listBlockThankyou.forEach((block) => {
317
+ const { name, data } = block || {};
318
+ const { value: htmlText, align, newtab, url } = data || {};
319
+ switch (name) {
320
+ case LEADGEN_BLOCK.TitleBlock: {
321
+ ThankYouBlock.title = { htmlText, align };
322
+ }
323
+ case LEADGEN_BLOCK.SubtitleBlock: {
324
+ ThankYouBlock.description = { htmlText, align };
325
+ }
326
+ case LEADGEN_BLOCK.LinkButtonBlock: {
327
+ ThankYouBlock.button = { htmlText, newtab, url };
328
+ }
329
+ }
330
+ });
331
+ return Object.assign(Object.assign({}, campaign), { extra_fields: Object.assign(Object.assign({}, extra_fields), { textBlocks,
332
+ imageBlocks,
333
+ listBlockAdded,
334
+ listBlockThankyou,
335
+ actionBlocks }), ThankYouBlock });
336
+ }
337
+ catch (error) {
338
+ return {};
339
+ }
251
340
  };
252
341
 
253
342
  class Store {
@@ -258,6 +347,13 @@ class Store {
258
347
  }
259
348
  const leadStore = new Store();
260
349
 
350
+ const LEADGEN_API_METHOD = {
351
+ GET: 'get',
352
+ POST: 'POST',
353
+ };
354
+ const LEADGEN_API_PATH = {
355
+ V2_CAMPAIGN: 'api/v2/campaign',
356
+ };
261
357
  const leadApi = {
262
358
  call(_a) {
263
359
  var { url, data = undefined } = _a, config = tslib_es6.__rest(_a, ["url", "data"]);
@@ -361,8 +457,39 @@ const verifyOtpLead = ({ phone, otp, type, }) => {
361
457
  },
362
458
  });
363
459
  };
460
+ const campaignGetByCode = (campaign_code) => {
461
+ return leadApi.call({
462
+ url: `${LEADGEN_API_PATH.V2_CAMPAIGN}/${campaign_code}`,
463
+ method: LEADGEN_API_METHOD.GET,
464
+ });
465
+ };
466
+ const campaignPostLead = ({ data }) => {
467
+ return leadApi.call({
468
+ url: 'api/v2/subscription-box',
469
+ method: LEADGEN_API_METHOD.POST,
470
+ data,
471
+ });
472
+ };
473
+ const campaignPostImpression = ({ code, action, title_article, ga_client_id, cookie_id, extra, url, referrer, }) => {
474
+ return leadApi.call({
475
+ url: `api/campaign/${code}/impression`,
476
+ method: LEADGEN_API_METHOD.POST,
477
+ data: {
478
+ action,
479
+ title_article,
480
+ cookie_id,
481
+ ga_client_id,
482
+ url,
483
+ extra,
484
+ referrer,
485
+ },
486
+ });
487
+ };
364
488
  const Service = {
365
489
  campaignGetById,
490
+ campaignGetByCode,
491
+ campaignPostLead,
492
+ campaignPostImpression,
366
493
  validateEmailOrPhoneOnSubot,
367
494
  validateEmailOrPhoneOnLeadGen,
368
495
  validatePhoneNumberOnLeadGen,
@@ -1364,330 +1491,47 @@ const getTranslations = (locale) => {
1364
1491
 
1365
1492
  const LeadGenContext = React.createContext({});
1366
1493
 
1367
- const useImageSize = (src) => {
1368
- const [width, setWidth] = React.useState(16);
1369
- const [height, setHeight] = React.useState(9);
1370
- const [loaded, setLoaded] = React.useState(false);
1371
- // load src image to get its width and height
1494
+ const LeadGenSubscriptionBoxContext = React.createContext({});
1495
+ const LeadGenSubscriptionBoxProvider = (props) => {
1496
+ const { campaign_code, apiUrl: apiUrlProps, apiSubotUrl, locale, forceCampaign: forceCampaignProps, children, } = props;
1497
+ const [forceCampaign, setForceCampaign] = React.useState(forceCampaignProps);
1498
+ const leadGenSubscriptionBoxValue = React.useMemo(() => (Object.assign(Object.assign({}, props), { forceCampaign })), [campaign_code, locale, forceCampaign]);
1499
+ const translationContextValue = { locale, values: getTranslations(locale) };
1372
1500
  React.useEffect(() => {
1373
- setLoaded(false);
1374
- if (src) {
1375
- const img = new Image();
1376
- img.addEventListener('load', () => {
1377
- setWidth(img.naturalWidth);
1378
- setHeight(img.naturalHeight);
1379
- setLoaded(true);
1380
- });
1381
- img.addEventListener('error', () => {
1382
- setWidth(16);
1383
- setHeight(9);
1384
- setLoaded(true);
1385
- });
1386
- img.src = src;
1501
+ if (forceCampaignProps) {
1502
+ setForceCampaign(forceCampaignProps);
1503
+ return;
1387
1504
  }
1388
- else {
1389
- setWidth(16);
1390
- setHeight(9);
1391
- setLoaded(true);
1505
+ if (campaign_code) {
1506
+ Service.campaignGetByCode(campaign_code).then((res) => {
1507
+ const { _data } = res || {};
1508
+ const { campaigns } = _data || {};
1509
+ setForceCampaign(formatCampaignDetail(campaigns));
1510
+ });
1392
1511
  }
1393
- }, [src]);
1394
- return {
1395
- loaded,
1396
- width,
1397
- height,
1398
- };
1399
- };
1400
-
1401
- const CloseButton = ({ onClose, containerClassName, svgClassName, }) => (React__default["default"].createElement("button", { onClick: onClose, className: `le-newbuilder-close-button js-modal__close ${containerClassName || ''}` },
1402
- React__default["default"].createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", className: svgClassName },
1403
- React__default["default"].createElement("path", { d: "M9.99981 10.8432L14.0583 14.9017C14.1691 15.0125 14.3083 15.0691 14.476 15.0717C14.6437 15.0743 14.7854 15.0176 14.9013 14.9017C15.0172 14.7858 15.0752 14.6453 15.0752 14.4802C15.0752 14.3151 15.0172 14.1746 14.9013 14.0587L10.8429 10.0002L14.9013 5.9417C15.0121 5.83094 15.0688 5.69172 15.0713 5.52402C15.0739 5.35634 15.0172 5.21456 14.9013 5.09866C14.7854 4.98276 14.6449 4.9248 14.4798 4.9248C14.3147 4.9248 14.1742 4.98276 14.0583 5.09866L9.99981 9.15712L5.94133 5.09866C5.83057 4.98789 5.69135 4.93122 5.52365 4.92866C5.35598 4.92609 5.21419 4.98276 5.09829 5.09866C4.98239 5.21456 4.92444 5.35506 4.92444 5.52018C4.92444 5.6853 4.98239 5.82581 5.09829 5.9417L9.15675 10.0002L5.09829 14.0587C4.98752 14.1694 4.93085 14.3087 4.9283 14.4763C4.92572 14.644 4.98239 14.7858 5.09829 14.9017C5.21419 15.0176 5.3547 15.0756 5.51982 15.0756C5.68493 15.0756 5.82544 15.0176 5.94133 14.9017L9.99981 10.8432Z" }))));
1404
-
1405
- // url: imageBlocks.imageMobile.data.url
1406
- // newTab: imageBlocks.imageMobile.data.newtab
1407
- // imageMobile: campaignShow.image
1408
- // imageDestkop: campaignShow.image_desktop
1409
- const CenterTabLayout = ({ popupId, url, newTab, imageDestkop, imageMobile, onClose, onOtherSubmit, }) => {
1410
- const { width: imageMobileWidth, height: imageMobileHeight, loaded: imageMobileLoaded, } = useImageSize(imageMobile);
1411
- const { width: imageDestkopWidth, height: imageDestkopHeight, loaded: imageDestkopLoaded, } = useImageSize(imageDestkop);
1412
- if (!imageMobileLoaded || !imageDestkopLoaded)
1413
- return null;
1414
- return (React__default["default"].createElement("div", { id: popupId, className: "lead-modal-wrapper", "data-popup-url": location.pathname, "data-popup-type": "center_tab" },
1415
- React__default["default"].createElement("div", { className: "le-center-tab-popup" },
1416
- React__default["default"].createElement("div", { style: { position: 'relative' } },
1417
- React__default["default"].createElement("a", { className: "js-popup-other-submit", href: url, target: newTab ? 'blank' : '_parent', onClick: onOtherSubmit },
1418
- index$7.isVideo(imageMobile) ? (React__default["default"].createElement("video", { loop: true, muted: true, autoPlay: true, className: "le-only-mobile" },
1419
- React__default["default"].createElement("source", { src: imageMobile }))) : (React__default["default"].createElement("img", { className: "le-only-mobile", src: imageMobile, style: {
1420
- aspectRatio: `${imageMobileWidth}/${imageMobileHeight}`,
1421
- } })),
1422
- index$7.isVideo(imageDestkop) ? (React__default["default"].createElement("video", { loop: true, muted: true, autoPlay: true, className: "le-only-desktop" },
1423
- React__default["default"].createElement("source", { src: imageDestkop }))) : (React__default["default"].createElement("img", { className: "le-only-desktop", src: imageDestkop, style: {
1424
- aspectRatio: `${imageDestkopWidth}/${imageDestkopHeight}`,
1425
- } }))),
1426
- React__default["default"].createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" })))));
1427
- };
1428
-
1429
- // title: titleText
1430
- // titleAlign: textBlocks.titleBlock.data.align
1431
- // subtitle: textBlocks.subtitleBlock.data.value
1432
- // subtitleAlign: textBlocks.subtitleBlock.data.align
1433
- // url: actionBlocks.linkButtonBlock.data.url
1434
- // urlText: actionBlocks.linkButtonBlock.data.value
1435
- // newTab: actionBlocks.linkButtonBlock.data.newtab
1436
- // imageMobile: campaignShow.image
1437
- // imageDesktop: campaignShow.image_desktop
1438
- const FloatingLayout = ({ popupId, url, title, urlText, titleAlign, subtitle, subtitleAlign, newTab, imageDesktop, imageMobile, onClose, onOtherSubmit, }) => {
1439
- const { width: imageMobileWidth, height: imageMobileHeight, loaded: imageMobileLoaded, } = useImageSize(imageMobile);
1440
- const { width: imageDesktopWidth, height: imageDesktopHeight, loaded: imageDesktopLoaded, } = useImageSize(imageDesktop);
1441
- if (!imageMobileLoaded || !imageDesktopLoaded)
1442
- return null;
1443
- return (React__default["default"].createElement("div", { id: popupId, className: "lead-modal-wrapper lead-floating-wrapper", "data-popup-url": location.pathname, "data-popup-type": "floating" },
1444
- React__default["default"].createElement("aside", { className: "le-only-desktop" },
1445
- React__default["default"].createElement("div", { className: "le-floating-desktop" },
1446
- React__default["default"].createElement("div", { className: "le-floating-desktop-wrap", style: { position: 'relative', background: '#fff' } },
1447
- imageDesktop ? (React__default["default"].createElement("div", null,
1448
- React__default["default"].createElement("img", { style: {
1449
- maxWidth: 120,
1450
- borderTopLeftRadius: 5,
1451
- borderBottomLeftRadius: 5,
1452
- aspectRatio: `${imageDesktopWidth}/${imageDesktopHeight}`,
1453
- }, src: imageDesktop }))) : null,
1454
- React__default["default"].createElement("div", { style: { padding: 20 } },
1455
- React__default["default"].createElement("div", { className: `le-floating-desktop-title le-text-align-${titleAlign}` }, title),
1456
- React__default["default"].createElement("div", { className: `le-floating-desktop-desc le-text-align-${subtitleAlign}` }, subtitle)),
1457
- React__default["default"].createElement("a", { target: newTab ? 'blank' : '_parent', style: { marginLeft: 35, textDecoration: 'none' }, href: url },
1458
- React__default["default"].createElement("button", { className: "le-joinbow-floating-btn js-popup-other-submit", onClick: onOtherSubmit }, urlText)),
1459
- React__default["default"].createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" })))),
1460
- React__default["default"].createElement("aside", { className: "le-only-mobile" },
1461
- React__default["default"].createElement("div", { className: "le-floating-mobile" },
1462
- React__default["default"].createElement("div", { className: "le-floating-mobile-wrap", style: { position: 'relative', background: '#fff' } },
1463
- React__default["default"].createElement("aside", { style: { display: 'flex', justifyContent: 'space-between' } },
1464
- React__default["default"].createElement("div", null,
1465
- React__default["default"].createElement("div", { className: `le-floating-mobile-title le-text-align-${titleAlign}` }, title),
1466
- React__default["default"].createElement("div", { className: `le-floating-mobile-desc le-text-align-${subtitleAlign}` }, subtitle)),
1467
- imageMobile ? (React__default["default"].createElement("div", null,
1468
- React__default["default"].createElement("img", { style: {
1469
- marginLeft: 15,
1470
- marginTop: 4,
1471
- maxWidth: 100,
1472
- aspectRatio: `${imageMobileWidth}/${imageMobileHeight}`,
1473
- }, src: imageMobile }))) : null),
1474
- React__default["default"].createElement("div", { style: { textAlign: 'center', marginTop: 10 } },
1475
- React__default["default"].createElement("a", { target: newTab ? 'blank' : '_parent', href: url, style: { textDecoration: 'none' } },
1476
- React__default["default"].createElement("button", { className: "le-joinbow-floating-btn js-popup-other-submit", onClick: onOtherSubmit }, urlText))),
1477
- React__default["default"].createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" }))))));
1478
- };
1479
-
1480
- const ThankyouPopup = ({ title, titleAlign, subtitle, subtitleAlign, link, linkNewTab, linkText, image, }) => {
1481
- const { width: imageWidth, height: imageHeight, loaded: imageLoaded, } = useImageSize(image);
1482
- if (!imageLoaded)
1512
+ }, [campaign_code]);
1513
+ React.useEffect(() => {
1514
+ leadStore.apiLeadUrl = apiUrlProps;
1515
+ leadStore.apiSubotUrl = apiSubotUrl;
1516
+ return () => {
1517
+ setForceCampaign(null);
1518
+ };
1519
+ }, []);
1520
+ if (!forceCampaign || !(forceCampaign === null || forceCampaign === void 0 ? void 0 : forceCampaign.id)) {
1483
1521
  return null;
1484
- return (React__default["default"].createElement("div", { className: "lead-modal__thank-you leadgen-inner_thankyou" },
1485
- React__default["default"].createElement("div", { style: { width: '100%' } },
1486
- React__default["default"].createElement("img", { src: image, style: {
1487
- maxHeight: 162,
1488
- objectFit: 'cover',
1489
- aspectRatio: `${imageWidth}/${imageHeight}`,
1490
- }, loading: "lazy" }),
1491
- title && (React__default["default"].createElement("h1", { className: `le-thankyou-title le-text-align-${titleAlign}` }, title)),
1492
- subtitle && (React__default["default"].createElement("p", { className: `le-thankyou-subtitle le-text-align-${subtitleAlign}` }, subtitle.split('\n').map((text, idx, list) => {
1493
- const isShowBr = idx < list.length - 1;
1494
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
1495
- text,
1496
- isShowBr && React__default["default"].createElement("br", null)));
1497
- }))),
1498
- linkText && (React__default["default"].createElement("div", null,
1499
- React__default["default"].createElement("a", { href: link, target: linkNewTab ? '_blank' : 'parrent', rel: "noreferrer" },
1500
- React__default["default"].createElement("button", { className: `lead-modal__btn ${LEAD_CLASS}` }, linkText)))))));
1501
- };
1502
-
1503
- const InlineLayout = ({ content, inlinePosition, }) => {
1504
- const target = React.useMemo(() => {
1505
- if (!inlinePosition)
1506
- return null;
1507
- const parents = document.querySelectorAll(`[data-url="${location.pathname}"] .body-content`);
1508
- const allChildren = Array.from(parents).reduce((r, p) => {
1509
- return [...r, ...Array.from(p.children)];
1510
- }, []);
1511
- if (allChildren === null || allChildren === void 0 ? void 0 : allChildren.length) {
1512
- // find the third p tag in the body content, some other tags might mix in between
1513
- const allPTags = allChildren.filter((c) => c.nodeName === 'P');
1514
- const allH2Tags = allChildren.filter((c) => c.nodeName === 'H2');
1515
- let target = null;
1516
- switch (inlinePosition) {
1517
- case '1th':
1518
- target = allPTags[0];
1519
- break;
1520
- case '2th':
1521
- target = allPTags[1];
1522
- break;
1523
- case '3th':
1524
- target = allPTags[2];
1525
- break;
1526
- case '4th':
1527
- target = allPTags[3];
1528
- break;
1529
- case '5th':
1530
- target = allPTags[4];
1531
- break;
1532
- case '6th':
1533
- target = allPTags[5];
1534
- break;
1535
- case '7th':
1536
- target = allPTags[6];
1537
- break;
1538
- case '8th':
1539
- target = allPTags[7];
1540
- break;
1541
- case '9th':
1542
- target = allPTags[8];
1543
- break;
1544
- case '10th':
1545
- target = allPTags[9];
1546
- break;
1547
- case '11th':
1548
- target = allPTags[10];
1549
- break;
1550
- case '12th':
1551
- target = allPTags[11];
1552
- break;
1553
- case 'lastP':
1554
- target = allPTags[allPTags.length - 1];
1555
- break;
1556
- case '1thH2':
1557
- target = allH2Tags[0];
1558
- break;
1559
- case '2thH2':
1560
- target = allH2Tags[1];
1561
- break;
1562
- case '3thH2':
1563
- target = allH2Tags[2];
1564
- break;
1565
- case '4thH2':
1566
- target = allH2Tags[3];
1567
- break;
1568
- case '5thH2':
1569
- target = allH2Tags[4];
1570
- break;
1571
- case '6thH2':
1572
- target = allH2Tags[5];
1573
- break;
1574
- case '7thH2':
1575
- target = allH2Tags[6];
1576
- break;
1577
- case '8thH2':
1578
- target = allH2Tags[7];
1579
- break;
1580
- case '9thH2':
1581
- target = allH2Tags[8];
1582
- break;
1583
- case '10thH2':
1584
- target = allH2Tags[9];
1585
- break;
1586
- case 'lastH2':
1587
- target = allH2Tags[allH2Tags.length - 1];
1588
- break;
1589
- }
1590
- if (target) {
1591
- if (!target.parentElement.querySelector('.inline-lead-wrapper')) {
1592
- const wrapper = document.createElement('div');
1593
- wrapper.classList.add('inline-lead-wrapper');
1594
- if (target.nextElementSibling) {
1595
- target.parentElement.insertBefore(wrapper, target.nextElementSibling);
1596
- }
1597
- else {
1598
- target.parentElement.appendChild(wrapper);
1599
- }
1600
- return wrapper;
1601
- }
1602
- else {
1603
- return target.parentElement.querySelector('.inline-lead-wrapper');
1604
- }
1605
- }
1606
- }
1607
- }, [inlinePosition]);
1608
- if (!inlinePosition || !target)
1609
- return null;
1610
- return ReactDOM.createPortal(content, target);
1611
- };
1612
-
1613
- const SideBarLayout = ({ content }) => {
1614
- const targets = React.useMemo(() => {
1615
- const targetDoms = Array.from(document.querySelectorAll('.hc2-sidebar-with-ads,.page-main-col .right-col.f-right,.hhg-lead-sidebar'));
1616
- targetDoms.forEach((dom) => {
1617
- if (dom.querySelector('.sidebar-lead-modal-wrapper'))
1618
- return;
1619
- const wrapper = document.createElement('div');
1620
- wrapper.classList.add('sidebar-lead-modal-wrapper');
1621
- dom.prepend(wrapper);
1622
- });
1623
- return targetDoms.map((d) => d.querySelector('.sidebar-lead-modal-wrapper'));
1624
- }, []);
1625
- return (React__default["default"].createElement(React__default["default"].Fragment, null, targets.map((target) => ReactDOM.createPortal(content, utils$1.getWrapperDomWithSelector(target, 'sidebar-lead-modal-wrapper')))));
1626
- };
1627
-
1628
- const EmptyIcon = (props) => {
1629
- const { className, style } = props;
1630
- return (React__default["default"].createElement("svg", { width: "160", height: "160", viewBox: "0 0 160 160", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, style: style },
1631
- React__default["default"].createElement("path", { d: "M79.9974 113.333C98.4069 113.333 113.331 98.4096 113.331 80.0001C113.331 61.5906 98.4069 46.6667 79.9974 46.6667C61.5879 46.6667 46.6641 61.5906 46.6641 80.0001C46.6641 98.4096 61.5879 113.333 79.9974 113.333Z", fill: "#F44D2C" }),
1632
- React__default["default"].createElement("path", { d: "M92.434 95.0004C91.7771 95.0004 91.1213 94.7499 90.6194 94.249L65.7521 69.3807C64.7493 68.3779 64.7493 66.7542 65.7521 65.7524C66.7549 64.7507 68.3786 64.7497 69.3804 65.7524L94.2487 90.6208C95.2515 91.6235 95.2515 93.2473 94.2487 94.249C93.7468 94.7499 93.0909 95.0004 92.434 95.0004Z", fill: "white" }),
1633
- React__default["default"].createElement("path", { d: "M67.5648 95C66.9079 95 66.252 94.7496 65.7501 94.2487C64.7474 93.2459 64.7474 91.6222 65.7501 90.6204L90.6185 65.7521C91.6212 64.7493 93.245 64.7493 94.2467 65.7521C95.2485 66.7549 95.2495 68.3786 94.2467 69.3804L69.3794 94.2487C68.8786 94.7496 68.2217 95 67.5648 95Z", fill: "white" })));
1634
- };
1635
-
1636
- const EmptyComponent = ({ onClose, onContinue, }) => {
1637
- const { t } = index.useTranslations();
1638
- return (React__default["default"].createElement("div", { className: "leadgen-empty" },
1639
- React__default["default"].createElement("div", { className: "leadgen-empty_body" },
1640
- React__default["default"].createElement("div", { className: "leadgen-empty_wrapper" },
1641
- React__default["default"].createElement(EmptyIcon, { className: "leadgen-empty_image" }),
1642
- React__default["default"].createElement("h5", { className: "leadgen-empty_title" }, t('lead.empty.title')))),
1643
- React__default["default"].createElement("div", { className: "leadgen-empty_footer" },
1644
- React__default["default"].createElement(core.Button, { onClick: onClose, size: "lg", variant: "default", fullWidth: false, className: "leadgen-btn leadgen-btn_empty_cancel" }, t('lead.empty.cancel')),
1645
- React__default["default"].createElement(core.Button, { onClick: onContinue, size: "lg", variant: "filled", fullWidth: false, className: "leadgen-btn leadgen-btn_empty_again" }, t('lead.empty.submitAgain')))));
1646
- };
1647
-
1648
- const libraries = ['places'];
1649
- const GoogleLocationBlock = (props) => {
1650
- var _a;
1651
- const { inputWrapperOrder = ['label', 'input', 'description', 'error'], defaultValue, value: valueProps, onChange: onChangeProps, locale } = props, restProps = tslib_es6.__rest(props, ["inputWrapperOrder", "defaultValue", "value", "onChange", "locale"]);
1652
- const [LoadScript, setLoadScript] = React.useState(null);
1653
- const [value, setValue] = React.useState(defaultValue || valueProps);
1654
- const { predictions } = usePlacesAutocomplete.usePlacesAutocomplete(value, '', locale === 'tl-PH' ? 'en' : (_a = locale === null || locale === void 0 ? void 0 : locale.split('-')) === null || _a === void 0 ? void 0 : _a[0]);
1655
- const onChangeAutocomplete = React.useCallback((s) => {
1656
- setValue(s);
1657
- onChangeProps === null || onChangeProps === void 0 ? void 0 : onChangeProps(s);
1658
- }, []);
1659
- const onClickItem = React.useCallback((item) => {
1660
- /** For sure get value */
1661
- setValue(item.value);
1662
- const predCur = predictions === null || predictions === void 0 ? void 0 : predictions.find(({ description }) => description === item.value);
1663
- onChangeProps === null || onChangeProps === void 0 ? void 0 : onChangeProps(item.value, predCur === null || predCur === void 0 ? void 0 : predCur.rawData);
1664
- }, [onChangeProps, predictions]);
1665
- React.useEffect(() => {
1666
- setValue(valueProps);
1667
- }, [valueProps]);
1668
- React.useEffect(() => {
1669
- var _a, _b, _c;
1670
- // only load extra google script when not yet loaded
1671
- if (!((_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.places) === null || _c === void 0 ? void 0 : _c.AutocompleteService) && !LoadScript) {
1672
- Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@react-google-maps/api')); }).then((m) => {
1673
- setLoadScript(() => m.LoadScript);
1674
- });
1675
- }
1676
- }, []);
1677
- return (React__default["default"].createElement(core.Autocomplete, Object.assign({ defaultValue: defaultValue, value: value, onChange: onChangeAutocomplete, data: predictions.map((pred) => {
1678
- return { value: pred.description, label: pred.description };
1679
- }), filter: () => true, onItemSubmit: onClickItem, inputWrapperOrder: inputWrapperOrder, zIndex: index$8.ZINDEX_SSO - 9e6 + 2, withinPortal: true, styles: { dropdown: { pointerEvents: 'auto' } }, inputContainer: (children) => {
1680
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
1681
- LoadScript && (React__default["default"].createElement(LoadScript, { googleMapsApiKey: usePlacesAutocomplete.GOOGLE_API_KEY, libraries: libraries, loadingElement: React__default["default"].createElement(React__default["default"].Fragment, null), style: { width: '100%' } })),
1682
- children));
1683
- } }, restProps)));
1522
+ }
1523
+ return (React__default["default"].createElement(LeadGenSubscriptionBoxContext.Provider, { value: leadGenSubscriptionBoxValue },
1524
+ React__default["default"].createElement(translationsContext.TranslationsContext.Provider, { value: translationContextValue }, children)));
1684
1525
  };
1685
1526
 
1686
1527
  // You can give context variables any name
1687
1528
  const [LeadFormProvider, useLeadFormContext, useLeadForm] = form.createFormContext();
1688
1529
  const useLeadFormConfig = ({ listBlockAdded = [], validatingPhoneRef, validatingEmailRef, campaignId, campaign_subot_id = [], userInfo, }) => {
1530
+ var _a;
1689
1531
  const { t } = index.useTranslations();
1690
1532
  const initialValues = React.useMemo(() => mappingSSOToLead(userInfo), [userInfo === null || userInfo === void 0 ? void 0 : userInfo.id]);
1533
+ const LEAD_LOCALE = LEAD_LOCALE_DATA[(_a = document === null || document === void 0 ? void 0 : document.documentElement) === null || _a === void 0 ? void 0 : _a.lang] ||
1534
+ LEAD_LOCALE_DATA['vi-VN'];
1691
1535
  const validateObj = React.useMemo(() => {
1692
1536
  const InputBlocks = [
1693
1537
  'TextBlock',
@@ -1850,9 +1694,28 @@ const useLeadFormConfig = ({ listBlockAdded = [], validatingPhoneRef, validating
1850
1694
  return { form, validateObj };
1851
1695
  };
1852
1696
 
1853
- const SubtitleBlock = ({ children, align, }) => (React__default["default"].createElement("p", { className: `lead-modal__description ${'le-text-align-' + (align || '')} ${LEAD_CLASS}` }, children));
1697
+ const PhoneInput = React.forwardRef((props, ref) => {
1698
+ const { defaultCountry, id: idProps, name, placeholder, label, labelElement, labelProps, description, descriptionProps, withAsterisk, inputMode, inputContainer, inputWrapperOrder, error, className, classNames, style, styles } = props, restProps = tslib_es6.__rest(props, ["defaultCountry", "id", "name", "placeholder", "label", "labelElement", "labelProps", "description", "descriptionProps", "withAsterisk", "inputMode", "inputContainer", "inputWrapperOrder", "error", "className", "classNames", "style", "styles"]);
1699
+ const id = idProps || uuid.v1() + name;
1700
+ return (React__default["default"].createElement(core.Input.Wrapper, { size: "md", label: label, labelElement: labelElement, labelProps: Object.assign({ htmlFor: id }, labelProps), description: description, descriptionProps: descriptionProps, withAsterisk: withAsterisk, inputMode: inputMode, inputContainer: inputContainer, inputWrapperOrder: inputWrapperOrder, error: error, "data-invalid": !!error, className: className, classNames: classNames, style: style, styles: styles },
1701
+ React__default["default"].createElement("div", { className: "mantine-Input-wrapper" },
1702
+ React__default["default"].createElement(index$2.Phone, Object.assign({}, restProps, { id: id, ref: ref, name: name, spellCheck: false, placeholder: placeholder, defaultCountry: defaultCountry, className: "mantine-Input-input", type: "tel", "data-control": "tel" })))));
1703
+ });
1854
1704
 
1855
- const cssInputNotShrink = react.css `
1705
+ const StyledLeadGenFormInner = styled__default["default"].div `
1706
+ display: flex;
1707
+ flex-wrap: wrap;
1708
+ gap: 8px;
1709
+ .leadgen-form_input {
1710
+ width: calc(50% - 4px);
1711
+ }
1712
+
1713
+ .leadgen-form_input_checkbox {
1714
+ width: 100%;
1715
+ }
1716
+ `;
1717
+
1718
+ const cssInputNotShrink$1 = react.css `
1856
1719
  height: 100% !important;
1857
1720
  min-height: calc(var(--container-height, 56px) * 22 / 56);
1858
1721
  color: ${miscTheme.theme.colors.gray800};
@@ -1870,13 +1733,13 @@ const cssInputNotShrink = react.css `
1870
1733
  color: ${miscTheme.theme.colors.gray400};
1871
1734
  }
1872
1735
  `;
1873
- const cssInputShrink = react.css `
1736
+ const cssInputShrink$1 = react.css `
1874
1737
  height: auto !important;
1875
1738
  cursor: text;
1876
1739
  opacity: 1;
1877
1740
  transition: 0.1s ease-in-out all;
1878
1741
  `;
1879
- const cssLabelNotShrink = react.css `
1742
+ const cssLabelNotShrink$1 = react.css `
1880
1743
  position: absolute;
1881
1744
  top: calc(var(--container-height) / 2);
1882
1745
  left: var(--space-x, 16px);
@@ -1890,7 +1753,7 @@ const cssLabelNotShrink = react.css `
1890
1753
  transform: translateY(-50%);
1891
1754
  transition: 0.125s ease-in all;
1892
1755
  `;
1893
- const cssLabelShrink = react.css `
1756
+ const cssLabelShrink$1 = react.css `
1894
1757
  color: ${miscTheme.theme.colors.gray600};
1895
1758
  font-weight: 600;
1896
1759
  font-size: var(--label-shrink, 12px);
@@ -1898,7 +1761,7 @@ const cssLabelShrink = react.css `
1898
1761
  transform: none;
1899
1762
  transition: 0.125s ease-out all;
1900
1763
  `;
1901
- const cssWrapperInputNotShrink = react.css `
1764
+ const cssWrapperInputNotShrink$1 = react.css `
1902
1765
  min-height: var(--container-height, 56px);
1903
1766
  display: flex;
1904
1767
  align-items: flex-end;
@@ -1922,19 +1785,19 @@ const cssWrapperInputNotShrink = react.css `
1922
1785
  border-color: ${miscTheme.theme.colors.gray200};
1923
1786
  }
1924
1787
  `;
1925
- const cssWrapperInputShrink = react.css `
1788
+ const cssWrapperInputShrink$1 = react.css `
1926
1789
  height: auto;
1927
1790
  min-height: var(--container-height, 56px);
1928
1791
  padding-block: var(--space-y-shrink, 7px);
1929
1792
  cursor: text;
1930
1793
  pointer-events: auto;
1931
1794
  `;
1932
- const cssInputWrapperError = react.css `
1795
+ const cssInputWrapperError$1 = react.css `
1933
1796
  color: ${miscTheme.theme.colors.red800};
1934
1797
  font-size: 12px;
1935
1798
  line-height: 1.5;
1936
1799
  `;
1937
- const StyledTextFieldContainer = styled__default["default"].div `
1800
+ const StyledTextFieldContainer$1 = styled__default["default"].div `
1938
1801
  --space-x: 16px;
1939
1802
  --space-y-not-shrink: 16px;
1940
1803
  --space-y-shrink: 7px;
@@ -1969,11 +1832,11 @@ const StyledTextFieldContainer = styled__default["default"].div `
1969
1832
  }
1970
1833
 
1971
1834
  .mantine-InputWrapper-label {
1972
- ${cssLabelNotShrink}
1835
+ ${cssLabelNotShrink$1}
1973
1836
  }
1974
1837
 
1975
1838
  .mantine-Input-wrapper {
1976
- ${cssWrapperInputNotShrink}
1839
+ ${cssWrapperInputNotShrink$1}
1977
1840
 
1978
1841
  + .mantine-Popover-dropdown[data-position="bottom-start"] {
1979
1842
  left: 0 !important;
@@ -1986,17 +1849,17 @@ const StyledTextFieldContainer = styled__default["default"].div `
1986
1849
  }
1987
1850
 
1988
1851
  .mantine-Input-input {
1989
- ${cssInputNotShrink}
1852
+ ${cssInputNotShrink$1}
1990
1853
  }
1991
1854
 
1992
1855
  &.textField_shrink,
1993
1856
  &:focus-within {
1994
1857
  .mantine-InputWrapper-label {
1995
- ${cssLabelShrink}
1858
+ ${cssLabelShrink$1}
1996
1859
  }
1997
1860
 
1998
1861
  .mantine-Input-wrapper {
1999
- ${cssWrapperInputShrink}
1862
+ ${cssWrapperInputShrink$1}
2000
1863
  &.mantine-Select-wrapper {
2001
1864
  .mantine-Select-rightSection {
2002
1865
  pointer-events: auto !important;
@@ -2005,7 +1868,7 @@ const StyledTextFieldContainer = styled__default["default"].div `
2005
1868
  }
2006
1869
 
2007
1870
  .mantine-Input-input {
2008
- ${cssInputShrink}
1871
+ ${cssInputShrink$1}
2009
1872
  }
2010
1873
 
2011
1874
  &:has(.PhoneInput) {
@@ -2057,7 +1920,7 @@ const StyledTextFieldContainer = styled__default["default"].div `
2057
1920
  }
2058
1921
  }
2059
1922
  `;
2060
- const StyledChoiceFieldContainer = styled__default["default"].div `
1923
+ const StyledChoiceFieldContainer$1 = styled__default["default"].div `
2061
1924
  &.leadgen-form_checkbox,
2062
1925
  &.leadgen-form_radio {
2063
1926
  width: 100%;
@@ -2098,6 +1961,9 @@ const StyledChoiceFieldContainer = styled__default["default"].div `
2098
1961
  input[type='radio'],
2099
1962
  input[type='checkbox'] {
2100
1963
  border-color: ${miscTheme.theme.colors.primary600};
1964
+ + svg {
1965
+ color: ${miscTheme.theme.colors.primary600};
1966
+ }
2101
1967
  }
2102
1968
 
2103
1969
  input[type='radio'] {
@@ -2144,11 +2010,11 @@ const StyledChoiceFieldContainer = styled__default["default"].div `
2144
2010
  }
2145
2011
 
2146
2012
  .mantine-InputWrapper-error {
2147
- ${cssInputWrapperError}
2013
+ ${cssInputWrapperError$1}
2148
2014
  }
2149
2015
  `;
2150
2016
 
2151
- const TextField = (props) => {
2017
+ const TextField$1 = (props) => {
2152
2018
  const { shrink: shrinkProps, onChangeShrink, className, children } = props, restProps = tslib_es6.__rest(props, ["shrink", "onChangeShrink", "className", "children"]);
2153
2019
  const containerRef = hooks.useClickOutside(() => {
2154
2020
  if (shrinkProps) {
@@ -2168,12 +2034,1069 @@ const TextField = (props) => {
2168
2034
  const $focusEl = $textEl.item($textEl.length - 1);
2169
2035
  if ($focusEl) {
2170
2036
  $focusEl.focus();
2171
- $focusEl.scrollIntoView({
2172
- behavior: 'auto',
2173
- block: 'center',
2174
- inline: 'start',
2037
+ setTimeout(() => {
2038
+ $focusEl.scrollIntoView({
2039
+ behavior: 'auto',
2040
+ block: 'center',
2041
+ inline: 'start',
2042
+ });
2043
+ }, 100);
2044
+ }
2045
+ }, [shrink]);
2046
+ React.useEffect(() => {
2047
+ setShrink(shrinkProps);
2048
+ }, [shrinkProps]);
2049
+ return (React__default["default"].createElement(StyledTextFieldContainer$1, Object.assign({ shrink: shrink, className: core.clsx(className, 'textField', { textField_shrink: !!shrink }) }, restProps),
2050
+ React__default["default"].createElement("div", { ref: containerRef, onClick: onClick, className: "textField_wrapper" }, children)));
2051
+ };
2052
+ const ChoiceField$1 = (props) => {
2053
+ const { children, className } = props, restProps = tslib_es6.__rest(props, ["children", "className"]);
2054
+ return (React__default["default"].createElement(StyledChoiceFieldContainer$1, Object.assign({ className: core.clsx(className, 'choiceField') }, restProps), children));
2055
+ };
2056
+
2057
+ const libraries = ['places'];
2058
+ const GoogleLocationBlock = (props) => {
2059
+ var _a;
2060
+ const { inputWrapperOrder = ['label', 'input', 'description', 'error'], defaultValue, value: valueProps, onChange: onChangeProps, locale } = props, restProps = tslib_es6.__rest(props, ["inputWrapperOrder", "defaultValue", "value", "onChange", "locale"]);
2061
+ const [LoadScript, setLoadScript] = React.useState(null);
2062
+ const [value, setValue] = React.useState(defaultValue || valueProps);
2063
+ const { predictions } = usePlacesAutocomplete.usePlacesAutocomplete(value, '', locale === 'tl-PH' ? 'en' : (_a = locale === null || locale === void 0 ? void 0 : locale.split('-')) === null || _a === void 0 ? void 0 : _a[0]);
2064
+ const onChangeAutocomplete = React.useCallback((s) => {
2065
+ setValue(s);
2066
+ onChangeProps === null || onChangeProps === void 0 ? void 0 : onChangeProps(s);
2067
+ }, []);
2068
+ const onClickItem = React.useCallback((item) => {
2069
+ /** For sure get value */
2070
+ setValue(item.value);
2071
+ const predCur = predictions === null || predictions === void 0 ? void 0 : predictions.find(({ description }) => description === item.value);
2072
+ onChangeProps === null || onChangeProps === void 0 ? void 0 : onChangeProps(item.value, predCur === null || predCur === void 0 ? void 0 : predCur.rawData);
2073
+ }, [onChangeProps, predictions]);
2074
+ React.useEffect(() => {
2075
+ setValue(valueProps);
2076
+ }, [valueProps]);
2077
+ React.useEffect(() => {
2078
+ var _a, _b, _c;
2079
+ // only load extra google script when not yet loaded
2080
+ if (!((_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.places) === null || _c === void 0 ? void 0 : _c.AutocompleteService) && !LoadScript) {
2081
+ Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('@react-google-maps/api')); }).then((m) => {
2082
+ setLoadScript(() => m.LoadScript);
2175
2083
  });
2176
2084
  }
2085
+ }, []);
2086
+ return (React__default["default"].createElement(core.Autocomplete, Object.assign({ defaultValue: defaultValue, value: value, onChange: onChangeAutocomplete, data: predictions.map((pred) => {
2087
+ return { value: pred.description, label: pred.description };
2088
+ }), filter: () => true, onItemSubmit: onClickItem, inputWrapperOrder: inputWrapperOrder, zIndex: index$7.ZINDEX_SSO - 9e6 + 2, withinPortal: true, styles: { dropdown: { pointerEvents: 'auto' } }, inputContainer: (children) => {
2089
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
2090
+ LoadScript && (React__default["default"].createElement(LoadScript, { googleMapsApiKey: usePlacesAutocomplete.GOOGLE_API_KEY, libraries: libraries, loadingElement: React__default["default"].createElement(React__default["default"].Fragment, null), style: { width: '100%' } })),
2091
+ children));
2092
+ } }, restProps)));
2093
+ };
2094
+
2095
+ const LEADGEN_ORDER_INPUT_WRAPPER = [
2096
+ 'label',
2097
+ 'input',
2098
+ 'description',
2099
+ 'error',
2100
+ ];
2101
+ const LeadGenForm = React.forwardRef((props, ref) => {
2102
+ const { locale, blocks, scrollToErrorField = true, form: formProps, rules: validate, initialValues, onFinish, onFinishFailed, className, style, } = props;
2103
+ const formRef = React.useRef(null);
2104
+ const form$1 = formProps || form.useForm({ initialValues, validate });
2105
+ const middlewareFinish = (values, event) => {
2106
+ onFinish === null || onFinish === void 0 ? void 0 : onFinish(values, event);
2107
+ };
2108
+ const middlewareFinishFailed = (errors, values, events) => {
2109
+ if (scrollToErrorField && errors) {
2110
+ const firstErrorKey = Object.keys(errors)[0];
2111
+ const firstErrorElement = document.querySelector(`[name="${firstErrorKey}"]`);
2112
+ if (firstErrorElement && (firstErrorElement === null || firstErrorElement === void 0 ? void 0 : firstErrorElement.focus)) {
2113
+ setTimeout(() => {
2114
+ firstErrorElement === null || firstErrorElement === void 0 ? void 0 : firstErrorElement.focus();
2115
+ firstErrorElement.scrollIntoView({
2116
+ behavior: 'auto',
2117
+ block: 'center',
2118
+ inline: 'center',
2119
+ });
2120
+ }, 100);
2121
+ }
2122
+ }
2123
+ onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed(errors, values, events);
2124
+ };
2125
+ React.useEffect(() => {
2126
+ (() => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
2127
+ if (!window.intlTelInputUtils) {
2128
+ yield require('intl-tel-input/build/js/utils');
2129
+ }
2130
+ }))();
2131
+ }, []);
2132
+ React.useImperativeHandle(ref, () => (Object.assign(Object.assign({}, form$1), { submit: () => formRef.current.requestSubmit() })), [form$1, formRef]);
2133
+ if (!blocks || !blocks.length) {
2134
+ return null;
2135
+ }
2136
+ return (React__default["default"].createElement("form", { ref: formRef, onSubmit: form$1.onSubmit(middlewareFinish, middlewareFinishFailed), className: className, style: style },
2137
+ React__default["default"].createElement(StyledLeadGenFormInner, { className: "leadgen-form_inputs" }, blocks.map((block, idx) => {
2138
+ const { id, name: blockName, data } = block;
2139
+ const { placeholder, value: name, required, listQuestion, valueHTML, isSendMailChimp = false, } = data;
2140
+ const formInputProps = form$1.getInputProps(name);
2141
+ const { value, error } = formInputProps;
2142
+ const reactKey = `${id}-${idx}`;
2143
+ switch (blockName) {
2144
+ case LEADGEN_BLOCK.TextBlock: {
2145
+ return (React__default["default"].createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2146
+ React__default["default"].createElement(core.TextInput, Object.assign({ name: name, spellCheck: false, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, type: "text", "data-control": "text" }, formInputProps))));
2147
+ }
2148
+ case LEADGEN_BLOCK.NumberBlock: {
2149
+ return (React__default["default"].createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2150
+ React__default["default"].createElement(core.NumberInput, Object.assign({ name: value, spellCheck: false, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, type: "number", "data-control": "number" }, formInputProps))));
2151
+ }
2152
+ case LEADGEN_BLOCK.EmailBlock: {
2153
+ return (React__default["default"].createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2154
+ React__default["default"].createElement(core.TextInput, Object.assign({ name: name, spellCheck: false, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, "data-control": "email" }, formInputProps))));
2155
+ }
2156
+ case LEADGEN_BLOCK.PhoneOtpBlock:
2157
+ case LEADGEN_BLOCK.WhatsappOtpBlock:
2158
+ case LEADGEN_BLOCK.ZaloOtpBlock:
2159
+ case LEADGEN_BLOCK.PhoneBlock: {
2160
+ return (React__default["default"].createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2161
+ React__default["default"].createElement(PhoneInput, Object.assign({ name: name, spellCheck: false, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, defaultCountry: (locale ? utils.MAPPED_LOCALE[locale] || 'VN' : 'VN'), type: "text", "data-control": "text" }, formInputProps))));
2162
+ }
2163
+ case LEADGEN_BLOCK.LocationBlock: {
2164
+ return (React__default["default"].createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2165
+ React__default["default"].createElement(GoogleLocationBlock, Object.assign({ name: name, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, locale: locale, "data-control": "text" }, formInputProps))));
2166
+ }
2167
+ case LEADGEN_BLOCK.DateBlock: {
2168
+ return (React__default["default"].createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2169
+ React__default["default"].createElement(dates.DateInput, Object.assign({ locale: (utils.MAPPED_LOCALE === null || utils.MAPPED_LOCALE === void 0 ? void 0 : utils.MAPPED_LOCALE[locale]) || utils.MAPPED_LOCALE['vi-VN'], valueFormat: "DD/MM/YYYY", name: name, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, type: "default", "data-control": "date" }, formInputProps))));
2170
+ }
2171
+ case LEADGEN_BLOCK.DropdownBlock:
2172
+ return (React__default["default"].createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2173
+ React__default["default"].createElement("div", { style: { display: 'none' }, "data-extra": true, "data-name": value, "data-control": 'dropdown' }),
2174
+ React__default["default"].createElement(core.Select, Object.assign({ name: name, withAsterisk: required, label: placeholder, placeholder: placeholder, data: listQuestion.map((l) => ({
2175
+ value: l.value,
2176
+ label: l.placeholder,
2177
+ })) }, formInputProps))));
2178
+ case LEADGEN_BLOCK.CheckboxBlock: {
2179
+ const formInputCheckboxProps = form$1.getInputProps(name, {
2180
+ type: 'checkbox',
2181
+ });
2182
+ return (React__default["default"].createElement(ChoiceField$1, { className: "leadgen-form_input leadgen-form_input_checkbox", key: reactKey },
2183
+ isSendMailChimp && (React__default["default"].createElement("div", { style: { display: 'none' }, "data-name": name + '-mailchimp' })),
2184
+ React__default["default"].createElement(core.Checkbox.Group, Object.assign({ size: "md", withAsterisk: required, label: placeholder, value: value, sx: {
2185
+ display: 'flex',
2186
+ flexDirection: 'column',
2187
+ flexWrap: 'wrap',
2188
+ gap: 8,
2189
+ }, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, inputContainer: (children) => {
2190
+ return (React__default["default"].createElement("div", { className: "leadgen-choiceContainer" }, children));
2191
+ } }, formInputCheckboxProps), listQuestion.map((l, _idx) => (React__default["default"].createElement(core.Checkbox, { name: name, key: _idx, value: l.value, label: l.placeholder, "data-control": "checkbox" }))))));
2192
+ }
2193
+ case LEADGEN_BLOCK.RadioBlock: {
2194
+ return (React__default["default"].createElement(ChoiceField$1, { className: "leadgen-form_input leadgen-form_input_checkbox", key: reactKey },
2195
+ isSendMailChimp && (React__default["default"].createElement("div", { style: { display: 'none' }, "data-name": name + '-mailchimp' })),
2196
+ React__default["default"].createElement(core.Radio.Group, Object.assign({ size: "md", withAsterisk: required, label: placeholder, value: value, spellCheck: true, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, inputContainer: (children) => {
2197
+ return (React__default["default"].createElement("div", { className: "leadgen-choiceContainer" }, children));
2198
+ } }, formInputProps), listQuestion.map((l, _index) => (React__default["default"].createElement(core.Radio, { name: name, key: _index, value: l.value, label: l.placeholder, "data-control": "radio" }))))));
2199
+ }
2200
+ case 'TncBlock':
2201
+ return (React__default["default"].createElement(ChoiceField$1, { className: "leadgen-form_input leadgen-form_input_checkbox", key: reactKey },
2202
+ React__default["default"].createElement(core.Input.Wrapper, { error: error },
2203
+ React__default["default"].createElement(core.Checkbox, Object.assign({ value: value, name: 'TNC-' + id, label: React__default["default"].createElement("p", { className: "lead-modal__tnc-link", dangerouslySetInnerHTML: { __html: valueHTML } }), className: "tnc-block", "data-control": "checkbox" }, formInputProps)))));
2204
+ default: {
2205
+ return null;
2206
+ }
2207
+ }
2208
+ }))));
2209
+ });
2210
+
2211
+ const StyledLeadGenThankYou = styled__default["default"].div `
2212
+ display: flex;
2213
+ gap: 8px;
2214
+ flex-direction: column;
2215
+ padding-block: 24px;
2216
+
2217
+ .leadgen-image {
2218
+ width: 120px;
2219
+ height: 120px;
2220
+ margin-inline: auto;
2221
+ object-fit: contain;
2222
+ object-position: center;
2223
+ text-align: center;
2224
+ }
2225
+
2226
+ .leadgen-title {
2227
+ margin-block: 0;
2228
+ color: ${miscTheme.theme.colors.gray900};
2229
+ font-weight: 700;
2230
+ font-size: 18px;
2231
+ line-height: 28px;
2232
+ letter-spacing: -0.2px;
2233
+ }
2234
+
2235
+ .leadgen-description {
2236
+ margin-block: 0;
2237
+ color: ${miscTheme.theme.colors.gray600};
2238
+ font-weight: 400;
2239
+ font-size: 14px;
2240
+ line-height: 22px;
2241
+ letter-spacing: -0.2px;
2242
+ text-align: center;
2243
+ }
2244
+
2245
+ > [data-align] {
2246
+ &[data-align='right'] {
2247
+ text-align: right;
2248
+ }
2249
+ &[data-align='center'] {
2250
+ text-align: center;
2251
+ }
2252
+ }
2253
+ `;
2254
+ const LeadGenThankYou = ({ image, title, description, showButton = false, button, className, style, }) => {
2255
+ const { src } = image;
2256
+ const { htmlText: titleText, align: titleAlign } = title;
2257
+ const { htmlText: descriptionText, align: descriptionAlign } = description;
2258
+ const { htmlText: buttonText, newtab, url, onClick } = button;
2259
+ return (React__default["default"].createElement(StyledLeadGenThankYou, { className: className, style: style },
2260
+ React__default["default"].createElement("img", { src: src, alt: "", className: "leadgen-thankyou_image leadgen-image" }),
2261
+ React__default["default"].createElement("p", { className: "leadgen-thankyou_title leadgen-title", "data-align": titleAlign }, titleText),
2262
+ React__default["default"].createElement("p", { className: "leadgen-thankyou_description leadgen-description", "data-align": descriptionAlign }, descriptionText),
2263
+ !!buttonText && showButton && (React__default["default"].createElement(core.Button, { component: url ? 'a' : 'button', target: newtab ? '_blank' : undefined, href: url, size: "lg", variant: "filled", className: "leadgen-thankyoue_btn leadgen-btn", onClick: onClick }, buttonText))));
2264
+ };
2265
+
2266
+ const StyledLeadGenSubscriptionBoxBody = styled__default["default"].div `
2267
+ margin-top: 16px;
2268
+ .leadgen-btn {
2269
+ margin-top: 16px;
2270
+ }
2271
+ `;
2272
+ const StyledLeadGenSubscriptionBoxHeaderImage = styled__default["default"].div `
2273
+ margin-top: 3px;
2274
+ margin-right: 20px;
2275
+ width: 44px;
2276
+ height: 44px;
2277
+
2278
+ img {
2279
+ width: 100%;
2280
+ height: 100%;
2281
+ object-fix: contain;
2282
+ onject-position: center;
2283
+ }
2284
+
2285
+ :has(img[src='']) {
2286
+ display: none;
2287
+ }
2288
+ `;
2289
+ const StyledLeadGenSubscriptionBoxHeader = styled__default["default"].div `
2290
+ display: flex;
2291
+ align-items: center;
2292
+ margin-bottom: 16px;
2293
+ .leadgen-title {
2294
+ margin-bottom: 0;
2295
+ flex: 1;
2296
+ min-width: 0;
2297
+ color: ${miscTheme.theme.colors.gray900};
2298
+ font-size: 18px;
2299
+ font-weight: 600;
2300
+ line-height: 1.4;
2301
+ letter-spacing: -0.8px;
2302
+ }
2303
+ `;
2304
+ const StyledLeadGenSubscriptionBox = styled__default["default"].div `
2305
+ padding: 16px;
2306
+ border: 1px solid ${miscTheme.theme.colors.neutral100};
2307
+ border-radius: 12px;
2308
+ margin-inline: auto;
2309
+ .leadgen-form_inputs {
2310
+ .leadgen-form_input {
2311
+ width: 100%;
2312
+ }
2313
+ }
2314
+
2315
+ .leadgen-form_input {
2316
+ .mantine-Input-wrapper {
2317
+ max-height: 56px;
2318
+ }
2319
+ }
2320
+
2321
+ @media screen and (min-width: 768px) {
2322
+ .leadgen-subscription_box_body {
2323
+ display: flex;
2324
+ > form {
2325
+ flex: 1;
2326
+ min-width: 0;
2327
+
2328
+ .leadgen-form_inputs {
2329
+ .leadgen-form_input {
2330
+ width: calc(50% - 4px);
2331
+ }
2332
+ }
2333
+ }
2334
+
2335
+ .leadgen-btn {
2336
+ margin-top: 0;
2337
+ margin-left: 8px;
2338
+ width: auto;
2339
+ min-height: 56px;
2340
+ }
2341
+ }
2342
+ }
2343
+ `;
2344
+ const LeadGenSubscriptionBoxWithoutMemo = ({ locale, userInfo, siteId, siteDomain, forceCampaign, campaign_code, article_id, subscription_title: subscriptionTitleProps, }) => {
2345
+ var _a, _b, _c;
2346
+ const refContainer = React.useRef(null);
2347
+ const validatingEmailRef = React.useRef(false);
2348
+ const validatingPhoneRef = React.useRef(false);
2349
+ const { image, extra_fields, id: campaign_id, bot_id: campaign_subot_id = [], ThankYouBlock, } = forceCampaign || {};
2350
+ const { textBlocks, listBlockAdded, actionBlocks } = extra_fields || {};
2351
+ const { submitBlock } = actionBlocks || {};
2352
+ const [loading, setLoading] = React.useState(false);
2353
+ const [showThankyou, setShowThankyou] = React.useState(false);
2354
+ const formRef = React.useRef(null);
2355
+ const { form, validateObj } = useLeadFormConfig({
2356
+ listBlockAdded,
2357
+ campaignId: campaign_id,
2358
+ campaign_subot_id,
2359
+ validatingEmailRef,
2360
+ validatingPhoneRef,
2361
+ userInfo,
2362
+ });
2363
+ const subscription_title = React.useMemo(() => { var _a, _b; return subscriptionTitleProps || ((_b = (_a = textBlocks === null || textBlocks === void 0 ? void 0 : textBlocks.titleBlock) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.value); }, [subscriptionTitleProps, (_b = (_a = textBlocks === null || textBlocks === void 0 ? void 0 : textBlocks.titleBlock) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.value]);
2364
+ const { image: thankyouImage, title: thankyouTitle, description: thankyouDescription, button: thankyouButton, } = ThankYouBlock || {};
2365
+ const { apiUrl } = React.useMemo(() => {
2366
+ let apiUrl = leadStore.apiLeadUrl;
2367
+ if (apiUrl.includes('localhost')) {
2368
+ apiUrl = 'https://dev.leadgen.hellobacsi.com/';
2369
+ }
2370
+ return {
2371
+ apiUrl,
2372
+ };
2373
+ }, [siteDomain, siteId]);
2374
+ const url = React.useMemo(() => location.href.toLowerCase() || '', []);
2375
+ const article_title = React.useMemo(() => document.title || '', []);
2376
+ const cookie_id = React.useMemo(() => miscCookieHelper.getCookie('hhg-id') || null, []);
2377
+ const ga_client_id = React.useMemo(() => miscCookieHelper.getCookie('_ga') || null, []);
2378
+ const leadgenImpression = React.useCallback(() => {
2379
+ Service.campaignPostImpression({
2380
+ url,
2381
+ action: LEADGEN_ACTIONS.SCROLL,
2382
+ code: campaign_code,
2383
+ title_article: article_title,
2384
+ cookie_id,
2385
+ ga_client_id,
2386
+ extra: { cookie_id, article_id, subscription_title },
2387
+ });
2388
+ }, [
2389
+ article_id,
2390
+ article_title,
2391
+ cookie_id,
2392
+ ga_client_id,
2393
+ campaign_code,
2394
+ subscription_title,
2395
+ ]);
2396
+ const intersectionObserverCallback = React.useCallback((entries) => {
2397
+ entries.forEach((entry) => {
2398
+ const { isIntersecting, target } = entry;
2399
+ if (isIntersecting && target === refContainer.current) {
2400
+ leadgenImpression();
2401
+ }
2402
+ });
2403
+ }, [leadgenImpression]);
2404
+ const IObserver = new IntersectionObserver(intersectionObserverCallback);
2405
+ const middlewareOnSubmit = React.useCallback((value) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
2406
+ const newValue = {
2407
+ url,
2408
+ article_title,
2409
+ cookie_id,
2410
+ ga_client_id,
2411
+ article_id,
2412
+ campaign_id,
2413
+ campaign_code,
2414
+ subscription_title: subscription_title,
2415
+ };
2416
+ listBlockAdded.forEach(({ data: { value: k } }) => {
2417
+ newValue[k] = value[k];
2418
+ });
2419
+ setLoading(true);
2420
+ try {
2421
+ const { _data } = (yield Service.campaignPostLead({ data: newValue })) || {};
2422
+ const { model } = _data;
2423
+ if (model && model.id) {
2424
+ setShowThankyou(true);
2425
+ }
2426
+ }
2427
+ catch (error) {
2428
+ console.log('** Error : ', error);
2429
+ }
2430
+ setLoading(false);
2431
+ }), [
2432
+ url,
2433
+ article_id,
2434
+ article_title,
2435
+ cookie_id,
2436
+ ga_client_id,
2437
+ campaign_code,
2438
+ subscription_title,
2439
+ listBlockAdded,
2440
+ ]);
2441
+ React.useEffect(() => {
2442
+ if (refContainer.current) {
2443
+ IObserver.observe(refContainer.current);
2444
+ }
2445
+ return () => {
2446
+ IObserver.disconnect();
2447
+ };
2448
+ }, [
2449
+ url,
2450
+ article_id,
2451
+ article_title,
2452
+ ga_client_id,
2453
+ campaign_id,
2454
+ campaign_code,
2455
+ subscription_title,
2456
+ ]);
2457
+ return (React__default["default"].createElement("div", { ref: refContainer },
2458
+ React__default["default"].createElement(StyledLeadGenSubscriptionBox, null,
2459
+ showThankyou && (React__default["default"].createElement(LeadGenThankYou, { image: Object.assign(Object.assign({}, thankyouImage), { src: thankyouImage.src || `${apiUrl}admin/img/thanksyou.png` }), title: thankyouTitle, description: thankyouDescription, button: thankyouButton })),
2460
+ !showThankyou && (React__default["default"].createElement(React__default["default"].Fragment, null,
2461
+ React__default["default"].createElement(StyledLeadGenSubscriptionBoxHeader, null,
2462
+ !!image && (React__default["default"].createElement(StyledLeadGenSubscriptionBoxHeaderImage, null,
2463
+ React__default["default"].createElement("img", { src: image, alt: "" }))),
2464
+ React__default["default"].createElement("p", { className: "leadgen-title" }, subscription_title)),
2465
+ React__default["default"].createElement(StyledLeadGenSubscriptionBoxBody, { className: "leadgen-subscription_box_body" },
2466
+ React__default["default"].createElement(LeadGenForm, { ref: formRef, form: form, rules: validateObj, blocks: listBlockAdded, locale: locale, onFinish: middlewareOnSubmit }),
2467
+ React__default["default"].createElement(core.Button, { disabled: loading, loading: loading, variant: "filled", size: "lg", onClick: () => { var _a; return (_a = formRef.current) === null || _a === void 0 ? void 0 : _a.submit(); }, className: "leadgen-btn leadgen-btn_action", fullWidth: true }, (_c = submitBlock === null || submitBlock === void 0 ? void 0 : submitBlock.data) === null || _c === void 0 ? void 0 : _c.value)))))));
2468
+ };
2469
+ const LeadGenSubscriptionBoxWithMemo = React.memo(LeadGenSubscriptionBoxWithoutMemo);
2470
+
2471
+ const Container = () => {
2472
+ const context = React.useContext(LeadGenSubscriptionBoxContext);
2473
+ const {
2474
+ // apiUrl: apiUrlProps,
2475
+ // apiSubotUrl,
2476
+ campaign_code, article_id, subscription_title, locale, siteId, siteDomain, userInfo, forceCampaign, } = context;
2477
+ if (!forceCampaign || !(forceCampaign === null || forceCampaign === void 0 ? void 0 : forceCampaign.id)) {
2478
+ return null;
2479
+ }
2480
+ return (React__default["default"].createElement(LeadGenSubscriptionBoxWithMemo, { locale: locale, userInfo: userInfo, siteId: siteId, siteDomain: siteDomain, forceCampaign: forceCampaign, campaign_code: campaign_code, article_id: article_id, subscription_title: subscription_title }));
2481
+ };
2482
+ Container.displayName = 'LeadGenSubscriptionBox';
2483
+ const LeadGenSubscriptionBoxContainer = (props) => {
2484
+ const { campaign_code } = props;
2485
+ if (!campaign_code) {
2486
+ return null;
2487
+ }
2488
+ return (React__default["default"].createElement(LeadGenSubscriptionBoxProvider, Object.assign({}, props),
2489
+ React__default["default"].createElement(Container, null)));
2490
+ };
2491
+ const LeadGenSubscriptionBox = LeadGenSubscriptionBoxContainer;
2492
+
2493
+ const useImageSize = (src) => {
2494
+ const [width, setWidth] = React.useState(16);
2495
+ const [height, setHeight] = React.useState(9);
2496
+ const [loaded, setLoaded] = React.useState(false);
2497
+ // load src image to get its width and height
2498
+ React.useEffect(() => {
2499
+ setLoaded(false);
2500
+ if (src) {
2501
+ const img = new Image();
2502
+ img.addEventListener('load', () => {
2503
+ setWidth(img.naturalWidth);
2504
+ setHeight(img.naturalHeight);
2505
+ setLoaded(true);
2506
+ });
2507
+ img.addEventListener('error', () => {
2508
+ setWidth(16);
2509
+ setHeight(9);
2510
+ setLoaded(true);
2511
+ });
2512
+ img.src = src;
2513
+ }
2514
+ else {
2515
+ setWidth(16);
2516
+ setHeight(9);
2517
+ setLoaded(true);
2518
+ }
2519
+ }, [src]);
2520
+ return {
2521
+ loaded,
2522
+ width,
2523
+ height,
2524
+ };
2525
+ };
2526
+
2527
+ const CloseButton = ({ onClose, containerClassName, svgClassName, }) => (React__default["default"].createElement("button", { onClick: onClose, className: `le-newbuilder-close-button js-modal__close ${containerClassName || ''}` },
2528
+ React__default["default"].createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", className: svgClassName },
2529
+ React__default["default"].createElement("path", { d: "M9.99981 10.8432L14.0583 14.9017C14.1691 15.0125 14.3083 15.0691 14.476 15.0717C14.6437 15.0743 14.7854 15.0176 14.9013 14.9017C15.0172 14.7858 15.0752 14.6453 15.0752 14.4802C15.0752 14.3151 15.0172 14.1746 14.9013 14.0587L10.8429 10.0002L14.9013 5.9417C15.0121 5.83094 15.0688 5.69172 15.0713 5.52402C15.0739 5.35634 15.0172 5.21456 14.9013 5.09866C14.7854 4.98276 14.6449 4.9248 14.4798 4.9248C14.3147 4.9248 14.1742 4.98276 14.0583 5.09866L9.99981 9.15712L5.94133 5.09866C5.83057 4.98789 5.69135 4.93122 5.52365 4.92866C5.35598 4.92609 5.21419 4.98276 5.09829 5.09866C4.98239 5.21456 4.92444 5.35506 4.92444 5.52018C4.92444 5.6853 4.98239 5.82581 5.09829 5.9417L9.15675 10.0002L5.09829 14.0587C4.98752 14.1694 4.93085 14.3087 4.9283 14.4763C4.92572 14.644 4.98239 14.7858 5.09829 14.9017C5.21419 15.0176 5.3547 15.0756 5.51982 15.0756C5.68493 15.0756 5.82544 15.0176 5.94133 14.9017L9.99981 10.8432Z" }))));
2530
+
2531
+ // url: imageBlocks.imageMobile.data.url
2532
+ // newTab: imageBlocks.imageMobile.data.newtab
2533
+ // imageMobile: campaignShow.image
2534
+ // imageDestkop: campaignShow.image_desktop
2535
+ const CenterTabLayout = ({ popupId, url, newTab, imageDestkop, imageMobile, onClose, onOtherSubmit, }) => {
2536
+ const { width: imageMobileWidth, height: imageMobileHeight, loaded: imageMobileLoaded, } = useImageSize(imageMobile);
2537
+ const { width: imageDestkopWidth, height: imageDestkopHeight, loaded: imageDestkopLoaded, } = useImageSize(imageDestkop);
2538
+ if (!imageMobileLoaded || !imageDestkopLoaded)
2539
+ return null;
2540
+ return (React__default["default"].createElement("div", { id: popupId, className: "lead-modal-wrapper", "data-popup-url": location.pathname, "data-popup-type": "center_tab" },
2541
+ React__default["default"].createElement("div", { className: "le-center-tab-popup" },
2542
+ React__default["default"].createElement("div", { style: { position: 'relative' } },
2543
+ React__default["default"].createElement("a", { className: "js-popup-other-submit", href: url, target: newTab ? 'blank' : '_parent', onClick: onOtherSubmit },
2544
+ index$8.isVideo(imageMobile) ? (React__default["default"].createElement("video", { loop: true, muted: true, autoPlay: true, className: "le-only-mobile" },
2545
+ React__default["default"].createElement("source", { src: imageMobile }))) : (React__default["default"].createElement("img", { className: "le-only-mobile", src: imageMobile, style: {
2546
+ aspectRatio: `${imageMobileWidth}/${imageMobileHeight}`,
2547
+ } })),
2548
+ index$8.isVideo(imageDestkop) ? (React__default["default"].createElement("video", { loop: true, muted: true, autoPlay: true, className: "le-only-desktop" },
2549
+ React__default["default"].createElement("source", { src: imageDestkop }))) : (React__default["default"].createElement("img", { className: "le-only-desktop", src: imageDestkop, style: {
2550
+ aspectRatio: `${imageDestkopWidth}/${imageDestkopHeight}`,
2551
+ } }))),
2552
+ React__default["default"].createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" })))));
2553
+ };
2554
+
2555
+ // title: titleText
2556
+ // titleAlign: textBlocks.titleBlock.data.align
2557
+ // subtitle: textBlocks.subtitleBlock.data.value
2558
+ // subtitleAlign: textBlocks.subtitleBlock.data.align
2559
+ // url: actionBlocks.linkButtonBlock.data.url
2560
+ // urlText: actionBlocks.linkButtonBlock.data.value
2561
+ // newTab: actionBlocks.linkButtonBlock.data.newtab
2562
+ // imageMobile: campaignShow.image
2563
+ // imageDesktop: campaignShow.image_desktop
2564
+ const FloatingLayout = ({ popupId, url, title, urlText, titleAlign, subtitle, subtitleAlign, newTab, imageDesktop, imageMobile, onClose, onOtherSubmit, }) => {
2565
+ const { width: imageMobileWidth, height: imageMobileHeight, loaded: imageMobileLoaded, } = useImageSize(imageMobile);
2566
+ const { width: imageDesktopWidth, height: imageDesktopHeight, loaded: imageDesktopLoaded, } = useImageSize(imageDesktop);
2567
+ if (!imageMobileLoaded || !imageDesktopLoaded)
2568
+ return null;
2569
+ return (React__default["default"].createElement("div", { id: popupId, className: "lead-modal-wrapper lead-floating-wrapper", "data-popup-url": location.pathname, "data-popup-type": "floating" },
2570
+ React__default["default"].createElement("aside", { className: "le-only-desktop" },
2571
+ React__default["default"].createElement("div", { className: "le-floating-desktop" },
2572
+ React__default["default"].createElement("div", { className: "le-floating-desktop-wrap", style: { position: 'relative', background: '#fff' } },
2573
+ imageDesktop ? (React__default["default"].createElement("div", null,
2574
+ React__default["default"].createElement("img", { style: {
2575
+ maxWidth: 120,
2576
+ borderTopLeftRadius: 5,
2577
+ borderBottomLeftRadius: 5,
2578
+ aspectRatio: `${imageDesktopWidth}/${imageDesktopHeight}`,
2579
+ }, src: imageDesktop }))) : null,
2580
+ React__default["default"].createElement("div", { style: { padding: 20 } },
2581
+ React__default["default"].createElement("div", { className: `le-floating-desktop-title le-text-align-${titleAlign}` }, title),
2582
+ React__default["default"].createElement("div", { className: `le-floating-desktop-desc le-text-align-${subtitleAlign}` }, subtitle)),
2583
+ React__default["default"].createElement("a", { target: newTab ? 'blank' : '_parent', style: { marginLeft: 35, textDecoration: 'none' }, href: url },
2584
+ React__default["default"].createElement("button", { className: "le-joinbow-floating-btn js-popup-other-submit", onClick: onOtherSubmit }, urlText)),
2585
+ React__default["default"].createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" })))),
2586
+ React__default["default"].createElement("aside", { className: "le-only-mobile" },
2587
+ React__default["default"].createElement("div", { className: "le-floating-mobile" },
2588
+ React__default["default"].createElement("div", { className: "le-floating-mobile-wrap", style: { position: 'relative', background: '#fff' } },
2589
+ React__default["default"].createElement("aside", { style: { display: 'flex', justifyContent: 'space-between' } },
2590
+ React__default["default"].createElement("div", null,
2591
+ React__default["default"].createElement("div", { className: `le-floating-mobile-title le-text-align-${titleAlign}` }, title),
2592
+ React__default["default"].createElement("div", { className: `le-floating-mobile-desc le-text-align-${subtitleAlign}` }, subtitle)),
2593
+ imageMobile ? (React__default["default"].createElement("div", null,
2594
+ React__default["default"].createElement("img", { style: {
2595
+ marginLeft: 15,
2596
+ marginTop: 4,
2597
+ maxWidth: 100,
2598
+ aspectRatio: `${imageMobileWidth}/${imageMobileHeight}`,
2599
+ }, src: imageMobile }))) : null),
2600
+ React__default["default"].createElement("div", { style: { textAlign: 'center', marginTop: 10 } },
2601
+ React__default["default"].createElement("a", { target: newTab ? 'blank' : '_parent', href: url, style: { textDecoration: 'none' } },
2602
+ React__default["default"].createElement("button", { className: "le-joinbow-floating-btn js-popup-other-submit", onClick: onOtherSubmit }, urlText))),
2603
+ React__default["default"].createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" }))))));
2604
+ };
2605
+
2606
+ const ThankyouPopup = ({ title, titleAlign, subtitle, subtitleAlign, link, linkNewTab, linkText, image, }) => {
2607
+ const { width: imageWidth, height: imageHeight, loaded: imageLoaded, } = useImageSize(image);
2608
+ if (!imageLoaded)
2609
+ return null;
2610
+ return (React__default["default"].createElement("div", { className: "lead-modal__thank-you leadgen-inner_thankyou" },
2611
+ React__default["default"].createElement("div", { style: { width: '100%' } },
2612
+ React__default["default"].createElement("img", { src: image, style: {
2613
+ maxHeight: 162,
2614
+ objectFit: 'cover',
2615
+ aspectRatio: `${imageWidth}/${imageHeight}`,
2616
+ }, loading: "lazy" }),
2617
+ title && (React__default["default"].createElement("h1", { className: `le-thankyou-title le-text-align-${titleAlign}` }, title)),
2618
+ subtitle && (React__default["default"].createElement("p", { className: `le-thankyou-subtitle le-text-align-${subtitleAlign}` }, subtitle.split('\n').map((text, idx, list) => {
2619
+ const isShowBr = idx < list.length - 1;
2620
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
2621
+ text,
2622
+ isShowBr && React__default["default"].createElement("br", null)));
2623
+ }))),
2624
+ linkText && (React__default["default"].createElement("div", null,
2625
+ React__default["default"].createElement("a", { href: link, target: linkNewTab ? '_blank' : 'parrent', rel: "noreferrer" },
2626
+ React__default["default"].createElement("button", { className: `lead-modal__btn ${LEAD_CLASS}` }, linkText)))))));
2627
+ };
2628
+
2629
+ const InlineLayout = ({ content, inlinePosition, }) => {
2630
+ const target = React.useMemo(() => {
2631
+ if (!inlinePosition)
2632
+ return null;
2633
+ const parents = document.querySelectorAll(`[data-url="${location.pathname}"] .body-content`);
2634
+ const allChildren = Array.from(parents).reduce((r, p) => {
2635
+ return [...r, ...Array.from(p.children)];
2636
+ }, []);
2637
+ if (allChildren === null || allChildren === void 0 ? void 0 : allChildren.length) {
2638
+ // find the third p tag in the body content, some other tags might mix in between
2639
+ const allPTags = allChildren.filter((c) => c.nodeName === 'P');
2640
+ const allH2Tags = allChildren.filter((c) => c.nodeName === 'H2');
2641
+ let target = null;
2642
+ switch (inlinePosition) {
2643
+ case '1th':
2644
+ target = allPTags[0];
2645
+ break;
2646
+ case '2th':
2647
+ target = allPTags[1];
2648
+ break;
2649
+ case '3th':
2650
+ target = allPTags[2];
2651
+ break;
2652
+ case '4th':
2653
+ target = allPTags[3];
2654
+ break;
2655
+ case '5th':
2656
+ target = allPTags[4];
2657
+ break;
2658
+ case '6th':
2659
+ target = allPTags[5];
2660
+ break;
2661
+ case '7th':
2662
+ target = allPTags[6];
2663
+ break;
2664
+ case '8th':
2665
+ target = allPTags[7];
2666
+ break;
2667
+ case '9th':
2668
+ target = allPTags[8];
2669
+ break;
2670
+ case '10th':
2671
+ target = allPTags[9];
2672
+ break;
2673
+ case '11th':
2674
+ target = allPTags[10];
2675
+ break;
2676
+ case '12th':
2677
+ target = allPTags[11];
2678
+ break;
2679
+ case 'lastP':
2680
+ target = allPTags[allPTags.length - 1];
2681
+ break;
2682
+ case '1thH2':
2683
+ target = allH2Tags[0];
2684
+ break;
2685
+ case '2thH2':
2686
+ target = allH2Tags[1];
2687
+ break;
2688
+ case '3thH2':
2689
+ target = allH2Tags[2];
2690
+ break;
2691
+ case '4thH2':
2692
+ target = allH2Tags[3];
2693
+ break;
2694
+ case '5thH2':
2695
+ target = allH2Tags[4];
2696
+ break;
2697
+ case '6thH2':
2698
+ target = allH2Tags[5];
2699
+ break;
2700
+ case '7thH2':
2701
+ target = allH2Tags[6];
2702
+ break;
2703
+ case '8thH2':
2704
+ target = allH2Tags[7];
2705
+ break;
2706
+ case '9thH2':
2707
+ target = allH2Tags[8];
2708
+ break;
2709
+ case '10thH2':
2710
+ target = allH2Tags[9];
2711
+ break;
2712
+ case 'lastH2':
2713
+ target = allH2Tags[allH2Tags.length - 1];
2714
+ break;
2715
+ }
2716
+ if (target) {
2717
+ if (!target.parentElement.querySelector('.inline-lead-wrapper')) {
2718
+ const wrapper = document.createElement('div');
2719
+ wrapper.classList.add('inline-lead-wrapper');
2720
+ if (target.nextElementSibling) {
2721
+ target.parentElement.insertBefore(wrapper, target.nextElementSibling);
2722
+ }
2723
+ else {
2724
+ target.parentElement.appendChild(wrapper);
2725
+ }
2726
+ return wrapper;
2727
+ }
2728
+ else {
2729
+ return target.parentElement.querySelector('.inline-lead-wrapper');
2730
+ }
2731
+ }
2732
+ }
2733
+ }, [inlinePosition]);
2734
+ if (!inlinePosition || !target)
2735
+ return null;
2736
+ return ReactDOM.createPortal(content, target);
2737
+ };
2738
+
2739
+ const SideBarLayout = ({ content }) => {
2740
+ const targets = React.useMemo(() => {
2741
+ const targetDoms = Array.from(document.querySelectorAll('.hc2-sidebar-with-ads,.page-main-col .right-col.f-right,.hhg-lead-sidebar'));
2742
+ targetDoms.forEach((dom) => {
2743
+ if (dom.querySelector('.sidebar-lead-modal-wrapper'))
2744
+ return;
2745
+ const wrapper = document.createElement('div');
2746
+ wrapper.classList.add('sidebar-lead-modal-wrapper');
2747
+ dom.prepend(wrapper);
2748
+ });
2749
+ return targetDoms.map((d) => d.querySelector('.sidebar-lead-modal-wrapper'));
2750
+ }, []);
2751
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, targets.map((target) => ReactDOM.createPortal(content, utils$1.getWrapperDomWithSelector(target, 'sidebar-lead-modal-wrapper')))));
2752
+ };
2753
+
2754
+ const EmptyIcon = (props) => {
2755
+ const { className, style } = props;
2756
+ return (React__default["default"].createElement("svg", { width: "160", height: "160", viewBox: "0 0 160 160", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, style: style },
2757
+ React__default["default"].createElement("path", { d: "M79.9974 113.333C98.4069 113.333 113.331 98.4096 113.331 80.0001C113.331 61.5906 98.4069 46.6667 79.9974 46.6667C61.5879 46.6667 46.6641 61.5906 46.6641 80.0001C46.6641 98.4096 61.5879 113.333 79.9974 113.333Z", fill: "#F44D2C" }),
2758
+ React__default["default"].createElement("path", { d: "M92.434 95.0004C91.7771 95.0004 91.1213 94.7499 90.6194 94.249L65.7521 69.3807C64.7493 68.3779 64.7493 66.7542 65.7521 65.7524C66.7549 64.7507 68.3786 64.7497 69.3804 65.7524L94.2487 90.6208C95.2515 91.6235 95.2515 93.2473 94.2487 94.249C93.7468 94.7499 93.0909 95.0004 92.434 95.0004Z", fill: "white" }),
2759
+ React__default["default"].createElement("path", { d: "M67.5648 95C66.9079 95 66.252 94.7496 65.7501 94.2487C64.7474 93.2459 64.7474 91.6222 65.7501 90.6204L90.6185 65.7521C91.6212 64.7493 93.245 64.7493 94.2467 65.7521C95.2485 66.7549 95.2495 68.3786 94.2467 69.3804L69.3794 94.2487C68.8786 94.7496 68.2217 95 67.5648 95Z", fill: "white" })));
2760
+ };
2761
+
2762
+ const EmptyComponent = ({ onClose, onContinue, }) => {
2763
+ const { t } = index.useTranslations();
2764
+ return (React__default["default"].createElement("div", { className: "leadgen-empty" },
2765
+ React__default["default"].createElement("div", { className: "leadgen-empty_body" },
2766
+ React__default["default"].createElement("div", { className: "leadgen-empty_wrapper" },
2767
+ React__default["default"].createElement(EmptyIcon, { className: "leadgen-empty_image" }),
2768
+ React__default["default"].createElement("h5", { className: "leadgen-empty_title" }, t('lead.empty.title')))),
2769
+ React__default["default"].createElement("div", { className: "leadgen-empty_footer" },
2770
+ React__default["default"].createElement(core.Button, { onClick: onClose, size: "lg", variant: "default", fullWidth: false, className: "leadgen-btn leadgen-btn_empty_cancel" }, t('lead.empty.cancel')),
2771
+ React__default["default"].createElement(core.Button, { onClick: onContinue, size: "lg", variant: "filled", fullWidth: false, className: "leadgen-btn leadgen-btn_empty_again" }, t('lead.empty.submitAgain')))));
2772
+ };
2773
+
2774
+ const SubtitleBlock = ({ children, align, }) => (React__default["default"].createElement("p", { className: `lead-modal__description ${'le-text-align-' + (align || '')} ${LEAD_CLASS}` }, children));
2775
+
2776
+ const cssInputNotShrink = react.css `
2777
+ height: 100% !important;
2778
+ min-height: calc(var(--container-height, 56px) * 22 / 56);
2779
+ color: ${miscTheme.theme.colors.gray800};
2780
+ font-size: var(--input, 16px);
2781
+ line-height: calc(var(--container-height, 56px) * 22 / 56);
2782
+ border: none !important;
2783
+ border-radius: 0 !important;
2784
+ outline: none !important;
2785
+ box-shadow: none !important;
2786
+ padding: 0;
2787
+ cursor: pointer;
2788
+ opacity: 0;
2789
+
2790
+ ::placeholder {
2791
+ color: ${miscTheme.theme.colors.gray400};
2792
+ }
2793
+ `;
2794
+ const cssInputShrink = react.css `
2795
+ height: auto !important;
2796
+ cursor: text;
2797
+ opacity: 1;
2798
+ transition: 0.1s ease-in-out all;
2799
+ `;
2800
+ const cssLabelNotShrink = react.css `
2801
+ position: absolute;
2802
+ top: calc(var(--container-height) / 2);
2803
+ left: var(--space-x, 16px);
2804
+ color: ${miscTheme.theme.colors.gray400};
2805
+ font-size: var(--label-not-shrink, 16px);
2806
+ font-weight: 400;
2807
+ line-height: calc(var(--container-height, 56px) * 18 / 56);
2808
+ margin: 0;
2809
+ z-index: 1;
2810
+ cursor: pointer;
2811
+ transform: translateY(-50%);
2812
+ transition: 0.125s ease-in all;
2813
+ `;
2814
+ const cssLabelShrink = react.css `
2815
+ color: ${miscTheme.theme.colors.gray600};
2816
+ font-weight: 600;
2817
+ font-size: var(--label-shrink, 12px);
2818
+ top: calc(var(--container-height) * 7 / 56);
2819
+ transform: none;
2820
+ transition: 0.125s ease-out all;
2821
+ `;
2822
+ const cssWrapperInputNotShrink = react.css `
2823
+ min-height: var(--container-height, 56px);
2824
+ display: flex;
2825
+ align-items: flex-end;
2826
+ border: 1px solid ${miscTheme.theme.colors.gray200};
2827
+ border-radius: 8px;
2828
+ background-color: #fff;
2829
+ padding-inline: var(--space-x, 16px);
2830
+ padding-block: var(--space-y-not-shrink, 16px);
2831
+ cursor: pointer;
2832
+ pointer-events: none;
2833
+
2834
+ &:has(.mantine-Input-rightSection) {
2835
+ padding-right: var(--container-height, 56px);
2836
+ }
2837
+
2838
+ .mantine-Input-icon {
2839
+ display: none;
2840
+ }
2841
+
2842
+ .mantine-NumberInput-control {
2843
+ border-color: ${miscTheme.theme.colors.gray200};
2844
+ }
2845
+ `;
2846
+ const cssWrapperInputShrink = react.css `
2847
+ height: auto;
2848
+ min-height: var(--container-height, 56px);
2849
+ padding-block: var(--space-y-shrink, 7px);
2850
+ cursor: text;
2851
+ pointer-events: auto;
2852
+ `;
2853
+ const cssInputWrapperError = react.css `
2854
+ color: ${miscTheme.theme.colors.red800};
2855
+ font-size: 12px;
2856
+ line-height: 1.5;
2857
+ `;
2858
+ const StyledTextFieldContainer = styled__default["default"].div `
2859
+ --space-x: 16px;
2860
+ --space-y-not-shrink: 16px;
2861
+ --space-y-shrink: 7px;
2862
+ --container-height: 56px;
2863
+ --label-not-shrink: 16px;
2864
+ --label-shrink: 12px;
2865
+ --input: 16px;
2866
+
2867
+ position: relative;
2868
+ min-width: 100px;
2869
+ max-width: 100%;
2870
+ display: inline-block;
2871
+
2872
+ .textField_wrapper {
2873
+ display: inline-block;
2874
+ width: 100%;
2875
+ cursor: pointer;
2876
+ }
2877
+
2878
+ .mantine-InputWrapper-root {
2879
+ &[data-invalid='true'] {
2880
+ .mantine-Input-wrapper {
2881
+ border-color: ${miscTheme.theme.colors.red400};
2882
+ }
2883
+ }
2884
+
2885
+ .mantine-Input-wrapper {
2886
+ &:has([data-invalid]) {
2887
+ border-color: ${miscTheme.theme.colors.red400};
2888
+ }
2889
+ }
2890
+ }
2891
+
2892
+ .mantine-InputWrapper-label {
2893
+ ${cssLabelNotShrink}
2894
+ }
2895
+
2896
+ .mantine-Input-wrapper {
2897
+ ${cssWrapperInputNotShrink}
2898
+
2899
+ + .mantine-Popover-dropdown[data-position="bottom-start"] {
2900
+ left: 0 !important;
2901
+ }
2902
+ + .mantine-Popover-dropdown[data-position='top-start'] {
2903
+ top: unset !important;
2904
+ left: 0 !important;
2905
+ bottom: 100% !important;
2906
+ }
2907
+ }
2908
+
2909
+ .mantine-Input-input {
2910
+ ${cssInputNotShrink}
2911
+ }
2912
+
2913
+ &.textField_shrink,
2914
+ &:focus-within {
2915
+ .mantine-InputWrapper-label {
2916
+ ${cssLabelShrink}
2917
+ }
2918
+
2919
+ .mantine-Input-wrapper {
2920
+ ${cssWrapperInputShrink}
2921
+ &.mantine-Select-wrapper {
2922
+ .mantine-Select-rightSection {
2923
+ pointer-events: auto !important;
2924
+ }
2925
+ }
2926
+ }
2927
+
2928
+ .mantine-Input-input {
2929
+ ${cssInputShrink}
2930
+ }
2931
+
2932
+ &:has(.PhoneInput) {
2933
+ .mantine-InputWrapper-label {
2934
+ left: var(--space-x, 16px);
2935
+ }
2936
+ .PhoneInput {
2937
+ .PhoneInputInput {
2938
+ opacity: 1;
2939
+ }
2940
+ }
2941
+ }
2942
+ }
2943
+
2944
+ .PhoneInput {
2945
+ --phone-select: 75px;
2946
+ --phone-input-space-x: 8px;
2947
+ width: 100%;
2948
+ opacity: 1;
2949
+ border: none;
2950
+ .PhoneInputCountry {
2951
+ background-color: transparent;
2952
+ border: none;
2953
+ padding: 0;
2954
+ width: var(--phone-select, 75px);
2955
+ }
2956
+ .PhoneInputInput {
2957
+ flex: 1;
2958
+ min-width: 0;
2959
+ line-height: 1.5;
2960
+ outline: none !important;
2961
+ border: none;
2962
+ box-shadow: none;
2963
+ padding: 0 var(--phone-input-space-x, 8px);
2964
+ opacity: 0;
2965
+ color: ${miscTheme.theme.colors.gray800} !important;
2966
+ :focus {
2967
+ color: ${miscTheme.theme.colors.gray800} !important;
2968
+ }
2969
+ }
2970
+ }
2971
+
2972
+ &:has(.PhoneInput) {
2973
+ .mantine-InputWrapper-label {
2974
+ left: calc(
2975
+ var(--space-x, 16px) + var(--phone-select, 75px) +
2976
+ var(--phone-input-space-x, 8px)
2977
+ );
2978
+ }
2979
+ }
2980
+ `;
2981
+ const StyledChoiceFieldContainer = styled__default["default"].div `
2982
+ &.leadgen-form_checkbox,
2983
+ &.leadgen-form_radio {
2984
+ width: 100%;
2985
+ }
2986
+
2987
+ &.leadgen-form_dropdown {
2988
+ width: calc(50% - 12px);
2989
+ }
2990
+
2991
+ .mantine-InputWrapper-root {
2992
+ display: block;
2993
+ }
2994
+
2995
+ .mantine-InputWrapper-label {
2996
+ margin-bottom: 0.5rem;
2997
+ color: ${miscTheme.theme.colors.gray800};
2998
+ font-size: 16px;
2999
+ font-weight: 400;
3000
+ line-height: 1.5;
3001
+ }
3002
+
3003
+ .mantine-Radio-root,
3004
+ .mantine-Checkbox-root {
3005
+ gap: 8px;
3006
+ min-width: calc(50% - 4px);
3007
+
3008
+ input[type='radio'],
3009
+ input[type='checkbox'] {
3010
+ border-color: ${miscTheme.theme.colors.gray600};
3011
+ width: 18px;
3012
+ height: 18px;
3013
+ }
3014
+ input[type='checkbox'] {
3015
+ border-radius: 4px;
3016
+ }
3017
+
3018
+ &[data-checked='true'] {
3019
+ input[type='radio'],
3020
+ input[type='checkbox'] {
3021
+ border-color: ${miscTheme.theme.colors.primary600};
3022
+ }
3023
+
3024
+ input[type='radio'] {
3025
+ background-color: white;
3026
+ }
3027
+ }
3028
+
3029
+ .mantine-Checkbox-input {
3030
+ &:checked {
3031
+ border-color: ${miscTheme.theme.colors.primary600};
3032
+ }
3033
+ }
3034
+ }
3035
+
3036
+ .mantine-Radio-inner,
3037
+ .mantine-Checkbox-inner {
3038
+ width: 24px;
3039
+ height: 24px;
3040
+ display: flex;
3041
+ align-items: center;
3042
+ justify-content: center;
3043
+ }
3044
+
3045
+ .mantine-Radio-body,
3046
+ .mantine-Checkbox-body {
3047
+ display: flex;
3048
+ align-items: center;
3049
+ }
3050
+
3051
+ .mantine-Radio-label,
3052
+ .mantine-Checkbox-label {
3053
+ padding-left: 8px;
3054
+ color: ${miscTheme.theme.colors.gray800};
3055
+ font-size: 14px;
3056
+ line-height: 1.4;
3057
+ letter-spacing: -0.2px;
3058
+ }
3059
+
3060
+ .leadgen-choiceContainer {
3061
+ display: flex;
3062
+ flex-wrap: wrap;
3063
+ align-items: flex-start;
3064
+ gap: 8px;
3065
+ }
3066
+
3067
+ .mantine-InputWrapper-error {
3068
+ ${cssInputWrapperError}
3069
+ }
3070
+ `;
3071
+
3072
+ const TextField = (props) => {
3073
+ const { shrink: shrinkProps, onChangeShrink, className, children } = props, restProps = tslib_es6.__rest(props, ["shrink", "onChangeShrink", "className", "children"]);
3074
+ const containerRef = hooks.useClickOutside(() => {
3075
+ if (shrinkProps) {
3076
+ return;
3077
+ }
3078
+ setShrink(false);
3079
+ onChangeShrink === null || onChangeShrink === void 0 ? void 0 : onChangeShrink(false);
3080
+ });
3081
+ const [shrink, setShrink] = React.useState(shrinkProps);
3082
+ const onClick = React.useCallback((e) => {
3083
+ setShrink(true);
3084
+ onChangeShrink === null || onChangeShrink === void 0 ? void 0 : onChangeShrink(true);
3085
+ if (shrink) {
3086
+ return;
3087
+ }
3088
+ const $textEl = e.currentTarget.querySelectorAll('input:not([disabled]):not([type="submit"]),select:not([disabled]),textarea:not([disabled])');
3089
+ const $focusEl = $textEl.item($textEl.length - 1);
3090
+ if ($focusEl) {
3091
+ $focusEl.focus();
3092
+ setTimeout(() => {
3093
+ $focusEl.scrollIntoView({
3094
+ behavior: 'auto',
3095
+ block: 'center',
3096
+ inline: 'start',
3097
+ });
3098
+ }, 100);
3099
+ }
2177
3100
  }, [shrink]);
2178
3101
  React.useEffect(() => {
2179
3102
  setShrink(shrinkProps);
@@ -2395,7 +3318,7 @@ const HeaderImage = ({ src, ratio = 3 / 2, className, style, }) => {
2395
3318
  if (!src) {
2396
3319
  return null;
2397
3320
  }
2398
- return (React__default["default"].createElement(StyleHeaderImage, { paddingTop: (1 / ratio) * 100, className: core.clsx(className, 'leadgen-header_image'), style: style }, index$7.isVideo(src) ? (React__default["default"].createElement("video", { muted: true, autoPlay: true, loop: true, className: "leadgen-header_image_feature leadgen-header_image_video", src: src })) : (React__default["default"].createElement("img", { src: src, draggable: "false", alt: "", className: "leadgen-header_image_feature leadgen-header_image_image" }))));
3321
+ return (React__default["default"].createElement(StyleHeaderImage, { paddingTop: (1 / ratio) * 100, className: core.clsx(className, 'leadgen-header_image'), style: style }, index$8.isVideo(src) ? (React__default["default"].createElement("video", { muted: true, autoPlay: true, loop: true, className: "leadgen-header_image_feature leadgen-header_image_video", src: src })) : (React__default["default"].createElement("img", { src: src, draggable: "false", alt: "", className: "leadgen-header_image_feature leadgen-header_image_image" }))));
2399
3322
  };
2400
3323
 
2401
3324
  const OtpBlock = ({ otpData, onSuccess, autoSendWhenOpen, }) => {
@@ -2572,7 +3495,7 @@ const LightboxLayout = ({ popupId, extraFields, onClose: onCloseProp, onOtherSub
2572
3495
  const isDrawer = isLightBoxB && isMobile;
2573
3496
  const limitFieldsLightBoxB = isLightBoxB && listBlockAdded.length <= LEADGEN_LIMIT_LIGHTBOXB;
2574
3497
  const hasForm = isLightBoxA
2575
- ? listBlockAdded.some((item) => LEADGEN_BLOCK_IN_FORM.some((k) => k === (item === null || item === void 0 ? void 0 : item.name)))
3498
+ ? listBlockAdded.some((item) => LEADGEN_BLOCK_INPUT.some((k) => k === (item === null || item === void 0 ? void 0 : item.name)))
2576
3499
  : true;
2577
3500
  const headerInsideFormContainer = isSlider || isLightBoxA || isFullscreen;
2578
3501
  const showHeader = !!imageMobile || !!imageDesktop;
@@ -2738,7 +3661,7 @@ const LightboxLayout = ({ popupId, extraFields, onClose: onCloseProp, onOtherSub
2738
3661
  'leadgen-inline': isInPage,
2739
3662
  'leadgen-slider': isSlider,
2740
3663
  });
2741
- const PopupContainer = isDrawer ? (React__default["default"].createElement(index$9.DrawerComponent, { fadeFromIndex: index$8.ZINDEX_SSO - 9e6, open: open, snapPoints: [0.8, 1], activeSnapPoint: snap, setActiveSnapPoint: setSnap, onOpenChange: onOpenChange, overlayClassName: popupContainerClassName, className: "leadgen-drawer" },
3664
+ const PopupContainer = isDrawer ? (React__default["default"].createElement(index$9.DrawerComponent, { fadeFromIndex: index$7.ZINDEX_SSO - 9e6, open: open, snapPoints: [0.8, 1], activeSnapPoint: snap, setActiveSnapPoint: setSnap, onOpenChange: onOpenChange, overlayClassName: popupContainerClassName, className: "leadgen-drawer" },
2742
3665
  PopupWrapper,
2743
3666
  React__default["default"].createElement("div", { style: { position: 'absolute', inset: 0, zIndex: snap === 1 ? -1 : 1 }, onClick: () => setSnap(1) }))) : (React__default["default"].createElement("div", { id: popupId, "data-popup-url": currentPath, "data-popup-type": "lightbox-inline", className: popupContainerClassName },
2744
3667
  isFullscreen ? (React__default["default"].createElement("img", { className: "le-only-desktop le-fullscreen-img", draggable: false, src: imageBackground || '', style: {
@@ -2801,7 +3724,7 @@ const SkinLayout = ({ popupId, link, linkText, linkNewTab, onClose, imageMobile,
2801
3724
  React__default["default"].createElement("aside", { className: "le-only-mobile" },
2802
3725
  React__default["default"].createElement("div", { className: "le-skin-mobile" },
2803
3726
  React__default["default"].createElement("div", { style: { position: 'relative' } },
2804
- index$7.isVideo(imageMobile) ? (React__default["default"].createElement("video", { muted: true, autoPlay: true, loop: true },
3727
+ index$8.isVideo(imageMobile) ? (React__default["default"].createElement("video", { muted: true, autoPlay: true, loop: true },
2805
3728
  React__default["default"].createElement("source", { src: imageMobile, type: "video/mp4" }))) : (React__default["default"].createElement("img", { src: imageMobile, style: {
2806
3729
  width: '100%',
2807
3730
  aspectRatio: `${imageMobileWidth}/${imageMobileHeight}`,
@@ -3598,7 +4521,7 @@ const _LeadGen = ({ apiUrl: apiUrlProp, siteDomain, siteId, locale, apiSubotUrl,
3598
4521
  }, [showCampaign]);
3599
4522
  return (React__default["default"].createElement(LeadGenContext.Provider, { value: { apiUrl, siteDomain, siteId, locale } },
3600
4523
  React__default["default"].createElement(translationsContext.TranslationsContext.Provider, { value: { locale, values: getTranslations(locale) } }, children ? (React__default["default"].createElement(Component, { campaign: showCampaign, onSubmit: onSubmit, onClose: onClose, showThankyou: showThankyou, setShowThankyou: setShowThankyou, locale: locale, showEmpty: showEmpty, setShowEmpty: setShowEmpty, userInfo: userInfo }, children)) : (React__default["default"].createElement(core.Portal, { target: utils$1.getPopupWrapperDom() },
3601
- React__default["default"].createElement(core.Box, { sx: { position: 'fixed', zIndex: index$8.ZINDEX_SSO - 9e6 } },
4524
+ React__default["default"].createElement(core.Box, { sx: { position: 'fixed', zIndex: index$7.ZINDEX_SSO - 9e6 } },
3602
4525
  React__default["default"].createElement(core.Transition, { mounted: Boolean(((_a = showCampaign === null || showCampaign === void 0 ? void 0 : showCampaign.extra_fields) === null || _a === void 0 ? void 0 : _a.popupVersion) === '2.1'), transition: "fade", duration: 600, timingFunction: "ease" }, (styles) => {
3603
4526
  var _a;
3604
4527
  return (React__default["default"].createElement(core.Box, { style: styles }, ((_a = showCampaign === null || showCampaign === void 0 ? void 0 : showCampaign.extra_fields) === null || _a === void 0 ? void 0 : _a.popupVersion) === '2.1' && (React__default["default"].createElement(React__default["default"].Fragment, null,
@@ -3617,3 +4540,4 @@ LeadGen.OtpForm = OtpBlock$1;
3617
4540
  LeadGen.Close = Close.Close;
3618
4541
 
3619
4542
  exports.LeadGen = LeadGen;
4543
+ exports.LeadGenSubscriptionBox = LeadGenSubscriptionBox;