@hhgtech/hhg-components 1.29.37 → 1.29.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/build/{WhatsApp-7a67a5f6.js → WhatsApp-7c990a33.js} +1 -1
  2. package/build/adapters.js +15 -15
  3. package/build/babyGrowth.js +204 -147
  4. package/build/cache.js +3 -3
  5. package/build/care.js +17 -17
  6. package/build/components/atoms/genderOptionControl/index.d.ts +8 -4
  7. package/build/components/atoms/genderOptionControl/index.styles.d.ts +5 -1
  8. package/build/components/babyGrowth/babyGrowthForm/context.d.ts +0 -1
  9. package/build/components/babyGrowth/babyGrowthForm/index.d.ts +4 -7
  10. package/build/components/babyGrowth/babyGrowthForm/layout/default/index.d.ts +3 -0
  11. package/build/components/babyGrowth/babyGrowthForm/layout/inline/index.d.ts +3 -0
  12. package/build/components/babyGrowth/babyGrowthForm/layout/inline/index.styles.d.ts +11 -0
  13. package/build/components/babyGrowth/index.d.ts +1 -0
  14. package/build/components/molecules/embeddedHeathToolCards/baby-growth/index.d.ts +8 -10
  15. package/build/components/molecules/embeddedHeathToolCards/bmi/bmi.d.ts +1 -6
  16. package/build/components/molecules/embeddedHeathToolCards/bmi/context.d.ts +2 -1
  17. package/build/components/molecules/embeddedHeathToolCards/bmr/bmr.d.ts +5 -10
  18. package/build/components/molecules/embeddedHeathToolCards/helpers.d.ts +5 -5
  19. package/build/components/molecules/embeddedHeathToolCards/target-heart-rate/index.d.ts +6 -13
  20. package/build/components/molecules/healthTools/cardWrapper/banner/index.d.ts +4 -0
  21. package/build/components/molecules/healthTools/cardWrapper/body/index.d.ts +3 -0
  22. package/build/components/molecules/healthTools/cardWrapper/context.d.ts +5 -0
  23. package/build/components/molecules/healthTools/cardWrapper/index.d.ts +12 -0
  24. package/build/components/{babyGrowth/babyGrowthForm/layout/horizonal → molecules/healthTools/cardWrapper}/index.styles.d.ts +3 -1
  25. package/build/components/molecules/healthTools/components/borderBoxControl/error.d.ts +3 -0
  26. package/build/components/molecules/healthTools/components/borderBoxControl/index.d.ts +8 -0
  27. package/build/{esm/components/molecules/thrForm → components/molecules/healthTools/components/borderBoxControl}/index.styled.d.ts +12 -9
  28. package/build/components/molecules/healthTools/components/borderBoxControl/index.styles.d.ts +14 -0
  29. package/build/components/molecules/healthTools/components/borderInlineControl/error.d.ts +3 -0
  30. package/build/components/molecules/healthTools/components/borderInlineControl/index.d.ts +8 -0
  31. package/build/components/molecules/healthTools/components/borderInlineControl/index.styles.d.ts +14 -0
  32. package/build/components/molecules/healthTools/components/control/index.d.ts +5 -0
  33. package/build/components/molecules/healthTools/components/control/index.styles.d.ts +8 -0
  34. package/build/components/molecules/healthTools/form/bmiForm/context.d.ts +15 -0
  35. package/build/components/molecules/healthTools/form/bmiForm/defaultLayout.d.ts +3 -0
  36. package/build/components/molecules/healthTools/form/bmiForm/index.d.ts +4 -0
  37. package/build/components/molecules/healthTools/form/bmiForm/inlineLayout.d.ts +3 -0
  38. package/build/components/molecules/healthTools/form/thrForm/context.d.ts +16 -0
  39. package/build/components/molecules/healthTools/form/thrForm/defaultLayout.d.ts +3 -0
  40. package/build/components/molecules/healthTools/form/thrForm/index.d.ts +15 -0
  41. package/build/components/molecules/healthTools/form/thrForm/inlineLayout.d.ts +3 -0
  42. package/build/components/molecules/healthTools/formWrapper/context.d.ts +5 -0
  43. package/build/components/molecules/healthTools/formWrapper/formRow.d.ts +3 -0
  44. package/build/components/molecules/healthTools/formWrapper/index.d.ts +22 -0
  45. package/build/components/molecules/healthTools/formWrapper/index.styles.d.ts +13 -0
  46. package/build/components/molecules/healthTools/formWrapper/submitBtn.d.ts +3 -0
  47. package/build/components/molecules/healthTools/formWrapper/unit.d.ts +3 -0
  48. package/build/components/molecules/index.d.ts +3 -0
  49. package/build/components/molecules/toolBannerCard/index.d.ts +2 -3
  50. package/build/components/molecules/toolBannerCard/index.styled.d.ts +0 -14
  51. package/build/components.js +63 -61
  52. package/build/{constants-98c8325c.js → constants-341e3655.js} +2 -2
  53. package/build/{constants-def9eb29.js → constants-e7f8b0d2.js} +2 -2
  54. package/build/constants.js +3 -3
  55. package/build/{core-72af88cc.js → core-624d9eef.js} +2 -2
  56. package/build/{dataTransform-bf44d91c.js → dataTransform-4724625a.js} +1 -1
  57. package/build/ecom.js +6 -6
  58. package/build/esm/{WhatsApp-25882f30.js → WhatsApp-4464ab6c.js} +1 -1
  59. package/build/esm/adapters.js +15 -15
  60. package/build/esm/babyGrowth.js +140 -84
  61. package/build/esm/cache.js +3 -3
  62. package/build/esm/care.js +17 -17
  63. package/build/esm/components/atoms/genderOptionControl/index.d.ts +8 -4
  64. package/build/esm/components/atoms/genderOptionControl/index.styles.d.ts +5 -1
  65. package/build/esm/components/babyGrowth/babyGrowthForm/context.d.ts +0 -1
  66. package/build/esm/components/babyGrowth/babyGrowthForm/index.d.ts +4 -7
  67. package/build/esm/components/babyGrowth/babyGrowthForm/layout/default/index.d.ts +3 -0
  68. package/build/esm/components/babyGrowth/babyGrowthForm/layout/inline/index.d.ts +3 -0
  69. package/build/esm/components/babyGrowth/babyGrowthForm/layout/inline/index.styles.d.ts +11 -0
  70. package/build/esm/components/babyGrowth/index.d.ts +1 -0
  71. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/index.d.ts +8 -10
  72. package/build/esm/components/molecules/embeddedHeathToolCards/bmi/bmi.d.ts +1 -6
  73. package/build/esm/components/molecules/embeddedHeathToolCards/bmi/context.d.ts +2 -1
  74. package/build/esm/components/molecules/embeddedHeathToolCards/bmr/bmr.d.ts +5 -10
  75. package/build/esm/components/molecules/embeddedHeathToolCards/helpers.d.ts +5 -5
  76. package/build/esm/components/molecules/embeddedHeathToolCards/target-heart-rate/index.d.ts +6 -13
  77. package/build/esm/components/molecules/healthTools/cardWrapper/banner/index.d.ts +4 -0
  78. package/build/esm/components/molecules/healthTools/cardWrapper/banner/index.styles.d.ts +8 -0
  79. package/build/esm/components/molecules/healthTools/cardWrapper/body/index.d.ts +3 -0
  80. package/build/esm/components/molecules/healthTools/cardWrapper/body/index.styles.d.ts +8 -0
  81. package/build/esm/components/molecules/healthTools/cardWrapper/context.d.ts +5 -0
  82. package/build/esm/components/molecules/healthTools/cardWrapper/index.d.ts +12 -0
  83. package/build/esm/components/{babyGrowth/babyGrowthForm/layout/horizonal → molecules/healthTools/cardWrapper}/index.styles.d.ts +3 -1
  84. package/build/esm/components/molecules/healthTools/components/borderBoxControl/error.d.ts +3 -0
  85. package/build/esm/components/molecules/healthTools/components/borderBoxControl/index.d.ts +8 -0
  86. package/build/{components/molecules/thrForm → esm/components/molecules/healthTools/components/borderBoxControl}/index.styled.d.ts +12 -9
  87. package/build/esm/components/molecules/healthTools/components/borderBoxControl/index.styles.d.ts +14 -0
  88. package/build/esm/components/molecules/healthTools/components/borderInlineControl/error.d.ts +3 -0
  89. package/build/esm/components/molecules/healthTools/components/borderInlineControl/index.d.ts +8 -0
  90. package/build/esm/components/molecules/healthTools/components/borderInlineControl/index.styles.d.ts +14 -0
  91. package/build/esm/components/molecules/healthTools/components/control/index.d.ts +5 -0
  92. package/build/esm/components/molecules/healthTools/components/control/index.styles.d.ts +8 -0
  93. package/build/esm/components/molecules/healthTools/form/bmiForm/context.d.ts +15 -0
  94. package/build/esm/components/molecules/healthTools/form/bmiForm/defaultLayout.d.ts +3 -0
  95. package/build/esm/components/molecules/healthTools/form/bmiForm/index.d.ts +4 -0
  96. package/build/esm/components/molecules/healthTools/form/bmiForm/inlineLayout.d.ts +3 -0
  97. package/build/esm/components/molecules/healthTools/form/thrForm/context.d.ts +16 -0
  98. package/build/esm/components/molecules/healthTools/form/thrForm/defaultLayout.d.ts +3 -0
  99. package/build/esm/components/molecules/healthTools/form/thrForm/index.d.ts +15 -0
  100. package/build/esm/components/molecules/healthTools/form/thrForm/inlineLayout.d.ts +3 -0
  101. package/build/esm/components/molecules/healthTools/formWrapper/context.d.ts +5 -0
  102. package/build/esm/components/molecules/healthTools/formWrapper/formRow.d.ts +3 -0
  103. package/build/esm/components/molecules/healthTools/formWrapper/index.d.ts +22 -0
  104. package/build/esm/components/molecules/healthTools/formWrapper/index.styles.d.ts +13 -0
  105. package/build/esm/components/molecules/healthTools/formWrapper/submitBtn.d.ts +3 -0
  106. package/build/esm/components/molecules/healthTools/formWrapper/unit.d.ts +3 -0
  107. package/build/esm/components/molecules/index.d.ts +3 -0
  108. package/build/esm/components/molecules/toolBannerCard/index.d.ts +2 -3
  109. package/build/esm/components/molecules/toolBannerCard/index.styled.d.ts +0 -14
  110. package/build/esm/components.js +60 -60
  111. package/build/esm/{constants-a7e3ca35.js → constants-661c1d64.js} +2 -2
  112. package/build/esm/{constants-d6930e5e.js → constants-ac51ae89.js} +2 -2
  113. package/build/esm/constants.js +3 -3
  114. package/build/esm/{core-f736ab2d.js → core-f226ac0f.js} +2 -2
  115. package/build/esm/{dataTransform-b764f5bd.js → dataTransform-e5035d56.js} +1 -1
  116. package/build/esm/ecom.js +6 -6
  117. package/build/esm/footer.js +18 -18
  118. package/build/esm/gAssets.js +4 -4
  119. package/build/esm/{getDynamicHealthTool-7c15a910.js → getDynamicHealthTool-4d8eeb51.js} +4 -4
  120. package/build/esm/{getSocialList-ff360236.js → getSocialList-25eb0ec3.js} +4 -4
  121. package/build/esm/hooks.js +17 -17
  122. package/build/esm/i18n/translationKeys.d.ts +1 -1
  123. package/build/esm/i18n-values/en-PH.js +6 -0
  124. package/build/esm/i18n-values/hi-IN.js +6 -0
  125. package/build/esm/i18n-values/id-ID.js +6 -0
  126. package/build/esm/i18n-values/km-KH.js +6 -0
  127. package/build/esm/i18n-values/ms-MY.js +6 -0
  128. package/build/esm/i18n-values/my-MM.js +6 -0
  129. package/build/esm/i18n-values/th-TH.js +6 -0
  130. package/build/esm/i18n-values/tl-PH.js +6 -0
  131. package/build/esm/i18n-values/vi-VN.js +6 -0
  132. package/build/esm/i18n-values/vi-VN_MB.js +6 -0
  133. package/build/esm/i18n-values/zh-TW.js +6 -0
  134. package/build/esm/i18n.js +2 -2
  135. package/build/esm/i18nV2.js +2 -2
  136. package/build/esm/{index-ad6fe8ec.js → index-1b1be502.js} +3 -3
  137. package/build/esm/{index-052975c5.js → index-1d8204a9.js} +4 -4
  138. package/build/esm/{index-9abfd2bf.js → index-2761f711.js} +4 -4
  139. package/build/esm/{index-57bf1cd7.js → index-3aca5854.js} +2 -2
  140. package/build/esm/{index-1037b8f8.js → index-454b515d.js} +12 -12
  141. package/build/esm/{index-b81d2c55.js → index-489dd441.js} +2 -2
  142. package/build/esm/{index-612cce87.js → index-5a0f027e.js} +10 -10
  143. package/build/esm/{index-df110edc.js → index-66d10b21.js} +446 -1357
  144. package/build/esm/{index-acb975fb.js → index-68fab995.js} +10 -10
  145. package/build/esm/{index-b42bac7a.js → index-7305fc5d.js} +2 -2
  146. package/build/esm/{index-9c28c6d3.js → index-7c16ac20.js} +2 -2
  147. package/build/esm/{index-b80db1c1.js → index-84a52876.js} +2 -2
  148. package/build/esm/{index-a28d6769.js → index-8625e8d8.js} +2 -2
  149. package/build/esm/{index-73ef9a35.js → index-922e3c54.js} +6 -6
  150. package/build/esm/{index-dcccb898.js → index-a3f3a71d.js} +11 -11
  151. package/build/esm/{index-30a00409.js → index-c3d30585.js} +2 -2
  152. package/build/esm/{index-bd555bac.js → index-c82b58c7.js} +1 -1
  153. package/build/esm/{index-d232b0dc.js → index-cbda4cc1.js} +2 -2
  154. package/build/esm/{index-f3129141.js → index-d4626ff6.js} +9 -9
  155. package/build/esm/{index-4597632e.js → index-db047eda.js} +33 -32
  156. package/build/esm/{index-ae90e211.js → index-de4b6341.js} +2 -2
  157. package/build/esm/{index-fef007d1.js → index-e86bff41.js} +2 -2
  158. package/build/esm/index-eb9b684f.js +1047 -0
  159. package/build/esm/{index-7b90d518.js → index-f06883d8.js} +9 -7
  160. package/build/esm/{index-8f8e8b42.js → index-f7bf305d.js} +4 -4
  161. package/build/esm/index.js +68 -68
  162. package/build/esm/{index.styled-23ecaf98.js → index.styled-0bdbe990.js} +2 -2
  163. package/build/esm/{index.styles-1b7c0626.js → index.styles-e1757115.js} +51 -36
  164. package/build/esm/lead/components/close.d.ts +2 -2
  165. package/build/esm/lead.js +29 -29
  166. package/build/esm/mantine.js +21 -21
  167. package/build/esm/misc.js +19 -19
  168. package/build/esm/navigation.js +35 -35
  169. package/build/esm/onboardingV2.js +32 -32
  170. package/build/esm/pwg.js +19 -19
  171. package/build/esm/{routing-c564d6de.js → routing-0e8aa97d.js} +2 -2
  172. package/build/esm/subot.js +22 -22
  173. package/build/esm/together.js +34 -34
  174. package/build/esm/{types-7887d2c5.js → types-d1a0466d.js} +13 -13
  175. package/build/esm/{types-65ea7a29.js → types-d54aac73.js} +30 -30
  176. package/build/esm/types.js +1 -1
  177. package/build/esm/{useCategory-24375501.js → useCategory-d97a0eaf.js} +5 -5
  178. package/build/esm/{useHealthToolCache-84f0e6a2.js → useHealthToolCache-33752ed2.js} +2 -2
  179. package/build/esm/{useMantineLocale-55d6c3f7.js → useMantineLocale-c9152268.js} +3 -3
  180. package/build/esm/{usePlacesAutocomplete-30d9515c.js → usePlacesAutocomplete-664fd91f.js} +1 -1
  181. package/build/esm/{useTranslations-e09488cf.js → useTranslations-cdea23ca.js} +1 -1
  182. package/build/esm/{utils-d42f36c5.js → utils-7a0b602b.js} +1 -1
  183. package/build/esm/{utils-c4d6d3b1.js → utils-e621db45.js} +4 -4
  184. package/build/esm/{utils-3faf426d.js → utils-e93e4c81.js} +5 -5
  185. package/build/esm/vaccination.js +26 -26
  186. package/build/footer.js +18 -18
  187. package/build/gAssets.js +4 -4
  188. package/build/{getDynamicHealthTool-cf56bdf9.js → getDynamicHealthTool-d6db1d7f.js} +4 -4
  189. package/build/{getSocialList-7e9f1ce8.js → getSocialList-64b3658e.js} +4 -4
  190. package/build/hooks.js +17 -17
  191. package/build/i18n/translationKeys.d.ts +1 -1
  192. package/build/i18n-values/en-PH.js +6 -0
  193. package/build/i18n-values/hi-IN.js +6 -0
  194. package/build/i18n-values/id-ID.js +6 -0
  195. package/build/i18n-values/km-KH.js +6 -0
  196. package/build/i18n-values/ms-MY.js +6 -0
  197. package/build/i18n-values/my-MM.js +6 -0
  198. package/build/i18n-values/th-TH.js +6 -0
  199. package/build/i18n-values/tl-PH.js +6 -0
  200. package/build/i18n-values/vi-VN.js +6 -0
  201. package/build/i18n-values/vi-VN_MB.js +6 -0
  202. package/build/i18n-values/zh-TW.js +6 -0
  203. package/build/i18n.js +1 -1
  204. package/build/i18nV2.js +1 -1
  205. package/build/{index-4e67ecb9.js → index-0a0b5799.js} +2 -2
  206. package/build/{index-94f76457.js → index-0be68def.js} +10 -10
  207. package/build/{index-7856390e.js → index-16865f4f.js} +566 -1476
  208. package/build/{index-e09708c1.js → index-2ed6b546.js} +1 -1
  209. package/build/{index-e7c5a18f.js → index-30b8b836.js} +4 -4
  210. package/build/{index-16214b40.js → index-317d0c1c.js} +4 -4
  211. package/build/{index-d80b0a5b.js → index-31d3a0cd.js} +2 -2
  212. package/build/{index-a33345ec.js → index-38ffe95c.js} +2 -2
  213. package/build/{index-d1a16fdd.js → index-3ee0bbab.js} +2 -2
  214. package/build/index-49e98004.js +1066 -0
  215. package/build/{index-db53bc1b.js → index-4d5f141c.js} +2 -2
  216. package/build/{index-d3e350af.js → index-5d5594a7.js} +33 -32
  217. package/build/{index-8e2df083.js → index-65ed0de1.js} +8 -6
  218. package/build/{index-697f7bce.js → index-7c76f198.js} +2 -2
  219. package/build/{index-73b4b2d1.js → index-885e1cdd.js} +3 -3
  220. package/build/{index-f0ccd2dd.js → index-9c99495d.js} +6 -6
  221. package/build/{index-d6405ebe.js → index-a5aa5d5c.js} +9 -9
  222. package/build/{index-4c9bc001.js → index-a9805dbb.js} +2 -2
  223. package/build/{index-ab470b05.js → index-b57d6d78.js} +12 -12
  224. package/build/{index-f6d5f98f.js → index-d976a27c.js} +2 -2
  225. package/build/{index-d782e0a0.js → index-deae37ab.js} +4 -4
  226. package/build/{index-25b1fd88.js → index-e1bfc5cd.js} +10 -10
  227. package/build/{index-e609294e.js → index-e81b428d.js} +11 -11
  228. package/build/{index-7e51acf9.js → index-f91097ba.js} +2 -2
  229. package/build/{index-d553d9e2.js → index-fbb66d3d.js} +2 -2
  230. package/build/index.js +71 -69
  231. package/build/{index.styled-e91d7f7f.js → index.styled-02090cfc.js} +2 -2
  232. package/build/{index.styles-b47359f2.js → index.styles-157337bd.js} +52 -37
  233. package/build/lead/components/close.d.ts +2 -2
  234. package/build/lead.js +29 -29
  235. package/build/mantine.js +18 -18
  236. package/build/misc.js +19 -19
  237. package/build/navigation.js +35 -35
  238. package/build/onboardingV2.js +31 -31
  239. package/build/pwg.js +19 -19
  240. package/build/{routing-662b9ed3.js → routing-a06d4f70.js} +2 -2
  241. package/build/subot.js +22 -22
  242. package/build/together.js +34 -34
  243. package/build/{types-a6b93fe5.js → types-4dbda9a8.js} +13 -13
  244. package/build/{types-3a5fff72.js → types-56f05054.js} +30 -30
  245. package/build/types.js +1 -1
  246. package/build/{useCategory-5977ede5.js → useCategory-69284fce.js} +5 -5
  247. package/build/{useHealthToolCache-5890c8bb.js → useHealthToolCache-75252b30.js} +2 -2
  248. package/build/{useMantineLocale-c2dd66b5.js → useMantineLocale-5f5000f2.js} +3 -3
  249. package/build/{usePlacesAutocomplete-942ee1fd.js → usePlacesAutocomplete-ae8c4f01.js} +1 -1
  250. package/build/{useTranslations-a9eb9fc7.js → useTranslations-e5a4e00e.js} +1 -1
  251. package/build/{utils-9aaa3c05.js → utils-29574e04.js} +5 -5
  252. package/build/{utils-fb70e135.js → utils-3c665430.js} +1 -1
  253. package/build/{utils-6370d1da.js → utils-a7153a3d.js} +4 -4
  254. package/build/vaccination.js +26 -26
  255. package/package.json +1 -1
  256. package/build/components/babyGrowth/babyGrowthForm/layout/horizonal/index.d.ts +0 -3
  257. package/build/components/babyGrowth/babyGrowthForm/layout/vertical/index.d.ts +0 -2
  258. package/build/components/molecules/bmiForm/index.d.ts +0 -4
  259. package/build/components/molecules/bmiForm/index.styled.d.ts +0 -23
  260. package/build/components/molecules/embeddedHeathToolCards/baby-growth/context.d.ts +0 -12
  261. package/build/components/molecules/embeddedHeathToolCards/baby-growth/form.d.ts +0 -3
  262. package/build/components/molecules/embeddedHeathToolCards/baby-growth/index.styled.d.ts +0 -17
  263. package/build/components/molecules/embeddedHeathToolCards/bmi/form.d.ts +0 -2
  264. package/build/components/molecules/thrForm/index.d.ts +0 -15
  265. package/build/esm/components/babyGrowth/babyGrowthForm/layout/horizonal/index.d.ts +0 -3
  266. package/build/esm/components/babyGrowth/babyGrowthForm/layout/vertical/index.d.ts +0 -2
  267. package/build/esm/components/molecules/bmiForm/index.d.ts +0 -4
  268. package/build/esm/components/molecules/bmiForm/index.styled.d.ts +0 -23
  269. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/context.d.ts +0 -12
  270. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/form.d.ts +0 -3
  271. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/index.styled.d.ts +0 -17
  272. package/build/esm/components/molecules/embeddedHeathToolCards/bmi/form.d.ts +0 -2
  273. package/build/esm/components/molecules/thrForm/index.d.ts +0 -15
  274. package/build/esm/index-084aee3a.js +0 -370
  275. package/build/index-d8c16366.js +0 -380
  276. /package/build/{BMI_BOYS.percentile.monthly-8fed7ba1.js → BMI_BOYS.percentile.monthly-3dc46630.js} +0 -0
  277. /package/build/{BMI_BOYS.percentile.weekly-eb7961bc.js → BMI_BOYS.percentile.weekly-33a7a76d.js} +0 -0
  278. /package/build/{BMI_BOYS.percentile.yearly-2ad05a2a.js → BMI_BOYS.percentile.yearly-7e23ad15.js} +0 -0
  279. /package/build/{BMI_BOYS.zscore.monthly-a9a0abc6.js → BMI_BOYS.zscore.monthly-2ce61257.js} +0 -0
  280. /package/build/{BMI_BOYS.zscore.weekly-064497fe.js → BMI_BOYS.zscore.weekly-b7ad99e4.js} +0 -0
  281. /package/build/{BMI_BOYS.zscore.yearly-0e88b67c.js → BMI_BOYS.zscore.yearly-18e3796a.js} +0 -0
  282. /package/build/{BMI_GIRLS.percentile.monthly-7d2f4062.js → BMI_GIRLS.percentile.monthly-659ecfd5.js} +0 -0
  283. /package/build/{BMI_GIRLS.percentile.weekly-a763105a.js → BMI_GIRLS.percentile.weekly-ae56f36e.js} +0 -0
  284. /package/build/{BMI_GIRLS.percentile.yearly-6bbdee0d.js → BMI_GIRLS.percentile.yearly-231d8484.js} +0 -0
  285. /package/build/{BMI_GIRLS.zscore.monthly-d8a5cbd8.js → BMI_GIRLS.zscore.monthly-b3fd34cc.js} +0 -0
  286. /package/build/{BMI_GIRLS.zscore.weekly-0c7a8c9c.js → BMI_GIRLS.zscore.weekly-ba14b60f.js} +0 -0
  287. /package/build/{BMI_GIRLS.zscore.yearly-5644743f.js → BMI_GIRLS.zscore.yearly-9aa7154b.js} +0 -0
  288. /package/build/{ChevronDown-079dc4be.js → ChevronDown-bdc5f8bf.js} +0 -0
  289. /package/build/{Close-db604756.js → Close-37ec8443.js} +0 -0
  290. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-c41d42ff.js → HEAD CIRCUM_BOYS.percentile.monthly-c14e93fe.js} +0 -0
  291. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-afc76045.js → HEAD CIRCUM_BOYS.percentile.weekly-6d94ea66.js} +0 -0
  292. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-dbde5248.js → HEAD CIRCUM_BOYS.percentile.yearly-e88fc611.js} +0 -0
  293. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-4df52a81.js → HEAD CIRCUM_BOYS.zscore.monthly-d7428860.js} +0 -0
  294. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-60761b9a.js → HEAD CIRCUM_BOYS.zscore.weekly-9f78d9e2.js} +0 -0
  295. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-1d970b3c.js → HEAD CIRCUM_BOYS.zscore.yearly-0b878fa3.js} +0 -0
  296. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-04d36ee5.js → HEAD CIRCUM_GIRLS.percentile.monthly-12513ad5.js} +0 -0
  297. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-dde4e6c9.js → HEAD CIRCUM_GIRLS.percentile.weekly-7accdda4.js} +0 -0
  298. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-9f686033.js → HEAD CIRCUM_GIRLS.percentile.yearly-43b2cb53.js} +0 -0
  299. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-8265853b.js → HEAD CIRCUM_GIRLS.zscore.monthly-2bd1125e.js} +0 -0
  300. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-28744f9c.js → HEAD CIRCUM_GIRLS.zscore.weekly-11352a99.js} +0 -0
  301. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-c5b9857c.js → HEAD CIRCUM_GIRLS.zscore.yearly-a5d1fc49.js} +0 -0
  302. /package/build/{HEIGHT_BOYS.percentile.monthly-296fca5b.js → HEIGHT_BOYS.percentile.monthly-47159e6b.js} +0 -0
  303. /package/build/{HEIGHT_BOYS.percentile.weekly-5e16e885.js → HEIGHT_BOYS.percentile.weekly-77a168eb.js} +0 -0
  304. /package/build/{HEIGHT_BOYS.percentile.yearly-b4d4d8fc.js → HEIGHT_BOYS.percentile.yearly-ffe077bb.js} +0 -0
  305. /package/build/{HEIGHT_BOYS.zscore.monthly-ccf0441a.js → HEIGHT_BOYS.zscore.monthly-22afc4de.js} +0 -0
  306. /package/build/{HEIGHT_BOYS.zscore.weekly-b748980d.js → HEIGHT_BOYS.zscore.weekly-d9ef3e8c.js} +0 -0
  307. /package/build/{HEIGHT_BOYS.zscore.yearly-eece620a.js → HEIGHT_BOYS.zscore.yearly-eaa9c646.js} +0 -0
  308. /package/build/{HEIGHT_GIRLS.percentile.monthly-12d10530.js → HEIGHT_GIRLS.percentile.monthly-f4b44713.js} +0 -0
  309. /package/build/{HEIGHT_GIRLS.percentile.weekly-32273298.js → HEIGHT_GIRLS.percentile.weekly-59699856.js} +0 -0
  310. /package/build/{HEIGHT_GIRLS.percentile.yearly-72816dcf.js → HEIGHT_GIRLS.percentile.yearly-2ebb26e5.js} +0 -0
  311. /package/build/{HEIGHT_GIRLS.zscore.monthly-5b4c8f81.js → HEIGHT_GIRLS.zscore.monthly-ecaab89e.js} +0 -0
  312. /package/build/{HEIGHT_GIRLS.zscore.weekly-8d325bb3.js → HEIGHT_GIRLS.zscore.weekly-457d47df.js} +0 -0
  313. /package/build/{HEIGHT_GIRLS.zscore.yearly-912d50eb.js → HEIGHT_GIRLS.zscore.yearly-2e6f58f9.js} +0 -0
  314. /package/build/{Visible-0823566a.js → Visible-5815765d.js} +0 -0
  315. /package/build/{WEIGHT_BOYS.percentile.monthly-dfad04d7.js → WEIGHT_BOYS.percentile.monthly-5adfba39.js} +0 -0
  316. /package/build/{WEIGHT_BOYS.percentile.weekly-9bd038b1.js → WEIGHT_BOYS.percentile.weekly-df51ea10.js} +0 -0
  317. /package/build/{WEIGHT_BOYS.percentile.yearly-59904174.js → WEIGHT_BOYS.percentile.yearly-7e7a945c.js} +0 -0
  318. /package/build/{WEIGHT_BOYS.zscore.monthly-b767505a.js → WEIGHT_BOYS.zscore.monthly-409ef959.js} +0 -0
  319. /package/build/{WEIGHT_BOYS.zscore.weekly-475f3ff9.js → WEIGHT_BOYS.zscore.weekly-51f7b2ca.js} +0 -0
  320. /package/build/{WEIGHT_BOYS.zscore.yearly-cc1b1d4b.js → WEIGHT_BOYS.zscore.yearly-249b9a56.js} +0 -0
  321. /package/build/{WEIGHT_GIRLS.percentile.monthly-1e7a5e77.js → WEIGHT_GIRLS.percentile.monthly-e96c3379.js} +0 -0
  322. /package/build/{WEIGHT_GIRLS.percentile.weekly-a15a69fc.js → WEIGHT_GIRLS.percentile.weekly-9e4aac96.js} +0 -0
  323. /package/build/{WEIGHT_GIRLS.percentile.yearly-2d24ab47.js → WEIGHT_GIRLS.percentile.yearly-aa6ee172.js} +0 -0
  324. /package/build/{WEIGHT_GIRLS.zscore.monthly-c2fbc8e5.js → WEIGHT_GIRLS.zscore.monthly-41cd2243.js} +0 -0
  325. /package/build/{WEIGHT_GIRLS.zscore.weekly-23f80f98.js → WEIGHT_GIRLS.zscore.weekly-a78795a5.js} +0 -0
  326. /package/build/{WEIGHT_GIRLS.zscore.yearly-56c3796f.js → WEIGHT_GIRLS.zscore.yearly-f85d3d67.js} +0 -0
  327. /package/build/{animation-177869c0.js → animation-7c2163d6.js} +0 -0
  328. /package/build/{cart-09276b58.js → cart-7225f4ea.js} +0 -0
  329. /package/build/components/babyGrowth/babyGrowthForm/layout/{vertical → default}/index.styled.d.ts +0 -0
  330. /package/build/components/{babyGrowth/babyGrowthForm → molecules/healthTools/cardWrapper/banner}/index.styles.d.ts +0 -0
  331. /package/build/{esm/components/babyGrowth/babyGrowthForm → components/molecules/healthTools/cardWrapper/body}/index.styles.d.ts +0 -0
  332. /package/build/{cookieHelper-d81861d8.js → cookieHelper-cdee4e84.js} +0 -0
  333. /package/build/{doctor-f39a19fd.js → doctor-770ff1ba.js} +0 -0
  334. /package/build/esm/{BMI_BOYS.percentile.monthly-b93ffbf0.js → BMI_BOYS.percentile.monthly-42b05262.js} +0 -0
  335. /package/build/esm/{BMI_BOYS.percentile.weekly-f9994b33.js → BMI_BOYS.percentile.weekly-51c5c77e.js} +0 -0
  336. /package/build/esm/{BMI_BOYS.percentile.yearly-c65e6ed2.js → BMI_BOYS.percentile.yearly-f496de0a.js} +0 -0
  337. /package/build/esm/{BMI_BOYS.zscore.monthly-48c07471.js → BMI_BOYS.zscore.monthly-14f694fa.js} +0 -0
  338. /package/build/esm/{BMI_BOYS.zscore.weekly-71daeeb3.js → BMI_BOYS.zscore.weekly-3db6bc0c.js} +0 -0
  339. /package/build/esm/{BMI_BOYS.zscore.yearly-440048be.js → BMI_BOYS.zscore.yearly-8509d0ae.js} +0 -0
  340. /package/build/esm/{BMI_GIRLS.percentile.monthly-57f1b984.js → BMI_GIRLS.percentile.monthly-d9a21889.js} +0 -0
  341. /package/build/esm/{BMI_GIRLS.percentile.weekly-0914f917.js → BMI_GIRLS.percentile.weekly-575bac9c.js} +0 -0
  342. /package/build/esm/{BMI_GIRLS.percentile.yearly-bdfe7a69.js → BMI_GIRLS.percentile.yearly-04508fbe.js} +0 -0
  343. /package/build/esm/{BMI_GIRLS.zscore.monthly-42e0b4f6.js → BMI_GIRLS.zscore.monthly-5cdf6175.js} +0 -0
  344. /package/build/esm/{BMI_GIRLS.zscore.weekly-07ab1287.js → BMI_GIRLS.zscore.weekly-e616dee6.js} +0 -0
  345. /package/build/esm/{BMI_GIRLS.zscore.yearly-517a7ff2.js → BMI_GIRLS.zscore.yearly-f04c1bc5.js} +0 -0
  346. /package/build/esm/{ChevronDown-ec64ac22.js → ChevronDown-5de6880b.js} +0 -0
  347. /package/build/esm/{Close-3b975982.js → Close-9352706a.js} +0 -0
  348. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-506387d9.js → HEAD CIRCUM_BOYS.percentile.monthly-96d66e11.js} +0 -0
  349. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-2652584c.js → HEAD CIRCUM_BOYS.percentile.weekly-f5554984.js} +0 -0
  350. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-c2a98a5d.js → HEAD CIRCUM_BOYS.percentile.yearly-557fb130.js} +0 -0
  351. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-4edbec1f.js → HEAD CIRCUM_BOYS.zscore.monthly-c3fdcb0b.js} +0 -0
  352. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-56338503.js → HEAD CIRCUM_BOYS.zscore.weekly-b3ea066c.js} +0 -0
  353. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-3c720a9e.js → HEAD CIRCUM_BOYS.zscore.yearly-451d74b9.js} +0 -0
  354. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-e1f1f6be.js → HEAD CIRCUM_GIRLS.percentile.monthly-1ef5b735.js} +0 -0
  355. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-227d31bd.js → HEAD CIRCUM_GIRLS.percentile.weekly-b7fd90a5.js} +0 -0
  356. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-7fc35787.js → HEAD CIRCUM_GIRLS.percentile.yearly-680b7cff.js} +0 -0
  357. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-9b0fd5eb.js → HEAD CIRCUM_GIRLS.zscore.monthly-a21a8585.js} +0 -0
  358. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-9988f989.js → HEAD CIRCUM_GIRLS.zscore.weekly-c3c76d7d.js} +0 -0
  359. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-20107811.js → HEAD CIRCUM_GIRLS.zscore.yearly-cc7be510.js} +0 -0
  360. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-e8203033.js → HEIGHT_BOYS.percentile.monthly-d165ef46.js} +0 -0
  361. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-5fa852c6.js → HEIGHT_BOYS.percentile.weekly-afa23b20.js} +0 -0
  362. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-f6615394.js → HEIGHT_BOYS.percentile.yearly-d10f86c1.js} +0 -0
  363. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-9594d1ef.js → HEIGHT_BOYS.zscore.monthly-d0e97976.js} +0 -0
  364. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-f70d3362.js → HEIGHT_BOYS.zscore.weekly-0695da19.js} +0 -0
  365. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-d7601de0.js → HEIGHT_BOYS.zscore.yearly-a373542e.js} +0 -0
  366. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-d219f16e.js → HEIGHT_GIRLS.percentile.monthly-4658cd2c.js} +0 -0
  367. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-eeac6400.js → HEIGHT_GIRLS.percentile.weekly-7b663bc7.js} +0 -0
  368. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-94932719.js → HEIGHT_GIRLS.percentile.yearly-bbabb1a1.js} +0 -0
  369. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-6ebee401.js → HEIGHT_GIRLS.zscore.monthly-f9e44117.js} +0 -0
  370. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-60839770.js → HEIGHT_GIRLS.zscore.weekly-5e6f1243.js} +0 -0
  371. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-b1cb5127.js → HEIGHT_GIRLS.zscore.yearly-cd2dcc67.js} +0 -0
  372. /package/build/esm/{Visible-28a1e0b5.js → Visible-1ea9e5cd.js} +0 -0
  373. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-5d0bc2ec.js → WEIGHT_BOYS.percentile.monthly-1dc4d7f8.js} +0 -0
  374. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-a11608ad.js → WEIGHT_BOYS.percentile.weekly-9d34b61c.js} +0 -0
  375. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-e0aa6a04.js → WEIGHT_BOYS.percentile.yearly-88c743b3.js} +0 -0
  376. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-13556e7a.js → WEIGHT_BOYS.zscore.monthly-c56a6907.js} +0 -0
  377. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-5d43562f.js → WEIGHT_BOYS.zscore.weekly-f5d09a10.js} +0 -0
  378. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-37a1e6f8.js → WEIGHT_BOYS.zscore.yearly-e4eadd64.js} +0 -0
  379. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-7d2fbbba.js → WEIGHT_GIRLS.percentile.monthly-d10b7f03.js} +0 -0
  380. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-e8d83d22.js → WEIGHT_GIRLS.percentile.weekly-fd9b6664.js} +0 -0
  381. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-9f9cb1ba.js → WEIGHT_GIRLS.percentile.yearly-a199dcfd.js} +0 -0
  382. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-cf729188.js → WEIGHT_GIRLS.zscore.monthly-88f2ceaa.js} +0 -0
  383. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-232159a5.js → WEIGHT_GIRLS.zscore.weekly-82d56465.js} +0 -0
  384. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-75e3f65b.js → WEIGHT_GIRLS.zscore.yearly-7ba197df.js} +0 -0
  385. /package/build/esm/{animation-8d9166c4.js → animation-a85e3de7.js} +0 -0
  386. /package/build/esm/{cart-3149095e.js → cart-887831b6.js} +0 -0
  387. /package/build/esm/components/babyGrowth/babyGrowthForm/layout/{vertical → default}/index.styled.d.ts +0 -0
  388. /package/build/esm/{cookieHelper-22b746f0.js → cookieHelper-3d07347b.js} +0 -0
  389. /package/build/esm/{doctor-697376a2.js → doctor-799a9bd3.js} +0 -0
  390. /package/build/esm/{index-0d6f4be3.js → index-0ed4c22b.js} +0 -0
  391. /package/build/esm/{index-8360ce3a.js → index-43343cbf.js} +0 -0
  392. /package/build/esm/{index-791aacd3.js → index-4599e5b0.js} +0 -0
  393. /package/build/esm/{index-de5f4b77.js → index-56e460c6.js} +0 -0
  394. /package/build/esm/{isProduction-883d53b1.js → isProduction-434d302d.js} +0 -0
  395. /package/build/esm/{localizeNumberFormat-2e0ff46a.js → localizeNumberFormat-c85786d3.js} +0 -0
  396. /package/build/esm/{normalizeLink-0a2787bd.js → normalizeLink-3d1f20d1.js} +0 -0
  397. /package/build/esm/{number-f94edd46.js → number-299bd96f.js} +0 -0
  398. /package/build/esm/{paths-5c0fa637.js → paths-56c3587b.js} +0 -0
  399. /package/build/esm/{theme-f0b6c550.js → theme-970b90f0.js} +0 -0
  400. /package/build/esm/{translationsContext-82b6afe9.js → translationsContext-494ae681.js} +0 -0
  401. /package/build/esm/{tslib.es6-9d7cffa1.js → tslib.es6-64d6b81e.js} +0 -0
  402. /package/build/esm/{types-503d982f.js → types-39d5f930.js} +0 -0
  403. /package/build/esm/{useIsInit-5091414d.js → useIsInit-4ae94a4f.js} +0 -0
  404. /package/build/esm/{useOutsideClick-92d0bbf4.js → useOutsideClick-dc7a904e.js} +0 -0
  405. /package/build/esm/{useScrollbarSize-65681faf.js → useScrollbarSize-c5f52065.js} +0 -0
  406. /package/build/esm/{useUniqueId-26127495.js → useUniqueId-c297b004.js} +0 -0
  407. /package/build/esm/{utils-528dc7d6.js → utils-f7a8a1ca.js} +0 -0
  408. /package/build/{index-264070a1.js → index-0161f9b8.js} +0 -0
  409. /package/build/{index-e354e9f6.js → index-ccb48ca2.js} +0 -0
  410. /package/build/{index-c0282d78.js → index-d9e9dcc3.js} +0 -0
  411. /package/build/{index-2977b2dd.js → index-f1979569.js} +0 -0
  412. /package/build/{isProduction-4ebb0b9f.js → isProduction-34667756.js} +0 -0
  413. /package/build/{localizeNumberFormat-57cbe103.js → localizeNumberFormat-fd3a0469.js} +0 -0
  414. /package/build/{normalizeLink-fbc07120.js → normalizeLink-75a55356.js} +0 -0
  415. /package/build/{number-82ab659f.js → number-81819869.js} +0 -0
  416. /package/build/{paths-73c476b6.js → paths-782003f7.js} +0 -0
  417. /package/build/{theme-df11f346.js → theme-986ab943.js} +0 -0
  418. /package/build/{translationsContext-23006995.js → translationsContext-5c637723.js} +0 -0
  419. /package/build/{tslib.es6-a0b7089c.js → tslib.es6-cda3ff06.js} +0 -0
  420. /package/build/{types-fd0dc0bb.js → types-351db239.js} +0 -0
  421. /package/build/{useIsInit-a50a6a72.js → useIsInit-751a5d5b.js} +0 -0
  422. /package/build/{useOutsideClick-995c17a0.js → useOutsideClick-75a9127e.js} +0 -0
  423. /package/build/{useScrollbarSize-7b1dd961.js → useScrollbarSize-c03e70df.js} +0 -0
  424. /package/build/{useUniqueId-cd9b224a.js → useUniqueId-6dae5baf.js} +0 -0
  425. /package/build/{utils-fcdda30d.js → utils-e385ce42.js} +0 -0
