@hhgtech/hhg-components 1.29.37 → 1.29.39

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 (425) hide show
  1. package/build/{WhatsApp-7a67a5f6.js → WhatsApp-7c990a33.js} +1 -1
  2. package/build/adapters.js +15 -15
  3. package/build/babyGrowth.js +204 -147
  4. package/build/cache.js +3 -3
  5. package/build/care.js +17 -17
  6. package/build/components/atoms/genderOptionControl/index.d.ts +8 -4
  7. package/build/components/atoms/genderOptionControl/index.styles.d.ts +5 -1
  8. package/build/components/babyGrowth/babyGrowthForm/context.d.ts +0 -1
  9. package/build/components/babyGrowth/babyGrowthForm/index.d.ts +4 -7
  10. package/build/components/babyGrowth/babyGrowthForm/layout/default/index.d.ts +3 -0
  11. package/build/components/babyGrowth/babyGrowthForm/layout/inline/index.d.ts +3 -0
  12. package/build/components/babyGrowth/babyGrowthForm/layout/inline/index.styles.d.ts +11 -0
  13. package/build/components/babyGrowth/index.d.ts +1 -0
  14. package/build/components/molecules/embeddedHeathToolCards/baby-growth/index.d.ts +8 -10
  15. package/build/components/molecules/embeddedHeathToolCards/bmi/bmi.d.ts +1 -6
  16. package/build/components/molecules/embeddedHeathToolCards/bmi/context.d.ts +2 -1
  17. package/build/components/molecules/embeddedHeathToolCards/bmr/bmr.d.ts +5 -10
  18. package/build/components/molecules/embeddedHeathToolCards/helpers.d.ts +5 -5
  19. package/build/components/molecules/embeddedHeathToolCards/target-heart-rate/index.d.ts +6 -13
  20. package/build/components/molecules/healthTools/cardWrapper/banner/index.d.ts +4 -0
  21. package/build/components/molecules/healthTools/cardWrapper/body/index.d.ts +3 -0
  22. package/build/components/molecules/healthTools/cardWrapper/context.d.ts +5 -0
  23. package/build/components/molecules/healthTools/cardWrapper/index.d.ts +12 -0
  24. package/build/components/{babyGrowth/babyGrowthForm/layout/horizonal → molecules/healthTools/cardWrapper}/index.styles.d.ts +3 -1
  25. package/build/components/molecules/healthTools/components/borderBoxControl/error.d.ts +3 -0
  26. package/build/components/molecules/healthTools/components/borderBoxControl/index.d.ts +8 -0
  27. package/build/{esm/components/molecules/thrForm → components/molecules/healthTools/components/borderBoxControl}/index.styled.d.ts +12 -9
  28. package/build/components/molecules/healthTools/components/borderBoxControl/index.styles.d.ts +14 -0
  29. package/build/components/molecules/healthTools/components/borderInlineControl/error.d.ts +3 -0
  30. package/build/components/molecules/healthTools/components/borderInlineControl/index.d.ts +8 -0
  31. package/build/components/molecules/healthTools/components/borderInlineControl/index.styles.d.ts +14 -0
  32. package/build/components/molecules/healthTools/components/control/index.d.ts +5 -0
  33. package/build/components/molecules/healthTools/components/control/index.styles.d.ts +8 -0
  34. package/build/components/molecules/healthTools/form/bmiForm/context.d.ts +15 -0
  35. package/build/components/molecules/healthTools/form/bmiForm/defaultLayout.d.ts +3 -0
  36. package/build/components/molecules/healthTools/form/bmiForm/index.d.ts +4 -0
  37. package/build/components/molecules/healthTools/form/bmiForm/inlineLayout.d.ts +3 -0
  38. package/build/components/molecules/healthTools/form/thrForm/context.d.ts +16 -0
  39. package/build/components/molecules/healthTools/form/thrForm/defaultLayout.d.ts +3 -0
  40. package/build/components/molecules/healthTools/form/thrForm/index.d.ts +15 -0
  41. package/build/components/molecules/healthTools/form/thrForm/inlineLayout.d.ts +3 -0
  42. package/build/components/molecules/healthTools/formWrapper/context.d.ts +5 -0
  43. package/build/components/molecules/healthTools/formWrapper/formRow.d.ts +3 -0
  44. package/build/components/molecules/healthTools/formWrapper/index.d.ts +22 -0
  45. package/build/components/molecules/healthTools/formWrapper/index.styles.d.ts +13 -0
  46. package/build/components/molecules/healthTools/formWrapper/submitBtn.d.ts +3 -0
  47. package/build/components/molecules/healthTools/formWrapper/unit.d.ts +3 -0
  48. package/build/components/molecules/index.d.ts +3 -0
  49. package/build/components/molecules/toolBannerCard/index.d.ts +2 -3
  50. package/build/components/molecules/toolBannerCard/index.styled.d.ts +0 -14
  51. package/build/components.js +63 -61
  52. package/build/{constants-98c8325c.js → constants-341e3655.js} +2 -2
  53. package/build/{constants-def9eb29.js → constants-e7f8b0d2.js} +2 -2
  54. package/build/constants.js +3 -3
  55. package/build/{core-72af88cc.js → core-624d9eef.js} +2 -2
  56. package/build/{dataTransform-bf44d91c.js → dataTransform-4724625a.js} +1 -1
  57. package/build/ecom.js +6 -6
  58. package/build/esm/{WhatsApp-25882f30.js → WhatsApp-4464ab6c.js} +1 -1
  59. package/build/esm/adapters.js +15 -15
  60. package/build/esm/babyGrowth.js +140 -84
  61. package/build/esm/cache.js +3 -3
  62. package/build/esm/care.js +17 -17
  63. package/build/esm/components/atoms/genderOptionControl/index.d.ts +8 -4
  64. package/build/esm/components/atoms/genderOptionControl/index.styles.d.ts +5 -1
  65. package/build/esm/components/babyGrowth/babyGrowthForm/context.d.ts +0 -1
  66. package/build/esm/components/babyGrowth/babyGrowthForm/index.d.ts +4 -7
  67. package/build/esm/components/babyGrowth/babyGrowthForm/layout/default/index.d.ts +3 -0
  68. package/build/esm/components/babyGrowth/babyGrowthForm/layout/inline/index.d.ts +3 -0
  69. package/build/esm/components/babyGrowth/babyGrowthForm/layout/inline/index.styles.d.ts +11 -0
  70. package/build/esm/components/babyGrowth/index.d.ts +1 -0
  71. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/index.d.ts +8 -10
  72. package/build/esm/components/molecules/embeddedHeathToolCards/bmi/bmi.d.ts +1 -6
  73. package/build/esm/components/molecules/embeddedHeathToolCards/bmi/context.d.ts +2 -1
  74. package/build/esm/components/molecules/embeddedHeathToolCards/bmr/bmr.d.ts +5 -10
  75. package/build/esm/components/molecules/embeddedHeathToolCards/helpers.d.ts +5 -5
  76. package/build/esm/components/molecules/embeddedHeathToolCards/target-heart-rate/index.d.ts +6 -13
  77. package/build/esm/components/molecules/healthTools/cardWrapper/banner/index.d.ts +4 -0
  78. package/build/esm/components/molecules/healthTools/cardWrapper/banner/index.styles.d.ts +8 -0
  79. package/build/esm/components/molecules/healthTools/cardWrapper/body/index.d.ts +3 -0
  80. package/build/esm/components/molecules/healthTools/cardWrapper/body/index.styles.d.ts +8 -0
  81. package/build/esm/components/molecules/healthTools/cardWrapper/context.d.ts +5 -0
  82. package/build/esm/components/molecules/healthTools/cardWrapper/index.d.ts +12 -0
  83. package/build/esm/components/{babyGrowth/babyGrowthForm/layout/horizonal → molecules/healthTools/cardWrapper}/index.styles.d.ts +3 -1
  84. package/build/esm/components/molecules/healthTools/components/borderBoxControl/error.d.ts +3 -0
  85. package/build/esm/components/molecules/healthTools/components/borderBoxControl/index.d.ts +8 -0
  86. package/build/{components/molecules/thrForm → esm/components/molecules/healthTools/components/borderBoxControl}/index.styled.d.ts +12 -9
  87. package/build/esm/components/molecules/healthTools/components/borderBoxControl/index.styles.d.ts +14 -0
  88. package/build/esm/components/molecules/healthTools/components/borderInlineControl/error.d.ts +3 -0
  89. package/build/esm/components/molecules/healthTools/components/borderInlineControl/index.d.ts +8 -0
  90. package/build/esm/components/molecules/healthTools/components/borderInlineControl/index.styles.d.ts +14 -0
  91. package/build/esm/components/molecules/healthTools/components/control/index.d.ts +5 -0
  92. package/build/esm/components/molecules/healthTools/components/control/index.styles.d.ts +8 -0
  93. package/build/esm/components/molecules/healthTools/form/bmiForm/context.d.ts +15 -0
  94. package/build/esm/components/molecules/healthTools/form/bmiForm/defaultLayout.d.ts +3 -0
  95. package/build/esm/components/molecules/healthTools/form/bmiForm/index.d.ts +4 -0
  96. package/build/esm/components/molecules/healthTools/form/bmiForm/inlineLayout.d.ts +3 -0
  97. package/build/esm/components/molecules/healthTools/form/thrForm/context.d.ts +16 -0
  98. package/build/esm/components/molecules/healthTools/form/thrForm/defaultLayout.d.ts +3 -0
  99. package/build/esm/components/molecules/healthTools/form/thrForm/index.d.ts +15 -0
  100. package/build/esm/components/molecules/healthTools/form/thrForm/inlineLayout.d.ts +3 -0
  101. package/build/esm/components/molecules/healthTools/formWrapper/context.d.ts +5 -0
  102. package/build/esm/components/molecules/healthTools/formWrapper/formRow.d.ts +3 -0
  103. package/build/esm/components/molecules/healthTools/formWrapper/index.d.ts +22 -0
  104. package/build/esm/components/molecules/healthTools/formWrapper/index.styles.d.ts +13 -0
  105. package/build/esm/components/molecules/healthTools/formWrapper/submitBtn.d.ts +3 -0
  106. package/build/esm/components/molecules/healthTools/formWrapper/unit.d.ts +3 -0
  107. package/build/esm/components/molecules/index.d.ts +3 -0
  108. package/build/esm/components/molecules/toolBannerCard/index.d.ts +2 -3
  109. package/build/esm/components/molecules/toolBannerCard/index.styled.d.ts +0 -14
  110. package/build/esm/components.js +60 -60
  111. package/build/esm/{constants-a7e3ca35.js → constants-661c1d64.js} +2 -2
  112. package/build/esm/{constants-d6930e5e.js → constants-ac51ae89.js} +2 -2
  113. package/build/esm/constants.js +3 -3
  114. package/build/esm/{core-f736ab2d.js → core-f226ac0f.js} +2 -2
  115. package/build/esm/{dataTransform-b764f5bd.js → dataTransform-e5035d56.js} +1 -1
  116. package/build/esm/ecom.js +6 -6
  117. package/build/esm/footer.js +18 -18
  118. package/build/esm/gAssets.js +4 -4
  119. package/build/esm/{getDynamicHealthTool-7c15a910.js → getDynamicHealthTool-4d8eeb51.js} +4 -4
  120. package/build/esm/{getSocialList-ff360236.js → getSocialList-25eb0ec3.js} +4 -4
  121. package/build/esm/hooks.js +17 -17
  122. package/build/esm/i18n/translationKeys.d.ts +1 -1
  123. package/build/esm/i18n-values/en-PH.js +6 -0
  124. package/build/esm/i18n-values/hi-IN.js +6 -0
  125. package/build/esm/i18n-values/id-ID.js +6 -0
  126. package/build/esm/i18n-values/km-KH.js +6 -0
  127. package/build/esm/i18n-values/ms-MY.js +6 -0
  128. package/build/esm/i18n-values/my-MM.js +6 -0
  129. package/build/esm/i18n-values/th-TH.js +6 -0
  130. package/build/esm/i18n-values/tl-PH.js +6 -0
  131. package/build/esm/i18n-values/vi-VN.js +6 -0
  132. package/build/esm/i18n-values/vi-VN_MB.js +6 -0
  133. package/build/esm/i18n-values/zh-TW.js +6 -0
  134. package/build/esm/i18n.js +2 -2
  135. package/build/esm/i18nV2.js +2 -2
  136. package/build/esm/{index-ad6fe8ec.js → index-1b1be502.js} +3 -3
  137. package/build/esm/{index-052975c5.js → index-1d8204a9.js} +4 -4
  138. package/build/esm/{index-9abfd2bf.js → index-2761f711.js} +4 -4
  139. package/build/esm/{index-57bf1cd7.js → index-3aca5854.js} +2 -2
  140. package/build/esm/{index-1037b8f8.js → index-454b515d.js} +12 -12
  141. package/build/esm/{index-b81d2c55.js → index-489dd441.js} +2 -2
  142. package/build/esm/{index-612cce87.js → index-5a0f027e.js} +10 -10
  143. package/build/esm/{index-df110edc.js → index-66d10b21.js} +446 -1357
  144. package/build/esm/{index-acb975fb.js → index-68fab995.js} +10 -10
  145. package/build/esm/{index-b42bac7a.js → index-7305fc5d.js} +2 -2
  146. package/build/esm/{index-9c28c6d3.js → index-7c16ac20.js} +2 -2
  147. package/build/esm/{index-b80db1c1.js → index-84a52876.js} +2 -2
  148. package/build/esm/{index-a28d6769.js → index-8625e8d8.js} +2 -2
  149. package/build/esm/{index-73ef9a35.js → index-922e3c54.js} +6 -6
  150. package/build/esm/{index-dcccb898.js → index-a3f3a71d.js} +11 -11
  151. package/build/esm/{index-30a00409.js → index-c3d30585.js} +2 -2
  152. package/build/esm/{index-bd555bac.js → index-c82b58c7.js} +1 -1
  153. package/build/esm/{index-d232b0dc.js → index-cbda4cc1.js} +2 -2
  154. package/build/esm/{index-f3129141.js → index-d4626ff6.js} +9 -9
  155. package/build/esm/{index-4597632e.js → index-db047eda.js} +33 -32
  156. package/build/esm/{index-ae90e211.js → index-de4b6341.js} +2 -2
  157. package/build/esm/{index-fef007d1.js → index-e86bff41.js} +2 -2
  158. package/build/esm/index-eb9b684f.js +1047 -0
  159. package/build/esm/{index-7b90d518.js → index-f06883d8.js} +9 -7
  160. package/build/esm/{index-8f8e8b42.js → index-f7bf305d.js} +4 -4
  161. package/build/esm/index.js +68 -68
  162. package/build/esm/{index.styled-23ecaf98.js → index.styled-0bdbe990.js} +2 -2
  163. package/build/esm/{index.styles-1b7c0626.js → index.styles-e1757115.js} +51 -36
  164. package/build/esm/lead/components/close.d.ts +2 -2
  165. package/build/esm/lead.js +29 -29
  166. package/build/esm/mantine.js +21 -21
  167. package/build/esm/misc.js +19 -19
  168. package/build/esm/navigation.js +35 -35
  169. package/build/esm/onboardingV2.js +32 -32
  170. package/build/esm/pwg.js +19 -19
  171. package/build/esm/{routing-c564d6de.js → routing-0e8aa97d.js} +2 -2
  172. package/build/esm/subot.js +22 -22
  173. package/build/esm/together.js +34 -34
  174. package/build/esm/{types-7887d2c5.js → types-d1a0466d.js} +13 -13
  175. package/build/esm/{types-65ea7a29.js → types-d54aac73.js} +30 -30
  176. package/build/esm/types.js +1 -1
  177. package/build/esm/{useCategory-24375501.js → useCategory-d97a0eaf.js} +5 -5
  178. package/build/esm/{useHealthToolCache-84f0e6a2.js → useHealthToolCache-33752ed2.js} +2 -2
  179. package/build/esm/{useMantineLocale-55d6c3f7.js → useMantineLocale-c9152268.js} +3 -3
  180. package/build/esm/{usePlacesAutocomplete-30d9515c.js → usePlacesAutocomplete-664fd91f.js} +1 -1
  181. package/build/esm/{useTranslations-e09488cf.js → useTranslations-cdea23ca.js} +1 -1
  182. package/build/esm/{utils-d42f36c5.js → utils-7a0b602b.js} +1 -1
  183. package/build/esm/{utils-c4d6d3b1.js → utils-e621db45.js} +4 -4
  184. package/build/esm/{utils-3faf426d.js → utils-e93e4c81.js} +5 -5
  185. package/build/esm/vaccination.js +26 -26
  186. package/build/footer.js +18 -18
  187. package/build/gAssets.js +4 -4
  188. package/build/{getDynamicHealthTool-cf56bdf9.js → getDynamicHealthTool-d6db1d7f.js} +4 -4
  189. package/build/{getSocialList-7e9f1ce8.js → getSocialList-64b3658e.js} +4 -4
  190. package/build/hooks.js +17 -17
  191. package/build/i18n/translationKeys.d.ts +1 -1
  192. package/build/i18n-values/en-PH.js +6 -0
  193. package/build/i18n-values/hi-IN.js +6 -0
  194. package/build/i18n-values/id-ID.js +6 -0
  195. package/build/i18n-values/km-KH.js +6 -0
  196. package/build/i18n-values/ms-MY.js +6 -0
  197. package/build/i18n-values/my-MM.js +6 -0
  198. package/build/i18n-values/th-TH.js +6 -0
  199. package/build/i18n-values/tl-PH.js +6 -0
  200. package/build/i18n-values/vi-VN.js +6 -0
  201. package/build/i18n-values/vi-VN_MB.js +6 -0
  202. package/build/i18n-values/zh-TW.js +6 -0
  203. package/build/i18n.js +1 -1
  204. package/build/i18nV2.js +1 -1
  205. package/build/{index-4e67ecb9.js → index-0a0b5799.js} +2 -2
  206. package/build/{index-94f76457.js → index-0be68def.js} +10 -10
  207. package/build/{index-7856390e.js → index-16865f4f.js} +566 -1476
  208. package/build/{index-e09708c1.js → index-2ed6b546.js} +1 -1
  209. package/build/{index-e7c5a18f.js → index-30b8b836.js} +4 -4
  210. package/build/{index-16214b40.js → index-317d0c1c.js} +4 -4
  211. package/build/{index-d80b0a5b.js → index-31d3a0cd.js} +2 -2
  212. package/build/{index-a33345ec.js → index-38ffe95c.js} +2 -2
  213. package/build/{index-d1a16fdd.js → index-3ee0bbab.js} +2 -2
  214. package/build/index-49e98004.js +1066 -0
  215. package/build/{index-db53bc1b.js → index-4d5f141c.js} +2 -2
  216. package/build/{index-d3e350af.js → index-5d5594a7.js} +33 -32
  217. package/build/{index-8e2df083.js → index-65ed0de1.js} +8 -6
  218. package/build/{index-697f7bce.js → index-7c76f198.js} +2 -2
  219. package/build/{index-73b4b2d1.js → index-885e1cdd.js} +3 -3
  220. package/build/{index-f0ccd2dd.js → index-9c99495d.js} +6 -6
  221. package/build/{index-d6405ebe.js → index-a5aa5d5c.js} +9 -9
  222. package/build/{index-4c9bc001.js → index-a9805dbb.js} +2 -2
  223. package/build/{index-ab470b05.js → index-b57d6d78.js} +12 -12
  224. package/build/{index-f6d5f98f.js → index-d976a27c.js} +2 -2
  225. package/build/{index-d782e0a0.js → index-deae37ab.js} +4 -4
  226. package/build/{index-25b1fd88.js → index-e1bfc5cd.js} +10 -10
  227. package/build/{index-e609294e.js → index-e81b428d.js} +11 -11
  228. package/build/{index-7e51acf9.js → index-f91097ba.js} +2 -2
  229. package/build/{index-d553d9e2.js → index-fbb66d3d.js} +2 -2
  230. package/build/index.js +71 -69
  231. package/build/{index.styled-e91d7f7f.js → index.styled-02090cfc.js} +2 -2
  232. package/build/{index.styles-b47359f2.js → index.styles-157337bd.js} +52 -37
  233. package/build/lead/components/close.d.ts +2 -2
  234. package/build/lead.js +29 -29
  235. package/build/mantine.js +18 -18
  236. package/build/misc.js +19 -19
  237. package/build/navigation.js +35 -35
  238. package/build/onboardingV2.js +31 -31
  239. package/build/pwg.js +19 -19
  240. package/build/{routing-662b9ed3.js → routing-a06d4f70.js} +2 -2
  241. package/build/subot.js +22 -22
  242. package/build/together.js +34 -34
  243. package/build/{types-a6b93fe5.js → types-4dbda9a8.js} +13 -13
  244. package/build/{types-3a5fff72.js → types-56f05054.js} +30 -30
  245. package/build/types.js +1 -1
  246. package/build/{useCategory-5977ede5.js → useCategory-69284fce.js} +5 -5
  247. package/build/{useHealthToolCache-5890c8bb.js → useHealthToolCache-75252b30.js} +2 -2
  248. package/build/{useMantineLocale-c2dd66b5.js → useMantineLocale-5f5000f2.js} +3 -3
  249. package/build/{usePlacesAutocomplete-942ee1fd.js → usePlacesAutocomplete-ae8c4f01.js} +1 -1
  250. package/build/{useTranslations-a9eb9fc7.js → useTranslations-e5a4e00e.js} +1 -1
  251. package/build/{utils-9aaa3c05.js → utils-29574e04.js} +5 -5
  252. package/build/{utils-fb70e135.js → utils-3c665430.js} +1 -1
  253. package/build/{utils-6370d1da.js → utils-a7153a3d.js} +4 -4
  254. package/build/vaccination.js +26 -26
  255. package/package.json +1 -1
  256. package/build/components/babyGrowth/babyGrowthForm/layout/horizonal/index.d.ts +0 -3
  257. package/build/components/babyGrowth/babyGrowthForm/layout/vertical/index.d.ts +0 -2
  258. package/build/components/molecules/bmiForm/index.d.ts +0 -4
  259. package/build/components/molecules/bmiForm/index.styled.d.ts +0 -23
  260. package/build/components/molecules/embeddedHeathToolCards/baby-growth/context.d.ts +0 -12
  261. package/build/components/molecules/embeddedHeathToolCards/baby-growth/form.d.ts +0 -3
  262. package/build/components/molecules/embeddedHeathToolCards/baby-growth/index.styled.d.ts +0 -17
  263. package/build/components/molecules/embeddedHeathToolCards/bmi/form.d.ts +0 -2
  264. package/build/components/molecules/thrForm/index.d.ts +0 -15
  265. package/build/esm/components/babyGrowth/babyGrowthForm/layout/horizonal/index.d.ts +0 -3
  266. package/build/esm/components/babyGrowth/babyGrowthForm/layout/vertical/index.d.ts +0 -2
  267. package/build/esm/components/molecules/bmiForm/index.d.ts +0 -4
  268. package/build/esm/components/molecules/bmiForm/index.styled.d.ts +0 -23
  269. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/context.d.ts +0 -12
  270. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/form.d.ts +0 -3
  271. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/index.styled.d.ts +0 -17
  272. package/build/esm/components/molecules/embeddedHeathToolCards/bmi/form.d.ts +0 -2
  273. package/build/esm/components/molecules/thrForm/index.d.ts +0 -15
  274. package/build/esm/index-084aee3a.js +0 -370
  275. package/build/index-d8c16366.js +0 -380
  276. /package/build/{BMI_BOYS.percentile.monthly-8fed7ba1.js → BMI_BOYS.percentile.monthly-3dc46630.js} +0 -0
  277. /package/build/{BMI_BOYS.percentile.weekly-eb7961bc.js → BMI_BOYS.percentile.weekly-33a7a76d.js} +0 -0
  278. /package/build/{BMI_BOYS.percentile.yearly-2ad05a2a.js → BMI_BOYS.percentile.yearly-7e23ad15.js} +0 -0
  279. /package/build/{BMI_BOYS.zscore.monthly-a9a0abc6.js → BMI_BOYS.zscore.monthly-2ce61257.js} +0 -0
  280. /package/build/{BMI_BOYS.zscore.weekly-064497fe.js → BMI_BOYS.zscore.weekly-b7ad99e4.js} +0 -0
  281. /package/build/{BMI_BOYS.zscore.yearly-0e88b67c.js → BMI_BOYS.zscore.yearly-18e3796a.js} +0 -0
  282. /package/build/{BMI_GIRLS.percentile.monthly-7d2f4062.js → BMI_GIRLS.percentile.monthly-659ecfd5.js} +0 -0
  283. /package/build/{BMI_GIRLS.percentile.weekly-a763105a.js → BMI_GIRLS.percentile.weekly-ae56f36e.js} +0 -0
  284. /package/build/{BMI_GIRLS.percentile.yearly-6bbdee0d.js → BMI_GIRLS.percentile.yearly-231d8484.js} +0 -0
  285. /package/build/{BMI_GIRLS.zscore.monthly-d8a5cbd8.js → BMI_GIRLS.zscore.monthly-b3fd34cc.js} +0 -0
  286. /package/build/{BMI_GIRLS.zscore.weekly-0c7a8c9c.js → BMI_GIRLS.zscore.weekly-ba14b60f.js} +0 -0
  287. /package/build/{BMI_GIRLS.zscore.yearly-5644743f.js → BMI_GIRLS.zscore.yearly-9aa7154b.js} +0 -0
  288. /package/build/{ChevronDown-079dc4be.js → ChevronDown-bdc5f8bf.js} +0 -0
  289. /package/build/{Close-db604756.js → Close-37ec8443.js} +0 -0
  290. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-c41d42ff.js → HEAD CIRCUM_BOYS.percentile.monthly-c14e93fe.js} +0 -0
  291. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-afc76045.js → HEAD CIRCUM_BOYS.percentile.weekly-6d94ea66.js} +0 -0
  292. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-dbde5248.js → HEAD CIRCUM_BOYS.percentile.yearly-e88fc611.js} +0 -0
  293. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-4df52a81.js → HEAD CIRCUM_BOYS.zscore.monthly-d7428860.js} +0 -0
  294. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-60761b9a.js → HEAD CIRCUM_BOYS.zscore.weekly-9f78d9e2.js} +0 -0
  295. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-1d970b3c.js → HEAD CIRCUM_BOYS.zscore.yearly-0b878fa3.js} +0 -0
  296. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-04d36ee5.js → HEAD CIRCUM_GIRLS.percentile.monthly-12513ad5.js} +0 -0
  297. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-dde4e6c9.js → HEAD CIRCUM_GIRLS.percentile.weekly-7accdda4.js} +0 -0
  298. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-9f686033.js → HEAD CIRCUM_GIRLS.percentile.yearly-43b2cb53.js} +0 -0
  299. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-8265853b.js → HEAD CIRCUM_GIRLS.zscore.monthly-2bd1125e.js} +0 -0
  300. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-28744f9c.js → HEAD CIRCUM_GIRLS.zscore.weekly-11352a99.js} +0 -0
  301. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-c5b9857c.js → HEAD CIRCUM_GIRLS.zscore.yearly-a5d1fc49.js} +0 -0
  302. /package/build/{HEIGHT_BOYS.percentile.monthly-296fca5b.js → HEIGHT_BOYS.percentile.monthly-47159e6b.js} +0 -0
  303. /package/build/{HEIGHT_BOYS.percentile.weekly-5e16e885.js → HEIGHT_BOYS.percentile.weekly-77a168eb.js} +0 -0
  304. /package/build/{HEIGHT_BOYS.percentile.yearly-b4d4d8fc.js → HEIGHT_BOYS.percentile.yearly-ffe077bb.js} +0 -0
  305. /package/build/{HEIGHT_BOYS.zscore.monthly-ccf0441a.js → HEIGHT_BOYS.zscore.monthly-22afc4de.js} +0 -0
  306. /package/build/{HEIGHT_BOYS.zscore.weekly-b748980d.js → HEIGHT_BOYS.zscore.weekly-d9ef3e8c.js} +0 -0
  307. /package/build/{HEIGHT_BOYS.zscore.yearly-eece620a.js → HEIGHT_BOYS.zscore.yearly-eaa9c646.js} +0 -0
  308. /package/build/{HEIGHT_GIRLS.percentile.monthly-12d10530.js → HEIGHT_GIRLS.percentile.monthly-f4b44713.js} +0 -0
  309. /package/build/{HEIGHT_GIRLS.percentile.weekly-32273298.js → HEIGHT_GIRLS.percentile.weekly-59699856.js} +0 -0
  310. /package/build/{HEIGHT_GIRLS.percentile.yearly-72816dcf.js → HEIGHT_GIRLS.percentile.yearly-2ebb26e5.js} +0 -0
  311. /package/build/{HEIGHT_GIRLS.zscore.monthly-5b4c8f81.js → HEIGHT_GIRLS.zscore.monthly-ecaab89e.js} +0 -0
  312. /package/build/{HEIGHT_GIRLS.zscore.weekly-8d325bb3.js → HEIGHT_GIRLS.zscore.weekly-457d47df.js} +0 -0
  313. /package/build/{HEIGHT_GIRLS.zscore.yearly-912d50eb.js → HEIGHT_GIRLS.zscore.yearly-2e6f58f9.js} +0 -0
  314. /package/build/{Visible-0823566a.js → Visible-5815765d.js} +0 -0
  315. /package/build/{WEIGHT_BOYS.percentile.monthly-dfad04d7.js → WEIGHT_BOYS.percentile.monthly-5adfba39.js} +0 -0
  316. /package/build/{WEIGHT_BOYS.percentile.weekly-9bd038b1.js → WEIGHT_BOYS.percentile.weekly-df51ea10.js} +0 -0
  317. /package/build/{WEIGHT_BOYS.percentile.yearly-59904174.js → WEIGHT_BOYS.percentile.yearly-7e7a945c.js} +0 -0
  318. /package/build/{WEIGHT_BOYS.zscore.monthly-b767505a.js → WEIGHT_BOYS.zscore.monthly-409ef959.js} +0 -0
  319. /package/build/{WEIGHT_BOYS.zscore.weekly-475f3ff9.js → WEIGHT_BOYS.zscore.weekly-51f7b2ca.js} +0 -0
  320. /package/build/{WEIGHT_BOYS.zscore.yearly-cc1b1d4b.js → WEIGHT_BOYS.zscore.yearly-249b9a56.js} +0 -0
  321. /package/build/{WEIGHT_GIRLS.percentile.monthly-1e7a5e77.js → WEIGHT_GIRLS.percentile.monthly-e96c3379.js} +0 -0
  322. /package/build/{WEIGHT_GIRLS.percentile.weekly-a15a69fc.js → WEIGHT_GIRLS.percentile.weekly-9e4aac96.js} +0 -0
  323. /package/build/{WEIGHT_GIRLS.percentile.yearly-2d24ab47.js → WEIGHT_GIRLS.percentile.yearly-aa6ee172.js} +0 -0
  324. /package/build/{WEIGHT_GIRLS.zscore.monthly-c2fbc8e5.js → WEIGHT_GIRLS.zscore.monthly-41cd2243.js} +0 -0
  325. /package/build/{WEIGHT_GIRLS.zscore.weekly-23f80f98.js → WEIGHT_GIRLS.zscore.weekly-a78795a5.js} +0 -0
  326. /package/build/{WEIGHT_GIRLS.zscore.yearly-56c3796f.js → WEIGHT_GIRLS.zscore.yearly-f85d3d67.js} +0 -0
  327. /package/build/{animation-177869c0.js → animation-7c2163d6.js} +0 -0
  328. /package/build/{cart-09276b58.js → cart-7225f4ea.js} +0 -0
  329. /package/build/components/babyGrowth/babyGrowthForm/layout/{vertical → default}/index.styled.d.ts +0 -0
  330. /package/build/components/{babyGrowth/babyGrowthForm → molecules/healthTools/cardWrapper/banner}/index.styles.d.ts +0 -0
  331. /package/build/{esm/components/babyGrowth/babyGrowthForm → components/molecules/healthTools/cardWrapper/body}/index.styles.d.ts +0 -0
  332. /package/build/{cookieHelper-d81861d8.js → cookieHelper-cdee4e84.js} +0 -0
  333. /package/build/{doctor-f39a19fd.js → doctor-770ff1ba.js} +0 -0
  334. /package/build/esm/{BMI_BOYS.percentile.monthly-b93ffbf0.js → BMI_BOYS.percentile.monthly-42b05262.js} +0 -0
  335. /package/build/esm/{BMI_BOYS.percentile.weekly-f9994b33.js → BMI_BOYS.percentile.weekly-51c5c77e.js} +0 -0
  336. /package/build/esm/{BMI_BOYS.percentile.yearly-c65e6ed2.js → BMI_BOYS.percentile.yearly-f496de0a.js} +0 -0
  337. /package/build/esm/{BMI_BOYS.zscore.monthly-48c07471.js → BMI_BOYS.zscore.monthly-14f694fa.js} +0 -0
  338. /package/build/esm/{BMI_BOYS.zscore.weekly-71daeeb3.js → BMI_BOYS.zscore.weekly-3db6bc0c.js} +0 -0
  339. /package/build/esm/{BMI_BOYS.zscore.yearly-440048be.js → BMI_BOYS.zscore.yearly-8509d0ae.js} +0 -0
  340. /package/build/esm/{BMI_GIRLS.percentile.monthly-57f1b984.js → BMI_GIRLS.percentile.monthly-d9a21889.js} +0 -0
  341. /package/build/esm/{BMI_GIRLS.percentile.weekly-0914f917.js → BMI_GIRLS.percentile.weekly-575bac9c.js} +0 -0
  342. /package/build/esm/{BMI_GIRLS.percentile.yearly-bdfe7a69.js → BMI_GIRLS.percentile.yearly-04508fbe.js} +0 -0
  343. /package/build/esm/{BMI_GIRLS.zscore.monthly-42e0b4f6.js → BMI_GIRLS.zscore.monthly-5cdf6175.js} +0 -0
  344. /package/build/esm/{BMI_GIRLS.zscore.weekly-07ab1287.js → BMI_GIRLS.zscore.weekly-e616dee6.js} +0 -0
  345. /package/build/esm/{BMI_GIRLS.zscore.yearly-517a7ff2.js → BMI_GIRLS.zscore.yearly-f04c1bc5.js} +0 -0
  346. /package/build/esm/{ChevronDown-ec64ac22.js → ChevronDown-5de6880b.js} +0 -0
  347. /package/build/esm/{Close-3b975982.js → Close-9352706a.js} +0 -0
  348. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-506387d9.js → HEAD CIRCUM_BOYS.percentile.monthly-96d66e11.js} +0 -0
  349. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-2652584c.js → HEAD CIRCUM_BOYS.percentile.weekly-f5554984.js} +0 -0
  350. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-c2a98a5d.js → HEAD CIRCUM_BOYS.percentile.yearly-557fb130.js} +0 -0
  351. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-4edbec1f.js → HEAD CIRCUM_BOYS.zscore.monthly-c3fdcb0b.js} +0 -0
  352. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-56338503.js → HEAD CIRCUM_BOYS.zscore.weekly-b3ea066c.js} +0 -0
  353. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-3c720a9e.js → HEAD CIRCUM_BOYS.zscore.yearly-451d74b9.js} +0 -0
  354. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-e1f1f6be.js → HEAD CIRCUM_GIRLS.percentile.monthly-1ef5b735.js} +0 -0
  355. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-227d31bd.js → HEAD CIRCUM_GIRLS.percentile.weekly-b7fd90a5.js} +0 -0
  356. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-7fc35787.js → HEAD CIRCUM_GIRLS.percentile.yearly-680b7cff.js} +0 -0
  357. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-9b0fd5eb.js → HEAD CIRCUM_GIRLS.zscore.monthly-a21a8585.js} +0 -0
  358. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-9988f989.js → HEAD CIRCUM_GIRLS.zscore.weekly-c3c76d7d.js} +0 -0
  359. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-20107811.js → HEAD CIRCUM_GIRLS.zscore.yearly-cc7be510.js} +0 -0
  360. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-e8203033.js → HEIGHT_BOYS.percentile.monthly-d165ef46.js} +0 -0
  361. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-5fa852c6.js → HEIGHT_BOYS.percentile.weekly-afa23b20.js} +0 -0
  362. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-f6615394.js → HEIGHT_BOYS.percentile.yearly-d10f86c1.js} +0 -0
  363. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-9594d1ef.js → HEIGHT_BOYS.zscore.monthly-d0e97976.js} +0 -0
  364. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-f70d3362.js → HEIGHT_BOYS.zscore.weekly-0695da19.js} +0 -0
  365. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-d7601de0.js → HEIGHT_BOYS.zscore.yearly-a373542e.js} +0 -0
  366. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-d219f16e.js → HEIGHT_GIRLS.percentile.monthly-4658cd2c.js} +0 -0
  367. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-eeac6400.js → HEIGHT_GIRLS.percentile.weekly-7b663bc7.js} +0 -0
  368. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-94932719.js → HEIGHT_GIRLS.percentile.yearly-bbabb1a1.js} +0 -0
  369. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-6ebee401.js → HEIGHT_GIRLS.zscore.monthly-f9e44117.js} +0 -0
  370. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-60839770.js → HEIGHT_GIRLS.zscore.weekly-5e6f1243.js} +0 -0
  371. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-b1cb5127.js → HEIGHT_GIRLS.zscore.yearly-cd2dcc67.js} +0 -0
  372. /package/build/esm/{Visible-28a1e0b5.js → Visible-1ea9e5cd.js} +0 -0
  373. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-5d0bc2ec.js → WEIGHT_BOYS.percentile.monthly-1dc4d7f8.js} +0 -0
  374. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-a11608ad.js → WEIGHT_BOYS.percentile.weekly-9d34b61c.js} +0 -0
  375. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-e0aa6a04.js → WEIGHT_BOYS.percentile.yearly-88c743b3.js} +0 -0
  376. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-13556e7a.js → WEIGHT_BOYS.zscore.monthly-c56a6907.js} +0 -0
  377. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-5d43562f.js → WEIGHT_BOYS.zscore.weekly-f5d09a10.js} +0 -0
  378. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-37a1e6f8.js → WEIGHT_BOYS.zscore.yearly-e4eadd64.js} +0 -0
  379. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-7d2fbbba.js → WEIGHT_GIRLS.percentile.monthly-d10b7f03.js} +0 -0
  380. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-e8d83d22.js → WEIGHT_GIRLS.percentile.weekly-fd9b6664.js} +0 -0
  381. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-9f9cb1ba.js → WEIGHT_GIRLS.percentile.yearly-a199dcfd.js} +0 -0
  382. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-cf729188.js → WEIGHT_GIRLS.zscore.monthly-88f2ceaa.js} +0 -0
  383. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-232159a5.js → WEIGHT_GIRLS.zscore.weekly-82d56465.js} +0 -0
  384. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-75e3f65b.js → WEIGHT_GIRLS.zscore.yearly-7ba197df.js} +0 -0
  385. /package/build/esm/{animation-8d9166c4.js → animation-a85e3de7.js} +0 -0
  386. /package/build/esm/{cart-3149095e.js → cart-887831b6.js} +0 -0
  387. /package/build/esm/components/babyGrowth/babyGrowthForm/layout/{vertical → default}/index.styled.d.ts +0 -0
  388. /package/build/esm/{cookieHelper-22b746f0.js → cookieHelper-3d07347b.js} +0 -0
  389. /package/build/esm/{doctor-697376a2.js → doctor-799a9bd3.js} +0 -0
  390. /package/build/esm/{index-0d6f4be3.js → index-0ed4c22b.js} +0 -0
  391. /package/build/esm/{index-8360ce3a.js → index-43343cbf.js} +0 -0
  392. /package/build/esm/{index-791aacd3.js → index-4599e5b0.js} +0 -0
  393. /package/build/esm/{index-de5f4b77.js → index-56e460c6.js} +0 -0
  394. /package/build/esm/{isProduction-883d53b1.js → isProduction-434d302d.js} +0 -0
  395. /package/build/esm/{localizeNumberFormat-2e0ff46a.js → localizeNumberFormat-c85786d3.js} +0 -0
  396. /package/build/esm/{normalizeLink-0a2787bd.js → normalizeLink-3d1f20d1.js} +0 -0
  397. /package/build/esm/{number-f94edd46.js → number-299bd96f.js} +0 -0
  398. /package/build/esm/{paths-5c0fa637.js → paths-56c3587b.js} +0 -0
  399. /package/build/esm/{theme-f0b6c550.js → theme-970b90f0.js} +0 -0
  400. /package/build/esm/{translationsContext-82b6afe9.js → translationsContext-494ae681.js} +0 -0
  401. /package/build/esm/{tslib.es6-9d7cffa1.js → tslib.es6-64d6b81e.js} +0 -0
  402. /package/build/esm/{types-503d982f.js → types-39d5f930.js} +0 -0
  403. /package/build/esm/{useIsInit-5091414d.js → useIsInit-4ae94a4f.js} +0 -0
  404. /package/build/esm/{useOutsideClick-92d0bbf4.js → useOutsideClick-dc7a904e.js} +0 -0
  405. /package/build/esm/{useScrollbarSize-65681faf.js → useScrollbarSize-c5f52065.js} +0 -0
  406. /package/build/esm/{useUniqueId-26127495.js → useUniqueId-c297b004.js} +0 -0
  407. /package/build/esm/{utils-528dc7d6.js → utils-f7a8a1ca.js} +0 -0
  408. /package/build/{index-264070a1.js → index-0161f9b8.js} +0 -0
  409. /package/build/{index-e354e9f6.js → index-ccb48ca2.js} +0 -0
  410. /package/build/{index-c0282d78.js → index-d9e9dcc3.js} +0 -0
  411. /package/build/{index-2977b2dd.js → index-f1979569.js} +0 -0
  412. /package/build/{isProduction-4ebb0b9f.js → isProduction-34667756.js} +0 -0
  413. /package/build/{localizeNumberFormat-57cbe103.js → localizeNumberFormat-fd3a0469.js} +0 -0
  414. /package/build/{normalizeLink-fbc07120.js → normalizeLink-75a55356.js} +0 -0
  415. /package/build/{number-82ab659f.js → number-81819869.js} +0 -0
  416. /package/build/{paths-73c476b6.js → paths-782003f7.js} +0 -0
  417. /package/build/{theme-df11f346.js → theme-986ab943.js} +0 -0
  418. /package/build/{translationsContext-23006995.js → translationsContext-5c637723.js} +0 -0
  419. /package/build/{tslib.es6-a0b7089c.js → tslib.es6-cda3ff06.js} +0 -0
  420. /package/build/{types-fd0dc0bb.js → types-351db239.js} +0 -0
  421. /package/build/{useIsInit-a50a6a72.js → useIsInit-751a5d5b.js} +0 -0
  422. /package/build/{useOutsideClick-995c17a0.js → useOutsideClick-75a9127e.js} +0 -0
  423. /package/build/{useScrollbarSize-7b1dd961.js → useScrollbarSize-c03e70df.js} +0 -0
  424. /package/build/{useUniqueId-cd9b224a.js → useUniqueId-6dae5baf.js} +0 -0
  425. /package/build/{utils-fcdda30d.js → utils-e385ce42.js} +0 -0
