@hhgtech/hhg-components 1.29.357 → 1.29.358-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 (524) hide show
  1. package/build/{LastPeriod-82858f6c.js → LastPeriod-a8c94819.js} +1 -1
  2. package/build/{MobileBottomNavigationIcon-5cae917a.js → MobileBottomNavigationIcon-777ebefa.js} +3 -3
  3. package/build/{Spinner-c2c2ff21.js → Spinner-ce637760.js} +1 -1
  4. package/build/{WhatsApp-fb236163.js → WhatsApp-84166109.js} +1 -1
  5. package/build/adapters.js +19 -19
  6. package/build/atoms.js +47 -47
  7. package/build/babyGrowth.js +83 -83
  8. package/build/cache.js +2 -2
  9. package/build/care.js +17 -17
  10. package/build/careBookingSearchBar.js +14 -14
  11. package/build/careBookingSearchBarV2.js +15 -15
  12. package/build/components/mantine/phoneInput/PhoneInput.d.ts +15 -0
  13. package/build/components/mantine/phoneInput/index.d.ts +1 -0
  14. package/build/components/navigationV2/components/molecules/navigationBar/index.styled.d.ts +2 -0
  15. package/build/components/navigationV2/hooks/useNavConfig.d.ts +1 -0
  16. package/build/components/navigationV2/types.d.ts +1 -1
  17. package/build/components.js +95 -95
  18. package/build/{constants-c4b7b21a.js → constants-18511288.js} +1 -1
  19. package/build/constants.js +3 -3
  20. package/build/constantsDomainLocales.js +1 -1
  21. package/build/constantsRiskScreener.js +2 -2
  22. package/build/constantsSite.js +2 -2
  23. package/build/{core-05004a4a.js → core-f2187dd0.js} +1 -1
  24. package/build/{dataTransform-bbeb4acd.js → dataTransform-fe34ec8c.js} +1 -1
  25. package/build/ecom.js +4 -4
  26. package/build/{editor-b550d532.js → editor-3ecfc25d.js} +11 -11
  27. package/build/embeddedHeathToolCards_babyGrowth.js +23 -23
  28. package/build/embeddedHeathToolCards_babyPoop.js +19 -19
  29. package/build/embeddedHeathToolCards_babyVaccine.js +22 -22
  30. package/build/embeddedHeathToolCards_bmi_bmi.js +25 -25
  31. package/build/embeddedHeathToolCards_bmrBmr.js +25 -25
  32. package/build/embeddedHeathToolCards_dueDate_dueDate.js +22 -22
  33. package/build/embeddedHeathToolCards_ovulation_ovulation.js +22 -22
  34. package/build/embeddedHeathToolCards_pwg_pwg.js +26 -26
  35. package/build/embeddedHeathToolCards_targetHeartRate.js +27 -27
  36. package/build/esm/{LastPeriod-922e1260.js → LastPeriod-cf115dcc.js} +1 -1
  37. package/build/esm/{MobileBottomNavigationIcon-28590617.js → MobileBottomNavigationIcon-0779397f.js} +3 -3
  38. package/build/esm/{Spinner-cc0067b2.js → Spinner-61bc8924.js} +1 -1
  39. package/build/esm/{WhatsApp-d4c039cd.js → WhatsApp-c44d0b90.js} +1 -1
  40. package/build/esm/adapters.js +19 -19
  41. package/build/esm/atoms.js +47 -47
  42. package/build/esm/babyGrowth.js +83 -83
  43. package/build/esm/cache.js +2 -2
  44. package/build/esm/care.js +17 -17
  45. package/build/esm/careBookingSearchBar.js +14 -14
  46. package/build/esm/careBookingSearchBarV2.js +15 -15
  47. package/build/esm/components/mantine/phoneInput/PhoneInput.d.ts +15 -0
  48. package/build/esm/components/mantine/phoneInput/index.d.ts +1 -0
  49. package/build/esm/components/navigationV2/components/molecules/navigationBar/index.styled.d.ts +2 -0
  50. package/build/esm/components/navigationV2/hooks/useNavConfig.d.ts +1 -0
  51. package/build/esm/components/navigationV2/types.d.ts +1 -1
  52. package/build/esm/components.js +95 -95
  53. package/build/esm/{constants-cdad8106.js → constants-782dba05.js} +1 -1
  54. package/build/esm/constants.js +3 -3
  55. package/build/esm/constantsDomainLocales.js +1 -1
  56. package/build/esm/constantsRiskScreener.js +2 -2
  57. package/build/esm/constantsSite.js +2 -2
  58. package/build/esm/{core-9dfc8fb0.js → core-ca75f054.js} +1 -1
  59. package/build/esm/{dataTransform-7571b111.js → dataTransform-6521f3a6.js} +1 -1
  60. package/build/esm/ecom.js +4 -4
  61. package/build/esm/{editor-50cf1306.js → editor-09d2defd.js} +11 -11
  62. package/build/esm/embeddedHeathToolCards_babyGrowth.js +23 -23
  63. package/build/esm/embeddedHeathToolCards_babyPoop.js +19 -19
  64. package/build/esm/embeddedHeathToolCards_babyVaccine.js +22 -22
  65. package/build/esm/embeddedHeathToolCards_bmi_bmi.js +25 -25
  66. package/build/esm/embeddedHeathToolCards_bmrBmr.js +25 -25
  67. package/build/esm/embeddedHeathToolCards_dueDate_dueDate.js +22 -22
  68. package/build/esm/embeddedHeathToolCards_ovulation_ovulation.js +22 -22
  69. package/build/esm/embeddedHeathToolCards_pwg_pwg.js +26 -26
  70. package/build/esm/embeddedHeathToolCards_targetHeartRate.js +27 -27
  71. package/build/esm/footer.js +21 -21
  72. package/build/esm/gAssets.js +2 -2
  73. package/build/esm/healthToolsCardWrapper.js +18 -18
  74. package/build/esm/healthToolsForm.js +33 -33
  75. package/build/esm/hooks/useCSSFocusPopupHelper.d.ts +1 -0
  76. package/build/esm/hooks.js +13 -13
  77. package/build/esm/i18n.js +2 -2
  78. package/build/esm/i18nV2.js +2 -2
  79. package/build/esm/{index-9efdec29.js → index-00abc3a4.js} +1 -1
  80. package/build/esm/{index-e31040c7.js → index-021da3d3.js} +6 -6
  81. package/build/esm/{index-910072e4.js → index-024e389e.js} +5 -5
  82. package/build/esm/{index-76478031.js → index-038a0780.js} +31 -31
  83. package/build/esm/{index-79bf2598.js → index-058436c4.js} +18 -18
  84. package/build/esm/{index-ab2ca390.js → index-06be24ca.js} +1 -1
  85. package/build/esm/{index-1a999405.js → index-0837bc58.js} +6 -6
  86. package/build/esm/{index-8c1ebe0e.js → index-08c781ad.js} +13 -13
  87. package/build/esm/{index-0dd8b1d8.js → index-09a55759.js} +7 -7
  88. package/build/esm/{index-ef2993d5.js → index-17b7c39c.js} +2 -2
  89. package/build/esm/{index-762e1591.js → index-1ae052ae.js} +2 -2
  90. package/build/esm/{index-d3e6edeb.js → index-1cb1ea20.js} +1 -1
  91. package/build/esm/{index-e9782b8f.js → index-1de1575d.js} +2 -2
  92. package/build/esm/{index-5ff6135c.js → index-2bfe1955.js} +2 -2
  93. package/build/esm/{index-dd34d8cb.js → index-2e034192.js} +16 -16
  94. package/build/esm/{index-911632c9.js → index-317fdb9e.js} +18 -11
  95. package/build/esm/{index-c5a29dfa.js → index-3cda8f59.js} +17 -17
  96. package/build/esm/{index-1efc42fb.js → index-4056f935.js} +2 -2
  97. package/build/esm/{index-775392bc.js → index-42e84c71.js} +17 -17
  98. package/build/esm/{index-1f937c84.js → index-48e8eac4.js} +2 -2
  99. package/build/esm/{index-3c63b119.js → index-4b210adb.js} +2 -2
  100. package/build/esm/{index-d34a77cb.js → index-4e0298e1.js} +6 -6
  101. package/build/esm/{index-38989636.js → index-5130c494.js} +1 -1
  102. package/build/esm/{index-111c1f2e.js → index-51d3b1a2.js} +13 -13
  103. package/build/esm/{index-9940f458.js → index-54e0f691.js} +17 -17
  104. package/build/esm/{index-b78bde9e.js → index-588acc44.js} +7 -7
  105. package/build/esm/{index-63ae2b65.js → index-58bb5f33.js} +2 -2
  106. package/build/esm/{index-4e7df25e.js → index-5ddb94e4.js} +2 -2
  107. package/build/esm/{index-a2ec8f27.js → index-609bbec5.js} +2 -2
  108. package/build/esm/{index-7c366212.js → index-61e22014.js} +24 -24
  109. package/build/esm/{index-6ee63285.js → index-627a4f4b.js} +13 -13
  110. package/build/esm/{index-8799debb.js → index-65fea711.js} +18 -18
  111. package/build/esm/{index-1aa75c76.js → index-6c666af1.js} +2 -2
  112. package/build/esm/{index-59ed4dc2.js → index-7705e2ab.js} +13 -13
  113. package/build/esm/{index-804ae584.js → index-82b32324.js} +10 -10
  114. package/build/esm/{index-af5449a6.js → index-83aa11de.js} +1 -1
  115. package/build/esm/{index-426651c9.js → index-869a5f65.js} +6 -6
  116. package/build/esm/{index-04324c89.js → index-86b86a00.js} +1 -1
  117. package/build/esm/{index-3a10e167.js → index-8ad7c579.js} +5 -5
  118. package/build/esm/{index-011296a3.js → index-8cbad76d.js} +2 -2
  119. package/build/esm/{index-0b5610ab.js → index-8d560a79.js} +21 -21
  120. package/build/esm/{index-c826824a.js → index-8e9cc872.js} +24 -24
  121. package/build/esm/{index-3c56f62a.js → index-9af47657.js} +3 -3
  122. package/build/esm/{index-c1363365.js → index-9b5c27f6.js} +32 -32
  123. package/build/esm/{index-65ef83e1.js → index-9c3974db.js} +3 -3
  124. package/build/esm/{index-6a160cbb.js → index-a043265d.js} +11 -11
  125. package/build/esm/{index-167d9a52.js → index-abdc8795.js} +3 -3
  126. package/build/esm/{index-1b29eec5.js → index-acd55fd8.js} +2 -2
  127. package/build/esm/{index-8e0ba189.js → index-afa718a7.js} +3 -3
  128. package/build/esm/{index-44637e1f.js → index-b9cd45c9.js} +3 -3
  129. package/build/esm/{index-d0e1be0e.js → index-c22d74c9.js} +16 -16
  130. package/build/esm/{index-a6cd8d96.js → index-c6d2b2bb.js} +3 -3
  131. package/build/esm/{index-84444107.js → index-cddbd3cb.js} +22 -22
  132. package/build/esm/{index-8f6dc3d2.js → index-cff3f861.js} +16 -16
  133. package/build/esm/{index-6f05ceda.js → index-d4f73c3a.js} +16 -16
  134. package/build/esm/{index-1f69d61a.js → index-d727ef8e.js} +15 -15
  135. package/build/esm/{index-77812ec5.js → index-d9a740f5.js} +16 -16
  136. package/build/esm/{index-6c3b648b.js → index-df0db71b.js} +1 -1
  137. package/build/esm/{index-bf81987e.js → index-df34a710.js} +2 -2
  138. package/build/esm/{index-38b494c2.js → index-e4ed59c2.js} +6 -6
  139. package/build/esm/{index-26e51554.js → index-e8c7d06c.js} +1 -1
  140. package/build/esm/{index-5a475089.js → index-ed4991de.js} +1 -1
  141. package/build/esm/{index-e6d39f77.js → index-f2a58af2.js} +69 -42
  142. package/build/esm/{index-bc38f27f.js → index-f6690d94.js} +4 -4
  143. package/build/esm/index.js +116 -116
  144. package/build/esm/interfaces/healthTools.d.ts +1 -0
  145. package/build/esm/{labelSorting-727f45d7.js → labelSorting-b03b3a60.js} +4 -4
  146. package/build/esm/lead/LeadGenForm/LeadGenForm.d.ts +41 -0
  147. package/build/esm/lead/LeadGenForm/LeadGenForm.styled.d.ts +5 -0
  148. package/build/esm/lead/LeadGenForm/LeadGenThankYou.d.ts +20 -0
  149. package/build/esm/lead/LeadGenForm/index.d.ts +1 -0
  150. package/build/esm/lead/LeadGenForm/textField/index.d.ts +13 -0
  151. package/build/esm/lead/LeadGenForm/textField/index.styled.d.ts +11 -0
  152. package/build/esm/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxContainer.d.ts +25 -0
  153. package/build/esm/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxContext.d.ts +25 -0
  154. package/build/esm/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxWrapper.d.ts +30 -0
  155. package/build/esm/lead/LeadGenSubscriptionBox/index.d.ts +1 -0
  156. package/build/esm/lead/helpers.d.ts +51 -1
  157. package/build/esm/lead/index.d.ts +2 -1
  158. package/build/esm/lead/services/index.d.ts +14 -0
  159. package/build/esm/lead.js +1295 -372
  160. package/build/esm/{logoIcon-c47fe59e.js → logoIcon-34bb52f9.js} +2 -2
  161. package/build/esm/mantine.js +25 -25
  162. package/build/esm/misc.js +17 -17
  163. package/build/esm/miscGetDynamicHealthTool.js +4 -4
  164. package/build/esm/miscGetSocialList.js +8 -8
  165. package/build/esm/miscScreenSizeContext.js +1 -1
  166. package/build/esm/miscTheme.js +1 -1
  167. package/build/esm/mobileBottomNavigation.js +5 -5
  168. package/build/esm/mobileBottomNavigationIcon.js +5 -5
  169. package/build/esm/molecules.js +73 -73
  170. package/build/esm/moleculesArticleCard.js +6 -6
  171. package/build/esm/moleculesArticleCardV2.js +16 -16
  172. package/build/esm/navigation.js +45 -45
  173. package/build/esm/navigationLogoutPopup.js +9 -9
  174. package/build/esm/navigationProfileButton.js +23 -23
  175. package/build/esm/onboardingV2.js +29 -29
  176. package/build/esm/organisms.js +49 -49
  177. package/build/esm/{post-62ad9bdf.js → post-7c5a495f.js} +2 -2
  178. package/build/esm/profileNavigation.js +19 -19
  179. package/build/esm/progressBar.js +1 -1
  180. package/build/esm/pwg.js +22 -22
  181. package/build/esm/ssoV2/api/featureFlag.d.ts +2 -1
  182. package/build/esm/ssoV2/index.d.ts +1 -0
  183. package/build/esm/ssoV2/utils.d.ts +6 -0
  184. package/build/esm/ssoV2.js +50 -56
  185. package/build/esm/{store-c92cdf10.js → store-ee79c592.js} +4 -4
  186. package/build/esm/subot.js +43 -42
  187. package/build/esm/surveyOrPremiumBanner.js +31 -31
  188. package/build/esm/surveyQuestionCard.js +10 -10
  189. package/build/esm/{surveyThankyouCard-b5e01668.js → surveyThankyouCard-2dd15fcc.js} +5 -5
  190. package/build/esm/together.js +55 -55
  191. package/build/esm/togetherApiUtils.js +4 -4
  192. package/build/esm/togetherAtoms.js +30 -30
  193. package/build/esm/togetherComponentGlobalContext.js +4 -4
  194. package/build/esm/togetherMolecules.js +50 -50
  195. package/build/esm/togetherMoleculesCardAuthor.js +28 -28
  196. package/build/esm/togetherMoleculesPostImagePreview.js +11 -11
  197. package/build/esm/togetherMoleculesProfileDetail.js +38 -38
  198. package/build/esm/togetherOrganisms.js +49 -49
  199. package/build/esm/togetherRichTextEditor.js +17 -17
  200. package/build/esm/togetherShareBox.js +10 -10
  201. package/build/esm/{treePopoverMenu-abd64d0a.js → treePopoverMenu-7f1da1b2.js} +19 -19
  202. package/build/esm/{types-6a9852e7.js → types-a2e79599.js} +2 -2
  203. package/build/esm/types.js +2 -2
  204. package/build/esm/{useCategory-593ccf17.js → useCategory-96e95b37.js} +5 -5
  205. package/build/esm/{useHealthToolCache-c041d0e3.js → useHealthToolCache-95003973.js} +1 -1
  206. package/build/esm/{useMantineLocale-1e822894.js → useMantineLocale-61a713dc.js} +6 -6
  207. package/build/esm/{usePlacesAutocomplete-38a504cf.js → usePlacesAutocomplete-b79b68b2.js} +1 -1
  208. package/build/esm/{useScreenSize-4896fcb0.js → useScreenSize-0a846318.js} +2 -2
  209. package/build/esm/useTogetherAuthRequiredAction.js +9 -9
  210. package/build/esm/utils-38ba72f2.js +56 -0
  211. package/build/esm/{utils-710c54b1.js → utils-55b98af6.js} +2 -2
  212. package/build/esm/{utils-3c8edc19.js → utils-6770dd94.js} +2 -2
  213. package/build/esm/{utils-d313f147.js → utils-6cb78a7c.js} +3 -3
  214. package/build/esm/vaccination.js +21 -21
  215. package/build/footer.js +21 -21
  216. package/build/gAssets.js +2 -2
  217. package/build/healthToolsCardWrapper.js +18 -18
  218. package/build/healthToolsForm.js +33 -33
  219. package/build/hooks/useCSSFocusPopupHelper.d.ts +1 -0
  220. package/build/hooks.js +13 -13
  221. package/build/i18n.js +1 -1
  222. package/build/i18nV2.js +1 -1
  223. package/build/{index-024451c9.js → index-00bdc95b.js} +2 -2
  224. package/build/{index-f5d6e082.js → index-03289e9d.js} +3 -3
  225. package/build/{index-67d48418.js → index-05b9ca78.js} +2 -2
  226. package/build/{index-2be13030.js → index-09a1e5a7.js} +3 -3
  227. package/build/{index-e2b57214.js → index-0b304d1c.js} +69 -42
  228. package/build/{index-a575d189.js → index-17af813e.js} +24 -24
  229. package/build/{index-8161ac15.js → index-19ad226f.js} +1 -1
  230. package/build/{index-c5371c7a.js → index-262e097e.js} +13 -13
  231. package/build/{index-3c5469a0.js → index-2aaa3225.js} +16 -16
  232. package/build/{index-15637261.js → index-2ff2ede0.js} +2 -2
  233. package/build/{index-3f6fe64e.js → index-30fb9508.js} +17 -17
  234. package/build/{index-79e4c2b9.js → index-3cca3c12.js} +4 -4
  235. package/build/{index-a208c1f8.js → index-4bed6382.js} +18 -18
  236. package/build/{index-f4a5419f.js → index-4c9ecd21.js} +2 -2
  237. package/build/{index-830f3552.js → index-509eb37a.js} +6 -6
  238. package/build/{index-286df0a4.js → index-51cf3755.js} +1 -1
  239. package/build/{index-d49389b3.js → index-541b4070.js} +3 -3
  240. package/build/{index-61aca8cf.js → index-546e0e88.js} +18 -18
  241. package/build/{index-2d3a7bc2.js → index-54dddda5.js} +7 -7
  242. package/build/{index-022259d8.js → index-5833f410.js} +3 -3
  243. package/build/{index-c0492973.js → index-5c3ee7c9.js} +16 -16
  244. package/build/{index-ce2d276a.js → index-5f0e6e1c.js} +2 -2
  245. package/build/{index-b284594a.js → index-60452010.js} +22 -22
  246. package/build/{index-e8adf0b7.js → index-608d527a.js} +2 -2
  247. package/build/{index-59830d89.js → index-669c71fb.js} +13 -13
  248. package/build/{index-19494587.js → index-681dd1de.js} +6 -6
  249. package/build/{index-a43e50e3.js → index-69ebebb9.js} +17 -17
  250. package/build/{index-ac8b62fa.js → index-72ee39d9.js} +6 -6
  251. package/build/{index-481dfd5c.js → index-77e6701c.js} +2 -2
  252. package/build/{index-dd29b189.js → index-823089fd.js} +18 -11
  253. package/build/{index-b3df55e9.js → index-85d31740.js} +15 -15
  254. package/build/{index-d24df662.js → index-868af38d.js} +5 -5
  255. package/build/{index-e2436f82.js → index-8c9cba51.js} +1 -1
  256. package/build/{index-956e83a1.js → index-8e3454ef.js} +2 -2
  257. package/build/{index-a4312dff.js → index-9c6ac301.js} +16 -16
  258. package/build/{index-664e951c.js → index-9f6cd4fd.js} +1 -1
  259. package/build/{index-6f6f79bd.js → index-9fc631a1.js} +3 -3
  260. package/build/{index-c52a4b39.js → index-a237c8c2.js} +1 -1
  261. package/build/{index-a9956ec7.js → index-a5405974.js} +2 -2
  262. package/build/{index-1ec7a083.js → index-aac02f70.js} +7 -7
  263. package/build/{index-03c2347c.js → index-ab70e2f6.js} +10 -10
  264. package/build/{index-7a0c0f33.js → index-ad3adb7f.js} +3 -3
  265. package/build/{index-0468f663.js → index-b83196e3.js} +31 -31
  266. package/build/{index-1a6548ae.js → index-bb5836f1.js} +2 -2
  267. package/build/{index-6e88bf39.js → index-c3d630e5.js} +13 -13
  268. package/build/{index-c4dc74d1.js → index-c4145c0f.js} +5 -5
  269. package/build/{index-69630952.js → index-c6a55ea0.js} +6 -6
  270. package/build/{index-e5fe3a57.js → index-c9896e49.js} +2 -2
  271. package/build/{index-ad1c6fa8.js → index-cc75c3dc.js} +1 -1
  272. package/build/{index-ab15851c.js → index-cd924c5a.js} +2 -2
  273. package/build/{index-14a258ef.js → index-d2279bdd.js} +13 -13
  274. package/build/{index-6001fa9c.js → index-d3d09dc3.js} +16 -16
  275. package/build/{index-b4fb6dcf.js → index-de39c886.js} +2 -2
  276. package/build/{index-7a74ba68.js → index-def25549.js} +2 -2
  277. package/build/{index-1bddccc9.js → index-dfc1fe72.js} +1 -1
  278. package/build/{index-34c1bbba.js → index-e1853b05.js} +11 -11
  279. package/build/{index-221111ca.js → index-e1b1535a.js} +32 -32
  280. package/build/{index-3a60b301.js → index-e37d305b.js} +21 -21
  281. package/build/{index-4ea8de09.js → index-ec74e86f.js} +1 -1
  282. package/build/{index-1dfafbf5.js → index-f0978941.js} +16 -16
  283. package/build/{index-eccafa29.js → index-f0f5ac04.js} +24 -24
  284. package/build/{index-d4b493ef.js → index-f783a9c5.js} +17 -17
  285. package/build/{index-414f0fc9.js → index-f8044024.js} +6 -6
  286. package/build/{index-443c4989.js → index-fbf149ea.js} +1 -1
  287. package/build/index.js +116 -116
  288. package/build/interfaces/healthTools.d.ts +1 -0
  289. package/build/{labelSorting-f3a0504d.js → labelSorting-8535576c.js} +4 -4
  290. package/build/lead/LeadGenForm/LeadGenForm.d.ts +41 -0
  291. package/build/lead/LeadGenForm/LeadGenForm.styled.d.ts +5 -0
  292. package/build/lead/LeadGenForm/LeadGenThankYou.d.ts +20 -0
  293. package/build/lead/LeadGenForm/index.d.ts +1 -0
  294. package/build/lead/LeadGenForm/textField/index.d.ts +13 -0
  295. package/build/lead/LeadGenForm/textField/index.styled.d.ts +11 -0
  296. package/build/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxContainer.d.ts +25 -0
  297. package/build/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxContext.d.ts +25 -0
  298. package/build/lead/LeadGenSubscriptionBox/LeadGenSubscriptionBoxWrapper.d.ts +30 -0
  299. package/build/lead/LeadGenSubscriptionBox/index.d.ts +1 -0
  300. package/build/lead/helpers.d.ts +51 -1
  301. package/build/lead/index.d.ts +2 -1
  302. package/build/lead/services/index.d.ts +14 -0
  303. package/build/lead.js +1296 -372
  304. package/build/{logoIcon-0bfe4440.js → logoIcon-27b0c1ef.js} +2 -2
  305. package/build/mantine.js +22 -22
  306. package/build/misc.js +17 -17
  307. package/build/miscGetDynamicHealthTool.js +4 -4
  308. package/build/miscGetSocialList.js +8 -8
  309. package/build/miscScreenSizeContext.js +1 -1
  310. package/build/miscTheme.js +1 -1
  311. package/build/mobileBottomNavigation.js +5 -5
  312. package/build/mobileBottomNavigationIcon.js +5 -5
  313. package/build/molecules.js +73 -73
  314. package/build/moleculesArticleCard.js +6 -6
  315. package/build/moleculesArticleCardV2.js +16 -16
  316. package/build/navigation.js +45 -45
  317. package/build/navigationLogoutPopup.js +9 -9
  318. package/build/navigationProfileButton.js +23 -23
  319. package/build/onboardingV2.js +28 -28
  320. package/build/organisms.js +49 -49
  321. package/build/{post-9be560c7.js → post-085c2816.js} +2 -2
  322. package/build/profileNavigation.js +19 -19
  323. package/build/progressBar.js +1 -1
  324. package/build/pwg.js +22 -22
  325. package/build/ssoV2/api/featureFlag.d.ts +2 -1
  326. package/build/ssoV2/index.d.ts +1 -0
  327. package/build/ssoV2/utils.d.ts +6 -0
  328. package/build/ssoV2.js +65 -71
  329. package/build/{store-d283faed.js → store-86413a51.js} +4 -4
  330. package/build/subot.js +42 -41
  331. package/build/surveyOrPremiumBanner.js +31 -31
  332. package/build/surveyQuestionCard.js +10 -10
  333. package/build/{surveyThankyouCard-1da5b7a6.js → surveyThankyouCard-fa11ea1f.js} +5 -5
  334. package/build/theme.scss +1 -1
  335. package/build/together.js +55 -55
  336. package/build/togetherApiUtils.js +4 -4
  337. package/build/togetherAtoms.js +30 -30
  338. package/build/togetherComponentGlobalContext.js +4 -4
  339. package/build/togetherMolecules.js +50 -50
  340. package/build/togetherMoleculesCardAuthor.js +28 -28
  341. package/build/togetherMoleculesPostImagePreview.js +11 -11
  342. package/build/togetherMoleculesProfileDetail.js +38 -38
  343. package/build/togetherOrganisms.js +49 -49
  344. package/build/togetherRichTextEditor.js +17 -17
  345. package/build/togetherShareBox.js +10 -10
  346. package/build/{treePopoverMenu-8e56380f.js → treePopoverMenu-ae543b92.js} +19 -19
  347. package/build/{types-2c59beef.js → types-5dc1e6e3.js} +2 -2
  348. package/build/types.js +2 -2
  349. package/build/{useCategory-50e2d431.js → useCategory-c93f5d41.js} +5 -5
  350. package/build/{useHealthToolCache-1f6c8e87.js → useHealthToolCache-3a1f8d60.js} +1 -1
  351. package/build/{useMantineLocale-d83625d3.js → useMantineLocale-fbbbe2fc.js} +6 -6
  352. package/build/{usePlacesAutocomplete-533f1d92.js → usePlacesAutocomplete-50b9d0b8.js} +1 -1
  353. package/build/{useScreenSize-0e7604c5.js → useScreenSize-71fb3d5d.js} +2 -2
  354. package/build/useTogetherAuthRequiredAction.js +9 -9
  355. package/build/utils-281a9538.js +62 -0
  356. package/build/{utils-a925e271.js → utils-30b4b2b0.js} +3 -3
  357. package/build/{utils-b795625f.js → utils-55eb8342.js} +2 -2
  358. package/build/{utils-b73f4a25.js → utils-cd47b37e.js} +2 -2
  359. package/build/vaccination.js +21 -21
  360. package/package.json +3 -3
  361. /package/build/{BMI_BOYS.percentile.monthly-282fcdb3.js → BMI_BOYS.percentile.monthly-8ecd4b3b.js} +0 -0
  362. /package/build/{BMI_BOYS.percentile.weekly-89286e28.js → BMI_BOYS.percentile.weekly-f18e6c90.js} +0 -0
  363. /package/build/{BMI_BOYS.percentile.yearly-14e9137c.js → BMI_BOYS.percentile.yearly-76720f40.js} +0 -0
  364. /package/build/{BMI_BOYS.zscore.monthly-f96befe1.js → BMI_BOYS.zscore.monthly-87d625ec.js} +0 -0
  365. /package/build/{BMI_BOYS.zscore.weekly-cde21597.js → BMI_BOYS.zscore.weekly-0839d655.js} +0 -0
  366. /package/build/{BMI_BOYS.zscore.yearly-99cac023.js → BMI_BOYS.zscore.yearly-e4a8532f.js} +0 -0
  367. /package/build/{BMI_GIRLS.percentile.monthly-9274cf48.js → BMI_GIRLS.percentile.monthly-ddc436f1.js} +0 -0
  368. /package/build/{BMI_GIRLS.percentile.weekly-7645112e.js → BMI_GIRLS.percentile.weekly-d09dd7f4.js} +0 -0
  369. /package/build/{BMI_GIRLS.percentile.yearly-acf5d80c.js → BMI_GIRLS.percentile.yearly-f9b927e6.js} +0 -0
  370. /package/build/{BMI_GIRLS.zscore.monthly-b8c8bcd5.js → BMI_GIRLS.zscore.monthly-f7d79275.js} +0 -0
  371. /package/build/{BMI_GIRLS.zscore.weekly-3686077f.js → BMI_GIRLS.zscore.weekly-764e9229.js} +0 -0
  372. /package/build/{BMI_GIRLS.zscore.yearly-45b1edaf.js → BMI_GIRLS.zscore.yearly-ce598791.js} +0 -0
  373. /package/build/{ChevronDown-b0e8aa38.js → ChevronDown-1dfec847.js} +0 -0
  374. /package/build/{Close-af11e81c.js → Close-3cb8f40f.js} +0 -0
  375. /package/build/{Google-0033340a.js → Google-1cf70b3f.js} +0 -0
  376. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-7248adb0.js → HEAD CIRCUM_BOYS.percentile.monthly-6a81319d.js} +0 -0
  377. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-1df63fe1.js → HEAD CIRCUM_BOYS.percentile.weekly-91f33e79.js} +0 -0
  378. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-571feaa9.js → HEAD CIRCUM_BOYS.percentile.yearly-94173e23.js} +0 -0
  379. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-cad8d29a.js → HEAD CIRCUM_BOYS.zscore.monthly-3b0976ae.js} +0 -0
  380. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-b7337448.js → HEAD CIRCUM_BOYS.zscore.weekly-9944b64c.js} +0 -0
  381. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-1130b232.js → HEAD CIRCUM_BOYS.zscore.yearly-621628ff.js} +0 -0
  382. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-cceb63d7.js → HEAD CIRCUM_GIRLS.percentile.monthly-0269f294.js} +0 -0
  383. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-5937a191.js → HEAD CIRCUM_GIRLS.percentile.weekly-ef2fbfad.js} +0 -0
  384. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-ae5079bd.js → HEAD CIRCUM_GIRLS.percentile.yearly-46452ad2.js} +0 -0
  385. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-dede842c.js → HEAD CIRCUM_GIRLS.zscore.monthly-14c02ed9.js} +0 -0
  386. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-fe91f345.js → HEAD CIRCUM_GIRLS.zscore.weekly-57107844.js} +0 -0
  387. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-ad2a501d.js → HEAD CIRCUM_GIRLS.zscore.yearly-ae975d01.js} +0 -0
  388. /package/build/{HEIGHT_BOYS.percentile.monthly-6f75c07c.js → HEIGHT_BOYS.percentile.monthly-a9a05f3f.js} +0 -0
  389. /package/build/{HEIGHT_BOYS.percentile.weekly-5d89ffd3.js → HEIGHT_BOYS.percentile.weekly-486d98e9.js} +0 -0
  390. /package/build/{HEIGHT_BOYS.percentile.yearly-83b82efa.js → HEIGHT_BOYS.percentile.yearly-6cd6244b.js} +0 -0
  391. /package/build/{HEIGHT_BOYS.zscore.monthly-3bcfd649.js → HEIGHT_BOYS.zscore.monthly-6e1da27e.js} +0 -0
  392. /package/build/{HEIGHT_BOYS.zscore.weekly-d4aed717.js → HEIGHT_BOYS.zscore.weekly-62c1a866.js} +0 -0
  393. /package/build/{HEIGHT_BOYS.zscore.yearly-ce7d40b5.js → HEIGHT_BOYS.zscore.yearly-e3a2c8a7.js} +0 -0
  394. /package/build/{HEIGHT_GIRLS.percentile.monthly-eaee7048.js → HEIGHT_GIRLS.percentile.monthly-931a2667.js} +0 -0
  395. /package/build/{HEIGHT_GIRLS.percentile.weekly-cb5427f0.js → HEIGHT_GIRLS.percentile.weekly-0ee6c6bf.js} +0 -0
  396. /package/build/{HEIGHT_GIRLS.percentile.yearly-adaa41c3.js → HEIGHT_GIRLS.percentile.yearly-82d4fb8f.js} +0 -0
  397. /package/build/{HEIGHT_GIRLS.zscore.monthly-af5bd9bc.js → HEIGHT_GIRLS.zscore.monthly-c492842e.js} +0 -0
  398. /package/build/{HEIGHT_GIRLS.zscore.weekly-9c9c8b95.js → HEIGHT_GIRLS.zscore.weekly-8fb350b2.js} +0 -0
  399. /package/build/{HEIGHT_GIRLS.zscore.yearly-9b78b7d8.js → HEIGHT_GIRLS.zscore.yearly-6ac447b9.js} +0 -0
  400. /package/build/{Locale-75680494.js → Locale-b74a18e2.js} +0 -0
  401. /package/build/{Visible-84fba048.js → Visible-f7a39209.js} +0 -0
  402. /package/build/{WEIGHT_BOYS.percentile.monthly-9e170234.js → WEIGHT_BOYS.percentile.monthly-2708353d.js} +0 -0
  403. /package/build/{WEIGHT_BOYS.percentile.weekly-4ccaff89.js → WEIGHT_BOYS.percentile.weekly-4206d8cd.js} +0 -0
  404. /package/build/{WEIGHT_BOYS.percentile.yearly-c7c8f31f.js → WEIGHT_BOYS.percentile.yearly-985ce460.js} +0 -0
  405. /package/build/{WEIGHT_BOYS.zscore.monthly-9cff8723.js → WEIGHT_BOYS.zscore.monthly-0d85c928.js} +0 -0
  406. /package/build/{WEIGHT_BOYS.zscore.weekly-f3d42619.js → WEIGHT_BOYS.zscore.weekly-b25215c1.js} +0 -0
  407. /package/build/{WEIGHT_BOYS.zscore.yearly-60d648c9.js → WEIGHT_BOYS.zscore.yearly-8442399d.js} +0 -0
  408. /package/build/{WEIGHT_GIRLS.percentile.monthly-ac5648f4.js → WEIGHT_GIRLS.percentile.monthly-919a8e62.js} +0 -0
  409. /package/build/{WEIGHT_GIRLS.percentile.weekly-e6af325e.js → WEIGHT_GIRLS.percentile.weekly-06e5bf3b.js} +0 -0
  410. /package/build/{WEIGHT_GIRLS.percentile.yearly-44071a20.js → WEIGHT_GIRLS.percentile.yearly-66ddd6bb.js} +0 -0
  411. /package/build/{WEIGHT_GIRLS.zscore.monthly-34010ea4.js → WEIGHT_GIRLS.zscore.monthly-8874953a.js} +0 -0
  412. /package/build/{WEIGHT_GIRLS.zscore.weekly-2eaab8b6.js → WEIGHT_GIRLS.zscore.weekly-a053709f.js} +0 -0
  413. /package/build/{WEIGHT_GIRLS.zscore.yearly-fb71479e.js → WEIGHT_GIRLS.zscore.yearly-32874bec.js} +0 -0
  414. /package/build/{animation-ab446f41.js → animation-6018abd1.js} +0 -0
  415. /package/build/{constants-fcb01dc3.js → constants-297f3adb.js} +0 -0
  416. /package/build/{constants-85ea0b64.js → constants-5332133a.js} +0 -0
  417. /package/build/{constants-cedce1ab.js → constants-5ebc25b8.js} +0 -0
  418. /package/build/{dataTransform-1f2e4eab.js → dataTransform-9ce6f0a0.js} +0 -0
  419. /package/build/{doctor-288487ff.js → doctor-19f42a47.js} +0 -0
  420. /package/build/esm/{BMI_BOYS.percentile.monthly-1759fe79.js → BMI_BOYS.percentile.monthly-559cd34e.js} +0 -0
  421. /package/build/esm/{BMI_BOYS.percentile.weekly-cfa15df0.js → BMI_BOYS.percentile.weekly-b748074d.js} +0 -0
  422. /package/build/esm/{BMI_BOYS.percentile.yearly-aa6ffe8b.js → BMI_BOYS.percentile.yearly-70cb2df6.js} +0 -0
  423. /package/build/esm/{BMI_BOYS.zscore.monthly-c314d2b7.js → BMI_BOYS.zscore.monthly-a4e5965c.js} +0 -0
  424. /package/build/esm/{BMI_BOYS.zscore.weekly-5f0f673a.js → BMI_BOYS.zscore.weekly-6a6874de.js} +0 -0
  425. /package/build/esm/{BMI_BOYS.zscore.yearly-9bc406f7.js → BMI_BOYS.zscore.yearly-eaf47070.js} +0 -0
  426. /package/build/esm/{BMI_GIRLS.percentile.monthly-f8ffcf8f.js → BMI_GIRLS.percentile.monthly-8ba5ff72.js} +0 -0
  427. /package/build/esm/{BMI_GIRLS.percentile.weekly-2231e13c.js → BMI_GIRLS.percentile.weekly-8bdfd8da.js} +0 -0
  428. /package/build/esm/{BMI_GIRLS.percentile.yearly-21530ec6.js → BMI_GIRLS.percentile.yearly-c8e0dc2c.js} +0 -0
  429. /package/build/esm/{BMI_GIRLS.zscore.monthly-37776886.js → BMI_GIRLS.zscore.monthly-0b7abcbc.js} +0 -0
  430. /package/build/esm/{BMI_GIRLS.zscore.weekly-a3a01f18.js → BMI_GIRLS.zscore.weekly-c2d52b27.js} +0 -0
  431. /package/build/esm/{BMI_GIRLS.zscore.yearly-ac622e1b.js → BMI_GIRLS.zscore.yearly-802d5790.js} +0 -0
  432. /package/build/esm/{ChevronDown-3c615f3a.js → ChevronDown-4a0e2900.js} +0 -0
  433. /package/build/esm/{Close-92289ae0.js → Close-dfe80a9c.js} +0 -0
  434. /package/build/esm/{Google-3f892015.js → Google-8db94e87.js} +0 -0
  435. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-ad678693.js → HEAD CIRCUM_BOYS.percentile.monthly-1d5aef5e.js} +0 -0
  436. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-8079ff2e.js → HEAD CIRCUM_BOYS.percentile.weekly-d76dec4e.js} +0 -0
  437. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-bfda33e7.js → HEAD CIRCUM_BOYS.percentile.yearly-e6d1494e.js} +0 -0
  438. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-8a1bf79d.js → HEAD CIRCUM_BOYS.zscore.monthly-d3687984.js} +0 -0
  439. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-8df3395f.js → HEAD CIRCUM_BOYS.zscore.weekly-70b7fe6d.js} +0 -0
  440. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-2cd6ba13.js → HEAD CIRCUM_BOYS.zscore.yearly-4c04d8c6.js} +0 -0
  441. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-cd336548.js → HEAD CIRCUM_GIRLS.percentile.monthly-42fb1f31.js} +0 -0
  442. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-1c9b70d4.js → HEAD CIRCUM_GIRLS.percentile.weekly-3c7149df.js} +0 -0
  443. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-db38499a.js → HEAD CIRCUM_GIRLS.percentile.yearly-a78160c9.js} +0 -0
  444. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-9615de4c.js → HEAD CIRCUM_GIRLS.zscore.monthly-331adb6a.js} +0 -0
  445. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-8a8d1672.js → HEAD CIRCUM_GIRLS.zscore.weekly-40f24abf.js} +0 -0
  446. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-7506c36e.js → HEAD CIRCUM_GIRLS.zscore.yearly-b68986e6.js} +0 -0
  447. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-af6246ab.js → HEIGHT_BOYS.percentile.monthly-84a6dc37.js} +0 -0
  448. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-31a01cb5.js → HEIGHT_BOYS.percentile.weekly-5d911254.js} +0 -0
  449. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-bcc71500.js → HEIGHT_BOYS.percentile.yearly-2acebf10.js} +0 -0
  450. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-08638c80.js → HEIGHT_BOYS.zscore.monthly-20581257.js} +0 -0
  451. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-452a30e9.js → HEIGHT_BOYS.zscore.weekly-b0264609.js} +0 -0
  452. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-72032191.js → HEIGHT_BOYS.zscore.yearly-be1e6519.js} +0 -0
  453. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-a2895088.js → HEIGHT_GIRLS.percentile.monthly-25d8e2ae.js} +0 -0
  454. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-c38c550e.js → HEIGHT_GIRLS.percentile.weekly-f47301ae.js} +0 -0
  455. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-f372837e.js → HEIGHT_GIRLS.percentile.yearly-cac216bd.js} +0 -0
  456. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-2e7696a9.js → HEIGHT_GIRLS.zscore.monthly-24351fa7.js} +0 -0
  457. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-02b1c1bf.js → HEIGHT_GIRLS.zscore.weekly-1142b9b3.js} +0 -0
  458. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-381ceb51.js → HEIGHT_GIRLS.zscore.yearly-3a97b0e3.js} +0 -0
  459. /package/build/esm/{Locale-bde5443a.js → Locale-0fe839f4.js} +0 -0
  460. /package/build/esm/{Visible-2f8c3b8c.js → Visible-78891ff8.js} +0 -0
  461. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-91ded875.js → WEIGHT_BOYS.percentile.monthly-cd6c58d1.js} +0 -0
  462. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-1b8553cb.js → WEIGHT_BOYS.percentile.weekly-5fc8bcb7.js} +0 -0
  463. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-6d5b5c8a.js → WEIGHT_BOYS.percentile.yearly-4c20a4cb.js} +0 -0
  464. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-1d2ae15f.js → WEIGHT_BOYS.zscore.monthly-0a285cc7.js} +0 -0
  465. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-717fa43d.js → WEIGHT_BOYS.zscore.weekly-6097b85e.js} +0 -0
  466. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-57dc328d.js → WEIGHT_BOYS.zscore.yearly-2c2a3f48.js} +0 -0
  467. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-6fd3855c.js → WEIGHT_GIRLS.percentile.monthly-baccddc8.js} +0 -0
  468. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-5233cc29.js → WEIGHT_GIRLS.percentile.weekly-179346a5.js} +0 -0
  469. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-a6b160a8.js → WEIGHT_GIRLS.percentile.yearly-6b081fdc.js} +0 -0
  470. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-4c9911c8.js → WEIGHT_GIRLS.zscore.monthly-ee266cc0.js} +0 -0
  471. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-ded8c18d.js → WEIGHT_GIRLS.zscore.weekly-95df1c97.js} +0 -0
  472. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-d452e16a.js → WEIGHT_GIRLS.zscore.yearly-8b6014dc.js} +0 -0
  473. /package/build/esm/{animation-a2bf2d7c.js → animation-eb0600e7.js} +0 -0
  474. /package/build/esm/{constants-564bbc47.js → constants-7d3c8038.js} +0 -0
  475. /package/build/esm/{constants-9ca7b127.js → constants-9675deb2.js} +0 -0
  476. /package/build/esm/{constants-a72ffa69.js → constants-afd70710.js} +0 -0
  477. /package/build/esm/{dataTransform-be1b6c24.js → dataTransform-e5e66b88.js} +0 -0
  478. /package/build/esm/{doctor-c95c434f.js → doctor-1cfe27db.js} +0 -0
  479. /package/build/esm/{index-93c73af8.js → index-02c8be33.js} +0 -0
  480. /package/build/esm/{index-9d515708.js → index-25ecd1e3.js} +0 -0
  481. /package/build/esm/{index-e5b8311f.js → index-3f5277e4.js} +0 -0
  482. /package/build/esm/{index-68b58dcb.js → index-9b474e8f.js} +0 -0
  483. /package/build/esm/{index-5d5e2d22.js → index-a9d94c38.js} +0 -0
  484. /package/build/esm/{index-02de2f56.js → index-d48c45bb.js} +0 -0
  485. /package/build/esm/{index-b75ca833.js → index-d71d1838.js} +0 -0
  486. /package/build/esm/{index-56d155d6.js → index-d9eea212.js} +0 -0
  487. /package/build/esm/{index-1ce8a71b.js → index-f9c95ed3.js} +0 -0
  488. /package/build/esm/{index.styles-1ca6086d.js → index.styles-7e8e723e.js} +0 -0
  489. /package/build/esm/{localizeNumberFormat-33866f95.js → localizeNumberFormat-cdbb31df.js} +0 -0
  490. /package/build/esm/{normalizeLink-3f330ad1.js → normalizeLink-7c0d8cfc.js} +0 -0
  491. /package/build/esm/{number-cd2f91c6.js → number-0d601f08.js} +0 -0
  492. /package/build/esm/{other-242c03f2.js → other-3c2c2888.js} +0 -0
  493. /package/build/esm/{paths-d9b27887.js → paths-a3da84bc.js} +0 -0
  494. /package/build/esm/{translationsContext-880b224c.js → translationsContext-eadc2f8c.js} +0 -0
  495. /package/build/esm/{tslib.es6-8169dd55.js → tslib.es6-3b3bf6ee.js} +0 -0
  496. /package/build/esm/{types-4363ce6e.js → types-288df4ca.js} +0 -0
  497. /package/build/esm/{useIsInit-60d81859.js → useIsInit-7eb2ae3f.js} +0 -0
  498. /package/build/esm/{useOutsideClick-125497b0.js → useOutsideClick-431c9564.js} +0 -0
  499. /package/build/esm/{useScrollbarSize-436ceffe.js → useScrollbarSize-163a0ea0.js} +0 -0
  500. /package/build/esm/{useUniqueId-2ebf485a.js → useUniqueId-4f87763e.js} +0 -0
  501. /package/build/esm/{utils-c14d555e.js → utils-0499e7df.js} +0 -0
  502. /package/build/{index-943b405c.js → index-10b5f5bc.js} +0 -0
  503. /package/build/{index-37ab9d8e.js → index-4dab1087.js} +0 -0
  504. /package/build/{index-e34612e2.js → index-53b5da60.js} +0 -0
  505. /package/build/{index-1522c47d.js → index-614f129a.js} +0 -0
  506. /package/build/{index-71b4bebb.js → index-72e51fe9.js} +0 -0
  507. /package/build/{index-4b4cf800.js → index-ab4d52ae.js} +0 -0
  508. /package/build/{index-478450b3.js → index-c1699b1b.js} +0 -0
  509. /package/build/{index-2968dd04.js → index-dd4c59be.js} +0 -0
  510. /package/build/{index-75320d0d.js → index-e19448b3.js} +0 -0
  511. /package/build/{index.styles-d3cb93e9.js → index.styles-d39cba6b.js} +0 -0
  512. /package/build/{localizeNumberFormat-02c7ad43.js → localizeNumberFormat-6a4549e3.js} +0 -0
  513. /package/build/{normalizeLink-61e60279.js → normalizeLink-8b41f1c2.js} +0 -0
  514. /package/build/{number-f8c2809e.js → number-af95ab59.js} +0 -0
  515. /package/build/{other-8ea72fd0.js → other-bff0cdfb.js} +0 -0
  516. /package/build/{paths-800a26fa.js → paths-8b748863.js} +0 -0
  517. /package/build/{translationsContext-e0be3e57.js → translationsContext-413fe085.js} +0 -0
  518. /package/build/{tslib.es6-ee3640a7.js → tslib.es6-04a10581.js} +0 -0
  519. /package/build/{types-c9ae2bb1.js → types-bddff908.js} +0 -0
  520. /package/build/{useIsInit-eb3087cf.js → useIsInit-4b8ffdb6.js} +0 -0
  521. /package/build/{useOutsideClick-7d28bdf4.js → useOutsideClick-759d5b83.js} +0 -0
  522. /package/build/{useScrollbarSize-045d5005.js → useScrollbarSize-9a182d81.js} +0 -0
  523. /package/build/{useUniqueId-bde322c9.js → useUniqueId-373f702e.js} +0 -0
  524. /package/build/{utils-87a063b1.js → utils-32810910.js} +0 -0