@@ -1,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-b80db1c1.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-1b7c0626.js';
4
- import { f as formatUrlWithPageParam, M as MediaQueries } from './utils-528dc7d6.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-acb975fb.js';
6
- import { T as Text$1 } from './index-612cce87.js';
7
- import { _ as __rest, a as __awaiter } from './tslib.es6-9d7cffa1.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-d232b0dc.js';
10
- import { H as Heading } from './index-ae90e211.js';
11
- import { t as theme } from './theme-f0b6c550.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-9c28c6d3.js';
16
- import { G as Gender, L as LOCALE } from './index-de5f4b77.js';
17
- import './useMantineLocale-55d6c3f7.js';
18
- import './translationsContext-82b6afe9.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-4597632e.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-9abfd2bf.js';
25
- import { B as Button } from './index-30a00409.js';
26
- import { I as Input } from './index-a28d6769.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-883d53b1.js';
30
- import { u as useTranslations } from './useTranslations-e09488cf.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-503d982f.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-3faf426d.js';
35
- import { D as DatePicker } from './index-ad6fe8ec.js';
36
- import { M as MarryBabyText } from './index-b81d2c55.js';
37
- import { S as Slider } from './index-fef007d1.js';
38
- import { D as Dropdown } from './index-bd555bac.js';
39
- import { C as Container } from './index-0d6f4be3.js';
40
- import { useForm, Controller } from 'react-hook-form';
41
- import { u as useHealthToolsCache } from './useHealthToolCache-84f0e6a2.js';
42
- import { yupResolver } from '@hookform/resolvers/yup';
43
- import { D as DatePicker$1 } from './index-7b90d518.js';
44
- import { B as BabyGrowthGender, D as Drawer } from './index-084aee3a.js';
45
- import { L as Label } from './constants-d6930e5e.js';
46
- import { f as formatUserProfileUrl } from './index-052975c5.js';
47
- import './utils-c4d6d3b1.js';
48
- import './WhatsApp-25882f30.js';
49
- import './index.styled-23ecaf98.js';
50
- import './index-791aacd3.js';
51
- import { a as useOutsideClick } from './useOutsideClick-92d0bbf4.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-ff360236.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-c564d6de.js';
59
- import { useForm as useForm$1, isNotEmpty } from '@mantine/form';
60
- import { I as Icon } from './index-8f8e8b42.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-57bf1cd7.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-22b746f0.js';
67
- import { n as normalizeLinkSlash, a as normalizeLink } from './normalizeLink-0a2787bd.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,30 +2972,16 @@ const StyledWrapper$1 = setDefaultClass(styled.div `
3020
2972
  position: relative;
