@hhgtech/hhg-components 1.29.38 → 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-d99c7df1.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-d8bb5755.js → constants-341e3655.js} +2 -2
  53. package/build/{constants-5feace15.js → constants-e7f8b0d2.js} +2 -2
  54. package/build/constants.js +3 -3
  55. package/build/{core-85607b32.js → core-624d9eef.js} +2 -2
  56. package/build/{dataTransform-bace0dd7.js → dataTransform-4724625a.js} +1 -1
  57. package/build/ecom.js +6 -6
  58. package/build/esm/{WhatsApp-9029e044.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-9b5802d2.js → constants-661c1d64.js} +2 -2
  112. package/build/esm/{constants-97ddb11b.js → constants-ac51ae89.js} +2 -2
  113. package/build/esm/constants.js +3 -3
  114. package/build/esm/{core-ce928c66.js → core-f226ac0f.js} +2 -2
  115. package/build/esm/{dataTransform-ccf7fc2f.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-8464e866.js → getDynamicHealthTool-4d8eeb51.js} +4 -4
  120. package/build/esm/{getSocialList-5feda209.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-da78c403.js → index-1b1be502.js} +3 -3
  137. package/build/esm/{index-a94fad35.js → index-1d8204a9.js} +4 -4
  138. package/build/esm/{index-122290a6.js → index-2761f711.js} +4 -4
  139. package/build/esm/{index-5caba3a3.js → index-3aca5854.js} +2 -2
  140. package/build/esm/{index-23e39ae7.js → index-454b515d.js} +12 -12
  141. package/build/esm/{index-7f868691.js → index-489dd441.js} +2 -2
  142. package/build/esm/{index-ce5fd5ed.js → index-5a0f027e.js} +10 -10
  143. package/build/esm/{index-f48d3a5e.js → index-66d10b21.js} +446 -1358
  144. package/build/esm/{index-866e1e59.js → index-68fab995.js} +10 -10
  145. package/build/esm/{index-c1e81587.js → index-7305fc5d.js} +2 -2
  146. package/build/esm/{index-1191e333.js → index-7c16ac20.js} +2 -2
  147. package/build/esm/{index-6e0f2380.js → index-84a52876.js} +2 -2
  148. package/build/esm/{index-8272466a.js → index-8625e8d8.js} +2 -2
  149. package/build/esm/{index-635f511c.js → index-922e3c54.js} +6 -6
  150. package/build/esm/{index-6ec7a4c8.js → index-a3f3a71d.js} +11 -11
  151. package/build/esm/{index-293feeaa.js → index-c3d30585.js} +2 -2
  152. package/build/esm/{index-aa06ff69.js → index-c82b58c7.js} +1 -1
  153. package/build/esm/{index-5f675e1c.js → index-cbda4cc1.js} +2 -2
  154. package/build/esm/{index-95a9d5a5.js → index-d4626ff6.js} +9 -9
  155. package/build/esm/{index-b06391df.js → index-db047eda.js} +33 -32
  156. package/build/esm/{index-8448ca14.js → index-de4b6341.js} +2 -2
  157. package/build/esm/{index-698ba1fc.js → index-e86bff41.js} +2 -2
  158. package/build/esm/index-eb9b684f.js +1047 -0
  159. package/build/esm/{index-df0ff85e.js → index-f06883d8.js} +9 -7
  160. package/build/esm/{index-d7b8c2f4.js → index-f7bf305d.js} +4 -4
  161. package/build/esm/index.js +68 -68
  162. package/build/esm/{index.styled-34d5c912.js → index.styled-0bdbe990.js} +2 -2
  163. package/build/esm/{index.styles-6b051705.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-ce281ad0.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-0e393278.js → types-d1a0466d.js} +13 -13
  175. package/build/esm/{types-4355fc77.js → types-d54aac73.js} +30 -30
  176. package/build/esm/types.js +1 -1
  177. package/build/esm/{useCategory-4d8c9a39.js → useCategory-d97a0eaf.js} +5 -5
  178. package/build/esm/{useHealthToolCache-b64f14d8.js → useHealthToolCache-33752ed2.js} +2 -2
  179. package/build/esm/{useMantineLocale-dbec4e01.js → useMantineLocale-c9152268.js} +3 -3
  180. package/build/esm/{usePlacesAutocomplete-20e94035.js → usePlacesAutocomplete-664fd91f.js} +1 -1
  181. package/build/esm/{useTranslations-182b98b0.js → useTranslations-cdea23ca.js} +1 -1
  182. package/build/esm/{utils-ac69ad7d.js → utils-7a0b602b.js} +1 -1
  183. package/build/esm/{utils-d6c3851b.js → utils-e621db45.js} +4 -4
  184. package/build/esm/{utils-6a097926.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-6e714117.js → getDynamicHealthTool-d6db1d7f.js} +4 -4
  189. package/build/{getSocialList-d48ed635.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-0bcbb4c0.js → index-0a0b5799.js} +2 -2
  206. package/build/{index-e82cb100.js → index-0be68def.js} +10 -10
  207. package/build/{index-56c06c8a.js → index-16865f4f.js} +566 -1477
  208. package/build/{index-41fb9b9e.js → index-2ed6b546.js} +1 -1
  209. package/build/{index-de163db7.js → index-30b8b836.js} +4 -4
  210. package/build/{index-8a895fa3.js → index-317d0c1c.js} +4 -4
  211. package/build/{index-4b9c6b05.js → index-31d3a0cd.js} +2 -2
  212. package/build/{index-0df51825.js → index-38ffe95c.js} +2 -2
  213. package/build/{index-9624b24c.js → index-3ee0bbab.js} +2 -2
  214. package/build/index-49e98004.js +1066 -0
  215. package/build/{index-94ac3eb7.js → index-4d5f141c.js} +2 -2
  216. package/build/{index-94897f2e.js → index-5d5594a7.js} +33 -32
  217. package/build/{index-8448e097.js → index-65ed0de1.js} +8 -6
  218. package/build/{index-549b661c.js → index-7c76f198.js} +2 -2
  219. package/build/{index-8907f43d.js → index-885e1cdd.js} +3 -3
  220. package/build/{index-791f5136.js → index-9c99495d.js} +6 -6
  221. package/build/{index-98501021.js → index-a5aa5d5c.js} +9 -9
  222. package/build/{index-113434f0.js → index-a9805dbb.js} +2 -2
  223. package/build/{index-ef52fcb6.js → index-b57d6d78.js} +12 -12
  224. package/build/{index-5cb50f4e.js → index-d976a27c.js} +2 -2
  225. package/build/{index-dfa0a536.js → index-deae37ab.js} +4 -4
  226. package/build/{index-ecdd422d.js → index-e1bfc5cd.js} +10 -10
  227. package/build/{index-df6a14e3.js → index-e81b428d.js} +11 -11
  228. package/build/{index-d26020a5.js → index-f91097ba.js} +2 -2
  229. package/build/{index-3274ae34.js → index-fbb66d3d.js} +2 -2
  230. package/build/index.js +71 -69
  231. package/build/{index.styled-50cdab30.js → index.styled-02090cfc.js} +2 -2
  232. package/build/{index.styles-1b468115.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-30c0c0cc.js → routing-a06d4f70.js} +2 -2
  241. package/build/subot.js +22 -22
  242. package/build/together.js +34 -34
  243. package/build/{types-e26017f6.js → types-4dbda9a8.js} +13 -13
  244. package/build/{types-50b24c04.js → types-56f05054.js} +30 -30
  245. package/build/types.js +1 -1
  246. package/build/{useCategory-2e85f16e.js → useCategory-69284fce.js} +5 -5
  247. package/build/{useHealthToolCache-07ed2426.js → useHealthToolCache-75252b30.js} +2 -2
  248. package/build/{useMantineLocale-ce50b703.js → useMantineLocale-5f5000f2.js} +3 -3
  249. package/build/{usePlacesAutocomplete-cd1fbe0f.js → usePlacesAutocomplete-ae8c4f01.js} +1 -1
  250. package/build/{useTranslations-f93487c0.js → useTranslations-e5a4e00e.js} +1 -1
  251. package/build/{utils-bff8f8a5.js → utils-29574e04.js} +5 -5
  252. package/build/{utils-bcf0929c.js → utils-3c665430.js} +1 -1
  253. package/build/{utils-715f6b2e.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-a83b3eb1.js +0 -370
  275. package/build/index-efa41cd3.js +0 -380
  276. /package/build/{BMI_BOYS.percentile.monthly-dcd3084a.js → BMI_BOYS.percentile.monthly-3dc46630.js} +0 -0
  277. /package/build/{BMI_BOYS.percentile.weekly-a6f782f3.js → BMI_BOYS.percentile.weekly-33a7a76d.js} +0 -0
  278. /package/build/{BMI_BOYS.percentile.yearly-e429bfed.js → BMI_BOYS.percentile.yearly-7e23ad15.js} +0 -0
  279. /package/build/{BMI_BOYS.zscore.monthly-f4bbfcb6.js → BMI_BOYS.zscore.monthly-2ce61257.js} +0 -0
  280. /package/build/{BMI_BOYS.zscore.weekly-20a38240.js → BMI_BOYS.zscore.weekly-b7ad99e4.js} +0 -0
  281. /package/build/{BMI_BOYS.zscore.yearly-6dcaf111.js → BMI_BOYS.zscore.yearly-18e3796a.js} +0 -0
  282. /package/build/{BMI_GIRLS.percentile.monthly-8e969202.js → BMI_GIRLS.percentile.monthly-659ecfd5.js} +0 -0
  283. /package/build/{BMI_GIRLS.percentile.weekly-b1170d1d.js → BMI_GIRLS.percentile.weekly-ae56f36e.js} +0 -0
  284. /package/build/{BMI_GIRLS.percentile.yearly-9489f889.js → BMI_GIRLS.percentile.yearly-231d8484.js} +0 -0
  285. /package/build/{BMI_GIRLS.zscore.monthly-e8e08d44.js → BMI_GIRLS.zscore.monthly-b3fd34cc.js} +0 -0
  286. /package/build/{BMI_GIRLS.zscore.weekly-64cb4f0d.js → BMI_GIRLS.zscore.weekly-ba14b60f.js} +0 -0
  287. /package/build/{BMI_GIRLS.zscore.yearly-b135827f.js → BMI_GIRLS.zscore.yearly-9aa7154b.js} +0 -0
  288. /package/build/{ChevronDown-82bb0d63.js → ChevronDown-bdc5f8bf.js} +0 -0
  289. /package/build/{Close-f3430e52.js → Close-37ec8443.js} +0 -0
  290. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-a8ca64b7.js → HEAD CIRCUM_BOYS.percentile.monthly-c14e93fe.js} +0 -0
  291. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-e8d1782b.js → HEAD CIRCUM_BOYS.percentile.weekly-6d94ea66.js} +0 -0
  292. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-f68eb2a7.js → HEAD CIRCUM_BOYS.percentile.yearly-e88fc611.js} +0 -0
  293. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-52fb2c4b.js → HEAD CIRCUM_BOYS.zscore.monthly-d7428860.js} +0 -0
  294. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-5694f8a3.js → HEAD CIRCUM_BOYS.zscore.weekly-9f78d9e2.js} +0 -0
  295. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-867a9bd9.js → HEAD CIRCUM_BOYS.zscore.yearly-0b878fa3.js} +0 -0
  296. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-2207ee26.js → HEAD CIRCUM_GIRLS.percentile.monthly-12513ad5.js} +0 -0
  297. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-6736e2ee.js → HEAD CIRCUM_GIRLS.percentile.weekly-7accdda4.js} +0 -0
  298. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-76d25dc8.js → HEAD CIRCUM_GIRLS.percentile.yearly-43b2cb53.js} +0 -0
  299. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-08523a75.js → HEAD CIRCUM_GIRLS.zscore.monthly-2bd1125e.js} +0 -0
  300. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-2b70d82b.js → HEAD CIRCUM_GIRLS.zscore.weekly-11352a99.js} +0 -0
  301. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-552055e8.js → HEAD CIRCUM_GIRLS.zscore.yearly-a5d1fc49.js} +0 -0
  302. /package/build/{HEIGHT_BOYS.percentile.monthly-5ab92c81.js → HEIGHT_BOYS.percentile.monthly-47159e6b.js} +0 -0
  303. /package/build/{HEIGHT_BOYS.percentile.weekly-91719547.js → HEIGHT_BOYS.percentile.weekly-77a168eb.js} +0 -0
  304. /package/build/{HEIGHT_BOYS.percentile.yearly-f37750e0.js → HEIGHT_BOYS.percentile.yearly-ffe077bb.js} +0 -0
  305. /package/build/{HEIGHT_BOYS.zscore.monthly-dde2d0dd.js → HEIGHT_BOYS.zscore.monthly-22afc4de.js} +0 -0
  306. /package/build/{HEIGHT_BOYS.zscore.weekly-92a4aff3.js → HEIGHT_BOYS.zscore.weekly-d9ef3e8c.js} +0 -0
  307. /package/build/{HEIGHT_BOYS.zscore.yearly-a15ba129.js → HEIGHT_BOYS.zscore.yearly-eaa9c646.js} +0 -0
  308. /package/build/{HEIGHT_GIRLS.percentile.monthly-6f87db85.js → HEIGHT_GIRLS.percentile.monthly-f4b44713.js} +0 -0
  309. /package/build/{HEIGHT_GIRLS.percentile.weekly-48d71e86.js → HEIGHT_GIRLS.percentile.weekly-59699856.js} +0 -0
  310. /package/build/{HEIGHT_GIRLS.percentile.yearly-aad587aa.js → HEIGHT_GIRLS.percentile.yearly-2ebb26e5.js} +0 -0
  311. /package/build/{HEIGHT_GIRLS.zscore.monthly-15f6136f.js → HEIGHT_GIRLS.zscore.monthly-ecaab89e.js} +0 -0
  312. /package/build/{HEIGHT_GIRLS.zscore.weekly-3ff8860a.js → HEIGHT_GIRLS.zscore.weekly-457d47df.js} +0 -0
  313. /package/build/{HEIGHT_GIRLS.zscore.yearly-b7ec938c.js → HEIGHT_GIRLS.zscore.yearly-2e6f58f9.js} +0 -0
  314. /package/build/{Visible-bb6e9ef6.js → Visible-5815765d.js} +0 -0
  315. /package/build/{WEIGHT_BOYS.percentile.monthly-1aba5bbb.js → WEIGHT_BOYS.percentile.monthly-5adfba39.js} +0 -0
  316. /package/build/{WEIGHT_BOYS.percentile.weekly-54cdedc5.js → WEIGHT_BOYS.percentile.weekly-df51ea10.js} +0 -0
  317. /package/build/{WEIGHT_BOYS.percentile.yearly-0c0990e7.js → WEIGHT_BOYS.percentile.yearly-7e7a945c.js} +0 -0
  318. /package/build/{WEIGHT_BOYS.zscore.monthly-cedabde8.js → WEIGHT_BOYS.zscore.monthly-409ef959.js} +0 -0
  319. /package/build/{WEIGHT_BOYS.zscore.weekly-4bbffbf9.js → WEIGHT_BOYS.zscore.weekly-51f7b2ca.js} +0 -0
  320. /package/build/{WEIGHT_BOYS.zscore.yearly-21de5d1c.js → WEIGHT_BOYS.zscore.yearly-249b9a56.js} +0 -0
  321. /package/build/{WEIGHT_GIRLS.percentile.monthly-f23e1bb9.js → WEIGHT_GIRLS.percentile.monthly-e96c3379.js} +0 -0
  322. /package/build/{WEIGHT_GIRLS.percentile.weekly-a204fb02.js → WEIGHT_GIRLS.percentile.weekly-9e4aac96.js} +0 -0
  323. /package/build/{WEIGHT_GIRLS.percentile.yearly-fae5efe1.js → WEIGHT_GIRLS.percentile.yearly-aa6ee172.js} +0 -0
  324. /package/build/{WEIGHT_GIRLS.zscore.monthly-4237f532.js → WEIGHT_GIRLS.zscore.monthly-41cd2243.js} +0 -0
  325. /package/build/{WEIGHT_GIRLS.zscore.weekly-19bd31dd.js → WEIGHT_GIRLS.zscore.weekly-a78795a5.js} +0 -0
  326. /package/build/{WEIGHT_GIRLS.zscore.yearly-5f38cdaf.js → WEIGHT_GIRLS.zscore.yearly-f85d3d67.js} +0 -0
  327. /package/build/{animation-a5076c5c.js → animation-7c2163d6.js} +0 -0
  328. /package/build/{cart-e93f4b8f.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-74cb509b.js → cookieHelper-cdee4e84.js} +0 -0
  333. /package/build/{doctor-f279ce40.js → doctor-770ff1ba.js} +0 -0
  334. /package/build/esm/{BMI_BOYS.percentile.monthly-d01dee28.js → BMI_BOYS.percentile.monthly-42b05262.js} +0 -0
  335. /package/build/esm/{BMI_BOYS.percentile.weekly-591dcd44.js → BMI_BOYS.percentile.weekly-51c5c77e.js} +0 -0
  336. /package/build/esm/{BMI_BOYS.percentile.yearly-84c2ff2c.js → BMI_BOYS.percentile.yearly-f496de0a.js} +0 -0
  337. /package/build/esm/{BMI_BOYS.zscore.monthly-c60f2b8a.js → BMI_BOYS.zscore.monthly-14f694fa.js} +0 -0
  338. /package/build/esm/{BMI_BOYS.zscore.weekly-234a53d2.js → BMI_BOYS.zscore.weekly-3db6bc0c.js} +0 -0
  339. /package/build/esm/{BMI_BOYS.zscore.yearly-a226f2ef.js → BMI_BOYS.zscore.yearly-8509d0ae.js} +0 -0
  340. /package/build/esm/{BMI_GIRLS.percentile.monthly-a51033e1.js → BMI_GIRLS.percentile.monthly-d9a21889.js} +0 -0
  341. /package/build/esm/{BMI_GIRLS.percentile.weekly-c9878aec.js → BMI_GIRLS.percentile.weekly-575bac9c.js} +0 -0
  342. /package/build/esm/{BMI_GIRLS.percentile.yearly-f9440fbc.js → BMI_GIRLS.percentile.yearly-04508fbe.js} +0 -0
  343. /package/build/esm/{BMI_GIRLS.zscore.monthly-ede0906b.js → BMI_GIRLS.zscore.monthly-5cdf6175.js} +0 -0
  344. /package/build/esm/{BMI_GIRLS.zscore.weekly-d1705304.js → BMI_GIRLS.zscore.weekly-e616dee6.js} +0 -0
  345. /package/build/esm/{BMI_GIRLS.zscore.yearly-b16db81c.js → BMI_GIRLS.zscore.yearly-f04c1bc5.js} +0 -0
  346. /package/build/esm/{ChevronDown-11483d36.js → ChevronDown-5de6880b.js} +0 -0
  347. /package/build/esm/{Close-4de58d34.js → Close-9352706a.js} +0 -0
  348. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-8de688d1.js → HEAD CIRCUM_BOYS.percentile.monthly-96d66e11.js} +0 -0
  349. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-f8f3f13d.js → HEAD CIRCUM_BOYS.percentile.weekly-f5554984.js} +0 -0
  350. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-4c8c407c.js → HEAD CIRCUM_BOYS.percentile.yearly-557fb130.js} +0 -0
  351. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-0b4aa3f6.js → HEAD CIRCUM_BOYS.zscore.monthly-c3fdcb0b.js} +0 -0
  352. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-18a43769.js → HEAD CIRCUM_BOYS.zscore.weekly-b3ea066c.js} +0 -0
  353. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-9f6b7910.js → HEAD CIRCUM_BOYS.zscore.yearly-451d74b9.js} +0 -0
  354. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-718cc0d3.js → HEAD CIRCUM_GIRLS.percentile.monthly-1ef5b735.js} +0 -0
  355. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-8a83f48b.js → HEAD CIRCUM_GIRLS.percentile.weekly-b7fd90a5.js} +0 -0
  356. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-52856089.js → HEAD CIRCUM_GIRLS.percentile.yearly-680b7cff.js} +0 -0
  357. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-e3600c49.js → HEAD CIRCUM_GIRLS.zscore.monthly-a21a8585.js} +0 -0
  358. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-79f6f5cb.js → HEAD CIRCUM_GIRLS.zscore.weekly-c3c76d7d.js} +0 -0
  359. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-af14607e.js → HEAD CIRCUM_GIRLS.zscore.yearly-cc7be510.js} +0 -0
  360. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-53adf68c.js → HEIGHT_BOYS.percentile.monthly-d165ef46.js} +0 -0
  361. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-96c96901.js → HEIGHT_BOYS.percentile.weekly-afa23b20.js} +0 -0
  362. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-92fac142.js → HEIGHT_BOYS.percentile.yearly-d10f86c1.js} +0 -0
  363. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-a8ae1335.js → HEIGHT_BOYS.zscore.monthly-d0e97976.js} +0 -0
  364. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-fbb0fdc9.js → HEIGHT_BOYS.zscore.weekly-0695da19.js} +0 -0
  365. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-9b483c0e.js → HEIGHT_BOYS.zscore.yearly-a373542e.js} +0 -0
  366. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-34982fd3.js → HEIGHT_GIRLS.percentile.monthly-4658cd2c.js} +0 -0
  367. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-29c0db88.js → HEIGHT_GIRLS.percentile.weekly-7b663bc7.js} +0 -0
  368. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-c56a2b85.js → HEIGHT_GIRLS.percentile.yearly-bbabb1a1.js} +0 -0
  369. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-54e7c91a.js → HEIGHT_GIRLS.zscore.monthly-f9e44117.js} +0 -0
  370. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-7ee17f47.js → HEIGHT_GIRLS.zscore.weekly-5e6f1243.js} +0 -0
  371. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-2703cbc0.js → HEIGHT_GIRLS.zscore.yearly-cd2dcc67.js} +0 -0
  372. /package/build/esm/{Visible-764c3f20.js → Visible-1ea9e5cd.js} +0 -0
  373. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-4fa8e732.js → WEIGHT_BOYS.percentile.monthly-1dc4d7f8.js} +0 -0
  374. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-9c4083bd.js → WEIGHT_BOYS.percentile.weekly-9d34b61c.js} +0 -0
  375. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-16f24d04.js → WEIGHT_BOYS.percentile.yearly-88c743b3.js} +0 -0
  376. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-2f83fe06.js → WEIGHT_BOYS.zscore.monthly-c56a6907.js} +0 -0
  377. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-50cc1af5.js → WEIGHT_BOYS.zscore.weekly-f5d09a10.js} +0 -0
  378. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-8f90b025.js → WEIGHT_BOYS.zscore.yearly-e4eadd64.js} +0 -0
  379. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-e37853d5.js → WEIGHT_GIRLS.percentile.monthly-d10b7f03.js} +0 -0
  380. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-bd34beb7.js → WEIGHT_GIRLS.percentile.weekly-fd9b6664.js} +0 -0
  381. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-e5b561b3.js → WEIGHT_GIRLS.percentile.yearly-a199dcfd.js} +0 -0
  382. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-fc495d36.js → WEIGHT_GIRLS.zscore.monthly-88f2ceaa.js} +0 -0
  383. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-393e2b93.js → WEIGHT_GIRLS.zscore.weekly-82d56465.js} +0 -0
  384. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-08062bc8.js → WEIGHT_GIRLS.zscore.yearly-7ba197df.js} +0 -0
  385. /package/build/esm/{animation-8547e091.js → animation-a85e3de7.js} +0 -0
  386. /package/build/esm/{cart-0bba17ab.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-36dd27eb.js → cookieHelper-3d07347b.js} +0 -0
  389. /package/build/esm/{doctor-3c5327a9.js → doctor-799a9bd3.js} +0 -0
  390. /package/build/esm/{index-219ed8dd.js → index-0ed4c22b.js} +0 -0
  391. /package/build/esm/{index-65b852a2.js → index-43343cbf.js} +0 -0
  392. /package/build/esm/{index-1d94ce29.js → index-4599e5b0.js} +0 -0
  393. /package/build/esm/{index-79a8b4ef.js → index-56e460c6.js} +0 -0
  394. /package/build/esm/{isProduction-0e6640c6.js → isProduction-434d302d.js} +0 -0
  395. /package/build/esm/{localizeNumberFormat-dc4e3255.js → localizeNumberFormat-c85786d3.js} +0 -0
  396. /package/build/esm/{normalizeLink-7581bee1.js → normalizeLink-3d1f20d1.js} +0 -0
  397. /package/build/esm/{number-46eeabc4.js → number-299bd96f.js} +0 -0
  398. /package/build/esm/{paths-6d282f7b.js → paths-56c3587b.js} +0 -0
  399. /package/build/esm/{theme-42c08fa1.js → theme-970b90f0.js} +0 -0
  400. /package/build/esm/{translationsContext-abfd0776.js → translationsContext-494ae681.js} +0 -0
  401. /package/build/esm/{tslib.es6-85c9ab93.js → tslib.es6-64d6b81e.js} +0 -0
  402. /package/build/esm/{types-7b4f784b.js → types-39d5f930.js} +0 -0
  403. /package/build/esm/{useIsInit-cf12a2c1.js → useIsInit-4ae94a4f.js} +0 -0
  404. /package/build/esm/{useOutsideClick-eb15471a.js → useOutsideClick-dc7a904e.js} +0 -0
  405. /package/build/esm/{useScrollbarSize-98f36cd2.js → useScrollbarSize-c5f52065.js} +0 -0
  406. /package/build/esm/{useUniqueId-04125311.js → useUniqueId-c297b004.js} +0 -0
  407. /package/build/esm/{utils-878fd685.js → utils-f7a8a1ca.js} +0 -0
  408. /package/build/{index-904c8b18.js → index-0161f9b8.js} +0 -0
  409. /package/build/{index-91525876.js → index-ccb48ca2.js} +0 -0
  410. /package/build/{index-d731f94b.js → index-d9e9dcc3.js} +0 -0
  411. /package/build/{index-dc672229.js → index-f1979569.js} +0 -0
  412. /package/build/{isProduction-ed69b5df.js → isProduction-34667756.js} +0 -0
  413. /package/build/{localizeNumberFormat-9cae69c0.js → localizeNumberFormat-fd3a0469.js} +0 -0
  414. /package/build/{normalizeLink-ca17c715.js → normalizeLink-75a55356.js} +0 -0
  415. /package/build/{number-47e84257.js → number-81819869.js} +0 -0
  416. /package/build/{paths-c5dd4274.js → paths-782003f7.js} +0 -0
  417. /package/build/{theme-8dd065df.js → theme-986ab943.js} +0 -0
  418. /package/build/{translationsContext-5f2a4595.js → translationsContext-5c637723.js} +0 -0
  419. /package/build/{tslib.es6-37852941.js → tslib.es6-cda3ff06.js} +0 -0
  420. /package/build/{types-ad40ba6a.js → types-351db239.js} +0 -0
  421. /package/build/{useIsInit-29b3c929.js → useIsInit-751a5d5b.js} +0 -0
  422. /package/build/{useOutsideClick-89a3e499.js → useOutsideClick-75a9127e.js} +0 -0
  423. /package/build/{useScrollbarSize-484a243b.js → useScrollbarSize-c03e70df.js} +0 -0
  424. /package/build/{useUniqueId-4e027c4d.js → useUniqueId-6dae5baf.js} +0 -0
  425. /package/build/{utils-2627ae1b.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-4b9c6b05.js');
5
- var index_styles = require('./index.styles-1b468115.js');
6
- var utils = require('./utils-2627ae1b.js');
7
- var index$3 = require('./index-98501021.js');
8
- var index$4 = require('./index-ecdd422d.js');
9
- var tslib_es6 = require('./tslib.es6-37852941.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-549b661c.js');
12
- var index$6 = require('./index-113434f0.js');
13
- var theme = require('./theme-8dd065df.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-0bcbb4c0.js');
18
- var index$j = require('./index-91525876.js');
19
- require('./useMantineLocale-ce50b703.js');
20
- require('./translationsContext-5f2a4595.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-94897f2e.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-8a895fa3.js');
27
- var index$a = require('./index-0df51825.js');
28
- var index$9 = require('./index-94ac3eb7.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-ed69b5df.js');
32
- var useTranslations = require('./useTranslations-f93487c0.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-ad40ba6a.js');
36
- var utils$1 = require('./utils-bff8f8a5.js');
37
- var index$d = require('./index-8907f43d.js');
38
- var index$e = require('./index-3274ae34.js');
39
- var index$f = require('./index-d26020a5.js');
40
- var index$c = require('./index-41fb9b9e.js');
41
- var index$g = require('./index-dc672229.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-07ed2426.js');
44
- var yup = require('@hookform/resolvers/yup');
45
- var index$h = require('./index-8448e097.js');
46
- var index$i = require('./index-efa41cd3.js');
47
- var constants = require('./constants-5feace15.js');
48
- var index$k = require('./index-dfa0a536.js');
49
- require('./utils-715f6b2e.js');
50
- require('./WhatsApp-d99c7df1.js');
51
- require('./index.styled-50cdab30.js');
52
- require('./index-d731f94b.js');
53
- var useOutsideClick = require('./useOutsideClick-89a3e499.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-d48ed635.js');
58
+ var getSocialList = require('./getSocialList-64b3658e.js');
59
59
  var uuid = require('uuid');
60
- var routing = require('./routing-30c0c0cc.js');
61
- var form = require('@mantine/form');
62
- var index$l = require('./index-de163db7.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-9624b24c.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-74cb509b.js');
69
- var normalizeLink = require('./normalizeLink-ca17c715.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,31 +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-color: inherit;
3042
-
3043
- &[data-site='marryBaby'] {
3044
- background-color: ${(props) => props['data-banner-color'] || '#5EC08F'};
3045
- background-image: none;
3046
- padding-bottom: 0;
3047
- &[data-is-embedded='true'] {
3048
- border-top-left-radius: 16px;
3049
- border-top-right-radius: 16px;
3050
- }
3051
- }
3052
- /* due to emotion lib error, have to move this to last */
3053
- background: ${(props) => props.bgColor};
3054
2993
  `, 'hhgcomp-toolbanner-wrapper');
3055
- const StyledContainer$4 = styled__default["default"].div `
2994
+ const StyledContainer = styled__default["default"].div `
3056
2995
  width: 100%;
3057
- ${utils.MediaQueries.mbDown} {
3058
- padding-bottom: 24px;
3059
- }
3060
-
3061
2996
  a {
3062
2997
  text-decoration: none;
3063
2998
  color: inherit;
3064
2999
  }
3065
3000
 
3001
+ background-color: ${(props) => props['data-banner-color'] || index$3.themeColors.blue[1]};
3002
+
3066
3003
  &[data-site='marryBaby'] {
3067
3004
  a {
3068
3005
  text-decoration: underline;
@@ -3099,18 +3036,6 @@ const StyledContainer$4 = styled__default["default"].div `
3099
3036
  }
3100
3037
  }