package/build/esm/lead.js CHANGED
@@ -1,44 +1,44 @@
1
- import { _ as __rest, a as __awaiter } from './tslib.es6-8169dd55.js';
2
- import React__default, { createContext, useMemo, useEffect, useRef, useState, useContext, useCallback } from 'react';
3
- import { createStyles, Box, Button as Button$2, Autocomplete, clsx, Input as Input$1, TextInput, NumberInput as NumberInput$1, Portal, Transition, Overlay } from '@mantine/core';
1
+ import { _ as __rest, a as __awaiter } from './tslib.es6-3b3bf6ee.js';
2
+ import React__default, { createContext, useMemo, useEffect, useRef, useState, useContext, forwardRef, useCallback, useImperativeHandle, memo } from 'react';
3
+ import { createStyles, Box, Input as Input$1, clsx, Autocomplete, Checkbox as Checkbox$1, Radio as Radio$1, Select as Select$1, TextInput, NumberInput as NumberInput$1, Button as Button$2, Portal, Transition, Overlay } from '@mantine/core';
4
4
  import dayjs from 'dayjs';
5
5
  import debounce from 'lodash/debounce';
6
- import { createFormContext } from '@mantine/form';
7
- import { u as useTranslations } from './index-5a475089.js';
8
- import { T as TranslationsContext } from './translationsContext-880b224c.js';
6
+ import { createFormContext, useForm } from '@mantine/form';
7
+ import { u as useTranslations } from './index-ed4991de.js';
8
+ import { T as TranslationsContext } from './translationsContext-eadc2f8c.js';
9
9
  import { getCookie, setCookie } from './miscCookieHelper.js';