3021
2973
  width: 100%;
3022
2974
  height: 100%;
3023
- background: ${(props) => props.bgColor};
3024
- background-color: inherit;
3025
-
3026
- &[data-site='marryBaby'] {
3027
- background-color: ${(props) => props['data-banner-color'] || '#5EC08F'};
3028
- background-image: none;
3029
- padding-bottom: 0;
3030
- &[data-is-embedded='true'] {
3031
- border-top-left-radius: 16px;
3032
- border-top-right-radius: 16px;
3033
- }
3034
- }
3035
2975
  `, 'hhgcomp-toolbanner-wrapper');
3036
- const StyledContainer$4 = styled.div `
2976
+ const StyledContainer = styled.div `
3037
2977
  width: 100%;
3038
- ${MediaQueries.mbDown} {
3039
- padding-bottom: 24px;
3040
- }
3041
-
3042
2978
  a {
3043
2979
  text-decoration: none;
3044
2980
  color: inherit;
3045
2981
  }
3046
2982
 
2983
+ background-color: ${(props) => props['data-banner-color'] || themeColors.blue[1]};
2984
+
3047
2985
  &[data-site='marryBaby'] {
3048
2986
  a {
3049
2987
  text-decoration: underline;
@@ -3080,18 +3018,6 @@ const StyledContainer$4 = styled.div `
3080
3018
  }
