{"version":3,"sources":["jsdelivr-header.js","/npm/color.js@1.2.0/dist/color.cjs.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IAEtD,IAAI,OAAS,GAAwB,iBAAT,EAAoB,EAAO,EAAK,IAExD,QAAU,EACZ,SAAS,EACT,SAAS,QACT,QAAQ,GACR,SAAS,IACP,CAAC,KAAM,CACT,SACA,SACA,QACA,WAGE,OAAS,CAAC,EAAO,KACnB,IAAI,EAAO,EAAM,KAAI,IACnB,IAAI,EAAM,MAAM,QAAQ,GAAO,EAAM,EAAI,MAAM,KAAK,IAAI,QACxD,MAAuB,QAAhB,EAAK,OAAmB,SAAS,GAAO,CAAG,IAEpD,OAAuB,IAAhB,EAAK,QAAgC,IAAhB,EAAK,OAAe,EAAK,GAAK,CAAI,EAG5D,MAAQ,CAAC,EAAQ,KACnB,IAAI,EAAU,KAAK,MAAM,EAAS,GAAY,EAC9C,OAAO,KAAK,IAAI,EAAS,IAAI,EAG3B,SAAW,GAAO,IAAM,EAAI,KAAI,IAClC,IAAI,EAAM,EAAI,SAAS,IACvB,OAAsB,IAAf,EAAI,OAAe,IAAM,EAAM,CAAG,IACxC,KAAK,IAEJ,aAAe,GAAO,IAAI,SAAQ,CAAC,EAAS,KAC9C,IAAI,EAAS,SAAS,cAAc,UAChC,EAAU,EAAO,WAAW,MAC5B,EAAM,IAAI,MAEd,EAAI,OAAS,KACX,EAAO,OAAS,EAAI,OACpB,EAAO,MAAQ,EAAI,MACnB,EAAQ,UAAU,EAAK,EAAG,GAC1B,IAAI,EAAO,EAAQ,aAAa,EAAG,EAAG,EAAI,MAAO,EAAI,QAAQ,KAC7D,EAAQ,EAAK,EAGf,EAAI,QAAU,IAAM,EAAO,MAAM,0BAEjC,EAAI,YAAc,GAClB,EAAI,IAAM,CAAG,IAGX,WAAa,CAAC,EAAM,KAStB,IARA,IAAI,EAAM,EAAI,EAAK,OACf,EAAS,EAAK,OAAS,EACvB,EAAM,CACR,EAAG,EACH,EAAG,EACH,EAAG,GAGI,EAAI,EAAG,EAAI,EAAK,OAAQ,GAAK,EACpC,EAAI,GAAK,EAAK,GACd,EAAI,GAAK,EAAK,EAAI,GAClB,EAAI,GAAK,EAAK,EAAI,GAGpB,OAAO,OAAO,CAAC,CAAC,KAAK,MAAM,EAAI,EAAI,GAAS,KAAK,MAAM,EAAI,EAAI,GAAS,KAAK,MAAM,EAAI,EAAI,KAAW,EAAK,EAGzG,aAAe,CAAC,EAAM,KAIxB,IAHA,IAAI,EAAM,EAAI,EAAK,OACf,EAAS,CAAC,EAEL,EAAI,EAAG,EAAI,EAAK,OAAQ,GAAK,EAAK,CACzC,IAAI,EAAM,CAAC,MAAM,EAAK,GAAI,EAAK,OAAQ,MAAM,EAAK,EAAI,GAAI,EAAK,OAAQ,MAAM,EAAK,EAAI,GAAI,EAAK,QAAQ,OACvG,EAAO,GAAO,EAAO,GAAO,EAAO,GAAO,EAAI,CAChD,CAEA,OAAO,OAAO,OAAO,QAAQ,GAAQ,MAAK,EAAE,EAAO,IAAQ,EAAO,KAAU,EAAO,GAAQ,EAAI,IAAG,MAAM,EAAG,EAAK,QAAQ,KAAI,EAAE,KAAS,IAAM,EAAK,EAGhJ,QAAU,CAAC,EAAS,EAAM,IAAS,IAAI,SAAQ,CAAC,EAAS,IAAW,aAAa,OAAO,IAAO,MAAK,GAAQ,EAAQ,EAAQ,EAAM,QAAQ,OAAS,OAAM,GAAS,EAAO,OAEzK,QAAU,CAAC,EAAM,IAAS,QAAQ,WAAY,EAAM,GAEpD,UAAY,CAAC,EAAM,IAAS,QAAQ,aAAc,EAAM,GAE5D,QAAQ,QAAU,QAClB,QAAQ,UAAY","file":"/npm/color.js@1.2.0/dist/color.cjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/color.js@1.2.0/dist/color.cjs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar getSrc = item => typeof item === 'string' ? item : item.src;\n\nvar getArgs = ({\n  amount = 3,\n  format = 'array',\n  group = 20,\n  sample = 10\n} = {}) => ({\n  amount,\n  format,\n  group,\n  sample\n});\n\nvar format = (input, args) => {\n  var list = input.map(val => {\n    var rgb = Array.isArray(val) ? val : val.split(',').map(Number);\n    return args.format === 'hex' ? rgbToHex(rgb) : rgb;\n  });\n  return args.amount === 1 || list.length === 1 ? list[0] : list;\n};\n\nvar group = (number, grouping) => {\n  var grouped = Math.round(number / grouping) * grouping;\n  return Math.min(grouped, 255);\n};\n\nvar rgbToHex = rgb => '#' + rgb.map(val => {\n  var hex = val.toString(16);\n  return hex.length === 1 ? '0' + hex : hex;\n}).join('');\n\nvar getImageData = src => new Promise((resolve, reject) => {\n  var canvas = document.createElement('canvas');\n  var context = canvas.getContext('2d');\n  var img = new Image();\n\n  img.onload = () => {\n    canvas.height = img.height;\n    canvas.width = img.width;\n    context.drawImage(img, 0, 0);\n    var data = context.getImageData(0, 0, img.width, img.height).data;\n    resolve(data);\n  };\n\n  img.onerror = () => reject(Error('Image loading failed.'));\n\n  img.crossOrigin = '';\n  img.src = src;\n});\n\nvar getAverage = (data, args) => {\n  var gap = 4 * args.sample;\n  var amount = data.length / gap;\n  var rgb = {\n    r: 0,\n    g: 0,\n    b: 0\n  };\n\n  for (var i = 0; i < data.length; i += gap) {\n    rgb.r += data[i];\n    rgb.g += data[i + 1];\n    rgb.b += data[i + 2];\n  }\n\n  return format([[Math.round(rgb.r / amount), Math.round(rgb.g / amount), Math.round(rgb.b / amount)]], args);\n};\n\nvar getProminent = (data, args) => {\n  var gap = 4 * args.sample;\n  var colors = {};\n\n  for (var i = 0; i < data.length; i += gap) {\n    var rgb = [group(data[i], args.group), group(data[i + 1], args.group), group(data[i + 2], args.group)].join();\n    colors[rgb] = colors[rgb] ? colors[rgb] + 1 : 1;\n  }\n\n  return format(Object.entries(colors).sort(([_keyA, valA], [_keyB, valB]) => valA > valB ? -1 : 1).slice(0, args.amount).map(([rgb]) => rgb), args);\n};\n\nvar process = (handler, item, args) => new Promise((resolve, reject) => getImageData(getSrc(item)).then(data => resolve(handler(data, getArgs(args)))).catch(error => reject(error)));\n\nvar average = (item, args) => process(getAverage, item, args);\n\nvar prominent = (item, args) => process(getProminent, item, args);\n\nexports.average = average;\nexports.prominent = prominent;\n"]}