{"version":3,"file":"index.cjs","sources":["../../../../.yarn/berry/cache/d3-dispatch-npm-1.0.6-afea222924-10c0.zip/node_modules/d3-dispatch/src/dispatch.js","../../../../.yarn/berry/cache/d3-cloud-npm-1.2.7-1dfe043ea9-10c0.zip/node_modules/d3-cloud/index.js","../src/elements/WordElement.ts","../src/controllers/patchController.ts","../src/controllers/WordCloudController.ts"],"sourcesContent":["var noop = {value: function() {}};\n\nfunction dispatch() {\n  for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n    if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n    _[t] = [];\n  }\n  return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n  this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n  return typenames.trim().split(/^|\\s+/).map(function(t) {\n    var name = \"\", i = t.indexOf(\".\");\n    if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n    if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n    return {type: t, name: name};\n  });\n}\n\nDispatch.prototype = dispatch.prototype = {\n  constructor: Dispatch,\n  on: function(typename, callback) {\n    var _ = this._,\n        T = parseTypenames(typename + \"\", _),\n        t,\n        i = -1,\n        n = T.length;\n\n    // If no callback was specified, return the callback of the given type and name.\n    if (arguments.length < 2) {\n      while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n      return;\n    }\n\n    // If a type was specified, set the callback for the given type and name.\n    // Otherwise, if a null callback was specified, remove callbacks of the given name.\n    if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n    while (++i < n) {\n      if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n      else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n    }\n\n    return this;\n  },\n  copy: function() {\n    var copy = {}, _ = this._;\n    for (var t in _) copy[t] = _[t].slice();\n    return new Dispatch(copy);\n  },\n  call: function(type, that) {\n    if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n    if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n    for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n  },\n  apply: function(type, that, args) {\n    if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n    for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n  }\n};\n\nfunction get(type, name) {\n  for (var i = 0, n = type.length, c; i < n; ++i) {\n    if ((c = type[i]).name === name) {\n      return c.value;\n    }\n  }\n}\n\nfunction set(type, name, callback) {\n  for (var i = 0, n = type.length; i < n; ++i) {\n    if (type[i].name === name) {\n      type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n      break;\n    }\n  }\n  if (callback != null) type.push({name: name, value: callback});\n  return type;\n}\n\nexport default dispatch;\n","// Word cloud layout by Jason Davies, https://www.jasondavies.com/wordcloud/\n// Algorithm due to Jonathan Feinberg, https://s3.amazonaws.com/static.mrfeinberg.com/bv_ch03.pdf\n\nconst dispatch = require(\"d3-dispatch\").dispatch;\n\nconst RADIANS = Math.PI / 180;\n\nconst SPIRALS = {\n  archimedean: archimedeanSpiral,\n  rectangular: rectangularSpiral\n};\n\nconst cw = 1 << 11 >> 5;\nconst ch = 1 << 11;\n\nmodule.exports = function() {\n  var size = [256, 256],\n      text = cloudText,\n      font = cloudFont,\n      fontSize = cloudFontSize,\n      fontStyle = cloudFontNormal,\n      fontWeight = cloudFontNormal,\n      rotate = cloudRotate,\n      padding = cloudPadding,\n      spiral = archimedeanSpiral,\n      words = [],\n      timeInterval = Infinity,\n      event = dispatch(\"word\", \"end\"),\n      timer = null,\n      random = Math.random,\n      cloud = {},\n      canvas = cloudCanvas;\n\n  cloud.canvas = function(_) {\n    return arguments.length ? (canvas = functor(_), cloud) : canvas;\n  };\n\n  cloud.start = function() {\n    var contextAndRatio = getContext(canvas()),\n        board = zeroArray((size[0] >> 5) * size[1]),\n        bounds = null,\n        n = words.length,\n        i = -1,\n        tags = [],\n        data = words.map(function(d, i) {\n          d.text = text.call(this, d, i);\n          d.font = font.call(this, d, i);\n          d.style = fontStyle.call(this, d, i);\n          d.weight = fontWeight.call(this, d, i);\n          d.rotate = rotate.call(this, d, i);\n          d.size = ~~fontSize.call(this, d, i);\n          d.padding = padding.call(this, d, i);\n          return d;\n        }).sort(function(a, b) { return b.size - a.size; });\n\n    if (timer) clearInterval(timer);\n    timer = setInterval(step, 0);\n    step();\n\n    return cloud;\n\n    function step() {\n      var start = Date.now();\n      while (Date.now() - start < timeInterval && ++i < n && timer) {\n        var d = data[i];\n        d.x = (size[0] * (random() + .5)) >> 1;\n        d.y = (size[1] * (random() + .5)) >> 1;\n        cloudSprite(contextAndRatio, d, data, i);\n        if (d.hasText && place(board, d, bounds)) {\n          tags.push(d);\n          event.call(\"word\", cloud, d);\n          if (bounds) cloudBounds(bounds, d);\n          else bounds = [{x: d.x + d.x0, y: d.y + d.y0}, {x: d.x + d.x1, y: d.y + d.y1}];\n          // Temporary hack\n          d.x -= size[0] >> 1;\n          d.y -= size[1] >> 1;\n        }\n      }\n      if (i >= n) {\n        cloud.stop();\n        event.call(\"end\", cloud, tags, bounds);\n      }\n    }\n  }\n\n  cloud.stop = function() {\n    if (timer) {\n      clearInterval(timer);\n      timer = null;\n    }\n    for (const d of words) {\n      delete d.sprite;\n    }\n    return cloud;\n  };\n\n  function getContext(canvas) {\n    const context = canvas.getContext(\"2d\", {willReadFrequently: true});\n\n    canvas.width = canvas.height = 1;\n    const ratio = Math.sqrt(context.getImageData(0, 0, 1, 1).data.length >> 2);\n    canvas.width = (cw << 5) / ratio;\n    canvas.height = ch / ratio;\n\n    context.fillStyle = context.strokeStyle = \"red\";\n\n    return {context, ratio};\n  }\n\n  function place(board, tag, bounds) {\n    var perimeter = [{x: 0, y: 0}, {x: size[0], y: size[1]}],\n        startX = tag.x,\n        startY = tag.y,\n        maxDelta = Math.sqrt(size[0] * size[0] + size[1] * size[1]),\n        s = spiral(size),\n        dt = random() < .5 ? 1 : -1,\n        t = -dt,\n        dxdy,\n        dx,\n        dy;\n\n    while (dxdy = s(t += dt)) {\n      dx = ~~dxdy[0];\n      dy = ~~dxdy[1];\n\n      if (Math.min(Math.abs(dx), Math.abs(dy)) >= maxDelta) break;\n\n      tag.x = startX + dx;\n      tag.y = startY + dy;\n\n      if (tag.x + tag.x0 < 0 || tag.y + tag.y0 < 0 ||\n          tag.x + tag.x1 > size[0] || tag.y + tag.y1 > size[1]) continue;\n      // TODO only check for collisions within current bounds.\n      if (!bounds || collideRects(tag, bounds)) {\n        if (!cloudCollide(tag, board, size[0])) {\n          var sprite = tag.sprite,\n              w = tag.width >> 5,\n              sw = size[0] >> 5,\n              lx = tag.x - (w << 4),\n              sx = lx & 0x7f,\n              msx = 32 - sx,\n              h = tag.y1 - tag.y0,\n              x = (tag.y + tag.y0) * sw + (lx >> 5),\n              last;\n          for (var j = 0; j < h; j++) {\n            last = 0;\n            for (var i = 0; i <= w; i++) {\n              board[x + i] |= (last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0);\n            }\n            x += sw;\n          }\n          return true;\n        }\n      }\n    }\n    return false;\n  }\n\n  cloud.timeInterval = function(_) {\n    return arguments.length ? (timeInterval = _ == null ? Infinity : _, cloud) : timeInterval;\n  };\n\n  cloud.words = function(_) {\n    return arguments.length ? (words = _, cloud) : words;\n  };\n\n  cloud.size = function(_) {\n    return arguments.length ? (size = [+_[0], +_[1]], cloud) : size;\n  };\n\n  cloud.font = function(_) {\n    return arguments.length ? (font = functor(_), cloud) : font;\n  };\n\n  cloud.fontStyle = function(_) {\n    return arguments.length ? (fontStyle = functor(_), cloud) : fontStyle;\n  };\n\n  cloud.fontWeight = function(_) {\n    return arguments.length ? (fontWeight = functor(_), cloud) : fontWeight;\n  };\n\n  cloud.rotate = function(_) {\n    return arguments.length ? (rotate = functor(_), cloud) : rotate;\n  };\n\n  cloud.text = function(_) {\n    return arguments.length ? (text = functor(_), cloud) : text;\n  };\n\n  cloud.spiral = function(_) {\n    return arguments.length ? (spiral = SPIRALS[_] || _, cloud) : spiral;\n  };\n\n  cloud.fontSize = function(_) {\n    return arguments.length ? (fontSize = functor(_), cloud) : fontSize;\n  };\n\n  cloud.padding = function(_) {\n    return arguments.length ? (padding = functor(_), cloud) : padding;\n  };\n\n  cloud.random = function(_) {\n    return arguments.length ? (random = _, cloud) : random;\n  };\n\n  cloud.on = function() {\n    var value = event.on.apply(event, arguments);\n    return value === event ? cloud : value;\n  };\n\n  return cloud;\n};\n\nfunction cloudText(d) {\n  return d.text;\n}\n\nfunction cloudFont() {\n  return \"serif\";\n}\n\nfunction cloudFontNormal() {\n  return \"normal\";\n}\n\nfunction cloudFontSize(d) {\n  return Math.sqrt(d.value);\n}\n\nfunction cloudRotate() {\n  return (~~(random() * 6) - 3) * 30;\n}\n\nfunction cloudPadding() {\n  return 1;\n}\n\n// Fetches a monochrome sprite bitmap for the specified text.\n// Load in batches for speed.\nfunction cloudSprite(contextAndRatio, d, data, di) {\n  if (d.sprite) return;\n  var c = contextAndRatio.context,\n      ratio = contextAndRatio.ratio;\n\n  c.clearRect(0, 0, (cw << 5) / ratio, ch / ratio);\n  var x = 0,\n      y = 0,\n      maxh = 0,\n      n = data.length;\n  --di;\n  while (++di < n) {\n    d = data[di];\n    c.save();\n    c.font = d.style + \" \" + d.weight + \" \" + ~~((d.size + 1) / ratio) + \"px \" + d.font;\n    const metrics = c.measureText(d.text);\n    const anchor = -Math.floor(metrics.width / 2);\n    let w = (metrics.width + 1) * ratio;\n    let h = d.size << 1;\n    if (d.rotate) {\n      var sr = Math.sin(d.rotate * RADIANS),\n          cr = Math.cos(d.rotate * RADIANS),\n          wcr = w * cr,\n          wsr = w * sr,\n          hcr = h * cr,\n          hsr = h * sr;\n      w = (Math.max(Math.abs(wcr + hsr), Math.abs(wcr - hsr)) + 0x1f) >> 5 << 5;\n      h = ~~Math.max(Math.abs(wsr + hcr), Math.abs(wsr - hcr));\n    } else {\n      w = (w + 0x1f) >> 5 << 5;\n    }\n    if (h > maxh) maxh = h;\n    if (x + w >= (cw << 5)) {\n      x = 0;\n      y += maxh;\n      maxh = 0;\n    }\n    if (y + h >= ch) break;\n    c.translate((x + (w >> 1)) / ratio, (y + (h >> 1)) / ratio);\n    if (d.rotate) c.rotate(d.rotate * RADIANS);\n    c.fillText(d.text, anchor, 0);\n    if (d.padding) c.lineWidth = 2 * d.padding, c.strokeText(d.text, anchor, 0);\n    c.restore();\n    d.width = w;\n    d.height = h;\n    d.xoff = x;\n    d.yoff = y;\n    d.x1 = w >> 1;\n    d.y1 = h >> 1;\n    d.x0 = -d.x1;\n    d.y0 = -d.y1;\n    d.hasText = true;\n    x += w;\n  }\n  var pixels = c.getImageData(0, 0, (cw << 5) / ratio, ch / ratio).data,\n      sprite = [];\n  while (--di >= 0) {\n    d = data[di];\n    if (!d.hasText) continue;\n    var w = d.width,\n        w32 = w >> 5,\n        h = d.y1 - d.y0;\n    // Zero the buffer\n    for (var i = 0; i < h * w32; i++) sprite[i] = 0;\n    x = d.xoff;\n    if (x == null) return;\n    y = d.yoff;\n    var seen = 0,\n        seenRow = -1;\n    for (var j = 0; j < h; j++) {\n      for (var i = 0; i < w; i++) {\n        var k = w32 * j + (i >> 5),\n            m = pixels[((y + j) * (cw << 5) + (x + i)) << 2] ? 1 << (31 - (i % 32)) : 0;\n        sprite[k] |= m;\n        seen |= m;\n      }\n      if (seen) seenRow = j;\n      else {\n        d.y0++;\n        h--;\n        j--;\n        y++;\n      }\n    }\n    d.y1 = d.y0 + seenRow;\n    d.sprite = sprite.slice(0, (d.y1 - d.y0) * w32);\n  }\n}\n\n// Use mask-based collision detection.\nfunction cloudCollide(tag, board, sw) {\n  sw >>= 5;\n  var sprite = tag.sprite,\n      w = tag.width >> 5,\n      lx = tag.x - (w << 4),\n      sx = lx & 0x7f,\n      msx = 32 - sx,\n      h = tag.y1 - tag.y0,\n      x = (tag.y + tag.y0) * sw + (lx >> 5),\n      last;\n  for (var j = 0; j < h; j++) {\n    last = 0;\n    for (var i = 0; i <= w; i++) {\n      if (((last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0))\n          & board[x + i]) return true;\n    }\n    x += sw;\n  }\n  return false;\n}\n\nfunction cloudBounds(bounds, d) {\n  var b0 = bounds[0],\n      b1 = bounds[1];\n  if (d.x + d.x0 < b0.x) b0.x = d.x + d.x0;\n  if (d.y + d.y0 < b0.y) b0.y = d.y + d.y0;\n  if (d.x + d.x1 > b1.x) b1.x = d.x + d.x1;\n  if (d.y + d.y1 > b1.y) b1.y = d.y + d.y1;\n}\n\nfunction collideRects(a, b) {\n  return a.x + a.x1 > b[0].x && a.x + a.x0 < b[1].x && a.y + a.y1 > b[0].y && a.y + a.y0 < b[1].y;\n}\n\nfunction archimedeanSpiral(size) {\n  var e = size[0] / size[1];\n  return function(t) {\n    return [e * (t *= .1) * Math.cos(t), t * Math.sin(t)];\n  };\n}\n\nfunction rectangularSpiral(size) {\n  var dy = 4,\n      dx = dy * size[0] / size[1],\n      x = 0,\n      y = 0;\n  return function(t) {\n    var sign = t < 0 ? -1 : 1;\n    // See triangular numbers: T_n = n * (n + 1) / 2.\n    switch ((Math.sqrt(1 + 4 * sign * t) - sign) & 3) {\n      case 0:  x += dx; break;\n      case 1:  y += dy; break;\n      case 2:  x -= dx; break;\n      default: y -= dy; break;\n    }\n    return [x, y];\n  };\n}\n\n// TODO reuse arrays?\nfunction zeroArray(n) {\n  var a = [],\n      i = -1;\n  while (++i < n) a[i] = 0;\n  return a;\n}\n\nfunction cloudCanvas() {\n  return document.createElement(\"canvas\");\n}\n\nfunction functor(d) {\n  return typeof d === \"function\" ? d : function() { return d; };\n}\n",null,null,null],"names":["Element","toFont","registry","DatasetController","Chart"],"mappings":"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","x_google_ignoreList":[0,1]}