1/* Chartist.js 0.2.4 2 * Copyright © 2014 Gion Kunz 3 * Free to use under the WTFPL license. 4 * http://www.wtfpl.net/ 5 */ 6 7!function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define([],b):a.Chartist=b()}(this,function(){var a={};return a.version="0.2.4",function(a,b,c){"use strict";c.noop=function(a){return a},c.alphaNumerate=function(a){return String.fromCharCode(97+a%26)},c.extend=function(a,b){a=a||{};for(var d in b)a[d]="object"==typeof b[d]?c.extend(a[d],b[d]):b[d];return a},c.getPixelLength=function(a){return"string"==typeof a&&(a=a.replace(/px/i,"")),+a},c.querySelector=function(a){return a instanceof Node?a:b.querySelector(a)},c.createSvg=function(a,b,d,e){var f;return b=b||"100%",d=d||"100%",void 0!==a.chartistSvg?(f=a.chartistSvg.attr({width:b,height:d}).removeAllClasses().addClass(e).attr({style:"width: "+b+"; height: "+d+";"}),f.empty()):(f=c.Svg("svg").attr({width:b,height:d}).addClass(e).attr({style:"width: "+b+"; height: "+d+";"}),a.appendChild(f._node),a.chartistSvg=f),f},c.getDataArray=function(a){for(var b=[],c=0;c<a.series.length;c++)b[c]="object"==typeof a.series[c]&&void 0!==a.series[c].data?a.series[c].data:a.series[c];return b},c.normalizeDataArray=function(a,b){for(var c=0;c<a.length;c++)if(a[c].length!==b)for(var d=a[c].length;b>d;d++)a[c][d]=0;return a},c.orderOfMagnitude=function(a){return Math.floor(Math.log(Math.abs(a))/Math.LN10)},c.projectLength=function(a,b,d,e){var f=c.getAvailableHeight(a,e);return b/d.range*f},c.getAvailableHeight=function(a,b){return a.height()-2*b.chartPadding-b.axisX.offset},c.getHighLow=function(a){var b,c,d={high:-Number.MAX_VALUE,low:Number.MAX_VALUE};for(b=0;b<a.length;b++)for(c=0;c<a[b].length;c++)a[b][c]>d.high&&(d.high=a[b][c]),a[b][c]<d.low&&(d.low=a[b][c]);return d},c.getBounds=function(a,b,d,e){var f,g,h,i=c.getHighLow(b);for(i.high=d.high||(0===d.high?0:i.high),i.low=d.low||(0===d.low?0:i.low),i.high===i.low&&(0===i.low?i.high=1:i.low<0?i.high=0:i.low=0),(e||0===e)&&(i.high=Math.max(e,i.high),i.low=Math.min(e,i.low)),i.valueRange=i.high-i.low,i.oom=c.orderOfMagnitude(i.valueRange),i.min=Math.floor(i.low/Math.pow(10,i.oom))*Math.pow(10,i.oom),i.max=Math.ceil(i.high/Math.pow(10,i.oom))*Math.pow(10,i.oom),i.range=i.max-i.min,i.step=Math.pow(10,i.oom),i.numberOfSteps=Math.round(i.range/i.step);;){var j=c.projectLength(a,i.step/2,i,d);if(!(j>=d.axisY.scaleMinSpace))break;i.step/=2}for(g=i.min,h=i.max,f=i.min;f<=i.max;f+=i.step)f+i.step<i.low&&(g+=i.step),f-i.step>i.high&&(h-=i.step);for(i.min=g,i.max=h,i.range=i.max-i.min,i.values=[],f=i.min;f<=i.max;f+=i.step)i.values.push(f);return i},c.calculateLabelOffset=function(a,b,c,d,e){for(var f=0,g=0;g<b.length;g++){var h=d(b[g],g);if(h||0===h){var i=a.elem("text",{dx:0,dy:0},c).text(""+h);f=Math.max(f,i[e]()),i.remove()}}return f},c.polarToCartesian=function(a,b,c,d){var e=(d-90)*Math.PI/180;return{x:a+c*Math.cos(e),y:b+c*Math.sin(e)}},c.createChartRect=function(a,b,d,e){return{x1:b.chartPadding+e,y1:(c.getPixelLength(b.height)||a.height())-b.chartPadding-d,x2:(c.getPixelLength(b.width)||a.width())-b.chartPadding,y2:b.chartPadding,width:function(){return this.x2-this.x1},height:function(){return this.y1-this.y2}}},c.createXAxis=function(a,b,c,d,e,f){b.labels.forEach(function(g,h){var i=e.axisX.labelInterpolationFnc(g,h),j=a.width()/b.labels.length,k=a.x1+j*h;if(i||0===i){if(e.axisX.showGrid){var l=c.elem("line",{x1:k,y1:a.y1,x2:k,y2:a.y2},[e.classNames.grid,e.classNames.horizontal].join(" "));f.emit("draw",{type:"grid",axis:"x",index:h,group:c,element:l,x1:k,y1:a.y1,x2:k,y2:a.y2})}if(e.axisX.showLabel){var m={x:k+2,y:0},n=d.elem("text",{dx:m.x},[e.classNames.label,e.classNames.horizontal].join(" ")).text(""+i);m.y=a.y1+n.height()+e.axisX.offset,n.attr({dy:m.y}),f.emit("draw",{type:"label",axis:"x",index:h,group:d,element:n,text:""+i,x:m.x,y:m.y,space:j})}}})},c.createYAxis=function(a,b,c,d,e,f,g){b.values.forEach(function(h,i){var j=f.axisY.labelInterpolationFnc(h,i),k=a.height()/b.values.length,l=a.y1-k*i;if(j||0===j){if(f.axisY.showGrid){var m=c.elem("line",{x1:a.x1,y1:l,x2:a.x2,y2:l},[f.classNames.grid,f.classNames.vertical].join(" "));g.emit("draw",{type:"grid",axis:"y",index:i,group:c,element:m,x1:a.x1,y1:l,x2:a.x2,y2:l})}if(f.axisY.showLabel){var n={x:"right"===f.axisY.labelAlign?e-f.axisY.offset+f.chartPadding:f.chartPadding,y:l-2},o=d.elem("text",{dx:"right"===f.axisY.labelAlign?e-f.axisY.offset+f.chartPadding:f.chartPadding,dy:l-2,"text-anchor":"right"===f.axisY.labelAlign?"end":"start"},[f.classNames.label,f.classNames.vertical].join(" ")).text(""+j);g.emit("draw",{type:"label",axis:"y",index:i,group:d,element:o,text:""+j,x:n.x,y:n.y,space:k})}}})},c.projectPoint=function(a,b,c,d){return{x:a.x1+a.width()/c.length*d,y:a.y1-a.height()*(c[d]-b.min)/(b.range+b.step)}},c.optionsProvider=function(b,d,e,f){function g(){var b=i;if(i=c.extend({},k),e)for(j=0;j<e.length;j++){var d=a.matchMedia(e[j][0]);d.matches&&(i=c.extend(i,e[j][1]))}f&&f.emit("optionsChanged",{previousOptions:b,currentOptions:i})}function h(){l.forEach(function(a){a.removeListener(g)})}var i,j,k=c.extend(c.extend({},b),d),l=[];
7if(!a.matchMedia)throw"window.matchMedia not found! Make sure you're using a polyfill.";if(e)for(j=0;j<e.length;j++){var m=a.matchMedia(e[j][0]);m.addListener(g),l.push(m)}return g(),{get currentOptions(){return c.extend({},i)},removeMediaQueryListeners:h}},c.catmullRom2bezier=function(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4===d?f[3]={x:+a[0],y:+a[1]}:e-2===d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4===d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push([(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}}(window,document,a),function(a,b,c){"use strict";c.EventEmitter=function(){function a(a,b){d[a]=d[a]||[],d[a].push(b)}function b(a,b){d[a]&&(b?(d[a].splice(d[a].indexOf(b),1),0===d[a].length&&delete d[a]):delete d[a])}function c(a,b){d[a]&&d[a].forEach(function(a){a(b)})}var d=[];return{addEventHandler:a,removeEventHandler:b,emit:c}}}(window,document,a),function(a,b,c){"use strict";function d(a){var b=[];if(a.length)for(var c=0;c<a.length;c++)b.push(a[c]);return b}function e(a,b){var d=b||this.prototype||c.Class,e=Object.create(d);c.Class.cloneDefinitions(e,a);var f=function(){var a,b=e.constructor||function(){};return a=this===c?Object.create(e):this,b.apply(a,Array.prototype.slice.call(arguments,0)),a};return f.prototype=e,f.super=d,f.extend=this.extend,f}function f(a,b){if(this!==c.Class)throw new Error("Chartist.Class.mix should only be called on the type and never on an instance!");var d=[{}].concat(a).map(function(a){return a instanceof Function?a.prototype:a}),e=c.Class.cloneDefinitions.apply(void 0,d);return delete e.constructor,this.extend(b,e)}function g(){var a=d(arguments),b=a[0];return a.splice(1,a.length-1).forEach(function(a){Object.getOwnPropertyNames(a).forEach(function(c){delete b[c],Object.defineProperty(b,c,Object.getOwnPropertyDescriptor(a,c))})}),b}c.Class={extend:e,mix:f,cloneDefinitions:g}}(window,document,a),function(a,b,c){"use strict";function d(){this.createChart(this.optionsProvider.currentOptions)}function e(){a.removeEventListener("resize",this.update),this.optionsProvider.removeMediaQueryListeners()}function f(a,b){this.eventEmitter.addEventHandler(a,b)}function g(a,b){this.eventEmitter.removeEventHandler(a,b)}function h(b,d,e,f){this.container=c.querySelector(b),this.data=d,this.options=e,this.responsiveOptions=f,this.eventEmitter=c.EventEmitter(),a.addEventListener("resize",this.update.bind(this)),setTimeout(function(){this.optionsProvider=c.optionsProvider({},this.options,this.responsiveOptions,this.eventEmitter),this.createChart(this.optionsProvider.currentOptions)}.bind(this),0)}c.Base=c.Class.extend({constructor:h,optionsProvider:void 0,container:void 0,svg:void 0,eventEmitter:void 0,createChart:function(){throw new Error("Base chart type can't be instantiated!")},update:d,detach:e,on:f,off:g,version:c.version})}(window,document,a),function(a,b,c){"use strict";c.xmlNs={qualifiedName:"xmlns:ct",prefix:"ct",uri:"http://gionkunz.github.com/chartist-js/ct"},c.Svg=function(a,d,e,f,g){function h(a,b,d){return Object.keys(b).forEach(function(e){void 0!==b[e]&&(d?a.setAttributeNS(d,[c.xmlNs.prefix,":",e].join(""),b[e]):a.setAttribute(e,b[e]))}),a}function i(a,d,e,f,g){var i=b.createElementNS(v,a);return"svg"===a&&i.setAttributeNS(w,c.xmlNs.qualifiedName,c.xmlNs.uri),f&&(g&&f.firstChild?f.insertBefore(i,f.firstChild):f.appendChild(i)),d&&h(i,d),e&&q(i,e),i}function j(a,d,e,f,g,h,i,j){if("string"==typeof a){var k=b.createElement("div");k.innerHTML=a,a=k.firstChild}a.setAttribute("xmlns",x);var l=c.Svg("foreignObject",{x:d,y:e,width:f,height:g},h,i,j);return l._node.appendChild(a),l}function k(a,c){a.appendChild(b.createTextNode(c))}function l(a){for(;a.firstChild;)a.removeChild(a.firstChild)}function m(a){a.parentNode.removeChild(a)}function n(a,b){a.parentNode.replaceChild(b,a)}function o(a,b,c){c&&a.firstChild?a.insertBefore(b,a.firstChild):a.appendChild(b)}function p(a){return a.getAttribute("class")?a.getAttribute("class").trim().split(/\s+/):[]}function q(a,b){a.setAttribute("class",p(a).concat(b.trim().split(/\s+/)).filter(function(a,b,c){return c.indexOf(a)===b}).join(" "))}function r(a,b){var c=b.trim().split(/\s+/);a.setAttribute("class",p(a).filter(function(a){return-1===c.indexOf(a)}).join(" "))}function s(a){a.setAttribute("class","")}function t(a){return a.clientHeight||Math.round(a.getBBox().height)||a.parentNode.clientHeight}function u(a){return a.clientWidth||Math.round(a.getBBox().width)||a.parentNode.clientWidth}var v="http://www.w3.org/2000/svg",w="http://www.w3.org/2000/xmlns/",x="http://www.w3.org/1999/xhtml";return{_node:i(a,d,e,f?f._node:void 0,g),_parent:f,parent:function(){return this._parent},attr:function(a,b){return h(this._node,a,b),this},empty:function(){return l(this._node),this},remove:function(){return m(this._node),this.parent()},replace:function(a){return a._parent=this._parent,n(this._node,a._node),a},append:function(a,b){return a._parent=this,o(this._node,a._node,b),a},elem:function(a,b,d,e){return c.Svg(a,b,d,this,e)},foreignObject:function(a,b,c,d,e,f,g){return j(a,b,c,d,e,f,this,g)},text:function(a){return k(this._node,a),this},addClass:function(a){return q(this._node,a),this},removeClass:function(a){return r(this._node,a),this},removeAllClasses:function(){return s(this._node),this},classes:function(){return p(this._node)},height:function(){return t(this._node)},width:function(){return u(this._node)}}}}(window,document,a),function(a,b,c){"use strict";function d(a){var b,d,e,f=[],g=c.normalizeDataArray(c.getDataArray(this.data),this.data.labels.length);this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart),e=c.getBounds(this.svg,g,a),b=a.axisX.offset,a.axisX.showLabel&&(b+=c.calculateLabelOffset(this.svg,this.data.labels,[a.classNames.label,a.classNames.horizontal].join(" "),a.axisX.labelInterpolationFnc,"height")),d=a.axisY.offset,a.axisY.showLabel&&(d+=c.calculateLabelOffset(this.svg,e.values,[a.classNames.label,a.classNames.horizontal].join(" "),a.axisY.labelInterpolationFnc,"width"));var h=c.createChartRect(this.svg,a,b,d),i=this.svg.elem("g"),j=this.svg.elem("g");c.createXAxis(h,this.data,j,i,a,this.eventEmitter),c.createYAxis(h,e,j,i,d,a,this.eventEmitter);for(var k=0;k<this.data.series.length;k++){f[k]=this.svg.elem("g"),this.data.series[k].name&&f[k].attr({"series-name":this.data.series[k].name},c.xmlNs.uri),f[k].addClass([a.classNames.series,this.data.series[k].className||a.classNames.series+"-"+c.alphaNumerate(k)].join(" "));for(var l,m,n=[],o=0;o<g[k].length;o++)l=c.projectPoint(h,e,g[k],o),n.push(l.x,l.y),a.showPoint&&(m=f[k].elem("line",{x1:l.x,y1:l.y,x2:l.x+.01,y2:l.y},a.classNames.point).attr({value:g[k][o]},c.xmlNs.uri),this.eventEmitter.emit("draw",{type:"point",value:g[k][o],index:o,group:f[k],element:m,x:l.x,y:l.y}));if(a.showLine||a.showArea){var p=["M"+n[0]+","+n[1]];if(a.lineSmooth&&n.length>4)for(var q=c.catmullRom2bezier(n),r=0;r<q.length;r++)p.push("C"+q[r].join());else for(var s=3;s<n.length;s+=2)p.push("L"+n[s-1]+","+n[s]);if(a.showArea){var t=Math.max(Math.min(a.areaBase,e.high),e.low),u=p.slice(),v=c.projectPoint(h,e,[t],0);u.splice(0,0,"M"+v.x+","+v.y),u[1]="L"+n[0]+","+n[1],u.push("L"+n[n.length-2]+","+v.y),f[k].elem("path",{d:u.join("")},a.classNames.area,!0).attr({values:g[k]},c.xmlNs.uri)}a.showLine&&f[k].elem("path",{d:p.join("")},a.classNames.line,!0).attr({values:g[k]},c.xmlNs.uri)}}}function e(a,b,d,e){c.Line.super.constructor.call(this,a,b,c.extend(c.extend({},f),d),e)}var f={axisX:{offset:10,showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop},axisY:{offset:15,showLabel:!0,showGrid:!0,labelAlign:"right",labelInterpolationFnc:c.noop,scaleMinSpace:30},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,low:void 0,high:void 0,chartPadding:5,classNames:{chart:"ct-chart-line",label:"ct-label",series:"ct-series",line:"ct-line",point:"ct-point",area:"ct-area",grid:"ct-grid",vertical:"ct-vertical",horizontal:"ct-horizontal"}};c.Line=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a){var b,d,e,f=[],g=c.normalizeDataArray(c.getDataArray(this.data),this.data.labels.length);this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart),e=c.getBounds(this.svg,g,a,0),b=a.axisX.offset,a.axisX.showLabel&&(b+=c.calculateLabelOffset(this.svg,this.data.labels,[a.classNames.label,a.classNames.horizontal].join(" "),a.axisX.labelInterpolationFnc,"height")),d=a.axisY.offset,a.axisY.showLabel&&(d+=c.calculateLabelOffset(this.svg,e.values,[a.classNames.label,a.classNames.horizontal].join(" "),a.axisY.labelInterpolationFnc,"width"));var h=c.createChartRect(this.svg,a,b,d),i=this.svg.elem("g"),j=this.svg.elem("g"),k=c.projectPoint(h,e,[0],0);c.createXAxis(h,this.data,j,i,a,this.eventEmitter),c.createYAxis(h,e,j,i,d,a,this.eventEmitter);for(var l=0;l<this.data.series.length;l++){var m=l-(this.data.series.length-1)/2,n=h.width()/g[l].length/2;f[l]=this.svg.elem("g"),this.data.series[l].name&&f[l].attr({"series-name":this.data.series[l].name},c.xmlNs.uri),f[l].addClass([a.classNames.series,this.data.series[l].className||a.classNames.series+"-"+c.alphaNumerate(l)].join(" "));for(var o=0;o<g[l].length;o++){var p,q=c.projectPoint(h,e,g[l],o);q.x+=n+m*a.seriesBarDistance,p=f[l].elem("line",{x1:q.x,y1:k.y,x2:q.x,y2:q.y},a.classNames.bar).attr({value:g[l][o]},c.xmlNs.uri),this.eventEmitter.emit("draw",{type:"bar",value:g[l][o],index:o,group:f[l],element:p,x1:q.x,y1:k.y,x2:q.x,y2:q.y})}}}function e(a,b,d,e){c.Bar.super.constructor.call(this,a,b,c.extend(c.extend({},f),d),e)}var f={axisX:{offset:10,showLabel:!0,showGrid:!0,labelInterpolationFnc:c.noop},axisY:{offset:15,showLabel:!0,showGrid:!0,labelAlign:"right",labelInterpolationFnc:c.noop,scaleMinSpace:40},width:void 0,height:void 0,high:void 0,low:void 0,chartPadding:5,seriesBarDistance:15,classNames:{chart:"ct-chart-bar",label:"ct-label",series:"ct-series",bar:"ct-bar",thin:"ct-thin",thick:"ct-thick",grid:"ct-grid",vertical:"ct-vertical",horizontal:"ct-horizontal"}};c.Bar=c.Base.extend({constructor:e,createChart:d})}(window,document,a),function(a,b,c){"use strict";function d(a,b,c){var d=b.x>a.x;return d&&"explode"===c||!d&&"implode"===c?"start":d&&"implode"===c||!d&&"explode"===c?"end":"middle"}function e(a){var b,e,f,g,h=[],i=a.startAngle,j=c.getDataArray(this.data);this.svg=c.createSvg(this.container,a.width,a.height,a.classNames.chart),b=c.createChartRect(this.svg,a,0,0),e=Math.min(b.width()/2,b.height()/2),g=a.total||j.reduce(function(a,b){return a+b},0),e-=a.donut?a.donutWidth/2:0,f=a.donut?e:e/2,f+=a.labelOffset;for(var k={x:b.x1+b.width()/2,y:b.y2+b.height()/2},l=1===this.data.series.filter(function(a){return 0!==a}).length,m=0;m<this.data.series.length;m++){h[m]=this.svg.elem("g",null,null,!0),this.data.series[m].name&&h[m].attr({"series-name":this.data.series[m].name},c.xmlNs.uri),h[m].addClass([a.classNames.series,this.data.series[m].className||a.classNames.series+"-"+c.alphaNumerate(m)].join(" "));var n=i+j[m]/g*360;n-i===360&&(n-=.01);var o=c.polarToCartesian(k.x,k.y,e,i-(0===m||l?0:.2)),p=c.polarToCartesian(k.x,k.y,e,n),q=180>=n-i?"0":"1",r=["M",p.x,p.y,"A",e,e,0,q,0,o.x,o.y];a.donut===!1&&r.push("L",k.x,k.y);
7var s=h[m].elem("path",{d:r.join(" ")},a.classNames.slice+(a.donut?" "+a.classNames.donut:""));if(s.attr({value:j[m]},c.xmlNs.uri),a.donut===!0&&s.attr({style:"stroke-width: "+ +a.donutWidth+"px"}),this.eventEmitter.emit("draw",{type:"slice",value:j[m],totalDataSum:g,index:m,group:h[m],element:s,center:k,radius:e,startAngle:i,endAngle:n}),a.showLabel){var t=c.polarToCartesian(k.x,k.y,f,i+(n-i)/2),u=a.labelInterpolationFnc(this.data.labels?this.data.labels[m]:j[m],m),v=h[m].elem("text",{dx:t.x,dy:t.y,"text-anchor":d(k,t,a.labelDirection)},a.classNames.label).text(""+u);this.eventEmitter.emit("draw",{type:"label",index:m,group:h[m],element:v,text:""+u,x:t.x,y:t.y})}i=n}}function f(a,b,d,e){c.Pie.super.constructor.call(this,a,b,c.extend(c.extend({},g),d),e)}var g={width:void 0,height:void 0,chartPadding:5,classNames:{chart:"ct-chart-pie",series:"ct-series",slice:"ct-slice",donut:"ct-donut",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelInterpolationFnc:c.noop,labelOverflow:!1,labelDirection:"neutral"};c.Pie=c.Base.extend({constructor:f,createChart:e,determineAnchorPosition:d})}(window,document,a),a}); 8//# sourceMappingURL=chartist.min.map
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.