@clickview/lite 0.69.1-dev.0 → 0.69.1-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/css/{2636-lite-f995954232.chunk.css → 6078-lite-4d1b877b3f.chunk.css} +4 -0
- package/dist/css/{1239-lite-8152f713c8.chunk.css → 7210-lite-a568e8ec1e.chunk.css} +1 -0
- package/dist/scripts/1210-7afb28caac-lite.chunk.js +2 -0
- package/dist/scripts/1210-7afb28caac-lite.chunk.js.map +1 -0
- package/dist/scripts/232-1522c00252-lite.chunk.js +3 -0
- package/dist/scripts/232-1522c00252-lite.chunk.js.map +1 -0
- package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js +2 -0
- package/dist/scripts/300-3d9f3cd4e3-lite.chunk.js.map +1 -0
- package/dist/scripts/3079-0a333d6805-lite.chunk.js +2 -0
- package/dist/scripts/3079-0a333d6805-lite.chunk.js.map +1 -0
- package/dist/scripts/3110-eee18143c6-lite.chunk.js +2 -0
- package/dist/scripts/3110-eee18143c6-lite.chunk.js.map +1 -0
- package/dist/scripts/312-693aa30814-lite.chunk.js +2 -0
- package/dist/scripts/312-693aa30814-lite.chunk.js.map +1 -0
- package/dist/scripts/4229-477b1858dc-lite.chunk.js +2 -0
- package/dist/scripts/4229-477b1858dc-lite.chunk.js.map +1 -0
- package/dist/scripts/{4845-f3646fb657-lite.chunk.js → 4845-9b4657e696-lite.chunk.js} +2 -2
- package/dist/scripts/4845-9b4657e696-lite.chunk.js.map +1 -0
- package/dist/scripts/5679-b40a221c78-lite.chunk.js +2 -0
- package/dist/scripts/5679-b40a221c78-lite.chunk.js.map +1 -0
- package/dist/scripts/6046-104677f08c-lite.chunk.js +2 -0
- package/dist/scripts/6046-104677f08c-lite.chunk.js.map +1 -0
- package/dist/scripts/6078-0bc71f8768-lite.chunk.js +2 -0
- package/dist/scripts/6078-0bc71f8768-lite.chunk.js.map +1 -0
- package/dist/scripts/{6188-e108abca25-lite.chunk.js → 6188-77fc2f3ec5-lite.chunk.js} +2 -2
- package/dist/scripts/6188-77fc2f3ec5-lite.chunk.js.map +1 -0
- package/dist/scripts/6351-dff9edbb16-lite.chunk.js +3 -0
- package/dist/scripts/6351-dff9edbb16-lite.chunk.js.map +1 -0
- package/dist/scripts/6973-c4cb114bd7-lite.chunk.js +2 -0
- package/dist/scripts/6973-c4cb114bd7-lite.chunk.js.map +1 -0
- package/dist/scripts/7210-d8fa7ca624-lite.chunk.js +3 -0
- package/dist/scripts/7210-d8fa7ca624-lite.chunk.js.map +1 -0
- package/dist/scripts/7482-13e6f78c32-lite.chunk.js +2 -0
- package/dist/scripts/7482-13e6f78c32-lite.chunk.js.map +1 -0
- package/dist/scripts/9040-be65e4eb1e-lite.chunk.js +2 -0
- package/dist/scripts/9040-be65e4eb1e-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-90d3c7fd15.min.js → bundle-bad2e20859.min.js} +3 -3
- package/dist/scripts/{bundle-90d3c7fd15.min.js.map → bundle-bad2e20859.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js +0 -2
- package/dist/scripts/1210-3cbdc62b0a-lite.chunk.js.map +0 -1
- package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js +0 -3
- package/dist/scripts/1239-ed9b8aadb4-lite.chunk.js.map +0 -1
- package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js +0 -2
- package/dist/scripts/2636-63e5f2c9e6-lite.chunk.js.map +0 -1
- package/dist/scripts/3036-d18c598435-lite.chunk.js +0 -2
- package/dist/scripts/3036-d18c598435-lite.chunk.js.map +0 -1
- package/dist/scripts/4229-75ba28a266-lite.chunk.js +0 -2
- package/dist/scripts/4229-75ba28a266-lite.chunk.js.map +0 -1
- package/dist/scripts/4266-e856b96643-lite.chunk.js +0 -3
- package/dist/scripts/4266-e856b96643-lite.chunk.js.map +0 -1
- package/dist/scripts/4598-f326dc1aec-lite.chunk.js +0 -2
- package/dist/scripts/4598-f326dc1aec-lite.chunk.js.map +0 -1
- package/dist/scripts/4845-f3646fb657-lite.chunk.js.map +0 -1
- package/dist/scripts/6046-44c115a89c-lite.chunk.js +0 -2
- package/dist/scripts/6046-44c115a89c-lite.chunk.js.map +0 -1
- package/dist/scripts/6188-e108abca25-lite.chunk.js.map +0 -1
- package/dist/scripts/6317-49be898c73-lite.chunk.js +0 -2
- package/dist/scripts/6317-49be898c73-lite.chunk.js.map +0 -1
- package/dist/scripts/6973-ede6601614-lite.chunk.js +0 -2
- package/dist/scripts/6973-ede6601614-lite.chunk.js.map +0 -1
- package/dist/scripts/7075-9a76ce47c9-lite.chunk.js +0 -3
- package/dist/scripts/7075-9a76ce47c9-lite.chunk.js.map +0 -1
- package/dist/scripts/9040-9393c59004-lite.chunk.js +0 -2
- package/dist/scripts/9040-9393c59004-lite.chunk.js.map +0 -1
- /package/dist/css/{3036-lite-1b3e9aa905.chunk.css → 3079-lite-1b3e9aa905.chunk.css} +0 -0
- /package/dist/css/{7075-lite-a377febbb0.chunk.css → 6351-lite-a377febbb0.chunk.css} +0 -0
- /package/dist/scripts/{4266-e856b96643-lite.chunk.js.LICENSE.txt → 232-1522c00252-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1239-ed9b8aadb4-lite.chunk.js.LICENSE.txt → 6351-dff9edbb16-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{7075-9a76ce47c9-lite.chunk.js.LICENSE.txt → 7210-d8fa7ca624-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-90d3c7fd15.min.js.LICENSE.txt → bundle-bad2e20859.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/232-1522c00252-lite.chunk.js","mappings":"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","sources":["file:///app/node_modules/chroma-js/chroma.js"],"sourcesContent":["/**\n * chroma.js - JavaScript library for color conversions\n *\n * Copyright (c) 2011-2019, Gregor Aisch\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this\n * list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice,\n * this list of conditions and the following disclaimer in the documentation\n * and/or other materials provided with the distribution.\n *\n * 3. The name Gregor Aisch may not be used to endorse or promote products\n * derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n * DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -------------------------------------------------------\n *\n * chroma.js includes colors from colorbrewer2.org, which are released under\n * the following license:\n *\n * Copyright (c) 2002 Cynthia Brewer, Mark Harrower,\n * and The Pennsylvania State University.\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 * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\n * either express or implied. See the License for the specific\n * language governing permissions and limitations under the License.\n *\n * ------------------------------------------------------\n *\n * Named colors are taken from X11 Color Names.\n * http://www.w3.org/TR/css3-color/#svg-color\n *\n * @preserve\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.chroma = factory());\n}(this, (function () { 'use strict';\n\n var limit = function (x, min, max) {\n if ( min === void 0 ) min=0;\n if ( max === void 0 ) max=1;\n\n return x < min ? min : x > max ? max : x;\n };\n\n var clip_rgb = function (rgb) {\n rgb._clipped = false;\n rgb._unclipped = rgb.slice(0);\n for (var i=0; i<=3; i++) {\n if (i < 3) {\n if (rgb[i] < 0 || rgb[i] > 255) { rgb._clipped = true; }\n rgb[i] = limit(rgb[i], 0, 255);\n } else if (i === 3) {\n rgb[i] = limit(rgb[i], 0, 1);\n }\n }\n return rgb;\n };\n\n // ported from jQuery's $.type\n var classToType = {};\n for (var i = 0, list = ['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Undefined', 'Null']; i < list.length; i += 1) {\n var name = list[i];\n\n classToType[(\"[object \" + name + \"]\")] = name.toLowerCase();\n }\n var type = function(obj) {\n return classToType[Object.prototype.toString.call(obj)] || \"object\";\n };\n\n var unpack = function (args, keyOrder) {\n if ( keyOrder === void 0 ) keyOrder=null;\n\n \t// if called with more than 3 arguments, we return the arguments\n if (args.length >= 3) { return Array.prototype.slice.call(args); }\n // with less than 3 args we check if first arg is object\n // and use the keyOrder string to extract and sort properties\n \tif (type(args[0]) == 'object' && keyOrder) {\n \t\treturn keyOrder.split('')\n \t\t\t.filter(function (k) { return args[0][k] !== undefined; })\n \t\t\t.map(function (k) { return args[0][k]; });\n \t}\n \t// otherwise we just return the first argument\n \t// (which we suppose is an array of args)\n return args[0];\n };\n\n var last = function (args) {\n if (args.length < 2) { return null; }\n var l = args.length-1;\n if (type(args[l]) == 'string') { return args[l].toLowerCase(); }\n return null;\n };\n\n var PI = Math.PI;\n\n var utils = {\n \tclip_rgb: clip_rgb,\n \tlimit: limit,\n \ttype: type,\n \tunpack: unpack,\n \tlast: last,\n \tPI: PI,\n \tTWOPI: PI*2,\n \tPITHIRD: PI/3,\n \tDEG2RAD: PI / 180,\n \tRAD2DEG: 180 / PI\n };\n\n var input = {\n \tformat: {},\n \tautodetect: []\n };\n\n var last$1 = utils.last;\n var clip_rgb$1 = utils.clip_rgb;\n var type$1 = utils.type;\n\n\n var Color = function Color() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var me = this;\n if (type$1(args[0]) === 'object' &&\n args[0].constructor &&\n args[0].constructor === this.constructor) {\n // the argument is already a Color instance\n return args[0];\n }\n\n // last argument could be the mode\n var mode = last$1(args);\n var autodetect = false;\n\n if (!mode) {\n autodetect = true;\n if (!input.sorted) {\n input.autodetect = input.autodetect.sort(function (a,b) { return b.p - a.p; });\n input.sorted = true;\n }\n // auto-detect format\n for (var i = 0, list = input.autodetect; i < list.length; i += 1) {\n var chk = list[i];\n\n mode = chk.test.apply(chk, args);\n if (mode) { break; }\n }\n }\n\n if (input.format[mode]) {\n var rgb = input.format[mode].apply(null, autodetect ? args : args.slice(0,-1));\n me._rgb = clip_rgb$1(rgb);\n } else {\n throw new Error('unknown format: '+args);\n }\n\n // add alpha channel\n if (me._rgb.length === 3) { me._rgb.push(1); }\n };\n\n Color.prototype.toString = function toString () {\n if (type$1(this.hex) == 'function') { return this.hex(); }\n return (\"[\" + (this._rgb.join(',')) + \"]\");\n };\n\n var Color_1 = Color;\n\n var chroma = function () {\n \tvar args = [], len = arguments.length;\n \twhile ( len-- ) args[ len ] = arguments[ len ];\n\n \treturn new (Function.prototype.bind.apply( chroma.Color, [ null ].concat( args) ));\n };\n\n chroma.Color = Color_1;\n chroma.version = '2.1.2';\n\n var chroma_1 = chroma;\n\n var unpack$1 = utils.unpack;\n var max = Math.max;\n\n var rgb2cmyk = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$1(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n r = r / 255;\n g = g / 255;\n b = b / 255;\n var k = 1 - max(r,max(g,b));\n var f = k < 1 ? 1 / (1-k) : 0;\n var c = (1-r-k) * f;\n var m = (1-g-k) * f;\n var y = (1-b-k) * f;\n return [c,m,y,k];\n };\n\n var rgb2cmyk_1 = rgb2cmyk;\n\n var unpack$2 = utils.unpack;\n\n var cmyk2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$2(args, 'cmyk');\n var c = args[0];\n var m = args[1];\n var y = args[2];\n var k = args[3];\n var alpha = args.length > 4 ? args[4] : 1;\n if (k === 1) { return [0,0,0,alpha]; }\n return [\n c >= 1 ? 0 : 255 * (1-c) * (1-k), // r\n m >= 1 ? 0 : 255 * (1-m) * (1-k), // g\n y >= 1 ? 0 : 255 * (1-y) * (1-k), // b\n alpha\n ];\n };\n\n var cmyk2rgb_1 = cmyk2rgb;\n\n var unpack$3 = utils.unpack;\n var type$2 = utils.type;\n\n\n\n Color_1.prototype.cmyk = function() {\n return rgb2cmyk_1(this._rgb);\n };\n\n chroma_1.cmyk = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['cmyk']) ));\n };\n\n input.format.cmyk = cmyk2rgb_1;\n\n input.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$3(args, 'cmyk');\n if (type$2(args) === 'array' && args.length === 4) {\n return 'cmyk';\n }\n }\n });\n\n var unpack$4 = utils.unpack;\n var last$2 = utils.last;\n var rnd = function (a) { return Math.round(a*100)/100; };\n\n /*\n * supported arguments:\n * - hsl2css(h,s,l)\n * - hsl2css(h,s,l,a)\n * - hsl2css([h,s,l], mode)\n * - hsl2css([h,s,l,a], mode)\n * - hsl2css({h,s,l,a}, mode)\n */\n var hsl2css = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var hsla = unpack$4(args, 'hsla');\n var mode = last$2(args) || 'lsa';\n hsla[0] = rnd(hsla[0] || 0);\n hsla[1] = rnd(hsla[1]*100) + '%';\n hsla[2] = rnd(hsla[2]*100) + '%';\n if (mode === 'hsla' || (hsla.length > 3 && hsla[3]<1)) {\n hsla[3] = hsla.length > 3 ? hsla[3] : 1;\n mode = 'hsla';\n } else {\n hsla.length = 3;\n }\n return (mode + \"(\" + (hsla.join(',')) + \")\");\n };\n\n var hsl2css_1 = hsl2css;\n\n var unpack$5 = utils.unpack;\n\n /*\n * supported arguments:\n * - rgb2hsl(r,g,b)\n * - rgb2hsl(r,g,b,a)\n * - rgb2hsl([r,g,b])\n * - rgb2hsl([r,g,b,a])\n * - rgb2hsl({r,g,b,a})\n */\n var rgb2hsl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$5(args, 'rgba');\n var r = args[0];\n var g = args[1];\n var b = args[2];\n\n r /= 255;\n g /= 255;\n b /= 255;\n\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n\n var l = (max + min) / 2;\n var s, h;\n\n if (max === min){\n s = 0;\n h = Number.NaN;\n } else {\n s = l < 0.5 ? (max - min) / (max + min) : (max - min) / (2 - max - min);\n }\n\n if (r == max) { h = (g - b) / (max - min); }\n else if (g == max) { h = 2 + (b - r) / (max - min); }\n else if (b == max) { h = 4 + (r - g) / (max - min); }\n\n h *= 60;\n if (h < 0) { h += 360; }\n if (args.length>3 && args[3]!==undefined) { return [h,s,l,args[3]]; }\n return [h,s,l];\n };\n\n var rgb2hsl_1 = rgb2hsl;\n\n var unpack$6 = utils.unpack;\n var last$3 = utils.last;\n\n\n var round = Math.round;\n\n /*\n * supported arguments:\n * - rgb2css(r,g,b)\n * - rgb2css(r,g,b,a)\n * - rgb2css([r,g,b], mode)\n * - rgb2css([r,g,b,a], mode)\n * - rgb2css({r,g,b,a}, mode)\n */\n var rgb2css = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgba = unpack$6(args, 'rgba');\n var mode = last$3(args) || 'rgb';\n if (mode.substr(0,3) == 'hsl') {\n return hsl2css_1(rgb2hsl_1(rgba), mode);\n }\n rgba[0] = round(rgba[0]);\n rgba[1] = round(rgba[1]);\n rgba[2] = round(rgba[2]);\n if (mode === 'rgba' || (rgba.length > 3 && rgba[3]<1)) {\n rgba[3] = rgba.length > 3 ? rgba[3] : 1;\n mode = 'rgba';\n }\n return (mode + \"(\" + (rgba.slice(0,mode==='rgb'?3:4).join(',')) + \")\");\n };\n\n var rgb2css_1 = rgb2css;\n\n var unpack$7 = utils.unpack;\n var round$1 = Math.round;\n\n var hsl2rgb = function () {\n var assign;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n args = unpack$7(args, 'hsl');\n var h = args[0];\n var s = args[1];\n var l = args[2];\n var r,g,b;\n if (s === 0) {\n r = g = b = l*255;\n } else {\n var t3 = [0,0,0];\n var c = [0,0,0];\n var t2 = l < 0.5 ? l * (1+s) : l+s-l*s;\n var t1 = 2 * l - t2;\n var h_ = h / 360;\n t3[0] = h_ + 1/3;\n t3[1] = h_;\n t3[2] = h_ - 1/3;\n for (var i=0; i<3; i++) {\n if (t3[i] < 0) { t3[i] += 1; }\n if (t3[i] > 1) { t3[i] -= 1; }\n if (6 * t3[i] < 1)\n { c[i] = t1 + (t2 - t1) * 6 * t3[i]; }\n else if (2 * t3[i] < 1)\n { c[i] = t2; }\n else if (3 * t3[i] < 2)\n { c[i] = t1 + (t2 - t1) * ((2 / 3) - t3[i]) * 6; }\n else\n { c[i] = t1; }\n }\n (assign = [round$1(c[0]*255),round$1(c[1]*255),round$1(c[2]*255)], r = assign[0], g = assign[1], b = assign[2]);\n }\n if (args.length > 3) {\n // keep alpha channel\n return [r,g,b,args[3]];\n }\n return [r,g,b,1];\n };\n\n var hsl2rgb_1 = hsl2rgb;\n\n var RE_RGB = /^rgb\\(\\s*(-?\\d+),\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\)$/;\n var RE_RGBA = /^rgba\\(\\s*(-?\\d+),\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n var RE_RGB_PCT = /^rgb\\(\\s*(-?\\d+(?:\\.\\d+)?)%,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*\\)$/;\n var RE_RGBA_PCT = /^rgba\\(\\s*(-?\\d+(?:\\.\\d+)?)%,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n var RE_HSL = /^hsl\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*\\)$/;\n var RE_HSLA = /^hsla\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n\n var round$2 = Math.round;\n\n var css2rgb = function (css) {\n css = css.toLowerCase().trim();\n var m;\n\n if (input.format.named) {\n try {\n return input.format.named(css);\n } catch (e) {\n // eslint-disable-next-line\n }\n }\n\n // rgb(250,20,0)\n if ((m = css.match(RE_RGB))) {\n var rgb = m.slice(1,4);\n for (var i=0; i<3; i++) {\n rgb[i] = +rgb[i];\n }\n rgb[3] = 1; // default alpha\n return rgb;\n }\n\n // rgba(250,20,0,0.4)\n if ((m = css.match(RE_RGBA))) {\n var rgb$1 = m.slice(1,5);\n for (var i$1=0; i$1<4; i$1++) {\n rgb$1[i$1] = +rgb$1[i$1];\n }\n return rgb$1;\n }\n\n // rgb(100%,0%,0%)\n if ((m = css.match(RE_RGB_PCT))) {\n var rgb$2 = m.slice(1,4);\n for (var i$2=0; i$2<3; i$2++) {\n rgb$2[i$2] = round$2(rgb$2[i$2] * 2.55);\n }\n rgb$2[3] = 1; // default alpha\n return rgb$2;\n }\n\n // rgba(100%,0%,0%,0.4)\n if ((m = css.match(RE_RGBA_PCT))) {\n var rgb$3 = m.slice(1,5);\n for (var i$3=0; i$3<3; i$3++) {\n rgb$3[i$3] = round$2(rgb$3[i$3] * 2.55);\n }\n rgb$3[3] = +rgb$3[3];\n return rgb$3;\n }\n\n // hsl(0,100%,50%)\n if ((m = css.match(RE_HSL))) {\n var hsl = m.slice(1,4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n var rgb$4 = hsl2rgb_1(hsl);\n rgb$4[3] = 1;\n return rgb$4;\n }\n\n // hsla(0,100%,50%,0.5)\n if ((m = css.match(RE_HSLA))) {\n var hsl$1 = m.slice(1,4);\n hsl$1[1] *= 0.01;\n hsl$1[2] *= 0.01;\n var rgb$5 = hsl2rgb_1(hsl$1);\n rgb$5[3] = +m[4]; // default alpha = 1\n return rgb$5;\n }\n };\n\n css2rgb.test = function (s) {\n return RE_RGB.test(s) ||\n RE_RGBA.test(s) ||\n RE_RGB_PCT.test(s) ||\n RE_RGBA_PCT.test(s) ||\n RE_HSL.test(s) ||\n RE_HSLA.test(s);\n };\n\n var css2rgb_1 = css2rgb;\n\n var type$3 = utils.type;\n\n\n\n\n Color_1.prototype.css = function(mode) {\n return rgb2css_1(this._rgb, mode);\n };\n\n chroma_1.css = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['css']) ));\n };\n\n input.format.css = css2rgb_1;\n\n input.autodetect.push({\n p: 5,\n test: function (h) {\n var rest = [], len = arguments.length - 1;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];\n\n if (!rest.length && type$3(h) === 'string' && css2rgb_1.test(h)) {\n return 'css';\n }\n }\n });\n\n var unpack$8 = utils.unpack;\n\n input.format.gl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgb = unpack$8(args, 'rgba');\n rgb[0] *= 255;\n rgb[1] *= 255;\n rgb[2] *= 255;\n return rgb;\n };\n\n chroma_1.gl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['gl']) ));\n };\n\n Color_1.prototype.gl = function() {\n var rgb = this._rgb;\n return [rgb[0]/255, rgb[1]/255, rgb[2]/255, rgb[3]];\n };\n\n var unpack$9 = utils.unpack;\n\n var rgb2hcg = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$9(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var c = delta * 100 / 255;\n var _g = min / (255 - delta) * 100;\n var h;\n if (delta === 0) {\n h = Number.NaN;\n } else {\n if (r === max) { h = (g - b) / delta; }\n if (g === max) { h = 2+(b - r) / delta; }\n if (b === max) { h = 4+(r - g) / delta; }\n h *= 60;\n if (h < 0) { h += 360; }\n }\n return [h, c, _g];\n };\n\n var rgb2hcg_1 = rgb2hcg;\n\n var unpack$a = utils.unpack;\n var floor = Math.floor;\n\n /*\n * this is basically just HSV with some minor tweaks\n *\n * hue.. [0..360]\n * chroma .. [0..1]\n * grayness .. [0..1]\n */\n\n var hcg2rgb = function () {\n var assign, assign$1, assign$2, assign$3, assign$4, assign$5;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n args = unpack$a(args, 'hcg');\n var h = args[0];\n var c = args[1];\n var _g = args[2];\n var r,g,b;\n _g = _g * 255;\n var _c = c * 255;\n if (c === 0) {\n r = g = b = _g;\n } else {\n if (h === 360) { h = 0; }\n if (h > 360) { h -= 360; }\n if (h < 0) { h += 360; }\n h /= 60;\n var i = floor(h);\n var f = h - i;\n var p = _g * (1 - c);\n var q = p + _c * (1 - f);\n var t = p + _c * f;\n var v = p + _c;\n switch (i) {\n case 0: (assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]); break\n case 1: (assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]); break\n case 2: (assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]); break\n case 3: (assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]); break\n case 4: (assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]); break\n case 5: (assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]); break\n }\n }\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var hcg2rgb_1 = hcg2rgb;\n\n var unpack$b = utils.unpack;\n var type$4 = utils.type;\n\n\n\n\n\n\n Color_1.prototype.hcg = function() {\n return rgb2hcg_1(this._rgb);\n };\n\n chroma_1.hcg = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hcg']) ));\n };\n\n input.format.hcg = hcg2rgb_1;\n\n input.autodetect.push({\n p: 1,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$b(args, 'hcg');\n if (type$4(args) === 'array' && args.length === 3) {\n return 'hcg';\n }\n }\n });\n\n var unpack$c = utils.unpack;\n var last$4 = utils.last;\n var round$3 = Math.round;\n\n var rgb2hex = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$c(args, 'rgba');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var a = ref[3];\n var mode = last$4(args) || 'auto';\n if (a === undefined) { a = 1; }\n if (mode === 'auto') {\n mode = a < 1 ? 'rgba' : 'rgb';\n }\n r = round$3(r);\n g = round$3(g);\n b = round$3(b);\n var u = r << 16 | g << 8 | b;\n var str = \"000000\" + u.toString(16); //#.toUpperCase();\n str = str.substr(str.length - 6);\n var hxa = '0' + round$3(a * 255).toString(16);\n hxa = hxa.substr(hxa.length - 2);\n switch (mode.toLowerCase()) {\n case 'rgba': return (\"#\" + str + hxa);\n case 'argb': return (\"#\" + hxa + str);\n default: return (\"#\" + str);\n }\n };\n\n var rgb2hex_1 = rgb2hex;\n\n var RE_HEX = /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\n var RE_HEXA = /^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/;\n\n var hex2rgb = function (hex) {\n if (hex.match(RE_HEX)) {\n // remove optional leading #\n if (hex.length === 4 || hex.length === 7) {\n hex = hex.substr(1);\n }\n // expand short-notation to full six-digit\n if (hex.length === 3) {\n hex = hex.split('');\n hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];\n }\n var u = parseInt(hex, 16);\n var r = u >> 16;\n var g = u >> 8 & 0xFF;\n var b = u & 0xFF;\n return [r,g,b,1];\n }\n\n // match rgba hex format, eg #FF000077\n if (hex.match(RE_HEXA)) {\n if (hex.length === 5 || hex.length === 9) {\n // remove optional leading #\n hex = hex.substr(1);\n }\n // expand short-notation to full eight-digit\n if (hex.length === 4) {\n hex = hex.split('');\n hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]+hex[3]+hex[3];\n }\n var u$1 = parseInt(hex, 16);\n var r$1 = u$1 >> 24 & 0xFF;\n var g$1 = u$1 >> 16 & 0xFF;\n var b$1 = u$1 >> 8 & 0xFF;\n var a = Math.round((u$1 & 0xFF) / 0xFF * 100) / 100;\n return [r$1,g$1,b$1,a];\n }\n\n // we used to check for css colors here\n // if _input.css? and rgb = _input.css hex\n // return rgb\n\n throw new Error((\"unknown hex color: \" + hex));\n };\n\n var hex2rgb_1 = hex2rgb;\n\n var type$5 = utils.type;\n\n\n\n\n Color_1.prototype.hex = function(mode) {\n return rgb2hex_1(this._rgb, mode);\n };\n\n chroma_1.hex = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hex']) ));\n };\n\n input.format.hex = hex2rgb_1;\n input.autodetect.push({\n p: 4,\n test: function (h) {\n var rest = [], len = arguments.length - 1;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];\n\n if (!rest.length && type$5(h) === 'string' && [3,4,5,6,7,8,9].indexOf(h.length) >= 0) {\n return 'hex';\n }\n }\n });\n\n var unpack$d = utils.unpack;\n var TWOPI = utils.TWOPI;\n var min = Math.min;\n var sqrt = Math.sqrt;\n var acos = Math.acos;\n\n var rgb2hsi = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/rgb2hsi.cpp\n */\n var ref = unpack$d(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n r /= 255;\n g /= 255;\n b /= 255;\n var h;\n var min_ = min(r,g,b);\n var i = (r+g+b) / 3;\n var s = i > 0 ? 1 - min_/i : 0;\n if (s === 0) {\n h = NaN;\n } else {\n h = ((r-g)+(r-b)) / 2;\n h /= sqrt((r-g)*(r-g) + (r-b)*(g-b));\n h = acos(h);\n if (b > g) {\n h = TWOPI - h;\n }\n h /= TWOPI;\n }\n return [h*360,s,i];\n };\n\n var rgb2hsi_1 = rgb2hsi;\n\n var unpack$e = utils.unpack;\n var limit$1 = utils.limit;\n var TWOPI$1 = utils.TWOPI;\n var PITHIRD = utils.PITHIRD;\n var cos = Math.cos;\n\n /*\n * hue [0..360]\n * saturation [0..1]\n * intensity [0..1]\n */\n var hsi2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n /*\n borrowed from here:\n http://hummer.stanford.edu/museinfo/doc/examples/humdrum/keyscape2/hsi2rgb.cpp\n */\n args = unpack$e(args, 'hsi');\n var h = args[0];\n var s = args[1];\n var i = args[2];\n var r,g,b;\n\n if (isNaN(h)) { h = 0; }\n if (isNaN(s)) { s = 0; }\n // normalize hue\n if (h > 360) { h -= 360; }\n if (h < 0) { h += 360; }\n h /= 360;\n if (h < 1/3) {\n b = (1-s)/3;\n r = (1+s*cos(TWOPI$1*h)/cos(PITHIRD-TWOPI$1*h))/3;\n g = 1 - (b+r);\n } else if (h < 2/3) {\n h -= 1/3;\n r = (1-s)/3;\n g = (1+s*cos(TWOPI$1*h)/cos(PITHIRD-TWOPI$1*h))/3;\n b = 1 - (r+g);\n } else {\n h -= 2/3;\n g = (1-s)/3;\n b = (1+s*cos(TWOPI$1*h)/cos(PITHIRD-TWOPI$1*h))/3;\n r = 1 - (g+b);\n }\n r = limit$1(i*r*3);\n g = limit$1(i*g*3);\n b = limit$1(i*b*3);\n return [r*255, g*255, b*255, args.length > 3 ? args[3] : 1];\n };\n\n var hsi2rgb_1 = hsi2rgb;\n\n var unpack$f = utils.unpack;\n var type$6 = utils.type;\n\n\n\n\n\n\n Color_1.prototype.hsi = function() {\n return rgb2hsi_1(this._rgb);\n };\n\n chroma_1.hsi = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hsi']) ));\n };\n\n input.format.hsi = hsi2rgb_1;\n\n input.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$f(args, 'hsi');\n if (type$6(args) === 'array' && args.length === 3) {\n return 'hsi';\n }\n }\n });\n\n var unpack$g = utils.unpack;\n var type$7 = utils.type;\n\n\n\n\n\n\n Color_1.prototype.hsl = function() {\n return rgb2hsl_1(this._rgb);\n };\n\n chroma_1.hsl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hsl']) ));\n };\n\n input.format.hsl = hsl2rgb_1;\n\n input.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$g(args, 'hsl');\n if (type$7(args) === 'array' && args.length === 3) {\n return 'hsl';\n }\n }\n });\n\n var unpack$h = utils.unpack;\n var min$1 = Math.min;\n var max$1 = Math.max;\n\n /*\n * supported arguments:\n * - rgb2hsv(r,g,b)\n * - rgb2hsv([r,g,b])\n * - rgb2hsv({r,g,b})\n */\n var rgb2hsl$1 = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$h(args, 'rgb');\n var r = args[0];\n var g = args[1];\n var b = args[2];\n var min_ = min$1(r, g, b);\n var max_ = max$1(r, g, b);\n var delta = max_ - min_;\n var h,s,v;\n v = max_ / 255.0;\n if (max_ === 0) {\n h = Number.NaN;\n s = 0;\n } else {\n s = delta / max_;\n if (r === max_) { h = (g - b) / delta; }\n if (g === max_) { h = 2+(b - r) / delta; }\n if (b === max_) { h = 4+(r - g) / delta; }\n h *= 60;\n if (h < 0) { h += 360; }\n }\n return [h, s, v]\n };\n\n var rgb2hsv = rgb2hsl$1;\n\n var unpack$i = utils.unpack;\n var floor$1 = Math.floor;\n\n var hsv2rgb = function () {\n var assign, assign$1, assign$2, assign$3, assign$4, assign$5;\n\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n args = unpack$i(args, 'hsv');\n var h = args[0];\n var s = args[1];\n var v = args[2];\n var r,g,b;\n v *= 255;\n if (s === 0) {\n r = g = b = v;\n } else {\n if (h === 360) { h = 0; }\n if (h > 360) { h -= 360; }\n if (h < 0) { h += 360; }\n h /= 60;\n\n var i = floor$1(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - s * f);\n var t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0: (assign = [v, t, p], r = assign[0], g = assign[1], b = assign[2]); break\n case 1: (assign$1 = [q, v, p], r = assign$1[0], g = assign$1[1], b = assign$1[2]); break\n case 2: (assign$2 = [p, v, t], r = assign$2[0], g = assign$2[1], b = assign$2[2]); break\n case 3: (assign$3 = [p, q, v], r = assign$3[0], g = assign$3[1], b = assign$3[2]); break\n case 4: (assign$4 = [t, p, v], r = assign$4[0], g = assign$4[1], b = assign$4[2]); break\n case 5: (assign$5 = [v, p, q], r = assign$5[0], g = assign$5[1], b = assign$5[2]); break\n }\n }\n return [r,g,b,args.length > 3?args[3]:1];\n };\n\n var hsv2rgb_1 = hsv2rgb;\n\n var unpack$j = utils.unpack;\n var type$8 = utils.type;\n\n\n\n\n\n\n Color_1.prototype.hsv = function() {\n return rgb2hsv(this._rgb);\n };\n\n chroma_1.hsv = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hsv']) ));\n };\n\n input.format.hsv = hsv2rgb_1;\n\n input.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$j(args, 'hsv');\n if (type$8(args) === 'array' && args.length === 3) {\n return 'hsv';\n }\n }\n });\n\n var labConstants = {\n // Corresponds roughly to RGB brighter/darker\n Kn: 18,\n\n // D65 standard referent\n Xn: 0.950470,\n Yn: 1,\n Zn: 1.088830,\n\n t0: 0.137931034, // 4 / 29\n t1: 0.206896552, // 6 / 29\n t2: 0.12841855, // 3 * t1 * t1\n t3: 0.008856452, // t1 * t1 * t1\n };\n\n var unpack$k = utils.unpack;\n var pow = Math.pow;\n\n var rgb2lab = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$k(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2xyz(r,g,b);\n var x = ref$1[0];\n var y = ref$1[1];\n var z = ref$1[2];\n var l = 116 * y - 16;\n return [l < 0 ? 0 : l, 500 * (x - y), 200 * (y - z)];\n };\n\n var rgb_xyz = function (r) {\n if ((r /= 255) <= 0.04045) { return r / 12.92; }\n return pow((r + 0.055) / 1.055, 2.4);\n };\n\n var xyz_lab = function (t) {\n if (t > labConstants.t3) { return pow(t, 1 / 3); }\n return t / labConstants.t2 + labConstants.t0;\n };\n\n var rgb2xyz = function (r,g,b) {\n r = rgb_xyz(r);\n g = rgb_xyz(g);\n b = rgb_xyz(b);\n var x = xyz_lab((0.4124564 * r + 0.3575761 * g + 0.1804375 * b) / labConstants.Xn);\n var y = xyz_lab((0.2126729 * r + 0.7151522 * g + 0.0721750 * b) / labConstants.Yn);\n var z = xyz_lab((0.0193339 * r + 0.1191920 * g + 0.9503041 * b) / labConstants.Zn);\n return [x,y,z];\n };\n\n var rgb2lab_1 = rgb2lab;\n\n var unpack$l = utils.unpack;\n var pow$1 = Math.pow;\n\n /*\n * L* [0..100]\n * a [-100..100]\n * b [-100..100]\n */\n var lab2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$l(args, 'lab');\n var l = args[0];\n var a = args[1];\n var b = args[2];\n var x,y,z, r,g,b_;\n\n y = (l + 16) / 116;\n x = isNaN(a) ? y : y + a / 500;\n z = isNaN(b) ? y : y - b / 200;\n\n y = labConstants.Yn * lab_xyz(y);\n x = labConstants.Xn * lab_xyz(x);\n z = labConstants.Zn * lab_xyz(z);\n\n r = xyz_rgb(3.2404542 * x - 1.5371385 * y - 0.4985314 * z); // D65 -> sRGB\n g = xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z);\n b_ = xyz_rgb(0.0556434 * x - 0.2040259 * y + 1.0572252 * z);\n\n return [r,g,b_,args.length > 3 ? args[3] : 1];\n };\n\n var xyz_rgb = function (r) {\n return 255 * (r <= 0.00304 ? 12.92 * r : 1.055 * pow$1(r, 1 / 2.4) - 0.055)\n };\n\n var lab_xyz = function (t) {\n return t > labConstants.t1 ? t * t * t : labConstants.t2 * (t - labConstants.t0)\n };\n\n var lab2rgb_1 = lab2rgb;\n\n var unpack$m = utils.unpack;\n var type$9 = utils.type;\n\n\n\n\n\n\n Color_1.prototype.lab = function() {\n return rgb2lab_1(this._rgb);\n };\n\n chroma_1.lab = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['lab']) ));\n };\n\n input.format.lab = lab2rgb_1;\n\n input.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$m(args, 'lab');\n if (type$9(args) === 'array' && args.length === 3) {\n return 'lab';\n }\n }\n });\n\n var unpack$n = utils.unpack;\n var RAD2DEG = utils.RAD2DEG;\n var sqrt$1 = Math.sqrt;\n var atan2 = Math.atan2;\n var round$4 = Math.round;\n\n var lab2lch = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$n(args, 'lab');\n var l = ref[0];\n var a = ref[1];\n var b = ref[2];\n var c = sqrt$1(a * a + b * b);\n var h = (atan2(b, a) * RAD2DEG + 360) % 360;\n if (round$4(c*10000) === 0) { h = Number.NaN; }\n return [l, c, h];\n };\n\n var lab2lch_1 = lab2lch;\n\n var unpack$o = utils.unpack;\n\n\n\n var rgb2lch = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$o(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n var ref$1 = rgb2lab_1(r,g,b);\n var l = ref$1[0];\n var a = ref$1[1];\n var b_ = ref$1[2];\n return lab2lch_1(l,a,b_);\n };\n\n var rgb2lch_1 = rgb2lch;\n\n var unpack$p = utils.unpack;\n var DEG2RAD = utils.DEG2RAD;\n var sin = Math.sin;\n var cos$1 = Math.cos;\n\n var lch2lab = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n /*\n Convert from a qualitative parameter h and a quantitative parameter l to a 24-bit pixel.\n These formulas were invented by David Dalrymple to obtain maximum contrast without going\n out of gamut if the parameters are in the range 0-1.\n\n A saturation multiplier was added by Gregor Aisch\n */\n var ref = unpack$p(args, 'lch');\n var l = ref[0];\n var c = ref[1];\n var h = ref[2];\n if (isNaN(h)) { h = 0; }\n h = h * DEG2RAD;\n return [l, cos$1(h) * c, sin(h) * c]\n };\n\n var lch2lab_1 = lch2lab;\n\n var unpack$q = utils.unpack;\n\n\n\n var lch2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$q(args, 'lch');\n var l = args[0];\n var c = args[1];\n var h = args[2];\n var ref = lch2lab_1 (l,c,h);\n var L = ref[0];\n var a = ref[1];\n var b_ = ref[2];\n var ref$1 = lab2rgb_1 (L,a,b_);\n var r = ref$1[0];\n var g = ref$1[1];\n var b = ref$1[2];\n return [r, g, b, args.length > 3 ? args[3] : 1];\n };\n\n var lch2rgb_1 = lch2rgb;\n\n var unpack$r = utils.unpack;\n\n\n var hcl2rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var hcl = unpack$r(args, 'hcl').reverse();\n return lch2rgb_1.apply(void 0, hcl);\n };\n\n var hcl2rgb_1 = hcl2rgb;\n\n var unpack$s = utils.unpack;\n var type$a = utils.type;\n\n\n\n\n\n\n Color_1.prototype.lch = function() { return rgb2lch_1(this._rgb); };\n Color_1.prototype.hcl = function() { return rgb2lch_1(this._rgb).reverse(); };\n\n chroma_1.lch = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['lch']) ));\n };\n chroma_1.hcl = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['hcl']) ));\n };\n\n input.format.lch = lch2rgb_1;\n input.format.hcl = hcl2rgb_1;\n\n ['lch','hcl'].forEach(function (m) { return input.autodetect.push({\n p: 2,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$s(args, m);\n if (type$a(args) === 'array' && args.length === 3) {\n return m;\n }\n }\n }); });\n\n /**\n \tX11 color names\n\n \thttp://www.w3.org/TR/css3-color/#svg-color\n */\n\n var w3cx11 = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflower: '#6495ed',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n laserlemon: '#ffff54',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrod: '#fafad2',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n maroon2: '#7f0000',\n maroon3: '#b03060',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n purple2: '#7f007f',\n purple3: '#a020f0',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n };\n\n var w3cx11_1 = w3cx11;\n\n var type$b = utils.type;\n\n\n\n\n\n Color_1.prototype.name = function() {\n var hex = rgb2hex_1(this._rgb, 'rgb');\n for (var i = 0, list = Object.keys(w3cx11_1); i < list.length; i += 1) {\n var n = list[i];\n\n if (w3cx11_1[n] === hex) { return n.toLowerCase(); }\n }\n return hex;\n };\n\n input.format.named = function (name) {\n name = name.toLowerCase();\n if (w3cx11_1[name]) { return hex2rgb_1(w3cx11_1[name]); }\n throw new Error('unknown color name: '+name);\n };\n\n input.autodetect.push({\n p: 5,\n test: function (h) {\n var rest = [], len = arguments.length - 1;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];\n\n if (!rest.length && type$b(h) === 'string' && w3cx11_1[h.toLowerCase()]) {\n return 'named';\n }\n }\n });\n\n var unpack$t = utils.unpack;\n\n var rgb2num = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var ref = unpack$t(args, 'rgb');\n var r = ref[0];\n var g = ref[1];\n var b = ref[2];\n return (r << 16) + (g << 8) + b;\n };\n\n var rgb2num_1 = rgb2num;\n\n var type$c = utils.type;\n\n var num2rgb = function (num) {\n if (type$c(num) == \"number\" && num >= 0 && num <= 0xFFFFFF) {\n var r = num >> 16;\n var g = (num >> 8) & 0xFF;\n var b = num & 0xFF;\n return [r,g,b,1];\n }\n throw new Error(\"unknown num color: \"+num);\n };\n\n var num2rgb_1 = num2rgb;\n\n var type$d = utils.type;\n\n\n\n Color_1.prototype.num = function() {\n return rgb2num_1(this._rgb);\n };\n\n chroma_1.num = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['num']) ));\n };\n\n input.format.num = num2rgb_1;\n\n input.autodetect.push({\n p: 5,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (args.length === 1 && type$d(args[0]) === 'number' && args[0] >= 0 && args[0] <= 0xFFFFFF) {\n return 'num';\n }\n }\n });\n\n var unpack$u = utils.unpack;\n var type$e = utils.type;\n var round$5 = Math.round;\n\n Color_1.prototype.rgb = function(rnd) {\n if ( rnd === void 0 ) rnd=true;\n\n if (rnd === false) { return this._rgb.slice(0,3); }\n return this._rgb.slice(0,3).map(round$5);\n };\n\n Color_1.prototype.rgba = function(rnd) {\n if ( rnd === void 0 ) rnd=true;\n\n return this._rgb.slice(0,4).map(function (v,i) {\n return i<3 ? (rnd === false ? v : round$5(v)) : v;\n });\n };\n\n chroma_1.rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['rgb']) ));\n };\n\n input.format.rgb = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgba = unpack$u(args, 'rgba');\n if (rgba[3] === undefined) { rgba[3] = 1; }\n return rgba;\n };\n\n input.autodetect.push({\n p: 3,\n test: function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n args = unpack$u(args, 'rgba');\n if (type$e(args) === 'array' && (args.length === 3 ||\n args.length === 4 && type$e(args[3]) == 'number' && args[3] >= 0 && args[3] <= 1)) {\n return 'rgb';\n }\n }\n });\n\n /*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n */\n\n var log = Math.log;\n\n var temperature2rgb = function (kelvin) {\n var temp = kelvin / 100;\n var r,g,b;\n if (temp < 66) {\n r = 255;\n g = -155.25485562709179 - 0.44596950469579133 * (g = temp-2) + 104.49216199393888 * log(g);\n b = temp < 20 ? 0 : -254.76935184120902 + 0.8274096064007395 * (b = temp-10) + 115.67994401066147 * log(b);\n } else {\n r = 351.97690566805693 + 0.114206453784165 * (r = temp-55) - 40.25366309332127 * log(r);\n g = 325.4494125711974 + 0.07943456536662342 * (g = temp-50) - 28.0852963507957 * log(g);\n b = 255;\n }\n return [r,g,b,1];\n };\n\n var temperature2rgb_1 = temperature2rgb;\n\n /*\n * Based on implementation by Neil Bartlett\n * https://github.com/neilbartlett/color-temperature\n **/\n\n\n var unpack$v = utils.unpack;\n var round$6 = Math.round;\n\n var rgb2temperature = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var rgb = unpack$v(args, 'rgb');\n var r = rgb[0], b = rgb[2];\n var minTemp = 1000;\n var maxTemp = 40000;\n var eps = 0.4;\n var temp;\n while (maxTemp - minTemp > eps) {\n temp = (maxTemp + minTemp) * 0.5;\n var rgb$1 = temperature2rgb_1(temp);\n if ((rgb$1[2] / rgb$1[0]) >= (b / r)) {\n maxTemp = temp;\n } else {\n minTemp = temp;\n }\n }\n return round$6(temp);\n };\n\n var rgb2temperature_1 = rgb2temperature;\n\n Color_1.prototype.temp =\n Color_1.prototype.kelvin =\n Color_1.prototype.temperature = function() {\n return rgb2temperature_1(this._rgb);\n };\n\n chroma_1.temp =\n chroma_1.kelvin =\n chroma_1.temperature = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return new (Function.prototype.bind.apply( Color_1, [ null ].concat( args, ['temp']) ));\n };\n\n input.format.temp =\n input.format.kelvin =\n input.format.temperature = temperature2rgb_1;\n\n var type$f = utils.type;\n\n Color_1.prototype.alpha = function(a, mutate) {\n if ( mutate === void 0 ) mutate=false;\n\n if (a !== undefined && type$f(a) === 'number') {\n if (mutate) {\n this._rgb[3] = a;\n return this;\n }\n return new Color_1([this._rgb[0], this._rgb[1], this._rgb[2], a], 'rgb');\n }\n return this._rgb[3];\n };\n\n Color_1.prototype.clipped = function() {\n return this._rgb._clipped || false;\n };\n\n Color_1.prototype.darken = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \tvar me = this;\n \tvar lab = me.lab();\n \tlab[0] -= labConstants.Kn * amount;\n \treturn new Color_1(lab, 'lab').alpha(me.alpha(), true);\n };\n\n Color_1.prototype.brighten = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \treturn this.darken(-amount);\n };\n\n Color_1.prototype.darker = Color_1.prototype.darken;\n Color_1.prototype.brighter = Color_1.prototype.brighten;\n\n Color_1.prototype.get = function(mc) {\n var ref = mc.split('.');\n var mode = ref[0];\n var channel = ref[1];\n var src = this[mode]();\n if (channel) {\n var i = mode.indexOf(channel);\n if (i > -1) { return src[i]; }\n throw new Error((\"unknown channel \" + channel + \" in mode \" + mode));\n } else {\n return src;\n }\n };\n\n var type$g = utils.type;\n var pow$2 = Math.pow;\n\n var EPS = 1e-7;\n var MAX_ITER = 20;\n\n Color_1.prototype.luminance = function(lum) {\n if (lum !== undefined && type$g(lum) === 'number') {\n if (lum === 0) {\n // return pure black\n return new Color_1([0,0,0,this._rgb[3]], 'rgb');\n }\n if (lum === 1) {\n // return pure white\n return new Color_1([255,255,255,this._rgb[3]], 'rgb');\n }\n // compute new color using...\n var cur_lum = this.luminance();\n var mode = 'rgb';\n var max_iter = MAX_ITER;\n\n var test = function (low, high) {\n var mid = low.interpolate(high, 0.5, mode);\n var lm = mid.luminance();\n if (Math.abs(lum - lm) < EPS || !max_iter--) {\n // close enough\n return mid;\n }\n return lm > lum ? test(low, mid) : test(mid, high);\n };\n\n var rgb = (cur_lum > lum ? test(new Color_1([0,0,0]), this) : test(this, new Color_1([255,255,255]))).rgb();\n return new Color_1(rgb.concat( [this._rgb[3]]));\n }\n return rgb2luminance.apply(void 0, (this._rgb).slice(0,3));\n };\n\n\n var rgb2luminance = function (r,g,b) {\n // relative luminance\n // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n r = luminance_x(r);\n g = luminance_x(g);\n b = luminance_x(b);\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n };\n\n var luminance_x = function (x) {\n x /= 255;\n return x <= 0.03928 ? x/12.92 : pow$2((x+0.055)/1.055, 2.4);\n };\n\n var interpolator = {};\n\n var type$h = utils.type;\n\n\n var mix = function (col1, col2, f) {\n if ( f === void 0 ) f=0.5;\n var rest = [], len = arguments.length - 3;\n while ( len-- > 0 ) rest[ len ] = arguments[ len + 3 ];\n\n var mode = rest[0] || 'lrgb';\n if (!interpolator[mode] && !rest.length) {\n // fall back to the first supported mode\n mode = Object.keys(interpolator)[0];\n }\n if (!interpolator[mode]) {\n throw new Error((\"interpolation mode \" + mode + \" is not defined\"));\n }\n if (type$h(col1) !== 'object') { col1 = new Color_1(col1); }\n if (type$h(col2) !== 'object') { col2 = new Color_1(col2); }\n return interpolator[mode](col1, col2, f)\n .alpha(col1.alpha() + f * (col2.alpha() - col1.alpha()));\n };\n\n Color_1.prototype.mix =\n Color_1.prototype.interpolate = function(col2, f) {\n \tif ( f === void 0 ) f=0.5;\n \tvar rest = [], len = arguments.length - 2;\n \twhile ( len-- > 0 ) rest[ len ] = arguments[ len + 2 ];\n\n \treturn mix.apply(void 0, [ this, col2, f ].concat( rest ));\n };\n\n Color_1.prototype.premultiply = function(mutate) {\n \tif ( mutate === void 0 ) mutate=false;\n\n \tvar rgb = this._rgb;\n \tvar a = rgb[3];\n \tif (mutate) {\n \t\tthis._rgb = [rgb[0]*a, rgb[1]*a, rgb[2]*a, a];\n \t\treturn this;\n \t} else {\n \t\treturn new Color_1([rgb[0]*a, rgb[1]*a, rgb[2]*a, a], 'rgb');\n \t}\n };\n\n Color_1.prototype.saturate = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \tvar me = this;\n \tvar lch = me.lch();\n \tlch[1] += labConstants.Kn * amount;\n \tif (lch[1] < 0) { lch[1] = 0; }\n \treturn new Color_1(lch, 'lch').alpha(me.alpha(), true);\n };\n\n Color_1.prototype.desaturate = function(amount) {\n \tif ( amount === void 0 ) amount=1;\n\n \treturn this.saturate(-amount);\n };\n\n var type$i = utils.type;\n\n Color_1.prototype.set = function(mc, value, mutate) {\n if ( mutate === void 0 ) mutate=false;\n\n var ref = mc.split('.');\n var mode = ref[0];\n var channel = ref[1];\n var src = this[mode]();\n if (channel) {\n var i = mode.indexOf(channel);\n if (i > -1) {\n if (type$i(value) == 'string') {\n switch(value.charAt(0)) {\n case '+': src[i] += +value; break;\n case '-': src[i] += +value; break;\n case '*': src[i] *= +(value.substr(1)); break;\n case '/': src[i] /= +(value.substr(1)); break;\n default: src[i] = +value;\n }\n } else if (type$i(value) === 'number') {\n src[i] = value;\n } else {\n throw new Error(\"unsupported value for Color.set\");\n }\n var out = new Color_1(src, mode);\n if (mutate) {\n this._rgb = out._rgb;\n return this;\n }\n return out;\n }\n throw new Error((\"unknown channel \" + channel + \" in mode \" + mode));\n } else {\n return src;\n }\n };\n\n var rgb$1 = function (col1, col2, f) {\n var xyz0 = col1._rgb;\n var xyz1 = col2._rgb;\n return new Color_1(\n xyz0[0] + f * (xyz1[0]-xyz0[0]),\n xyz0[1] + f * (xyz1[1]-xyz0[1]),\n xyz0[2] + f * (xyz1[2]-xyz0[2]),\n 'rgb'\n )\n };\n\n // register interpolator\n interpolator.rgb = rgb$1;\n\n var sqrt$2 = Math.sqrt;\n var pow$3 = Math.pow;\n\n var lrgb = function (col1, col2, f) {\n var ref = col1._rgb;\n var x1 = ref[0];\n var y1 = ref[1];\n var z1 = ref[2];\n var ref$1 = col2._rgb;\n var x2 = ref$1[0];\n var y2 = ref$1[1];\n var z2 = ref$1[2];\n return new Color_1(\n sqrt$2(pow$3(x1,2) * (1-f) + pow$3(x2,2) * f),\n sqrt$2(pow$3(y1,2) * (1-f) + pow$3(y2,2) * f),\n sqrt$2(pow$3(z1,2) * (1-f) + pow$3(z2,2) * f),\n 'rgb'\n )\n };\n\n // register interpolator\n interpolator.lrgb = lrgb;\n\n var lab$1 = function (col1, col2, f) {\n var xyz0 = col1.lab();\n var xyz1 = col2.lab();\n return new Color_1(\n xyz0[0] + f * (xyz1[0]-xyz0[0]),\n xyz0[1] + f * (xyz1[1]-xyz0[1]),\n xyz0[2] + f * (xyz1[2]-xyz0[2]),\n 'lab'\n )\n };\n\n // register interpolator\n interpolator.lab = lab$1;\n\n var _hsx = function (col1, col2, f, m) {\n var assign, assign$1;\n\n var xyz0, xyz1;\n if (m === 'hsl') {\n xyz0 = col1.hsl();\n xyz1 = col2.hsl();\n } else if (m === 'hsv') {\n xyz0 = col1.hsv();\n xyz1 = col2.hsv();\n } else if (m === 'hcg') {\n xyz0 = col1.hcg();\n xyz1 = col2.hcg();\n } else if (m === 'hsi') {\n xyz0 = col1.hsi();\n xyz1 = col2.hsi();\n } else if (m === 'lch' || m === 'hcl') {\n m = 'hcl';\n xyz0 = col1.hcl();\n xyz1 = col2.hcl();\n }\n\n var hue0, hue1, sat0, sat1, lbv0, lbv1;\n if (m.substr(0, 1) === 'h') {\n (assign = xyz0, hue0 = assign[0], sat0 = assign[1], lbv0 = assign[2]);\n (assign$1 = xyz1, hue1 = assign$1[0], sat1 = assign$1[1], lbv1 = assign$1[2]);\n }\n\n var sat, hue, lbv, dh;\n\n if (!isNaN(hue0) && !isNaN(hue1)) {\n // both colors have hue\n if (hue1 > hue0 && hue1 - hue0 > 180) {\n dh = hue1-(hue0+360);\n } else if (hue1 < hue0 && hue0 - hue1 > 180) {\n dh = hue1+360-hue0;\n } else{\n dh = hue1 - hue0;\n }\n hue = hue0 + f * dh;\n } else if (!isNaN(hue0)) {\n hue = hue0;\n if ((lbv1 == 1 || lbv1 == 0) && m != 'hsv') { sat = sat0; }\n } else if (!isNaN(hue1)) {\n hue = hue1;\n if ((lbv0 == 1 || lbv0 == 0) && m != 'hsv') { sat = sat1; }\n } else {\n hue = Number.NaN;\n }\n\n if (sat === undefined) { sat = sat0 + f * (sat1 - sat0); }\n lbv = lbv0 + f * (lbv1-lbv0);\n return new Color_1([hue, sat, lbv], m);\n };\n\n var lch$1 = function (col1, col2, f) {\n \treturn _hsx(col1, col2, f, 'lch');\n };\n\n // register interpolator\n interpolator.lch = lch$1;\n interpolator.hcl = lch$1;\n\n var num$1 = function (col1, col2, f) {\n var c1 = col1.num();\n var c2 = col2.num();\n return new Color_1(c1 + f * (c2-c1), 'num')\n };\n\n // register interpolator\n interpolator.num = num$1;\n\n var hcg$1 = function (col1, col2, f) {\n \treturn _hsx(col1, col2, f, 'hcg');\n };\n\n // register interpolator\n interpolator.hcg = hcg$1;\n\n var hsi$1 = function (col1, col2, f) {\n \treturn _hsx(col1, col2, f, 'hsi');\n };\n\n // register interpolator\n interpolator.hsi = hsi$1;\n\n var hsl$1 = function (col1, col2, f) {\n \treturn _hsx(col1, col2, f, 'hsl');\n };\n\n // register interpolator\n interpolator.hsl = hsl$1;\n\n var hsv$1 = function (col1, col2, f) {\n \treturn _hsx(col1, col2, f, 'hsv');\n };\n\n // register interpolator\n interpolator.hsv = hsv$1;\n\n var clip_rgb$2 = utils.clip_rgb;\n var pow$4 = Math.pow;\n var sqrt$3 = Math.sqrt;\n var PI$1 = Math.PI;\n var cos$2 = Math.cos;\n var sin$1 = Math.sin;\n var atan2$1 = Math.atan2;\n\n var average = function (colors, mode, weights) {\n if ( mode === void 0 ) mode='lrgb';\n if ( weights === void 0 ) weights=null;\n\n var l = colors.length;\n if (!weights) { weights = Array.from(new Array(l)).map(function () { return 1; }); }\n // normalize weights\n var k = l / weights.reduce(function(a, b) { return a + b; });\n weights.forEach(function (w,i) { weights[i] *= k; });\n // convert colors to Color objects\n colors = colors.map(function (c) { return new Color_1(c); });\n if (mode === 'lrgb') {\n return _average_lrgb(colors, weights)\n }\n var first = colors.shift();\n var xyz = first.get(mode);\n var cnt = [];\n var dx = 0;\n var dy = 0;\n // initial color\n for (var i=0; i<xyz.length; i++) {\n xyz[i] = (xyz[i] || 0) * weights[0];\n cnt.push(isNaN(xyz[i]) ? 0 : weights[0]);\n if (mode.charAt(i) === 'h' && !isNaN(xyz[i])) {\n var A = xyz[i] / 180 * PI$1;\n dx += cos$2(A) * weights[0];\n dy += sin$1(A) * weights[0];\n }\n }\n\n var alpha = first.alpha() * weights[0];\n colors.forEach(function (c,ci) {\n var xyz2 = c.get(mode);\n alpha += c.alpha() * weights[ci+1];\n for (var i=0; i<xyz.length; i++) {\n if (!isNaN(xyz2[i])) {\n cnt[i] += weights[ci+1];\n if (mode.charAt(i) === 'h') {\n var A = xyz2[i] / 180 * PI$1;\n dx += cos$2(A) * weights[ci+1];\n dy += sin$1(A) * weights[ci+1];\n } else {\n xyz[i] += xyz2[i] * weights[ci+1];\n }\n }\n }\n });\n\n for (var i$1=0; i$1<xyz.length; i$1++) {\n if (mode.charAt(i$1) === 'h') {\n var A$1 = atan2$1(dy / cnt[i$1], dx / cnt[i$1]) / PI$1 * 180;\n while (A$1 < 0) { A$1 += 360; }\n while (A$1 >= 360) { A$1 -= 360; }\n xyz[i$1] = A$1;\n } else {\n xyz[i$1] = xyz[i$1]/cnt[i$1];\n }\n }\n alpha /= l;\n return (new Color_1(xyz, mode)).alpha(alpha > 0.99999 ? 1 : alpha, true);\n };\n\n\n var _average_lrgb = function (colors, weights) {\n var l = colors.length;\n var xyz = [0,0,0,0];\n for (var i=0; i < colors.length; i++) {\n var col = colors[i];\n var f = weights[i] / l;\n var rgb = col._rgb;\n xyz[0] += pow$4(rgb[0],2) * f;\n xyz[1] += pow$4(rgb[1],2) * f;\n xyz[2] += pow$4(rgb[2],2) * f;\n xyz[3] += rgb[3] * f;\n }\n xyz[0] = sqrt$3(xyz[0]);\n xyz[1] = sqrt$3(xyz[1]);\n xyz[2] = sqrt$3(xyz[2]);\n if (xyz[3] > 0.9999999) { xyz[3] = 1; }\n return new Color_1(clip_rgb$2(xyz));\n };\n\n // minimal multi-purpose interface\n\n // @requires utils color analyze\n\n\n var type$j = utils.type;\n\n var pow$5 = Math.pow;\n\n var scale = function(colors) {\n\n // constructor\n var _mode = 'rgb';\n var _nacol = chroma_1('#ccc');\n var _spread = 0;\n // const _fixed = false;\n var _domain = [0, 1];\n var _pos = [];\n var _padding = [0,0];\n var _classes = false;\n var _colors = [];\n var _out = false;\n var _min = 0;\n var _max = 1;\n var _correctLightness = false;\n var _colorCache = {};\n var _useCache = true;\n var _gamma = 1;\n\n // private methods\n\n var setColors = function(colors) {\n colors = colors || ['#fff', '#000'];\n if (colors && type$j(colors) === 'string' && chroma_1.brewer &&\n chroma_1.brewer[colors.toLowerCase()]) {\n colors = chroma_1.brewer[colors.toLowerCase()];\n }\n if (type$j(colors) === 'array') {\n // handle single color\n if (colors.length === 1) {\n colors = [colors[0], colors[0]];\n }\n // make a copy of the colors\n colors = colors.slice(0);\n // convert to chroma classes\n for (var c=0; c<colors.length; c++) {\n colors[c] = chroma_1(colors[c]);\n }\n // auto-fill color position\n _pos.length = 0;\n for (var c$1=0; c$1<colors.length; c$1++) {\n _pos.push(c$1/(colors.length-1));\n }\n }\n resetCache();\n return _colors = colors;\n };\n\n var getClass = function(value) {\n if (_classes != null) {\n var n = _classes.length-1;\n var i = 0;\n while (i < n && value >= _classes[i]) {\n i++;\n }\n return i-1;\n }\n return 0;\n };\n\n var tMapLightness = function (t) { return t; };\n var tMapDomain = function (t) { return t; };\n\n // const classifyValue = function(value) {\n // let val = value;\n // if (_classes.length > 2) {\n // const n = _classes.length-1;\n // const i = getClass(value);\n // const minc = _classes[0] + ((_classes[1]-_classes[0]) * (0 + (_spread * 0.5))); // center of 1st class\n // const maxc = _classes[n-1] + ((_classes[n]-_classes[n-1]) * (1 - (_spread * 0.5))); // center of last class\n // val = _min + ((((_classes[i] + ((_classes[i+1] - _classes[i]) * 0.5)) - minc) / (maxc-minc)) * (_max - _min));\n // }\n // return val;\n // };\n\n var getColor = function(val, bypassMap) {\n var col, t;\n if (bypassMap == null) { bypassMap = false; }\n if (isNaN(val) || (val === null)) { return _nacol; }\n if (!bypassMap) {\n if (_classes && (_classes.length > 2)) {\n // find the class\n var c = getClass(val);\n t = c / (_classes.length-2);\n } else if (_max !== _min) {\n // just interpolate between min/max\n t = (val - _min) / (_max - _min);\n } else {\n t = 1;\n }\n } else {\n t = val;\n }\n\n // domain map\n t = tMapDomain(t);\n\n if (!bypassMap) {\n t = tMapLightness(t); // lightness correction\n }\n\n if (_gamma !== 1) { t = pow$5(t, _gamma); }\n\n t = _padding[0] + (t * (1 - _padding[0] - _padding[1]));\n\n t = Math.min(1, Math.max(0, t));\n\n var k = Math.floor(t * 10000);\n\n if (_useCache && _colorCache[k]) {\n col = _colorCache[k];\n } else {\n if (type$j(_colors) === 'array') {\n //for i in [0.._pos.length-1]\n for (var i=0; i<_pos.length; i++) {\n var p = _pos[i];\n if (t <= p) {\n col = _colors[i];\n break;\n }\n if ((t >= p) && (i === (_pos.length-1))) {\n col = _colors[i];\n break;\n }\n if (t > p && t < _pos[i+1]) {\n t = (t-p)/(_pos[i+1]-p);\n col = chroma_1.interpolate(_colors[i], _colors[i+1], t, _mode);\n break;\n }\n }\n } else if (type$j(_colors) === 'function') {\n col = _colors(t);\n }\n if (_useCache) { _colorCache[k] = col; }\n }\n return col;\n };\n\n var resetCache = function () { return _colorCache = {}; };\n\n setColors(colors);\n\n // public interface\n\n var f = function(v) {\n var c = chroma_1(getColor(v));\n if (_out && c[_out]) { return c[_out](); } else { return c; }\n };\n\n f.classes = function(classes) {\n if (classes != null) {\n if (type$j(classes) === 'array') {\n _classes = classes;\n _domain = [classes[0], classes[classes.length-1]];\n } else {\n var d = chroma_1.analyze(_domain);\n if (classes === 0) {\n _classes = [d.min, d.max];\n } else {\n _classes = chroma_1.limits(d, 'e', classes);\n }\n }\n return f;\n }\n return _classes;\n };\n\n\n f.domain = function(domain) {\n if (!arguments.length) {\n return _domain;\n }\n _min = domain[0];\n _max = domain[domain.length-1];\n _pos = [];\n var k = _colors.length;\n if ((domain.length === k) && (_min !== _max)) {\n // update positions\n for (var i = 0, list = Array.from(domain); i < list.length; i += 1) {\n var d = list[i];\n\n _pos.push((d-_min) / (_max-_min));\n }\n } else {\n for (var c=0; c<k; c++) {\n _pos.push(c/(k-1));\n }\n if (domain.length > 2) {\n // set domain map\n var tOut = domain.map(function (d,i) { return i/(domain.length-1); });\n var tBreaks = domain.map(function (d) { return (d - _min) / (_max - _min); });\n if (!tBreaks.every(function (val, i) { return tOut[i] === val; })) {\n tMapDomain = function (t) {\n if (t <= 0 || t >= 1) { return t; }\n var i = 0;\n while (t >= tBreaks[i+1]) { i++; }\n var f = (t - tBreaks[i]) / (tBreaks[i+1] - tBreaks[i]);\n var out = tOut[i] + f * (tOut[i+1] - tOut[i]);\n return out;\n };\n }\n\n }\n }\n _domain = [_min, _max];\n return f;\n };\n\n f.mode = function(_m) {\n if (!arguments.length) {\n return _mode;\n }\n _mode = _m;\n resetCache();\n return f;\n };\n\n f.range = function(colors, _pos) {\n setColors(colors, _pos);\n return f;\n };\n\n f.out = function(_o) {\n _out = _o;\n return f;\n };\n\n f.spread = function(val) {\n if (!arguments.length) {\n return _spread;\n }\n _spread = val;\n return f;\n };\n\n f.correctLightness = function(v) {\n if (v == null) { v = true; }\n _correctLightness = v;\n resetCache();\n if (_correctLightness) {\n tMapLightness = function(t) {\n var L0 = getColor(0, true).lab()[0];\n var L1 = getColor(1, true).lab()[0];\n var pol = L0 > L1;\n var L_actual = getColor(t, true).lab()[0];\n var L_ideal = L0 + ((L1 - L0) * t);\n var L_diff = L_actual - L_ideal;\n var t0 = 0;\n var t1 = 1;\n var max_iter = 20;\n while ((Math.abs(L_diff) > 1e-2) && (max_iter-- > 0)) {\n (function() {\n if (pol) { L_diff *= -1; }\n if (L_diff < 0) {\n t0 = t;\n t += (t1 - t) * 0.5;\n } else {\n t1 = t;\n t += (t0 - t) * 0.5;\n }\n L_actual = getColor(t, true).lab()[0];\n return L_diff = L_actual - L_ideal;\n })();\n }\n return t;\n };\n } else {\n tMapLightness = function (t) { return t; };\n }\n return f;\n };\n\n f.padding = function(p) {\n if (p != null) {\n if (type$j(p) === 'number') {\n p = [p,p];\n }\n _padding = p;\n return f;\n } else {\n return _padding;\n }\n };\n\n f.colors = function(numColors, out) {\n // If no arguments are given, return the original colors that were provided\n if (arguments.length < 2) { out = 'hex'; }\n var result = [];\n\n if (arguments.length === 0) {\n result = _colors.slice(0);\n\n } else if (numColors === 1) {\n result = [f(0.5)];\n\n } else if (numColors > 1) {\n var dm = _domain[0];\n var dd = _domain[1] - dm;\n result = __range__(0, numColors, false).map(function (i) { return f( dm + ((i/(numColors-1)) * dd) ); });\n\n } else { // returns all colors based on the defined classes\n colors = [];\n var samples = [];\n if (_classes && (_classes.length > 2)) {\n for (var i = 1, end = _classes.length, asc = 1 <= end; asc ? i < end : i > end; asc ? i++ : i--) {\n samples.push((_classes[i-1]+_classes[i])*0.5);\n }\n } else {\n samples = _domain;\n }\n result = samples.map(function (v) { return f(v); });\n }\n\n if (chroma_1[out]) {\n result = result.map(function (c) { return c[out](); });\n }\n return result;\n };\n\n f.cache = function(c) {\n if (c != null) {\n _useCache = c;\n return f;\n } else {\n return _useCache;\n }\n };\n\n f.gamma = function(g) {\n if (g != null) {\n _gamma = g;\n return f;\n } else {\n return _gamma;\n }\n };\n\n f.nodata = function(d) {\n if (d != null) {\n _nacol = chroma_1(d);\n return f;\n } else {\n return _nacol;\n }\n };\n\n return f;\n };\n\n function __range__(left, right, inclusive) {\n var range = [];\n var ascending = left < right;\n var end = !inclusive ? right : ascending ? right + 1 : right - 1;\n for (var i = left; ascending ? i < end : i > end; ascending ? i++ : i--) {\n range.push(i);\n }\n return range;\n }\n\n //\n // interpolates between a set of colors uzing a bezier spline\n //\n\n // @requires utils lab\n\n\n\n\n var bezier = function(colors) {\n var assign, assign$1, assign$2;\n\n var I, lab0, lab1, lab2;\n colors = colors.map(function (c) { return new Color_1(c); });\n if (colors.length === 2) {\n // linear interpolation\n (assign = colors.map(function (c) { return c.lab(); }), lab0 = assign[0], lab1 = assign[1]);\n I = function(t) {\n var lab = ([0, 1, 2].map(function (i) { return lab0[i] + (t * (lab1[i] - lab0[i])); }));\n return new Color_1(lab, 'lab');\n };\n } else if (colors.length === 3) {\n // quadratic bezier interpolation\n (assign$1 = colors.map(function (c) { return c.lab(); }), lab0 = assign$1[0], lab1 = assign$1[1], lab2 = assign$1[2]);\n I = function(t) {\n var lab = ([0, 1, 2].map(function (i) { return ((1-t)*(1-t) * lab0[i]) + (2 * (1-t) * t * lab1[i]) + (t * t * lab2[i]); }));\n return new Color_1(lab, 'lab');\n };\n } else if (colors.length === 4) {\n // cubic bezier interpolation\n var lab3;\n (assign$2 = colors.map(function (c) { return c.lab(); }), lab0 = assign$2[0], lab1 = assign$2[1], lab2 = assign$2[2], lab3 = assign$2[3]);\n I = function(t) {\n var lab = ([0, 1, 2].map(function (i) { return ((1-t)*(1-t)*(1-t) * lab0[i]) + (3 * (1-t) * (1-t) * t * lab1[i]) + (3 * (1-t) * t * t * lab2[i]) + (t*t*t * lab3[i]); }));\n return new Color_1(lab, 'lab');\n };\n } else if (colors.length === 5) {\n var I0 = bezier(colors.slice(0, 3));\n var I1 = bezier(colors.slice(2, 5));\n I = function(t) {\n if (t < 0.5) {\n return I0(t*2);\n } else {\n return I1((t-0.5)*2);\n }\n };\n }\n return I;\n };\n\n var bezier_1 = function (colors) {\n var f = bezier(colors);\n f.scale = function () { return scale(f); };\n return f;\n };\n\n /*\n * interpolates between a set of colors uzing a bezier spline\n * blend mode formulas taken from http://www.venture-ware.com/kevin/coding/lets-learn-math-photoshop-blend-modes/\n */\n\n\n\n\n var blend = function (bottom, top, mode) {\n if (!blend[mode]) {\n throw new Error('unknown blend mode ' + mode);\n }\n return blend[mode](bottom, top);\n };\n\n var blend_f = function (f) { return function (bottom,top) {\n var c0 = chroma_1(top).rgb();\n var c1 = chroma_1(bottom).rgb();\n return chroma_1.rgb(f(c0, c1));\n }; };\n\n var each = function (f) { return function (c0, c1) {\n var out = [];\n out[0] = f(c0[0], c1[0]);\n out[1] = f(c0[1], c1[1]);\n out[2] = f(c0[2], c1[2]);\n return out;\n }; };\n\n var normal = function (a) { return a; };\n var multiply = function (a,b) { return a * b / 255; };\n var darken$1 = function (a,b) { return a > b ? b : a; };\n var lighten = function (a,b) { return a > b ? a : b; };\n var screen = function (a,b) { return 255 * (1 - (1-a/255) * (1-b/255)); };\n var overlay = function (a,b) { return b < 128 ? 2 * a * b / 255 : 255 * (1 - 2 * (1 - a / 255 ) * ( 1 - b / 255 )); };\n var burn = function (a,b) { return 255 * (1 - (1 - b / 255) / (a/255)); };\n var dodge = function (a,b) {\n if (a === 255) { return 255; }\n a = 255 * (b / 255) / (1 - a / 255);\n return a > 255 ? 255 : a\n };\n\n // # add = (a,b) ->\n // # if (a + b > 255) then 255 else a + b\n\n blend.normal = blend_f(each(normal));\n blend.multiply = blend_f(each(multiply));\n blend.screen = blend_f(each(screen));\n blend.overlay = blend_f(each(overlay));\n blend.darken = blend_f(each(darken$1));\n blend.lighten = blend_f(each(lighten));\n blend.dodge = blend_f(each(dodge));\n blend.burn = blend_f(each(burn));\n // blend.add = blend_f(each(add));\n\n var blend_1 = blend;\n\n // cubehelix interpolation\n // based on D.A. Green \"A colour scheme for the display of astronomical intensity images\"\n // http://astron-soc.in/bulletin/11June/289392011.pdf\n\n var type$k = utils.type;\n var clip_rgb$3 = utils.clip_rgb;\n var TWOPI$2 = utils.TWOPI;\n var pow$6 = Math.pow;\n var sin$2 = Math.sin;\n var cos$3 = Math.cos;\n\n\n var cubehelix = function(start, rotations, hue, gamma, lightness) {\n if ( start === void 0 ) start=300;\n if ( rotations === void 0 ) rotations=-1.5;\n if ( hue === void 0 ) hue=1;\n if ( gamma === void 0 ) gamma=1;\n if ( lightness === void 0 ) lightness=[0,1];\n\n var dh = 0, dl;\n if (type$k(lightness) === 'array') {\n dl = lightness[1] - lightness[0];\n } else {\n dl = 0;\n lightness = [lightness, lightness];\n }\n\n var f = function(fract) {\n var a = TWOPI$2 * (((start+120)/360) + (rotations * fract));\n var l = pow$6(lightness[0] + (dl * fract), gamma);\n var h = dh !== 0 ? hue[0] + (fract * dh) : hue;\n var amp = (h * l * (1-l)) / 2;\n var cos_a = cos$3(a);\n var sin_a = sin$2(a);\n var r = l + (amp * ((-0.14861 * cos_a) + (1.78277* sin_a)));\n var g = l + (amp * ((-0.29227 * cos_a) - (0.90649* sin_a)));\n var b = l + (amp * (+1.97294 * cos_a));\n return chroma_1(clip_rgb$3([r*255,g*255,b*255,1]));\n };\n\n f.start = function(s) {\n if ((s == null)) { return start; }\n start = s;\n return f;\n };\n\n f.rotations = function(r) {\n if ((r == null)) { return rotations; }\n rotations = r;\n return f;\n };\n\n f.gamma = function(g) {\n if ((g == null)) { return gamma; }\n gamma = g;\n return f;\n };\n\n f.hue = function(h) {\n if ((h == null)) { return hue; }\n hue = h;\n if (type$k(hue) === 'array') {\n dh = hue[1] - hue[0];\n if (dh === 0) { hue = hue[1]; }\n } else {\n dh = 0;\n }\n return f;\n };\n\n f.lightness = function(h) {\n if ((h == null)) { return lightness; }\n if (type$k(h) === 'array') {\n lightness = h;\n dl = h[1] - h[0];\n } else {\n lightness = [h,h];\n dl = 0;\n }\n return f;\n };\n\n f.scale = function () { return chroma_1.scale(f); };\n\n f.hue(hue);\n\n return f;\n };\n\n var digits = '0123456789abcdef';\n\n var floor$2 = Math.floor;\n var random = Math.random;\n\n var random_1 = function () {\n var code = '#';\n for (var i=0; i<6; i++) {\n code += digits.charAt(floor$2(random() * 16));\n }\n return new Color_1(code, 'hex');\n };\n\n var log$1 = Math.log;\n var pow$7 = Math.pow;\n var floor$3 = Math.floor;\n var abs = Math.abs;\n\n\n var analyze = function (data, key) {\n if ( key === void 0 ) key=null;\n\n var r = {\n min: Number.MAX_VALUE,\n max: Number.MAX_VALUE*-1,\n sum: 0,\n values: [],\n count: 0\n };\n if (type(data) === 'object') {\n data = Object.values(data);\n }\n data.forEach(function (val) {\n if (key && type(val) === 'object') { val = val[key]; }\n if (val !== undefined && val !== null && !isNaN(val)) {\n r.values.push(val);\n r.sum += val;\n if (val < r.min) { r.min = val; }\n if (val > r.max) { r.max = val; }\n r.count += 1;\n }\n });\n\n r.domain = [r.min, r.max];\n\n r.limits = function (mode, num) { return limits(r, mode, num); };\n\n return r;\n };\n\n\n var limits = function (data, mode, num) {\n if ( mode === void 0 ) mode='equal';\n if ( num === void 0 ) num=7;\n\n if (type(data) == 'array') {\n data = analyze(data);\n }\n var min = data.min;\n var max = data.max;\n var values = data.values.sort(function (a,b) { return a-b; });\n\n if (num === 1) { return [min,max]; }\n\n var limits = [];\n\n if (mode.substr(0,1) === 'c') { // continuous\n limits.push(min);\n limits.push(max);\n }\n\n if (mode.substr(0,1) === 'e') { // equal interval\n limits.push(min);\n for (var i=1; i<num; i++) {\n limits.push(min+((i/num)*(max-min)));\n }\n limits.push(max);\n }\n\n else if (mode.substr(0,1) === 'l') { // log scale\n if (min <= 0) {\n throw new Error('Logarithmic scales are only possible for values > 0');\n }\n var min_log = Math.LOG10E * log$1(min);\n var max_log = Math.LOG10E * log$1(max);\n limits.push(min);\n for (var i$1=1; i$1<num; i$1++) {\n limits.push(pow$7(10, min_log + ((i$1/num) * (max_log - min_log))));\n }\n limits.push(max);\n }\n\n else if (mode.substr(0,1) === 'q') { // quantile scale\n limits.push(min);\n for (var i$2=1; i$2<num; i$2++) {\n var p = ((values.length-1) * i$2)/num;\n var pb = floor$3(p);\n if (pb === p) {\n limits.push(values[pb]);\n } else { // p > pb\n var pr = p - pb;\n limits.push((values[pb]*(1-pr)) + (values[pb+1]*pr));\n }\n }\n limits.push(max);\n\n }\n\n else if (mode.substr(0,1) === 'k') { // k-means clustering\n /*\n implementation based on\n http://code.google.com/p/figue/source/browse/trunk/figue.js#336\n simplified for 1-d input values\n */\n var cluster;\n var n = values.length;\n var assignments = new Array(n);\n var clusterSizes = new Array(num);\n var repeat = true;\n var nb_iters = 0;\n var centroids = null;\n\n // get seed values\n centroids = [];\n centroids.push(min);\n for (var i$3=1; i$3<num; i$3++) {\n centroids.push(min + ((i$3/num) * (max-min)));\n }\n centroids.push(max);\n\n while (repeat) {\n // assignment step\n for (var j=0; j<num; j++) {\n clusterSizes[j] = 0;\n }\n for (var i$4=0; i$4<n; i$4++) {\n var value = values[i$4];\n var mindist = Number.MAX_VALUE;\n var best = (void 0);\n for (var j$1=0; j$1<num; j$1++) {\n var dist = abs(centroids[j$1]-value);\n if (dist < mindist) {\n mindist = dist;\n best = j$1;\n }\n clusterSizes[best]++;\n assignments[i$4] = best;\n }\n }\n\n // update centroids step\n var newCentroids = new Array(num);\n for (var j$2=0; j$2<num; j$2++) {\n newCentroids[j$2] = null;\n }\n for (var i$5=0; i$5<n; i$5++) {\n cluster = assignments[i$5];\n if (newCentroids[cluster] === null) {\n newCentroids[cluster] = values[i$5];\n } else {\n newCentroids[cluster] += values[i$5];\n }\n }\n for (var j$3=0; j$3<num; j$3++) {\n newCentroids[j$3] *= 1/clusterSizes[j$3];\n }\n\n // check convergence\n repeat = false;\n for (var j$4=0; j$4<num; j$4++) {\n if (newCentroids[j$4] !== centroids[j$4]) {\n repeat = true;\n break;\n }\n }\n\n centroids = newCentroids;\n nb_iters++;\n\n if (nb_iters > 200) {\n repeat = false;\n }\n }\n\n // finished k-means clustering\n // the next part is borrowed from gabrielflor.it\n var kClusters = {};\n for (var j$5=0; j$5<num; j$5++) {\n kClusters[j$5] = [];\n }\n for (var i$6=0; i$6<n; i$6++) {\n cluster = assignments[i$6];\n kClusters[cluster].push(values[i$6]);\n }\n var tmpKMeansBreaks = [];\n for (var j$6=0; j$6<num; j$6++) {\n tmpKMeansBreaks.push(kClusters[j$6][0]);\n tmpKMeansBreaks.push(kClusters[j$6][kClusters[j$6].length-1]);\n }\n tmpKMeansBreaks = tmpKMeansBreaks.sort(function (a,b){ return a-b; });\n limits.push(tmpKMeansBreaks[0]);\n for (var i$7=1; i$7 < tmpKMeansBreaks.length; i$7+= 2) {\n var v = tmpKMeansBreaks[i$7];\n if (!isNaN(v) && (limits.indexOf(v) === -1)) {\n limits.push(v);\n }\n }\n }\n return limits;\n };\n\n var analyze_1 = {analyze: analyze, limits: limits};\n\n var contrast = function (a, b) {\n // WCAG contrast ratio\n // see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef\n a = new Color_1(a);\n b = new Color_1(b);\n var l1 = a.luminance();\n var l2 = b.luminance();\n return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);\n };\n\n var sqrt$4 = Math.sqrt;\n var atan2$2 = Math.atan2;\n var abs$1 = Math.abs;\n var cos$4 = Math.cos;\n var PI$2 = Math.PI;\n\n var deltaE = function(a, b, L, C) {\n if ( L === void 0 ) L=1;\n if ( C === void 0 ) C=1;\n\n // Delta E (CMC)\n // see http://www.brucelindbloom.com/index.html?Eqn_DeltaE_CMC.html\n a = new Color_1(a);\n b = new Color_1(b);\n var ref = Array.from(a.lab());\n var L1 = ref[0];\n var a1 = ref[1];\n var b1 = ref[2];\n var ref$1 = Array.from(b.lab());\n var L2 = ref$1[0];\n var a2 = ref$1[1];\n var b2 = ref$1[2];\n var c1 = sqrt$4((a1 * a1) + (b1 * b1));\n var c2 = sqrt$4((a2 * a2) + (b2 * b2));\n var sl = L1 < 16.0 ? 0.511 : (0.040975 * L1) / (1.0 + (0.01765 * L1));\n var sc = ((0.0638 * c1) / (1.0 + (0.0131 * c1))) + 0.638;\n var h1 = c1 < 0.000001 ? 0.0 : (atan2$2(b1, a1) * 180.0) / PI$2;\n while (h1 < 0) { h1 += 360; }\n while (h1 >= 360) { h1 -= 360; }\n var t = (h1 >= 164.0) && (h1 <= 345.0) ? (0.56 + abs$1(0.2 * cos$4((PI$2 * (h1 + 168.0)) / 180.0))) : (0.36 + abs$1(0.4 * cos$4((PI$2 * (h1 + 35.0)) / 180.0)));\n var c4 = c1 * c1 * c1 * c1;\n var f = sqrt$4(c4 / (c4 + 1900.0));\n var sh = sc * (((f * t) + 1.0) - f);\n var delL = L1 - L2;\n var delC = c1 - c2;\n var delA = a1 - a2;\n var delB = b1 - b2;\n var dH2 = ((delA * delA) + (delB * delB)) - (delC * delC);\n var v1 = delL / (L * sl);\n var v2 = delC / (C * sc);\n var v3 = sh;\n return sqrt$4((v1 * v1) + (v2 * v2) + (dH2 / (v3 * v3)));\n };\n\n // simple Euclidean distance\n var distance = function(a, b, mode) {\n if ( mode === void 0 ) mode='lab';\n\n // Delta E (CIE 1976)\n // see http://www.brucelindbloom.com/index.html?Equations.html\n a = new Color_1(a);\n b = new Color_1(b);\n var l1 = a.get(mode);\n var l2 = b.get(mode);\n var sum_sq = 0;\n for (var i in l1) {\n var d = (l1[i] || 0) - (l2[i] || 0);\n sum_sq += d*d;\n }\n return Math.sqrt(sum_sq);\n };\n\n var valid = function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n try {\n new (Function.prototype.bind.apply( Color_1, [ null ].concat( args) ));\n return true;\n } catch (e) {\n return false;\n }\n };\n\n // some pre-defined color scales:\n\n\n\n\n var scales = {\n \tcool: function cool() { return scale([chroma_1.hsl(180,1,.9), chroma_1.hsl(250,.7,.4)]) },\n \thot: function hot() { return scale(['#000','#f00','#ff0','#fff'], [0,.25,.75,1]).mode('rgb') }\n };\n\n /**\n ColorBrewer colors for chroma.js\n\n Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The\n Pennsylvania State University.\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 http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software distributed\n under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n CONDITIONS OF ANY KIND, either express or implied. See the License for the\n specific language governing permissions and limitations under the License.\n */\n\n var colorbrewer = {\n // sequential\n OrRd: ['#fff7ec', '#fee8c8', '#fdd49e', '#fdbb84', '#fc8d59', '#ef6548', '#d7301f', '#b30000', '#7f0000'],\n PuBu: ['#fff7fb', '#ece7f2', '#d0d1e6', '#a6bddb', '#74a9cf', '#3690c0', '#0570b0', '#045a8d', '#023858'],\n BuPu: ['#f7fcfd', '#e0ecf4', '#bfd3e6', '#9ebcda', '#8c96c6', '#8c6bb1', '#88419d', '#810f7c', '#4d004b'],\n Oranges: ['#fff5eb', '#fee6ce', '#fdd0a2', '#fdae6b', '#fd8d3c', '#f16913', '#d94801', '#a63603', '#7f2704'],\n BuGn: ['#f7fcfd', '#e5f5f9', '#ccece6', '#99d8c9', '#66c2a4', '#41ae76', '#238b45', '#006d2c', '#00441b'],\n YlOrBr: ['#ffffe5', '#fff7bc', '#fee391', '#fec44f', '#fe9929', '#ec7014', '#cc4c02', '#993404', '#662506'],\n YlGn: ['#ffffe5', '#f7fcb9', '#d9f0a3', '#addd8e', '#78c679', '#41ab5d', '#238443', '#006837', '#004529'],\n Reds: ['#fff5f0', '#fee0d2', '#fcbba1', '#fc9272', '#fb6a4a', '#ef3b2c', '#cb181d', '#a50f15', '#67000d'],\n RdPu: ['#fff7f3', '#fde0dd', '#fcc5c0', '#fa9fb5', '#f768a1', '#dd3497', '#ae017e', '#7a0177', '#49006a'],\n Greens: ['#f7fcf5', '#e5f5e0', '#c7e9c0', '#a1d99b', '#74c476', '#41ab5d', '#238b45', '#006d2c', '#00441b'],\n YlGnBu: ['#ffffd9', '#edf8b1', '#c7e9b4', '#7fcdbb', '#41b6c4', '#1d91c0', '#225ea8', '#253494', '#081d58'],\n Purples: ['#fcfbfd', '#efedf5', '#dadaeb', '#bcbddc', '#9e9ac8', '#807dba', '#6a51a3', '#54278f', '#3f007d'],\n GnBu: ['#f7fcf0', '#e0f3db', '#ccebc5', '#a8ddb5', '#7bccc4', '#4eb3d3', '#2b8cbe', '#0868ac', '#084081'],\n Greys: ['#ffffff', '#f0f0f0', '#d9d9d9', '#bdbdbd', '#969696', '#737373', '#525252', '#252525', '#000000'],\n YlOrRd: ['#ffffcc', '#ffeda0', '#fed976', '#feb24c', '#fd8d3c', '#fc4e2a', '#e31a1c', '#bd0026', '#800026'],\n PuRd: ['#f7f4f9', '#e7e1ef', '#d4b9da', '#c994c7', '#df65b0', '#e7298a', '#ce1256', '#980043', '#67001f'],\n Blues: ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b'],\n PuBuGn: ['#fff7fb', '#ece2f0', '#d0d1e6', '#a6bddb', '#67a9cf', '#3690c0', '#02818a', '#016c59', '#014636'],\n Viridis: ['#440154', '#482777', '#3f4a8a', '#31678e', '#26838f', '#1f9d8a', '#6cce5a', '#b6de2b', '#fee825'],\n\n // diverging\n\n Spectral: ['#9e0142', '#d53e4f', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#e6f598', '#abdda4', '#66c2a5', '#3288bd', '#5e4fa2'],\n RdYlGn: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'],\n RdBu: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#f7f7f7', '#d1e5f0', '#92c5de', '#4393c3', '#2166ac', '#053061'],\n PiYG: ['#8e0152', '#c51b7d', '#de77ae', '#f1b6da', '#fde0ef', '#f7f7f7', '#e6f5d0', '#b8e186', '#7fbc41', '#4d9221', '#276419'],\n PRGn: ['#40004b', '#762a83', '#9970ab', '#c2a5cf', '#e7d4e8', '#f7f7f7', '#d9f0d3', '#a6dba0', '#5aae61', '#1b7837', '#00441b'],\n RdYlBu: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee090', '#ffffbf', '#e0f3f8', '#abd9e9', '#74add1', '#4575b4', '#313695'],\n BrBG: ['#543005', '#8c510a', '#bf812d', '#dfc27d', '#f6e8c3', '#f5f5f5', '#c7eae5', '#80cdc1', '#35978f', '#01665e', '#003c30'],\n RdGy: ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#fddbc7', '#ffffff', '#e0e0e0', '#bababa', '#878787', '#4d4d4d', '#1a1a1a'],\n PuOr: ['#7f3b08', '#b35806', '#e08214', '#fdb863', '#fee0b6', '#f7f7f7', '#d8daeb', '#b2abd2', '#8073ac', '#542788', '#2d004b'],\n\n // qualitative\n\n Set2: ['#66c2a5', '#fc8d62', '#8da0cb', '#e78ac3', '#a6d854', '#ffd92f', '#e5c494', '#b3b3b3'],\n Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666'],\n Set1: ['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00', '#ffff33', '#a65628', '#f781bf', '#999999'],\n Set3: ['#8dd3c7', '#ffffb3', '#bebada', '#fb8072', '#80b1d3', '#fdb462', '#b3de69', '#fccde5', '#d9d9d9', '#bc80bd', '#ccebc5', '#ffed6f'],\n Dark2: ['#1b9e77', '#d95f02', '#7570b3', '#e7298a', '#66a61e', '#e6ab02', '#a6761d', '#666666'],\n Paired: ['#a6cee3', '#1f78b4', '#b2df8a', '#33a02c', '#fb9a99', '#e31a1c', '#fdbf6f', '#ff7f00', '#cab2d6', '#6a3d9a', '#ffff99', '#b15928'],\n Pastel2: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc'],\n Pastel1: ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2'],\n };\n\n // add lowercase aliases for case-insensitive matches\n for (var i$1 = 0, list$1 = Object.keys(colorbrewer); i$1 < list$1.length; i$1 += 1) {\n var key = list$1[i$1];\n\n colorbrewer[key.toLowerCase()] = colorbrewer[key];\n }\n\n var colorbrewer_1 = colorbrewer;\n\n // feel free to comment out anything to rollup\n // a smaller chroma.js built\n\n // io --> convert colors\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // operators --> modify existing Colors\n\n\n\n\n\n\n\n\n\n\n // interpolators\n\n\n\n\n\n\n\n\n\n\n // generators -- > create new colors\n chroma_1.average = average;\n chroma_1.bezier = bezier_1;\n chroma_1.blend = blend_1;\n chroma_1.cubehelix = cubehelix;\n chroma_1.mix = chroma_1.interpolate = mix;\n chroma_1.random = random_1;\n chroma_1.scale = scale;\n\n // other utility methods\n chroma_1.analyze = analyze_1.analyze;\n chroma_1.contrast = contrast;\n chroma_1.deltaE = deltaE;\n chroma_1.distance = distance;\n chroma_1.limits = analyze_1.limits;\n chroma_1.valid = valid;\n\n // scale\n chroma_1.scales = scales;\n\n // colors\n chroma_1.colors = w3cx11_1;\n chroma_1.brewer = colorbrewer_1;\n\n var chroma_js = chroma_1;\n\n return chroma_js;\n\n})));\n"],"names":["module","exports","limit","x","min","max","classToType","i","list","length","name","toLowerCase","type","obj","Object","prototype","toString","call","PI","Math","utils","clip_rgb","rgb","_clipped","_unclipped","slice","unpack","args","keyOrder","Array","split","filter","k","undefined","map","last","l","TWOPI","PITHIRD","DEG2RAD","RAD2DEG","input","format","autodetect","last$1","clip_rgb$1","type$1","Color","len","arguments","me","this","constructor","mode","sorted","sort","a","b","p","chk","test","apply","Error","_rgb","push","hex","join","Color_1","chroma","Function","bind","concat","version","chroma_1","unpack$1","rgb2cmyk_1","ref","r","g","f","unpack$2","cmyk2rgb_1","c","m","y","alpha","unpack$3","type$2","cmyk","unpack$4","last$2","rnd","round","hsl2css_1","hsla","unpack$5","rgb2hsl_1","s","h","Number","NaN","unpack$6","last$3","rgb2css_1","rgba","substr","unpack$7","round$1","hsl2rgb_1","assign","t3","t2","t1","h_","RE_RGB","RE_RGBA","RE_RGB_PCT","RE_RGBA_PCT","RE_HSL","RE_HSLA","round$2","css2rgb","css","trim","named","e","match","rgb$1","i$1","rgb$2","i$2","rgb$3","i$3","hsl","rgb$4","hsl$1","rgb$5","css2rgb_1","type$3","rest","unpack$8","gl","unpack$9","rgb2hcg_1","delta","_g","unpack$a","floor","hcg2rgb_1","assign$1","assign$2","assign$3","assign$4","assign$5","_c","q","t","v","unpack$b","type$4","hcg","unpack$c","last$4","round$3","rgb2hex_1","str","hxa","RE_HEX","RE_HEXA","hex2rgb_1","u","parseInt","u$1","type$5","indexOf","unpack$d","sqrt","acos","rgb2hsi_1","min_","unpack$e","limit$1","TWOPI$1","cos","hsi2rgb_1","isNaN","unpack$f","type$6","hsi","unpack$g","type$7","unpack$h","min$1","max$1","rgb2hsv","max_","unpack$i","floor$1","hsv2rgb_1","unpack$j","type$8","hsv","labConstants","unpack$k","pow","rgb_xyz","xyz_lab","rgb2xyz","rgb2lab_1","ref$1","unpack$l","pow$1","xyz_rgb","lab_xyz","lab2rgb_1","z","unpack$m","type$9","lab","unpack$n","sqrt$1","atan2","round$4","lab2lch_1","unpack$o","rgb2lch_1","b_","unpack$p","sin","cos$1","lch2lab_1","unpack$q","lch2rgb_1","L","unpack$r","hcl2rgb_1","hcl","reverse","unpack$s","type$a","lch","forEach","w3cx11_1","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflower","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","laserlemon","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrod","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","maroon2","maroon3","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","purple2","purple3","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","type$b","keys","n","unpack$t","rgb2num_1","type$c","type$d","num","unpack$u","type$e","round$5","log","temperature2rgb_1","kelvin","temp","unpack$v","round$6","rgb2temperature_1","minTemp","maxTemp","temperature","type$f","mutate","clipped","darken","amount","brighten","darker","brighter","get","mc","channel","src","type$g","pow$2","luminance","lum","cur_lum","max_iter","low","high","mid","interpolate","lm","abs","rgb2luminance","luminance_x","interpolator","type$h","mix","col1","col2","premultiply","saturate","desaturate","type$i","set","value","charAt","out","xyz0","xyz1","sqrt$2","pow$3","lrgb","x1","y1","z1","x2","y2","z2","_hsx","hue0","hue1","sat0","sat1","lbv0","lbv1","sat","hue","lch$1","c1","c2","clip_rgb$2","pow$4","sqrt$3","PI$1","cos$2","sin$1","atan2$1","_average_lrgb","colors","weights","xyz","col","type$j","pow$5","scale","_mode","_nacol","_spread","_domain","_pos","_padding","_classes","_colors","_out","_min","_max","_correctLightness","_colorCache","_useCache","_gamma","setColors","brewer","c$1","resetCache","tMapLightness","tMapDomain","getColor","val","bypassMap","getClass","classes","d","analyze","limits","domain","from","tOut","tBreaks","every","_m","range","_o","spread","correctLightness","L0","L1","pol","L_actual","L_ideal","L_diff","t0","padding","numColors","result","dm","dd","left","right","inclusive","ascending","end","__range__","samples","asc","cache","gamma","nodata","bezier","I","lab0","lab1","lab2","lab3","I0","I1","blend","bottom","top","blend_f","c0","each","normal","multiply","screen","overlay","lighten","dodge","burn","blend_1","type$k","clip_rgb$3","TWOPI$2","pow$6","sin$2","cos$3","floor$2","random","log$1","pow$7","floor$3","data","key","MAX_VALUE","sum","values","count","min_log","LOG10E","max_log","pb","pr","cluster","assignments","clusterSizes","repeat","nb_iters","centroids","j","i$4","mindist","best","j$1","dist","newCentroids","j$2","i$5","j$3","j$4","kClusters","j$5","i$6","tmpKMeansBreaks","j$6","i$7","analyze_1","sqrt$4","atan2$2","abs$1","cos$4","PI$2","scales","cool","hot","colorbrewer","OrRd","PuBu","BuPu","Oranges","BuGn","YlOrBr","YlGn","Reds","RdPu","Greens","YlGnBu","Purples","GnBu","Greys","YlOrRd","PuRd","Blues","PuBuGn","Viridis","Spectral","RdYlGn","RdBu","PiYG","PRGn","RdYlBu","BrBG","RdGy","PuOr","Set2","Accent","Set1","Set3","Dark2","Paired","Pastel2","Pastel1","list$1","colorbrewer_1","average","reduce","w","first","shift","cnt","dx","dy","A","ci","xyz2","A$1","cubehelix","start","rotations","lightness","dl","dh","fract","amp","cos_a","sin_a","code","contrast","l1","l2","deltaE","C","a1","b1","L2","a2","b2","sl","sc","h1","c4","sh","delC","delA","delB","v1","v2","distance","sum_sq","valid","factory"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[300],{38307:(e,t,a)=>{a.d(t,{c:()=>y,l:()=>p});var n=a(32735),r=a(232),i=a.n(r),c=a(8604),o=a(83345);const l={heatMap:"epapa",legend:"uhH4p"};function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var u="shared.engagementHeatMap",d="#f1f1f1",m=i().scale(["#daf07d","#08bd1a"]),f=[0,.01,.25,.5,.75,1];function g(e,t){return e?m(e/t).hex():d}function v(e,t){for(var a=[],n=0;n<e.length;n++){var r=n>0&&e[n-1],i=e[n],c=n<e.length-1&&e[n+1];i===r&&i===c||a.push("".concat(g(i,t)," ").concat(100/e.length*n,"%"))}return"linear-gradient(to right, ".concat(a.join(","),")")}function p(){var e=Math.max.apply(Math,f),t=100/f.length;return n.createElement("div",{className:"d-flex justify-content-between w-100"},n.createElement(o.x,{namespace:u,phrase:"less"}),n.createElement("div",{className:"d-flex mx-1 flex-grow-1 ".concat(l.legend)},f.map((function(a,r){return n.createElement("div",{key:r,style:{width:"".concat(t,"%"),backgroundColor:g(a,e)}})}))),n.createElement(o.x,{namespace:u,phrase:"more"}))}function y(e){var t,a,r,i=(0,c.O)(e.engagement),o=null!==(t=e.max)&&void 0!==t?t:Math.max.apply(Math,function(e){if(Array.isArray(e))return s(e)}(r=i)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?s(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());return n.createElement("div",{className:"border rounded ".concat(l.heatMap," ").concat(null!==(a=e.className)&&void 0!==a?a:""),style:{background:v(i,o)}})}},26136:(e,t,a)=>{a.d(t,{B2:()=>o,DV:()=>s,jP:()=>l});var n=a(76198),r=a(23481),i=a(64818),c=r.T.encloseNamespace("shared.analyticsUtils");function o(e,t){return e?t?(0,n._8)((a="sessionId"in e?e.sessionName:e.id,r=+"".concat(a).concat(Math.floor((new Date).getMinutes()/5)),{dictionaries:[n.O9,n.yd],separator:" ",length:2,style:"capital",seed:r})):"sessionId"in e?e.sessionName:i.l.getFullName(e):"";var a,r}function l(e,t){var a={sessionId:e,sessionName:c("anonymousUser")};return e&&t&&t[e]||a}function s(e,t){return e.user?e.user:l(e.sessionId,t)}},8604:(e,t,a)=>{function n(e){return new Array(Math.ceil(e.videoDuration)).fill(null).map((function(t,a){return e.heatMap[a]||0}))}a.d(t,{O:()=>n})},40782:(e,t,a)=>{a.d(t,{I:()=>n,O:()=>l});var n,r=a(32735),i=a(2606),c=a(362);function o(e){var t=r.useCallback((function(t){if(t){var a=t.r.baseVal.value,n=2*Math.PI*a,r=n-e.percentage*n;t.style.strokeDasharray="".concat(n," ").concat(n),t.style.strokeDashoffset=r.toString()}}),[e.percentage]);return r.createElement("svg",null,r.createElement("circle",{r:(0,i.pu)(e.size),className:c.Z.backgroundCircle}),!(0,i.zR)(e.percentage)&&r.createElement("circle",{ref:t,r:(0,i.pu)(e.size),className:(0,i.V4)(e.percentage,e.scoreThresholds)}))}function l(e){var t,a=(0,i.Ki)(e.percentage),l=e.size||(e.layout===n.LabelInside?i.Mk.Large:i.Mk.Small),s=e.customLabel||(0,i.DV)(a);return e.layout===n.LabelOnly?r.createElement("span",{className:(0,i.IA)(a)},s):r.createElement("div",{className:"d-flex align-items-center justify-content-between ".concat(null!==(t=e.className)&&void 0!==t?t:"")},e.layout===n.LabelBefore&&r.createElement("span",{className:"me-2"},s),r.createElement("div",{className:(0,i.tw)(l,a)},r.createElement(o,{percentage:a,size:l,scoreThresholds:e.scoreThresholds}),e.layout===n.LabelInside&&r.createElement("span",{className:c.Z.centredPercentageText},s)))}!function(e){e.CircleOnly="circle_only",e.LabelOnly="label_only",e.LabelBefore="label_before",e.LabelInside="label_inside"}(n||(n={})),l.defaultProps={layout:n.CircleOnly}},2606:(e,t,a)=>{a.d(t,{DV:()=>p,IA:()=>f,Ki:()=>v,Mk:()=>o,V4:()=>m,pu:()=>d,tw:()=>g,zR:()=>y});var n=a(94892),r=a(362);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function c(e,t,a){return(t=function(e){var t=function(e){if("object"!=i(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=i(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var o,l=.2,s=.36;!function(e){e.Small="small",e.Large="large",e.ExtraSmall="extraSmall"}(o||(o={}));var u=c(c(c({},o.ExtraSmall,{size:2}),o.Small,{size:2}),o.Large,{size:5.8});function d(e){var t=u[e].size,a=e===o.Large?s:l;return"".concat(t/2-2*a,"rem")}function m(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.i;return e>=t.HIGH?r.Z.circleSuccess:e>=t.MODERATE?r.Z.circleWarning:r.Z.circleDanger}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.i;return e>=t.HIGH?"text-success":e>=t.MODERATE?"text-warning":"text-danger"}function g(e,t){var a="d-inline-block ".concat(r.Z.circleContainer);return e===o.Large&&(a+=" ".concat(r.Z.lgCircleContainer)),e===o.ExtraSmall&&(a+=" ".concat(r.Z.xsCircleContainer)),y(t)&&(a+=" ".concat(r.Z.pendingCircle)),a}function v(e){if(!y(e))return+e.toFixed(2)}function p(e){return y(e)?"--%":"".concat(Math.round(100*e),"%")}function y(e){return"number"!=typeof e}},94892:(e,t,a)=>{a.d(t,{T:()=>r,i:()=>n});var n={HIGH:.75,MODERATE:.5},r={HIGH:.7,MODERATE:.7}},54405:(e,t,a)=>{a.d(t,{X:()=>n});var n={interactive:function(){return{url:"/mocks/insights/interactive.json",key:"demo:interactive",normalize:!1}},interactiveMetadata:function(){return{url:"/mocks/insights/interactive-metadata.json",key:"demo:interactive:metadata",normalize:!1}},interactiveResults:function(){return{url:"/mocks/insights/interactive-results.json",key:"demo:interactive:results",normalize:!1}},videoViews:function(){return{url:"/mocks/insights/video-views.json",key:"demo:video:views",normalize:!1}},users:function(){return{url:"/mocks/insights/users.json",key:"demo:users",normalize:!1}},individualHeatmap:function(){return{url:"/mocks/insights/individual-heatmap.json",key:"demo:individual:heatmap",normalize:!1}},aggregateHeatmap:function(){return{url:"/mocks/insights/aggregate-heatmap.json",key:"demo:aggregate:heatmap",normalize:!1}}}},93322:(e,t,a)=>{a.d(t,{F:()=>i});var n=a(32735),r=a(13126);function i(){n.useEffect((function(){return r.e.lockContentWidth(),function(){return r.e.unlockContentWidth()}}),[])}},18006:(e,t,a)=>{a.d(t,{c:()=>n,q:()=>r});var n="D8qRe7",r="GRWx6w"},44183:(e,t,a)=>{a.r(t),a.d(t,{InsightsHeatmapDemoView:()=>w});var n=a(32735),r=a(23481),i=a(2948),c=a(20354),o=a(26025),l=a(60051),s=a(39151),u=a(54405),d=a(47812),m=a(31949),f=a(93322),g=a(79612),v=a(86702),p=a(26203),y=a(35274),h=a(18006),b=a(10447);function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var E=r.T.encloseNamespace("shared.insightsHeatmap");function w(){var e,t,a,r,w=(a=(0,i.D)(v.y.ANONYMISE_USERS),r=1,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,i,c,o=[],l=!0,s=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(n=i.call(a)).done)&&(o.push(n.value),o.length!==t);l=!0);}catch(e){s=!0,r=e}finally{try{if(!l&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(s)throw r}}return o}}(a,r)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?k(e,t):void 0}}(a,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];(0,f.F)();var S=c.a.useBasicFetch(m.N.currentUser()),A=c.a.useBasicFetch(u.X.interactiveMetadata()),x=c.a.useBasicFetch(s.L.config()),M=o.B.getAudienceAppLinkParams(),C=o.B.getDateRangeAppLinkParams(),N=c.a.useBasicFetch(u.X.aggregateHeatmap()),j=c.a.useBasicFetch(u.X.individualHeatmap()),I=c.a.useBasicFetch(u.X.users()),L=c.a.useBasicFetch(u.X.videoViews()),D=c.a.useBasicFetch(A.data&&d.k.createViewKey(function(){var e;return(null===(e=x.data)||void 0===e?void 0:e.liteUrl.includes("staging"))?h.c:h.q}(),l.f.Share));(0,g.M)({title:A.data?E("pageTitle",{video:null===(e=A.data)||void 0===e?void 0:e.name}):null});var O=S.data&&L.data&&A.data&&N.data&&D.data,z=!!j.data,R=Object.assign(Object.assign({},M),C);return n.createElement("div",{className:"px-3"},n.createElement(p.j,{video:A.data,tabs:(0,b.aq)(null===(t=A.data)||void 0===t?void 0:t.id,"heatmap",R),dateRangeAppLinkParams:C,isDemo:!0}),n.createElement(y.w,{aggregateEngagement:N.data,individualEngagement:j.data,videoViews:L.data,config:x.data,users:I.data,viewKey:D.data,hasDataLoaded:!!O,tableDataLoaded:z,anonymiseUsers:w,audienceAppLinkParams:M,dateRangeAppLinkParams:C}))}},362:(e,t,a)=>{a.d(t,{Z:()=>n});const n={circleContainer:"p8Vgz",backgroundCircle:"asGGE",circleSuccess:"PXLNj",circleWarning:"ZckRN",circleDanger:"slBRg",lgCircleContainer:"N8KCI",xsCircleContainer:"RPqZ2",pendingCircle:"DKrcq",centredPercentageText:"tpmLR"}}}]);
|
|
2
|
+
//# sourceMappingURL=300-3d9f3cd4e3-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/300-3d9f3cd4e3-lite.chunk.js","mappings":"iMACA,SAAgB,QAAU,QAAQ,OAAS,S,sGCQ3C,IAAMA,EAAY,2BAEZC,EAAc,UAIdC,EAAe,UAAa,CAHf,UACA,YAIbC,EAAgB,CAAE,EAAG,IAAM,IAAM,GAAK,IAAM,GAElD,SAASC,EAAmBC,EAAeC,GACzC,OAAKD,EAGEH,EAAaG,EAAQC,GAAKC,MAFxBN,CAGX,CAEA,SAASO,EAAYC,EAAgBH,GAGnC,IAFA,IAAMI,EAAqB,GAElBC,EAAI,EAAGA,EAAIF,EAAKG,OAAQD,IAAK,CACpC,IAAME,EAAgBF,EAAI,GAAKF,EAAKE,EAAI,GAClCG,EAAeL,EAAKE,GACpBI,EAAYJ,EAAIF,EAAKG,OAAS,GAAKH,EAAKE,EAAI,GAM9CG,IAAiBD,GAAiBC,IAAiBC,GAGvDL,EAASM,KAAK,GAAD,OAAIZ,EAAmBU,EAAcR,GAAI,YAAI,IAAMG,EAAKG,OAASD,EAAC,KAChF,CAED,MAAO,6BAAP,OAAoCD,EAASO,KAAK,KAAI,IACxD,CAEM,SAAUC,IACd,IAAMZ,EAAMa,KAAKb,IAAG,MAARa,KAAYhB,GAClBiB,EAA8B,IAAMjB,EAAcS,OAExD,OACE,uBAAKS,UAAU,wCACb,gBAACC,EAAA,EAAI,CAACtB,UAAWA,EAAWuB,OAAO,SACnC,uBAAKF,UAAS,kCAA6B,WACxClB,EAAcqB,KAAI,SAACC,EAAKC,GAAG,OAC1B,uBACEC,IAAKD,EACLE,MAAO,CACLC,MAAO,GAAF,OAAKT,EAA2B,KACrCU,gBAAiB1B,EAAmBqB,EAAKnB,KAE3C,KAGN,gBAACgB,EAAA,EAAI,CAACtB,UAAWA,EAAWuB,OAAO,SAGzC,CAQM,SAAUQ,EAAkBC,G,UAC1BC,GAAU,OAAeD,EAAME,YAC/B5B,EAAe,QAAT,EAAA0B,EAAM1B,WAAG,QAAIa,KAAKb,IAAG,MAARa,K,+CAAYc,I,mjBAErC,OACE,uBACEZ,UAAS,yBAAoB,UAAc,YAAmB,QAAf,EAAAW,EAAMX,iBAAS,QAAI,IAClEO,MAAO,CACLO,WAAY3B,EAAYyB,EAAS3B,KAIzC,C,2FC9EM8B,EAAY,qBADA,yBAuBZ,SAAUC,EAAkBC,EAAyBC,GACzD,OAAKD,EAGAC,GAGE,SA3BqBC,EA2BqB,cAAeF,EAAOA,EAAKG,YAAcH,EAAKE,GAlBzFE,GAAQ,GAAD,OAAIF,GAAE,OAAGrB,KAAKwB,OAAO,IAAIC,MAAQC,aAAe,IAEtD,CACLC,aAAc,CAAE,KAAQ,MACxBC,UAAW,IACXnC,OAAQ,EACRgB,MAAO,UACPc,KAAAA,KASO,cAAeJ,EAAOA,EAAKG,YAAc,gBAAuBH,GAHhE,GAtBX,IAA8BE,EAStBE,CAmBR,CAEM,SAAUM,EAAeC,EAAmBC,GAChD,IAAMC,EAAW,CACfF,UAAWA,EACXR,YAAaL,EAAU,kBAGzB,OAAKa,GAAcC,GAGCA,EAAaD,IAFxBE,CAQX,CAEM,SAAUC,EAAqBC,EAAwBH,GAC3D,OAAIG,EAAOf,KACFe,EAAOf,KAETU,EAAeK,EAAOJ,UAAWC,EAC1C,C,iBC1DM,SAAUI,EAAepB,GAC7B,OAAQ,IAAIqB,MAAMpC,KAAKqC,KAAKtB,EAAWuB,gBAAiBC,KAAK,MAAMlC,KAAI,SAACmC,EAAGjC,GAAG,OAAKQ,EAAWD,QAAQP,IAAQ,CAAC,GACjH,C,+DC0CYkC,E,8BA3BZ,SAASC,EAAe7B,GACtB,IAAM8B,EAAM,eAAkB,SAACC,GAC7B,GAAKA,EAAL,CAGA,IAAMC,EAASD,EAAOE,EAAEC,QAAQ7D,MAC1B8D,EAAgB,EAAIhD,KAAKiD,GAAKJ,EAC9BK,EAASF,EAAgBnC,EAAMsC,WAAaH,EAElDJ,EAAOnC,MAAM2C,gBAAkB,GAAH,OAAMJ,EAAa,YAAIA,GACnDJ,EAAOnC,MAAM4C,iBAAmBH,EAAOI,UAP/B,CAQV,GAAG,CAACzC,EAAMsC,aAEV,OACE,2BACE,0BAAQL,GAAG,QAAgBjC,EAAM0C,MAAOrD,UAAW,yBACjD,QAAUW,EAAMsC,aAChB,0BACER,IAAKA,EACLG,GAAG,QAAgBjC,EAAM0C,MACzBrD,WAAW,QAAmBW,EAAMsC,WAAYtC,EAAM2C,mBAKhE,CAsBM,SAAUC,EAAoB5C,G,MAC5B6C,GAAoB,QAAqB7C,EAAMsC,YAE/CI,EAAO1C,EAAM0C,OAChB1C,EAAM8C,SAAWlB,EAA0BmB,YACxC,WACA,YAGAC,EAAQhD,EAAMiD,cAAe,QAAuBJ,GAE1D,OAAI7C,EAAM8C,SAAWlB,EAA0BsB,UAE3C,wBAAM7D,WAAW,QAA0BwD,IACxCG,GAKL,uBAAK3D,UAAS,4DAAsE,QAAf,EAAAW,EAAMX,iBAAS,QAAI,KACrFW,EAAM8C,SAAWlB,EAA0BuB,aAC1C,wBAAM9D,UAAU,QACb2D,GAGL,uBAAK3D,WAAW,QAA4BqD,EAAMG,IAChD,gBAAChB,EAAc,CAACS,WAAYO,EAAmBH,KAAMA,EAAMC,gBAAiB3C,EAAM2C,kBACjF3C,EAAM8C,SAAWlB,EAA0BmB,aAC1C,wBAAM1D,UAAW,2BACd2D,IAMb,EAvDA,SAAYpB,GACV,2BACA,yBACA,6BACA,4BACD,CALD,CAAYA,IAAAA,EAAyB,KAgBrCgB,EAAoBQ,aAAe,CACjCN,OAAQlB,EAA0ByB,W,6uBC3DpC,IAKYC,EAHNC,EAAsB,GACtBC,EAAyB,KAE/B,SAAYF,GACV,gBACA,gBACA,yBACD,CAJD,CAAYA,IAAAA,EAAkB,KAM9B,IAAMG,EAAwB,EAAH,OACxBH,EAAmBI,WAAa,CAC/BhB,KAbiB,IAelBY,EAAmBK,MAAQ,CAC1BjB,KAhBiB,IAkBlBY,EAAmBM,MAAQ,CAC1BlB,KAlBoB,MAyBlB,SAAUmB,EAAgBnB,GAC9B,IAAM7C,EAAQ4D,EAAsBf,GAAMA,KACpCoB,EAAcpB,IAASY,EAAmBM,MAAQJ,EAAyBD,EACjF,MAAO,GAAP,OAAU1D,EAAQ,EAAkB,EAAdiE,EAAe,MACvC,CAEM,SAAUC,EACdzB,GACyD,IAAzDK,EAAA,uDAAmC,IAEnC,OAAIL,GAAcK,EAAgBqB,KACzB,kBAEL1B,GAAcK,EAAgBsB,SACzB,kBAEF,gBACT,CAEM,SAAUC,EACd5B,GACyD,IAAzDK,EAAA,uDAAmC,IAEnC,OAAIL,GAAcK,EAAgBqB,KACzB,eAEL1B,GAAcK,EAAgBsB,SACzB,eAEF,aACT,CAEM,SAAUE,EAA4BzB,EAA0BJ,GACpE,IAAIjD,EAAY,kBAAH,OAAqB,qBAWlC,OATIqD,IAASY,EAAmBM,QAC9BvE,GAAa,IAAJ,OAAQ,wBAEfqD,IAASY,EAAmBI,aAC9BrE,GAAa,IAAJ,OAAQ,wBAEf+E,EAAU9B,KACZjD,GAAa,IAAJ,OAAQ,oBAEZA,CACT,CAEM,SAAUgF,EAAqB/B,GACnC,IAAI8B,EAAU9B,GAGd,OAAQA,EAAWgC,QAAQ,EAC7B,CAEM,SAAUC,EAAuBjC,GACrC,OAAI8B,EAAU9B,GACL,MAEF,GAAP,OAAUnD,KAAKqF,MAAmB,IAAblC,GAAiB,IACxC,CAEM,SAAU8B,EAAU9B,GACxB,MAA6B,iBAAfA,CAChB,C,2CC5FO,IAAMmC,EAA0C,CACrDT,KAAM,IACNC,SAAU,IAGCS,EAA0C,CACrDV,KAAM,GACNC,SAAU,G,mCCVL,IAAMU,EAAuB,CAClCC,YAAW,WACT,MAAO,CACLC,IAAK,mCACLlF,IAAK,mBACLmF,WAAW,EAEf,EAEAC,oBAAmB,WACjB,MAAO,CACLF,IAAK,4CACLlF,IAAK,4BACLmF,WAAW,EAEf,EAEAE,mBAAkB,WAChB,MAAO,CACLH,IAAK,2CACLlF,IAAK,2BACLmF,WAAW,EAEf,EAEAG,WAAU,WACR,MAAO,CACLJ,IAAK,mCACLlF,IAAK,mBACLmF,WAAW,EAEf,EAEAI,MAAK,WACH,MAAO,CACLL,IAAK,6BACLlF,IAAK,aACLmF,WAAW,EAEf,EAEAK,kBAAiB,WACf,MAAO,CACLN,IAAK,0CACLlF,IAAK,0BACLmF,WAAW,EAEf,EAEAM,iBAAgB,WACd,MAAO,CACLP,IAAK,yCACLlF,IAAK,yBACLmF,WAAW,EAEf,E,6DCrDI,SAAUO,IACd,aAAgB,WAEd,OADA,uBACO,kBAAM,wBAAiC,CAChD,GAAG,GACL,C,2CCTO,IAAMC,EAA8B,SAC9BC,EAA2B,Q,oWCuBxC,IACMnF,EAAY,qBADA,0BAGZ,SAAUoF,I,YACPC,G,GAAkB,OAAsB,qB,EAA8B,E,o4BAAxD,IAErB,SAEA,IAAMC,EAAc,kBAAkC,mBAChDC,EAAQ,kBACZ,2BAEIC,EAAS,kBAA6B,cAEtCC,EAAwB,+BACxBC,EAAyB,gCAEzBC,EAAsB,kBAC1B,wBAGIC,EAAuB,kBAC3B,yBAGId,EAAQ,kBAA6B,aAErCD,EAAa,kBAA6C,kBAE1DgB,EAAU,kBAAoCN,EAAMlH,MACxD,kBAkBF,W,MACE,OAAe,QAAX,EAAAmH,EAAOnH,YAAI,eAAEyH,QAAQC,SAAS,YAAmB,IAE9C,GACT,CAtB+BC,GAAwB,aAEvD,OAAmB,CAAEC,MAAOV,EAAMlH,KAAO2B,EAAU,YAAa,CAAEuF,MAAiB,QAAV,EAAAA,EAAMlH,YAAI,eAAE6H,OAAU,OAE/F,IAAMC,EACJb,EAAYjH,MACZwG,EAAWxG,MACXkH,EAAMlH,MACNsH,EAAoBtH,MACpBwH,EAAQxH,KAEJ+H,IAAoBR,EAAqBvH,KAEzCgI,EAAS,OAAH,wBACPZ,GACAC,GASL,OACE,uBAAKzG,UAAU,QACb,gBAAC,IAAc,CACbsG,MAAOA,EAAMlH,KACbiI,MAAM,QAAyC,QAAV,EAAAf,EAAMlH,YAAI,eAAE+B,GAAI,UAAWiG,GAChEX,uBAAwBA,EACxBa,QAAM,IAGR,gBAAC,IAAe,CACdZ,oBAAqBA,EAAoBtH,KACzCuH,qBAAsBA,EAAqBvH,KAC3CwG,WAAYA,EAAWxG,KACvBmH,OAAQA,EAAOnH,KACfyG,MAAOA,EAAMzG,KACbwH,QAASA,EAAQxH,KACjB8H,gBAAiBA,EACjBC,gBAAiBA,EACjBf,eAAgBA,EAChBI,sBAAuBA,EACvBC,uBAAwBA,IAIhC,C,iCCrGA,SAAgB,gBAAkB,QAAQ,iBAAmB,QAAQ,cAAgB,QAAQ,cAAgB,QAAQ,aAAe,QAAQ,kBAAoB,QAAQ,kBAAoB,QAAQ,cAAgB,QAAQ,sBAAwB,Q","sources":["file:///app/packages/libs/shared/src/apps/analytics/components/engagement-heat-map/engagement-heat-map.scss","file:///app/packages/libs/shared/src/apps/analytics/components/engagement-heat-map/EngagementHeatMap.tsx","file:///app/packages/libs/shared/src/apps/analytics/utils/AnonymiseUserUtils.ts","file:///app/packages/libs/shared/src/apps/analytics/utils/EngagementUtils.ts","file:///app/packages/libs/shared/src/components/percentage-indicator/PercentageIndicator.tsx","file:///app/packages/libs/shared/src/components/percentage-indicator/PercentageIndicatorUtils.ts","file:///app/packages/libs/shared/src/constants/ScoreThresholds.ts","file:///app/packages/libs/shared/src/flight-requests/InsightsDemoRequests.ts","file:///app/packages/libs/shared/src/hooks/useLockContentWidth.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/DemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/views/demo/heatmap/InsightsHeatmapDemoView.tsx","file:///app/packages/libs/shared/src/components/percentage-indicator/percentage-indicator.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"heatMap\":\"epapa\",\"legend\":\"uhH4p\"};","import React from 'react';\nimport chroma from 'chroma-js';\n\nimport { getFullHeatMap } from 'libs/shared/apps/analytics/utils/EngagementUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Engagement } from 'libs/shared/interfaces';\n\nimport styles from './engagement-heat-map.scss';\n\nconst namespace = 'shared.engagementHeatMap';\n\nconst ZERO_COLOUR = '#f1f1f1';\nconst MIN_COLOUR = '#daf07d';\nconst MAX_COLOUR = '#08bd1a';\n\nconst COLOUR_SCALE = chroma.scale([ MIN_COLOUR, MAX_COLOUR ]);\n\nconst LEGEND_VALUES = [ 0, 0.01, 0.25, 0.5, 0.75, 1 ];\n\nfunction getBackgroundColor(value: number, max: number): string {\n if (!value)\n return ZERO_COLOUR;\n\n return COLOUR_SCALE(value / max).hex();\n}\n\nfunction getGradient(data: number[], max: number): string {\n const gradient: string[] = [];\n\n for (let i = 0; i < data.length; i++) {\n const previousValue = i > 0 && data[i - 1];\n const currentValue = data[i];\n const nextValue = i < data.length - 1 && data[i + 1];\n\n /**\n * We want to capture colour changes but if a value has the same value\n * of both of its neighbours, we can skip it.\n */\n if (currentValue === previousValue && currentValue === nextValue)\n continue;\n\n gradient.push(`${getBackgroundColor(currentValue, max)} ${100 / data.length * i}%`);\n }\n\n return `linear-gradient(to right, ${gradient.join(',')})`;\n}\n\nexport function EngagementHeatMapLegend(): JSX.Element {\n const max = Math.max(...LEGEND_VALUES);\n const legendSquareWidthPercentage = 100 / LEGEND_VALUES.length;\n\n return (\n <div className='d-flex justify-content-between w-100'>\n <Text namespace={namespace} phrase='less' />\n <div className={`d-flex mx-1 flex-grow-1 ${styles.legend}`}>\n {LEGEND_VALUES.map((val, idx) => (\n <div\n key={idx}\n style={{\n width: `${legendSquareWidthPercentage}%`,\n backgroundColor: getBackgroundColor(val, max)\n }}\n />\n ))}\n </div>\n <Text namespace={namespace} phrase='more' />\n </div>\n );\n}\n\ninterface EngagementHeatMapProps {\n engagement: Engagement;\n max?: number;\n className?: string;\n}\n\nexport function EngagementHeatMap(props: EngagementHeatMapProps): JSX.Element {\n const heatMap = getFullHeatMap(props.engagement);\n const max = props.max ?? Math.max(...heatMap);\n\n return (\n <div\n className={`border rounded ${styles.heatMap} ${props.className ?? ''}`}\n style={{\n background: getGradient(heatMap, max)\n }}\n />\n );\n}","import { animals, colors, Config as UniqueNamesConfig, uniqueNamesGenerator } from 'unique-names-generator';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { AnonSession, AnonSessions } from 'libs/shared/apps/analytics/hooks/UseAnonSessions';\nimport { UserOrAnonSession } from 'libs/shared/apps/analytics/interfaces/UserOrAnonSession';\nimport { StudentResults } from 'libs/shared/interfaces';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nconst namespace = 'shared.analyticsUtils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getUniqueNamesConfig(id: string): UniqueNamesConfig {\n /**\n * Generate a seed that is unique to each user but changes every 5 minutes.\n * \n * We use a seed so that if the same user's name is anonymised multiple times\n * in quick succession (e.g. multiple renders), the same name will be returned each time.\n * \n * We change the seed every 5 minutes so that students don't always have the same name.\n */\n const seed = +`${id}${Math.floor((new Date()).getMinutes() / 5)}`;\n\n return {\n dictionaries: [ colors, animals ],\n separator: ' ',\n length: 2,\n style: 'capital',\n seed\n };\n}\n\nexport function anonymiseUserName(user: UserOrAnonSession, shouldAnonymise: boolean): string {\n if (!user)\n return '';\n\n if (!shouldAnonymise)\n return 'sessionId' in user ? user.sessionName : UserHelper.getFullName(user);\n\n return uniqueNamesGenerator(getUniqueNamesConfig('sessionId' in user ? user.sessionName : user.id));\n}\n\nexport function getAnonSession(sessionId: string, anonSessions: AnonSessions): AnonSession {\n const fallback = {\n sessionId: sessionId,\n sessionName: getPhrase('anonymousUser')\n };\n\n if (!sessionId || !anonSessions)\n return fallback;\n\n const anonSession = anonSessions[sessionId];\n\n if (anonSession)\n return anonSession;\n\n return fallback;\n}\n\nexport function getUserOrAnonSession(result: StudentResults, anonSessions: AnonSessions): UserOrAnonSession {\n if (result.user)\n return result.user;\n\n return getAnonSession(result.sessionId, anonSessions);\n}\n","import { Engagement } from 'libs/shared/interfaces';\n\n/**\n * The heat map in the API response won't contain trailing zeros so we need to add those\n * in manually.\n */\nexport function getFullHeatMap(engagement: Engagement): number[] {\n return (new Array(Math.ceil(engagement.videoDuration))).fill(null).map((t, idx) => engagement.heatMap[idx] || 0);\n}","import React from 'react';\n\nimport { ScoreThresholds } from 'libs/shared/constants/ScoreThresholds';\n\nimport {\n getCircleClassName,\n getCircleContainerClassName,\n getCircleRadius,\n getColouredLabelClassName,\n getFormattedPercentage,\n getPercentageToFixed,\n isPending,\n ProgressCircleSize\n} from './PercentageIndicatorUtils';\n\nimport styles from './percentage-indicator.scss';\n\ninterface ProgressCircleProps {\n size: ProgressCircleSize;\n scoreThresholds?: ScoreThresholds;\n percentage?: number;\n}\n\nfunction ProgressCircle(props: ProgressCircleProps): JSX.Element {\n const ref = React.useCallback((circle: SVGCircleElement) => {\n if (!circle)\n return;\n\n const radius = circle.r.baseVal.value;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - props.percentage * circumference;\n\n circle.style.strokeDasharray = `${circumference} ${circumference}`;\n circle.style.strokeDashoffset = offset.toString();\n }, [props.percentage]);\n\n return (\n <svg>\n <circle r={getCircleRadius(props.size)} className={styles.backgroundCircle} />\n {!isPending(props.percentage) &&\n <circle\n ref={ref}\n r={getCircleRadius(props.size)}\n className={getCircleClassName(props.percentage, props.scoreThresholds)}\n />\n }\n </svg>\n );\n}\n\nexport enum PercentageIndicatorLayout {\n CircleOnly = 'circle_only',\n LabelOnly = 'label_only',\n LabelBefore = 'label_before',\n LabelInside = 'label_inside'\n}\n\ninterface PercentageIndicatorProps {\n layout: PercentageIndicatorLayout;\n percentage?: number; // Between 0 and 1 or undefined for pending\n className?: string;\n customLabel?: string;\n scoreThresholds?: ScoreThresholds;\n size?: ProgressCircleSize;\n}\n\nPercentageIndicator.defaultProps = {\n layout: PercentageIndicatorLayout.CircleOnly\n};\n\nexport function PercentageIndicator(props: PercentageIndicatorProps): JSX.Element {\n const percentageToFixed = getPercentageToFixed(props.percentage);\n\n const size = props.size ||\n (props.layout === PercentageIndicatorLayout.LabelInside\n ? ProgressCircleSize.Large\n : ProgressCircleSize.Small\n );\n\n const label = props.customLabel || getFormattedPercentage(percentageToFixed);\n\n if (props.layout === PercentageIndicatorLayout.LabelOnly)\n return (\n <span className={getColouredLabelClassName(percentageToFixed)}>\n {label}\n </span>\n );\n\n return (\n <div className={`d-flex align-items-center justify-content-between ${props.className ?? ''}`}>\n {props.layout === PercentageIndicatorLayout.LabelBefore &&\n <span className='me-2'>\n {label}\n </span>\n }\n <div className={getCircleContainerClassName(size, percentageToFixed)}>\n <ProgressCircle percentage={percentageToFixed} size={size} scoreThresholds={props.scoreThresholds} />\n {props.layout === PercentageIndicatorLayout.LabelInside &&\n <span className={styles.centredPercentageText}>\n {label}\n </span>\n }\n </div>\n </div>\n );\n}","import { ScoreThresholdDefaults, ScoreThresholds } from 'libs/shared/constants/ScoreThresholds';\n\nimport styles from './percentage-indicator.scss';\n\n/**\n * Values for width and strokeWidth are taken from progress-circle.scss.\n * If either are changed, they must be updated in both places.\n */\nconst CIRCLE_WIDTH = 2; // rem\nconst CIRCLE_WIDTH_LG = 5.8; // rem\nconst CIRCLE_STROKE_WIDTH = 0.2; // rem\nconst CIRCLE_STROKE_WIDTH_LG = 0.36; // rem\n \nexport enum ProgressCircleSize {\n Small = 'small',\n Large = 'large',\n ExtraSmall = 'extraSmall'\n}\n\nconst ProgressCircleSizeMap = {\n [ProgressCircleSize.ExtraSmall]: {\n size: CIRCLE_WIDTH\n },\n [ProgressCircleSize.Small]: {\n size: CIRCLE_WIDTH\n },\n [ProgressCircleSize.Large]: {\n size: CIRCLE_WIDTH_LG\n }\n};\n\n/**\n * radius = width / 2 - strokeWidth * 2\n */\nexport function getCircleRadius(size: ProgressCircleSize): string {\n const width = ProgressCircleSizeMap[size].size;\n const strokeWidth = size === ProgressCircleSize.Large ? CIRCLE_STROKE_WIDTH_LG : CIRCLE_STROKE_WIDTH;\n return `${width / 2 - strokeWidth * 2}rem`;\n}\n \nexport function getCircleClassName(\n percentage: number,\n scoreThresholds: ScoreThresholds = ScoreThresholdDefaults\n): string {\n if (percentage >= scoreThresholds.HIGH)\n return styles.circleSuccess;\n \n if (percentage >= scoreThresholds.MODERATE)\n return styles.circleWarning;\n \n return styles.circleDanger;\n}\n \nexport function getColouredLabelClassName(\n percentage: number,\n scoreThresholds: ScoreThresholds = ScoreThresholdDefaults\n): string {\n if (percentage >= scoreThresholds.HIGH)\n return 'text-success';\n \n if (percentage >= scoreThresholds.MODERATE)\n return 'text-warning';\n \n return 'text-danger';\n}\n \nexport function getCircleContainerClassName(size: ProgressCircleSize, percentage?: number): string {\n let className = `d-inline-block ${styles.circleContainer}`;\n \n if (size === ProgressCircleSize.Large)\n className += ` ${styles.lgCircleContainer}`;\n\n if (size === ProgressCircleSize.ExtraSmall)\n className += ` ${styles.xsCircleContainer}`;\n\n if (isPending(percentage))\n className += ` ${styles.pendingCircle}`;\n \n return className;\n}\n\nexport function getPercentageToFixed(percentage?: number): number | undefined {\n if (isPending(percentage))\n return;\n \n return +percentage.toFixed(2);\n}\n \nexport function getFormattedPercentage(percentage?: number): string {\n if (isPending(percentage))\n return `--%`;\n\n return `${Math.round(percentage * 100)}%`;\n}\n\nexport function isPending(percentage?: number): boolean {\n return typeof percentage !== 'number';\n}","export interface ScoreThresholds {\n HIGH: number;\n MODERATE: number;\n}\n\nexport const ScoreThresholdDefaults: ScoreThresholds = {\n HIGH: 0.75,\n MODERATE: 0.5\n};\n\nexport const ScoreThresholdInsights: ScoreThresholds = {\n HIGH: 0.7,\n MODERATE: 0.7\n};","import { Flight } from 'libs/common/react/index';\n\nexport const InsightsDemoRequests = {\n interactive(): Flight.Request {\n return {\n url: `/mocks/insights/interactive.json`,\n key: `demo:interactive`,\n normalize: false\n };\n },\n\n interactiveMetadata(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-metadata.json`,\n key: `demo:interactive:metadata`,\n normalize: false\n };\n },\n\n interactiveResults(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-results.json`,\n key: `demo:interactive:results`,\n normalize: false\n };\n },\n\n videoViews(): Flight.Request {\n return {\n url: `/mocks/insights/video-views.json`,\n key: `demo:video:views`,\n normalize: false\n };\n },\n\n users(): Flight.Request {\n return {\n url: `/mocks/insights/users.json`,\n key: `demo:users`,\n normalize: false\n };\n },\n\n individualHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/individual-heatmap.json`,\n key: `demo:individual:heatmap`,\n normalize: false\n };\n },\n\n aggregateHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/aggregate-heatmap.json`,\n key: `demo:aggregate:heatmap`,\n normalize: false\n };\n }\n};","import React from 'react';\n\nimport { LayoutHelper } from 'libs/shared/utils/LayoutHelper';\n\nexport function useLockContentWidth(): void {\n React.useEffect(() => {\n LayoutHelper.lockContentWidth();\n return () => LayoutHelper.unlockContentWidth();\n }, []);\n}","export const DEMO_INTERACTIVE_STAGING_ID = 'D8qRe7';\nexport const DEMO_INTERACTIVE_PROD_ID = 'GRWx6w';","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { VideoViewEventResponse } from 'libs/shared/apps/analytics/interfaces/VideoViewEvent';\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { InsightsDemoRequests } from 'libs/shared/flight-requests/InsightsDemoRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useLockContentWidth } from 'libs/shared/hooks/useLockContentWidth';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, Engagement, IndividualEngagementResponse, InteractiveMetadata, PlayerViewKey, User } from 'libs/shared/interfaces';\n\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\n\nimport { InsightsHeader } from 'apps/my-shares/components/insights-header/InsightsHeader';\nimport { InsightsHeatmap } from 'apps/my-shares/components/insights-heatmap/InsightsHeatmap';\nimport { DEMO_INTERACTIVE_PROD_ID, DEMO_INTERACTIVE_STAGING_ID } from 'apps/my-shares/constants/DemoInsights';\nimport { getInsightsDemoInteractiveTabs } from 'apps/my-shares/utils/InsightsAppLinkUtils';\n\nconst namespace = 'shared.insightsHeatmap';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function InsightsHeatmapDemoView() {\n const [anonymiseUsers] = useViewModel<boolean>(ViewModelKeys.ANONYMISE_USERS);\n\n useLockContentWidth();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<InteractiveMetadata>(\n InsightsDemoRequests.interactiveMetadata()\n );\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const dateRangeAppLinkParams = AnalyticsFilterHelper.getDateRangeAppLinkParams();\n\n const aggregateEngagement = Flight.useBasicFetch<Engagement>(\n InsightsDemoRequests.aggregateHeatmap()\n );\n\n const individualEngagement = Flight.useBasicFetch<IndividualEngagementResponse>(\n InsightsDemoRequests.individualHeatmap()\n );\n\n const users = Flight.useBasicFetch<User[]>(InsightsDemoRequests.users());\n\n const videoViews = Flight.useBasicFetch<VideoViewEventResponse>(InsightsDemoRequests.videoViews());\n\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(video.data &&\n PlayerRequests.createViewKey(getDemoInteractiveId(), MediaIdType.Share));\n\n useSetPageMetadata({ title: video.data ? getPhrase('pageTitle', { video: video.data?.name }) : null });\n\n const hasDataLoaded =\n currentUser.data &&\n videoViews.data &&\n video.data &&\n aggregateEngagement.data &&\n viewKey.data;\n\n const tableDataLoaded = !!individualEngagement.data;\n\n const params = {\n ...audienceAppLinkParams,\n ...dateRangeAppLinkParams\n };\n\n function getDemoInteractiveId() {\n if (config.data?.liteUrl.includes('staging')) return DEMO_INTERACTIVE_STAGING_ID;\n\n return DEMO_INTERACTIVE_PROD_ID;\n }\n\n return (\n <div className='px-3'>\n <InsightsHeader\n video={video.data}\n tabs={getInsightsDemoInteractiveTabs(video.data?.id, 'heatmap', params)}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n isDemo\n />\n\n <InsightsHeatmap\n aggregateEngagement={aggregateEngagement.data}\n individualEngagement={individualEngagement.data}\n videoViews={videoViews.data}\n config={config.data}\n users={users.data}\n viewKey={viewKey.data}\n hasDataLoaded={!!hasDataLoaded}\n tableDataLoaded={tableDataLoaded}\n anonymiseUsers={anonymiseUsers}\n audienceAppLinkParams={audienceAppLinkParams}\n dateRangeAppLinkParams={dateRangeAppLinkParams}\n />\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"circleContainer\":\"p8Vgz\",\"backgroundCircle\":\"asGGE\",\"circleSuccess\":\"PXLNj\",\"circleWarning\":\"ZckRN\",\"circleDanger\":\"slBRg\",\"lgCircleContainer\":\"N8KCI\",\"xsCircleContainer\":\"RPqZ2\",\"pendingCircle\":\"DKrcq\",\"centredPercentageText\":\"tpmLR\"};"],"names":["namespace","ZERO_COLOUR","COLOUR_SCALE","LEGEND_VALUES","getBackgroundColor","value","max","hex","getGradient","data","gradient","i","length","previousValue","currentValue","nextValue","push","join","EngagementHeatMapLegend","Math","legendSquareWidthPercentage","className","Text","phrase","map","val","idx","key","style","width","backgroundColor","EngagementHeatMap","props","heatMap","engagement","background","getPhrase","anonymiseUserName","user","shouldAnonymise","id","sessionName","seed","floor","Date","getMinutes","dictionaries","separator","getAnonSession","sessionId","anonSessions","fallback","getUserOrAnonSession","result","getFullHeatMap","Array","ceil","videoDuration","fill","t","PercentageIndicatorLayout","ProgressCircle","ref","circle","radius","r","baseVal","circumference","PI","offset","percentage","strokeDasharray","strokeDashoffset","toString","size","scoreThresholds","PercentageIndicator","percentageToFixed","layout","LabelInside","label","customLabel","LabelOnly","LabelBefore","defaultProps","CircleOnly","ProgressCircleSize","CIRCLE_STROKE_WIDTH","CIRCLE_STROKE_WIDTH_LG","ProgressCircleSizeMap","ExtraSmall","Small","Large","getCircleRadius","strokeWidth","getCircleClassName","HIGH","MODERATE","getColouredLabelClassName","getCircleContainerClassName","isPending","getPercentageToFixed","toFixed","getFormattedPercentage","round","ScoreThresholdDefaults","ScoreThresholdInsights","InsightsDemoRequests","interactive","url","normalize","interactiveMetadata","interactiveResults","videoViews","users","individualHeatmap","aggregateHeatmap","useLockContentWidth","DEMO_INTERACTIVE_STAGING_ID","DEMO_INTERACTIVE_PROD_ID","InsightsHeatmapDemoView","anonymiseUsers","currentUser","video","config","audienceAppLinkParams","dateRangeAppLinkParams","aggregateEngagement","individualEngagement","viewKey","liteUrl","includes","getDemoInteractiveId","title","name","hasDataLoaded","tableDataLoaded","params","tabs","isDemo"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3079],{38307:(e,t,a)=>{a.d(t,{c:()=>h,l:()=>f});var n=a(32735),r=a(232),i=a.n(r),s=a(8604),c=a(83345);const o={heatMap:"epapa",legend:"uhH4p"};function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var u="shared.engagementHeatMap",m="#f1f1f1",d=i().scale(["#daf07d","#08bd1a"]),v=[0,.01,.25,.5,.75,1];function p(e,t){return e?d(e/t).hex():m}function g(e,t){for(var a=[],n=0;n<e.length;n++){var r=n>0&&e[n-1],i=e[n],s=n<e.length-1&&e[n+1];i===r&&i===s||a.push("".concat(p(i,t)," ").concat(100/e.length*n,"%"))}return"linear-gradient(to right, ".concat(a.join(","),")")}function f(){var e=Math.max.apply(Math,v),t=100/v.length;return n.createElement("div",{className:"d-flex justify-content-between w-100"},n.createElement(c.x,{namespace:u,phrase:"less"}),n.createElement("div",{className:"d-flex mx-1 flex-grow-1 ".concat(o.legend)},v.map((function(a,r){return n.createElement("div",{key:r,style:{width:"".concat(t,"%"),backgroundColor:p(a,e)}})}))),n.createElement(c.x,{namespace:u,phrase:"more"}))}function h(e){var t,a,r,i=(0,s.O)(e.engagement),c=null!==(t=e.max)&&void 0!==t?t:Math.max.apply(Math,function(e){if(Array.isArray(e))return l(e)}(r=i)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(e,t):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());return n.createElement("div",{className:"border rounded ".concat(o.heatMap," ").concat(null!==(a=e.className)&&void 0!==a?a:""),style:{background:g(i,c)}})}},26136:(e,t,a)=>{a.d(t,{B2:()=>c,DV:()=>l,jP:()=>o});var n=a(76198),r=a(23481),i=a(64818),s=r.T.encloseNamespace("shared.analyticsUtils");function c(e,t){return e?t?(0,n._8)((a="sessionId"in e?e.sessionName:e.id,r=+"".concat(a).concat(Math.floor((new Date).getMinutes()/5)),{dictionaries:[n.O9,n.yd],separator:" ",length:2,style:"capital",seed:r})):"sessionId"in e?e.sessionName:i.l.getFullName(e):"";var a,r}function o(e,t){var a={sessionId:e,sessionName:s("anonymousUser")};return e&&t&&t[e]||a}function l(e,t){return e.user?e.user:o(e.sessionId,t)}},8604:(e,t,a)=>{function n(e){return new Array(Math.ceil(e.videoDuration)).fill(null).map((function(t,a){return e.heatMap[a]||0}))}a.d(t,{O:()=>n})},40782:(e,t,a)=>{a.d(t,{I:()=>n,O:()=>o});var n,r=a(32735),i=a(2606),s=a(362);function c(e){var t=r.useCallback((function(t){if(t){var a=t.r.baseVal.value,n=2*Math.PI*a,r=n-e.percentage*n;t.style.strokeDasharray="".concat(n," ").concat(n),t.style.strokeDashoffset=r.toString()}}),[e.percentage]);return r.createElement("svg",null,r.createElement("circle",{r:(0,i.pu)(e.size),className:s.Z.backgroundCircle}),!(0,i.zR)(e.percentage)&&r.createElement("circle",{ref:t,r:(0,i.pu)(e.size),className:(0,i.V4)(e.percentage,e.scoreThresholds)}))}function o(e){var t,a=(0,i.Ki)(e.percentage),o=e.size||(e.layout===n.LabelInside?i.Mk.Large:i.Mk.Small),l=e.customLabel||(0,i.DV)(a);return e.layout===n.LabelOnly?r.createElement("span",{className:(0,i.IA)(a)},l):r.createElement("div",{className:"d-flex align-items-center justify-content-between ".concat(null!==(t=e.className)&&void 0!==t?t:"")},e.layout===n.LabelBefore&&r.createElement("span",{className:"me-2"},l),r.createElement("div",{className:(0,i.tw)(o,a)},r.createElement(c,{percentage:a,size:o,scoreThresholds:e.scoreThresholds}),e.layout===n.LabelInside&&r.createElement("span",{className:s.Z.centredPercentageText},l)))}!function(e){e.CircleOnly="circle_only",e.LabelOnly="label_only",e.LabelBefore="label_before",e.LabelInside="label_inside"}(n||(n={})),o.defaultProps={layout:n.CircleOnly}},2606:(e,t,a)=>{a.d(t,{DV:()=>f,IA:()=>v,Ki:()=>g,Mk:()=>c,V4:()=>d,pu:()=>m,tw:()=>p,zR:()=>h});var n=a(94892),r=a(362);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function s(e,t,a){return(t=function(e){var t=function(e){if("object"!=i(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=i(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var c,o=.2,l=.36;!function(e){e.Small="small",e.Large="large",e.ExtraSmall="extraSmall"}(c||(c={}));var u=s(s(s({},c.ExtraSmall,{size:2}),c.Small,{size:2}),c.Large,{size:5.8});function m(e){var t=u[e].size,a=e===c.Large?l:o;return"".concat(t/2-2*a,"rem")}function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.i;return e>=t.HIGH?r.Z.circleSuccess:e>=t.MODERATE?r.Z.circleWarning:r.Z.circleDanger}function v(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.i;return e>=t.HIGH?"text-success":e>=t.MODERATE?"text-warning":"text-danger"}function p(e,t){var a="d-inline-block ".concat(r.Z.circleContainer);return e===c.Large&&(a+=" ".concat(r.Z.lgCircleContainer)),e===c.ExtraSmall&&(a+=" ".concat(r.Z.xsCircleContainer)),h(t)&&(a+=" ".concat(r.Z.pendingCircle)),a}function g(e){if(!h(e))return+e.toFixed(2)}function f(e){return h(e)?"--%":"".concat(Math.round(100*e),"%")}function h(e){return"number"!=typeof e}},94892:(e,t,a)=>{a.d(t,{T:()=>r,i:()=>n});var n={HIGH:.75,MODERATE:.5},r={HIGH:.7,MODERATE:.7}},54405:(e,t,a)=>{a.d(t,{X:()=>n});var n={interactive:function(){return{url:"/mocks/insights/interactive.json",key:"demo:interactive",normalize:!1}},interactiveMetadata:function(){return{url:"/mocks/insights/interactive-metadata.json",key:"demo:interactive:metadata",normalize:!1}},interactiveResults:function(){return{url:"/mocks/insights/interactive-results.json",key:"demo:interactive:results",normalize:!1}},videoViews:function(){return{url:"/mocks/insights/video-views.json",key:"demo:video:views",normalize:!1}},users:function(){return{url:"/mocks/insights/users.json",key:"demo:users",normalize:!1}},individualHeatmap:function(){return{url:"/mocks/insights/individual-heatmap.json",key:"demo:individual:heatmap",normalize:!1}},aggregateHeatmap:function(){return{url:"/mocks/insights/aggregate-heatmap.json",key:"demo:aggregate:heatmap",normalize:!1}}}},93322:(e,t,a)=>{a.d(t,{F:()=>i});var n=a(32735),r=a(13126);function i(){n.useEffect((function(){return r.e.lockContentWidth(),function(){return r.e.unlockContentWidth()}}),[])}},9566:(e,t,a)=>{a.d(t,{G:()=>u,V:()=>d});var n=a(23481),r=a(110),i=a(35223),s=a(14070),c=a(97291),o=a(93975),l=n.T.encloseNamespace("myShares.demoInsights"),u={share:{shareId:"demo-insights",type:o.y.Link},sharedObject:null,shareRecipients:null,dateShared:r.O.subtract(new Date,7,"days").toISOString(),viewCount:23},m={application:c.O.MY_SHARES,action:s.e.MyShares.INTERACTIVE_OVERVIEW_DEMO},d={svgName:i.vn.Analytics,label:l("demoInsights"),appLink:m,group:"insights",className:"btn btn-outline-dark"}},30475:(e,t,a)=>{a.r(t),a.d(t,{InteractiveInsightsOverviewDemoView:()=>_});var n=a(32735),r=a(23481),i=a(2948),s=a(20354),c=a(75896),o=a(26025),l=a(38143),u=a(39151),m=a(54405),d=a(31949),v=a(93322),p=a(79612),g=a(88630),f=a(26203),h=a(54948),y=a(82602),b=a(65853),E=a(91693),S=a(83345),k=a(36532),I=a(49080),A=a(35223),N=a(86099),M=a(24758),O=a(9566),C="insights.shareInfoDemo",w=r.T.encloseNamespace(C);function x(e){var t=e.video&&b.R.getIconAndText({entity:e.video,entityTypeId:e.video.typeId,hasStudentExp:!1,isPasswordProtected:null,linkExpireDate:null,privacy:{privacy:"public",overrideRestrictions:!1},status:I.F.Active,yearGroups:null});return n.createElement("div",{className:"mb-4"},n.createElement("h2",{className:"h4"},n.createElement(S.x,{namespace:C,phrase:"shareInfo"})),n.createElement("div",{className:"d-flex border p-3 rounded-3 align-items-center justify-content-between"},n.createElement("div",{className:"d-flex align-items-center gap-2"},n.createElement(M.A,{shareRecipients:null,imageCdnUrl:e.imageCdnUrl,hasShareLink:!0,maxAvatars:4,shareLinkText:null==t?void 0:t.text}),"·",n.createElement("p",{className:"mb-0"},(0,y.WU)(O.G.dateShared)),"·",n.createElement("p",{className:"mb-0"},n.createElement(S.x,{namespace:C,phrase:"views",options:{count:O.G.viewCount}}))),n.createElement(k.u,{id:"shareButton",title:w("demoOnly"),spanHack:!0},n.createElement(E.h,{appLink:(0,N.YK)(e.video),svgName:A.vn.Share,className:"btn btn-outline-dark pointer-events-none"},n.createElement(S.x,{namespace:C,phrase:"share"})))))}var L=a(10447),T=a(14070),R=a(97291);function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var j=r.T.encloseNamespace("insights.interactiveInsightsOverviewView");function _(){var e,t,a,r,y,b,E,S=(b=(0,i.D)(l.g.ANONYMISE_USERS),E=1,function(e){if(Array.isArray(e))return e}(b)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,i,s,c=[],o=!0,l=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;o=!1}else for(;!(o=(n=i.call(a)).done)&&(c.push(n.value),c.length!==t);o=!0);}catch(e){l=!0,r=e}finally{try{if(!o&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(l)throw r}}return c}}(b,E)||function(e,t){if(e){if("string"==typeof e)return D(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?D(e,t):void 0}}(b,E)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];(0,v.F)();var k=s.a.useBasicFetch(d.N.currentUser()),I=s.a.useBasicFetch(u.L.config()),A=s.a.useBasicFetch(m.X.interactiveMetadata()),N=s.a.useBasicFetch(m.X.interactive()),M=o.B.getAudienceAppLinkParams(),O=o.B.getDateRangeAppLinkParams(),C=s.a.useBasicFetch(m.X.interactiveResults()),w=1===(null===(e=M.classrooms)||void 0===e?void 0:e.length)&&!(null===(t=M.classroomGroups)||void 0===t?void 0:t.length),_=s.a.useBasicFetch(w&&g.F.getClassroomStudents(c.m.first(M.classrooms))),H=s.a.useBasicFetch(m.X.aggregateHeatmap()),V=s.a.useBasicFetch(m.X.videoViews());(0,p.M)({title:A.data?j("pageTitle",{video:null===(a=A.data)||void 0===a?void 0:a.name}):null});var z=k.data&&I.data&&A.data&&N.data&&C.data&&(!w||_.data)&&H.data&&!!V.data,P=Object.assign(Object.assign({},M),O),B=function(e,t){return{resultsAppLink:{application:R.O.MY_SHARES,action:T.e.MyShares.INTERACTIVE_STUDENTS_DEMO,args:[""],params:t},questionsAppLink:{application:R.O.MY_SHARES,action:T.e.MyShares.INTERACTIVE_QUESTIONS_DEMO,args:[""],params:t},heatmapAppLink:{application:R.O.MY_SHARES,action:T.e.MyShares.INTERACTIVE_HEATMAP_DEMO,args:[""],params:t}}}(0,P);return n.createElement("div",{className:"px-3"},n.createElement(f.j,{video:A.data,tabs:(0,L.aq)(null===(r=A.data)||void 0===r?void 0:r.id,"insights",P),dateRangeAppLinkParams:O,isDemo:!0}),n.createElement(x,{video:A.data,imageCdnUrl:null===(y=I.data)||void 0===y?void 0:y.imageCdnUrl}),n.createElement(h.m,{aggregateEngagement:H.data,interactive:N.data,interactiveMetadata:A.data,classroomStudents:_.data,results:C.data,videoViews:V.data,config:I.data,interactiveInsightsAppLinks:B,classroomFilterOnly:!1,anonymiseUsers:S,params:P,hasDataLoaded:z,hasShared:!0}))}},93975:(e,t,a)=>{var n;a.d(t,{y:()=>n}),function(e){e.Link="Link",e.Classroom="Classroom",e.Open="Open",e.Live="Live"}(n||(n={}))},362:(e,t,a)=>{a.d(t,{Z:()=>n});const n={circleContainer:"p8Vgz",backgroundCircle:"asGGE",circleSuccess:"PXLNj",circleWarning:"ZckRN",circleDanger:"slBRg",lgCircleContainer:"N8KCI",xsCircleContainer:"RPqZ2",pendingCircle:"DKrcq",centredPercentageText:"tpmLR"}}}]);
|
|
2
|
+
//# sourceMappingURL=3079-0a333d6805-lite.chunk.js.map
|