@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,70 +1,69 @@
1
1
  import React__default, { useState, useEffect, useRef, useMemo, Fragment, memo, useCallback, useImperativeHandle, createContext, useContext, forwardRef } from 'react';
2
- import { T as Text } from './index-6e0f2380.js';
3
- import { b as StyledAvatar, c as StyledBadge$1, d as StyledBorderHeading, e as StyledDropdown, f as StyledDropdownName, g as StyledDropdownList, h as StyledDropdownOption, i as StyledIcon$1, j as StyledGrid, k as StyledPagination, l as StyledPageBlock, m as StyledPaginationBlock, n as StyledTag, o as StyledToggle, p as StyledToggleIcon, q as StyledToggleLabel, r as StyledCheckbox, s as StyledRateStars, u as useStyles$6, T as TextArea, P as PureInput } from './index.styles-6b051705.js';
4
- import { f as formatUrlWithPageParam, M as MediaQueries } from './utils-878fd685.js';
5
- import { I as ImageWrap, R as Radio$1, u as useScreenSize, A as Anchor, a as Avatar$1, b as AspectRatio, B as Button$1, c as Input$1, d as Checkbox$1, e as ChipButton, t as themeColors } from './index-866e1e59.js';
6
- import { T as Text$1 } from './index-ce5fd5ed.js';
7
- import { _ as __rest, a as __awaiter } from './tslib.es6-85c9ab93.js';
2
+ import { T as Text } from './index-84a52876.js';
3
+ import { b as StyledAvatar, c as StyledBadge$1, d as StyledBorderHeading, e as StyledDropdown, f as StyledDropdownName, g as StyledDropdownList, h as StyledDropdownOption, i as StyledIcon$1, j as StyledGrid, k as StyledPagination, l as StyledPageBlock, m as StyledPaginationBlock, n as StyledTag, o as StyledToggle, p as StyledToggleIcon, q as StyledToggleLabel, r as StyledCheckbox, s as StyledRateStars, T as TextArea, P as PureInput } from './index.styles-e1757115.js';
4
+ import { f as formatUrlWithPageParam, M as MediaQueries } from './utils-f7a8a1ca.js';
5
+ import { I as ImageWrap, R as Radio$1, u as useScreenSize, A as Anchor, a as Avatar$1, b as AspectRatio, t as themeColors, B as Button$1, c as Input$1, S as Select, d as Checkbox$1, e as ChipButton } from './index-68fab995.js';
6
+ import { T as Text$1 } from './index-5a0f027e.js';
7
+ import { _ as __rest, a as __awaiter } from './tslib.es6-64d6b81e.js';
8
8
  import { Bookmark, CalendarMB } from '@hhgtech/icons/other';
9
- import { C as CommonGAssets } from './index-5f675e1c.js';
10
- import { H as Heading } from './index-8448ca14.js';
11
- import { t as theme } from './theme-42c08fa1.js';
12
- import { Box, Radio as Radio$2, Flex, rem, Card, Group, createStyles, Stack, getStylesRef, useMantineTheme, Container as Container$1, AspectRatio as AspectRatio$1, ScrollArea, Chip, Badge as Badge$1, MultiSelect, Stepper } from '@mantine/core';
9
+ import { C as CommonGAssets } from './index-cbda4cc1.js';
10
+ import { H as Heading } from './index-de4b6341.js';
11
+ import { t as theme } from './theme-970b90f0.js';
12
+ import { Card, Group, Box, Flex, createStyles, Stack, getStylesRef, useMantineTheme, rem, Container as Container$1, AspectRatio as AspectRatio$1, ScrollArea, Chip, Badge as Badge$1, MultiSelect, Stepper } from '@mantine/core';
13
13
  import innertext from 'innertext';
14
14
  import '@mantine/dates';
15
- import { d as domainLocales, L as LOCALE_SPECS, F as FAVICONS, Q as QUERY_HEALTH_TOOL, R as RISK_SCREENER_NAME, a as RISK_SCREENER_SLUG, G as GA_TOKEN_COOKIE } from './index-1191e333.js';
16
- import { G as Gender, L as LOCALE } from './index-79a8b4ef.js';
17
- import './useMantineLocale-dbec4e01.js';
18
- import './translationsContext-abfd0776.js';
15
+ import { d as domainLocales, L as LOCALE_SPECS, F as FAVICONS, Q as QUERY_HEALTH_TOOL, R as RISK_SCREENER_NAME, a as RISK_SCREENER_SLUG, G as GA_TOKEN_COOKIE } from './index-7c16ac20.js';
16
+ import { L as LOCALE } from './index-56e460c6.js';
17
+ import './useMantineLocale-c9152268.js';
18
+ import './translationsContext-494ae681.js';
19
19
  import 'string-format';
20
20
  import { useViewportSize } from '@mantine/hooks';
21
- import { i as isInternalLink, d as getTogetherUserPostsApiPath } from './index-b06391df.js';
21
+ import { i as isInternalLink, d as getTogetherUserPostsApiPath } from './index-db047eda.js';
22
22
  import styled from '@emotion/styled';
23
23
  import throttle from 'lodash/throttle';
24
- import { L as Logo } from './index-122290a6.js';
25
- import { B as Button } from './index-293feeaa.js';
26
- import { I as Input } from './index-8272466a.js';
24
+ import { L as Logo } from './index-2761f711.js';
25
+ import { B as Button } from './index-c3d30585.js';
26
+ import { I as Input } from './index-8625e8d8.js';
27
27
  import { keyframes, css } from '@emotion/react';
28
28
  import parse from 'html-react-parser';
29
- import { i as isProduction } from './isProduction-0e6640c6.js';
30
- import { u as useTranslations } from './useTranslations-182b98b0.js';
29
+ import { i as isProduction } from './isProduction-434d302d.js';
30
+ import { u as useTranslations } from './useTranslations-cdea23ca.js';
31
31
  import { format, addDays, isBefore, startOfMonth, addMonths, subMonths, getDaysInMonth, isToday, isSameDay, isWithinInterval, isAfter, isPast } from 'date-fns';
32
32
  import dayjs from 'dayjs';
33
- import { D as DATE_FORMAT } from './types-7b4f784b.js';
34
- import { s as setDefaultClass, Z as Z_INDEX, b as DUE_DATE_FORMAT, H as HEALTH_TOOL_TYPE$1, d as callApiWithAuth, g as getApiPath, P as PATHS$2, T as TogetherComponentGlobalContext, e as getPremiumApiPath, f as getWebsiteUrlApi, h as getSsoApiPath } from './utils-6a097926.js';
35
- import { D as DatePicker } from './index-da78c403.js';
36
- import { M as MarryBabyText } from './index-7f868691.js';
37
- import { S as Slider } from './index-698ba1fc.js';
38
- import { D as Dropdown } from './index-aa06ff69.js';
39
- import { C as Container } from './index-219ed8dd.js';
40
- import { useForm, Controller } from 'react-hook-form';
41
- import { u as useHealthToolsCache } from './useHealthToolCache-b64f14d8.js';
42
- import { yupResolver } from '@hookform/resolvers/yup';
43
- import { D as DatePicker$1 } from './index-df0ff85e.js';
44
- import { B as BabyGrowthGender, D as Drawer } from './index-a83b3eb1.js';
45
- import { L as Label } from './constants-97ddb11b.js';
46
- import { f as formatUserProfileUrl } from './index-a94fad35.js';
47
- import './utils-d6c3851b.js';
48
- import './WhatsApp-9029e044.js';
49
- import './index.styled-34d5c912.js';
50
- import './index-1d94ce29.js';
51
- import { a as useOutsideClick } from './useOutsideClick-eb15471a.js';
33
+ import { S as StyledTextField, a as DateToInputValue, g as getDueDateConception, A as API_DATE_FORMAT, b as getDueDateIVF, c as getDueDateLastPeriod, d as DueDateCalculatorType, H as HealthToolFormWrapper, G as GenderOptionControl, B as BabyGrowthForm, D as Drawer } from './index-eb9b684f.js';
34
+ import { D as DATE_FORMAT } from './types-39d5f930.js';
35
+ import { s as setDefaultClass, Z as Z_INDEX, b as DUE_DATE_FORMAT, H as HEALTH_TOOL_TYPE$1, d as callApiWithAuth, g as getApiPath, P as PATHS$2, T as TogetherComponentGlobalContext, e as getPremiumApiPath, f as getWebsiteUrlApi, h as getSsoApiPath } from './utils-e93e4c81.js';
36
+ import { D as DatePicker } from './index-1b1be502.js';
37
+ import { M as MarryBabyText } from './index-489dd441.js';
38
+ import { S as Slider } from './index-e86bff41.js';
39
+ import { D as Dropdown } from './index-c82b58c7.js';
40
+ import { f as formatUserProfileUrl } from './index-1d8204a9.js';
41
+ import { useForm as useForm$1, isNotEmpty } from '@mantine/form';
42
+ import { u as useHealthToolsCache } from './useHealthToolCache-33752ed2.js';
43
+ import { D as DatePicker$1 } from './index-f06883d8.js';
44
+ import { Controller, useForm } from 'react-hook-form';
45
+ import './constants-ac51ae89.js';
46
+ import './utils-e621db45.js';
47
+ import { C as Container } from './index-0ed4c22b.js';
48
+ import './WhatsApp-4464ab6c.js';
49
+ import './index.styled-0bdbe990.js';
50
+ import './index-4599e5b0.js';
51
+ import { a as useOutsideClick } from './useOutsideClick-dc7a904e.js';
52
52
  import enUS from 'date-fns/locale/en-US';
53
53
  import id from 'date-fns/locale/id';
54
54
  import vi from 'date-fns/locale/vi';
55
55
  import zhTW from 'date-fns/locale/zh-TW';
56
- import { g as getSocialList } from './getSocialList-5feda209.js';
56
+ import { g as getSocialList } from './getSocialList-25eb0ec3.js';
57
57
  import { v4 } from 'uuid';
58
- import { g as getCurrentBaseUrl, a as getCurrentSsoUrl } from './routing-ce281ad0.js';
59
- import { useForm as useForm$1, isNotEmpty } from '@mantine/form';
60
- import { I as Icon } from './index-d7b8c2f4.js';
58
+ import { g as getCurrentBaseUrl, a as getCurrentSsoUrl } from './routing-0e8aa97d.js';
59
+ import { I as Icon } from './index-f7bf305d.js';
61
60
  import { Close, Plus } from '@hhgtech/icons/core';
62
- import { M as Modal } from './index-5caba3a3.js';
61
+ import { M as Modal } from './index-3aca5854.js';
63
62
  import Cookies from 'js-cookie';
64
63
  import flatten from 'lodash/flatten';
65
64
  import uniqBy from 'lodash/uniqBy';
66
- import { g as getCookie } from './cookieHelper-36dd27eb.js';
67
- import { n as normalizeLinkSlash, a as normalizeLink } from './normalizeLink-7581bee1.js';
65
+ import { g as getCookie } from './cookieHelper-3d07347b.js';
66
+ import { n as normalizeLinkSlash, a as normalizeLink } from './normalizeLink-3d1f20d1.js';
68
67
 
69
68
  var styles$7 = {"alert":"CHw-fZZ","content":"_03U6VRS","close":"EO828Vv"};
70
69
 
@@ -323,53 +322,6 @@ const RateStars = ({ gap = 2, size = 24, star, totalStars = 5, onSelect, hideEmp
323
322
  })));
324
323
  };
325
324
 
326
- const GenderOptionControl = (_a) => {
327
- var { label, availableValue: availableValueInit, styles, isBaby, genderValue = {
328
- male: 'male',
329
- female: 'female',
330
- } } = _a, radioGroupProps = __rest(_a, ["label", "availableValue", "styles", "isBaby", "genderValue"]);
331
- const { t } = useTranslations();
332
- const { classes, cx } = useStyles$6(undefined, {
333
- name: 'GenderOptionControl',
334
- styles,
335
- });
336
- const [availableValue, setAvailableValue] = useState();
337
- const ref = useRef(null);
338
- const genderOptions = useMemo(() => [
339
- {
340
- value: genderValue.male,
341
- label: isBaby ? t('gender.boy') : t('gender.male'),
342
- icon: CommonGAssets.getAssetPath(isBaby ? 'health-tools/boy-icon.svg' : 'health-tools/male-icon.svg'),
343
- },
344
- {
345
- value: genderValue.female,
346
- label: isBaby ? t('gender.girl') : t('gender.female'),
347
- icon: CommonGAssets.getAssetPath(isBaby
348
- ? 'health-tools/girl-icon.svg'
349
- : 'health-tools/female-icon.svg'),
350
- },
351
- ], []);
352
- useEffect(() => {
353
- setAvailableValue(availableValueInit);
354
- }, [availableValueInit]);
355
- return (React__default.createElement(Box, { ref: ref, className: classes.root },
356
- React__default.createElement(Radio$2.Group, Object.assign({ className: "radio-group", label: React__default.createElement(Text, { as: "label", size: "s4", weight: "semiBold" }, label ||
357
- (isBaby ? t('tools.selectBabyGender') : t('tools.selectGender'))), size: "lg" }, radioGroupProps, { classNames: {
358
- error: classes.groupErr,
359
- } }),
360
- React__default.createElement(Flex, { className: cx(classes.wrapper) }, genderOptions.map((i) => (React__default.createElement(Radio$2, Object.assign({ className: "gender-item", classNames: {
361
- root: classes.itemRoot,
362
- labelWrapper: classes.itemLabelWrapper,
363
- label: classes.itemLabel,
364
- inner: classes.itemInner,
365
- }, key: i.value, value: i.value }, (availableValue &&
366
- i.value !== availableValue && {
367
- disabled: true,
368
- }), { label: React__default.createElement(Flex, { gap: rem(8), align: 'center', justify: 'center', sx: { zIndex: 0 } },
369
- React__default.createElement("img", { src: i.icon, className: "gender-image", alt: "female", loading: "lazy" }),
370
- React__default.createElement(Text, { size: "p3" }, i.label)) }))))))));
371
- };
372
-
373
325
  var styles$6 = {"expertName":"PiqKaXk","anchor":"HgbW6-m","card":"_6lkfLYy","author":"j7c-onH","pointer":"wwI1--d"};
