(function (root, factory) {
  if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
    define(['exports', 'echarts'], factory);
  } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
        // CommonJS
    factory(exports, require('echarts'));
  } else {
        // Browser globals
    factory({}, root.echarts);
  }
}(this, function (exports, echarts) {
  var log = function (msg) {
    if (typeof console !== 'undefined') {
      console && console.error && console.error(msg);
    }
  };
  if (!echarts) {
    log('ECharts is not Loaded');
    return;
  }

  var colorPalette = [
    '#2ec7c9', '#b6a2de', '#5ab1ef', '#ffb980', '#d87a80',
    '#8d98b3', '#e5cf0d', '#97b552', '#95706d', '#dc69aa',
    '#07a2a4', '#9a7fd1', '#588dd5', '#f5994e', '#c05050',
    '#59678c', '#c9ab00', '#7eb00a', '#6f5553', '#c14089',
  ];


  var theme = {
    color: colorPalette,

    title: {
      textStyle: {
        fontWeight: 'normal',
        color: '#008acd',
      },
    },

    visualMap: {
      itemWidth: 15,
      color: ['#5ab1ef', '#e0ffff'],
    },

    toolbox: {
      iconStyle: {
        normal: {
          borderColor: colorPalette[0],
        },
      },
    },

    tooltip: {
      backgroundColor: 'rgba(50,50,50,0.5)',
      axisPointer: {
        type: 'line',
        lineStyle: {
          color: '#008acd',
        },
        crossStyle: {
          color: '#008acd',
        },
        shadowStyle: {
          color: 'rgba(200,200,200,0.2)',
        },
      },
    },

    dataZoom: {
      dataBackgroundColor: '#efefff',
      fillerColor: 'rgba(182,162,222,0.2)',
      handleColor: '#008acd',
    },

    grid: {
      borderColor: '#eee',
    },

    categoryAxis: {
      axisLine: {
        lineStyle: {
          color: '#008acd',
        },
      },
      splitLine: {
        lineStyle: {
          color: ['#eee'],
        },
      },
    },

    valueAxis: {
      axisLine: {
        lineStyle: {
          color: '#008acd',
        },
      },
      splitArea: {
        show: true,
        areaStyle: {
          color: ['rgba(250,250,250,0.1)', 'rgba(200,200,200,0.1)'],
        },
      },
      splitLine: {
        lineStyle: {
          color: ['#eee'],
        },
      },
    },

    timeline: {
      lineStyle: {
        color: '#008acd',
      },
      controlStyle: {
        normal: { color: '#008acd' },
        emphasis: { color: '#008acd' },
      },
      symbol: 'emptyCircle',
      symbolSize: 3,
    },

    line: {
      smooth: true,
      symbol: 'emptyCircle',
      symbolSize: 3,
    },

    candlestick: {
      itemStyle: {
        normal: {
          color: '#d87a80',
          color0: '#2ec7c9',
          lineStyle: {
            color: '#d87a80',
            color0: '#2ec7c9',
          },
        },
      },
    },

    scatter: {
      symbol: 'circle',
      symbolSize: 4,
    },

    map: {
      label: {
        normal: {
          textStyle: {
            color: '#d87a80',
          },
        },
      },
      itemStyle: {
        normal: {
          borderColor: '#eee',
          areaColor: '#ddd',
        },
        emphasis: {
          areaColor: '#fe994e',
        },
      },
    },

    graph: {
      color: colorPalette,
    },

    gauge: {
      axisLine: {
        lineStyle: {
          color: [[0.2, '#2ec7c9'], [0.8, '#5ab1ef'], [1, '#d87a80']],
          width: 10,
        },
      },
      axisTick: {
        splitNumber: 10,
        length: 15,
        lineStyle: {
          color: 'auto',
        },
      },
      splitLine: {
        length: 22,
        lineStyle: {
          color: 'auto',
        },
      },
      pointer: {
        width: 5,
      },
    },
  };

  echarts.registerTheme('macarons', theme);
}));