@@ -1,72 +1,71 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index$2 = require('./index-d80b0a5b.js');
5
- var index_styles = require('./index.styles-b47359f2.js');
6
- var utils = require('./utils-fcdda30d.js');
7
- var index$3 = require('./index-d6405ebe.js');
8
- var index$4 = require('./index-25b1fd88.js');
9
- var tslib_es6 = require('./tslib.es6-a0b7089c.js');
4
+ var index$2 = require('./index-31d3a0cd.js');
5
+ var index_styles = require('./index.styles-157337bd.js');
6
+ var utils = require('./utils-e385ce42.js');
7
+ var index$3 = require('./index-a5aa5d5c.js');
8
+ var index$4 = require('./index-e1bfc5cd.js');
9
+ var tslib_es6 = require('./tslib.es6-cda3ff06.js');
10
10
  var other = require('@hhgtech/icons/other');
11
- var index$5 = require('./index-697f7bce.js');
12
- var index$6 = require('./index-4c9bc001.js');
13
- var theme = require('./theme-df11f346.js');
11
+ var index$6 = require('./index-7c76f198.js');
12
+ var index$5 = require('./index-a9805dbb.js');
13
+ var theme = require('./theme-986ab943.js');
14
14
  var core = require('@mantine/core');
15
15
  var innertext = require('innertext');
16
16
  require('@mantine/dates');
17
- var index$b = require('./index-4e67ecb9.js');
18
- var index$j = require('./index-e354e9f6.js');
19
- require('./useMantineLocale-c2dd66b5.js');
20
- require('./translationsContext-23006995.js');
17
+ var index$b = require('./index-0a0b5799.js');
18
+ var index$k = require('./index-ccb48ca2.js');
19
+ require('./useMantineLocale-5f5000f2.js');
20
+ require('./translationsContext-5c637723.js');
21
21
  require('string-format');
22
22
  var hooks = require('@mantine/hooks');
23
- var index$7 = require('./index-d3e350af.js');
23
+ var index$7 = require('./index-5d5594a7.js');
24
24
  var styled = require('@emotion/styled');
25
25
  var throttle = require('lodash/throttle');
26
- var index$8 = require('./index-16214b40.js');
27
- var index$a = require('./index-a33345ec.js');
28
- var index$9 = require('./index-db53bc1b.js');
26
+ var index$8 = require('./index-317d0c1c.js');
27
+ var index$a = require('./index-38ffe95c.js');
28
+ var index$9 = require('./index-4d5f141c.js');
29
29
  var react = require('@emotion/react');
30
30
  var parse = require('html-react-parser');
31
- var isProduction = require('./isProduction-4ebb0b9f.js');
32
- var useTranslations = require('./useTranslations-a9eb9fc7.js');
31
+ var isProduction = require('./isProduction-34667756.js');
32
+ var useTranslations = require('./useTranslations-e5a4e00e.js');
33
33
  var dateFns = require('date-fns');
34
34
  var dayjs = require('dayjs');
35
- var types = require('./types-fd0dc0bb.js');
36
- var utils$1 = require('./utils-9aaa3c05.js');
37
- var index$d = require('./index-73b4b2d1.js');
38
- var index$e = require('./index-d553d9e2.js');
39
- var index$f = require('./index-7e51acf9.js');
40
- var index$c = require('./index-e09708c1.js');
41
- var index$g = require('./index-2977b2dd.js');
35
+ var index$d = require('./index-49e98004.js');
36
+ var types = require('./types-351db239.js');
37
+ var utils$1 = require('./utils-29574e04.js');
38
+ var index$e = require('./index-885e1cdd.js');
39
+ var index$f = require('./index-fbb66d3d.js');
40
+ var index$g = require('./index-f91097ba.js');
41
+ var index$c = require('./index-2ed6b546.js');
42
+ var index$i = require('./index-deae37ab.js');
43
+ var form = require('@mantine/form');
44
+ var useHealthToolCache = require('./useHealthToolCache-75252b30.js');
45
+ var index$h = require('./index-65ed0de1.js');
42
46
  var reactHookForm = require('react-hook-form');
43
- var useHealthToolCache = require('./useHealthToolCache-5890c8bb.js');
44
- var yup = require('@hookform/resolvers/yup');
45
- var index$h = require('./index-8e2df083.js');
46
- var index$i = require('./index-d8c16366.js');
47
- var constants = require('./constants-def9eb29.js');
48
- var index$k = require('./index-d782e0a0.js');
49
- require('./utils-6370d1da.js');
50
- require('./WhatsApp-7a67a5f6.js');
51
- require('./index.styled-e91d7f7f.js');
52
- require('./index-c0282d78.js');
53
- var useOutsideClick = require('./useOutsideClick-995c17a0.js');
47
+ require('./constants-e7f8b0d2.js');
48
+ require('./utils-a7153a3d.js');
49
+ var index$j = require('./index-f1979569.js');
50
+ require('./WhatsApp-7c990a33.js');
51
+ require('./index.styled-02090cfc.js');
52
+ require('./index-d9e9dcc3.js');
53
+ var useOutsideClick = require('./useOutsideClick-75a9127e.js');
54
54
  var enUS = require('date-fns/locale/en-US');
55
55
  var id = require('date-fns/locale/id');
56
56
  var vi = require('date-fns/locale/vi');
57
57
  var zhTW = require('date-fns/locale/zh-TW');
58
- var getSocialList = require('./getSocialList-7e9f1ce8.js');
58
+ var getSocialList = require('./getSocialList-64b3658e.js');
59
59
  var uuid = require('uuid');
60
- var routing = require('./routing-662b9ed3.js');
61
- var form = require('@mantine/form');
62
- var index$l = require('./index-e7c5a18f.js');
60
+ var routing = require('./routing-a06d4f70.js');
61
+ var index$l = require('./index-30b8b836.js');
63
62
  var core$1 = require('@hhgtech/icons/core');
64
- var index$m = require('./index-d1a16fdd.js');
63
+ var index$m = require('./index-3ee0bbab.js');
65
64
  var Cookies = require('js-cookie');
66
65
  var flatten = require('lodash/flatten');
67
66
  var uniqBy = require('lodash/uniqBy');
68
- var cookieHelper = require('./cookieHelper-d81861d8.js');
69
- var normalizeLink = require('./normalizeLink-fbc07120.js');
67
+ var cookieHelper = require('./cookieHelper-cdee4e84.js');
68
+ var normalizeLink = require('./normalizeLink-75a55356.js');
70
69
 
71
70
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
72
71
 
@@ -341,53 +340,6 @@ const RateStars = ({ gap = 2, size = 24, star, totalStars = 5, onSelect, hideEmp
341
340
  })));
342
341
  };
343
342
 
344
- const GenderOptionControl = (_a) => {
345
- var { label, availableValue: availableValueInit, styles, isBaby, genderValue = {
346
- male: 'male',
347
- female: 'female',
348
- } } = _a, radioGroupProps = tslib_es6.__rest(_a, ["label", "availableValue", "styles", "isBaby", "genderValue"]);
349
- const { t } = useTranslations.useTranslations();
350
- const { classes, cx } = index_styles.useStyles(undefined, {
351
- name: 'GenderOptionControl',
352
- styles,
353
- });
354
- const [availableValue, setAvailableValue] = React.useState();
355
- const ref = React.useRef(null);
356
- const genderOptions = React.useMemo(() => [
357
- {
358
- value: genderValue.male,
359
- label: isBaby ? t('gender.boy') : t('gender.male'),
360
- icon: index$5.CommonGAssets.getAssetPath(isBaby ? 'health-tools/boy-icon.svg' : 'health-tools/male-icon.svg'),
361
- },
362
- {
363
- value: genderValue.female,
364
- label: isBaby ? t('gender.girl') : t('gender.female'),
365
- icon: index$5.CommonGAssets.getAssetPath(isBaby
366
- ? 'health-tools/girl-icon.svg'
367
- : 'health-tools/female-icon.svg'),
368
- },
369
- ], []);
370
- React.useEffect(() => {
371
- setAvailableValue(availableValueInit);
372
- }, [availableValueInit]);
373
- return (React__default["default"].createElement(core.Box, { ref: ref, className: classes.root },
374
- React__default["default"].createElement(core.Radio.Group, Object.assign({ className: "radio-group", label: React__default["default"].createElement(index$2.Text, { as: "label", size: "s4", weight: "semiBold" }, label ||
375
- (isBaby ? t('tools.selectBabyGender') : t('tools.selectGender'))), size: "lg" }, radioGroupProps, { classNames: {
376
- error: classes.groupErr,
377
- } }),
378
- React__default["default"].createElement(core.Flex, { className: cx(classes.wrapper) }, genderOptions.map((i) => (React__default["default"].createElement(core.Radio, Object.assign({ className: "gender-item", classNames: {
379
- root: classes.itemRoot,
380
- labelWrapper: classes.itemLabelWrapper,
381
- label: classes.itemLabel,
382
- inner: classes.itemInner,
383
- }, key: i.value, value: i.value }, (availableValue &&
384
- i.value !== availableValue && {
385
- disabled: true,
386
- }), { label: React__default["default"].createElement(core.Flex, { gap: core.rem(8), align: 'center', justify: 'center', sx: { zIndex: 0 } },
387
- React__default["default"].createElement("img", { src: i.icon, className: "gender-image", alt: "female", loading: "lazy" }),
388
- React__default["default"].createElement(index$2.Text, { size: "p3" }, i.label)) }))))))));
389
- };
390
-
391
343
  var styles$6 = {"expertName":"PiqKaXk","anchor":"HgbW6-m","card":"_6lkfLYy","author":"j7c-onH","pointer":"wwI1--d"};
392
344
 
393
345
  const CardAuthor = ({ avatarImg, authorName, authorLink, uploadTime, size, }) => {
@@ -408,10 +360,10 @@ const CardExpert = ({ isMobile, avatarImg, name, link, size = 'lg', specialty, }
408
360
  React__default["default"].createElement("div", { className: "author" },
409
361
  React__default["default"].createElement("div", { className: "expert-avatar", "data-size": size }, avatarImg),
410
362
  React__default["default"].createElement("div", { className: "expert", "data-is-disabled-url": !!!link }, isMobile ? (React__default["default"].createElement("a", { href: link }, size === 'lg' ? (React__default["default"].createElement(React__default["default"].Fragment, null,
411
- React__default["default"].createElement(index$6.Heading, { tag: "h6", className: "expert__name", color: theme.theme.colors.gray600 }, name),
363
+ React__default["default"].createElement(index$5.Heading, { tag: "h6", className: "expert__name", color: theme.theme.colors.gray600 }, name),
412
364
  React__default["default"].createElement(index$2.Text, { color: theme.theme.colors.gray500, size: "p3", className: "specialty" }, specialty))) : (React__default["default"].createElement(React__default["default"].Fragment, null,
413
- React__default["default"].createElement(index$6.Heading, { tag: "h6", className: "expert__name", color: theme.theme.colors.gray600 }, name))))) : (React__default["default"].createElement("a", { href: link }, size === 'lg' ? (React__default["default"].createElement(React__default["default"].Fragment, null,
414
- React__default["default"].createElement(index$6.Heading, { tag: "h6", className: "expert__name", color: theme.theme.colors.gray600 }, name),
365
+ React__default["default"].createElement(index$5.Heading, { tag: "h6", className: "expert__name", color: theme.theme.colors.gray600 }, name))))) : (React__default["default"].createElement("a", { href: link }, size === 'lg' ? (React__default["default"].createElement(React__default["default"].Fragment, null,
366
+ React__default["default"].createElement(index$5.Heading, { tag: "h6", className: "expert__name", color: theme.theme.colors.gray600 }, name),
415
367
  React__default["default"].createElement(index$2.Text, { color: theme.theme.colors.gray500, size: "p3", className: "specialty" }, specialty))) : (React__default["default"].createElement(React__default["default"].Fragment, null,
416
368
  React__default["default"].createElement("h6", { color: theme.theme.colors.gray600, className: `${styles$6.expertName} expert__name` }, name),
417
369
  React__default["default"].createElement(index$2.Text, { color: theme.theme.colors.gray500, size: "p4", className: "specialty" }, specialty)))))))));
