fda-nutrition-facts-label
Version:
FDA nutritional label with 2018 specs.
1 lines • 5.11 kB
JavaScript
!function(t){function e(a){if(i[a])return i[a].exports;var n=i[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var i={};e.m=t,e.c=i,e.i=function(t){return t},e.d=function(t,i,a){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:a})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist/",e(e.s=1)}([function(t,e){},function(t,e,i){"use strict";i(0),function(t,e,i,a){function n(e,i){var a=this;a.element=e,a.$elem=t(e),a.options=t.extend(!0,{},s,i),a._defaults=s,a._name=r,a.init()}var r="fdaNutritionLabel",s={data:{servings_per_container:{value:1},serving_size:{value:""},calories:{value:1},total_fat:{value:!1,title:"Total Fat",measurement:"g",isBold:!0,rdi:78},saturated_fat:{value:!1,title:"Saturated Fat",measurement:"g",rdi:20,addClass:["indent"]},trans_fat:{value:!1,title:"Trans Fat",measurement:"g",addClass:["indent"]},cholesterol:{value:!1,title:"Cholesterol",measurement:"mg",isBold:!0,rdi:300},sodium:{value:!1,title:"Sodium",measurement:"mg",isBold:!0,rdi:2300},total_carbs:{value:!1,title:"Total Carbohydrates",measurement:"mg",isBold:!0,rdi:275},dietary_fiber:{value:!1,title:"Dietary Fiber",measurement:"g",rdi:28,addClass:["indent"]},total_sugars:{value:!1,title:"Total Sugars",measurement:"g",addClass:["indent"]},added_sugars:{value:!1,title:"Includes",measurement:"g Added Sugars",rdi:50,addClass:["indent-2"]},protein:{value:!1,title:"Protein",measurement:"g",isBold:!0},vitamin_a:{value:!1,title:"Vitamin A",measurement:"mcg",rdi:900},vitamin_c:{value:!1,title:"Vitamin C",measurement:"mg",rdi:90},vitamin_d:{value:!1,title:"Vitamin D",measurement:"mcg",rdi:20},calcium:{value:!1,title:"Calcium",measurement:"mg",rdi:1300},iron:{value:!1,title:"Iron",measurement:"mg",rdi:18},potassium:{value:!1,title:"Potassium",measurement:"mg",rdi:4700},calories_per_gram:{fat:{value:!1,title:"Fat"},carbs:{value:!1,title:"Carbohydrate"},protein:{value:!1,title:"Protein"}}},disclaimer:"The % Daily Value tells you how much a nutrient in a serving of food contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.",primaryClass:"fda-nutrition-label"};n.prototype={init:function(){var e=this,i=e.options.primaryClass;e.$elem.addClass(i),e.sections=["title","servings","calories","daily-value-a","daily-value-b","disclaimer"].map(function(a){return{name:a,$el:t('<div class="'+[i+"--section",a].join(" ")+'" />').appendTo(e.$elem)}}),e.render()},buildRow:function(e){var i=arguments.length>1&&arguments[1]!==a&&arguments[1],n=e.addClass||[],r=e.measurement||"",s=e.rdi?Math.round(e.value/e.rdi*100)+"%":"";return e.percent&&(s=e.percent+"%"),t('\n\t\t\t\t<div class="'+this.options.primaryClass+"--row "+n.join(" ")+'">\n\t\t\t\t\t<div>'+(e.isBold?"<b>"+e.title+"</b>":e.title)+" "+(e.value+r)+"</div>\n\t\t\t\t\t<div>"+(i?"<b>"+s+"</b>":s)+"</div>\n\t\t\t\t</div>\n\t\t\t")},appendToSection:function(t,e){var i=this.sections.find(function(t){return t.name===e});i?Array.isArray(t)?t.forEach(function(t){t.appendTo(i.$el)}):t.appendTo(i.$el):console.error(e+" does not exist.")},render:function(){var e=this,i=e.options,a=i.data;e.appendToSection(t("<b>Nutrition Facts</b>"),"title"),e.appendToSection(t("\n\t\t\t\t<span>"+a.servings_per_container.value+' servings per container</span>\n\t\t\t\t<div class="'+i.primaryClass+'--row">\n\t\t\t\t\t<div><b>Serving size</b></div>\n\t\t\t\t\t<div><b>'+a.serving_size.value+"</b></div>\n\t\t\t\t</div>\n\t\t\t"),"servings"),e.appendToSection(t('\n\t\t\t\t<div><b>Amount per serving</b></div>\n\t\t\t\t<div class="'+i.primaryClass+'--row">\n\t\t\t\t\t<div><b>Calories</b></div>\n\t\t\t\t\t<div><b>'+a.calories.value+"</b></div>\n\t\t\t\t</div>\n\t\t\t"),"calories"),e.appendToSection(t('\n\t\t\t\t<div class="'+i.primaryClass+'--row">\n\t\t\t\t\t<div/>\n\t\t\t\t\t<div><b>% Daily Value*</b></div>\n\t\t\t\t</div>\n\t\t\t'),"daily-value-a"),e.appendToSection([a.total_fat,a.saturated_fat,a.trans_fat,a.cholesterol,a.sodium,a.total_carbs,a.dietary_fiber,a.total_sugars,a.added_sugars,a.protein].filter(function(t){return t.value!==!1}).map(function(t){return e.buildRow(t,!0)}),"daily-value-a"),e.appendToSection([a.vitamin_d,a.calcium,a.iron,a.potassium,a.vitamin_a,a.vitamin_c].filter(function(t){return t.value!==!1}).map(function(t){return e.buildRow(t)}),"daily-value-b"),e.appendToSection(t("<span>"+i.disclaimer+"</span>"),"disclaimer");var n=[a.calories_per_gram.fat,a.calories_per_gram.carbs,a.calories_per_gram.protein];n.every(function(t){return t.value!==!1})&&e.appendToSection(t('\n\t\t\t\t\t<div class="calories-per-gram">\n\t\t\t\t\t\tCalories per gram:\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t'+n.map(function(t){return"<li>"+t.title+" "+t.value+"</li>"}).join("")+"\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t"),"disclaimer")}},t.fn[r]=function(e){var i=this;return i.each(function(){t.data(i,"plugin_"+r)||t.data(i,"plugin_"+r,new n(i,e))})}}(jQuery,window,document)}]);