3101
3038
  `;
3102
- const StyledWrapEmbedded = styled__default["default"].div `
3103
- display: flex;
3104
- flex-direction: row;
3105
- align-items: center;
3106
- padding: 16px 24px;
3107
- gap: 16px;
3108
- width: 100%;
3109
- /* background-color: ; */
3110
- ${utils.MediaQueries.mbDown} {
3111
- padding: 16px 0;
3112
- }
3113
- `;
3114
3039
  const StyledIcon = styled__default["default"].div `
3115
3040
  background: #ffffff;
3116
3041
  border-radius: 16px;
@@ -3126,64 +3051,26 @@ const StyledIcon = styled__default["default"].div `
3126
3051
  max-height: 24px;
3127
3052
  transform: translate(-50%, -50%);
3128
3053
  }
3129
- `;
3130
- const StyledHeadingMB = styled__default["default"].div `
3131
- display: flex;
3132
- align-items: flex-start;
3133
- flex-direction: column;
3134
- justify-content: space-between;
3135
- gap: 0;
3136
- width: 100%;
3137
- `;
3138
- const StyledMedicalReviewedMB = styled__default["default"].div `
3139
- display: flex;
3140
- align-items: flex-start;
3141
- font-weight: 400;
3142
- font-size: 12px;
3143
- line-height: 18px;
3144
- letter-spacing: -0.2px;
3145
- color: #f3f3f3;
3146
-
3147
- > img {
3148
- margin-top: 2px;
3149
- margin-right: 4px;
3150
- }
3151
- &[data-is-mobile='false'] {
3152
- > img {
3153
- width: 16px;
3154
- height: 16px;
3155
- }
3156
- }
3157
- &[data-is-mobile='true'] {
3158
- > img {
3159
- width: 14px;
3160
- height: 14px;
3161
- }
3162
- }
3163
3054
  `;
