{"version":3,"sources":["main.js","polyfill.js","header.js"],"names":["dom","t","s","document","querySelector","Array","prototype","slice","call","querySelectorAll","find","Object","defineProperty","value","predicate","this","TypeError","o","len","length","thisArg","k","kValue","configurable","writable","jQuery","ready","$","colorDesk","css","backgroundDesk","backgroundOriginalDesk","colorMob","backgroundMob","hover","addClass","children","stop","slideDown","removeClass","slideUp","append","click","siblings","slideToggle","toggleClass","toggle","e","colorChange","backgroundChange","counter","each","i","obj","attr","nextID","replace","parseInt","after","focus","parent","hasClass","on","setTimeout","is","console","log","id","HTML","MODAL_PANEL","openModal","classList","add","appendChild","cloneNode","closeModal","remove","firstChild","removeChild","breakpoints","window","navigator","userAgent","indexOf","parents","NUTRINFO_BUTTONS","NUTRINFO_CONTENT","BUYONLINE_BUTTONS","BUYONLINE_CONTENT","BAR","check","Checkbox_to_RadioButton","box","myEvent","prop","SECTION","FORM","check_required_fields","BIRTHMONTH_BOX","BIRTHMONTH_INPUT","BIRTHDATE_BOX","FORM_TEXT_INPUTS","SUBMIT","TOGGLE","CEREALS_WRAPPER","CEREALS_LIST","CEREALS_CHECKBOXES","text_colors","is_cereal_list_open","are_required_fields_filled","undefined","input","parentNode","contains","removeAttribute","setAttribute","map","cereal_option","JSON","parse","getAttribute","BIRTHDAY_BOX","createElement","insertBefore","insertAdjacentHTML","forEach","checkbox","secondary","addEventListener","preventDefault","offsetHeight","signup_form","keypress","event","keyCode","which","button","location","hash","slick","dots","adaptiveHeight","get","play","currentSlide","nextSlide","current","html","carousel","slidesToShow","slidesToScroll","responsive","breakpoint","settings","centerMode","infinite","index","stream","$stream","$count","opts","days","Infinity","limit","external","filter","controls","rotate","delay","wall","cache","feeds","facebook","feed","url","onLoaded","dcSocialStream","localStorage","setItem","getItem","element"],"mappings":"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","file":"custom.min.js","sourcesContent":["// This document ready syntax supports use of the $ alias in jQuery no conflict mode. See README.md for more info and alternatives.\njQuery( document ).ready( function( $ ) {\n\n // - - - - -\n // Global stack\n // - - - - -\n // get DOM elements\n const HTML = dom('html');\n const MODAL_PANEL = dom('div.modal-panel');\n // open modal\n function openModal(s) {\n HTML.classList.add('modal-out');\n MODAL_PANEL.appendChild(s.cloneNode(true));\n };\n // close modal\n function closeModal() {\n HTML.classList.remove('modal-out');\n setTimeout(() => {\n while (MODAL_PANEL.firstChild) {\n MODAL_PANEL.removeChild(MODAL_PANEL.firstChild);\n }\n }, 300);\n };\n // breakpoints (from ../sass/components/_variables.scss)\n const breakpoints = {\n site_min_width: 320,\n mini: 375,\n small: 560,\n mobile: 768,\n tablet: 1024,\n medium_screens: 1200,\n site_max_width: 1400,\n };\n // environment recognition\n const env = {\n is_ie: (window.navigator.userAgent.indexOf('Edge') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0),\n };\n if (env.is_ie) {\n HTML.classList.add('is_ie');\n }\n\n // - - - - -\n // Banner functions\n // - - - - -\n $('.banner-background').each(function() {\n if ($(this).hasClass('image')){\n $(this).parents(\".banner-tall\").css(\"min-height\", \"initial\");\n $(this).parents(\".banner-short\").css(\"min-height\", \"initial\");\n $(this).parents(\".banner-thin\").css(\"min-height\", \"initial\");\n } else {\n }\n })\n\n // - - - - -\n // Newsletter Signup form manipulations\n // - - - - -\n\n var check = false;\n\n signup_form();\n function signup_form() {\n // get DOM elements\n const SECTION = dom('section.fc-newsletter_signup');\n const FORM = dom('form', SECTION);\n if (SECTION && FORM) {\n const BIRTHMONTH_BOX = dom('div.news-birth-month', FORM);\n const BIRTHMONTH_INPUT = dom('input', BIRTHMONTH_BOX);\n const BIRTHDATE_BOX = dom('div.news-birth-day', FORM);\n const FORM_TEXT_INPUTS = dom(['input[type=\"text\"], input[type=\"number\"], input[type=\"email\"]']);\n const SUBMIT = dom('div.frm_submit button');\n const TOGGLE = dom('button.toggle-cereal-list');\n const CEREALS_WRAPPER = dom('div.news-cereal');\n const CEREALS_LIST = dom('div.frm_opt_container', CEREALS_WRAPPER);\n const CEREALS_OPTIONS = dom(['div.frm_checkbox'], CEREALS_LIST);\n const CEREALS_CHECKBOXES = CEREALS_OPTIONS.map((cereal_option) => {\n return dom('input', cereal_option);\n });\n\n // get color data for the newsletter module\n const text_colors = JSON.parse(SECTION.getAttribute('data-color'));\n\n // wrap the birthmonth and birthdate fields in a div.birthday-box\n const BIRTHDAY_BOX = document.createElement('div');\n BIRTHMONTH_BOX.parentNode.insertBefore(BIRTHDAY_BOX, BIRTHMONTH_BOX);\n BIRTHDAY_BOX.classList.add('birthday-box');\n BIRTHDAY_BOX.appendChild(BIRTHMONTH_BOX);\n BIRTHDAY_BOX.appendChild(BIRTHDATE_BOX);\n\n // give the birthmonth input's parent's aria-label to the birthmonth input\n BIRTHMONTH_INPUT.setAttribute('aria-label', BIRTHMONTH_BOX.getAttribute('aria-label'));\n\n // disable the submit button for now\n SUBMIT.setAttribute('disabled', '');\n\n // add a class \"a-like\" to the cereal list toggle\n TOGGLE.classList.add('a-like');\n\n // add an arrow-right icon to the \"subscribe\" button\n SUBMIT.insertAdjacentHTML('beforeEnd', '');\n\n // add a fake checkbox to each cereal option\n CEREALS_CHECKBOXES.forEach((checkbox) => {\n checkbox.insertAdjacentHTML('afterEnd', '
');\n });\n\n\n // open/close the cereal list\n let is_cereal_list_open = false;\n TOGGLE.addEventListener('click', (e) => {\n console.log(\"clicked\")\n e.preventDefault();\n if (is_cereal_list_open && check == false) {\n CEREALS_WRAPPER.setAttribute('style', '');\n FORM.classList.remove('cereal-list-open');\n setTimeout(() => {\n FORM.classList.remove('cereal-list-visible');\n }, 300);\n }\n else {\n CEREALS_WRAPPER.setAttribute('style', 'height: ' + (CEREALS_LIST.offsetHeight) + 'px');\n FORM.classList.add('cereal-list-open');\n FORM.classList.add('cereal-list-visible');\n }\n is_cereal_list_open = !is_cereal_list_open;\n check = false;\n });\n\n // enable/disable the \"subscribe\" button, based on whether all required fields are filled\n let are_required_fields_filled = false;\n check_required_fields();\n function check_required_fields() {\n if (FORM_TEXT_INPUTS.find((input) => {\n return (\n (input.parentNode.classList.contains('frm_required_field')) &&\n (input.value === '')\n );\n }) === undefined) {\n if (are_required_fields_filled === false) {\n SUBMIT.removeAttribute('disabled');\n are_required_fields_filled = true;\n }\n }\n else {\n if (are_required_fields_filled === true) {\n SUBMIT.setAttribute('disabled', '');\n are_required_fields_filled = false;\n }\n }\n }\n FORM_TEXT_INPUTS.forEach((input) => {\n if (input.parentNode.classList.contains('frm_required_field')) {\n input.addEventListener('input', check_required_fields);\n }\n });\n }\n };\n\n function Checkbox_to_RadioButton(box,myEvent){\n if(myEvent == \"enter\") {\n if(box.prop('checked'))\n box.prop('checked',false);\n else\n box.prop('checked',true);\n }\n }\n\n $('input:checkbox').keypress(function(event) {\n console.log(\"input enter\");\n check = true;\n var keycode = (event.keyCode ? event.keyCode : event.which);\n if (keycode == 13) {\n Checkbox_to_RadioButton($(this),\"enter\");\n }\n });\n\n $('input:checkbox').click(function(e){\n console.log(\"input click\");\n Checkbox_to_RadioButton($(this),e);\n });\n\n\n // - - - - -\n // Nutrition Information modal\n // - - - - -\n nutrition_information();\n function nutrition_information() {\n const NUTRINFO_BUTTONS = dom(['button.nutrinfo']);\n const NUTRINFO_CONTENT = dom(['div.nutrinfo']);\n NUTRINFO_BUTTONS.forEach((button,i) => {\n button.addEventListener('click', () => {\n openModal(NUTRINFO_CONTENT[i]);\n });\n });\n\n if(window.location.hash === '#nutrition' && NUTRINFO_CONTENT.length === 1) {\n // only trigger on single product page\n openModal(NUTRINFO_CONTENT[0]);\n }\n };\n\n // - - - - -\n // Buy Online modal\n // - - - - -\n buy_online();\n function buy_online() {\n const BUYONLINE_BUTTONS = dom(['button.buyonline']);\n const BUYONLINE_CONTENT = dom(['div.buyonline']);\n BUYONLINE_BUTTONS.forEach((button,i) => {\n button.addEventListener('click', () => {\n openModal(BUYONLINE_CONTENT[i]);\n });\n });\n };\n\n // - - - - -\n // Modal setup\n // - - - - -\n setup_modal();\n function setup_modal() {\n check = true;\n dom('div.modal-overlay').addEventListener('click', () => {\n closeModal();\n });\n };\n\n $(document).on('click', 'img.modal-close-icon', function(e) {\n closeModal();\n });\n\n // - - - - -\n // Banner slideshow setup\n // - - - - -\n $('.banner-slider').each(function() {\n $(this).slick({\n dots: true,\n adaptiveHeight: true,\n });\n });\n\n $('.banner-slider').on('afterChange', function () {\n if ($('.slick-current').find('video').length) {\n $('.slick-current').find('.video-desktop').get(0).play();\n $('.slick-current').find('.video-mobile').get(0).play();\n } else {\n }\n });\n\n $('.banner-slider').on('beforeChange', function (event, slick, currentSlide, nextSlide) {\n var current = $(this).find('.slick-current');\n current.html(current.html());\n });\n\n\n // - - - - -\n // Prouduct Carousel setup\n // - - - - -\n setup_carousel_products();\n function setup_carousel_products() {\n const CAROUSELS = dom(['section.fc-carousel_products div.slider']);\n CAROUSELS.forEach((carousel) => {\n $(carousel).slick({\n slidesToShow: 4,\n slidesToScroll: 4,\n dots: true,\n responsive: [\n {\n breakpoint: breakpoints.tablet + 1,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 3,\n },\n },{\n breakpoint: breakpoints.mobile + 1,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 2,\n },\n },{\n breakpoint: breakpoints.mini + 1,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n centerMode: true,\n infinite: false,\n },\n },\n ],\n });\n });\n };\n\n // - - - - -\n // Social stream setup\n // - - - - -\n setup_social_stream();\n function setup_social_stream() {\n $('div.social-stream').each(function(index, stream) {\n \t\tvar $stream = $(stream);\n \t\tvar $count = 20;\n \t\tif ($stream.attr('data-social-stream-count')) {\n \t\t\t$count = $stream.attr('data-social-stream-count');\n \t\t}\n \t\tvar opts = {\n \t\t\tdays: Infinity,\n \t\t\tlimit: $count,\n \t\t\texternal: true,\n \t\t\tfilter: false,\n \t\t\tcontrols: false,\n \t\t\trotate: {\n \t\t\t\tdelay: 0\n \t\t\t},\n \t\t\twall: false,\n \t\t\tcache: true,\n \t\t\tfeeds: {}\n \t\t};\n\n \t\tif (parseInt($stream.attr('data-social-stream-limit')) > 0) {\n \t\t\topts.limit = parseInt($stream.attr('data-social-stream-limit'));\n \t\t}\n\n \t\tif ($stream.attr('data-social-stream-fb') !== '') {\n \t\t\topts.feeds.facebook = {\n \t\t\t\tid: $stream.attr('data-social-stream-fb'),\n \t\t\t\tfeed: 'posts',\n \t\t\t\turl: '/wp-content/themes/spoke-theme/social-stream/facebook.php'\n \t\t\t}\n \t\t}\n\n opts.onLoaded = function(carousel) {\n $(carousel).slick({\n slidesToShow: 5,\n slidesToScroll: 5,\n responsive: [\n {\n breakpoint: breakpoints.tablet + 1,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 4,\n },\n },{\n breakpoint: breakpoints.mobile + 1,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 3,\n },\n },{\n breakpoint: breakpoints.small + 1,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 2,\n },\n },{\n breakpoint: breakpoints.mini + 1,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n },\n },\n ],\n });\n }\n\n \t\t$stream.dcSocialStream(opts);\n \t});\n };\n\n // - - - - -\n // Announcement bar\n // - - - - -\n announcement_bar();\n function announcement_bar() {\n const BAR = dom('section.announcement');\n if (BAR) {\n const BUTTON = dom('button.announcement-close', BAR);\n BUTTON.addEventListener('click', () => {\n HTML.classList.remove('announcement-out');\n localStorage.setItem('announcement_shown','true');\n });\n if (localStorage.getItem('announcement_shown') !== 'true') {\n setTimeout(() => {\n HTML.classList.add('announcement-out');\n }, 1000);\n }\n }\n };\n\n // - - - - -\n // Mobile background images\n // - - - - -\n set_mobile_background_images();\n function set_mobile_background_images() {\n const WITH_MBI = dom(['*[data-mbi^=\"http\"]']);\n WITH_MBI.forEach((element) => {\n element.insertAdjacentHTML('afterBegin', '
');\n });\n };\n\n} ); // end no-conflict document ready\n\n\n// - - - - - - -\n// Selects DOM element(s)\n// - - - - - - -\n// parameters:\n// t | String or Array | valid CSS selector, or one-element Array containing the same | required\n// s | Element | Element to be searched within | optional\n// returns:\n// Element or Array of Elements\n// - - - - - - -\nfunction dom(t,s) {\n if (s === undefined || s === null) {\n s = document;\n }\n const y = (typeof t === 'string') ? s.querySelector(t) : Array.prototype.slice.call(s.querySelectorAll(t[0]));\n return y;\n};\n","// - - - - -\n// Object.find()\n// - - - - -\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, 'find', {\n value: function(predicate) {\n if (this == null) {\n throw new TypeError('\"this\" is null or not defined');\n }\n var o = Object(this);\n var len = o.length >>> 0;\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var thisArg = arguments[1];\n var k = 0;\n while (k < len) {\n var kValue = o[k];\n if (predicate.call(thisArg, kValue, k, o)) {\n return kValue;\n }\n k++;\n }\n return undefined;\n },\n configurable: true,\n writable: true\n });\n}\n","// This document ready syntax supports use of the $ alias in jQuery no conflict mode. See README.md for more info and alternatives.\njQuery( document ).ready( function( $ ) {\n //desktop colors\n var colorDesk = $(\".headerDesk\").find('.sub-menu li a').css('color');\n var backgroundDesk = $(\".headerDesk\").find('.mainNav').css('background-color');\n var backgroundOriginalDesk = $(\".headerDesk\").find('.sub-menu').css('background-color');\n\n //mobile colors\n var colorMob = $(\".headerMobile--main\").css('color');\n var backgroundMob = $(\".headerMobile\").css('background-color');\n\n //desktop: animation for submenu\n $(\".headerDesk\").find(\".menu-item\").hover(\n function() {\n if($(this).find('.sub-menu').length !== 0){\n $(this).addClass(\"dropdown\");\n $(this).children(\".sub-menu\").stop(true, true).slideDown( \"slow\", function(){});\n }\n }, function() {\n $(this).removeClass(\"dropdown\");\n $(this).children(\".sub-menu\").slideUp( \"slow\", function(){});\n }\n );\n\n //desktop: changing background and text color on hover\n $(\".headerDesk\").find(\".sub-menu .menu-item\").hover(\n function() {\n $(this).children('a').css('color', backgroundDesk);\n $(this).css('background-color', colorDesk);\n }, function() {\n $(this).children('a').css('color', colorDesk);\n $(this).css('background-color', backgroundOriginalDesk);\n }\n );\n\n $(\".headerMobile\").find(\".menu-item-has-children\").append(\"
\");\n\n //animation for mobile menu\n // $(\".headerMobile\").find(\".menu-item-has-children\").click(function() {\n // $(this).children(\".sub-menu\").stop(true, true).slideToggle( \"slow\", function(){});\n // $(this).toggleClass(\"dropdown\");\n // });\n //\n $(\".toggle\").click(function() {\n $(this).siblings(\".sub-menu\").stop(true, true).slideToggle( \"slow\", function(){});\n $(this).toggleClass(\"dropdown\");\n });\n\n $(\".headerMobile--images-icon\").click(function() {\n //switching visible icon\n $(\".headerMobile--images-icon img\").toggleClass(\"active\");\n //putting white background over page behind menu\n $(\".wrapper\").toggleClass(\"inactive\");\n //animation for overlay and menu\n $(\".overlay\").stop(true, true).toggle();\n $(\".headerMobile--main\").stop(true, true).slideToggle( \"slow\", function(){});\n //adding class to menu for scrolling capability\n $(\".headerMobile\").toggleClass(\"active\");\n });\n\n //changing menu colors on click\n $(\".headerMobile\").find(\".menu-item\").click(function(e) {\n var colorChange = $(this).css('color');\n var backgroundChange = $(this).css('background-color');\n $(this).children('a').css('color', backgroundChange);\n $(this).css('color', backgroundChange);\n $(this).css('background-color', colorChange);\n $(\".sub-menu\").css('color', colorMob);\n $(\".sub-menu\").css('background-color', backgroundMob);\n\n });\n\n //counter for dropdown menu ids\n\tvar counter = 1;\n\n//adding ids to all list items\n\t$('.menu').children('.menu-item').each(function(i, obj) {\n\t\t$(this).attr('id', \"menu\" + counter);\n\t\tcounter++;\n\t});\n\n//adding skip links to items with submenus\n\t$('.menu-item-has-children').each(function(i, obj) {\n\t\tvar nextID = $(this).attr('id');\n\t\tnextID = nextID.replace('menu', '');\n\t\tnextID = parseInt(nextID);\n\t\tnextID = nextID + 1;\n\t\t$(this).children('a:first-child').after('Skip submenu to next menu item');\n\t});\n\n $('.menu-item').each(function() {\n $(this).attr('role', 'menuitem');\n });\n\n $('.sub-menu').each(function() {\n $(this).attr('role', 'menu');\n });\n\n $('.menu').each(function() {\n $(this).attr('role', 'menu');\n });\n\n//if submenu is in focus, show dropdown\n\t$('.menu-item-has-children').children('a').focus(function(i, obj) {\n\t\t$('.menu-item-has-children').children('.sub-menu').css('display', 'none');\n\t\t$(this).siblings('.sub-menu').css('display', 'block');\n\t});\n\n//if menu item does not have submenu, hide all submenus\n\t$('.menu-item').children('a').focus(function(i, obj) {\n\t\tif ($(this).siblings('.sub-menu').length == 0 && $(this).parent('li').parent().hasClass('menu')){\n\t\t\t$('.menu-item-has-children').children('.sub-menu').css('display', 'none');\n\t\t}\n\t});\n\n//if in search, hide submenus\n$('.menu-item-has-children').on('focusout', function(i, obj) {\n setTimeout(function () {\n if ($(this).find(':focus').length || $(this).is(':focus')) {\n } else {\n $(this).children('.sub-menu').css('display', 'none');\n console.log('closing');\n\t\t\t}\n }, 300);\n});\n\n//submenu skip link functionality\n\t$('button.skip-link').click(function(i, obj) {\n\t\tvar id = $(this).attr('id');\n\t\tconsole.log('#' + id + '.menu-item');\n\t\t$('#' + id + '.menu-item').children('a').focus();\n\t})\n\n\n} ); // end no-conflict document ready\n"]}