10
- import { b as getWrapperDomWithSelector, a as getPopupWrapperDom } from './utils-c14d555e.js';
11
- import { T as Text } from './index-011296a3.js';
12
- import { S as Select, d as Checkbox, I as Input, R as Radio, P as Phone, N as NumberInput, O as OTP } from './index-6a160cbb.js';
13
- import { D as DatePicker } from './index-e31040c7.js';
14
- import { M as MAPPED_LOCALE } from './utils-710c54b1.js';
15
- import '@mantine/dates';
16
- import { Z as ZINDEX_SSO } from './index-e9782b8f.js';
17
- import './index-26e51554.js';
18
- import './index-e5b8311f.js';
19
- import './useMantineLocale-1e822894.js';
20
- import { B as Button$1 } from './index-38989636.js';
21
- import './index.styles-1ca6086d.js';
10
+ import { b as getWrapperDomWithSelector, a as getPopupWrapperDom } from './utils-0499e7df.js';
11
+ import { T as Text } from './index-8cbad76d.js';
12
+ import { S as Select, d as Checkbox, I as Input, R as Radio, P as Phone, N as NumberInput, O as OTP } from './index-a043265d.js';
13
+ import { D as DatePicker } from './index-021da3d3.js';
14
+ import { M as MAPPED_LOCALE } from './utils-55b98af6.js';
15
+ import { DateInput } from '@mantine/dates';
16
+ import { Z as ZINDEX_SSO } from './index-1de1575d.js';
17
+ import './index-e8c7d06c.js';
18
+ import './index-3f5277e4.js';
19
+ import './useMantineLocale-61a713dc.js';
20
+ import { B as Button$1 } from './index-5130c494.js';
21
+ import './index.styles-7e8e723e.js';
22
22
  import { useClickOutside } from '@mantine/hooks';
23
- import './other-242c03f2.js';
24
- import './index-8e0ba189.js';
25
- import { u as usePlacesAutocomplete, G as GOOGLE_API_KEY } from './usePlacesAutocomplete-38a504cf.js';
26
- import { B as Button } from './index-3c63b119.js';
27
- import { H as Heading$1 } from './index-ef2993d5.js';
23
+ import './other-3c2c2888.js';
24
+ import './index-afa718a7.js';
25
+ import { u as usePlacesAutocomplete, G as GOOGLE_API_KEY } from './usePlacesAutocomplete-b79b68b2.js';
26
+ import { B as Button } from './index-4b210adb.js';
27
+ import { H as Heading$1 } from './index-17b7c39c.js';
28
+ import styled from '@emotion/styled';
28
29
  import { v1 } from 'uuid';
29
- import { i as isVideo } from './index-93c73af8.js';
30
- import { D as DrawerComponent } from './index-63ae2b65.js';
31
- import { u as useScreenSize } from './useScreenSize-4896fcb0.js';
32
- import { createPortal } from 'react-dom';
33
30
  import { css } from '@emotion/react';
34
- import styled from '@emotion/styled';
35
31
  import { theme } from './miscTheme.js';
36
- import { C as Close } from './Close-92289ae0.js';
32
+ import { i as isVideo } from './index-02c8be33.js';
33
+ import { D as DrawerComponent } from './index-58bb5f33.js';
34
+ import { u as useScreenSize } from './useScreenSize-0a846318.js';
35
+ import { createPortal } from 'react-dom';
36
+ import { C as Close } from './Close-dfe80a9c.js';
37
37
  import '@hhgtech/icons/other';