3164
3055
 
3165
- const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerUrl, bannerUrlLarge, bannerColor, medicalReview = {
3056
+ const ToolsBannerCard = ({ className, heading, isMobile, bannerUrl, bannerUrlLarge, bannerColor, medicalReview = {
3166
3057
  link: '#',
3167
3058
  reviewer: '',
3168
3059
  date: '',
3169
- }, icon, style, siteType, isEmbeded, }) => {
3170
- var _a, _b;
3060
+ }, icon, style, isEmbeded, isPregTool, }) => {
3171
3061
  const { t } = useTranslations.useTranslations();
3172
3062
  const theme = core.useMantineTheme();
3063
+ const isMarryBaby = theme.other.template === 'mb';
3064
+ const siteType = isMarryBaby ? 'marryBaby' : 'helloSites';
3173
3065
  const headingAs = 'h2';
3174
3066
  const bannerBgUrl = isMobile
3175
3067
  ? bannerUrl
3176
3068
  : bannerUrlLarge
3177
3069
  ? bannerUrlLarge
3178
3070
  : bannerUrl;
3179
- const colorShade = {
3180
- pink: [8, 6],
3181
- };
3182
- const bgColorShade = theme.colors[color] || theme.colors.blue;
3183
- 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: {
3184
3072
  a: {
3185
3073
  textUnderlineOffset: '2px',
3186
- color: '#fff',
3187
3074
  textDecoration: 'underline',
3188
3075
  },
3189
3076
  } },
@@ -3193,22 +3080,22 @@ const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerU
3193
3080
  date: medicalReview.date,
3194
3081
  }),
3195
3082
  } }))) : null;
3196
- return (React__default["default"].createElement(StyledContainer$4, { "data-is-mobile": isMobile, style: style, "data-site": siteType },
3197
- 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,
3198
- React__default["default"].createElement(StyledIcon, null, icon),
3199
- React__default["default"].createElement(StyledHeadingMB, null,
3200
- React__default["default"].createElement(index$6.Heading, { color: 'white', tag: "h5", as: headingAs }, heading),
3201
- 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) } },
3202
- React__default["default"].createElement(core.Box, null,
3203
- React__default["default"].createElement(index$6.Heading, { tag: "h5", as: headingAs, color: "#fff" }, heading),
3204
- medicalReview && (React__default["default"].createElement(index$2.Text, { size: "n1", as: "div" }, medicalReviewEle))),
3205
- React__default["default"].createElement(core.Flex, { justify: 'center', align: 'center', sx: (theme) => {
3206
- var _a, _b;
3207
- 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) => ({
3208
3095
  width: core.rem(64),
3209
3096
  height: core.rem(64),
3210
3097
  borderRadius: '50%',
3211
- 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',
3212
3099
  flexShrink: 0,
3213
3100
  img: {
3214
3101
  maxWidth: core.rem(48),
@@ -3222,8 +3109,7 @@ const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerU
3222
3109
  maxHeight: core.rem(40),
3223
3110
  },
3224
3111
  },
3225
- });
3226
- } }, icon))))));
3112
+ }) }, icon))))));
3227
3113
  };
3228
3114
 
3229
3115
  const StyledDropDown = styled__default["default"](index$c.Dropdown) `
@@ -3255,110 +3141,6 @@ const StyledDropDown = styled__default["default"](index$c.Dropdown) `
3255
3141
  }
3256
3142
  `;
3257
3143
 
3258
- styled__default["default"](index_styles.PureInput) `
3259
- & input,
3260
- .mantine-Input-input {
3261
- border-color: ${theme.theme.mbColors.lightGray};
3262
- background-color: ${theme.theme.colors.white};
3263
- border-radius: 16px;
3264
- transition: all 0.2s ease;
3265
- &:focus,
3266
- &:hover {
3267
- border-color: ${theme.theme.mbColors.pink};
3268
- box-shadow: none;
3269
- }
3270
- }
3271
-
3272
- & .displayIcon {
3273
- pointer-events: none;
3274
- }
3275
- `;
3276
- const StyledTextField = styled__default["default"](index$9.Input) `
3277
- & label {
3278
- position: absolute;
3279
- z-index: 1;
3280
- top: 16px;
3281
-
3282
- left: 16px;
3283
- color: ${theme.theme.mbColors.midGray};
3284
- pointer-events: none;
3285
- transition: all 0.2s ease;
3286
- white-space: nowrap;
3287
- overflow: hidden;
3288
- text-overflow: ellipsis;
3289
- max-width: 240px;
3290
-
3291
- &[data-size='label2'] {
3292
- font-size: 12px;
3293
- }
3294
-
3295
- ${utils.MediaQueries.tdDown} {
3296
- max-width: 220px;
3297
- }
3298
- }
3299
- & input,
3300
- .mantine-Input-input {
3301
- ::placeholder {
3302
- color: ${theme.theme.mbColors.gray};
3303
- font-size: 14px;
3304
- }
3305
-
3306
- ::-webkit-input-placeholder {
3307
- /* Chrome/Opera/Safari */
3308
- color: ${theme.theme.mbColors.gray};
3309
- font-size: 14px;
3310
- }
3311
- ::-moz-placeholder {
3312
- /* Firefox 19+ */
3313
- color: ${theme.theme.mbColors.gray};
3314
- font-size: 14px;
3315
- }
3316
- :-ms-input-placeholder {
3317
- /* IE 10+ */
3318
- color: ${theme.theme.mbColors.gray};
3319
- font-size: 14px;
3320
- }
3321
- :-moz-placeholder {
3322
- /* Firefox 18- */
3323
- color: ${theme.theme.mbColors.gray};
3324
- font-size: 14px;
3325
- }
3326
- height: ${(props) => (props.size === 'sm' ? 48 : 72)}px !important;
3327
- padding-top: 27px !important;
3328
- border-color: ${theme.theme.mbColors.lightGray} !important;
3329
- background-color: ${theme.theme.colors.white};
3330
- border-radius: 16px !important;
3331
- transition: all 0.2s ease;
3332
- padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
3333
-
3334
- &:focus,
3335
- &:hover {
3336
- border-color: ${theme.theme.mbColors.pink};
3337
- box-shadow: none;
3338
- }
3339
- }
3340
- .mantine-Input-rightSection,
3341
- .mantine-Input-leftSection {
3342
- padding-top: 20px;
3343
- }
3344
-
3345
- &[data-has-action-icon] {
3346
- input,
3347
- .mantine-Input-input {
3348
- padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
3349
- padding-bottom: ${(props) => (props.value ? '16px' : '27px')} !important;
3350
- height: unset !important;
3351
- }
3352
-
3353
- label {
3354
- position: absolute;
3355
- z-index: 1;
3356
- top: 16px;
3357
- padding-right: 46px;
3358
- }
3359
- }
3360
- `;
3361
-
3362
3144
  const StyledMethodContainer = styled__default["default"].div `
3363
3145
  width: 100%;
3364
3146
  `;
@@ -3440,90 +3222,30 @@ styled__default["default"](StyledImageIcon) `
3440
3222
  margin-right: 4px;
3441
3223
  `;
3442
3224
 
3443
- var DueDateCalculatorType;
3444
- (function (DueDateCalculatorType) {
3445
- DueDateCalculatorType[DueDateCalculatorType["lastPeriod"] = 0] = "lastPeriod";
3446
- DueDateCalculatorType[DueDateCalculatorType["conception"] = 1] = "conception";
3447
- DueDateCalculatorType[DueDateCalculatorType["IVF"] = 2] = "IVF";
3448
- })(DueDateCalculatorType || (DueDateCalculatorType = {}));
3449
- const API_DATE_FORMAT = 'yyyy-MM-dd';
3450
- const getDueDateLastPeriod = (lastPeriodDate, periodLength) => {
3451
- const pregnancyLength = 272 + (periodLength - 21);
3452
- const dueDate = new Date(lastPeriodDate);
3453
- dueDate.setDate(dueDate.getDate() + pregnancyLength);
3454
- return {
3455
- startDate: lastPeriodDate,
3456
- dueDate,
3457
- otherInfo: {
3458
- method: DueDateCalculatorType.lastPeriod + 1,
3459
- first_day: dateFns.format(lastPeriodDate, API_DATE_FORMAT),
3460
- cycle_length_days: periodLength,
3461
- conception_date: null,
3462
- ivf_transfer_date: null,
3463
- days_transfer: null,
3464
- },
3465
- };
3466
- };
3467
- const getDueDateConception = (conceptionDate) => {
3468
- const dueDate = new Date(conceptionDate);
3469
- dueDate.setDate(dueDate.getDate() + 265);
3470
- return {
3471
- startDate: conceptionDate,
3472
- dueDate,
3473
- otherInfo: {
3474
- method: DueDateCalculatorType.conception + 1,
3475
- conception_date: dateFns.format(conceptionDate, API_DATE_FORMAT),
3476
- first_day: null,
3477
- cycle_length_days: null,
3478
- ivf_transfer_date: null,
3479
- days_transfer: null,
3480
- },
3481
- };
3482
- };
3483
- const getDueDateIVF = (IVFDate, numDayTransfer) => {
3484
- const dueDate = new Date(IVFDate);
3485
- dueDate.setDate(dueDate.getDate() + 265 - numDayTransfer);
3486
- return {
3487
- startDate: IVFDate,
3488
- dueDate,
3489
- otherInfo: {
3490
- method: DueDateCalculatorType.IVF + 1,
3491
- ivf_transfer_date: dateFns.format(IVFDate, API_DATE_FORMAT),
3492
- days_transfer: numDayTransfer,
3493
- conception_date: null,
3494
- first_day: null,
3495
- cycle_length_days: null,
3496
- },
3497
- };
3498
- };
3499
- const DateToInputValue = (date) => {
3500
- return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
3501
- };
3502
-
3503
3225
  const DueDateFormConception = ({ locale, onClick, siteType, pageUrl, }) => {
3504
3226
  const { t } = useTranslations.useTranslations();
3505
3227
  const [conceptionDate, setConceptionDate] = React.useState(new Date());
3506
3228
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
3507
- 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) => {
3508
3230
  setConceptionDate(date);
3509
3231
  }, placeholder: "dd/mm/yyyy", pickedDate: conceptionDate, displayDateFormat: 'dd/MM/yyyy', disabledDays: {
3510
3232
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3511
3233
  }, customInput: (props) => {
3512
3234
  return (React__default["default"].createElement(index$9.Input, Object.assign({ className: "due-date-input", name: "birthday", size: "md" }, props, { value: conceptionDate &&
3513
3235
  dayjs__default["default"](conceptionDate).format(utils$1.DUE_DATE_FORMAT) })));
3514
- } }), 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",
3515
3237
  // type={'date' as 'text'}
3516
3238
  className: "due-date-input",
3517
3239
  // onChange={(value) => {
3518
3240
  // setConceptionDate(new Date(value))
3519
3241
  // }}
3520
- 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: {
3521
3243
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3522
3244
  }, locale: locale, pickedDate: conceptionDate, displayDateFormat: types.DATE_FORMAT, onChange: (date) => {
3523
3245
  setConceptionDate(date);
3524
3246
  }, placeholder: "placeholder" }) }))),
3525
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: () => {
3526
- 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}= `);
3527
3249
  }, role: "button" }, t('dueDatePage.lastPeriod.calculate'))));
3528
3250
  };
3529
3251
 
@@ -3532,19 +3254,19 @@ const DueDateFormIVF = ({ locale, onClick, siteType, pageUrl }) => {
3532
3254
  const [IVFDate, setIVFDate] = React.useState(new Date());
3533
3255
  const [dayTransfer, setDayTransfer] = React.useState('3');
3534
3256
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
3535
- 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) => {
3536
3258
  setIVFDate(date);
3537
3259
  }, placeholder: "dd/mm/yyyy", pickedDate: IVFDate, displayDateFormat: 'dd/MM/yyyy', disabledDays: {
3538
3260
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3539
3261
  }, customInput: (props) => {
3540
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) })));
3541
- } }), 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",
3542
3264
  // type={'date' as 'text'}
3543
3265
  className: "due-date-input",
3544
3266
  // onChange={(value) => {
3545
3267
  // setIVFDate(new Date(value))
3546
3268
  // }}
3547
- 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: {
3548
3270
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3549
3271
  }, locale: locale, pickedDate: IVFDate, displayDateFormat: types.DATE_FORMAT, onChange: (date) => {
3550
3272
  setIVFDate(date);
@@ -3567,7 +3289,7 @@ const DueDateFormIVF = ({ locale, onClick, siteType, pageUrl }) => {
3567
3289
  },
3568
3290
  ] })),
3569
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: () => {
3570
- 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}`);
3571
3293
  }, role: "button" }, t('dueDatePage.lastPeriod.calculate'))));
3572
3294
  };
3573
3295
 
@@ -3576,26 +3298,26 @@ const DueDateFormLastPeriod = ({ locale, onClick, siteType, pageUrl, }) => {
3576
3298
  const [periodLength, setPeriodLength] = React.useState(28);
3577
3299
  const [lastPeriodDate, setLastPeriodDate] = React.useState(new Date());
3578
3300
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
3579
- 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) => {
3580
3302
  setLastPeriodDate(date);
3581
3303
  }, placeholder: "dd/mm/yyyy", pickedDate: lastPeriodDate, displayDateFormat: 'dd/MM/yyyy', disabledDays: {
3582
3304
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3583
3305
  }, customInput: (props) => {
3584
3306
  return (React__default["default"].createElement(index$9.Input, Object.assign({ name: "birthday", size: "md" }, props, { value: lastPeriodDate &&
3585
3307
  dayjs__default["default"](lastPeriodDate).format(utils$1.DUE_DATE_FORMAT) })));
3586
- } }), 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: {
3587
3309
  before: new Date(new Date().getTime() - 40 * 7 * 24 * 3600000),
3588
3310
  }, locale: locale, pickedDate: lastPeriodDate, displayDateFormat: types.DATE_FORMAT, onChange: (date) => {
3589
3311
  setLastPeriodDate(date);
3590
3312
  }, placeholder: "placeholder" }) }))),
3591
3313
  React__default["default"].createElement("div", { className: "slider-due-date", "data-theme": siteType === 'marryBaby' ? 'marryBaby' : '' },
3592
- 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'))),
3593
3315
  React__default["default"].createElement("div", { className: "slider-outer-wrapper" },
3594
3316
  siteType === 'marryBaby' && (React__default["default"].createElement(index$2.Text, { size: "s3", weight: "semiBold", color: theme.theme.colors.gray600 }, periodLength)),
3595
- React__default["default"].createElement(index$f.Slider, { containerStyle: {
3317
+ React__default["default"].createElement(index$g.Slider, { containerStyle: {
3596
3318
  flex: 1,
3597
3319
  }, min: 20, max: 40, step: 1, labelAlwaysOn: siteType !== 'marryBaby', withControl: siteType !== 'marryBaby', onChange: setPeriodLength, value: periodLength, label: siteType !== 'marryBaby' ? undefined : null }))),
3598
- 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'))));
3599
3321
  };
3600
3322
 
3601
3323
  const StyledTwins = styled__default["default"].div `
@@ -3629,7 +3351,7 @@ const StyledTwins = styled__default["default"].div `
3629
3351
  }
3630
3352
  }
3631
3353
  `;
3632
- const StyledInputForm = styled__default["default"].div `
3354
+ styled__default["default"].div `
3633
3355
  margin-bottom: 20px;
