@hhgtech/hhg-components 1.29.82 → 1.29.83

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 (422) hide show
  1. package/build/LastPeriod-79a8acbe.js +29 -0
  2. package/build/Locale-0b86b849.js +15 -0
  3. package/build/{WhatsApp-46f4f408.js → WhatsApp-19ca0437.js} +1 -1
  4. package/build/adapters.js +22 -17
  5. package/build/atoms.js +51 -45
  6. package/build/babyGrowth.js +169 -162
  7. package/build/cache.js +3 -3
  8. package/build/care.js +22 -17
  9. package/build/components.js +136 -109
  10. package/build/{constants-223c01fc.js → constants-79d3ff1b.js} +4 -4
  11. package/build/constants-e85d7085.js +18 -0
  12. package/build/constants.js +17 -13
  13. package/build/constantsDomainLocales.js +34 -0
  14. package/build/{isProduction-20cd663d.js → constantsIsProduction.js} +2 -0
  15. package/build/constantsRiskScreener.js +21 -0
  16. package/build/constantsSite.js +134 -0
  17. package/build/{core-9d69a722.js → core-9f7c0442.js} +4 -4
  18. package/build/dataTransform-1e0514ef.js +13 -0
  19. package/build/{dataTransform-e39297c1.js → dataTransform-265f1b67.js} +1 -106
  20. package/build/ecom.js +10 -6
  21. package/build/embeddedHeathToolCards_babyGrowth.js +64 -0
  22. package/build/embeddedHeathToolCards_babyPoop.js +57 -0
  23. package/build/embeddedHeathToolCards_babyVaccine.js +64 -0
  24. package/build/embeddedHeathToolCards_bmi_bmi.js +70 -0
  25. package/build/embeddedHeathToolCards_bmrBmr.js +70 -0
  26. package/build/embeddedHeathToolCards_dueDate_dueDate.js +65 -0
  27. package/build/embeddedHeathToolCards_helpers.js +11 -0
  28. package/build/embeddedHeathToolCards_ovulation_ovulation.js +64 -0
  29. package/build/embeddedHeathToolCards_pwg_pwg.js +70 -0
  30. package/build/embeddedHeathToolCards_targetHeartRate.js +73 -0
  31. package/build/esm/LastPeriod-62287ef2.js +23 -0
  32. package/build/esm/Locale-c6a90240.js +15 -0
  33. package/build/esm/{WhatsApp-c599b715.js → WhatsApp-2e6d1d02.js} +1 -1
  34. package/build/esm/adapters.js +22 -17
  35. package/build/esm/atoms.js +51 -45
  36. package/build/esm/babyGrowth.js +87 -81
  37. package/build/esm/cache.js +3 -3
  38. package/build/esm/care.js +22 -17
  39. package/build/esm/components.js +104 -77
  40. package/build/esm/constants-a5d70cf5.js +16 -0
  41. package/build/esm/{constants-bb470362.js → constants-e930bc7b.js} +2 -2
  42. package/build/esm/constants.js +7 -3
  43. package/build/esm/constantsDomainLocales.js +29 -0
  44. package/build/esm/{isProduction-1937d355.js → constantsIsProduction.js} +1 -1
  45. package/build/esm/constantsRiskScreener.js +17 -0
  46. package/build/esm/constantsSite.js +129 -0
  47. package/build/esm/{core-80bfe8b7.js → core-36290fcb.js} +2 -2
  48. package/build/esm/dataTransform-14587328.js +11 -0
  49. package/build/esm/{dataTransform-623716c3.js → dataTransform-8852461c.js} +2 -101
  50. package/build/esm/ecom.js +9 -5
  51. package/build/esm/embeddedHeathToolCards_babyGrowth.js +56 -0
  52. package/build/esm/embeddedHeathToolCards_babyPoop.js +49 -0
  53. package/build/esm/embeddedHeathToolCards_babyVaccine.js +56 -0
  54. package/build/esm/embeddedHeathToolCards_bmi_bmi.js +62 -0
  55. package/build/esm/embeddedHeathToolCards_bmrBmr.js +62 -0
  56. package/build/esm/embeddedHeathToolCards_dueDate_dueDate.js +57 -0
  57. package/build/esm/embeddedHeathToolCards_helpers.js +7 -0
  58. package/build/esm/embeddedHeathToolCards_ovulation_ovulation.js +56 -0
  59. package/build/esm/embeddedHeathToolCards_pwg_pwg.js +62 -0
  60. package/build/esm/embeddedHeathToolCards_targetHeartRate.js +65 -0
  61. package/build/esm/{fixedBottomAdBlock-60a5d48f.js → fixedBottomAdBlock-26b94f6b.js} +35 -410
  62. package/build/esm/footer.js +23 -18
  63. package/build/esm/gAssets.js +4 -5
  64. package/build/esm/healthToolsCardWrapper.js +33 -0
  65. package/build/esm/healthToolsForm.js +39 -25
  66. package/build/esm/hooks.js +21 -17
  67. package/build/esm/i18n.js +2 -2
  68. package/build/esm/i18nV2.js +2 -2
  69. package/build/esm/{index-29908d2c.js → index-03050142.js} +1 -1
  70. package/build/esm/{index-9b3a8b6d.js → index-03d7200e.js} +12 -10
  71. package/build/esm/index-21524e86.js +249 -0
  72. package/build/esm/{index-f660abb7.js → index-288b564e.js} +3 -3
  73. package/build/esm/index-3060c2dc.js +174 -0
  74. package/build/esm/{index-10ab6596.js → index-3288f45c.js} +8 -7
  75. package/build/esm/{index-0ee66974.js → index-343e5b65.js} +2 -2
  76. package/build/esm/{index-7a1ea734.js → index-345e507e.js} +3 -3
  77. package/build/esm/{index-189d7601.js → index-38ced379.js} +3 -15
  78. package/build/esm/{index-6210f454.js → index-39aa0c9f.js} +9 -168
  79. package/build/esm/{index-0b745f46.js → index-39f24b49.js} +20 -18
  80. package/build/esm/{index-8eb04f36.js → index-3e2f70fe.js} +11 -11
  81. package/build/esm/{index-cfedca38.js → index-3e3904ec.js} +2 -2
  82. package/build/esm/{index-01b5d2e9.js → index-40b6555d.js} +4 -4
  83. package/build/esm/{index-9f99909b.js → index-41a809d7.js} +3 -3
  84. package/build/esm/{index-cdc50618.js → index-4d06fffe.js} +1 -1
  85. package/build/esm/{index-8fcf671c.js → index-506563f6.js} +8 -8
  86. package/build/esm/{index-bcedec73.js → index-5369d2e2.js} +15 -13
  87. package/build/esm/index-6125d991.js +370 -0
  88. package/build/esm/index-64dff9b0.js +233 -0
  89. package/build/esm/{index-fa67d66e.js → index-6dd92895.js} +21 -19
  90. package/build/esm/{index-c2584051.js → index-7720a710.js} +4 -4
  91. package/build/esm/{index-5723381f.js → index-7a1552e9.js} +2 -2
  92. package/build/esm/index-7c678785.js +259 -0
  93. package/build/esm/{index-0ca9b175.js → index-88c06a7e.js} +2 -2
  94. package/build/esm/{index-13d8dd4b.js → index-90d58b18.js} +7 -6
  95. package/build/esm/{index-7c384ae6.js → index-96a5f239.js} +6 -5
  96. package/build/esm/index-9a8df805.js +147 -0
  97. package/build/esm/{index-c013ba1b.js → index-9aee96f2.js} +5 -4
  98. package/build/esm/index-a1658f07.js +60 -0
  99. package/build/esm/{constants-fa475b0f.js → index-a1d2c38b.js} +6 -21
  100. package/build/esm/{index-219e3a35.js → index-a51336b9.js} +11 -11
  101. package/build/esm/{index-07f3f47e.js → index-a57a5338.js} +2 -2
  102. package/build/esm/{index-ea63e0d2.js → index-a7f10a58.js} +4 -4
  103. package/build/esm/{index-f4b938f2.js → index-b123bf27.js} +1 -1
  104. package/build/esm/{index-01405723.js → index-b1e1f9b4.js} +13 -12
  105. package/build/esm/{index-f22f6e6e.js → index-b2ea5cc7.js} +9 -8
  106. package/build/esm/{index-e0b0d6a2.js → index-b5019321.js} +7 -7
  107. package/build/esm/{index-9471fca1.js → index-b9c4dfcb.js} +2 -2
  108. package/build/esm/{index-acf8b60e.js → index-bb53d99f.js} +2 -2
  109. package/build/esm/{index-1d3c6ce7.js → index-bdc3bd61.js} +1 -1
  110. package/build/esm/{index-02d3f05b.js → index-c41ef517.js} +23 -19
  111. package/build/esm/{index-0cd3523c.js → index-d462b2bd.js} +35 -31
  112. package/build/esm/{index-21256394.js → index-d5bcc5cc.js} +1 -1
  113. package/build/esm/{index-d6a5f5cf.js → index-d9555b0b.js} +17 -260
  114. package/build/esm/{index-2dc7803d.js → index-e0f8a206.js} +6 -5
  115. package/build/esm/{index-c430773c.js → index-e6b9c7d8.js} +29 -25
  116. package/build/esm/index-e9d85fda.js +91 -0
  117. package/build/esm/{index-046778af.js → index-f0184ea4.js} +2 -2
  118. package/build/esm/{index-049e0270.js → index-f1025cea.js} +3 -3
  119. package/build/esm/index-f3903d13.js +101 -0
  120. package/build/esm/{index-9b9c1499.js → index-f93799fc.js} +2 -2
  121. package/build/esm/{index-1c9b481b.js → index-fa83ce20.js} +2 -2
  122. package/build/esm/index-fb8f8203.js +140 -0
  123. package/build/esm/index.js +118 -90
  124. package/build/esm/interfaces/constants/domainLocales.d.ts +25 -0
  125. package/build/esm/interfaces/constants/index.d.ts +1 -25
  126. package/build/esm/{labelSorting-7351409a.js → labelSorting-e7fa8826.js} +4 -4
  127. package/build/esm/lead.js +26 -21
  128. package/build/esm/{logoIcon-3a581efb.js → logoIcon-b0ce60d0.js} +2 -2
  129. package/build/esm/mantine.js +28 -23
  130. package/build/esm/misc.js +27 -21
  131. package/build/esm/{cookieHelper-6c3b4790.js → miscCookieHelper.js} +1 -1
  132. package/build/esm/{defaultClassWrapper-00903c00.js → miscDefaultClassWrapper.js} +1 -1
  133. package/build/esm/{getDynamicHealthTool-82855adc.js → miscGetDynamicHealthTool.js} +13 -5
  134. package/build/esm/{getSocialList-7d2cf48d.js → miscGetSocialList.js} +16 -6
  135. package/build/esm/{dataTransform-55f67eed.js → miscScreenSizeContext.js} +2 -12
  136. package/build/esm/{theme-7dadf4a1.js → miscTheme.js} +1 -1
  137. package/build/esm/molecules.js +84 -57
  138. package/build/esm/navigation.js +44 -37
  139. package/build/esm/onboardingV2.js +30 -25
  140. package/build/esm/organisms.js +48 -41
  141. package/build/esm/other-9b439f19.js +102 -0
  142. package/build/esm/pwg.js +25 -20
  143. package/build/esm/{routing-9e330438.js → routing-f2e46f96.js} +3 -2
  144. package/build/esm/subot.js +35 -29
  145. package/build/esm/surveyOrPremiumBanner.js +34 -28
  146. package/build/esm/surveyQuestionCard.js +11 -10
  147. package/build/esm/{surveyThankyouCard-ec204631.js → surveyThankyouCard-9d482ef8.js} +6 -6
  148. package/build/esm/together/togetherComponentGlobalContext.d.ts +1 -2
  149. package/build/esm/together.js +50 -43
  150. package/build/esm/togetherApiPaths.js +165 -0
  151. package/build/esm/togetherApiUtils.js +10 -0
  152. package/build/esm/togetherAtoms.js +34 -28
  153. package/build/esm/togetherComponentGlobalContext.js +7 -9
  154. package/build/esm/togetherMolecules.js +41 -34
  155. package/build/esm/togetherOrganisms.js +45 -38
  156. package/build/esm/{treePopoverMenu-cb214db6.js → treePopoverMenu-890070aa.js} +18 -16
  157. package/build/esm/{types-ffcf5fb4.js → types-e21a244d.js} +14 -13
  158. package/build/esm/types.js +2 -1
  159. package/build/esm/{useCategory-553bee0b.js → useCategory-45ce6ea8.js} +6 -5
  160. package/build/esm/{useHealthToolCache-6ce1724e.js → useHealthToolCache-fe7dc697.js} +2 -2
  161. package/build/esm/{useMantineLocale-453f8013.js → useMantineLocale-faa72172.js} +5 -3
  162. package/build/esm/{usePlacesAutocomplete-8925d4fb.js → usePlacesAutocomplete-81624098.js} +1 -1
  163. package/build/esm/useTogetherAuthRequiredAction.js +7 -9
  164. package/build/esm/{useTranslations-b970f667.js → useTranslations-ba901edf.js} +1 -1
  165. package/build/{utils-15a9772e.js → esm/utils-40533779.js} +1 -114
  166. package/build/esm/{utils-3b29eb79.js → utils-c730ad5d.js} +16 -163
  167. package/build/esm/{utils-6d45bdd1.js → utils-dbc80293.js} +2 -1
  168. package/build/esm/vaccination.js +23 -18
  169. package/build/{fixedBottomAdBlock-0129a006.js → fixedBottomAdBlock-026650fb.js} +155 -540
  170. package/build/footer.js +23 -18
  171. package/build/gAssets.js +4 -5
  172. package/build/healthToolsCardWrapper.js +41 -0
  173. package/build/healthToolsForm.js +45 -31
  174. package/build/hooks.js +21 -17
  175. package/build/i18n.js +1 -1
  176. package/build/i18nV2.js +1 -1
  177. package/build/{index-1fdf2f01.js → index-036fe55d.js} +4 -4
  178. package/build/{index-466a2c32.js → index-03da3dbb.js} +48 -46
  179. package/build/{index-a2664204.js → index-1950777d.js} +7 -7
  180. package/build/index-1fe1ec7e.js +180 -0
  181. package/build/{index-405faafa.js → index-251187e5.js} +2 -2
  182. package/build/{index-ca616373.js → index-2ce6cc83.js} +2 -2
  183. package/build/{index-a8680a58.js → index-3129e975.js} +6 -6
  184. package/build/{index-f222ee45.js → index-323d2766.js} +2 -2
  185. package/build/{index-d9919cd2.js → index-325d93fc.js} +119 -115
  186. package/build/{index-7ecc69af.js → index-34b1babf.js} +19 -18
  187. package/build/{index-53e14542.js → index-385f27fb.js} +4 -4
  188. package/build/index-3db01ab3.js +146 -0
  189. package/build/{index-4357a324.js → index-48ef94cb.js} +11 -11
  190. package/build/{index-765ed75d.js → index-4b98362e.js} +6 -6
  191. package/build/index-4c18e4ba.js +97 -0
  192. package/build/{index-4bc690c9.js → index-4ef9be86.js} +9 -9
  193. package/build/index-5fdde636.js +256 -0
  194. package/build/{index-e3bbd009.js → index-617bff8c.js} +33 -197
  195. package/build/{index-2fd9063e.js → index-66e789cf.js} +4 -4
  196. package/build/index-6b23104e.js +108 -0
  197. package/build/{index-71843eb4.js → index-6bcde89a.js} +5 -5
  198. package/build/{index-7953fb8e.js → index-6daafc7b.js} +12 -12
  199. package/build/{index-64d8db08.js → index-6e7aede8.js} +5 -5
  200. package/build/index-6e85bdbb.js +239 -0
  201. package/build/{index-16ed0d98.js → index-70a7d73e.js} +12 -11
  202. package/build/{index-fd3e1d16.js → index-72b989a7.js} +3 -3
  203. package/build/index-72e5dba6.js +153 -0
  204. package/build/{constants-f182fc32.js → index-769ecf0d.js} +8 -24
  205. package/build/{index-9e8877c0.js → index-7b98097c.js} +2 -2
  206. package/build/{index-b66ae554.js → index-7e89d856.js} +18 -17
  207. package/build/{index-4b7d4b5b.js → index-7efbe5e3.js} +9 -9
  208. package/build/{index-3eb666e6.js → index-8cb3f562.js} +1 -1
  209. package/build/{index-a9bdf889.js → index-92a816de.js} +25 -24
  210. package/build/{index-206afefb.js → index-99ddd1a4.js} +6 -5
  211. package/build/{index-ec34e358.js → index-a0659d79.js} +14 -14
  212. package/build/{index-a9bbb5aa.js → index-a8c1c011.js} +11 -11
  213. package/build/index-aef8a50c.js +267 -0
  214. package/build/{index-130e0f35.js → index-b76dcc89.js} +68 -64
  215. package/build/{index-dd074159.js → index-b99e7941.js} +1 -1
  216. package/build/{index-077bf48f.js → index-bd0008c0.js} +52 -50
  217. package/build/{index-10760994.js → index-bd37f7ea.js} +9 -9
  218. package/build/index-be727078.js +66 -0
  219. package/build/{index-a6a9855f.js → index-cb1c7190.js} +11 -11
  220. package/build/{index-1e1d8eb1.js → index-cb4ea8c9.js} +26 -24
  221. package/build/index-d71aec74.js +377 -0
  222. package/build/{index-1f3fc2e3.js → index-d91f52cc.js} +3 -15
  223. package/build/{index-33432b02.js → index-db6d4daf.js} +33 -33
  224. package/build/{index-dff7ee1b.js → index-df9447b3.js} +41 -39
  225. package/build/{index-4cdcdbbe.js → index-e239d386.js} +13 -12
  226. package/build/{index-54aeefca.js → index-eddf350b.js} +2 -2
  227. package/build/{index-0b727664.js → index-eeb7220e.js} +8 -7
  228. package/build/{index-2afbeb3d.js → index-f5956cd0.js} +137 -133
  229. package/build/index-fbfa2310.js +320 -0
  230. package/build/{index-6aeb5ff5.js → index-fe74a1a3.js} +59 -59
  231. package/build/index.js +195 -167
  232. package/build/interfaces/constants/domainLocales.d.ts +25 -0
  233. package/build/interfaces/constants/index.d.ts +1 -25
  234. package/build/{labelSorting-f86081b7.js → labelSorting-1905fd49.js} +4 -4
  235. package/build/lead.js +43 -38
  236. package/build/{logoIcon-21a16853.js → logoIcon-d9adf505.js} +2 -2
  237. package/build/mantine.js +28 -23
  238. package/build/misc.js +39 -33
  239. package/build/{cookieHelper-86ae022e.js → miscCookieHelper.js} +2 -0
  240. package/build/{defaultClassWrapper-b7719693.js → miscDefaultClassWrapper.js} +2 -0
  241. package/build/{getDynamicHealthTool-f08b5fab.js → miscGetDynamicHealthTool.js} +14 -4
  242. package/build/{getSocialList-8cc32f7c.js → miscGetSocialList.js} +46 -34
  243. package/build/{dataTransform-ded2692d.js → miscScreenSizeContext.js} +3 -12
  244. package/build/{theme-be20929b.js → miscTheme.js} +2 -0
  245. package/build/molecules.js +106 -79
  246. package/build/navigation.js +44 -37
  247. package/build/onboardingV2.js +40 -35
  248. package/build/organisms.js +48 -41
  249. package/build/other-0edcc417.js +104 -0
  250. package/build/pwg.js +60 -55
  251. package/build/{routing-d6c9099a.js → routing-54391665.js} +10 -9
  252. package/build/subot.js +104 -98
  253. package/build/surveyOrPremiumBanner.js +34 -28
  254. package/build/surveyQuestionCard.js +11 -10
  255. package/build/{surveyThankyouCard-5b23b8f6.js → surveyThankyouCard-c7e94445.js} +25 -25
  256. package/build/together/togetherComponentGlobalContext.d.ts +1 -2
  257. package/build/together.js +50 -43
  258. package/build/togetherApiPaths.js +173 -0
  259. package/build/togetherApiUtils.js +40 -0
  260. package/build/togetherAtoms.js +34 -28
  261. package/build/togetherComponentGlobalContext.js +7 -9
  262. package/build/togetherMolecules.js +41 -34
  263. package/build/togetherOrganisms.js +45 -38
  264. package/build/{treePopoverMenu-c0cb395f.js → treePopoverMenu-dbb4b61e.js} +28 -26
  265. package/build/{types-8d9c5f21.js → types-ce7323a0.js} +88 -87
  266. package/build/types.js +6 -5
  267. package/build/{useCategory-b695fd3a.js → useCategory-04ea2a70.js} +18 -17
  268. package/build/{useHealthToolCache-048807ea.js → useHealthToolCache-9d59f009.js} +4 -4
  269. package/build/{useMantineLocale-0d63dfea.js → useMantineLocale-f9195d27.js} +26 -24
  270. package/build/{usePlacesAutocomplete-9520e525.js → usePlacesAutocomplete-8360abe0.js} +1 -1
  271. package/build/useTogetherAuthRequiredAction.js +8 -10
  272. package/build/{useTranslations-685f989b.js → useTranslations-80687df4.js} +1 -1
  273. package/build/{utils-1a00c0f8.js → utils-4849ab04.js} +11 -10
  274. package/build/{esm/utils-d7bbdb52.js → utils-928b4701.js} +11 -101
  275. package/build/{utils-169c6a7d.js → utils-e4d5701e.js} +26 -172
  276. package/build/vaccination.js +72 -67
  277. package/package.json +1 -1
  278. package/build/esm/index-ac2a8f95.js +0 -1114
  279. package/build/index-00a78d81.js +0 -565
  280. package/build/index-60f6d762.js +0 -1127
  281. /package/build/{BMI_BOYS.percentile.monthly-1aa95e30.js → BMI_BOYS.percentile.monthly-5ba0659a.js} +0 -0
  282. /package/build/{BMI_BOYS.percentile.weekly-61d78e1c.js → BMI_BOYS.percentile.weekly-879f7a42.js} +0 -0
  283. /package/build/{BMI_BOYS.percentile.yearly-f80e040e.js → BMI_BOYS.percentile.yearly-e4c37a27.js} +0 -0
  284. /package/build/{BMI_BOYS.zscore.monthly-a6c7c8ff.js → BMI_BOYS.zscore.monthly-fa3d3237.js} +0 -0
  285. /package/build/{BMI_BOYS.zscore.weekly-742f7028.js → BMI_BOYS.zscore.weekly-71226efa.js} +0 -0
  286. /package/build/{BMI_BOYS.zscore.yearly-c19cccd5.js → BMI_BOYS.zscore.yearly-92a2f05e.js} +0 -0
  287. /package/build/{BMI_GIRLS.percentile.monthly-089d3981.js → BMI_GIRLS.percentile.monthly-cd39f35d.js} +0 -0
  288. /package/build/{BMI_GIRLS.percentile.weekly-0cc52cda.js → BMI_GIRLS.percentile.weekly-5cb19fda.js} +0 -0
  289. /package/build/{BMI_GIRLS.percentile.yearly-10bc603f.js → BMI_GIRLS.percentile.yearly-b80f3d32.js} +0 -0
  290. /package/build/{BMI_GIRLS.zscore.monthly-c3fe57f3.js → BMI_GIRLS.zscore.monthly-89248182.js} +0 -0
  291. /package/build/{BMI_GIRLS.zscore.weekly-b83a54db.js → BMI_GIRLS.zscore.weekly-609c3c1f.js} +0 -0
  292. /package/build/{BMI_GIRLS.zscore.yearly-5f13cda2.js → BMI_GIRLS.zscore.yearly-f4587218.js} +0 -0
  293. /package/build/{ChevronDown-2fd86d66.js → ChevronDown-dfb97861.js} +0 -0
  294. /package/build/{Close-711196b0.js → Close-6296f986.js} +0 -0
  295. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-03b8d7fb.js → HEAD CIRCUM_BOYS.percentile.monthly-a7e17d51.js} +0 -0
  296. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-9ebd3eb6.js → HEAD CIRCUM_BOYS.percentile.weekly-688e7e30.js} +0 -0
  297. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-8e97b738.js → HEAD CIRCUM_BOYS.percentile.yearly-5e1b6296.js} +0 -0
  298. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-e7892261.js → HEAD CIRCUM_BOYS.zscore.monthly-e66bc7d4.js} +0 -0
  299. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-47c5af84.js → HEAD CIRCUM_BOYS.zscore.weekly-f1221399.js} +0 -0
  300. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-9a1bc325.js → HEAD CIRCUM_BOYS.zscore.yearly-c3dea838.js} +0 -0
  301. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-d84491d7.js → HEAD CIRCUM_GIRLS.percentile.monthly-df5b45d4.js} +0 -0
  302. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-a6f38c3e.js → HEAD CIRCUM_GIRLS.percentile.weekly-6c4e803a.js} +0 -0
  303. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-5771d277.js → HEAD CIRCUM_GIRLS.percentile.yearly-05ac380c.js} +0 -0
  304. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-e3633bcc.js → HEAD CIRCUM_GIRLS.zscore.monthly-8418b138.js} +0 -0
  305. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-23b0ab1a.js → HEAD CIRCUM_GIRLS.zscore.weekly-02c9e21d.js} +0 -0
  306. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-20f29cf1.js → HEAD CIRCUM_GIRLS.zscore.yearly-656652b6.js} +0 -0
  307. /package/build/{HEIGHT_BOYS.percentile.monthly-57cc12ee.js → HEIGHT_BOYS.percentile.monthly-9b3ca406.js} +0 -0
  308. /package/build/{HEIGHT_BOYS.percentile.weekly-c788506a.js → HEIGHT_BOYS.percentile.weekly-add16dbe.js} +0 -0
  309. /package/build/{HEIGHT_BOYS.percentile.yearly-ac56c1f2.js → HEIGHT_BOYS.percentile.yearly-a338c8a8.js} +0 -0
  310. /package/build/{HEIGHT_BOYS.zscore.monthly-1bb78253.js → HEIGHT_BOYS.zscore.monthly-7caebf2d.js} +0 -0
  311. /package/build/{HEIGHT_BOYS.zscore.weekly-22737c43.js → HEIGHT_BOYS.zscore.weekly-5962317e.js} +0 -0
  312. /package/build/{HEIGHT_BOYS.zscore.yearly-90f6cd0a.js → HEIGHT_BOYS.zscore.yearly-b1576fab.js} +0 -0
  313. /package/build/{HEIGHT_GIRLS.percentile.monthly-019f80d2.js → HEIGHT_GIRLS.percentile.monthly-937209f6.js} +0 -0
  314. /package/build/{HEIGHT_GIRLS.percentile.weekly-ceed9817.js → HEIGHT_GIRLS.percentile.weekly-c571a906.js} +0 -0
  315. /package/build/{HEIGHT_GIRLS.percentile.yearly-3e5192ac.js → HEIGHT_GIRLS.percentile.yearly-e78281ec.js} +0 -0
  316. /package/build/{HEIGHT_GIRLS.zscore.monthly-f8fca0b6.js → HEIGHT_GIRLS.zscore.monthly-e5212600.js} +0 -0
  317. /package/build/{HEIGHT_GIRLS.zscore.weekly-827b17e8.js → HEIGHT_GIRLS.zscore.weekly-3c269af1.js} +0 -0
  318. /package/build/{HEIGHT_GIRLS.zscore.yearly-3cdb483d.js → HEIGHT_GIRLS.zscore.yearly-449bc93d.js} +0 -0
  319. /package/build/{Visible-515a4eec.js → Visible-16859c31.js} +0 -0
  320. /package/build/{WEIGHT_BOYS.percentile.monthly-2ecbd498.js → WEIGHT_BOYS.percentile.monthly-85da0f0a.js} +0 -0
  321. /package/build/{WEIGHT_BOYS.percentile.weekly-75c9c25c.js → WEIGHT_BOYS.percentile.weekly-9229beac.js} +0 -0
  322. /package/build/{WEIGHT_BOYS.percentile.yearly-03e7cea6.js → WEIGHT_BOYS.percentile.yearly-e8a3c476.js} +0 -0
  323. /package/build/{WEIGHT_BOYS.zscore.monthly-2ff9fb56.js → WEIGHT_BOYS.zscore.monthly-20bef361.js} +0 -0
  324. /package/build/{WEIGHT_BOYS.zscore.weekly-e9f7fe2d.js → WEIGHT_BOYS.zscore.weekly-0ec853d0.js} +0 -0
  325. /package/build/{WEIGHT_BOYS.zscore.yearly-4a96f34f.js → WEIGHT_BOYS.zscore.yearly-fccc526c.js} +0 -0
  326. /package/build/{WEIGHT_GIRLS.percentile.monthly-5bf09e30.js → WEIGHT_GIRLS.percentile.monthly-e7c89bed.js} +0 -0
  327. /package/build/{WEIGHT_GIRLS.percentile.weekly-f737ae23.js → WEIGHT_GIRLS.percentile.weekly-2510046f.js} +0 -0
  328. /package/build/{WEIGHT_GIRLS.percentile.yearly-56ebc8eb.js → WEIGHT_GIRLS.percentile.yearly-5046e02b.js} +0 -0
  329. /package/build/{WEIGHT_GIRLS.zscore.monthly-4697d3b5.js → WEIGHT_GIRLS.zscore.monthly-e6077126.js} +0 -0
  330. /package/build/{WEIGHT_GIRLS.zscore.weekly-3633820e.js → WEIGHT_GIRLS.zscore.weekly-1a145215.js} +0 -0
  331. /package/build/{WEIGHT_GIRLS.zscore.yearly-a9a04790.js → WEIGHT_GIRLS.zscore.yearly-31e42fc2.js} +0 -0
  332. /package/build/{animation-85d012ee.js → animation-f64d3491.js} +0 -0
  333. /package/build/{cart-8877bd63.js → cart-1cbf9c06.js} +0 -0
  334. /package/build/{constants-a78fa8b3.js → constants-1953275e.js} +0 -0
  335. /package/build/{constants-8743b014.js → constants-2aeb65f2.js} +0 -0
  336. /package/build/{doctor-2c14fed1.js → doctor-10ee1543.js} +0 -0
  337. /package/build/esm/{BMI_BOYS.percentile.monthly-42ff2c64.js → BMI_BOYS.percentile.monthly-44bf9bca.js} +0 -0
  338. /package/build/esm/{BMI_BOYS.percentile.weekly-b4a6c521.js → BMI_BOYS.percentile.weekly-14f8edd2.js} +0 -0
  339. /package/build/esm/{BMI_BOYS.percentile.yearly-d3bc1a77.js → BMI_BOYS.percentile.yearly-609a4150.js} +0 -0
  340. /package/build/esm/{BMI_BOYS.zscore.monthly-c4506dfa.js → BMI_BOYS.zscore.monthly-5f7b2488.js} +0 -0
  341. /package/build/esm/{BMI_BOYS.zscore.weekly-ddf3b3f9.js → BMI_BOYS.zscore.weekly-79b9ae06.js} +0 -0
  342. /package/build/esm/{BMI_BOYS.zscore.yearly-e0e3139e.js → BMI_BOYS.zscore.yearly-08133388.js} +0 -0
  343. /package/build/esm/{BMI_GIRLS.percentile.monthly-96686bcc.js → BMI_GIRLS.percentile.monthly-20e00636.js} +0 -0
  344. /package/build/esm/{BMI_GIRLS.percentile.weekly-c3106a65.js → BMI_GIRLS.percentile.weekly-033dda0b.js} +0 -0
  345. /package/build/esm/{BMI_GIRLS.percentile.yearly-b38c1f1f.js → BMI_GIRLS.percentile.yearly-d66fbb80.js} +0 -0
  346. /package/build/esm/{BMI_GIRLS.zscore.monthly-f8a7836f.js → BMI_GIRLS.zscore.monthly-fec8e639.js} +0 -0
  347. /package/build/esm/{BMI_GIRLS.zscore.weekly-4c1fc771.js → BMI_GIRLS.zscore.weekly-7cd36dc2.js} +0 -0
  348. /package/build/esm/{BMI_GIRLS.zscore.yearly-dce5e66a.js → BMI_GIRLS.zscore.yearly-9729495b.js} +0 -0
  349. /package/build/esm/{ChevronDown-31ea3e19.js → ChevronDown-b58f1e76.js} +0 -0
  350. /package/build/esm/{Close-40d598bc.js → Close-0390b2a2.js} +0 -0
  351. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-34e3fa1c.js → HEAD CIRCUM_BOYS.percentile.monthly-6aa62326.js} +0 -0
  352. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-d3f3568f.js → HEAD CIRCUM_BOYS.percentile.weekly-dccbec56.js} +0 -0
  353. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-dfae3ad2.js → HEAD CIRCUM_BOYS.percentile.yearly-153e0846.js} +0 -0
  354. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-95840c2f.js → HEAD CIRCUM_BOYS.zscore.monthly-3fe46c5e.js} +0 -0
  355. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-8b198c1c.js → HEAD CIRCUM_BOYS.zscore.weekly-81fa76e0.js} +0 -0
  356. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-b7d639ad.js → HEAD CIRCUM_BOYS.zscore.yearly-a5955c3a.js} +0 -0
  357. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-47caa070.js → HEAD CIRCUM_GIRLS.percentile.monthly-16afd7d8.js} +0 -0
  358. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-bae46665.js → HEAD CIRCUM_GIRLS.percentile.weekly-b0258df8.js} +0 -0
  359. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-81989cdd.js → HEAD CIRCUM_GIRLS.percentile.yearly-fbe848aa.js} +0 -0
  360. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-f2f7d985.js → HEAD CIRCUM_GIRLS.zscore.monthly-7cb222f7.js} +0 -0
  361. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-e287ddb7.js → HEAD CIRCUM_GIRLS.zscore.weekly-786f37d5.js} +0 -0
  362. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-8790b62a.js → HEAD CIRCUM_GIRLS.zscore.yearly-546970dc.js} +0 -0
  363. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-5d2b6466.js → HEIGHT_BOYS.percentile.monthly-3fe8dd70.js} +0 -0
  364. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-a38ad13e.js → HEIGHT_BOYS.percentile.weekly-8ff515f0.js} +0 -0
  365. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-e4841712.js → HEIGHT_BOYS.percentile.yearly-2ed73e3c.js} +0 -0
  366. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-d8e722f8.js → HEIGHT_BOYS.zscore.monthly-f18a337e.js} +0 -0
  367. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-a92ea3ca.js → HEIGHT_BOYS.zscore.weekly-d06e0e09.js} +0 -0
  368. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-3af1adce.js → HEIGHT_BOYS.zscore.yearly-e500b2d1.js} +0 -0
  369. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-c5203801.js → HEIGHT_GIRLS.percentile.monthly-2eb2700e.js} +0 -0
  370. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-4c25d07f.js → HEIGHT_GIRLS.percentile.weekly-2f205b6e.js} +0 -0
  371. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-f91e2e27.js → HEIGHT_GIRLS.percentile.yearly-0d54472f.js} +0 -0
  372. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-b2a60aca.js → HEIGHT_GIRLS.zscore.monthly-d1846835.js} +0 -0
  373. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-0a98c520.js → HEIGHT_GIRLS.zscore.weekly-b9036bc9.js} +0 -0
  374. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-8070d58f.js → HEIGHT_GIRLS.zscore.yearly-8dcf6e2d.js} +0 -0
  375. /package/build/esm/{Visible-e3e4fb6f.js → Visible-76b05e8e.js} +0 -0
  376. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-b262b97d.js → WEIGHT_BOYS.percentile.monthly-85f7b978.js} +0 -0
  377. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-7e817f9f.js → WEIGHT_BOYS.percentile.weekly-7c206abd.js} +0 -0
  378. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-b7f1786a.js → WEIGHT_BOYS.percentile.yearly-52c0957d.js} +0 -0
  379. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-014af835.js → WEIGHT_BOYS.zscore.monthly-f48a971e.js} +0 -0
  380. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-4577f724.js → WEIGHT_BOYS.zscore.weekly-6355c54f.js} +0 -0
  381. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-08fd3f13.js → WEIGHT_BOYS.zscore.yearly-bdb0459b.js} +0 -0
  382. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-a6e1aa0d.js → WEIGHT_GIRLS.percentile.monthly-a3b768e9.js} +0 -0
  383. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-4c0b6f94.js → WEIGHT_GIRLS.percentile.weekly-715f5009.js} +0 -0
  384. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-bf689a3a.js → WEIGHT_GIRLS.percentile.yearly-c3a04a7d.js} +0 -0
  385. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-f82fc3c8.js → WEIGHT_GIRLS.zscore.monthly-ea7be69d.js} +0 -0
  386. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-854ce987.js → WEIGHT_GIRLS.zscore.weekly-8b92b792.js} +0 -0
  387. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-2a3b869a.js → WEIGHT_GIRLS.zscore.yearly-8a06cbf9.js} +0 -0
  388. /package/build/esm/{animation-85d9a0ed.js → animation-b6d252e4.js} +0 -0
  389. /package/build/esm/{cart-1ac23ce7.js → cart-043dfe5c.js} +0 -0
  390. /package/build/esm/{constants-a5827634.js → constants-697503a2.js} +0 -0
  391. /package/build/esm/{constants-f6b2e49d.js → constants-b3779c5e.js} +0 -0
  392. /package/build/esm/{doctor-e0c2476d.js → doctor-9f166022.js} +0 -0
  393. /package/build/esm/{index-8684181f.js → index-36764891.js} +0 -0
  394. /package/build/esm/{index-ad1c7c38.js → index-44870130.js} +0 -0
  395. /package/build/esm/{index-266a32ff.js → index-77dc8ed1.js} +0 -0
  396. /package/build/esm/{index-21bca818.js → index-ee5dec8f.js} +0 -0
  397. /package/build/esm/{localizeNumberFormat-1f000110.js → localizeNumberFormat-4dd1fd7a.js} +0 -0
  398. /package/build/esm/{normalizeLink-7a93ebb9.js → normalizeLink-243e6342.js} +0 -0
  399. /package/build/esm/{number-1d1ba14a.js → number-129aedb0.js} +0 -0
  400. /package/build/esm/{paths-b83be1a0.js → paths-67ad72a7.js} +0 -0
  401. /package/build/esm/{translationsContext-42a1fa63.js → translationsContext-68168ff3.js} +0 -0
  402. /package/build/esm/{tslib.es6-06ba3978.js → tslib.es6-2d738692.js} +0 -0
  403. /package/build/esm/{types-721e7a66.js → types-7d3a4df2.js} +0 -0
  404. /package/build/esm/{useIsInit-f4dec279.js → useIsInit-6be72906.js} +0 -0
  405. /package/build/esm/{useOutsideClick-210c1134.js → useOutsideClick-fd3849ea.js} +0 -0
  406. /package/build/esm/{useScrollbarSize-909ae7ec.js → useScrollbarSize-77534d1d.js} +0 -0
  407. /package/build/esm/{useUniqueId-5885911d.js → useUniqueId-e84c90ce.js} +0 -0
  408. /package/build/{index-2de1eb4a.js → index-0168f1a0.js} +0 -0
  409. /package/build/{index-82c85f9d.js → index-053ed018.js} +0 -0
  410. /package/build/{index-bc9e8eae.js → index-90e7e427.js} +0 -0
  411. /package/build/{index-6fdcd09d.js → index-a73d7cb3.js} +0 -0
  412. /package/build/{localizeNumberFormat-7ff6bd3a.js → localizeNumberFormat-8ab6a41e.js} +0 -0
  413. /package/build/{normalizeLink-d307f624.js → normalizeLink-07c90859.js} +0 -0
  414. /package/build/{number-dddf656c.js → number-5605662c.js} +0 -0
  415. /package/build/{paths-7da79c64.js → paths-6b0114f1.js} +0 -0
  416. /package/build/{translationsContext-00fdb62e.js → translationsContext-ade0df93.js} +0 -0
  417. /package/build/{tslib.es6-bd3f8718.js → tslib.es6-d6fa4ee6.js} +0 -0
  418. /package/build/{types-b25ffde0.js → types-87a48532.js} +0 -0
  419. /package/build/{useIsInit-e06b96f5.js → useIsInit-08580a12.js} +0 -0
  420. /package/build/{useOutsideClick-d95a32b6.js → useOutsideClick-960bf73b.js} +0 -0
  421. /package/build/{useScrollbarSize-1499b1c3.js → useScrollbarSize-49049c18.js} +0 -0
  422. /package/build/{useUniqueId-1af8848e.js → useUniqueId-3c52a5c5.js} +0 -0
