1window.onNextjsAppDidMount = function() { 2/* 3 * reframe.js - Reframe.js: responsive iframes for embedded content 4 * @version v2.2.7 5 * @link https://github.com/dollarshaveclub/reframe.js#readme 6 * @author Jeff Wainwright <[email protected]> (http://jeffry.in) 7 * @license MIT 8*/ 9!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).reframe=t()}(this,function(){"use strict";return function(e,t){var i="string"==typeof e?document.querySelectorAll(e):e,n=t||"js-reframe";"length"in i||(i=[i]);for(var o=0;o<i.length;o+=1){var r=i[o];if(!(-1!==r.className.split(" ").indexOf(n)||-1<r.style.width.indexOf("%"))){var d=(r.getAttribute("height")||r.offsetHeight)/(r.getAttribute("width")||r.offsetWidth)*100,f=document.createElement("div");f.className=n;var s=f.style;s.position="relative",s.width="100%",s.paddingTop=d+"%";var a=r.style;a.position="absolute",a.width="100%",a.height="100%",a.left="0",a.top="0",r.parentNode.insertBefore(f,r),r.parentNode.removeChild(r),f.appendChild(r)}}}}); 10 11// Handle responsive video embeds 12window.addVideoEmbedsHandlers = function() { 13 reframe('iframe[src*="youtube.com"],iframe[src*="vimeo.com"]'); 14}; 15 16window.removeVideoEmbedsHandlers = function() { 17 const frameWrappers = document.querySelectorAll('.js-reframe'); 18 if (frameWrappers) { 19 for (let i = 0; i < frameWrappers.length; i += 1) { 20 const frameWrapper = frameWrappers[i]; 21 const frame = frameWrapper.firstChild; 22 frame.removeAttribute('style'); 23 frameWrapper.parentNode.insertBefore(frame, frameWrapper); 24 frameWrapper.parentNode.removeChild(frameWrapper); 25 } 26 } 27}; 28 29// Handle main navigation menu toggling on small screens 30function navToggleHandler(e) { 31 e.preventDefault(); 32 document.body.classList.toggle('js-nav-open'); 33} 34 35window.addMainNavigationHandlers = function() { 36 const menuToggle = document.querySelectorAll('.js-nav-toggle'); 37 if (menuToggle) { 38 for (let i = 0; i < menuToggle.length; i++) { 39 menuToggle[i].addEventListener('click', navToggleHandler, false); 40 } 41 } 42}; 43 44window.removeMainNavigationHandlers = function() { 45 document.body.classList.remove('js-nav-open'); 46 const menuToggle = document.querySelectorAll('.js-nav-toggle'); 47 if (menuToggle) { 48 for (let i = 0; i < menuToggle.length; i++) { 49 menuToggle[i].removeEventListener('click', navToggleHandler, false); 50 } 51 } 52}; 53 54// Handle announcement close button click 55const hasLocalStorage = (function() { 56 try { 57 localStorage.setItem('__test', true); 58 localStorage.removeItem('__test'); 59 return true; 60 } catch (exception) { 61 return false; 62 } 63}()); 64 65function announcementCloseHandler(e) { 66 e.preventDefault(); 67 const anncmnt = document.querySelector('.js-announcement'); 68 const anncmntKey = 'hide-announcement-bar'; 69 const currentAnncmnt = anncmnt.dataset.anncmntId; 70 anncmnt.classList.add('is-hidden'); 71 if (hasLocalStorage) { 72 localStorage.setItem(anncmntKey, currentAnncmnt); 73 } 74} 75 76window.addAnnouncementHandlers = function() { 77 const anncmnt = document.querySelector('.js-announcement'); 78 if (anncmnt) { 79 const anncmntClose = document.querySelector('.js-announcment-close'); 80 const anncmntKey = 'hide-announcement-bar'; 81 const currentAnncmnt = anncmnt.dataset.anncmntId; 82 if (hasLocalStorage) { 83 if (localStorage.getItem(anncmntKey) != currentAnncmnt ) { 84 anncmnt.classList.remove('is-hidden'); 85 } 86 } 87 anncmntClose.addEventListener('click', announcementCloseHandler, false); 88 } 89}; 90 91window.removeAnnouncementHandlers = function() { 92 const anncmnt = document.querySelector('.js-announcement'); 93 if (anncmnt) { 94 const anncmntClose = document.querySelector('.js-announcment-close'); 95 const anncmntKey = 'hide-announcement-bar'; 96 const currentAnncmnt = anncmnt.dataset.anncmntId; 97 if (hasLocalStorage) { 98 if (localStorage.getItem(anncmntKey) == currentAnncmnt ) { 99 anncmnt.classList.add('is-hidden'); 100 } 101 } 102 anncmntClose.removeEventListener('click', announcementCloseHandler, false); 103 } 104} 105};
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.