@@ -445,14 +397,14 @@ const ArticleCard$1 = ({ articleLink, authorLink, authorName, avatarImg, banner,
445
397
  return (React__default["default"].createElement("article", { className: `${styles$6.card} ${className || ''}`, "data-size": size, style: style, "data-direction": direction, "data-is-expert": type === 'expert' || undefined },
446
398
  React__default["default"].createElement("div", { className: "banner", style: styleBanner },
447
399
  React__default["default"].createElement("a", { className: styles$6.anchor, "data-event-category": dataEventCategoryForBanner, "data-event-action": dataEventActionForBanner, "data-event-label": dataEventLabelForBanner, href: articleLink || '#', target: articleLinkTarget }, banner),
448
- isPremium && (React__default["default"].createElement("img", { loading: "lazy", className: "premium", src: index$5.CommonGAssets.getAssetPath('premium-crown.svg') })),
400
+ isPremium && (React__default["default"].createElement("img", { loading: "lazy", className: "premium", src: index$6.CommonGAssets.getAssetPath('premium-crown.svg') })),
449
401
  hasAffiliate && React__default["default"].createElement(AffiliateIcon, null)),
450
402
  React__default["default"].createElement("div", { className: "content" },
451
403
  React__default["default"].createElement("div", { className: "inner-content" },
452
404
  React__default["default"].createElement(index$2.Text, { style: styleLabel, className: "label", size: categoryLabelTag, weight: "caption" },
453
405
  React__default["default"].createElement("a", { className: styles$6.anchor, "data-event-category": dataEventCategoryForCategory, "data-event-action": dataEventActionForCategory, "data-event-label": dataEventLabelForCategory, href: categoryLink || '#', onClick: onClickCategoryName }, categoryName),
454
406
  isBookmarkDisplayed && (React__default["default"].createElement("a", { className: "bookmark", onClick: handleClick }, !isBookmark ? (React__default["default"].createElement(other.Bookmark, { size: 18, "data-event-category": dataEventCategoryForBookmark, "data-event-action": dataEventActionForBookmark, "data-event-label": dataEventLabelForBookmark })) : (React__default["default"].createElement(other.Bookmark, { size: 18, isActive: true, "data-event-category": dataEventCategoryForBookmark, "data-event-action": dataEventActionForBookmark, "data-event-label": dataEventLabelForBookmark, activeColor: "#2ED69E" }))))),
455
- React__default["default"].createElement(index$6.Heading, { tag: headingTag, style: styleTitle, className: "title", as: headingAs || (size === 'lg' ? 'h2' : 'h3') },
407
+ React__default["default"].createElement(index$5.Heading, { tag: headingTag, style: styleTitle, className: "title", as: headingAs || (size === 'lg' ? 'h2' : 'h3') },
456
408
  React__default["default"].createElement("a", { className: styles$6.anchor, "data-event-category": dataEventCategoryForTitle, "data-event-action": dataEventActionForTitle, "data-event-label": dataEventLabelForTitle, href: articleLink || '#', target: articleLinkTarget }, title)),
457
409
  text && (React__default["default"].createElement("a", { href: articleLink || '#', target: articleLinkTarget },
458
410
  React__default["default"].createElement(index$2.Text, { size: descriptionTag, className: "text" }, text)))),
@@ -516,7 +468,7 @@ const _Horizontal = (_a) => {
516
468
 
517
469
  // MyComponent.styles.ts
518
470
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
519
- var useStyles$5 = core.createStyles((_theme, {}) => ({
471
+ var useStyles$6 = core.createStyles((_theme, {}) => ({
520
472
  // add all styles as usual
521
473
  root: {},
522
474
  image: {},
@@ -536,7 +488,7 @@ const _Vertical = (_a) => {
536
488
  // size = 'lg',
537
489
  classNames, styles, unstyled, className } = _a, rest = tslib_es6.__rest(_a, ["article", "author", "authorAvatar", "badge", "bannerImageWrapProps", "hideDescription", "isBookmarked", "onBookmark", "time", "tracking", "classNames", "styles", "unstyled", "className"]);
538
490
  const { isMobile } = index$3.useScreenSize();
539
- const { classes, cx } = useStyles$5(
491
+ const { classes, cx } = useStyles$6(
540
492
  // First argument of useStyles is styles params
541
493
  {},
542
494
  // Second argument is responsible for styles api integration
@@ -1742,7 +1694,7 @@ const StyledTableBody = styled__default["default"].tbody `
1742
1694
  }
1743
1695
  }
1744
1696
  `;
1745
- const Body = ({ children, className, style, isHoverable, isStriped, }) => {
1697
+ const Body$1 = ({ children, className, style, isHoverable, isStriped, }) => {
1746
1698
  return (React__default["default"].createElement(StyledTableBody, { className: className, style: style, "data-is-striped": isStriped || undefined, "data-is-hoverable": isHoverable || undefined }, children));
1747
1699
  };
1748
1700
 
@@ -1752,10 +1704,10 @@ var index = /*#__PURE__*/Object.freeze({
1752
1704
  Cell: Cell,
1753
1705
  Head: Head,
1754
1706
  Row: Row,
1755
- Body: Body
1707
+ Body: Body$1
1756
1708
  });
1757
1709
 
1758
- var useStyles$4 = core.createStyles((theme) => {
1710
+ var useStyles$5 = core.createStyles((theme) => {
1759
1711
  const itemLabelRef = core.getStylesRef('itemLabel');
1760
1712
  return {
1761
1713
  root: {
@@ -1807,7 +1759,7 @@ var useStyles$4 = core.createStyles((theme) => {
1807
1759
  * @deprecated Consider to use mantine
1808
1760
  */
1809
1761
  const Tabs = ({ style, initialTab, tabContent, onChange, className, dataEventCategory, dataEventAction, dataEventLabel, id, styles, }) => {
1810
- const { classes, cx, theme } = useStyles$4(undefined, { name: 'Tabs', styles });
1762
+ const { classes, cx, theme } = useStyles$5(undefined, { name: 'Tabs', styles });
1811
1763
  const [activeTab, setActiveTab] = React.useState(initialTab || 0);
1812
1764
  React.useEffect(() => {
1813
1765
  setActiveTab(initialTab);
@@ -2127,7 +2079,7 @@ const SurveyQuestionContent = ({ question, description, onOptionsChange, onTextO
2127
2079
  }, [!!onTextOptionsChange, textOptions]);
2128
2080
  return (React__default["default"].createElement(StyledSurveyQuestionContent, { className: className, style: style },
2129
2081
  React__default["default"].createElement("div", { className: "survey-question-text-wrapper" },
2130
- title && (React__default["default"].createElement(index$6.Heading, { "data-nosubtitle": !subtitle, className: "survey-question-title", tag: "h4" }, title)),
2082
+ title && (React__default["default"].createElement(index$5.Heading, { "data-nosubtitle": !subtitle, className: "survey-question-title", tag: "h4" }, title)),
2131
2083
  subtitle && (React__default["default"].createElement(index$2.Text, { className: "survey-question-subtitle", size: "p2" }, subtitle)),
2132
2084
  description && (React__default["default"].createElement(index$2.Text, { className: "survey-question-description", size: "p2" }, description))),
2133
2085
  image && (React__default["default"].createElement("img", { src: image, className: "survey-question-image", loading: "lazy" })),
@@ -2260,7 +2212,7 @@ const SurveyThankyouCard = ({ thankyou, thankyouSubtitle, className, style, }) =
2260
2212
  React__default["default"].createElement("path", { d: "M1.533 62c-.269 1.413 1.142 2.337 2.82 1.848l.672-.218c1.678-.543 3.089.38 2.82 1.848l-.134.544c-.269 1.413 1.141 2.337 2.82 1.848l.671-.218c1.68-.543 3.09.38 2.82 1.848l-.134.543c-.201 1.087.538 1.848 1.612 1.957M118 92a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM82 3.187l1.188 4.348 4.347-1.188L86.347 2 82 3.187Z", stroke: "#00B16A" }),
2261
2213
  React__default["default"].createElement("path", { stroke: "#FE921D", d: "M17 28a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" }),
2262
2214
  React__default["default"].createElement("path", { d: "M61.5 26.667c-7.364 0-13.333 5.97-13.333 13.333 0 7.364 5.969 13.333 13.333 13.333S74.833 47.364 74.833 40 68.864 26.667 61.5 26.667Zm7.61 10.276-9.334 9.333a1.33 1.33 0 0 1-1.885 0l-4-4a1.332 1.332 0 1 1 1.885-1.885l3.057 3.057 8.391-8.39a1.332 1.332 0 1 1 1.885 1.885Z", fill: "#00CB8A" })),
2263
- thankyou && (React__default["default"].createElement(index$6.Heading, { className: "survey-thankyou-title", tag: "h3" }, thankyou)),
2215
+ thankyou && (React__default["default"].createElement(index$5.Heading, { className: "survey-thankyou-title", tag: "h3" }, thankyou)),
2264
2216
  thankyouSubtitle && (React__default["default"].createElement(index$2.Text, { className: "survey-thankyou-subtitle", size: "p3" }, thankyouSubtitle)))))));
2265
2217
  };
2266
2218
 
@@ -3038,30 +2990,16 @@ const StyledWrapper$1 = utils$1.setDefaultClass(styled__default["default"].div `
3038
2990
  position: relative;
3039
2991
  width: 100%;
3040
2992
  height: 100%;
3041
- background: ${(props) => props.bgColor};
3042
- background-color: inherit;
3043
-
3044
- &[data-site='marryBaby'] {
3045
- background-color: ${(props) => props['data-banner-color'] || '#5EC08F'};
3046
- background-image: none;
3047
- padding-bottom: 0;
3048
- &[data-is-embedded='true'] {
3049
- border-top-left-radius: 16px;
3050
- border-top-right-radius: 16px;
3051
- }
3052
- }
3053
2993
  `, 'hhgcomp-toolbanner-wrapper');
3054
- const StyledContainer$4 = styled__default["default"].div `
2994
+ const StyledContainer = styled__default["default"].div `
3055
2995
  width: 100%;
3056
- ${utils.MediaQueries.mbDown} {
3057
- padding-bottom: 24px;
3058
- }
3059
-
3060
2996
  a {
3061
2997
  text-decoration: none;
3062
2998
  color: inherit;
3063
2999
  }
3064
3000
 
3001
+ background-color: ${(props) => props['data-banner-color'] || index$3.themeColors.blue[1]};
3002
+
3065
3003
  &[data-site='marryBaby'] {
3066
3004
  a {
3067
3005
  text-decoration: underline;
@@ -3098,18 +3036,6 @@ const StyledContainer$4 = styled__default["default"].div `
3098
3036
  }
3099
3037
  }
3100
3038
  `;
3101
- const StyledWrapEmbedded = styled__default["default"].div `
3102
- display: flex;
3103
- flex-direction: row;
3104
- align-items: center;
3105
- padding: 16px 24px;
3106
- gap: 16px;
3107
- width: 100%;
3108
- /* background-color: ; */
3109
- ${utils.MediaQueries.mbDown} {
3110
- padding: 16px 0;
3111
- }
3112
- `;
3113
3039
  const StyledIcon = styled__default["default"].div `
3114
3040
  background: #ffffff;
3115
3041
  border-radius: 16px;
@@ -3125,64 +3051,26 @@ const StyledIcon = styled__default["default"].div `
3125
3051
  max-height: 24px;
3126
3052
  transform: translate(-50%, -50%);
3127
3053
  }
3128
- `;
3129
- const StyledHeadingMB = styled__default["default"].div `
3130
- display: flex;
3131
- align-items: flex-start;
3132
- flex-direction: column;
3133
- justify-content: space-between;
3134
- gap: 0;
3135
- width: 100%;
3136
- `;
3137
- const StyledMedicalReviewedMB = styled__default["default"].div `
3138
- display: flex;
3139
- align-items: flex-start;
3140
- font-weight: 400;
3141
- font-size: 12px;
3142
- line-height: 18px;
3143
- letter-spacing: -0.2px;
3144
- color: #f3f3f3;
3145
-
3146
- > img {
3147
- margin-top: 2px;
3148
- margin-right: 4px;
3149
- }
3150
- &[data-is-mobile='false'] {
3151
- > img {
3152
- width: 16px;
3153
- height: 16px;
3154
- }
3155
- }
3156
- &[data-is-mobile='true'] {
3157
- > img {
3158
- width: 14px;
3159
- height: 14px;
3160
- }
3161
- }
3162
3054
  `;
3163
3055
 
3164
- const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerUrl, bannerUrlLarge, bannerColor, medicalReview = {
3056
+ const ToolsBannerCard = ({ className, heading, isMobile, bannerUrl, bannerUrlLarge, bannerColor, medicalReview = {
3165
3057
  link: '#',
3166
3058
  reviewer: '',
3167
3059
  date: '',
3168
- }, icon, style, siteType, isEmbeded, }) => {
3169
- var _a, _b;
3060
+ }, icon, style, isEmbeded, isPregTool, }) => {
3170
3061
  const { t } = useTranslations.useTranslations();
3171
3062
  const theme = core.useMantineTheme();
3063
+ const isMarryBaby = theme.other.template === 'mb';
3064
+ const siteType = isMarryBaby ? 'marryBaby' : 'helloSites';
3172
3065
  const headingAs = 'h2';
3173
3066
  const bannerBgUrl = isMobile
3174
3067
  ? bannerUrl
3175
3068
  : bannerUrlLarge
3176
3069
  ? bannerUrlLarge
3177
3070
  : bannerUrl;
3178
- const colorShade = {
3179
- pink: [8, 6],
3180
- };
3181
- const bgColorShade = theme.colors[color] || theme.colors.blue;
3182
- const medicalReviewEle = (medicalReview === null || medicalReview === void 0 ? void 0 : medicalReview.reviewer) ? (React__default["default"].createElement(index$2.Text, { size: "label2", color: "#fff", as: "div", className: "embedded-review", sx: {
3071
+ const medicalReviewEle = (medicalReview === null || medicalReview === void 0 ? void 0 : medicalReview.reviewer) ? (React__default["default"].createElement(index$2.Text, { size: "label2", as: "div", className: "embedded-review", sx: {
3183
3072
  a: {
3184
3073
  textUnderlineOffset: '2px',
3185
- color: '#fff',
3186
3074
  textDecoration: 'underline',
3187
3075
  },
3188
3076
  } },
@@ -3192,22 +3080,22 @@ const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerU
3192
3080
  date: medicalReview.date,
3193
3081
  }),
3194
3082
  } }))) : null;
3195
- return (React__default["default"].createElement(StyledContainer$4, { "data-is-mobile": isMobile, style: style, "data-site": siteType },
3196
- React__default["default"].createElement(StyledWrapper$1, { className: className, "data-banner-url": bannerBgUrl, "data-is-mobile": isMobile, "data-site": siteType, "data-banner-color": bannerColor, "data-is-embedded": isEmbeded, bgColor: `linear-gradient(71deg, ${bgColorShade === null || bgColorShade === void 0 ? void 0 : bgColorShade[((_a = colorShade[color]) === null || _a === void 0 ? void 0 : _a[0]) || 7]} -4.07%, ${bgColorShade === null || bgColorShade === void 0 ? void 0 : bgColorShade[((_b = colorShade[color]) === null || _b === void 0 ? void 0 : _b[1]) || 4]} 90.13%)}` }, siteType === 'marryBaby' && isEmbeded ? (React__default["default"].createElement(StyledWrapEmbedded, null,
3197
- React__default["default"].createElement(StyledIcon, null, icon),
3198
- React__default["default"].createElement(StyledHeadingMB, null,
3199
- React__default["default"].createElement(index$6.Heading, { color: 'white', tag: "h5", as: headingAs }, heading),
3200
- medicalReview && (React__default["default"].createElement(StyledMedicalReviewedMB, { "data-is-mobile": isMobile }, medicalReviewEle))))) : (React__default["default"].createElement(core.Flex, { gap: core.rem(24), align: 'center', justify: 'space-between', sx: { padding: `${core.rem(13)} ${core.rem(20)}`, gap: core.rem(24) } },
3201
- React__default["default"].createElement(core.Box, null,
3202
- React__default["default"].createElement(index$6.Heading, { tag: "h5", as: headingAs, color: "#fff" }, heading),
3203
- medicalReview && (React__default["default"].createElement(index$2.Text, { size: "n1", as: "div" }, medicalReviewEle))),
3204
- React__default["default"].createElement(core.Flex, { justify: 'center', align: 'center', sx: (theme) => {
3205
- var _a, _b;
3206
- return ({
3083
+ return (React__default["default"].createElement(StyledContainer, { className: className, "data-is-mobile": isMobile, style: style, "data-site": siteType, "data-banner-color": bannerColor ||
3084
+ (isPregTool
3085
+ ? theme.colors.pink[2]
3086
+ : isMarryBaby
3087
+ ? theme.colors.mb[2]
3088
+ : theme.colors.blue[1]) },
3089
+ React__default["default"].createElement(StyledWrapper$1, { "data-banner-url": bannerBgUrl, "data-is-mobile": isMobile, "data-is-embedded": isEmbeded },
3090
+ React__default["default"].createElement(core.Flex, { gap: core.rem(24), align: 'center', justify: 'space-between', sx: { padding: core.rem(16), gap: core.rem(24) } },
3091
+ React__default["default"].createElement(core.Box, null,
3092
+ React__default["default"].createElement(index$5.Heading, { tag: "h5", as: headingAs }, heading),
3093
+ medicalReview && (React__default["default"].createElement(index$2.Text, { size: "n1", as: "div" }, medicalReviewEle))),
3094
+ isMarryBaby ? (React__default["default"].createElement(StyledIcon, null, icon)) : (React__default["default"].createElement(core.Flex, { justify: 'center', align: 'center', sx: (theme) => ({
3207
3095
  width: core.rem(64),
3208
3096
  height: core.rem(64),
3209
3097
  borderRadius: '50%',
3210
- background: ((_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a[color]) === null || _b === void 0 ? void 0 : _b[0]) || theme.colors.blue[0],
3098
+ backgroundColor: '#fff',
3211
3099
  flexShrink: 0,
3212
3100
  img: {
3213
3101
  maxWidth: core.rem(48),
@@ -3221,8 +3109,7 @@ const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerU
3221
3109
  maxHeight: core.rem(40),
3222
3110
  },
3223
3111
  },
3224
- });
3225
- } }, icon))))));
3112
+ }) }, icon))))));
3226
3113
  };
3227
3114
 
3228
3115
  const StyledDropDown = styled__default["default"](index$c.Dropdown) `
@@ -3254,110 +3141,6 @@ const StyledDropDown = styled__default["default"](index$c.Dropdown) `
3254
3141
  }
3255
3142
  `;
3256
3143
 
3257
- styled__default["default"](index_styles.PureInput) `
3258
- & input,
3259
- .mantine-Input-input {
3260
- border-color: ${theme.theme.mbColors.lightGray};
3261
- background-color: ${theme.theme.colors.white};
3262
- border-radius: 16px;
3263
- transition: all 0.2s ease;
3264
- &:focus,
3265
- &:hover {
3266
- border-color: ${theme.theme.mbColors.pink};
3267
- box-shadow: none;
3268
- }
3269
- }
3270
-
3271
- & .displayIcon {
3272
- pointer-events: none;
3273
- }
3274
- `;
3275
- const StyledTextField = styled__default["default"](index$9.Input) `
3276
- & label {
3277
- position: absolute;
3278
- z-index: 1;
3279
- top: 16px;
3280
-
3281
- left: 16px;
3282
- color: ${theme.theme.mbColors.midGray};
3283
- pointer-events: none;
3284
- transition: all 0.2s ease;
3285
- white-space: nowrap;
3286
- overflow: hidden;
3287
- text-overflow: ellipsis;
3288
- max-width: 240px;
3289
-
3290
- &[data-size='label2'] {
3291
- font-size: 12px;
3292
- }
3293
-
3294
- ${utils.MediaQueries.tdDown} {
3295
- max-width: 220px;
3296
- }
3297
- }
3298
- & input,
3299
- .mantine-Input-input {
3300
- ::placeholder {
3301
- color: ${theme.theme.mbColors.gray};
3302
- font-size: 14px;
3303
- }
3304
-
3305
- ::-webkit-input-placeholder {
3306
- /* Chrome/Opera/Safari */
3307
- color: ${theme.theme.mbColors.gray};
3308
- font-size: 14px;
3309
- }
3310
- ::-moz-placeholder {
3311
- /* Firefox 19+ */
3312
- color: ${theme.theme.mbColors.gray};
3313
- font-size: 14px;
3314
- }
3315
- :-ms-input-placeholder {
3316
- /* IE 10+ */
3317
- color: ${theme.theme.mbColors.gray};
3318
- font-size: 14px;
3319
- }
3320
- :-moz-placeholder {
3321
- /* Firefox 18- */
3322
- color: ${theme.theme.mbColors.gray};
3323
- font-size: 14px;
3324
- }
3325
- height: ${(props) => (props.size === 'sm' ? 48 : 72)}px !important;
3326
- padding-top: 27px !important;
3327
- border-color: ${theme.theme.mbColors.lightGray} !important;
3328
- background-color: ${theme.theme.colors.white};
3329
- border-radius: 16px !important;
3330
- transition: all 0.2s ease;
3331
- padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
3332
-
3333
- &:focus,
3334
- &:hover {
3335
- border-color: ${theme.theme.mbColors.pink};
3336
- box-shadow: none;
3337
- }
3338
- }
3339
- .mantine-Input-rightSection,
3340
- .mantine-Input-leftSection {
3341
- padding-top: 20px;
3342
- }
3343
-
3344
- &[data-has-action-icon] {
3345
- input,
3346
- .mantine-Input-input {
3347
- padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
3348
- padding-bottom: ${(props) => (props.value ? '16px' : '27px')} !important;
3349
- height: unset !important;
3350
- }
3351
-
3352
- label {
3353
- position: absolute;
3354
- z-index: 1;
3355
- top: 16px;
3356
- padding-right: 46px;
3357
- }
3358
- }
3359
- `;
3360
-
3361
3144
  const StyledMethodContainer = styled__default["default"].div `
3362
3145
  width: 100%;
3363
3146
  `;
@@ -3439,90 +3222,30 @@ styled__default["default"](StyledImageIcon) `
3439
3222
  margin-right: 4px;
3440
3223
  `;
3441
3224
 
3442
- var DueDateCalculatorType;
3443
- (function (DueDateCalculatorType) {
3444
- DueDateCalculatorType[DueDateCalculatorType["lastPeriod"] = 0] = "lastPeriod";
3445
- DueDateCalculatorType[DueDateCalculatorType["conception"] = 1] = "conception";
3446
- DueDateCalculatorType[DueDateCalculatorType["IVF"] = 2] = "IVF";
3447
- })(DueDateCalculatorType || (DueDateCalculatorType = {}));
3448
- const API_DATE_FORMAT = 'yyyy-MM-dd';
3449
- const getDueDateLastPeriod = (lastPeriodDate, periodLength) => {
3450
- const pregnancyLength = 272 + (periodLength - 21);
3451
- const dueDate = new Date(lastPeriodDate);
3452
- dueDate.setDate(dueDate.getDate() + pregnancyLength);
3453
- return {
3454
- startDate: lastPeriodDate,
3455
- dueDate,
3456
- otherInfo: {
3457
- method: DueDateCalculatorType.lastPeriod + 1,
3458
- first_day: dateFns.format(lastPeriodDate, API_DATE_FORMAT),
3459
- cycle_length_days: periodLength,
3460
- conception_date: null,
3461
- ivf_transfer_date: null,
3462
- days_transfer: null,
3463
- },
3464
- };
3465
- };
3466
- const getDueDateConception = (conceptionDate) => {
3467
- const dueDate = new Date(conceptionDate);
3468
- dueDate.setDate(dueDate.getDate() + 265);
3469
- return {
3470
- startDate: conceptionDate,
3471
- dueDate,
3472
- otherInfo: {
3473
- method: DueDateCalculatorType.conception + 1,
3474
- conception_date: dateFns.format(conceptionDate, API_DATE_FORMAT),
3475
- first_day: null,
3476
- cycle_length_days: null,
3477
- ivf_transfer_date: null,
3478
- days_transfer: null,
3479
- },
3480
- };
3481
- };
3482
- const getDueDateIVF = (IVFDate, numDayTransfer) => {
3483
- const dueDate = new Date(IVFDate);
3484
- dueDate.setDate(dueDate.getDate() + 265 - numDayTransfer);
3485
- return {
3486
- startDate: IVFDate,
3487
- dueDate,
3488
- otherInfo: {
3489
- method: DueDateCalculatorType.IVF + 1,
3490
- ivf_transfer_date: dateFns.format(IVFDate, API_DATE_FORMAT),
3491
- days_transfer: numDayTransfer,
3492
- conception_date: null,
3493
- first_day: null,
3494
- cycle_length_days: null,
3495
- },
3496
- };
3497
- };
3498
- const DateToInputValue = (date) => {
3499
- return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
3500
- };
3501
-
3502
3225
  const DueDateFormConception = ({ locale, onClick, siteType, pageUrl, }) => {
3503
3226
  const { t } = useTranslations.useTranslations();
3504
3227
  const [conceptionDate, setConceptionDate] = React.useState(new Date());
3505
3228
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
3506
- React__default["default"].createElement(StyledLastPeriodFormContainer, { className: "input-form", "data-is-side": true }, siteType === 'marryBaby' ? (React__default["default"].createElement(StyledTextField, { label: t('dueDatePage.conceptionDate'), name: "date", size: "md", value: DateToInputValue(conceptionDate), CustomInput: React__default["default"].createElement(index$d.DatePicker, { onChange: (date) => {
3229
+ React__default["default"].createElement(StyledLastPeriodFormContainer, { className: "input-form", "data-is-side": true }, siteType === 'marryBaby' ? (React__default["default"].createElement(index$d.StyledTextField, { label: t('dueDatePage.conceptionDate'), name: "date", size: "md", value: index$d.DateToInputValue(conceptionDate), CustomInput: React__default["default"].createElement(index$e.DatePicker, { onChange: (date) => {
3507
3230
  setConceptionDate(date);
3508
3231
  }, placeholder: "dd/mm/yyyy", pickedDate: conceptionDate, displayDateFormat: 'dd/MM/yyyy', disabledDays: {
3509
3232
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3510
3233
  }, customInput: (props) => {
3511
3234
  return (React__default["default"].createElement(index$9.Input, Object.assign({ className: "due-date-input", name: "birthday", size: "md" }, props, { value: conceptionDate &&
3512
3235
  dayjs__default["default"](conceptionDate).format(utils$1.DUE_DATE_FORMAT) })));
3513
- } }), actionIcon: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) : (React__default["default"].createElement(index$9.Input, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600, style: { marginBottom: '9px', flex: '1' } }, t('dueDatePage.conceptionDate')), value: DateToInputValue(conceptionDate), name: "date", size: "md",
3236
+ } }), actionIcon: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) : (React__default["default"].createElement(index$9.Input, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600, style: { marginBottom: '9px', flex: '1' } }, t('dueDatePage.conceptionDate')), value: index$d.DateToInputValue(conceptionDate), name: "date", size: "md",
3514
3237
  // type={'date' as 'text'}
3515
3238
  className: "due-date-input",
3516
3239
  // onChange={(value) => {
3517
3240
  // setConceptionDate(new Date(value))
3518
3241
  // }}
3519
- CustomInput: React__default["default"].createElement(index$d.DatePicker, { customInput: (props) => (React__default["default"].createElement("input", Object.assign({ type: "date", className: "due-date-input" }, props, { value: DateToInputValue(conceptionDate) }))), disabledDays: {
3242
+ CustomInput: React__default["default"].createElement(index$e.DatePicker, { customInput: (props) => (React__default["default"].createElement("input", Object.assign({ type: "date", className: "due-date-input" }, props, { value: index$d.DateToInputValue(conceptionDate) }))), disabledDays: {
3520
3243
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3521
3244
  }, locale: locale, pickedDate: conceptionDate, displayDateFormat: types.DATE_FORMAT, onChange: (date) => {
3522
3245
  setConceptionDate(date);
3523
3246
  }, placeholder: "placeholder" }) }))),
3524
3247
  React__default["default"].createElement(index$3.Button, { className: "due-date-calculate-button", size: "lg", variant: siteType === 'marryBaby' ? 'secondary' : 'primary', dataEventCategory: "Health Tool", dataEventAction: "Due Date", dataEventLabel: pageUrl, onClick: () => {
3525
- onClick(getDueDateConception(conceptionDate), `${index$b.QUERY_HEALTH_TOOL.type}=1&sd=${dateFns.format(conceptionDate, API_DATE_FORMAT)}&${index$b.QUERY_HEALTH_TOOL.additional}= `);
3248
+ onClick(index$d.getDueDateConception(conceptionDate), `${index$b.QUERY_HEALTH_TOOL.type}=1&sd=${dateFns.format(conceptionDate, index$d.API_DATE_FORMAT)}&${index$b.QUERY_HEALTH_TOOL.additional}= `);
3526
3249
  }, role: "button" }, t('dueDatePage.lastPeriod.calculate'))));
3527
3250
  };
3528
3251
 
@@ -3531,19 +3254,19 @@ const DueDateFormIVF = ({ locale, onClick, siteType, pageUrl }) => {
3531
3254
  const [IVFDate, setIVFDate] = React.useState(new Date());
3532
3255
  const [dayTransfer, setDayTransfer] = React.useState('3');
3533
3256
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
3534
- React__default["default"].createElement(StyledLastPeriodFormContainer, { className: "input-form", "data-is-side": true }, siteType === 'marryBaby' ? (React__default["default"].createElement(StyledTextField, { label: t('dueDatePage.ivf.transferDate'), name: "date", size: "md", value: DateToInputValue(IVFDate), CustomInput: React__default["default"].createElement(index$d.DatePicker, { onChange: (date) => {
3257
+ React__default["default"].createElement(StyledLastPeriodFormContainer, { className: "input-form", "data-is-side": true }, siteType === 'marryBaby' ? (React__default["default"].createElement(index$d.StyledTextField, { label: t('dueDatePage.ivf.transferDate'), name: "date", size: "md", value: index$d.DateToInputValue(IVFDate), CustomInput: React__default["default"].createElement(index$e.DatePicker, { onChange: (date) => {
3535
3258
  setIVFDate(date);
3536
3259
  }, placeholder: "dd/mm/yyyy", pickedDate: IVFDate, displayDateFormat: 'dd/MM/yyyy', disabledDays: {
3537
3260
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3538
3261
  }, customInput: (props) => {
3539
3262
  return (React__default["default"].createElement(index$9.Input, Object.assign({ className: "due-date-input", name: "birthday", size: "md" }, props, { value: IVFDate && dayjs__default["default"](IVFDate).format(utils$1.DUE_DATE_FORMAT) })));
3540
- } }), actionIcon: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) : (React__default["default"].createElement(index$9.Input, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray700, style: { marginBottom: '9px', flex: '1' } }, t('dueDatePage.ivf.transferDate')), value: DateToInputValue(IVFDate), name: "date", size: "md",
3263
+ } }), actionIcon: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) : (React__default["default"].createElement(index$9.Input, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray700, style: { marginBottom: '9px', flex: '1' } }, t('dueDatePage.ivf.transferDate')), value: index$d.DateToInputValue(IVFDate), name: "date", size: "md",
3541
3264
  // type={'date' as 'text'}
3542
3265
  className: "due-date-input",
3543
3266
  // onChange={(value) => {
3544
3267
  // setIVFDate(new Date(value))
3545
3268
  // }}
3546
- CustomInput: React__default["default"].createElement(index$d.DatePicker, { customInput: (props) => (React__default["default"].createElement("input", Object.assign({ type: "date", className: "due-date-input" }, props, { value: DateToInputValue(IVFDate) }))), disabledDays: {
3269
+ CustomInput: React__default["default"].createElement(index$e.DatePicker, { customInput: (props) => (React__default["default"].createElement("input", Object.assign({ type: "date", className: "due-date-input" }, props, { value: index$d.DateToInputValue(IVFDate) }))), disabledDays: {
3547
3270
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3548
3271
  }, locale: locale, pickedDate: IVFDate, displayDateFormat: types.DATE_FORMAT, onChange: (date) => {
3549
3272
  setIVFDate(date);
@@ -3566,7 +3289,7 @@ const DueDateFormIVF = ({ locale, onClick, siteType, pageUrl }) => {
3566
3289
  },
3567
3290
  ] })),
3568
3291
  React__default["default"].createElement(index$3.Button, { className: "due-date-calculate-button", size: "lg", variant: siteType === 'marryBaby' ? 'secondary' : 'primary', dataEventCategory: "Health Tool", dataEventAction: "Due Date", dataEventLabel: pageUrl, onClick: () => {
3569
- onClick(getDueDateIVF(IVFDate, Number(dayTransfer)), `${index$b.QUERY_HEALTH_TOOL.type}=2&${index$b.QUERY_HEALTH_TOOL.startDate}=${dateFns.format(IVFDate, API_DATE_FORMAT)}&${index$b.QUERY_HEALTH_TOOL.additional}=${dayTransfer}`);
3292
+ onClick(index$d.getDueDateIVF(IVFDate, Number(dayTransfer)), `${index$b.QUERY_HEALTH_TOOL.type}=2&${index$b.QUERY_HEALTH_TOOL.startDate}=${dateFns.format(IVFDate, index$d.API_DATE_FORMAT)}&${index$b.QUERY_HEALTH_TOOL.additional}=${dayTransfer}`);
3570
3293
  }, role: "button" }, t('dueDatePage.lastPeriod.calculate'))));
3571
3294
  };
3572
3295
 
@@ -3575,26 +3298,26 @@ const DueDateFormLastPeriod = ({ locale, onClick, siteType, pageUrl, }) => {
3575
3298
  const [periodLength, setPeriodLength] = React.useState(28);
3576
3299
  const [lastPeriodDate, setLastPeriodDate] = React.useState(new Date());
3577
3300
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
3578
- React__default["default"].createElement(StyledLastPeriodFormContainer, { className: "input-form", "data-is-side": true }, siteType === 'marryBaby' ? (React__default["default"].createElement(StyledTextField, { label: t('dueDatePage.lastPeriod.lastPeriodLabel'), name: "date", size: "md", value: DateToInputValue(lastPeriodDate), CustomInput: React__default["default"].createElement(index$d.DatePicker, { onChange: (date) => {
3301
+ React__default["default"].createElement(StyledLastPeriodFormContainer, { className: "input-form", "data-is-side": true }, siteType === 'marryBaby' ? (React__default["default"].createElement(index$d.StyledTextField, { label: t('dueDatePage.lastPeriod.lastPeriodLabel'), name: "date", size: "md", value: index$d.DateToInputValue(lastPeriodDate), CustomInput: React__default["default"].createElement(index$e.DatePicker, { onChange: (date) => {
3579
3302
  setLastPeriodDate(date);
3580
3303
  }, placeholder: "dd/mm/yyyy", pickedDate: lastPeriodDate, displayDateFormat: 'dd/MM/yyyy', disabledDays: {
3581
3304
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3582
3305
  }, customInput: (props) => {
3583
3306
  return (React__default["default"].createElement(index$9.Input, Object.assign({ name: "birthday", size: "md" }, props, { value: lastPeriodDate &&
3584
3307
  dayjs__default["default"](lastPeriodDate).format(utils$1.DUE_DATE_FORMAT) })));
3585
- } }), actionIcon: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) : (React__default["default"].createElement(index$9.Input, { className: "input-section due-date-input", label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600, style: { marginBottom: '9px', flex: '1' } }, t('dueDatePage.lastPeriod.lastPeriodLabel')), value: DateToInputValue(lastPeriodDate), name: "date", size: "md", CustomInput: React__default["default"].createElement(index$d.DatePicker, { customInput: (props) => (React__default["default"].createElement("input", Object.assign({ type: "date", className: "due-date-input" }, props, { value: DateToInputValue(lastPeriodDate) }))), disabledDays: {
3308
+ } }), actionIcon: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) : (React__default["default"].createElement(index$9.Input, { className: "input-section due-date-input", label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600, style: { marginBottom: '9px', flex: '1' } }, t('dueDatePage.lastPeriod.lastPeriodLabel')), value: index$d.DateToInputValue(lastPeriodDate), name: "date", size: "md", CustomInput: React__default["default"].createElement(index$e.DatePicker, { customInput: (props) => (React__default["default"].createElement("input", Object.assign({ type: "date", className: "due-date-input" }, props, { value: index$d.DateToInputValue(lastPeriodDate) }))), disabledDays: {
3586
3309
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3587
3310
  }, locale: locale, pickedDate: lastPeriodDate, displayDateFormat: types.DATE_FORMAT, onChange: (date) => {
3588
3311
  setLastPeriodDate(date);
3589
3312
  }, placeholder: "placeholder" }) }))),
3590
3313
  React__default["default"].createElement("div", { className: "slider-due-date", "data-theme": siteType === 'marryBaby' ? 'marryBaby' : '' },
3591
- siteType === 'marryBaby' ? (React__default["default"].createElement(index$e.MarryBabyText, { type: "bodytext-3", color: theme.theme.mbColors.midGray }, t('dueDatePage.lastPeriod.periodLengthLabel'))) : (React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600, style: { marginBottom: '0.5rem' } }, t('dueDatePage.lastPeriod.periodLengthLabel'))),
3314
+ siteType === 'marryBaby' ? (React__default["default"].createElement(index$f.MarryBabyText, { type: "bodytext-3", color: theme.theme.mbColors.midGray }, t('dueDatePage.lastPeriod.periodLengthLabel'))) : (React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600, style: { marginBottom: '0.5rem' } }, t('dueDatePage.lastPeriod.periodLengthLabel'))),
3592
3315
  React__default["default"].createElement("div", { className: "slider-outer-wrapper" },
3593
3316
  siteType === 'marryBaby' && (React__default["default"].createElement(index$2.Text, { size: "s3", weight: "semiBold", color: theme.theme.colors.gray600 }, periodLength)),
3594
- React__default["default"].createElement(index$f.Slider, { containerStyle: {
3317
+ React__default["default"].createElement(index$g.Slider, { containerStyle: {
3595
3318
  flex: 1,
3596
3319
  }, min: 20, max: 40, step: 1, labelAlwaysOn: siteType !== 'marryBaby', withControl: siteType !== 'marryBaby', onChange: setPeriodLength, value: periodLength, label: siteType !== 'marryBaby' ? undefined : null }))),
3597
- React__default["default"].createElement(index$3.Button, { dataEventCategory: "Health Tool", dataEventAction: "Due Date", dataEventLabel: pageUrl, className: "due-date-calculate-button", size: "lg", variant: siteType === 'marryBaby' ? 'secondary' : 'primary', onClick: () => onClick(getDueDateLastPeriod(lastPeriodDate, periodLength), `${index$b.QUERY_HEALTH_TOOL.type}=0&${index$b.QUERY_HEALTH_TOOL.startDate}=${dateFns.format(lastPeriodDate, API_DATE_FORMAT)}&${index$b.QUERY_HEALTH_TOOL.additional}=${periodLength}`), role: "button" }, t('dueDatePage.lastPeriod.calculate'))));
3320
+ React__default["default"].createElement(index$3.Button, { dataEventCategory: "Health Tool", dataEventAction: "Due Date", dataEventLabel: pageUrl, className: "due-date-calculate-button", size: "lg", variant: siteType === 'marryBaby' ? 'secondary' : 'primary', onClick: () => onClick(index$d.getDueDateLastPeriod(lastPeriodDate, periodLength), `${index$b.QUERY_HEALTH_TOOL.type}=0&${index$b.QUERY_HEALTH_TOOL.startDate}=${dateFns.format(lastPeriodDate, index$d.API_DATE_FORMAT)}&${index$b.QUERY_HEALTH_TOOL.additional}=${periodLength}`), role: "button" }, t('dueDatePage.lastPeriod.calculate'))));
3598
3321
  };
3599
3322
 
3600
3323
  const StyledTwins = styled__default["default"].div `
@@ -3628,7 +3351,7 @@ const StyledTwins = styled__default["default"].div `
3628
3351
  }
3629
3352
  }
3630
3353
  `;
3631
- const StyledInputForm = styled__default["default"].div `
3354
+ styled__default["default"].div `
3632
3355
  margin-bottom: 20px;
3633
3356
  width: 100%;
3634
3357
 
@@ -3715,7 +3438,7 @@ const StyledFormInput = styled__default["default"].div `
3715
3438
  }
3716
3439
  }
3717
3440
  `;
3718
- const StyledActive = styled__default["default"].div `
3441
+ styled__default["default"].div `
3719
3442
  margin-bottom: 24px;
3720
3443
  width: 100%;
3721
3444
 
@@ -3769,18 +3492,18 @@ const StyledActive = styled__default["default"].div `
3769
3492
 
3770
3493
  const DueDateCalculator = ({ onSubmitDueDate, locale, isSide, siteType, }) => {
3771
3494
  const { t } = useTranslations.useTranslations();
3772
- const [calculatorType, setCalculatorType] = React.useState(DueDateCalculatorType.lastPeriod);
3495
+ const [calculatorType, setCalculatorType] = React.useState(index$d.DueDateCalculatorType.lastPeriod);
3773
3496
  const calculatingMethods = [
3774
3497
  {
3775
- value: DueDateCalculatorType.lastPeriod,
3498
+ value: index$d.DueDateCalculatorType.lastPeriod,
3776
3499
  label: t('dueDatePage.lastPeriod'),
3777
3500
  },
3778
3501
  {
3779
- value: DueDateCalculatorType.conception,
3502
+ value: index$d.DueDateCalculatorType.conception,
3780
3503
  label: t('dueDatePage.conceptionDate'),
3781
3504
  },
3782
3505
  {
3783
- value: DueDateCalculatorType.IVF,
3506
+ value: index$d.DueDateCalculatorType.IVF,
3784
3507
  label: t('dueDatePage.ivf'),
3785
3508
  },
3786
3509
  ];
@@ -3800,11 +3523,144 @@ const DueDateCalculator = ({ onSubmitDueDate, locale, isSide, siteType, }) => {
3800
3523
  React__default["default"].createElement(index$c.Dropdown, { options: calculatingMethods, placeholder: t('dueDatePage.lastPeriod'), id: "due-date-dropdown", size: "md", value: calculatingMethods[calculatorType], onChange: (o) => {
3801
3524
  setCalculatorType(o.value);
3802
3525
  } }))))),
3803
- calculatorType === DueDateCalculatorType.lastPeriod ? (React__default["default"].createElement(DueDateFormLastPeriod, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null,
3804
- calculatorType === DueDateCalculatorType.conception ? (React__default["default"].createElement(DueDateFormConception, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null,
3805
- calculatorType === DueDateCalculatorType.IVF ? (React__default["default"].createElement(DueDateFormIVF, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null));
3526
+ calculatorType === index$d.DueDateCalculatorType.lastPeriod ? (React__default["default"].createElement(DueDateFormLastPeriod, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null,
3527
+ calculatorType === index$d.DueDateCalculatorType.conception ? (React__default["default"].createElement(DueDateFormConception, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null,
3528
+ calculatorType === index$d.DueDateCalculatorType.IVF ? (React__default["default"].createElement(DueDateFormIVF, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null));
3529
+ };
3530
+
3531
+ var useStyles$4 = core.createStyles(() => {
3532
+ return {
3533
+ root: {
3534
+ borderTopLeftRadius: 'inherit',
3535
+ borderTopRightRadius: 'inherit',
3536
+ },
3537
+ };
3538
+ });
3539
+
3540
+ const CardWrapperContext = React.createContext({});
3541
+
3542
+ const Banner = (_a) => {
3543
+ var { styles, classNames, className } = _a, rest = tslib_es6.__rest(_a, ["styles", "classNames", "className"]);
3544
+ const { classes, cx } = useStyles$4(undefined, {
3545
+ name: 'HealthToolCardWrapper__Banner',
3546
+ styles,
3547
+ classNames,
3548
+ });
3549
+ const { isPregTool } = React.useContext(CardWrapperContext);
3550
+ return (React__default["default"].createElement(ToolsBannerCard, Object.assign({ isPregTool: isPregTool, className: cx(className, classes.root) }, rest)));
3806
3551
  };
3807
3552
 
3553
+ var useStyles$3 = core.createStyles(() => {
3554
+ return {
3555
+ root: {
3556
+ padding: core.rem(16),
3557
+ },
3558
+ };
3559
+ });
3560
+
3561
+ const Body = (_a) => {
3562
+ var { children, styles, classNames, className } = _a, rest = tslib_es6.__rest(_a, ["children", "styles", "classNames", "className"]);
3563
+ const { classes, cx } = useStyles$3(undefined, {
3564
+ name: 'HealthToolCardWrapper',
3565
+ styles,
3566
+ classNames,
3567
+ });
3568
+ return (React__default["default"].createElement(core.Box, Object.assign({ className: cx(className, classes.root) }, rest), children));
3569
+ };
3570
+
3571
+ var useStyles$2 = core.createStyles((theme, { isPregTool }) => {
3572
+ const isMarryBaby = theme.other.template === 'mb';
3573
+ return {
3574
+ root: {
3575
+ display: 'flex',
3576
+ flexDirection: 'column',
3577
+ borderRadius: core.rem(isMarryBaby ? 16 : 8),
3578
+ backgroundColor: '#fff',
3579
+ border: `1px solid ${isMarryBaby
3580
+ ? theme.colors.mb[2]
3581
+ : isPregTool
3582
+ ? theme.colors.pink[1]
3583
+ : theme.colors.blue[2]}`,
3584
+ },
3585
+ row: {
3586
+ display: 'flex',
3587
+ alignItems: 'stretch',
3588
+ justifyContent: 'space-between',
3589
+ gap: core.rem(16),
3590
+ },
3591
+ labelWrapper: {
3592
+ flex: '1 1 0px',
3593
+ display: 'flex',
3594
+ alignItems: 'center',
3595
+ borderBottom: `1px solid ${theme.colors.neutral[1]}`,
3596
+ },
3597
+ label: {
3598
+ fontSize: core.rem(14),
3599
+ color: theme.colors.gray[6],
3600
+ },
3601
+ control: {
3602
+ width: core.rem(180),
3603
+ flexShrink: 1,
3604
+ '&.error': {
3605
+ 'button, input': {
3606
+ borderColor: theme.colors.red[7],
3607
+ },
3608
+ },
3609
+ },
3610
+ radioLabel: {
3611
+ fontSize: core.rem(16),
3612
+ },
3613
+ radioRoot: {
3614
+ padding: `${core.rem(10)} 0`,
3615
+ margin: 0,
3616
+ },
3617
+ bmiVal: {
3618
+ display: 'inline-block',
3619
+ },
3620
+ inputWithUnit__wrapper: {
3621
+ position: 'relative',
3622
+ },
3623
+ inputWithUnit__unit: {
3624
+ position: 'absolute',
3625
+ top: 0,
3626
+ right: 0,
3627
+ bottom: 0,
3628
+ paddingRight: core.rem(10),
3629
+ display: 'flex',
3630
+ alignItems: 'center',
3631
+ },
3632
+ inputWithUnit__unitText: {
3633
+ color: theme.colors.gray[6],
3634
+ },
3635
+ inputWithUnit__input: {
3636
+ input: {
3637
+ paddingRight: core.rem(30),
3638
+ '::-webkit-inner-spin-button': { '-webkit-appearance': 'none' },
3639
+ },
3640
+ },
3641
+ submitBtn: {},
3642
+ switchRoot: {
3643
+ padding: '16px 0',
3644
+ },
3645
+ };
3646
+ });
3647
+
3648
+ const _HealthToolCardWrapper = (_a) => {
3649
+ var { children, styles, classNames, className, isPregTool } = _a, rest = tslib_es6.__rest(_a, ["children", "styles", "classNames", "className", "isPregTool"]);
3650
+ const { classes, cx } = useStyles$2({ isPregTool }, {
3651
+ name: 'HealthToolCardWrapper',
3652
+ styles,
3653
+ classNames,
3654
+ });
3655
+ return (React__default["default"].createElement(CardWrapperContext.Provider, { value: {
3656
+ isPregTool,
3657
+ } },
3658
+ React__default["default"].createElement(core.Box, Object.assign({ className: cx(className, classes.root) }, rest), children)));
3659
+ };
3660
+ const HealthToolCardWrapper = _HealthToolCardWrapper;
3661
+ HealthToolCardWrapper.Body = Body;
3662
+ HealthToolCardWrapper.Banner = Banner;
3663
+
3808
3664
  const StyledContent = utils$1.setDefaultClass(styled__default["default"].form `
3809
3665
  margin: auto;
3810
3666
  ${utils.MediaQueries.mbUp} {
@@ -3893,7 +3749,7 @@ const StyledContent = utils$1.setDefaultClass(styled__default["default"].form `
3893
3749
  }
3894
3750
  }
3895
3751
  `, 'hhgcomp-embedtoolcard-content');
3896
- const StyledContainer$3 = styled__default["default"].div `
3752
+ styled__default["default"].div `
3897
3753
  padding: 0;
3898
3754
  background-color: white;
3899
3755
  border: 1px solid #e4e8ec;
@@ -4058,9 +3914,9 @@ const StyledRadioGroup = styled__default["default"](RadioGroup) `
4058
3914
  const DueDateCardEmbed = ({ isMobile, locale, onSubmitDueDate, dueDatePageInfo, expertUrl, isSide, siteType, }) => {
4059
3915
  var _a;
4060
3916
  const { t } = useTranslations.useTranslations();
4061
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
4062
- React__default["default"].createElement(ToolsBannerCard, { isSide: isSide, siteType: siteType, bannerColor: siteType === 'marryBaby' && theme.theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.featured_image) ||
4063
- index$5.CommonGAssets.getAssetPath('health-tools/due-date-icon.svg'), loading: "lazy" }), heading: t('healthTools.dueDateCalculator'), medicalReview: {
3917
+ return (React__default["default"].createElement(HealthToolCardWrapper, { isPregTool: true },
3918
+ React__default["default"].createElement(HealthToolCardWrapper.Banner, { isSide: isSide, bannerColor: siteType === 'marryBaby' && theme.theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.featured_image) ||
3919
+ index$6.CommonGAssets.getAssetPath('health-tools/due-date-icon.svg'), loading: "lazy" }), heading: t('healthTools.dueDateCalculator'), medicalReview: {
4064
3920
  link: expertUrl,
4065
3921
  reviewer: (_a = dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.reviewed_by) === null || _a === void 0 ? void 0 : _a.display_name,
4066
3922
  date: dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.reviewed_date,
@@ -4069,155 +3925,99 @@ const DueDateCardEmbed = ({ isMobile, locale, onSubmitDueDate, dueDatePageInfo,
4069
3925
  React__default["default"].createElement(DueDateCalculator, { siteType: siteType, locale: locale, onSubmitDueDate: onSubmitDueDate, isSide: isSide }))));
4070
3926
  };
4071
3927
 
4072
- const BmiEmbedContext = React.createContext({});
3928
+ const BmiFormContext = React.createContext({});
4073
3929
 
4074
- const StyledButton$2 = styled__default["default"](index$3.Button) `
4075
- margin: 0 auto 24px;
4076
- ${utils.MediaQueries.mbUp} {
4077
- max-width: 200px;
4078
- margin: 24px auto;
4079
- }
4080
- `;
4081
- const StyledInput = styled__default["default"](index_styles.PureInput) `
4082
- &.bmi--input {
4083
- + .bmi--input {
4084
- margin-top: 24px;
4085
- }
4086
- .inputLabel {
4087
- display: inline-block;
4088
- margin-bottom: 5px;
4089
- color: #595959;
4090
- font-weight: bold;
4091
- font-size: 12px;
4092
- }
4093
- .errorLabel {
4094
- line-height: 1.3;
4095
- }
4096
- input[type='radio'] {
4097
- padding: 0;
4098
- }
4099
- .bmi--input-radio_gender {
4100
- width: 100%;
4101
- gap: 16px;
4102
- > div {
4103
- ${utils.MediaQueries.mbDown} {
4104
- width: calc(50% - 8px);
4105
- }
4106
- width: calc(33% - 8px);
4107
- }
4108
- & > div > div {
4109
- display: flex;
4110
- flex-direction: row;
4111
- justify-content: center;
4112
- align-content: center;
4113
- gap: 8px;
4114
- padding-block: 5px;
4115
- }
4116
- }
4117
- .bmi-side-embed {
4118
- > div {
4119
- ${utils.MediaQueries.mbUp} {
4120
- width: calc(50% - 8px);
4121
- }
4122
- }
4123
- }
4124
- .radio-group-item-heading {
4125
- margin-top: 0;
4126
- }
4127
- }
3930
+ const DefaultForm$1 = (props) => {
3931
+ var _a, _b, _c, _d;
3932
+ const { t, locale } = useTranslations.useTranslations();
3933
+ const { control, bmiGenerated, isTouched, linkTool, submitProps } = React.useContext(BmiFormContext);
3934
+ return (React__default["default"].createElement(index$d.HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
3935
+ React__default["default"].createElement(reactHookForm.Controller, { name: "gender", control: control, rules: (_a = bmiGenerated.gender) === null || _a === void 0 ? void 0 : _a.rule, render: ({ field: { onChange }, fieldState: { error } }) => {
3936
+ return (React__default["default"].createElement(index$d.GenderOptionControl, { error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', onChange: onChange }));
3937
+ } }),
3938
+ React__default["default"].createElement(reactHookForm.Controller, { name: "age", control: control, rules: (_b = bmiGenerated.age) === null || _b === void 0 ? void 0 : _b.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3939
+ return (React__default["default"].createElement(index$3.Input.Number, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 },
3940
+ t('bmi.ageInput'),
3941
+ ' ',
3942
+ React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray300, as: "span" }, t('bmi.ageInput.desc'))), placeholder: t('tools.inputPlaceholder', {
3943
+ content: '25',
3944
+ }), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', min: 0 }));
3945
+ } }),
3946
+ React__default["default"].createElement(reactHookForm.Controller, { name: "height", control: control, rules: (_c = bmiGenerated.height) === null || _c === void 0 ? void 0 : _c.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3947
+ return (React__default["default"].createElement(index$3.Input.Number, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 },
3948
+ t('bmi.heightInput'),
3949
+ ' ',
3950
+ React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray300, as: "span" }, t('bmi.heightInput.desc'))), placeholder: t('tools.inputPlaceholder', {
3951
+ content: '170',
3952
+ }), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', min: 0 }));
3953
+ } }),
3954
+ React__default["default"].createElement(reactHookForm.Controller, { name: "weight", control: control, rules: (_d = bmiGenerated.weight) === null || _d === void 0 ? void 0 : _d.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3955
+ return (React__default["default"].createElement(index$3.Input.Number, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 },
3956
+ t('bmi.weightInput'),
3957
+ ' ',
3958
+ React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray300, as: "span" }, t('bmi.weightInput.desc'))), placeholder: t('tools.inputPlaceholder', {
3959
+ content: '60',
3960
+ }), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', precision: 1, min: 0 }));
3961
+ } }),
3962
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.Submit, Object.assign({ className: "bmi-btn bmi--btn-submit", dataEventCategory: "Health Tool", dataEventAction: "BMI", dataEventLabel: `https://${index$b.domainLocales[locale]}/${linkTool}`, type: "submit" }, submitProps), t('bmi.submit'))));
3963
+ };
4128
3964
 
4129
- ${utils.MediaQueries.mbDown} {
4130
- &.bmi--input {
4131
- .bmi--input-radio_gender {
4132
- > div {
4133
- .gender-image {
4134
- width: 40px;
4135
- height: 40px;
4136
- }
4137
- }
4138
- }
4139
- }
4140
- }
4141
- `;
4142
- const StyledContainer$2 = styled__default["default"].div `
4143
- width: 100%;
4144
- `;
4145
- const FormControl$2 = styled__default["default"].div `
4146
- margin-bottom: 1rem;
4147
- display: flex;
4148
- flex-direction: column;
4149
- gap: 16px;
4150
- input {
4151
- font-size: 12px;
4152
- ::placeholder {
4153
- color: #8c8c8c;
4154
- opacity: 1;
4155
- }
4156
- }
4157
- .input-label {
4158
- label {
4159
- display: inline-block;
4160
- margin-bottom: 9px;
4161
- color: #595959;
4162
- font-weight: bold;
4163
- font-size: 12px;
4164
- }
4165
- }
4166
- `;
4167
- const StyledRow$3 = styled__default["default"].div `
4168
- ${utils.MediaQueries.mbUp} {
4169
- display: flex;
4170
- width: 100%;
4171
- align-items: flex-start;
4172
- justify-content: space-between;
4173
- gap: 12px;
4174
- > div {
4175
- width: 100%;
4176
- }
4177
- &[data-is-side='true'] {
4178
- ${utils.MediaQueries.mbUp} {
4179
- display: flex;
4180
- flex-direction: column;
4181
- gap: 0px;
4182
- }
4183
- }
4184
- }
4185
- ${utils.MediaQueries.mbDown} {
4186
- display: flex;
4187
- flex-direction: column;
4188
- gap: 0px;
4189
- }
4190
- `;
3965
+ const InlineForm$1 = (props) => {
3966
+ var _a, _b, _c, _d;
3967
+ const { t, locale } = useTranslations.useTranslations();
3968
+ const { control, bmiGenerated, isTouched, linkTool, submitProps } = React.useContext(BmiFormContext);
3969
+ return (React__default["default"].createElement(index$d.HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
3970
+ React__default["default"].createElement(reactHookForm.Controller, { name: "gender", control: control, rules: (_a = bmiGenerated.gender) === null || _a === void 0 ? void 0 : _a.rule, render: ({ field: { onChange }, fieldState: { error } }) => {
3971
+ return (React__default["default"].createElement(index$d.HealthToolFormWrapper.FormRow, null,
3972
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.BorderInlineControl, { label: t('tools.selectGender') },
3973
+ React__default["default"].createElement(index$d.GenderOptionControl, { type: "radio", hideLabel: true, error: isTouched ? React__default["default"].createElement(React__default["default"].Fragment, null) : '', onChange: onChange })),
3974
+ isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default["default"].createElement(index$d.HealthToolFormWrapper.Error, null, error.message))));
3975
+ } }),
3976
+ React__default["default"].createElement(reactHookForm.Controller, { name: "age", control: control, rules: (_b = bmiGenerated.age) === null || _b === void 0 ? void 0 : _b.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3977
+ return (React__default["default"].createElement(index$d.HealthToolFormWrapper.FormRow, null,
3978
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.BorderInlineControl, { label: t('bmi.ageInput') },
3979
+ React__default["default"].createElement(index$3.Input.Number, { placeholder: t('tools.inputPlaceholder', {
3980
+ content: '25',
3981
+ }), name: name, value: value, onChange: onChange, error: isTouched && (error === null || error === void 0 ? void 0 : error.message) ? React__default["default"].createElement(React__default["default"].Fragment, null) : '', min: 0, rightSection: React__default["default"].createElement(index$d.HealthToolFormWrapper.Unit, null, t('tools.yearsOld')), styles: () => ({
3982
+ rightSection: {
3983
+ width: 'auto',
3984
+ },
3985
+ }) })),
3986
+ isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default["default"].createElement(index$d.HealthToolFormWrapper.Error, null, error.message))));
3987
+ } }),
3988
+ React__default["default"].createElement(reactHookForm.Controller, { name: "height", control: control, rules: (_c = bmiGenerated.height) === null || _c === void 0 ? void 0 : _c.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3989
+ return (React__default["default"].createElement(index$d.HealthToolFormWrapper.FormRow, null,
3990
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.BorderInlineControl, { label: t('bmi.heightInput') },
3991
+ React__default["default"].createElement(index$3.Input.Number, { placeholder: t('tools.inputPlaceholder', {
3992
+ content: '170',
3993
+ }), name: name, value: value, onChange: onChange, min: 0, error: isTouched && (error === null || error === void 0 ? void 0 : error.message) ? React__default["default"].createElement(React__default["default"].Fragment, null) : '', rightSection: React__default["default"].createElement(index$d.HealthToolFormWrapper.Unit, null, t('babyGrowth.cm')) })),
3994
+ isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default["default"].createElement(index$d.HealthToolFormWrapper.Error, null, error.message))));
3995
+ } }),
3996
+ React__default["default"].createElement(reactHookForm.Controller, { name: "weight", control: control, rules: (_d = bmiGenerated.weight) === null || _d === void 0 ? void 0 : _d.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3997
+ return (React__default["default"].createElement(index$d.HealthToolFormWrapper.FormRow, null,
3998
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.BorderInlineControl, { label: t('bmi.weightInput') },
3999
+ React__default["default"].createElement(index$3.Input.Number, { placeholder: t('tools.inputPlaceholder', {
4000
+ content: '60',
4001
+ }), name: name, value: value, onChange: onChange, error: isTouched && (error === null || error === void 0 ? void 0 : error.message) ? React__default["default"].createElement(React__default["default"].Fragment, null) : '', precision: 1, min: 0, rightSection: React__default["default"].createElement(index$d.HealthToolFormWrapper.Unit, null, t('babyGrowth.kg')) })),
4002
+ isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default["default"].createElement(index$d.HealthToolFormWrapper.Error, null, error.message))));
4003
+ } }),
4004
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.Submit, Object.assign({ className: "bmi-btn bmi--btn-submit", dataEventCategory: "Health Tool", dataEventAction: "BMI", dataEventLabel: `https://${index$b.domainLocales[locale]}/${linkTool}`, type: "submit" }, submitProps), t('bmi.submit'))));
4005
+ };
4191
4006
 
4192
- function getBmi({ weight: weightProps, height: heightProps }) {
4007
+ function getBmi({ weight: weightProps, height: heightProps, }) {
4193
4008
  const height = heightProps / 100;
4194
4009
  const weight = weightProps;
4195
4010
  return Math.round((weight / (height * height)) * 10) / 10;
4196
4011
  }
4197
4012
 
4198
- const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmitProps, disabled, bmiGenerated, bmiUnit, locale, isSide, }) => {
4199
- var _a, _b, _c, _d;
4013
+ const BmiForm = (_a) => {
4014
+ var { value: valueProps, onChange: onChangeProps, onSubmit: onSubmitProps, bmiGenerated, bmiUnit, formLayout = 'default', submitProps } = _a, rest = tslib_es6.__rest(_a, ["value", "onChange", "onSubmit", "bmiGenerated", "bmiUnit", "formLayout", "submitProps"]);
4200
4015
  const [isTouched, setIsTouched] = React.useState(false);
4201
4016
  const { control, handleSubmit, setValue, watch } = reactHookForm.useForm();
4202
4017
  const data = watch();
4203
- const { t } = useTranslations.useTranslations();
4204
- const { gender: disabledGender = false, age: disabledAge = false, height: disabledHeight = false, weight: disabledWeight = false, objective: disabledObjective = true, } = disabled || {};
4018
+ const { locale } = useTranslations.useTranslations();
4205
4019
  const { getHealthToolLink } = useHealthToolCache.useHealthToolsCache(locale);
4206
4020
  const linkTool = React.useMemo(() => getHealthToolLink(utils$1.HEALTH_TOOL_TYPE.OVULATION), [getHealthToolLink]);
4207
- const objectOptions = React.useMemo(() => [
4208
- {
4209
- value: 'lose-weight',
4210
- label: t('bmi.objective.loseWeight'),
4211
- },
4212
- {
4213
- value: 'maintain-weight',
4214
- label: t('bmi.objective.maintainWeight'),
4215
- },
4216
- {
4217
- value: 'gain-weight',
4218
- label: t('bmi.objective.gainWeight'),
4219
- },
4220
- ], []);
4221
4021
  const onValid = (data) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
4222
4022
  const height = bmiUnit.heightConvert(data.height);
4223
4023
  const weight = bmiUnit.weightConvert(data.weight);
@@ -4228,9 +4028,6 @@ const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmi
4228
4028
  weight,
4229
4029
  bmi: getBmi({ height, weight }),
4230
4030
  };
4231
- if (!disabledObjective) {
4232
- submitValue['objective'] = data.objective;
4233
- }
4234
4031
  onInValid();
4235
4032
  onSubmitProps && onSubmitProps(submitValue);
4236
4033
  });
@@ -4250,477 +4047,42 @@ const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmi
4250
4047
  React.useEffect(() => {
4251
4048
  onChangeProps && onChangeProps(data);
4252
4049
  }, [data]);
4253
- return (React__default["default"].createElement(StyledContainer$2, null,
4254
- React__default["default"].createElement("form", { onSubmit: handleSubmit(onValid, onInValid) },
4255
- !disabledGender && (React__default["default"].createElement(FormControl$2, { "data-is-side": isSide },
4256
- React__default["default"].createElement(reactHookForm.Controller, { name: "gender", control: control, defaultValue: "male", render: ({ field: { onChange } }) => {
4257
- return (React__default["default"].createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => onChange(v), styles: (theme) => ({
4258
- root: !isSide && {
4259
- [theme.fn.largerThan('sm')]: {
4260
- width: 'calc((100% - 24px) * 2/3 + 12px)',
4261
- },
4262
- },
4263
- wrapper: {
4264
- [theme.fn.largerThan('sm')]: {
4265
- gap: core.rem(12),
4266
- },
4267
- },
4268
- }) }));
4269
- } }))),
4270
- React__default["default"].createElement(StyledRow$3, { "data-is-side": isSide },
4271
- !disabledAge && (React__default["default"].createElement(FormControl$2, null,
4272
- React__default["default"].createElement(reactHookForm.Controller, { name: "age", control: control, rules: (_a = bmiGenerated.age) === null || _a === void 0 ? void 0 : _a.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
4273
- return (React__default["default"].createElement(index$3.Input.Number, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 },
4274
- t('bmi.ageInput'),
4275
- ' ',
4276
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray300, as: "span" }, t('bmi.ageInput.desc'))), placeholder: t('healthtool.placeholder.age'), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', min: 0 }));
4277
- } }))),
4278
- !disabledHeight && (React__default["default"].createElement(FormControl$2, null,
4279
- React__default["default"].createElement(reactHookForm.Controller, { name: "height", control: control, rules: (_b = bmiGenerated.height) === null || _b === void 0 ? void 0 : _b.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
4280
- return (React__default["default"].createElement(index$3.Input.Number, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 },
4281
- t('bmi.heightInput'),
4282
- ' ',
4283
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray300, as: "span" }, t('bmi.heightInput.desc'))), placeholder: t('pwg.placeholder.height'), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', min: 0 }));
4284
- } }))),
4285
- !disabledWeight && (React__default["default"].createElement(FormControl$2, null,
4286
- React__default["default"].createElement(reactHookForm.Controller, { name: "weight", control: control, rules: (_c = bmiGenerated.weight) === null || _c === void 0 ? void 0 : _c.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
4287
- return (React__default["default"].createElement(index$3.Input.Number, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 },
4288
- t('bmi.weightInput'),
4289
- ' ',
4290
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray300, as: "span" }, t('bmi.weightInput.desc'))), placeholder: t('pwg.placeholder.weight'), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', precision: 1, min: 0 }));
4291
- } }))),
4292
- !disabledObjective && (React__default["default"].createElement(FormControl$2, null,
4293
- React__default["default"].createElement(reactHookForm.Controller, { name: "objective", control: control, defaultValue: "lose-weight", rules: (_d = bmiGenerated.objective) === null || _d === void 0 ? void 0 : _d.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
4294
- return (React__default["default"].createElement(StyledInput, { size: "md", name: name, label: bmiGenerated.objective.label, CustomInput: React__default["default"].createElement(RadioGroup, { id: "bmi-objective", className: "bmi-objective", direction: "vertical", size: "small", options: objectOptions, value: value, onChange: onChange }), errorMessage: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', className: "bmi--input bmi--input-objective" }));
4295
- } })))),
4296
- React__default["default"].createElement("div", { style: { display: 'flex' } },
4297
- React__default["default"].createElement(StyledButton$2, { size: "lg", fullWidth: true, className: "bmi-btn bmi--btn-submit", dataEventCategory: "Health Tool", dataEventAction: "BMI", dataEventLabel: `https://${index$b.domainLocales[locale]}/${linkTool}`, type: "submit" }, t('bmi.submit'))))));
4298
- };
4299
-
4300
- const Form$1 = () => {
4301
- const { onSubmit, bmiGenerated, locale, bmiUnit, isSide } = React.useContext(BmiEmbedContext);
4302
- return (React__default["default"].createElement(BmiForm, { onSubmit: onSubmit, bmiGenerated: bmiGenerated, locale: locale, bmiUnit: bmiUnit, isSide: isSide }));
4050
+ const commonProps = Object.assign({ onSubmit: handleSubmit(onValid, onInValid) }, rest);
4051
+ return (React__default["default"].createElement(BmiFormContext.Provider, { value: {
4052
+ control,
4053
+ bmiGenerated,
4054
+ isTouched,
4055
+ linkTool,
4056
+ submitProps,
4057
+ } }, formLayout === 'inline' ? (React__default["default"].createElement(InlineForm$1, Object.assign({}, commonProps))) : (React__default["default"].createElement(DefaultForm$1, Object.assign({}, commonProps)))));
4303
4058
  };
4304
4059
 
4305
- const _BMICardEmbed = ({ isMobile, onSubmit, bmiContent, isSide, bmiGenerated, bmiUnit, bmiLink, locale, children, }) => {
4060
+ const BMICardEmbed = ({ isMobile, onSubmit, bmiContent, bmiGenerated, bmiUnit, locale, formLayout, }) => {
4306
4061
  var _a, _b, _c;
4307
4062
  const { t } = useTranslations.useTranslations();
4308
- return (React__default["default"].createElement(BmiEmbedContext.Provider, { value: {
4309
- isMobile,
4310
- onSubmit,
4311
- isSide,
4312
- bmiGenerated,
4313
- bmiUnit,
4314
- bmiLink,
4315
- locale,
4316
- } }, children || (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide },
4317
- React__default["default"].createElement(ToolsBannerCard, { isSide: isSide, icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.featured_image) ||
4318
- index$5.CommonGAssets.getAssetPath('health-tools/bmi.svg'), loading: "lazy" }), heading: t('bmi.heading'), medicalReview: {
4063
+ return (React__default["default"].createElement(HealthToolCardWrapper, null,
4064
+ React__default["default"].createElement(HealthToolCardWrapper.Banner, { icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.featured_image) ||
4065
+ index$6.CommonGAssets.getAssetPath('health-tools/bmi.svg'), loading: "lazy" }), heading: t('bmi.heading'), medicalReview: {
4319
4066
  link: (_a = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4320
4067
  reviewer: (_b = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer,
4321
4068
  date: (_c = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4322
4069
  }, isMobile: isMobile }),
4323
- React__default["default"].createElement(index$g.Container, null,
4324
- React__default["default"].createElement(StyledContent, { as: "div", "data-is-side": isSide }, bmiLink && React__default["default"].createElement(Form$1, null)))))));
4325
- };
4326
- const BMICardEmbed = _BMICardEmbed;
4327
- BMICardEmbed.Form = Form$1;
4328
-
4329
- const BabyGrowthEmbedContext = React.createContext({});
4330
-
4331
- const BabyGrowthFormContext = React.createContext({});
4332
-
4333
- var useStyles$3 = core.createStyles(() => {
4334
- return {
4335
- root: {},
4336
- };
4337
- });
4338
-
4339
- var useStyles$2 = core.createStyles((theme) => {
4340
- return {
4341
- root: {
4342
- display: 'flex',
4343
- flexDirection: 'column',
4344
- gap: core.rem(8),
4345
- },
4346
- row: {
4347
- display: 'flex',
4348
- alignItems: 'stretch',
4349
- justifyContent: 'space-between',
4350
- gap: core.rem(16),
4351
- },
4352
- labelWrapper: {
4353
- flex: '1 1 0px',
4354
- display: 'flex',
4355
- alignItems: 'center',
4356
- borderBottom: `1px solid ${theme.colors.neutral[1]}`,
4357
- },
4358
- label: {
4359
- fontSize: core.rem(14),
4360
- color: theme.colors.gray[6],
4361
- },
4362
- control: {
4363
- width: core.rem(180),
4364
- flexShrink: 1,
4365
- '&.error': {
4366
- 'button, input': {
4367
- borderColor: theme.colors.red[7],
4368
- },
4369
- },
4370
- },
4371
- radioLabel: {
4372
- fontSize: core.rem(16),
4373
- },
4374
- radioRoot: {
4375
- padding: `${core.rem(10)} 0`,
4376
- margin: 0,
4377
- },
4378
- bmiVal: {
4379
- display: 'inline-block',
4380
- },
4381
- inputWithUnit__wrapper: {
4382
- position: 'relative',
4383
- },
4384
- inputWithUnit__unit: {
4385
- position: 'absolute',
4386
- top: 0,
4387
- right: 0,
4388
- bottom: 0,
4389
- paddingRight: core.rem(10),
4390
- display: 'flex',
4391
- alignItems: 'center',
4392
- },
4393
- inputWithUnit__unitText: {
4394
- color: theme.colors.gray[6],
4395
- },
4396
- inputWithUnit__input: {
4397
- input: {
4398
- paddingRight: core.rem(30),
4399
- '::-webkit-inner-spin-button': { '-webkit-appearance': 'none' },
4400
- },
4401
- },
4402
- submitBtn: {},
4403
- switchRoot: {
4404
- padding: '16px 0',
4405
- },
4406
- };
4407
- });
4408
-
4409
- const HorizonalForm = (_a) => {
4410
- var { styles, classNames } = _a, props = tslib_es6.__rest(_a, ["styles", "classNames"]);
4411
- const { t } = useTranslations.useTranslations();
4412
- const { control, currentUrl, isEmptyThreeFields, isMarryBaby } = React.useContext(BabyGrowthFormContext);
4413
- const { classes, cx } = useStyles$2(undefined, {
4414
- name: 'BabyGrowthForm__HorizonalForm',
4415
- styles,
4416
- classNames,
4417
- });
4418
- const commonDateProps = {
4419
- placeholder: 'DD/MM/YYYY',
4420
- popoverProps: {
4421
- withinPortal: true,
4422
- },
4423
- };
4424
- return (React__default["default"].createElement(core.Box, Object.assign({ className: classes.root }, props),
4425
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "gender", render: ({ field: { onChange, value } }) => (React__default["default"].createElement(core.Box, { className: classes.row },
4426
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4427
- React__default["default"].createElement("label", { className: classes.label, htmlFor: "gender" }, t('tools.selectBabyGender'))),
4428
- React__default["default"].createElement(index$3.Radio.Group, { onChange: onChange, value: value },
4429
- React__default["default"].createElement(core.Group, { mt: "xs" },
4430
- React__default["default"].createElement(index$3.Radio, { value: "boy", label: t('gender.boy'), classNames: {
4431
- root: classes.radioRoot,
4432
- label: classes.radioLabel,
4433
- } }),
4434
- React__default["default"].createElement(index$3.Radio, { value: "girl", label: t('gender.girl'), classNames: {
4435
- label: classes.radioLabel,
4436
- } }))))) }),
4437
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => {
4438
- return (React__default["default"].createElement(core.Box, { className: classes.row },
4439
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4440
- React__default["default"].createElement("label", { className: classes.label, htmlFor: "birthday" }, t('babyGrowth.input.birthday'))),
4441
- React__default["default"].createElement(index$h.DatePicker, Object.assign({}, commonDateProps, { className: cx(classes.control, error ? 'error' : ''), onChange: onChange, maxDate: new Date() }))));
4442
- } }),
4443
- React__default["default"].createElement(core.Box, { className: classes.row },
4444
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4445
- React__default["default"].createElement("label", { className: classes.label }, "BMI")),
4446
- React__default["default"].createElement(core.Flex, { align: 'center', gap: '8px' },
4447
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default["default"].createElement(React__default["default"].Fragment, null,
4448
- React__default["default"].createElement(index$2.Text, { size: "p2" },
4449
- React__default["default"].createElement("span", { className: classes.bmiVal }, !isNaN(Number(value)) && value !== '0' ? value : ''),
4450
- t('babyGrowth.kg.m2')))) }),
4451
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(core.Box, { className: cx(classes.control, classes.inputWithUnit__wrapper, isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
4452
- React__default["default"].createElement(index$9.Input, { className: `${cx(classes.inputWithUnit__input)}`, name: "height", placeholder: t('babyGrowth.height'), size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }),
4453
- React__default["default"].createElement(core.Box, { className: classes.inputWithUnit__unit },
4454
- React__default["default"].createElement(index$2.Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.cm'))))) }),
4455
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(core.Box, { className: cx(classes.control, classes.inputWithUnit__wrapper, isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
4456
- React__default["default"].createElement(core.Box, { className: classes.inputWithUnit__unit },
4457
- React__default["default"].createElement(index$2.Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.kg'))),
4458
- React__default["default"].createElement(index$9.Input, { className: `${cx(classes.inputWithUnit__input)}`, name: "weight", placeholder: t('babyGrowth.weight'), size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }))) }))),
4459
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(core.Box, { className: classes.row },
4460
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4461
- React__default["default"].createElement("label", { className: classes.label, htmlFor: "head" },
4462
- ' ',
4463
- t('babyGrowth.headCircumference'))),
4464
- React__default["default"].createElement(core.Box, { className: cx(classes.inputWithUnit__wrapper, classes.control, isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
4465
- React__default["default"].createElement(index$9.Input, { className: `${cx(classes.inputWithUnit__input)}`, name: "head", placeholder: "0", size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }),
4466
- React__default["default"].createElement(core.Box, { className: classes.inputWithUnit__unit },
4467
- React__default["default"].createElement(index$2.Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.cm')))))) }),
4468
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "measurementDate", render: ({ field: { onChange } }) => (React__default["default"].createElement(core.Box, { className: classes.row },
4469
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4470
- React__default["default"].createElement("label", { className: classes.label, htmlFor: "measurementDate" }, t('babyGrowth.input.measurementDate'))),
4471
- React__default["default"].createElement(index$h.DatePicker, Object.assign({}, commonDateProps, { className: classes.control, defaultValue: new Date(), onChange: onChange, maxDate: new Date() })))) }),
4472
- React__default["default"].createElement(core.Box, { className: classes.row },
4473
- React__default["default"].createElement(index$3.Button, { className: classes.submitBtn, size: "lg", type: "submit", variant: isMarryBaby ? 'secondary' : 'primary', "data-event-category": "Health Tool", "data-event-action": "Baby Growth", "data-event-label": currentUrl }, t('babyGrowth.input.submit')))));
4474
- };
4475
-
4476
- const StyledBabyGrowthWrapper$1 = styled__default["default"].div `
4477
- display: flex;
4478
- flex-direction: column;
4479
- gap: 16px;
4480
- padding-block: 40px;
4481
-
4482
- &[data-theme='marryBaby'] {
4483
- padding-block: 0;
4484
- padding-top: 12px;
4485
- }
4486
- `;
4487
- const StyledFormControl = styled__default["default"].div `
4488
- display: flex;
4489
- flex-direction: column;
4490
- gap: 6px;
4491
- margin-top: auto;
4492
-
4493
- .error-input input {
4494
- border: 1px solid ${theme.theme.colors.red700};
4495
- }
4496
- `;
4497
- const StyledInlineLabel = styled__default["default"](constants.Label) `
4498
- display: inline-flex;
4499
- padding-bottom: 6px;
4500
- gap: 4px;
4501
- `;
4502
- const StyledRow$2 = styled__default["default"].div `
4503
- display: flex;
4504
- width: 100%;
4505
- align-items: center;
4506
- justify-content: space-between;
4507
- gap: 16px;
4508
- > div {
4509
- width: 100%;
4510
- }
4511
- `;
4512
-
4513
- const VerticalForm = () => {
4514
- const { t } = useTranslations.useTranslations();
4515
- const { control, currentUrl, isEmptyThreeFields, isMarryBaby, siteType } = React.useContext(BabyGrowthFormContext);
4516
- const commonDateProps = {
4517
- placeholder: 'DD/MM/YYYY',
4518
- popoverProps: {
4519
- withinPortal: true,
4520
- },
4521
- };
4522
- return (React__default["default"].createElement(StyledBabyGrowthWrapper$1, { className: "form-wrapper", "data-theme": siteType },
4523
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "gender", render: ({ field: { onChange, value } }) => (React__default["default"].createElement(index$i.BabyGrowthGender, { onChange: onChange, value: value, siteType: siteType })) }),
4524
- siteType === 'marryBaby' ? (React__default["default"].createElement(React__default["default"].Fragment, null,
4525
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "birthday", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
4526
- React__default["default"].createElement(StyledTextField, { label: t('babyGrowth.input.birthday'), name: "birthday", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$h.DatePicker, Object.assign({}, commonDateProps, { onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', rightSection: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) }))) }),
4527
- React__default["default"].createElement(StyledRow$2, null,
4528
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4529
- React__default["default"].createElement(StyledTextField, { label: `${t('babyGrowth.height')} ${t('babyGrowth.cm')}`, name: "height", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$9.Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
4530
- ? 'error-input'
4531
- : '', name: "height", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4532
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
4533
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4534
- React__default["default"].createElement(StyledTextField, { label: `${t('babyGrowth.weight')} ${t('babyGrowth.kg')}`, name: "weight", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$9.Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
4535
- ? 'error-input'
4536
- : '', name: "weight", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4537
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) })),
4538
- React__default["default"].createElement(StyledRow$2, null,
4539
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4540
- React__default["default"].createElement(StyledTextField, { label: `${t('babyGrowth.headCircumference')} ${t('babyGrowth.cm')}`, name: "head", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$9.Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
4541
- ? 'error-input'
4542
- : '', name: "head", size: "md", value: String(value), onChange: onChange, type: "number", placeholder: "Nh\u1EADp th\u00F4ng tin", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4543
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
4544
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default["default"].createElement(StyledFormControl, null,
4545
- React__default["default"].createElement(StyledTextField, { label: `${t('babyGrowth.input.bmi')} ${t('babyGrowth.kg.m2')}`, name: "date", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$9.Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true, style: { color: '#9495A0' } }) }))) })),
4546
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "measurementDate", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
4547
- React__default["default"].createElement(StyledTextField, { label: t('babyGrowth.input.measurementDate'), name: "date", size: "md", value: DateToInputValue(value), CustomInput: React__default["default"].createElement(index$h.DatePicker, Object.assign({}, commonDateProps, { defaultValue: new Date(), maxDate: new Date(), onChange: onChange, className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', rightSection: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) }))) }),
4548
- React__default["default"].createElement(index$3.Button, { size: "lg", type: "submit", variant: isMarryBaby ? 'secondary' : 'primary', "data-event-category": "Health Tool", "data-event-action": "Baby Growth", "data-event-label": currentUrl }, t('babyGrowth.input.submit')))) : (React__default["default"].createElement(React__default["default"].Fragment, null,
4549
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
4550
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "birthday" },
4551
- React__default["default"].createElement(index$2.Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.birthday'))),
4552
- React__default["default"].createElement(index$h.DatePicker, Object.assign({}, commonDateProps, { onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '' })))) }),
4553
- React__default["default"].createElement(StyledRow$2, null,
4554
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4555
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "height" },
4556
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.height')),
4557
- React__default["default"].createElement(index$2.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.cm'))),
4558
- React__default["default"].createElement(index$9.Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', name: "height", placeholder: "0", size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }))) }),
4559
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4560
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "weight" },
4561
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.weight')),
4562
- React__default["default"].createElement(index$2.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.kg'))),
4563
- React__default["default"].createElement(index$9.Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', name: "weight", placeholder: "0", size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }))) })),
4564
- React__default["default"].createElement(StyledRow$2, null,
4565
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4566
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "head" },
4567
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.headCircumference')),
4568
- React__default["default"].createElement(index$2.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.cm'))),
4569
- React__default["default"].createElement(index$9.Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', name: "head", placeholder: "0", size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }))) }),
4570
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default["default"].createElement(StyledFormControl, null,
4571
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "bmi" },
4572
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.input.bmi')),
4573
- React__default["default"].createElement(index$2.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.kg.m2'))),
4574
- React__default["default"].createElement(index$9.Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true }))) })),
4575
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "measurementDate", render: ({ field: { onChange }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
4576
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "measurementDate" },
4577
- React__default["default"].createElement(index$2.Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.measurementDate'))),
4578
- React__default["default"].createElement(index$h.DatePicker, Object.assign({}, commonDateProps, { defaultValue: new Date(), onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '' })))) }),
4579
- React__default["default"].createElement(index$3.Button, { size: "lg", type: "submit", variant: isMarryBaby ? 'secondary' : 'primary', "data-event-category": "Health Tool", "data-event-action": "Baby Growth", "data-event-label": currentUrl }, t('babyGrowth.input.submit'))))));
4070
+ React__default["default"].createElement(HealthToolCardWrapper.Body, null,
4071
+ React__default["default"].createElement(BmiForm, { onSubmit: onSubmit, bmiGenerated: bmiGenerated, locale: locale, bmiUnit: bmiUnit, formLayout: formLayout }))));
4580
4072
  };
4581
4073
 
4582
- /**
4583
- * Using {@link Intl.NumberFormat} to covert a number to string base on its locale
4584
- * @param {number} num - Number to convert
4585
- * @param {number} maximumFractionDigits - Number of decimal digits
4586
- * @returns {string} - String based number
4587
- */
4588
- const localizeNumberFormat = (num, maximumFractionDigits = 2) => {
4589
- return Intl.NumberFormat(undefined, {
4590
- maximumFractionDigits,
4591
- }).format(num);
4592
- };
4593
-
4594
- /**
4595
- * Calculate BMI
4596
- * Using {@link localizeNumberFormat} to convert number based on locale
4597
- * @param {number} height - Height in number
4598
- * @param {number} weight - Weight in number
4599
- * @returns {number} - BMI with 2 decimal digits
4600
- */
4601
- const bmiCalculate = (height = 0, weight = 0) => {
4602
- try {
4603
- if (height && weight) {
4604
- const bmi = Number(weight) / Math.pow(Number(height) / 100, 2);
4605
- return Number(localizeNumberFormat(bmi));
4606
- }
4607
- else {
4608
- return 0;
4609
- }
4610
- }
4611
- catch (error) { }
4612
- return 0;
4613
- };
4614
-
4615
- const BabyGrowthForm = ({ onSubmit, onError, schema, siteType, layout = 'vertical', styles, classNames, }) => {
4616
- const { classes, theme } = useStyles$3(undefined, {
4617
- name: 'BabyGrowthForm',
4618
- styles,
4619
- classNames,
4620
- });
4621
- const isMarryBaby = theme.other.template === 'mb';
4622
- const { control, setValue, watch, handleSubmit, formState: { isSubmitted }, } = reactHookForm.useForm({
4623
- resolver: yup.yupResolver(schema),
4624
- mode: 'onSubmit',
4625
- defaultValues: {
4626
- name: '',
4627
- gender: index$j.Gender.Boy,
4628
- measurementDate: new Date(),
4629
- },
4630
- });
4631
- const weight = watch('weight');
4632
- const height = watch('height');
4633
- const head = watch('head');
4634
- const isEmptyThreeFields = React.useMemo(() => isSubmitted && !weight && !height && !head, [isSubmitted, weight, height, head]);
4635
- React.useEffect(() => {
4636
- const bmi = bmiCalculate(height, weight);
4637
- setValue('bmi', String(bmi) || '0');
4638
- }, [weight, height]);
4639
- const currentUrl = React.useMemo(() => {
4640
- if (typeof window !== 'undefined') {
4641
- return window.location.href;
4642
- }
4643
- else
4644
- return '';
4645
- }, []);
4646
- return (React__default["default"].createElement(BabyGrowthFormContext.Provider, { value: {
4647
- isEmptyThreeFields,
4648
- control,
4649
- currentUrl,
4650
- isMarryBaby,
4651
- siteType,
4652
- } },
4653
- React__default["default"].createElement(core.Box, { component: "form", onSubmit: handleSubmit(onSubmit, onError) }, layout === 'vertical' ? (React__default["default"].createElement(VerticalForm, null)) : (React__default["default"].createElement(HorizonalForm, { classNames: {
4654
- root: classes.root,
4655
- } })))));
4656
- };
4657
-
4658
- const StyledBabyGrowthWrapper = styled__default["default"].div `
4659
- padding: 36px;
4660
- padding-top: 0;
4661
- background-color: white;
4662
- ${utils.MediaQueries.mbDown} {
4663
- padding: 16px;
4664
- padding-top: 0;
4665
- }
4666
- &[data-theme='marryBaby'] {
4667
- background-color: ${theme.theme.mbColors.green};
4668
- padding: 24px;
4669
- border-bottom-right-radius: 16px;
4670
- border-bottom-left-radius: 16px;
4671
- ${utils.MediaQueries.mbDown} {
4672
- padding: 16px;
4673
- }
4674
- }
4675
- `;
4676
- const StyleForm = styled__default["default"](BabyGrowthForm) `
4677
- padding-block: 0;
4678
- `;
4679
- styled__default["default"](ToolsBannerCard) `
4680
- padding-inline: 20px;
4681
-
4682
- img.embedded-icon {
4683
- width: 140px;
4684
- margin-left: 50%;
4685
- align-self: center;
4686
- }
4687
-
4688
- ${utils.MediaQueries.mbDown} {
4689
- padding-inline: 0;
4690
- img.embedded-icon {
4691
- width: 125px;
4692
- align-self: end;
4693
- margin-left: 0;
4694
- position: absolute;
4695
- transform: translateY(50%);
4696
- }
4697
- .embedded-review {
4698
- max-width: 200px;
4699
- }
4700
- }
4701
- `;
4702
-
4703
- const Form = (_a) => {
4704
- var form = tslib_es6.__rest(_a, []);
4705
- const { formLayout, siteType, schema, onSubmit, onError } = React.useContext(BabyGrowthEmbedContext);
4706
- return (React__default["default"].createElement(StyleForm, Object.assign({ siteType: siteType, schema: schema, onSubmit: onSubmit, onError: onError, layout: formLayout }, form)));
4707
- };
4708
-
4709
- const _BabyGrowthCardEmbed = ({ isMobile, onSubmit, onError, schema, babyGrowthContent, siteType, children, formLayout, }) => {
4074
+ const BabyGrowthCardEmbed = ({ isMobile, onSubmit, onError, schema, babyGrowthContent, formLayout, }) => {
4710
4075
  var _a, _b, _c;
4711
- return (React__default["default"].createElement(BabyGrowthEmbedContext.Provider, { value: { formLayout, siteType, schema, onSubmit, onError } }, children || (React__default["default"].createElement(React__default["default"].Fragment, null,
4712
- React__default["default"].createElement(StyledContainer$3, { "babyGrowthContent-is-mobile": isMobile, "data-site": siteType },
4713
- React__default["default"].createElement(ToolsBannerCard, { siteType: siteType, bannerUrl: index$5.CommonGAssets.getAssetPath('embedToolBannerBlue.svg'), bannerUrlLarge: index$5.CommonGAssets.getAssetPath('embedToolBannerBlue.svg'), bannerColor: siteType === 'marryBaby' && theme.theme.mbColors.mint, isEmbeded: true, icon: React__default["default"].createElement("img", { className: "embedded-icon", alt: "health-tool-icon", src: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.featuredImage) ||
4714
- index$5.CommonGAssets.getAssetPath('health-tools/toolsIconBabyGrowth.svg'), loading: "lazy" }), heading: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.title) || '', medicalReview: {
4715
- link: (_a = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4716
- reviewer: (_b = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer.trim(),
4717
- date: (_c = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4718
- }, isMobile: isMobile }),
4719
- React__default["default"].createElement(StyledBabyGrowthWrapper, { "data-theme": siteType },
4720
- React__default["default"].createElement(Form, { layout: formLayout })))))));
4721
- };
4722
- const BabyGrowthCardEmbed = _BabyGrowthCardEmbed;
4723
- BabyGrowthCardEmbed.Form = Form;
4076
+ return (React__default["default"].createElement(HealthToolCardWrapper, null,
4077
+ React__default["default"].createElement(HealthToolCardWrapper.Banner, { bannerUrl: index$6.CommonGAssets.getAssetPath('embedToolBannerBlue.svg'), bannerUrlLarge: index$6.CommonGAssets.getAssetPath('embedToolBannerBlue.svg'), isEmbeded: true, icon: React__default["default"].createElement("img", { className: "embedded-icon", alt: "health-tool-icon", src: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.featuredImage) ||
4078
+ index$6.CommonGAssets.getAssetPath('health-tools/toolsIconBabyGrowth.svg'), loading: "lazy" }), heading: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.title) || '', medicalReview: {
4079
+ link: (_a = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4080
+ reviewer: (_b = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer.trim(),
4081
+ date: (_c = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4082
+ }, isMobile: isMobile }),
4083
+ React__default["default"].createElement(HealthToolCardWrapper.Body, null,
4084
+ React__default["default"].createElement(index$d.BabyGrowthForm, { schema: schema, onSubmit: onSubmit, onError: onError, formLayout: formLayout }))));
4085
+ };
4724
4086
 
4725
4087
  var useStyles$1 = core.createStyles((theme, params) => {
4726
4088
  const { isMarryBaby, isSide, direction } = params;
@@ -4732,7 +4094,7 @@ var useStyles$1 = core.createStyles((theme, params) => {
4732
4094
  : {
4733
4095
  flexDirection: direction === 'column' ? 'column-reverse' : 'row',
4734
4096
  })), { gap: '8px', padding: '16px', borderRadius: isMarryBaby ? '16px' : '8px' }), (!isMarryBaby && {
4735
- backgroundImage: `url(${index$5.CommonGAssets.getAssetPath('bgPattern/baby-poop.svg')})`,
4097
+ backgroundImage: `url(${index$6.CommonGAssets.getAssetPath('bgPattern/baby-poop.svg')})`,
4736
4098
  backgroundRepeat: 'no-repeat',
4737
4099
  backgroundSize: 'cover',
4738
4100
  backgroundPosition: 'center',
@@ -4837,11 +4199,11 @@ const BabyPoopEmbed = ({ babyPoopPage, onClickFindOut, currentUrl, isSide, direc
4837
4199
  const { reviewedBy, reviewedDate } = babyPoopPage || {};
4838
4200
  return (React__default["default"].createElement("div", { className: classes.root },
4839
4201
  React__default["default"].createElement("div", { className: classes.inner },
4840
- React__default["default"].createElement(index$6.Heading, { tag: "h3", as: 'h2', color: !isMarryBaby && '#284A75' }, babyPoopPage.title),
4202
+ React__default["default"].createElement(index$5.Heading, { tag: "h3", as: 'h2', color: !isMarryBaby && '#284A75' }, babyPoopPage.title),
4841
4203
  React__default["default"].createElement("div", { className: classes.content, "data-is-side": isSide },
4842
4204
  React__default["default"].createElement(index$2.Text, { size: "p3", className: "description" }, babyPoopPage.description),
4843
4205
  !!reviewedBy && (React__default["default"].createElement("div", { className: classes.reviewText },
4844
- React__default["default"].createElement("img", { src: index$5.CommonGAssets.getAssetPath('reviewerCheck.svg'), alt: "check", className: classes.reviewTextIcon, loading: "lazy" }),
4206
+ React__default["default"].createElement("img", { src: index$6.CommonGAssets.getAssetPath('reviewerCheck.svg'), alt: "check", className: classes.reviewTextIcon, loading: "lazy" }),
4845
4207
  React__default["default"].createElement(index$2.Text, { size: "p4", color: theme.theme.colors.gray600 },
4846
4208
  t('categoryPage.info.reviewed'),
4847
4209
  "\u00A0",
@@ -4854,191 +4216,108 @@ const BabyPoopEmbed = ({ babyPoopPage, onClickFindOut, currentUrl, isSide, direc
4854
4216
  } }, t('babyPoop.findOut'))))),
4855
4217
  React__default["default"].createElement("div", { className: classes.thumbnail },
4856
4218
  React__default["default"].createElement("img", { src: isMarryBaby
4857
- ? index$5.CommonGAssets.getAssetPath('baby-poop.svg')
4219
+ ? index$6.CommonGAssets.getAssetPath('baby-poop.svg')
4858
4220
  : babyPoopPage === null || babyPoopPage === void 0 ? void 0 : babyPoopPage.featuredImage, alt: babyPoopPage.title, loading: "lazy" })),
4859
4221
  sponsorLogo && (React__default["default"].createElement("img", { loading: "lazy", src: sponsorLogo, alt: "sponsor", className: classes.sponsorLogo }))));
4860
4222
  };
4861
4223
 
4862
- const StyledRadioImageGroup = styled__default["default"].div `
4863
- display: flex;
4864
- width: 100%;
4224
+ const ThrFormContext = React.createContext({});
4865
4225
 
4866
- &[data-direction='vertical'] {
4867
- flex-direction: column;
4868
- }
4869
-
4870
- &[data-direction='horizontal'] {
4871
- flex-wrap: wrap;
4872
- }
4873
- `;
4874
- const StyledRadioImageItem = styled__default["default"].div `
4875
- display: flex;
4876
-
4877
- padding: 8px;
4878
-
4879
- border-radius: ${theme.theme.borderRadius};
4880
- cursor: pointer;
4881
-
4882
- & > div {
4883
- display: flex;
4884
- width: 100%;
4885
- height: 100%;
4886
- flex-direction: column;
4887
- align-items: center;
4888
- justify-content: flex-start;
4889
- }
4890
-
4891
- &[data-selected='true'] {
4892
- border: 1px solid #2d87f3;
4893
- background: white;
4894
-
4895
- .radio-group-item-heading {
4896
- color: #2d87f3;
4897
- }
4898
- }
4899
- &[data-selected='false'] {
4900
- border: 1px solid #f2f2f2;
4901
- box-shadow: 0px 5px 12px rgba(40, 74, 117, 0.08);
4902
- .radio-group-item-heading {
4903
- color: #262626;
4904
- }
4905
- }
4906
- &[data-disabled='true'] {
4907
- cursor: auto;
4908
- }
4909
-
4910
- .radio-group-item-heading {
4911
- margin-top: 8px;
4912
- text-align: center;
4913
- }
4914
-
4915
- .gender-image {
4916
- width: 23px;
4917
- height: 36px;
4918
- object-fit: contain;
4919
- }
4920
- `;
4921
-
4922
- const RadioImageGroupForTool = ({ value, options, className, direction = 'horizontal', onChange, isDisabled, }) => {
4923
- const [check, setCheck] = React.useState(value);
4924
- const handleOnChange = (v) => {
4925
- if (isDisabled)
4926
- return;
4927
- setCheck(v);
4928
- onChange && onChange(v);
4929
- };
4930
- return (React__default["default"].createElement(StyledRadioImageGroup, { className: className, "data-direction": direction }, options.map((option, index) => (React__default["default"].createElement(StyledRadioImageItem, { "data-selected": (value || check) === option.value, "data-disabled": isDisabled, key: `health-tool${index}`, onClick: () => {
4931
- handleOnChange(option.value);
4932
- } },
4933
- React__default["default"].createElement("div", null,
4934
- React__default["default"].createElement("img", { src: (value || check) === option.value
4935
- ? option.imageActive
4936
- : option.image, className: "gender-image", alt: "", loading: "lazy" }),
4937
- option.label && (React__default["default"].createElement(index$2.Text, { weight: "bold", className: "radio-group-item-heading", size: "label1" }, option.label))))))));
4226
+ const DefaultForm = (_a) => {
4227
+ var _b;
4228
+ var props = tslib_es6.__rest(_a, []);
4229
+ const { t, locale } = useTranslations.useTranslations();
4230
+ const { isAdult, activeValueNote, linkTool, form } = React.useContext(ThrFormContext);
4231
+ return (React__default["default"].createElement(index$d.HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
4232
+ React__default["default"].createElement(index$d.GenderOptionControl, Object.assign({}, form.getInputProps('gender'))),
4233
+ React__default["default"].createElement(index$h.DatePicker, Object.assign({}, form.getInputProps('age'), { placeholder: 'DD/MM/YYYY', popoverProps: {
4234
+ withinPortal: true,
4235
+ }, label: t('targetHeartRate.ageInput'), maxDate: new Date() })),
4236
+ React__default["default"].createElement(index$3.Input.Number, Object.assign({ label: t('targetHeartRate.heartRateInput'), placeholder: t('tools.inputPlaceholder', {
4237
+ content: '60',
4238
+ }) }, form.getInputProps('heartRate'), { min: 40, max: 200, styles: () => ({
4239
+ rightSection: {
4240
+ width: 'auto',
4241
+ },
4242
+ }) })),
4243
+ isAdult && (React__default["default"].createElement(index$3.Select, Object.assign({ label: t('targetHeartRate.selectActive'), defaultValue: (_b = activeValueNote === null || activeValueNote === void 0 ? void 0 : activeValueNote[0]) === null || _b === void 0 ? void 0 : _b.value, data: activeValueNote.map((option) => ({
4244
+ value: option.value,
4245
+ label: option.label,
4246
+ })), styles: {
4247
+ item: {
4248
+ whiteSpace: 'nowrap',
4249
+ padding: '10px 12px',
4250
+ fontSize: '14px',
4251
+ },
4252
+ }, withinPortal: true }, form.getInputProps('activeValue')))),
4253
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.Submit, { type: "submit", dataEventCategory: "Health Tool", dataEventAction: "THR", dataEventLabel: `https://${index$b.domainLocales[locale]}/${linkTool}` }, t('bmi.submit'))));
4938
4254
  };
4939
4255
 
4940
- const StyledButton$1 = styled__default["default"](index$3.Button) `
4941
- margin: 0 auto 24px;
4942
- width: 100%;
4943
- ${utils.MediaQueries.mbUp} {
4944
- max-width: 200px;
4945
- }
4946
- `;
4947
- const StyledContainer$1 = styled__default["default"].div ``;
4948
- const FormControl$1 = styled__default["default"].div `
4949
- display: flex;
4950
- flex-direction: column;
4951
- gap: 16px;
4952
- input {
4953
- font-size: 12px;
4954
- }
4955
- .gender-option {
4956
- gap: 16px;
4957
- > div {
4958
- width: calc(50% - 8px);
4959
- }
4960
- }
4961
- .input-label {
4962
- label {
4963
- display: inline-block;
4964
- margin-bottom: 9px;
4965
- color: #595959;
4966
- font-weight: bold;
4967
- font-size: 12px;
4968
- }
4969
- }
4970
- `;
4971
- const StyledRow$1 = styled__default["default"].div `
4972
- ${utils.MediaQueries.mbUp} {
4973
- display: flex;
4974
- width: 100%;
4975
- align-items: flex-start;
4976
- justify-content: space-between;
4977
- gap: 16px;
4978
- margin-bottom: 24px;
4979
- > div {
4980
- width: 100%;
4981
- }
4982
- }
4983
-
4984
- ${utils.MediaQueries.mbDown} {
4985
- display: flex;
4986
- flex-direction: column;
4987
- gap: 16px;
4988
- margin-bottom: 8px;
4989
- }
4990
- &[data-is-side='true'] {
4991
- ${utils.MediaQueries.mbUp} {
4992
- display: flex;
4993
- flex-direction: column-reverse;
4994
- gap: 0px;
4995
- }
4996
- }
4997
- `;
4998
-
4999
- const ThrForm = ({ info, className, style, onChange, errorMessage = {}, locale, }) => {
5000
- const { t } = useTranslations.useTranslations();
5001
- const [dob, setDob] = React.useState(new Date());
5002
- const [isEdit, setIsEdit] = React.useState({
5003
- age: false,
5004
- rate: false,
5005
- });
5006
- const onAgeChanged = (dob) => {
5007
- setDob(dob);
5008
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { age: true })));
5009
- const newInfo = Object.assign(Object.assign({}, info), { age: dateFns.format(new Date(dob), API_DATE_FORMAT) });
5010
- onChange && onChange(newInfo);
5011
- };
5012
- React.useEffect(() => {
5013
- setIsEdit({
5014
- age: false,
5015
- rate: false,
5016
- });
5017
- }, [errorMessage]);
5018
- return (React__default["default"].createElement(StyledContainer$1, { style: style, className: className },
5019
- React__default["default"].createElement(index$9.Input, { className: "input-section due-date-input", label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600, style: { marginBottom: '9px', flex: '1' } }, t('targetHeartRate.ageInput')), value: DateToInputValue(dob), name: "date", size: "md", CustomInput: React__default["default"].createElement(index$d.DatePicker, { customInput: (props) => (React__default["default"].createElement("input", Object.assign({ type: "date", className: "due-date-input" }, props, { value: DateToInputValue(dob) }))), disabledDays: {
5020
- after: new Date(dateFns.addDays(new Date(), 0)),
5021
- }, locale: locale, pickedDate: dob, displayDateFormat: 'dd/MM/yyyy', onChange: (date) => {
5022
- onAgeChanged(date);
5023
- }, placeholder: "placeholder" }), errorMessage: !isEdit.age ? errorMessage.age : '' })));
4256
+ const InlineForm = (_a) => {
4257
+ var _b;
4258
+ var props = tslib_es6.__rest(_a, []);
4259
+ const { t, locale } = useTranslations.useTranslations();
4260
+ const { isAdult, activeValueNote, linkTool, form } = React.useContext(ThrFormContext);
4261
+ return (React__default["default"].createElement(index$d.HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
4262
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.FormRow, null,
4263
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.BorderInlineControl, { label: t('tools.selectGender') },
4264
+ React__default["default"].createElement(index$d.GenderOptionControl, Object.assign({ type: "radio", hideLabel: true, error: null }, form.getInputProps('gender')))),
4265
+ form.errors.gender && (React__default["default"].createElement(index$d.HealthToolFormWrapper.Error, null, form.errors.gender))),
4266
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.FormRow, null,
4267
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.BorderInlineControl, { label: t('targetHeartRate.ageInput') },
4268
+ React__default["default"].createElement(index$h.DatePicker, Object.assign({}, form.getInputProps('age'), { placeholder: 'DD/MM/YYYY', popoverProps: {
4269
+ withinPortal: true,
4270
+ }, error: null, maxDate: new Date() }))),
4271
+ form.errors.age && (React__default["default"].createElement(index$d.HealthToolFormWrapper.Error, null, form.errors.age))),
4272
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.FormRow, null,
4273
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.BorderInlineControl, { label: t('targetHeartRate.heartRateInput') },
4274
+ React__default["default"].createElement(index$3.Input.Number, Object.assign({ placeholder: t('tools.inputPlaceholder', {
4275
+ content: '60',
4276
+ }) }, form.getInputProps('heartRate'), { error: null, min: 40, max: 200, rightSection: React__default["default"].createElement(index$d.HealthToolFormWrapper.Unit, null, "bmp"), styles: () => ({
4277
+ rightSection: {
4278
+ width: 'auto',
4279
+ },
4280
+ }) }))),
4281
+ form.errors.heartRate && (React__default["default"].createElement(index$d.HealthToolFormWrapper.Error, null, form.errors.heartRate))),
4282
+ isAdult && (React__default["default"].createElement(index$d.HealthToolFormWrapper.BorderInlineControl, { label: t('targetHeartRate.selectActive') },
4283
+ React__default["default"].createElement(index$3.Select, Object.assign({ defaultValue: (_b = activeValueNote === null || activeValueNote === void 0 ? void 0 : activeValueNote[0]) === null || _b === void 0 ? void 0 : _b.value, data: activeValueNote.map((option) => ({
4284
+ value: option.value,
4285
+ label: option.label,
4286
+ })), styles: {
4287
+ item: {
4288
+ whiteSpace: 'nowrap',
4289
+ padding: '10px 12px',
4290
+ fontSize: '14px',
4291
+ },
4292
+ }, withinPortal: true }, form.getInputProps('activeValue'))))),
4293
+ React__default["default"].createElement(index$d.HealthToolFormWrapper.Submit, { type: "submit", dataEventCategory: "Health Tool", dataEventAction: "THR", dataEventLabel: `https://${index$b.domainLocales[locale]}/${linkTool}` }, t('bmi.submit'))));
5024
4294
  };
5025
4295
 
5026
- const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMessage, onFormChange, onSubmit, }) => {
5027
- var _a, _b, _c;
5028
- const { t } = useTranslations.useTranslations();
4296
+ const ThrForm = (_a) => {
4297
+ var { formLayout, onSubmit, onError } = _a, rest = tslib_es6.__rest(_a, ["formLayout", "onSubmit", "onError"]);
4298
+ const { t, locale } = useTranslations.useTranslations();
4299
+ const minRange = React.useRef(40);
5029
4300
  const { getHealthToolLink } = useHealthToolCache.useHealthToolsCache(locale);
4301
+ const form$1 = form.useForm({
4302
+ initialValues: {
4303
+ heartRate: 60,
4304
+ activeValue: 'low_intensity',
4305
+ },
4306
+ validate: {
4307
+ gender: form.isNotEmpty(t('tools.requiredErrorMess.gender')),
4308
+ age: form.isNotEmpty(t('tools.requiredErrorMess.age')),
4309
+ heartRate: (value) => {
4310
+ return Number(value) >= minRange.current && Number(value) <= 200
4311
+ ? null
4312
+ : t('tools.heartRateRangeErr', {
4313
+ min: minRange.current,
4314
+ max: 200,
4315
+ });
4316
+ },
4317
+ },
4318
+ });
5030
4319
  const linkTool = React.useMemo(() => getHealthToolLink(utils$1.HEALTH_TOOL_TYPE.THR), [getHealthToolLink]);
5031
4320
  const [isAdult, setIsAdult] = React.useState(false);
5032
- const [activeValue, setActiveValue] = React.useState('low_intensity');
5033
- const [genderValue, setGenderValue] = React.useState('male');
5034
- const [heartRate, setHeartRate] = React.useState(60);
5035
- const [range, setRange] = React.useState({
5036
- idAge: 0,
5037
- minAge: 0,
5038
- maxAge: 18,
5039
- rangeMale: 40,
5040
- rangeFemale: 40,
5041
- });
5042
4321
  const rangeHeartRateByAge = [
5043
4322
  {
5044
4323
  idAge: 0,
@@ -5094,283 +4373,93 @@ const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMe
5094
4373
  {
5095
4374
  value: 'low_intensity',
5096
4375
  label: t('targetHeartRate.lowIntensity.title'),
5097
- image: index$5.CommonGAssets.getAssetPath(`/low.svg`),
5098
- imageActive: index$5.CommonGAssets.getAssetPath(`/low-active.svg`),
4376
+ image: index$6.CommonGAssets.getAssetPath(`/low.svg`),
4377
+ imageActive: index$6.CommonGAssets.getAssetPath(`/low-active.svg`),
5099
4378
  content: t('targetHeartRate.lowIntensity.note'),
5100
4379
  },
5101
4380
  {
5102
4381
  value: 'moderate_intensity',
5103
4382
  label: t('targetHeartRate.moderateIntensity.title'),
5104
- image: index$5.CommonGAssets.getAssetPath(`/moderate.svg`),
5105
- imageActive: index$5.CommonGAssets.getAssetPath(`/moderate-active.svg`),
4383
+ image: index$6.CommonGAssets.getAssetPath(`/moderate.svg`),
4384
+ imageActive: index$6.CommonGAssets.getAssetPath(`/moderate-active.svg`),
5106
4385
  content: t('targetHeartRate.moderateIntensity.note'),
5107
4386
  },
5108
4387
  {
5109
4388
  value: 'aerobic_zone',
5110
4389
  label: t('targetHeartRate.aerobicZone.title'),
5111
- image: index$5.CommonGAssets.getAssetPath(`/aerobic.svg`),
5112
- imageActive: index$5.CommonGAssets.getAssetPath(`/aerobic-active.svg`),
4390
+ image: index$6.CommonGAssets.getAssetPath(`/aerobic.svg`),
4391
+ imageActive: index$6.CommonGAssets.getAssetPath(`/aerobic-active.svg`),
5113
4392
  content: t('targetHeartRate.aerobicZone.note'),
5114
4393
  },
5115
4394
  {
5116
4395
  value: 'vigorous_intensity',
5117
4396
  label: t('targetHeartRate.vigorousIntensity.title'),
5118
- image: index$5.CommonGAssets.getAssetPath(`/vigorous.svg`),
5119
- imageActive: index$5.CommonGAssets.getAssetPath(`/vigorous-active.svg`),
4397
+ image: index$6.CommonGAssets.getAssetPath(`/vigorous.svg`),
4398
+ imageActive: index$6.CommonGAssets.getAssetPath(`/vigorous-active.svg`),
5120
4399
  content: t('targetHeartRate.vigorousIntensity.note'),
5121
4400
  },
5122
4401
  {
5123
4402
  value: 'maximum_intensity',
5124
4403
  label: t('targetHeartRate.maximumIntensity.title'),
5125
- image: index$5.CommonGAssets.getAssetPath(`/maximum.svg`),
5126
- imageActive: index$5.CommonGAssets.getAssetPath(`/maximum-active.svg`),
4404
+ image: index$6.CommonGAssets.getAssetPath(`/maximum.svg`),
4405
+ imageActive: index$6.CommonGAssets.getAssetPath(`/maximum-active.svg`),
5127
4406
  content: t('targetHeartRate.maximumIntensity.note'),
5128
4407
  },
5129
4408
  ];
5130
4409
  React.useEffect(() => {
5131
- const age = (new Date().getTime() - new Date(info === null || info === void 0 ? void 0 : info.age).getTime()) / 1000;
5132
- if (age >= 18 * 365 * 24 * 60 * 60)
5133
- setIsAdult(true);
5134
- else
5135
- setIsAdult(false);
5136
- const rangeByAge = rangeHeartRateByAge.find((item) => age >= item.minAge * 365 * 24 * 60 * 60 &&
5137
- age < item.maxAge * 365 * 24 * 60 * 60) || rangeHeartRateByAge[0];
5138
- setRange(rangeByAge);
5139
- setHeartRate(60);
5140
- }, [info === null || info === void 0 ? void 0 : info.age]);
5141
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide },
5142
- React__default["default"].createElement(ToolsBannerCard, { isSide: isSide, icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (thrContent === null || thrContent === void 0 ? void 0 : thrContent.featured_image) ||
5143
- index$5.CommonGAssets.getAssetPath('health-tools/target-heart-rate-icon.svg'), loading: "lazy" }), heading: t('targetHearRate.heading'), medicalReview: ((_a = thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedBy) === null || _a === void 0 ? void 0 : _a.display_name)
4410
+ const ageDate = form$1.getInputProps('age').value;
4411
+ const gender = form$1.getInputProps('gender').value;
4412
+ if (ageDate instanceof Date) {
4413
+ const age = (new Date().getTime() - ageDate.getTime()) / 1000;
4414
+ if (age >= 18 * 365 * 24 * 60 * 60)
4415
+ setIsAdult(true);
4416
+ else
4417
+ setIsAdult(false);
4418
+ const rangeByAge = rangeHeartRateByAge.find((item) => age >= item.minAge * 365 * 24 * 60 * 60 &&
4419
+ age < item.maxAge * 365 * 24 * 60 * 60) || rangeHeartRateByAge[0];
4420
+ minRange.current =
4421
+ gender === 'male' ? rangeByAge.rangeMale : rangeByAge.rangeFemale;
4422
+ }
4423
+ }, [form$1]);
4424
+ const commonProps = Object.assign(Object.assign({}, rest), { onSubmit: form$1.onSubmit(onSubmit, onError) });
4425
+ return (React__default["default"].createElement(ThrFormContext.Provider, { value: {
4426
+ isAdult,
4427
+ activeValueNote,
4428
+ linkTool,
4429
+ form: form$1,
4430
+ } }, formLayout === 'inline' ? (React__default["default"].createElement(InlineForm, Object.assign({}, commonProps))) : (React__default["default"].createElement(DefaultForm, Object.assign({}, commonProps)))));
4431
+ };
4432
+
4433
+ const THRCardEmbed = ({ thrContent, isMobile, formLayout, onSubmit, }) => {
4434
+ var _a, _b;
4435
+ const { t } = useTranslations.useTranslations();
4436
+ return (React__default["default"].createElement(HealthToolCardWrapper, null,
4437
+ React__default["default"].createElement(HealthToolCardWrapper.Banner, { icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (thrContent === null || thrContent === void 0 ? void 0 : thrContent.featured_image) ||
4438
+ index$6.CommonGAssets.getAssetPath('health-tools/target-heart-rate-icon.svg'), loading: "lazy" }), heading: t('targetHearRate.heading'), medicalReview: ((_a = thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedBy) === null || _a === void 0 ? void 0 : _a.display_name)
5144
4439
  ? {
5145
- link: index$k.formatUserProfileUrl(thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedBy),
4440
+ link: index$i.formatUserProfileUrl(thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedBy),
5146
4441
  reviewer: (_b = thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedBy) === null || _b === void 0 ? void 0 : _b.display_name,
5147
4442
  date: thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedDate,
5148
4443
  }
5149
4444
  : undefined, isMobile: isMobile }),
5150
- React__default["default"].createElement(index$g.Container, null,
5151
- React__default["default"].createElement(StyledContent, { className: "heart-rate-cal", onSubmit: (e) => e.preventDefault(), "data-is-side": isSide },
5152
- React__default["default"].createElement(StyledRow$1, { "data-is-side": isSide },
5153
- React__default["default"].createElement(FormControl$1, null,
5154
- React__default["default"].createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => {
5155
- setGenderValue(v);
5156
- setHeartRate(60);
5157
- }, styles: (theme) => ({
5158
- root: !isSide && {
5159
- [theme.fn.largerThan('sm')]: {
5160
- width: 'calc((100% - 24px) * 2/3 + 12px)',
5161
- },
5162
- },
5163
- wrapper: {
5164
- [theme.fn.largerThan('sm')]: {
5165
- gap: core.rem(12),
5166
- },
5167
- },
5168
- }) }))),
5169
- React__default["default"].createElement(StyledRow$1, null,
5170
- React__default["default"].createElement(ThrForm, { info: info, locale: locale, errorMessage: inputErrorMessage, onChange: onFormChange })),
5171
- React__default["default"].createElement("div", { className: "slider-heart-rate" },
5172
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 }, t('targetHeartRate.heartRateInput')),
5173
- React__default["default"].createElement("div", { className: "slider-outer-wrapper" },
5174
- React__default["default"].createElement(index$f.Slider, { containerStyle: {
5175
- flex: 1,
5176
- }, min: genderValue === 'male' ? range.rangeMale : range.rangeFemale, max: 200, step: 1, value: heartRate, withControl: true, onChange: setHeartRate }))),
5177
- isAdult && (React__default["default"].createElement(FormControl$1, null,
5178
- React__default["default"].createElement(StyledActive, null,
5179
- React__default["default"].createElement(index$2.Text, { size: "s4", style: {
5180
- display: 'inline-block',
5181
- fontWeight: 'bold',
5182
- color: theme.theme.colors.gray600,
5183
- marginBottom: '9px',
5184
- } }, t('targetHeartRate.selectActive')),
5185
- React__default["default"].createElement("div", { className: "card" },
5186
- React__default["default"].createElement(RadioImageGroupForTool, { options: activeValueNote.map((option) => ({
5187
- value: option.value,
5188
- label: option.label,
5189
- image: option.image,
5190
- imageActive: option.imageActive,
5191
- })), value: activeValue, onChange: (v) => {
5192
- setActiveValue(v);
5193
- }, className: "gender-selector" })),
5194
- activeValue && (React__default["default"].createElement("div", { className: "note" },
5195
- React__default["default"].createElement("img", { style: {
5196
- height: '16px',
5197
- width: '16px',
5198
- }, src: index$5.CommonGAssets.getAssetPath(`/infoIcon.svg`), alt: "", loading: "lazy" }),
5199
- React__default["default"].createElement(index$2.Text, { size: "s4", color: "#595959" }, (_c = activeValueNote[activeValueNote.findIndex((x) => x.value == activeValue) || 0]) === null || _c === void 0 ? void 0 : _c.content))),
5200
- !activeValue && (React__default["default"].createElement("span", { style: { color: '#e64728' } }, inputErrorMessage.intensity)))))),
5201
- React__default["default"].createElement("div", { style: { display: 'flex' } },
5202
- React__default["default"].createElement(StyledButton$1, { size: "lg", onClick: () => {
5203
- onSubmit(genderValue, activeValue, [heartRate]);
5204
- }, dataEventCategory: "Health Tool", dataEventAction: "THR", dataEventLabel: `https://${index$b.domainLocales[locale]}/${linkTool}` }, t('bmi.submit'))))));
5205
- };
5206
-
5207
- const StyledButton = styled__default["default"](index$3.Button) `
5208
- margin: 0 auto 24px;
5209
- ${utils.MediaQueries.mbUp} {
5210
- max-width: 200px;
5211
- margin: 24px auto;
5212
- }
5213
- `;
5214
- const StyledContainer = styled__default["default"].div ``;
5215
- const FormControl = styled__default["default"].div `
5216
- margin-bottom: 1rem;
5217
- display: flex;
5218
- flex-direction: column;
5219
- gap: 16px;
5220
- input {
5221
- font-size: 12px;
5222
- ::placeholder {
5223
- color: #8c8c8c;
5224
- opacity: 1;
5225
- }
5226
- }
5227
- .gender-option {
5228
- gap: 16px;
5229
- > div {
5230
- width: calc(50% - 8px);
5231
- }
5232
- }
5233
- .input-label {
5234
- label {
5235
- display: inline-block;
5236
- margin-bottom: 9px;
5237
- color: #595959;
5238
- font-weight: bold;
5239
- font-size: 12px;
5240
- }
5241
- }
5242
- `;
5243
- const StyledRow = styled__default["default"].div `
5244
- ${utils.MediaQueries.mbUp} {
5245
- display: flex;
5246
- width: 100%;
5247
- align-items: flex-start;
5248
- justify-content: space-between;
5249
- gap: 12px;
5250
- > div {
5251
- width: 100%;
5252
- }
5253
- &[data-is-side='true'] {
5254
- ${utils.MediaQueries.mbUp} {
5255
- display: flex;
5256
- flex-direction: column;
5257
- gap: 0px;
5258
- }
5259
- }
5260
- }
5261
- ${utils.MediaQueries.mbDown} {
5262
- display: flex;
5263
- flex-direction: column;
5264
- gap: 0px;
5265
- }
5266
- `;
5267
-
5268
- const BmrInputForm = ({ info, className, style, onChange, errorMessage = {}, locale, onClick, isSide, }) => {
5269
- const { t } = useTranslations.useTranslations();
5270
- const [isEdit, setIsEdit] = React.useState({
5271
- age: false,
5272
- height: false,
5273
- weight: false,
5274
- });
5275
- const { getHealthToolLink } = useHealthToolCache.useHealthToolsCache(locale);
5276
- const linkTool = React.useMemo(() => getHealthToolLink(utils$1.HEALTH_TOOL_TYPE.OVULATION), [getHealthToolLink]);
5277
- const [genderValue, setGenderValue] = React.useState('male');
5278
- const checkValidInputIsANumber = (s, cb) => {
5279
- if (s === '' || (!isNaN(s) && !isNaN(parseFloat(s)))) {
5280
- cb(s);
5281
- }
5282
- };
5283
- const checkValidInputIsAnInterger = (s, cb) => {
5284
- if (s === '' ||
5285
- (!isNaN(s) && !isNaN(parseFloat(s)) && !s.includes('.'))) {
5286
- cb(s);
5287
- }
5288
- };
5289
- const onAgeChanged = (age) => {
5290
- checkValidInputIsAnInterger(age, (a) => {
5291
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { age: true })));
5292
- const newInfo = Object.assign(Object.assign({}, info), { age: a });
5293
- // setInfo(newInfo)
5294
- onChange && onChange(newInfo);
5295
- });
5296
- };
5297
- const onHeightChanged = (height) => {
5298
- checkValidInputIsANumber(height, (h) => {
5299
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { height: true })));
5300
- const newInfo = Object.assign(Object.assign({}, info), { height: h });
5301
- // setInfo(newInfo)
5302
- onChange && onChange(newInfo);
5303
- });
5304
- };
5305
- const onWeightChanged = (weight) => {
5306
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { weight: true })));
5307
- checkValidInputIsANumber(weight, (w) => {
5308
- const newInfo = Object.assign(Object.assign({}, info), { weight: w });
5309
- // setInfo(newInfo)
5310
- onChange && onChange(newInfo);
5311
- });
5312
- };
5313
- React.useEffect(() => {
5314
- onChange &&
5315
- onChange(Object.assign(Object.assign({}, info), { objective: 'lose-fat', activeLevel: 'sedentary' }));
5316
- }, []);
5317
- React.useEffect(() => {
5318
- setIsEdit({
5319
- age: false,
5320
- height: false,
5321
- weight: false,
5322
- });
5323
- }, [errorMessage]);
5324
- return (React__default["default"].createElement(StyledContainer, { style: style, className: className },
5325
- React__default["default"].createElement(FormControl, { "data-is-side": isSide },
5326
- React__default["default"].createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => setGenderValue(v), styles: (theme) => ({
5327
- root: !isSide && {
5328
- [theme.fn.largerThan('sm')]: {
5329
- width: 'calc((100% - 24px) * 2/3 + 12px)',
5330
- },
5331
- },
5332
- wrapper: {
5333
- [theme.fn.largerThan('sm')]: {
5334
- gap: core.rem(12),
5335
- },
5336
- },
5337
- }) })),
5338
- React__default["default"].createElement(StyledRow, { "data-is-side": isSide },
5339
- React__default["default"].createElement(FormControl, null,
5340
- React__default["default"].createElement(index$3.Input.Number, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 },
5341
- t('bmi.ageInput'),
5342
- ' ',
5343
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray300, as: "span" }, t('bmi.ageInput.desc'))), placeholder: t('healthtool.placeholder.age'), value: Number(info.age), onChange: (v) => onAgeChanged(String(v)), error: !isEdit.age ? errorMessage.age : '', min: 0 })),
5344
- React__default["default"].createElement(FormControl, null,
5345
- React__default["default"].createElement(index$3.Input.Number, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 },
5346
- t('bmi.heightInput'),
5347
- ' ',
5348
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray300, as: "span" }, t('bmi.heightInput.desc'))), placeholder: t('pwg.placeholder.height'), value: Number(info.height), onChange: (v) => onHeightChanged(String(v)), error: !isEdit.height ? errorMessage.height : '', min: 0 })),
5349
- React__default["default"].createElement(FormControl, null,
5350
- React__default["default"].createElement(index$3.Input.Number, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 },
5351
- t('bmi.weightInput'),
5352
- ' ',
5353
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray300, as: "span" }, t('bmi.weightInput.desc'))), placeholder: t('pwg.placeholder.weight'), value: Number(info.weight), onChange: (v) => onWeightChanged(String(v)), error: !isEdit.weight ? errorMessage.weight : '', min: 0, precision: 1 }))),
5354
- React__default["default"].createElement("div", { style: { display: 'flex' } },
5355
- React__default["default"].createElement(StyledButton, { size: "lg", fullWidth: true, className: "bmi-btn bmi--btn-submit", dataEventCategory: "Health Tool", dataEventAction: "BMR", dataEventLabel: `https://${index$b.domainLocales[locale]}/${linkTool}`, onClick: () => {
5356
- onClick(genderValue);
5357
- } }, t('bmi.submit')))));
4445
+ React__default["default"].createElement(HealthToolCardWrapper.Body, null,
4446
+ React__default["default"].createElement(ThrForm, { onSubmit: onSubmit, formLayout: formLayout }))));
5358
4447
  };
