{"version":3,"file":"custom.min.js","sources":["custom.js"],"sourcesContent":["// - - - - -\n// Object.find()\n// - - - - -\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, 'find', {\n value: function value(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(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 $(this).css(\"display\", \"flex\");\n });\n }\n }, function () {\n $(this).removeClass(\"dropdown\");\n $(this).children(\".sub-menu\").slideUp(\"slow\", function () {});\n });\n\n //desktop: changing background and text color on hover\n $(\".headerDesk\").find(\".sub-menu .menu-item\").hover(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 $(\".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 $(\".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 //counter for dropdown menu ids\n var counter = 1;\n\n //adding ids to all list items\n $('.menu').children('.menu-item').each(function (i, obj) {\n $(this).attr('id', \"menu\" + counter);\n counter++;\n });\n\n //adding skip links to items with submenus\n $('.menu-item-has-children').each(function (i, obj) {\n var nextID = $(this).attr('id');\n nextID = nextID.replace('menu', '');\n nextID = parseInt(nextID);\n nextID = nextID + 1;\n $(this).children('a:first-child').after('Skip submenu to next menu item');\n });\n $('.menu-item').each(function () {\n $(this).attr('role', 'menuitem');\n });\n $('.sub-menu').each(function () {\n $(this).attr('role', 'menu');\n });\n $('.menu').each(function () {\n $(this).attr('role', 'menu');\n });\n\n //if submenu is in focus, show dropdown\n $('.menu-item-has-children').children('a').focus(function (i, obj) {\n $('.menu-item-has-children').children('.sub-menu').css('display', 'none');\n $(this).siblings('.sub-menu').css('display', 'block');\n });\n\n //if menu item does not have submenu, hide all submenus\n $('.menu-item').children('a').focus(function (i, obj) {\n if ($(this).siblings('.sub-menu').length == 0 && $(this).parent('li').parent().hasClass('menu')) {\n $('.menu-item-has-children').children('.sub-menu').css('display', 'none');\n }\n });\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')) {} else {\n $(this).children('.sub-menu').css('display', 'none');\n console.log('closing');\n }\n }, 300);\n });\n\n //submenu skip link functionality\n $('button.skip-link').click(function (i, obj) {\n var id = $(this).attr('id');\n console.log('#' + id + '.menu-item');\n $('#' + id + '.menu-item').children('a').focus();\n });\n}); // end no-conflict document ready\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 // - - - - -\n // Global stack\n // - - - - -\n // get DOM elements\n var HTML = dom('html');\n var 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 ;\n // close modal\n function closeModal() {\n HTML.classList.remove('modal-out');\n setTimeout(function () {\n while (MODAL_PANEL.firstChild) {\n MODAL_PANEL.removeChild(MODAL_PANEL.firstChild);\n }\n }, 300);\n }\n ;\n // breakpoints (from ../sass/components/_variables.scss)\n var 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 var 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 // Newsletter Signup form manipulations\n // - - - - -\n\n var check = false;\n signup_form();\n function signup_form() {\n // get DOM elements\n var SECTION = dom('section.fc-newsletter_signup');\n var FORM = dom('form', SECTION);\n if (SECTION && FORM) {\n var check_required_fields = function check_required_fields() {\n if (FORM_TEXT_INPUTS.find(function (input) {\n return input.parentNode.classList.contains('frm_required_field') && input.value === '';\n }) === undefined) {\n if (are_required_fields_filled === false) {\n SUBMIT.removeAttribute('disabled');\n are_required_fields_filled = true;\n }\n } else {\n if (are_required_fields_filled === true) {\n SUBMIT.setAttribute('disabled', '');\n are_required_fields_filled = false;\n }\n }\n };\n var BIRTHMONTH_BOX = dom('div.news-birth-month', FORM);\n var BIRTHMONTH_INPUT = dom('input', BIRTHMONTH_BOX);\n var BIRTHDATE_BOX = dom('div.news-birth-day', FORM);\n var FORM_TEXT_INPUTS = dom(['input[type=\"text\"], input[type=\"number\"], input[type=\"email\"]']);\n var SUBMIT = dom('div.frm_submit button');\n var TOGGLE = dom('button.toggle-cereal-list');\n var CEREALS_WRAPPER = dom('div.news-cereal');\n var CEREALS_LIST = dom('div.frm_opt_container', CEREALS_WRAPPER);\n var CEREALS_OPTIONS = dom(['div.frm_checkbox'], CEREALS_LIST);\n var CEREALS_CHECKBOXES = CEREALS_OPTIONS.map(function (cereal_option) {\n return dom('input', cereal_option);\n });\n\n // get color data for the newsletter module\n var text_colors = JSON.parse(SECTION.getAttribute('data-color'));\n\n // wrap the birthmonth and birthdate fields in a div.birthday-box\n var 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(function (checkbox) {\n checkbox.insertAdjacentHTML('afterEnd', '
');\n });\n\n // open/close the cereal list\n var is_cereal_list_open = false;\n TOGGLE.addEventListener('click', function (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(function () {\n FORM.classList.remove('cereal-list-visible');\n }, 300);\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 var are_required_fields_filled = false;\n check_required_fields();\n FORM_TEXT_INPUTS.forEach(function (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')) box.prop('checked', false);else box.prop('checked', true);\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 $('input:checkbox').click(function (e) {\n console.log(\"input click\");\n Checkbox_to_RadioButton($(this), e);\n });\n\n // - - - - -\n // Nutrition Information modal\n // - - - - -\n nutrition_information();\n function nutrition_information() {\n var NUTRINFO_BUTTONS = dom(['button.nutrinfo']);\n var NUTRINFO_CONTENT = dom(['div.nutrinfo']);\n NUTRINFO_BUTTONS.forEach(function (button, i) {\n button.addEventListener('click', function () {\n openModal(NUTRINFO_CONTENT[i]);\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 // - - - - -\n // Buy Online modal\n // - - - - -\n buy_online();\n function buy_online() {\n var BUYONLINE_BUTTONS = dom(['button.buyonline']);\n var BUYONLINE_CONTENT = dom(['div.buyonline']);\n BUYONLINE_BUTTONS.forEach(function (button, i) {\n button.addEventListener('click', function () {\n openModal(BUYONLINE_CONTENT[i]);\n });\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', function () {\n closeModal();\n });\n }\n ;\n $(document).on('click', 'img.modal-close-icon', function (e) {\n closeModal();\n });\n $('.product-image-slider').each(function () {\n $(this).slick({\n dots: true,\n infinite: false,\n arrows: false\n });\n });\n\n // - - - - -\n // Banner slideshow setup\n // - - - - -\n $('.banner-slider').each(function () {\n $(this).slick({\n dots: true,\n adaptiveHeight: false\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 $('.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 // Prouduct Carousel setup\n // - - - - -\n setup_carousel_products();\n function setup_carousel_products() {\n var CAROUSELS = dom(['section.fc-carousel_products div.slider']);\n CAROUSELS.forEach(function (carousel) {\n $(carousel).slick({\n slidesToShow: 4,\n slidesToScroll: 4,\n dots: true,\n responsive: [{\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 var $stream = $(stream);\n var $count = 20;\n if ($stream.attr('data-social-stream-count')) {\n $count = $stream.attr('data-social-stream-count');\n }\n var opts = {\n days: Infinity,\n limit: $count,\n external: true,\n filter: false,\n controls: false,\n rotate: {\n delay: 0\n },\n wall: false,\n cache: true,\n feeds: {}\n };\n if (parseInt($stream.attr('data-social-stream-limit')) > 0) {\n opts.limit = parseInt($stream.attr('data-social-stream-limit'));\n }\n if ($stream.attr('data-social-stream-fb') !== '') {\n opts.feeds.facebook = {\n id: $stream.attr('data-social-stream-fb'),\n feed: 'posts',\n url: '/wp-content/themes/spoke-theme/social-stream/facebook.php'\n };\n }\n opts.onLoaded = function (carousel) {\n $(carousel).slick({\n slidesToShow: 5,\n slidesToScroll: 5,\n responsive: [{\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 $stream.dcSocialStream(opts);\n });\n }\n ;\n\n // - - - - -\n // Announcement bar\n // - - - - -\n announcement_bar();\n function announcement_bar() {\n var BAR = dom('section.announcement');\n if (BAR) {\n var BUTTON = dom('button.announcement-close', BAR);\n BUTTON.addEventListener('click', function () {\n HTML.classList.remove('announcement-out');\n localStorage.setItem('announcement_shown', 'true');\n });\n if (localStorage.getItem('announcement_shown') !== 'true') {\n setTimeout(function () {\n HTML.classList.add('announcement-out');\n }, 1000);\n }\n }\n }\n ;\n\n // - - - - -\n // Mobile background images\n // - - - - -\n set_mobile_background_images();\n function set_mobile_background_images() {\n var WITH_MBI = dom(['*[data-mbi^=\"http\"]']);\n WITH_MBI.forEach(function (element) {\n element.insertAdjacentHTML('afterBegin', '
');\n });\n }\n ;\n}); // end no-conflict document ready\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 var y = typeof t === 'string' ? s.querySelector(t) : Array.prototype.slice.call(s.querySelectorAll(t[0]));\n return y;\n}\n;"],"names":["dom","t","s","document","querySelector","Array","prototype","slice","call","querySelectorAll","find","Object","defineProperty","value","predicate","this","TypeError","o","len","length","thisArg","arguments","k","kValue","configurable","writable","jQuery","ready","$","colorDesk","css","backgroundDesk","backgroundOriginalDesk","colorMob","backgroundMob","counter","hover","addClass","children","stop","slideDown","removeClass","slideUp","append","click","siblings","slideToggle","toggleClass","toggle","e","colorChange","backgroundChange","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","NUTRINFO_CONTENT","BUYONLINE_CONTENT","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","breakpoints","check","window","navigator","userAgent","indexOf","parents","SECTION","FORM","Checkbox_to_RadioButton","box","myEvent","prop","undefined","input","parentNode","contains","removeAttribute","setAttribute","map","cereal_option","JSON","parse","getAttribute","BIRTHDAY_BOX","createElement","insertBefore","insertAdjacentHTML","forEach","checkbox","secondary","addEventListener","preventDefault","offsetHeight","keypress","event","keyCode","which","NUTRINFO_BUTTONS","button","location","hash","BUYONLINE_BUTTONS","slick","dots","infinite","arrows","adaptiveHeight","get","play","currentSlide","nextSlide","current","html","carousel","slidesToShow","slidesToScroll","responsive","breakpoint","settings","centerMode","index","stream","$stream","$count","opts","days","Infinity","limit","external","filter","controls","rotate","delay","wall","cache","feeds","facebook","feed","url","onLoaded","dcSocialStream","BAR","localStorage","setItem","getItem","element"],"mappings":"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"}