@hhgtech/hhg-components 1.29.37 → 1.29.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/build/{WhatsApp-7a67a5f6.js → WhatsApp-7c990a33.js} +1 -1
  2. package/build/adapters.js +15 -15
  3. package/build/babyGrowth.js +204 -147
  4. package/build/cache.js +3 -3
  5. package/build/care.js +17 -17
  6. package/build/components/atoms/genderOptionControl/index.d.ts +8 -4
  7. package/build/components/atoms/genderOptionControl/index.styles.d.ts +5 -1
  8. package/build/components/babyGrowth/babyGrowthForm/context.d.ts +0 -1
  9. package/build/components/babyGrowth/babyGrowthForm/index.d.ts +4 -7
  10. package/build/components/babyGrowth/babyGrowthForm/layout/default/index.d.ts +3 -0
  11. package/build/components/babyGrowth/babyGrowthForm/layout/inline/index.d.ts +3 -0
  12. package/build/components/babyGrowth/babyGrowthForm/layout/inline/index.styles.d.ts +11 -0
  13. package/build/components/babyGrowth/index.d.ts +1 -0
  14. package/build/components/molecules/embeddedHeathToolCards/baby-growth/index.d.ts +8 -10
  15. package/build/components/molecules/embeddedHeathToolCards/bmi/bmi.d.ts +1 -6
  16. package/build/components/molecules/embeddedHeathToolCards/bmi/context.d.ts +2 -1
  17. package/build/components/molecules/embeddedHeathToolCards/bmr/bmr.d.ts +5 -10
  18. package/build/components/molecules/embeddedHeathToolCards/helpers.d.ts +5 -5
  19. package/build/components/molecules/embeddedHeathToolCards/target-heart-rate/index.d.ts +6 -13
  20. package/build/components/molecules/healthTools/cardWrapper/banner/index.d.ts +4 -0
  21. package/build/components/molecules/healthTools/cardWrapper/body/index.d.ts +3 -0
  22. package/build/components/molecules/healthTools/cardWrapper/context.d.ts +5 -0
  23. package/build/components/molecules/healthTools/cardWrapper/index.d.ts +12 -0
  24. package/build/components/{babyGrowth/babyGrowthForm/layout/horizonal → molecules/healthTools/cardWrapper}/index.styles.d.ts +3 -1
  25. package/build/components/molecules/healthTools/components/borderBoxControl/error.d.ts +3 -0
  26. package/build/components/molecules/healthTools/components/borderBoxControl/index.d.ts +8 -0
  27. package/build/{esm/components/molecules/thrForm → components/molecules/healthTools/components/borderBoxControl}/index.styled.d.ts +12 -9
  28. package/build/components/molecules/healthTools/components/borderBoxControl/index.styles.d.ts +14 -0
  29. package/build/components/molecules/healthTools/components/borderInlineControl/error.d.ts +3 -0
  30. package/build/components/molecules/healthTools/components/borderInlineControl/index.d.ts +8 -0
  31. package/build/components/molecules/healthTools/components/borderInlineControl/index.styles.d.ts +14 -0
  32. package/build/components/molecules/healthTools/components/control/index.d.ts +5 -0
  33. package/build/components/molecules/healthTools/components/control/index.styles.d.ts +8 -0
  34. package/build/components/molecules/healthTools/form/bmiForm/context.d.ts +15 -0
  35. package/build/components/molecules/healthTools/form/bmiForm/defaultLayout.d.ts +3 -0
  36. package/build/components/molecules/healthTools/form/bmiForm/index.d.ts +4 -0
  37. package/build/components/molecules/healthTools/form/bmiForm/inlineLayout.d.ts +3 -0
  38. package/build/components/molecules/healthTools/form/thrForm/context.d.ts +16 -0
  39. package/build/components/molecules/healthTools/form/thrForm/defaultLayout.d.ts +3 -0
  40. package/build/components/molecules/healthTools/form/thrForm/index.d.ts +15 -0
  41. package/build/components/molecules/healthTools/form/thrForm/inlineLayout.d.ts +3 -0
  42. package/build/components/molecules/healthTools/formWrapper/context.d.ts +5 -0
  43. package/build/components/molecules/healthTools/formWrapper/formRow.d.ts +3 -0
  44. package/build/components/molecules/healthTools/formWrapper/index.d.ts +22 -0
  45. package/build/components/molecules/healthTools/formWrapper/index.styles.d.ts +13 -0
  46. package/build/components/molecules/healthTools/formWrapper/submitBtn.d.ts +3 -0
  47. package/build/components/molecules/healthTools/formWrapper/unit.d.ts +3 -0
  48. package/build/components/molecules/index.d.ts +3 -0
  49. package/build/components/molecules/toolBannerCard/index.d.ts +2 -3
  50. package/build/components/molecules/toolBannerCard/index.styled.d.ts +0 -14
  51. package/build/components.js +63 -61
  52. package/build/{constants-98c8325c.js → constants-341e3655.js} +2 -2
  53. package/build/{constants-def9eb29.js → constants-e7f8b0d2.js} +2 -2
  54. package/build/constants.js +3 -3
  55. package/build/{core-72af88cc.js → core-624d9eef.js} +2 -2
  56. package/build/{dataTransform-bf44d91c.js → dataTransform-4724625a.js} +1 -1
  57. package/build/ecom.js +6 -6
  58. package/build/esm/{WhatsApp-25882f30.js → WhatsApp-4464ab6c.js} +1 -1
  59. package/build/esm/adapters.js +15 -15
  60. package/build/esm/babyGrowth.js +140 -84
  61. package/build/esm/cache.js +3 -3
  62. package/build/esm/care.js +17 -17
  63. package/build/esm/components/atoms/genderOptionControl/index.d.ts +8 -4
  64. package/build/esm/components/atoms/genderOptionControl/index.styles.d.ts +5 -1
  65. package/build/esm/components/babyGrowth/babyGrowthForm/context.d.ts +0 -1
  66. package/build/esm/components/babyGrowth/babyGrowthForm/index.d.ts +4 -7
  67. package/build/esm/components/babyGrowth/babyGrowthForm/layout/default/index.d.ts +3 -0
  68. package/build/esm/components/babyGrowth/babyGrowthForm/layout/inline/index.d.ts +3 -0
  69. package/build/esm/components/babyGrowth/babyGrowthForm/layout/inline/index.styles.d.ts +11 -0
  70. package/build/esm/components/babyGrowth/index.d.ts +1 -0
  71. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/index.d.ts +8 -10
  72. package/build/esm/components/molecules/embeddedHeathToolCards/bmi/bmi.d.ts +1 -6
  73. package/build/esm/components/molecules/embeddedHeathToolCards/bmi/context.d.ts +2 -1
  74. package/build/esm/components/molecules/embeddedHeathToolCards/bmr/bmr.d.ts +5 -10
  75. package/build/esm/components/molecules/embeddedHeathToolCards/helpers.d.ts +5 -5
  76. package/build/esm/components/molecules/embeddedHeathToolCards/target-heart-rate/index.d.ts +6 -13
  77. package/build/esm/components/molecules/healthTools/cardWrapper/banner/index.d.ts +4 -0
  78. package/build/esm/components/molecules/healthTools/cardWrapper/banner/index.styles.d.ts +8 -0
  79. package/build/esm/components/molecules/healthTools/cardWrapper/body/index.d.ts +3 -0
  80. package/build/esm/components/molecules/healthTools/cardWrapper/body/index.styles.d.ts +8 -0
  81. package/build/esm/components/molecules/healthTools/cardWrapper/context.d.ts +5 -0
  82. package/build/esm/components/molecules/healthTools/cardWrapper/index.d.ts +12 -0
  83. package/build/esm/components/{babyGrowth/babyGrowthForm/layout/horizonal → molecules/healthTools/cardWrapper}/index.styles.d.ts +3 -1
  84. package/build/esm/components/molecules/healthTools/components/borderBoxControl/error.d.ts +3 -0
  85. package/build/esm/components/molecules/healthTools/components/borderBoxControl/index.d.ts +8 -0
  86. package/build/{components/molecules/thrForm → esm/components/molecules/healthTools/components/borderBoxControl}/index.styled.d.ts +12 -9
  87. package/build/esm/components/molecules/healthTools/components/borderBoxControl/index.styles.d.ts +14 -0
  88. package/build/esm/components/molecules/healthTools/components/borderInlineControl/error.d.ts +3 -0
  89. package/build/esm/components/molecules/healthTools/components/borderInlineControl/index.d.ts +8 -0
  90. package/build/esm/components/molecules/healthTools/components/borderInlineControl/index.styles.d.ts +14 -0
  91. package/build/esm/components/molecules/healthTools/components/control/index.d.ts +5 -0
  92. package/build/esm/components/molecules/healthTools/components/control/index.styles.d.ts +8 -0
  93. package/build/esm/components/molecules/healthTools/form/bmiForm/context.d.ts +15 -0
  94. package/build/esm/components/molecules/healthTools/form/bmiForm/defaultLayout.d.ts +3 -0
  95. package/build/esm/components/molecules/healthTools/form/bmiForm/index.d.ts +4 -0
  96. package/build/esm/components/molecules/healthTools/form/bmiForm/inlineLayout.d.ts +3 -0
  97. package/build/esm/components/molecules/healthTools/form/thrForm/context.d.ts +16 -0
  98. package/build/esm/components/molecules/healthTools/form/thrForm/defaultLayout.d.ts +3 -0
  99. package/build/esm/components/molecules/healthTools/form/thrForm/index.d.ts +15 -0
  100. package/build/esm/components/molecules/healthTools/form/thrForm/inlineLayout.d.ts +3 -0
  101. package/build/esm/components/molecules/healthTools/formWrapper/context.d.ts +5 -0
  102. package/build/esm/components/molecules/healthTools/formWrapper/formRow.d.ts +3 -0
  103. package/build/esm/components/molecules/healthTools/formWrapper/index.d.ts +22 -0
  104. package/build/esm/components/molecules/healthTools/formWrapper/index.styles.d.ts +13 -0
  105. package/build/esm/components/molecules/healthTools/formWrapper/submitBtn.d.ts +3 -0
  106. package/build/esm/components/molecules/healthTools/formWrapper/unit.d.ts +3 -0
  107. package/build/esm/components/molecules/index.d.ts +3 -0
  108. package/build/esm/components/molecules/toolBannerCard/index.d.ts +2 -3
  109. package/build/esm/components/molecules/toolBannerCard/index.styled.d.ts +0 -14
  110. package/build/esm/components.js +60 -60
  111. package/build/esm/{constants-a7e3ca35.js → constants-661c1d64.js} +2 -2
  112. package/build/esm/{constants-d6930e5e.js → constants-ac51ae89.js} +2 -2
  113. package/build/esm/constants.js +3 -3
  114. package/build/esm/{core-f736ab2d.js → core-f226ac0f.js} +2 -2
  115. package/build/esm/{dataTransform-b764f5bd.js → dataTransform-e5035d56.js} +1 -1
  116. package/build/esm/ecom.js +6 -6
  117. package/build/esm/footer.js +18 -18
  118. package/build/esm/gAssets.js +4 -4
  119. package/build/esm/{getDynamicHealthTool-7c15a910.js → getDynamicHealthTool-4d8eeb51.js} +4 -4
  120. package/build/esm/{getSocialList-ff360236.js → getSocialList-25eb0ec3.js} +4 -4
  121. package/build/esm/hooks.js +17 -17
  122. package/build/esm/i18n/translationKeys.d.ts +1 -1
  123. package/build/esm/i18n-values/en-PH.js +6 -0
  124. package/build/esm/i18n-values/hi-IN.js +6 -0
  125. package/build/esm/i18n-values/id-ID.js +6 -0
  126. package/build/esm/i18n-values/km-KH.js +6 -0
  127. package/build/esm/i18n-values/ms-MY.js +6 -0
  128. package/build/esm/i18n-values/my-MM.js +6 -0
  129. package/build/esm/i18n-values/th-TH.js +6 -0
  130. package/build/esm/i18n-values/tl-PH.js +6 -0
  131. package/build/esm/i18n-values/vi-VN.js +6 -0
  132. package/build/esm/i18n-values/vi-VN_MB.js +6 -0
  133. package/build/esm/i18n-values/zh-TW.js +6 -0
  134. package/build/esm/i18n.js +2 -2
  135. package/build/esm/i18nV2.js +2 -2
  136. package/build/esm/{index-ad6fe8ec.js → index-1b1be502.js} +3 -3
  137. package/build/esm/{index-052975c5.js → index-1d8204a9.js} +4 -4
  138. package/build/esm/{index-9abfd2bf.js → index-2761f711.js} +4 -4
  139. package/build/esm/{index-57bf1cd7.js → index-3aca5854.js} +2 -2
  140. package/build/esm/{index-1037b8f8.js → index-454b515d.js} +12 -12
  141. package/build/esm/{index-b81d2c55.js → index-489dd441.js} +2 -2
  142. package/build/esm/{index-612cce87.js → index-5a0f027e.js} +10 -10
  143. package/build/esm/{index-df110edc.js → index-66d10b21.js} +446 -1357
  144. package/build/esm/{index-acb975fb.js → index-68fab995.js} +10 -10
  145. package/build/esm/{index-b42bac7a.js → index-7305fc5d.js} +2 -2
  146. package/build/esm/{index-9c28c6d3.js → index-7c16ac20.js} +2 -2
  147. package/build/esm/{index-b80db1c1.js → index-84a52876.js} +2 -2
  148. package/build/esm/{index-a28d6769.js → index-8625e8d8.js} +2 -2
  149. package/build/esm/{index-73ef9a35.js → index-922e3c54.js} +6 -6
  150. package/build/esm/{index-dcccb898.js → index-a3f3a71d.js} +11 -11
  151. package/build/esm/{index-30a00409.js → index-c3d30585.js} +2 -2
  152. package/build/esm/{index-bd555bac.js → index-c82b58c7.js} +1 -1
  153. package/build/esm/{index-d232b0dc.js → index-cbda4cc1.js} +2 -2
  154. package/build/esm/{index-f3129141.js → index-d4626ff6.js} +9 -9
  155. package/build/esm/{index-4597632e.js → index-db047eda.js} +33 -32
  156. package/build/esm/{index-ae90e211.js → index-de4b6341.js} +2 -2
  157. package/build/esm/{index-fef007d1.js → index-e86bff41.js} +2 -2
  158. package/build/esm/index-eb9b684f.js +1047 -0
  159. package/build/esm/{index-7b90d518.js → index-f06883d8.js} +9 -7
  160. package/build/esm/{index-8f8e8b42.js → index-f7bf305d.js} +4 -4
  161. package/build/esm/index.js +68 -68
  162. package/build/esm/{index.styled-23ecaf98.js → index.styled-0bdbe990.js} +2 -2
  163. package/build/esm/{index.styles-1b7c0626.js → index.styles-e1757115.js} +51 -36
  164. package/build/esm/lead/components/close.d.ts +2 -2
  165. package/build/esm/lead.js +29 -29
  166. package/build/esm/mantine.js +21 -21
  167. package/build/esm/misc.js +19 -19
  168. package/build/esm/navigation.js +35 -35
  169. package/build/esm/onboardingV2.js +32 -32
  170. package/build/esm/pwg.js +19 -19
  171. package/build/esm/{routing-c564d6de.js → routing-0e8aa97d.js} +2 -2
  172. package/build/esm/subot.js +22 -22
  173. package/build/esm/together.js +34 -34
  174. package/build/esm/{types-7887d2c5.js → types-d1a0466d.js} +13 -13
  175. package/build/esm/{types-65ea7a29.js → types-d54aac73.js} +30 -30
  176. package/build/esm/types.js +1 -1
  177. package/build/esm/{useCategory-24375501.js → useCategory-d97a0eaf.js} +5 -5
  178. package/build/esm/{useHealthToolCache-84f0e6a2.js → useHealthToolCache-33752ed2.js} +2 -2
  179. package/build/esm/{useMantineLocale-55d6c3f7.js → useMantineLocale-c9152268.js} +3 -3
  180. package/build/esm/{usePlacesAutocomplete-30d9515c.js → usePlacesAutocomplete-664fd91f.js} +1 -1
  181. package/build/esm/{useTranslations-e09488cf.js → useTranslations-cdea23ca.js} +1 -1
  182. package/build/esm/{utils-d42f36c5.js → utils-7a0b602b.js} +1 -1
  183. package/build/esm/{utils-c4d6d3b1.js → utils-e621db45.js} +4 -4
  184. package/build/esm/{utils-3faf426d.js → utils-e93e4c81.js} +5 -5
  185. package/build/esm/vaccination.js +26 -26
  186. package/build/footer.js +18 -18
  187. package/build/gAssets.js +4 -4
  188. package/build/{getDynamicHealthTool-cf56bdf9.js → getDynamicHealthTool-d6db1d7f.js} +4 -4
  189. package/build/{getSocialList-7e9f1ce8.js → getSocialList-64b3658e.js} +4 -4
  190. package/build/hooks.js +17 -17
  191. package/build/i18n/translationKeys.d.ts +1 -1
  192. package/build/i18n-values/en-PH.js +6 -0
  193. package/build/i18n-values/hi-IN.js +6 -0
  194. package/build/i18n-values/id-ID.js +6 -0
  195. package/build/i18n-values/km-KH.js +6 -0
  196. package/build/i18n-values/ms-MY.js +6 -0
  197. package/build/i18n-values/my-MM.js +6 -0
  198. package/build/i18n-values/th-TH.js +6 -0
  199. package/build/i18n-values/tl-PH.js +6 -0
  200. package/build/i18n-values/vi-VN.js +6 -0
  201. package/build/i18n-values/vi-VN_MB.js +6 -0
  202. package/build/i18n-values/zh-TW.js +6 -0
  203. package/build/i18n.js +1 -1
  204. package/build/i18nV2.js +1 -1
  205. package/build/{index-4e67ecb9.js → index-0a0b5799.js} +2 -2
  206. package/build/{index-94f76457.js → index-0be68def.js} +10 -10
  207. package/build/{index-7856390e.js → index-16865f4f.js} +566 -1476
  208. package/build/{index-e09708c1.js → index-2ed6b546.js} +1 -1
  209. package/build/{index-e7c5a18f.js → index-30b8b836.js} +4 -4
  210. package/build/{index-16214b40.js → index-317d0c1c.js} +4 -4
  211. package/build/{index-d80b0a5b.js → index-31d3a0cd.js} +2 -2
  212. package/build/{index-a33345ec.js → index-38ffe95c.js} +2 -2
  213. package/build/{index-d1a16fdd.js → index-3ee0bbab.js} +2 -2
  214. package/build/index-49e98004.js +1066 -0
  215. package/build/{index-db53bc1b.js → index-4d5f141c.js} +2 -2
  216. package/build/{index-d3e350af.js → index-5d5594a7.js} +33 -32
  217. package/build/{index-8e2df083.js → index-65ed0de1.js} +8 -6
  218. package/build/{index-697f7bce.js → index-7c76f198.js} +2 -2
  219. package/build/{index-73b4b2d1.js → index-885e1cdd.js} +3 -3
  220. package/build/{index-f0ccd2dd.js → index-9c99495d.js} +6 -6
  221. package/build/{index-d6405ebe.js → index-a5aa5d5c.js} +9 -9
  222. package/build/{index-4c9bc001.js → index-a9805dbb.js} +2 -2
  223. package/build/{index-ab470b05.js → index-b57d6d78.js} +12 -12
  224. package/build/{index-f6d5f98f.js → index-d976a27c.js} +2 -2
  225. package/build/{index-d782e0a0.js → index-deae37ab.js} +4 -4
  226. package/build/{index-25b1fd88.js → index-e1bfc5cd.js} +10 -10
  227. package/build/{index-e609294e.js → index-e81b428d.js} +11 -11
  228. package/build/{index-7e51acf9.js → index-f91097ba.js} +2 -2
  229. package/build/{index-d553d9e2.js → index-fbb66d3d.js} +2 -2
  230. package/build/index.js +71 -69
  231. package/build/{index.styled-e91d7f7f.js → index.styled-02090cfc.js} +2 -2
  232. package/build/{index.styles-b47359f2.js → index.styles-157337bd.js} +52 -37
  233. package/build/lead/components/close.d.ts +2 -2
  234. package/build/lead.js +29 -29
  235. package/build/mantine.js +18 -18
  236. package/build/misc.js +19 -19
  237. package/build/navigation.js +35 -35
  238. package/build/onboardingV2.js +31 -31
  239. package/build/pwg.js +19 -19
  240. package/build/{routing-662b9ed3.js → routing-a06d4f70.js} +2 -2
  241. package/build/subot.js +22 -22
  242. package/build/together.js +34 -34
  243. package/build/{types-a6b93fe5.js → types-4dbda9a8.js} +13 -13
  244. package/build/{types-3a5fff72.js → types-56f05054.js} +30 -30
  245. package/build/types.js +1 -1
  246. package/build/{useCategory-5977ede5.js → useCategory-69284fce.js} +5 -5
  247. package/build/{useHealthToolCache-5890c8bb.js → useHealthToolCache-75252b30.js} +2 -2
  248. package/build/{useMantineLocale-c2dd66b5.js → useMantineLocale-5f5000f2.js} +3 -3
  249. package/build/{usePlacesAutocomplete-942ee1fd.js → usePlacesAutocomplete-ae8c4f01.js} +1 -1
  250. package/build/{useTranslations-a9eb9fc7.js → useTranslations-e5a4e00e.js} +1 -1
  251. package/build/{utils-9aaa3c05.js → utils-29574e04.js} +5 -5
  252. package/build/{utils-fb70e135.js → utils-3c665430.js} +1 -1
  253. package/build/{utils-6370d1da.js → utils-a7153a3d.js} +4 -4
  254. package/build/vaccination.js +26 -26
  255. package/package.json +1 -1
  256. package/build/components/babyGrowth/babyGrowthForm/layout/horizonal/index.d.ts +0 -3
  257. package/build/components/babyGrowth/babyGrowthForm/layout/vertical/index.d.ts +0 -2
  258. package/build/components/molecules/bmiForm/index.d.ts +0 -4
  259. package/build/components/molecules/bmiForm/index.styled.d.ts +0 -23
  260. package/build/components/molecules/embeddedHeathToolCards/baby-growth/context.d.ts +0 -12
  261. package/build/components/molecules/embeddedHeathToolCards/baby-growth/form.d.ts +0 -3
  262. package/build/components/molecules/embeddedHeathToolCards/baby-growth/index.styled.d.ts +0 -17
  263. package/build/components/molecules/embeddedHeathToolCards/bmi/form.d.ts +0 -2
  264. package/build/components/molecules/thrForm/index.d.ts +0 -15
  265. package/build/esm/components/babyGrowth/babyGrowthForm/layout/horizonal/index.d.ts +0 -3
  266. package/build/esm/components/babyGrowth/babyGrowthForm/layout/vertical/index.d.ts +0 -2
  267. package/build/esm/components/molecules/bmiForm/index.d.ts +0 -4
  268. package/build/esm/components/molecules/bmiForm/index.styled.d.ts +0 -23
  269. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/context.d.ts +0 -12
  270. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/form.d.ts +0 -3
  271. package/build/esm/components/molecules/embeddedHeathToolCards/baby-growth/index.styled.d.ts +0 -17
  272. package/build/esm/components/molecules/embeddedHeathToolCards/bmi/form.d.ts +0 -2
  273. package/build/esm/components/molecules/thrForm/index.d.ts +0 -15
  274. package/build/esm/index-084aee3a.js +0 -370
  275. package/build/index-d8c16366.js +0 -380
  276. /package/build/{BMI_BOYS.percentile.monthly-8fed7ba1.js → BMI_BOYS.percentile.monthly-3dc46630.js} +0 -0
  277. /package/build/{BMI_BOYS.percentile.weekly-eb7961bc.js → BMI_BOYS.percentile.weekly-33a7a76d.js} +0 -0
  278. /package/build/{BMI_BOYS.percentile.yearly-2ad05a2a.js → BMI_BOYS.percentile.yearly-7e23ad15.js} +0 -0
  279. /package/build/{BMI_BOYS.zscore.monthly-a9a0abc6.js → BMI_BOYS.zscore.monthly-2ce61257.js} +0 -0
  280. /package/build/{BMI_BOYS.zscore.weekly-064497fe.js → BMI_BOYS.zscore.weekly-b7ad99e4.js} +0 -0
  281. /package/build/{BMI_BOYS.zscore.yearly-0e88b67c.js → BMI_BOYS.zscore.yearly-18e3796a.js} +0 -0
  282. /package/build/{BMI_GIRLS.percentile.monthly-7d2f4062.js → BMI_GIRLS.percentile.monthly-659ecfd5.js} +0 -0
  283. /package/build/{BMI_GIRLS.percentile.weekly-a763105a.js → BMI_GIRLS.percentile.weekly-ae56f36e.js} +0 -0
  284. /package/build/{BMI_GIRLS.percentile.yearly-6bbdee0d.js → BMI_GIRLS.percentile.yearly-231d8484.js} +0 -0
  285. /package/build/{BMI_GIRLS.zscore.monthly-d8a5cbd8.js → BMI_GIRLS.zscore.monthly-b3fd34cc.js} +0 -0
  286. /package/build/{BMI_GIRLS.zscore.weekly-0c7a8c9c.js → BMI_GIRLS.zscore.weekly-ba14b60f.js} +0 -0
  287. /package/build/{BMI_GIRLS.zscore.yearly-5644743f.js → BMI_GIRLS.zscore.yearly-9aa7154b.js} +0 -0
  288. /package/build/{ChevronDown-079dc4be.js → ChevronDown-bdc5f8bf.js} +0 -0
  289. /package/build/{Close-db604756.js → Close-37ec8443.js} +0 -0
  290. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-c41d42ff.js → HEAD CIRCUM_BOYS.percentile.monthly-c14e93fe.js} +0 -0
  291. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-afc76045.js → HEAD CIRCUM_BOYS.percentile.weekly-6d94ea66.js} +0 -0
  292. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-dbde5248.js → HEAD CIRCUM_BOYS.percentile.yearly-e88fc611.js} +0 -0
  293. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-4df52a81.js → HEAD CIRCUM_BOYS.zscore.monthly-d7428860.js} +0 -0
  294. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-60761b9a.js → HEAD CIRCUM_BOYS.zscore.weekly-9f78d9e2.js} +0 -0
  295. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-1d970b3c.js → HEAD CIRCUM_BOYS.zscore.yearly-0b878fa3.js} +0 -0
  296. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-04d36ee5.js → HEAD CIRCUM_GIRLS.percentile.monthly-12513ad5.js} +0 -0
  297. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-dde4e6c9.js → HEAD CIRCUM_GIRLS.percentile.weekly-7accdda4.js} +0 -0
  298. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-9f686033.js → HEAD CIRCUM_GIRLS.percentile.yearly-43b2cb53.js} +0 -0
  299. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-8265853b.js → HEAD CIRCUM_GIRLS.zscore.monthly-2bd1125e.js} +0 -0
  300. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-28744f9c.js → HEAD CIRCUM_GIRLS.zscore.weekly-11352a99.js} +0 -0
  301. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-c5b9857c.js → HEAD CIRCUM_GIRLS.zscore.yearly-a5d1fc49.js} +0 -0
  302. /package/build/{HEIGHT_BOYS.percentile.monthly-296fca5b.js → HEIGHT_BOYS.percentile.monthly-47159e6b.js} +0 -0
  303. /package/build/{HEIGHT_BOYS.percentile.weekly-5e16e885.js → HEIGHT_BOYS.percentile.weekly-77a168eb.js} +0 -0
  304. /package/build/{HEIGHT_BOYS.percentile.yearly-b4d4d8fc.js → HEIGHT_BOYS.percentile.yearly-ffe077bb.js} +0 -0
  305. /package/build/{HEIGHT_BOYS.zscore.monthly-ccf0441a.js → HEIGHT_BOYS.zscore.monthly-22afc4de.js} +0 -0
  306. /package/build/{HEIGHT_BOYS.zscore.weekly-b748980d.js → HEIGHT_BOYS.zscore.weekly-d9ef3e8c.js} +0 -0
  307. /package/build/{HEIGHT_BOYS.zscore.yearly-eece620a.js → HEIGHT_BOYS.zscore.yearly-eaa9c646.js} +0 -0
  308. /package/build/{HEIGHT_GIRLS.percentile.monthly-12d10530.js → HEIGHT_GIRLS.percentile.monthly-f4b44713.js} +0 -0
  309. /package/build/{HEIGHT_GIRLS.percentile.weekly-32273298.js → HEIGHT_GIRLS.percentile.weekly-59699856.js} +0 -0
  310. /package/build/{HEIGHT_GIRLS.percentile.yearly-72816dcf.js → HEIGHT_GIRLS.percentile.yearly-2ebb26e5.js} +0 -0
  311. /package/build/{HEIGHT_GIRLS.zscore.monthly-5b4c8f81.js → HEIGHT_GIRLS.zscore.monthly-ecaab89e.js} +0 -0
  312. /package/build/{HEIGHT_GIRLS.zscore.weekly-8d325bb3.js → HEIGHT_GIRLS.zscore.weekly-457d47df.js} +0 -0
  313. /package/build/{HEIGHT_GIRLS.zscore.yearly-912d50eb.js → HEIGHT_GIRLS.zscore.yearly-2e6f58f9.js} +0 -0
  314. /package/build/{Visible-0823566a.js → Visible-5815765d.js} +0 -0
  315. /package/build/{WEIGHT_BOYS.percentile.monthly-dfad04d7.js → WEIGHT_BOYS.percentile.monthly-5adfba39.js} +0 -0
  316. /package/build/{WEIGHT_BOYS.percentile.weekly-9bd038b1.js → WEIGHT_BOYS.percentile.weekly-df51ea10.js} +0 -0
  317. /package/build/{WEIGHT_BOYS.percentile.yearly-59904174.js → WEIGHT_BOYS.percentile.yearly-7e7a945c.js} +0 -0
  318. /package/build/{WEIGHT_BOYS.zscore.monthly-b767505a.js → WEIGHT_BOYS.zscore.monthly-409ef959.js} +0 -0
  319. /package/build/{WEIGHT_BOYS.zscore.weekly-475f3ff9.js → WEIGHT_BOYS.zscore.weekly-51f7b2ca.js} +0 -0
  320. /package/build/{WEIGHT_BOYS.zscore.yearly-cc1b1d4b.js → WEIGHT_BOYS.zscore.yearly-249b9a56.js} +0 -0
  321. /package/build/{WEIGHT_GIRLS.percentile.monthly-1e7a5e77.js → WEIGHT_GIRLS.percentile.monthly-e96c3379.js} +0 -0
  322. /package/build/{WEIGHT_GIRLS.percentile.weekly-a15a69fc.js → WEIGHT_GIRLS.percentile.weekly-9e4aac96.js} +0 -0
  323. /package/build/{WEIGHT_GIRLS.percentile.yearly-2d24ab47.js → WEIGHT_GIRLS.percentile.yearly-aa6ee172.js} +0 -0
  324. /package/build/{WEIGHT_GIRLS.zscore.monthly-c2fbc8e5.js → WEIGHT_GIRLS.zscore.monthly-41cd2243.js} +0 -0
  325. /package/build/{WEIGHT_GIRLS.zscore.weekly-23f80f98.js → WEIGHT_GIRLS.zscore.weekly-a78795a5.js} +0 -0
  326. /package/build/{WEIGHT_GIRLS.zscore.yearly-56c3796f.js → WEIGHT_GIRLS.zscore.yearly-f85d3d67.js} +0 -0
  327. /package/build/{animation-177869c0.js → animation-7c2163d6.js} +0 -0
  328. /package/build/{cart-09276b58.js → cart-7225f4ea.js} +0 -0
  329. /package/build/components/babyGrowth/babyGrowthForm/layout/{vertical → default}/index.styled.d.ts +0 -0
  330. /package/build/components/{babyGrowth/babyGrowthForm → molecules/healthTools/cardWrapper/banner}/index.styles.d.ts +0 -0
  331. /package/build/{esm/components/babyGrowth/babyGrowthForm → components/molecules/healthTools/cardWrapper/body}/index.styles.d.ts +0 -0
  332. /package/build/{cookieHelper-d81861d8.js → cookieHelper-cdee4e84.js} +0 -0
  333. /package/build/{doctor-f39a19fd.js → doctor-770ff1ba.js} +0 -0
  334. /package/build/esm/{BMI_BOYS.percentile.monthly-b93ffbf0.js → BMI_BOYS.percentile.monthly-42b05262.js} +0 -0
  335. /package/build/esm/{BMI_BOYS.percentile.weekly-f9994b33.js → BMI_BOYS.percentile.weekly-51c5c77e.js} +0 -0
  336. /package/build/esm/{BMI_BOYS.percentile.yearly-c65e6ed2.js → BMI_BOYS.percentile.yearly-f496de0a.js} +0 -0
  337. /package/build/esm/{BMI_BOYS.zscore.monthly-48c07471.js → BMI_BOYS.zscore.monthly-14f694fa.js} +0 -0
  338. /package/build/esm/{BMI_BOYS.zscore.weekly-71daeeb3.js → BMI_BOYS.zscore.weekly-3db6bc0c.js} +0 -0
  339. /package/build/esm/{BMI_BOYS.zscore.yearly-440048be.js → BMI_BOYS.zscore.yearly-8509d0ae.js} +0 -0
  340. /package/build/esm/{BMI_GIRLS.percentile.monthly-57f1b984.js → BMI_GIRLS.percentile.monthly-d9a21889.js} +0 -0
  341. /package/build/esm/{BMI_GIRLS.percentile.weekly-0914f917.js → BMI_GIRLS.percentile.weekly-575bac9c.js} +0 -0
  342. /package/build/esm/{BMI_GIRLS.percentile.yearly-bdfe7a69.js → BMI_GIRLS.percentile.yearly-04508fbe.js} +0 -0
  343. /package/build/esm/{BMI_GIRLS.zscore.monthly-42e0b4f6.js → BMI_GIRLS.zscore.monthly-5cdf6175.js} +0 -0
  344. /package/build/esm/{BMI_GIRLS.zscore.weekly-07ab1287.js → BMI_GIRLS.zscore.weekly-e616dee6.js} +0 -0
  345. /package/build/esm/{BMI_GIRLS.zscore.yearly-517a7ff2.js → BMI_GIRLS.zscore.yearly-f04c1bc5.js} +0 -0
  346. /package/build/esm/{ChevronDown-ec64ac22.js → ChevronDown-5de6880b.js} +0 -0
  347. /package/build/esm/{Close-3b975982.js → Close-9352706a.js} +0 -0
  348. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-506387d9.js → HEAD CIRCUM_BOYS.percentile.monthly-96d66e11.js} +0 -0
  349. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-2652584c.js → HEAD CIRCUM_BOYS.percentile.weekly-f5554984.js} +0 -0
  350. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-c2a98a5d.js → HEAD CIRCUM_BOYS.percentile.yearly-557fb130.js} +0 -0
  351. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-4edbec1f.js → HEAD CIRCUM_BOYS.zscore.monthly-c3fdcb0b.js} +0 -0
  352. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-56338503.js → HEAD CIRCUM_BOYS.zscore.weekly-b3ea066c.js} +0 -0
  353. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-3c720a9e.js → HEAD CIRCUM_BOYS.zscore.yearly-451d74b9.js} +0 -0
  354. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-e1f1f6be.js → HEAD CIRCUM_GIRLS.percentile.monthly-1ef5b735.js} +0 -0
  355. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-227d31bd.js → HEAD CIRCUM_GIRLS.percentile.weekly-b7fd90a5.js} +0 -0
  356. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-7fc35787.js → HEAD CIRCUM_GIRLS.percentile.yearly-680b7cff.js} +0 -0
  357. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-9b0fd5eb.js → HEAD CIRCUM_GIRLS.zscore.monthly-a21a8585.js} +0 -0
  358. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-9988f989.js → HEAD CIRCUM_GIRLS.zscore.weekly-c3c76d7d.js} +0 -0
  359. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-20107811.js → HEAD CIRCUM_GIRLS.zscore.yearly-cc7be510.js} +0 -0
  360. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-e8203033.js → HEIGHT_BOYS.percentile.monthly-d165ef46.js} +0 -0
  361. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-5fa852c6.js → HEIGHT_BOYS.percentile.weekly-afa23b20.js} +0 -0
  362. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-f6615394.js → HEIGHT_BOYS.percentile.yearly-d10f86c1.js} +0 -0
  363. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-9594d1ef.js → HEIGHT_BOYS.zscore.monthly-d0e97976.js} +0 -0
  364. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-f70d3362.js → HEIGHT_BOYS.zscore.weekly-0695da19.js} +0 -0
  365. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-d7601de0.js → HEIGHT_BOYS.zscore.yearly-a373542e.js} +0 -0
  366. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-d219f16e.js → HEIGHT_GIRLS.percentile.monthly-4658cd2c.js} +0 -0
  367. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-eeac6400.js → HEIGHT_GIRLS.percentile.weekly-7b663bc7.js} +0 -0
  368. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-94932719.js → HEIGHT_GIRLS.percentile.yearly-bbabb1a1.js} +0 -0
  369. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-6ebee401.js → HEIGHT_GIRLS.zscore.monthly-f9e44117.js} +0 -0
  370. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-60839770.js → HEIGHT_GIRLS.zscore.weekly-5e6f1243.js} +0 -0
  371. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-b1cb5127.js → HEIGHT_GIRLS.zscore.yearly-cd2dcc67.js} +0 -0
  372. /package/build/esm/{Visible-28a1e0b5.js → Visible-1ea9e5cd.js} +0 -0
  373. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-5d0bc2ec.js → WEIGHT_BOYS.percentile.monthly-1dc4d7f8.js} +0 -0
  374. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-a11608ad.js → WEIGHT_BOYS.percentile.weekly-9d34b61c.js} +0 -0
  375. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-e0aa6a04.js → WEIGHT_BOYS.percentile.yearly-88c743b3.js} +0 -0
  376. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-13556e7a.js → WEIGHT_BOYS.zscore.monthly-c56a6907.js} +0 -0
  377. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-5d43562f.js → WEIGHT_BOYS.zscore.weekly-f5d09a10.js} +0 -0
  378. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-37a1e6f8.js → WEIGHT_BOYS.zscore.yearly-e4eadd64.js} +0 -0
  379. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-7d2fbbba.js → WEIGHT_GIRLS.percentile.monthly-d10b7f03.js} +0 -0
  380. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-e8d83d22.js → WEIGHT_GIRLS.percentile.weekly-fd9b6664.js} +0 -0
  381. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-9f9cb1ba.js → WEIGHT_GIRLS.percentile.yearly-a199dcfd.js} +0 -0
  382. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-cf729188.js → WEIGHT_GIRLS.zscore.monthly-88f2ceaa.js} +0 -0
  383. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-232159a5.js → WEIGHT_GIRLS.zscore.weekly-82d56465.js} +0 -0
  384. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-75e3f65b.js → WEIGHT_GIRLS.zscore.yearly-7ba197df.js} +0 -0
  385. /package/build/esm/{animation-8d9166c4.js → animation-a85e3de7.js} +0 -0
  386. /package/build/esm/{cart-3149095e.js → cart-887831b6.js} +0 -0
  387. /package/build/esm/components/babyGrowth/babyGrowthForm/layout/{vertical → default}/index.styled.d.ts +0 -0
  388. /package/build/esm/{cookieHelper-22b746f0.js → cookieHelper-3d07347b.js} +0 -0
  389. /package/build/esm/{doctor-697376a2.js → doctor-799a9bd3.js} +0 -0
  390. /package/build/esm/{index-0d6f4be3.js → index-0ed4c22b.js} +0 -0
  391. /package/build/esm/{index-8360ce3a.js → index-43343cbf.js} +0 -0
  392. /package/build/esm/{index-791aacd3.js → index-4599e5b0.js} +0 -0
  393. /package/build/esm/{index-de5f4b77.js → index-56e460c6.js} +0 -0
  394. /package/build/esm/{isProduction-883d53b1.js → isProduction-434d302d.js} +0 -0
  395. /package/build/esm/{localizeNumberFormat-2e0ff46a.js → localizeNumberFormat-c85786d3.js} +0 -0
  396. /package/build/esm/{normalizeLink-0a2787bd.js → normalizeLink-3d1f20d1.js} +0 -0
  397. /package/build/esm/{number-f94edd46.js → number-299bd96f.js} +0 -0
  398. /package/build/esm/{paths-5c0fa637.js → paths-56c3587b.js} +0 -0
  399. /package/build/esm/{theme-f0b6c550.js → theme-970b90f0.js} +0 -0
  400. /package/build/esm/{translationsContext-82b6afe9.js → translationsContext-494ae681.js} +0 -0
  401. /package/build/esm/{tslib.es6-9d7cffa1.js → tslib.es6-64d6b81e.js} +0 -0
  402. /package/build/esm/{types-503d982f.js → types-39d5f930.js} +0 -0
  403. /package/build/esm/{useIsInit-5091414d.js → useIsInit-4ae94a4f.js} +0 -0
  404. /package/build/esm/{useOutsideClick-92d0bbf4.js → useOutsideClick-dc7a904e.js} +0 -0
  405. /package/build/esm/{useScrollbarSize-65681faf.js → useScrollbarSize-c5f52065.js} +0 -0
  406. /package/build/esm/{useUniqueId-26127495.js → useUniqueId-c297b004.js} +0 -0
  407. /package/build/esm/{utils-528dc7d6.js → utils-f7a8a1ca.js} +0 -0
  408. /package/build/{index-264070a1.js → index-0161f9b8.js} +0 -0
  409. /package/build/{index-e354e9f6.js → index-ccb48ca2.js} +0 -0
  410. /package/build/{index-c0282d78.js → index-d9e9dcc3.js} +0 -0
  411. /package/build/{index-2977b2dd.js → index-f1979569.js} +0 -0
  412. /package/build/{isProduction-4ebb0b9f.js → isProduction-34667756.js} +0 -0
  413. /package/build/{localizeNumberFormat-57cbe103.js → localizeNumberFormat-fd3a0469.js} +0 -0
  414. /package/build/{normalizeLink-fbc07120.js → normalizeLink-75a55356.js} +0 -0
  415. /package/build/{number-82ab659f.js → number-81819869.js} +0 -0
  416. /package/build/{paths-73c476b6.js → paths-782003f7.js} +0 -0
  417. /package/build/{theme-df11f346.js → theme-986ab943.js} +0 -0
  418. /package/build/{translationsContext-23006995.js → translationsContext-5c637723.js} +0 -0
  419. /package/build/{tslib.es6-a0b7089c.js → tslib.es6-cda3ff06.js} +0 -0
  420. /package/build/{types-fd0dc0bb.js → types-351db239.js} +0 -0
  421. /package/build/{useIsInit-a50a6a72.js → useIsInit-751a5d5b.js} +0 -0
  422. /package/build/{useOutsideClick-995c17a0.js → useOutsideClick-75a9127e.js} +0 -0
  423. /package/build/{useScrollbarSize-7b1dd961.js → useScrollbarSize-c03e70df.js} +0 -0
  424. /package/build/{useUniqueId-cd9b224a.js → useUniqueId-6dae5baf.js} +0 -0
  425. /package/build/{utils-fcdda30d.js → utils-e385ce42.js} +0 -0