5359
4448
 
5360
- const BMRCardEmbed = ({ isSide, locale, bmrContent, isMobile, info, inputErrorMessage, onFormChange, onSubmit, }) => {
4449
+ const BMRCardEmbed = ({ bmrContent, isMobile, onSubmit, formLayout, bmiGenerated, bmiUnit, }) => {
5361
4450
  var _a, _b, _c;
5362
4451
  const { t } = useTranslations.useTranslations();
5363
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide },
5364
- React__default["default"].createElement(ToolsBannerCard, { isSide: isSide, icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.featured_image) ||
5365
- index$5.CommonGAssets.getAssetPath('health-tools/bmr.svg'), loading: "lazy" }), heading: t('bmr.heading'), medicalReview: {
4452
+ return (React__default["default"].createElement(HealthToolCardWrapper, null,
4453
+ React__default["default"].createElement(HealthToolCardWrapper.Banner, { icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.featured_image) ||
4454
+ index$6.CommonGAssets.getAssetPath('health-tools/bmr.svg'), loading: "lazy" }), heading: t('bmr.heading'), medicalReview: {
5366
4455
  link: (_a = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
5367
4456
  reviewer: (_b = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer,
5368
4457
  date: (_c = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
5369
4458
  }, isMobile: isMobile }),
5370
- React__default["default"].createElement(index$g.Container, null,
5371
- React__default["default"].createElement(StyledContent, { onSubmit: (e) => e.preventDefault(), "data-is-side": isSide },
5372
- React__default["default"].createElement(StyledInputForm, null,
5373
- React__default["default"].createElement(BmrInputForm, { info: info, locale: locale, errorMessage: inputErrorMessage, onChange: onFormChange, onClick: onSubmit, isSide: isSide }))))));
4459
+ React__default["default"].createElement(HealthToolCardWrapper.Body, null,
4460
+ React__default["default"].createElement(BmiForm, { onSubmit: onSubmit, bmiGenerated: bmiGenerated, bmiUnit: bmiUnit, formLayout: formLayout, submitProps: {
4461
+ dataEventAction: 'BMR',
4462
+ } }))));
5374
4463
  };
