UNPKG

@atomist/sdm-pack-aspect

Version:

an Atomist SDM Extension Pack for visualizing drift across an organization

368 lines (298 loc) 1.29 MB
var SunburstYo = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./lib/page/sunburstScript.js"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./lib/page/sunburstScript.js": /*!************************************!*\ !*** ./lib/page/sunburstScript.js ***! \************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n/*\n * Copyright © 2019 Atomist, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst d3 = __webpack_require__(/*! d3 */ \"./node_modules/d3/index.js\");\nconst NameOfThisLibrary = \"SunburstYo\";\n/**\n * Color palette for d3 to use\n */\nconst palette = [\n \"#56b06f\",\n \"#3bbaa8\",\n \"#35848c\",\n \"#173d6d\",\n \"#846473\",\n \"#5F7186\",\n \"#0d560d\",\n \"#1f8045\",\n \"#173d48\",\n];\n// tslint:disable\nfunction sunburst(workspaceId, data, pWidth, pHeight, options) {\n const { perLevelDataElementIds, fieldsToDisplay } = options;\n const minDiameterInPixels = 100;\n const width = Math.max(pWidth || window.innerWidth, minDiameterInPixels), height = Math.max(pHeight || window.innerHeight, minDiameterInPixels), maxRadius = (Math.min(width, height) / 2) - 5;\n const viewBoxSide = maxRadius * 2 + 10;\n const x = d3.scaleLinear()\n .range([0, 2 * Math.PI])\n .clamp(true);\n const y = d3.scaleSqrt()\n .range([maxRadius * .1, maxRadius]);\n const chooseColorFromString = d3.scaleOrdinal(palette);\n const arc = d3.arc()\n .startAngle((d) => x(d.x0))\n .endAngle((d) => x(d.x1))\n .innerRadius((d) => Math.max(0, y(d.y0)))\n .outerRadius((d) => Math.max(0, y(d.y1)));\n const middleArcLine = d => {\n const halfPi = Math.PI / 2;\n const angles = [x(d.x0) - halfPi, x(d.x1) - halfPi];\n const r = Math.max(0, (y(d.y0) + y(d.y1)) / 2);\n const middleAngle = (angles[1] + angles[0]) / 2;\n const invertDirection = middleAngle > 0 && middleAngle < Math.PI; // On lower quadrants write text ccw\n if (invertDirection) {\n angles.reverse();\n }\n const path = d3.path();\n path.arc(0, 0, r, angles[0], angles[1], invertDirection);\n return path.toString();\n };\n const textFits = d => {\n const CHAR_SPACE = 6;\n const deltaAngle = x(d.x1) - x(d.x0);\n const r = Math.max(0, (y(d.y0) + y(d.y1)) / 2);\n const perimeter = r * deltaAngle;\n return d.data.name.length * CHAR_SPACE < perimeter;\n };\n const svg = d3.select(\"#putSvgHere\").append(\"svg\")\n .style(\"width\", viewBoxSide + \"px\")\n .attr(\"viewBox\", `${-viewBoxSide / 2} ${-viewBoxSide / 2} ${viewBoxSide} ${viewBoxSide}`)\n .on(\"click\", focusOn); // Reset zoom on canvas click\n // now work with the data\n const d = data;\n if (!d.tree || d.tree.children.length === 0) {\n alert(\"No data\");\n return;\n }\n const root = d3.hierarchy(d.tree);\n root.sum(d => d.size || 0); // sets a \"value\" property on each node\n const slice = svg.selectAll(\"g.slice\")\n .data(d3.partition()(root).descendants());\n slice.exit().remove(); // does this remove any extraneous ones?\n const perLevelDataElements = perLevelDataElementIds.map(id => d3.select(\"#\" + id)).filter(a => !!a);\n const additionalDataElement = d3.select(\"#additionalDataAboutWhatYouClicked\");\n const newSlice = slice.enter()\n .append(\"g\").attr(\"class\", \"slice\")\n .on(\"click\", d => {\n d3.event.stopPropagation();\n setFrozenLevelData(workspaceId, perLevelDataElements, d);\n focusOn(d);\n })\n .on(\"mouseover\", (d) => {\n populatePerLevelData(perLevelDataElements, d);\n populateAdditionalData(additionalDataElement, fieldsToDisplay, d);\n });\n // This is the hover text\n newSlice.append(\"title\")\n .text(d => d.data.name);\n newSlice.append(\"path\")\n .attr(\"class\", \"main-arc\")\n // I think this says, the last ring should use the same color as its parent\n .style(\"fill\", (d) => d.data.color || chooseColorFromString((d.children ? d : d.parent).data.name))\n .attr(\"d\", arc);\n newSlice.append(\"path\")\n .attr(\"class\", \"hidden-arc\")\n .attr(\"id\", (_, i) => `hiddenArc${i}`)\n .attr(\"d\", middleArcLine);\n const text = newSlice.append(\"text\")\n .attr(\"display\", d => textFits(d) ? null : \"none\");\n // Add white contour\n text.append(\"textPath\")\n .attr(\"class\", \"textOutline\")\n .attr(\"startOffset\", \"50%\")\n .attr(\"xlink:href\", (_, i) => `#hiddenArc${i}`)\n .text(d => d.data.name);\n text.append(\"textPath\")\n .attr(\"startOffset\", \"50%\")\n .attr(\"xlink:href\", (_, i) => `#hiddenArc${i}`)\n .text(d => d.data.name);\n function focusOn(d = { x0: 0, x1: 1, y0: 0, y1: 1 }) {\n // Reset to top-level if no data point specified\n const transition = svg.transition()\n .duration(750)\n .tween(\"scale\", () => {\n const xd = d3.interpolate(x.domain(), [d.x0, d.x1]), yd = d3.interpolate(y.domain(), [d.y0, 1]);\n return t => {\n x.domain(xd(t));\n y.domain(yd(t));\n };\n });\n transition.selectAll(\"path.main-arc\")\n .attrTween(\"d\", d => () => arc(d));\n transition.selectAll(\"path.hidden-arc\")\n .attrTween(\"d\", d => () => middleArcLine(d));\n transition.selectAll(\"text\")\n .attrTween(\"display\", d => () => textFits(d) ? null : \"none\");\n moveStackToFront(d);\n function moveStackToFront(elD) {\n svg.selectAll(\".slice\").filter(d => d === elD)\n .each(function (d) {\n this.parentNode.appendChild(this); // move all parents to the end of the line\n if (d.parent) {\n moveStackToFront(d.parent);\n }\n });\n }\n }\n}\nexports.sunburst = sunburst;\nfunction hasTags(data) {\n return !!data.tags;\n}\nfunction populateAdditionalData(additionalDataElement, usefulFields, d) {\n if (!additionalDataElement) {\n return;\n }\n let content = \"\";\n const data = d.data;\n console.log(\"Properties on data: \" + Object.getOwnPropertyNames(data).join(\",\"));\n if (hasTags(data)) {\n content = \"Tags: <ul>\" + data.tags.map(t => `<li>${t.name}</li>`).join(\"\") + \"</ul>\";\n }\n usefulFields.forEach(fieldname => {\n if (data[fieldname] !== undefined) {\n content += `<br />${fieldname}: ${data[fieldname]}`;\n }\n });\n additionalDataElement.html(content);\n}\nfunction populatePerLevelData(perLevelDataElements, d) {\n const namesUpTree = [d.data.name];\n for (let place = d; place = place.parent; !!place) {\n namesUpTree.push(place.data.name);\n }\n const namesDownTree = namesUpTree.reverse();\n perLevelDataElements.forEach((e, i) => {\n if (e.attr(\"class\") === \"frozenLevelData\") {\n return;\n }\n const value = namesDownTree[i] || \"(various)\";\n e.html(value);\n });\n if (namesUpTree.length < perLevelDataElements.length) {\n // if this isn't a leaf node, then\n // the value property on the node is a count of the leaves under it.\n // put that count in the last level data\n perLevelDataElements[perLevelDataElements.length - 1].html(\"(\" + d.value + \" of them)\");\n }\n}\nfunction setFrozenLevelData(workspaceId, perLevelDataElements, d) {\n const htmlUpTree = [formatLevelData(d.data)];\n for (let place = d; place = place.parent; !!place) {\n htmlUpTree.push(formatLevelData(place.data));\n }\n const htmlDownTree = htmlUpTree.reverse();\n const dataId = d.data.id;\n const levelCountAbove = htmlUpTree.length;\n perLevelDataElements.forEach((e, i) => {\n const className = i >= levelCountAbove ? \"unfrozenLevelData\" : \"frozenLevelData\";\n e.attr(\"class\", className);\n if (!dataId || i !== (levelCountAbove - 1)) {\n // no buttons\n e.html(htmlDownTree[i]);\n return;\n }\n e.html(htmlDownTree[i] + \"<br/>\" + htmlForSetIdeal(workspaceId, dataId) + htmlForNoteProblem(workspaceId, dataId));\n });\n}\nfunction formatLevelData(data) {\n console.log(\"tags: \" + data.tags);\n const viewLink = data.viewUrl ? `<a href=\"${data.viewUrl}\"><img src=\"/hexagonal-fruit-of-power.png\" class=\"linkToInsightsImage\" ></img></a>` : \"\";\n let tagList = \"\";\n if (data.tags) {\n tagList = \"<ul>\" + data.tags.map(t => `<li>${t.name}</li>`).join(\"\") + \"</ul>\";\n }\n const nameDisplay = data.url ? `<a href=\"${data.url}\">${data.name}</a>` : data.name;\n return nameDisplay + viewLink + tagList;\n}\nfunction htmlForSetIdeal(workspaceId, dataId) {\n return `<button id=\"setIdeal\" onclick=\"${NameOfThisLibrary}.postSetIdeal('${workspaceId}','${dataId}')\">\n Set as ideal\n </button><label for=\"setIdeal\" id=\"setIdealLabel\" class=\"nothingToSay\">&nbsp;</label>`;\n}\nfunction htmlForNoteProblem(workspaceId, dataId) {\n return `<button id=\"noteProblem\" onclick=\"${NameOfThisLibrary}.postNoteProblem('${workspaceId}','${dataId}')\">\n Note as problem\n </button><label for=\"noteProblem\" id=\"noteProblemLabel\" class=\"nothingToSay\">&nbsp;</label>`;\n}\nfunction postSetIdeal(workspaceId, fingerprintId) {\n const postUrl = `../../api/v1/${workspaceId}/ideal/${encodeURIComponent(fingerprintId)}`;\n const labelElement = document.getElementById(\"setIdealLabel\");\n fetch(postUrl, { method: \"PUT\" }).then(response => {\n if (response.ok) {\n labelElement.textContent = `Ideal set`;\n labelElement.setAttribute(\"class\", \"success\");\n labelElement.setAttribute(\"display\", \"static\");\n }\n else {\n labelElement.textContent = \"Failed to set. consult the server logaments\";\n labelElement.setAttribute(\"class\", \"error\");\n }\n }, e => {\n labelElement.textContent = \"Network error\";\n labelElement.setAttribute(\"class\", \"error\");\n });\n}\nexports.postSetIdeal = postSetIdeal;\nfunction postNoteProblem(workspaceId, fingerprintId) {\n const postUrl = `../../api/v1/${workspaceId}/problem/${encodeURIComponent(fingerprintId)}`;\n const labelElement = document.getElementById(\"noteProblemLabel\");\n fetch(postUrl, { method: \"PUT\" }).then(response => {\n if (response.ok) {\n labelElement.textContent = `Problem noted`;\n labelElement.setAttribute(\"class\", \"success\");\n labelElement.setAttribute(\"display\", \"static\");\n }\n else {\n labelElement.textContent = \"Failed to set. consult the server logaments\";\n labelElement.setAttribute(\"class\", \"error\");\n }\n }, e => {\n labelElement.textContent = \"Network error\";\n labelElement.setAttribute(\"class\", \"error\");\n });\n}\nexports.postNoteProblem = postNoteProblem;\n//# sourceMappingURL=sunburstScript.js.map\n\n//# sourceURL=webpack://SunburstYo/./lib/page/sunburstScript.js?"); /***/ }), /***/ "./node_modules/d3-array/src/array.js": /*!********************************************!*\ !*** ./node_modules/d3-array/src/array.js ***! \********************************************/ /*! exports provided: slice, map */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return slice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\nvar array = Array.prototype;\n\nvar slice = array.slice;\nvar map = array.map;\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/array.js?"); /***/ }), /***/ "./node_modules/d3-array/src/ascending.js": /*!************************************************!*\ !*** ./node_modules/d3-array/src/ascending.js ***! \************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/ascending.js?"); /***/ }), /***/ "./node_modules/d3-array/src/bisect.js": /*!*********************************************!*\ !*** ./node_modules/d3-array/src/bisect.js ***! \*********************************************/ /*! exports provided: bisectRight, bisectLeft, default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bisectRight\", function() { return bisectRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bisectLeft\", function() { return bisectLeft; });\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony import */ var _bisector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bisector */ \"./node_modules/d3-array/src/bisector.js\");\n\n\n\nvar ascendingBisect = Object(_bisector__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar bisectRight = ascendingBisect.right;\nvar bisectLeft = ascendingBisect.left;\n/* harmony default export */ __webpack_exports__[\"default\"] = (bisectRight);\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/bisect.js?"); /***/ }), /***/ "./node_modules/d3-array/src/bisector.js": /*!***********************************************!*\ !*** ./node_modules/d3-array/src/bisector.js ***! \***********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n});\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return Object(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(f(d), x);\n };\n}\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/bisector.js?"); /***/ }), /***/ "./node_modules/d3-array/src/constant.js": /*!***********************************************!*\ !*** ./node_modules/d3-array/src/constant.js ***! \***********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/constant.js?"); /***/ }), /***/ "./node_modules/d3-array/src/cross.js": /*!********************************************!*\ !*** ./node_modules/d3-array/src/cross.js ***! \********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pairs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pairs */ \"./node_modules/d3-array/src/pairs.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n\n if (reduce == null) reduce = _pairs__WEBPACK_IMPORTED_MODULE_0__[\"pair\"];\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/cross.js?"); /***/ }), /***/ "./node_modules/d3-array/src/descending.js": /*!*************************************************!*\ !*** ./node_modules/d3-array/src/descending.js ***! \*************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/descending.js?"); /***/ }), /***/ "./node_modules/d3-array/src/deviation.js": /*!************************************************!*\ !*** ./node_modules/d3-array/src/deviation.js ***! \************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _variance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./variance */ \"./node_modules/d3-array/src/variance.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, f) {\n var v = Object(_variance__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, f);\n return v ? Math.sqrt(v) : v;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/deviation.js?"); /***/ }), /***/ "./node_modules/d3-array/src/extent.js": /*!*********************************************!*\ !*** ./node_modules/d3-array/src/extent.js ***! \*********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n return [min, max];\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/extent.js?"); /***/ }), /***/ "./node_modules/d3-array/src/histogram.js": /*!************************************************!*\ !*** ./node_modules/d3-array/src/histogram.js ***! \************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-array/src/array.js\");\n/* harmony import */ var _bisect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bisect */ \"./node_modules/d3-array/src/bisect.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-array/src/constant.js\");\n/* harmony import */ var _extent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./extent */ \"./node_modules/d3-array/src/extent.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./identity */ \"./node_modules/d3-array/src/identity.js\");\n/* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./range */ \"./node_modules/d3-array/src/range.js\");\n/* harmony import */ var _ticks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ticks */ \"./node_modules/d3-array/src/ticks.js\");\n/* harmony import */ var _threshold_sturges__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./threshold/sturges */ \"./node_modules/d3-array/src/threshold/sturges.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var value = _identity__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n domain = _extent__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n threshold = _threshold_sturges__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n\n function histogram(data) {\n var i,\n n = data.length,\n x,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n tz = Object(_ticks__WEBPACK_IMPORTED_MODULE_6__[\"tickStep\"])(x0, x1, tz);\n tz = Object(_range__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Math.ceil(x0 / tz) * tz, x1, tz); // exclusive\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n for (i = 0; i < n; ++i) {\n x = values[i];\n if (x0 <= x && x <= x1) {\n bins[Object(_bisect__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(tz, x, 0, m)].push(data[i]);\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_array__WEBPACK_IMPORTED_MODULE_0__[\"slice\"].call(_)) : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_), histogram) : threshold;\n };\n\n return histogram;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/histogram.js?"); /***/ }), /***/ "./node_modules/d3-array/src/identity.js": /*!***********************************************!*\ !*** ./node_modules/d3-array/src/identity.js ***! \***********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/identity.js?"); /***/ }), /***/ "./node_modules/d3-array/src/index.js": /*!********************************************!*\ !*** ./node_modules/d3-array/src/index.js ***! \********************************************/ /*! exports provided: bisect, bisectRight, bisectLeft, ascending, bisector, cross, descending, deviation, extent, histogram, thresholdFreedmanDiaconis, thresholdScott, thresholdSturges, max, mean, median, merge, min, pairs, permute, quantile, range, scan, shuffle, sum, ticks, tickIncrement, tickStep, transpose, variance, zip */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bisect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bisect */ \"./node_modules/d3-array/src/bisect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisect\", function() { return _bisect__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisectRight\", function() { return _bisect__WEBPACK_IMPORTED_MODULE_0__[\"bisectRight\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisectLeft\", function() { return _bisect__WEBPACK_IMPORTED_MODULE_0__[\"bisectLeft\"]; });\n\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ascending\", function() { return _ascending__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _bisector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bisector */ \"./node_modules/d3-array/src/bisector.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisector\", function() { return _bisector__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _cross__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cross */ \"./node_modules/d3-array/src/cross.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cross\", function() { return _cross__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _descending__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./descending */ \"./node_modules/d3-array/src/descending.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"descending\", function() { return _descending__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _deviation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./deviation */ \"./node_modules/d3-array/src/deviation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deviation\", function() { return _deviation__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _extent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./extent */ \"./node_modules/d3-array/src/extent.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extent\", function() { return _extent__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _histogram__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./histogram */ \"./node_modules/d3-array/src/histogram.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"histogram\", function() { return _histogram__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./threshold/freedmanDiaconis */ \"./node_modules/d3-array/src/threshold/freedmanDiaconis.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thresholdFreedmanDiaconis\", function() { return _threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _threshold_scott__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./threshold/scott */ \"./node_modules/d3-array/src/threshold/scott.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thresholdScott\", function() { return _threshold_scott__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _threshold_sturges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./threshold/sturges */ \"./node_modules/d3-array/src/threshold/sturges.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thresholdSturges\", function() { return _threshold_sturges__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./max */ \"./node_modules/d3-array/src/max.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _max__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _mean__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./mean */ \"./node_modules/d3-array/src/mean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return _mean__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _median__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./median */ \"./node_modules/d3-array/src/median.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"median\", function() { return _median__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./merge */ \"./node_modules/d3-array/src/merge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return _merge__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _min__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./min */ \"./node_modules/d3-array/src/min.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _min__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _pairs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./pairs */ \"./node_modules/d3-array/src/pairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pairs\", function() { return _pairs__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _permute__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./permute */ \"./node_modules/d3-array/src/permute.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"permute\", function() { return _permute__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _quantile__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./quantile */ \"./node_modules/d3-array/src/quantile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"quantile\", function() { return _quantile__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./range */ \"./node_modules/d3-array/src/range.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _range__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./scan */ \"./node_modules/d3-array/src/scan.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return _scan__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _shuffle__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./shuffle */ \"./node_modules/d3-array/src/shuffle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return _shuffle__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _sum__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./sum */ \"./node_modules/d3-array/src/sum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _sum__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _ticks__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ticks */ \"./node_modules/d3-array/src/ticks.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ticks\", function() { return _ticks__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tickIncrement\", function() { return _ticks__WEBPACK_IMPORTED_MODULE_23__[\"tickIncrement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tickStep\", function() { return _ticks__WEBPACK_IMPORTED_MODULE_23__[\"tickStep\"]; });\n\n/* harmony import */ var _transpose__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./transpose */ \"./node_modules/d3-array/src/transpose.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return _transpose__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _variance__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./variance */ \"./node_modules/d3-array/src/variance.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"variance\", function() { return _variance__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _zip__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./zip */ \"./node_modules/d3-array/src/zip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return _zip__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/index.js?"); /***/ }), /***/ "./node_modules/d3-array/src/max.js": /*!******************************************!*\ !*** ./node_modules/d3-array/src/max.js ***! \******************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/max.js?"); /***/ }), /***/ "./node_modules/d3-array/src/mean.js": /*!*******************************************!*\ !*** ./node_modules/d3-array/src/mean.js ***! \*******************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/mean.js?"); /***/ }), /***/ "./node_modules/d3-array/src/median.js": /*!*********************************************!*\ !*** ./node_modules/d3-array/src/median.js ***! \*********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n/* harmony import */ var _quantile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./quantile */ \"./node_modules/d3-array/src/quantile.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n numbers = [];\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(values[i]))) {\n numbers.push(value);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(valueof(values[i], i, values)))) {\n numbers.push(value);\n }\n }\n }\n\n return Object(_quantile__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(numbers.sort(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), 0.5);\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/median.js?"); /***/ }), /***/ "./node_modules/d3-array/src/merge.js": /*!********************************************!*\ !*** ./node_modules/d3-array/src/merge.js ***! \********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(arrays) {\n var n = arrays.length,\n m,\n i = -1,\n j = 0,\n merged,\n array;\n\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n\n return merged;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/merge.js?"); /***/ }), /***/ "./node_modules/d3-array/src/min.js": /*!******************************************!*\ !*** ./node_modules/d3-array/src/min.js ***! \******************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n return min;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/min.js?"); /***/ }), /***/ "./node_modules/d3-array/src/number.js": /*!*********************************************!*\ !*** ./node_modules/d3-array/src/number.js ***! \*********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x === null ? NaN : +x;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/number.js?"); /***/ }), /***/ "./node_modules/d3-array/src/pairs.js": /*!********************************************!*\ !*** ./node_modules/d3-array/src/pairs.js ***! \********************************************/ /*! exports provided: default, pair */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pair\", function() { return pair; });\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, f) {\n if (f == null) f = pair;\n var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = f(p, p = array[++i]);\n return pairs;\n});\n\nfunction pair(a, b) {\n return [a, b];\n}\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/pairs.js?"); /***/ }), /***/ "./node_modules/d3-array/src/permute.js": /*!**********************************************!*\ !*** ./node_modules/d3-array/src/permute.js ***! \**********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/permute.js?"); /***/ }), /***/ "./node_modules/d3-array/src/quantile.js": /*!***********************************************!*\ !*** ./node_modules/d3-array/src/quantile.js ***! \***********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, p, valueof) {\n if (valueof == null) valueof = _number__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/quantile.js?"); /***/ }), /***/ "./node_modules/d3-array/src/range.js": /*!********************************************!*\ !*** ./node_modules/d3-array/src/range.js ***! \********************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/range.js?"); /***/ }), /***/ "./node_modules/d3-array/src/scan.js": /*!*******************************************!*\ !*** ./node_mo