374
326
 
375
327
  const CardAuthor = ({ avatarImg, authorName, authorLink, uploadTime, size, }) => {
@@ -498,7 +450,7 @@ const _Horizontal = (_a) => {
498
450
 
499
451
  // MyComponent.styles.ts
500
452
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
501
- var useStyles$5 = createStyles((_theme, {}) => ({
453
+ var useStyles$6 = createStyles((_theme, {}) => ({
502
454
  // add all styles as usual
503
455
  root: {},
504
456
  image: {},
@@ -518,7 +470,7 @@ const _Vertical = (_a) => {
518
470
  // size = 'lg',
519
471
  classNames, styles, unstyled, className } = _a, rest = __rest(_a, ["article", "author", "authorAvatar", "badge", "bannerImageWrapProps", "hideDescription", "isBookmarked", "onBookmark", "time", "tracking", "classNames", "styles", "unstyled", "className"]);
520
472
  const { isMobile } = useScreenSize();
521
- const { classes, cx } = useStyles$5(
473
+ const { classes, cx } = useStyles$6(
522
474
  // First argument of useStyles is styles params
523
475
  {},
524
476
  // Second argument is responsible for styles api integration
@@ -1724,7 +1676,7 @@ const StyledTableBody = styled.tbody `
1724
1676
  }
1725
1677
  }
1726
1678
  `;
1727
- const Body = ({ children, className, style, isHoverable, isStriped, }) => {
1679
+ const Body$1 = ({ children, className, style, isHoverable, isStriped, }) => {
1728
1680
  return (React__default.createElement(StyledTableBody, { className: className, style: style, "data-is-striped": isStriped || undefined, "data-is-hoverable": isHoverable || undefined }, children));
1729
1681
  };
1730
1682
 
@@ -1734,10 +1686,10 @@ var index = /*#__PURE__*/Object.freeze({
1734
1686
  Cell: Cell,
1735
1687
  Head: Head,
1736
1688
  Row: Row,
1737
- Body: Body
1689
+ Body: Body$1
1738
1690
  });
1739
1691
 
1740
- var useStyles$4 = createStyles((theme) => {
1692
+ var useStyles$5 = createStyles((theme) => {
1741
1693
  const itemLabelRef = getStylesRef('itemLabel');
1742
1694
  return {
1743
1695
  root: {
@@ -1789,7 +1741,7 @@ var useStyles$4 = createStyles((theme) => {
1789
1741
  * @deprecated Consider to use mantine
1790
1742
  */
1791
1743
  const Tabs = ({ style, initialTab, tabContent, onChange, className, dataEventCategory, dataEventAction, dataEventLabel, id, styles, }) => {
1792
- const { classes, cx, theme } = useStyles$4(undefined, { name: 'Tabs', styles });
1744
+ const { classes, cx, theme } = useStyles$5(undefined, { name: 'Tabs', styles });
1793
1745
  const [activeTab, setActiveTab] = useState(initialTab || 0);
1794
1746
  useEffect(() => {
1795
1747
  setActiveTab(initialTab);
@@ -3020,31 +2972,16 @@ const StyledWrapper$1 = setDefaultClass(styled.div `
3020
2972
  position: relative;
3021
2973
  width: 100%;
3022
2974
  height: 100%;
3023
- background-color: inherit;
3024
-
3025
- &[data-site='marryBaby'] {
3026
- background-color: ${(props) => props['data-banner-color'] || '#5EC08F'};
3027
- background-image: none;
3028
- padding-bottom: 0;
3029
- &[data-is-embedded='true'] {
3030
- border-top-left-radius: 16px;
3031
- border-top-right-radius: 16px;
3032
- }
3033
- }
3034
- /* due to emotion lib error, have to move this to last */
3035
- background: ${(props) => props.bgColor};
3036
2975
  `, 'hhgcomp-toolbanner-wrapper');
3037
- const StyledContainer$4 = styled.div `
2976
+ const StyledContainer = styled.div `
3038
2977
  width: 100%;
3039
- ${MediaQueries.mbDown} {
3040
- padding-bottom: 24px;
3041
- }
3042
-
3043
2978
  a {
3044
2979
  text-decoration: none;
3045
2980
  color: inherit;
3046
2981
  }
3047
2982
 
2983
+ background-color: ${(props) => props['data-banner-color'] || themeColors.blue[1]};
2984
+
3048
2985
  &[data-site='marryBaby'] {
3049
2986
  a {
3050
2987
  text-decoration: underline;
@@ -3081,18 +3018,6 @@ const StyledContainer$4 = styled.div `
3081
3018
  }
3082
3019
  }
3083
3020
  `;
3084
- const StyledWrapEmbedded = styled.div `
3085
- display: flex;
3086
- flex-direction: row;
3087
- align-items: center;
3088
- padding: 16px 24px;
3089
- gap: 16px;
3090
- width: 100%;
3091
- /* background-color: ; */
3092
- ${MediaQueries.mbDown} {
3093
- padding: 16px 0;
3094
- }
3095
- `;
3096
3021
  const StyledIcon = styled.div `
3097
3022
  background: #ffffff;
3098
3023
  border-radius: 16px;
@@ -3108,64 +3033,26 @@ const StyledIcon = styled.div `
3108
3033
  max-height: 24px;
3109
3034
  transform: translate(-50%, -50%);
3110
3035
  }
3111
- `;
3112
- const StyledHeadingMB = styled.div `
3113
- display: flex;
3114
- align-items: flex-start;
3115
- flex-direction: column;
3116
- justify-content: space-between;
3117
- gap: 0;
3118
- width: 100%;
3119
- `;
3120
- const StyledMedicalReviewedMB = styled.div `
3121
- display: flex;
3122
- align-items: flex-start;
3123
- font-weight: 400;
3124
- font-size: 12px;
3125
- line-height: 18px;
3126
- letter-spacing: -0.2px;
3127
- color: #f3f3f3;
3128
-
3129
- > img {
3130
- margin-top: 2px;
3131
- margin-right: 4px;
3132
- }
3133
- &[data-is-mobile='false'] {
3134
- > img {
3135
- width: 16px;
3136
- height: 16px;
3137
- }
3138
- }
3139
- &[data-is-mobile='true'] {
3140
- > img {
3141
- width: 14px;
3142
- height: 14px;
3143
- }
3144
- }
3145
3036
  `;
3146
3037
 
3147
- const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerUrl, bannerUrlLarge, bannerColor, medicalReview = {
3038
+ const ToolsBannerCard = ({ className, heading, isMobile, bannerUrl, bannerUrlLarge, bannerColor, medicalReview = {
3148
3039
  link: '#',
3149
3040
  reviewer: '',
3150
3041
  date: '',
3151
- }, icon, style, siteType, isEmbeded, }) => {
3152
- var _a, _b;
3042
+ }, icon, style, isEmbeded, isPregTool, }) => {
3153
3043
  const { t } = useTranslations();
3154
3044
  const theme = useMantineTheme();
3045
+ const isMarryBaby = theme.other.template === 'mb';
3046
+ const siteType = isMarryBaby ? 'marryBaby' : 'helloSites';
3155
3047
  const headingAs = 'h2';
3156
3048
  const bannerBgUrl = isMobile
3157
3049
  ? bannerUrl
3158
3050
  : bannerUrlLarge
3159
3051
  ? bannerUrlLarge
3160
3052
  : bannerUrl;
3161
- const colorShade = {
3162
- pink: [8, 6],
3163
- };
3164
- const bgColorShade = theme.colors[color] || theme.colors.blue;
3165
- const medicalReviewEle = (medicalReview === null || medicalReview === void 0 ? void 0 : medicalReview.reviewer) ? (React__default.createElement(Text, { size: "label2", color: "#fff", as: "div", className: "embedded-review", sx: {
3053
+ const medicalReviewEle = (medicalReview === null || medicalReview === void 0 ? void 0 : medicalReview.reviewer) ? (React__default.createElement(Text, { size: "label2", as: "div", className: "embedded-review", sx: {
3166
3054
  a: {
3167
3055
  textUnderlineOffset: '2px',
3168
- color: '#fff',
3169
3056
  textDecoration: 'underline',
3170
3057
  },
3171
3058
  } },
@@ -3175,22 +3062,22 @@ const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerU
3175
3062
  date: medicalReview.date,
3176
3063
  }),
3177
3064
  } }))) : null;
3178
- return (React__default.createElement(StyledContainer$4, { "data-is-mobile": isMobile, style: style, "data-site": siteType },
3179
- React__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.createElement(StyledWrapEmbedded, null,
3180
- React__default.createElement(StyledIcon, null, icon),
3181
- React__default.createElement(StyledHeadingMB, null,
3182
- React__default.createElement(Heading, { color: 'white', tag: "h5", as: headingAs }, heading),
3183
- medicalReview && (React__default.createElement(StyledMedicalReviewedMB, { "data-is-mobile": isMobile }, medicalReviewEle))))) : (React__default.createElement(Flex, { gap: rem(24), align: 'center', justify: 'space-between', sx: { padding: `${rem(13)} ${rem(20)}`, gap: rem(24) } },
3184
- React__default.createElement(Box, null,
3185
- React__default.createElement(Heading, { tag: "h5", as: headingAs, color: "#fff" }, heading),
3186
- medicalReview && (React__default.createElement(Text, { size: "n1", as: "div" }, medicalReviewEle))),
3187
- React__default.createElement(Flex, { justify: 'center', align: 'center', sx: (theme) => {
3188
- var _a, _b;
3189
- return ({
3065
+ return (React__default.createElement(StyledContainer, { className: className, "data-is-mobile": isMobile, style: style, "data-site": siteType, "data-banner-color": bannerColor ||
3066
+ (isPregTool
3067
+ ? theme.colors.pink[2]
3068
+ : isMarryBaby
3069
+ ? theme.colors.mb[2]
3070
+ : theme.colors.blue[1]) },
3071
+ React__default.createElement(StyledWrapper$1, { "data-banner-url": bannerBgUrl, "data-is-mobile": isMobile, "data-is-embedded": isEmbeded },
3072
+ React__default.createElement(Flex, { gap: rem(24), align: 'center', justify: 'space-between', sx: { padding: rem(16), gap: rem(24) } },
3073
+ React__default.createElement(Box, null,
3074
+ React__default.createElement(Heading, { tag: "h5", as: headingAs }, heading),
3075
+ medicalReview && (React__default.createElement(Text, { size: "n1", as: "div" }, medicalReviewEle))),
3076
+ isMarryBaby ? (React__default.createElement(StyledIcon, null, icon)) : (React__default.createElement(Flex, { justify: 'center', align: 'center', sx: (theme) => ({
3190
3077
  width: rem(64),
3191
3078
  height: rem(64),
3192
3079
  borderRadius: '50%',
3193
- 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],
3080
+ backgroundColor: '#fff',
3194
3081
  flexShrink: 0,
3195
3082
  img: {
3196
3083
  maxWidth: rem(48),
@@ -3204,8 +3091,7 @@ const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerU
3204
3091
  maxHeight: rem(40),
3205
3092
  },
3206
3093
  },
3207
- });
3208
- } }, icon))))));
3094
+ }) }, icon))))));
3209
3095
  };
3210
3096
 
3211
3097
  const StyledDropDown = styled(Dropdown) `
@@ -3237,110 +3123,6 @@ const StyledDropDown = styled(Dropdown) `
3237
3123
  }
3238
3124
  `;
3239
3125
 
3240
- styled(PureInput) `
3241
- & input,
3242
- .mantine-Input-input {
3243
- border-color: ${theme.mbColors.lightGray};
3244
- background-color: ${theme.colors.white};
3245
- border-radius: 16px;
3246
- transition: all 0.2s ease;
3247
- &:focus,
3248
- &:hover {
3249
- border-color: ${theme.mbColors.pink};
3250
- box-shadow: none;
3251
- }
3252
- }
3253
-
3254
- & .displayIcon {
3255
- pointer-events: none;
3256
- }
3257
- `;
3258
- const StyledTextField = styled(Input) `
3259
- & label {
3260
- position: absolute;
3261
- z-index: 1;
3262
- top: 16px;
3263
-
3264
- left: 16px;
3265
- color: ${theme.mbColors.midGray};
3266
- pointer-events: none;
3267
- transition: all 0.2s ease;
3268
- white-space: nowrap;
3269
- overflow: hidden;
3270
- text-overflow: ellipsis;
3271
- max-width: 240px;
3272
-
3273
- &[data-size='label2'] {
3274
- font-size: 12px;
3275
- }
3276
-
3277
- ${MediaQueries.tdDown} {
3278
- max-width: 220px;
3279
- }
3280
- }
3281
- & input,
3282
- .mantine-Input-input {
3283
- ::placeholder {
3284
- color: ${theme.mbColors.gray};
3285
- font-size: 14px;
3286
- }
3287
-
3288
- ::-webkit-input-placeholder {
3289
- /* Chrome/Opera/Safari */
3290
- color: ${theme.mbColors.gray};
3291
- font-size: 14px;
3292
- }
3293
- ::-moz-placeholder {
3294
- /* Firefox 19+ */
3295
- color: ${theme.mbColors.gray};
3296
- font-size: 14px;
3297
- }
3298
- :-ms-input-placeholder {
3299
- /* IE 10+ */
3300
- color: ${theme.mbColors.gray};
3301
- font-size: 14px;
3302
- }
3303
- :-moz-placeholder {
3304
- /* Firefox 18- */
3305
- color: ${theme.mbColors.gray};
3306
- font-size: 14px;
3307
- }
3308
- height: ${(props) => (props.size === 'sm' ? 48 : 72)}px !important;
3309
- padding-top: 27px !important;
3310
- border-color: ${theme.mbColors.lightGray} !important;
3311
- background-color: ${theme.colors.white};
3312
- border-radius: 16px !important;
3313
- transition: all 0.2s ease;
3314
- padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
3315
-
3316
- &:focus,
3317
- &:hover {
3318
- border-color: ${theme.mbColors.pink};
3319
- box-shadow: none;
3320
- }
3321
- }
3322
- .mantine-Input-rightSection,
3323
- .mantine-Input-leftSection {
3324
- padding-top: 20px;
3325
- }
3326
-
3327
- &[data-has-action-icon] {
3328
- input,
3329
- .mantine-Input-input {
3330
- padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
3331
- padding-bottom: ${(props) => (props.value ? '16px' : '27px')} !important;
3332
- height: unset !important;
3333
- }
3334
-
3335
- label {
3336
- position: absolute;
3337
- z-index: 1;
3338
- top: 16px;
3339
- padding-right: 46px;
3340
- }
3341
- }
3342
- `;
3343
-
3344
3126
  const StyledMethodContainer = styled.div `
3345
3127
  width: 100%;
3346
3128
  `;
@@ -3422,66 +3204,6 @@ styled(StyledImageIcon) `
3422
3204
  margin-right: 4px;
3423
3205
  `;
3424
3206
 
3425
- var DueDateCalculatorType;
3426
- (function (DueDateCalculatorType) {
3427
- DueDateCalculatorType[DueDateCalculatorType["lastPeriod"] = 0] = "lastPeriod";
3428
- DueDateCalculatorType[DueDateCalculatorType["conception"] = 1] = "conception";
3429
- DueDateCalculatorType[DueDateCalculatorType["IVF"] = 2] = "IVF";
3430
- })(DueDateCalculatorType || (DueDateCalculatorType = {}));
3431
- const API_DATE_FORMAT = 'yyyy-MM-dd';
3432
- const getDueDateLastPeriod = (lastPeriodDate, periodLength) => {
3433
- const pregnancyLength = 272 + (periodLength - 21);
3434
- const dueDate = new Date(lastPeriodDate);
3435
- dueDate.setDate(dueDate.getDate() + pregnancyLength);
3436
- return {
3437
- startDate: lastPeriodDate,
3438
- dueDate,
3439
- otherInfo: {
3440
- method: DueDateCalculatorType.lastPeriod + 1,
3441
- first_day: format(lastPeriodDate, API_DATE_FORMAT),
3442
- cycle_length_days: periodLength,
3443
- conception_date: null,
3444
- ivf_transfer_date: null,
3445
- days_transfer: null,
3446
- },
3447
- };
3448
- };
3449
- const getDueDateConception = (conceptionDate) => {
3450
- const dueDate = new Date(conceptionDate);
3451
- dueDate.setDate(dueDate.getDate() + 265);
3452
- return {
3453
- startDate: conceptionDate,
3454
- dueDate,
3455
- otherInfo: {
3456
- method: DueDateCalculatorType.conception + 1,
3457
- conception_date: format(conceptionDate, API_DATE_FORMAT),
3458
- first_day: null,
3459
- cycle_length_days: null,
3460
- ivf_transfer_date: null,
3461
- days_transfer: null,
3462
- },
3463
- };
3464
- };
3465
- const getDueDateIVF = (IVFDate, numDayTransfer) => {
3466
- const dueDate = new Date(IVFDate);
3467
- dueDate.setDate(dueDate.getDate() + 265 - numDayTransfer);
3468
- return {
3469
- startDate: IVFDate,
3470
- dueDate,
3471
- otherInfo: {
3472
- method: DueDateCalculatorType.IVF + 1,
3473
- ivf_transfer_date: format(IVFDate, API_DATE_FORMAT),
3474
- days_transfer: numDayTransfer,
3475
- conception_date: null,
3476
- first_day: null,
3477
- cycle_length_days: null,
3478
- },
3479
- };
3480
- };
3481
- const DateToInputValue = (date) => {
3482
- return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
3483
- };
3484
-
3485
3207
  const DueDateFormConception = ({ locale, onClick, siteType, pageUrl, }) => {
3486
3208
  const { t } = useTranslations();
3487
3209
  const [conceptionDate, setConceptionDate] = useState(new Date());
@@ -3611,7 +3333,7 @@ const StyledTwins = styled.div `
3611
3333
  }
3612
3334
  }
3613
3335
  `;
3614
- const StyledInputForm = styled.div `
3336
+ styled.div `
3615
3337
  margin-bottom: 20px;
3616
3338
  width: 100%;
3617
3339
 
@@ -3698,7 +3420,7 @@ const StyledFormInput = styled.div `
3698
3420
  }
3699
3421
  }
3700
3422
  `;
3701
- const StyledActive = styled.div `
3423
+ styled.div `
3702
3424
  margin-bottom: 24px;
3703
3425
  width: 100%;
3704
3426
 
@@ -3788,6 +3510,139 @@ const DueDateCalculator = ({ onSubmitDueDate, locale, isSide, siteType, }) => {
3788
3510
  calculatorType === DueDateCalculatorType.IVF ? (React__default.createElement(DueDateFormIVF, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null));
3789
3511
  };
3790
3512
 
3513
+ var useStyles$4 = createStyles(() => {
3514
+ return {
3515
+ root: {
3516
+ borderTopLeftRadius: 'inherit',
3517
+ borderTopRightRadius: 'inherit',
3518
+ },
3519
+ };
3520
+ });
3521
+
3522
+ const CardWrapperContext = createContext({});
3523
+
3524
+ const Banner = (_a) => {
3525
+ var { styles, classNames, className } = _a, rest = __rest(_a, ["styles", "classNames", "className"]);
3526
+ const { classes, cx } = useStyles$4(undefined, {
3527
+ name: 'HealthToolCardWrapper__Banner',
3528
+ styles,
3529
+ classNames,
3530
+ });
3531
+ const { isPregTool } = useContext(CardWrapperContext);
3532
+ return (React__default.createElement(ToolsBannerCard, Object.assign({ isPregTool: isPregTool, className: cx(className, classes.root) }, rest)));
3533
+ };
3534
+
3535
+ var useStyles$3 = createStyles(() => {
3536
+ return {
3537
+ root: {
3538
+ padding: rem(16),
3539
+ },
3540
+ };
3541
+ });
3542
+
3543
+ const Body = (_a) => {
3544
+ var { children, styles, classNames, className } = _a, rest = __rest(_a, ["children", "styles", "classNames", "className"]);
3545
+ const { classes, cx } = useStyles$3(undefined, {
3546
+ name: 'HealthToolCardWrapper',
3547
+ styles,
3548
+ classNames,
3549
+ });
3550
+ return (React__default.createElement(Box, Object.assign({ className: cx(className, classes.root) }, rest), children));
3551
+ };
3552
+
3553
+ var useStyles$2 = createStyles((theme, { isPregTool }) => {
3554
+ const isMarryBaby = theme.other.template === 'mb';
3555
+ return {
3556
+ root: {
3557
+ display: 'flex',
3558
+ flexDirection: 'column',
3559
+ borderRadius: rem(isMarryBaby ? 16 : 8),
3560
+ backgroundColor: '#fff',
3561
+ border: `1px solid ${isMarryBaby
3562
+ ? theme.colors.mb[2]
3563
+ : isPregTool
3564
+ ? theme.colors.pink[1]
3565
+ : theme.colors.blue[2]}`,
3566
+ },
3567
+ row: {
3568
+ display: 'flex',
3569
+ alignItems: 'stretch',
3570
+ justifyContent: 'space-between',
3571
+ gap: rem(16),
3572
+ },
3573
+ labelWrapper: {
3574
+ flex: '1 1 0px',
3575
+ display: 'flex',
3576
+ alignItems: 'center',
3577
+ borderBottom: `1px solid ${theme.colors.neutral[1]}`,
3578
+ },
3579
+ label: {
3580
+ fontSize: rem(14),
3581
+ color: theme.colors.gray[6],
3582
+ },
3583
+ control: {
3584
+ width: rem(180),
3585
+ flexShrink: 1,
3586
+ '&.error': {
3587
+ 'button, input': {
3588
+ borderColor: theme.colors.red[7],
3589
+ },
3590
+ },
3591
+ },
3592
+ radioLabel: {
3593
+ fontSize: rem(16),
3594
+ },
3595
+ radioRoot: {
3596
+ padding: `${rem(10)} 0`,
3597
+ margin: 0,
3598
+ },
3599
+ bmiVal: {
3600
+ display: 'inline-block',
3601
+ },
3602
+ inputWithUnit__wrapper: {
3603
+ position: 'relative',
3604
+ },
3605
+ inputWithUnit__unit: {
3606
+ position: 'absolute',
3607
+ top: 0,
3608
+ right: 0,
3609
+ bottom: 0,
3610
+ paddingRight: rem(10),
3611
+ display: 'flex',
3612
+ alignItems: 'center',
3613
+ },
3614
+ inputWithUnit__unitText: {
3615
+ color: theme.colors.gray[6],
3616
+ },
3617
+ inputWithUnit__input: {
3618
+ input: {
3619
+ paddingRight: rem(30),
3620
+ '::-webkit-inner-spin-button': { '-webkit-appearance': 'none' },
3621
+ },
3622
+ },
3623
+ submitBtn: {},
3624
+ switchRoot: {
3625
+ padding: '16px 0',
3626
+ },
3627
+ };
3628
+ });
3629
+
3630
+ const _HealthToolCardWrapper = (_a) => {
3631
+ var { children, styles, classNames, className, isPregTool } = _a, rest = __rest(_a, ["children", "styles", "classNames", "className", "isPregTool"]);
3632
+ const { classes, cx } = useStyles$2({ isPregTool }, {
3633
+ name: 'HealthToolCardWrapper',
3634
+ styles,
3635
+ classNames,
3636
+ });
3637
+ return (React__default.createElement(CardWrapperContext.Provider, { value: {
3638
+ isPregTool,
3639
+ } },
3640
+ React__default.createElement(Box, Object.assign({ className: cx(className, classes.root) }, rest), children)));
3641
+ };
3642
+ const HealthToolCardWrapper = _HealthToolCardWrapper;
3643
+ HealthToolCardWrapper.Body = Body;
3644
+ HealthToolCardWrapper.Banner = Banner;
3645
+
3791
3646
  const StyledContent = setDefaultClass(styled.form `
3792
3647
  margin: auto;
3793
3648
  ${MediaQueries.mbUp} {
@@ -3876,7 +3731,7 @@ const StyledContent = setDefaultClass(styled.form `
3876
3731
  }
3877
3732
  }
3878
3733
  `, 'hhgcomp-embedtoolcard-content');
3879
- const StyledContainer$3 = styled.div `
3734
+ styled.div `
3880
3735
  padding: 0;
3881
3736
  background-color: white;
3882
3737
  border: 1px solid #e4e8ec;
@@ -4041,8 +3896,8 @@ const StyledRadioGroup = styled(RadioGroup) `
4041
3896
  const DueDateCardEmbed = ({ isMobile, locale, onSubmitDueDate, dueDatePageInfo, expertUrl, isSide, siteType, }) => {
4042
3897
  var _a;
4043
3898
  const { t } = useTranslations();
4044
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
4045
- React__default.createElement(ToolsBannerCard, { isSide: isSide, siteType: siteType, bannerColor: siteType === 'marryBaby' && theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default.createElement("img", { alt: "health-tool-icon", src: (dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.featured_image) ||
3899
+ return (React__default.createElement(HealthToolCardWrapper, { isPregTool: true },
3900
+ React__default.createElement(HealthToolCardWrapper.Banner, { isSide: isSide, bannerColor: siteType === 'marryBaby' && theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default.createElement("img", { alt: "health-tool-icon", src: (dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.featured_image) ||
4046
3901
  CommonGAssets.getAssetPath('health-tools/due-date-icon.svg'), loading: "lazy" }), heading: t('healthTools.dueDateCalculator'), medicalReview: {
4047
3902
  link: expertUrl,
4048
3903
  reviewer: (_a = dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.reviewed_by) === null || _a === void 0 ? void 0 : _a.display_name,
@@ -4052,155 +3907,99 @@ const DueDateCardEmbed = ({ isMobile, locale, onSubmitDueDate, dueDatePageInfo,
4052
3907
  React__default.createElement(DueDateCalculator, { siteType: siteType, locale: locale, onSubmitDueDate: onSubmitDueDate, isSide: isSide }))));
4053
3908
  };
4054
3909
 
4055
- const BmiEmbedContext = createContext({});
3910
+ const BmiFormContext = createContext({});
4056
3911
 
4057
- const StyledButton$2 = styled(Button$1) `
4058
- margin: 0 auto 24px;
4059
- ${MediaQueries.mbUp} {
4060
- max-width: 200px;
4061
- margin: 24px auto;
4062
- }
4063
- `;
4064
- const StyledInput = styled(PureInput) `
4065
- &.bmi--input {
4066
- + .bmi--input {
4067
- margin-top: 24px;
4068
- }
4069
- .inputLabel {
4070
- display: inline-block;
4071
- margin-bottom: 5px;
4072
- color: #595959;
4073
- font-weight: bold;
4074
- font-size: 12px;
4075
- }
4076
- .errorLabel {
4077
- line-height: 1.3;
4078
- }
4079
- input[type='radio'] {
4080
- padding: 0;
4081
- }
4082
- .bmi--input-radio_gender {
4083
- width: 100%;
4084
- gap: 16px;
4085
- > div {
4086
- ${MediaQueries.mbDown} {
4087
- width: calc(50% - 8px);
4088
- }
4089
- width: calc(33% - 8px);
4090
- }
4091
- & > div > div {
4092
- display: flex;
4093
- flex-direction: row;
4094
- justify-content: center;
4095
- align-content: center;
4096
- gap: 8px;
4097
- padding-block: 5px;
4098
- }
4099
- }
4100
- .bmi-side-embed {
4101
- > div {
4102
- ${MediaQueries.mbUp} {
4103
- width: calc(50% - 8px);
4104
- }
4105
- }
4106
- }
4107
- .radio-group-item-heading {
4108
- margin-top: 0;
4109
- }
4110
- }
3912
+ const DefaultForm$1 = (props) => {
3913
+ var _a, _b, _c, _d;
3914
+ const { t, locale } = useTranslations();
3915
+ const { control, bmiGenerated, isTouched, linkTool, submitProps } = useContext(BmiFormContext);
3916
+ return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
3917
+ React__default.createElement(Controller, { name: "gender", control: control, rules: (_a = bmiGenerated.gender) === null || _a === void 0 ? void 0 : _a.rule, render: ({ field: { onChange }, fieldState: { error } }) => {
3918
+ return (React__default.createElement(GenderOptionControl, { error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', onChange: onChange }));
3919
+ } }),
3920
+ React__default.createElement(Controller, { name: "age", control: control, rules: (_b = bmiGenerated.age) === null || _b === void 0 ? void 0 : _b.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3921
+ return (React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
3922
+ t('bmi.ageInput'),
3923
+ ' ',
3924
+ React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray300, as: "span" }, t('bmi.ageInput.desc'))), placeholder: t('tools.inputPlaceholder', {
3925
+ content: '25',
3926
+ }), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', min: 0 }));
3927
+ } }),
3928
+ React__default.createElement(Controller, { name: "height", control: control, rules: (_c = bmiGenerated.height) === null || _c === void 0 ? void 0 : _c.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3929
+ return (React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
3930
+ t('bmi.heightInput'),
3931
+ ' ',
3932
+ React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray300, as: "span" }, t('bmi.heightInput.desc'))), placeholder: t('tools.inputPlaceholder', {
3933
+ content: '170',
3934
+ }), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', min: 0 }));
3935
+ } }),
3936
+ React__default.createElement(Controller, { name: "weight", control: control, rules: (_d = bmiGenerated.weight) === null || _d === void 0 ? void 0 : _d.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3937
+ return (React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
3938
+ t('bmi.weightInput'),
3939
+ ' ',
3940
+ React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray300, as: "span" }, t('bmi.weightInput.desc'))), placeholder: t('tools.inputPlaceholder', {
3941
+ content: '60',
3942
+ }), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', precision: 1, min: 0 }));
3943
+ } }),
3944
+ React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ className: "bmi-btn bmi--btn-submit", dataEventCategory: "Health Tool", dataEventAction: "BMI", dataEventLabel: `https://${domainLocales[locale]}/${linkTool}`, type: "submit" }, submitProps), t('bmi.submit'))));
3945
+ };
4111
3946
 
4112
- ${MediaQueries.mbDown} {
4113
- &.bmi--input {
4114
- .bmi--input-radio_gender {
4115
- > div {
4116
- .gender-image {
4117
- width: 40px;
4118
- height: 40px;
4119
- }
4120
- }
4121
- }
4122
- }
4123
- }
4124
- `;
4125
- const StyledContainer$2 = styled.div `
4126
- width: 100%;
4127
- `;
4128
- const FormControl$2 = styled.div `
4129
- margin-bottom: 1rem;
4130
- display: flex;
4131
- flex-direction: column;
4132
- gap: 16px;
4133
- input {
4134
- font-size: 12px;
4135
- ::placeholder {
4136
- color: #8c8c8c;
4137
- opacity: 1;
4138
- }
4139
- }
4140
- .input-label {
4141
- label {
4142
- display: inline-block;
4143
- margin-bottom: 9px;
4144
- color: #595959;
4145
- font-weight: bold;
4146
- font-size: 12px;
4147
- }
4148
- }
4149
- `;
4150
- const StyledRow$3 = styled.div `
4151
- ${MediaQueries.mbUp} {
4152
- display: flex;
4153
- width: 100%;
4154
- align-items: flex-start;
4155
- justify-content: space-between;
4156
- gap: 12px;
4157
- > div {
4158
- width: 100%;
4159
- }
4160
- &[data-is-side='true'] {
4161
- ${MediaQueries.mbUp} {
4162
- display: flex;
4163
- flex-direction: column;
4164
- gap: 0px;
4165
- }
4166
- }
4167
- }
4168
- ${MediaQueries.mbDown} {
4169
- display: flex;
4170
- flex-direction: column;
4171
- gap: 0px;
4172
- }
4173
- `;
3947
+ const InlineForm$1 = (props) => {
3948
+ var _a, _b, _c, _d;
3949
+ const { t, locale } = useTranslations();
3950
+ const { control, bmiGenerated, isTouched, linkTool, submitProps } = useContext(BmiFormContext);
3951
+ return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
3952
+ React__default.createElement(Controller, { name: "gender", control: control, rules: (_a = bmiGenerated.gender) === null || _a === void 0 ? void 0 : _a.rule, render: ({ field: { onChange }, fieldState: { error } }) => {
3953
+ return (React__default.createElement(HealthToolFormWrapper.FormRow, null,
3954
+ React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('tools.selectGender') },
3955
+ React__default.createElement(GenderOptionControl, { type: "radio", hideLabel: true, error: isTouched ? React__default.createElement(React__default.Fragment, null) : '', onChange: onChange })),
3956
+ isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default.createElement(HealthToolFormWrapper.Error, null, error.message))));
3957
+ } }),
3958
+ React__default.createElement(Controller, { name: "age", control: control, rules: (_b = bmiGenerated.age) === null || _b === void 0 ? void 0 : _b.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3959
+ return (React__default.createElement(HealthToolFormWrapper.FormRow, null,
3960
+ React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('bmi.ageInput') },
3961
+ React__default.createElement(Input$1.Number, { placeholder: t('tools.inputPlaceholder', {
3962
+ content: '25',
3963
+ }), name: name, value: value, onChange: onChange, error: isTouched && (error === null || error === void 0 ? void 0 : error.message) ? React__default.createElement(React__default.Fragment, null) : '', min: 0, rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('tools.yearsOld')), styles: () => ({
3964
+ rightSection: {
3965
+ width: 'auto',
3966
+ },
3967
+ }) })),
3968
+ isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default.createElement(HealthToolFormWrapper.Error, null, error.message))));
3969
+ } }),
3970
+ React__default.createElement(Controller, { name: "height", control: control, rules: (_c = bmiGenerated.height) === null || _c === void 0 ? void 0 : _c.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3971
+ return (React__default.createElement(HealthToolFormWrapper.FormRow, null,
3972
+ React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('bmi.heightInput') },
3973
+ React__default.createElement(Input$1.Number, { placeholder: t('tools.inputPlaceholder', {
3974
+ content: '170',
3975
+ }), name: name, value: value, onChange: onChange, min: 0, error: isTouched && (error === null || error === void 0 ? void 0 : error.message) ? React__default.createElement(React__default.Fragment, null) : '', rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.cm')) })),
3976
+ isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default.createElement(HealthToolFormWrapper.Error, null, error.message))));
3977
+ } }),
3978
+ React__default.createElement(Controller, { name: "weight", control: control, rules: (_d = bmiGenerated.weight) === null || _d === void 0 ? void 0 : _d.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
3979
+ return (React__default.createElement(HealthToolFormWrapper.FormRow, null,
3980
+ React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('bmi.weightInput') },
3981
+ React__default.createElement(Input$1.Number, { placeholder: t('tools.inputPlaceholder', {
3982
+ content: '60',
3983
+ }), name: name, value: value, onChange: onChange, error: isTouched && (error === null || error === void 0 ? void 0 : error.message) ? React__default.createElement(React__default.Fragment, null) : '', precision: 1, min: 0, rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.kg')) })),
3984
+ isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default.createElement(HealthToolFormWrapper.Error, null, error.message))));
3985
+ } }),
3986
+ React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ className: "bmi-btn bmi--btn-submit", dataEventCategory: "Health Tool", dataEventAction: "BMI", dataEventLabel: `https://${domainLocales[locale]}/${linkTool}`, type: "submit" }, submitProps), t('bmi.submit'))));
3987
+ };
4174
3988
 
4175
- function getBmi({ weight: weightProps, height: heightProps }) {
3989
+ function getBmi({ weight: weightProps, height: heightProps, }) {
4176
3990
  const height = heightProps / 100;
4177
3991
  const weight = weightProps;
4178
3992
  return Math.round((weight / (height * height)) * 10) / 10;
4179
3993
  }
4180
3994
 
4181
- const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmitProps, disabled, bmiGenerated, bmiUnit, locale, isSide, }) => {
4182
- var _a, _b, _c, _d;
3995
+ const BmiForm = (_a) => {
3996
+ var { value: valueProps, onChange: onChangeProps, onSubmit: onSubmitProps, bmiGenerated, bmiUnit, formLayout = 'default', submitProps } = _a, rest = __rest(_a, ["value", "onChange", "onSubmit", "bmiGenerated", "bmiUnit", "formLayout", "submitProps"]);
4183
3997
  const [isTouched, setIsTouched] = useState(false);
4184
3998
  const { control, handleSubmit, setValue, watch } = useForm();
4185
3999
  const data = watch();
4186
- const { t } = useTranslations();
4187
- const { gender: disabledGender = false, age: disabledAge = false, height: disabledHeight = false, weight: disabledWeight = false, objective: disabledObjective = true, } = disabled || {};
4000
+ const { locale } = useTranslations();
4188
4001
  const { getHealthToolLink } = useHealthToolsCache(locale);
4189
4002
  const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE$1.OVULATION), [getHealthToolLink]);
4190
- const objectOptions = useMemo(() => [
4191
- {
4192
- value: 'lose-weight',
4193
- label: t('bmi.objective.loseWeight'),
4194
- },
4195
- {
4196
- value: 'maintain-weight',
4197
- label: t('bmi.objective.maintainWeight'),
4198
- },
4199
- {
4200
- value: 'gain-weight',
4201
- label: t('bmi.objective.gainWeight'),
4202
- },
4203
- ], []);
4204
4003
  const onValid = (data) => __awaiter(void 0, void 0, void 0, function* () {
4205
4004
  const height = bmiUnit.heightConvert(data.height);
4206
4005
  const weight = bmiUnit.weightConvert(data.weight);
@@ -4211,9 +4010,6 @@ const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmi
4211
4010
  weight,
4212
4011
  bmi: getBmi({ height, weight }),
4213
4012
  };
4214
- if (!disabledObjective) {
4215
- submitValue['objective'] = data.objective;
4216
- }
4217
4013
  onInValid();
4218
4014
  onSubmitProps && onSubmitProps(submitValue);
4219
4015
  });
@@ -4233,477 +4029,42 @@ const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmi
4233
4029
  useEffect(() => {
4234
4030
  onChangeProps && onChangeProps(data);
4235
4031
  }, [data]);
4236
- return (React__default.createElement(StyledContainer$2, null,
4237
- React__default.createElement("form", { onSubmit: handleSubmit(onValid, onInValid) },
4238
- !disabledGender && (React__default.createElement(FormControl$2, { "data-is-side": isSide },
4239
- React__default.createElement(Controller, { name: "gender", control: control, defaultValue: "male", render: ({ field: { onChange } }) => {
4240
- return (React__default.createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => onChange(v), styles: (theme) => ({
4241
- root: !isSide && {
4242
- [theme.fn.largerThan('sm')]: {
4243
- width: 'calc((100% - 24px) * 2/3 + 12px)',
4244
- },
4245
- },
4246
- wrapper: {
4247
- [theme.fn.largerThan('sm')]: {
4248
- gap: rem(12),
4249
- },
4250
- },
4251
- }) }));
4252
- } }))),
4253
- React__default.createElement(StyledRow$3, { "data-is-side": isSide },
4254
- !disabledAge && (React__default.createElement(FormControl$2, null,
4255
- React__default.createElement(Controller, { name: "age", control: control, rules: (_a = bmiGenerated.age) === null || _a === void 0 ? void 0 : _a.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
4256
- return (React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
4257
- t('bmi.ageInput'),
4258
- ' ',
4259
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: 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 }));
4260
- } }))),
4261
- !disabledHeight && (React__default.createElement(FormControl$2, null,
4262
- React__default.createElement(Controller, { name: "height", control: control, rules: (_b = bmiGenerated.height) === null || _b === void 0 ? void 0 : _b.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
4263
- return (React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
4264
- t('bmi.heightInput'),
4265
- ' ',
4266
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: 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 }));
4267
- } }))),
4268
- !disabledWeight && (React__default.createElement(FormControl$2, null,
4269
- React__default.createElement(Controller, { name: "weight", control: control, rules: (_c = bmiGenerated.weight) === null || _c === void 0 ? void 0 : _c.rule, render: ({ field: { name, value, onChange }, fieldState: { error }, }) => {
4270
- return (React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
4271
- t('bmi.weightInput'),
4272
- ' ',
4273
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: 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 }));
4274
- } }))),
4275
- !disabledObjective && (React__default.createElement(FormControl$2, null,
4276
- React__default.createElement(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 }, }) => {
4277
- return (React__default.createElement(StyledInput, { size: "md", name: name, label: bmiGenerated.objective.label, CustomInput: React__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" }));
4278
- } })))),
4279
- React__default.createElement("div", { style: { display: 'flex' } },
4280
- React__default.createElement(StyledButton$2, { size: "lg", fullWidth: true, className: "bmi-btn bmi--btn-submit", dataEventCategory: "Health Tool", dataEventAction: "BMI", dataEventLabel: `https://${domainLocales[locale]}/${linkTool}`, type: "submit" }, t('bmi.submit'))))));
4281
- };
4282
-
4283
- const Form$1 = () => {
4284
- const { onSubmit, bmiGenerated, locale, bmiUnit, isSide } = useContext(BmiEmbedContext);
4285
- return (React__default.createElement(BmiForm, { onSubmit: onSubmit, bmiGenerated: bmiGenerated, locale: locale, bmiUnit: bmiUnit, isSide: isSide }));
4032
+ const commonProps = Object.assign({ onSubmit: handleSubmit(onValid, onInValid) }, rest);
4033
+ return (React__default.createElement(BmiFormContext.Provider, { value: {
4034
+ control,
4035
+ bmiGenerated,
4036
+ isTouched,
4037
+ linkTool,
4038
+ submitProps,
4039
+ } }, formLayout === 'inline' ? (React__default.createElement(InlineForm$1, Object.assign({}, commonProps))) : (React__default.createElement(DefaultForm$1, Object.assign({}, commonProps)))));
4286
4040
  };
4287
4041
 
4288
- const _BMICardEmbed = ({ isMobile, onSubmit, bmiContent, isSide, bmiGenerated, bmiUnit, bmiLink, locale, children, }) => {
4042
+ const BMICardEmbed = ({ isMobile, onSubmit, bmiContent, bmiGenerated, bmiUnit, locale, formLayout, }) => {
4289
4043
  var _a, _b, _c;
4290
4044
  const { t } = useTranslations();
4291
- return (React__default.createElement(BmiEmbedContext.Provider, { value: {
4292
- isMobile,
4293
- onSubmit,
4294
- isSide,
4295
- bmiGenerated,
4296
- bmiUnit,
4297
- bmiLink,
4298
- locale,
4299
- } }, children || (React__default.createElement(StyledContainer$3, { "data-is-side": isSide },
4300
- React__default.createElement(ToolsBannerCard, { isSide: isSide, icon: React__default.createElement("img", { alt: "health-tool-icon", src: (bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.featured_image) ||
4045
+ return (React__default.createElement(HealthToolCardWrapper, null,
4046
+ React__default.createElement(HealthToolCardWrapper.Banner, { icon: React__default.createElement("img", { alt: "health-tool-icon", src: (bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.featured_image) ||
4301
4047
  CommonGAssets.getAssetPath('health-tools/bmi.svg'), loading: "lazy" }), heading: t('bmi.heading'), medicalReview: {
4302
4048
  link: (_a = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4303
4049
  reviewer: (_b = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer,
4304
4050
  date: (_c = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4305
4051
  }, isMobile: isMobile }),
4306
- React__default.createElement(Container, null,
4307
- React__default.createElement(StyledContent, { as: "div", "data-is-side": isSide }, bmiLink && React__default.createElement(Form$1, null)))))));
4308
- };
4309
- const BMICardEmbed = _BMICardEmbed;
4310
- BMICardEmbed.Form = Form$1;
4311
-
4312
- const BabyGrowthEmbedContext = createContext({});
4313
-
4314
- const BabyGrowthFormContext = createContext({});
4315
-
4316
- var useStyles$3 = createStyles(() => {
4317
- return {
4318
- root: {},
4319
- };
4320
- });
4321
-
4322
- var useStyles$2 = createStyles((theme) => {
4323
- return {
4324
- root: {
4325
- display: 'flex',
4326
- flexDirection: 'column',
4327
- gap: rem(8),
4328
- },
4329
- row: {
4330
- display: 'flex',
4331
- alignItems: 'stretch',
4332
- justifyContent: 'space-between',
4333
- gap: rem(16),
4334
- },
4335
- labelWrapper: {
4336
- flex: '1 1 0px',
4337
- display: 'flex',
4338
- alignItems: 'center',
4339
- borderBottom: `1px solid ${theme.colors.neutral[1]}`,
4340
- },
4341
- label: {
4342
- fontSize: rem(14),
4343
- color: theme.colors.gray[6],
4344
- },
4345
- control: {
4346
- width: rem(180),
4347
- flexShrink: 1,
4348
- '&.error': {
4349
- 'button, input': {
4350
- borderColor: theme.colors.red[7],
4351
- },
4352
- },
4353
- },
4354
- radioLabel: {
4355
- fontSize: rem(16),
4356
- },
4357
- radioRoot: {
4358
- padding: `${rem(10)} 0`,
4359
- margin: 0,
4360
- },
4361
- bmiVal: {
4362
- display: 'inline-block',
4363
- },
4364
- inputWithUnit__wrapper: {
4365
- position: 'relative',
4366
- },
4367
- inputWithUnit__unit: {
4368
- position: 'absolute',
4369
- top: 0,
4370
- right: 0,
4371
- bottom: 0,
4372
- paddingRight: rem(10),
4373
- display: 'flex',
4374
- alignItems: 'center',
4375
- },
4376
- inputWithUnit__unitText: {
4377
- color: theme.colors.gray[6],
4378
- },
4379
- inputWithUnit__input: {
4380
- input: {
4381
- paddingRight: rem(30),
4382
- '::-webkit-inner-spin-button': { '-webkit-appearance': 'none' },
4383
- },
4384
- },
4385
- submitBtn: {},
4386
- switchRoot: {
4387
- padding: '16px 0',
4388
- },
4389
- };
4390
- });
4391
-
4392
- const HorizonalForm = (_a) => {
4393
- var { styles, classNames } = _a, props = __rest(_a, ["styles", "classNames"]);
4394
- const { t } = useTranslations();
4395
- const { control, currentUrl, isEmptyThreeFields, isMarryBaby } = useContext(BabyGrowthFormContext);
4396
- const { classes, cx } = useStyles$2(undefined, {
4397
- name: 'BabyGrowthForm__HorizonalForm',
4398
- styles,
4399
- classNames,
4400
- });
4401
- const commonDateProps = {
4402
- placeholder: 'DD/MM/YYYY',
4403
- popoverProps: {
4404
- withinPortal: true,
4405
- },
4406
- };
4407
- return (React__default.createElement(Box, Object.assign({ className: classes.root }, props),
4408
- React__default.createElement(Controller, { control: control, name: "gender", render: ({ field: { onChange, value } }) => (React__default.createElement(Box, { className: classes.row },
4409
- React__default.createElement(Box, { className: classes.labelWrapper },
4410
- React__default.createElement("label", { className: classes.label, htmlFor: "gender" }, t('tools.selectBabyGender'))),
4411
- React__default.createElement(Radio$1.Group, { onChange: onChange, value: value },
4412
- React__default.createElement(Group, { mt: "xs" },
4413
- React__default.createElement(Radio$1, { value: "boy", label: t('gender.boy'), classNames: {
4414
- root: classes.radioRoot,
4415
- label: classes.radioLabel,
4416
- } }),
4417
- React__default.createElement(Radio$1, { value: "girl", label: t('gender.girl'), classNames: {
4418
- label: classes.radioLabel,
4419
- } }))))) }),
4420
- React__default.createElement(Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => {
4421
- return (React__default.createElement(Box, { className: classes.row },
4422
- React__default.createElement(Box, { className: classes.labelWrapper },
4423
- React__default.createElement("label", { className: classes.label, htmlFor: "birthday" }, t('babyGrowth.input.birthday'))),
4424
- React__default.createElement(DatePicker$1, Object.assign({}, commonDateProps, { className: cx(classes.control, error ? 'error' : ''), onChange: onChange, maxDate: new Date() }))));
4425
- } }),
4426
- React__default.createElement(Box, { className: classes.row },
4427
- React__default.createElement(Box, { className: classes.labelWrapper },
4428
- React__default.createElement("label", { className: classes.label }, "BMI")),
4429
- React__default.createElement(Flex, { align: 'center', gap: '8px' },
4430
- React__default.createElement(Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default.createElement(React__default.Fragment, null,
4431
- React__default.createElement(Text, { size: "p2" },
4432
- React__default.createElement("span", { className: classes.bmiVal }, !isNaN(Number(value)) && value !== '0' ? value : ''),
4433
- t('babyGrowth.kg.m2')))) }),
4434
- React__default.createElement(Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(Box, { className: cx(classes.control, classes.inputWithUnit__wrapper, isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
4435
- React__default.createElement(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() }),
4436
- React__default.createElement(Box, { className: classes.inputWithUnit__unit },
4437
- React__default.createElement(Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.cm'))))) }),
4438
- React__default.createElement(Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(Box, { className: cx(classes.control, classes.inputWithUnit__wrapper, isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
4439
- React__default.createElement(Box, { className: classes.inputWithUnit__unit },
4440
- React__default.createElement(Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.kg'))),
4441
- React__default.createElement(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() }))) }))),
4442
- React__default.createElement(Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(Box, { className: classes.row },
4443
- React__default.createElement(Box, { className: classes.labelWrapper },
4444
- React__default.createElement("label", { className: classes.label, htmlFor: "head" },
4445
- ' ',
4446
- t('babyGrowth.headCircumference'))),
4447
- React__default.createElement(Box, { className: cx(classes.inputWithUnit__wrapper, classes.control, isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
4448
- React__default.createElement(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() }),
4449
- React__default.createElement(Box, { className: classes.inputWithUnit__unit },
4450
- React__default.createElement(Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.cm')))))) }),
4451
- React__default.createElement(Controller, { control: control, name: "measurementDate", render: ({ field: { onChange } }) => (React__default.createElement(Box, { className: classes.row },
4452
- React__default.createElement(Box, { className: classes.labelWrapper },
4453
- React__default.createElement("label", { className: classes.label, htmlFor: "measurementDate" }, t('babyGrowth.input.measurementDate'))),
4454
- React__default.createElement(DatePicker$1, Object.assign({}, commonDateProps, { className: classes.control, defaultValue: new Date(), onChange: onChange, maxDate: new Date() })))) }),
4455
- React__default.createElement(Box, { className: classes.row },
4456
- React__default.createElement(Button$1, { 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')))));
4457
- };
4458
-
4459
- const StyledBabyGrowthWrapper$1 = styled.div `
4460
- display: flex;
4461
- flex-direction: column;
4462
- gap: 16px;
4463
- padding-block: 40px;
4464
-
4465
- &[data-theme='marryBaby'] {
4466
- padding-block: 0;
4467
- padding-top: 12px;
4468
- }
4469
- `;
4470
- const StyledFormControl = styled.div `
4471
- display: flex;
4472
- flex-direction: column;
4473
- gap: 6px;
4474
- margin-top: auto;
4475
-
4476
- .error-input input {
4477
- border: 1px solid ${theme.colors.red700};
4478
- }
4479
- `;
4480
- const StyledInlineLabel = styled(Label) `
4481
- display: inline-flex;
4482
- padding-bottom: 6px;
4483
- gap: 4px;
4484
- `;
4485
- const StyledRow$2 = styled.div `
4486
- display: flex;
4487
- width: 100%;
4488
- align-items: center;
4489
- justify-content: space-between;
4490
- gap: 16px;
4491
- > div {
4492
- width: 100%;
4493
- }
4494
- `;
4495
-
4496
- const VerticalForm = () => {
4497
- const { t } = useTranslations();
4498
- const { control, currentUrl, isEmptyThreeFields, isMarryBaby, siteType } = useContext(BabyGrowthFormContext);
4499
- const commonDateProps = {
4500
- placeholder: 'DD/MM/YYYY',
4501
- popoverProps: {
4502
- withinPortal: true,
4503
- },
4504
- };
4505
- return (React__default.createElement(StyledBabyGrowthWrapper$1, { className: "form-wrapper", "data-theme": siteType },
4506
- React__default.createElement(Controller, { control: control, name: "gender", render: ({ field: { onChange, value } }) => (React__default.createElement(BabyGrowthGender, { onChange: onChange, value: value, siteType: siteType })) }),
4507
- siteType === 'marryBaby' ? (React__default.createElement(React__default.Fragment, null,
4508
- React__default.createElement(Controller, { control: control, name: "birthday", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
4509
- React__default.createElement(StyledTextField, { label: t('babyGrowth.input.birthday'), name: "birthday", size: "md", value: String(value), CustomInput: React__default.createElement(DatePicker$1, Object.assign({}, commonDateProps, { onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', rightSection: React__default.createElement(CalendarMB, { size: 32 }) })) }))) }),
4510
- React__default.createElement(StyledRow$2, null,
4511
- React__default.createElement(Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4512
- React__default.createElement(StyledTextField, { label: `${t('babyGrowth.height')} ${t('babyGrowth.cm')}`, name: "height", size: "md", value: String(value), CustomInput: React__default.createElement(Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
4513
- ? 'error-input'
4514
- : '', name: "height", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4515
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
4516
- React__default.createElement(Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4517
- React__default.createElement(StyledTextField, { label: `${t('babyGrowth.weight')} ${t('babyGrowth.kg')}`, name: "weight", size: "md", value: String(value), CustomInput: React__default.createElement(Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
4518
- ? 'error-input'
4519
- : '', name: "weight", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4520
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) })),
4521
- React__default.createElement(StyledRow$2, null,
4522
- React__default.createElement(Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4523
- React__default.createElement(StyledTextField, { label: `${t('babyGrowth.headCircumference')} ${t('babyGrowth.cm')}`, name: "head", size: "md", value: String(value), CustomInput: React__default.createElement(Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
4524
- ? 'error-input'
4525
- : '', name: "head", size: "md", value: String(value), onChange: onChange, type: "number", placeholder: "Nh\u1EADp th\u00F4ng tin", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4526
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
4527
- React__default.createElement(Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default.createElement(StyledFormControl, null,
4528
- React__default.createElement(StyledTextField, { label: `${t('babyGrowth.input.bmi')} ${t('babyGrowth.kg.m2')}`, name: "date", size: "md", value: String(value), CustomInput: React__default.createElement(Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true, style: { color: '#9495A0' } }) }))) })),
4529
- React__default.createElement(Controller, { control: control, name: "measurementDate", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
4530
- React__default.createElement(StyledTextField, { label: t('babyGrowth.input.measurementDate'), name: "date", size: "md", value: DateToInputValue(value), CustomInput: React__default.createElement(DatePicker$1, 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.createElement(CalendarMB, { size: 32 }) })) }))) }),
4531
- React__default.createElement(Button$1, { 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.createElement(React__default.Fragment, null,
4532
- React__default.createElement(Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
4533
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "birthday" },
4534
- React__default.createElement(Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.birthday'))),
4535
- React__default.createElement(DatePicker$1, Object.assign({}, commonDateProps, { onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '' })))) }),
4536
- React__default.createElement(StyledRow$2, null,
4537
- React__default.createElement(Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4538
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "height" },
4539
- React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.height')),
4540
- React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.cm'))),
4541
- React__default.createElement(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() }))) }),
4542
- React__default.createElement(Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4543
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "weight" },
4544
- React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.weight')),
4545
- React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.kg'))),
4546
- React__default.createElement(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() }))) })),
4547
- React__default.createElement(StyledRow$2, null,
4548
- React__default.createElement(Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4549
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "head" },
4550
- React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.headCircumference')),
4551
- React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.cm'))),
4552
- React__default.createElement(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() }))) }),
4553
- React__default.createElement(Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default.createElement(StyledFormControl, null,
4554
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "bmi" },
4555
- React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.input.bmi')),
4556
- React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.kg.m2'))),
4557
- React__default.createElement(Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true }))) })),
4558
- React__default.createElement(Controller, { control: control, name: "measurementDate", render: ({ field: { onChange }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
4559
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "measurementDate" },
4560
- React__default.createElement(Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.measurementDate'))),
4561
- React__default.createElement(DatePicker$1, Object.assign({}, commonDateProps, { defaultValue: new Date(), onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '' })))) }),
4562
- React__default.createElement(Button$1, { 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'))))));
4563
- };
4564
-
4565
- /**
4566
- * Using {@link Intl.NumberFormat} to covert a number to string base on its locale
4567
- * @param {number} num - Number to convert
4568
- * @param {number} maximumFractionDigits - Number of decimal digits
4569
- * @returns {string} - String based number
4570
- */
4571
- const localizeNumberFormat = (num, maximumFractionDigits = 2) => {
4572
- return Intl.NumberFormat(undefined, {
4573
- maximumFractionDigits,
4574
- }).format(num);
4575
- };
4576
-
4577
- /**
4578
- * Calculate BMI
4579
- * Using {@link localizeNumberFormat} to convert number based on locale
4580
- * @param {number} height - Height in number
4581
- * @param {number} weight - Weight in number
4582
- * @returns {number} - BMI with 2 decimal digits
4583
- */
4584
- const bmiCalculate = (height = 0, weight = 0) => {
4585
- try {
4586
- if (height && weight) {
4587
- const bmi = Number(weight) / Math.pow(Number(height) / 100, 2);
4588
- return Number(localizeNumberFormat(bmi));
4589
- }
4590
- else {
4591
- return 0;
4592
- }
4593
- }
4594
- catch (error) { }
4595
- return 0;
4596
- };
4597
-
4598
- const BabyGrowthForm = ({ onSubmit, onError, schema, siteType, layout = 'vertical', styles, classNames, }) => {
4599
- const { classes, theme } = useStyles$3(undefined, {
4600
- name: 'BabyGrowthForm',
4601
- styles,
4602
- classNames,
4603
- });
4604
- const isMarryBaby = theme.other.template === 'mb';
4605
- const { control, setValue, watch, handleSubmit, formState: { isSubmitted }, } = useForm({
4606
- resolver: yupResolver(schema),
4607
- mode: 'onSubmit',
4608
- defaultValues: {
4609
- name: '',
4610
- gender: Gender.Boy,
4611
- measurementDate: new Date(),
4612
- },
4613
- });
4614
- const weight = watch('weight');
4615
- const height = watch('height');
4616
- const head = watch('head');
4617
- const isEmptyThreeFields = useMemo(() => isSubmitted && !weight && !height && !head, [isSubmitted, weight, height, head]);
4618
- useEffect(() => {
4619
- const bmi = bmiCalculate(height, weight);
4620
- setValue('bmi', String(bmi) || '0');
4621
- }, [weight, height]);
4622
- const currentUrl = useMemo(() => {
4623
- if (typeof window !== 'undefined') {
4624
- return window.location.href;
4625
- }
4626
- else
4627
- return '';
4628
- }, []);
4629
- return (React__default.createElement(BabyGrowthFormContext.Provider, { value: {
4630
- isEmptyThreeFields,
4631
- control,
4632
- currentUrl,
4633
- isMarryBaby,
4634
- siteType,
4635
- } },
4636
- React__default.createElement(Box, { component: "form", onSubmit: handleSubmit(onSubmit, onError) }, layout === 'vertical' ? (React__default.createElement(VerticalForm, null)) : (React__default.createElement(HorizonalForm, { classNames: {
4637
- root: classes.root,
4638
- } })))));
4639
- };
4640
-
4641
- const StyledBabyGrowthWrapper = styled.div `
4642
- padding: 36px;
4643
- padding-top: 0;
4644
- background-color: white;
4645
- ${MediaQueries.mbDown} {
4646
- padding: 16px;
4647
- padding-top: 0;
4648
- }
4649
- &[data-theme='marryBaby'] {
4650
- background-color: ${theme.mbColors.green};
4651
- padding: 24px;
4652
- border-bottom-right-radius: 16px;
4653
- border-bottom-left-radius: 16px;
4654
- ${MediaQueries.mbDown} {
4655
- padding: 16px;
4656
- }
4657
- }
4658
- `;
4659
- const StyleForm = styled(BabyGrowthForm) `
4660
- padding-block: 0;
4661
- `;
4662
- styled(ToolsBannerCard) `
4663
- padding-inline: 20px;
4664
-
4665
- img.embedded-icon {
4666
- width: 140px;
4667
- margin-left: 50%;
4668
- align-self: center;
4669
- }
4670
-
4671
- ${MediaQueries.mbDown} {
4672
- padding-inline: 0;
4673
- img.embedded-icon {
4674
- width: 125px;
4675
- align-self: end;
4676
- margin-left: 0;
4677
- position: absolute;
4678
- transform: translateY(50%);
4679
- }
4680
- .embedded-review {
4681
- max-width: 200px;
4682
- }
4683
- }
4684
- `;
4685
-
4686
- const Form = (_a) => {
4687
- var form = __rest(_a, []);
4688
- const { formLayout, siteType, schema, onSubmit, onError } = useContext(BabyGrowthEmbedContext);
4689
- return (React__default.createElement(StyleForm, Object.assign({ siteType: siteType, schema: schema, onSubmit: onSubmit, onError: onError, layout: formLayout }, form)));
4052
+ React__default.createElement(HealthToolCardWrapper.Body, null,
4053
+ React__default.createElement(BmiForm, { onSubmit: onSubmit, bmiGenerated: bmiGenerated, locale: locale, bmiUnit: bmiUnit, formLayout: formLayout }))));
4690
4054
  };
4691
4055
 
4692
- const _BabyGrowthCardEmbed = ({ isMobile, onSubmit, onError, schema, babyGrowthContent, siteType, children, formLayout, }) => {
4056
+ const BabyGrowthCardEmbed = ({ isMobile, onSubmit, onError, schema, babyGrowthContent, formLayout, }) => {
4693
4057
  var _a, _b, _c;
4694
- return (React__default.createElement(BabyGrowthEmbedContext.Provider, { value: { formLayout, siteType, schema, onSubmit, onError } }, children || (React__default.createElement(React__default.Fragment, null,
4695
- React__default.createElement(StyledContainer$3, { "babyGrowthContent-is-mobile": isMobile, "data-site": siteType },
4696
- React__default.createElement(ToolsBannerCard, { siteType: siteType, bannerUrl: CommonGAssets.getAssetPath('embedToolBannerBlue.svg'), bannerUrlLarge: CommonGAssets.getAssetPath('embedToolBannerBlue.svg'), bannerColor: siteType === 'marryBaby' && theme.mbColors.mint, isEmbeded: true, icon: React__default.createElement("img", { className: "embedded-icon", alt: "health-tool-icon", src: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.featuredImage) ||
4697
- CommonGAssets.getAssetPath('health-tools/toolsIconBabyGrowth.svg'), loading: "lazy" }), heading: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.title) || '', medicalReview: {
4698
- link: (_a = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4699
- reviewer: (_b = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer.trim(),
4700
- date: (_c = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4701
- }, isMobile: isMobile }),
4702
- React__default.createElement(StyledBabyGrowthWrapper, { "data-theme": siteType },
4703
- React__default.createElement(Form, { layout: formLayout })))))));
4704
- };
4705
- const BabyGrowthCardEmbed = _BabyGrowthCardEmbed;
4706
- BabyGrowthCardEmbed.Form = Form;
4058
+ return (React__default.createElement(HealthToolCardWrapper, null,
4059
+ React__default.createElement(HealthToolCardWrapper.Banner, { bannerUrl: CommonGAssets.getAssetPath('embedToolBannerBlue.svg'), bannerUrlLarge: CommonGAssets.getAssetPath('embedToolBannerBlue.svg'), isEmbeded: true, icon: React__default.createElement("img", { className: "embedded-icon", alt: "health-tool-icon", src: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.featuredImage) ||
4060
+ CommonGAssets.getAssetPath('health-tools/toolsIconBabyGrowth.svg'), loading: "lazy" }), heading: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.title) || '', medicalReview: {
4061
+ link: (_a = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4062
+ reviewer: (_b = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer.trim(),
4063
+ date: (_c = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4064
+ }, isMobile: isMobile }),
4065
+ React__default.createElement(HealthToolCardWrapper.Body, null,
4066
+ React__default.createElement(BabyGrowthForm, { schema: schema, onSubmit: onSubmit, onError: onError, formLayout: formLayout }))));
4067
+ };
4707
4068
 
4708
4069
  var useStyles$1 = createStyles((theme, params) => {
4709
4070
  const { isMarryBaby, isSide, direction } = params;
@@ -4842,186 +4203,103 @@ const BabyPoopEmbed = ({ babyPoopPage, onClickFindOut, currentUrl, isSide, direc
4842
4203
  sponsorLogo && (React__default.createElement("img", { loading: "lazy", src: sponsorLogo, alt: "sponsor", className: classes.sponsorLogo }))));
4843
4204
  };
4844
4205
 
4845
- const StyledRadioImageGroup = styled.div `
4846
- display: flex;
4847
- width: 100%;
4848
-
4849
- &[data-direction='vertical'] {
4850
- flex-direction: column;
4851
- }
4852
-
4853
- &[data-direction='horizontal'] {
4854
- flex-wrap: wrap;
4855
- }
4856
- `;
4857
- const StyledRadioImageItem = styled.div `
4858
- display: flex;
4859
-
4860
- padding: 8px;
4861
-
4862
- border-radius: ${theme.borderRadius};
4863
- cursor: pointer;
4864
-
4865
- & > div {
4866
- display: flex;
4867
- width: 100%;
4868
- height: 100%;
4869
- flex-direction: column;
4870
- align-items: center;
4871
- justify-content: flex-start;
4872
- }
4873
-
4874
- &[data-selected='true'] {
4875
- border: 1px solid #2d87f3;
4876
- background: white;
4206
+ const ThrFormContext = createContext({});
4877
4207
 
4878
- .radio-group-item-heading {
4879
- color: #2d87f3;
4880
- }
4881
- }
4882
- &[data-selected='false'] {
4883
- border: 1px solid #f2f2f2;
4884
- box-shadow: 0px 5px 12px rgba(40, 74, 117, 0.08);
4885
- .radio-group-item-heading {
4886
- color: #262626;
4887
- }
4888
- }
4889
- &[data-disabled='true'] {
4890
- cursor: auto;
4891
- }
4892
-
4893
- .radio-group-item-heading {
4894
- margin-top: 8px;
4895
- text-align: center;
4896
- }
4897
-
4898
- .gender-image {
4899
- width: 23px;
4900
- height: 36px;
4901
- object-fit: contain;
4902
- }
4903
- `;
4904
-
4905
- const RadioImageGroupForTool = ({ value, options, className, direction = 'horizontal', onChange, isDisabled, }) => {
4906
- const [check, setCheck] = useState(value);
4907
- const handleOnChange = (v) => {
4908
- if (isDisabled)
4909
- return;
4910
- setCheck(v);
4911
- onChange && onChange(v);
4912
- };
4913
- return (React__default.createElement(StyledRadioImageGroup, { className: className, "data-direction": direction }, options.map((option, index) => (React__default.createElement(StyledRadioImageItem, { "data-selected": (value || check) === option.value, "data-disabled": isDisabled, key: `health-tool${index}`, onClick: () => {
4914
- handleOnChange(option.value);
4915
- } },
4916
- React__default.createElement("div", null,
4917
- React__default.createElement("img", { src: (value || check) === option.value
4918
- ? option.imageActive
4919
- : option.image, className: "gender-image", alt: "", loading: "lazy" }),
4920
- option.label && (React__default.createElement(Text, { weight: "bold", className: "radio-group-item-heading", size: "label1" }, option.label))))))));
4208
+ const DefaultForm = (_a) => {
4209
+ var _b;
4210
+ var props = __rest(_a, []);
4211
+ const { t, locale } = useTranslations();
4212
+ const { isAdult, activeValueNote, linkTool, form } = useContext(ThrFormContext);
4213
+ return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
4214
+ React__default.createElement(GenderOptionControl, Object.assign({}, form.getInputProps('gender'))),
4215
+ React__default.createElement(DatePicker$1, Object.assign({}, form.getInputProps('age'), { placeholder: 'DD/MM/YYYY', popoverProps: {
4216
+ withinPortal: true,
4217
+ }, label: t('targetHeartRate.ageInput'), maxDate: new Date() })),
4218
+ React__default.createElement(Input$1.Number, Object.assign({ label: t('targetHeartRate.heartRateInput'), placeholder: t('tools.inputPlaceholder', {
4219
+ content: '60',
4220
+ }) }, form.getInputProps('heartRate'), { min: 40, max: 200, styles: () => ({
4221
+ rightSection: {
4222
+ width: 'auto',
4223
+ },
4224
+ }) })),
4225
+ isAdult && (React__default.createElement(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) => ({
4226
+ value: option.value,
4227
+ label: option.label,
4228
+ })), styles: {
4229
+ item: {
4230
+ whiteSpace: 'nowrap',
4231
+ padding: '10px 12px',
4232
+ fontSize: '14px',
4233
+ },
4234
+ }, withinPortal: true }, form.getInputProps('activeValue')))),
4235
+ React__default.createElement(HealthToolFormWrapper.Submit, { type: "submit", dataEventCategory: "Health Tool", dataEventAction: "THR", dataEventLabel: `https://${domainLocales[locale]}/${linkTool}` }, t('bmi.submit'))));
4921
4236
  };
4922
4237
 
4923
- const StyledButton$1 = styled(Button$1) `
4924
- margin: 0 auto 24px;
4925
- width: 100%;
4926
- ${MediaQueries.mbUp} {
4927
- max-width: 200px;
4928
- }
4929
- `;
4930
- const StyledContainer$1 = styled.div ``;
4931
- const FormControl$1 = styled.div `
4932
- display: flex;
4933
- flex-direction: column;
4934
- gap: 16px;
4935
- input {
4936
- font-size: 12px;
4937
- }
4938
- .gender-option {
4939
- gap: 16px;
4940
- > div {
4941
- width: calc(50% - 8px);
4942
- }
4943
- }
4944
- .input-label {
4945
- label {
4946
- display: inline-block;
4947
- margin-bottom: 9px;
4948
- color: #595959;
4949
- font-weight: bold;
4950
- font-size: 12px;
4951
- }
4952
- }
4953
- `;
4954
- const StyledRow$1 = styled.div `
4955
- ${MediaQueries.mbUp} {
4956
- display: flex;
4957
- width: 100%;
4958
- align-items: flex-start;
4959
- justify-content: space-between;
4960
- gap: 16px;
4961
- margin-bottom: 24px;
4962
- > div {
4963
- width: 100%;
4964
- }
4965
- }
4966
-
4967
- ${MediaQueries.mbDown} {
4968
- display: flex;
4969
- flex-direction: column;
4970
- gap: 16px;
4971
- margin-bottom: 8px;
4972
- }
4973
- &[data-is-side='true'] {
4974
- ${MediaQueries.mbUp} {
4975
- display: flex;
4976
- flex-direction: column-reverse;
4977
- gap: 0px;
4978
- }
4979
- }
4980
- `;
4981
-
4982
- const ThrForm = ({ info, className, style, onChange, errorMessage = {}, locale, }) => {
4983
- const { t } = useTranslations();
4984
- const [dob, setDob] = useState(new Date());
4985
- const [isEdit, setIsEdit] = useState({
4986
- age: false,
4987
- rate: false,
4988
- });
4989
- const onAgeChanged = (dob) => {
4990
- setDob(dob);
4991
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { age: true })));
4992
- const newInfo = Object.assign(Object.assign({}, info), { age: format(new Date(dob), API_DATE_FORMAT) });
4993
- onChange && onChange(newInfo);
4994
- };
4995
- useEffect(() => {
4996
- setIsEdit({
4997
- age: false,
4998
- rate: false,
4999
- });
5000
- }, [errorMessage]);
5001
- return (React__default.createElement(StyledContainer$1, { style: style, className: className },
5002
- React__default.createElement(Input, { className: "input-section due-date-input", label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600, style: { marginBottom: '9px', flex: '1' } }, t('targetHeartRate.ageInput')), value: DateToInputValue(dob), name: "date", size: "md", CustomInput: React__default.createElement(DatePicker, { customInput: (props) => (React__default.createElement("input", Object.assign({ type: "date", className: "due-date-input" }, props, { value: DateToInputValue(dob) }))), disabledDays: {
5003
- after: new Date(addDays(new Date(), 0)),
5004
- }, locale: locale, pickedDate: dob, displayDateFormat: 'dd/MM/yyyy', onChange: (date) => {
5005
- onAgeChanged(date);
5006
- }, placeholder: "placeholder" }), errorMessage: !isEdit.age ? errorMessage.age : '' })));
4238
+ const InlineForm = (_a) => {
4239
+ var _b;
4240
+ var props = __rest(_a, []);
4241
+ const { t, locale } = useTranslations();
4242
+ const { isAdult, activeValueNote, linkTool, form } = useContext(ThrFormContext);
4243
+ return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
4244
+ React__default.createElement(HealthToolFormWrapper.FormRow, null,
4245
+ React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('tools.selectGender') },
4246
+ React__default.createElement(GenderOptionControl, Object.assign({ type: "radio", hideLabel: true, error: null }, form.getInputProps('gender')))),
4247
+ form.errors.gender && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.gender))),
4248
+ React__default.createElement(HealthToolFormWrapper.FormRow, null,
4249
+ React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('targetHeartRate.ageInput') },
4250
+ React__default.createElement(DatePicker$1, Object.assign({}, form.getInputProps('age'), { placeholder: 'DD/MM/YYYY', popoverProps: {
4251
+ withinPortal: true,
4252
+ }, error: null, maxDate: new Date() }))),
4253
+ form.errors.age && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.age))),
4254
+ React__default.createElement(HealthToolFormWrapper.FormRow, null,
4255
+ React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('targetHeartRate.heartRateInput') },
4256
+ React__default.createElement(Input$1.Number, Object.assign({ placeholder: t('tools.inputPlaceholder', {
4257
+ content: '60',
4258
+ }) }, form.getInputProps('heartRate'), { error: null, min: 40, max: 200, rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, "bmp"), styles: () => ({
4259
+ rightSection: {
4260
+ width: 'auto',
4261
+ },
4262
+ }) }))),
4263
+ form.errors.heartRate && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.heartRate))),
4264
+ isAdult && (React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('targetHeartRate.selectActive') },
4265
+ React__default.createElement(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) => ({
4266
+ value: option.value,
4267
+ label: option.label,
4268
+ })), styles: {
4269
+ item: {
4270
+ whiteSpace: 'nowrap',
4271
+ padding: '10px 12px',
4272
+ fontSize: '14px',
4273
+ },
4274
+ }, withinPortal: true }, form.getInputProps('activeValue'))))),
4275
+ React__default.createElement(HealthToolFormWrapper.Submit, { type: "submit", dataEventCategory: "Health Tool", dataEventAction: "THR", dataEventLabel: `https://${domainLocales[locale]}/${linkTool}` }, t('bmi.submit'))));
5007
4276
  };
5008
4277
 
5009
- const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMessage, onFormChange, onSubmit, }) => {
5010
- var _a, _b, _c;
5011
- const { t } = useTranslations();
4278
+ const ThrForm = (_a) => {
4279
+ var { formLayout, onSubmit, onError } = _a, rest = __rest(_a, ["formLayout", "onSubmit", "onError"]);
4280
+ const { t, locale } = useTranslations();
4281
+ const minRange = useRef(40);
5012
4282
  const { getHealthToolLink } = useHealthToolsCache(locale);
4283
+ const form = useForm$1({
4284
+ initialValues: {
4285
+ heartRate: 60,
4286
+ activeValue: 'low_intensity',
4287
+ },
4288
+ validate: {
4289
+ gender: isNotEmpty(t('tools.requiredErrorMess.gender')),
4290
+ age: isNotEmpty(t('tools.requiredErrorMess.age')),
4291
+ heartRate: (value) => {
4292
+ return Number(value) >= minRange.current && Number(value) <= 200
4293
+ ? null
4294
+ : t('tools.heartRateRangeErr', {
4295
+ min: minRange.current,
4296
+ max: 200,
4297
+ });
4298
+ },
4299
+ },
4300
+ });
5013
4301
  const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE$1.THR), [getHealthToolLink]);
5014
4302
  const [isAdult, setIsAdult] = useState(false);
5015
- const [activeValue, setActiveValue] = useState('low_intensity');
5016
- const [genderValue, setGenderValue] = useState('male');
5017
- const [heartRate, setHeartRate] = useState(60);
5018
- const [range, setRange] = useState({
5019
- idAge: 0,
5020
- minAge: 0,
5021
- maxAge: 18,
5022
- rangeMale: 40,
5023
- rangeFemale: 40,
5024
- });
5025
4303
  const rangeHeartRateByAge = [
5026
4304
  {
5027
4305
  idAge: 0,
@@ -5111,18 +4389,34 @@ const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMe
5111
4389
  },
5112
4390
  ];
5113
4391
  useEffect(() => {
5114
- const age = (new Date().getTime() - new Date(info === null || info === void 0 ? void 0 : info.age).getTime()) / 1000;
5115
- if (age >= 18 * 365 * 24 * 60 * 60)
5116
- setIsAdult(true);
5117
- else
5118
- setIsAdult(false);
5119
- const rangeByAge = rangeHeartRateByAge.find((item) => age >= item.minAge * 365 * 24 * 60 * 60 &&
5120
- age < item.maxAge * 365 * 24 * 60 * 60) || rangeHeartRateByAge[0];
5121
- setRange(rangeByAge);
5122
- setHeartRate(60);
5123
- }, [info === null || info === void 0 ? void 0 : info.age]);
5124
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide },
5125
- React__default.createElement(ToolsBannerCard, { isSide: isSide, icon: React__default.createElement("img", { alt: "health-tool-icon", src: (thrContent === null || thrContent === void 0 ? void 0 : thrContent.featured_image) ||
4392
+ const ageDate = form.getInputProps('age').value;
4393
+ const gender = form.getInputProps('gender').value;
4394
+ if (ageDate instanceof Date) {
4395
+ const age = (new Date().getTime() - ageDate.getTime()) / 1000;
4396
+ if (age >= 18 * 365 * 24 * 60 * 60)
4397
+ setIsAdult(true);
4398
+ else
4399
+ setIsAdult(false);
4400
+ const rangeByAge = rangeHeartRateByAge.find((item) => age >= item.minAge * 365 * 24 * 60 * 60 &&
4401
+ age < item.maxAge * 365 * 24 * 60 * 60) || rangeHeartRateByAge[0];
4402
+ minRange.current =
4403
+ gender === 'male' ? rangeByAge.rangeMale : rangeByAge.rangeFemale;
4404
+ }
4405
+ }, [form]);
4406
+ const commonProps = Object.assign(Object.assign({}, rest), { onSubmit: form.onSubmit(onSubmit, onError) });
4407
+ return (React__default.createElement(ThrFormContext.Provider, { value: {
4408
+ isAdult,
4409
+ activeValueNote,
4410
+ linkTool,
4411
+ form,
4412
+ } }, formLayout === 'inline' ? (React__default.createElement(InlineForm, Object.assign({}, commonProps))) : (React__default.createElement(DefaultForm, Object.assign({}, commonProps)))));
4413
+ };
4414
+
4415
+ const THRCardEmbed = ({ thrContent, isMobile, formLayout, onSubmit, }) => {
4416
+ var _a, _b;
4417
+ const { t } = useTranslations();
4418
+ return (React__default.createElement(HealthToolCardWrapper, null,
4419
+ React__default.createElement(HealthToolCardWrapper.Banner, { icon: React__default.createElement("img", { alt: "health-tool-icon", src: (thrContent === null || thrContent === void 0 ? void 0 : thrContent.featured_image) ||
5126
4420
  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)
5127
4421
  ? {
5128
4422
  link: formatUserProfileUrl(thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedBy),
@@ -5130,230 +4424,24 @@ const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMe
5130
4424
  date: thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedDate,
5131
4425
  }
5132
4426
  : undefined, isMobile: isMobile }),
5133
- React__default.createElement(Container, null,
5134
- React__default.createElement(StyledContent, { className: "heart-rate-cal", onSubmit: (e) => e.preventDefault(), "data-is-side": isSide },
5135
- React__default.createElement(StyledRow$1, { "data-is-side": isSide },
5136
- React__default.createElement(FormControl$1, null,
5137
- React__default.createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => {
5138
- setGenderValue(v);
5139
- setHeartRate(60);
5140
- }, styles: (theme) => ({
5141
- root: !isSide && {
5142
- [theme.fn.largerThan('sm')]: {
5143
- width: 'calc((100% - 24px) * 2/3 + 12px)',
5144
- },
5145
- },
5146
- wrapper: {
5147
- [theme.fn.largerThan('sm')]: {
5148
- gap: rem(12),
5149
- },
5150
- },
5151
- }) }))),
5152
- React__default.createElement(StyledRow$1, null,
5153
- React__default.createElement(ThrForm, { info: info, locale: locale, errorMessage: inputErrorMessage, onChange: onFormChange })),
5154
- React__default.createElement("div", { className: "slider-heart-rate" },
5155
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 }, t('targetHeartRate.heartRateInput')),
5156
- React__default.createElement("div", { className: "slider-outer-wrapper" },
5157
- React__default.createElement(Slider, { containerStyle: {
5158
- flex: 1,
5159
- }, min: genderValue === 'male' ? range.rangeMale : range.rangeFemale, max: 200, step: 1, value: heartRate, withControl: true, onChange: setHeartRate }))),
5160
- isAdult && (React__default.createElement(FormControl$1, null,
5161
- React__default.createElement(StyledActive, null,
5162
- React__default.createElement(Text, { size: "s4", style: {
5163
- display: 'inline-block',
5164
- fontWeight: 'bold',
5165
- color: theme.colors.gray600,
5166
- marginBottom: '9px',
5167
- } }, t('targetHeartRate.selectActive')),
5168
- React__default.createElement("div", { className: "card" },
5169
- React__default.createElement(RadioImageGroupForTool, { options: activeValueNote.map((option) => ({
5170
- value: option.value,
5171
- label: option.label,
5172
- image: option.image,
5173
- imageActive: option.imageActive,
5174
- })), value: activeValue, onChange: (v) => {
5175
- setActiveValue(v);
5176
- }, className: "gender-selector" })),
5177
- activeValue && (React__default.createElement("div", { className: "note" },
5178
- React__default.createElement("img", { style: {
5179
- height: '16px',
5180
- width: '16px',
5181
- }, src: CommonGAssets.getAssetPath(`/infoIcon.svg`), alt: "", loading: "lazy" }),
5182
- React__default.createElement(Text, { size: "s4", color: "#595959" }, (_c = activeValueNote[activeValueNote.findIndex((x) => x.value == activeValue) || 0]) === null || _c === void 0 ? void 0 : _c.content))),
5183
- !activeValue && (React__default.createElement("span", { style: { color: '#e64728' } }, inputErrorMessage.intensity)))))),
5184
- React__default.createElement("div", { style: { display: 'flex' } },
5185
- React__default.createElement(StyledButton$1, { size: "lg", onClick: () => {
5186
- onSubmit(genderValue, activeValue, [heartRate]);
5187
- }, dataEventCategory: "Health Tool", dataEventAction: "THR", dataEventLabel: `https://${domainLocales[locale]}/${linkTool}` }, t('bmi.submit'))))));
4427
+ React__default.createElement(HealthToolCardWrapper.Body, null,
4428
+ React__default.createElement(ThrForm, { onSubmit: onSubmit, formLayout: formLayout }))));
5188
4429
  };