5375
4464
 
5376
4465
  const OvulationForm = ({ locale, onSubmit, isSide, siteType }) => {
@@ -5391,7 +4480,7 @@ const OvulationForm = ({ locale, onSubmit, isSide, siteType }) => {
5391
4480
  return '';
5392
4481
  }, []);
5393
4482
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
5394
- React__default["default"].createElement(StyledLastPeriodFormContainer, { className: "input-form input-section", "data-is-side": true }, siteType === 'marryBaby' ? (React__default["default"].createElement(StyledTextField, { label: t('dueDatePage.lastPeriod.lastPeriodLabel'), name: "date", size: "md", value: DateToInputValue(lastPeriodDate), CustomInput: React__default["default"].createElement(index$d.DatePicker, { onChange: (date) => {
4483
+ React__default["default"].createElement(StyledLastPeriodFormContainer, { className: "input-form input-section", "data-is-side": true }, siteType === 'marryBaby' ? (React__default["default"].createElement(index$d.StyledTextField, { label: t('dueDatePage.lastPeriod.lastPeriodLabel'), name: "date", size: "md", value: index$d.DateToInputValue(lastPeriodDate), CustomInput: React__default["default"].createElement(index$e.DatePicker, { onChange: (date) => {
5395
4484
  setLastPeriodDate(date);
5396
4485
  }, placeholder: "dd/mm/yyyy", pickedDate: lastPeriodDate, displayDateFormat: 'dd/MM/yyyy', disabledDays: {
5397
4486
  before: dateFns.addDays(new Date(), -45),
@@ -5399,28 +4488,28 @@ const OvulationForm = ({ locale, onSubmit, isSide, siteType }) => {
5399
4488
  }, customInput: (props) => {
5400
4489
  return (React__default["default"].createElement(index$9.Input, Object.assign({ className: "due-date-input", name: "birthday", size: "md" }, props, { value: lastPeriodDate &&
5401
4490
  dayjs__default["default"](lastPeriodDate).format(utils$1.DUE_DATE_FORMAT) })));
5402
- } }), actionIcon: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) : (React__default["default"].createElement(index$9.Input, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: "#595959", style: { marginBottom: '9px', flex: '1' } }, t('dueDatePage.lastPeriod.lastPeriodLabel')), value: DateToInputValue(lastPeriodDate), size: "md", name: "date", className: "due-date-input", CustomInput: React__default["default"].createElement(index$d.DatePicker, { customInput: (props) => (React__default["default"].createElement("input", Object.assign({}, props, { type: "date", className: "due-date-input", value: DateToInputValue(lastPeriodDate) }))), locale: locale, pickedDate: lastPeriodDate, displayDateFormat: types.DATE_FORMAT, onChange: (date) => {
4491
+ } }), actionIcon: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) : (React__default["default"].createElement(index$9.Input, { label: React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: "#595959", style: { marginBottom: '9px', flex: '1' } }, t('dueDatePage.lastPeriod.lastPeriodLabel')), value: index$d.DateToInputValue(lastPeriodDate), size: "md", name: "date", className: "due-date-input", CustomInput: React__default["default"].createElement(index$e.DatePicker, { customInput: (props) => (React__default["default"].createElement("input", Object.assign({}, props, { type: "date", className: "due-date-input", value: index$d.DateToInputValue(lastPeriodDate) }))), locale: locale, pickedDate: lastPeriodDate, displayDateFormat: types.DATE_FORMAT, onChange: (date) => {
5403
4492
  setLastPeriodDate(date);
5404
4493
  }, disabledDays: {
5405
4494
  before: dateFns.addDays(new Date(), -45),
5406
4495
  after: new Date(),
5407
4496
  }, placeholder: "Ch\u1ECDn ng\u00E0y" }) }))),
5408
4497
  React__default["default"].createElement("div", { className: "slider-ovulation day-slider", "data-theme": siteType === 'marryBaby' ? 'marryBaby' : '', "data-is-side": isSide },
5409
- siteType === 'marryBaby' ? (React__default["default"].createElement(index$e.MarryBabyText, { type: "bodytext-3", color: theme.theme.mbColors.midGray }, t('ovulationPage.cycleLength'))) : (React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: "#595959" },
4498
+ siteType === 'marryBaby' ? (React__default["default"].createElement(index$f.MarryBabyText, { type: "bodytext-3", color: theme.theme.mbColors.midGray }, t('ovulationPage.cycleLength'))) : (React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: "#595959" },
5410
4499
  t('ovulationPage.cycleLength') + ' ',
5411
4500
  React__default["default"].createElement("span", { style: { minHeight: '36px' } }, t('ovulationPage.dayUnit')))),
5412
4501
  React__default["default"].createElement("div", { className: "slider-outer-wrapper" },
5413
4502
  siteType === 'marryBaby' && (React__default["default"].createElement(index$2.Text, { size: "s3", weight: "semiBold", color: theme.theme.colors.gray600 }, cycleValue)),
5414
- React__default["default"].createElement(index$f.Slider, { containerStyle: {
4503
+ React__default["default"].createElement(index$g.Slider, { containerStyle: {
5415
4504
  flex: 1,
5416
4505
  }, min: 21, max: 45, step: 1, value: cycleValue, onChange: setCycleValue, labelAlwaysOn: siteType !== 'marryBaby', withControl: siteType !== 'marryBaby', label: siteType !== 'marryBaby' ? undefined : null }))),
5417
4506
  React__default["default"].createElement("div", { className: "slider-ovulation day-slider", "data-theme": siteType === 'marryBaby' ? 'marryBaby' : '', "data-is-side": isSide },
5418
- siteType === 'marryBaby' ? (React__default["default"].createElement(index$e.MarryBabyText, { type: "bodytext-3", color: theme.theme.mbColors.midGray }, t('ovulationPage.periodDuration'))) : (React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: "#595959" },
4507
+ siteType === 'marryBaby' ? (React__default["default"].createElement(index$f.MarryBabyText, { type: "bodytext-3", color: theme.theme.mbColors.midGray }, t('ovulationPage.periodDuration'))) : (React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: "#595959" },
5419
4508
  t('ovulationPage.periodDuration') + ' ',
5420
4509
  React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: "#595959", style: { display: 'inline', minHeight: '36px' } }, t('ovulationPage.dayUnit')))),
5421
4510
  React__default["default"].createElement("div", { className: "slider-outer-wrapper" },
5422
4511
  siteType === 'marryBaby' && (React__default["default"].createElement(index$2.Text, { size: "s3", weight: "semiBold", color: theme.theme.colors.gray600 }, periodDurationValue)),
5423
- React__default["default"].createElement(index$f.Slider, { containerStyle: {
4512
+ React__default["default"].createElement(index$g.Slider, { containerStyle: {
5424
4513
  flex: 1,
5425
4514
  }, min: 1, max: 15, step: 1, value: periodDurationValue, onChange: setPeriodDurationValue, labelAlwaysOn: siteType !== 'marryBaby', withControl: siteType !== 'marryBaby', label: siteType !== 'marryBaby' ? undefined : null }))),
5426
4515
  React__default["default"].createElement("div", { style: {
@@ -5485,9 +4574,9 @@ const OvulationCalculator = ({ locale, onSubmitOvulation, isSide, siteType, }) =
5485
4574
  const OvulationCardEmbed = ({ onSubmitOvulation, locale, ovulationPageInfo, expertUrl, isSide = false, siteType, isMobile, }) => {
5486
4575
  var _a;
5487
4576
  const { t } = useTranslations.useTranslations();
5488
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
5489
- React__default["default"].createElement(ToolsBannerCard, { isSide: isSide, bannerUrl: index$5.CommonGAssets.getAssetPath('embedToolBannerPink.svg'), siteType: siteType, bannerColor: siteType === 'marryBaby' && theme.theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.featured_image) ||
5490
- index$5.CommonGAssets.getAssetPath('health-tools/ovulation-icon.svg'), loading: "lazy" }), heading: t('healthTools.ovulationCalculator'), medicalReview: {
4577
+ return (React__default["default"].createElement(HealthToolCardWrapper, { isPregTool: true },
4578
+ React__default["default"].createElement(HealthToolCardWrapper.Banner, { bannerUrl: index$6.CommonGAssets.getAssetPath('embedToolBannerPink.svg'), bannerColor: siteType === 'marryBaby' && theme.theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.featured_image) ||
4579
+ index$6.CommonGAssets.getAssetPath('health-tools/ovulation-icon.svg'), loading: "lazy" }), heading: t('healthTools.ovulationCalculator'), medicalReview: {
5491
4580
  link: expertUrl,
5492
4581
  reviewer: (_a = ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.reviewed_by) === null || _a === void 0 ? void 0 : _a.display_name,
5493
4582
  date: ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.reviewed_date,
@@ -5548,11 +4637,11 @@ const PWGInputForm = ({ siteType, info, onChange, errorMessage = {}, }) => {
5548
4637
  }, [errorMessage]);
5549
4638
  return siteType === 'marryBaby' ? (React__default["default"].createElement(React__default["default"].Fragment, null,
5550
4639
  React__default["default"].createElement("div", { className: "input-form-pwg input-section" },
5551
- React__default["default"].createElement(StyledTextField, { label: t('pregnancyWeightGain.heightInput'), name: "pwg-height", size: "md", value: info === null || info === void 0 ? void 0 : info.height, CustomInput: React__default["default"].createElement(index$9.Input, { className: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.height) ? 'error-input' : '', name: "pwg-height", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: info === null || info === void 0 ? void 0 : info.height, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), errorMessage: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.height) ? errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.height : '', showErrorMessage: false, onChange: onHeightChanged }) })),
4640
+ React__default["default"].createElement(index$d.StyledTextField, { label: t('pregnancyWeightGain.heightInput'), name: "pwg-height", size: "md", value: info === null || info === void 0 ? void 0 : info.height, CustomInput: React__default["default"].createElement(index$9.Input, { className: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.height) ? 'error-input' : '', name: "pwg-height", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: info === null || info === void 0 ? void 0 : info.height, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), errorMessage: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.height) ? errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.height : '', showErrorMessage: false, onChange: onHeightChanged }) })),
5552
4641
  React__default["default"].createElement("div", { className: "input-form-pwg input-section" },
5553
- React__default["default"].createElement(StyledTextField, { label: t('pregnancyWeightGain.weightBeforeInput'), name: "pwg-weightBefore", size: "md", value: info === null || info === void 0 ? void 0 : info.weightBefore, CustomInput: React__default["default"].createElement(index$9.Input, { className: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.weightBefore) ? 'error-input' : '', name: "pwg-weightBefore", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: info === null || info === void 0 ? void 0 : info.weightBefore, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), errorMessage: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.weightBefore) ? errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.height : '', showErrorMessage: false, onChange: onWeightBeforeChanged }) })),
4642
+ React__default["default"].createElement(index$d.StyledTextField, { label: t('pregnancyWeightGain.weightBeforeInput'), name: "pwg-weightBefore", size: "md", value: info === null || info === void 0 ? void 0 : info.weightBefore, CustomInput: React__default["default"].createElement(index$9.Input, { className: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.weightBefore) ? 'error-input' : '', name: "pwg-weightBefore", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: info === null || info === void 0 ? void 0 : info.weightBefore, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), errorMessage: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.weightBefore) ? errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.height : '', showErrorMessage: false, onChange: onWeightBeforeChanged }) })),
5554
4643
  React__default["default"].createElement("div", { className: "input-form-pwg input-section" },
5555
- React__default["default"].createElement(StyledTextField, { label: t('pregnancyWeightGain.weightInput'), name: "pwg-weight", size: "md", value: info === null || info === void 0 ? void 0 : info.weight, CustomInput: React__default["default"].createElement(index$9.Input, { className: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.weight) ? 'error-input' : '', name: "pwg-weight", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: info === null || info === void 0 ? void 0 : info.weight, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), errorMessage: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.weight) ? errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.weight : '', showErrorMessage: false, onChange: onWeightChanged }) })))) : (React__default["default"].createElement(React__default["default"].Fragment, null,
4644
+ React__default["default"].createElement(index$d.StyledTextField, { label: t('pregnancyWeightGain.weightInput'), name: "pwg-weight", size: "md", value: info === null || info === void 0 ? void 0 : info.weight, CustomInput: React__default["default"].createElement(index$9.Input, { className: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.weight) ? 'error-input' : '', name: "pwg-weight", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: info === null || info === void 0 ? void 0 : info.weight, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), errorMessage: !(isEdit === null || isEdit === void 0 ? void 0 : isEdit.weight) ? errorMessage === null || errorMessage === void 0 ? void 0 : errorMessage.weight : '', showErrorMessage: false, onChange: onWeightChanged }) })))) : (React__default["default"].createElement(React__default["default"].Fragment, null,
5556
4645
  React__default["default"].createElement("div", { className: "input-form-pwg" },
5557
4646
  React__default["default"].createElement(index_styles.PureInput, { placeholder: t('pwg.placeholder.height'), className: "input-section", label: React__default["default"].createElement("span", { style: {
5558
4647
  color: theme.theme.colors.gray600,
@@ -5603,14 +4692,14 @@ const PWGCardEmbed = ({ locale, onClick, inputErrorMessage, pwgContent, onFormCh
5603
4692
  })), []);
5604
4693
  const { getHealthToolLink } = useHealthToolCache.useHealthToolsCache(locale);
5605
4694
  const linkTool = React.useMemo(() => getHealthToolLink(utils$1.HEALTH_TOOL_TYPE.PWG), [getHealthToolLink]);
5606
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
5607
- React__default["default"].createElement(ToolsBannerCard, { siteType: siteType, bannerColor: siteType === 'marryBaby' && theme.theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.featuredImage) ||
5608
- index$5.CommonGAssets.getAssetPath('health-tools/pwg-icon.svg'), loading: "lazy" }), heading: t('pregnancyWeightGain.heading'), medicalReview: {
5609
- link: index$k.formatUserProfileUrl(pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedBy),
4695
+ return (React__default["default"].createElement(HealthToolCardWrapper, { isPregTool: true },
4696
+ React__default["default"].createElement(HealthToolCardWrapper.Banner, { bannerColor: siteType === 'marryBaby' && theme.theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default["default"].createElement("img", { alt: "health-tool-icon", src: (pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.featuredImage) ||
4697
+ index$6.CommonGAssets.getAssetPath('health-tools/pwg-icon.svg'), loading: "lazy" }), heading: t('pregnancyWeightGain.heading'), medicalReview: {
4698
+ link: index$i.formatUserProfileUrl(pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedBy),
5610
4699
  reviewer: (_a = pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedBy) === null || _a === void 0 ? void 0 : _a.display_name,
5611
4700
  date: pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedDate,
5612
4701
  }, isMobile: isMobile, isSide: isSide }),
5613
- React__default["default"].createElement(index$g.Container, null,
4702
+ React__default["default"].createElement(index$j.Container, null,
5614
4703
  React__default["default"].createElement(StyledContent, { onSubmit: (e) => e.preventDefault(), className: "pwg-view-mobile", "data-is-side": isSide },
5615
4704
  siteType !== 'marryBaby' && (React__default["default"].createElement(StyledTwins, { className: "hide-asking-mobile", "data-is-side": isSide },
5616
4705
  React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", style: {
@@ -5947,11 +5036,11 @@ range, setRange, onChange, goToPreviousMonth, goToNextMonth, minDate, maxDate, c
5947
5036
  }
5948
5037
  return (React__default["default"].createElement(StyledCalendarWrapper$1, { className: "calendar-wrapper" },
5949
5038
  React__default["default"].createElement(StyledCalendarHead, null,
5950
- React__default["default"].createElement(index$a.Button, { onClick: goToPreviousMonth, size: "md", color: "ghost", icon: React__default["default"].createElement("img", { src: index$5.CommonGAssets.getAssetPath('calendarArrowLeft.svg'), loading: "lazy" }) }),
5039
+ React__default["default"].createElement(index$a.Button, { onClick: goToPreviousMonth, size: "md", color: "ghost", icon: React__default["default"].createElement("img", { src: index$6.CommonGAssets.getAssetPath('calendarArrowLeft.svg'), loading: "lazy" }) }),
5951
5040
  React__default["default"].createElement("div", { className: "calendar-month" },
5952
5041
  monthLabel,
5953
5042
  React__default["default"].createElement("strong", null, dateFns.format(date, 'yyyy'))),
5954
- React__default["default"].createElement(index$a.Button, { onClick: goToNextMonth, size: "md", color: "ghost", icon: React__default["default"].createElement("img", { src: index$5.CommonGAssets.getAssetPath('calendarArrowRight.svg'), loading: "lazy" }) })),
5043
+ React__default["default"].createElement(index$a.Button, { onClick: goToNextMonth, size: "md", color: "ghost", icon: React__default["default"].createElement("img", { src: index$6.CommonGAssets.getAssetPath('calendarArrowRight.svg'), loading: "lazy" }) })),
5955
5044
  React__default["default"].createElement(StyledCalendarCellsWrapper, null,
5956
5045
  React__default["default"].createElement("div", null, renderWeekDays()),
5957
5046
  React__default["default"].createElement("div", null, renderMonth()))));
@@ -6027,7 +5116,7 @@ function DateRangePicker({ inputSize = 'md', name = 'date-range-picker', value,
6027
5116
  }
6028
5117
  return (React__default["default"].createElement(StyledWrapper, { className: [className, opened && 'focused'].filter(Boolean).join(' '), ref: ref },
6029
5118
  React__default["default"].createElement("label", { htmlFor: name },
6030
- React__default["default"].createElement(index_styles.PureInput, { size: inputSize, value: fieldValue, name: name, actionIcon: React__default["default"].createElement("img", { src: index$5.CommonGAssets.getAssetPath('calendar.svg'), loading: "lazy" }), onFocus: () => setOpened(true) })),
5119
+ React__default["default"].createElement(index_styles.PureInput, { size: inputSize, value: fieldValue, name: name, actionIcon: React__default["default"].createElement("img", { src: index$6.CommonGAssets.getAssetPath('calendar.svg'), loading: "lazy" }), onFocus: () => setOpened(true) })),
6031
5120
  opened ? (React__default["default"].createElement(StyledCalendarWrapper, { onMouseDown: (e) => {
6032
5121
  e.stopPropagation();
6033
5122
  } }, renderCalendar())) : null));
@@ -6128,7 +5217,7 @@ const ShareContainer = ({ url, onCopied, locale, siteType, }) => {
6128
5217
  React__default["default"].createElement(index$a.Button, { theme: siteType, size: "sm", type: "button", color: "tertiary", className: "share", style: {}, icon: React__default["default"].createElement(AttachIcon, null), onClick: copyToClipboard, "data-event-category": "Health Tool", "data-event-action": "Copy Link", "data-event-label": currentUrl }))));
6129
5218
  };
6130
5219
 
6131
- const StyledShareDrawer = styled__default["default"](index$i.Drawer) `
5220
+ const StyledShareDrawer = styled__default["default"](index$d.Drawer) `
6132
5221
  padding-bottom: 24px;
6133
5222
  .share-container {
6134
5223
  display: flex;
@@ -6293,7 +5382,7 @@ const StyledAdHeader = styled__default["default"].div `
6293
5382
  `;
6294
5383
  const StyledCloseBtn = styled__default["default"].div `
6295
5384
  background-color: white;
6296
- background-image: url(${index$5.CommonGAssets.getAssetPath('close-blue.svg')});
5385
+ background-image: url(${index$6.CommonGAssets.getAssetPath('close-blue.svg')});
6297
5386
  background-repeat: no-repeat;
6298
5387
  background-size: 10px;
6299
5388
  background-position: center;
@@ -6363,7 +5452,7 @@ const DEFAULT_30S_AD_POS = [
6363
5452
  const ForwaredAdBlock = React.forwardRef(function InfinityAdBlock({ className, adUnitPath, size, divId, pos, sizeMapping, contentId, isHidden, hideIfHasSubot, isSticky, refreshInterval, // seconds
6364
5453
  customTargetings, style, adDefaultSize, noWrapper, showCloseBtn, onCloseAd, headerBottom, wrapperProps, locale, isMarryBaby, }, ref) {
6365
5454
  const defaultRefreshInterval = refreshInterval ||
6366
- (locale === index$j.LOCALE.Vietnam
5455
+ (locale === index$k.LOCALE.Vietnam
6367
5456
  ? pos.some((p) => DEFAULT_30S_AD_POS.includes(p))
6368
5457
  ? 30
6369
5458
  : undefined
@@ -6452,8 +5541,8 @@ customTargetings, style, adDefaultSize, noWrapper, showCloseBtn, onCloseAd, head
6452
5541
  React__default["default"].createElement(StyledAdContainer, { ref: containerRef, className: className, style: style, "data-no-wrapper": !!noWrapper, "data-header-bottom": !!headerBottom }, noWrapper ? (AdContent) : (React__default["default"].createElement(React__default["default"].Fragment, null,
6453
5542
  React__default["default"].createElement(StyledAdHeader, { "data-header-bottom": !!headerBottom },
6454
5543
  React__default["default"].createElement("img", { src: isMarryBaby
6455
- ? index$5.CommonGAssets.getAssetPath('adsIcon-mb.svg')
6456
- : index$5.CommonGAssets.getAssetPath('adsIcon.svg'), alt: "", loading: "lazy" }),
5544
+ ? index$6.CommonGAssets.getAssetPath('adsIcon-mb.svg')
5545
+ : index$6.CommonGAssets.getAssetPath('adsIcon.svg'), alt: "", loading: "lazy" }),
6457
5546
  React__default["default"].createElement("span", null, t('adBanner.title'))),
6458
5547
  React__default["default"].createElement("div", { style: {
6459
5548
  minWidth: minWidth || '100%',
@@ -6520,21 +5609,21 @@ const PREFER_TOPICS = [
6520
5609
  {
6521
5610
  title: 'Health News & Current Affairs',
6522
5611
  description: 'Covering the latest happenings in the health field, including medical breakthroughs, policies, and disease outbreaks',
6523
- icon: index$5.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-health.svg'),
5612
+ icon: index$6.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-health.svg'),
6524
5613
  checked: false,
6525
5614
  id: 1,
6526
5615
  },
6527
5616
  {
6528
5617
  title: 'Educational Medical Hello Bacsi Content',
6529
5618
  description: 'Covering the latest happenings in the health field, including medical breakthroughs, policies, and disease outbreaks',
6530
- icon: index$5.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-education.svg'),
5619
+ icon: index$6.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-education.svg'),
6531
5620
  checked: false,
6532
5621
  id: 2,
6533
5622
  },
6534
5623
  {
6535
5624
  title: 'Hello Health Community Feed',
6536
5625
  description: 'Covering the latest happenings in the health field, including medical breakthroughs, policies, and disease outbreaks',
6537
- icon: index$5.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-community.svg'),
5626
+ icon: index$6.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-community.svg'),
6538
5627
  checked: false,
6539
5628
  id: 3,
6540
5629
  },
@@ -6566,7 +5655,7 @@ const HEALTH_TOOL_TYPE = {
6566
5655
  BABY_POOP: HEALTH_TOOL_NAME.BABY_POOP,
6567
5656
  };
6568
5657
  const HEALTH_TOOL_DEFAULT_IMG = {
6569
- [HEALTH_TOOL_TYPE.DUE_DATE]: index$5.CommonGAssets.getAssetPath('health-tools/due-date-icon.svg'),
5658
+ [HEALTH_TOOL_TYPE.DUE_DATE]: index$6.CommonGAssets.getAssetPath('health-tools/due-date-icon.svg'),
6570
5659
  };
6571
5660
 
6572
5661
  var BannerCategory;
@@ -6607,8 +5696,8 @@ const FLOW = (t, currentUrl) => ({
6607
5696
  description: t('pnBanner.pregnancy.desc'),
6608
5697
  styleType: OptionBannerStyleType.Button,
6609
5698
  thumbnail: {
6610
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-pregnancy-desktop.png`),
6611
- mobile: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-pregnancy-mobile.png`),
5699
+ desktop: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-pregnancy-desktop.png`),
5700
+ mobile: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-pregnancy-mobile.png`),
6612
5701
  },
6613
5702
  buttonProps: {
6614
5703
  variant: 'white',
@@ -6658,8 +5747,8 @@ const FLOW = (t, currentUrl) => ({
6658
5747
  heading: t('pnBanner.parenting.heading'),
6659
5748
  description: t('pnBanner.parenting.desc'),
6660
5749
  thumbnail: {
6661
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
6662
- mobile: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-mobile.png`),
5750
+ desktop: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
5751
+ mobile: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-mobile.png`),
6663
5752
  },
6664
5753
  hideDescOnMobile: true,
6665
5754
  styleType: OptionBannerStyleType.Checkbox,
@@ -6693,8 +5782,8 @@ const FLOW = (t, currentUrl) => ({
6693
5782
  heading: t('pnBanner.teenager.heading'),
6694
5783
  description: t('pnBanner.parenting.desc'),
6695
5784
  thumbnail: {
6696
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
6697
- mobile: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-mobile.png`),
5785
+ desktop: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
5786
+ mobile: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-mobile.png`),
6698
5787
  },
6699
5788
  buttonProps: {
6700
5789
  variant: 'white',
@@ -6738,8 +5827,8 @@ const FLOW = (t, currentUrl) => ({
6738
5827
  heading: t('pnBanner.both.heading'),
6739
5828
  description: t('pnBanner.both.desc'),
6740
5829
  thumbnail: {
6741
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
6742
- mobile: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-mobile.png`),
5830
+ desktop: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
5831
+ mobile: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-mobile.png`),
6743
5832
  },
6744
5833
  hideDescOnMobile: true,
6745
5834
  buttonProps: {
@@ -6786,8 +5875,8 @@ const FLOW = (t, currentUrl) => ({
6786
5875
  heading: t('pnBanner.both.heading'),
6787
5876
  description: t('pnBanner.both.desc'),
6788
5877
  thumbnail: {
6789
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
6790
- mobile: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-mobile.png`),
5878
+ desktop: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
5879
+ mobile: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-mobile.png`),
6791
5880
  },
6792
5881
  hideDescOnMobile: true,
6793
5882
  buttonProps: {
@@ -6845,8 +5934,8 @@ const TOOL_BANNERS_PROPS = (t) => ({
6845
5934
  heading: t('pnBanner.hpv.heading'),
6846
5935
  description: t('pnBanner.hpv.desc'),
6847
5936
  thumbnail: {
6848
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-hpv-desktop.png`),
6849
- mobile: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-hpv-mobile.png`),
5937
+ desktop: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-hpv-desktop.png`),
5938
+ mobile: index$6.CommonGAssets.getAssetPath(`newsletter/banner-option-hpv-mobile.png`),
6850
5939
  },
