{"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":["dispatch","Element","toFont","registry","DatasetController","Chart"],"mappings":"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","x_google_ignoreList":[0,1]}