import Observer from 'fontfaceobserver'; import promisesPolyfill from 'es6-promise'; import config from '../config.js'; // preload fonts export default () => { const fontObservers = []; Object.keys(config.fonts).forEach((f) => { const font = config.fonts[f]; fontObservers.push( new Observer( font.family, { weight: font.weight, style: font.style } ).load() ); }); if (fontObservers.length >= 1) { promisesPolyfill.polyfill(); Promise.all(fontObservers) .then(() => { document.documentElement.classList.add('fonts-loaded'); }); } };