@@ -1,1114 +0,0 @@
1
- import { _ as __rest, a as __awaiter } from './tslib.es6-06ba3978.js';
2
- import React__default, { createContext, useContext, useState, useMemo, useEffect, useRef } from 'react';
3
- import { format } from 'date-fns';
4
- import { useMantineTheme, Group, createStyles, rem, Box } from '@mantine/core';
5
- import { useForm, isNotEmpty } from '@mantine/form';
6
- import dayjs from 'dayjs';
7
- import { R as Radio, c as Input, S as Select } from './index-9b3a8b6d.js';
8
- import { D as DatePicker } from './index-7c384ae6.js';
9
- import { T as Text } from './index-5723381f.js';
10
- import { B as Button } from './index-1d3c6ce7.js';
11
- import { t as theme } from './theme-7dadf4a1.js';
12
- import { u as useTranslations } from './useTranslations-b970f667.js';
13
- import '@mantine/hooks';
14
- import './index-189d7601.js';
15
- import { C as CommonGAssets } from './index-9471fca1.js';
16
- import './utils-d7bbdb52.js';
17
- import './useMantineLocale-453f8013.js';
18
- import { Q as QUERY_HEALTH_TOOL, A as API_DATE_FORMAT$1, d as domainLocales } from './index-6210f454.js';
19
- import { H as HealthToolFormWrapper, I as INPUT_RANGE } from './constants-fa475b0f.js';
20
- import { CalendarMB } from '@hhgtech/icons/other';
21
- import { Controller, useForm as useForm$1 } from 'react-hook-form';
22
- import { u as useHealthToolsCache } from './useHealthToolCache-6ce1724e.js';
23
- import { H as HEALTH_TOOL_TYPE } from './constants-a5827634.js';
24
- import { G as GenderOptionControl } from './index-8eb04f36.js';
25
- import '@mantine/dates';
26
-
27
- const ConceptionDate = (_a) => {
28
- var { isMarryBaby, size = 24 } = _a, rest = __rest(_a, ["isMarryBaby", "size"]);
29
- const props = Object.assign({ width: size, height: size }, rest);
30
- return isMarryBaby ? (React__default.createElement("svg", Object.assign({ viewBox: "0 0 33 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
31
- React__default.createElement("path", { d: "M16.5 27.133c1.298 0 2.596-.149 3.868-.447a9.15 9.15 0 0 0 6.818-6.818 16.94 16.94 0 0 0 0-7.736 9.15 9.15 0 0 0-6.818-6.818 16.94 16.94 0 0 0-7.736 0 9.15 9.15 0 0 0-6.818 6.818A17 17 0 0 0 5.367 16a.867.867 0 1 1-1.734 0c0-1.43.165-2.862.494-4.264a10.88 10.88 0 0 1 8.109-8.11 18.7 18.7 0 0 1 8.528 0 10.88 10.88 0 0 1 8.11 8.11 18.7 18.7 0 0 1 0 8.528 10.88 10.88 0 0 1-8.11 8.11 18.7 18.7 0 0 1-4.264.493.867.867 0 0 1 0-1.734", fill: "#3E3F58" }),
32
- React__default.createElement("path", { d: "M11.633 16a4.867 4.867 0 1 1 9.734 0 4.867 4.867 0 0 1-9.734 0m4.867-3.133a3.133 3.133 0 1 0 0 6.266 3.133 3.133 0 0 0 0-6.266", fill: "#E85388" }),
33
- React__default.createElement("path", { d: "M9.834 25.333a2.667 2.667 0 1 0-2.298-1.312l-.084.084a3.25 3.25 0 0 0-.952 2.298c0 .726-.41 1.39-1.06 1.715l-1.238.619a.667.667 0 0 0 .596 1.193l1.24-.62a3.25 3.25 0 0 0 1.796-2.907c0-.508.202-.995.561-1.355l.084-.084c.397.235.86.37 1.355.37", fill: "#3E3F58" }))) : (React__default.createElement("svg", Object.assign({ width: size, height: size, viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
34
- React__default.createElement("circle", { cx: "9", cy: "6.75", fill: "#91CAFF", r: "6.75" }),
35
- React__default.createElement("circle", { cx: "9", cy: "6.75", fill: "#2D87F3", r: "5.4" }),
36
- React__default.createElement("path", { d: "M1.789 12.2a.245.245 0 0 1-.02-.489c.073-.006 1.795-.167 1.761-1.605-.013-.587.15-1.057.485-1.397.524-.53 1.273-.528 1.305-.527a.245.245 0 0 1-.002.49h-.002c-.011 0-.582.004-.955.385-.236.24-.351.59-.34 1.038.018.793-.367 1.41-1.114 1.787a3.3 3.3 0 0 1-1.118.319M.75 17.774a.245.245 0 0 1 .226-.263c.073-.006 1.786-.162 1.749-1.593-.016-.586.146-1.055.48-1.392.521-.528 1.27-.524 1.3-.523a.245.245 0 0 1-.006.49c-.015 0-.58.004-.949.38q-.352.362-.335 1.033c.02.791-.362 1.406-1.106 1.78a3.3 3.3 0 0 1-1.095.313.245.245 0 0 1-.263-.225", fill: "#D2D6DC" }),
37
- React__default.createElement("path", { d: "M8.659 5.035c-.562-.561-1.956-.078-2.699.665-.407.407-.635.91-.665 1.373v.124l1.145 1.16.181.042c.464-.03.966-.258 1.373-.665.743-.743 1.226-2.137.665-2.699", fill: "#E3F2FF" }),
38
- React__default.createElement("path", { d: "m5.295 7.073-.292.75a.55.55 0 0 0 .124.589l.155.155a.55.55 0 0 0 .589.124l.75-.292z", fill: "#91CAFF" }),
39
- React__default.createElement("path", { d: "M8.098 11.358a.87.87 0 0 0-.233-.523c-.562-.562-1.956-.079-2.699.664-.407.408-.635.91-.665 1.373v.125l1.146 1.16.18.042c.464-.03.966-.258 1.374-.666.566-.566.98-1.51.897-2.175", fill: "#E3F2FF" }),
40
- React__default.createElement("path", { d: "m4.5 12.872-.29.75a.55.55 0 0 0 .123.589l.156.155a.55.55 0 0 0 .588.124l.75-.292z", fill: "#91CAFF" })));
41
- };
42
-
43
- const IVF = (_a) => {
44
- var { isMarryBaby, size = 24 } = _a, rest = __rest(_a, ["isMarryBaby", "size"]);
45
- const props = Object.assign({ width: size, height: size }, rest);
46
- return isMarryBaby ? (React__default.createElement("svg", Object.assign({ viewBox: "0 0 33 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
47
- React__default.createElement("path", { d: "M15.804 28.278a3.16 3.16 0 0 1-3.18-3.208l.128-20.306 6.405.008-.128 20.307c-.012 1.757-1.452 3.191-3.225 3.2", fill: "#fff" }),
48
- React__default.createElement("path", { d: "m12.72 10.266-.116 14.788c-.011 1.757 1.423 3.197 3.18 3.208 1.774-.008 3.214-1.442 3.225-3.2V10.267", fill: "#FFEAF1" }),
49
- React__default.createElement("circle", { cx: "14.662", cy: "19.027", transform: "rotate(-49.83 14.662 19.027)", fill: "#3E3F58", r: "1.012" }),
50
- React__default.createElement("circle", { cx: "16.326", cy: "13.426", r: "1.012", transform: "rotate(-49.83 16.326 13.426)", fill: "#3E3F58" }),
51
- React__default.createElement("path", { d: "m14.662 19.026.087 1.022a.98.98 0 0 0 .344.667.98.98 0 0 1 .32.98l-.123.51m1.036-8.779.087 1.022a.98.98 0 0 0 .344.666.98.98 0 0 1 .32.98l-.123.511", stroke: "#3E3F58" }),
52
- React__default.createElement("path", { d: "M18.833 27.597a3.94 3.94 0 0 1-3.02 1.408 4 4 0 0 1-2.795-1.148 3.98 3.98 0 0 1-1.14-2.795l.108-20.553c0-.426.344-.756.753-.738.426 0 .757.345.738.754l-.108 20.553c.002.656.248 1.256.697 1.733a2.42 2.42 0 0 0 1.727.706 2.483 2.483 0 0 0 2.47-2.462l.109-20.553c0-.426.344-.757.753-.738.426 0 .757.344.738.754l-.108 20.553a3.85 3.85 0 0 1-.922 2.526", fill: "#202135" }),
53
- React__default.createElement("path", { d: "M20.753 4.975a.75.75 0 0 1-.58.262l-8.714-.027a.727.727 0 0 1-.738-.754c0-.425.344-.756.754-.737l8.713.026c.426 0 .756.344.738.754a.66.66 0 0 1-.173.476", fill: "#202135" }))) : (React__default.createElement("svg", Object.assign({ viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
54
- React__default.createElement("path", { d: "M13.064 5.794a17.8 17.8 0 0 1 3.34-4.638l4.26 2.881a17.8 17.8 0 0 0-3.272 4.507l-1.08 2.12a.65.65 0 0 0 .124.76 7.9 7.9 0 0 1 2.296 4.81c.027.265-1.141 5.997-9.376 5.573-1.587-.082-5.724-1.269-6.12-2.86a8 8 0 0 1-.233-2.161c.124-4.165 3.718-7.648 7.884-7.647h.098a.65.65 0 0 0 .59-.36z", fill: "#BCDEFF" }),
55
- React__default.createElement("path", { d: "M20.75 3.234 16.696.496a.886.886 0 1 0-.992 1.469l4.056 2.738a.886.886 0 0 0 .992-1.469", fill: "#E3F2FF" }),
56
- React__default.createElement("path", { d: "M18.771 17.024a7.87 7.87 0 0 1-2.7 5.944A4.2 4.2 0 0 1 13.301 24H8.473a4.2 4.2 0 0 1-2.769-1.03 7.9 7.9 0 0 1-2.468-4.023c.924.468 2.191.805 3.922.805 1.142 0 2.01-.346 2.775-.834q.323-.21.629-.446c1.973-1.516 3.524-3.668 8.17-2.238q.04.39.04.79", fill: "#2D87F3" }),
57
- React__default.createElement("path", { d: "M11.858 15.5c-1.78.348-3.096-1.608-2.134-3.121a2.06 2.06 0 0 1 1.529-.944q.303-.03.588.025a.27.27 0 0 0 .268-.107c.282-.373.737-.573 1.2-.639.224-.031.374-.24.379-.44.021-.794.657-1.311 1.288-1.234.183.022.223.27.058.35l-.012.006a.9.9 0 0 0-.28.196c-.213.263-.187.407-.153.6.03.167.066.37-.04.715a1.45 1.45 0 0 1-.504.7c-.255.19-.445.23-.592.263-.088.019-.16.034-.223.076a.27.27 0 0 0-.07.379c.184.27.306.587.344.934a2.063 2.063 0 0 1-1.646 2.24", fill: "#fff" }),
58
- React__default.createElement("ellipse", { cx: "10", cy: "20.5", rx: "3", ry: "2.5", fill: "#FF6F4D" })));
59
- };
60
-
61
- const LastPeriod = (_a) => {
62
- var { isMarryBaby, size = 24 } = _a, rest = __rest(_a, ["isMarryBaby", "size"]);
63
- const props = Object.assign({ width: size, height: size }, rest);
64
- return isMarryBaby ? (React__default.createElement("svg", Object.assign({ viewBox: "0 0 33 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
65
- React__default.createElement("path", { d: "M26.954 27.37H8.18a2.353 2.353 0 0 1-2.347-2.347V8.597A2.353 2.353 0 0 1 8.181 6.25l11.803 2.347 6.97-2.347A2.354 2.354 0 0 1 29.3 8.597v16.426a2.353 2.353 0 0 1-2.346 2.347", fill: "#E0E9FB" }),
66
- React__default.createElement("path", { d: "M22.706 22.677H6.256c-1.337 0-2.229-1.338-1.736-2.582l1.314-3.285V8.597A2.353 2.353 0 0 1 8.181 6.25h16.426a2.353 2.353 0 0 1 2.346 2.347v8.213l-1.642 4.107a2.81 2.81 0 0 1-2.605 1.76", fill: "#FFE9F1" }),
67
- React__default.createElement("path", { d: "M24.607 28.074H8.18a3.044 3.044 0 0 1-3.05-3.05c0-.4.304-.705.703-.705.4 0 .704.305.704.704 0 .915.728 1.643 1.643 1.643h16.426c.915 0 1.643-.728 1.643-1.643v-2.346c0-.4.305-.704.703-.704.4 0 .704.305.704.704v2.346c0 1.69-1.36 3.05-3.05 3.05", fill: "#202135" }),
68
- React__default.createElement("path", { d: "M24.607 5.547h-.47v-.47A1.883 1.883 0 0 0 22.26 3.2a1.883 1.883 0 0 0-1.877 1.877v2.347c0 1.032.845 1.877 1.877 1.877a.69.69 0 0 0 .704-.704.69.69 0 0 0-.704-.704.47.47 0 0 1-.469-.47V5.078a.47.47 0 0 1 .47-.47.47.47 0 0 1 .469.47V6.25c0 .4.305.704.704.704h1.173c.915 0 1.643.728 1.643 1.643v6.406a8.8 8.8 0 0 1-.61 3.215l-.963 2.417a2.14 2.14 0 0 1-1.97 1.337H6.256c-.4 0-.751-.187-.962-.516a1.22 1.22 0 0 1-.118-1.103l.657-1.619c.47-1.197.728-2.464.728-3.754V8.597c0-.915.727-1.643 1.642-1.643h1.174a.69.69 0 0 0 .704-.704.69.69 0 0 0-.704-.703H8.204a3.044 3.044 0 0 0-3.05 3.05v6.406a8.8 8.8 0 0 1-.61 3.215l-.657 1.62c-.329.797-.211 1.689.258 2.416a2.59 2.59 0 0 0 2.135 1.127h16.45a3.49 3.49 0 0 0 3.261-2.206l.962-2.417c.47-1.197.728-2.464.728-3.755V8.597a3.08 3.08 0 0 0-3.074-3.05", fill: "#202135" }),
69
- React__default.createElement("path", { d: "M12.874 9.301a.69.69 0 0 0 .704-.704.69.69 0 0 0-.704-.704.47.47 0 0 1-.469-.47V5.078a.47.47 0 0 1 .47-.47.47.47 0 0 1 .469.47V6.25c0 .4.305.704.704.704h4.693a.69.69 0 0 0 .704-.704.69.69 0 0 0-.704-.703h-3.99v-.47A1.883 1.883 0 0 0 12.875 3.2a1.883 1.883 0 0 0-1.877 1.877v2.347c0 1.032.845 1.877 1.877 1.877", fill: "#202135" }),
70
- React__default.createElement("path", { d: "M21.087 16.81a1.16 1.16 0 0 1-1.173-1.173c0-.657.516-1.174 1.173-1.174s1.174.517 1.174 1.174-.517 1.173-1.174 1.173", fill: "#E85388" }),
71
- React__default.createElement("path", { d: "M11.7 13.29a1.16 1.16 0 0 1-1.172-1.173c0-.657.516-1.173 1.173-1.173s1.173.516 1.173 1.173-.516 1.173-1.173 1.173m4.694 0a1.16 1.16 0 0 1-1.173-1.173c0-.657.516-1.173 1.173-1.173s1.173.516 1.173 1.173-.516 1.173-1.173 1.173m4.693 0a1.16 1.16 0 0 1-1.173-1.173c0-.657.516-1.173 1.173-1.173s1.174.516 1.174 1.173-.517 1.173-1.174 1.173m-9.386 3.52a1.16 1.16 0 0 1-1.173-1.173c0-.657.516-1.174 1.173-1.174s1.173.517 1.173 1.174-.516 1.173-1.173 1.173m4.693 0a1.16 1.16 0 0 1-1.173-1.173c0-.657.516-1.174 1.173-1.174s1.173.517 1.173 1.174-.516 1.173-1.173 1.173m3.778 3.403c-.657 0-1.08-.47-.962-1.056.117-.587.727-1.056 1.384-1.056s1.08.469.963 1.056c-.118.586-.728 1.056-1.385 1.056m-4.693 0c-.657 0-1.08-.47-.962-1.056.117-.587.727-1.056 1.384-1.056s1.08.469.962 1.056c-.117.586-.727 1.056-1.384 1.056m-5.655-1.056c-.118.586.305 1.056.962 1.056s1.267-.47 1.384-1.056c.118-.587-.305-1.056-.962-1.056s-1.267.469-1.384 1.056", fill: "#9898A9" }))) : (React__default.createElement("svg", Object.assign({ viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
72
- React__default.createElement("rect", { y: "2.235", width: "22.05", height: "17.15", rx: "2", fill: "#E3F2FF" }),
73
- React__default.createElement("path", { d: "M0 4.235a2 2 0 0 1 2-2h18.05a2 2 0 0 1 2 2V5.91H0z", fill: "#2D87F3" }),
74
- React__default.createElement("path", { d: "M17.135 1h-.05c-.553 0-1.001.449-1.001 1.002v1.637a1 1 0 0 0 1.001 1.001h.05c.553 0 1.002-.448 1.002-1.001V2.002c0-.553-.449-1.002-1.002-1.002M4.275 4.64h.05c.553 0 1.002-.448 1.002-1.001V2.002C5.327 1.449 4.878 1 4.325 1h-.05c-.553 0-1.002.449-1.002 1.002v1.637c0 .553.449 1.001 1.002 1.001", fill: "#284A75" }),
75
- React__default.createElement("path", { d: "M4.717 9.752H3.96a.627.627 0 0 0-.627.627v.894c0 .346.28.627.627.627h.757a.627.627 0 0 0 .627-.627v-.894a.627.627 0 0 0-.627-.627m4.17 0h-.758a.627.627 0 0 0-.627.627v.894c0 .346.281.627.627.627h.758a.627.627 0 0 0 .627-.627v-.894a.627.627 0 0 0-.627-.627m4.168 0h-.757a.627.627 0 0 0-.627.627v.894c0 .346.28.627.627.627h.757a.627.627 0 0 0 .627-.627v-.894a.627.627 0 0 0-.627-.627m4.434 0h-.758a.627.627 0 0 0-.626.627v.894c0 .346.28.627.626.627h.758a.627.627 0 0 0 .627-.627v-.894a.627.627 0 0 0-.627-.627M4.675 13.635h-.757a.627.627 0 0 0-.627.627v.894c0 .346.28.627.627.627h.757c.346 0 .627-.28.627-.627v-.894a.627.627 0 0 0-.627-.627m4.169 0h-.757a.627.627 0 0 0-.627.627v.894c0 .346.28.627.627.627h.757c.346 0 .627-.28.627-.627v-.894a.627.627 0 0 0-.627-.627m4.169 0h-.757a.627.627 0 0 0-.627.627v.894c0 .346.28.627.627.627h.757c.346 0 .627-.28.627-.627v-.894a.627.627 0 0 0-.627-.627m4.434 0h-.757a.627.627 0 0 0-.627.627v.894c0 .346.28.627.627.627h.757c.346 0 .627-.28.627-.627v-.894a.627.627 0 0 0-.627-.627", fill: "#2B62CD" }),
76
- React__default.createElement("path", { d: "M20.36 13.836c-.734-.081-.88 1.444-1.905 2.66-.6.713-1.388 1.914-1.49 2.978-.097 1.02.186 3.508 3.23 3.704q.52.03 1.038-.037c3.027-.562 2.92-3.343 2.63-4.326-.3-1.026-1.272-2.093-1.879-2.66-1.122-1.045-.936-2.244-1.624-2.32", fill: "#FF6F4D" }),
77
- React__default.createElement("path", { d: "M22.14 17.4c.057.214-.222.393-.387.059-.14-.284-.08-.38.029-.404.114-.026.31.168.358.345", fill: "#fff" })));
78
- };
79
-
80
- var DueDateCalculatorType$1;
81
- (function (DueDateCalculatorType) {
82
- DueDateCalculatorType[DueDateCalculatorType["lastPeriod"] = 0] = "lastPeriod";
83
- DueDateCalculatorType[DueDateCalculatorType["conception"] = 1] = "conception";
84
- DueDateCalculatorType[DueDateCalculatorType["IVF"] = 2] = "IVF";
85
- })(DueDateCalculatorType$1 || (DueDateCalculatorType$1 = {}));
86
-
87
- const DueDateFormContext = createContext({});
88
-
89
- const ConceptionFormContext = createContext({});
90
-
91
- const DefaultLayout$4 = () => {
92
- const { t } = useTranslations();
93
- const { form } = useContext(ConceptionFormContext);
94
- return (React__default.createElement(React__default.Fragment, null,
95
- React__default.createElement(DatePicker, Object.assign({ label: t('dueDatePage.lastPeriod.lastPeriodLabel') }, form.getInputProps('lastPeriodDate'), { placeholder: 'DD/MM/YYYY', popoverProps: {
96
- withinPortal: true,
97
- }, maxDate: new Date() }))));
98
- };
99
-
100
- const InlineLayout$4 = () => {
101
- const { t } = useTranslations();
102
- const { form } = useContext(ConceptionFormContext);
103
- return (React__default.createElement(HealthToolFormWrapper.FormRow, null,
104
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('dueDatePage.lastPeriod.lastPeriodLabel') },
105
- React__default.createElement(DatePicker, Object.assign({}, form.getInputProps('lastPeriodDate'), { placeholder: 'DD/MM/YYYY', popoverProps: {
106
- withinPortal: true,
107
- }, maxDate: new Date(), error: null }))),
108
- form.errors.lastPeriodDate && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.lastPeriodDate))));
109
- };
110
-
111
- const MbLayout$5 = () => {
112
- const { t } = useTranslations();
113
- const { form } = useContext(ConceptionFormContext);
114
- return (React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('dueDatePage.lastPeriod.lastPeriodLabel'), rightSection: React__default.createElement(CalendarMB, null) },
115
- React__default.createElement(DatePicker, Object.assign({}, form.getInputProps('lastPeriodDate'), { placeholder: 'DD/MM/YYYY', popoverProps: {
116
- withinPortal: true,
117
- }, rightSection: null, maxDate: new Date() }))));
118
- };
119
-
120
- var DueDateCalculatorType;
121
- (function (DueDateCalculatorType) {
122
- DueDateCalculatorType[DueDateCalculatorType["lastPeriod"] = 0] = "lastPeriod";
123
- DueDateCalculatorType[DueDateCalculatorType["conception"] = 1] = "conception";
124
- DueDateCalculatorType[DueDateCalculatorType["IVF"] = 2] = "IVF";
125
- })(DueDateCalculatorType || (DueDateCalculatorType = {}));
126
- const API_DATE_FORMAT = 'yyyy-MM-dd';
127
- const getDueDateLastPeriod = (lastPeriodDate, periodLength) => {
128
- const pregnancyLength = 272 + (periodLength - 21);
129
- const dueDate = new Date(lastPeriodDate);
130
- dueDate.setDate(dueDate.getDate() + pregnancyLength);
131
- return {
132
- startDate: lastPeriodDate,
133
- dueDate,
134
- otherInfo: {
135
- method: DueDateCalculatorType.lastPeriod + 1,
136
- first_day: format(lastPeriodDate, API_DATE_FORMAT),
137
- cycle_length_days: periodLength,
138
- conception_date: null,
139
- ivf_transfer_date: null,
140
- days_transfer: null,
141
- },
142
- };
143
- };
144
- const getDueDateConception = (conceptionDate) => {
145
- const dueDate = new Date(conceptionDate);
146
- dueDate.setDate(dueDate.getDate() + 265);
147
- return {
148
- startDate: conceptionDate,
149
- dueDate,
150
- otherInfo: {
151
- method: DueDateCalculatorType.conception + 1,
152
- conception_date: format(conceptionDate, API_DATE_FORMAT),
153
- first_day: null,
154
- cycle_length_days: null,
155
- ivf_transfer_date: null,
156
- days_transfer: null,
157
- },
158
- };
159
- };
160
- const getDueDateIVF = (IVFDate, numDayTransfer) => {
161
- const dueDate = new Date(IVFDate);
162
- dueDate.setDate(dueDate.getDate() + 265 - numDayTransfer);
163
- return {
164
- startDate: IVFDate,
165
- dueDate,
166
- otherInfo: {
167
- method: DueDateCalculatorType.IVF + 1,
168
- ivf_transfer_date: format(IVFDate, API_DATE_FORMAT),
169
- days_transfer: numDayTransfer,
170
- conception_date: null,
171
- first_day: null,
172
- cycle_length_days: null,
173
- },
174
- };
175
- };
176
-
177
- const ConceptionForm = ({}) => {
178
- const { formLayout, onSubmit, currentUrl, submitProps } = useContext(DueDateFormContext);
179
- const theme = useMantineTheme();
180
- const { t } = useTranslations();
181
- const form = useForm({
182
- initialValues: {
183
- lastPeriodDate: new Date(),
184
- },
185
- });
186
- const formProps = {
187
- onSubmit: form.onSubmit((values) => {
188
- const { lastPeriodDate } = values;
189
- onSubmit(getDueDateConception(lastPeriodDate), `${QUERY_HEALTH_TOOL.type}=1&sd=${dayjs(lastPeriodDate).format(API_DATE_FORMAT$1)}&${QUERY_HEALTH_TOOL.additional}= `);
190
- }),
191
- };
192
- return (React__default.createElement(ConceptionFormContext.Provider, { value: { form } },
193
- React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: formLayout }, formProps),
194
- formLayout === 'inline' ? (React__default.createElement(InlineLayout$4, null)) : theme.other.template === 'mb' ? (React__default.createElement(MbLayout$5, null)) : (React__default.createElement(DefaultLayout$4, null)),
195
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ dataEventCategory: "Health Tool", dataEventAction: "Due Date", dataEventLabel: currentUrl, className: "due-date-calculate-button", type: "submit" }, submitProps), t('dueDatePage.lastPeriod.calculate')))));
196
- };
197
-
198
- const IVFFormContext = createContext({});
199
-
200
- const DefaultLayout$3 = () => {
201
- const { t } = useTranslations();
202
- const { form, transferDateOptions } = useContext(IVFFormContext);
203
- return (React__default.createElement(React__default.Fragment, null,
204
- React__default.createElement(DatePicker, Object.assign({ label: t('dueDatePage.ivf.transferDate') }, form.getInputProps('IVFDate'), { placeholder: 'DD/MM/YYYY', popoverProps: {
205
- withinPortal: true,
206
- }, maxDate: new Date() })),
207
- React__default.createElement(Radio.Group, Object.assign({}, form.getInputProps('dayTransfer')),
208
- React__default.createElement(Group, null, transferDateOptions.map((i, idx) => (React__default.createElement(Radio, { key: idx, value: i.value, label: i.label })))))));
209
- };
210
-
211
- const InlineLayout$3 = () => {
212
- const { t } = useTranslations();
213
- const { form, transferDateOptions } = useContext(IVFFormContext);
214
- return (React__default.createElement(React__default.Fragment, null,
215
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('dueDatePage.ivf.transferDate') },
216
- React__default.createElement(DatePicker, Object.assign({}, form.getInputProps('IVFDate'), { placeholder: 'DD/MM/YYYY', popoverProps: {
217
- withinPortal: true,
218
- }, maxDate: new Date() }))),
219
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { width: 'none' },
220
- React__default.createElement(Radio.Group, Object.assign({}, form.getInputProps('dayTransfer')),
221
- React__default.createElement(Group, null, transferDateOptions.map((i, idx) => (React__default.createElement(Radio, { key: idx, value: i.value, label: i.label }))))))));
222
- };
223
-
224
- const MbLayout$4 = () => {
225
- const { t } = useTranslations();
226
- const { form, transferDateOptions } = useContext(IVFFormContext);
227
- return (React__default.createElement(React__default.Fragment, null,
228
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('dueDatePage.ivf.transferDate'), rightSection: React__default.createElement(CalendarMB, null) },
229
- React__default.createElement(DatePicker, Object.assign({}, form.getInputProps('IVFDate'), { placeholder: 'DD/MM/YYYY', popoverProps: {
230
- withinPortal: true,
231
- }, maxDate: new Date(), rightSection: null }))),
232
- React__default.createElement(Radio.Group, Object.assign({}, form.getInputProps('dayTransfer')),
233
- React__default.createElement(Group, null, transferDateOptions.map((i, idx) => (React__default.createElement(Radio, { key: idx, value: i.value, label: i.label })))))));
234
- };
235
-
236
- const IVFForm = ({}) => {
237
- var _a;
238
- const { formLayout, onSubmit, currentUrl, submitProps } = useContext(DueDateFormContext);
239
- const { t } = useTranslations();
240
- const theme = useMantineTheme();
241
- const transferDateOptions = [
242
- {
243
- value: '3',
244
- label: t('dueDatePage.ivf.transferDateRadio', {
245
- number: 3,
246
- }),
247
- },
248
- {
249
- value: '5',
250
- label: t('dueDatePage.ivf.transferDateRadio', {
251
- number: 5,
252
- }),
253
- },
254
- ];
255
- const form = useForm({
256
- initialValues: {
257
- IVFDate: new Date(),
258
- dayTransfer: (_a = transferDateOptions === null || transferDateOptions === void 0 ? void 0 : transferDateOptions[0]) === null || _a === void 0 ? void 0 : _a.value,
259
- },
260
- });
261
- const formProps = {
262
- onSubmit: form.onSubmit((values) => {
263
- const { IVFDate } = values;
264
- const dayTransfer = Number(values.dayTransfer);
265
- onSubmit(getDueDateIVF(IVFDate, Number(dayTransfer)), `${QUERY_HEALTH_TOOL.type}=2&${QUERY_HEALTH_TOOL.startDate}=${dayjs(IVFDate).format(API_DATE_FORMAT$1)}&${QUERY_HEALTH_TOOL.additional}=${dayTransfer}`);
266
- }),
267
- };
268
- return (React__default.createElement(IVFFormContext.Provider, { value: { form, transferDateOptions } },
269
- React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: formLayout }, formProps),
270
- formLayout === 'inline' ? (React__default.createElement(InlineLayout$3, null)) : theme.other.template === 'mb' ? (React__default.createElement(MbLayout$4, null)) : (React__default.createElement(DefaultLayout$3, null)),
271
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ dataEventCategory: "Health Tool", dataEventAction: "Due Date", dataEventLabel: currentUrl, className: "due-date-calculate-button", type: "submit" }, submitProps), t('dueDatePage.lastPeriod.calculate')))));
272
- };
273
-
274
- const LastPeriodFormContext = createContext({});
275
-
276
- const DefaultLayout$2 = () => {
277
- const { t } = useTranslations();
278
- const { form } = useContext(LastPeriodFormContext);
279
- return (React__default.createElement(React__default.Fragment, null,
280
- React__default.createElement(DatePicker, Object.assign({ label: t('dueDatePage.lastPeriod.lastPeriodLabel') }, form.getInputProps('lastPeriodDate'), { placeholder: 'DD/MM/YYYY', popoverProps: {
281
- withinPortal: true,
282
- }, maxDate: new Date() })),
283
- React__default.createElement(Input.Wrapper, { label: t('dueDatePage.lastPeriod.periodLengthLabel') },
284
- React__default.createElement(Input.Number, Object.assign({ min: 20, max: 40, placeholder: t('tools.inputPlaceholder', {
285
- content: '30',
286
- }) }, form.getInputProps('periodLength'))))));
287
- };
288
-
289
- const InlineLayout$2 = () => {
290
- const { t } = useTranslations();
291
- const { form } = useContext(LastPeriodFormContext);
292
- return (React__default.createElement(React__default.Fragment, null,
293
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('dueDatePage.lastPeriod.lastPeriodLabel') },
294
- React__default.createElement(DatePicker, Object.assign({}, form.getInputProps('lastPeriodDate'), { placeholder: 'DD/MM/YYYY', popoverProps: {
295
- withinPortal: true,
296
- }, maxDate: new Date() }))),
297
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('dueDatePage.lastPeriod.periodLengthLabel') },
298
- React__default.createElement(Input.Number, Object.assign({ min: 20, max: 40, placeholder: t('tools.inputPlaceholder', {
299
- content: '30',
300
- }) }, form.getInputProps('periodLength'), { error: null }))),
301
- form.errors.periodLength && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.periodLength))));
302
- };
303
-
304
- const MbLayout$3 = () => {
305
- const { t } = useTranslations();
306
- const { form } = useContext(LastPeriodFormContext);
307
- return (React__default.createElement(React__default.Fragment, null,
308
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('dueDatePage.lastPeriod.lastPeriodLabel'), rightSection: React__default.createElement(CalendarMB, null) },
309
- React__default.createElement(DatePicker, Object.assign({ rightSection: null }, form.getInputProps('lastPeriodDate'), { placeholder: 'DD/MM/YYYY', popoverProps: {
310
- withinPortal: true,
311
- }, maxDate: new Date() }))),
312
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('dueDatePage.lastPeriod.periodLengthLabel'), rightSection: t('ovulationPage.dayUnit') },
313
- React__default.createElement(Input.Number, Object.assign({ min: 20, max: 40, placeholder: t('tools.inputPlaceholder', {
314
- content: '30',
315
- }) }, form.getInputProps('periodLength')))),
316
- form.errors.periodLength && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.periodLength))));
317
- };
318
-
319
- const LastPeriodForm = ({}) => {
320
- const { formLayout, onSubmit, currentUrl, submitProps } = useContext(DueDateFormContext);
321
- const { t } = useTranslations();
322
- const theme = useMantineTheme();
323
- const isMarryBaby = theme.other.template === 'mb';
324
- const form = useForm({
325
- initialValues: {
326
- lastPeriodDate: new Date(),
327
- },
328
- validate: {
329
- periodLength: isNotEmpty(t('validation.error.requiredField')),
330
- },
331
- });
332
- const formProps = {
333
- onSubmit: form.onSubmit((values) => {
334
- const { periodLength, lastPeriodDate } = values;
335
- onSubmit(getDueDateLastPeriod(lastPeriodDate, periodLength), `${QUERY_HEALTH_TOOL.type}=0&${QUERY_HEALTH_TOOL.startDate}=${dayjs(lastPeriodDate).format(API_DATE_FORMAT$1)}&${QUERY_HEALTH_TOOL.additional}=${periodLength}`);
336
- }),
337
- };
338
- return (React__default.createElement(LastPeriodFormContext.Provider, { value: { form } },
339
- React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: formLayout }, formProps),
340
- formLayout === 'inline' ? (React__default.createElement(InlineLayout$2, null)) : isMarryBaby ? (React__default.createElement(MbLayout$3, null)) : (React__default.createElement(DefaultLayout$2, null)),
341
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ dataEventCategory: "Health Tool", dataEventAction: "Due Date", dataEventLabel: currentUrl, className: "due-date-calculate-button", type: "submit" }, submitProps), t('dueDatePage.lastPeriod.calculate')))));
342
- };
343
-
344
- const FormSwitcher = () => {
345
- const { calculatorType } = useContext(DueDateFormContext);
346
- return calculatorType === DueDateCalculatorType.lastPeriod ? (React__default.createElement(LastPeriodForm, null)) : calculatorType === DueDateCalculatorType.conception ? (React__default.createElement(ConceptionForm, null)) : calculatorType === DueDateCalculatorType.IVF ? (React__default.createElement(IVFForm, null)) : null;
347
- };
348
-
349
- var OvulationCalculatorType$2;
350
- (function (OvulationCalculatorType) {
351
- OvulationCalculatorType[OvulationCalculatorType["trackPeriod"] = 0] = "trackPeriod";
352
- OvulationCalculatorType[OvulationCalculatorType["conceive"] = 1] = "conceive";
353
- OvulationCalculatorType[OvulationCalculatorType["avoidPregnancy"] = 2] = "avoidPregnancy";
354
- })(OvulationCalculatorType$2 || (OvulationCalculatorType$2 = {}));
355
- const DueDateForm = (_a) => {
356
- var { formLayout = 'default', submitProps, currentUrl, isMobile, onSubmit } = _a, props = __rest(_a, ["formLayout", "submitProps", "currentUrl", "isMobile", "onSubmit"]);
357
- const { t } = useTranslations();
358
- const [calculatorType, setCalculatorType] = useState(DueDateCalculatorType$1.lastPeriod);
359
- const calculatingMethods = [
360
- {
361
- value: DueDateCalculatorType$1.lastPeriod,
362
- label: t('dueDatePage.lastPeriod'),
363
- icon: React__default.createElement(LastPeriod, null),
364
- },
365
- {
366
- value: DueDateCalculatorType$1.conception,
367
- label: t('dueDatePage.conceptionDate'),
368
- icon: React__default.createElement(ConceptionDate, null),
369
- },
370
- {
371
- value: DueDateCalculatorType$1.IVF,
372
- label: t('dueDatePage.ivf'),
373
- icon: React__default.createElement(IVF, null),
374
- },
375
- ];
376
- return (React__default.createElement(DueDateFormContext.Provider, { value: {
377
- calculatingMethods,
378
- submitProps,
379
- currentUrl,
380
- isMobile,
381
- formLayout,
382
- onSubmit,
383
- calculatorType,
384
- setCalculatorType,
385
- } },
386
- React__default.createElement(HealthToolFormWrapper, Object.assign({ component: "div", formLayout: "default" }, props),
387
- React__default.createElement(HealthToolFormWrapper.Control, null,
388
- React__default.createElement(Input.Wrapper, { label: t('dueDatePage.calculationMethod') },
389
- React__default.createElement(HealthToolFormWrapper.ChipGroup, { isMobile: isMobile, data: calculatingMethods, defaultValue: String(DueDateCalculatorType$1.lastPeriod), onChange: (v) => setCalculatorType(Number(v)) }))),
390
- React__default.createElement(FormSwitcher, null))));
391
- };
392
-
393
- const BmiFormContext = createContext({});
394
-
395
- const DefaultForm$2 = (props) => {
396
- var _a, _b, _c, _d;
397
- const { t, locale } = useTranslations();
398
- const { control, bmiGenerated, isTouched, linkTool, submitProps } = useContext(BmiFormContext);
399
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
400
- 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 } }) => {
401
- return (React__default.createElement(GenderOptionControl, { error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', onChange: onChange }));
402
- } }),
403
- 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 }, }) => {
404
- return (React__default.createElement(Input.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
405
- t('bmi.ageInput'),
406
- ' ',
407
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray300, as: "span" }, t('bmi.ageInput.desc'))), placeholder: t('tools.inputPlaceholder', {
408
- content: '25',
409
- }), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', min: 0 }));
410
- } }),
411
- 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 }, }) => {
412
- return (React__default.createElement(Input.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
413
- t('bmi.heightInput'),
414
- ' ',
415
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray300, as: "span" }, t('bmi.heightInput.desc'))), placeholder: t('tools.inputPlaceholder', {
416
- content: '170',
417
- }), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', min: 0 }));
418
- } }),
419
- 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 }, }) => {
420
- return (React__default.createElement(Input.Number, { label: React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray600 },
421
- t('bmi.weightInput'),
422
- ' ',
423
- React__default.createElement(Text, { size: "s4", weight: "semiBold", color: theme.colors.gray300, as: "span" }, t('bmi.weightInput.desc'))), placeholder: t('tools.inputPlaceholder', {
424
- content: '60',
425
- }), name: name, value: value, onChange: onChange, error: isTouched ? error === null || error === void 0 ? void 0 : error.message : '', precision: 1, min: 0 }));
426
- } }),
427
- 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'))));
428
- };
429
-
430
- const InlineForm$2 = (props) => {
431
- var _a, _b, _c, _d;
432
- const { t, locale } = useTranslations();
433
- const { control, bmiGenerated, isTouched, linkTool, submitProps } = useContext(BmiFormContext);
434
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
435
- 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 } }) => {
436
- return (React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('tools.selectGender'), width: 'none', errorMess: isTouched && (error === null || error === void 0 ? void 0 : error.message) },
437
- React__default.createElement(GenderOptionControl, { type: "radio", hideLabel: true, error: isTouched ? React__default.createElement(React__default.Fragment, null) : '', onChange: onChange })));
438
- } }),
439
- 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 }, }) => {
440
- return (React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('bmi.ageInput'), errorMess: isTouched && (error === null || error === void 0 ? void 0 : error.message) },
441
- React__default.createElement(Input.Number, { placeholder: t('tools.inputPlaceholder', {
442
- content: '25',
443
- }), 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: () => ({
444
- rightSection: {
445
- width: 'auto',
446
- },
447
- }) })));
448
- } }),
449
- 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 }, }) => {
450
- return (React__default.createElement(HealthToolFormWrapper.FormRow, null,
451
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('bmi.heightInput') },
452
- React__default.createElement(Input.Number, { placeholder: t('tools.inputPlaceholder', {
453
- content: '170',
454
- }), 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')) })),
455
- isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default.createElement(HealthToolFormWrapper.Error, null, error.message))));
456
- } }),
457
- 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 }, }) => {
458
- return (React__default.createElement(HealthToolFormWrapper.FormRow, null,
459
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('bmi.weightInput') },
460
- React__default.createElement(Input.Number, { placeholder: t('tools.inputPlaceholder', {
461
- content: '60',
462
- }), 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')) })),
463
- isTouched && (error === null || error === void 0 ? void 0 : error.message) && (React__default.createElement(HealthToolFormWrapper.Error, null, error.message))));
464
- } }),
465
- 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'))));
466
- };
467
-
468
- function getBmi({ weight: weightProps, height: heightProps, }) {
469
- const height = heightProps / 100;
470
- const weight = weightProps;
471
- return Math.round((weight / (height * height)) * 10) / 10;
472
- }
473
-
474
- const BmiForm = (_a) => {
475
- var { value: valueProps, onChange: onChangeProps, onSubmit: onSubmitProps, bmiGenerated, bmiUnit, formLayout = 'default', submitProps } = _a, rest = __rest(_a, ["value", "onChange", "onSubmit", "bmiGenerated", "bmiUnit", "formLayout", "submitProps"]);
476
- const [isTouched, setIsTouched] = useState(false);
477
- const { control, handleSubmit, setValue, watch } = useForm$1();
478
- const data = watch();
479
- const { locale } = useTranslations();
480
- const { getHealthToolLink } = useHealthToolsCache(locale);
481
- const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE.OVULATION), [getHealthToolLink]);
482
- const onValid = (data) => __awaiter(void 0, void 0, void 0, function* () {
483
- const height = bmiUnit.heightConvert(data.height);
484
- const weight = bmiUnit.weightConvert(data.weight);
485
- const submitValue = {
486
- gender: data.gender,
487
- age: data.age,
488
- height,
489
- weight,
490
- bmi: getBmi({ height, weight }),
491
- };
492
- onInValid();
493
- onSubmitProps && onSubmitProps(submitValue);
494
- });
495
- const onInValid = () => {
496
- setIsTouched(true);
497
- };
498
- useEffect(() => {
499
- Object.keys(valueProps || {}).forEach((k) => {
500
- const key = k;
501
- setValue(key, valueProps === null || valueProps === void 0 ? void 0 : valueProps[key], {
502
- shouldTouch: false,
503
- shouldDirty: false,
504
- shouldValidate: false,
505
- });
506
- });
507
- }, [valueProps]);
508
- useEffect(() => {
509
- onChangeProps && onChangeProps(data);
510
- }, [data]);
511
- const commonProps = Object.assign({ onSubmit: handleSubmit(onValid, onInValid) }, rest);
512
- return (React__default.createElement(BmiFormContext.Provider, { value: {
513
- control,
514
- bmiGenerated,
515
- isTouched,
516
- linkTool,
517
- submitProps,
518
- } }, formLayout === 'inline' ? (React__default.createElement(InlineForm$2, Object.assign({}, commonProps))) : (React__default.createElement(DefaultForm$2, Object.assign({}, commonProps)))));
519
- };
520
-
521
- var useStyles = createStyles((theme, { hasOnClickFn }) => {
522
- return {
523
- root: {
524
- position: 'relative',
525
- display: 'flex',
526
- flexDirection: 'column',
527
- gap: rem(16),
528
- },
529
- sponsorBox: {
530
- display: 'flex',
531
- gap: rem(12),
532
- alignItems: 'center',
533
- backgroundColor: theme.colors.neutral[0],
534
- border: `1px solid ${theme.colors.neutral[1]}`,
535
- borderRadius: rem(4),
536
- padding: '4px 12px',
537
- alignSelf: 'flex-start',
538
- },
539
- sponsorLogo: {
540
- maxHeight: rem(32),
541
- },
542
- btn: {
543
- minWidth: rem(180),
544
- [theme.fn.largerThan('sm')]: {
545
- alignSelf: 'flex-end',
546
- },
547
- visibility: hasOnClickFn ? 'visible' : 'hidden',
548
- },
549
- };
550
- });
551
-
552
- const BabyPoopForm = (_a) => {
553
- var { babyPoopPage, onClickFindOut, currentUrl, sponsorLogo, btnProps, styles, classNames } = _a, props = __rest(_a, ["babyPoopPage", "onClickFindOut", "currentUrl", "sponsorLogo", "btnProps", "styles", "classNames"]);
554
- const { t } = useTranslations();
555
- const { classes } = useStyles({ hasOnClickFn: Boolean(onClickFindOut) }, { name: 'BabyPoopForm', styles, classNames });
556
- return (React__default.createElement(Box, Object.assign({ className: classes.root }, props),
557
- sponsorLogo && (React__default.createElement(Box, { className: classes.sponsorBox },
558
- React__default.createElement(Text, { size: "p4" }, t('common.sponsoredBy')),
559
- React__default.createElement("img", { loading: "lazy", src: sponsorLogo, alt: "sponsor", className: classes.sponsorLogo }))),
560
- React__default.createElement(Text, { size: "p3", className: "description" }, babyPoopPage.description),
561
- React__default.createElement(Button, Object.assign({ className: classes.btn, onClick: onClickFindOut, dataEventCategory: "Health Tool", dataEventAction: "Baby Stool Inquiry", dataEventLabel: currentUrl }, btnProps), t('babyPoop.findOut'))));
562
- };
563
-
564
- const ThrFormContext = createContext({});
565
-
566
- const DefaultForm$1 = (_a) => {
567
- var _b;
568
- var props = __rest(_a, []);
569
- const { t, locale } = useTranslations();
570
- const { isAdult, activeValueNote, linkTool, form, submitProps } = useContext(ThrFormContext);
571
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
572
- React__default.createElement(GenderOptionControl, Object.assign({}, form.getInputProps('gender'))),
573
- React__default.createElement(DatePicker, Object.assign({}, form.getInputProps('age'), { placeholder: 'DD/MM/YYYY', popoverProps: {
574
- withinPortal: true,
575
- }, label: t('targetHeartRate.ageInput'), maxDate: new Date() })),
576
- React__default.createElement(Input.Number, Object.assign({ label: t('targetHeartRate.heartRateInput'), placeholder: t('tools.inputPlaceholder', {
577
- content: '60',
578
- }) }, form.getInputProps('heartRate'), { min: 40, max: 200, styles: () => ({
579
- rightSection: {
580
- width: 'auto',
581
- },
582
- }) })),
583
- 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) => ({
584
- value: option.value,
585
- label: option.label,
586
- })), styles: {
587
- item: {
588
- whiteSpace: 'nowrap',
589
- padding: '10px 12px',
590
- fontSize: '14px',
591
- },
592
- }, withinPortal: true }, form.getInputProps('activeValue')))),
593
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", dataEventCategory: "Health Tool", dataEventAction: "THR", dataEventLabel: `https://${domainLocales[locale]}/${linkTool}` }, submitProps), t('bmi.submit'))));
594
- };
595
-
596
- const InlineForm$1 = (_a) => {
597
- var _b;
598
- var props = __rest(_a, []);
599
- const { t, locale } = useTranslations();
600
- const { isAdult, activeValueNote, linkTool, form, submitProps } = useContext(ThrFormContext);
601
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
602
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
603
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('tools.selectGender'), width: 'none' },
604
- React__default.createElement(GenderOptionControl, Object.assign({ type: "radio", hideLabel: true, error: null }, form.getInputProps('gender')))),
605
- form.errors.gender && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.gender))),
606
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
607
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('targetHeartRate.ageInput') },
608
- React__default.createElement(DatePicker, Object.assign({}, form.getInputProps('age'), { placeholder: 'DD/MM/YYYY', popoverProps: {
609
- withinPortal: true,
610
- }, error: null, maxDate: new Date() }))),
611
- form.errors.age && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.age))),
612
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
613
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('targetHeartRate.heartRateInput') },
614
- React__default.createElement(Input.Number, Object.assign({ placeholder: t('tools.inputPlaceholder', {
615
- content: '60',
616
- }) }, form.getInputProps('heartRate'), { error: null, min: 40, max: 200, rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, "bmp"), styles: () => ({
617
- rightSection: {
618
- width: 'auto',
619
- },
620
- }) }))),
621
- form.errors.heartRate && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.heartRate))),
622
- isAdult && (React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('targetHeartRate.selectActive') },
623
- 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) => ({
624
- value: option.value,
625
- label: option.label,
626
- })), styles: {
627
- item: {
628
- whiteSpace: 'nowrap',
629
- padding: '10px 12px',
630
- fontSize: '14px',
631
- },
632
- }, withinPortal: true }, form.getInputProps('activeValue'))))),
633
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", dataEventCategory: "Health Tool", dataEventAction: "THR", dataEventLabel: `https://${domainLocales[locale]}/${linkTool}` }, submitProps), t('bmi.submit'))));
634
- };
635
-
636
- const ThrForm = (_a) => {
637
- var { formLayout, onSubmit, onError, submitProps } = _a, rest = __rest(_a, ["formLayout", "onSubmit", "onError", "submitProps"]);
638
- const { t, locale } = useTranslations();
639
- const minRange = useRef(40);
640
- const { getHealthToolLink } = useHealthToolsCache(locale);
641
- const form = useForm({
642
- initialValues: {
643
- heartRate: 60,
644
- activeValue: 'low_intensity',
645
- },
646
- validate: {
647
- gender: isNotEmpty(t('validation.error.requiredField')),
648
- age: isNotEmpty(t('validation.error.requiredField')),
649
- heartRate: (value) => {
650
- return Number(value) >= minRange.current && Number(value) <= 200
651
- ? null
652
- : t('tools.heartRateRangeErr', {
653
- min: minRange.current,
654
- max: 200,
655
- });
656
- },
657
- },
658
- });
659
- const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE.THR), [getHealthToolLink]);
660
- const [isAdult, setIsAdult] = useState(false);
661
- const rangeHeartRateByAge = [
662
- {
663
- idAge: 0,
664
- minAge: 0,
665
- maxAge: 18,
666
- rangeMale: 40,
667
- rangeFemale: 40,
668
- },
669
- {
670
- idAge: 1,
671
- minAge: 18,
672
- maxAge: 25,
673
- rangeMale: 49,
674
- rangeFemale: 54,
675
- },
676
- {
677
- idAge: 2,
678
- minAge: 25,
679
- maxAge: 35,
680
- rangeMale: 49,
681
- rangeFemale: 54,
682
- },
683
- {
684
- idAge: 3,
685
- minAge: 35,
686
- maxAge: 45,
687
- rangeMale: 50,
688
- rangeFemale: 54,
689
- },
690
- {
691
- idAge: 4,
692
- minAge: 45,
693
- maxAge: 55,
694
- rangeMale: 50,
695
- rangeFemale: 54,
696
- },
697
- {
698
- idAge: 5,
699
- minAge: 55,
700
- maxAge: 65,
701
- rangeMale: 51,
702
- rangeFemale: 54,
703
- },
704
- {
705
- idAge: 6,
706
- minAge: 65,
707
- maxAge: 120,
708
- rangeMale: 50,
709
- rangeFemale: 54,
710
- },
711
- ];
712
- const activeValueNote = [
713
- {
714
- value: 'low_intensity',
715
- label: t('targetHeartRate.lowIntensity.title'),
716
- image: CommonGAssets.getAssetPath(`/low.svg`),
717
- imageActive: CommonGAssets.getAssetPath(`/low-active.svg`),
718
- content: t('targetHeartRate.lowIntensity.note'),
719
- },
720
- {
721
- value: 'moderate_intensity',
722
- label: t('targetHeartRate.moderateIntensity.title'),
723
- image: CommonGAssets.getAssetPath(`/moderate.svg`),
724
- imageActive: CommonGAssets.getAssetPath(`/moderate-active.svg`),
725
- content: t('targetHeartRate.moderateIntensity.note'),
726
- },
727
- {
728
- value: 'aerobic_zone',
729
- label: t('targetHeartRate.aerobicZone.title'),
730
- image: CommonGAssets.getAssetPath(`/aerobic.svg`),
731
- imageActive: CommonGAssets.getAssetPath(`/aerobic-active.svg`),
732
- content: t('targetHeartRate.aerobicZone.note'),
733
- },
734
- {
735
- value: 'vigorous_intensity',
736
- label: t('targetHeartRate.vigorousIntensity.title'),
737
- image: CommonGAssets.getAssetPath(`/vigorous.svg`),
738
- imageActive: CommonGAssets.getAssetPath(`/vigorous-active.svg`),
739
- content: t('targetHeartRate.vigorousIntensity.note'),
740
- },
741
- {
742
- value: 'maximum_intensity',
743
- label: t('targetHeartRate.maximumIntensity.title'),
744
- image: CommonGAssets.getAssetPath(`/maximum.svg`),
745
- imageActive: CommonGAssets.getAssetPath(`/maximum-active.svg`),
746
- content: t('targetHeartRate.maximumIntensity.note'),
747
- },
748
- ];
749
- useEffect(() => {
750
- const ageDate = form.getInputProps('age').value;
751
- const gender = form.getInputProps('gender').value;
752
- if (ageDate instanceof Date) {
753
- const age = (new Date().getTime() - ageDate.getTime()) / 1000;
754
- if (age >= 18 * 365 * 24 * 60 * 60)
755
- setIsAdult(true);
756
- else
757
- setIsAdult(false);
758
- const rangeByAge = rangeHeartRateByAge.find((item) => age >= item.minAge * 365 * 24 * 60 * 60 &&
759
- age < item.maxAge * 365 * 24 * 60 * 60) || rangeHeartRateByAge[0];
760
- minRange.current =
761
- gender === 'male' ? rangeByAge.rangeMale : rangeByAge.rangeFemale;
762
- }
763
- }, [form]);
764
- const commonProps = Object.assign(Object.assign({}, rest), { onSubmit: form.onSubmit(onSubmit, onError) });
765
- return (React__default.createElement(ThrFormContext.Provider, { value: {
766
- isAdult,
767
- activeValueNote,
768
- linkTool,
769
- form,
770
- submitProps,
771
- } }, formLayout === 'inline' ? (React__default.createElement(InlineForm$1, Object.assign({}, commonProps))) : (React__default.createElement(DefaultForm$1, Object.assign({}, commonProps)))));
772
- };
773
-
774
- const AvoidPregnancy = (_a) => {
775
- var { isMarryBaby, size = 24 } = _a, rest = __rest(_a, ["isMarryBaby", "size"]);
776
- const props = Object.assign({ width: size, height: size }, rest);
777
- return isMarryBaby ? (React__default.createElement("svg", Object.assign({ viewBox: "0 0 33 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
778
- React__default.createElement("path", { d: "M16.5 27.133c1.298 0 2.596-.149 3.868-.447a9.15 9.15 0 0 0 6.818-6.818 16.94 16.94 0 0 0 0-7.736 9.15 9.15 0 0 0-6.818-6.818 16.94 16.94 0 0 0-7.736 0 9.15 9.15 0 0 0-6.818 6.818A17 17 0 0 0 5.367 16a.867.867 0 0 1-1.734 0c0-1.43.165-2.862.494-4.264a10.88 10.88 0 0 1 8.109-8.11 18.7 18.7 0 0 1 8.528 0 10.88 10.88 0 0 1 8.11 8.11 18.7 18.7 0 0 1 0 8.528 10.88 10.88 0 0 1-8.11 8.11 18.7 18.7 0 0 1-4.264.493.867.867 0 0 1 0-1.734", fill: "#3E3F58" }),
779
- React__default.createElement("path", { d: "M12.5 16a4 4 0 1 1 8 0 4 4 0 0 1-8 0", fill: "#fff" }),
780
- React__default.createElement("path", { d: "M11.633 16a4.867 4.867 0 1 1 9.734 0 4.867 4.867 0 0 1-9.734 0m4.867-3.133a3.133 3.133 0 1 0 0 6.266 3.133 3.133 0 0 0 0-6.266m-4 9.8a2.667 2.667 0 1 1-5.333 0 2.667 2.667 0 0 1 5.333 0", fill: "#3E3F58" }),
781
- React__default.createElement("path", { d: "M10.305 22.195c.26.26.26.683 0 .943l-1.91 1.91c-.36.36-.562.847-.562 1.355a3.25 3.25 0 0 1-1.796 2.907l-1.239.62a.667.667 0 1 1-.596-1.193l1.238-.62a1.92 1.92 0 0 0 1.06-1.714c0-.862.342-1.688.952-2.298l1.91-1.91c.26-.26.682-.26.943 0", fill: "#3E3F58" }),
782
- React__default.createElement("path", { d: "M3.874 4.788a1 1 0 0 1 1.414-1.414l23.099 23.098a1 1 0 1 1-1.415 1.415z", fill: "#E85388" }))) : (React__default.createElement("svg", Object.assign({ viewBox: "0 0 19 18", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
783
- React__default.createElement("g", { clipPath: "url(#clip0_1530_7251)" },
784
- React__default.createElement("path", { d: "M8.983 10.87a.23.23 0 0 1 .049-.16c.08-.114.156-.229.207-.36.1-.166.168-.348.233-.528.246-.668.397-1.36.508-2.062.036-.235.076-.471.09-.71.065-.511.101-1.024.095-1.541.004-.015.011-.03.011-.044a13 13 0 0 0-.089-1.62c-.023-.196-.093-.335-.298-.406-.293-.1-.48-.316-.568-.615a2.7 2.7 0 0 0-.217-.566c-.123-.222-.29-.391-.54-.47-.057-.018-.088-.016-.106.052q-.045.165-.073.336c-.005.044 0 .058.048.058q.122.005.244.017c.127.009.21.09.202.196-.011.111-.108.179-.239.166-.065-.007-.133-.009-.198-.016-.058-.008-.077.016-.067.072q.027.165.052.332c.006.043.031.053.07.053.078 0 .147-.03.218-.057.104-.042.2-.004.242.093.04.09.004.187-.093.235-.13.063-.27.113-.411.085a.23.23 0 0 0-.235.077c-.04-.084-.106-.146-.167-.211-.46-.475-.55-1.194-.235-1.82.18-.359.45-.627.828-.776A.4.4 0 0 0 8.69.595c.33-.317.734-.477 1.172-.55.641-.11 1.25-.024 1.819.3.41.233.728.566.942.983.131.253.188.535.246.814.16.762.233 1.538.293 2.313q.108 1.411.213 2.826c.055.712.13 1.422.24 2.128.066.428.175.846.26 1.27.097.479.039.941-.24 1.358a1.2 1.2 0 0 1-.517.428c-.163.05-.327.105-.491.155-.178.052-.302-.059-.268-.239a4.6 4.6 0 0 0 .077-.72 13.6 13.6 0 0 0-.133-2.225c-.03-.196-.055-.395-.087-.591-.07-.43-.151-.857-.257-1.28l-.015-.07a16 16 0 0 0-.282-1.03c-.012-.039-.025-.079-.076-.075-.038.003-.053.034-.058.07l-.146 1.105c-.05.219-.094.437-.158.652a5.5 5.5 0 0 1-.806 1.654l-.091.113c-.308.382-.654.719-1.094.95-.122.06-.177.048-.252-.063", fill: "#1B3250" }),
785
- React__default.createElement("path", { d: "M12.304 9.435c.1.737.154 1.477.133 2.224a4.6 4.6 0 0 1-.077.72c-.034.182.09.293.268.239q.246-.075.491-.155c.053.226.126.448.17.675q.09.452.129.912c.025.302.043.603.032.905q-.015.483-.065.964a14 14 0 0 1-.299 1.707c-.02.086-.045.17-.065.255-.02.09-.068.12-.16.12L8.789 18H7.781c-.111 0-.117-.011-.13-.124a3 3 0 0 0-.361-1.121c-.132-.235-.297-.448-.415-.692a3.14 3.14 0 0 1-.324-1.521c.233.07.418.001.571-.184q.236-.281.477-.559c.07-.08.136-.164.244-.193.315-.087.631-.166.94-.262.665-.207 1.324-.43 1.917-.804.251-.159.475-.344.595-.63.237-.564.415-1.147.592-1.733.085-.28.184-.55.417-.742", fill: "#2D87F3" }),
786
- React__default.createElement("path", { d: "M12.304 9.435c-.233.194-.33.462-.413.74-.177.585-.355 1.169-.592 1.733-.12.286-.344.471-.595.63-.593.375-1.254.597-1.916.804-.312.097-.628.177-.941.262-.11.031-.177.113-.244.193q-.24.277-.477.559c-.153.184-.34.253-.571.184a.87.87 0 0 1-.44-.54.64.64 0 0 1 .045-.503 1 1 0 0 0 .094-.31.47.47 0 0 1 .392-.405c.132-.03.269-.039.404-.053a.4.4 0 0 0 .114-.024c.115-.009.21-.069.31-.12.322-.167.646-.328.966-.497q.586-.308 1.192-.571a.78.78 0 0 0 .473-.524q.09-.305.177-.608c.047-.171.113-.337.14-.514a5.5 5.5 0 0 0 .806-1.654c.064-.215.108-.433.159-.652a.63.63 0 0 1 .342-.054c.08.013.156.036.237.054.105.423.187.85.256 1.28q.039.292.082.59m-4.19-5.947a.23.23 0 0 1 .235-.076c.142.025.282-.022.411-.086.097-.047.133-.143.093-.234-.042-.095-.138-.133-.242-.093-.071.027-.14.056-.218.056-.039 0-.062-.009-.07-.053q-.024-.165-.052-.33-.017-.082.067-.074c.066.008.133.01.198.017.131.013.228-.053.239-.166.01-.105-.073-.187-.202-.196-.082-.006-.162-.015-.244-.017-.046 0-.053-.014-.047-.058.016-.115.043-.224.072-.337.017-.067.05-.069.106-.05.25.078.417.247.54.469.1.178.16.371.217.566.087.298.273.515.568.615.206.07.275.21.298.406.066.539.091 1.08.09 1.62 0 .014-.008.029-.011.043-.272-.016-.525.075-.783.133a1.4 1.4 0 0 1-.513.031.5.5 0 0 1-.433-.36 2.3 2.3 0 0 1-.091-.46c.154-.024.309-.048.451-.124.1-.055.135-.148.09-.242a.18.18 0 0 0-.24-.084 1 1 0 0 1-.376.087 1.3 1.3 0 0 0-.326-.482c-.096-.093-.096-.215-.013-.319.06-.07.126-.134.186-.202", fill: "#FCCAAF" }),
787
- React__default.createElement("path", { d: "M10.069 7.052c-.013.239-.053.473-.09.71-.11.7-.261 1.394-.507 2.062-.066.18-.135.362-.233.528a.46.46 0 0 0-.235-.4c-.328-.21-.544-.508-.599-.898a.86.86 0 0 1 .242-.742c.237-.244.504-.459.761-.683.188-.162.37-.327.555-.493.033-.031.064-.064.106-.084m.349 2.818c-.025.176-.093.341-.14.513-.057.204-.119.404-.177.608a.78.78 0 0 1-.473.524q-.607.261-1.192.571c-.32.17-.646.33-.966.497-.099.051-.195.111-.31.12.066-.15.177-.266.277-.387.273-.334.615-.596.932-.881q.306-.28.611-.565c.077.11.13.124.251.06.439-.229.787-.567 1.094-.95z", fill: "#2D87F3" }),
788
- React__default.createElement("path", { d: "M8.271 4.49a1 1 0 0 0 .377-.088.183.183 0 0 1 .239.084c.047.095.01.187-.09.242-.14.076-.296.1-.45.124z", fill: "#FF6F4D" }),
789
- React__default.createElement("path", { d: "M11.96 7.563c-.079-.018-.157-.041-.237-.054a.65.65 0 0 0-.342.054l.146-1.104c.005-.037.02-.068.058-.071.05-.006.063.034.076.074q.159.511.282 1.03.01.036.017.071", fill: "#2D87F3" }),
790
- React__default.createElement("path", { d: "M9.834 1.004a7.996 7.996 0 1 0 0 15.992 7.996 7.996 0 0 0 0-15.992M9.465 2.26c1.606-.09 3.191.4 4.467 1.378a.282.282 0 0 1 .03.424l-9.066 9.066a.283.283 0 0 1-.424-.03A6.749 6.749 0 0 1 9.465 2.26m.369 13.49a6.72 6.72 0 0 1-4.016-1.325.284.284 0 0 1-.032-.426l9.046-9.047a.283.283 0 0 1 .427.032A6.75 6.75 0 0 1 9.834 15.75", fill: "#F44D2C" }),
791
- React__default.createElement("path", { d: "M10.159 5.509c.005.517 2.997-1.054 2.997-1.054s-.133-1.55-.293-2.313c-.058-.279-.114-.56-.245-.814a2.35 2.35 0 0 0-.943-.983c-.568-.324-1.178-.41-1.818-.3-.44.073-.843.233-1.173.55a.4.4 0 0 1-.147.085c-.379.15-.648.417-.828.776-.315.626-.224 1.345.235 1.82.062.065.127.127.167.21a.23.23 0 0 1 .235-.076c.142.028.282-.022.411-.085.097-.048.133-.144.093-.235-.042-.097-.138-.135-.242-.093-.071.027-.14.057-.218.057-.039 0-.064-.01-.07-.053q-.024-.165-.052-.332c-.01-.056.009-.08.067-.072.066.007.133.009.198.016.131.013.228-.055.239-.166.009-.105-.075-.187-.202-.196h-.007q-.118-.013-.237-.017c-.047 0-.053-.014-.047-.058.016-.114.043-.225.072-.336.019-.068.05-.07.106-.051.25.078.417.247.54.47.099.178.16.37.217.565.087.299.275.515.568.615.206.071.275.21.298.406.066.539.091 1.078.09 1.62z", fill: "#1B3250" }),
792
- React__default.createElement("path", { d: "M8.107 3.488a.23.23 0 0 1 .235-.076c.142.025.282-.022.411-.086.097-.047.133-.143.093-.234-.042-.095-.138-.133-.242-.093-.07.027-.14.056-.218.056-.038 0-.062-.009-.07-.053q-.024-.165-.052-.33-.017-.082.067-.074c.066.008.133.01.199.017.13.013.227-.053.238-.166.01-.105-.073-.187-.202-.196-.082-.006-.162-.015-.244-.017-.045 0-.053-.014-.047-.058.016-.115.043-.224.073-.337.016-.067.049-.069.105-.05.25.078.417.247.54.469.1.178.16.371.217.566.088.298.273.515.568.615.206.07.275.21.298.406.066.539.091 1.08.09 1.62 0 .014-.008.029-.011.043-.271-.016-.524.075-.783.133a1.4 1.4 0 0 1-.513.031.5.5 0 0 1-.433-.36 2.3 2.3 0 0 1-.091-.46c.154-.024.31-.048.451-.124.1-.055.135-.148.09-.242a.18.18 0 0 0-.24-.084 1 1 0 0 1-.376.087 1.3 1.3 0 0 0-.326-.482c-.096-.093-.096-.215-.012-.319.06-.07.125-.134.185-.202", fill: "#FCCAAF" }),
793
- React__default.createElement("path", { d: "M8.265 4.49a1 1 0 0 0 .376-.088.183.183 0 0 1 .239.084c.047.095.01.187-.09.242-.14.076-.296.1-.45.124z", fill: "#FF6F4D" })),
794
- React__default.createElement("defs", null,
795
- React__default.createElement("clipPath", { id: "clip0_1530_7251" },
796
- React__default.createElement("path", { fill: "#fff", d: "M.834 0h18v18h-18z" })))));
797
- };
798
-
799
- const TryConceive = (_a) => {
800
- var { isMarryBaby, size = 24 } = _a, rest = __rest(_a, ["isMarryBaby", "size"]);
801
- const props = Object.assign({ width: size, height: size }, rest);
802
- return isMarryBaby ? (React__default.createElement("svg", Object.assign({ viewBox: "0 0 33 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
803
- React__default.createElement("path", { d: "M14.018 9.155c-1.422 1.066-1.777 1.777-1.067 2.843.57.853 2.133 2.488 3.2 3.554-.712 2.133-6.753 1.422-6.753 1.422l-.711 1.421-1.067 3.199c-1.066 0-3.198.142-3.198.71 0 .712 2.843 2.844 3.554 2.844.569 0 1.658-2.132 2.132-3.199 1.54 1.777 5.474 4.905 8.885 3.199 4.265-2.132 6.398-5.331 5.687-7.819-.274-.959-.284-1.495-.132-1.813a4.62 4.62 0 0 0 3.438-2.3c.715-1.108.78-2.417.397-3.652-.41-1.663-1.15-2.955-2.637-3.252-3.423-.685-6.397 1.016-6.397 4.62a4.6 4.6 0 0 0 .971 2.834c-1.184.316-2.414-.236-6.302-4.611", fill: "#fff" }),
804
- React__default.createElement("path", { d: "M29.3 10.825A5.235 5.235 0 0 0 24.077 5.6c-2.876 0-5.245 2.348-5.245 5.224 0 .36.275.634.634.634.36 0 .635-.275.635-.634 0-2.179 1.776-3.955 3.976-3.955s3.954 1.776 3.954 3.955a3.947 3.947 0 0 1-3.531 3.933.8.8 0 0 0-.381-.021c-.042.021-.085.021-.106.042a.64.64 0 0 0-.57.635c0 .254.147.465.359.57.105.487.148.995.148 1.502a7.175 7.175 0 0 1-7.17 7.17 7.22 7.22 0 0 1-5.773-2.898l-.02-.021c.507-.317 1.902-.17 2.41-.106a.637.637 0 0 0 .698-.57.637.637 0 0 0-.571-.699c-1.184-.148-3.384-.38-3.891 1.164-.064.19-.127.401-.19.592-.318.994-.74 2.347-1.27 2.58-.634.063-2.918-1.587-3.172-2.284.212-.275 1.248-.444 2.623 0 .169.063.36.042.507-.064s.275-.232.296-.423c.571-2.707.74-3.278.74-3.299v-.021c.212-.888.867-.973 2.538-.93 1.523.042 3.384.084 4.674-1.46a7.8 7.8 0 0 0 3.235.994h.043a.643.643 0 0 0 .634-.592c.021-.36-.232-.655-.57-.677-4.4-.36-6.028-4.652-6.091-4.842 0 0 0-.022-.022-.022-.274-.634-.063-1.036.19-1.163.17-.105.445-.105.614.17 1.248 2.008 2.432 3.32 3.574 4.018.021 0 .042.02.042.02.677.34 2.052.762 3.596-.295.296-.19.359-.592.169-.889-.19-.296-.592-.36-.889-.169-.951.635-1.776.487-2.305.233-.93-.571-1.988-1.777-3.108-3.574-.508-.783-1.48-1.036-2.284-.613-.762.401-1.312 1.438-.762 2.77.085.254.93 2.368 2.898 3.934a2.7 2.7 0 0 1-.614.486c-.02 0-.02 0-.042-.021-8.205-2.517-8.86-8.586-8.924-9.77a.61.61 0 0 0-.656-.614.63.63 0 0 0-.592.656c.042 1.226.655 7.084 7.74 10.172h-.508c-1.48-.042-3.34-.085-3.806 1.882-.021.106-.17.677-.613 2.707-1.587-.36-3.194-.127-3.574 1.036-.19.55.126 1.206.972 2.01.571.549 2.263 1.902 3.447 1.902.149 0 .297-.02.423-.063.952-.36 1.438-1.544 1.861-2.813a8.48 8.48 0 0 0 6.324 2.855c4.652 0 8.438-3.785 8.438-8.438 0-.507-.043-1.015-.148-1.522a5.264 5.264 0 0 0 4.23-5.16", fill: "#3E3F58" }),
805
- React__default.createElement("rect", { x: "23.005", y: "8.444", width: "1.942", height: "1.422", rx: ".711", transform: "rotate(34.869 23.005 8.444)", fill: "#FB8C00" }))) : (React__default.createElement("svg", Object.assign({ viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
806
- React__default.createElement("path", { d: "M13.996 8.62v3.221c1.054.035 1.682-.705 1.845-1.467.209-.977-.444-2.041-1.845-1.754", fill: "#FEAA96" }),
807
- React__default.createElement("path", { d: "M14.055 10.67a.21.21 0 0 1-.2-.277c.166-.508.594-.69.92-.644a.21.21 0 1 1-.059.418c-.163-.023-.37.079-.461.358a.21.21 0 0 1-.2.145", fill: "#FF886C" }),
808
- React__default.createElement("path", { d: "M2.16 10.374c.162.762.79 1.502 1.844 1.467V8.62c-1.4-.287-2.054.777-1.845 1.754", fill: "#FEAA96" }),
809
- React__default.createElement("path", { d: "M3.98 10.67a.21.21 0 0 1-.2-.145c-.093-.28-.299-.381-.462-.358a.21.21 0 0 1-.21-.102.21.21 0 0 1 .152-.316c.326-.046.753.136.92.644a.21.21 0 0 1-.2.277", fill: "#FF886C" }),
810
- React__default.createElement("path", { d: "M9 15.831c1.325 0 3.365-.561 4.534-2.292 1.057-1.563.436-4.144.462-5.169.053-2.079-1.447-4.78-4.996-4.78s-5.05 2.7-4.996 4.78c.026 1.025-.595 3.606.461 5.169 1.17 1.73 3.21 2.292 4.535 2.292", fill: "#FECCBF" }),
811
- React__default.createElement("path", { d: "M6.881 10.535a.56.56 0 1 0 0-1.121.56.56 0 0 0 0 1.121", fill: "#A35961" }),
812
- React__default.createElement("path", { d: "M7.114 9.777a.21.21 0 0 1-.188-.116c-.049-.097-.205-.122-.27-.129-.225-.022-.44.056-.477.104a.211.211 0 1 1-.347-.241c.149-.215.53-.306.831-.285.306.021.533.15.64.362a.21.21 0 0 1-.189.305", fill: "#8C2F39" }),
813
- React__default.createElement("path", { d: "M11.119 10.535a.56.56 0 1 0 0-1.121.56.56 0 0 0 0 1.121", fill: "#A35961" }),
814
- React__default.createElement("path", { d: "M9 13.329c.777 0 .994-.61 1.046-.92.031-.185-.132-.35-.34-.35H8.293c-.208 0-.371.165-.34.35.052.31.27.92 1.047.92", fill: "#D84023" }),
815
- React__default.createElement("path", { d: "M10.763 7.94a.2.2 0 0 1-.107-.03.33.33 0 0 0-.18-.029.21.21 0 1 1-.07-.416.74.74 0 0 1 .464.081.211.211 0 0 1-.107.393m-3.526 0a.21.21 0 0 1-.107-.393.74.74 0 0 1 .463-.08.211.211 0 1 1-.07.415.3.3 0 0 0-.18.029.2.2 0 0 1-.106.029", fill: "#FEAA96" }),
816
- React__default.createElement("path", { d: "M10.887 9.777a.21.21 0 0 1-.189-.305c.107-.212.334-.34.64-.362.3-.021.682.07.83.285a.211.211 0 0 1-.346.24c-.038-.048-.252-.125-.477-.103-.065.007-.221.032-.27.129a.21.21 0 0 1-.188.116", fill: "#8C2F39" }),
817
- React__default.createElement("path", { d: "M9.284 11.02a.21.21 0 0 1-.22-.15.07.07 0 0 0-.063-.05H9a.07.07 0 0 0-.064.05.21.21 0 0 1-.22.15.22.22 0 0 1-.192-.244c.018-.221.213-.379.476-.379.264 0 .458.158.476.38a.22.22 0 0 1-.192.244", fill: "#FEAA96" }),
818
- React__default.createElement("path", { d: "M9.55 12.06h-1.1l-.003.054a.552.552 0 1 0 1.102-.055m2.041-.774-.29.53a.1.1 0 0 1-.041.04l-.53.29a.1.1 0 0 0-.053.09.1.1 0 0 0 .053.09l.53.29q.026.015.04.04l.29.53a.103.103 0 0 0 .18 0l.29-.53a.1.1 0 0 1 .041-.04l.53-.29a.103.103 0 0 0 0-.18l-.53-.29a.1.1 0 0 1-.04-.04l-.29-.53a.1.1 0 0 0-.143-.039.1.1 0 0 0-.038.04", fill: "#fff" }),
819
- React__default.createElement("path", { d: "M11.055 2.193c-.147-.422-.524-.698-1.01-.738a.9.9 0 0 0-.535.154c-.206.155-.37.358-.478.592a.036.036 0 0 1-.066 0 1.55 1.55 0 0 0-.475-.592.9.9 0 0 0-.537-.154c-.485.04-.862.316-1.008.739a1.03 1.03 0 0 0 .259 1.09c.479.447 1.156.518 1.543.518h.502c.387 0 1.066-.07 1.545-.517a1.03 1.03 0 0 0 .26-1.092M8.79 3.243a.13.13 0 0 1-.134.135c-.316-.012-.821-.084-1.163-.402a.61.61 0 0 1-.148-.644.66.66 0 0 1 .438-.417c.242-.078.404-.006.456.033.446.33.539.932.551 1.295m1.718-.267c-.342.319-.847.39-1.163.402a.13.13 0 0 1-.135-.135c.013-.362.105-.964.551-1.295a.47.47 0 0 1 .25-.073c.318.027.554.193.645.457a.61.61 0 0 1-.149.644", fill: "#2D87F3" }),
820
- React__default.createElement("path", { d: "M8.998 3.338a.21.21 0 0 1 .122.383l-.04.028c-.16.118-.957.76-.991 1.758-.027.78.403 1.132.814 1.202.367.062.831-.096.985-.59a.415.415 0 0 0-.211-.52c-.136-.069-.32-.076-.425.064a.211.211 0 0 1-.337-.253c.215-.287.607-.363.954-.186a.836.836 0 0 1 .422 1.02 1.28 1.28 0 0 1-1.458.88c-.56-.095-1.202-.58-1.166-1.631.046-1.334 1.17-2.093 1.222-2.125a.2.2 0 0 1 .109-.03", fill: "#BA8288" })));
821
- };
822
-
823
- const OvulationFormContext = createContext({});
824
-
825
- const DefaultLayout$1 = (_a) => {
826
- var props = __rest(_a, []);
827
- const { t } = useTranslations();
828
- const { currentUrl, submitProps, form, calculatingMethods, isMobile } = useContext(OvulationFormContext);
829
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
830
- React__default.createElement(HealthToolFormWrapper.Control, null,
831
- React__default.createElement(HealthToolFormWrapper.ChipGroup, Object.assign({ data: calculatingMethods, label: t('dueDatePage.calculationMethod'), isMobile: isMobile }, form.getInputProps('calculatorType')))),
832
- React__default.createElement(DatePicker, Object.assign({ placeholder: "DD/MM/YYYY", popoverProps: {
833
- withinPortal: true,
834
- }, label: t('dueDatePage.lastPeriod.lastPeriodLabel'), maxDate: new Date() }, form.getInputProps('lastPeriodDate'))),
835
- React__default.createElement(Input.Number, Object.assign({ label: `${t('ovulationPage.cycleLength')} (${t('ovulationPage.dayUnit')})`, min: 21, max: 45, defaultValue: 1 }, form.getInputProps('cycleLength'))),
836
- React__default.createElement(Input.Number, Object.assign({ label: `${t('ovulationPage.periodDuration')} (${t('ovulationPage.dayUnit')})`, min: 1, max: 15, defaultValue: 1 }, form.getInputProps('periodLength'))),
837
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", className: "due-date-calculate-button", dataEventCategory: "Health Tool", dataEventAction: "Ovulation", dataEventLabel: currentUrl }, submitProps), t('dueDatePage.lastPeriod.calculate'))));
838
- };
839
-
840
- const InlineLayout$1 = (_a) => {
841
- var props = __rest(_a, []);
842
- const { t } = useTranslations();
843
- const { currentUrl, submitProps, form, calculatingMethods } = useContext(OvulationFormContext);
844
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
845
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('dueDatePage.calculationMethod'), direction: "column", width: '100%' },
846
- React__default.createElement(HealthToolFormWrapper.ChipGroup, Object.assign({ data: calculatingMethods }, form.getInputProps('calculatorType')))),
847
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('dueDatePage.lastPeriod.lastPeriodLabel') },
848
- React__default.createElement(DatePicker, Object.assign({ placeholder: "DD/MM/YYYY", popoverProps: {
849
- withinPortal: true,
850
- }, maxDate: new Date() }, form.getInputProps('lastPeriodDate')))),
851
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
852
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('ovulationPage.cycleLength') + ' ' + t('ovulationPage.dayUnit') },
853
- React__default.createElement(Input.Number, Object.assign({ min: 21, max: 45, defaultValue: 1 }, form.getInputProps('cycleLength'), { error: null }))),
854
- form.errors.cycleLength && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.cycleLength))),
855
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
856
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('ovulationPage.periodDuration') + ' ' + t('ovulationPage.dayUnit') },
857
- React__default.createElement(Input.Number, Object.assign({ min: 1, max: 15, defaultValue: 1 }, form.getInputProps('periodLength'), { error: null }))),
858
- form.errors.periodLength && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.periodLength))),
859
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", className: "due-date-calculate-button", dataEventCategory: "Health Tool", dataEventAction: "Ovulation", dataEventLabel: currentUrl }, submitProps), t('dueDatePage.lastPeriod.calculate'))));
860
- };
861
-
862
- const MbLayout$2 = (_a) => {
863
- var props = __rest(_a, []);
864
- const { t } = useTranslations();
865
- const { currentUrl, submitProps, form, calculatingMethods } = useContext(OvulationFormContext);
866
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
867
- React__default.createElement(HealthToolFormWrapper.Control, null,
868
- React__default.createElement(Input.Wrapper, { label: React__default.createElement(Text, { size: "p4", sx: { fontWeight: 'normal' } }, t('dueDatePage.calculationMethod')) },
869
- React__default.createElement(HealthToolFormWrapper.ChipGroup, Object.assign({ data: calculatingMethods }, form.getInputProps('calculatorType'))))),
870
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('dueDatePage.lastPeriod.lastPeriodLabel'), rightSection: React__default.createElement(CalendarMB, null) },
871
- React__default.createElement(DatePicker, Object.assign({ placeholder: "DD/MM/YYYY", popoverProps: {
872
- withinPortal: true,
873
- }, maxDate: new Date(), rightSection: null }, form.getInputProps('lastPeriodDate')))),
874
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('ovulationPage.cycleLength'), rightSection: t('ovulationPage.dayUnit') },
875
- React__default.createElement(Input.Number, Object.assign({ min: 21, max: 45, defaultValue: 1 }, form.getInputProps('cycleLength')))),
876
- form.errors.cycleLength && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.cycleLength)),
877
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('ovulationPage.periodDuration'), rightSection: t('ovulationPage.dayUnit') },
878
- React__default.createElement(Input.Number, Object.assign({ min: 1, max: 15, defaultValue: 1 }, form.getInputProps('periodLength')))),
879
- form.errors.periodLength && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.periodLength)),
880
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", className: "due-date-calculate-button", dataEventCategory: "Health Tool", dataEventAction: "Ovulation", dataEventLabel: currentUrl }, submitProps), t('dueDatePage.lastPeriod.calculate'))));
881
- };
882
-
883
- var OvulationCalculatorType$1;
884
- (function (OvulationCalculatorType) {
885
- OvulationCalculatorType[OvulationCalculatorType["trackPeriod"] = 0] = "trackPeriod";
886
- OvulationCalculatorType[OvulationCalculatorType["conceive"] = 1] = "conceive";
887
- OvulationCalculatorType[OvulationCalculatorType["avoidPregnancy"] = 2] = "avoidPregnancy";
888
- })(OvulationCalculatorType$1 || (OvulationCalculatorType$1 = {}));
889
- const OvulationForm = (_a) => {
890
- var { formLayout = 'default', submitProps, currentUrl, isMobile, onSubmit } = _a, props = __rest(_a, ["formLayout", "submitProps", "currentUrl", "isMobile", "onSubmit"]);
891
- const theme = useMantineTheme();
892
- const { t } = useTranslations();
893
- const isMarryBaby = theme.other.template === 'mb';
894
- const form = useForm({
895
- initialValues: {
896
- calculatorType: String(OvulationCalculatorType$1.trackPeriod),
897
- periodLength: 7,
898
- cycleLength: 28,
899
- lastPeriodDate: new Date(),
900
- },
901
- validate: {
902
- periodLength: isNotEmpty(t('validation.error.requiredField')),
903
- cycleLength: isNotEmpty(t('validation.error.requiredField')),
904
- },
905
- });
906
- const commonProps = Object.assign({ onSubmit: form.onSubmit(onSubmit) }, props);
907
- const calculatingMethods = [
908
- {
909
- label: t('ovulationPage.trackPeriod'),
910
- value: OvulationCalculatorType$1.trackPeriod,
911
- icon: React__default.createElement(LastPeriod, null),
912
- },
913
- {
914
- label: t('ovulationPage.conceive'),
915
- value: OvulationCalculatorType$1.conceive,
916
- icon: React__default.createElement(TryConceive, null),
917
- },
918
- {
919
- label: t('ovulationPage.avoidPregnancy'),
920
- value: OvulationCalculatorType$1.avoidPregnancy,
921
- icon: React__default.createElement(AvoidPregnancy, null),
922
- },
923
- ];
924
- return (React__default.createElement(OvulationFormContext.Provider, { value: { submitProps, currentUrl, form, isMobile, calculatingMethods } }, formLayout === 'inline' ? (React__default.createElement(InlineLayout$1, Object.assign({}, commonProps))) : isMarryBaby ? (React__default.createElement(MbLayout$2, Object.assign({ formLayout: formLayout }, commonProps))) : (React__default.createElement(DefaultLayout$1, Object.assign({}, commonProps)))));
925
- };
926
-
927
- const BabyVaccineFormContext = createContext({});
928
-
929
- const DefaultLayout = (_a) => {
930
- var props = __rest(_a, []);
931
- const { t } = useTranslations();
932
- const { currentUrl, submitProps, form } = useContext(BabyVaccineFormContext);
933
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
934
- React__default.createElement(GenderOptionControl, Object.assign({ isBaby: true }, form.getInputProps('gender'))),
935
- React__default.createElement(DatePicker, Object.assign({ label: t('babyGrowth.input.birthday'), placeholder: 'DD/MM/YYYY', popoverProps: {
936
- withinPortal: true,
937
- }, maxDate: new Date() }, form.getInputProps('age'))),
938
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", className: "due-date-calculate-button", dataEventCategory: "Health Tool", dataEventAction: "Vaccination Tool", dataEventLabel: currentUrl }, submitProps), t('dueDatePage.lastPeriod.calculate'))));
939
- };
940
-
941
- const InlineLayout = (_a) => {
942
- var props = __rest(_a, []);
943
- const { t } = useTranslations();
944
- const { currentUrl, submitProps, form } = useContext(BabyVaccineFormContext);
945
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
946
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
947
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('tools.selectBabyGender'), width: 'none' },
948
- React__default.createElement(GenderOptionControl, Object.assign({ isBaby: true, hideLabel: true, type: "radio" }, form.getInputProps('gender')))),
949
- form.errors.gender && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.gender))),
950
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
951
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('babyGrowth.input.birthday') },
952
- React__default.createElement(DatePicker, Object.assign({ placeholder: 'DD/MM/YYYY', popoverProps: {
953
- withinPortal: true,
954
- }, maxDate: new Date() }, form.getInputProps('age'), { error: null }))),
955
- form.errors.age && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.gender))),
956
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", className: "due-date-calculate-button", dataEventCategory: "Health Tool", dataEventAction: "Vaccination Tool", dataEventLabel: currentUrl }, submitProps), t('dueDatePage.lastPeriod.calculate'))));
957
- };
958
-
959
- const MbLayout$1 = (_a) => {
960
- var props = __rest(_a, []);
961
- const { t } = useTranslations();
962
- const { currentUrl, submitProps, form } = useContext(BabyVaccineFormContext);
963
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
964
- React__default.createElement(HealthToolFormWrapper.Control, null,
965
- React__default.createElement(GenderOptionControl, Object.assign({ isBaby: true }, form.getInputProps('gender'), { error: null }))),
966
- form.errors.gender && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.gender)),
967
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
968
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('babyGrowth.input.birthday'), rightSection: React__default.createElement(CalendarMB, null) },
969
- React__default.createElement(DatePicker, Object.assign({ placeholder: 'DD/MM/YYYY', popoverProps: {
970
- withinPortal: true,
971
- }, maxDate: new Date(), rightSection: null }, form.getInputProps('age'), { error: null }))),
972
- form.errors.age && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.gender))),
973
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", className: "due-date-calculate-button", dataEventCategory: "Health Tool", dataEventAction: "Vaccination Tool", dataEventLabel: currentUrl }, submitProps), t('dueDatePage.lastPeriod.calculate'))));
974
- };
975
-
976
- var OvulationCalculatorType;
977
- (function (OvulationCalculatorType) {
978
- OvulationCalculatorType[OvulationCalculatorType["trackPeriod"] = 0] = "trackPeriod";
979
- OvulationCalculatorType[OvulationCalculatorType["conceive"] = 1] = "conceive";
980
- OvulationCalculatorType[OvulationCalculatorType["avoidPregnancy"] = 2] = "avoidPregnancy";
981
- })(OvulationCalculatorType || (OvulationCalculatorType = {}));
982
- const BabyVaccineForm = (_a) => {
983
- var { formLayout = 'default', submitProps, currentUrl, onSubmit } = _a, props = __rest(_a, ["formLayout", "submitProps", "currentUrl", "onSubmit"]);
984
- const { t } = useTranslations();
985
- const theme = useMantineTheme();
986
- const isMarryBaby = theme.other.template === 'mb';
987
- const form = useForm({
988
- validate: {
989
- gender: isNotEmpty(t('validation.error.requiredField')),
990
- age: isNotEmpty(t('validation.error.requiredField')),
991
- },
992
- });
993
- const commonProps = Object.assign({ onSubmit: form.onSubmit(onSubmit) }, props);
994
- return (React__default.createElement(BabyVaccineFormContext.Provider, { value: { submitProps, currentUrl, form } }, formLayout === 'inline' ? (React__default.createElement(InlineLayout, Object.assign({}, commonProps))) : isMarryBaby ? (React__default.createElement(MbLayout$1, Object.assign({ formLayout: formLayout }, commonProps))) : (React__default.createElement(DefaultLayout, Object.assign({}, commonProps)))));
995
- };
996
-
997
- const PWGFormContext = createContext({});
998
-
999
- const DefaultForm = (_a) => {
1000
- var props = __rest(_a, []);
1001
- const { t, locale } = useTranslations();
1002
- const { linkTool, form, submitProps } = useContext(PWGFormContext);
1003
- const theme = useMantineTheme();
1004
- const isMarryBaby = theme.other.template === 'mb';
1005
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
1006
- React__default.createElement(Input.Number, Object.assign({ label: t('pregnancyWeightGain.weekInput'), min: INPUT_RANGE.pregnantWeek.min, max: INPUT_RANGE.pregnantWeek.max, placeholder: `${INPUT_RANGE.pregnantWeek.min} - ${INPUT_RANGE.pregnantWeek.max}` }, form.getInputProps('pregnantWeek'))),
1007
- React__default.createElement(Input.Number, Object.assign({ label: t('pregnancyWeightGain.weightBeforeInput'), min: INPUT_RANGE.weight.min, max: INPUT_RANGE.weight.max, placeholder: t('tools.inputPlaceholder', {
1008
- content: '50',
1009
- }) }, form.getInputProps('lastWeight'))),
1010
- React__default.createElement(Input.Number, Object.assign({ label: t('pregnancyWeightGain.heightInput'), min: INPUT_RANGE.height.min, max: INPUT_RANGE.height.max, placeholder: t('tools.inputPlaceholder', {
1011
- content: '160',
1012
- }) }, form.getInputProps('height'))),
1013
- React__default.createElement(Input.Number, Object.assign({ label: t('pregnancyWeightGain.weightInput'), min: INPUT_RANGE.weight.min, max: INPUT_RANGE.weight.max, placeholder: t('tools.inputPlaceholder', {
1014
- content: '50',
1015
- }) }, form.getInputProps('weight'))),
1016
- React__default.createElement(HealthToolFormWrapper.Switching, Object.assign({ label: t('pregnancyWeightGain.havingTwins') }, form.getInputProps('hasTwin'))),
1017
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", dataEventCategory: "Health Tool", dataEventAction: "Embedded Pregnancy Weight Gain", dataEventLabel: `https://${domainLocales[isMarryBaby ? 'vi-VN_MB' : locale]}/${linkTool}`, className: "due-date-calculate-button" }, submitProps), t('dueDatePage.lastPeriod.calculate'))));
1018
- };
1019
-
1020
- const InlineForm = (_a) => {
1021
- var props = __rest(_a, []);
1022
- const { t, locale } = useTranslations();
1023
- const { linkTool, form, submitProps } = useContext(PWGFormContext);
1024
- const theme = useMantineTheme();
1025
- const isMarryBaby = theme.other.template === 'mb';
1026
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
1027
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('pregnancyWeightGain.weekInput') },
1028
- React__default.createElement(Input.Number, Object.assign({ min: INPUT_RANGE.pregnantWeek.min, max: INPUT_RANGE.pregnantWeek.max, placeholder: `${INPUT_RANGE.pregnantWeek.min} - ${INPUT_RANGE.pregnantWeek.max}`, rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('pwgForm.week')) }, form.getInputProps('pregnantWeek')))),
1029
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('pregnancyWeightGain.weightBeforeInput') },
1030
- React__default.createElement(Input.Number, Object.assign({}, form.getInputProps('lastWeight'), { min: INPUT_RANGE.weight.min, max: INPUT_RANGE.weight.max, placeholder: t('tools.inputPlaceholder', {
1031
- content: '50',
1032
- }), rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.kg')) }))),
1033
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('pregnancyWeightGain.heightInput') },
1034
- React__default.createElement(Input.Number, Object.assign({}, form.getInputProps('height'), { min: INPUT_RANGE.height.min, max: INPUT_RANGE.height.max, placeholder: t('tools.inputPlaceholder', {
1035
- content: '160',
1036
- }), rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.cm')) }))),
1037
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('pregnancyWeightGain.weightInput') },
1038
- React__default.createElement(Input.Number, Object.assign({}, form.getInputProps('weight'), { min: INPUT_RANGE.weight.min, max: INPUT_RANGE.weight.max, placeholder: t('tools.inputPlaceholder', {
1039
- content: '50',
1040
- }), rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.kg')) }))),
1041
- React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('pregnancyWeightGain.havingTwins'), width: 'none' },
1042
- React__default.createElement(HealthToolFormWrapper.Switching, Object.assign({}, form.getInputProps('hasTwin')))),
1043
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", dataEventCategory: "Health Tool", dataEventAction: "Embedded Pregnancy Weight Gain", dataEventLabel: `https://${domainLocales[isMarryBaby ? 'vi-VN_MB' : locale]}/${linkTool}`, className: "due-date-calculate-button" }, submitProps), t('dueDatePage.lastPeriod.calculate'))));
1044
- };
1045
-
1046
- const MbLayout = (_a) => {
1047
- var props = __rest(_a, []);
1048
- const { t, locale } = useTranslations();
1049
- const { linkTool, form, submitProps } = useContext(PWGFormContext);
1050
- const theme = useMantineTheme();
1051
- const isMarryBaby = theme.other.template === 'mb';
1052
- return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline" }, props),
1053
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
1054
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('pregnancyWeightGain.weekInput'), rightSection: t('pregnancy.week') },
1055
- React__default.createElement(Input.Number, Object.assign({ min: INPUT_RANGE.pregnantWeek.min, max: INPUT_RANGE.pregnantWeek.max, placeholder: `${INPUT_RANGE.pregnantWeek.min} - ${INPUT_RANGE.pregnantWeek.max}` }, form.getInputProps('pregnantWeek')))),
1056
- form.errors.pregnantWeek && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.pregnantWeek))),
1057
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
1058
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('pregnancyWeightGain.weightBeforeInput'), rightSection: "kg" },
1059
- React__default.createElement(Input.Number, Object.assign({ min: INPUT_RANGE.weight.min, max: INPUT_RANGE.weight.max }, form.getInputProps('lastWeight'), { placeholder: t('tools.inputPlaceholder', {
1060
- content: '50',
1061
- }) }))),
1062
- form.errors.lastWeight && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.lastWeight))),
1063
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
1064
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('pregnancyWeightGain.heightInput'), rightSection: "cm" },
1065
- React__default.createElement(Input.Number, Object.assign({ min: INPUT_RANGE.height.min, max: INPUT_RANGE.height.max }, form.getInputProps('height'), { placeholder: t('tools.inputPlaceholder', {
1066
- content: '160',
1067
- }) }))),
1068
- form.errors.height && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.height))),
1069
- React__default.createElement(HealthToolFormWrapper.FormRow, null,
1070
- React__default.createElement(HealthToolFormWrapper.BorderBoxControl, { label: t('pregnancyWeightGain.weightInput'), rightSection: "kg" },
1071
- React__default.createElement(Input.Number, Object.assign({ min: INPUT_RANGE.weight.min, max: INPUT_RANGE.weight.max }, form.getInputProps('weight'), { placeholder: t('tools.inputPlaceholder', {
1072
- content: '50',
1073
- }) }))),
1074
- form.errors.weight && (React__default.createElement(HealthToolFormWrapper.Error, null, form.errors.weight))),
1075
- React__default.createElement(HealthToolFormWrapper.Switching, Object.assign({ label: t('pregnancyWeightGain.havingTwins') }, form.getInputProps('hasTwin'))),
1076
- React__default.createElement(HealthToolFormWrapper.Submit, Object.assign({ type: "submit", dataEventCategory: "Health Tool", dataEventAction: "Embedded Pregnancy Weight Gain", dataEventLabel: `https://${domainLocales[isMarryBaby ? 'vi-VN_MB' : locale]}/${linkTool}`, className: "due-date-calculate-button" }, submitProps), t('dueDatePage.lastPeriod.calculate'))));
1077
- };
1078
-
1079
- const PWGForm = (_a) => {
1080
- var { formLayout = 'default', submitProps, onSubmit } = _a, rest = __rest(_a, ["formLayout", "submitProps", "onSubmit"]);
1081
- const { t, locale } = useTranslations();
1082
- const theme = useMantineTheme();
1083
- const isMarryBaby = theme.other.template === 'mb';
1084
- const form = useForm({
1085
- validate: {
1086
- pregnantWeek: isNotEmpty(t('validation.error.requiredField')),
1087
- height: isNotEmpty(t('validation.error.requiredField')),
1088
- weight: (value, values) => {
1089
- return !value
1090
- ? t('validation.error.requiredField')
1091
- : Number(value) >= Number(values.lastWeight)
1092
- ? null
1093
- : t('pregnancyWeightGain.weightInput.error');
1094
- },
1095
- lastWeight: (value, values) => {
1096
- return !value
1097
- ? t('validation.error.requiredField')
1098
- : Number(value) < Number(values.weight)
1099
- ? null
1100
- : t('pregnancyWeightGain.weightInput.error');
1101
- },
1102
- },
1103
- });
1104
- const { getHealthToolLink } = useHealthToolsCache(locale);
1105
- const linkTool = useMemo(() => getHealthToolLink(HEALTH_TOOL_TYPE.PWG), [getHealthToolLink]);
1106
- const commonProps = Object.assign({ onSubmit: form.onSubmit(onSubmit) }, rest);
1107
- return (React__default.createElement(PWGFormContext.Provider, { value: {
1108
- linkTool,
1109
- form,
1110
- submitProps,
1111
- } }, formLayout === 'inline' ? (React__default.createElement(InlineForm, Object.assign({}, commonProps))) : isMarryBaby ? (React__default.createElement(MbLayout, Object.assign({ formLayout: formLayout }, commonProps))) : (React__default.createElement(DefaultForm, Object.assign({}, commonProps)))));
1112
- };
1113
-
1114
- export { BmiForm as B, DueDateForm as D, OvulationForm as O, PWGForm as P, ThrForm as T, BabyPoopForm as a, BabyVaccineForm as b };