3634
3356
  width: 100%;
3635
3357
 
@@ -3716,7 +3438,7 @@ const StyledFormInput = styled__default["default"].div `
3716
3438
  }
3717
3439
  }
3718
3440
  `;
3719
- const StyledActive = styled__default["default"].div `
3441
+ styled__default["default"].div `
3720
3442
  margin-bottom: 24px;
3721
3443
  width: 100%;
3722
3444
 
@@ -3770,18 +3492,18 @@ const StyledActive = styled__default["default"].div `
3770
3492
 
3771
3493
  const DueDateCalculator = ({ onSubmitDueDate, locale, isSide, siteType, }) => {
3772
3494
  const { t } = useTranslations.useTranslations();
3773
- const [calculatorType, setCalculatorType] = React.useState(DueDateCalculatorType.lastPeriod);
3495
+ const [calculatorType, setCalculatorType] = React.useState(index$d.DueDateCalculatorType.lastPeriod);
3774
3496
  const calculatingMethods = [
3775
3497
  {
3776
- value: DueDateCalculatorType.lastPeriod,
3498
+ value: index$d.DueDateCalculatorType.lastPeriod,
3777
3499
  label: t('dueDatePage.lastPeriod'),
3778
3500
  },
3779
3501
  {
3780
- value: DueDateCalculatorType.conception,
3502
+ value: index$d.DueDateCalculatorType.conception,
3781
3503
  label: t('dueDatePage.conceptionDate'),
3782
3504
  },
3783
3505
  {
3784
- value: DueDateCalculatorType.IVF,
3506
+ value: index$d.DueDateCalculatorType.IVF,
3785
3507
  label: t('dueDatePage.ivf'),
3786
3508
  },
3787
3509
  ];
@@ -3801,11 +3523,144 @@ const DueDateCalculator = ({ onSubmitDueDate, locale, isSide, siteType, }) => {
3801
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) => {
3802
3524
  setCalculatorType(o.value);
3803
3525
  } }))))),
3804
- calculatorType === DueDateCalculatorType.lastPeriod ? (React__default["default"].createElement(DueDateFormLastPeriod, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null,
3805
- calculatorType === DueDateCalculatorType.conception ? (React__default["default"].createElement(DueDateFormConception, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null,
3806
- 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)));
3807
3551
  };
3808
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
+
3809
3664
  const StyledContent = utils$1.setDefaultClass(styled__default["default"].form `
3810
3665
  margin: auto;
3811
3666
  ${utils.MediaQueries.mbUp} {
@@ -3894,7 +3749,7 @@ const StyledContent = utils$1.setDefaultClass(styled__default["default"].form `
3894
3749
  }
3895
3750
  }
3896
3751
  `, 'hhgcomp-embedtoolcard-content');
3897
- const StyledContainer$3 = styled__default["default"].div `
3752
+ styled__default["default"].div `
3898
3753
  padding: 0;
3899
3754
  background-color: white;
3900
3755
  border: 1px solid #e4e8ec;
@@ -4059,9 +3914,9 @@ const StyledRadioGroup = styled__default["default"](RadioGroup) `
4059
3914
  const DueDateCardEmbed = ({ isMobile, locale, onSubmitDueDate, dueDatePageInfo, expertUrl, isSide, siteType, }) => {
4060
3915
  var _a;
4061
3916
  const { t } = useTranslations.useTranslations();
4062
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
4063
- 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) ||
4064
- 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: {
4065
3920
  link: expertUrl,
4066
3921
  reviewer: (_a = dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.reviewed_by) === null || _a === void 0 ? void 0 : _a.display_name,
4067
3922
  date: dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.reviewed_date,
@@ -4070,155 +3925,99 @@ const DueDateCardEmbed = ({ isMobile, locale, onSubmitDueDate, dueDatePageInfo,
4070
3925
  React__default["default"].createElement(DueDateCalculator, { siteType: siteType, locale: locale, onSubmitDueDate: onSubmitDueDate, isSide: isSide }))));
4071
3926
  };
4072
3927
 
4073
- const BmiEmbedContext = React.createContext({});
3928
+ const BmiFormContext = React.createContext({});
4074
3929
 
4075
- const StyledButton$2 = styled__default["default"](index$3.Button) `
4076
- margin: 0 auto 24px;
4077
- ${utils.MediaQueries.mbUp} {
4078
- max-width: 200px;
4079
- margin: 24px auto;
4080
- }
4081
- `;
4082
- const StyledInput = styled__default["default"](index_styles.PureInput) `
4083
- &.bmi--input {
4084
- + .bmi--input {
4085
- margin-top: 24px;
4086
- }
4087
- .inputLabel {
4088
- display: inline-block;
4089
- margin-bottom: 5px;
4090
- color: #595959;
4091
- font-weight: bold;
4092
- font-size: 12px;
4093
- }
4094
- .errorLabel {
4095
- line-height: 1.3;
4096
- }
4097
- input[type='radio'] {
4098
- padding: 0;
4099
- }
4100
- .bmi--input-radio_gender {
4101
- width: 100%;
4102
- gap: 16px;
4103
- > div {
4104
- ${utils.MediaQueries.mbDown} {
4105
- width: calc(50% - 8px);
4106
- }
4107
- width: calc(33% - 8px);
4108
- }
4109
- & > div > div {
4110
- display: flex;
4111
- flex-direction: row;
4112
- justify-content: center;
4113
- align-content: center;
4114
- gap: 8px;
4115
- padding-block: 5px;
4116
- }
4117
- }
4118
- .bmi-side-embed {
4119
- > div {
4120
- ${utils.MediaQueries.mbUp} {
4121
- width: calc(50% - 8px);
4122
- }
4123
- }
4124
- }
4125
- .radio-group-item-heading {
4126
- margin-top: 0;
4127
- }
4128
- }
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
+ };
4129
3964
 
