text: 'use strict';
  
  exports.__esModule = true;
  
  var _constants = require('./constants');
  
  var _componentTracker = require('./componentTracker');
  
  var componentTracker = _interopRequireWildcard(_componentTracker);
  
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
  
  /* eslint-env browser */
  function loadComponents() {
    if (typeof window === 'undefined') {
      throw new Error('`loadComponents` must be called client-side: `window` is undefined');
    }
  
    var ids = window[_constants.COMPONENT_IDS] || [];
    return Promise.all(ids.map(function (id) {
      return componentTracker.get(id)[_constants.LOADABLE]().load();
    }));
  }
  
  exports.default = loadComponents;