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