PageSourceSearch

https://nutriscan.app/assets/chunks/MacroCalculator.DkmwprIs.js

js nutriscan.app collected 2026-10-02 05:48:09 UTC 14,478 bytes, 1 lines download raw bytes

1import{o as m,c as d,q as t,t as e,a2 as c,a3 as u,l as Q,n as F,a4 as h,F as $,a as X,M as Z,s as V,p as x,w as tt,g as ot}from"./vue-i18n.BDY-6aG9.js";import{b as et,p as at,a as st}from"../app.yyLlKzcW.js";import{_ as lt}from"./plugin-vue_export-helper.DlAUqK2U.js";import"./intlify.BySaHZEQ.js";import"./data.Cik2lkiY.js";import"./vendor-deps.45xamTTr.js";import"./blog-data.mb3Du6sx.js";const rt=st("macro-calculator"),ct=at("macro-calculator"),it={name:"MacroCalculator",props:{defaultGoal:{type:String,default:""}},setup(a){const o=V({age:"25",gender:"",height:"170",weight:"70",steps:"",exercise:"",goal:a.defaultGoal||"",heightUnit:"cm",weightUnit:"kg",feet:"",inches:"",trimester:"t2"}),b=V(null),s={under_5k:1.2,"5k_7_5k":1.375,"7_5k_10k":1.55,"10k_12_5k":1.725,over_12_5k:1.9},M={none:1,light:1.15,moderate:1.25,intense:1.4},w={fat_loss:.8,muscle_gain:1.1,maintenance:1,pcos:.85,diabetes:.85,viral_flu:1.12},l={fat_loss:2,muscle_gain:2,maintenance:1,pcos:1.8,diabetes:1.4,pregnancy:1.1,viral_flu:1.4},S={fat_loss:{carbs:.45,fat:.55},muscle_gain:{carbs:.55,fat:.45},maintenance:{carbs:.6,fat:.4},pcos:{carbs:.6,fat:.4},diabetes:{carbs:.6,fat:.4},pregnancy:{carbs:.65,fat:.35},viral_flu:{carbs:.65,fat:.35}},T=(r,n)=>{const i=Math.max(0,parseFloat(r)||0),g=parseFloat(n)||0,p=Math.min(11.99,Math.max(0,g));return(i*12+p)*2.54},E=r=>r*.453592,P=()=>{if(o.value.heightUnit==="cm")return parseFloat(o.value.height)||0;{const r=parseFloat(o.value.feet)||0,n=parseFloat(o.value.inches)||0;return T(r,n)}},B=()=>{if(o.value.weightUnit==="kg")return parseFloat(o.value.weight)||0;{const r=parseFloat(o.value.weight)||0;return E(r)}},G=()=>{o.value.height="",o.value.feet="",o.value.inches=""},H=()=>{o.value.weight=""},I=x(()=>{const r=o.value.heightUnit==="cm"?o.value.height:o.value.feet&&o.value.inches;return o.value.age&&o.value.gender&&r&&o.value.weight&&o.value.steps&&o.value.exercise&&o.value.goal});return tt(()=>o.value.goal,r=>{(r==="pcos"||r==="pregnancy")&&(o.value.gender="female")}),{appStoreUrl:rt,playStoreUrl:ct,formData:o,results:b,isFormValid:I,calculateMacros:()=>{const r=parseInt(o.value.age),n=P(),i=B(),g=o.value.heightUnit==="cm"?o.value.height:o.value.feet&&o.value.inches;if(!r||!n||!i||!o.value.gender||!o.value.steps||!o.value.exercise||!o.value.goal||!g)return;const p=o.value.gender==="male"?10*i+6.25*n-5*r+5:10*i+6.25*n-5*r-161,y=s[o.value.steps]||1.2,R=M[o.value.exercise]||1,f=p*y*R,K={t1:0,t2:340,t3:452},_=o.value.goal==="pregnancy"?f+(K[o.value.trimester||"t2"]??340):f*w[o.value.goal];let v=l[o.value.goal];const N={t1:1.1,t2:1.1,t3:1.2};if(o.value.goal==="pregnancy"){const J=o.value.trimester||"t2";v=N[J]||v}const D=i*v,A=D*4,C=Math.max(0,_-A),k=S[o.value.goal],W=.7*i,j=C*((k==null?void 0:k.fat)??.4),z=W*9,U=Math.min(C,Math.max(j,z)),L=U/9,O=Math.max(0,C-U)/4,q=_/1e3*14,Y=i*35/1e3;b.value={BMR:Math.round(p),TDEE:Math.round(f),finalCalories:Math.round(_),protein:Math.round(D),carbs:Math.round(O),fat:Math.round(L),fiber:Math.round(q),water:Math.round(Y*100)/100},ot(()=>et())},resetHeightFields:G,resetWeightField:H}}},nt={class:"bc bc-mc"},mt={class:"bc-group"},dt={class:"bc-field"},ut={class:"bc-label",for:"mc-goal"},ht={value:""},pt={value:"fat_loss"},bt={value:"muscle_gain"},gt={value:"maintenance"},ft={value:"pcos"},_t={value:"diabetes"},vt={value:"pregnancy"},Ct={value:"viral_flu"},kt={key:0,class:"bc-field"},Mt={class:"bc-label",for:"mc-trimester"},wt={value:"t1"},yt={value:"t2"},Dt={value:"t3"},Ut={class:"bc-field"},Ft={id:"mc-gender-label",class:"bc-label"},$t={class:"bc-segmented",role:"group","aria-labelledby":"mc-gender-label"},Vt=["aria-pressed"],St=["aria-pressed"],Tt={class:"bc-field"},Et={class:"bc-label",for:"mc-age"},Pt=["placeholder"],Bt={class:"bc-mc-pair"},Gt={class:"bc-field"},Ht={class:"bc-label",for:"mc-height-unit"},It={value:"cm"},Rt={value:"ft"},Kt={class:"bc-field"},Nt={class:"bc-label",for:"mc-height"},At=["placeholder"],Wt={class:"bc-label"},jt={class:"bc-split"},zt=["placeholder"],Lt=["placeholder"],Ot={class:"bc-mc-pair"},qt={class:"bc-field"},Yt={class:"bc-label",for:"mc-weight-unit"},Jt={value:"kg"},Qt={value:"lbs"},Xt={class:"bc-field"},Zt={class:"bc-label",for:"mc-weight"},xt=["placeholder"],to={class:"bc-field"},oo={class:"bc-label",for:"mc-steps"},eo={value:""},ao={value:"under_5k"},so={value:"5k_7_5k"},lo={value:"7_5k_10k"},ro={value:"10k_12_5k"},co={value:"over_12_5k"},io={class:"bc-field"},no={class:"bc-label",for:"mc-exercise"},mo={value:""},uo={value:"none"},ho={value:"light"},po={value:"moderate"},bo={value:"intense"},go={class:"bc-actions bc-mc-actions"},fo=["disabled"],_o={class:"bc-result","aria-live":"polite"},vo={key:0,class:"bc-panel"},Co={class:"bc-eyebrow"},ko={class:"bc-hero"},Mo={class:"bc-hero-num"},wo={class:"bc-hero-unit"},yo={class:"bc-sub"},Do={class:"bc-stats"},Uo={class:"bc-stat"},Fo={class:"bc-stat-num"},$o={class:"bc-stat-key"},Vo={class:"bc-stat"},So={class:"bc-stat-num"},To={class:"bc-stat-key"},Eo={class:"bc-stat"},Po={class:"bc-stat-num"},Bo={class:"bc-stat-key"},Go={class:"bc-panel-h"},Ho={class:"bc-table-wrap"},Io={class:"bc-table"},Ro={class:"bc-tr"},Ko={scope:"row"},No={class:"bc-num"},Ao={class:"bc-tr"},Wo={scope:"row"},jo={class:"bc-num"},zo={class:"bc-tr"},Lo={scope:"row"},Oo={class:"bc-num"},qo={class:"bc-tr"},Yo={scope:"row"},Jo={class:"bc-num"},Qo={class:"bc-tr"},Xo={scope:"row"},Zo={class:"bc-num"},xo={class:"bc-mc-store"},te={class:"bc-note"},oe={class:"download-buttons"},ee=["href"],ae=["href"],se={key:1,class:"bc-mc-empty"},le={class:"bc-mc-empty-title"},re={class:"bc-mc-empty-sub"};function ce(a,o,b,s,M,w){return m(),d("section",nt,[t("form",{class:"bc-form",novalidate:"",onSubmit:o[16]||(o[16]=Z(()=>{},["prevent"]))},[t("div",mt,[t("div",dt,[t("label",ut,e(a.$t("macroCalculator.form.goal.label")),1),c(t("select",{id:"mc-goal","onUpdate:modelValue":o[0]||(o[0]=l=>s.formData.goal=l),class:"bc-select"},[t("option",ht,e(a.$t("macroCalculator.form.goal.placeholder")),1),t("option",pt,e(a.$t("macroCalculator.form.goal.options.fat_loss")),1
1),t("option",bt,e(a.$t("macroCalculator.form.goal.options.muscle_gain")),1),t("option",gt,e(a.$t("macroCalculator.form.goal.options.maintenance")),1),t("option",ft,e(a.$t("macroCalculator.form.goal.options.pcos")),1),t("option",_t,e(a.$t("macroCalculator.form.goal.options.diabetes")),1),t("option",vt,e(a.$t("macroCalculator.form.goal.options.pregnancy")),1),t("option",Ct,e(a.$t("macroCalculator.form.goal.options.viral_flu")),1)],512),[[u,s.formData.goal]])]),s.formData.goal==="pregnancy"?(m(),d("div",kt,[t("label",Mt,e(a.$t("macroCalculator.form.trimester.label")),1),c(t("select",{id:"mc-trimester","onUpdate:modelValue":o[1]||(o[1]=l=>s.formData.trimester=l),class:"bc-select"},[t("option",wt,e(a.$t("macroCalculator.form.trimester.t1")),1),t("option",yt,e(a.$t("macroCalculator.form.trimester.t2")),1),t("option",Dt,e(a.$t("macroCalculator.form.trimester.t3")),1)],512),[[u,s.formData.trimester]])])):Q("",!0),t("div",Ut,[t("span",Ft,e(a.$t("macroCalculator.form.gender.label")),1),t("div",$t,[t("button",{type:"button",class:F(["bc-seg",{"bc-seg-on":s.formData.gender==="male"}]),"aria-pressed":s.formData.gender==="male",onClick:o[2]||(o[2]=l=>s.formData.gender="male")},e(a.$t("macroCalculator.form.gender.male")),11,Vt),t("button",{type:"button",class:F(["bc-seg",{"bc-seg-on":s.formData.gender==="female"}]),"aria-pressed":s.formData.gender==="female",onClick:o[3]||(o[3]=l=>s.formData.gender="female")},e(a.$t("macroCalculator.form.gender.female")),11,St)])]),t("div",Tt,[t("label",Et,e(a.$t("macroCalculator.form.age.label")),1),c(t("input",{id:"mc-age","onUpdate:modelValue":o[4]||(o[4]=l=>s.formData.age=l),class:"bc-input",type:"number",inputmode:"numeric",placeholder:a.$t("macroCalculator.form.age.placeholder")},null,8,Pt),[[h,s.formData.age]])]),t("div",Bt,[t("div",Gt,[t("label",Ht,e(a.$t("macroCalculator.form.height.label"))+" ("+e(a.$t("macroCalculator.form.unit"))+")",1),c(t("select",{id:"mc-height-unit","onUpdate:modelValue":o[5]||(o[5]=l=>s.formData.heightUnit=l),class:"bc-select",onChange:o[6]||(o[6]=(...l)=>s.resetHeightFields&&s.resetHeightFields(...l))},[t("option",It,e(a.$t("macroCalculator.form.height.unit_cm")),1),t("option",Rt,e(a.$t("macroCalculator.form.height.unit_ft")),1)],544),[[u,s.formData.heightUnit]])]),t("div",Kt,[s.formData.heightUnit==="cm"?(m(),d($,{key:0},[t("label",Nt,e(a.$t("macroCalculator.form.height.label"))+" (cm)",1),c(t("input",{id:"mc-height","onUpdate:modelValue":o[7]||(o[7]=l=>s.formData.height=l),class:"bc-input",type:"number",inputmode:"decimal",placeholder:a.$t("macroCalculator.form.height.placeholder_cm")},null,8,At),[[h,s.formData.height]])],64)):(m(),d($,{key:1},[t("span",Wt,e(a.$t("macroCalculator.form.height.label"))+" (ft & in)",1),t("div",jt,[c(t("input",{"onUpdate:modelValue":o[8]||(o[8]=l=>s.formData.feet=l),class:"bc-input",type:"number",inputmode:"numeric",placeholder:a.$t("macroCalculator.form.height.placeholder_feet")},null,8,zt),[[h,s.formData.feet]]),c(t("input",{"onUpdate:modelValue":o[9]||(o[9]=l=>s.formData.inches=l),class:"bc-input",type:"number",inputmode:"numeric",placeholder:a.$t("macroCalculator.form.height.placeholder_inches")},null,8,Lt),[[h,s.formData.inches]])])],64))])]),t("div",Ot,[t("div",qt,[t("label",Yt,e(a.$t("macroCalculator.form.weight.label"))+" ("+e(a.$t("macroCalculator.form.unit"))+")",1),c(t("select",{id:"mc-weight-unit","onUpdate:modelValue":o[10]||(o[10]=l=>s.formData.weightUnit=l),class:"bc-select",onChange:o[11]||(o[11]=(...l)=>s.resetWeightField&&s.resetWeightField(...l))},[t("option",Jt,e(a.$t("macroCalculator.form.weight.unit_kg")),1),t("option",Qt,e(a.$t("macroCalculator.form.weight.unit_lbs")),1)],544),[[u,s.formData.weightUnit]])]),t("div",Xt,[t("label",Zt,e(a.$t("macroCalculator.form.weight.label"))+" ("+e(s.formData.weightUnit)+") ",1),c(t("input",{id:"mc-weight","onUpdate:modelValue":o[12]||(o[12]=l=>s.formData.weight=l),class:"bc-input",type:"number",inputmode:"decimal",placeholder:a.$t("macroCalculator.form.weight.placeholder",{unit:s.formData.weightUnit})},null,8,xt),[[h,s.formData.weight]])])]),t("div",to,[t("label",oo,e(a.$t("macroCalculator.form.steps.label")),1),c(t("select",{id:"mc-steps","onUpdate:modelValue":o[13]||(o[13]=l=>s.formData.steps=l),class:"bc-select"},[t("option",eo,e(a.$t("macroCalculator.form.steps.placeholder")),1),t("option",ao,e(a.$t("macroCalculator.form.steps.options.under_5k")),1),t("option",so,e(a.$t("macroCalculator.form.steps.options.5k_7_5k")),1),t("option",lo,e(a.$t("macroCalculator.form.steps.options.7_5k_10k")),1),t("option",ro,e(a.$t("macroCalculator.form.steps.options.10k_12_5k")),1),t("option",co,e(a.$t("macroCalculator.form.steps.options.over_12_5k")),1)],512),[[u,s.formData.steps]])]),t("div",io,[t("label",no,e(a.$t("macroCalculator.form.exercise.label")),1),c(t("select",{id:"mc-exercise","onUpdate:modelValue":o[14]||(o[14]=l=>s.formData.exercise=l),class:"bc-select"},[t("option",mo,e(a.$t("macroCalculator.form.exercise.placeholder")),1),t("option",uo,e(a.$t("macroCalculator.form.exercise.options.none")),1),t("option",ho,e(a.$t("macroCalculator.form.exercise.options.light")),1),t("option",po,e(a.$t("macroCalculator.form.exercise.options.moderate")),1),t("option",bo,e(a.$t("macroCalculator.form.exercise.options.intense")),1)],512),[[u,s.formData.exercise]])])]),t("div",go,[t("button",{type:"button",class:"bc-mc-go",disabled:!s.isFormValid,onClick:o[15]||(o[15]=(...l)=>s.calculateMacros&&s.calculateMacros(...l))},[o[17]||(o[17]=t("svg",{class:"bc-mc-go-icon",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"})],-1)),X(" "+e(a.$t("macroCalculator.button.calculate")),1)],8,fo)])],32),t("div",_o,[s.results?(m(),d("div",vo,[t("p",Co,e(a.$t("macroCalculator.results.title")),1),t("p",ko,[t("span",Mo,e(s.results.finalCalories),1),t("span",wo,e(a.$t("macroCalculator.results.units.kcal")),1)]),t("p",yo,e(a.$t("macroCalculator.results.description")),1),t("div",Do,[t("div",Uo,[t("span",Fo,e(s.results.BMR),1),t("span",$o,e(a.$t("macroCalculator.results.labels.bmr")),1)]),t("div",Vo,[t("span",So,e(s.results.TDEE),1),t("span",To,e(a.$t("macroCalculator.results.labels.tdee")),1)]),t("div",Eo,[t("span",Po,e(s.results.finalCalories),1),t("span",Bo,e(a.$t("macroCalculator.results.labels.target")),1)])]),t("h3",Go,e(a.$t("macroCalculator.results.groups.macros")),1),t("div",Ho,[t("table",Io,[t("tbody",null,[t("tr",Ro,[t("th",Ko,e(a.$t("macroCalculator.results.labels.protein")),1),t("td",No,e(s.results.protein)+" "+e(a.$t("macroCalculator.results.units.grams")),1)]),t("tr",Ao,[t("th",Wo,e(a.$t("macroCalculator.results.labels.carbs")),1),t("td",jo,e(s.results.carbs)+" "+e(a.$t("macroCalculator.results.units.grams")),1)]),t("tr",zo,[t("th",Lo,e(a.$t("macroCalculator.results.labels.fat")),1),t("td",Oo,e(s.results.fat)+" "+e(a.$t("macroCalculator.results.units.grams")),1)]),t("tr",qo,[t("th",Yo,e(a.$t("macroCalculator.results.labels.fiber")),1),t("td",Jo,e(s.results.fiber)+" "+e(a.$t("macroCalculator.results.units.grams")),1)]),t("tr",Qo,[t("th",Xo,e(a.$t("macroCalculator.results.labels.water")),1),t("td",Zo,e(s.results.water)+" "+e(a.$t("macroCalculator.results.units.liters")),1)])])])]),t("div",xo,[t("p",te,e(a.$t("nutriScanTool.results.cta")),1),t("div",oe,[t("a",{href:s.appStoreUrl,target:"_blank",class:"store-link"},[...o[18]||(o[18]=[t("img",{src:"https://nutriscan.app/images/app-store.webp",alt:"Download NutriScan on the App Store",class:"store-badge"},null,-1)])],8,ee),t("a",{href:s.playStoreUrl,target:"_blank",class:"store-link"},[...o[19]||(o[19]=[t("img",{src:"https://nutriscan.app/images/google-play-store.webp",alt:"Get NutriScan on Google Play",class:"store-badge"},null,-1)])],8,ae)])])])):(m(),d("div",se,[o[20]||(o[20]=t("svg",{class:"bc-mc-empty-icon",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"})],-1)),t("p",le,e(a.$t("macroCalculator.empty.title")),1),t("p",re,e(a.$t("macroCalculator.empty.subtitle")),1)]))])])}const _e=lt(it,[["render",ce]]);export{_e as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.