D3.js vs Vue.js examples
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1 lines
106 KiB

{"version":3,"sources":["webpack:///static/js/app.512839275eb12073589f.js","webpack:///./src/router/demos.js","webpack:///./src/config.json","webpack:///./src/router/index.js","webpack:///./src/app.vue","webpack:///app.vue","webpack:///demos-navigation.vue","webpack:///index.vue","webpack:///bars-style-basic.vue","webpack:///bars-style-scoped.vue","webpack:///bubbles.vue","webpack:///index.vue?1273","webpack:///menu.vue","webpack:///circle-mount.vue","webpack:///index.vue?172e","webpack:///pie.vue","webpack:///size-controller.vue","webpack:///./src/d3-components/bubbles-nested-routes/ph2/index.js","webpack:///./src/d3-components/bubbles-nested-routes/ph2/layout-contry.js","webpack:///./src/d3-components/bubbles-nested-routes/ph2/layout-day.js","webpack:///./src/d3-components/bubbles-nested-routes/ph2/layout-total.js","webpack:///./src/components/demos-navigation.vue","webpack:///./src/components/index.vue","webpack:///./src/d3-components/bars-style-basic.vue","webpack:///./src/d3-components/bars-style-scoped.vue","webpack:///./src/d3-components/bubbles-nested-routes/bubbles.vue","webpack:///./src/d3-components/bubbles-nested-routes/index.vue","webpack:///./src/d3-components/bubbles-nested-routes/menu.vue","webpack:///./src/d3-components/circle-mount.vue","webpack:///./src/d3-components/pie-chart-local-component/index.vue","webpack:///./src/d3-components/pie-chart-local-component/pie.vue","webpack:///./src/d3-components/size-controller.vue","webpack:///./src/d3-components/pie-chart-local-component/index.vue?603b","webpack:///./src/components/demos-navigation.vue?5a2b","webpack:///./src/d3-components/bars-style-scoped.vue?3f89","webpack:///./src/d3-components/bars-style-basic.vue?ab8b","webpack:///./src/d3-components/bubbles-nested-routes/index.vue?9b49","webpack:///./src/d3-components/bubbles-nested-routes/menu.vue?ff71","webpack:///./src/d3-components/bubbles-nested-routes/bubbles.vue?2ad1","webpack:///./src/components/index.vue?df1f","webpack:///./src/app.vue?497c","webpack:///./src/d3-components/size-controller.vue?4cbe","webpack:///./src/d3-components/pie-chart-local-component/pie.vue?07e4","webpack:///./src/d3-components/circle-mount.vue?0182","webpack:///./src/main.js"],"names":["webpackJsonp","module","__webpack_exports__","__webpack_require__","d","routes","config","name","path","component","folder","alias","map","r","res","source","githubLink","d3ComponentsPath","exports","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray___default","n","__WEBPACK_IMPORTED_MODULE_1_vue__","__WEBPACK_IMPORTED_MODULE_1_vue___default","__WEBPACK_IMPORTED_MODULE_2_vue_router__","__WEBPACK_IMPORTED_MODULE_2_vue_router___default","__WEBPACK_IMPORTED_MODULE_3_components_index__","__WEBPACK_IMPORTED_MODULE_3_components_index___default","__WEBPACK_IMPORTED_MODULE_4__demos__","a","use","concat","Component","Object","defineProperty","value","__WEBPACK_IMPORTED_MODULE_0__components_demos_navigation__","__WEBPACK_IMPORTED_MODULE_0__components_demos_navigation___default","components","topNav","__WEBPACK_IMPORTED_MODULE_0_router_demos__","computed","prev","index","this","findIndex","undefined","next","length","sourceHref","methods","me","$route","data","items","d3","mounted","svg","select","$el","width","attr","height","val","x","scaleBand","rangeRound","padding","domain","y","scaleLinear","max","selectAll","enter","append","bandwidth","attributes","__WEBPACK_IMPORTED_MODULE_0__ph2_index__","props","watch","groupBy","_groupBy","ph2","setLayout","_data","setData","that","bubblesG","csv","menu","bubbles","MY_URL_PREFIX","_","LINKS","layout","active","groupMenu","activeLink","findActiveLink","links","_this","each","l","link","find","to","from","alinks","item","pie","NAMES","names","take","canAddAName","addName","push","margin","top","left","bottom","right","chartWidth","chartHeight","chartLayer","arc","outerRadius","innerRadius","padAngle","cornerRadius","pieG","drawChart","newData","arcs","sort","block","newBlock","classed","i","interpolateCool","Math","random","text","circleSize","createElement","circle","newValue","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default","__WEBPACK_IMPORTED_MODULE_2__layout_total__","__WEBPACK_IMPORTED_MODULE_3__layout_contry__","__WEBPACK_IMPORTED_MODULE_4__layout_day__","__WEBPACK_IMPORTED_MODULE_5_lodash__","PH2","elem","layoutName","_init","key","Error","layouts","exit","inited","init","simulation","alpha","restart","nodes","Magnitude","forceSimulation","force","forceCollide","iterations","forceX","strength","forceY","_initLayouts","node","ticked","on","total","country","day","k","v","_class","groups","location","Location","split","countries","console","log","j","target","nodesBefore","forceLink","id","forceManyBody","countryG","countyLabels","linesG","insert","lines","remove","DAY_RANGE","range","WIDTH","dayX","_dayToX","Date","forceIndexCollide","forceIndexY","daysG","render","_vm","_h","$createElement","_c","_self","_v","attrs","click","_e","staticRenderFns","staticClass","href","_l","class","_s","_m","directives","rawName","expression","type","min","step","domProps","input","$event","__WEBPACK_IMPORTED_MODULE_0_vue__","__WEBPACK_IMPORTED_MODULE_0_vue___default","__WEBPACK_IMPORTED_MODULE_1__app__","__WEBPACK_IMPORTED_MODULE_1__app___default","__WEBPACK_IMPORTED_MODULE_2__router__","el","router","template","app"],"mappings":"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","file":"static/js/app.512839275eb12073589f.js","sourcesContent":["webpackJsonp([1,2],[\n/* 0 */,\n/* 1 */,\n/* 2 */,\n/* 3 */,\n/* 4 */,\n/* 5 */,\n/* 6 */,\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */,\n/* 11 */,\n/* 12 */,\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return routes; });\nvar config = __webpack_require__(34);\n\nvar routes = [{\n name: 'Circle: mount',\n path: '/circle-mount',\n component: __webpack_require__(100)\n}, {\n name: 'Circle: size controller',\n path: '/size-controller',\n component: __webpack_require__(103)\n}, {\n name: 'Bars: styles basic',\n path: '/bars-style-basic',\n component: __webpack_require__(95)\n}, {\n name: 'Bars: styles scoped',\n path: '/bars-style-scoped',\n component: __webpack_require__(96)\n}, {\n name: 'Pie chart: local component & props',\n path: '/pie-chart-local-component',\n folder: true,\n component: __webpack_require__(101)\n}, {\n name: 'Bubbles: nested routes',\n path: '/bubbles-nested-routes',\n alias: '/bubbles-nested-routes/*',\n folder: true,\n component: __webpack_require__(98)\n}].map(function (r) {\n var res = r;\n res.source = config.githubLink + config.d3ComponentsPath + r.path + (r.folder ? '' : '.vue');\n return res;\n});\n\n/***/ }),\n/* 14 */,\n/* 15 */,\n/* 16 */,\n/* 17 */,\n/* 18 */,\n/* 19 */,\n/* 20 */,\n/* 21 */,\n/* 22 */,\n/* 23 */,\n/* 24 */,\n/* 25 */,\n/* 26 */,\n/* 27 */,\n/* 28 */,\n/* 29 */,\n/* 30 */,\n/* 31 */,\n/* 32 */,\n/* 33 */,\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n\t\"githubLink\": \"https://github.com/corpglory/d3vue/\",\n\t\"d3ComponentsPath\": \"tree/master/src/d3-components\"\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_router__ = __webpack_require__(116);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_router___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_router__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_components_index__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_components_index___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_components_index__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__demos__ = __webpack_require__(13);\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_1_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_2_vue_router___default.a);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = new __WEBPACK_IMPORTED_MODULE_2_vue_router___default.a({\n routes: [{\n path: '/',\n name: 'Menu',\n component: __WEBPACK_IMPORTED_MODULE_3_components_index___default.a\n }].concat(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray___default()(__WEBPACK_IMPORTED_MODULE_4__demos__[\"a\" /* routes */]))\n});\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(90)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(37),\n /* template */\n __webpack_require__(112),\n /* scopeId */\n \"data-v-41b7bac0\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_demos_navigation__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_demos_navigation___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_demos_navigation__);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n name: 'app',\n components: { topNav: __WEBPACK_IMPORTED_MODULE_0__components_demos_navigation___default.a }\n};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_router_demos__ = __webpack_require__(13);\n\n\n\nvar config = __webpack_require__(34);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n computed: {\n prev: function prev() {\n var index = this.findIndex();\n if (index == -1) {\n return undefined;\n }\n return index > 0 ? __WEBPACK_IMPORTED_MODULE_0_router_demos__[\"a\" /* routes */][index - 1] : undefined;\n },\n next: function next() {\n var index = this.findIndex();\n if (index == -1) {\n return undefined;\n }\n return index + 1 < __WEBPACK_IMPORTED_MODULE_0_router_demos__[\"a\" /* routes */].length ? __WEBPACK_IMPORTED_MODULE_0_router_demos__[\"a\" /* routes */][index + 1] : undefined;\n },\n sourceHref: function sourceHref() {\n var index = this.findIndex();\n if (index == -1) {\n return config.githubLink;\n }\n return __WEBPACK_IMPORTED_MODULE_0_router_demos__[\"a\" /* routes */][index].source;\n }\n },\n methods: {\n findIndex: function findIndex() {\n var me = this.$route.name;\n return __WEBPACK_IMPORTED_MODULE_0_router_demos__[\"a\" /* routes */].findIndex(function (r) {\n return r.name === me;\n });\n }\n }\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_router_demos__ = __webpack_require__(13);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n data: function data() {\n return {\n items: __WEBPACK_IMPORTED_MODULE_0_router_demos__[\"a\" /* routes */]\n };\n }\n};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\nvar d3 = __webpack_require__(1);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n mounted: function mounted() {\n var svg = d3.select(this.$el);\n var width = +svg.attr('width');\n var height = +svg.attr('height');\n var data = [{ name: 'one', val: 100 }, { name: 'two', val: 150 }, { name: 'three', val: 200 }];\n\n var x = d3.scaleBand().rangeRound([0, width]).padding(0.1).domain(data.map(function (d) {\n return d.name;\n }));\n var y = d3.scaleLinear().rangeRound([height, 0]).domain([0, d3.max(data, function (d) {\n return d.val;\n })]);\n\n svg.selectAll('rect').data(data).enter().append('rect').attr('x', function (d) {\n return x(d.name);\n }).attr('class', function (d) {\n return d.name;\n }).attr('y', function (d) {\n return y(d.val);\n }).attr('width', x.bandwidth()).attr('height', function (d) {\n return height - y(d.val);\n });\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\nvar d3 = __webpack_require__(1);\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n mounted: function mounted() {\n var STYLE_MODULE_NAME = this.$el.attributes[0];\n\n var svg = d3.select(this.$el);\n var width = +svg.attr('width');\n var height = +svg.attr('height');\n var data = [{ name: 'one', val: 100 }, { name: 'two', val: 150 }, { name: 'three', val: 200 }];\n\n var x = d3.scaleBand().rangeRound([0, width]).padding(0.1).domain(data.map(function (d) {\n return d.name;\n }));\n var y = d3.scaleLinear().rangeRound([height, 0]).domain([0, d3.max(data, function (d) {\n return d.val;\n })]);\n\n svg.selectAll('rect').data(data).enter().append('rect').attr('data-v-0e55e99d', '').attr('x', function (d) {\n return x(d.name);\n }).attr('class', function (d) {\n return d.name;\n }).attr('y', function (d) {\n return y(d.val);\n }).attr('width', x.bandwidth()).attr('height', function (d) {\n return height - y(d.val);\n });\n }\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ph2_index__ = __webpack_require__(49);\n\n\n\nvar d3 = __webpack_require__(1);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n props: ['groupBy', 'data'],\n watch: {\n groupBy: function groupBy(_groupBy) {\n this.ph2.setLayout(_groupBy);\n },\n data: function data(_data) {\n this.ph2.setData(_data);\n }\n },\n mounted: function mounted() {\n var svg = d3.select(this.$el);\n var width = +svg.attr('width');\n var height = +svg.attr('height');\n\n var that = this;\n var bubblesG = svg.append('g').attr('transform', 'translate(' + width / 2 + ', ' + height / 2 + ')');\n\n d3.csv('static/data/earthquakes.csv', function (data) {\n that.ph2 = new __WEBPACK_IMPORTED_MODULE_0__ph2_index__[\"a\" /* default */](bubblesG, data, that.groupBy);\n });\n }\n\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\nvar menu = __webpack_require__(99);\nvar bubbles = __webpack_require__(97);\n\nvar MY_URL_PREFIX = 'bubbles-nested-routes';\nvar _ = __webpack_require__(3);\n\nvar LINKS = [{\n name: 'None',\n path: '',\n layout: 'total'\n}, {\n name: 'By country',\n path: '/country',\n layout: 'country'\n}, {\n name: 'By day',\n path: '/day',\n layout: 'day'\n}].map(function (d) {\n d.path = '#/' + MY_URL_PREFIX + d.path;\n d.active = false;\n return d;\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n components: {\n groupMenu: menu,\n bubbles: bubbles\n },\n data: function data() {\n return {\n activeLink: this.findActiveLink()\n };\n },\n computed: {\n links: function links() {\n return LINKS;\n }\n },\n methods: {\n findActiveLink: function findActiveLink() {\n var _this = this;\n\n _.each(LINKS, function (l) {\n l.active = false;\n });\n var link = _.find(LINKS, function (l) {\n return l.path == '#' + _this.$route.path;\n });\n if (!link) {\n link = LINKS[0];\n }\n return link;\n }\n },\n watch: {\n '$route': function $route(to, from) {\n this.activeLink = this.findActiveLink();\n }\n }\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\nvar _ = __webpack_require__(3);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n props: ['links', 'activeLink'],\n computed: {\n alinks: function alinks() {\n var that = this;\n return _.map(this.links, function (l) {\n return {\n item: l,\n active: l.path == that.activeLink.path\n };\n });\n }\n }\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\nvar d3 = __webpack_require__(1);\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n mounted: function mounted() {\n d3.select(this.$el).append('circle').attr('cx', '250').attr('cy', '150').attr('r', '100');\n }\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\nvar _ = __webpack_require__(3);\nvar pie = __webpack_require__(102);\n\nvar NAMES = [{ name: 'Sarah', value: 2502 }, { name: 'Emma', value: 2005 }, { name: 'Laura', value: 1968 }, { name: 'Chloé', value: 1863 }, { name: 'Marie', value: 1810 }, { name: 'Emily', value: 1637 }, { name: 'Léa', value: 1592 }, { name: 'Camille', value: 1572 }, { name: 'Anna', value: 1433 }, { name: 'Manon', value: 1403 }];\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n components: {\n pie: pie\n },\n data: function data() {\n return {\n names: _.take(NAMES, 3)\n };\n },\n computed: {\n canAddAName: function canAddAName() {\n return this.names.length < NAMES.length;\n }\n },\n methods: {\n addName: function addName() {\n this.names.push(NAMES[this.names.length]);\n }\n }\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\nvar d3 = __webpack_require__(1);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n mounted: function mounted() {\n var svg = d3.select(this.$el);\n var width = +svg.attr('width');\n var height = +svg.attr('height');\n\n var margin = { top: 20, left: 0, bottom: 30, right: 0 };\n\n var chartWidth = width - (margin.left + margin.right);\n var chartHeight = height - (margin.top + margin.bottom);\n\n this.chartLayer = svg.append('g').attr(\"transform\", 'translate(' + margin.left + ', ' + margin.top + ')');\n\n this.arc = d3.arc().outerRadius(chartHeight / 2).innerRadius(chartHeight / 4).padAngle(0.03).cornerRadius(8);\n\n this.pieG = this.chartLayer.append(\"g\").attr(\"transform\", 'translate(' + chartWidth / 2 + ', ' + chartHeight / 2 + ')');\n\n this.drawChart(this.data);\n },\n props: ['data'],\n watch: {\n data: function data(newData) {\n this.drawChart(newData);\n }\n },\n methods: {\n drawChart: function drawChart(data) {\n var arcs = d3.pie().sort(null).value(function (d) {\n return d.value;\n })(data);\n\n var block = this.pieG.selectAll(\".arc\").data(arcs);\n\n block.select('path').attr('d', this.arc);\n\n var newBlock = block.enter().append(\"g\").classed(\"arc\", true);\n\n newBlock.append(\"path\").attr(\"d\", this.arc).attr(\"id\", function (d, i) {\n return \"arc-\" + i;\n }).attr(\"stroke\", \"gray\").attr(\"fill\", function (d) {\n return d3.interpolateCool(Math.random());\n });\n\n newBlock.append(\"text\").attr(\"dx\", 10).attr(\"dy\", -5).append(\"textPath\").attr(\"xlink:href\", function (d, i) {\n return \"#arc-\" + i;\n }).text(function (d) {\n return d.data.name;\n });\n }\n }\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n\nvar d3 = __webpack_require__(1);\n/* harmony default export */ __webpack_exports__[\"default\"] = {\n data: function data() {\n return {\n circleSize: 50\n };\n },\n mounted: function mounted(createElement) {\n var svg = d3.select(this.$el).select('svg');\n this.circle = svg.append('circle').attr('cx', '250').attr('cy', '150').attr('r', this.circleSize);\n },\n watch: {\n circleSize: function circleSize(newValue) {\n this.circle.attr('r', newValue);\n }\n }\n\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__layout_total__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__layout_contry__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__layout_day__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_lodash__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_lodash__);\n\n\n\n\n\n\n\n\nvar d3 = __webpack_require__(1);\n\n\nvar PH2 = function () {\n function PH2(elem, data, layoutName) {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, PH2);\n\n this.svg = elem;\n this.data = data;\n this.setData(data);\n this._init();\n this.layout = undefined;\n this.setLayout(layoutName);\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(PH2, [{\n key: 'setLayout',\n value: function setLayout(layoutName) {\n\n if (layoutName === undefined) {\n throw new Error('layoutName is undefined');\n }\n if (!this.layouts) {\n throw new Error('Layouts are not defined');\n }\n if (!this.layouts[layoutName]) {\n throw new Error('Can`t find layout ' + layoutName);\n }\n\n if (this.layout) {\n this.layout.exit();\n }\n this.layout = this.layouts[layoutName];\n if (!this.layout.inited) {\n this.layout.init();\n this.layout.inited = true;\n }\n this.layout.enter();\n this.simulation.alpha(1);\n this.simulation.restart();\n }\n }, {\n key: 'setData',\n value: function setData(data) {\n this.nodes = data.map(function (d) {\n return {\n r: +d.Magnitude\n };\n });\n }\n }, {\n key: '_init',\n value: function _init() {\n this.simulation = d3.forceSimulation().force(\"index-collide\", d3.forceCollide(function (d) {\n return d.r + 5;\n }).iterations(16)).force(\"index-x\", d3.forceX().strength(0.04)).force(\"index-y\", d3.forceY().strength(0.04));\n\n this._initLayouts();\n\n var node = this.svg.append(\"g\").attr(\"class\", \"nodes\").selectAll(\"circle\").data(this.nodes).enter().append(\"circle\").attr(\"r\", function (d) {\n return d.r;\n });\n\n var that = this;\n var ticked = function ticked() {\n node.attr(\"cx\", function (d) {\n return d.x;\n }).attr(\"cy\", function (d) {\n return d.y;\n });\n if (that.layout.ticked) {\n that.layout.ticked();\n }\n };\n\n this.simulation.nodes(this.nodes).on(\"tick\", ticked);\n }\n }, {\n key: '_initLayouts',\n value: function _initLayouts() {\n this.layouts = {\n 'total': __WEBPACK_IMPORTED_MODULE_2__layout_total__[\"a\" /* default */],\n 'country': __WEBPACK_IMPORTED_MODULE_3__layout_contry__[\"a\" /* default */],\n 'day': __WEBPACK_IMPORTED_MODULE_4__layout_day__[\"a\" /* default */]\n };\n\n for (var k in this.layouts) {\n var v = this.layouts[k];\n this.layouts[k] = new v(this.svg, this.data, this.simulation);\n }\n }\n }]);\n\n return PH2;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = PH2;\n\n/***/ }),\n/* 50 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n\n\nvar d3 = __webpack_require__(1);\nvar _ = __webpack_require__(3);\n\nvar _class = function () {\n function _class(elem, data, simulation) {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, _class);\n\n this.elem = elem;\n this.data = data;\n this.simulation = simulation;\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(_class, [{\n key: 'init',\n value: function init() {\n var groups = _(this.data).map(function (k, i) {\n return {\n location: k.Location.split(', ')[1],\n index: i\n };\n }).groupBy('location').value();\n\n this.countries = _.map(groups, function (v, k) {\n return { key: k, r: -30 };\n });\n\n this.links = [];\n console.log(groups[this.countries[0].key][0]);\n for (var i = 0; i < this.countries.length; i++) {\n for (var j = 0; j < groups[this.countries[i].key].length; j++) {\n this.links.push({\n source: i + this.data.length,\n target: groups[this.countries[i].key][j].index\n });\n }\n }\n }\n }, {\n key: 'enter',\n value: function enter() {\n\n this.nodesBefore = this.simulation.nodes();\n this.simulation.force(\"country-link\", d3.forceLink().id(function (d) {\n return d.index;\n })).force(\"country-charge\", d3.forceManyBody().strength(-30)).force(\"country-x\", d3.forceX().strength(0.11)).force(\"country-y\", d3.forceY().strength(0.11));\n\n this.simulation.force(\"link\");\n\n this.simulation.nodes(_.concat(this.nodesBefore, this.countries));\n\n this.countryG = this.elem.append(\"g\");\n this.countyLabels = this.countryG.selectAll('text').data(this.countries).enter().append('text').text(function (d) {\n return d.key;\n }).attr(\"text-anchor\", \"middle\").attr(\"font-size\", \"8\");\n\n this.linesG = this.elem.insert(\"g\", \":first-child\");\n this.lines = this.linesG.selectAll(\"line\").data(this.links).enter().append(\"line\").attr(\"stroke\", \"#d7d7d7\");\n\n this.simulation.force(\"country-link\").links(this.links);\n }\n }, {\n key: 'ticked',\n value: function ticked() {\n this.lines.attr(\"x1\", function (d) {\n return d.source.x;\n }).attr(\"y1\", function (d) {\n return d.source.y;\n }).attr(\"x2\", function (d) {\n return d.target.x;\n }).attr(\"y2\", function (d) {\n return d.target.y;\n });\n this.countyLabels.attr('x', function (d) {\n return d.x;\n }).attr('y', function (d) {\n return d.y;\n });\n }\n }, {\n key: 'exit',\n value: function exit() {\n this.simulation.nodes(this.nodesBefore);\n this.simulation.force(\"country-link\", null).force(\"country-charge\", null).force(\"country-x\", null).force(\"country-y\", null);\n\n this.linesG.remove();\n this.countryG.remove();\n }\n }]);\n\n return _class;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = _class;\n\n/***/ }),\n/* 51 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n\n\nvar d3 = __webpack_require__(1);\nvar _ = __webpack_require__(3);\n\nvar DAY_RANGE = d3.range(14, 24);\nvar WIDTH = 500;\n\nvar _class = function () {\n function _class(elem, data, simulation) {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, _class);\n\n this.elem = elem;\n this.data = data;\n this.simulation = simulation;\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(_class, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\n this.dayX = _.map(this.data, function (d) {\n return _this._dayToX(+d.Date.split('-')[0]);\n });\n }\n }, {\n key: 'enter',\n value: function enter() {\n this.forceIndexCollide = this.simulation.force(\"index-collide\");\n this.simulation.force(\"index-collide\", null);\n this.forceIndexY = this.simulation.force(\"index-y\");\n this.simulation.force(\"index-y\", null);\n\n this.simulation.force(\"day-collide\", d3.forceCollide(function (d) {\n return d.r + 2;\n }).iterations(16));\n\n this.daysG = this.elem.append('g');\n\n this.daysG.selectAll('text').data(DAY_RANGE).enter().append('text').text(function (d) {\n return d;\n }).attr('x', this._dayToX).attr('font-size', 10).attr('fill', 'gray').attr('text-anchor', 'middle');\n\n var that = this;\n this.simulation.force('day-x', d3.forceX(function (d) {\n return that.dayX[d.index];\n }).strength(1));\n this.simulation.force(\"day-y\", d3.forceY().strength(0.005));\n }\n }, {\n key: 'exit',\n value: function exit() {\n this.daysG.remove();\n this.simulation.force('day-x', null);\n this.simulation.force(\"index-collide\", this.forceIndexCollide);\n this.simulation.force(\"index-y\", this.forceIndexY);\n }\n }, {\n key: '_dayToX',\n value: function _dayToX(day) {\n return (day - DAY_RANGE[0]) * WIDTH / DAY_RANGE.length - WIDTH * 0.48;\n }\n }]);\n\n return _class;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = _class;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n\n\n\nvar _class = function () {\n function _class(elem, data, simulation) {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, _class);\n\n this.elem = elem;\n this.simulation = simulation;\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(_class, [{\n key: \"init\",\n value: function init() {}\n }, {\n key: \"enter\",\n value: function enter() {}\n }, {\n key: \"exit\",\n value: function exit() {}\n }]);\n\n return _class;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = _class;\n\n/***/ }),\n/* 53 */,\n/* 54 */,\n/* 55 */,\n/* 56 */,\n/* 57 */,\n/* 58 */,\n/* 59 */,\n/* 60 */,\n/* 61 */,\n/* 62 */,\n/* 63 */,\n/* 64 */,\n/* 65 */,\n/* 66 */,\n/* 67 */,\n/* 68 */,\n/* 69 */,\n/* 70 */,\n/* 71 */,\n/* 72 */,\n/* 73 */,\n/* 74 */,\n/* 75 */,\n/* 76 */,\n/* 77 */,\n/* 78 */,\n/* 79 */,\n/* 80 */,\n/* 81 */,\n/* 82 */,\n/* 83 */,\n/* 84 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(84)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(38),\n /* template */\n __webpack_require__(105),\n /* scopeId */\n \"data-v-098bb42e\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(89)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(39),\n /* template */\n __webpack_require__(111),\n /* scopeId */\n \"data-v-417810ac\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(86)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(40),\n /* template */\n __webpack_require__(107),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(85)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(41),\n /* template */\n __webpack_require__(106),\n /* scopeId */\n \"data-v-0e55e99d\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(42),\n /* template */\n __webpack_require__(110),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(87)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(43),\n /* template */\n __webpack_require__(108),\n /* scopeId */\n \"data-v-28f41ffe\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(88)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(44),\n /* template */\n __webpack_require__(109),\n /* scopeId */\n \"data-v-37ada400\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(92)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(45),\n /* template */\n __webpack_require__(115),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(46),\n /* template */\n __webpack_require__(104),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(47),\n /* template */\n __webpack_require__(114),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(91)\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(48),\n /* template */\n __webpack_require__(113),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [_c('h4', [_vm._v(\"Most popular female names in the world\")]), _vm._v(\" \"), _c('pie', {\n attrs: {\n \"data\": _vm.names\n }\n }), _vm._v(\" \"), _c('br'), _vm._v(\" \"), (_vm.canAddAName) ? _c('button', {\n on: {\n \"click\": _vm.addName\n }\n }, [_vm._v(\"Add a name\")]) : _vm._e()], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n attrs: {\n \"id\": \"holder\"\n }\n }, [_c('div', {\n staticClass: \"links\"\n }, [(_vm.prev) ? _c('router-link', {\n staticClass: \"prev\",\n attrs: {\n \"to\": _vm.prev.path\n }\n }, [_vm._v(\" < prev \")]) : _vm._e(), _vm._v(\" \"), _c('a', {\n staticClass: \"source\",\n attrs: {\n \"href\": _vm.sourceHref\n }\n }, [_vm._v(\" source \")]), _vm._v(\" \"), (_vm.next) ? _c('router-link', {\n staticClass: \"next\",\n attrs: {\n \"to\": _vm.next.path\n }\n }, [_vm._v(\" next > \")]) : _vm._e()], 1)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"width\": \"500\",\n \"height\": \"300\"\n }\n })\n},staticRenderFns: []}\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"id\": \"bars-style-basic-svg\",\n \"width\": \"500\",\n \"height\": \"300\"\n }\n })\n},staticRenderFns: []}\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"holder\"\n }, [_c('groupMenu', {\n attrs: {\n \"links\": _vm.links,\n \"activeLink\": _vm.activeLink\n }\n }), _vm._v(\" \"), _c('bubbles', {\n attrs: {\n \"groupBy\": _vm.activeLink.layout\n }\n })], 1)\n},staticRenderFns: []}\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"holder\"\n }, [_c('ul', {\n staticClass: \"menu\"\n }, [_c('li', [_vm._v(\"Group by: \")]), _vm._v(\" \"), _vm._l((_vm.alinks), function(link) {\n return _c('li', [_c('a', {\n class: {\n active: link.active\n },\n attrs: {\n \"href\": link.item.path\n }\n }, [_vm._v(\" \" + _vm._s(link.item.name) + \" \")])])\n })], 2)])\n},staticRenderFns: []}\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"width\": \"600\",\n \"height\": \"500\"\n }\n })\n},staticRenderFns: []}\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"hello\"\n }, [_c('ul', _vm._l((_vm.items), function(item) {\n return _c('li', [_c('router-link', {\n attrs: {\n \"to\": item.path\n }\n }, [_vm._v(_vm._s(item.name))])], 1)\n }))])\n},staticRenderFns: []}\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n attrs: {\n \"id\": \"app\"\n }\n }, [_vm._m(0), _vm._v(\" \"), _c('h2', [_vm._v(_vm._s(_vm.$route.name))]), _vm._v(\" \"), _c('top-nav'), _vm._v(\" \"), _c('router-view')], 1)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('a', {\n attrs: {\n \"href\": \"#/\"\n }\n }, [_c('h1', [_vm._v(\" D3.js vs Vue.js examples \")])])\n}]}\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [_c('svg', {\n attrs: {\n \"width\": \"500\",\n \"height\": \"300\"\n }\n }), _vm._v(\" \"), _c('br'), _vm._v(\" \"), _c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.circleSize),\n expression: \"circleSize\"\n }],\n attrs: {\n \"type\": \"range\",\n \"min\": \"1\",\n \"max\": \"100\",\n \"step\": \"1\"\n },\n domProps: {\n \"value\": _vm._s(_vm.circleSize)\n },\n on: {\n \"input\": function($event) {\n _vm.circleSize = $event.target.value\n }\n }\n })])\n},staticRenderFns: []}\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"width\": \"500\",\n \"height\": \"300\"\n }\n })\n},staticRenderFns: []}\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"width\": \"500\",\n \"height\": \"300\"\n }\n })\n},staticRenderFns: []}\n\n/***/ }),\n/* 116 */,\n/* 117 */,\n/* 118 */,\n/* 119 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__app__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__router__ = __webpack_require__(35);\n\n\n\n\n\nnew __WEBPACK_IMPORTED_MODULE_0_vue___default.a({\n el: '#app',\n router: __WEBPACK_IMPORTED_MODULE_2__router__[\"a\" /* default */],\n template: '<app/>',\n components: { app: __WEBPACK_IMPORTED_MODULE_1__app___default.a }\n});\n\n/***/ })\n],[119]);\n\n\n// WEBPACK FOOTER //\n// static/js/app.512839275eb12073589f.js","const config = require('config.json');\n\nexport const routes = [\n {\n name: 'Circle: mount',\n path: '/circle-mount',\n component: require('d3-components/circle-mount')\n },\n {\n name: 'Circle: size controller',\n path: '/size-controller',\n component: require('d3-components/size-controller')\n },\n {\n name: 'Bars: styles basic',\n path: '/bars-style-basic',\n component: require('d3-components/bars-style-basic')\n },\n {\n name: 'Bars: styles scoped',\n path: '/bars-style-scoped',\n component: require('d3-components/bars-style-scoped')\n },\n {\n name: 'Pie chart: local component & props',\n path: '/pie-chart-local-component',\n folder: true,\n component: require('d3-components/pie-chart-local-component/index')\n },\n {\n name: 'Bubbles: nested routes',\n path: '/bubbles-nested-routes',\n alias: '/bubbles-nested-routes/*',\n folder: true,\n component: require('d3-components/bubbles-nested-routes/index')\n }\n].map(r => {\n var res = r;\n res.source = config.githubLink +\n config.d3ComponentsPath +\n r.path +\n (r.folder ? '' : '.vue')\n return res;\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/demos.js","module.exports = {\n\t\"githubLink\": \"https://github.com/corpglory/d3vue/\",\n\t\"d3ComponentsPath\": \"tree/master/src/d3-components\"\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/config.json\n// module id = 34\n// module chunks = 1","import Vue from 'vue'\nimport Router from 'vue-router'\nimport Index from 'components/index'\nimport {routes as demoRoutes} from './demos'\n\nVue.use(Router)\n\nexport default new Router({\n routes: [\n {\n path: '/',\n name: 'Menu',\n component: Index\n }, ... demoRoutes\n\n ]\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","\n/* styles */\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../node_modules/vue-loader/lib/style-rewriter?id=data-v-41b7bac0&scoped=true!./../node_modules/vue-loader/lib/selector?type=styles&index=0!./app.vue\")\n\nvar Component = require(\"!./../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector?type=script&index=0!./app.vue\"),\n /* template */\n require(\"!!./../node_modules/vue-loader/lib/template-compiler?id=data-v-41b7bac0!./../node_modules/vue-loader/lib/selector?type=template&index=0!./app.vue\"),\n /* scopeId */\n \"data-v-41b7bac0\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app.vue\n// module id = 36\n// module chunks = 1","<template>\n <div id=\"app\">\n <a href='#/'> <h1> D3.js vs Vue.js examples </h1> </a>\n <h2>{{ $route.name }}</h2>\n <top-nav />\n <router-view></router-view>\n </div>\n</template>\n\n<script>\n\nimport topNav from './components/demos-navigation'\n\nexport default {\n name: 'app',\n components: { topNav }\n}\n</script>\n\n<style scoped>\n#app {\n font-family: 'Avenir', Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-align: center;\n margin-top: 30px;\n}\na {\n color: black;\n text-decoration: none;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// app.vue?7c5cdb38","<template>\n <div id=\"holder\">\n <div class=\"links\">\n <router-link v-if=\"prev\" :to=\"prev.path\" class=\"prev\"> < prev </router-link>\n <a :href=\"sourceHref\" class=\"source\"> source </a>\n <router-link v-if=\"next\" :to=\"next.path\" class=\"next\"> next > </router-link>\n </div>\n </div>\n</template>\n\n<script>\n\nimport { routes } from 'router/demos';\nconst config = require('config.json');\n\nexport default {\n computed: {\n prev: function() {\n var index = this.findIndex();\n if(index == -1) {\n return undefined;\n }\n return index > 0 ? routes[index - 1] : undefined;\n },\n next: function() {\n var index = this.findIndex();\n if(index == -1) {\n return undefined;\n }\n return index + 1 < routes.length ? routes[index + 1] : undefined;\n },\n sourceHref: function() {\n var index = this.findIndex();\n if(index == -1) {\n return config.githubLink;\n }\n return routes[index].source;\n }\n },\n methods: {\n findIndex: function() {\n var me = this.$route.name;\n return routes.findIndex(r => r.name === me);\n }\n }\n}\n</script>\n\n<style scoped>\n\n#links {\n display: block;\n width: 300px;\n height: 40px;\n position: relative;\n}\n\na {\n display: block;\n position: absolute;\n width: 100px;\n text-decoration: none;\n font-weight: bold;\n color: blue;\n}\n\na:hover {\n text-decoration: underline;\n}\n\n.prev {\n left: 0px;\n text-align: left;\n}\n\n.source {\n left:100px;\n text-align: center;\n}\n\n.next {\n right: 0px;\n text-align: right;\n}\n\n#holder {\n width: 300px;\n margin: auto;\n position: relative;\n height: 30px;\n /*border-top: 1px dashed gray;*/\n border-bottom: 1px dashed gray;\n padding-top: 10px;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// demos-navigation.vue?0933b847","<template>\n <div class=\"hello\">\n <ul>\n <li v-for=\"item in items\">\n <router-link :to=\"item.path\">{{ item.name }}</router-link>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nimport { routes } from 'router/demos'\n\nexport default {\n data () {\n return {\n items: routes\n }\n }\n}\n</script>\n\n<style scoped>\nh1, h2 {\n font-weight: normal;\n}\n\nul {\n /*list-style-type: none;*/\n padding: 0;\n margin: auto;\n width: 300px;\n}\n\nli {\n /*display: inline-block;*/\n margin: 0 0px;\n list-style: decimal\n}\n\na {\n color: blue;\n display: block;\n text-decoration: none;\n text-align: left;\n}\n\na:hover {\n text-decoration: underline;;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// index.vue?912f400a","<!--\n\nLinks:\n .vue files: https://vuejs.org/v2/guide/single-file-components.html\n\nAdvanced:\n D3.append: https://github.com/d3/d3-selection/blob/master/src/selection/index.js\n\n-->\n\n<template>\n <svg id=\"bars-style-basic-svg\" width=\"500\" height=\"300\"></svg>\n</template>\n\n<script>\nconst d3 = require('d3');\n\nexport default {\n mounted: function() {\n var svg = d3.select(this.$el);\n var width = +svg.attr('width');\n var height = +svg.attr('height');\n var data = [\n {name: 'one', val: 100},\n {name: 'two', val: 150},\n {name: 'three', val: 200}\n ]\n\n var x = d3.scaleBand()\n .rangeRound([0, width]).padding(0.1)\n .domain(data.map(d => d.name));\n var y = d3.scaleLinear()\n .rangeRound([height, 0])\n .domain([0, d3.max(data, d => d.val)])\n\n svg\n .selectAll('rect')\n .data(data)\n .enter()\n .append('rect')\n .attr('x', d => x(d.name))\n .attr('class', d => d.name)\n .attr('y', d => y(d.val))\n .attr('width', x.bandwidth())\n .attr('height', d => height - y(d.val))\n }\n}\n</script>\n\n<style>\n /*\n #bars-style-basic-svg\n will be added to global namespace\n */\n #bars-style-basic-svg .one {\n fill: #ffc300\n }\n #bars-style-basic-svg .two {\n fill: #c70039\n }\n #bars-style-basic-svg .three {\n fill: #571845\n }\n #bars-style-basic-svg {\n margin-top: 40px;\n }\n</style>\n\n\n\n// WEBPACK FOOTER //\n// bars-style-basic.vue?66b9bf74","<!--\n\nBased on ./bars-style-basic.vue\nMaybe there is a better solution.\n\nLinks:\n Object attr: https://www.w3schools.com/xml/dom_attribute.asp\n Scopes css: https://github.com/vuejs/vue-loader/blob/master/docs/en/features/scoped-css.md\n .vue files: https://vuejs.org/v2/guide/single-file-components.html\n\n-->\n\n<template>\n <svg width=\"500\" height=\"300\"></svg>\n</template>\n\n<script>\nconst d3 = require('d3');\nexport default {\n mounted: function() {\n\n // vue loader will substitute data attribute for styles\n var STYLE_MODULE_NAME = this.$el.attributes[0];\n\n var svg = d3.select(this.$el);\n var width = +svg.attr('width');\n var height = +svg.attr('height');\n var data = [\n {name: 'one', val: 100},\n {name: 'two', val: 150},\n {name: 'three', val: 200}\n ]\n\n var x = d3.scaleBand()\n .rangeRound([0, width]).padding(0.1)\n .domain(data.map(d => d.name));\n var y = d3.scaleLinear()\n .rangeRound([height, 0])\n .domain([0, d3.max(data, d => d.val)])\n\n svg\n .selectAll('rect')\n .data(data)\n .enter()\n .append('rect')\n\n // We add attr here\n .attr('data-v-0e55e99d', '')\n .attr('x', d => x(d.name))\n .attr('class', d => d.name)\n .attr('y', d => y(d.val))\n .attr('width', x.bandwidth())\n .attr('height', d => height - y(d.val))\n }\n}\n</script>\n\n<style scoped>\n .one {\n fill: #154890\n }\n .two {\n fill: #e1d4c0\n }\n .three {\n fill: #ff6600\n }\n svg {\n margin-top: 40px;\n }\n</style>\n\n\n\n// WEBPACK FOOTER //\n// bars-style-scoped.vue?77bcc28f","<!--\n\nBased on:\n\nLinks:\n\n-->\n\n<template>\n <svg width=\"600\" height=\"500\"></svg>\n</template>\n\n<script>\n\nimport PH2 from './ph2/index';\nconst d3 = require('d3');\n\nexport default {\n props: ['groupBy', 'data'],\n watch: {\n groupBy: function(groupBy) {\n this.ph2.setLayout(groupBy);\n },\n data: function(data) {\n this.ph2.setData(data);\n }\n },\n mounted: function() {\n var svg = d3.select(this.$el);\n var width = +svg.attr('width');\n var height = +svg.attr('height');\n\n var that = this;\n var bubblesG = svg.append('g').attr('transform', `translate(${width/2}, ${height/2})`)\n\n // TODO: remove it later\n d3.csv('static/data/earthquakes.csv', function(data) {\n that.ph2 = new PH2(bubblesG, data, that.groupBy);\n });\n }\n\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// bubbles.vue?f1a493b8","<!--\n\nExplanation:\n It is not really nester routes.\n It is magic of aliases and $watch route.\n See /src/router/demos.js (Bubbles: nested routes part)\n and /src/router/index.js\n\nLinks:\n Dynamic-matching: https://router.vuejs.org/en/essentials/dynamic-matching.html\n Nested Routes: https://router.vuejs.org/en/essentials/nested-routes.html\n\n-->\n\n<template>\n <div class=\"holder\">\n <!-- <h4>Earthquakes in september 2012</h4> -->\n <groupMenu :links=\"links\" :activeLink=\"activeLink\" />\n <bubbles :groupBy=\"activeLink.layout\" />\n\n </div>\n</template>\n\n<script>\n\nconst menu = require('d3-components/bubbles-nested-routes/menu');\nconst bubbles = require('d3-components/bubbles-nested-routes/bubbles');\n\nconst MY_URL_PREFIX = 'bubbles-nested-routes';\nconst _ = require('lodash');\n\nconst LINKS = [\n {\n name: 'None',\n path: '',\n layout: 'total'\n },\n {\n name: 'By country',\n path: '/country',\n layout: 'country'\n },\n {\n name: 'By day',\n path: '/day',\n layout: 'day'\n }\n ].map(d => {\n d.path = '#/' + MY_URL_PREFIX + d.path;\n d.active = false;\n return d;\n });\n\n\nexport default {\n components: {\n groupMenu: menu,\n bubbles: bubbles\n },\n data: function() {\n return {\n activeLink: this.findActiveLink()\n }\n },\n computed: {\n links: function() {\n return LINKS;\n }\n },\n methods: {\n findActiveLink: function() {\n _.each(LINKS, l => {\n l.active = false;\n })\n var link = _.find(LINKS, l => l.path == '#' + this.$route.path);\n if(!link) {\n link = LINKS[0];\n }\n return link;\n }\n },\n watch: {\n '$route' (to, from) {\n this.activeLink = this.findActiveLink();\n }\n }\n}\n</script>\n\n<style scoped>\n .holder {\n width: 500px;\n margin: auto;\n }\n .menu ul {\n padding: 0;\n margin: 0;\n }\n .menu li {\n text-align: left;\n }\n</style>\n\n\n\n// WEBPACK FOOTER //\n// index.vue?1c397024","<template>\n <div class=\"holder\">\n <ul class=\"menu\">\n <li>Group by: </li>\n <li v-for=\"link in alinks\">\n <a :href=\"link.item.path\" :class=\"{active: link.active}\"> {{link.item.name}} </a>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\n\nconst _ = require('lodash');\n\nexport default {\n props: ['links', 'activeLink'],\n computed: {\n alinks: function() {\n var that = this;\n return _.map(this.links, l => ({\n item: l,\n active: (l.path == that.activeLink.path)\n }))\n }\n }\n}\n</script>\n\n<style scoped>\n .menu {\n padding: 0;\n margin: 0;\n }\n .menu li {\n text-align: left;\n display: inline-block;\n text-align: left;\n margin: 0px;\n margin-right: 10px;\n }\n .menu li a {\n text-decoration: none;\n }\n .menu li a.active {\n text-decoration: underline;\n }\n</style>\n\n\n\n// WEBPACK FOOTER //\n// menu.vue?4002d4e6","<!--\nLinks:\n Components: https://vuejs.org/v2/guide/components.html\n .vue files: https://vuejs.org/v2/guide/single-file-components.html\n\nAdvanced:\n Component Lifecyrcle: https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram\n Virtual DOM: https://medium.com/js-dojo/whats-new-in-vue-js-2-0-virtual-dom-dc4b5b827f40#.hexwxh9m3\n-->\n\n<template>\n <svg width=\"500\" height=\"300\"></svg>\n</template>\n\n<script>\nconst d3 = require('d3');\nexport default {\n mounted: function() {\n // this.#el - is the root element in <template>\n // in this case it is <svg> tag\n d3.select(this.$el)\n .append('circle')\n .attr('cx', '250')\n .attr('cy', '150')\n .attr('r', '100')\n }\n}\n</script>\n\n<style>\n</style>\n\n\n\n// WEBPACK FOOTER //\n// circle-mount.vue?33e0bdf0","<!--\n\nLinks:\n Local Registration: https://vuejs.org/v2/guide/components.html#Local-Registration\n Props: https://vuejs.org/v2/guide/components.html#Passing-Data-with-Props\n Methods: https://vuejs.org/v2/guide/events.html#Method-Event-Handlers\n Conditional Rendering: https://vuejs.org/v2/guide/conditional.html\n\nData:\n http://www.studentsoftheworld.info/penpals/stats.php3?Pays=\n\n-->\n\n<template>\n <div>\n <h4>Most popular female names in the world</h4>\n <pie :data=\"names\" />\n <br>\n <button v-if=\"canAddAName\" v-on:click=\"addName\">Add a name</button>\n </div>\n</template>\n\n<script>\n\nvar _ = require('lodash')\nconst pie = require('d3-components/pie-chart-local-component/pie')\n\nconst NAMES = [\n { name: 'Sarah', value: 2502 },\n { name: 'Emma', value: 2005 },\n { name: 'Laura', value: 1968 },\n { name: 'Chloé', value: 1863 },\n { name: 'Marie', value: 1810 },\n { name: 'Emily', value: 1637 },\n { name: 'Léa', value: 1592 },\n { name: 'Camille', value: 1572 },\n { name: 'Anna', value: 1433 },\n { name: 'Manon', value: 1403 }\n]\n\nexport default {\n components: {\n pie: pie\n },\n data: function() {\n return {\n names: _.take(NAMES, 3)\n }\n },\n computed: {\n canAddAName: function() {\n return this.names.length < NAMES.length;\n }\n },\n methods: {\n addName: function() {\n this.names.push(NAMES[this.names.length]);\n }\n }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// index.vue?59ed6498","<!--\n\nBased on:\n https://bl.ocks.org/shimizu/f90651541575f348a129444003a73467\n\nLinks:\n Props: https://vuejs.org/v2/guide/components.html#Passing-Data-with-Props\n Methods: https://vuejs.org/v2/guide/events.html#Method-Event-Handlers\n\n-->\n\n<template>\n <svg width=\"500\" height=\"300\"></svg>\n</template>\n\n<script>\n\nconst d3 = require('d3');\n\nexport default {\n mounted: function() {\n var svg = d3.select(this.$el);\n var width = +svg.attr('width');\n var height = +svg.attr('height');\n\n var margin = { top:20, left:0, bottom:30, right:0 };\n\n var chartWidth = width - (margin.left + margin.right);\n var chartHeight = height - (margin.top + margin.bottom);\n\n this.chartLayer = svg\n .append('g')\n .attr(\n \"transform\",\n `translate(${margin.left}, ${margin.top})`\n );\n\n this.arc = d3.arc()\n .outerRadius(chartHeight / 2)\n .innerRadius(chartHeight / 4)\n .padAngle(0.03)\n .cornerRadius(8)\n\n this.pieG = this.chartLayer\n .append(\"g\")\n .attr(\n \"transform\",\n `translate(${chartWidth / 2}, ${chartHeight / 2})`\n )\n\n this.drawChart(this.data);\n\n },\n props: ['data'],\n watch: {\n data: function(newData) {\n this.drawChart(newData);\n }\n },\n methods: {\n drawChart: function(data) {\n var arcs = d3.pie()\n .sort(null)\n .value(function(d) { return d.value; })\n (data)\n\n var block = this.pieG.selectAll(\".arc\")\n .data(arcs)\n\n block.select('path').attr('d', this.arc)\n\n var newBlock = block\n .enter()\n .append(\"g\")\n .classed(\"arc\", true)\n\n newBlock.append(\"path\")\n .attr(\"d\", this.arc)\n .attr(\"id\", function(d, i) { return \"arc-\" + i })\n .attr(\"stroke\", \"gray\")\n .attr(\"fill\", d => d3.interpolateCool(Math.random()))\n\n newBlock.append(\"text\")\n .attr(\"dx\", 10)\n .attr(\"dy\", -5)\n .append(\"textPath\")\n .attr(\"xlink:href\", function(d, i) { return \"#arc-\" + i; })\n .text(function(d) { return d.data.name })\n }\n }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// pie.vue?0bafbf9c","<!--\nLinks\n Data: https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function\n Form Input Bindings: https://vuejs.org/v2/guide/forms.html#Basic-Usage\n Watchers: https://vuejs.org/v2/guide/computed.html#Watchers\n-->\n\n<template>\n <div>\n <svg width=\"500\" height=\"300\"></svg>\n <br>\n <input\n type=\"range\"\n v-model=\"circleSize\"\n min=\"1\"\n max=\"100\"\n step=\"1\"\n >\n </div>\n</template>\n\n<script>\nconst d3 = require('d3');\nexport default {\n data: function() {\n return {\n circleSize: 50\n }\n },\n mounted: function(createElement) {\n var svg = d3.select(this.$el).select('svg');\n this.circle = svg\n .append('circle')\n .attr('cx', '250')\n .attr('cy', '150')\n .attr('r', this.circleSize)\n },\n watch: {\n circleSize: function(newValue) {\n this.circle\n .attr('r', newValue)\n }\n }\n\n}\n</script>\n\n<style>\n</style>\n\n\n\n// WEBPACK FOOTER //\n// size-controller.vue?981154c2","// http://vallandingham.me/bubble_charts_with_d3v4.html\n\nimport layoutTotal from './layout-total';\nimport layoutCountry from './layout-contry';\nimport layoutDay from './layout-day';\n\nconst d3 = require('d3');\nimport _ from 'lodash';\n\n// TODO: do it d3-way so I can use selection.call()\n\nexport default class PH2 {\n constructor(elem, data, layoutName) {\n this.svg = elem;\n this.data = data;\n this.setData(data);\n this._init();\n this.layout = undefined;\n this.setLayout(layoutName);\n }\n\n setLayout(layoutName) {\n\n if(layoutName === undefined) {\n throw new Error('layoutName is undefined');\n }\n if(!this.layouts) {\n throw new Error('Layouts are not defined');\n }\n if(!this.layouts[layoutName]) {\n throw new Error('Can`t find layout ' + layoutName);\n }\n\n if(this.layout) {\n this.layout.exit();\n }\n this.layout = this.layouts[layoutName];\n if(!this.layout.inited) {\n this.layout.init();\n this.layout.inited = true;\n }\n this.layout.enter();\n this.simulation.alpha(1);\n this.simulation.restart();\n }\n\n setData(data) {\n this.nodes = data.map(d => ({\n r: +d.Magnitude\n }))\n }\n\n _init() {\n this.simulation = d3.forceSimulation()\n .force(\"index-collide\", d3.forceCollide(d => d.r + 5).iterations(16))\n .force(\"index-x\", d3.forceX().strength(0.04))\n .force(\"index-y\", d3.forceY().strength(0.04))\n\n this._initLayouts();\n\n var node = this.svg.append(\"g\")\n .attr(\"class\", \"nodes\")\n .selectAll(\"circle\")\n .data(this.nodes)\n .enter()\n .append(\"circle\")\n .attr(\"r\", d => d.r )\n\n var that = this;\n var ticked = function() {\n node\n .attr(\"cx\", d => d.x )\n .attr(\"cy\", d => d.y );\n if(that.layout.ticked) {\n that.layout.ticked();\n }\n }\n\n this.simulation\n .nodes(this.nodes)\n .on(\"tick\", ticked);\n\n }\n\n _initLayouts() {\n this.layouts = {\n 'total': layoutTotal,\n 'country': layoutCountry,\n 'day': layoutDay\n };\n\n for (var k in this.layouts) {\n var v = this.layouts[k];\n this.layouts[k] = new v(this.svg, this.data, this.simulation);\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/d3-components/bubbles-nested-routes/ph2/index.js","const d3 = require('d3');\nconst _ = require('lodash');\n\nexport default class {\n constructor(elem, data, simulation) {\n this.elem = elem;\n this.data = data;\n this.simulation = simulation;\n }\n\n init() {\n var groups = _(this.data)\n .map((k, i) => ({\n location: k.Location.split(', ')[1],\n index: i\n }))\n .groupBy('location')\n .value();\n\n this.countries = _.map(groups, (v, k) => ({ key: k, r: -30 }));\n\n this.links = [];\n console.log(groups[this.countries[0].key][0]);\n for(var i = 0; i < this.countries.length; i++) {\n for(var j = 0; j < groups[this.countries[i].key].length; j++) {\n this.links.push({\n source: i + this.data.length,\n target: groups[this.countries[i].key][j].index\n });\n }\n }\n\n }\n\n enter() {\n\n this.nodesBefore = this.simulation.nodes();\n this.simulation\n .force(\"country-link\", d3.forceLink().id(d => d.index))\n .force(\"country-charge\", d3.forceManyBody().strength(-30))\n .force(\"country-x\", d3.forceX().strength(0.11))\n .force(\"country-y\", d3.forceY().strength(0.11))\n\n //console.log(this.simulation.force(\"link\").distance());\n this.simulation.force(\"link\")//.distance(-10)\n\n this.simulation.nodes(_.concat(this.nodesBefore, this.countries));\n\n this.countryG = this.elem.append(\"g\");\n this.countyLabels = this.countryG\n .selectAll('text')\n .data(this.countries)\n .enter()\n .append('text')\n .text(d => d.key)\n .attr(\"text-anchor\", \"middle\")\n .attr(\"font-size\", \"8\")\n\n this.linesG = this.elem.insert(\"g\", \":first-child\");\n this.lines = this.linesG\n .selectAll(\"line\")\n .data(this.links)\n .enter()\n .append(\"line\")\n .attr(\"stroke\", \"#d7d7d7\")\n\n\n this.simulation\n .force(\"country-link\")\n .links(this.links);\n\n }\n\n ticked() {\n this.lines\n .attr(\"x1\", d => d.source.x)\n .attr(\"y1\", d => d.source.y)\n .attr(\"x2\", d => d.target.x)\n .attr(\"y2\", d => d.target.y);\n this.countyLabels\n .attr('x', d => d.x)\n .attr('y', d => d.y)\n }\n\n exit() {\n this.simulation\n .nodes(this.nodesBefore);\n this.simulation\n .force(\"country-link\", null)\n .force(\"country-charge\", null)\n .force(\"country-x\", null)\n .force(\"country-y\", null)\n\n this.linesG.remove();\n this.countryG.remove();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/d3-components/bubbles-nested-routes/ph2/layout-contry.js","const d3 = require('d3');\nconst _ = require('lodash');\n\nconst DAY_RANGE = d3.range(14, 24);\nconst WIDTH = 500;\n\nexport default class {\n constructor(elem, data, simulation) {\n this.elem = elem;\n this.data = data;\n this.simulation = simulation;\n }\n init() {\n this.dayX = _.map(\n this.data, d => this._dayToX(+d.Date.split('-')[0])\n );\n }\n enter() {\n this.forceIndexCollide = this.simulation.force(\"index-collide\");\n this.simulation.force(\"index-collide\", null);\n this.forceIndexY = this.simulation.force(\"index-y\");\n this.simulation.force(\"index-y\", null);\n\n this.simulation.force(\"day-collide\", d3.forceCollide(d => d.r + 2).iterations(16))\n\n\n this.daysG = this.elem.append('g');\n\n this.daysG\n .selectAll('text')\n .data(DAY_RANGE)\n .enter()\n .append('text')\n .text(d => d)\n .attr('x', this._dayToX)\n .attr('font-size', 10)\n .attr('fill', 'gray')\n .attr('text-anchor', 'middle')\n\n var that = this;\n this.simulation.force(\n 'day-x', d3.forceX(d => that.dayX[d.index]).strength(1)\n );\n this.simulation.force(\"day-y\", d3.forceY().strength(0.005));\n }\n exit() {\n this.daysG.remove();\n this.simulation.force('day-x', null);\n this.simulation.force(\"index-collide\", this.forceIndexCollide);\n this.simulation.force(\"index-y\", this.forceIndexY);\n }\n\n _dayToX(day) {\n return (day - DAY_RANGE[0]) * WIDTH / DAY_RANGE.length - WIDTH * 0.48\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/d3-components/bubbles-nested-routes/ph2/layout-day.js","export default class {\n constructor(elem, data, simulation) {\n this.elem = elem;\n this.simulation = simulation;\n }\n init() {\n\n }\n enter() {\n\n }\n exit() {\n\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/d3-components/bubbles-nested-routes/ph2/layout-total.js","\n/* styles */\nrequire(\"!!./../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../node_modules/vue-loader/lib/style-rewriter?id=data-v-098bb42e&scoped=true!./../../node_modules/vue-loader/lib/selector?type=styles&index=0!./demos-navigation.vue\")\n\nvar Component = require(\"!./../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../node_modules/vue-loader/lib/selector?type=script&index=0!./demos-navigation.vue\"),\n /* template */\n require(\"!!./../../node_modules/vue-loader/lib/template-compiler?id=data-v-098bb42e!./../../node_modules/vue-loader/lib/selector?type=template&index=0!./demos-navigation.vue\"),\n /* scopeId */\n \"data-v-098bb42e\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/demos-navigation.vue\n// module id = 93\n// module chunks = 1","\n/* styles */\nrequire(\"!!./../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../node_modules/vue-loader/lib/style-rewriter?id=data-v-417810ac&scoped=true!./../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n\nvar Component = require(\"!./../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"),\n /* template */\n require(\"!!./../../node_modules/vue-loader/lib/template-compiler?id=data-v-417810ac!./../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n \"data-v-417810ac\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/index.vue\n// module id = 94\n// module chunks = 1","\n/* styles */\nrequire(\"!!./../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../node_modules/vue-loader/lib/style-rewriter?id=data-v-135caa9e!./../../node_modules/vue-loader/lib/selector?type=styles&index=0!./bars-style-basic.vue\")\n\nvar Component = require(\"!./../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../node_modules/vue-loader/lib/selector?type=script&index=0!./bars-style-basic.vue\"),\n /* template */\n require(\"!!./../../node_modules/vue-loader/lib/template-compiler?id=data-v-135caa9e!./../../node_modules/vue-loader/lib/selector?type=template&index=0!./bars-style-basic.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/d3-components/bars-style-basic.vue\n// module id = 95\n// module chunks = 1","\n/* styles */\nrequire(\"!!./../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../node_modules/vue-loader/lib/style-rewriter?id=data-v-0e55e99d&scoped=true!./../../node_modules/vue-loader/lib/selector?type=styles&index=0!./bars-style-scoped.vue\")\n\nvar Component = require(\"!./../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../node_modules/vue-loader/lib/selector?type=script&index=0!./bars-style-scoped.vue\"),\n /* template */\n require(\"!!./../../node_modules/vue-loader/lib/template-compiler?id=data-v-0e55e99d!./../../node_modules/vue-loader/lib/selector?type=template&index=0!./bars-style-scoped.vue\"),\n /* scopeId */\n \"data-v-0e55e99d\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/d3-components/bars-style-scoped.vue\n// module id = 96\n// module chunks = 1","var Component = require(\"!./../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../../node_modules/vue-loader/lib/selector?type=script&index=0!./bubbles.vue\"),\n /* template */\n require(\"!!./../../../node_modules/vue-loader/lib/template-compiler?id=data-v-40244856!./../../../node_modules/vue-loader/lib/selector?type=template&index=0!./bubbles.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/d3-components/bubbles-nested-routes/bubbles.vue\n// module id = 97\n// module chunks = 1","\n/* styles */\nrequire(\"!!./../../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../../node_modules/vue-loader/lib/style-rewriter?id=data-v-28f41ffe&scoped=true!./../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n\nvar Component = require(\"!./../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"),\n /* template */\n require(\"!!./../../../node_modules/vue-loader/lib/template-compiler?id=data-v-28f41ffe!./../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n \"data-v-28f41ffe\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/d3-components/bubbles-nested-routes/index.vue\n// module id = 98\n// module chunks = 1","\n/* styles */\nrequire(\"!!./../../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../../node_modules/vue-loader/lib/style-rewriter?id=data-v-37ada400&scoped=true!./../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./menu.vue\")\n\nvar Component = require(\"!./../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../../node_modules/vue-loader/lib/selector?type=script&index=0!./menu.vue\"),\n /* template */\n require(\"!!./../../../node_modules/vue-loader/lib/template-compiler?id=data-v-37ada400!./../../../node_modules/vue-loader/lib/selector?type=template&index=0!./menu.vue\"),\n /* scopeId */\n \"data-v-37ada400\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/d3-components/bubbles-nested-routes/menu.vue\n// module id = 99\n// module chunks = 1","\n/* styles */\nrequire(\"!!./../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../node_modules/vue-loader/lib/style-rewriter?id=data-v-6cdccc88!./../../node_modules/vue-loader/lib/selector?type=styles&index=0!./circle-mount.vue\")\n\nvar Component = require(\"!./../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../node_modules/vue-loader/lib/selector?type=script&index=0!./circle-mount.vue\"),\n /* template */\n require(\"!!./../../node_modules/vue-loader/lib/template-compiler?id=data-v-6cdccc88!./../../node_modules/vue-loader/lib/selector?type=template&index=0!./circle-mount.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/d3-components/circle-mount.vue\n// module id = 100\n// module chunks = 1","var Component = require(\"!./../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"),\n /* template */\n require(\"!!./../../../node_modules/vue-loader/lib/template-compiler?id=data-v-0098151c!./../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/d3-components/pie-chart-local-component/index.vue\n// module id = 101\n// module chunks = 1","var Component = require(\"!./../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../../node_modules/vue-loader/lib/selector?type=script&index=0!./pie.vue\"),\n /* template */\n require(\"!!./../../../node_modules/vue-loader/lib/template-compiler?id=data-v-5cc699a8!./../../../node_modules/vue-loader/lib/selector?type=template&index=0!./pie.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/d3-components/pie-chart-local-component/pie.vue\n// module id = 102\n// module chunks = 1","\n/* styles */\nrequire(\"!!./../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../node_modules/vue-loader/lib/style-rewriter?id=data-v-4dc993ec!./../../node_modules/vue-loader/lib/selector?type=styles&index=0!./size-controller.vue\")\n\nvar Component = require(\"!./../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./../../node_modules/vue-loader/lib/selector?type=script&index=0!./size-controller.vue\"),\n /* template */\n require(\"!!./../../node_modules/vue-loader/lib/template-compiler?id=data-v-4dc993ec!./../../node_modules/vue-loader/lib/selector?type=template&index=0!./size-controller.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/d3-components/size-controller.vue\n// module id = 103\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [_c('h4', [_vm._v(\"Most popular female names in the world\")]), _vm._v(\" \"), _c('pie', {\n attrs: {\n \"data\": _vm.names\n }\n }), _vm._v(\" \"), _c('br'), _vm._v(\" \"), (_vm.canAddAName) ? _c('button', {\n on: {\n \"click\": _vm.addName\n }\n }, [_vm._v(\"Add a name\")]) : _vm._e()], 1)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-0098151c!./~/vue-loader/lib/selector.js?type=template&index=0!./src/d3-components/pie-chart-local-component/index.vue\n// module id = 104\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n attrs: {\n \"id\": \"holder\"\n }\n }, [_c('div', {\n staticClass: \"links\"\n }, [(_vm.prev) ? _c('router-link', {\n staticClass: \"prev\",\n attrs: {\n \"to\": _vm.prev.path\n }\n }, [_vm._v(\" < prev \")]) : _vm._e(), _vm._v(\" \"), _c('a', {\n staticClass: \"source\",\n attrs: {\n \"href\": _vm.sourceHref\n }\n }, [_vm._v(\" source \")]), _vm._v(\" \"), (_vm.next) ? _c('router-link', {\n staticClass: \"next\",\n attrs: {\n \"to\": _vm.next.path\n }\n }, [_vm._v(\" next > \")]) : _vm._e()], 1)])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-098bb42e!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/demos-navigation.vue\n// module id = 105\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"width\": \"500\",\n \"height\": \"300\"\n }\n })\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-0e55e99d!./~/vue-loader/lib/selector.js?type=template&index=0!./src/d3-components/bars-style-scoped.vue\n// module id = 106\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"id\": \"bars-style-basic-svg\",\n \"width\": \"500\",\n \"height\": \"300\"\n }\n })\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-135caa9e!./~/vue-loader/lib/selector.js?type=template&index=0!./src/d3-components/bars-style-basic.vue\n// module id = 107\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"holder\"\n }, [_c('groupMenu', {\n attrs: {\n \"links\": _vm.links,\n \"activeLink\": _vm.activeLink\n }\n }), _vm._v(\" \"), _c('bubbles', {\n attrs: {\n \"groupBy\": _vm.activeLink.layout\n }\n })], 1)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-28f41ffe!./~/vue-loader/lib/selector.js?type=template&index=0!./src/d3-components/bubbles-nested-routes/index.vue\n// module id = 108\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"holder\"\n }, [_c('ul', {\n staticClass: \"menu\"\n }, [_c('li', [_vm._v(\"Group by: \")]), _vm._v(\" \"), _vm._l((_vm.alinks), function(link) {\n return _c('li', [_c('a', {\n class: {\n active: link.active\n },\n attrs: {\n \"href\": link.item.path\n }\n }, [_vm._v(\" \" + _vm._s(link.item.name) + \" \")])])\n })], 2)])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-37ada400!./~/vue-loader/lib/selector.js?type=template&index=0!./src/d3-components/bubbles-nested-routes/menu.vue\n// module id = 109\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"width\": \"600\",\n \"height\": \"500\"\n }\n })\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-40244856!./~/vue-loader/lib/selector.js?type=template&index=0!./src/d3-components/bubbles-nested-routes/bubbles.vue\n// module id = 110\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"hello\"\n }, [_c('ul', _vm._l((_vm.items), function(item) {\n return _c('li', [_c('router-link', {\n attrs: {\n \"to\": item.path\n }\n }, [_vm._v(_vm._s(item.name))])], 1)\n }))])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-417810ac!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/index.vue\n// module id = 111\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n attrs: {\n \"id\": \"app\"\n }\n }, [_vm._m(0), _vm._v(\" \"), _c('h2', [_vm._v(_vm._s(_vm.$route.name))]), _vm._v(\" \"), _c('top-nav'), _vm._v(\" \"), _c('router-view')], 1)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('a', {\n attrs: {\n \"href\": \"#/\"\n }\n }, [_c('h1', [_vm._v(\" D3.js vs Vue.js examples \")])])\n}]}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-41b7bac0!./~/vue-loader/lib/selector.js?type=template&index=0!./src/app.vue\n// module id = 112\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [_c('svg', {\n attrs: {\n \"width\": \"500\",\n \"height\": \"300\"\n }\n }), _vm._v(\" \"), _c('br'), _vm._v(\" \"), _c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.circleSize),\n expression: \"circleSize\"\n }],\n attrs: {\n \"type\": \"range\",\n \"min\": \"1\",\n \"max\": \"100\",\n \"step\": \"1\"\n },\n domProps: {\n \"value\": _vm._s(_vm.circleSize)\n },\n on: {\n \"input\": function($event) {\n _vm.circleSize = $event.target.value\n }\n }\n })])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-4dc993ec!./~/vue-loader/lib/selector.js?type=template&index=0!./src/d3-components/size-controller.vue\n// module id = 113\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"width\": \"500\",\n \"height\": \"300\"\n }\n })\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-5cc699a8!./~/vue-loader/lib/selector.js?type=template&index=0!./src/d3-components/pie-chart-local-component/pie.vue\n// module id = 114\n// module chunks = 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', {\n attrs: {\n \"width\": \"500\",\n \"height\": \"300\"\n }\n })\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-6cdccc88!./~/vue-loader/lib/selector.js?type=template&index=0!./src/d3-components/circle-mount.vue\n// module id = 115\n// module chunks = 1","// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue'\nimport app from './app'\nimport router from './router'\n\n/* eslint-disable no-new */\nnew Vue({\n el: '#app',\n router,\n template: '<app/>',\n components: { app }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js"],"sourceRoot":""}