@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,1066 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var core = require('@mantine/core');
5
+ var utils = require('./utils-e385ce42.js');
6
+ var index_styles = require('./index.styles-157337bd.js');
7
+ var index = require('./index-31d3a0cd.js');
8
+ var theme = require('./theme-986ab943.js');
9
+ var index$1 = require('./index-fbb66d3d.js');
10
+ var index$2 = require('./index-e1bfc5cd.js');
11
+ var useScrollbarSize = require('./useScrollbarSize-c03e70df.js');
12
+ var ReactDOM = require('react-dom');
13
+ var styled = require('@emotion/styled');
14
+ var utils$1 = require('./utils-29574e04.js');
15
+ var tslib_es6 = require('./tslib.es6-cda3ff06.js');
16
+ var yup = require('@hookform/resolvers/yup');
17
+ var index$7 = require('./index-ccb48ca2.js');
18
+ var reactHookForm = require('react-hook-form');
19
+ var other = require('@hhgtech/icons/other');
20
+ var index$4 = require('./index-a5aa5d5c.js');
21
+ var index$3 = require('./index-7c76f198.js');
22
+ var index$5 = require('./index-4d5f141c.js');
23
+ require('./utils-a7153a3d.js');
24
+ var index$6 = require('./index-65ed0de1.js');
25
+ var useTranslations = require('./useTranslations-e5a4e00e.js');
26
+ require('@mantine/hooks');
27
+ require('./useMantineLocale-5f5000f2.js');
28
+ require('./index-0a0b5799.js');
29
+ require('./WhatsApp-7c990a33.js');
30
+ require('./index.styled-02090cfc.js');
31
+ require('./index-d9e9dcc3.js');
32
+ var constants = require('./constants-e7f8b0d2.js');
33
+ require('@mantine/dates');
34
+ var dateFns = require('date-fns');
35
+ var flattenChildren = require('react-keyed-flatten-children');
36
+
37
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
38
+
39
+ var React__default = /*#__PURE__*/_interopDefault(React);
40
+ var styled__default = /*#__PURE__*/_interopDefault(styled);
41
+ var flattenChildren__default = /*#__PURE__*/_interopDefault(flattenChildren);
42
+
43
+ const Backdrop = ({ open = false, onClickOutside, }) => {
44
+ return (React__default["default"].createElement(index_styles.StyledBackdrop, { "data-open": open, onClick: onClickOutside }));
45
+ };
46
+
47
+ /**
48
+ * @deprecated Consider to use at '@hhgtech/hhg-components/mantine'
49
+ */
50
+ const Drawer = ({ children, title, onClose, open = false, placement = 'left', destroyOnClose = false, isPropagationEvent = true, className, }) => {
51
+ const ref = React.useRef();
52
+ React.useEffect(() => {
53
+ utils.toggleNoScroll(open);
54
+ return () => utils.toggleNoScroll(false);
55
+ }, [open]);
56
+ const onCloseDrawer = () => {
57
+ ref.current.classList.add('slideOut');
58
+ setTimeout(() => {
59
+ onClose();
60
+ }, 800);
61
+ };
62
+ if (!open && destroyOnClose) {
63
+ return null;
64
+ }
65
+ return (React__default["default"].createElement(core.Portal, null,
66
+ React__default["default"].createElement(index_styles.StyledDrawer, { className: className, open: open },
67
+ React__default["default"].createElement(Backdrop, { open: open, onClickOutside: onCloseDrawer }),
68
+ React__default["default"].createElement(index_styles.StyledDrawerPanel, { open: open, placement: placement, ref: ref, hasTitle: Boolean(title) },
69
+ React__default["default"].createElement("div", { className: "title" },
70
+ title && (React__default["default"].createElement(index.Text, { size: "s2", weight: "semiBold" }, title)),
71
+ React__default["default"].createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", className: "close-button", onClick: onCloseDrawer },
72
+ React__default["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" }))),
73
+ React__default["default"].createElement(index_styles.StyledDrawerContent, { onClick: (e) => {
74
+ if (isPropagationEvent) {
75
+ e.stopPropagation();
76
+ }
77
+ } }, children &&
78
+ (React__default["default"].isValidElement(children)
79
+ ? children
80
+ : typeof children === 'function'
81
+ ? children({
82
+ internalClose: onCloseDrawer,
83
+ })
84
+ : null))))));
85
+ };
86
+
87
+ const RadioImageGroup = ({ value, options, className, direction = 'horizontal', onChange, isDisabled, siteType, }) => {
88
+ const [check, setCheck] = React.useState(value);
89
+ const handleOnChange = (v) => {
90
+ if (isDisabled)
91
+ return;
92
+ setCheck(v);
93
+ onChange && onChange(v);
94
+ };
95
+ const isMarryBaby = siteType === 'marryBaby';
96
+ return (React__default["default"].createElement(index_styles.StyledRadioImageGroup, { className: className, "data-direction": direction }, options.map((option, index) => (React__default["default"].createElement(index_styles.StyledRadioImageItem, { "data-selected": (value || check) === option.value, "data-is-mb": isMarryBaby, "data-disabled": isDisabled, key: index, onClick: () => {
97
+ handleOnChange(option.value);
98
+ } },
99
+ React__default["default"].createElement("div", null,
100
+ option.content,
101
+ option.label && (React__default["default"].createElement(React__default["default"].Fragment, null, isMarryBaby ? (React__default["default"].createElement(index$1.MarryBabyText, { type: "subtitle-2", color: (value || check) === option.value
102
+ ? theme.theme.mbColors.dark
103
+ : theme.theme.mbColors.midGray }, option.label)) : (React__default["default"].createElement(index$2.Text, { type: "bold", color: (value || check) === option.value ? '#2D87F3' : 'black', className: "radio-group-item-heading", size: "label1" }, option.label))))))))));
104
+ };
105
+
106
+ const GenderOptionControl = (_a) => {
107
+ var { label, availableValue: availableValueInit, styles, isBaby, genderValue = {
108
+ male: 'male',
109
+ female: 'female',
110
+ }, type = 'button', hideLabel } = _a, radioProps = tslib_es6.__rest(_a, ["label", "availableValue", "styles", "isBaby", "genderValue", "type", "hideLabel"]);
111
+ const { t } = useTranslations.useTranslations();
112
+ const { classes, cx, theme } = index_styles.useStyles$1({ type }, {
113
+ name: 'GenderOptionControl',
114
+ styles,
115
+ });
116
+ const isMarryBaby = theme.other.template === 'mb';
117
+ const [availableValue, setAvailableValue] = React.useState();
118
+ const ref = React.useRef(null);
119
+ const genderOptions = React.useMemo(() => [
120
+ {
121
+ value: genderValue.male,
122
+ label: isBaby ? t('gender.boy') : t('gender.male'),
123
+ icon: isBaby ? (isMarryBaby ? (React__default["default"].createElement(other.BabyBoyMB, null)) : (index$3.CommonGAssets.getAssetPath('health-tools/boy-icon.svg'))) : (index$3.CommonGAssets.getAssetPath('health-tools/male-icon.svg')),
124
+ },
125
+ {
126
+ value: genderValue.female,
127
+ label: isBaby ? t('gender.girl') : t('gender.female'),
128
+ icon: isBaby ? (isMarryBaby ? (React__default["default"].createElement(other.BabyGirlMB, null)) : (index$3.CommonGAssets.getAssetPath('health-tools/girl-icon.svg'))) : (index$3.CommonGAssets.getAssetPath('health-tools/female-icon.svg')),
129
+ },
130
+ ], []);
131
+ React.useEffect(() => {
132
+ setAvailableValue(availableValueInit);
133
+ }, [availableValueInit]);
134
+ return (React__default["default"].createElement(core.Box, { ref: ref, className: classes.root },
135
+ React__default["default"].createElement(index$4.Radio.Group, Object.assign({ className: "radio-group", label: !hideLabel ? (React__default["default"].createElement(index.Text, { as: "label", size: "s4", weight: "semiBold" }, label ||
136
+ (isBaby
137
+ ? t('tools.selectBabyGender')
138
+ : t('tools.selectGender')))) : undefined, size: "lg" }, radioProps, { classNames: {
139
+ error: classes.groupErr,
140
+ } }, (type === 'radio' && {
141
+ error: null,
142
+ })),
143
+ React__default["default"].createElement(core.Flex, { className: cx(classes.wrapper) }, genderOptions.map((i) => (React__default["default"].createElement(index$4.Radio, Object.assign({ className: "gender-item", size: "sm", classNames: {
144
+ root: classes.itemRoot,
145
+ labelWrapper: classes.itemLabelWrapper,
146
+ label: classes.itemLabel,
147
+ inner: classes.itemInner,
148
+ body: classes.itemBody,
149
+ }, key: i.value, value: i.value }, (availableValue &&
150
+ i.value !== availableValue && {
151
+ disabled: true,
152
+ }), { label: React__default["default"].createElement(core.Flex, { gap: core.rem(8), align: 'center', justify: 'center', sx: { zIndex: 0 } },
153
+ type === 'button' &&
154
+ (typeof i.icon === 'string' ? (React__default["default"].createElement("img", { src: i.icon, className: "gender-image", alt: "female", loading: "lazy" })) : (i.icon)),
155
+ React__default["default"].createElement(index.Text, { size: "p3" }, i.label)) }))))))));
156
+ };
157
+
158
+ const StyledModal = utils$1.setDefaultClass(styled__default["default"].div `
159
+ position: relative;
160
+ z-index: 200;
161
+ background-color: ${theme.theme.colors.white};
162
+ border-radius: ${theme.theme.borderRadius};
163
+ box-shadow: 0px 8px 40px 0px #0000001a;
164
+ &[data-site-type='marryBaby'] {
165
+ border-radius: 16px;
166
+ .hhg-modal__content {
167
+ position: relative;
168
+ z-index: 111;
169
+ height: 100%;
170
+ }
171
+ }
172
+ .hhg-modal__content {
173
+ position: relative;
174
+ z-index: 111;
175
+ height: 100%;
176
+ }
177
+ .hhg-modal__video {
178
+ position: relative;
179
+ z-index: 111;
180
+ height: 100%;
181
+ background-color: none;
182
+ box-shadow: none;
183
+ }
184
+ `, 'hhgcomp-modal-modal');
185
+ const StyledModalWrapper = styled__default["default"].div `
186
+ position: fixed;
187
+ top: 0;
188
+ left: 0;
189
+ z-index: 201;
190
+ display: flex;
191
+ align-items: center;
192
+ justify-content: center;
193
+ width: 100%;
194
+ height: 100%;
195
+ overflow-x: hidden;
196
+ overflow-y: auto;
197
+ outline: 0;
198
+ visibility: hidden;
199
+ opacity: 0;
200
+ background-color: rgba(0, 0, 0, 0.6);
201
+ transition: opacity 0.3s ease-in-out;
202
+
203
+ .hhg-modal__close {
204
+ position: absolute;
205
+ top: 16px;
206
+ right: 16px;
207
+ cursor: pointer;
208
+ img {
209
+ width: 100%;
210
+ height: 100%;
211
+ border-radius: 50%;
212
+ }
213
+ }
214
+ &[data-type='video'] {
215
+ z-index: 1001;
216
+ }
217
+ &[data-open='true'] {
218
+ opacity: 1;
219
+ visibility: visible;
220
+ }
221
+
222
+ ${StyledModal.classSelector} {
223
+ transition: transform 0.3s ease-in-out;
224
+ }
225
+ &.slideTop {
226
+ ${StyledModal.classSelector} {
227
+ transform: translate(0, -100vh);
228
+ }
229
+
230
+ &[data-open='true'] {
231
+ ${StyledModal.classSelector} {
232
+ transform: translate(0);
233
+ }
234
+ }
235
+ }
236
+
237
+ &.scaleUp {
238
+ ${StyledModal.classSelector} {
239
+ transform: scale(0.9);
240
+ }
241
+
242
+ &[data-open='true'] {
243
+ ${StyledModal.classSelector} {
244
+ transform: scale(1);
245
+ }
246
+ }
247
+ }
248
+
249
+ &[data-type='tail'] {
250
+ justify-content: flex-end;
251
+ ${StyledModal.classSelector} {
252
+ width: 420px;
253
+ height: 100%;
254
+ border-radius: 0;
255
+ overflow: hidden auto;
256
+ }
257
+ }
258
+ &[data-type='form'] {
259
+ ${StyledModal.classSelector} {
260
+ width: 496px;
261
+ height: 548px;
262
+ max-height: 100%;
263
+ overflow-y: auto;
264
+ ${utils.MediaQueries.mbDown} {
265
+ width: 340px;
266
+ }
267
+ }
268
+ }
269
+ &[data-type='video'] {
270
+ ${StyledModal.classSelector} {
271
+ height: 100%;
272
+ max-height: 539px;
273
+ ${utils.MediaQueries.mbDown} {
274
+ height: 192px;
275
+ width: 100%;
276
+ height: 100%;
277
+ border-radius: ${theme.theme.borderRadius};
278
+ max-height: 192px;
279
+ }
280
+ }
281
+ }
282
+ &[data-type='confirm'] {
283
+ ${StyledModal.classSelector} {
284
+ width: 100%;
285
+ max-width: 407px;
286
+ ${utils.MediaQueries.mbDown} {
287
+ width: calc(100% - 32px);
288
+ max-width: calc(100% - 32px);
289
+ }
290
+ }
291
+ }
292
+ `;
293
+ const StyledModalMask = styled__default["default"].div `
294
+ position: fixed;
295
+ top: 0;
296
+ left: 0;
297
+ width: 100vw;
298
+ height: 100vh;
299
+ align-items: center;
300
+
301
+ &[data-open='false'] {
302
+ display: none;
303
+ }
304
+ &[data-type='video'] {
305
+ background-color: ${theme.theme.colors.secondaryDark};
306
+ }
307
+ `;
308
+
309
+ const MODAL_ROOT_ID = 'hhg-modals';
310
+ const getModalsRoot = () => {
311
+ let el = document.getElementById(MODAL_ROOT_ID);
312
+ if (!el) {
313
+ el = document.createElement('div');
314
+ el.setAttribute('id', MODAL_ROOT_ID);
315
+ document.body.append(el);
316
+ }
317
+ return el;
318
+ };
319
+ const cleanUpModalShow = () => {
320
+ const selector = '.hhg-modal[data-open="true"]';
321
+ const remainingPopupOpened = document.querySelectorAll(selector);
322
+ // Remove the opening class if there are only 1 popup is shown
323
+ if (remainingPopupOpened.length < 1) {
324
+ document.body.classList.remove('hhc-modal-show');
325
+ }
326
+ };
327
+ const cleanUpDisabledScroll = () => {
328
+ // Clear the overflow if there are only 1 popup is shown. useEffect runs after so the count number becomes zero
329
+ const selector = '.hhg-modal[data-open="true"]';
330
+ const remainingPopupOpened = document.querySelectorAll(selector);
331
+ if (remainingPopupOpened.length < 1) {
332
+ document.body.style.overflow = '';
333
+ document.body.style.paddingRight = '';
334
+ document.body.classList.remove('hhc-disabled-scroll');
335
+ }
336
+ };
337
+ /**
338
+ * @deprecated Consider to use at '@hhgtech/hhg-components/mantine'
339
+ */
340
+ const Modal = ({ type = 'lead', closeIcon, isOpen = true, onClose, children, className = '', animationType = 'scaleUp', isStaticBackdrop = false, siteType, }) => {
341
+ const [mounted, setMounted] = React.useState(false);
342
+ const elRef = React.useRef(null);
343
+ const { width: scrollBarWidth } = useScrollbarSize.useScrollbarSize();
344
+ if (!elRef.current && mounted) {
345
+ elRef.current = document.createElement('div');
346
+ }
347
+ React.useEffect(() => {
348
+ setMounted(true);
349
+ return () => {
350
+ setMounted(false);
351
+ cleanUpModalShow();
352
+ cleanUpDisabledScroll();
353
+ };
354
+ }, []);
355
+ React.useEffect(() => {
356
+ if (mounted) {
357
+ const modalsRoot = getModalsRoot();
358
+ modalsRoot.appendChild(elRef.current);
359
+ return () => {
360
+ modalsRoot.removeChild(elRef.current);
361
+ };
362
+ }
363
+ }, [mounted]);
364
+ React.useEffect(() => {
365
+ if (isOpen) {
366
+ document.body.classList.add('hhc-modal-show');
367
+ }
368
+ else {
369
+ cleanUpModalShow();
370
+ }
371
+ }, [isOpen]);
372
+ React.useEffect(() => {
373
+ if (isOpen) {
374
+ document.body.style.overflow = 'hidden';
375
+ document.body.style.paddingRight = scrollBarWidth + 'px';
376
+ document.body.classList.add('hhc-disabled-scroll');
377
+ }
378
+ else {
379
+ cleanUpDisabledScroll();
380
+ }
381
+ }, [isOpen, scrollBarWidth]);
382
+ if (!mounted)
383
+ return null;
384
+ const classes = ['hhg-modal__wrapper', className, animationType]
385
+ .filter((s) => s)
386
+ .join(' ');
387
+ return ReactDOM.createPortal(React__default["default"].createElement(StyledModalWrapper, { className: classes, "data-open": isOpen, "data-type": type },
388
+ !isStaticBackdrop && (React__default["default"].createElement(StyledModalMask, { "data-open": isOpen, onClick: onClose, "data-type": type })),
389
+ !isStaticBackdrop && type === 'video' && !!closeIcon && (React__default["default"].createElement("div", { className: "hhg-modal__close", onClick: onClose }, closeIcon)),
390
+ React__default["default"].createElement(StyledModal, { className: "hhg-modal", "data-open": isOpen, "data-site-type": siteType },
391
+ React__default["default"].createElement("div", { className: type === 'video' ? 'hhg-modal__video' : 'hhg-modal__content' },
392
+ !!closeIcon && type !== 'video' && (React__default["default"].createElement("div", { className: "hhg-modal__close", onClick: onClose }, closeIcon)),
393
+ children))), elRef.current);
394
+ };
395
+
396
+ styled__default["default"](index_styles.PureInput) `
397
+ & input,
398
+ .mantine-Input-input {
399
+ border-color: ${theme.theme.mbColors.lightGray};
400
+ background-color: ${theme.theme.colors.white};
401
+ border-radius: 16px;
402
+ transition: all 0.2s ease;
403
+ &:focus,
404
+ &:hover {
405
+ border-color: ${theme.theme.mbColors.pink};
406
+ box-shadow: none;
407
+ }
408
+ }
409
+
410
+ & .displayIcon {
411
+ pointer-events: none;
412
+ }
413
+ `;
414
+ const StyledTextField = styled__default["default"](index$5.Input) `
415
+ & label {
416
+ position: absolute;
417
+ z-index: 1;
418
+ top: 16px;
419
+
420
+ left: 16px;
421
+ color: ${theme.theme.mbColors.midGray};
422
+ pointer-events: none;
423
+ transition: all 0.2s ease;
424
+ white-space: nowrap;
425
+ overflow: hidden;
426
+ text-overflow: ellipsis;
427
+ max-width: 240px;
428
+
429
+ &[data-size='label2'] {
430
+ font-size: 12px;
431
+ }
432
+
433
+ ${utils.MediaQueries.tdDown} {
434
+ max-width: 220px;
435
+ }
436
+ }
437
+ & input,
438
+ .mantine-Input-input {
439
+ ::placeholder {
440
+ color: ${theme.theme.mbColors.gray};
441
+ font-size: 14px;
442
+ }
443
+
444
+ ::-webkit-input-placeholder {
445
+ /* Chrome/Opera/Safari */
446
+ color: ${theme.theme.mbColors.gray};
447
+ font-size: 14px;
448
+ }
449
+ ::-moz-placeholder {
450
+ /* Firefox 19+ */
451
+ color: ${theme.theme.mbColors.gray};
452
+ font-size: 14px;
453
+ }
454
+ :-ms-input-placeholder {
455
+ /* IE 10+ */
456
+ color: ${theme.theme.mbColors.gray};
457
+ font-size: 14px;
458
+ }
459
+ :-moz-placeholder {
460
+ /* Firefox 18- */
461
+ color: ${theme.theme.mbColors.gray};
462
+ font-size: 14px;
463
+ }
464
+ height: ${(props) => (props.size === 'sm' ? 48 : 72)}px !important;
465
+ padding-top: 27px !important;
466
+ border-color: ${theme.theme.mbColors.lightGray} !important;
467
+ background-color: ${theme.theme.colors.white};
468
+ border-radius: 16px !important;
469
+ transition: all 0.2s ease;
470
+ padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
471
+
472
+ &:focus,
473
+ &:hover {
474
+ border-color: ${theme.theme.mbColors.pink};
475
+ box-shadow: none;
476
+ }
477
+ }
478
+ .mantine-Input-rightSection,
479
+ .mantine-Input-leftSection {
480
+ padding-top: 20px;
481
+ }
482
+
483
+ &[data-has-action-icon] {
484
+ input,
485
+ .mantine-Input-input {
486
+ padding-top: ${(props) => (props.value ? '38px' : '27px')} !important;
487
+ padding-bottom: ${(props) => (props.value ? '16px' : '27px')} !important;
488
+ height: unset !important;
489
+ }
490
+
491
+ label {
492
+ position: absolute;
493
+ z-index: 1;
494
+ top: 16px;
495
+ padding-right: 46px;
496
+ }
497
+ }
498
+ `;
499
+
500
+ exports.DueDateCalculatorType = void 0;
501
+ (function (DueDateCalculatorType) {
502
+ DueDateCalculatorType[DueDateCalculatorType["lastPeriod"] = 0] = "lastPeriod";
503
+ DueDateCalculatorType[DueDateCalculatorType["conception"] = 1] = "conception";
504
+ DueDateCalculatorType[DueDateCalculatorType["IVF"] = 2] = "IVF";
505
+ })(exports.DueDateCalculatorType || (exports.DueDateCalculatorType = {}));
506
+ const API_DATE_FORMAT = 'yyyy-MM-dd';
507
+ const getDueDateLastPeriod = (lastPeriodDate, periodLength) => {
508
+ const pregnancyLength = 272 + (periodLength - 21);
509
+ const dueDate = new Date(lastPeriodDate);
510
+ dueDate.setDate(dueDate.getDate() + pregnancyLength);
511
+ return {
512
+ startDate: lastPeriodDate,
513
+ dueDate,
514
+ otherInfo: {
515
+ method: exports.DueDateCalculatorType.lastPeriod + 1,
516
+ first_day: dateFns.format(lastPeriodDate, API_DATE_FORMAT),
517
+ cycle_length_days: periodLength,
518
+ conception_date: null,
519
+ ivf_transfer_date: null,
520
+ days_transfer: null,
521
+ },
522
+ };
523
+ };
524
+ const getDueDateConception = (conceptionDate) => {
525
+ const dueDate = new Date(conceptionDate);
526
+ dueDate.setDate(dueDate.getDate() + 265);
527
+ return {
528
+ startDate: conceptionDate,
529
+ dueDate,
530
+ otherInfo: {
531
+ method: exports.DueDateCalculatorType.conception + 1,
532
+ conception_date: dateFns.format(conceptionDate, API_DATE_FORMAT),
533
+ first_day: null,
534
+ cycle_length_days: null,
535
+ ivf_transfer_date: null,
536
+ days_transfer: null,
537
+ },
538
+ };
539
+ };
540
+ const getDueDateIVF = (IVFDate, numDayTransfer) => {
541
+ const dueDate = new Date(IVFDate);
542
+ dueDate.setDate(dueDate.getDate() + 265 - numDayTransfer);
543
+ return {
544
+ startDate: IVFDate,
545
+ dueDate,
546
+ otherInfo: {
547
+ method: exports.DueDateCalculatorType.IVF + 1,
548
+ ivf_transfer_date: dateFns.format(IVFDate, API_DATE_FORMAT),
549
+ days_transfer: numDayTransfer,
550
+ conception_date: null,
551
+ first_day: null,
552
+ cycle_length_days: null,
553
+ },
554
+ };
555
+ };
556
+ const DateToInputValue = (date) => {
557
+ return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
558
+ };
559
+
560
+ const FormLayoutContext = React.createContext({});
561
+
562
+ const useStyles$8 = core.createStyles(() => {
563
+ return {
564
+ root: {
565
+ display: 'flex',
566
+ flexDirection: 'column',
567
+ gap: core.rem(8),
568
+ },
569
+ };
570
+ });
571
+ const FormRow = (_a) => {
572
+ var { styles, classNames, className, children } = _a, props = tslib_es6.__rest(_a, ["styles", "classNames", "className", "children"]);
573
+ const { classes, cx } = useStyles$8(undefined, {
574
+ name: 'HealthToolFormWrapper__FormRow',
575
+ styles,
576
+ classNames,
577
+ });
578
+ return (React__default["default"].createElement(core.Box, Object.assign({ className: cx(className, classes.root) }, props), children));
579
+ };
580
+
581
+ var useStyles$7 = core.createStyles((theme, { formLayout }) => {
582
+ return {
583
+ root: {
584
+ display: 'flex',
585
+ flexDirection: 'column',
586
+ gap: core.rem(formLayout === 'inline' ? 8 : 16),
587
+ '.mantine-Input-input::placeholder, .mantine-Input-input[data-invalid]::placeholder': {
588
+ color: '#8C8C8C',
589
+ },
590
+ },
591
+ control: {
592
+ width: core.rem(180),
593
+ flexShrink: 1,
594
+ '&.error': {
595
+ 'button, input': {
596
+ borderColor: theme.colors.red[7],
597
+ },
598
+ },
599
+ },
600
+ };
601
+ });
602
+
603
+ const useStyles$6 = core.createStyles((theme, { formLayout }) => {
604
+ const isMarryBaby = theme.other.template === 'mb';
605
+ return {
606
+ root: Object.assign(Object.assign({}, (formLayout === 'inline' && {
607
+ alignSelf: 'flex-end',
608
+ marginTop: core.rem(16),
609
+ })), (formLayout === 'default' && Object.assign({}, (isMarryBaby && {
610
+ minWidth: core.rem(180),
611
+ alignSelf: 'center',
612
+ })))),
613
+ };
614
+ });
615
+ const SubmitBtn = (_a) => {
616
+ var { styles, classNames, className } = _a, props = tslib_es6.__rest(_a, ["styles", "classNames", "className"]);
617
+ const { formLayout } = React.useContext(FormLayoutContext);
618
+ const { classes, cx } = useStyles$6({ formLayout }, {
619
+ name: 'HealthToolFormWrapper',
620
+ styles,
621
+ classNames,
622
+ });
623
+ return (React__default["default"].createElement(index$4.Button, Object.assign({ className: cx('submit-btn', className, classes.root) }, props, { variant: "primary", size: "md" })));
624
+ };
625
+
626
+ const useStyles$5 = core.createStyles((theme) => {
627
+ return {
628
+ root: {
629
+ color: theme.colors.gray[6],
630
+ whiteSpace: 'nowrap',
631
+ paddingRight: core.rem(16),
632
+ },
633
+ };
634
+ });
635
+ const Unit = (_a) => {
636
+ var { styles, classNames, className } = _a, props = tslib_es6.__rest(_a, ["styles", "classNames", "className"]);
637
+ const { classes, cx } = useStyles$5(undefined, {
638
+ name: 'HealthToolFormWrapper__UnitText',
639
+ styles,
640
+ classNames,
641
+ });
642
+ return React__default["default"].createElement(index.Text, Object.assign({ size: "p4", className: cx(className, classes.root) }, props));
643
+ };
644
+
645
+ var useStyles$4 = core.createStyles((theme, { width }) => {
646
+ return {
647
+ row: {
648
+ display: 'flex',
649
+ alignItems: 'stretch',
650
+ justifyContent: 'space-between',
651
+ gap: core.rem(16),
652
+ },
653
+ labelWrapper: {
654
+ flex: '1 1 0px',
655
+ display: 'flex',
656
+ alignItems: 'center',
657
+ borderBottom: `1px solid ${theme.colors.neutral[1]}`,
658
+ },
659
+ label: {
660
+ fontSize: core.rem(14),
661
+ color: theme.colors.gray[6],
662
+ },
663
+ content: {
664
+ display: 'flex',
665
+ alignItems: 'center',
666
+ gap: core.rem(8),
667
+ input: {
668
+ backgroundColor: '#fff',
669
+ },
670
+ },
671
+ control: {
672
+ width: typeof width === 'number' ? core.rem(width) : width,
673
+ flexShrink: 1,
674
+ '&.error': {
675
+ 'button, input': {
676
+ borderColor: theme.colors.red[7],
677
+ },
678
+ },
679
+ },
680
+ };
681
+ });
682
+
683
+ const BorderBoxControl = ({ label, children, styles, classNames, width = 180, }) => {
684
+ const { classes } = useStyles$4({ width }, {
685
+ name: 'HealthToolFormWrapper__BorderBoxControl',
686
+ styles,
687
+ classNames,
688
+ });
689
+ return (React__default["default"].createElement(core.Box, { className: classes.row },
690
+ React__default["default"].createElement(core.Box, { className: classes.labelWrapper }, label && (React__default["default"].createElement("label", { className: classes.label, htmlFor: "gender" }, label))),
691
+ React__default["default"].createElement(core.Box, { className: classes.content }, flattenChildren__default["default"](children).map((i, idx) => (React__default["default"].createElement(core.Box, { key: idx, className: classes.control }, i))))));
692
+ };
693
+
694
+ var useStyles$3 = core.createStyles((theme, { width }) => {
695
+ return {
696
+ row: {
697
+ display: 'flex',
698
+ alignItems: 'stretch',
699
+ justifyContent: 'space-between',
700
+ gap: core.rem(16),
701
+ },
702
+ labelWrapper: {
703
+ flex: '1 1 0px',
704
+ display: 'flex',
705
+ alignItems: 'center',
706
+ borderBottom: `1px solid ${theme.colors.neutral[1]}`,
707
+ },
708
+ label: {
709
+ fontSize: core.rem(14),
710
+ color: theme.colors.gray[6],
711
+ },
712
+ content: {
713
+ display: 'flex',
714
+ alignItems: 'center',
715
+ gap: core.rem(8),
716
+ input: {
717
+ backgroundColor: '#fff',
718
+ },
719
+ },
720
+ control: {
721
+ width: typeof width === 'number' ? core.rem(width) : width,
722
+ flexShrink: 1,
723
+ '&.error': {
724
+ 'button, input': {
725
+ borderColor: theme.colors.red[7],
726
+ },
727
+ },
728
+ },
729
+ };
730
+ });
731
+
732
+ const BorderInlineControl = ({ label, children, styles, classNames, width = 180, }) => {
733
+ const { classes } = useStyles$3({ width }, {
734
+ name: 'HealthToolFormWrapper__BorderInlineControl',
735
+ styles,
736
+ classNames,
737
+ });
738
+ return (React__default["default"].createElement(core.Box, { className: classes.row },
739
+ React__default["default"].createElement(core.Box, { className: classes.labelWrapper }, label && (React__default["default"].createElement("label", { className: classes.label, htmlFor: "gender" }, label))),
740
+ React__default["default"].createElement(core.Box, { className: classes.content }, flattenChildren__default["default"](children).map((i, idx) => (React__default["default"].createElement(core.Box, { key: idx, className: classes.control }, i))))));
741
+ };
742
+
743
+ const useStyles$2 = core.createStyles(() => {
744
+ return {
745
+ root: {
746
+ color: 'red',
747
+ textAlign: 'right',
748
+ width: 'auto',
749
+ },
750
+ };
751
+ });
752
+ const Error = (_a) => {
753
+ var { styles, classNames, className } = _a, props = tslib_es6.__rest(_a, ["styles", "classNames", "className"]);
754
+ const { classes, cx } = useStyles$2(undefined, {
755
+ name: 'HealthToolFormWrapper__UnitText',
756
+ styles,
757
+ classNames,
758
+ });
759
+ return React__default["default"].createElement(index.Text, Object.assign({ size: "p4", className: cx(className, classes.root) }, props));
760
+ };
761
+
762
+ var useStyles$1 = core.createStyles((theme$1) => {
763
+ const isMarryBaby = theme$1.other.template === 'mb';
764
+ return {
765
+ root: {
766
+ label: Object.assign({}, (isMarryBaby && {
767
+ color: theme.theme.mbColors.midGray,
768
+ fontSize: core.rem(12),
769
+ fontWeight: 'normal',
770
+ })),
771
+ },
772
+ };
773
+ });
774
+
775
+ const Control = (_a) => {
776
+ var { className, styles, classNames } = _a, rest = tslib_es6.__rest(_a, ["className", "styles", "classNames"]);
777
+ const { classes, cx } = useStyles$1(undefined, {
778
+ name: 'HealthToolFormWrapper__Control',
779
+ styles,
780
+ classNames,
781
+ });
782
+ return React__default["default"].createElement(core.Box, Object.assign({ className: cx(className, classes.root) }, rest));
783
+ };
784
+
785
+ const _HealthToolFormWrapper = (_a) => {
786
+ var { children, formLayout: formLayoutProp, styles, classNames, className } = _a, rest = tslib_es6.__rest(_a, ["children", "formLayout", "styles", "classNames", "className"]);
787
+ const formLayout = formLayoutProp || 'default';
788
+ const { classes, cx } = useStyles$7({ formLayout }, {
789
+ name: 'HealthToolFormWrapper',
790
+ styles,
791
+ classNames,
792
+ });
793
+ return (React__default["default"].createElement(FormLayoutContext.Provider, { value: {
794
+ formLayout,
795
+ } },
796
+ React__default["default"].createElement(core.Box, Object.assign({ component: "form", className: cx(className, classes.root) }, rest), children)));
797
+ };
798
+ const HealthToolFormWrapper = _HealthToolFormWrapper;
799
+ HealthToolFormWrapper.Control = Control;
800
+ HealthToolFormWrapper.BorderInlineControl = BorderInlineControl;
801
+ HealthToolFormWrapper.BorderBoxControl = BorderBoxControl;
802
+ HealthToolFormWrapper.Error = Error;
803
+ HealthToolFormWrapper.FormRow = FormRow;
804
+ HealthToolFormWrapper.Submit = SubmitBtn;
805
+ HealthToolFormWrapper.Unit = Unit;
806
+
807
+ const BabyGrowthFormContext = React.createContext({});
808
+
809
+ styled__default["default"].div `
810
+ display: flex;
811
+ flex-direction: column;
812
+ gap: 16px;
813
+ padding-block: 40px;
814
+
815
+ &[data-theme='true'] {
816
+ padding-block: 0;
817
+ padding-top: 12px;
818
+ }
819
+ `;
820
+ const StyledFormControl = styled__default["default"].div `
821
+ display: flex;
822
+ flex-direction: column;
823
+ gap: 6px;
824
+ margin-top: auto;
825
+
826
+ .error-input input {
827
+ border: 1px solid ${theme.theme.colors.red700};
828
+ }
829
+ `;
830
+ const StyledInlineLabel = styled__default["default"](constants.Label) `
831
+ display: inline-flex;
832
+ padding-bottom: 6px;
833
+ gap: 4px;
834
+ `;
835
+ const StyledRow = styled__default["default"].div `
836
+ display: flex;
837
+ width: 100%;
838
+ align-items: center;
839
+ justify-content: space-between;
840
+ gap: 16px;
841
+ > div {
842
+ width: 100%;
843
+ }
844
+ `;
845
+
846
+ const DefaultForm = (props) => {
847
+ const { t } = useTranslations.useTranslations();
848
+ const { control, currentUrl, isEmptyThreeFields, siteType } = React.useContext(BabyGrowthFormContext);
849
+ const commonDateProps = {
850
+ placeholder: 'DD/MM/YYYY',
851
+ popoverProps: {
852
+ withinPortal: true,
853
+ },
854
+ };
855
+ return (React__default["default"].createElement(HealthToolFormWrapper, Object.assign({ formLayout: "default" }, props),
856
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "gender", render: ({ field: { onChange } }) => (React__default["default"].createElement(HealthToolFormWrapper.Control, null,
857
+ React__default["default"].createElement(GenderOptionControl, { isBaby: true, genderValue: {
858
+ male: 'boy',
859
+ female: 'girl',
860
+ }, onChange: onChange }))) }),
861
+ siteType === 'marryBaby' ? (React__default["default"].createElement(React__default["default"].Fragment, null,
862
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "birthday", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
863
+ React__default["default"].createElement(StyledTextField, { label: t('babyGrowth.input.birthday'), name: "birthday", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$6.DatePicker, Object.assign({}, commonDateProps, { onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', rightSection: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) }))) }),
864
+ React__default["default"].createElement(StyledRow, null,
865
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
866
+ React__default["default"].createElement(StyledTextField, { label: `${t('babyGrowth.height')} ${t('babyGrowth.cm')}`, name: "height", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$5.Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
867
+ ? 'error-input'
868
+ : '', name: "height", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
869
+ e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
870
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
871
+ React__default["default"].createElement(StyledTextField, { label: `${t('babyGrowth.weight')} ${t('babyGrowth.kg')}`, name: "weight", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$5.Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
872
+ ? 'error-input'
873
+ : '', name: "weight", size: "md", placeholder: "Nh\u1EADp th\u00F4ng tin", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
874
+ e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) })),
875
+ React__default["default"].createElement(StyledRow, null,
876
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
877
+ React__default["default"].createElement(StyledTextField, { label: `${t('babyGrowth.headCircumference')} ${t('babyGrowth.cm')}`, name: "head", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$5.Input, { className: isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message)
878
+ ? 'error-input'
879
+ : '', name: "head", size: "md", value: String(value), onChange: onChange, type: "number", placeholder: "Nh\u1EADp th\u00F4ng tin", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) &&
880
+ e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur() }) }))) }),
881
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default["default"].createElement(StyledFormControl, null,
882
+ React__default["default"].createElement(StyledTextField, { label: `${t('babyGrowth.input.bmi')} ${t('babyGrowth.kg.m2')}`, name: "date", size: "md", value: String(value), CustomInput: React__default["default"].createElement(index$5.Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true, style: { color: '#9495A0' } }) }))) })),
883
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "measurementDate", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
884
+ React__default["default"].createElement(StyledTextField, { label: t('babyGrowth.input.measurementDate'), name: "date", size: "md", value: DateToInputValue(value), CustomInput: React__default["default"].createElement(index$6.DatePicker, Object.assign({}, commonDateProps, { defaultValue: new Date(), maxDate: new Date(), onChange: onChange, className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '', rightSection: React__default["default"].createElement(other.CalendarMB, { size: 32 }) })) }))) }),
885
+ React__default["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["default"].createElement(React__default["default"].Fragment, null,
886
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
887
+ React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "birthday" },
888
+ React__default["default"].createElement(index.Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.birthday'))),
889
+ React__default["default"].createElement(index$6.DatePicker, Object.assign({}, commonDateProps, { onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '' })))) }),
890
+ React__default["default"].createElement(StyledRow, null,
891
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
892
+ React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "height" },
893
+ React__default["default"].createElement(index.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.height')),
894
+ React__default["default"].createElement(index.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.cm'))),
895
+ React__default["default"].createElement(index$5.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() }))) }),
896
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
897
+ React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "weight" },
898
+ React__default["default"].createElement(index.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.weight')),
899
+ React__default["default"].createElement(index.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.kg'))),
900
+ React__default["default"].createElement(index$5.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() }))) })),
901
+ React__default["default"].createElement(StyledRow, null,
902
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error }, }) => (React__default["default"].createElement(StyledFormControl, null,
903
+ React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "head" },
904
+ React__default["default"].createElement(index.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.headCircumference')),
905
+ React__default["default"].createElement(index.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.cm'))),
906
+ React__default["default"].createElement(index$5.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() }))) }),
907
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default["default"].createElement(StyledFormControl, null,
908
+ React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "bmi" },
909
+ React__default["default"].createElement(index.Text, { size: "s4", weight: "semiBold" }, t('babyGrowth.input.bmi')),
910
+ React__default["default"].createElement(index.Text, { as: "span", size: "n1", color: theme.theme.colors.gray400 }, t('babyGrowth.kg.m2'))),
911
+ React__default["default"].createElement(index$5.Input, { name: "bmi", size: "md", type: "number", value: String(value), isDisabled: true }))) })),
912
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "measurementDate", render: ({ field: { onChange }, fieldState: { error } }) => (React__default["default"].createElement(StyledFormControl, null,
913
+ React__default["default"].createElement(StyledInlineLabel, { size: "label1", htmlFor: "measurementDate" },
914
+ React__default["default"].createElement(index.Text, { as: "label", size: "s4", weight: "semiBold" }, t('babyGrowth.input.measurementDate'))),
915
+ React__default["default"].createElement(index$6.DatePicker, Object.assign({}, commonDateProps, { defaultValue: new Date(), onChange: onChange, maxDate: new Date(), className: (error === null || error === void 0 ? void 0 : error.message) ? 'error-input' : '' })))) }),
916
+ React__default["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'))))));
917
+ };
918
+
919
+ var useStyles = core.createStyles((theme) => {
920
+ return {
921
+ root: {
922
+ display: 'flex',
923
+ flexDirection: 'column',
924
+ gap: core.rem(8),
925
+ },
926
+ bmiVal: {
927
+ display: 'inline-block',
928
+ },
929
+ unitText: {
930
+ color: theme.colors.gray[6],
931
+ },
932
+ submitBtn: {},
933
+ };
934
+ });
935
+
936
+ const InlineForm = (_a) => {
937
+ var { styles, classNames } = _a, props = tslib_es6.__rest(_a, ["styles", "classNames"]);
938
+ const { t } = useTranslations.useTranslations();
939
+ const { control, currentUrl, isEmptyThreeFields } = React.useContext(BabyGrowthFormContext);
940
+ const { classes, cx } = useStyles(undefined, {
941
+ name: 'BabyGrowthForm__InlineForm',
942
+ styles,
943
+ classNames,
944
+ });
945
+ const commonDateProps = {
946
+ placeholder: 'DD/MM/YYYY',
947
+ popoverProps: {
948
+ withinPortal: true,
949
+ },
950
+ };
951
+ return (React__default["default"].createElement(HealthToolFormWrapper, Object.assign({ formLayout: "inline", className: classes.root }, props),
952
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "gender", render: ({ field: { onChange } }) => (React__default["default"].createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('tools.selectBabyGender') },
953
+ React__default["default"].createElement(GenderOptionControl, { type: "radio", hideLabel: true, isBaby: true, genderValue: {
954
+ male: 'boy',
955
+ female: 'girl',
956
+ }, onChange: onChange }))) }),
957
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "birthday", render: ({ field: { onChange }, fieldState: { error } }) => {
958
+ return (React__default["default"].createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('babyGrowth.input.birthday') },
959
+ React__default["default"].createElement(index$6.DatePicker, Object.assign({}, commonDateProps, { className: cx(error ? 'error' : ''), onChange: onChange, maxDate: new Date() }))));
960
+ } }),
961
+ React__default["default"].createElement(HealthToolFormWrapper.BorderInlineControl, { label: "BMI", styles: {
962
+ control: {
963
+ '&:first-child': {
964
+ width: 'auto',
965
+ },
966
+ },
967
+ } },
968
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "bmi", render: ({ field: { value } }) => (React__default["default"].createElement(React__default["default"].Fragment, null,
969
+ React__default["default"].createElement(index.Text, { size: "p3" },
970
+ React__default["default"].createElement("span", { className: classes.bmiVal }, !isNaN(Number(value)) && value !== '0' ? value : ''),
971
+ t('babyGrowth.kg.m2')))) }),
972
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "height", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(core.Box, { className: cx(isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
973
+ React__default["default"].createElement(index$4.Input, { name: "height", placeholder: t('babyGrowth.height'), size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), rightSection: React__default["default"].createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.cm')) }))) }),
974
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "weight", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(core.Box, { className: cx(isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
975
+ React__default["default"].createElement(index$4.Input, { name: "weight", placeholder: t('babyGrowth.weight'), size: "md", value: String(value), onChange: onChange, type: "number", onKeyDown: (e) => ['e', 'E', '+', '-'].includes(e.key) && e.preventDefault(), onWheelCapture: (event) => event.currentTarget.blur(), rightSection: React__default["default"].createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.kg')) }))) })),
976
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "head", render: ({ field: { onChange, value }, fieldState: { error } }) => (React__default["default"].createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('babyGrowth.headCircumference') },
977
+ React__default["default"].createElement(core.Box, { className: cx(isEmptyThreeFields || (error === null || error === void 0 ? void 0 : error.message) ? 'error' : '') },
978
+ React__default["default"].createElement(index$4.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(), rightSection: React__default["default"].createElement(HealthToolFormWrapper.Unit, null, t('babyGrowth.cm')) })))) }),
979
+ React__default["default"].createElement(reactHookForm.Controller, { control: control, name: "measurementDate", render: ({ field: { onChange } }) => (React__default["default"].createElement(HealthToolFormWrapper.BorderInlineControl, { label: t('babyGrowth.input.measurementDate') },
980
+ React__default["default"].createElement(index$6.DatePicker, Object.assign({}, commonDateProps, { defaultValue: new Date(), onChange: onChange, maxDate: new Date() })))) }),
981
+ React__default["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'))));
982
+ };
983
+
984
+ /**
985
+ * Using {@link Intl.NumberFormat} to covert a number to string base on its locale
986
+ * @param {number} num - Number to convert
987
+ * @param {number} maximumFractionDigits - Number of decimal digits
988
+ * @returns {string} - String based number
989
+ */
990
+ const localizeNumberFormat = (num, maximumFractionDigits = 2) => {
991
+ return Intl.NumberFormat(undefined, {
992
+ maximumFractionDigits,
993
+ }).format(num);
994
+ };
995
+
996
+ /**
997
+ * Calculate BMI
998
+ * Using {@link localizeNumberFormat} to convert number based on locale
999
+ * @param {number} height - Height in number
1000
+ * @param {number} weight - Weight in number
1001
+ * @returns {number} - BMI with 2 decimal digits
1002
+ */
1003
+ const bmiCalculate = (height = 0, weight = 0) => {
1004
+ try {
1005
+ if (height && weight) {
1006
+ const bmi = Number(weight) / Math.pow(Number(height) / 100, 2);
1007
+ return Number(localizeNumberFormat(bmi));
1008
+ }
1009
+ else {
1010
+ return 0;
1011
+ }
1012
+ }
1013
+ catch (error) { }
1014
+ return 0;
1015
+ };
1016
+
1017
+ const BabyGrowthForm = (_a) => {
1018
+ var { onSubmit, onError, schema, formLayout = 'default' } = _a, rest = tslib_es6.__rest(_a, ["onSubmit", "onError", "schema", "formLayout"]);
1019
+ const theme = core.useMantineTheme();
1020
+ const isMarryBaby = theme.other.template === 'mb';
1021
+ const siteType = isMarryBaby ? 'marryBaby' : 'helloSites';
1022
+ const { control, setValue, watch, handleSubmit, formState: { isSubmitted }, } = reactHookForm.useForm({
1023
+ resolver: yup.yupResolver(schema),
1024
+ mode: 'onSubmit',
1025
+ defaultValues: {
1026
+ name: '',
1027
+ gender: index$7.Gender.Boy,
1028
+ measurementDate: new Date(),
1029
+ },
1030
+ });
1031
+ const weight = watch('weight');
1032
+ const height = watch('height');
1033
+ const head = watch('head');
1034
+ const isEmptyThreeFields = React.useMemo(() => isSubmitted && !weight && !height && !head, [isSubmitted, weight, height, head]);
1035
+ React.useEffect(() => {
1036
+ const bmi = bmiCalculate(height, weight);
1037
+ setValue('bmi', String(bmi) || '0');
1038
+ }, [weight, height]);
1039
+ const currentUrl = React.useMemo(() => {
1040
+ if (typeof window !== 'undefined') {
1041
+ return window.location.href;
1042
+ }
1043
+ else
1044
+ return '';
1045
+ }, []);
1046
+ const commonProps = Object.assign({ onSubmit: handleSubmit(onSubmit, onError) }, rest);
1047
+ return (React__default["default"].createElement(BabyGrowthFormContext.Provider, { value: {
1048
+ isEmptyThreeFields,
1049
+ control,
1050
+ currentUrl,
1051
+ siteType,
1052
+ } }, formLayout === 'default' ? (React__default["default"].createElement(DefaultForm, Object.assign({}, commonProps))) : (React__default["default"].createElement(InlineForm, Object.assign({}, commonProps)))));
1053
+ };
1054
+
1055
+ exports.API_DATE_FORMAT = API_DATE_FORMAT;
1056
+ exports.BabyGrowthForm = BabyGrowthForm;
1057
+ exports.DateToInputValue = DateToInputValue;
1058
+ exports.Drawer = Drawer;
1059
+ exports.GenderOptionControl = GenderOptionControl;
1060
+ exports.HealthToolFormWrapper = HealthToolFormWrapper;
1061
+ exports.Modal = Modal;
1062
+ exports.RadioImageGroup = RadioImageGroup;
1063
+ exports.StyledTextField = StyledTextField;
1064
+ exports.getDueDateConception = getDueDateConception;
1065
+ exports.getDueDateIVF = getDueDateIVF;
1066
+ exports.getDueDateLastPeriod = getDueDateLastPeriod;