38
38
  import '@mantine/carousel';
39
- import './Locale-bde5443a.js';
39
+ import './Locale-0fe839f4.js';
40
40
  import 'classnames';
41
- import './useUniqueId-2ebf485a.js';
41
+ import './useUniqueId-4f87763e.js';
42
42
  import './constantsSite.js';
43
43
  import '@hhgtech/icons/core';
44
44
  import 'date-fns/locale';
@@ -72,7 +72,7 @@ if (sessionStorage.getItem('insider_object')) {
72
72
  }
73
73
  const docLang = document.documentElement.lang;
74
74
  // TODO: country code
75
- const LEAD_LOCALE_DATA = {
75
+ const LEAD_LOCALE_DATA$1 = {
76
76
  'vi-VN': {
77
77
  popupLang: 'vi',
78
78
  countryCode: 'vn',
@@ -114,7 +114,7 @@ const LEAD_LOCALE_DATA = {
114
114
  countryCodeNumber: 91,
115
115
  },
116
116
  };
117
- const LEAD_LOCALE = LEAD_LOCALE_DATA[docLang] || LEAD_LOCALE_DATA['vi-VN'];
117
+ const LEAD_LOCALE = LEAD_LOCALE_DATA$1[docLang] || LEAD_LOCALE_DATA$1['vi-VN'];
118
118
  function LEAD_RESET_VAR() {
119
119
  // LEAD_CURRENT_URL = location.href.toLowerCase();
120
120
  LEAD_CURRENT_URL =
@@ -135,6 +135,11 @@ const LEAD_TIMEZONE_DATA = {
135
135
  9: 'Asia/Manila', // Philippines / Filipinos Site
136
136
  };
137
137
 
138
+ const LEADGEN_ACTIONS = {
139
+ SHOW: 'SHOW',
140
+ SCROLL: 'SCROLL',
141
+ TIME: 'TIME',
142
+ };
138
143
  const LEADGEN_LAYOUT = {
139
144
  LightBoxA: 'LightBoxA',
140
145
  LightBoxB: 'LightBoxB',
@@ -164,8 +169,10 @@ const LEADGEN_BLOCK = {
164
169
  DropdownBlock: 'DropdownBlock',
165
170
  CheckboxBlock: 'CheckboxBlock',
166
171
  TncBlock: 'TncBlock',
172
+ TitleBlock: 'TitleBlock',
173
+ SubtitleBlock: 'SubtitleBlock',
167
174
  };
168
- const LEADGEN_BLOCK_IN_FORM = [
175
+ const LEADGEN_BLOCK_INPUT = [
169
176
  LEADGEN_BLOCK.TextBlock,
170
177
  LEADGEN_BLOCK.NumberBlock,
171
178
  LEADGEN_BLOCK.DateBlock,
@@ -181,6 +188,48 @@ const LEADGEN_BLOCK_IN_FORM = [
181
188
  LEADGEN_BLOCK.TncBlock,
182
189
  ];
183
190
  const SSO_MAP_LEAD = ['name', 'email', 'birthday', 'phone', 'gender'];
191
+ const LEAD_LOCALE_DATA = {
192
+ 'vi-VN': {
193
+ popupLang: 'vi',
194
+ countryCode: 'vn',
195
+ countryCodeNumber: 84,
196
+ },
197
+ 'id-ID': {
198
+ popupLang: 'id',
199
+ countryCode: 'id',
200
+ countryCodeNumber: 62,
201
+ },
202
+ 'th-TH': {
203
+ popupLang: 'th',
204
+ countryCode: 'th',
205
+ countryCodeNumber: 66,
206
+ },
207
+ 'ms-MY': {
208
+ popupLang: 'ms',
209
+ countryCode: 'my',
210
+ countryCodeNumber: 60,
211
+ },
212
+ 'zh-TW': {
213
+ popupLang: 'zh',
214
+ countryCode: 'tw',
215
+ countryCodeNumber: 886,
216
+ },
217
+ 'km-KH': {
218
+ popupLang: 'km',
219
+ countryCode: 'kh',
220
+ countryCodeNumber: 855,
221
+ },
222
+ 'my-MM': {
223
+ popupLang: 'my',
224
+ countryCode: 'mm',
225
+ countryCodeNumber: 95,
226
+ },
227
+ 'hi-IN': {
228
+ popupLang: 'hi',
229
+ countryCode: 'in',
230
+ countryCodeNumber: 91,
231
+ },
232
+ };
184
233
  const mappingSSOToLead = (userInfoProps) => {
185
234
  var _a, _b;
186
235
  try {
@@ -196,7 +245,7 @@ const mappingSSOToLead = (userInfoProps) => {
196
245
  if (ssoKey === 'birthday') {
197
246
  const dob = dayjs(initValue, 'YYYY-MM-DD', true);
198
247
  if (dob.isValid()) {
199
- user.birthday = dob;
248
+ user.birthday = dob.toDate();
200
249
  }
201
250
  }
202
251
  else if (ssoKey === 'gender') {
@@ -219,6 +268,46 @@ const mappingSSOToLead = (userInfoProps) => {
219
268
  catch (error) {
220
269
  return;
221
270
  }
271
+ };
272
+ const formatCampaignDetail = (campaign) => {
273
+ if (!campaign) {
274
+ return {};
275
+ }
276
+ try {
277
+ const { extra_fields, thank_you_image } = campaign || {};
278
+ const { textBlocks: exTextBlocks, imageBlocks: exImageBlocks, listBlockAdded: exListBlockAdded, listBlockThankyou: exListBlockThankyou, actionBlocks: exActionBlocks, } = extra_fields;
279
+ const textBlocks = JSON.parse(exTextBlocks);
280
+ const imageBlocks = JSON.parse(exImageBlocks);
281
+ const listBlockAdded = JSON.parse(exListBlockAdded);
282
+ const listBlockThankyou = JSON.parse(exListBlockThankyou);
283
+ const actionBlocks = JSON.parse(exActionBlocks);
284
+ const ThankYouBlock = {
285
+ image: { src: thank_you_image },
286
+ };
287
+ listBlockThankyou.forEach((block) => {
288
+ const { name, data } = block || {};
289
+ const { value: htmlText, align, newtab, url } = data || {};
290
+ switch (name) {
291
+ case LEADGEN_BLOCK.TitleBlock: {
292
+ ThankYouBlock.title = { htmlText, align };
293
+ }
294
+ case LEADGEN_BLOCK.SubtitleBlock: {
295
+ ThankYouBlock.description = { htmlText, align };
296
+ }
297
+ case LEADGEN_BLOCK.LinkButtonBlock: {
298
+ ThankYouBlock.button = { htmlText, newtab, url };
299
+ }
300
+ }
301
+ });
302
+ return Object.assign(Object.assign({}, campaign), { extra_fields: Object.assign(Object.assign({}, extra_fields), { textBlocks,
303
+ imageBlocks,
304
+ listBlockAdded,
305
+ listBlockThankyou,
306
+ actionBlocks }), ThankYouBlock });
307
+ }
308
+ catch (error) {
309
+ return {};
310
+ }
222
311
  };
223
312
 
224
313
  class Store {
@@ -229,6 +318,13 @@ class Store {
229
318
  }
230
319
  const leadStore = new Store();
231
320
 
321
+ const LEADGEN_API_METHOD = {
322
+ GET: 'get',
323
+ POST: 'POST',
324
+ };
325
+ const LEADGEN_API_PATH = {
326
+ V2_CAMPAIGN: 'api/v2/campaign',
327
+ };
232
328
  const leadApi = {
233
329
  call(_a) {
234
330
  var { url, data = undefined } = _a, config = __rest(_a, ["url", "data"]);
@@ -332,8 +428,39 @@ const verifyOtpLead = ({ phone, otp, type, }) => {
332
428
  },
333
429
  });
334
430
  };
431
+ const campaignGetByCode = (campaign_code) => {
432
+ return leadApi.call({
433
+ url: `${LEADGEN_API_PATH.V2_CAMPAIGN}/${campaign_code}`,
434
+ method: LEADGEN_API_METHOD.GET,
435
+ });
436
+ };
437
+ const campaignPostLead = ({ data }) => {
438
+ return leadApi.call({
439
+ url: 'api/v2/subscription-box',
440
+ method: LEADGEN_API_METHOD.POST,
441
+ data,
442
+ });
443
+ };
444
+ const campaignPostImpression = ({ code, action, title_article, ga_client_id, cookie_id, extra, url, referrer, }) => {
445
+ return leadApi.call({
446
+ url: `api/campaign/${code}/impression`,
447
+ method: LEADGEN_API_METHOD.POST,
448
+ data: {
449
+ action,
450
+ title_article,
451
+ cookie_id,
452
+ ga_client_id,
453
+ url,
454
+ extra,
455
+ referrer,
456
+ },
457
+ });
458
+ };
335
459
  const Service = {
336
460
  campaignGetById,
461
+ campaignGetByCode,
462
+ campaignPostLead,
463
+ campaignPostImpression,
337
464
  validateEmailOrPhoneOnSubot,
338
465
  validateEmailOrPhoneOnLeadGen,
339
466
  validatePhoneNumberOnLeadGen,
@@ -1335,330 +1462,47 @@ const getTranslations = (locale) => {
1335
1462
 
1336
1463
  const LeadGenContext = createContext({});
1337
1464
 
1338
- const useImageSize = (src) => {
1339
- const [width, setWidth] = useState(16);
1340
- const [height, setHeight] = useState(9);
1341
- const [loaded, setLoaded] = useState(false);
1342
- // load src image to get its width and height
1465
+ const LeadGenSubscriptionBoxContext = createContext({});
1466
+ const LeadGenSubscriptionBoxProvider = (props) => {
1467
+ const { campaign_code, apiUrl: apiUrlProps, apiSubotUrl, locale, forceCampaign: forceCampaignProps, children, } = props;
1468
+ const [forceCampaign, setForceCampaign] = useState(forceCampaignProps);
1469
+ const leadGenSubscriptionBoxValue = useMemo(() => (Object.assign(Object.assign({}, props), { forceCampaign })), [campaign_code, locale, forceCampaign]);
1470
+ const translationContextValue = { locale, values: getTranslations(locale) };
1343
1471
  useEffect(() => {
1344
- setLoaded(false);
1345
- if (src) {
1346
- const img = new Image();
1347
- img.addEventListener('load', () => {
1348
- setWidth(img.naturalWidth);
1349
- setHeight(img.naturalHeight);
1350
- setLoaded(true);
1351
- });
1352
- img.addEventListener('error', () => {
1353
- setWidth(16);
1354
- setHeight(9);
1355
- setLoaded(true);
1356
- });
1357
- img.src = src;
1472
+ if (forceCampaignProps) {
1473
+ setForceCampaign(forceCampaignProps);
1474
+ return;
1358
1475
  }
1359
- else {
1360
- setWidth(16);
1361
- setHeight(9);
1362
- setLoaded(true);
1476
+ if (campaign_code) {
1477
+ Service.campaignGetByCode(campaign_code).then((res) => {
1478
+ const { _data } = res || {};
1479
+ const { campaigns } = _data || {};
1480
+ setForceCampaign(formatCampaignDetail(campaigns));
1481
+ });
1363
1482
  }
1364
- }, [src]);
1365
- return {
1366
- loaded,
1367
- width,
1368
- height,
1369
- };
1370
- };
1371
-
1372
- const CloseButton = ({ onClose, containerClassName, svgClassName, }) => (React__default.createElement("button", { onClick: onClose, className: `le-newbuilder-close-button js-modal__close ${containerClassName || ''}` },
1373
- React__default.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", className: svgClassName },
1374
- React__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" }))));
1375
-
1376
- // url: imageBlocks.imageMobile.data.url
1377
- // newTab: imageBlocks.imageMobile.data.newtab
1378
- // imageMobile: campaignShow.image
1379
- // imageDestkop: campaignShow.image_desktop
1380
- const CenterTabLayout = ({ popupId, url, newTab, imageDestkop, imageMobile, onClose, onOtherSubmit, }) => {
1381
- const { width: imageMobileWidth, height: imageMobileHeight, loaded: imageMobileLoaded, } = useImageSize(imageMobile);
1382
- const { width: imageDestkopWidth, height: imageDestkopHeight, loaded: imageDestkopLoaded, } = useImageSize(imageDestkop);
1383
- if (!imageMobileLoaded || !imageDestkopLoaded)
1384
- return null;
1385
- return (React__default.createElement("div", { id: popupId, className: "lead-modal-wrapper", "data-popup-url": location.pathname, "data-popup-type": "center_tab" },
1386
- React__default.createElement("div", { className: "le-center-tab-popup" },
1387
- React__default.createElement("div", { style: { position: 'relative' } },
1388
- React__default.createElement("a", { className: "js-popup-other-submit", href: url, target: newTab ? 'blank' : '_parent', onClick: onOtherSubmit },
1389
- isVideo(imageMobile) ? (React__default.createElement("video", { loop: true, muted: true, autoPlay: true, className: "le-only-mobile" },
1390
- React__default.createElement("source", { src: imageMobile }))) : (React__default.createElement("img", { className: "le-only-mobile", src: imageMobile, style: {
1391
- aspectRatio: `${imageMobileWidth}/${imageMobileHeight}`,
1392
- } })),
1393
- isVideo(imageDestkop) ? (React__default.createElement("video", { loop: true, muted: true, autoPlay: true, className: "le-only-desktop" },
1394
- React__default.createElement("source", { src: imageDestkop }))) : (React__default.createElement("img", { className: "le-only-desktop", src: imageDestkop, style: {
1395
- aspectRatio: `${imageDestkopWidth}/${imageDestkopHeight}`,
1396
- } }))),
1397
- React__default.createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" })))));
1398
- };
1399
-
1400
- // title: titleText
1401
- // titleAlign: textBlocks.titleBlock.data.align
1402
- // subtitle: textBlocks.subtitleBlock.data.value
1403
- // subtitleAlign: textBlocks.subtitleBlock.data.align
1404
- // url: actionBlocks.linkButtonBlock.data.url
1405
- // urlText: actionBlocks.linkButtonBlock.data.value
1406
- // newTab: actionBlocks.linkButtonBlock.data.newtab
1407
- // imageMobile: campaignShow.image
1408
- // imageDesktop: campaignShow.image_desktop
1409
- const FloatingLayout = ({ popupId, url, title, urlText, titleAlign, subtitle, subtitleAlign, newTab, imageDesktop, imageMobile, onClose, onOtherSubmit, }) => {
1410
- const { width: imageMobileWidth, height: imageMobileHeight, loaded: imageMobileLoaded, } = useImageSize(imageMobile);
1411
- const { width: imageDesktopWidth, height: imageDesktopHeight, loaded: imageDesktopLoaded, } = useImageSize(imageDesktop);
1412
- if (!imageMobileLoaded || !imageDesktopLoaded)
1413
- return null;
1414
- return (React__default.createElement("div", { id: popupId, className: "lead-modal-wrapper lead-floating-wrapper", "data-popup-url": location.pathname, "data-popup-type": "floating" },
1415
- React__default.createElement("aside", { className: "le-only-desktop" },
1416
- React__default.createElement("div", { className: "le-floating-desktop" },
1417
- React__default.createElement("div", { className: "le-floating-desktop-wrap", style: { position: 'relative', background: '#fff' } },
1418
- imageDesktop ? (React__default.createElement("div", null,
1419
- React__default.createElement("img", { style: {
1420
- maxWidth: 120,
1421
- borderTopLeftRadius: 5,
1422
- borderBottomLeftRadius: 5,
1423
- aspectRatio: `${imageDesktopWidth}/${imageDesktopHeight}`,
1424
- }, src: imageDesktop }))) : null,
1425
- React__default.createElement("div", { style: { padding: 20 } },
1426
- React__default.createElement("div", { className: `le-floating-desktop-title le-text-align-${titleAlign}` }, title),
1427
- React__default.createElement("div", { className: `le-floating-desktop-desc le-text-align-${subtitleAlign}` }, subtitle)),
1428
- React__default.createElement("a", { target: newTab ? 'blank' : '_parent', style: { marginLeft: 35, textDecoration: 'none' }, href: url },
1429
- React__default.createElement("button", { className: "le-joinbow-floating-btn js-popup-other-submit", onClick: onOtherSubmit }, urlText)),
1430
- React__default.createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" })))),
1431
- React__default.createElement("aside", { className: "le-only-mobile" },
1432
- React__default.createElement("div", { className: "le-floating-mobile" },
1433
- React__default.createElement("div", { className: "le-floating-mobile-wrap", style: { position: 'relative', background: '#fff' } },
1434
- React__default.createElement("aside", { style: { display: 'flex', justifyContent: 'space-between' } },
1435
- React__default.createElement("div", null,
1436
- React__default.createElement("div", { className: `le-floating-mobile-title le-text-align-${titleAlign}` }, title),
1437
- React__default.createElement("div", { className: `le-floating-mobile-desc le-text-align-${subtitleAlign}` }, subtitle)),
1438
- imageMobile ? (React__default.createElement("div", null,
1439
- React__default.createElement("img", { style: {
1440
- marginLeft: 15,
1441
- marginTop: 4,
1442
- maxWidth: 100,
1443
- aspectRatio: `${imageMobileWidth}/${imageMobileHeight}`,
1444
- }, src: imageMobile }))) : null),
1445
- React__default.createElement("div", { style: { textAlign: 'center', marginTop: 10 } },
1446
- React__default.createElement("a", { target: newTab ? 'blank' : '_parent', href: url, style: { textDecoration: 'none' } },
1447
- React__default.createElement("button", { className: "le-joinbow-floating-btn js-popup-other-submit", onClick: onOtherSubmit }, urlText))),
1448
- React__default.createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" }))))));
1449
- };
1450
-
1451
- const ThankyouPopup = ({ title, titleAlign, subtitle, subtitleAlign, link, linkNewTab, linkText, image, }) => {
1452
- const { width: imageWidth, height: imageHeight, loaded: imageLoaded, } = useImageSize(image);
1453
- if (!imageLoaded)
1483
+ }, [campaign_code]);
1484
+ useEffect(() => {
1485
+ leadStore.apiLeadUrl = apiUrlProps;
1486
+ leadStore.apiSubotUrl = apiSubotUrl;
1487
+ return () => {
1488
+ setForceCampaign(null);
1489
+ };
1490
+ }, []);
1491
+ if (!forceCampaign || !(forceCampaign === null || forceCampaign === void 0 ? void 0 : forceCampaign.id)) {
1454
1492
  return null;
1455
- return (React__default.createElement("div", { className: "lead-modal__thank-you leadgen-inner_thankyou" },
1456
- React__default.createElement("div", { style: { width: '100%' } },
1457
- React__default.createElement("img", { src: image, style: {
1458
- maxHeight: 162,
1459
- objectFit: 'cover',
1460
- aspectRatio: `${imageWidth}/${imageHeight}`,
1461
- }, loading: "lazy" }),
1462
- title && (React__default.createElement("h1", { className: `le-thankyou-title le-text-align-${titleAlign}` }, title)),
1463
- subtitle && (React__default.createElement("p", { className: `le-thankyou-subtitle le-text-align-${subtitleAlign}` }, subtitle.split('\n').map((text, idx, list) => {
1464
- const isShowBr = idx < list.length - 1;
1465
- return (React__default.createElement(React__default.Fragment, null,
1466
- text,
1467
- isShowBr && React__default.createElement("br", null)));
1468
- }))),
1469
- linkText && (React__default.createElement("div", null,
1470
- React__default.createElement("a", { href: link, target: linkNewTab ? '_blank' : 'parrent', rel: "noreferrer" },
1471
- React__default.createElement("button", { className: `lead-modal__btn ${LEAD_CLASS}` }, linkText)))))));
1472
- };
1473
-
1474
- const InlineLayout = ({ content, inlinePosition, }) => {
1475
- const target = useMemo(() => {
1476
- if (!inlinePosition)
1477
- return null;
1478
- const parents = document.querySelectorAll(`[data-url="${location.pathname}"] .body-content`);
1479
- const allChildren = Array.from(parents).reduce((r, p) => {
1480
- return [...r, ...Array.from(p.children)];
1481
- }, []);
1482
- if (allChildren === null || allChildren === void 0 ? void 0 : allChildren.length) {
1483
- // find the third p tag in the body content, some other tags might mix in between
1484
- const allPTags = allChildren.filter((c) => c.nodeName === 'P');
1485
- const allH2Tags = allChildren.filter((c) => c.nodeName === 'H2');
1486
- let target = null;
1487
- switch (inlinePosition) {
1488
- case '1th':
1489
- target = allPTags[0];
1490
- break;
1491
- case '2th':
1492
- target = allPTags[1];
1493
- break;
1494
- case '3th':
1495
- target = allPTags[2];
1496
- break;
1497
- case '4th':
1498
- target = allPTags[3];
1499
- break;
1500
- case '5th':
1501
- target = allPTags[4];
1502
- break;
1503
- case '6th':
1504
- target = allPTags[5];
1505
- break;
1506
- case '7th':
1507
- target = allPTags[6];
1508
- break;
1509
- case '8th':
1510
- target = allPTags[7];
1511
- break;
1512
- case '9th':
1513
- target = allPTags[8];
1514
- break;
1515
- case '10th':
1516
- target = allPTags[9];
1517
- break;
1518
- case '11th':
1519
- target = allPTags[10];
1520
- break;
1521
- case '12th':
1522
- target = allPTags[11];
1523
- break;
1524
- case 'lastP':
1525
- target = allPTags[allPTags.length - 1];
1526
- break;
1527
- case '1thH2':
1528
- target = allH2Tags[0];
1529
- break;
1530
- case '2thH2':
1531
- target = allH2Tags[1];
1532
- break;
1533
- case '3thH2':
1534
- target = allH2Tags[2];
1535
- break;
1536
- case '4thH2':
1537
- target = allH2Tags[3];
1538
- break;
1539
- case '5thH2':
1540
- target = allH2Tags[4];
1541
- break;
1542
- case '6thH2':
1543
- target = allH2Tags[5];
1544
- break;
1545
- case '7thH2':
1546
- target = allH2Tags[6];
1547
- break;
1548
- case '8thH2':
1549
- target = allH2Tags[7];
1550
- break;
1551
- case '9thH2':
1552
- target = allH2Tags[8];
1553
- break;
1554
- case '10thH2':
1555
- target = allH2Tags[9];
1556
- break;
1557
- case 'lastH2':
1558
- target = allH2Tags[allH2Tags.length - 1];
1559
- break;
1560
- }
1561
- if (target) {
1562
- if (!target.parentElement.querySelector('.inline-lead-wrapper')) {
1563
- const wrapper = document.createElement('div');
1564
- wrapper.classList.add('inline-lead-wrapper');
1565
- if (target.nextElementSibling) {
1566
- target.parentElement.insertBefore(wrapper, target.nextElementSibling);
1567
- }
1568
- else {
1569
- target.parentElement.appendChild(wrapper);
1570
- }
1571
- return wrapper;
1572
- }
1573
- else {
1574
- return target.parentElement.querySelector('.inline-lead-wrapper');
1575
- }
1576
- }
1577
- }
1578
- }, [inlinePosition]);
1579
- if (!inlinePosition || !target)
1580
- return null;
1581
- return createPortal(content, target);
1582
- };
1583
-
1584
- const SideBarLayout = ({ content }) => {
1585
- const targets = useMemo(() => {
1586
- const targetDoms = Array.from(document.querySelectorAll('.hc2-sidebar-with-ads,.page-main-col .right-col.f-right,.hhg-lead-sidebar'));
1587
- targetDoms.forEach((dom) => {
1588
- if (dom.querySelector('.sidebar-lead-modal-wrapper'))
1589
- return;
1590
- const wrapper = document.createElement('div');
1591
- wrapper.classList.add('sidebar-lead-modal-wrapper');
1592
- dom.prepend(wrapper);
1593
- });
1594
- return targetDoms.map((d) => d.querySelector('.sidebar-lead-modal-wrapper'));
1595
- }, []);
1596
- return (React__default.createElement(React__default.Fragment, null, targets.map((target) => createPortal(content, getWrapperDomWithSelector(target, 'sidebar-lead-modal-wrapper')))));
1597
- };
1598
-
1599
- const EmptyIcon = (props) => {
1600
- const { className, style } = props;
1601
- return (React__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 },
1602
- React__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" }),
1603
- React__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" }),
1604
- React__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" })));
1605
- };
1606
-
1607
- const EmptyComponent = ({ onClose, onContinue, }) => {
1608
- const { t } = useTranslations();
1609
- return (React__default.createElement("div", { className: "leadgen-empty" },
1610
- React__default.createElement("div", { className: "leadgen-empty_body" },
1611
- React__default.createElement("div", { className: "leadgen-empty_wrapper" },
1612
- React__default.createElement(EmptyIcon, { className: "leadgen-empty_image" }),
1613
- React__default.createElement("h5", { className: "leadgen-empty_title" }, t('lead.empty.title')))),
1614
- React__default.createElement("div", { className: "leadgen-empty_footer" },
1615
- React__default.createElement(Button$2, { onClick: onClose, size: "lg", variant: "default", fullWidth: false, className: "leadgen-btn leadgen-btn_empty_cancel" }, t('lead.empty.cancel')),
1616
- React__default.createElement(Button$2, { onClick: onContinue, size: "lg", variant: "filled", fullWidth: false, className: "leadgen-btn leadgen-btn_empty_again" }, t('lead.empty.submitAgain')))));
1617
- };
1618
-
1619
- const libraries = ['places'];
1620
- const GoogleLocationBlock = (props) => {
1621
- var _a;
1622
- const { inputWrapperOrder = ['label', 'input', 'description', 'error'], defaultValue, value: valueProps, onChange: onChangeProps, locale } = props, restProps = __rest(props, ["inputWrapperOrder", "defaultValue", "value", "onChange", "locale"]);
1623
- const [LoadScript, setLoadScript] = useState(null);
1624
- const [value, setValue] = useState(defaultValue || valueProps);
1625
- const { predictions } = usePlacesAutocomplete(value, '', locale === 'tl-PH' ? 'en' : (_a = locale === null || locale === void 0 ? void 0 : locale.split('-')) === null || _a === void 0 ? void 0 : _a[0]);
1626
- const onChangeAutocomplete = useCallback((s) => {
1627
- setValue(s);
1628
- onChangeProps === null || onChangeProps === void 0 ? void 0 : onChangeProps(s);
1629
- }, []);
1630
- const onClickItem = useCallback((item) => {
1631
- /** For sure get value */
1632
- setValue(item.value);
1633
- const predCur = predictions === null || predictions === void 0 ? void 0 : predictions.find(({ description }) => description === item.value);
1634
- onChangeProps === null || onChangeProps === void 0 ? void 0 : onChangeProps(item.value, predCur === null || predCur === void 0 ? void 0 : predCur.rawData);
1635
- }, [onChangeProps, predictions]);
1636
- useEffect(() => {
1637
- setValue(valueProps);
1638
- }, [valueProps]);
1639
- useEffect(() => {
1640
- var _a, _b, _c;
1641
- // only load extra google script when not yet loaded
1642
- 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) {
1643
- import('@react-google-maps/api').then((m) => {
1644
- setLoadScript(() => m.LoadScript);
1645
- });
1646
- }
1647
- }, []);
1648
- return (React__default.createElement(Autocomplete, Object.assign({ defaultValue: defaultValue, value: value, onChange: onChangeAutocomplete, data: predictions.map((pred) => {
1649
- return { value: pred.description, label: pred.description };
1650
- }), filter: () => true, onItemSubmit: onClickItem, inputWrapperOrder: inputWrapperOrder, zIndex: ZINDEX_SSO - 9e6 + 2, withinPortal: true, styles: { dropdown: { pointerEvents: 'auto' } }, inputContainer: (children) => {
1651
- return (React__default.createElement(React__default.Fragment, null,
1652
- LoadScript && (React__default.createElement(LoadScript, { googleMapsApiKey: GOOGLE_API_KEY, libraries: libraries, loadingElement: React__default.createElement(React__default.Fragment, null), style: { width: '100%' } })),
1653
- children));
1654
- } }, restProps)));
1493
+ }
1494
+ return (React__default.createElement(LeadGenSubscriptionBoxContext.Provider, { value: leadGenSubscriptionBoxValue },
1495
+ React__default.createElement(TranslationsContext.Provider, { value: translationContextValue }, children)));
1655
1496
  };
1656
1497
 
1657
1498
  // You can give context variables any name
1658
1499
  const [LeadFormProvider, useLeadFormContext, useLeadForm] = createFormContext();
1659
1500
  const useLeadFormConfig = ({ listBlockAdded = [], validatingPhoneRef, validatingEmailRef, campaignId, campaign_subot_id = [], userInfo, }) => {
1501
+ var _a;
1660
1502
  const { t } = useTranslations();
1661
1503
  const initialValues = useMemo(() => mappingSSOToLead(userInfo), [userInfo === null || userInfo === void 0 ? void 0 : userInfo.id]);
1504
+ const LEAD_LOCALE = LEAD_LOCALE_DATA[(_a = document === null || document === void 0 ? void 0 : document.documentElement) === null || _a === void 0 ? void 0 : _a.lang] ||
1505
+ LEAD_LOCALE_DATA['vi-VN'];
1662
1506
  const validateObj = useMemo(() => {
1663
1507
  const InputBlocks = [
1664
1508
  'TextBlock',
@@ -1821,9 +1665,28 @@ const useLeadFormConfig = ({ listBlockAdded = [], validatingPhoneRef, validating
1821
1665
  return { form, validateObj };
1822
1666
  };
1823
1667
 
1824
- const SubtitleBlock = ({ children, align, }) => (React__default.createElement("p", { className: `lead-modal__description ${'le-text-align-' + (align || '')} ${LEAD_CLASS}` }, children));
1668
+ const PhoneInput = forwardRef((props, ref) => {
1669
+ const { defaultCountry, id: idProps, name, placeholder, label, labelElement, labelProps, description, descriptionProps, withAsterisk, inputMode, inputContainer, inputWrapperOrder, error, className, classNames, style, styles } = props, restProps = __rest(props, ["defaultCountry", "id", "name", "placeholder", "label", "labelElement", "labelProps", "description", "descriptionProps", "withAsterisk", "inputMode", "inputContainer", "inputWrapperOrder", "error", "className", "classNames", "style", "styles"]);
1670
+ const id = idProps || v1() + name;
1671
+ return (React__default.createElement(Input$1.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 },
1672
+ React__default.createElement("div", { className: "mantine-Input-wrapper" },
1673
+ React__default.createElement(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" })))));
1674
+ });
1825
1675
 
1826
- const cssInputNotShrink = css `
1676
+ const StyledLeadGenFormInner = styled.div `
1677
+ display: flex;
1678
+ flex-wrap: wrap;
1679
+ gap: 8px;
1680
+ .leadgen-form_input {
1681
+ width: calc(50% - 4px);
1682
+ }
1683
+
1684
+ .leadgen-form_input_checkbox {
1685
+ width: 100%;
1686
+ }
1687
+ `;
1688
+
1689
+ const cssInputNotShrink$1 = css `
1827
1690
  height: 100% !important;
1828
1691
  min-height: calc(var(--container-height, 56px) * 22 / 56);
1829
1692
  color: ${theme.colors.gray800};
@@ -1841,13 +1704,13 @@ const cssInputNotShrink = css `
1841
1704
  color: ${theme.colors.gray400};
1842
1705
  }
1843
1706
  `;
1844
- const cssInputShrink = css `
1707
+ const cssInputShrink$1 = css `
1845
1708
  height: auto !important;
1846
1709
  cursor: text;
1847
1710
  opacity: 1;
1848
1711
  transition: 0.1s ease-in-out all;
1849
1712
  `;
1850
- const cssLabelNotShrink = css `
1713
+ const cssLabelNotShrink$1 = css `
1851
1714
  position: absolute;
1852
1715
  top: calc(var(--container-height) / 2);
1853
1716
  left: var(--space-x, 16px);
@@ -1861,7 +1724,7 @@ const cssLabelNotShrink = css `
1861
1724
  transform: translateY(-50%);
1862
1725
  transition: 0.125s ease-in all;
1863
1726
  `;
1864
- const cssLabelShrink = css `
1727
+ const cssLabelShrink$1 = css `
1865
1728
  color: ${theme.colors.gray600};
1866
1729
  font-weight: 600;
1867
1730
  font-size: var(--label-shrink, 12px);
@@ -1869,7 +1732,7 @@ const cssLabelShrink = css `
1869
1732
  transform: none;
1870
1733
  transition: 0.125s ease-out all;
1871
1734
  `;
1872
- const cssWrapperInputNotShrink = css `
1735
+ const cssWrapperInputNotShrink$1 = css `
1873
1736
  min-height: var(--container-height, 56px);
1874
1737
  display: flex;
1875
1738
  align-items: flex-end;
@@ -1893,19 +1756,19 @@ const cssWrapperInputNotShrink = css `
1893
1756
  border-color: ${theme.colors.gray200};
1894
1757
  }
1895
1758
  `;
1896
- const cssWrapperInputShrink = css `
1759
+ const cssWrapperInputShrink$1 = css `
1897
1760
  height: auto;
1898
1761
  min-height: var(--container-height, 56px);
1899
1762
  padding-block: var(--space-y-shrink, 7px);
1900
1763
  cursor: text;
1901
1764
  pointer-events: auto;
1902
1765
  `;
1903
- const cssInputWrapperError = css `
1766
+ const cssInputWrapperError$1 = css `
1904
1767
  color: ${theme.colors.red800};
1905
1768
  font-size: 12px;
1906
1769
  line-height: 1.5;
1907
1770
  `;
1908
- const StyledTextFieldContainer = styled.div `
1771
+ const StyledTextFieldContainer$1 = styled.div `
1909
1772
  --space-x: 16px;
1910
1773
  --space-y-not-shrink: 16px;
1911
1774
  --space-y-shrink: 7px;
@@ -1940,11 +1803,11 @@ const StyledTextFieldContainer = styled.div `
1940
1803
  }
1941
1804
 
1942
1805
  .mantine-InputWrapper-label {
1943
- ${cssLabelNotShrink}
1806
+ ${cssLabelNotShrink$1}
1944
1807
  }
1945
1808
 
1946
1809
  .mantine-Input-wrapper {
1947
- ${cssWrapperInputNotShrink}
1810
+ ${cssWrapperInputNotShrink$1}
1948
1811
 
1949
1812
  + .mantine-Popover-dropdown[data-position="bottom-start"] {
1950
1813
  left: 0 !important;
@@ -1957,17 +1820,17 @@ const StyledTextFieldContainer = styled.div `
1957
1820
  }
1958
1821
 
1959
1822
  .mantine-Input-input {
1960
- ${cssInputNotShrink}
1823
+ ${cssInputNotShrink$1}
1961
1824
  }
1962
1825
 
1963
1826
  &.textField_shrink,
1964
1827
  &:focus-within {
1965
1828
  .mantine-InputWrapper-label {
1966
- ${cssLabelShrink}
1829
+ ${cssLabelShrink$1}
1967
1830
  }
1968
1831
 
1969
1832
  .mantine-Input-wrapper {
1970
- ${cssWrapperInputShrink}
1833
+ ${cssWrapperInputShrink$1}
1971
1834
  &.mantine-Select-wrapper {
1972
1835
  .mantine-Select-rightSection {
1973
1836
  pointer-events: auto !important;
@@ -1976,7 +1839,7 @@ const StyledTextFieldContainer = styled.div `
1976
1839
  }
1977
1840
 
1978
1841
  .mantine-Input-input {
1979
- ${cssInputShrink}
1842
+ ${cssInputShrink$1}
1980
1843
  }
1981
1844
 
1982
1845
  &:has(.PhoneInput) {
@@ -2028,7 +1891,7 @@ const StyledTextFieldContainer = styled.div `
2028
1891
  }
2029
1892
  }
2030
1893
  `;
2031
- const StyledChoiceFieldContainer = styled.div `
1894
+ const StyledChoiceFieldContainer$1 = styled.div `
2032
1895
  &.leadgen-form_checkbox,
2033
1896
  &.leadgen-form_radio {
2034
1897
  width: 100%;
@@ -2069,6 +1932,9 @@ const StyledChoiceFieldContainer = styled.div `
2069
1932
  input[type='radio'],
2070
1933
  input[type='checkbox'] {
2071
1934
  border-color: ${theme.colors.primary600};
1935
+ + svg {
1936
+ color: ${theme.colors.primary600};
1937
+ }
2072
1938
  }
2073
1939
 
2074
1940
  input[type='radio'] {
@@ -2115,11 +1981,11 @@ const StyledChoiceFieldContainer = styled.div `
2115
1981
  }
2116
1982
 
2117
1983
  .mantine-InputWrapper-error {
2118
- ${cssInputWrapperError}
1984
+ ${cssInputWrapperError$1}
2119
1985
  }
2120
1986
  `;
2121
1987
 
2122
- const TextField = (props) => {
1988
+ const TextField$1 = (props) => {
2123
1989
  const { shrink: shrinkProps, onChangeShrink, className, children } = props, restProps = __rest(props, ["shrink", "onChangeShrink", "className", "children"]);
2124
1990
  const containerRef = useClickOutside(() => {
2125
1991
  if (shrinkProps) {
@@ -2139,12 +2005,1069 @@ const TextField = (props) => {
2139
2005
  const $focusEl = $textEl.item($textEl.length - 1);
2140
2006
  if ($focusEl) {
2141
2007
  $focusEl.focus();
2142
- $focusEl.scrollIntoView({
2143
- behavior: 'auto',
2144
- block: 'center',
2145
- inline: 'start',
2008
+ setTimeout(() => {
2009
+ $focusEl.scrollIntoView({
2010
+ behavior: 'auto',
2011
+ block: 'center',
2012
+ inline: 'start',
2013
+ });
2014
+ }, 100);
2015
+ }
2016
+ }, [shrink]);
2017
+ useEffect(() => {
2018
+ setShrink(shrinkProps);
2019
+ }, [shrinkProps]);
2020
+ return (React__default.createElement(StyledTextFieldContainer$1, Object.assign({ shrink: shrink, className: clsx(className, 'textField', { textField_shrink: !!shrink }) }, restProps),
2021
+ React__default.createElement("div", { ref: containerRef, onClick: onClick, className: "textField_wrapper" }, children)));
2022
+ };
2023
+ const ChoiceField$1 = (props) => {
2024
+ const { children, className } = props, restProps = __rest(props, ["children", "className"]);
2025
+ return (React__default.createElement(StyledChoiceFieldContainer$1, Object.assign({ className: clsx(className, 'choiceField') }, restProps), children));
2026
+ };
2027
+
2028
+ const libraries = ['places'];
2029
+ const GoogleLocationBlock = (props) => {
2030
+ var _a;
2031
+ const { inputWrapperOrder = ['label', 'input', 'description', 'error'], defaultValue, value: valueProps, onChange: onChangeProps, locale } = props, restProps = __rest(props, ["inputWrapperOrder", "defaultValue", "value", "onChange", "locale"]);
2032
+ const [LoadScript, setLoadScript] = useState(null);
2033
+ const [value, setValue] = useState(defaultValue || valueProps);
2034
+ const { predictions } = usePlacesAutocomplete(value, '', locale === 'tl-PH' ? 'en' : (_a = locale === null || locale === void 0 ? void 0 : locale.split('-')) === null || _a === void 0 ? void 0 : _a[0]);
2035
+ const onChangeAutocomplete = useCallback((s) => {
2036
+ setValue(s);
2037
+ onChangeProps === null || onChangeProps === void 0 ? void 0 : onChangeProps(s);
2038
+ }, []);
2039
+ const onClickItem = useCallback((item) => {
2040
+ /** For sure get value */
2041
+ setValue(item.value);
2042
+ const predCur = predictions === null || predictions === void 0 ? void 0 : predictions.find(({ description }) => description === item.value);
2043
+ onChangeProps === null || onChangeProps === void 0 ? void 0 : onChangeProps(item.value, predCur === null || predCur === void 0 ? void 0 : predCur.rawData);
2044
+ }, [onChangeProps, predictions]);
2045
+ useEffect(() => {
2046
+ setValue(valueProps);
2047
+ }, [valueProps]);
2048
+ useEffect(() => {
2049
+ var _a, _b, _c;
2050
+ // only load extra google script when not yet loaded
2051
+ 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) {
2052
+ import('@react-google-maps/api').then((m) => {
2053
+ setLoadScript(() => m.LoadScript);
2146
2054
  });
2147
2055
  }
2056
+ }, []);
2057
+ return (React__default.createElement(Autocomplete, Object.assign({ defaultValue: defaultValue, value: value, onChange: onChangeAutocomplete, data: predictions.map((pred) => {
2058
+ return { value: pred.description, label: pred.description };
2059
+ }), filter: () => true, onItemSubmit: onClickItem, inputWrapperOrder: inputWrapperOrder, zIndex: ZINDEX_SSO - 9e6 + 2, withinPortal: true, styles: { dropdown: { pointerEvents: 'auto' } }, inputContainer: (children) => {
2060
+ return (React__default.createElement(React__default.Fragment, null,
2061
+ LoadScript && (React__default.createElement(LoadScript, { googleMapsApiKey: GOOGLE_API_KEY, libraries: libraries, loadingElement: React__default.createElement(React__default.Fragment, null), style: { width: '100%' } })),
2062
+ children));
2063
+ } }, restProps)));
2064
+ };
2065
+
2066
+ const LEADGEN_ORDER_INPUT_WRAPPER = [
2067
+ 'label',
2068
+ 'input',
2069
+ 'description',
2070
+ 'error',
2071
+ ];
2072
+ const LeadGenForm = forwardRef((props, ref) => {
2073
+ const { locale, blocks, scrollToErrorField = true, form: formProps, rules: validate, initialValues, onFinish, onFinishFailed, className, style, } = props;
2074
+ const formRef = useRef(null);
2075
+ const form = formProps || useForm({ initialValues, validate });
2076
+ const middlewareFinish = (values, event) => {
2077
+ onFinish === null || onFinish === void 0 ? void 0 : onFinish(values, event);
2078
+ };
2079
+ const middlewareFinishFailed = (errors, values, events) => {
2080
+ if (scrollToErrorField && errors) {
2081
+ const firstErrorKey = Object.keys(errors)[0];
2082
+ const firstErrorElement = document.querySelector(`[name="${firstErrorKey}"]`);
2083
+ if (firstErrorElement && (firstErrorElement === null || firstErrorElement === void 0 ? void 0 : firstErrorElement.focus)) {
2084
+ setTimeout(() => {
2085
+ firstErrorElement === null || firstErrorElement === void 0 ? void 0 : firstErrorElement.focus();
2086
+ firstErrorElement.scrollIntoView({
2087
+ behavior: 'auto',
2088
+ block: 'center',
2089
+ inline: 'center',
2090
+ });
2091
+ }, 100);
2092
+ }
2093
+ }
2094
+ onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed(errors, values, events);
2095
+ };
2096
+ useEffect(() => {
2097
+ (() => __awaiter(void 0, void 0, void 0, function* () {
2098
+ if (!window.intlTelInputUtils) {
2099
+ yield require('intl-tel-input/build/js/utils');
2100
+ }
2101
+ }))();
2102
+ }, []);
2103
+ useImperativeHandle(ref, () => (Object.assign(Object.assign({}, form), { submit: () => formRef.current.requestSubmit() })), [form, formRef]);
2104
+ if (!blocks || !blocks.length) {
2105
+ return null;
2106
+ }
2107
+ return (React__default.createElement("form", { ref: formRef, onSubmit: form.onSubmit(middlewareFinish, middlewareFinishFailed), className: className, style: style },
2108
+ React__default.createElement(StyledLeadGenFormInner, { className: "leadgen-form_inputs" }, blocks.map((block, idx) => {
2109
+ const { id, name: blockName, data } = block;
2110
+ const { placeholder, value: name, required, listQuestion, valueHTML, isSendMailChimp = false, } = data;
2111
+ const formInputProps = form.getInputProps(name);
2112
+ const { value, error } = formInputProps;
2113
+ const reactKey = `${id}-${idx}`;
2114
+ switch (blockName) {
2115
+ case LEADGEN_BLOCK.TextBlock: {
2116
+ return (React__default.createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2117
+ React__default.createElement(TextInput, Object.assign({ name: name, spellCheck: false, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, type: "text", "data-control": "text" }, formInputProps))));
2118
+ }
2119
+ case LEADGEN_BLOCK.NumberBlock: {
2120
+ return (React__default.createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2121
+ React__default.createElement(NumberInput$1, Object.assign({ name: value, spellCheck: false, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, type: "number", "data-control": "number" }, formInputProps))));
2122
+ }
2123
+ case LEADGEN_BLOCK.EmailBlock: {
2124
+ return (React__default.createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2125
+ React__default.createElement(TextInput, Object.assign({ name: name, spellCheck: false, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, "data-control": "email" }, formInputProps))));
2126
+ }
2127
+ case LEADGEN_BLOCK.PhoneOtpBlock:
2128
+ case LEADGEN_BLOCK.WhatsappOtpBlock:
2129
+ case LEADGEN_BLOCK.ZaloOtpBlock:
2130
+ case LEADGEN_BLOCK.PhoneBlock: {
2131
+ return (React__default.createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2132
+ React__default.createElement(PhoneInput, Object.assign({ name: name, spellCheck: false, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, defaultCountry: (locale ? MAPPED_LOCALE[locale] || 'VN' : 'VN'), type: "text", "data-control": "text" }, formInputProps))));
2133
+ }
2134
+ case LEADGEN_BLOCK.LocationBlock: {
2135
+ return (React__default.createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2136
+ React__default.createElement(GoogleLocationBlock, Object.assign({ name: name, withAsterisk: required, label: placeholder, placeholder: placeholder, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, locale: locale, "data-control": "text" }, formInputProps))));
2137
+ }
2138
+ case LEADGEN_BLOCK.DateBlock: {
2139
+ return (React__default.createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2140
+ React__default.createElement(DateInput, Object.assign({ locale: (MAPPED_LOCALE === null || MAPPED_LOCALE === void 0 ? void 0 : MAPPED_LOCALE[locale]) || 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))));
2141
+ }
2142
+ case LEADGEN_BLOCK.DropdownBlock:
2143
+ return (React__default.createElement(TextField$1, { key: reactKey, shrink: !!value, className: "leadgen-form_input" },
2144
+ React__default.createElement("div", { style: { display: 'none' }, "data-extra": true, "data-name": value, "data-control": 'dropdown' }),
2145
+ React__default.createElement(Select$1, Object.assign({ name: name, withAsterisk: required, label: placeholder, placeholder: placeholder, data: listQuestion.map((l) => ({
2146
+ value: l.value,
2147
+ label: l.placeholder,
2148
+ })) }, formInputProps))));
2149
+ case LEADGEN_BLOCK.CheckboxBlock: {
2150
+ const formInputCheckboxProps = form.getInputProps(name, {
2151
+ type: 'checkbox',
2152
+ });
2153
+ return (React__default.createElement(ChoiceField$1, { className: "leadgen-form_input leadgen-form_input_checkbox", key: reactKey },
2154
+ isSendMailChimp && (React__default.createElement("div", { style: { display: 'none' }, "data-name": name + '-mailchimp' })),
2155
+ React__default.createElement(Checkbox$1.Group, Object.assign({ size: "md", withAsterisk: required, label: placeholder, value: value, sx: {
2156
+ display: 'flex',
2157
+ flexDirection: 'column',
2158
+ flexWrap: 'wrap',
2159
+ gap: 8,
2160
+ }, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, inputContainer: (children) => {
2161
+ return (React__default.createElement("div", { className: "leadgen-choiceContainer" }, children));
2162
+ } }, formInputCheckboxProps), listQuestion.map((l, _idx) => (React__default.createElement(Checkbox$1, { name: name, key: _idx, value: l.value, label: l.placeholder, "data-control": "checkbox" }))))));
2163
+ }
2164
+ case LEADGEN_BLOCK.RadioBlock: {
2165
+ return (React__default.createElement(ChoiceField$1, { className: "leadgen-form_input leadgen-form_input_checkbox", key: reactKey },
2166
+ isSendMailChimp && (React__default.createElement("div", { style: { display: 'none' }, "data-name": name + '-mailchimp' })),
2167
+ React__default.createElement(Radio$1.Group, Object.assign({ size: "md", withAsterisk: required, label: placeholder, value: value, spellCheck: true, inputWrapperOrder: LEADGEN_ORDER_INPUT_WRAPPER, inputContainer: (children) => {
2168
+ return (React__default.createElement("div", { className: "leadgen-choiceContainer" }, children));
2169
+ } }, formInputProps), listQuestion.map((l, _index) => (React__default.createElement(Radio$1, { name: name, key: _index, value: l.value, label: l.placeholder, "data-control": "radio" }))))));
2170
+ }
2171
+ case 'TncBlock':
2172
+ return (React__default.createElement(ChoiceField$1, { className: "leadgen-form_input leadgen-form_input_checkbox", key: reactKey },
2173
+ React__default.createElement(Input$1.Wrapper, { error: error },
2174
+ React__default.createElement(Checkbox$1, Object.assign({ value: value, name: 'TNC-' + id, label: React__default.createElement("p", { className: "lead-modal__tnc-link", dangerouslySetInnerHTML: { __html: valueHTML } }), className: "tnc-block", "data-control": "checkbox" }, formInputProps)))));
2175
+ default: {
2176
+ return null;
2177
+ }
2178
+ }
2179
+ }))));
2180
+ });
2181
+
2182
+ const StyledLeadGenThankYou = styled.div `
2183
+ display: flex;
2184
+ gap: 8px;
2185
+ flex-direction: column;
2186
+ padding-block: 24px;
2187
+
2188
+ .leadgen-image {
2189
+ width: 120px;
2190
+ height: 120px;
2191
+ margin-inline: auto;
2192
+ object-fit: contain;
2193
+ object-position: center;
2194
+ text-align: center;
2195
+ }
2196
+
2197
+ .leadgen-title {
2198
+ margin-block: 0;
2199
+ color: ${theme.colors.gray900};
2200
+ font-weight: 700;
2201
+ font-size: 18px;
2202
+ line-height: 28px;
2203
+ letter-spacing: -0.2px;
2204
+ }
2205
+
2206
+ .leadgen-description {
2207
+ margin-block: 0;
2208
+ color: ${theme.colors.gray600};
2209
+ font-weight: 400;
2210
+ font-size: 14px;
2211
+ line-height: 22px;
2212
+ letter-spacing: -0.2px;
2213
+ text-align: center;
2214
+ }
2215
+
2216
+ > [data-align] {
2217
+ &[data-align='right'] {
2218
+ text-align: right;
2219
+ }
2220
+ &[data-align='center'] {
2221
+ text-align: center;
2222
+ }
2223
+ }
2224
+ `;
2225
+ const LeadGenThankYou = ({ image, title, description, showButton = false, button, className, style, }) => {
2226
+ const { src } = image;
2227
+ const { htmlText: titleText, align: titleAlign } = title;
2228
+ const { htmlText: descriptionText, align: descriptionAlign } = description;
2229
+ const { htmlText: buttonText, newtab, url, onClick } = button;
2230
+ return (React__default.createElement(StyledLeadGenThankYou, { className: className, style: style },
2231
+ React__default.createElement("img", { src: src, alt: "", className: "leadgen-thankyou_image leadgen-image" }),
2232
+ React__default.createElement("p", { className: "leadgen-thankyou_title leadgen-title", "data-align": titleAlign }, titleText),
2233
+ React__default.createElement("p", { className: "leadgen-thankyou_description leadgen-description", "data-align": descriptionAlign }, descriptionText),
2234
+ !!buttonText && showButton && (React__default.createElement(Button$2, { component: url ? 'a' : 'button', target: newtab ? '_blank' : undefined, href: url, size: "lg", variant: "filled", className: "leadgen-thankyoue_btn leadgen-btn", onClick: onClick }, buttonText))));
2235
+ };
2236
+
2237
+ const StyledLeadGenSubscriptionBoxBody = styled.div `
2238
+ margin-top: 16px;
2239
+ .leadgen-btn {
2240
+ margin-top: 16px;
2241
+ }
2242
+ `;
2243
+ const StyledLeadGenSubscriptionBoxHeaderImage = styled.div `
2244
+ margin-top: 3px;
2245
+ margin-right: 20px;
2246
+ width: 44px;
2247
+ height: 44px;
2248
+
2249
+ img {
2250
+ width: 100%;
2251
+ height: 100%;
2252
+ object-fix: contain;
2253
+ onject-position: center;
2254
+ }
2255
+
2256
+ :has(img[src='']) {
2257
+ display: none;
2258
+ }
2259
+ `;
2260
+ const StyledLeadGenSubscriptionBoxHeader = styled.div `
2261
+ display: flex;
2262
+ align-items: center;
2263
+ margin-bottom: 16px;
2264
+ .leadgen-title {
2265
+ margin-bottom: 0;
2266
+ flex: 1;
2267
+ min-width: 0;
2268
+ color: ${theme.colors.gray900};
2269
+ font-size: 18px;
2270
+ font-weight: 600;
2271
+ line-height: 1.4;
2272
+ letter-spacing: -0.8px;
2273
+ }
2274
+ `;
2275
+ const StyledLeadGenSubscriptionBox = styled.div `
2276
+ padding: 16px;
2277
+ border: 1px solid ${theme.colors.neutral100};
2278
+ border-radius: 12px;
2279
+ margin-inline: auto;
2280
+ .leadgen-form_inputs {
2281
+ .leadgen-form_input {
2282
+ width: 100%;
2283
+ }
2284
+ }
2285
+
2286
+ .leadgen-form_input {
2287
+ .mantine-Input-wrapper {
2288
+ max-height: 56px;
2289
+ }
2290
+ }
2291
+
2292
+ @media screen and (min-width: 768px) {
2293
+ .leadgen-subscription_box_body {
2294
+ display: flex;
2295
+ > form {
2296
+ flex: 1;
2297
+ min-width: 0;
2298
+
2299
+ .leadgen-form_inputs {
2300
+ .leadgen-form_input {
2301
+ width: calc(50% - 4px);
2302
+ }
2303
+ }
2304
+ }
2305
+
2306
+ .leadgen-btn {
2307
+ margin-top: 0;
2308
+ margin-left: 8px;
2309
+ width: auto;
2310
+ min-height: 56px;
2311
+ }
2312
+ }
2313
+ }
2314
+ `;
2315
+ const LeadGenSubscriptionBoxWithoutMemo = ({ locale, userInfo, siteId, siteDomain, forceCampaign, campaign_code, article_id, subscription_title: subscriptionTitleProps, }) => {
2316
+ var _a, _b, _c;
2317
+ const refContainer = useRef(null);
2318
+ const validatingEmailRef = useRef(false);
2319
+ const validatingPhoneRef = useRef(false);
2320
+ const { image, extra_fields, id: campaign_id, bot_id: campaign_subot_id = [], ThankYouBlock, } = forceCampaign || {};
2321
+ const { textBlocks, listBlockAdded, actionBlocks } = extra_fields || {};
2322
+ const { submitBlock } = actionBlocks || {};
2323
+ const [loading, setLoading] = useState(false);
2324
+ const [showThankyou, setShowThankyou] = useState(false);
2325
+ const formRef = useRef(null);
2326
+ const { form, validateObj } = useLeadFormConfig({
2327
+ listBlockAdded,
2328
+ campaignId: campaign_id,
2329
+ campaign_subot_id,
2330
+ validatingEmailRef,
2331
+ validatingPhoneRef,
2332
+ userInfo,
2333
+ });
2334
+ const subscription_title = 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]);
2335
+ const { image: thankyouImage, title: thankyouTitle, description: thankyouDescription, button: thankyouButton, } = ThankYouBlock || {};
2336
+ const { apiUrl } = useMemo(() => {
2337
+ let apiUrl = leadStore.apiLeadUrl;
2338
+ if (apiUrl.includes('localhost')) {
2339
+ apiUrl = 'https://dev.leadgen.hellobacsi.com/';
2340
+ }
2341
+ return {
2342
+ apiUrl,
2343
+ };
2344
+ }, [siteDomain, siteId]);
2345
+ const url = useMemo(() => location.href.toLowerCase() || '', []);
2346
+ const article_title = useMemo(() => document.title || '', []);
2347
+ const cookie_id = useMemo(() => getCookie('hhg-id') || null, []);
2348
+ const ga_client_id = useMemo(() => getCookie('_ga') || null, []);
2349
+ const leadgenImpression = useCallback(() => {
2350
+ Service.campaignPostImpression({
2351
+ url,
2352
+ action: LEADGEN_ACTIONS.SCROLL,
2353
+ code: campaign_code,
2354
+ title_article: article_title,
2355
+ cookie_id,
2356
+ ga_client_id,
2357
+ extra: { cookie_id, article_id, subscription_title },
2358
+ });
2359
+ }, [
2360
+ article_id,
2361
+ article_title,
2362
+ cookie_id,
2363
+ ga_client_id,
2364
+ campaign_code,
2365
+ subscription_title,
2366
+ ]);
2367
+ const intersectionObserverCallback = useCallback((entries) => {
2368
+ entries.forEach((entry) => {
2369
+ const { isIntersecting, target } = entry;
2370
+ if (isIntersecting && target === refContainer.current) {
2371
+ leadgenImpression();
2372
+ }
2373
+ });
2374
+ }, [leadgenImpression]);
2375
+ const IObserver = new IntersectionObserver(intersectionObserverCallback);
2376
+ const middlewareOnSubmit = useCallback((value) => __awaiter(void 0, void 0, void 0, function* () {
2377
+ const newValue = {
2378
+ url,
2379
+ article_title,
2380
+ cookie_id,
2381
+ ga_client_id,
2382
+ article_id,
2383
+ campaign_id,
2384
+ campaign_code,
2385
+ subscription_title: subscription_title,
2386
+ };
2387
+ listBlockAdded.forEach(({ data: { value: k } }) => {
2388
+ newValue[k] = value[k];
2389
+ });
2390
+ setLoading(true);
2391
+ try {
2392
+ const { _data } = (yield Service.campaignPostLead({ data: newValue })) || {};
2393
+ const { model } = _data;
2394
+ if (model && model.id) {
2395
+ setShowThankyou(true);
2396
+ }
2397
+ }
2398
+ catch (error) {
2399
+ console.log('** Error : ', error);
2400
+ }
2401
+ setLoading(false);
2402
+ }), [
2403
+ url,
2404
+ article_id,
2405
+ article_title,
2406
+ cookie_id,
2407
+ ga_client_id,
2408
+ campaign_code,
2409
+ subscription_title,
2410
+ listBlockAdded,
2411
+ ]);
2412
+ useEffect(() => {
2413
+ if (refContainer.current) {
2414
+ IObserver.observe(refContainer.current);
2415
+ }
2416
+ return () => {
2417
+ IObserver.disconnect();
2418
+ };
2419
+ }, [
2420
+ url,
2421
+ article_id,
2422
+ article_title,
2423
+ ga_client_id,
2424
+ campaign_id,
2425
+ campaign_code,
2426
+ subscription_title,
2427
+ ]);
2428
+ return (React__default.createElement("div", { ref: refContainer },
2429
+ React__default.createElement(StyledLeadGenSubscriptionBox, null,
2430
+ showThankyou && (React__default.createElement(LeadGenThankYou, { image: Object.assign(Object.assign({}, thankyouImage), { src: thankyouImage.src || `${apiUrl}admin/img/thanksyou.png` }), title: thankyouTitle, description: thankyouDescription, button: thankyouButton })),
2431
+ !showThankyou && (React__default.createElement(React__default.Fragment, null,
2432
+ React__default.createElement(StyledLeadGenSubscriptionBoxHeader, null,
2433
+ !!image && (React__default.createElement(StyledLeadGenSubscriptionBoxHeaderImage, null,
2434
+ React__default.createElement("img", { src: image, alt: "" }))),
2435
+ React__default.createElement("p", { className: "leadgen-title" }, subscription_title)),
2436
+ React__default.createElement(StyledLeadGenSubscriptionBoxBody, { className: "leadgen-subscription_box_body" },
2437
+ React__default.createElement(LeadGenForm, { ref: formRef, form: form, rules: validateObj, blocks: listBlockAdded, locale: locale, onFinish: middlewareOnSubmit }),
2438
+ React__default.createElement(Button$2, { 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)))))));
2439
+ };
2440
+ const LeadGenSubscriptionBoxWithMemo = memo(LeadGenSubscriptionBoxWithoutMemo);
2441
+
2442
+ const Container = () => {
2443
+ const context = useContext(LeadGenSubscriptionBoxContext);
2444
+ const {
2445
+ // apiUrl: apiUrlProps,
2446
+ // apiSubotUrl,
2447
+ campaign_code, article_id, subscription_title, locale, siteId, siteDomain, userInfo, forceCampaign, } = context;
2448
+ if (!forceCampaign || !(forceCampaign === null || forceCampaign === void 0 ? void 0 : forceCampaign.id)) {
2449
+ return null;
2450
+ }
2451
+ return (React__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 }));
2452
+ };
2453
+ Container.displayName = 'LeadGenSubscriptionBox';
2454
+ const LeadGenSubscriptionBoxContainer = (props) => {
2455
+ const { campaign_code } = props;
2456
+ if (!campaign_code) {
2457
+ return null;
2458
+ }
2459
+ return (React__default.createElement(LeadGenSubscriptionBoxProvider, Object.assign({}, props),
2460
+ React__default.createElement(Container, null)));
2461
+ };
2462
+ const LeadGenSubscriptionBox = LeadGenSubscriptionBoxContainer;
2463
+
2464
+ const useImageSize = (src) => {
2465
+ const [width, setWidth] = useState(16);
2466
+ const [height, setHeight] = useState(9);
2467
+ const [loaded, setLoaded] = useState(false);
2468
+ // load src image to get its width and height
2469
+ useEffect(() => {
2470
+ setLoaded(false);
2471
+ if (src) {
2472
+ const img = new Image();
2473
+ img.addEventListener('load', () => {
2474
+ setWidth(img.naturalWidth);
2475
+ setHeight(img.naturalHeight);
2476
+ setLoaded(true);
2477
+ });
2478
+ img.addEventListener('error', () => {
2479
+ setWidth(16);
2480
+ setHeight(9);
2481
+ setLoaded(true);
2482
+ });
2483
+ img.src = src;
2484
+ }
2485
+ else {
2486
+ setWidth(16);
2487
+ setHeight(9);
2488
+ setLoaded(true);
2489
+ }
2490
+ }, [src]);
2491
+ return {
2492
+ loaded,
2493
+ width,
2494
+ height,
2495
+ };
2496
+ };
2497
+
2498
+ const CloseButton = ({ onClose, containerClassName, svgClassName, }) => (React__default.createElement("button", { onClick: onClose, className: `le-newbuilder-close-button js-modal__close ${containerClassName || ''}` },
2499
+ React__default.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", className: svgClassName },
2500
+ React__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" }))));
2501
+
2502
+ // url: imageBlocks.imageMobile.data.url
2503
+ // newTab: imageBlocks.imageMobile.data.newtab
2504
+ // imageMobile: campaignShow.image
2505
+ // imageDestkop: campaignShow.image_desktop
2506
+ const CenterTabLayout = ({ popupId, url, newTab, imageDestkop, imageMobile, onClose, onOtherSubmit, }) => {
2507
+ const { width: imageMobileWidth, height: imageMobileHeight, loaded: imageMobileLoaded, } = useImageSize(imageMobile);
2508
+ const { width: imageDestkopWidth, height: imageDestkopHeight, loaded: imageDestkopLoaded, } = useImageSize(imageDestkop);
2509
+ if (!imageMobileLoaded || !imageDestkopLoaded)
2510
+ return null;
2511
+ return (React__default.createElement("div", { id: popupId, className: "lead-modal-wrapper", "data-popup-url": location.pathname, "data-popup-type": "center_tab" },
2512
+ React__default.createElement("div", { className: "le-center-tab-popup" },
2513
+ React__default.createElement("div", { style: { position: 'relative' } },
2514
+ React__default.createElement("a", { className: "js-popup-other-submit", href: url, target: newTab ? 'blank' : '_parent', onClick: onOtherSubmit },
2515
+ isVideo(imageMobile) ? (React__default.createElement("video", { loop: true, muted: true, autoPlay: true, className: "le-only-mobile" },
2516
+ React__default.createElement("source", { src: imageMobile }))) : (React__default.createElement("img", { className: "le-only-mobile", src: imageMobile, style: {
2517
+ aspectRatio: `${imageMobileWidth}/${imageMobileHeight}`,
2518
+ } })),
2519
+ isVideo(imageDestkop) ? (React__default.createElement("video", { loop: true, muted: true, autoPlay: true, className: "le-only-desktop" },
2520
+ React__default.createElement("source", { src: imageDestkop }))) : (React__default.createElement("img", { className: "le-only-desktop", src: imageDestkop, style: {
2521
+ aspectRatio: `${imageDestkopWidth}/${imageDestkopHeight}`,
2522
+ } }))),
2523
+ React__default.createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" })))));
2524
+ };
2525
+
2526
+ // title: titleText
2527
+ // titleAlign: textBlocks.titleBlock.data.align
2528
+ // subtitle: textBlocks.subtitleBlock.data.value
2529
+ // subtitleAlign: textBlocks.subtitleBlock.data.align
2530
+ // url: actionBlocks.linkButtonBlock.data.url
2531
+ // urlText: actionBlocks.linkButtonBlock.data.value
2532
+ // newTab: actionBlocks.linkButtonBlock.data.newtab
2533
+ // imageMobile: campaignShow.image
2534
+ // imageDesktop: campaignShow.image_desktop
2535
+ const FloatingLayout = ({ popupId, url, title, urlText, titleAlign, subtitle, subtitleAlign, newTab, imageDesktop, imageMobile, onClose, onOtherSubmit, }) => {
2536
+ const { width: imageMobileWidth, height: imageMobileHeight, loaded: imageMobileLoaded, } = useImageSize(imageMobile);
2537
+ const { width: imageDesktopWidth, height: imageDesktopHeight, loaded: imageDesktopLoaded, } = useImageSize(imageDesktop);
2538
+ if (!imageMobileLoaded || !imageDesktopLoaded)
2539
+ return null;
2540
+ return (React__default.createElement("div", { id: popupId, className: "lead-modal-wrapper lead-floating-wrapper", "data-popup-url": location.pathname, "data-popup-type": "floating" },
2541
+ React__default.createElement("aside", { className: "le-only-desktop" },
2542
+ React__default.createElement("div", { className: "le-floating-desktop" },
2543
+ React__default.createElement("div", { className: "le-floating-desktop-wrap", style: { position: 'relative', background: '#fff' } },
2544
+ imageDesktop ? (React__default.createElement("div", null,
2545
+ React__default.createElement("img", { style: {
2546
+ maxWidth: 120,
2547
+ borderTopLeftRadius: 5,
2548
+ borderBottomLeftRadius: 5,
2549
+ aspectRatio: `${imageDesktopWidth}/${imageDesktopHeight}`,
2550
+ }, src: imageDesktop }))) : null,
2551
+ React__default.createElement("div", { style: { padding: 20 } },
2552
+ React__default.createElement("div", { className: `le-floating-desktop-title le-text-align-${titleAlign}` }, title),
2553
+ React__default.createElement("div", { className: `le-floating-desktop-desc le-text-align-${subtitleAlign}` }, subtitle)),
2554
+ React__default.createElement("a", { target: newTab ? 'blank' : '_parent', style: { marginLeft: 35, textDecoration: 'none' }, href: url },
2555
+ React__default.createElement("button", { className: "le-joinbow-floating-btn js-popup-other-submit", onClick: onOtherSubmit }, urlText)),
2556
+ React__default.createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" })))),
2557
+ React__default.createElement("aside", { className: "le-only-mobile" },
2558
+ React__default.createElement("div", { className: "le-floating-mobile" },
2559
+ React__default.createElement("div", { className: "le-floating-mobile-wrap", style: { position: 'relative', background: '#fff' } },
2560
+ React__default.createElement("aside", { style: { display: 'flex', justifyContent: 'space-between' } },
2561
+ React__default.createElement("div", null,
2562
+ React__default.createElement("div", { className: `le-floating-mobile-title le-text-align-${titleAlign}` }, title),
2563
+ React__default.createElement("div", { className: `le-floating-mobile-desc le-text-align-${subtitleAlign}` }, subtitle)),
2564
+ imageMobile ? (React__default.createElement("div", null,
2565
+ React__default.createElement("img", { style: {
2566
+ marginLeft: 15,
2567
+ marginTop: 4,
2568
+ maxWidth: 100,
2569
+ aspectRatio: `${imageMobileWidth}/${imageMobileHeight}`,
2570
+ }, src: imageMobile }))) : null),
2571
+ React__default.createElement("div", { style: { textAlign: 'center', marginTop: 10 } },
2572
+ React__default.createElement("a", { target: newTab ? 'blank' : '_parent', href: url, style: { textDecoration: 'none' } },
2573
+ React__default.createElement("button", { className: "le-joinbow-floating-btn js-popup-other-submit", onClick: onOtherSubmit }, urlText))),
2574
+ React__default.createElement(CloseButton, { onClose: onClose, containerClassName: "close-button-top-right" }))))));
2575
+ };
2576
+
2577
+ const ThankyouPopup = ({ title, titleAlign, subtitle, subtitleAlign, link, linkNewTab, linkText, image, }) => {
2578
+ const { width: imageWidth, height: imageHeight, loaded: imageLoaded, } = useImageSize(image);
2579
+ if (!imageLoaded)
2580
+ return null;
2581
+ return (React__default.createElement("div", { className: "lead-modal__thank-you leadgen-inner_thankyou" },
2582
+ React__default.createElement("div", { style: { width: '100%' } },
2583
+ React__default.createElement("img", { src: image, style: {
2584
+ maxHeight: 162,
2585
+ objectFit: 'cover',
2586
+ aspectRatio: `${imageWidth}/${imageHeight}`,
2587
+ }, loading: "lazy" }),
2588
+ title && (React__default.createElement("h1", { className: `le-thankyou-title le-text-align-${titleAlign}` }, title)),
2589
+ subtitle && (React__default.createElement("p", { className: `le-thankyou-subtitle le-text-align-${subtitleAlign}` }, subtitle.split('\n').map((text, idx, list) => {
2590
+ const isShowBr = idx < list.length - 1;
2591
+ return (React__default.createElement(React__default.Fragment, null,
2592
+ text,
2593
+ isShowBr && React__default.createElement("br", null)));
2594
+ }))),
2595
+ linkText && (React__default.createElement("div", null,
2596
+ React__default.createElement("a", { href: link, target: linkNewTab ? '_blank' : 'parrent', rel: "noreferrer" },
2597
+ React__default.createElement("button", { className: `lead-modal__btn ${LEAD_CLASS}` }, linkText)))))));
2598
+ };
2599
+
2600
+ const InlineLayout = ({ content, inlinePosition, }) => {
2601
+ const target = useMemo(() => {
2602
+ if (!inlinePosition)
2603
+ return null;
2604
+ const parents = document.querySelectorAll(`[data-url="${location.pathname}"] .body-content`);
2605
+ const allChildren = Array.from(parents).reduce((r, p) => {
2606
+ return [...r, ...Array.from(p.children)];
2607
+ }, []);
2608
+ if (allChildren === null || allChildren === void 0 ? void 0 : allChildren.length) {
2609
+ // find the third p tag in the body content, some other tags might mix in between
2610
+ const allPTags = allChildren.filter((c) => c.nodeName === 'P');
2611
+ const allH2Tags = allChildren.filter((c) => c.nodeName === 'H2');
2612
+ let target = null;
2613
+ switch (inlinePosition) {
2614
+ case '1th':
2615
+ target = allPTags[0];
2616
+ break;
2617
+ case '2th':
2618
+ target = allPTags[1];
2619
+ break;
2620
+ case '3th':
2621
+ target = allPTags[2];
2622
+ break;
2623
+ case '4th':
2624
+ target = allPTags[3];
2625
+ break;
2626
+ case '5th':
2627
+ target = allPTags[4];
2628
+ break;
2629
+ case '6th':
2630
+ target = allPTags[5];
2631
+ break;
2632
+ case '7th':
2633
+ target = allPTags[6];
2634
+ break;
2635
+ case '8th':
2636
+ target = allPTags[7];
2637
+ break;
2638
+ case '9th':
2639
+ target = allPTags[8];
2640
+ break;
2641
+ case '10th':
2642
+ target = allPTags[9];
2643
+ break;
2644
+ case '11th':
2645
+ target = allPTags[10];
2646
+ break;
2647
+ case '12th':
2648
+ target = allPTags[11];
2649
+ break;
2650
+ case 'lastP':
2651
+ target = allPTags[allPTags.length - 1];
2652
+ break;
2653
+ case '1thH2':
2654
+ target = allH2Tags[0];
2655
+ break;
2656
+ case '2thH2':
2657
+ target = allH2Tags[1];
2658
+ break;
2659
+ case '3thH2':
2660
+ target = allH2Tags[2];
2661
+ break;
2662
+ case '4thH2':
2663
+ target = allH2Tags[3];
2664
+ break;
2665
+ case '5thH2':
2666
+ target = allH2Tags[4];
2667
+ break;
2668
+ case '6thH2':
2669
+ target = allH2Tags[5];
2670
+ break;
2671
+ case '7thH2':
2672
+ target = allH2Tags[6];
2673
+ break;
2674
+ case '8thH2':
2675
+ target = allH2Tags[7];
2676
+ break;
2677
+ case '9thH2':
2678
+ target = allH2Tags[8];
2679
+ break;
2680
+ case '10thH2':
2681
+ target = allH2Tags[9];
2682
+ break;
2683
+ case 'lastH2':
2684
+ target = allH2Tags[allH2Tags.length - 1];
2685
+ break;
2686
+ }
2687
+ if (target) {
2688
+ if (!target.parentElement.querySelector('.inline-lead-wrapper')) {
2689
+ const wrapper = document.createElement('div');
2690
+ wrapper.classList.add('inline-lead-wrapper');
2691
+ if (target.nextElementSibling) {
2692
+ target.parentElement.insertBefore(wrapper, target.nextElementSibling);
2693
+ }
2694
+ else {
2695
+ target.parentElement.appendChild(wrapper);
2696
+ }
2697
+ return wrapper;
2698
+ }
2699
+ else {
2700
+ return target.parentElement.querySelector('.inline-lead-wrapper');
2701
+ }
2702
+ }
2703
+ }
2704
+ }, [inlinePosition]);
2705
+ if (!inlinePosition || !target)
2706
+ return null;
2707
+ return createPortal(content, target);
2708
+ };
2709
+
2710
+ const SideBarLayout = ({ content }) => {
2711
+ const targets = useMemo(() => {
2712
+ const targetDoms = Array.from(document.querySelectorAll('.hc2-sidebar-with-ads,.page-main-col .right-col.f-right,.hhg-lead-sidebar'));
2713
+ targetDoms.forEach((dom) => {
2714
+ if (dom.querySelector('.sidebar-lead-modal-wrapper'))
2715
+ return;
2716
+ const wrapper = document.createElement('div');
2717
+ wrapper.classList.add('sidebar-lead-modal-wrapper');
2718
+ dom.prepend(wrapper);
2719
+ });
2720
+ return targetDoms.map((d) => d.querySelector('.sidebar-lead-modal-wrapper'));
2721
+ }, []);
2722
+ return (React__default.createElement(React__default.Fragment, null, targets.map((target) => createPortal(content, getWrapperDomWithSelector(target, 'sidebar-lead-modal-wrapper')))));
2723
+ };
2724
+
2725
+ const EmptyIcon = (props) => {
2726
+ const { className, style } = props;
2727
+ return (React__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 },
2728
+ React__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" }),
2729
+ React__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" }),
2730
+ React__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" })));
2731
+ };
2732
+
2733
+ const EmptyComponent = ({ onClose, onContinue, }) => {
2734
+ const { t } = useTranslations();
2735
+ return (React__default.createElement("div", { className: "leadgen-empty" },
2736
+ React__default.createElement("div", { className: "leadgen-empty_body" },
2737
+ React__default.createElement("div", { className: "leadgen-empty_wrapper" },
2738
+ React__default.createElement(EmptyIcon, { className: "leadgen-empty_image" }),
2739
+ React__default.createElement("h5", { className: "leadgen-empty_title" }, t('lead.empty.title')))),
2740
+ React__default.createElement("div", { className: "leadgen-empty_footer" },
2741
+ React__default.createElement(Button$2, { onClick: onClose, size: "lg", variant: "default", fullWidth: false, className: "leadgen-btn leadgen-btn_empty_cancel" }, t('lead.empty.cancel')),
2742
+ React__default.createElement(Button$2, { onClick: onContinue, size: "lg", variant: "filled", fullWidth: false, className: "leadgen-btn leadgen-btn_empty_again" }, t('lead.empty.submitAgain')))));
2743
+ };
2744
+
2745
+ const SubtitleBlock = ({ children, align, }) => (React__default.createElement("p", { className: `lead-modal__description ${'le-text-align-' + (align || '')} ${LEAD_CLASS}` }, children));
2746
+
2747
+ const cssInputNotShrink = css `
2748
+ height: 100% !important;
2749
+ min-height: calc(var(--container-height, 56px) * 22 / 56);
2750
+ color: ${theme.colors.gray800};
2751
+ font-size: var(--input, 16px);
2752
+ line-height: calc(var(--container-height, 56px) * 22 / 56);
2753
+ border: none !important;
2754
+ border-radius: 0 !important;
2755
+ outline: none !important;
2756
+ box-shadow: none !important;
2757
+ padding: 0;
2758
+ cursor: pointer;
2759
+ opacity: 0;
2760
+
2761
+ ::placeholder {
2762
+ color: ${theme.colors.gray400};
2763
+ }
2764
+ `;
2765
+ const cssInputShrink = css `
2766
+ height: auto !important;
2767
+ cursor: text;
2768
+ opacity: 1;
2769
+ transition: 0.1s ease-in-out all;
2770
+ `;
2771
+ const cssLabelNotShrink = css `
2772
+ position: absolute;
2773
+ top: calc(var(--container-height) / 2);
2774
+ left: var(--space-x, 16px);
2775
+ color: ${theme.colors.gray400};
2776
+ font-size: var(--label-not-shrink, 16px);
2777
+ font-weight: 400;
2778
+ line-height: calc(var(--container-height, 56px) * 18 / 56);
2779
+ margin: 0;
2780
+ z-index: 1;
2781
+ cursor: pointer;
2782
+ transform: translateY(-50%);
2783
+ transition: 0.125s ease-in all;
2784
+ `;
2785
+ const cssLabelShrink = css `
2786
+ color: ${theme.colors.gray600};
2787
+ font-weight: 600;
2788
+ font-size: var(--label-shrink, 12px);
2789
+ top: calc(var(--container-height) * 7 / 56);
2790
+ transform: none;
2791
+ transition: 0.125s ease-out all;
2792
+ `;
2793
+ const cssWrapperInputNotShrink = css `
2794
+ min-height: var(--container-height, 56px);
2795
+ display: flex;
2796
+ align-items: flex-end;
2797
+ border: 1px solid ${theme.colors.gray200};
2798
+ border-radius: 8px;
2799
+ background-color: #fff;
2800
+ padding-inline: var(--space-x, 16px);
2801
+ padding-block: var(--space-y-not-shrink, 16px);
2802
+ cursor: pointer;
2803
+ pointer-events: none;
2804
+
2805
+ &:has(.mantine-Input-rightSection) {
2806
+ padding-right: var(--container-height, 56px);
2807
+ }
2808
+
2809
+ .mantine-Input-icon {
2810
+ display: none;
2811
+ }
2812
+
2813
+ .mantine-NumberInput-control {
2814
+ border-color: ${theme.colors.gray200};
2815
+ }
2816
+ `;
2817
+ const cssWrapperInputShrink = css `
2818
+ height: auto;
2819
+ min-height: var(--container-height, 56px);
2820
+ padding-block: var(--space-y-shrink, 7px);
2821
+ cursor: text;
2822
+ pointer-events: auto;
2823
+ `;
2824
+ const cssInputWrapperError = css `
2825
+ color: ${theme.colors.red800};
2826
+ font-size: 12px;
2827
+ line-height: 1.5;
2828
+ `;
2829
+ const StyledTextFieldContainer = styled.div `
2830
+ --space-x: 16px;
2831
+ --space-y-not-shrink: 16px;
2832
+ --space-y-shrink: 7px;
2833
+ --container-height: 56px;
2834
+ --label-not-shrink: 16px;
2835
+ --label-shrink: 12px;
2836
+ --input: 16px;
2837
+
2838
+ position: relative;
2839
+ min-width: 100px;
2840
+ max-width: 100%;
2841
+ display: inline-block;
2842
+
2843
+ .textField_wrapper {
2844
+ display: inline-block;
2845
+ width: 100%;
2846
+ cursor: pointer;
2847
+ }
2848
+
2849
+ .mantine-InputWrapper-root {
2850
+ &[data-invalid='true'] {
2851
+ .mantine-Input-wrapper {
2852
+ border-color: ${theme.colors.red400};
2853
+ }
2854
+ }
2855
+
2856
+ .mantine-Input-wrapper {
2857
+ &:has([data-invalid]) {
2858
+ border-color: ${theme.colors.red400};
2859
+ }
2860
+ }
2861
+ }
2862
+
2863
+ .mantine-InputWrapper-label {
2864
+ ${cssLabelNotShrink}
2865
+ }
2866
+
2867
+ .mantine-Input-wrapper {
2868
+ ${cssWrapperInputNotShrink}
2869
+
2870
+ + .mantine-Popover-dropdown[data-position="bottom-start"] {
2871
+ left: 0 !important;
2872
+ }
2873
+ + .mantine-Popover-dropdown[data-position='top-start'] {
2874
+ top: unset !important;
2875
+ left: 0 !important;
2876
+ bottom: 100% !important;
2877
+ }
2878
+ }
2879
+
2880
+ .mantine-Input-input {
2881
+ ${cssInputNotShrink}
2882
+ }
2883
+
2884
+ &.textField_shrink,
2885
+ &:focus-within {
2886
+ .mantine-InputWrapper-label {
2887
+ ${cssLabelShrink}
2888
+ }
2889
+
2890
+ .mantine-Input-wrapper {
2891
+ ${cssWrapperInputShrink}
2892
+ &.mantine-Select-wrapper {
2893
+ .mantine-Select-rightSection {
2894
+ pointer-events: auto !important;
2895
+ }
2896
+ }
2897
+ }
2898
+
2899
+ .mantine-Input-input {
2900
+ ${cssInputShrink}
2901
+ }
2902
+
2903
+ &:has(.PhoneInput) {
2904
+ .mantine-InputWrapper-label {
2905
+ left: var(--space-x, 16px);
2906
+ }
2907
+ .PhoneInput {
2908
+ .PhoneInputInput {
2909
+ opacity: 1;
2910
+ }
2911
+ }
2912
+ }
2913
+ }
2914
+
2915
+ .PhoneInput {
2916
+ --phone-select: 75px;
2917
+ --phone-input-space-x: 8px;
2918
+ width: 100%;
2919
+ opacity: 1;
2920
+ border: none;
2921
+ .PhoneInputCountry {
2922
+ background-color: transparent;
2923
+ border: none;
2924
+ padding: 0;
2925
+ width: var(--phone-select, 75px);
2926
+ }
2927
+ .PhoneInputInput {
2928
+ flex: 1;
2929
+ min-width: 0;
2930
+ line-height: 1.5;
2931
+ outline: none !important;
2932
+ border: none;
2933
+ box-shadow: none;
2934
+ padding: 0 var(--phone-input-space-x, 8px);
2935
+ opacity: 0;
2936
+ color: ${theme.colors.gray800} !important;
2937
+ :focus {
2938
+ color: ${theme.colors.gray800} !important;
2939
+ }
2940
+ }
2941
+ }
2942
+
2943
+ &:has(.PhoneInput) {
2944
+ .mantine-InputWrapper-label {
2945
+ left: calc(
2946
+ var(--space-x, 16px) + var(--phone-select, 75px) +
2947
+ var(--phone-input-space-x, 8px)
2948
+ );
2949
+ }
2950
+ }
2951
+ `;
2952
+ const StyledChoiceFieldContainer = styled.div `
2953
+ &.leadgen-form_checkbox,
2954
+ &.leadgen-form_radio {
2955
+ width: 100%;
2956
+ }
2957
+
2958
+ &.leadgen-form_dropdown {
2959
+ width: calc(50% - 12px);
2960
+ }
2961
+
2962
+ .mantine-InputWrapper-root {
2963
+ display: block;
2964
+ }
2965
+
2966
+ .mantine-InputWrapper-label {
2967
+ margin-bottom: 0.5rem;
2968
+ color: ${theme.colors.gray800};
2969
+ font-size: 16px;
2970
+ font-weight: 400;
2971
+ line-height: 1.5;
2972
+ }
2973
+
2974
+ .mantine-Radio-root,
2975
+ .mantine-Checkbox-root {
2976
+ gap: 8px;
2977
+ min-width: calc(50% - 4px);
2978
+
2979
+ input[type='radio'],
2980
+ input[type='checkbox'] {
2981
+ border-color: ${theme.colors.gray600};
2982
+ width: 18px;
2983
+ height: 18px;
2984
+ }
2985
+ input[type='checkbox'] {
2986
+ border-radius: 4px;
2987
+ }
2988
+
2989
+ &[data-checked='true'] {
2990
+ input[type='radio'],
2991
+ input[type='checkbox'] {
2992
+ border-color: ${theme.colors.primary600};
2993
+ }
2994
+
2995
+ input[type='radio'] {
2996
+ background-color: white;
2997
+ }
2998
+ }
2999
+
3000
+ .mantine-Checkbox-input {
3001
+ &:checked {
3002
+ border-color: ${theme.colors.primary600};
3003
+ }
3004
+ }
3005
+ }
3006
+
3007
+ .mantine-Radio-inner,
3008
+ .mantine-Checkbox-inner {
3009
+ width: 24px;
3010
+ height: 24px;
3011
+ display: flex;
3012
+ align-items: center;
3013
+ justify-content: center;
3014
+ }
3015
+
3016
+ .mantine-Radio-body,
3017
+ .mantine-Checkbox-body {
3018
+ display: flex;
3019
+ align-items: center;
3020
+ }
3021
+
3022
+ .mantine-Radio-label,
3023
+ .mantine-Checkbox-label {
3024
+ padding-left: 8px;
3025
+ color: ${theme.colors.gray800};
3026
+ font-size: 14px;
3027
+ line-height: 1.4;
3028
+ letter-spacing: -0.2px;
3029
+ }
3030
+
3031
+ .leadgen-choiceContainer {
3032
+ display: flex;
3033
+ flex-wrap: wrap;
3034
+ align-items: flex-start;
3035
+ gap: 8px;
3036
+ }
3037
+
3038
+ .mantine-InputWrapper-error {
3039
+ ${cssInputWrapperError}
3040
+ }
3041
+ `;
3042
+
3043
+ const TextField = (props) => {
3044
+ const { shrink: shrinkProps, onChangeShrink, className, children } = props, restProps = __rest(props, ["shrink", "onChangeShrink", "className", "children"]);
3045
+ const containerRef = useClickOutside(() => {
3046
+ if (shrinkProps) {
3047
+ return;
3048
+ }
3049
+ setShrink(false);
3050
+ onChangeShrink === null || onChangeShrink === void 0 ? void 0 : onChangeShrink(false);
3051
+ });
3052
+ const [shrink, setShrink] = useState(shrinkProps);
3053
+ const onClick = useCallback((e) => {
3054
+ setShrink(true);
3055
+ onChangeShrink === null || onChangeShrink === void 0 ? void 0 : onChangeShrink(true);
3056
+ if (shrink) {
3057
+ return;
3058
+ }
3059
+ const $textEl = e.currentTarget.querySelectorAll('input:not([disabled]):not([type="submit"]),select:not([disabled]),textarea:not([disabled])');
3060
+ const $focusEl = $textEl.item($textEl.length - 1);
3061
+ if ($focusEl) {
3062
+ $focusEl.focus();
3063
+ setTimeout(() => {
3064
+ $focusEl.scrollIntoView({
3065
+ behavior: 'auto',
3066
+ block: 'center',
3067
+ inline: 'start',
3068
+ });
3069
+ }, 100);
3070
+ }
2148
3071
  }, [shrink]);
2149
3072
  useEffect(() => {
2150
3073
  setShrink(shrinkProps);
@@ -2527,7 +3450,7 @@ const LightboxLayout = ({ popupId, extraFields, onClose: onCloseProp, onOtherSub
2527
3450
  const isDrawer = isLightBoxB && isMobile;
2528
3451
  const limitFieldsLightBoxB = isLightBoxB && listBlockAdded.length <= LEADGEN_LIMIT_LIGHTBOXB;
2529
3452
  const hasForm = isLightBoxA
2530
- ? listBlockAdded.some((item) => LEADGEN_BLOCK_IN_FORM.some((k) => k === (item === null || item === void 0 ? void 0 : item.name)))
3453
+ ? listBlockAdded.some((item) => LEADGEN_BLOCK_INPUT.some((k) => k === (item === null || item === void 0 ? void 0 : item.name)))
2531
3454
  : true;
2532
3455
  const showHeader = !!imageMobile || !!imageDesktop;
2533
3456
  const onlyHeader = !title && !description;
@@ -3570,4 +4493,4 @@ LeadGen.Thankyou = Thankyou;
3570
4493
  LeadGen.OtpForm = OtpBlock$1;
3571
4494
  LeadGen.Close = Close;
3572
4495
 
3573
- export { LeadGen };
4496
+ export { LeadGen, LeadGenSubscriptionBox };