@@ -0,0 +1,1047 @@
1
+ import React__default, { useRef, useEffect, useState, useMemo, createContext, useContext } from 'react';
2
+ import { Portal, Box, Flex, rem, createStyles, useMantineTheme } from '@mantine/core';
3
+ import { t as toggleNoScroll, M as MediaQueries } from './utils-f7a8a1ca.js';
4
+ import { w as StyledBackdrop, x as StyledDrawer, y as StyledDrawerPanel, z as StyledDrawerContent, A as StyledRadioImageGroup, B as StyledRadioImageItem, C as useStyles$9, P as PureInput } from './index.styles-e1757115.js';
5
+ import { T as Text } from './index-84a52876.js';
6
+ import { t as theme } from './theme-970b90f0.js';
7
+ import { M as MarryBabyText } from './index-489dd441.js';
8
+ import { T as Text$1 } from './index-5a0f027e.js';
9
+ import { u as useScrollbarSize } from './useScrollbarSize-c5f52065.js';
10
+ import { createPortal } from 'react-dom';
11
+ import styled from '@emotion/styled';
12
+ import { s as setDefaultClass } from './utils-e93e4c81.js';
13
+ import { _ as __rest } from './tslib.es6-64d6b81e.js';
14
+ import { yupResolver } from '@hookform/resolvers/yup';
15
+ import { G as Gender } from './index-56e460c6.js';
16
+ import { Controller, useForm } from 'react-hook-form';
17
+ import { BabyBoyMB, BabyGirlMB, CalendarMB } from '@hhgtech/icons/other';
18
+ import { R as Radio, B as Button, c as Input$1 } from './index-68fab995.js';
19
+ import { C as CommonGAssets } from './index-cbda4cc1.js';
20
+ import { I as Input } from './index-8625e8d8.js';
21
+ import './utils-e621db45.js';
22
+ import { D as DatePicker } from './index-f06883d8.js';
23
+ import { u as useTranslations } from './useTranslations-cdea23ca.js';
24
+ import '@mantine/hooks';
25
+ import './useMantineLocale-c9152268.js';
26
+ import './index-7c16ac20.js';
27
+ import './WhatsApp-4464ab6c.js';
28
+ import './index.styled-0bdbe990.js';
29
+ import './index-4599e5b0.js';
30
+ import { L as Label } from './constants-ac51ae89.js';
31
+ import '@mantine/dates';
32
+ import { format } from 'date-fns';
33
+ import flattenChildren from 'react-keyed-flatten-children';
34
+
35
+ const Backdrop = ({ open = false, onClickOutside, }) => {
36
+ return (React__default.createElement(StyledBackdrop, { "data-open": open, onClick: onClickOutside }));
37
+ };
38
+
39
+ /**
40
+ * @deprecated Consider to use at '@hhgtech/hhg-components/mantine'
41
+ */
42
+ const Drawer = ({ children, title, onClose, open = false, placement = 'left', destroyOnClose = false, isPropagationEvent = true, className, }) => {
43
+ const ref = useRef();
44
+ useEffect(() => {
45
+ toggleNoScroll(open);
46
+ return () => toggleNoScroll(false);
47
+ }, [open]);
48
+ const onCloseDrawer = () => {
49
+ ref.current.classList.add('slideOut');
50
+ setTimeout(() => {
51
+ onClose();
52
+ }, 800);
53
+ };
54
+ if (!open && destroyOnClose) {
55
+ return null;
56
+ }
57
+ return (React__default.createElement(Portal, null,
58
+ React__default.createElement(StyledDrawer, { className: className, open: open },
59
+ React__default.createElement(Backdrop, { open: open, onClickOutside: onCloseDrawer }),
60
+ React__default.createElement(StyledDrawerPanel, { open: open, placement: placement, ref: ref, hasTitle: Boolean(title) },
61
+ React__default.createElement("div", { className: "title" },
62
+ title && (React__default.createElement(Text, { size: "s2", weight: "semiBold" }, title)),
63
+ React__default.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", className: "close-button", onClick: onCloseDrawer },
64
+ React__default.createElement("path", { d: "M5.99007 4.99067C5.79114 4.99072 5.59674 5.0501 5.43173 5.16121C5.26672 5.27233 5.1386 5.43013 5.06374 5.61444C4.98889 5.79875 4.9707 6.0012 5.0115 6.1959C5.05231 6.39061 5.15025 6.56872 5.29281 6.70747L10.5858 12.0004L5.29281 17.2934C5.19684 17.3855 5.12021 17.4959 5.06743 17.618C5.01464 17.7402 4.98676 17.8716 4.9854 18.0046C4.98405 18.1377 5.00926 18.2697 5.05954 18.3928C5.10983 18.516 5.1842 18.6279 5.27827 18.722C5.37235 18.8161 5.48426 18.8904 5.60743 18.9407C5.73061 18.991 5.86259 19.0162 5.99563 19.0149C6.12867 19.0135 6.2601 18.9856 6.38223 18.9328C6.50436 18.8801 6.61473 18.8034 6.70687 18.7075L11.9998 13.4145L17.2928 18.7075C17.385 18.8034 17.4953 18.8801 17.6175 18.9328C17.7396 18.9856 17.871 19.0135 18.0041 19.0149C18.1371 19.0162 18.2691 18.991 18.3922 18.9407C18.5154 18.8904 18.6273 18.8161 18.7214 18.722C18.8155 18.6279 18.8899 18.516 18.9401 18.3928C18.9904 18.2697 19.0156 18.1377 19.0143 18.0047C19.0129 17.8716 18.985 17.7402 18.9323 17.618C18.8795 17.4959 18.8028 17.3855 18.7069 17.2934L13.4139 12.0004L18.7069 6.70747C18.8514 6.567 18.9501 6.38616 18.99 6.18864C19.03 5.99112 19.0093 5.78614 18.9308 5.60055C18.8523 5.41497 18.7195 5.25744 18.5499 5.14861C18.3803 5.03978 18.1817 4.98473 17.9803 4.99067C17.7205 4.99841 17.4739 5.10699 17.2928 5.2934L11.9998 10.5864L6.70687 5.2934C6.61368 5.19761 6.50224 5.12146 6.37912 5.06947C6.25601 5.01747 6.12372 4.99068 5.99007 4.99067Z", fill: "#595959" }))),
65
+ React__default.createElement(StyledDrawerContent, { onClick: (e) => {
66
+ if (isPropagationEvent) {
67
+ e.stopPropagation();
68
+ }
69
+ } }, children &&
70
+ (React__default.isValidElement(children)
71
+ ? children
72
+ : typeof children === 'function'
73
+ ? children({
74
+ internalClose: onCloseDrawer,
75
+ })
76
+ : null))))));
77
+ };
78
+
79
+ const RadioImageGroup = ({ value, options, className, direction = 'horizontal', onChange, isDisabled, siteType, }) => {
80
+ const [check, setCheck] = useState(value);
81
+ const handleOnChange = (v) => {
82
+ if (isDisabled)
83
+ return;
84
+ setCheck(v);
85
+ onChange && onChange(v);
86
+ };
87
+ const isMarryBaby = siteType === 'marryBaby';
88
+ return (React__default.createElement(StyledRadioImageGroup, { className: className, "data-direction": direction }, options.map((option, index) => (React__default.createElement(StyledRadioImageItem, { "data-selected": (value || check) === option.value, "data-is-mb": isMarryBaby, "data-disabled": isDisabled, key: index, onClick: () => {
89
+ handleOnChange(option.value);
90
+ } },
91
+ React__default.createElement("div", null,
92
+ option.content,
93
+ option.label && (React__default.createElement(React__default.Fragment, null, isMarryBaby ? (React__default.createElement(MarryBabyText, { type: "subtitle-2", color: (value || check) === option.value
94
+ ? theme.mbColors.dark
95
+ : theme.mbColors.midGray }, option.label)) : (React__default.createElement(Text$1, { type: "bold", color: (value || check) === option.value ? '#2D87F3' : 'black', className: "radio-group-item-heading", size: "label1" }, option.label))))))))));
96
+ };
97
+
98
+ const GenderOptionControl = (_a) => {
99
+ var { label, availableValue: availableValueInit, styles, isBaby, genderValue = {
100
+ male: 'male',
101
+ female: 'female',
102
+ }, type = 'button', hideLabel } = _a, radioProps = __rest(_a, ["label", "availableValue", "styles", "isBaby", "genderValue", "type", "hideLabel"]);
103
+ const { t } = useTranslations();
104
+ const { classes, cx, theme } = useStyles$9({ type }, {
105
+ name: 'GenderOptionControl',
106
+ styles,
107
+ });
108
+ const isMarryBaby = theme.other.template === 'mb';
109
+ const [availableValue, setAvailableValue] = useState();
110
+ const ref = useRef(null);
111
+ const genderOptions = useMemo(() => [
112
+ {
113
+ value: genderValue.male,
114
+ label: isBaby ? t('gender.boy') : t('gender.male'),
115
+ icon: isBaby ? (isMarryBaby ? (React__default.createElement(BabyBoyMB, null)) : (CommonGAssets.getAssetPath('health-tools/boy-icon.svg'))) : (CommonGAssets.getAssetPath('health-tools/male-icon.svg')),
116
+ },
117
+ {
118
+ value: genderValue.female,
119
+ label: isBaby ? t('gender.girl') : t('gender.female'),
120
+ icon: isBaby ? (isMarryBaby ? (React__default.createElement(BabyGirlMB, null)) : (CommonGAssets.getAssetPath('health-tools/girl-icon.svg'))) : (CommonGAssets.getAssetPath('health-tools/female-icon.svg')),
121
+ },
122
+ ], []);
123
+ useEffect(() => {
124
+ setAvailableValue(availableValueInit);
125
+ }, [availableValueInit]);
126
+ return (React__default.createElement(Box, { ref: ref, className: classes.root },
127
+ React__default.createElement(Radio.Group, Object.assign({ className: "radio-group", label: !hideLabel ? (React__default.createElement(Text, { as: "label", size: "s4", weight: "semiBold" }, label ||
128
+ (isBaby
129
+ ? t('tools.selectBabyGender')
130
+ : t('tools.selectGender')))) : undefined, size: "lg" }, radioProps, { classNames: {
131
+ error: classes.groupErr,
132
+ } }, (type === 'radio' && {
133
+ error: null,
134
+ })),
135
+ React__default.createElement(Flex, { className: cx(classes.wrapper) }, genderOptions.map((i) => (React__default.createElement(Radio, Object.assign({ className: "gender-item", size: "sm", classNames: {
136
+ root: classes.itemRoot,
137
+ labelWrapper: classes.itemLabelWrapper,
138
+ label: classes.itemLabel,
139
+ inner: classes.itemInner,
140
+ body: classes.itemBody,
141
+ }, key: i.value, value: i.value }, (availableValue &&
142
+ i.value !== availableValue && {
143
+ disabled: true,
144
+ }), { label: React__default.createElement(Flex, { gap: rem(8), align: 'center', justify: 'center', sx: { zIndex: 0 } },
145
+ type === 'button' &&
146
+ (typeof i.icon === 'string' ? (React__default.createElement("img", { src: i.icon, className: "gender-image", alt: "female", loading: "lazy" })) : (i.icon)),
147
+ React__default.createElement(Text, { size: "p3" }, i.label)) }))))))));
148
+ };
149
+
150
+ const StyledModal = setDefaultClass(styled.div `
151
+ position: relative;
152
+ z-index: 200;
153
+ background-color: ${theme.colors.white};
154
+ border-radius: ${theme.borderRadius};
155
+ box-shadow: 0px 8px 40px 0px #0000001a;
156
+ &[data-site-type='marryBaby'] {
157
+ border-radius: 16px;
158
+ .hhg-modal__content {
159
+ position: relative;
160
+ z-index: 111;
161
+ height: 100%;
162
+ }
163
+ }
164
+ .hhg-modal__content {
165
+ position: relative;
166
+ z-index: 111;
167
+ height: 100%;
168
+ }
169
+ .hhg-modal__video {
170
+ position: relative;
171
+ z-index: 111;
172
+ height: 100%;
173
+ background-color: none;
174
+ box-shadow: none;
175
+ }
176
+ `, 'hhgcomp-modal-modal');
177
+ const StyledModalWrapper = styled.div `
178
+ position: fixed;
179
+ top: 0;
180
+ left: 0;
181
+ z-index: 201;
182
+ display: flex;
183
+ align-items: center;
184
+ justify-content: center;
185
+ width: 100%;
186
+ height: 100%;
187
+ overflow-x: hidden;
188
+ overflow-y: auto;
189
+ outline: 0;
190
+ visibility: hidden;
191
+ opacity: 0;
192
+ background-color: rgba(0, 0, 0, 0.6);
193
+ transition: opacity 0.3s ease-in-out;
194
+
195
+ .hhg-modal__close {
196
+ position: absolute;
197
+ top: 16px;
198
+ right: 16px;
199
+ cursor: pointer;
200
+ img {
201
+ width: 100%;
202
+ height: 100%;
203
+ border-radius: 50%;
204
+ }
205
+ }
206
+ &[data-type='video'] {
207
+ z-index: 1001;
208
+ }
209
+ &[data-open='true'] {
210
+ opacity: 1;
211
+ visibility: visible;
212
+ }
213
+
214
+ ${StyledModal.classSelector} {
215
+ transition: transform 0.3s ease-in-out;
216
+ }
217
+ &.slideTop {
218
+ ${StyledModal.classSelector} {
219
+ transform: translate(0, -100vh);
220
+ }
221
+
222
+ &[data-open='true'] {
223
+ ${StyledModal.classSelector} {
224
+ transform: translate(0);
225
+ }
226
+ }
227
+ }
228
+
229
+ &.scaleUp {
230
+ ${StyledModal.classSelector} {
231
+ transform: scale(0.9);
232
+ }
233
+
234
+ &[data-open='true'] {
235
+ ${StyledModal.classSelector} {
236
+ transform: scale(1);
237
+ }
238
+ }
239
+ }
240
+
241
+ &[data-type='tail'] {
242
+ justify-content: flex-end;
243
+ ${StyledModal.classSelector} {
244
+ width: 420px;
245
+ height: 100%;
246
+ border-radius: 0;
247
+ overflow: hidden auto;
248
+ }
249
+ }
250
+ &[data-type='form'] {
251
+ ${StyledModal.classSelector} {
252
+ width: 496px;
253
+ height: 548px;
254
+ max-height: 100%;
255
+ overflow-y: auto;
256
+ ${MediaQueries.mbDown} {
257
+ width: 340px;
258
+ }
259
+ }
260
+ }
261
+ &[data-type='video'] {
262
+ ${StyledModal.classSelector} {
263
+ height: 100%;
264
+ max-height: 539px;
265
+ ${MediaQueries.mbDown} {
266
+ height: 192px;
267
+ width: 100%;
268
+ height: 100%;
269
+ border-radius: ${theme.borderRadius};
270
+ max-height: 192px;
271
+ }
272
+ }
273
+ }
274
+ &[data-type='confirm'] {
275
+ ${StyledModal.classSelector} {
276
+ width: 100%;
277
+ max-width: 407px;
278
+ ${MediaQueries.mbDown} {
279
+ width: calc(100% - 32px);
280
+ max-width: calc(100% - 32px);
281
+ }
282
+ }
283
+ }
284
+ `;
285
+ const StyledModalMask = styled.div `
286
+ position: fixed;
287
+ top: 0;
288
+ left: 0;
289
+ width: 100vw;
290
+ height: 100vh;
291
+ align-items: center;
292
+
293
+ &[data-open='false'] {
294
+ display: none;
295
+ }
296
+ &[data-type='video'] {
297
+ background-color: ${theme.colors.secondaryDark};
298
+ }
299
+ `;
300
+
301
+ const MODAL_ROOT_ID = 'hhg-modals';
302
+ const getModalsRoot = () => {
303
+ let el = document.getElementById(MODAL_ROOT_ID);
304
+ if (!el) {
305
+ el = document.createElement('div');
306
+ el.setAttribute('id', MODAL_ROOT_ID);
307
+ document.body.append(el);
308
+ }
309
+ return el;
310
+ };
311
+ const cleanUpModalShow = () => {
312
+ const selector = '.hhg-modal[data-open="true"]';
313
+ const remainingPopupOpened = document.querySelectorAll(selector);
314
+ // Remove the opening class if there are only 1 popup is shown
315
+ if (remainingPopupOpened.length < 1) {
316
+ document.body.classList.remove('hhc-modal-show');
317
+ }
318
+ };
319
+ const cleanUpDisabledScroll = () => {
320
+ // Clear the overflow if there are only 1 popup is shown. useEffect runs after so the count number becomes zero
321
+ const selector = '.hhg-modal[data-open="true"]';
322
+ const remainingPopupOpened = document.querySelectorAll(selector);
323
+ if (remainingPopupOpened.length < 1) {
324
+ document.body.style.overflow = '';
325
+ document.body.style.paddingRight = '';
326
+ document.body.classList.remove('hhc-disabled-scroll');
327
+ }
328
+ };
329
+ /**
330
+ * @deprecated Consider to use at '@hhgtech/hhg-components/mantine'
331
+ */
332
+ const Modal = ({ type = 'lead', closeIcon, isOpen = true, onClose, children, className = '', animationType = 'scaleUp', isStaticBackdrop = false, siteType, }) => {
333
+ const [mounted, setMounted] = useState(false);
334
+ const elRef = useRef(null);
335
+ const { width: scrollBarWidth } = useScrollbarSize();
336
+ if (!elRef.current && mounted) {
337
+ elRef.current = document.createElement('div');
338
+ }
339
+ useEffect(() => {
340
+ setMounted(true);
341
+ return () => {
342
+ setMounted(false);
343
+ cleanUpModalShow();
344
+ cleanUpDisabledScroll();
345
+ };
346
+ }, []);
347
+ useEffect(() => {
348
+ if (mounted) {
349
+ const modalsRoot = getModalsRoot();
350
+ modalsRoot.appendChild(elRef.current);
351
+ return () => {
352
+ modalsRoot.removeChild(elRef.current);
353
+ };
354
+ }
355
+ }, [mounted]);
356
+ useEffect(() => {
357
+ if (isOpen) {
358
+ document.body.classList.add('hhc-modal-show');
359
+ }
360
+ else {
361
+ cleanUpModalShow();
362
+ }
363
+ }, [isOpen]);
364
+ useEffect(() => {
365
+ if (isOpen) {
366
+ document.body.style.overflow = 'hidden';
367
+ document.body.style.paddingRight = scrollBarWidth + 'px';
368
+ document.body.classList.add('hhc-disabled-scroll');
369
+ }
370
+ else {
371
+ cleanUpDisabledScroll();
372
+ }
373
+ }, [isOpen, scrollBarWidth]);
374
+ if (!mounted)
375
+ return null;
376
+ const classes = ['hhg-modal__wrapper', className, animationType]
377
+ .filter((s) => s)
378
+ .join(' ');
379
+ return createPortal(React__default.createElement(StyledModalWrapper, { className: classes, "data-open": isOpen, "data-type": type },
380
+ !isStaticBackdrop && (React__default.createElement(StyledModalMask, { "data-open": isOpen, onClick: onClose, "data-type": type })),
381
+ !isStaticBackdrop && type === 'video' && !!closeIcon && (React__default.createElement("div", { className: "hhg-modal__close", onClick: onClose }, closeIcon)),
382
+ React__default.createElement(StyledModal, { className: "hhg-modal", "data-open": isOpen, "data-site-type": siteType },
383
+ React__default.createElement("div", { className: type === 'video' ? 'hhg-modal__video' : 'hhg-modal__content' },
384
+ !!closeIcon && type !== 'video' && (React__default.createElement("div", { className: "hhg-modal__close", onClick: onClose }, closeIcon)),
385
+ children))), elRef.current);
386
+ };
387
+
388
+ styled(PureInput) `
389
+ & input,
390
+ .mantine-Input-input {
391
+ border-color: ${theme.mbColors.lightGray};
392
+ background-color: ${theme.colors.white};
393
+ border-radius: 16px;
394
+ transition: all 0.2s ease;
395
+ &:focus,
396
+ &:hover {
397
+ border-color: ${theme.mbColors.pink};
398
+ box-shadow: none;
399
+ }
400
+ }
401
+
402
+ & .displayIcon {
403
+ pointer-events: none;
404
+ }
405
+ `;
406
+ const StyledTextField = styled(Input) `
407
+ & label {
408
+ position: absolute;
409
+ z-index: 1;
410
+ top: 16px;
411
+
412
+ left: 16px;
413
+ color: ${theme.mbColors.midGray};
414
+ pointer-events: none;
415
+ transition: all 0.2s ease;
416
+ white-space: nowrap;
417
+ overflow: hidden;
418
+ text-overflow: ellipsis;
419
+ max-width: 240px;
420
+
421
+ &[data-size='label2'] {
422
+ font-size: 12px;
423
+ }
424
+
425
+ ${MediaQueries.tdDown} {
426
+ max-width: 220px;
427
+ }
428
+ }
429
+ & input,
430
+ .mantine-Input-input {
431
+ ::placeholder {
432
+ color: ${theme.mbColors.gray};
433
+ font-size: 14px;
434
+ }
435
+
436
+ ::-webkit-input-placeholder {
437
+ /* Chrome/Opera/Safari */
438
+ color: ${theme.mbColors.gray};
439
+ font-size: 14px;
440
+ }
441
+ ::-moz-placeholder {
442
+ /* Firefox 19+ */
443
+ color: ${theme.mbColors.gray};
444
+ font-size: 14px;
445
+ }
446
+ :-ms-input-placeholder {
447
+ /* IE 10+ */
448
+ color: ${theme.mbColors.gray};
449
+ font-size: 14px;
450
+ }
451
+ :-moz-placeholder {
452
+ /* Firefox 18- */
453
+ color: ${theme.mbColors.gray};
454
+ font-size: 14px;
455
+ }
456
+ height: ${(props) => (props.size === 'sm' ? 48 : 72)}px !important;
457
+ padding-top: 27px !important;
458
+ border-color: ${theme.mbColors.lightGray} !important;
459
+ background-color: ${theme.colors.white};
460
+ border-radius: 16px !important;
461
+ transition: all 0.2s ease;
462
+ padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
463
+
464
+ &:focus,
465
+ &:hover {
466
+ border-color: ${theme.mbColors.pink};
467
+ box-shadow: none;
468
+ }
469
+ }
470
+ .mantine-Input-rightSection,
471
+ .mantine-Input-leftSection {
472
+ padding-top: 20px;
473
+ }
474
+
475
+ &[data-has-action-icon] {
476
+ input,
477
+ .mantine-Input-input {
478
+ padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
479
+ padding-bottom: ${(props) => (props.value ? '16px' : '27px')} !important;
480
+ height: unset !important;
481
+ }
482
+
483
+ label {
484
+ position: absolute;
485
+ z-index: 1;
486
+ top: 16px;
487
+ padding-right: 46px;
488
+ }
489
+ }
490
+ `;
491
+
492
+ var DueDateCalculatorType;
493
+ (function (DueDateCalculatorType) {
494
+ DueDateCalculatorType[DueDateCalculatorType["lastPeriod"] = 0] = "lastPeriod";
495
+ DueDateCalculatorType[DueDateCalculatorType["conception"] = 1] = "conception";
496
+ DueDateCalculatorType[DueDateCalculatorType["IVF"] = 2] = "IVF";
497
+ })(DueDateCalculatorType || (DueDateCalculatorType = {}));
498
+ const API_DATE_FORMAT = 'yyyy-MM-dd';
499
+ const getDueDateLastPeriod = (lastPeriodDate, periodLength) => {
500
+ const pregnancyLength = 272 + (periodLength - 21);
501
+ const dueDate = new Date(lastPeriodDate);
502
+ dueDate.setDate(dueDate.getDate() + pregnancyLength);
503
+ return {
504
+ startDate: lastPeriodDate,
505
+ dueDate,
506
+ otherInfo: {
507
+ method: DueDateCalculatorType.lastPeriod + 1,
508
+ first_day: format(lastPeriodDate, API_DATE_FORMAT),
509
+ cycle_length_days: periodLength,
510
+ conception_date: null,
511
+ ivf_transfer_date: null,
512
+ days_transfer: null,
513
+ },
514
+ };
515
+ };
516
+ const getDueDateConception = (conceptionDate) => {
517
+ const dueDate = new Date(conceptionDate);
518
+ dueDate.setDate(dueDate.getDate() + 265);
519
+ return {
520
+ startDate: conceptionDate,
521
+ dueDate,
522
+ otherInfo: {
523
+ method: DueDateCalculatorType.conception + 1,
524
+ conception_date: format(conceptionDate, API_DATE_FORMAT),
525
+ first_day: null,
526
+ cycle_length_days: null,
527
+ ivf_transfer_date: null,
528
+ days_transfer: null,
529
+ },
530
+ };
531
+ };
532
+ const getDueDateIVF = (IVFDate, numDayTransfer) => {
533
+ const dueDate = new Date(IVFDate);
534
+ dueDate.setDate(dueDate.getDate() + 265 - numDayTransfer);
535
+ return {
536
+ startDate: IVFDate,
537
+ dueDate,
538
+ otherInfo: {
539
+ method: DueDateCalculatorType.IVF + 1,
540
+ ivf_transfer_date: format(IVFDate, API_DATE_FORMAT),
541
+ days_transfer: numDayTransfer,
542
+ conception_date: null,
543
+ first_day: null,
544
+ cycle_length_days: null,
545
+ },
546
+ };
547
+ };
548
+ const DateToInputValue = (date) => {
549
+ return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
550
+ };
551
+
552
+ const FormLayoutContext = createContext({});
553
+
554
+ const useStyles$8 = createStyles(() => {
555
+ return {
556
+ root: {
557
+ display: 'flex',
558
+ flexDirection: 'column',
559
+ gap: rem(8),
560
+ },
561
+ };
562
+ });
563
+ const FormRow = (_a) => {
564
+ var { styles, classNames, className, children } = _a, props = __rest(_a, ["styles", "classNames", "className", "children"]);
565
+ const { classes, cx } = useStyles$8(undefined, {
566
+ name: 'HealthToolFormWrapper__FormRow',
567
+ styles,
568
+ classNames,
569
+ });
570
+ return (React__default.createElement(Box, Object.assign({ className: cx(className, classes.root) }, props), children));
571
+ };
572
+
573
+ var useStyles$7 = createStyles((theme, { formLayout }) => {
574
+ return {
575
+ root: {
576
+ display: 'flex',
577
+ flexDirection: 'column',
578
+ gap: rem(formLayout === 'inline' ? 8 : 16),
579
+ '.mantine-Input-input::placeholder, .mantine-Input-input[data-invalid]::placeholder': {
580
+ color: '#8C8C8C',
581
+ },
582
+ },
583
+ control: {
584
+ width: rem(180),
585
+ flexShrink: 1,
586
+ '&.error': {
587
+ 'button, input': {
588
+ borderColor: theme.colors.red[7],
589
+ },
590
+ },
591
+ },
592
+ };
593
+ });
594
+
595
+ const useStyles$6 = createStyles((theme, { formLayout }) => {
596
+ const isMarryBaby = theme.other.template === 'mb';
597
+ return {
598
+ root: Object.assign(Object.assign({}, (formLayout === 'inline' && {
599
+ alignSelf: 'flex-end',
600
+ marginTop: rem(16),
601
+ })), (formLayout === 'default' && Object.assign({}, (isMarryBaby && {
602
+ minWidth: rem(180),
603
+ alignSelf: 'center',
604
+ })))),
605
+ };
606
+ });
607
+ const SubmitBtn = (_a) => {
608
+ var { styles, classNames, className } = _a, props = __rest(_a, ["styles", "classNames", "className"]);
609
+ const { formLayout } = useContext(FormLayoutContext);
610
+ const { classes, cx } = useStyles$6({ formLayout }, {
611
+ name: 'HealthToolFormWrapper',
612
+ styles,
613
+ classNames,
614
+ });
615
+ return (React__default.createElement(Button, Object.assign({ className: cx('submit-btn', className, classes.root) }, props, { variant: "primary", size: "md" })));
616
+ };
617
+
618
+ const useStyles$5 = createStyles((theme) => {
619
+ return {
620
+ root: {
621
+ color: theme.colors.gray[6],
622
+ whiteSpace: 'nowrap',
623
+ paddingRight: rem(16),
624
+ },
625
+ };
626
+ });
627
+ const Unit = (_a) => {
628
+ var { styles, classNames, className } = _a, props = __rest(_a, ["styles", "classNames", "className"]);
629
+ const { classes, cx } = useStyles$5(undefined, {
630
+ name: 'HealthToolFormWrapper__UnitText',
631
+ styles,
632
+ classNames,
633
+ });
634
+ return React__default.createElement(Text, Object.assign({ size: "p4", className: cx(className, classes.root) }, props));
635
+ };
636
+
637
+ var useStyles$4 = createStyles((theme, { width }) => {
638
+ return {
639
+ row: {
640
+ display: 'flex',
641
+ alignItems: 'stretch',
642
+ justifyContent: 'space-between',
643
+ gap: rem(16),
644
+ },
645
+ labelWrapper: {
646
+ flex: '1 1 0px',
647
+ display: 'flex',
648
+ alignItems: 'center',
649
+ borderBottom: `1px solid ${theme.colors.neutral[1]}`,
650
+ },
651
+ label: {
652
+ fontSize: rem(14),
653
+ color: theme.colors.gray[6],
654
+ },
655
+ content: {
656
+ display: 'flex',
657
+ alignItems: 'center',
658
+ gap: rem(8),
659
+ input: {
660
+ backgroundColor: '#fff',
661
+ },
662
+ },
663
+ control: {
664
+ width: typeof width === 'number' ? rem(width) : width,
665
+ flexShrink: 1,
666
+ '&.error': {
667
+ 'button, input': {
668
+ borderColor: theme.colors.red[7],
669
+ },
670
+ },
671
+ },
672
+ };
673
+ });
674
+
675
+ const BorderBoxControl = ({ label, children, styles, classNames, width = 180, }) => {
676
+ const { classes } = useStyles$4({ width }, {
677
+ name: 'HealthToolFormWrapper__BorderBoxControl',
678
+ styles,
679
+ classNames,
680
+ });
681
+ return (React__default.createElement(Box, { className: classes.row },
682
+ React__default.createElement(Box, { className: classes.labelWrapper }, label && (React__default.createElement("label", { className: classes.label, htmlFor: "gender" }, label))),
683
+ React__default.createElement(Box, { className: classes.content }, flattenChildren(children).map((i, idx) => (React__default.createElement(Box, { key: idx, className: classes.control }, i))))));
684
+ };
685
+
686
+ var useStyles$3 = createStyles((theme, { width }) => {
687
+ return {
688
+ row: {
689
+ display: 'flex',
690
+ alignItems: 'stretch',
691
+ justifyContent: 'space-between',
692
+ gap: rem(16),
693
+ },
694
+ labelWrapper: {
695
+ flex: '1 1 0px',
696
+ display: 'flex',
697
+ alignItems: 'center',
698
+ borderBottom: `1px solid ${theme.colors.neutral[1]}`,
699
+ },
700
+ label: {
701
+ fontSize: rem(14),
702
+ color: theme.colors.gray[6],
703
+ },
704
+ content: {
705
+ display: 'flex',
706
+ alignItems: 'center',
707
+ gap: rem(8),
708
+ input: {
709
+ backgroundColor: '#fff',
710
+ },
711
+ },
712
+ control: {
713
+ width: typeof width === 'number' ? rem(width) : width,
714
+ flexShrink: 1,
715
+ '&.error': {
716
+ 'button, input': {
717
+ borderColor: theme.colors.red[7],
718
+ },
719
+ },
720
+ },
721
+ };
722
+ });
723
+
724
+ const BorderInlineControl = ({ label, children, styles, classNames, width = 180, }) => {
725
+ const { classes } = useStyles$3({ width }, {
726
+ name: 'HealthToolFormWrapper__BorderInlineControl',
727
+ styles,
728
+ classNames,
729
+ });
730
+ return (React__default.createElement(Box, { className: classes.row },
731
+ React__default.createElement(Box, { className: classes.labelWrapper }, label && (React__default.createElement("label", { className: classes.label, htmlFor: "gender" }, label))),
732
+ React__default.createElement(Box, { className: classes.content }, flattenChildren(children).map((i, idx) => (React__default.createElement(Box, { key: idx, className: classes.control }, i))))));
733
+ };
734
+
735
+ const useStyles$2 = createStyles(() => {
736
+ return {
737
+ root: {
738
+ color: 'red',
739
+ textAlign: 'right',
740
+ width: 'auto',
741
+ },
742
+ };
743
+ });
744
+ const Error = (_a) => {
745
+ var { styles, classNames, className } = _a, props = __rest(_a, ["styles", "classNames", "className"]);
746
+ const { classes, cx } = useStyles$2(undefined, {
747
+ name: 'HealthToolFormWrapper__UnitText',
748
+ styles,
749
+ classNames,
750
+ });
751
+ return React__default.createElement(Text, Object.assign({ size: "p4", className: cx(className, classes.root) }, props));
752
+ };
753
+
754
+ var useStyles$1 = createStyles((theme$1) => {
755
+ const isMarryBaby = theme$1.other.template === 'mb';
756
+ return {
757
+ root: {
758
+ label: Object.assign({}, (isMarryBaby && {
759
+ color: theme.mbColors.midGray,
760
+ fontSize: rem(12),
761
+ fontWeight: 'normal',
762
+ })),
763
+ },
764
+ };
765
+ });
766
+
767
+ const Control = (_a) => {
768
+ var { className, styles, classNames } = _a, rest = __rest(_a, ["className", "styles", "classNames"]);
769
+ const { classes, cx } = useStyles$1(undefined, {
770
+ name: 'HealthToolFormWrapper__Control',
771
+ styles,
772
+ classNames,
773
+ });
774
+ return React__default.createElement(Box, Object.assign({ className: cx(className, classes.root) }, rest));
775
+ };
776
+
777
+ const _HealthToolFormWrapper = (_a) => {
778
+ var { children, formLayout: formLayoutProp, styles, classNames, className } = _a, rest = __rest(_a, ["children", "formLayout", "styles", "classNames", "className"]);
779
+ const formLayout = formLayoutProp || 'default';
780
+ const { classes, cx } = useStyles$7({ formLayout }, {
781
+ name: 'HealthToolFormWrapper',
782
+ styles,
783
+ classNames,
784
+ });
785
+ return (React__default.createElement(FormLayoutContext.Provider, { value: {
786
+ formLayout,
787
+ } },
788
+ React__default.createElement(Box, Object.assign({ component: "form", className: cx(className, classes.root) }, rest), children)));
789
+ };
790
+ const HealthToolFormWrapper = _HealthToolFormWrapper;
791
+ HealthToolFormWrapper.Control = Control;
792
+ HealthToolFormWrapper.BorderInlineControl = BorderInlineControl;
793
+ HealthToolFormWrapper.BorderBoxControl = BorderBoxControl;
794
+ HealthToolFormWrapper.Error = Error;
795
+ HealthToolFormWrapper.FormRow = FormRow;
796
+ HealthToolFormWrapper.Submit = SubmitBtn;
797
+ HealthToolFormWrapper.Unit = Unit;
798
+
799
+ const BabyGrowthFormContext = createContext({});
800
+
801
+ styled.div `
802
+ display: flex;
803
+ flex-direction: column;
804
+ gap: 16px;
805
+ padding-block: 40px;
806
+
807
+ &[data-theme='true'] {
808
+ padding-block: 0;
809
+ padding-top: 12px;
810
+ }
811
+ `;
812
+ const StyledFormControl = styled.div `
813
+ display: flex;
814
+ flex-direction: column;
815
+ gap: 6px;
816
+ margin-top: auto;
817
+
818
+ .error-input input {
819
+ border: 1px solid ${theme.colors.red700};
820
+ }
821
+ `;
822
+ const StyledInlineLabel = styled(Label) `
823
+ display: inline-flex;
824
+ padding-bottom: 6px;
825
+ gap: 4px;
826
+ `;
827
+ const StyledRow = styled.div `
828
+ display: flex;
829
+ width: 100%;
830
+ align-items: center;
831
+ justify-content: space-between;
832
+ gap: 16px;
833
+ > div {
834
+ width: 100%;
835
+ }
836
+ `;
837
+
838
+ const DefaultForm = (props) => {
839
+ const { t } = useTranslations();
840
+ const { control, currentUrl, isEmptyThreeFields, siteType } = useContext(BabyGrowthFormContext);
841
+ const commonDateProps = {
842
+ placeholder: 'DD/MM/YYYY',
843
+ popoverProps: {
844
+ withinPortal: true,
845
+ },
846
+ };
847
+ return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
848
+ React__default.createElement(Controller, { control: control, name: "gender", render: ({ field: { onChange } }) => (React__default.createElement(HealthToolFormWrapper.Control, null,
849
+ React__default.createElement(GenderOptionControl, { isBaby: true, genderValue: {
850
+ male: 'boy',
851
+ female: 'girl',
852
+ }, onChange: onChange }))) }),
853
+ siteType === 'marryBaby' ? (React__default.createElement(React__default.Fragment, null,
854
+ React__default.createElement(Controller, { control: control, name: "birthday", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
855
+ React__default.createElement(StyledTextField, { label: t('babyGrowth.input.birthday'), name: "birthday", size: "md", value: String(value), CustomInput: React__default.createElement(DatePicker, Object.assign({}, commonDateProps, { onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', rightSection: React__default.createElement(CalendarMB, { size: 32 }) })) }))) }),
856
+ React__default.createElement(StyledRow, null,
857
+ React__default.createElement(Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
858
+ React__default.createElement(StyledTextField, { label: `${t('babyGrowth.height')} ${t('babyGrowth.cm')}`, name: "height", size: "md", value: String(value), CustomInput: React__default.createElement(Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
859
+ ? 'error-input'
860
+ : '', name: "height", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
861
+ e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
862
+ React__default.createElement(Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
863
+ React__default.createElement(StyledTextField, { label: `${t('babyGrowth.weight')} ${t('babyGrowth.kg')}`, name: "weight", size: "md", value: String(value), CustomInput: React__default.createElement(Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
864
+ ? 'error-input'
865
+ : '', name: "weight", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
866
+ e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) })),
867
+ React__default.createElement(StyledRow, null,
868
+ React__default.createElement(Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
869
+ React__default.createElement(StyledTextField, { label: `${t('babyGrowth.headCircumference')} ${t('babyGrowth.cm')}`, name: "head", size: "md", value: String(value), CustomInput: React__default.createElement(Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
870
+ ? 'error-input'
871
+ : '', name: "head", size: "md", value: String(value), onChange: onChange, type: "number", placeholder: "Nh\u1EADp th\u00F4ng tin", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
872
+ e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
873
+ React__default.createElement(Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default.createElement(StyledFormControl, null,
874
+ React__default.createElement(StyledTextField, { label: `${t('babyGrowth.input.bmi')} ${t('babyGrowth.kg.m2')}`, name: "date", size: "md", value: String(value), CustomInput: React__default.createElement(Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true, style: { color: '#9495A0' } }) }))) })),
875
+ React__default.createElement(Controller, { control: control, name: "measurementDate", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
876
+ React__default.createElement(StyledTextField, { label: t('babyGrowth.input.measurementDate'), name: "date", size: "md", value: DateToInputValue(value), CustomInput: React__default.createElement(DatePicker, Object.assign({}, commonDateProps, { defaultValue: new Date(), maxDate: new Date(), onChange: onChange, className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', rightSection: React__default.createElement(CalendarMB, { size: 32 }) })) }))) }),
877
+ React__default.createElement(HealthToolFormWrapper.Submit, { type: "submit", "data-event-category": "Health Tool", "data-event-action": "Baby Growth", "data-event-label": currentUrl }, t('babyGrowth.input.submit')))) : (React__default.createElement(React__default.Fragment, null,
878
+ React__default.createElement(Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
879
+ React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "birthday" },
880
+ React__default.createElement(Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.birthday'))),
881
+ React__default.createElement(DatePicker, Object.assign({}, commonDateProps, { onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '' })))) }),
882
+ React__default.createElement(StyledRow, null,
883
+ React__default.createElement(Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
884
+ React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "height" },
885
+ React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.height')),
886
+ React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.cm'))),
887
+ React__default.createElement(Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', name: "height", placeholder: "0", size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }))) }),
888
+ React__default.createElement(Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
889
+ React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "weight" },
890
+ React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.weight')),
891
+ React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.kg'))),
892
+ React__default.createElement(Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', name: "weight", placeholder: "0", size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }))) })),
893
+ React__default.createElement(StyledRow, null,
894
+ React__default.createElement(Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default.createElement(StyledFormControl, null,
895
+ React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "head" },
896
+ React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.headCircumference')),
897
+ React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.cm'))),
898
+ React__default.createElement(Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', name: "head", placeholder: "0", size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }))) }),
899
+ React__default.createElement(Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default.createElement(StyledFormControl, null,
900
+ React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "bmi" },
901
+ React__default.createElement(Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.input.bmi')),
902
+ React__default.createElement(Text, { as: "span", size: "n1", color: theme.colors.gray400 }, t('babyGrowth.kg.m2'))),
903
+ React__default.createElement(Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true }))) })),
904
+ React__default.createElement(Controller, { control: control, name: "measurementDate", render: ({ field: { onChange }, fieldState: { error } }) => (React__default.createElement(StyledFormControl, null,
905
+ React__default.createElement(StyledInlineLabel, { size: "label1", htmlFor: "measurementDate" },
906
+ React__default.createElement(Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.measurementDate'))),
907
+ React__default.createElement(DatePicker, Object.assign({}, commonDateProps, { defaultValue: new Date(), onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '' })))) }),
908
+ React__default.createElement(HealthToolFormWrapper.Submit, { type: "submit", variant: 'primary', "data-event-category": "Health Tool", "data-event-action": "Baby Growth", "data-event-label": currentUrl }, t('babyGrowth.input.submit'))))));
909
+ };
910
+
911
+ var useStyles = createStyles((theme) => {
912
+ return {
913
+ root: {
914
+ display: 'flex',
915
+ flexDirection: 'column',
916
+ gap: rem(8),
917
+ },
918
+ bmiVal: {
919
+ display: 'inline-block',
920
+ },
921
+ unitText: {
922
+ color: theme.colors.gray[6],
923
+ },
924
+ submitBtn: {},
925
+ };
926
+ });
927
+
928
+ const InlineForm = (_a) => {
929
+ var { styles, classNames } = _a, props = __rest(_a, ["styles", "classNames"]);
930
+ const { t } = useTranslations();
931
+ const { control, currentUrl, isEmptyThreeFields } = useContext(BabyGrowthFormContext);
932
+ const { classes, cx } = useStyles(undefined, {
933
+ name: 'BabyGrowthForm__InlineForm',
934
+ styles,
935
+ classNames,
936
+ });
937
+ const commonDateProps = {
938
+ placeholder: 'DD/MM/YYYY',
939
+ popoverProps: {
940
+ withinPortal: true,
941
+ },
942
+ };
943
+ return (React__default.createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline", className: classes.root }, props),
944
+ React__default.createElement(Controller, { control: control, name: "gender", render: ({ field: { onChange } }) => (React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('tools.selectBabyGender') },
945
+ React__default.createElement(GenderOptionControl, { type: "radio", hideLabel: true, isBaby: true, genderValue: {
946
+ male: 'boy',
947
+ female: 'girl',
948
+ }, onChange: onChange }))) }),
949
+ React__default.createElement(Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => {
950
+ return (React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('babyGrowth.input.birthday') },
951
+ React__default.createElement(DatePicker, Object.assign({}, commonDateProps, { className: cx(error ? 'error' : ''), onChange: onChange, maxDate: new Date() }))));
952
+ } }),
953
+ React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: "BMI", styles: {
954
+ control: {
955
+ '&:first-child': {
956
+ width: 'auto',
957
+ },
958
+ },
959
+ } },
960
+ React__default.createElement(Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default.createElement(React__default.Fragment, null,
961
+ React__default.createElement(Text, { size: "p3" },
962
+ React__default.createElement("span", { className: classes.bmiVal }, !isNaN(Number(value)) && value !== '0' ? value : ''),
963
+ t('babyGrowth.kg.m2')))) }),
964
+ React__default.createElement(Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(Box, { className: cx(isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
965
+ React__default.createElement(Input$1, { name: "height", placeholder: t('babyGrowth.height'), size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.cm')) }))) }),
966
+ React__default.createElement(Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(Box, { className: cx(isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
967
+ React__default.createElement(Input$1, { name: "weight", placeholder: t('babyGrowth.weight'), size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.kg')) }))) })),
968
+ React__default.createElement(Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('babyGrowth.headCircumference') },
969
+ React__default.createElement(Box, { className: cx(isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
970
+ React__default.createElement(Input$1, { name: "head", placeholder: "0", size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), rightSection: React__default.createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.cm')) })))) }),
971
+ React__default.createElement(Controller, { control: control, name: "measurementDate", render: ({ field: { onChange } }) => (React__default.createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('babyGrowth.input.measurementDate') },
972
+ React__default.createElement(DatePicker, Object.assign({}, commonDateProps, { defaultValue: new Date(), onChange: onChange, maxDate: new Date() })))) }),
973
+ React__default.createElement(HealthToolFormWrapper.Submit, { type: "submit", "data-event-category": "Health Tool", "data-event-action": "Baby Growth", "data-event-label": currentUrl, className: classes.submitBtn }, t('babyGrowth.input.submit'))));
974
+ };
975
+
976
+ /**
977
+ * Using {@link Intl.NumberFormat} to covert a number to string base on its locale
978
+ * @param {number} num - Number to convert
979
+ * @param {number} maximumFractionDigits - Number of decimal digits
980
+ * @returns {string} - String based number
981
+ */
982
+ const localizeNumberFormat = (num, maximumFractionDigits = 2) => {
983
+ return Intl.NumberFormat(undefined, {
984
+ maximumFractionDigits,
985
+ }).format(num);
986
+ };
987
+
988
+ /**
989
+ * Calculate BMI
990
+ * Using {@link localizeNumberFormat} to convert number based on locale
991
+ * @param {number} height - Height in number
992
+ * @param {number} weight - Weight in number
993
+ * @returns {number} - BMI with 2 decimal digits
994
+ */
995
+ const bmiCalculate = (height = 0, weight = 0) => {
996
+ try {
997
+ if (height && weight) {
998
+ const bmi = Number(weight) / Math.pow(Number(height) / 100, 2);
999
+ return Number(localizeNumberFormat(bmi));
1000
+ }
1001
+ else {
1002
+ return 0;
1003
+ }
1004
+ }
1005
+ catch (error) { }
1006
+ return 0;
1007
+ };
1008
+
1009
+ const BabyGrowthForm = (_a) => {
1010
+ var { onSubmit, onError, schema, formLayout = 'default' } = _a, rest = __rest(_a, ["onSubmit", "onError", "schema", "formLayout"]);
1011
+ const theme = useMantineTheme();
1012
+ const isMarryBaby = theme.other.template === 'mb';
1013
+ const siteType = isMarryBaby ? 'marryBaby' : 'helloSites';
1014
+ const { control, setValue, watch, handleSubmit, formState: { isSubmitted }, } = useForm({
1015
+ resolver: yupResolver(schema),
1016
+ mode: 'onSubmit',
1017
+ defaultValues: {
1018
+ name: '',
1019
+ gender: Gender.Boy,
1020
+ measurementDate: new Date(),
1021
+ },
1022
+ });
1023
+ const weight = watch('weight');
1024
+ const height = watch('height');
1025
+ const head = watch('head');
1026
+ const isEmptyThreeFields = useMemo(() => isSubmitted && !weight && !height && !head, [isSubmitted, weight, height, head]);
1027
+ useEffect(() => {
1028
+ const bmi = bmiCalculate(height, weight);
1029
+ setValue('bmi', String(bmi) || '0');
1030
+ }, [weight, height]);
1031
+ const currentUrl = useMemo(() => {
1032
+ if (typeof window !== 'undefined') {
1033
+ return window.location.href;
1034
+ }
1035
+ else
1036
+ return '';
1037
+ }, []);
1038
+ const commonProps = Object.assign({ onSubmit: handleSubmit(onSubmit, onError) }, rest);
1039
+ return (React__default.createElement(BabyGrowthFormContext.Provider, { value: {
1040
+ isEmptyThreeFields,
1041
+ control,
1042
+ currentUrl,
1043
+ siteType,
1044
+ } }, formLayout === 'default' ? (React__default.createElement(DefaultForm, Object.assign({}, commonProps))) : (React__default.createElement(InlineForm, Object.assign({}, commonProps)))));
1045
+ };
1046
+
1047
+ export { API_DATE_FORMAT as A, BabyGrowthForm as B, Drawer as D, GenderOptionControl as G, HealthToolFormWrapper as H, Modal as M, RadioImageGroup as R, StyledTextField as S, DateToInputValue as a, getDueDateIVF as b, getDueDateLastPeriod as c, DueDateCalculatorType as d, getDueDateConception as g };