3081
3019
  }
3082
3020
  `;
3083
- const StyledWrapEmbedded = styled.div `
3084
- display: flex;
3085
- flex-direction: row;
3086
- align-items: center;
3087
- padding: 16px 24px;
3088
- gap: 16px;
3089
- width: 100%;
3090
- /* background-color: ; */
3091
- ${MediaQueries.mbDown} {
3092
- padding: 16px 0;
3093
- }
3094
- `;
3095
3021
  const StyledIcon = styled.div `
3096
3022
  background: #ffffff;
3097
3023
  border-radius: 16px;
@@ -3107,64 +3033,26 @@ const StyledIcon = styled.div `
3107
3033
  max-height: 24px;
3108
3034
  transform: translate(-50%, -50%);
3109
3035
  }
3110
- `;
3111
- const StyledHeadingMB = styled.div `
3112
- display: flex;
3113
- align-items: flex-start;
3114
- flex-direction: column;
3115
- justify-content: space-between;
3116
- gap: 0;
3117
- width: 100%;
3118
- `;
3119
- const StyledMedicalReviewedMB = styled.div `
3120
- display: flex;
3121
- align-items: flex-start;
3122
- font-weight: 400;
3123
- font-size: 12px;
3124
- line-height: 18px;
3125
- letter-spacing: -0.2px;
3126
- color: #f3f3f3;
3127
-
3128
- > img {
3129
- margin-top: 2px;
3130
- margin-right: 4px;
3131
- }
3132
- &[data-is-mobile='false'] {
3133
- > img {
3134
- width: 16px;
3135
- height: 16px;
3136
- }
3137
- }
3138
- &[data-is-mobile='true'] {
3139
- > img {
3140
- width: 14px;
3141
- height: 14px;
3142
- }
3143
- }
3144
3036
  `;
3145
3037
 
3146
- const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerUrl, bannerUrlLarge, bannerColor, medicalReview = {
3038
+ const ToolsBannerCard = ({ className, heading, isMobile, bannerUrl, bannerUrlLarge, bannerColor, medicalReview = {
3147
3039
  link: '#',
3148
3040
  reviewer: '',
3149
3041
  date: '',
3150
- }, icon, style, siteType, isEmbeded, }) => {
3151
- var _a, _b;
3042
+ }, icon, style, isEmbeded, isPregTool, }) => {
3152
3043
  const { t } = useTranslations();
3153
3044
  const theme = useMantineTheme();
3045
+ const isMarryBaby = theme.other.template === 'mb';
3046
+ const siteType = isMarryBaby ? 'marryBaby' : 'helloSites';
3154
3047
  const headingAs = 'h2';
3155
3048
  const bannerBgUrl = isMobile
3156
3049
  ? bannerUrl
3157
3050
  : bannerUrlLarge
3158
3051
  ? bannerUrlLarge
3159
3052
  : bannerUrl;
3160
- const colorShade = {
3161
- pink: [8, 6],
3162
- };
3163
- const bgColorShade = theme.colors[color] || theme.colors.blue;
3164
- 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: {
3165
3054
  a: {
3166
3055
  textUnderlineOffset: '2px',
3167
- color: '#fff',
3168
3056
  textDecoration: 'underline',
3169
3057
  },
3170
3058
  } },
@@ -3174,22 +3062,22 @@ const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerU
3174
3062
  date: medicalReview.date,
3175
3063
  }),
3176
3064
  } }))) : null;
3177
- return (React__default.createElement(StyledContainer$4, { "data-is-mobile": isMobile, style: style, "data-site": siteType },
3178
- 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,
3179
- React__default.createElement(StyledIcon, null, icon),
3180
- React__default.createElement(StyledHeadingMB, null,
3181
- React__default.createElement(Heading, { color: 'white', tag: "h5", as: headingAs }, heading),
3182
- 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) } },
3183
- React__default.createElement(Box, null,
3184
- React__default.createElement(Heading, { tag: "h5", as: headingAs, color: "#fff" }, heading),
3185
- medicalReview && (React__default.createElement(Text, { size: "n1", as: "div" }, medicalReviewEle))),
3186
- React__default.createElement(Flex, { justify: 'center', align: 'center', sx: (theme) => {
3187
- var _a, _b;
3188
- 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) => ({
3189
3077
  width: rem(64),
3190
3078
  height: rem(64),
3191
3079
  borderRadius: '50%',
3192
- 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',
3193
3081
  flexShrink: 0,
3194
3082
  img: {
3195
3083
  maxWidth: rem(48),
@@ -3203,8 +3091,7 @@ const ToolsBannerCard = ({ className, heading, color = 'blue', isMobile, bannerU
3203
3091
  maxHeight: rem(40),
3204
3092
  },
3205
3093
  },
3206
- });
3207
- } }, icon))))));
3094
+ }) }, icon))))));
3208
3095
  };
3209
3096
 
3210
3097
  const StyledDropDown = styled(Dropdown) `
@@ -3236,110 +3123,6 @@ const StyledDropDown = styled(Dropdown) `
3236
3123
  }
3237
3124
  `;
3238
3125
 
3239
- styled(PureInput) `
3240
- & input,
3241
- .mantine-Input-input {
3242
- border-color: ${theme.mbColors.lightGray};
3243
- background-color: ${theme.colors.white};
3244
- border-radius: 16px;
3245
- transition: all 0.2s ease;
3246
- &:focus,
3247
- &:hover {
3248
- border-color: ${theme.mbColors.pink};
3249
- box-shadow: none;
3250
- }
3251
- }
3252
-
3253
- & .displayIcon {
3254
- pointer-events: none;
3255
- }
3256
- `;
3257
- const StyledTextField = styled(Input) `
3258
- & label {
3259
- position: absolute;
3260
- z-index: 1;
3261
- top: 16px;
3262
-
3263
- left: 16px;
3264
- color: ${theme.mbColors.midGray};
3265
- pointer-events: none;
3266
- transition: all 0.2s ease;
3267
- white-space: nowrap;
3268
- overflow: hidden;
3269
- text-overflow: ellipsis;
3270
- max-width: 240px;
3271
-
3272
- &[data-size='label2'] {
3273
- font-size: 12px;
3274
- }
3275
-
3276
- ${MediaQueries.tdDown} {
3277
- max-width: 220px;
3278
- }
3279
- }
3280
- & input,
3281
- .mantine-Input-input {
3282
- ::placeholder {
3283
- color: ${theme.mbColors.gray};
3284
- font-size: 14px;
3285
- }
3286
-
3287
- ::-webkit-input-placeholder {
3288
- /* Chrome/Opera/Safari */
3289
- color: ${theme.mbColors.gray};
3290
- font-size: 14px;
3291
- }
3292
- ::-moz-placeholder {
3293
- /* Firefox 19+ */
3294
- color: ${theme.mbColors.gray};
3295
- font-size: 14px;
3296
- }
3297
- :-ms-input-placeholder {
3298
- /* IE 10+ */
3299
- color: ${theme.mbColors.gray};
3300
- font-size: 14px;
3301
- }
3302
- :-moz-placeholder {
3303
- /* Firefox 18- */
3304
- color: ${theme.mbColors.gray};
3305
- font-size: 14px;
3306
- }
3307
- height: ${(props) => (props.size === 'sm' ? 48 : 72)}px !important;
3308
- padding-top: 27px !important;
3309
- border-color: ${theme.mbColors.lightGray} !important;
3310
- background-color: ${theme.colors.white};
3311
- border-radius: 16px !important;
3312
- transition: all 0.2s ease;
3313
- padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
3314
-
3315
- &:focus,
3316
- &:hover {
3317
- border-color: ${theme.mbColors.pink};
3318
- box-shadow: none;
3319
- }
3320
- }
3321
- .mantine-Input-rightSection,
3322
- .mantine-Input-leftSection {
3323
- padding-top: 20px;
3324
- }
3325
-
3326
- &[data-has-action-icon] {
3327
- input,
3328
- .mantine-Input-input {
3329
- padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
3330
- padding-bottom: ${(props) => (props.value ? '16px' : '27px')} !important;
3331
- height: unset !important;
3332
- }
3333
-
3334
- label {
3335
- position: absolute;
3336
- z-index: 1;
3337
- top: 16px;
3338
- padding-right: 46px;
3339
- }
3340
- }
3341
- `;
3342
-
3343
3126
  const StyledMethodContainer = styled.div `
