text: 'use strict';
  
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
  
  var fromKapsule = _interopDefault(require('react-kapsule'));
  var GlobeKapsule = _interopDefault(require('globe.gl'));
  var PropTypes = _interopDefault(require('prop-types'));
  
  var GlobePropTypes = {
    width: PropTypes.number,
    height: PropTypes.number,
    backgroundColor: PropTypes.string,
    backgroundImageUrl: PropTypes.string,
    globeImageUrl: PropTypes.string,
    bumpImageUrl: PropTypes.string,
    showAtmosphere: PropTypes.bool,
    showGraticules: PropTypes.bool,
    pointsData: PropTypes.arrayOf(PropTypes.object),
    pointLat: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pointLng: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pointColor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    pointAltitude: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pointRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pointResolution: PropTypes.number,
    pointsMerge: PropTypes.bool,
    pointsTransitionDuration: PropTypes.number,
    pointLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    onPointClick: PropTypes.func,
    onPointRightClick: PropTypes.func,
    onPointHover: PropTypes.func,
    arcsData: PropTypes.arrayOf(PropTypes.object),
    arcStartLat: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcStartLng: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcEndLat: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcEndLng: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcColor: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
    arcAltitude: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcAltitudeAutoScale: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcStroke: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcCurveResolution: PropTypes.number,
    arcCircularResolution: PropTypes.number,
    arcDashLength: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcDashGap: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcDashInitialGap: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcDashAnimateTime: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    arcsTransitionDuration: PropTypes.number,
    arcLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    onArcClick: PropTypes.func,
    onArcRightClick: PropTypes.func,
    onArcHover: PropTypes.func,
    polygonsData: PropTypes.arrayOf(PropTypes.object),
    polygonGeoJsonGeometry: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    polygonCapColor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    polygonSideColor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    polygonStrokeColor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    polygonAltitude: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    polygonsTransitionDuration: PropTypes.number,
    polygonLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    onPolygonClick: PropTypes.func,
    onPolygonRightClick: PropTypes.func,
    onPolygonHover: PropTypes.func,
    pathsData: PropTypes.array,
    pathPoints: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.func]),
    pathPointLat: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pathPointLng: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pathPointAlt: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pathResolution: PropTypes.number,
    pathColor: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
    pathStroke: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pathDashLength: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pathDashGap: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pathDashInitialGap: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pathDashAnimateTime: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    pathTransitionDuration: PropTypes.number,
    pathLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    onPathClick: PropTypes.func,
    onPathRightClick: PropTypes.func,
    onPathHover: PropTypes.func,
    hexBinPointsData: PropTypes.arrayOf(PropTypes.object),
    hexBinPointLat: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    hexBinPointLng: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    hexBinPointWeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    hexBinResolution: PropTypes.number,
    hexMargin: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),
    hexTopColor: PropTypes.func,
    hexSideColor: PropTypes.func,
    hexAltitude: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),
    hexBinMerge: PropTypes.bool,
    hexTransitionDuration: PropTypes.number,
    hexLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    onHexClick: PropTypes.func,
    onHexRightClick: PropTypes.func,
    onHexHover: PropTypes.func,
    hexPolygonsData: PropTypes.arrayOf(PropTypes.object),
    hexPolygonGeoJsonGeometry: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    hexPolygonColor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    hexPolygonAltitude: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    hexPolygonResolution: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    hexPolygonMargin: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    hexPolygonsTransitionDuration: PropTypes.number,
    hexPolygonLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    onHexPolygonClick: PropTypes.func,
    onHexPolygonRightClick: PropTypes.func,
    onHexPolygonHover: PropTypes.func,
    labelsData: PropTypes.arrayOf(PropTypes.object),
    labelLat: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    labelLng: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    labelAltitude: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    labelRotation: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    labelText: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    labelSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    labelTypeFace: PropTypes.object,
    labelColor: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    labelResolution: PropTypes.number,
    labelIncludeDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.func]),
    labelDotRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.func]),
    labelDotOrientation: PropTypes.oneOf(['right', 'top', 'bottom']),
    labelsTransitionDuration: PropTypes.number,
    labelLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    onLabelClick: PropTypes.func,
    onLabelRightClick: PropTypes.func,
    onLabelHover: PropTypes.func,
    customLayerData: PropTypes.arrayOf(PropTypes.object),
    customThreeObject: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.func]),
    customThreeObjectUpdate: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    customLayerLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
    onCustomLayerClick: PropTypes.func,
    onCustomLayerRightClick: PropTypes.func,
    onCustomLayerHover: PropTypes.func,
    enablePointerInteraction: PropTypes.bool,
    onZoom: PropTypes.func
  };
  
  var Globe = fromKapsule(GlobeKapsule, {
    methodNames: [// bind methods
    'globeMaterial', 'pauseAnimation', 'resumeAnimation', 'pointOfView', 'scene', 'camera', 'renderer', 'controls', 'getCoords', 'toGeoCoords'],
    initPropNames: ['animateIn', 'waitForGlobeReady', 'rendererConfig']
  });
  Globe.displayName = 'Globe';
  Globe.propTypes = GlobePropTypes;
  
  module.exports = Globe;
  