4130
- ${utils.MediaQueries.mbDown} {
4131
- &.bmi--input {
4132
- .bmi--input-radio_gender {
4133
- > div {
4134
- .gender-image {
4135
- width: 40px;
4136
- height: 40px;
4137
- }
4138
- }
4139
- }
4140
- }
4141
- }
4142
- `;
4143
- const StyledContainer$2 = styled__default["default"].div `
4144
- width: 100%;
4145
- `;
4146
- const FormControl$2 = styled__default["default"].div `
4147
- margin-bottom: 1rem;
4148
- display: flex;
4149
- flex-direction: column;
4150
- gap: 16px;
4151
- input {
4152
- font-size: 12px;
4153
- ::placeholder {
4154
- color: #8c8c8c;
4155
- opacity: 1;
4156
- }
4157
- }
4158
- .input-label {
4159
- label {
4160
- display: inline-block;
4161
- margin-bottom: 9px;
4162
- color: #595959;
4163
- font-weight: bold;
4164
- font-size: 12px;
4165
- }
4166
- }
4167
- `;
4168
- const StyledRow$3 = styled__default["default"].div `
4169
- ${utils.MediaQueries.mbUp} {
4170
- display: flex;
4171
- width: 100%;
4172
- align-items: flex-start;
4173
- justify-content: space-between;
4174
- gap: 12px;
4175
- > div {
4176
- width: 100%;
4177
- }
4178
- &[data-is-side='true'] {
4179
- ${utils.MediaQueries.mbUp} {
4180
- display: flex;
4181
- flex-direction: column;
4182
- gap: 0px;
4183
- }
4184
- }
4185
- }
4186
- ${utils.MediaQueries.mbDown} {
4187
- display: flex;
4188
- flex-direction: column;
4189
- gap: 0px;
4190
- }
4191
- `;
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
+ };
4192
4006
 
4193
- function getBmi({ weight: weightProps, height: heightProps }) {
4007
+ function getBmi({ weight: weightProps, height: heightProps, }) {
4194
4008
  const height = heightProps / 100;
4195
4009
  const weight = weightProps;
4196
4010
  return Math.round((weight / (height * height)) * 10) / 10;
4197
4011
  }
4198
4012
 
4199
- const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmitProps, disabled, bmiGenerated, bmiUnit, locale, isSide, }) => {
4200
- 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"]);
4201
4015
  const [isTouched, setIsTouched] = React.useState(false);
4202
4016
  const { control, handleSubmit, setValue, watch } = reactHookForm.useForm();
4203
4017
  const data = watch();
4204
- const { t } = useTranslations.useTranslations();
4205
- const { gender: disabledGender = false, age: disabledAge = false, height: disabledHeight = false, weight: disabledWeight = false, objective: disabledObjective = true, } = disabled || {};
4018
+ const { locale } = useTranslations.useTranslations();
4206
4019
  const { getHealthToolLink } = useHealthToolCache.useHealthToolsCache(locale);
4207
4020
  const linkTool = React.useMemo(() => getHealthToolLink(utils$1.HEALTH_TOOL_TYPE.OVULATION), [getHealthToolLink]);
4208
- const objectOptions = React.useMemo(() => [
4209
- {
4210
- value: 'lose-weight',
4211
- label: t('bmi.objective.loseWeight'),
4212
- },
4213
- {
4214
- value: 'maintain-weight',
4215
- label: t('bmi.objective.maintainWeight'),
4216
- },
4217
- {
4218
- value: 'gain-weight',
4219
- label: t('bmi.objective.gainWeight'),
4220
- },
4221
- ], []);
4222
4021
  const onValid = (data) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
4223
4022
  const height = bmiUnit.heightConvert(data.height);
4224
4023
  const weight = bmiUnit.weightConvert(data.weight);
@@ -4229,9 +4028,6 @@ const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmi
4229
4028
  weight,
4230
4029
  bmi: getBmi({ height, weight }),
4231
4030
  };
4232
- if (!disabledObjective) {
4233
- submitValue['objective'] = data.objective;
4234
- }
4235
4031
  onInValid();
4236
4032
  onSubmitProps && onSubmitProps(submitValue);
4237
4033
  });
@@ -4251,477 +4047,42 @@ const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmi
4251
4047
  React.useEffect(() => {
4252
4048
  onChangeProps && onChangeProps(data);
4253
4049
  }, [data]);
4254
- return (React__default["default"].createElement(StyledContainer$2, null,
4255
- React__default["default"].createElement("form", { onSubmit: handleSubmit(onValid, onInValid) },
4256
- !disabledGender && (React__default["default"].createElement(FormControl$2, { "data-is-side": isSide },
4257
- React__default["default"].createElement(reactHookForm.Controller, { name: "gender", control: control, defaultValue: "male", render: ({ field: { onChange } }) => {
4258
- return (React__default["default"].createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => onChange(v), styles: (theme) => ({
4259
- root: !isSide && {
4260
- [theme.fn.largerThan('sm')]: {
4261
- width: 'calc((100% - 24px) * 2/3 + 12px)',
4262
- },
4263
- },
4264
- wrapper: {
4265
- [theme.fn.largerThan('sm')]: {
4266
- gap: core.rem(12),
4267
- },
4268
- },
4269
- }) }));
4270
- } }))),
4271
- React__default["default"].createElement(StyledRow$3, { "data-is-side": isSide },
4272
- !disabledAge && (React__default["default"].createElement(FormControl$2, null,
4273
- 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 }, }) => {
4274
- 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 },
4275
- t('bmi.ageInput'),
4276
- ' ',
4277
- 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 }));
4278
- } }))),
4279
- !disabledHeight && (React__default["default"].createElement(FormControl$2, null,
4280
- 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 }, }) => {
4281
- 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 },
4282
- t('bmi.heightInput'),
4283
- ' ',
4284
- 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 }));
4285
- } }))),
4286
- !disabledWeight && (React__default["default"].createElement(FormControl$2, null,
4287
- 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 }, }) => {
4288
- 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 },
4289
- t('bmi.weightInput'),
4290
- ' ',
4291
- 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 }));
4292
- } }))),
4293
- !disabledObjective && (React__default["default"].createElement(FormControl$2, null,
4294
- 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 }, }) => {
4295
- 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" }));
4296
- } })))),
4297
- React__default["default"].createElement("div", { style: { display: 'flex' } },
4298
- 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'))))));
4299
- };
4300
-
4301
- const Form$1 = () => {
4302
- const { onSubmit, bmiGenerated, locale, bmiUnit, isSide } = React.useContext(BmiEmbedContext);
4303
- 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)))));
4304
4058
  };
4305
4059
 
4306
- const _BMICardEmbed = ({ isMobile, onSubmit, bmiContent, isSide, bmiGenerated, bmiUnit, bmiLink, locale, children, }) => {
4060
+ const BMICardEmbed = ({ isMobile, onSubmit, bmiContent, bmiGenerated, bmiUnit, locale, formLayout, }) => {
4307
4061
  var _a, _b, _c;
4308
4062
  const { t } = useTranslations.useTranslations();
4309
- return (React__default["default"].createElement(BmiEmbedContext.Provider, { value: {
4310
- isMobile,
4311
- onSubmit,
4312
- isSide,
4313
- bmiGenerated,
4314
- bmiUnit,
4315
- bmiLink,
4316
- locale,
4317
- } }, children || (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide },
4318
- 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) ||
4319
- 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: {
4320
4066
  link: (_a = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4321
4067
  reviewer: (_b = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer,
4322
4068
  date: (_c = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4323
4069
  }, isMobile: isMobile }),
4324
- React__default["default"].createElement(index$g.Container, null,
4325
- React__default["default"].createElement(StyledContent, { as: "div", "data-is-side": isSide }, bmiLink && React__default["default"].createElement(Form$1, null)))))));
4326
- };
4327
- const BMICardEmbed = _BMICardEmbed;
4328
- BMICardEmbed.Form = Form$1;
4329
-
4330
- const BabyGrowthEmbedContext = React.createContext({});
4331
-
4332
- const BabyGrowthFormContext = React.createContext({});
4333
-
4334
- var useStyles$3 = core.createStyles(() => {
4335
- return {
4336
- root: {},
4337
- };
4338
- });
4339
-
4340
- var useStyles$2 = core.createStyles((theme) => {
4341
- return {
4342
- root: {
4343
- display: 'flex',
4344
- flexDirection: 'column',
4345
- gap: core.rem(8),
4346
- },
4347
- row: {
4348
- display: 'flex',
4349
- alignItems: 'stretch',
4350
- justifyContent: 'space-between',
4351
- gap: core.rem(16),
4352
- },
4353
- labelWrapper: {
4354
- flex: '1 1 0px',
4355
- display: 'flex',
4356
- alignItems: 'center',
4357
- borderBottom: `1px solid ${theme.colors.neutral[1]}`,
4358
- },
4359
- label: {
4360
- fontSize: core.rem(14),
4361
- color: theme.colors.gray[6],
4362
- },
4363
- control: {
4364
- width: core.rem(180),
4365
- flexShrink: 1,
4366
- '&.error': {
4367
- 'button, input': {
4368
- borderColor: theme.colors.red[7],
4369
- },
4370
- },
4371
- },
4372
- radioLabel: {
4373
- fontSize: core.rem(16),
4374
- },
4375
- radioRoot: {
4376
- padding: `${core.rem(10)} 0`,
4377
- margin: 0,
4378
- },
4379
- bmiVal: {
4380
- display: 'inline-block',
4381
- },
4382
- inputWithUnit__wrapper: {
4383
- position: 'relative',
4384
- },
4385
- inputWithUnit__unit: {
4386
- position: 'absolute',
4387
- top: 0,
4388
- right: 0,
4389
- bottom: 0,
4390
- paddingRight: core.rem(10),
4391
- display: 'flex',
4392
- alignItems: 'center',
4393
- },
4394
- inputWithUnit__unitText: {
4395
- color: theme.colors.gray[6],
4396
- },
4397
- inputWithUnit__input: {
4398
- input: {
4399
- paddingRight: core.rem(30),
4400
- '::-webkit-inner-spin-button': { '-webkit-appearance': 'none' },
4401
- },
4402
- },
4403
- submitBtn: {},
4404
- switchRoot: {
4405
- padding: '16px 0',
4406
- },
4407
- };
4408
- });
4409
-
4410
- const HorizonalForm = (_a) => {
4411
- var { styles, classNames } = _a, props = tslib_es6.__rest(_a, ["styles", "classNames"]);
4412
- const { t } = useTranslations.useTranslations();
4413
- const { control, currentUrl, isEmptyThreeFields, isMarryBaby } = React.useContext(BabyGrowthFormContext);
4414
- const { classes, cx } = useStyles$2(undefined, {
4415
- name: 'BabyGrowthForm__HorizonalForm',
4416
- styles,
4417
- classNames,
4418
- });
4419
- const commonDateProps = {
4420
- placeholder: 'DD/MM/YYYY',
4421
- popoverProps: {
4422
- withinPortal: true,
4423
- },
4424
- };
4425
- return (React__default["default"].createElement(core.Box, Object.assign({ className: classes.root }, props),
4426
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "gender", render: ({ field: { onChange, value } }) => (React__default["default"].createElement(core.Box, { className: classes.row },
4427
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4428
- React__default["default"].createElement("label", { className: classes.label, htmlFor: "gender" }, t('tools.selectBabyGender'))),
4429
- React__default["default"].createElement(index$3.Radio.Group, { onChange: onChange, value: value },
4430
- React__default["default"].createElement(core.Group, { mt: "xs" },
4431
- React__default["default"].createElement(index$3.Radio, { value: "boy", label: t('gender.boy'), classNames: {
4432
- root: classes.radioRoot,
4433
- label: classes.radioLabel,
4434
- } }),
4435
- React__default["default"].createElement(index$3.Radio, { value: "girl", label: t('gender.girl'), classNames: {
4436
- label: classes.radioLabel,
4437
- } }))))) }),
4438
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => {
4439
- return (React__default["default"].createElement(core.Box, { className: classes.row },
4440
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4441
- React__default["default"].createElement("label", { className: classes.label, htmlFor: "birthday" }, t('babyGrowth.input.birthday'))),
4442
- React__default["default"].createElement(index$h.DatePicker, Object.assign({}, commonDateProps, { className: cx(classes.control, error ? 'error' : ''), onChange: onChange, maxDate: new Date() }))));
4443
- } }),
4444
- React__default["default"].createElement(core.Box, { className: classes.row },
4445
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4446
- React__default["default"].createElement("label", { className: classes.label }, "BMI")),
4447
- React__default["default"].createElement(core.Flex, { align: 'center', gap: '8px' },
4448
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default["default"].createElement(React__default["default"].Fragment, null,
4449
- React__default["default"].createElement(index$2.Text, { size: "p2" },
4450
- React__default["default"].createElement("span", { className: classes.bmiVal }, !isNaN(Number(value)) && value !== '0' ? value : ''),
4451
- t('babyGrowth.kg.m2')))) }),
4452
- 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' : '') },
4453
- 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() }),
4454
- React__default["default"].createElement(core.Box, { className: classes.inputWithUnit__unit },
4455
- React__default["default"].createElement(index$2.Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.cm'))))) }),
4456
- 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' : '') },
4457
- React__default["default"].createElement(core.Box, { className: classes.inputWithUnit__unit },
4458
- React__default["default"].createElement(index$2.Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.kg'))),
4459
- 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() }))) }))),
4460
- 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 },
4461
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4462
- React__default["default"].createElement("label", { className: classes.label, htmlFor: "head" },
4463
- ' ',
4464
- t('babyGrowth.headCircumference'))),
4465
- React__default["default"].createElement(core.Box, { className: cx(classes.inputWithUnit__wrapper, classes.control, isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
4466
- 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() }),
4467
- React__default["default"].createElement(core.Box, { className: classes.inputWithUnit__unit },
4468
- React__default["default"].createElement(index$2.Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.cm')))))) }),
4469
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "measurementDate", render: ({ field: { onChange } }) => (React__default["default"].createElement(core.Box, { className: classes.row },
4470
- React__default["default"].createElement(core.Box, { className: classes.labelWrapper },
4471
- React__default["default"].createElement("label", { className: classes.label, htmlFor: "measurementDate" }, t('babyGrowth.input.measurementDate'))),
4472
- React__default["default"].createElement(index$h.DatePicker, Object.assign({}, commonDateProps, { className: classes.control, defaultValue: new Date(), onChange: onChange, maxDate: new Date() })))) }),
4473
- React__default["default"].createElement(core.Box, { className: classes.row },
4474
- 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')))));
4475
- };
4476
-
4477
- const StyledBabyGrowthWrapper$1 = styled__default["default"].div `
4478
- display: flex;
4479
- flex-direction: column;
4480
- gap: 16px;
4481
- padding-block: 40px;
4482
-
4483
- &[data-theme='marryBaby'] {
4484
- padding-block: 0;
4485
- padding-top: 12px;
4486
- }
4487
- `;
4488
- const StyledFormControl = styled__default["default"].div `
4489
- display: flex;
4490
- flex-direction: column;
4491
- gap: 6px;
4492
- margin-top: auto;
4493
-
4494
- .error-input input {
4495
- border: 1px solid ${theme.theme.colors.red700};
4496
- }
4497
- `;
4498
- const StyledInlineLabel = styled__default["default"](constants.Label) `
4499
- display: inline-flex;
4500
- padding-bottom: 6px;
4501
- gap: 4px;
4502
- `;
4503
- const StyledRow$2 = styled__default["default"].div `
4504
- display: flex;
4505
- width: 100%;
4506
- align-items: center;
4507
- justify-content: space-between;
4508
- gap: 16px;
4509
- > div {
4510
- width: 100%;
4511
- }
4512
- `;
4513
-
4514
- const VerticalForm = () => {
4515
- const { t } = useTranslations.useTranslations();
4516
- const { control, currentUrl, isEmptyThreeFields, isMarryBaby, siteType } = React.useContext(BabyGrowthFormContext);
4517
- const commonDateProps = {
4518
- placeholder: 'DD/MM/YYYY',
4519
- popoverProps: {
4520
- withinPortal: true,
4521
- },
4522
- };
4523
- return (React__default["default"].createElement(StyledBabyGrowthWrapper$1, { className: "form-wrapper", "data-theme": siteType },
4524
- 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 })) }),
4525
- siteType === 'marryBaby' ? (React__default["default"].createElement(React__default["default"].Fragment, null,
4526
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "birthday", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
4527
- 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 }) })) }))) }),
4528
- React__default["default"].createElement(StyledRow$2, null,
4529
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4530
- 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)
4531
- ? 'error-input'
4532
- : '', name: "height", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4533
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
4534
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4535
- 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)
4536
- ? 'error-input'
4537
- : '', name: "weight", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4538
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) })),
4539
- React__default["default"].createElement(StyledRow$2, null,
4540
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4541
- 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)
4542
- ? 'error-input'
4543
- : '', name: "head", size: "md", value: String(value), onChange: onChange, type: "number", placeholder: "Nh\u1EADp th\u00F4ng tin", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4544
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
4545
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default["default"].createElement(StyledFormControl, null,
4546
- 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' } }) }))) })),
4547
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "measurementDate", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
4548
- 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 }) })) }))) }),
4549
- 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,
4550
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
4551
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "birthday" },
4552
- React__default["default"].createElement(index$2.Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.birthday'))),
4553
- 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' : '' })))) }),
4554
- React__default["default"].createElement(StyledRow$2, null,
4555
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4556
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "height" },
4557
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.height')),
4558
- React__default["default"].createElement(index$2.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.cm'))),
4559
- 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() }))) }),
4560
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4561
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "weight" },
4562
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.weight')),
4563
- React__default["default"].createElement(index$2.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.kg'))),
4564
- 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() }))) })),
4565
- React__default["default"].createElement(StyledRow$2, null,
4566
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
4567
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "head" },
4568
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.headCircumference')),
4569
- React__default["default"].createElement(index$2.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.cm'))),
4570
- 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() }))) }),
4571
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default["default"].createElement(StyledFormControl, null,
4572
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "bmi" },
4573
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.input.bmi')),
4574
- React__default["default"].createElement(index$2.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.kg.m2'))),
4575
- React__default["default"].createElement(index$9.Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true }))) })),
4576
- React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "measurementDate", render: ({ field: { onChange }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
4577
- React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "measurementDate" },
4578
- React__default["default"].createElement(index$2.Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.measurementDate'))),
4579
- 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' : '' })))) }),
4580
- 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 }))));
4581
4072
  };
4582
4073
 
4583
- /**
4584
- * Using {@link Intl.NumberFormat} to covert a number to string base on its locale
4585
- * @param {number} num - Number to convert
4586
- * @param {number} maximumFractionDigits - Number of decimal digits
4587
- * @returns {string} - String based number
4588
- */
4589
- const localizeNumberFormat = (num, maximumFractionDigits = 2) => {
4590
- return Intl.NumberFormat(undefined, {
4591
- maximumFractionDigits,
4592
- }).format(num);
4593
- };
4594
-
4595
- /**
4596
- * Calculate BMI
4597
- * Using {@link localizeNumberFormat} to convert number based on locale
4598
- * @param {number} height - Height in number
4599
- * @param {number} weight - Weight in number
4600
- * @returns {number} - BMI with 2 decimal digits
4601
- */
4602
- const bmiCalculate = (height = 0, weight = 0) => {
4603
- try {
4604
- if (height && weight) {
4605
- const bmi = Number(weight) / Math.pow(Number(height) / 100, 2);
4606
- return Number(localizeNumberFormat(bmi));
4607
- }
4608
- else {
4609
- return 0;
4610
- }
4611
- }
4612
- catch (error) { }
4613
- return 0;
4614
- };
4615
-
4616
- const BabyGrowthForm = ({ onSubmit, onError, schema, siteType, layout = 'vertical', styles, classNames, }) => {
4617
- const { classes, theme } = useStyles$3(undefined, {
4618
- name: 'BabyGrowthForm',
4619
- styles,
4620
- classNames,
4621
- });
4622
- const isMarryBaby = theme.other.template === 'mb';
4623
- const { control, setValue, watch, handleSubmit, formState: { isSubmitted }, } = reactHookForm.useForm({
4624
- resolver: yup.yupResolver(schema),
4625
- mode: 'onSubmit',
4626
- defaultValues: {
4627
- name: '',
4628
- gender: index$j.Gender.Boy,
4629
- measurementDate: new Date(),
4630
- },
4631
- });
4632
- const weight = watch('weight');
4633
- const height = watch('height');
4634
- const head = watch('head');
4635
- const isEmptyThreeFields = React.useMemo(() => isSubmitted && !weight && !height && !head, [isSubmitted, weight, height, head]);
4636
- React.useEffect(() => {
4637
- const bmi = bmiCalculate(height, weight);
4638
- setValue('bmi', String(bmi) || '0');
4639
- }, [weight, height]);
4640
- const currentUrl = React.useMemo(() => {
4641
- if (typeof window !== 'undefined') {
4642
- return window.location.href;
4643
- }
4644
- else
4645
- return '';
4646
- }, []);
4647
- return (React__default["default"].createElement(BabyGrowthFormContext.Provider, { value: {
4648
- isEmptyThreeFields,
4649
- control,
4650
- currentUrl,
4651
- isMarryBaby,
4652
- siteType,
4653
- } },
4654
- 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: {
4655
- root: classes.root,
4656
- } })))));
4657
- };
4658
-
4659
- const StyledBabyGrowthWrapper = styled__default["default"].div `
4660
- padding: 36px;
4661
- padding-top: 0;
4662
- background-color: white;
4663
- ${utils.MediaQueries.mbDown} {
4664
- padding: 16px;
4665
- padding-top: 0;
4666
- }
4667
- &[data-theme='marryBaby'] {
4668
- background-color: ${theme.theme.mbColors.green};
4669
- padding: 24px;
4670
- border-bottom-right-radius: 16px;
4671
- border-bottom-left-radius: 16px;
4672
- ${utils.MediaQueries.mbDown} {
4673
- padding: 16px;
4674
- }
4675
- }
4676
- `;
4677
- const StyleForm = styled__default["default"](BabyGrowthForm) `
4678
- padding-block: 0;
4679
- `;
4680
- styled__default["default"](ToolsBannerCard) `
4681
- padding-inline: 20px;
4682
-
4683
- img.embedded-icon {
4684
- width: 140px;
4685
- margin-left: 50%;
4686
- align-self: center;
4687
- }
4688
-
4689
- ${utils.MediaQueries.mbDown} {
4690
- padding-inline: 0;
4691
- img.embedded-icon {
4692
- width: 125px;
4693
- align-self: end;
4694
- margin-left: 0;
4695
- position: absolute;
4696
- transform: translateY(50%);
4697
- }
4698
- .embedded-review {
4699
- max-width: 200px;
4700
- }
4701
- }
4702
- `;
4703
-
4704
- const Form = (_a) => {
4705
- var form = tslib_es6.__rest(_a, []);
4706
- const { formLayout, siteType, schema, onSubmit, onError } = React.useContext(BabyGrowthEmbedContext);
4707
- return (React__default["default"].createElement(StyleForm, Object.assign({ siteType: siteType, schema: schema, onSubmit: onSubmit, onError: onError, layout: formLayout }, form)));
4708
- };
4709
-
4710
- const _BabyGrowthCardEmbed = ({ isMobile, onSubmit, onError, schema, babyGrowthContent, siteType, children, formLayout, }) => {
4074
+ const BabyGrowthCardEmbed = ({ isMobile, onSubmit, onError, schema, babyGrowthContent, formLayout, }) => {
4711
4075
  var _a, _b, _c;
4712
- return (React__default["default"].createElement(BabyGrowthEmbedContext.Provider, { value: { formLayout, siteType, schema, onSubmit, onError } }, children || (React__default["default"].createElement(React__default["default"].Fragment, null,
4713
- React__default["default"].createElement(StyledContainer$3, { "babyGrowthContent-is-mobile": isMobile, "data-site": siteType },
4714
- 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) ||
4715
- index$5.CommonGAssets.getAssetPath('health-tools/toolsIconBabyGrowth.svg'), loading: "lazy" }), heading: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.title) || '', medicalReview: {
4716
- link: (_a = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4717
- reviewer: (_b = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer.trim(),
4718
- date: (_c = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4719
- }, isMobile: isMobile }),
4720
- React__default["default"].createElement(StyledBabyGrowthWrapper, { "data-theme": siteType },
4721
- React__default["default"].createElement(Form, { layout: formLayout })))))));
4722
- };
4723
- const BabyGrowthCardEmbed = _BabyGrowthCardEmbed;
4724
- 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
+ };
4725
4086
 
4726
4087
  var useStyles$1 = core.createStyles((theme, params) => {
4727
4088
  const { isMarryBaby, isSide, direction } = params;
@@ -4733,7 +4094,7 @@ var useStyles$1 = core.createStyles((theme, params) => {
4733
4094
  : {
4734
4095
  flexDirection: direction === 'column' ? 'column-reverse' : 'row',
4735
4096
  })), { gap: '8px', padding: '16px', borderRadius: isMarryBaby ? '16px' : '8px' }), (!isMarryBaby && {
4736
- backgroundImage: `url(${index$5.CommonGAssets.getAssetPath('bgPattern/baby-poop.svg')})`,
4097
+ backgroundImage: `url(${index$6.CommonGAssets.getAssetPath('bgPattern/baby-poop.svg')})`,
4737
4098
  backgroundRepeat: 'no-repeat',
4738
4099
  backgroundSize: 'cover',
4739
4100
  backgroundPosition: 'center',
@@ -4838,11 +4199,11 @@ const BabyPoopEmbed = ({ babyPoopPage, onClickFindOut, currentUrl, isSide, direc
4838
4199
  const { reviewedBy, reviewedDate } = babyPoopPage || {};
4839
4200
  return (React__default["default"].createElement("div", { className: classes.root },
4840
4201
  React__default["default"].createElement("div", { className: classes.inner },
4841
- 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),
4842
4203
  React__default["default"].createElement("div", { className: classes.content, "data-is-side": isSide },
4843
4204
  React__default["default"].createElement(index$2.Text, { size: "p3", className: "description" }, babyPoopPage.description),
4844
4205
  !!reviewedBy && (React__default["default"].createElement("div", { className: classes.reviewText },
4845
- 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" }),
4846
4207
  React__default["default"].createElement(index$2.Text, { size: "p4", color: theme.theme.colors.gray600 },
4847
4208
  t('categoryPage.info.reviewed'),
4848
4209
  "\u00A0",
@@ -4855,191 +4216,108 @@ const BabyPoopEmbed = ({ babyPoopPage, onClickFindOut, currentUrl, isSide, direc
4855
4216
  } }, t('babyPoop.findOut'))))),
4856
4217
  React__default["default"].createElement("div", { className: classes.thumbnail },
4857
4218
  React__default["default"].createElement("img", { src: isMarryBaby
4858
- ? index$5.CommonGAssets.getAssetPath('baby-poop.svg')
4219
+ ? index$6.CommonGAssets.getAssetPath('baby-poop.svg')
4859
4220
  : babyPoopPage === null || babyPoopPage === void 0 ? void 0 : babyPoopPage.featuredImage, alt: babyPoopPage.title, loading: "lazy" })),
4860
4221
  sponsorLogo && (React__default["default"].createElement("img", { loading: "lazy", src: sponsorLogo, alt: "sponsor", className: classes.sponsorLogo }))));
4861
4222
  };
4862
4223
 
4863
- const StyledRadioImageGroup = styled__default["default"].div `
4864
- display: flex;
4865
- width: 100%;
4224
+ const ThrFormContext = React.createContext({});
4866
4225
 