3344
3127
  width: 100%;
3345
3128
  `;
@@ -3421,66 +3204,6 @@ styled(StyledImageIcon) `
3421
3204
  margin-right: 4px;
3422
3205
  `;
3423
3206
 
3424
- var DueDateCalculatorType;
3425
- (function (DueDateCalculatorType) {
3426
- DueDateCalculatorType[DueDateCalculatorType["lastPeriod"] = 0] = "lastPeriod";
3427
- DueDateCalculatorType[DueDateCalculatorType["conception"] = 1] = "conception";
3428
- DueDateCalculatorType[DueDateCalculatorType["IVF"] = 2] = "IVF";
3429
- })(DueDateCalculatorType || (DueDateCalculatorType = {}));
3430
- const API_DATE_FORMAT = 'yyyy-MM-dd';
3431
- const getDueDateLastPeriod = (lastPeriodDate, periodLength) => {
3432
- const pregnancyLength = 272 + (periodLength - 21);
3433
- const dueDate = new Date(lastPeriodDate);
3434
- dueDate.setDate(dueDate.getDate() + pregnancyLength);
3435
- return {
3436
- startDate: lastPeriodDate,
3437
- dueDate,
3438
- otherInfo: {
3439
- method: DueDateCalculatorType.lastPeriod + 1,
3440
- first_day: format(lastPeriodDate, API_DATE_FORMAT),
3441
- cycle_length_days: periodLength,
3442
- conception_date: null,
3443
- ivf_transfer_date: null,
3444
- days_transfer: null,
3445
- },
3446
- };
3447
- };
3448
- const getDueDateConception = (conceptionDate) => {
3449
- const dueDate = new Date(conceptionDate);
3450
- dueDate.setDate(dueDate.getDate() + 265);
3451
- return {
3452
- startDate: conceptionDate,
3453
- dueDate,
3454
- otherInfo: {
3455
- method: DueDateCalculatorType.conception + 1,
3456
- conception_date: format(conceptionDate, API_DATE_FORMAT),
3457
- first_day: null,
3458
- cycle_length_days: null,
3459
- ivf_transfer_date: null,
3460
- days_transfer: null,
3461
- },
3462
- };
3463
- };
3464
- const getDueDateIVF = (IVFDate, numDayTransfer) => {
3465
- const dueDate = new Date(IVFDate);
3466
- dueDate.setDate(dueDate.getDate() + 265 - numDayTransfer);
3467
- return {
3468
- startDate: IVFDate,
3469
- dueDate,
3470
- otherInfo: {
3471
- method: DueDateCalculatorType.IVF + 1,
3472
- ivf_transfer_date: format(IVFDate, API_DATE_FORMAT),
3473
- days_transfer: numDayTransfer,
3474
- conception_date: null,
3475
- first_day: null,
3476
- cycle_length_days: null,
3477
- },
3478
- };
3479
- };
3480
- const DateToInputValue = (date) => {
3481
- return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
3482
- };
3483
-
3484
3207
  const DueDateFormConception = ({ locale, onClick, siteType, pageUrl, }) => {
3485
3208
  const { t } = useTranslations();
3486
3209
  const [conceptionDate, setConceptionDate] = useState(new Date());
@@ -3610,7 +3333,7 @@ const StyledTwins = styled.div `
3610
3333
  }
3611
3334
  }
3612
3335
  `;
3613
- const StyledInputForm = styled.div `
3336
+ styled.div `
3614
3337
  margin-bottom: 20px;
3615
3338
  width: 100%;
3616
3339
 
@@ -3697,7 +3420,7 @@ const StyledFormInput = styled.div `
3697
3420
  }
3698
3421
  }
3699
3422
  `;
3700
- const StyledActive = styled.div `
3423
+ styled.div `
3701
3424
  margin-bottom: 24px;
3702
3425
  width: 100%;
3703
3426
 
@@ -3787,6 +3510,139 @@ const DueDateCalculator = ({ onSubmitDueDate, locale, isSide, siteType, }) => {
3787
3510
  calculatorType === DueDateCalculatorType.IVF ? (React__default.createElement(DueDateFormIVF, { locale: locale, onClick: onSubmitDueDate, isSide: isSide, siteType: siteType, pageUrl: currentUrl })) : null));
3788
3511
  };
3789
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
+
3790
3646
  const StyledContent = setDefaultClass(styled.form `
3791
3647
  margin: auto;
3792
3648
  ${MediaQueries.mbUp} {
@@ -3875,7 +3731,7 @@ const StyledContent = setDefaultClass(styled.form `
3875
3731
  }
3876
3732
  }
3877
3733
  `, 'hhgcomp-embedtoolcard-content');
3878
- const StyledContainer$3 = styled.div `
3734
+ styled.div `
3879
3735
  padding: 0;
3880
3736
  background-color: white;
3881
3737
  border: 1px solid #e4e8ec;
@@ -4040,8 +3896,8 @@ const StyledRadioGroup = styled(RadioGroup) `
4040
3896
  const DueDateCardEmbed = ({ isMobile, locale, onSubmitDueDate, dueDatePageInfo, expertUrl, isSide, siteType, }) => {
4041
3897
  var _a;
4042
3898
  const { t } = useTranslations();
4043
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
4044
- 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) ||
4045
3901
  CommonGAssets.getAssetPath('health-tools/due-date-icon.svg'), loading: "lazy" }), heading: t('healthTools.dueDateCalculator'), medicalReview: {
4046
3902
  link: expertUrl,
4047
3903
  reviewer: (_a = dueDatePageInfo === null || dueDatePageInfo === void 0 ? void 0 : dueDatePageInfo.reviewed_by) === null || _a === void 0 ? void 0 : _a.display_name,
@@ -4051,155 +3907,99 @@ const DueDateCardEmbed = ({ isMobile, locale, onSubmitDueDate, dueDatePageInfo,
4051
3907
  React__default.createElement(DueDateCalculator, { siteType: siteType, locale: locale, onSubmitDueDate: onSubmitDueDate, isSide: isSide }))));
4052
3908
  };
4053
3909
 
4054
- const BmiEmbedContext = createContext({});
3910
+ const BmiFormContext = createContext({});
4055
3911
 
4056
- const StyledButton$2 = styled(Button$1) `
4057
- margin: 0 auto 24px;
4058
- ${MediaQueries.mbUp} {
4059
- max-width: 200px;
4060
- margin: 24px auto;
4061
- }
4062
- `;
4063
- const StyledInput = styled(PureInput) `
4064
- &.bmi--input {
4065
- + .bmi--input {
4066
- margin-top: 24px;
4067
- }
4068
- .inputLabel {
4069
- display: inline-block;
4070
- margin-bottom: 5px;
4071
- color: #595959;
4072
- font-weight: bold;
4073
- font-size: 12px;
4074
- }
4075
- .errorLabel {
4076
- line-height: 1.3;
4077
- }
4078
- input[type='radio'] {
4079
- padding: 0;
4080
- }
4081
- .bmi--input-radio_gender {
4082
- width: 100%;
4083
- gap: 16px;
4084
- > div {
4085
- ${MediaQueries.mbDown} {
4086
- width: calc(50% - 8px);
4087
- }
4088
- width: calc(33% - 8px);
4089
- }
4090
- & > div > div {
4091
- display: flex;
4092
- flex-direction: row;
4093
- justify-content: center;
4094
- align-content: center;
4095
- gap: 8px;
4096
- padding-block: 5px;
4097
- }
4098
- }
4099
- .bmi-side-embed {
4100
- > div {
4101
- ${MediaQueries.mbUp} {
4102
- width: calc(50% - 8px);
4103
- }
4104
- }
4105
- }
4106
- .radio-group-item-heading {
4107
- margin-top: 0;
4108
- }
4109
- }
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
+ };
4110
3946
 
