var SVGChartMixin = {
    calculateViewBoxWidth: function() {
        this.setState({
           canvasWidth: this.refs.svg.getDOMNode().offsetWidth
        });
    }
};

var fontFamily = 'Helvetica Neue, Helvetica, sans-serif',
    fontSize = 16;

function textWidth(str) {
    var svg = document.createElementNS('http://www.w3.org/2000/svg', "svg");
        text = document.createElementNS('http://www.w3.org/2000/svg', "text");

    svg.width = 500;
    svg.height = 500;
    svg.style.position = 'absolute';
    svg.style.left = '-1000px';

    text.appendChild(document.createTextNode(str))
    text.style.fontFamily = fontFamily;
    text.style.fontSize = fontSize +'px';

    svg.appendChild(text);
    document.body.appendChild(svg);
    var box = text.getBBox();
    document.body.removeChild(svg);

    return box.width;
}