4867
- &[data-direction='vertical'] {
4868
- flex-direction: column;
4869
- }
4870
-
4871
- &[data-direction='horizontal'] {
4872
- flex-wrap: wrap;
4873
- }
4874
- `;
4875
- const StyledRadioImageItem = styled__default["default"].div `
4876
- display: flex;
4877
-
4878
- padding: 8px;
4879
-
4880
- border-radius: ${theme.theme.borderRadius};
4881
- cursor: pointer;
4882
-
4883
- & > div {
4884
- display: flex;
4885
- width: 100%;
4886
- height: 100%;
4887
- flex-direction: column;
4888
- align-items: center;
4889
- justify-content: flex-start;
4890
- }
4891
-
4892
- &[data-selected='true'] {
4893
- border: 1px solid #2d87f3;
4894
- background: white;
4895
-
4896
- .radio-group-item-heading {
4897
- color: #2d87f3;
4898
- }
4899
- }
4900
- &[data-selected='false'] {
4901
- border: 1px solid #f2f2f2;
4902
- box-shadow: 0px 5px 12px rgba(40, 74, 117, 0.08);
4903
- .radio-group-item-heading {
4904
- color: #262626;
4905
- }
4906
- }
4907
- &[data-disabled='true'] {
4908
- cursor: auto;
4909
- }
4910
-
4911
- .radio-group-item-heading {
4912
- margin-top: 8px;
4913
- text-align: center;
4914
- }
4915
-
4916
- .gender-image {
4917
- width: 23px;
4918
- height: 36px;
4919
- object-fit: contain;
4920
- }
4921
- `;
4922
-
4923
- const RadioImageGroupForTool = ({ value, options, className, direction = 'horizontal', onChange, isDisabled, }) => {
4924
- const [check, setCheck] = React.useState(value);
4925
- const handleOnChange = (v) => {
4926
- if (isDisabled)
4927
- return;
4928
- setCheck(v);
4929
- onChange && onChange(v);
4930
- };
4931
- 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: () => {
4932
- handleOnChange(option.value);
4933
- } },
4934
- React__default["default"].createElement("div", null,
4935
- React__default["default"].createElement("img", { src: (value || check) === option.value
4936
- ? option.imageActive
4937
- : option.image, className: "gender-image", alt: "", loading: "lazy" }),
4938
- 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'))));
4939
4254
  };
4940
4255
 
4941
- const StyledButton$1 = styled__default["default"](index$3.Button) `
4942
- margin: 0 auto 24px;
4943
- width: 100%;
4944
- ${utils.MediaQueries.mbUp} {
4945
- max-width: 200px;
4946
- }
4947
- `;
4948
- const StyledContainer$1 = styled__default["default"].div ``;
4949
- const FormControl$1 = styled__default["default"].div `
4950
- display: flex;
4951
- flex-direction: column;
4952
- gap: 16px;
4953
- input {
4954
- font-size: 12px;
4955
- }
4956
- .gender-option {
4957
- gap: 16px;
4958
- > div {
4959
- width: calc(50% - 8px);
4960
- }
4961
- }
4962
- .input-label {
4963
- label {
4964
- display: inline-block;
4965
- margin-bottom: 9px;
4966
- color: #595959;
4967
- font-weight: bold;
4968
- font-size: 12px;
4969
- }
4970
- }
4971
- `;
4972
- const StyledRow$1 = styled__default["default"].div `
4973
- ${utils.MediaQueries.mbUp} {
4974
- display: flex;
4975
- width: 100%;
4976
- align-items: flex-start;
4977
- justify-content: space-between;
4978
- gap: 16px;
4979
- margin-bottom: 24px;
4980
- > div {
4981
- width: 100%;
4982
- }
4983
- }
4984
-
4985
- ${utils.MediaQueries.mbDown} {
4986
- display: flex;
4987
- flex-direction: column;
4988
- gap: 16px;
4989
- margin-bottom: 8px;
4990
- }
4991
- &[data-is-side='true'] {
4992
- ${utils.MediaQueries.mbUp} {
4993
- display: flex;
4994
- flex-direction: column-reverse;
4995
- gap: 0px;
4996
- }
4997
- }
4998
- `;
4999
-
5000
- const ThrForm = ({ info, className, style, onChange, errorMessage = {}, locale, }) => {
5001
- const { t } = useTranslations.useTranslations();
5002
- const [dob, setDob] = React.useState(new Date());
5003
- const [isEdit, setIsEdit] = React.useState({
5004
- age: false,
5005
- rate: false,
5006
- });
5007
- const onAgeChanged = (dob) => {
5008
- setDob(dob);
5009
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { age: true })));
5010
- const newInfo = Object.assign(Object.assign({}, info), { age: dateFns.format(new Date(dob), API_DATE_FORMAT) });
5011
- onChange && onChange(newInfo);
5012
- };
5013
- React.useEffect(() => {
5014
- setIsEdit({
5015
- age: false,
5016
- rate: false,
5017
- });
5018
- }, [errorMessage]);
5019
- return (React__default["default"].createElement(StyledContainer$1, { style: style, className: className },
5020
- 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: {
5021
- after: new Date(dateFns.addDays(new Date(), 0)),
5022
- }, locale: locale, pickedDate: dob, displayDateFormat: 'dd/MM/yyyy', onChange: (date) => {
5023
- onAgeChanged(date);
5024
- }, 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'))));
5025
4294
  };
5026
4295
 
5027
- const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMessage, onFormChange, onSubmit, }) => {
5028
- var _a, _b, _c;
5029
- 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);
5030
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
+ });
5031
4319
  const linkTool = React.useMemo(() => getHealthToolLink(utils$1.HEALTH_TOOL_TYPE.THR), [getHealthToolLink]);
5032
4320
  const [isAdult, setIsAdult] = React.useState(false);
5033
- const [activeValue, setActiveValue] = React.useState('low_intensity');
5034
- const [genderValue, setGenderValue] = React.useState('male');
5035
- const [heartRate, setHeartRate] = React.useState(60);
5036
- const [range, setRange] = React.useState({
5037
- idAge: 0,
5038
- minAge: 0,
5039
- maxAge: 18,
5040
- rangeMale: 40,
5041
- rangeFemale: 40,
5042
- });
5043
4321
  const rangeHeartRateByAge = [
5044
4322
  {
5045
4323
  idAge: 0,
@@ -5095,283 +4373,93 @@ const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMe
5095
4373
  {
5096
4374
  value: 'low_intensity',
5097
4375
  label: t('targetHeartRate.lowIntensity.title'),
5098
- image: index$5.CommonGAssets.getAssetPath(`/low.svg`),
5099
- 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`),
5100
4378
  content: t('targetHeartRate.lowIntensity.note'),
5101
4379
  },
5102
4380
  {
5103
4381
  value: 'moderate_intensity',
5104
4382
  label: t('targetHeartRate.moderateIntensity.title'),
5105
- image: index$5.CommonGAssets.getAssetPath(`/moderate.svg`),
5106
- 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`),
5107
4385
  content: t('targetHeartRate.moderateIntensity.note'),
5108
4386
  },
5109
4387
  {
5110
4388
  value: 'aerobic_zone',
5111
4389
  label: t('targetHeartRate.aerobicZone.title'),
5112
- image: index$5.CommonGAssets.getAssetPath(`/aerobic.svg`),
5113
- 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`),
5114
4392
  content: t('targetHeartRate.aerobicZone.note'),
5115
4393
  },
5116
4394
  {
5117
4395
  value: 'vigorous_intensity',
5118
4396
  label: t('targetHeartRate.vigorousIntensity.title'),
5119
- image: index$5.CommonGAssets.getAssetPath(`/vigorous.svg`),
5120
- 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`),
5121
4399
  content: t('targetHeartRate.vigorousIntensity.note'),
5122
4400
  },
5123
4401
  {
5124
4402
  value: 'maximum_intensity',
5125
4403
  label: t('targetHeartRate.maximumIntensity.title'),
5126
- image: index$5.CommonGAssets.getAssetPath(`/maximum.svg`),
5127
- 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`),
5128
4406
  content: t('targetHeartRate.maximumIntensity.note'),
5129
4407
  },
5130
4408
  ];
5131
4409
  React.useEffect(() => {
5132
- const age = (new Date().getTime() - new Date(info === null || info === void 0 ? void 0 : info.age).getTime()) / 1000;
5133
- if (age >= 18 * 365 * 24 * 60 * 60)
5134
- setIsAdult(true);
5135
- else
5136
- setIsAdult(false);
5137
- const rangeByAge = rangeHeartRateByAge.find((item) => age >= item.minAge * 365 * 24 * 60 * 60 &&
5138
- age < item.maxAge * 365 * 24 * 60 * 60) || rangeHeartRateByAge[0];
5139
- setRange(rangeByAge);
5140
- setHeartRate(60);
5141
- }, [info === null || info === void 0 ? void 0 : info.age]);
5142
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide },
5143
- 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) ||
5144
- 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)
5145
4439
  ? {
5146
- 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),
5147
4441
  reviewer: (_b = thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedBy) === null || _b === void 0 ? void 0 : _b.display_name,
5148
4442
  date: thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedDate,
5149
4443
  }
5150
4444
  : undefined, isMobile: isMobile }),
5151
- React__default["default"].createElement(index$g.Container, null,
5152
- React__default["default"].createElement(StyledContent, { className: "heart-rate-cal", onSubmit: (e) => e.preventDefault(), "data-is-side": isSide },
5153
- React__default["default"].createElement(StyledRow$1, { "data-is-side": isSide },
5154
- React__default["default"].createElement(FormControl$1, null,
5155
- React__default["default"].createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => {
5156
- setGenderValue(v);
5157
- setHeartRate(60);
5158
- }, styles: (theme) => ({
5159
- root: !isSide && {
5160
- [theme.fn.largerThan('sm')]: {
5161
- width: 'calc((100% - 24px) * 2/3 + 12px)',
5162
- },
5163
- },
5164
- wrapper: {
5165
- [theme.fn.largerThan('sm')]: {
5166
- gap: core.rem(12),
5167
- },
5168
- },
5169
- }) }))),
5170
- React__default["default"].createElement(StyledRow$1, null,
5171
- React__default["default"].createElement(ThrForm, { info: info, locale: locale, errorMessage: inputErrorMessage, onChange: onFormChange })),
5172
- React__default["default"].createElement("div", { className: "slider-heart-rate" },
5173
- React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: theme.theme.colors.gray600 }, t('targetHeartRate.heartRateInput')),
5174
- React__default["default"].createElement("div", { className: "slider-outer-wrapper" },
5175
- React__default["default"].createElement(index$f.Slider, { containerStyle: {
5176
- flex: 1,
5177
- }, min: genderValue === 'male' ? range.rangeMale : range.rangeFemale, max: 200, step: 1, value: heartRate, withControl: true, onChange: setHeartRate }))),
5178
- isAdult && (React__default["default"].createElement(FormControl$1, null,
5179
- React__default["default"].createElement(StyledActive, null,
5180
- React__default["default"].createElement(index$2.Text, { size: "s4", style: {
5181
- display: 'inline-block',
5182
- fontWeight: 'bold',
5183
- color: theme.theme.colors.gray600,
5184
- marginBottom: '9px',
5185
- } }, t('targetHeartRate.selectActive')),
5186
- React__default["default"].createElement("div", { className: "card" },
5187
- React__default["default"].createElement(RadioImageGroupForTool, { options: activeValueNote.map((option) => ({
5188
- value: option.value,
5189
- label: option.label,
5190
- image: option.image,
5191
- imageActive: option.imageActive,
5192
- })), value: activeValue, onChange: (v) => {
5193
- setActiveValue(v);
5194
- }, className: "gender-selector" })),
5195
- activeValue && (React__default["default"].createElement("div", { className: "note" },
5196
- React__default["default"].createElement("img", { style: {
5197
- height: '16px',
5198
- width: '16px',
5199
- }, src: index$5.CommonGAssets.getAssetPath(`/infoIcon.svg`), alt: "", loading: "lazy" }),
5200
- 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))),
5201
- !activeValue && (React__default["default"].createElement("span", { style: { color: '#e64728' } }, inputErrorMessage.intensity)))))),
5202
- React__default["default"].createElement("div", { style: { display: 'flex' } },
5203
- React__default["default"].createElement(StyledButton$1, { size: "lg", onClick: () => {
5204
- onSubmit(genderValue, activeValue, [heartRate]);
5205
- }, dataEventCategory: "Health Tool", dataEventAction: "THR", dataEventLabel: `https://${index$b.domainLocales[locale]}/${linkTool}` }, t('bmi.submit'))))));
5206
- };
5207
-
5208
- const StyledButton = styled__default["default"](index$3.Button) `
5209
- margin: 0 auto 24px;
5210
- ${utils.MediaQueries.mbUp} {
5211
- max-width: 200px;
5212
- margin: 24px auto;
5213
- }
5214
- `;
5215
- const StyledContainer = styled__default["default"].div ``;
5216
- const FormControl = styled__default["default"].div `
5217
- margin-bottom: 1rem;
5218
- display: flex;
5219
- flex-direction: column;
5220
- gap: 16px;
5221
- input {
5222
- font-size: 12px;
5223
- ::placeholder {
5224
- color: #8c8c8c;
5225
- opacity: 1;
5226
- }
5227
- }
5228
- .gender-option {
5229
- gap: 16px;
5230
- > div {
5231
- width: calc(50% - 8px);
5232
- }
5233
- }
5234
- .input-label {
5235
- label {
5236
- display: inline-block;
5237
- margin-bottom: 9px;
5238
- color: #595959;
5239
- font-weight: bold;
5240
- font-size: 12px;
5241
- }
5242
- }
5243
- `;
5244
- const StyledRow = styled__default["default"].div `
5245
- ${utils.MediaQueries.mbUp} {
5246
- display: flex;
5247
- width: 100%;
5248
- align-items: flex-start;
5249
- justify-content: space-between;
5250
- gap: 12px;
5251
- > div {
5252
- width: 100%;
5253
- }
5254
- &[data-is-side='true'] {
5255
- ${utils.MediaQueries.mbUp} {
5256
- display: flex;
5257
- flex-direction: column;
5258
- gap: 0px;
5259
- }
5260
- }
5261
- }
5262
- ${utils.MediaQueries.mbDown} {
5263
- display: flex;
5264
- flex-direction: column;
5265
- gap: 0px;
5266
- }
5267
- `;
5268
-
5269
- const BmrInputForm = ({ info, className, style, onChange, errorMessage = {}, locale, onClick, isSide, }) => {
5270
- const { t } = useTranslations.useTranslations();
5271
- const [isEdit, setIsEdit] = React.useState({
5272
- age: false,
5273
- height: false,
5274
- weight: false,
5275
- });
5276
- const { getHealthToolLink } = useHealthToolCache.useHealthToolsCache(locale);
5277
- const linkTool = React.useMemo(() => getHealthToolLink(utils$1.HEALTH_TOOL_TYPE.OVULATION), [getHealthToolLink]);
5278
- const [genderValue, setGenderValue] = React.useState('male');
5279
- const checkValidInputIsANumber = (s, cb) => {
5280
- if (s === '' || (!isNaN(s) && !isNaN(parseFloat(s)))) {
5281
- cb(s);
5282
- }
5283
- };
5284
- const checkValidInputIsAnInterger = (s, cb) => {
5285
- if (s === '' ||
5286
- (!isNaN(s) && !isNaN(parseFloat(s)) && !s.includes('.'))) {
5287
- cb(s);
5288
- }
5289
- };
5290
- const onAgeChanged = (age) => {
5291
- checkValidInputIsAnInterger(age, (a) => {
5292
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { age: true })));
5293
- const newInfo = Object.assign(Object.assign({}, info), { age: a });
5294
- // setInfo(newInfo)
5295
- onChange && onChange(newInfo);
5296
- });
5297
- };
5298
- const onHeightChanged = (height) => {
5299
- checkValidInputIsANumber(height, (h) => {
5300
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { height: true })));
5301
- const newInfo = Object.assign(Object.assign({}, info), { height: h });
5302
- // setInfo(newInfo)
5303
- onChange && onChange(newInfo);
5304
- });
5305
- };
5306
- const onWeightChanged = (weight) => {
5307
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { weight: true })));
5308
- checkValidInputIsANumber(weight, (w) => {
5309
- const newInfo = Object.assign(Object.assign({}, info), { weight: w });
5310
- // setInfo(newInfo)
5311
- onChange && onChange(newInfo);
5312
- });
5313
- };
5314
- React.useEffect(() => {
5315
- onChange &&
5316
- onChange(Object.assign(Object.assign({}, info), { objective: 'lose-fat', activeLevel: 'sedentary' }));
5317
- }, []);
5318
- React.useEffect(() => {
5319
- setIsEdit({
5320
- age: false,
5321
- height: false,
5322
- weight: false,
5323
- });
5324
- }, [errorMessage]);
5325
- return (React__default["default"].createElement(StyledContainer, { style: style, className: className },
5326
- React__default["default"].createElement(FormControl, { "data-is-side": isSide },
5327
- React__default["default"].createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => setGenderValue(v), styles: (theme) => ({
5328
- root: !isSide && {
5329
- [theme.fn.largerThan('sm')]: {
5330
- width: 'calc((100% - 24px) * 2/3 + 12px)',
5331
- },
5332
- },
5333
- wrapper: {
5334
- [theme.fn.largerThan('sm')]: {
5335
- gap: core.rem(12),
5336
- },
5337
- },
5338
- }) })),
5339
- React__default["default"].createElement(StyledRow, { "data-is-side": isSide },
5340
- React__default["default"].createElement(FormControl, null,
5341
- 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 },
5342
- t('bmi.ageInput'),
5343
- ' ',
5344
- 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 })),
5345
- React__default["default"].createElement(FormControl, null,
5346
- 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 },
5347
- t('bmi.heightInput'),
5348
- ' ',
5349
- 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 })),
5350
- React__default["default"].createElement(FormControl, null,
5351
- 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 },
5352
- t('bmi.weightInput'),
5353
- ' ',
5354
- 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 }))),
5355
- React__default["default"].createElement("div", { style: { display: 'flex' } },
5356
- 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: () => {
5357
- onClick(genderValue);
5358
- } }, t('bmi.submit')))));
4445
+ React__default["default"].createElement(HealthToolCardWrapper.Body, null,
4446
+ React__default["default"].createElement(ThrForm, { onSubmit: onSubmit, formLayout: formLayout }))));
5359
4447
  };