4111
- ${MediaQueries.mbDown} {
4112
- &.bmi--input {
4113
- .bmi--input-radio_gender {
4114
- > div {
4115
- .gender-image {
4116
- width: 40px;
4117
- height: 40px;
4118
- }
4119
- }
4120
- }
4121
- }
4122
- }
4123
- `;
4124
- const StyledContainer$2 = styled.div `
4125
- width: 100%;
4126
- `;
4127
- const FormControl$2 = styled.div `
4128
- margin-bottom: 1rem;
4129
- display: flex;
4130
- flex-direction: column;
4131
- gap: 16px;
4132
- input {
4133
- font-size: 12px;
4134
- ::placeholder {
4135
- color: #8c8c8c;
4136
- opacity: 1;
4137
- }
4138
- }
4139
- .input-label {
4140
- label {
4141
- display: inline-block;
4142
- margin-bottom: 9px;
4143
- color: #595959;
4144
- font-weight: bold;
4145
- font-size: 12px;
4146
- }
4147
- }
4148
- `;
4149
- const StyledRow$3 = styled.div `
4150
- ${MediaQueries.mbUp} {
4151
- display: flex;
4152
- width: 100%;
4153
- align-items: flex-start;
4154
- justify-content: space-between;
4155
- gap: 12px;
4156
- > div {
4157
- width: 100%;
4158
- }
4159
- &[data-is-side='true'] {
4160
- ${MediaQueries.mbUp} {
4161
- display: flex;
4162
- flex-direction: column;
4163
- gap: 0px;
4164
- }
4165
- }
4166
- }
4167
- ${MediaQueries.mbDown} {
4168
- display: flex;
4169
- flex-direction: column;
4170
- gap: 0px;
4171
- }
4172
- `;
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
+ };
4173
3988
 
4174
- function getBmi({ weight: weightProps, height: heightProps }) {
3989
+ function getBmi({ weight: weightProps, height: heightProps, }) {
4175
3990
  const height = heightProps / 100;
4176
3991
  const weight = weightProps;
4177
3992
  return Math.round((weight / (height * height)) * 10) / 10;
4178
3993
  }
4179
3994
 
4180
- const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmitProps, disabled, bmiGenerated, bmiUnit, locale, isSide, }) => {
4181
- 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"]);
4182
3997
  const [isTouched, setIsTouched] = useState(false);
4183
3998
  const { control, handleSubmit, setValue, watch } = useForm();
4184
3999
  const data = watch();
4185
- const { t } = useTranslations();
4186
- const { gender: disabledGender = false, age: disabledAge = false, height: disabledHeight = false, weight: disabledWeight = false, objective: disabledObjective = true, } = disabled || {};
4000
+ const { locale } = useTranslations();
4187
4001
  const { getHealthToolLink } = useHealthToolsCache(locale);
4188
4002
  const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE$1.OVULATION), [getHealthToolLink]);
4189
- const objectOptions = useMemo(() => [
4190
- {
4191
- value: 'lose-weight',
4192
- label: t('bmi.objective.loseWeight'),
4193
- },
4194
- {
4195
- value: 'maintain-weight',
4196
- label: t('bmi.objective.maintainWeight'),
4197
- },
4198
- {
4199
- value: 'gain-weight',
4200
- label: t('bmi.objective.gainWeight'),
4201
- },
4202
- ], []);
4203
4003
  const onValid = (data) => __awaiter(void 0, void 0, void 0, function* () {
4204
4004
  const height = bmiUnit.heightConvert(data.height);
4205
4005
  const weight = bmiUnit.weightConvert(data.weight);
@@ -4210,9 +4010,6 @@ const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmi
4210
4010
  weight,
4211
4011
  bmi: getBmi({ height, weight }),
4212
4012
  };
4213
- if (!disabledObjective) {
4214
- submitValue['objective'] = data.objective;
4215
- }
4216
4013
  onInValid();
4217
4014
  onSubmitProps && onSubmitProps(submitValue);
4218
4015
  });
@@ -4232,477 +4029,42 @@ const BmiForm = ({ value: valueProps, onChange: onChangeProps, onSubmit: onSubmi
4232
4029
  useEffect(() => {
4233
4030
  onChangeProps && onChangeProps(data);
4234
4031
  }, [data]);
4235
- return (React__default.createElement(StyledContainer$2, null,
4236
- React__default.createElement("form", { onSubmit: handleSubmit(onValid, onInValid) },
4237
- !disabledGender && (React__default.createElement(FormControl$2, { "data-is-side": isSide },
4238
- React__default.createElement(Controller, { name: "gender", control: control, defaultValue: "male", render: ({ field: { onChange } }) => {
4239
- return (React__default.createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => onChange(v), styles: (theme) => ({
4240
- root: !isSide && {
4241
- [theme.fn.largerThan('sm')]: {
4242
- width: 'calc((100% - 24px) * 2/3 + 12px)',
4243
- },
4244
- },
4245
- wrapper: {
4246
- [theme.fn.largerThan('sm')]: {
4247
- gap: rem(12),
4248
- },
4249
- },
4250
- }) }));
4251
- } }))),
4252
- React__default.createElement(StyledRow$3, { "data-is-side": isSide },
4253
- !disabledAge && (React__default.createElement(FormControl$2, null,
4254
- 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 }, }) => {
4255
- return (React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
4256
- t('bmi.ageInput'),
4257
- ' ',
4258
- 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 }));
4259
- } }))),
4260
- !disabledHeight && (React__default.createElement(FormControl$2, null,
4261
- 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 }, }) => {
4262
- return (React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
4263
- t('bmi.heightInput'),
4264
- ' ',
4265
- 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 }));
4266
- } }))),
4267
- !disabledWeight && (React__default.createElement(FormControl$2, null,
4268
- 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 }, }) => {
4269
- return (React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
4270
- t('bmi.weightInput'),
4271
- ' ',
4272
- 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 }));
4273
- } }))),
4274
- !disabledObjective && (React__default.createElement(FormControl$2, null,
4275
- 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 }, }) => {
4276
- 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" }));
4277
- } })))),
4278
- React__default.createElement("div", { style: { display: 'flex' } },
4279
- 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'))))));
4280
- };
4281
-
4282
- const Form$1 = () => {
4283
- const { onSubmit, bmiGenerated, locale, bmiUnit, isSide } = useContext(BmiEmbedContext);
4284
- 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)))));
4285
4040
  };
4286
4041
 
4287
- const _BMICardEmbed = ({ isMobile, onSubmit, bmiContent, isSide, bmiGenerated, bmiUnit, bmiLink, locale, children, }) => {
4042
+ const BMICardEmbed = ({ isMobile, onSubmit, bmiContent, bmiGenerated, bmiUnit, locale, formLayout, }) => {
4288
4043
  var _a, _b, _c;
4289
4044
  const { t } = useTranslations();
4290
- return (React__default.createElement(BmiEmbedContext.Provider, { value: {
4291
- isMobile,
4292
- onSubmit,
4293
- isSide,
4294
- bmiGenerated,
4295
- bmiUnit,
4296
- bmiLink,
4297
- locale,
4298
- } }, children || (React__default.createElement(StyledContainer$3, { "data-is-side": isSide },
4299
- 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) ||
4300
4047
  CommonGAssets.getAssetPath('health-tools/bmi.svg'), loading: "lazy" }), heading: t('bmi.heading'), medicalReview: {
4301
4048
  link: (_a = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4302
4049
  reviewer: (_b = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer,
4303
4050
  date: (_c = bmiContent === null || bmiContent === void 0 ? void 0 : bmiContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4304
4051
  }, isMobile: isMobile }),
4305
- React__default.createElement(Container, null,
4306
- React__default.createElement(StyledContent, { as: "div", "data-is-side": isSide }, bmiLink && React__default.createElement(Form$1, null)))))));
4307
- };
4308
- const BMICardEmbed = _BMICardEmbed;
4309
- BMICardEmbed.Form = Form$1;
4310
-
4311
- const BabyGrowthEmbedContext = createContext({});
4312
-
4313
- const BabyGrowthFormContext = createContext({});
4314
-
4315
- var useStyles$3 = createStyles(() => {
4316
- return {
4317
- root: {},
4318
- };
4319
- });
4320
-
4321
- var useStyles$2 = createStyles((theme) => {
4322
- return {
4323
- root: {
4324
- display: 'flex',
4325
- flexDirection: 'column',
4326
- gap: rem(8),
4327
- },
4328
- row: {
4329
- display: 'flex',
4330
- alignItems: 'stretch',
4331
- justifyContent: 'space-between',
4332
- gap: rem(16),
4333
- },
4334
- labelWrapper: {
4335
- flex: '1 1 0px',
4336
- display: 'flex',
4337
- alignItems: 'center',
4338
- borderBottom: `1px solid ${theme.colors.neutral[1]}`,
4339
- },
4340
- label: {
4341
- fontSize: rem(14),
4342
- color: theme.colors.gray[6],
4343
- },
4344
- control: {
4345
- width: rem(180),
4346
- flexShrink: 1,
4347
- '&.error': {
4348
- 'button, input': {
4349
- borderColor: theme.colors.red[7],
4350
- },
4351
- },
4352
- },
4353
- radioLabel: {
4354
- fontSize: rem(16),
4355
- },
4356
- radioRoot: {
4357
- padding: `${rem(10)} 0`,
4358
- margin: 0,
4359
- },
4360
- bmiVal: {
4361
- display: 'inline-block',
4362
- },
4363
- inputWithUnit__wrapper: {
4364
- position: 'relative',
4365
- },
4366
- inputWithUnit__unit: {
4367
- position: 'absolute',
4368
- top: 0,
4369
- right: 0,
4370
- bottom: 0,
4371
- paddingRight: rem(10),
4372
- display: 'flex',
4373
- alignItems: 'center',
4374
- },
4375
- inputWithUnit__unitText: {
4376
- color: theme.colors.gray[6],
4377
- },
4378
- inputWithUnit__input: {
4379
- input: {
4380
- paddingRight: rem(30),
4381
- '::-webkit-inner-spin-button': { '-webkit-appearance': 'none' },
4382
- },
4383
- },
4384
- submitBtn: {},
4385
- switchRoot: {
4386
- padding: '16px 0',
4387
- },
4388
- };
4389
- });
4390
-
4391
- const HorizonalForm = (_a) => {
4392
- var { styles, classNames } = _a, props = __rest(_a, ["styles", "classNames"]);
4393
- const { t } = useTranslations();
4394
- const { control, currentUrl, isEmptyThreeFields, isMarryBaby } = useContext(BabyGrowthFormContext);
4395
- const { classes, cx } = useStyles$2(undefined, {
4396
- name: 'BabyGrowthForm__HorizonalForm',
4397
- styles,
4398
- classNames,
4399
- });
4400
- const commonDateProps = {
4401
- placeholder: 'DD/MM/YYYY',
4402
- popoverProps: {
4403
- withinPortal: true,
4404
- },
4405
- };
4406
- return (React__default.createElement(Box, Object.assign({ className: classes.root }, props),
4407
- React__default.createElement(Controller, { control: control, name: "gender", render: ({ field: { onChange, value } }) => (React__default.createElement(Box, { className: classes.row },
4408
- React__default.createElement(Box, { className: classes.labelWrapper },
4409
- React__default.createElement("label", { className: classes.label, htmlFor: "gender" }, t('tools.selectBabyGender'))),
4410
- React__default.createElement(Radio$1.Group, { onChange: onChange, value: value },
4411
- React__default.createElement(Group, { mt: "xs" },
4412
- React__default.createElement(Radio$1, { value: "boy", label: t('gender.boy'), classNames: {
4413
- root: classes.radioRoot,
4414
- label: classes.radioLabel,
4415
- } }),
4416
- React__default.createElement(Radio$1, { value: "girl", label: t('gender.girl'), classNames: {
4417
- label: classes.radioLabel,
4418
- } }))))) }),
4419
- React__default.createElement(Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => {
4420
- return (React__default.createElement(Box, { className: classes.row },
4421
- React__default.createElement(Box, { className: classes.labelWrapper },
4422
- React__default.createElement("label", { className: classes.label, htmlFor: "birthday" }, t('babyGrowth.input.birthday'))),
4423
- React__default.createElement(DatePicker$1, Object.assign({}, commonDateProps, { className: cx(classes.control, error ? 'error' : ''), onChange: onChange, maxDate: new Date() }))));
4424
- } }),
4425
- React__default.createElement(Box, { className: classes.row },
4426
- React__default.createElement(Box, { className: classes.labelWrapper },
4427
- React__default.createElement("label", { className: classes.label }, "BMI")),
4428
- React__default.createElement(Flex, { align: 'center', gap: '8px' },
4429
- React__default.createElement(Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default.createElement(React__default.Fragment, null,
4430
- React__default.createElement(Text, { size: "p2" },
4431
- React__default.createElement("span", { className: classes.bmiVal }, !isNaN(Number(value)) && value !== '0' ? value : ''),
4432
- t('babyGrowth.kg.m2')))) }),
4433
- 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' : '') },
4434
- 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() }),
4435
- React__default.createElement(Box, { className: classes.inputWithUnit__unit },
4436
- React__default.createElement(Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.cm'))))) }),
4437
- 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' : '') },
4438
- React__default.createElement(Box, { className: classes.inputWithUnit__unit },
4439
- React__default.createElement(Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.kg'))),
4440
- 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() }))) }))),
4441
- React__default.createElement(Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(Box, { className: classes.row },
4442
- React__default.createElement(Box, { className: classes.labelWrapper },
4443
- React__default.createElement("label", { className: classes.label, htmlFor: "head" },
4444
- ' ',
4445
- t('babyGrowth.headCircumference'))),
4446
- React__default.createElement(Box, { className: cx(classes.inputWithUnit__wrapper, classes.control, isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
4447
- 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() }),
4448
- React__default.createElement(Box, { className: classes.inputWithUnit__unit },
4449
- React__default.createElement(Text, { as: "span", size: "p2", className: classes.inputWithUnit__unitText }, t('babyGrowth.cm')))))) }),
4450
- React__default.createElement(Controller, { control: control, name: "measurementDate", render: ({ field: { onChange } }) => (React__default.createElement(Box, { className: classes.row },
4451
- React__default.createElement(Box, { className: classes.labelWrapper },
4452
- React__default.createElement("label", { className: classes.label, htmlFor: "measurementDate" }, t('babyGrowth.input.measurementDate'))),
4453
- React__default.createElement(DatePicker$1, Object.assign({}, commonDateProps, { className: classes.control, defaultValue: new Date(), onChange: onChange, maxDate: new Date() })))) }),
4454
- React__default.createElement(Box, { className: classes.row },
4455
- 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')))));
4456
- };
4457
-
4458
- const StyledBabyGrowthWrapper$1 = styled.div `
4459
- display: flex;
4460
- flex-direction: column;
4461
- gap: 16px;
4462
- padding-block: 40px;
4463
-
4464
- &[data-theme='marryBaby'] {
4465
- padding-block: 0;
4466
- padding-top: 12px;
4467
- }
4468
- `;
4469
- const StyledFormControl = styled.div `
4470
- display: flex;
4471
- flex-direction: column;
4472
- gap: 6px;
4473
- margin-top: auto;
4474
-
4475
- .error-input input {
4476
- border: 1px solid ${theme.colors.red700};
4477
- }
4478
- `;
4479
- const StyledInlineLabel = styled(Label) `
4480
- display: inline-flex;
4481
- padding-bottom: 6px;
4482
- gap: 4px;
4483
- `;
4484
- const StyledRow$2 = styled.div `
4485
- display: flex;
4486
- width: 100%;
4487
- align-items: center;
4488
- justify-content: space-between;
4489
- gap: 16px;
4490
- > div {
4491
- width: 100%;
4492
- }
4493
- `;
4494
-
4495
- const VerticalForm = () => {
4496
- const { t } = useTranslations();
4497
- const { control, currentUrl, isEmptyThreeFields, isMarryBaby, siteType } = useContext(BabyGrowthFormContext);
4498
- const commonDateProps = {
4499
- placeholder: 'DD/MM/YYYY',
4500
- popoverProps: {
4501
- withinPortal: true,
4502
- },
4503
- };
4504
- return (React__default.createElement(StyledBabyGrowthWrapper$1, { className: "form-wrapper", "data-theme": siteType },
4505
- React__default.createElement(Controller, { control: control, name: "gender", render: ({ field: { onChange, value } }) => (React__default.createElement(BabyGrowthGender, { onChange: onChange, value: value, siteType: siteType })) }),
4506
- siteType === 'marryBaby' ? (React__default.createElement(React__default.Fragment, null,
4507
- React__default.createElement(Controller, { control: control, name: "birthday", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
4508
- 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 }) })) }))) }),
4509
- React__default.createElement(StyledRow$2, null,
4510
- React__default.createElement(Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4511
- 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)
4512
- ? 'error-input'
4513
- : '', name: "height", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4514
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
4515
- React__default.createElement(Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4516
- 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)
4517
- ? 'error-input'
4518
- : '', name: "weight", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4519
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) })),
4520
- React__default.createElement(StyledRow$2, null,
4521
- React__default.createElement(Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4522
- 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)
4523
- ? 'error-input'
4524
- : '', name: "head", size: "md", value: String(value), onChange: onChange, type: "number", placeholder: "Nh\u1EADp th\u00F4ng tin", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
4525
- e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
4526
- React__default.createElement(Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default.createElement(StyledFormControl, null,
4527
- 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' } }) }))) })),
4528
- React__default.createElement(Controller, { control: control, name: "measurementDate", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
4529
- 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 }) })) }))) }),
4530
- 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,
4531
- React__default.createElement(Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
4532
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "birthday" },
4533
- React__default.createElement(Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.birthday'))),
4534
- 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' : '' })))) }),
4535
- React__default.createElement(StyledRow$2, null,
4536
- React__default.createElement(Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4537
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "height" },
4538
- React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.height')),
4539
- React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.cm'))),
4540
- 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() }))) }),
4541
- React__default.createElement(Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4542
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "weight" },
4543
- React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.weight')),
4544
- React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.kg'))),
4545
- 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() }))) })),
4546
- React__default.createElement(StyledRow$2, null,
4547
- React__default.createElement(Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
4548
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "head" },
4549
- React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.headCircumference')),
4550
- React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.cm'))),
4551
- 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() }))) }),
4552
- React__default.createElement(Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default.createElement(StyledFormControl, null,
4553
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "bmi" },
4554
- React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.input.bmi')),
4555
- React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.kg.m2'))),
4556
- React__default.createElement(Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true }))) })),
4557
- React__default.createElement(Controller, { control: control, name: "measurementDate", render: ({ field: { onChange }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
4558
- React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "measurementDate" },
4559
- React__default.createElement(Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.measurementDate'))),
4560
- 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' : '' })))) }),
4561
- 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'))))));
4562
- };
4563
-
4564
- /**
4565
- * Using {@link Intl.NumberFormat} to covert a number to string base on its locale
4566
- * @param {number} num - Number to convert
4567
- * @param {number} maximumFractionDigits - Number of decimal digits
4568
- * @returns {string} - String based number
4569
- */
4570
- const localizeNumberFormat = (num, maximumFractionDigits = 2) => {
4571
- return Intl.NumberFormat(undefined, {
4572
- maximumFractionDigits,
4573
- }).format(num);
4574
- };
4575
-
4576
- /**
4577
- * Calculate BMI
4578
- * Using {@link localizeNumberFormat} to convert number based on locale
4579
- * @param {number} height - Height in number
4580
- * @param {number} weight - Weight in number
4581
- * @returns {number} - BMI with 2 decimal digits
4582
- */
4583
- const bmiCalculate = (height = 0, weight = 0) => {
4584
- try {
4585
- if (height && weight) {
4586
- const bmi = Number(weight) / Math.pow(Number(height) / 100, 2);
4587
- return Number(localizeNumberFormat(bmi));
4588
- }
4589
- else {
4590
- return 0;
4591
- }
4592
- }
4593
- catch (error) { }
4594
- return 0;
4595
- };
4596
-
4597
- const BabyGrowthForm = ({ onSubmit, onError, schema, siteType, layout = 'vertical', styles, classNames, }) => {
4598
- const { classes, theme } = useStyles$3(undefined, {
4599
- name: 'BabyGrowthForm',
4600
- styles,
4601
- classNames,
4602
- });
4603
- const isMarryBaby = theme.other.template === 'mb';
4604
- const { control, setValue, watch, handleSubmit, formState: { isSubmitted }, } = useForm({
4605
- resolver: yupResolver(schema),
4606
- mode: 'onSubmit',
4607
- defaultValues: {
4608
- name: '',
4609
- gender: Gender.Boy,
4610
- measurementDate: new Date(),
4611
- },
4612
- });
4613
- const weight = watch('weight');
4614
- const height = watch('height');
4615
- const head = watch('head');
4616
- const isEmptyThreeFields = useMemo(() => isSubmitted && !weight && !height && !head, [isSubmitted, weight, height, head]);
4617
- useEffect(() => {
4618
- const bmi = bmiCalculate(height, weight);
4619
- setValue('bmi', String(bmi) || '0');
4620
- }, [weight, height]);
4621
- const currentUrl = useMemo(() => {
4622
- if (typeof window !== 'undefined') {
4623
- return window.location.href;
4624
- }
4625
- else
4626
- return '';
4627
- }, []);
4628
- return (React__default.createElement(BabyGrowthFormContext.Provider, { value: {
4629
- isEmptyThreeFields,
4630
- control,
4631
- currentUrl,
4632
- isMarryBaby,
4633
- siteType,
4634
- } },
4635
- React__default.createElement(Box, { component: "form", onSubmit: handleSubmit(onSubmit, onError) }, layout === 'vertical' ? (React__default.createElement(VerticalForm, null)) : (React__default.createElement(HorizonalForm, { classNames: {
4636
- root: classes.root,
4637
- } })))));
4638
- };
4639
-
4640
- const StyledBabyGrowthWrapper = styled.div `
4641
- padding: 36px;
4642
- padding-top: 0;
4643
- background-color: white;
4644
- ${MediaQueries.mbDown} {
4645
- padding: 16px;
4646
- padding-top: 0;
4647
- }
4648
- &[data-theme='marryBaby'] {
4649
- background-color: ${theme.mbColors.green};
4650
- padding: 24px;
4651
- border-bottom-right-radius: 16px;
4652
- border-bottom-left-radius: 16px;
4653
- ${MediaQueries.mbDown} {
4654
- padding: 16px;
4655
- }
4656
- }
4657
- `;
4658
- const StyleForm = styled(BabyGrowthForm) `
4659
- padding-block: 0;
4660
- `;
4661
- styled(ToolsBannerCard) `
4662
- padding-inline: 20px;
4663
-
4664
- img.embedded-icon {
4665
- width: 140px;
4666
- margin-left: 50%;
4667
- align-self: center;
4668
- }
4669
-
4670
- ${MediaQueries.mbDown} {
4671
- padding-inline: 0;
4672
- img.embedded-icon {
4673
- width: 125px;
4674
- align-self: end;
4675
- margin-left: 0;
4676
- position: absolute;
4677
- transform: translateY(50%);
4678
- }
4679
- .embedded-review {
4680
- max-width: 200px;
4681
- }
4682
- }
4683
- `;
4684
-
4685
- const Form = (_a) => {
4686
- var form = __rest(_a, []);
4687
- const { formLayout, siteType, schema, onSubmit, onError } = useContext(BabyGrowthEmbedContext);
4688
- 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 }))));
4689
4054
  };
4690
4055
 
4691
- const _BabyGrowthCardEmbed = ({ isMobile, onSubmit, onError, schema, babyGrowthContent, siteType, children, formLayout, }) => {
4056
+ const BabyGrowthCardEmbed = ({ isMobile, onSubmit, onError, schema, babyGrowthContent, formLayout, }) => {
4692
4057
  var _a, _b, _c;
4693
- return (React__default.createElement(BabyGrowthEmbedContext.Provider, { value: { formLayout, siteType, schema, onSubmit, onError } }, children || (React__default.createElement(React__default.Fragment, null,
4694
- React__default.createElement(StyledContainer$3, { "babyGrowthContent-is-mobile": isMobile, "data-site": siteType },
4695
- 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) ||
4696
- CommonGAssets.getAssetPath('health-tools/toolsIconBabyGrowth.svg'), loading: "lazy" }), heading: (babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.title) || '', medicalReview: {
4697
- link: (_a = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
4698
- reviewer: (_b = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer.trim(),
4699
- date: (_c = babyGrowthContent === null || babyGrowthContent === void 0 ? void 0 : babyGrowthContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
4700
- }, isMobile: isMobile }),
4701
- React__default.createElement(StyledBabyGrowthWrapper, { "data-theme": siteType },
4702
- React__default.createElement(Form, { layout: formLayout })))))));
4703
- };
4704
- const BabyGrowthCardEmbed = _BabyGrowthCardEmbed;
4705
- 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
+ };
4706
4068
 
4707
4069
  var useStyles$1 = createStyles((theme, params) => {
4708
4070
  const { isMarryBaby, isSide, direction } = params;
@@ -4841,186 +4203,103 @@ const BabyPoopEmbed = ({ babyPoopPage, onClickFindOut, currentUrl, isSide, direc
4841
4203
  sponsorLogo && (React__default.createElement("img", { loading: "lazy", src: sponsorLogo, alt: "sponsor", className: classes.sponsorLogo }))));
4842
4204
  };
4843
4205
 
4844
- const StyledRadioImageGroup = styled.div `
4845
- display: flex;
4846
- width: 100%;
4847
-
4848
- &[data-direction='vertical'] {
4849
- flex-direction: column;
4850
- }
4851
-
4852
- &[data-direction='horizontal'] {
4853
- flex-wrap: wrap;
4854
- }
4855
- `;
4856
- const StyledRadioImageItem = styled.div `
4857
- display: flex;
4858
-
4859
- padding: 8px;
4860
-
4861
- border-radius: ${theme.borderRadius};
4862
- cursor: pointer;
4863
-
4864
- & > div {
4865
- display: flex;
4866
- width: 100%;
4867
- height: 100%;
4868
- flex-direction: column;
4869
- align-items: center;
4870
- justify-content: flex-start;
4871
- }
4872
-
4873
- &[data-selected='true'] {
4874
- border: 1px solid #2d87f3;
4875
- background: white;
4206
+ const ThrFormContext = createContext({});
4876
4207
 
4877
- .radio-group-item-heading {
4878
- color: #2d87f3;
4879
- }
4880
- }
4881
- &[data-selected='false'] {
4882
- border: 1px solid #f2f2f2;
4883
- box-shadow: 0px 5px 12px rgba(40, 74, 117, 0.08);
4884
- .radio-group-item-heading {
4885
- color: #262626;
4886
- }
4887
- }
4888
- &[data-disabled='true'] {
4889
- cursor: auto;
4890
- }
4891
-
4892
- .radio-group-item-heading {
4893
- margin-top: 8px;
4894
- text-align: center;
4895
- }
4896
-
4897
- .gender-image {
4898
- width: 23px;
4899
- height: 36px;
4900
- object-fit: contain;
4901
- }
4902
- `;
4903
-
4904
- const RadioImageGroupForTool = ({ value, options, className, direction = 'horizontal', onChange, isDisabled, }) => {
4905
- const [check, setCheck] = useState(value);
4906
- const handleOnChange = (v) => {
4907
- if (isDisabled)
4908
- return;
4909
- setCheck(v);
4910
- onChange && onChange(v);
4911
- };
4912
- 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: () => {
4913
- handleOnChange(option.value);
4914
- } },
4915
- React__default.createElement("div", null,
4916
- React__default.createElement("img", { src: (value || check) === option.value
4917
- ? option.imageActive
4918
- : option.image, className: "gender-image", alt: "", loading: "lazy" }),
4919
- 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'))));
4920
4236
  };
4921
4237
 
4922
- const StyledButton$1 = styled(Button$1) `
4923
- margin: 0 auto 24px;
4924
- width: 100%;
4925
- ${MediaQueries.mbUp} {
4926
- max-width: 200px;
4927
- }
4928
- `;
4929
- const StyledContainer$1 = styled.div ``;
4930
- const FormControl$1 = styled.div `
4931
- display: flex;
4932
- flex-direction: column;
4933
- gap: 16px;
4934
- input {
4935
- font-size: 12px;
4936
- }
4937
- .gender-option {
4938
- gap: 16px;
4939
- > div {
4940
- width: calc(50% - 8px);
4941
- }
4942
- }
4943
- .input-label {
4944
- label {
4945
- display: inline-block;
4946
- margin-bottom: 9px;
4947
- color: #595959;
4948
- font-weight: bold;
4949
- font-size: 12px;
4950
- }
4951
- }
4952
- `;
4953
- const StyledRow$1 = styled.div `
4954
- ${MediaQueries.mbUp} {
4955
- display: flex;
4956
- width: 100%;
4957
- align-items: flex-start;
4958
- justify-content: space-between;
4959
- gap: 16px;
4960
- margin-bottom: 24px;
4961
- > div {
4962
- width: 100%;
4963
- }
4964
- }
4965
-
4966
- ${MediaQueries.mbDown} {
4967
- display: flex;
4968
- flex-direction: column;
4969
- gap: 16px;
4970
- margin-bottom: 8px;
4971
- }
4972
- &[data-is-side='true'] {
4973
- ${MediaQueries.mbUp} {
4974
- display: flex;
4975
- flex-direction: column-reverse;
4976
- gap: 0px;
4977
- }
4978
- }
4979
- `;
4980
-
4981
- const ThrForm = ({ info, className, style, onChange, errorMessage = {}, locale, }) => {
4982
- const { t } = useTranslations();
4983
- const [dob, setDob] = useState(new Date());
4984
- const [isEdit, setIsEdit] = useState({
4985
- age: false,
4986
- rate: false,
4987
- });
4988
- const onAgeChanged = (dob) => {
4989
- setDob(dob);
4990
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { age: true })));
4991
- const newInfo = Object.assign(Object.assign({}, info), { age: format(new Date(dob), API_DATE_FORMAT) });
4992
- onChange && onChange(newInfo);
4993
- };
4994
- useEffect(() => {
4995
- setIsEdit({
4996
- age: false,
4997
- rate: false,
4998
- });
4999
- }, [errorMessage]);
5000
- return (React__default.createElement(StyledContainer$1, { style: style, className: className },
5001
- 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: {
5002
- after: new Date(addDays(new Date(), 0)),
5003
- }, locale: locale, pickedDate: dob, displayDateFormat: 'dd/MM/yyyy', onChange: (date) => {
5004
- onAgeChanged(date);
5005
- }, 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'))));
5006
4276
  };
5007
4277
 
5008
- const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMessage, onFormChange, onSubmit, }) => {
5009
- var _a, _b, _c;
5010
- 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);
5011
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
+ });
5012
4301
  const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE$1.THR), [getHealthToolLink]);
5013
4302
  const [isAdult, setIsAdult] = useState(false);
5014
- const [activeValue, setActiveValue] = useState('low_intensity');
5015
- const [genderValue, setGenderValue] = useState('male');
5016
- const [heartRate, setHeartRate] = useState(60);
5017
- const [range, setRange] = useState({
5018
- idAge: 0,
5019
- minAge: 0,
5020
- maxAge: 18,
5021
- rangeMale: 40,
5022
- rangeFemale: 40,
5023
- });
5024
4303
  const rangeHeartRateByAge = [
5025
4304
  {
5026
4305
  idAge: 0,
@@ -5110,18 +4389,34 @@ const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMe
5110
4389
  },
5111
4390
  ];
5112
4391
  useEffect(() => {
5113
- const age = (new Date().getTime() - new Date(info === null || info === void 0 ? void 0 : info.age).getTime()) / 1000;
5114
- if (age >= 18 * 365 * 24 * 60 * 60)
5115
- setIsAdult(true);
5116
- else
5117
- setIsAdult(false);
5118
- const rangeByAge = rangeHeartRateByAge.find((item) => age >= item.minAge * 365 * 24 * 60 * 60 &&
5119
- age < item.maxAge * 365 * 24 * 60 * 60) || rangeHeartRateByAge[0];
5120
- setRange(rangeByAge);
5121
- setHeartRate(60);
5122
- }, [info === null || info === void 0 ? void 0 : info.age]);
5123
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide },
5124
- 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) ||
5125
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)
5126
4421
  ? {
5127
4422
  link: formatUserProfileUrl(thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedBy),
@@ -5129,230 +4424,24 @@ const THRCardEmbed = ({ isSide, locale, thrContent, isMobile, info, inputErrorMe
5129
4424
  date: thrContent === null || thrContent === void 0 ? void 0 : thrContent.reviewedDate,
5130
4425
  }
5131
4426
  : undefined, isMobile: isMobile }),
5132
- React__default.createElement(Container, null,
5133
- React__default.createElement(StyledContent, { className: "heart-rate-cal", onSubmit: (e) => e.preventDefault(), "data-is-side": isSide },
5134
- React__default.createElement(StyledRow$1, { "data-is-side": isSide },
5135
- React__default.createElement(FormControl$1, null,
5136
- React__default.createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => {
5137
- setGenderValue(v);
5138
- setHeartRate(60);
5139
- }, styles: (theme) => ({
5140
- root: !isSide && {
5141
- [theme.fn.largerThan('sm')]: {
5142
- width: 'calc((100% - 24px) * 2/3 + 12px)',
5143
- },
5144
- },
5145
- wrapper: {
5146
- [theme.fn.largerThan('sm')]: {
5147
- gap: rem(12),
5148
- },
5149
- },
5150
- }) }))),
5151
- React__default.createElement(StyledRow$1, null,
5152
- React__default.createElement(ThrForm, { info: info, locale: locale, errorMessage: inputErrorMessage, onChange: onFormChange })),
5153
- React__default.createElement("div", { className: "slider-heart-rate" },
5154
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 }, t('targetHeartRate.heartRateInput')),
5155
- React__default.createElement("div", { className: "slider-outer-wrapper" },
5156
- React__default.createElement(Slider, { containerStyle: {
5157
- flex: 1,
5158
- }, min: genderValue === 'male' ? range.rangeMale : range.rangeFemale, max: 200, step: 1, value: heartRate, withControl: true, onChange: setHeartRate }))),
5159
- isAdult && (React__default.createElement(FormControl$1, null,
5160
- React__default.createElement(StyledActive, null,
5161
- React__default.createElement(Text, { size: "s4", style: {
5162
- display: 'inline-block',
5163
- fontWeight: 'bold',
5164
- color: theme.colors.gray600,
5165
- marginBottom: '9px',
5166
- } }, t('targetHeartRate.selectActive')),
5167
- React__default.createElement("div", { className: "card" },
5168
- React__default.createElement(RadioImageGroupForTool, { options: activeValueNote.map((option) => ({
5169
- value: option.value,
5170
- label: option.label,
5171
- image: option.image,
5172
- imageActive: option.imageActive,
5173
- })), value: activeValue, onChange: (v) => {
5174
- setActiveValue(v);
5175
- }, className: "gender-selector" })),
5176
- activeValue && (React__default.createElement("div", { className: "note" },
5177
- React__default.createElement("img", { style: {
5178
- height: '16px',
5179
- width: '16px',
5180
- }, src: CommonGAssets.getAssetPath(`/infoIcon.svg`), alt: "", loading: "lazy" }),
5181
- 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))),
5182
- !activeValue && (React__default.createElement("span", { style: { color: '#e64728' } }, inputErrorMessage.intensity)))))),
5183
- React__default.createElement("div", { style: { display: 'flex' } },
5184
- React__default.createElement(StyledButton$1, { size: "lg", onClick: () => {
5185
- onSubmit(genderValue, activeValue, [heartRate]);
5186
- }, 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 }))));
5187
4429
  };
5188
4430
 
5189
- const StyledButton = styled(Button$1) `
5190
- margin: 0 auto 24px;
5191
- ${MediaQueries.mbUp} {
5192
- max-width: 200px;
5193
- margin: 24px auto;
5194
- }
5195
- `;
5196
- const StyledContainer = styled.div ``;
5197
- const FormControl = styled.div `
5198
- margin-bottom: 1rem;
5199
- display: flex;
5200
- flex-direction: column;
5201
- gap: 16px;
5202
- input {
5203
- font-size: 12px;
5204
- ::placeholder {
5205
- color: #8c8c8c;
5206
- opacity: 1;
5207
- }
5208
- }
5209
- .gender-option {
5210
- gap: 16px;
5211
- > div {
5212
- width: calc(50% - 8px);
5213
- }
5214
- }
5215
- .input-label {
5216
- label {
5217
- display: inline-block;
5218
- margin-bottom: 9px;
5219
- color: #595959;
5220
- font-weight: bold;
5221
- font-size: 12px;
5222
- }
5223
- }
5224
- `;
5225
- const StyledRow = styled.div `
5226
- ${MediaQueries.mbUp} {
5227
- display: flex;
5228
- width: 100%;
5229
- align-items: flex-start;
5230
- justify-content: space-between;
5231
- gap: 12px;
5232
- > div {
5233
- width: 100%;
5234
- }
5235
- &[data-is-side='true'] {
5236
- ${MediaQueries.mbUp} {
5237
- display: flex;
5238
- flex-direction: column;
5239
- gap: 0px;
5240
- }
5241
- }
5242
- }
5243
- ${MediaQueries.mbDown} {
5244
- display: flex;
5245
- flex-direction: column;
5246
- gap: 0px;
5247
- }
5248
- `;
5249
-
5250
- const BmrInputForm = ({ info, className, style, onChange, errorMessage = {}, locale, onClick, isSide, }) => {
5251
- const { t } = useTranslations();
5252
- const [isEdit, setIsEdit] = useState({
5253
- age: false,
5254
- height: false,
5255
- weight: false,
5256
- });
5257
- const { getHealthToolLink } = useHealthToolsCache(locale);
5258
- const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE$1.OVULATION), [getHealthToolLink]);
5259
- const [genderValue, setGenderValue] = useState('male');
5260
- const checkValidInputIsANumber = (s, cb) => {
5261
- if (s === '' || (!isNaN(s) && !isNaN(parseFloat(s)))) {
5262
- cb(s);
5263
- }
5264
- };
5265
- const checkValidInputIsAnInterger = (s, cb) => {
5266
- if (s === '' ||
5267
- (!isNaN(s) && !isNaN(parseFloat(s)) && !s.includes('.'))) {
5268
- cb(s);
5269
- }
5270
- };
5271
- const onAgeChanged = (age) => {
5272
- checkValidInputIsAnInterger(age, (a) => {
5273
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { age: true })));
5274
- const newInfo = Object.assign(Object.assign({}, info), { age: a });
5275
- // setInfo(newInfo)
5276
- onChange && onChange(newInfo);
5277
- });
5278
- };
5279
- const onHeightChanged = (height) => {
5280
- checkValidInputIsANumber(height, (h) => {
5281
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { height: true })));
5282
- const newInfo = Object.assign(Object.assign({}, info), { height: h });
5283
- // setInfo(newInfo)
5284
- onChange && onChange(newInfo);
5285
- });
5286
- };
5287
- const onWeightChanged = (weight) => {
5288
- setIsEdit((value) => (Object.assign(Object.assign({}, value), { weight: true })));
5289
- checkValidInputIsANumber(weight, (w) => {
5290
- const newInfo = Object.assign(Object.assign({}, info), { weight: w });
5291
- // setInfo(newInfo)
5292
- onChange && onChange(newInfo);
5293
- });
5294
- };
5295
- useEffect(() => {
5296
- onChange &&
5297
- onChange(Object.assign(Object.assign({}, info), { objective: 'lose-fat', activeLevel: 'sedentary' }));
5298
- }, []);
5299
- useEffect(() => {
5300
- setIsEdit({
5301
- age: false,
5302
- height: false,
5303
- weight: false,
5304
- });
5305
- }, [errorMessage]);
5306
- return (React__default.createElement(StyledContainer, { style: style, className: className },
5307
- React__default.createElement(FormControl, { "data-is-side": isSide },
5308
- React__default.createElement(GenderOptionControl, { defaultValue: "male", onChange: (v) => setGenderValue(v), styles: (theme) => ({
5309
- root: !isSide && {
5310
- [theme.fn.largerThan('sm')]: {
5311
- width: 'calc((100% - 24px) * 2/3 + 12px)',
5312
- },
5313
- },
5314
- wrapper: {
5315
- [theme.fn.largerThan('sm')]: {
5316
- gap: rem(12),
5317
- },
5318
- },
5319
- }) })),
5320
- React__default.createElement(StyledRow, { "data-is-side": isSide },
5321
- React__default.createElement(FormControl, null,
5322
- React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
5323
- t('bmi.ageInput'),
5324
- ' ',
5325
- 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 })),
5326
- React__default.createElement(FormControl, null,
5327
- React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
5328
- t('bmi.heightInput'),
5329
- ' ',
5330
- 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 })),
5331
- React__default.createElement(FormControl, null,
5332
- React__default.createElement(Input$1.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
5333
- t('bmi.weightInput'),
5334
- ' ',
5335
- 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 }))),
5336
- React__default.createElement("div", { style: { display: 'flex' } },
5337
- 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: () => {
5338
- onClick(genderValue);
5339
- } }, t('bmi.submit')))));
5340
- };
5341
-
5342
- const BMRCardEmbed = ({ isSide, locale, bmrContent, isMobile, info, inputErrorMessage, onFormChange, onSubmit, }) => {
4431
+ const BMRCardEmbed = ({ bmrContent, isMobile, onSubmit, formLayout, bmiGenerated, bmiUnit, }) => {
5343
4432
  var _a, _b, _c;
5344
4433
  const { t } = useTranslations();
5345
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide },
5346
- 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) ||
5347
4436
  CommonGAssets.getAssetPath('health-tools/bmr.svg'), loading: "lazy" }), heading: t('bmr.heading'), medicalReview: {
5348
4437
  link: (_a = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _a === void 0 ? void 0 : _a.link,
5349
4438
  reviewer: (_b = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _b === void 0 ? void 0 : _b.reviewer,
5350
4439
  date: (_c = bmrContent === null || bmrContent === void 0 ? void 0 : bmrContent.reviewBy) === null || _c === void 0 ? void 0 : _c.date,
5351
4440
  }, isMobile: isMobile }),
5352
- React__default.createElement(Container, null,
5353
- React__default.createElement(StyledContent, { onSubmit: (e) => e.preventDefault(), "data-is-side": isSide },
5354
- React__default.createElement(StyledInputForm, null,
5355
- 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
+ } }))));
5356
4445
  };
5357
4446
 
5358
4447
  const OvulationForm = ({ locale, onSubmit, isSide, siteType }) => {
@@ -5467,8 +4556,8 @@ const OvulationCalculator = ({ locale, onSubmitOvulation, isSide, siteType, }) =
5467
4556
  const OvulationCardEmbed = ({ onSubmitOvulation, locale, ovulationPageInfo, expertUrl, isSide = false, siteType, isMobile, }) => {
5468
4557
  var _a;
5469
4558
  const { t } = useTranslations();
5470
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
5471
- 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) ||
5472
4561
  CommonGAssets.getAssetPath('health-tools/ovulation-icon.svg'), loading: "lazy" }), heading: t('healthTools.ovulationCalculator'), medicalReview: {
5473
4562
  link: expertUrl,
5474
4563
  reviewer: (_a = ovulationPageInfo === null || ovulationPageInfo === void 0 ? void 0 : ovulationPageInfo.reviewed_by) === null || _a === void 0 ? void 0 : _a.display_name,
@@ -5585,8 +4674,8 @@ const PWGCardEmbed = ({ locale, onClick, inputErrorMessage, pwgContent, onFormCh
5585
4674
  })), []);
5586
4675
  const { getHealthToolLink } = useHealthToolsCache(locale);
5587
4676
  const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE$1.PWG), [getHealthToolLink]);
5588
- return (React__default.createElement(StyledContainer$3, { "data-is-side": isSide, "data-site": siteType },
5589
- 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) ||
5590
4679
  CommonGAssets.getAssetPath('health-tools/pwg-icon.svg'), loading: "lazy" }), heading: t('pregnancyWeightGain.heading'), medicalReview: {
5591
4680
  link: formatUserProfileUrl(pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedBy),
5592
4681
  reviewer: (_a = pwgContent === null || pwgContent === void 0 ? void 0 : pwgContent.reviewedBy) === null || _a === void 0 ? void 0 : _a.display_name,
@@ -8472,4 +7561,4 @@ const UserProfileNavigation = ({ SSO_URL, UP_BASEPATH = 'user', themeName = 'hel
8472
7561
  logoutButton))));
8473
7562
  };
8474
7563
 
8475
- 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 };