6851
5940
  isRiskScreener: true,
6852
5941
  btnLabel: t('pnBanner.checkNow'),
@@ -6878,8 +5967,8 @@ const PnBannerEle = (_a) => {
6878
5967
  cursor: 'pointer',
6879
5968
  }, onClick: bannerClick, "data-event-category": "Newsletter", "data-event-action": "Banner Click", "data-event-label": currentUrl, className: "pointer-event-child-none" }, rest),
6880
5969
  React__default["default"].createElement(index$3.ImageWrap, { src: isMarketing
6881
- ? index$5.CommonGAssets.getAssetPath(`newsletter/${isMobile ? 'Mobile' : 'Desktop'}_Marketing.png`)
6882
- : index$5.CommonGAssets.getAssetPath(`newsletter/${isMobile ? 'Mobile' : 'Desktop'}_${type}.png`), style: { maxWidth: '100%' }, alt: "newsletter banner" })));
5970
+ ? index$6.CommonGAssets.getAssetPath(`newsletter/${isMobile ? 'Mobile' : 'Desktop'}_Marketing.png`)
5971
+ : index$6.CommonGAssets.getAssetPath(`newsletter/${isMobile ? 'Mobile' : 'Desktop'}_${type}.png`), style: { maxWidth: '100%' }, alt: "newsletter banner" })));
6883
5972
  };