5360
4448
 
5361
- const BMRCardEmbed = ({ isSide, locale, bmrContent, isMobile, info, inputErrorMessage, onFormChange, onSubmit, }) => {
4449
+ const BMRCardEmbed = ({ bmrContent, isMobile, onSubmit, formLayout, bmiGenerated, bmiUnit, }) => {
5362
4450
  var _a, _b, _c;
5363
4451
  const { t } = useTranslations.useTranslations();
5364
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide },
5365
- 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) ||
5366
- 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: {
5367
4455
  link: (_a = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
5368
4456
  reviewer: (_b = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer,
5369
4457
  date: (_c = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
5370
4458
  }, isMobile: isMobile }),
5371
- React__default["default"].createElement(index$g.Container, null,
5372
- React__default["default"].createElement(StyledContent, { onSubmit: (e) => e.preventDefault(), "data-is-side": isSide },
5373
- React__default["default"].createElement(StyledInputForm, null,
5374
- 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
+ } }))));
5375
4463
  };
5376
4464
 
5377
4465
  const OvulationForm = ({ locale, onSubmit, isSide, siteType }) => {
@@ -5392,7 +4480,7 @@ const OvulationForm = ({ locale, onSubmit, isSide, siteType }) => {
5392
4480
  return '';
5393
4481
  }, []);
5394
4482
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
5395
- 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) => {
5396
4484
  setLastPeriodDate(date);
5397
4485
  }, placeholder: "dd/mm/yyyy", pickedDate: lastPeriodDate, displayDateFormat: 'dd/MM/yyyy', disabledDays: {
5398
4486
  before: dateFns.addDays(new Date(), -45),
@@ -5400,28 +4488,28 @@ const OvulationForm = ({ locale, onSubmit, isSide, siteType }) => {
5400
4488
  }, customInput: (props) => {
5401
4489
  return (React__default["default"].createElement(index$9.Input, Object.assign({ className: "due-date-input", name: "birthday", size: "md" }, props, { value: lastPeriodDate &&
5402
4490
  dayjs__default["default"](lastPeriodDate).format(utils$1.DUE_DATE_FORMAT) })));
5403
- } }), 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) => {
5404
4492
  setLastPeriodDate(date);
5405
4493
  }, disabledDays: {
5406
4494
  before: dateFns.addDays(new Date(), -45),
5407
4495
  after: new Date(),
5408
4496
  }, placeholder: "Ch\u1ECDn ng\u00E0y" }) }))),
5409
4497
  React__default["default"].createElement("div", { className: "slider-ovulation day-slider", "data-theme": siteType === 'marryBaby' ? 'marryBaby' : '', "data-is-side": isSide },
5410
- 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" },
5411
4499
  t('ovulationPage.cycleLength') + ' ',
5412
4500
  React__default["default"].createElement("span", { style: { minHeight: '36px' } }, t('ovulationPage.dayUnit')))),
