"use strict";(self.webpackChunkhhgDiscoverV1=self.webpackChunkhhgDiscoverV1||[]).push([[9096],{bcw8:function(e,t,r){r.d(t,{I:function(){return a}});let a={height:{min:1,max:300},weight:{min:1,max:200},pregnantWeek:{min:1,max:40}}},Pi6y:function(e,t,r){r.d(t,{t:function(){return BabyGrowthCardEmbed}});var a=r("vEfc"),l=r("+OUp"),n=r.n(l),o=r("kJ9R"),i=r("Wbba"),s=r("lFZO");r("vH4S"),r("rBCA"),r("8BcA"),r("xXM3"),r("yVya");let BabyGrowthCardEmbed=e=>{var t,r,l,{babyGrowthContent:m,formProps:u}=e,c=(0,a.a)(e,["babyGrowthContent","formProps"]);return n().createElement(s.H,Object.assign({},c),n().createElement(s.H.Banner,{icon:n().createElement("img",{className:"embedded-icon",alt:"health-tool-icon",src:(null==m?void 0:m.featuredImage)||i.C.getAssetPath("health-tools/toolsIconBabyGrowth.svg"),loading:"lazy"}),heading:(null==m?void 0:m.title)||"",medicalReview:{link:null===(t=null==m?void 0:m.reviewBy)||void 0===t?void 0:t.link,reviewer:null===(r=null==m?void 0:m.reviewBy)||void 0===r?void 0:r.reviewer.trim(),date:null===(l=null==m?void 0:m.reviewBy)||void 0===l?void 0:l.date}}),n().createElement(s.H.Body,null,n().createElement(o.B,Object.assign({},u))))}},kJ9R:function(e,t,r){r.d(t,{B:function(){return BabyGrowthForm}});var a=r("vEfc"),l=r("+OUp"),n=r.n(l),o=r("vH4S"),i=r("oguI"),s=r("ZFu2"),m=r("aHnw"),u=r("f5ed"),c=r("uzh1"),h=r("iBNF"),b=r("sFNn"),g=r("NEg/"),d=r("bcw8"),p=r("eM6a"),w=r("8PyR"),E=r("4BRW"),y=r("fkrl");let v=(0,l.createContext)({}),DefaultForm=e=>{let{t,locale:r}=(0,b.u)(),{classes:a={}}=(0,l.useContext)(g.C),{form:o,currentUrl:i,submitProps:s}=(0,l.useContext)(v),y={placeholder:"DD/MM/YYYY",popoverProps:{withinPortal:!0}};return n().createElement(p.H,Object.assign({formLayout:"default"},e),n().createElement(p.H.FormRow,null,n().createElement(p.H.Control,null,n().createElement(w.G,Object.assign({isBaby:!0,genderValue:{male:"boy",female:"girl"}},o.getInputProps("gender"),{error:null}))),o.errors.gender&&n().createElement(p.H.Error,null,o.errors.gender)),n().createElement(p.H.FormRow,null,n().createElement(m.I.Wrapper,{label:n().createElement(c.T,{size:"p2",weight:"semiBold"},t("babyGrowth.input.birthday"))},n().createElement(u.D,Object.assign({},y,{maxDate:new Date},o.getInputProps("birthday"),{error:null,onChange:e=>{e&&o.validateField("measurementDate"),o.getInputProps("birthday").onChange(e)}}))),o.errors.birthday&&n().createElement(p.H.Error,null,o.errors.birthday)),n().createElement(p.H.FormRow,null,n().createElement(m.I.Number,Object.assign({label:n().createElement(c.T,{size:"p2",weight:"semiBold"},t("babyGrowth.height"),n().createElement(c.T,{size:"p2",weight:"semiBold",color:h.w.colors.gray300,as:"span"},` (${t("babyGrowth.cm")})`))},o.getInputProps("height"),{placeholder:t("babyGrowth.height"),min:d.I.height.min,max:d.I.height.max,onChange:e=>{o.setFieldValue("height",e),o.setFieldValue("checkMesureVal",!o.values.checkMesureVal)}}))),n().createElement(p.H.FormRow,null,n().createElement(m.I.Number,Object.assign({label:n().createElement(c.T,{size:"p2",weight:"semiBold"},t("babyGrowth.weight"),n().createElement(c.T,{size:"p2",weight:"semiBold",color:h.w.colors.gray300,as:"span"},` (${t("babyGrowth.kg")})`))},o.getInputProps("weight"),{placeholder:t("babyGrowth.weight"),min:d.I.weight.min,max:d.I.weight.max,onChange:e=>{o.setFieldValue("weight",e),o.setFieldValue("checkMesureVal",!o.values.checkMesureVal)}}))),r!==E.L.Vietnam&&n().createElement(p.H.FormRow,null,n().createElement(m.I.Number,Object.assign({label:n().createElement(c.T,{size:"p2",weight:"semiBold"},t("babyGrowth.head"),n().createElement(c.T,{size:"p2",weight:"semiBold",color:h.w.colors.gray300,as:"span"},` (${t("babyGrowth.cm")})`))},o.getInputProps("head"),{placeholder:t("babyGrowth.head"),onChange:e=>{o.setFieldValue("head",e),o.setFieldValue("checkMesureVal",!o.values.checkMesureVal)}}))),o.errors.checkMesureVal&&n().createElement(p.H.Error,null,o.errors.checkMesureVal),n().createElement(p.H.FormRow,null,n().createElement(m.I.Wrapper,{label:n().createElement(c.T,{size:"p2",weight:"semiBold"},t("babyGrowth.input.measurementDate"))},n().createElement(u.D,Object.assign({},y,{defaultValue:new Date},o.getInputProps("measurementDate"),{maxDate:new Date,error:null}))),o.errors.measurementDate&&n().createElement(p.H.Error,null,o.errors.measurementDate)),n().createElement(p.H.FormRow,{className:a.submitWrapper},n().createElement(p.H.Submit,Object.assign({className:a.submitBtn,type:"submit","data-event-category":"Health Tool","data-event-action":"Baby Growth","data-event-label":i},s),t("babyGrowth.input.submit"))))};var I=(0,o.createStyles)(e=>({root:{display:"flex",flexDirection:"column",gap:(0,o.rem)(8)},bmiVal:{display:"inline-block"},unitText:{color:e.colors.gray[6]},submitBtn:{}}));let localizeNumberFormat=(e,t=2)=>Intl.NumberFormat(void 0,{maximumFractionDigits:t}).format(e),bmiCalculate=(e=0,t=0)=>{try{if(e&&t){let r=Number(t)/Math.pow(Number(e)/100,2);if(isNaN(r))return 0;return Number(localizeNumberFormat(r))}}catch(e){}return 0},InlineForm=e=>{var{styles:t,classNames:r}=e,i=(0,a.a)(e,["styles","classNames"]);let{t:s,locale:h}=(0,b.u)(),{form:y,currentUrl:H,submitProps:V}=(0,l.useContext)(v),{classes:B={}}=(0,l.useContext)(g.C),D=(0,o.useMantineTheme)(),{classes:F}=I(void 0,{name:"BabyGrowthForm__InlineForm",styles:t,classNames:r}),G={placeholder:"DD/MM/YYYY",popoverProps:{withinPortal:!0}};return n().createElement(p.H,Object.assign({formLayout:"inline"},i),n().createElement(p.H.FormRow,null,n().createElement(p.H.BorderInlineControl,{label:s("tools.selectBabyGender")},n().createElement(w.G,Object.assign({type:"radio",hideLabel:!0,isBaby:!0,genderValue:{male:"boy",female:"girl"}},y.getInputProps("gender")))),y.errors.gender&&n().createElement(p.H.Error,null,y.errors.gender)),n().createElement(p.H.FormRow,null,n().createElement(p.H.BorderInlineControl,{label:s("babyGrowth.input.birthday")},n().createElement(u.D,Object.assign({},G,{maxDate:new Date},y.getInputProps("birthday"),{error:null,onChange:e=>{e&&y.validateField("measurementDate"),y.getInputProps("birthday").onChange(e)}}))),y.errors.birthday&&n().createElement(p.H.Error,null,y.errors.birthday)),n().createElement(p.H.FormRow,null,n().createElement(p.H.BorderInlineControl,{label:"BMI",styles:{control:{"&:first-child":{width:"auto"}}}},n().createElement(c.T,{size:"p3"},n().createElement("span",{className:F.bmiVal},y.getInputProps("height").value&&y.getInputProps("weight").value&&bmiCalculate(Number(y.getInputProps("height").value),Number(y.getInputProps("weight").value))),"(",s("babyGrowth.kg.m2"),")"),n().createElement(m.I.Number,Object.assign({},y.getInputProps("height"),{placeholder:s("babyGrowth.height"),min:d.I.height.min,max:d.I.height.max,onChange:e=>{y.setFieldValue("height",e),y.setFieldValue("checkMesureVal",!y.values.checkMesureVal)},rightSection:n().createElement(p.H.Unit,null,s("babyGrowth.cm"))})),n().createElement(m.I.Number,Object.assign({},y.getInputProps("weight"),{placeholder:s("babyGrowth.weight"),min:d.I.weight.min,max:d.I.weight.max,onChange:e=>{y.setFieldValue("weight",e),y.setFieldValue("checkMesureVal",!y.values.checkMesureVal)},rightSection:n().createElement(p.H.Unit,null,s("babyGrowth.kg"))}))),("mb"===D.other.template||h!==E.L.Vietnam)&&n().createElement(p.H.BorderInlineControl,{label:s("babyGrowth.head")},n().createElement(m.I.Number,Object.assign({},y.getInputProps("head"),{placeholder:s("babyGrowth.head"),onChange:e=>{y.setFieldValue("head",e),y.setFieldValue("checkMesureVal",!y.values.checkMesureVal)},rightSection:n().createElement(p.H.Unit,null,s("babyGrowth.cm"))}))),y.errors.checkMesureVal&&n().createElement(p.H.Error,null,y.errors.checkMesureVal)),n().createElement(p.H.FormRow,null,n().createElement(p.H.BorderInlineControl,{label:s("babyGrowth.input.measurementDate")},n().createElement(u.D,Object.assign({},G,{maxDate:new Date},y.getInputProps("measurementDate"),{error:null}))),y.errors.measurementDate&&n().createElement(p.H.Error,null,y.errors.measurementDate)),n().createElement(p.H.FormRow,{className:B.submitWrapper},n().createElement(p.H.Submit,Object.assign({type:"submit","data-event-category":"Health Tool","data-event-action":"Baby Growth","data-event-label":H,className:(0,o.clsx)(F.submitBtn,B.submitBtn)},V),s("babyGrowth.input.submit"))))},MbLayout=e=>{var t=(0,a.a)(e,[]);let{t:r}=(0,b.u)(),{form:o,currentUrl:i,submitProps:s}=(0,l.useContext)(v),c={placeholder:"DD/MM/YYYY",popoverProps:{withinPortal:!0}};return n().createElement(p.H,Object.assign({formLayout:"default"},t),n().createElement(p.H.FormRow,null,n().createElement(p.H.Control,null,n().createElement(w.G,Object.assign({isBaby:!0,genderValue:{male:"boy",female:"girl"}},o.getInputProps("gender"),{error:null}))),o.errors.gender&&n().createElement(p.H.Error,null,o.errors.gender)),n().createElement(p.H.BorderBoxControl,{label:r("babyGrowth.input.birthday"),rightSection:n().createElement(y.A,null)},n().createElement(u.D,Object.assign({},c,{maxDate:new Date},o.getInputProps("birthday"),{error:null,rightSection:null,onChange:e=>{e&&o.validateField("measurementDate"),o.getInputProps("birthday").onChange(e)}}))),o.errors.birthday&&n().createElement(p.H.Error,null,o.errors.birthday),n().createElement(p.H.BorderBoxControl,{label:r("babyGrowth.height"),rightSection:r("babyGrowth.cm")},n().createElement(m.I.Number,Object.assign({},o.getInputProps("height"),{placeholder:r("tools.inputPlaceholder",{content:"160"}),min:d.I.height.min,max:d.I.height.max,onChange:e=>{o.setFieldValue("height",e),o.setFieldValue("checkMesureVal",!o.values.checkMesureVal)}}))),o.errors.height&&n().createElement(p.H.Error,null,o.errors.height),n().createElement(p.H.BorderBoxControl,{label:r("babyGrowth.weight"),rightSection:r("babyGrowth.kg")},n().createElement(m.I.Number,Object.assign({},o.getInputProps("weight"),{placeholder:r("tools.inputPlaceholder",{content:"50"}),min:d.I.weight.min,max:d.I.weight.max,onChange:e=>{o.setFieldValue("weight",e),o.setFieldValue("checkMesureVal",!o.values.checkMesureVal)}}))),o.errors.weight&&n().createElement(p.H.Error,null,o.errors.weight),n().createElement(p.H.BorderBoxControl,{label:r("babyGrowth.head"),rightSection:r("babyGrowth.cm")},n().createElement(m.I.Number,Object.assign({},o.getInputProps("head"),{placeholder:r("tools.inputPlaceholder",{content:"50"}),onChange:e=>{o.setFieldValue("head",e),o.setFieldValue("checkMesureVal",!o.values.checkMesureVal)}}))),o.errors.checkMesureVal&&n().createElement(p.H.Error,null,o.errors.checkMesureVal),n().createElement(p.H.BorderBoxControl,{label:r("babyGrowth.input.measurementDate"),rightSection:n().createElement(y.A,null)},n().createElement(m.I.Wrapper,null,n().createElement(u.D,Object.assign({},c,{defaultValue:new Date},o.getInputProps("measurementDate"),{maxDate:new Date,rightSection:null,error:null})))),o.errors.measurementDate&&n().createElement(p.H.Error,null,o.errors.measurementDate),n().createElement(p.H.Submit,Object.assign({type:"submit","data-event-category":"Health Tool","data-event-action":"Baby Growth","data-event-label":i},s),r("babyGrowth.input.submit")))},BabyGrowthForm=e=>{var{onSubmit:t,formLayout:r="default",submitProps:l,currentUrl:m}=e,u=(0,a.a)(e,["onSubmit","formLayout","submitProps","currentUrl"]);let{t:c}=(0,b.u)(),h=(0,o.useMantineTheme)(),g=(0,i.m)({initialValues:{measurementDate:new Date},validate:{gender:(0,s.h)(c("validation.error.requiredField")),birthday:(0,s.h)(c("validation.error.requiredField")),measurementDate:(e,t)=>t.birthday?t.birthday instanceof Date&&e instanceof Date&&t.birthday.getTime()<=e.getTime()?null:c("babyGrowth.error.measurementDateLowerThanBirthday",{name:""}):null,checkMesureVal:(e,t)=>void 0===t.head&&void 0===t.height&&void 0===t.weight||t.head||t.height||t.weight?null:c("babyGrowth.error.atLeastOneOf")},validateInputOnChange:["checkMesureVal"]}),d=Object.assign({onSubmit:g.onSubmit(e=>null==t?void 0:t(Object.assign(Object.assign({},e),{bmi:bmiCalculate(Number(g.getInputProps("height").value),Number(g.getInputProps("weight").value)).toString()})))},u);return n().createElement(v.Provider,{value:{submitProps:l,currentUrl:m,form:g}},"default"===r?"mb"===h.other.template?n().createElement(MbLayout,Object.assign({formLayout:r},d)):n().createElement(DefaultForm,Object.assign({},d)):n().createElement(InlineForm,Object.assign({},d)))}}}]);