6884
5973
 
6885
5974
  const PATHS$1 = {
@@ -6946,7 +6035,7 @@ const BannerLayout = ({ heading, description, thumbnail = {
6946
6035
  maxWidth: '70%',
6947
6036
  },
6948
6037
  }) },
6949
- heading && React__default["default"].createElement(index$6.Heading, { tag: "h4" }, heading),
6038
+ heading && React__default["default"].createElement(index$5.Heading, { tag: "h4" }, heading),
6950
6039
  !(hideDescOnMobile && isMobile) && description && (React__default["default"].createElement(index$2.Text, { size: "p4" }, description))),
6951
6040
  React__default["default"].createElement(core.Box, null, children)))));
6952
6041
  };
@@ -7060,7 +6149,7 @@ const ToolBanner = (props) => {
7060
6149
  }) },
7061
6150
  React__default["default"].createElement(core.Stack, { spacing: core.rem(12) },
7062
6151
  React__default["default"].createElement(core.Stack, { spacing: core.rem(4) },
7063
- heading && React__default["default"].createElement(index$6.Heading, { tag: "h4" }, heading),
6152
+ heading && React__default["default"].createElement(index$5.Heading, { tag: "h4" }, heading),
7064
6153
  !(isMobile && hideDescOnMobile) && description && (React__default["default"].createElement(index$2.Text, { size: "p4" }, description))),
7065
6154
  React__default["default"].createElement(core.Flex, { gap: core.rem(8), sx: {
7066
6155
  button: {
@@ -7099,7 +6188,7 @@ const HandlerBanner = () => {
7099
6188
  };
7100
6189
 
7101
6190
  const SideBannerModal = (_a) => {
7102
- var { isMobile, children, desktopBanner = index$5.CommonGAssets.getAssetPath('friso/onboarding-banner.jpg'), mobileBanner = index$5.CommonGAssets.getAssetPath('friso/onboarding-banner-mobile.jpg'), modalRatio = {
6191
+ var { isMobile, children, desktopBanner = index$6.CommonGAssets.getAssetPath('friso/onboarding-banner.jpg'), mobileBanner = index$6.CommonGAssets.getAssetPath('friso/onboarding-banner-mobile.jpg'), modalRatio = {
7103
6192
  width: 937,
7104
6193
  height: 536,
7105
6194
  }, mobileBannerRatio = {
@@ -7299,7 +6388,7 @@ const Layout = (_a) => {
7299
6388
  var { heading, children, stickyActions } = _a, scrollAreaProps = tslib_es6.__rest(_a, ["heading", "children", "stickyActions"]);
7300
6389
  const { isMobile } = React.useContext(PremiumNewsletterModalContext);
7301
6390
  const content = (React__default["default"].createElement(core.Stack, { spacing: core.rem(24), sx: { height: '100%' } },
7302
- React__default["default"].createElement(index$6.Heading, { tag: "h4", style: {
6391
+ React__default["default"].createElement(index$5.Heading, { tag: "h4", style: {
7303
6392
  textAlign: 'center',
7304
6393
  } }, heading),
7305
6394
  React__default["default"].createElement(core.Box, null, children)));
@@ -7846,15 +6935,15 @@ const Result = () => {
7846
6935
  React__default["default"].createElement("path", { d: "M9.99984 18.3334C14.6022 18.3334 18.3332 14.6025 18.3332 10.0001C18.3332 5.39771 14.6022 1.66675 9.99984 1.66675C5.39746 1.66675 1.6665 5.39771 1.6665 10.0001C1.6665 14.6025 5.39746 18.3334 9.99984 18.3334Z", fill: "#00B16A" }),
7847
6936
  React__default["default"].createElement("path", { d: "M9.58558 12.6674C9.22944 12.668 8.87668 12.5983 8.54752 12.4623C8.21835 12.3264 7.91925 12.1268 7.66732 11.8751L6.68587 10.8931C6.55607 10.7587 6.48424 10.5787 6.48587 10.3919C6.48749 10.2051 6.56243 10.0263 6.69455 9.89422C6.82667 9.7621 7.00539 9.68716 7.19222 9.68554C7.37906 9.68391 7.55906 9.75574 7.69345 9.88554L8.67491 10.8675C8.79344 10.986 8.93415 11.08 9.08902 11.1442C9.24389 11.2083 9.40987 11.2413 9.5775 11.2413C9.74513 11.2413 9.91111 11.2083 10.066 11.1442C10.2208 11.08 10.3616 10.986 10.4801 10.8675L16.7033 5.24335C16.8443 5.12184 17.0272 5.06032 17.213 5.07195C17.3987 5.08358 17.5726 5.16744 17.6973 5.30558C17.8221 5.44373 17.8878 5.6252 17.8805 5.81118C17.8731 5.99717 17.7933 6.17291 17.6581 6.30081L11.4592 11.8998C11.2128 12.1448 10.9205 12.3387 10.5989 12.4705C10.2774 12.6022 9.93304 12.6692 9.58558 12.6674Z", fill: "white" }))),
7848
6937
  React__default["default"].createElement(index$2.Text, { size: "p3" }, disclaimerText || t('pnModal.disclaimer'))),
7849
- React__default["default"].createElement(index$6.Heading, { tag: "h5" }, t('healthToolPNModal.yourPre')),
6938
+ React__default["default"].createElement(index$5.Heading, { tag: "h5" }, t('healthToolPNModal.yourPre')),
7850
6939
  selectCategory.length > 0 && (React__default["default"].createElement(TopicSection, { topicsGroup: [{ label: '', topics: selectCategory }], selectedTopics: selectCategory, readonly: true })))));
7851
6940
  };
7852
6941
 
7853
6942
  const PremiumNewsletterModal = ({ isMobile, isLoggedIn, pnSuggestCategory = [], acquisitionInfo, currentUrl, opened, close, finishLabelOnResult, onRegisterSuccess, disclaimerText, }) => {
7854
6943
  const { t, locale } = useTranslations.useTranslations();
7855
6944
  const { action: { pushNotifications }, } = React.useContext(utils$1.TogetherComponentGlobalContext);
7856
- const desktopBanner = index$5.CommonGAssets.getAssetPath('premiumNewsletter/side-banner-desktop.jpg');
7857
- const mobileBanner = index$5.CommonGAssets.getAssetPath('premiumNewsletter/side-banner-mobile.jpg');
6945
+ const desktopBanner = index$6.CommonGAssets.getAssetPath('premiumNewsletter/side-banner-desktop.jpg');
6946
+ const mobileBanner = index$6.CommonGAssets.getAssetPath('premiumNewsletter/side-banner-mobile.jpg');
7858
6947
  const [categoryLibs, setCategoryLibs] = React.useState([]);
7859
6948
  const [selectCategory, setSelectCategory] = React.useState([]);
7860
6949
  const [activeStep, setActiveStep] = React.useState(0);
@@ -7880,7 +6969,7 @@ const PremiumNewsletterModal = ({ isMobile, isLoggedIn, pnSuggestCategory = [],
7880
6969
  ga_client_id: Cookies__default["default"].get(index$b.GA_TOKEN_COOKIE),
7881
6970
  client_ip: window.clientIP || '',
7882
6971
  user_info: Object.assign(Object.assign({}, acquisitionInfo.userInfo), { name: name || formValues.name, type_subscription: 1 }),
7883
- domain: index$b.domainLocales[locale || index$j.LOCALE.Vietnam],
6972
+ domain: index$b.domainLocales[locale || index$k.LOCALE.Vietnam],
7884
6973
  category: selectCategory,
7885
6974
  perferred: acquisitionInfo.preferredTopics.map(({ id }) => ({
7886
6975
  id,
@@ -7956,7 +7045,7 @@ const PremiumNewsletterModal = ({ isMobile, isLoggedIn, pnSuggestCategory = [],
7956
7045
  finishLabelOnResult,
7957
7046
  disclaimerText,
7958
7047
  } },
7959
- React__default["default"].createElement(SideBannerModal, { isMobile: isMobile, desktopBanner: index$5.CommonGAssets.getAssetPath('premiumNewsletter/side-banner-desktop.jpg'), mobileBanner: index$5.CommonGAssets.getAssetPath('premiumNewsletter/side-banner-mobile.jpg'), modalRatio: {
7048
+ React__default["default"].createElement(SideBannerModal, { isMobile: isMobile, desktopBanner: index$6.CommonGAssets.getAssetPath('premiumNewsletter/side-banner-desktop.jpg'), mobileBanner: index$6.CommonGAssets.getAssetPath('premiumNewsletter/side-banner-mobile.jpg'), modalRatio: {
7960
7049
  width: 960,
7961
7050
  height: 588,
7962
7051
  }, desktopBannerRatio: {
@@ -8199,8 +7288,8 @@ function NavHeader({ userInfo, onClickMyProfileButton, themeName = 'helloSites',
8199
7288
  React__default["default"].createElement("div", { className: styles$4.navHeaderUserInfos },
8200
7289
  React__default["default"].createElement("div", { className: styles$4.navHeaderUserName }, (userInfo === null || userInfo === void 0 ? void 0 : userInfo.name) || (userInfo === null || userInfo === void 0 ? void 0 : userInfo.username)),
8201
7290
  React__default["default"].createElement("div", { className: styles$4.navHeaderMyProfileButton, style: {
8202
- '--bg-hellosites': `url(${index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-chevronRight.svg')})`,
8203
- '--bg-marrybaby': `url(${index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-arrowRight.svg')})`,
7291
+ '--bg-hellosites': `url(${index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-chevronRight.svg')})`,
7292
+ '--bg-marrybaby': `url(${index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-arrowRight.svg')})`,
8204
7293
  } }, t('userProfile.nav.header.viewProfile')))));
8205
7294
  }
8206
7295
 
@@ -8214,17 +7303,17 @@ const iconBgColorMap = {
8214
7303
  // type CardIconUrlMap = IconUrlMap<UserProfileMenuCard>
8215
7304
  const cardIconUrlMap = {
8216
7305
  helloSites: {
8217
- myBooking: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myBooking.svg'),
8218
- myCommunity: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myCommunity.svg'),
8219
- myFamily: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myFamily.svg'),
8220
- myHealth: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myHealth.svg'),
8221
- mySaved: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-mySaved.svg'),
8222
- eCom: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-eCom.svg'),
7306
+ myBooking: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myBooking.svg'),
7307
+ myCommunity: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myCommunity.svg'),
7308
+ myFamily: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myFamily.svg'),
7309
+ myHealth: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myHealth.svg'),
7310
+ mySaved: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-mySaved.svg'),
7311
+ eCom: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-eCom.svg'),
8223
7312
  },
8224
7313
  marryBaby: {
8225
- mySaved: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-mySaved.svg'),
8226
- myCommunity: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-myCommunity.svg'),
8227
- myHealth: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-myHealth.svg'),
7314
+ mySaved: () => index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-mySaved.svg'),
7315
+ myCommunity: () => index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-myCommunity.svg'),
7316
+ myHealth: () => index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-myHealth.svg'),
8228
7317
  },
8229
7318
  };
8230
7319
  const NavigationCard = ({ type, themeName, className, onClick = () => undefined, }) => {
@@ -8253,7 +7342,7 @@ const NavigationCard = ({ type, themeName, className, onClick = () => undefined,
8253
7342
  const navMenuItemsHelloSites = () => [
8254
7343
  {
8255
7344
  key: 'userProfile.nav.menu.accountSettings',
8256
- icon: index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-settingsWheel.svg'),
7345
+ icon: index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-settingsWheel.svg'),
8257
7346
  subMenu: [
8258
7347
  // {
8259
7348
  // key: 'common.profileNavigator.newsletterSubscription',
@@ -8283,19 +7372,19 @@ const navMenuItemsHelloSites = () => [
8283
7372
  },
8284
7373
  {
8285
7374
  key: 'userProfile.nav.menu.help',
8286
- icon: index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-helpCircle.svg'),
7375
+ icon: index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-helpCircle.svg'),
8287
7376
  link: 'help',
8288
7377
  },
8289
7378
  ];
8290
7379
  const navMenuItemsMarryBaby = () => [
8291
7380
  {
8292
7381
  key: 'userProfile.nav.menu.password',
8293
- icon: index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-lock.svg'),
7382
+ icon: index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-lock.svg'),
8294
7383
  link: 'password',
8295
7384
  },
8296
7385
  {
8297
7386
  key: 'userProfile.nav.menu.logout',
8298
- icon: index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-logOut.svg'),
7387
+ icon: index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-logOut.svg'),
8299
7388
  link: 'logout',
8300
7389
  },
8301
7390
  ];
@@ -8333,7 +7422,7 @@ const NavMenuItem = ({ item, openKey, onClickItem, locale, }) => {
8333
7422
  item.icon && (React__default["default"].createElement("div", { className: styles$2.navMenuItemIcon, style: { backgroundImage: `url("${item.icon}")` } })),
8334
7423
  t(item.key),
8335
7424
  item.subMenu && (React__default["default"].createElement("div", { className: styles$2.navMenuItemDropdown, style: {
8336
- '--after-bg': `url(${index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-chevronDown.svg')})`,
7425
+ '--after-bg': `url(${index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-chevronDown.svg')})`,
8337
7426
  } }))),
8338
7427
  item.subMenu && (React__default["default"].createElement("div", { className: styles$2.navFooterSubMenu }, item.subMenu.map((subItem) => (React__default["default"].createElement(NavMenuItem, { key: subItem.key, item: subItem, openKey: openKey, onClickItem: onClickItem, locale: locale })))))));
8339
7428
  };
@@ -8344,18 +7433,18 @@ var styles = {"userStats":"_4y-O0w3","wrapper":"kO8iNgD","header":"a1d4E10","hea
8344
7433
 
8345
7434
  const rankIconUrlMap = {
8346
7435
  helloSites: {
8347
- member: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-member.svg'),
8348
- ambassador: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-ambassador.svg'),
8349
- doctor: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-doctor.svg'),
8350
- expert: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-expert.svg'),
8351
- influencer: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-influencer.svg'),
7436
+ member: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-member.svg'),
7437
+ ambassador: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-ambassador.svg'),
7438
+ doctor: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-doctor.svg'),
7439
+ expert: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-expert.svg'),
7440
+ influencer: () => index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-influencer.svg'),
8352
7441
  },
8353
7442
  marryBaby: {
8354
- member: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-member.svg'),
8355
- ambassador: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-ambassador.svg'),
8356
- doctor: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-doctor.svg'),
8357
- expert: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-expert.svg'),
8358
- influencer: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-influencer.svg'),
7443
+ member: () => index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-member.svg'),
7444
+ ambassador: () => index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-ambassador.svg'),
7445
+ doctor: () => index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-doctor.svg'),
7446
+ expert: () => index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-expert.svg'),
7447
+ influencer: () => index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-influencer.svg'),
8359
7448
  },
8360
7449
  };
8361
7450
  const UserStats = ({ themeName, rank = 'member', numberOfPosts = 0, }) => {
@@ -8436,7 +7525,7 @@ const UserProfileNavigation = ({ SSO_URL, UP_BASEPATH = 'user', themeName = 'hel
8436
7525
  if (themeName === 'marryBaby') {
8437
7526
  return null;
8438
7527
  }
8439
- return (React__default["default"].createElement(index$a.Button, { color: "tertiary", icon: React__default["default"].createElement("img", { src: index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-logOut.svg'), width: 15, height: 15, loading: "lazy" }), size: "md", onClick: onClickLogout, className: styles$1.logoutButton }, t('userProfile.nav.menu.logout')));
7528
+ return (React__default["default"].createElement(index$a.Button, { color: "tertiary", icon: React__default["default"].createElement("img", { src: index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-logOut.svg'), width: 15, height: 15, loading: "lazy" }), size: "md", onClick: onClickLogout, className: styles$1.logoutButton }, t('userProfile.nav.menu.logout')));
8440
7529
  }, [themeName]);
8441
7530
  const push = (link) => {
8442
7531
  if (link.startsWith('http') || link.startsWith('/')) {
@@ -8500,6 +7589,7 @@ exports.BMRCardEmbed = BMRCardEmbed;
8500
7589
  exports.BabyGrowthCardEmbed = BabyGrowthCardEmbed;
8501
7590
  exports.BabyPoopEmbed = BabyPoopEmbed;
8502
7591
  exports.Badge = Badge;
7592
+ exports.BmiForm = BmiForm;
8503
7593
  exports.BorderHeading = BorderHeading;
8504
7594
  exports.Breadcrumbs = Breadcrumbs;
8505
7595
  exports.CategoryCard = CategoryCard;
@@ -8512,7 +7602,6 @@ exports.DueDateCardEmbed = DueDateCardEmbed;
8512
7602
  exports.FileDropdown = FileDropdown;
8513
7603
  exports.FixedBottomAdBlock = FixedBottomAdBlock;
8514
7604
  exports.FloatButtonGroup = FloatButtonGroup;
8515
- exports.GenderOptionControl = GenderOptionControl;
8516
7605
  exports.Grid = Grid;
8517
7606
  exports.IconText = IconText;
8518
7607
  exports.MAPPING_CATEGORY_PREMIUM_API_TYPE = MAPPING_CATEGORY_PREMIUM_API_TYPE;
@@ -8539,6 +7628,7 @@ exports.SurveyThankyouCard = SurveyThankyouCard;
8539
7628
  exports.THRCardEmbed = THRCardEmbed;
8540
7629
  exports.Tabs = Tabs;
8541
7630
  exports.Tag = Tag;
7631
+ exports.ThrForm = ThrForm;
8542
7632
  exports.Toggle = Toggle;
8543
7633
  exports.ToolsBannerCard = ToolsBannerCard;
8544
7634
  exports.UserProfileNavigation = UserProfileNavigation;