5189
4430
 
5190
- const StyledButton = styled(Button$1) `
5191
- margin: 0 auto 24px;
5192
- ${MediaQueries.mbUp} {
5193
- max-width: 200px;
5194
- margin: 24px auto;
5195
- }
5196
- `;
5197
- const StyledContainer = styled.div ``;
5198
- const FormControl = styled.div `
5199
- margin-bottom: 1rem;
5200
- display: flex;
5201
- flex-direction: column;
5202
- gap: 16px;
5203
- input {
5204
- font-size: 12px;
5205
- ::placeholder {
5206
- color: #8c8c8c;
5207
- opacity: 1;
5208
- }
5209
- }
5210
- .gender-option {
5211
- gap: 16px;
5212
- > div {
5213
- width: calc(50% - 8px);
5214
- }
5215
- }
5216
- .input-label {
5217
- label {
5218
- display: inline-block;
5219
- margin-bottom: 9px;
5220
- color: #595959;
5221
- font-weight: bold;
5222
- font-size: 12px;
5223
- }
5224
- }
5225
- `;
5226
- const StyledRow = styled.div `
5227
- ${MediaQueries.mbUp} {
5228
- display: flex;
5229
- width: 100%;
5230
- align-items: flex-start;
5231
- justify-content: space-between;
5232
- gap: 12px;
5233
- > div {
5234
- width: 100%;
5235
- }
5236
- &[data-is-side='true'] {
5237
- ${MediaQueries.mbUp} {
5238
- display: flex;
5239
- flex-direction: column;
5240
- gap: 0px;
5241
- }
5242
- }
5243
- }
5244
- ${MediaQueries.mbDown} {
5245
- display: flex;
5246
- flex-direction: column;
5247
- gap: 0px;
5248
- }
5249
- `;
5250
-
5251
- const BmrInputForm = ({ info, className, style, onChange, errorMessage = {}, locale, onClick, isSide, }) => {
5252
- const { t } = useTranslations();
5253
- const [isEdit, setIsEdit] = useState({
5254
- age: false,
5255
- height: false,
5256
- weight: false,
5257
- });
5258
- const { getHealthToolLink } = useHealthToolsCache(locale);
5259
- const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE$1.OVULATION), [getHealthToolLink]);
5260
- const [genderValue, setGenderValue] = useState('male');
5261
- const checkValidInputIsANumber = (s, cb) => {
5262
- if (s === '' || (!isNaN(s) && !isNaN(parseFloat(s)))) {
5263
- cb(s);
5264
- }
5265
- };
5266
- const checkValidInputIsAnInterger = (s, cb) => {
5267
- if (s === '' ||
5268
- (!isNaN(s) && !isNaN(parseFloat(s)) && !s.includes('.'))) {
5269
- cb(s);
5270
- }
5271
- };
5272
- const onAgeChanged = (age) => {
5273
- checkValidInputIsAnInterger(age, (a) => {
5274
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { age: true })));
5275
- const newInfo = Object.assign(Object.assign({}, info), { age: a });
5276
- // setInfo(newInfo)
5277
- onChange && onChange(newInfo);
5278
- });
5279
- };
5280
- const onHeightChanged = (height) => {
5281
- checkValidInputIsANumber(height, (h) => {
5282
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { height: true })));
5283
- const newInfo = Object.assign(Object.assign({}, info), { height: h });
5284
- // setInfo(newInfo)
5285
- onChange && onChange(newInfo);
5286
- });
5287
- };
5288
- const onWeightChanged = (weight) => {
5289
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { weight: true })));
5290
- checkValidInputIsANumber(weight, (w) => {
5291
- const newInfo = Object.assign(Object.assign({}, info), { weight: w });
5292
- // setInfo(newInfo)
5293
- onChange && onChange(newInfo);
5294
- });
5295
- };
5296
- useEffect(() => {
5297
- onChange &&
5298
- onChange(Object.assign(Object.assign({}, info), { objective: 'lose-fat', activeLevel: 'sedentary' }));
5299
- }, []);
5300
- useEffect(() => {
5301
- setIsEdit({
5302
- age: false,
5303
- height: false,
5304
- weight: false,
5305
- });
5306
- }, [errorMessage]);
5307
- return (React__default.createElement(StyledContainer, { style: style, className: className },
5308
- React__default.createElement(FormControl, { "data-is-side": isSide },
5309
- React__default.createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => setGenderValue(v), styles: (theme) => ({
5310
- root: !isSide && {
5311
- [theme.fn.largerThan('sm')]: {
5312
- width: 'calc((100% - 24px) * 2/3 + 12px)',
5313
- },
5314
- },
5315
- wrapper: {
5316
- [theme.fn.largerThan('sm')]: {
5317
- gap: rem(12),
5318
- },
5319
- },
5320
- }) })),
5321
- React__default.createElement(StyledRow, { "data-is-side": isSide },
5322
- React__default.createElement(FormControl, null,
5323
- React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
5324
- t('bmi.ageInput'),
5325
- ' ',
5326
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: 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 })),
5327
- React__default.createElement(FormControl, null,
5328
- React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
5329
- t('bmi.heightInput'),
5330
- ' ',
5331
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: 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 })),
5332
- React__default.createElement(FormControl, null,
5333
- React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
5334
- t('bmi.weightInput'),
5335
- ' ',
5336
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: 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 }))),
5337
- React__default.createElement("div", { style: { display: 'flex' } },
5338
- React__default.createElement(StyledButton, { size: "lg", fullWidth: true, className: "bmi-btn bmi--btn-submit", dataEventCategory: "Health Tool", dataEventAction: "BMR", dataEventLabel: `https://${domainLocales[locale]}/${linkTool}`, onClick: () => {
5339
- onClick(genderValue);
5340
- } }, t('bmi.submit')))));
5341
- };
5342
-
5343
- const BMRCardEmbed = ({ isSide, locale, bmrContent, isMobile, info, inputErrorMessage, onFormChange, onSubmit, }) => {
4431
+ const BMRCardEmbed = ({ bmrContent, isMobile, onSubmit, formLayout, bmiGenerated, bmiUnit, }) => {
5344
4432
  var _a, _b, _c;
5345
4433
  const { t } = useTranslations();
5346
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide },
5347
- React__default.createElement(ToolsBannerCard, { isSide: isSide, icon: React__default.createElement("img", { alt: "health-tool-icon", src: (bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.featured_image) ||
4434
+ return (React__default.createElement(HealthToolCardWrapper, null,
4435
+ React__default.createElement(HealthToolCardWrapper.Banner, { icon: React__default.createElement("img", { alt: "health-tool-icon", src: (bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.featured_image) ||
5348
4436
  CommonGAssets.getAssetPath('health-tools/bmr.svg'), loading: "lazy" }), heading: t('bmr.heading'), medicalReview: {
5349
4437
  link: (_a = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
5350
4438
  reviewer: (_b = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer,
5351
4439
  date: (_c = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
5352
4440
  }, isMobile: isMobile }),
5353
- React__default.createElement(Container, null,
5354
- React__default.createElement(StyledContent, { onSubmit: (e) => e.preventDefault(), "data-is-side": isSide },
5355
- React__default.createElement(StyledInputForm, null,
5356
- React__default.createElement(BmrInputForm, { info: info, locale: locale, errorMessage: inputErrorMessage, onChange: onFormChange, onClick: onSubmit, isSide: isSide }))))));
4441
+ React__default.createElement(HealthToolCardWrapper.Body, null,
4442
+ React__default.createElement(BmiForm, { onSubmit: onSubmit, bmiGenerated: bmiGenerated, bmiUnit: bmiUnit, formLayout: formLayout, submitProps: {
4443
+ dataEventAction: 'BMR',
4444
+ } }))));
5357
4445
  };
5358
4446
 
5359
4447
  const OvulationForm = ({ locale, onSubmit, isSide, siteType }) => {
@@ -5468,8 +4556,8 @@ const OvulationCalculator = ({ locale, onSubmitOvulation, isSide, siteType, }) =
5468
4556
  const OvulationCardEmbed = ({ onSubmitOvulation, locale, ovulationPageInfo, expertUrl, isSide = false, siteType, isMobile, }) => {
5469
4557
  var _a;
5470
4558
  const { t } = useTranslations();
5471
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
5472
- React__default.createElement(ToolsBannerCard, { isSide: isSide, bannerUrl: CommonGAssets.getAssetPath('embedToolBannerPink.svg'), siteType: siteType, bannerColor: siteType === 'marryBaby' && theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default.createElement("img", { alt: "health-tool-icon", src: (ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.featured_image) ||
4559
+ return (React__default.createElement(HealthToolCardWrapper, { isPregTool: true },
4560
+ React__default.createElement(HealthToolCardWrapper.Banner, { bannerUrl: CommonGAssets.getAssetPath('embedToolBannerPink.svg'), bannerColor: siteType === 'marryBaby' && theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default.createElement("img", { alt: "health-tool-icon", src: (ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.featured_image) ||
5473
4561
  CommonGAssets.getAssetPath('health-tools/ovulation-icon.svg'), loading: "lazy" }), heading: t('healthTools.ovulationCalculator'), medicalReview: {
5474
4562
  link: expertUrl,
5475
4563
  reviewer: (_a = ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.reviewed_by) === null || _a === void 0 ? void 0 : _a.display_name,
@@ -5586,8 +4674,8 @@ const PWGCardEmbed = ({ locale, onClick, inputErrorMessage, pwgContent, onFormCh
5586
4674
  })), []);
5587
4675
  const { getHealthToolLink } = useHealthToolsCache(locale);
5588
4676
  const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE$1.PWG), [getHealthToolLink]);
5589
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
5590
- React__default.createElement(ToolsBannerCard, { siteType: siteType, bannerColor: siteType === 'marryBaby' && theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default.createElement("img", { alt: "health-tool-icon", src: (pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.featuredImage) ||
4677
+ return (React__default.createElement(HealthToolCardWrapper, { isPregTool: true },
4678
+ React__default.createElement(HealthToolCardWrapper.Banner, { bannerColor: siteType === 'marryBaby' && theme.mbColors.mint, isEmbeded: true, color: "pink", icon: React__default.createElement("img", { alt: "health-tool-icon", src: (pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.featuredImage) ||
5591
4679
  CommonGAssets.getAssetPath('health-tools/pwg-icon.svg'), loading: "lazy" }), heading: t('pregnancyWeightGain.heading'), medicalReview: {
5592
4680
  link: formatUserProfileUrl(pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedBy),
5593
4681
  reviewer: (_a = pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedBy) === null || _a === void 0 ? void 0 : _a.display_name,
@@ -8473,4 +7561,4 @@ const UserProfileNavigation = ({ SSO_URL, UP_BASEPATH = 'user', themeName = 'hel
8473
7561
  logoutButton))));
8474
7562
  };
8475
7563
 
8476
- export { NavHeader as $, Alert as A, Badge as B, Checkbox as C, DoctorInfo as D, THRCardEmbed as E, FileDropdown as F, Grid as G, BMRCardEmbed as H, IconText as I, PWGCardEmbed as J, DateRangePicker as K, Breadcrumbs as L, MobileBottomNavigation as M, ShareContainer as N, OvulationCardEmbed as O, Pagination as P, ShareDrawer as Q, Radio as R, ScrollList as S, Tag as T, AdBlock as U, FixedBottomAdBlock as V, SurveyOrPremiumBanner as W, MAPPING_CATEGORY_PREMIUM_TYPE as X, MAPPING_CATEGORY_PREMIUM_API_TYPE as Y, SideBannerModal as Z, UserProfileNavigation as _, Avatar as a, UserStats as a0, BorderHeading as b, Toggle as c, RateStars as d, GenderOptionControl as e, ArticleCard$1 as f, ArticleCard as g, CategoryCard as h, CheckboxGroup as i, ProgressBar as j, RadioGroup as k, index$1 as l, StatisticCard as m, index as n, Tabs as o, SurveyQuestionCard as p, SurveyThankyouCard as q, FloatButtonGroup as r, CookieAcceptConfirm as s, MobileBottomNavigationIcon as t, SeoHead as u, ToolsBannerCard as v, DueDateCardEmbed as w, BMICardEmbed as x, BabyGrowthCardEmbed as y, BabyPoopEmbed as z };
7564
+ export { UserProfileNavigation as $, Alert as A, Badge as B, Checkbox as C, DoctorInfo as D, THRCardEmbed as E, FileDropdown as F, Grid as G, ThrForm as H, IconText as I, BMRCardEmbed as J, PWGCardEmbed as K, DateRangePicker as L, MobileBottomNavigation as M, Breadcrumbs as N, OvulationCardEmbed as O, Pagination as P, ShareContainer as Q, Radio as R, ScrollList as S, Tag as T, ShareDrawer as U, AdBlock as V, FixedBottomAdBlock as W, SurveyOrPremiumBanner as X, MAPPING_CATEGORY_PREMIUM_TYPE as Y, MAPPING_CATEGORY_PREMIUM_API_TYPE as Z, SideBannerModal as _, Avatar as a, NavHeader as a0, UserStats as a1, BorderHeading as b, Toggle as c, RateStars as d, ArticleCard$1 as e, ArticleCard as f, CategoryCard as g, CheckboxGroup as h, ProgressBar as i, RadioGroup as j, index$1 as k, StatisticCard as l, index as m, Tabs as n, SurveyQuestionCard as o, SurveyThankyouCard as p, FloatButtonGroup as q, CookieAcceptConfirm as r, MobileBottomNavigationIcon as s, SeoHead as t, ToolsBannerCard as u, DueDateCardEmbed as v, BMICardEmbed as w, BmiForm as x, BabyGrowthCardEmbed as y, BabyPoopEmbed as z };