UNPKG

cttv.spinner

Version:

CTTV spinner in SVG format

79 lines (58 loc) 5.88 kB
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ module.exports = require("./index.js"); },{"./index.js":2}],2:[function(require,module,exports){ module.exports = spinner = require("./src/spinner.js"); },{"./src/spinner.js":3}],3:[function(require,module,exports){ var spinner = function () { "use strict"; var conf = { size: 50, stroke: 3, cssClass: "cttv-spinner-component", angle: Math.PI }; var render = function (div) { var offset = ~~(conf.size/2); var container = d3.select(div); container.selectAll("*").remove(); var svg = container.append("svg") .attr("width", conf.size) .attr("height", conf.size) .attr("class", conf.cssClass) .append("g"); var arc = d3.svg.arc() .innerRadius(offset - conf.stroke) .outerRadius(offset) .startAngle(0) //converting from degs to radians .endAngle(conf.angle) // 180deg svg.append("path") .attr("d", arc) .attr("transform", "translate("+offset+","+offset+")") }; render.size = function(s){ if (!arguments.length) { return conf.size; } conf.size = s; return this; } render.stroke = function(s){ if (!arguments.length) { return conf.stroke; } conf.stroke = s; return this; } // angle in radians (PI = 180deg) render.angle = function(s){ if (!arguments.length) { return conf.angle; } conf.angle = s; return this; } return render; }; module.exports = exports = spinner; },{}]},{},[1]) //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9waWduYXRlbGxpL3NyYy9yZXBvcy9jdHR2LnNwaW5uZXIvbm9kZV9tb2R1bGVzL2Jyb3dzZXItcGFjay9fcHJlbHVkZS5qcyIsIi9Vc2Vycy9waWduYXRlbGxpL3NyYy9yZXBvcy9jdHR2LnNwaW5uZXIvZmFrZV81YWMwYmRlYi5qcyIsIi9Vc2Vycy9waWduYXRlbGxpL3NyYy9yZXBvcy9jdHR2LnNwaW5uZXIvaW5kZXguanMiLCIvVXNlcnMvcGlnbmF0ZWxsaS9zcmMvcmVwb3MvY3R0di5zcGlubmVyL3NyYy9zcGlubmVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTs7QUNEQTtBQUNBOztBQ0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpfXZhciBmPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChmLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGYsZi5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuL2luZGV4LmpzXCIpO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBzcGlubmVyID0gcmVxdWlyZShcIi4vc3JjL3NwaW5uZXIuanNcIik7XG4iLCJ2YXIgc3Bpbm5lciA9IGZ1bmN0aW9uICgpIHtcbiAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBjb25mID0ge1xuICAgICAgICBzaXplOiA1MCxcbiAgICAgICAgc3Ryb2tlOiAzLFxuICAgICAgICBjc3NDbGFzczogXCJjdHR2LXNwaW5uZXItY29tcG9uZW50XCIsXG4gICAgICAgIGFuZ2xlOiBNYXRoLlBJXG4gICAgfTtcblxuXG4gICAgdmFyIHJlbmRlciA9IGZ1bmN0aW9uIChkaXYpIHtcblxuICAgICAgICB2YXIgb2Zmc2V0ID0gfn4oY29uZi5zaXplLzIpO1xuXG4gICAgXHR2YXIgY29udGFpbmVyID0gZDMuc2VsZWN0KGRpdik7XG4gICAgXHRjb250YWluZXIuc2VsZWN0QWxsKFwiKlwiKS5yZW1vdmUoKTtcblxuXG4gICAgXHR2YXIgc3ZnID0gY29udGFpbmVyLmFwcGVuZChcInN2Z1wiKVxuICAgIFx0ICAgIC5hdHRyKFwid2lkdGhcIiwgY29uZi5zaXplKVxuICAgIFx0ICAgIC5hdHRyKFwiaGVpZ2h0XCIsIGNvbmYuc2l6ZSlcbiAgICAgICAgICAgIC5hdHRyKFwiY2xhc3NcIiwgY29uZi5jc3NDbGFzcylcbiAgICBcdCAgICAuYXBwZW5kKFwiZ1wiKTtcblxuXG4gICAgICAgIHZhciBhcmMgPSBkMy5zdmcuYXJjKClcbiAgICAgICAgICAgIC5pbm5lclJhZGl1cyhvZmZzZXQgLSBjb25mLnN0cm9rZSlcbiAgICAgICAgICAgIC5vdXRlclJhZGl1cyhvZmZzZXQpXG4gICAgICAgICAgICAuc3RhcnRBbmdsZSgwKSAvL2NvbnZlcnRpbmcgZnJvbSBkZWdzIHRvIHJhZGlhbnNcbiAgICAgICAgICAgIC5lbmRBbmdsZShjb25mLmFuZ2xlKSAgLy8gMTgwZGVnXG5cblxuICAgICAgICBzdmcuYXBwZW5kKFwicGF0aFwiKVxuICAgICAgICAgICAgLmF0dHIoXCJkXCIsIGFyYylcbiAgICAgICAgICAgIC5hdHRyKFwidHJhbnNmb3JtXCIsIFwidHJhbnNsYXRlKFwiK29mZnNldCtcIixcIitvZmZzZXQrXCIpXCIpXG5cblxuICAgIH07XG5cbiAgICByZW5kZXIuc2l6ZSA9IGZ1bmN0aW9uKHMpe1xuICAgICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBjb25mLnNpemU7XG4gICAgICAgIH1cbiAgICAgICAgY29uZi5zaXplID0gcztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcmVuZGVyLnN0cm9rZSA9IGZ1bmN0aW9uKHMpe1xuICAgICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBjb25mLnN0cm9rZTtcbiAgICAgICAgfVxuICAgICAgICBjb25mLnN0cm9rZSA9IHM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIGFuZ2xlIGluIHJhZGlhbnMgKFBJID0gMTgwZGVnKVxuICAgIHJlbmRlci5hbmdsZSA9IGZ1bmN0aW9uKHMpe1xuICAgICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBjb25mLmFuZ2xlO1xuICAgICAgICB9XG4gICAgICAgIGNvbmYuYW5nbGUgPSBzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVuZGVyO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzID0gc3Bpbm5lcjtcbiJdfQ==