summaryrefslogtreecommitdiff
path: root/themes/blowfish/assets/lib/mermaid/arc-1bd4335b.js.map
blob: 4567bdc942aa8cb511e1da318a7070985b2f03c2 (plain)
1
{"version":3,"file":"arc-1bd4335b.js","sources":["../../../node_modules/.pnpm/d3-shape@3.1.0/node_modules/d3-shape/src/arc.js"],"sourcesContent":["import {path} from \"d3-path\";\nimport constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\n\nfunction arcInnerRadius(d) {\n  return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n  return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n  return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n  return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n  return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n  var x10 = x1 - x0, y10 = y1 - y0,\n      x32 = x3 - x2, y32 = y3 - y2,\n      t = y32 * x10 - x32 * y10;\n  if (t * t < epsilon) return;\n  t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n  return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n  var x01 = x0 - x1,\n      y01 = y0 - y1,\n      lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n      ox = lo * y01,\n      oy = -lo * x01,\n      x11 = x0 + ox,\n      y11 = y0 + oy,\n      x10 = x1 + ox,\n      y10 = y1 + oy,\n      x00 = (x11 + x10) / 2,\n      y00 = (y11 + y10) / 2,\n      dx = x10 - x11,\n      dy = y10 - y11,\n      d2 = dx * dx + dy * dy,\n      r = r1 - rc,\n      D = x11 * y10 - x10 * y11,\n      d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n      cx0 = (D * dy - dx * d) / d2,\n      cy0 = (-D * dx - dy * d) / d2,\n      cx1 = (D * dy + dx * d) / d2,\n      cy1 = (-D * dx + dy * d) / d2,\n      dx0 = cx0 - x00,\n      dy0 = cy0 - y00,\n      dx1 = cx1 - x00,\n      dy1 = cy1 - y00;\n\n  // Pick the closer of the two intersection points.\n  // TODO Is there a faster way to determine which intersection to use?\n  if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n  return {\n    cx: cx0,\n    cy: cy0,\n    x01: -ox,\n    y01: -oy,\n    x11: cx0 * (r1 / r - 1),\n    y11: cy0 * (r1 / r - 1)\n  };\n}\n\nexport default function() {\n  var innerRadius = arcInnerRadius,\n      outerRadius = arcOuterRadius,\n      cornerRadius = constant(0),\n      padRadius = null,\n      startAngle = arcStartAngle,\n      endAngle = arcEndAngle,\n      padAngle = arcPadAngle,\n      context = null;\n\n  function arc() {\n    var buffer,\n        r,\n        r0 = +innerRadius.apply(this, arguments),\n        r1 = +outerRadius.apply(this, arguments),\n        a0 = startAngle.apply(this, arguments) - halfPi,\n        a1 = endAngle.apply(this, arguments) - halfPi,\n        da = abs(a1 - a0),\n        cw = a1 > a0;\n\n    if (!context) context = buffer = path();\n\n    // Ensure that the outer radius is always larger than the inner radius.\n    if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n    // Is it a point?\n    if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n    // Or is it a circle or annulus?\n    else if (da > tau - epsilon) {\n      context.moveTo(r1 * cos(a0), r1 * sin(a0));\n      context.arc(0, 0, r1, a0, a1, !cw);\n      if (r0 > epsilon) {\n        context.moveTo(r0 * cos(a1), r0 * sin(a1));\n        context.arc(0, 0, r0, a1, a0, cw);\n      }\n    }\n\n    // Or is it a circular or annular sector?\n    else {\n      var a01 = a0,\n          a11 = a1,\n          a00 = a0,\n          a10 = a1,\n          da0 = da,\n          da1 = da,\n          ap = padAngle.apply(this, arguments) / 2,\n          rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n          rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n          rc0 = rc,\n          rc1 = rc,\n          t0,\n          t1;\n\n      // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n      if (rp > epsilon) {\n        var p0 = asin(rp / r0 * sin(ap)),\n            p1 = asin(rp / r1 * sin(ap));\n        if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n        else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n        if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n        else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n      }\n\n      var x01 = r1 * cos(a01),\n          y01 = r1 * sin(a01),\n          x10 = r0 * cos(a10),\n          y10 = r0 * sin(a10);\n\n      // Apply rounded corners?\n      if (rc > epsilon) {\n        var x11 = r1 * cos(a11),\n            y11 = r1 * sin(a11),\n            x00 = r0 * cos(a00),\n            y00 = r0 * sin(a00),\n            oc;\n\n        // Restrict the corner radius according to the sector angle.\n        if (da < pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {\n          var ax = x01 - oc[0],\n              ay = y01 - oc[1],\n              bx = x11 - oc[0],\n              by = y11 - oc[1],\n              kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n              lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n          rc0 = min(rc, (r0 - lc) / (kc - 1));\n          rc1 = min(rc, (r1 - lc) / (kc + 1));\n        }\n      }\n\n      // Is the sector collapsed to a line?\n      if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n      // Does the sector’s outer ring have rounded corners?\n      else if (rc1 > epsilon) {\n        t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n        t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n        context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n        // Have the corners merged?\n        if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n        // Otherwise, draw the two corners and the ring.\n        else {\n          context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n          context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n          context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n        }\n      }\n\n      // Or is the outer ring just a circular arc?\n      else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n      // Is there no inner ring, and it’s a circular sector?\n      // Or perhaps it’s an annular sector collapsed due to padding?\n      if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n      // Does the sector’s inner ring (or point) have rounded corners?\n      else if (rc0 > epsilon) {\n        t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n        t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n        context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n        // Have the corners merged?\n        if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n        // Otherwise, draw the two corners and the ring.\n        else {\n          context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n          context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n          context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n        }\n      }\n\n      // Or is the inner ring just a circular arc?\n      else context.arc(0, 0, r0, a10, a00, cw);\n    }\n\n    context.closePath();\n\n    if (buffer) return context = null, buffer + \"\" || null;\n  }\n\n  arc.centroid = function() {\n    var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n        a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n    return [cos(a) * r, sin(a) * r];\n  };\n\n  arc.innerRadius = function(_) {\n    return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n  };\n\n  arc.outerRadius = function(_) {\n    return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n  };\n\n  arc.cornerRadius = function(_) {\n    return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n  };\n\n  arc.padRadius = function(_) {\n    return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n  };\n\n  arc.startAngle = function(_) {\n    return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n  };\n\n  arc.endAngle = function(_) {\n    return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n  };\n\n  arc.padAngle = function(_) {\n    return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n  };\n\n  arc.context = function(_) {\n    return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n  };\n\n  return arc;\n}\n"],"names":["arcInnerRadius","d","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","intersect","x0","y0","x1","y1","x2","y2","x3","y3","x10","y10","x32","y32","t","epsilon","cornerTangents","r1","rc","cw","x01","y01","lo","sqrt","ox","oy","x11","y11","x00","y00","dx","dy","d2","r","D","max","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","d3arc","innerRadius","outerRadius","cornerRadius","constant","padRadius","startAngle","endAngle","padAngle","context","arc","buffer","r0","a0","halfPi","a1","da","abs","path","tau","cos","sin","a01","a11","a00","a10","da0","da1","ap","rp","min","rc0","rc1","t0","t1","p0","asin","p1","oc","pi","ax","ay","bx","by","kc","acos","lc","atan2","a","_"],"mappings":"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"}