5413
4501
  React__default["default"].createElement("div", { className: "slider-outer-wrapper" },
5414
4502
  siteType === 'marryBaby' && (React__default["default"].createElement(index$2.Text, { size: "s3", weight: "semiBold", color: theme.theme.colors.gray600 }, cycleValue)),
5415
- React__default["default"].createElement(index$f.Slider, { containerStyle: {
4503
+ React__default["default"].createElement(index$g.Slider, { containerStyle: {
5416
4504
  flex: 1,
5417
4505
  }, min: 21, max: 45, step: 1, value: cycleValue, onChange: setCycleValue, labelAlwaysOn: siteType !== 'marryBaby', withControl: siteType !== 'marryBaby', label: siteType !== 'marryBaby' ? undefined : null }))),
5418
4506
  React__default["default"].createElement("div", { className: "slider-ovulation day-slider", "data-theme": siteType === 'marryBaby' ? 'marryBaby' : '', "data-is-side": isSide },
5419
- 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" },
5420
4508
  t('ovulationPage.periodDuration') + ' ',
5421
4509
  React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", color: "#595959", style: { display: 'inline', minHeight: '36px' } }, t('ovulationPage.dayUnit')))),
5422
4510
  React__default["default"].createElement("div", { className: "slider-outer-wrapper" },
5423
4511
  siteType === 'marryBaby' && (React__default["default"].createElement(index$2.Text, { size: "s3", weight: "semiBold", color: theme.theme.colors.gray600 }, periodDurationValue)),
5424
- React__default["default"].createElement(index$f.Slider, { containerStyle: {
4512
+ React__default["default"].createElement(index$g.Slider, { containerStyle: {
5425
4513
  flex: 1,
5426
4514
  }, min: 1, max: 15, step: 1, value: periodDurationValue, onChange: setPeriodDurationValue, labelAlwaysOn: siteType !== 'marryBaby', withControl: siteType !== 'marryBaby', label: siteType !== 'marryBaby' ? undefined : null }))),
5427
4515
  React__default["default"].createElement("div", { style: {
@@ -5486,9 +4574,9 @@ const OvulationCalculator = ({ locale, onSubmitOvulation, isSide, siteType, }) =
5486
4574
  const OvulationCardEmbed = ({ onSubmitOvulation, locale, ovulationPageInfo, expertUrl, isSide = false, siteType, isMobile, }) => {
5487
4575
  var _a;
5488
4576
  const { t } = useTranslations.useTranslations();
5489
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
5490
- 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) ||
5491
- 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: {
5492
4580
  link: expertUrl,
5493
4581
  reviewer: (_a = ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.reviewed_by) === null || _a === void 0 ? void 0 : _a.display_name,
5494
4582
  date: ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.reviewed_date,
@@ -5549,11 +4637,11 @@ const PWGInputForm = ({ siteType, info, onChange, errorMessage = {}, }) => {
5549
4637
  }, [errorMessage]);
5550
4638
  return siteType === 'marryBaby' ? (React__default["default"].createElement(React__default["default"].Fragment, null,
5551
4639
  React__default["default"].createElement("div", { className: "input-form-pwg input-section" },
5552
- 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 }) })),
5553
4641
  React__default["default"].createElement("div", { className: "input-form-pwg input-section" },
5554
- 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 }) })),
5555
4643
  React__default["default"].createElement("div", { className: "input-form-pwg input-section" },
5556
- 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,
5557
4645
  React__default["default"].createElement("div", { className: "input-form-pwg" },
5558
4646
  React__default["default"].createElement(index_styles.PureInput, { placeholder: t('pwg.placeholder.height'), className: "input-section", label: React__default["default"].createElement("span", { style: {
5559
4647
  color: theme.theme.colors.gray600,
@@ -5604,14 +4692,14 @@ const PWGCardEmbed = ({ locale, onClick, inputErrorMessage, pwgContent, onFormCh
5604
4692
  })), []);
5605
4693
  const { getHealthToolLink } = useHealthToolCache.useHealthToolsCache(locale);
5606
4694
  const linkTool = React.useMemo(() => getHealthToolLink(utils$1.HEALTH_TOOL_TYPE.PWG), [getHealthToolLink]);
5607
- return (React__default["default"].createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
5608
- 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) ||
5609
- index$5.CommonGAssets.getAssetPath('health-tools/pwg-icon.svg'), loading: "lazy" }), heading: t('pregnancyWeightGain.heading'), medicalReview: {
5610
- 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),
5611
4699
  reviewer: (_a = pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedBy) === null || _a === void 0 ? void 0 : _a.display_name,
5612
4700
  date: pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedDate,
5613
4701
  }, isMobile: isMobile, isSide: isSide }),
5614
- React__default["default"].createElement(index$g.Container, null,
4702
+ React__default["default"].createElement(index$j.Container, null,
5615
4703
  React__default["default"].createElement(StyledContent, { onSubmit: (e) => e.preventDefault(), className: "pwg-view-mobile", "data-is-side": isSide },
5616
4704
  siteType !== 'marryBaby' && (React__default["default"].createElement(StyledTwins, { className: "hide-asking-mobile", "data-is-side": isSide },
5617
4705
  React__default["default"].createElement(index$2.Text, { size: "s4", weight: "semiBold", style: {
@@ -5948,11 +5036,11 @@ range, setRange, onChange, goToPreviousMonth, goToNextMonth, minDate, maxDate, c
5948
5036
  }
5949
5037
  return (React__default["default"].createElement(StyledCalendarWrapper$1, { className: "calendar-wrapper" },
5950
5038
  React__default["default"].createElement(StyledCalendarHead, null,
5951
- 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" }) }),
5952
5040
  React__default["default"].createElement("div", { className: "calendar-month" },
5953
5041
  monthLabel,
5954
5042
  React__default["default"].createElement("strong", null, dateFns.format(date, 'yyyy'))),
5955
- 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" }) })),
5956
5044
  React__default["default"].createElement(StyledCalendarCellsWrapper, null,
5957
5045
  React__default["default"].createElement("div", null, renderWeekDays()),
5958
5046
  React__default["default"].createElement("div", null, renderMonth()))));
@@ -6028,7 +5116,7 @@ function DateRangePicker({ inputSize = 'md', name = 'date-range-picker', value,
6028
5116
  }
6029
5117
  return (React__default["default"].createElement(StyledWrapper, { className: [className, opened && 'focused'].filter(Boolean).join(' '), ref: ref },
6030
5118
  React__default["default"].createElement("label", { htmlFor: name },
6031
- 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) })),
6032
5120
  opened ? (React__default["default"].createElement(StyledCalendarWrapper, { onMouseDown: (e) => {
6033
5121
  e.stopPropagation();
6034
5122
  } }, renderCalendar())) : null));
@@ -6129,7 +5217,7 @@ const ShareContainer = ({ url, onCopied, locale, siteType, }) => {
6129
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 }))));
6130
5218
  };
6131
5219
 
6132
- const StyledShareDrawer = styled__default["default"](index$i.Drawer) `
5220
+ const StyledShareDrawer = styled__default["default"](index$d.Drawer) `
6133
5221
  padding-bottom: 24px;
6134
5222
  .share-container {
6135
5223
  display: flex;
@@ -6294,7 +5382,7 @@ const StyledAdHeader = styled__default["default"].div `
6294
5382
  `;
6295
5383
  const StyledCloseBtn = styled__default["default"].div `
6296
5384
  background-color: white;
6297
- background-image: url(${index$5.CommonGAssets.getAssetPath('close-blue.svg')});
5385
+ background-image: url(${index$6.CommonGAssets.getAssetPath('close-blue.svg')});
6298
5386
  background-repeat: no-repeat;
6299
5387
  background-size: 10px;
6300
5388
  background-position: center;
@@ -6364,7 +5452,7 @@ const DEFAULT_30S_AD_POS = [
6364
5452
  const ForwaredAdBlock = React.forwardRef(function InfinityAdBlock({ className, adUnitPath, size, divId, pos, sizeMapping, contentId, isHidden, hideIfHasSubot, isSticky, refreshInterval, // seconds
6365
5453
  customTargetings, style, adDefaultSize, noWrapper, showCloseBtn, onCloseAd, headerBottom, wrapperProps, locale, isMarryBaby, }, ref) {
6366
5454
  const defaultRefreshInterval = refreshInterval ||
6367
- (locale === index$j.LOCALE.Vietnam
5455
+ (locale === index$k.LOCALE.Vietnam
6368
5456
  ? pos.some((p) => DEFAULT_30S_AD_POS.includes(p))
6369
5457
  ? 30
6370
5458
  : undefined
@@ -6453,8 +5541,8 @@ customTargetings, style, adDefaultSize, noWrapper, showCloseBtn, onCloseAd, head
6453
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,
6454
5542
  React__default["default"].createElement(StyledAdHeader, { "data-header-bottom": !!headerBottom },
6455
5543
  React__default["default"].createElement("img", { src: isMarryBaby
6456
- ? index$5.CommonGAssets.getAssetPath('adsIcon-mb.svg')
6457
- : 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" }),
6458
5546
  React__default["default"].createElement("span", null, t('adBanner.title'))),
6459
5547
  React__default["default"].createElement("div", { style: {
6460
5548
  minWidth: minWidth || '100%',
@@ -6521,21 +5609,21 @@ const PREFER_TOPICS = [
6521
5609
  {
6522
5610
  title: 'Health News & Current Affairs',
6523
5611
  description: 'Covering the latest happenings in the health field, including medical breakthroughs, policies, and disease outbreaks',
6524
- icon: index$5.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-health.svg'),
5612
+ icon: index$6.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-health.svg'),
6525
5613
  checked: false,
6526
5614
  id: 1,
6527
5615
  },
6528
5616
  {
6529
5617
  title: 'Educational Medical Hello Bacsi Content',
6530
5618
  description: 'Covering the latest happenings in the health field, including medical breakthroughs, policies, and disease outbreaks',
6531
- icon: index$5.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-education.svg'),
5619
+ icon: index$6.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-education.svg'),
6532
5620
  checked: false,
6533
5621
  id: 2,
6534
5622
  },
6535
5623
  {
6536
5624
  title: 'Hello Health Community Feed',
6537
5625
  description: 'Covering the latest happenings in the health field, including medical breakthroughs, policies, and disease outbreaks',
6538
- icon: index$5.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-community.svg'),
5626
+ icon: index$6.CommonGAssets.getAssetPath('newsletter-prefer/newsletter-community.svg'),
6539
5627
  checked: false,
6540
5628
  id: 3,
6541
5629
  },
@@ -6567,7 +5655,7 @@ const HEALTH_TOOL_TYPE = {
6567
5655
  BABY_POOP: HEALTH_TOOL_NAME.BABY_POOP,
6568
5656
  };
6569
5657
  const HEALTH_TOOL_DEFAULT_IMG = {
6570
- [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'),
6571
5659
  };
6572
5660
 
6573
5661
  var BannerCategory;
@@ -6608,8 +5696,8 @@ const FLOW = (t, currentUrl) => ({
6608
5696
  description: t('pnBanner.pregnancy.desc'),
6609
5697
  styleType: OptionBannerStyleType.Button,
6610
5698
  thumbnail: {
6611
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-pregnancy-desktop.png`),
6612
- 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`),
6613
5701
  },
6614
5702
  buttonProps: {
6615
5703
  variant: 'white',
@@ -6659,8 +5747,8 @@ const FLOW = (t, currentUrl) => ({
6659
5747
  heading: t('pnBanner.parenting.heading'),
6660
5748
  description: t('pnBanner.parenting.desc'),
6661
5749
  thumbnail: {
6662
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
6663
- 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`),
6664
5752
  },
6665
5753
  hideDescOnMobile: true,
6666
5754
  styleType: OptionBannerStyleType.Checkbox,
@@ -6694,8 +5782,8 @@ const FLOW = (t, currentUrl) => ({
6694
5782
  heading: t('pnBanner.teenager.heading'),
6695
5783
  description: t('pnBanner.parenting.desc'),
6696
5784
  thumbnail: {
6697
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
6698
- 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`),
6699
5787
  },
6700
5788
  buttonProps: {
6701
5789
  variant: 'white',
@@ -6739,8 +5827,8 @@ const FLOW = (t, currentUrl) => ({
6739
5827
  heading: t('pnBanner.both.heading'),
6740
5828
  description: t('pnBanner.both.desc'),
6741
5829
  thumbnail: {
6742
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
6743
- 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`),
6744
5832
  },
6745
5833
  hideDescOnMobile: true,
6746
5834
  buttonProps: {
@@ -6787,8 +5875,8 @@ const FLOW = (t, currentUrl) => ({
6787
5875
  heading: t('pnBanner.both.heading'),
6788
5876
  description: t('pnBanner.both.desc'),
6789
5877
  thumbnail: {
6790
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-parenting-desktop.png`),
6791
- 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`),
6792
5880
  },
6793
5881
  hideDescOnMobile: true,
6794
5882
  buttonProps: {
@@ -6846,8 +5934,8 @@ const TOOL_BANNERS_PROPS = (t) => ({
6846
5934
  heading: t('pnBanner.hpv.heading'),
6847
5935
  description: t('pnBanner.hpv.desc'),
6848
5936
  thumbnail: {
6849
- desktop: index$5.CommonGAssets.getAssetPath(`newsletter/banner-option-hpv-desktop.png`),
6850
- 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`),
6851
5939
  },
6852
5940
  isRiskScreener: true,
6853
5941
  btnLabel: t('pnBanner.checkNow'),
@@ -6879,8 +5967,8 @@ const PnBannerEle = (_a) => {
6879
5967
  cursor: 'pointer',
6880
5968
  }, onClick: bannerClick, "data-event-category": "Newsletter", "data-event-action": "Banner Click", "data-event-label": currentUrl, className: "pointer-event-child-none" }, rest),
6881
5969
  React__default["default"].createElement(index$3.ImageWrap, { src: isMarketing
6882
- ? index$5.CommonGAssets.getAssetPath(`newsletter/${isMobile ? 'Mobile' : 'Desktop'}_Marketing.png`)
6883
- : 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" })));
6884
5972
  };
6885
5973
 
6886
5974
  const PATHS$1 = {
@@ -6947,7 +6035,7 @@ const BannerLayout = ({ heading, description, thumbnail = {
6947
6035
  maxWidth: '70%',
6948
6036
  },
6949
6037
  }) },
6950
- heading && React__default["default"].createElement(index$6.Heading, { tag: "h4" }, heading),
6038
+ heading && React__default["default"].createElement(index$5.Heading, { tag: "h4" }, heading),
6951
6039
  !(hideDescOnMobile && isMobile) && description && (React__default["default"].createElement(index$2.Text, { size: "p4" }, description))),
6952
6040
  React__default["default"].createElement(core.Box, null, children)))));
6953
6041
  };
@@ -7061,7 +6149,7 @@ const ToolBanner = (props) => {
7061
6149
  }) },
7062
6150
  React__default["default"].createElement(core.Stack, { spacing: core.rem(12) },
7063
6151
  React__default["default"].createElement(core.Stack, { spacing: core.rem(4) },
7064
- heading && React__default["default"].createElement(index$6.Heading, { tag: "h4" }, heading),
6152
+ heading && React__default["default"].createElement(index$5.Heading, { tag: "h4" }, heading),
7065
6153
  !(isMobile && hideDescOnMobile) && description && (React__default["default"].createElement(index$2.Text, { size: "p4" }, description))),
7066
6154
  React__default["default"].createElement(core.Flex, { gap: core.rem(8), sx: {
7067
6155
  button: {
@@ -7100,7 +6188,7 @@ const HandlerBanner = () => {
7100
6188
  };
7101
6189
 
7102
6190
  const SideBannerModal = (_a) => {
7103
- 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 = {
7104
6192
  width: 937,
7105
6193
  height: 536,
7106
6194
  }, mobileBannerRatio = {
@@ -7300,7 +6388,7 @@ const Layout = (_a) => {
7300
6388
  var { heading, children, stickyActions } = _a, scrollAreaProps = tslib_es6.__rest(_a, ["heading", "children", "stickyActions"]);
7301
6389
  const { isMobile } = React.useContext(PremiumNewsletterModalContext);
7302
6390
  const content = (React__default["default"].createElement(core.Stack, { spacing: core.rem(24), sx: { height: '100%' } },
7303
- React__default["default"].createElement(index$6.Heading, { tag: "h4", style: {
6391
+ React__default["default"].createElement(index$5.Heading, { tag: "h4", style: {
7304
6392
  textAlign: 'center',
7305
6393
  } }, heading),
7306
6394
  React__default["default"].createElement(core.Box, null, children)));
@@ -7847,15 +6935,15 @@ const Result = () => {
7847
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" }),
7848
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" }))),
7849
6937
  React__default["default"].createElement(index$2.Text, { size: "p3" }, disclaimerText || t('pnModal.disclaimer'))),
7850
- 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')),
7851
6939
  selectCategory.length > 0 && (React__default["default"].createElement(TopicSection, { topicsGroup: [{ label: '', topics: selectCategory }], selectedTopics: selectCategory, readonly: true })))));
7852
6940
  };
7853
6941
 
7854
6942
  const PremiumNewsletterModal = ({ isMobile, isLoggedIn, pnSuggestCategory = [], acquisitionInfo, currentUrl, opened, close, finishLabelOnResult, onRegisterSuccess, disclaimerText, }) => {
7855
6943
  const { t, locale } = useTranslations.useTranslations();
7856
6944
  const { action: { pushNotifications }, } = React.useContext(utils$1.TogetherComponentGlobalContext);
7857
- const desktopBanner = index$5.CommonGAssets.getAssetPath('premiumNewsletter/side-banner-desktop.jpg');
7858
- 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');
7859
6947
  const [categoryLibs, setCategoryLibs] = React.useState([]);
7860
6948
  const [selectCategory, setSelectCategory] = React.useState([]);
7861
6949
  const [activeStep, setActiveStep] = React.useState(0);
@@ -7881,7 +6969,7 @@ const PremiumNewsletterModal = ({ isMobile, isLoggedIn, pnSuggestCategory = [],
7881
6969
  ga_client_id: Cookies__default["default"].get(index$b.GA_TOKEN_COOKIE),
7882
6970
  client_ip: window.clientIP || '',
7883
6971
  user_info: Object.assign(Object.assign({}, acquisitionInfo.userInfo), { name: name || formValues.name, type_subscription: 1 }),
7884
- domain: index$b.domainLocales[locale || index$j.LOCALE.Vietnam],
6972
+ domain: index$b.domainLocales[locale || index$k.LOCALE.Vietnam],
7885
6973
  category: selectCategory,
7886
6974
  perferred: acquisitionInfo.preferredTopics.map(({ id }) => ({
7887
6975
  id,
@@ -7957,7 +7045,7 @@ const PremiumNewsletterModal = ({ isMobile, isLoggedIn, pnSuggestCategory = [],
7957
7045
  finishLabelOnResult,
7958
7046
  disclaimerText,
7959
7047
  } },
7960
- 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: {
7961
7049
  width: 960,
7962
7050
  height: 588,
7963
7051
  }, desktopBannerRatio: {
@@ -8200,8 +7288,8 @@ function NavHeader({ userInfo, onClickMyProfileButton, themeName = 'helloSites',
8200
7288
  React__default["default"].createElement("div", { className: styles$4.navHeaderUserInfos },
8201
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)),
8202
7290
  React__default["default"].createElement("div", { className: styles$4.navHeaderMyProfileButton, style: {
8203
- '--bg-hellosites': `url(${index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-chevronRight.svg')})`,
8204
- '--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')})`,
8205
7293
  } }, t('userProfile.nav.header.viewProfile')))));
8206
7294
  }
8207
7295
 
@@ -8215,17 +7303,17 @@ const iconBgColorMap = {
8215
7303
  // type CardIconUrlMap = IconUrlMap<UserProfileMenuCard>
8216
7304
  const cardIconUrlMap = {
8217
7305
  helloSites: {
8218
- myBooking: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myBooking.svg'),
8219
- myCommunity: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myCommunity.svg'),
8220
- myFamily: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myFamily.svg'),
8221
- myHealth: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-myHealth.svg'),
8222
- mySaved: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-mySaved.svg'),
8223
- 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'),
8224
7312
  },
8225
7313
  marryBaby: {
8226
- mySaved: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-mySaved.svg'),
8227
- myCommunity: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-myCommunity.svg'),
8228
- 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'),
8229
7317
  },
8230
7318
  };
8231
7319
  const NavigationCard = ({ type, themeName, className, onClick = () => undefined, }) => {
@@ -8254,7 +7342,7 @@ const NavigationCard = ({ type, themeName, className, onClick = () => undefined,
8254
7342
  const navMenuItemsHelloSites = () => [
8255
7343
  {
8256
7344
  key: 'userProfile.nav.menu.accountSettings',
8257
- icon: index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-settingsWheel.svg'),
7345
+ icon: index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-settingsWheel.svg'),
8258
7346
  subMenu: [
8259
7347
  // {
8260
7348
  // key: 'common.profileNavigator.newsletterSubscription',
@@ -8284,19 +7372,19 @@ const navMenuItemsHelloSites = () => [
8284
7372
  },
8285
7373
  {
8286
7374
  key: 'userProfile.nav.menu.help',
8287
- icon: index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-helpCircle.svg'),
7375
+ icon: index$6.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-helpCircle.svg'),
8288
7376
  link: 'help',
8289
7377
  },
8290
7378
  ];
8291
7379
  const navMenuItemsMarryBaby = () => [
8292
7380
  {
8293
7381
  key: 'userProfile.nav.menu.password',
8294
- icon: index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-lock.svg'),
7382
+ icon: index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-lock.svg'),
8295
7383
  link: 'password',
8296
7384
  },
8297
7385
  {
8298
7386
  key: 'userProfile.nav.menu.logout',
8299
- icon: index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-logOut.svg'),
7387
+ icon: index$6.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-logOut.svg'),
8300
7388
  link: 'logout',
8301
7389
  },
8302
7390
  ];
@@ -8334,7 +7422,7 @@ const NavMenuItem = ({ item, openKey, onClickItem, locale, }) => {
8334
7422
  item.icon && (React__default["default"].createElement("div", { className: styles$2.navMenuItemIcon, style: { backgroundImage: `url("${item.icon}")` } })),
8335
7423
  t(item.key),
8336
7424
  item.subMenu && (React__default["default"].createElement("div", { className: styles$2.navMenuItemDropdown, style: {
8337
- '--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')})`,
8338
7426
  } }))),
8339
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 })))))));
8340
7428
  };
@@ -8345,18 +7433,18 @@ var styles = {"userStats":"_4y-O0w3","wrapper":"kO8iNgD","header":"a1d4E10","hea
8345
7433
 
8346
7434
  const rankIconUrlMap = {
8347
7435
  helloSites: {
8348
- member: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-member.svg'),
8349
- ambassador: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-ambassador.svg'),
8350
- doctor: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-doctor.svg'),
8351
- expert: () => index$5.CommonGAssets.getAssetPath('userProfileNav/helloSites/icon-rank-expert.svg'),
8352
- 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'),
8353
7441
  },
8354
7442
  marryBaby: {
8355
- member: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-member.svg'),
8356
- ambassador: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-ambassador.svg'),
8357
- doctor: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-doctor.svg'),
8358
- expert: () => index$5.CommonGAssets.getAssetPath('userProfileNav/marryBaby/icon-rank-expert.svg'),
8359
- 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'),
8360
7448
  },
8361
7449
  };
8362
7450
  const UserStats = ({ themeName, rank = 'member', numberOfPosts = 0, }) => {
@@ -8437,7 +7525,7 @@ const UserProfileNavigation = ({ SSO_URL, UP_BASEPATH = 'user', themeName = 'hel
8437
7525
  if (themeName === 'marryBaby') {
8438
7526
  return null;
8439
7527
  }
8440
- 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')));
8441
7529
  }, [themeName]);
8442
7530
  const push = (link) => {
8443
7531
  if (link.startsWith('http') || link.startsWith('/')) {
@@ -8501,6 +7589,7 @@ exports.BMRCardEmbed = BMRCardEmbed;
8501
7589
  exports.BabyGrowthCardEmbed = BabyGrowthCardEmbed;
8502
7590
  exports.BabyPoopEmbed = BabyPoopEmbed;
8503
7591
  exports.Badge = Badge;
7592
+ exports.BmiForm = BmiForm;
8504
7593
  exports.BorderHeading = BorderHeading;
8505
7594
  exports.Breadcrumbs = Breadcrumbs;
8506
7595
  exports.CategoryCard = CategoryCard;
@@ -8513,7 +7602,6 @@ exports.DueDateCardEmbed = DueDateCardEmbed;
8513
7602
  exports.FileDropdown = FileDropdown;
8514
7603
  exports.FixedBottomAdBlock = FixedBottomAdBlock;
8515
7604
  exports.FloatButtonGroup = FloatButtonGroup;
8516
- exports.GenderOptionControl = GenderOptionControl;
8517
7605
  exports.Grid = Grid;
8518
7606
  exports.IconText = IconText;
8519
7607
  exports.MAPPING_CATEGORY_PREMIUM_API_TYPE = MAPPING_CATEGORY_PREMIUM_API_TYPE;
@@ -8540,6 +7628,7 @@ exports.SurveyThankyouCard = SurveyThankyouCard;
8540
7628
  exports.THRCardEmbed = THRCardEmbed;
8541
7629
  exports.Tabs = Tabs;
8542
7630
  exports.Tag = Tag;
7631
+ exports.ThrForm = ThrForm;
8543
7632
  exports.Toggle = Toggle;
8544
7633
  exports.ToolsBannerCard = ToolsBannerCard;
8545
7634
  exports.UserProfileNavigation = UserProfileNavigation;